From 9382b9fc9a62093106b944f19084f3967ab5a4d1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 25 Sep 2023 10:19:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=83=A8=E7=BD=B29.25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Miniapp-H5/dist/RtHL7Bdwh0.txt | 1 - .../dist/css/{about.531c7f1e.css => about.753051b5.css} | 2 +- Miniapp-H5/dist/index.html | 2 +- Miniapp-H5/dist/js/{about.65dec066.js => about.345afdd2.js} | 4 ++-- .../dist/js/{about.65dec066.js.map => about.345afdd2.js.map} | 2 +- Miniapp-H5/dist/js/{app.334c9e2d.js => app.b70fbb81.js} | 4 ++-- .../dist/js/{app.334c9e2d.js.map => app.b70fbb81.js.map} | 2 +- 7 files changed, 8 insertions(+), 9 deletions(-) delete mode 100644 Miniapp-H5/dist/RtHL7Bdwh0.txt rename Miniapp-H5/dist/css/{about.531c7f1e.css => about.753051b5.css} (99%) rename Miniapp-H5/dist/js/{about.65dec066.js => about.345afdd2.js} (99%) rename Miniapp-H5/dist/js/{about.65dec066.js.map => about.345afdd2.js.map} (92%) rename Miniapp-H5/dist/js/{app.334c9e2d.js => app.b70fbb81.js} (99%) rename Miniapp-H5/dist/js/{app.334c9e2d.js.map => app.b70fbb81.js.map} (99%) diff --git a/Miniapp-H5/dist/RtHL7Bdwh0.txt b/Miniapp-H5/dist/RtHL7Bdwh0.txt deleted file mode 100644 index 3a628e1..0000000 --- a/Miniapp-H5/dist/RtHL7Bdwh0.txt +++ /dev/null @@ -1 +0,0 @@ -97e04a0f49096d1d995098d2e128e636 \ No newline at end of file diff --git a/Miniapp-H5/dist/css/about.531c7f1e.css b/Miniapp-H5/dist/css/about.753051b5.css similarity index 99% rename from Miniapp-H5/dist/css/about.531c7f1e.css rename to Miniapp-H5/dist/css/about.753051b5.css index a22b975..2a92677 100644 --- a/Miniapp-H5/dist/css/about.531c7f1e.css +++ b/Miniapp-H5/dist/css/about.753051b5.css @@ -1 +1 @@ -.popup-container[data-v-4069d388]{width:100vw;height:100%;background:var(--room-detail-background);position:static;flex:1}.popup-container .popup-main-header[data-v-4069d388]{width:100%;height:60px;display:flex;justify-content:center;align-items:center}.popup-container .popup-main-header .icon-container[data-v-4069d388]{padding:20px;position:absolute;left:0;top:0;width:10px;height:18px;background-size:cover;box-sizing:content-box}.popup-container .popup-main-header .sidebar-title[data-v-4069d388]{font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px;line-height:22px;text-align:center;color:var(--input-font-color)}.popup-container .popup-main-header .close-icon[data-v-4069d388]{width:10px;height:18px;background-size:cover}.popup-container .popup-main-content[data-v-4069d388]{width:100%;height:calc(100% - 130px);overflow:hidden}.popup-container .popup-main-footer[data-v-4069d388]{width:100%;height:auto;position:sticky;bottom:0;padding-top:10px}.end-control-container .end-button[data-v-12377224]{border:1px solid #ff2e2e;border-radius:4px;font-weight:400;font-size:12px;color:#ff2e2e;letter-spacing:0;cursor:pointer;text-align:center;line-height:21px;padding:0 8px}.end-control-container .end-button[data-v-12377224]:hover{background-color:#ff2e2e;color:#fff}.dialog-middle-content[data-v-12377224]{width:100%;display:flex;flex-direction:column}.end-main-content[data-v-12377224]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.end-main-content .end-dialog-dismiss[data-v-12377224],.end-main-content .end-dialog-leave[data-v-12377224]{width:90%;border-radius:14px;position:fixed;right:0;left:0;bottom:10vh;z-index:9;margin:auto}.end-main-content .end-dialog-dismiss .manage-transfer[data-v-12377224],.end-main-content .end-dialog-leave .manage-transfer[data-v-12377224]{position:absolute;top:0}.end-main-content .end-dialog-dismiss .end-dialog-header[data-v-12377224],.end-main-content .end-dialog-leave .end-dialog-header[data-v-12377224]{background:#cacacb;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:14px;line-height:17px;text-align:center;color:#6a6c74;height:56px;width:100%;margin:0 auto;border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:.5px solid #4f4e4e;display:flex;justify-content:center;align-items:center}.end-main-content .end-dialog-dismiss .end-dialog-header .end-dialog-text[data-v-12377224],.end-main-content .end-dialog-leave .end-dialog-header .end-dialog-text[data-v-12377224]{width:230px}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-dismiss[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-leave[data-v-12377224],.end-main-content .end-dialog-leave .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave[data-v-12377224]{width:100%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:20px;line-height:24px;text-align:center;color:#ff2e2e;border-style:none;background:#cacacb;padding:20px 0}.end-main-content .end-dialog-dismiss .end-button-leave[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave[data-v-12377224]{color:#007aff;border-bottom-left-radius:14px;border-bottom-right-radius:14px;border-top:.5px solid #8f8e8e}.end-main-content .end-dialog-dismiss .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave-single[data-v-12377224]{position:absolute;bottom:1vh;border-radius:14px;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-leave .end-button-cancel[data-v-12377224]{position:absolute;bottom:-9vh;left:0;background-color:#fff;border-radius:14px;color:#007aff;font-weight:600;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss-single[data-v-12377224]{border-bottom-left-radius:14px;border-bottom-right-radius:14px;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss[data-v-12377224]{bottom:12vh}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224]{bottom:-9vh}.transfer-container[data-v-12377224]{position:fixed;left:0;top:0;height:100vh;z-index:102}.transfer-container .transfer-header[data-v-12377224]{display:flex;justify-content:center}.transfer-container .transfer-header input[type=text][data-v-12377224]{background-image:url(../img/search.a8fd20e6.svg);background-repeat:no-repeat;background-position:10px;padding-left:35px;background-color:var(--transfer-input-color-h5)}.transfer-container .transfer-header .searching-input[data-v-12377224]{padding:0 80px;background:#292d38;border-radius:8px;height:34px;border-style:none;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:18px;color:#676c80;caret-color:var(--caret-color)}.transfer-container .transfer-header .searching-input[data-v-12377224] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.transfer-container .transfer-header .searching-input[data-v-12377224] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.transfer-container .transfer-header .searching-input[data-v-12377224]:focus-visible{outline:none}.transfer-container .transfer-body[data-v-12377224]{flex:1;overflow-y:scroll}.transfer-container .transfer-body .transfer-list-content[data-v-12377224]{padding-bottom:5px}.transfer-container .transfer-body .transfer-list-content .transfer-item-container[data-v-12377224]{display:flex;flex-direction:row;align-items:center;height:69px;justify-content:space-between;padding:0 32px}.transfer-container .transfer-body .transfer-list-content .member-basic-info[data-v-12377224]{display:flex;position:relative;width:100%;flex-direction:row;align-items:center;padding:24px 20px 0 24px}.transfer-container .transfer-body .transfer-list-content .member-basic-info .avatar-url[data-v-12377224]{width:40px!important;height:40px!important;border-radius:50%}.transfer-container .transfer-body .transfer-list-content .member-basic-info .user-name[data-v-12377224]{margin-left:9px;color:var(--input-font-color);max-width:70%!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px!important;line-height:22px;letter-spacing:-.24px;display:flex}.transfer-container .transfer-body .transfer-list-content .member-basic-info .correct[data-v-12377224]{width:24px;height:16px;position:absolute;right:5vw;background-size:cover}.transfer-container .transfer-body .member-hasNoData[data-v-12377224]{position:fixed;top:30%;left:30%;width:40vw;height:5vh;color:var(--input-font-color);border-radius:4px;background-color:var(--message-list-color);display:flex;justify-content:center;align-items:center}.transfer-leave[data-v-12377224]{position:fixed;bottom:2vh;left:7vw;display:flex;align-items:center;justify-content:center}.transfer-leave .transfer-button[data-v-12377224]{width:86vw;height:5vh;background:linear-gradient(315deg,#006eff,#0c59f2 98.81%);border-radius:8px;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px;line-height:22px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;border-style:none}.end-button[data-v-bcdd5c40]{width:90px;height:40px;border:2px solid #ff2e2e;border-radius:4px;font-weight:400;font-size:14px;color:#ff2e2e;letter-spacing:0;cursor:pointer;text-align:center;line-height:36px}.end-button[data-v-bcdd5c40]:hover{background-color:#ff2e2e;color:#fff}.camera-icon[data-v-190ccb04]{display:block;background-size:cover;width:40px;height:36px}.mirror-icon[data-v-9a54a9ea]{display:block;width:32px;height:32px}.conference-container[data-v-543146aa]{min-width:140px;max-width:300px}.title-container[data-v-543146aa]{display:flex;align-items:center}.text[data-v-543146aa]{font-weight:500;font-size:12px;line-height:17px;max-width:150px;color:var(--input-font-color)}.master-header[data-v-543146aa],.text[data-v-543146aa]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.master-header[data-v-543146aa]{max-width:300px;padding:20px 0}.text-right[data-v-543146aa]{padding-left:30px}.text-type[data-v-543146aa]{padding-left:12px}.roomInfo-middle[data-v-543146aa]{color:var(--popup-title-color-h5);padding-left:25px}.chevron-down-container[data-v-543146aa]{display:flex;margin-left:5px}.chevron-down-container .chevron-down-icon[data-v-543146aa]{display:flex;background-size:cover;width:10px;height:7px;align-items:center}.roomInfo-container[data-v-543146aa]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile)}.roomInfo-container .roomInfo-container-main[data-v-543146aa]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-543146aa;padding-bottom:4vh}@keyframes popup-543146aa{0%{height:0}to{height:30%}}.roomInfo-container .roomInfo-container-main .roomInfo-title[data-v-543146aa]{display:flex;flex-direction:row;align-items:center;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:0 0 0 25px;position:relative}.roomInfo-container .roomInfo-container-main .roomInfo-role[data-v-543146aa],.roomInfo-container .roomInfo-container-main .roomInfo-roomID[data-v-543146aa],.roomInfo-container .roomInfo-container-main .roomInfo-roomMode[data-v-543146aa]{display:flex;flex-direction:row;padding:5px 0;align-items:center}.roomInfo-container .roomInfo-container-main .link[data-v-543146aa]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:64%;padding-left:16px}.roomInfo-container .roomInfo-container-main .roomInfo-bottom[data-v-543146aa]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-top:2vh}.roomInfo-container .roomInfo-container-main .copy[data-v-543146aa]{width:14px;height:14px;margin-left:30px}.roomInfo-container .roomInfo-container-main .qrcode[data-v-543146aa]{width:24px;height:24px;position:absolute;right:10vw;top:3vh}.cancel[data-v-543146aa]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.header[data-v-1262e4e7]{height:100%}.header-container[data-v-1262e4e7]{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.icon-box[data-v-1262e4e7]{min-width:50px;display:flex;align-items:center;justify-content:space-between}.layout-container[data-v-7b3fd23b]{position:relative;width:20px;height:20px}.layout-container .layout-icon[data-v-7b3fd23b]{cursor:pointer}.layout-container .layout-list[data-v-7b3fd23b]{position:absolute;top:47px;right:0;background-color:var(--layout-list);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);border-radius:4px;padding:20px;display:flex}.layout-container .layout-list .layout-item[data-v-7b3fd23b]{width:180px;height:133px;padding:20px 30px 39px;background-color:var(--layout-item);border-radius:2px;border:1px solid transparent;cursor:pointer;position:relative}.layout-container .layout-list .layout-item[data-v-7b3fd23b]:not(:first-child){margin-left:20px}.layout-container .layout-list .layout-item.checked[data-v-7b3fd23b],.layout-container .layout-list .layout-item[data-v-7b3fd23b]:hover{border:1px solid #006eff;border-radius:2px}.layout-container .layout-list .layout-item.checked[data-v-7b3fd23b]:after{content:"";display:block;width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAShJREFUWEftltFRwkAQhr8NBWgJlgAVCBWIHVCAMlgBWIEafbcFrEDsQDsIHWgB3DJ3kRfNBXNcJoNz+5SH7P5f/uzundBxSMf6JIDkwH4HrnRIxnlQsxreeJJVXW49wFSXwEWQ+C5JWfIol74afoDyy18PEt8lG0Y+J/wAU10A8ygAcEsutt6vSAD/zAHlBmFYMTkt94DyhTJ2nV49ui0CKGt6jIGCDc+Ie/4Z0QAeyFiwoUA4Qfmg5ywH43ZG3zO20QAKMgbAGYYJucyYaf9b/LRmZ0QDsBrvZIy4l0+udYJwB9SJ25yoACUE2HOicru12QOhmzm6A01BjhGg8+PYmhzjQgIv5FK1nNxv/OuVrFw2TcOwOuxK1lQw4P39DgQUbZKSAJIDW6oveCGWdYdlAAAAAElFTkSuQmCC);background-size:100% 100%;position:absolute;top:0;right:0}.layout-container .layout-list .layout-item .layout-block-container[data-v-7b3fd23b]{width:120px;height:74px}.layout-container .layout-list .layout-item .layout-title[data-v-7b3fd23b]{font-size:16px;font-weight:400;line-height:24px;display:inline-block;margin-top:10px;width:100%;text-align:center}.layout-container .layout-list .layout1 .layout-block-container[data-v-7b3fd23b]{display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout1 .layout-block-container .layout-block[data-v-7b3fd23b]{width:38px;height:22px;background-color:#7c85a6}.layout-container .layout-list .layout2 .layout-block-container[data-v-7b3fd23b]{display:flex;justify-content:space-between}.layout-container .layout-list .layout2 .layout-block-container .left-container[data-v-7b3fd23b]{width:90px;height:74px;background-color:#7c85a6}.layout-container .layout-list .layout2 .layout-block-container .right-container[data-v-7b3fd23b]{width:27px;height:74px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout2 .layout-block-container .right-container>div[data-v-7b3fd23b]{width:27px;height:16px;background-color:#7c85a6}.layout-container .layout-list .layout3 .layout-block-container[data-v-7b3fd23b]{display:flex;flex-wrap:wrap;align-content:space-between}.layout-container .layout-list .layout3 .layout-block-container .top-container[data-v-7b3fd23b]{width:120px;height:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout3 .layout-block-container .top-container>div[data-v-7b3fd23b]{width:28px;height:16px;background-color:#7c85a6}.layout-container .layout-list .layout3 .layout-block-container .bottom-container[data-v-7b3fd23b]{width:120px;height:55px;background-color:#7c85a6}.header-container[data-v-20e9e128]{width:100%;height:100%;padding-left:9px;padding-right:24px;position:relative;display:flex;justify-content:space-between}.header-container .left-container[data-v-20e9e128]{height:100%;position:absolute;top:0;left:0;display:flex;align-items:center;padding-left:24px}.header-container .left-container .header-item[data-v-20e9e128]:not(:first-child){margin-left:1rem}.header-container .right-container[data-v-20e9e128]{position:absolute;top:0;right:0;height:100%;float:right;padding-right:24px;display:flex;align-items:center}.header-container .right-container .right-container-item[data-v-20e9e128]:not(:last-child){margin-right:1rem}.header-container .right-container .end-control-container[data-v-20e9e128]{display:none}.audio-control-container[data-v-357aa832]{position:relative}.audio-control-container .audio-tab[data-v-357aa832]{position:absolute;bottom:90px;left:15px;width:320px;background:var(--room-audiotab-bg-color);padding:20px}.button-container-mobile[data-v-357aa832]{width:100%;display:flex}.button-container-mobile .agree[data-v-357aa832]{color:#006eff}.button-container-mobile .agree[data-v-357aa832],.button-container-mobile .cancel[data-v-357aa832]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-357aa832]{color:#2b2e38;border-right:1px solid #f2f2f2}.button-container-PC .cancel[data-v-357aa832]{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree[data-v-357aa832]{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}.video-control-container[data-v-a0d52fdc]{position:relative}.video-control-container .video-tab[data-v-a0d52fdc]{position:absolute;bottom:90px;left:-60px;width:320px;background:var(--room-videotab-bg-color);padding:20px}.button-container-mobile[data-v-a0d52fdc]{width:100%;display:flex}.button-container-mobile .agree[data-v-a0d52fdc]{color:#006eff}.button-container-mobile .agree[data-v-a0d52fdc],.button-container-mobile .cancel[data-v-a0d52fdc]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-a0d52fdc]{color:#2b2e38;border-right:1px solid #f2f2f2}.button-container-PC .cancel[data-v-a0d52fdc]{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree[data-v-a0d52fdc]{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}.chat-control-container .el-badge .el-badge__content{top:14px;right:24px;background-color:#006eff}.count{display:flex}.unreadCount{background-color:#006eff;min-width:20px;height:20px;text-align:center;color:#fff;position:relative;left:-20px;top:4px;padding:2px;border-radius:45px}.apply-control-container .master-attention{display:flex;flex-direction:column;padding:4px}.apply-control-container .master-attention .apply-big-icon{width:40px;height:40px}.apply-control-container .master-attention .info{color:#fff;font-size:14px}.apply-control-container .apply-list-container{width:470px;height:286px;background:var(--apply-list-container-bg-color);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);position:absolute;top:-6px;left:50%;transform:translate(-50%,-100%);padding:12px 20px;color:#cfd4e6}.apply-control-container .apply-list-container .title-container{display:flex;justify-content:space-between;align-items:center}.apply-control-container .apply-list-container .title-container .title{font-weight:500;font-size:16px;color:var(--apply-list-container-color)}.apply-control-container .apply-list-container .title-container .close{cursor:pointer}.apply-control-container .apply-list-container .apply-list{height:190px;overflow:scroll;margin-top:4px}.apply-control-container .apply-list-container .apply-list::-webkit-scrollbar{display:none}.apply-control-container .apply-list-container .apply-list .apply-item{display:flex;justify-content:space-between;align-items:center;height:48px;margin-top:8px}.apply-control-container .apply-list-container .apply-list .apply-item .user-info{width:calc(100% - 176px);height:100%;display:flex;align-items:center}.apply-control-container .apply-list-container .apply-list .apply-item .user-info .avatar-url{width:48px;height:48px;border-radius:50%}.apply-control-container .apply-list-container .apply-list .apply-item .user-info .user-name{font-weight:500;font-size:14px;color:#7c85a6;line-height:22px;margin-left:9px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.apply-control-container .apply-list-container .apply-list .apply-item .control-container{display:flex;justify-content:space-between}.apply-control-container .apply-list-container .apply-footer{margin-top:8px}.apply-control-container .apply-list-container .apply-footer .deny-all{float:right}.apply-control-container .apply-list-container .button{border-radius:2px;padding:6px 20px;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:var(--apply-list-container-color);text-align:center;cursor:pointer}.apply-control-container .apply-list-container .primary{background-image:linear-gradient(235deg,#1883ff,#0062f5);color:var(--apply-container-primary);margin-right:5px}.apply-control-container .apply-list-container .outline{background:rgba(173,182,204,.1);border:1px solid #adb6cc;color:var(--apply-container-outline)}.apply-control-container .apply-list-container-h5{width:80vw;height:30vh;border-radius:13px;display:flex;flex-direction:column;background:var(--apply-list-container-bg-color);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);position:absolute;top:-6px;left:50%;transform:translate(-50%,-100%);padding:12px 20px;color:#cfd4e6}.apply-control-container .apply-list-container-h5 .title-container{display:flex;justify-content:space-between;align-items:center}.apply-control-container .apply-list-container-h5 .title-container .title{font-weight:500;font-size:16px;color:var(--apply-list-container-color)}.apply-control-container .apply-list-container-h5 .title-container .close{cursor:pointer}.apply-control-container .apply-list-container-h5 .apply-list{max-height:72%;overflow:scroll;margin-top:4px;flex:1}.apply-control-container .apply-list-container-h5 .apply-list::-webkit-scrollbar{display:none}.apply-control-container .apply-list-container-h5 .apply-list .apply-item{display:flex;justify-content:space-between;align-items:center;height:48px;margin-top:8px}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info{height:100%;display:flex;align-items:center}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info .avatar-url{width:48px;height:48px;border-radius:50%}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info .user-name{font-weight:500;font-size:14px;color:#7c85a6;line-height:22px;margin-left:9px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .control-container{display:flex;justify-content:space-between}.apply-control-container .apply-list-container-h5 .apply-footer{height:40px;margin-top:auto}.apply-control-container .apply-list-container-h5 .apply-footer .button{width:100%;background:var(--apply-container-background-outline-h5);border-radius:8px;padding:0}.apply-control-container .apply-list-container-h5 .apply-footer .deny-all{padding:8px}.apply-control-container .apply-list-container-h5 .button{border-radius:2px;padding:4px 15px;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:var(--apply-list-container-color);text-align:center;cursor:pointer}.apply-control-container .apply-list-container-h5 .primary{background-image:linear-gradient(235deg,#1883ff,#0062f5);border-radius:8px;color:var(--apply-container-primary);margin-right:5px}.apply-control-container .apply-list-container-h5 .outline{border-radius:8px;background:var(--apply-container-background-outline-h5);border:none;color:var(--apply-container-outline-h5)}.apply-control-container{position:relative}.apply-control-container .attention{background:rgba(19,124,253,.96);box-shadow:0 4px 16px 0 rgba(47,48,164,.1);position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;top:-6px;left:50%;transform:translate(-50%,-100%)}.apply-control-container .attention:after{content:"";display:block;border:4px solid transparent;border-top-color:rgba(19,124,253,.96);position:absolute;top:100%;left:50%;transform:translateX(-50%)}.apply-control-container .member-attention{padding:7px 12px}.apply-control-container .member-attention .info{width:210px;height:20px;font-weight:400;font-size:14px;color:#fff;line-height:20px}.apply-control-container .member-attention .close{cursor:pointer}.button-container-mobile{width:100%;display:flex}.button-container-mobile .agree{color:var(--close-cancel-h5)}.button-container-mobile .agree,.button-container-mobile .cancel{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--choose-type)}.button-container-mobile .cancel{color:var(--apply-container-outline);border-right:1px solid var(--choose-type)}.button-container-PC .cancel{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}span[data-v-eb2b478c]{font-weight:500;font-size:12px;line-height:17px;padding-right:5px}.invite-container-main[data-v-eb2b478c]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-eb2b478c;padding-bottom:4vh}@keyframes popup-eb2b478c{0%{height:0}to{height:30%}}.invite-container-main .invite-title-main[data-v-eb2b478c]{display:flex;flex-direction:row;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:20px;align-items:center}.invite-container-main .invite-content-main[data-v-eb2b478c]{width:90%;height:13%;display:flex;flex-direction:row;padding:0 0 0 25px;align-items:center;margin-bottom:10px}.invite-container-main .invite-title[data-v-eb2b478c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:var(--popup-title-color-h5);white-space:nowrap;width:23%}.invite-container-main .invite-content[data-v-eb2b478c]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:64%}.invite-container-main .invite-bottom[data-v-eb2b478c]{width:90%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-left:40px}.invite-container-main .copy[data-v-eb2b478c]{width:14px;height:14px;margin-left:30px}.cancel[data-v-eb2b478c]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.invite-container[data-v-76a9ae2d]{padding:20px 32px}.invite-notice[data-v-76a9ae2d]{font-size:14px;width:100%;height:22px;line-height:22px;opacity:.8;font-weight:400;color:var(--input-font-color);font-family:PingFangSC-Regular}.invite-content[data-v-76a9ae2d]{width:100%;margin-top:20px}.invite-content .invite-item[data-v-76a9ae2d]:not(:first-child){margin-top:20px}.invite-content .invite-item .invite-title[data-v-76a9ae2d]{font-size:14px;color:var(--more-notice-color);width:100%;opacity:.8}.invite-content .invite-item .input-area[data-v-76a9ae2d]{margin-top:10px;position:relative}.invite-content .invite-item .input-area .input[data-v-76a9ae2d]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--input-bg-color);background-image:none;border-radius:2px;border:1px solid var(--input-border-color);box-sizing:border-box;color:var(--input-font-color);opacity:.8;display:inline-block;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 40px 0 10px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:416px}.invite-content .invite-item .input-area .copy[data-v-76a9ae2d]{width:14px;height:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%);cursor:pointer}.invite-container[data-v-78681d3c]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile)}span[data-v-76fbca8c]{font-weight:500;font-size:12px;line-height:17px;padding-right:5px}.contact-container-main[data-v-76fbca8c]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-76fbca8c;padding-bottom:4vh}@keyframes popup-76fbca8c{0%{height:0}to{height:30%}}.contact-container-main .contact-title-main[data-v-76fbca8c]{display:flex;flex-direction:row;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:20px;align-items:center}.contact-container-main .contact-content-main[data-v-76fbca8c]{width:90%;height:15%;display:flex;flex-direction:row;padding:0 0 0 25px;align-items:center;margin-bottom:10px}.contact-container-main .contact-content[data-v-76fbca8c],.contact-container-main .contact-title[data-v-76fbca8c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:var(--popup-title-color-h5);white-space:nowrap;width:28%}.contact-container-main .contact-content[data-v-76fbca8c]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:62%}.contact-container-main .contact-bottom[data-v-76fbca8c]{width:90%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-left:40px}.contact-container-main .copy[data-v-76fbca8c]{width:14px;height:14px;margin-left:30px}.cancel[data-v-76fbca8c]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.more-container[data-v-4d3067ac]{padding:20px 32px}.more-notice[data-v-4d3067ac]{font-size:14px;width:100%;height:22px;line-height:22px;font-weight:400;color:var(--more-notice-color);opacity:.8;font-family:PingFangSC-Regular}.more-content[data-v-4d3067ac]{width:100%;margin-top:20px}.more-content .more-item[data-v-4d3067ac]:not(:first-child){margin-top:20px}.more-content .more-item .more-title[data-v-4d3067ac]{font-size:14px;color:var(--more-notice-color);width:100%;opacity:.8}.more-content .more-item .input-area[data-v-4d3067ac]{margin-top:10px;position:relative}.more-content .more-item .input-area .input[data-v-4d3067ac]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--input-bg-color);background-image:none;border-radius:2px;border:1px solid var(--input-border-color);box-sizing:border-box;color:var(--input-font-color);opacity:.8;display:inline-block;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 40px 0 10px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:416px}.more-content .more-item .input-area .copy[data-v-4d3067ac]{width:14px;height:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%);cursor:pointer}.contact-container[data-v-251c1f14]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile);z-index:11}.show-more-content[data-v-7814bc4f]{position:absolute;left:5%;bottom:15px;width:90%;height:20vh;background:var(--log-out-cancel);border-radius:13px;padding:10px;animation-duration:.1s;animation-name:popup-7814bc4f}@keyframes popup-7814bc4f{0%{bottom:0}to{bottom:15px}}.control-compent[data-v-7814bc4f]{display:flex}.close[data-v-7814bc4f]{background:var(--close-cancel-h5);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:10px;color:var(--mute-button-color-h5)}.close i[data-v-7814bc4f]{font-family:PingFang SC;font-style:normal;font-weight:400;line-height:24px;text-align:center}.footer-container[data-v-6f1ee0d6]{position:absolute;bottom:0;width:100%;height:100%}.left-container[data-v-6f1ee0d6]{width:100%;display:flex;justify-content:space-evenly}.top-container[data-v-6f1ee0d6]{position:fixed;top:0}.custom-element-class[data-v-5d38a258]{--el-color-primary:#006eff;--el-fill-color-light:var(--el-fill-color-light-select);--el-fill-color-blank:var(--user-extra-info-color);--el-border-color:var(--el-border-color-select);--el-border-color-light:var(--el-border-color-light-select);--el-border-color-lighter:var(--el-border-lighter);--el-bg-color:var(--el-bg-color-select,#fff);--el-bg-color-page:#fff;--el-bg-color-overlay:var(--el-bg-color-overlay-select);--el-text-color-primary:var(--el-text-color-primary-select);--el-text-color-regular:var(--el-text-color-regular-select);--el-slider-height:4px;--el-slider-button-size:12px;--el-dialog-bg-color:var(--el-dialog-bg-color-select);--el-dialog-box-shadow:0 1px 10px 0 rgba(0,0,0,.3);--el-disabled-bg-color:var(--el-disabled-background);--el-disabled-border-color:var(--el-disabled-border);--el-switch-on-color:red}.screen-share-control-container[data-v-5d38a258]{position:relative}.stop-share-region[data-v-5d38a258]{width:131px;height:48px;background:var(--stop-share-region-bg-color);border-radius:4px;position:absolute;top:-58px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:14px;color:var(--color-font)}.stop-share-icon[data-v-5d38a258]{width:24px;height:24px;margin-right:10px}.setting-dialog[data-v-2c9e5284]{width:660px;height:574px;position:absolute;display:flex}.setting-dialog .dialog-tabs[data-v-2c9e5284]{width:194px;height:574px;background-color:#1d2029}.setting-dialog .dialog-content[data-v-2c9e5284]{flex-grow:1}.footer-container[data-v-fcf4ace8]{width:100%;height:100%;padding-left:9px;padding-right:24px;display:flex;justify-content:space-between}.footer-container .left-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center}.footer-container .left-container .left-container-item[data-v-fcf4ace8]:not(:first-child){margin-left:1rem}.footer-container .center-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center;position:relative;margin:0 auto}.footer-container .right-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center}.text-img[data-v-467c6786]{width:20px;height:20px;vertical-align:middle}.text-box[data-v-467c6786]{line-height:20px;vertical-align:middle}.message-list-container[data-v-3ee0bdff]{height:calc(100% - 188px);padding:10px 23px 10px 32px;background-color:var(--message-list-color);overflow:auto}.message-list-container[data-v-3ee0bdff]::-webkit-scrollbar{display:none}.message-list-container .message-top[data-v-3ee0bdff]{display:flex;justify-content:center}.message-list-container .message-item[data-v-3ee0bdff]{margin-bottom:20px;word-break:break-all;display:flex;flex-direction:column;align-items:flex-start}.message-list-container .message-item[data-v-3ee0bdff]:last-of-type{margin-bottom:0}.message-list-container .message-item.is-me[data-v-3ee0bdff]{align-items:end}.message-list-container .message-item.is-me .message-body[data-v-3ee0bdff]{background-color:var(--message-color);min-width:24px}.message-list-container .message-item .message-header[data-v-3ee0bdff]{font-size:14px;color:#7c85a6;margin-bottom:10px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message-list-container .message-item .message-body[data-v-3ee0bdff]{background-color:#1883ff;display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff}.message-list-container .message-bottom[data-v-3ee0bdff]{width:0;height:0}.message-list-container-h5[data-v-3ee0bdff]{padding:10px 23px 10px 32px;background-color:var(--message-list-color-h5);height:100%;width:100%;overflow:scroll}.message-list-container-h5[data-v-3ee0bdff]::-webkit-scrollbar{display:none}.message-list-container-h5 .message-top[data-v-3ee0bdff]{display:flex;justify-content:center}.message-list-container-h5 .message-list[data-v-3ee0bdff]{overflow-y:scroll}.message-list-container-h5 .message-list .message-item[data-v-3ee0bdff]{margin-bottom:20px;word-break:break-all;display:flex;flex-direction:column;align-items:flex-start}.message-list-container-h5 .message-list .message-item[data-v-3ee0bdff]:last-of-type{margin-bottom:0}.message-list-container-h5 .message-list .message-item.is-me[data-v-3ee0bdff]{align-items:end}.message-list-container-h5 .message-list .message-item.is-me .message-body[data-v-3ee0bdff]{background-color:#4791ff;min-width:24px;border-radius:8px;display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff}.message-list-container-h5 .message-list .message-item .message-header[data-v-3ee0bdff]{font-family:PingFang SC;font-style:normal;font-weight:500;font-size:10px;color:#ff7200;line-height:14px;margin-bottom:10px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message-list-container-h5 .message-list .message-item .message-body[data-v-3ee0bdff]{background-color:var(--message-body-h5);display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff;border-radius:8px}.message-list-container-h5 .message-bottom[data-v-3ee0bdff]{width:0;height:0}.emoji-icon[data-v-78a2609f]{cursor:pointer}.emoji-list-h5[data-v-78a2609f],.emoji-list[data-v-78a2609f]{width:404px;height:214px;flex:1;display:flex;flex-wrap:wrap;overflow-y:auto;position:absolute;bottom:50px;background-color:var(--emoji-background-color);padding:12px;border-radius:4px;border:1px solid #2e323d}.emoji-list-h5[data-v-78a2609f]::-webkit-scrollbar,.emoji-list[data-v-78a2609f]::-webkit-scrollbar{display:none}.emoji-list .emoji-item[data-v-78a2609f],.emoji-list-h5 .emoji-item[data-v-78a2609f]{padding:2px}.emoji-list .emoji-item[data-v-78a2609f]:hover,.emoji-list-h5 .emoji-item[data-v-78a2609f]:hover{cursor:pointer}.emoji-list img[data-v-78a2609f],.emoji-list-h5 img[data-v-78a2609f]{width:30px}.emoji-list-h5[data-v-78a2609f]{width:298px;height:148px;position:fixed;bottom:77px;left:30px}.chat-editor[data-v-4ae1f1c7]{width:100vw;display:flex;justify-content:center;align-items:center;padding-bottom:5px}.chat-editor .input-content[data-v-4ae1f1c7]{width:90%;color:#676c80;height:34px;background:var(--chat-editor-input-color-h5);border:none;box-sizing:border-box;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:4vh;caret-color:var(--caret-color);border-radius:8px;resize:none}.chat-editor .input-content .chat-emoji[data-v-4ae1f1c7],.chat-editor .input-content[data-v-4ae1f1c7]{display:flex;align-items:center;justify-content:center}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7]{color:#676c80;width:84%;height:34px;background:var(--chat-editor-input-color-h5);border:none;box-sizing:border-box;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:4vh;caret-color:var(--caret-color);border-radius:8px;resize:none;padding-left:10px}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7]:focus-visible{outline:none}.chat-editor[data-v-6cdfd1ed]{height:188px;background:var(--chat-editor-bg-color);box-sizing:border-box}.chat-editor textarea[data-v-6cdfd1ed]{height:138px;color:var(--textarea-color);width:100%;background:var(--chat-editor-bg-color);border:none;box-sizing:border-box;padding:12px 14px;caret-color:var(--caret-color);resize:none}.chat-editor textarea[data-v-6cdfd1ed]:focus-visible{outline:none}.chat-editor .send-btn[data-v-6cdfd1ed]{padding:6px 18px;background:var(--send-btn-color);border-radius:2px;font-size:14px;color:var(--send-btn)}.chat-editor .send-btn[data-v-6cdfd1ed]:hover{cursor:pointer;background:#006eff;color:#fff}.chat-editor .send-btn.active[data-v-6cdfd1ed]{background:#006eff;color:#fff}.chat-editor .chat-editor-toolbar[data-v-6cdfd1ed]{height:44px;padding:0 14px 12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.chat-container[data-v-6588445b]{position:relative;height:100%}.chat-container-h5[data-v-6588445b]{height:100%}.member-info-mobile[data-v-0325ed23]{display:flex;align-items:center;width:80vw;justify-content:space-between}.member-info[data-v-0325ed23]{display:contents}.member-basic-info[data-v-0325ed23]{display:flex;flex-direction:row;align-items:center}.member-basic-info .avatar-url[data-v-0325ed23]{width:48px;height:48px;display:flex;border-radius:50%;align-items:center}.member-basic-info .user-name[data-v-0325ed23]{margin-left:9px;font-size:14px;color:var(--input-font-color);line-height:22px;max-width:110px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.member-basic-info .user-extra-info[data-v-0325ed23]{line-height:18px;font-size:12px;margin-left:13px;padding:2px;color:var(--user-extra-info-color-h5);background:var(--user-extra-info-bg-color-h5);border-radius:8px;padding:0 6px}.member-av-state[data-v-0325ed23]{padding-left:80px}.member-av-state .video-icon[data-v-0325ed23]{margin-left:5px}.member-control-container[data-v-d259161c]{width:100%;position:fixed;bottom:0;left:0;z-index:2;padding:22px 16px;background:var(--member-control-background-color-h5);border-radius:15px 15px 0 0;display:flex;flex-direction:column!important;animation-duration:.1s;animation-name:popup-d259161c}@keyframes popup-d259161c{0%{height:0}to{height:30%}}.member-control-container .member-title[data-v-d259161c]{display:flex;flex-direction:row;width:100%;margin-bottom:10px;align-items:center}.member-control-container .member-title .avatar-url[data-v-d259161c]{width:30px;height:30px;border-radius:50%}.member-control-container .member-title .member-title-content[data-v-d259161c]{font-weight:500;font-size:16px;line-height:22px;color:var(--member-title-content-h5);margin-left:10px}.member-control-container .user-operate-item[data-v-d259161c]{width:100%;display:flex;margin-top:10px;align-items:center}.member-control-container .user-operate-item .control-title[data-v-d259161c]{margin-left:10px}.cancel[data-v-d259161c]{flex:1;text-align:end;padding-right:30px}.member-control-container[data-v-28dfca21]{display:flex;flex-direction:row}.member-control-container .more-btn[data-v-28dfca21],.member-control-container .mute-btn[data-v-28dfca21]{height:32px;border-radius:2px;font-size:14px;color:#fff;line-height:32px;padding:0 20px}.member-control-container .mute-btn[data-v-28dfca21]{background-image:linear-gradient(235deg,#1883ff,#0062f5)}.member-control-container .more-container[data-v-28dfca21]{position:relative}.member-control-container .more-container .more-btn[data-v-28dfca21]{display:flex;flex-direction:row;align-items:center;background:var(--more-btn-background);border:1px solid #adb6cc;margin-left:12px}.member-control-container .more-container .more-btn .more-icon[data-v-28dfca21]{margin-left:4px;width:20px;height:20px}.member-control-container .more-container .user-operate-list[data-v-28dfca21]{position:absolute;padding:4px 0;top:calc(100% + 10px);right:0;min-width:140px;background:var(--user-operate-list);border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.3)}.member-control-container .more-container .user-operate-list .user-operate-item[data-v-28dfca21]{cursor:pointer;padding:0 20px;text-align:center;font-size:14px;color:var(--user-operate-item);height:40px;line-height:40px;white-space:nowrap}.member-control-container .more-container .dropdownUp[data-v-28dfca21]{transform:translateY(-140%)}.member-item-container[data-v-51bdd126]{display:flex;flex-direction:row;align-items:center;height:69px;padding:0 32px;justify-content:space-between}.member-item-container[data-v-51bdd126]:hover{cursor:pointer;background:var(--member-item-container-hover-bg-color)}.member-item-container[data-v-2d674c35]{display:flex;flex-direction:row;align-items:center;height:69px;justify-content:space-between;padding:0 32px}.member-item-container[data-v-2d674c35]:hover{cursor:pointer;background:var(--member-item-container-hover-bg-color)}.manage-member-container[data-v-746e3a0c]{position:relative;height:100%;display:flex;flex-direction:column}.manage-member-container .apply-on-stage-info[data-v-746e3a0c]{width:100%;height:6vh;background-image:linear-gradient(235deg,#1883ff,#0062f5);padding:9px 20px 10px 32px;display:flex;justify-content:space-between;align-items:center;margin:10px 0 10px 0}.manage-member-container .apply-on-stage-info .apply-info[data-v-746e3a0c]{font-weight:400;font-size:14px;color:#fff}.manage-member-container .apply-on-stage-info .button[data-v-746e3a0c]{width:82px;height:32px;background:hsla(0,0%,100%,.1);border:1px solid #fff;border-radius:2px;text-align:center;line-height:32px;font-weight:400;font-size:14px;color:#fff;cursor:pointer}.manage-member-container .searching-container input[type=text][data-v-746e3a0c]{background-image:url(../img/search.a8fd20e6.svg);background-repeat:no-repeat;background-position:10px;padding-left:35px}.manage-member-container .searching-container .searching-input[data-v-746e3a0c]{width:93%;background:#292d38;border-radius:8px;height:34px;border-style:none;margin-left:16px;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:18px;color:#676c80;caret-color:var(--caret-color)}.manage-member-container .searching-container .searching-input[data-v-746e3a0c] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.manage-member-container .searching-container .searching-input[data-v-746e3a0c] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.manage-member-container .searching-container .searching-input[data-v-746e3a0c]:focus-visible{outline:none}.manage-member-container .setting-item[data-v-746e3a0c]{display:flex;justify-content:space-between;padding:10px 32px}.manage-member-container .setting-item .setting-icon[data-v-746e3a0c]{width:32px;height:32px}.manage-member-container .setting-item .item-left-section[data-v-746e3a0c]{display:flex;align-items:center}.manage-member-container .setting-item .item-left-section .setting-name[data-v-746e3a0c]{font-size:14px;margin-left:8px;color:var(--setting-name-color)}.manage-member-container .divide-line[data-v-746e3a0c]{height:1px;width:100%;background:var(--divide-line-color);box-shadow:0 -1px 0 0 var(--divide-line)}.manage-member-container .member-list-container[data-v-746e3a0c]{flex:1;display:flex;flex-direction:column;min-height:0}.manage-member-container .member-list-container .member-count[data-v-746e3a0c]{margin-left:5px}.manage-member-container .member-list-container[data-v-746e3a0c]::-webkit-scrollbar{display:none}.manage-member-container .member-list-container .member-list-header[data-v-746e3a0c]{padding:0 32px;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--input-font-color);line-height:24px}.manage-member-container .member-list-container .member-list-content[data-v-746e3a0c]{flex:1;overflow-y:scroll}.manage-member-container .manage-member-bottom[data-v-746e3a0c]{width:100%;display:flex;justify-content:space-around;z-index:1}.manage-member-container .manage-member-bottom .manage-member-button[data-v-746e3a0c]{border-radius:10px;padding:13px 24px;background-color:var(--manage-member-button-h5);font-weight:400;color:var(--mute-button-color-h5)}.manage-member-container .manage-member-bottom .lift-all[data-v-746e3a0c]{color:var(--mute-all-h5)}.manage-member-container .popup-dialog-audio[data-v-746e3a0c],.manage-member-container .popup-dialog-video[data-v-746e3a0c]{width:64vw;background:var(--popup-mute-background-color-h5);border-radius:8px;position:absolute;bottom:46vh;left:18vw;white-space:nowrap}.manage-member-container .popup-dialog-audio .popup-dialog-audio-title[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-dialog-audio-title[data-v-746e3a0c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:22px;text-align:center;color:#2b2e38;white-space:normal;padding:20px}.manage-member-container .popup-dialog-audio .popup-button[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button[data-v-746e3a0c]{display:flex;justify-content:space-evenly;padding:10px}.manage-member-container .popup-dialog-audio .popup-button .popup-button-cancel[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button .popup-button-cancel[data-v-746e3a0c]{padding:4px 16px;background-color:#fff;color:#646366;border:1px solid #dcdfe6;border-radius:4px}.manage-member-container .popup-dialog-audio .popup-button .popup-button-mute[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button .popup-button-mute[data-v-746e3a0c]{padding:4px 16px;background-color:#006eff;color:#fff;border:1px solid #dcdfe6;border-radius:4px}.button-container-mobile[data-v-746e3a0c]{width:100%;display:flex}.button-container-mobile .agree[data-v-746e3a0c]{color:#006eff}.button-container-mobile .agree[data-v-746e3a0c],.button-container-mobile .cancel[data-v-746e3a0c]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-746e3a0c]{color:#2b2e38;border-right:1px solid #f2f2f2}.manage-member-container[data-v-74166061]{position:relative;height:100%;display:flex;flex-direction:column}.manage-member-container .apply-on-stage-info[data-v-74166061]{width:100%;height:60px;background-image:linear-gradient(235deg,#1883ff,#0062f5);padding:0 20px 0 32px;display:flex;justify-content:space-between;align-items:center}.manage-member-container .apply-on-stage-info .apply-info[data-v-74166061]{font-weight:400;font-size:14px;color:#fff}.manage-member-container .apply-on-stage-info .button[data-v-74166061]{width:82px;height:32px;background:hsla(0,0%,100%,.1);border:1px solid #fff;border-radius:2px;text-align:center;line-height:32px;font-weight:400;font-size:14px;color:#fff;cursor:pointer}.manage-member-container .setting-item[data-v-74166061]{display:flex;justify-content:space-between;padding:10px 32px}.manage-member-container .setting-item .setting-icon[data-v-74166061]{width:32px;height:32px}.manage-member-container .setting-item .item-left-section[data-v-74166061]{display:flex;align-items:center}.manage-member-container .setting-item .item-left-section .setting-name[data-v-74166061]{font-size:14px;margin-left:8px;color:var(--setting-name-color)}.manage-member-container .divide-line[data-v-74166061]{height:1px;width:100%;background:var(--el-drawer-divide);box-shadow:0 -1px 0 0 var(--divide-line-color)}.manage-member-container .member-list-container[data-v-74166061]{overflow-y:scroll;padding:10px 0;flex:1;display:flex;flex-direction:column}.manage-member-container .member-list-container .member-count[data-v-74166061]{margin-left:5px}.manage-member-container .member-list-container[data-v-74166061]::-webkit-scrollbar{display:none}.manage-member-container .member-list-container .member-list-header[data-v-74166061]{padding:0 32px;font-weight:500;font-size:14px;color:var(--input-font-color);line-height:24px}.manage-member-container .member-list-container .member-list-content[data-v-74166061]{margin-top:15px;flex:1;overflow-y:scroll}.sidebar-container-mobile[data-v-40f5a35a]{height:100%;position:fixed;top:0;right:0;z-index:101}.custom-element-class{--el-color-primary:#006eff;--el-fill-color-light:var(--el-fill-color-light-select);--el-fill-color-blank:var(--user-extra-info-color);--el-border-color:var(--el-border-color-select);--el-border-color-light:var(--el-border-color-light-select);--el-border-color-lighter:var(--el-border-lighter);--el-bg-color:var(--el-bg-color-select,#fff);--el-bg-color-page:#fff;--el-bg-color-overlay:var(--el-bg-color-overlay-select);--el-text-color-primary:var(--el-text-color-primary-select);--el-text-color-regular:var(--el-text-color-regular-select);--el-slider-height:4px;--el-slider-button-size:12px;--el-dialog-bg-color:var(--el-dialog-bg-color-select);--el-dialog-box-shadow:0 1px 10px 0 rgba(0,0,0,.3);--el-disabled-bg-color:var(--el-disabled-background);--el-disabled-border-color:var(--el-disabled-border);--el-switch-on-color:red}.sidebar-container>div{inset:inherit!important;width:480px!important;right:0!important;top:0!important;height:100%;position:absolute!important}.sidebar-container .el-drawer__header{height:88px;border-bottom:1px solid var(--el-drawer-divide);box-sizing:border-box;margin-bottom:0;font-size:20px;color:var(--el-drawer-header-color);font-weight:500;padding:32px 22px 32px 32px}.sidebar-container .el-drawer__body{padding:0}.user-stream-container[data-v-9adfd868]{position:relative;width:100%;height:100%;border:2px solid transparent;overflow:hidden;border-radius:10px;-webkit-transform:rotate(0deg)}.user-stream-container.border[data-v-9adfd868]{border:2px solid #37e858}.user-stream-container .stream-region[data-v-9adfd868]{width:100%;height:100%;overflow:hidden;background-color:#000;position:absolute;top:0;left:0}.user-stream-container .center-user-info-container[data-v-9adfd868]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--center-user-info-container-bg-color)}.user-stream-container .center-user-info-container .avatar-region[data-v-9adfd868]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info[data-v-9adfd868]{width:130px;text-align:center}.user-stream-container .center-user-info-container .user-info .avatar-region[data-v-9adfd868]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info .user-gender-name svg[data-v-9adfd868]{vertical-align:bottom}.user-stream-container .center-user-info-container .user-info .user-gender-name .user-name[data-v-9adfd868]{display:inline-block;margin-left:6px;font-size:14px;font-weight:400;max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.user-stream-container .corner-user-info-container[data-v-9adfd868]{position:absolute;bottom:4px;left:0;min-width:118px;max-width:100%;overflow:hidden;height:30px;display:flex;background:rgba(0,0,0,.6);color:#fff;align-items:center;align-content:center;font-size:14px}.user-stream-container .corner-user-info-container .user-name[data-v-9adfd868]{margin-left:8px;max-width:60px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:5px}.user-stream-container .corner-user-info-container .master-icon[data-v-9adfd868]{margin-left:0;width:25px;height:25px;background-size:cover}.user-stream-container .corner-user-info-container .screen-icon[data-v-9adfd868]{transform:scale(.8);background-size:cover}.user-stream-container .corner-user-info-container .audio-icon[data-v-9adfd868]{max-width:26px;max-height:35px}@keyframes loading-rotate-693d2878{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-stream-container[data-v-693d2878]{position:relative}.user-stream-container .stream-region[data-v-693d2878]{width:100%;height:100%;overflow:hidden;background-color:#000}.user-stream-container .loading-region[data-v-693d2878]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.user-stream-container .loading-region .loading[data-v-693d2878]{animation:loading-rotate-693d2878 .7s linear infinite}.user-stream-container .corner-user-info-container[data-v-693d2878]{position:absolute;bottom:4px;left:0;min-width:118px;max-width:100%;overflow:hidden;height:30px;display:flex;background:rgba(0,0,0,.6);color:#fff;align-items:center;align-content:center;padding:0 10px 0 0;font-size:14px}.user-stream-container .corner-user-info-container>[data-v-693d2878]{margin-left:8px;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-stream-container .corner-user-info-container .master-icon[data-v-693d2878]{margin-left:0;width:30px;height:30px;background-size:cover}.user-stream-container .corner-user-info-container .screen-icon[data-v-693d2878]{transform:scale(.8);background-size:cover}.user-stream-container .center-user-info-container[data-v-693d2878]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--center-user-info-container-bg-color)}.user-stream-container .center-user-info-container .avatar-region[data-v-693d2878]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info[data-v-693d2878]{width:130px;text-align:center}.user-stream-container .center-user-info-container .user-info .avatar-region[data-v-693d2878]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info .user-gender-name svg[data-v-693d2878]{vertical-align:bottom}.user-stream-container .center-user-info-container .user-info .user-gender-name .user-name[data-v-693d2878]{display:inline-block;margin-left:6px;font-size:14px;font-weight:400;max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.stream-container[data-v-3424abc2]{width:100%;height:100%;position:relative}.stream-container-flatten[data-v-3424abc2]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center}.stream-container-flatten .stream-list-container[data-v-3424abc2]{width:100%;padding-top:150%;height:0;position:relative}.stream-container-flatten .stream-list-container.multi-stream-container[data-v-3424abc2]{padding-top:150%;height:0}.stream-container-flatten .stream-list-container.single-stream-container[data-v-3424abc2]{height:100%}.stream-container-flatten .stream-list[data-v-3424abc2]{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center}.stream-container-flatten .stream-list.not-first-page[data-v-3424abc2]{align-content:flex-start}.stream-container-flatten .stream-list .single-stream[data-v-3424abc2]{width:100%;height:100%;padding:1px;border-radius:10px}.stream-container-flatten .stream-list .multi-stream[data-v-3424abc2]{width:50%;padding-top:50%;height:0;border-radius:10px;overflow:hidden;position:relative}.stream-container-large-small[data-v-3424abc2]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden}.stream-container-large-small .enlarged-stream-container[data-v-3424abc2]{width:100%;height:100%}.stream-container-large-small .stream-list-container[data-v-3424abc2]{width:50%;padding-top:50%;position:absolute;top:0;right:0}.stream-container-large-small .stream-list-container .stream-list[data-v-3424abc2]{width:100%;height:100%;position:absolute;top:0;left:0}.stream-container-large-small .stream-list-container .stream-list .multi-stream[data-v-3424abc2],.stream-container-large-small .stream-list-container .stream-list .single-stream[data-v-3424abc2]{width:100%;height:100%;padding:1px;border-radius:10px}.icon-control[data-v-3424abc2]{background-color:var(--layout-item);cursor:pointer}.icon-control[data-v-3424abc2],.swipe[data-v-3424abc2]{position:absolute;display:flex;justify-content:center;align-items:center}.swipe[data-v-3424abc2]{width:100%;bottom:100px}.swipe-dots[data-v-3424abc2]{opacity:.6}.swipe-current-dots[data-v-3424abc2],.swipe-dots[data-v-3424abc2]{width:8px;height:8px;background:#fff;border-radius:20px;margin:5px}.swipe-current-dots[data-v-3424abc2]{opacity:1}.stream-container-flatten[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden}.stream-container-flatten .stream-list-container[data-v-35d1e596]{width:100%;height:100%}.stream-container-flatten .stream-list[data-v-35d1e596]{width:100%;height:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center}.stream-container-flatten .stream-list .single-stream[data-v-35d1e596]{margin:4px}.icon-control[data-v-35d1e596]{background-color:var(--layout-item);position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center}.arrow-up[data-v-35d1e596]{top:175px}.arrow-down[data-v-35d1e596],.arrow-up[data-v-35d1e596]{width:52px;height:20px;position:fixed;left:50%;transform:translate(-50%);border-radius:0 0 4px 4px}.arrow-down[data-v-35d1e596]{top:48px}.arrow-down [data-v-35d1e596]{transform:rotate(180deg)}.arrow-right[data-v-35d1e596]{width:20px;height:52px;position:fixed;right:250px;transform:translate(-50%);top:calc(50% - 16px);border-radius:4px 0 0 4px}.arrow-right [data-v-35d1e596]{transform:rotate(90deg)}.arrow-left[data-v-35d1e596]{width:20px;height:52px;position:fixed;right:-10px;transform:translate(-50%);top:calc(50% - 16px);border-radius:4px 0 0 4px}.arrow-left [data-v-35d1e596]{transform:rotate(270deg)}.stream-container-top[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;position:relative}.stream-container-top .enlarged-stream-container[data-v-35d1e596]{width:100%;height:calc(100% - 175px);position:absolute;top:175px;display:flex;justify-content:center;align-items:center}.stream-container-top .stream-list-container[data-v-35d1e596]{width:100%;height:175px;background-color:var(--stream-list-container);position:absolute;top:0;left:0;padding:20px 40px;display:flex;justify-content:center}.stream-container-top .stream-list-container.hide-list[data-v-35d1e596]{transform:translateY(-175px)}.stream-container-top .stream-list-container .stream-list[data-v-35d1e596]{display:flex;overflow-x:scroll;max-width:100%;max-height:100%}.stream-container-top .stream-list-container .stream-list[data-v-35d1e596]::-webkit-scrollbar{display:none}.stream-container-top .stream-list-container .stream-list .single-stream[data-v-35d1e596]{width:240px;height:135px;border-radius:4px;overflow:hidden;flex-shrink:0}.stream-container-top .stream-list-container .stream-list .single-stream[data-v-35d1e596]:not(:first-child){margin-left:14px}.stream-container-right[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;display:flex;flex-wrap:nowrap;justify-content:space-between;align-content:center}.stream-container-right .enlarged-stream-container[data-v-35d1e596]{width:calc(100% - 260px);height:100%;display:flex;justify-content:center;align-items:center}.stream-container-right .stream-list-container[data-v-35d1e596]{width:260px;height:100%;position:absolute;top:0;right:0;padding:48px 10px 80px;background-color:var(--stream-list-container);display:flex;align-items:center}.stream-container-right .stream-list-container.hide-list[data-v-35d1e596]{transform:translateX(260px)}.stream-container-right .stream-list-container[data-v-35d1e596]:before{content:"";width:100%;height:40px;position:absolute;top:48px;left:0;opacity:.1}.stream-container-right .stream-list[data-v-35d1e596]{max-width:100%;max-height:100%;overflow-y:scroll;padding:10px 0}.stream-container-right .stream-list[data-v-35d1e596]::-webkit-scrollbar{display:none}.stream-container-right .stream-list .single-stream[data-v-35d1e596]{width:240px;height:135px;border-radius:4px;overflow:hidden}.stream-container-right .stream-list .single-stream[data-v-35d1e596]:not(:first-child){margin-top:14px}.turn-page-container[data-v-35d1e596]{width:100%;height:86px;position:absolute;top:50%;transform:translateY(-50%);padding:0 24px;display:flex;justify-content:space-between}.turn-page-container .turn-page-arrow-container[data-v-35d1e596]{width:40px;height:86px;background:rgba(0,0,0,.4);border-radius:4.21px;display:flex;justify-content:center;align-items:center;cursor:pointer}.turn-page-container .left-container[data-v-35d1e596]{position:absolute;left:24px}.turn-page-container .right-container[data-v-35d1e596]{position:absolute;right:24px}.turn-page-container .turn-page-arrow[data-v-35d1e596]{background-image:url(../img/turn-page-arrow-left.7cc3e172.svg);width:14px;height:23px;background-size:100% 100%}.turn-page-container .turn-page-right[data-v-35d1e596]{transform:rotateY(180deg)}.content-container[data-v-f3be1146]{width:100%;height:100%}.setting-dialog[data-v-3d8c7752]{width:660px;height:574px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;background-color:var(--setting-dialog-bg-color);border-radius:var(--setting-dialog)}.setting-dialog .dialog-tabs[data-v-3d8c7752]{width:194px;height:574px;background-color:var(--dialog-tabs-bg-color);border-radius:var(--setting-dialog)}.setting-dialog .dialog-tabs .dialog-title[data-v-3d8c7752]{display:inline-block;font-weight:500;font-size:20px;line-height:24px;color:var(--tabs-title-font-color);margin:32px 0 20px 32px}.setting-dialog .dialog-tabs .tabs-title[data-v-3d8c7752]{width:100%;height:36px;padding-left:32px;margin-bottom:10px;font-weight:400;font-size:14px;color:var(--tabs-title-font-color);line-height:36px;position:relative;cursor:pointer}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]{background-color:var(--create-room-option);color:var(--create-room-option-color);font-weight:500}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]:before{content:"";display:block;position:absolute;left:0;top:0;width:2px;height:36px;background:var(--create-room-option-tab)}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]:after{content:"";display:block;position:absolute;left:0;top:0;width:23px;height:36px;opacity:.59;background:var(--active-blur-background-color);filter:blur(16px)}.setting-dialog .divide-line[data-v-3d8c7752]{width:1px;height:100%;background:var(--divide-line-color-setting)}.setting-dialog .dialog-content[data-v-3d8c7752]{flex-grow:1;padding:32px}.setting-dialog .close-icon[data-v-3d8c7752]{position:absolute;top:20px;right:20px;cursor:pointer}.tui-room :not([class|=el]){transition:background-color .5s,color .5s}.tui-room[data-v-b73b8d2e]{width:100%;height:100%;position:relative}.tui-room .header[data-v-b73b8d2e]{width:100%;height:48px;background-color:var(--room-header-bg-color);position:absolute;top:0;left:0;z-index:100}.tui-room .content[data-v-b73b8d2e]{width:100%;height:100%;background-color:#0d0f15;position:absolute;top:0}.tui-room .footer[data-v-b73b8d2e]{position:absolute;bottom:0;width:100%;height:80px;background-color:var(--room-footer-bg-color)}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#b3b8c8;position:relative;width:100%;height:100%} \ No newline at end of file +.popup-container[data-v-4069d388]{width:100vw;height:100%;background:var(--room-detail-background);position:static;flex:1}.popup-container .popup-main-header[data-v-4069d388]{width:100%;height:60px;display:flex;justify-content:center;align-items:center}.popup-container .popup-main-header .icon-container[data-v-4069d388]{padding:20px;position:absolute;left:0;top:0;width:10px;height:18px;background-size:cover;box-sizing:content-box}.popup-container .popup-main-header .sidebar-title[data-v-4069d388]{font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px;line-height:22px;text-align:center;color:var(--input-font-color)}.popup-container .popup-main-header .close-icon[data-v-4069d388]{width:10px;height:18px;background-size:cover}.popup-container .popup-main-content[data-v-4069d388]{width:100%;height:calc(100% - 130px);overflow:hidden}.popup-container .popup-main-footer[data-v-4069d388]{width:100%;height:auto;position:sticky;bottom:0;padding-top:10px}.end-control-container .end-button[data-v-12377224]{border:1px solid #ff2e2e;border-radius:4px;font-weight:400;font-size:12px;color:#ff2e2e;letter-spacing:0;cursor:pointer;text-align:center;line-height:21px;padding:0 8px}.end-control-container .end-button[data-v-12377224]:hover{background-color:#ff2e2e;color:#fff}.dialog-middle-content[data-v-12377224]{width:100%;display:flex;flex-direction:column}.end-main-content[data-v-12377224]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.end-main-content .end-dialog-dismiss[data-v-12377224],.end-main-content .end-dialog-leave[data-v-12377224]{width:90%;border-radius:14px;position:fixed;right:0;left:0;bottom:10vh;z-index:9;margin:auto}.end-main-content .end-dialog-dismiss .manage-transfer[data-v-12377224],.end-main-content .end-dialog-leave .manage-transfer[data-v-12377224]{position:absolute;top:0}.end-main-content .end-dialog-dismiss .end-dialog-header[data-v-12377224],.end-main-content .end-dialog-leave .end-dialog-header[data-v-12377224]{background:#cacacb;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:14px;line-height:17px;text-align:center;color:#6a6c74;height:56px;width:100%;margin:0 auto;border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:.5px solid #4f4e4e;display:flex;justify-content:center;align-items:center}.end-main-content .end-dialog-dismiss .end-dialog-header .end-dialog-text[data-v-12377224],.end-main-content .end-dialog-leave .end-dialog-header .end-dialog-text[data-v-12377224]{width:230px}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-dismiss[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-dismiss .end-button-leave[data-v-12377224],.end-main-content .end-dialog-leave .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave[data-v-12377224]{width:100%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:20px;line-height:24px;text-align:center;color:#ff2e2e;border-style:none;background:#cacacb;padding:20px 0}.end-main-content .end-dialog-dismiss .end-button-leave[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave[data-v-12377224]{color:#007aff;border-bottom-left-radius:14px;border-bottom-right-radius:14px;border-top:.5px solid #8f8e8e}.end-main-content .end-dialog-dismiss .end-button-leave-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-leave-single[data-v-12377224]{position:absolute;bottom:1vh;border-radius:14px;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224],.end-main-content .end-dialog-leave .end-button-cancel[data-v-12377224]{position:absolute;bottom:-9vh;left:0;background-color:#fff;border-radius:14px;color:#007aff;font-weight:600;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss .end-button-dismiss-single[data-v-12377224],.end-main-content .end-dialog-leave .end-button-dismiss-single[data-v-12377224]{border-bottom-left-radius:14px;border-bottom-right-radius:14px;display:flex;align-items:center;justify-content:center}.end-main-content .end-dialog-dismiss[data-v-12377224]{bottom:12vh}.end-main-content .end-dialog-dismiss .end-button-cancel[data-v-12377224]{bottom:-9vh}.transfer-container[data-v-12377224]{position:fixed;left:0;top:0;height:100vh;z-index:102}.transfer-container .transfer-header[data-v-12377224]{display:flex;justify-content:center}.transfer-container .transfer-header input[type=text][data-v-12377224]{background-image:url(../img/search.a8fd20e6.svg);background-repeat:no-repeat;background-position:10px;padding-left:35px;background-color:var(--transfer-input-color-h5)}.transfer-container .transfer-header .searching-input[data-v-12377224]{padding:0 80px;background:#292d38;border-radius:8px;height:34px;border-style:none;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:18px;color:#676c80;caret-color:var(--caret-color)}.transfer-container .transfer-header .searching-input[data-v-12377224] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.transfer-container .transfer-header .searching-input[data-v-12377224] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.transfer-container .transfer-header .searching-input[data-v-12377224]:focus-visible{outline:none}.transfer-container .transfer-body[data-v-12377224]{flex:1;overflow-y:scroll}.transfer-container .transfer-body .transfer-list-content[data-v-12377224]{padding-bottom:5px}.transfer-container .transfer-body .transfer-list-content .transfer-item-container[data-v-12377224]{display:flex;flex-direction:row;align-items:center;height:69px;justify-content:space-between;padding:0 32px}.transfer-container .transfer-body .transfer-list-content .member-basic-info[data-v-12377224]{display:flex;position:relative;width:100%;flex-direction:row;align-items:center;padding:24px 20px 0 24px}.transfer-container .transfer-body .transfer-list-content .member-basic-info .avatar-url[data-v-12377224]{width:40px!important;height:40px!important;border-radius:50%}.transfer-container .transfer-body .transfer-list-content .member-basic-info .user-name[data-v-12377224]{margin-left:9px;color:var(--input-font-color);max-width:70%!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px!important;line-height:22px;letter-spacing:-.24px;display:flex}.transfer-container .transfer-body .transfer-list-content .member-basic-info .correct[data-v-12377224]{width:24px;height:16px;position:absolute;right:5vw;background-size:cover}.transfer-container .transfer-body .member-hasNoData[data-v-12377224]{position:fixed;top:30%;left:30%;width:40vw;height:5vh;color:var(--input-font-color);border-radius:4px;background-color:var(--message-list-color);display:flex;justify-content:center;align-items:center}.transfer-leave[data-v-12377224]{position:fixed;bottom:2vh;left:7vw;display:flex;align-items:center;justify-content:center}.transfer-leave .transfer-button[data-v-12377224]{width:86vw;height:5vh;background:linear-gradient(315deg,#006eff,#0c59f2 98.81%);border-radius:8px;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:16px;line-height:22px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;border-style:none}.end-button[data-v-bcdd5c40]{width:90px;height:40px;border:2px solid #ff2e2e;border-radius:4px;font-weight:400;font-size:14px;color:#ff2e2e;letter-spacing:0;cursor:pointer;text-align:center;line-height:36px}.end-button[data-v-bcdd5c40]:hover{background-color:#ff2e2e;color:#fff}.camera-icon[data-v-190ccb04]{display:block;background-size:cover;width:40px;height:36px}.mirror-icon[data-v-9a54a9ea]{display:block;width:32px;height:32px}.conference-container[data-v-543146aa]{min-width:140px;max-width:300px}.title-container[data-v-543146aa]{display:flex;align-items:center}.text[data-v-543146aa]{font-weight:500;font-size:12px;line-height:17px;max-width:150px;color:var(--input-font-color)}.master-header[data-v-543146aa],.text[data-v-543146aa]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.master-header[data-v-543146aa]{max-width:300px;padding:20px 0}.text-right[data-v-543146aa]{padding-left:30px}.text-type[data-v-543146aa]{padding-left:12px}.roomInfo-middle[data-v-543146aa]{color:var(--popup-title-color-h5);padding-left:25px}.chevron-down-container[data-v-543146aa]{display:flex;margin-left:5px}.chevron-down-container .chevron-down-icon[data-v-543146aa]{display:flex;background-size:cover;width:10px;height:7px;align-items:center}.roomInfo-container[data-v-543146aa]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile)}.roomInfo-container .roomInfo-container-main[data-v-543146aa]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-543146aa;padding-bottom:4vh}@keyframes popup-543146aa{0%{height:0}to{height:30%}}.roomInfo-container .roomInfo-container-main .roomInfo-title[data-v-543146aa]{display:flex;flex-direction:row;align-items:center;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:0 0 0 25px;position:relative}.roomInfo-container .roomInfo-container-main .roomInfo-role[data-v-543146aa],.roomInfo-container .roomInfo-container-main .roomInfo-roomID[data-v-543146aa],.roomInfo-container .roomInfo-container-main .roomInfo-roomMode[data-v-543146aa]{display:flex;flex-direction:row;padding:5px 0;align-items:center}.roomInfo-container .roomInfo-container-main .link[data-v-543146aa]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:64%;padding-left:16px}.roomInfo-container .roomInfo-container-main .roomInfo-bottom[data-v-543146aa]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-top:2vh}.roomInfo-container .roomInfo-container-main .copy[data-v-543146aa]{width:14px;height:14px;margin-left:30px}.roomInfo-container .roomInfo-container-main .qrcode[data-v-543146aa]{width:24px;height:24px;position:absolute;right:10vw;top:3vh}.cancel[data-v-543146aa]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.header[data-v-1262e4e7]{height:100%}.header-container[data-v-1262e4e7]{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.icon-box[data-v-1262e4e7]{min-width:50px;display:flex;align-items:center;justify-content:space-between}.layout-container[data-v-7b3fd23b]{position:relative;width:20px;height:20px}.layout-container .layout-icon[data-v-7b3fd23b]{cursor:pointer}.layout-container .layout-list[data-v-7b3fd23b]{position:absolute;top:47px;right:0;background-color:var(--layout-list);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);border-radius:4px;padding:20px;display:flex}.layout-container .layout-list .layout-item[data-v-7b3fd23b]{width:180px;height:133px;padding:20px 30px 39px;background-color:var(--layout-item);border-radius:2px;border:1px solid transparent;cursor:pointer;position:relative}.layout-container .layout-list .layout-item[data-v-7b3fd23b]:not(:first-child){margin-left:20px}.layout-container .layout-list .layout-item.checked[data-v-7b3fd23b],.layout-container .layout-list .layout-item[data-v-7b3fd23b]:hover{border:1px solid #006eff;border-radius:2px}.layout-container .layout-list .layout-item.checked[data-v-7b3fd23b]:after{content:"";display:block;width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAShJREFUWEftltFRwkAQhr8NBWgJlgAVCBWIHVCAMlgBWIEafbcFrEDsQDsIHWgB3DJ3kRfNBXNcJoNz+5SH7P5f/uzundBxSMf6JIDkwH4HrnRIxnlQsxreeJJVXW49wFSXwEWQ+C5JWfIol74afoDyy18PEt8lG0Y+J/wAU10A8ygAcEsutt6vSAD/zAHlBmFYMTkt94DyhTJ2nV49ui0CKGt6jIGCDc+Ie/4Z0QAeyFiwoUA4Qfmg5ywH43ZG3zO20QAKMgbAGYYJucyYaf9b/LRmZ0QDsBrvZIy4l0+udYJwB9SJ25yoACUE2HOicru12QOhmzm6A01BjhGg8+PYmhzjQgIv5FK1nNxv/OuVrFw2TcOwOuxK1lQw4P39DgQUbZKSAJIDW6oveCGWdYdlAAAAAElFTkSuQmCC);background-size:100% 100%;position:absolute;top:0;right:0}.layout-container .layout-list .layout-item .layout-block-container[data-v-7b3fd23b]{width:120px;height:74px}.layout-container .layout-list .layout-item .layout-title[data-v-7b3fd23b]{font-size:16px;font-weight:400;line-height:24px;display:inline-block;margin-top:10px;width:100%;text-align:center}.layout-container .layout-list .layout1 .layout-block-container[data-v-7b3fd23b]{display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout1 .layout-block-container .layout-block[data-v-7b3fd23b]{width:38px;height:22px;background-color:#7c85a6}.layout-container .layout-list .layout2 .layout-block-container[data-v-7b3fd23b]{display:flex;justify-content:space-between}.layout-container .layout-list .layout2 .layout-block-container .left-container[data-v-7b3fd23b]{width:90px;height:74px;background-color:#7c85a6}.layout-container .layout-list .layout2 .layout-block-container .right-container[data-v-7b3fd23b]{width:27px;height:74px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout2 .layout-block-container .right-container>div[data-v-7b3fd23b]{width:27px;height:16px;background-color:#7c85a6}.layout-container .layout-list .layout3 .layout-block-container[data-v-7b3fd23b]{display:flex;flex-wrap:wrap;align-content:space-between}.layout-container .layout-list .layout3 .layout-block-container .top-container[data-v-7b3fd23b]{width:120px;height:16px;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:space-between}.layout-container .layout-list .layout3 .layout-block-container .top-container>div[data-v-7b3fd23b]{width:28px;height:16px;background-color:#7c85a6}.layout-container .layout-list .layout3 .layout-block-container .bottom-container[data-v-7b3fd23b]{width:120px;height:55px;background-color:#7c85a6}.header-container[data-v-20e9e128]{width:100%;height:100%;padding-left:9px;padding-right:24px;position:relative;display:flex;justify-content:space-between}.header-container .left-container[data-v-20e9e128]{height:100%;position:absolute;top:0;left:0;display:flex;align-items:center;padding-left:24px}.header-container .left-container .header-item[data-v-20e9e128]:not(:first-child){margin-left:1rem}.header-container .right-container[data-v-20e9e128]{position:absolute;top:0;right:0;height:100%;float:right;padding-right:24px;display:flex;align-items:center}.header-container .right-container .right-container-item[data-v-20e9e128]:not(:last-child){margin-right:1rem}.header-container .right-container .end-control-container[data-v-20e9e128]{display:none}.audio-control-container[data-v-357aa832]{position:relative}.audio-control-container .audio-tab[data-v-357aa832]{position:absolute;bottom:90px;left:15px;width:320px;background:var(--room-audiotab-bg-color);padding:20px}.button-container-mobile[data-v-357aa832]{width:100%;display:flex}.button-container-mobile .agree[data-v-357aa832]{color:#006eff}.button-container-mobile .agree[data-v-357aa832],.button-container-mobile .cancel[data-v-357aa832]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-357aa832]{color:#2b2e38;border-right:1px solid #f2f2f2}.button-container-PC .cancel[data-v-357aa832]{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree[data-v-357aa832]{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}.video-control-container[data-v-a0d52fdc]{position:relative}.video-control-container .video-tab[data-v-a0d52fdc]{position:absolute;bottom:90px;left:-60px;width:320px;background:var(--room-videotab-bg-color);padding:20px}.button-container-mobile[data-v-a0d52fdc]{width:100%;display:flex}.button-container-mobile .agree[data-v-a0d52fdc]{color:#006eff}.button-container-mobile .agree[data-v-a0d52fdc],.button-container-mobile .cancel[data-v-a0d52fdc]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-a0d52fdc]{color:#2b2e38;border-right:1px solid #f2f2f2}.button-container-PC .cancel[data-v-a0d52fdc]{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree[data-v-a0d52fdc]{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}.chat-control-container .el-badge .el-badge__content{top:14px;right:24px;background-color:#006eff}.count{display:flex}.unreadCount{background-color:#006eff;min-width:20px;height:20px;text-align:center;color:#fff;position:relative;left:-20px;top:4px;padding:2px;border-radius:45px}.apply-control-container .master-attention{display:flex;flex-direction:column;padding:4px}.apply-control-container .master-attention .apply-big-icon{width:40px;height:40px}.apply-control-container .master-attention .info{color:#fff;font-size:14px}.apply-control-container .apply-list-container{width:470px;height:286px;background:var(--apply-list-container-bg-color);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);position:absolute;top:-6px;left:50%;transform:translate(-50%,-100%);padding:12px 20px;color:#cfd4e6}.apply-control-container .apply-list-container .title-container{display:flex;justify-content:space-between;align-items:center}.apply-control-container .apply-list-container .title-container .title{font-weight:500;font-size:16px;color:var(--apply-list-container-color)}.apply-control-container .apply-list-container .title-container .close{cursor:pointer}.apply-control-container .apply-list-container .apply-list{height:190px;overflow:scroll;margin-top:4px}.apply-control-container .apply-list-container .apply-list::-webkit-scrollbar{display:none}.apply-control-container .apply-list-container .apply-list .apply-item{display:flex;justify-content:space-between;align-items:center;height:48px;margin-top:8px}.apply-control-container .apply-list-container .apply-list .apply-item .user-info{width:calc(100% - 176px);height:100%;display:flex;align-items:center}.apply-control-container .apply-list-container .apply-list .apply-item .user-info .avatar-url{width:48px;height:48px;border-radius:50%}.apply-control-container .apply-list-container .apply-list .apply-item .user-info .user-name{font-weight:500;font-size:14px;color:#7c85a6;line-height:22px;margin-left:9px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.apply-control-container .apply-list-container .apply-list .apply-item .control-container{display:flex;justify-content:space-between}.apply-control-container .apply-list-container .apply-footer{margin-top:8px}.apply-control-container .apply-list-container .apply-footer .deny-all{float:right}.apply-control-container .apply-list-container .button{border-radius:2px;padding:6px 20px;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:var(--apply-list-container-color);text-align:center;cursor:pointer}.apply-control-container .apply-list-container .primary{background-image:linear-gradient(235deg,#1883ff,#0062f5);color:var(--apply-container-primary);margin-right:5px}.apply-control-container .apply-list-container .outline{background:rgba(173,182,204,.1);border:1px solid #adb6cc;color:var(--apply-container-outline)}.apply-control-container .apply-list-container-h5{width:80vw;height:30vh;border-radius:13px;display:flex;flex-direction:column;background:var(--apply-list-container-bg-color);box-shadow:0 1px 10px 0 rgba(0,0,0,.3);position:absolute;top:-6px;left:50%;transform:translate(-50%,-100%);padding:12px 20px;color:#cfd4e6}.apply-control-container .apply-list-container-h5 .title-container{display:flex;justify-content:space-between;align-items:center}.apply-control-container .apply-list-container-h5 .title-container .title{font-weight:500;font-size:16px;color:var(--apply-list-container-color)}.apply-control-container .apply-list-container-h5 .title-container .close{cursor:pointer}.apply-control-container .apply-list-container-h5 .apply-list{max-height:72%;overflow:scroll;margin-top:4px;flex:1}.apply-control-container .apply-list-container-h5 .apply-list::-webkit-scrollbar{display:none}.apply-control-container .apply-list-container-h5 .apply-list .apply-item{display:flex;justify-content:space-between;align-items:center;height:48px;margin-top:8px}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info{height:100%;display:flex;align-items:center}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info .avatar-url{width:48px;height:48px;border-radius:50%}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .user-info .user-name{font-weight:500;font-size:14px;color:#7c85a6;line-height:22px;margin-left:9px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.apply-control-container .apply-list-container-h5 .apply-list .apply-item .control-container{display:flex;justify-content:space-between}.apply-control-container .apply-list-container-h5 .apply-footer{height:40px;margin-top:auto}.apply-control-container .apply-list-container-h5 .apply-footer .button{width:100%;background:var(--apply-container-background-outline-h5);border-radius:8px;padding:0}.apply-control-container .apply-list-container-h5 .apply-footer .deny-all{padding:8px}.apply-control-container .apply-list-container-h5 .button{border-radius:2px;padding:4px 15px;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:var(--apply-list-container-color);text-align:center;cursor:pointer}.apply-control-container .apply-list-container-h5 .primary{background-image:linear-gradient(235deg,#1883ff,#0062f5);border-radius:8px;color:var(--apply-container-primary);margin-right:5px}.apply-control-container .apply-list-container-h5 .outline{border-radius:8px;background:var(--apply-container-background-outline-h5);border:none;color:var(--apply-container-outline-h5)}.apply-control-container{position:relative}.apply-control-container .attention{background:rgba(19,124,253,.96);box-shadow:0 4px 16px 0 rgba(47,48,164,.1);position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;top:-6px;left:50%;transform:translate(-50%,-100%)}.apply-control-container .attention:after{content:"";display:block;border:4px solid transparent;border-top-color:rgba(19,124,253,.96);position:absolute;top:100%;left:50%;transform:translateX(-50%)}.apply-control-container .member-attention{padding:7px 12px}.apply-control-container .member-attention .info{width:210px;height:20px;font-weight:400;font-size:14px;color:#fff;line-height:20px}.apply-control-container .member-attention .close{cursor:pointer}.button-container-mobile{width:100%;display:flex}.button-container-mobile .agree{color:var(--close-cancel-h5)}.button-container-mobile .agree,.button-container-mobile .cancel{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--choose-type)}.button-container-mobile .cancel{color:var(--apply-container-outline);border-right:1px solid var(--choose-type)}.button-container-PC .cancel{padding:5px 20px;background:var(--create-room-option);border-radius:2px;width:auto;display:initial;color:var(--color-font);border:1px solid var(--choose-type)}.button-container-PC .agree{padding:5px 20px;background:#006eff;color:#fff;margin-left:14px;border-radius:2px;width:auto;display:initial}span[data-v-eb2b478c]{font-weight:500;font-size:12px;line-height:17px;padding-right:5px}.invite-container-main[data-v-eb2b478c]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-eb2b478c;padding-bottom:4vh}@keyframes popup-eb2b478c{0%{height:0}to{height:30%}}.invite-container-main .invite-title-main[data-v-eb2b478c]{display:flex;flex-direction:row;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:20px;align-items:center}.invite-container-main .invite-content-main[data-v-eb2b478c]{width:90%;height:13%;display:flex;flex-direction:row;padding:0 0 0 25px;align-items:center;margin-bottom:10px}.invite-container-main .invite-title[data-v-eb2b478c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:var(--popup-title-color-h5);white-space:nowrap;width:23%}.invite-container-main .invite-content[data-v-eb2b478c]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:64%}.invite-container-main .invite-bottom[data-v-eb2b478c]{width:90%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-left:40px}.invite-container-main .copy[data-v-eb2b478c]{width:14px;height:14px;margin-left:30px}.cancel[data-v-eb2b478c]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.invite-container[data-v-76a9ae2d]{padding:20px 32px}.invite-notice[data-v-76a9ae2d]{font-size:14px;width:100%;height:22px;line-height:22px;opacity:.8;font-weight:400;color:var(--input-font-color);font-family:PingFangSC-Regular}.invite-content[data-v-76a9ae2d]{width:100%;margin-top:20px}.invite-content .invite-item[data-v-76a9ae2d]:not(:first-child){margin-top:20px}.invite-content .invite-item .invite-title[data-v-76a9ae2d]{font-size:14px;color:var(--more-notice-color);width:100%;opacity:.8}.invite-content .invite-item .input-area[data-v-76a9ae2d]{margin-top:10px;position:relative}.invite-content .invite-item .input-area .input[data-v-76a9ae2d]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--input-bg-color);background-image:none;border-radius:2px;border:1px solid var(--input-border-color);box-sizing:border-box;color:var(--input-font-color);opacity:.8;display:inline-block;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 40px 0 10px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:416px}.invite-content .invite-item .input-area .copy[data-v-76a9ae2d]{width:14px;height:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%);cursor:pointer}.invite-container[data-v-78681d3c]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile)}span[data-v-76fbca8c]{font-weight:500;font-size:12px;line-height:17px;padding-right:5px}.contact-container-main[data-v-76fbca8c]{width:100%;background:var(--popup-background-color-h5);border-radius:15px 15px 0 0;position:fixed;bottom:0;display:flex;flex-direction:column;animation-duration:.1s;animation-name:popup-76fbca8c;padding-bottom:4vh}@keyframes popup-76fbca8c{0%{height:0}to{height:30%}}.contact-container-main .contact-title-main[data-v-76fbca8c]{display:flex;flex-direction:row;font-family:PingFang SC;font-style:normal;font-weight:500;font-size:20px;line-height:24px;color:var(--popup-title-color-h5);padding:20px;align-items:center}.contact-container-main .contact-content-main[data-v-76fbca8c]{width:90%;height:15%;display:flex;flex-direction:row;padding:0 0 0 25px;align-items:center;margin-bottom:10px}.contact-container-main .contact-content[data-v-76fbca8c],.contact-container-main .contact-title[data-v-76fbca8c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:var(--popup-title-color-h5);white-space:nowrap;width:28%}.contact-container-main .contact-content[data-v-76fbca8c]{color:var(--popup-content-color-h5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:62%}.contact-container-main .contact-bottom[data-v-76fbca8c]{width:90%;font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px;text-align:center;color:var(--popup-title-color-h5);padding-left:40px}.contact-container-main .copy[data-v-76fbca8c]{width:14px;height:14px;margin-left:30px}.cancel[data-v-76fbca8c]{flex:1;text-align:end;padding-right:30px;font-weight:400;font-size:16px}.more-container[data-v-4d3067ac]{padding:20px 32px}.more-notice[data-v-4d3067ac]{font-size:14px;width:100%;height:22px;line-height:22px;font-weight:400;color:var(--more-notice-color);opacity:.8;font-family:PingFangSC-Regular}.more-content[data-v-4d3067ac]{width:100%;margin-top:20px}.more-content .more-item[data-v-4d3067ac]:not(:first-child){margin-top:20px}.more-content .more-item .more-title[data-v-4d3067ac]{font-size:14px;color:var(--more-notice-color);width:100%;opacity:.8}.more-content .more-item .input-area[data-v-4d3067ac]{margin-top:10px;position:relative}.more-content .more-item .input-area .input[data-v-4d3067ac]{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--input-bg-color);background-image:none;border-radius:2px;border:1px solid var(--input-border-color);box-sizing:border-box;color:var(--input-font-color);opacity:.8;display:inline-block;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 40px 0 10px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:416px}.more-content .more-item .input-area .copy[data-v-4d3067ac]{width:14px;height:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%);cursor:pointer}.contact-container[data-v-251c1f14]{position:fixed;left:0;top:0;bottom:0;width:100vw;height:auto;box-sizing:border-box;background-color:var(--log-out-mobile);z-index:11}.show-more-content[data-v-7814bc4f]{position:absolute;left:5%;bottom:15px;width:90%;height:20vh;background:var(--log-out-cancel);border-radius:13px;padding:10px;animation-duration:.1s;animation-name:popup-7814bc4f}@keyframes popup-7814bc4f{0%{bottom:0}to{bottom:15px}}.control-compent[data-v-7814bc4f]{display:flex}.close[data-v-7814bc4f]{background:var(--close-cancel-h5);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:10px;color:var(--mute-button-color-h5)}.close i[data-v-7814bc4f]{font-family:PingFang SC;font-style:normal;font-weight:400;line-height:24px;text-align:center}.footer-container[data-v-6f1ee0d6]{position:absolute;bottom:0;width:100%;height:100%}.left-container[data-v-6f1ee0d6]{width:100%;display:flex;justify-content:space-evenly}.top-container[data-v-6f1ee0d6]{position:fixed;top:0}.custom-element-class[data-v-5d38a258]{--el-color-primary:#006eff;--el-fill-color-light:var(--el-fill-color-light-select);--el-fill-color-blank:var(--user-extra-info-color);--el-border-color:var(--el-border-color-select);--el-border-color-light:var(--el-border-color-light-select);--el-border-color-lighter:var(--el-border-lighter);--el-bg-color:var(--el-bg-color-select,#fff);--el-bg-color-page:#fff;--el-bg-color-overlay:var(--el-bg-color-overlay-select);--el-text-color-primary:var(--el-text-color-primary-select);--el-text-color-regular:var(--el-text-color-regular-select);--el-slider-height:4px;--el-slider-button-size:12px;--el-dialog-bg-color:var(--el-dialog-bg-color-select);--el-dialog-box-shadow:0 1px 10px 0 rgba(0,0,0,.3);--el-disabled-bg-color:var(--el-disabled-background);--el-disabled-border-color:var(--el-disabled-border);--el-switch-on-color:red}.screen-share-control-container[data-v-5d38a258]{position:relative}.stop-share-region[data-v-5d38a258]{width:131px;height:48px;background:var(--stop-share-region-bg-color);border-radius:4px;position:absolute;top:-58px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:14px;color:var(--color-font)}.stop-share-icon[data-v-5d38a258]{width:24px;height:24px;margin-right:10px}.setting-dialog[data-v-2c9e5284]{width:660px;height:574px;position:absolute;display:flex}.setting-dialog .dialog-tabs[data-v-2c9e5284]{width:194px;height:574px;background-color:#1d2029}.setting-dialog .dialog-content[data-v-2c9e5284]{flex-grow:1}.footer-container[data-v-fcf4ace8]{width:100%;height:100%;padding-left:9px;padding-right:24px;display:flex;justify-content:space-between}.footer-container .left-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center}.footer-container .left-container .left-container-item[data-v-fcf4ace8]:not(:first-child){margin-left:1rem}.footer-container .center-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center;position:relative;margin:0 auto}.footer-container .right-container[data-v-fcf4ace8]{height:100%;display:flex;align-items:center}.text-img[data-v-467c6786]{width:20px;height:20px;vertical-align:middle}.text-box[data-v-467c6786]{line-height:20px;vertical-align:middle}.message-list-container[data-v-3ee0bdff]{height:calc(100% - 188px);padding:10px 23px 10px 32px;background-color:var(--message-list-color);overflow:auto}.message-list-container[data-v-3ee0bdff]::-webkit-scrollbar{display:none}.message-list-container .message-top[data-v-3ee0bdff]{display:flex;justify-content:center}.message-list-container .message-item[data-v-3ee0bdff]{margin-bottom:20px;word-break:break-all;display:flex;flex-direction:column;align-items:flex-start}.message-list-container .message-item[data-v-3ee0bdff]:last-of-type{margin-bottom:0}.message-list-container .message-item.is-me[data-v-3ee0bdff]{align-items:end}.message-list-container .message-item.is-me .message-body[data-v-3ee0bdff]{background-color:var(--message-color);min-width:24px}.message-list-container .message-item .message-header[data-v-3ee0bdff]{font-size:14px;color:#7c85a6;margin-bottom:10px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message-list-container .message-item .message-body[data-v-3ee0bdff]{background-color:#1883ff;display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff}.message-list-container .message-bottom[data-v-3ee0bdff]{width:0;height:0}.message-list-container-h5[data-v-3ee0bdff]{padding:10px 23px 10px 32px;background-color:var(--message-list-color-h5);height:100%;width:100%;overflow:scroll}.message-list-container-h5[data-v-3ee0bdff]::-webkit-scrollbar{display:none}.message-list-container-h5 .message-top[data-v-3ee0bdff]{display:flex;justify-content:center}.message-list-container-h5 .message-list[data-v-3ee0bdff]{overflow-y:scroll}.message-list-container-h5 .message-list .message-item[data-v-3ee0bdff]{margin-bottom:20px;word-break:break-all;display:flex;flex-direction:column;align-items:flex-start}.message-list-container-h5 .message-list .message-item[data-v-3ee0bdff]:last-of-type{margin-bottom:0}.message-list-container-h5 .message-list .message-item.is-me[data-v-3ee0bdff]{align-items:end}.message-list-container-h5 .message-list .message-item.is-me .message-body[data-v-3ee0bdff]{background-color:#4791ff;min-width:24px;border-radius:8px;display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff}.message-list-container-h5 .message-list .message-item .message-header[data-v-3ee0bdff]{font-family:PingFang SC;font-style:normal;font-weight:500;font-size:10px;color:#ff7200;line-height:14px;margin-bottom:10px;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message-list-container-h5 .message-list .message-item .message-body[data-v-3ee0bdff]{background-color:var(--message-body-h5);display:inline-block;padding:7px;font-weight:400;font-size:14px;color:#fff;border-radius:8px}.message-list-container-h5 .message-bottom[data-v-3ee0bdff]{width:0;height:0}.emoji-icon[data-v-78a2609f]{cursor:pointer}.emoji-list-h5[data-v-78a2609f],.emoji-list[data-v-78a2609f]{width:404px;height:214px;flex:1;display:flex;flex-wrap:wrap;overflow-y:auto;position:absolute;bottom:50px;background-color:var(--emoji-background-color);padding:12px;border-radius:4px;border:1px solid #2e323d}.emoji-list-h5[data-v-78a2609f]::-webkit-scrollbar,.emoji-list[data-v-78a2609f]::-webkit-scrollbar{display:none}.emoji-list .emoji-item[data-v-78a2609f],.emoji-list-h5 .emoji-item[data-v-78a2609f]{padding:2px}.emoji-list .emoji-item[data-v-78a2609f]:hover,.emoji-list-h5 .emoji-item[data-v-78a2609f]:hover{cursor:pointer}.emoji-list img[data-v-78a2609f],.emoji-list-h5 img[data-v-78a2609f]{width:30px}.emoji-list-h5[data-v-78a2609f]{width:298px;height:148px;position:fixed;bottom:77px;left:30px}.chat-editor[data-v-4ae1f1c7]{width:100vw;display:flex;justify-content:center;align-items:center;padding-bottom:5px}.chat-editor .input-content[data-v-4ae1f1c7]{width:90%;color:#676c80;height:34px;background:var(--chat-editor-input-color-h5);border:none;box-sizing:border-box;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:4vh;caret-color:var(--caret-color);border-radius:8px;resize:none}.chat-editor .input-content .chat-emoji[data-v-4ae1f1c7],.chat-editor .input-content[data-v-4ae1f1c7]{display:flex;align-items:center;justify-content:center}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7]{color:#676c80;width:84%;height:34px;background:var(--chat-editor-input-color-h5);border:none;box-sizing:border-box;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:4vh;caret-color:var(--caret-color);border-radius:8px;resize:none;padding-left:10px}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.chat-editor .input-content .content-bottom-input[data-v-4ae1f1c7]:focus-visible{outline:none}.chat-editor[data-v-6cdfd1ed]{height:188px;background:var(--chat-editor-bg-color);box-sizing:border-box}.chat-editor textarea[data-v-6cdfd1ed]{height:138px;color:var(--textarea-color);width:100%;background:var(--chat-editor-bg-color);border:none;box-sizing:border-box;padding:12px 14px;caret-color:var(--caret-color);resize:none}.chat-editor textarea[data-v-6cdfd1ed]:focus-visible{outline:none}.chat-editor .send-btn[data-v-6cdfd1ed]{padding:6px 18px;background:var(--send-btn-color);border-radius:2px;font-size:14px;color:var(--send-btn)}.chat-editor .send-btn[data-v-6cdfd1ed]:hover{cursor:pointer;background:#006eff;color:#fff}.chat-editor .send-btn.active[data-v-6cdfd1ed]{background:#006eff;color:#fff}.chat-editor .chat-editor-toolbar[data-v-6cdfd1ed]{height:44px;padding:0 14px 12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.chat-container[data-v-6588445b]{position:relative;height:100%}.chat-container-h5[data-v-6588445b]{height:100%}.member-info-mobile[data-v-0325ed23]{display:flex;align-items:center;width:80vw;justify-content:space-between}.member-info[data-v-0325ed23]{display:contents}.member-basic-info[data-v-0325ed23]{display:flex;flex-direction:row;align-items:center}.member-basic-info .avatar-url[data-v-0325ed23]{width:48px;height:48px;display:flex;border-radius:50%;align-items:center}.member-basic-info .user-name[data-v-0325ed23]{margin-left:9px;font-size:14px;color:var(--input-font-color);line-height:22px;max-width:110px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.member-basic-info .user-extra-info[data-v-0325ed23]{line-height:18px;font-size:12px;margin-left:13px;padding:2px;color:var(--user-extra-info-color-h5);background:var(--user-extra-info-bg-color-h5);border-radius:8px;padding:0 6px}.member-av-state[data-v-0325ed23]{padding-left:80px}.member-av-state .video-icon[data-v-0325ed23]{margin-left:5px}.member-control-container[data-v-d259161c]{width:100%;position:fixed;bottom:0;left:0;z-index:2;padding:22px 16px;background:var(--member-control-background-color-h5);border-radius:15px 15px 0 0;display:flex;flex-direction:column!important;animation-duration:.1s;animation-name:popup-d259161c}@keyframes popup-d259161c{0%{height:0}to{height:30%}}.member-control-container .member-title[data-v-d259161c]{display:flex;flex-direction:row;width:100%;margin-bottom:10px;align-items:center}.member-control-container .member-title .avatar-url[data-v-d259161c]{width:30px;height:30px;border-radius:50%}.member-control-container .member-title .member-title-content[data-v-d259161c]{font-weight:500;font-size:16px;line-height:22px;color:var(--member-title-content-h5);margin-left:10px}.member-control-container .user-operate-item[data-v-d259161c]{width:100%;display:flex;margin-top:10px;align-items:center}.member-control-container .user-operate-item .control-title[data-v-d259161c]{margin-left:10px}.cancel[data-v-d259161c]{flex:1;text-align:end;padding-right:30px}.member-control-container[data-v-28dfca21]{display:flex;flex-direction:row}.member-control-container .more-btn[data-v-28dfca21],.member-control-container .mute-btn[data-v-28dfca21]{height:32px;border-radius:2px;font-size:14px;color:#fff;line-height:32px;padding:0 20px}.member-control-container .mute-btn[data-v-28dfca21]{background-image:linear-gradient(235deg,#1883ff,#0062f5)}.member-control-container .more-container[data-v-28dfca21]{position:relative}.member-control-container .more-container .more-btn[data-v-28dfca21]{display:flex;flex-direction:row;align-items:center;background:var(--more-btn-background);border:1px solid #adb6cc;margin-left:12px}.member-control-container .more-container .more-btn .more-icon[data-v-28dfca21]{margin-left:4px;width:20px;height:20px}.member-control-container .more-container .user-operate-list[data-v-28dfca21]{position:absolute;padding:4px 0;top:calc(100% + 10px);right:0;min-width:140px;background:var(--user-operate-list);border-radius:4px;box-shadow:0 1px 10px 0 rgba(0,0,0,.3)}.member-control-container .more-container .user-operate-list .user-operate-item[data-v-28dfca21]{cursor:pointer;padding:0 20px;text-align:center;font-size:14px;color:var(--user-operate-item);height:40px;line-height:40px;white-space:nowrap}.member-control-container .more-container .dropdownUp[data-v-28dfca21]{transform:translateY(-140%)}.member-item-container[data-v-51bdd126]{display:flex;flex-direction:row;align-items:center;height:69px;padding:0 32px;justify-content:space-between}.member-item-container[data-v-51bdd126]:hover{cursor:pointer;background:var(--member-item-container-hover-bg-color)}.member-item-container[data-v-2d674c35]{display:flex;flex-direction:row;align-items:center;height:69px;justify-content:space-between;padding:0 32px}.member-item-container[data-v-2d674c35]:hover{cursor:pointer;background:var(--member-item-container-hover-bg-color)}.manage-member-container[data-v-746e3a0c]{position:relative;height:100%;display:flex;flex-direction:column}.manage-member-container .apply-on-stage-info[data-v-746e3a0c]{width:100%;height:6vh;background-image:linear-gradient(235deg,#1883ff,#0062f5);padding:9px 20px 10px 32px;display:flex;justify-content:space-between;align-items:center;margin:10px 0 10px 0}.manage-member-container .apply-on-stage-info .apply-info[data-v-746e3a0c]{font-weight:400;font-size:14px;color:#fff}.manage-member-container .apply-on-stage-info .button[data-v-746e3a0c]{width:82px;height:32px;background:hsla(0,0%,100%,.1);border:1px solid #fff;border-radius:2px;text-align:center;line-height:32px;font-weight:400;font-size:14px;color:#fff;cursor:pointer}.manage-member-container .searching-container input[type=text][data-v-746e3a0c]{background-image:url(../img/search.a8fd20e6.svg);background-repeat:no-repeat;background-position:10px;padding-left:35px}.manage-member-container .searching-container .searching-input[data-v-746e3a0c]{width:93%;background:#292d38;border-radius:8px;height:34px;border-style:none;margin-left:16px;font-family:PingFang SC;font-style:normal;font-weight:450;font-size:16px;line-height:18px;color:#676c80;caret-color:var(--caret-color)}.manage-member-container .searching-container .searching-input[data-v-746e3a0c] ::-moz-placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.manage-member-container .searching-container .searching-input[data-v-746e3a0c] ::placeholder{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:18px;color:#676c80}.manage-member-container .searching-container .searching-input[data-v-746e3a0c]:focus-visible{outline:none}.manage-member-container .setting-item[data-v-746e3a0c]{display:flex;justify-content:space-between;padding:10px 32px}.manage-member-container .setting-item .setting-icon[data-v-746e3a0c]{width:32px;height:32px}.manage-member-container .setting-item .item-left-section[data-v-746e3a0c]{display:flex;align-items:center}.manage-member-container .setting-item .item-left-section .setting-name[data-v-746e3a0c]{font-size:14px;margin-left:8px;color:var(--setting-name-color)}.manage-member-container .divide-line[data-v-746e3a0c]{height:1px;width:100%;background:var(--divide-line-color);box-shadow:0 -1px 0 0 var(--divide-line)}.manage-member-container .member-list-container[data-v-746e3a0c]{flex:1;display:flex;flex-direction:column;min-height:0}.manage-member-container .member-list-container .member-count[data-v-746e3a0c]{margin-left:5px}.manage-member-container .member-list-container[data-v-746e3a0c]::-webkit-scrollbar{display:none}.manage-member-container .member-list-container .member-list-header[data-v-746e3a0c]{padding:0 32px;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--input-font-color);line-height:24px}.manage-member-container .member-list-container .member-list-content[data-v-746e3a0c]{flex:1;overflow-y:scroll}.manage-member-container .manage-member-bottom[data-v-746e3a0c]{width:100%;display:flex;justify-content:space-around;z-index:1}.manage-member-container .manage-member-bottom .manage-member-button[data-v-746e3a0c]{border-radius:10px;padding:13px 24px;background-color:var(--manage-member-button-h5);font-weight:400;color:var(--mute-button-color-h5)}.manage-member-container .manage-member-bottom .lift-all[data-v-746e3a0c]{color:var(--mute-all-h5)}.manage-member-container .popup-dialog-audio[data-v-746e3a0c],.manage-member-container .popup-dialog-video[data-v-746e3a0c]{width:64vw;background:var(--popup-mute-background-color-h5);border-radius:8px;position:absolute;bottom:46vh;left:18vw;white-space:nowrap}.manage-member-container .popup-dialog-audio .popup-dialog-audio-title[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-dialog-audio-title[data-v-746e3a0c]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:16px;line-height:22px;text-align:center;color:#2b2e38;white-space:normal;padding:20px}.manage-member-container .popup-dialog-audio .popup-button[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button[data-v-746e3a0c]{display:flex;justify-content:space-evenly;padding:10px}.manage-member-container .popup-dialog-audio .popup-button .popup-button-cancel[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button .popup-button-cancel[data-v-746e3a0c]{padding:4px 16px;background-color:#fff;color:#646366;border:1px solid #dcdfe6;border-radius:4px}.manage-member-container .popup-dialog-audio .popup-button .popup-button-mute[data-v-746e3a0c],.manage-member-container .popup-dialog-video .popup-button .popup-button-mute[data-v-746e3a0c]{padding:4px 16px;background-color:#006eff;color:#fff;border:1px solid #dcdfe6;border-radius:4px}.button-container-mobile[data-v-746e3a0c]{width:100%;display:flex}.button-container-mobile .agree[data-v-746e3a0c]{color:#006eff}.button-container-mobile .agree[data-v-746e3a0c],.button-container-mobile .cancel[data-v-746e3a0c]{padding:14px;width:50%;display:flex;align-items:center;justify-content:center;border-top:1px solid #f2f2f2}.button-container-mobile .cancel[data-v-746e3a0c]{color:#2b2e38;border-right:1px solid #f2f2f2}.manage-member-container[data-v-74166061]{position:relative;height:100%;display:flex;flex-direction:column}.manage-member-container .apply-on-stage-info[data-v-74166061]{width:100%;height:60px;background-image:linear-gradient(235deg,#1883ff,#0062f5);padding:0 20px 0 32px;display:flex;justify-content:space-between;align-items:center}.manage-member-container .apply-on-stage-info .apply-info[data-v-74166061]{font-weight:400;font-size:14px;color:#fff}.manage-member-container .apply-on-stage-info .button[data-v-74166061]{width:82px;height:32px;background:hsla(0,0%,100%,.1);border:1px solid #fff;border-radius:2px;text-align:center;line-height:32px;font-weight:400;font-size:14px;color:#fff;cursor:pointer}.manage-member-container .setting-item[data-v-74166061]{display:flex;justify-content:space-between;padding:10px 32px}.manage-member-container .setting-item .setting-icon[data-v-74166061]{width:32px;height:32px}.manage-member-container .setting-item .item-left-section[data-v-74166061]{display:flex;align-items:center}.manage-member-container .setting-item .item-left-section .setting-name[data-v-74166061]{font-size:14px;margin-left:8px;color:var(--setting-name-color)}.manage-member-container .divide-line[data-v-74166061]{height:1px;width:100%;background:var(--el-drawer-divide);box-shadow:0 -1px 0 0 var(--divide-line-color)}.manage-member-container .member-list-container[data-v-74166061]{overflow-y:scroll;padding:10px 0;flex:1;display:flex;flex-direction:column}.manage-member-container .member-list-container .member-count[data-v-74166061]{margin-left:5px}.manage-member-container .member-list-container[data-v-74166061]::-webkit-scrollbar{display:none}.manage-member-container .member-list-container .member-list-header[data-v-74166061]{padding:0 32px;font-weight:500;font-size:14px;color:var(--input-font-color);line-height:24px}.manage-member-container .member-list-container .member-list-content[data-v-74166061]{margin-top:15px;flex:1;overflow-y:scroll}.sidebar-container-mobile[data-v-40f5a35a]{height:100%;position:fixed;top:0;right:0;z-index:101}.custom-element-class{--el-color-primary:#006eff;--el-fill-color-light:var(--el-fill-color-light-select);--el-fill-color-blank:var(--user-extra-info-color);--el-border-color:var(--el-border-color-select);--el-border-color-light:var(--el-border-color-light-select);--el-border-color-lighter:var(--el-border-lighter);--el-bg-color:var(--el-bg-color-select,#fff);--el-bg-color-page:#fff;--el-bg-color-overlay:var(--el-bg-color-overlay-select);--el-text-color-primary:var(--el-text-color-primary-select);--el-text-color-regular:var(--el-text-color-regular-select);--el-slider-height:4px;--el-slider-button-size:12px;--el-dialog-bg-color:var(--el-dialog-bg-color-select);--el-dialog-box-shadow:0 1px 10px 0 rgba(0,0,0,.3);--el-disabled-bg-color:var(--el-disabled-background);--el-disabled-border-color:var(--el-disabled-border);--el-switch-on-color:red}.sidebar-container>div{inset:inherit!important;width:480px!important;right:0!important;top:0!important;height:100%;position:absolute!important}.sidebar-container .el-drawer__header{height:88px;border-bottom:1px solid var(--el-drawer-divide);box-sizing:border-box;margin-bottom:0;font-size:20px;color:var(--el-drawer-header-color);font-weight:500;padding:32px 22px 32px 32px}.sidebar-container .el-drawer__body{padding:0}.user-stream-container[data-v-9adfd868]{position:relative;width:100%;height:100%;border:2px solid transparent;overflow:hidden;border-radius:10px;-webkit-transform:rotate(0deg)}.user-stream-container.border[data-v-9adfd868]{border:2px solid #37e858}.user-stream-container .stream-region[data-v-9adfd868]{width:100%;height:100%;overflow:hidden;background-color:#000;position:absolute;top:0;left:0}.user-stream-container .center-user-info-container[data-v-9adfd868]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--center-user-info-container-bg-color)}.user-stream-container .center-user-info-container .avatar-region[data-v-9adfd868]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info[data-v-9adfd868]{width:130px;text-align:center}.user-stream-container .center-user-info-container .user-info .avatar-region[data-v-9adfd868]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info .user-gender-name svg[data-v-9adfd868]{vertical-align:bottom}.user-stream-container .center-user-info-container .user-info .user-gender-name .user-name[data-v-9adfd868]{display:inline-block;margin-left:6px;font-size:14px;font-weight:400;max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.user-stream-container .corner-user-info-container[data-v-9adfd868]{position:absolute;bottom:4px;left:0;min-width:118px;max-width:100%;overflow:hidden;height:30px;display:flex;background:rgba(0,0,0,.6);color:#fff;align-items:center;align-content:center;font-size:14px}.user-stream-container .corner-user-info-container .user-name[data-v-9adfd868]{margin-left:8px;max-width:60px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:5px}.user-stream-container .corner-user-info-container .master-icon[data-v-9adfd868]{margin-left:0;width:25px;height:25px;background-size:cover}.user-stream-container .corner-user-info-container .screen-icon[data-v-9adfd868]{transform:scale(.8);background-size:cover}.user-stream-container .corner-user-info-container .audio-icon[data-v-9adfd868]{max-width:26px;max-height:35px}@keyframes loading-rotate-693d2878{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.user-stream-container[data-v-693d2878]{position:relative}.user-stream-container .stream-region[data-v-693d2878]{width:100%;height:100%;overflow:hidden;background-color:#000}.user-stream-container .loading-region[data-v-693d2878]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.user-stream-container .loading-region .loading[data-v-693d2878]{animation:loading-rotate-693d2878 .7s linear infinite}.user-stream-container .corner-user-info-container[data-v-693d2878]{position:absolute;bottom:4px;left:0;min-width:118px;max-width:100%;overflow:hidden;height:30px;display:flex;background:rgba(0,0,0,.6);color:#fff;align-items:center;align-content:center;padding:0 10px 0 0;font-size:14px}.user-stream-container .corner-user-info-container>[data-v-693d2878]{margin-left:8px;max-width:160px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-stream-container .corner-user-info-container .master-icon[data-v-693d2878]{margin-left:0;width:30px;height:30px;background-size:cover}.user-stream-container .corner-user-info-container .screen-icon[data-v-693d2878]{transform:scale(.8);background-size:cover}.user-stream-container .center-user-info-container[data-v-693d2878]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--center-user-info-container-bg-color)}.user-stream-container .center-user-info-container .avatar-region[data-v-693d2878]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info[data-v-693d2878]{width:130px;text-align:center}.user-stream-container .center-user-info-container .user-info .avatar-region[data-v-693d2878]{width:130px;height:130px;border-radius:50%}.user-stream-container .center-user-info-container .user-info .user-gender-name svg[data-v-693d2878]{vertical-align:bottom}.user-stream-container .center-user-info-container .user-info .user-gender-name .user-name[data-v-693d2878]{display:inline-block;margin-left:6px;font-size:14px;font-weight:400;max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:bottom}.stream-container[data-v-3424abc2]{width:100%;height:100%;position:relative}.stream-container-flatten[data-v-3424abc2]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center}.stream-container-flatten .stream-list-container[data-v-3424abc2]{width:100%;padding-top:150%;height:0;position:relative}.stream-container-flatten .stream-list-container.multi-stream-container[data-v-3424abc2]{padding-top:150%;height:0}.stream-container-flatten .stream-list-container.single-stream-container[data-v-3424abc2]{height:100%}.stream-container-flatten .stream-list[data-v-3424abc2]{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:center}.stream-container-flatten .stream-list.not-first-page[data-v-3424abc2]{align-content:flex-start}.stream-container-flatten .stream-list .single-stream[data-v-3424abc2]{width:100%;height:100%;padding:1px;border-radius:10px}.stream-container-flatten .stream-list .multi-stream[data-v-3424abc2]{width:50%;padding-top:50%;height:0;border-radius:10px;overflow:hidden;position:relative}.stream-container-large-small[data-v-3424abc2]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden}.stream-container-large-small .enlarged-stream-container[data-v-3424abc2]{width:100%;height:100%}.stream-container-large-small .stream-list-container[data-v-3424abc2]{width:50%;padding-top:50%;position:absolute;top:0;right:0}.stream-container-large-small .stream-list-container .stream-list[data-v-3424abc2]{width:100%;height:100%;position:absolute;top:0;left:0}.stream-container-large-small .stream-list-container .stream-list .multi-stream[data-v-3424abc2],.stream-container-large-small .stream-list-container .stream-list .single-stream[data-v-3424abc2]{width:100%;height:100%;padding:1px;border-radius:10px}.icon-control[data-v-3424abc2]{background-color:var(--layout-item);cursor:pointer}.icon-control[data-v-3424abc2],.swipe[data-v-3424abc2]{position:absolute;display:flex;justify-content:center;align-items:center}.swipe[data-v-3424abc2]{width:100%;bottom:100px}.swipe-dots[data-v-3424abc2]{opacity:.6}.swipe-current-dots[data-v-3424abc2],.swipe-dots[data-v-3424abc2]{width:8px;height:8px;background:#fff;border-radius:20px;margin:5px}.swipe-current-dots[data-v-3424abc2]{opacity:1}.stream-container-flatten[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden}.stream-container-flatten .stream-list-container[data-v-35d1e596]{width:100%;height:100%}.stream-container-flatten .stream-list[data-v-35d1e596]{width:100%;height:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center}.stream-container-flatten .stream-list .single-stream[data-v-35d1e596]{margin:4px}.icon-control[data-v-35d1e596]{background-color:var(--layout-item);position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center}.arrow-up[data-v-35d1e596]{top:175px}.arrow-down[data-v-35d1e596],.arrow-up[data-v-35d1e596]{width:52px;height:20px;position:fixed;left:50%;transform:translate(-50%);border-radius:0 0 4px 4px}.arrow-down[data-v-35d1e596]{top:48px}.arrow-down [data-v-35d1e596]{transform:rotate(180deg)}.arrow-right[data-v-35d1e596]{width:20px;height:52px;position:fixed;right:250px;transform:translate(-50%);top:calc(50% - 16px);border-radius:4px 0 0 4px}.arrow-right [data-v-35d1e596]{transform:rotate(90deg)}.arrow-left[data-v-35d1e596]{width:20px;height:52px;position:fixed;right:-10px;transform:translate(-50%);top:calc(50% - 16px);border-radius:4px 0 0 4px}.arrow-left [data-v-35d1e596]{transform:rotate(270deg)}.stream-container-top[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;position:relative}.stream-container-top .enlarged-stream-container[data-v-35d1e596]{width:100%;height:calc(100% - 175px);position:absolute;top:175px;display:flex;justify-content:center;align-items:center}.stream-container-top .stream-list-container[data-v-35d1e596]{width:100%;height:175px;background-color:var(--stream-list-container);position:absolute;top:0;left:0;padding:20px 40px;display:flex;justify-content:center}.stream-container-top .stream-list-container.hide-list[data-v-35d1e596]{transform:translateY(-175px)}.stream-container-top .stream-list-container .stream-list[data-v-35d1e596]{display:flex;overflow-x:scroll;max-width:100%;max-height:100%}.stream-container-top .stream-list-container .stream-list[data-v-35d1e596]::-webkit-scrollbar{display:none}.stream-container-top .stream-list-container .stream-list .single-stream[data-v-35d1e596]{width:240px;height:135px;border-radius:4px;overflow:hidden;flex-shrink:0}.stream-container-top .stream-list-container .stream-list .single-stream[data-v-35d1e596]:not(:first-child){margin-left:14px}.stream-container-right[data-v-35d1e596]{width:100%;height:100%;background-color:var(--stream-container-flatten-bg-color);overflow:hidden;display:flex;flex-wrap:nowrap;justify-content:space-between;align-content:center}.stream-container-right .enlarged-stream-container[data-v-35d1e596]{width:calc(100% - 260px);height:100%;display:flex;justify-content:center;align-items:center}.stream-container-right .stream-list-container[data-v-35d1e596]{width:260px;height:100%;position:absolute;top:0;right:0;padding:48px 10px 80px;background-color:var(--stream-list-container);display:flex;align-items:center}.stream-container-right .stream-list-container.hide-list[data-v-35d1e596]{transform:translateX(260px)}.stream-container-right .stream-list-container[data-v-35d1e596]:before{content:"";width:100%;height:40px;position:absolute;top:48px;left:0;opacity:.1}.stream-container-right .stream-list[data-v-35d1e596]{max-width:100%;max-height:100%;overflow-y:scroll;padding:10px 0}.stream-container-right .stream-list[data-v-35d1e596]::-webkit-scrollbar{display:none}.stream-container-right .stream-list .single-stream[data-v-35d1e596]{width:240px;height:135px;border-radius:4px;overflow:hidden}.stream-container-right .stream-list .single-stream[data-v-35d1e596]:not(:first-child){margin-top:14px}.turn-page-container[data-v-35d1e596]{width:100%;height:86px;position:absolute;top:50%;transform:translateY(-50%);padding:0 24px;display:flex;justify-content:space-between}.turn-page-container .turn-page-arrow-container[data-v-35d1e596]{width:40px;height:86px;background:rgba(0,0,0,.4);border-radius:4.21px;display:flex;justify-content:center;align-items:center;cursor:pointer}.turn-page-container .left-container[data-v-35d1e596]{position:absolute;left:24px}.turn-page-container .right-container[data-v-35d1e596]{position:absolute;right:24px}.turn-page-container .turn-page-arrow[data-v-35d1e596]{background-image:url(../img/turn-page-arrow-left.7cc3e172.svg);width:14px;height:23px;background-size:100% 100%}.turn-page-container .turn-page-right[data-v-35d1e596]{transform:rotateY(180deg)}.content-container[data-v-f3be1146]{width:100%;height:100%}.setting-dialog[data-v-3d8c7752]{width:660px;height:574px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;background-color:var(--setting-dialog-bg-color);border-radius:var(--setting-dialog)}.setting-dialog .dialog-tabs[data-v-3d8c7752]{width:194px;height:574px;background-color:var(--dialog-tabs-bg-color);border-radius:var(--setting-dialog)}.setting-dialog .dialog-tabs .dialog-title[data-v-3d8c7752]{display:inline-block;font-weight:500;font-size:20px;line-height:24px;color:var(--tabs-title-font-color);margin:32px 0 20px 32px}.setting-dialog .dialog-tabs .tabs-title[data-v-3d8c7752]{width:100%;height:36px;padding-left:32px;margin-bottom:10px;font-weight:400;font-size:14px;color:var(--tabs-title-font-color);line-height:36px;position:relative;cursor:pointer}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]{background-color:var(--create-room-option);color:var(--create-room-option-color);font-weight:500}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]:before{content:"";display:block;position:absolute;left:0;top:0;width:2px;height:36px;background:var(--create-room-option-tab)}.setting-dialog .dialog-tabs .tabs-title.active[data-v-3d8c7752]:after{content:"";display:block;position:absolute;left:0;top:0;width:23px;height:36px;opacity:.59;background:var(--active-blur-background-color);filter:blur(16px)}.setting-dialog .divide-line[data-v-3d8c7752]{width:1px;height:100%;background:var(--divide-line-color-setting)}.setting-dialog .dialog-content[data-v-3d8c7752]{flex-grow:1;padding:32px}.setting-dialog .close-icon[data-v-3d8c7752]{position:absolute;top:20px;right:20px;cursor:pointer}.tui-room :not([class|=el]){transition:background-color .5s,color .5s}.tui-room[data-v-7c957b1c]{width:100%;height:100%;position:relative}.tui-room .header[data-v-7c957b1c]{width:100%;height:48px;background-color:var(--room-header-bg-color);position:absolute;top:0;left:0;z-index:100}.tui-room .content[data-v-7c957b1c]{width:100%;height:100%;background-color:#0d0f15;position:absolute;top:0}.tui-room .footer[data-v-7c957b1c]{position:absolute;bottom:0;width:100%;height:80px;background-color:var(--room-footer-bg-color)}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#b3b8c8;position:relative;width:100%;height:100%} \ No newline at end of file diff --git a/Miniapp-H5/dist/index.html b/Miniapp-H5/dist/index.html index c5c117f..a1f3e36 100644 --- a/Miniapp-H5/dist/index.html +++ b/Miniapp-H5/dist/index.html @@ -1 +1 @@ -room-uikit-web-vue2
\ No newline at end of file +room-uikit-web-vue2
\ No newline at end of file diff --git a/Miniapp-H5/dist/js/about.65dec066.js b/Miniapp-H5/dist/js/about.345afdd2.js similarity index 99% rename from Miniapp-H5/dist/js/about.65dec066.js rename to Miniapp-H5/dist/js/about.345afdd2.js index 41d452e..442b4d7 100644 --- a/Miniapp-H5/dist/js/about.65dec066.js +++ b/Miniapp-H5/dist/js/about.345afdd2.js @@ -1,2 +1,2 @@ -"use strict";(self["webpackChunkroom_uikit_web_vue2"]=self["webpackChunkroom_uikit_web_vue2"]||[]).push([[443],{1833:function(e,t,o){o.r(t),o.d(t,{default:function(){return Di}});var n=function(){var e=this,t=e._self._c;return t("room-container",{ref:"TUIRoomRef",on:{"on-log-out":e.handleLogOut,"on-create-room":e.onCreateRoom,"on-enter-room":e.onEnterRoom,"on-exit-room":e.onExitRoom,"on-destroy-room":e.onDestroyRoom,"on-kicked-out-of-room":e.onKickedOutOfRoom,"on-kick-off-line":e.onKickedOffLine,"on-user-sig-expired":e.onUserSigExpired}})},a=[],s=(o(7658),function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{ref:"roomRef",staticClass:"tui-room",attrs:{id:"roomContainer"}},[t(o.RoomHeader,{directives:[{name:"show",rawName:"v-show",value:o.showRoomTool&&o.showHeaderTool,expression:"showRoomTool && showHeaderTool"}],staticClass:"header",on:{"log-out":o.logOut,"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}}),t(o.RoomContent,{directives:[{name:"tap",rawName:"v-tap",value:o.handleRoomContentTap,expression:"handleRoomContentTap"}],ref:"roomContentRef",staticClass:"content",attrs:{"show-room-tool":o.showRoomTool}}),t(o.RoomFooter,{directives:[{name:"show",rawName:"v-show",value:o.showRoomTool,expression:"showRoomTool"}],staticClass:"footer",on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}}),t(o.RoomSidebar),t(o.RoomSetting)],1)}),i=[],r=o(6369),l=o(3235),c=o(1020),u=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"header"},[t("div",{staticClass:"header-container"},[t("div",{staticClass:"icon-box"},[t(o.SwitchCamera),t(o.SwitchMirror)],1),t(o.RoomInfo),t(o.EndControl,{on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}})],1)])},m=[],d=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"end-control-container"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:o.stopMeeting,expression:"stopMeeting"}],staticClass:"end-button",attrs:{tabindex:"1"}},[e._v(e._s(o.t("EndH5")))])]),o.visible?t("div",{staticClass:"end-main-content"},[t("div",{class:o.isShowLeaveRoomDialog?"end-dialog-leave":"end-dialog-dismiss"},[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("div",{staticClass:"end-dialog-header"},[o.roomStore.isMaster?t("span",{staticClass:"end-dialog-text"},[e._v(" "+e._s(o.t("If you do not want to end the meeting, please designate a new host before leaving the meeting."))+" ")]):t("span",[e._v(e._s(o.t("Are you sure you want to leave this room?")))])]):e._e()]):e._e(),o.currentDialogType===o.DialogType.BasicDialog?t("div",{staticClass:"dialog-middle-content"},[o.roomStore.isMaster?t("span",{class:o.isShowLeaveRoomDialog?"end-button-dismiss":"end-button-dismiss-single",on:{click:function(e){return e.stopPropagation(),o.dismissRoom.apply(null,arguments)}}},[e._v(" "+e._s(o.t("Dismiss"))+" ")]):e._e(),o.isShowLeaveRoomDialog?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.leaveRoom,expression:"leaveRoom"}],class:o.roomStore.isMaster?"end-button-leave":"end-button-leave-single"},[e._v(" "+e._s(o.t("Leave"))+" ")]):e._e(),t("span",{staticClass:"end-button-cancel",on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])]):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("span",{staticClass:"end-button-cancel",on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])]):e._e()])]):e._e(),t(o.popup,{directives:[{name:"show",rawName:"v-show",value:o.showSideBar,expression:"showSideBar"}],staticClass:"transfer-container",attrs:{title:o.t("Appoint a new host")},scopedSlots:e._u([{key:"sidebarContent",fn:function(){return[t("div",{staticStyle:{height:"100%"}},[t("div",[t("div",{staticClass:"transfer-header"},[t("input",{directives:[{name:"model",rawName:"v-model",value:o.searchName,expression:"searchName"}],staticClass:"searching-input",attrs:{type:"text",placeholder:o.t("Search for conference attendees"),enterkeyhint:"done"},domProps:{value:o.searchName},on:{input:function(e){e.target.composing||(o.searchName=e.target.value)}}})]),t("div",{staticClass:"transfer-body"},[e._l(o.filteredList,(function(n){return t("div",{key:n.userId,staticClass:"transfer-list-content",on:{click:function(e){return o.handleShowMemberControl(n.userId)}}},[t("div",{staticClass:"member-basic-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":n.avatarUrl}}),t("div",{staticClass:"user-name"},[e._v(e._s(n.userName||n.userId))]),o.selectedUser===n.userId?t(o.SvgIcon,{staticClass:"correct",attrs:{"icon-name":"correct",size:"custom"}}):e._e()],1)])})),o.hasNoData?t("div",{staticClass:"member-hasNoData"},[e._v(e._s(o.t("No relevant user found.")))]):e._e()],2)])])]},proxy:!0},{key:"sidebarFooter",fn:function(){return[t("div",{staticClass:"transfer-leave",on:{click:o.transferAndLeave}},[t("span",{staticClass:"transfer-button"},[e._v(e._s(o.t("Transfer and leave")))])])]},proxy:!0}])})],1)},p=[],v=o(452),f=o.n(v),g=o(251),h=o(4990),C=o(7357),_=o(3681),I=o(6419);function S(){const{t:e}=(0,C.Q)();let t;(function(e){e[e["BasicDialog"]=0]="BasicDialog",e[e["TransferDialog"]=1]="TransferDialog"})(t||(t={}));const o=(0,r.ref)(t.BasicDialog),n="[EndControl]",a=(0,_.Z)(),s=(0,r.ref)(!1),i=(0,g.o)();I.Z.log(`${n} basicStore:`,i);const l=(0,h.A)(),{localUser:u,remoteAnchorList:m}=(0,c.Jk)(l),d=(0,r.computed)((()=>o.value===t.BasicDialog?e("Leave room?"):e("Select a new host"))),p=(0,r.computed)((()=>l.isMaster&&m.value.length>0||!l.isMaster)),{isSidebarOpen:v,sidebarName:f}=(0,c.Jk)(i),S=(0,r.computed)((()=>v.value&&"transfer-leave"===f.value)),y=(0,r.ref)(""),R=(0,r.ref)(!1),T=(0,r.ref)(""),b=(0,r.computed)((()=>m.value.filter((e=>e.userId.includes(T.value)||e.userName?.includes(T.value))))),M=(0,r.computed)((()=>0===b.value.length));function w(){if(i.setSidebarOpenStatus&&"transfer-leave"===f.value)return i.setSidebarOpenStatus(!1),void i.setSidebarName("");i.setSidebarOpenStatus(!0),i.setSidebarName("transfer-leave")}function k(e){y.value=e}function U(){s.value=!1,o.value=t.BasicDialog}function A(){s.value||(s.value=!0)}function x(){U()}async function L(){u.value.hasAudioStream&&await(a.instance?.closeLocalMicrophone()),u.value.hasVideoStream&&await(a.instance?.closeLocalCamera())}return{t:e,basicStore:i,isShowLeaveRoomDialog:p,roomStore:l,roomEngine:a,localUser:u,remoteAnchorList:m,stopMeeting:A,cancel:x,selectedUser:y,DialogType:t,logPrefix:n,title:d,currentDialogType:o,visible:s,closeMediaBeforeLeave:L,resetState:U,searchName:T,hasNoData:M,handleShowMemberControl:k,filteredList:b,toggleMangeMemberSidebar:w,showTransfer:R,sidebarName:f,showSideBar:S}}var y=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"popup-container"},[t("div",{staticClass:"popup-main-header"},[t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleClose,expression:"handleClose"}],staticClass:"icon-container"},[t(o.SvgIcon,{staticClass:"close-icon",attrs:{size:"custom","icon-name":"close-back"}})],1),t("span",{staticClass:"sidebar-title"},[e._v(e._s(e.title))])]),t("div",{staticClass:"popup-main-content"},[e._t("sidebarContent")],2),t("div",{staticClass:"popup-main-footer"},[e._t("sidebarFooter")],2)])},R=[],T=o(6316),b=(o(5175),(0,r.defineComponent)({__name:"PopUpH5",props:{title:null},setup(e){const t=(0,g.o)();function o(){t.setSidebarOpenStatus(!1),t.setSidebarName("")}return{__sfc:!0,basicStore:t,handleClose:o,SvgIcon:T.Z}}})),M=b,w=o(3736),k=(0,w.Z)(M,y,R,!1,null,"4069d388",null),U=k.exports,A=o(9225),x=(0,r.defineComponent)({__name:"EndControlH5",emits:["on-exit-room","on-destroy-room"],setup(e,{emit:t}){const{t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,stopMeeting:u,cancel:m,DialogType:d,logPrefix:p,currentDialogType:g,visible:h,closeMediaBeforeLeave:C,resetState:_,toggleMangeMemberSidebar:y,searchName:R,hasNoData:b,handleShowMemberControl:M,filteredList:w,selectedUser:k,showSideBar:x}=S();async function L(){try{I.Z.log(`${p}dismissRoom: enter`),await C(),await(i.instance?.destroyRoom()),_(),t("on-destroy-room",{code:0,message:""})}catch(e){I.Z.error(`${p}dismissRoom error:`,e)}}async function E(){try{if(a.isMaster)return y(),void _();await C();const e=await(i.instance?.exitRoom());I.Z.log(`${p}leaveRoom:`,e),_(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${p}leaveRoom error:`,e)}}async function D(){if(k.value)try{const e=k.value,o=await(i.instance?.changeUserRole({userId:e,userRole:v.TUIRole.kRoomOwner}));I.Z.log(`${p}transferAndLeave:`,o),await C();const n=await(i.instance?.exitRoom());I.Z.log(`${p}exitRoom:`,n),s.setSidebarOpenStatus(!1),s.setSidebarName(""),_(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${p}transferAndLeave error:`,e)}}const N=async e=>{try{const{roomId:n}=e;I.Z.log(`${p}onRoomDismissed:`,n),l.T.alert(o("The host closed the room."),o("Note"),{customClass:"custom-element-class",confirmButtonText:o("Confirm"),appendTo:"#roomContainer",callback:async()=>{_(),t("on-destroy-room",{code:0,message:""})}})}catch(n){I.Z.error(`${p}onRoomDestroyed error:`,n)}},O=async e=>{if(e.userRole===v.TUIRole.kRoomOwner){const{userId:t}=e;let n=a.getUserName(t)||t;t===c.value.userId&&(n=o("me"));const s=`${o("Moderator changed to ")}${n}`;if((0,l.z)({type:"success",message:s}),a.localUser.userId===t?a.setLocalUser({userRole:v.TUIRole.kRoomOwner}):a.setRemoteUserRole(t,v.TUIRole.kRoomOwner),a.setMasterUserId(t),_(),a.isAnchor)return;a.isSpeakAfterTakingSeatMode&&await(i.instance?.takeSeat({seatIndex:-1,timeout:0}))}};return f().once("ready",(()=>{i.instance?.on(v.TUIRoomEvents.onRoomDismissed,N),i.instance?.on(v.TUIRoomEvents.onUserRoleChanged,O)})),(0,r.onUnmounted)((()=>{i.instance?.off(v.TUIRoomEvents.onRoomDismissed,N),i.instance?.off(v.TUIRoomEvents.onUserRoleChanged,O)})),{__sfc:!0,t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,stopMeeting:u,cancel:m,DialogType:d,logPrefix:p,currentDialogType:g,visible:h,closeMediaBeforeLeave:C,resetState:_,toggleMangeMemberSidebar:y,searchName:R,hasNoData:b,handleShowMemberControl:M,filteredList:w,selectedUser:k,showSideBar:x,emit:t,dismissRoom:L,leaveRoom:E,transferAndLeave:D,onRoomDismissed:N,onUserRoleChanged:O,popup:U,SvgIcon:T.Z,Avatar:A.Z}}}),L=x,E=(0,w.Z)(L,d,p,!1,null,"12377224",null),D=E.exports,N=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"end-control-container"},[t("div",{staticClass:"end-button",attrs:{tabindex:"1"},on:{click:o.stopMeeting}},[e._v(e._s(o.t("EndPC")))]),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.visible,title:o.title,modal:!0,"append-to-body":!1,width:"420px","before-close":o.cancel,"close-on-click-modal":!0},scopedSlots:e._u([{key:"footer",fn:function(){return[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("el-button",{attrs:{type:"primary"},on:{click:function(e){return e.stopPropagation(),o.dismissRoom.apply(null,arguments)}}},[e._v(" "+e._s(o.t("Dismiss"))+" ")]):e._e(),o.isShowLeaveRoomDialog?t("el-button",{attrs:{type:"primary"},on:{click:o.leaveRoom}},[e._v(e._s(o.t("Leave")))]):e._e(),t("el-button",{on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])],1):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("el-button",{attrs:{type:"primary"},on:{click:o.transferAndLeave}},[e._v(e._s(o.t("Transfer and leave")))]),t("el-button",{on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])],1):e._e()]},proxy:!0}])},[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("span",[e._v(" "+e._s(o.t('You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.'))+" ")]):t("span",[e._v(e._s(o.t("Are you sure you want to leave this room?")))])]):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("div",[e._v(e._s(o.t("New host")))]),t("div",[t("el-select",{attrs:{teleported:!1,"popper-append-to-body":!1},model:{value:o.selectedUser,callback:function(e){o.selectedUser=e},expression:"selectedUser"}},e._l(o.remoteAnchorList,(function(e){return t("el-option",{key:e.userId,attrs:{value:e.userId,label:e.userName}})})),1)],1)]):e._e()])],1)},O=[],Z=o(5266),j=(0,r.defineComponent)({__name:"EndControlPC",emits:["on-exit-room","on-destroy-room"],setup(e,{emit:t}){const{t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,remoteAnchorList:u,stopMeeting:m,cancel:d,selectedUser:p,DialogType:g,logPrefix:h,title:C,currentDialogType:_,visible:y,closeMediaBeforeLeave:R,resetState:T}=S();async function b(){try{I.Z.log(`${h}dismissRoom: enter`),await R(),await(i.instance?.destroyRoom()),T(),t("on-destroy-room",{code:0,message:""})}catch(e){I.Z.error(`${h}dismissRoom error:`,e)}}async function M(){try{if(a.isMaster)return void(_.value=g.TransferDialog);await R();const e=await(i.instance?.exitRoom());I.Z.log(`${h}leaveRoom:`,e),T(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${h}leaveRoom error:`,e)}}async function w(){if(p.value)try{const e=p.value,o=await(i.instance?.changeUserRole({userId:e,userRole:v.TUIRole.kRoomOwner}));I.Z.log(`${h}transferAndLeave:`,o),await R();const n=await(i.instance?.exitRoom());I.Z.log(`${h}exitRoom:`,n),s.setSidebarOpenStatus(!1),s.setSidebarName(""),T(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${h}transferAndLeave error:`,e)}}const k=async e=>{try{const{roomId:n}=e;I.Z.log(`${h}onRoomDismissed:`,n),l.T.alert(o("The host closed the room."),o("Note"),{customClass:"custom-element-class",confirmButtonText:o("Confirm"),appendTo:"#roomContainer",callback:async()=>{T(),t("on-destroy-room",{code:0,message:""})}})}catch(n){I.Z.error(`${h}onRoomDestroyed error:`,n)}},U=async e=>{if(e.userRole===v.TUIRole.kRoomOwner){const{userId:t}=e;let n=a.getUserName(t)||t;t===c.value.userId&&(n=o("me"));const s=`${o("Moderator changed to ")}${n}`;if((0,l.z)({type:"success",message:s}),a.localUser.userId===t?a.setLocalUser({userRole:v.TUIRole.kRoomOwner}):a.setRemoteUserRole(t,v.TUIRole.kRoomOwner),a.setMasterUserId(t),T(),a.isAnchor)return;a.isSpeakAfterTakingSeatMode&&await(i.instance?.takeSeat({seatIndex:-1,timeout:0}))}};return f().once("ready",(()=>{i.instance?.on(v.TUIRoomEvents.onRoomDismissed,k),i.instance?.on(v.TUIRoomEvents.onUserRoleChanged,U)})),(0,r.onUnmounted)((()=>{i.instance?.off(v.TUIRoomEvents.onRoomDismissed,k),i.instance?.off(v.TUIRoomEvents.onUserRoleChanged,U)})),{__sfc:!0,t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,remoteAnchorList:u,stopMeeting:m,cancel:d,selectedUser:p,DialogType:g,logPrefix:h,title:C,currentDialogType:_,visible:y,closeMediaBeforeLeave:R,resetState:T,emit:t,dismissRoom:b,leaveRoom:M,transferAndLeave:w,onRoomDismissed:k,onUserRoleChanged:U,Dialog:Z.Z}}}),V=j,q=(0,w.Z)(V,N,O,!1,null,"bcdd5c40",null),P=q.exports,$=o(2843);const B=$.t?D:P;var F=B,H=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"camera-icon"},[t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:o.handleSwitchCamera,expression:"handleSwitchCamera"}],attrs:{"icon-name":"camera",size:"custom","custom-style":{backgroundSize:"50%"}}})],1)},z=[],Q=(0,r.defineComponent)({__name:"SwitchCamera",setup(e){const t=(0,g.o)(),{isFrontCamera:o}=(0,c.Jk)(t),n=(0,_.Z)();async function a(){await(n.instance?.switchCamera({isFrontCamera:!o.value})),t.setIsFrontCamera(!o.value)}return{__sfc:!0,basicStore:t,isFrontCamera:o,roomEngine:n,handleSwitchCamera:a,SvgIcon:T.Z}}}),J=Q,W=(0,w.Z)(J,H,z,!1,null,"190ccb04",null),G=W.exports,K=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"mirror-icon"},[t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:o.toogleMirrorStatus,expression:"toogleMirrorStatus"}],attrs:{"icon-name":"mirror",size:"custom","custom-style":{backgroundSize:"50%"}}})],1)},Y=[],X=(0,r.defineComponent)({__name:"SwitchMirror",setup(e){const t=(0,_.Z)(),o=(0,g.o)();function n(){const e=t.instance?.getTRTCCloud();e?.setLocalRenderParams({mirrorType:o.isLocalStreamMirror?v.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}),o.setIsLocalStreamMirror(o.isLocalStreamMirror),o.isLocalStreamMirror=!o.isLocalStreamMirror}return{__sfc:!0,roomEngine:t,basicStore:o,toogleMirrorStatus:n,SvgIcon:T.Z}}}),ee=X,te=(0,w.Z)(ee,K,Y,!1,null,"9a54a9ea",null),oe=te.exports,ne=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"conference-container"},[o.isShowRoomInfoTitle?t("div",{on:{click:o.toggleShowRoomInfoStatus}},[t("div",{staticClass:"title-container"},[t("span",{staticClass:"text"},[e._v(e._s(o.conferenceTitle))]),t("span",{staticClass:"chevron-down-container"},[t(o.SvgIcon,{staticClass:"chevron-down-icon",attrs:{size:"custom","icon-name":"chevron-down"}})],1)])]):e._e(),o.isShowRoomInfo?t("div",{staticClass:"roomInfo-container"},[t("div",{ref:"roomInfoRef",staticClass:"roomInfo-container-main"},[t("div",{staticClass:"roomInfo-title"},[t("span",{staticClass:"master-header"},[e._v(e._s(o.conferenceTitle))]),t("span",{staticClass:"cancel",on:{click:o.handleHiddenRoomInfo}},[e._v(e._s(o.t("Cancel")))])]),t("div",{staticClass:"roomInfo-middle"},[t("div",{staticClass:"roomInfo-role"},[t("span",[e._v(e._s(o.t("Host")))]),t("span",{staticClass:"text-right"},[e._v(e._s(o.masterUserName))])]),t("div",{staticClass:"roomInfo-roomMode"},[t("span",{staticClass:"middle-left"},[e._v(e._s(o.t("Room Type")))]),t("span",{staticClass:"text-type"},[e._v(e._s(o.roomType))])]),t("div",{staticClass:"roomInfo-roomID"},[t("span",{staticClass:"middle-left"},[e._v(e._s(o.t("Room ID")))]),t("span",{staticClass:"text-right"},[e._v(e._s(o.roomId))]),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"},on:{click:function(e){return o.onCopy(o.roomId)}}})],1),o.isWeChat?e._e():t("div",{staticClass:"roomInfo-roomID"},[t("span",[e._v(e._s(o.t("Room Link")))]),t("span",{staticClass:"link"},[e._v(e._s(o.inviteLink))]),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.inviteLink)}}})],1)]),o.isWeChat?e._e():t("div",{staticClass:"roomInfo-bottom"},[t("span",[e._v(e._s(o.t("You can share the room number or link to invite more people to join the room.")))])])])]):e._e()])},ae=[],se=o(4237),ie=(0,r.defineComponent)({__name:"RoomInfo",setup(e){const t=(0,g.o)(),o=(0,h.A)(),{roomId:n}=(0,c.Jk)(t),{masterUserId:a}=(0,c.Jk)(o),{t:s}=(0,C.Q)(),i=(0,r.ref)(),u=(0,r.ref)(!1),m=(0,r.computed)((()=>o.isFreeSpeakMode?s("Free Speech Room"):s("Raise Hand Room"))),{origin:d,pathname:p}=location||{},v=(0,r.computed)((()=>`${d}${p}#/home?roomId=${n.value}`)),f=(0,r.computed)((()=>o.getUserName(a.value)||a.value)),_=(0,r.computed)((()=>f.value)),I=(0,r.computed)((()=>`${f.value}${s("video conferencing")}`));function S(){u.value=!u.value}async function y(e){try{await(0,se.jO)(e),(0,l.z)({message:s("Copied successfully"),type:"success"})}catch(t){(0,l.z)({message:s("Copied failure"),type:"error"})}}function R(e){u.value&&!i.value.contains(e.target)&&(u.value=!1)}function b(){u.value=!1}return(0,r.onMounted)((()=>{document?.addEventListener("click",R,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",R,!0)})),{__sfc:!0,basicStore:t,roomStore:o,roomId:n,masterUserId:a,t:s,roomInfoRef:i,isShowRoomInfo:u,roomType:m,origin:d,pathname:p,inviteLink:v,masterUserName:f,isShowRoomInfoTitle:_,conferenceTitle:I,toggleShowRoomInfoStatus:S,onCopy:y,handleDocumentClick:R,handleHiddenRoomInfo:b,SvgIcon:T.Z,isWeChat:$.e}}}),re=ie,le=(0,w.Z)(re,ne,ae,!1,null,"543146aa",null),ce=le.exports,ue=o(7327);const me="file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname,de="web.sdk.qcloud.com"===location.host,pe=me||de,ve=de,fe="iHWefAYqCFrCVqqyIZ",ge="TUIRoomKit-Web-vue2";let he;const Ce=document.createElement("script");Ce.type="text/javascript",Ce.src="https://cdn-go.cn/aegis/aegis-sdk/latest/aegis.min.js",document.getElementsByTagName("head")[0].appendChild(Ce),Ce.onload=()=>{he=new Aegis({id:fe,uin:"",reportApiSpeed:!0,reportAssetSpeed:!0,spa:!0}),Ie.storedReportEventList&&Ie.storedReportEventList.forEach((e=>{he.reportEvent(e)}))};class _e{constructor(){(0,ue.Z)(this,"sdkAppId",0),(0,ue.Z)(this,"projectName",ge),(0,ue.Z)(this,"isUploadLoaded",pe),(0,ue.Z)(this,"isUploadDetailEvent",ve),(0,ue.Z)(this,"hasUploadedEventList",[]),(0,ue.Z)(this,"storedReportEventList",[])}setSdkAppId(e){this.sdkAppId=e}reportEvent(e){if(!this.isUploadLoaded)return;const{name:t,ext1:o}=e;if(this.isUploadDetailEvent||"loaded"===t){const n={...e,ext2:this.projectName,ext3:this.sdkAppId};he?this.hasUploadedEventList.indexOf(`${t}_${o}`)<0&&(this.hasUploadedEventList.push(`${t}_${o}`),he.reportEvent(n)):this.storedReportEventList.push(n)}}}const Ie=new _e;var Se=Ie,ye=(0,r.defineComponent)({__name:"index",emits:["log-out","on-destroy-room","on-exit-room"],setup(e,{emit:t}){const o=e=>{t("on-destroy-room",e),Se.reportEvent({name:"destroyRoom",ext1:"destroyRoom-success"})},n=e=>{t("on-exit-room",e),Se.reportEvent({name:"exitRoom",ext1:"exitRoom-success"})};return{__sfc:!0,emit:t,onDestroyRoom:o,onExitRoom:n,EndControl:F,SwitchCamera:G,SwitchMirror:oe,RoomInfo:ce}}}),Re=ye,Te=(0,w.Z)(Re,u,m,!1,null,"1262e4e7",null),be=Te.exports,Me=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"header-container"},[t("div",{staticClass:"left-container"},[t(o.UserInfo,{directives:[{name:"show",rawName:"v-show",value:e.showHeaderInfo,expression:"showHeaderInfo"}],staticClass:"header-item user-info",attrs:{"user-id":o.userId,"user-name":o.userName,"avatar-url":o.avatarUrl},on:{"log-out":function(t){return e.$emit("log-out")}}}),t(o.Language,{directives:[{name:"show",rawName:"v-show",value:e.showHeaderInfo,expression:"showHeaderInfo"}],staticClass:"header-item language"}),t(o.SwitchTheme,{staticClass:"header-item theme"})],1),t("div",{staticClass:"right-container"},[t(o.LayoutControl,{staticClass:"right-container-item"})],1)])},we=[],ke=o(9643),Ue=o(9139),Ae=o(7698),xe=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.streamNumber>1?t("div",{staticClass:"layout-container"},[t(o.SvgIcon,{staticClass:"layout-icon",attrs:{"icon-name":"layout",size:"medium"},on:{click:function(e){return e.stopPropagation(),o.handleClickLayoutIcon.apply(null,arguments)}}}),o.showLayoutList?t("div",{ref:"layoutList",staticClass:"layout-list"},[t("div",{class:["layout1","layout-item",""+(o.layout===o.LAYOUT.NINE_EQUAL_POINTS?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.NINE_EQUAL_POINTS)}}},[t("div",{staticClass:"layout-block-container"},e._l(new Array(9).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Grid")))])]),t("div",{class:["layout2","layout-item",""+(o.layout===o.LAYOUT.RIGHT_SIDE_LIST?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.RIGHT_SIDE_LIST)}}},[t("div",{staticClass:"layout-block-container"},[t("div",{staticClass:"left-container"}),t("div",{staticClass:"right-container"},e._l(new Array(4).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0)]),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Gallery on right")))])]),t("div",{class:["layout3","layout-item",""+(o.layout===o.LAYOUT.TOP_SIDE_LIST?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.TOP_SIDE_LIST)}}},[t("div",{staticClass:"layout-block-container"},[t("div",{staticClass:"top-container"},e._l(new Array(4).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0),t("div",{staticClass:"bottom-container"})]),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Gallery at top")))])])]):e._e()],1):e._e()},Le=[],Ee=o(3927),De=(0,r.defineComponent)({__name:"LayoutControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{layout:n}=(0,c.Jk)(o),a=(0,h.A)(),{streamNumber:s}=(0,c.Jk)(a),i=(0,r.ref)(!1),l=(0,r.ref)(null);function u(e){o.setLayout(e),Se.reportEvent({name:"layout",ext1:e})}function m(){i.value?(document.removeEventListener("click",d,!1),i.value=!1):(i.value=!0,document.addEventListener("click",d,!1))}function d(e){i.value&&l.value&&!l.value.contains(e.target)&&(document.removeEventListener("click",d),i.value=!1)}return{__sfc:!0,t:t,basicStore:o,layout:n,roomStore:a,streamNumber:s,showLayoutList:i,layoutList:l,handleClick:u,handleClickLayoutIcon:m,handleDocumentClick:d,SvgIcon:T.Z,LAYOUT:Ee._}}}),Ne=De,Oe=(0,w.Z)(Ne,xe,Le,!1,null,"7b3fd23b",null),Ze=Oe.exports,je=(0,r.defineComponent)({__name:"index",props:{showHeaderInfo:{type:Boolean,default:!0}},emits:["log-out"],setup(e){const t=(0,g.o)(),{userId:o,userName:n,avatarUrl:a}=(0,c.Jk)(t);return{__sfc:!0,basicStore:t,userId:o,userName:n,avatarUrl:a,UserInfo:ke.Z,Language:Ue.Z,SwitchTheme:Ae.Z,LayoutControl:Ze}}}),Ve=je,qe=(0,w.Z)(Ve,Me,we,!1,null,"20e9e128",null),Pe=qe.exports;const $e=$.t?be:Pe;var Be=$e,Fe=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"left-container"},[t(o.AudioControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("audioControl"),expression:"() => handleControlClick('audioControl')"}]}),t(o.VideoControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("videoControl"),expression:"() => handleControlClick('videoControl')"}]}),o.roomStore.isSpeakAfterTakingSeatMode?t(o.ApplyControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("applyControl"),expression:"() => handleControlClick('applyControl')"}]}):t(o.ChatControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("chatControl"),expression:"() => handleControlClick('chatControl')"}]}),o.roomStore.isMaster?t(o.ManageMemberControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("manageMemberControl"),expression:"() => handleControlClick('manageMemberControl')"}]}):e._e(),t(o.MoreControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("moreControl"),expression:"() => handleControlClick('moreControl')"}]})],1)])},He=[],ze=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"audio-control-container",on:{click:function(e){return o.emits("click")}}},[t(o.IconButton,{ref:"audioIconButtonRef",attrs:{"is-active":!o.localStream.hasAudioStream,title:o.t("Mic"),"has-more":o.hasMore,"show-more":o.showAudioSettingTab,disabled:o.isLocalAudioIconDisable},on:{"click-icon":o.toggleMuteAudio,"click-more":o.handleMore}},[t(o.AudioIcon,{attrs:{"audio-volume":o.localStream.audioVolume,"is-muted":!o.localStream.hasAudioStream,"is-disabled":o.isLocalAudioIconDisable}})],1),t(o.AudioSettingTab,{directives:[{name:"show",rawName:"v-show",value:o.showAudioSettingTab,expression:"showAudioSettingTab"}],ref:"audioSettingRef",staticClass:"audio-tab"})],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showRequestOpenMicDialog,title:o.title,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:o.handleReject}},[e._v(e._s(o.t("Keep it closed")))]),t("span",{staticClass:"agree",on:{click:o.handleAccept}},[e._v(e._s(o.t("Turn on the microphone")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("The host invites you to turn on the microphone"))+" ")])])],1)},Qe=[],Je=o(2097),We=o(3929),Ge=o(1342),Ke=o(6897),Ye=(0,r.defineComponent)({__name:"AudioControl",emits:["click"],setup(e,{emit:t}){const o=(0,_.Z)(),n=(0,h.A)(),{isAudience:a,localStream:s,isLocalAudioIconDisable:i,isMicrophoneDisableForAllUser:u}=(0,c.Jk)(n),m=(0,r.computed)((()=>!$.t)),d=(0,r.ref)(!1),p=(0,r.ref)(),g=(0,r.ref)(),{t:I}=(0,C.Q)(),S=(0,r.computed)((()=>$.t?"":I("Tips")));async function y(){if(i.value){let e="";return u.value?e=Ke.B.UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL:a.value&&(e=Ke.B.UNMUTE_LOCAL_MIC_FAIL_AUDIENCE),void(0,l.z)({type:"warning",message:I(e),duration:Ke.U.NORMAL})}if(s.value.hasAudioStream)await(o.instance?.closeLocalMicrophone()),n.isMicrophoneDisableForAllUser&&n.setCanControlSelfAudio(!1);else{const e=await(o.instance?.getMicDevicesList()),t=e.length>0;if(!t&&!$.e)return void l.T.alert(I("Microphone not detected on current device."),I("Note"),{customClass:"custom-element-class",confirmButtonText:I("Confirm")});await(o.instance?.openLocalMicrophone())}d.value=!1}function R(){d.value?d.value=!1:d.value=!0}function T(e){!d.value||p.value?.$el.contains(e.target)||g.value?.$el.contains(e.target)||(d.value=!1)}const b=(0,r.ref)(!1),M=(0,r.ref)("");async function w(e){const{requestAction:t,requestId:o}=e.request;t===v.TUIRequestAction.kRequestToOpenRemoteMicrophone&&(M.value=o,b.value=!0)}async function k(){n.setCanControlSelfAudio(!0),await(o.instance?.responseRemoteRequest({requestId:M.value,agree:!0})),M.value="",b.value=!1}async function U(){await(o.instance?.responseRemoteRequest({requestId:M.value,agree:!1})),M.value="",b.value=!1}async function A(e){const{requestId:t}=e;M.value===t&&(b.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",T,!0)})),f().once("ready",(()=>{o.instance?.on(v.TUIRoomEvents.onRequestReceived,w),o.instance?.on(v.TUIRoomEvents.onRequestCancelled,A)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",T,!0),o.instance?.off(v.TUIRoomEvents.onRequestReceived,w),o.instance?.off(v.TUIRoomEvents.onRequestCancelled,A)})),{__sfc:!0,roomEngine:o,roomStore:n,isAudience:a,localStream:s,isLocalAudioIconDisable:i,isMicrophoneDisableForAllUser:u,emits:t,hasMore:m,showAudioSettingTab:d,audioIconButtonRef:p,audioSettingRef:g,t:I,title:S,toggleMuteAudio:y,handleMore:R,handleDocumentClick:T,showRequestOpenMicDialog:b,requestOpenMicRequestId:M,onRequestReceived:w,handleAccept:k,handleReject:U,onRequestCancelled:A,Dialog:Z.Z,IconButton:Je.Z,AudioSettingTab:We.Z,AudioIcon:Ge.Z,isMobile:$.t}}}),Xe=Ye,et=(0,w.Z)(Xe,ze,Qe,!1,null,"357aa832",null),tt=et.exports,ot=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"video-control-container",on:{click:function(e){return o.emits("click")}}},[t(o.IconButton,{ref:"videoIconButtonRef",attrs:{"is-active":!o.localStream.hasVideoStream,title:o.t("Camera"),"icon-name":o.iconName,"has-more":o.hasMore,disabled:o.isLocalVideoIconDisable},on:{"click-icon":o.toggleMuteVideo,"click-more":o.handleMore}}),t(o.VideoSettingTab,{directives:[{name:"show",rawName:"v-show",value:o.showVideoSettingTab,expression:"showVideoSettingTab"}],ref:"videoSettingRef",staticClass:"video-tab"})],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showRequestOpenCameraDialog,title:o.title,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:o.handleReject}},[e._v(e._s(o.t("Keep it closed")))]),t("span",{staticClass:"agree",on:{click:o.handleAccept}},[e._v(e._s(o.t("Turn on the camera")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("The host invites you to turn on the camera"))+" ")])])],1)},nt=[],at=o(8283),st=o(6671),it=(0,r.defineComponent)({__name:"VideoControl",emits:["click"],setup(e,{emit:t}){const o=(0,_.Z)(),n=(0,h.A)(),a=(0,g.o)(),s=(0,r.ref)(a.isFrontCamera),{isCameraDisableForAllUser:i,isAudience:u,localStream:m,isLocalVideoIconDisable:d}=(0,c.Jk)(n),{t:p}=(0,C.Q)(),I=(0,r.computed)((()=>!$.t)),S=(0,r.ref)(!1),y=(0,r.ref)(),R=(0,r.ref)(),T=(0,r.computed)((()=>$.t?"":p("Tips"))),b=(0,r.computed)((()=>d.value?st.Z.CameraOffDisabled:m.value.hasVideoStream?st.Z.CameraOn:st.Z.CameraOff));async function M(){if(d.value){let e="";return i.value?e=Ke.B.UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL:u.value&&(e=Ke.B.UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE),void(0,l.z)({type:"warning",message:p(e),duration:Ke.U.NORMAL})}if(m.value.hasVideoStream)await(o.instance?.closeLocalCamera()),n.isCameraDisableForAllUser&&n.setCanControlSelfVideo(!1);else{const e=await(o.instance?.getCameraDevicesList()),t=e.length>0;if(!t&&!$.e)return void l.T.alert(p("Camera not detected on current device"),p("Note"),{customClass:"custom-element-class",confirmButtonText:p("Confirm")});o.instance?.setLocalVideoView({view:`${n.localStream.userId}_${n.localStream.streamType}`,streamType:v.TUIVideoStreamType.kCameraStream}),$.t?await(o.instance?.openLocalCamera({isFrontCamera:s.value})):await(o.instance?.openLocalCamera())}S.value=!1}function w(){S.value?S.value=!1:S.value=!0}function k(e){!S.value||y.value?.$el.contains(e.target)||R.value?.$el.contains(e.target)||(S.value=!1)}const U=(0,r.ref)(!1),A=(0,r.ref)("");async function x(e){const{requestAction:t,requestId:o}=e.request;t===v.TUIRequestAction.kRequestToOpenRemoteCamera&&(A.value=o,U.value=!0)}async function L(){n.setCanControlSelfVideo(!0),o.instance?.setLocalVideoView({view:`${n.localStream.userId}_${n.localStream.streamType}`,streamType:v.TUIVideoStreamType.kCameraStream}),await(o.instance?.responseRemoteRequest({requestId:A.value,agree:!0})),A.value="",U.value=!1}async function E(){await(o.instance?.responseRemoteRequest({requestId:A.value,agree:!1})),A.value="",U.value=!1}async function D(e){const{requestId:t}=e;A.value===t&&(U.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",k,!0)})),f().once("ready",(()=>{o.instance?.on(v.TUIRoomEvents.onRequestReceived,x),o.instance?.on(v.TUIRoomEvents.onRequestCancelled,D)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",k,!0),o.instance?.off(v.TUIRoomEvents.onRequestReceived,x),o.instance?.off(v.TUIRoomEvents.onRequestCancelled,D)})),{__sfc:!0,roomEngine:o,roomStore:n,basicStore:a,isFrontCamera:s,emits:t,isCameraDisableForAllUser:i,isAudience:u,localStream:m,isLocalVideoIconDisable:d,t:p,hasMore:I,showVideoSettingTab:S,videoIconButtonRef:y,videoSettingRef:R,title:T,iconName:b,toggleMuteVideo:M,handleMore:w,handleDocumentClick:k,showRequestOpenCameraDialog:U,requestOpenCameraRequestId:A,onRequestReceived:x,handleAccept:L,handleReject:E,onRequestCancelled:D,Dialog:Z.Z,IconButton:Je.Z,VideoSettingTab:at.Z,isMobile:$.t}}}),rt=it,lt=(0,w.Z)(rt,ot,nt,!1,null,"a0d52fdc",null),ct=lt.exports,ut=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-control-container"},[t(o.IconButton,{attrs:{"is-active":"manage-member"===o.sidebarName,title:o.t("Members"),"icon-name":o.iconName},on:{"click-icon":o.toggleMangeMemberSidebar}})],1)},mt=[],dt=(0,r.defineComponent)({__name:"ManageMemberControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{sidebarName:n}=(0,c.Jk)(o),a=(0,r.computed)((()=>"manage-member"===n.value?st.Z.ManageMemberActive:st.Z.ManageMember));function s(){if(o.setSidebarOpenStatus&&"manage-member"===n.value)return o.setSidebarOpenStatus(!1),void o.setSidebarName("");o.setSidebarOpenStatus(!0),o.setSidebarName("manage-member")}return{__sfc:!0,t:t,basicStore:o,sidebarName:n,iconName:a,toggleMangeMemberSidebar:s,IconButton:Je.Z}}}),pt=dt,vt=(0,w.Z)(pt,ut,mt,!1,null,"49c71e42",null),ft=vt.exports,gt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"chat-control-container"},[o.isMobile?t("div",[o.chatStore.unReadCount>0?t("div",{staticClass:"count"},[t(o.IconButton,{directives:[{name:"tap",rawName:"v-tap",value:o.toggleChatSidebar,expression:"toggleChatSidebar"}],attrs:{title:o.t("Chat"),"icon-name":o.iconName}}),t("span",{staticClass:"unreadCount"},[e._v(e._s(o.chatStore.unReadCount>10?"10+":o.chatStore.unReadCount))])],1):t(o.IconButton,{directives:[{name:"tap",rawName:"v-tap",value:o.toggleChatSidebar,expression:"toggleChatSidebar"}],attrs:{"is-active":"chat"===o.sidebarName,title:o.t("Chat"),"icon-name":o.iconName}})],1):t("div",[o.chatStore.unReadCount>0?t("el-badge",{attrs:{value:o.chatStore.unReadCount>10?"10+":o.chatStore.unReadCount}},[t(o.IconButton,{attrs:{title:o.t("Chat"),"icon-name":o.iconName},on:{"click-icon":o.toggleChatSidebar}})],1):t(o.IconButton,{attrs:{"is-active":"chat"===o.sidebarName,title:o.t("Chat"),"icon-name":o.iconName},on:{"click-icon":o.toggleChatSidebar}})],1)])},ht=[];const Ct=(0,c.Q_)("chat",{state:()=>({messageList:[],isMessageDisableByAdmin:!1,unReadCount:0,isCompleted:!1,nextReqMessageId:""}),getters:{},actions:{updateMessageList(e){const t=this.messageList.map((e=>e.ID));-1===t.indexOf(e.ID)&&(this.messageList=this.messageList.concat([e]))},setMessageListInfo(e,t,o){this.messageList=e,this.isCompleted=t,this.nextReqMessageId=o},updateUnReadCount(e){this.unReadCount=e},addHistoryMessages(e){const t=this.messageList.map((e=>e.ID)),o=e.filter((e=>-1===t.indexOf(e.ID)));this.messageList=o.concat(this.messageList).sort(((e,t)=>e.sequence-t.sequence))},setSendMessageDisableChanged(e){this.isMessageDisableByAdmin=e},reset(){this.messageList=[],this.unReadCount=0,this.isMessageDisableByAdmin=!1}}});var _t=(0,r.defineComponent)({__name:"ChatControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),n=Ct(),{sidebarName:a}=(0,c.Jk)(o),s=(0,r.computed)((()=>"chat"===a.value?st.Z.ChatActive:st.Z.Chat));async function i(){if(o.setSidebarOpenStatus&&"chat"===o.sidebarName)return o.setSidebarOpenStatus(!1),void o.setSidebarName("");o.setSidebarOpenStatus(!0),o.setSidebarName("chat"),n.updateUnReadCount(0)}return{__sfc:!0,t:t,basicStore:o,chatStore:n,sidebarName:a,iconName:s,toggleChatSidebar:i,IconButton:Je.Z,isMobile:$.t}}}),It=_t,St=(0,w.Z)(It,gt,ht,!1,null,null,null),yt=St.exports,Rt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.roomStore.isMaster?t(o.MasterApplyControl):o.roomStore.isMaster?e._e():t(o.MemberApplyControl)},Tt=[],bt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"apply-control-container"},[t(o.IconButton,{ref:"masterApplyControlRef",attrs:{title:o.t("Raise hand"),"icon-name":o.ICON_NAME.ApplyOnSeat},on:{"click-icon":o.toggleApplySpeech}}),o.hasApplyToAnchorUser&&!o.showApplyUserList?t("div",{staticClass:"attention master-attention"},[t(o.SvgIcon,{staticClass:"apply-big-icon",attrs:{"icon-name":"apply-big-icon"}}),t("span",{staticClass:"info"},[e._v(e._s(o.applyToAnchorList.length))])],1):e._e(),o.showApplyUserList?t("div",{ref:"masterApplyListRef",class:o.isMobile?"apply-list-container-h5":"apply-list-container"},[t("div",{staticClass:"title-container"},[t("span",{staticClass:"title"},[e._v(e._s(o.t("Apply to stage application")))]),t(o.SvgIcon,{staticClass:"close",attrs:{"icon-name":"close",size:"medium"},on:{click:o.hideApplyList}})],1),t("div",{staticClass:"apply-list"},e._l(o.applyToAnchorList,(function(n,a){return t("div",{key:a,staticClass:"apply-item"},[t("div",{staticClass:"user-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":n.avatarUrl}}),t("span",{staticClass:"user-name",attrs:{title:n.userName||n.userId}},[e._v(e._s(n.userName||n.userId))])],1),t("div",{staticClass:"control-container"},[t("div",{staticClass:"button primary",on:{click:function(e){return o.handleUserApply(n.userId,!0)}}},[e._v(e._s(o.t("Agree")))]),t("div",{staticClass:"button outline",on:{click:function(e){return o.handleUserApply(n.userId,!1)}}},[e._v(e._s(o.t("Reject")))])])])})),0),t("div",{staticClass:"apply-footer"},[t("div",{staticClass:"button outline deny-all",on:{click:o.denyAllUserApply}},[e._v(e._s(o.t("Reject All")))])])]):e._e()],1)},Mt=[];const wt=(0,_.Z)();function kt(){const e=(0,h.A)(),{applyToAnchorList:t}=(0,c.Jk)(e),{t:o}=(0,C.Q)();function n(t){const{requestAction:o,requestId:n,userId:a}=t.request;o===v.TUIRequestAction.kRequestToTakeSeat&&a&&e.addApplyToAnchorUser({userId:a,requestId:n})}function a(t){const{userId:o}=t;e.removeApplyToAnchorUser(o)}async function s(t,o){const n=e.remoteUserObj[t];if(n){const e=n.applyToAnchorRequestId;e&&await(wt.instance?.responseRemoteRequest({requestId:e,agree:o}))}e.removeApplyToAnchorUser(t)}async function i(t){const o=t.applyToAnchorRequestId;o&&await(wt.instance?.responseRemoteRequest({requestId:o,agree:!0})),e.removeApplyToAnchorUser(t.userId)}async function u(t){const o=t.applyToAnchorRequestId;o&&await(wt.instance?.responseRemoteRequest({requestId:o,agree:!1})),e.removeApplyToAnchorUser(t.userId)}async function m(){const n=t.value.map((e=>({userId:e.userId,userName:e.userName,applyToAnchorRequestId:e.applyToAnchorRequestId})));let a=0;while(a>=0&&a{const{requestCallbackType:n,userId:a}=t,s=e.getUserName(a);switch(n){case v.TUIRequestCallbackType.kRequestAccepted:(0,l.z)({type:"success",message:`${s||a} ${o("accepted the invitation to the stage")}`,duration:Ke.U.NORMAL}),e.removeInviteToAnchorUser(a);break;case v.TUIRequestCallbackType.kRequestRejected:(0,l.z)({type:"warning",message:`${s||a} ${o("declined the invitation to the stage")}`,duration:Ke.U.NORMAL}),e.removeInviteToAnchorUser(a);break;case v.TUIRequestCallbackType.kRequestTimeout:break;default:break}}}));a&&a.requestId&&e.addInviteToAnchorUser({userId:n,requestId:a.requestId})}function p(t){const{userId:o,inviteToAnchorRequestId:n}=t;e.removeInviteToAnchorUser(o),n&&wt.instance?.cancelRequest({requestId:n})}function g(e){wt.instance?.kickUserOffSeatByAdmin({seatIndex:-1,userId:e.userId})}return f().once("ready",(()=>{wt.instance?.on(v.TUIRoomEvents.onRequestReceived,n),wt.instance?.on(v.TUIRoomEvents.onRequestCancelled,a)})),(0,r.onBeforeUnmount)((()=>{wt.instance?.off(v.TUIRoomEvents.onRequestReceived,n),wt.instance?.off(v.TUIRoomEvents.onRequestCancelled,a)})),{handleUserApply:s,agreeUserOnStage:i,denyUserOnStage:u,denyAllUserApply:m,inviteUserOnStage:d,cancelInviteUserOnStage:p,kickUserOffStage:g}}var Ut=(0,r.defineComponent)({__name:"MasterApplyControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),n=(0,h.A)(),{handleUserApply:a,denyAllUserApply:s}=kt(),{showApplyUserList:i}=(0,c.Jk)(o),{isMaster:l,applyToAnchorList:u}=(0,c.Jk)(n),m=(0,r.ref)(),d=(0,r.ref)(),p=(0,r.computed)((()=>u.value.length>0));function v(){l.value&&o.setShowApplyUserList(!i.value)}function f(){o.setShowApplyUserList(!1)}function _(e){!i.value||m.value?.$el.contains(e.target)||d.value?.contains(e.target)||o.setShowApplyUserList(!1)}return(0,r.onMounted)((()=>{document.addEventListener("click",_,!0)})),(0,r.onBeforeUnmount)((()=>{document.removeEventListener("click",_,!0)})),{__sfc:!0,t:t,basicStore:o,roomStore:n,handleUserApply:a,denyAllUserApply:s,showApplyUserList:i,isMaster:l,applyToAnchorList:u,masterApplyControlRef:m,masterApplyListRef:d,hasApplyToAnchorUser:p,toggleApplySpeech:v,hideApplyList:f,handleDocumentClick:_,Avatar:A.Z,ICON_NAME:st.Z,IconButton:Je.Z,SvgIcon:T.Z,isMobile:$.t}}}),At=Ut,xt=(0,w.Z)(At,bt,Mt,!1,null,null,null),Lt=xt.exports,Et=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"apply-control-container"},[t(o.IconButton,{attrs:{title:o.iconTitle,"icon-name":o.iconName},on:{"click-icon":o.toggleApplySpeech}}),o.showMemberApplyAttention?t("div",{staticClass:"attention member-attention"},[t("span",{staticClass:"info"},[e._v(e._s(o.t("Please raise your hand to apply")))]),t(o.SvgIcon,{staticClass:"close",attrs:{"icon-name":"close",size:"medium"},on:{click:o.hideApplyAttention}})],1):e._e()],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showInviteDialog,title:o.t("The host invites you to speak on stage"),modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:function(e){return o.handleInvite(!1)}}},[e._v(e._s(o.t("Cancel")))]),t("span",{staticClass:"agree",on:{click:function(e){return o.handleInvite(!0)}}},[e._v(e._s(o.t("Agree")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?"))+" ")])])],1)},Dt=[],Nt=(0,r.defineComponent)({__name:"MemberApplyControl",setup(e){const t=(0,_.Z)(),{t:o}=(0,C.Q)(),n=(0,g.o)(),a=(0,h.A)(),{lang:s}=(0,c.Jk)(n),{localUser:i}=(0,c.Jk)(a),u=(0,r.ref)(!1),m=(0,r.ref)(!0),d=(0,r.ref)(""),p=(0,r.ref)(""),S=(0,r.ref)(!1),y=(0,r.ref)(""),R=(0,r.ref)("");async function b(){U(),i.value.onSeat?k():u.value?w():M()}async function M(){try{const e=await(t.instance?.takeSeat({seatIndex:-1,timeout:0,requestCallback:e=>{u.value=!1;const{requestCallbackType:t}=e;switch(t){case v.TUIRequestCallbackType.kRequestAccepted:(0,l.z)({type:"success",message:o("The host has approved your application"),duration:Ke.U.NORMAL});break;case v.TUIRequestCallbackType.kRequestRejected:(0,l.z)({type:"warning",message:o("The host has rejected your application for the stage"),duration:Ke.U.NORMAL});break;case v.TUIRequestCallbackType.kRequestTimeout:break}}}));e&&e.requestId&&(y.value=e.requestId),u.value=!0}catch(e){I.Z.log("member sendSpeechApplication error",e)}}async function w(){try{await(t.instance?.cancelRequest({requestId:y.value})),u.value=!1}catch(e){I.Z.log("member cancelSpeechApplication",e)}}async function k(){await(t.instance?.leaveSeat())}function U(){m.value=!1}async function A(e){const{request:{requestId:t,requestAction:o}}=e;o===v.TUIRequestAction.kRequestRemoteUserOnSeat&&(R.value=t,S.value=!0)}function x(e){const{requestId:t}=e;R.value===t&&(R.value="",S.value=!1)}async function L(e){await(t.instance?.responseRemoteRequest({requestId:R.value,agree:e})),S.value=!1,e&&U()}async function E(){(0,l.z)({type:"warning",message:o("You have been invited by the host to step down, please raise your hand if you need to speak"),duration:Ke.U.NORMAL})}return(0,r.watch)([i,u,s],(([e,t])=>{e.onSeat?(d.value=st.Z.GoOffSeat,p.value=o("Step down")):t?(d.value=st.Z.ApplyActive,p.value=o("Hand down")):(d.value=st.Z.ApplyOnSeat,p.value=o("Raise hand"))}),{immediate:!0,deep:!0}),f().once("ready",(()=>{t.instance?.on(v.TUIRoomEvents.onRequestReceived,A),t.instance?.on(v.TUIRoomEvents.onRequestCancelled,x),t.instance?.on(v.TUIRoomEvents.onKickedOffSeat,E)})),(0,r.onBeforeUnmount)((()=>{t.instance?.off(v.TUIRoomEvents.onRequestReceived,A),t.instance?.off(v.TUIRoomEvents.onRequestCancelled,x),t.instance?.off(v.TUIRoomEvents.onKickedOffSeat,E)})),{__sfc:!0,roomEngine:t,t:o,basicStore:n,roomStore:a,lang:s,localUser:i,isApplyingOnSeat:u,showMemberApplyAttention:m,iconName:d,iconTitle:p,showInviteDialog:S,applyToAnchorRequestId:y,inviteToAnchorRequestId:R,toggleApplySpeech:b,sendSeatApplication:M,cancelSeatApplication:w,leaveSeat:k,hideApplyAttention:U,onRequestReceived:A,onRequestCancelled:x,handleInvite:L,onKickedOffSeat:E,IconButton:Je.Z,SvgIcon:T.Z,Dialog:Z.Z,isMobile:$.t}}}),Ot=Nt,Zt=(0,w.Z)(Ot,Et,Dt,!1,null,null,null),jt=Zt.exports,Vt=(0,r.defineComponent)({__name:"Index",setup(e){const t=(0,h.A)();return{__sfc:!0,roomStore:t,MasterApplyControl:Lt,MemberApplyControl:jt}}}),qt=Vt,Pt=(0,w.Z)(qt,Rt,Tt,!1,null,null,null),$t=Pt.exports,Bt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("More"),"icon-name":o.ICON_NAME.More},on:{"click-icon":o.showMore}})],1),o.showMoreContent?t("div",{ref:"moreContentRef",staticClass:"show-more-content"},[t("div",{staticClass:"control-compent"},[o.roomStore.isSpeakAfterTakingSeatMode?t(o.ChatControl,{on:{click:function(e){return o.handleControlClick("chatControl")}}}):e._e(),t(o.ContactControl,{on:{click:function(e){return o.handleControlClick("contactControl")}}}),t(o.InviteControl,{on:{click:function(e){return o.handleControlClick("inviteControl")}}})],1),t("div",{staticClass:"close",on:{click:function(e){o.showMoreContent=!1}}},[t("i",[e._v(e._s(o.t("Cancel")))])])]):e._e()])},Ft=[];function Ht(){const{t:e}=(0,C.Q)(),t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),n=(0,r.computed)((()=>"more"===o.value?st.Z.MoreActive:st.Z.More));return{t:e,basicStore:t,iconName:n,sidebarName:o}}var zt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-control-container"},[t(o.IconButton,{attrs:{"is-active":"invite"===o.sidebarName,title:o.t("Invite"),"icon-name":o.iconName},on:{"click-icon":o.toggleInviteSidebar}}),o.isShowInviteTab?t("div",{staticClass:"invite-container"},[t(o.roomInvite,{ref:"inviteRef",on:{"on-close-invite":o.handleCloseInvite}})],1):e._e()],1)},Qt=[],Jt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-container-main"},[t("div",{staticClass:"invite-title-main"},[t("p",[e._v(e._s(o.t("Invite")))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleCloseInvite,expression:"handleCloseInvite"}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.visibleInviteContentList,(function(n){return t("div",{key:n.id,staticClass:"invite-content-main"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t(n.title)))]),t("span",{staticClass:"invite-content"},[e._v(e._s(n.content))]),t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.onCopy(n.copyLink),expression:"() => onCopy(item.copyLink)"}],staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"}})],1)})),t("span",{staticClass:"invite-bottom"},[e._v(" "+e._s(o.t("You can share the room number or link to invite more people to join the room."))+" ")])],2)},Wt=[];function Gt(){const{t:e}=(0,C.Q)(),t=(0,g.o)(),{roomId:o,shareLink:n,isRoomLinkVisible:a}=(0,c.Jk)(t),{origin:s,pathname:i}=location||{},u=(0,se.Al)(),m=(0,r.computed)((()=>{if(n.value){const e=-1!==n.value.indexOf("?")?"&":"?";return`${n.value}${e}roomId=${o.value}`}return`${s}${i}#/home?roomId=${o.value}`})),d=(0,r.computed)((()=>`tuiroom://joinroom?roomId=${o.value}`));async function p(t){try{await(0,se.jO)(t),(0,l.z)({message:e("Copied successfully"),type:"success"})}catch(o){(0,l.z)({message:e("Copied failure"),type:"error"})}}const v=[{id:1,title:"Room ID",content:o,copyLink:o,visible:!0},{id:2,title:"Room Link",content:m,copyLink:m,visible:a.value},{id:3,title:"scheme",content:d,copyLink:d,visible:!0}],f=(0,r.reactive)(v.filter((e=>e.visible)));return{t:e,isRoomLinkVisible:a,roomId:o,origin:s,pathname:i,isElectron:u,inviteLink:m,schemeLink:d,onCopy:p,visibleInviteContentList:f}}var Kt=(0,r.defineComponent)({__name:"indexH5",emits:["on-close-invite"],setup(e,{emit:t}){const{t:o,onCopy:n,visibleInviteContentList:a}=Gt();function s(){t("on-close-invite")}return{__sfc:!0,t:o,onCopy:n,visibleInviteContentList:a,emit:t,handleCloseInvite:s,SvgIcon:T.Z,isWeChat:$.e}}}),Yt=Kt,Xt=(0,w.Z)(Yt,Jt,Wt,!1,null,"eb2b478c",null),eo=Xt.exports,to=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-container"},[t("div",{staticClass:"invite-notice"},[e._v(e._s(o.t("Share the room ID or invite link")))]),t("div",{staticClass:"invite-content"},[t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite by room number")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.roomId}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.roomId)}}})],1)]),o.isRoomLinkVisible?t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite via room link")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.inviteLink}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.inviteLink)}}})],1)]):e._e(),t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite via client scheme")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.schemeLink}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.schemeLink)}}})],1)])])])},oo=[],no=(0,r.defineComponent)({__name:"indexPC",setup(e){const{t:t,isRoomLinkVisible:o,roomId:n,inviteLink:a,schemeLink:s,onCopy:i}=Gt();return{__sfc:!0,t:t,isRoomLinkVisible:o,roomId:n,inviteLink:a,schemeLink:s,onCopy:i,SvgIcon:T.Z}}}),ao=no,so=(0,w.Z)(ao,to,oo,!1,null,"76a9ae2d",null),io=so.exports;const ro=$.t?eo:io;var lo=ro,co=(0,r.defineComponent)({__name:"InviteControl",setup(e){const t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),{t:n}=(0,C.Q)(),a=(0,r.ref)(!1),s=(0,r.ref)(),i=(0,r.computed)((()=>$.t?st.Z.Invite:"invite"===o.value?st.Z.InviteActive:st.Z.Invite));function l(){if($.t){if(a.value=!0,"invite"===t.sidebarName)return void t.setSidebarName("");t.setSidebarName("invite")}else{if(t.setSidebarOpenStatus&&"invite"===t.sidebarName)return t.setSidebarOpenStatus(!1),void t.setSidebarName("");t.setSidebarOpenStatus(!0),t.setSidebarName("invite")}}function u(e){a.value&&s.value&&!s.value.$el.contains(e.target)&&(a.value=!1)}function m(){a.value=!1}return(0,r.onMounted)((()=>{document?.addEventListener("click",u,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",u,!0)})),{__sfc:!0,basicStore:t,sidebarName:o,t:n,isShowInviteTab:a,inviteRef:s,iconName:i,toggleInviteSidebar:l,handleDocumentClick:u,handleCloseInvite:m,IconButton:Je.Z,roomInvite:lo}}}),uo=co,mo=(0,w.Z)(uo,zt,Qt,!1,null,"78681d3c",null),po=mo.exports,vo=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("Contact us"),"icon-name":"contact-us-h5"},on:{"click-icon":o.toggleContactSidebar}}),o.isShowContactTab?t("div",{staticClass:"contact-container"},[t(o.roomContact,{ref:"contactRef",on:{"on-close-contact":o.handleOnCloseContact}})],1):e._e()],1)},fo=[],go=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"contact-container-main"},[t("div",{staticClass:"contact-title-main"},[t("p",[e._v(e._s(o.t("Contact us")))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleCloseContact,expression:"handleCloseContact"}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.contactContentList,(function(n){return t("div",{key:n.id,staticClass:"contact-content-main"},[t("span",{staticClass:"contact-title"},[e._v(e._s(o.t(n.title)))]),t("span",{staticClass:"contact-content"},[e._v(e._s(n.content))]),t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.onCopy(n.copyLink),expression:"() => onCopy(item.copyLink)"}],staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"}})],1)})),t("span",{staticClass:"contact-bottom"},[e._v(" "+e._s(o.t("If you have any questions, please feel free to join our QQ group or send an email"))+" ")])],2)},ho=[];function Co(){const{t:e}=(0,C.Q)(),t="592465424",o="matthewwu@tencent.com";async function n(t){try{await(0,se.jO)(t),(0,l.z)({message:e("Copied successfully"),type:"success"})}catch(o){(0,l.z)({message:e("Copied failure"),type:"error"})}}return{t:e,groupNumber:t,email:o,onCopy:n}}var _o=(0,r.defineComponent)({__name:"indexH5",emits:["on-close-contact"],setup(e,{emit:t}){const{t:o,groupNumber:n,email:a,onCopy:s}=Co(),i=(0,r.reactive)([{id:1,title:"group chat",content:n,copyLink:n},{id:2,title:"Email",content:a,copyLink:a}]);function l(){t("on-close-contact")}return{__sfc:!0,t:o,groupNumber:n,email:a,onCopy:s,emit:t,contactContentList:i,handleCloseContact:l,SvgIcon:T.Z,isWeChat:$.e}}}),Io=_o,So=(0,w.Z)(Io,go,ho,!1,null,"76fbca8c",null),yo=So.exports,Ro=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-container"},[t("div",{staticClass:"more-notice"},[e._v(e._s(o.t("Join our QQ group chat or email us.")))]),t("div",{staticClass:"more-content"},[t("div",{staticClass:"more-item"},[t("span",{staticClass:"more-title"},[e._v(e._s(o.t("group chat")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.groupNumber}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.groupNumber)}}})],1)]),t("div",{staticClass:"more-item"},[t("span",{staticClass:"more-title"},[e._v(e._s(o.t("Email")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.email}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.email)}}})],1)])])])},To=[],bo=(0,r.defineComponent)({__name:"indexPC",setup(e){const{t:t,groupNumber:o,email:n,onCopy:a}=Co();return{__sfc:!0,t:t,groupNumber:o,email:n,onCopy:a,SvgIcon:T.Z}}}),Mo=bo,wo=(0,w.Z)(Mo,Ro,To,!1,null,"4d3067ac",null),ko=wo.exports;const Uo=$.t?yo:ko;var Ao=Uo,xo=(0,r.defineComponent)({__name:"ContactControl",setup(e){const t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),{t:n}=(0,C.Q)(),a=(0,r.ref)(!1),s=(0,r.ref)();function i(){if($.t){if(a.value=!0,"more"===t.sidebarName)return void t.setSidebarName("");t.setSidebarName("more")}else{if(t.setSidebarOpenStatus&&"more"===t.sidebarName)return t.setSidebarOpenStatus(!1),void t.setSidebarName("");t.setSidebarOpenStatus(!0),t.setSidebarName("more")}}function l(e){a.value&&s.value&&!s.value.$el.contains(e.target)&&(a.value=!1)}function u(){a.value=!1}return(0,r.onMounted)((()=>{document.addEventListener("click",l,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",l,!0)})),{__sfc:!0,basicStore:t,sidebarName:o,t:n,isShowContactTab:a,contactRef:s,toggleContactSidebar:i,handleDocumentClick:l,handleOnCloseContact:u,IconButton:Je.Z,roomContact:Ao}}}),Lo=xo,Eo=(0,w.Z)(Lo,vo,fo,!1,null,"251c1f14",null),Do=Eo.exports;function No(e){return{all:e=e||new Map,on:function(t,o){var n=e.get(t);n?n.push(o):e.set(t,[o])},off:function(t,o){var n=e.get(t);n&&(o?n.splice(n.indexOf(o)>>>0,1):e.set(t,[]))},emit:function(t,o){var n=e.get(t);n&&n.slice().map((function(e){e(o)})),(n=e.get("*"))&&n.slice().map((function(e){e(t,o)}))}}}const Oo=No();var Zo=Oo,jo=(0,r.defineComponent)({__name:"MoreControlH5",setup(e){const t=(0,r.ref)(!1),o=(0,r.ref)(),{t:n,sidebarName:a}=Ht(),s=(0,h.A)();function i(){t.value=!0}function l(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}function c(e){t.value&&!o.value.contains(e.target)&&(t.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",c,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",c,!0)})),{__sfc:!0,showMoreContent:t,moreContentRef:o,t:n,sidebarName:a,roomStore:s,showMore:i,handleControlClick:l,handleDocumentClick:c,IconButton:Je.Z,ChatControl:yt,InviteControl:po,ContactControl:Do,ICON_NAME:st.Z}}}),Vo=jo,qo=(0,w.Z)(Vo,Bt,Ft,!1,null,"7814bc4f",null),Po=qo.exports,$o=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("More"),"icon-name":o.iconName},on:{"click-icon":o.toggleMoreSidebar}})],1)},Bo=[],Fo=(0,r.defineComponent)({__name:"MoreControlPC",setup(e){const{t:t,iconName:o,basicStore:n,sidebarName:a}=Ht();function s(){if(n.setSidebarOpenStatus&&"more"===n.sidebarName)return n.setSidebarOpenStatus(!1),void n.setSidebarName("");n.setSidebarOpenStatus(!0),n.setSidebarName("more")}return{__sfc:!0,t:t,iconName:o,basicStore:n,sidebarName:a,toggleMoreSidebar:s,IconButton:Je.Z}}}),Ho=Fo,zo=(0,w.Z)(Ho,$o,Bo,!1,null,"8fb09940",null),Qo=zo.exports;const Jo=$.t?Po:Qo;var Wo=Jo;function Go(){const e=(0,h.A)(),{t:t}=(0,C.Q)();return{t:t,roomStore:e}}var Ko=(0,r.defineComponent)({__name:"indexH5",setup(e){const{roomStore:t}=Go();function o(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}return{__sfc:!0,roomStore:t,handleControlClick:o,AudioControl:tt,VideoControl:ct,ManageMemberControl:ft,ChatControl:yt,ApplyControl:$t,MoreControl:Wo}}}),Yo=Ko,Xo=(0,w.Z)(Yo,Fe,He,!1,null,"6f1ee0d6",null),en=Xo.exports,tn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"left-container"},[t(o.AudioControl,{staticClass:"left-container-item",on:{click:function(e){return o.handleControlClick("audioControl")}}}),t(o.VideoControl,{staticClass:"left-container-item",on:{click:function(e){return o.handleControlClick("videoControl")}}})],1),t("div",{staticClass:"center-container"},[t(o.ScreenShareControl,{on:{click:function(e){return o.handleControlClick("screenShareControl")}}}),t(o.FullScreenControl,{on:{click:function(e){return o.handleControlClick("fullScreenControl")}}}),o.roomStore.isMaster?t(o.ManageMemberControl,{on:{click:function(e){return o.handleControlClick("manageMemberControl")}}}):e._e(),t(o.InviteControl,{on:{click:function(e){return o.handleControlClick("inviteControl")}}}),t(o.ChatControl,{on:{click:function(e){return o.handleControlClick("chatControl")}}}),o.roomStore.isSpeakAfterTakingSeatMode?t(o.ApplyControl,{on:{click:function(e){return o.handleControlClick("applyControl")}}}):e._e(),t(o.MoreControl,{on:{click:function(e){return o.handleControlClick("moreControl")}}}),t(o.SettingControl,{on:{click:function(e){return o.handleControlClick("settingControl")}}})],1),t("div",{staticClass:"right-container"},[t(o.EndControl,{on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}})],1)])},on=[],nn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"screen-share-control-container"},[t(o.IconButton,{ref:"btnStopRef",attrs:{"is-active":o.isSharing,disabled:o.screenShareDisabled,title:o.title,"icon-name":o.iconName},on:{"click-icon":o.toggleScreenShare}}),o.showStopShareRegion?t("div",{staticClass:"stop-share-region",on:{click:o.openStopConfirmDialog}},[t(o.SvgIcon,{staticClass:"stop-share-icon",attrs:{"icon-name":o.ICON_NAME.ScreenShareStopped}}),t("span",[e._v(e._s(o.t("End sharing")))])],1):e._e(),t(o.Dialog,{attrs:{"model-value":o.dialogVisible,width:"420px",title:o.t("Stop sharing?"),modal:!0,"append-to-body":!1,"before-close":o.cancelStop},scopedSlots:e._u([{key:"footer",fn:function(){return[t("span",[t("el-button",{attrs:{type:"primary"},on:{click:o.stopScreenShare}},[e._v(e._s(o.t("Stop sharing")))]),t("el-button",{attrs:{type:"default"},on:{click:o.cancelStop}},[e._v(e._s(o.t("Cancel")))])],1)]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("Others will no longer see your screen after you stop sharing. Are you sure you want to stop?")))])])],1)},an=[],sn=(0,r.defineComponent)({__name:"Index",setup(e){const t=(0,_.Z)(),o="[ScreenShareControl]",n=(0,h.A)(),{isAnchor:a,isAudience:s,hasOtherScreenShare:i}=(0,c.Jk)(n),{t:u}=(0,C.Q)(),m=(0,r.ref)(),d=(0,r.ref)(!1),p=(0,r.ref)(!1),g=(0,r.ref)(!1),S=(0,r.computed)((()=>s.value)),y=(0,r.computed)((()=>d.value?u("Sharing"):u("Share screen"))),R=(0,r.computed)((()=>S.value?st.Z.ScreenShareDisabled:d.value?st.Z.ScreenSharing:st.Z.ScreenShare));async function b(){if(s.value)(0,l.z)({type:"warning",message:u("You currently do not have sharing permission, please raise your hand to apply for sharing permission first"),duration:Ke.U.LONG});else if(i.value)(0,l.z)({type:"warning",message:u("Another user is currently sharing the screen, screen sharing is not possible."),duration:Ke.U.LONG});else if(d.value)p.value=!0;else try{await(t.instance?.startScreenSharing()),d.value=!0}catch(e){I.Z.error(`${o}startScreenShare error:`,e.name,e.message,e.code);let t="";switch(e.name){case"NotReadableError":t="系统禁止当前浏览器获取屏幕内容";break;case"NotAllowedError":t=e.message.includes("Permission denied by system")?"系统禁止当前浏览器获取屏幕内容":"用户拒绝/取消屏幕分享";break;default:t="屏幕分享遇到未知错误";break}(0,l.z)({type:"warning",message:t,duration:Ke.U.LONG})}}function M(){p.value=!1,d.value&&(g.value=!0)}function w(){g.value=!1}async function k(){if(d.value)try{await(t.instance?.stopScreenSharing()),g.value=!1,d.value=!1}catch(e){I.Z.error(`${o}stopScreenShare error:`,e)}}function U(){d.value=!1}return(0,r.watch)(a,((e,t)=>{!t&&e&&d.value&&k()})),f().once("ready",(()=>{t.instance?.on(v.TUIRoomEvents.onUserScreenCaptureStopped,U)})),(0,r.onUnmounted)((()=>{t.instance?.off(v.TUIRoomEvents.onUserScreenCaptureStopped,U)})),{__sfc:!0,roomEngine:t,logPrefix:o,roomStore:n,isAnchor:a,isAudience:s,hasOtherScreenShare:i,t:u,btnStopRef:m,isSharing:d,showStopShareRegion:p,dialogVisible:g,screenShareDisabled:S,title:y,iconName:R,toggleScreenShare:b,openStopConfirmDialog:M,cancelStop:w,stopScreenShare:k,screenCaptureStopped:U,Dialog:Z.Z,IconButton:Je.Z,SvgIcon:T.Z,ICON_NAME:st.Z}}}),rn=sn,ln=(0,w.Z)(rn,nn,an,!1,null,"5d38a258",null),cn=ln.exports,un=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"fullscreen-control-container"},[t(o.IconButton,{attrs:{"is-active":o.isFullScreen,title:o.title,"icon-name":o.iconName},on:{"click-icon":o.toggleScreen}})],1)},mn=[],dn=o(7175),pn=(0,r.defineComponent)({__name:"FullScreenControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,r.ref)(!1),n=(0,r.computed)((()=>o.value?t("Exit"):t("Full screen"))),a=(0,r.computed)((()=>o.value?st.Z.ExitFullScreen:st.Z.FullScreen));function s(){if(o.value)(0,se.Pr)();else if(dn.P_){const e=document.body;e&&(0,se.EV)(e)}else{const e=document.getElementById("roomContainer");e&&(0,se.EV)(e)}}function i(){o.value=!o.value}return(0,r.onMounted)((()=>{["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach((e=>{window.addEventListener(e,i)}))})),(0,r.onUnmounted)((()=>{["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach((e=>{window.removeEventListener(e,i)}))})),{__sfc:!0,t:t,isFullScreen:o,title:n,iconName:a,toggleScreen:s,handleFullScreenChange:i,IconButton:Je.Z}}}),vn=pn,fn=(0,w.Z)(vn,un,mn,!1,null,"2ebc7fcf",null),gn=fn.exports,hn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"setting-control-container"},[t(o.IconButton,{attrs:{"is-active":o.showSettingDialog,title:o.t("Settings"),"icon-name":o.iconName},on:{"click-icon":o.handleShowSettingDialog}})],1)},Cn=[],_n=(0,r.defineComponent)({__name:"SettingControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{showSettingDialog:n}=(0,c.Jk)(o),a=(0,r.computed)((()=>n.value?st.Z.SettingActive:st.Z.Setting));function s(){o.setShowSettingDialog(!o.showSettingDialog)}return{__sfc:!0,t:t,basicStore:o,showSettingDialog:n,iconName:a,handleShowSettingDialog:s,IconButton:Je.Z}}}),In=_n,Sn=(0,w.Z)(In,hn,Cn,!1,null,"2c9e5284",null),yn=Sn.exports,Rn=(0,r.defineComponent)({__name:"indexPC",emits:["on-destroy-room","on-exit-room"],setup(e,{emit:t}){const{roomStore:o}=Go(),n=e=>{t("on-destroy-room",e),Se.reportEvent({name:"destroyRoom",ext1:"destroyRoom-success"})},a=e=>{t("on-exit-room",e),Se.reportEvent({name:"exitRoom",ext1:"exitRoom-success"})};function s(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}return{__sfc:!0,roomStore:o,emit:t,onDestroyRoom:n,onExitRoom:a,handleControlClick:s,AudioControl:tt,ScreenShareControl:cn,FullScreenControl:gn,InviteControl:po,VideoControl:ct,ManageMemberControl:ft,ChatControl:yt,ApplyControl:$t,MoreControl:Wo,EndControl:F,SettingControl:yn}}}),Tn=Rn,bn=(0,w.Z)(Tn,tn,on,!1,null,"fcf4ace8",null),Mn=bn.exports;const wn=$.t?en:Mn;var kn=wn,Un=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.showSideBar?t(o.popup,{staticClass:"sidebar-container-mobile",attrs:{title:o.title},scopedSlots:e._u([{key:"sidebarContent",fn:function(){return[t("div",{staticStyle:{height:"100%"}},["chat"===o.sidebarName?t(o.Chat):e._e(),"manage-member"===o.sidebarName?t(o.ManageMember):e._e()],1)]},proxy:!0},{key:"sidebarFooter",fn:function(){return[t("div",["chat"===o.sidebarName?t(o.ChatEditor):e._e()],1)]},proxy:!0}],null,!1,403798847)}):e._e()},An=[],xn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:[o.isMobile?"chat-container-h5":"chat-container"]},[t(o.MessageList),o.isMobile?e._e():t(o.ChatEditor)],1)},Ln=[],En=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:o.isMobile?"message-list-container-h5":"message-list-container"},[t("div",{staticClass:"message-list"},e._l(o.messageList,(function(n){return t("div",{key:n.ID,ref:"messageAimId",refInFor:!0,class:["message-item",""+("out"===n.flow?"is-me":"")]},[t("div",{staticClass:"message-header",attrs:{title:n.nick||n.from}},[e._v(" "+e._s(n.nick||n.from)+" ")]),t("div",{staticClass:"message-body"},["TIMTextElem"===n.type?t(o.MessageText,{attrs:{data:n.payload.text}}):e._e()],1)])})),0),t("div",{ref:"messageBottomEl",staticClass:"message-bottom"})])},Dn=[],Nn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("span",e._l(o.handleTextMessageShowContext(o.props.data),(function(o,n){return t("span",{key:n},["text"===o.name?t("span",{staticClass:"text-box"},[e._v(e._s(o.text))]):"img"===o.name?t("img",{staticClass:"text-img",attrs:{src:o.src}}):e._e()])})),0)},On=[];const Zn="https://web.sdk.qcloud.com/im/assets/emoji/",jn={"[NO]":"emoji_0@2x.png","[OK]":"emoji_1@2x.png","[下雨]":"emoji_2@2x.png","[么么哒]":"emoji_3@2x.png","[乒乓]":"emoji_4@2x.png","[便便]":"emoji_5@2x.png","[信封]":"emoji_6@2x.png","[偷笑]":"emoji_7@2x.png","[傲慢]":"emoji_8@2x.png","[再见]":"emoji_9@2x.png","[冷汗]":"emoji_10@2x.png","[凋谢]":"emoji_11@2x.png","[刀]":"emoji_12@2x.png","[删除]":"emoji_13@2x.png","[勾引]":"emoji_14@2x.png","[发呆]":"emoji_15@2x.png","[发抖]":"emoji_16@2x.png","[可怜]":"emoji_17@2x.png","[可爱]":"emoji_18@2x.png","[右哼哼]":"emoji_19@2x.png","[右太极]":"emoji_20@2x.png","[右车头]":"emoji_21@2x.png","[吐]":"emoji_22@2x.png","[吓]":"emoji_23@2x.png","[咒骂]":"emoji_24@2x.png","[咖啡]":"emoji_25@2x.png","[啤酒]":"emoji_26@2x.png","[嘘]":"emoji_27@2x.png","[回头]":"emoji_28@2x.png","[困]":"emoji_29@2x.png","[坏笑]":"emoji_30@2x.png","[多云]":"emoji_31@2x.png","[大兵]":"emoji_32@2x.png","[大哭]":"emoji_33@2x.png","[太阳]":"emoji_34@2x.png","[奋斗]":"emoji_35@2x.png","[奶瓶]":"emoji_36@2x.png","[委屈]":"emoji_37@2x.png","[害羞]":"emoji_38@2x.png","[尴尬]":"emoji_39@2x.png","[左哼哼]":"emoji_40@2x.png","[左太极]":"emoji_41@2x.png","[左车头]":"emoji_42@2x.png","[差劲]":"emoji_43@2x.png","[弱]":"emoji_44@2x.png","[强]":"emoji_45@2x.png","[彩带]":"emoji_46@2x.png","[彩球]":"emoji_47@2x.png","[得意]":"emoji_48@2x.png","[微笑]":"emoji_49@2x.png","[心碎了]":"emoji_50@2x.png","[快哭了]":"emoji_51@2x.png","[怄火]":"emoji_52@2x.png","[怒]":"emoji_53@2x.png","[惊恐]":"emoji_54@2x.png","[惊讶]":"emoji_55@2x.png","[憨笑]":"emoji_56@2x.png","[手枪]":"emoji_57@2x.png","[打哈欠]":"emoji_58@2x.png","[抓狂]":"emoji_59@2x.png","[折磨]":"emoji_60@2x.png","[抠鼻]":"emoji_61@2x.png","[抱抱]":"emoji_62@2x.png","[抱拳]":"emoji_63@2x.png","[拳头]":"emoji_64@2x.png","[挥手]":"emoji_65@2x.png","[握手]":"emoji_66@2x.png","[撇嘴]":"emoji_67@2x.png","[擦汗]":"emoji_68@2x.png","[敲打]":"emoji_69@2x.png","[晕]":"emoji_70@2x.png","[月亮]":"emoji_71@2x.png","[棒棒糖]":"emoji_72@2x.png","[汽车]":"emoji_73@2x.png","[沙发]":"emoji_74@2x.png","[流汗]":"emoji_75@2x.png","[流泪]":"emoji_76@2x.png","[激动]":"emoji_77@2x.png","[灯泡]":"emoji_78@2x.png","[炸弹]":"emoji_79@2x.png","[熊猫]":"emoji_80@2x.png","[爆筋]":"emoji_81@2x.png","[爱你]":"emoji_82@2x.png","[爱心]":"emoji_83@2x.png","[爱情]":"emoji_84@2x.png","[猪头]":"emoji_85@2x.png","[猫咪]":"emoji_86@2x.png","[献吻]":"emoji_87@2x.png","[玫瑰]":"emoji_88@2x.png","[瓢虫]":"emoji_89@2x.png","[疑问]":"emoji_90@2x.png","[白眼]":"emoji_91@2x.png","[皮球]":"emoji_92@2x.png","[睡觉]":"emoji_93@2x.png","[磕头]":"emoji_94@2x.png","[示爱]":"emoji_95@2x.png","[礼品袋]":"emoji_96@2x.png","[礼物]":"emoji_97@2x.png","[篮球]":"emoji_98@2x.png","[米饭]":"emoji_99@2x.png","[糗大了]":"emoji_100@2x.png","[红双喜]":"emoji_101@2x.png","[红灯笼]":"emoji_102@2x.png","[纸巾]":"emoji_103@2x.png","[胜利]":"emoji_104@2x.png","[色]":"emoji_105@2x.png","[药]":"emoji_106@2x.png","[菜刀]":"emoji_107@2x.png","[蛋糕]":"emoji_108@2x.png","[蜡烛]":"emoji_109@2x.png","[街舞]":"emoji_110@2x.png","[衰]":"emoji_111@2x.png","[西瓜]":"emoji_112@2x.png","[调皮]":"emoji_113@2x.png","[象棋]":"emoji_114@2x.png","[跳绳]":"emoji_115@2x.png","[跳跳]":"emoji_116@2x.png","[车厢]":"emoji_117@2x.png","[转圈]":"emoji_118@2x.png","[鄙视]":"emoji_119@2x.png","[酷]":"emoji_120@2x.png","[钞票]":"emoji_121@2x.png","[钻戒]":"emoji_122@2x.png","[闪电]":"emoji_123@2x.png","[闭嘴]":"emoji_124@2x.png","[闹钟]":"emoji_125@2x.png","[阴险]":"emoji_126@2x.png","[难过]":"emoji_127@2x.png","[雨伞]":"emoji_128@2x.png","[青蛙]":"emoji_129@2x.png","[面条]":"emoji_130@2x.png","[鞭炮]":"emoji_131@2x.png","[风车]":"emoji_132@2x.png","[飞吻]":"emoji_133@2x.png","[飞机]":"emoji_134@2x.png","[饥饿]":"emoji_135@2x.png","[香蕉]":"emoji_136@2x.png","[骷髅]":"emoji_137@2x.png","[麦克风]":"emoji_138@2x.png","[麻将]":"emoji_139@2x.png","[鼓掌]":"emoji_140@2x.png","[龇牙]":"emoji_141@2x.png"},Vn=["[龇牙]","[调皮]","[流汗]","[偷笑]","[再见]","[敲打]","[擦汗]","[猪头]","[玫瑰]","[流泪]","[大哭]","[嘘]","[酷]","[抓狂]","[委屈]","[便便]","[炸弹]","[菜刀]","[可爱]","[色]","[害羞]","[得意]","[吐]","[微笑]","[怒]","[尴尬]","[惊恐]","[冷汗]","[爱心]","[示爱]","[白眼]","[傲慢]","[难过]","[惊讶]","[疑问]","[困]","[么么哒]","[憨笑]","[爱情]","[衰]","[撇嘴]","[阴险]","[奋斗]","[发呆]","[右哼哼]","[抱抱]","[坏笑]","[飞吻]","[鄙视]","[晕]","[大兵]","[可怜]","[强]","[弱]","[握手]","[胜利]","[抱拳]","[凋谢]","[米饭]","[蛋糕]","[西瓜]","[啤酒]","[瓢虫]","[勾引]","[OK]","[爱你]","[咖啡]","[月亮]","[刀]","[发抖]","[差劲]","[拳头]","[心碎了]","[太阳]","[礼物]","[皮球]","[骷髅]","[挥手]","[闪电]","[饥饿]","[咒骂]","[折磨]","[抠鼻]","[鼓掌]","[糗大了]","[左哼哼]","[打哈欠]","[快哭了]","[吓]","[篮球]","[乒乓]","[NO]","[跳跳]","[怄火]","[转圈]","[磕头]","[回头]","[跳绳]","[激动]","[街舞]","[献吻]","[左太极]","[右太极]","[闭嘴]","[猫咪]","[红双喜]","[鞭炮]","[红灯笼]","[麻将]","[麦克风]","[礼品袋]","[信封]","[象棋]","[彩带]","[蜡烛]","[爆筋]","[棒棒糖]","[奶瓶]","[面条]","[香蕉]","[飞机]","[左车头]","[车厢]","[右车头]","[多云]","[下雨]","[钞票]","[熊猫]","[灯泡]","[风车]","[闹钟]","[雨伞]","[彩球]","[钻戒]","[沙发]","[纸巾]","[手枪]","[青蛙]"];function qn(e){const t=[];let o=e,n=-1,a=-1;while(""!==o)switch(n=o.indexOf("["),a=o.indexOf("]"),n){case 0:if(-1===a)t.push({name:"text",text:o}),o="";else{const e=o.slice(0,a+1);jn[e]?(t.push({name:"img",src:Zn+jn[e]}),o=o.substring(a+1)):(t.push({name:"text",text:"["}),o=o.slice(1))}break;case-1:t.push({name:"text",text:o}),o="";break;default:t.push({name:"text",text:o.slice(0,n)}),o=o.substring(n);break}return t}var Pn=(0,r.defineComponent)({__name:"MessageText",props:["data"],setup(e){const t=e,o=e=>qn(e);return{__sfc:!0,props:t,handleTextMessageShowContext:o}}}),$n=Pn,Bn=(0,w.Z)($n,Nn,On,!1,null,"467c6786",null),Fn=Bn.exports;function Hn(){const{t:e}=(0,C.Q)(),t=(0,_.Z)(),o=Ct(),n=(0,g.o)(),{roomId:a}=(0,c.Jk)(n),{messageList:s,isCompleted:i,nextReqMessageId:l}=(0,c.Jk)(o),u=(0,r.ref)([]),m=(0,r.ref)(),d=(0,r.ref)(null);let p=!1,v=!1,f=!1;const h=e=>{const t=e.target,o=t.scrollHeight-t.scrollTop-t.clientHeight;v=o>80,f&&(t.scrollTop=0,f=!1),t.scrollTop<40&&p&&I()};async function I(){const e=t.instance?.getTIM(),n=await e.getMessageList({conversationID:`GROUP${a.value}`,nextReqMessageID:l.value}),{nextReqMessageID:i,messageList:r,isCompleted:c}=n.data;s.value.splice(0,0,...r);const u=s.value.filter((e=>"TIMTextElem"===e.type));o.setMessageListInfo(u,c,i)}async function S(){let e=0;const o={currentMessageList:[],isCompleted:!1,nextReqMessageId:""},n=t.instance?.getTIM(),s=async()=>{const t={conversationID:`GROUP${a.value}`};""!==o.nextReqMessageId&&(t.nextReqMessageID=o.nextReqMessageId);const i=await n.getMessageList(t),{messageList:r,isCompleted:l,nextReqMessageID:c}=i.data;o.currentMessageList.splice(0,0,...r),o.isCompleted=!(r.length>0)||l,o.nextReqMessageId=c,o.isCompleted||o.currentMessageList.length>=15||(e+=1,1===e&&await s())};return await s(),o}(0,r.watch)(i,(e=>{p=!e}),{immediate:!0,deep:!0}),(0,r.watch)(s,(async(e,t)=>{if(await(0,r.nextTick)(),v){if(e.length>=1){const o=e[e.length-1],n=t[t.length-1];"out"===o.flow&&o.ID!==n.ID&&d.value&&d.value.scrollIntoView()}}else d.value&&d.value.scrollIntoView()}));const y=e=>{const{message:t}=e;o.updateMessageList({ID:t.messageId,type:"TIMTextElem",payload:{text:t.message},nick:t?.userName||t.userId,from:t.userId,flow:"in",sequence:Math.random()})};return{t:e,roomEngine:t,historyMessageList:u,messageAimId:m,messageBottomEl:d,handleMessageListScroll:h,handleGetHistoryMessageList:I,onReceiveTextMessage:y,messageList:s,isScrollNotAtBottom:v,getMessageList:S}}var zn=(0,r.defineComponent)({__name:"MessageListPC",setup(e){const t=Ct(),{messageAimId:o,roomEngine:n,messageBottomEl:a,handleMessageListScroll:s,onReceiveTextMessage:i,messageList:l,getMessageList:c}=Hn();return(0,r.onMounted)((async()=>{const{currentMessageList:e,isCompleted:n,nextReqMessageId:a}=await c(),i=e.filter((e=>"TIMTextElem"===e.type));t.setMessageListInfo(i,n,a),await(0,r.nextTick)((()=>{if(o?.value?.length>0){const e=o?.value[o?.value?.length-1];e.scrollIntoView()}})),window.addEventListener("scroll",s,!0)})),f().once("ready",(()=>{n.instance?.on(v.TUIRoomEvents.onReceiveTextMessage,i)})),(0,r.onUnmounted)((()=>{window.removeEventListener("scroll",s,!0),n.instance?.off(v.TUIRoomEvents.onReceiveTextMessage,i)})),{__sfc:!0,chatStore:t,messageAimId:o,roomEngine:n,messageBottomEl:a,handleMessageListScroll:s,onReceiveTextMessage:i,messageList:l,getMessageList:c,MessageText:Fn,isMobile:$.t}}}),Qn=zn,Jn=(0,w.Z)(Qn,En,Dn,!1,null,"3ee0bdff",null),Wn=Jn.exports,Gn=Wn,Kn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:["chat-editor",o.cannotSendMessage?"disable-editor":""]},[t("div",{staticClass:"input-content"},[t(o.emoji,{staticClass:"chat-emoji",on:{"choose-emoji":o.handleChooseEmoji}}),t("input",{directives:[{name:"model",rawName:"v-model",value:o.sendMsg,expression:"sendMsg"}],ref:"editorInputEle",staticClass:"content-bottom-input",attrs:{type:"text",disabled:o.cannotSendMessage,placeholder:o.cannotSendMessage?o.t("Muted by the moderator"):o.t("Type a message"),enterkeyhint:"send"},domProps:{value:o.sendMsg},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:o.sendMessage.apply(null,arguments)},input:function(e){e.target.composing||(o.sendMsg=e.target.value)}}})],1)])},Yn=[],Xn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"emoji-tool"},[t(o.SvgIcon,{staticClass:"arrow emoji-icon",attrs:{"icon-name":"emoji-h5",size:"medium"},on:{click:o.togglePopover}}),o.visible?t("div",{ref:"emojiListRef",class:o.isMobile?"emoji-list-h5":"emoji-list",attrs:{id:"emoji-list"}},e._l(o.emojiList,(function(e,n){return t("div",{key:n,staticClass:"emoji-item",on:{click:function(t){return o.chooseEmoji(e)}}},[t("img",{attrs:{src:o.emojiUrl+o.emojiMap[e]}})])})),0):e._e()],1)},ea=[],ta=(0,r.defineComponent)({__name:"emojiPC",emits:["choose-emoji"],setup(e,{emit:t}){const o=(0,r.ref)(),n=(0,r.ref)(!1),a=e=>{const o=e;i(),t("choose-emoji",o)},s=()=>{n.value=!n.value},i=()=>{n.value=!1};function l(e){n.value&&!o.value.contains(e.target)&&(n.value=!1)}return(0,r.onMounted)((()=>{document.addEventListener("click",l,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",l,!0)})),{__sfc:!0,emojiListRef:o,visible:n,emit:t,chooseEmoji:a,togglePopover:s,closePopover:i,handleDocumentClick:l,emojiUrl:Zn,emojiMap:jn,emojiList:Vn,SvgIcon:T.Z,isMobile:$.t}}}),oa=ta,na=(0,w.Z)(oa,Xn,ea,!1,null,"78a2609f",null),aa=na.exports,sa=aa;function ia(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=Ct(),n=(0,h.A)(),{isMessageDisableByAdmin:a}=(0,c.Jk)(o),{isMessageDisableForAllUser:s}=(0,c.Jk)(n),i=(0,r.ref)(),u=(0,r.ref)(""),m=(0,r.ref)(!1);(0,r.watch)(a,(e=>{e&&(u.value="")})),(0,r.watch)(s,(e=>{e&&(u.value="")}));const d=(0,r.computed)((()=>Boolean(a.value||s.value))),p=async()=>{const a=u.value.replace("\n","");if(u.value="",""!==a){m.value=!1;try{await(e.instance?.sendTextMessage({messageText:a})),o.updateMessageList({ID:Math.random().toString(),type:"TIMTextElem",payload:{text:a},nick:n.localUser.userName||n.localUser.userId,from:n.localUser.userId,flow:"out",sequence:Math.random()})}catch(s){l.z.error(t("Failed to send the message"))}}},v=e=>{u.value+=e,i.value.focus()},f=()=>{m.value=!m.value};return{t:t,editorInputEle:i,sendMsg:u,isMessageDisableByAdmin:a,cannotSendMessage:d,sendMessage:p,handleChooseEmoji:v,isEmojiToolbarVisible:m,togglePopover:f}}var ra=(0,r.defineComponent)({__name:"ChatEditorH5",setup(e){const{t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i}=ia();return{__sfc:!0,t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i,emoji:sa}}}),la=ra,ca=(0,w.Z)(la,Kn,Yn,!1,null,"4ae1f1c7",null),ua=ca.exports,ma=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:["chat-editor",o.cannotSendMessage?"disable-editor":""]},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:o.sendMsg,expression:"sendMsg"}],ref:"editorInputEle",staticClass:"content-bottom-input",attrs:{disabled:o.cannotSendMessage,placeholder:o.cannotSendMessage?o.t("Muted by the moderator"):o.t("Type a message")},domProps:{value:o.sendMsg},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:o.sendMessage.apply(null,arguments)},input:function(e){e.target.composing||(o.sendMsg=e.target.value)}}}),e._v(" "),o.cannotSendMessage?e._e():t("div",{staticClass:"chat-editor-toolbar"},[t("div",{staticClass:"left-section"},[t(o.emoji,{on:{"choose-emoji":o.handleChooseEmoji}})],1),t("div",{class:["send-btn",""+(o.sendMsg.length>0?"active":"")],on:{click:o.sendMessage}},[e._v(e._s(o.t("Send")))])])])},da=[],pa=(0,r.defineComponent)({__name:"ChatEditorPC",setup(e){const{t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i}=ia();return{__sfc:!0,t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i,emoji:sa}}}),va=pa,fa=(0,w.Z)(va,ma,da,!1,null,"6cdfd1ed",null),ga=fa.exports;const ha=$.t?ua:ga;var Ca=ha,_a=(0,r.defineComponent)({__name:"index",setup(e){return{__sfc:!0,MessageList:Gn,ChatEditor:Ca,isMobile:$.t}}}),Ia=_a,Sa=(0,w.Z)(Ia,xn,Ln,!1,null,"6588445b",null),ya=Sa.exports,Ra=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-container"},[o.applyToAnchorList.length>0?t("div",{staticClass:"apply-on-stage-info"},[t("div",{staticClass:"apply-info"},[e._v(" "+e._s(`${o.applyToAnchorList[0].userName||o.applyToAnchorList[0].userId} ${o.t("Applying for the stage")}`)+" ")])]):e._e(),t("div",{staticClass:"member-list-container"},[t("div",{staticClass:"member-list-header"},[e._v(" "+e._s(o.t("Member List"))+" "),t("span",{staticClass:"member-count"},[e._v("("+e._s(o.userNumber)+e._s(o.t("members"))+")")])]),t("div",{staticClass:"member-list-content"},e._l(o.userList,(function(e){return t(o.MemberItem,{key:e.userId,attrs:{"user-info":e}})})),1)]),t("div",{staticClass:"manage-member-bottom"},[t("div",{staticClass:"manage-member-button",class:o.isMicrophoneDisableForAllUser?"lift-all":"",on:{touchstart:function(e){return o.toggleManageMember(o.ManageControlType.AUDIO)}}},[e._v(" "+e._s(o.audioManageInfo)+" ")]),t("div",{staticClass:"manage-member-button",class:o.isCameraDisableForAllUser?"lift-all":"",on:{touchstart:function(e){return o.toggleManageMember(o.ManageControlType.VIDEO)}}},[e._v(" "+e._s(o.videoManageInfo)+" ")])]),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showManageAllUserDialog,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{staticClass:"button-container-mobile"},[t("span",{staticClass:"cancel",on:{click:function(e){o.showManageAllUserDialog=!1}}},[e._v(e._s(o.t("Cancel")))]),t("span",{staticClass:"agree",on:{click:o.doToggleManageMember}},[e._v(e._s(o.dialogActionInfo))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.dialogTitleInfo)+" ")])])],1)},Ta=[],ba=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{directives:[{name:"tap",rawName:"v-tap",value:o.handleMemberItemClick,expression:"handleMemberItemClick"}],ref:e=>o.setMemberItemRef(e),staticClass:"member-item-container"},[t(o.MemberInfo,{ref:e=>o.setMemberInfoRef(e),attrs:{"show-state-icon":!0,"user-info":e.userInfo}}),o.showMemberControl?t(o.MemberControl,{ref:e=>o.setMemberControlRef(e),attrs:{"user-info":e.userInfo},on:{"on-close-control":o.handleCloseControl}}):e._e()],1)},Ma=[],wa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:[o.isMobile?"member-info-mobile":"member-info"]},[t("div",{staticClass:"member-basic-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":e.userInfo.avatarUrl}}),t("div",{staticClass:"user-name"},[e._v(e._s(e.userInfo.userName||e.userInfo.userId))]),o.isMaster&&o.isMe?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Host"))+", "+e._s(o.t("Me"))+" ")]):o.isMe?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Me"))+" ")]):o.basicStore.masterUserId===e.userInfo.userId?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Host"))+" ")]):e._e()],1),!o.isMe&&e.showStateIcon?t("div",{staticClass:"member-av-state"},[e.userInfo.onSeat?t("div",[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":e.userInfo.hasAudioStream?o.ICON_NAME.MicOn:o.ICON_NAME.MicOff,size:"large"}}),t(o.SvgIcon,{staticClass:"setting-icon video-icon",attrs:{"icon-name":e.userInfo.hasVideoStream?o.ICON_NAME.CameraOn:o.ICON_NAME.CameraOff,size:"large"}})],1):e._e(),e.userInfo.onSeat||e.userInfo.isUserApplyingToAnchor?e._e():t("div",[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.MicOffDisabled,size:"large"}}),t(o.SvgIcon,{staticClass:"setting-icon video-icon",attrs:{"icon-name":o.ICON_NAME.CameraOffDisabled,size:"large"}})],1),!e.userInfo.onSeat&&e.userInfo.isUserApplyingToAnchor?t("div",[t(o.SvgIcon,{attrs:{"icon-name":"apply-active"}})],1):e._e()]):e._e()])},ka=[],Ua=(0,r.defineComponent)({__name:"MemberInfo",props:{userInfo:null,showStateIcon:null},setup(e){const t=e,{t:o}=(0,C.Q)(),n=(0,g.o)(),a=(0,h.A)(),{isMaster:s}=(0,c.Jk)(a),i=(0,r.computed)((()=>n.userId===t.userInfo.userId));return{__sfc:!0,t:o,props:t,basicStore:n,roomStore:a,isMaster:s,isMe:i,Avatar:A.Z,ICON_NAME:st.Z,SvgIcon:T.Z,isMobile:$.t}}}),Aa=Ua,xa=(0,w.Z)(Aa,wa,ka,!1,null,"0325ed23",null),La=xa.exports,Ea=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.isMe?e._e():t("div",{staticClass:"member-control-container"},[t("div",{staticClass:"member-title"},[t("img",{staticClass:"avatar-url",attrs:{src:e.userInfo.avatarUrl||o.defaultAvatar}}),t("div",{staticClass:"member-title-content"},[e._v(e._s(e.userInfo.userName||e.userInfo.userId))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap.stop",value:o.handleCloseControl,expression:"handleCloseControl",modifiers:{stop:!0}}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.controlList,(function(n,a){return t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>n.func(e.userInfo),expression:"() => item.func(userInfo)"}],key:a,staticClass:"user-operate-item"},[t(o.SvgIcon,{staticClass:"icon-svg",attrs:{"icon-name":n.iconName}}),t("div",{staticClass:"control-title"},[e._v(e._s(n.title))])],1)}))],2)},Da=[],Na=o(7717),Oa=(0,r.defineComponent)({__name:"MemberControlH5",props:{userInfo:null},emits:["on-close-control"],setup(e,{emit:t}){const o=e,n=(0,_.Z)(),{t:a}=(0,C.Q)(),s=(0,g.o)(),i=(0,h.A)(),{agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d}=kt(),p=(0,r.computed)((()=>s.userId===o.userInfo.userId)),f=(0,r.computed)((()=>!0===o.userInfo.onSeat)),I=(0,r.computed)((()=>!0!==o.userInfo.onSeat)),S=(0,r.computed)((()=>i.isFreeSpeakMode)),y=(0,r.computed)((()=>i.isSpeakAfterTakingSeatMode)),R=(0,r.computed)((()=>f.value?a("Step down"):o.userInfo.isInvitingUserToAnchor?a("Cancel stage"):a("Invite stage")));async function b(e){const{isInvitingUserToAnchor:t}=e;t?m(e):u(e)}const M=(0,r.computed)((()=>({iconName:"apply",title:R.value,func:b}))),w=(0,r.computed)((()=>({iconName:"apply",title:a("Step down"),func:d}))),k=(0,r.computed)((()=>({iconName:"apply",title:a("Agree to the stage"),func:l}))),U=(0,r.computed)((()=>({iconName:"apply",title:a("Refuse stage"),func:c}))),A=(0,r.computed)((()=>o.userInfo.hasAudioStream?a("Mute"):o.userInfo.isRequestingUserOpenMic?a("Cancel Unmute"):a("Unmute"))),x=(0,r.computed)((()=>({iconName:"mic-on",title:A.value,func:j}))),L=(0,r.computed)((()=>o.userInfo.hasVideoStream?a("Disable video"):o.userInfo.isRequestingUserOpenCamera?a("Cancel Enable video"):a("Enable video"))),E=(0,r.computed)((()=>({iconName:"camera-on",title:L.value,func:V}))),D=(0,r.computed)((()=>o.userInfo.isChatMutedByMaster?a("Enable chat"):a("Disable chat"))),N=(0,r.computed)((()=>({iconName:"chat",title:D.value,func:q}))),O=(0,r.computed)((()=>({iconName:"invite",title:a("Kick out"),func:P}))),Z=(0,r.computed)((()=>{const e={freeSpeech:[x.value,E.value,N.value,O.value],applySpeechAndAnchor:[x.value,E.value,w.value,N.value,O.value],applySpeechAndIsApplyingToAnchor:[k.value,U.value,N.value,O.value],applySpeechAndAudience:[M.value,N.value,O.value],default:[N.value,O.value]};return S.value?e.freeSpeech:y.value&&f.value?e.applySpeechAndAnchor:y.value&&I.value&&o.userInfo.isUserApplyingToAnchor?e.applySpeechAndIsApplyingToAnchor:y.value&&I.value&&!o.userInfo.isUserApplyingToAnchor?e.applySpeechAndAudience:e.default}));async function j(e){if(e.hasAudioStream)await(n.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone}));else if(e.isRequestingUserOpenMic){const t=e.requestUserOpenMicRequestId;t&&await(n.instance?.cancelRequest({requestId:t})),i.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}else{const t=await(n.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone,timeout:0,requestCallback:()=>{i.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&i.setRequestUserOpenMic({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}async function V(e){if(e.hasVideoStream)await(n.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera}));else if(e.isRequestingUserOpenCamera){const t=e.requestUserOpenCameraRequestId;t&&await(n.instance?.cancelRequest({requestId:t})),i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}else{const t=await(n.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera,timeout:0,requestCallback:()=>{i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}function q(e){const t=e.isChatMutedByMaster;i.setMuteUserChat(e.userId,!t),n.instance?.disableSendingMessageByAdmin({userId:e.userId,isDisable:!t})}function P(e){n.instance?.kickRemoteUserOutOfRoom({userId:e.userId})}function B(){t("on-close-control")}return{__sfc:!0,roomEngine:n,t:a,basicStore:s,roomStore:i,agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d,emit:t,props:o,isMe:p,isAnchor:f,isAudience:I,isFreeSpeechMode:S,isSpeakAfterTakingSeat:y,requestStageTitle:R,toggleInviteUserOnStage:b,toggleInviteStage:M,makeOffStage:w,agreeOnStage:k,denyOnStage:U,audioControlTitle:A,audioControl:x,videoControlTitle:L,videoControl:E,chatControlTitle:D,forbidChat:N,kickUser:O,controlList:Z,muteUserAudio:j,muteUserVideo:V,disableUserChat:q,kickOffUser:P,handleCloseControl:B,defaultAvatar:Na,SvgIcon:T.Z,isWeChat:$.e}}}),Za=Oa,ja=(0,w.Z)(Za,Ea,Da,!1,null,"d259161c",null),Va=ja.exports,qa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.isMe?e._e():t("div",{staticClass:"member-control-container"},[t("div",{staticClass:"mute-btn",on:{click:function(t){return o.singleControl.func(e.userInfo)}}},[e._v(" "+e._s(o.singleControl.title)+" ")]),t("div",{staticClass:"more-container",on:{click:o.handlePopUp}},[t("div",{staticClass:"more-btn",on:{click:o.toggleClickMoreBtn}},[e._v(" "+e._s(o.t("More"))+" "),t(o.SvgIcon,{staticClass:"more-icon",attrs:{"icon-name":o.ICON_NAME.ArrowBorderDown}})],1),t("div",{directives:[{name:"show",rawName:"v-show",value:o.showMoreControl,expression:"showMoreControl"}],class:o.dropdownClass,attrs:{id:"operate-list"},on:{mouseleave:o.handleMouseLeave}},e._l(o.controlList,(function(o,n){return t("div",{key:n,staticClass:"user-operate-item",on:{click:function(t){return o.func(e.userInfo)}}},[e._v(" "+e._s(o.title)+" ")])})),0)])])},Pa=[],$a=(o(541),(0,r.defineComponent)({__name:"MemberControlPC",props:{userInfo:null},setup(e){const t=e,o=(0,_.Z)(),{t:n}=(0,C.Q)(),a=(0,g.o)(),s=(0,h.A)(),i=(0,r.ref)(""),{agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d}=kt(),p=(0,r.ref)(!1),f=(0,r.computed)((()=>a.userId===t.userInfo.userId)),I=(0,r.computed)((()=>!0===t.userInfo.onSeat)),S=(0,r.computed)((()=>!0!==t.userInfo.onSeat)),y=(0,r.computed)((()=>s.isFreeSpeakMode)),R=(0,r.computed)((()=>s.isSpeakAfterTakingSeatMode));function b(){const e=document.getElementById("operate-list"),t=document.getElementById("roomContainer"),o=null!==e&&e.getBoundingClientRect().bottom,n=null!==t&&t.offsetHeight;i.value=o>n?"user-operate-list dropdownUp":"user-operate-list"}const M=(0,r.computed)((()=>{const e={title:"",func:e=>{}};return y.value?(e.title=t.userInfo.hasAudioStream?n("Mute"):t.userInfo.isRequestingUserOpenMic?n("Cancel Unmute"):n("Unmute"),e.func=j):R.value&&(I.value?(e.title=t.userInfo.hasAudioStream?n("Mute"):t.userInfo.isRequestingUserOpenMic?n("Cancel Unmute"):n("Unmute"),e.func=j):S.value&&(t.userInfo.isUserApplyingToAnchor?(e.title=n("Agree to the stage"),e.func=l):(e.title=t.userInfo.isInvitingUserToAnchor?n("Cancel stage"):n("Invite stage"),e.func=Z))),e})),w=(0,r.computed)((()=>({title:n("Refuse stage"),func:c}))),k=(0,r.computed)((()=>({title:n("Step down"),func:d}))),U=(0,r.computed)((()=>t.userInfo.hasVideoStream?n("Disable video"):t.userInfo.isRequestingUserOpenCamera?n("Cancel Enable video"):n("Enable video"))),A=(0,r.computed)((()=>({title:U.value,func:V}))),x=(0,r.computed)((()=>t.userInfo.isChatMutedByMaster?n("Enable chat"):n("Disable chat"))),L=(0,r.computed)((()=>({title:x.value,func:q}))),E=(0,r.computed)((()=>({title:n("Kick out"),func:P}))),D=(0,r.computed)((()=>{const e=[L.value,E.value];return y.value&&e.unshift(A.value),I.value&&R.value&&(e.unshift(A.value),e.splice(1,0,k.value)),S.value&&t.userInfo.isUserApplyingToAnchor&&e.splice(0,0,w.value),e}));function N(){p.value=!p.value}function O(){p.value=!1}async function Z(e){const{isInvitingUserToAnchor:t}=e;t?m(e):u(e)}async function j(e){if(e.hasAudioStream)await(o.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone}));else if(e.isRequestingUserOpenMic){const t=e.requestUserOpenMicRequestId;t&&await(o.instance?.cancelRequest({requestId:t})),s.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}else{const t=await(o.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone,timeout:0,requestCallback:()=>{s.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&s.setRequestUserOpenMic({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}async function V(e){if(e.hasVideoStream)await(o.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera}));else if(e.isRequestingUserOpenCamera){const t=e.requestUserOpenCameraRequestId;t&&await(o.instance?.cancelRequest({requestId:t})),s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}else{const t=await(o.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera,timeout:0,requestCallback:()=>{s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}function q(e){const t=e.isChatMutedByMaster;s.setMuteUserChat(e.userId,!t),o.instance?.disableSendingMessageByAdmin({userId:e.userId,isDisable:!t})}function P(e){o.instance?.kickRemoteUserOutOfRoom({userId:e.userId})}return{__sfc:!0,roomEngine:o,t:n,basicStore:a,roomStore:s,dropdownClass:i,agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d,props:t,showMoreControl:p,isMe:f,isAnchor:I,isAudience:S,isFreeSpeechMode:y,isSpeakAfterTakingSeat:R,handlePopUp:b,singleControl:M,denyOnStage:w,makeOffStage:k,videoControlTitle:U,videoControl:A,chatControlTitle:x,forbidChat:L,kickUser:E,controlList:D,toggleClickMoreBtn:N,handleMouseLeave:O,toggleInviteUserOnStage:Z,muteUserAudio:j,muteUserVideo:V,disableUserChat:q,kickOffUser:P,ICON_NAME:st.Z,SvgIcon:T.Z}}})),Ba=$a,Fa=(0,w.Z)(Ba,qa,Pa,!1,null,"28dfca21",null),Ha=Fa.exports;const za=$.t?Va:Ha;var Qa=za;function Ja(){const e=(0,r.ref)(!1);function t(){e.value=!0}function o(){e.value=!1}const n=(0,r.ref)();function a(e){n.value=e}const s=(0,r.ref)(),i=(0,r.ref)();function l(e){s.value=e}function c(e){i.value=e}function u(){e.value||(e.value=!0)}async function m(){await(0,r.nextTick)(),e.value=!1}function d(t){e.value&&n.value&&!n.value.contains(t.target)&&(e.value=!1)}return{showMemberControl:e,handleMouseEnter:t,handleMouseLeave:o,setMemberItemRef:a,setMemberInfoRef:l,setMemberControlRef:c,handleMemberItemClick:u,handleDocumentClick:d,handleCloseControl:m}}var Wa=(0,r.defineComponent)({__name:"indexH5",props:{userInfo:null},setup(e){const{showMemberControl:t,setMemberItemRef:o,setMemberInfoRef:n,setMemberControlRef:a,handleMemberItemClick:s,handleDocumentClick:i,handleCloseControl:l}=Ja();return(0,r.onMounted)((()=>{document.addEventListener("click",i,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",i,!0)})),{__sfc:!0,showMemberControl:t,setMemberItemRef:o,setMemberInfoRef:n,setMemberControlRef:a,handleMemberItemClick:s,handleDocumentClick:i,handleCloseControl:l,MemberInfo:La,MemberControl:Qa}}}),Ga=Wa,Ka=(0,w.Z)(Ga,ba,Ma,!1,null,"51bdd126",null),Ya=Ka.exports,Xa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"member-item-container",on:{mouseenter:o.handleMouseEnter,mouseleave:o.handleMouseLeave}},[t(o.MemberInfo,{attrs:{"user-info":e.userInfo,"show-state-icon":!o.showMemberControl}}),t(o.MemberControl,{directives:[{name:"show",rawName:"v-show",value:o.showMemberControl,expression:"showMemberControl"}],attrs:{"user-info":e.userInfo}})],1)},es=[],ts=(0,r.defineComponent)({__name:"indexPC",props:{userInfo:null},setup(e){const{showMemberControl:t,handleMouseEnter:o,handleMouseLeave:n}=Ja();return{__sfc:!0,showMemberControl:t,handleMouseEnter:o,handleMouseLeave:n,MemberInfo:La,MemberControl:Qa}}}),os=ts,ns=(0,w.Z)(os,Xa,es,!1,null,"2d674c35",null),as=ns.exports;const ss=$.t?Ya:as;var is=ss;function rs(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=(0,g.o)(),n=(0,h.A)(),{isMicrophoneDisableForAllUser:a,isCameraDisableForAllUser:s}=(0,c.Jk)(n),i=(0,r.computed)((()=>n.isMicrophoneDisableForAllUser?t("Lift all mute"):t("All mute"))),l=(0,r.computed)((()=>n.isCameraDisableForAllUser?t("Lift stop all video"):t("All stop video"))),u=(0,r.ref)(!1),m=(0,r.ref)(""),d=(0,r.ref)("");let p;(function(e){e["AUDIO"]="audio",e["VIDEO"]="video",e["Message"]="message"})(p||(p={}));const f=(0,r.ref)(p.AUDIO);async function I(e){switch(u.value=!0,f.value=e,e){case p.AUDIO:m.value=n.isMicrophoneDisableForAllUser?t("Can you lift all mute"):t("All current and new members will be muted."),await(0,r.nextTick)(),d.value=i.value;break;case p.VIDEO:m.value=n.isCameraDisableForAllUser?t("Should we turn on the video for everyone"):t("All current and new members will turn off their videos."),await(0,r.nextTick)(),d.value=l.value;break;default:break}}async function S(){switch(f.value){case p.AUDIO:R();break;case p.VIDEO:T();break;default:break}u.value=!1}function y(){o.setShowApplyUserList(!0)}async function R(){const t=!a.value;await(e.instance?.disableDeviceForAllUserByAdmin({isDisable:t,device:v.TUIMediaDevice.kMicrophone})),n.setMicrophoneDisableState(t)}async function T(){const t=!s.value;await(e.instance?.disableDeviceForAllUserByAdmin({isDisable:t,device:v.TUIMediaDevice.kCamera})),n.setCameraDisableState(t)}return{showApplyUserLit:y,toggleAllAudio:R,toggleAllVideo:T,t:t,toggleManageMember:I,doToggleManageMember:S,audioManageInfo:i,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p}}var ls=(0,r.defineComponent)({__name:"indexH5",setup(e){const t=(0,h.A)(),{userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i}=(0,c.Jk)(t),{audioManageInfo:r,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p,toggleManageMember:v,doToggleManageMember:f,t:g}=rs();return{__sfc:!0,roomStore:t,userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i,audioManageInfo:r,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p,toggleManageMember:v,doToggleManageMember:f,t:g,MemberItem:is,Dialog:Z.Z}}}),cs=ls,us=(0,w.Z)(cs,Ra,Ta,!1,null,"746e3a0c",null),ms=us.exports,ds=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-container"},[o.applyToAnchorList.length>0?t("div",{staticClass:"apply-on-stage-info"},[t("div",{staticClass:"apply-info"},[e._v(" "+e._s(`${o.applyToAnchorList[0].userName||o.applyToAnchorList[0].userId} ${o.t("Applying for the stage")}`)+" ")]),t("div",{staticClass:"button",on:{click:o.showApplyUserLit}},[e._v(e._s(o.t("Check")))])]):e._e(),t("div",{staticClass:"global-setting"},[t("div",{staticClass:"setting-item"},[t("div",{staticClass:"item-left-section"},[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.MicOn,size:"large"}}),t("span",{staticClass:"setting-name"},[e._v(e._s(o.t("Disable all audios")))])],1),t("div",{staticClass:"item-right-section"},[t("el-switch",{attrs:{value:o.isMicrophoneDisableForAllUser},on:{change:o.toggleAllAudio}})],1)]),t("div",{staticClass:"setting-item"},[t("div",{staticClass:"item-left-section"},[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.CameraOn,size:"large"}}),t("span",{staticClass:"setting-name"},[e._v(e._s(o.t("Disable all videos")))])],1),t("div",{staticClass:"item-right-section"},[t("el-switch",{attrs:{value:o.isCameraDisableForAllUser},on:{change:o.toggleAllVideo}})],1)])]),t("div",{staticClass:"divide-line"}),t("div",{staticClass:"member-list-container"},[t("div",{staticClass:"member-list-header"},[e._v(" "+e._s(o.t("Member List"))+" "),t("span",{staticClass:"member-count"},[e._v("("+e._s(o.userNumber)+e._s(o.t("members"))+")")])]),t("div",{staticClass:"member-list-content"},e._l(o.userList,(function(e){return t(o.MemberItem,{key:e.userId,attrs:{"user-info":e}})})),1)])])},ps=[],vs=(0,r.defineComponent)({__name:"indexPC",setup(e){const t=(0,h.A)(),{userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i}=(0,c.Jk)(t),{t:r,showApplyUserLit:l,toggleAllAudio:u,toggleAllVideo:m}=rs();return{__sfc:!0,roomStore:t,userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i,t:r,showApplyUserLit:l,toggleAllAudio:u,toggleAllVideo:m,MemberItem:is,SvgIcon:T.Z,ICON_NAME:st.Z}}}),fs=vs,gs=(0,w.Z)(fs,ds,ps,!1,null,"74166061",null),hs=gs.exports;const Cs=$.t?ms:hs;var _s=Cs;function Is(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=Ct(),n=(0,g.o)(),{isSidebarOpen:a,sidebarName:s}=(0,c.Jk)(n),i=(0,r.computed)((()=>a.value&&"transfer-leave"!==s.value)),l=(0,r.computed)((()=>{let e="";switch(s.value){case"chat":e="Chat";break;case"invite":e="Invite";break;case"more":e="More";break;case"manage-member":e="Member management";break;default:break}return t(e)}));function u(e){n.setSidebarOpenStatus(!1),n.setSidebarName(""),e()}const m=e=>{I.Z.warn("onReceiveTextMessage:",e),n.isSidebarOpen&&"chat"===n.sidebarName||o.updateUnReadCount(++o.unReadCount)};return f().once("ready",(()=>{e.instance?.on(v.TUIRoomEvents.onReceiveTextMessage,m)})),(0,r.onUnmounted)((()=>{e.instance?.off(v.TUIRoomEvents.onReceiveTextMessage,m)})),{t:t,isSidebarOpen:a,title:l,sidebarName:s,handleClose:u,showSideBar:i}}var Ss=(0,r.defineComponent)({__name:"indexH5",setup(e){const{title:t,sidebarName:o,showSideBar:n}=Is();return{__sfc:!0,title:t,sidebarName:o,showSideBar:n,Chat:ya,ManageMember:_s,popup:U,ChatEditor:Ca}}}),ys=Ss,Rs=(0,w.Z)(ys,Un,An,!1,null,"40f5a35a",null),Ts=Rs.exports,bs=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"sidebar-container"},[t(o.Drawer,{attrs:{"model-value":o.isSidebarOpen,modal:!1,title:o.title,direction:"rtl","before-close":o.handleClose,size:480}},["chat"==o.sidebarName?t(o.Chat):e._e(),"invite"==o.sidebarName?t(o.RoomInvite):e._e(),"more"==o.sidebarName?t(o.RoomMore):e._e(),"manage-member"==o.sidebarName?t(o.ManageMember):e._e()],1)],1)},Ms=[],ws=o(4679),ks=(0,r.defineComponent)({__name:"indexPC",setup(e){const{isSidebarOpen:t,title:o,handleClose:n,sidebarName:a}=Is();return{__sfc:!0,isSidebarOpen:t,title:o,handleClose:n,sidebarName:a,Chat:ya,Drawer:ws.Z,RoomInvite:lo,ManageMember:_s,RoomMore:Ao}}}),Us=ks,As=(0,w.Z)(Us,bs,Ms,!1,null,null,null),xs=As.exports;const Ls=$.t?Ts:xs;var Es=Ls,Ds=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"content-container"},[t(o.StreamContainer,{attrs:{"show-room-tool":e.showRoomTool}})],1)},Ns=[],Os=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{ref:"streamContainerRef",staticClass:"stream-container",on:{touchstart:o.handleTouchStart,touchend:o.handleTouchEnd}},[t("div",{class:o.streamContainerClass},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.layout===o.LAYOUT.LARGE_SMALL_WINDOW,expression:"layout === LAYOUT.LARGE_SMALL_WINDOW"}],ref:"enlargedContainerRef",staticClass:"enlarged-stream-container"},[o.enlargeStream?t(o.StreamRegion,{attrs:{stream:o.enlargeStream}}):e._e()],1),t("div",{staticClass:"stream-list-container",class:[o.onlyVideoStreamList.length>1?"multi-stream-container":"single-stream-container"]},[t("div",{ref:"streamListRef",class:["stream-list",""+(o.isFirstPageInSixPointLayout?"":"not-first-page")]},e._l(o.onlyVideoStreamList,(function(n){return t(o.StreamRegion,{directives:[{name:"show",rawName:"v-show",value:o.showStreamList.indexOf(n)>-1,expression:"showStreamList.indexOf(stream) > -1"}],key:`${n.userId}_${n.streamType}`,class:[o.onlyVideoStreamList.length>1?"multi-stream":"single-stream"],attrs:{stream:n,"enlarge-dom-id":o.enlargeDomId,"show-room-tool":e.showRoomTool}})})),1)])]),o.totalPageNumber>1?t("div",{staticClass:"swipe"},e._l(o.totalPageNumber,(function(e,n){return t("div",{key:e,staticClass:"swipe-dots",class:[o.isActiveDot(n)?"swipe-current-dots":""]})})),0):e._e()])},Zs=[],js=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.playRegionDomId!==e.enlargeDomId?t("div",{ref:"streamRegionRef",staticClass:"user-stream-container",class:[o.showVoiceBorder?"border":""]},[t("div",{staticClass:"stream-region",attrs:{id:o.playRegionDomId}}),e.stream.hasVideoStream||e.stream.hasScreenStream?e._e():t("div",{staticClass:"center-user-info-container"},[t("img",{staticClass:"avatar-region",attrs:{src:e.stream.avatarUrl||o.defaultAvatar}})]),t("div",{staticClass:"corner-user-info-container"},[o.showMasterIcon?t(o.SvgIcon,{staticClass:"master-icon",attrs:{size:"custom","icon-name":"user"}}):e._e(),o.isScreenStream?e._e():t(o.AudioIcon,{staticClass:"audio-icon",attrs:{"audio-volume":e.stream.audioVolume,"is-muted":!e.stream.hasAudioStream,size:"small"}}),o.isScreenStream?t(o.SvgIcon,{staticClass:"screen-icon",attrs:{"icon-name":"screen-share"}}):e._e(),t("span",{staticClass:"user-name",attrs:{title:o.userInfo}},[e._v(e._s(o.userInfo))]),o.isScreenStream?t("span",[e._v(" "+e._s(o.t("is sharing their screen"))+" ")]):e._e()],1)]):e._e()},Vs=[],qs=(0,r.defineComponent)({__name:"StreamRegionH5",props:{stream:null,enlargeDomId:null},setup(e){const t=e,o=(0,_.Z)(),n="[StreamRegion]",a=(0,g.o)(),s=(0,h.A)(),{t:i}=(0,C.Q)(),l=(0,r.ref)(),c=(0,r.computed)((()=>0!==t.stream?.audioVolume&&t.stream?.streamType!==v.TUIVideoStreamType.kScreenStream)),u=(0,r.computed)((()=>`${t.stream.userId}_${t.stream.streamType}`)),m=(0,r.computed)((()=>{const{userId:e,streamType:o}=t.stream;return e===s.masterUserId&&o===v.TUIVideoStreamType.kCameraStream})),d=(0,r.computed)((()=>t.stream.streamType===v.TUIVideoStreamType.kScreenStream)),p=(0,r.computed)((()=>dn.Uh?`${t.stream.userName} | ${t.stream.userId}`||t.stream.userId:t.stream.userName||t.stream.userId));return(0,r.onMounted)((()=>{(0,r.watch)((()=>t.stream.hasVideoStream),(async e=>{if(e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);if(e)if(I.Z.debug(`${n}watch isVideoStreamAvailable:`,t.stream.userId,e),a.userId===t.stream.userId)t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${u.value}`}));else{o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}));const e=o.instance?.getTRTCCloud();await(e?.setRemoteRenderParams(t.stream.userId,v.TRTCVideoStreamType.TRTCVideoStreamTypeBig,{mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}}}),{immediate:!0})})),(0,r.onMounted)((()=>{(0,r.watch)((()=>t.stream.hasScreenStream),(async e=>{if(e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);if(e){I.Z.debug(`${n}watch isScreenStreamAvailable:`,t.stream.userId,e),o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}));const a=o.instance?.getTRTCCloud();await(a?.setRemoteRenderParams(t.stream.userId,v.TRTCVideoStreamType.TRTCVideoStreamTypeSub,{mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fit}))}}}),{immediate:!0})})),(0,r.onMounted)((()=>{(0,r.watch)((()=>t.enlargeDomId),(async(e,n)=>{if(u.value===n||u.value===e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);e&&(a.userId===t.stream.userId?t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${u.value}`})):(o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}))))}}))})),{__sfc:!0,roomEngine:o,logPrefix:n,basicStore:a,roomStore:s,t:i,props:t,streamRegionRef:l,showVoiceBorder:c,playRegionDomId:u,showMasterIcon:m,isScreenStream:d,userInfo:p,defaultAvatar:Na,AudioIcon:Ge.Z,SvgIcon:T.Z}}}),Ps=qs,$s=(0,w.Z)(Ps,js,Vs,!1,null,"9adfd868",null),Bs=$s.exports,Fs=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.playRegionDomId!==e.enlargeDomId?t("div",{ref:"streamRegionRef",staticClass:"user-stream-container",on:{dblclick:function(t){return e.$emit("room_dblclick")}}},[o.loading?t("div",{staticClass:"loading-region"},[t(o.SvgIcon,{staticClass:"loading",attrs:{"icon-name":"loading"}})],1):e._e(),t("div",{staticClass:"stream-region",attrs:{id:o.playRegionDomId}}),e.stream.hasVideoStream||e.stream.hasScreenStream?e._e():t("div",{ref:"centerUserInfoRef",staticClass:"center-user-info-container"},[t(o.Avatar,{staticClass:"avatar-region",attrs:{"img-src":e.stream.avatarUrl}})],1),t("div",{staticClass:"corner-user-info-container"},[o.showMasterIcon?t(o.SvgIcon,{staticClass:"master-icon",attrs:{"icon-name":"user"}}):e._e(),o.isScreenStream?e._e():t(o.AudioIcon,{attrs:{"audio-volume":e.stream.audioVolume,"is-muted":!e.stream.hasAudioStream,size:"small"}}),o.isScreenStream?t(o.SvgIcon,{staticClass:"screen-icon",attrs:{"icon-name":"screen-share"}}):e._e(),t("span",{staticClass:"user-name",attrs:{title:o.userInfo}},[e._v(e._s(o.userInfo))]),o.isScreenStream?t("span",[e._v(" "+e._s(o.t("is sharing their screen"))+" ")]):e._e()],1)]):e._e()},Hs=[],zs=(0,r.defineComponent)({__name:"StreamRegionPC",props:{stream:null,enlargeDomId:null,changeLargeStream:{type:Boolean}},setup(e){const t=e,o=(0,_.Z)(),n="[StreamRegion]",a=(0,g.o)(),s=(0,h.A)(),{t:i}=(0,C.Q)(),l=(0,r.ref)(),c=(0,r.ref)(),u=(0,r.ref)(!1),m=(0,r.computed)((()=>`${t.stream.userId}_${t.stream.streamType}`)),d=(0,r.computed)((()=>{const{userId:e,streamType:o}=t.stream;return e===s.masterUserId&&o===v.TUIVideoStreamType.kCameraStream})),p=(0,r.computed)((()=>t.stream.streamType===v.TUIVideoStreamType.kScreenStream)),f=(0,r.computed)((()=>dn.Uh?`${t.stream.userName} | ${t.stream.userId}`||t.stream.userId:t.stream.userName||t.stream.userId)),S=(0,r.computed)((()=>{const{streamType:e,userId:o}=t.stream,{kScreenStream:n,kCameraStream:i}=v.TUIVideoStreamType,{defaultStreamType:r}=s,{userId:l}=a;return e===n?n:m.value===t.enlargeDomId||o===l?i:e===i?r:e})),y=async()=>{const{userId:e}=t.stream;u.value=!0,o.instance?.setRemoteVideoView({userId:e,streamType:S.value,view:`${m.value}`}),await(o.instance?.startPlayRemoteVideo({userId:e,streamType:S.value})),u.value=!1},R=async()=>{u.value=!1,await(o.instance?.stopPlayRemoteVideo({userId:t.stream.userId,streamType:S.value}))};return t.stream.streamType!==v.TUIVideoStreamType.kCameraStream&&t.stream.streamType!==v.TUIVideoStreamType.kCameraStreamLow||(0,r.watch)((()=>[t.stream.hasVideoStream,t.stream.isVisible]),(async(e,o)=>{if(t.stream.userId===a.userId)return;const[s,i]=e;if(s&&i){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(I.Z.debug(`${n}watch isVideoStreamAvailable:`,t.stream.userId,e),await y())}if(o){const[e,t]=o;!e||!t||s&&i||await R()}}),{immediate:!0}),t.stream.streamType===v.TUIVideoStreamType.kScreenStream&&(0,r.watch)((()=>[t.stream.hasScreenStream,t.stream.isVisible]),(async(e,o)=>{const[a,s]=e;if(a&&s){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(I.Z.debug(`${n}watch isScreenStreamAvailable:`,t.stream.userId,e),await y())}if(o){const[e,t]=o;!e||!t||a&&s||await R()}}),{immediate:!0}),(0,r.watch)((()=>t.enlargeDomId),(async(e,n)=>{if(m.value===n||m.value===e){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(a.userId===t.stream.userId?t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:S.value,view:`${m.value}`})):await y())}}),{immediate:!0}),{__sfc:!0,roomEngine:o,logPrefix:n,basicStore:a,roomStore:s,t:i,props:t,streamRegionRef:l,centerUserInfoRef:c,loading:u,playRegionDomId:m,showMasterIcon:d,isScreenStream:p,userInfo:f,streamTypeToFetch:S,startPlayRemoteVideo:y,stopPlayRemoteVideo:R,Avatar:A.Z,AudioIcon:Ge.Z,SvgIcon:T.Z}}}),Qs=zs,Js=(0,w.Z)(Qs,Fs,Hs,!1,null,"693d2878",null),Ws=Js.exports;const Gs=$.t?Bs:Ws;var Ks=Gs;const Ys="[StreamContainer]";function Xs(){const e=(0,_.Z)(),t=(0,g.o)(),o=(0,h.A)(),{t:n}=(0,C.Q)(),a=e=>{o.addRemoteUser(e.userInfo)},s=e=>{o.removeRemoteUser(e.userInfo.userId)},i=e=>{const{seatList:t,seatedList:n,leftList:a}=e;o.updateOnSeatList(t,n,a)},u=e=>{const{userId:a,hasAudio:s,reason:i}=e;o.updateUserAudioState(a,s),a!==t.userId||s||i!==v.TUIChangeReason.kChangedByAdmin||((0,l.z)({type:"warning",message:n("The host has turned off your microphone"),duration:Ke.U.NORMAL}),o.setCanControlSelfAudio(!o.isMicrophoneDisableForAllUser))},{isDefaultOpenCamera:m,isDefaultOpenMicrophone:d,isLocalAudioIconDisable:p,isLocalVideoIconDisable:f}=(0,c.Jk)(o);return(0,r.watch)(m,(async n=>{if(n&&!f.value)if($.e)await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),await(e.instance?.openLocalCamera({isFrontCamera:t.isFrontCamera}));else{if($.t){const n=document?.getElementById(`${o.localStream.userId}_${o.localStream.streamType}`);return n?(await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),void await(e.instance?.openLocalCamera({isFrontCamera:t.isFrontCamera}))):void I.Z.error(`${Ys}watch isDefaultOpenCamera:`,m,n)}{const t=document?.getElementById(`${o.localStream.userId}_${o.localStream.streamType}`);if(!t)return void I.Z.error(`${Ys}watch isDefaultOpenCamera:`,m,t);if(!o.currentCameraId){const t=await(e.instance?.getCameraDevicesList());t&&t.length>0&&o.setCurrentCameraId(t[0].deviceId)}await(e.instance?.setCurrentCameraDevice({deviceId:o.currentCameraId})),await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),await(e.instance?.openLocalCamera())}}})),(0,r.watch)(d,(async t=>{if(t&&!p.value&&(await(e.instance?.openLocalMicrophone()),!$.e&&!$.t)){const t=await(e.instance?.getMicDevicesList()),n=await(e.instance?.getSpeakerDevicesList());if(0===t?.length||0===n?.length)return;!o.currentMicrophoneId&&t.length>0&&o.setCurrentMicrophoneId(t[0].deviceId),!o.currentSpeakerId&&n.length>0&&o.setCurrentSpeakerId(n[0].deviceId),await(e.instance?.setCurrentMicDevice({deviceId:o.currentMicrophoneId}))}})),{onRemoteUserEnterRoom:a,onRemoteUserLeaveRoom:s,onSeatListChanged:i,onUserAudioStateChanged:u,t:n}}var ei=(0,r.defineComponent)({__name:"StreamContainerH5",props:{showRoomTool:{type:Boolean}},setup(e){const t="[StreamContainer]",{onRemoteUserEnterRoom:o,onRemoteUserLeaveRoom:n,onSeatListChanged:a,onUserAudioStateChanged:s,t:i}=Xs(),u=(0,_.Z)(),m=(0,r.ref)(null),d=(0,h.A)(),{streamList:p,streamNumber:C,localStream:S,remoteStreamObj:y}=(0,c.Jk)(d),R=(0,g.o)();R.setLayout(Ee._.SIX_EQUAL_POINTS);const{layout:T}=(0,c.Jk)(R),b=(0,r.ref)(null),M=(0,r.computed)((()=>b.value?`${b.value.userId}_${b.value.streamType}`:"")),w=(0,r.ref)(""),k=(0,r.ref)(),U=(0,r.ref)(),A=(0,r.computed)((()=>p.value.filter((e=>e.streamType===v.TUIVideoStreamType.kCameraStream)))),x=(0,r.ref)(0);(0,r.watch)((()=>A.value.length),(e=>{if(T.value===Ee._.SIX_EQUAL_POINTS){const t=b.value?x.value-1:x.value;Math.ceil(e/6)0&&(x.value=x.value-1)}}));const L=(0,r.computed)((()=>T.value===Ee._.SIX_EQUAL_POINTS&&(b.value?1===x.value:0===x.value))),E=(0,r.computed)((()=>{if(T.value===Ee._.SIX_EQUAL_POINTS)return b.value?A.value.slice(6*(x.value-1),6*(x.value-1)+6):A.value.slice(6*x.value,6*x.value+6);if(T.value===Ee._.LARGE_SMALL_WINDOW){const e=b.value?.userId;return w.value?w.value===S.value.userId?[S.value]:[y.value[`${w.value}_${v.TUIVideoStreamType.kCameraStream}`]]:[y.value[`${e}_${v.TUIVideoStreamType.kCameraStream}`]]}return[]})),D=(0,r.computed)((()=>{const e=A.value.length>6?Math.ceil(C.value/6):1;return b.value?e+1:e}));function N(e){return T.value===Ee._.LARGE_SMALL_WINDOW?0===e:T.value===Ee._.SIX_EQUAL_POINTS&&e===x.value}function O(){0!==x.value&&(x.value=x.value-1,b.value&&0===x.value&&R.setLayout(Ee._.LARGE_SMALL_WINDOW))}function Z(){x.value!==D.value-1&&(x.value=x.value+1,T.value===Ee._.LARGE_SMALL_WINDOW&&R.setLayout(Ee._.SIX_EQUAL_POINTS))}const j=(0,r.ref)(),V=(0,r.ref)(),q=(0,r.computed)((()=>{let e="";switch(T.value){case Ee._.SIX_EQUAL_POINTS:e="stream-container-flatten";break;case Ee._.LARGE_SMALL_WINDOW:e="stream-container-large-small";break;default:break}return e}));function P(e){k.value=e?.changedTouches[0]?.pageX,U.value=e?.changedTouches[0]?.pageY}function $(e){const t=e?.changedTouches[0].pageX-k.value,o=e?.changedTouches[0].pageY-U.value;Math.abs(o)>Math.abs(t)||Math.abs(t)<5||(t<0&&Z(),t>0&&O())}const B=e=>{const{userId:o,streamType:n,hasVideo:a,reason:s}=e;d.updateUserVideoState(o,n,a),o!==R.userId||a||s!==v.TUIChangeReason.kChangedByAdmin||(n===v.TUIVideoStreamType.kCameraStream&&((0,l.z)({type:"warning",message:i("The host has turned off your camera"),duration:Ke.U.NORMAL}),d.setCanControlSelfVideo(!d.isCameraDisableForAllUser)),n===v.TUIVideoStreamType.kScreenStream&&(0,l.z)({type:"warning",message:i("The host has turned off your screen sharing"),duration:Ke.U.NORMAL})),o!==R.userId&&n===v.TUIVideoStreamType.kScreenStream&&(a?(b.value=d.remoteStreamObj[`${o}_${n}`],b.value&&(R.setLayout(Ee._.LARGE_SMALL_WINDOW),x.value=0)):o===b.value?.userId&&(I.Z.debug(`${t} onUserVideoStateChanged: stop`,o,n),u.instance?.stopPlayRemoteVideo({userId:o,streamType:n}),b.value&&(b.value=null),T.value===Ee._.LARGE_SMALL_WINDOW?(R.setLayout(Ee._.SIX_EQUAL_POINTS),x.value=0):T.value===Ee._.SIX_EQUAL_POINTS&&x.value>0&&(x.value=x.value-1)))};function F(e){if(w.value){const t=e.find((e=>e.userId===w.value));if(t&&t.volume>0)return}let t=0,o="";e.forEach((e=>{const{userId:n,volume:a}=e;a>t&&(t=a,o=n)})),w.value=0===t?"":o}const H=(0,se.P2)(F,1e3),z=e=>{const{userVolumeList:t}=e;T.value===Ee._.LARGE_SMALL_WINDOW&&(0===t.length?w.value="":H(t))};return f().once("ready",(()=>{u.instance?.on(v.TUIRoomEvents.onRemoteUserEnterRoom,o),u.instance?.on(v.TUIRoomEvents.onRemoteUserLeaveRoom,n),u.instance?.on(v.TUIRoomEvents.onSeatListChanged,a),u.instance?.on(v.TUIRoomEvents.onUserVideoStateChanged,B),u.instance?.on(v.TUIRoomEvents.onUserAudioStateChanged,s),u.instance?.on(v.TUIRoomEvents.onUserVoiceVolumeChanged,z)})),(0,r.onUnmounted)((()=>{u.instance?.off(v.TUIRoomEvents.onRemoteUserEnterRoom,o),u.instance?.off(v.TUIRoomEvents.onRemoteUserLeaveRoom,n),u.instance?.off(v.TUIRoomEvents.onSeatListChanged,a),u.instance?.off(v.TUIRoomEvents.onUserVideoStateChanged,B),u.instance?.off(v.TUIRoomEvents.onUserAudioStateChanged,s),u.instance?.off(v.TUIRoomEvents.onUserVoiceVolumeChanged,z)})),{__sfc:!0,logPrefix:t,onRemoteUserEnterRoom:o,onRemoteUserLeaveRoom:n,onSeatListChanged:a,onUserAudioStateChanged:s,t:i,roomEngine:u,streamContainerRef:m,roomStore:d,streamList:p,streamNumber:C,localStream:S,remoteStreamObj:y,basicStore:R,layout:T,enlargeStream:b,enlargeDomId:M,currentSpeakerUserId:w,startX:k,startY:U,onlyVideoStreamList:A,currentPageIndex:x,isFirstPageInSixPointLayout:L,showStreamList:E,totalPageNumber:D,isActiveDot:N,handleTurnPageLeft:O,handleTurnPageRight:Z,enlargedContainerRef:j,streamListRef:V,streamContainerClass:q,handleTouchStart:P,handleTouchEnd:$,onUserVideoStateChanged:B,handleLargestVoice:F,handleLargestVoiceThrottle:H,onUserVoiceVolumeChanged:z,LAYOUT:Ee._,StreamRegion:Ks}}}),ti=ei,oi=(0,w.Z)(ti,Os,Zs,!1,null,"3424abc2",null),ni=oi.exports,ai=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:o.streamContainerClass},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.showIconControl,expression:"showIconControl"}],ref:"enlargedContainerRef",staticClass:"enlarged-stream-container"},[o.enlargeStream?t(o.StreamRegion,{key:`${o.enlargeStream.userId}_${o.enlargeStream.streamType}`,style:o.enlargedStreamStyle,attrs:{stream:o.enlargeStream}}):e._e()],1),t("div",{class:["stream-list-container",""+(o.showSideList?"":"hide-list")]},[t("div",{ref:"streamListRef",staticClass:"stream-list"},e._l(o.streamList,(function(e){return t(o.StreamRegion,{directives:[{name:"show",rawName:"v-show",value:o.showStreamList.indexOf(e)>-1,expression:"showStreamList.indexOf(stream) > -1"}],key:`${e.userId}_${e.streamType}`,staticClass:"single-stream",style:o.streamStyle,attrs:{stream:e,"enlarge-dom-id":o.enlargeDomId},on:{room_dblclick:function(t){return o.handleEnlargeStreamRegion(e)}}})})),1)]),o.showIconControl&&e.showRoomTool?t("div",{class:o.arrowClass,on:{click:o.handleClickIcon}},[t(o.SvgIcon,{attrs:{"icon-name":"line-arrow-up",size:"medium"}})],1):e._e(),o.showTurnPageControl&&e.showRoomTool?t("div",{staticClass:"turn-page-container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.showTurnPageLeftArrow,expression:"showTurnPageLeftArrow"}],staticClass:"turn-page-arrow-container left-container",on:{click:o.handleTurnPageLeft}},[t("div",{staticClass:"turn-page-arrow"})]),t("div",{directives:[{name:"show",rawName:"v-show",value:o.showTurnPageRightArrow,expression:"showTurnPageRightArrow"}],staticClass:"turn-page-arrow-container right-container",on:{click:o.handleTurnPageRight}},[t("div",{staticClass:"turn-page-arrow turn-page-right"})])]):e._e()])},si=[],ii=(0,r.defineComponent)({__name:"StreamContainerPC",props:{showRoomTool:{type:Boolean}},setup(e){const t="[StreamContainer]",{onRemoteUserEnterRoom:o,onUserAudioStateChanged:n,t:a}=Xs(),s=(0,_.Z)(),i=(0,r.ref)({width:"0",height:"0"}),u=(0,r.ref)({width:"0",height:"0"}),m=(0,h.A)(),{streamList:d,streamNumber:p,remoteStreamList:C}=(0,c.Jk)(m),S=(0,g.o)(),{layout:y}=(0,c.Jk)(S),R=(0,r.ref)(!0),b=(0,r.ref)(null),M=(0,r.computed)((()=>b.value?`${b.value.userId}_${b.value.streamType}`:""));(0,r.watch)((()=>C.value.length),(e=>{if(0===e)return S.setLayout(Ee._.NINE_EQUAL_POINTS),void(b.value=null)})),(0,r.watch)((()=>d.value.length),(()=>{y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST||G()})),(0,r.watch)((()=>M.value),(()=>{y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST||G()}));const w=(0,r.ref)(0),k=(0,r.computed)((()=>y.value!==Ee._.NINE_EQUAL_POINTS?d.value.filter((e=>`${e.userId}_${e.streamType}`!==M.value)):d.value.slice(9*w.value,9*w.value+9)));(0,r.watch)([()=>k.value.length,w],(()=>{if(y.value===Ee._.NINE_EQUAL_POINTS){const e=[];k.value.forEach((t=>{const o=`${t.userId}_${t.streamType}`;e.push(o)})),m.updateUserStreamVisible(e)}})),(0,r.watch)(p,(e=>{w.value>Math.ceil(e/9)-1&&(w.value=Math.ceil(e/9)-1,V())}));const U=(0,r.computed)((()=>y.value===Ee._.NINE_EQUAL_POINTS&&p.value>9)),A=(0,r.computed)((()=>w.value>0)),x=(0,r.computed)((()=>p.value>9*w.value+9));function L(){w.value=w.value-1,V()}function E(){w.value=w.value+1,V()}const D=(0,r.ref)(""),N=(0,r.ref)(),O=(0,r.ref)(),Z=(0,r.computed)((()=>{let e="";return y.value===Ee._.TOP_SIDE_LIST&&(e=R.value?"up":"down"),y.value===Ee._.RIGHT_SIDE_LIST&&(e=R.value?"right":"left"),`icon-control arrow-${e}`}));function j(){if(R.value=!R.value,R.value){if(y.value===Ee._.RIGHT_SIDE_LIST)return q(),N.value.style.width="calc(100% - 260px)",void(N.value.style.height="100%");if(y.value===Ee._.TOP_SIDE_LIST)return P(),N.value.style.top="175px",N.value.style.width="100%",void(N.value.style.height="calc(100% - 175px)")}else{let e=0,t=0;const o=document.getElementById("roomContainer").offsetWidth,n=document.getElementById("roomContainer").offsetHeight,a=o/16,s=n/9;if(a>s&&(e=n/9*16,t=n),a<=s&&(e=o,t=o/16*9),u.value.width=`${e}px`,u.value.height=`${t}px`,y.value===Ee._.RIGHT_SIDE_LIST)return N.value.style.width="100%",void(N.value.style.height="100%");if(y.value===Ee._.TOP_SIDE_LIST)return N.value.style.top="0px",N.value.style.width="100%",void(N.value.style.height="100%")}}async function V(){D.value="stream-container-flatten",b.value=null;const e=k.value.length;let t=0,o=0;const n=document.getElementById("roomContainer");if(!n)return;let a=n.offsetWidth,s=n.offsetHeight;e<=4?(a=e<2?n.offsetWidth/e:n.offsetWidth/2,s=n.offsetHeight/Math.ceil(e/2)):e>4&&(a=e<3?n.offsetWidth/e:n.offsetWidth/3,s=n.offsetHeight/Math.ceil(e/3));const r=a/16,l=s/9;r>l&&(t=s/9*16,o=s),r<=l&&(t=a,o=a/16*9),i.value.width=t-8+"px",i.value.height=o-8+"px"}async function q(){if(D.value="stream-container-right",b.value||([b.value]=C.value),await(0,r.nextTick)(),i.value={},N.value){const e=N.value.offsetWidth,t=N.value.offsetHeight;let o=0,n=0;const a=e/16,s=t/9;a>s&&(o=t/9*16,n=t),a<=s&&(o=e,n=e/16*9),u.value.width=`${o}px`,u.value.height=`${n}px`}}async function P(){if(D.value="stream-container-top",b.value||([b.value]=C.value),await(0,r.nextTick)(),i.value={},N.value){const e=N.value.offsetWidth,t=N.value.offsetHeight;let o=0,n=0;const a=e/16,s=t/9;a>s&&(o=t/9*16,n=t),a<=s&&(o=e,n=e/16*9),u.value.width=`${o}px`,u.value.height=`${n}px`}}function $(e){y.value===Ee._.NINE_EQUAL_POINTS&&S.setLayout(Ee._.RIGHT_SIDE_LIST),b.value=e}async function B(){switch(y.value){case Ee._.NINE_EQUAL_POINTS:await V();break;case Ee._.RIGHT_SIDE_LIST:R.value=!0,N.value.style.width="calc(100% - 260px)",N.value.style.height="100%",await q(),await G();break;case Ee._.TOP_SIDE_LIST:R.value=!0,N.value.style.width="100%",N.value.style.height="calc(100% - 175px)",await P(),await G();break;default:break}}async function F(){switch(y.value){case Ee._.NINE_EQUAL_POINTS:await V();break;case Ee._.RIGHT_SIDE_LIST:await q(),await G();break;case Ee._.TOP_SIDE_LIST:await P(),await G();break;default:break}}(0,r.onMounted)((()=>{B(),["resize","pageshow"].forEach((e=>{window.addEventListener(e,F)}))})),(0,r.onUnmounted)((()=>{["resize","pageshow"].forEach((e=>{window.removeEventListener(e,F)}))})),(0,r.watch)(p,(()=>{y.value===Ee._.NINE_EQUAL_POINTS&&V()})),(0,r.watch)(y,(()=>{B()}));const H=(0,r.computed)((()=>[Ee._.RIGHT_SIDE_LIST,Ee._.TOP_SIDE_LIST].indexOf(y.value)>=0)),z=e=>{const{userId:o,streamType:n,hasVideo:i,reason:r}=e;m.updateUserVideoState(o,n,i),o!==S.userId||i||r!==v.TUIChangeReason.kChangedByAdmin||(n===v.TUIVideoStreamType.kCameraStream&&((0,l.z)({type:"warning",message:a("The host has turned off your camera"),duration:Ke.U.NORMAL}),m.setCanControlSelfVideo(!m.isCameraDisableForAllUser)),n===v.TUIVideoStreamType.kScreenStream&&(0,l.z)({type:"warning",message:a("The host has turned off your screen sharing"),duration:Ke.U.NORMAL})),o!==S.userId&&n===v.TUIVideoStreamType.kScreenStream&&(i?(m.setHasOtherScreenShare(!0),b.value=m.remoteStreamObj[`${o}_${n}`],b.value&&y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST&&S.setLayout(Ee._.RIGHT_SIDE_LIST)):(m.setHasOtherScreenShare(!1),o===b.value?.userId&&W(),I.Z.debug(`${t} onUserVideoStateChanged: stop`,o,n),s.instance?.stopPlayRemoteVideo({userId:o,streamType:n})))},Q=e=>{const{seatList:t,seatedList:o,leftList:n}=e;m.updateOnSeatList(t,o,n);const a=n.map((e=>e.userId));b.value&&a.includes(b.value?.userId)&&W()},J=e=>{const{userInfo:{userId:t}}=e;m.removeRemoteUser(t),t===b.value?.userId&&W()},W=()=>{0===m.remoteStreamList.length?(S.setLayout(Ee._.NINE_EQUAL_POINTS),b.value=null):[b.value]=m.remoteStreamList},G=async()=>{const e=O.value.children[0];await(0,r.nextTick)();let t=0,o=0,n=0;if(y.value===Ee._.RIGHT_SIDE_LIST){const n=e.offsetHeight+10,a=e.offsetHeight+14,s=O.value.scrollTop+O.value.offsetHeight;t=Math.floor((O.value.scrollTop-n)/a)+1,o=Math.ceil((s-n)/a)+1}else if(y.value===Ee._.TOP_SIDE_LIST){const n=e.offsetWidth,a=e.offsetWidth+14,s=O.value.scrollLeft+O.value.offsetWidth;t=Math.floor((O.value.scrollLeft-n)/a)+1,o=Math.ceil((s-n)/a)+1}t<0&&(t=0),n=o-t,n>k.value.length-t&&(n=k.value.length-t);const a=[];[...new Array(n)].forEach((()=>{const e=`${k.value[t].userId}_${k.value[t].streamType}`;a.push(e),t+=1})),a.push(M.value),m.updateUserStreamVisible(a)},K=(0,se.Ds)(G,300);return(0,r.onMounted)((()=>{O.value.addEventListener("scroll",K)})),(0,r.onUnmounted)((()=>{O.value&&O.value.removeEventListener("scroll",K)})),f().once("ready",(()=>{s.instance?.on(v.TUIRoomEvents.onRemoteUserEnterRoom,o),s.instance?.on(v.TUIRoomEvents.onRemoteUserLeaveRoom,J),s.instance?.on(v.TUIRoomEvents.onSeatListChanged,Q),s.instance?.on(v.TUIRoomEvents.onUserVideoStateChanged,z),s.instance?.on(v.TUIRoomEvents.onUserAudioStateChanged,n)})),(0,r.onUnmounted)((()=>{s.instance?.off(v.TUIRoomEvents.onRemoteUserEnterRoom,o),s.instance?.off(v.TUIRoomEvents.onRemoteUserLeaveRoom,J),s.instance?.off(v.TUIRoomEvents.onSeatListChanged,Q),s.instance?.off(v.TUIRoomEvents.onUserVideoStateChanged,z),s.instance?.off(v.TUIRoomEvents.onUserAudioStateChanged,n)})),{__sfc:!0,logPrefix:t,onRemoteUserEnterRoom:o,onUserAudioStateChanged:n,t:a,roomEngine:s,streamStyle:i,enlargedStreamStyle:u,roomStore:m,streamList:d,streamNumber:p,remoteStreamList:C,basicStore:S,layout:y,showSideList:R,enlargeStream:b,enlargeDomId:M,currentPageIndex:w,showStreamList:k,showTurnPageControl:U,showTurnPageLeftArrow:A,showTurnPageRightArrow:x,handleTurnPageLeft:L,handleTurnPageRight:E,streamContainerClass:D,enlargedContainerRef:N,streamListRef:O,arrowClass:Z,handleClickIcon:j,handleNineEqualPointsLayout:V,handleRightSideListLayout:q,handleTopSideListLayout:P,handleEnlargeStreamRegion:$,handleLayout:B,handleResize:F,showIconControl:H,onUserVideoStateChanged:z,onSeatListChanged:Q,onRemoteUserLeaveRoom:J,handleLargeStreamLeave:W,handleStreamContainerScroll:G,handleStreamContainerScrollDebounce:K,StreamRegion:Ks,SvgIcon:T.Z}}}),ri=ii,li=(0,w.Z)(ri,ai,si,!1,null,"35d1e596",null),ci=li.exports;const ui=$.t?ni:ci;var mi=ui,di=(0,r.defineComponent)({__name:"index",props:{showRoomTool:{type:Boolean}},setup(e){return{__sfc:!0,StreamContainer:mi}}}),pi=di,vi=(0,w.Z)(pi,Ds,Ns,!1,null,"f3be1146",null),fi=vi.exports,gi=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.showSettingDialog?t("div",{staticClass:"setting-dialog"},[t("div",{staticClass:"dialog-tabs"},[t("span",{staticClass:"dialog-title"},[e._v(e._s(o.t("Settings")))]),e._l(o.settingTabsTitleList,(function(n,a){return t("div",{key:a,class:["tabs-title",""+(o.activeSettingTab===n.value?"active":"")],on:{click:function(e){return o.handleUpdateActiveTab(n.value)}}},[e._v(" "+e._s(n.label)+" ")])}))],2),t("div",{staticClass:"divide-line"}),t("div",{staticClass:"dialog-content"},["audio"===o.activeSettingTab?t(o.AudioSettingTab,{attrs:{mode:o.SettingMode.DETAIL}}):e._e(),"video"===o.activeSettingTab?t(o.VideoSettingTab,{attrs:{mode:o.SettingMode.DETAIL,"with-preview":!0}}):e._e()],1),t(o.SvgIcon,{staticClass:"close-icon",attrs:{"icon-name":"close",size:"medium"},on:{click:o.handleCloseSettingDialog}})],1):e._e()},hi=[],Ci=(0,r.defineComponent)({__name:"index",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{showSettingDialog:n,activeSettingTab:a}=(0,c.Jk)(o),s=(0,r.computed)((()=>[{label:t("Audio settings"),value:"audio"},{label:t("Camera settings"),value:"video"}]));function i(e){o.setActiveSettingTab(e)}function l(){o.setShowSettingDialog(!1)}return{__sfc:!0,t:t,basicStore:o,showSettingDialog:n,activeSettingTab:a,settingTabsTitleList:s,handleUpdateActiveTab:i,handleCloseSettingDialog:l,SvgIcon:T.Z,AudioSettingTab:We.Z,VideoSettingTab:at.Z,SettingMode:Ee.n}}}),_i=Ci,Ii=(0,w.Z)(_i,gi,hi,!1,null,"3d8c7752",null),Si=Ii.exports,yi=(0,r.defineComponent)({__name:"index",emits:["on-log-out","on-create-room","on-enter-room","on-exit-room","on-destroy-room","on-kicked-out-of-room","on-kicked-off-line","on-userSig-expired"],setup(e,{expose:t,emit:o}){const n=(0,_.Z)(),{t:a}=(0,C.Q)();t({init:E,createRoom:D,enterRoom:N,dismissRoom:A,leaveRoom:x,resetStore:V,t:a});const s="[Room]",i=(0,g.o)(),u=(0,h.A)(),m=Ct(),{sdkAppId:d,showHeaderTool:p}=(0,c.Jk)(i),{localUser:S}=(0,c.Jk)(u),y=(0,r.ref)(),R=(0,r.ref)(!0),T=(0,r.ref)();function b(){R.value=!1}const M=(0,se.Ds)(b,5e3),w=(0,se.P2)(M,1e3),k=new v.TRTCVideoEncParam;function U(){R.value=!R.value,R.value&&M()}async function A(){try{I.Z.log(`${s}dismissRoom: enter`),await L(),await(n.instance?.destroyRoom()),o("on-destroy-room")}catch(e){I.Z.error(`${s}dismissRoom error:`,e)}}async function x(){try{await L();const e=await(n.instance?.exitRoom());o("on-exit-room"),I.Z.log(`${s}leaveRoom:`,e)}catch(e){I.Z.error(`${s}leaveRoom error:`,e)}}async function L(){S.value.hasAudioStream&&await(n.instance?.closeLocalMicrophone()),S.value.hasVideoStream&&await(n.instance?.closeLocalCamera())}async function E(e){i.setBasicInfo(e),u.setLocalUser(e);const{sdkAppId:t,userId:o,userSig:n,userName:a,avatarUrl:s}=e;await f().login({sdkAppId:t,userId:o,userSig:n}),await f().setSelfInfo({userName:a,avatarUrl:s})}async function D(e){const{roomId:t,roomName:a,roomMode:r,roomParam:l}=e;try{if(!n.instance)return;i.setRoomId(t),I.Z.debug(`${s}createRoom:`,t,r,l);const e={roomId:t,name:a,roomType:v.TUIRoomType.kConference};"FreeToSpeak"===r?Object.assign(e,{speechMode:v.TUISpeechMode.kFreeToSpeak}):Object.assign(e,{speechMode:v.TUISpeechMode.kSpeakAfterTakingSeat}),await(n.instance?.createRoom(e)),o("on-create-room",{code:0,message:"create room success"});const c=n.instance?.getTRTCCloud();c.setDefaultStreamRecvMode(!0,!1),c.enableSmallVideoStream(!0,k);const m=await(n.instance?.enterRoom({roomId:t}));o("on-enter-room",{code:0,message:"enter room success"}),u.setRoomInfo(m),m.speechMode===v.TUISpeechMode.kSpeakAfterTakingSeat&&await(n.instance?.takeSeat({seatIndex:-1,timeout:0})),await O(),u.setRoomParam(l),Se.reportEvent({name:"createRoom",ext1:"createRoom-success"})}catch(c){throw I.Z.error(`${s}createRoom error:`,c),i.reset(),c}}async function N(e){const{roomId:t,roomParam:a}=e;try{if(!n.instance)return;i.setRoomId(t),I.Z.debug(`${s}enterRoom:`,t,a);const e=n.instance?.getTRTCCloud();e.setDefaultStreamRecvMode(!0,!1),e.enableSmallVideoStream(!0,k);const r=await(n.instance?.enterRoom({roomId:t}));u.setRoomInfo(r),await O(),u.setRoomParam(a),o("on-enter-room",{code:0,message:"enter room success"}),Se.reportEvent({name:"enterRoom",ext1:"enterRoom-success"})}catch(r){throw I.Z.error(`${s}enterRoom error:`,r),i.reset(),r}}async function O(){try{const{userInfoList:e}=await(n.instance?.getUserList());u.setUserList(e)}catch(e){I.Z.error("TUIRoomEngine.getUserList",e.code,e.message)}}k.videoResolution=v.TRTCVideoResolution.TRTCVideoResolution_640_360,k.videoFps=10,k.videoBitrate=550,$.e||$.t||((0,r.onMounted)((()=>{T.value?.addEventListener("mouseenter",(()=>{R.value=!0,M()})),T.value?.addEventListener("click",(()=>{R.value=!0,M()}),!1),T.value?.addEventListener("mousemove",(()=>{R.value=!0,w()})),T.value?.addEventListener("mouseleave",(()=>{R.value=!1}))})),(0,r.onUnmounted)((()=>{T.value?.removeEventListener("mouseenter",(()=>{R.value=!0,M()})),T.value?.removeEventListener("click",(()=>{R.value=!0,M()}),!1),T.value?.removeEventListener("mousemove",(()=>{R.value=!0,w()})),T.value?.removeEventListener("mouseleave",(()=>{R.value=!1}))}))),(0,r.onMounted)((async()=>{const e=i.defaultTheme,t=localStorage.getItem("tuiRoom-currentTheme")||e;if(i.setDefaultTheme(t),document.body.setAttribute("data-theme",t),$.t){const e=n.instance?.getTRTCCloud();await(e?.setLocalRenderParams({mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}}));const Z=e=>{const{userVolumeList:t}=e;u.setAudioVolume(t)},j=e=>{i.setLocalQuality(e.userNetworkList)};function V(){i.reset(),m.reset(),u.reset()}const q=()=>{V(),o("on-log-out")},P=e=>{V(),o("on-destroy-room",e)},B=e=>{V(),o("on-exit-room",e)},F=e=>{I.Z.error("roomEngine.onError: ",e)},H=e=>{const{userId:t,isDisable:o}=e;if(t===S.value.userId){const e=a(o?"You have been banned from text chat by the host":"You are allowed to text chat by the host");(0,l.z)({type:"warning",message:e,duration:Ke.U.NORMAL}),m.setSendMessageDisableChanged(o)}},z=async e=>{const{roomId:t,reason:n,message:i}=e;try{V();let e="";switch(n){case v.TUIKickedOutOfRoomReason.kKickedByAdmin:e=a("kicked out of the room by the host");break;case v.TUIKickedOutOfRoomReason.kKickedByLoggedOnOtherDevice:e=a("kicked out of the room by other device");break;case v.TUIKickedOutOfRoomReason.kKickedByServer:e=a("kicked out of the room by serve");break}l.T.alert(e,a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-kicked-out-of-room",{roomId:t,reason:n,message:i})}})}catch(r){I.Z.error(`${s}onKickedOutOfRoom error:`,r)}},Q=()=>{l.T.alert("userSig 已过期",a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-userSig-expired")}})},J=e=>{const{message:t}=e;l.T.alert("系统检测到您的账号被踢下线",a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-kicked-off-line",{message:t})}})};async function W(e){const t=a(e?"The host has muted all":"The host has unmuted all");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL}),e&&await(n.instance?.closeLocalMicrophone())}async function G(e){const t=a(e?"The host has turned on the ban on all paintings":"The host has lifted the ban on all paintings");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL}),e&&await(n.instance?.closeLocalCamera())}async function K(e){const t=a(e?"The host has turned on the ban on all chat":"The host has lifted the ban on all chat");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL})}const Y=async e=>{const{isDisable:t}=e;t!==u.isCameraDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&(G(t),u.setCanControlSelfVideo(!t)),u.setDisableCameraForAllUserByAdmin(t)},X=async e=>{const{isDisable:t}=e;t!==u.isMicrophoneDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&(W(t),u.setCanControlSelfAudio(!t)),u.setDisableMicrophoneForAllUserByAdmin(t)},ee=async e=>{const{isDisable:t}=e;t!==u.isMessageDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&K(t),u.setDisableMessageAllUserByAdmin(t)};async function te(){const e=await(n.instance?.getCameraDevicesList()),t=await(n.instance?.getMicDevicesList()),o=await(n.instance?.getSpeakerDevicesList());e&&u.setCameraList(e),t&&u.setMicrophoneList(t),o&&u.setSpeakerList(o);const a=n.instance?.getCurrentCameraDevice(),s=n.instance?.getCurrentMicDevice(),i=n.instance?.getCurrentSpeakerDevice();a&&a.deviceId&&u.setCurrentCameraId(a.deviceId),s&&s.deviceId&&u.setCurrentMicrophoneId(s.deviceId),i&&i.deviceId&&u.setCurrentSpeakerId(i.deviceId)}async function oe(e){const t=["add","remove","active"],{deviceId:o,type:a,state:s}=e;if(a===v.TRTCDeviceType.TRTCDeviceTypeMic){I.Z.log(`onDeviceChange: deviceId: ${o}, type: microphone, state: ${t[s]}`);const e=await(n.instance?.getMicDevicesList());return e&&u.setMicrophoneList(e),void(s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentMicrophoneId(o))}if(a===v.TRTCDeviceType.TRTCDeviceTypeSpeaker){I.Z.log(`onDeviceChange: deviceId: ${o}, type: speaker, state: ${t[s]}`);const e=await(n.instance?.getSpeakerDevicesList());return e&&u.setSpeakerList(e),void(s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentSpeakerId(o))}if(a===v.TRTCDeviceType.TRTCDeviceTypeCamera){I.Z.log(`onDeviceChange: deviceId: ${o}, type: camera, state: ${t[s]}`);const e=await(n.instance?.getCameraDevicesList());e&&u.setCameraList(e),s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentCameraId(o)}}return f().once("ready",(()=>{n.instance?.on(v.TUIRoomEvents.onError,F),n.instance?.on(v.TUIRoomEvents.onUserVoiceVolumeChanged,Z),n.instance?.on(v.TUIRoomEvents.onUserNetworkQualityChanged,j),n.instance?.on(v.TUIRoomEvents.onKickedOutOfRoom,z),n.instance?.on(v.TUIRoomEvents.onSendMessageForUserDisableChanged,H),n.instance?.on(v.TUIRoomEvents.onUserSigExpired,Q),n.instance?.on(v.TUIRoomEvents.onKickedOffLine,J),n.instance?.on(v.TUIRoomEvents.onAllUserCameraDisableChanged,Y),n.instance?.on(v.TUIRoomEvents.onAllUserMicrophoneDisableChanged,X),n.instance?.on(v.TUIRoomEvents.onSendMessageForAllUserDisableChanged,ee),n.instance?.on(v.TUIRoomEvents.onDeviceChange,oe),te()})),(0,r.onUnmounted)((()=>{n.instance?.off(v.TUIRoomEvents.onError,F),n.instance?.off(v.TUIRoomEvents.onUserVoiceVolumeChanged,Z),n.instance?.off(v.TUIRoomEvents.onUserNetworkQualityChanged,j),n.instance?.off(v.TUIRoomEvents.onKickedOutOfRoom,z),n.instance?.off(v.TUIRoomEvents.onSendMessageForUserDisableChanged,H),n.instance?.off(v.TUIRoomEvents.onUserSigExpired,Q),n.instance?.off(v.TUIRoomEvents.onKickedOffLine,J),n.instance?.off(v.TUIRoomEvents.onAllUserCameraDisableChanged,Y),n.instance?.off(v.TUIRoomEvents.onAllUserMicrophoneDisableChanged,X),n.instance?.off(v.TUIRoomEvents.onSendMessageForAllUserDisableChanged,ee),n.instance?.off(v.TUIRoomEvents.onDeviceChange,oe)})),(0,r.watch)(d,(e=>{e&&(Se.setSdkAppId(e),Se.reportEvent({name:"loaded",ext1:"loaded-success"}))})),{__sfc:!0,roomEngine:n,t:a,emit:o,logPrefix:s,basicStore:i,roomStore:u,chatStore:m,sdkAppId:d,showHeaderTool:p,localUser:S,roomContentRef:y,showRoomTool:R,roomRef:T,handleHideRoomTool:b,handleHideRoomToolDebounce:M,handleHideRoomToolThrottle:w,smallParam:k,handleRoomContentTap:U,dismissRoom:A,leaveRoom:x,closeMediaBeforeLeave:L,init:E,createRoom:D,enterRoom:N,getUserList:O,onUserVoiceVolumeChanged:Z,onUserNetworkQualityChanged:j,resetStore:V,logOut:q,onDestroyRoom:P,onExitRoom:B,onError:F,onSendMessageForUserDisableChanged:H,onKickedOutOfRoom:z,onUserSigExpired:Q,onKickedOffLine:J,handleAudioStateChange:W,handleVideoStateChange:G,handleMessageStateChange:K,onAllUserCameraDisableChanged:Y,onAllUserMicrophoneDisableChanged:X,onSendMessageForAllUserDisableChanged:ee,getMediaDeviceList:te,onDeviceChange:oe,RoomHeader:Be,RoomFooter:kn,RoomSidebar:Es,RoomContent:fi,RoomSetting:Si}}}),Ri=yi,Ti=(0,w.Z)(Ri,s,i,!1,null,"b73b8d2e",null),bi=Ti.exports,Mi=o(8499),wi=o(9255);const ki=(0,g.o)(),Ui=(0,h.A)();let Ai;wi.Z.beforeEach(((e,t,o)=>{if(ki.roomId){const e=Ui.isMaster?Ai?.t("This action causes the room to be disbanded, does it continue?"):Ai?.t("This action causes the room to be exited, does it continue?");window.confirm(e)?(Ui.isMaster?Ai?.dismissRoom():Ai?.leaveRoom(),Ai?.resetStore(),o()):o(!1)}else o()}));var xi={name:"Room",components:{RoomContainer:bi},data(){return{roomInfo:null,userInfo:null,roomId:0}},async mounted(){if(Ai=this.$refs.TUIRoomRef,this.roomInfo=sessionStorage.getItem("tuiRoom-roomInfo"),this.userInfo=sessionStorage.getItem("tuiRoom-userInfo"),console.log(this.userInfo),this.roomId=this.$route.query.roomId,!this.roomId)return void this.$router.push({path:"home"});if(!this.roomInfo)return void this.$router.push({path:"home",query:{roomId:this.roomId}});const{action:e,roomMode:t,roomParam:o}=JSON.parse(this.roomInfo),{sdkAppId:n,userId:a,userSig:s,userName:i,avatarUrl:r}=JSON.parse(this.userInfo);try{if(await Ai.init({sdkAppId:n,userId:a,userSig:s,userName:i,avatarUrl:r}),"createRoom"===e)try{await Ai.createRoom({roomId:this.roomId,roomName:this.roomId,roomMode:t,roomParam:o})}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{this.$router.push({path:"home"})}})}else if("enterRoom"===e)try{await Ai.enterRoom({roomId:this.roomId,roomParam:o})}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{this.$router.push({path:"home"})}})}}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{sessionStorage.removeItem("tuiRoom-currentUserInfo"),this.$router.push({path:"home"})}})}},methods:{handleLogOut(){},onCreateRoom(e){I.Z.debug("onEnterRoom:",e),alert(`房间号为${this.roomId}`)},onEnterRoom(e){I.Z.debug("onCreateRoom:",e)},onDestroyRoom(e){I.Z.debug("onDestroyRoom:",e),this.$router.replace({path:"/home"})},onExitRoom(e){I.Z.debug("onExitRoom:",e),this.$router.replace({path:"/home"})},onKickedOutOfRoom(e){I.Z.debug("onKickedOutOfRoom:",e),sessionStorage.removeItem("tuiRoom-roomInfo"),this.$router.replace({path:"/home"})},onKickedOffLine(e){I.Z.debug("onKickedOffLine:",e),sessionStorage.removeItem("tuiRoom-roomInfo"),this.$router.replace({path:"/home"})},onUserSigExpired(){I.Z.debug("onUserSigExpired"),sessionStorage.removeItem("tuiRoom-roomInfo"),sessionStorage.removeItem("tuiRoom-currentUserInfo"),this.$router.replace({path:"/home"})}}},Li=xi,Ei=(0,w.Z)(Li,n,a,!1,null,null,null),Di=Ei.exports}}]); -//# sourceMappingURL=about.65dec066.js.map \ No newline at end of file +"use strict";(self["webpackChunkroom_uikit_web_vue2"]=self["webpackChunkroom_uikit_web_vue2"]||[]).push([[443],{4435:function(e,t,o){o.r(t),o.d(t,{default:function(){return Di}});var n=function(){var e=this,t=e._self._c;return t("room-container",{ref:"TUIRoomRef",on:{"on-log-out":e.handleLogOut,"on-create-room":e.onCreateRoom,"on-enter-room":e.onEnterRoom,"on-exit-room":e.onExitRoom,"on-destroy-room":e.onDestroyRoom,"on-kicked-out-of-room":e.onKickedOutOfRoom,"on-kick-off-line":e.onKickedOffLine,"on-user-sig-expired":e.onUserSigExpired}})},a=[],s=(o(7658),function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{ref:"roomRef",staticClass:"tui-room",attrs:{id:"roomContainer"}},[t(o.RoomHeader,{directives:[{name:"show",rawName:"v-show",value:o.showRoomTool&&o.showHeaderTool,expression:"showRoomTool && showHeaderTool"}],staticClass:"header",on:{"log-out":o.logOut,"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}}),t(o.RoomContent,{directives:[{name:"tap",rawName:"v-tap",value:o.handleRoomContentTap,expression:"handleRoomContentTap"}],ref:"roomContentRef",staticClass:"content",attrs:{"show-room-tool":o.showRoomTool}}),t(o.RoomFooter,{directives:[{name:"show",rawName:"v-show",value:o.showRoomTool,expression:"showRoomTool"}],staticClass:"footer",on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}}),t(o.RoomSidebar),t(o.RoomSetting)],1)}),i=[],r=o(6369),l=o(3235),c=o(1020),u=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"header"},[t("div",{staticClass:"header-container"},[t("div",{staticClass:"icon-box"},[t(o.SwitchCamera),t(o.SwitchMirror)],1),t(o.RoomInfo),t(o.EndControl,{on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}})],1)])},m=[],d=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"end-control-container"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:o.stopMeeting,expression:"stopMeeting"}],staticClass:"end-button",attrs:{tabindex:"1"}},[e._v(e._s(o.t("EndH5")))])]),o.visible?t("div",{staticClass:"end-main-content"},[t("div",{class:o.isShowLeaveRoomDialog?"end-dialog-leave":"end-dialog-dismiss"},[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("div",{staticClass:"end-dialog-header"},[o.roomStore.isMaster?t("span",{staticClass:"end-dialog-text"},[e._v(" "+e._s(o.t("If you do not want to end the meeting, please designate a new host before leaving the meeting."))+" ")]):t("span",[e._v(e._s(o.t("Are you sure you want to leave this room?")))])]):e._e()]):e._e(),o.currentDialogType===o.DialogType.BasicDialog?t("div",{staticClass:"dialog-middle-content"},[o.roomStore.isMaster?t("span",{class:o.isShowLeaveRoomDialog?"end-button-dismiss":"end-button-dismiss-single",on:{click:function(e){return e.stopPropagation(),o.dismissRoom.apply(null,arguments)}}},[e._v(" "+e._s(o.t("Dismiss"))+" ")]):e._e(),o.isShowLeaveRoomDialog?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.leaveRoom,expression:"leaveRoom"}],class:o.roomStore.isMaster?"end-button-leave":"end-button-leave-single"},[e._v(" "+e._s(o.t("Leave"))+" ")]):e._e(),t("span",{staticClass:"end-button-cancel",on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])]):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("span",{staticClass:"end-button-cancel",on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])]):e._e()])]):e._e(),t(o.popup,{directives:[{name:"show",rawName:"v-show",value:o.showSideBar,expression:"showSideBar"}],staticClass:"transfer-container",attrs:{title:o.t("Appoint a new host")},scopedSlots:e._u([{key:"sidebarContent",fn:function(){return[t("div",{staticStyle:{height:"100%"}},[t("div",[t("div",{staticClass:"transfer-header"},[t("input",{directives:[{name:"model",rawName:"v-model",value:o.searchName,expression:"searchName"}],staticClass:"searching-input",attrs:{type:"text",placeholder:o.t("Search for conference attendees"),enterkeyhint:"done"},domProps:{value:o.searchName},on:{input:function(e){e.target.composing||(o.searchName=e.target.value)}}})]),t("div",{staticClass:"transfer-body"},[e._l(o.filteredList,(function(n){return t("div",{key:n.userId,staticClass:"transfer-list-content",on:{click:function(e){return o.handleShowMemberControl(n.userId)}}},[t("div",{staticClass:"member-basic-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":n.avatarUrl}}),t("div",{staticClass:"user-name"},[e._v(e._s(n.userName||n.userId))]),o.selectedUser===n.userId?t(o.SvgIcon,{staticClass:"correct",attrs:{"icon-name":"correct",size:"custom"}}):e._e()],1)])})),o.hasNoData?t("div",{staticClass:"member-hasNoData"},[e._v(e._s(o.t("No relevant user found.")))]):e._e()],2)])])]},proxy:!0},{key:"sidebarFooter",fn:function(){return[t("div",{staticClass:"transfer-leave",on:{click:o.transferAndLeave}},[t("span",{staticClass:"transfer-button"},[e._v(e._s(o.t("Transfer and leave")))])])]},proxy:!0}])})],1)},p=[],v=o(452),f=o.n(v),g=o(251),h=o(4990),C=o(7357),_=o(3681),I=o(6419);function S(){const{t:e}=(0,C.Q)();let t;(function(e){e[e["BasicDialog"]=0]="BasicDialog",e[e["TransferDialog"]=1]="TransferDialog"})(t||(t={}));const o=(0,r.ref)(t.BasicDialog),n="[EndControl]",a=(0,_.Z)(),s=(0,r.ref)(!1),i=(0,g.o)();I.Z.log(`${n} basicStore:`,i);const l=(0,h.A)(),{localUser:u,remoteAnchorList:m}=(0,c.Jk)(l),d=(0,r.computed)((()=>o.value===t.BasicDialog?e("Leave room?"):e("Select a new host"))),p=(0,r.computed)((()=>l.isMaster&&m.value.length>0||!l.isMaster)),{isSidebarOpen:v,sidebarName:f}=(0,c.Jk)(i),S=(0,r.computed)((()=>v.value&&"transfer-leave"===f.value)),y=(0,r.ref)(""),R=(0,r.ref)(!1),T=(0,r.ref)(""),b=(0,r.computed)((()=>m.value.filter((e=>e.userId.includes(T.value)||e.userName?.includes(T.value))))),M=(0,r.computed)((()=>0===b.value.length));function w(){if(i.setSidebarOpenStatus&&"transfer-leave"===f.value)return i.setSidebarOpenStatus(!1),void i.setSidebarName("");i.setSidebarOpenStatus(!0),i.setSidebarName("transfer-leave")}function k(e){y.value=e}function U(){s.value=!1,o.value=t.BasicDialog}function A(){s.value||(s.value=!0)}function x(){U()}async function L(){u.value.hasAudioStream&&await(a.instance?.closeLocalMicrophone()),u.value.hasVideoStream&&await(a.instance?.closeLocalCamera())}return{t:e,basicStore:i,isShowLeaveRoomDialog:p,roomStore:l,roomEngine:a,localUser:u,remoteAnchorList:m,stopMeeting:A,cancel:x,selectedUser:y,DialogType:t,logPrefix:n,title:d,currentDialogType:o,visible:s,closeMediaBeforeLeave:L,resetState:U,searchName:T,hasNoData:M,handleShowMemberControl:k,filteredList:b,toggleMangeMemberSidebar:w,showTransfer:R,sidebarName:f,showSideBar:S}}var y=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"popup-container"},[t("div",{staticClass:"popup-main-header"},[t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleClose,expression:"handleClose"}],staticClass:"icon-container"},[t(o.SvgIcon,{staticClass:"close-icon",attrs:{size:"custom","icon-name":"close-back"}})],1),t("span",{staticClass:"sidebar-title"},[e._v(e._s(e.title))])]),t("div",{staticClass:"popup-main-content"},[e._t("sidebarContent")],2),t("div",{staticClass:"popup-main-footer"},[e._t("sidebarFooter")],2)])},R=[],T=o(6316),b=(o(5175),(0,r.defineComponent)({__name:"PopUpH5",props:{title:null},setup(e){const t=(0,g.o)();function o(){t.setSidebarOpenStatus(!1),t.setSidebarName("")}return{__sfc:!0,basicStore:t,handleClose:o,SvgIcon:T.Z}}})),M=b,w=o(3736),k=(0,w.Z)(M,y,R,!1,null,"4069d388",null),U=k.exports,A=o(9225),x=(0,r.defineComponent)({__name:"EndControlH5",emits:["on-exit-room","on-destroy-room"],setup(e,{emit:t}){const{t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,stopMeeting:u,cancel:m,DialogType:d,logPrefix:p,currentDialogType:g,visible:h,closeMediaBeforeLeave:C,resetState:_,toggleMangeMemberSidebar:y,searchName:R,hasNoData:b,handleShowMemberControl:M,filteredList:w,selectedUser:k,showSideBar:x}=S();async function L(){try{I.Z.log(`${p}dismissRoom: enter`),await C(),await(i.instance?.destroyRoom()),_(),t("on-destroy-room",{code:0,message:""})}catch(e){I.Z.error(`${p}dismissRoom error:`,e)}}async function E(){try{if(a.isMaster)return y(),void _();await C();const e=await(i.instance?.exitRoom());I.Z.log(`${p}leaveRoom:`,e),_(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${p}leaveRoom error:`,e)}}async function D(){if(k.value)try{const e=k.value,o=await(i.instance?.changeUserRole({userId:e,userRole:v.TUIRole.kRoomOwner}));I.Z.log(`${p}transferAndLeave:`,o),await C();const n=await(i.instance?.exitRoom());I.Z.log(`${p}exitRoom:`,n),s.setSidebarOpenStatus(!1),s.setSidebarName(""),_(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${p}transferAndLeave error:`,e)}}const N=async e=>{try{const{roomId:n}=e;I.Z.log(`${p}onRoomDismissed:`,n),l.T.alert(o("The host closed the room."),o("Note"),{customClass:"custom-element-class",confirmButtonText:o("Confirm"),appendTo:"#roomContainer",callback:async()=>{_(),t("on-destroy-room",{code:0,message:""})}})}catch(n){I.Z.error(`${p}onRoomDestroyed error:`,n)}},O=async e=>{if(e.userRole===v.TUIRole.kRoomOwner){const{userId:t}=e;let n=a.getUserName(t)||t;t===c.value.userId&&(n=o("me"));const s=`${o("Moderator changed to ")}${n}`;if((0,l.z)({type:"success",message:s}),a.localUser.userId===t?a.setLocalUser({userRole:v.TUIRole.kRoomOwner}):a.setRemoteUserRole(t,v.TUIRole.kRoomOwner),a.setMasterUserId(t),_(),a.isAnchor)return;a.isSpeakAfterTakingSeatMode&&await(i.instance?.takeSeat({seatIndex:-1,timeout:0}))}};return f().once("ready",(()=>{i.instance?.on(v.TUIRoomEvents.onRoomDismissed,N),i.instance?.on(v.TUIRoomEvents.onUserRoleChanged,O)})),(0,r.onUnmounted)((()=>{i.instance?.off(v.TUIRoomEvents.onRoomDismissed,N),i.instance?.off(v.TUIRoomEvents.onUserRoleChanged,O)})),{__sfc:!0,t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,stopMeeting:u,cancel:m,DialogType:d,logPrefix:p,currentDialogType:g,visible:h,closeMediaBeforeLeave:C,resetState:_,toggleMangeMemberSidebar:y,searchName:R,hasNoData:b,handleShowMemberControl:M,filteredList:w,selectedUser:k,showSideBar:x,emit:t,dismissRoom:L,leaveRoom:E,transferAndLeave:D,onRoomDismissed:N,onUserRoleChanged:O,popup:U,SvgIcon:T.Z,Avatar:A.Z}}}),L=x,E=(0,w.Z)(L,d,p,!1,null,"12377224",null),D=E.exports,N=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"end-control-container"},[t("div",{staticClass:"end-button",attrs:{tabindex:"1"},on:{click:o.stopMeeting}},[e._v(e._s(o.t("EndPC")))]),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.visible,title:o.title,modal:!0,"append-to-body":!1,width:"420px","before-close":o.cancel,"close-on-click-modal":!0},scopedSlots:e._u([{key:"footer",fn:function(){return[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("el-button",{attrs:{type:"primary"},on:{click:function(e){return e.stopPropagation(),o.dismissRoom.apply(null,arguments)}}},[e._v(" "+e._s(o.t("Dismiss"))+" ")]):e._e(),o.isShowLeaveRoomDialog?t("el-button",{attrs:{type:"primary"},on:{click:o.leaveRoom}},[e._v(e._s(o.t("Leave")))]):e._e(),t("el-button",{on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])],1):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("el-button",{attrs:{type:"primary"},on:{click:o.transferAndLeave}},[e._v(e._s(o.t("Transfer and leave")))]),t("el-button",{on:{click:function(e){return e.stopPropagation(),o.cancel.apply(null,arguments)}}},[e._v(e._s(o.t("Cancel")))])],1):e._e()]},proxy:!0}])},[o.currentDialogType===o.DialogType.BasicDialog?t("div",[o.roomStore.isMaster?t("span",[e._v(" "+e._s(o.t('You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.'))+" ")]):t("span",[e._v(e._s(o.t("Are you sure you want to leave this room?")))])]):e._e(),o.currentDialogType===o.DialogType.TransferDialog?t("div",[t("div",[e._v(e._s(o.t("New host")))]),t("div",[t("el-select",{attrs:{teleported:!1,"popper-append-to-body":!1},model:{value:o.selectedUser,callback:function(e){o.selectedUser=e},expression:"selectedUser"}},e._l(o.remoteAnchorList,(function(e){return t("el-option",{key:e.userId,attrs:{value:e.userId,label:e.userName}})})),1)],1)]):e._e()])],1)},O=[],Z=o(5266),j=(0,r.defineComponent)({__name:"EndControlPC",emits:["on-exit-room","on-destroy-room"],setup(e,{emit:t}){const{t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,remoteAnchorList:u,stopMeeting:m,cancel:d,selectedUser:p,DialogType:g,logPrefix:h,title:C,currentDialogType:_,visible:y,closeMediaBeforeLeave:R,resetState:T}=S();async function b(){try{I.Z.log(`${h}dismissRoom: enter`),await R(),await(i.instance?.destroyRoom()),T(),t("on-destroy-room",{code:0,message:""})}catch(e){I.Z.error(`${h}dismissRoom error:`,e)}}async function M(){try{if(a.isMaster)return void(_.value=g.TransferDialog);await R();const e=await(i.instance?.exitRoom());I.Z.log(`${h}leaveRoom:`,e),T(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${h}leaveRoom error:`,e)}}async function w(){if(p.value)try{const e=p.value,o=await(i.instance?.changeUserRole({userId:e,userRole:v.TUIRole.kRoomOwner}));I.Z.log(`${h}transferAndLeave:`,o),await R();const n=await(i.instance?.exitRoom());I.Z.log(`${h}exitRoom:`,n),s.setSidebarOpenStatus(!1),s.setSidebarName(""),T(),t("on-exit-room",{code:0,message:""})}catch(e){I.Z.error(`${h}transferAndLeave error:`,e)}}const k=async e=>{try{const{roomId:n}=e;I.Z.log(`${h}onRoomDismissed:`,n),l.T.alert(o("The host closed the room."),o("Note"),{customClass:"custom-element-class",confirmButtonText:o("Confirm"),appendTo:"#roomContainer",callback:async()=>{T(),t("on-destroy-room",{code:0,message:""})}})}catch(n){I.Z.error(`${h}onRoomDestroyed error:`,n)}},U=async e=>{if(e.userRole===v.TUIRole.kRoomOwner){const{userId:t}=e;let n=a.getUserName(t)||t;t===c.value.userId&&(n=o("me"));const s=`${o("Moderator changed to ")}${n}`;if((0,l.z)({type:"success",message:s}),a.localUser.userId===t?a.setLocalUser({userRole:v.TUIRole.kRoomOwner}):a.setRemoteUserRole(t,v.TUIRole.kRoomOwner),a.setMasterUserId(t),T(),a.isAnchor)return;a.isSpeakAfterTakingSeatMode&&await(i.instance?.takeSeat({seatIndex:-1,timeout:0}))}};return f().once("ready",(()=>{i.instance?.on(v.TUIRoomEvents.onRoomDismissed,k),i.instance?.on(v.TUIRoomEvents.onUserRoleChanged,U)})),(0,r.onUnmounted)((()=>{i.instance?.off(v.TUIRoomEvents.onRoomDismissed,k),i.instance?.off(v.TUIRoomEvents.onUserRoleChanged,U)})),{__sfc:!0,t:o,isShowLeaveRoomDialog:n,roomStore:a,basicStore:s,roomEngine:i,localUser:c,remoteAnchorList:u,stopMeeting:m,cancel:d,selectedUser:p,DialogType:g,logPrefix:h,title:C,currentDialogType:_,visible:y,closeMediaBeforeLeave:R,resetState:T,emit:t,dismissRoom:b,leaveRoom:M,transferAndLeave:w,onRoomDismissed:k,onUserRoleChanged:U,Dialog:Z.Z}}}),V=j,q=(0,w.Z)(V,N,O,!1,null,"bcdd5c40",null),P=q.exports,$=o(2843);const B=$.t?D:P;var F=B,H=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"camera-icon"},[t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:o.handleSwitchCamera,expression:"handleSwitchCamera"}],attrs:{"icon-name":"camera",size:"custom","custom-style":{backgroundSize:"50%"}}})],1)},z=[],Q=(0,r.defineComponent)({__name:"SwitchCamera",setup(e){const t=(0,g.o)(),{isFrontCamera:o}=(0,c.Jk)(t),n=(0,_.Z)();async function a(){await(n.instance?.switchCamera({isFrontCamera:!o.value})),t.setIsFrontCamera(!o.value)}return{__sfc:!0,basicStore:t,isFrontCamera:o,roomEngine:n,handleSwitchCamera:a,SvgIcon:T.Z}}}),J=Q,W=(0,w.Z)(J,H,z,!1,null,"190ccb04",null),G=W.exports,K=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"mirror-icon"},[t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:o.toogleMirrorStatus,expression:"toogleMirrorStatus"}],attrs:{"icon-name":"mirror",size:"custom","custom-style":{backgroundSize:"50%"}}})],1)},Y=[],X=(0,r.defineComponent)({__name:"SwitchMirror",setup(e){const t=(0,_.Z)(),o=(0,g.o)();function n(){const e=t.instance?.getTRTCCloud();e?.setLocalRenderParams({mirrorType:o.isLocalStreamMirror?v.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}),o.setIsLocalStreamMirror(o.isLocalStreamMirror),o.isLocalStreamMirror=!o.isLocalStreamMirror}return{__sfc:!0,roomEngine:t,basicStore:o,toogleMirrorStatus:n,SvgIcon:T.Z}}}),ee=X,te=(0,w.Z)(ee,K,Y,!1,null,"9a54a9ea",null),oe=te.exports,ne=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"conference-container"},[o.isShowRoomInfoTitle?t("div",{on:{click:o.toggleShowRoomInfoStatus}},[t("div",{staticClass:"title-container"},[t("span",{staticClass:"text"},[e._v(e._s(o.conferenceTitle))]),t("span",{staticClass:"chevron-down-container"},[t(o.SvgIcon,{staticClass:"chevron-down-icon",attrs:{size:"custom","icon-name":"chevron-down"}})],1)])]):e._e(),o.isShowRoomInfo?t("div",{staticClass:"roomInfo-container"},[t("div",{ref:"roomInfoRef",staticClass:"roomInfo-container-main"},[t("div",{staticClass:"roomInfo-title"},[t("span",{staticClass:"master-header"},[e._v(e._s(o.conferenceTitle))]),t("span",{staticClass:"cancel",on:{click:o.handleHiddenRoomInfo}},[e._v(e._s(o.t("Cancel")))])]),t("div",{staticClass:"roomInfo-middle"},[t("div",{staticClass:"roomInfo-role"},[t("span",[e._v(e._s(o.t("Host")))]),t("span",{staticClass:"text-right"},[e._v(e._s(o.masterUserName))])]),t("div",{staticClass:"roomInfo-roomMode"},[t("span",{staticClass:"middle-left"},[e._v(e._s(o.t("Room Type")))]),t("span",{staticClass:"text-type"},[e._v(e._s(o.roomType))])]),t("div",{staticClass:"roomInfo-roomID"},[t("span",{staticClass:"middle-left"},[e._v(e._s(o.t("Room ID")))]),t("span",{staticClass:"text-right"},[e._v(e._s(o.roomId))]),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"},on:{click:function(e){return o.onCopy(o.roomId)}}})],1),o.isWeChat?e._e():t("div",{staticClass:"roomInfo-roomID"},[t("span",[e._v(e._s(o.t("Room Link")))]),t("span",{staticClass:"link"},[e._v(e._s(o.inviteLink))]),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.inviteLink)}}})],1)]),o.isWeChat?e._e():t("div",{staticClass:"roomInfo-bottom"},[t("span",[e._v(e._s(o.t("You can share the room number or link to invite more people to join the room.")))])])])]):e._e()])},ae=[],se=o(4237),ie=(0,r.defineComponent)({__name:"RoomInfo",setup(e){const t=(0,g.o)(),o=(0,h.A)(),{roomId:n}=(0,c.Jk)(t),{masterUserId:a}=(0,c.Jk)(o),{t:s}=(0,C.Q)(),i=(0,r.ref)(),u=(0,r.ref)(!1),m=(0,r.computed)((()=>o.isFreeSpeakMode?s("Free Speech Room"):s("Raise Hand Room"))),{origin:d,pathname:p}=location||{},v=(0,r.computed)((()=>`${d}${p}#/home?roomId=${n.value}`)),f=(0,r.computed)((()=>o.getUserName(a.value)||a.value)),_=(0,r.computed)((()=>f.value)),I=(0,r.computed)((()=>`${f.value}${s("video conferencing")}`));function S(){u.value=!u.value}async function y(e){try{await(0,se.jO)(e),(0,l.z)({message:s("Copied successfully"),type:"success"})}catch(t){(0,l.z)({message:s("Copied failure"),type:"error"})}}function R(e){u.value&&!i.value.contains(e.target)&&(u.value=!1)}function b(){u.value=!1}return(0,r.onMounted)((()=>{document?.addEventListener("click",R,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",R,!0)})),{__sfc:!0,basicStore:t,roomStore:o,roomId:n,masterUserId:a,t:s,roomInfoRef:i,isShowRoomInfo:u,roomType:m,origin:d,pathname:p,inviteLink:v,masterUserName:f,isShowRoomInfoTitle:_,conferenceTitle:I,toggleShowRoomInfoStatus:S,onCopy:y,handleDocumentClick:R,handleHiddenRoomInfo:b,SvgIcon:T.Z,isWeChat:$.e}}}),re=ie,le=(0,w.Z)(re,ne,ae,!1,null,"543146aa",null),ce=le.exports,ue=o(7327);const me="file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname,de="web.sdk.qcloud.com"===location.host,pe=me||de,ve=de,fe="iHWefAYqCFrCVqqyIZ",ge="TUIRoomKit-Web-vue2";let he;const Ce=document.createElement("script");Ce.type="text/javascript",Ce.src="https://cdn-go.cn/aegis/aegis-sdk/latest/aegis.min.js",document.getElementsByTagName("head")[0].appendChild(Ce),Ce.onload=()=>{he=new Aegis({id:fe,uin:"",reportApiSpeed:!0,reportAssetSpeed:!0,spa:!0}),Ie.storedReportEventList&&Ie.storedReportEventList.forEach((e=>{he.reportEvent(e)}))};class _e{constructor(){(0,ue.Z)(this,"sdkAppId",0),(0,ue.Z)(this,"projectName",ge),(0,ue.Z)(this,"isUploadLoaded",pe),(0,ue.Z)(this,"isUploadDetailEvent",ve),(0,ue.Z)(this,"hasUploadedEventList",[]),(0,ue.Z)(this,"storedReportEventList",[])}setSdkAppId(e){this.sdkAppId=e}reportEvent(e){if(!this.isUploadLoaded)return;const{name:t,ext1:o}=e;if(this.isUploadDetailEvent||"loaded"===t){const n={...e,ext2:this.projectName,ext3:this.sdkAppId};he?this.hasUploadedEventList.indexOf(`${t}_${o}`)<0&&(this.hasUploadedEventList.push(`${t}_${o}`),he.reportEvent(n)):this.storedReportEventList.push(n)}}}const Ie=new _e;var Se=Ie,ye=(0,r.defineComponent)({__name:"index",emits:["log-out","on-destroy-room","on-exit-room"],setup(e,{emit:t}){const o=e=>{t("on-destroy-room",e),Se.reportEvent({name:"destroyRoom",ext1:"destroyRoom-success"})},n=e=>{t("on-exit-room",e),Se.reportEvent({name:"exitRoom",ext1:"exitRoom-success"})};return{__sfc:!0,emit:t,onDestroyRoom:o,onExitRoom:n,EndControl:F,SwitchCamera:G,SwitchMirror:oe,RoomInfo:ce}}}),Re=ye,Te=(0,w.Z)(Re,u,m,!1,null,"1262e4e7",null),be=Te.exports,Me=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"header-container"},[t("div",{staticClass:"left-container"},[t(o.UserInfo,{directives:[{name:"show",rawName:"v-show",value:e.showHeaderInfo,expression:"showHeaderInfo"}],staticClass:"header-item user-info",attrs:{"user-id":o.userId,"user-name":o.userName,"avatar-url":o.avatarUrl},on:{"log-out":function(t){return e.$emit("log-out")}}}),t(o.Language,{directives:[{name:"show",rawName:"v-show",value:e.showHeaderInfo,expression:"showHeaderInfo"}],staticClass:"header-item language"}),t(o.SwitchTheme,{staticClass:"header-item theme"})],1),t("div",{staticClass:"right-container"},[t(o.LayoutControl,{staticClass:"right-container-item"})],1)])},we=[],ke=o(9643),Ue=o(9139),Ae=o(7698),xe=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.streamNumber>1?t("div",{staticClass:"layout-container"},[t(o.SvgIcon,{staticClass:"layout-icon",attrs:{"icon-name":"layout",size:"medium"},on:{click:function(e){return e.stopPropagation(),o.handleClickLayoutIcon.apply(null,arguments)}}}),o.showLayoutList?t("div",{ref:"layoutList",staticClass:"layout-list"},[t("div",{class:["layout1","layout-item",""+(o.layout===o.LAYOUT.NINE_EQUAL_POINTS?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.NINE_EQUAL_POINTS)}}},[t("div",{staticClass:"layout-block-container"},e._l(new Array(9).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Grid")))])]),t("div",{class:["layout2","layout-item",""+(o.layout===o.LAYOUT.RIGHT_SIDE_LIST?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.RIGHT_SIDE_LIST)}}},[t("div",{staticClass:"layout-block-container"},[t("div",{staticClass:"left-container"}),t("div",{staticClass:"right-container"},e._l(new Array(4).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0)]),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Gallery on right")))])]),t("div",{class:["layout3","layout-item",""+(o.layout===o.LAYOUT.TOP_SIDE_LIST?"checked":"")],on:{click:function(e){return o.handleClick(o.LAYOUT.TOP_SIDE_LIST)}}},[t("div",{staticClass:"layout-block-container"},[t("div",{staticClass:"top-container"},e._l(new Array(4).fill(""),(function(e,o){return t("div",{key:o,staticClass:"layout-block"})})),0),t("div",{staticClass:"bottom-container"})]),t("span",{staticClass:"layout-title"},[e._v(e._s(o.t("Gallery at top")))])])]):e._e()],1):e._e()},Le=[],Ee=o(3927),De=(0,r.defineComponent)({__name:"LayoutControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{layout:n}=(0,c.Jk)(o),a=(0,h.A)(),{streamNumber:s}=(0,c.Jk)(a),i=(0,r.ref)(!1),l=(0,r.ref)(null);function u(e){o.setLayout(e),Se.reportEvent({name:"layout",ext1:e})}function m(){i.value?(document.removeEventListener("click",d,!1),i.value=!1):(i.value=!0,document.addEventListener("click",d,!1))}function d(e){i.value&&l.value&&!l.value.contains(e.target)&&(document.removeEventListener("click",d),i.value=!1)}return{__sfc:!0,t:t,basicStore:o,layout:n,roomStore:a,streamNumber:s,showLayoutList:i,layoutList:l,handleClick:u,handleClickLayoutIcon:m,handleDocumentClick:d,SvgIcon:T.Z,LAYOUT:Ee._}}}),Ne=De,Oe=(0,w.Z)(Ne,xe,Le,!1,null,"7b3fd23b",null),Ze=Oe.exports,je=(0,r.defineComponent)({__name:"index",props:{showHeaderInfo:{type:Boolean,default:!0}},emits:["log-out"],setup(e){const t=(0,g.o)(),{userId:o,userName:n,avatarUrl:a}=(0,c.Jk)(t);return{__sfc:!0,basicStore:t,userId:o,userName:n,avatarUrl:a,UserInfo:ke.Z,Language:Ue.Z,SwitchTheme:Ae.Z,LayoutControl:Ze}}}),Ve=je,qe=(0,w.Z)(Ve,Me,we,!1,null,"20e9e128",null),Pe=qe.exports;const $e=$.t?be:Pe;var Be=$e,Fe=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"left-container"},[t(o.AudioControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("audioControl"),expression:"() => handleControlClick('audioControl')"}]}),t(o.VideoControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("videoControl"),expression:"() => handleControlClick('videoControl')"}]}),o.roomStore.isSpeakAfterTakingSeatMode?t(o.ApplyControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("applyControl"),expression:"() => handleControlClick('applyControl')"}]}):t(o.ChatControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("chatControl"),expression:"() => handleControlClick('chatControl')"}]}),o.roomStore.isMaster?t(o.ManageMemberControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("manageMemberControl"),expression:"() => handleControlClick('manageMemberControl')"}]}):e._e(),t(o.MoreControl,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.handleControlClick("moreControl"),expression:"() => handleControlClick('moreControl')"}]})],1)])},He=[],ze=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"audio-control-container",on:{click:function(e){return o.emits("click")}}},[t(o.IconButton,{ref:"audioIconButtonRef",attrs:{"is-active":!o.localStream.hasAudioStream,title:o.t("Mic"),"has-more":o.hasMore,"show-more":o.showAudioSettingTab,disabled:o.isLocalAudioIconDisable},on:{"click-icon":o.toggleMuteAudio,"click-more":o.handleMore}},[t(o.AudioIcon,{attrs:{"audio-volume":o.localStream.audioVolume,"is-muted":!o.localStream.hasAudioStream,"is-disabled":o.isLocalAudioIconDisable}})],1),t(o.AudioSettingTab,{directives:[{name:"show",rawName:"v-show",value:o.showAudioSettingTab,expression:"showAudioSettingTab"}],ref:"audioSettingRef",staticClass:"audio-tab"})],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showRequestOpenMicDialog,title:o.title,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:o.handleReject}},[e._v(e._s(o.t("Keep it closed")))]),t("span",{staticClass:"agree",on:{click:o.handleAccept}},[e._v(e._s(o.t("Turn on the microphone")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("The host invites you to turn on the microphone"))+" ")])])],1)},Qe=[],Je=o(2097),We=o(3929),Ge=o(1342),Ke=o(6897),Ye=(0,r.defineComponent)({__name:"AudioControl",emits:["click"],setup(e,{emit:t}){const o=(0,_.Z)(),n=(0,h.A)(),{isAudience:a,localStream:s,isLocalAudioIconDisable:i,isMicrophoneDisableForAllUser:u}=(0,c.Jk)(n),m=(0,r.computed)((()=>!$.t)),d=(0,r.ref)(!1),p=(0,r.ref)(),g=(0,r.ref)(),{t:I}=(0,C.Q)(),S=(0,r.computed)((()=>$.t?"":I("Tips")));async function y(){if(i.value){let e="";return u.value?e=Ke.B.UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL:a.value&&(e=Ke.B.UNMUTE_LOCAL_MIC_FAIL_AUDIENCE),void(0,l.z)({type:"warning",message:I(e),duration:Ke.U.NORMAL})}if(s.value.hasAudioStream)await(o.instance?.closeLocalMicrophone()),n.isMicrophoneDisableForAllUser&&n.setCanControlSelfAudio(!1);else{const e=await(o.instance?.getMicDevicesList()),t=e.length>0;if(!t&&!$.e)return void l.T.alert(I("Microphone not detected on current device."),I("Note"),{customClass:"custom-element-class",confirmButtonText:I("Confirm")});await(o.instance?.openLocalMicrophone())}d.value=!1}function R(){d.value?d.value=!1:d.value=!0}function T(e){!d.value||p.value?.$el.contains(e.target)||g.value?.$el.contains(e.target)||(d.value=!1)}const b=(0,r.ref)(!1),M=(0,r.ref)("");async function w(e){const{requestAction:t,requestId:o}=e.request;t===v.TUIRequestAction.kRequestToOpenRemoteMicrophone&&(M.value=o,b.value=!0)}async function k(){n.setCanControlSelfAudio(!0),await(o.instance?.responseRemoteRequest({requestId:M.value,agree:!0})),M.value="",b.value=!1}async function U(){await(o.instance?.responseRemoteRequest({requestId:M.value,agree:!1})),M.value="",b.value=!1}async function A(e){const{requestId:t}=e;M.value===t&&(b.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",T,!0)})),f().once("ready",(()=>{o.instance?.on(v.TUIRoomEvents.onRequestReceived,w),o.instance?.on(v.TUIRoomEvents.onRequestCancelled,A)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",T,!0),o.instance?.off(v.TUIRoomEvents.onRequestReceived,w),o.instance?.off(v.TUIRoomEvents.onRequestCancelled,A)})),{__sfc:!0,roomEngine:o,roomStore:n,isAudience:a,localStream:s,isLocalAudioIconDisable:i,isMicrophoneDisableForAllUser:u,emits:t,hasMore:m,showAudioSettingTab:d,audioIconButtonRef:p,audioSettingRef:g,t:I,title:S,toggleMuteAudio:y,handleMore:R,handleDocumentClick:T,showRequestOpenMicDialog:b,requestOpenMicRequestId:M,onRequestReceived:w,handleAccept:k,handleReject:U,onRequestCancelled:A,Dialog:Z.Z,IconButton:Je.Z,AudioSettingTab:We.Z,AudioIcon:Ge.Z,isMobile:$.t}}}),Xe=Ye,et=(0,w.Z)(Xe,ze,Qe,!1,null,"357aa832",null),tt=et.exports,ot=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"video-control-container",on:{click:function(e){return o.emits("click")}}},[t(o.IconButton,{ref:"videoIconButtonRef",attrs:{"is-active":!o.localStream.hasVideoStream,title:o.t("Camera"),"icon-name":o.iconName,"has-more":o.hasMore,disabled:o.isLocalVideoIconDisable},on:{"click-icon":o.toggleMuteVideo,"click-more":o.handleMore}}),t(o.VideoSettingTab,{directives:[{name:"show",rawName:"v-show",value:o.showVideoSettingTab,expression:"showVideoSettingTab"}],ref:"videoSettingRef",staticClass:"video-tab"})],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showRequestOpenCameraDialog,title:o.title,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:o.handleReject}},[e._v(e._s(o.t("Keep it closed")))]),t("span",{staticClass:"agree",on:{click:o.handleAccept}},[e._v(e._s(o.t("Turn on the camera")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("The host invites you to turn on the camera"))+" ")])])],1)},nt=[],at=o(8283),st=o(6671),it=(0,r.defineComponent)({__name:"VideoControl",emits:["click"],setup(e,{emit:t}){const o=(0,_.Z)(),n=(0,h.A)(),a=(0,g.o)(),s=(0,r.ref)(a.isFrontCamera),{isCameraDisableForAllUser:i,isAudience:u,localStream:m,isLocalVideoIconDisable:d}=(0,c.Jk)(n),{t:p}=(0,C.Q)(),I=(0,r.computed)((()=>!$.t)),S=(0,r.ref)(!1),y=(0,r.ref)(),R=(0,r.ref)(),T=(0,r.computed)((()=>$.t?"":p("Tips"))),b=(0,r.computed)((()=>d.value?st.Z.CameraOffDisabled:m.value.hasVideoStream?st.Z.CameraOn:st.Z.CameraOff));async function M(){if(d.value){let e="";return i.value?e=Ke.B.UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL:u.value&&(e=Ke.B.UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE),void(0,l.z)({type:"warning",message:p(e),duration:Ke.U.NORMAL})}if(m.value.hasVideoStream)await(o.instance?.closeLocalCamera()),n.isCameraDisableForAllUser&&n.setCanControlSelfVideo(!1);else{const e=await(o.instance?.getCameraDevicesList()),t=e.length>0;if(!t&&!$.e)return void l.T.alert(p("Camera not detected on current device"),p("Note"),{customClass:"custom-element-class",confirmButtonText:p("Confirm")});o.instance?.setLocalVideoView({view:`${n.localStream.userId}_${n.localStream.streamType}`,streamType:v.TUIVideoStreamType.kCameraStream}),$.t?await(o.instance?.openLocalCamera({isFrontCamera:s.value})):await(o.instance?.openLocalCamera())}S.value=!1}function w(){S.value?S.value=!1:S.value=!0}function k(e){!S.value||y.value?.$el.contains(e.target)||R.value?.$el.contains(e.target)||(S.value=!1)}const U=(0,r.ref)(!1),A=(0,r.ref)("");async function x(e){const{requestAction:t,requestId:o}=e.request;t===v.TUIRequestAction.kRequestToOpenRemoteCamera&&(A.value=o,U.value=!0)}async function L(){n.setCanControlSelfVideo(!0),o.instance?.setLocalVideoView({view:`${n.localStream.userId}_${n.localStream.streamType}`,streamType:v.TUIVideoStreamType.kCameraStream}),await(o.instance?.responseRemoteRequest({requestId:A.value,agree:!0})),A.value="",U.value=!1}async function E(){await(o.instance?.responseRemoteRequest({requestId:A.value,agree:!1})),A.value="",U.value=!1}async function D(e){const{requestId:t}=e;A.value===t&&(U.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",k,!0)})),f().once("ready",(()=>{o.instance?.on(v.TUIRoomEvents.onRequestReceived,x),o.instance?.on(v.TUIRoomEvents.onRequestCancelled,D)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",k,!0),o.instance?.off(v.TUIRoomEvents.onRequestReceived,x),o.instance?.off(v.TUIRoomEvents.onRequestCancelled,D)})),{__sfc:!0,roomEngine:o,roomStore:n,basicStore:a,isFrontCamera:s,emits:t,isCameraDisableForAllUser:i,isAudience:u,localStream:m,isLocalVideoIconDisable:d,t:p,hasMore:I,showVideoSettingTab:S,videoIconButtonRef:y,videoSettingRef:R,title:T,iconName:b,toggleMuteVideo:M,handleMore:w,handleDocumentClick:k,showRequestOpenCameraDialog:U,requestOpenCameraRequestId:A,onRequestReceived:x,handleAccept:L,handleReject:E,onRequestCancelled:D,Dialog:Z.Z,IconButton:Je.Z,VideoSettingTab:at.Z,isMobile:$.t}}}),rt=it,lt=(0,w.Z)(rt,ot,nt,!1,null,"a0d52fdc",null),ct=lt.exports,ut=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-control-container"},[t(o.IconButton,{attrs:{"is-active":"manage-member"===o.sidebarName,title:o.t("Members"),"icon-name":o.iconName},on:{"click-icon":o.toggleMangeMemberSidebar}})],1)},mt=[],dt=(0,r.defineComponent)({__name:"ManageMemberControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{sidebarName:n}=(0,c.Jk)(o),a=(0,r.computed)((()=>"manage-member"===n.value?st.Z.ManageMemberActive:st.Z.ManageMember));function s(){if(o.setSidebarOpenStatus&&"manage-member"===n.value)return o.setSidebarOpenStatus(!1),void o.setSidebarName("");o.setSidebarOpenStatus(!0),o.setSidebarName("manage-member")}return{__sfc:!0,t:t,basicStore:o,sidebarName:n,iconName:a,toggleMangeMemberSidebar:s,IconButton:Je.Z}}}),pt=dt,vt=(0,w.Z)(pt,ut,mt,!1,null,"49c71e42",null),ft=vt.exports,gt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"chat-control-container"},[o.isMobile?t("div",[o.chatStore.unReadCount>0?t("div",{staticClass:"count"},[t(o.IconButton,{directives:[{name:"tap",rawName:"v-tap",value:o.toggleChatSidebar,expression:"toggleChatSidebar"}],attrs:{title:o.t("Chat"),"icon-name":o.iconName}}),t("span",{staticClass:"unreadCount"},[e._v(e._s(o.chatStore.unReadCount>10?"10+":o.chatStore.unReadCount))])],1):t(o.IconButton,{directives:[{name:"tap",rawName:"v-tap",value:o.toggleChatSidebar,expression:"toggleChatSidebar"}],attrs:{"is-active":"chat"===o.sidebarName,title:o.t("Chat"),"icon-name":o.iconName}})],1):t("div",[o.chatStore.unReadCount>0?t("el-badge",{attrs:{value:o.chatStore.unReadCount>10?"10+":o.chatStore.unReadCount}},[t(o.IconButton,{attrs:{title:o.t("Chat"),"icon-name":o.iconName},on:{"click-icon":o.toggleChatSidebar}})],1):t(o.IconButton,{attrs:{"is-active":"chat"===o.sidebarName,title:o.t("Chat"),"icon-name":o.iconName},on:{"click-icon":o.toggleChatSidebar}})],1)])},ht=[];const Ct=(0,c.Q_)("chat",{state:()=>({messageList:[],isMessageDisableByAdmin:!1,unReadCount:0,isCompleted:!1,nextReqMessageId:""}),getters:{},actions:{updateMessageList(e){const t=this.messageList.map((e=>e.ID));-1===t.indexOf(e.ID)&&(this.messageList=this.messageList.concat([e]))},setMessageListInfo(e,t,o){this.messageList=e,this.isCompleted=t,this.nextReqMessageId=o},updateUnReadCount(e){this.unReadCount=e},addHistoryMessages(e){const t=this.messageList.map((e=>e.ID)),o=e.filter((e=>-1===t.indexOf(e.ID)));this.messageList=o.concat(this.messageList).sort(((e,t)=>e.sequence-t.sequence))},setSendMessageDisableChanged(e){this.isMessageDisableByAdmin=e},reset(){this.messageList=[],this.unReadCount=0,this.isMessageDisableByAdmin=!1}}});var _t=(0,r.defineComponent)({__name:"ChatControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),n=Ct(),{sidebarName:a}=(0,c.Jk)(o),s=(0,r.computed)((()=>"chat"===a.value?st.Z.ChatActive:st.Z.Chat));async function i(){if(o.setSidebarOpenStatus&&"chat"===o.sidebarName)return o.setSidebarOpenStatus(!1),void o.setSidebarName("");o.setSidebarOpenStatus(!0),o.setSidebarName("chat"),n.updateUnReadCount(0)}return{__sfc:!0,t:t,basicStore:o,chatStore:n,sidebarName:a,iconName:s,toggleChatSidebar:i,IconButton:Je.Z,isMobile:$.t}}}),It=_t,St=(0,w.Z)(It,gt,ht,!1,null,null,null),yt=St.exports,Rt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.roomStore.isMaster?t(o.MasterApplyControl):o.roomStore.isMaster?e._e():t(o.MemberApplyControl)},Tt=[],bt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"apply-control-container"},[t(o.IconButton,{ref:"masterApplyControlRef",attrs:{title:o.t("Raise hand"),"icon-name":o.ICON_NAME.ApplyOnSeat},on:{"click-icon":o.toggleApplySpeech}}),o.hasApplyToAnchorUser&&!o.showApplyUserList?t("div",{staticClass:"attention master-attention"},[t(o.SvgIcon,{staticClass:"apply-big-icon",attrs:{"icon-name":"apply-big-icon"}}),t("span",{staticClass:"info"},[e._v(e._s(o.applyToAnchorList.length))])],1):e._e(),o.showApplyUserList?t("div",{ref:"masterApplyListRef",class:o.isMobile?"apply-list-container-h5":"apply-list-container"},[t("div",{staticClass:"title-container"},[t("span",{staticClass:"title"},[e._v(e._s(o.t("Apply to stage application")))]),t(o.SvgIcon,{staticClass:"close",attrs:{"icon-name":"close",size:"medium"},on:{click:o.hideApplyList}})],1),t("div",{staticClass:"apply-list"},e._l(o.applyToAnchorList,(function(n,a){return t("div",{key:a,staticClass:"apply-item"},[t("div",{staticClass:"user-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":n.avatarUrl}}),t("span",{staticClass:"user-name",attrs:{title:n.userName||n.userId}},[e._v(e._s(n.userName||n.userId))])],1),t("div",{staticClass:"control-container"},[t("div",{staticClass:"button primary",on:{click:function(e){return o.handleUserApply(n.userId,!0)}}},[e._v(e._s(o.t("Agree")))]),t("div",{staticClass:"button outline",on:{click:function(e){return o.handleUserApply(n.userId,!1)}}},[e._v(e._s(o.t("Reject")))])])])})),0),t("div",{staticClass:"apply-footer"},[t("div",{staticClass:"button outline deny-all",on:{click:o.denyAllUserApply}},[e._v(e._s(o.t("Reject All")))])])]):e._e()],1)},Mt=[];const wt=(0,_.Z)();function kt(){const e=(0,h.A)(),{applyToAnchorList:t}=(0,c.Jk)(e),{t:o}=(0,C.Q)();function n(t){const{requestAction:o,requestId:n,userId:a}=t.request;o===v.TUIRequestAction.kRequestToTakeSeat&&a&&e.addApplyToAnchorUser({userId:a,requestId:n})}function a(t){const{userId:o}=t;e.removeApplyToAnchorUser(o)}async function s(t,o){const n=e.remoteUserObj[t];if(n){const e=n.applyToAnchorRequestId;e&&await(wt.instance?.responseRemoteRequest({requestId:e,agree:o}))}e.removeApplyToAnchorUser(t)}async function i(t){const o=t.applyToAnchorRequestId;o&&await(wt.instance?.responseRemoteRequest({requestId:o,agree:!0})),e.removeApplyToAnchorUser(t.userId)}async function u(t){const o=t.applyToAnchorRequestId;o&&await(wt.instance?.responseRemoteRequest({requestId:o,agree:!1})),e.removeApplyToAnchorUser(t.userId)}async function m(){const n=t.value.map((e=>({userId:e.userId,userName:e.userName,applyToAnchorRequestId:e.applyToAnchorRequestId})));let a=0;while(a>=0&&a{const{requestCallbackType:n,userId:a}=t,s=e.getUserName(a);switch(n){case v.TUIRequestCallbackType.kRequestAccepted:(0,l.z)({type:"success",message:`${s||a} ${o("accepted the invitation to the stage")}`,duration:Ke.U.NORMAL}),e.removeInviteToAnchorUser(a);break;case v.TUIRequestCallbackType.kRequestRejected:(0,l.z)({type:"warning",message:`${s||a} ${o("declined the invitation to the stage")}`,duration:Ke.U.NORMAL}),e.removeInviteToAnchorUser(a);break;case v.TUIRequestCallbackType.kRequestTimeout:break;default:break}}}));a&&a.requestId&&e.addInviteToAnchorUser({userId:n,requestId:a.requestId})}function p(t){const{userId:o,inviteToAnchorRequestId:n}=t;e.removeInviteToAnchorUser(o),n&&wt.instance?.cancelRequest({requestId:n})}function g(e){wt.instance?.kickUserOffSeatByAdmin({seatIndex:-1,userId:e.userId})}return f().once("ready",(()=>{wt.instance?.on(v.TUIRoomEvents.onRequestReceived,n),wt.instance?.on(v.TUIRoomEvents.onRequestCancelled,a)})),(0,r.onBeforeUnmount)((()=>{wt.instance?.off(v.TUIRoomEvents.onRequestReceived,n),wt.instance?.off(v.TUIRoomEvents.onRequestCancelled,a)})),{handleUserApply:s,agreeUserOnStage:i,denyUserOnStage:u,denyAllUserApply:m,inviteUserOnStage:d,cancelInviteUserOnStage:p,kickUserOffStage:g}}var Ut=(0,r.defineComponent)({__name:"MasterApplyControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),n=(0,h.A)(),{handleUserApply:a,denyAllUserApply:s}=kt(),{showApplyUserList:i}=(0,c.Jk)(o),{isMaster:l,applyToAnchorList:u}=(0,c.Jk)(n),m=(0,r.ref)(),d=(0,r.ref)(),p=(0,r.computed)((()=>u.value.length>0));function v(){l.value&&o.setShowApplyUserList(!i.value)}function f(){o.setShowApplyUserList(!1)}function _(e){!i.value||m.value?.$el.contains(e.target)||d.value?.contains(e.target)||o.setShowApplyUserList(!1)}return(0,r.onMounted)((()=>{document.addEventListener("click",_,!0)})),(0,r.onBeforeUnmount)((()=>{document.removeEventListener("click",_,!0)})),{__sfc:!0,t:t,basicStore:o,roomStore:n,handleUserApply:a,denyAllUserApply:s,showApplyUserList:i,isMaster:l,applyToAnchorList:u,masterApplyControlRef:m,masterApplyListRef:d,hasApplyToAnchorUser:p,toggleApplySpeech:v,hideApplyList:f,handleDocumentClick:_,Avatar:A.Z,ICON_NAME:st.Z,IconButton:Je.Z,SvgIcon:T.Z,isMobile:$.t}}}),At=Ut,xt=(0,w.Z)(At,bt,Mt,!1,null,null,null),Lt=xt.exports,Et=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"apply-control-container"},[t(o.IconButton,{attrs:{title:o.iconTitle,"icon-name":o.iconName},on:{"click-icon":o.toggleApplySpeech}}),o.showMemberApplyAttention?t("div",{staticClass:"attention member-attention"},[t("span",{staticClass:"info"},[e._v(e._s(o.t("Please raise your hand to apply")))]),t(o.SvgIcon,{staticClass:"close",attrs:{"icon-name":"close",size:"medium"},on:{click:o.hideApplyAttention}})],1):e._e()],1),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showInviteDialog,title:o.t("The host invites you to speak on stage"),modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{class:[o.isMobile?"button-container-mobile":"button-container-PC"]},[t("span",{staticClass:"cancel",on:{click:function(e){return o.handleInvite(!1)}}},[e._v(e._s(o.t("Cancel")))]),t("span",{staticClass:"agree",on:{click:function(e){return o.handleInvite(!0)}}},[e._v(e._s(o.t("Agree")))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?"))+" ")])])],1)},Dt=[],Nt=(0,r.defineComponent)({__name:"MemberApplyControl",setup(e){const t=(0,_.Z)(),{t:o}=(0,C.Q)(),n=(0,g.o)(),a=(0,h.A)(),{lang:s}=(0,c.Jk)(n),{localUser:i}=(0,c.Jk)(a),u=(0,r.ref)(!1),m=(0,r.ref)(!0),d=(0,r.ref)(""),p=(0,r.ref)(""),S=(0,r.ref)(!1),y=(0,r.ref)(""),R=(0,r.ref)("");async function b(){U(),i.value.onSeat?k():u.value?w():M()}async function M(){try{const e=await(t.instance?.takeSeat({seatIndex:-1,timeout:0,requestCallback:e=>{u.value=!1;const{requestCallbackType:t}=e;switch(t){case v.TUIRequestCallbackType.kRequestAccepted:(0,l.z)({type:"success",message:o("The host has approved your application"),duration:Ke.U.NORMAL});break;case v.TUIRequestCallbackType.kRequestRejected:(0,l.z)({type:"warning",message:o("The host has rejected your application for the stage"),duration:Ke.U.NORMAL});break;case v.TUIRequestCallbackType.kRequestTimeout:break}}}));e&&e.requestId&&(y.value=e.requestId),u.value=!0}catch(e){I.Z.log("member sendSpeechApplication error",e)}}async function w(){try{await(t.instance?.cancelRequest({requestId:y.value})),u.value=!1}catch(e){I.Z.log("member cancelSpeechApplication",e)}}async function k(){await(t.instance?.leaveSeat())}function U(){m.value=!1}async function A(e){const{request:{requestId:t,requestAction:o}}=e;o===v.TUIRequestAction.kRequestRemoteUserOnSeat&&(R.value=t,S.value=!0)}function x(e){const{requestId:t}=e;R.value===t&&(R.value="",S.value=!1)}async function L(e){await(t.instance?.responseRemoteRequest({requestId:R.value,agree:e})),S.value=!1,e&&U()}async function E(){(0,l.z)({type:"warning",message:o("You have been invited by the host to step down, please raise your hand if you need to speak"),duration:Ke.U.NORMAL})}return(0,r.watch)([i,u,s],(([e,t])=>{e.onSeat?(d.value=st.Z.GoOffSeat,p.value=o("Step down")):t?(d.value=st.Z.ApplyActive,p.value=o("Hand down")):(d.value=st.Z.ApplyOnSeat,p.value=o("Raise hand"))}),{immediate:!0,deep:!0}),f().once("ready",(()=>{t.instance?.on(v.TUIRoomEvents.onRequestReceived,A),t.instance?.on(v.TUIRoomEvents.onRequestCancelled,x),t.instance?.on(v.TUIRoomEvents.onKickedOffSeat,E)})),(0,r.onBeforeUnmount)((()=>{t.instance?.off(v.TUIRoomEvents.onRequestReceived,A),t.instance?.off(v.TUIRoomEvents.onRequestCancelled,x),t.instance?.off(v.TUIRoomEvents.onKickedOffSeat,E)})),{__sfc:!0,roomEngine:t,t:o,basicStore:n,roomStore:a,lang:s,localUser:i,isApplyingOnSeat:u,showMemberApplyAttention:m,iconName:d,iconTitle:p,showInviteDialog:S,applyToAnchorRequestId:y,inviteToAnchorRequestId:R,toggleApplySpeech:b,sendSeatApplication:M,cancelSeatApplication:w,leaveSeat:k,hideApplyAttention:U,onRequestReceived:A,onRequestCancelled:x,handleInvite:L,onKickedOffSeat:E,IconButton:Je.Z,SvgIcon:T.Z,Dialog:Z.Z,isMobile:$.t}}}),Ot=Nt,Zt=(0,w.Z)(Ot,Et,Dt,!1,null,null,null),jt=Zt.exports,Vt=(0,r.defineComponent)({__name:"Index",setup(e){const t=(0,h.A)();return{__sfc:!0,roomStore:t,MasterApplyControl:Lt,MemberApplyControl:jt}}}),qt=Vt,Pt=(0,w.Z)(qt,Rt,Tt,!1,null,null,null),$t=Pt.exports,Bt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",[t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("More"),"icon-name":o.ICON_NAME.More},on:{"click-icon":o.showMore}})],1),o.showMoreContent?t("div",{ref:"moreContentRef",staticClass:"show-more-content"},[t("div",{staticClass:"control-compent"},[o.roomStore.isSpeakAfterTakingSeatMode?t(o.ChatControl,{on:{click:function(e){return o.handleControlClick("chatControl")}}}):e._e(),t(o.ContactControl,{on:{click:function(e){return o.handleControlClick("contactControl")}}}),t(o.InviteControl,{on:{click:function(e){return o.handleControlClick("inviteControl")}}})],1),t("div",{staticClass:"close",on:{click:function(e){o.showMoreContent=!1}}},[t("i",[e._v(e._s(o.t("Cancel")))])])]):e._e()])},Ft=[];function Ht(){const{t:e}=(0,C.Q)(),t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),n=(0,r.computed)((()=>"more"===o.value?st.Z.MoreActive:st.Z.More));return{t:e,basicStore:t,iconName:n,sidebarName:o}}var zt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-control-container"},[t(o.IconButton,{attrs:{"is-active":"invite"===o.sidebarName,title:o.t("Invite"),"icon-name":o.iconName},on:{"click-icon":o.toggleInviteSidebar}}),o.isShowInviteTab?t("div",{staticClass:"invite-container"},[t(o.roomInvite,{ref:"inviteRef",on:{"on-close-invite":o.handleCloseInvite}})],1):e._e()],1)},Qt=[],Jt=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-container-main"},[t("div",{staticClass:"invite-title-main"},[t("p",[e._v(e._s(o.t("Invite")))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleCloseInvite,expression:"handleCloseInvite"}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.visibleInviteContentList,(function(n){return t("div",{key:n.id,staticClass:"invite-content-main"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t(n.title)))]),t("span",{staticClass:"invite-content"},[e._v(e._s(n.content))]),t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.onCopy(n.copyLink),expression:"() => onCopy(item.copyLink)"}],staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"}})],1)})),t("span",{staticClass:"invite-bottom"},[e._v(" "+e._s(o.t("You can share the room number or link to invite more people to join the room."))+" ")])],2)},Wt=[];function Gt(){const{t:e}=(0,C.Q)(),t=(0,g.o)(),{roomId:o,shareLink:n,isRoomLinkVisible:a}=(0,c.Jk)(t),{origin:s,pathname:i}=location||{},u=(0,se.Al)(),m=(0,r.computed)((()=>{if(n.value){const e=-1!==n.value.indexOf("?")?"&":"?";return`${n.value}${e}roomId=${o.value}`}return`${s}${i}#/home?roomId=${o.value}`})),d=(0,r.computed)((()=>`tuiroom://joinroom?roomId=${o.value}`));async function p(t){try{await(0,se.jO)(t),(0,l.z)({message:e("Copied successfully"),type:"success"})}catch(o){(0,l.z)({message:e("Copied failure"),type:"error"})}}const v=[{id:1,title:"Room ID",content:o,copyLink:o,visible:!0},{id:2,title:"Room Link",content:m,copyLink:m,visible:a.value},{id:3,title:"scheme",content:d,copyLink:d,visible:!0}],f=(0,r.reactive)(v.filter((e=>e.visible)));return{t:e,isRoomLinkVisible:a,roomId:o,origin:s,pathname:i,isElectron:u,inviteLink:m,schemeLink:d,onCopy:p,visibleInviteContentList:f}}var Kt=(0,r.defineComponent)({__name:"indexH5",emits:["on-close-invite"],setup(e,{emit:t}){const{t:o,onCopy:n,visibleInviteContentList:a}=Gt();function s(){t("on-close-invite")}return{__sfc:!0,t:o,onCopy:n,visibleInviteContentList:a,emit:t,handleCloseInvite:s,SvgIcon:T.Z,isWeChat:$.e}}}),Yt=Kt,Xt=(0,w.Z)(Yt,Jt,Wt,!1,null,"eb2b478c",null),eo=Xt.exports,to=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"invite-container"},[t("div",{staticClass:"invite-notice"},[e._v(e._s(o.t("Share the room ID or invite link")))]),t("div",{staticClass:"invite-content"},[t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite by room number")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.roomId}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.roomId)}}})],1)]),o.isRoomLinkVisible?t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite via room link")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.inviteLink}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.inviteLink)}}})],1)]):e._e(),t("div",{staticClass:"invite-item"},[t("span",{staticClass:"invite-title"},[e._v(e._s(o.t("Invite via client scheme")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.schemeLink}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.schemeLink)}}})],1)])])])},oo=[],no=(0,r.defineComponent)({__name:"indexPC",setup(e){const{t:t,isRoomLinkVisible:o,roomId:n,inviteLink:a,schemeLink:s,onCopy:i}=Gt();return{__sfc:!0,t:t,isRoomLinkVisible:o,roomId:n,inviteLink:a,schemeLink:s,onCopy:i,SvgIcon:T.Z}}}),ao=no,so=(0,w.Z)(ao,to,oo,!1,null,"76a9ae2d",null),io=so.exports;const ro=$.t?eo:io;var lo=ro,co=(0,r.defineComponent)({__name:"InviteControl",setup(e){const t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),{t:n}=(0,C.Q)(),a=(0,r.ref)(!1),s=(0,r.ref)(),i=(0,r.computed)((()=>$.t?st.Z.Invite:"invite"===o.value?st.Z.InviteActive:st.Z.Invite));function l(){if($.t){if(a.value=!0,"invite"===t.sidebarName)return void t.setSidebarName("");t.setSidebarName("invite")}else{if(t.setSidebarOpenStatus&&"invite"===t.sidebarName)return t.setSidebarOpenStatus(!1),void t.setSidebarName("");t.setSidebarOpenStatus(!0),t.setSidebarName("invite")}}function u(e){a.value&&s.value&&!s.value.$el.contains(e.target)&&(a.value=!1)}function m(){a.value=!1}return(0,r.onMounted)((()=>{document?.addEventListener("click",u,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",u,!0)})),{__sfc:!0,basicStore:t,sidebarName:o,t:n,isShowInviteTab:a,inviteRef:s,iconName:i,toggleInviteSidebar:l,handleDocumentClick:u,handleCloseInvite:m,IconButton:Je.Z,roomInvite:lo}}}),uo=co,mo=(0,w.Z)(uo,zt,Qt,!1,null,"78681d3c",null),po=mo.exports,vo=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("Contact us"),"icon-name":"contact-us-h5"},on:{"click-icon":o.toggleContactSidebar}}),o.isShowContactTab?t("div",{staticClass:"contact-container"},[t(o.roomContact,{ref:"contactRef",on:{"on-close-contact":o.handleOnCloseContact}})],1):e._e()],1)},fo=[],go=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"contact-container-main"},[t("div",{staticClass:"contact-title-main"},[t("p",[e._v(e._s(o.t("Contact us")))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap",value:o.handleCloseContact,expression:"handleCloseContact"}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.contactContentList,(function(n){return t("div",{key:n.id,staticClass:"contact-content-main"},[t("span",{staticClass:"contact-title"},[e._v(e._s(o.t(n.title)))]),t("span",{staticClass:"contact-content"},[e._v(e._s(n.content))]),t(o.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:()=>o.onCopy(n.copyLink),expression:"() => onCopy(item.copyLink)"}],staticClass:"copy",attrs:{"icon-name":"copy-icon",size:"custom"}})],1)})),t("span",{staticClass:"contact-bottom"},[e._v(" "+e._s(o.t("If you have any questions, please feel free to join our QQ group or send an email"))+" ")])],2)},ho=[];function Co(){const{t:e}=(0,C.Q)(),t="592465424",o="matthewwu@tencent.com";async function n(t){try{await(0,se.jO)(t),(0,l.z)({message:e("Copied successfully"),type:"success"})}catch(o){(0,l.z)({message:e("Copied failure"),type:"error"})}}return{t:e,groupNumber:t,email:o,onCopy:n}}var _o=(0,r.defineComponent)({__name:"indexH5",emits:["on-close-contact"],setup(e,{emit:t}){const{t:o,groupNumber:n,email:a,onCopy:s}=Co(),i=(0,r.reactive)([{id:1,title:"group chat",content:n,copyLink:n},{id:2,title:"Email",content:a,copyLink:a}]);function l(){t("on-close-contact")}return{__sfc:!0,t:o,groupNumber:n,email:a,onCopy:s,emit:t,contactContentList:i,handleCloseContact:l,SvgIcon:T.Z,isWeChat:$.e}}}),Io=_o,So=(0,w.Z)(Io,go,ho,!1,null,"76fbca8c",null),yo=So.exports,Ro=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-container"},[t("div",{staticClass:"more-notice"},[e._v(e._s(o.t("Join our QQ group chat or email us.")))]),t("div",{staticClass:"more-content"},[t("div",{staticClass:"more-item"},[t("span",{staticClass:"more-title"},[e._v(e._s(o.t("group chat")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.groupNumber}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.groupNumber)}}})],1)]),t("div",{staticClass:"more-item"},[t("span",{staticClass:"more-title"},[e._v(e._s(o.t("Email")))]),t("div",{staticClass:"input-area"},[t("input",{staticClass:"input",attrs:{type:"text"},domProps:{value:o.email}}),t(o.SvgIcon,{staticClass:"copy",attrs:{"icon-name":"copy-icon"},on:{click:function(e){return o.onCopy(o.email)}}})],1)])])])},To=[],bo=(0,r.defineComponent)({__name:"indexPC",setup(e){const{t:t,groupNumber:o,email:n,onCopy:a}=Co();return{__sfc:!0,t:t,groupNumber:o,email:n,onCopy:a,SvgIcon:T.Z}}}),Mo=bo,wo=(0,w.Z)(Mo,Ro,To,!1,null,"4d3067ac",null),ko=wo.exports;const Uo=$.t?yo:ko;var Ao=Uo,xo=(0,r.defineComponent)({__name:"ContactControl",setup(e){const t=(0,g.o)(),{sidebarName:o}=(0,c.Jk)(t),{t:n}=(0,C.Q)(),a=(0,r.ref)(!1),s=(0,r.ref)();function i(){if($.t){if(a.value=!0,"more"===t.sidebarName)return void t.setSidebarName("");t.setSidebarName("more")}else{if(t.setSidebarOpenStatus&&"more"===t.sidebarName)return t.setSidebarOpenStatus(!1),void t.setSidebarName("");t.setSidebarOpenStatus(!0),t.setSidebarName("more")}}function l(e){a.value&&s.value&&!s.value.$el.contains(e.target)&&(a.value=!1)}function u(){a.value=!1}return(0,r.onMounted)((()=>{document.addEventListener("click",l,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",l,!0)})),{__sfc:!0,basicStore:t,sidebarName:o,t:n,isShowContactTab:a,contactRef:s,toggleContactSidebar:i,handleDocumentClick:l,handleOnCloseContact:u,IconButton:Je.Z,roomContact:Ao}}}),Lo=xo,Eo=(0,w.Z)(Lo,vo,fo,!1,null,"251c1f14",null),Do=Eo.exports;function No(e){return{all:e=e||new Map,on:function(t,o){var n=e.get(t);n?n.push(o):e.set(t,[o])},off:function(t,o){var n=e.get(t);n&&(o?n.splice(n.indexOf(o)>>>0,1):e.set(t,[]))},emit:function(t,o){var n=e.get(t);n&&n.slice().map((function(e){e(o)})),(n=e.get("*"))&&n.slice().map((function(e){e(t,o)}))}}}const Oo=No();var Zo=Oo,jo=(0,r.defineComponent)({__name:"MoreControlH5",setup(e){const t=(0,r.ref)(!1),o=(0,r.ref)(),{t:n,sidebarName:a}=Ht(),s=(0,h.A)();function i(){t.value=!0}function l(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}function c(e){t.value&&!o.value.contains(e.target)&&(t.value=!1)}return(0,r.onMounted)((()=>{document?.addEventListener("click",c,!0)})),(0,r.onUnmounted)((()=>{document?.removeEventListener("click",c,!0)})),{__sfc:!0,showMoreContent:t,moreContentRef:o,t:n,sidebarName:a,roomStore:s,showMore:i,handleControlClick:l,handleDocumentClick:c,IconButton:Je.Z,ChatControl:yt,InviteControl:po,ContactControl:Do,ICON_NAME:st.Z}}}),Vo=jo,qo=(0,w.Z)(Vo,Bt,Ft,!1,null,"7814bc4f",null),Po=qo.exports,$o=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"more-control-container"},[t(o.IconButton,{attrs:{"is-active":"more"===o.sidebarName,title:o.t("More"),"icon-name":o.iconName},on:{"click-icon":o.toggleMoreSidebar}})],1)},Bo=[],Fo=(0,r.defineComponent)({__name:"MoreControlPC",setup(e){const{t:t,iconName:o,basicStore:n,sidebarName:a}=Ht();function s(){if(n.setSidebarOpenStatus&&"more"===n.sidebarName)return n.setSidebarOpenStatus(!1),void n.setSidebarName("");n.setSidebarOpenStatus(!0),n.setSidebarName("more")}return{__sfc:!0,t:t,iconName:o,basicStore:n,sidebarName:a,toggleMoreSidebar:s,IconButton:Je.Z}}}),Ho=Fo,zo=(0,w.Z)(Ho,$o,Bo,!1,null,"8fb09940",null),Qo=zo.exports;const Jo=$.t?Po:Qo;var Wo=Jo;function Go(){const e=(0,h.A)(),{t:t}=(0,C.Q)();return{t:t,roomStore:e}}var Ko=(0,r.defineComponent)({__name:"indexH5",setup(e){const{roomStore:t}=Go();function o(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}return{__sfc:!0,roomStore:t,handleControlClick:o,AudioControl:tt,VideoControl:ct,ManageMemberControl:ft,ChatControl:yt,ApplyControl:$t,MoreControl:Wo}}}),Yo=Ko,Xo=(0,w.Z)(Yo,Fe,He,!1,null,"6f1ee0d6",null),en=Xo.exports,tn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"footer-container"},[t("div",{staticClass:"left-container"},[t(o.AudioControl,{staticClass:"left-container-item",on:{click:function(e){return o.handleControlClick("audioControl")}}}),t(o.VideoControl,{staticClass:"left-container-item",on:{click:function(e){return o.handleControlClick("videoControl")}}})],1),t("div",{staticClass:"center-container"},[t(o.ScreenShareControl,{on:{click:function(e){return o.handleControlClick("screenShareControl")}}}),t(o.FullScreenControl,{on:{click:function(e){return o.handleControlClick("fullScreenControl")}}}),o.roomStore.isMaster?t(o.ManageMemberControl,{on:{click:function(e){return o.handleControlClick("manageMemberControl")}}}):e._e(),t(o.InviteControl,{on:{click:function(e){return o.handleControlClick("inviteControl")}}}),t(o.ChatControl,{on:{click:function(e){return o.handleControlClick("chatControl")}}}),o.roomStore.isSpeakAfterTakingSeatMode?t(o.ApplyControl,{on:{click:function(e){return o.handleControlClick("applyControl")}}}):e._e(),t(o.MoreControl,{on:{click:function(e){return o.handleControlClick("moreControl")}}}),t(o.SettingControl,{on:{click:function(e){return o.handleControlClick("settingControl")}}})],1),t("div",{staticClass:"right-container"},[t(o.EndControl,{on:{"on-destroy-room":o.onDestroyRoom,"on-exit-room":o.onExitRoom}})],1)])},on=[],nn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"screen-share-control-container"},[t(o.IconButton,{ref:"btnStopRef",attrs:{"is-active":o.isSharing,disabled:o.screenShareDisabled,title:o.title,"icon-name":o.iconName},on:{"click-icon":o.toggleScreenShare}}),o.showStopShareRegion?t("div",{staticClass:"stop-share-region",on:{click:o.openStopConfirmDialog}},[t(o.SvgIcon,{staticClass:"stop-share-icon",attrs:{"icon-name":o.ICON_NAME.ScreenShareStopped}}),t("span",[e._v(e._s(o.t("End sharing")))])],1):e._e(),t(o.Dialog,{attrs:{"model-value":o.dialogVisible,width:"420px",title:o.t("Stop sharing?"),modal:!0,"append-to-body":!1,"before-close":o.cancelStop},scopedSlots:e._u([{key:"footer",fn:function(){return[t("span",[t("el-button",{attrs:{type:"primary"},on:{click:o.stopScreenShare}},[e._v(e._s(o.t("Stop sharing")))]),t("el-button",{attrs:{type:"default"},on:{click:o.cancelStop}},[e._v(e._s(o.t("Cancel")))])],1)]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.t("Others will no longer see your screen after you stop sharing. Are you sure you want to stop?")))])])],1)},an=[],sn=(0,r.defineComponent)({__name:"Index",setup(e){const t=(0,_.Z)(),o="[ScreenShareControl]",n=(0,h.A)(),{isAnchor:a,isAudience:s,hasOtherScreenShare:i}=(0,c.Jk)(n),{t:u}=(0,C.Q)(),m=(0,r.ref)(),d=(0,r.ref)(!1),p=(0,r.ref)(!1),g=(0,r.ref)(!1),S=(0,r.computed)((()=>s.value)),y=(0,r.computed)((()=>d.value?u("Sharing"):u("Share screen"))),R=(0,r.computed)((()=>S.value?st.Z.ScreenShareDisabled:d.value?st.Z.ScreenSharing:st.Z.ScreenShare));async function b(){if(s.value)(0,l.z)({type:"warning",message:u("You currently do not have sharing permission, please raise your hand to apply for sharing permission first"),duration:Ke.U.LONG});else if(i.value)(0,l.z)({type:"warning",message:u("Another user is currently sharing the screen, screen sharing is not possible."),duration:Ke.U.LONG});else if(d.value)p.value=!0;else try{await(t.instance?.startScreenSharing()),d.value=!0}catch(e){I.Z.error(`${o}startScreenShare error:`,e.name,e.message,e.code);let t="";switch(e.name){case"NotReadableError":t="系统禁止当前浏览器获取屏幕内容";break;case"NotAllowedError":t=e.message.includes("Permission denied by system")?"系统禁止当前浏览器获取屏幕内容":"用户拒绝/取消屏幕分享";break;default:t="屏幕分享遇到未知错误";break}(0,l.z)({type:"warning",message:t,duration:Ke.U.LONG})}}function M(){p.value=!1,d.value&&(g.value=!0)}function w(){g.value=!1}async function k(){if(d.value)try{await(t.instance?.stopScreenSharing()),g.value=!1,d.value=!1}catch(e){I.Z.error(`${o}stopScreenShare error:`,e)}}function U(){d.value=!1}return(0,r.watch)(a,((e,t)=>{!t&&e&&d.value&&k()})),f().once("ready",(()=>{t.instance?.on(v.TUIRoomEvents.onUserScreenCaptureStopped,U)})),(0,r.onUnmounted)((()=>{t.instance?.off(v.TUIRoomEvents.onUserScreenCaptureStopped,U)})),{__sfc:!0,roomEngine:t,logPrefix:o,roomStore:n,isAnchor:a,isAudience:s,hasOtherScreenShare:i,t:u,btnStopRef:m,isSharing:d,showStopShareRegion:p,dialogVisible:g,screenShareDisabled:S,title:y,iconName:R,toggleScreenShare:b,openStopConfirmDialog:M,cancelStop:w,stopScreenShare:k,screenCaptureStopped:U,Dialog:Z.Z,IconButton:Je.Z,SvgIcon:T.Z,ICON_NAME:st.Z}}}),rn=sn,ln=(0,w.Z)(rn,nn,an,!1,null,"5d38a258",null),cn=ln.exports,un=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"fullscreen-control-container"},[t(o.IconButton,{attrs:{"is-active":o.isFullScreen,title:o.title,"icon-name":o.iconName},on:{"click-icon":o.toggleScreen}})],1)},mn=[],dn=o(7175),pn=(0,r.defineComponent)({__name:"FullScreenControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,r.ref)(!1),n=(0,r.computed)((()=>o.value?t("Exit"):t("Full screen"))),a=(0,r.computed)((()=>o.value?st.Z.ExitFullScreen:st.Z.FullScreen));function s(){if(o.value)(0,se.Pr)();else if(dn.P_){const e=document.body;e&&(0,se.EV)(e)}else{const e=document.getElementById("roomContainer");e&&(0,se.EV)(e)}}function i(){o.value=!o.value}return(0,r.onMounted)((()=>{["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach((e=>{window.addEventListener(e,i)}))})),(0,r.onUnmounted)((()=>{["fullscreenchange","webkitfullscreenchange","mozfullscreenchange"].forEach((e=>{window.removeEventListener(e,i)}))})),{__sfc:!0,t:t,isFullScreen:o,title:n,iconName:a,toggleScreen:s,handleFullScreenChange:i,IconButton:Je.Z}}}),vn=pn,fn=(0,w.Z)(vn,un,mn,!1,null,"2ebc7fcf",null),gn=fn.exports,hn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"setting-control-container"},[t(o.IconButton,{attrs:{"is-active":o.showSettingDialog,title:o.t("Settings"),"icon-name":o.iconName},on:{"click-icon":o.handleShowSettingDialog}})],1)},Cn=[],_n=(0,r.defineComponent)({__name:"SettingControl",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{showSettingDialog:n}=(0,c.Jk)(o),a=(0,r.computed)((()=>n.value?st.Z.SettingActive:st.Z.Setting));function s(){o.setShowSettingDialog(!o.showSettingDialog)}return{__sfc:!0,t:t,basicStore:o,showSettingDialog:n,iconName:a,handleShowSettingDialog:s,IconButton:Je.Z}}}),In=_n,Sn=(0,w.Z)(In,hn,Cn,!1,null,"2c9e5284",null),yn=Sn.exports,Rn=(0,r.defineComponent)({__name:"indexPC",emits:["on-destroy-room","on-exit-room"],setup(e,{emit:t}){const{roomStore:o}=Go(),n=e=>{t("on-destroy-room",e),Se.reportEvent({name:"destroyRoom",ext1:"destroyRoom-success"})},a=e=>{t("on-exit-room",e),Se.reportEvent({name:"exitRoom",ext1:"exitRoom-success"})};function s(e){Se.reportEvent({name:e,ext1:e}),Zo.emit("experience-communication",e)}return{__sfc:!0,roomStore:o,emit:t,onDestroyRoom:n,onExitRoom:a,handleControlClick:s,AudioControl:tt,ScreenShareControl:cn,FullScreenControl:gn,InviteControl:po,VideoControl:ct,ManageMemberControl:ft,ChatControl:yt,ApplyControl:$t,MoreControl:Wo,EndControl:F,SettingControl:yn}}}),Tn=Rn,bn=(0,w.Z)(Tn,tn,on,!1,null,"fcf4ace8",null),Mn=bn.exports;const wn=$.t?en:Mn;var kn=wn,Un=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.showSideBar?t(o.popup,{staticClass:"sidebar-container-mobile",attrs:{title:o.title},scopedSlots:e._u([{key:"sidebarContent",fn:function(){return[t("div",{staticStyle:{height:"100%"}},["chat"===o.sidebarName?t(o.Chat):e._e(),"manage-member"===o.sidebarName?t(o.ManageMember):e._e()],1)]},proxy:!0},{key:"sidebarFooter",fn:function(){return[t("div",["chat"===o.sidebarName?t(o.ChatEditor):e._e()],1)]},proxy:!0}],null,!1,403798847)}):e._e()},An=[],xn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:[o.isMobile?"chat-container-h5":"chat-container"]},[t(o.MessageList),o.isMobile?e._e():t(o.ChatEditor)],1)},Ln=[],En=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:o.isMobile?"message-list-container-h5":"message-list-container"},[t("div",{staticClass:"message-list"},e._l(o.messageList,(function(n){return t("div",{key:n.ID,ref:"messageAimId",refInFor:!0,class:["message-item",""+("out"===n.flow?"is-me":"")]},[t("div",{staticClass:"message-header",attrs:{title:n.nick||n.from}},[e._v(" "+e._s(n.nick||n.from)+" ")]),t("div",{staticClass:"message-body"},["TIMTextElem"===n.type?t(o.MessageText,{attrs:{data:n.payload.text}}):e._e()],1)])})),0),t("div",{ref:"messageBottomEl",staticClass:"message-bottom"})])},Dn=[],Nn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("span",e._l(o.handleTextMessageShowContext(o.props.data),(function(o,n){return t("span",{key:n},["text"===o.name?t("span",{staticClass:"text-box"},[e._v(e._s(o.text))]):"img"===o.name?t("img",{staticClass:"text-img",attrs:{src:o.src}}):e._e()])})),0)},On=[];const Zn="https://web.sdk.qcloud.com/im/assets/emoji/",jn={"[NO]":"emoji_0@2x.png","[OK]":"emoji_1@2x.png","[下雨]":"emoji_2@2x.png","[么么哒]":"emoji_3@2x.png","[乒乓]":"emoji_4@2x.png","[便便]":"emoji_5@2x.png","[信封]":"emoji_6@2x.png","[偷笑]":"emoji_7@2x.png","[傲慢]":"emoji_8@2x.png","[再见]":"emoji_9@2x.png","[冷汗]":"emoji_10@2x.png","[凋谢]":"emoji_11@2x.png","[刀]":"emoji_12@2x.png","[删除]":"emoji_13@2x.png","[勾引]":"emoji_14@2x.png","[发呆]":"emoji_15@2x.png","[发抖]":"emoji_16@2x.png","[可怜]":"emoji_17@2x.png","[可爱]":"emoji_18@2x.png","[右哼哼]":"emoji_19@2x.png","[右太极]":"emoji_20@2x.png","[右车头]":"emoji_21@2x.png","[吐]":"emoji_22@2x.png","[吓]":"emoji_23@2x.png","[咒骂]":"emoji_24@2x.png","[咖啡]":"emoji_25@2x.png","[啤酒]":"emoji_26@2x.png","[嘘]":"emoji_27@2x.png","[回头]":"emoji_28@2x.png","[困]":"emoji_29@2x.png","[坏笑]":"emoji_30@2x.png","[多云]":"emoji_31@2x.png","[大兵]":"emoji_32@2x.png","[大哭]":"emoji_33@2x.png","[太阳]":"emoji_34@2x.png","[奋斗]":"emoji_35@2x.png","[奶瓶]":"emoji_36@2x.png","[委屈]":"emoji_37@2x.png","[害羞]":"emoji_38@2x.png","[尴尬]":"emoji_39@2x.png","[左哼哼]":"emoji_40@2x.png","[左太极]":"emoji_41@2x.png","[左车头]":"emoji_42@2x.png","[差劲]":"emoji_43@2x.png","[弱]":"emoji_44@2x.png","[强]":"emoji_45@2x.png","[彩带]":"emoji_46@2x.png","[彩球]":"emoji_47@2x.png","[得意]":"emoji_48@2x.png","[微笑]":"emoji_49@2x.png","[心碎了]":"emoji_50@2x.png","[快哭了]":"emoji_51@2x.png","[怄火]":"emoji_52@2x.png","[怒]":"emoji_53@2x.png","[惊恐]":"emoji_54@2x.png","[惊讶]":"emoji_55@2x.png","[憨笑]":"emoji_56@2x.png","[手枪]":"emoji_57@2x.png","[打哈欠]":"emoji_58@2x.png","[抓狂]":"emoji_59@2x.png","[折磨]":"emoji_60@2x.png","[抠鼻]":"emoji_61@2x.png","[抱抱]":"emoji_62@2x.png","[抱拳]":"emoji_63@2x.png","[拳头]":"emoji_64@2x.png","[挥手]":"emoji_65@2x.png","[握手]":"emoji_66@2x.png","[撇嘴]":"emoji_67@2x.png","[擦汗]":"emoji_68@2x.png","[敲打]":"emoji_69@2x.png","[晕]":"emoji_70@2x.png","[月亮]":"emoji_71@2x.png","[棒棒糖]":"emoji_72@2x.png","[汽车]":"emoji_73@2x.png","[沙发]":"emoji_74@2x.png","[流汗]":"emoji_75@2x.png","[流泪]":"emoji_76@2x.png","[激动]":"emoji_77@2x.png","[灯泡]":"emoji_78@2x.png","[炸弹]":"emoji_79@2x.png","[熊猫]":"emoji_80@2x.png","[爆筋]":"emoji_81@2x.png","[爱你]":"emoji_82@2x.png","[爱心]":"emoji_83@2x.png","[爱情]":"emoji_84@2x.png","[猪头]":"emoji_85@2x.png","[猫咪]":"emoji_86@2x.png","[献吻]":"emoji_87@2x.png","[玫瑰]":"emoji_88@2x.png","[瓢虫]":"emoji_89@2x.png","[疑问]":"emoji_90@2x.png","[白眼]":"emoji_91@2x.png","[皮球]":"emoji_92@2x.png","[睡觉]":"emoji_93@2x.png","[磕头]":"emoji_94@2x.png","[示爱]":"emoji_95@2x.png","[礼品袋]":"emoji_96@2x.png","[礼物]":"emoji_97@2x.png","[篮球]":"emoji_98@2x.png","[米饭]":"emoji_99@2x.png","[糗大了]":"emoji_100@2x.png","[红双喜]":"emoji_101@2x.png","[红灯笼]":"emoji_102@2x.png","[纸巾]":"emoji_103@2x.png","[胜利]":"emoji_104@2x.png","[色]":"emoji_105@2x.png","[药]":"emoji_106@2x.png","[菜刀]":"emoji_107@2x.png","[蛋糕]":"emoji_108@2x.png","[蜡烛]":"emoji_109@2x.png","[街舞]":"emoji_110@2x.png","[衰]":"emoji_111@2x.png","[西瓜]":"emoji_112@2x.png","[调皮]":"emoji_113@2x.png","[象棋]":"emoji_114@2x.png","[跳绳]":"emoji_115@2x.png","[跳跳]":"emoji_116@2x.png","[车厢]":"emoji_117@2x.png","[转圈]":"emoji_118@2x.png","[鄙视]":"emoji_119@2x.png","[酷]":"emoji_120@2x.png","[钞票]":"emoji_121@2x.png","[钻戒]":"emoji_122@2x.png","[闪电]":"emoji_123@2x.png","[闭嘴]":"emoji_124@2x.png","[闹钟]":"emoji_125@2x.png","[阴险]":"emoji_126@2x.png","[难过]":"emoji_127@2x.png","[雨伞]":"emoji_128@2x.png","[青蛙]":"emoji_129@2x.png","[面条]":"emoji_130@2x.png","[鞭炮]":"emoji_131@2x.png","[风车]":"emoji_132@2x.png","[飞吻]":"emoji_133@2x.png","[飞机]":"emoji_134@2x.png","[饥饿]":"emoji_135@2x.png","[香蕉]":"emoji_136@2x.png","[骷髅]":"emoji_137@2x.png","[麦克风]":"emoji_138@2x.png","[麻将]":"emoji_139@2x.png","[鼓掌]":"emoji_140@2x.png","[龇牙]":"emoji_141@2x.png"},Vn=["[龇牙]","[调皮]","[流汗]","[偷笑]","[再见]","[敲打]","[擦汗]","[猪头]","[玫瑰]","[流泪]","[大哭]","[嘘]","[酷]","[抓狂]","[委屈]","[便便]","[炸弹]","[菜刀]","[可爱]","[色]","[害羞]","[得意]","[吐]","[微笑]","[怒]","[尴尬]","[惊恐]","[冷汗]","[爱心]","[示爱]","[白眼]","[傲慢]","[难过]","[惊讶]","[疑问]","[困]","[么么哒]","[憨笑]","[爱情]","[衰]","[撇嘴]","[阴险]","[奋斗]","[发呆]","[右哼哼]","[抱抱]","[坏笑]","[飞吻]","[鄙视]","[晕]","[大兵]","[可怜]","[强]","[弱]","[握手]","[胜利]","[抱拳]","[凋谢]","[米饭]","[蛋糕]","[西瓜]","[啤酒]","[瓢虫]","[勾引]","[OK]","[爱你]","[咖啡]","[月亮]","[刀]","[发抖]","[差劲]","[拳头]","[心碎了]","[太阳]","[礼物]","[皮球]","[骷髅]","[挥手]","[闪电]","[饥饿]","[咒骂]","[折磨]","[抠鼻]","[鼓掌]","[糗大了]","[左哼哼]","[打哈欠]","[快哭了]","[吓]","[篮球]","[乒乓]","[NO]","[跳跳]","[怄火]","[转圈]","[磕头]","[回头]","[跳绳]","[激动]","[街舞]","[献吻]","[左太极]","[右太极]","[闭嘴]","[猫咪]","[红双喜]","[鞭炮]","[红灯笼]","[麻将]","[麦克风]","[礼品袋]","[信封]","[象棋]","[彩带]","[蜡烛]","[爆筋]","[棒棒糖]","[奶瓶]","[面条]","[香蕉]","[飞机]","[左车头]","[车厢]","[右车头]","[多云]","[下雨]","[钞票]","[熊猫]","[灯泡]","[风车]","[闹钟]","[雨伞]","[彩球]","[钻戒]","[沙发]","[纸巾]","[手枪]","[青蛙]"];function qn(e){const t=[];let o=e,n=-1,a=-1;while(""!==o)switch(n=o.indexOf("["),a=o.indexOf("]"),n){case 0:if(-1===a)t.push({name:"text",text:o}),o="";else{const e=o.slice(0,a+1);jn[e]?(t.push({name:"img",src:Zn+jn[e]}),o=o.substring(a+1)):(t.push({name:"text",text:"["}),o=o.slice(1))}break;case-1:t.push({name:"text",text:o}),o="";break;default:t.push({name:"text",text:o.slice(0,n)}),o=o.substring(n);break}return t}var Pn=(0,r.defineComponent)({__name:"MessageText",props:["data"],setup(e){const t=e,o=e=>qn(e);return{__sfc:!0,props:t,handleTextMessageShowContext:o}}}),$n=Pn,Bn=(0,w.Z)($n,Nn,On,!1,null,"467c6786",null),Fn=Bn.exports;function Hn(){const{t:e}=(0,C.Q)(),t=(0,_.Z)(),o=Ct(),n=(0,g.o)(),{roomId:a}=(0,c.Jk)(n),{messageList:s,isCompleted:i,nextReqMessageId:l}=(0,c.Jk)(o),u=(0,r.ref)([]),m=(0,r.ref)(),d=(0,r.ref)(null);let p=!1,v=!1,f=!1;const h=e=>{const t=e.target,o=t.scrollHeight-t.scrollTop-t.clientHeight;v=o>80,f&&(t.scrollTop=0,f=!1),t.scrollTop<40&&p&&I()};async function I(){const e=t.instance?.getTIM(),n=await e.getMessageList({conversationID:`GROUP${a.value}`,nextReqMessageID:l.value}),{nextReqMessageID:i,messageList:r,isCompleted:c}=n.data;s.value.splice(0,0,...r);const u=s.value.filter((e=>"TIMTextElem"===e.type));o.setMessageListInfo(u,c,i)}async function S(){let e=0;const o={currentMessageList:[],isCompleted:!1,nextReqMessageId:""},n=t.instance?.getTIM(),s=async()=>{const t={conversationID:`GROUP${a.value}`};""!==o.nextReqMessageId&&(t.nextReqMessageID=o.nextReqMessageId);const i=await n.getMessageList(t),{messageList:r,isCompleted:l,nextReqMessageID:c}=i.data;o.currentMessageList.splice(0,0,...r),o.isCompleted=!(r.length>0)||l,o.nextReqMessageId=c,o.isCompleted||o.currentMessageList.length>=15||(e+=1,1===e&&await s())};return await s(),o}(0,r.watch)(i,(e=>{p=!e}),{immediate:!0,deep:!0}),(0,r.watch)(s,(async(e,t)=>{if(await(0,r.nextTick)(),v){if(e.length>=1){const o=e[e.length-1],n=t[t.length-1];"out"===o.flow&&o.ID!==n.ID&&d.value&&d.value.scrollIntoView()}}else d.value&&d.value.scrollIntoView()}));const y=e=>{const{message:t}=e;o.updateMessageList({ID:t.messageId,type:"TIMTextElem",payload:{text:t.message},nick:t?.userName||t.userId,from:t.userId,flow:"in",sequence:Math.random()})};return{t:e,roomEngine:t,historyMessageList:u,messageAimId:m,messageBottomEl:d,handleMessageListScroll:h,handleGetHistoryMessageList:I,onReceiveTextMessage:y,messageList:s,isScrollNotAtBottom:v,getMessageList:S}}var zn=(0,r.defineComponent)({__name:"MessageListPC",setup(e){const t=Ct(),{messageAimId:o,roomEngine:n,messageBottomEl:a,handleMessageListScroll:s,onReceiveTextMessage:i,messageList:l,getMessageList:c}=Hn();return(0,r.onMounted)((async()=>{const{currentMessageList:e,isCompleted:n,nextReqMessageId:a}=await c(),i=e.filter((e=>"TIMTextElem"===e.type));t.setMessageListInfo(i,n,a),await(0,r.nextTick)((()=>{if(o?.value?.length>0){const e=o?.value[o?.value?.length-1];e.scrollIntoView()}})),window.addEventListener("scroll",s,!0)})),f().once("ready",(()=>{n.instance?.on(v.TUIRoomEvents.onReceiveTextMessage,i)})),(0,r.onUnmounted)((()=>{window.removeEventListener("scroll",s,!0),n.instance?.off(v.TUIRoomEvents.onReceiveTextMessage,i)})),{__sfc:!0,chatStore:t,messageAimId:o,roomEngine:n,messageBottomEl:a,handleMessageListScroll:s,onReceiveTextMessage:i,messageList:l,getMessageList:c,MessageText:Fn,isMobile:$.t}}}),Qn=zn,Jn=(0,w.Z)(Qn,En,Dn,!1,null,"3ee0bdff",null),Wn=Jn.exports,Gn=Wn,Kn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:["chat-editor",o.cannotSendMessage?"disable-editor":""]},[t("div",{staticClass:"input-content"},[t(o.emoji,{staticClass:"chat-emoji",on:{"choose-emoji":o.handleChooseEmoji}}),t("input",{directives:[{name:"model",rawName:"v-model",value:o.sendMsg,expression:"sendMsg"}],ref:"editorInputEle",staticClass:"content-bottom-input",attrs:{type:"text",disabled:o.cannotSendMessage,placeholder:o.cannotSendMessage?o.t("Muted by the moderator"):o.t("Type a message"),enterkeyhint:"send"},domProps:{value:o.sendMsg},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:o.sendMessage.apply(null,arguments)},input:function(e){e.target.composing||(o.sendMsg=e.target.value)}}})],1)])},Yn=[],Xn=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"emoji-tool"},[t(o.SvgIcon,{staticClass:"arrow emoji-icon",attrs:{"icon-name":"emoji-h5",size:"medium"},on:{click:o.togglePopover}}),o.visible?t("div",{ref:"emojiListRef",class:o.isMobile?"emoji-list-h5":"emoji-list",attrs:{id:"emoji-list"}},e._l(o.emojiList,(function(e,n){return t("div",{key:n,staticClass:"emoji-item",on:{click:function(t){return o.chooseEmoji(e)}}},[t("img",{attrs:{src:o.emojiUrl+o.emojiMap[e]}})])})),0):e._e()],1)},ea=[],ta=(0,r.defineComponent)({__name:"emojiPC",emits:["choose-emoji"],setup(e,{emit:t}){const o=(0,r.ref)(),n=(0,r.ref)(!1),a=e=>{const o=e;i(),t("choose-emoji",o)},s=()=>{n.value=!n.value},i=()=>{n.value=!1};function l(e){n.value&&!o.value.contains(e.target)&&(n.value=!1)}return(0,r.onMounted)((()=>{document.addEventListener("click",l,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",l,!0)})),{__sfc:!0,emojiListRef:o,visible:n,emit:t,chooseEmoji:a,togglePopover:s,closePopover:i,handleDocumentClick:l,emojiUrl:Zn,emojiMap:jn,emojiList:Vn,SvgIcon:T.Z,isMobile:$.t}}}),oa=ta,na=(0,w.Z)(oa,Xn,ea,!1,null,"78a2609f",null),aa=na.exports,sa=aa;function ia(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=Ct(),n=(0,h.A)(),{isMessageDisableByAdmin:a}=(0,c.Jk)(o),{isMessageDisableForAllUser:s}=(0,c.Jk)(n),i=(0,r.ref)(),u=(0,r.ref)(""),m=(0,r.ref)(!1);(0,r.watch)(a,(e=>{e&&(u.value="")})),(0,r.watch)(s,(e=>{e&&(u.value="")}));const d=(0,r.computed)((()=>Boolean(a.value||s.value))),p=async()=>{const a=u.value.replace("\n","");if(u.value="",""!==a){m.value=!1;try{await(e.instance?.sendTextMessage({messageText:a})),o.updateMessageList({ID:Math.random().toString(),type:"TIMTextElem",payload:{text:a},nick:n.localUser.userName||n.localUser.userId,from:n.localUser.userId,flow:"out",sequence:Math.random()})}catch(s){l.z.error(t("Failed to send the message"))}}},v=e=>{u.value+=e,i.value.focus()},f=()=>{m.value=!m.value};return{t:t,editorInputEle:i,sendMsg:u,isMessageDisableByAdmin:a,cannotSendMessage:d,sendMessage:p,handleChooseEmoji:v,isEmojiToolbarVisible:m,togglePopover:f}}var ra=(0,r.defineComponent)({__name:"ChatEditorH5",setup(e){const{t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i}=ia();return{__sfc:!0,t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i,emoji:sa}}}),la=ra,ca=(0,w.Z)(la,Kn,Yn,!1,null,"4ae1f1c7",null),ua=ca.exports,ma=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:["chat-editor",o.cannotSendMessage?"disable-editor":""]},[t("textarea",{directives:[{name:"model",rawName:"v-model",value:o.sendMsg,expression:"sendMsg"}],ref:"editorInputEle",staticClass:"content-bottom-input",attrs:{disabled:o.cannotSendMessage,placeholder:o.cannotSendMessage?o.t("Muted by the moderator"):o.t("Type a message")},domProps:{value:o.sendMsg},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:o.sendMessage.apply(null,arguments)},input:function(e){e.target.composing||(o.sendMsg=e.target.value)}}}),e._v(" "),o.cannotSendMessage?e._e():t("div",{staticClass:"chat-editor-toolbar"},[t("div",{staticClass:"left-section"},[t(o.emoji,{on:{"choose-emoji":o.handleChooseEmoji}})],1),t("div",{class:["send-btn",""+(o.sendMsg.length>0?"active":"")],on:{click:o.sendMessage}},[e._v(e._s(o.t("Send")))])])])},da=[],pa=(0,r.defineComponent)({__name:"ChatEditorPC",setup(e){const{t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i}=ia();return{__sfc:!0,t:t,editorInputEle:o,sendMsg:n,cannotSendMessage:a,sendMessage:s,handleChooseEmoji:i,emoji:sa}}}),va=pa,fa=(0,w.Z)(va,ma,da,!1,null,"6cdfd1ed",null),ga=fa.exports;const ha=$.t?ua:ga;var Ca=ha,_a=(0,r.defineComponent)({__name:"index",setup(e){return{__sfc:!0,MessageList:Gn,ChatEditor:Ca,isMobile:$.t}}}),Ia=_a,Sa=(0,w.Z)(Ia,xn,Ln,!1,null,"6588445b",null),ya=Sa.exports,Ra=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-container"},[o.applyToAnchorList.length>0?t("div",{staticClass:"apply-on-stage-info"},[t("div",{staticClass:"apply-info"},[e._v(" "+e._s(`${o.applyToAnchorList[0].userName||o.applyToAnchorList[0].userId} ${o.t("Applying for the stage")}`)+" ")])]):e._e(),t("div",{staticClass:"member-list-container"},[t("div",{staticClass:"member-list-header"},[e._v(" "+e._s(o.t("Member List"))+" "),t("span",{staticClass:"member-count"},[e._v("("+e._s(o.userNumber)+e._s(o.t("members"))+")")])]),t("div",{staticClass:"member-list-content"},e._l(o.userList,(function(e){return t(o.MemberItem,{key:e.userId,attrs:{"user-info":e}})})),1)]),t("div",{staticClass:"manage-member-bottom"},[t("div",{staticClass:"manage-member-button",class:o.isMicrophoneDisableForAllUser?"lift-all":"",on:{touchstart:function(e){return o.toggleManageMember(o.ManageControlType.AUDIO)}}},[e._v(" "+e._s(o.audioManageInfo)+" ")]),t("div",{staticClass:"manage-member-button",class:o.isCameraDisableForAllUser?"lift-all":"",on:{touchstart:function(e){return o.toggleManageMember(o.ManageControlType.VIDEO)}}},[e._v(" "+e._s(o.videoManageInfo)+" ")])]),t(o.Dialog,{staticClass:"custom-element-class",attrs:{"model-value":o.showManageAllUserDialog,modal:!1,"show-close":!1,"append-to-body":!0,"close-on-click-modal":!1,"close-on-press-escape":!1,width:"500px"},scopedSlots:e._u([{key:"footer",fn:function(){return[t("div",{staticClass:"button-container-mobile"},[t("span",{staticClass:"cancel",on:{click:function(e){o.showManageAllUserDialog=!1}}},[e._v(e._s(o.t("Cancel")))]),t("span",{staticClass:"agree",on:{click:o.doToggleManageMember}},[e._v(e._s(o.dialogActionInfo))])])]},proxy:!0}])},[t("span",[e._v(" "+e._s(o.dialogTitleInfo)+" ")])])],1)},Ta=[],ba=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{directives:[{name:"tap",rawName:"v-tap",value:o.handleMemberItemClick,expression:"handleMemberItemClick"}],ref:e=>o.setMemberItemRef(e),staticClass:"member-item-container"},[t(o.MemberInfo,{ref:e=>o.setMemberInfoRef(e),attrs:{"show-state-icon":!0,"user-info":e.userInfo}}),o.showMemberControl?t(o.MemberControl,{ref:e=>o.setMemberControlRef(e),attrs:{"user-info":e.userInfo},on:{"on-close-control":o.handleCloseControl}}):e._e()],1)},Ma=[],wa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:[o.isMobile?"member-info-mobile":"member-info"]},[t("div",{staticClass:"member-basic-info"},[t(o.Avatar,{staticClass:"avatar-url",attrs:{"img-src":e.userInfo.avatarUrl}}),t("div",{staticClass:"user-name"},[e._v(e._s(e.userInfo.userName||e.userInfo.userId))]),o.isMaster&&o.isMe?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Host"))+", "+e._s(o.t("Me"))+" ")]):o.isMe?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Me"))+" ")]):o.basicStore.masterUserId===e.userInfo.userId?t("div",{staticClass:"user-extra-info"},[e._v(" "+e._s(o.t("Host"))+" ")]):e._e()],1),!o.isMe&&e.showStateIcon?t("div",{staticClass:"member-av-state"},[e.userInfo.onSeat?t("div",[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":e.userInfo.hasAudioStream?o.ICON_NAME.MicOn:o.ICON_NAME.MicOff,size:"large"}}),t(o.SvgIcon,{staticClass:"setting-icon video-icon",attrs:{"icon-name":e.userInfo.hasVideoStream?o.ICON_NAME.CameraOn:o.ICON_NAME.CameraOff,size:"large"}})],1):e._e(),e.userInfo.onSeat||e.userInfo.isUserApplyingToAnchor?e._e():t("div",[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.MicOffDisabled,size:"large"}}),t(o.SvgIcon,{staticClass:"setting-icon video-icon",attrs:{"icon-name":o.ICON_NAME.CameraOffDisabled,size:"large"}})],1),!e.userInfo.onSeat&&e.userInfo.isUserApplyingToAnchor?t("div",[t(o.SvgIcon,{attrs:{"icon-name":"apply-active"}})],1):e._e()]):e._e()])},ka=[],Ua=(0,r.defineComponent)({__name:"MemberInfo",props:{userInfo:null,showStateIcon:null},setup(e){const t=e,{t:o}=(0,C.Q)(),n=(0,g.o)(),a=(0,h.A)(),{isMaster:s}=(0,c.Jk)(a),i=(0,r.computed)((()=>n.userId===t.userInfo.userId));return{__sfc:!0,t:o,props:t,basicStore:n,roomStore:a,isMaster:s,isMe:i,Avatar:A.Z,ICON_NAME:st.Z,SvgIcon:T.Z,isMobile:$.t}}}),Aa=Ua,xa=(0,w.Z)(Aa,wa,ka,!1,null,"0325ed23",null),La=xa.exports,Ea=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.isMe?e._e():t("div",{staticClass:"member-control-container"},[t("div",{staticClass:"member-title"},[t("img",{staticClass:"avatar-url",attrs:{src:e.userInfo.avatarUrl||o.defaultAvatar}}),t("div",{staticClass:"member-title-content"},[e._v(e._s(e.userInfo.userName||e.userInfo.userId))]),o.isWeChat?t("span",{directives:[{name:"tap",rawName:"v-tap.stop",value:o.handleCloseControl,expression:"handleCloseControl",modifiers:{stop:!0}}],staticClass:"cancel"},[e._v(e._s(o.t("Cancel")))]):e._e()]),e._l(o.controlList,(function(n,a){return t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>n.func(e.userInfo),expression:"() => item.func(userInfo)"}],key:a,staticClass:"user-operate-item"},[t(o.SvgIcon,{staticClass:"icon-svg",attrs:{"icon-name":n.iconName}}),t("div",{staticClass:"control-title"},[e._v(e._s(n.title))])],1)}))],2)},Da=[],Na=o(7717),Oa=(0,r.defineComponent)({__name:"MemberControlH5",props:{userInfo:null},emits:["on-close-control"],setup(e,{emit:t}){const o=e,n=(0,_.Z)(),{t:a}=(0,C.Q)(),s=(0,g.o)(),i=(0,h.A)(),{agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d}=kt(),p=(0,r.computed)((()=>s.userId===o.userInfo.userId)),f=(0,r.computed)((()=>!0===o.userInfo.onSeat)),I=(0,r.computed)((()=>!0!==o.userInfo.onSeat)),S=(0,r.computed)((()=>i.isFreeSpeakMode)),y=(0,r.computed)((()=>i.isSpeakAfterTakingSeatMode)),R=(0,r.computed)((()=>f.value?a("Step down"):o.userInfo.isInvitingUserToAnchor?a("Cancel stage"):a("Invite stage")));async function b(e){const{isInvitingUserToAnchor:t}=e;t?m(e):u(e)}const M=(0,r.computed)((()=>({iconName:"apply",title:R.value,func:b}))),w=(0,r.computed)((()=>({iconName:"apply",title:a("Step down"),func:d}))),k=(0,r.computed)((()=>({iconName:"apply",title:a("Agree to the stage"),func:l}))),U=(0,r.computed)((()=>({iconName:"apply",title:a("Refuse stage"),func:c}))),A=(0,r.computed)((()=>o.userInfo.hasAudioStream?a("Mute"):o.userInfo.isRequestingUserOpenMic?a("Cancel Unmute"):a("Unmute"))),x=(0,r.computed)((()=>({iconName:"mic-on",title:A.value,func:j}))),L=(0,r.computed)((()=>o.userInfo.hasVideoStream?a("Disable video"):o.userInfo.isRequestingUserOpenCamera?a("Cancel Enable video"):a("Enable video"))),E=(0,r.computed)((()=>({iconName:"camera-on",title:L.value,func:V}))),D=(0,r.computed)((()=>o.userInfo.isChatMutedByMaster?a("Enable chat"):a("Disable chat"))),N=(0,r.computed)((()=>({iconName:"chat",title:D.value,func:q}))),O=(0,r.computed)((()=>({iconName:"invite",title:a("Kick out"),func:P}))),Z=(0,r.computed)((()=>{const e={freeSpeech:[x.value,E.value,N.value,O.value],applySpeechAndAnchor:[x.value,E.value,w.value,N.value,O.value],applySpeechAndIsApplyingToAnchor:[k.value,U.value,N.value,O.value],applySpeechAndAudience:[M.value,N.value,O.value],default:[N.value,O.value]};return S.value?e.freeSpeech:y.value&&f.value?e.applySpeechAndAnchor:y.value&&I.value&&o.userInfo.isUserApplyingToAnchor?e.applySpeechAndIsApplyingToAnchor:y.value&&I.value&&!o.userInfo.isUserApplyingToAnchor?e.applySpeechAndAudience:e.default}));async function j(e){if(e.hasAudioStream)await(n.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone}));else if(e.isRequestingUserOpenMic){const t=e.requestUserOpenMicRequestId;t&&await(n.instance?.cancelRequest({requestId:t})),i.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}else{const t=await(n.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone,timeout:0,requestCallback:()=>{i.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&i.setRequestUserOpenMic({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}async function V(e){if(e.hasVideoStream)await(n.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera}));else if(e.isRequestingUserOpenCamera){const t=e.requestUserOpenCameraRequestId;t&&await(n.instance?.cancelRequest({requestId:t})),i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}else{const t=await(n.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera,timeout:0,requestCallback:()=>{i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&i.setRequestUserOpenCamera({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}function q(e){const t=e.isChatMutedByMaster;i.setMuteUserChat(e.userId,!t),n.instance?.disableSendingMessageByAdmin({userId:e.userId,isDisable:!t})}function P(e){n.instance?.kickRemoteUserOutOfRoom({userId:e.userId})}function B(){t("on-close-control")}return{__sfc:!0,roomEngine:n,t:a,basicStore:s,roomStore:i,agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d,emit:t,props:o,isMe:p,isAnchor:f,isAudience:I,isFreeSpeechMode:S,isSpeakAfterTakingSeat:y,requestStageTitle:R,toggleInviteUserOnStage:b,toggleInviteStage:M,makeOffStage:w,agreeOnStage:k,denyOnStage:U,audioControlTitle:A,audioControl:x,videoControlTitle:L,videoControl:E,chatControlTitle:D,forbidChat:N,kickUser:O,controlList:Z,muteUserAudio:j,muteUserVideo:V,disableUserChat:q,kickOffUser:P,handleCloseControl:B,defaultAvatar:Na,SvgIcon:T.Z,isWeChat:$.e}}}),Za=Oa,ja=(0,w.Z)(Za,Ea,Da,!1,null,"d259161c",null),Va=ja.exports,qa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.isMe?e._e():t("div",{staticClass:"member-control-container"},[t("div",{staticClass:"mute-btn",on:{click:function(t){return o.singleControl.func(e.userInfo)}}},[e._v(" "+e._s(o.singleControl.title)+" ")]),t("div",{staticClass:"more-container",on:{click:o.handlePopUp}},[t("div",{staticClass:"more-btn",on:{click:o.toggleClickMoreBtn}},[e._v(" "+e._s(o.t("More"))+" "),t(o.SvgIcon,{staticClass:"more-icon",attrs:{"icon-name":o.ICON_NAME.ArrowBorderDown}})],1),t("div",{directives:[{name:"show",rawName:"v-show",value:o.showMoreControl,expression:"showMoreControl"}],class:o.dropdownClass,attrs:{id:"operate-list"},on:{mouseleave:o.handleMouseLeave}},e._l(o.controlList,(function(o,n){return t("div",{key:n,staticClass:"user-operate-item",on:{click:function(t){return o.func(e.userInfo)}}},[e._v(" "+e._s(o.title)+" ")])})),0)])])},Pa=[],$a=(o(541),(0,r.defineComponent)({__name:"MemberControlPC",props:{userInfo:null},setup(e){const t=e,o=(0,_.Z)(),{t:n}=(0,C.Q)(),a=(0,g.o)(),s=(0,h.A)(),i=(0,r.ref)(""),{agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d}=kt(),p=(0,r.ref)(!1),f=(0,r.computed)((()=>a.userId===t.userInfo.userId)),I=(0,r.computed)((()=>!0===t.userInfo.onSeat)),S=(0,r.computed)((()=>!0!==t.userInfo.onSeat)),y=(0,r.computed)((()=>s.isFreeSpeakMode)),R=(0,r.computed)((()=>s.isSpeakAfterTakingSeatMode));function b(){const e=document.getElementById("operate-list"),t=document.getElementById("roomContainer"),o=null!==e&&e.getBoundingClientRect().bottom,n=null!==t&&t.offsetHeight;i.value=o>n?"user-operate-list dropdownUp":"user-operate-list"}const M=(0,r.computed)((()=>{const e={title:"",func:e=>{}};return y.value?(e.title=t.userInfo.hasAudioStream?n("Mute"):t.userInfo.isRequestingUserOpenMic?n("Cancel Unmute"):n("Unmute"),e.func=j):R.value&&(I.value?(e.title=t.userInfo.hasAudioStream?n("Mute"):t.userInfo.isRequestingUserOpenMic?n("Cancel Unmute"):n("Unmute"),e.func=j):S.value&&(t.userInfo.isUserApplyingToAnchor?(e.title=n("Agree to the stage"),e.func=l):(e.title=t.userInfo.isInvitingUserToAnchor?n("Cancel stage"):n("Invite stage"),e.func=Z))),e})),w=(0,r.computed)((()=>({title:n("Refuse stage"),func:c}))),k=(0,r.computed)((()=>({title:n("Step down"),func:d}))),U=(0,r.computed)((()=>t.userInfo.hasVideoStream?n("Disable video"):t.userInfo.isRequestingUserOpenCamera?n("Cancel Enable video"):n("Enable video"))),A=(0,r.computed)((()=>({title:U.value,func:V}))),x=(0,r.computed)((()=>t.userInfo.isChatMutedByMaster?n("Enable chat"):n("Disable chat"))),L=(0,r.computed)((()=>({title:x.value,func:q}))),E=(0,r.computed)((()=>({title:n("Kick out"),func:P}))),D=(0,r.computed)((()=>{const e=[L.value,E.value];return y.value&&e.unshift(A.value),I.value&&R.value&&(e.unshift(A.value),e.splice(1,0,k.value)),S.value&&t.userInfo.isUserApplyingToAnchor&&e.splice(0,0,w.value),e}));function N(){p.value=!p.value}function O(){p.value=!1}async function Z(e){const{isInvitingUserToAnchor:t}=e;t?m(e):u(e)}async function j(e){if(e.hasAudioStream)await(o.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone}));else if(e.isRequestingUserOpenMic){const t=e.requestUserOpenMicRequestId;t&&await(o.instance?.cancelRequest({requestId:t})),s.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}else{const t=await(o.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kMicrophone,timeout:0,requestCallback:()=>{s.setRequestUserOpenMic({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&s.setRequestUserOpenMic({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}async function V(e){if(e.hasVideoStream)await(o.instance?.closeRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera}));else if(e.isRequestingUserOpenCamera){const t=e.requestUserOpenCameraRequestId;t&&await(o.instance?.cancelRequest({requestId:t})),s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}else{const t=await(o.instance?.openRemoteDeviceByAdmin({userId:e.userId,device:v.TUIMediaDevice.kCamera,timeout:0,requestCallback:()=>{s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!1})}}));t&&t.requestId&&s.setRequestUserOpenCamera({userId:e.userId,isRequesting:!0,requestId:t.requestId})}}function q(e){const t=e.isChatMutedByMaster;s.setMuteUserChat(e.userId,!t),o.instance?.disableSendingMessageByAdmin({userId:e.userId,isDisable:!t})}function P(e){o.instance?.kickRemoteUserOutOfRoom({userId:e.userId})}return{__sfc:!0,roomEngine:o,t:n,basicStore:a,roomStore:s,dropdownClass:i,agreeUserOnStage:l,denyUserOnStage:c,inviteUserOnStage:u,cancelInviteUserOnStage:m,kickUserOffStage:d,props:t,showMoreControl:p,isMe:f,isAnchor:I,isAudience:S,isFreeSpeechMode:y,isSpeakAfterTakingSeat:R,handlePopUp:b,singleControl:M,denyOnStage:w,makeOffStage:k,videoControlTitle:U,videoControl:A,chatControlTitle:x,forbidChat:L,kickUser:E,controlList:D,toggleClickMoreBtn:N,handleMouseLeave:O,toggleInviteUserOnStage:Z,muteUserAudio:j,muteUserVideo:V,disableUserChat:q,kickOffUser:P,ICON_NAME:st.Z,SvgIcon:T.Z}}})),Ba=$a,Fa=(0,w.Z)(Ba,qa,Pa,!1,null,"28dfca21",null),Ha=Fa.exports;const za=$.t?Va:Ha;var Qa=za;function Ja(){const e=(0,r.ref)(!1);function t(){e.value=!0}function o(){e.value=!1}const n=(0,r.ref)();function a(e){n.value=e}const s=(0,r.ref)(),i=(0,r.ref)();function l(e){s.value=e}function c(e){i.value=e}function u(){e.value||(e.value=!0)}async function m(){await(0,r.nextTick)(),e.value=!1}function d(t){e.value&&n.value&&!n.value.contains(t.target)&&(e.value=!1)}return{showMemberControl:e,handleMouseEnter:t,handleMouseLeave:o,setMemberItemRef:a,setMemberInfoRef:l,setMemberControlRef:c,handleMemberItemClick:u,handleDocumentClick:d,handleCloseControl:m}}var Wa=(0,r.defineComponent)({__name:"indexH5",props:{userInfo:null},setup(e){const{showMemberControl:t,setMemberItemRef:o,setMemberInfoRef:n,setMemberControlRef:a,handleMemberItemClick:s,handleDocumentClick:i,handleCloseControl:l}=Ja();return(0,r.onMounted)((()=>{document.addEventListener("click",i,!0)})),(0,r.onUnmounted)((()=>{document.removeEventListener("click",i,!0)})),{__sfc:!0,showMemberControl:t,setMemberItemRef:o,setMemberInfoRef:n,setMemberControlRef:a,handleMemberItemClick:s,handleDocumentClick:i,handleCloseControl:l,MemberInfo:La,MemberControl:Qa}}}),Ga=Wa,Ka=(0,w.Z)(Ga,ba,Ma,!1,null,"51bdd126",null),Ya=Ka.exports,Xa=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"member-item-container",on:{mouseenter:o.handleMouseEnter,mouseleave:o.handleMouseLeave}},[t(o.MemberInfo,{attrs:{"user-info":e.userInfo,"show-state-icon":!o.showMemberControl}}),t(o.MemberControl,{directives:[{name:"show",rawName:"v-show",value:o.showMemberControl,expression:"showMemberControl"}],attrs:{"user-info":e.userInfo}})],1)},es=[],ts=(0,r.defineComponent)({__name:"indexPC",props:{userInfo:null},setup(e){const{showMemberControl:t,handleMouseEnter:o,handleMouseLeave:n}=Ja();return{__sfc:!0,showMemberControl:t,handleMouseEnter:o,handleMouseLeave:n,MemberInfo:La,MemberControl:Qa}}}),os=ts,ns=(0,w.Z)(os,Xa,es,!1,null,"2d674c35",null),as=ns.exports;const ss=$.t?Ya:as;var is=ss;function rs(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=(0,g.o)(),n=(0,h.A)(),{isMicrophoneDisableForAllUser:a,isCameraDisableForAllUser:s}=(0,c.Jk)(n),i=(0,r.computed)((()=>n.isMicrophoneDisableForAllUser?t("Lift all mute"):t("All mute"))),l=(0,r.computed)((()=>n.isCameraDisableForAllUser?t("Lift stop all video"):t("All stop video"))),u=(0,r.ref)(!1),m=(0,r.ref)(""),d=(0,r.ref)("");let p;(function(e){e["AUDIO"]="audio",e["VIDEO"]="video",e["Message"]="message"})(p||(p={}));const f=(0,r.ref)(p.AUDIO);async function I(e){switch(u.value=!0,f.value=e,e){case p.AUDIO:m.value=n.isMicrophoneDisableForAllUser?t("Can you lift all mute"):t("All current and new members will be muted."),await(0,r.nextTick)(),d.value=i.value;break;case p.VIDEO:m.value=n.isCameraDisableForAllUser?t("Should we turn on the video for everyone"):t("All current and new members will turn off their videos."),await(0,r.nextTick)(),d.value=l.value;break;default:break}}async function S(){switch(f.value){case p.AUDIO:R();break;case p.VIDEO:T();break;default:break}u.value=!1}function y(){o.setShowApplyUserList(!0)}async function R(){const t=!a.value;await(e.instance?.disableDeviceForAllUserByAdmin({isDisable:t,device:v.TUIMediaDevice.kMicrophone})),n.setMicrophoneDisableState(t)}async function T(){const t=!s.value;await(e.instance?.disableDeviceForAllUserByAdmin({isDisable:t,device:v.TUIMediaDevice.kCamera})),n.setCameraDisableState(t)}return{showApplyUserLit:y,toggleAllAudio:R,toggleAllVideo:T,t:t,toggleManageMember:I,doToggleManageMember:S,audioManageInfo:i,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p}}var ls=(0,r.defineComponent)({__name:"indexH5",setup(e){const t=(0,h.A)(),{userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i}=(0,c.Jk)(t),{audioManageInfo:r,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p,toggleManageMember:v,doToggleManageMember:f,t:g}=rs();return{__sfc:!0,roomStore:t,userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i,audioManageInfo:r,videoManageInfo:l,showManageAllUserDialog:u,dialogTitleInfo:m,dialogActionInfo:d,ManageControlType:p,toggleManageMember:v,doToggleManageMember:f,t:g,MemberItem:is,Dialog:Z.Z}}}),cs=ls,us=(0,w.Z)(cs,Ra,Ta,!1,null,"746e3a0c",null),ms=us.exports,ds=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"manage-member-container"},[o.applyToAnchorList.length>0?t("div",{staticClass:"apply-on-stage-info"},[t("div",{staticClass:"apply-info"},[e._v(" "+e._s(`${o.applyToAnchorList[0].userName||o.applyToAnchorList[0].userId} ${o.t("Applying for the stage")}`)+" ")]),t("div",{staticClass:"button",on:{click:o.showApplyUserLit}},[e._v(e._s(o.t("Check")))])]):e._e(),t("div",{staticClass:"global-setting"},[t("div",{staticClass:"setting-item"},[t("div",{staticClass:"item-left-section"},[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.MicOn,size:"large"}}),t("span",{staticClass:"setting-name"},[e._v(e._s(o.t("Disable all audios")))])],1),t("div",{staticClass:"item-right-section"},[t("el-switch",{attrs:{value:o.isMicrophoneDisableForAllUser},on:{change:o.toggleAllAudio}})],1)]),t("div",{staticClass:"setting-item"},[t("div",{staticClass:"item-left-section"},[t(o.SvgIcon,{staticClass:"setting-icon",attrs:{"icon-name":o.ICON_NAME.CameraOn,size:"large"}}),t("span",{staticClass:"setting-name"},[e._v(e._s(o.t("Disable all videos")))])],1),t("div",{staticClass:"item-right-section"},[t("el-switch",{attrs:{value:o.isCameraDisableForAllUser},on:{change:o.toggleAllVideo}})],1)])]),t("div",{staticClass:"divide-line"}),t("div",{staticClass:"member-list-container"},[t("div",{staticClass:"member-list-header"},[e._v(" "+e._s(o.t("Member List"))+" "),t("span",{staticClass:"member-count"},[e._v("("+e._s(o.userNumber)+e._s(o.t("members"))+")")])]),t("div",{staticClass:"member-list-content"},e._l(o.userList,(function(e){return t(o.MemberItem,{key:e.userId,attrs:{"user-info":e}})})),1)])])},ps=[],vs=(0,r.defineComponent)({__name:"indexPC",setup(e){const t=(0,h.A)(),{userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i}=(0,c.Jk)(t),{t:r,showApplyUserLit:l,toggleAllAudio:u,toggleAllVideo:m}=rs();return{__sfc:!0,roomStore:t,userList:o,userNumber:n,applyToAnchorList:a,isMicrophoneDisableForAllUser:s,isCameraDisableForAllUser:i,t:r,showApplyUserLit:l,toggleAllAudio:u,toggleAllVideo:m,MemberItem:is,SvgIcon:T.Z,ICON_NAME:st.Z}}}),fs=vs,gs=(0,w.Z)(fs,ds,ps,!1,null,"74166061",null),hs=gs.exports;const Cs=$.t?ms:hs;var _s=Cs;function Is(){const e=(0,_.Z)(),{t:t}=(0,C.Q)(),o=Ct(),n=(0,g.o)(),{isSidebarOpen:a,sidebarName:s}=(0,c.Jk)(n),i=(0,r.computed)((()=>a.value&&"transfer-leave"!==s.value)),l=(0,r.computed)((()=>{let e="";switch(s.value){case"chat":e="Chat";break;case"invite":e="Invite";break;case"more":e="More";break;case"manage-member":e="Member management";break;default:break}return t(e)}));function u(e){n.setSidebarOpenStatus(!1),n.setSidebarName(""),e()}const m=e=>{I.Z.warn("onReceiveTextMessage:",e),n.isSidebarOpen&&"chat"===n.sidebarName||o.updateUnReadCount(++o.unReadCount)};return f().once("ready",(()=>{e.instance?.on(v.TUIRoomEvents.onReceiveTextMessage,m)})),(0,r.onUnmounted)((()=>{e.instance?.off(v.TUIRoomEvents.onReceiveTextMessage,m)})),{t:t,isSidebarOpen:a,title:l,sidebarName:s,handleClose:u,showSideBar:i}}var Ss=(0,r.defineComponent)({__name:"indexH5",setup(e){const{title:t,sidebarName:o,showSideBar:n}=Is();return{__sfc:!0,title:t,sidebarName:o,showSideBar:n,Chat:ya,ManageMember:_s,popup:U,ChatEditor:Ca}}}),ys=Ss,Rs=(0,w.Z)(ys,Un,An,!1,null,"40f5a35a",null),Ts=Rs.exports,bs=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"sidebar-container"},[t(o.Drawer,{attrs:{"model-value":o.isSidebarOpen,modal:!1,title:o.title,direction:"rtl","before-close":o.handleClose,size:480}},["chat"==o.sidebarName?t(o.Chat):e._e(),"invite"==o.sidebarName?t(o.RoomInvite):e._e(),"more"==o.sidebarName?t(o.RoomMore):e._e(),"manage-member"==o.sidebarName?t(o.ManageMember):e._e()],1)],1)},Ms=[],ws=o(4679),ks=(0,r.defineComponent)({__name:"indexPC",setup(e){const{isSidebarOpen:t,title:o,handleClose:n,sidebarName:a}=Is();return{__sfc:!0,isSidebarOpen:t,title:o,handleClose:n,sidebarName:a,Chat:ya,Drawer:ws.Z,RoomInvite:lo,ManageMember:_s,RoomMore:Ao}}}),Us=ks,As=(0,w.Z)(Us,bs,Ms,!1,null,null,null),xs=As.exports;const Ls=$.t?Ts:xs;var Es=Ls,Ds=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{staticClass:"content-container"},[t(o.StreamContainer,{attrs:{"show-room-tool":e.showRoomTool}})],1)},Ns=[],Os=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{ref:"streamContainerRef",staticClass:"stream-container",on:{touchstart:o.handleTouchStart,touchend:o.handleTouchEnd}},[t("div",{class:o.streamContainerClass},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.layout===o.LAYOUT.LARGE_SMALL_WINDOW,expression:"layout === LAYOUT.LARGE_SMALL_WINDOW"}],ref:"enlargedContainerRef",staticClass:"enlarged-stream-container"},[o.enlargeStream?t(o.StreamRegion,{attrs:{stream:o.enlargeStream}}):e._e()],1),t("div",{staticClass:"stream-list-container",class:[o.onlyVideoStreamList.length>1?"multi-stream-container":"single-stream-container"]},[t("div",{ref:"streamListRef",class:["stream-list",""+(o.isFirstPageInSixPointLayout?"":"not-first-page")]},e._l(o.onlyVideoStreamList,(function(n){return t(o.StreamRegion,{directives:[{name:"show",rawName:"v-show",value:o.showStreamList.indexOf(n)>-1,expression:"showStreamList.indexOf(stream) > -1"}],key:`${n.userId}_${n.streamType}`,class:[o.onlyVideoStreamList.length>1?"multi-stream":"single-stream"],attrs:{stream:n,"enlarge-dom-id":o.enlargeDomId,"show-room-tool":e.showRoomTool}})})),1)])]),o.totalPageNumber>1?t("div",{staticClass:"swipe"},e._l(o.totalPageNumber,(function(e,n){return t("div",{key:e,staticClass:"swipe-dots",class:[o.isActiveDot(n)?"swipe-current-dots":""]})})),0):e._e()])},Zs=[],js=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.playRegionDomId!==e.enlargeDomId?t("div",{ref:"streamRegionRef",staticClass:"user-stream-container",class:[o.showVoiceBorder?"border":""]},[t("div",{staticClass:"stream-region",attrs:{id:o.playRegionDomId}}),e.stream.hasVideoStream||e.stream.hasScreenStream?e._e():t("div",{staticClass:"center-user-info-container"},[t("img",{staticClass:"avatar-region",attrs:{src:e.stream.avatarUrl||o.defaultAvatar}})]),t("div",{staticClass:"corner-user-info-container"},[o.showMasterIcon?t(o.SvgIcon,{staticClass:"master-icon",attrs:{size:"custom","icon-name":"user"}}):e._e(),o.isScreenStream?e._e():t(o.AudioIcon,{staticClass:"audio-icon",attrs:{"audio-volume":e.stream.audioVolume,"is-muted":!e.stream.hasAudioStream,size:"small"}}),o.isScreenStream?t(o.SvgIcon,{staticClass:"screen-icon",attrs:{"icon-name":"screen-share"}}):e._e(),t("span",{staticClass:"user-name",attrs:{title:o.userInfo}},[e._v(e._s(o.userInfo))]),o.isScreenStream?t("span",[e._v(" "+e._s(o.t("is sharing their screen"))+" ")]):e._e()],1)]):e._e()},Vs=[],qs=(0,r.defineComponent)({__name:"StreamRegionH5",props:{stream:null,enlargeDomId:null},setup(e){const t=e,o=(0,_.Z)(),n="[StreamRegion]",a=(0,g.o)(),s=(0,h.A)(),{t:i}=(0,C.Q)(),l=(0,r.ref)(),c=(0,r.computed)((()=>0!==t.stream?.audioVolume&&t.stream?.streamType!==v.TUIVideoStreamType.kScreenStream)),u=(0,r.computed)((()=>`${t.stream.userId}_${t.stream.streamType}`)),m=(0,r.computed)((()=>{const{userId:e,streamType:o}=t.stream;return e===s.masterUserId&&o===v.TUIVideoStreamType.kCameraStream})),d=(0,r.computed)((()=>t.stream.streamType===v.TUIVideoStreamType.kScreenStream)),p=(0,r.computed)((()=>dn.Uh?`${t.stream.userName} | ${t.stream.userId}`||t.stream.userId:t.stream.userName||t.stream.userId));return(0,r.onMounted)((()=>{(0,r.watch)((()=>t.stream.hasVideoStream),(async e=>{if(e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);if(e)if(I.Z.debug(`${n}watch isVideoStreamAvailable:`,t.stream.userId,e),a.userId===t.stream.userId)t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${u.value}`}));else{o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}));const e=o.instance?.getTRTCCloud();await(e?.setRemoteRenderParams(t.stream.userId,v.TRTCVideoStreamType.TRTCVideoStreamTypeBig,{mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}}}),{immediate:!0})})),(0,r.onMounted)((()=>{(0,r.watch)((()=>t.stream.hasScreenStream),(async e=>{if(e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);if(e){I.Z.debug(`${n}watch isScreenStreamAvailable:`,t.stream.userId,e),o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}));const a=o.instance?.getTRTCCloud();await(a?.setRemoteRenderParams(t.stream.userId,v.TRTCVideoStreamType.TRTCVideoStreamTypeSub,{mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fit}))}}}),{immediate:!0})})),(0,r.onMounted)((()=>{(0,r.watch)((()=>t.enlargeDomId),(async(e,n)=>{if(u.value===n||u.value===e){await(0,r.nextTick)();const e=document?.getElementById(`${u.value}`);e&&(a.userId===t.stream.userId?t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${u.value}`})):(o.instance?.setRemoteVideoView({userId:t.stream.userId,streamType:t.stream.streamType,view:`${u.value}`}),await(o.instance?.startPlayRemoteVideo({userId:t.stream.userId,streamType:t.stream.streamType}))))}}))})),{__sfc:!0,roomEngine:o,logPrefix:n,basicStore:a,roomStore:s,t:i,props:t,streamRegionRef:l,showVoiceBorder:c,playRegionDomId:u,showMasterIcon:m,isScreenStream:d,userInfo:p,defaultAvatar:Na,AudioIcon:Ge.Z,SvgIcon:T.Z}}}),Ps=qs,$s=(0,w.Z)(Ps,js,Vs,!1,null,"9adfd868",null),Bs=$s.exports,Fs=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.playRegionDomId!==e.enlargeDomId?t("div",{ref:"streamRegionRef",staticClass:"user-stream-container",on:{dblclick:function(t){return e.$emit("room_dblclick")}}},[o.loading?t("div",{staticClass:"loading-region"},[t(o.SvgIcon,{staticClass:"loading",attrs:{"icon-name":"loading"}})],1):e._e(),t("div",{staticClass:"stream-region",attrs:{id:o.playRegionDomId}}),e.stream.hasVideoStream||e.stream.hasScreenStream?e._e():t("div",{ref:"centerUserInfoRef",staticClass:"center-user-info-container"},[t(o.Avatar,{staticClass:"avatar-region",attrs:{"img-src":e.stream.avatarUrl}})],1),t("div",{staticClass:"corner-user-info-container"},[o.showMasterIcon?t(o.SvgIcon,{staticClass:"master-icon",attrs:{"icon-name":"user"}}):e._e(),o.isScreenStream?e._e():t(o.AudioIcon,{attrs:{"audio-volume":e.stream.audioVolume,"is-muted":!e.stream.hasAudioStream,size:"small"}}),o.isScreenStream?t(o.SvgIcon,{staticClass:"screen-icon",attrs:{"icon-name":"screen-share"}}):e._e(),t("span",{staticClass:"user-name",attrs:{title:o.userInfo}},[e._v(e._s(o.userInfo))]),o.isScreenStream?t("span",[e._v(" "+e._s(o.t("is sharing their screen"))+" ")]):e._e()],1)]):e._e()},Hs=[],zs=(0,r.defineComponent)({__name:"StreamRegionPC",props:{stream:null,enlargeDomId:null,changeLargeStream:{type:Boolean}},setup(e){const t=e,o=(0,_.Z)(),n="[StreamRegion]",a=(0,g.o)(),s=(0,h.A)(),{t:i}=(0,C.Q)(),l=(0,r.ref)(),c=(0,r.ref)(),u=(0,r.ref)(!1),m=(0,r.computed)((()=>`${t.stream.userId}_${t.stream.streamType}`)),d=(0,r.computed)((()=>{const{userId:e,streamType:o}=t.stream;return e===s.masterUserId&&o===v.TUIVideoStreamType.kCameraStream})),p=(0,r.computed)((()=>t.stream.streamType===v.TUIVideoStreamType.kScreenStream)),f=(0,r.computed)((()=>dn.Uh?`${t.stream.userName} | ${t.stream.userId}`||t.stream.userId:t.stream.userName||t.stream.userId)),S=(0,r.computed)((()=>{const{streamType:e,userId:o}=t.stream,{kScreenStream:n,kCameraStream:i}=v.TUIVideoStreamType,{defaultStreamType:r}=s,{userId:l}=a;return e===n?n:m.value===t.enlargeDomId||o===l?i:e===i?r:e})),y=async()=>{const{userId:e}=t.stream;u.value=!0,o.instance?.setRemoteVideoView({userId:e,streamType:S.value,view:`${m.value}`}),await(o.instance?.startPlayRemoteVideo({userId:e,streamType:S.value})),u.value=!1},R=async()=>{u.value=!1,await(o.instance?.stopPlayRemoteVideo({userId:t.stream.userId,streamType:S.value}))};return t.stream.streamType!==v.TUIVideoStreamType.kCameraStream&&t.stream.streamType!==v.TUIVideoStreamType.kCameraStreamLow||(0,r.watch)((()=>[t.stream.hasVideoStream,t.stream.isVisible]),(async(e,o)=>{if(t.stream.userId===a.userId)return;const[s,i]=e;if(s&&i){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(I.Z.debug(`${n}watch isVideoStreamAvailable:`,t.stream.userId,e),await y())}if(o){const[e,t]=o;!e||!t||s&&i||await R()}}),{immediate:!0}),t.stream.streamType===v.TUIVideoStreamType.kScreenStream&&(0,r.watch)((()=>[t.stream.hasScreenStream,t.stream.isVisible]),(async(e,o)=>{const[a,s]=e;if(a&&s){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(I.Z.debug(`${n}watch isScreenStreamAvailable:`,t.stream.userId,e),await y())}if(o){const[e,t]=o;!e||!t||a&&s||await R()}}),{immediate:!0}),(0,r.watch)((()=>t.enlargeDomId),(async(e,n)=>{if(m.value===n||m.value===e){await(0,r.nextTick)();const e=document.getElementById(`${m.value}`);e&&(a.userId===t.stream.userId?t.stream.hasVideoStream&&await(o.instance?.setLocalVideoView({streamType:S.value,view:`${m.value}`})):await y())}}),{immediate:!0}),{__sfc:!0,roomEngine:o,logPrefix:n,basicStore:a,roomStore:s,t:i,props:t,streamRegionRef:l,centerUserInfoRef:c,loading:u,playRegionDomId:m,showMasterIcon:d,isScreenStream:p,userInfo:f,streamTypeToFetch:S,startPlayRemoteVideo:y,stopPlayRemoteVideo:R,Avatar:A.Z,AudioIcon:Ge.Z,SvgIcon:T.Z}}}),Qs=zs,Js=(0,w.Z)(Qs,Fs,Hs,!1,null,"693d2878",null),Ws=Js.exports;const Gs=$.t?Bs:Ws;var Ks=Gs;const Ys="[StreamContainer]";function Xs(){const e=(0,_.Z)(),t=(0,g.o)(),o=(0,h.A)(),{t:n}=(0,C.Q)(),a=e=>{o.addRemoteUser(e.userInfo)},s=e=>{o.removeRemoteUser(e.userInfo.userId)},i=e=>{const{seatList:t,seatedList:n,leftList:a}=e;o.updateOnSeatList(t,n,a)},u=e=>{const{userId:a,hasAudio:s,reason:i}=e;o.updateUserAudioState(a,s),a!==t.userId||s||i!==v.TUIChangeReason.kChangedByAdmin||((0,l.z)({type:"warning",message:n("The host has turned off your microphone"),duration:Ke.U.NORMAL}),o.setCanControlSelfAudio(!o.isMicrophoneDisableForAllUser))},{isDefaultOpenCamera:m,isDefaultOpenMicrophone:d,isLocalAudioIconDisable:p,isLocalVideoIconDisable:f}=(0,c.Jk)(o);return(0,r.watch)(m,(async n=>{if(n&&!f.value)if($.e)await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),await(e.instance?.openLocalCamera({isFrontCamera:t.isFrontCamera}));else{if($.t){const n=document?.getElementById(`${o.localStream.userId}_${o.localStream.streamType}`);return n?(await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),void await(e.instance?.openLocalCamera({isFrontCamera:t.isFrontCamera}))):void I.Z.error(`${Ys}watch isDefaultOpenCamera:`,m,n)}{const t=document?.getElementById(`${o.localStream.userId}_${o.localStream.streamType}`);if(!t)return void I.Z.error(`${Ys}watch isDefaultOpenCamera:`,m,t);if(!o.currentCameraId){const t=await(e.instance?.getCameraDevicesList());t&&t.length>0&&o.setCurrentCameraId(t[0].deviceId)}await(e.instance?.setCurrentCameraDevice({deviceId:o.currentCameraId})),await(e.instance?.setLocalVideoView({streamType:v.TUIVideoStreamType.kCameraStream,view:`${o.localStream.userId}_${o.localStream.streamType}`})),await(e.instance?.openLocalCamera())}}})),(0,r.watch)(d,(async t=>{if(t&&!p.value&&(await(e.instance?.openLocalMicrophone()),!$.e&&!$.t)){const t=await(e.instance?.getMicDevicesList()),n=await(e.instance?.getSpeakerDevicesList());if(0===t?.length||0===n?.length)return;!o.currentMicrophoneId&&t.length>0&&o.setCurrentMicrophoneId(t[0].deviceId),!o.currentSpeakerId&&n.length>0&&o.setCurrentSpeakerId(n[0].deviceId),await(e.instance?.setCurrentMicDevice({deviceId:o.currentMicrophoneId}))}})),{onRemoteUserEnterRoom:a,onRemoteUserLeaveRoom:s,onSeatListChanged:i,onUserAudioStateChanged:u,t:n}}var ei=(0,r.defineComponent)({__name:"StreamContainerH5",props:{showRoomTool:{type:Boolean}},setup(e){const t="[StreamContainer]",{onRemoteUserEnterRoom:o,onRemoteUserLeaveRoom:n,onSeatListChanged:a,onUserAudioStateChanged:s,t:i}=Xs(),u=(0,_.Z)(),m=(0,r.ref)(null),d=(0,h.A)(),{streamList:p,streamNumber:C,localStream:S,remoteStreamObj:y}=(0,c.Jk)(d),R=(0,g.o)();R.setLayout(Ee._.SIX_EQUAL_POINTS);const{layout:T}=(0,c.Jk)(R),b=(0,r.ref)(null),M=(0,r.computed)((()=>b.value?`${b.value.userId}_${b.value.streamType}`:"")),w=(0,r.ref)(""),k=(0,r.ref)(),U=(0,r.ref)(),A=(0,r.computed)((()=>p.value.filter((e=>e.streamType===v.TUIVideoStreamType.kCameraStream)))),x=(0,r.ref)(0);(0,r.watch)((()=>A.value.length),(e=>{if(T.value===Ee._.SIX_EQUAL_POINTS){const t=b.value?x.value-1:x.value;Math.ceil(e/6)0&&(x.value=x.value-1)}}));const L=(0,r.computed)((()=>T.value===Ee._.SIX_EQUAL_POINTS&&(b.value?1===x.value:0===x.value))),E=(0,r.computed)((()=>{if(T.value===Ee._.SIX_EQUAL_POINTS)return b.value?A.value.slice(6*(x.value-1),6*(x.value-1)+6):A.value.slice(6*x.value,6*x.value+6);if(T.value===Ee._.LARGE_SMALL_WINDOW){const e=b.value?.userId;return w.value?w.value===S.value.userId?[S.value]:[y.value[`${w.value}_${v.TUIVideoStreamType.kCameraStream}`]]:[y.value[`${e}_${v.TUIVideoStreamType.kCameraStream}`]]}return[]})),D=(0,r.computed)((()=>{const e=A.value.length>6?Math.ceil(C.value/6):1;return b.value?e+1:e}));function N(e){return T.value===Ee._.LARGE_SMALL_WINDOW?0===e:T.value===Ee._.SIX_EQUAL_POINTS&&e===x.value}function O(){0!==x.value&&(x.value=x.value-1,b.value&&0===x.value&&R.setLayout(Ee._.LARGE_SMALL_WINDOW))}function Z(){x.value!==D.value-1&&(x.value=x.value+1,T.value===Ee._.LARGE_SMALL_WINDOW&&R.setLayout(Ee._.SIX_EQUAL_POINTS))}const j=(0,r.ref)(),V=(0,r.ref)(),q=(0,r.computed)((()=>{let e="";switch(T.value){case Ee._.SIX_EQUAL_POINTS:e="stream-container-flatten";break;case Ee._.LARGE_SMALL_WINDOW:e="stream-container-large-small";break;default:break}return e}));function P(e){k.value=e?.changedTouches[0]?.pageX,U.value=e?.changedTouches[0]?.pageY}function $(e){const t=e?.changedTouches[0].pageX-k.value,o=e?.changedTouches[0].pageY-U.value;Math.abs(o)>Math.abs(t)||Math.abs(t)<5||(t<0&&Z(),t>0&&O())}const B=e=>{const{userId:o,streamType:n,hasVideo:a,reason:s}=e;d.updateUserVideoState(o,n,a),o!==R.userId||a||s!==v.TUIChangeReason.kChangedByAdmin||(n===v.TUIVideoStreamType.kCameraStream&&((0,l.z)({type:"warning",message:i("The host has turned off your camera"),duration:Ke.U.NORMAL}),d.setCanControlSelfVideo(!d.isCameraDisableForAllUser)),n===v.TUIVideoStreamType.kScreenStream&&(0,l.z)({type:"warning",message:i("The host has turned off your screen sharing"),duration:Ke.U.NORMAL})),o!==R.userId&&n===v.TUIVideoStreamType.kScreenStream&&(a?(b.value=d.remoteStreamObj[`${o}_${n}`],b.value&&(R.setLayout(Ee._.LARGE_SMALL_WINDOW),x.value=0)):o===b.value?.userId&&(I.Z.debug(`${t} onUserVideoStateChanged: stop`,o,n),u.instance?.stopPlayRemoteVideo({userId:o,streamType:n}),b.value&&(b.value=null),T.value===Ee._.LARGE_SMALL_WINDOW?(R.setLayout(Ee._.SIX_EQUAL_POINTS),x.value=0):T.value===Ee._.SIX_EQUAL_POINTS&&x.value>0&&(x.value=x.value-1)))};function F(e){if(w.value){const t=e.find((e=>e.userId===w.value));if(t&&t.volume>0)return}let t=0,o="";e.forEach((e=>{const{userId:n,volume:a}=e;a>t&&(t=a,o=n)})),w.value=0===t?"":o}const H=(0,se.P2)(F,1e3),z=e=>{const{userVolumeList:t}=e;T.value===Ee._.LARGE_SMALL_WINDOW&&(0===t.length?w.value="":H(t))};return f().once("ready",(()=>{u.instance?.on(v.TUIRoomEvents.onRemoteUserEnterRoom,o),u.instance?.on(v.TUIRoomEvents.onRemoteUserLeaveRoom,n),u.instance?.on(v.TUIRoomEvents.onSeatListChanged,a),u.instance?.on(v.TUIRoomEvents.onUserVideoStateChanged,B),u.instance?.on(v.TUIRoomEvents.onUserAudioStateChanged,s),u.instance?.on(v.TUIRoomEvents.onUserVoiceVolumeChanged,z)})),(0,r.onUnmounted)((()=>{u.instance?.off(v.TUIRoomEvents.onRemoteUserEnterRoom,o),u.instance?.off(v.TUIRoomEvents.onRemoteUserLeaveRoom,n),u.instance?.off(v.TUIRoomEvents.onSeatListChanged,a),u.instance?.off(v.TUIRoomEvents.onUserVideoStateChanged,B),u.instance?.off(v.TUIRoomEvents.onUserAudioStateChanged,s),u.instance?.off(v.TUIRoomEvents.onUserVoiceVolumeChanged,z)})),{__sfc:!0,logPrefix:t,onRemoteUserEnterRoom:o,onRemoteUserLeaveRoom:n,onSeatListChanged:a,onUserAudioStateChanged:s,t:i,roomEngine:u,streamContainerRef:m,roomStore:d,streamList:p,streamNumber:C,localStream:S,remoteStreamObj:y,basicStore:R,layout:T,enlargeStream:b,enlargeDomId:M,currentSpeakerUserId:w,startX:k,startY:U,onlyVideoStreamList:A,currentPageIndex:x,isFirstPageInSixPointLayout:L,showStreamList:E,totalPageNumber:D,isActiveDot:N,handleTurnPageLeft:O,handleTurnPageRight:Z,enlargedContainerRef:j,streamListRef:V,streamContainerClass:q,handleTouchStart:P,handleTouchEnd:$,onUserVideoStateChanged:B,handleLargestVoice:F,handleLargestVoiceThrottle:H,onUserVoiceVolumeChanged:z,LAYOUT:Ee._,StreamRegion:Ks}}}),ti=ei,oi=(0,w.Z)(ti,Os,Zs,!1,null,"3424abc2",null),ni=oi.exports,ai=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return t("div",{class:o.streamContainerClass},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.showIconControl,expression:"showIconControl"}],ref:"enlargedContainerRef",staticClass:"enlarged-stream-container"},[o.enlargeStream?t(o.StreamRegion,{key:`${o.enlargeStream.userId}_${o.enlargeStream.streamType}`,style:o.enlargedStreamStyle,attrs:{stream:o.enlargeStream}}):e._e()],1),t("div",{class:["stream-list-container",""+(o.showSideList?"":"hide-list")]},[t("div",{ref:"streamListRef",staticClass:"stream-list"},e._l(o.streamList,(function(e){return t(o.StreamRegion,{directives:[{name:"show",rawName:"v-show",value:o.showStreamList.indexOf(e)>-1,expression:"showStreamList.indexOf(stream) > -1"}],key:`${e.userId}_${e.streamType}`,staticClass:"single-stream",style:o.streamStyle,attrs:{stream:e,"enlarge-dom-id":o.enlargeDomId},on:{room_dblclick:function(t){return o.handleEnlargeStreamRegion(e)}}})})),1)]),o.showIconControl&&e.showRoomTool?t("div",{class:o.arrowClass,on:{click:o.handleClickIcon}},[t(o.SvgIcon,{attrs:{"icon-name":"line-arrow-up",size:"medium"}})],1):e._e(),o.showTurnPageControl&&e.showRoomTool?t("div",{staticClass:"turn-page-container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:o.showTurnPageLeftArrow,expression:"showTurnPageLeftArrow"}],staticClass:"turn-page-arrow-container left-container",on:{click:o.handleTurnPageLeft}},[t("div",{staticClass:"turn-page-arrow"})]),t("div",{directives:[{name:"show",rawName:"v-show",value:o.showTurnPageRightArrow,expression:"showTurnPageRightArrow"}],staticClass:"turn-page-arrow-container right-container",on:{click:o.handleTurnPageRight}},[t("div",{staticClass:"turn-page-arrow turn-page-right"})])]):e._e()])},si=[],ii=(0,r.defineComponent)({__name:"StreamContainerPC",props:{showRoomTool:{type:Boolean}},setup(e){const t="[StreamContainer]",{onRemoteUserEnterRoom:o,onUserAudioStateChanged:n,t:a}=Xs(),s=(0,_.Z)(),i=(0,r.ref)({width:"0",height:"0"}),u=(0,r.ref)({width:"0",height:"0"}),m=(0,h.A)(),{streamList:d,streamNumber:p,remoteStreamList:C}=(0,c.Jk)(m),S=(0,g.o)(),{layout:y}=(0,c.Jk)(S),R=(0,r.ref)(!0),b=(0,r.ref)(null),M=(0,r.computed)((()=>b.value?`${b.value.userId}_${b.value.streamType}`:""));(0,r.watch)((()=>C.value.length),(e=>{if(0===e)return S.setLayout(Ee._.NINE_EQUAL_POINTS),void(b.value=null)})),(0,r.watch)((()=>d.value.length),(()=>{y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST||G()})),(0,r.watch)((()=>M.value),(()=>{y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST||G()}));const w=(0,r.ref)(0),k=(0,r.computed)((()=>y.value!==Ee._.NINE_EQUAL_POINTS?d.value.filter((e=>`${e.userId}_${e.streamType}`!==M.value)):d.value.slice(9*w.value,9*w.value+9)));(0,r.watch)([()=>k.value.length,w],(()=>{if(y.value===Ee._.NINE_EQUAL_POINTS){const e=[];k.value.forEach((t=>{const o=`${t.userId}_${t.streamType}`;e.push(o)})),m.updateUserStreamVisible(e)}})),(0,r.watch)(p,(e=>{w.value>Math.ceil(e/9)-1&&(w.value=Math.ceil(e/9)-1,V())}));const U=(0,r.computed)((()=>y.value===Ee._.NINE_EQUAL_POINTS&&p.value>9)),A=(0,r.computed)((()=>w.value>0)),x=(0,r.computed)((()=>p.value>9*w.value+9));function L(){w.value=w.value-1,V()}function E(){w.value=w.value+1,V()}const D=(0,r.ref)(""),N=(0,r.ref)(),O=(0,r.ref)(),Z=(0,r.computed)((()=>{let e="";return y.value===Ee._.TOP_SIDE_LIST&&(e=R.value?"up":"down"),y.value===Ee._.RIGHT_SIDE_LIST&&(e=R.value?"right":"left"),`icon-control arrow-${e}`}));function j(){if(R.value=!R.value,R.value){if(y.value===Ee._.RIGHT_SIDE_LIST)return q(),N.value.style.width="calc(100% - 260px)",void(N.value.style.height="100%");if(y.value===Ee._.TOP_SIDE_LIST)return P(),N.value.style.top="175px",N.value.style.width="100%",void(N.value.style.height="calc(100% - 175px)")}else{let e=0,t=0;const o=document.getElementById("roomContainer").offsetWidth,n=document.getElementById("roomContainer").offsetHeight,a=o/16,s=n/9;if(a>s&&(e=n/9*16,t=n),a<=s&&(e=o,t=o/16*9),u.value.width=`${e}px`,u.value.height=`${t}px`,y.value===Ee._.RIGHT_SIDE_LIST)return N.value.style.width="100%",void(N.value.style.height="100%");if(y.value===Ee._.TOP_SIDE_LIST)return N.value.style.top="0px",N.value.style.width="100%",void(N.value.style.height="100%")}}async function V(){D.value="stream-container-flatten",b.value=null;const e=k.value.length;let t=0,o=0;const n=document.getElementById("roomContainer");if(!n)return;let a=n.offsetWidth,s=n.offsetHeight;e<=4?(a=e<2?n.offsetWidth/e:n.offsetWidth/2,s=n.offsetHeight/Math.ceil(e/2)):e>4&&(a=e<3?n.offsetWidth/e:n.offsetWidth/3,s=n.offsetHeight/Math.ceil(e/3));const r=a/16,l=s/9;r>l&&(t=s/9*16,o=s),r<=l&&(t=a,o=a/16*9),i.value.width=t-8+"px",i.value.height=o-8+"px"}async function q(){if(D.value="stream-container-right",b.value||([b.value]=C.value),await(0,r.nextTick)(),i.value={},N.value){const e=N.value.offsetWidth,t=N.value.offsetHeight;let o=0,n=0;const a=e/16,s=t/9;a>s&&(o=t/9*16,n=t),a<=s&&(o=e,n=e/16*9),u.value.width=`${o}px`,u.value.height=`${n}px`}}async function P(){if(D.value="stream-container-top",b.value||([b.value]=C.value),await(0,r.nextTick)(),i.value={},N.value){const e=N.value.offsetWidth,t=N.value.offsetHeight;let o=0,n=0;const a=e/16,s=t/9;a>s&&(o=t/9*16,n=t),a<=s&&(o=e,n=e/16*9),u.value.width=`${o}px`,u.value.height=`${n}px`}}function $(e){y.value===Ee._.NINE_EQUAL_POINTS&&S.setLayout(Ee._.RIGHT_SIDE_LIST),b.value=e}async function B(){switch(y.value){case Ee._.NINE_EQUAL_POINTS:await V();break;case Ee._.RIGHT_SIDE_LIST:R.value=!0,N.value.style.width="calc(100% - 260px)",N.value.style.height="100%",await q(),await G();break;case Ee._.TOP_SIDE_LIST:R.value=!0,N.value.style.width="100%",N.value.style.height="calc(100% - 175px)",await P(),await G();break;default:break}}async function F(){switch(y.value){case Ee._.NINE_EQUAL_POINTS:await V();break;case Ee._.RIGHT_SIDE_LIST:await q(),await G();break;case Ee._.TOP_SIDE_LIST:await P(),await G();break;default:break}}(0,r.onMounted)((()=>{B(),["resize","pageshow"].forEach((e=>{window.addEventListener(e,F)}))})),(0,r.onUnmounted)((()=>{["resize","pageshow"].forEach((e=>{window.removeEventListener(e,F)}))})),(0,r.watch)(p,(()=>{y.value===Ee._.NINE_EQUAL_POINTS&&V()})),(0,r.watch)(y,(()=>{B()}));const H=(0,r.computed)((()=>[Ee._.RIGHT_SIDE_LIST,Ee._.TOP_SIDE_LIST].indexOf(y.value)>=0)),z=e=>{const{userId:o,streamType:n,hasVideo:i,reason:r}=e;m.updateUserVideoState(o,n,i),o!==S.userId||i||r!==v.TUIChangeReason.kChangedByAdmin||(n===v.TUIVideoStreamType.kCameraStream&&((0,l.z)({type:"warning",message:a("The host has turned off your camera"),duration:Ke.U.NORMAL}),m.setCanControlSelfVideo(!m.isCameraDisableForAllUser)),n===v.TUIVideoStreamType.kScreenStream&&(0,l.z)({type:"warning",message:a("The host has turned off your screen sharing"),duration:Ke.U.NORMAL})),o!==S.userId&&n===v.TUIVideoStreamType.kScreenStream&&(i?(m.setHasOtherScreenShare(!0),b.value=m.remoteStreamObj[`${o}_${n}`],b.value&&y.value!==Ee._.RIGHT_SIDE_LIST&&y.value!==Ee._.TOP_SIDE_LIST&&S.setLayout(Ee._.RIGHT_SIDE_LIST)):(m.setHasOtherScreenShare(!1),o===b.value?.userId&&W(),I.Z.debug(`${t} onUserVideoStateChanged: stop`,o,n),s.instance?.stopPlayRemoteVideo({userId:o,streamType:n})))},Q=e=>{const{seatList:t,seatedList:o,leftList:n}=e;m.updateOnSeatList(t,o,n);const a=n.map((e=>e.userId));b.value&&a.includes(b.value?.userId)&&W()},J=e=>{const{userInfo:{userId:t}}=e;m.removeRemoteUser(t),t===b.value?.userId&&W()},W=()=>{0===m.remoteStreamList.length?(S.setLayout(Ee._.NINE_EQUAL_POINTS),b.value=null):[b.value]=m.remoteStreamList},G=async()=>{const e=O.value.children[0];await(0,r.nextTick)();let t=0,o=0,n=0;if(y.value===Ee._.RIGHT_SIDE_LIST){const n=e.offsetHeight+10,a=e.offsetHeight+14,s=O.value.scrollTop+O.value.offsetHeight;t=Math.floor((O.value.scrollTop-n)/a)+1,o=Math.ceil((s-n)/a)+1}else if(y.value===Ee._.TOP_SIDE_LIST){const n=e.offsetWidth,a=e.offsetWidth+14,s=O.value.scrollLeft+O.value.offsetWidth;t=Math.floor((O.value.scrollLeft-n)/a)+1,o=Math.ceil((s-n)/a)+1}t<0&&(t=0),n=o-t,n>k.value.length-t&&(n=k.value.length-t);const a=[];[...new Array(n)].forEach((()=>{const e=`${k.value[t].userId}_${k.value[t].streamType}`;a.push(e),t+=1})),a.push(M.value),m.updateUserStreamVisible(a)},K=(0,se.Ds)(G,300);return(0,r.onMounted)((()=>{O.value.addEventListener("scroll",K)})),(0,r.onUnmounted)((()=>{O.value&&O.value.removeEventListener("scroll",K)})),f().once("ready",(()=>{s.instance?.on(v.TUIRoomEvents.onRemoteUserEnterRoom,o),s.instance?.on(v.TUIRoomEvents.onRemoteUserLeaveRoom,J),s.instance?.on(v.TUIRoomEvents.onSeatListChanged,Q),s.instance?.on(v.TUIRoomEvents.onUserVideoStateChanged,z),s.instance?.on(v.TUIRoomEvents.onUserAudioStateChanged,n)})),(0,r.onUnmounted)((()=>{s.instance?.off(v.TUIRoomEvents.onRemoteUserEnterRoom,o),s.instance?.off(v.TUIRoomEvents.onRemoteUserLeaveRoom,J),s.instance?.off(v.TUIRoomEvents.onSeatListChanged,Q),s.instance?.off(v.TUIRoomEvents.onUserVideoStateChanged,z),s.instance?.off(v.TUIRoomEvents.onUserAudioStateChanged,n)})),{__sfc:!0,logPrefix:t,onRemoteUserEnterRoom:o,onUserAudioStateChanged:n,t:a,roomEngine:s,streamStyle:i,enlargedStreamStyle:u,roomStore:m,streamList:d,streamNumber:p,remoteStreamList:C,basicStore:S,layout:y,showSideList:R,enlargeStream:b,enlargeDomId:M,currentPageIndex:w,showStreamList:k,showTurnPageControl:U,showTurnPageLeftArrow:A,showTurnPageRightArrow:x,handleTurnPageLeft:L,handleTurnPageRight:E,streamContainerClass:D,enlargedContainerRef:N,streamListRef:O,arrowClass:Z,handleClickIcon:j,handleNineEqualPointsLayout:V,handleRightSideListLayout:q,handleTopSideListLayout:P,handleEnlargeStreamRegion:$,handleLayout:B,handleResize:F,showIconControl:H,onUserVideoStateChanged:z,onSeatListChanged:Q,onRemoteUserLeaveRoom:J,handleLargeStreamLeave:W,handleStreamContainerScroll:G,handleStreamContainerScrollDebounce:K,StreamRegion:Ks,SvgIcon:T.Z}}}),ri=ii,li=(0,w.Z)(ri,ai,si,!1,null,"35d1e596",null),ci=li.exports;const ui=$.t?ni:ci;var mi=ui,di=(0,r.defineComponent)({__name:"index",props:{showRoomTool:{type:Boolean}},setup(e){return{__sfc:!0,StreamContainer:mi}}}),pi=di,vi=(0,w.Z)(pi,Ds,Ns,!1,null,"f3be1146",null),fi=vi.exports,gi=function(){var e=this,t=e._self._c,o=e._self._setupProxy;return o.showSettingDialog?t("div",{staticClass:"setting-dialog"},[t("div",{staticClass:"dialog-tabs"},[t("span",{staticClass:"dialog-title"},[e._v(e._s(o.t("Settings")))]),e._l(o.settingTabsTitleList,(function(n,a){return t("div",{key:a,class:["tabs-title",""+(o.activeSettingTab===n.value?"active":"")],on:{click:function(e){return o.handleUpdateActiveTab(n.value)}}},[e._v(" "+e._s(n.label)+" ")])}))],2),t("div",{staticClass:"divide-line"}),t("div",{staticClass:"dialog-content"},["audio"===o.activeSettingTab?t(o.AudioSettingTab,{attrs:{mode:o.SettingMode.DETAIL}}):e._e(),"video"===o.activeSettingTab?t(o.VideoSettingTab,{attrs:{mode:o.SettingMode.DETAIL,"with-preview":!0}}):e._e()],1),t(o.SvgIcon,{staticClass:"close-icon",attrs:{"icon-name":"close",size:"medium"},on:{click:o.handleCloseSettingDialog}})],1):e._e()},hi=[],Ci=(0,r.defineComponent)({__name:"index",setup(e){const{t:t}=(0,C.Q)(),o=(0,g.o)(),{showSettingDialog:n,activeSettingTab:a}=(0,c.Jk)(o),s=(0,r.computed)((()=>[{label:t("Audio settings"),value:"audio"},{label:t("Camera settings"),value:"video"}]));function i(e){o.setActiveSettingTab(e)}function l(){o.setShowSettingDialog(!1)}return{__sfc:!0,t:t,basicStore:o,showSettingDialog:n,activeSettingTab:a,settingTabsTitleList:s,handleUpdateActiveTab:i,handleCloseSettingDialog:l,SvgIcon:T.Z,AudioSettingTab:We.Z,VideoSettingTab:at.Z,SettingMode:Ee.n}}}),_i=Ci,Ii=(0,w.Z)(_i,gi,hi,!1,null,"3d8c7752",null),Si=Ii.exports,yi=(0,r.defineComponent)({__name:"index",emits:["on-log-out","on-create-room","on-enter-room","on-exit-room","on-destroy-room","on-kicked-out-of-room","on-kicked-off-line","on-userSig-expired"],setup(e,{expose:t,emit:o}){const n=(0,_.Z)(),{t:a}=(0,C.Q)();t({init:E,createRoom:D,enterRoom:N,dismissRoom:A,leaveRoom:x,resetStore:V,t:a});const s="[Room]",i=(0,g.o)(),u=(0,h.A)(),m=Ct(),{sdkAppId:d,showHeaderTool:p}=(0,c.Jk)(i),{localUser:S}=(0,c.Jk)(u),y=(0,r.ref)(),R=(0,r.ref)(!0),T=(0,r.ref)();function b(){R.value=!1}const M=(0,se.Ds)(b,5e3),w=(0,se.P2)(M,1e3),k=new v.TRTCVideoEncParam;function U(){R.value=!R.value,R.value&&M()}async function A(){try{I.Z.log(`${s}dismissRoom: enter`),await L(),await(n.instance?.destroyRoom()),o("on-destroy-room")}catch(e){I.Z.error(`${s}dismissRoom error:`,e)}}async function x(){try{await L();const e=await(n.instance?.exitRoom());o("on-exit-room"),I.Z.log(`${s}leaveRoom:`,e)}catch(e){I.Z.error(`${s}leaveRoom error:`,e)}}async function L(){S.value.hasAudioStream&&await(n.instance?.closeLocalMicrophone()),S.value.hasVideoStream&&await(n.instance?.closeLocalCamera())}async function E(e){i.setBasicInfo(e),u.setLocalUser(e);const{sdkAppId:t,userId:o,userSig:n,userName:a,avatarUrl:s}=e;await f().login({sdkAppId:t,userId:o,userSig:n}),await f().setSelfInfo({userName:a,avatarUrl:s})}async function D(e){const{roomId:t,roomName:a,roomMode:r,roomParam:l}=e;try{if(!n.instance)return;i.setRoomId(t),I.Z.debug(`${s}createRoom:`,t,r,l);const e={roomId:t,name:a,roomType:v.TUIRoomType.kConference};"FreeToSpeak"===r?Object.assign(e,{speechMode:v.TUISpeechMode.kFreeToSpeak}):Object.assign(e,{speechMode:v.TUISpeechMode.kSpeakAfterTakingSeat}),await(n.instance?.createRoom(e)),o("on-create-room",{code:0,message:"create room success"});const c=n.instance?.getTRTCCloud();c.setDefaultStreamRecvMode(!0,!1),c.enableSmallVideoStream(!0,k);const m=await(n.instance?.enterRoom({roomId:t}));o("on-enter-room",{code:0,message:"enter room success"}),u.setRoomInfo(m),m.speechMode===v.TUISpeechMode.kSpeakAfterTakingSeat&&await(n.instance?.takeSeat({seatIndex:-1,timeout:0})),await O(),u.setRoomParam(l),Se.reportEvent({name:"createRoom",ext1:"createRoom-success"})}catch(c){throw I.Z.error(`${s}createRoom error:`,c),i.reset(),c}}async function N(e){const{roomId:t,roomParam:a}=e;try{if(!n.instance)return;i.setRoomId(t),I.Z.debug(`${s}enterRoom:`,t,a);const e=n.instance?.getTRTCCloud();e.setDefaultStreamRecvMode(!0,!1),e.enableSmallVideoStream(!0,k);const r=await(n.instance?.enterRoom({roomId:t}));u.setRoomInfo(r),await O(),u.setRoomParam(a),o("on-enter-room",{code:0,message:"enter room success"}),Se.reportEvent({name:"enterRoom",ext1:"enterRoom-success"})}catch(r){throw I.Z.error(`${s}enterRoom error:`,r),i.reset(),r}}async function O(){try{const{userInfoList:e}=await(n.instance?.getUserList());u.setUserList(e)}catch(e){I.Z.error("TUIRoomEngine.getUserList",e.code,e.message)}}k.videoResolution=v.TRTCVideoResolution.TRTCVideoResolution_640_360,k.videoFps=10,k.videoBitrate=550,$.e||$.t||((0,r.onMounted)((()=>{T.value?.addEventListener("mouseenter",(()=>{R.value=!0,M()})),T.value?.addEventListener("click",(()=>{R.value=!0,M()}),!1),T.value?.addEventListener("mousemove",(()=>{R.value=!0,w()})),T.value?.addEventListener("mouseleave",(()=>{R.value=!1}))})),(0,r.onUnmounted)((()=>{T.value?.removeEventListener("mouseenter",(()=>{R.value=!0,M()})),T.value?.removeEventListener("click",(()=>{R.value=!0,M()}),!1),T.value?.removeEventListener("mousemove",(()=>{R.value=!0,w()})),T.value?.removeEventListener("mouseleave",(()=>{R.value=!1}))}))),(0,r.onMounted)((async()=>{const e=i.defaultTheme,t=localStorage.getItem("tuiRoom-currentTheme")||e;if(i.setDefaultTheme(t),document.body.setAttribute("data-theme",t),$.t){const e=n.instance?.getTRTCCloud();await(e?.setLocalRenderParams({mirrorType:v.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,rotation:v.TRTCVideoRotation.TRTCVideoRotation0,fillMode:v.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}}));const Z=e=>{const{userVolumeList:t}=e;u.setAudioVolume(t)},j=e=>{i.setLocalQuality(e.userNetworkList)};function V(){i.reset(),m.reset(),u.reset()}const q=()=>{V(),o("on-log-out")},P=e=>{V(),o("on-destroy-room",e)},B=e=>{V(),o("on-exit-room",e)},F=e=>{I.Z.error("roomEngine.onError: ",e)},H=e=>{const{userId:t,isDisable:o}=e;if(t===S.value.userId){const e=a(o?"You have been banned from text chat by the host":"You are allowed to text chat by the host");(0,l.z)({type:"warning",message:e,duration:Ke.U.NORMAL}),m.setSendMessageDisableChanged(o)}},z=async e=>{const{roomId:t,reason:n,message:i}=e;try{V();let e="";switch(n){case v.TUIKickedOutOfRoomReason.kKickedByAdmin:e=a("kicked out of the room by the host");break;case v.TUIKickedOutOfRoomReason.kKickedByLoggedOnOtherDevice:e=a("kicked out of the room by other device");break;case v.TUIKickedOutOfRoomReason.kKickedByServer:e=a("kicked out of the room by serve");break}l.T.alert(e,a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-kicked-out-of-room",{roomId:t,reason:n,message:i})}})}catch(r){I.Z.error(`${s}onKickedOutOfRoom error:`,r)}},Q=()=>{l.T.alert("userSig 已过期",a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-userSig-expired")}})},J=e=>{const{message:t}=e;l.T.alert("系统检测到您的账号被踢下线",a("Note"),{confirmButtonText:a("Confirm"),customClass:"custom-element-class",appendTo:"#roomContainer",callback:async()=>{o("on-kicked-off-line",{message:t})}})};async function W(e){const t=a(e?"The host has muted all":"The host has unmuted all");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL}),e&&await(n.instance?.closeLocalMicrophone())}async function G(e){const t=a(e?"The host has turned on the ban on all paintings":"The host has lifted the ban on all paintings");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL}),e&&await(n.instance?.closeLocalCamera())}async function K(e){const t=a(e?"The host has turned on the ban on all chat":"The host has lifted the ban on all chat");(0,l.z)({type:"warning",message:t,duration:Ke.U.NORMAL})}const Y=async e=>{const{isDisable:t}=e;t!==u.isCameraDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&(G(t),u.setCanControlSelfVideo(!t)),u.setDisableCameraForAllUserByAdmin(t)},X=async e=>{const{isDisable:t}=e;t!==u.isMicrophoneDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&(W(t),u.setCanControlSelfAudio(!t)),u.setDisableMicrophoneForAllUserByAdmin(t)},ee=async e=>{const{isDisable:t}=e;t!==u.isMessageDisableForAllUser&&S.value.userRole===v.TUIRole.kGeneralUser&&K(t),u.setDisableMessageAllUserByAdmin(t)};async function te(){const e=await(n.instance?.getCameraDevicesList()),t=await(n.instance?.getMicDevicesList()),o=await(n.instance?.getSpeakerDevicesList());e&&u.setCameraList(e),t&&u.setMicrophoneList(t),o&&u.setSpeakerList(o);const a=n.instance?.getCurrentCameraDevice(),s=n.instance?.getCurrentMicDevice(),i=n.instance?.getCurrentSpeakerDevice();a&&a.deviceId&&u.setCurrentCameraId(a.deviceId),s&&s.deviceId&&u.setCurrentMicrophoneId(s.deviceId),i&&i.deviceId&&u.setCurrentSpeakerId(i.deviceId)}async function oe(e){const t=["add","remove","active"],{deviceId:o,type:a,state:s}=e;if(a===v.TRTCDeviceType.TRTCDeviceTypeMic){I.Z.log(`onDeviceChange: deviceId: ${o}, type: microphone, state: ${t[s]}`);const e=await(n.instance?.getMicDevicesList());return e&&u.setMicrophoneList(e),void(s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentMicrophoneId(o))}if(a===v.TRTCDeviceType.TRTCDeviceTypeSpeaker){I.Z.log(`onDeviceChange: deviceId: ${o}, type: speaker, state: ${t[s]}`);const e=await(n.instance?.getSpeakerDevicesList());return e&&u.setSpeakerList(e),void(s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentSpeakerId(o))}if(a===v.TRTCDeviceType.TRTCDeviceTypeCamera){I.Z.log(`onDeviceChange: deviceId: ${o}, type: camera, state: ${t[s]}`);const e=await(n.instance?.getCameraDevicesList());e&&u.setCameraList(e),s===v.TRTCDeviceState.TRTCDeviceStateActive&&u.setCurrentCameraId(o)}}return f().once("ready",(()=>{n.instance?.on(v.TUIRoomEvents.onError,F),n.instance?.on(v.TUIRoomEvents.onUserVoiceVolumeChanged,Z),n.instance?.on(v.TUIRoomEvents.onUserNetworkQualityChanged,j),n.instance?.on(v.TUIRoomEvents.onKickedOutOfRoom,z),n.instance?.on(v.TUIRoomEvents.onSendMessageForUserDisableChanged,H),n.instance?.on(v.TUIRoomEvents.onUserSigExpired,Q),n.instance?.on(v.TUIRoomEvents.onKickedOffLine,J),n.instance?.on(v.TUIRoomEvents.onAllUserCameraDisableChanged,Y),n.instance?.on(v.TUIRoomEvents.onAllUserMicrophoneDisableChanged,X),n.instance?.on(v.TUIRoomEvents.onSendMessageForAllUserDisableChanged,ee),n.instance?.on(v.TUIRoomEvents.onDeviceChange,oe),te()})),(0,r.onUnmounted)((()=>{n.instance?.off(v.TUIRoomEvents.onError,F),n.instance?.off(v.TUIRoomEvents.onUserVoiceVolumeChanged,Z),n.instance?.off(v.TUIRoomEvents.onUserNetworkQualityChanged,j),n.instance?.off(v.TUIRoomEvents.onKickedOutOfRoom,z),n.instance?.off(v.TUIRoomEvents.onSendMessageForUserDisableChanged,H),n.instance?.off(v.TUIRoomEvents.onUserSigExpired,Q),n.instance?.off(v.TUIRoomEvents.onKickedOffLine,J),n.instance?.off(v.TUIRoomEvents.onAllUserCameraDisableChanged,Y),n.instance?.off(v.TUIRoomEvents.onAllUserMicrophoneDisableChanged,X),n.instance?.off(v.TUIRoomEvents.onSendMessageForAllUserDisableChanged,ee),n.instance?.off(v.TUIRoomEvents.onDeviceChange,oe)})),(0,r.watch)(d,(e=>{e&&(Se.setSdkAppId(e),Se.reportEvent({name:"loaded",ext1:"loaded-success"}))})),{__sfc:!0,roomEngine:n,t:a,emit:o,logPrefix:s,basicStore:i,roomStore:u,chatStore:m,sdkAppId:d,showHeaderTool:p,localUser:S,roomContentRef:y,showRoomTool:R,roomRef:T,handleHideRoomTool:b,handleHideRoomToolDebounce:M,handleHideRoomToolThrottle:w,smallParam:k,handleRoomContentTap:U,dismissRoom:A,leaveRoom:x,closeMediaBeforeLeave:L,init:E,createRoom:D,enterRoom:N,getUserList:O,onUserVoiceVolumeChanged:Z,onUserNetworkQualityChanged:j,resetStore:V,logOut:q,onDestroyRoom:P,onExitRoom:B,onError:F,onSendMessageForUserDisableChanged:H,onKickedOutOfRoom:z,onUserSigExpired:Q,onKickedOffLine:J,handleAudioStateChange:W,handleVideoStateChange:G,handleMessageStateChange:K,onAllUserCameraDisableChanged:Y,onAllUserMicrophoneDisableChanged:X,onSendMessageForAllUserDisableChanged:ee,getMediaDeviceList:te,onDeviceChange:oe,RoomHeader:Be,RoomFooter:kn,RoomSidebar:Es,RoomContent:fi,RoomSetting:Si}}}),Ri=yi,Ti=(0,w.Z)(Ri,s,i,!1,null,"7c957b1c",null),bi=Ti.exports,Mi=o(8499),wi=o(9255);const ki=(0,g.o)(),Ui=(0,h.A)();let Ai;wi.Z.beforeEach(((e,t,o)=>{if(ki.roomId){const e=Ui.isMaster?Ai?.t("This action causes the room to be disbanded, does it continue?"):Ai?.t("This action causes the room to be exited, does it continue?");window.confirm(e)?(Ui.isMaster?Ai?.dismissRoom():Ai?.leaveRoom(),Ai?.resetStore(),o()):o(!1)}else o()}));var xi={name:"Room",components:{RoomContainer:bi},data(){return{roomInfo:null,userInfo:null,roomId:0}},async mounted(){if(Ai=this.$refs.TUIRoomRef,this.roomInfo=sessionStorage.getItem("tuiRoom-roomInfo"),this.userInfo=sessionStorage.getItem("tuiRoom-userInfo"),console.log(this.userInfo),this.roomId=this.$route.query.roomId,!this.roomId)return void this.$router.push({path:"home"});if(!this.roomInfo)return void this.$router.push({path:"home",query:{roomId:this.roomId}});const{action:e,roomMode:t,roomParam:o}=JSON.parse(this.roomInfo),{sdkAppId:n,userId:a,userSig:s,userName:i,avatarUrl:r}=JSON.parse(this.userInfo);try{if(await Ai.init({sdkAppId:n,userId:a,userSig:s,userName:i,avatarUrl:r}),"createRoom"===e)try{await Ai.createRoom({roomId:this.roomId,roomName:this.roomId,roomMode:t,roomParam:o})}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{this.$router.push({path:"home"})}})}else if("enterRoom"===e)try{await Ai.enterRoom({roomId:this.roomId,roomParam:o})}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{this.$router.push({path:"home"})}})}}catch(l){const e=this.$t("Failed to enter the room.")+l.message;Mi.MessageBox.alert(e,this.$t("Note"),{customClass:"custom-element-class",confirmButtonText:this.$t("Confirm"),callback:()=>{sessionStorage.removeItem("tuiRoom-currentUserInfo"),this.$router.push({path:"home"})}})}},methods:{handleLogOut(){},onCreateRoom(e){I.Z.debug("onEnterRoom:",e),alert(`房间号为${this.roomId}`)},onEnterRoom(e){I.Z.debug("onCreateRoom:",e)},onDestroyRoom(e){I.Z.debug("onDestroyRoom:",e),this.$router.replace({path:"/home"})},onExitRoom(e){I.Z.debug("onExitRoom:",e),this.$router.replace({path:"/home"})},onKickedOutOfRoom(e){I.Z.debug("onKickedOutOfRoom:",e),sessionStorage.removeItem("tuiRoom-roomInfo"),this.$router.replace({path:"/home"})},onKickedOffLine(e){I.Z.debug("onKickedOffLine:",e),sessionStorage.removeItem("tuiRoom-roomInfo"),this.$router.replace({path:"/home"})},onUserSigExpired(){I.Z.debug("onUserSigExpired"),sessionStorage.removeItem("tuiRoom-roomInfo"),sessionStorage.removeItem("tuiRoom-currentUserInfo"),this.$router.replace({path:"/home"})}}},Li=xi,Ei=(0,w.Z)(Li,n,a,!1,null,null,null),Di=Ei.exports}}]); +//# sourceMappingURL=about.345afdd2.js.map \ No newline at end of file diff --git a/Miniapp-H5/dist/js/about.65dec066.js.map b/Miniapp-H5/dist/js/about.345afdd2.js.map similarity index 92% rename from Miniapp-H5/dist/js/about.65dec066.js.map rename to Miniapp-H5/dist/js/about.345afdd2.js.map index c4b616e..a9bd335 100644 --- a/Miniapp-H5/dist/js/about.65dec066.js.map +++ b/Miniapp-H5/dist/js/about.345afdd2.js.map @@ -1 +1 @@ -{"version":3,"file":"js/about.65dec066.js","mappings":"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R,QAAS,kBACT,QAAS,kBACT,QAAS,kBACT,MAAO,kBACP,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,QAAS,kBACT,QAAS,kBACT,OAAQ,kBACR,MAAO,kBACP,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,QAAS,kBACT,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,mBACT,QAAS,mBACT,QAAS,mBACT,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,QAAS,mBACT,OAAQ,mBACR,OAAQ,mBACR,OAAQ,oBAEGC,GAAY,CACvB,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAII,SAAUC,GAAkBN,GAChC,MAAMO,EAAY,GAMlB,IAAIC,EAAOR,EACPS,GAAQ,EACRC,GAAS,EACb,MAAgB,KAATF,EAGL,OAFAC,EAAOD,EAAKpR,QAAQ,KACpBsR,EAAQF,EAAKpR,QAAQ,KACbqR,GACN,KAAK,EACH,IAAe,IAAXC,EACFH,EAAUlR,KAAK,CACblO,KAAM,OACN8e,KAAMO,IAERA,EAAO,OACF,CACL,MAAMG,EAAWH,EAAK3D,MAAM,EAAG6D,EAAQ,GACnCN,GAASO,IACXJ,EAAUlR,KAAK,CACblO,KAAM,MACNwM,IAAKwS,GAAWC,GAASO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","sources":["webpack://room-uikit-web-vue2/./src/views/room.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?cbb0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?227e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?80ea","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?c6d6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?bdbb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?8363","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?c6ed","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?f3fd","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?15c9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?30b2","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?7684","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?310f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?4721","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?01d4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?e768","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?bd7b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?7cc7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?e269","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/aegis/config.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/aegis/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?7171","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?4119","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?d478","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?49ca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?387e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?9b7f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?2d44","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?812a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?da03","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/index/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?ad29","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?60eb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?7bf9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?a6d4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?34b3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?1008","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?f702","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?b23f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?150f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/stores/chat.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?f1c1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?d455","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?b76c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/hooks/useMasterApplyControl.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?c0da","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?2ae0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?90ba","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?24af","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?8150","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?a2fb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?ae79","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?3ac1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?ab68","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/useMoreControlHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/useRoomInviteHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?f157","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?b2f8","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?7415","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?1fe9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?9aa3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?e5a1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?8842","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?90fd","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?05bb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/useRoomMoreHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?c6f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?f3ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?4a59","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?cc4a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?f328","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?2318","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?a4fc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?0911","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?5a05","webpack://room-uikit-web-vue2/../src/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/hooks/useMitt.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?a86e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?8811","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?eae2","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?1a27","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?3eb9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?986f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/useRoomFooterHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?eb7d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?a790","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?e2f1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?f490","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?9bfe","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?8e31","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?7e98","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?a2f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?9d67","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?83c7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?13dc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?2fa0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?2016","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?2381","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?5fb4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/util.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?08b9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?387f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?40ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/useMessageListHook.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?aee0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?991a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?0030","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?089d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?ae8b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?be5c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?bde9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?01f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?17d6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?4752","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?bdf9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?e234","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?0984","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?7024","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?f5be","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?7492","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?0cc4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?e7ae","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?59b9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?0f23","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?d177","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?b213","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?fdce","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?6c23","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?afd5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?141f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?a143","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?84bc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?6350","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?75ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/useIndexHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?fe5a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?e9a0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?f007","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?a28f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?93c0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?ae45","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?f836","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?a74f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?6e7f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?0b6b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?21a5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?5cb4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?f09a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?778c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?1ed6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?cdda","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?5158","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?4bf6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?a31d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?8cfa","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?314a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?8b21","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?fa3f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?d1ca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?d860","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?5dec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?cefb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?f674","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?4dca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?0aa0","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?79c8","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?6095","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?77e3","webpack://room-uikit-web-vue2/src/views/room.vue","webpack://room-uikit-web-vue2/./src/views/room.vue?6a10","webpack://room-uikit-web-vue2/./src/views/room.vue?14d2"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('room-container',{ref:\"TUIRoomRef\",on:{\"on-log-out\":_vm.handleLogOut,\"on-create-room\":_vm.onCreateRoom,\"on-enter-room\":_vm.onEnterRoom,\"on-exit-room\":_vm.onExitRoom,\"on-destroy-room\":_vm.onDestroyRoom,\"on-kicked-out-of-room\":_vm.onKickedOutOfRoom,\"on-kick-off-line\":_vm.onKickedOffLine,\"on-user-sig-expired\":_vm.onUserSigExpired}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"roomRef\",staticClass:\"tui-room\",attrs:{\"id\":\"roomContainer\"}},[_c(_setup.RoomHeader,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showRoomTool && _setup.showHeaderTool),expression:\"showRoomTool && showHeaderTool\"}],staticClass:\"header\",on:{\"log-out\":_setup.logOut,\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}}),_c(_setup.RoomContent,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleRoomContentTap),expression:\"handleRoomContentTap\"}],ref:\"roomContentRef\",staticClass:\"content\",attrs:{\"show-room-tool\":_setup.showRoomTool}}),_c(_setup.RoomFooter,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showRoomTool),expression:\"showRoomTool\"}],staticClass:\"footer\",on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}}),_c(_setup.RoomSidebar),_c(_setup.RoomSetting)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"icon-box\"},[_c(_setup.SwitchCamera),_c(_setup.SwitchMirror)],1),_c(_setup.RoomInfo),_c(_setup.EndControl,{on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"end-control-container\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.stopMeeting),expression:\"stopMeeting\"}],staticClass:\"end-button\",attrs:{\"tabindex\":\"1\"}},[_vm._v(_vm._s(_setup.t('EndH5')))])]),(_setup.visible)?_c('div',{staticClass:\"end-main-content\"},[_c('div',{class:_setup.isShowLeaveRoomDialog ? 'end-dialog-leave':'end-dialog-dismiss'},[(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('div',{staticClass:\"end-dialog-header\"},[(_setup.roomStore.isMaster)?_c('span',{staticClass:\"end-dialog-text\"},[_vm._v(\" \"+_vm._s(_setup.t('If you do not want to end the meeting, please designate a new host before leaving the meeting.'))+\" \")]):_c('span',[_vm._v(_vm._s(_setup.t('Are you sure you want to leave this room?')))])]):_vm._e()]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',{staticClass:\"dialog-middle-content\"},[(_setup.roomStore.isMaster)?_c('span',{class:_setup.isShowLeaveRoomDialog ? 'end-button-dismiss':'end-button-dismiss-single',on:{\"click\":function($event){$event.stopPropagation();return _setup.dismissRoom.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_setup.t('Dismiss'))+\" \")]):_vm._e(),(_setup.isShowLeaveRoomDialog)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.leaveRoom),expression:\"leaveRoom\"}],class:_setup.roomStore.isMaster ?'end-button-leave':'end-button-leave-single'},[_vm._v(\" \"+_vm._s(_setup.t('Leave'))+\" \")]):_vm._e(),_c('span',{staticClass:\"end-button-cancel\",on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('span',{staticClass:\"end-button-cancel\",on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])]):_vm._e()])]):_vm._e(),_c(_setup.popup,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showSideBar),expression:\"showSideBar\"}],staticClass:\"transfer-container\",attrs:{\"title\":_setup.t('Appoint a new host')},scopedSlots:_vm._u([{key:\"sidebarContent\",fn:function(){return [_c('div',{staticStyle:{\"height\":\"100%\"}},[_c('div',[_c('div',{staticClass:\"transfer-header\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.searchName),expression:\"searchName\"}],staticClass:\"searching-input\",attrs:{\"type\":\"text\",\"placeholder\":_setup.t('Search for conference attendees'),\"enterkeyhint\":\"done\"},domProps:{\"value\":(_setup.searchName)},on:{\"input\":function($event){if($event.target.composing)return;_setup.searchName=$event.target.value}}})]),_c('div',{staticClass:\"transfer-body\"},[_vm._l((_setup.filteredList),function(user){return _c('div',{key:user.userId,staticClass:\"transfer-list-content\",on:{\"click\":function($event){return _setup.handleShowMemberControl(user.userId)}}},[_c('div',{staticClass:\"member-basic-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":user.avatarUrl}}),_c('div',{staticClass:\"user-name\"},[_vm._v(_vm._s(user.userName || user.userId))]),(_setup.selectedUser === user.userId)?_c(_setup.SvgIcon,{staticClass:\"correct\",attrs:{\"icon-name\":\"correct\",\"size\":\"custom\"}}):_vm._e()],1)])}),(_setup.hasNoData)?_c('div',{staticClass:\"member-hasNoData\"},[_vm._v(_vm._s(_setup.t('No relevant user found.')))]):_vm._e()],2)])])]},proxy:true},{key:\"sidebarFooter\",fn:function(){return [_c('div',{staticClass:\"transfer-leave\",on:{\"click\":_setup.transferAndLeave}},[_c('span',{staticClass:\"transfer-button\"},[_vm._v(_vm._s(_setup.t('Transfer and leave')))])])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, Ref, computed } from 'vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../../locales';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport logger from '../../../utils/common/logger';\n\nexport default function useEndControl() {\n const { t } = useI18n();\n enum DialogType {\n BasicDialog,\n TransferDialog\n }\n const currentDialogType = ref(DialogType.BasicDialog);\n\n const logPrefix = '[EndControl]';\n const roomEngine = useGetRoomEngine();\n const visible: Ref = ref(false);\n const basicStore = useBasicStore();\n logger.log(`${logPrefix} basicStore:`, basicStore);\n\n const roomStore = useRoomStore();\n const { localUser, remoteAnchorList } = storeToRefs(roomStore);\n const title = computed(() => (currentDialogType.value === DialogType.BasicDialog ? t('Leave room?') : t('Select a new host')));\n const isShowLeaveRoomDialog = computed(() => (\n roomStore.isMaster && remoteAnchorList.value.length > 0)\n || !roomStore.isMaster);\n const { isSidebarOpen, sidebarName } = storeToRefs(basicStore);\n const showSideBar = computed(() => isSidebarOpen.value && sidebarName.value === 'transfer-leave');\n const selectedUser: Ref = ref('');\n const showTransfer = ref(false);\n const searchName = ref('');\n const filteredList = computed(() => remoteAnchorList.value.filter(searchUser => (\n searchUser.userId.includes(searchName.value)) || (searchUser.userName?.includes(searchName.value))));\n const hasNoData = computed(() => filteredList.value.length === 0);\n\n function toggleMangeMemberSidebar() {\n if (basicStore.setSidebarOpenStatus && sidebarName.value === 'transfer-leave') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('transfer-leave');\n }\n\n function handleShowMemberControl(userId: string) {\n selectedUser.value = userId;\n }\n\n function resetState() {\n visible.value = false;\n currentDialogType.value = DialogType.BasicDialog;\n }\n\n function stopMeeting() {\n if (!visible.value) {\n visible.value = true;\n }\n }\n\n function cancel() {\n resetState();\n }\n\n async function closeMediaBeforeLeave() {\n if (localUser.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n if (localUser.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n }\n }\n return {\n t,\n basicStore,\n isShowLeaveRoomDialog,\n roomStore,\n roomEngine,\n localUser,\n remoteAnchorList,\n stopMeeting,\n cancel,\n selectedUser,\n DialogType,\n logPrefix,\n title,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n searchName,\n hasNoData,\n handleShowMemberControl,\n filteredList,\n toggleMangeMemberSidebar,\n showTransfer,\n sidebarName,\n showSideBar,\n };\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"popup-container\"},[_c('div',{staticClass:\"popup-main-header\"},[_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleClose),expression:\"handleClose\"}],staticClass:\"icon-container\"},[_c(_setup.SvgIcon,{staticClass:\"close-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"close-back\"}})],1),_c('span',{staticClass:\"sidebar-title\"},[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"popup-main-content\"},[_vm._t(\"sidebarContent\")],2),_c('div',{staticClass:\"popup-main-footer\"},[_vm._t(\"sidebarFooter\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from './SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport '../../directives/vTap';\n\ninterface Props {\n title: string,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'PopUpH5',\n props: {\n title: null\n },\n setup(__props: any) {\n\n\n\nconst basicStore = useBasicStore();\n\nfunction handleClose() {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n}\n\n\nreturn { __sfc: true,basicStore, handleClose, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./PopUpH5.vue?vue&type=template&id=4069d388&scoped=true&\"\nimport script from \"./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./PopUpH5.vue?vue&type=style&index=0&id=4069d388&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4069d388\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { onUnmounted } from 'vue';\nimport { ElMessageBox, ElMessage } from '../../../elementComp';\nimport TUIRoomEngine, { TUIRole, TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useEndControl from './useEndControlHooks';\nimport logger from '../../../utils/common/logger';\nimport popup from '../../common/PopUpH5.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport Avatar from '../../base/Avatar.vue';\nimport '../../../directives/vTap';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'EndControlH5',\n emits: ['on-exit-room', 'on-destroy-room'],\n setup(__props, { emit }) {\n\nconst {\n t,\n isShowLeaveRoomDialog,\n roomStore,\n basicStore,\n roomEngine,\n localUser,\n stopMeeting,\n cancel,\n DialogType,\n logPrefix,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n toggleMangeMemberSidebar,\n searchName,\n hasNoData,\n handleShowMemberControl,\n filteredList,\n selectedUser,\n showSideBar,\n} = useEndControl();\n\n\n\n\n\n/**\n * Active room dismissal\n *\n * 主动解散房间\n**/\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\n/**\n * Leave the room voluntarily\n *\n * 主动离开房间\n**/\nasync function leaveRoom() { // eslint-disable-line\n try {\n if (roomStore.isMaster) {\n toggleMangeMemberSidebar();\n resetState();\n return;\n }\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}leaveRoom:`, response);\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function transferAndLeave() {\n if (!selectedUser.value) {\n return;\n }\n try {\n const userId = selectedUser.value;\n const changeUserRoleResponse = await roomEngine.instance?.changeUserRole({ userId, userRole: TUIRole.kRoomOwner });\n logger.log(`${logPrefix}transferAndLeave:`, changeUserRoleResponse);\n await closeMediaBeforeLeave();\n const exitRoomResponse = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}exitRoom:`, exitRoomResponse);\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}transferAndLeave error:`, error);\n }\n}\n\n/**\n * notification of room dismissal from the host\n *\n * 收到主持人解散房间通知\n**/\nconst onRoomDismissed = async (eventInfo: { roomId: string}) => {\n try {\n const { roomId } = eventInfo;\n logger.log(`${logPrefix}onRoomDismissed:`, roomId);\n ElMessageBox.alert(t('The host closed the room.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n appendTo: '#roomContainer',\n callback: async () => {\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onRoomDestroyed error:`, error);\n }\n};\n\n/**\n * By listening for a change in ownerId,\n * the audience receives a notification that the host has handed over the privileges\n *\n**/\n\nconst onUserRoleChanged = async (eventInfo: {userId: string, userRole: TUIRole }) => {\n if (eventInfo.userRole === TUIRole.kRoomOwner) {\n const { userId } = eventInfo;\n let newName = roomStore.getUserName(userId) || userId;\n if (userId === localUser.value.userId) {\n newName = t('me');\n }\n const tipMessage = `${t('Moderator changed to ')}${newName}`;\n ElMessage({\n type: 'success',\n message: tipMessage,\n });\n if (roomStore.localUser.userId === userId) {\n roomStore.setLocalUser({ userRole: TUIRole.kRoomOwner });\n } else {\n roomStore.setRemoteUserRole(userId, TUIRole.kRoomOwner);\n }\n roomStore.setMasterUserId(userId);\n resetState();\n if (roomStore.isAnchor) return;\n if (roomStore.isSpeakAfterTakingSeatMode) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n };\n }\n};\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.on(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.off(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\n\nreturn { __sfc: true,t, isShowLeaveRoomDialog, roomStore, basicStore, roomEngine, localUser, stopMeeting, cancel, DialogType, logPrefix, currentDialogType, visible, closeMediaBeforeLeave, resetState, toggleMangeMemberSidebar, searchName, hasNoData, handleShowMemberControl, filteredList, selectedUser, showSideBar, emit, dismissRoom, leaveRoom, transferAndLeave, onRoomDismissed, onUserRoleChanged, popup, SvgIcon, Avatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./EndControlH5.vue?vue&type=template&id=12377224&scoped=true&\"\nimport script from \"./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./EndControlH5.vue?vue&type=style&index=0&id=12377224&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12377224\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"end-control-container\"},[_c('div',{staticClass:\"end-button\",attrs:{\"tabindex\":\"1\"},on:{\"click\":_setup.stopMeeting}},[_vm._v(_vm._s(_setup.t('EndPC')))]),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.visible,\"title\":_setup.title,\"modal\":true,\"append-to-body\":false,\"width\":\"420px\",\"before-close\":_setup.cancel,\"close-on-click-modal\":true},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _setup.dismissRoom.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_setup.t('Dismiss'))+\" \")]):_vm._e(),(_setup.isShowLeaveRoomDialog)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.leaveRoom}},[_vm._v(_vm._s(_setup.t('Leave')))]):_vm._e(),_c('el-button',{on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.transferAndLeave}},[_vm._v(_vm._s(_setup.t('Transfer and leave')))]),_c('el-button',{on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1):_vm._e()]},proxy:true}])},[(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.'))+\" \")]):_c('span',[_vm._v(_vm._s(_setup.t('Are you sure you want to leave this room?')))])]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('div',[_vm._v(_vm._s(_setup.t('New host')))]),_c('div',[_c('el-select',{attrs:{\"teleported\":false,\"popper-append-to-body\":false},model:{value:(_setup.selectedUser),callback:function ($$v) {_setup.selectedUser=$$v},expression:\"selectedUser\"}},_vm._l((_setup.remoteAnchorList),function(user){return _c('el-option',{key:user.userId,attrs:{\"value\":user.userId,\"label\":user.userName}})}),1)],1)]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { onUnmounted } from 'vue';\nimport { ElMessageBox, ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport TUIRoomEngine, { TUIRole, TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useEndControl from './useEndControlHooks';\nimport logger from '../../../utils/common/logger';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'EndControlPC',\n emits: ['on-exit-room', 'on-destroy-room'],\n setup(__props, { emit }) {\n\nconst {\n t,\n isShowLeaveRoomDialog,\n roomStore,\n basicStore,\n roomEngine,\n localUser,\n remoteAnchorList,\n stopMeeting,\n cancel,\n selectedUser,\n DialogType,\n logPrefix,\n title,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n} = useEndControl();\n\n\n\n\n/**\n * Active room dismissal\n *\n * 主动解散房间\n**/\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\n/**\n * Leave the room voluntarily\n *\n * 主动离开房间\n**/\nasync function leaveRoom() { // eslint-disable-line\n try {\n if (roomStore.isMaster) {\n currentDialogType.value = DialogType.TransferDialog;\n return;\n }\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}leaveRoom:`, response);\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function transferAndLeave() {\n if (!selectedUser.value) {\n return;\n }\n try {\n const userId = selectedUser.value;\n const changeUserRoleResponse = await roomEngine.instance?.changeUserRole({ userId, userRole: TUIRole.kRoomOwner });\n logger.log(`${logPrefix}transferAndLeave:`, changeUserRoleResponse);\n await closeMediaBeforeLeave();\n const exitRoomResponse = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}exitRoom:`, exitRoomResponse);\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}transferAndLeave error:`, error);\n }\n}\n\n/**\n * notification of room dismissal from the host\n *\n * 收到主持人解散房间通知\n**/\nconst onRoomDismissed = async (eventInfo: { roomId: string}) => {\n try {\n const { roomId } = eventInfo;\n logger.log(`${logPrefix}onRoomDismissed:`, roomId);\n ElMessageBox.alert(t('The host closed the room.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n appendTo: '#roomContainer',\n callback: async () => {\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onRoomDestroyed error:`, error);\n }\n};\n\n/**\n * By listening for a change in ownerId,\n * the audience receives a notification that the host has handed over the privileges\n *\n**/\n\nconst onUserRoleChanged = async (eventInfo: {userId: string, userRole: TUIRole }) => {\n if (eventInfo.userRole === TUIRole.kRoomOwner) {\n const { userId } = eventInfo;\n let newName = roomStore.getUserName(userId) || userId;\n if (userId === localUser.value.userId) {\n newName = t('me');\n }\n const tipMessage = `${t('Moderator changed to ')}${newName}`;\n ElMessage({\n type: 'success',\n message: tipMessage,\n });\n if (roomStore.localUser.userId === userId) {\n roomStore.setLocalUser({ userRole: TUIRole.kRoomOwner });\n } else {\n roomStore.setRemoteUserRole(userId, TUIRole.kRoomOwner);\n }\n roomStore.setMasterUserId(userId);\n resetState();\n if (roomStore.isAnchor) return;\n if (roomStore.isSpeakAfterTakingSeatMode) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n }\n }\n};\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.on(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.off(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\n\nreturn { __sfc: true,t, isShowLeaveRoomDialog, roomStore, basicStore, roomEngine, localUser, remoteAnchorList, stopMeeting, cancel, selectedUser, DialogType, logPrefix, title, currentDialogType, visible, closeMediaBeforeLeave, resetState, emit, dismissRoom, leaveRoom, transferAndLeave, onRoomDismissed, onUserRoleChanged, Dialog }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./EndControlPC.vue?vue&type=template&id=bcdd5c40&scoped=true&\"\nimport script from \"./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./EndControlPC.vue?vue&type=style&index=0&id=bcdd5c40&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bcdd5c40\",\n null\n \n)\n\nexport default component.exports","import EndControlH5 from './EndControlH5.vue';\nimport EndControlPC from './EndControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst EndControl = isMobile ? EndControlH5 : EndControlPC;\n\nexport default EndControl;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"camera-icon\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleSwitchCamera),expression:\"handleSwitchCamera\"}],attrs:{\"icon-name\":\"camera\",\"size\":\"custom\",\"custom-style\":{\n backgroundSize: '50%'\n }}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { storeToRefs } from 'pinia';\nimport { useBasicStore } from '../../../stores/basic';\nimport '../../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchCamera',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { isFrontCamera } = storeToRefs(basicStore);\nconst roomEngine = useGetRoomEngine();\n\nasync function handleSwitchCamera() {\n await roomEngine.instance?.switchCamera({ isFrontCamera: !isFrontCamera.value });\n basicStore.setIsFrontCamera(!isFrontCamera.value);\n}\n\nreturn { __sfc: true,basicStore, isFrontCamera, roomEngine, handleSwitchCamera, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchCamera.vue?vue&type=template&id=190ccb04&scoped=true&\"\nimport script from \"./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchCamera.vue?vue&type=style&index=0&id=190ccb04&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"190ccb04\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"mirror-icon\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toogleMirrorStatus),expression:\"toogleMirrorStatus\"}],attrs:{\"icon-name\":\"mirror\",\"size\":\"custom\",\"custom-style\":{backgroundSize: '50%'}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useBasicStore } from '../../../stores/basic';\n\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode } from '@tencentcloud/tuiroom-engine-js';\nimport '../../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchMirror',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst basicStore = useBasicStore();\n\nfunction toogleMirrorStatus() {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.setLocalRenderParams({\n mirrorType:\n basicStore.isLocalStreamMirror\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n basicStore.setIsLocalStreamMirror(basicStore.isLocalStreamMirror);\n basicStore.isLocalStreamMirror = !basicStore.isLocalStreamMirror;\n}\n\n\nreturn { __sfc: true,roomEngine, basicStore, toogleMirrorStatus, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchMirror.vue?vue&type=template&id=9a54a9ea&scoped=true&\"\nimport script from \"./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchMirror.vue?vue&type=style&index=0&id=9a54a9ea&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9a54a9ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"conference-container\"},[(_setup.isShowRoomInfoTitle)?_c('div',{on:{\"click\":_setup.toggleShowRoomInfoStatus}},[_c('div',{staticClass:\"title-container\"},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_setup.conferenceTitle))]),_c('span',{staticClass:\"chevron-down-container\"},[_c(_setup.SvgIcon,{staticClass:\"chevron-down-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"chevron-down\"}})],1)])]):_vm._e(),(_setup.isShowRoomInfo)?_c('div',{staticClass:\"roomInfo-container\"},[_c('div',{ref:\"roomInfoRef\",staticClass:\"roomInfo-container-main\"},[_c('div',{staticClass:\"roomInfo-title\"},[_c('span',{staticClass:\"master-header\"},[_vm._v(_vm._s(_setup.conferenceTitle))]),_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleHiddenRoomInfo}},[_vm._v(_vm._s(_setup.t('Cancel')))])]),_c('div',{staticClass:\"roomInfo-middle\"},[_c('div',{staticClass:\"roomInfo-role\"},[_c('span',[_vm._v(_vm._s(_setup.t('Host')))]),_c('span',{staticClass:\"text-right\"},[_vm._v(_vm._s(_setup.masterUserName))])]),_c('div',{staticClass:\"roomInfo-roomMode\"},[_c('span',{staticClass:\"middle-left\"},[_vm._v(_vm._s(_setup.t('Room Type')))]),_c('span',{staticClass:\"text-type\"},[_vm._v(_vm._s(_setup.roomType))])]),_c('div',{staticClass:\"roomInfo-roomID\"},[_c('span',{staticClass:\"middle-left\"},[_vm._v(_vm._s(_setup.t('Room ID')))]),_c('span',{staticClass:\"text-right\"},[_vm._v(_vm._s(_setup.roomId))]),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"},on:{\"click\":function($event){return _setup.onCopy(_setup.roomId)}}})],1),(!_setup.isWeChat)?_c('div',{staticClass:\"roomInfo-roomID\"},[_c('span',[_vm._v(_vm._s(_setup.t('Room Link')))]),_c('span',{staticClass:\"link\"},[_vm._v(_vm._s(_setup.inviteLink))]),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.inviteLink)}}})],1):_vm._e()]),(!_setup.isWeChat)?_c('div',{staticClass:\"roomInfo-bottom\"},[_c('span',[_vm._v(_vm._s(_setup.t('You can share the room number or link to invite more people to join the room.')))])]):_vm._e()])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport { isWeChat } from '../../../utils/useMediaValue';\nimport { clipBoard } from '../../../utils/utils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomInfo',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { roomId } = storeToRefs(basicStore);\nconst { masterUserId } = storeToRefs(roomStore);\nconst { t } = useI18n();\nconst roomInfoRef = ref();\nconst isShowRoomInfo = ref(false);\nconst roomType = computed(() => (roomStore.isFreeSpeakMode ? t('Free Speech Room') : t('Raise Hand Room')));\n\nconst { origin, pathname } = location || {};\nconst inviteLink = computed(() => `${origin}${pathname}#/home?roomId=${roomId.value}`);\n\nconst masterUserName = computed(() => (roomStore.getUserName(masterUserId.value)) || masterUserId.value);\n\nconst isShowRoomInfoTitle = computed(() => (masterUserName.value));\n\nconst conferenceTitle = computed(() => `${masterUserName.value}${t('video conferencing')}`);\n\nfunction toggleShowRoomInfoStatus() {\n isShowRoomInfo.value = !isShowRoomInfo.value;\n}\n\nasync function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowRoomInfo.value && !roomInfoRef.value.contains(event.target)) {\n isShowRoomInfo.value = false;\n }\n}\n\nfunction handleHiddenRoomInfo() {\n isShowRoomInfo.value = false;\n}\n\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,basicStore, roomStore, roomId, masterUserId, t, roomInfoRef, isShowRoomInfo, roomType, origin, pathname, inviteLink, masterUserName, isShowRoomInfoTitle, conferenceTitle, toggleShowRoomInfoStatus, onCopy, handleDocumentClick, handleHiddenRoomInfo, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomInfo.vue?vue&type=template&id=543146aa&scoped=true&\"\nimport script from \"./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomInfo.vue?vue&type=style&index=0&id=543146aa&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"543146aa\",\n null\n \n)\n\nexport default component.exports","/**\n * 需要配置 isUploadLoaded, aegisId, projectName\n * isUploadLoaded: 上传 loaded 事件\n * isUploadDetailEvent: 上传 loaded 及其他操作事件\n * aegisId: aegis Id\n * projectName: 项目名称\n */\n\nconst IS_LOCAL = location.protocol === 'file:' || location.hostname === 'localhost' || location.hostname === '127.0.0.1';\nconst IS_OFFICIAL_DEMO = location.host === 'web.sdk.qcloud.com';\n\nconst isUploadLoaded = IS_LOCAL || IS_OFFICIAL_DEMO;\n\nconst isUploadDetailEvent = IS_OFFICIAL_DEMO;\n\nconst aegisId = 'iHWefAYqCFrCVqqyIZ';\n\nconst projectName = 'TUIRoomKit-Web-vue2';\n\nexport {\n isUploadLoaded,\n isUploadDetailEvent,\n aegisId,\n projectName,\n};\n","\nimport { isUploadLoaded, isUploadDetailEvent, aegisId, projectName } from './config';\n\nlet aegis: any;\n\nconst script = document.createElement('script');\nscript.type = 'text/javascript';\nscript.src = 'https://cdn-go.cn/aegis/aegis-sdk/latest/aegis.min.js';\ndocument.getElementsByTagName('head')[0].appendChild(script);\n\nscript.onload = () => {\n // @ts-ignore\n // eslint-disable-next-line no-undef\n aegis = new Aegis({\n id: aegisId,\n uin: '',\n reportApiSpeed: true, // 接口测速\n reportAssetSpeed: true, // 静态资源测速\n spa: true, // spa 页面开启\n });\n if (roomAegis.storedReportEventList) {\n roomAegis.storedReportEventList.forEach((data) => {\n aegis.reportEvent(data);\n });\n }\n};\n\nclass TUIRoomAegis {\n private sdkAppId: number = 0;\n private projectName: string = projectName;\n private isUploadLoaded: boolean = isUploadLoaded;\n private isUploadDetailEvent: boolean = isUploadDetailEvent;\n private hasUploadedEventList: Array = [];\n\n storedReportEventList: Array = [];\n\n setSdkAppId(sdkAppId: number) {\n this.sdkAppId = sdkAppId;\n }\n\n reportEvent(data: { name: string, ext1: string }) {\n if (!this.isUploadLoaded) {\n return;\n }\n const { name: eventName, ext1: eventDesc } = data;\n if (this.isUploadDetailEvent || eventName === 'loaded') {\n const uploadData = { ...data, ext2: this.projectName, ext3: this.sdkAppId };\n if (aegis) {\n if (this.hasUploadedEventList.indexOf(`${eventName}_${eventDesc}`) < 0) {\n this.hasUploadedEventList.push(`${eventName}_${eventDesc}`);\n aegis.reportEvent(uploadData);\n }\n } else {\n this.storedReportEventList.push(uploadData);\n }\n }\n }\n}\n\nconst roomAegis = new TUIRoomAegis();\n\nexport default roomAegis;\n","import { defineComponent as _defineComponent } from 'vue'\nimport EndControl from '../../RoomFooter/EndControl';\nimport SwitchCamera from './SwitchCamera.vue';\nimport SwitchMirror from './SwitchMirror.vue';\nimport RoomInfo from './RoomInfo.vue';\nimport TUIRoomAegis from '../../../utils/aegis';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n emits: ['log-out', 'on-destroy-room', 'on-exit-room'],\n setup(__props, { emit }) {\n\n\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n emit('on-destroy-room', info);\n TUIRoomAegis.reportEvent({ name: 'destroyRoom', ext1: 'destroyRoom-success' });\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n emit('on-exit-room', info);\n TUIRoomAegis.reportEvent({ name: 'exitRoom', ext1: 'exitRoom-success' });\n};\n\n\nreturn { __sfc: true,emit, onDestroyRoom, onExitRoom, EndControl, SwitchCamera, SwitchMirror, RoomInfo }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1262e4e7&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1262e4e7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1262e4e7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.UserInfo,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showHeaderInfo),expression:\"showHeaderInfo\"}],staticClass:\"header-item user-info\",attrs:{\"user-id\":_setup.userId,\"user-name\":_setup.userName,\"avatar-url\":_setup.avatarUrl},on:{\"log-out\":function($event){return _vm.$emit('log-out')}}}),_c(_setup.Language,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showHeaderInfo),expression:\"showHeaderInfo\"}],staticClass:\"header-item language\"}),_c(_setup.SwitchTheme,{staticClass:\"header-item theme\"})],1),_c('div',{staticClass:\"right-container\"},[_c(_setup.LayoutControl,{staticClass:\"right-container-item\"})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.streamNumber > 1)?_c('div',{staticClass:\"layout-container\"},[_c(_setup.SvgIcon,{staticClass:\"layout-icon\",attrs:{\"icon-name\":\"layout\",\"size\":\"medium\"},on:{\"click\":function($event){$event.stopPropagation();return _setup.handleClickLayoutIcon.apply(null, arguments)}}}),(_setup.showLayoutList)?_c('div',{ref:\"layoutList\",staticClass:\"layout-list\"},[_c('div',{class:['layout1', 'layout-item', `${_setup.layout === _setup.LAYOUT.NINE_EQUAL_POINTS ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.NINE_EQUAL_POINTS)}}},[_c('div',{staticClass:\"layout-block-container\"},_vm._l((new Array(9).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Grid')))])]),_c('div',{class:['layout2', 'layout-item', `${_setup.layout === _setup.LAYOUT.RIGHT_SIDE_LIST ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.RIGHT_SIDE_LIST)}}},[_c('div',{staticClass:\"layout-block-container\"},[_c('div',{staticClass:\"left-container\"}),_c('div',{staticClass:\"right-container\"},_vm._l((new Array(4).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0)]),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Gallery on right')))])]),_c('div',{class:['layout3', 'layout-item', `${_setup.layout === _setup.LAYOUT.TOP_SIDE_LIST ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.TOP_SIDE_LIST)}}},[_c('div',{staticClass:\"layout-block-container\"},[_c('div',{staticClass:\"top-container\"},_vm._l((new Array(4).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0),_c('div',{staticClass:\"bottom-container\"})]),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Gallery at top')))])])]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { LAYOUT } from '../../../constants/render';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport TUIRoomAegis from '../../../utils/aegis';\nimport { useI18n } from '../../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LayoutControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { layout } = storeToRefs(basicStore);\nconst roomStore = useRoomStore();\nconst { streamNumber } = storeToRefs(roomStore);\n\nconst showLayoutList:Ref = ref(false);\nconst layoutList:Ref = ref(null);\n\nfunction handleClick(layout: any) {\n basicStore.setLayout(layout);\n TUIRoomAegis.reportEvent({ name: 'layout', ext1: layout });\n}\n\nfunction handleClickLayoutIcon() {\n if (!showLayoutList.value) {\n showLayoutList.value = true;\n document.addEventListener('click', handleDocumentClick, false);\n } else {\n document.removeEventListener('click', handleDocumentClick, false);\n showLayoutList.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showLayoutList.value && layoutList.value && !layoutList.value.contains(event.target as Node)) {\n document.removeEventListener('click', handleDocumentClick);\n showLayoutList.value = false;\n }\n}\n\n\nreturn { __sfc: true,t, basicStore, layout, roomStore, streamNumber, showLayoutList, layoutList, handleClick, handleClickLayoutIcon, handleDocumentClick, SvgIcon, LAYOUT }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./LayoutControl.vue?vue&type=template&id=7b3fd23b&scoped=true&\"\nimport script from \"./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./LayoutControl.vue?vue&type=style&index=0&id=7b3fd23b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b3fd23b\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport UserInfo from '../UserInfo';\nimport Language from '../../base/Language.vue';\nimport SwitchTheme from '../../base/SwitchTheme.vue';\n// import NetworkInfo from './NetworkInfo.vue';\n/**\n * [info] Functions to be improved\n *\n * 【info】功能待完善\n**/\n// import InfoControl from './InfoControl.vue';\nimport LayoutControl from './LayoutControl.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n showHeaderInfo: { type: Boolean, default: true }\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst basicStore = useBasicStore();\n\nconst { userId, userName, avatarUrl } = storeToRefs(basicStore);\n\n\n\n\n\n\nreturn { __sfc: true,basicStore, userId, userName, avatarUrl, UserInfo, Language, SwitchTheme, LayoutControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=20e9e128&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=20e9e128&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20e9e128\",\n null\n \n)\n\nexport default component.exports","import indexH5 from '../roomHeaderH5/index.vue';\nimport indexPC from '../roomHeaderPC/index.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.AudioControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('audioControl')),expression:\"() => handleControlClick('audioControl')\"}]}),_c(_setup.VideoControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('videoControl')),expression:\"() => handleControlClick('videoControl')\"}]}),(!_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ChatControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('chatControl')),expression:\"() => handleControlClick('chatControl')\"}]}):_c(_setup.ApplyControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('applyControl')),expression:\"() => handleControlClick('applyControl')\"}]}),(_setup.roomStore.isMaster)?_c(_setup.ManageMemberControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('manageMemberControl')),expression:\"() => handleControlClick('manageMemberControl')\"}]}):_vm._e(),_c(_setup.MoreControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('moreControl')),expression:\"() => handleControlClick('moreControl')\"}]})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"audio-control-container\",on:{\"click\":function($event){return _setup.emits('click')}}},[_c(_setup.IconButton,{ref:\"audioIconButtonRef\",attrs:{\"is-active\":!_setup.localStream.hasAudioStream,\"title\":_setup.t('Mic'),\"has-more\":_setup.hasMore,\"show-more\":_setup.showAudioSettingTab,\"disabled\":_setup.isLocalAudioIconDisable},on:{\"click-icon\":_setup.toggleMuteAudio,\"click-more\":_setup.handleMore}},[_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_setup.localStream.audioVolume,\"is-muted\":!_setup.localStream.hasAudioStream,\"is-disabled\":_setup.isLocalAudioIconDisable}})],1),_c(_setup.AudioSettingTab,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showAudioSettingTab),expression:\"showAudioSettingTab\"}],ref:\"audioSettingRef\",staticClass:\"audio-tab\"})],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showRequestOpenMicDialog,\"title\":_setup.title,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleReject}},[_vm._v(_vm._s(_setup.t('Keep it closed')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.handleAccept}},[_vm._v(_vm._s(_setup.t('Turn on the microphone')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('The host invites you to turn on the microphone'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, Ref, onUnmounted, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessageBox, ElMessage } from '../../elementComp';\nimport Dialog from '../../elementComp/Dialog';\nimport IconButton from '../common/IconButton.vue';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport { useRoomStore } from '../../stores/room';\nimport AudioIcon from '../base/AudioIcon.vue';\nimport { WARNING_MESSAGE, MESSAGE_DURATION } from '../../constants/message';\nimport { useI18n } from '../../locales';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequest, TUIRequestAction } from '@tencentcloud/tuiroom-engine-js';\nimport useRoomEngine from '../../hooks/useRoomEngine';\nimport { isMobile, isWeChat } from '../../utils/useMediaValue';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioControl',\n emits: ['click'],\n setup(__props, { emit: emits }) {\n\nconst roomEngine = useRoomEngine();\n\nconst roomStore = useRoomStore();\nconst {\n isAudience,\n localStream,\n isLocalAudioIconDisable,\n isMicrophoneDisableForAllUser,\n} = storeToRefs(roomStore);\n\n\nconst hasMore = computed(() => !isMobile);\nconst showAudioSettingTab: Ref = ref(false);\nconst audioIconButtonRef = ref>();\nconst audioSettingRef = ref>();\nconst { t } = useI18n();\nconst title = computed(() => (isMobile ? '' : t('Tips')));\n\nasync function toggleMuteAudio() {\n if (isLocalAudioIconDisable.value) {\n let warningMessage = '';\n if (isMicrophoneDisableForAllUser.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL;\n } else if (isAudience.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_MIC_FAIL_AUDIENCE;\n }\n ElMessage({\n type: 'warning',\n message: t(warningMessage),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n if (localStream.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n // 如果是全员禁言状态下,用户主动关闭麦克风之后不能再自己打开\n if (roomStore.isMicrophoneDisableForAllUser) {\n roomStore.setCanControlSelfAudio(false);\n }\n } else {\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const hasMicrophoneDevice = microphoneList.length > 0;\n if (!hasMicrophoneDevice && !isWeChat) {\n // 无麦克风列表\n ElMessageBox.alert(t('Microphone not detected on current device.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n });\n return;\n }\n // 有麦克风列表且有权限\n await roomEngine.instance?.openLocalMicrophone();\n }\n showAudioSettingTab.value = false;\n}\n\nfunction handleMore() {\n if (!showAudioSettingTab.value) {\n showAudioSettingTab.value = true;\n } else {\n showAudioSettingTab.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showAudioSettingTab.value\n && !audioIconButtonRef.value?.$el.contains(event.target)\n && !audioSettingRef.value?.$el.contains(event.target)\n ) {\n showAudioSettingTab.value = false;\n }\n}\n\n// -------- 处理主持人打开/关闭麦克风信令 --------\nconst showRequestOpenMicDialog: Ref = ref(false);\nconst requestOpenMicRequestId: Ref = ref('');\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId } = eventInfo.request;\n // 主持人邀请打开麦克风,同意之后将会自动打开麦克风\n if (requestAction === TUIRequestAction.kRequestToOpenRemoteMicrophone) {\n requestOpenMicRequestId.value = requestId;\n showRequestOpenMicDialog.value = true;\n }\n}\n\n// 接受主持人邀请,打开麦克风\nasync function handleAccept() {\n roomStore.setCanControlSelfAudio(true);\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenMicRequestId.value,\n agree: true,\n });\n requestOpenMicRequestId.value = '';\n showRequestOpenMicDialog.value = false;\n}\n\n// 保持静音\nasync function handleReject() {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenMicRequestId.value,\n agree: false });\n requestOpenMicRequestId.value = '';\n showRequestOpenMicDialog.value = false;\n}\n\n// 请求被取消\nasync function onRequestCancelled(eventInfo: { requestId: string }) {\n const { requestId } = eventInfo;\n if (requestOpenMicRequestId.value === requestId) {\n showRequestOpenMicDialog.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\n\nreturn { __sfc: true,roomEngine, roomStore, isAudience, localStream, isLocalAudioIconDisable, isMicrophoneDisableForAllUser, emits, hasMore, showAudioSettingTab, audioIconButtonRef, audioSettingRef, t, title, toggleMuteAudio, handleMore, handleDocumentClick, showRequestOpenMicDialog, requestOpenMicRequestId, onRequestReceived, handleAccept, handleReject, onRequestCancelled, Dialog, IconButton, AudioSettingTab, AudioIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=357aa832&scoped=true&\"\nimport script from \"./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioControl.vue?vue&type=style&index=0&id=357aa832&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"357aa832\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"video-control-container\",on:{\"click\":function($event){return _setup.emits('click')}}},[_c(_setup.IconButton,{ref:\"videoIconButtonRef\",attrs:{\"is-active\":!_setup.localStream.hasVideoStream,\"title\":_setup.t('Camera'),\"icon-name\":_setup.iconName,\"has-more\":_setup.hasMore,\"disabled\":_setup.isLocalVideoIconDisable},on:{\"click-icon\":_setup.toggleMuteVideo,\"click-more\":_setup.handleMore}}),_c(_setup.VideoSettingTab,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showVideoSettingTab),expression:\"showVideoSettingTab\"}],ref:\"videoSettingRef\",staticClass:\"video-tab\"})],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showRequestOpenCameraDialog,\"title\":_setup.title,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleReject}},[_vm._v(_vm._s(_setup.t('Keep it closed')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.handleAccept}},[_vm._v(_vm._s(_setup.t('Turn on the camera')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('The host invites you to turn on the camera'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted, Ref } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessageBox, ElMessage } from '../../elementComp';\nimport Dialog from '../../elementComp/Dialog';\nimport IconButton from '../common/IconButton.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\n\nimport { useRoomStore } from '../../stores/room';\nimport { ICON_NAME } from '../../constants/icon';\nimport { WARNING_MESSAGE, MESSAGE_DURATION } from '../../constants/message';\nimport { useI18n } from '../../locales';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport TUIRoomEngine, { TUIVideoStreamType, TUIRoomEvents, TUIRequest, TUIRequestAction } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile, isWeChat } from '../../utils/useMediaValue';\nimport { useBasicStore } from '../../stores/basic';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoControl',\n emits: ['click'],\n setup(__props, { emit: emits }) {\n\nconst roomEngine = useGetRoomEngine();\n\nconst roomStore = useRoomStore();\nconst basicStore = useBasicStore();\nconst isFrontCamera: Ref = ref(basicStore.isFrontCamera);\n\n\nconst {\n isCameraDisableForAllUser,\n isAudience,\n localStream,\n isLocalVideoIconDisable,\n} = storeToRefs(roomStore);\nconst { t } = useI18n();\nconst hasMore = computed(() => !isMobile);\nconst showVideoSettingTab: Ref = ref(false);\nconst videoIconButtonRef = ref>();\nconst videoSettingRef = ref>();\nconst title = computed(() => (isMobile ? '' : t('Tips')));\n\nconst iconName = computed(() => {\n if (isLocalVideoIconDisable.value) {\n return ICON_NAME.CameraOffDisabled;\n }\n return localStream.value.hasVideoStream ? ICON_NAME.CameraOn : ICON_NAME.CameraOff;\n});\n\nasync function toggleMuteVideo() {\n if (isLocalVideoIconDisable.value) {\n let warningMessage = '';\n if (isCameraDisableForAllUser.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL;\n } else if (isAudience.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE;\n }\n ElMessage({\n type: 'warning',\n message: t(warningMessage),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n\n if (localStream.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n // 如果是全员禁画状态下,用户主动关闭摄像头之后不能再自己打开\n if (roomStore.isCameraDisableForAllUser) {\n roomStore.setCanControlSelfVideo(false);\n }\n } else {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const hasCameraDevice = cameraList.length > 0;\n // 无摄像头列表\n if (!hasCameraDevice && !isWeChat) {\n ElMessageBox.alert(t('Camera not detected on current device'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n });\n return;\n }\n // 有摄像头列表\n roomEngine.instance?.setLocalVideoView({\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n streamType: TUIVideoStreamType.kCameraStream,\n });\n if (isMobile) {\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: isFrontCamera.value });\n } else {\n await roomEngine.instance?.openLocalCamera();\n }\n }\n showVideoSettingTab.value = false;\n}\n\nfunction handleMore() {\n if (!showVideoSettingTab.value) {\n showVideoSettingTab.value = true;\n } else {\n showVideoSettingTab.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showVideoSettingTab.value\n && !videoIconButtonRef.value?.$el.contains(event.target)\n && !videoSettingRef.value?.$el.contains(event.target)\n ) {\n showVideoSettingTab.value = false;\n }\n}\n\n// -------- 处理主持人打开/关闭摄像头信令 --------\nconst showRequestOpenCameraDialog: Ref = ref(false);\nconst requestOpenCameraRequestId: Ref = ref('');\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId } = eventInfo.request;\n // 主持人邀请打开麦克风,同意之后将会自动打开摄像头\n if (requestAction === TUIRequestAction.kRequestToOpenRemoteCamera) {\n requestOpenCameraRequestId.value = requestId;\n showRequestOpenCameraDialog.value = true;\n }\n}\n\n// 接受主持人邀请,打开摄像头\nasync function handleAccept() {\n roomStore.setCanControlSelfVideo(true);\n roomEngine.instance?.setLocalVideoView({\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n streamType: TUIVideoStreamType.kCameraStream,\n });\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenCameraRequestId.value,\n agree: true,\n });\n requestOpenCameraRequestId.value = '';\n showRequestOpenCameraDialog.value = false;\n}\n\n// 保持静音\nasync function handleReject() {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenCameraRequestId.value,\n agree: false,\n });\n requestOpenCameraRequestId.value = '';\n showRequestOpenCameraDialog.value = false;\n}\n\n// 请求被取消\nasync function onRequestCancelled(eventInfo: { requestId: string }) {\n const { requestId } = eventInfo;\n if (requestOpenCameraRequestId.value === requestId) {\n showRequestOpenCameraDialog.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\n\nreturn { __sfc: true,roomEngine, roomStore, basicStore, isFrontCamera, emits, isCameraDisableForAllUser, isAudience, localStream, isLocalVideoIconDisable, t, hasMore, showVideoSettingTab, videoIconButtonRef, videoSettingRef, title, iconName, toggleMuteVideo, handleMore, handleDocumentClick, showRequestOpenCameraDialog, requestOpenCameraRequestId, onRequestReceived, handleAccept, handleReject, onRequestCancelled, Dialog, IconButton, VideoSettingTab, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoControl.vue?vue&type=template&id=a0d52fdc&scoped=true&\"\nimport script from \"./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoControl.vue?vue&type=style&index=0&id=a0d52fdc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0d52fdc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'manage-member',\"title\":_setup.t('Members'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleMangeMemberSidebar}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ManageMemberControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst iconName = computed(() => (sidebarName.value === 'manage-member' ? ICON_NAME.ManageMemberActive : ICON_NAME.ManageMember));\n\nfunction toggleMangeMemberSidebar() {\n if (basicStore.setSidebarOpenStatus && sidebarName.value === 'manage-member') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('manage-member');\n}\n\nreturn { __sfc: true,t, basicStore, sidebarName, iconName, toggleMangeMemberSidebar, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ManageMemberControl.vue?vue&type=template&id=49c71e42&scoped=true&\"\nimport script from \"./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"49c71e42\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"chat-control-container\"},[(_setup.isMobile)?_c('div',[(_setup.chatStore.unReadCount > 0)?_c('div',{staticClass:\"count\"},[_c(_setup.IconButton,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toggleChatSidebar),expression:\"toggleChatSidebar\"}],attrs:{\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName}}),_c('span',{staticClass:\"unreadCount\"},[_vm._v(_vm._s(_setup.chatStore.unReadCount > 10 ? '10+' : _setup.chatStore.unReadCount))])],1):_c(_setup.IconButton,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toggleChatSidebar),expression:\"toggleChatSidebar\"}],attrs:{\"is-active\":_setup.sidebarName === 'chat',\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName}})],1):_c('div',[(_setup.chatStore.unReadCount > 0)?_c('el-badge',{attrs:{\"value\":_setup.chatStore.unReadCount > 10 ? '10+' : _setup.chatStore.unReadCount}},[_c(_setup.IconButton,{attrs:{\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleChatSidebar}})],1):_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'chat',\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleChatSidebar}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\n\ninterface MessageItem {\n ID: string;\n type: string;\n payload: {\n text: string;\n };\n nick: string;\n from: string;\n flow: string;\n sequence: number;\n}\n\ninterface ChatState {\n messageList: MessageItem[];\n isMessageDisableByAdmin: boolean;\n unReadCount: number;\n isCompleted: boolean;\n // 是否已经拉完所有消息列表\n // Is the list of all messages pulled\n nextReqMessageId: string;\n}\n\nexport const useChatStore = defineStore('chat', {\n state: (): ChatState => ({\n messageList: [],\n isMessageDisableByAdmin: false,\n unReadCount: 0,\n isCompleted: false,\n nextReqMessageId: '',\n }),\n getters: {\n },\n actions: {\n updateMessageList(message: MessageItem) {\n const messageIds = this.messageList.map(message => message.ID);\n if (messageIds.indexOf(message.ID) === -1) {\n this.messageList = this.messageList.concat([message]);\n }\n },\n setMessageListInfo(messageList:MessageItem[], isCompleted: boolean, nextReqMessageId: string) {\n this.messageList = messageList;\n this.isCompleted = isCompleted;\n this.nextReqMessageId = nextReqMessageId;\n },\n updateUnReadCount(count: number) {\n this.unReadCount = count;\n },\n addHistoryMessages(messageList: MessageItem[]) {\n const messageIds = this.messageList.map(message => message.ID);\n const filteredMessageList = messageList.filter(message => messageIds.indexOf(message.ID) === -1);\n this.messageList = filteredMessageList.concat(this.messageList).sort((\n messageA: MessageItem, messageB: MessageItem) => messageA.sequence - messageB.sequence);\n },\n setSendMessageDisableChanged(isDisable: boolean) {\n this.isMessageDisableByAdmin = isDisable;\n },\n reset() {\n this.messageList = [];\n this.unReadCount = 0;\n this.isMessageDisableByAdmin = false;\n },\n },\n});\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { useChatStore } from '../../stores/chat';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst chatStore = useChatStore();\nconst { sidebarName } = storeToRefs(basicStore);\n\nconst iconName = computed(() => (sidebarName.value === 'chat' ? ICON_NAME.ChatActive : ICON_NAME.Chat));\n\nasync function toggleChatSidebar() {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'chat') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('chat');\n chatStore.updateUnReadCount(0);\n}\n\n\nreturn { __sfc: true,t, basicStore, chatStore, sidebarName, iconName, toggleChatSidebar, IconButton, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatControl.vue?vue&type=template&id=23a9a115&\"\nimport script from \"./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatControl.vue?vue&type=style&index=0&id=23a9a115&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.roomStore.isMaster)?_c(_setup.MasterApplyControl):(!_setup.roomStore.isMaster)?_c(_setup.MemberApplyControl):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"apply-control-container\"},[_c(_setup.IconButton,{ref:\"masterApplyControlRef\",attrs:{\"title\":_setup.t('Raise hand'),\"icon-name\":_setup.ICON_NAME.ApplyOnSeat},on:{\"click-icon\":_setup.toggleApplySpeech}}),(_setup.hasApplyToAnchorUser && !_setup.showApplyUserList)?_c('div',{staticClass:\"attention master-attention\"},[_c(_setup.SvgIcon,{staticClass:\"apply-big-icon\",attrs:{\"icon-name\":\"apply-big-icon\"}}),_c('span',{staticClass:\"info\"},[_vm._v(_vm._s(_setup.applyToAnchorList.length))])],1):_vm._e(),(_setup.showApplyUserList)?_c('div',{ref:\"masterApplyListRef\",class:_setup.isMobile ? 'apply-list-container-h5':'apply-list-container'},[_c('div',{staticClass:\"title-container\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Apply to stage application')))]),_c(_setup.SvgIcon,{staticClass:\"close\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.hideApplyList}})],1),_c('div',{staticClass:\"apply-list\"},_vm._l((_setup.applyToAnchorList),function(item,index){return _c('div',{key:index,staticClass:\"apply-item\"},[_c('div',{staticClass:\"user-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":item.avatarUrl}}),_c('span',{staticClass:\"user-name\",attrs:{\"title\":item.userName || item.userId}},[_vm._v(_vm._s(item.userName || item.userId))])],1),_c('div',{staticClass:\"control-container\"},[_c('div',{staticClass:\"button primary\",on:{\"click\":function($event){return _setup.handleUserApply(item.userId, true)}}},[_vm._v(_vm._s(_setup.t('Agree')))]),_c('div',{staticClass:\"button outline\",on:{\"click\":function($event){return _setup.handleUserApply(item.userId, false)}}},[_vm._v(_vm._s(_setup.t('Reject')))])])])}),0),_c('div',{staticClass:\"apply-footer\"},[_c('div',{staticClass:\"button outline deny-all\",on:{\"click\":_setup.denyAllUserApply}},[_vm._v(_vm._s(_setup.t('Reject All')))])])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// 举手发言逻辑\n// 主持人:同意/拒绝用户的申请发言,踢人下麦,邀请用户上麦,取消邀请用户上麦\n\nimport { onBeforeUnmount } from 'vue';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequestAction, TUIRequest, TUIRequestCallbackType } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from './useRoomEngine';\nimport { ElMessage } from '../elementComp';\nimport { MESSAGE_DURATION } from '../constants/message';\nimport { useRoomStore, UserInfo } from '../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../locales';\nimport logger from '../utils/common/logger';\n\nconst roomEngine = useGetRoomEngine();\n\nexport default function () {\n const roomStore = useRoomStore();\n const { applyToAnchorList } = storeToRefs(roomStore);\n const { t } = useI18n();\n\n // ------ 以下处理普通用户操作 ---------\n\n // new: 收到来自用户的上麦申请\n function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId, userId } = eventInfo.request;\n if (requestAction === TUIRequestAction.kRequestToTakeSeat) {\n // 用户申请上麦\n userId && roomStore.addApplyToAnchorUser({ userId, requestId });\n }\n }\n\n // 远端用户取消上麦申请\n function onRequestCancelled(eventInfo: { requestId: string, userId: string }) {\n const { userId } = eventInfo;\n roomStore.removeApplyToAnchorUser(userId);\n }\n\n // 处理用户请求\n async function handleUserApply(applyUserId: string, agree: boolean) {\n // TUIRoomCore.replySpeechApplication(applyUserId, agree);\n const userInfo = roomStore.remoteUserObj[applyUserId];\n if (userInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree,\n });\n }\n roomStore.removeApplyToAnchorUser(applyUserId);\n }\n\n // 同意用户上台\n async function agreeUserOnStage(userInfo: UserInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree: true,\n });\n roomStore.removeApplyToAnchorUser(userInfo.userId);\n }\n\n // 拒绝用户上台\n async function denyUserOnStage(userInfo: UserInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree: false,\n });\n roomStore.removeApplyToAnchorUser(userInfo.userId);\n }\n\n // 拒绝全部用户上麦请求\n async function denyAllUserApply() {\n const applyUserList = applyToAnchorList.value.map(item => ({\n userId: item.userId,\n userName: item.userName,\n applyToAnchorRequestId: item.applyToAnchorRequestId,\n }));\n let index = 0;\n while (index >= 0 && index < applyUserList.length) {\n const { userId, userName, applyToAnchorRequestId } = applyUserList[index];\n try {\n applyToAnchorRequestId && await roomEngine.instance?.responseRemoteRequest({\n requestId: applyToAnchorRequestId,\n agree: false,\n });\n roomStore.removeApplyToAnchorUser(userId);\n } catch (error) {\n logger.error(`拒绝 ${userName || userId} 上台申请失败,请重试!`);\n ElMessage({\n type: 'warning',\n message: t('Reject on Stage failed, please retry', { userName: userName || userId }),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n index += 1;\n }\n }\n\n TUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n });\n\n onBeforeUnmount(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n });\n\n // --------- 以下处理主持人主动操作 ----------\n\n // 邀请用户上台\n async function inviteUserOnStage(userInfo: UserInfo) {\n const { userId } = userInfo;\n const request = await roomEngine.instance?.takeUserOnSeatByAdmin({\n seatIndex: -1,\n userId,\n timeout: 0,\n requestCallback: (callbackInfo: { requestCallbackType: TUIRequestCallbackType, userId: string }) => {\n const { requestCallbackType, userId } = callbackInfo;\n const userName = roomStore.getUserName(userId);\n switch (requestCallbackType) {\n case TUIRequestCallbackType.kRequestAccepted:\n ElMessage({\n type: 'success',\n message: `${userName || userId} ${t('accepted the invitation to the stage')}`,\n duration: MESSAGE_DURATION.NORMAL,\n });\n roomStore.removeInviteToAnchorUser(userId);\n break;\n case TUIRequestCallbackType.kRequestRejected:\n ElMessage({\n type: 'warning',\n message: `${userName || userId} ${t('declined the invitation to the stage')}`,\n duration: MESSAGE_DURATION.NORMAL,\n });\n roomStore.removeInviteToAnchorUser(userId);\n break;\n case TUIRequestCallbackType.kRequestTimeout:\n break;\n default:\n break;\n }\n },\n });\n if (request && request.requestId) {\n roomStore.addInviteToAnchorUser({ userId, requestId: request.requestId });\n }\n }\n\n // 取消邀请用户上台\n function cancelInviteUserOnStage(userInfo: UserInfo) {\n const { userId, inviteToAnchorRequestId } = userInfo;\n roomStore.removeInviteToAnchorUser(userId);\n if (inviteToAnchorRequestId) {\n roomEngine.instance?.cancelRequest({ requestId: inviteToAnchorRequestId });\n }\n }\n\n // 邀请下台\n function kickUserOffStage(userInfo: UserInfo) {\n roomEngine.instance?.kickUserOffSeatByAdmin({\n seatIndex: -1,\n userId: userInfo.userId,\n });\n }\n\n return {\n // 处理用户上麦申请(同意/拒绝)\n handleUserApply,\n // 同意普通用户上台\n agreeUserOnStage,\n // 拒绝普通用户上台\n denyUserOnStage,\n // 拒绝所有申请上麦用户\n denyAllUserApply,\n // 邀请用户上台\n inviteUserOnStage,\n // 取消邀请用户上台\n cancelInviteUserOnStage,\n // 将用户踢下麦\n kickUserOffStage,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue';\nimport Avatar from '../../base/Avatar.vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport IconButton from '../../common/IconButton.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { useI18n } from '../../../locales';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MasterApplyControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { handleUserApply, denyAllUserApply } = useMasterApplyControl();\nconst { showApplyUserList } = storeToRefs(basicStore);\nconst { isMaster, applyToAnchorList } = storeToRefs(roomStore);\nconst masterApplyControlRef = ref>();\nconst masterApplyListRef = ref();\n\nconst hasApplyToAnchorUser = computed(() => applyToAnchorList.value.length > 0);\n\n\nfunction toggleApplySpeech() {\n if (isMaster.value) {\n basicStore.setShowApplyUserList(!showApplyUserList.value);\n }\n};\n\nfunction hideApplyList() {\n basicStore.setShowApplyUserList(false);\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showApplyUserList.value\n && !masterApplyControlRef.value?.$el.contains(event.target)\n && !masterApplyListRef.value?.contains(event.target)\n ) {\n basicStore.setShowApplyUserList(false);\n }\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,t, basicStore, roomStore, handleUserApply, denyAllUserApply, showApplyUserList, isMaster, applyToAnchorList, masterApplyControlRef, masterApplyListRef, hasApplyToAnchorUser, toggleApplySpeech, hideApplyList, handleDocumentClick, Avatar, ICON_NAME, IconButton, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MasterApplyControl.vue?vue&type=template&id=22abf286&\"\nimport script from \"./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MasterApplyControl.vue?vue&type=style&index=0&id=22abf286&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"apply-control-container\"},[_c(_setup.IconButton,{attrs:{\"title\":_setup.iconTitle,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleApplySpeech}}),(_setup.showMemberApplyAttention)?_c('div',{staticClass:\"attention member-attention\"},[_c('span',{staticClass:\"info\"},[_vm._v(_vm._s(_setup.t('Please raise your hand to apply')))]),_c(_setup.SvgIcon,{staticClass:\"close\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.hideApplyAttention}})],1):_vm._e()],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showInviteDialog,\"title\":_setup.t('The host invites you to speak on stage'),\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":function($event){return _setup.handleInvite(false)}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{staticClass:\"agree\",on:{\"click\":function($event){return _setup.handleInvite(true)}}},[_vm._v(_vm._s(_setup.t('Agree')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, watch, onBeforeUnmount } from 'vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport IconButton from '../../common/IconButton.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\nimport { storeToRefs } from 'pinia';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport logger from '../../../utils/common/logger';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequest, TUIRequestAction, TUIRequestCallbackType } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberApplyControl',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { lang } = storeToRefs(basicStore);\nconst { localUser } = storeToRefs(roomStore);\n\nconst isApplyingOnSeat: Ref = ref(false);\nconst showMemberApplyAttention: Ref = ref(true);\nconst iconName: Ref = ref('');\nconst iconTitle: Ref = ref('');\nconst showInviteDialog: Ref = ref(false);\n\nconst applyToAnchorRequestId: Ref = ref('');\nconst inviteToAnchorRequestId: Ref = ref('');\n\nwatch([localUser, isApplyingOnSeat, lang], ([localUser, isApplyingOnSeat]) => {\n if (localUser.onSeat) {\n iconName.value = ICON_NAME.GoOffSeat;\n iconTitle.value = t('Step down');\n } else {\n if (isApplyingOnSeat) {\n iconName.value = ICON_NAME.ApplyActive;\n iconTitle.value = t('Hand down');\n } else {\n iconName.value = ICON_NAME.ApplyOnSeat;\n iconTitle.value = t('Raise hand');\n }\n }\n}, { immediate: true, deep: true });\n\nasync function toggleApplySpeech() {\n hideApplyAttention();\n if (localUser.value.onSeat) {\n leaveSeat();\n } else {\n isApplyingOnSeat.value ? cancelSeatApplication() : sendSeatApplication();\n }\n};\n\n/**\n * Send a request to be on the mike\n *\n * 发送上麦申请\n**/\nasync function sendSeatApplication() {\n try {\n const request = await roomEngine.instance?.takeSeat({\n seatIndex: -1,\n timeout: 0,\n requestCallback: (callbackInfo: { requestCallbackType: TUIRequestCallbackType }) => {\n isApplyingOnSeat.value = false;\n const { requestCallbackType } = callbackInfo;\n switch (requestCallbackType) {\n case TUIRequestCallbackType.kRequestAccepted:\n ElMessage({\n type: 'success',\n message: t('The host has approved your application'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n break;\n case TUIRequestCallbackType.kRequestRejected:\n ElMessage({\n type: 'warning',\n message: t('The host has rejected your application for the stage'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n break;\n case TUIRequestCallbackType.kRequestTimeout:\n break;\n }\n },\n });\n if (request && request.requestId) {\n applyToAnchorRequestId.value = request.requestId;\n }\n isApplyingOnSeat.value = true;\n } catch (error) {\n logger.log('member sendSpeechApplication error', error);\n }\n}\n\n/**\n * Cancellation of on-mike application\n *\n * 处理点击【创建房间】\n**/\n// 取消上麦申请\nasync function cancelSeatApplication() {\n try {\n await roomEngine.instance?.cancelRequest({ requestId: applyToAnchorRequestId.value });\n isApplyingOnSeat.value = false;\n } catch (error) {\n logger.log('member cancelSpeechApplication', error);\n }\n}\n\n/**\n * User Down Mack\n *\n * 用户下麦\n**/\nasync function leaveSeat() {\n await roomEngine.instance?.leaveSeat();\n}\n\nfunction hideApplyAttention() {\n showMemberApplyAttention.value = false;\n}\n\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { request: { requestId, requestAction } } = eventInfo;\n // Received an invitation from the host to go on the microphone\n // 收到主持人邀请上麦\n if (requestAction === TUIRequestAction.kRequestRemoteUserOnSeat) {\n inviteToAnchorRequestId.value = requestId;\n showInviteDialog.value = true;\n }\n}\n\n/**\n * The host canceled the invitation to the microphone\n *\n * 主持人取消邀请上麦\n **/\nfunction onRequestCancelled(eventInfo: { requestId: string, userId: string }) {\n const { requestId } = eventInfo;\n if (inviteToAnchorRequestId.value === requestId) {\n inviteToAnchorRequestId.value = '';\n showInviteDialog.value = false;\n }\n}\n\n/**\n * User accepts/rejects the presenter's invitation\n *\n * 用户接受/拒绝主讲人的邀请\n**/\nasync function handleInvite(agree: boolean) {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: inviteToAnchorRequestId.value,\n agree,\n });\n showInviteDialog.value = false;\n if (agree) {\n hideApplyAttention();\n }\n}\n\n/**\n * Kicked off the seat by the host\n * 被主持人踢下麦\n */\nasync function onKickedOffSeat() {\n // 被主持人踢下麦\n ElMessage({\n type: 'warning',\n message: t('You have been invited by the host to step down, please raise your hand if you need to speak'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOffSeat, onKickedOffSeat);\n});\n\nonBeforeUnmount(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOffSeat, onKickedOffSeat);\n});\n\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, lang, localUser, isApplyingOnSeat, showMemberApplyAttention, iconName, iconTitle, showInviteDialog, applyToAnchorRequestId, inviteToAnchorRequestId, toggleApplySpeech, sendSeatApplication, cancelSeatApplication, leaveSeat, hideApplyAttention, onRequestReceived, onRequestCancelled, handleInvite, onKickedOffSeat, IconButton, SvgIcon, Dialog, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberApplyControl.vue?vue&type=template&id=2562f654&\"\nimport script from \"./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberApplyControl.vue?vue&type=style&index=0&id=2562f654&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport MasterApplyControl from './MasterApplyControl.vue';\nimport MemberApplyControl from './MemberApplyControl.vue';\nimport { useRoomStore } from '../../../stores/room';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Index',\n setup(__props) {\n\nconst roomStore = useRoomStore();\n\n\nreturn { __sfc: true,roomStore, MasterApplyControl, MemberApplyControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=e9c8db8c&\"\nimport script from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('More'),\"icon-name\":_setup.ICON_NAME.More},on:{\"click-icon\":_setup.showMore}})],1),(_setup.showMoreContent)?_c('div',{ref:\"moreContentRef\",staticClass:\"show-more-content\"},[_c('div',{staticClass:\"control-compent\"},[(_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ChatControl,{on:{\"click\":function($event){return _setup.handleControlClick('chatControl')}}}):_vm._e(),_c(_setup.ContactControl,{on:{\"click\":function($event){return _setup.handleControlClick('contactControl')}}}),_c(_setup.InviteControl,{on:{\"click\":function($event){return _setup.handleControlClick('inviteControl')}}})],1),_c('div',{staticClass:\"close\",on:{\"click\":function($event){_setup.showMoreContent=false}}},[_c('i',[_vm._v(_vm._s(_setup.t('Cancel')))])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../../locales';\nimport { ICON_NAME } from '../../../constants/icon';\n\nexport default function useControl() {\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const { sidebarName } = storeToRefs(basicStore);\n\n const iconName = computed(() => (sidebarName.value === 'more' ? ICON_NAME.MoreActive : ICON_NAME.More));\n\n return {\n t,\n basicStore,\n iconName,\n sidebarName,\n };\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'invite',\"title\":_setup.t('Invite'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleInviteSidebar}}),(_setup.isShowInviteTab)?_c('div',{staticClass:\"invite-container\"},[_c(_setup.roomInvite,{ref:\"inviteRef\",on:{\"on-close-invite\":_setup.handleCloseInvite}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-container-main\"},[_c('div',{staticClass:\"invite-title-main\"},[_c('p',[_vm._v(_vm._s(_setup.t('Invite')))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleCloseInvite),expression:\"handleCloseInvite\"}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.visibleInviteContentList),function(item){return _c('div',{key:item.id,staticClass:\"invite-content-main\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t(item.title)))]),_c('span',{staticClass:\"invite-content\"},[_vm._v(_vm._s(item.content))]),_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.onCopy(item.copyLink)),expression:\"() => onCopy(item.copyLink)\"}],staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"}})],1)}),_c('span',{staticClass:\"invite-bottom\"},[_vm._v(\" \"+_vm._s(_setup.t('You can share the room number or link to invite more people to join the room.'))+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed, reactive } from 'vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { ElMessage } from '../../elementComp';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../locales';\nimport { isElectronEnv, clipBoard } from '../../utils/utils';\n\nexport default function useRoomInvite() {\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const { roomId, shareLink, isRoomLinkVisible } = storeToRefs(basicStore);\n\n const { origin, pathname } = location || {};\n const isElectron = isElectronEnv();\n\n const inviteLink = computed(() => {\n if (shareLink.value) {\n const urlConcatenation = shareLink.value.indexOf('?') !== -1 ? '&' : '?';\n return `${shareLink.value}${urlConcatenation}roomId=${roomId.value}`;\n }\n return `${origin}${pathname}#/home?roomId=${roomId.value}`;\n });\n const schemeLink = computed(() => `tuiroom://joinroom?roomId=${roomId.value}`);\n\n async function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n }\n\n const inviteContentList = [\n { id: 1, title: 'Room ID', content: roomId, copyLink: roomId, visible: true },\n { id: 2, title: 'Room Link', content: inviteLink, copyLink: inviteLink, visible: isRoomLinkVisible.value },\n { id: 3, title: 'scheme', content: schemeLink, copyLink: schemeLink, visible: true },\n ];\n const visibleInviteContentList = reactive(inviteContentList.filter(item => item.visible));\n\n return {\n t,\n isRoomLinkVisible,\n roomId,\n origin,\n pathname,\n isElectron,\n inviteLink,\n schemeLink,\n onCopy,\n visibleInviteContentList,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport useRoomInviteControl from './useRoomInviteHooks';\nimport { isWeChat } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n emits: ['on-close-invite'],\n setup(__props, { emit }) {\n\nconst {\n t,\n onCopy,\n visibleInviteContentList,\n} = useRoomInviteControl();\n\n\n\n\nfunction handleCloseInvite() {\n emit('on-close-invite');\n}\n\n\nreturn { __sfc: true,t, onCopy, visibleInviteContentList, emit, handleCloseInvite, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=eb2b478c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=eb2b478c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eb2b478c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-container\"},[_c('div',{staticClass:\"invite-notice\"},[_vm._v(_vm._s(_setup.t('Share the room ID or invite link')))]),_c('div',{staticClass:\"invite-content\"},[_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite by room number')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.roomId}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.roomId)}}})],1)]),(_setup.isRoomLinkVisible)?_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite via room link')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.inviteLink}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.inviteLink)}}})],1)]):_vm._e(),_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite via client scheme')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.schemeLink}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.schemeLink)}}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useRoomInviteControl from './useRoomInviteHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst {\n t,\n isRoomLinkVisible,\n roomId,\n inviteLink,\n schemeLink,\n onCopy,\n} = useRoomInviteControl();\n\n\nreturn { __sfc: true,t, isRoomLinkVisible, roomId, inviteLink, schemeLink, onCopy, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=76a9ae2d&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=76a9ae2d&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76a9ae2d\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPC;\n\nexport default Index;\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport roomInvite from '../RoomInvite';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'InviteControl',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst { t } = useI18n();\nconst isShowInviteTab = ref(false);\nconst inviteRef = ref();\n\nconst iconName = computed(() => (\n isMobile ? ICON_NAME.Invite : (sidebarName.value === 'invite' ? ICON_NAME.InviteActive : ICON_NAME.Invite)\n));\n\nfunction toggleInviteSidebar() {\n if (isMobile) {\n isShowInviteTab.value = true;\n if (basicStore.sidebarName === 'invite') {\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarName('invite');\n } else {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'invite') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('invite');\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowInviteTab.value && inviteRef.value && !inviteRef.value.$el.contains(event.target)) {\n isShowInviteTab.value = false;\n }\n}\n\nfunction handleCloseInvite() {\n isShowInviteTab.value = false;\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,basicStore, sidebarName, t, isShowInviteTab, inviteRef, iconName, toggleInviteSidebar, handleDocumentClick, handleCloseInvite, IconButton, roomInvite }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./InviteControl.vue?vue&type=template&id=78681d3c&scoped=true&\"\nimport script from \"./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./InviteControl.vue?vue&type=style&index=0&id=78681d3c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78681d3c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('Contact us'),\"icon-name\":\"contact-us-h5\"},on:{\"click-icon\":_setup.toggleContactSidebar}}),(_setup.isShowContactTab)?_c('div',{staticClass:\"contact-container\"},[_c(_setup.roomContact,{ref:\"contactRef\",on:{\"on-close-contact\":_setup.handleOnCloseContact}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"contact-container-main\"},[_c('div',{staticClass:\"contact-title-main\"},[_c('p',[_vm._v(_vm._s(_setup.t('Contact us')))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleCloseContact),expression:\"handleCloseContact\"}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.contactContentList),function(item){return _c('div',{key:item.id,staticClass:\"contact-content-main\"},[_c('span',{staticClass:\"contact-title\"},[_vm._v(_vm._s(_setup.t(item.title)))]),_c('span',{staticClass:\"contact-content\"},[_vm._v(_vm._s(item.content))]),_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.onCopy(item.copyLink)),expression:\"() => onCopy(item.copyLink)\"}],staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"}})],1)}),_c('span',{staticClass:\"contact-bottom\"},[_vm._v(\" \"+_vm._s(_setup.t('If you have any questions, please feel free to join our QQ group or send an email'))+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ElMessage } from '../../elementComp';\nimport { useI18n } from '../../locales';\nimport { clipBoard } from '../../utils/utils';\n\nexport default function useRoomMoreHooks() {\n const { t } = useI18n();\n\n const groupNumber = '592465424';\n const email = 'matthewwu@tencent.com';\n\n async function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n }\n return {\n t,\n groupNumber,\n email,\n onCopy,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { reactive } from 'vue';\nimport useRoomMoreControl from './useRoomMoreHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { isWeChat } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n emits: ['on-close-contact'],\n setup(__props, { emit }) {\n\nconst {\n t,\n groupNumber,\n email,\n onCopy,\n} = useRoomMoreControl();\n\n\n\nconst contactContentList = reactive([\n { id: 1, title: 'group chat', content: groupNumber, copyLink: groupNumber },\n { id: 2, title: 'Email', content: email, copyLink: email },\n]);\n\nfunction handleCloseContact() {\n emit('on-close-contact');\n}\n\nreturn { __sfc: true,t, groupNumber, email, onCopy, emit, contactContentList, handleCloseContact, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=76fbca8c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=76fbca8c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76fbca8c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-container\"},[_c('div',{staticClass:\"more-notice\"},[_vm._v(_vm._s(_setup.t('Join our QQ group chat or email us.')))]),_c('div',{staticClass:\"more-content\"},[_c('div',{staticClass:\"more-item\"},[_c('span',{staticClass:\"more-title\"},[_vm._v(_vm._s(_setup.t('group chat')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.groupNumber}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.groupNumber)}}})],1)]),_c('div',{staticClass:\"more-item\"},[_c('span',{staticClass:\"more-title\"},[_vm._v(_vm._s(_setup.t('Email')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.email}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.email)}}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useRoomMoreControl from './useRoomMoreHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst {\n t,\n groupNumber,\n email,\n onCopy,\n} = useRoomMoreControl();\n\nreturn { __sfc: true,t, groupNumber, email, onCopy, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=4d3067ac&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=4d3067ac&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d3067ac\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPC;\n\nexport default Index;\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport roomContact from '../RoomMore';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ContactControl',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst { t } = useI18n();\nconst isShowContactTab = ref(false);\nconst contactRef = ref();\n\nfunction toggleContactSidebar() {\n if (!isMobile) {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'more') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('more');\n } else {\n isShowContactTab.value = true;\n if (basicStore.sidebarName === 'more') {\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarName('more');\n }\n}\n\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowContactTab.value && contactRef.value && !contactRef.value.$el.contains(event.target)) {\n isShowContactTab.value = false;\n }\n}\n\nfunction handleOnCloseContact() {\n isShowContactTab.value = false;\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,basicStore, sidebarName, t, isShowContactTab, contactRef, toggleContactSidebar, handleDocumentClick, handleOnCloseContact, IconButton, roomContact }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ContactControl.vue?vue&type=template&id=251c1f14&scoped=true&\"\nimport script from \"./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ContactControl.vue?vue&type=style&index=0&id=251c1f14&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"251c1f14\",\n null\n \n)\n\nexport default component.exports","export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler = (event: T) => void;\nexport type WildcardHandler> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList = Array>;\nexport type WildCardEventHandlerList> = Array>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList | WildCardEventHandlerList\n>;\n\nexport interface Emitter> {\n\tall: EventHandlerMap;\n\n\ton(type: Key, handler: Handler): void;\n\ton(type: '*', handler: WildcardHandler): void;\n\n\toff(type: Key, handler?: Handler): void;\n\toff(type: '*', handler: WildcardHandler): void;\n\n\temit(type: Key, event: Events[Key]): void;\n\temit(type: undefined extends Events[Key] ? Key : never): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt>(\n\tall?: EventHandlerMap\n): Emitter {\n\ttype GenericEventHandler =\n\t\t| Handler\n\t\t| WildcardHandler;\n\tall = all || new Map();\n\n\treturn {\n\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from, or `'*'`\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n","// 事件总线第三方库\nimport mitt from 'mitt';\nconst bus = mitt();\nexport default bus;\n","import { defineComponent as _defineComponent } from 'vue'\nimport IconButton from '../../common/IconButton.vue';\nimport userMoreControl from './useMoreControlHooks';\nimport ChatControl from '../ChatControl.vue';\nimport InviteControl from '../InviteControl.vue';\nimport ContactControl from '../ContactControl.vue';\nimport { useRoomStore } from '../../../stores/room';\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport bus from '../../../hooks/useMitt';\nimport TUIRoomAegis from '../../../utils/aegis';\nimport { ICON_NAME } from '../../../constants/icon';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MoreControlH5',\n setup(__props) {\n\nconst showMoreContent = ref(false);\nconst moreContentRef = ref();\n\nconst {\n t,\n sidebarName,\n} = userMoreControl();\nconst roomStore = useRoomStore();\n\nfunction showMore() {\n showMoreContent.value = true;\n}\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {\n showMoreContent.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,showMoreContent, moreContentRef, t, sidebarName, roomStore, showMore, handleControlClick, handleDocumentClick, IconButton, ChatControl, InviteControl, ContactControl, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MoreControlH5.vue?vue&type=template&id=7814bc4f&scoped=true&\"\nimport script from \"./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MoreControlH5.vue?vue&type=style&index=0&id=7814bc4f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7814bc4f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('More'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleMoreSidebar}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport IconButton from '../../common/IconButton.vue';\nimport userMoreControl from './useMoreControlHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MoreControlPC',\n setup(__props) {\n\nconst {\n t,\n iconName,\n basicStore,\n sidebarName,\n} = userMoreControl();\n\nfunction toggleMoreSidebar() {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'more') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('more');\n}\n\nreturn { __sfc: true,t, iconName, basicStore, sidebarName, toggleMoreSidebar, IconButton }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MoreControlPC.vue?vue&type=template&id=8fb09940&scoped=true&\"\nimport script from \"./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8fb09940\",\n null\n \n)\n\nexport default component.exports","import MoreControlH5 from './MoreControlH5.vue';\nimport MoreControlPc from './MoreControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst MoreControl = isMobile ? MoreControlH5 : MoreControlPc;\n\nexport default MoreControl;\n","import { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\n\n\nexport default function useRoomFooter() {\n const roomStore = useRoomStore();\n const { t } = useI18n();\n\n return {\n t,\n roomStore }\n ;\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport AudioControl from '../AudioControl.vue';\nimport VideoControl from '../VideoControl.vue';\nimport ManageMemberControl from '../ManageMemberControl.vue';\nimport ChatControl from '../ChatControl.vue';\nimport ApplyControl from '../ApplyControl/Index.vue';\nimport MoreControl from '../MoreControl';\nimport bus from '../../../hooks/useMitt';\nimport '../../../directives/vTap';\n\nimport TUIRoomAegis from '../../../utils/aegis';\n\nimport useRoomFooter from './useRoomFooterHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\nconst {\n roomStore,\n} = useRoomFooter();\n\n\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nreturn { __sfc: true,roomStore, handleControlClick, AudioControl, VideoControl, ManageMemberControl, ChatControl, ApplyControl, MoreControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=6f1ee0d6&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=6f1ee0d6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f1ee0d6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.AudioControl,{staticClass:\"left-container-item\",on:{\"click\":function($event){return _setup.handleControlClick('audioControl')}}}),_c(_setup.VideoControl,{staticClass:\"left-container-item\",on:{\"click\":function($event){return _setup.handleControlClick('videoControl')}}})],1),_c('div',{staticClass:\"center-container\"},[_c(_setup.ScreenShareControl,{on:{\"click\":function($event){return _setup.handleControlClick('screenShareControl')}}}),_c(_setup.FullScreenControl,{on:{\"click\":function($event){return _setup.handleControlClick('fullScreenControl')}}}),(_setup.roomStore.isMaster)?_c(_setup.ManageMemberControl,{on:{\"click\":function($event){return _setup.handleControlClick('manageMemberControl')}}}):_vm._e(),_c(_setup.InviteControl,{on:{\"click\":function($event){return _setup.handleControlClick('inviteControl')}}}),_c(_setup.ChatControl,{on:{\"click\":function($event){return _setup.handleControlClick('chatControl')}}}),(_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ApplyControl,{on:{\"click\":function($event){return _setup.handleControlClick('applyControl')}}}):_vm._e(),_c(_setup.MoreControl,{on:{\"click\":function($event){return _setup.handleControlClick('moreControl')}}}),_c(_setup.SettingControl,{on:{\"click\":function($event){return _setup.handleControlClick('settingControl')}}})],1),_c('div',{staticClass:\"right-container\"},[_c(_setup.EndControl,{on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"screen-share-control-container\"},[_c(_setup.IconButton,{ref:\"btnStopRef\",attrs:{\"is-active\":_setup.isSharing,\"disabled\":_setup.screenShareDisabled,\"title\":_setup.title,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleScreenShare}}),(_setup.showStopShareRegion)?_c('div',{staticClass:\"stop-share-region\",on:{\"click\":_setup.openStopConfirmDialog}},[_c(_setup.SvgIcon,{staticClass:\"stop-share-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.ScreenShareStopped}}),_c('span',[_vm._v(_vm._s(_setup.t('End sharing')))])],1):_vm._e(),_c(_setup.Dialog,{attrs:{\"model-value\":_setup.dialogVisible,\"width\":\"420px\",\"title\":_setup.t('Stop sharing?'),\"modal\":true,\"append-to-body\":false,\"before-close\":_setup.cancelStop},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('span',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.stopScreenShare}},[_vm._v(_vm._s(_setup.t('Stop sharing')))]),_c('el-button',{attrs:{\"type\":\"default\"},on:{\"click\":_setup.cancelStop}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1)]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('Others will no longer see your screen after you stop sharing. Are you sure you want to stop?')))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, computed, onUnmounted, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport IconButton from '../../common/IconButton.vue';\nimport TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../../stores/room';\nimport logger from '../../../utils/common/logger';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { useI18n } from '../../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Index',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[ScreenShareControl]';\n\nconst roomStore = useRoomStore();\nconst { isAnchor, isAudience, hasOtherScreenShare } = storeToRefs(roomStore);\nconst { t } = useI18n();\n\nconst btnStopRef = ref();\nconst isSharing: Ref = ref(false);\nconst showStopShareRegion: Ref = ref(false);\nconst dialogVisible: Ref = ref(false);\n\n// 麦下用户不能进行屏幕分享\nconst screenShareDisabled = computed(() => isAudience.value);\nconst title = computed(() => (isSharing.value ? t('Sharing') : t('Share screen')));\nconst iconName = computed(() => {\n if (screenShareDisabled.value) {\n return ICON_NAME.ScreenShareDisabled;\n }\n return isSharing.value ? ICON_NAME.ScreenSharing : ICON_NAME.ScreenShare;\n});\n\nwatch(isAnchor, (val: any, oldVal: any) => {\n if (!oldVal && val && isSharing.value) {\n stopScreenShare();\n }\n});\n\nasync function toggleScreenShare() {\n if (isAudience.value) {\n ElMessage({\n type: 'warning',\n message: t('You currently do not have sharing permission, please raise your hand to apply for sharing permission first'),\n duration: MESSAGE_DURATION.LONG,\n });\n return;\n }\n if (hasOtherScreenShare.value) {\n ElMessage({\n type: 'warning',\n message: t('Another user is currently sharing the screen, screen sharing is not possible.'),\n duration: MESSAGE_DURATION.LONG,\n });\n return;\n }\n if (isSharing.value) {\n showStopShareRegion.value = true;\n return;\n }\n try {\n await roomEngine.instance?.startScreenSharing();\n isSharing.value = true;\n } catch (error: any) {\n logger.error(`${logPrefix}startScreenShare error:`, error.name, error.message, error.code);\n let message = '';\n // 当屏幕分享流初始化失败时, 提醒用户并停止后续进房发布流程\n switch (error.name) {\n case 'NotReadableError':\n // 提醒用户确保系统允许当前浏览器获取屏幕内容\n message = '系统禁止当前浏览器获取屏幕内容';\n break;\n case 'NotAllowedError':\n if (error.message.includes('Permission denied by system')) {\n // 提醒用户确保系统允许当前浏览器获取屏幕内容\n message = '系统禁止当前浏览器获取屏幕内容';\n } else {\n // 用户拒绝/取消屏幕分享\n message = '用户拒绝/取消屏幕分享';\n }\n break;\n default:\n // 初始化屏幕分享流时遇到了未知错误,提醒用户重试\n message = '屏幕分享遇到未知错误';\n break;\n }\n ElMessage({\n type: 'warning',\n message,\n duration: MESSAGE_DURATION.LONG,\n });\n }\n}\n\nfunction openStopConfirmDialog() {\n showStopShareRegion.value = false;\n if (isSharing.value) {\n dialogVisible.value = true;\n }\n}\n\nfunction cancelStop() {\n dialogVisible.value = false;\n}\n\nasync function stopScreenShare() {\n if (isSharing.value) {\n try {\n await roomEngine.instance?.stopScreenSharing();\n dialogVisible.value = false;\n isSharing.value = false;\n } catch (error) {\n logger.error(`${logPrefix}stopScreenShare error:`, error);\n }\n }\n}\n\n/** 用户点击浏览器自带的 \"停止共享\" 按钮*/\nfunction screenCaptureStopped() {\n isSharing.value = false;\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onUserScreenCaptureStopped, screenCaptureStopped);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onUserScreenCaptureStopped, screenCaptureStopped);\n});\n\nreturn { __sfc: true,roomEngine, logPrefix, roomStore, isAnchor, isAudience, hasOtherScreenShare, t, btnStopRef, isSharing, showStopShareRegion, dialogVisible, screenShareDisabled, title, iconName, toggleScreenShare, openStopConfirmDialog, cancelStop, stopScreenShare, screenCaptureStopped, Dialog, IconButton, SvgIcon, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=5d38a258&scoped=true&\"\nimport script from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=5d38a258&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d38a258\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"fullscreen-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.isFullScreen,\"title\":_setup.title,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleScreen}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { setFullScreen, exitFullScreen } from '../../utils/utils';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isVue27 } from '../../utils/constants';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'FullScreenControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\n/**\n * Whether the current state is full screen, default is false\n *\n * 当前是否为全屏状态, 默认为 false\n**/\nconst isFullScreen = ref(false);\n\nconst title = computed((): string => (isFullScreen.value ? t('Exit') : t('Full screen')));\nconst iconName = computed((): string => (isFullScreen.value ? ICON_NAME.ExitFullScreen : ICON_NAME.FullScreen));\n\nfunction toggleScreen() {\n if (isFullScreen.value) {\n exitFullScreen();\n } else {\n if (isVue27) {\n const roomContainer = document.body;\n roomContainer && setFullScreen(roomContainer);\n } else {\n const roomContainer = document.getElementById('roomContainer');\n roomContainer && setFullScreen(roomContainer);\n }\n }\n}\n\nfunction handleFullScreenChange() {\n isFullScreen.value = !isFullScreen.value;\n}\n\nonMounted(() => {\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange'].forEach((item) => {\n window.addEventListener(item, handleFullScreenChange);\n });\n});\n\nonUnmounted(() => {\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange'].forEach((item) => {\n window.removeEventListener(item, handleFullScreenChange);\n });\n});\n\nreturn { __sfc: true,t, isFullScreen, title, iconName, toggleScreen, handleFullScreenChange, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./FullScreenControl.vue?vue&type=template&id=2ebc7fcf&scoped=true&\"\nimport script from \"./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ebc7fcf\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"setting-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.showSettingDialog,\"title\":_setup.t('Settings'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.handleShowSettingDialog}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SettingControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { showSettingDialog } = storeToRefs(basicStore);\n\nconst iconName = computed(() => (showSettingDialog.value ? ICON_NAME.SettingActive : ICON_NAME.Setting));\n\nfunction handleShowSettingDialog() {\n basicStore.setShowSettingDialog(!basicStore.showSettingDialog);\n}\n\nreturn { __sfc: true,t, basicStore, showSettingDialog, iconName, handleShowSettingDialog, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SettingControl.vue?vue&type=template&id=2c9e5284&scoped=true&\"\nimport script from \"./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SettingControl.vue?vue&type=style&index=0&id=2c9e5284&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c9e5284\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport AudioControl from '../AudioControl.vue';\nimport ScreenShareControl from '../ScreenShareControl/Index.vue';\nimport FullScreenControl from '../FullScreenControl.vue';\nimport InviteControl from '../InviteControl.vue';\nimport VideoControl from '../VideoControl.vue';\nimport ManageMemberControl from '../ManageMemberControl.vue';\nimport ChatControl from '../ChatControl.vue';\nimport ApplyControl from '../ApplyControl/Index.vue';\nimport MoreControl from '../MoreControl';\nimport EndControl from '../EndControl';\nimport SettingControl from '../SettingControl.vue';\nimport bus from '../../../hooks/useMitt';\n\n\nimport TUIRoomAegis from '../../../utils/aegis';\n\nimport useRoomFooter from './useRoomFooterHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n emits: ['on-destroy-room', 'on-exit-room'],\n setup(__props, { emit }) {\n\nconst {\n roomStore,\n} = useRoomFooter();\n\n\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n emit('on-destroy-room', info);\n TUIRoomAegis.reportEvent({ name: 'destroyRoom', ext1: 'destroyRoom-success' });\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n emit('on-exit-room', info);\n TUIRoomAegis.reportEvent({ name: 'exitRoom', ext1: 'exitRoom-success' });\n};\n\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nreturn { __sfc: true,roomStore, emit, onDestroyRoom, onExitRoom, handleControlClick, AudioControl, ScreenShareControl, FullScreenControl, InviteControl, VideoControl, ManageMemberControl, ChatControl, ApplyControl, MoreControl, EndControl, SettingControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=fcf4ace8&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=fcf4ace8&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fcf4ace8\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPc from './indexPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPc;\n\nexport default Index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSideBar)?_c(_setup.popup,{staticClass:\"sidebar-container-mobile\",attrs:{\"title\":_setup.title},scopedSlots:_vm._u([{key:\"sidebarContent\",fn:function(){return [_c('div',{staticStyle:{\"height\":\"100%\"}},[(_setup.sidebarName === 'chat')?_c(_setup.Chat):_vm._e(),(_setup.sidebarName === 'manage-member')?_c(_setup.ManageMember):_vm._e()],1)]},proxy:true},{key:\"sidebarFooter\",fn:function(){return [_c('div',[(_setup.sidebarName === 'chat')?_c(_setup.ChatEditor):_vm._e()],1)]},proxy:true}],null,false,403798847)}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:[_setup.isMobile ? 'chat-container-h5' : 'chat-container' ]},[_c(_setup.MessageList),(!_setup.isMobile)?_c(_setup.ChatEditor):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_setup.isMobile ? 'message-list-container-h5':'message-list-container'},[_c('div',{staticClass:\"message-list\"},_vm._l((_setup.messageList),function(item){return _c('div',{key:item.ID,ref:\"messageAimId\",refInFor:true,class:['message-item', `${'out' === item.flow ? 'is-me' : ''}`]},[_c('div',{staticClass:\"message-header\",attrs:{\"title\":item.nick || item.from}},[_vm._v(\" \"+_vm._s(item.nick || item.from)+\" \")]),_c('div',{staticClass:\"message-body\"},[(item.type === 'TIMTextElem')?_c(_setup.MessageText,{attrs:{\"data\":item.payload.text}}):_vm._e()],1)])}),0),_c('div',{ref:\"messageBottomEl\",staticClass:\"message-bottom\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',_vm._l((_setup.handleTextMessageShowContext(_setup.props.data)),function(item,index){return _c('span',{key:index},[(item.name === 'text')?_c('span',{staticClass:\"text-box\"},[_vm._v(_vm._s(item.text))]):(item.name === 'img')?_c('img',{staticClass:\"text-img\",attrs:{\"src\":item.src}}):_vm._e()])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const emojiUrl:string = 'https://web.sdk.qcloud.com/im/assets/emoji/';\nexport const emojiMap:any = {\n '[NO]': 'emoji_0@2x.png',\n '[OK]': 'emoji_1@2x.png',\n '[下雨]': 'emoji_2@2x.png',\n '[么么哒]': 'emoji_3@2x.png',\n '[乒乓]': 'emoji_4@2x.png',\n '[便便]': 'emoji_5@2x.png',\n '[信封]': 'emoji_6@2x.png',\n '[偷笑]': 'emoji_7@2x.png',\n '[傲慢]': 'emoji_8@2x.png',\n '[再见]': 'emoji_9@2x.png',\n '[冷汗]': 'emoji_10@2x.png',\n '[凋谢]': 'emoji_11@2x.png',\n '[刀]': 'emoji_12@2x.png',\n '[删除]': 'emoji_13@2x.png',\n '[勾引]': 'emoji_14@2x.png',\n '[发呆]': 'emoji_15@2x.png',\n '[发抖]': 'emoji_16@2x.png',\n '[可怜]': 'emoji_17@2x.png',\n '[可爱]': 'emoji_18@2x.png',\n '[右哼哼]': 'emoji_19@2x.png',\n '[右太极]': 'emoji_20@2x.png',\n '[右车头]': 'emoji_21@2x.png',\n '[吐]': 'emoji_22@2x.png',\n '[吓]': 'emoji_23@2x.png',\n '[咒骂]': 'emoji_24@2x.png',\n '[咖啡]': 'emoji_25@2x.png',\n '[啤酒]': 'emoji_26@2x.png',\n '[嘘]': 'emoji_27@2x.png',\n '[回头]': 'emoji_28@2x.png',\n '[困]': 'emoji_29@2x.png',\n '[坏笑]': 'emoji_30@2x.png',\n '[多云]': 'emoji_31@2x.png',\n '[大兵]': 'emoji_32@2x.png',\n '[大哭]': 'emoji_33@2x.png',\n '[太阳]': 'emoji_34@2x.png',\n '[奋斗]': 'emoji_35@2x.png',\n '[奶瓶]': 'emoji_36@2x.png',\n '[委屈]': 'emoji_37@2x.png',\n '[害羞]': 'emoji_38@2x.png',\n '[尴尬]': 'emoji_39@2x.png',\n '[左哼哼]': 'emoji_40@2x.png',\n '[左太极]': 'emoji_41@2x.png',\n '[左车头]': 'emoji_42@2x.png',\n '[差劲]': 'emoji_43@2x.png',\n '[弱]': 'emoji_44@2x.png',\n '[强]': 'emoji_45@2x.png',\n '[彩带]': 'emoji_46@2x.png',\n '[彩球]': 'emoji_47@2x.png',\n '[得意]': 'emoji_48@2x.png',\n '[微笑]': 'emoji_49@2x.png',\n '[心碎了]': 'emoji_50@2x.png',\n '[快哭了]': 'emoji_51@2x.png',\n '[怄火]': 'emoji_52@2x.png',\n '[怒]': 'emoji_53@2x.png',\n '[惊恐]': 'emoji_54@2x.png',\n '[惊讶]': 'emoji_55@2x.png',\n '[憨笑]': 'emoji_56@2x.png',\n '[手枪]': 'emoji_57@2x.png',\n '[打哈欠]': 'emoji_58@2x.png',\n '[抓狂]': 'emoji_59@2x.png',\n '[折磨]': 'emoji_60@2x.png',\n '[抠鼻]': 'emoji_61@2x.png',\n '[抱抱]': 'emoji_62@2x.png',\n '[抱拳]': 'emoji_63@2x.png',\n '[拳头]': 'emoji_64@2x.png',\n '[挥手]': 'emoji_65@2x.png',\n '[握手]': 'emoji_66@2x.png',\n '[撇嘴]': 'emoji_67@2x.png',\n '[擦汗]': 'emoji_68@2x.png',\n '[敲打]': 'emoji_69@2x.png',\n '[晕]': 'emoji_70@2x.png',\n '[月亮]': 'emoji_71@2x.png',\n '[棒棒糖]': 'emoji_72@2x.png',\n '[汽车]': 'emoji_73@2x.png',\n '[沙发]': 'emoji_74@2x.png',\n '[流汗]': 'emoji_75@2x.png',\n '[流泪]': 'emoji_76@2x.png',\n '[激动]': 'emoji_77@2x.png',\n '[灯泡]': 'emoji_78@2x.png',\n '[炸弹]': 'emoji_79@2x.png',\n '[熊猫]': 'emoji_80@2x.png',\n '[爆筋]': 'emoji_81@2x.png',\n '[爱你]': 'emoji_82@2x.png',\n '[爱心]': 'emoji_83@2x.png',\n '[爱情]': 'emoji_84@2x.png',\n '[猪头]': 'emoji_85@2x.png',\n '[猫咪]': 'emoji_86@2x.png',\n '[献吻]': 'emoji_87@2x.png',\n '[玫瑰]': 'emoji_88@2x.png',\n '[瓢虫]': 'emoji_89@2x.png',\n '[疑问]': 'emoji_90@2x.png',\n '[白眼]': 'emoji_91@2x.png',\n '[皮球]': 'emoji_92@2x.png',\n '[睡觉]': 'emoji_93@2x.png',\n '[磕头]': 'emoji_94@2x.png',\n '[示爱]': 'emoji_95@2x.png',\n '[礼品袋]': 'emoji_96@2x.png',\n '[礼物]': 'emoji_97@2x.png',\n '[篮球]': 'emoji_98@2x.png',\n '[米饭]': 'emoji_99@2x.png',\n '[糗大了]': 'emoji_100@2x.png',\n '[红双喜]': 'emoji_101@2x.png',\n '[红灯笼]': 'emoji_102@2x.png',\n '[纸巾]': 'emoji_103@2x.png',\n '[胜利]': 'emoji_104@2x.png',\n '[色]': 'emoji_105@2x.png',\n '[药]': 'emoji_106@2x.png',\n '[菜刀]': 'emoji_107@2x.png',\n '[蛋糕]': 'emoji_108@2x.png',\n '[蜡烛]': 'emoji_109@2x.png',\n '[街舞]': 'emoji_110@2x.png',\n '[衰]': 'emoji_111@2x.png',\n '[西瓜]': 'emoji_112@2x.png',\n '[调皮]': 'emoji_113@2x.png',\n '[象棋]': 'emoji_114@2x.png',\n '[跳绳]': 'emoji_115@2x.png',\n '[跳跳]': 'emoji_116@2x.png',\n '[车厢]': 'emoji_117@2x.png',\n '[转圈]': 'emoji_118@2x.png',\n '[鄙视]': 'emoji_119@2x.png',\n '[酷]': 'emoji_120@2x.png',\n '[钞票]': 'emoji_121@2x.png',\n '[钻戒]': 'emoji_122@2x.png',\n '[闪电]': 'emoji_123@2x.png',\n '[闭嘴]': 'emoji_124@2x.png',\n '[闹钟]': 'emoji_125@2x.png',\n '[阴险]': 'emoji_126@2x.png',\n '[难过]': 'emoji_127@2x.png',\n '[雨伞]': 'emoji_128@2x.png',\n '[青蛙]': 'emoji_129@2x.png',\n '[面条]': 'emoji_130@2x.png',\n '[鞭炮]': 'emoji_131@2x.png',\n '[风车]': 'emoji_132@2x.png',\n '[飞吻]': 'emoji_133@2x.png',\n '[飞机]': 'emoji_134@2x.png',\n '[饥饿]': 'emoji_135@2x.png',\n '[香蕉]': 'emoji_136@2x.png',\n '[骷髅]': 'emoji_137@2x.png',\n '[麦克风]': 'emoji_138@2x.png',\n '[麻将]': 'emoji_139@2x.png',\n '[鼓掌]': 'emoji_140@2x.png',\n '[龇牙]': 'emoji_141@2x.png',\n};\nexport const emojiList = [\n '[龇牙]',\n '[调皮]',\n '[流汗]',\n '[偷笑]',\n '[再见]',\n '[敲打]',\n '[擦汗]',\n '[猪头]',\n '[玫瑰]',\n '[流泪]',\n '[大哭]',\n '[嘘]',\n '[酷]',\n '[抓狂]',\n '[委屈]',\n '[便便]',\n '[炸弹]',\n '[菜刀]',\n '[可爱]',\n '[色]',\n '[害羞]',\n '[得意]',\n '[吐]',\n '[微笑]',\n '[怒]',\n '[尴尬]',\n '[惊恐]',\n '[冷汗]',\n '[爱心]',\n '[示爱]',\n '[白眼]',\n '[傲慢]',\n '[难过]',\n '[惊讶]',\n '[疑问]',\n '[困]',\n '[么么哒]',\n '[憨笑]',\n '[爱情]',\n '[衰]',\n '[撇嘴]',\n '[阴险]',\n '[奋斗]',\n '[发呆]',\n '[右哼哼]',\n '[抱抱]',\n '[坏笑]',\n '[飞吻]',\n '[鄙视]',\n '[晕]',\n '[大兵]',\n '[可怜]',\n '[强]',\n '[弱]',\n '[握手]',\n '[胜利]',\n '[抱拳]',\n '[凋谢]',\n '[米饭]',\n '[蛋糕]',\n '[西瓜]',\n '[啤酒]',\n '[瓢虫]',\n '[勾引]',\n '[OK]',\n '[爱你]',\n '[咖啡]',\n '[月亮]',\n '[刀]',\n '[发抖]',\n '[差劲]',\n '[拳头]',\n '[心碎了]',\n '[太阳]',\n '[礼物]',\n '[皮球]',\n '[骷髅]',\n '[挥手]',\n '[闪电]',\n '[饥饿]',\n '[咒骂]',\n '[折磨]',\n '[抠鼻]',\n '[鼓掌]',\n '[糗大了]',\n '[左哼哼]',\n '[打哈欠]',\n '[快哭了]',\n '[吓]',\n '[篮球]',\n '[乒乓]',\n '[NO]',\n '[跳跳]',\n '[怄火]',\n '[转圈]',\n '[磕头]',\n '[回头]',\n '[跳绳]',\n '[激动]',\n '[街舞]',\n '[献吻]',\n '[左太极]',\n '[右太极]',\n '[闭嘴]',\n '[猫咪]',\n '[红双喜]',\n '[鞭炮]',\n '[红灯笼]',\n '[麻将]',\n '[麦克风]',\n '[礼品袋]',\n '[信封]',\n '[象棋]',\n '[彩带]',\n '[蜡烛]',\n '[爆筋]',\n '[棒棒糖]',\n '[奶瓶]',\n '[面条]',\n '[香蕉]',\n '[飞机]',\n '[左车头]',\n '[车厢]',\n '[右车头]',\n '[多云]',\n '[下雨]',\n '[钞票]',\n '[熊猫]',\n '[灯泡]',\n '[风车]',\n '[闹钟]',\n '[雨伞]',\n '[彩球]',\n '[钻戒]',\n '[沙发]',\n '[纸巾]',\n '[手枪]',\n '[青蛙]',\n];\nexport const faceUrl:string = 'https://web.sdk.qcloud.com/im/assets/face-elem/';\n\nexport function decodeMessageText(payload: string) {\n const renderDom = [];\n /**\n * Text Message\n *\n * 文本消息\n **/\n let temp = payload;\n let left = -1;\n let right = -1;\n while (temp !== '') {\n left = temp.indexOf('[');\n right = temp.indexOf(']');\n switch (left) {\n case 0:\n if (right === -1) {\n renderDom.push({\n name: 'text',\n text: temp,\n });\n temp = '';\n } else {\n const emojiKey = temp.slice(0, right + 1);\n if (emojiMap[emojiKey]) {\n renderDom.push({\n name: 'img',\n src: emojiUrl + emojiMap[emojiKey],\n });\n temp = temp.substring(right + 1);\n } else {\n renderDom.push({\n name: 'text',\n text: '[',\n });\n temp = temp.slice(1);\n }\n }\n break;\n case -1:\n renderDom.push({\n name: 'text',\n text: temp,\n });\n temp = '';\n break;\n default:\n renderDom.push({\n name: 'text',\n text: temp.slice(0, left),\n });\n temp = temp.substring(left);\n break;\n }\n }\n return renderDom;\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { decodeMessageText } from '../util';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MessageText',\n props: ['data'],\n setup(__props) {\n\nconst props = __props\n\n\n\nconst handleTextMessageShowContext = (text: string) => decodeMessageText(text);\n\n\nreturn { __sfc: true,props, handleTextMessageShowContext }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageText.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageText.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MessageText.vue?vue&type=template&id=467c6786&scoped=true&\"\nimport script from \"./MessageText.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MessageText.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MessageText.vue?vue&type=style&index=0&id=467c6786&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"467c6786\",\n null\n \n)\n\nexport default component.exports","import { ref, watch, nextTick } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { useChatStore } from '../../stores/chat';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\n\nexport default function useMessageList() {\n const { t } = useI18n();\n const roomEngine = useGetRoomEngine();\n const chatStore = useChatStore();\n const basicStore = useBasicStore();\n const { roomId } = storeToRefs(basicStore);\n const { messageList, isCompleted, nextReqMessageId } = storeToRefs(chatStore);\n const historyMessageList = ref([]);\n const messageAimId = ref();\n const messageBottomEl = ref(null);\n /**\n * To solve the problem of scrolling up the message yourself,\n * to prevent others from sending messages keep scrolling down the message list\n *\n * 为了解决自己向上滚动浏览消息, 防止别人发的消息不停向下滚消息列表\n**/\n let loadMore = false;\n let isScrollNotAtBottom = false;\n let isScrollToTop = false;\n const handleMessageListScroll = (e: Event) => {\n const messageContainer = e.target as HTMLElement;\n const bottom = messageContainer.scrollHeight - messageContainer.scrollTop - messageContainer.clientHeight;\n if (bottom > 80) {\n /**\n * 30 is the threshold for determining whether to scroll up through the messages\n *\n * 30 为判断是否向上滚动浏览消息的阈值\n **/\n isScrollNotAtBottom = true;\n } else {\n isScrollNotAtBottom = false;\n }\n if (isScrollToTop) {\n messageContainer.scrollTop = 0;\n isScrollToTop = false;\n }\n\n if (messageContainer.scrollTop < 40 && loadMore) {\n handleGetHistoryMessageList();\n }\n };\n\n watch(isCompleted, (value) => {\n loadMore = !value;\n }, { immediate: true, deep: true });\n\n watch(messageList, async (newMessageList, oldMessageList) => { // eslint-disable-line\n await nextTick();\n if (isScrollNotAtBottom) {\n if (newMessageList.length >= 1) {\n const lastMessage = newMessageList[newMessageList.length - 1];\n const oldLastMessage = oldMessageList[oldMessageList.length - 1];\n if ((lastMessage as any).flow === 'out' && lastMessage.ID !== oldLastMessage.ID) {\n /**\n * The latest one was sent by myself\n *\n * 最新一条是自己发送的\n **/\n messageBottomEl.value && messageBottomEl.value.scrollIntoView();\n }\n }\n return;\n }\n /**\n * If you don't scroll all the way to the bottom, show the latest news directly\n *\n * 如果没进行滚动一直在底部, 直接展示最新消息\n **/\n messageBottomEl.value && messageBottomEl.value.scrollIntoView();\n });\n\n async function handleGetHistoryMessageList() {\n const tim = roomEngine.instance?.getTIM();\n const imResponse = await tim.getMessageList({\n conversationID: `GROUP${roomId.value}`,\n nextReqMessageID: nextReqMessageId.value,\n });\n const { nextReqMessageID: middleReqMessageId, messageList: historyMessageList, isCompleted } = imResponse.data;\n messageList.value.splice(0, 0, ...historyMessageList);\n const currentMessageList = messageList.value.filter(item => item.type === 'TIMTextElem');\n chatStore.setMessageListInfo(currentMessageList, isCompleted, middleReqMessageId);\n }\n async function getMessageList(): Promise<{\n currentMessageList: any[];\n isCompleted: boolean,\n nextReqMessageId: string,\n }> {\n let count = 0;\n const result: {\n currentMessageList: any[],\n isCompleted: boolean,\n nextReqMessageId: string,\n } = {\n currentMessageList: [],\n isCompleted: false,\n nextReqMessageId: '',\n };\n const tim: any = roomEngine.instance?.getTIM();\n\n const getIMMessageList = async () => {\n const conversationData: {\n conversationID: string,\n nextReqMessageID?: string | undefined;\n } = {\n conversationID: `GROUP${roomId.value}`,\n };\n if (result.nextReqMessageId !== '') {\n conversationData.nextReqMessageID = result.nextReqMessageId;\n }\n const imResponse = await tim.getMessageList(conversationData);\n const { messageList, isCompleted, nextReqMessageID } = imResponse.data;\n result.currentMessageList.splice(0, 0, ...messageList);\n result.isCompleted = messageList.length > 0 ? isCompleted : true;\n result.nextReqMessageId = nextReqMessageID;\n if (result.isCompleted || result.currentMessageList.length >= 15) {\n return;\n }\n count += 1;\n if (count === 1) {\n await getIMMessageList();\n }\n };\n\n await getIMMessageList();\n\n return result;\n };\n const onReceiveTextMessage = (data: { roomId: string, message: any }) => {\n const { message } = data;\n chatStore.updateMessageList({\n ID: message.messageId,\n type: 'TIMTextElem',\n payload: {\n text: message.message,\n },\n nick: message?.userName || message.userId,\n from: message.userId,\n flow: 'in',\n sequence: Math.random(),\n });\n };\n return {\n t,\n roomEngine,\n historyMessageList,\n messageAimId,\n messageBottomEl,\n handleMessageListScroll,\n handleGetHistoryMessageList,\n onReceiveTextMessage,\n messageList,\n isScrollNotAtBottom,\n getMessageList,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { nextTick, onMounted, onUnmounted } from 'vue';\nimport MessageText from '../MessageTypes/MessageText.vue';\nimport TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../../utils/useMediaValue';\nimport useMessageList from '../useMessageListHook';\nimport { useChatStore } from '../../../stores/chat';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MessageListPC',\n setup(__props) {\n\nconst chatStore = useChatStore();\n\nconst {\n messageAimId,\n roomEngine,\n messageBottomEl,\n handleMessageListScroll,\n onReceiveTextMessage,\n messageList,\n getMessageList,\n} = useMessageList();\n\n\nonMounted(async () => {\n const { currentMessageList, isCompleted, nextReqMessageId } = await getMessageList();\n const filterCurrentMessageList = currentMessageList.filter((item: any) => item.type === 'TIMTextElem');\n chatStore.setMessageListInfo(filterCurrentMessageList, isCompleted, nextReqMessageId);\n\n await nextTick(() => {\n if (messageAimId?.value?.length > 0) {\n const target = messageAimId?.value[messageAimId?.value?.length - 1];\n target.scrollIntoView();\n }\n });\n window.addEventListener('scroll', handleMessageListScroll, true);\n});\n\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n});\n\nonUnmounted(() => {\n window.removeEventListener('scroll', handleMessageListScroll, true);\n roomEngine.instance?.off(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n});\n\nreturn { __sfc: true,chatStore, messageAimId, roomEngine, messageBottomEl, handleMessageListScroll, onReceiveTextMessage, messageList, getMessageList, MessageText, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MessageListPC.vue?vue&type=template&id=3ee0bdff&scoped=true&\"\nimport script from \"./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MessageListPC.vue?vue&type=style&index=0&id=3ee0bdff&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ee0bdff\",\n null\n \n)\n\nexport default component.exports","import messageListPC from './MessageListPC.vue';\n\nexport default messageListPC;\n\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['chat-editor', _setup.cannotSendMessage ? 'disable-editor' : '']},[_c('div',{staticClass:\"input-content\"},[_c(_setup.emoji,{staticClass:\"chat-emoji\",on:{\"choose-emoji\":_setup.handleChooseEmoji}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.sendMsg),expression:\"sendMsg\"}],ref:\"editorInputEle\",staticClass:\"content-bottom-input\",attrs:{\"type\":\"text\",\"disabled\":_setup.cannotSendMessage,\"placeholder\":_setup.cannotSendMessage ? _setup.t('Muted by the moderator') : _setup.t('Type a message'),\"enterkeyhint\":\"send\"},domProps:{\"value\":(_setup.sendMsg)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_setup.sendMsg=$event.target.value}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"emoji-tool\"},[_c(_setup.SvgIcon,{staticClass:\"arrow emoji-icon\",attrs:{\"icon-name\":\"emoji-h5\",\"size\":\"medium\"},on:{\"click\":_setup.togglePopover}}),(_setup.visible)?_c('div',{ref:\"emojiListRef\",class:_setup.isMobile? 'emoji-list-h5':'emoji-list',attrs:{\"id\":\"emoji-list\"}},_vm._l((_setup.emojiList),function(childrenItem,childrenIndex){return _c('div',{key:childrenIndex,staticClass:\"emoji-item\",on:{\"click\":function($event){return _setup.chooseEmoji(childrenItem)}}},[_c('img',{attrs:{\"src\":_setup.emojiUrl + _setup.emojiMap[childrenItem]}})])}),0):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport { emojiUrl, emojiMap, emojiList } from '../util';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'emojiPC',\n emits: ['choose-emoji'],\n setup(__props, { emit }) {\n\nconst emojiListRef = ref();\n\nconst visible = ref(false);\n\nconst chooseEmoji = (itemName: string) => {\n const emojiInfo = itemName;\n closePopover();\n emit('choose-emoji', emojiInfo);\n};\n\nconst togglePopover = () => {\n visible.value = !visible.value;\n};\n\nconst closePopover = () => {\n visible.value = false;\n};\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (visible.value && !emojiListRef.value.contains(event.target)) {\n visible.value = false;\n }\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,emojiListRef, visible, emit, chooseEmoji, togglePopover, closePopover, handleDocumentClick, emojiUrl, emojiMap, emojiList, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./emojiPC.vue?vue&type=template&id=78a2609f&scoped=true&\"\nimport script from \"./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./emojiPC.vue?vue&type=style&index=0&id=78a2609f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78a2609f\",\n null\n \n)\n\nexport default component.exports","import emojiPC from './emojiPC.vue';\nexport default emojiPC;\n\n","import { computed, ref, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\n\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useChatStore } from '../../../stores/chat';\nimport { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\nexport default function useChatEditor() {\n const roomEngine = useGetRoomEngine();\n\n const { t } = useI18n();\n const chatStore = useChatStore();\n const roomStore = useRoomStore();\n\n const { isMessageDisableByAdmin } = storeToRefs(chatStore);\n const { isMessageDisableForAllUser } = storeToRefs(roomStore);\n const editorInputEle = ref();\n const sendMsg = ref('');\n const isEmojiToolbarVisible = ref(false);\n watch(isMessageDisableByAdmin, (value) => {\n if (value) {\n sendMsg.value = '';\n }\n });\n\n watch(isMessageDisableForAllUser, (value) => {\n if (value) {\n sendMsg.value = '';\n }\n });\n const cannotSendMessage = computed(() => Boolean(isMessageDisableByAdmin.value || isMessageDisableForAllUser.value));\n const sendMessage = async () => {\n const msg = sendMsg.value.replace('\\n', '');\n sendMsg.value = '';\n if (msg === '') {\n return;\n }\n isEmojiToolbarVisible.value = false;\n try {\n await roomEngine.instance?.sendTextMessage({\n messageText: msg,\n });\n chatStore.updateMessageList({\n ID: Math.random().toString(),\n type: 'TIMTextElem',\n payload: {\n text: msg,\n },\n nick: roomStore.localUser.userName || roomStore.localUser.userId,\n from: roomStore.localUser.userId,\n flow: 'out',\n sequence: Math.random(),\n });\n } catch (e) {\n /**\n * Message delivery failure\n *\n * 消息发送失败\n **/\n ElMessage.error(t('Failed to send the message'));\n }\n };\n\n const handleChooseEmoji = (emojiName: string) => {\n sendMsg.value += emojiName;\n editorInputEle.value.focus();\n };\n const togglePopover = () => {\n isEmojiToolbarVisible.value = !isEmojiToolbarVisible.value;\n };\n return {\n t,\n editorInputEle,\n sendMsg,\n isMessageDisableByAdmin,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n isEmojiToolbarVisible,\n togglePopover,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport emoji from '../EditorTools';\nimport useChatEditor from './useChatEditor';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatEditorH5',\n setup(__props) {\n\nconst {\n t,\n editorInputEle,\n sendMsg,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n} = useChatEditor();\n\n\nreturn { __sfc: true,t, editorInputEle, sendMsg, cannotSendMessage, sendMessage, handleChooseEmoji, emoji }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatEditorH5.vue?vue&type=template&id=4ae1f1c7&scoped=true&\"\nimport script from \"./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatEditorH5.vue?vue&type=style&index=0&id=4ae1f1c7&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ae1f1c7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['chat-editor', _setup.cannotSendMessage ? 'disable-editor': '']},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.sendMsg),expression:\"sendMsg\"}],ref:\"editorInputEle\",staticClass:\"content-bottom-input\",attrs:{\"disabled\":_setup.cannotSendMessage,\"placeholder\":_setup.cannotSendMessage ? _setup.t('Muted by the moderator') : _setup.t('Type a message')},domProps:{\"value\":(_setup.sendMsg)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_setup.sendMsg=$event.target.value}}}),_vm._v(\" \"),(!_setup.cannotSendMessage)?_c('div',{staticClass:\"chat-editor-toolbar\"},[_c('div',{staticClass:\"left-section\"},[_c(_setup.emoji,{on:{\"choose-emoji\":_setup.handleChooseEmoji}})],1),_c('div',{class:['send-btn', `${_setup.sendMsg.length > 0 ? 'active' : ''}`],on:{\"click\":_setup.sendMessage}},[_vm._v(_vm._s(_setup.t('Send')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport emoji from '../EditorTools';\nimport useChatEditor from './useChatEditor';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatEditorPC',\n setup(__props) {\n\nconst {\n t,\n editorInputEle,\n sendMsg,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n} = useChatEditor();\n\n\nreturn { __sfc: true,t, editorInputEle, sendMsg, cannotSendMessage, sendMessage, handleChooseEmoji, emoji }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatEditorPC.vue?vue&type=template&id=6cdfd1ed&scoped=true&\"\nimport script from \"./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatEditorPC.vue?vue&type=style&index=0&id=6cdfd1ed&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6cdfd1ed\",\n null\n \n)\n\nexport default component.exports","import ChatEditorH5 from './ChatEditorH5.vue';\nimport ChatEditorPC from './ChatEditorPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nconst ChatEditor = isMobile ? ChatEditorH5 : ChatEditorPC;\n\nexport default ChatEditor;\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport MessageList from './MessageList';\nimport ChatEditor from './ChatEditor';\nimport { isMobile } from '../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n setup(__props) {\n\n\nreturn { __sfc: true,MessageList, ChatEditor, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6588445b&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6588445b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6588445b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-container\"},[(_setup.applyToAnchorList.length > 0)?_c('div',{staticClass:\"apply-on-stage-info\"},[_c('div',{staticClass:\"apply-info\"},[_vm._v(\" \"+_vm._s(`${_setup.applyToAnchorList[0].userName || _setup.applyToAnchorList[0].userId} ${_setup.t('Applying for the stage')}`)+\" \")])]):_vm._e(),_c('div',{staticClass:\"member-list-container\"},[_c('div',{staticClass:\"member-list-header\"},[_vm._v(\" \"+_vm._s(_setup.t('Member List'))+\" \"),_c('span',{staticClass:\"member-count\"},[_vm._v(\"(\"+_vm._s(_setup.userNumber)+_vm._s(_setup.t('members'))+\")\")])]),_c('div',{staticClass:\"member-list-content\"},_vm._l((_setup.userList),function(userInfo){return _c(_setup.MemberItem,{key:userInfo.userId,attrs:{\"user-info\":userInfo}})}),1)]),_c('div',{staticClass:\"manage-member-bottom\"},[_c('div',{staticClass:\"manage-member-button\",class:_setup.isMicrophoneDisableForAllUser ? 'lift-all' : '',on:{\"touchstart\":function($event){return _setup.toggleManageMember(_setup.ManageControlType.AUDIO)}}},[_vm._v(\" \"+_vm._s(_setup.audioManageInfo)+\" \")]),_c('div',{staticClass:\"manage-member-button\",class:_setup.isCameraDisableForAllUser ? 'lift-all' : '',on:{\"touchstart\":function($event){return _setup.toggleManageMember(_setup.ManageControlType.VIDEO)}}},[_vm._v(\" \"+_vm._s(_setup.videoManageInfo)+\" \")])]),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showManageAllUserDialog,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"button-container-mobile\"},[_c('span',{staticClass:\"cancel\",on:{\"click\":function($event){_setup.showManageAllUserDialog = false}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.doToggleManageMember}},[_vm._v(_vm._s(_setup.dialogActionInfo))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.dialogTitleInfo)+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleMemberItemClick),expression:\"handleMemberItemClick\"}],ref:(el) => _setup.setMemberItemRef(el),staticClass:\"member-item-container\"},[_c(_setup.MemberInfo,{ref:(el) => _setup.setMemberInfoRef(el),attrs:{\"show-state-icon\":true,\"user-info\":_vm.userInfo}}),(_setup.showMemberControl)?_c(_setup.MemberControl,{ref:(el) => _setup.setMemberControlRef(el),attrs:{\"user-info\":_vm.userInfo},on:{\"on-close-control\":_setup.handleCloseControl}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:[_setup.isMobile ? 'member-info-mobile' : 'member-info']},[_c('div',{staticClass:\"member-basic-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":_vm.userInfo.avatarUrl}}),_c('div',{staticClass:\"user-name\"},[_vm._v(_vm._s(_vm.userInfo.userName || _vm.userInfo.userId))]),(_setup.isMaster && _setup.isMe)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Host'))+\", \"+_vm._s(_setup.t('Me'))+\" \")]):(_setup.isMe)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Me'))+\" \")]):(_setup.basicStore.masterUserId === _vm.userInfo.userId)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Host'))+\" \")]):_vm._e()],1),(!_setup.isMe && _vm.showStateIcon)?_c('div',{staticClass:\"member-av-state\"},[(_vm.userInfo.onSeat)?_c('div',[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_vm.userInfo.hasAudioStream ? _setup.ICON_NAME.MicOn : _setup.ICON_NAME.MicOff,\"size\":\"large\"}}),_c(_setup.SvgIcon,{staticClass:\"setting-icon video-icon\",attrs:{\"icon-name\":_vm.userInfo.hasVideoStream ? _setup.ICON_NAME.CameraOn : _setup.ICON_NAME.CameraOff,\"size\":\"large\"}})],1):_vm._e(),(!_vm.userInfo.onSeat && !_vm.userInfo.isUserApplyingToAnchor)?_c('div',[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.MicOffDisabled,\"size\":\"large\"}}),_c(_setup.SvgIcon,{staticClass:\"setting-icon video-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.CameraOffDisabled,\"size\":\"large\"}})],1):_vm._e(),(!_vm.userInfo.onSeat && _vm.userInfo.isUserApplyingToAnchor)?_c('div',[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"apply-active\"}})],1):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport Avatar from '../../base/Avatar.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../../constants/icon';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport { isMobile } from '../../../utils/useMediaValue';\n\ninterface Props {\n userInfo: UserInfo,\n showStateIcon?: Boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberInfo',\n props: {\n userInfo: null,\n showStateIcon: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n userInfo: UserInfo,\n showStateIcon?: Boolean,\n}\n\nconst { t } = useI18n();\n\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { isMaster } = storeToRefs(roomStore);\n\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\n\n\nreturn { __sfc: true,t, props, basicStore, roomStore, isMaster, isMe, Avatar, ICON_NAME, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberInfo.vue?vue&type=template&id=0325ed23&scoped=true&\"\nimport script from \"./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberInfo.vue?vue&type=style&index=0&id=0325ed23&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0325ed23\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMe)?_c('div',{staticClass:\"member-control-container\"},[_c('div',{staticClass:\"member-title\"},[_c('img',{staticClass:\"avatar-url\",attrs:{\"src\":_vm.userInfo.avatarUrl || _setup.defaultAvatar}}),_c('div',{staticClass:\"member-title-content\"},[_vm._v(_vm._s(_vm.userInfo.userName || _vm.userInfo.userId))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap.stop\",value:(_setup.handleCloseControl),expression:\"handleCloseControl\",modifiers:{\"stop\":true}}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.controlList),function(item,index){return _c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => item.func(_vm.userInfo)),expression:\"() => item.func(userInfo)\"}],key:index,staticClass:\"user-operate-item\"},[_c(_setup.SvgIcon,{staticClass:\"icon-svg\",attrs:{\"icon-name\":item.iconName}}),_c('div',{staticClass:\"control-title\"},[_vm._v(_vm._s(item.title))])],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport { useI18n } from '../../../locales';\n\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useBasicStore } from '../../../stores/basic';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { isWeChat } from '../../../utils/useMediaValue';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\nimport '../../../directives/vTap';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberControlH5',\n props: {\n userInfo: null\n },\n emits: ['on-close-control'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n userInfo: UserInfo,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n/**\n * Functions related to the Raise Your Hand function\n *\n * 举手发言功能相关函数\n**/\nconst {\n agreeUserOnStage,\n denyUserOnStage,\n inviteUserOnStage,\n cancelInviteUserOnStage,\n kickUserOffStage,\n} = useMasterApplyControl();\n\n\n\n\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\nconst isAnchor = computed(() => props.userInfo.onSeat === true);\nconst isAudience = computed(() => props.userInfo.onSeat !== true);\nconst isFreeSpeechMode = computed(() => roomStore.isFreeSpeakMode);\nconst isSpeakAfterTakingSeat = computed(() => roomStore.isSpeakAfterTakingSeatMode);\n\nconst requestStageTitle = computed(() => (\n isAnchor.value\n ? t('Step down')\n : props.userInfo.isInvitingUserToAnchor\n ? t('Cancel stage')\n : t('Invite stage')\n));\n\n/**\n * Invitation to the stage/uninvitation to the stage\n *\n * 邀请上台/取消邀请上台\n**/\nasync function toggleInviteUserOnStage(userInfo: UserInfo) {\n const { isInvitingUserToAnchor } = userInfo;\n if (isInvitingUserToAnchor) {\n cancelInviteUserOnStage(userInfo);\n } else {\n inviteUserOnStage(userInfo);\n }\n}\n\n// 邀请上台 / 取消邀请上台\nconst toggleInviteStage = computed(() => ({ iconName: 'apply', title: requestStageTitle.value, func: toggleInviteUserOnStage }));\n\n// 邀请下台\nconst makeOffStage = computed(() => ({ iconName: 'apply', title: t('Step down'), func: kickUserOffStage }));\n\n// 同意上台\nconst agreeOnStage = computed(() => ({ iconName: 'apply', title: t('Agree to the stage'), func: agreeUserOnStage }));\n\n// 拒绝上台\nconst denyOnStage = computed(() => ({ iconName: 'apply', title: t('Refuse stage'), func: denyUserOnStage }));\n\nconst audioControlTitle = computed(() => (\n props.userInfo.hasAudioStream\n ? t('Mute')\n : (props.userInfo.isRequestingUserOpenMic\n ? t('Cancel Unmute')\n : t('Unmute'))\n));\nconst audioControl = computed(() => ({ iconName: 'mic-on', title: audioControlTitle.value, func: muteUserAudio }));\n\nconst videoControlTitle = computed(() => {\n if (props.userInfo.hasVideoStream) {\n return t('Disable video');\n }\n if (props.userInfo.isRequestingUserOpenCamera) {\n return t('Cancel Enable video');\n }\n return t('Enable video');\n});\nconst videoControl = computed(() => ({ iconName: 'camera-on', title: videoControlTitle.value, func: muteUserVideo }));\n\nconst chatControlTitle = computed(() => (props.userInfo.isChatMutedByMaster ? t('Enable chat') : t('Disable chat')));\nconst forbidChat = computed(() => ({ iconName: 'chat', title: chatControlTitle.value, func: disableUserChat }));\n\nconst kickUser = computed(() => ({ iconName: 'invite', title: t('Kick out'), func: kickOffUser }));\n\n/**\n* Control the centralized matching of elements\n *\n * Free speech mode\n * 1. Current user is the anchor.\n * Banning/unbanning Banning/unbanning drawing\n * Banning chat\n * Kicked out of the room\n *\n * Raise hand to speak mode\n * 1. Current user is the host.\n * Banning/unbanning Banning/unbanning drawing\n * Invite to step down\n * Ban chat\n * Kicked out of the room\n * 2.\n * 2. Audience did not request to be on the mic.\n * Invite on stage / Disinvite on stage * Ban chat\n * Kicked out of the room\n * 3.\n * 3. the audience is applying for the mic.\n * Agree to go on stage Deny go on stage\n * Ban chat\n * Kicked out of the room\n *\n * 控制元素的集中匹配情况\n *\n * 自由发言模式\n * 1.当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 禁止聊天\n * 踢出房间\n *\n * 举手发言模式\n * 1. 当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 邀请下台\n * 禁止聊天\n * 踢出房间\n *\n * 2. 观众没有申请上麦:\n * 邀请上台/取消邀请上台 禁止聊天\n * 踢出房间\n *\n * 3. 观众正在申请上麦:\n * 同意上台 拒绝上台\n * 禁止聊天\n * 踢出房间\n**/\nconst controlList = computed(() => {\n const controlRelationObj = {\n freeSpeech: [audioControl.value, videoControl.value, forbidChat.value, kickUser.value],\n applySpeechAndAnchor:\n [audioControl.value, videoControl.value, makeOffStage.value, forbidChat.value, kickUser.value],\n applySpeechAndIsApplyingToAnchor: [agreeOnStage.value, denyOnStage.value, forbidChat.value, kickUser.value],\n applySpeechAndAudience: [toggleInviteStage.value, forbidChat.value, kickUser.value],\n default: [forbidChat.value, kickUser.value],\n };\n\n if (isFreeSpeechMode.value) {\n return controlRelationObj.freeSpeech;\n }\n if (isSpeakAfterTakingSeat.value && isAnchor.value) {\n return controlRelationObj.applySpeechAndAnchor;\n }\n if (isSpeakAfterTakingSeat.value && isAudience.value && props.userInfo.isUserApplyingToAnchor) {\n return controlRelationObj.applySpeechAndIsApplyingToAnchor;\n }\n if (isSpeakAfterTakingSeat.value && isAudience.value && !props.userInfo.isUserApplyingToAnchor) {\n return controlRelationObj.applySpeechAndAudience;\n }\n return controlRelationObj.default;\n});\n\n/**\n * Banning/Unbanning\n *\n * 禁麦/邀请打开麦克风\n**/\nasync function muteUserAudio(userInfo: UserInfo) {\n if (userInfo.hasAudioStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n });\n } else {\n if (userInfo.isRequestingUserOpenMic) {\n const requestId = userInfo.requestUserOpenMicRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: true, requestId: request.requestId });\n }\n }\n }\n}\n\n/**\n * Banned painting/unbanned painting\n *\n * 禁画/取消禁画\n**/\nasync function muteUserVideo(userInfo: UserInfo) {\n if (userInfo.hasVideoStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n });\n } else {\n if (userInfo.isRequestingUserOpenCamera) {\n const requestId = userInfo.requestUserOpenCameraRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenCamera({\n userId: userInfo.userId,\n isRequesting: true,\n requestId: request.requestId,\n });\n }\n }\n }\n}\n/**\n * Allow text chat / Cancel text chat\n *\n * 允许文字聊天/取消文字聊天\n**/\nfunction disableUserChat(userInfo: UserInfo) {\n const currentState = userInfo.isChatMutedByMaster;\n roomStore.setMuteUserChat(userInfo.userId, !currentState);\n roomEngine.instance?.disableSendingMessageByAdmin({\n userId: userInfo.userId,\n isDisable: !currentState,\n });\n}\n\n/**\n * Kick the user out of the room\n *\n * 将用户踢出房间\n**/\nfunction kickOffUser(userInfo: UserInfo) {\n roomEngine.instance?.kickRemoteUserOutOfRoom({\n userId: userInfo.userId,\n });\n}\n\nfunction handleCloseControl() {\n emit('on-close-control');\n}\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, agreeUserOnStage, denyUserOnStage, inviteUserOnStage, cancelInviteUserOnStage, kickUserOffStage, emit, props, isMe, isAnchor, isAudience, isFreeSpeechMode, isSpeakAfterTakingSeat, requestStageTitle, toggleInviteUserOnStage, toggleInviteStage, makeOffStage, agreeOnStage, denyOnStage, audioControlTitle, audioControl, videoControlTitle, videoControl, chatControlTitle, forbidChat, kickUser, controlList, muteUserAudio, muteUserVideo, disableUserChat, kickOffUser, handleCloseControl, defaultAvatar, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberControlH5.vue?vue&type=template&id=d259161c&scoped=true&\"\nimport script from \"./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberControlH5.vue?vue&type=style&index=0&id=d259161c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d259161c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMe)?_c('div',{staticClass:\"member-control-container\"},[_c('div',{staticClass:\"mute-btn\",on:{\"click\":function($event){return _setup.singleControl.func(_vm.userInfo)}}},[_vm._v(\" \"+_vm._s(_setup.singleControl.title)+\" \")]),_c('div',{staticClass:\"more-container\",on:{\"click\":_setup.handlePopUp}},[_c('div',{staticClass:\"more-btn\",on:{\"click\":_setup.toggleClickMoreBtn}},[_vm._v(\" \"+_vm._s(_setup.t('More'))+\" \"),_c(_setup.SvgIcon,{staticClass:\"more-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.ArrowBorderDown}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showMoreControl),expression:\"showMoreControl\"}],class:_setup.dropdownClass,attrs:{\"id\":\"operate-list\"},on:{\"mouseleave\":_setup.handleMouseLeave}},_vm._l((_setup.controlList),function(item,index){return _c('div',{key:index,staticClass:\"user-operate-item\",on:{\"click\":function($event){return item.func(_vm.userInfo)}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed } from 'vue';\nimport { useI18n } from '../../../locales';\n\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport { ICON_NAME } from '../../../constants/icon';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useBasicStore } from '../../../stores/basic';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberControlPC',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n userInfo: UserInfo,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst dropdownClass = ref('');\n/**\n * Functions related to the Raise Your Hand function\n *\n * 举手发言功能相关函数\n**/\nconst {\n agreeUserOnStage,\n denyUserOnStage,\n inviteUserOnStage,\n cancelInviteUserOnStage,\n kickUserOffStage,\n} = useMasterApplyControl();\n\n\n\nconst showMoreControl = ref(false);\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\nconst isAnchor = computed(() => props.userInfo.onSeat === true);\nconst isAudience = computed(() => props.userInfo.onSeat !== true);\nconst isFreeSpeechMode = computed(() => roomStore.isFreeSpeakMode);\nconst isSpeakAfterTakingSeat = computed(() => roomStore.isSpeakAfterTakingSeatMode);\n/**\n* Control the centralized matching of elements\n *\n * Free speech mode\n * 1. Current user is the anchor.\n * Banning/unbanning Banning/unbanning drawing\n * Banning chat\n * Kicked out of the room\n *\n * Raise hand to speak mode\n * 1. Current user is the host.\n * Banning/unbanning Banning/unbanning drawing\n * Invite to step down\n * Ban chat\n * Kicked out of the room\n * 2.\n * 2. Audience did not request to be on the mic.\n * Invite on stage / Disinvite on stage * Ban chat\n * Kicked out of the room\n * 3.\n * 3. the audience is applying for the mic.\n * Agree to go on stage Deny go on stage\n * Ban chat\n * Kicked out of the room\n *\n * 控制元素的集中匹配情况\n *\n * 自由发言模式\n * 1.当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 禁止聊天\n * 踢出房间\n *\n * 举手发言模式\n * 1. 当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 邀请下台\n * 禁止聊天\n * 踢出房间\n *\n * 2. 观众没有申请上麦:\n * 邀请上台/取消邀请上台 禁止聊天\n * 踢出房间\n *\n * 3. 观众正在申请上麦:\n * 同意上台 拒绝上台\n * 禁止聊天\n * 踢出房间\n**/\nfunction handlePopUp() {\n const dropdown = document.getElementById('operate-list');\n const roomContainer = document.getElementById('roomContainer');\n const dropdownRectBottom = dropdown !== null && dropdown.getBoundingClientRect().bottom;\n const roomContainerHeight = roomContainer !== null && roomContainer.offsetHeight;\n if (dropdownRectBottom > roomContainerHeight) {\n dropdownClass.value = 'user-operate-list dropdownUp';\n } else {\n dropdownClass.value = 'user-operate-list';\n }\n};\n\nconst singleControl = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const control = { title: '', func: (userInfo: UserInfo) => {} };\n if (isFreeSpeechMode.value) {\n control.title = props.userInfo.hasAudioStream ? t('Mute') : (props.userInfo.isRequestingUserOpenMic ? t('Cancel Unmute') : t('Unmute'));\n control.func = muteUserAudio;\n } else if (isSpeakAfterTakingSeat.value) {\n if (isAnchor.value) {\n control.title = props.userInfo.hasAudioStream ? t('Mute') : (props.userInfo.isRequestingUserOpenMic ? t('Cancel Unmute') : t('Unmute'));\n control.func = muteUserAudio;\n } else if (isAudience.value) {\n if (props.userInfo.isUserApplyingToAnchor) {\n control.title = t('Agree to the stage');\n control.func = agreeUserOnStage;\n } else {\n control.title = props.userInfo.isInvitingUserToAnchor ? t('Cancel stage') : t('Invite stage');\n control.func = toggleInviteUserOnStage;\n }\n }\n }\n return control;\n});\n\nconst denyOnStage = computed(() => ({ title: t('Refuse stage'), func: denyUserOnStage }));\nconst makeOffStage = computed(() => ({ title: t('Step down'), func: kickUserOffStage }));\n\nconst videoControlTitle = computed(() => {\n if (props.userInfo.hasVideoStream) {\n return t('Disable video');\n }\n if (props.userInfo.isRequestingUserOpenCamera) {\n return t('Cancel Enable video');\n }\n return t('Enable video');\n});\nconst videoControl = computed(() => ({ title: videoControlTitle.value, func: muteUserVideo }));\n\nconst chatControlTitle = computed(() => (props.userInfo.isChatMutedByMaster ? t('Enable chat') : t('Disable chat')));\nconst forbidChat = computed(() => ({ title: chatControlTitle.value, func: disableUserChat }));\n\nconst kickUser = computed(() => ({ title: t('Kick out'), func: kickOffUser }));\nconst controlList = computed(() => {\n const list = [forbidChat.value, kickUser.value];\n if (isFreeSpeechMode.value) {\n list.unshift(videoControl.value);\n }\n if (isAnchor.value && isSpeakAfterTakingSeat.value) {\n list.unshift(videoControl.value);\n list.splice(1, 0, makeOffStage.value);\n }\n if (isAudience.value && props.userInfo.isUserApplyingToAnchor) {\n list.splice(0, 0, denyOnStage.value);\n }\n return list;\n});\n\nfunction toggleClickMoreBtn() {\n showMoreControl.value = !showMoreControl.value;\n}\nfunction handleMouseLeave() {\n showMoreControl.value = false;\n}\n\n/**\n * Invitation to the stage/uninvitation to the stage\n *\n * 邀请上台/取消邀请上台\n**/\nasync function toggleInviteUserOnStage(userInfo: UserInfo) {\n const { isInvitingUserToAnchor } = userInfo;\n if (isInvitingUserToAnchor) {\n cancelInviteUserOnStage(userInfo);\n } else {\n inviteUserOnStage(userInfo);\n }\n}\n\n/**\n * Banning/Unbanning\n *\n * 禁麦/邀请打开麦克风\n**/\nasync function muteUserAudio(userInfo: UserInfo) {\n if (userInfo.hasAudioStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n });\n } else {\n if (userInfo.isRequestingUserOpenMic) {\n const requestId = userInfo.requestUserOpenMicRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: true, requestId: request.requestId });\n }\n }\n }\n}\n\n/**\n * Banned painting/unbanned painting\n *\n * 禁画/取消禁画\n**/\nasync function muteUserVideo(userInfo: UserInfo) {\n if (userInfo.hasVideoStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n });\n } else {\n if (userInfo.isRequestingUserOpenCamera) {\n const requestId = userInfo.requestUserOpenCameraRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenCamera({\n userId: userInfo.userId,\n isRequesting: true,\n requestId: request.requestId,\n });\n }\n }\n }\n}\n/**\n * Allow text chat / Cancel text chat\n *\n * 允许文字聊天/取消文字聊天\n**/\nfunction disableUserChat(userInfo: UserInfo) {\n const currentState = userInfo.isChatMutedByMaster;\n roomStore.setMuteUserChat(userInfo.userId, !currentState);\n roomEngine.instance?.disableSendingMessageByAdmin({\n userId: userInfo.userId,\n isDisable: !currentState,\n });\n}\n\n/**\n * Kick the user out of the room\n *\n * 将用户踢出房间\n**/\nfunction kickOffUser(userInfo: UserInfo) {\n roomEngine.instance?.kickRemoteUserOutOfRoom({\n userId: userInfo.userId,\n });\n}\n\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, dropdownClass, agreeUserOnStage, denyUserOnStage, inviteUserOnStage, cancelInviteUserOnStage, kickUserOffStage, props, showMoreControl, isMe, isAnchor, isAudience, isFreeSpeechMode, isSpeakAfterTakingSeat, handlePopUp, singleControl, denyOnStage, makeOffStage, videoControlTitle, videoControl, chatControlTitle, forbidChat, kickUser, controlList, toggleClickMoreBtn, handleMouseLeave, toggleInviteUserOnStage, muteUserAudio, muteUserVideo, disableUserChat, kickOffUser, ICON_NAME, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberControlPC.vue?vue&type=template&id=28dfca21&scoped=true&\"\nimport script from \"./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberControlPC.vue?vue&type=style&index=0&id=28dfca21&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28dfca21\",\n null\n \n)\n\nexport default component.exports","import MemberControlH5 from './MemberControlH5.vue';\nimport MemberControlPC from './MemberControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst MemberControl = isMobile ? MemberControlH5 : MemberControlPC;\n\nexport default MemberControl;\n","import { ref, nextTick } from 'vue';\n\nexport default function useMemberItem() {\n const showMemberControl = ref(false);\n\n function handleMouseEnter() {\n showMemberControl.value = true;\n }\n\n function handleMouseLeave() {\n showMemberControl.value = false;\n }\n\n const memberItemEl = ref();\n function setMemberItemRef(el: any) {\n memberItemEl.value = el;\n }\n\n const memberInfoEl = ref();\n const MemberControlEl = ref();\n function setMemberInfoRef(el: any) {\n memberInfoEl.value = el;\n }\n function setMemberControlRef(el: any) {\n MemberControlEl.value = el;\n }\n\n function handleMemberItemClick() {\n if (!showMemberControl.value) {\n showMemberControl.value = true;\n }\n }\n async function handleCloseControl() {\n await nextTick();\n showMemberControl.value = false;\n }\n\n function handleDocumentClick(event: MouseEvent) {\n if (showMemberControl.value && memberItemEl.value && !memberItemEl.value.contains(event.target)) {\n showMemberControl.value = false;\n }\n }\n\n\n return {\n showMemberControl,\n handleMouseEnter,\n handleMouseLeave,\n setMemberItemRef,\n setMemberInfoRef,\n setMemberControlRef,\n handleMemberItemClick,\n handleDocumentClick,\n handleCloseControl,\n };\n}\n\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport { onMounted, onUnmounted } from 'vue';\nimport MemberInfo from '../MemberItemCommon/MemberInfo.vue';\nimport MemberControl from '../MemberControl';\nimport { UserInfo } from '../../../stores/room';\nimport useMemberItem from './useMemberItemHooks';\nimport '../../../directives/vTap';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst {\n showMemberControl,\n setMemberItemRef,\n setMemberInfoRef,\n setMemberControlRef,\n handleMemberItemClick,\n handleDocumentClick,\n handleCloseControl,\n} = useMemberItem();\n\n\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,showMemberControl, setMemberItemRef, setMemberInfoRef, setMemberControlRef, handleMemberItemClick, handleDocumentClick, handleCloseControl, MemberInfo, MemberControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=51bdd126&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=51bdd126&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51bdd126\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"member-item-container\",on:{\"mouseenter\":_setup.handleMouseEnter,\"mouseleave\":_setup.handleMouseLeave}},[_c(_setup.MemberInfo,{attrs:{\"user-info\":_vm.userInfo,\"show-state-icon\":!_setup.showMemberControl}}),_c(_setup.MemberControl,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showMemberControl),expression:\"showMemberControl\"}],attrs:{\"user-info\":_vm.userInfo}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport MemberInfo from '../MemberItemCommon/MemberInfo.vue';\nimport MemberControl from '../MemberControl';\nimport { UserInfo } from '../../../stores/room';\nimport useMemberItem from './useMemberItemHooks';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst {\n showMemberControl,\n handleMouseEnter,\n handleMouseLeave,\n} = useMemberItem();\n\n\n\n\n\nreturn { __sfc: true,showMemberControl, handleMouseEnter, handleMouseLeave, MemberInfo, MemberControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=2d674c35&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=2d674c35&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d674c35\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","import { storeToRefs } from 'pinia';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../stores/room';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\nimport { Ref, computed, nextTick, ref } from 'vue';\n\nexport default function useIndex() {\n const roomEngine = useGetRoomEngine();\n\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const roomStore = useRoomStore();\n\n const {\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n } = storeToRefs(roomStore);\n const audioManageInfo = computed(() => (roomStore.isMicrophoneDisableForAllUser ? t('Lift all mute') : t('All mute')));\n const videoManageInfo = computed(() => (roomStore.isCameraDisableForAllUser ? t('Lift stop all video') : t('All stop video')));\n\n const showManageAllUserDialog: Ref = ref(false);\n const dialogTitleInfo: Ref = ref('');\n const dialogActionInfo: Ref = ref('');\n\n enum ManageControlType {\n AUDIO = 'audio',\n VIDEO = 'video',\n Message = 'message',\n }\n const currentControlType: Ref = ref(ManageControlType.AUDIO);\n\n async function toggleManageMember(type: ManageControlType) {\n showManageAllUserDialog.value = true;\n currentControlType.value = type;\n switch (type) {\n case ManageControlType.AUDIO:\n dialogTitleInfo.value = roomStore.isMicrophoneDisableForAllUser\n ? t('Can you lift all mute')\n : t('All current and new members will be muted.');\n // 小程序更新视图\n await nextTick();\n dialogActionInfo.value = audioManageInfo.value;\n break;\n case ManageControlType.VIDEO:\n dialogTitleInfo.value = roomStore.isCameraDisableForAllUser\n ? t('Should we turn on the video for everyone')\n : t('All current and new members will turn off their videos.');\n await nextTick();\n dialogActionInfo.value = videoManageInfo.value;\n break;\n default:\n break;\n }\n }\n\n async function doToggleManageMember() {\n switch (currentControlType.value) {\n case ManageControlType.AUDIO:\n toggleAllAudio();\n break;\n case ManageControlType.VIDEO:\n toggleAllVideo();\n break;\n default:\n break;\n }\n showManageAllUserDialog.value = false;\n }\n function showApplyUserLit() {\n basicStore.setShowApplyUserList(true);\n }\n\n async function toggleAllAudio() {\n const microphoneDisableState = !isMicrophoneDisableForAllUser.value;\n await roomEngine.instance?.disableDeviceForAllUserByAdmin({\n isDisable: microphoneDisableState,\n device: TUIMediaDevice.kMicrophone,\n });\n roomStore.setMicrophoneDisableState(microphoneDisableState);\n }\n\n async function toggleAllVideo() {\n const cameraDisableState = !isCameraDisableForAllUser.value;\n await roomEngine.instance?.disableDeviceForAllUserByAdmin({\n isDisable: cameraDisableState,\n device: TUIMediaDevice.kCamera,\n });\n roomStore.setCameraDisableState(cameraDisableState);\n }\n return {\n showApplyUserLit,\n toggleAllAudio,\n toggleAllVideo,\n t,\n toggleManageMember,\n doToggleManageMember,\n audioManageInfo,\n videoManageInfo,\n showManageAllUserDialog,\n dialogTitleInfo,\n dialogActionInfo,\n ManageControlType,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport MemberItem from '../ManageMember/MemberItem';\nimport Dialog from '../../elementComp/Dialog';\nimport useIndex from './useIndexHooks';\nimport { storeToRefs } from 'pinia';\nimport { useRoomStore } from '../../stores/room';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\nconst roomStore = useRoomStore();\nconst {\n userList,\n userNumber,\n applyToAnchorList,\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n} = storeToRefs(roomStore);\n\nconst {\n audioManageInfo,\n videoManageInfo,\n showManageAllUserDialog,\n dialogTitleInfo,\n dialogActionInfo,\n ManageControlType,\n toggleManageMember,\n doToggleManageMember,\n t,\n} = useIndex();\n\n\n\nreturn { __sfc: true,roomStore, userList, userNumber, applyToAnchorList, isMicrophoneDisableForAllUser, isCameraDisableForAllUser, audioManageInfo, videoManageInfo, showManageAllUserDialog, dialogTitleInfo, dialogActionInfo, ManageControlType, toggleManageMember, doToggleManageMember, t, MemberItem, Dialog }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=746e3a0c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=746e3a0c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"746e3a0c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-container\"},[(_setup.applyToAnchorList.length > 0)?_c('div',{staticClass:\"apply-on-stage-info\"},[_c('div',{staticClass:\"apply-info\"},[_vm._v(\" \"+_vm._s(`${_setup.applyToAnchorList[0].userName || _setup.applyToAnchorList[0].userId} ${_setup.t('Applying for the stage')}`)+\" \")]),_c('div',{staticClass:\"button\",on:{\"click\":_setup.showApplyUserLit}},[_vm._v(_vm._s(_setup.t('Check')))])]):_vm._e(),_c('div',{staticClass:\"global-setting\"},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"item-left-section\"},[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.MicOn,\"size\":\"large\"}}),_c('span',{staticClass:\"setting-name\"},[_vm._v(_vm._s(_setup.t('Disable all audios')))])],1),_c('div',{staticClass:\"item-right-section\"},[_c('el-switch',{attrs:{\"value\":_setup.isMicrophoneDisableForAllUser},on:{\"change\":_setup.toggleAllAudio}})],1)]),_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"item-left-section\"},[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.CameraOn,\"size\":\"large\"}}),_c('span',{staticClass:\"setting-name\"},[_vm._v(_vm._s(_setup.t('Disable all videos')))])],1),_c('div',{staticClass:\"item-right-section\"},[_c('el-switch',{attrs:{\"value\":_setup.isCameraDisableForAllUser},on:{\"change\":_setup.toggleAllVideo}})],1)])]),_c('div',{staticClass:\"divide-line\"}),_c('div',{staticClass:\"member-list-container\"},[_c('div',{staticClass:\"member-list-header\"},[_vm._v(\" \"+_vm._s(_setup.t('Member List'))+\" \"),_c('span',{staticClass:\"member-count\"},[_vm._v(\"(\"+_vm._s(_setup.userNumber)+_vm._s(_setup.t('members'))+\")\")])]),_c('div',{staticClass:\"member-list-content\"},_vm._l((_setup.userList),function(userInfo){return _c(_setup.MemberItem,{key:userInfo.userId,attrs:{\"user-info\":userInfo}})}),1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport MemberItem from '../ManageMember/MemberItem';\nimport SvgIcon from '../common/SvgIcon.vue';\n\nimport { ICON_NAME } from '../../constants/icon';\nimport { storeToRefs } from 'pinia';\nimport { useRoomStore } from '../../stores/room';\nimport useIndex from './useIndexHooks';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst roomStore = useRoomStore();\n\nconst {\n userList,\n userNumber,\n applyToAnchorList,\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n} = storeToRefs(roomStore);\n\nconst {\n t,\n showApplyUserLit,\n toggleAllAudio,\n toggleAllVideo,\n} = useIndex();\n\n\nreturn { __sfc: true,roomStore, userList, userNumber, applyToAnchorList, isMicrophoneDisableForAllUser, isCameraDisableForAllUser, t, showApplyUserLit, toggleAllAudio, toggleAllVideo, MemberItem, SvgIcon, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=74166061&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=74166061&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74166061\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\n\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { useChatStore } from '../../stores/chat';\nimport { storeToRefs } from 'pinia';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport { computed, onUnmounted } from 'vue';\nimport logger from '../../utils/common/logger';\n\nexport default function useSideBar() {\n const roomEngine = useGetRoomEngine();\n const { t } = useI18n();\n\n const chatStore = useChatStore();\n const basicStore = useBasicStore();\n const { isSidebarOpen, sidebarName } = storeToRefs(basicStore);\n const showSideBar = computed(() => isSidebarOpen.value && sidebarName.value !== 'transfer-leave');\n const title = computed((): string => {\n let sidebarTitle = '';\n switch (sidebarName.value) {\n case 'chat':\n sidebarTitle = 'Chat';\n break;\n case 'invite':\n sidebarTitle = 'Invite';\n break;\n case 'more':\n sidebarTitle = 'More';\n break;\n case 'manage-member':\n sidebarTitle = 'Member management';\n break;\n default:\n break;\n }\n return t(sidebarTitle);\n });\n\n function handleClose(done: any) {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n done();\n }\n\n /** 监听消息接收,放在这里是为了打开 chat 之前只记录消息未读数 */\n const onReceiveTextMessage = (data: { roomId: string, message: any }) => {\n logger.warn('onReceiveTextMessage:', data);\n if (!basicStore.isSidebarOpen || basicStore.sidebarName !== 'chat') {\n // eslint-disable-next-line no-plusplus\n chatStore.updateUnReadCount(++chatStore.unReadCount);\n }\n };\n\n\n TUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n });\n\n onUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n });\n return {\n t,\n isSidebarOpen,\n title,\n sidebarName,\n handleClose,\n showSideBar,\n }\n ;\n}\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport Chat from '../Chat/index.vue';\nimport ManageMember from '../ManageMember/index';\nimport popup from '../common/PopUpH5.vue';\nimport useSideBar from './useSideBarHooks';\nimport ChatEditor from '../Chat/ChatEditor';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\n\nconst {\n title,\n sidebarName,\n showSideBar,\n} = useSideBar();\n\n\nreturn { __sfc: true,title, sidebarName, showSideBar, Chat, ManageMember, popup, ChatEditor }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=40f5a35a&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=40f5a35a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40f5a35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sidebar-container\"},[_c(_setup.Drawer,{attrs:{\"model-value\":_setup.isSidebarOpen,\"modal\":false,\"title\":_setup.title,\"direction\":\"rtl\",\"before-close\":_setup.handleClose,\"size\":480}},[(_setup.sidebarName == 'chat')?_c(_setup.Chat):_vm._e(),(_setup.sidebarName == 'invite')?_c(_setup.RoomInvite):_vm._e(),(_setup.sidebarName == 'more')?_c(_setup.RoomMore):_vm._e(),(_setup.sidebarName == 'manage-member')?_c(_setup.ManageMember):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Chat from '../Chat/index.vue';\nimport Drawer from '../../elementComp/Drawer.vue';\nimport useSideBar from './useSideBarHooks';\nimport RoomInvite from '../RoomInvite';\nimport ManageMember from '../ManageMember';\nimport RoomMore from '../RoomMore';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\n\nconst {\n isSidebarOpen,\n title,\n handleClose,\n sidebarName,\n} = useSideBar();\n\n\nreturn { __sfc: true,isSidebarOpen, title, handleClose, sidebarName, Chat, Drawer, RoomInvite, ManageMember, RoomMore }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=659a61f2&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=659a61f2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPc from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPc;\n\nexport default Index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"content-container\"},[_c(_setup.StreamContainer,{attrs:{\"show-room-tool\":_vm.showRoomTool}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"streamContainerRef\",staticClass:\"stream-container\",on:{\"touchstart\":_setup.handleTouchStart,\"touchend\":_setup.handleTouchEnd}},[_c('div',{class:_setup.streamContainerClass},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.layout === _setup.LAYOUT.LARGE_SMALL_WINDOW),expression:\"layout === LAYOUT.LARGE_SMALL_WINDOW\"}],ref:\"enlargedContainerRef\",staticClass:\"enlarged-stream-container\"},[(_setup.enlargeStream)?_c(_setup.StreamRegion,{attrs:{\"stream\":_setup.enlargeStream}}):_vm._e()],1),_c('div',{staticClass:\"stream-list-container\",class:[_setup.onlyVideoStreamList.length > 1 ? 'multi-stream-container' : 'single-stream-container']},[_c('div',{ref:\"streamListRef\",class:['stream-list', `${_setup.isFirstPageInSixPointLayout ? '' : 'not-first-page'}`]},_vm._l((_setup.onlyVideoStreamList),function(stream){return _c(_setup.StreamRegion,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showStreamList.indexOf(stream) > -1),expression:\"showStreamList.indexOf(stream) > -1\"}],key:`${stream.userId}_${stream.streamType}`,class:[_setup.onlyVideoStreamList.length > 1 ? 'multi-stream' : 'single-stream'],attrs:{\"stream\":stream,\"enlarge-dom-id\":_setup.enlargeDomId,\"show-room-tool\":_vm.showRoomTool}})}),1)])]),(_setup.totalPageNumber > 1)?_c('div',{staticClass:\"swipe\"},_vm._l((_setup.totalPageNumber),function(item,index){return _c('div',{key:item,staticClass:\"swipe-dots\",class:[_setup.isActiveDot(index) ? 'swipe-current-dots' : '']})}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.playRegionDomId !== _vm.enlargeDomId)?_c('div',{ref:\"streamRegionRef\",staticClass:\"user-stream-container\",class:[_setup.showVoiceBorder ? 'border' : '']},[_c('div',{staticClass:\"stream-region\",attrs:{\"id\":_setup.playRegionDomId}}),(!_vm.stream.hasVideoStream && !_vm.stream.hasScreenStream)?_c('div',{staticClass:\"center-user-info-container\"},[_c('img',{staticClass:\"avatar-region\",attrs:{\"src\":_vm.stream.avatarUrl || _setup.defaultAvatar}})]):_vm._e(),_c('div',{staticClass:\"corner-user-info-container\"},[(_setup.showMasterIcon)?_c(_setup.SvgIcon,{staticClass:\"master-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"user\"}}):_vm._e(),(!_setup.isScreenStream)?_c(_setup.AudioIcon,{staticClass:\"audio-icon\",attrs:{\"audio-volume\":_vm.stream.audioVolume,\"is-muted\":!_vm.stream.hasAudioStream,\"size\":\"small\"}}):_vm._e(),(_setup.isScreenStream)?_c(_setup.SvgIcon,{staticClass:\"screen-icon\",attrs:{\"icon-name\":\"screen-share\"}}):_vm._e(),_c('span',{staticClass:\"user-name\",attrs:{\"title\":_setup.userInfo}},[_vm._v(_vm._s(_setup.userInfo))]),(_setup.isScreenStream)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('is sharing their screen'))+\" \")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, nextTick, computed, onMounted } from 'vue';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport { useBasicStore } from '../../../stores/basic';\nimport logger from '../../../utils/common/logger';\nimport AudioIcon from '../../base/AudioIcon.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport {\n TUIVideoStreamType,\n TRTCVideoStreamType,\n TRTCVideoFillMode,\n TRTCVideoMirrorType,\n TRTCVideoRotation,\n} from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { isInnerScene } from '../../../utils/constants';\ninterface Props {\n stream: StreamInfo;\n enlargeDomId?: string;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamRegionH5',\n props: {\n stream: null,\n enlargeDomId: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n stream: StreamInfo;\n enlargeDomId?: string;\n}\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[StreamRegion]';\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n\nconst { t } = useI18n();\n\n\n\nconst streamRegionRef = ref();\nconst showVoiceBorder = computed(() => (\n props.stream?.audioVolume !== 0 && props.stream?.streamType !== TUIVideoStreamType.kScreenStream\n));\nconst playRegionDomId = computed(() => `${props.stream.userId}_${props.stream.streamType}`);\n\nconst showMasterIcon = computed(() => {\n const { userId, streamType } = props.stream;\n return userId === roomStore.masterUserId && streamType === TUIVideoStreamType.kCameraStream;\n});\n\nconst isScreenStream = computed(() => props.stream.streamType === TUIVideoStreamType.kScreenStream);\n\nconst userInfo = computed(() => {\n if (isInnerScene) {\n return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;\n }\n return props.stream.userName || props.stream.userId;\n});\n\nonMounted(() => {\n watch(\n () => props.stream.hasVideoStream,\n async (val) => {\n if (val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);\n if (basicStore.userId === props.stream.userId) {\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setRemoteRenderParams(props.stream.userId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, {\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n }\n }\n },\n { immediate: true },\n );\n});\n\nonMounted(() => {\n watch(\n () => props.stream.hasScreenStream,\n async (val) => {\n if (val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isScreenStreamAvailable:`, props.stream.userId, userIdEl);\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setRemoteRenderParams(props.stream.userId, TRTCVideoStreamType.TRTCVideoStreamTypeSub, {\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fit,\n });\n }\n }\n },\n { immediate: true },\n );\n});\n\n/**\n * enlargeUserId The switch requires that both the small window\n * corresponding to the previously played stream and the stream that needs to be newly played be replayed.\n *\n * enlargeUserId 切换的时候需要让之前播放流对应的小窗口和需要新播放的流都重新播放\n**/\nonMounted(() => {\n watch(\n () => props.enlargeDomId,\n async (val, oldVal) => {\n if (playRegionDomId.value === oldVal || playRegionDomId.value === val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n if (basicStore.userId === props.stream.userId) {\n /**\n * Replay local video streams only when they are open\n *\n * 只有当本地视频流是打开状态的时候,才重新播放本地流\n **/\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n };\n }\n }\n },\n );\n});\n\nreturn { __sfc: true,roomEngine, logPrefix, basicStore, roomStore, t, props, streamRegionRef, showVoiceBorder, playRegionDomId, showMasterIcon, isScreenStream, userInfo, defaultAvatar, AudioIcon, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamRegionH5.vue?vue&type=template&id=9adfd868&scoped=true&\"\nimport script from \"./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamRegionH5.vue?vue&type=style&index=0&id=9adfd868&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9adfd868\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.playRegionDomId !== _vm.enlargeDomId)?_c('div',{ref:\"streamRegionRef\",staticClass:\"user-stream-container\",on:{\"dblclick\":function($event){return _vm.$emit('room_dblclick')}}},[(_setup.loading)?_c('div',{staticClass:\"loading-region\"},[_c(_setup.SvgIcon,{staticClass:\"loading\",attrs:{\"icon-name\":\"loading\"}})],1):_vm._e(),_c('div',{staticClass:\"stream-region\",attrs:{\"id\":_setup.playRegionDomId}}),(!_vm.stream.hasVideoStream && !_vm.stream.hasScreenStream)?_c('div',{ref:\"centerUserInfoRef\",staticClass:\"center-user-info-container\"},[_c(_setup.Avatar,{staticClass:\"avatar-region\",attrs:{\"img-src\":_vm.stream.avatarUrl}})],1):_vm._e(),_c('div',{staticClass:\"corner-user-info-container\"},[(_setup.showMasterIcon)?_c(_setup.SvgIcon,{staticClass:\"master-icon\",attrs:{\"icon-name\":\"user\"}}):_vm._e(),(!_setup.isScreenStream)?_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_vm.stream.audioVolume,\"is-muted\":!_vm.stream.hasAudioStream,\"size\":\"small\"}}):_vm._e(),(_setup.isScreenStream)?_c(_setup.SvgIcon,{staticClass:\"screen-icon\",attrs:{\"icon-name\":\"screen-share\"}}):_vm._e(),_c('span',{staticClass:\"user-name\",attrs:{\"title\":_setup.userInfo}},[_vm._v(_vm._s(_setup.userInfo))]),(_setup.isScreenStream)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('is sharing their screen'))+\" \")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, nextTick, computed } from 'vue';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport Avatar from '../../base/Avatar.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport logger from '../../../utils/common/logger';\nimport AudioIcon from '../../base/AudioIcon.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport { TUIVideoStreamType } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { isInnerScene } from '../../../utils/constants';\n\ninterface Props {\n stream: StreamInfo,\n enlargeDomId?: string,\n changeLargeStream?:boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamRegionPC',\n props: {\n stream: null,\n enlargeDomId: null,\n changeLargeStream: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n stream: StreamInfo,\n enlargeDomId?: string,\n changeLargeStream?:boolean,\n}\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[StreamRegion]';\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n\nconst { t } = useI18n();\n\n\n\n\nconst streamRegionRef = ref();\nconst centerUserInfoRef = ref();\nconst loading = ref(false);\n\nconst playRegionDomId = computed(() => `${props.stream.userId}_${props.stream.streamType}`);\n\nconst showMasterIcon = computed(() => {\n const { userId, streamType } = props.stream;\n return userId === roomStore.masterUserId && streamType === TUIVideoStreamType.kCameraStream;\n});\n\nconst isScreenStream = computed(() => props.stream.streamType === TUIVideoStreamType.kScreenStream);\nconst userInfo = computed(() => {\n if (isInnerScene) {\n return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;\n }\n return props.stream.userName || props.stream.userId;\n});\n\n// 要拉取远端用户的流类型\nconst streamTypeToFetch = computed(() => {\n const { streamType, userId } = props.stream;\n const { kScreenStream, kCameraStream } = TUIVideoStreamType;\n const { defaultStreamType } = roomStore;\n const { userId: localUserId } = basicStore;\n if (streamType === kScreenStream) {\n return kScreenStream;\n }\n if (playRegionDomId.value === props.enlargeDomId || userId === localUserId) {\n return kCameraStream;\n }\n if (streamType === kCameraStream) {\n return defaultStreamType;\n }\n return streamType;\n});\n\nconst startPlayRemoteVideo = async () => {\n const { userId } = props.stream;\n // 播放远端流\n loading.value = true;\n roomEngine.instance?.setRemoteVideoView({ userId, streamType: streamTypeToFetch.value, view: `${playRegionDomId.value}` });\n await roomEngine.instance?.startPlayRemoteVideo({ userId, streamType: streamTypeToFetch.value });\n // 播放远端流成功\n loading.value = false;\n};\n\nconst stopPlayRemoteVideo = async () => {\n loading.value = false;\n await roomEngine.instance?.\n stopPlayRemoteVideo({ userId: props.stream.userId, streamType: streamTypeToFetch.value });\n};\n\nif (props.stream.streamType === TUIVideoStreamType.kCameraStream\n || props.stream.streamType === TUIVideoStreamType.kCameraStreamLow) {\n watch(\n () => [props.stream.hasVideoStream, props.stream.isVisible],\n async (val, oldVal) => {\n if (props.stream.userId === basicStore.userId) {\n return;\n }\n const [hasVideoStream, isVisible] = val;\n if (hasVideoStream && isVisible) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);\n await startPlayRemoteVideo();\n }\n }\n if (oldVal) {\n const [oldHasVideoStream, oldIsVisible] = oldVal;\n // 从有流且可见状态变为有流但不可见,无流但可见,无流且不可见状态,停止播放流\n if ((oldHasVideoStream && oldIsVisible) && (!hasVideoStream || !isVisible)) {\n await stopPlayRemoteVideo();\n }\n }\n },\n { immediate: true },\n );\n}\n\nif (props.stream.streamType === TUIVideoStreamType.kScreenStream) {\n watch(\n () => [props.stream.hasScreenStream, props.stream.isVisible],\n async (val, oldVal) => {\n const [hasScreenStream, isVisible] = val;\n if (hasScreenStream && isVisible) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isScreenStreamAvailable:`, props.stream.userId, userIdEl);\n await startPlayRemoteVideo();\n }\n }\n if (oldVal) {\n const [oldHasScreenStream, oldIsVisible] = oldVal;\n // 从有流且可见状态变为有流但不可见,无流但可见,无流且不可见状态,停止播放流\n if ((oldHasScreenStream && oldIsVisible) && (!hasScreenStream || !isVisible)) {\n await stopPlayRemoteVideo();\n }\n }\n },\n { immediate: true },\n );\n}\n\n\n/**\n * enlargeUserId The switch requires that both the small window\n * corresponding to the previously played stream and the stream that needs to be newly played be replayed.\n *\n * enlargeUserId 切换的时候需要让之前播放流对应的小窗口和需要新播放的流都重新播放\n**/\nwatch(\n () => props.enlargeDomId,\n async (val, oldVal) => {\n if (playRegionDomId.value === oldVal || playRegionDomId.value === val) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n if (basicStore.userId === props.stream.userId) {\n /**\n * Replay local video streams only when they are open\n *\n * 只有当本地视频流是打开状态的时候,才重新播放本地流\n **/\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: streamTypeToFetch.value,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n await startPlayRemoteVideo();\n };\n }\n }\n },\n { immediate: true },\n);\n\nreturn { __sfc: true,roomEngine, logPrefix, basicStore, roomStore, t, props, streamRegionRef, centerUserInfoRef, loading, playRegionDomId, showMasterIcon, isScreenStream, userInfo, streamTypeToFetch, startPlayRemoteVideo, stopPlayRemoteVideo, Avatar, AudioIcon, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamRegionPC.vue?vue&type=template&id=693d2878&scoped=true&\"\nimport script from \"./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamRegionPC.vue?vue&type=style&index=0&id=693d2878&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"693d2878\",\n null\n \n)\n\nexport default component.exports","import StreamRegionH5 from './StreamRegionH5.vue';\nimport StreamRegionPc from './StreamRegionPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst StreamRegion = isMobile ? StreamRegionH5 : StreamRegionPc;\n\nexport default StreamRegion;\n","import { watch } from 'vue';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../../stores/room';\nimport { TUIChangeReason, TUIUserInfo, TUIVideoStreamType } from '@tencentcloud/tuiroom-engine-js';\nimport { ElMessage } from '../../../elementComp';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { storeToRefs } from 'pinia';\nimport { isMobile, isWeChat } from '../../../utils/useMediaValue';\nimport logger from '../../../utils/common/logger';\n\nconst logPrefix = '[StreamContainer]';\n\nexport default function useStreamContainer() {\n /**\n * --- The following processing stream events ----\n *\n * --- 以下处理流事件 ----\n **/\n const roomEngine = useGetRoomEngine();\n const basicStore = useBasicStore();\n const roomStore = useRoomStore();\n const { t } = useI18n();\n\n // 远端用户进入\n const onRemoteUserEnterRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n roomStore.addRemoteUser(eventInfo.userInfo);\n };\n\n // 远端用户离开\n const onRemoteUserLeaveRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n roomStore.removeRemoteUser(eventInfo.userInfo.userId);\n };\n\n // 麦位变化\n const onSeatListChanged = (eventInfo: { seatList: any[], seatedList: any[], leftList: any[] }) => {\n const { seatList, seatedList, leftList } = eventInfo;\n roomStore.updateOnSeatList(seatList, seatedList, leftList);\n };\n\n // 用户音频状态发生改变\n const onUserAudioStateChanged = (eventInfo: {\n userId: string,\n hasAudio: boolean,\n reason: TUIChangeReason,\n }) => {\n const { userId, hasAudio, reason } = eventInfo;\n roomStore.updateUserAudioState(userId, hasAudio);\n // 处理状态变更\n if (userId === basicStore.userId && !hasAudio && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭麦克风\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your microphone'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * When the host turns on a full ban, the microphone of a single person is turned on\n * and off separately, and the microphone status of the corresponding user is inoperable at this time\n *\n * 主持人开启全员禁言时,单独打开再关闭单人的麦克风,此时对应用户的麦克风状态为无法操作\n **/\n roomStore.setCanControlSelfAudio(!roomStore.isMicrophoneDisableForAllUser);\n }\n };\n const {\n isDefaultOpenCamera,\n isDefaultOpenMicrophone,\n isLocalAudioIconDisable,\n isLocalVideoIconDisable,\n } = storeToRefs(roomStore);\n\n watch(isDefaultOpenCamera, async (val) => {\n if (val && !isLocalVideoIconDisable.value) {\n /**\n * Turn on the local camera\n *\n * 开启本地摄像头\n **/\n\n if (isWeChat) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n // @ts-ignore\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera });\n } else if (isMobile) {\n const previewDom = document?.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);\n if (!previewDom) {\n logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);\n return;\n }\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n // @ts-ignore\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera });\n return;\n } else {\n const previewDom = document?.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);\n if (!previewDom) {\n logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);\n return;\n }\n /**\n * Set device id\n *\n * 设置设备id\n **/\n if (!roomStore.currentCameraId) {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n if (cameraList && cameraList.length > 0) {\n roomStore.setCurrentCameraId(cameraList[0].deviceId);\n }\n }\n await roomEngine.instance?.setCurrentCameraDevice({ deviceId: roomStore.currentCameraId });\n /**\n * Turn on the local camera\n *\n * 开启本地摄像头\n **/\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n await roomEngine.instance?.openLocalCamera();\n }\n }\n });\n\n watch(isDefaultOpenMicrophone, async (val) => {\n if (val && !isLocalAudioIconDisable.value) {\n /**\n * Advance the timing of startMicrophone to ensure that it is executed before startCameraPreview\n *\n * 提前 startMicrophone 的时机,保证在 startCameraPreview 之前执行\n **/\n await roomEngine.instance?.openLocalMicrophone();\n if (!isWeChat && !isMobile) {\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n if (microphoneList?.length === 0 || speakerList?.length === 0) return;\n if (!roomStore.currentMicrophoneId && microphoneList.length > 0) {\n roomStore.setCurrentMicrophoneId(microphoneList[0].deviceId);\n }\n if (!roomStore.currentSpeakerId && speakerList.length > 0) {\n roomStore.setCurrentSpeakerId(speakerList[0].deviceId);\n }\n await roomEngine.instance?.setCurrentMicDevice({ deviceId: roomStore.currentMicrophoneId });\n }\n }\n });\n return {\n onRemoteUserEnterRoom,\n onRemoteUserLeaveRoom,\n onSeatListChanged,\n onUserAudioStateChanged,\n t,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onUnmounted, Ref, ComputedRef, watch, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport { useBasicStore } from '../../../stores/basic';\nimport { LAYOUT } from '../../../constants/render';\nimport StreamRegion from '../StreamRegion';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport logger from '../../../utils/common/logger';\nimport { throttle } from '../../../utils/utils';\n\nimport TUIRoomEngine, { TUIChangeReason, TUIRoomEvents, TUIVideoStreamType, TRTCVolumeInfo } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport useStreamContainer from './useStreamContainerHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamContainerH5',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\nconst logPrefix = '[StreamContainer]';\nconst {\n onRemoteUserEnterRoom,\n onRemoteUserLeaveRoom,\n onSeatListChanged,\n onUserAudioStateChanged,\n t,\n} = useStreamContainer();\n\nconst roomEngine = useGetRoomEngine();\n\n\n\n\n\nconst streamContainerRef = ref(null);\n\nconst roomStore = useRoomStore();\nconst {\n streamList,\n streamNumber,\n localStream,\n remoteStreamObj,\n} = storeToRefs(roomStore);\nconst basicStore = useBasicStore();\n// 小程序默认布局为六宫格模式\nbasicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\nconst { layout } = storeToRefs(basicStore);\n\nconst enlargeStream: Ref = ref(null);\nconst enlargeDomId = computed(() => (enlargeStream.value ? `${enlargeStream.value.userId}_${enlargeStream.value.streamType}` : ''));\nconst currentSpeakerUserId: Ref = ref('');\nconst startX = ref();\nconst startY = ref();\n\nconst onlyVideoStreamList = computed(() => (\n streamList.value.filter(stream => stream.streamType === TUIVideoStreamType.kCameraStream)\n));\nconst currentPageIndex = ref(0);\n\nwatch(() => onlyVideoStreamList.value.length, (val) => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n const equalPointIndex = enlargeStream.value ? currentPageIndex.value - 1 : currentPageIndex.value;\n if (Math.ceil(val / 6) < equalPointIndex + 1 && equalPointIndex > 0) {\n currentPageIndex.value = currentPageIndex.value - 1;\n }\n }\n});\n\nconst isFirstPageInSixPointLayout: Ref = computed(() => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n return enlargeStream.value ? currentPageIndex.value === 1 : currentPageIndex.value === 0;\n }\n return false;\n});\n\n/**\n * ----- The following handles the nine-pane page flip logic -----\n *\n * ----- 以下处理六宫格翻页逻辑 -----\n**/\nconst showStreamList: ComputedRef = computed(() => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n if (enlargeStream.value) {\n return onlyVideoStreamList.value.slice((currentPageIndex.value - 1) * 6, (currentPageIndex.value - 1) * 6 + 6);\n }\n return onlyVideoStreamList.value.slice(currentPageIndex.value * 6, currentPageIndex.value * 6 + 6);\n }\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n const userId = enlargeStream.value?.userId;\n if (currentSpeakerUserId.value) {\n return currentSpeakerUserId.value === localStream.value.userId\n ? [localStream.value]\n : [remoteStreamObj.value[`${currentSpeakerUserId.value}_${TUIVideoStreamType.kCameraStream}`]];\n }\n return [remoteStreamObj.value[`${userId}_${TUIVideoStreamType.kCameraStream}`]];\n }\n return [];\n});\n\n\n/**\n * Show left and right page flip icons\n *\n * 显示左右翻页图标\n**/\nconst totalPageNumber = computed(() => {\n const totalPageOfVideoStream = onlyVideoStreamList.value.length > 6 ? Math.ceil(streamNumber.value / 6) : 1;\n return enlargeStream.value ? totalPageOfVideoStream + 1 : totalPageOfVideoStream;\n});\n\nfunction isActiveDot(index: number) {\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n return index === 0;\n }\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n return index === currentPageIndex.value;\n }\n return false;\n}\n\n/**\n * Swipe left to turn the page\n *\n * 向左滑动翻页\n**/\nfunction handleTurnPageLeft() {\n if (currentPageIndex.value === 0) {\n return;\n }\n currentPageIndex.value = currentPageIndex.value - 1;\n if (enlargeStream.value && currentPageIndex.value === 0) {\n basicStore.setLayout(LAYOUT.LARGE_SMALL_WINDOW);\n }\n}\n\n/**\n * Swipe right to turn the page\n *\n * 向右滑动翻页\n**/\nfunction handleTurnPageRight() {\n if (currentPageIndex.value === totalPageNumber.value - 1) {\n return;\n }\n currentPageIndex.value = currentPageIndex.value + 1;\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n basicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\n }\n}\n\n/**\n * ----- The following processing stream layout ---------\n *\n * ----- 以下处理流布局 ---------\n**/\nconst enlargedContainerRef = ref();\nconst streamListRef = ref();\n\nconst streamContainerClass = computed(() => {\n let containerClass = '';\n switch (layout.value) {\n case LAYOUT.SIX_EQUAL_POINTS:\n containerClass = 'stream-container-flatten';\n break;\n case LAYOUT.LARGE_SMALL_WINDOW:\n containerClass = 'stream-container-large-small';\n break;\n default:\n break;\n }\n return containerClass;\n});\n\nfunction handleTouchStart(event:any) {\n startX.value = event?.changedTouches[0]?.pageX;\n startY.value = event?.changedTouches[0]?.pageY;\n}\n\nfunction handleTouchEnd(event:any) {\n const moveDirectionX = event?.changedTouches[0].pageX - startX.value;\n const moveDirectionY = event?.changedTouches[0].pageY - startY.value;\n if (Math.abs(moveDirectionY) > Math.abs(moveDirectionX) || Math.abs(moveDirectionX) < 5) {\n return;\n }\n if (moveDirectionX < 0) {\n // 右滑\n handleTurnPageRight();\n }\n if (moveDirectionX > 0) {\n // 左滑\n handleTurnPageLeft();\n }\n}\n\n/**\n * --- The following processing stream events ----\n *\n * --- 以下处理流事件 ----\n**/\n\n\nconst onUserVideoStateChanged = (eventInfo: {\n userId: string,\n streamType: TUIVideoStreamType,\n hasVideo: boolean,\n reason: TUIChangeReason,\n}) => {\n const { userId, streamType, hasVideo, reason } = eventInfo;\n // 更新 roomStore 流状态数据\n roomStore.updateUserVideoState(userId, streamType, hasVideo);\n\n // 处理状态变更\n if (userId === basicStore.userId && !hasVideo && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭摄像头\n if (streamType === TUIVideoStreamType.kCameraStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your camera'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n // When the moderator opens the whole staff forbidden to draw,\n // open and then close the single person's camera alone, at this time\n // the corresponding user's camera status for inoperable\n // 主持人开启全员禁画时,单独打开再关闭单人的摄像头,此时对应用户的摄像头状态为无法操作\n roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);\n }\n // 主持人关闭屏幕分享\n if (streamType === TUIVideoStreamType.kScreenStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your screen sharing'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n }\n\n // 当远端屏幕分享变化的时候,处理流布局\n if (userId !== basicStore.userId && streamType === TUIVideoStreamType.kScreenStream) {\n if (hasVideo) {\n enlargeStream.value = roomStore.remoteStreamObj[`${userId}_${streamType}`] as StreamInfo;\n if (enlargeStream.value) {\n basicStore.setLayout(LAYOUT.LARGE_SMALL_WINDOW);\n currentPageIndex.value = 0;\n }\n } else {\n if (userId === enlargeStream.value?.userId) {\n /**\n * Reset the stream playback layout when the remote screen sharing stream is stopped\n *\n * 远端屏幕分享流停止的时候,重新设置流播放布局\n **/\n logger.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);\n roomEngine.instance?.stopPlayRemoteVideo({\n userId,\n streamType,\n });\n if (enlargeStream.value) {\n enlargeStream.value = null;\n }\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n basicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\n currentPageIndex.value = 0;\n } else if (layout.value === LAYOUT.SIX_EQUAL_POINTS && currentPageIndex.value > 0) {\n currentPageIndex.value = currentPageIndex.value - 1;\n }\n }\n }\n }\n};\n\n// 计算音量最大的 userId\nfunction handleLargestVoice(userVolumeList: Array) {\n if (currentSpeakerUserId.value) {\n const lastSpeakerUserVolumeInfo = userVolumeList.find((item: TRTCVolumeInfo) => (\n item.userId === currentSpeakerUserId.value\n ));\n if (lastSpeakerUserVolumeInfo && lastSpeakerUserVolumeInfo.volume > 0) {\n return;\n }\n }\n let largestVolume = 0;\n let largestUserId = '';\n userVolumeList.forEach((item: TRTCVolumeInfo) => {\n const { userId, volume } = item;\n if (volume > largestVolume) {\n largestVolume = volume;\n largestUserId = userId;\n }\n });\n if (largestVolume === 0) {\n currentSpeakerUserId.value = '';\n } else {\n currentSpeakerUserId.value = largestUserId;\n }\n}\n\nconst handleLargestVoiceThrottle = throttle(handleLargestVoice, 1000);\n\n// 音量变化\nconst onUserVoiceVolumeChanged = (eventInfo: {\n userVolumeList: any[],\n}) => {\n const { userVolumeList } = eventInfo;\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n if (userVolumeList.length === 0) {\n currentSpeakerUserId.value = '';\n } else {\n handleLargestVoiceThrottle(userVolumeList);\n }\n }\n};\n\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n});\n\nreturn { __sfc: true,logPrefix, onRemoteUserEnterRoom, onRemoteUserLeaveRoom, onSeatListChanged, onUserAudioStateChanged, t, roomEngine, streamContainerRef, roomStore, streamList, streamNumber, localStream, remoteStreamObj, basicStore, layout, enlargeStream, enlargeDomId, currentSpeakerUserId, startX, startY, onlyVideoStreamList, currentPageIndex, isFirstPageInSixPointLayout, showStreamList, totalPageNumber, isActiveDot, handleTurnPageLeft, handleTurnPageRight, enlargedContainerRef, streamListRef, streamContainerClass, handleTouchStart, handleTouchEnd, onUserVideoStateChanged, handleLargestVoice, handleLargestVoiceThrottle, onUserVoiceVolumeChanged, LAYOUT, StreamRegion }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamContainerH5.vue?vue&type=template&id=3424abc2&scoped=true&\"\nimport script from \"./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamContainerH5.vue?vue&type=style&index=0&id=3424abc2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3424abc2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_setup.streamContainerClass},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showIconControl),expression:\"showIconControl\"}],ref:\"enlargedContainerRef\",staticClass:\"enlarged-stream-container\"},[(_setup.enlargeStream)?_c(_setup.StreamRegion,{key:`${_setup.enlargeStream.userId}_${_setup.enlargeStream.streamType}`,style:(_setup.enlargedStreamStyle),attrs:{\"stream\":_setup.enlargeStream}}):_vm._e()],1),_c('div',{class:['stream-list-container', `${_setup.showSideList ? '' : 'hide-list'}`]},[_c('div',{ref:\"streamListRef\",staticClass:\"stream-list\"},_vm._l((_setup.streamList),function(stream){return _c(_setup.StreamRegion,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showStreamList.indexOf(stream) > -1),expression:\"showStreamList.indexOf(stream) > -1\"}],key:`${stream.userId}_${stream.streamType}`,staticClass:\"single-stream\",style:(_setup.streamStyle),attrs:{\"stream\":stream,\"enlarge-dom-id\":_setup.enlargeDomId},on:{\"room_dblclick\":function($event){return _setup.handleEnlargeStreamRegion(stream)}}})}),1)]),(_setup.showIconControl && _vm.showRoomTool)?_c('div',{class:_setup.arrowClass,on:{\"click\":_setup.handleClickIcon}},[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"line-arrow-up\",\"size\":\"medium\"}})],1):_vm._e(),(_setup.showTurnPageControl && _vm.showRoomTool)?_c('div',{staticClass:\"turn-page-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showTurnPageLeftArrow),expression:\"showTurnPageLeftArrow\"}],staticClass:\"turn-page-arrow-container left-container\",on:{\"click\":_setup.handleTurnPageLeft}},[_c('div',{staticClass:\"turn-page-arrow\"})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showTurnPageRightArrow),expression:\"showTurnPageRightArrow\"}],staticClass:\"turn-page-arrow-container right-container\",on:{\"click\":_setup.handleTurnPageRight}},[_c('div',{staticClass:\"turn-page-arrow turn-page-right\"})])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted, Ref, ComputedRef, watch, nextTick, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport { useBasicStore } from '../../../stores/basic';\nimport { LAYOUT } from '../../../constants/render';\nimport StreamRegion from '../StreamRegion';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { debounce } from '../../../utils/utils';\nimport logger from '../../../utils/common/logger';\n\nimport TUIRoomEngine, { TUIUserInfo, TUIChangeReason, TUIRoomEvents, TUIVideoStreamType, TUISeatInfo } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport useStreamContainer from './useStreamContainerHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamContainerPC',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\nconst logPrefix = '[StreamContainer]';\nconst {\n onRemoteUserEnterRoom,\n onUserAudioStateChanged,\n t,\n} = useStreamContainer();\nconst roomEngine = useGetRoomEngine();\n\n\n\n\nconst streamStyle: Ref> = ref({ width: '0', height: '0' });\nconst enlargedStreamStyle: Ref> = ref({ width: '0', height: '0' });\nconst roomStore = useRoomStore();\nconst { streamList, streamNumber, remoteStreamList } = storeToRefs(roomStore);\nconst basicStore = useBasicStore();\nconst { layout } = storeToRefs(basicStore);\nconst showSideList = ref(true);\n\nconst enlargeStream: Ref = ref(null);\nconst enlargeDomId = computed(() => (enlargeStream.value ? `${enlargeStream.value.userId}_${enlargeStream.value.streamType}` : ''));\n\nwatch(() => remoteStreamList.value.length, (val) => {\n // 当没有远端流的时候,将流布局改为九宫格\n if (val === 0) {\n basicStore.setLayout(LAYOUT.NINE_EQUAL_POINTS);\n enlargeStream.value = null;\n return;\n }\n});\n\nwatch(() => streamList.value.length, () => {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST || layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleStreamContainerScroll();\n }\n});\n\nwatch(() => enlargeDomId.value, () => {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST || layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleStreamContainerScroll();\n }\n});\n\n/**\n * ----- The following handles the nine-pane page flip logic -----\n *\n * ----- 以下处理九宫格翻页逻辑 -----\n**/\nconst currentPageIndex = ref(0);\nconst showStreamList: ComputedRef = computed(() => {\n if (layout.value !== LAYOUT.NINE_EQUAL_POINTS) {\n return streamList.value.filter(item => `${item.userId}_${item.streamType}` !== enlargeDomId.value);\n }\n return streamList.value.slice(currentPageIndex.value * 9, currentPageIndex.value * 9 + 9);\n});\n\nwatch([() => showStreamList.value.length, currentPageIndex], () => {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n const streamIdList: string[] = [];\n showStreamList.value.forEach((item) => {\n const currentStreamId = `${item.userId}_${item.streamType}`;\n streamIdList.push(currentStreamId);\n });\n roomStore.updateUserStreamVisible(streamIdList);\n }\n});\n\nwatch(streamNumber, (val) => {\n if (currentPageIndex.value > Math.ceil(val / 9) - 1) {\n currentPageIndex.value = Math.ceil(val / 9) - 1;\n handleNineEqualPointsLayout();\n }\n});\n\n/**\n * Show left and right page flip icons\n *\n * 显示左右翻页图标\n**/\nconst showTurnPageControl = computed(() => layout.value === LAYOUT.NINE_EQUAL_POINTS && streamNumber.value > 9);\n/**\n * Whether or not to show the nine-page-to-left button\n *\n * 是否展示九宫格朝左翻页按钮\n**/\nconst showTurnPageLeftArrow = computed(() => currentPageIndex.value > 0);\n/**\n * Whether or not to display the nine-pane rightward-facing page button\n *\n * 是否展示九宫格朝右翻页按钮\n**/\nconst showTurnPageRightArrow = computed(() => streamNumber.value > currentPageIndex.value * 9 + 9);\n\n/**\n * Nine grid layout towards the left to turn the page\n *\n * 九宫格布局朝左翻页\n**/\nfunction handleTurnPageLeft() {\n currentPageIndex.value = currentPageIndex.value - 1;\n handleNineEqualPointsLayout();\n}\n\n/**\n * Nine grid layout towards the right to turn the page\n *\n * 九宫格布局朝右翻页\n**/\nfunction handleTurnPageRight() {\n currentPageIndex.value = currentPageIndex.value + 1;\n handleNineEqualPointsLayout();\n}\n\n/**\n * ----- The following processing stream layout ---------\n *\n * ----- 以下处理流布局 ---------\n**/\nconst streamContainerClass = ref('');\nconst enlargedContainerRef = ref();\nconst streamListRef = ref();\n\nconst arrowClass = computed(() => {\n let arrowDirection = '';\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n arrowDirection = showSideList.value ? 'up' : 'down';\n }\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n arrowDirection = showSideList.value ? 'right' : 'left';\n }\n return `icon-control arrow-${arrowDirection}`;\n});\n\nfunction handleClickIcon() {\n showSideList.value = !showSideList.value;\n if (!showSideList.value) {\n let width = 0;\n let height = 0;\n const containerWidth = document.getElementById('roomContainer')!.offsetWidth;\n const containerHeight = document.getElementById('roomContainer')!.offsetHeight;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n /**\n * Modify the width and height of the enlargedContainer\n *\n * 修改 enlargedContainer 的宽和高\n **/\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n enlargedContainerRef.value.style.top = '0px';\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n } else {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n handleRightSideListLayout();\n enlargedContainerRef.value.style.width = 'calc(100% - 260px)';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleTopSideListLayout();\n enlargedContainerRef.value.style.top = '175px';\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = 'calc(100% - 175px)';\n return;\n }\n }\n}\n\n/**\n * Handle nine-pattern layout\n *\n * 处理九宫格布局\n**/\nasync function handleNineEqualPointsLayout() {\n streamContainerClass.value = 'stream-container-flatten';\n\n enlargeStream.value = null;\n\n const number = showStreamList.value.length;\n let width = 0;\n let height = 0;\n const roomContainerElement = document.getElementById('roomContainer');\n if (!roomContainerElement) {\n return;\n }\n let containerWidth = roomContainerElement!.offsetWidth;\n let containerHeight = roomContainerElement!.offsetHeight;\n if (number <= 4) {\n containerWidth = number < 2 ? roomContainerElement!.offsetWidth / number : roomContainerElement!.offsetWidth / 2;\n containerHeight = roomContainerElement!.offsetHeight / Math.ceil(number / 2);\n } else if (number > 4) {\n containerWidth = number < 3 ? roomContainerElement!.offsetWidth / number : roomContainerElement!.offsetWidth / 3;\n containerHeight = roomContainerElement!.offsetHeight / Math.ceil(number / 3);\n }\n\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n // 九宫格模式需要减掉 streamRegion 的 margin 的尺寸\n streamStyle.value.width = `${width - 8}px`;\n streamStyle.value.height = `${height - 8}px`;\n}\n\n/**\n * Handle sidebar layout\n *\n * 处理侧边栏布局\n**/\nasync function handleRightSideListLayout() {\n streamContainerClass.value = 'stream-container-right';\n\n if (!enlargeStream.value) {\n [enlargeStream.value] = remoteStreamList.value;\n }\n\n await nextTick();\n\n streamStyle.value = {};\n\n if (enlargedContainerRef.value) {\n const containerWidth = enlargedContainerRef.value.offsetWidth;\n const containerHeight = enlargedContainerRef.value.offsetHeight;\n let width = 0;\n let height = 0;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n }\n}\n\n/**\n * Handle top bar layout\n *\n * 处理顶部栏布局\n**/\nasync function handleTopSideListLayout() {\n streamContainerClass.value = 'stream-container-top';\n\n if (!enlargeStream.value) {\n [enlargeStream.value] = remoteStreamList.value;\n }\n\n await nextTick();\n\n streamStyle.value = {};\n\n if (enlargedContainerRef.value) {\n const containerWidth = enlargedContainerRef.value.offsetWidth;\n const containerHeight = enlargedContainerRef.value.offsetHeight;\n let width = 0;\n let height = 0;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n }\n}\n\n/**\n * Double-click to switch the stream to the zoom in section\n *\n * 双击切换流到放大区域\n**/\nfunction handleEnlargeStreamRegion(stream: StreamInfo) {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n basicStore.setLayout(LAYOUT.RIGHT_SIDE_LIST);\n }\n enlargeStream.value = stream;\n}\n\n/**\n * Handle the page layout when the page loads or the layout changes\n *\n * 页面加载或者 layout 改变时,处理页面布局\n**/\nasync function handleLayout() {\n switch (layout.value as any) {\n case LAYOUT.NINE_EQUAL_POINTS:\n await handleNineEqualPointsLayout();\n break;\n case LAYOUT.RIGHT_SIDE_LIST:\n showSideList.value = true;\n enlargedContainerRef.value.style.width = 'calc(100% - 260px)';\n enlargedContainerRef.value.style.height = '100%';\n await handleRightSideListLayout();\n await handleStreamContainerScroll();\n break;\n case LAYOUT.TOP_SIDE_LIST:\n showSideList.value = true;\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = 'calc(100% - 175px)';\n await handleTopSideListLayout();\n await handleStreamContainerScroll();\n break;\n default:\n break;\n }\n}\n\n/**\n * Processing stream window size when page rescaling\n *\n * 页面 resize 时,处理流窗口尺寸\n**/\nasync function handleResize() {\n switch (layout.value as any) {\n case LAYOUT.NINE_EQUAL_POINTS:\n await handleNineEqualPointsLayout();\n break;\n case LAYOUT.RIGHT_SIDE_LIST:\n await handleRightSideListLayout();\n await handleStreamContainerScroll();\n break;\n case LAYOUT.TOP_SIDE_LIST:\n await handleTopSideListLayout();\n await handleStreamContainerScroll();\n break;\n default:\n break;\n }\n}\n\nonMounted(() => {\n handleLayout();\n ['resize', 'pageshow'].forEach((event) => {\n window.addEventListener(event, handleResize);\n });\n});\n\nonUnmounted(() => {\n ['resize', 'pageshow'].forEach((event) => {\n window.removeEventListener(event, handleResize);\n });\n});\n\nwatch(streamNumber, () => {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n handleNineEqualPointsLayout();\n }\n});\n\nwatch(layout, () => {\n handleLayout();\n});\n\nconst showIconControl = computed(() => [LAYOUT.RIGHT_SIDE_LIST, LAYOUT.TOP_SIDE_LIST].indexOf(layout.value) >= 0);\n\n\nconst onUserVideoStateChanged = (eventInfo: {\n userId: string,\n streamType: TUIVideoStreamType,\n hasVideo: boolean,\n reason: TUIChangeReason,\n}) => {\n const { userId, streamType, hasVideo, reason } = eventInfo;\n // 更新 roomStore 流状态数据\n roomStore.updateUserVideoState(userId, streamType, hasVideo);\n\n // 处理状态变更\n if (userId === basicStore.userId && !hasVideo && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭摄像头\n if (streamType === TUIVideoStreamType.kCameraStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your camera'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n // When the moderator opens the whole staff forbidden to draw,\n // open and then close the single person's camera alone, at this time\n // the corresponding user's camera status for inoperable\n // 主持人开启全员禁画时,单独打开再关闭单人的摄像头,此时对应用户的摄像头状态为无法操作\n roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);\n }\n // 主持人关闭屏幕分享\n if (streamType === TUIVideoStreamType.kScreenStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your screen sharing'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n }\n\n // 当远端屏幕分享变化的时候,处理流布局\n if (userId !== basicStore.userId && streamType === TUIVideoStreamType.kScreenStream) {\n if (hasVideo) {\n roomStore.setHasOtherScreenShare(true);\n enlargeStream.value = roomStore.remoteStreamObj[`${userId}_${streamType}`] as StreamInfo;\n if (enlargeStream.value) {\n if (layout.value !== LAYOUT.RIGHT_SIDE_LIST && layout.value !== LAYOUT.TOP_SIDE_LIST) {\n basicStore.setLayout(LAYOUT.RIGHT_SIDE_LIST);\n }\n }\n } else {\n roomStore.setHasOtherScreenShare(false);\n /**\n * Reset the stream playback layout when the remote screen sharing stream is stopped\n *\n * 远端屏幕分享流停止的时候,重新设置流播放布局\n **/\n if (userId === enlargeStream.value?.userId) {\n handleLargeStreamLeave();\n }\n\n logger.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);\n roomEngine.instance?.stopPlayRemoteVideo({\n userId,\n streamType,\n });\n }\n }\n};\n\n// 麦位变化\nconst onSeatListChanged = (eventInfo:\n { seatList: TUISeatInfo[], seatedList: TUISeatInfo[], leftList: TUISeatInfo[] }) => {\n const { seatList, seatedList, leftList } = eventInfo;\n roomStore.updateOnSeatList(seatList, seatedList, leftList);\n const leftUserIdList = leftList.map(item => item.userId);\n // 最大屏用户下麦时,需要更换最大屏用户\n if (enlargeStream.value && leftUserIdList.includes(enlargeStream.value?.userId)) {\n handleLargeStreamLeave();\n }\n};\n\n// 远端用户离开\nconst onRemoteUserLeaveRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n const { userInfo: { userId } } = eventInfo;\n roomStore.removeRemoteUser(userId);\n if (userId === enlargeStream.value?.userId) {\n handleLargeStreamLeave();\n }\n};\n\n// 处理大窗口流离开\nconst handleLargeStreamLeave = () => {\n if (roomStore.remoteStreamList.length === 0) {\n basicStore.setLayout(LAYOUT.NINE_EQUAL_POINTS);\n enlargeStream.value = null;\n } else {\n [enlargeStream.value] = roomStore.remoteStreamList;\n }\n};\n\n// 处理侧边栏&顶部栏的视频懒加载\nconst handleStreamContainerScroll = async () => {\n const childDom = streamListRef.value.children[0];\n // 添加 nextTick 处理顶部栏模式下新增用户触发 scroll,但是拿到的 streamListRef.value.offsetWidth 还没有更新的问题\n await nextTick();\n\n // 从第几个\n let index = 0;\n let finalIndex = 0;\n // 可视区域有几个\n let number = 0;\n\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n const firstChildHeight = childDom.offsetHeight + 10;\n const normalChildHeight = childDom.offsetHeight + 14;\n const streamListRefEnd = streamListRef.value.scrollTop + streamListRef.value.offsetHeight;\n index = Math.floor((streamListRef.value.scrollTop - firstChildHeight) / normalChildHeight) + 1;\n finalIndex = Math.ceil((streamListRefEnd - firstChildHeight) / normalChildHeight) + 1;\n } else if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n const firstChildWidth = childDom.offsetWidth;\n const normalChildWidth = childDom.offsetWidth + 14;\n const streamListRefEnd = streamListRef.value.scrollLeft + streamListRef.value.offsetWidth;\n index = Math.floor((streamListRef.value.scrollLeft - firstChildWidth) / normalChildWidth) + 1;\n finalIndex = Math.ceil((streamListRefEnd - firstChildWidth) / normalChildWidth) + 1;\n }\n if (index < 0) {\n index = 0;\n }\n number = finalIndex - index;\n if (number > (showStreamList.value.length - index)) {\n number = showStreamList.value.length - index;\n }\n\n const streamUserIdList = [];\n [...new Array(number)].forEach(() => {\n const currentStreamId = `${showStreamList.value[index].userId}_${showStreamList.value[index].streamType}`;\n streamUserIdList.push(currentStreamId);\n index = index + 1;\n });\n streamUserIdList.push(enlargeDomId.value);\n\n // 修改对应的 streamInfo 的 isVisible 为 true\n roomStore.updateUserStreamVisible(streamUserIdList);\n};\n\nconst handleStreamContainerScrollDebounce = debounce(handleStreamContainerScroll, 300);\n\nonMounted(() => {\n streamListRef.value.addEventListener('scroll', handleStreamContainerScrollDebounce);\n});\n\nonUnmounted(() => {\n streamListRef.value && streamListRef.value.removeEventListener('scroll', handleStreamContainerScrollDebounce);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n});\n\nreturn { __sfc: true,logPrefix, onRemoteUserEnterRoom, onUserAudioStateChanged, t, roomEngine, streamStyle, enlargedStreamStyle, roomStore, streamList, streamNumber, remoteStreamList, basicStore, layout, showSideList, enlargeStream, enlargeDomId, currentPageIndex, showStreamList, showTurnPageControl, showTurnPageLeftArrow, showTurnPageRightArrow, handleTurnPageLeft, handleTurnPageRight, streamContainerClass, enlargedContainerRef, streamListRef, arrowClass, handleClickIcon, handleNineEqualPointsLayout, handleRightSideListLayout, handleTopSideListLayout, handleEnlargeStreamRegion, handleLayout, handleResize, showIconControl, onUserVideoStateChanged, onSeatListChanged, onRemoteUserLeaveRoom, handleLargeStreamLeave, handleStreamContainerScroll, handleStreamContainerScrollDebounce, StreamRegion, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamContainerPC.vue?vue&type=template&id=35d1e596&scoped=true&\"\nimport script from \"./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamContainerPC.vue?vue&type=style&index=0&id=35d1e596&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35d1e596\",\n null\n \n)\n\nexport default component.exports","import StreamContainerH5 from './StreamContainerH5.vue';\nimport StreamContainerPc from './StreamContainerPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst StreamContainer = isMobile ? StreamContainerH5 : StreamContainerPc;\n\nexport default StreamContainer;\n","import { defineComponent as _defineComponent } from 'vue'\nimport StreamContainer from './StreamContainer';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\n\n\nreturn { __sfc: true,StreamContainer }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f3be1146&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=f3be1146&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f3be1146\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSettingDialog)?_c('div',{staticClass:\"setting-dialog\"},[_c('div',{staticClass:\"dialog-tabs\"},[_c('span',{staticClass:\"dialog-title\"},[_vm._v(_vm._s(_setup.t('Settings')))]),_vm._l((_setup.settingTabsTitleList),function(item,index){return _c('div',{key:index,class:['tabs-title', `${_setup.activeSettingTab === item.value ? 'active' : ''}`],on:{\"click\":function($event){return _setup.handleUpdateActiveTab(item.value)}}},[_vm._v(\" \"+_vm._s(item.label)+\" \")])})],2),_c('div',{staticClass:\"divide-line\"}),_c('div',{staticClass:\"dialog-content\"},[(_setup.activeSettingTab === 'audio')?_c(_setup.AudioSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL}}):_vm._e(),(_setup.activeSettingTab === 'video')?_c(_setup.VideoSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL,\"with-preview\":true}}):_vm._e()],1),_c(_setup.SvgIcon,{staticClass:\"close-icon\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.handleCloseSettingDialog}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { SettingMode } from '../../constants/render';\nimport { useI18n } from '../../locales';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n setup(__props) {\n\n// import { ref } from 'vue';\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\n\nconst { showSettingDialog, activeSettingTab } = storeToRefs(basicStore);\n\n/**\n * TODO: Refine the rest of the settings Tab\n *\n * TODO: 完善其余设置 Tab\n**/\nconst settingTabsTitleList = computed(() => [\n { label: t('Audio settings'), value: 'audio' },\n { label: t('Camera settings'), value: 'video' },\n // { label: '美颜和虚拟设置', value: 'beauty' },\n // { label: '统计功能', value: 'static' },\n // { label: '录制', value: 'record' },\n]);\n\nfunction handleUpdateActiveTab(tabTitle: string) {\n basicStore.setActiveSettingTab(tabTitle);\n}\n\nfunction handleCloseSettingDialog() {\n basicStore.setShowSettingDialog(false);\n}\n\n\nreturn { __sfc: true,t, basicStore, showSettingDialog, activeSettingTab, settingTabsTitleList, handleUpdateActiveTab, handleCloseSettingDialog, SvgIcon, AudioSettingTab, VideoSettingTab, SettingMode }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3d8c7752&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3d8c7752&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d8c7752\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { ElMessage, ElMessageBox } from './elementComp';\nimport { ref, onMounted, onUnmounted, Ref, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport RoomHeader from './components/RoomHeader/index';\nimport RoomFooter from './components/RoomFooter/index';\nimport RoomSidebar from './components/RoomSidebar';\nimport RoomContent from './components/RoomContent/index.vue';\nimport RoomSetting from './components/RoomSetting/index.vue';\nimport { debounce, throttle } from './utils/utils';\nimport { useBasicStore } from './stores/basic';\nimport { useRoomStore } from './stores/room';\nimport { useChatStore } from './stores/chat';\nimport { isMobile, isWeChat } from './utils/useMediaValue';\nimport './directives/vTap';\nimport TUIRoomEngine, {\n TRTCVideoMirrorType,\n TRTCVideoRotation,\n TRTCVideoFillMode,\n TUIRoomEvents,\n TUIRoomType,\n TRTCDeviceType,\n TRTCDeviceState,\n TUISpeechMode,\n TUIKickedOutOfRoomReason,\n TRTCVideoResolution,\n TRTCVideoEncParam,\n TUIRole,\n} from '@tencentcloud/tuiroom-engine-js';\n\n\nimport TUIRoomAegis from './utils/aegis';\nimport { MESSAGE_DURATION } from './constants/message';\nimport { useI18n } from './locales';\n\nimport useGetRoomEngine from './hooks/useRoomEngine';\nimport logger from './utils/common/logger';\n\ninterface RoomParam {\n\tisOpenCamera: boolean,\n\tisOpenMicrophone: boolean,\n\tdefaultCameraId: string,\n\tdefaultMicrophoneId: string,\n\tdefaultSpeakerId: string,\n}\n\ninterface RoomInitData {\n sdkAppId: number,\n userId: string,\n userSig: string,\n userName: string,\n avatarUrl: string,\n showHeaderTool: boolean,\n theme?: {\n defaultTheme: 'black' | 'white',\n isSupportSwitchTheme: boolean,\n },\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n emits: [\n 'on-log-out',\n 'on-create-room',\n 'on-enter-room',\n 'on-exit-room',\n 'on-destroy-room',\n // 用户被踢出房间\n 'on-kicked-out-of-room',\n // 用户被踢下线\n 'on-kicked-off-line',\n // 用户 userSig 过期\n 'on-userSig-expired',\n],\n setup(__props, { expose, emit }) {\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nexpose({\n init,\n createRoom,\n enterRoom,\n dismissRoom,\n leaveRoom,\n resetStore,\n t,\n});\n\n\n\nconst logPrefix = '[Room]';\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst chatStore = useChatStore();\n\nconst { sdkAppId, showHeaderTool, } = storeToRefs(basicStore);\nconst { localUser } = storeToRefs(roomStore);\n\n/**\n * Handle page mouse hover display toolbar logic\n *\n * 处理页面鼠标悬浮显示工具栏逻辑\n**/\nconst roomContentRef = ref>();\nconst showRoomTool: Ref = ref(true);\nconst roomRef: Ref = ref();\nfunction handleHideRoomTool() {\n showRoomTool.value = false;\n}\n\nconst handleHideRoomToolDebounce = debounce(handleHideRoomTool, 5000);\nconst handleHideRoomToolThrottle = throttle(handleHideRoomToolDebounce, 1000);\n\nconst smallParam = new TRTCVideoEncParam();\nsmallParam.videoResolution = TRTCVideoResolution.TRTCVideoResolution_640_360;\nsmallParam.videoFps = 10;\nsmallParam.videoBitrate = 550;\n\n// PC 端处理 room 控制栏交互\nif (!isWeChat && !isMobile) {\n onMounted(() => {\n roomRef.value?.addEventListener('mouseenter', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n });\n roomRef.value?.addEventListener('click', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n }, false);\n roomRef.value?.addEventListener('mousemove', () => {\n showRoomTool.value = true;\n handleHideRoomToolThrottle();\n });\n roomRef.value?.addEventListener('mouseleave', () => {\n showRoomTool.value = false;\n });\n });\n onUnmounted(() => {\n roomRef.value?.removeEventListener('mouseenter', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n });\n roomRef.value?.removeEventListener('click', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n }, false);\n roomRef.value?.removeEventListener('mousemove', () => {\n showRoomTool.value = true;\n handleHideRoomToolThrottle();\n });\n roomRef.value?.removeEventListener('mouseleave', () => {\n showRoomTool.value = false;\n });\n });\n}\n\n// H5 及小程序端处理 room 控制栏交互\nfunction handleRoomContentTap() {\n showRoomTool.value = !showRoomTool.value;\n if (showRoomTool.value) {\n handleHideRoomToolDebounce();\n }\n}\n\nonMounted(async () => {\n const defaults = basicStore.defaultTheme;\n const storageCurrentTheme = localStorage.getItem('tuiRoom-currentTheme') || defaults;\n basicStore.setDefaultTheme(storageCurrentTheme);\n document.body.setAttribute('data-theme', storageCurrentTheme);\n if (isMobile) {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setLocalRenderParams({\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n});\n\n\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n emit('on-destroy-room');\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\nasync function leaveRoom() {\n try {\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n emit('on-exit-room');\n logger.log(`${logPrefix}leaveRoom:`, response);\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function closeMediaBeforeLeave() {\n if (localUser.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n if (localUser.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n }\n}\n\nasync function init(option: RoomInitData) {\n basicStore.setBasicInfo(option);\n roomStore.setLocalUser(option);\n const { sdkAppId, userId, userSig, userName, avatarUrl } = option;\n await TUIRoomEngine.login({ sdkAppId, userId, userSig });\n await TUIRoomEngine.setSelfInfo({ userName, avatarUrl });\n}\n\nasync function createRoom(options: {\n roomId: string,\n roomName: string,\n roomMode: 'FreeToSpeak' | 'SpeakAfterTakingSeat',\n roomParam?: RoomParam,\n}) {\n const { roomId, roomName, roomMode, roomParam } = options;\n try {\n if (!roomEngine.instance) {\n return;\n }\n basicStore.setRoomId(roomId);\n logger.debug(`${logPrefix}createRoom:`, roomId, roomMode, roomParam);\n const roomParams = {\n roomId,\n name: roomName,\n roomType: TUIRoomType.kConference,\n };\n if (roomMode === 'FreeToSpeak') {\n Object.assign(roomParams, {\n speechMode: TUISpeechMode.kFreeToSpeak,\n });\n } else {\n Object.assign(roomParams, {\n speechMode: TUISpeechMode.kSpeakAfterTakingSeat,\n });\n }\n await roomEngine.instance?.createRoom(roomParams);\n emit('on-create-room', {\n code: 0,\n message: 'create room success',\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud.setDefaultStreamRecvMode(true, false);\n trtcCloud.enableSmallVideoStream(true, smallParam);\n const roomInfo = await roomEngine.instance?.enterRoom({ roomId });\n emit('on-enter-room', {\n code: 0,\n message: 'enter room success',\n });\n roomStore.setRoomInfo(roomInfo);\n // 申请发言模式房主上麦\n if (roomInfo.speechMode === TUISpeechMode.kSpeakAfterTakingSeat) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n }\n\n await getUserList();\n /**\n * setRoomParam must come after setRoomInfo,because roomInfo contains information\n * about whether or not to turn on the no-mac ban.\n *\n * setRoomParam 必须在 setRoomInfo 之后,因为 roomInfo 中有是否开启全员禁麦禁画的信息\n **/\n roomStore.setRoomParam(roomParam);\n TUIRoomAegis.reportEvent({ name: 'createRoom', ext1: 'createRoom-success' });\n } catch (error) {\n logger.error(`${logPrefix}createRoom error:`, error);\n basicStore.reset();\n throw error;\n }\n}\n\nasync function enterRoom(options: {roomId: string, roomParam?: RoomParam }) {\n const { roomId, roomParam } = options;\n try {\n if (!roomEngine.instance) {\n return;\n }\n basicStore.setRoomId(roomId);\n logger.debug(`${logPrefix}enterRoom:`, roomId, roomParam);\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud.setDefaultStreamRecvMode(true, false);\n trtcCloud.enableSmallVideoStream(true, smallParam);\n const roomInfo = await roomEngine.instance?.enterRoom({ roomId });\n roomStore.setRoomInfo(roomInfo);\n await getUserList();\n /**\n * setRoomParam must come after setRoomInfo,because roomInfo contains information\n * about whether or not to turn on the no-mac ban.\n *\n * setRoomParam 必须在 setRoomInfo 之后,因为 roomInfo 中有是否开启全员禁麦禁画的信息\n **/\n roomStore.setRoomParam(roomParam);\n emit('on-enter-room', {\n code: 0,\n message: 'enter room success',\n });\n TUIRoomAegis.reportEvent({ name: 'enterRoom', ext1: 'enterRoom-success' });\n } catch (error) {\n logger.error(`${logPrefix}enterRoom error:`, error);\n basicStore.reset();\n throw error;\n }\n}\n\nasync function getUserList() {\n try {\n const { userInfoList } = await roomEngine.instance?.getUserList() as any;\n roomStore.setUserList(userInfoList);\n } catch (error: any) {\n logger.error('TUIRoomEngine.getUserList', error.code, error.message);\n }\n}\n\nconst onUserVoiceVolumeChanged = (eventInfo: { userVolumeList: []}) => {\n const { userVolumeList } = eventInfo;\n roomStore.setAudioVolume(userVolumeList);\n};\n\nconst onUserNetworkQualityChanged = (eventInfo: { userNetworkList: [] }) => {\n basicStore.setLocalQuality(eventInfo.userNetworkList);\n};\n\n// To do 临时注释,待放开\n// const onStatistics = (statistics: TRTCStatistics) => {\n// basicStore.setStatistics(statistics);\n// };\n\nfunction resetStore() {\n basicStore.reset();\n chatStore.reset();\n roomStore.reset();\n}\n\nconst logOut = () => {\n resetStore();\n emit('on-log-out');\n};\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n resetStore();\n emit('on-destroy-room', info);\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n resetStore();\n emit('on-exit-room', info);\n};\n\nconst onError = (error: any) => {\n logger.error('roomEngine.onError: ', error);\n};\n\nconst onSendMessageForUserDisableChanged = (data: { userId: string, isDisable: boolean }) => {\n const { userId, isDisable } = data;\n if (userId === localUser.value.userId) {\n const tipMessage = isDisable ? t('You have been banned from text chat by the host') : t('You are allowed to text chat by the host');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n chatStore.setSendMessageDisableChanged(isDisable);\n }\n};\n\nconst onKickedOutOfRoom = async (eventInfo: { roomId: string, reason: TUIKickedOutOfRoomReason, message: string }) => {\n const { roomId, reason, message } = eventInfo;\n try {\n resetStore();\n let notice = '';\n switch (reason) {\n case TUIKickedOutOfRoomReason.kKickedByAdmin:\n notice = t('kicked out of the room by the host');\n break;\n case TUIKickedOutOfRoomReason.kKickedByLoggedOnOtherDevice:\n notice = t('kicked out of the room by other device');\n break;\n case TUIKickedOutOfRoomReason.kKickedByServer:\n notice = t('kicked out of the room by serve');\n break;\n }\n ElMessageBox.alert(notice, t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-kicked-out-of-room', { roomId, reason, message });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onKickedOutOfRoom error:`, error);\n }\n};\n\nconst onUserSigExpired = () => {\n ElMessageBox.alert('userSig 已过期', t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-userSig-expired');\n },\n });\n};\n\nconst onKickedOffLine = (eventInfo: { message: string }) => {\n const { message } = eventInfo;\n ElMessageBox.alert('系统检测到您的账号被踢下线', t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-kicked-off-line', { message });\n },\n });\n};\n\n// todo: 处理禁言所有人和禁画所有人\nasync function handleAudioStateChange(isDisableAudio: boolean) {\n const tipMessage = isDisableAudio ? t('The host has muted all') : t('The host has unmuted all');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * If the host lifts the full ban and does not actively turn up the user microphone\n *\n * 如果主持人解除全员禁言,不主动调起用户麦克风\n **/\n if (isDisableAudio) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n}\n\nasync function handleVideoStateChange(isDisableVideo: boolean) {\n const tipMessage = isDisableVideo ? t('The host has turned on the ban on all paintings') : t('The host has lifted the ban on all paintings');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * If the host lifts the full ban on drawing and does not actively turn up the user camera\n *\n * 如果主持人解除全员禁画,不主动调起用户摄像头\n **/\n if (isDisableVideo) {\n await roomEngine.instance?.closeLocalCamera();\n }\n}\n\nasync function handleMessageStateChange(isDisableMessage: boolean) {\n const tipMessage = isDisableMessage ? t('The host has turned on the ban on all chat') : t('The host has lifted the ban on all chat');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n}\n\nconst onAllUserCameraDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean }) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isCameraDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleVideoStateChange(isDisable);\n roomStore.setCanControlSelfVideo(!isDisable);\n }\n roomStore.setDisableCameraForAllUserByAdmin(isDisable);\n};\n\nconst onAllUserMicrophoneDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean }) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isMicrophoneDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleAudioStateChange(isDisable);\n roomStore.setCanControlSelfAudio(!isDisable);\n }\n roomStore.setDisableMicrophoneForAllUserByAdmin(isDisable);\n};\n\nconst onSendMessageForAllUserDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean}) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isMessageDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleMessageStateChange(isDisable);\n }\n roomStore.setDisableMessageAllUserByAdmin(isDisable);\n};\n// 初始化获取设备列表\nasync function getMediaDeviceList() {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n cameraList && roomStore.setCameraList(cameraList);\n microphoneList && roomStore.setMicrophoneList(microphoneList);\n speakerList && roomStore.setSpeakerList(speakerList);\n\n const cameraInfo = roomEngine.instance?.getCurrentCameraDevice();\n const micInfo = roomEngine.instance?.getCurrentMicDevice();\n const speakerInfo = roomEngine.instance?.getCurrentSpeakerDevice();\n if (cameraInfo && cameraInfo.deviceId) {\n roomStore.setCurrentCameraId(cameraInfo.deviceId);\n }\n if (micInfo && micInfo.deviceId) {\n roomStore.setCurrentMicrophoneId(micInfo.deviceId);\n }\n if (speakerInfo && speakerInfo.deviceId) {\n roomStore.setCurrentSpeakerId(speakerInfo.deviceId);\n }\n}\n\n/**\n * Device changes: device switching, device plugging and unplugging events\n *\n * 设备变化:设备切换、设备插拔事件\n**/\nasync function onDeviceChange(eventInfo: {deviceId: string, type: number, state: number}) {\n const stateList = ['add', 'remove', 'active'];\n const { deviceId, type, state } = eventInfo;\n if (type === TRTCDeviceType.TRTCDeviceTypeMic) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: microphone, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getMicDevicesList();\n deviceList && roomStore.setMicrophoneList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentMicrophoneId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeSpeaker) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: speaker, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getSpeakerDevicesList();\n deviceList && roomStore.setSpeakerList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentSpeakerId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeCamera) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: camera, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getCameraDevicesList();\n deviceList && roomStore.setCameraList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentCameraId(deviceId);\n }\n }\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onError, onError);\n roomEngine.instance?.on(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserNetworkQualityChanged, onUserNetworkQualityChanged);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOutOfRoom, onKickedOutOfRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSendMessageForUserDisableChanged, onSendMessageForUserDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserSigExpired, onUserSigExpired);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOffLine, onKickedOffLine);\n roomEngine.instance?.on(TUIRoomEvents.onAllUserCameraDisableChanged, onAllUserCameraDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, onAllUserMicrophoneDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, onSendMessageForAllUserDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onDeviceChange, onDeviceChange);\n getMediaDeviceList();\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onError, onError);\n roomEngine.instance?.off(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserNetworkQualityChanged, onUserNetworkQualityChanged);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOutOfRoom, onKickedOutOfRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSendMessageForUserDisableChanged, onSendMessageForUserDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserSigExpired, onUserSigExpired);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOffLine, onKickedOffLine);\n roomEngine.instance?.off(TUIRoomEvents.onAllUserCameraDisableChanged, onAllUserCameraDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onAllUserMicrophoneDisableChanged, onAllUserMicrophoneDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onSendMessageForAllUserDisableChanged, onSendMessageForAllUserDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\nwatch(sdkAppId, (val: number) => {\n if (val) {\n TUIRoomAegis.setSdkAppId(val);\n TUIRoomAegis.reportEvent({\n name: 'loaded',\n ext1: 'loaded-success',\n });\n }\n});\n\nreturn { __sfc: true,roomEngine, t, emit, logPrefix, basicStore, roomStore, chatStore, sdkAppId, showHeaderTool, localUser, roomContentRef, showRoomTool, roomRef, handleHideRoomTool, handleHideRoomToolDebounce, handleHideRoomToolThrottle, smallParam, handleRoomContentTap, dismissRoom, leaveRoom, closeMediaBeforeLeave, init, createRoom, enterRoom, getUserList, onUserVoiceVolumeChanged, onUserNetworkQualityChanged, resetStore, logOut, onDestroyRoom, onExitRoom, onError, onSendMessageForUserDisableChanged, onKickedOutOfRoom, onUserSigExpired, onKickedOffLine, handleAudioStateChange, handleVideoStateChange, handleMessageStateChange, onAllUserCameraDisableChanged, onAllUserMicrophoneDisableChanged, onSendMessageForAllUserDisableChanged, getMediaDeviceList, onDeviceChange, RoomHeader, RoomFooter, RoomSidebar, RoomContent, RoomSetting }\n}\n\n})","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=b73b8d2e&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=b73b8d2e&prod&lang=css&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=b73b8d2e&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b73b8d2e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./room.vue?vue&type=template&id=3a3b6b73&\"\nimport script from \"./room.vue?vue&type=script&lang=js&\"\nexport * from \"./room.vue?vue&type=script&lang=js&\"\nimport style0 from \"./room.vue?vue&type=style&index=0&id=3a3b6b73&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","ref","on","handleLogOut","onCreateRoom","onEnterRoom","onExitRoom","onDestroyRoom","onKickedOutOfRoom","onKickedOffLine","onUserSigExpired","staticRenderFns","_setup","_setupProxy","staticClass","attrs","RoomHeader","directives","name","rawName","value","showRoomTool","showHeaderTool","expression","logOut","RoomContent","handleRoomContentTap","RoomFooter","RoomSidebar","RoomSetting","SwitchCamera","SwitchMirror","RoomInfo","EndControl","stopMeeting","_v","_s","t","visible","class","isShowLeaveRoomDialog","currentDialogType","DialogType","BasicDialog","roomStore","isMaster","_e","$event","stopPropagation","dismissRoom","apply","arguments","leaveRoom","cancel","TransferDialog","popup","showSideBar","scopedSlots","_u","key","fn","staticStyle","searchName","domProps","target","composing","_l","filteredList","user","userId","handleShowMemberControl","Avatar","avatarUrl","userName","selectedUser","SvgIcon","hasNoData","proxy","transferAndLeave","useEndControl","useI18n","logPrefix","roomEngine","useGetRoomEngine","basicStore","useBasicStore","logger","useRoomStore","localUser","remoteAnchorList","storeToRefs","title","computed","length","isSidebarOpen","sidebarName","showTransfer","filter","searchUser","includes","toggleMangeMemberSidebar","setSidebarOpenStatus","setSidebarName","resetState","async","closeMediaBeforeLeave","hasAudioStream","instance","closeLocalMicrophone","hasVideoStream","closeLocalCamera","handleClose","_t","_defineComponent","__name","props","setup","__props","__sfc","component","emits","emit","destroyRoom","code","message","error","response","exitRoom","changeUserRoleResponse","changeUserRole","userRole","TUIRole","exitRoomResponse","onRoomDismissed","roomId","eventInfo","ElMessageBox","customClass","confirmButtonText","appendTo","callback","onUserRoleChanged","newName","getUserName","tipMessage","ElMessage","type","setLocalUser","setRemoteUserRole","setMasterUserId","isAnchor","isSpeakAfterTakingSeatMode","takeSeat","seatIndex","timeout","TUIRoomEngine","TUIRoomEvents","onUnmounted","off","Dialog","model","$$v","isMobile","EndControlH5","EndControlPC","handleSwitchCamera","backgroundSize","isFrontCamera","switchCamera","setIsFrontCamera","toogleMirrorStatus","trtcCloud","getTRTCCloud","setLocalRenderParams","mirrorType","isLocalStreamMirror","TRTCVideoMirrorType","rotation","TRTCVideoRotation","fillMode","TRTCVideoFillMode","setIsLocalStreamMirror","isShowRoomInfoTitle","toggleShowRoomInfoStatus","conferenceTitle","isShowRoomInfo","handleHiddenRoomInfo","masterUserName","roomType","onCopy","isWeChat","inviteLink","masterUserId","roomInfoRef","isFreeSpeakMode","origin","pathname","location","clipBoard","handleDocumentClick","event","contains","onMounted","document","addEventListener","removeEventListener","IS_LOCAL","protocol","hostname","IS_OFFICIAL_DEMO","host","isUploadLoaded","isUploadDetailEvent","aegisId","projectName","aegis","script","createElement","src","getElementsByTagName","appendChild","onload","Aegis","id","uin","reportApiSpeed","reportAssetSpeed","spa","roomAegis","storedReportEventList","forEach","data","reportEvent","TUIRoomAegis","setSdkAppId","sdkAppId","eventName","ext1","eventDesc","uploadData","ext2","ext3","hasUploadedEventList","indexOf","push","info","UserInfo","showHeaderInfo","$emit","Language","SwitchTheme","LayoutControl","streamNumber","handleClickLayoutIcon","showLayoutList","layout","LAYOUT","NINE_EQUAL_POINTS","handleClick","Array","fill","item","index","RIGHT_SIDE_LIST","TOP_SIDE_LIST","layoutList","setLayout","Boolean","default","indexH5","indexPC","AudioControl","handleControlClick","VideoControl","ApplyControl","ChatControl","ManageMemberControl","MoreControl","IconButton","localStream","hasMore","showAudioSettingTab","isLocalAudioIconDisable","toggleMuteAudio","handleMore","AudioIcon","audioVolume","AudioSettingTab","showRequestOpenMicDialog","handleReject","handleAccept","useRoomEngine","isAudience","isMicrophoneDisableForAllUser","audioIconButtonRef","audioSettingRef","warningMessage","WARNING_MESSAGE","duration","MESSAGE_DURATION","setCanControlSelfAudio","microphoneList","getMicDevicesList","hasMicrophoneDevice","openLocalMicrophone","$el","requestOpenMicRequestId","onRequestReceived","requestAction","requestId","request","TUIRequestAction","responseRemoteRequest","agree","onRequestCancelled","iconName","isLocalVideoIconDisable","toggleMuteVideo","VideoSettingTab","showVideoSettingTab","showRequestOpenCameraDialog","isCameraDisableForAllUser","videoIconButtonRef","videoSettingRef","ICON_NAME","setCanControlSelfVideo","cameraList","getCameraDevicesList","hasCameraDevice","setLocalVideoView","view","streamType","TUIVideoStreamType","openLocalCamera","requestOpenCameraRequestId","chatStore","unReadCount","toggleChatSidebar","useChatStore","defineStore","state","messageList","isMessageDisableByAdmin","isCompleted","nextReqMessageId","getters","actions","updateMessageList","messageIds","map","ID","concat","setMessageListInfo","updateUnReadCount","count","addHistoryMessages","filteredMessageList","sort","messageA","messageB","sequence","setSendMessageDisableChanged","isDisable","reset","MasterApplyControl","MemberApplyControl","ApplyOnSeat","toggleApplySpeech","hasApplyToAnchorUser","showApplyUserList","applyToAnchorList","hideApplyList","handleUserApply","denyAllUserApply","addApplyToAnchorUser","removeApplyToAnchorUser","applyUserId","userInfo","remoteUserObj","applyToAnchorRequestId","agreeUserOnStage","denyUserOnStage","applyUserList","inviteUserOnStage","takeUserOnSeatByAdmin","requestCallback","callbackInfo","requestCallbackType","TUIRequestCallbackType","removeInviteToAnchorUser","addInviteToAnchorUser","cancelInviteUserOnStage","inviteToAnchorRequestId","cancelRequest","kickUserOffStage","kickUserOffSeatByAdmin","onBeforeUnmount","useMasterApplyControl","masterApplyControlRef","masterApplyListRef","setShowApplyUserList","iconTitle","showMemberApplyAttention","hideApplyAttention","showInviteDialog","handleInvite","lang","isApplyingOnSeat","onSeat","leaveSeat","cancelSeatApplication","sendSeatApplication","onKickedOffSeat","watch","immediate","deep","More","showMore","showMoreContent","ContactControl","InviteControl","useControl","toggleInviteSidebar","isShowInviteTab","roomInvite","handleCloseInvite","visibleInviteContentList","content","copyLink","useRoomInvite","shareLink","isRoomLinkVisible","isElectron","isElectronEnv","urlConcatenation","schemeLink","inviteContentList","reactive","useRoomInviteControl","Index","inviteRef","toggleContactSidebar","isShowContactTab","roomContact","handleOnCloseContact","handleCloseContact","contactContentList","useRoomMoreHooks","groupNumber","email","useRoomMoreControl","contactRef","all","Map","handler","handlers","get","set","splice","evt","slice","bus","mitt","moreContentRef","userMoreControl","toggleMoreSidebar","MoreControlH5","MoreControlPc","useRoomFooter","ScreenShareControl","FullScreenControl","SettingControl","isSharing","screenShareDisabled","toggleScreenShare","showStopShareRegion","openStopConfirmDialog","ScreenShareStopped","dialogVisible","cancelStop","stopScreenShare","hasOtherScreenShare","btnStopRef","startScreenSharing","stopScreenSharing","screenCaptureStopped","val","oldVal","isFullScreen","toggleScreen","exitFullScreen","isVue27","roomContainer","body","setFullScreen","getElementById","handleFullScreenChange","window","showSettingDialog","handleShowSettingDialog","setShowSettingDialog","indexPc","Chat","ManageMember","ChatEditor","MessageList","refInFor","flow","nick","from","MessageText","payload","text","handleTextMessageShowContext","emojiUrl","emojiMap","emojiList","decodeMessageText","renderDom","temp","left","right","emojiKey","substring","useMessageList","historyMessageList","messageAimId","messageBottomEl","loadMore","isScrollNotAtBottom","isScrollToTop","handleMessageListScroll","e","messageContainer","bottom","scrollHeight","scrollTop","clientHeight","handleGetHistoryMessageList","tim","getTIM","imResponse","getMessageList","conversationID","nextReqMessageID","middleReqMessageId","currentMessageList","result","getIMMessageList","conversationData","newMessageList","oldMessageList","nextTick","lastMessage","oldLastMessage","scrollIntoView","onReceiveTextMessage","messageId","Math","random","filterCurrentMessageList","cannotSendMessage","emoji","handleChooseEmoji","sendMsg","_k","keyCode","sendMessage","togglePopover","childrenItem","childrenIndex","chooseEmoji","emojiListRef","itemName","emojiInfo","closePopover","useChatEditor","isMessageDisableForAllUser","editorInputEle","isEmojiToolbarVisible","msg","replace","sendTextMessage","messageText","toString","emojiName","focus","ChatEditorH5","ChatEditorPC","userNumber","userList","MemberItem","toggleManageMember","ManageControlType","AUDIO","audioManageInfo","VIDEO","videoManageInfo","showManageAllUserDialog","doToggleManageMember","dialogActionInfo","dialogTitleInfo","handleMemberItemClick","el","setMemberItemRef","MemberInfo","setMemberInfoRef","showMemberControl","MemberControl","setMemberControlRef","handleCloseControl","isMe","showStateIcon","MicOn","MicOff","CameraOn","CameraOff","isUserApplyingToAnchor","MicOffDisabled","CameraOffDisabled","defaultAvatar","modifiers","controlList","func","isFreeSpeechMode","isSpeakAfterTakingSeat","requestStageTitle","isInvitingUserToAnchor","toggleInviteUserOnStage","toggleInviteStage","makeOffStage","agreeOnStage","denyOnStage","audioControlTitle","isRequestingUserOpenMic","audioControl","muteUserAudio","videoControlTitle","isRequestingUserOpenCamera","videoControl","muteUserVideo","chatControlTitle","isChatMutedByMaster","forbidChat","disableUserChat","kickUser","kickOffUser","controlRelationObj","freeSpeech","applySpeechAndAnchor","applySpeechAndIsApplyingToAnchor","applySpeechAndAudience","closeRemoteDeviceByAdmin","device","TUIMediaDevice","requestUserOpenMicRequestId","setRequestUserOpenMic","isRequesting","openRemoteDeviceByAdmin","requestUserOpenCameraRequestId","setRequestUserOpenCamera","currentState","setMuteUserChat","disableSendingMessageByAdmin","kickRemoteUserOutOfRoom","singleControl","handlePopUp","toggleClickMoreBtn","ArrowBorderDown","showMoreControl","dropdownClass","handleMouseLeave","dropdown","dropdownRectBottom","getBoundingClientRect","roomContainerHeight","offsetHeight","control","list","unshift","MemberControlH5","MemberControlPC","useMemberItem","handleMouseEnter","memberItemEl","memberInfoEl","MemberControlEl","useIndex","currentControlType","toggleAllAudio","toggleAllVideo","showApplyUserLit","microphoneDisableState","disableDeviceForAllUserByAdmin","setMicrophoneDisableState","cameraDisableState","setCameraDisableState","useSideBar","sidebarTitle","done","Drawer","RoomInvite","RoomMore","StreamContainer","handleTouchStart","handleTouchEnd","streamContainerClass","LARGE_SMALL_WINDOW","enlargeStream","StreamRegion","onlyVideoStreamList","isFirstPageInSixPointLayout","stream","showStreamList","enlargeDomId","totalPageNumber","isActiveDot","playRegionDomId","showVoiceBorder","hasScreenStream","showMasterIcon","isScreenStream","streamRegionRef","isInnerScene","userIdEl","setRemoteVideoView","startPlayRemoteVideo","setRemoteRenderParams","TRTCVideoStreamType","loading","changeLargeStream","centerUserInfoRef","streamTypeToFetch","kScreenStream","kCameraStream","defaultStreamType","localUserId","stopPlayRemoteVideo","isVisible","oldHasVideoStream","oldIsVisible","oldHasScreenStream","StreamRegionH5","StreamRegionPc","useStreamContainer","onRemoteUserEnterRoom","addRemoteUser","onRemoteUserLeaveRoom","removeRemoteUser","onSeatListChanged","seatList","seatedList","leftList","updateOnSeatList","onUserAudioStateChanged","hasAudio","reason","updateUserAudioState","TUIChangeReason","isDefaultOpenCamera","isDefaultOpenMicrophone","previewDom","currentCameraId","setCurrentCameraId","deviceId","setCurrentCameraDevice","speakerList","getSpeakerDevicesList","currentMicrophoneId","setCurrentMicrophoneId","currentSpeakerId","setCurrentSpeakerId","setCurrentMicDevice","streamContainerRef","streamList","remoteStreamObj","currentSpeakerUserId","startX","startY","currentPageIndex","equalPointIndex","ceil","totalPageOfVideoStream","handleTurnPageLeft","handleTurnPageRight","enlargedContainerRef","streamListRef","containerClass","changedTouches","pageX","pageY","moveDirectionX","moveDirectionY","abs","onUserVideoStateChanged","hasVideo","updateUserVideoState","handleLargestVoice","userVolumeList","lastSpeakerUserVolumeInfo","find","volume","largestVolume","largestUserId","handleLargestVoiceThrottle","throttle","onUserVoiceVolumeChanged","showIconControl","style","enlargedStreamStyle","showSideList","streamStyle","handleEnlargeStreamRegion","arrowClass","handleClickIcon","showTurnPageControl","showTurnPageLeftArrow","showTurnPageRightArrow","width","height","remoteStreamList","handleStreamContainerScroll","streamIdList","currentStreamId","updateUserStreamVisible","handleNineEqualPointsLayout","arrowDirection","handleRightSideListLayout","handleTopSideListLayout","top","containerWidth","offsetWidth","containerHeight","scaleWidth","scaleHeight","number","roomContainerElement","handleLayout","handleResize","setHasOtherScreenShare","handleLargeStreamLeave","leftUserIdList","childDom","children","finalIndex","firstChildHeight","normalChildHeight","streamListRefEnd","floor","firstChildWidth","normalChildWidth","scrollLeft","streamUserIdList","handleStreamContainerScrollDebounce","debounce","StreamContainerH5","StreamContainerPc","settingTabsTitleList","activeSettingTab","handleUpdateActiveTab","label","SettingMode","DETAIL","handleCloseSettingDialog","tabTitle","setActiveSettingTab","expose","init","createRoom","enterRoom","resetStore","roomContentRef","roomRef","handleHideRoomTool","handleHideRoomToolDebounce","handleHideRoomToolThrottle","smallParam","TRTCVideoEncParam","option","setBasicInfo","userSig","options","roomName","roomMode","roomParam","setRoomId","roomParams","TUIRoomType","Object","assign","speechMode","TUISpeechMode","setDefaultStreamRecvMode","enableSmallVideoStream","roomInfo","setRoomInfo","getUserList","setRoomParam","userInfoList","setUserList","videoResolution","TRTCVideoResolution","videoFps","videoBitrate","defaults","defaultTheme","storageCurrentTheme","localStorage","getItem","setDefaultTheme","setAttribute","setAudioVolume","onUserNetworkQualityChanged","setLocalQuality","userNetworkList","onError","onSendMessageForUserDisableChanged","notice","TUIKickedOutOfRoomReason","handleAudioStateChange","isDisableAudio","handleVideoStateChange","isDisableVideo","handleMessageStateChange","isDisableMessage","onAllUserCameraDisableChanged","setDisableCameraForAllUserByAdmin","onAllUserMicrophoneDisableChanged","setDisableMicrophoneForAllUserByAdmin","onSendMessageForAllUserDisableChanged","setDisableMessageAllUserByAdmin","getMediaDeviceList","setCameraList","setMicrophoneList","setSpeakerList","cameraInfo","getCurrentCameraDevice","micInfo","getCurrentMicDevice","speakerInfo","getCurrentSpeakerDevice","onDeviceChange","stateList","TRTCDeviceType","deviceList","TRTCDeviceState","TUIRoomRef","router","to","next","components","RoomContainer","console","path","query","action","MessageBox","sessionStorage","methods","alert"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/about.345afdd2.js","mappings":"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R,QAAS,kBACT,QAAS,kBACT,QAAS,kBACT,MAAO,kBACP,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,QAAS,kBACT,QAAS,kBACT,OAAQ,kBACR,MAAO,kBACP,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,QAAS,kBACT,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,MAAO,kBACP,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,kBACT,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,QAAS,mBACT,QAAS,mBACT,QAAS,mBACT,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,MAAO,mBACP,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,QAAS,mBACT,OAAQ,mBACR,OAAQ,mBACR,OAAQ,oBAEGC,GAAY,CACvB,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAII,SAAUC,GAAkBN,GAChC,MAAMO,EAAY,GAMlB,IAAIC,EAAOR,EACPS,GAAQ,EACRC,GAAS,EACb,MAAgB,KAATF,EAGL,OAFAC,EAAOD,EAAKpR,QAAQ,KACpBsR,EAAQF,EAAKpR,QAAQ,KACbqR,GACN,KAAK,EACH,IAAe,IAAXC,EACFH,EAAUlR,KAAK,CACblO,KAAM,OACN8e,KAAMO,IAERA,EAAO,OACF,CACL,MAAMG,EAAWH,EAAK3D,MAAM,EAAG6D,EAAQ,GACnCN,GAASO,IACXJ,EAAUlR,KAAK,CACblO,KAAM,MACNwM,IAAKwS,GAAWC,GAASO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","sources":["webpack://room-uikit-web-vue2/./src/views/room.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?cbb0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?227e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/PopUpH5.vue?80ea","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?c6d6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?bdbb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlH5.vue?8363","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?c6ed","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?f3fd","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/EndControlPC.vue?15c9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/EndControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?30b2","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?7684","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchCamera.vue?310f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?4721","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?01d4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/SwitchMirror.vue?e768","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?bd7b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?7cc7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/RoomInfo.vue?e269","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/aegis/config.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/aegis/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?7171","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?4119","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderH5/index.vue?d478","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?49ca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?387e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/LayoutControl.vue?9b7f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?2d44","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?812a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/roomHeaderPC/index.vue?da03","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/index/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?ad29","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?60eb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/AudioControl.vue?7bf9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?a6d4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?34b3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/VideoControl.vue?1008","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?f702","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?b23f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ManageMemberControl.vue?150f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/stores/chat.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?f1c1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?d455","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ChatControl.vue?b76c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/hooks/useMasterApplyControl.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?c0da","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?2ae0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl.vue?90ba","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?24af","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?8150","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/MemberApplyControl.vue?a2fb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?ae79","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?3ac1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ApplyControl/Index.vue?ab68","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/useMoreControlHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/useRoomInviteHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?f157","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?b2f8","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexH5.vue?7415","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?1fe9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?9aa3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/indexPC.vue?e5a1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomInvite/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?8842","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?90fd","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/InviteControl.vue?05bb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/useRoomMoreHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?c6f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?f3ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexH5.vue?4a59","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?cc4a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?f328","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/indexPC.vue?2318","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomMore/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?a4fc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?0911","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ContactControl.vue?5a05","webpack://room-uikit-web-vue2/../src/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/hooks/useMitt.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?a86e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?8811","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlH5.vue?eae2","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?1a27","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?3eb9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/MoreControlPC.vue?986f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/MoreControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/useRoomFooterHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?eb7d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?a790","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexH5.vue?e2f1","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?f490","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?9bfe","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue?8e31","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?7e98","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?a2f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/FullScreenControl.vue?9d67","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?83c7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?13dc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/SettingControl.vue?2fa0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?2016","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?2381","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/indexPC.vue?5fb4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomFooter/index/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/util.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?08b9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?387f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageTypes/MessageText.vue?40ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/useMessageListHook.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?aee0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?991a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/MessageListPC.vue?0030","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/MessageList/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?089d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?ae8b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/emojiPC.vue?be5c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/EditorTools/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?bde9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?01f5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorH5.vue?17d6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?4752","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?bdf9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/ChatEditorPC.vue?e234","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/ChatEditor/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?0984","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?7024","webpack://room-uikit-web-vue2/./src/TUIRoom/components/Chat/index.vue?f5be","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?7492","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?0cc4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue?e7ae","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?59b9","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?0f23","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlH5.vue?d177","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?b213","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?fdce","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/MemberControlPC.vue?6c23","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberControl/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?afd5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?141f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexH5.vue?a143","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?84bc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?6350","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/indexPC.vue?75ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/MemberItem/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/useIndexHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?fe5a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?e9a0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexH5.vue?f007","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?a28f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?93c0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/indexPC.vue?ae45","webpack://room-uikit-web-vue2/./src/TUIRoom/components/ManageMember/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?f836","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?a74f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexH5.vue?6e7f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?0b6b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?21a5","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/indexPC.vue?5cb4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSidebar/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?f09a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?778c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionH5.vue?1ed6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?cdda","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?5158","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/StreamRegionPC.vue?4bf6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamRegion/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?a31d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?8cfa","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerH5.vue?314a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?8b21","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?fa3f","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/StreamContainerPC.vue?d1ca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/StreamContainer/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?d860","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?5dec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomContent/index.vue?cefb","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?f674","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?4dca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomSetting/index.vue?0aa0","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?79c8","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?6095","webpack://room-uikit-web-vue2/./src/TUIRoom/index.vue?77e3","webpack://room-uikit-web-vue2/src/views/room.vue","webpack://room-uikit-web-vue2/./src/views/room.vue?6a10","webpack://room-uikit-web-vue2/./src/views/room.vue?14d2"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('room-container',{ref:\"TUIRoomRef\",on:{\"on-log-out\":_vm.handleLogOut,\"on-create-room\":_vm.onCreateRoom,\"on-enter-room\":_vm.onEnterRoom,\"on-exit-room\":_vm.onExitRoom,\"on-destroy-room\":_vm.onDestroyRoom,\"on-kicked-out-of-room\":_vm.onKickedOutOfRoom,\"on-kick-off-line\":_vm.onKickedOffLine,\"on-user-sig-expired\":_vm.onUserSigExpired}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"roomRef\",staticClass:\"tui-room\",attrs:{\"id\":\"roomContainer\"}},[_c(_setup.RoomHeader,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showRoomTool && _setup.showHeaderTool),expression:\"showRoomTool && showHeaderTool\"}],staticClass:\"header\",on:{\"log-out\":_setup.logOut,\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}}),_c(_setup.RoomContent,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleRoomContentTap),expression:\"handleRoomContentTap\"}],ref:\"roomContentRef\",staticClass:\"content\",attrs:{\"show-room-tool\":_setup.showRoomTool}}),_c(_setup.RoomFooter,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showRoomTool),expression:\"showRoomTool\"}],staticClass:\"footer\",on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}}),_c(_setup.RoomSidebar),_c(_setup.RoomSetting)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"icon-box\"},[_c(_setup.SwitchCamera),_c(_setup.SwitchMirror)],1),_c(_setup.RoomInfo),_c(_setup.EndControl,{on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"end-control-container\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.stopMeeting),expression:\"stopMeeting\"}],staticClass:\"end-button\",attrs:{\"tabindex\":\"1\"}},[_vm._v(_vm._s(_setup.t('EndH5')))])]),(_setup.visible)?_c('div',{staticClass:\"end-main-content\"},[_c('div',{class:_setup.isShowLeaveRoomDialog ? 'end-dialog-leave':'end-dialog-dismiss'},[(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('div',{staticClass:\"end-dialog-header\"},[(_setup.roomStore.isMaster)?_c('span',{staticClass:\"end-dialog-text\"},[_vm._v(\" \"+_vm._s(_setup.t('If you do not want to end the meeting, please designate a new host before leaving the meeting.'))+\" \")]):_c('span',[_vm._v(_vm._s(_setup.t('Are you sure you want to leave this room?')))])]):_vm._e()]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',{staticClass:\"dialog-middle-content\"},[(_setup.roomStore.isMaster)?_c('span',{class:_setup.isShowLeaveRoomDialog ? 'end-button-dismiss':'end-button-dismiss-single',on:{\"click\":function($event){$event.stopPropagation();return _setup.dismissRoom.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_setup.t('Dismiss'))+\" \")]):_vm._e(),(_setup.isShowLeaveRoomDialog)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.leaveRoom),expression:\"leaveRoom\"}],class:_setup.roomStore.isMaster ?'end-button-leave':'end-button-leave-single'},[_vm._v(\" \"+_vm._s(_setup.t('Leave'))+\" \")]):_vm._e(),_c('span',{staticClass:\"end-button-cancel\",on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('span',{staticClass:\"end-button-cancel\",on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])]):_vm._e()])]):_vm._e(),_c(_setup.popup,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showSideBar),expression:\"showSideBar\"}],staticClass:\"transfer-container\",attrs:{\"title\":_setup.t('Appoint a new host')},scopedSlots:_vm._u([{key:\"sidebarContent\",fn:function(){return [_c('div',{staticStyle:{\"height\":\"100%\"}},[_c('div',[_c('div',{staticClass:\"transfer-header\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.searchName),expression:\"searchName\"}],staticClass:\"searching-input\",attrs:{\"type\":\"text\",\"placeholder\":_setup.t('Search for conference attendees'),\"enterkeyhint\":\"done\"},domProps:{\"value\":(_setup.searchName)},on:{\"input\":function($event){if($event.target.composing)return;_setup.searchName=$event.target.value}}})]),_c('div',{staticClass:\"transfer-body\"},[_vm._l((_setup.filteredList),function(user){return _c('div',{key:user.userId,staticClass:\"transfer-list-content\",on:{\"click\":function($event){return _setup.handleShowMemberControl(user.userId)}}},[_c('div',{staticClass:\"member-basic-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":user.avatarUrl}}),_c('div',{staticClass:\"user-name\"},[_vm._v(_vm._s(user.userName || user.userId))]),(_setup.selectedUser === user.userId)?_c(_setup.SvgIcon,{staticClass:\"correct\",attrs:{\"icon-name\":\"correct\",\"size\":\"custom\"}}):_vm._e()],1)])}),(_setup.hasNoData)?_c('div',{staticClass:\"member-hasNoData\"},[_vm._v(_vm._s(_setup.t('No relevant user found.')))]):_vm._e()],2)])])]},proxy:true},{key:\"sidebarFooter\",fn:function(){return [_c('div',{staticClass:\"transfer-leave\",on:{\"click\":_setup.transferAndLeave}},[_c('span',{staticClass:\"transfer-button\"},[_vm._v(_vm._s(_setup.t('Transfer and leave')))])])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, Ref, computed } from 'vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../../locales';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport logger from '../../../utils/common/logger';\n\nexport default function useEndControl() {\n const { t } = useI18n();\n enum DialogType {\n BasicDialog,\n TransferDialog\n }\n const currentDialogType = ref(DialogType.BasicDialog);\n\n const logPrefix = '[EndControl]';\n const roomEngine = useGetRoomEngine();\n const visible: Ref = ref(false);\n const basicStore = useBasicStore();\n logger.log(`${logPrefix} basicStore:`, basicStore);\n\n const roomStore = useRoomStore();\n const { localUser, remoteAnchorList } = storeToRefs(roomStore);\n const title = computed(() => (currentDialogType.value === DialogType.BasicDialog ? t('Leave room?') : t('Select a new host')));\n const isShowLeaveRoomDialog = computed(() => (\n roomStore.isMaster && remoteAnchorList.value.length > 0)\n || !roomStore.isMaster);\n const { isSidebarOpen, sidebarName } = storeToRefs(basicStore);\n const showSideBar = computed(() => isSidebarOpen.value && sidebarName.value === 'transfer-leave');\n const selectedUser: Ref = ref('');\n const showTransfer = ref(false);\n const searchName = ref('');\n const filteredList = computed(() => remoteAnchorList.value.filter(searchUser => (\n searchUser.userId.includes(searchName.value)) || (searchUser.userName?.includes(searchName.value))));\n const hasNoData = computed(() => filteredList.value.length === 0);\n\n function toggleMangeMemberSidebar() {\n if (basicStore.setSidebarOpenStatus && sidebarName.value === 'transfer-leave') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('transfer-leave');\n }\n\n function handleShowMemberControl(userId: string) {\n selectedUser.value = userId;\n }\n\n function resetState() {\n visible.value = false;\n currentDialogType.value = DialogType.BasicDialog;\n }\n\n function stopMeeting() {\n if (!visible.value) {\n visible.value = true;\n }\n }\n\n function cancel() {\n resetState();\n }\n\n async function closeMediaBeforeLeave() {\n if (localUser.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n if (localUser.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n }\n }\n return {\n t,\n basicStore,\n isShowLeaveRoomDialog,\n roomStore,\n roomEngine,\n localUser,\n remoteAnchorList,\n stopMeeting,\n cancel,\n selectedUser,\n DialogType,\n logPrefix,\n title,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n searchName,\n hasNoData,\n handleShowMemberControl,\n filteredList,\n toggleMangeMemberSidebar,\n showTransfer,\n sidebarName,\n showSideBar,\n };\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"popup-container\"},[_c('div',{staticClass:\"popup-main-header\"},[_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleClose),expression:\"handleClose\"}],staticClass:\"icon-container\"},[_c(_setup.SvgIcon,{staticClass:\"close-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"close-back\"}})],1),_c('span',{staticClass:\"sidebar-title\"},[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"popup-main-content\"},[_vm._t(\"sidebarContent\")],2),_c('div',{staticClass:\"popup-main-footer\"},[_vm._t(\"sidebarFooter\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from './SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport '../../directives/vTap';\n\ninterface Props {\n title: string,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'PopUpH5',\n props: {\n title: null\n },\n setup(__props: any) {\n\n\n\nconst basicStore = useBasicStore();\n\nfunction handleClose() {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n}\n\n\nreturn { __sfc: true,basicStore, handleClose, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./PopUpH5.vue?vue&type=template&id=4069d388&scoped=true&\"\nimport script from \"./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./PopUpH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./PopUpH5.vue?vue&type=style&index=0&id=4069d388&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4069d388\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { onUnmounted } from 'vue';\nimport { ElMessageBox, ElMessage } from '../../../elementComp';\nimport TUIRoomEngine, { TUIRole, TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useEndControl from './useEndControlHooks';\nimport logger from '../../../utils/common/logger';\nimport popup from '../../common/PopUpH5.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport Avatar from '../../base/Avatar.vue';\nimport '../../../directives/vTap';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'EndControlH5',\n emits: ['on-exit-room', 'on-destroy-room'],\n setup(__props, { emit }) {\n\nconst {\n t,\n isShowLeaveRoomDialog,\n roomStore,\n basicStore,\n roomEngine,\n localUser,\n stopMeeting,\n cancel,\n DialogType,\n logPrefix,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n toggleMangeMemberSidebar,\n searchName,\n hasNoData,\n handleShowMemberControl,\n filteredList,\n selectedUser,\n showSideBar,\n} = useEndControl();\n\n\n\n\n\n/**\n * Active room dismissal\n *\n * 主动解散房间\n**/\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\n/**\n * Leave the room voluntarily\n *\n * 主动离开房间\n**/\nasync function leaveRoom() { // eslint-disable-line\n try {\n if (roomStore.isMaster) {\n toggleMangeMemberSidebar();\n resetState();\n return;\n }\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}leaveRoom:`, response);\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function transferAndLeave() {\n if (!selectedUser.value) {\n return;\n }\n try {\n const userId = selectedUser.value;\n const changeUserRoleResponse = await roomEngine.instance?.changeUserRole({ userId, userRole: TUIRole.kRoomOwner });\n logger.log(`${logPrefix}transferAndLeave:`, changeUserRoleResponse);\n await closeMediaBeforeLeave();\n const exitRoomResponse = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}exitRoom:`, exitRoomResponse);\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}transferAndLeave error:`, error);\n }\n}\n\n/**\n * notification of room dismissal from the host\n *\n * 收到主持人解散房间通知\n**/\nconst onRoomDismissed = async (eventInfo: { roomId: string}) => {\n try {\n const { roomId } = eventInfo;\n logger.log(`${logPrefix}onRoomDismissed:`, roomId);\n ElMessageBox.alert(t('The host closed the room.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n appendTo: '#roomContainer',\n callback: async () => {\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onRoomDestroyed error:`, error);\n }\n};\n\n/**\n * By listening for a change in ownerId,\n * the audience receives a notification that the host has handed over the privileges\n *\n**/\n\nconst onUserRoleChanged = async (eventInfo: {userId: string, userRole: TUIRole }) => {\n if (eventInfo.userRole === TUIRole.kRoomOwner) {\n const { userId } = eventInfo;\n let newName = roomStore.getUserName(userId) || userId;\n if (userId === localUser.value.userId) {\n newName = t('me');\n }\n const tipMessage = `${t('Moderator changed to ')}${newName}`;\n ElMessage({\n type: 'success',\n message: tipMessage,\n });\n if (roomStore.localUser.userId === userId) {\n roomStore.setLocalUser({ userRole: TUIRole.kRoomOwner });\n } else {\n roomStore.setRemoteUserRole(userId, TUIRole.kRoomOwner);\n }\n roomStore.setMasterUserId(userId);\n resetState();\n if (roomStore.isAnchor) return;\n if (roomStore.isSpeakAfterTakingSeatMode) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n };\n }\n};\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.on(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.off(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\n\nreturn { __sfc: true,t, isShowLeaveRoomDialog, roomStore, basicStore, roomEngine, localUser, stopMeeting, cancel, DialogType, logPrefix, currentDialogType, visible, closeMediaBeforeLeave, resetState, toggleMangeMemberSidebar, searchName, hasNoData, handleShowMemberControl, filteredList, selectedUser, showSideBar, emit, dismissRoom, leaveRoom, transferAndLeave, onRoomDismissed, onUserRoleChanged, popup, SvgIcon, Avatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./EndControlH5.vue?vue&type=template&id=12377224&scoped=true&\"\nimport script from \"./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./EndControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./EndControlH5.vue?vue&type=style&index=0&id=12377224&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12377224\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"end-control-container\"},[_c('div',{staticClass:\"end-button\",attrs:{\"tabindex\":\"1\"},on:{\"click\":_setup.stopMeeting}},[_vm._v(_vm._s(_setup.t('EndPC')))]),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.visible,\"title\":_setup.title,\"modal\":true,\"append-to-body\":false,\"width\":\"420px\",\"before-close\":_setup.cancel,\"close-on-click-modal\":true},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _setup.dismissRoom.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_setup.t('Dismiss'))+\" \")]):_vm._e(),(_setup.isShowLeaveRoomDialog)?_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.leaveRoom}},[_vm._v(_vm._s(_setup.t('Leave')))]):_vm._e(),_c('el-button',{on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.transferAndLeave}},[_vm._v(_vm._s(_setup.t('Transfer and leave')))]),_c('el-button',{on:{\"click\":function($event){$event.stopPropagation();return _setup.cancel.apply(null, arguments)}}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1):_vm._e()]},proxy:true}])},[(_setup.currentDialogType === _setup.DialogType.BasicDialog)?_c('div',[(_setup.roomStore.isMaster)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.'))+\" \")]):_c('span',[_vm._v(_vm._s(_setup.t('Are you sure you want to leave this room?')))])]):_vm._e(),(_setup.currentDialogType === _setup.DialogType.TransferDialog)?_c('div',[_c('div',[_vm._v(_vm._s(_setup.t('New host')))]),_c('div',[_c('el-select',{attrs:{\"teleported\":false,\"popper-append-to-body\":false},model:{value:(_setup.selectedUser),callback:function ($$v) {_setup.selectedUser=$$v},expression:\"selectedUser\"}},_vm._l((_setup.remoteAnchorList),function(user){return _c('el-option',{key:user.userId,attrs:{\"value\":user.userId,\"label\":user.userName}})}),1)],1)]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { onUnmounted } from 'vue';\nimport { ElMessageBox, ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport TUIRoomEngine, { TUIRole, TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useEndControl from './useEndControlHooks';\nimport logger from '../../../utils/common/logger';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'EndControlPC',\n emits: ['on-exit-room', 'on-destroy-room'],\n setup(__props, { emit }) {\n\nconst {\n t,\n isShowLeaveRoomDialog,\n roomStore,\n basicStore,\n roomEngine,\n localUser,\n remoteAnchorList,\n stopMeeting,\n cancel,\n selectedUser,\n DialogType,\n logPrefix,\n title,\n currentDialogType,\n visible,\n closeMediaBeforeLeave,\n resetState,\n} = useEndControl();\n\n\n\n\n/**\n * Active room dismissal\n *\n * 主动解散房间\n**/\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\n/**\n * Leave the room voluntarily\n *\n * 主动离开房间\n**/\nasync function leaveRoom() { // eslint-disable-line\n try {\n if (roomStore.isMaster) {\n currentDialogType.value = DialogType.TransferDialog;\n return;\n }\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}leaveRoom:`, response);\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function transferAndLeave() {\n if (!selectedUser.value) {\n return;\n }\n try {\n const userId = selectedUser.value;\n const changeUserRoleResponse = await roomEngine.instance?.changeUserRole({ userId, userRole: TUIRole.kRoomOwner });\n logger.log(`${logPrefix}transferAndLeave:`, changeUserRoleResponse);\n await closeMediaBeforeLeave();\n const exitRoomResponse = await roomEngine.instance?.exitRoom();\n logger.log(`${logPrefix}exitRoom:`, exitRoomResponse);\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n resetState();\n emit('on-exit-room', { code: 0, message: '' });\n } catch (error) {\n logger.error(`${logPrefix}transferAndLeave error:`, error);\n }\n}\n\n/**\n * notification of room dismissal from the host\n *\n * 收到主持人解散房间通知\n**/\nconst onRoomDismissed = async (eventInfo: { roomId: string}) => {\n try {\n const { roomId } = eventInfo;\n logger.log(`${logPrefix}onRoomDismissed:`, roomId);\n ElMessageBox.alert(t('The host closed the room.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n appendTo: '#roomContainer',\n callback: async () => {\n resetState();\n emit('on-destroy-room', { code: 0, message: '' });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onRoomDestroyed error:`, error);\n }\n};\n\n/**\n * By listening for a change in ownerId,\n * the audience receives a notification that the host has handed over the privileges\n *\n**/\n\nconst onUserRoleChanged = async (eventInfo: {userId: string, userRole: TUIRole }) => {\n if (eventInfo.userRole === TUIRole.kRoomOwner) {\n const { userId } = eventInfo;\n let newName = roomStore.getUserName(userId) || userId;\n if (userId === localUser.value.userId) {\n newName = t('me');\n }\n const tipMessage = `${t('Moderator changed to ')}${newName}`;\n ElMessage({\n type: 'success',\n message: tipMessage,\n });\n if (roomStore.localUser.userId === userId) {\n roomStore.setLocalUser({ userRole: TUIRole.kRoomOwner });\n } else {\n roomStore.setRemoteUserRole(userId, TUIRole.kRoomOwner);\n }\n roomStore.setMasterUserId(userId);\n resetState();\n if (roomStore.isAnchor) return;\n if (roomStore.isSpeakAfterTakingSeatMode) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n }\n }\n};\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.on(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRoomDismissed, onRoomDismissed);\n roomEngine.instance?.off(TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);\n});\n\n\nreturn { __sfc: true,t, isShowLeaveRoomDialog, roomStore, basicStore, roomEngine, localUser, remoteAnchorList, stopMeeting, cancel, selectedUser, DialogType, logPrefix, title, currentDialogType, visible, closeMediaBeforeLeave, resetState, emit, dismissRoom, leaveRoom, transferAndLeave, onRoomDismissed, onUserRoleChanged, Dialog }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./EndControlPC.vue?vue&type=template&id=bcdd5c40&scoped=true&\"\nimport script from \"./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./EndControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./EndControlPC.vue?vue&type=style&index=0&id=bcdd5c40&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bcdd5c40\",\n null\n \n)\n\nexport default component.exports","import EndControlH5 from './EndControlH5.vue';\nimport EndControlPC from './EndControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst EndControl = isMobile ? EndControlH5 : EndControlPC;\n\nexport default EndControl;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"camera-icon\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleSwitchCamera),expression:\"handleSwitchCamera\"}],attrs:{\"icon-name\":\"camera\",\"size\":\"custom\",\"custom-style\":{\n backgroundSize: '50%'\n }}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { storeToRefs } from 'pinia';\nimport { useBasicStore } from '../../../stores/basic';\nimport '../../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchCamera',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { isFrontCamera } = storeToRefs(basicStore);\nconst roomEngine = useGetRoomEngine();\n\nasync function handleSwitchCamera() {\n await roomEngine.instance?.switchCamera({ isFrontCamera: !isFrontCamera.value });\n basicStore.setIsFrontCamera(!isFrontCamera.value);\n}\n\nreturn { __sfc: true,basicStore, isFrontCamera, roomEngine, handleSwitchCamera, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchCamera.vue?vue&type=template&id=190ccb04&scoped=true&\"\nimport script from \"./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchCamera.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchCamera.vue?vue&type=style&index=0&id=190ccb04&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"190ccb04\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"mirror-icon\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toogleMirrorStatus),expression:\"toogleMirrorStatus\"}],attrs:{\"icon-name\":\"mirror\",\"size\":\"custom\",\"custom-style\":{backgroundSize: '50%'}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useBasicStore } from '../../../stores/basic';\n\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode } from '@tencentcloud/tuiroom-engine-js';\nimport '../../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchMirror',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst basicStore = useBasicStore();\n\nfunction toogleMirrorStatus() {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.setLocalRenderParams({\n mirrorType:\n basicStore.isLocalStreamMirror\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n basicStore.setIsLocalStreamMirror(basicStore.isLocalStreamMirror);\n basicStore.isLocalStreamMirror = !basicStore.isLocalStreamMirror;\n}\n\n\nreturn { __sfc: true,roomEngine, basicStore, toogleMirrorStatus, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchMirror.vue?vue&type=template&id=9a54a9ea&scoped=true&\"\nimport script from \"./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchMirror.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchMirror.vue?vue&type=style&index=0&id=9a54a9ea&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9a54a9ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"conference-container\"},[(_setup.isShowRoomInfoTitle)?_c('div',{on:{\"click\":_setup.toggleShowRoomInfoStatus}},[_c('div',{staticClass:\"title-container\"},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_setup.conferenceTitle))]),_c('span',{staticClass:\"chevron-down-container\"},[_c(_setup.SvgIcon,{staticClass:\"chevron-down-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"chevron-down\"}})],1)])]):_vm._e(),(_setup.isShowRoomInfo)?_c('div',{staticClass:\"roomInfo-container\"},[_c('div',{ref:\"roomInfoRef\",staticClass:\"roomInfo-container-main\"},[_c('div',{staticClass:\"roomInfo-title\"},[_c('span',{staticClass:\"master-header\"},[_vm._v(_vm._s(_setup.conferenceTitle))]),_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleHiddenRoomInfo}},[_vm._v(_vm._s(_setup.t('Cancel')))])]),_c('div',{staticClass:\"roomInfo-middle\"},[_c('div',{staticClass:\"roomInfo-role\"},[_c('span',[_vm._v(_vm._s(_setup.t('Host')))]),_c('span',{staticClass:\"text-right\"},[_vm._v(_vm._s(_setup.masterUserName))])]),_c('div',{staticClass:\"roomInfo-roomMode\"},[_c('span',{staticClass:\"middle-left\"},[_vm._v(_vm._s(_setup.t('Room Type')))]),_c('span',{staticClass:\"text-type\"},[_vm._v(_vm._s(_setup.roomType))])]),_c('div',{staticClass:\"roomInfo-roomID\"},[_c('span',{staticClass:\"middle-left\"},[_vm._v(_vm._s(_setup.t('Room ID')))]),_c('span',{staticClass:\"text-right\"},[_vm._v(_vm._s(_setup.roomId))]),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"},on:{\"click\":function($event){return _setup.onCopy(_setup.roomId)}}})],1),(!_setup.isWeChat)?_c('div',{staticClass:\"roomInfo-roomID\"},[_c('span',[_vm._v(_vm._s(_setup.t('Room Link')))]),_c('span',{staticClass:\"link\"},[_vm._v(_vm._s(_setup.inviteLink))]),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.inviteLink)}}})],1):_vm._e()]),(!_setup.isWeChat)?_c('div',{staticClass:\"roomInfo-bottom\"},[_c('span',[_vm._v(_vm._s(_setup.t('You can share the room number or link to invite more people to join the room.')))])]):_vm._e()])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport { isWeChat } from '../../../utils/useMediaValue';\nimport { clipBoard } from '../../../utils/utils';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomInfo',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { roomId } = storeToRefs(basicStore);\nconst { masterUserId } = storeToRefs(roomStore);\nconst { t } = useI18n();\nconst roomInfoRef = ref();\nconst isShowRoomInfo = ref(false);\nconst roomType = computed(() => (roomStore.isFreeSpeakMode ? t('Free Speech Room') : t('Raise Hand Room')));\n\nconst { origin, pathname } = location || {};\nconst inviteLink = computed(() => `${origin}${pathname}#/home?roomId=${roomId.value}`);\n\nconst masterUserName = computed(() => (roomStore.getUserName(masterUserId.value)) || masterUserId.value);\n\nconst isShowRoomInfoTitle = computed(() => (masterUserName.value));\n\nconst conferenceTitle = computed(() => `${masterUserName.value}${t('video conferencing')}`);\n\nfunction toggleShowRoomInfoStatus() {\n isShowRoomInfo.value = !isShowRoomInfo.value;\n}\n\nasync function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowRoomInfo.value && !roomInfoRef.value.contains(event.target)) {\n isShowRoomInfo.value = false;\n }\n}\n\nfunction handleHiddenRoomInfo() {\n isShowRoomInfo.value = false;\n}\n\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,basicStore, roomStore, roomId, masterUserId, t, roomInfoRef, isShowRoomInfo, roomType, origin, pathname, inviteLink, masterUserName, isShowRoomInfoTitle, conferenceTitle, toggleShowRoomInfoStatus, onCopy, handleDocumentClick, handleHiddenRoomInfo, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomInfo.vue?vue&type=template&id=543146aa&scoped=true&\"\nimport script from \"./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomInfo.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomInfo.vue?vue&type=style&index=0&id=543146aa&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"543146aa\",\n null\n \n)\n\nexport default component.exports","/**\n * 需要配置 isUploadLoaded, aegisId, projectName\n * isUploadLoaded: 上传 loaded 事件\n * isUploadDetailEvent: 上传 loaded 及其他操作事件\n * aegisId: aegis Id\n * projectName: 项目名称\n */\n\nconst IS_LOCAL = location.protocol === 'file:' || location.hostname === 'localhost' || location.hostname === '127.0.0.1';\nconst IS_OFFICIAL_DEMO = location.host === 'web.sdk.qcloud.com';\n\nconst isUploadLoaded = IS_LOCAL || IS_OFFICIAL_DEMO;\n\nconst isUploadDetailEvent = IS_OFFICIAL_DEMO;\n\nconst aegisId = 'iHWefAYqCFrCVqqyIZ';\n\nconst projectName = 'TUIRoomKit-Web-vue2';\n\nexport {\n isUploadLoaded,\n isUploadDetailEvent,\n aegisId,\n projectName,\n};\n","\nimport { isUploadLoaded, isUploadDetailEvent, aegisId, projectName } from './config';\n\nlet aegis: any;\n\nconst script = document.createElement('script');\nscript.type = 'text/javascript';\nscript.src = 'https://cdn-go.cn/aegis/aegis-sdk/latest/aegis.min.js';\ndocument.getElementsByTagName('head')[0].appendChild(script);\n\nscript.onload = () => {\n // @ts-ignore\n // eslint-disable-next-line no-undef\n aegis = new Aegis({\n id: aegisId,\n uin: '',\n reportApiSpeed: true, // 接口测速\n reportAssetSpeed: true, // 静态资源测速\n spa: true, // spa 页面开启\n });\n if (roomAegis.storedReportEventList) {\n roomAegis.storedReportEventList.forEach((data) => {\n aegis.reportEvent(data);\n });\n }\n};\n\nclass TUIRoomAegis {\n private sdkAppId: number = 0;\n private projectName: string = projectName;\n private isUploadLoaded: boolean = isUploadLoaded;\n private isUploadDetailEvent: boolean = isUploadDetailEvent;\n private hasUploadedEventList: Array = [];\n\n storedReportEventList: Array = [];\n\n setSdkAppId(sdkAppId: number) {\n this.sdkAppId = sdkAppId;\n }\n\n reportEvent(data: { name: string, ext1: string }) {\n if (!this.isUploadLoaded) {\n return;\n }\n const { name: eventName, ext1: eventDesc } = data;\n if (this.isUploadDetailEvent || eventName === 'loaded') {\n const uploadData = { ...data, ext2: this.projectName, ext3: this.sdkAppId };\n if (aegis) {\n if (this.hasUploadedEventList.indexOf(`${eventName}_${eventDesc}`) < 0) {\n this.hasUploadedEventList.push(`${eventName}_${eventDesc}`);\n aegis.reportEvent(uploadData);\n }\n } else {\n this.storedReportEventList.push(uploadData);\n }\n }\n }\n}\n\nconst roomAegis = new TUIRoomAegis();\n\nexport default roomAegis;\n","import { defineComponent as _defineComponent } from 'vue'\nimport EndControl from '../../RoomFooter/EndControl';\nimport SwitchCamera from './SwitchCamera.vue';\nimport SwitchMirror from './SwitchMirror.vue';\nimport RoomInfo from './RoomInfo.vue';\nimport TUIRoomAegis from '../../../utils/aegis';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n emits: ['log-out', 'on-destroy-room', 'on-exit-room'],\n setup(__props, { emit }) {\n\n\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n emit('on-destroy-room', info);\n TUIRoomAegis.reportEvent({ name: 'destroyRoom', ext1: 'destroyRoom-success' });\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n emit('on-exit-room', info);\n TUIRoomAegis.reportEvent({ name: 'exitRoom', ext1: 'exitRoom-success' });\n};\n\n\nreturn { __sfc: true,emit, onDestroyRoom, onExitRoom, EndControl, SwitchCamera, SwitchMirror, RoomInfo }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=1262e4e7&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=1262e4e7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1262e4e7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"header-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.UserInfo,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showHeaderInfo),expression:\"showHeaderInfo\"}],staticClass:\"header-item user-info\",attrs:{\"user-id\":_setup.userId,\"user-name\":_setup.userName,\"avatar-url\":_setup.avatarUrl},on:{\"log-out\":function($event){return _vm.$emit('log-out')}}}),_c(_setup.Language,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showHeaderInfo),expression:\"showHeaderInfo\"}],staticClass:\"header-item language\"}),_c(_setup.SwitchTheme,{staticClass:\"header-item theme\"})],1),_c('div',{staticClass:\"right-container\"},[_c(_setup.LayoutControl,{staticClass:\"right-container-item\"})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.streamNumber > 1)?_c('div',{staticClass:\"layout-container\"},[_c(_setup.SvgIcon,{staticClass:\"layout-icon\",attrs:{\"icon-name\":\"layout\",\"size\":\"medium\"},on:{\"click\":function($event){$event.stopPropagation();return _setup.handleClickLayoutIcon.apply(null, arguments)}}}),(_setup.showLayoutList)?_c('div',{ref:\"layoutList\",staticClass:\"layout-list\"},[_c('div',{class:['layout1', 'layout-item', `${_setup.layout === _setup.LAYOUT.NINE_EQUAL_POINTS ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.NINE_EQUAL_POINTS)}}},[_c('div',{staticClass:\"layout-block-container\"},_vm._l((new Array(9).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Grid')))])]),_c('div',{class:['layout2', 'layout-item', `${_setup.layout === _setup.LAYOUT.RIGHT_SIDE_LIST ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.RIGHT_SIDE_LIST)}}},[_c('div',{staticClass:\"layout-block-container\"},[_c('div',{staticClass:\"left-container\"}),_c('div',{staticClass:\"right-container\"},_vm._l((new Array(4).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0)]),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Gallery on right')))])]),_c('div',{class:['layout3', 'layout-item', `${_setup.layout === _setup.LAYOUT.TOP_SIDE_LIST ? 'checked' : ''}`],on:{\"click\":function($event){return _setup.handleClick(_setup.LAYOUT.TOP_SIDE_LIST)}}},[_c('div',{staticClass:\"layout-block-container\"},[_c('div',{staticClass:\"top-container\"},_vm._l((new Array(4).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"layout-block\"})}),0),_c('div',{staticClass:\"bottom-container\"})]),_c('span',{staticClass:\"layout-title\"},[_vm._v(_vm._s(_setup.t('Gallery at top')))])])]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { LAYOUT } from '../../../constants/render';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport TUIRoomAegis from '../../../utils/aegis';\nimport { useI18n } from '../../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LayoutControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { layout } = storeToRefs(basicStore);\nconst roomStore = useRoomStore();\nconst { streamNumber } = storeToRefs(roomStore);\n\nconst showLayoutList:Ref = ref(false);\nconst layoutList:Ref = ref(null);\n\nfunction handleClick(layout: any) {\n basicStore.setLayout(layout);\n TUIRoomAegis.reportEvent({ name: 'layout', ext1: layout });\n}\n\nfunction handleClickLayoutIcon() {\n if (!showLayoutList.value) {\n showLayoutList.value = true;\n document.addEventListener('click', handleDocumentClick, false);\n } else {\n document.removeEventListener('click', handleDocumentClick, false);\n showLayoutList.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showLayoutList.value && layoutList.value && !layoutList.value.contains(event.target as Node)) {\n document.removeEventListener('click', handleDocumentClick);\n showLayoutList.value = false;\n }\n}\n\n\nreturn { __sfc: true,t, basicStore, layout, roomStore, streamNumber, showLayoutList, layoutList, handleClick, handleClickLayoutIcon, handleDocumentClick, SvgIcon, LAYOUT }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./LayoutControl.vue?vue&type=template&id=7b3fd23b&scoped=true&\"\nimport script from \"./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./LayoutControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./LayoutControl.vue?vue&type=style&index=0&id=7b3fd23b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b3fd23b\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport UserInfo from '../UserInfo';\nimport Language from '../../base/Language.vue';\nimport SwitchTheme from '../../base/SwitchTheme.vue';\n// import NetworkInfo from './NetworkInfo.vue';\n/**\n * [info] Functions to be improved\n *\n * 【info】功能待完善\n**/\n// import InfoControl from './InfoControl.vue';\nimport LayoutControl from './LayoutControl.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n showHeaderInfo: { type: Boolean, default: true }\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst basicStore = useBasicStore();\n\nconst { userId, userName, avatarUrl } = storeToRefs(basicStore);\n\n\n\n\n\n\nreturn { __sfc: true,basicStore, userId, userName, avatarUrl, UserInfo, Language, SwitchTheme, LayoutControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=20e9e128&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=20e9e128&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20e9e128\",\n null\n \n)\n\nexport default component.exports","import indexH5 from '../roomHeaderH5/index.vue';\nimport indexPC from '../roomHeaderPC/index.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.AudioControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('audioControl')),expression:\"() => handleControlClick('audioControl')\"}]}),_c(_setup.VideoControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('videoControl')),expression:\"() => handleControlClick('videoControl')\"}]}),(!_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ChatControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('chatControl')),expression:\"() => handleControlClick('chatControl')\"}]}):_c(_setup.ApplyControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('applyControl')),expression:\"() => handleControlClick('applyControl')\"}]}),(_setup.roomStore.isMaster)?_c(_setup.ManageMemberControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('manageMemberControl')),expression:\"() => handleControlClick('manageMemberControl')\"}]}):_vm._e(),_c(_setup.MoreControl,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleControlClick('moreControl')),expression:\"() => handleControlClick('moreControl')\"}]})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"audio-control-container\",on:{\"click\":function($event){return _setup.emits('click')}}},[_c(_setup.IconButton,{ref:\"audioIconButtonRef\",attrs:{\"is-active\":!_setup.localStream.hasAudioStream,\"title\":_setup.t('Mic'),\"has-more\":_setup.hasMore,\"show-more\":_setup.showAudioSettingTab,\"disabled\":_setup.isLocalAudioIconDisable},on:{\"click-icon\":_setup.toggleMuteAudio,\"click-more\":_setup.handleMore}},[_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_setup.localStream.audioVolume,\"is-muted\":!_setup.localStream.hasAudioStream,\"is-disabled\":_setup.isLocalAudioIconDisable}})],1),_c(_setup.AudioSettingTab,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showAudioSettingTab),expression:\"showAudioSettingTab\"}],ref:\"audioSettingRef\",staticClass:\"audio-tab\"})],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showRequestOpenMicDialog,\"title\":_setup.title,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleReject}},[_vm._v(_vm._s(_setup.t('Keep it closed')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.handleAccept}},[_vm._v(_vm._s(_setup.t('Turn on the microphone')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('The host invites you to turn on the microphone'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, Ref, onUnmounted, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessageBox, ElMessage } from '../../elementComp';\nimport Dialog from '../../elementComp/Dialog';\nimport IconButton from '../common/IconButton.vue';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport { useRoomStore } from '../../stores/room';\nimport AudioIcon from '../base/AudioIcon.vue';\nimport { WARNING_MESSAGE, MESSAGE_DURATION } from '../../constants/message';\nimport { useI18n } from '../../locales';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequest, TUIRequestAction } from '@tencentcloud/tuiroom-engine-js';\nimport useRoomEngine from '../../hooks/useRoomEngine';\nimport { isMobile, isWeChat } from '../../utils/useMediaValue';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioControl',\n emits: ['click'],\n setup(__props, { emit: emits }) {\n\nconst roomEngine = useRoomEngine();\n\nconst roomStore = useRoomStore();\nconst {\n isAudience,\n localStream,\n isLocalAudioIconDisable,\n isMicrophoneDisableForAllUser,\n} = storeToRefs(roomStore);\n\n\nconst hasMore = computed(() => !isMobile);\nconst showAudioSettingTab: Ref = ref(false);\nconst audioIconButtonRef = ref>();\nconst audioSettingRef = ref>();\nconst { t } = useI18n();\nconst title = computed(() => (isMobile ? '' : t('Tips')));\n\nasync function toggleMuteAudio() {\n if (isLocalAudioIconDisable.value) {\n let warningMessage = '';\n if (isMicrophoneDisableForAllUser.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL;\n } else if (isAudience.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_MIC_FAIL_AUDIENCE;\n }\n ElMessage({\n type: 'warning',\n message: t(warningMessage),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n if (localStream.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n // 如果是全员禁言状态下,用户主动关闭麦克风之后不能再自己打开\n if (roomStore.isMicrophoneDisableForAllUser) {\n roomStore.setCanControlSelfAudio(false);\n }\n } else {\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const hasMicrophoneDevice = microphoneList.length > 0;\n if (!hasMicrophoneDevice && !isWeChat) {\n // 无麦克风列表\n ElMessageBox.alert(t('Microphone not detected on current device.'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n });\n return;\n }\n // 有麦克风列表且有权限\n await roomEngine.instance?.openLocalMicrophone();\n }\n showAudioSettingTab.value = false;\n}\n\nfunction handleMore() {\n if (!showAudioSettingTab.value) {\n showAudioSettingTab.value = true;\n } else {\n showAudioSettingTab.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showAudioSettingTab.value\n && !audioIconButtonRef.value?.$el.contains(event.target)\n && !audioSettingRef.value?.$el.contains(event.target)\n ) {\n showAudioSettingTab.value = false;\n }\n}\n\n// -------- 处理主持人打开/关闭麦克风信令 --------\nconst showRequestOpenMicDialog: Ref = ref(false);\nconst requestOpenMicRequestId: Ref = ref('');\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId } = eventInfo.request;\n // 主持人邀请打开麦克风,同意之后将会自动打开麦克风\n if (requestAction === TUIRequestAction.kRequestToOpenRemoteMicrophone) {\n requestOpenMicRequestId.value = requestId;\n showRequestOpenMicDialog.value = true;\n }\n}\n\n// 接受主持人邀请,打开麦克风\nasync function handleAccept() {\n roomStore.setCanControlSelfAudio(true);\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenMicRequestId.value,\n agree: true,\n });\n requestOpenMicRequestId.value = '';\n showRequestOpenMicDialog.value = false;\n}\n\n// 保持静音\nasync function handleReject() {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenMicRequestId.value,\n agree: false });\n requestOpenMicRequestId.value = '';\n showRequestOpenMicDialog.value = false;\n}\n\n// 请求被取消\nasync function onRequestCancelled(eventInfo: { requestId: string }) {\n const { requestId } = eventInfo;\n if (requestOpenMicRequestId.value === requestId) {\n showRequestOpenMicDialog.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\n\nreturn { __sfc: true,roomEngine, roomStore, isAudience, localStream, isLocalAudioIconDisable, isMicrophoneDisableForAllUser, emits, hasMore, showAudioSettingTab, audioIconButtonRef, audioSettingRef, t, title, toggleMuteAudio, handleMore, handleDocumentClick, showRequestOpenMicDialog, requestOpenMicRequestId, onRequestReceived, handleAccept, handleReject, onRequestCancelled, Dialog, IconButton, AudioSettingTab, AudioIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=357aa832&scoped=true&\"\nimport script from \"./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioControl.vue?vue&type=style&index=0&id=357aa832&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"357aa832\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"video-control-container\",on:{\"click\":function($event){return _setup.emits('click')}}},[_c(_setup.IconButton,{ref:\"videoIconButtonRef\",attrs:{\"is-active\":!_setup.localStream.hasVideoStream,\"title\":_setup.t('Camera'),\"icon-name\":_setup.iconName,\"has-more\":_setup.hasMore,\"disabled\":_setup.isLocalVideoIconDisable},on:{\"click-icon\":_setup.toggleMuteVideo,\"click-more\":_setup.handleMore}}),_c(_setup.VideoSettingTab,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showVideoSettingTab),expression:\"showVideoSettingTab\"}],ref:\"videoSettingRef\",staticClass:\"video-tab\"})],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showRequestOpenCameraDialog,\"title\":_setup.title,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":_setup.handleReject}},[_vm._v(_vm._s(_setup.t('Keep it closed')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.handleAccept}},[_vm._v(_vm._s(_setup.t('Turn on the camera')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('The host invites you to turn on the camera'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted, Ref } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessageBox, ElMessage } from '../../elementComp';\nimport Dialog from '../../elementComp/Dialog';\nimport IconButton from '../common/IconButton.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\n\nimport { useRoomStore } from '../../stores/room';\nimport { ICON_NAME } from '../../constants/icon';\nimport { WARNING_MESSAGE, MESSAGE_DURATION } from '../../constants/message';\nimport { useI18n } from '../../locales';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport TUIRoomEngine, { TUIVideoStreamType, TUIRoomEvents, TUIRequest, TUIRequestAction } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile, isWeChat } from '../../utils/useMediaValue';\nimport { useBasicStore } from '../../stores/basic';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoControl',\n emits: ['click'],\n setup(__props, { emit: emits }) {\n\nconst roomEngine = useGetRoomEngine();\n\nconst roomStore = useRoomStore();\nconst basicStore = useBasicStore();\nconst isFrontCamera: Ref = ref(basicStore.isFrontCamera);\n\n\nconst {\n isCameraDisableForAllUser,\n isAudience,\n localStream,\n isLocalVideoIconDisable,\n} = storeToRefs(roomStore);\nconst { t } = useI18n();\nconst hasMore = computed(() => !isMobile);\nconst showVideoSettingTab: Ref = ref(false);\nconst videoIconButtonRef = ref>();\nconst videoSettingRef = ref>();\nconst title = computed(() => (isMobile ? '' : t('Tips')));\n\nconst iconName = computed(() => {\n if (isLocalVideoIconDisable.value) {\n return ICON_NAME.CameraOffDisabled;\n }\n return localStream.value.hasVideoStream ? ICON_NAME.CameraOn : ICON_NAME.CameraOff;\n});\n\nasync function toggleMuteVideo() {\n if (isLocalVideoIconDisable.value) {\n let warningMessage = '';\n if (isCameraDisableForAllUser.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL;\n } else if (isAudience.value) {\n warningMessage = WARNING_MESSAGE.UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE;\n }\n ElMessage({\n type: 'warning',\n message: t(warningMessage),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n\n if (localStream.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n // 如果是全员禁画状态下,用户主动关闭摄像头之后不能再自己打开\n if (roomStore.isCameraDisableForAllUser) {\n roomStore.setCanControlSelfVideo(false);\n }\n } else {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const hasCameraDevice = cameraList.length > 0;\n // 无摄像头列表\n if (!hasCameraDevice && !isWeChat) {\n ElMessageBox.alert(t('Camera not detected on current device'), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm'),\n });\n return;\n }\n // 有摄像头列表\n roomEngine.instance?.setLocalVideoView({\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n streamType: TUIVideoStreamType.kCameraStream,\n });\n if (isMobile) {\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: isFrontCamera.value });\n } else {\n await roomEngine.instance?.openLocalCamera();\n }\n }\n showVideoSettingTab.value = false;\n}\n\nfunction handleMore() {\n if (!showVideoSettingTab.value) {\n showVideoSettingTab.value = true;\n } else {\n showVideoSettingTab.value = false;\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showVideoSettingTab.value\n && !videoIconButtonRef.value?.$el.contains(event.target)\n && !videoSettingRef.value?.$el.contains(event.target)\n ) {\n showVideoSettingTab.value = false;\n }\n}\n\n// -------- 处理主持人打开/关闭摄像头信令 --------\nconst showRequestOpenCameraDialog: Ref = ref(false);\nconst requestOpenCameraRequestId: Ref = ref('');\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId } = eventInfo.request;\n // 主持人邀请打开麦克风,同意之后将会自动打开摄像头\n if (requestAction === TUIRequestAction.kRequestToOpenRemoteCamera) {\n requestOpenCameraRequestId.value = requestId;\n showRequestOpenCameraDialog.value = true;\n }\n}\n\n// 接受主持人邀请,打开摄像头\nasync function handleAccept() {\n roomStore.setCanControlSelfVideo(true);\n roomEngine.instance?.setLocalVideoView({\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n streamType: TUIVideoStreamType.kCameraStream,\n });\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenCameraRequestId.value,\n agree: true,\n });\n requestOpenCameraRequestId.value = '';\n showRequestOpenCameraDialog.value = false;\n}\n\n// 保持静音\nasync function handleReject() {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: requestOpenCameraRequestId.value,\n agree: false,\n });\n requestOpenCameraRequestId.value = '';\n showRequestOpenCameraDialog.value = false;\n}\n\n// 请求被取消\nasync function onRequestCancelled(eventInfo: { requestId: string }) {\n const { requestId } = eventInfo;\n if (requestOpenCameraRequestId.value === requestId) {\n showRequestOpenCameraDialog.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n});\n\n\nreturn { __sfc: true,roomEngine, roomStore, basicStore, isFrontCamera, emits, isCameraDisableForAllUser, isAudience, localStream, isLocalVideoIconDisable, t, hasMore, showVideoSettingTab, videoIconButtonRef, videoSettingRef, title, iconName, toggleMuteVideo, handleMore, handleDocumentClick, showRequestOpenCameraDialog, requestOpenCameraRequestId, onRequestReceived, handleAccept, handleReject, onRequestCancelled, Dialog, IconButton, VideoSettingTab, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoControl.vue?vue&type=template&id=a0d52fdc&scoped=true&\"\nimport script from \"./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoControl.vue?vue&type=style&index=0&id=a0d52fdc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0d52fdc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'manage-member',\"title\":_setup.t('Members'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleMangeMemberSidebar}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ManageMemberControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst iconName = computed(() => (sidebarName.value === 'manage-member' ? ICON_NAME.ManageMemberActive : ICON_NAME.ManageMember));\n\nfunction toggleMangeMemberSidebar() {\n if (basicStore.setSidebarOpenStatus && sidebarName.value === 'manage-member') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('manage-member');\n}\n\nreturn { __sfc: true,t, basicStore, sidebarName, iconName, toggleMangeMemberSidebar, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ManageMemberControl.vue?vue&type=template&id=49c71e42&scoped=true&\"\nimport script from \"./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ManageMemberControl.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"49c71e42\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"chat-control-container\"},[(_setup.isMobile)?_c('div',[(_setup.chatStore.unReadCount > 0)?_c('div',{staticClass:\"count\"},[_c(_setup.IconButton,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toggleChatSidebar),expression:\"toggleChatSidebar\"}],attrs:{\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName}}),_c('span',{staticClass:\"unreadCount\"},[_vm._v(_vm._s(_setup.chatStore.unReadCount > 10 ? '10+' : _setup.chatStore.unReadCount))])],1):_c(_setup.IconButton,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.toggleChatSidebar),expression:\"toggleChatSidebar\"}],attrs:{\"is-active\":_setup.sidebarName === 'chat',\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName}})],1):_c('div',[(_setup.chatStore.unReadCount > 0)?_c('el-badge',{attrs:{\"value\":_setup.chatStore.unReadCount > 10 ? '10+' : _setup.chatStore.unReadCount}},[_c(_setup.IconButton,{attrs:{\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleChatSidebar}})],1):_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'chat',\"title\":_setup.t('Chat'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleChatSidebar}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\n\ninterface MessageItem {\n ID: string;\n type: string;\n payload: {\n text: string;\n };\n nick: string;\n from: string;\n flow: string;\n sequence: number;\n}\n\ninterface ChatState {\n messageList: MessageItem[];\n isMessageDisableByAdmin: boolean;\n unReadCount: number;\n isCompleted: boolean;\n // 是否已经拉完所有消息列表\n // Is the list of all messages pulled\n nextReqMessageId: string;\n}\n\nexport const useChatStore = defineStore('chat', {\n state: (): ChatState => ({\n messageList: [],\n isMessageDisableByAdmin: false,\n unReadCount: 0,\n isCompleted: false,\n nextReqMessageId: '',\n }),\n getters: {\n },\n actions: {\n updateMessageList(message: MessageItem) {\n const messageIds = this.messageList.map(message => message.ID);\n if (messageIds.indexOf(message.ID) === -1) {\n this.messageList = this.messageList.concat([message]);\n }\n },\n setMessageListInfo(messageList:MessageItem[], isCompleted: boolean, nextReqMessageId: string) {\n this.messageList = messageList;\n this.isCompleted = isCompleted;\n this.nextReqMessageId = nextReqMessageId;\n },\n updateUnReadCount(count: number) {\n this.unReadCount = count;\n },\n addHistoryMessages(messageList: MessageItem[]) {\n const messageIds = this.messageList.map(message => message.ID);\n const filteredMessageList = messageList.filter(message => messageIds.indexOf(message.ID) === -1);\n this.messageList = filteredMessageList.concat(this.messageList).sort((\n messageA: MessageItem, messageB: MessageItem) => messageA.sequence - messageB.sequence);\n },\n setSendMessageDisableChanged(isDisable: boolean) {\n this.isMessageDisableByAdmin = isDisable;\n },\n reset() {\n this.messageList = [];\n this.unReadCount = 0;\n this.isMessageDisableByAdmin = false;\n },\n },\n});\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { useChatStore } from '../../stores/chat';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst chatStore = useChatStore();\nconst { sidebarName } = storeToRefs(basicStore);\n\nconst iconName = computed(() => (sidebarName.value === 'chat' ? ICON_NAME.ChatActive : ICON_NAME.Chat));\n\nasync function toggleChatSidebar() {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'chat') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('chat');\n chatStore.updateUnReadCount(0);\n}\n\n\nreturn { __sfc: true,t, basicStore, chatStore, sidebarName, iconName, toggleChatSidebar, IconButton, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatControl.vue?vue&type=template&id=23a9a115&\"\nimport script from \"./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatControl.vue?vue&type=style&index=0&id=23a9a115&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.roomStore.isMaster)?_c(_setup.MasterApplyControl):(!_setup.roomStore.isMaster)?_c(_setup.MemberApplyControl):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"apply-control-container\"},[_c(_setup.IconButton,{ref:\"masterApplyControlRef\",attrs:{\"title\":_setup.t('Raise hand'),\"icon-name\":_setup.ICON_NAME.ApplyOnSeat},on:{\"click-icon\":_setup.toggleApplySpeech}}),(_setup.hasApplyToAnchorUser && !_setup.showApplyUserList)?_c('div',{staticClass:\"attention master-attention\"},[_c(_setup.SvgIcon,{staticClass:\"apply-big-icon\",attrs:{\"icon-name\":\"apply-big-icon\"}}),_c('span',{staticClass:\"info\"},[_vm._v(_vm._s(_setup.applyToAnchorList.length))])],1):_vm._e(),(_setup.showApplyUserList)?_c('div',{ref:\"masterApplyListRef\",class:_setup.isMobile ? 'apply-list-container-h5':'apply-list-container'},[_c('div',{staticClass:\"title-container\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Apply to stage application')))]),_c(_setup.SvgIcon,{staticClass:\"close\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.hideApplyList}})],1),_c('div',{staticClass:\"apply-list\"},_vm._l((_setup.applyToAnchorList),function(item,index){return _c('div',{key:index,staticClass:\"apply-item\"},[_c('div',{staticClass:\"user-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":item.avatarUrl}}),_c('span',{staticClass:\"user-name\",attrs:{\"title\":item.userName || item.userId}},[_vm._v(_vm._s(item.userName || item.userId))])],1),_c('div',{staticClass:\"control-container\"},[_c('div',{staticClass:\"button primary\",on:{\"click\":function($event){return _setup.handleUserApply(item.userId, true)}}},[_vm._v(_vm._s(_setup.t('Agree')))]),_c('div',{staticClass:\"button outline\",on:{\"click\":function($event){return _setup.handleUserApply(item.userId, false)}}},[_vm._v(_vm._s(_setup.t('Reject')))])])])}),0),_c('div',{staticClass:\"apply-footer\"},[_c('div',{staticClass:\"button outline deny-all\",on:{\"click\":_setup.denyAllUserApply}},[_vm._v(_vm._s(_setup.t('Reject All')))])])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// 举手发言逻辑\n// 主持人:同意/拒绝用户的申请发言,踢人下麦,邀请用户上麦,取消邀请用户上麦\n\nimport { onBeforeUnmount } from 'vue';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequestAction, TUIRequest, TUIRequestCallbackType } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from './useRoomEngine';\nimport { ElMessage } from '../elementComp';\nimport { MESSAGE_DURATION } from '../constants/message';\nimport { useRoomStore, UserInfo } from '../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../locales';\nimport logger from '../utils/common/logger';\n\nconst roomEngine = useGetRoomEngine();\n\nexport default function () {\n const roomStore = useRoomStore();\n const { applyToAnchorList } = storeToRefs(roomStore);\n const { t } = useI18n();\n\n // ------ 以下处理普通用户操作 ---------\n\n // new: 收到来自用户的上麦申请\n function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { requestAction, requestId, userId } = eventInfo.request;\n if (requestAction === TUIRequestAction.kRequestToTakeSeat) {\n // 用户申请上麦\n userId && roomStore.addApplyToAnchorUser({ userId, requestId });\n }\n }\n\n // 远端用户取消上麦申请\n function onRequestCancelled(eventInfo: { requestId: string, userId: string }) {\n const { userId } = eventInfo;\n roomStore.removeApplyToAnchorUser(userId);\n }\n\n // 处理用户请求\n async function handleUserApply(applyUserId: string, agree: boolean) {\n // TUIRoomCore.replySpeechApplication(applyUserId, agree);\n const userInfo = roomStore.remoteUserObj[applyUserId];\n if (userInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree,\n });\n }\n roomStore.removeApplyToAnchorUser(applyUserId);\n }\n\n // 同意用户上台\n async function agreeUserOnStage(userInfo: UserInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree: true,\n });\n roomStore.removeApplyToAnchorUser(userInfo.userId);\n }\n\n // 拒绝用户上台\n async function denyUserOnStage(userInfo: UserInfo) {\n const requestId = userInfo.applyToAnchorRequestId;\n requestId && await roomEngine.instance?.responseRemoteRequest({\n requestId,\n agree: false,\n });\n roomStore.removeApplyToAnchorUser(userInfo.userId);\n }\n\n // 拒绝全部用户上麦请求\n async function denyAllUserApply() {\n const applyUserList = applyToAnchorList.value.map(item => ({\n userId: item.userId,\n userName: item.userName,\n applyToAnchorRequestId: item.applyToAnchorRequestId,\n }));\n let index = 0;\n while (index >= 0 && index < applyUserList.length) {\n const { userId, userName, applyToAnchorRequestId } = applyUserList[index];\n try {\n applyToAnchorRequestId && await roomEngine.instance?.responseRemoteRequest({\n requestId: applyToAnchorRequestId,\n agree: false,\n });\n roomStore.removeApplyToAnchorUser(userId);\n } catch (error) {\n logger.error(`拒绝 ${userName || userId} 上台申请失败,请重试!`);\n ElMessage({\n type: 'warning',\n message: t('Reject on Stage failed, please retry', { userName: userName || userId }),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n index += 1;\n }\n }\n\n TUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n });\n\n onBeforeUnmount(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n });\n\n // --------- 以下处理主持人主动操作 ----------\n\n // 邀请用户上台\n async function inviteUserOnStage(userInfo: UserInfo) {\n const { userId } = userInfo;\n const request = await roomEngine.instance?.takeUserOnSeatByAdmin({\n seatIndex: -1,\n userId,\n timeout: 0,\n requestCallback: (callbackInfo: { requestCallbackType: TUIRequestCallbackType, userId: string }) => {\n const { requestCallbackType, userId } = callbackInfo;\n const userName = roomStore.getUserName(userId);\n switch (requestCallbackType) {\n case TUIRequestCallbackType.kRequestAccepted:\n ElMessage({\n type: 'success',\n message: `${userName || userId} ${t('accepted the invitation to the stage')}`,\n duration: MESSAGE_DURATION.NORMAL,\n });\n roomStore.removeInviteToAnchorUser(userId);\n break;\n case TUIRequestCallbackType.kRequestRejected:\n ElMessage({\n type: 'warning',\n message: `${userName || userId} ${t('declined the invitation to the stage')}`,\n duration: MESSAGE_DURATION.NORMAL,\n });\n roomStore.removeInviteToAnchorUser(userId);\n break;\n case TUIRequestCallbackType.kRequestTimeout:\n break;\n default:\n break;\n }\n },\n });\n if (request && request.requestId) {\n roomStore.addInviteToAnchorUser({ userId, requestId: request.requestId });\n }\n }\n\n // 取消邀请用户上台\n function cancelInviteUserOnStage(userInfo: UserInfo) {\n const { userId, inviteToAnchorRequestId } = userInfo;\n roomStore.removeInviteToAnchorUser(userId);\n if (inviteToAnchorRequestId) {\n roomEngine.instance?.cancelRequest({ requestId: inviteToAnchorRequestId });\n }\n }\n\n // 邀请下台\n function kickUserOffStage(userInfo: UserInfo) {\n roomEngine.instance?.kickUserOffSeatByAdmin({\n seatIndex: -1,\n userId: userInfo.userId,\n });\n }\n\n return {\n // 处理用户上麦申请(同意/拒绝)\n handleUserApply,\n // 同意普通用户上台\n agreeUserOnStage,\n // 拒绝普通用户上台\n denyUserOnStage,\n // 拒绝所有申请上麦用户\n denyAllUserApply,\n // 邀请用户上台\n inviteUserOnStage,\n // 取消邀请用户上台\n cancelInviteUserOnStage,\n // 将用户踢下麦\n kickUserOffStage,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onBeforeUnmount } from 'vue';\nimport Avatar from '../../base/Avatar.vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport IconButton from '../../common/IconButton.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { useI18n } from '../../../locales';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MasterApplyControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { handleUserApply, denyAllUserApply } = useMasterApplyControl();\nconst { showApplyUserList } = storeToRefs(basicStore);\nconst { isMaster, applyToAnchorList } = storeToRefs(roomStore);\nconst masterApplyControlRef = ref>();\nconst masterApplyListRef = ref();\n\nconst hasApplyToAnchorUser = computed(() => applyToAnchorList.value.length > 0);\n\n\nfunction toggleApplySpeech() {\n if (isMaster.value) {\n basicStore.setShowApplyUserList(!showApplyUserList.value);\n }\n};\n\nfunction hideApplyList() {\n basicStore.setShowApplyUserList(false);\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (\n showApplyUserList.value\n && !masterApplyControlRef.value?.$el.contains(event.target)\n && !masterApplyListRef.value?.contains(event.target)\n ) {\n basicStore.setShowApplyUserList(false);\n }\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonBeforeUnmount(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,t, basicStore, roomStore, handleUserApply, denyAllUserApply, showApplyUserList, isMaster, applyToAnchorList, masterApplyControlRef, masterApplyListRef, hasApplyToAnchorUser, toggleApplySpeech, hideApplyList, handleDocumentClick, Avatar, ICON_NAME, IconButton, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MasterApplyControl.vue?vue&type=template&id=22abf286&\"\nimport script from \"./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MasterApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MasterApplyControl.vue?vue&type=style&index=0&id=22abf286&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"apply-control-container\"},[_c(_setup.IconButton,{attrs:{\"title\":_setup.iconTitle,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleApplySpeech}}),(_setup.showMemberApplyAttention)?_c('div',{staticClass:\"attention member-attention\"},[_c('span',{staticClass:\"info\"},[_vm._v(_vm._s(_setup.t('Please raise your hand to apply')))]),_c(_setup.SvgIcon,{staticClass:\"close\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.hideApplyAttention}})],1):_vm._e()],1),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showInviteDialog,\"title\":_setup.t('The host invites you to speak on stage'),\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{class:[_setup.isMobile ? 'button-container-mobile' : 'button-container-PC']},[_c('span',{staticClass:\"cancel\",on:{\"click\":function($event){return _setup.handleInvite(false)}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{staticClass:\"agree\",on:{\"click\":function($event){return _setup.handleInvite(true)}}},[_vm._v(_vm._s(_setup.t('Agree')))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?'))+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, watch, onBeforeUnmount } from 'vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport IconButton from '../../common/IconButton.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { useBasicStore } from '../../../stores/basic';\nimport { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\nimport { storeToRefs } from 'pinia';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport logger from '../../../utils/common/logger';\nimport TUIRoomEngine, { TUIRoomEvents, TUIRequest, TUIRequestAction, TUIRequestCallbackType } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberApplyControl',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { lang } = storeToRefs(basicStore);\nconst { localUser } = storeToRefs(roomStore);\n\nconst isApplyingOnSeat: Ref = ref(false);\nconst showMemberApplyAttention: Ref = ref(true);\nconst iconName: Ref = ref('');\nconst iconTitle: Ref = ref('');\nconst showInviteDialog: Ref = ref(false);\n\nconst applyToAnchorRequestId: Ref = ref('');\nconst inviteToAnchorRequestId: Ref = ref('');\n\nwatch([localUser, isApplyingOnSeat, lang], ([localUser, isApplyingOnSeat]) => {\n if (localUser.onSeat) {\n iconName.value = ICON_NAME.GoOffSeat;\n iconTitle.value = t('Step down');\n } else {\n if (isApplyingOnSeat) {\n iconName.value = ICON_NAME.ApplyActive;\n iconTitle.value = t('Hand down');\n } else {\n iconName.value = ICON_NAME.ApplyOnSeat;\n iconTitle.value = t('Raise hand');\n }\n }\n}, { immediate: true, deep: true });\n\nasync function toggleApplySpeech() {\n hideApplyAttention();\n if (localUser.value.onSeat) {\n leaveSeat();\n } else {\n isApplyingOnSeat.value ? cancelSeatApplication() : sendSeatApplication();\n }\n};\n\n/**\n * Send a request to be on the mike\n *\n * 发送上麦申请\n**/\nasync function sendSeatApplication() {\n try {\n const request = await roomEngine.instance?.takeSeat({\n seatIndex: -1,\n timeout: 0,\n requestCallback: (callbackInfo: { requestCallbackType: TUIRequestCallbackType }) => {\n isApplyingOnSeat.value = false;\n const { requestCallbackType } = callbackInfo;\n switch (requestCallbackType) {\n case TUIRequestCallbackType.kRequestAccepted:\n ElMessage({\n type: 'success',\n message: t('The host has approved your application'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n break;\n case TUIRequestCallbackType.kRequestRejected:\n ElMessage({\n type: 'warning',\n message: t('The host has rejected your application for the stage'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n break;\n case TUIRequestCallbackType.kRequestTimeout:\n break;\n }\n },\n });\n if (request && request.requestId) {\n applyToAnchorRequestId.value = request.requestId;\n }\n isApplyingOnSeat.value = true;\n } catch (error) {\n logger.log('member sendSpeechApplication error', error);\n }\n}\n\n/**\n * Cancellation of on-mike application\n *\n * 处理点击【创建房间】\n**/\n// 取消上麦申请\nasync function cancelSeatApplication() {\n try {\n await roomEngine.instance?.cancelRequest({ requestId: applyToAnchorRequestId.value });\n isApplyingOnSeat.value = false;\n } catch (error) {\n logger.log('member cancelSpeechApplication', error);\n }\n}\n\n/**\n * User Down Mack\n *\n * 用户下麦\n**/\nasync function leaveSeat() {\n await roomEngine.instance?.leaveSeat();\n}\n\nfunction hideApplyAttention() {\n showMemberApplyAttention.value = false;\n}\n\nasync function onRequestReceived(eventInfo: { request: TUIRequest }) {\n const { request: { requestId, requestAction } } = eventInfo;\n // Received an invitation from the host to go on the microphone\n // 收到主持人邀请上麦\n if (requestAction === TUIRequestAction.kRequestRemoteUserOnSeat) {\n inviteToAnchorRequestId.value = requestId;\n showInviteDialog.value = true;\n }\n}\n\n/**\n * The host canceled the invitation to the microphone\n *\n * 主持人取消邀请上麦\n **/\nfunction onRequestCancelled(eventInfo: { requestId: string, userId: string }) {\n const { requestId } = eventInfo;\n if (inviteToAnchorRequestId.value === requestId) {\n inviteToAnchorRequestId.value = '';\n showInviteDialog.value = false;\n }\n}\n\n/**\n * User accepts/rejects the presenter's invitation\n *\n * 用户接受/拒绝主讲人的邀请\n**/\nasync function handleInvite(agree: boolean) {\n await roomEngine.instance?.responseRemoteRequest({\n requestId: inviteToAnchorRequestId.value,\n agree,\n });\n showInviteDialog.value = false;\n if (agree) {\n hideApplyAttention();\n }\n}\n\n/**\n * Kicked off the seat by the host\n * 被主持人踢下麦\n */\nasync function onKickedOffSeat() {\n // 被主持人踢下麦\n ElMessage({\n type: 'warning',\n message: t('You have been invited by the host to step down, please raise your hand if you need to speak'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.on(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOffSeat, onKickedOffSeat);\n});\n\nonBeforeUnmount(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRequestReceived, onRequestReceived);\n roomEngine.instance?.off(TUIRoomEvents.onRequestCancelled, onRequestCancelled);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOffSeat, onKickedOffSeat);\n});\n\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, lang, localUser, isApplyingOnSeat, showMemberApplyAttention, iconName, iconTitle, showInviteDialog, applyToAnchorRequestId, inviteToAnchorRequestId, toggleApplySpeech, sendSeatApplication, cancelSeatApplication, leaveSeat, hideApplyAttention, onRequestReceived, onRequestCancelled, handleInvite, onKickedOffSeat, IconButton, SvgIcon, Dialog, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberApplyControl.vue?vue&type=template&id=2562f654&\"\nimport script from \"./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberApplyControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberApplyControl.vue?vue&type=style&index=0&id=2562f654&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport MasterApplyControl from './MasterApplyControl.vue';\nimport MemberApplyControl from './MemberApplyControl.vue';\nimport { useRoomStore } from '../../../stores/room';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Index',\n setup(__props) {\n\nconst roomStore = useRoomStore();\n\n\nreturn { __sfc: true,roomStore, MasterApplyControl, MemberApplyControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=e9c8db8c&\"\nimport script from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('More'),\"icon-name\":_setup.ICON_NAME.More},on:{\"click-icon\":_setup.showMore}})],1),(_setup.showMoreContent)?_c('div',{ref:\"moreContentRef\",staticClass:\"show-more-content\"},[_c('div',{staticClass:\"control-compent\"},[(_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ChatControl,{on:{\"click\":function($event){return _setup.handleControlClick('chatControl')}}}):_vm._e(),_c(_setup.ContactControl,{on:{\"click\":function($event){return _setup.handleControlClick('contactControl')}}}),_c(_setup.InviteControl,{on:{\"click\":function($event){return _setup.handleControlClick('inviteControl')}}})],1),_c('div',{staticClass:\"close\",on:{\"click\":function($event){_setup.showMoreContent=false}}},[_c('i',[_vm._v(_vm._s(_setup.t('Cancel')))])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../../locales';\nimport { ICON_NAME } from '../../../constants/icon';\n\nexport default function useControl() {\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const { sidebarName } = storeToRefs(basicStore);\n\n const iconName = computed(() => (sidebarName.value === 'more' ? ICON_NAME.MoreActive : ICON_NAME.More));\n\n return {\n t,\n basicStore,\n iconName,\n sidebarName,\n };\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'invite',\"title\":_setup.t('Invite'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleInviteSidebar}}),(_setup.isShowInviteTab)?_c('div',{staticClass:\"invite-container\"},[_c(_setup.roomInvite,{ref:\"inviteRef\",on:{\"on-close-invite\":_setup.handleCloseInvite}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-container-main\"},[_c('div',{staticClass:\"invite-title-main\"},[_c('p',[_vm._v(_vm._s(_setup.t('Invite')))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleCloseInvite),expression:\"handleCloseInvite\"}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.visibleInviteContentList),function(item){return _c('div',{key:item.id,staticClass:\"invite-content-main\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t(item.title)))]),_c('span',{staticClass:\"invite-content\"},[_vm._v(_vm._s(item.content))]),_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.onCopy(item.copyLink)),expression:\"() => onCopy(item.copyLink)\"}],staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"}})],1)}),_c('span',{staticClass:\"invite-bottom\"},[_vm._v(\" \"+_vm._s(_setup.t('You can share the room number or link to invite more people to join the room.'))+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed, reactive } from 'vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { ElMessage } from '../../elementComp';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../locales';\nimport { isElectronEnv, clipBoard } from '../../utils/utils';\n\nexport default function useRoomInvite() {\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const { roomId, shareLink, isRoomLinkVisible } = storeToRefs(basicStore);\n\n const { origin, pathname } = location || {};\n const isElectron = isElectronEnv();\n\n const inviteLink = computed(() => {\n if (shareLink.value) {\n const urlConcatenation = shareLink.value.indexOf('?') !== -1 ? '&' : '?';\n return `${shareLink.value}${urlConcatenation}roomId=${roomId.value}`;\n }\n return `${origin}${pathname}#/home?roomId=${roomId.value}`;\n });\n const schemeLink = computed(() => `tuiroom://joinroom?roomId=${roomId.value}`);\n\n async function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n }\n\n const inviteContentList = [\n { id: 1, title: 'Room ID', content: roomId, copyLink: roomId, visible: true },\n { id: 2, title: 'Room Link', content: inviteLink, copyLink: inviteLink, visible: isRoomLinkVisible.value },\n { id: 3, title: 'scheme', content: schemeLink, copyLink: schemeLink, visible: true },\n ];\n const visibleInviteContentList = reactive(inviteContentList.filter(item => item.visible));\n\n return {\n t,\n isRoomLinkVisible,\n roomId,\n origin,\n pathname,\n isElectron,\n inviteLink,\n schemeLink,\n onCopy,\n visibleInviteContentList,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport useRoomInviteControl from './useRoomInviteHooks';\nimport { isWeChat } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n emits: ['on-close-invite'],\n setup(__props, { emit }) {\n\nconst {\n t,\n onCopy,\n visibleInviteContentList,\n} = useRoomInviteControl();\n\n\n\n\nfunction handleCloseInvite() {\n emit('on-close-invite');\n}\n\n\nreturn { __sfc: true,t, onCopy, visibleInviteContentList, emit, handleCloseInvite, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=eb2b478c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=eb2b478c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eb2b478c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"invite-container\"},[_c('div',{staticClass:\"invite-notice\"},[_vm._v(_vm._s(_setup.t('Share the room ID or invite link')))]),_c('div',{staticClass:\"invite-content\"},[_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite by room number')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.roomId}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.roomId)}}})],1)]),(_setup.isRoomLinkVisible)?_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite via room link')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.inviteLink}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.inviteLink)}}})],1)]):_vm._e(),_c('div',{staticClass:\"invite-item\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Invite via client scheme')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.schemeLink}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.schemeLink)}}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useRoomInviteControl from './useRoomInviteHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst {\n t,\n isRoomLinkVisible,\n roomId,\n inviteLink,\n schemeLink,\n onCopy,\n} = useRoomInviteControl();\n\n\nreturn { __sfc: true,t, isRoomLinkVisible, roomId, inviteLink, schemeLink, onCopy, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=76a9ae2d&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=76a9ae2d&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76a9ae2d\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPC;\n\nexport default Index;\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport roomInvite from '../RoomInvite';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'InviteControl',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst { t } = useI18n();\nconst isShowInviteTab = ref(false);\nconst inviteRef = ref();\n\nconst iconName = computed(() => (\n isMobile ? ICON_NAME.Invite : (sidebarName.value === 'invite' ? ICON_NAME.InviteActive : ICON_NAME.Invite)\n));\n\nfunction toggleInviteSidebar() {\n if (isMobile) {\n isShowInviteTab.value = true;\n if (basicStore.sidebarName === 'invite') {\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarName('invite');\n } else {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'invite') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('invite');\n }\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowInviteTab.value && inviteRef.value && !inviteRef.value.$el.contains(event.target)) {\n isShowInviteTab.value = false;\n }\n}\n\nfunction handleCloseInvite() {\n isShowInviteTab.value = false;\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,basicStore, sidebarName, t, isShowInviteTab, inviteRef, iconName, toggleInviteSidebar, handleDocumentClick, handleCloseInvite, IconButton, roomInvite }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./InviteControl.vue?vue&type=template&id=78681d3c&scoped=true&\"\nimport script from \"./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./InviteControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./InviteControl.vue?vue&type=style&index=0&id=78681d3c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78681d3c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('Contact us'),\"icon-name\":\"contact-us-h5\"},on:{\"click-icon\":_setup.toggleContactSidebar}}),(_setup.isShowContactTab)?_c('div',{staticClass:\"contact-container\"},[_c(_setup.roomContact,{ref:\"contactRef\",on:{\"on-close-contact\":_setup.handleOnCloseContact}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"contact-container-main\"},[_c('div',{staticClass:\"contact-title-main\"},[_c('p',[_vm._v(_vm._s(_setup.t('Contact us')))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleCloseContact),expression:\"handleCloseContact\"}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.contactContentList),function(item){return _c('div',{key:item.id,staticClass:\"contact-content-main\"},[_c('span',{staticClass:\"contact-title\"},[_vm._v(_vm._s(_setup.t(item.title)))]),_c('span',{staticClass:\"contact-content\"},[_vm._v(_vm._s(item.content))]),_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.onCopy(item.copyLink)),expression:\"() => onCopy(item.copyLink)\"}],staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\",\"size\":\"custom\"}})],1)}),_c('span',{staticClass:\"contact-bottom\"},[_vm._v(\" \"+_vm._s(_setup.t('If you have any questions, please feel free to join our QQ group or send an email'))+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ElMessage } from '../../elementComp';\nimport { useI18n } from '../../locales';\nimport { clipBoard } from '../../utils/utils';\n\nexport default function useRoomMoreHooks() {\n const { t } = useI18n();\n\n const groupNumber = '592465424';\n const email = 'matthewwu@tencent.com';\n\n async function onCopy(value: string | number) {\n try {\n await clipBoard(value);\n ElMessage({\n message: t('Copied successfully'),\n type: 'success',\n });\n } catch (error) {\n ElMessage({\n message: t('Copied failure'),\n type: 'error',\n });\n }\n }\n return {\n t,\n groupNumber,\n email,\n onCopy,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { reactive } from 'vue';\nimport useRoomMoreControl from './useRoomMoreHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { isWeChat } from '../../utils/useMediaValue';\nimport '../../directives/vTap';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n emits: ['on-close-contact'],\n setup(__props, { emit }) {\n\nconst {\n t,\n groupNumber,\n email,\n onCopy,\n} = useRoomMoreControl();\n\n\n\nconst contactContentList = reactive([\n { id: 1, title: 'group chat', content: groupNumber, copyLink: groupNumber },\n { id: 2, title: 'Email', content: email, copyLink: email },\n]);\n\nfunction handleCloseContact() {\n emit('on-close-contact');\n}\n\nreturn { __sfc: true,t, groupNumber, email, onCopy, emit, contactContentList, handleCloseContact, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=76fbca8c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=76fbca8c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"76fbca8c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-container\"},[_c('div',{staticClass:\"more-notice\"},[_vm._v(_vm._s(_setup.t('Join our QQ group chat or email us.')))]),_c('div',{staticClass:\"more-content\"},[_c('div',{staticClass:\"more-item\"},[_c('span',{staticClass:\"more-title\"},[_vm._v(_vm._s(_setup.t('group chat')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.groupNumber}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.groupNumber)}}})],1)]),_c('div',{staticClass:\"more-item\"},[_c('span',{staticClass:\"more-title\"},[_vm._v(_vm._s(_setup.t('Email')))]),_c('div',{staticClass:\"input-area\"},[_c('input',{staticClass:\"input\",attrs:{\"type\":\"text\"},domProps:{\"value\":_setup.email}}),_c(_setup.SvgIcon,{staticClass:\"copy\",attrs:{\"icon-name\":\"copy-icon\"},on:{\"click\":function($event){return _setup.onCopy(_setup.email)}}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport useRoomMoreControl from './useRoomMoreHooks';\nimport SvgIcon from '../common/SvgIcon.vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst {\n t,\n groupNumber,\n email,\n onCopy,\n} = useRoomMoreControl();\n\nreturn { __sfc: true,t, groupNumber, email, onCopy, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=4d3067ac&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=4d3067ac&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d3067ac\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPC;\n\nexport default Index;\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { useI18n } from '../../locales';\nimport { isMobile } from '../../utils/useMediaValue';\nimport roomContact from '../RoomMore';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ContactControl',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { sidebarName } = storeToRefs(basicStore);\nconst { t } = useI18n();\nconst isShowContactTab = ref(false);\nconst contactRef = ref();\n\nfunction toggleContactSidebar() {\n if (!isMobile) {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'more') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('more');\n } else {\n isShowContactTab.value = true;\n if (basicStore.sidebarName === 'more') {\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarName('more');\n }\n}\n\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (isShowContactTab.value && contactRef.value && !contactRef.value.$el.contains(event.target)) {\n isShowContactTab.value = false;\n }\n}\n\nfunction handleOnCloseContact() {\n isShowContactTab.value = false;\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,basicStore, sidebarName, t, isShowContactTab, contactRef, toggleContactSidebar, handleDocumentClick, handleOnCloseContact, IconButton, roomContact }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ContactControl.vue?vue&type=template&id=251c1f14&scoped=true&\"\nimport script from \"./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ContactControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ContactControl.vue?vue&type=style&index=0&id=251c1f14&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"251c1f14\",\n null\n \n)\n\nexport default component.exports","export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler = (event: T) => void;\nexport type WildcardHandler> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList = Array>;\nexport type WildCardEventHandlerList> = Array>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList | WildCardEventHandlerList\n>;\n\nexport interface Emitter> {\n\tall: EventHandlerMap;\n\n\ton(type: Key, handler: Handler): void;\n\ton(type: '*', handler: WildcardHandler): void;\n\n\toff(type: Key, handler?: Handler): void;\n\toff(type: '*', handler: WildcardHandler): void;\n\n\temit(type: Key, event: Events[Key]): void;\n\temit(type: undefined extends Events[Key] ? Key : never): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt>(\n\tall?: EventHandlerMap\n): Emitter {\n\ttype GenericEventHandler =\n\t\t| Handler\n\t\t| WildcardHandler;\n\tall = all || new Map();\n\n\treturn {\n\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from, or `'*'`\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n","// 事件总线第三方库\nimport mitt from 'mitt';\nconst bus = mitt();\nexport default bus;\n","import { defineComponent as _defineComponent } from 'vue'\nimport IconButton from '../../common/IconButton.vue';\nimport userMoreControl from './useMoreControlHooks';\nimport ChatControl from '../ChatControl.vue';\nimport InviteControl from '../InviteControl.vue';\nimport ContactControl from '../ContactControl.vue';\nimport { useRoomStore } from '../../../stores/room';\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport bus from '../../../hooks/useMitt';\nimport TUIRoomAegis from '../../../utils/aegis';\nimport { ICON_NAME } from '../../../constants/icon';\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MoreControlH5',\n setup(__props) {\n\nconst showMoreContent = ref(false);\nconst moreContentRef = ref();\n\nconst {\n t,\n sidebarName,\n} = userMoreControl();\nconst roomStore = useRoomStore();\n\nfunction showMore() {\n showMoreContent.value = true;\n}\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {\n showMoreContent.value = false;\n }\n}\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,showMoreContent, moreContentRef, t, sidebarName, roomStore, showMore, handleControlClick, handleDocumentClick, IconButton, ChatControl, InviteControl, ContactControl, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MoreControlH5.vue?vue&type=template&id=7814bc4f&scoped=true&\"\nimport script from \"./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MoreControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MoreControlH5.vue?vue&type=style&index=0&id=7814bc4f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7814bc4f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"more-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.sidebarName === 'more',\"title\":_setup.t('More'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleMoreSidebar}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport IconButton from '../../common/IconButton.vue';\nimport userMoreControl from './useMoreControlHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MoreControlPC',\n setup(__props) {\n\nconst {\n t,\n iconName,\n basicStore,\n sidebarName,\n} = userMoreControl();\n\nfunction toggleMoreSidebar() {\n if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'more') {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n return;\n }\n basicStore.setSidebarOpenStatus(true);\n basicStore.setSidebarName('more');\n}\n\nreturn { __sfc: true,t, iconName, basicStore, sidebarName, toggleMoreSidebar, IconButton }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MoreControlPC.vue?vue&type=template&id=8fb09940&scoped=true&\"\nimport script from \"./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MoreControlPC.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8fb09940\",\n null\n \n)\n\nexport default component.exports","import MoreControlH5 from './MoreControlH5.vue';\nimport MoreControlPc from './MoreControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst MoreControl = isMobile ? MoreControlH5 : MoreControlPc;\n\nexport default MoreControl;\n","import { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\n\n\nexport default function useRoomFooter() {\n const roomStore = useRoomStore();\n const { t } = useI18n();\n\n return {\n t,\n roomStore }\n ;\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport AudioControl from '../AudioControl.vue';\nimport VideoControl from '../VideoControl.vue';\nimport ManageMemberControl from '../ManageMemberControl.vue';\nimport ChatControl from '../ChatControl.vue';\nimport ApplyControl from '../ApplyControl/Index.vue';\nimport MoreControl from '../MoreControl';\nimport bus from '../../../hooks/useMitt';\nimport '../../../directives/vTap';\n\nimport TUIRoomAegis from '../../../utils/aegis';\n\nimport useRoomFooter from './useRoomFooterHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\nconst {\n roomStore,\n} = useRoomFooter();\n\n\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nreturn { __sfc: true,roomStore, handleControlClick, AudioControl, VideoControl, ManageMemberControl, ChatControl, ApplyControl, MoreControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=6f1ee0d6&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=6f1ee0d6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f1ee0d6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"footer-container\"},[_c('div',{staticClass:\"left-container\"},[_c(_setup.AudioControl,{staticClass:\"left-container-item\",on:{\"click\":function($event){return _setup.handleControlClick('audioControl')}}}),_c(_setup.VideoControl,{staticClass:\"left-container-item\",on:{\"click\":function($event){return _setup.handleControlClick('videoControl')}}})],1),_c('div',{staticClass:\"center-container\"},[_c(_setup.ScreenShareControl,{on:{\"click\":function($event){return _setup.handleControlClick('screenShareControl')}}}),_c(_setup.FullScreenControl,{on:{\"click\":function($event){return _setup.handleControlClick('fullScreenControl')}}}),(_setup.roomStore.isMaster)?_c(_setup.ManageMemberControl,{on:{\"click\":function($event){return _setup.handleControlClick('manageMemberControl')}}}):_vm._e(),_c(_setup.InviteControl,{on:{\"click\":function($event){return _setup.handleControlClick('inviteControl')}}}),_c(_setup.ChatControl,{on:{\"click\":function($event){return _setup.handleControlClick('chatControl')}}}),(_setup.roomStore.isSpeakAfterTakingSeatMode)?_c(_setup.ApplyControl,{on:{\"click\":function($event){return _setup.handleControlClick('applyControl')}}}):_vm._e(),_c(_setup.MoreControl,{on:{\"click\":function($event){return _setup.handleControlClick('moreControl')}}}),_c(_setup.SettingControl,{on:{\"click\":function($event){return _setup.handleControlClick('settingControl')}}})],1),_c('div',{staticClass:\"right-container\"},[_c(_setup.EndControl,{on:{\"on-destroy-room\":_setup.onDestroyRoom,\"on-exit-room\":_setup.onExitRoom}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"screen-share-control-container\"},[_c(_setup.IconButton,{ref:\"btnStopRef\",attrs:{\"is-active\":_setup.isSharing,\"disabled\":_setup.screenShareDisabled,\"title\":_setup.title,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleScreenShare}}),(_setup.showStopShareRegion)?_c('div',{staticClass:\"stop-share-region\",on:{\"click\":_setup.openStopConfirmDialog}},[_c(_setup.SvgIcon,{staticClass:\"stop-share-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.ScreenShareStopped}}),_c('span',[_vm._v(_vm._s(_setup.t('End sharing')))])],1):_vm._e(),_c(_setup.Dialog,{attrs:{\"model-value\":_setup.dialogVisible,\"width\":\"420px\",\"title\":_setup.t('Stop sharing?'),\"modal\":true,\"append-to-body\":false,\"before-close\":_setup.cancelStop},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('span',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_setup.stopScreenShare}},[_vm._v(_vm._s(_setup.t('Stop sharing')))]),_c('el-button',{attrs:{\"type\":\"default\"},on:{\"click\":_setup.cancelStop}},[_vm._v(_vm._s(_setup.t('Cancel')))])],1)]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.t('Others will no longer see your screen after you stop sharing. Are you sure you want to stop?')))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, computed, onUnmounted, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\nimport Dialog from '../../../elementComp/Dialog';\nimport IconButton from '../../common/IconButton.vue';\nimport TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../../stores/room';\nimport logger from '../../../utils/common/logger';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { useI18n } from '../../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Index',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[ScreenShareControl]';\n\nconst roomStore = useRoomStore();\nconst { isAnchor, isAudience, hasOtherScreenShare } = storeToRefs(roomStore);\nconst { t } = useI18n();\n\nconst btnStopRef = ref();\nconst isSharing: Ref = ref(false);\nconst showStopShareRegion: Ref = ref(false);\nconst dialogVisible: Ref = ref(false);\n\n// 麦下用户不能进行屏幕分享\nconst screenShareDisabled = computed(() => isAudience.value);\nconst title = computed(() => (isSharing.value ? t('Sharing') : t('Share screen')));\nconst iconName = computed(() => {\n if (screenShareDisabled.value) {\n return ICON_NAME.ScreenShareDisabled;\n }\n return isSharing.value ? ICON_NAME.ScreenSharing : ICON_NAME.ScreenShare;\n});\n\nwatch(isAnchor, (val: any, oldVal: any) => {\n if (!oldVal && val && isSharing.value) {\n stopScreenShare();\n }\n});\n\nasync function toggleScreenShare() {\n if (isAudience.value) {\n ElMessage({\n type: 'warning',\n message: t('You currently do not have sharing permission, please raise your hand to apply for sharing permission first'),\n duration: MESSAGE_DURATION.LONG,\n });\n return;\n }\n if (hasOtherScreenShare.value) {\n ElMessage({\n type: 'warning',\n message: t('Another user is currently sharing the screen, screen sharing is not possible.'),\n duration: MESSAGE_DURATION.LONG,\n });\n return;\n }\n if (isSharing.value) {\n showStopShareRegion.value = true;\n return;\n }\n try {\n await roomEngine.instance?.startScreenSharing();\n isSharing.value = true;\n } catch (error: any) {\n logger.error(`${logPrefix}startScreenShare error:`, error.name, error.message, error.code);\n let message = '';\n // 当屏幕分享流初始化失败时, 提醒用户并停止后续进房发布流程\n switch (error.name) {\n case 'NotReadableError':\n // 提醒用户确保系统允许当前浏览器获取屏幕内容\n message = '系统禁止当前浏览器获取屏幕内容';\n break;\n case 'NotAllowedError':\n if (error.message.includes('Permission denied by system')) {\n // 提醒用户确保系统允许当前浏览器获取屏幕内容\n message = '系统禁止当前浏览器获取屏幕内容';\n } else {\n // 用户拒绝/取消屏幕分享\n message = '用户拒绝/取消屏幕分享';\n }\n break;\n default:\n // 初始化屏幕分享流时遇到了未知错误,提醒用户重试\n message = '屏幕分享遇到未知错误';\n break;\n }\n ElMessage({\n type: 'warning',\n message,\n duration: MESSAGE_DURATION.LONG,\n });\n }\n}\n\nfunction openStopConfirmDialog() {\n showStopShareRegion.value = false;\n if (isSharing.value) {\n dialogVisible.value = true;\n }\n}\n\nfunction cancelStop() {\n dialogVisible.value = false;\n}\n\nasync function stopScreenShare() {\n if (isSharing.value) {\n try {\n await roomEngine.instance?.stopScreenSharing();\n dialogVisible.value = false;\n isSharing.value = false;\n } catch (error) {\n logger.error(`${logPrefix}stopScreenShare error:`, error);\n }\n }\n}\n\n/** 用户点击浏览器自带的 \"停止共享\" 按钮*/\nfunction screenCaptureStopped() {\n isSharing.value = false;\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onUserScreenCaptureStopped, screenCaptureStopped);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onUserScreenCaptureStopped, screenCaptureStopped);\n});\n\nreturn { __sfc: true,roomEngine, logPrefix, roomStore, isAnchor, isAudience, hasOtherScreenShare, t, btnStopRef, isSharing, showStopShareRegion, dialogVisible, screenShareDisabled, title, iconName, toggleScreenShare, openStopConfirmDialog, cancelStop, stopScreenShare, screenCaptureStopped, Dialog, IconButton, SvgIcon, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=5d38a258&scoped=true&\"\nimport script from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=5d38a258&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d38a258\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"fullscreen-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.isFullScreen,\"title\":_setup.title,\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.toggleScreen}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted, onUnmounted } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { setFullScreen, exitFullScreen } from '../../utils/utils';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport { isVue27 } from '../../utils/constants';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'FullScreenControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\n/**\n * Whether the current state is full screen, default is false\n *\n * 当前是否为全屏状态, 默认为 false\n**/\nconst isFullScreen = ref(false);\n\nconst title = computed((): string => (isFullScreen.value ? t('Exit') : t('Full screen')));\nconst iconName = computed((): string => (isFullScreen.value ? ICON_NAME.ExitFullScreen : ICON_NAME.FullScreen));\n\nfunction toggleScreen() {\n if (isFullScreen.value) {\n exitFullScreen();\n } else {\n if (isVue27) {\n const roomContainer = document.body;\n roomContainer && setFullScreen(roomContainer);\n } else {\n const roomContainer = document.getElementById('roomContainer');\n roomContainer && setFullScreen(roomContainer);\n }\n }\n}\n\nfunction handleFullScreenChange() {\n isFullScreen.value = !isFullScreen.value;\n}\n\nonMounted(() => {\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange'].forEach((item) => {\n window.addEventListener(item, handleFullScreenChange);\n });\n});\n\nonUnmounted(() => {\n ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange'].forEach((item) => {\n window.removeEventListener(item, handleFullScreenChange);\n });\n});\n\nreturn { __sfc: true,t, isFullScreen, title, iconName, toggleScreen, handleFullScreenChange, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./FullScreenControl.vue?vue&type=template&id=2ebc7fcf&scoped=true&\"\nimport script from \"./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./FullScreenControl.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ebc7fcf\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"setting-control-container\"},[_c(_setup.IconButton,{attrs:{\"is-active\":_setup.showSettingDialog,\"title\":_setup.t('Settings'),\"icon-name\":_setup.iconName},on:{\"click-icon\":_setup.handleShowSettingDialog}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport IconButton from '../common/IconButton.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SettingControl',\n setup(__props) {\n\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst { showSettingDialog } = storeToRefs(basicStore);\n\nconst iconName = computed(() => (showSettingDialog.value ? ICON_NAME.SettingActive : ICON_NAME.Setting));\n\nfunction handleShowSettingDialog() {\n basicStore.setShowSettingDialog(!basicStore.showSettingDialog);\n}\n\nreturn { __sfc: true,t, basicStore, showSettingDialog, iconName, handleShowSettingDialog, IconButton }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SettingControl.vue?vue&type=template&id=2c9e5284&scoped=true&\"\nimport script from \"./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SettingControl.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SettingControl.vue?vue&type=style&index=0&id=2c9e5284&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c9e5284\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport AudioControl from '../AudioControl.vue';\nimport ScreenShareControl from '../ScreenShareControl/Index.vue';\nimport FullScreenControl from '../FullScreenControl.vue';\nimport InviteControl from '../InviteControl.vue';\nimport VideoControl from '../VideoControl.vue';\nimport ManageMemberControl from '../ManageMemberControl.vue';\nimport ChatControl from '../ChatControl.vue';\nimport ApplyControl from '../ApplyControl/Index.vue';\nimport MoreControl from '../MoreControl';\nimport EndControl from '../EndControl';\nimport SettingControl from '../SettingControl.vue';\nimport bus from '../../../hooks/useMitt';\n\n\nimport TUIRoomAegis from '../../../utils/aegis';\n\nimport useRoomFooter from './useRoomFooterHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n emits: ['on-destroy-room', 'on-exit-room'],\n setup(__props, { emit }) {\n\nconst {\n roomStore,\n} = useRoomFooter();\n\n\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n emit('on-destroy-room', info);\n TUIRoomAegis.reportEvent({ name: 'destroyRoom', ext1: 'destroyRoom-success' });\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n emit('on-exit-room', info);\n TUIRoomAegis.reportEvent({ name: 'exitRoom', ext1: 'exitRoom-success' });\n};\n\nfunction handleControlClick(name: string) {\n TUIRoomAegis.reportEvent({ name, ext1: name });\n bus.emit('experience-communication', name);\n}\n\nreturn { __sfc: true,roomStore, emit, onDestroyRoom, onExitRoom, handleControlClick, AudioControl, ScreenShareControl, FullScreenControl, InviteControl, VideoControl, ManageMemberControl, ChatControl, ApplyControl, MoreControl, EndControl, SettingControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=fcf4ace8&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=fcf4ace8&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fcf4ace8\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPc from './indexPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPc;\n\nexport default Index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSideBar)?_c(_setup.popup,{staticClass:\"sidebar-container-mobile\",attrs:{\"title\":_setup.title},scopedSlots:_vm._u([{key:\"sidebarContent\",fn:function(){return [_c('div',{staticStyle:{\"height\":\"100%\"}},[(_setup.sidebarName === 'chat')?_c(_setup.Chat):_vm._e(),(_setup.sidebarName === 'manage-member')?_c(_setup.ManageMember):_vm._e()],1)]},proxy:true},{key:\"sidebarFooter\",fn:function(){return [_c('div',[(_setup.sidebarName === 'chat')?_c(_setup.ChatEditor):_vm._e()],1)]},proxy:true}],null,false,403798847)}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:[_setup.isMobile ? 'chat-container-h5' : 'chat-container' ]},[_c(_setup.MessageList),(!_setup.isMobile)?_c(_setup.ChatEditor):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_setup.isMobile ? 'message-list-container-h5':'message-list-container'},[_c('div',{staticClass:\"message-list\"},_vm._l((_setup.messageList),function(item){return _c('div',{key:item.ID,ref:\"messageAimId\",refInFor:true,class:['message-item', `${'out' === item.flow ? 'is-me' : ''}`]},[_c('div',{staticClass:\"message-header\",attrs:{\"title\":item.nick || item.from}},[_vm._v(\" \"+_vm._s(item.nick || item.from)+\" \")]),_c('div',{staticClass:\"message-body\"},[(item.type === 'TIMTextElem')?_c(_setup.MessageText,{attrs:{\"data\":item.payload.text}}):_vm._e()],1)])}),0),_c('div',{ref:\"messageBottomEl\",staticClass:\"message-bottom\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',_vm._l((_setup.handleTextMessageShowContext(_setup.props.data)),function(item,index){return _c('span',{key:index},[(item.name === 'text')?_c('span',{staticClass:\"text-box\"},[_vm._v(_vm._s(item.text))]):(item.name === 'img')?_c('img',{staticClass:\"text-img\",attrs:{\"src\":item.src}}):_vm._e()])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const emojiUrl:string = 'https://web.sdk.qcloud.com/im/assets/emoji/';\nexport const emojiMap:any = {\n '[NO]': 'emoji_0@2x.png',\n '[OK]': 'emoji_1@2x.png',\n '[下雨]': 'emoji_2@2x.png',\n '[么么哒]': 'emoji_3@2x.png',\n '[乒乓]': 'emoji_4@2x.png',\n '[便便]': 'emoji_5@2x.png',\n '[信封]': 'emoji_6@2x.png',\n '[偷笑]': 'emoji_7@2x.png',\n '[傲慢]': 'emoji_8@2x.png',\n '[再见]': 'emoji_9@2x.png',\n '[冷汗]': 'emoji_10@2x.png',\n '[凋谢]': 'emoji_11@2x.png',\n '[刀]': 'emoji_12@2x.png',\n '[删除]': 'emoji_13@2x.png',\n '[勾引]': 'emoji_14@2x.png',\n '[发呆]': 'emoji_15@2x.png',\n '[发抖]': 'emoji_16@2x.png',\n '[可怜]': 'emoji_17@2x.png',\n '[可爱]': 'emoji_18@2x.png',\n '[右哼哼]': 'emoji_19@2x.png',\n '[右太极]': 'emoji_20@2x.png',\n '[右车头]': 'emoji_21@2x.png',\n '[吐]': 'emoji_22@2x.png',\n '[吓]': 'emoji_23@2x.png',\n '[咒骂]': 'emoji_24@2x.png',\n '[咖啡]': 'emoji_25@2x.png',\n '[啤酒]': 'emoji_26@2x.png',\n '[嘘]': 'emoji_27@2x.png',\n '[回头]': 'emoji_28@2x.png',\n '[困]': 'emoji_29@2x.png',\n '[坏笑]': 'emoji_30@2x.png',\n '[多云]': 'emoji_31@2x.png',\n '[大兵]': 'emoji_32@2x.png',\n '[大哭]': 'emoji_33@2x.png',\n '[太阳]': 'emoji_34@2x.png',\n '[奋斗]': 'emoji_35@2x.png',\n '[奶瓶]': 'emoji_36@2x.png',\n '[委屈]': 'emoji_37@2x.png',\n '[害羞]': 'emoji_38@2x.png',\n '[尴尬]': 'emoji_39@2x.png',\n '[左哼哼]': 'emoji_40@2x.png',\n '[左太极]': 'emoji_41@2x.png',\n '[左车头]': 'emoji_42@2x.png',\n '[差劲]': 'emoji_43@2x.png',\n '[弱]': 'emoji_44@2x.png',\n '[强]': 'emoji_45@2x.png',\n '[彩带]': 'emoji_46@2x.png',\n '[彩球]': 'emoji_47@2x.png',\n '[得意]': 'emoji_48@2x.png',\n '[微笑]': 'emoji_49@2x.png',\n '[心碎了]': 'emoji_50@2x.png',\n '[快哭了]': 'emoji_51@2x.png',\n '[怄火]': 'emoji_52@2x.png',\n '[怒]': 'emoji_53@2x.png',\n '[惊恐]': 'emoji_54@2x.png',\n '[惊讶]': 'emoji_55@2x.png',\n '[憨笑]': 'emoji_56@2x.png',\n '[手枪]': 'emoji_57@2x.png',\n '[打哈欠]': 'emoji_58@2x.png',\n '[抓狂]': 'emoji_59@2x.png',\n '[折磨]': 'emoji_60@2x.png',\n '[抠鼻]': 'emoji_61@2x.png',\n '[抱抱]': 'emoji_62@2x.png',\n '[抱拳]': 'emoji_63@2x.png',\n '[拳头]': 'emoji_64@2x.png',\n '[挥手]': 'emoji_65@2x.png',\n '[握手]': 'emoji_66@2x.png',\n '[撇嘴]': 'emoji_67@2x.png',\n '[擦汗]': 'emoji_68@2x.png',\n '[敲打]': 'emoji_69@2x.png',\n '[晕]': 'emoji_70@2x.png',\n '[月亮]': 'emoji_71@2x.png',\n '[棒棒糖]': 'emoji_72@2x.png',\n '[汽车]': 'emoji_73@2x.png',\n '[沙发]': 'emoji_74@2x.png',\n '[流汗]': 'emoji_75@2x.png',\n '[流泪]': 'emoji_76@2x.png',\n '[激动]': 'emoji_77@2x.png',\n '[灯泡]': 'emoji_78@2x.png',\n '[炸弹]': 'emoji_79@2x.png',\n '[熊猫]': 'emoji_80@2x.png',\n '[爆筋]': 'emoji_81@2x.png',\n '[爱你]': 'emoji_82@2x.png',\n '[爱心]': 'emoji_83@2x.png',\n '[爱情]': 'emoji_84@2x.png',\n '[猪头]': 'emoji_85@2x.png',\n '[猫咪]': 'emoji_86@2x.png',\n '[献吻]': 'emoji_87@2x.png',\n '[玫瑰]': 'emoji_88@2x.png',\n '[瓢虫]': 'emoji_89@2x.png',\n '[疑问]': 'emoji_90@2x.png',\n '[白眼]': 'emoji_91@2x.png',\n '[皮球]': 'emoji_92@2x.png',\n '[睡觉]': 'emoji_93@2x.png',\n '[磕头]': 'emoji_94@2x.png',\n '[示爱]': 'emoji_95@2x.png',\n '[礼品袋]': 'emoji_96@2x.png',\n '[礼物]': 'emoji_97@2x.png',\n '[篮球]': 'emoji_98@2x.png',\n '[米饭]': 'emoji_99@2x.png',\n '[糗大了]': 'emoji_100@2x.png',\n '[红双喜]': 'emoji_101@2x.png',\n '[红灯笼]': 'emoji_102@2x.png',\n '[纸巾]': 'emoji_103@2x.png',\n '[胜利]': 'emoji_104@2x.png',\n '[色]': 'emoji_105@2x.png',\n '[药]': 'emoji_106@2x.png',\n '[菜刀]': 'emoji_107@2x.png',\n '[蛋糕]': 'emoji_108@2x.png',\n '[蜡烛]': 'emoji_109@2x.png',\n '[街舞]': 'emoji_110@2x.png',\n '[衰]': 'emoji_111@2x.png',\n '[西瓜]': 'emoji_112@2x.png',\n '[调皮]': 'emoji_113@2x.png',\n '[象棋]': 'emoji_114@2x.png',\n '[跳绳]': 'emoji_115@2x.png',\n '[跳跳]': 'emoji_116@2x.png',\n '[车厢]': 'emoji_117@2x.png',\n '[转圈]': 'emoji_118@2x.png',\n '[鄙视]': 'emoji_119@2x.png',\n '[酷]': 'emoji_120@2x.png',\n '[钞票]': 'emoji_121@2x.png',\n '[钻戒]': 'emoji_122@2x.png',\n '[闪电]': 'emoji_123@2x.png',\n '[闭嘴]': 'emoji_124@2x.png',\n '[闹钟]': 'emoji_125@2x.png',\n '[阴险]': 'emoji_126@2x.png',\n '[难过]': 'emoji_127@2x.png',\n '[雨伞]': 'emoji_128@2x.png',\n '[青蛙]': 'emoji_129@2x.png',\n '[面条]': 'emoji_130@2x.png',\n '[鞭炮]': 'emoji_131@2x.png',\n '[风车]': 'emoji_132@2x.png',\n '[飞吻]': 'emoji_133@2x.png',\n '[飞机]': 'emoji_134@2x.png',\n '[饥饿]': 'emoji_135@2x.png',\n '[香蕉]': 'emoji_136@2x.png',\n '[骷髅]': 'emoji_137@2x.png',\n '[麦克风]': 'emoji_138@2x.png',\n '[麻将]': 'emoji_139@2x.png',\n '[鼓掌]': 'emoji_140@2x.png',\n '[龇牙]': 'emoji_141@2x.png',\n};\nexport const emojiList = [\n '[龇牙]',\n '[调皮]',\n '[流汗]',\n '[偷笑]',\n '[再见]',\n '[敲打]',\n '[擦汗]',\n '[猪头]',\n '[玫瑰]',\n '[流泪]',\n '[大哭]',\n '[嘘]',\n '[酷]',\n '[抓狂]',\n '[委屈]',\n '[便便]',\n '[炸弹]',\n '[菜刀]',\n '[可爱]',\n '[色]',\n '[害羞]',\n '[得意]',\n '[吐]',\n '[微笑]',\n '[怒]',\n '[尴尬]',\n '[惊恐]',\n '[冷汗]',\n '[爱心]',\n '[示爱]',\n '[白眼]',\n '[傲慢]',\n '[难过]',\n '[惊讶]',\n '[疑问]',\n '[困]',\n '[么么哒]',\n '[憨笑]',\n '[爱情]',\n '[衰]',\n '[撇嘴]',\n '[阴险]',\n '[奋斗]',\n '[发呆]',\n '[右哼哼]',\n '[抱抱]',\n '[坏笑]',\n '[飞吻]',\n '[鄙视]',\n '[晕]',\n '[大兵]',\n '[可怜]',\n '[强]',\n '[弱]',\n '[握手]',\n '[胜利]',\n '[抱拳]',\n '[凋谢]',\n '[米饭]',\n '[蛋糕]',\n '[西瓜]',\n '[啤酒]',\n '[瓢虫]',\n '[勾引]',\n '[OK]',\n '[爱你]',\n '[咖啡]',\n '[月亮]',\n '[刀]',\n '[发抖]',\n '[差劲]',\n '[拳头]',\n '[心碎了]',\n '[太阳]',\n '[礼物]',\n '[皮球]',\n '[骷髅]',\n '[挥手]',\n '[闪电]',\n '[饥饿]',\n '[咒骂]',\n '[折磨]',\n '[抠鼻]',\n '[鼓掌]',\n '[糗大了]',\n '[左哼哼]',\n '[打哈欠]',\n '[快哭了]',\n '[吓]',\n '[篮球]',\n '[乒乓]',\n '[NO]',\n '[跳跳]',\n '[怄火]',\n '[转圈]',\n '[磕头]',\n '[回头]',\n '[跳绳]',\n '[激动]',\n '[街舞]',\n '[献吻]',\n '[左太极]',\n '[右太极]',\n '[闭嘴]',\n '[猫咪]',\n '[红双喜]',\n '[鞭炮]',\n '[红灯笼]',\n '[麻将]',\n '[麦克风]',\n '[礼品袋]',\n '[信封]',\n '[象棋]',\n '[彩带]',\n '[蜡烛]',\n '[爆筋]',\n '[棒棒糖]',\n '[奶瓶]',\n '[面条]',\n '[香蕉]',\n '[飞机]',\n '[左车头]',\n '[车厢]',\n '[右车头]',\n '[多云]',\n '[下雨]',\n '[钞票]',\n '[熊猫]',\n '[灯泡]',\n '[风车]',\n '[闹钟]',\n '[雨伞]',\n '[彩球]',\n '[钻戒]',\n '[沙发]',\n '[纸巾]',\n '[手枪]',\n '[青蛙]',\n];\nexport const faceUrl:string = 'https://web.sdk.qcloud.com/im/assets/face-elem/';\n\nexport function decodeMessageText(payload: string) {\n const renderDom = [];\n /**\n * Text Message\n *\n * 文本消息\n **/\n let temp = payload;\n let left = -1;\n let right = -1;\n while (temp !== '') {\n left = temp.indexOf('[');\n right = temp.indexOf(']');\n switch (left) {\n case 0:\n if (right === -1) {\n renderDom.push({\n name: 'text',\n text: temp,\n });\n temp = '';\n } else {\n const emojiKey = temp.slice(0, right + 1);\n if (emojiMap[emojiKey]) {\n renderDom.push({\n name: 'img',\n src: emojiUrl + emojiMap[emojiKey],\n });\n temp = temp.substring(right + 1);\n } else {\n renderDom.push({\n name: 'text',\n text: '[',\n });\n temp = temp.slice(1);\n }\n }\n break;\n case -1:\n renderDom.push({\n name: 'text',\n text: temp,\n });\n temp = '';\n break;\n default:\n renderDom.push({\n name: 'text',\n text: temp.slice(0, left),\n });\n temp = temp.substring(left);\n break;\n }\n }\n return renderDom;\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { decodeMessageText } from '../util';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MessageText',\n props: ['data'],\n setup(__props) {\n\nconst props = __props\n\n\n\nconst handleTextMessageShowContext = (text: string) => decodeMessageText(text);\n\n\nreturn { __sfc: true,props, handleTextMessageShowContext }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageText.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageText.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MessageText.vue?vue&type=template&id=467c6786&scoped=true&\"\nimport script from \"./MessageText.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MessageText.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MessageText.vue?vue&type=style&index=0&id=467c6786&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"467c6786\",\n null\n \n)\n\nexport default component.exports","import { ref, watch, nextTick } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { useChatStore } from '../../stores/chat';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\n\nexport default function useMessageList() {\n const { t } = useI18n();\n const roomEngine = useGetRoomEngine();\n const chatStore = useChatStore();\n const basicStore = useBasicStore();\n const { roomId } = storeToRefs(basicStore);\n const { messageList, isCompleted, nextReqMessageId } = storeToRefs(chatStore);\n const historyMessageList = ref([]);\n const messageAimId = ref();\n const messageBottomEl = ref(null);\n /**\n * To solve the problem of scrolling up the message yourself,\n * to prevent others from sending messages keep scrolling down the message list\n *\n * 为了解决自己向上滚动浏览消息, 防止别人发的消息不停向下滚消息列表\n**/\n let loadMore = false;\n let isScrollNotAtBottom = false;\n let isScrollToTop = false;\n const handleMessageListScroll = (e: Event) => {\n const messageContainer = e.target as HTMLElement;\n const bottom = messageContainer.scrollHeight - messageContainer.scrollTop - messageContainer.clientHeight;\n if (bottom > 80) {\n /**\n * 30 is the threshold for determining whether to scroll up through the messages\n *\n * 30 为判断是否向上滚动浏览消息的阈值\n **/\n isScrollNotAtBottom = true;\n } else {\n isScrollNotAtBottom = false;\n }\n if (isScrollToTop) {\n messageContainer.scrollTop = 0;\n isScrollToTop = false;\n }\n\n if (messageContainer.scrollTop < 40 && loadMore) {\n handleGetHistoryMessageList();\n }\n };\n\n watch(isCompleted, (value) => {\n loadMore = !value;\n }, { immediate: true, deep: true });\n\n watch(messageList, async (newMessageList, oldMessageList) => { // eslint-disable-line\n await nextTick();\n if (isScrollNotAtBottom) {\n if (newMessageList.length >= 1) {\n const lastMessage = newMessageList[newMessageList.length - 1];\n const oldLastMessage = oldMessageList[oldMessageList.length - 1];\n if ((lastMessage as any).flow === 'out' && lastMessage.ID !== oldLastMessage.ID) {\n /**\n * The latest one was sent by myself\n *\n * 最新一条是自己发送的\n **/\n messageBottomEl.value && messageBottomEl.value.scrollIntoView();\n }\n }\n return;\n }\n /**\n * If you don't scroll all the way to the bottom, show the latest news directly\n *\n * 如果没进行滚动一直在底部, 直接展示最新消息\n **/\n messageBottomEl.value && messageBottomEl.value.scrollIntoView();\n });\n\n async function handleGetHistoryMessageList() {\n const tim = roomEngine.instance?.getTIM();\n const imResponse = await tim.getMessageList({\n conversationID: `GROUP${roomId.value}`,\n nextReqMessageID: nextReqMessageId.value,\n });\n const { nextReqMessageID: middleReqMessageId, messageList: historyMessageList, isCompleted } = imResponse.data;\n messageList.value.splice(0, 0, ...historyMessageList);\n const currentMessageList = messageList.value.filter(item => item.type === 'TIMTextElem');\n chatStore.setMessageListInfo(currentMessageList, isCompleted, middleReqMessageId);\n }\n async function getMessageList(): Promise<{\n currentMessageList: any[];\n isCompleted: boolean,\n nextReqMessageId: string,\n }> {\n let count = 0;\n const result: {\n currentMessageList: any[],\n isCompleted: boolean,\n nextReqMessageId: string,\n } = {\n currentMessageList: [],\n isCompleted: false,\n nextReqMessageId: '',\n };\n const tim: any = roomEngine.instance?.getTIM();\n\n const getIMMessageList = async () => {\n const conversationData: {\n conversationID: string,\n nextReqMessageID?: string | undefined;\n } = {\n conversationID: `GROUP${roomId.value}`,\n };\n if (result.nextReqMessageId !== '') {\n conversationData.nextReqMessageID = result.nextReqMessageId;\n }\n const imResponse = await tim.getMessageList(conversationData);\n const { messageList, isCompleted, nextReqMessageID } = imResponse.data;\n result.currentMessageList.splice(0, 0, ...messageList);\n result.isCompleted = messageList.length > 0 ? isCompleted : true;\n result.nextReqMessageId = nextReqMessageID;\n if (result.isCompleted || result.currentMessageList.length >= 15) {\n return;\n }\n count += 1;\n if (count === 1) {\n await getIMMessageList();\n }\n };\n\n await getIMMessageList();\n\n return result;\n };\n const onReceiveTextMessage = (data: { roomId: string, message: any }) => {\n const { message } = data;\n chatStore.updateMessageList({\n ID: message.messageId,\n type: 'TIMTextElem',\n payload: {\n text: message.message,\n },\n nick: message?.userName || message.userId,\n from: message.userId,\n flow: 'in',\n sequence: Math.random(),\n });\n };\n return {\n t,\n roomEngine,\n historyMessageList,\n messageAimId,\n messageBottomEl,\n handleMessageListScroll,\n handleGetHistoryMessageList,\n onReceiveTextMessage,\n messageList,\n isScrollNotAtBottom,\n getMessageList,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { nextTick, onMounted, onUnmounted } from 'vue';\nimport MessageText from '../MessageTypes/MessageText.vue';\nimport TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../../utils/useMediaValue';\nimport useMessageList from '../useMessageListHook';\nimport { useChatStore } from '../../../stores/chat';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MessageListPC',\n setup(__props) {\n\nconst chatStore = useChatStore();\n\nconst {\n messageAimId,\n roomEngine,\n messageBottomEl,\n handleMessageListScroll,\n onReceiveTextMessage,\n messageList,\n getMessageList,\n} = useMessageList();\n\n\nonMounted(async () => {\n const { currentMessageList, isCompleted, nextReqMessageId } = await getMessageList();\n const filterCurrentMessageList = currentMessageList.filter((item: any) => item.type === 'TIMTextElem');\n chatStore.setMessageListInfo(filterCurrentMessageList, isCompleted, nextReqMessageId);\n\n await nextTick(() => {\n if (messageAimId?.value?.length > 0) {\n const target = messageAimId?.value[messageAimId?.value?.length - 1];\n target.scrollIntoView();\n }\n });\n window.addEventListener('scroll', handleMessageListScroll, true);\n});\n\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n});\n\nonUnmounted(() => {\n window.removeEventListener('scroll', handleMessageListScroll, true);\n roomEngine.instance?.off(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n});\n\nreturn { __sfc: true,chatStore, messageAimId, roomEngine, messageBottomEl, handleMessageListScroll, onReceiveTextMessage, messageList, getMessageList, MessageText, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MessageListPC.vue?vue&type=template&id=3ee0bdff&scoped=true&\"\nimport script from \"./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MessageListPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MessageListPC.vue?vue&type=style&index=0&id=3ee0bdff&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ee0bdff\",\n null\n \n)\n\nexport default component.exports","import messageListPC from './MessageListPC.vue';\n\nexport default messageListPC;\n\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['chat-editor', _setup.cannotSendMessage ? 'disable-editor' : '']},[_c('div',{staticClass:\"input-content\"},[_c(_setup.emoji,{staticClass:\"chat-emoji\",on:{\"choose-emoji\":_setup.handleChooseEmoji}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.sendMsg),expression:\"sendMsg\"}],ref:\"editorInputEle\",staticClass:\"content-bottom-input\",attrs:{\"type\":\"text\",\"disabled\":_setup.cannotSendMessage,\"placeholder\":_setup.cannotSendMessage ? _setup.t('Muted by the moderator') : _setup.t('Type a message'),\"enterkeyhint\":\"send\"},domProps:{\"value\":(_setup.sendMsg)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_setup.sendMsg=$event.target.value}}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"emoji-tool\"},[_c(_setup.SvgIcon,{staticClass:\"arrow emoji-icon\",attrs:{\"icon-name\":\"emoji-h5\",\"size\":\"medium\"},on:{\"click\":_setup.togglePopover}}),(_setup.visible)?_c('div',{ref:\"emojiListRef\",class:_setup.isMobile? 'emoji-list-h5':'emoji-list',attrs:{\"id\":\"emoji-list\"}},_vm._l((_setup.emojiList),function(childrenItem,childrenIndex){return _c('div',{key:childrenIndex,staticClass:\"emoji-item\",on:{\"click\":function($event){return _setup.chooseEmoji(childrenItem)}}},[_c('img',{attrs:{\"src\":_setup.emojiUrl + _setup.emojiMap[childrenItem]}})])}),0):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted } from 'vue';\nimport { emojiUrl, emojiMap, emojiList } from '../util';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'emojiPC',\n emits: ['choose-emoji'],\n setup(__props, { emit }) {\n\nconst emojiListRef = ref();\n\nconst visible = ref(false);\n\nconst chooseEmoji = (itemName: string) => {\n const emojiInfo = itemName;\n closePopover();\n emit('choose-emoji', emojiInfo);\n};\n\nconst togglePopover = () => {\n visible.value = !visible.value;\n};\n\nconst closePopover = () => {\n visible.value = false;\n};\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (visible.value && !emojiListRef.value.contains(event.target)) {\n visible.value = false;\n }\n}\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\nreturn { __sfc: true,emojiListRef, visible, emit, chooseEmoji, togglePopover, closePopover, handleDocumentClick, emojiUrl, emojiMap, emojiList, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./emojiPC.vue?vue&type=template&id=78a2609f&scoped=true&\"\nimport script from \"./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./emojiPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./emojiPC.vue?vue&type=style&index=0&id=78a2609f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78a2609f\",\n null\n \n)\n\nexport default component.exports","import emojiPC from './emojiPC.vue';\nexport default emojiPC;\n\n","import { computed, ref, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\n\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useChatStore } from '../../../stores/chat';\nimport { useRoomStore } from '../../../stores/room';\nimport { useI18n } from '../../../locales';\nexport default function useChatEditor() {\n const roomEngine = useGetRoomEngine();\n\n const { t } = useI18n();\n const chatStore = useChatStore();\n const roomStore = useRoomStore();\n\n const { isMessageDisableByAdmin } = storeToRefs(chatStore);\n const { isMessageDisableForAllUser } = storeToRefs(roomStore);\n const editorInputEle = ref();\n const sendMsg = ref('');\n const isEmojiToolbarVisible = ref(false);\n watch(isMessageDisableByAdmin, (value) => {\n if (value) {\n sendMsg.value = '';\n }\n });\n\n watch(isMessageDisableForAllUser, (value) => {\n if (value) {\n sendMsg.value = '';\n }\n });\n const cannotSendMessage = computed(() => Boolean(isMessageDisableByAdmin.value || isMessageDisableForAllUser.value));\n const sendMessage = async () => {\n const msg = sendMsg.value.replace('\\n', '');\n sendMsg.value = '';\n if (msg === '') {\n return;\n }\n isEmojiToolbarVisible.value = false;\n try {\n await roomEngine.instance?.sendTextMessage({\n messageText: msg,\n });\n chatStore.updateMessageList({\n ID: Math.random().toString(),\n type: 'TIMTextElem',\n payload: {\n text: msg,\n },\n nick: roomStore.localUser.userName || roomStore.localUser.userId,\n from: roomStore.localUser.userId,\n flow: 'out',\n sequence: Math.random(),\n });\n } catch (e) {\n /**\n * Message delivery failure\n *\n * 消息发送失败\n **/\n ElMessage.error(t('Failed to send the message'));\n }\n };\n\n const handleChooseEmoji = (emojiName: string) => {\n sendMsg.value += emojiName;\n editorInputEle.value.focus();\n };\n const togglePopover = () => {\n isEmojiToolbarVisible.value = !isEmojiToolbarVisible.value;\n };\n return {\n t,\n editorInputEle,\n sendMsg,\n isMessageDisableByAdmin,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n isEmojiToolbarVisible,\n togglePopover,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport emoji from '../EditorTools';\nimport useChatEditor from './useChatEditor';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatEditorH5',\n setup(__props) {\n\nconst {\n t,\n editorInputEle,\n sendMsg,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n} = useChatEditor();\n\n\nreturn { __sfc: true,t, editorInputEle, sendMsg, cannotSendMessage, sendMessage, handleChooseEmoji, emoji }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatEditorH5.vue?vue&type=template&id=4ae1f1c7&scoped=true&\"\nimport script from \"./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatEditorH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatEditorH5.vue?vue&type=style&index=0&id=4ae1f1c7&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ae1f1c7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['chat-editor', _setup.cannotSendMessage ? 'disable-editor': '']},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.sendMsg),expression:\"sendMsg\"}],ref:\"editorInputEle\",staticClass:\"content-bottom-input\",attrs:{\"disabled\":_setup.cannotSendMessage,\"placeholder\":_setup.cannotSendMessage ? _setup.t('Muted by the moderator') : _setup.t('Type a message')},domProps:{\"value\":(_setup.sendMsg)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.sendMessage.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_setup.sendMsg=$event.target.value}}}),_vm._v(\" \"),(!_setup.cannotSendMessage)?_c('div',{staticClass:\"chat-editor-toolbar\"},[_c('div',{staticClass:\"left-section\"},[_c(_setup.emoji,{on:{\"choose-emoji\":_setup.handleChooseEmoji}})],1),_c('div',{class:['send-btn', `${_setup.sendMsg.length > 0 ? 'active' : ''}`],on:{\"click\":_setup.sendMessage}},[_vm._v(_vm._s(_setup.t('Send')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport emoji from '../EditorTools';\nimport useChatEditor from './useChatEditor';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChatEditorPC',\n setup(__props) {\n\nconst {\n t,\n editorInputEle,\n sendMsg,\n cannotSendMessage,\n sendMessage,\n handleChooseEmoji,\n} = useChatEditor();\n\n\nreturn { __sfc: true,t, editorInputEle, sendMsg, cannotSendMessage, sendMessage, handleChooseEmoji, emoji }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ChatEditorPC.vue?vue&type=template&id=6cdfd1ed&scoped=true&\"\nimport script from \"./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ChatEditorPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ChatEditorPC.vue?vue&type=style&index=0&id=6cdfd1ed&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6cdfd1ed\",\n null\n \n)\n\nexport default component.exports","import ChatEditorH5 from './ChatEditorH5.vue';\nimport ChatEditorPC from './ChatEditorPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nconst ChatEditor = isMobile ? ChatEditorH5 : ChatEditorPC;\n\nexport default ChatEditor;\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport MessageList from './MessageList';\nimport ChatEditor from './ChatEditor';\nimport { isMobile } from '../../utils/useMediaValue';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n setup(__props) {\n\n\nreturn { __sfc: true,MessageList, ChatEditor, isMobile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6588445b&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6588445b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6588445b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-container\"},[(_setup.applyToAnchorList.length > 0)?_c('div',{staticClass:\"apply-on-stage-info\"},[_c('div',{staticClass:\"apply-info\"},[_vm._v(\" \"+_vm._s(`${_setup.applyToAnchorList[0].userName || _setup.applyToAnchorList[0].userId} ${_setup.t('Applying for the stage')}`)+\" \")])]):_vm._e(),_c('div',{staticClass:\"member-list-container\"},[_c('div',{staticClass:\"member-list-header\"},[_vm._v(\" \"+_vm._s(_setup.t('Member List'))+\" \"),_c('span',{staticClass:\"member-count\"},[_vm._v(\"(\"+_vm._s(_setup.userNumber)+_vm._s(_setup.t('members'))+\")\")])]),_c('div',{staticClass:\"member-list-content\"},_vm._l((_setup.userList),function(userInfo){return _c(_setup.MemberItem,{key:userInfo.userId,attrs:{\"user-info\":userInfo}})}),1)]),_c('div',{staticClass:\"manage-member-bottom\"},[_c('div',{staticClass:\"manage-member-button\",class:_setup.isMicrophoneDisableForAllUser ? 'lift-all' : '',on:{\"touchstart\":function($event){return _setup.toggleManageMember(_setup.ManageControlType.AUDIO)}}},[_vm._v(\" \"+_vm._s(_setup.audioManageInfo)+\" \")]),_c('div',{staticClass:\"manage-member-button\",class:_setup.isCameraDisableForAllUser ? 'lift-all' : '',on:{\"touchstart\":function($event){return _setup.toggleManageMember(_setup.ManageControlType.VIDEO)}}},[_vm._v(\" \"+_vm._s(_setup.videoManageInfo)+\" \")])]),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"model-value\":_setup.showManageAllUserDialog,\"modal\":false,\"show-close\":false,\"append-to-body\":true,\"close-on-click-modal\":false,\"close-on-press-escape\":false,\"width\":\"500px\"},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"button-container-mobile\"},[_c('span',{staticClass:\"cancel\",on:{\"click\":function($event){_setup.showManageAllUserDialog = false}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{staticClass:\"agree\",on:{\"click\":_setup.doToggleManageMember}},[_vm._v(_vm._s(_setup.dialogActionInfo))])])]},proxy:true}])},[_c('span',[_vm._v(\" \"+_vm._s(_setup.dialogTitleInfo)+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleMemberItemClick),expression:\"handleMemberItemClick\"}],ref:(el) => _setup.setMemberItemRef(el),staticClass:\"member-item-container\"},[_c(_setup.MemberInfo,{ref:(el) => _setup.setMemberInfoRef(el),attrs:{\"show-state-icon\":true,\"user-info\":_vm.userInfo}}),(_setup.showMemberControl)?_c(_setup.MemberControl,{ref:(el) => _setup.setMemberControlRef(el),attrs:{\"user-info\":_vm.userInfo},on:{\"on-close-control\":_setup.handleCloseControl}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:[_setup.isMobile ? 'member-info-mobile' : 'member-info']},[_c('div',{staticClass:\"member-basic-info\"},[_c(_setup.Avatar,{staticClass:\"avatar-url\",attrs:{\"img-src\":_vm.userInfo.avatarUrl}}),_c('div',{staticClass:\"user-name\"},[_vm._v(_vm._s(_vm.userInfo.userName || _vm.userInfo.userId))]),(_setup.isMaster && _setup.isMe)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Host'))+\", \"+_vm._s(_setup.t('Me'))+\" \")]):(_setup.isMe)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Me'))+\" \")]):(_setup.basicStore.masterUserId === _vm.userInfo.userId)?_c('div',{staticClass:\"user-extra-info\"},[_vm._v(\" \"+_vm._s(_setup.t('Host'))+\" \")]):_vm._e()],1),(!_setup.isMe && _vm.showStateIcon)?_c('div',{staticClass:\"member-av-state\"},[(_vm.userInfo.onSeat)?_c('div',[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_vm.userInfo.hasAudioStream ? _setup.ICON_NAME.MicOn : _setup.ICON_NAME.MicOff,\"size\":\"large\"}}),_c(_setup.SvgIcon,{staticClass:\"setting-icon video-icon\",attrs:{\"icon-name\":_vm.userInfo.hasVideoStream ? _setup.ICON_NAME.CameraOn : _setup.ICON_NAME.CameraOff,\"size\":\"large\"}})],1):_vm._e(),(!_vm.userInfo.onSeat && !_vm.userInfo.isUserApplyingToAnchor)?_c('div',[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.MicOffDisabled,\"size\":\"large\"}}),_c(_setup.SvgIcon,{staticClass:\"setting-icon video-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.CameraOffDisabled,\"size\":\"large\"}})],1):_vm._e(),(!_vm.userInfo.onSeat && _vm.userInfo.isUserApplyingToAnchor)?_c('div',[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"apply-active\"}})],1):_vm._e()]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport Avatar from '../../base/Avatar.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport { storeToRefs } from 'pinia';\nimport { ICON_NAME } from '../../../constants/icon';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport { isMobile } from '../../../utils/useMediaValue';\n\ninterface Props {\n userInfo: UserInfo,\n showStateIcon?: Boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberInfo',\n props: {\n userInfo: null,\n showStateIcon: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n userInfo: UserInfo,\n showStateIcon?: Boolean,\n}\n\nconst { t } = useI18n();\n\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst { isMaster } = storeToRefs(roomStore);\n\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\n\n\nreturn { __sfc: true,t, props, basicStore, roomStore, isMaster, isMe, Avatar, ICON_NAME, SvgIcon, isMobile }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberInfo.vue?vue&type=template&id=0325ed23&scoped=true&\"\nimport script from \"./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberInfo.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberInfo.vue?vue&type=style&index=0&id=0325ed23&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0325ed23\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMe)?_c('div',{staticClass:\"member-control-container\"},[_c('div',{staticClass:\"member-title\"},[_c('img',{staticClass:\"avatar-url\",attrs:{\"src\":_vm.userInfo.avatarUrl || _setup.defaultAvatar}}),_c('div',{staticClass:\"member-title-content\"},[_vm._v(_vm._s(_vm.userInfo.userName || _vm.userInfo.userId))]),(_setup.isWeChat)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap.stop\",value:(_setup.handleCloseControl),expression:\"handleCloseControl\",modifiers:{\"stop\":true}}],staticClass:\"cancel\"},[_vm._v(_vm._s(_setup.t('Cancel')))]):_vm._e()]),_vm._l((_setup.controlList),function(item,index){return _c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => item.func(_vm.userInfo)),expression:\"() => item.func(userInfo)\"}],key:index,staticClass:\"user-operate-item\"},[_c(_setup.SvgIcon,{staticClass:\"icon-svg\",attrs:{\"icon-name\":item.iconName}}),_c('div',{staticClass:\"control-title\"},[_vm._v(_vm._s(item.title))])],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport { useI18n } from '../../../locales';\n\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useBasicStore } from '../../../stores/basic';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { isWeChat } from '../../../utils/useMediaValue';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\nimport '../../../directives/vTap';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberControlH5',\n props: {\n userInfo: null\n },\n emits: ['on-close-control'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n userInfo: UserInfo,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n/**\n * Functions related to the Raise Your Hand function\n *\n * 举手发言功能相关函数\n**/\nconst {\n agreeUserOnStage,\n denyUserOnStage,\n inviteUserOnStage,\n cancelInviteUserOnStage,\n kickUserOffStage,\n} = useMasterApplyControl();\n\n\n\n\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\nconst isAnchor = computed(() => props.userInfo.onSeat === true);\nconst isAudience = computed(() => props.userInfo.onSeat !== true);\nconst isFreeSpeechMode = computed(() => roomStore.isFreeSpeakMode);\nconst isSpeakAfterTakingSeat = computed(() => roomStore.isSpeakAfterTakingSeatMode);\n\nconst requestStageTitle = computed(() => (\n isAnchor.value\n ? t('Step down')\n : props.userInfo.isInvitingUserToAnchor\n ? t('Cancel stage')\n : t('Invite stage')\n));\n\n/**\n * Invitation to the stage/uninvitation to the stage\n *\n * 邀请上台/取消邀请上台\n**/\nasync function toggleInviteUserOnStage(userInfo: UserInfo) {\n const { isInvitingUserToAnchor } = userInfo;\n if (isInvitingUserToAnchor) {\n cancelInviteUserOnStage(userInfo);\n } else {\n inviteUserOnStage(userInfo);\n }\n}\n\n// 邀请上台 / 取消邀请上台\nconst toggleInviteStage = computed(() => ({ iconName: 'apply', title: requestStageTitle.value, func: toggleInviteUserOnStage }));\n\n// 邀请下台\nconst makeOffStage = computed(() => ({ iconName: 'apply', title: t('Step down'), func: kickUserOffStage }));\n\n// 同意上台\nconst agreeOnStage = computed(() => ({ iconName: 'apply', title: t('Agree to the stage'), func: agreeUserOnStage }));\n\n// 拒绝上台\nconst denyOnStage = computed(() => ({ iconName: 'apply', title: t('Refuse stage'), func: denyUserOnStage }));\n\nconst audioControlTitle = computed(() => (\n props.userInfo.hasAudioStream\n ? t('Mute')\n : (props.userInfo.isRequestingUserOpenMic\n ? t('Cancel Unmute')\n : t('Unmute'))\n));\nconst audioControl = computed(() => ({ iconName: 'mic-on', title: audioControlTitle.value, func: muteUserAudio }));\n\nconst videoControlTitle = computed(() => {\n if (props.userInfo.hasVideoStream) {\n return t('Disable video');\n }\n if (props.userInfo.isRequestingUserOpenCamera) {\n return t('Cancel Enable video');\n }\n return t('Enable video');\n});\nconst videoControl = computed(() => ({ iconName: 'camera-on', title: videoControlTitle.value, func: muteUserVideo }));\n\nconst chatControlTitle = computed(() => (props.userInfo.isChatMutedByMaster ? t('Enable chat') : t('Disable chat')));\nconst forbidChat = computed(() => ({ iconName: 'chat', title: chatControlTitle.value, func: disableUserChat }));\n\nconst kickUser = computed(() => ({ iconName: 'invite', title: t('Kick out'), func: kickOffUser }));\n\n/**\n* Control the centralized matching of elements\n *\n * Free speech mode\n * 1. Current user is the anchor.\n * Banning/unbanning Banning/unbanning drawing\n * Banning chat\n * Kicked out of the room\n *\n * Raise hand to speak mode\n * 1. Current user is the host.\n * Banning/unbanning Banning/unbanning drawing\n * Invite to step down\n * Ban chat\n * Kicked out of the room\n * 2.\n * 2. Audience did not request to be on the mic.\n * Invite on stage / Disinvite on stage * Ban chat\n * Kicked out of the room\n * 3.\n * 3. the audience is applying for the mic.\n * Agree to go on stage Deny go on stage\n * Ban chat\n * Kicked out of the room\n *\n * 控制元素的集中匹配情况\n *\n * 自由发言模式\n * 1.当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 禁止聊天\n * 踢出房间\n *\n * 举手发言模式\n * 1. 当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 邀请下台\n * 禁止聊天\n * 踢出房间\n *\n * 2. 观众没有申请上麦:\n * 邀请上台/取消邀请上台 禁止聊天\n * 踢出房间\n *\n * 3. 观众正在申请上麦:\n * 同意上台 拒绝上台\n * 禁止聊天\n * 踢出房间\n**/\nconst controlList = computed(() => {\n const controlRelationObj = {\n freeSpeech: [audioControl.value, videoControl.value, forbidChat.value, kickUser.value],\n applySpeechAndAnchor:\n [audioControl.value, videoControl.value, makeOffStage.value, forbidChat.value, kickUser.value],\n applySpeechAndIsApplyingToAnchor: [agreeOnStage.value, denyOnStage.value, forbidChat.value, kickUser.value],\n applySpeechAndAudience: [toggleInviteStage.value, forbidChat.value, kickUser.value],\n default: [forbidChat.value, kickUser.value],\n };\n\n if (isFreeSpeechMode.value) {\n return controlRelationObj.freeSpeech;\n }\n if (isSpeakAfterTakingSeat.value && isAnchor.value) {\n return controlRelationObj.applySpeechAndAnchor;\n }\n if (isSpeakAfterTakingSeat.value && isAudience.value && props.userInfo.isUserApplyingToAnchor) {\n return controlRelationObj.applySpeechAndIsApplyingToAnchor;\n }\n if (isSpeakAfterTakingSeat.value && isAudience.value && !props.userInfo.isUserApplyingToAnchor) {\n return controlRelationObj.applySpeechAndAudience;\n }\n return controlRelationObj.default;\n});\n\n/**\n * Banning/Unbanning\n *\n * 禁麦/邀请打开麦克风\n**/\nasync function muteUserAudio(userInfo: UserInfo) {\n if (userInfo.hasAudioStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n });\n } else {\n if (userInfo.isRequestingUserOpenMic) {\n const requestId = userInfo.requestUserOpenMicRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: true, requestId: request.requestId });\n }\n }\n }\n}\n\n/**\n * Banned painting/unbanned painting\n *\n * 禁画/取消禁画\n**/\nasync function muteUserVideo(userInfo: UserInfo) {\n if (userInfo.hasVideoStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n });\n } else {\n if (userInfo.isRequestingUserOpenCamera) {\n const requestId = userInfo.requestUserOpenCameraRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenCamera({\n userId: userInfo.userId,\n isRequesting: true,\n requestId: request.requestId,\n });\n }\n }\n }\n}\n/**\n * Allow text chat / Cancel text chat\n *\n * 允许文字聊天/取消文字聊天\n**/\nfunction disableUserChat(userInfo: UserInfo) {\n const currentState = userInfo.isChatMutedByMaster;\n roomStore.setMuteUserChat(userInfo.userId, !currentState);\n roomEngine.instance?.disableSendingMessageByAdmin({\n userId: userInfo.userId,\n isDisable: !currentState,\n });\n}\n\n/**\n * Kick the user out of the room\n *\n * 将用户踢出房间\n**/\nfunction kickOffUser(userInfo: UserInfo) {\n roomEngine.instance?.kickRemoteUserOutOfRoom({\n userId: userInfo.userId,\n });\n}\n\nfunction handleCloseControl() {\n emit('on-close-control');\n}\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, agreeUserOnStage, denyUserOnStage, inviteUserOnStage, cancelInviteUserOnStage, kickUserOffStage, emit, props, isMe, isAnchor, isAudience, isFreeSpeechMode, isSpeakAfterTakingSeat, requestStageTitle, toggleInviteUserOnStage, toggleInviteStage, makeOffStage, agreeOnStage, denyOnStage, audioControlTitle, audioControl, videoControlTitle, videoControl, chatControlTitle, forbidChat, kickUser, controlList, muteUserAudio, muteUserVideo, disableUserChat, kickOffUser, handleCloseControl, defaultAvatar, SvgIcon, isWeChat }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberControlH5.vue?vue&type=template&id=d259161c&scoped=true&\"\nimport script from \"./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberControlH5.vue?vue&type=style&index=0&id=d259161c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d259161c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMe)?_c('div',{staticClass:\"member-control-container\"},[_c('div',{staticClass:\"mute-btn\",on:{\"click\":function($event){return _setup.singleControl.func(_vm.userInfo)}}},[_vm._v(\" \"+_vm._s(_setup.singleControl.title)+\" \")]),_c('div',{staticClass:\"more-container\",on:{\"click\":_setup.handlePopUp}},[_c('div',{staticClass:\"more-btn\",on:{\"click\":_setup.toggleClickMoreBtn}},[_vm._v(\" \"+_vm._s(_setup.t('More'))+\" \"),_c(_setup.SvgIcon,{staticClass:\"more-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.ArrowBorderDown}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showMoreControl),expression:\"showMoreControl\"}],class:_setup.dropdownClass,attrs:{\"id\":\"operate-list\"},on:{\"mouseleave\":_setup.handleMouseLeave}},_vm._l((_setup.controlList),function(item,index){return _c('div',{key:index,staticClass:\"user-operate-item\",on:{\"click\":function($event){return item.func(_vm.userInfo)}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])}),0)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed } from 'vue';\nimport { useI18n } from '../../../locales';\n\nimport { UserInfo, useRoomStore } from '../../../stores/room';\nimport { ICON_NAME } from '../../../constants/icon';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useBasicStore } from '../../../stores/basic';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useMasterApplyControl from '../../../hooks/useMasterApplyControl';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'MemberControlPC',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n userInfo: UserInfo,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst dropdownClass = ref('');\n/**\n * Functions related to the Raise Your Hand function\n *\n * 举手发言功能相关函数\n**/\nconst {\n agreeUserOnStage,\n denyUserOnStage,\n inviteUserOnStage,\n cancelInviteUserOnStage,\n kickUserOffStage,\n} = useMasterApplyControl();\n\n\n\nconst showMoreControl = ref(false);\nconst isMe = computed(() => basicStore.userId === props.userInfo.userId);\nconst isAnchor = computed(() => props.userInfo.onSeat === true);\nconst isAudience = computed(() => props.userInfo.onSeat !== true);\nconst isFreeSpeechMode = computed(() => roomStore.isFreeSpeakMode);\nconst isSpeakAfterTakingSeat = computed(() => roomStore.isSpeakAfterTakingSeatMode);\n/**\n* Control the centralized matching of elements\n *\n * Free speech mode\n * 1. Current user is the anchor.\n * Banning/unbanning Banning/unbanning drawing\n * Banning chat\n * Kicked out of the room\n *\n * Raise hand to speak mode\n * 1. Current user is the host.\n * Banning/unbanning Banning/unbanning drawing\n * Invite to step down\n * Ban chat\n * Kicked out of the room\n * 2.\n * 2. Audience did not request to be on the mic.\n * Invite on stage / Disinvite on stage * Ban chat\n * Kicked out of the room\n * 3.\n * 3. the audience is applying for the mic.\n * Agree to go on stage Deny go on stage\n * Ban chat\n * Kicked out of the room\n *\n * 控制元素的集中匹配情况\n *\n * 自由发言模式\n * 1.当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 禁止聊天\n * 踢出房间\n *\n * 举手发言模式\n * 1. 当前用户为主播:\n * 禁言/解除禁言/取消解除禁言 禁画/解除禁画/取消解除禁画\n * 邀请下台\n * 禁止聊天\n * 踢出房间\n *\n * 2. 观众没有申请上麦:\n * 邀请上台/取消邀请上台 禁止聊天\n * 踢出房间\n *\n * 3. 观众正在申请上麦:\n * 同意上台 拒绝上台\n * 禁止聊天\n * 踢出房间\n**/\nfunction handlePopUp() {\n const dropdown = document.getElementById('operate-list');\n const roomContainer = document.getElementById('roomContainer');\n const dropdownRectBottom = dropdown !== null && dropdown.getBoundingClientRect().bottom;\n const roomContainerHeight = roomContainer !== null && roomContainer.offsetHeight;\n if (dropdownRectBottom > roomContainerHeight) {\n dropdownClass.value = 'user-operate-list dropdownUp';\n } else {\n dropdownClass.value = 'user-operate-list';\n }\n};\n\nconst singleControl = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const control = { title: '', func: (userInfo: UserInfo) => {} };\n if (isFreeSpeechMode.value) {\n control.title = props.userInfo.hasAudioStream ? t('Mute') : (props.userInfo.isRequestingUserOpenMic ? t('Cancel Unmute') : t('Unmute'));\n control.func = muteUserAudio;\n } else if (isSpeakAfterTakingSeat.value) {\n if (isAnchor.value) {\n control.title = props.userInfo.hasAudioStream ? t('Mute') : (props.userInfo.isRequestingUserOpenMic ? t('Cancel Unmute') : t('Unmute'));\n control.func = muteUserAudio;\n } else if (isAudience.value) {\n if (props.userInfo.isUserApplyingToAnchor) {\n control.title = t('Agree to the stage');\n control.func = agreeUserOnStage;\n } else {\n control.title = props.userInfo.isInvitingUserToAnchor ? t('Cancel stage') : t('Invite stage');\n control.func = toggleInviteUserOnStage;\n }\n }\n }\n return control;\n});\n\nconst denyOnStage = computed(() => ({ title: t('Refuse stage'), func: denyUserOnStage }));\nconst makeOffStage = computed(() => ({ title: t('Step down'), func: kickUserOffStage }));\n\nconst videoControlTitle = computed(() => {\n if (props.userInfo.hasVideoStream) {\n return t('Disable video');\n }\n if (props.userInfo.isRequestingUserOpenCamera) {\n return t('Cancel Enable video');\n }\n return t('Enable video');\n});\nconst videoControl = computed(() => ({ title: videoControlTitle.value, func: muteUserVideo }));\n\nconst chatControlTitle = computed(() => (props.userInfo.isChatMutedByMaster ? t('Enable chat') : t('Disable chat')));\nconst forbidChat = computed(() => ({ title: chatControlTitle.value, func: disableUserChat }));\n\nconst kickUser = computed(() => ({ title: t('Kick out'), func: kickOffUser }));\nconst controlList = computed(() => {\n const list = [forbidChat.value, kickUser.value];\n if (isFreeSpeechMode.value) {\n list.unshift(videoControl.value);\n }\n if (isAnchor.value && isSpeakAfterTakingSeat.value) {\n list.unshift(videoControl.value);\n list.splice(1, 0, makeOffStage.value);\n }\n if (isAudience.value && props.userInfo.isUserApplyingToAnchor) {\n list.splice(0, 0, denyOnStage.value);\n }\n return list;\n});\n\nfunction toggleClickMoreBtn() {\n showMoreControl.value = !showMoreControl.value;\n}\nfunction handleMouseLeave() {\n showMoreControl.value = false;\n}\n\n/**\n * Invitation to the stage/uninvitation to the stage\n *\n * 邀请上台/取消邀请上台\n**/\nasync function toggleInviteUserOnStage(userInfo: UserInfo) {\n const { isInvitingUserToAnchor } = userInfo;\n if (isInvitingUserToAnchor) {\n cancelInviteUserOnStage(userInfo);\n } else {\n inviteUserOnStage(userInfo);\n }\n}\n\n/**\n * Banning/Unbanning\n *\n * 禁麦/邀请打开麦克风\n**/\nasync function muteUserAudio(userInfo: UserInfo) {\n if (userInfo.hasAudioStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n });\n } else {\n if (userInfo.isRequestingUserOpenMic) {\n const requestId = userInfo.requestUserOpenMicRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kMicrophone,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenMic({ userId: userInfo.userId, isRequesting: true, requestId: request.requestId });\n }\n }\n }\n}\n\n/**\n * Banned painting/unbanned painting\n *\n * 禁画/取消禁画\n**/\nasync function muteUserVideo(userInfo: UserInfo) {\n if (userInfo.hasVideoStream) {\n await roomEngine.instance?.closeRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n });\n } else {\n if (userInfo.isRequestingUserOpenCamera) {\n const requestId = userInfo.requestUserOpenCameraRequestId;\n requestId && await roomEngine.instance?.cancelRequest({ requestId });\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n } else {\n const request = await roomEngine.instance?.openRemoteDeviceByAdmin({\n userId: userInfo.userId,\n device: TUIMediaDevice.kCamera,\n timeout: 0,\n requestCallback: () => {\n // 处理请求超时,应答,拒绝的情况\n roomStore.setRequestUserOpenCamera({ userId: userInfo.userId, isRequesting: false });\n },\n });\n if (request && request.requestId) {\n roomStore.setRequestUserOpenCamera({\n userId: userInfo.userId,\n isRequesting: true,\n requestId: request.requestId,\n });\n }\n }\n }\n}\n/**\n * Allow text chat / Cancel text chat\n *\n * 允许文字聊天/取消文字聊天\n**/\nfunction disableUserChat(userInfo: UserInfo) {\n const currentState = userInfo.isChatMutedByMaster;\n roomStore.setMuteUserChat(userInfo.userId, !currentState);\n roomEngine.instance?.disableSendingMessageByAdmin({\n userId: userInfo.userId,\n isDisable: !currentState,\n });\n}\n\n/**\n * Kick the user out of the room\n *\n * 将用户踢出房间\n**/\nfunction kickOffUser(userInfo: UserInfo) {\n roomEngine.instance?.kickRemoteUserOutOfRoom({\n userId: userInfo.userId,\n });\n}\n\n\nreturn { __sfc: true,roomEngine, t, basicStore, roomStore, dropdownClass, agreeUserOnStage, denyUserOnStage, inviteUserOnStage, cancelInviteUserOnStage, kickUserOffStage, props, showMoreControl, isMe, isAnchor, isAudience, isFreeSpeechMode, isSpeakAfterTakingSeat, handlePopUp, singleControl, denyOnStage, makeOffStage, videoControlTitle, videoControl, chatControlTitle, forbidChat, kickUser, controlList, toggleClickMoreBtn, handleMouseLeave, toggleInviteUserOnStage, muteUserAudio, muteUserVideo, disableUserChat, kickOffUser, ICON_NAME, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./MemberControlPC.vue?vue&type=template&id=28dfca21&scoped=true&\"\nimport script from \"./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./MemberControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./MemberControlPC.vue?vue&type=style&index=0&id=28dfca21&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28dfca21\",\n null\n \n)\n\nexport default component.exports","import MemberControlH5 from './MemberControlH5.vue';\nimport MemberControlPC from './MemberControlPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst MemberControl = isMobile ? MemberControlH5 : MemberControlPC;\n\nexport default MemberControl;\n","import { ref, nextTick } from 'vue';\n\nexport default function useMemberItem() {\n const showMemberControl = ref(false);\n\n function handleMouseEnter() {\n showMemberControl.value = true;\n }\n\n function handleMouseLeave() {\n showMemberControl.value = false;\n }\n\n const memberItemEl = ref();\n function setMemberItemRef(el: any) {\n memberItemEl.value = el;\n }\n\n const memberInfoEl = ref();\n const MemberControlEl = ref();\n function setMemberInfoRef(el: any) {\n memberInfoEl.value = el;\n }\n function setMemberControlRef(el: any) {\n MemberControlEl.value = el;\n }\n\n function handleMemberItemClick() {\n if (!showMemberControl.value) {\n showMemberControl.value = true;\n }\n }\n async function handleCloseControl() {\n await nextTick();\n showMemberControl.value = false;\n }\n\n function handleDocumentClick(event: MouseEvent) {\n if (showMemberControl.value && memberItemEl.value && !memberItemEl.value.contains(event.target)) {\n showMemberControl.value = false;\n }\n }\n\n\n return {\n showMemberControl,\n handleMouseEnter,\n handleMouseLeave,\n setMemberItemRef,\n setMemberInfoRef,\n setMemberControlRef,\n handleMemberItemClick,\n handleDocumentClick,\n handleCloseControl,\n };\n}\n\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport { onMounted, onUnmounted } from 'vue';\nimport MemberInfo from '../MemberItemCommon/MemberInfo.vue';\nimport MemberControl from '../MemberControl';\nimport { UserInfo } from '../../../stores/room';\nimport useMemberItem from './useMemberItemHooks';\nimport '../../../directives/vTap';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst {\n showMemberControl,\n setMemberItemRef,\n setMemberInfoRef,\n setMemberControlRef,\n handleMemberItemClick,\n handleDocumentClick,\n handleCloseControl,\n} = useMemberItem();\n\n\n\nonMounted(() => {\n document.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,showMemberControl, setMemberItemRef, setMemberInfoRef, setMemberControlRef, handleMemberItemClick, handleDocumentClick, handleCloseControl, MemberInfo, MemberControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=51bdd126&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=51bdd126&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51bdd126\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"member-item-container\",on:{\"mouseenter\":_setup.handleMouseEnter,\"mouseleave\":_setup.handleMouseLeave}},[_c(_setup.MemberInfo,{attrs:{\"user-info\":_vm.userInfo,\"show-state-icon\":!_setup.showMemberControl}}),_c(_setup.MemberControl,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showMemberControl),expression:\"showMemberControl\"}],attrs:{\"user-info\":_vm.userInfo}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport MemberInfo from '../MemberItemCommon/MemberInfo.vue';\nimport MemberControl from '../MemberControl';\nimport { UserInfo } from '../../../stores/room';\nimport useMemberItem from './useMemberItemHooks';\n\ninterface Props {\n userInfo: UserInfo,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n props: {\n userInfo: null\n },\n setup(__props: any) {\n\nconst {\n showMemberControl,\n handleMouseEnter,\n handleMouseLeave,\n} = useMemberItem();\n\n\n\n\n\nreturn { __sfc: true,showMemberControl, handleMouseEnter, handleMouseLeave, MemberInfo, MemberControl }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=2d674c35&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=2d674c35&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d674c35\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\n\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","import { storeToRefs } from 'pinia';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../stores/room';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport { TUIMediaDevice } from '@tencentcloud/tuiroom-engine-js';\nimport { Ref, computed, nextTick, ref } from 'vue';\n\nexport default function useIndex() {\n const roomEngine = useGetRoomEngine();\n\n const { t } = useI18n();\n\n const basicStore = useBasicStore();\n const roomStore = useRoomStore();\n\n const {\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n } = storeToRefs(roomStore);\n const audioManageInfo = computed(() => (roomStore.isMicrophoneDisableForAllUser ? t('Lift all mute') : t('All mute')));\n const videoManageInfo = computed(() => (roomStore.isCameraDisableForAllUser ? t('Lift stop all video') : t('All stop video')));\n\n const showManageAllUserDialog: Ref = ref(false);\n const dialogTitleInfo: Ref = ref('');\n const dialogActionInfo: Ref = ref('');\n\n enum ManageControlType {\n AUDIO = 'audio',\n VIDEO = 'video',\n Message = 'message',\n }\n const currentControlType: Ref = ref(ManageControlType.AUDIO);\n\n async function toggleManageMember(type: ManageControlType) {\n showManageAllUserDialog.value = true;\n currentControlType.value = type;\n switch (type) {\n case ManageControlType.AUDIO:\n dialogTitleInfo.value = roomStore.isMicrophoneDisableForAllUser\n ? t('Can you lift all mute')\n : t('All current and new members will be muted.');\n // 小程序更新视图\n await nextTick();\n dialogActionInfo.value = audioManageInfo.value;\n break;\n case ManageControlType.VIDEO:\n dialogTitleInfo.value = roomStore.isCameraDisableForAllUser\n ? t('Should we turn on the video for everyone')\n : t('All current and new members will turn off their videos.');\n await nextTick();\n dialogActionInfo.value = videoManageInfo.value;\n break;\n default:\n break;\n }\n }\n\n async function doToggleManageMember() {\n switch (currentControlType.value) {\n case ManageControlType.AUDIO:\n toggleAllAudio();\n break;\n case ManageControlType.VIDEO:\n toggleAllVideo();\n break;\n default:\n break;\n }\n showManageAllUserDialog.value = false;\n }\n function showApplyUserLit() {\n basicStore.setShowApplyUserList(true);\n }\n\n async function toggleAllAudio() {\n const microphoneDisableState = !isMicrophoneDisableForAllUser.value;\n await roomEngine.instance?.disableDeviceForAllUserByAdmin({\n isDisable: microphoneDisableState,\n device: TUIMediaDevice.kMicrophone,\n });\n roomStore.setMicrophoneDisableState(microphoneDisableState);\n }\n\n async function toggleAllVideo() {\n const cameraDisableState = !isCameraDisableForAllUser.value;\n await roomEngine.instance?.disableDeviceForAllUserByAdmin({\n isDisable: cameraDisableState,\n device: TUIMediaDevice.kCamera,\n });\n roomStore.setCameraDisableState(cameraDisableState);\n }\n return {\n showApplyUserLit,\n toggleAllAudio,\n toggleAllVideo,\n t,\n toggleManageMember,\n doToggleManageMember,\n audioManageInfo,\n videoManageInfo,\n showManageAllUserDialog,\n dialogTitleInfo,\n dialogActionInfo,\n ManageControlType,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport MemberItem from '../ManageMember/MemberItem';\nimport Dialog from '../../elementComp/Dialog';\nimport useIndex from './useIndexHooks';\nimport { storeToRefs } from 'pinia';\nimport { useRoomStore } from '../../stores/room';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\nconst roomStore = useRoomStore();\nconst {\n userList,\n userNumber,\n applyToAnchorList,\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n} = storeToRefs(roomStore);\n\nconst {\n audioManageInfo,\n videoManageInfo,\n showManageAllUserDialog,\n dialogTitleInfo,\n dialogActionInfo,\n ManageControlType,\n toggleManageMember,\n doToggleManageMember,\n t,\n} = useIndex();\n\n\n\nreturn { __sfc: true,roomStore, userList, userNumber, applyToAnchorList, isMicrophoneDisableForAllUser, isCameraDisableForAllUser, audioManageInfo, videoManageInfo, showManageAllUserDialog, dialogTitleInfo, dialogActionInfo, ManageControlType, toggleManageMember, doToggleManageMember, t, MemberItem, Dialog }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=746e3a0c&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=746e3a0c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"746e3a0c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"manage-member-container\"},[(_setup.applyToAnchorList.length > 0)?_c('div',{staticClass:\"apply-on-stage-info\"},[_c('div',{staticClass:\"apply-info\"},[_vm._v(\" \"+_vm._s(`${_setup.applyToAnchorList[0].userName || _setup.applyToAnchorList[0].userId} ${_setup.t('Applying for the stage')}`)+\" \")]),_c('div',{staticClass:\"button\",on:{\"click\":_setup.showApplyUserLit}},[_vm._v(_vm._s(_setup.t('Check')))])]):_vm._e(),_c('div',{staticClass:\"global-setting\"},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"item-left-section\"},[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.MicOn,\"size\":\"large\"}}),_c('span',{staticClass:\"setting-name\"},[_vm._v(_vm._s(_setup.t('Disable all audios')))])],1),_c('div',{staticClass:\"item-right-section\"},[_c('el-switch',{attrs:{\"value\":_setup.isMicrophoneDisableForAllUser},on:{\"change\":_setup.toggleAllAudio}})],1)]),_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"item-left-section\"},[_c(_setup.SvgIcon,{staticClass:\"setting-icon\",attrs:{\"icon-name\":_setup.ICON_NAME.CameraOn,\"size\":\"large\"}}),_c('span',{staticClass:\"setting-name\"},[_vm._v(_vm._s(_setup.t('Disable all videos')))])],1),_c('div',{staticClass:\"item-right-section\"},[_c('el-switch',{attrs:{\"value\":_setup.isCameraDisableForAllUser},on:{\"change\":_setup.toggleAllVideo}})],1)])]),_c('div',{staticClass:\"divide-line\"}),_c('div',{staticClass:\"member-list-container\"},[_c('div',{staticClass:\"member-list-header\"},[_vm._v(\" \"+_vm._s(_setup.t('Member List'))+\" \"),_c('span',{staticClass:\"member-count\"},[_vm._v(\"(\"+_vm._s(_setup.userNumber)+_vm._s(_setup.t('members'))+\")\")])]),_c('div',{staticClass:\"member-list-content\"},_vm._l((_setup.userList),function(userInfo){return _c(_setup.MemberItem,{key:userInfo.userId,attrs:{\"user-info\":userInfo}})}),1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport MemberItem from '../ManageMember/MemberItem';\nimport SvgIcon from '../common/SvgIcon.vue';\n\nimport { ICON_NAME } from '../../constants/icon';\nimport { storeToRefs } from 'pinia';\nimport { useRoomStore } from '../../stores/room';\nimport useIndex from './useIndexHooks';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\nconst roomStore = useRoomStore();\n\nconst {\n userList,\n userNumber,\n applyToAnchorList,\n isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser,\n} = storeToRefs(roomStore);\n\nconst {\n t,\n showApplyUserLit,\n toggleAllAudio,\n toggleAllVideo,\n} = useIndex();\n\n\nreturn { __sfc: true,roomStore, userList, userNumber, applyToAnchorList, isMicrophoneDisableForAllUser, isCameraDisableForAllUser, t, showApplyUserLit, toggleAllAudio, toggleAllVideo, MemberItem, SvgIcon, ICON_NAME }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=74166061&scoped=true&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=74166061&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"74166061\",\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPC from './indexPC.vue';\n\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst index = isMobile ? indexH5 : indexPC;\n\nexport default index;\n","import TUIRoomEngine, { TUIRoomEvents } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { useChatStore } from '../../stores/chat';\nimport { storeToRefs } from 'pinia';\nimport { useBasicStore } from '../../stores/basic';\nimport { useI18n } from '../../locales';\nimport { computed, onUnmounted } from 'vue';\nimport logger from '../../utils/common/logger';\n\nexport default function useSideBar() {\n const roomEngine = useGetRoomEngine();\n const { t } = useI18n();\n\n const chatStore = useChatStore();\n const basicStore = useBasicStore();\n const { isSidebarOpen, sidebarName } = storeToRefs(basicStore);\n const showSideBar = computed(() => isSidebarOpen.value && sidebarName.value !== 'transfer-leave');\n const title = computed((): string => {\n let sidebarTitle = '';\n switch (sidebarName.value) {\n case 'chat':\n sidebarTitle = 'Chat';\n break;\n case 'invite':\n sidebarTitle = 'Invite';\n break;\n case 'more':\n sidebarTitle = 'More';\n break;\n case 'manage-member':\n sidebarTitle = 'Member management';\n break;\n default:\n break;\n }\n return t(sidebarTitle);\n });\n\n function handleClose(done: any) {\n basicStore.setSidebarOpenStatus(false);\n basicStore.setSidebarName('');\n done();\n }\n\n /** 监听消息接收,放在这里是为了打开 chat 之前只记录消息未读数 */\n const onReceiveTextMessage = (data: { roomId: string, message: any }) => {\n logger.warn('onReceiveTextMessage:', data);\n if (!basicStore.isSidebarOpen || basicStore.sidebarName !== 'chat') {\n // eslint-disable-next-line no-plusplus\n chatStore.updateUnReadCount(++chatStore.unReadCount);\n }\n };\n\n\n TUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n });\n\n onUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onReceiveTextMessage, onReceiveTextMessage);\n });\n return {\n t,\n isSidebarOpen,\n title,\n sidebarName,\n handleClose,\n showSideBar,\n }\n ;\n}\n\n","import { defineComponent as _defineComponent } from 'vue'\nimport Chat from '../Chat/index.vue';\nimport ManageMember from '../ManageMember/index';\nimport popup from '../common/PopUpH5.vue';\nimport useSideBar from './useSideBarHooks';\nimport ChatEditor from '../Chat/ChatEditor';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexH5',\n setup(__props) {\n\n\nconst {\n title,\n sidebarName,\n showSideBar,\n} = useSideBar();\n\n\nreturn { __sfc: true,title, sidebarName, showSideBar, Chat, ManageMember, popup, ChatEditor }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexH5.vue?vue&type=template&id=40f5a35a&scoped=true&\"\nimport script from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexH5.vue?vue&type=style&index=0&id=40f5a35a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40f5a35a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"sidebar-container\"},[_c(_setup.Drawer,{attrs:{\"model-value\":_setup.isSidebarOpen,\"modal\":false,\"title\":_setup.title,\"direction\":\"rtl\",\"before-close\":_setup.handleClose,\"size\":480}},[(_setup.sidebarName == 'chat')?_c(_setup.Chat):_vm._e(),(_setup.sidebarName == 'invite')?_c(_setup.RoomInvite):_vm._e(),(_setup.sidebarName == 'more')?_c(_setup.RoomMore):_vm._e(),(_setup.sidebarName == 'manage-member')?_c(_setup.ManageMember):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Chat from '../Chat/index.vue';\nimport Drawer from '../../elementComp/Drawer.vue';\nimport useSideBar from './useSideBarHooks';\nimport RoomInvite from '../RoomInvite';\nimport ManageMember from '../ManageMember';\nimport RoomMore from '../RoomMore';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'indexPC',\n setup(__props) {\n\n\nconst {\n isSidebarOpen,\n title,\n handleClose,\n sidebarName,\n} = useSideBar();\n\n\nreturn { __sfc: true,isSidebarOpen, title, handleClose, sidebarName, Chat, Drawer, RoomInvite, ManageMember, RoomMore }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./indexPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./indexPC.vue?vue&type=template&id=659a61f2&\"\nimport script from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./indexPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./indexPC.vue?vue&type=style&index=0&id=659a61f2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import indexH5 from './indexH5.vue';\nimport indexPc from './indexPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\n\nconst Index = isMobile ? indexH5 : indexPc;\n\nexport default Index;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"content-container\"},[_c(_setup.StreamContainer,{attrs:{\"show-room-tool\":_vm.showRoomTool}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"streamContainerRef\",staticClass:\"stream-container\",on:{\"touchstart\":_setup.handleTouchStart,\"touchend\":_setup.handleTouchEnd}},[_c('div',{class:_setup.streamContainerClass},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.layout === _setup.LAYOUT.LARGE_SMALL_WINDOW),expression:\"layout === LAYOUT.LARGE_SMALL_WINDOW\"}],ref:\"enlargedContainerRef\",staticClass:\"enlarged-stream-container\"},[(_setup.enlargeStream)?_c(_setup.StreamRegion,{attrs:{\"stream\":_setup.enlargeStream}}):_vm._e()],1),_c('div',{staticClass:\"stream-list-container\",class:[_setup.onlyVideoStreamList.length > 1 ? 'multi-stream-container' : 'single-stream-container']},[_c('div',{ref:\"streamListRef\",class:['stream-list', `${_setup.isFirstPageInSixPointLayout ? '' : 'not-first-page'}`]},_vm._l((_setup.onlyVideoStreamList),function(stream){return _c(_setup.StreamRegion,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showStreamList.indexOf(stream) > -1),expression:\"showStreamList.indexOf(stream) > -1\"}],key:`${stream.userId}_${stream.streamType}`,class:[_setup.onlyVideoStreamList.length > 1 ? 'multi-stream' : 'single-stream'],attrs:{\"stream\":stream,\"enlarge-dom-id\":_setup.enlargeDomId,\"show-room-tool\":_vm.showRoomTool}})}),1)])]),(_setup.totalPageNumber > 1)?_c('div',{staticClass:\"swipe\"},_vm._l((_setup.totalPageNumber),function(item,index){return _c('div',{key:item,staticClass:\"swipe-dots\",class:[_setup.isActiveDot(index) ? 'swipe-current-dots' : '']})}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.playRegionDomId !== _vm.enlargeDomId)?_c('div',{ref:\"streamRegionRef\",staticClass:\"user-stream-container\",class:[_setup.showVoiceBorder ? 'border' : '']},[_c('div',{staticClass:\"stream-region\",attrs:{\"id\":_setup.playRegionDomId}}),(!_vm.stream.hasVideoStream && !_vm.stream.hasScreenStream)?_c('div',{staticClass:\"center-user-info-container\"},[_c('img',{staticClass:\"avatar-region\",attrs:{\"src\":_vm.stream.avatarUrl || _setup.defaultAvatar}})]):_vm._e(),_c('div',{staticClass:\"corner-user-info-container\"},[(_setup.showMasterIcon)?_c(_setup.SvgIcon,{staticClass:\"master-icon\",attrs:{\"size\":\"custom\",\"icon-name\":\"user\"}}):_vm._e(),(!_setup.isScreenStream)?_c(_setup.AudioIcon,{staticClass:\"audio-icon\",attrs:{\"audio-volume\":_vm.stream.audioVolume,\"is-muted\":!_vm.stream.hasAudioStream,\"size\":\"small\"}}):_vm._e(),(_setup.isScreenStream)?_c(_setup.SvgIcon,{staticClass:\"screen-icon\",attrs:{\"icon-name\":\"screen-share\"}}):_vm._e(),_c('span',{staticClass:\"user-name\",attrs:{\"title\":_setup.userInfo}},[_vm._v(_vm._s(_setup.userInfo))]),(_setup.isScreenStream)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('is sharing their screen'))+\" \")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, nextTick, computed, onMounted } from 'vue';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport { useBasicStore } from '../../../stores/basic';\nimport logger from '../../../utils/common/logger';\nimport AudioIcon from '../../base/AudioIcon.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport {\n TUIVideoStreamType,\n TRTCVideoStreamType,\n TRTCVideoFillMode,\n TRTCVideoMirrorType,\n TRTCVideoRotation,\n} from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { isInnerScene } from '../../../utils/constants';\ninterface Props {\n stream: StreamInfo;\n enlargeDomId?: string;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamRegionH5',\n props: {\n stream: null,\n enlargeDomId: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n stream: StreamInfo;\n enlargeDomId?: string;\n}\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[StreamRegion]';\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n\nconst { t } = useI18n();\n\n\n\nconst streamRegionRef = ref();\nconst showVoiceBorder = computed(() => (\n props.stream?.audioVolume !== 0 && props.stream?.streamType !== TUIVideoStreamType.kScreenStream\n));\nconst playRegionDomId = computed(() => `${props.stream.userId}_${props.stream.streamType}`);\n\nconst showMasterIcon = computed(() => {\n const { userId, streamType } = props.stream;\n return userId === roomStore.masterUserId && streamType === TUIVideoStreamType.kCameraStream;\n});\n\nconst isScreenStream = computed(() => props.stream.streamType === TUIVideoStreamType.kScreenStream);\n\nconst userInfo = computed(() => {\n if (isInnerScene) {\n return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;\n }\n return props.stream.userName || props.stream.userId;\n});\n\nonMounted(() => {\n watch(\n () => props.stream.hasVideoStream,\n async (val) => {\n if (val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);\n if (basicStore.userId === props.stream.userId) {\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setRemoteRenderParams(props.stream.userId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, {\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n }\n }\n },\n { immediate: true },\n );\n});\n\nonMounted(() => {\n watch(\n () => props.stream.hasScreenStream,\n async (val) => {\n if (val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isScreenStreamAvailable:`, props.stream.userId, userIdEl);\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setRemoteRenderParams(props.stream.userId, TRTCVideoStreamType.TRTCVideoStreamTypeSub, {\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fit,\n });\n }\n }\n },\n { immediate: true },\n );\n});\n\n/**\n * enlargeUserId The switch requires that both the small window\n * corresponding to the previously played stream and the stream that needs to be newly played be replayed.\n *\n * enlargeUserId 切换的时候需要让之前播放流对应的小窗口和需要新播放的流都重新播放\n**/\nonMounted(() => {\n watch(\n () => props.enlargeDomId,\n async (val, oldVal) => {\n if (playRegionDomId.value === oldVal || playRegionDomId.value === val) {\n await nextTick();\n const userIdEl = document?.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n if (basicStore.userId === props.stream.userId) {\n /**\n * Replay local video streams only when they are open\n *\n * 只有当本地视频流是打开状态的时候,才重新播放本地流\n **/\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n roomEngine.instance?.setRemoteVideoView({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n view: `${playRegionDomId.value}`,\n });\n await roomEngine.instance?.startPlayRemoteVideo({\n userId: props.stream.userId,\n streamType: props.stream.streamType,\n });\n };\n }\n }\n },\n );\n});\n\nreturn { __sfc: true,roomEngine, logPrefix, basicStore, roomStore, t, props, streamRegionRef, showVoiceBorder, playRegionDomId, showMasterIcon, isScreenStream, userInfo, defaultAvatar, AudioIcon, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamRegionH5.vue?vue&type=template&id=9adfd868&scoped=true&\"\nimport script from \"./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamRegionH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamRegionH5.vue?vue&type=style&index=0&id=9adfd868&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9adfd868\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.playRegionDomId !== _vm.enlargeDomId)?_c('div',{ref:\"streamRegionRef\",staticClass:\"user-stream-container\",on:{\"dblclick\":function($event){return _vm.$emit('room_dblclick')}}},[(_setup.loading)?_c('div',{staticClass:\"loading-region\"},[_c(_setup.SvgIcon,{staticClass:\"loading\",attrs:{\"icon-name\":\"loading\"}})],1):_vm._e(),_c('div',{staticClass:\"stream-region\",attrs:{\"id\":_setup.playRegionDomId}}),(!_vm.stream.hasVideoStream && !_vm.stream.hasScreenStream)?_c('div',{ref:\"centerUserInfoRef\",staticClass:\"center-user-info-container\"},[_c(_setup.Avatar,{staticClass:\"avatar-region\",attrs:{\"img-src\":_vm.stream.avatarUrl}})],1):_vm._e(),_c('div',{staticClass:\"corner-user-info-container\"},[(_setup.showMasterIcon)?_c(_setup.SvgIcon,{staticClass:\"master-icon\",attrs:{\"icon-name\":\"user\"}}):_vm._e(),(!_setup.isScreenStream)?_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_vm.stream.audioVolume,\"is-muted\":!_vm.stream.hasAudioStream,\"size\":\"small\"}}):_vm._e(),(_setup.isScreenStream)?_c(_setup.SvgIcon,{staticClass:\"screen-icon\",attrs:{\"icon-name\":\"screen-share\"}}):_vm._e(),_c('span',{staticClass:\"user-name\",attrs:{\"title\":_setup.userInfo}},[_vm._v(_vm._s(_setup.userInfo))]),(_setup.isScreenStream)?_c('span',[_vm._v(\" \"+_vm._s(_setup.t('is sharing their screen'))+\" \")]):_vm._e()],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, nextTick, computed } from 'vue';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport Avatar from '../../base/Avatar.vue';\nimport { useBasicStore } from '../../../stores/basic';\nimport logger from '../../../utils/common/logger';\nimport AudioIcon from '../../base/AudioIcon.vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useI18n } from '../../../locales';\nimport { TUIVideoStreamType } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { isInnerScene } from '../../../utils/constants';\n\ninterface Props {\n stream: StreamInfo,\n enlargeDomId?: string,\n changeLargeStream?:boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamRegionPC',\n props: {\n stream: null,\n enlargeDomId: null,\n changeLargeStream: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n stream: StreamInfo,\n enlargeDomId?: string,\n changeLargeStream?:boolean,\n}\n\nconst roomEngine = useGetRoomEngine();\n\nconst logPrefix = '[StreamRegion]';\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\n\nconst { t } = useI18n();\n\n\n\n\nconst streamRegionRef = ref();\nconst centerUserInfoRef = ref();\nconst loading = ref(false);\n\nconst playRegionDomId = computed(() => `${props.stream.userId}_${props.stream.streamType}`);\n\nconst showMasterIcon = computed(() => {\n const { userId, streamType } = props.stream;\n return userId === roomStore.masterUserId && streamType === TUIVideoStreamType.kCameraStream;\n});\n\nconst isScreenStream = computed(() => props.stream.streamType === TUIVideoStreamType.kScreenStream);\nconst userInfo = computed(() => {\n if (isInnerScene) {\n return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;\n }\n return props.stream.userName || props.stream.userId;\n});\n\n// 要拉取远端用户的流类型\nconst streamTypeToFetch = computed(() => {\n const { streamType, userId } = props.stream;\n const { kScreenStream, kCameraStream } = TUIVideoStreamType;\n const { defaultStreamType } = roomStore;\n const { userId: localUserId } = basicStore;\n if (streamType === kScreenStream) {\n return kScreenStream;\n }\n if (playRegionDomId.value === props.enlargeDomId || userId === localUserId) {\n return kCameraStream;\n }\n if (streamType === kCameraStream) {\n return defaultStreamType;\n }\n return streamType;\n});\n\nconst startPlayRemoteVideo = async () => {\n const { userId } = props.stream;\n // 播放远端流\n loading.value = true;\n roomEngine.instance?.setRemoteVideoView({ userId, streamType: streamTypeToFetch.value, view: `${playRegionDomId.value}` });\n await roomEngine.instance?.startPlayRemoteVideo({ userId, streamType: streamTypeToFetch.value });\n // 播放远端流成功\n loading.value = false;\n};\n\nconst stopPlayRemoteVideo = async () => {\n loading.value = false;\n await roomEngine.instance?.\n stopPlayRemoteVideo({ userId: props.stream.userId, streamType: streamTypeToFetch.value });\n};\n\nif (props.stream.streamType === TUIVideoStreamType.kCameraStream\n || props.stream.streamType === TUIVideoStreamType.kCameraStreamLow) {\n watch(\n () => [props.stream.hasVideoStream, props.stream.isVisible],\n async (val, oldVal) => {\n if (props.stream.userId === basicStore.userId) {\n return;\n }\n const [hasVideoStream, isVisible] = val;\n if (hasVideoStream && isVisible) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);\n await startPlayRemoteVideo();\n }\n }\n if (oldVal) {\n const [oldHasVideoStream, oldIsVisible] = oldVal;\n // 从有流且可见状态变为有流但不可见,无流但可见,无流且不可见状态,停止播放流\n if ((oldHasVideoStream && oldIsVisible) && (!hasVideoStream || !isVisible)) {\n await stopPlayRemoteVideo();\n }\n }\n },\n { immediate: true },\n );\n}\n\nif (props.stream.streamType === TUIVideoStreamType.kScreenStream) {\n watch(\n () => [props.stream.hasScreenStream, props.stream.isVisible],\n async (val, oldVal) => {\n const [hasScreenStream, isVisible] = val;\n if (hasScreenStream && isVisible) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n logger.debug(`${logPrefix}watch isScreenStreamAvailable:`, props.stream.userId, userIdEl);\n await startPlayRemoteVideo();\n }\n }\n if (oldVal) {\n const [oldHasScreenStream, oldIsVisible] = oldVal;\n // 从有流且可见状态变为有流但不可见,无流但可见,无流且不可见状态,停止播放流\n if ((oldHasScreenStream && oldIsVisible) && (!hasScreenStream || !isVisible)) {\n await stopPlayRemoteVideo();\n }\n }\n },\n { immediate: true },\n );\n}\n\n\n/**\n * enlargeUserId The switch requires that both the small window\n * corresponding to the previously played stream and the stream that needs to be newly played be replayed.\n *\n * enlargeUserId 切换的时候需要让之前播放流对应的小窗口和需要新播放的流都重新播放\n**/\nwatch(\n () => props.enlargeDomId,\n async (val, oldVal) => {\n if (playRegionDomId.value === oldVal || playRegionDomId.value === val) {\n await nextTick();\n const userIdEl = document.getElementById(`${playRegionDomId.value}`) as HTMLDivElement;\n if (userIdEl) {\n if (basicStore.userId === props.stream.userId) {\n /**\n * Replay local video streams only when they are open\n *\n * 只有当本地视频流是打开状态的时候,才重新播放本地流\n **/\n if (props.stream.hasVideoStream) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: streamTypeToFetch.value,\n view: `${playRegionDomId.value}`,\n });\n }\n } else {\n await startPlayRemoteVideo();\n };\n }\n }\n },\n { immediate: true },\n);\n\nreturn { __sfc: true,roomEngine, logPrefix, basicStore, roomStore, t, props, streamRegionRef, centerUserInfoRef, loading, playRegionDomId, showMasterIcon, isScreenStream, userInfo, streamTypeToFetch, startPlayRemoteVideo, stopPlayRemoteVideo, Avatar, AudioIcon, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamRegionPC.vue?vue&type=template&id=693d2878&scoped=true&\"\nimport script from \"./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamRegionPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamRegionPC.vue?vue&type=style&index=0&id=693d2878&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"693d2878\",\n null\n \n)\n\nexport default component.exports","import StreamRegionH5 from './StreamRegionH5.vue';\nimport StreamRegionPc from './StreamRegionPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst StreamRegion = isMobile ? StreamRegionH5 : StreamRegionPc;\n\nexport default StreamRegion;\n","import { watch } from 'vue';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport { useRoomStore } from '../../../stores/room';\nimport { TUIChangeReason, TUIUserInfo, TUIVideoStreamType } from '@tencentcloud/tuiroom-engine-js';\nimport { ElMessage } from '../../../elementComp';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { storeToRefs } from 'pinia';\nimport { isMobile, isWeChat } from '../../../utils/useMediaValue';\nimport logger from '../../../utils/common/logger';\n\nconst logPrefix = '[StreamContainer]';\n\nexport default function useStreamContainer() {\n /**\n * --- The following processing stream events ----\n *\n * --- 以下处理流事件 ----\n **/\n const roomEngine = useGetRoomEngine();\n const basicStore = useBasicStore();\n const roomStore = useRoomStore();\n const { t } = useI18n();\n\n // 远端用户进入\n const onRemoteUserEnterRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n roomStore.addRemoteUser(eventInfo.userInfo);\n };\n\n // 远端用户离开\n const onRemoteUserLeaveRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n roomStore.removeRemoteUser(eventInfo.userInfo.userId);\n };\n\n // 麦位变化\n const onSeatListChanged = (eventInfo: { seatList: any[], seatedList: any[], leftList: any[] }) => {\n const { seatList, seatedList, leftList } = eventInfo;\n roomStore.updateOnSeatList(seatList, seatedList, leftList);\n };\n\n // 用户音频状态发生改变\n const onUserAudioStateChanged = (eventInfo: {\n userId: string,\n hasAudio: boolean,\n reason: TUIChangeReason,\n }) => {\n const { userId, hasAudio, reason } = eventInfo;\n roomStore.updateUserAudioState(userId, hasAudio);\n // 处理状态变更\n if (userId === basicStore.userId && !hasAudio && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭麦克风\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your microphone'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * When the host turns on a full ban, the microphone of a single person is turned on\n * and off separately, and the microphone status of the corresponding user is inoperable at this time\n *\n * 主持人开启全员禁言时,单独打开再关闭单人的麦克风,此时对应用户的麦克风状态为无法操作\n **/\n roomStore.setCanControlSelfAudio(!roomStore.isMicrophoneDisableForAllUser);\n }\n };\n const {\n isDefaultOpenCamera,\n isDefaultOpenMicrophone,\n isLocalAudioIconDisable,\n isLocalVideoIconDisable,\n } = storeToRefs(roomStore);\n\n watch(isDefaultOpenCamera, async (val) => {\n if (val && !isLocalVideoIconDisable.value) {\n /**\n * Turn on the local camera\n *\n * 开启本地摄像头\n **/\n\n if (isWeChat) {\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n // @ts-ignore\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera });\n } else if (isMobile) {\n const previewDom = document?.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);\n if (!previewDom) {\n logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);\n return;\n }\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n // @ts-ignore\n await roomEngine.instance?.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera });\n return;\n } else {\n const previewDom = document?.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);\n if (!previewDom) {\n logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);\n return;\n }\n /**\n * Set device id\n *\n * 设置设备id\n **/\n if (!roomStore.currentCameraId) {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n if (cameraList && cameraList.length > 0) {\n roomStore.setCurrentCameraId(cameraList[0].deviceId);\n }\n }\n await roomEngine.instance?.setCurrentCameraDevice({ deviceId: roomStore.currentCameraId });\n /**\n * Turn on the local camera\n *\n * 开启本地摄像头\n **/\n await roomEngine.instance?.setLocalVideoView({\n streamType: TUIVideoStreamType.kCameraStream,\n view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`,\n });\n await roomEngine.instance?.openLocalCamera();\n }\n }\n });\n\n watch(isDefaultOpenMicrophone, async (val) => {\n if (val && !isLocalAudioIconDisable.value) {\n /**\n * Advance the timing of startMicrophone to ensure that it is executed before startCameraPreview\n *\n * 提前 startMicrophone 的时机,保证在 startCameraPreview 之前执行\n **/\n await roomEngine.instance?.openLocalMicrophone();\n if (!isWeChat && !isMobile) {\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n if (microphoneList?.length === 0 || speakerList?.length === 0) return;\n if (!roomStore.currentMicrophoneId && microphoneList.length > 0) {\n roomStore.setCurrentMicrophoneId(microphoneList[0].deviceId);\n }\n if (!roomStore.currentSpeakerId && speakerList.length > 0) {\n roomStore.setCurrentSpeakerId(speakerList[0].deviceId);\n }\n await roomEngine.instance?.setCurrentMicDevice({ deviceId: roomStore.currentMicrophoneId });\n }\n }\n });\n return {\n onRemoteUserEnterRoom,\n onRemoteUserLeaveRoom,\n onSeatListChanged,\n onUserAudioStateChanged,\n t,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onUnmounted, Ref, ComputedRef, watch, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport { useBasicStore } from '../../../stores/basic';\nimport { LAYOUT } from '../../../constants/render';\nimport StreamRegion from '../StreamRegion';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport logger from '../../../utils/common/logger';\nimport { throttle } from '../../../utils/utils';\n\nimport TUIRoomEngine, { TUIChangeReason, TUIRoomEvents, TUIVideoStreamType, TRTCVolumeInfo } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport useStreamContainer from './useStreamContainerHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamContainerH5',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\nconst logPrefix = '[StreamContainer]';\nconst {\n onRemoteUserEnterRoom,\n onRemoteUserLeaveRoom,\n onSeatListChanged,\n onUserAudioStateChanged,\n t,\n} = useStreamContainer();\n\nconst roomEngine = useGetRoomEngine();\n\n\n\n\n\nconst streamContainerRef = ref(null);\n\nconst roomStore = useRoomStore();\nconst {\n streamList,\n streamNumber,\n localStream,\n remoteStreamObj,\n} = storeToRefs(roomStore);\nconst basicStore = useBasicStore();\n// 小程序默认布局为六宫格模式\nbasicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\nconst { layout } = storeToRefs(basicStore);\n\nconst enlargeStream: Ref = ref(null);\nconst enlargeDomId = computed(() => (enlargeStream.value ? `${enlargeStream.value.userId}_${enlargeStream.value.streamType}` : ''));\nconst currentSpeakerUserId: Ref = ref('');\nconst startX = ref();\nconst startY = ref();\n\nconst onlyVideoStreamList = computed(() => (\n streamList.value.filter(stream => stream.streamType === TUIVideoStreamType.kCameraStream)\n));\nconst currentPageIndex = ref(0);\n\nwatch(() => onlyVideoStreamList.value.length, (val) => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n const equalPointIndex = enlargeStream.value ? currentPageIndex.value - 1 : currentPageIndex.value;\n if (Math.ceil(val / 6) < equalPointIndex + 1 && equalPointIndex > 0) {\n currentPageIndex.value = currentPageIndex.value - 1;\n }\n }\n});\n\nconst isFirstPageInSixPointLayout: Ref = computed(() => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n return enlargeStream.value ? currentPageIndex.value === 1 : currentPageIndex.value === 0;\n }\n return false;\n});\n\n/**\n * ----- The following handles the nine-pane page flip logic -----\n *\n * ----- 以下处理六宫格翻页逻辑 -----\n**/\nconst showStreamList: ComputedRef = computed(() => {\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n if (enlargeStream.value) {\n return onlyVideoStreamList.value.slice((currentPageIndex.value - 1) * 6, (currentPageIndex.value - 1) * 6 + 6);\n }\n return onlyVideoStreamList.value.slice(currentPageIndex.value * 6, currentPageIndex.value * 6 + 6);\n }\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n const userId = enlargeStream.value?.userId;\n if (currentSpeakerUserId.value) {\n return currentSpeakerUserId.value === localStream.value.userId\n ? [localStream.value]\n : [remoteStreamObj.value[`${currentSpeakerUserId.value}_${TUIVideoStreamType.kCameraStream}`]];\n }\n return [remoteStreamObj.value[`${userId}_${TUIVideoStreamType.kCameraStream}`]];\n }\n return [];\n});\n\n\n/**\n * Show left and right page flip icons\n *\n * 显示左右翻页图标\n**/\nconst totalPageNumber = computed(() => {\n const totalPageOfVideoStream = onlyVideoStreamList.value.length > 6 ? Math.ceil(streamNumber.value / 6) : 1;\n return enlargeStream.value ? totalPageOfVideoStream + 1 : totalPageOfVideoStream;\n});\n\nfunction isActiveDot(index: number) {\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n return index === 0;\n }\n if (layout.value === LAYOUT.SIX_EQUAL_POINTS) {\n return index === currentPageIndex.value;\n }\n return false;\n}\n\n/**\n * Swipe left to turn the page\n *\n * 向左滑动翻页\n**/\nfunction handleTurnPageLeft() {\n if (currentPageIndex.value === 0) {\n return;\n }\n currentPageIndex.value = currentPageIndex.value - 1;\n if (enlargeStream.value && currentPageIndex.value === 0) {\n basicStore.setLayout(LAYOUT.LARGE_SMALL_WINDOW);\n }\n}\n\n/**\n * Swipe right to turn the page\n *\n * 向右滑动翻页\n**/\nfunction handleTurnPageRight() {\n if (currentPageIndex.value === totalPageNumber.value - 1) {\n return;\n }\n currentPageIndex.value = currentPageIndex.value + 1;\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n basicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\n }\n}\n\n/**\n * ----- The following processing stream layout ---------\n *\n * ----- 以下处理流布局 ---------\n**/\nconst enlargedContainerRef = ref();\nconst streamListRef = ref();\n\nconst streamContainerClass = computed(() => {\n let containerClass = '';\n switch (layout.value) {\n case LAYOUT.SIX_EQUAL_POINTS:\n containerClass = 'stream-container-flatten';\n break;\n case LAYOUT.LARGE_SMALL_WINDOW:\n containerClass = 'stream-container-large-small';\n break;\n default:\n break;\n }\n return containerClass;\n});\n\nfunction handleTouchStart(event:any) {\n startX.value = event?.changedTouches[0]?.pageX;\n startY.value = event?.changedTouches[0]?.pageY;\n}\n\nfunction handleTouchEnd(event:any) {\n const moveDirectionX = event?.changedTouches[0].pageX - startX.value;\n const moveDirectionY = event?.changedTouches[0].pageY - startY.value;\n if (Math.abs(moveDirectionY) > Math.abs(moveDirectionX) || Math.abs(moveDirectionX) < 5) {\n return;\n }\n if (moveDirectionX < 0) {\n // 右滑\n handleTurnPageRight();\n }\n if (moveDirectionX > 0) {\n // 左滑\n handleTurnPageLeft();\n }\n}\n\n/**\n * --- The following processing stream events ----\n *\n * --- 以下处理流事件 ----\n**/\n\n\nconst onUserVideoStateChanged = (eventInfo: {\n userId: string,\n streamType: TUIVideoStreamType,\n hasVideo: boolean,\n reason: TUIChangeReason,\n}) => {\n const { userId, streamType, hasVideo, reason } = eventInfo;\n // 更新 roomStore 流状态数据\n roomStore.updateUserVideoState(userId, streamType, hasVideo);\n\n // 处理状态变更\n if (userId === basicStore.userId && !hasVideo && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭摄像头\n if (streamType === TUIVideoStreamType.kCameraStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your camera'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n // When the moderator opens the whole staff forbidden to draw,\n // open and then close the single person's camera alone, at this time\n // the corresponding user's camera status for inoperable\n // 主持人开启全员禁画时,单独打开再关闭单人的摄像头,此时对应用户的摄像头状态为无法操作\n roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);\n }\n // 主持人关闭屏幕分享\n if (streamType === TUIVideoStreamType.kScreenStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your screen sharing'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n }\n\n // 当远端屏幕分享变化的时候,处理流布局\n if (userId !== basicStore.userId && streamType === TUIVideoStreamType.kScreenStream) {\n if (hasVideo) {\n enlargeStream.value = roomStore.remoteStreamObj[`${userId}_${streamType}`] as StreamInfo;\n if (enlargeStream.value) {\n basicStore.setLayout(LAYOUT.LARGE_SMALL_WINDOW);\n currentPageIndex.value = 0;\n }\n } else {\n if (userId === enlargeStream.value?.userId) {\n /**\n * Reset the stream playback layout when the remote screen sharing stream is stopped\n *\n * 远端屏幕分享流停止的时候,重新设置流播放布局\n **/\n logger.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);\n roomEngine.instance?.stopPlayRemoteVideo({\n userId,\n streamType,\n });\n if (enlargeStream.value) {\n enlargeStream.value = null;\n }\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n basicStore.setLayout(LAYOUT.SIX_EQUAL_POINTS);\n currentPageIndex.value = 0;\n } else if (layout.value === LAYOUT.SIX_EQUAL_POINTS && currentPageIndex.value > 0) {\n currentPageIndex.value = currentPageIndex.value - 1;\n }\n }\n }\n }\n};\n\n// 计算音量最大的 userId\nfunction handleLargestVoice(userVolumeList: Array) {\n if (currentSpeakerUserId.value) {\n const lastSpeakerUserVolumeInfo = userVolumeList.find((item: TRTCVolumeInfo) => (\n item.userId === currentSpeakerUserId.value\n ));\n if (lastSpeakerUserVolumeInfo && lastSpeakerUserVolumeInfo.volume > 0) {\n return;\n }\n }\n let largestVolume = 0;\n let largestUserId = '';\n userVolumeList.forEach((item: TRTCVolumeInfo) => {\n const { userId, volume } = item;\n if (volume > largestVolume) {\n largestVolume = volume;\n largestUserId = userId;\n }\n });\n if (largestVolume === 0) {\n currentSpeakerUserId.value = '';\n } else {\n currentSpeakerUserId.value = largestUserId;\n }\n}\n\nconst handleLargestVoiceThrottle = throttle(handleLargestVoice, 1000);\n\n// 音量变化\nconst onUserVoiceVolumeChanged = (eventInfo: {\n userVolumeList: any[],\n}) => {\n const { userVolumeList } = eventInfo;\n if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {\n if (userVolumeList.length === 0) {\n currentSpeakerUserId.value = '';\n } else {\n handleLargestVoiceThrottle(userVolumeList);\n }\n }\n};\n\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n});\n\nreturn { __sfc: true,logPrefix, onRemoteUserEnterRoom, onRemoteUserLeaveRoom, onSeatListChanged, onUserAudioStateChanged, t, roomEngine, streamContainerRef, roomStore, streamList, streamNumber, localStream, remoteStreamObj, basicStore, layout, enlargeStream, enlargeDomId, currentSpeakerUserId, startX, startY, onlyVideoStreamList, currentPageIndex, isFirstPageInSixPointLayout, showStreamList, totalPageNumber, isActiveDot, handleTurnPageLeft, handleTurnPageRight, enlargedContainerRef, streamListRef, streamContainerClass, handleTouchStart, handleTouchEnd, onUserVideoStateChanged, handleLargestVoice, handleLargestVoiceThrottle, onUserVoiceVolumeChanged, LAYOUT, StreamRegion }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamContainerH5.vue?vue&type=template&id=3424abc2&scoped=true&\"\nimport script from \"./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamContainerH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamContainerH5.vue?vue&type=style&index=0&id=3424abc2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3424abc2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_setup.streamContainerClass},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showIconControl),expression:\"showIconControl\"}],ref:\"enlargedContainerRef\",staticClass:\"enlarged-stream-container\"},[(_setup.enlargeStream)?_c(_setup.StreamRegion,{key:`${_setup.enlargeStream.userId}_${_setup.enlargeStream.streamType}`,style:(_setup.enlargedStreamStyle),attrs:{\"stream\":_setup.enlargeStream}}):_vm._e()],1),_c('div',{class:['stream-list-container', `${_setup.showSideList ? '' : 'hide-list'}`]},[_c('div',{ref:\"streamListRef\",staticClass:\"stream-list\"},_vm._l((_setup.streamList),function(stream){return _c(_setup.StreamRegion,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showStreamList.indexOf(stream) > -1),expression:\"showStreamList.indexOf(stream) > -1\"}],key:`${stream.userId}_${stream.streamType}`,staticClass:\"single-stream\",style:(_setup.streamStyle),attrs:{\"stream\":stream,\"enlarge-dom-id\":_setup.enlargeDomId},on:{\"room_dblclick\":function($event){return _setup.handleEnlargeStreamRegion(stream)}}})}),1)]),(_setup.showIconControl && _vm.showRoomTool)?_c('div',{class:_setup.arrowClass,on:{\"click\":_setup.handleClickIcon}},[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"line-arrow-up\",\"size\":\"medium\"}})],1):_vm._e(),(_setup.showTurnPageControl && _vm.showRoomTool)?_c('div',{staticClass:\"turn-page-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showTurnPageLeftArrow),expression:\"showTurnPageLeftArrow\"}],staticClass:\"turn-page-arrow-container left-container\",on:{\"click\":_setup.handleTurnPageLeft}},[_c('div',{staticClass:\"turn-page-arrow\"})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showTurnPageRightArrow),expression:\"showTurnPageRightArrow\"}],staticClass:\"turn-page-arrow-container right-container\",on:{\"click\":_setup.handleTurnPageRight}},[_c('div',{staticClass:\"turn-page-arrow turn-page-right\"})])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, onUnmounted, Ref, ComputedRef, watch, nextTick, computed } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport { StreamInfo, useRoomStore } from '../../../stores/room';\nimport { useBasicStore } from '../../../stores/basic';\nimport { LAYOUT } from '../../../constants/render';\nimport StreamRegion from '../StreamRegion';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport { debounce } from '../../../utils/utils';\nimport logger from '../../../utils/common/logger';\n\nimport TUIRoomEngine, { TUIUserInfo, TUIChangeReason, TUIRoomEvents, TUIVideoStreamType, TUISeatInfo } from '@tencentcloud/tuiroom-engine-js';\nimport useGetRoomEngine from '../../../hooks/useRoomEngine';\nimport useStreamContainer from './useStreamContainerHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamContainerPC',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\nconst logPrefix = '[StreamContainer]';\nconst {\n onRemoteUserEnterRoom,\n onUserAudioStateChanged,\n t,\n} = useStreamContainer();\nconst roomEngine = useGetRoomEngine();\n\n\n\n\nconst streamStyle: Ref> = ref({ width: '0', height: '0' });\nconst enlargedStreamStyle: Ref> = ref({ width: '0', height: '0' });\nconst roomStore = useRoomStore();\nconst { streamList, streamNumber, remoteStreamList } = storeToRefs(roomStore);\nconst basicStore = useBasicStore();\nconst { layout } = storeToRefs(basicStore);\nconst showSideList = ref(true);\n\nconst enlargeStream: Ref = ref(null);\nconst enlargeDomId = computed(() => (enlargeStream.value ? `${enlargeStream.value.userId}_${enlargeStream.value.streamType}` : ''));\n\nwatch(() => remoteStreamList.value.length, (val) => {\n // 当没有远端流的时候,将流布局改为九宫格\n if (val === 0) {\n basicStore.setLayout(LAYOUT.NINE_EQUAL_POINTS);\n enlargeStream.value = null;\n return;\n }\n});\n\nwatch(() => streamList.value.length, () => {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST || layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleStreamContainerScroll();\n }\n});\n\nwatch(() => enlargeDomId.value, () => {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST || layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleStreamContainerScroll();\n }\n});\n\n/**\n * ----- The following handles the nine-pane page flip logic -----\n *\n * ----- 以下处理九宫格翻页逻辑 -----\n**/\nconst currentPageIndex = ref(0);\nconst showStreamList: ComputedRef = computed(() => {\n if (layout.value !== LAYOUT.NINE_EQUAL_POINTS) {\n return streamList.value.filter(item => `${item.userId}_${item.streamType}` !== enlargeDomId.value);\n }\n return streamList.value.slice(currentPageIndex.value * 9, currentPageIndex.value * 9 + 9);\n});\n\nwatch([() => showStreamList.value.length, currentPageIndex], () => {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n const streamIdList: string[] = [];\n showStreamList.value.forEach((item) => {\n const currentStreamId = `${item.userId}_${item.streamType}`;\n streamIdList.push(currentStreamId);\n });\n roomStore.updateUserStreamVisible(streamIdList);\n }\n});\n\nwatch(streamNumber, (val) => {\n if (currentPageIndex.value > Math.ceil(val / 9) - 1) {\n currentPageIndex.value = Math.ceil(val / 9) - 1;\n handleNineEqualPointsLayout();\n }\n});\n\n/**\n * Show left and right page flip icons\n *\n * 显示左右翻页图标\n**/\nconst showTurnPageControl = computed(() => layout.value === LAYOUT.NINE_EQUAL_POINTS && streamNumber.value > 9);\n/**\n * Whether or not to show the nine-page-to-left button\n *\n * 是否展示九宫格朝左翻页按钮\n**/\nconst showTurnPageLeftArrow = computed(() => currentPageIndex.value > 0);\n/**\n * Whether or not to display the nine-pane rightward-facing page button\n *\n * 是否展示九宫格朝右翻页按钮\n**/\nconst showTurnPageRightArrow = computed(() => streamNumber.value > currentPageIndex.value * 9 + 9);\n\n/**\n * Nine grid layout towards the left to turn the page\n *\n * 九宫格布局朝左翻页\n**/\nfunction handleTurnPageLeft() {\n currentPageIndex.value = currentPageIndex.value - 1;\n handleNineEqualPointsLayout();\n}\n\n/**\n * Nine grid layout towards the right to turn the page\n *\n * 九宫格布局朝右翻页\n**/\nfunction handleTurnPageRight() {\n currentPageIndex.value = currentPageIndex.value + 1;\n handleNineEqualPointsLayout();\n}\n\n/**\n * ----- The following processing stream layout ---------\n *\n * ----- 以下处理流布局 ---------\n**/\nconst streamContainerClass = ref('');\nconst enlargedContainerRef = ref();\nconst streamListRef = ref();\n\nconst arrowClass = computed(() => {\n let arrowDirection = '';\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n arrowDirection = showSideList.value ? 'up' : 'down';\n }\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n arrowDirection = showSideList.value ? 'right' : 'left';\n }\n return `icon-control arrow-${arrowDirection}`;\n});\n\nfunction handleClickIcon() {\n showSideList.value = !showSideList.value;\n if (!showSideList.value) {\n let width = 0;\n let height = 0;\n const containerWidth = document.getElementById('roomContainer')!.offsetWidth;\n const containerHeight = document.getElementById('roomContainer')!.offsetHeight;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n /**\n * Modify the width and height of the enlargedContainer\n *\n * 修改 enlargedContainer 的宽和高\n **/\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n enlargedContainerRef.value.style.top = '0px';\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n } else {\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n handleRightSideListLayout();\n enlargedContainerRef.value.style.width = 'calc(100% - 260px)';\n enlargedContainerRef.value.style.height = '100%';\n return;\n }\n if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n handleTopSideListLayout();\n enlargedContainerRef.value.style.top = '175px';\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = 'calc(100% - 175px)';\n return;\n }\n }\n}\n\n/**\n * Handle nine-pattern layout\n *\n * 处理九宫格布局\n**/\nasync function handleNineEqualPointsLayout() {\n streamContainerClass.value = 'stream-container-flatten';\n\n enlargeStream.value = null;\n\n const number = showStreamList.value.length;\n let width = 0;\n let height = 0;\n const roomContainerElement = document.getElementById('roomContainer');\n if (!roomContainerElement) {\n return;\n }\n let containerWidth = roomContainerElement!.offsetWidth;\n let containerHeight = roomContainerElement!.offsetHeight;\n if (number <= 4) {\n containerWidth = number < 2 ? roomContainerElement!.offsetWidth / number : roomContainerElement!.offsetWidth / 2;\n containerHeight = roomContainerElement!.offsetHeight / Math.ceil(number / 2);\n } else if (number > 4) {\n containerWidth = number < 3 ? roomContainerElement!.offsetWidth / number : roomContainerElement!.offsetWidth / 3;\n containerHeight = roomContainerElement!.offsetHeight / Math.ceil(number / 3);\n }\n\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n // 九宫格模式需要减掉 streamRegion 的 margin 的尺寸\n streamStyle.value.width = `${width - 8}px`;\n streamStyle.value.height = `${height - 8}px`;\n}\n\n/**\n * Handle sidebar layout\n *\n * 处理侧边栏布局\n**/\nasync function handleRightSideListLayout() {\n streamContainerClass.value = 'stream-container-right';\n\n if (!enlargeStream.value) {\n [enlargeStream.value] = remoteStreamList.value;\n }\n\n await nextTick();\n\n streamStyle.value = {};\n\n if (enlargedContainerRef.value) {\n const containerWidth = enlargedContainerRef.value.offsetWidth;\n const containerHeight = enlargedContainerRef.value.offsetHeight;\n let width = 0;\n let height = 0;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n }\n}\n\n/**\n * Handle top bar layout\n *\n * 处理顶部栏布局\n**/\nasync function handleTopSideListLayout() {\n streamContainerClass.value = 'stream-container-top';\n\n if (!enlargeStream.value) {\n [enlargeStream.value] = remoteStreamList.value;\n }\n\n await nextTick();\n\n streamStyle.value = {};\n\n if (enlargedContainerRef.value) {\n const containerWidth = enlargedContainerRef.value.offsetWidth;\n const containerHeight = enlargedContainerRef.value.offsetHeight;\n let width = 0;\n let height = 0;\n const scaleWidth = containerWidth / 16;\n const scaleHeight = containerHeight / 9;\n if (scaleWidth > scaleHeight) {\n width = (containerHeight / 9) * 16;\n height = containerHeight;\n }\n if (scaleWidth <= scaleHeight) {\n width = containerWidth;\n height = (containerWidth / 16) * 9;\n }\n enlargedStreamStyle.value.width = `${width}px`;\n enlargedStreamStyle.value.height = `${height}px`;\n }\n}\n\n/**\n * Double-click to switch the stream to the zoom in section\n *\n * 双击切换流到放大区域\n**/\nfunction handleEnlargeStreamRegion(stream: StreamInfo) {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n basicStore.setLayout(LAYOUT.RIGHT_SIDE_LIST);\n }\n enlargeStream.value = stream;\n}\n\n/**\n * Handle the page layout when the page loads or the layout changes\n *\n * 页面加载或者 layout 改变时,处理页面布局\n**/\nasync function handleLayout() {\n switch (layout.value as any) {\n case LAYOUT.NINE_EQUAL_POINTS:\n await handleNineEqualPointsLayout();\n break;\n case LAYOUT.RIGHT_SIDE_LIST:\n showSideList.value = true;\n enlargedContainerRef.value.style.width = 'calc(100% - 260px)';\n enlargedContainerRef.value.style.height = '100%';\n await handleRightSideListLayout();\n await handleStreamContainerScroll();\n break;\n case LAYOUT.TOP_SIDE_LIST:\n showSideList.value = true;\n enlargedContainerRef.value.style.width = '100%';\n enlargedContainerRef.value.style.height = 'calc(100% - 175px)';\n await handleTopSideListLayout();\n await handleStreamContainerScroll();\n break;\n default:\n break;\n }\n}\n\n/**\n * Processing stream window size when page rescaling\n *\n * 页面 resize 时,处理流窗口尺寸\n**/\nasync function handleResize() {\n switch (layout.value as any) {\n case LAYOUT.NINE_EQUAL_POINTS:\n await handleNineEqualPointsLayout();\n break;\n case LAYOUT.RIGHT_SIDE_LIST:\n await handleRightSideListLayout();\n await handleStreamContainerScroll();\n break;\n case LAYOUT.TOP_SIDE_LIST:\n await handleTopSideListLayout();\n await handleStreamContainerScroll();\n break;\n default:\n break;\n }\n}\n\nonMounted(() => {\n handleLayout();\n ['resize', 'pageshow'].forEach((event) => {\n window.addEventListener(event, handleResize);\n });\n});\n\nonUnmounted(() => {\n ['resize', 'pageshow'].forEach((event) => {\n window.removeEventListener(event, handleResize);\n });\n});\n\nwatch(streamNumber, () => {\n if (layout.value === LAYOUT.NINE_EQUAL_POINTS) {\n handleNineEqualPointsLayout();\n }\n});\n\nwatch(layout, () => {\n handleLayout();\n});\n\nconst showIconControl = computed(() => [LAYOUT.RIGHT_SIDE_LIST, LAYOUT.TOP_SIDE_LIST].indexOf(layout.value) >= 0);\n\n\nconst onUserVideoStateChanged = (eventInfo: {\n userId: string,\n streamType: TUIVideoStreamType,\n hasVideo: boolean,\n reason: TUIChangeReason,\n}) => {\n const { userId, streamType, hasVideo, reason } = eventInfo;\n // 更新 roomStore 流状态数据\n roomStore.updateUserVideoState(userId, streamType, hasVideo);\n\n // 处理状态变更\n if (userId === basicStore.userId && !hasVideo && reason === TUIChangeReason.kChangedByAdmin) {\n // 主持人关闭摄像头\n if (streamType === TUIVideoStreamType.kCameraStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your camera'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n // When the moderator opens the whole staff forbidden to draw,\n // open and then close the single person's camera alone, at this time\n // the corresponding user's camera status for inoperable\n // 主持人开启全员禁画时,单独打开再关闭单人的摄像头,此时对应用户的摄像头状态为无法操作\n roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);\n }\n // 主持人关闭屏幕分享\n if (streamType === TUIVideoStreamType.kScreenStream) {\n ElMessage({\n type: 'warning',\n message: t('The host has turned off your screen sharing'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n }\n }\n\n // 当远端屏幕分享变化的时候,处理流布局\n if (userId !== basicStore.userId && streamType === TUIVideoStreamType.kScreenStream) {\n if (hasVideo) {\n roomStore.setHasOtherScreenShare(true);\n enlargeStream.value = roomStore.remoteStreamObj[`${userId}_${streamType}`] as StreamInfo;\n if (enlargeStream.value) {\n if (layout.value !== LAYOUT.RIGHT_SIDE_LIST && layout.value !== LAYOUT.TOP_SIDE_LIST) {\n basicStore.setLayout(LAYOUT.RIGHT_SIDE_LIST);\n }\n }\n } else {\n roomStore.setHasOtherScreenShare(false);\n /**\n * Reset the stream playback layout when the remote screen sharing stream is stopped\n *\n * 远端屏幕分享流停止的时候,重新设置流播放布局\n **/\n if (userId === enlargeStream.value?.userId) {\n handleLargeStreamLeave();\n }\n\n logger.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);\n roomEngine.instance?.stopPlayRemoteVideo({\n userId,\n streamType,\n });\n }\n }\n};\n\n// 麦位变化\nconst onSeatListChanged = (eventInfo:\n { seatList: TUISeatInfo[], seatedList: TUISeatInfo[], leftList: TUISeatInfo[] }) => {\n const { seatList, seatedList, leftList } = eventInfo;\n roomStore.updateOnSeatList(seatList, seatedList, leftList);\n const leftUserIdList = leftList.map(item => item.userId);\n // 最大屏用户下麦时,需要更换最大屏用户\n if (enlargeStream.value && leftUserIdList.includes(enlargeStream.value?.userId)) {\n handleLargeStreamLeave();\n }\n};\n\n// 远端用户离开\nconst onRemoteUserLeaveRoom = (eventInfo: { userInfo: TUIUserInfo }) => {\n const { userInfo: { userId } } = eventInfo;\n roomStore.removeRemoteUser(userId);\n if (userId === enlargeStream.value?.userId) {\n handleLargeStreamLeave();\n }\n};\n\n// 处理大窗口流离开\nconst handleLargeStreamLeave = () => {\n if (roomStore.remoteStreamList.length === 0) {\n basicStore.setLayout(LAYOUT.NINE_EQUAL_POINTS);\n enlargeStream.value = null;\n } else {\n [enlargeStream.value] = roomStore.remoteStreamList;\n }\n};\n\n// 处理侧边栏&顶部栏的视频懒加载\nconst handleStreamContainerScroll = async () => {\n const childDom = streamListRef.value.children[0];\n // 添加 nextTick 处理顶部栏模式下新增用户触发 scroll,但是拿到的 streamListRef.value.offsetWidth 还没有更新的问题\n await nextTick();\n\n // 从第几个\n let index = 0;\n let finalIndex = 0;\n // 可视区域有几个\n let number = 0;\n\n if (layout.value === LAYOUT.RIGHT_SIDE_LIST) {\n const firstChildHeight = childDom.offsetHeight + 10;\n const normalChildHeight = childDom.offsetHeight + 14;\n const streamListRefEnd = streamListRef.value.scrollTop + streamListRef.value.offsetHeight;\n index = Math.floor((streamListRef.value.scrollTop - firstChildHeight) / normalChildHeight) + 1;\n finalIndex = Math.ceil((streamListRefEnd - firstChildHeight) / normalChildHeight) + 1;\n } else if (layout.value === LAYOUT.TOP_SIDE_LIST) {\n const firstChildWidth = childDom.offsetWidth;\n const normalChildWidth = childDom.offsetWidth + 14;\n const streamListRefEnd = streamListRef.value.scrollLeft + streamListRef.value.offsetWidth;\n index = Math.floor((streamListRef.value.scrollLeft - firstChildWidth) / normalChildWidth) + 1;\n finalIndex = Math.ceil((streamListRefEnd - firstChildWidth) / normalChildWidth) + 1;\n }\n if (index < 0) {\n index = 0;\n }\n number = finalIndex - index;\n if (number > (showStreamList.value.length - index)) {\n number = showStreamList.value.length - index;\n }\n\n const streamUserIdList = [];\n [...new Array(number)].forEach(() => {\n const currentStreamId = `${showStreamList.value[index].userId}_${showStreamList.value[index].streamType}`;\n streamUserIdList.push(currentStreamId);\n index = index + 1;\n });\n streamUserIdList.push(enlargeDomId.value);\n\n // 修改对应的 streamInfo 的 isVisible 为 true\n roomStore.updateUserStreamVisible(streamUserIdList);\n};\n\nconst handleStreamContainerScrollDebounce = debounce(handleStreamContainerScroll, 300);\n\nonMounted(() => {\n streamListRef.value.addEventListener('scroll', handleStreamContainerScrollDebounce);\n});\n\nonUnmounted(() => {\n streamListRef.value && streamListRef.value.removeEventListener('scroll', handleStreamContainerScrollDebounce);\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.on(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);\n roomEngine.instance?.off(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSeatListChanged, onSeatListChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserVideoStateChanged, onUserVideoStateChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserAudioStateChanged, onUserAudioStateChanged);\n});\n\nreturn { __sfc: true,logPrefix, onRemoteUserEnterRoom, onUserAudioStateChanged, t, roomEngine, streamStyle, enlargedStreamStyle, roomStore, streamList, streamNumber, remoteStreamList, basicStore, layout, showSideList, enlargeStream, enlargeDomId, currentPageIndex, showStreamList, showTurnPageControl, showTurnPageLeftArrow, showTurnPageRightArrow, handleTurnPageLeft, handleTurnPageRight, streamContainerClass, enlargedContainerRef, streamListRef, arrowClass, handleClickIcon, handleNineEqualPointsLayout, handleRightSideListLayout, handleTopSideListLayout, handleEnlargeStreamRegion, handleLayout, handleResize, showIconControl, onUserVideoStateChanged, onSeatListChanged, onRemoteUserLeaveRoom, handleLargeStreamLeave, handleStreamContainerScroll, handleStreamContainerScrollDebounce, StreamRegion, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamContainerPC.vue?vue&type=template&id=35d1e596&scoped=true&\"\nimport script from \"./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamContainerPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamContainerPC.vue?vue&type=style&index=0&id=35d1e596&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35d1e596\",\n null\n \n)\n\nexport default component.exports","import StreamContainerH5 from './StreamContainerH5.vue';\nimport StreamContainerPc from './StreamContainerPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst StreamContainer = isMobile ? StreamContainerH5 : StreamContainerPc;\n\nexport default StreamContainer;\n","import { defineComponent as _defineComponent } from 'vue'\nimport StreamContainer from './StreamContainer';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n showRoomTool: { type: Boolean }\n },\n setup(__props: any) {\n\n\n\nreturn { __sfc: true,StreamContainer }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f3be1146&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=f3be1146&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f3be1146\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.showSettingDialog)?_c('div',{staticClass:\"setting-dialog\"},[_c('div',{staticClass:\"dialog-tabs\"},[_c('span',{staticClass:\"dialog-title\"},[_vm._v(_vm._s(_setup.t('Settings')))]),_vm._l((_setup.settingTabsTitleList),function(item,index){return _c('div',{key:index,class:['tabs-title', `${_setup.activeSettingTab === item.value ? 'active' : ''}`],on:{\"click\":function($event){return _setup.handleUpdateActiveTab(item.value)}}},[_vm._v(\" \"+_vm._s(item.label)+\" \")])})],2),_c('div',{staticClass:\"divide-line\"}),_c('div',{staticClass:\"dialog-content\"},[(_setup.activeSettingTab === 'audio')?_c(_setup.AudioSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL}}):_vm._e(),(_setup.activeSettingTab === 'video')?_c(_setup.VideoSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL,\"with-preview\":true}}):_vm._e()],1),_c(_setup.SvgIcon,{staticClass:\"close-icon\",attrs:{\"icon-name\":\"close\",\"size\":\"medium\"},on:{\"click\":_setup.handleCloseSettingDialog}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { SettingMode } from '../../constants/render';\nimport { useI18n } from '../../locales';\nimport { computed } from 'vue';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n setup(__props) {\n\n// import { ref } from 'vue';\nconst { t } = useI18n();\n\nconst basicStore = useBasicStore();\n\nconst { showSettingDialog, activeSettingTab } = storeToRefs(basicStore);\n\n/**\n * TODO: Refine the rest of the settings Tab\n *\n * TODO: 完善其余设置 Tab\n**/\nconst settingTabsTitleList = computed(() => [\n { label: t('Audio settings'), value: 'audio' },\n { label: t('Camera settings'), value: 'video' },\n // { label: '美颜和虚拟设置', value: 'beauty' },\n // { label: '统计功能', value: 'static' },\n // { label: '录制', value: 'record' },\n]);\n\nfunction handleUpdateActiveTab(tabTitle: string) {\n basicStore.setActiveSettingTab(tabTitle);\n}\n\nfunction handleCloseSettingDialog() {\n basicStore.setShowSettingDialog(false);\n}\n\n\nreturn { __sfc: true,t, basicStore, showSettingDialog, activeSettingTab, settingTabsTitleList, handleUpdateActiveTab, handleCloseSettingDialog, SvgIcon, AudioSettingTab, VideoSettingTab, SettingMode }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3d8c7752&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3d8c7752&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d8c7752\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { ElMessage, ElMessageBox } from './elementComp';\nimport { ref, onMounted, onUnmounted, Ref, watch } from 'vue';\nimport { storeToRefs } from 'pinia';\nimport RoomHeader from './components/RoomHeader/index';\nimport RoomFooter from './components/RoomFooter/index';\nimport RoomSidebar from './components/RoomSidebar';\nimport RoomContent from './components/RoomContent/index.vue';\nimport RoomSetting from './components/RoomSetting/index.vue';\nimport { debounce, throttle } from './utils/utils';\nimport { useBasicStore } from './stores/basic';\nimport { useRoomStore } from './stores/room';\nimport { useChatStore } from './stores/chat';\nimport { isMobile, isWeChat } from './utils/useMediaValue';\nimport './directives/vTap';\nimport TUIRoomEngine, {\n TRTCVideoMirrorType,\n TRTCVideoRotation,\n TRTCVideoFillMode,\n TUIRoomEvents,\n TUIRoomType,\n TRTCDeviceType,\n TRTCDeviceState,\n TUISpeechMode,\n TUIKickedOutOfRoomReason,\n TRTCVideoResolution,\n TRTCVideoEncParam,\n TUIRole,\n} from '@tencentcloud/tuiroom-engine-js';\n\n\nimport TUIRoomAegis from './utils/aegis';\nimport { MESSAGE_DURATION } from './constants/message';\nimport { useI18n } from './locales';\n\nimport useGetRoomEngine from './hooks/useRoomEngine';\nimport logger from './utils/common/logger';\n\ninterface RoomParam {\n\tisOpenCamera: boolean,\n\tisOpenMicrophone: boolean,\n\tdefaultCameraId: string,\n\tdefaultMicrophoneId: string,\n\tdefaultSpeakerId: string,\n}\n\ninterface RoomInitData {\n sdkAppId: number,\n userId: string,\n userSig: string,\n userName: string,\n avatarUrl: string,\n showHeaderTool: boolean,\n theme?: {\n defaultTheme: 'black' | 'white',\n isSupportSwitchTheme: boolean,\n },\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n emits: [\n 'on-log-out',\n 'on-create-room',\n 'on-enter-room',\n 'on-exit-room',\n 'on-destroy-room',\n // 用户被踢出房间\n 'on-kicked-out-of-room',\n // 用户被踢下线\n 'on-kicked-off-line',\n // 用户 userSig 过期\n 'on-userSig-expired',\n],\n setup(__props, { expose, emit }) {\n\nconst roomEngine = useGetRoomEngine();\nconst { t } = useI18n();\n\nexpose({\n init,\n createRoom,\n enterRoom,\n dismissRoom,\n leaveRoom,\n resetStore,\n t,\n});\n\n\n\nconst logPrefix = '[Room]';\n\nconst basicStore = useBasicStore();\nconst roomStore = useRoomStore();\nconst chatStore = useChatStore();\n\nconst { sdkAppId, showHeaderTool, } = storeToRefs(basicStore);\nconst { localUser } = storeToRefs(roomStore);\n\n/**\n * Handle page mouse hover display toolbar logic\n *\n * 处理页面鼠标悬浮显示工具栏逻辑\n**/\nconst roomContentRef = ref>();\nconst showRoomTool: Ref = ref(true);\nconst roomRef: Ref = ref();\nfunction handleHideRoomTool() {\n showRoomTool.value = false;\n}\n\nconst handleHideRoomToolDebounce = debounce(handleHideRoomTool, 5000);\nconst handleHideRoomToolThrottle = throttle(handleHideRoomToolDebounce, 1000);\n\nconst smallParam = new TRTCVideoEncParam();\nsmallParam.videoResolution = TRTCVideoResolution.TRTCVideoResolution_640_360;\nsmallParam.videoFps = 10;\nsmallParam.videoBitrate = 550;\n\n// PC 端处理 room 控制栏交互\nif (!isWeChat && !isMobile) {\n onMounted(() => {\n roomRef.value?.addEventListener('mouseenter', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n });\n roomRef.value?.addEventListener('click', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n }, false);\n roomRef.value?.addEventListener('mousemove', () => {\n showRoomTool.value = true;\n handleHideRoomToolThrottle();\n });\n roomRef.value?.addEventListener('mouseleave', () => {\n showRoomTool.value = false;\n });\n });\n onUnmounted(() => {\n roomRef.value?.removeEventListener('mouseenter', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n });\n roomRef.value?.removeEventListener('click', () => {\n showRoomTool.value = true;\n handleHideRoomToolDebounce();\n }, false);\n roomRef.value?.removeEventListener('mousemove', () => {\n showRoomTool.value = true;\n handleHideRoomToolThrottle();\n });\n roomRef.value?.removeEventListener('mouseleave', () => {\n showRoomTool.value = false;\n });\n });\n}\n\n// H5 及小程序端处理 room 控制栏交互\nfunction handleRoomContentTap() {\n showRoomTool.value = !showRoomTool.value;\n if (showRoomTool.value) {\n handleHideRoomToolDebounce();\n }\n}\n\nonMounted(async () => {\n const defaults = basicStore.defaultTheme;\n const storageCurrentTheme = localStorage.getItem('tuiRoom-currentTheme') || defaults;\n basicStore.setDefaultTheme(storageCurrentTheme);\n document.body.setAttribute('data-theme', storageCurrentTheme);\n if (isMobile) {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setLocalRenderParams({\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n});\n\n\nasync function dismissRoom() {\n try {\n logger.log(`${logPrefix}dismissRoom: enter`);\n await closeMediaBeforeLeave();\n await roomEngine.instance?.destroyRoom();\n emit('on-destroy-room');\n } catch (error) {\n logger.error(`${logPrefix}dismissRoom error:`, error);\n }\n}\n\nasync function leaveRoom() {\n try {\n await closeMediaBeforeLeave();\n const response = await roomEngine.instance?.exitRoom();\n emit('on-exit-room');\n logger.log(`${logPrefix}leaveRoom:`, response);\n } catch (error) {\n logger.error(`${logPrefix}leaveRoom error:`, error);\n }\n}\n\nasync function closeMediaBeforeLeave() {\n if (localUser.value.hasAudioStream) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n if (localUser.value.hasVideoStream) {\n await roomEngine.instance?.closeLocalCamera();\n }\n}\n\nasync function init(option: RoomInitData) {\n basicStore.setBasicInfo(option);\n roomStore.setLocalUser(option);\n const { sdkAppId, userId, userSig, userName, avatarUrl } = option;\n await TUIRoomEngine.login({ sdkAppId, userId, userSig });\n debugger\n await TUIRoomEngine.setSelfInfo({ userName, avatarUrl });\n}\n\nasync function createRoom(options: {\n roomId: string,\n roomName: string,\n roomMode: 'FreeToSpeak' | 'SpeakAfterTakingSeat',\n roomParam?: RoomParam,\n}) {\n const { roomId, roomName, roomMode, roomParam } = options;\n try {\n if (!roomEngine.instance) {\n return;\n }\n basicStore.setRoomId(roomId);\n logger.debug(`${logPrefix}createRoom:`, roomId, roomMode, roomParam);\n const roomParams = {\n roomId,\n name: roomName,\n roomType: TUIRoomType.kConference,\n };\n if (roomMode === 'FreeToSpeak') {\n Object.assign(roomParams, {\n speechMode: TUISpeechMode.kFreeToSpeak,\n });\n } else {\n Object.assign(roomParams, {\n speechMode: TUISpeechMode.kSpeakAfterTakingSeat,\n });\n }\n await roomEngine.instance?.createRoom(roomParams);\n emit('on-create-room', {\n code: 0,\n message: 'create room success',\n });\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud.setDefaultStreamRecvMode(true, false);\n trtcCloud.enableSmallVideoStream(true, smallParam);\n const roomInfo = await roomEngine.instance?.enterRoom({ roomId });\n emit('on-enter-room', {\n code: 0,\n message: 'enter room success',\n });\n roomStore.setRoomInfo(roomInfo);\n // 申请发言模式房主上麦\n if (roomInfo.speechMode === TUISpeechMode.kSpeakAfterTakingSeat) {\n await roomEngine.instance?.takeSeat({ seatIndex: -1, timeout: 0 });\n }\n\n await getUserList();\n /**\n * setRoomParam must come after setRoomInfo,because roomInfo contains information\n * about whether or not to turn on the no-mac ban.\n *\n * setRoomParam 必须在 setRoomInfo 之后,因为 roomInfo 中有是否开启全员禁麦禁画的信息\n **/\n roomStore.setRoomParam(roomParam);\n TUIRoomAegis.reportEvent({ name: 'createRoom', ext1: 'createRoom-success' });\n } catch (error) {\n logger.error(`${logPrefix}createRoom error:`, error);\n basicStore.reset();\n throw error;\n }\n}\n\nasync function enterRoom(options: {roomId: string, roomParam?: RoomParam }) {\n const { roomId, roomParam } = options;\n try {\n if (!roomEngine.instance) {\n return;\n }\n basicStore.setRoomId(roomId);\n logger.debug(`${logPrefix}enterRoom:`, roomId, roomParam);\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud.setDefaultStreamRecvMode(true, false);\n trtcCloud.enableSmallVideoStream(true, smallParam);\n const roomInfo = await roomEngine.instance?.enterRoom({ roomId });\n roomStore.setRoomInfo(roomInfo);\n await getUserList();\n /**\n * setRoomParam must come after setRoomInfo,because roomInfo contains information\n * about whether or not to turn on the no-mac ban.\n *\n * setRoomParam 必须在 setRoomInfo 之后,因为 roomInfo 中有是否开启全员禁麦禁画的信息\n **/\n roomStore.setRoomParam(roomParam);\n emit('on-enter-room', {\n code: 0,\n message: 'enter room success',\n });\n TUIRoomAegis.reportEvent({ name: 'enterRoom', ext1: 'enterRoom-success' });\n } catch (error) {\n logger.error(`${logPrefix}enterRoom error:`, error);\n basicStore.reset();\n throw error;\n }\n}\n\nasync function getUserList() {\n try {\n const { userInfoList } = await roomEngine.instance?.getUserList() as any;\n roomStore.setUserList(userInfoList);\n } catch (error: any) {\n logger.error('TUIRoomEngine.getUserList', error.code, error.message);\n }\n}\n\nconst onUserVoiceVolumeChanged = (eventInfo: { userVolumeList: []}) => {\n const { userVolumeList } = eventInfo;\n roomStore.setAudioVolume(userVolumeList);\n};\n\nconst onUserNetworkQualityChanged = (eventInfo: { userNetworkList: [] }) => {\n basicStore.setLocalQuality(eventInfo.userNetworkList);\n};\n\n// To do 临时注释,待放开\n// const onStatistics = (statistics: TRTCStatistics) => {\n// basicStore.setStatistics(statistics);\n// };\n\nfunction resetStore() {\n basicStore.reset();\n chatStore.reset();\n roomStore.reset();\n}\n\nconst logOut = () => {\n resetStore();\n emit('on-log-out');\n};\n\nconst onDestroyRoom = (info: { code: number; message: string }) => {\n resetStore();\n emit('on-destroy-room', info);\n};\n\nconst onExitRoom = (info: { code: number; message: string }) => {\n resetStore();\n emit('on-exit-room', info);\n};\n\nconst onError = (error: any) => {\n logger.error('roomEngine.onError: ', error);\n};\n\nconst onSendMessageForUserDisableChanged = (data: { userId: string, isDisable: boolean }) => {\n const { userId, isDisable } = data;\n if (userId === localUser.value.userId) {\n const tipMessage = isDisable ? t('You have been banned from text chat by the host') : t('You are allowed to text chat by the host');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n chatStore.setSendMessageDisableChanged(isDisable);\n }\n};\n\nconst onKickedOutOfRoom = async (eventInfo: { roomId: string, reason: TUIKickedOutOfRoomReason, message: string }) => {\n const { roomId, reason, message } = eventInfo;\n try {\n resetStore();\n let notice = '';\n switch (reason) {\n case TUIKickedOutOfRoomReason.kKickedByAdmin:\n notice = t('kicked out of the room by the host');\n break;\n case TUIKickedOutOfRoomReason.kKickedByLoggedOnOtherDevice:\n notice = t('kicked out of the room by other device');\n break;\n case TUIKickedOutOfRoomReason.kKickedByServer:\n notice = t('kicked out of the room by serve');\n break;\n }\n ElMessageBox.alert(notice, t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-kicked-out-of-room', { roomId, reason, message });\n },\n });\n } catch (error) {\n logger.error(`${logPrefix}onKickedOutOfRoom error:`, error);\n }\n};\n\nconst onUserSigExpired = () => {\n ElMessageBox.alert('userSig 已过期', t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-userSig-expired');\n },\n });\n};\n\nconst onKickedOffLine = (eventInfo: { message: string }) => {\n const { message } = eventInfo;\n ElMessageBox.alert('系统检测到您的账号被踢下线', t('Note'), {\n confirmButtonText: t('Confirm'),\n customClass: 'custom-element-class',\n appendTo: '#roomContainer',\n callback: async () => {\n emit('on-kicked-off-line', { message });\n },\n });\n};\n\n// todo: 处理禁言所有人和禁画所有人\nasync function handleAudioStateChange(isDisableAudio: boolean) {\n const tipMessage = isDisableAudio ? t('The host has muted all') : t('The host has unmuted all');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * If the host lifts the full ban and does not actively turn up the user microphone\n *\n * 如果主持人解除全员禁言,不主动调起用户麦克风\n **/\n if (isDisableAudio) {\n await roomEngine.instance?.closeLocalMicrophone();\n }\n}\n\nasync function handleVideoStateChange(isDisableVideo: boolean) {\n const tipMessage = isDisableVideo ? t('The host has turned on the ban on all paintings') : t('The host has lifted the ban on all paintings');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n /**\n * If the host lifts the full ban on drawing and does not actively turn up the user camera\n *\n * 如果主持人解除全员禁画,不主动调起用户摄像头\n **/\n if (isDisableVideo) {\n await roomEngine.instance?.closeLocalCamera();\n }\n}\n\nasync function handleMessageStateChange(isDisableMessage: boolean) {\n const tipMessage = isDisableMessage ? t('The host has turned on the ban on all chat') : t('The host has lifted the ban on all chat');\n ElMessage({\n type: 'warning',\n message: tipMessage,\n duration: MESSAGE_DURATION.NORMAL,\n });\n}\n\nconst onAllUserCameraDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean }) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isCameraDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleVideoStateChange(isDisable);\n roomStore.setCanControlSelfVideo(!isDisable);\n }\n roomStore.setDisableCameraForAllUserByAdmin(isDisable);\n};\n\nconst onAllUserMicrophoneDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean }) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isMicrophoneDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleAudioStateChange(isDisable);\n roomStore.setCanControlSelfAudio(!isDisable);\n }\n roomStore.setDisableMicrophoneForAllUserByAdmin(isDisable);\n};\n\nconst onSendMessageForAllUserDisableChanged = async (eventInfo: { roomId: string, isDisable: boolean}) => {\n const { isDisable } = eventInfo;\n if (isDisable !== roomStore.isMessageDisableForAllUser && localUser.value.userRole === TUIRole.kGeneralUser) {\n handleMessageStateChange(isDisable);\n }\n roomStore.setDisableMessageAllUserByAdmin(isDisable);\n};\n// 初始化获取设备列表\nasync function getMediaDeviceList() {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n cameraList && roomStore.setCameraList(cameraList);\n microphoneList && roomStore.setMicrophoneList(microphoneList);\n speakerList && roomStore.setSpeakerList(speakerList);\n\n const cameraInfo = roomEngine.instance?.getCurrentCameraDevice();\n const micInfo = roomEngine.instance?.getCurrentMicDevice();\n const speakerInfo = roomEngine.instance?.getCurrentSpeakerDevice();\n if (cameraInfo && cameraInfo.deviceId) {\n roomStore.setCurrentCameraId(cameraInfo.deviceId);\n }\n if (micInfo && micInfo.deviceId) {\n roomStore.setCurrentMicrophoneId(micInfo.deviceId);\n }\n if (speakerInfo && speakerInfo.deviceId) {\n roomStore.setCurrentSpeakerId(speakerInfo.deviceId);\n }\n}\n\n/**\n * Device changes: device switching, device plugging and unplugging events\n *\n * 设备变化:设备切换、设备插拔事件\n**/\nasync function onDeviceChange(eventInfo: {deviceId: string, type: number, state: number}) {\n const stateList = ['add', 'remove', 'active'];\n const { deviceId, type, state } = eventInfo;\n if (type === TRTCDeviceType.TRTCDeviceTypeMic) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: microphone, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getMicDevicesList();\n deviceList && roomStore.setMicrophoneList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentMicrophoneId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeSpeaker) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: speaker, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getSpeakerDevicesList();\n deviceList && roomStore.setSpeakerList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentSpeakerId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeCamera) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: camera, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getCameraDevicesList();\n deviceList && roomStore.setCameraList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentCameraId(deviceId);\n }\n }\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.on(TUIRoomEvents.onError, onError);\n roomEngine.instance?.on(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserNetworkQualityChanged, onUserNetworkQualityChanged);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOutOfRoom, onKickedOutOfRoom);\n roomEngine.instance?.on(TUIRoomEvents.onSendMessageForUserDisableChanged, onSendMessageForUserDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onUserSigExpired, onUserSigExpired);\n roomEngine.instance?.on(TUIRoomEvents.onKickedOffLine, onKickedOffLine);\n roomEngine.instance?.on(TUIRoomEvents.onAllUserCameraDisableChanged, onAllUserCameraDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onAllUserMicrophoneDisableChanged, onAllUserMicrophoneDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onSendMessageForAllUserDisableChanged, onSendMessageForAllUserDisableChanged);\n roomEngine.instance?.on(TUIRoomEvents.onDeviceChange, onDeviceChange);\n getMediaDeviceList();\n});\n\nonUnmounted(() => {\n roomEngine.instance?.off(TUIRoomEvents.onError, onError);\n roomEngine.instance?.off(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserNetworkQualityChanged, onUserNetworkQualityChanged);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOutOfRoom, onKickedOutOfRoom);\n roomEngine.instance?.off(TUIRoomEvents.onSendMessageForUserDisableChanged, onSendMessageForUserDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onUserSigExpired, onUserSigExpired);\n roomEngine.instance?.off(TUIRoomEvents.onKickedOffLine, onKickedOffLine);\n roomEngine.instance?.off(TUIRoomEvents.onAllUserCameraDisableChanged, onAllUserCameraDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onAllUserMicrophoneDisableChanged, onAllUserMicrophoneDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onSendMessageForAllUserDisableChanged, onSendMessageForAllUserDisableChanged);\n roomEngine.instance?.off(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\nwatch(sdkAppId, (val: number) => {\n if (val) {\n TUIRoomAegis.setSdkAppId(val);\n TUIRoomAegis.reportEvent({\n name: 'loaded',\n ext1: 'loaded-success',\n });\n }\n});\n\nreturn { __sfc: true,roomEngine, t, emit, logPrefix, basicStore, roomStore, chatStore, sdkAppId, showHeaderTool, localUser, roomContentRef, showRoomTool, roomRef, handleHideRoomTool, handleHideRoomToolDebounce, handleHideRoomToolThrottle, smallParam, handleRoomContentTap, dismissRoom, leaveRoom, closeMediaBeforeLeave, init, createRoom, enterRoom, getUserList, onUserVoiceVolumeChanged, onUserNetworkQualityChanged, resetStore, logOut, onDestroyRoom, onExitRoom, onError, onSendMessageForUserDisableChanged, onKickedOutOfRoom, onUserSigExpired, onKickedOffLine, handleAudioStateChange, handleVideoStateChange, handleMessageStateChange, onAllUserCameraDisableChanged, onAllUserMicrophoneDisableChanged, onSendMessageForAllUserDisableChanged, getMediaDeviceList, onDeviceChange, RoomHeader, RoomFooter, RoomSidebar, RoomContent, RoomSetting }\n}\n\n})","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./index.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7c957b1c&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7c957b1c&prod&lang=css&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=7c957b1c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c957b1c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./room.vue?vue&type=template&id=3a3b6b73&\"\nimport script from \"./room.vue?vue&type=script&lang=js&\"\nexport * from \"./room.vue?vue&type=script&lang=js&\"\nimport style0 from \"./room.vue?vue&type=style&index=0&id=3a3b6b73&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","ref","on","handleLogOut","onCreateRoom","onEnterRoom","onExitRoom","onDestroyRoom","onKickedOutOfRoom","onKickedOffLine","onUserSigExpired","staticRenderFns","_setup","_setupProxy","staticClass","attrs","RoomHeader","directives","name","rawName","value","showRoomTool","showHeaderTool","expression","logOut","RoomContent","handleRoomContentTap","RoomFooter","RoomSidebar","RoomSetting","SwitchCamera","SwitchMirror","RoomInfo","EndControl","stopMeeting","_v","_s","t","visible","class","isShowLeaveRoomDialog","currentDialogType","DialogType","BasicDialog","roomStore","isMaster","_e","$event","stopPropagation","dismissRoom","apply","arguments","leaveRoom","cancel","TransferDialog","popup","showSideBar","scopedSlots","_u","key","fn","staticStyle","searchName","domProps","target","composing","_l","filteredList","user","userId","handleShowMemberControl","Avatar","avatarUrl","userName","selectedUser","SvgIcon","hasNoData","proxy","transferAndLeave","useEndControl","useI18n","logPrefix","roomEngine","useGetRoomEngine","basicStore","useBasicStore","logger","useRoomStore","localUser","remoteAnchorList","storeToRefs","title","computed","length","isSidebarOpen","sidebarName","showTransfer","filter","searchUser","includes","toggleMangeMemberSidebar","setSidebarOpenStatus","setSidebarName","resetState","async","closeMediaBeforeLeave","hasAudioStream","instance","closeLocalMicrophone","hasVideoStream","closeLocalCamera","handleClose","_t","_defineComponent","__name","props","setup","__props","__sfc","component","emits","emit","destroyRoom","code","message","error","response","exitRoom","changeUserRoleResponse","changeUserRole","userRole","TUIRole","exitRoomResponse","onRoomDismissed","roomId","eventInfo","ElMessageBox","customClass","confirmButtonText","appendTo","callback","onUserRoleChanged","newName","getUserName","tipMessage","ElMessage","type","setLocalUser","setRemoteUserRole","setMasterUserId","isAnchor","isSpeakAfterTakingSeatMode","takeSeat","seatIndex","timeout","TUIRoomEngine","TUIRoomEvents","onUnmounted","off","Dialog","model","$$v","isMobile","EndControlH5","EndControlPC","handleSwitchCamera","backgroundSize","isFrontCamera","switchCamera","setIsFrontCamera","toogleMirrorStatus","trtcCloud","getTRTCCloud","setLocalRenderParams","mirrorType","isLocalStreamMirror","TRTCVideoMirrorType","rotation","TRTCVideoRotation","fillMode","TRTCVideoFillMode","setIsLocalStreamMirror","isShowRoomInfoTitle","toggleShowRoomInfoStatus","conferenceTitle","isShowRoomInfo","handleHiddenRoomInfo","masterUserName","roomType","onCopy","isWeChat","inviteLink","masterUserId","roomInfoRef","isFreeSpeakMode","origin","pathname","location","clipBoard","handleDocumentClick","event","contains","onMounted","document","addEventListener","removeEventListener","IS_LOCAL","protocol","hostname","IS_OFFICIAL_DEMO","host","isUploadLoaded","isUploadDetailEvent","aegisId","projectName","aegis","script","createElement","src","getElementsByTagName","appendChild","onload","Aegis","id","uin","reportApiSpeed","reportAssetSpeed","spa","roomAegis","storedReportEventList","forEach","data","reportEvent","TUIRoomAegis","setSdkAppId","sdkAppId","eventName","ext1","eventDesc","uploadData","ext2","ext3","hasUploadedEventList","indexOf","push","info","UserInfo","showHeaderInfo","$emit","Language","SwitchTheme","LayoutControl","streamNumber","handleClickLayoutIcon","showLayoutList","layout","LAYOUT","NINE_EQUAL_POINTS","handleClick","Array","fill","item","index","RIGHT_SIDE_LIST","TOP_SIDE_LIST","layoutList","setLayout","Boolean","default","indexH5","indexPC","AudioControl","handleControlClick","VideoControl","ApplyControl","ChatControl","ManageMemberControl","MoreControl","IconButton","localStream","hasMore","showAudioSettingTab","isLocalAudioIconDisable","toggleMuteAudio","handleMore","AudioIcon","audioVolume","AudioSettingTab","showRequestOpenMicDialog","handleReject","handleAccept","useRoomEngine","isAudience","isMicrophoneDisableForAllUser","audioIconButtonRef","audioSettingRef","warningMessage","WARNING_MESSAGE","duration","MESSAGE_DURATION","setCanControlSelfAudio","microphoneList","getMicDevicesList","hasMicrophoneDevice","openLocalMicrophone","$el","requestOpenMicRequestId","onRequestReceived","requestAction","requestId","request","TUIRequestAction","responseRemoteRequest","agree","onRequestCancelled","iconName","isLocalVideoIconDisable","toggleMuteVideo","VideoSettingTab","showVideoSettingTab","showRequestOpenCameraDialog","isCameraDisableForAllUser","videoIconButtonRef","videoSettingRef","ICON_NAME","setCanControlSelfVideo","cameraList","getCameraDevicesList","hasCameraDevice","setLocalVideoView","view","streamType","TUIVideoStreamType","openLocalCamera","requestOpenCameraRequestId","chatStore","unReadCount","toggleChatSidebar","useChatStore","defineStore","state","messageList","isMessageDisableByAdmin","isCompleted","nextReqMessageId","getters","actions","updateMessageList","messageIds","map","ID","concat","setMessageListInfo","updateUnReadCount","count","addHistoryMessages","filteredMessageList","sort","messageA","messageB","sequence","setSendMessageDisableChanged","isDisable","reset","MasterApplyControl","MemberApplyControl","ApplyOnSeat","toggleApplySpeech","hasApplyToAnchorUser","showApplyUserList","applyToAnchorList","hideApplyList","handleUserApply","denyAllUserApply","addApplyToAnchorUser","removeApplyToAnchorUser","applyUserId","userInfo","remoteUserObj","applyToAnchorRequestId","agreeUserOnStage","denyUserOnStage","applyUserList","inviteUserOnStage","takeUserOnSeatByAdmin","requestCallback","callbackInfo","requestCallbackType","TUIRequestCallbackType","removeInviteToAnchorUser","addInviteToAnchorUser","cancelInviteUserOnStage","inviteToAnchorRequestId","cancelRequest","kickUserOffStage","kickUserOffSeatByAdmin","onBeforeUnmount","useMasterApplyControl","masterApplyControlRef","masterApplyListRef","setShowApplyUserList","iconTitle","showMemberApplyAttention","hideApplyAttention","showInviteDialog","handleInvite","lang","isApplyingOnSeat","onSeat","leaveSeat","cancelSeatApplication","sendSeatApplication","onKickedOffSeat","watch","immediate","deep","More","showMore","showMoreContent","ContactControl","InviteControl","useControl","toggleInviteSidebar","isShowInviteTab","roomInvite","handleCloseInvite","visibleInviteContentList","content","copyLink","useRoomInvite","shareLink","isRoomLinkVisible","isElectron","isElectronEnv","urlConcatenation","schemeLink","inviteContentList","reactive","useRoomInviteControl","Index","inviteRef","toggleContactSidebar","isShowContactTab","roomContact","handleOnCloseContact","handleCloseContact","contactContentList","useRoomMoreHooks","groupNumber","email","useRoomMoreControl","contactRef","all","Map","handler","handlers","get","set","splice","evt","slice","bus","mitt","moreContentRef","userMoreControl","toggleMoreSidebar","MoreControlH5","MoreControlPc","useRoomFooter","ScreenShareControl","FullScreenControl","SettingControl","isSharing","screenShareDisabled","toggleScreenShare","showStopShareRegion","openStopConfirmDialog","ScreenShareStopped","dialogVisible","cancelStop","stopScreenShare","hasOtherScreenShare","btnStopRef","startScreenSharing","stopScreenSharing","screenCaptureStopped","val","oldVal","isFullScreen","toggleScreen","exitFullScreen","isVue27","roomContainer","body","setFullScreen","getElementById","handleFullScreenChange","window","showSettingDialog","handleShowSettingDialog","setShowSettingDialog","indexPc","Chat","ManageMember","ChatEditor","MessageList","refInFor","flow","nick","from","MessageText","payload","text","handleTextMessageShowContext","emojiUrl","emojiMap","emojiList","decodeMessageText","renderDom","temp","left","right","emojiKey","substring","useMessageList","historyMessageList","messageAimId","messageBottomEl","loadMore","isScrollNotAtBottom","isScrollToTop","handleMessageListScroll","e","messageContainer","bottom","scrollHeight","scrollTop","clientHeight","handleGetHistoryMessageList","tim","getTIM","imResponse","getMessageList","conversationID","nextReqMessageID","middleReqMessageId","currentMessageList","result","getIMMessageList","conversationData","newMessageList","oldMessageList","nextTick","lastMessage","oldLastMessage","scrollIntoView","onReceiveTextMessage","messageId","Math","random","filterCurrentMessageList","cannotSendMessage","emoji","handleChooseEmoji","sendMsg","_k","keyCode","sendMessage","togglePopover","childrenItem","childrenIndex","chooseEmoji","emojiListRef","itemName","emojiInfo","closePopover","useChatEditor","isMessageDisableForAllUser","editorInputEle","isEmojiToolbarVisible","msg","replace","sendTextMessage","messageText","toString","emojiName","focus","ChatEditorH5","ChatEditorPC","userNumber","userList","MemberItem","toggleManageMember","ManageControlType","AUDIO","audioManageInfo","VIDEO","videoManageInfo","showManageAllUserDialog","doToggleManageMember","dialogActionInfo","dialogTitleInfo","handleMemberItemClick","el","setMemberItemRef","MemberInfo","setMemberInfoRef","showMemberControl","MemberControl","setMemberControlRef","handleCloseControl","isMe","showStateIcon","MicOn","MicOff","CameraOn","CameraOff","isUserApplyingToAnchor","MicOffDisabled","CameraOffDisabled","defaultAvatar","modifiers","controlList","func","isFreeSpeechMode","isSpeakAfterTakingSeat","requestStageTitle","isInvitingUserToAnchor","toggleInviteUserOnStage","toggleInviteStage","makeOffStage","agreeOnStage","denyOnStage","audioControlTitle","isRequestingUserOpenMic","audioControl","muteUserAudio","videoControlTitle","isRequestingUserOpenCamera","videoControl","muteUserVideo","chatControlTitle","isChatMutedByMaster","forbidChat","disableUserChat","kickUser","kickOffUser","controlRelationObj","freeSpeech","applySpeechAndAnchor","applySpeechAndIsApplyingToAnchor","applySpeechAndAudience","closeRemoteDeviceByAdmin","device","TUIMediaDevice","requestUserOpenMicRequestId","setRequestUserOpenMic","isRequesting","openRemoteDeviceByAdmin","requestUserOpenCameraRequestId","setRequestUserOpenCamera","currentState","setMuteUserChat","disableSendingMessageByAdmin","kickRemoteUserOutOfRoom","singleControl","handlePopUp","toggleClickMoreBtn","ArrowBorderDown","showMoreControl","dropdownClass","handleMouseLeave","dropdown","dropdownRectBottom","getBoundingClientRect","roomContainerHeight","offsetHeight","control","list","unshift","MemberControlH5","MemberControlPC","useMemberItem","handleMouseEnter","memberItemEl","memberInfoEl","MemberControlEl","useIndex","currentControlType","toggleAllAudio","toggleAllVideo","showApplyUserLit","microphoneDisableState","disableDeviceForAllUserByAdmin","setMicrophoneDisableState","cameraDisableState","setCameraDisableState","useSideBar","sidebarTitle","done","Drawer","RoomInvite","RoomMore","StreamContainer","handleTouchStart","handleTouchEnd","streamContainerClass","LARGE_SMALL_WINDOW","enlargeStream","StreamRegion","onlyVideoStreamList","isFirstPageInSixPointLayout","stream","showStreamList","enlargeDomId","totalPageNumber","isActiveDot","playRegionDomId","showVoiceBorder","hasScreenStream","showMasterIcon","isScreenStream","streamRegionRef","isInnerScene","userIdEl","setRemoteVideoView","startPlayRemoteVideo","setRemoteRenderParams","TRTCVideoStreamType","loading","changeLargeStream","centerUserInfoRef","streamTypeToFetch","kScreenStream","kCameraStream","defaultStreamType","localUserId","stopPlayRemoteVideo","isVisible","oldHasVideoStream","oldIsVisible","oldHasScreenStream","StreamRegionH5","StreamRegionPc","useStreamContainer","onRemoteUserEnterRoom","addRemoteUser","onRemoteUserLeaveRoom","removeRemoteUser","onSeatListChanged","seatList","seatedList","leftList","updateOnSeatList","onUserAudioStateChanged","hasAudio","reason","updateUserAudioState","TUIChangeReason","isDefaultOpenCamera","isDefaultOpenMicrophone","previewDom","currentCameraId","setCurrentCameraId","deviceId","setCurrentCameraDevice","speakerList","getSpeakerDevicesList","currentMicrophoneId","setCurrentMicrophoneId","currentSpeakerId","setCurrentSpeakerId","setCurrentMicDevice","streamContainerRef","streamList","remoteStreamObj","currentSpeakerUserId","startX","startY","currentPageIndex","equalPointIndex","ceil","totalPageOfVideoStream","handleTurnPageLeft","handleTurnPageRight","enlargedContainerRef","streamListRef","containerClass","changedTouches","pageX","pageY","moveDirectionX","moveDirectionY","abs","onUserVideoStateChanged","hasVideo","updateUserVideoState","handleLargestVoice","userVolumeList","lastSpeakerUserVolumeInfo","find","volume","largestVolume","largestUserId","handleLargestVoiceThrottle","throttle","onUserVoiceVolumeChanged","showIconControl","style","enlargedStreamStyle","showSideList","streamStyle","handleEnlargeStreamRegion","arrowClass","handleClickIcon","showTurnPageControl","showTurnPageLeftArrow","showTurnPageRightArrow","width","height","remoteStreamList","handleStreamContainerScroll","streamIdList","currentStreamId","updateUserStreamVisible","handleNineEqualPointsLayout","arrowDirection","handleRightSideListLayout","handleTopSideListLayout","top","containerWidth","offsetWidth","containerHeight","scaleWidth","scaleHeight","number","roomContainerElement","handleLayout","handleResize","setHasOtherScreenShare","handleLargeStreamLeave","leftUserIdList","childDom","children","finalIndex","firstChildHeight","normalChildHeight","streamListRefEnd","floor","firstChildWidth","normalChildWidth","scrollLeft","streamUserIdList","handleStreamContainerScrollDebounce","debounce","StreamContainerH5","StreamContainerPc","settingTabsTitleList","activeSettingTab","handleUpdateActiveTab","label","SettingMode","DETAIL","handleCloseSettingDialog","tabTitle","setActiveSettingTab","expose","init","createRoom","enterRoom","resetStore","roomContentRef","roomRef","handleHideRoomTool","handleHideRoomToolDebounce","handleHideRoomToolThrottle","smallParam","TRTCVideoEncParam","option","setBasicInfo","userSig","options","roomName","roomMode","roomParam","setRoomId","roomParams","TUIRoomType","Object","assign","speechMode","TUISpeechMode","setDefaultStreamRecvMode","enableSmallVideoStream","roomInfo","setRoomInfo","getUserList","setRoomParam","userInfoList","setUserList","videoResolution","TRTCVideoResolution","videoFps","videoBitrate","defaults","defaultTheme","storageCurrentTheme","localStorage","getItem","setDefaultTheme","setAttribute","setAudioVolume","onUserNetworkQualityChanged","setLocalQuality","userNetworkList","onError","onSendMessageForUserDisableChanged","notice","TUIKickedOutOfRoomReason","handleAudioStateChange","isDisableAudio","handleVideoStateChange","isDisableVideo","handleMessageStateChange","isDisableMessage","onAllUserCameraDisableChanged","setDisableCameraForAllUserByAdmin","onAllUserMicrophoneDisableChanged","setDisableMicrophoneForAllUserByAdmin","onSendMessageForAllUserDisableChanged","setDisableMessageAllUserByAdmin","getMediaDeviceList","setCameraList","setMicrophoneList","setSpeakerList","cameraInfo","getCurrentCameraDevice","micInfo","getCurrentMicDevice","speakerInfo","getCurrentSpeakerDevice","onDeviceChange","stateList","TRTCDeviceType","deviceList","TRTCDeviceState","TUIRoomRef","router","to","next","components","RoomContainer","console","path","query","action","MessageBox","sessionStorage","methods","alert"],"sourceRoot":""} \ No newline at end of file diff --git a/Miniapp-H5/dist/js/app.334c9e2d.js b/Miniapp-H5/dist/js/app.b70fbb81.js similarity index 99% rename from Miniapp-H5/dist/js/app.334c9e2d.js rename to Miniapp-H5/dist/js/app.b70fbb81.js index b933e70..5c625ec 100644 --- a/Miniapp-H5/dist/js/app.334c9e2d.js +++ b/Miniapp-H5/dist/js/app.b70fbb81.js @@ -1,2 +1,2 @@ -(function(){var e={1342:function(e,t,r){"use strict";r.d(t,{Z:function(){return d}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{class:["audio-icon-container",`${"small"==e.size&&"small"}`]},[t("div",{staticClass:"audio-level"},e._l(new Array(5).fill(""),(function(e,n){return t("div",{key:n,staticClass:"audio-level-item",class:["audio-level-item",`${r.showAudioLevel>n&&"active"}`]})})),0),t(r.SvgIcon,{staticClass:"audio-icon",attrs:{"icon-name":r.iconName}})],1)},i=[],o=r(6369),a=r(6316),s=r(6671),l=(0,o.defineComponent)({__name:"AudioIcon",props:{audioVolume:null,isMuted:{type:Boolean},size:null,isDisabled:{type:Boolean}},setup(e){const t=e,r=(0,o.computed)((()=>t.isDisabled?s.Z.MicOffDisabled:t.isMuted?s.Z.MicOff:s.Z.MicOn)),n=(0,o.computed)((()=>t.isMuted||!t.audioVolume?0:4*t.audioVolume/100*5));return{__sfc:!0,props:t,iconName:r,showAudioLevel:n,SvgIcon:a.Z}}}),c=l,u=r(3736),h=(0,u.Z)(c,n,i,!1,null,"5bc7b022",null),d=h.exports},3929:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"audio-setting-tab"},[t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Mic")))]),t("div",{staticClass:"flex"},[t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"microphone"}}),r.isDetailMode?t("div",{staticClass:"button",on:{click:r.handleMicrophoneTest}},[e._v(" "+e._s(r.isTestingMicrophone?r.t("Stop"):r.t("Test"))+" ")]):e._e()],1)]),t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Output")))]),t("div",{staticClass:"mic-bar-container"},e._l(new Array(r.volumeTotalNum).fill(""),(function(e,n){return t("div",{key:n,class:["mic-bar",""+(r.showVolume&&r.volumeNum>n?"active":"")]})})),0)])]),r.speakerList.length>0?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Speaker")))]),t("div",{staticClass:"flex"},[t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"speaker",disabled:e.mode===r.SettingMode.DETAIL}}),r.isDetailMode?t("div",{staticClass:"button",on:{click:r.handleSpeakerTest}},[e._v(" "+e._s(r.isTestingSpeaker?r.t("Stop"):r.t("Test"))+" ")]):e._e()],1)])]):e._e()])},i=[],o=r(6369),a=r(8754),s=r(4990),l=r(3927),c=r(7357),u=r(1020),h=(0,o.defineComponent)({__name:"AudioSettingTab",props:{mode:null},setup(e){const t=e,r=t.mode||l.n.SIMPLE,n=(0,o.computed)((()=>r===l.n.SIMPLE)),i=(0,o.computed)((()=>r===l.n.DETAIL)),h=(0,s.A)(),{speakerList:d}=(0,u.Jk)(h),f=(0,o.computed)((()=>i.value?36:28)),p=(0,o.computed)((()=>(h.localStream.audioVolume||0)*f.value/100)),m=(0,o.computed)((()=>n.value||i.value&&v.value)),v=(0,o.ref)(!1);function g(){v.value=!v.value}const _=(0,o.ref)(!1),w=document?.createElement("audio"),{t:b}=(0,c.Q)();function y(){_.value?(w&&(w.pause(),w.currentTime=0),_.value=!1):(_.value=!0,w&&(w.src="https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3",w.play()))}return(0,o.onBeforeUnmount)((()=>{w&&w.pause()})),{__sfc:!0,props:t,settingMode:r,isSampleMode:n,isDetailMode:i,roomStore:h,speakerList:d,volumeTotalNum:f,volumeNum:p,showVolume:m,isTestingMicrophone:v,handleMicrophoneTest:g,isTestingSpeaker:_,audioPlayer:w,t:b,handleSpeakerTest:y,DeviceSelect:a.Z,SettingMode:l.n}}}),d=h,f=r(3736),p=(0,f.Z)(d,n,i,!1,null,"ce40fa86",null),m=p.exports},9225:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("img",{staticClass:"default-avatar",attrs:{src:e.imgSrc||r.defaultAvatar,onerror:r.showDefaultAvatar}})},i=[],o=r(6369),a=r(7717),s=(0,o.defineComponent)({__name:"Avatar",props:{imgSrc:null},setup(e){function t(e){e.target.src=a}return{__sfc:!0,showDefaultAvatar:t,defaultAvatar:a}}}),l=s,c=r(3736),u=(0,c.Z)(l,n,i,!1,null,null,null),h=u.exports},8754:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-select",{staticClass:"select custom-element-class",attrs:{placeholder:"placeholder",disabled:e.disabled,teleported:!1,"popper-append-to-body":!1},on:{change:r.handleChange},model:{value:r.currentDeviceId,callback:function(e){r.currentDeviceId=e},expression:"currentDeviceId"}},e._l(r.deviceList,(function(e){return t("el-option",{key:e.deviceId,attrs:{label:e.deviceName,value:e.deviceId}})})),1)},i=[],o=r(6369),a=r(4990),s=r(1020),l=r(3681),c=(0,o.defineComponent)({__name:"DeviceSelect",props:{deviceType:null,onChange:null,disabled:null},setup(e){const{deviceType:t,onChange:r,disabled:n=!1}=e,i=(0,l.Z)(),c=(0,a.A)(),{cameraList:u,microphoneList:h,speakerList:d,currentCameraId:f,currentMicrophoneId:p,currentSpeakerId:m}=(0,s.Jk)(c),v=(0,o.ref)(w()),g=(0,o.ref)(_());function _(){return"camera"===t?f:"microphone"===t?p:"speaker"===t?m:""}function w(){return"camera"===t?u:"microphone"===t?h:"speaker"===t?d:[]}async function b(e){switch(r&&r(e),t){case"camera":await(i.instance?.setCurrentCameraDevice({deviceId:e})),c.setCurrentCameraId(e);break;case"microphone":await(i.instance?.setCurrentMicDevice({deviceId:e})),c.setCurrentMicrophoneId(e);break;case"speaker":await(i.instance?.setCurrentSpeakerDevice({deviceId:e})),c.setCurrentSpeakerId(e);break;default:break}}return{__sfc:!0,roomEngine:i,roomStore:c,cameraList:u,microphoneList:h,speakerList:d,currentCameraId:f,currentMicrophoneId:p,currentSpeakerId:m,deviceList:v,currentDeviceId:g,getInitDeviceId:_,getDeviceList:w,handleChange:b}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,"160545a2",null),f=d.exports},9139:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t(r.SvgIcon,{staticClass:"language-icon",attrs:{"icon-name":"lang",size:"large"},on:{click:r.handleChange}})},i=[],o=r(6369),a=r(6316),s=r(251),l=r(7357),c=(0,o.defineComponent)({__name:"Language",setup(e){const t=(0,s.o)(),r=()=>{switch(l.Z.global.locale.value){case"en-US":l.Z.global.locale.value="zh-CN",t.setLang("zh-CN"),localStorage.setItem("tuiRoom-language","zh-CN");break;case"zh-CN":l.Z.global.locale.value="en-US",t.setLang("en-US"),localStorage.setItem("tuiRoom-language","en-US");break}};return{__sfc:!0,basicStore:t,handleChange:r,SvgIcon:a.Z}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,null,null),f=d.exports},7698:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t(r.SvgIcon,{staticClass:"switch-theme",attrs:{"icon-name":"switch-theme",size:"medium"},on:{click:r.handleSwitchTheme}})},i=[],o=r(6369),a=r(6316),s=r(251),l=r(1020),c=(0,o.defineComponent)({__name:"SwitchTheme",setup(e){const t=(0,s.o)(),{defaultTheme:r}=(0,l.Jk)(t);function n(){const e=document.body.getAttribute("data-theme")||r;"white"===e?t.setDefaultTheme("black"):"black"===e&&t.setDefaultTheme("white")}function i(e){switch(e){case"black":document.body.setAttribute("data-theme","black"),localStorage.setItem("tuiRoom-currentTheme","black");break;case"white":document.body.setAttribute("data-theme","white"),localStorage.setItem("tuiRoom-currentTheme","white");break}}return(0,o.watch)(r,(e=>{i(e)})),(0,o.onMounted)((()=>{const e=t.defaultTheme,r=localStorage.getItem("tuiRoom-currentTheme")||e;t.setDefaultTheme(r),document.body.setAttribute("data-theme",r)})),{__sfc:!0,basicStore:t,defaultTheme:r,handleSwitchTheme:n,doSwitchTheme:i,SvgIcon:a.Z}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,null,null),f=d.exports},8283:function(e,t,r){"use strict";r.d(t,{Z:function(){return T}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"video-tab"},[t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Camera")))]),t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"camera"}})],1),r.isDetailMode&&e.withPreview?t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Preview")))]),t("div",{staticClass:"video-preview",attrs:{id:"test-camera-preview"}})]):e._e(),r.isDetailMode?t("el-checkbox",{staticClass:"mirror-checkbox custom-element-class",attrs:{label:r.t("Mirror")},model:{value:r.isLocalStreamMirror,callback:function(e){r.isLocalStreamMirror=e},expression:"isLocalStreamMirror"}}):e._e()],1),r.isSampleMode?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Resolution")))]),t(r.VideoProfile)],1):e._e(),r.isSampleMode?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item",on:{click:r.handleMoreCameraSetting}},[e._v(e._s(r.t("More Camera Settings")))])]):e._e()])},i=[],o=r(6369),a=r(8754),s=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-select",{staticClass:"select custom-element-class",attrs:{placeholder:"placeholder",teleported:!1,"popper-append-to-body":!1},model:{value:r.localVideoQuality,callback:function(e){r.localVideoQuality=e},expression:"localVideoQuality"}},e._l(r.videoProfileList,(function(e,r){return t("el-option",{key:r,attrs:{label:e.label,value:e.value}})})),1)},l=[],c=r(7357),u=r(452),h=r.n(u),d=r(4990),f=r(3681),p=r(1020),m=(0,o.defineComponent)({__name:"VideoProfile",setup(e){const t=(0,f.Z)(),r=(0,d.A)(),{localVideoQuality:n}=(0,p.Jk)(r),{t:i}=(0,c.Q)(),a=(0,o.computed)((()=>[{label:i("Low Definition"),value:u.TUIVideoQuality.kVideoQuality_360p},{label:i("Standard Definition"),value:u.TUIVideoQuality.kVideoQuality_540p},{label:i("High Definition"),value:u.TUIVideoQuality.kVideoQuality_720p},{label:i("Super Definition"),value:u.TUIVideoQuality.kVideoQuality_1080p}]));return(0,o.watch)(n,(e=>{t.instance?.updateVideoQuality({quality:e})})),h().once("ready",(()=>{t.instance?.updateVideoQuality({quality:n.value})})),{__sfc:!0,roomEngine:t,roomStore:r,localVideoQuality:n,t:i,videoProfileList:a}}}),v=m,g=r(3736),_=(0,g.Z)(v,s,l,!1,null,"00a64cb2",null),w=_.exports,b=r(251),y=r(3927),S=r(4237),k=r(2843),C=(0,o.defineComponent)({__name:"VideoSettingTab",props:{mode:null,withPreview:{type:Boolean}},setup(e){const t=e,r=(0,f.Z)(),n=(0,S.Al)(),i=t.mode||y.n.SIMPLE,s=(0,o.computed)((()=>i===y.n.SIMPLE)),l=(0,o.computed)((()=>i===y.n.DETAIL)),h=(0,b.o)(),d=(0,o.ref)(h.isLocalStreamMirror);(0,o.watch)(d,(async e=>{const t=r.instance?.getTRTCCloud();k.t?await(t?.setLocalRenderParams({mirrorType:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill})):await(t?.setLocalRenderParams({mirrorType:e?u.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill})),h.setIsLocalStreamMirror(e)}));const{t:p}=(0,c.Q)();function m(){h.setShowSettingDialog(!0),h.setActiveSettingTab("video")}return l.value&&t.withPreview&&((0,o.onMounted)((async()=>{if(r.instance?.startCameraDeviceTest({view:"test-camera-preview"}),n){const e=r.instance?.getTRTCCloud();await(e?.setLocalRenderParams({mirrorType:d.value?u.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}})),(0,o.onUnmounted)((()=>{r.instance?.stopCameraDeviceTest()}))),{__sfc:!0,roomEngine:r,isElectron:n,props:t,settingMode:i,isSampleMode:s,isDetailMode:l,basicStore:h,isLocalStreamMirror:d,t:p,handleMoreCameraSetting:m,DeviceSelect:a.Z,VideoProfile:w}}}),A=C,I=(0,g.Z)(A,n,i,!1,null,"7cf837b8",null),T=I.exports},2097:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{class:["icon-box",`${!e.hideHoverEffect&&"hover-effect"}`,`${e.disabled&&"disabled"}`]},[t("span",{staticClass:"icon-content",on:{click:function(t){return e.$emit("click-icon")}}},[e.iconName?t(r.SvgIcon,{attrs:{"icon-name":e.iconName}}):e._e(),e._t("default"),t("span",{staticClass:"title",class:e.isActive?"title-active":"title"},[e._v(e._s(e.title))])],2),e.hasMore?t("span",{ref:"moreSpanRef",staticClass:"icon-arrow",on:{click:function(t){return e.$emit("click-more")}}},[t(r.SvgIcon,{staticClass:"arrow",attrs:{"icon-name":"arrow-up",size:"small"}})],1):e._e()])},i=[],o=r(6369),a=r(6316),s=(0,o.defineComponent)({__name:"IconButton",props:{title:null,iconName:null,hasMore:{type:Boolean},hideHoverEffect:{type:Boolean},disabled:{type:Boolean},isActive:{type:Boolean}},emits:["click-icon","click-more"],setup(e){return{__sfc:!0,SvgIcon:a.Z}}}),l=s,c=r(3736),u=(0,c.Z)(l,n,i,!1,null,"3303a58b",null),h=u.exports},6316:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("span",{class:[r.svgClass,e.customClass],style:e.customStyle,on:{click:r.handleClick}})},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"SvgIcon",props:{iconName:null,size:null,customClass:null,customStyle:null},emits:["click"],setup(e,{emit:t}){const r=e,n=(0,o.computed)((()=>`${r.iconName}`)),i=(0,o.computed)((()=>{const e=r.size&&["large","medium","small","custom"].includes(r.size),t=e?r.size:"large";return`svg-icon ${t}-icon ${n.value}`}));function a(e){t("click",e)}return{__sfc:!0,props:r,emit:t,svgName:n,svgClass:i,handleClick:a}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,"52c6be46",null),u=c.exports},4679:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-drawer",{attrs:{visible:r.visible,title:r.props.title,"before-close":r.props.beforeClose,modal:r.props.modal,direction:r.props.direction,size:r.props.size},on:{"update:visible":function(e){r.visible=e}}},[e._t("default")],2)},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"Drawer",props:{modelValue:{type:Boolean},title:null,beforeClose:null,modal:{type:Boolean},appendToBody:{type:Boolean},width:null,direction:null,size:null,customClass:null},setup(e){const t=e,r=(0,o.ref)(t.modelValue);return(0,o.watch)((()=>t.modelValue),(e=>{r.value=e})),{__sfc:!0,props:t,visible:r}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,null,null),u=c.exports},9643:function(e,t,r){"use strict";r.d(t,{Z:function(){return D}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{ref:"userInfoRef",staticClass:"user-info-container"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.handleUserControl,expression:"handleUserControl"}],staticClass:"user-info-content"},[t("img",{staticClass:"avatar",attrs:{src:e.avatarUrl||r.defaultAvatar}}),t("div",{staticClass:"name"},[e._v(e._s(e.userName||e.userId))])]),r.showUserControl?t("div",{staticClass:"user-control-container"},[t("div",{staticClass:"logout-mobile"},[t("div",{staticClass:"logout-mobile-main"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>e.$emit("log-out"),expression:"() => $emit('log-out')"}],staticClass:"logout"},[t("i",[e._v(" "+e._s(r.t("Log out")))])]),t("div",{staticClass:"close",on:{click:function(e){e.stopPropagation(),r.showUserControl=!1}}},[t("i",[e._v(e._s(r.t("Cancel")))])])])])]):e._e()])},i=[],o=r(6369),a=r(7717),s=r(6671),l=r(7357),c=r(251),u=r(1020),h=r(3235),d=r(6897),f=r(452),p=r.n(f),m=r(4990),v=r(7175);function g(){const{t:e}=(0,l.Q)(),t=(0,c.o)(),{userName:r}=(0,u.Jk)(t),n=(0,o.ref)(),i=(0,o.ref)(!1),a=(0,o.ref)(!1),f=(0,o.ref)(v.Uh),g=(0,o.ref)(""),_=(0,m.A)(),w=(0,o.computed)((()=>i.value?s.Z.LineArrowUp:s.Z.LineArrowDown));function b(){i.value=!i.value}function y(e){n.value.contains(e.target)||(i.value=!1)}function S(){a.value=!0,g.value=r.value}function k(){a.value=!1}async function C(r){0!==r.length?(t.setUserName(r),p().setSelfInfo({userName:r,avatarUrl:_.localUser.avatarUrl||""}),_.setLocalUser({userName:r}),k()):(0,h.z)({type:"warning",message:e("Username length should be greater than 0"),duration:d.U.NORMAL})}return(0,o.onMounted)((()=>{window.addEventListener("click",y)})),(0,o.onUnmounted)((()=>{window.removeEventListener("click",y)})),{t:e,showEditNameItem:f,showUserControl:i,iconName:w,showUserNameEdit:a,userInfoRef:n,tempUserName:g,handleUserControl:b,showEditUserNameDialog:S,closeEditUserNameDialog:k,handleSaveUserName:C}}r(5175);var _=(0,o.defineComponent)({__name:"UserInfoH5",props:{userId:null,userName:null,avatarUrl:null},emits:["log-out"],setup(e){const{userInfoRef:t,showUserControl:r,t:n,handleUserControl:i}=g();return{__sfc:!0,userInfoRef:t,showUserControl:r,t:n,handleUserControl:i,defaultAvatar:a}}}),w=_,b=r(3736),y=(0,b.Z)(w,n,i,!1,null,null,null),S=y.exports,k=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{ref:"userInfoRef",staticClass:"user-info-container"},[t("div",{staticClass:"user-info-content",on:{click:r.handleUserControl}},[t(r.Avatar,{staticClass:"avatar",attrs:{"img-src":e.avatarUrl}}),t("div",{staticClass:"name"},[e._v(e._s(e.userName||e.userId))]),t(r.SvgIcon,{staticClass:"down-icon",attrs:{"icon-name":r.iconName,size:"medium"}})],1),r.showUserControl?t("div",{staticClass:"user-control-container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:r.showEditNameItem,expression:"showEditNameItem"}]},[t("div",{staticClass:"user-control-item-head",on:{click:r.showEditUserNameDialog}},[e._v(e._s(r.t("Edit profile")))])]),t("div",{staticClass:"user-control-item-foot",on:{click:function(t){return e.$emit("log-out")}}},[e._v(e._s(r.t("Log out")))])]):e._e(),t(r.Dialog,{staticClass:"custom-element-class",attrs:{title:r.t("Edit profile"),width:"420px","model-value":r.showUserNameEdit,modal:!0,"append-to-body":!1,"close-on-click-modal":!0},on:{close:r.closeEditUserNameDialog}},[t("div",{staticClass:"dialog-content"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("User Name")))]),t("div",{staticClass:"input-container"},[t("el-input",{attrs:{type:"text",maxlength:"80",placeholder:r.t("Please input user name")},model:{value:r.tempUserName,callback:function(e){r.tempUserName=e},expression:"tempUserName"}})],1)]),t("div",{staticClass:"dialog-footer"},[t("el-button",{on:{click:r.closeEditUserNameDialog}},[e._v(e._s(r.t("Cancel")))]),t("el-button",{attrs:{type:"primary"},on:{click:function(e){return r.handleSaveUserName(r.tempUserName)}}},[e._v(e._s(r.t("Save")))])],1)])],1)},C=[],A=r(5266),I=r(6316),T=r(9225),E=(0,o.defineComponent)({__name:"UserInfoPC",props:{userId:null,userName:null,avatarUrl:null},emits:["log-out"],setup(e){const{t:t,showEditNameItem:r,iconName:n,showUserControl:i,showUserNameEdit:o,userInfoRef:a,tempUserName:s,handleUserControl:l,showEditUserNameDialog:c,closeEditUserNameDialog:u,handleSaveUserName:h}=g();return{__sfc:!0,t:t,showEditNameItem:r,iconName:n,showUserControl:i,showUserNameEdit:o,userInfoRef:a,tempUserName:s,handleUserControl:l,showEditUserNameDialog:c,closeEditUserNameDialog:u,handleSaveUserName:h,Dialog:A.Z,SvgIcon:I.Z,Avatar:T.Z}}}),R=E,L=(0,b.Z)(R,k,C,!1,null,null,null),M=L.exports,U=r(2843);const x=U.t?S:M;var D=x},6671:function(e,t,r){"use strict";var n;r.d(t,{Z:function(){return n}}),function(e){e["MicOn"]="mic-on",e["MicOff"]="mic-off",e["MicOffDisabled"]="mic-off-gray",e["CameraOn"]="camera-on",e["CameraOff"]="camera-off",e["CameraOffDisabled"]="camera-off-gray",e["ArrowBorderDown"]="arrow-border-down",e["ScreenSharing"]="screen-sharing",e["ScreenShare"]="screen-share",e["ScreenShareStopped"]="screen-share-stopped",e["ScreenShareDisabled"]="screen-share-disabled",e["ChatActive"]="chat-active",e["Chat"]="chat",e["ExitFullScreen"]="exit-fullscreen",e["FullScreen"]="full-screen",e["InviteActive"]="invite-active",e["Invite"]="invite",e["ManageMemberActive"]="manage-member-active",e["ManageMember"]="manage-member",e["More"]="more",e["MoreActive"]="more-active",e["SettingActive"]="setting-active",e["Setting"]="setting",e["LineArrowUp"]="line-arrow-up",e["LineArrowDown"]="line-arrow-down",e["ApplyOnSeat"]="apply",e["ApplyActive"]="apply-active",e["GoOffSeat"]="go-off-seat"}(n||(n={}))},6897:function(e,t,r){"use strict";var n,i;r.d(t,{B:function(){return n},U:function(){return i}}),function(e){e["UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL"]="Has been fully muted and cannot open the microphone",e["UNMUTE_LOCAL_MIC_FAIL_MUTE_BY_MASTER"]="Has been muted by the host and cannot open the microphone",e["UNMUTE_LOCAL_MIC_FAIL_AUDIENCE"]="To apply to speak in the room, please raise your hand first to apply for the microphone",e["UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL"]="Has been full static painting, can not open the video",e["UNMUTE_LOCAL_CAMERA_FAIL_MUTE_BY_MASTER"]="It has been stilled by the host and cannot open the video",e["UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE"]="To apply to speak in the room, please raise your hand first to apply for the microphone"}(n||(n={})),function(e){e[e["NORMAL"]=3e3]="NORMAL",e[e["LONG"]=5e3]="LONG"}(i||(i={}))},3927:function(e,t,r){"use strict";var n,i;r.d(t,{_:function(){return n},n:function(){return i}}),function(e){e["SIX_EQUAL_POINTS"]="six_equal_points",e["NINE_EQUAL_POINTS"]="nine_equal_points",e["TWENTY_FIVE_EQUAL_POINTS"]="twenty_five_equal_points",e["RIGHT_SIDE_LIST"]="right_side_list",e["TOP_SIDE_LIST"]="top_side_list",e["LARGE_SMALL_WINDOW"]="large_small_window",e["GRID_VIEW"]="grid_view"}(n||(n={})),function(e){e["SIMPLE"]="simple",e["DETAIL"]="detail"}(i||(i={}))},5175:function(e,t,r){"use strict";var n=r(7327),i=r(3303);class o{constructor(e,t){(0,n.Z)(this,"dom",void 0),(0,n.Z)(this,"callback",void 0),(0,n.Z)(this,"isMove",void 0),this.dom=e,this.callback=t.value,this.isMove=!1,e?.addEventListener("touchstart",(()=>{this.touchstart()}),{passive:!0}),e?.addEventListener("touchmove",(()=>{this.touchmove()}),{passive:!0}),e?.addEventListener("touchend",(()=>{this.touchend()}),{passive:!0})}touchstart(){this.isMove=!1}touchmove(){this.isMove=!0}touchend(){this.isMove||this.callback()}}i.Z.directive("tap",{bind:function(e,t){return new o(e,t)}})},5266:function(e,t,r){"use strict";r.d(t,{Z:function(){return w}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return r.props.modelValue?t("div",{staticClass:"dialog-container"},[t("span",{staticClass:"dialog-title"},[e._v(e._s(r.props.title))]),t("div",{staticClass:"dialog-content"},[e._t("default")],2),t("div",{staticClass:"dialog-footer"},[e._t("footer")],2)]):e._e()},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"DialogH5",props:{modelValue:{type:Boolean},title:null},setup(e){const t=e;return{__sfc:!0,props:t}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,null,null),u=c.exports,h=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-dialog",{attrs:{visible:r.props.modelValue,title:r.props.title,"before-close":r.props.beforeClose,modal:r.props.modal,"append-to-body":r.props.appendToBody,width:r.props.width,"show-close":r.props.showClose,"close-on-click-modal":r.props.closeOnClickModal,"close-on-press-escape":r.props.closeOnPressEscape,"modal-append-to-body":!1},on:{"update:visible":function(t){return e.$set(r.props,"modelValue",t)}},scopedSlots:e._u([{key:"footer",fn:function(){return[e._t("footer")]},proxy:!0}],null,!0)},[e._t("default")],2)},d=[],f=(0,o.defineComponent)({__name:"DialogPC",props:{modelValue:{type:Boolean},title:null,beforeClose:null,modal:{type:Boolean},appendToBody:{type:Boolean},width:null,showClose:{type:Boolean},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean}},setup(e){const t=e;return{__sfc:!0,props:t}}}),p=f,m=(0,l.Z)(p,h,d,!1,null,null,null),v=m.exports,g=r(2843);const _=g.t?u:v;var w=_},3235:function(e,t,r){"use strict";r.d(t,{T:function(){return o},z:function(){return i}});var n=r(8499);const i=n.Message,o=n.MessageBox},3681:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(452),i=r.n(n),o=r(7175);const a={instance:null},s=o.$B?"vue3":"vue2";function l(){return a}i().once("ready",(()=>{a.instance=new(i()),a.instance?.callExperimentalAPI(JSON.stringify({api:"setFramework",params:{component:"TUIRoomKit",language:s}}))}))},7357:function(e,t,r){"use strict";r.d(t,{Z:function(){return c},Q:function(){return o.QT}});var n=r(6369),i=r(6018),o=r(9165),a=r(5581),s={"":"","Sign in":"请登录","Phone Login":"手机登录","Email Login":"邮箱登录","I have read and agree to the":"我已阅读并同意","Privacy Policy":"隐私协议",and:"和","Terms of Use":"用户协议",Login:"登录","Mobile number":"请输入您的手机号","Verification code":"请输入验证码","Email address":"请输入邮箱","Please enter a valid phone number!":"请输入正确的手机号!","Please enter a valid email address!":"请输入正确的邮箱地址!","Please enter your phone number!":"请输入手机号!","Please enter your email address!":"请输入邮箱地址!","Please enter the verification code!":"请输入验证码!","Please accept the privacy policy and user agreement!":"请同意隐私协议及用户协议!","Incorrect verification code, please check the code!":"验证码错误,请检查验证码!","The verification code has expired, please retrieve a new one!":"验证码已过期,请重新获取验证码!","The verification code has been used, please retrieve a new one!":"验证码已使用,请重新获取验证码!","Login failed, please try again.":"登录失败,请重试",SEND:"获取验证码"," ":"倒计时","The room does not exist, please confirm the room number or create a room!":"房间不存在,请确认房间号或创建房间!","Log out":"退出登录","Edit profile":"编辑资料","User Name":"用户名","Please input user name":"请输入用户名","Username length should be greater than 0":"昵称长度应该大于0",Save:"保存",Camera:"摄像头",Mic:"麦克风","Off Camera":"摄像头已关闭","Mic settings":"麦克风设置",Output:"输出",Speaker:"扬声器",Test:"测试",Stop:"停止测试",Preview:"视频画面",Mirror:"翻转镜像",Resolution:"分辨率","More Camera Settings":"更多摄像头设置","Join the room ?":"是否进入房间?","You are invited to room ":"您被邀请进入 ",Room:"房间",Join:"确定进入","New Room":"新建房间","Room Type":"房间类型","Your Name":"您的名字","Turn on the microphone":"开启麦克风","Turn on the speaker":"开启扬声器","Turn on the video":"开启视频","Free Speech Room":"自由发言房间","Raise Hand Room":"举手发言房间","Join Room":"进入房间","Enter room ID":"输入房间号","video conferencing":" 的视频会议","Room ID":"房间号","Low Definition":"流畅","Standard Definition":"标清","High Definition":"高清","Super Definition":"超清","End sharing":"结束共享","Stop sharing?":"是否停止屏幕共享?","Stop sharing":"停止共享",Sure:"确定",Sharing:"屏幕共享中","Share screen":"共享屏幕","Others will no longer see your screen after you stop sharing. Are you sure you want to stop?":"是否结束当前的共享屏幕,停止后所有人将无法继续观看屏幕内容","Others will no longer see your screen after you stop sharing.":"停止后所有人将无法继续观看屏幕内容","You currently do not have sharing permission, please raise your hand to apply for sharing permission first":"您当前没有共享权限,请先举手申请上台获取共享权限",Host:"主持人",Me:"我",me:"我",More:"更多","Raise hand":"举手",Agree:"同意",Chat:"聊天",Cancel:"取消",Exit:"退出全屏","Full screen":"全屏",Members:"管理成员",Invite:"邀请成员",Settings:"设置",EndPC:"结束会议",EndH5:"结束",Tips:"提示",'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.':"您当前是房间主持人,请选择相应操作。若选择“离开房间”,则房间不会解散,您需要指定新主持人。","If you do not want to end the meeting, please designate a new host before leaving the meeting.":"如果您不想结束会议,请在离开会议前指定新的主持人。","Are you sure you want to leave this room?":"确定离开房间吗?","New host":"选择主持人","Transfer and leave":"移交并离开","Leave room?":"是否要离开房间","Select a new host":"请选择新的房间主持人","Appoint a new host":"指定一位新的主持人","The host closed the room.":"主持人结束会议,已解散房间",Note:"通知",Confirm:"确认",Leave:"离开房间",Dismiss:"解散房间","Moderator changed to ":"主持人已变更为","Muted by the moderator":"已被主持人禁言","Type a message":"说点什么...",Send:"发送","Failed to send the message":"发送消息失败","Applying for the stage":"正在申请上台",Check:"查看","Disable all audios":"禁言所有人","Disable all videos":"禁画所有人","All mute":"全体静音","All current and new members will be muted.":"所有及新加入的成员将被静音","All current and new members will turn off their videos.":"所有及新加入的成员将关闭视频","All stop video":"全体禁画","Lift all mute":"取消全体静音","Should we turn on the video for everyone":"是否打开全员视频","Can you lift all mute":"是否取消全体静音","Lift stop all video":"取消全体禁画","No relevant user found.":"未找到相关用户","Member List":"成员列表",Unmute:"解除禁言","Cancel Unmute":"取消解除禁言",Mute:"禁言",members:"人","Failed to get chat message":"获取聊天消息失败","Agree to the stage":"同意上台","Cancel stage":"取消邀请上台","Invite stage":"邀请上台","Refuse stage":"拒绝上台","Enable video":"解除禁画","Cancel Enable video":"取消解除禁画","Disable video":"禁画","Enable chat":"允许文字聊天","Disable chat":"禁止文字聊天","Kick out":"踢出房间","is sharing their screen":"的屏幕分享","Apply to stage application":"请求上台申请",Reject:"拒绝","Reject All":"全部拒绝","Please raise your hand to apply":"如果您想发言请先举手申请上麦","The host invites you to speak on stage":"主持人邀请您上台发言","After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?":"同意上台后可打开摄像头和麦克风,是否同意上台?","Hand down":"手放下","Step down(Master)":"邀请下台","Step down":"下台","The host has approved your application":"主持人同意了你的上台申请","The host has rejected your application for the stage":"主持人拒绝了你的上台申请","You have been invited by the host to step down, please raise your hand if you need to speak":"您已被主持人邀请下台,需要发言请先举手","Select a screen/window":"选择屏幕/窗口",Screen:"屏幕",Window:"窗口",Share:"开始分享","Select a screen or window first":"请选择要分享的屏幕或者窗口",Grid:"一屏九等分","Gallery on right":"右侧成员列表","Gallery at top":"顶部成员列表","Network ":"网络","Latency: ":"网络延迟:","Frame rate: ":"帧率:","Bitrate: ":"码率:",Unknown:"状态未知",Excellent:"状态极佳",Good:"状态较好",Fair:"状态一般",Poor:"状态差","Very poor":"状态极差",Disconnected:"断开连接","Share the room ID or invite link":"您可以通过复制房间号或者邀请链接的方式邀请更多人加入房间","Invite by room number":"通过房间号邀请","Invite via room link":"通过房间链接邀请","Room Link":"房间链接","You can share the room number or link to invite more people to join the room.":"您可以分享房间号或链接邀请更多人加入房间。","If you have any questions, please feel free to join our QQ group or send an email":"如果有任何问题欢迎加入我们的QQ群或者发送邮件。","Room QR code":"房间二维码","Search for conference attendees":"搜索参会成员","Invite via client scheme":"通过客户端 scheme 邀请","Contact us":"联系我们","Member management":"成员管理","Grid view":"宫格视图","Join our QQ group chat or email us.":"如果有任何问题欢迎加入我们的QQ群或者发送邮件","group chat":"QQ 群",Email:"邮箱地址","Audio settings":"声音设置","Camera settings":"摄像头设置","Copied successfully":"复制成功","accepted the invitation to the stage":"接受了上台邀请","declined the invitation to the stage":"拒绝了上台邀请","The host has muted all":"主持人已开启全体静音","The host has unmuted all":"主持人已解除全体静音","The host has turned off your microphone":"主持人已关闭您的麦克风","The host invites you to turn on the microphone":"主持人邀请你打开麦克风","The host has turned on the ban on all paintings":"主持人已开启全体禁画","The host has lifted the ban on all paintings":"主持人已解除全体禁画","The host has turned on the ban on all chat":"主持人已开启全体禁止文字聊天","The host has lifted the ban on all chat":"主持人已解除全体禁止文字聊天","The host has turned off your camera":"主持人已关闭您的摄像头","The host invites you to turn on the camera":"主持人邀请你打开摄像头","The host has turned off your screen sharing":"主持人已关闭您的屏幕分享","Turn on the camera":"打开摄像头","Keep it closed":"保持关闭","You have been banned from text chat by the host":"您被主持人禁止文字聊天","You are allowed to text chat by the host":"您被主持人允许文字聊天","kicked out of the room by the host":"被主持人踢出房间","kicked out of the room by other device":"相同账号在其他客户端进入房间","kicked out of the room by serve":"被服务端踢出房间","Reject on Stage failed, please retry":"拒绝 {userName} 上台失败, 请重试","Has been fully muted and cannot open the microphone":"已被全员静音,无法打开麦克风","Has been muted by the host and cannot open the microphone":"已被主持人静音,无法打开麦克风","To apply to speak in the room, please raise your hand first to apply for the microphone":"申请发言房间,请先举手申请上麦","Has been full static painting, can not open the video":"已被全员静画,无法打开视频","It has been stilled by the host and cannot open the video":"已被主持人静画,无法打开视频","Failed to enter the room.":"进入房间失败!","Has been full static painting, can not share your screen":"已被全员静画,无法打开屏幕分享","Microphone not detected on current device":"当前设备未检测到麦克风","Camera not detected on current device":"当前设备未检测到摄像头","Camera And Microphone not detected on current device":"当前设备未检测到摄像头和麦克风","Another user is currently sharing the screen, screen sharing is not possible.":"当前有其他用户正在屏幕共享,无法进行屏幕共享","This action causes the room to be exited, does it continue?":"该操作会导致退出房间,是否继续?","This action causes the room to be disbanded, does it continue?":"该操作会导致解散房间,是否继续?"},l={"":"","Sign in":"Sign in","Phone Login":"Phone Login","Email Login":"Email Login","I have read and agree to the":"I have read and agree to the","Privacy Policy":"Privacy Policy",and:"and","Terms of Use":"Terms of Use",Login:"Login","Mobile number":"Mobile number","Verification code":"Verification code","Email address":"Email address","Please enter a valid phone number!":"Please enter a valid phone number!","Please enter a valid email address!":"Please enter a valid email address!","Please enter your phone number!":"Please enter your phone number!","Please enter your email address!":"Please enter your email address!","Please enter the verification code!":"Please enter the verification code!","Please accept the privacy policy and user agreement!":"Please accept the privacy policy and user agreement!","Incorrect verification code, please check the code!":"Incorrect verification code, please check the code!","The verification code has expired, please retrieve a new one!":"The verification code has expired, please retrieve a new one!","The verification code has been used, please retrieve a new one!":"The verification code has been used, please retrieve a new one!","Login failed, please try again.":"Login failed, please try again.",SEND:"SEND"," ":" ","The room does not exist, please confirm the room number or create a room!":"The room does not exist, please confirm the room number or create a room!","Log out":"Log out","Edit profile":"Edit profile","User Name":"User Name","Please input user name":"Please input user name","Username length should be greater than 0":"Username length should be greater than 0",Save:"Save",Camera:"Camera",Mic:"Mic","Off Camera":"Off Camera","Mic settings":"Mic settings",Output:"Output",Speaker:"Speaker",Test:"Test",Stop:"Stop",Preview:"Preview",Mirror:"Mirror",Resolution:"Resolution","More Camera Settings":"More Camera Settings","Join the room ?":"Join the room ?","You are invited to room ":"You are invited to room ",Room:"Room",Join:"Join",Sure:"Sure","New Room":"New Room","Room Type":"Room Type","Your Name":"Your Name","Grid view":"Grid view","Speaker view":"Speaker view","Turn on the microphone":"Turn on the microphone","Turn on the speaker":"Turn on the speaker","Turn on the video":"Turn on the video","Free Speech Room":"Free Speech Room","Raise Hand Room":"Raise Hand Room","Join Room":"Join Room","Enter room ID":"Enter room ID","video conferencing":" 's video conferencing","Room ID":"Room ID","Low Definition":"Low Definition","Standard Definition":"Standard Definition","High Definition":"High Definition","Super Definition":"Super Definition","End sharing":"End sharing","Stop sharing?":"Stop sharing?","Stop sharing":"Stop sharing",Sharing:"Sharing","Share screen":"Share screen","Others will no longer see your screen after you stop sharing. Are you sure you want to stop?":"Others will no longer see your screen after you stop sharing. Are you sure you want to stop?","Others will no longer see your screen after you stop sharing.":"Others will no longer see your screen after you stop sharing.","You currently do not have sharing permission, please raise your hand to apply for sharing permission first":"You currently do not have sharing permission, please raise your hand to apply for sharing permission first",Host:"Host",Me:"Me",me:"me",More:"More","Raise hand":"Raise hand",Agree:"Agree",Chat:"Chat",Cancel:"Cancel",Exit:"Exit","Full screen":"Full screen",Members:"Members",Invite:"Invite",Settings:"Settings",EndPC:"End",EndH5:"End",'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.':'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.',"If you do not want to end the meeting, please designate a new host before leaving the meeting.":"If you do not want to end the meeting, please designate a new host before leaving the meeting.","Are you sure you want to leave this room?":"Are you sure you want to leave this room?","New host":"New host","Transfer and leave":"Transfer and leave","Leave room?":"Leave room?","Select a new host":"Select a new host","Appoint a new host":"Appoint a new host","The host closed the room.":"The host closed the room.",Note:"Note",Confirm:"Confirm",Leave:"Leave",Dismiss:"Dismiss","Moderator changed to ":"Moderator changed to ","Muted by the moderator":"Muted by the moderator","Type a message":"Type a message",Send:"Send","Failed to send the message":"Failed to send the message","Applying for the stage":"Applying for the stage",Check:"Check","Disable all audios":"Disable all audios","Disable all videos":"Disable all videos","Member List":"Member List","All mute":"All mute","All stop video":"All stop video","Lift all mute":"Lift all mute","Should we turn on the video for everyone":"Should we turn on the video for everyone","Can you lift all mute":"Can you lift all mute","Lift stop all video":"Lift stop all video",Unmute:"Unmute","Cancel Unmute":"Cancel Unmute",Mute:"Mute",members:"members","Failed to get chat message":"Failed to get chat message","Agree to the stage":"Agree to the stage","Cancel stage":"Cancel stage","Invite stage":"Invite stage","Refuse stage":"Refuse stage","Step down":"Step down","Step down(Master)":"Step down","Enable video":"Enable video","Disable video":"Disable video","Enable chat":"Enable chat","Disable chat":"Disable chat","Kick out":"Kick out","is sharing their screen":"is sharing their screen","Apply to stage application":"Apply to stage application",Reject:"Reject","Reject All":"Reject All","Please raise your hand to apply":"Please raise your hand to apply","The host invites you to speak on stage":"The host invites you to speak on stage","After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?":"After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?","Hand down":"Hand down","The host has approved your application":"The host has approved your application","The host has rejected your application for the stage":"The host has rejected your application for the stage","You have been invited by the host to step down, please raise your hand if you need to speak":"You have been invited by the host to step down, please raise your hand if you need to speak","Select a screen/window":"Select a screen/window",Screen:"Screen",Window:"Window",Share:"Share","Select a screen or window first":"Select a screen or window first",Grid:"Grid",Tips:"Tips","Gallery on right":"Gallery on right","Gallery at top":"Gallery at top","Network ":"Network ","Latency: ":"Latency: ","Frame rate: ":"Frame rate: ","Bitrate: ":"Bitrate: ",Unknown:"Unknown",Excellent:"Excellent",Good:"Good",Fair:"Fair",Poor:"Poor","Very poor":"Very poor",Disconnected:"Disconnected","Share the room ID or invite link":"Share the room ID or invite link","Invite by room number":"Invite by room number","Invite via room link":"Invite via room link","Room Link":"Room Link","You can share the room number or link to invite more people to join the room.":"You can share the room number or link to invite more people to join the room.","If you have any questions, please feel free to join our QQ group or send an email":"If you have any questions, please feel free to join our QQ group or send an email","Room QR code":"Room QR code","Search for conference attendees":"Search for conference attendees","Invite via client scheme":"Invite via client scheme","All current and new members will be muted.":"All current and new members will be muted","All current and new members will turn off their videos.":"All current and new members will turn off their videos","No relevant user found.":"No relevant user found.","Contact us":"Contact us","Member management":"Member management","Join our QQ group chat or email us.":"Join our QQ group chat or email us.","group chat":"group chat",Email:"Email","Audio settings":"Audio settings","Camera settings":"Camera settings","Copied successfully":"Copied successfully","accepted the invitation to the stage":"accepted the invitation to the stage","declined the invitation to the stage":"declined the invitation to the stage","The host has muted all":"The host has muted all","The host has unmuted all":"The host has unmuted all","The host has turned off your microphone":"The host has turned off your microphone","The host invites you to turn on the microphone":"The host invites you to turn on the microphone","The host has turned on the ban on all paintings":"The host has turned on the ban on all paintings","The host has lifted the ban on all paintings":"The host has lifted the ban on all paintings","The host has turned on the ban on all chat":"The host has turned on the ban on all chat","The host has lifted the ban on all chat":"The host has lifted the ban on all chat","The host has turned off your camera":"The host has turned off your camera","The host invites you to turn on the camera":"The host invites you to turn on the camera","The host has turned off your screen sharing":"The host has turned off your screen sharing","Turn on the camera":"Turn on the camera","Keep it closed":"Keep it closed","You have been banned from text chat by the host":"You have been banned from text chat by the host","You are allowed to text chat by the host":"You are allowed to text chat by the host","kicked out of the room by the host":"kicked out of the room by the host","kicked out of the room by other device":"kicked out of the room by other device","kicked out of the room by serve":"kicked out of the room by serve","Reject on Stage failed, please retry":"Reject {userName} on Stage failed, please retry","Has been fully muted and cannot open the microphone":"Has been fully muted and cannot open the microphone","Has been muted by the host and cannot open the microphone":"Has been muted by the host and cannot open the microphone","To apply to speak in the room, please raise your hand first to apply for the microphone":"To apply to speak in the room, please raise your hand first to apply for the microphone","Has been full static painting, can not open the video":"Has been full static painting, can not open the video","It has been stilled by the host and cannot open the video":"It has been stilled by the host and cannot open the video","Failed to enter the room.":"Failed to enter the room.","Has been full static painting, can not share your screen":"Has been full static painting, can not share your screen.","Microphone not detected on current device":"Microphone not detected on current device","Camera not detected on current device":"Camera not detected on current device","Camera And Microphone not detected on current device":"Camera And Microphone not detected on current device","Another user is currently sharing the screen, screen sharing is not possible.":"Another user is currently sharing the screen, screen sharing is not possible.","This action causes the room to be disbanded, does it continue?":"This action causes the room to be disbanded, does it continue?","This action causes the room to be exited, does it continue?":"This action causes the room to be exited, does it continue?"};n["default"].use(i.Z,{bridge:!0});var c=(0,o.o)({legacy:!1,locale:(0,a.G)()||"zh-CN",messages:{"zh-CN":s,"en-US":l}},i.Z)},251:function(e,t,r){"use strict";r.d(t,{o:function(){return l}});var n=r(1020),i=r(5581),o=r(3927),a=r(4237),s=r(2843);const l=(0,n.Q_)("basic",{state:()=>({sdkAppId:0,userId:"",userSig:"",userName:"",avatarUrl:"",useStringRoomId:!1,roomId:"",roomMode:"FreeSpeech",isSidebarOpen:!1,layout:o._.NINE_EQUAL_POINTS,showSettingDialog:!1,showApplyUserList:!1,activeSettingTab:"audio",isLocalStreamMirror:!0,isFrontCamera:!0,sidebarName:"",masterUserId:"",localQuality:0,lang:(0,i.G)(),defaultTheme:"black",isSupportSwitchTheme:!0,showHeaderTool:!0,shareLink:"",isRoomLinkVisible:!(0,a.Al)()&&!s.e}),getters:{},actions:{setSdkAppId(e){this.sdkAppId=e},setUserId(e){this.userId=e},setUserSig(e){this.userSig=e},setUserName(e){this.userName=e},setAvatarUrl(e){this.avatarUrl=e},setRoomId(e){this.roomId=e,this.useStringRoomId="string"===typeof e},setRoomMode(e){this.roomMode=e},setSidebarOpenStatus(e){this.isSidebarOpen=e},setSidebarName(e){this.sidebarName=e},setLayout(e){this.layout=e},setShowSettingDialog(e){this.showSettingDialog=e},setShowApplyUserList(e){this.showApplyUserList=e},setActiveSettingTab(e){this.activeSettingTab=e},setIsLocalStreamMirror(e){this.isLocalStreamMirror=e},setIsFrontCamera(e){this.isFrontCamera=e},setDefaultTheme(e){this.defaultTheme=e},setIsSupportSwitchTheme(e){this.isSupportSwitchTheme=e},setShowHeaderTool(e){this.showHeaderTool=e},setShareLink(e){this.shareLink=e},setIsRoomLinkVisible(e){this.isRoomLinkVisible=e},setBasicInfo(e){if(!e)return;const{sdkAppId:t,userId:r,userSig:n,userName:i,avatarUrl:o,roomId:s,theme:l,showHeaderTool:c}=e;t&&this.setSdkAppId(t),r&&this.setUserId(r),n&&this.setUserSig(n),i&&this.setUserName(i),o&&this.setAvatarUrl(o),s&&this.setRoomId(s),l&&!(0,a.o8)(l.defaultTheme)&&this.setDefaultTheme(l.defaultTheme),l&&!(0,a.o8)(l.isSupportSwitchTheme)&&this.setIsSupportSwitchTheme(l.isSupportSwitchTheme),!(0,a.o8)(c)&&this.setShowHeaderTool(c)},setMasterUserId(e){this.masterUserId=e},setLocalQuality(e){const t=e.find((e=>e.userId===this.userId));this.localQuality=t.quality},setLang(e){this.lang=e},reset(){this.isSidebarOpen=!1,this.layout=o._.NINE_EQUAL_POINTS,this.showSettingDialog=!1,this.activeSettingTab="audio",this.isLocalStreamMirror=!0,this.sidebarName="",this.masterUserId="",this.localQuality=0,this.roomId="",this.sdkAppId=0,this.userId="",this.userSig="",this.userName="",this.avatarUrl="",this.useStringRoomId=!1,this.roomMode="FreeSpeech",this.showApplyUserList=!1,this.isFrontCamera=!0,this.defaultTheme="black",this.isSupportSwitchTheme=!0,this.showHeaderTool=!0,this.shareLink=""}}})},4990:function(e,t,r){"use strict";r.d(t,{A:function(){return u}});var n=r(1020),i=r(452),o=r(251),a=r(7175),s=r(3303),l=r(3681);const c=(0,l.Z)(),u=(0,n.Q_)("room",{state:()=>({localUser:{userId:"",userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!1,cameraStreamInfo:{userId:"",userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!0},screenStreamInfo:{userId:"",userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!0}},remoteUserObj:{},isDefaultOpenCamera:!1,isDefaultOpenMicrophone:!1,canControlSelfAudio:!0,canControlSelfVideo:!0,localVideoQuality:i.TUIVideoQuality.kVideoQuality_720p,currentCameraId:"",currentMicrophoneId:"",currentSpeakerId:"",cameraList:[],microphoneList:[],speakerList:[],masterUserId:"",isMicrophoneDisableForAllUser:!1,isCameraDisableForAllUser:!1,isMessageDisableForAllUser:!1,speechMode:i.TUISpeechMode.kFreeToSpeak,maxMembersCount:5,hasVideoStreamObject:{},currentStreamIdListInVisibleView:[],hasOtherScreenShare:!1}),getters:{isMaster(e){return e.localUser.userId===e.masterUserId},isAnchor(e){return!!this.isFreeSpeakMode||(this.isSpeakAfterTakingSeatMode?e.localUser.onSeat:void 0)},isAudience(e){return!this.isFreeSpeakMode&&(this.isSpeakAfterTakingSeatMode?!e.localUser.onSeat:void 0)},isSpeakAfterTakingSeatMode(){return this.speechMode===i.TUISpeechMode.kSpeakAfterTakingSeat},isFreeSpeakMode(){return this.speechMode===i.TUISpeechMode.kFreeToSpeak},isLocalAudioIconDisable(){const e=!this.isMaster&&!this.canControlSelfAudio;return e||this.isAudience},isLocalVideoIconDisable(){const e=!this.isMaster&&!this.canControlSelfVideo;return e||this.isAudience},localStream:e=>{const{userId:t,userName:r,avatarUrl:n,hasAudioStream:i,hasVideoStream:o,audioVolume:a}=e.localUser;return Object.assign(e.localUser.cameraStreamInfo,{userId:t,userName:r,avatarUrl:n,hasAudioStream:i,hasVideoStream:o,audioVolume:a}),e.localUser.cameraStreamInfo},remoteStreamObj:e=>{const t={};return[...Object.values(e.remoteUserObj)].forEach((e=>{const{userId:r,avatarUrl:n,userName:o,onSeat:a,hasAudioStream:s,hasVideoStream:l,hasScreenStream:c,audioVolume:u,isVideoVisible:h,isScreenVisible:d}=e;a&&(t[`${r}_${i.TUIVideoStreamType.kCameraStream}`]=Object.assign(e.cameraStreamInfo,{userId:r,avatarUrl:n,userName:o,hasAudioStream:s,hasVideoStream:l,audioVolume:u,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:h})),c&&(t[`${r}_${i.TUIVideoStreamType.kScreenStream}`]=Object.assign(e.screenStreamInfo,{userId:r,avatarUrl:n,userName:o,hasScreenStream:c,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:d}))})),t},remoteStreamList(){return[...Object.values(this.remoteStreamObj)]},streamList(){return[this.localStream,...Object.values(this.remoteStreamObj)]},streamNumber(){return this.streamList.length},remoteAnchorList:e=>[...Object.values(e.remoteUserObj)].filter((e=>e.onSeat)),userList:e=>[e.localUser,...Object.values(e.remoteUserObj)],userNumber(){return this.userList.length},applyToAnchorList:e=>[...Object.values(e.remoteUserObj)].filter((e=>e.isUserApplyingToAnchor))||[],defaultStreamType(){return Object.keys(this.hasVideoStreamObject).length>this.maxMembersCount?i.TUIVideoStreamType.kCameraStreamLow:i.TUIVideoStreamType.kCameraStream}},actions:{setLocalUser(e){Object.assign(this.localUser,e)},updateLocalStream(e){Object.assign(this.localStream,e)},getUserName(e){return e===this.localUser.userId?this.localUser.userName||e:this.remoteUserObj[e]?.userName||e},getNewUserInfo(e){const t={userId:e,userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,isVideoVisible:!1,isScreenVisible:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!this.isSpeakAfterTakingSeatMode,cameraStreamInfo:{userId:e,userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!1},screenStreamInfo:{userId:e,userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!1}};return this.isMaster&&Object.assign(t,{isChatMutedByMaster:!1,isUserApplyingToAnchor:!1,isInvitingUserToAnchor:!1}),t},setUserList(e){e.forEach((e=>{if(e.userId!==this.localUser.userId)if(this.remoteUserObj[e.userId])Object.assign(this.remoteUserObj[e.userId],e);else{const t=Object.assign(this.getNewUserInfo(e.userId),e);a.$B?this.remoteUserObj[e.userId]=t:s.Z.set(this.remoteUserObj,e.userId,t)}else Object.assign(this.localUser,e)}))},addRemoteUser(e){const{userId:t}=e,r=(0,o.o)();if(t&&t!==r.userId)if(this.remoteUserObj[t])Object.assign(this.remoteUserObj[t],e);else{const r=Object.assign(this.getNewUserInfo(t),e);a.$B?this.remoteUserObj[t]=r:s.Z.set(this.remoteUserObj,t,r)}},updateRemoteUser(e,t){const r=this.remoteUserObj[e];if(!r)return;const{nick:n,avatar:i}=t;Object.assign(r,{userName:n,avatarUrl:i})},updateOnSeatList(e,t,r){"{}"===JSON.stringify(this.remoteUserObj)?e.forEach((e=>{const{userId:t}=e;if(t===this.localUser.userId)Object.assign(this.localUser,{onSeat:!0});else{const e=Object.assign(this.getNewUserInfo(t),{onSeat:!0});a.$B?this.remoteUserObj[t]=e:s.Z.set(this.remoteUserObj,t,e)}})):(t.forEach((e=>{const{userId:t}=e;if(t===this.localUser.userId)Object.assign(this.localUser,{onSeat:!0});else{const e=this.remoteUserObj[t];if(e)Object.assign(e,{onSeat:!0});else{const e=Object.assign(this.getNewUserInfo(t),{onSeat:!0});a.$B?this.remoteUserObj[t]=e:s.Z.set(this.remoteUserObj,t,e)}}})),r.forEach((e=>{if(e.userId===this.localUser.userId)Object.assign(this.localUser,{onSeat:!1});else{const t=this.remoteUserObj[e.userId];t&&Object.assign(t,{onSeat:!1})}})))},updateUserVideoState(e,t,r){const n=(0,o.o)();let l=e===n.userId?this.localUser:this.remoteUserObj[e];!l&&r&&(l=this.getNewUserInfo(e),a.$B?this.remoteUserObj[e]=l:s.Z.set(this.remoteUserObj,e,l)),l&&(this.updatehasVideoStreamObject(l,r,e===n.userId),t===i.TUIVideoStreamType.kCameraStream||t===i.TUIVideoStreamType.kCameraStreamLow?l.hasVideoStream=r:t===i.TUIVideoStreamType.kScreenStream&&(l.hasScreenStream=r))},updatehasVideoStreamObject(e,t,r){if(r)return;const{userId:n,cameraStreamInfo:i,screenStreamInfo:o,hasVideoStream:l}=e,c=`${n}_${l?i.streamType:o.streamType}`;t?a.$B?this.hasVideoStreamObject[c]=e:s.Z.set(this.hasVideoStreamObject,c,e):a.$B?delete this.hasVideoStreamObject[c]:s.Z["delete"](this.hasVideoStreamObject,c)},updateUserAudioState(e,t){const r=(0,o.o)();let n=e===r.userId?this.localUser:this.remoteUserObj[e];!n&&t&&(n=this.getNewUserInfo(e),a.$B?this.remoteUserObj[e]=n:s.Z.set(this.remoteUserObj,e,n)),n&&(n.hasAudioStream=t)},removeRemoteUser(e){const t=(0,o.o)();e&&e!==t.userId&&(a.$B?delete this.remoteUserObj[e]:s.Z["delete"](this.remoteUserObj,e))},updateUserStreamVisible(e){e.forEach((e=>{const t=e.slice(0,e.length-2),r=Number(e.slice(-1));if(t===this.localUser.userId)return;const n=this.remoteUserObj[t];n&&(r===i.TUIVideoStreamType.kCameraStream||r===i.TUIVideoStreamType.kCameraStreamLow?n.isVideoVisible=!0:r===i.TUIVideoStreamType.kScreenStream&&(n.isScreenVisible=!0))})),this.currentStreamIdListInVisibleView.forEach((t=>{const r=t.slice(0,t.length-2),n=Number(t.slice(-1));if(e.indexOf(t)<0){const e=this.remoteUserObj[r];if(!e)return;n===i.TUIVideoStreamType.kCameraStream||n===i.TUIVideoStreamType.kCameraStreamLow?e.isVideoVisible=!1:n===i.TUIVideoStreamType.kScreenStream&&(e.isScreenVisible=!1)}})),this.currentStreamIdListInVisibleView=e},setAudioVolume(e){const t=(0,o.o)();e.forEach((e=>{const{userId:r,volume:n}=e;if(r===t.userId||""===r)this.localUser.audioVolume=n;else{const e=this.remoteUserObj[r];e&&(e.audioVolume=n)}}))},setCurrentCameraId(e){this.currentCameraId=e},setCurrentMicrophoneId(e){this.currentMicrophoneId=e},setCurrentSpeakerId(e){this.currentSpeakerId=e},setRoomInfo(e){const{roomOwner:t,isMicrophoneDisableForAllUser:r,isCameraDisableForAllUser:n,isMessageDisableForAllUser:o,speechMode:a}=e;this.localUser.userId===t&&(this.localUser.userRole=i.TUIRole.kRoomOwner),this.masterUserId=t,this.isMicrophoneDisableForAllUser=r,this.isCameraDisableForAllUser=n,this.isMessageDisableForAllUser=o,this.speechMode=a,this.canControlSelfAudio=!this.isMicrophoneDisableForAllUser,this.canControlSelfVideo=!this.isCameraDisableForAllUser},setDisableMicrophoneForAllUserByAdmin(e){this.isMicrophoneDisableForAllUser=e},setDisableCameraForAllUserByAdmin(e){this.isCameraDisableForAllUser=e},setDisableMessageAllUserByAdmin(e){this.isMessageDisableForAllUser=e},setMasterUserId(e){this.masterUserId=e},setRoomParam(e){if(!e)return;const{isOpenCamera:t,isOpenMicrophone:r,defaultCameraId:n,defaultMicrophoneId:i,defaultSpeakerId:o}=e;n&&(this.setCurrentCameraId(n),c.instance?.setCurrentCameraDevice({deviceId:n})),i&&(this.setCurrentMicrophoneId(i),c.instance?.setCurrentMicDevice({deviceId:i})),o&&(this.setCurrentSpeakerId(o),c.instance?.setCurrentSpeakerDevice({deviceId:o})),(this.isMaster||!this.isMicrophoneDisableForAllUser&&this.isFreeSpeakMode)&&"boolean"===typeof r&&(this.isDefaultOpenMicrophone=r),(this.isMaster||!this.isCameraDisableForAllUser&&this.isFreeSpeakMode)&&"boolean"===typeof t&&(this.isDefaultOpenCamera=t)},setCanControlSelfAudio(e){this.canControlSelfAudio=e},setCanControlSelfVideo(e){this.canControlSelfVideo=e},updateVideoQuality(e){this.localVideoQuality=e},setCameraList(e){this.cameraList=e,!this.currentCameraId&&e.length>0&&this.setCurrentCameraId(e[0].deviceId)},setMicrophoneList(e){this.microphoneList=e,!this.currentMicrophoneId&&e.length>0&&this.setCurrentMicrophoneId(e[0].deviceId)},setSpeakerList(e){this.speakerList=e,!this.currentSpeakerId&&e.length>0&&this.setCurrentSpeakerId(e[0].deviceId)},setMicrophoneDisableState(e){this.isMicrophoneDisableForAllUser=e},setCameraDisableState(e){this.isCameraDisableForAllUser=e},setMuteUserChat(e,t){const r=this.remoteUserObj[e];r&&(r.isChatMutedByMaster=t)},setRemoteUserRole(e,t){const r=this.remoteUserObj[e];r&&(r.userRole=t)},setRequestUserOpenMic(e){const{userId:t,isRequesting:r,requestId:n}=e,i=this.remoteUserObj[t];i&&(i.isRequestingUserOpenMic=r,i.requestUserOpenMicRequestId=r?n:"")},setRequestUserOpenCamera(e){const{userId:t,isRequesting:r,requestId:n}=e,i=this.remoteUserObj[t];i&&(i.isRequestingUserOpenCamera=r,i.requestUserOpenCameraRequestId=r?n:"")},addApplyToAnchorUser(e){const{userId:t,requestId:r}=e,n=this.remoteUserObj[t];n&&(n.isUserApplyingToAnchor=!0,n.applyToAnchorRequestId=r)},removeApplyToAnchorUser(e){const t=this.remoteUserObj[e];t&&(t.isUserApplyingToAnchor=!1,t.applyToAnchorRequestId="")},addInviteToAnchorUser(e){const{userId:t,requestId:r}=e,n=this.remoteUserObj[t];n&&(n.isInvitingUserToAnchor=!0,n.inviteToAnchorRequestId=r)},removeInviteToAnchorUser(e){const t=this.remoteUserObj[e];t&&(t.isInvitingUserToAnchor=!1,t.inviteToAnchorRequestId="")},setHasOtherScreenShare(e){this.hasOtherScreenShare=e},reset(){this.localUser={userId:"",userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!1,cameraStreamInfo:{userId:"",userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!0},screenStreamInfo:{userId:"",userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!0}},this.remoteUserObj={},this.isDefaultOpenCamera=!1,this.isDefaultOpenMicrophone=!1,this.canControlSelfAudio=!0,this.canControlSelfVideo=!0,this.localVideoQuality=i.TUIVideoQuality.kVideoQuality_720p,this.currentCameraId="",this.currentMicrophoneId="",this.currentSpeakerId="",this.cameraList=[],this.microphoneList=[],this.speakerList=[],this.masterUserId="",this.isMicrophoneDisableForAllUser=!1,this.isCameraDisableForAllUser=!1,this.isMessageDisableForAllUser=!1,this.speechMode=i.TUISpeechMode.kFreeToSpeak,this.hasVideoStreamObject={},this.hasOtherScreenShare=!1}}})},5581:function(e,t,r){"use strict";r.d(t,{G:function(){return i}});var n=r(4237);function i(){let e=(0,n.eY)("lang")||localStorage.getItem("tuiRoom-language")||navigator.language||"zh";return e=e.replace(/_/,"-").toLowerCase(),"zh-cn"===e||"zh"===e?e="zh-CN":"en"!==e&&"en-us"!==e&&"en-GB"!==e||(e="en-US"),e}},6419:function(e,t,r){"use strict";var n;r.d(t,{Z:function(){return u}}),function(e){e["ON_CHANGE_LOG_LEVEL"]="onChangeLogLevel"}(n||(n={}));const i={LOG_LEVEL_DEBUG:-1,LOG_LEVEL_LOG:0,LOG_LEVEL_INFO:1,LOG_LEVEL_WARN:2,LOG_LEVEL_ERROR:3,LOG_LEVEL_NON_LOGGING:4};var o;function a(e){const t=e.toString().length;let r;switch(t){case 1:r=`00${e}`;break;case 2:r=`0${e}`;break;default:r=e;break}return r}function s(e){const t=new Date;return`${t.toLocaleTimeString("en-US",{hour12:!1})}.${a(t.getMilliseconds())} [${e}]:`}(function(e){e["MAIN"]="main-process",e["RENDER"]="render-process"})(o||(o={}));let l=i.LOG_LEVEL_DEBUG;const c={debug(...e){l<=i.LOG_LEVEL_DEBUG&&console.debug(`${s(o.RENDER)}`,...e)},log(...e){l<=i.LOG_LEVEL_LOG&&console.log(`${s(o.RENDER)}`,...e)},info(...e){l<=i.LOG_LEVEL_INFO&&console.info(`${s(o.RENDER)}`,...e)},warn(...e){l<=i.LOG_LEVEL_WARN&&console.warn(`${s(o.RENDER)}`,...e)},error(...e){l<=i.LOG_LEVEL_ERROR&&console.error(`${s(o.RENDER)}`,...e)},setLevel(e){e>=i.LOG_LEVEL_DEBUG&&e<=i.LOG_LEVEL_NON_LOGGING?(console.log(`${s(o.RENDER)} set log level from ${l} to ${e}`),l=e,window.electron?.ipcRenderer&&window.electron.ipcRenderer.send(n.ON_CHANGE_LOG_LEVEL,e)):console.error(`${s(o.RENDER)} logger.setLevel() invalid params:${e}`)},getLevel(){return l}};var u=c},7175:function(e,t,r){"use strict";r.d(t,{$B:function(){return o},P_:function(){return i},Uh:function(){return a}});var n=r(6369);const i=/^2\.7\.*/.test(n.version),o=/^3\.*/.test(n.version),a=void 0},2843:function(e,t,r){"use strict";r.d(t,{e:function(){return n},t:function(){return i}});const n="undefined"!==typeof wx&&"function"===typeof wx.getSystemInfoSync&&Boolean(wx.getSystemInfoSync().fontSizeSetting),i=window?.matchMedia("(max-width: 600px)").matches||n},4237:function(e,t,r){"use strict";r.d(t,{jO:function(){return i},Ds:function(){return o},Pr:function(){return l},eY:function(){return c},Al:function(){return u},o8:function(){return h},EV:function(){return s},P2:function(){return a}});var n=r(2843);const i=e=>new Promise(((t,r)=>{if(n.e)uni.setClipboardData({data:e,success(){uni.getClipboardData({success(e){t({code:0,data:e})},fail(e){r({code:-1,err:e})}})},fail(e){r({code:-1,err:e})}});else try{navigator.clipboard.writeText(`${e}`),t({code:0,data:e})}catch(i){r({code:-1,err:i})}}));function o(e,t){let r;return function(...n){r>0&&clearTimeout(r),r=window?.setTimeout((()=>{e.apply(this,n),r=-1}),t)}}function a(e,t){let r=0;return function(...n){const i=Date.now();i-r>t&&(e.apply(this,n),r=i)}}function s(e){const t=e;t?.requestFullscreen?t?.requestFullscreen():t?.mozRequestFullScreen?t?.mozRequestFullScreen():t?.webkitRequestFullScreen?t?.webkitRequestFullScreen():t?.msRequestFullscreen&&t?.msRequestFullscreen()}function l(){if(!document?.fullscreenElement&&!document?.webkitFullscreenElement&&!document?.mozFullScreenElement)return;const e=document;e?.exitFullscreen?e?.exitFullscreen():e?.msExitFullscreen?e?.msExitFullscreen():e?.mozCancelFullScreen?e?.mozCancelFullScreen():e?.webkitExitFullscreen&&e?.webkitExitFullscreen()}function c(e){const t=window?.location.href.replace(/^[^?]*\?/,""),r=new RegExp(`(^|&)${e}=([^&#]*)(&|$|)`,"i"),n=t?.match(r);return n?n[2]:null}function u(){const e=navigator?.userAgent.toLowerCase();return e?.indexOf(" electron/")>-1}function h(e){return"undefined"===typeof e}},3303:function(e,t,r){"use strict";var n=r(6369);t["Z"]=n["default"]},3470:function(e,t,r){"use strict";var n=r(6369),i=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},o=[],a=r(3736),s={},l=(0,a.Z)(s,i,o,!1,null,null,null),c=l.exports,u=r(9255),h=r(1020),d=r(8499),f=r.n(d),p=r(7357);n["default"].use(h.og);const m=(0,h.WB)();n["default"].use(f()),n["default"].use(p.Z),n["default"].config.productionTip=!1,new n["default"]({pinia:m,router:u.Z,render:e=>e(c)}).$mount("#app")},9255:function(e,t,r){"use strict";r.d(t,{Z:function(){return Wa}});var n=r(6369),i=r(2631),o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"home-container"},[t("div",{staticClass:"header"},[t("user-info",{staticClass:"header-item user-info",attrs:{"user-id":e.userId,"user-name":e.userName,"user-avatar":e.userAvatar},on:{"log-out":e.handleLogOut}}),t("language-icon",{staticClass:"header-item language"}),t("switch-theme",{staticClass:"header-item theme"})],1),e.isMobile?e._e():t("stream-preview",{ref:"streamPreviewRef"}),t("room-control",{ref:"roomControlRef",attrs:{"given-room-id":e.givenRoomId,"user-name":e.userName||e.userId},on:{"create-room":e.handleCreateRoom,"enter-room":e.handleEnterRoom}})],1)},a=[],s=(r(7658),r(9643)),l=r(9139),c=r(7698),u=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",[t("div",{directives:[{name:"loading",rawName:"v-loading",value:r.loading,expression:"loading"}],staticClass:"stream-container",attrs:{"element-loading-background":"#000000"}},[t("div",{ref:"streamPreviewRef",staticClass:"stream-preview",attrs:{id:"stream-preview"}}),r.isCameraMuted?t("div",{staticClass:"stream-info"},[t("span",{staticClass:"attention-info"},[e._v(e._s(r.t("Off Camera")))])]):e._e(),t("div",{staticClass:"control-region"},[t(r.IconButton,{ref:"audioIconButtonRef",attrs:{title:r.t("Mic"),"is-active":r.isMicMuted,"hide-hover-effect":!0,"has-more":!0},on:{"click-icon":r.toggleMuteAudio,"click-more":r.handleMicSetting}},[t(r.AudioIcon,{attrs:{"audio-volume":r.audioVolume,"is-muted":r.isMicMuted}})],1),t(r.IconButton,{ref:"videoIconButtonRef",staticClass:"icon",attrs:{title:r.t("Camera"),"is-active":r.isCameraMuted,"icon-name":r.cameraIconName,"hide-hover-effect":!0,"has-more":!0},on:{"click-icon":r.toggleMuteVideo,"click-more":r.handleCameraSetting}})],1)]),t("div",{staticClass:"drawer-container"},[t(r.Drawer,{attrs:{"model-value":r.isSettingOpen,modal:!1,title:r.t(r.settingTitle),direction:"rtl","before-close":r.handleDrawerClose,size:480}},["audio"===r.settingTab?t(r.AudioSettingTab,{attrs:{mode:r.SettingMode.DETAIL}}):"video"===r.settingTab?t(r.VideoSettingTab,{attrs:{mode:r.SettingMode.DETAIL,"with-preview":!1}}):e._e()],1)],1)])},h=[],d=r(452),f=r.n(d),p=r(2097),m=r(3927),v=r(3929),g=r(8283),_=r(1342),w=r(4990),b=r(6671),y=r(7357),S=r(3681),k=r(4237),C=r(4679),A=r(3235),I=r(6419),T=(0,n.defineComponent)({__name:"StreamPreview",setup(e,{expose:t}){const r=(0,w.A)(),{t:i}=(0,y.Q)(),o=(0,n.ref)(0),a=(0,k.Al)(),s=(0,S.Z)();t({getRoomParam:M,startStreamPreview:x});const l={isOpenCamera:!0,isOpenMicrophone:!0,defaultCameraId:"",defaultMicrophoneId:"",defaultSpeakerId:""},c=(0,n.ref)(),u=(0,n.ref)(!0),h=(0,n.ref)(!1),T=(0,n.ref)(!1),E=(0,n.computed)((()=>T.value?b.Z.CameraOff:b.Z.CameraOn));async function R(){h.value=!h.value,l.isOpenMicrophone=!h.value,h.value?(await(s.instance?.stopMicDeviceTest()),o.value=0):await(s.instance?.startMicDeviceTest({interval:200}))}async function L(){T.value=!T.value,l.isOpenCamera=!T.value,T.value?await(s.instance?.stopCameraDeviceTest()):await(s.instance?.startCameraDeviceTest({view:"stream-preview"}))}function M(){return l.defaultCameraId=r.currentCameraId,l.defaultMicrophoneId=r.currentMicrophoneId,l.defaultSpeakerId=r.currentSpeakerId,l}const U=e=>{o.value=e};async function x(){const e=await(s.instance?.getCameraDevicesList()),t=await(s.instance?.getMicDevicesList()),n=await(s.instance?.getSpeakerDevicesList()),o=e&&e.length>0,a=t&&t.length>0;let l="";o&&!a?l="Microphone not detected on current device":!o&&a?l="Camera not detected on current device":o||a||(l="Camera And Microphone not detected on current device"),l&&A.T.alert(i(l),i("Note"),{customClass:"custom-element-class",confirmButtonText:i("Confirm")}),e&&r.setCameraList(e),t&&r.setMicrophoneList(t),n&&r.setSpeakerList(n);const c=s.instance?.getCurrentCameraDevice(),h=s.instance?.getCurrentMicDevice(),d=s.instance?.getCurrentSpeakerDevice();c&&c.deviceId&&r.setCurrentCameraId(c.deviceId),h&&h.deviceId&&r.setCurrentMicrophoneId(h.deviceId),d&&d.deviceId&&r.setCurrentSpeakerId(d.deviceId),o&&await(s.instance?.startCameraDeviceTest({view:"stream-preview"})),a&&await(s.instance?.startMicDeviceTest({interval:200})),u.value=!1}async function D(e){const t=["add","remove","active"],{deviceId:n,type:i,state:o}=e;if(i===d.TRTCDeviceType.TRTCDeviceTypeMic){I.Z.log(`onDeviceChange: deviceId: ${n}, type: microphone, state: ${t[o]}`);const e=await(s.instance?.getMicDevicesList());return r.setMicrophoneList(e),void(o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentMicrophoneId(n))}if(i===d.TRTCDeviceType.TRTCDeviceTypeSpeaker){I.Z.log(`onDeviceChange: deviceId: ${n}, type: speaker, state: ${t[o]}`);const e=await(s.instance?.getSpeakerDevicesList());return r.setSpeakerList(e),void(o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentSpeakerId(n))}if(i===d.TRTCDeviceType.TRTCDeviceTypeCamera){I.Z.log(`onDeviceChange: deviceId: ${n}, type: camera, state: ${t[o]}`);const e=await(s.instance?.getCameraDevicesList());r.setCameraList(e),o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentCameraId(n)}}f().once("ready",(async()=>{const e=s.instance?.getTRTCCloud();e?.on("onTestMicVolume",U),s.instance?.on(d.TUIRoomEvents.onDeviceChange,D)})),(0,n.onBeforeUnmount)((async()=>{await(s.instance?.stopCameraDeviceTest()),await(s.instance?.stopMicDeviceTest());const e=s.instance?.getTRTCCloud();e?.off("onTestMicVolume",U),s.instance?.off(d.TUIRoomEvents.onDeviceChange,D)}));const O=(0,n.ref)(!1),N=(0,n.ref)(""),B=(0,n.ref)("");function P(){O.value=!0,N.value="Mic settings",B.value="audio"}function z(){O.value=!0,N.value="Camera settings",B.value="video"}function F(e){B.value="",O.value=!1,e()}return{__sfc:!0,roomStore:r,t:i,audioVolume:o,isElectron:a,roomEngine:s,tuiRoomParam:l,streamPreviewRef:c,loading:u,isMicMuted:h,isCameraMuted:T,cameraIconName:E,toggleMuteAudio:R,toggleMuteVideo:L,getRoomParam:M,onUserVoiceVolume:U,startStreamPreview:x,onDeviceChange:D,isSettingOpen:O,settingTitle:N,settingTab:B,handleMicSetting:P,handleCameraSetting:z,handleDrawerClose:F,IconButton:p.Z,SettingMode:m.n,AudioSettingTab:v.Z,VideoSettingTab:g.Z,AudioIcon:_.Z,Drawer:C.Z}}}),E=T,R=r(3736),L=(0,R.Z)(E,u,h,!1,null,null,null),M=L.exports,U=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"control-container"},[r.showRoomDetail?e._e():t("div",{staticClass:"container-header"},[t("div",[r.isEN?t("div",{staticClass:"login-logo"},[t("img",{staticClass:"login-top",attrs:{src:r.logoEn}})]):t("div",{staticClass:"container-icon"},[t(r.SvgIcon,{staticClass:"tencent-cloud",attrs:{"icon-name":"tencent-cloud",size:"custom"}}),t(r.SvgIcon,{staticClass:"tencent-cloud-text",attrs:{"icon-name":"tencent-cloud-text",size:"custom"}})],1)]),t("div",{staticClass:"container-bottom"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.enterRoom,expression:"enterRoom"}],staticClass:"join-room"},[t(r.SvgIcon,{staticClass:"enter-icon",attrs:{"icon-name":"enter-room",size:"custom"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Join Room")))])],1),t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.createRoom,expression:"createRoom"}],staticClass:"create-room"},[t(r.SvgIcon,{staticClass:"add-icon",attrs:{"icon-name":"add-icon",size:"custom"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("New Room")))])],1)])]),r.showRoomDetail||r.hasGivenRoomId?t("div",{staticClass:"room-detail"},[t("div",{staticClass:"room-detail-header"},[t(r.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:r.handleClose,expression:"handleClose"}],staticClass:"close-icon",attrs:{"icon-name":"close-back",size:"custom"}}),r.isJoinRoom||r.hasGivenRoomId?t("span",{staticClass:"room-detail-header-title"},[e._v(e._s(r.t("Join Room")))]):t("span",{staticClass:"room-detail-header-title"},[e._v(e._s(r.t("New Room")))])],1),t("div",{staticClass:"room-detail-middle"},[t("div",{staticClass:"room-detail-info"},[r.isJoinRoom||r.hasGivenRoomId?t("div",{staticClass:"room-detail-info-box"},[t("span",{staticClass:"room-detail-title"},[e._v(" "+e._s(r.t("Room ID")))]),t("input",{directives:[{name:"model",rawName:"v-model",value:r.roomId,expression:"roomId"}],staticClass:"roomid-input",attrs:{type:"number",placeholder:r.t("Enter room ID"),maxlength:"10",enterkeyhint:"complete"},domProps:{value:r.roomId},on:{keyup:r.handleInput,input:function(e){e.target.composing||(r.roomId=e.target.value)}}})]):t("div",{staticClass:"room-detail-info-box",on:{click:r.chooseRoomType}},[t("span",{staticClass:"room-detail-title"},[e._v(" "+e._s(r.t("Room Type")))]),t("div",{staticClass:"room-show-title"},[t("span",{staticClass:"room-show-title"},[e._v(e._s(r.roomType))])]),t(r.SvgIcon,{staticClass:"chevron-down-icon",attrs:{"icon-name":"chevron-down",size:"custom"}})],1),t("div",{staticClass:"room-detail-info-box"},[t("span",{staticClass:"room-detail-title"},[e._v(e._s(r.t("Your Name")))]),t("input",{directives:[{name:"model",rawName:"v-model",value:r.currentUserName,expression:"currentUserName"}],staticClass:"roomid-input",attrs:{enterkeyhint:"complete",maxlength:"16",minlength:"1"},domProps:{value:r.currentUserName},on:{keyup:r.handleInputName,input:function(e){e.target.composing||(r.currentUserName=e.target.value)}}})])]),t("div",{staticClass:"room-detail-setting"},[t("div",{staticClass:"room-detail-setting-list"},[e._v(" "+e._s(r.t("Turn on the microphone"))+" "),t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.toggle("isMicOn"),expression:"() => toggle('isMicOn')"}],staticClass:"slider-box",class:[r.isMicOn&&"slider-open"]},[t("span",{staticClass:"slider-block"})])]),t("div",{staticClass:"room-detail-setting-list"},[e._v(" "+e._s(r.t("Turn on the video"))+" "),t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.toggle("isCamerOn"),expression:"() => toggle('isCamerOn')"}],staticClass:"slider-box",class:[r.isCamerOn&&"slider-open"]},[t("span",{staticClass:"slider-block"})])])])]),t("div",{staticClass:"room-detail-bottom"},[r.isJoinRoom||r.hasGivenRoomId?t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.handleRoomOption("Join"),expression:"() => handleRoomOption('Join')"}],staticClass:"button"},[e._v(e._s(r.t("Join Room")))]):t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.handleRoomOption("New"),expression:"() => handleRoomOption('New')"}],staticClass:"button"},[e._v(e._s(r.t("New Room")))])])]):e._e(),r.showMoreType?t("div",{staticClass:"room-choose-mobile"},[t("div",{ref:"moreTypeRef",class:[r.showMoreType?"room-type-container":"close-room-type-container"]},[t("div",{staticClass:"room-choose-button"},[t("span",{staticClass:"choose-cancel",on:{click:function(e){r.showMoreType=!1}}},[e._v(e._s(r.t("Cancel")))]),t("span",{directives:[{name:"tap",rawName:"v-tap",value:r.handleConfirm,expression:"handleConfirm"}],staticClass:"choose-confirm"},[e._v(e._s(r.t("Sure")))])]),t("div",{staticClass:"room-type-hidden"},[t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.chooseCurrentType("FreeToSpeak"),expression:"() => chooseCurrentType('FreeToSpeak')"}],staticClass:"room-choose-title",class:["FreeToSpeak"===r.mode&&"room-current-title"]},[e._v(e._s(r.t("Free Speech Room")))]),t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.chooseCurrentType("SpeakAfterTakingSeat"),expression:"() => chooseCurrentType('SpeakAfterTakingSeat')"}],staticClass:"room-choose-title",class:["SpeakAfterTakingSeat"===r.mode&&"room-current-title"]},[e._v(e._s(r.t("Raise Hand Room")))])])])]):e._e()])},x=[],D=r(6316),O=r.p+"img/logo.2972e3c8.png",N=r.p+"img/logo-en.a0a06d09.png";function B(){const e=(0,n.computed)((()=>"zh-CN"===y.Z.global.locale.value?O:N)),t=(0,n.computed)((()=>"en-US"===y.Z.global.locale.value)),r=(0,n.ref)(!1),{t:i}=(0,y.Q)();return{logo:e,isEN:t,logoEn:N,t:i,showCreateRoomOption:r}}r(5175);var P=(0,n.defineComponent)({__name:"RoomControlH5",props:{userName:null,givenRoomId:null},emits:["create-room","enter-room","update-user-name"],setup(e,{expose:t,emit:r}){const i=e,{logoEn:o,t:a,isEN:s}=B(),l=(0,n.ref)(),c=(0,w.A)(),u=(0,n.ref)(!1),h=(0,n.ref)(!1),d=(0,n.ref)(!1),f=(0,n.computed)((()=>"FreeToSpeak"===v.value?a("Free Speech Room"):a("Raise Hand Room"))),p=(0,n.ref)(!0),m=(0,n.ref)(!0),v=(0,n.ref)("FreeToSpeak"),g=(0,n.ref)(""),_={isOpenCamera:!0,isOpenMicrophone:!0,defaultCameraId:"",defaultMicrophoneId:"",defaultSpeakerId:""};t({getRoomParam:R});const b=(0,n.ref)(i.userName||`user_${Math.ceil(10*Math.random())}`),y=(0,n.computed)((()=>"string"===typeof i.givenRoomId&&""!==i.givenRoomId));function S(){u.value=!u.value,d.value=!1}function k(){u.value=!u.value,d.value=!0}function C(){h.value=!h.value}function A(e){v.value=e}function I(){h.value=!h.value}function T(){u.value=!1,h.value=!1}function E(e){switch(e){case"isMicOn":p.value=!p.value,_.isOpenMicrophone=p.value;break;case"isCamerOn":m.value=!m.value,_.isOpenCamera=m.value;break;default:break}}function R(){return _.defaultCameraId=c.currentCameraId,_.defaultMicrophoneId=c.currentMicrophoneId,_.defaultSpeakerId=c.currentSpeakerId,_}function L(e){g.value=e.target.value}function M(e){b.value=e.target.value}function U(e){h.value&&!l.value.contains(e.target)&&(h.value=!1)}function x(e){switch(r("update-user-name",b.value),e){case"Join":r("enter-room",String(g.value));break;case"New":r("create-room",v.value);break;default:break}}return(0,n.watch)((()=>i.givenRoomId),(e=>{e&&(g.value=e)}),{immediate:!0}),(0,n.onMounted)((()=>{document?.addEventListener("click",U,!0)})),(0,n.onUnmounted)((()=>{document?.removeEventListener("click",U,!0)})),{__sfc:!0,logoEn:o,t:a,isEN:s,moreTypeRef:l,roomStore:c,showRoomDetail:u,showMoreType:h,isJoinRoom:d,roomType:f,isMicOn:p,isCamerOn:m,mode:v,roomId:g,tuiRoomParam:_,emit:r,props:i,currentUserName:b,hasGivenRoomId:y,createRoom:S,enterRoom:k,chooseRoomType:C,chooseCurrentType:A,handleConfirm:I,handleClose:T,toggle:E,getRoomParam:R,handleInput:L,handleInputName:M,handleDocumentClick:U,handleRoomOption:x,SvgIcon:D.Z}}}),z=P,F=(0,R.Z)(z,U,x,!1,null,"6b65407c",null),Z=F.exports,V=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"control-container"},[t("div",{staticClass:"control-content"},[t("img",{directives:[{name:"show",rawName:"v-show",value:e.showLogo,expression:"showLogo"}],staticClass:"logo",attrs:{src:r.logo}}),r.hasGivenRoomId?t("div",{staticClass:"control-region"},[t("span",{staticClass:"invite-title"},[e._v(e._s(r.t("Join the room ?")))]),t("span",{staticClass:"invite-info"},[e._v(e._s(r.t("You are invited to room "))+e._s(`${e.givenRoomId} `)+e._s(r.t("Room")))]),t("div",{staticClass:"button enter-given-room-button",on:{click:r.enterGivenRoom}},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Join")))])])]):t("div",{staticClass:"control-region"},[t("div",{staticClass:"button create-room-button",attrs:{type:"primary"},on:{mouseenter:r.handleMouseEnter,mouseleave:r.handleMouseLeave}},[t("div",{staticClass:"create-room"},[t(r.SvgIcon,{attrs:{"icon-name":"add-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("New Room")))])],1),t("div",{staticClass:"connect-region"}),t("div",{directives:[{name:"show",rawName:"v-show",value:r.showCreateRoomOption,expression:"showCreateRoomOption"}],staticClass:"create-room-mode"},[t("div",{staticClass:"create-room-option",on:{click:function(e){return r.createRoom("FreeToSpeak")}}},[t(r.SvgIcon,{staticClass:"icon",attrs:{"icon-name":"free-speech-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Free Speech Room")))])],1),t("div",{staticClass:"create-room-option",on:{click:function(e){return r.createRoom("SpeakAfterTakingSeat")}}},[t(r.SvgIcon,{staticClass:"icon",attrs:{"icon-name":"apply-speech-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Raise Hand Room")))])],1)])]),t("div",{staticClass:"button join-room-button",attrs:{type:"primary"},on:{click:r.enterRoom}},[t("input",{directives:[{name:"model",rawName:"v-model",value:r.roomId,expression:"roomId"}],staticClass:"input",attrs:{placeholder:r.t("Enter room ID"),maxlength:"10"},domProps:{value:r.roomId},on:{click:function(e){e.stopPropagation()},input:function(e){e.target.composing||(r.roomId=e.target.value)}}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Join Room")))])])])])])},j=[],H=(0,n.defineComponent)({__name:"RoomControlPC",props:{showLogo:{type:Boolean,default:!0},givenRoomId:null},emits:["create-room","enter-room"],setup(e,{emit:t}){const r=e,{logo:i,showCreateRoomOption:o,t:a}=B(),s=(0,n.computed)((()=>"string"===typeof r.givenRoomId&&""!==r.givenRoomId)),l=(0,n.ref)("");function c(){t("enter-room",r.givenRoomId)}function u(){o.value=!0}function h(){o.value=!1}function d(e){t("create-room",e)}function f(){l.value&&t("enter-room",String(l.value))}return(0,n.watch)(l,(e=>{l.value=e.replace(/[^\d]/g,"")})),{__sfc:!0,logo:i,showCreateRoomOption:o,t:a,props:r,hasGivenRoomId:s,roomId:l,emit:t,enterGivenRoom:c,handleMouseEnter:u,handleMouseLeave:h,createRoom:d,enterRoom:f,SvgIcon:D.Z}}}),G=H,Y=(0,R.Z)(G,V,j,!1,null,"e855f218",null),W=Y.exports,Q=r(2843);const K=Q.t?Z:W;var q=K,X=(r(541),r(2087),"undefined"!=typeof r.g?r.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),J=[],$=[],ee="undefined"!=typeof Uint8Array?Uint8Array:Array,te=!1;function re(){te=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+J[i>>12&63]+J[i>>6&63]+J[63&i]);return o.join("")}function ie(e){var t;te||re();for(var r=e.length,n=r%3,i="",o=[],a=0,s=r-n;as?s:a+16383));return 1===n?(t=e[r-1],i+=J[t>>2],i+=J[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=J[t>>10],i+=J[t>>4&63],i+=J[t<<2&63],i+="="),o.push(i),o.join("")}function oe(e,t,r,n,i){var o,a,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,d=r?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-u)-1,f>>=-u,u+=s;u>0;o=256*o+e[t+h],h+=d,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=c}return(f?-1:1)*a*Math.pow(2,o-n)}function ae(e,t,r,n,i,o){var a,s,l,c=8*o-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(s=0,a=u):a+h>=1?(s=(t*l-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<0;e[r+f]=255&a,f+=p,a/=256,c-=8);e[r+f-p]|=128*m}var se={}.toString,le=Array.isArray||function(e){return"[object Array]"==se.call(e)};function ce(){return he.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function ue(e,t){if(ce()=ce())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ce().toString(16)+" bytes");return 0|e}function ge(e){return!(null==e||!e._isBuffer)}function _e(e,t){if(ge(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Ge(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ye(e).length;default:if(n)return Ge(e).length;t=(""+t).toLowerCase(),n=!0}}function we(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return De(this,t,r);case"utf8":case"utf-8":return Le(this,t,r);case"ascii":return Ue(this,t,r);case"latin1":case"binary":return xe(this,t,r);case"base64":return Re(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function be(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function ye(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=he.from(t,n)),ge(t))return 0===t.length?-1:Se(e,t,r,n,i);if("number"==typeof t)return t&=255,he.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Se(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Se(e,t,r,n,i){var o,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var u=-1;for(o=r;os&&(r=s-l),o=r;o>=0;o--){for(var h=!0,d=0;di&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function Re(e,t,r){return 0===t&&r===e.length?ie(e):ie(e.slice(t,r))}function Le(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[i+1]))&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=Me)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},he.prototype.compare=function(e,t,r,n,i){if(!ge(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(n,i),c=e.slice(t,r),u=0;ui)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return ke(this,e,t,r);case"utf8":case"utf-8":return Ce(this,e,t,r);case"ascii":return Ae(this,e,t,r);case"latin1":case"binary":return Ie(this,e,t,r);case"base64":return Te(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ee(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},he.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Me=4096;function Ue(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function Be(e,t,r,n,i,o){if(!ge(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Pe(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function ze(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function Fe(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ze(e,t,r,n,i){return i||Fe(e,0,r,4),ae(e,t,r,n,23,4),r+4}function Ve(e,t,r,n,i){return i||Fe(e,0,r,8),ae(e,t,r,n,52,8),r+8}he.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},he.prototype.readUInt8=function(e,t){return t||Ne(e,1,this.length),this[e]},he.prototype.readUInt16LE=function(e,t){return t||Ne(e,2,this.length),this[e]|this[e+1]<<8},he.prototype.readUInt16BE=function(e,t){return t||Ne(e,2,this.length),this[e]<<8|this[e+1]},he.prototype.readUInt32LE=function(e,t){return t||Ne(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},he.prototype.readUInt32BE=function(e,t){return t||Ne(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},he.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},he.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},he.prototype.readInt8=function(e,t){return t||Ne(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},he.prototype.readInt16LE=function(e,t){t||Ne(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},he.prototype.readInt16BE=function(e,t){t||Ne(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},he.prototype.readInt32LE=function(e,t){return t||Ne(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},he.prototype.readInt32BE=function(e,t){return t||Ne(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},he.prototype.readFloatLE=function(e,t){return t||Ne(e,4,this.length),oe(this,e,!0,23,4)},he.prototype.readFloatBE=function(e,t){return t||Ne(e,4,this.length),oe(this,e,!1,23,4)},he.prototype.readDoubleLE=function(e,t){return t||Ne(e,8,this.length),oe(this,e,!0,52,8)},he.prototype.readDoubleBE=function(e,t){return t||Ne(e,8,this.length),oe(this,e,!1,52,8)},he.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||Be(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},he.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,1,255,0),he.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},he.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,65535,0),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pe(this,e,t,!0),t+2},he.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,65535,0),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pe(this,e,t,!1),t+2},he.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,4294967295,0),he.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ze(this,e,t,!0),t+4},he.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,4294967295,0),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ze(this,e,t,!1),t+4},he.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Be(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},he.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Be(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},he.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,1,127,-128),he.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},he.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,32767,-32768),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pe(this,e,t,!0),t+2},he.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,32767,-32768),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pe(this,e,t,!1),t+2},he.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,2147483647,-2147483648),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ze(this,e,t,!0),t+4},he.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ze(this,e,t,!1),t+4},he.prototype.writeFloatLE=function(e,t,r){return Ze(this,e,t,!0,r)},he.prototype.writeFloatBE=function(e,t,r){return Ze(this,e,t,!1,r)},he.prototype.writeDoubleLE=function(e,t,r){return Ve(this,e,t,!0,r)},he.prototype.writeDoubleBE=function(e,t,r){return Ve(this,e,t,!1,r)},he.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!he.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Ye(e){return function(e){var t,r,n,i,o,a;te||re();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new ee(3*s/4-o),n=o>0?s-4:s;var l=0;for(t=0,r=0;t>16&255,a[l++]=i>>8&255,a[l++]=255&i;return 2===o?(i=$[e.charCodeAt(t)]<<2|$[e.charCodeAt(t+1)]>>4,a[l++]=255&i):1===o&&(i=$[e.charCodeAt(t)]<<10|$[e.charCodeAt(t+1)]<<4|$[e.charCodeAt(t+2)]>>2,a[l++]=i>>8&255,a[l++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(je,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function We(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Qe(e){return null!=e&&(!!e._isBuffer||Ke(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ke(e.slice(0,0))}(e))}function Ke(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function qe(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof r.g?r.g:"undefined"!=typeof self&&self;var Xe=qe((function(e,t){var r;e.exports=(r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},o=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||l).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){var r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},c=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},u=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},h=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,s=4*o,l=i/s,c=(l=t?e.ceil(l):e.max((0|l)-this._minBufferSize,0))*o,u=e.min(4*c,i);if(c){for(var h=0;h>>2]|=e[i]<<24-i%4*8;t.call(this,n,r)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.WordArray,n=e.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var r=e.length,n=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(n,2*r)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var r=e.length,n=[],o=0;o>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*r)}}}(),r.enc.Utf16)})),qe((function(e,t){var r,n,i;e.exports=(i=(n=r=Xe).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s>>6*(3-s)&63));var l=n.charAt(64);if(l)for(;i.length%4;)i.push(l);return i.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-a%4*2;n[o>>>2]|=(s|l)<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},r.enc.Base64)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[];!function(){for(var t=0;t<64;t++)s[t]=4294967296*e.abs(e.sin(t+1))|0}();var l=a.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],l=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],v=e[t+5],g=e[t+6],_=e[t+7],w=e[t+8],b=e[t+9],y=e[t+10],S=e[t+11],k=e[t+12],C=e[t+13],A=e[t+14],I=e[t+15],T=o[0],E=o[1],R=o[2],L=o[3];T=c(T,E,R,L,a,7,s[0]),L=c(L,T,E,R,l,12,s[1]),R=c(R,L,T,E,f,17,s[2]),E=c(E,R,L,T,p,22,s[3]),T=c(T,E,R,L,m,7,s[4]),L=c(L,T,E,R,v,12,s[5]),R=c(R,L,T,E,g,17,s[6]),E=c(E,R,L,T,_,22,s[7]),T=c(T,E,R,L,w,7,s[8]),L=c(L,T,E,R,b,12,s[9]),R=c(R,L,T,E,y,17,s[10]),E=c(E,R,L,T,S,22,s[11]),T=c(T,E,R,L,k,7,s[12]),L=c(L,T,E,R,C,12,s[13]),R=c(R,L,T,E,A,17,s[14]),T=u(T,E=c(E,R,L,T,I,22,s[15]),R,L,l,5,s[16]),L=u(L,T,E,R,g,9,s[17]),R=u(R,L,T,E,S,14,s[18]),E=u(E,R,L,T,a,20,s[19]),T=u(T,E,R,L,v,5,s[20]),L=u(L,T,E,R,y,9,s[21]),R=u(R,L,T,E,I,14,s[22]),E=u(E,R,L,T,m,20,s[23]),T=u(T,E,R,L,b,5,s[24]),L=u(L,T,E,R,A,9,s[25]),R=u(R,L,T,E,p,14,s[26]),E=u(E,R,L,T,w,20,s[27]),T=u(T,E,R,L,C,5,s[28]),L=u(L,T,E,R,f,9,s[29]),R=u(R,L,T,E,_,14,s[30]),T=h(T,E=u(E,R,L,T,k,20,s[31]),R,L,v,4,s[32]),L=h(L,T,E,R,w,11,s[33]),R=h(R,L,T,E,S,16,s[34]),E=h(E,R,L,T,A,23,s[35]),T=h(T,E,R,L,l,4,s[36]),L=h(L,T,E,R,m,11,s[37]),R=h(R,L,T,E,_,16,s[38]),E=h(E,R,L,T,y,23,s[39]),T=h(T,E,R,L,C,4,s[40]),L=h(L,T,E,R,a,11,s[41]),R=h(R,L,T,E,p,16,s[42]),E=h(E,R,L,T,g,23,s[43]),T=h(T,E,R,L,b,4,s[44]),L=h(L,T,E,R,k,11,s[45]),R=h(R,L,T,E,I,16,s[46]),T=d(T,E=h(E,R,L,T,f,23,s[47]),R,L,a,6,s[48]),L=d(L,T,E,R,_,10,s[49]),R=d(R,L,T,E,A,15,s[50]),E=d(E,R,L,T,v,21,s[51]),T=d(T,E,R,L,k,6,s[52]),L=d(L,T,E,R,p,10,s[53]),R=d(R,L,T,E,y,15,s[54]),E=d(E,R,L,T,l,21,s[55]),T=d(T,E,R,L,w,6,s[56]),L=d(L,T,E,R,I,10,s[57]),R=d(R,L,T,E,g,15,s[58]),E=d(E,R,L,T,C,21,s[59]),T=d(T,E,R,L,m,6,s[60]),L=d(L,T,E,R,S,10,s[61]),R=d(R,L,T,E,f,15,s[62]),E=d(E,R,L,T,b,21,s[63]),o[0]=o[0]+T|0,o[1]=o[1]+E|0,o[2]=o[2]+R|0,o[3]=o[3]+L|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var o=e.floor(n/4294967296),a=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var s=this._hash,l=s.words,c=0;c<4;c++){var u=l[c];l[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function c(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<>>32-o)+t}function u(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<>>32-o)+t}function h(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<>>32-o)+t}function d(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(l),t.HmacMD5=o._createHmacHelper(l)}(Math),r.MD5)})),qe((function(e,t){var r,n,i,o,a,s,l,c;e.exports=(i=(n=r=Xe).lib,o=i.WordArray,a=i.Hasher,s=n.algo,l=[],c=s.SHA1=a.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],c=0;c<80;c++){if(c<16)l[c]=0|e[t+c];else{var u=l[c-3]^l[c-8]^l[c-14]^l[c-16];l[c]=u<<1|u>>>31}var h=(n<<5|n>>>27)+s+l[c];h+=c<20?1518500249+(i&o|~i&a):c<40?1859775393+(i^o^a):c<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=n,n=h}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),n.SHA1=a._createHelper(c),n.HmacSHA1=a._createHmacHelper(c),r.SHA1)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[],l=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),l[i]=r(e.pow(n,1/3)),i++),n++}();var c=[],u=a.SHA256=o.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],h=r[6],d=r[7],f=0;f<64;f++){if(f<16)c[f]=0|e[t+f];else{var p=c[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,v=c[f-2],g=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;c[f]=m+c[f-7]+g+c[f-16]}var _=n&i^n&o^i&o,w=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),b=d+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&u^~s&h)+l[f]+c[f];d=h,h=u,u=s,s=a+b|0,a=o,o=i,i=n,n=b+(w+_)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+u|0,r[6]=r[6]+h|0,r[7]=r[7]+d|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),r.SHA256)})),qe((function(e,t){var r,n,i,o,a,s;e.exports=(i=(n=r=Xe).lib.WordArray,o=n.algo,a=o.SHA256,s=o.SHA224=a.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),n.SHA224=a._createHelper(s),n.HmacSHA224=a._createHmacHelper(s),r.SHA224)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.Hasher,n=e.x64,i=n.Word,o=n.WordArray,a=e.algo;function s(){return i.create.apply(i,arguments)}var l=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],c=[];!function(){for(var e=0;e<80;e++)c[e]=s()}();var u=a.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],h=r[6],d=r[7],f=n.high,p=n.low,m=i.high,v=i.low,g=o.high,_=o.low,w=a.high,b=a.low,y=s.high,S=s.low,k=u.high,C=u.low,A=h.high,I=h.low,T=d.high,E=d.low,R=f,L=p,M=m,U=v,x=g,D=_,O=w,N=b,B=y,P=S,z=k,F=C,Z=A,V=I,j=T,H=E,G=0;G<80;G++){var Y=c[G];if(G<16)var W=Y.high=0|e[t+2*G],Q=Y.low=0|e[t+2*G+1];else{var K=c[G-15],q=K.high,X=K.low,J=(q>>>1|X<<31)^(q>>>8|X<<24)^q>>>7,$=(X>>>1|q<<31)^(X>>>8|q<<24)^(X>>>7|q<<25),ee=c[G-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=c[G-7],ae=oe.high,se=oe.low,le=c[G-16],ce=le.high,ue=le.low;W=(W=(W=J+ae+((Q=$+se)>>>0<$>>>0?1:0))+ne+((Q+=ie)>>>0>>0?1:0))+ce+((Q+=ue)>>>0>>0?1:0),Y.high=W,Y.low=Q}var he,de=B&z^~B&Z,fe=P&F^~P&V,pe=R&M^R&x^M&x,me=L&U^L&D^U&D,ve=(R>>>28|L<<4)^(R<<30|L>>>2)^(R<<25|L>>>7),ge=(L>>>28|R<<4)^(L<<30|R>>>2)^(L<<25|R>>>7),_e=(B>>>14|P<<18)^(B>>>18|P<<14)^(B<<23|P>>>9),we=(P>>>14|B<<18)^(P>>>18|B<<14)^(P<<23|B>>>9),be=l[G],ye=be.high,Se=be.low,ke=j+_e+((he=H+we)>>>0>>0?1:0),Ce=ge+me;j=Z,H=V,Z=z,V=F,z=B,F=P,B=O+(ke=(ke=(ke=ke+de+((he+=fe)>>>0>>0?1:0))+ye+((he+=Se)>>>0>>0?1:0))+W+((he+=Q)>>>0>>0?1:0))+((P=N+he|0)>>>0>>0?1:0)|0,O=x,N=D,x=M,D=U,M=R,U=L,R=ke+(ve+pe+(Ce>>>0>>0?1:0))+((L=he+Ce|0)>>>0>>0?1:0)|0}p=n.low=p+L,n.high=f+R+(p>>>0>>0?1:0),v=i.low=v+U,i.high=m+M+(v>>>0>>0?1:0),_=o.low=_+D,o.high=g+x+(_>>>0>>0?1:0),b=a.low=b+N,a.high=w+O+(b>>>0>>0?1:0),S=s.low=S+P,s.high=y+B+(S>>>0

>>0?1:0),C=u.low=C+F,u.high=k+z+(C>>>0>>0?1:0),I=h.low=I+V,h.high=A+Z+(I>>>0>>0?1:0),E=d.low=E+H,d.high=T+j+(E>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(u),e.HmacSHA512=t._createHmacHelper(u)}(),r.SHA512)})),qe((function(e,t){var r,n,i,o,a,s,l,c;e.exports=(i=(n=r=Xe).x64,o=i.Word,a=i.WordArray,s=n.algo,l=s.SHA512,c=s.SHA384=l.extend({_doReset:function(){this._hash=new a.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var e=l._doFinalize.call(this);return e.sigBytes-=16,e}}),n.SHA384=l._createHelper(c),n.HmacSHA384=l._createHmacHelper(c),r.SHA384)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.x64.Word,s=t.algo,l=[],c=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){l[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)c[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,h=0,d=0;d<7;d++){if(1&i){var f=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(E=r[i]).high^=a,E.low^=o}for(var s=0;s<24;s++){for(var d=0;d<5;d++){for(var f=0,p=0,m=0;m<5;m++)f^=(E=r[d+5*m]).high,p^=E.low;var v=h[d];v.high=f,v.low=p}for(d=0;d<5;d++){var g=h[(d+4)%5],_=h[(d+1)%5],w=_.high,b=_.low;for(f=g.high^(w<<1|b>>>31),p=g.low^(b<<1|w>>>31),m=0;m<5;m++)(E=r[d+5*m]).high^=f,E.low^=p}for(var y=1;y<25;y++){var S=(E=r[y]).high,k=E.low,C=l[y];C<32?(f=S<>>32-C,p=k<>>32-C):(f=k<>>64-C,p=S<>>64-C);var A=h[c[y]];A.high=f,A.low=p}var I=h[0],T=r[0];for(I.high=T.high,I.low=T.low,d=0;d<5;d++)for(m=0;m<5;m++){var E=r[y=d+5*m],R=h[y],L=h[(d+1)%5+5*m],M=h[(d+2)%5+5*m];E.high=R.high^~L.high&M.high,E.low=R.low^~L.low&M.low}E=r[0];var U=u[s];E.high^=U.high,E.low^=U.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,l=s/8,c=[],u=0;u>>24)|4278255360&(d<<24|d>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),c.push(f),c.push(d)}return new i.init(c,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(d),t.HmacSHA3=o._createHmacHelper(d)}(Math),r.SHA3)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),l=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),c=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=i.create([0,1518500249,1859775393,2400959708,2840853838]),d=i.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,a,f,b,y,S,k,C,A,I,T,E=this._hash.words,R=h.words,L=d.words,M=s.words,U=l.words,x=c.words,D=u.words;for(S=o=E[0],k=a=E[1],C=f=E[2],A=b=E[3],I=y=E[4],r=0;r<80;r+=1)T=o+e[t+M[r]]|0,T+=r<16?p(a,f,b)+R[0]:r<32?m(a,f,b)+R[1]:r<48?v(a,f,b)+R[2]:r<64?g(a,f,b)+R[3]:_(a,f,b)+R[4],T=(T=w(T|=0,x[r]))+y|0,o=y,y=b,b=w(f,10),f=a,a=T,T=S+e[t+U[r]]|0,T+=r<16?_(k,C,A)+L[0]:r<32?g(k,C,A)+L[1]:r<48?v(k,C,A)+L[2]:r<64?m(k,C,A)+L[3]:p(k,C,A)+L[4],T=(T=w(T|=0,D[r]))+I|0,S=I,I=A,A=w(C,10),C=k,k=T;T=E[1]+f+A|0,E[1]=E[2]+b+I|0,E[2]=E[3]+y+S|0,E[3]=E[4]+o+k|0,E[4]=E[0]+a+C|0,E[0]=T},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function v(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function w(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(f),t.HmacRIPEMD160=o._createHmacHelper(f)}(),r.RIPEMD160)})),qe((function(e,t){var r,n,i,o,a,s;e.exports=(n=(r=Xe).lib,i=n.Base,o=r.enc,a=o.Utf8,s=r.algo,void(s.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,l=o.words,c=0;c>>2];e.sigBytes-=t}},o.BlockCipher=f.extend({cfg:f.cfg.extend({mode:v,padding:_}),reset:function(){f.reset.call(this);var e=this.cfg,t=e.iv,r=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{n=r.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==n?this._mode.init(this,t&&t.words):(this._mode=n.call(r,this,t&&t.words),this._mode.__creator=n)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{t=this._process(!0);e.unpad(t)}return t},blockSize:4}),w=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),b=i.format={},y=b.OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;if(r)var n=s.create([1398893684,1701076831]).concat(r).concat(t);else n=t;return n.toString(u)},parse:function(e){var t=u.parse(e),r=t.words;if(1398893684==r[0]&&1701076831==r[1]){var n=s.create(r.slice(2,4));r.splice(0,4),t.sigBytes-=16}return w.create({ciphertext:t,salt:n})}},S=o.SerializableCipher=a.extend({cfg:a.extend({format:y}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return w.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=e.createDecryptor(r,n).finalize(t.ciphertext);return i},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),k=i.kdf={},C=k.OpenSSL={execute:function(e,t,r,n){n||(n=s.random(8));var i=d.create({keySize:t+r}).compute(e,n),o=s.create(i.words.slice(t),4*r);return i.sigBytes=4*t,w.create({key:i,iv:o,salt:n})}},A=o.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:C}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize);n.iv=i.iv;var o=S.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt);n.iv=i.iv;var o=S.decrypt.call(this,e,t,i.key,n);return o}})))})),qe((function(e,t){var r;e.exports=((r=Xe).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,n){var i=this._iv;if(i){var o=i.slice(0);this._iv=void 0}else o=this._prevBlock;n.encryptBlock(o,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var n=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var l=0;l>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.Iso10126={pad:function(e,t){var n=4*t,i=n-e.sigBytes%n;e.concat(r.lib.WordArray.random(i-1)).concat(r.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){for(var t=e.words,r=e.sigBytes-1;!(t[r>>>2]>>>24-r%4*8&255);)r--;e.sigBytes=r+1}},r.pad.ZeroPadding)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),qe((function(e,t){var r,n,i,o;e.exports=(i=(n=r=Xe).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(e){return e.ciphertext.toString(o)},parse:function(e){var t=o.parse(e);return i.create({ciphertext:t})}},r.format.Hex)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.BlockCipher,n=e.algo,i=[],o=[],a=[],s=[],l=[],c=[],u=[],h=[],d=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var m=e[r],v=e[m],g=e[v],_=257*e[p]^16843008*p;a[r]=_<<24|_>>>8,s[r]=_<<16|_>>>16,l[r]=_<<8|_>>>24,c[r]=_,_=16843009*g^65537*v^257*m^16843008*r,u[p]=_<<24|_>>>8,h[p]=_<<16|_>>>16,d[p]=_<<8|_>>>24,f[p]=_,r?(r=m^e[e[e[g^m]]],n^=e[e[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(s=i[s>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=p[a/r|0]<<24),o[a]=o[a-r]^s}for(var l=this._invKeySchedule=[],c=0;c>>24]]^h[i[s>>>16&255]]^d[i[s>>>8&255]]^f[i[255&s]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,l,c,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,u,h,d,f,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var l=this._nRounds,c=e[t]^r[0],u=e[t+1]^r[1],h=e[t+2]^r[2],d=e[t+3]^r[3],f=4,p=1;p>>24]^i[u>>>16&255]^o[h>>>8&255]^a[255&d]^r[f++],v=n[u>>>24]^i[h>>>16&255]^o[d>>>8&255]^a[255&c]^r[f++],g=n[h>>>24]^i[d>>>16&255]^o[c>>>8&255]^a[255&u]^r[f++],_=n[d>>>24]^i[c>>>16&255]^o[u>>>8&255]^a[255&h]^r[f++];c=m,u=v,h=g,d=_}m=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[h>>>8&255]<<8|s[255&d])^r[f++],v=(s[u>>>24]<<24|s[h>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^r[f++],g=(s[h>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^r[f++],_=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&h])^r[f++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=_},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib,n=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var c=i[o]=[],u=l[o];for(r=0;r<24;r++)c[r/6|0]|=t[(s[r]-1+u)%28]<<31-r%6,c[4+(r/6|0)]|=t[28+(s[r+24]-1+u)%28]<<31-r%6;for(c[0]=c[0]<<1|c[0]>>>31,r=1;r<7;r++)c[r]=c[r]>>>4*(r-1)+3;c[7]=c[7]<<5|c[7]>>>27}var h=this._invSubKeys=[];for(r=0;r<16;r++)h[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],d.call(this,4,252645135),d.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),d.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,l=0;l<8;l++)s|=c[l][((a^i[l])&u[l])>>>0];this._lBlock=a,this._rBlock=o^s}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,d.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function d(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var l=n[i];n[i]=n[o],n[o]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)l.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=c>>>16|4294901760&u,d=u<<16|65535&c;for(i[0]^=c,i[1]^=h,i[2]^=u,i[3]^=d,i[4]^=c,i[5]^=h,i[6]^=u,i[7]^=d,r=0;r<4;r++)l.call(this)}},_doProcessBlock:function(e,t){var r=this._X;l.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,l=((i*i>>>17)+i*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=l^c}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),r.Rabbit)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)l.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=c>>>16|4294901760&u,d=u<<16|65535&c;for(n[0]^=c,n[1]^=h,n[2]^=u,n[3]^=d,n[4]^=c,n[5]^=h,n[6]^=u,n[7]^=d,i=0;i<4;i++)l.call(this)}},_doProcessBlock:function(e,t){var r=this._X;l.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,l=((i*i>>>17)+i*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=l^c}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),r.RabbitLegacy)})),qe((function(e,t){e.exports=Xe})));function $e(){throw new Error("setTimeout has not been defined")}function et(){throw new Error("clearTimeout has not been defined")}var tt=$e,rt=et;function nt(e){if(tt===setTimeout)return setTimeout(e,0);if((tt===$e||!tt)&&setTimeout)return tt=setTimeout,setTimeout(e,0);try{return tt(e,0)}catch(J){try{return tt.call(null,e,0)}catch(J){return tt.call(this,e,0)}}}"function"==typeof X.setTimeout&&(tt=setTimeout),"function"==typeof X.clearTimeout&&(rt=clearTimeout);var it,ot=[],at=!1,st=-1;function lt(){at&&it&&(at=!1,it.length?ot=it.concat(ot):st=-1,ot.length&&ct())}function ct(){if(!at){var e=nt(lt);at=!0;for(var t=ot.length;t;){for(it=ot,ot=[];++st1)for(var r=1;r0&&a.length>i){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,s=l,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function St(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function kt(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Ct(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}dt.now||dt.mozNow||dt.msNow||dt.oNow||dt.webkitNow,ft.prototype=Object.create(null),pt.EventEmitter=pt,pt.usingDomains=!1,pt.prototype.domain=void 0,pt.prototype._events=void 0,pt.prototype._maxListeners=void 0,pt.defaultMaxListeners=10,pt.init=function(){this.domain=null,pt.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ft,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},pt.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},pt.prototype.getMaxListeners=function(){return mt(this)},pt.prototype.emit=function(e){var t,r,n,i,o,a,s,l="error"===e;if(a=this._events)l=l&&null==a.error;else if(!l)return!1;if(s=this.domain,l){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:vt(r,u,this);break;case 2:gt(r,u,this,arguments[1]);break;case 3:_t(r,u,this,arguments[1],arguments[2]);break;case 4:wt(r,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new ft,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var At="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},It=/%[sdj%]/g;function Tt(e){if(!zt(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Bt(t)?r.showHidden=t:t&&function(e,t){if(!t||!Vt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]]}(r,t),Ft(r.showHidden)&&(r.showHidden=!1),Ft(r.depth)&&(r.depth=2),Ft(r.colors)&&(r.colors=!1),Ft(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ut),Dt(r,e,r.depth)}function Ut(e,t){var r=Mt.styles[t];return r?"["+Mt.colors[r][0]+"m"+e+"["+Mt.colors[r][1]+"m":e}function xt(e,t){return e}function Dt(e,t,r){if(e.customInspect&&t&&Gt(t.inspect)&&t.inspect!==Mt&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return zt(n)||(n=Dt(e,n,r)),n}var i=function(e,t){if(Ft(t))return e.stylize("undefined","undefined");if(zt(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return n=t,"number"==typeof n?e.stylize(""+t,"number"):Bt(t)?e.stylize(""+t,"boolean"):Pt(t)?e.stylize("null","null"):void 0;var n}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Ht(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return Ot(t);if(0===o.length){if(Gt(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Zt(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(jt(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Ht(t))return Ot(t)}var l,c,u="",h=!1,d=["{","}"];return l=t,Array.isArray(l)&&(h=!0,d=["[","]"]),Gt(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),Zt(t)&&(u=" "+RegExp.prototype.toString.call(t)),jt(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Ht(t)&&(u=" "+Ot(t)),0!==o.length||h&&0!=t.length?r<0?Zt(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=h?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,u,d)):d[0]+u+d[1]}function Ot(e){return"["+Error.prototype.toString.call(e)+"]"}function Nt(e,t,r,n,i,o){var a,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),Wt(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=Pt(r)?Dt(e,l.value,null):Dt(e,l.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Ft(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function Bt(e){return"boolean"==typeof e}function Pt(e){return null===e}function zt(e){return"string"==typeof e}function Ft(e){return void 0===e}function Zt(e){return Vt(e)&&"[object RegExp]"===Yt(e)}function Vt(e){return"object"==typeof e&&null!==e}function jt(e){return Vt(e)&&"[object Date]"===Yt(e)}function Ht(e){return Vt(e)&&("[object Error]"===Yt(e)||e instanceof Error)}function Gt(e){return"function"==typeof e}function Yt(e){return Object.prototype.toString.call(e)}function Wt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Qt(){this.head=null,this.tail=null,this.length=0}Mt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Mt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Qt.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Qt.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Qt.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Qt.prototype.clear=function(){this.head=this.tail=null,this.length=0},Qt.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Qt.prototype.concat=function(e){if(0===this.length)return he.alloc(0);if(1===this.length)return this.head.data;for(var t=he.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Kt=he.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function qt(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Kt(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Jt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=$t;break;default:return void(this.write=Xt)}this.charBuffer=new he(6),this.charReceived=0,this.charLength=0}function Xt(e){return e.toString(this.encoding)}function Jt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function $t(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}qt.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n,i=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),i=(t+=e.toString(this.encoding,0,i)).length-1,(n=t.charCodeAt(i))>=55296&&n<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,i)}return t},qt.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},qt.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t},rr.ReadableState=tr;var er=function(e){return Ft(Rt)&&(Rt=""),e=e.toUpperCase(),Lt[e]||(new RegExp("\\b"+e+"\\b","i").test(Rt)?Lt[e]=function(){var t=Tt.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:Lt[e]=function(){}),Lt[e]}("stream");function tr(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Lr&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Qt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new qt(e.encoding),this.encoding=e.encoding)}function rr(e){if(!(this instanceof rr))return new rr(e);this._readableState=new tr(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),pt.call(this)}function nr(e,t,r,n,i){var o=function(e,t){var r=null;return Qe(t)||"string"==typeof t||null==t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}(t,r);if(o)e.emit("error",o);else if(null===r)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,ar(e)}}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var l;!t.decoder||i||n||(r=t.decoder.write(r),l=!t.objectMode&&0===r.length),i||(t.reading=!1),l||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&ar(e))),function(e,t){t.readingMore||(t.readingMore=!0,ut(lr,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=ir?e=ir:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function ar(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(er("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?ut(sr,e):sr(e))}function sr(e){er("emit readable"),e.emit("readable"),hr(e)}function lr(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;return eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=he.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t),n}(e,t.buffer,t.decoder),r);var r}function fr(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,ut(pr,t,e))}function pr(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function mr(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return er("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?fr(this):ar(this),null;if(0===(e=or(e,t))&&t.ended)return 0===t.length&&fr(this),null;var n,i=t.needReadable;return er("need readable",i),(0===t.length||t.length-e0?dr(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&fr(this)),null!==n&&this.emit("data",n),n},rr.prototype._read=function(e){this.emit("error",new Error("not implemented"))},rr.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,er("pipe count=%d opts=%j",n.pipesCount,t);var i=t&&!1===t.end?c:a;function o(e){er("onunpipe"),e===r&&c()}function a(){er("onend"),e.end()}n.endEmitted?ut(i):r.once("end",i),e.on("unpipe",o);var s=function(e){return function(){var t=e._readableState;er("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,hr(e))}}(r);e.on("drain",s);var l=!1;function c(){er("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",c),r.removeListener("data",h),l=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var u=!1;function h(t){er("ondata"),u=!1,!1!==e.write(t)||u||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==mr(n.pipes,e))&&!l&&(er("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,u=!0),r.pause())}function d(t){var r;er("onerror",t),m(),e.removeListener("error",d),0===(r="error",e.listeners(r).length)&&e.emit("error",t)}function f(){e.removeListener("finish",p),m()}function p(){er("onfinish"),e.removeListener("close",f),m()}function m(){er("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",r),n.flowing||(er("pipe resume"),r.resume()),e},rr.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},wr.prototype._write=function(e,t,r){r(new Error("not implemented"))},wr.prototype._writev=null,wr.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Ar(e,t),r&&(t.finished?ut(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r)},At(Lr,rr);for(var Tr=Object.keys(wr.prototype),Er=0;Er=0;)e[t]=0}var Kr=0,qr=1,Xr=2,Jr=29,$r=256,en=$r+1+Jr,tn=30,rn=19,nn=2*en+1,on=15,an=16,sn=7,ln=256,cn=16,un=17,hn=18,dn=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],fn=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],mn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],vn=new Array(2*(en+2));Qr(vn);var gn=new Array(2*tn);Qr(gn);var _n=new Array(512);Qr(_n);var wn=new Array(256);Qr(wn);var bn=new Array(Jr);Qr(bn);var yn,Sn,kn,Cn=new Array(tn);function An(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function In(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Tn(e){return e<256?_n[e]:_n[256+(e>>>7)]}function En(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Rn(e,t,r){e.bi_valid>an-r?(e.bi_buf|=t<>an-e.bi_valid,e.bi_valid+=r-an):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function Un(e,t,r){var n,i,o=new Array(on+1),a=0;for(n=1;n<=on;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Mn(o[s]++,s))}}function xn(e){var t;for(t=0;t8?En(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function On(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)Nn(e,o,r);i=l;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Nn(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,Nn(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(o=0;o<=on;o++)e.bl_count[o]=0;for(l[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rp&&(o=p,m++),l[2*n+1]=o,n>c||(e.bl_count[o]++,a=0,n>=f&&(a=d[n-f]),s=l[2*n],e.opt_len+=s*(o+a),h&&(e.static_len+=s*(u[2*n+1]+a)));if(0!==m){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)(i=e.heap[--r])>c||(l[2*i+1]!==o&&(e.opt_len+=(o-l[2*i+1])*l[2*i],l[2*i+1]=o),n--)}}(e,t),Un(o,c,e.bl_count)}function zn(e,t,r){var n,i,o=-1,a=t[1],s=0,l=7,c=4;for(0===a&&(l=138,c=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s>=7;n=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Gn(e,t,r,n){var i,o,a=0;e.level>0?(e.strm.data_type===Wr&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return Gr;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Yr;for(t=32;t<$r;t++)if(0!==e.dyn_ltree[2*t])return Yr;return Gr}(e)),Pn(e,e.l_desc),Pn(e,e.d_desc),a=function(e){var t;for(zn(e,e.dyn_ltree,e.l_desc.max_code),zn(e,e.dyn_dtree,e.d_desc.max_code),Pn(e,e.bl_desc),t=rn-1;t>=3&&0===e.bl_tree[2*mn[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?jn(e,t,r,n):e.strategy===Hr||o===i?(Rn(e,(qr<<1)+(n?1:0),3),Bn(e,vn,gn)):(Rn(e,(Xr<<1)+(n?1:0),3),function(e,t,r,n){var i;for(Rn(e,t-257,5),Rn(e,r-1,5),Rn(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(wn[r]+$r+1)]++,e.dyn_dtree[2*Tn(t)]++),e.last_lit===e.lit_bufsize-1}function Wn(e,t,r,n){for(var i=65535&e|0,o=e>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+t[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}var Qn=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function Kn(e,t,r,n){var i=Qn,o=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}var qn,Xn=0,Jn=1,$n=3,ei=4,ti=5,ri=0,ni=1,ii=-2,oi=-3,ai=-5,si=-1,li=1,ci=2,ui=3,hi=4,di=2,fi=8,pi=9,mi=286,vi=30,gi=19,_i=2*mi+1,wi=15,bi=3,yi=258,Si=yi+bi+1,ki=32,Ci=42,Ai=69,Ii=73,Ti=91,Ei=103,Ri=113,Li=666,Mi=1,Ui=2,xi=3,Di=4,Oi=3;function Ni(e,t){return e.msg=Pr[t],t}function Bi(e){return(e<<1)-(e>4?9:0)}function Pi(e){for(var t=e.length;--t>=0;)e[t]=0}function zi(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(Fr(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function Fi(e,t){Gn(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,zi(e.strm)}function Zi(e,t){e.pending_buf[e.pending++]=t}function Vi(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ji(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-Si?e.strstart-(e.w_size-Si):0,c=e.window,u=e.w_mask,h=e.prev,d=e.strstart+yi,f=c[o+a-1],p=c[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(r=t)+a]===p&&c[r+a-1]===f&&c[r]===c[o]&&c[++r]===c[o+1]){o+=2,r++;do{}while(c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;f=c[o+a-1],p=c[o+a]}}}while((t=h[t&u])>l&&0!=--i);return a<=e.lookahead?a:e.lookahead}function Hi(e){var t,r,n,i,o,a,s,l,c,u,h=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-Si)){Fr(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=h?n-h:0}while(--r);t=r=h;do{n=e.prev[--t],e.prev[t]=n>=h?n-h:0}while(--r);i+=h}if(0===e.strm.avail_in)break;if(a=e.strm,s=e.window,l=e.strstart+e.lookahead,c=i,u=void 0,(u=a.avail_in)>c&&(u=c),r=0===u?0:(a.avail_in-=u,Fr(s,a.input,a.next_in,u,l),1===a.state.wrap?a.adler=Wn(a.adler,s,u,l):2===a.state.wrap&&(a.adler=Kn(a.adler,s,u,l)),a.next_in+=u,a.total_in+=u,u),e.lookahead+=r,e.lookahead+e.insert>=bi)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<=bi&&(e.ins_h=(e.ins_h<=bi)if(n=Yn(e,e.strstart-e.match_start,e.match_length-bi),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=bi){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=bi&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=bi-1)),e.prev_length>=bi&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-bi,n=Yn(e,e.strstart-1-e.prev_match,e.prev_length-bi),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<ti||t<0)return e?Ni(e,ii):ii;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Li&&t!==ei)return Ni(e,0===e.avail_out?ai:ii);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Ci)if(2===n.wrap)e.adler=0,Zi(n,31),Zi(n,139),Zi(n,8),n.gzhead?(Zi(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Zi(n,255&n.gzhead.time),Zi(n,n.gzhead.time>>8&255),Zi(n,n.gzhead.time>>16&255),Zi(n,n.gzhead.time>>24&255),Zi(n,9===n.level?2:n.strategy>=ci||n.level<2?4:0),Zi(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Zi(n,255&n.gzhead.extra.length),Zi(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Kn(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ai):(Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,9===n.level?2:n.strategy>=ci||n.level<2?4:0),Zi(n,Oi),n.status=Ri);else{var a=fi+(n.w_bits-8<<4)<<8;a|=(n.strategy>=ci||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=ki),a+=31-a%31,n.status=Ri,Vi(n,a),0!==n.strstart&&(Vi(n,e.adler>>>16),Vi(n,65535&e.adler)),e.adler=1}if(n.status===Ai)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending!==n.pending_buf_size));)Zi(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ii)}else n.status=Ii;if(n.status===Ii)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=Ti)}else n.status=Ti;if(n.status===Ti)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=Ei)}else n.status=Ei;if(n.status===Ei&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&zi(e),n.pending+2<=n.pending_buf_size&&(Zi(n,255&e.adler),Zi(n,e.adler>>8&255),e.adler=0,n.status=Ri)):n.status=Ri),0!==n.pending){if(zi(e),0===e.avail_out)return n.last_flush=-1,ri}else if(0===e.avail_in&&Bi(t)<=Bi(r)&&t!==ei)return Ni(e,ai);if(n.status===Li&&0!==e.avail_in)return Ni(e,ai);if(0!==e.avail_in||0!==n.lookahead||t!==Xn&&n.status!==Li){var s=n.strategy===ci?function(e,t){for(var r;;){if(0===e.lookahead&&(Hi(e),0===e.lookahead)){if(t===Xn)return Mi;break}if(e.match_length=0,r=Yn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):e.last_lit&&(Fi(e,!1),0===e.strm.avail_out)?Mi:Ui}(n,t):n.strategy===ui?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=yi){if(Hi(e),e.lookahead<=yi&&t===Xn)return Mi;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=bi&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+yi;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=bi?(r=Yn(e,1,e.match_length-bi),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Yn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):e.last_lit&&(Fi(e,!1),0===e.strm.avail_out)?Mi:Ui}(n,t):qn[n.level].func(n,t);if(s!==xi&&s!==Di||(n.status=Li),s===Mi||s===xi)return 0===e.avail_out&&(n.last_flush=-1),ri;if(s===Ui&&(t===Jn?Hn(n):t!==ti&&(jn(n,0,0,!1),t===$n&&(Pi(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),zi(e),0===e.avail_out))return n.last_flush=-1,ri}return t!==ei?ri:n.wrap<=0?ni:(2===n.wrap?(Zi(n,255&e.adler),Zi(n,e.adler>>8&255),Zi(n,e.adler>>16&255),Zi(n,e.adler>>24&255),Zi(n,255&e.total_in),Zi(n,e.total_in>>8&255),Zi(n,e.total_in>>16&255),Zi(n,e.total_in>>24&255)):(Vi(n,e.adler>>>16),Vi(n,65535&e.adler)),zi(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ri:ni)}qn=[new Wi(0,0,0,0,(function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Hi(e),0===e.lookahead&&t===Xn)return Mi;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,Fi(e,!1),0===e.strm.avail_out))return Mi;if(e.strstart-e.block_start>=e.w_size-Si&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):(e.strstart>e.block_start&&(Fi(e,!1),e.strm.avail_out),Mi)})),new Wi(4,4,8,4,Gi),new Wi(4,5,16,8,Gi),new Wi(4,6,32,32,Gi),new Wi(4,4,16,16,Yi),new Wi(8,16,32,32,Yi),new Wi(8,16,128,128,Yi),new Wi(8,32,128,256,Yi),new Wi(32,128,258,1024,Yi),new Wi(32,258,258,4096,Yi)];var Xi=30,Ji=12;function $i(e,t){var r,n,i,o,a,s,l,c,u,h,d,f,p,m,v,g,_,w,b,y,S,k,C,A,I;r=e.state,n=e.next_in,A=e.input,i=n+(e.avail_in-5),o=e.next_out,I=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),l=r.dmax,c=r.wsize,u=r.whave,h=r.wnext,d=r.window,f=r.hold,p=r.bits,m=r.lencode,v=r.distcode,g=(1<>>=b=w>>>24,p-=b,0===(b=w>>>16&255))I[o++]=65535&w;else{if(!(16&b)){if(0==(64&b)){w=m[(65535&w)+(f&(1<>>=b,p-=b),p<15&&(f+=A[n++]<>>=b=w>>>24,p-=b,!(16&(b=w>>>16&255))){if(0==(64&b)){w=v[(65535&w)+(f&(1<l){e.msg="invalid distance too far back",r.mode=Xi;break e}if(f>>>=b,p-=b,S>(b=o-a)){if((b=S-b)>u&&r.sane){e.msg="invalid distance too far back",r.mode=Xi;break e}if(k=0,C=d,0===h){if(k+=c-b,b2;)I[o++]=C[k++],I[o++]=C[k++],I[o++]=C[k++],y-=3;y&&(I[o++]=C[k++],y>1&&(I[o++]=C[k++]))}else{k=o-S;do{I[o++]=I[k++],I[o++]=I[k++],I[o++]=I[k++],y-=3}while(y>2);y&&(I[o++]=I[k++],y>1&&(I[o++]=I[k++]))}break}}break}}while(n>3,f&=(1<<(p-=y<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n=1&&0===L[y];y--);if(S>y&&(S=y),0===y)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(b=1;b0&&(e===no||1!==y))return-1;for(M[1]=0,_=1;_to||e===oo&&I>ro)return 1;for(;;){p=_-C,a[w]f?(m=U[x+a[w]],v=E[R+a[w]]):(m=96,v=0),l=1<<_-C,b=c=1<>C)+(c-=l)]=p<<24|m<<16|v|0}while(0!==c);for(l=1<<_-1;T&l;)l>>=1;if(0!==l?(T&=l-1,T+=l):T=0,w++,0==--L[_]){if(_===y)break;_=t[r+a[w]]}if(_>S&&(T&h)!==u){for(0===C&&(C=S),d+=b,A=1<<(k=_-C);k+Cto||e===oo&&I>ro)return 1;i[u=T&h]=S<<24|k<<16|d-o|0}}return 0!==T&&(i[d+T]=_-C<<24|64<<16|0),s.bits=S,0}var ho=0,fo=1,po=2,mo=4,vo=5,go=6,_o=0,wo=1,bo=2,yo=-2,So=-3,ko=-4,Co=-5,Ao=8,Io=1,To=2,Eo=3,Ro=4,Lo=5,Mo=6,Uo=7,xo=8,Do=9,Oo=10,No=11,Bo=12,Po=13,zo=14,Fo=15,Zo=16,Vo=17,jo=18,Ho=19,Go=20,Yo=21,Wo=22,Qo=23,Ko=24,qo=25,Xo=26,Jo=27,$o=28,ea=29,ta=30,ra=31,na=32,ia=852,oa=592;function aa(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function sa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Vr(320),this.work=new Vr(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function la(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,function(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Io,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new jr(ia),t.distcode=t.distdyn=new jr(oa),t.sane=1,t.back=-1,_o):yo}(e)):yo}function ca(e,t){var r,n;return e?(n=new sa,e.state=n,n.window=null,(r=function(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?yo:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,la(e))):yo}(e,t))!==_o&&(e.state=null),r):yo}var ua,ha,da=!0;function fa(e){if(da){var t;for(ua=new jr(512),ha=new jr(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(uo(fo,e.lens,0,288,ua,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;uo(po,e.lens,0,32,ha,0,e.work,{bits:5}),da=!1}e.lencode=ua,e.lenbits=9,e.distcode=ha,e.distbits=5}function pa(e,t){var r,n,i,o,a,s,l,c,u,h,d,f,p,m,v,g,_,w,b,y,S,k,C,A,I=0,T=new Zr(4),E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return yo;(r=e.state).mode===Bo&&(r.mode=Po),a=e.next_out,i=e.output,l=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,c=r.hold,u=r.bits,h=s,d=l,k=_o;e:for(;;)switch(r.mode){case Io:if(0===r.wrap){r.mode=Po;break}for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>>8&255,r.check=Kn(r.check,T,2,0),c=0,u=0,r.mode=To;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=ta;break}if((15&c)!==Ao){e.msg="unknown compression method",r.mode=ta;break}if(u-=4,S=8+(15&(c>>>=4)),0===r.wbits)r.wbits=S;else if(S>r.wbits){e.msg="invalid window size",r.mode=ta;break}r.dmax=1<>8&1),512&r.flags&&(T[0]=255&c,T[1]=c>>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0,r.mode=Eo;case Eo:for(;u<32;){if(0===s)break e;s--,c+=n[o++]<>>8&255,T[2]=c>>>16&255,T[3]=c>>>24&255,r.check=Kn(r.check,T,4,0)),c=0,u=0,r.mode=Ro;case Ro:for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>8),512&r.flags&&(T[0]=255&c,T[1]=c>>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0,r.mode=Lo;case Lo:if(1024&r.flags){for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=Mo;case Mo:if(1024&r.flags&&((f=r.length)>s&&(f=s),f&&(r.head&&(S=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Fr(r.head.extra,n,o,f,S)),512&r.flags&&(r.check=Kn(r.check,n,f,o)),s-=f,o+=f,r.length-=f),r.length))break e;r.length=0,r.mode=Uo;case Uo:if(2048&r.flags){if(0===s)break e;f=0;do{S=n[o+f++],r.head&&S&&r.length<65536&&(r.head.name+=String.fromCharCode(S))}while(S&&f>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Bo;break;case Oo:for(;u<32;){if(0===s)break e;s--,c+=n[o++]<>>=7&u,u-=7&u,r.mode=Jo;break}for(;u<3;){if(0===s)break e;s--,c+=n[o++]<>>=1)){case 0:r.mode=zo;break;case 1:if(fa(r),r.mode=Go,t===go){c>>>=2,u-=2;break e}break;case 2:r.mode=Vo;break;case 3:e.msg="invalid block type",r.mode=ta}c>>>=2,u-=2;break;case zo:for(c>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,c+=n[o++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=ta;break}if(r.length=65535&c,c=0,u=0,r.mode=Fo,t===go)break e;case Fo:r.mode=Zo;case Zo:if(f=r.length){if(f>s&&(f=s),f>l&&(f=l),0===f)break e;Fr(i,n,o,f,a),s-=f,o+=f,l-=f,a+=f,r.length-=f;break}r.mode=Bo;break;case Vo:for(;u<14;){if(0===s)break e;s--,c+=n[o++]<>>=5,u-=5,r.ndist=1+(31&c),c>>>=5,u-=5,r.ncode=4+(15&c),c>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=ta;break}r.have=0,r.mode=jo;case jo:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[E[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,C={bits:r.lenbits},k=uo(ho,r.lens,0,19,r.lencode,0,r.work,C),r.lenbits=C.bits,k){e.msg="invalid code lengths set",r.mode=ta;break}r.have=0,r.mode=Ho;case Ho:for(;r.have>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=v,u-=v,r.lens[r.have++]=_;else{if(16===_){for(A=v+2;u>>=v,u-=v,0===r.have){e.msg="invalid bit length repeat",r.mode=ta;break}S=r.lens[r.have-1],f=3+(3&c),c>>>=2,u-=2}else if(17===_){for(A=v+3;u>>=v)),c>>>=3,u-=3}else{for(A=v+7;u>>=v)),c>>>=7,u-=7}if(r.have+f>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=ta;break}for(;f--;)r.lens[r.have++]=S}}if(r.mode===ta)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=ta;break}if(r.lenbits=9,C={bits:r.lenbits},k=uo(fo,r.lens,0,r.nlen,r.lencode,0,r.work,C),r.lenbits=C.bits,k){e.msg="invalid literal/lengths set",r.mode=ta;break}if(r.distbits=6,r.distcode=r.distdyn,C={bits:r.distbits},k=uo(po,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,C),r.distbits=C.bits,k){e.msg="invalid distances set",r.mode=ta;break}if(r.mode=Go,t===go)break e;case Go:r.mode=Yo;case Yo:if(s>=6&&l>=258){e.next_out=a,e.avail_out=l,e.next_in=o,e.avail_in=s,r.hold=c,r.bits=u,$i(e,d),a=e.next_out,i=e.output,l=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,c=r.hold,u=r.bits,r.mode===Bo&&(r.back=-1);break}for(r.back=0;g=(I=r.lencode[c&(1<>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>w)])>>>16&255,_=65535&I,!(w+(v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=w,u-=w,r.back+=w}if(c>>>=v,u-=v,r.back+=v,r.length=_,0===g){r.mode=Xo;break}if(32&g){r.back=-1,r.mode=Bo;break}if(64&g){e.msg="invalid literal/length code",r.mode=ta;break}r.extra=15&g,r.mode=Wo;case Wo:if(r.extra){for(A=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Qo;case Qo:for(;g=(I=r.distcode[c&(1<>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>w)])>>>16&255,_=65535&I,!(w+(v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=w,u-=w,r.back+=w}if(c>>>=v,u-=v,r.back+=v,64&g){e.msg="invalid distance code",r.mode=ta;break}r.offset=_,r.extra=15&g,r.mode=Ko;case Ko:if(r.extra){for(A=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=ta;break}r.mode=qo;case qo:if(0===l)break e;if(f=d-l,r.offset>f){if((f=r.offset-f)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=ta;break}f>r.wnext?(f-=r.wnext,p=r.wsize-f):p=r.wnext-f,f>r.length&&(f=r.length),m=r.window}else m=i,p=a-r.offset,f=r.length;f>l&&(f=l),l-=f,r.length-=f;do{i[a++]=m[p++]}while(--f);0===r.length&&(r.mode=Yo);break;case Xo:if(0===l)break e;i[a++]=r.length,l--,r.mode=Yo;break;case Jo:if(r.wrap){for(;u<32;){if(0===s)break e;s--,c|=n[o++]<=o.wsize?(Fr(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((i=o.wsize-o.wnext)>n&&(i=n),Fr(o.window,t,r-n,i,o.wnext),(n-=i)?(Fr(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whavega)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function wa(e,t){for(var r=0;r15&&(a=2,n-=16),i<1||i>pi||r!==fi||n<8||n>15||t<0||t>9||o<0||o>hi)return Ni(e,ii);8===n&&(n=9);var s=new Qi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<ya.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBitsya.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelya.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelya.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=ya.Z_FILTERED&&e.strategy!=ya.Z_HUFFMAN_ONLY&&e.strategy!=ya.Z_RLE&&e.strategy!=ya.Z_FIXED&&e.strategy!=ya.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!Qe(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new ya.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(e,t){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=t,n.code=ya.codes[t],r.emit("error",n)};var n=ya.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(n=e.level);var i=ya.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||ya.Z_DEFAULT_WINDOWBITS,n,e.memLevel||ya.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new he(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}Object.keys(Sa).forEach((function(e){Sa[Sa[e]]=e})),At(Ua,Dr),Ua.prototype.params=function(e,t,r){if(eya.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=ya.Z_FILTERED&&t!=ya.Z_HUFFMAN_ONLY&&t!=ya.Z_RLE&&t!=ya.Z_FIXED&&t!=ya.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(ya.Z_SYNC_FLUSH,(function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())}))}else ut(r)},Ua.prototype.reset=function(){return this._binding.reset()},Ua.prototype._flush=function(e){this._transform(new he(0),"",e)},Ua.prototype.flush=function(e,t){var r=this._writableState;if(("function"==typeof e||void 0===e&&!t)&&(t=e,e=ya.Z_FULL_FLUSH),r.ended)t&&ut(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",(function(){n.flush(t)}))}else this._flushFlag=e,this.write(new he(0),"",t)},Ua.prototype.close=function(e){if(e&&ut(e),!this._closed){this._closed=!0,this._binding.close();var t=this;ut((function(){t.emit("close")}))}},Ua.prototype._transform=function(e,t,r){var n,i=this._writableState,o=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!Qe(e))return r(new Error("invalid input"));o?n=ya.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||ya.Z_NO_FLUSH)),this._processChunk(e,n,r)},Ua.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,o=0,a=this,s="function"==typeof r;if(!s){var l,c=[],u=0;this.on("error",(function(e){l=e}));do{var h=this._binding.writeSync(t,e,o,n,this._buffer,this._offset,i)}while(!this._hadError&&p(h[0],h[1]));if(this._hadError)throw l;var d=he.concat(c,u);return this.close(),d}var f=this._binding.write(t,e,o,n,this._buffer,this._offset,i);function p(l,h){if(!a._hadError){var d=i-h;if(function(e,t){if(!e)throw new Error(t)}(d>=0,"have should not go down"),d>0){var f=a._buffer.slice(a._offset,a._offset+d);a._offset+=d,s?a.push(f):(c.push(f),u+=f.length)}if((0===h||a._offset>=a._chunkSize)&&(i=a._chunkSize,a._offset=0,a._buffer=new he(a._chunkSize)),0===h){if(o+=n-l,n=l,!s)return!0;var m=a._binding.write(t,e,o,n,a._buffer,a._offset,a._chunkSize);return m.callback=p,void(m.buffer=e)}if(!s)return!1;r()}}f.buffer=e,f.callback=p},At(Aa,Ua),At(Ia,Ua),At(Ta,Ua),At(Ea,Ua),At(Ra,Ua),At(La,Ua),At(Ma,Ua);var xa={codes:Sa,createDeflate:function(e){return new Aa(e)},createInflate:function(e){return new Ia(e)},createDeflateRaw:function(e){return new Ra(e)},createInflateRaw:function(e){return new La(e)},createGzip:function(e){return new Ta(e)},createGunzip:function(e){return new Ea(e)},createUnzip:function(e){return new Ma(e)},deflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Aa(t),e,r)},deflateSync:function(e,t){return Ca(new Aa(t),e)},gzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ta(t),e,r)},gzipSync:function(e,t){return Ca(new Ta(t),e)},deflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ra(t),e,r)},deflateRawSync:function(e,t){return Ca(new Ra(t),e)},unzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ma(t),e,r)},unzipSync:function(e,t){return Ca(new Ma(t),e)},inflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ia(t),e,r)},inflateSync:function(e,t){return Ca(new Ia(t),e)},gunzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ea(t),e,r)},gunzipSync:function(e,t){return Ca(new Ea(t),e)},inflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new La(t),e,r)},inflateRawSync:function(e,t){return Ca(new La(t),e)},Deflate:Aa,Inflate:Ia,Gzip:Ta,Gunzip:Ea,DeflateRaw:Ra,InflateRaw:La,Unzip:Ma,Zlib:Ua},Da=class{constructor(e,t,r){this.SDKAPPID=e,this.EXPIRETIME=r,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log("sdkAppID="+this.SDKAPPID+" key="+this.PRIVATEKEY+" userID="+e+" expire="+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error("expireTime must be a number"),""):(console.error("userID must be a string"),""):(console.error("privateKey must be a string"),""):(console.error("sdkAppID must be a number"),"")}newBuffer(e,t){return he.from?he.from(e,t):new he(e,t)}unescape(e){return e.replace(/_/g,"=").replace(/\-/g,"/").replace(/\*/g,"+")}escape(e){return e.replace(/\+/g,"*").replace(/\//g,"-").replace(/=/g,"_")}encode(e){return this.escape(this.newBuffer(e).toString("base64"))}decode(e){return this.newBuffer(this.unescape(e),"base64")}base64encode(e){return this.newBuffer(e).toString("base64")}base64decode(e){return this.newBuffer(e,"base64").toString()}_hmacsha256(e,t,r,n){let i="TLS.identifier:"+e+"\n";i+="TLS.sdkappid:"+this.SDKAPPID+"\n",i+="TLS.time:"+t+"\n",i+="TLS.expire:"+r+"\n",null!=n&&(i+="TLS.userbuf:"+n+"\n");let o=Je.HmacSHA256(i,this.PRIVATEKEY);return Je.enc.Base64.stringify(o)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)}_isString(e){return"string"==typeof e}genSigWithUserbuf(e,t,r){let n=this._utc(),i={"TLS.ver":"2.0","TLS.identifier":e,"TLS.sdkappid":this.SDKAPPID,"TLS.time":n,"TLS.expire":t},o="";if(null!=r){let a=this.base64encode(r);i["TLS.userbuf"]=a,o=this._hmacsha256(e,n,t,a)}else o=this._hmacsha256(e,n,t,null);i["TLS.sig"]=o;let a=JSON.stringify(i),s=xa.deflateSync(this.newBuffer(a)).toString("base64"),l=this.escape(s);return console.log("ret="+l),l}validate(e){let t=this.decode(e),r=xa.inflateSync(t);console.log("validate ret="+r)}};const Oa=1600003603,Na="545433057ab3402f73534e2c8f21125a4b6358cb723da9c0ddb194a4318fe5ce",Ba=604800,Pa={userId:`user_${Math.ceil(1e5*Math.random())}`,userName:"myName",avatarUrl:""};function za(){if(Oa===Number(0)||Na===String(""))return void alert("Please configure your SDKAPPID in config/basic-info-config.js");const e=new Da(Oa,Na,Ba),t=e.genTestUserSig(Pa.userId),{userId:r,userName:n,avatarUrl:i}=Pa;return{sdkAppId:Oa,userId:r,userSig:t,userName:n,avatarUrl:i}}const Fa=(0,S.Z)();var Za={name:"Home",components:{UserInfo:s.Z,LanguageIcon:l.Z,StreamPreview:M,RoomControl:q,SwitchTheme:c.Z},data(){return{givenRoomId:"",basicInfo:null,userName:"",userAvatar:"",userId:"",isMobile:Q.t}},async mounted(){sessionStorage.removeItem("tuiRoom-roomInfo"),sessionStorage.removeItem("tuiRoom-userInfo"),this.givenRoomId=this.$route.query.roomId||"",sessionStorage.getItem("tuiRoom-userInfo")?this.basicInfo=JSON.parse(sessionStorage.getItem("tuiRoom-userInfo")):(this.basicInfo=await za(),this.basicInfo&&sessionStorage.setItem("tuiRoom-userInfo",JSON.stringify(this.basicInfo))),this.userName=this.basicInfo.userName,this.userAvatar=this.basicInfo.userAvatar,this.userId=this.basicInfo.userId;const{sdkAppId:e,userId:t,userSig:r}=this.basicInfo;await f().login({sdkAppId:e,userId:t,userSig:r}),this.isMobile||this.$refs.streamPreviewRef.startStreamPreview()},methods:{setTUIRoomData(e,t){const r=this.isMobile?this.$refs.roomControlRef.getRoomParam():this.$refs.streamPreviewRef.getRoomParam(),n={action:e,roomMode:t||"FreeToSpeak",roomParam:r};sessionStorage.setItem("tuiRoom-roomInfo",JSON.stringify(n))},async checkRoomExistWhenCreateRoom(e){let t=!1;const r=Fa.instance?.getTIM();try{await r.searchGroupByID(e),t=!0}catch(n){}return t},async generateRoomId(){const e=Math.ceil(1e6*Math.random()),t=await this.checkRoomExistWhenCreateRoom(String(e));return t?await this.generateRoomId():e},async handleCreateRoom(e){this.setTUIRoomData("createRoom",e);const t=await this.generateRoomId();this.$router.push({path:"room",query:{roomId:t}})},async handleEnterRoom(e){this.setTUIRoomData("enterRoom"),this.$router.push({path:"room",query:{roomId:e}})},handleLogOut(){}}},Va=Za,ja=(0,R.Z)(Va,o,a,!1,null,"79fbed35",null),Ha=ja.exports;n["default"].use(i.ZP);const Ga=[{path:"/",name:"home",component:Ha},{path:"/home",name:"home",component:Ha},{path:"/room",name:"room",component:()=>r.e(443).then(r.bind(r,1833))}],Ya=new i.ZP({routes:Ga});var Wa=Ya},7717:function(e){"use strict";e.exports="data:image/png;base64,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"},5314:function(){},8326:function(){},370:function(){},1184:function(){}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.m=e,function(){r.amdO={}}(),function(){var e=[];r.O=function(t,n,i,o){if(!n){var a=1/0;for(u=0;u=o)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(s=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,i,o]}}(),function(){r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,{a:t}),t}}(),function(){r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){r.f={},r.e=function(e){return Promise.all(Object.keys(r.f).reduce((function(t,n){return r.f[n](e,t),t}),[]))}}(),function(){r.u=function(e){return"js/about.65dec066.js"}}(),function(){r.miniCssF=function(e){return"css/about.531c7f1e.css"}}(),function(){r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="room-uikit-web-vue2:";r.l=function(n,i,o,a){if(e[n])e[n].push(i);else{var s,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;un&&"active"}`]})})),0),t(r.SvgIcon,{staticClass:"audio-icon",attrs:{"icon-name":r.iconName}})],1)},i=[],o=r(6369),a=r(6316),s=r(6671),l=(0,o.defineComponent)({__name:"AudioIcon",props:{audioVolume:null,isMuted:{type:Boolean},size:null,isDisabled:{type:Boolean}},setup(e){const t=e,r=(0,o.computed)((()=>t.isDisabled?s.Z.MicOffDisabled:t.isMuted?s.Z.MicOff:s.Z.MicOn)),n=(0,o.computed)((()=>t.isMuted||!t.audioVolume?0:4*t.audioVolume/100*5));return{__sfc:!0,props:t,iconName:r,showAudioLevel:n,SvgIcon:a.Z}}}),c=l,u=r(3736),h=(0,u.Z)(c,n,i,!1,null,"5bc7b022",null),d=h.exports},3929:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"audio-setting-tab"},[t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Mic")))]),t("div",{staticClass:"flex"},[t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"microphone"}}),r.isDetailMode?t("div",{staticClass:"button",on:{click:r.handleMicrophoneTest}},[e._v(" "+e._s(r.isTestingMicrophone?r.t("Stop"):r.t("Test"))+" ")]):e._e()],1)]),t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Output")))]),t("div",{staticClass:"mic-bar-container"},e._l(new Array(r.volumeTotalNum).fill(""),(function(e,n){return t("div",{key:n,class:["mic-bar",""+(r.showVolume&&r.volumeNum>n?"active":"")]})})),0)])]),r.speakerList.length>0?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Speaker")))]),t("div",{staticClass:"flex"},[t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"speaker",disabled:e.mode===r.SettingMode.DETAIL}}),r.isDetailMode?t("div",{staticClass:"button",on:{click:r.handleSpeakerTest}},[e._v(" "+e._s(r.isTestingSpeaker?r.t("Stop"):r.t("Test"))+" ")]):e._e()],1)])]):e._e()])},i=[],o=r(6369),a=r(8754),s=r(4990),l=r(3927),c=r(7357),u=r(1020),h=(0,o.defineComponent)({__name:"AudioSettingTab",props:{mode:null},setup(e){const t=e,r=t.mode||l.n.SIMPLE,n=(0,o.computed)((()=>r===l.n.SIMPLE)),i=(0,o.computed)((()=>r===l.n.DETAIL)),h=(0,s.A)(),{speakerList:d}=(0,u.Jk)(h),f=(0,o.computed)((()=>i.value?36:28)),p=(0,o.computed)((()=>(h.localStream.audioVolume||0)*f.value/100)),m=(0,o.computed)((()=>n.value||i.value&&v.value)),v=(0,o.ref)(!1);function g(){v.value=!v.value}const _=(0,o.ref)(!1),w=document?.createElement("audio"),{t:b}=(0,c.Q)();function y(){_.value?(w&&(w.pause(),w.currentTime=0),_.value=!1):(_.value=!0,w&&(w.src="https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3",w.play()))}return(0,o.onBeforeUnmount)((()=>{w&&w.pause()})),{__sfc:!0,props:t,settingMode:r,isSampleMode:n,isDetailMode:i,roomStore:h,speakerList:d,volumeTotalNum:f,volumeNum:p,showVolume:m,isTestingMicrophone:v,handleMicrophoneTest:g,isTestingSpeaker:_,audioPlayer:w,t:b,handleSpeakerTest:y,DeviceSelect:a.Z,SettingMode:l.n}}}),d=h,f=r(3736),p=(0,f.Z)(d,n,i,!1,null,"ce40fa86",null),m=p.exports},9225:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("img",{staticClass:"default-avatar",attrs:{src:e.imgSrc||r.defaultAvatar,onerror:r.showDefaultAvatar}})},i=[],o=r(6369),a=r(7717),s=(0,o.defineComponent)({__name:"Avatar",props:{imgSrc:null},setup(e){function t(e){e.target.src=a}return{__sfc:!0,showDefaultAvatar:t,defaultAvatar:a}}}),l=s,c=r(3736),u=(0,c.Z)(l,n,i,!1,null,null,null),h=u.exports},8754:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-select",{staticClass:"select custom-element-class",attrs:{placeholder:"placeholder",disabled:e.disabled,teleported:!1,"popper-append-to-body":!1},on:{change:r.handleChange},model:{value:r.currentDeviceId,callback:function(e){r.currentDeviceId=e},expression:"currentDeviceId"}},e._l(r.deviceList,(function(e){return t("el-option",{key:e.deviceId,attrs:{label:e.deviceName,value:e.deviceId}})})),1)},i=[],o=r(6369),a=r(4990),s=r(1020),l=r(3681),c=(0,o.defineComponent)({__name:"DeviceSelect",props:{deviceType:null,onChange:null,disabled:null},setup(e){const{deviceType:t,onChange:r,disabled:n=!1}=e,i=(0,l.Z)(),c=(0,a.A)(),{cameraList:u,microphoneList:h,speakerList:d,currentCameraId:f,currentMicrophoneId:p,currentSpeakerId:m}=(0,s.Jk)(c),v=(0,o.ref)(w()),g=(0,o.ref)(_());function _(){return"camera"===t?f:"microphone"===t?p:"speaker"===t?m:""}function w(){return"camera"===t?u:"microphone"===t?h:"speaker"===t?d:[]}async function b(e){switch(r&&r(e),t){case"camera":await(i.instance?.setCurrentCameraDevice({deviceId:e})),c.setCurrentCameraId(e);break;case"microphone":await(i.instance?.setCurrentMicDevice({deviceId:e})),c.setCurrentMicrophoneId(e);break;case"speaker":await(i.instance?.setCurrentSpeakerDevice({deviceId:e})),c.setCurrentSpeakerId(e);break;default:break}}return{__sfc:!0,roomEngine:i,roomStore:c,cameraList:u,microphoneList:h,speakerList:d,currentCameraId:f,currentMicrophoneId:p,currentSpeakerId:m,deviceList:v,currentDeviceId:g,getInitDeviceId:_,getDeviceList:w,handleChange:b}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,"160545a2",null),f=d.exports},9139:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t(r.SvgIcon,{staticClass:"language-icon",attrs:{"icon-name":"lang",size:"large"},on:{click:r.handleChange}})},i=[],o=r(6369),a=r(6316),s=r(251),l=r(7357),c=(0,o.defineComponent)({__name:"Language",setup(e){const t=(0,s.o)(),r=()=>{switch(l.Z.global.locale.value){case"en-US":l.Z.global.locale.value="zh-CN",t.setLang("zh-CN"),localStorage.setItem("tuiRoom-language","zh-CN");break;case"zh-CN":l.Z.global.locale.value="en-US",t.setLang("en-US"),localStorage.setItem("tuiRoom-language","en-US");break}};return{__sfc:!0,basicStore:t,handleChange:r,SvgIcon:a.Z}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,null,null),f=d.exports},7698:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t(r.SvgIcon,{staticClass:"switch-theme",attrs:{"icon-name":"switch-theme",size:"medium"},on:{click:r.handleSwitchTheme}})},i=[],o=r(6369),a=r(6316),s=r(251),l=r(1020),c=(0,o.defineComponent)({__name:"SwitchTheme",setup(e){const t=(0,s.o)(),{defaultTheme:r}=(0,l.Jk)(t);function n(){const e=document.body.getAttribute("data-theme")||r;"white"===e?t.setDefaultTheme("black"):"black"===e&&t.setDefaultTheme("white")}function i(e){switch(e){case"black":document.body.setAttribute("data-theme","black"),localStorage.setItem("tuiRoom-currentTheme","black");break;case"white":document.body.setAttribute("data-theme","white"),localStorage.setItem("tuiRoom-currentTheme","white");break}}return(0,o.watch)(r,(e=>{i(e)})),(0,o.onMounted)((()=>{const e=t.defaultTheme,r=localStorage.getItem("tuiRoom-currentTheme")||e;t.setDefaultTheme(r),document.body.setAttribute("data-theme",r)})),{__sfc:!0,basicStore:t,defaultTheme:r,handleSwitchTheme:n,doSwitchTheme:i,SvgIcon:a.Z}}}),u=c,h=r(3736),d=(0,h.Z)(u,n,i,!1,null,null,null),f=d.exports},8283:function(e,t,r){"use strict";r.d(t,{Z:function(){return T}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"video-tab"},[t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Camera")))]),t(r.DeviceSelect,{class:r.isDetailMode?"detail-select":"",attrs:{"device-type":"camera"}})],1),r.isDetailMode&&e.withPreview?t("div",{staticClass:"item-setting"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Preview")))]),t("div",{staticClass:"video-preview",attrs:{id:"test-camera-preview"}})]):e._e(),r.isDetailMode?t("el-checkbox",{staticClass:"mirror-checkbox custom-element-class",attrs:{label:r.t("Mirror")},model:{value:r.isLocalStreamMirror,callback:function(e){r.isLocalStreamMirror=e},expression:"isLocalStreamMirror"}}):e._e()],1),r.isSampleMode?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Resolution")))]),t(r.VideoProfile)],1):e._e(),r.isSampleMode?t("div",{class:["item-setting-container",r.isSampleMode&&"hasDividingLine"]},[t("div",{staticClass:"item",on:{click:r.handleMoreCameraSetting}},[e._v(e._s(r.t("More Camera Settings")))])]):e._e()])},i=[],o=r(6369),a=r(8754),s=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-select",{staticClass:"select custom-element-class",attrs:{placeholder:"placeholder",teleported:!1,"popper-append-to-body":!1},model:{value:r.localVideoQuality,callback:function(e){r.localVideoQuality=e},expression:"localVideoQuality"}},e._l(r.videoProfileList,(function(e,r){return t("el-option",{key:r,attrs:{label:e.label,value:e.value}})})),1)},l=[],c=r(7357),u=r(452),h=r.n(u),d=r(4990),f=r(3681),p=r(1020),m=(0,o.defineComponent)({__name:"VideoProfile",setup(e){const t=(0,f.Z)(),r=(0,d.A)(),{localVideoQuality:n}=(0,p.Jk)(r),{t:i}=(0,c.Q)(),a=(0,o.computed)((()=>[{label:i("Low Definition"),value:u.TUIVideoQuality.kVideoQuality_360p},{label:i("Standard Definition"),value:u.TUIVideoQuality.kVideoQuality_540p},{label:i("High Definition"),value:u.TUIVideoQuality.kVideoQuality_720p},{label:i("Super Definition"),value:u.TUIVideoQuality.kVideoQuality_1080p}]));return(0,o.watch)(n,(e=>{t.instance?.updateVideoQuality({quality:e})})),h().once("ready",(()=>{t.instance?.updateVideoQuality({quality:n.value})})),{__sfc:!0,roomEngine:t,roomStore:r,localVideoQuality:n,t:i,videoProfileList:a}}}),v=m,g=r(3736),_=(0,g.Z)(v,s,l,!1,null,"00a64cb2",null),w=_.exports,b=r(251),y=r(3927),S=r(4237),k=r(2843),C=(0,o.defineComponent)({__name:"VideoSettingTab",props:{mode:null,withPreview:{type:Boolean}},setup(e){const t=e,r=(0,f.Z)(),n=(0,S.Al)(),i=t.mode||y.n.SIMPLE,s=(0,o.computed)((()=>i===y.n.SIMPLE)),l=(0,o.computed)((()=>i===y.n.DETAIL)),h=(0,b.o)(),d=(0,o.ref)(h.isLocalStreamMirror);(0,o.watch)(d,(async e=>{const t=r.instance?.getTRTCCloud();k.t?await(t?.setLocalRenderParams({mirrorType:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill})):await(t?.setLocalRenderParams({mirrorType:e?u.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill})),h.setIsLocalStreamMirror(e)}));const{t:p}=(0,c.Q)();function m(){h.setShowSettingDialog(!0),h.setActiveSettingTab("video")}return l.value&&t.withPreview&&((0,o.onMounted)((async()=>{if(r.instance?.startCameraDeviceTest({view:"test-camera-preview"}),n){const e=r.instance?.getTRTCCloud();await(e?.setLocalRenderParams({mirrorType:d.value?u.TRTCVideoMirrorType.TRTCVideoMirrorType_Enable:u.TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,rotation:u.TRTCVideoRotation.TRTCVideoRotation0,fillMode:u.TRTCVideoFillMode.TRTCVideoFillMode_Fill}))}})),(0,o.onUnmounted)((()=>{r.instance?.stopCameraDeviceTest()}))),{__sfc:!0,roomEngine:r,isElectron:n,props:t,settingMode:i,isSampleMode:s,isDetailMode:l,basicStore:h,isLocalStreamMirror:d,t:p,handleMoreCameraSetting:m,DeviceSelect:a.Z,VideoProfile:w}}}),A=C,I=(0,g.Z)(A,n,i,!1,null,"7cf837b8",null),T=I.exports},2097:function(e,t,r){"use strict";r.d(t,{Z:function(){return h}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{class:["icon-box",`${!e.hideHoverEffect&&"hover-effect"}`,`${e.disabled&&"disabled"}`]},[t("span",{staticClass:"icon-content",on:{click:function(t){return e.$emit("click-icon")}}},[e.iconName?t(r.SvgIcon,{attrs:{"icon-name":e.iconName}}):e._e(),e._t("default"),t("span",{staticClass:"title",class:e.isActive?"title-active":"title"},[e._v(e._s(e.title))])],2),e.hasMore?t("span",{ref:"moreSpanRef",staticClass:"icon-arrow",on:{click:function(t){return e.$emit("click-more")}}},[t(r.SvgIcon,{staticClass:"arrow",attrs:{"icon-name":"arrow-up",size:"small"}})],1):e._e()])},i=[],o=r(6369),a=r(6316),s=(0,o.defineComponent)({__name:"IconButton",props:{title:null,iconName:null,hasMore:{type:Boolean},hideHoverEffect:{type:Boolean},disabled:{type:Boolean},isActive:{type:Boolean}},emits:["click-icon","click-more"],setup(e){return{__sfc:!0,SvgIcon:a.Z}}}),l=s,c=r(3736),u=(0,c.Z)(l,n,i,!1,null,"3303a58b",null),h=u.exports},6316:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("span",{class:[r.svgClass,e.customClass],style:e.customStyle,on:{click:r.handleClick}})},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"SvgIcon",props:{iconName:null,size:null,customClass:null,customStyle:null},emits:["click"],setup(e,{emit:t}){const r=e,n=(0,o.computed)((()=>`${r.iconName}`)),i=(0,o.computed)((()=>{const e=r.size&&["large","medium","small","custom"].includes(r.size),t=e?r.size:"large";return`svg-icon ${t}-icon ${n.value}`}));function a(e){t("click",e)}return{__sfc:!0,props:r,emit:t,svgName:n,svgClass:i,handleClick:a}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,"52c6be46",null),u=c.exports},4679:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-drawer",{attrs:{visible:r.visible,title:r.props.title,"before-close":r.props.beforeClose,modal:r.props.modal,direction:r.props.direction,size:r.props.size},on:{"update:visible":function(e){r.visible=e}}},[e._t("default")],2)},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"Drawer",props:{modelValue:{type:Boolean},title:null,beforeClose:null,modal:{type:Boolean},appendToBody:{type:Boolean},width:null,direction:null,size:null,customClass:null},setup(e){const t=e,r=(0,o.ref)(t.modelValue);return(0,o.watch)((()=>t.modelValue),(e=>{r.value=e})),{__sfc:!0,props:t,visible:r}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,null,null),u=c.exports},9643:function(e,t,r){"use strict";r.d(t,{Z:function(){return D}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{ref:"userInfoRef",staticClass:"user-info-container"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.handleUserControl,expression:"handleUserControl"}],staticClass:"user-info-content"},[t("img",{staticClass:"avatar",attrs:{src:e.avatarUrl||r.defaultAvatar}}),t("div",{staticClass:"name"},[e._v(e._s(e.userName||e.userId))])]),r.showUserControl?t("div",{staticClass:"user-control-container"},[t("div",{staticClass:"logout-mobile"},[t("div",{staticClass:"logout-mobile-main"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>e.$emit("log-out"),expression:"() => $emit('log-out')"}],staticClass:"logout"},[t("i",[e._v(" "+e._s(r.t("Log out")))])]),t("div",{staticClass:"close",on:{click:function(e){e.stopPropagation(),r.showUserControl=!1}}},[t("i",[e._v(e._s(r.t("Cancel")))])])])])]):e._e()])},i=[],o=r(6369),a=r(7717),s=r(6671),l=r(7357),c=r(251),u=r(1020),h=r(3235),d=r(6897),f=r(452),p=r.n(f),m=r(4990),v=r(7175);function g(){const{t:e}=(0,l.Q)(),t=(0,c.o)(),{userName:r}=(0,u.Jk)(t),n=(0,o.ref)(),i=(0,o.ref)(!1),a=(0,o.ref)(!1),f=(0,o.ref)(v.Uh),g=(0,o.ref)(""),_=(0,m.A)(),w=(0,o.computed)((()=>i.value?s.Z.LineArrowUp:s.Z.LineArrowDown));function b(){i.value=!i.value}function y(e){n.value.contains(e.target)||(i.value=!1)}function S(){a.value=!0,g.value=r.value}function k(){a.value=!1}async function C(r){0!==r.length?(t.setUserName(r),p().setSelfInfo({userName:r,avatarUrl:_.localUser.avatarUrl||""}),_.setLocalUser({userName:r}),k()):(0,h.z)({type:"warning",message:e("Username length should be greater than 0"),duration:d.U.NORMAL})}return(0,o.onMounted)((()=>{window.addEventListener("click",y)})),(0,o.onUnmounted)((()=>{window.removeEventListener("click",y)})),{t:e,showEditNameItem:f,showUserControl:i,iconName:w,showUserNameEdit:a,userInfoRef:n,tempUserName:g,handleUserControl:b,showEditUserNameDialog:S,closeEditUserNameDialog:k,handleSaveUserName:C}}r(5175);var _=(0,o.defineComponent)({__name:"UserInfoH5",props:{userId:null,userName:null,avatarUrl:null},emits:["log-out"],setup(e){const{userInfoRef:t,showUserControl:r,t:n,handleUserControl:i}=g();return{__sfc:!0,userInfoRef:t,showUserControl:r,t:n,handleUserControl:i,defaultAvatar:a}}}),w=_,b=r(3736),y=(0,b.Z)(w,n,i,!1,null,null,null),S=y.exports,k=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{ref:"userInfoRef",staticClass:"user-info-container"},[t("div",{staticClass:"user-info-content",on:{click:r.handleUserControl}},[t(r.Avatar,{staticClass:"avatar",attrs:{"img-src":e.avatarUrl}}),t("div",{staticClass:"name"},[e._v(e._s(e.userName||e.userId))]),t(r.SvgIcon,{staticClass:"down-icon",attrs:{"icon-name":r.iconName,size:"medium"}})],1),r.showUserControl?t("div",{staticClass:"user-control-container"},[t("div",{directives:[{name:"show",rawName:"v-show",value:r.showEditNameItem,expression:"showEditNameItem"}]},[t("div",{staticClass:"user-control-item-head",on:{click:r.showEditUserNameDialog}},[e._v(e._s(r.t("Edit profile")))])]),t("div",{staticClass:"user-control-item-foot",on:{click:function(t){return e.$emit("log-out")}}},[e._v(e._s(r.t("Log out")))])]):e._e(),t(r.Dialog,{staticClass:"custom-element-class",attrs:{title:r.t("Edit profile"),width:"420px","model-value":r.showUserNameEdit,modal:!0,"append-to-body":!1,"close-on-click-modal":!0},on:{close:r.closeEditUserNameDialog}},[t("div",{staticClass:"dialog-content"},[t("span",{staticClass:"title"},[e._v(e._s(r.t("User Name")))]),t("div",{staticClass:"input-container"},[t("el-input",{attrs:{type:"text",maxlength:"80",placeholder:r.t("Please input user name")},model:{value:r.tempUserName,callback:function(e){r.tempUserName=e},expression:"tempUserName"}})],1)]),t("div",{staticClass:"dialog-footer"},[t("el-button",{on:{click:r.closeEditUserNameDialog}},[e._v(e._s(r.t("Cancel")))]),t("el-button",{attrs:{type:"primary"},on:{click:function(e){return r.handleSaveUserName(r.tempUserName)}}},[e._v(e._s(r.t("Save")))])],1)])],1)},C=[],A=r(5266),I=r(6316),T=r(9225),E=(0,o.defineComponent)({__name:"UserInfoPC",props:{userId:null,userName:null,avatarUrl:null},emits:["log-out"],setup(e){const{t:t,showEditNameItem:r,iconName:n,showUserControl:i,showUserNameEdit:o,userInfoRef:a,tempUserName:s,handleUserControl:l,showEditUserNameDialog:c,closeEditUserNameDialog:u,handleSaveUserName:h}=g();return{__sfc:!0,t:t,showEditNameItem:r,iconName:n,showUserControl:i,showUserNameEdit:o,userInfoRef:a,tempUserName:s,handleUserControl:l,showEditUserNameDialog:c,closeEditUserNameDialog:u,handleSaveUserName:h,Dialog:A.Z,SvgIcon:I.Z,Avatar:T.Z}}}),R=E,L=(0,b.Z)(R,k,C,!1,null,null,null),M=L.exports,U=r(2843);const x=U.t?S:M;var D=x},6671:function(e,t,r){"use strict";var n;r.d(t,{Z:function(){return n}}),function(e){e["MicOn"]="mic-on",e["MicOff"]="mic-off",e["MicOffDisabled"]="mic-off-gray",e["CameraOn"]="camera-on",e["CameraOff"]="camera-off",e["CameraOffDisabled"]="camera-off-gray",e["ArrowBorderDown"]="arrow-border-down",e["ScreenSharing"]="screen-sharing",e["ScreenShare"]="screen-share",e["ScreenShareStopped"]="screen-share-stopped",e["ScreenShareDisabled"]="screen-share-disabled",e["ChatActive"]="chat-active",e["Chat"]="chat",e["ExitFullScreen"]="exit-fullscreen",e["FullScreen"]="full-screen",e["InviteActive"]="invite-active",e["Invite"]="invite",e["ManageMemberActive"]="manage-member-active",e["ManageMember"]="manage-member",e["More"]="more",e["MoreActive"]="more-active",e["SettingActive"]="setting-active",e["Setting"]="setting",e["LineArrowUp"]="line-arrow-up",e["LineArrowDown"]="line-arrow-down",e["ApplyOnSeat"]="apply",e["ApplyActive"]="apply-active",e["GoOffSeat"]="go-off-seat"}(n||(n={}))},6897:function(e,t,r){"use strict";var n,i;r.d(t,{B:function(){return n},U:function(){return i}}),function(e){e["UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL"]="Has been fully muted and cannot open the microphone",e["UNMUTE_LOCAL_MIC_FAIL_MUTE_BY_MASTER"]="Has been muted by the host and cannot open the microphone",e["UNMUTE_LOCAL_MIC_FAIL_AUDIENCE"]="To apply to speak in the room, please raise your hand first to apply for the microphone",e["UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL"]="Has been full static painting, can not open the video",e["UNMUTE_LOCAL_CAMERA_FAIL_MUTE_BY_MASTER"]="It has been stilled by the host and cannot open the video",e["UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE"]="To apply to speak in the room, please raise your hand first to apply for the microphone"}(n||(n={})),function(e){e[e["NORMAL"]=3e3]="NORMAL",e[e["LONG"]=5e3]="LONG"}(i||(i={}))},3927:function(e,t,r){"use strict";var n,i;r.d(t,{_:function(){return n},n:function(){return i}}),function(e){e["SIX_EQUAL_POINTS"]="six_equal_points",e["NINE_EQUAL_POINTS"]="nine_equal_points",e["TWENTY_FIVE_EQUAL_POINTS"]="twenty_five_equal_points",e["RIGHT_SIDE_LIST"]="right_side_list",e["TOP_SIDE_LIST"]="top_side_list",e["LARGE_SMALL_WINDOW"]="large_small_window",e["GRID_VIEW"]="grid_view"}(n||(n={})),function(e){e["SIMPLE"]="simple",e["DETAIL"]="detail"}(i||(i={}))},5175:function(e,t,r){"use strict";var n=r(7327),i=r(3303);class o{constructor(e,t){(0,n.Z)(this,"dom",void 0),(0,n.Z)(this,"callback",void 0),(0,n.Z)(this,"isMove",void 0),this.dom=e,this.callback=t.value,this.isMove=!1,e?.addEventListener("touchstart",(()=>{this.touchstart()}),{passive:!0}),e?.addEventListener("touchmove",(()=>{this.touchmove()}),{passive:!0}),e?.addEventListener("touchend",(()=>{this.touchend()}),{passive:!0})}touchstart(){this.isMove=!1}touchmove(){this.isMove=!0}touchend(){this.isMove||this.callback()}}i.Z.directive("tap",{bind:function(e,t){return new o(e,t)}})},5266:function(e,t,r){"use strict";r.d(t,{Z:function(){return w}});var n=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return r.props.modelValue?t("div",{staticClass:"dialog-container"},[t("span",{staticClass:"dialog-title"},[e._v(e._s(r.props.title))]),t("div",{staticClass:"dialog-content"},[e._t("default")],2),t("div",{staticClass:"dialog-footer"},[e._t("footer")],2)]):e._e()},i=[],o=r(6369),a=(0,o.defineComponent)({__name:"DialogH5",props:{modelValue:{type:Boolean},title:null},setup(e){const t=e;return{__sfc:!0,props:t}}}),s=a,l=r(3736),c=(0,l.Z)(s,n,i,!1,null,null,null),u=c.exports,h=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("el-dialog",{attrs:{visible:r.props.modelValue,title:r.props.title,"before-close":r.props.beforeClose,modal:r.props.modal,"append-to-body":r.props.appendToBody,width:r.props.width,"show-close":r.props.showClose,"close-on-click-modal":r.props.closeOnClickModal,"close-on-press-escape":r.props.closeOnPressEscape,"modal-append-to-body":!1},on:{"update:visible":function(t){return e.$set(r.props,"modelValue",t)}},scopedSlots:e._u([{key:"footer",fn:function(){return[e._t("footer")]},proxy:!0}],null,!0)},[e._t("default")],2)},d=[],f=(0,o.defineComponent)({__name:"DialogPC",props:{modelValue:{type:Boolean},title:null,beforeClose:null,modal:{type:Boolean},appendToBody:{type:Boolean},width:null,showClose:{type:Boolean},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean}},setup(e){const t=e;return{__sfc:!0,props:t}}}),p=f,m=(0,l.Z)(p,h,d,!1,null,null,null),v=m.exports,g=r(2843);const _=g.t?u:v;var w=_},3235:function(e,t,r){"use strict";r.d(t,{T:function(){return o},z:function(){return i}});var n=r(8499);const i=n.Message,o=n.MessageBox},3681:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(452),i=r.n(n),o=r(7175);const a={instance:null},s=o.$B?"vue3":"vue2";function l(){return a}i().once("ready",(()=>{a.instance=new(i()),a.instance?.callExperimentalAPI(JSON.stringify({api:"setFramework",params:{component:"TUIRoomKit",language:s}}))}))},7357:function(e,t,r){"use strict";r.d(t,{Z:function(){return c},Q:function(){return o.QT}});var n=r(6369),i=r(6018),o=r(9165),a=r(5581),s={"":"","Sign in":"请登录","Phone Login":"手机登录","Email Login":"邮箱登录","I have read and agree to the":"我已阅读并同意","Privacy Policy":"隐私协议",and:"和","Terms of Use":"用户协议",Login:"登录","Mobile number":"请输入您的手机号","Verification code":"请输入验证码","Email address":"请输入邮箱","Please enter a valid phone number!":"请输入正确的手机号!","Please enter a valid email address!":"请输入正确的邮箱地址!","Please enter your phone number!":"请输入手机号!","Please enter your email address!":"请输入邮箱地址!","Please enter the verification code!":"请输入验证码!","Please accept the privacy policy and user agreement!":"请同意隐私协议及用户协议!","Incorrect verification code, please check the code!":"验证码错误,请检查验证码!","The verification code has expired, please retrieve a new one!":"验证码已过期,请重新获取验证码!","The verification code has been used, please retrieve a new one!":"验证码已使用,请重新获取验证码!","Login failed, please try again.":"登录失败,请重试",SEND:"获取验证码"," ":"倒计时","The room does not exist, please confirm the room number or create a room!":"房间不存在,请确认房间号或创建房间!","Log out":"退出登录","Edit profile":"编辑资料","User Name":"用户名","Please input user name":"请输入用户名","Username length should be greater than 0":"昵称长度应该大于0",Save:"保存",Camera:"摄像头",Mic:"麦克风","Off Camera":"摄像头已关闭","Mic settings":"麦克风设置",Output:"输出",Speaker:"扬声器",Test:"测试",Stop:"停止测试",Preview:"视频画面",Mirror:"翻转镜像",Resolution:"分辨率","More Camera Settings":"更多摄像头设置","Join the room ?":"是否进入房间?","You are invited to room ":"您被邀请进入 ",Room:"房间",Join:"确定进入","New Room":"新建房间","Room Type":"房间类型","Your Name":"您的名字","Turn on the microphone":"开启麦克风","Turn on the speaker":"开启扬声器","Turn on the video":"开启视频","Free Speech Room":"自由发言房间","Raise Hand Room":"举手发言房间","Join Room":"进入房间","Enter room ID":"输入房间号","video conferencing":" 的视频会议","Room ID":"房间号","Low Definition":"流畅","Standard Definition":"标清","High Definition":"高清","Super Definition":"超清","End sharing":"结束共享","Stop sharing?":"是否停止屏幕共享?","Stop sharing":"停止共享",Sure:"确定",Sharing:"屏幕共享中","Share screen":"共享屏幕","Others will no longer see your screen after you stop sharing. Are you sure you want to stop?":"是否结束当前的共享屏幕,停止后所有人将无法继续观看屏幕内容","Others will no longer see your screen after you stop sharing.":"停止后所有人将无法继续观看屏幕内容","You currently do not have sharing permission, please raise your hand to apply for sharing permission first":"您当前没有共享权限,请先举手申请上台获取共享权限",Host:"主持人",Me:"我",me:"我",More:"更多","Raise hand":"举手",Agree:"同意",Chat:"聊天",Cancel:"取消",Exit:"退出全屏","Full screen":"全屏",Members:"管理成员",Invite:"邀请成员",Settings:"设置",EndPC:"结束会议",EndH5:"结束",Tips:"提示",'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.':"您当前是房间主持人,请选择相应操作。若选择“离开房间”,则房间不会解散,您需要指定新主持人。","If you do not want to end the meeting, please designate a new host before leaving the meeting.":"如果您不想结束会议,请在离开会议前指定新的主持人。","Are you sure you want to leave this room?":"确定离开房间吗?","New host":"选择主持人","Transfer and leave":"移交并离开","Leave room?":"是否要离开房间","Select a new host":"请选择新的房间主持人","Appoint a new host":"指定一位新的主持人","The host closed the room.":"主持人结束会议,已解散房间",Note:"通知",Confirm:"确认",Leave:"离开房间",Dismiss:"解散房间","Moderator changed to ":"主持人已变更为","Muted by the moderator":"已被主持人禁言","Type a message":"说点什么...",Send:"发送","Failed to send the message":"发送消息失败","Applying for the stage":"正在申请上台",Check:"查看","Disable all audios":"禁言所有人","Disable all videos":"禁画所有人","All mute":"全体静音","All current and new members will be muted.":"所有及新加入的成员将被静音","All current and new members will turn off their videos.":"所有及新加入的成员将关闭视频","All stop video":"全体禁画","Lift all mute":"取消全体静音","Should we turn on the video for everyone":"是否打开全员视频","Can you lift all mute":"是否取消全体静音","Lift stop all video":"取消全体禁画","No relevant user found.":"未找到相关用户","Member List":"成员列表",Unmute:"解除禁言","Cancel Unmute":"取消解除禁言",Mute:"禁言",members:"人","Failed to get chat message":"获取聊天消息失败","Agree to the stage":"同意上台","Cancel stage":"取消邀请上台","Invite stage":"邀请上台","Refuse stage":"拒绝上台","Enable video":"解除禁画","Cancel Enable video":"取消解除禁画","Disable video":"禁画","Enable chat":"允许文字聊天","Disable chat":"禁止文字聊天","Kick out":"踢出房间","is sharing their screen":"的屏幕分享","Apply to stage application":"请求上台申请",Reject:"拒绝","Reject All":"全部拒绝","Please raise your hand to apply":"如果您想发言请先举手申请上麦","The host invites you to speak on stage":"主持人邀请您上台发言","After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?":"同意上台后可打开摄像头和麦克风,是否同意上台?","Hand down":"手放下","Step down(Master)":"邀请下台","Step down":"下台","The host has approved your application":"主持人同意了你的上台申请","The host has rejected your application for the stage":"主持人拒绝了你的上台申请","You have been invited by the host to step down, please raise your hand if you need to speak":"您已被主持人邀请下台,需要发言请先举手","Select a screen/window":"选择屏幕/窗口",Screen:"屏幕",Window:"窗口",Share:"开始分享","Select a screen or window first":"请选择要分享的屏幕或者窗口",Grid:"一屏九等分","Gallery on right":"右侧成员列表","Gallery at top":"顶部成员列表","Network ":"网络","Latency: ":"网络延迟:","Frame rate: ":"帧率:","Bitrate: ":"码率:",Unknown:"状态未知",Excellent:"状态极佳",Good:"状态较好",Fair:"状态一般",Poor:"状态差","Very poor":"状态极差",Disconnected:"断开连接","Share the room ID or invite link":"您可以通过复制房间号或者邀请链接的方式邀请更多人加入房间","Invite by room number":"通过房间号邀请","Invite via room link":"通过房间链接邀请","Room Link":"房间链接","You can share the room number or link to invite more people to join the room.":"您可以分享房间号或链接邀请更多人加入房间。","If you have any questions, please feel free to join our QQ group or send an email":"如果有任何问题欢迎加入我们的QQ群或者发送邮件。","Room QR code":"房间二维码","Search for conference attendees":"搜索参会成员","Invite via client scheme":"通过客户端 scheme 邀请","Contact us":"联系我们","Member management":"成员管理","Grid view":"宫格视图","Join our QQ group chat or email us.":"如果有任何问题欢迎加入我们的QQ群或者发送邮件","group chat":"QQ 群",Email:"邮箱地址","Audio settings":"声音设置","Camera settings":"摄像头设置","Copied successfully":"复制成功","accepted the invitation to the stage":"接受了上台邀请","declined the invitation to the stage":"拒绝了上台邀请","The host has muted all":"主持人已开启全体静音","The host has unmuted all":"主持人已解除全体静音","The host has turned off your microphone":"主持人已关闭您的麦克风","The host invites you to turn on the microphone":"主持人邀请你打开麦克风","The host has turned on the ban on all paintings":"主持人已开启全体禁画","The host has lifted the ban on all paintings":"主持人已解除全体禁画","The host has turned on the ban on all chat":"主持人已开启全体禁止文字聊天","The host has lifted the ban on all chat":"主持人已解除全体禁止文字聊天","The host has turned off your camera":"主持人已关闭您的摄像头","The host invites you to turn on the camera":"主持人邀请你打开摄像头","The host has turned off your screen sharing":"主持人已关闭您的屏幕分享","Turn on the camera":"打开摄像头","Keep it closed":"保持关闭","You have been banned from text chat by the host":"您被主持人禁止文字聊天","You are allowed to text chat by the host":"您被主持人允许文字聊天","kicked out of the room by the host":"被主持人踢出房间","kicked out of the room by other device":"相同账号在其他客户端进入房间","kicked out of the room by serve":"被服务端踢出房间","Reject on Stage failed, please retry":"拒绝 {userName} 上台失败, 请重试","Has been fully muted and cannot open the microphone":"已被全员静音,无法打开麦克风","Has been muted by the host and cannot open the microphone":"已被主持人静音,无法打开麦克风","To apply to speak in the room, please raise your hand first to apply for the microphone":"申请发言房间,请先举手申请上麦","Has been full static painting, can not open the video":"已被全员静画,无法打开视频","It has been stilled by the host and cannot open the video":"已被主持人静画,无法打开视频","Failed to enter the room.":"进入房间失败!","Has been full static painting, can not share your screen":"已被全员静画,无法打开屏幕分享","Microphone not detected on current device":"当前设备未检测到麦克风","Camera not detected on current device":"当前设备未检测到摄像头","Camera And Microphone not detected on current device":"当前设备未检测到摄像头和麦克风","Another user is currently sharing the screen, screen sharing is not possible.":"当前有其他用户正在屏幕共享,无法进行屏幕共享","This action causes the room to be exited, does it continue?":"该操作会导致退出房间,是否继续?","This action causes the room to be disbanded, does it continue?":"该操作会导致解散房间,是否继续?"},l={"":"","Sign in":"Sign in","Phone Login":"Phone Login","Email Login":"Email Login","I have read and agree to the":"I have read and agree to the","Privacy Policy":"Privacy Policy",and:"and","Terms of Use":"Terms of Use",Login:"Login","Mobile number":"Mobile number","Verification code":"Verification code","Email address":"Email address","Please enter a valid phone number!":"Please enter a valid phone number!","Please enter a valid email address!":"Please enter a valid email address!","Please enter your phone number!":"Please enter your phone number!","Please enter your email address!":"Please enter your email address!","Please enter the verification code!":"Please enter the verification code!","Please accept the privacy policy and user agreement!":"Please accept the privacy policy and user agreement!","Incorrect verification code, please check the code!":"Incorrect verification code, please check the code!","The verification code has expired, please retrieve a new one!":"The verification code has expired, please retrieve a new one!","The verification code has been used, please retrieve a new one!":"The verification code has been used, please retrieve a new one!","Login failed, please try again.":"Login failed, please try again.",SEND:"SEND"," ":" ","The room does not exist, please confirm the room number or create a room!":"The room does not exist, please confirm the room number or create a room!","Log out":"Log out","Edit profile":"Edit profile","User Name":"User Name","Please input user name":"Please input user name","Username length should be greater than 0":"Username length should be greater than 0",Save:"Save",Camera:"Camera",Mic:"Mic","Off Camera":"Off Camera","Mic settings":"Mic settings",Output:"Output",Speaker:"Speaker",Test:"Test",Stop:"Stop",Preview:"Preview",Mirror:"Mirror",Resolution:"Resolution","More Camera Settings":"More Camera Settings","Join the room ?":"Join the room ?","You are invited to room ":"You are invited to room ",Room:"Room",Join:"Join",Sure:"Sure","New Room":"New Room","Room Type":"Room Type","Your Name":"Your Name","Grid view":"Grid view","Speaker view":"Speaker view","Turn on the microphone":"Turn on the microphone","Turn on the speaker":"Turn on the speaker","Turn on the video":"Turn on the video","Free Speech Room":"Free Speech Room","Raise Hand Room":"Raise Hand Room","Join Room":"Join Room","Enter room ID":"Enter room ID","video conferencing":" 's video conferencing","Room ID":"Room ID","Low Definition":"Low Definition","Standard Definition":"Standard Definition","High Definition":"High Definition","Super Definition":"Super Definition","End sharing":"End sharing","Stop sharing?":"Stop sharing?","Stop sharing":"Stop sharing",Sharing:"Sharing","Share screen":"Share screen","Others will no longer see your screen after you stop sharing. Are you sure you want to stop?":"Others will no longer see your screen after you stop sharing. Are you sure you want to stop?","Others will no longer see your screen after you stop sharing.":"Others will no longer see your screen after you stop sharing.","You currently do not have sharing permission, please raise your hand to apply for sharing permission first":"You currently do not have sharing permission, please raise your hand to apply for sharing permission first",Host:"Host",Me:"Me",me:"me",More:"More","Raise hand":"Raise hand",Agree:"Agree",Chat:"Chat",Cancel:"Cancel",Exit:"Exit","Full screen":"Full screen",Members:"Members",Invite:"Invite",Settings:"Settings",EndPC:"End",EndH5:"End",'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.':'You are currently the room host, please select the appropriate action.If you select "Leave Room", the room will not be dissolved and you will need to appoint a new host.',"If you do not want to end the meeting, please designate a new host before leaving the meeting.":"If you do not want to end the meeting, please designate a new host before leaving the meeting.","Are you sure you want to leave this room?":"Are you sure you want to leave this room?","New host":"New host","Transfer and leave":"Transfer and leave","Leave room?":"Leave room?","Select a new host":"Select a new host","Appoint a new host":"Appoint a new host","The host closed the room.":"The host closed the room.",Note:"Note",Confirm:"Confirm",Leave:"Leave",Dismiss:"Dismiss","Moderator changed to ":"Moderator changed to ","Muted by the moderator":"Muted by the moderator","Type a message":"Type a message",Send:"Send","Failed to send the message":"Failed to send the message","Applying for the stage":"Applying for the stage",Check:"Check","Disable all audios":"Disable all audios","Disable all videos":"Disable all videos","Member List":"Member List","All mute":"All mute","All stop video":"All stop video","Lift all mute":"Lift all mute","Should we turn on the video for everyone":"Should we turn on the video for everyone","Can you lift all mute":"Can you lift all mute","Lift stop all video":"Lift stop all video",Unmute:"Unmute","Cancel Unmute":"Cancel Unmute",Mute:"Mute",members:"members","Failed to get chat message":"Failed to get chat message","Agree to the stage":"Agree to the stage","Cancel stage":"Cancel stage","Invite stage":"Invite stage","Refuse stage":"Refuse stage","Step down":"Step down","Step down(Master)":"Step down","Enable video":"Enable video","Disable video":"Disable video","Enable chat":"Enable chat","Disable chat":"Disable chat","Kick out":"Kick out","is sharing their screen":"is sharing their screen","Apply to stage application":"Apply to stage application",Reject:"Reject","Reject All":"Reject All","Please raise your hand to apply":"Please raise your hand to apply","The host invites you to speak on stage":"The host invites you to speak on stage","After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?":"After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?","Hand down":"Hand down","The host has approved your application":"The host has approved your application","The host has rejected your application for the stage":"The host has rejected your application for the stage","You have been invited by the host to step down, please raise your hand if you need to speak":"You have been invited by the host to step down, please raise your hand if you need to speak","Select a screen/window":"Select a screen/window",Screen:"Screen",Window:"Window",Share:"Share","Select a screen or window first":"Select a screen or window first",Grid:"Grid",Tips:"Tips","Gallery on right":"Gallery on right","Gallery at top":"Gallery at top","Network ":"Network ","Latency: ":"Latency: ","Frame rate: ":"Frame rate: ","Bitrate: ":"Bitrate: ",Unknown:"Unknown",Excellent:"Excellent",Good:"Good",Fair:"Fair",Poor:"Poor","Very poor":"Very poor",Disconnected:"Disconnected","Share the room ID or invite link":"Share the room ID or invite link","Invite by room number":"Invite by room number","Invite via room link":"Invite via room link","Room Link":"Room Link","You can share the room number or link to invite more people to join the room.":"You can share the room number or link to invite more people to join the room.","If you have any questions, please feel free to join our QQ group or send an email":"If you have any questions, please feel free to join our QQ group or send an email","Room QR code":"Room QR code","Search for conference attendees":"Search for conference attendees","Invite via client scheme":"Invite via client scheme","All current and new members will be muted.":"All current and new members will be muted","All current and new members will turn off their videos.":"All current and new members will turn off their videos","No relevant user found.":"No relevant user found.","Contact us":"Contact us","Member management":"Member management","Join our QQ group chat or email us.":"Join our QQ group chat or email us.","group chat":"group chat",Email:"Email","Audio settings":"Audio settings","Camera settings":"Camera settings","Copied successfully":"Copied successfully","accepted the invitation to the stage":"accepted the invitation to the stage","declined the invitation to the stage":"declined the invitation to the stage","The host has muted all":"The host has muted all","The host has unmuted all":"The host has unmuted all","The host has turned off your microphone":"The host has turned off your microphone","The host invites you to turn on the microphone":"The host invites you to turn on the microphone","The host has turned on the ban on all paintings":"The host has turned on the ban on all paintings","The host has lifted the ban on all paintings":"The host has lifted the ban on all paintings","The host has turned on the ban on all chat":"The host has turned on the ban on all chat","The host has lifted the ban on all chat":"The host has lifted the ban on all chat","The host has turned off your camera":"The host has turned off your camera","The host invites you to turn on the camera":"The host invites you to turn on the camera","The host has turned off your screen sharing":"The host has turned off your screen sharing","Turn on the camera":"Turn on the camera","Keep it closed":"Keep it closed","You have been banned from text chat by the host":"You have been banned from text chat by the host","You are allowed to text chat by the host":"You are allowed to text chat by the host","kicked out of the room by the host":"kicked out of the room by the host","kicked out of the room by other device":"kicked out of the room by other device","kicked out of the room by serve":"kicked out of the room by serve","Reject on Stage failed, please retry":"Reject {userName} on Stage failed, please retry","Has been fully muted and cannot open the microphone":"Has been fully muted and cannot open the microphone","Has been muted by the host and cannot open the microphone":"Has been muted by the host and cannot open the microphone","To apply to speak in the room, please raise your hand first to apply for the microphone":"To apply to speak in the room, please raise your hand first to apply for the microphone","Has been full static painting, can not open the video":"Has been full static painting, can not open the video","It has been stilled by the host and cannot open the video":"It has been stilled by the host and cannot open the video","Failed to enter the room.":"Failed to enter the room.","Has been full static painting, can not share your screen":"Has been full static painting, can not share your screen.","Microphone not detected on current device":"Microphone not detected on current device","Camera not detected on current device":"Camera not detected on current device","Camera And Microphone not detected on current device":"Camera And Microphone not detected on current device","Another user is currently sharing the screen, screen sharing is not possible.":"Another user is currently sharing the screen, screen sharing is not possible.","This action causes the room to be disbanded, does it continue?":"This action causes the room to be disbanded, does it continue?","This action causes the room to be exited, does it continue?":"This action causes the room to be exited, does it continue?"};n["default"].use(i.Z,{bridge:!0});var c=(0,o.o)({legacy:!1,locale:(0,a.G)()||"zh-CN",messages:{"zh-CN":s,"en-US":l}},i.Z)},251:function(e,t,r){"use strict";r.d(t,{o:function(){return l}});var n=r(1020),i=r(5581),o=r(3927),a=r(4237),s=r(2843);const l=(0,n.Q_)("basic",{state:()=>({sdkAppId:0,userId:"",userSig:"",userName:"",avatarUrl:"",useStringRoomId:!1,roomId:"",roomMode:"FreeSpeech",isSidebarOpen:!1,layout:o._.NINE_EQUAL_POINTS,showSettingDialog:!1,showApplyUserList:!1,activeSettingTab:"audio",isLocalStreamMirror:!0,isFrontCamera:!0,sidebarName:"",masterUserId:"",localQuality:0,lang:(0,i.G)(),defaultTheme:"black",isSupportSwitchTheme:!0,showHeaderTool:!0,shareLink:"",isRoomLinkVisible:!(0,a.Al)()&&!s.e}),getters:{},actions:{setSdkAppId(e){this.sdkAppId=e},setUserId(e){this.userId=e},setUserSig(e){this.userSig=e},setUserName(e){this.userName=e},setAvatarUrl(e){this.avatarUrl=e},setRoomId(e){this.roomId=e,this.useStringRoomId="string"===typeof e},setRoomMode(e){this.roomMode=e},setSidebarOpenStatus(e){this.isSidebarOpen=e},setSidebarName(e){this.sidebarName=e},setLayout(e){this.layout=e},setShowSettingDialog(e){this.showSettingDialog=e},setShowApplyUserList(e){this.showApplyUserList=e},setActiveSettingTab(e){this.activeSettingTab=e},setIsLocalStreamMirror(e){this.isLocalStreamMirror=e},setIsFrontCamera(e){this.isFrontCamera=e},setDefaultTheme(e){this.defaultTheme=e},setIsSupportSwitchTheme(e){this.isSupportSwitchTheme=e},setShowHeaderTool(e){this.showHeaderTool=e},setShareLink(e){this.shareLink=e},setIsRoomLinkVisible(e){this.isRoomLinkVisible=e},setBasicInfo(e){if(!e)return;const{sdkAppId:t,userId:r,userSig:n,userName:i,avatarUrl:o,roomId:s,theme:l,showHeaderTool:c}=e;t&&this.setSdkAppId(t),r&&this.setUserId(r),n&&this.setUserSig(n),i&&this.setUserName(i),o&&this.setAvatarUrl(o),s&&this.setRoomId(s),l&&!(0,a.o8)(l.defaultTheme)&&this.setDefaultTheme(l.defaultTheme),l&&!(0,a.o8)(l.isSupportSwitchTheme)&&this.setIsSupportSwitchTheme(l.isSupportSwitchTheme),!(0,a.o8)(c)&&this.setShowHeaderTool(c)},setMasterUserId(e){this.masterUserId=e},setLocalQuality(e){const t=e.find((e=>e.userId===this.userId));this.localQuality=t.quality},setLang(e){this.lang=e},reset(){this.isSidebarOpen=!1,this.layout=o._.NINE_EQUAL_POINTS,this.showSettingDialog=!1,this.activeSettingTab="audio",this.isLocalStreamMirror=!0,this.sidebarName="",this.masterUserId="",this.localQuality=0,this.roomId="",this.sdkAppId=0,this.userId="",this.userSig="",this.userName="",this.avatarUrl="",this.useStringRoomId=!1,this.roomMode="FreeSpeech",this.showApplyUserList=!1,this.isFrontCamera=!0,this.defaultTheme="black",this.isSupportSwitchTheme=!0,this.showHeaderTool=!0,this.shareLink=""}}})},4990:function(e,t,r){"use strict";r.d(t,{A:function(){return u}});var n=r(1020),i=r(452),o=r(251),a=r(7175),s=r(3303),l=r(3681);const c=(0,l.Z)(),u=(0,n.Q_)("room",{state:()=>({localUser:{userId:"",userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!1,cameraStreamInfo:{userId:"",userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!0},screenStreamInfo:{userId:"",userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!0}},remoteUserObj:{},isDefaultOpenCamera:!1,isDefaultOpenMicrophone:!1,canControlSelfAudio:!0,canControlSelfVideo:!0,localVideoQuality:i.TUIVideoQuality.kVideoQuality_720p,currentCameraId:"",currentMicrophoneId:"",currentSpeakerId:"",cameraList:[],microphoneList:[],speakerList:[],masterUserId:"",isMicrophoneDisableForAllUser:!1,isCameraDisableForAllUser:!1,isMessageDisableForAllUser:!1,speechMode:i.TUISpeechMode.kFreeToSpeak,maxMembersCount:5,hasVideoStreamObject:{},currentStreamIdListInVisibleView:[],hasOtherScreenShare:!1}),getters:{isMaster(e){return e.localUser.userId===e.masterUserId},isAnchor(e){return!!this.isFreeSpeakMode||(this.isSpeakAfterTakingSeatMode?e.localUser.onSeat:void 0)},isAudience(e){return!this.isFreeSpeakMode&&(this.isSpeakAfterTakingSeatMode?!e.localUser.onSeat:void 0)},isSpeakAfterTakingSeatMode(){return this.speechMode===i.TUISpeechMode.kSpeakAfterTakingSeat},isFreeSpeakMode(){return this.speechMode===i.TUISpeechMode.kFreeToSpeak},isLocalAudioIconDisable(){const e=!this.isMaster&&!this.canControlSelfAudio;return e||this.isAudience},isLocalVideoIconDisable(){const e=!this.isMaster&&!this.canControlSelfVideo;return e||this.isAudience},localStream:e=>{const{userId:t,userName:r,avatarUrl:n,hasAudioStream:i,hasVideoStream:o,audioVolume:a}=e.localUser;return Object.assign(e.localUser.cameraStreamInfo,{userId:t,userName:r,avatarUrl:n,hasAudioStream:i,hasVideoStream:o,audioVolume:a}),e.localUser.cameraStreamInfo},remoteStreamObj:e=>{const t={};return[...Object.values(e.remoteUserObj)].forEach((e=>{const{userId:r,avatarUrl:n,userName:o,onSeat:a,hasAudioStream:s,hasVideoStream:l,hasScreenStream:c,audioVolume:u,isVideoVisible:h,isScreenVisible:d}=e;a&&(t[`${r}_${i.TUIVideoStreamType.kCameraStream}`]=Object.assign(e.cameraStreamInfo,{userId:r,avatarUrl:n,userName:o,hasAudioStream:s,hasVideoStream:l,audioVolume:u,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:h})),c&&(t[`${r}_${i.TUIVideoStreamType.kScreenStream}`]=Object.assign(e.screenStreamInfo,{userId:r,avatarUrl:n,userName:o,hasScreenStream:c,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:d}))})),t},remoteStreamList(){return[...Object.values(this.remoteStreamObj)]},streamList(){return[this.localStream,...Object.values(this.remoteStreamObj)]},streamNumber(){return this.streamList.length},remoteAnchorList:e=>[...Object.values(e.remoteUserObj)].filter((e=>e.onSeat)),userList:e=>[e.localUser,...Object.values(e.remoteUserObj)],userNumber(){return this.userList.length},applyToAnchorList:e=>[...Object.values(e.remoteUserObj)].filter((e=>e.isUserApplyingToAnchor))||[],defaultStreamType(){return Object.keys(this.hasVideoStreamObject).length>this.maxMembersCount?i.TUIVideoStreamType.kCameraStreamLow:i.TUIVideoStreamType.kCameraStream}},actions:{setLocalUser(e){Object.assign(this.localUser,e)},updateLocalStream(e){Object.assign(this.localStream,e)},getUserName(e){return e===this.localUser.userId?this.localUser.userName||e:this.remoteUserObj[e]?.userName||e},getNewUserInfo(e){const t={userId:e,userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,isVideoVisible:!1,isScreenVisible:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!this.isSpeakAfterTakingSeatMode,cameraStreamInfo:{userId:e,userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!1},screenStreamInfo:{userId:e,userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!1}};return this.isMaster&&Object.assign(t,{isChatMutedByMaster:!1,isUserApplyingToAnchor:!1,isInvitingUserToAnchor:!1}),t},setUserList(e){e.forEach((e=>{if(e.userId!==this.localUser.userId)if(this.remoteUserObj[e.userId])Object.assign(this.remoteUserObj[e.userId],e);else{const t=Object.assign(this.getNewUserInfo(e.userId),e);a.$B?this.remoteUserObj[e.userId]=t:s.Z.set(this.remoteUserObj,e.userId,t)}else Object.assign(this.localUser,e)}))},addRemoteUser(e){const{userId:t}=e,r=(0,o.o)();if(t&&t!==r.userId)if(this.remoteUserObj[t])Object.assign(this.remoteUserObj[t],e);else{const r=Object.assign(this.getNewUserInfo(t),e);a.$B?this.remoteUserObj[t]=r:s.Z.set(this.remoteUserObj,t,r)}},updateRemoteUser(e,t){const r=this.remoteUserObj[e];if(!r)return;const{nick:n,avatar:i}=t;Object.assign(r,{userName:n,avatarUrl:i})},updateOnSeatList(e,t,r){"{}"===JSON.stringify(this.remoteUserObj)?e.forEach((e=>{const{userId:t}=e;if(t===this.localUser.userId)Object.assign(this.localUser,{onSeat:!0});else{const e=Object.assign(this.getNewUserInfo(t),{onSeat:!0});a.$B?this.remoteUserObj[t]=e:s.Z.set(this.remoteUserObj,t,e)}})):(t.forEach((e=>{const{userId:t}=e;if(t===this.localUser.userId)Object.assign(this.localUser,{onSeat:!0});else{const e=this.remoteUserObj[t];if(e)Object.assign(e,{onSeat:!0});else{const e=Object.assign(this.getNewUserInfo(t),{onSeat:!0});a.$B?this.remoteUserObj[t]=e:s.Z.set(this.remoteUserObj,t,e)}}})),r.forEach((e=>{if(e.userId===this.localUser.userId)Object.assign(this.localUser,{onSeat:!1});else{const t=this.remoteUserObj[e.userId];t&&Object.assign(t,{onSeat:!1})}})))},updateUserVideoState(e,t,r){const n=(0,o.o)();let l=e===n.userId?this.localUser:this.remoteUserObj[e];!l&&r&&(l=this.getNewUserInfo(e),a.$B?this.remoteUserObj[e]=l:s.Z.set(this.remoteUserObj,e,l)),l&&(this.updatehasVideoStreamObject(l,r,e===n.userId),t===i.TUIVideoStreamType.kCameraStream||t===i.TUIVideoStreamType.kCameraStreamLow?l.hasVideoStream=r:t===i.TUIVideoStreamType.kScreenStream&&(l.hasScreenStream=r))},updatehasVideoStreamObject(e,t,r){if(r)return;const{userId:n,cameraStreamInfo:i,screenStreamInfo:o,hasVideoStream:l}=e,c=`${n}_${l?i.streamType:o.streamType}`;t?a.$B?this.hasVideoStreamObject[c]=e:s.Z.set(this.hasVideoStreamObject,c,e):a.$B?delete this.hasVideoStreamObject[c]:s.Z["delete"](this.hasVideoStreamObject,c)},updateUserAudioState(e,t){const r=(0,o.o)();let n=e===r.userId?this.localUser:this.remoteUserObj[e];!n&&t&&(n=this.getNewUserInfo(e),a.$B?this.remoteUserObj[e]=n:s.Z.set(this.remoteUserObj,e,n)),n&&(n.hasAudioStream=t)},removeRemoteUser(e){const t=(0,o.o)();e&&e!==t.userId&&(a.$B?delete this.remoteUserObj[e]:s.Z["delete"](this.remoteUserObj,e))},updateUserStreamVisible(e){e.forEach((e=>{const t=e.slice(0,e.length-2),r=Number(e.slice(-1));if(t===this.localUser.userId)return;const n=this.remoteUserObj[t];n&&(r===i.TUIVideoStreamType.kCameraStream||r===i.TUIVideoStreamType.kCameraStreamLow?n.isVideoVisible=!0:r===i.TUIVideoStreamType.kScreenStream&&(n.isScreenVisible=!0))})),this.currentStreamIdListInVisibleView.forEach((t=>{const r=t.slice(0,t.length-2),n=Number(t.slice(-1));if(e.indexOf(t)<0){const e=this.remoteUserObj[r];if(!e)return;n===i.TUIVideoStreamType.kCameraStream||n===i.TUIVideoStreamType.kCameraStreamLow?e.isVideoVisible=!1:n===i.TUIVideoStreamType.kScreenStream&&(e.isScreenVisible=!1)}})),this.currentStreamIdListInVisibleView=e},setAudioVolume(e){const t=(0,o.o)();e.forEach((e=>{const{userId:r,volume:n}=e;if(r===t.userId||""===r)this.localUser.audioVolume=n;else{const e=this.remoteUserObj[r];e&&(e.audioVolume=n)}}))},setCurrentCameraId(e){this.currentCameraId=e},setCurrentMicrophoneId(e){this.currentMicrophoneId=e},setCurrentSpeakerId(e){this.currentSpeakerId=e},setRoomInfo(e){const{roomOwner:t,isMicrophoneDisableForAllUser:r,isCameraDisableForAllUser:n,isMessageDisableForAllUser:o,speechMode:a}=e;this.localUser.userId===t&&(this.localUser.userRole=i.TUIRole.kRoomOwner),this.masterUserId=t,this.isMicrophoneDisableForAllUser=r,this.isCameraDisableForAllUser=n,this.isMessageDisableForAllUser=o,this.speechMode=a,this.canControlSelfAudio=!this.isMicrophoneDisableForAllUser,this.canControlSelfVideo=!this.isCameraDisableForAllUser},setDisableMicrophoneForAllUserByAdmin(e){this.isMicrophoneDisableForAllUser=e},setDisableCameraForAllUserByAdmin(e){this.isCameraDisableForAllUser=e},setDisableMessageAllUserByAdmin(e){this.isMessageDisableForAllUser=e},setMasterUserId(e){this.masterUserId=e},setRoomParam(e){if(!e)return;const{isOpenCamera:t,isOpenMicrophone:r,defaultCameraId:n,defaultMicrophoneId:i,defaultSpeakerId:o}=e;n&&(this.setCurrentCameraId(n),c.instance?.setCurrentCameraDevice({deviceId:n})),i&&(this.setCurrentMicrophoneId(i),c.instance?.setCurrentMicDevice({deviceId:i})),o&&(this.setCurrentSpeakerId(o),c.instance?.setCurrentSpeakerDevice({deviceId:o})),(this.isMaster||!this.isMicrophoneDisableForAllUser&&this.isFreeSpeakMode)&&"boolean"===typeof r&&(this.isDefaultOpenMicrophone=r),(this.isMaster||!this.isCameraDisableForAllUser&&this.isFreeSpeakMode)&&"boolean"===typeof t&&(this.isDefaultOpenCamera=t)},setCanControlSelfAudio(e){this.canControlSelfAudio=e},setCanControlSelfVideo(e){this.canControlSelfVideo=e},updateVideoQuality(e){this.localVideoQuality=e},setCameraList(e){this.cameraList=e,!this.currentCameraId&&e.length>0&&this.setCurrentCameraId(e[0].deviceId)},setMicrophoneList(e){this.microphoneList=e,!this.currentMicrophoneId&&e.length>0&&this.setCurrentMicrophoneId(e[0].deviceId)},setSpeakerList(e){this.speakerList=e,!this.currentSpeakerId&&e.length>0&&this.setCurrentSpeakerId(e[0].deviceId)},setMicrophoneDisableState(e){this.isMicrophoneDisableForAllUser=e},setCameraDisableState(e){this.isCameraDisableForAllUser=e},setMuteUserChat(e,t){const r=this.remoteUserObj[e];r&&(r.isChatMutedByMaster=t)},setRemoteUserRole(e,t){const r=this.remoteUserObj[e];r&&(r.userRole=t)},setRequestUserOpenMic(e){const{userId:t,isRequesting:r,requestId:n}=e,i=this.remoteUserObj[t];i&&(i.isRequestingUserOpenMic=r,i.requestUserOpenMicRequestId=r?n:"")},setRequestUserOpenCamera(e){const{userId:t,isRequesting:r,requestId:n}=e,i=this.remoteUserObj[t];i&&(i.isRequestingUserOpenCamera=r,i.requestUserOpenCameraRequestId=r?n:"")},addApplyToAnchorUser(e){const{userId:t,requestId:r}=e,n=this.remoteUserObj[t];n&&(n.isUserApplyingToAnchor=!0,n.applyToAnchorRequestId=r)},removeApplyToAnchorUser(e){const t=this.remoteUserObj[e];t&&(t.isUserApplyingToAnchor=!1,t.applyToAnchorRequestId="")},addInviteToAnchorUser(e){const{userId:t,requestId:r}=e,n=this.remoteUserObj[t];n&&(n.isInvitingUserToAnchor=!0,n.inviteToAnchorRequestId=r)},removeInviteToAnchorUser(e){const t=this.remoteUserObj[e];t&&(t.isInvitingUserToAnchor=!1,t.inviteToAnchorRequestId="")},setHasOtherScreenShare(e){this.hasOtherScreenShare=e},reset(){this.localUser={userId:"",userName:"",avatarUrl:"",hasAudioStream:!1,hasVideoStream:!1,hasScreenStream:!1,userRole:i.TUIRole.kGeneralUser,audioVolume:0,onSeat:!1,cameraStreamInfo:{userId:"",userName:"",avatarUrl:"",audioVolume:0,hasAudioStream:!1,hasVideoStream:!1,streamType:i.TUIVideoStreamType.kCameraStream,isVisible:!0},screenStreamInfo:{userId:"",userName:"",avatarUrl:"",hasScreenStream:!1,streamType:i.TUIVideoStreamType.kScreenStream,isVisible:!0}},this.remoteUserObj={},this.isDefaultOpenCamera=!1,this.isDefaultOpenMicrophone=!1,this.canControlSelfAudio=!0,this.canControlSelfVideo=!0,this.localVideoQuality=i.TUIVideoQuality.kVideoQuality_720p,this.currentCameraId="",this.currentMicrophoneId="",this.currentSpeakerId="",this.cameraList=[],this.microphoneList=[],this.speakerList=[],this.masterUserId="",this.isMicrophoneDisableForAllUser=!1,this.isCameraDisableForAllUser=!1,this.isMessageDisableForAllUser=!1,this.speechMode=i.TUISpeechMode.kFreeToSpeak,this.hasVideoStreamObject={},this.hasOtherScreenShare=!1}}})},5581:function(e,t,r){"use strict";r.d(t,{G:function(){return i}});var n=r(4237);function i(){let e=(0,n.eY)("lang")||localStorage.getItem("tuiRoom-language")||navigator.language||"zh";return e=e.replace(/_/,"-").toLowerCase(),"zh-cn"===e||"zh"===e?e="zh-CN":"en"!==e&&"en-us"!==e&&"en-GB"!==e||(e="en-US"),e}},6419:function(e,t,r){"use strict";var n;r.d(t,{Z:function(){return u}}),function(e){e["ON_CHANGE_LOG_LEVEL"]="onChangeLogLevel"}(n||(n={}));const i={LOG_LEVEL_DEBUG:-1,LOG_LEVEL_LOG:0,LOG_LEVEL_INFO:1,LOG_LEVEL_WARN:2,LOG_LEVEL_ERROR:3,LOG_LEVEL_NON_LOGGING:4};var o;function a(e){const t=e.toString().length;let r;switch(t){case 1:r=`00${e}`;break;case 2:r=`0${e}`;break;default:r=e;break}return r}function s(e){const t=new Date;return`${t.toLocaleTimeString("en-US",{hour12:!1})}.${a(t.getMilliseconds())} [${e}]:`}(function(e){e["MAIN"]="main-process",e["RENDER"]="render-process"})(o||(o={}));let l=i.LOG_LEVEL_DEBUG;const c={debug(...e){l<=i.LOG_LEVEL_DEBUG&&console.debug(`${s(o.RENDER)}`,...e)},log(...e){l<=i.LOG_LEVEL_LOG&&console.log(`${s(o.RENDER)}`,...e)},info(...e){l<=i.LOG_LEVEL_INFO&&console.info(`${s(o.RENDER)}`,...e)},warn(...e){l<=i.LOG_LEVEL_WARN&&console.warn(`${s(o.RENDER)}`,...e)},error(...e){l<=i.LOG_LEVEL_ERROR&&console.error(`${s(o.RENDER)}`,...e)},setLevel(e){e>=i.LOG_LEVEL_DEBUG&&e<=i.LOG_LEVEL_NON_LOGGING?(console.log(`${s(o.RENDER)} set log level from ${l} to ${e}`),l=e,window.electron?.ipcRenderer&&window.electron.ipcRenderer.send(n.ON_CHANGE_LOG_LEVEL,e)):console.error(`${s(o.RENDER)} logger.setLevel() invalid params:${e}`)},getLevel(){return l}};var u=c},7175:function(e,t,r){"use strict";r.d(t,{$B:function(){return o},P_:function(){return i},Uh:function(){return a}});var n=r(6369);const i=/^2\.7\.*/.test(n.version),o=/^3\.*/.test(n.version),a=void 0},2843:function(e,t,r){"use strict";r.d(t,{e:function(){return n},t:function(){return i}});const n="undefined"!==typeof wx&&"function"===typeof wx.getSystemInfoSync&&Boolean(wx.getSystemInfoSync().fontSizeSetting),i=window?.matchMedia("(max-width: 600px)").matches||n},4237:function(e,t,r){"use strict";r.d(t,{jO:function(){return i},Ds:function(){return o},Pr:function(){return l},eY:function(){return c},Al:function(){return u},o8:function(){return h},EV:function(){return s},P2:function(){return a}});var n=r(2843);const i=e=>new Promise(((t,r)=>{if(n.e)uni.setClipboardData({data:e,success(){uni.getClipboardData({success(e){t({code:0,data:e})},fail(e){r({code:-1,err:e})}})},fail(e){r({code:-1,err:e})}});else try{navigator.clipboard.writeText(`${e}`),t({code:0,data:e})}catch(i){r({code:-1,err:i})}}));function o(e,t){let r;return function(...n){r>0&&clearTimeout(r),r=window?.setTimeout((()=>{e.apply(this,n),r=-1}),t)}}function a(e,t){let r=0;return function(...n){const i=Date.now();i-r>t&&(e.apply(this,n),r=i)}}function s(e){const t=e;t?.requestFullscreen?t?.requestFullscreen():t?.mozRequestFullScreen?t?.mozRequestFullScreen():t?.webkitRequestFullScreen?t?.webkitRequestFullScreen():t?.msRequestFullscreen&&t?.msRequestFullscreen()}function l(){if(!document?.fullscreenElement&&!document?.webkitFullscreenElement&&!document?.mozFullScreenElement)return;const e=document;e?.exitFullscreen?e?.exitFullscreen():e?.msExitFullscreen?e?.msExitFullscreen():e?.mozCancelFullScreen?e?.mozCancelFullScreen():e?.webkitExitFullscreen&&e?.webkitExitFullscreen()}function c(e){const t=window?.location.href.replace(/^[^?]*\?/,""),r=new RegExp(`(^|&)${e}=([^&#]*)(&|$|)`,"i"),n=t?.match(r);return n?n[2]:null}function u(){const e=navigator?.userAgent.toLowerCase();return e?.indexOf(" electron/")>-1}function h(e){return"undefined"===typeof e}},3303:function(e,t,r){"use strict";var n=r(6369);t["Z"]=n["default"]},3470:function(e,t,r){"use strict";var n=r(6369),i=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},o=[],a=r(3736),s={},l=(0,a.Z)(s,i,o,!1,null,null,null),c=l.exports,u=r(9255),h=r(1020),d=r(8499),f=r.n(d),p=r(7357);n["default"].use(h.og);const m=(0,h.WB)();n["default"].use(f()),n["default"].use(p.Z),n["default"].config.productionTip=!1,new n["default"]({pinia:m,router:u.Z,render:e=>e(c)}).$mount("#app")},9255:function(e,t,r){"use strict";r.d(t,{Z:function(){return Wa}});var n=r(6369),i=r(2631),o=function(){var e=this,t=e._self._c;return t("div",{staticClass:"home-container"},[t("div",{staticClass:"header"},[t("user-info",{staticClass:"header-item user-info",attrs:{"user-id":e.userId,"user-name":e.userName,"user-avatar":e.userAvatar},on:{"log-out":e.handleLogOut}}),t("language-icon",{staticClass:"header-item language"}),t("switch-theme",{staticClass:"header-item theme"})],1),e.isMobile?e._e():t("stream-preview",{ref:"streamPreviewRef"}),t("room-control",{ref:"roomControlRef",attrs:{"given-room-id":e.givenRoomId,"user-name":e.userName||e.userId},on:{"create-room":e.handleCreateRoom,"enter-room":e.handleEnterRoom}})],1)},a=[],s=(r(7658),r(9643)),l=r(9139),c=r(7698),u=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",[t("div",{directives:[{name:"loading",rawName:"v-loading",value:r.loading,expression:"loading"}],staticClass:"stream-container",attrs:{"element-loading-background":"#000000"}},[t("div",{ref:"streamPreviewRef",staticClass:"stream-preview",attrs:{id:"stream-preview"}}),r.isCameraMuted?t("div",{staticClass:"stream-info"},[t("span",{staticClass:"attention-info"},[e._v(e._s(r.t("Off Camera")))])]):e._e(),t("div",{staticClass:"control-region"},[t(r.IconButton,{ref:"audioIconButtonRef",attrs:{title:r.t("Mic"),"is-active":r.isMicMuted,"hide-hover-effect":!0,"has-more":!0},on:{"click-icon":r.toggleMuteAudio,"click-more":r.handleMicSetting}},[t(r.AudioIcon,{attrs:{"audio-volume":r.audioVolume,"is-muted":r.isMicMuted}})],1),t(r.IconButton,{ref:"videoIconButtonRef",staticClass:"icon",attrs:{title:r.t("Camera"),"is-active":r.isCameraMuted,"icon-name":r.cameraIconName,"hide-hover-effect":!0,"has-more":!0},on:{"click-icon":r.toggleMuteVideo,"click-more":r.handleCameraSetting}})],1)]),t("div",{staticClass:"drawer-container"},[t(r.Drawer,{attrs:{"model-value":r.isSettingOpen,modal:!1,title:r.t(r.settingTitle),direction:"rtl","before-close":r.handleDrawerClose,size:480}},["audio"===r.settingTab?t(r.AudioSettingTab,{attrs:{mode:r.SettingMode.DETAIL}}):"video"===r.settingTab?t(r.VideoSettingTab,{attrs:{mode:r.SettingMode.DETAIL,"with-preview":!1}}):e._e()],1)],1)])},h=[],d=r(452),f=r.n(d),p=r(2097),m=r(3927),v=r(3929),g=r(8283),_=r(1342),w=r(4990),b=r(6671),y=r(7357),S=r(3681),k=r(4237),C=r(4679),A=r(3235),I=r(6419),T=(0,n.defineComponent)({__name:"StreamPreview",setup(e,{expose:t}){const r=(0,w.A)(),{t:i}=(0,y.Q)(),o=(0,n.ref)(0),a=(0,k.Al)(),s=(0,S.Z)();t({getRoomParam:M,startStreamPreview:x});const l={isOpenCamera:!0,isOpenMicrophone:!0,defaultCameraId:"",defaultMicrophoneId:"",defaultSpeakerId:""},c=(0,n.ref)(),u=(0,n.ref)(!0),h=(0,n.ref)(!1),T=(0,n.ref)(!1),E=(0,n.computed)((()=>T.value?b.Z.CameraOff:b.Z.CameraOn));async function R(){h.value=!h.value,l.isOpenMicrophone=!h.value,h.value?(await(s.instance?.stopMicDeviceTest()),o.value=0):await(s.instance?.startMicDeviceTest({interval:200}))}async function L(){T.value=!T.value,l.isOpenCamera=!T.value,T.value?await(s.instance?.stopCameraDeviceTest()):await(s.instance?.startCameraDeviceTest({view:"stream-preview"}))}function M(){return l.defaultCameraId=r.currentCameraId,l.defaultMicrophoneId=r.currentMicrophoneId,l.defaultSpeakerId=r.currentSpeakerId,l}const U=e=>{o.value=e};async function x(){const e=await(s.instance?.getCameraDevicesList()),t=await(s.instance?.getMicDevicesList()),n=await(s.instance?.getSpeakerDevicesList()),o=e&&e.length>0,a=t&&t.length>0;let l="";o&&!a?l="Microphone not detected on current device":!o&&a?l="Camera not detected on current device":o||a||(l="Camera And Microphone not detected on current device"),l&&A.T.alert(i(l),i("Note"),{customClass:"custom-element-class",confirmButtonText:i("Confirm")}),e&&r.setCameraList(e),t&&r.setMicrophoneList(t),n&&r.setSpeakerList(n);const c=s.instance?.getCurrentCameraDevice(),h=s.instance?.getCurrentMicDevice(),d=s.instance?.getCurrentSpeakerDevice();c&&c.deviceId&&r.setCurrentCameraId(c.deviceId),h&&h.deviceId&&r.setCurrentMicrophoneId(h.deviceId),d&&d.deviceId&&r.setCurrentSpeakerId(d.deviceId),o&&await(s.instance?.startCameraDeviceTest({view:"stream-preview"})),a&&await(s.instance?.startMicDeviceTest({interval:200})),u.value=!1}async function D(e){const t=["add","remove","active"],{deviceId:n,type:i,state:o}=e;if(i===d.TRTCDeviceType.TRTCDeviceTypeMic){I.Z.log(`onDeviceChange: deviceId: ${n}, type: microphone, state: ${t[o]}`);const e=await(s.instance?.getMicDevicesList());return r.setMicrophoneList(e),void(o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentMicrophoneId(n))}if(i===d.TRTCDeviceType.TRTCDeviceTypeSpeaker){I.Z.log(`onDeviceChange: deviceId: ${n}, type: speaker, state: ${t[o]}`);const e=await(s.instance?.getSpeakerDevicesList());return r.setSpeakerList(e),void(o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentSpeakerId(n))}if(i===d.TRTCDeviceType.TRTCDeviceTypeCamera){I.Z.log(`onDeviceChange: deviceId: ${n}, type: camera, state: ${t[o]}`);const e=await(s.instance?.getCameraDevicesList());r.setCameraList(e),o===d.TRTCDeviceState.TRTCDeviceStateActive&&r.setCurrentCameraId(n)}}f().once("ready",(async()=>{const e=s.instance?.getTRTCCloud();e?.on("onTestMicVolume",U),s.instance?.on(d.TUIRoomEvents.onDeviceChange,D)})),(0,n.onBeforeUnmount)((async()=>{await(s.instance?.stopCameraDeviceTest()),await(s.instance?.stopMicDeviceTest());const e=s.instance?.getTRTCCloud();e?.off("onTestMicVolume",U),s.instance?.off(d.TUIRoomEvents.onDeviceChange,D)}));const O=(0,n.ref)(!1),N=(0,n.ref)(""),B=(0,n.ref)("");function P(){O.value=!0,N.value="Mic settings",B.value="audio"}function z(){O.value=!0,N.value="Camera settings",B.value="video"}function F(e){B.value="",O.value=!1,e()}return{__sfc:!0,roomStore:r,t:i,audioVolume:o,isElectron:a,roomEngine:s,tuiRoomParam:l,streamPreviewRef:c,loading:u,isMicMuted:h,isCameraMuted:T,cameraIconName:E,toggleMuteAudio:R,toggleMuteVideo:L,getRoomParam:M,onUserVoiceVolume:U,startStreamPreview:x,onDeviceChange:D,isSettingOpen:O,settingTitle:N,settingTab:B,handleMicSetting:P,handleCameraSetting:z,handleDrawerClose:F,IconButton:p.Z,SettingMode:m.n,AudioSettingTab:v.Z,VideoSettingTab:g.Z,AudioIcon:_.Z,Drawer:C.Z}}}),E=T,R=r(3736),L=(0,R.Z)(E,u,h,!1,null,null,null),M=L.exports,U=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"control-container"},[r.showRoomDetail?e._e():t("div",{staticClass:"container-header"},[t("div",[r.isEN?t("div",{staticClass:"login-logo"},[t("img",{staticClass:"login-top",attrs:{src:r.logoEn}})]):t("div",{staticClass:"container-icon"},[t(r.SvgIcon,{staticClass:"tencent-cloud",attrs:{"icon-name":"tencent-cloud",size:"custom"}}),t(r.SvgIcon,{staticClass:"tencent-cloud-text",attrs:{"icon-name":"tencent-cloud-text",size:"custom"}})],1)]),t("div",{staticClass:"container-bottom"},[t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.enterRoom,expression:"enterRoom"}],staticClass:"join-room"},[t(r.SvgIcon,{staticClass:"enter-icon",attrs:{"icon-name":"enter-room",size:"custom"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Join Room")))])],1),t("div",{directives:[{name:"tap",rawName:"v-tap",value:r.createRoom,expression:"createRoom"}],staticClass:"create-room"},[t(r.SvgIcon,{staticClass:"add-icon",attrs:{"icon-name":"add-icon",size:"custom"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("New Room")))])],1)])]),r.showRoomDetail||r.hasGivenRoomId?t("div",{staticClass:"room-detail"},[t("div",{staticClass:"room-detail-header"},[t(r.SvgIcon,{directives:[{name:"tap",rawName:"v-tap",value:r.handleClose,expression:"handleClose"}],staticClass:"close-icon",attrs:{"icon-name":"close-back",size:"custom"}}),r.isJoinRoom||r.hasGivenRoomId?t("span",{staticClass:"room-detail-header-title"},[e._v(e._s(r.t("Join Room")))]):t("span",{staticClass:"room-detail-header-title"},[e._v(e._s(r.t("New Room")))])],1),t("div",{staticClass:"room-detail-middle"},[t("div",{staticClass:"room-detail-info"},[r.isJoinRoom||r.hasGivenRoomId?t("div",{staticClass:"room-detail-info-box"},[t("span",{staticClass:"room-detail-title"},[e._v(" "+e._s(r.t("Room ID")))]),t("input",{directives:[{name:"model",rawName:"v-model",value:r.roomId,expression:"roomId"}],staticClass:"roomid-input",attrs:{type:"number",placeholder:r.t("Enter room ID"),maxlength:"10",enterkeyhint:"complete"},domProps:{value:r.roomId},on:{keyup:r.handleInput,input:function(e){e.target.composing||(r.roomId=e.target.value)}}})]):t("div",{staticClass:"room-detail-info-box",on:{click:r.chooseRoomType}},[t("span",{staticClass:"room-detail-title"},[e._v(" "+e._s(r.t("Room Type")))]),t("div",{staticClass:"room-show-title"},[t("span",{staticClass:"room-show-title"},[e._v(e._s(r.roomType))])]),t(r.SvgIcon,{staticClass:"chevron-down-icon",attrs:{"icon-name":"chevron-down",size:"custom"}})],1),t("div",{staticClass:"room-detail-info-box"},[t("span",{staticClass:"room-detail-title"},[e._v(e._s(r.t("Your Name")))]),t("input",{directives:[{name:"model",rawName:"v-model",value:r.currentUserName,expression:"currentUserName"}],staticClass:"roomid-input",attrs:{enterkeyhint:"complete",maxlength:"16",minlength:"1"},domProps:{value:r.currentUserName},on:{keyup:r.handleInputName,input:function(e){e.target.composing||(r.currentUserName=e.target.value)}}})])]),t("div",{staticClass:"room-detail-setting"},[t("div",{staticClass:"room-detail-setting-list"},[e._v(" "+e._s(r.t("Turn on the microphone"))+" "),t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.toggle("isMicOn"),expression:"() => toggle('isMicOn')"}],staticClass:"slider-box",class:[r.isMicOn&&"slider-open"]},[t("span",{staticClass:"slider-block"})])]),t("div",{staticClass:"room-detail-setting-list"},[e._v(" "+e._s(r.t("Turn on the video"))+" "),t("div",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.toggle("isCamerOn"),expression:"() => toggle('isCamerOn')"}],staticClass:"slider-box",class:[r.isCamerOn&&"slider-open"]},[t("span",{staticClass:"slider-block"})])])])]),t("div",{staticClass:"room-detail-bottom"},[r.isJoinRoom||r.hasGivenRoomId?t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.handleRoomOption("Join"),expression:"() => handleRoomOption('Join')"}],staticClass:"button"},[e._v(e._s(r.t("Join Room")))]):t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.handleRoomOption("New"),expression:"() => handleRoomOption('New')"}],staticClass:"button"},[e._v(e._s(r.t("New Room")))])])]):e._e(),r.showMoreType?t("div",{staticClass:"room-choose-mobile"},[t("div",{ref:"moreTypeRef",class:[r.showMoreType?"room-type-container":"close-room-type-container"]},[t("div",{staticClass:"room-choose-button"},[t("span",{staticClass:"choose-cancel",on:{click:function(e){r.showMoreType=!1}}},[e._v(e._s(r.t("Cancel")))]),t("span",{directives:[{name:"tap",rawName:"v-tap",value:r.handleConfirm,expression:"handleConfirm"}],staticClass:"choose-confirm"},[e._v(e._s(r.t("Sure")))])]),t("div",{staticClass:"room-type-hidden"},[t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.chooseCurrentType("FreeToSpeak"),expression:"() => chooseCurrentType('FreeToSpeak')"}],staticClass:"room-choose-title",class:["FreeToSpeak"===r.mode&&"room-current-title"]},[e._v(e._s(r.t("Free Speech Room")))]),t("span",{directives:[{name:"tap",rawName:"v-tap",value:()=>r.chooseCurrentType("SpeakAfterTakingSeat"),expression:"() => chooseCurrentType('SpeakAfterTakingSeat')"}],staticClass:"room-choose-title",class:["SpeakAfterTakingSeat"===r.mode&&"room-current-title"]},[e._v(e._s(r.t("Raise Hand Room")))])])])]):e._e()])},x=[],D=r(6316),O=r.p+"img/logo.2972e3c8.png",N=r.p+"img/logo-en.a0a06d09.png";function B(){const e=(0,n.computed)((()=>"zh-CN"===y.Z.global.locale.value?O:N)),t=(0,n.computed)((()=>"en-US"===y.Z.global.locale.value)),r=(0,n.ref)(!1),{t:i}=(0,y.Q)();return{logo:e,isEN:t,logoEn:N,t:i,showCreateRoomOption:r}}r(5175);var P=(0,n.defineComponent)({__name:"RoomControlH5",props:{userName:null,givenRoomId:null},emits:["create-room","enter-room","update-user-name"],setup(e,{expose:t,emit:r}){const i=e,{logoEn:o,t:a,isEN:s}=B(),l=(0,n.ref)(),c=(0,w.A)(),u=(0,n.ref)(!1),h=(0,n.ref)(!1),d=(0,n.ref)(!1),f=(0,n.computed)((()=>"FreeToSpeak"===v.value?a("Free Speech Room"):a("Raise Hand Room"))),p=(0,n.ref)(!0),m=(0,n.ref)(!0),v=(0,n.ref)("FreeToSpeak"),g=(0,n.ref)(""),_={isOpenCamera:!0,isOpenMicrophone:!0,defaultCameraId:"",defaultMicrophoneId:"",defaultSpeakerId:""};t({getRoomParam:R});const b=(0,n.ref)(i.userName||`user_${Math.ceil(10*Math.random())}`),y=(0,n.computed)((()=>"string"===typeof i.givenRoomId&&""!==i.givenRoomId));function S(){u.value=!u.value,d.value=!1}function k(){u.value=!u.value,d.value=!0}function C(){h.value=!h.value}function A(e){v.value=e}function I(){h.value=!h.value}function T(){u.value=!1,h.value=!1}function E(e){switch(e){case"isMicOn":p.value=!p.value,_.isOpenMicrophone=p.value;break;case"isCamerOn":m.value=!m.value,_.isOpenCamera=m.value;break;default:break}}function R(){return _.defaultCameraId=c.currentCameraId,_.defaultMicrophoneId=c.currentMicrophoneId,_.defaultSpeakerId=c.currentSpeakerId,_}function L(e){g.value=e.target.value}function M(e){b.value=e.target.value}function U(e){h.value&&!l.value.contains(e.target)&&(h.value=!1)}function x(e){switch(r("update-user-name",b.value),e){case"Join":r("enter-room",String(g.value));break;case"New":r("create-room",v.value);break;default:break}}return(0,n.watch)((()=>i.givenRoomId),(e=>{e&&(g.value=e)}),{immediate:!0}),(0,n.onMounted)((()=>{document?.addEventListener("click",U,!0)})),(0,n.onUnmounted)((()=>{document?.removeEventListener("click",U,!0)})),{__sfc:!0,logoEn:o,t:a,isEN:s,moreTypeRef:l,roomStore:c,showRoomDetail:u,showMoreType:h,isJoinRoom:d,roomType:f,isMicOn:p,isCamerOn:m,mode:v,roomId:g,tuiRoomParam:_,emit:r,props:i,currentUserName:b,hasGivenRoomId:y,createRoom:S,enterRoom:k,chooseRoomType:C,chooseCurrentType:A,handleConfirm:I,handleClose:T,toggle:E,getRoomParam:R,handleInput:L,handleInputName:M,handleDocumentClick:U,handleRoomOption:x,SvgIcon:D.Z}}}),z=P,F=(0,R.Z)(z,U,x,!1,null,"6b65407c",null),Z=F.exports,V=function(){var e=this,t=e._self._c,r=e._self._setupProxy;return t("div",{staticClass:"control-container"},[t("div",{staticClass:"control-content"},[t("img",{directives:[{name:"show",rawName:"v-show",value:e.showLogo,expression:"showLogo"}],staticClass:"logo",attrs:{src:r.logo}}),r.hasGivenRoomId?t("div",{staticClass:"control-region"},[t("span",{staticClass:"invite-title"},[e._v(e._s(r.t("Join the room ?")))]),t("span",{staticClass:"invite-info"},[e._v(e._s(r.t("You are invited to room "))+e._s(`${e.givenRoomId} `)+e._s(r.t("Room")))]),t("div",{staticClass:"button enter-given-room-button",on:{click:r.enterGivenRoom}},[t("span",{staticClass:"title"},[e._v(e._s(r.t("Join")))])])]):t("div",{staticClass:"control-region"},[t("div",{staticClass:"button create-room-button",attrs:{type:"primary"},on:{mouseenter:r.handleMouseEnter,mouseleave:r.handleMouseLeave}},[t("div",{staticClass:"create-room"},[t(r.SvgIcon,{attrs:{"icon-name":"add-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("New Room")))])],1),t("div",{staticClass:"connect-region"}),t("div",{directives:[{name:"show",rawName:"v-show",value:r.showCreateRoomOption,expression:"showCreateRoomOption"}],staticClass:"create-room-mode"},[t("div",{staticClass:"create-room-option",on:{click:function(e){return r.createRoom("FreeToSpeak")}}},[t(r.SvgIcon,{staticClass:"icon",attrs:{"icon-name":"free-speech-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Free Speech Room")))])],1),t("div",{staticClass:"create-room-option",on:{click:function(e){return r.createRoom("SpeakAfterTakingSeat")}}},[t(r.SvgIcon,{staticClass:"icon",attrs:{"icon-name":"apply-speech-icon"}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Raise Hand Room")))])],1)])]),t("div",{staticClass:"button join-room-button",attrs:{type:"primary"},on:{click:r.enterRoom}},[t("input",{directives:[{name:"model",rawName:"v-model",value:r.roomId,expression:"roomId"}],staticClass:"input",attrs:{placeholder:r.t("Enter room ID"),maxlength:"10"},domProps:{value:r.roomId},on:{click:function(e){e.stopPropagation()},input:function(e){e.target.composing||(r.roomId=e.target.value)}}}),t("span",{staticClass:"title"},[e._v(e._s(r.t("Join Room")))])])])])])},j=[],H=(0,n.defineComponent)({__name:"RoomControlPC",props:{showLogo:{type:Boolean,default:!0},givenRoomId:null},emits:["create-room","enter-room"],setup(e,{emit:t}){const r=e,{logo:i,showCreateRoomOption:o,t:a}=B(),s=(0,n.computed)((()=>"string"===typeof r.givenRoomId&&""!==r.givenRoomId)),l=(0,n.ref)("");function c(){t("enter-room",r.givenRoomId)}function u(){o.value=!0}function h(){o.value=!1}function d(e){t("create-room",e)}function f(){l.value&&t("enter-room",String(l.value))}return(0,n.watch)(l,(e=>{l.value=e.replace(/[^\d]/g,"")})),{__sfc:!0,logo:i,showCreateRoomOption:o,t:a,props:r,hasGivenRoomId:s,roomId:l,emit:t,enterGivenRoom:c,handleMouseEnter:u,handleMouseLeave:h,createRoom:d,enterRoom:f,SvgIcon:D.Z}}}),G=H,Y=(0,R.Z)(G,V,j,!1,null,"e855f218",null),W=Y.exports,Q=r(2843);const K=Q.t?Z:W;var q=K,X=(r(541),r(2087),"undefined"!=typeof r.g?r.g:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),J=[],$=[],ee="undefined"!=typeof Uint8Array?Uint8Array:Array,te=!1;function re(){te=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,r=e.length;t>18&63]+J[i>>12&63]+J[i>>6&63]+J[63&i]);return o.join("")}function ie(e){var t;te||re();for(var r=e.length,n=r%3,i="",o=[],a=0,s=r-n;as?s:a+16383));return 1===n?(t=e[r-1],i+=J[t>>2],i+=J[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=J[t>>10],i+=J[t>>4&63],i+=J[t<<2&63],i+="="),o.push(i),o.join("")}function oe(e,t,r,n,i){var o,a,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,d=r?-1:1,f=e[t+h];for(h+=d,o=f&(1<<-u)-1,f>>=-u,u+=s;u>0;o=256*o+e[t+h],h+=d,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=n;u>0;a=256*a+e[t+h],h+=d,u-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=c}return(f?-1:1)*a*Math.pow(2,o-n)}function ae(e,t,r,n,i,o){var a,s,l,c=8*o-i-1,u=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(s=0,a=u):a+h>=1?(s=(t*l-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&s,f+=p,s/=256,i-=8);for(a=a<0;e[r+f]=255&a,f+=p,a/=256,c-=8);e[r+f-p]|=128*m}var se={}.toString,le=Array.isArray||function(e){return"[object Array]"==se.call(e)};function ce(){return he.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function ue(e,t){if(ce()=ce())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ce().toString(16)+" bytes");return 0|e}function ge(e){return!(null==e||!e._isBuffer)}function _e(e,t){if(ge(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Ge(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Ye(e).length;default:if(n)return Ge(e).length;t=(""+t).toLowerCase(),n=!0}}function we(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return De(this,t,r);case"utf8":case"utf-8":return Le(this,t,r);case"ascii":return Ue(this,t,r);case"latin1":case"binary":return xe(this,t,r);case"base64":return Re(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function be(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function ye(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=he.from(t,n)),ge(t))return 0===t.length?-1:Se(e,t,r,n,i);if("number"==typeof t)return t&=255,he.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Se(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Se(e,t,r,n,i){var o,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var u=-1;for(o=r;os&&(r=s-l),o=r;o>=0;o--){for(var h=!0,d=0;di&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function Re(e,t,r){return 0===t&&r===e.length?ie(e):ie(e.slice(t,r))}function Le(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[i+1]))&&(l=(31&c)<<6|63&o)>127&&(u=l);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(l=(15&c)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=Me)return String.fromCharCode.apply(String,e);for(var r="",n=0;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},he.prototype.compare=function(e,t,r,n,i){if(!ge(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(n,i),c=e.slice(t,r),u=0;ui)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return ke(this,e,t,r);case"utf8":case"utf-8":return Ce(this,e,t,r);case"ascii":return Ae(this,e,t,r);case"latin1":case"binary":return Ie(this,e,t,r);case"base64":return Te(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ee(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},he.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Me=4096;function Ue(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",o=t;or)throw new RangeError("Trying to access beyond buffer length")}function Be(e,t,r,n,i,o){if(!ge(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Pe(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function ze(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function Fe(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ze(e,t,r,n,i){return i||Fe(e,0,r,4),ae(e,t,r,n,23,4),r+4}function Ve(e,t,r,n,i){return i||Fe(e,0,r,8),ae(e,t,r,n,52,8),r+8}he.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},he.prototype.readUInt8=function(e,t){return t||Ne(e,1,this.length),this[e]},he.prototype.readUInt16LE=function(e,t){return t||Ne(e,2,this.length),this[e]|this[e+1]<<8},he.prototype.readUInt16BE=function(e,t){return t||Ne(e,2,this.length),this[e]<<8|this[e+1]},he.prototype.readUInt32LE=function(e,t){return t||Ne(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},he.prototype.readUInt32BE=function(e,t){return t||Ne(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},he.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},he.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Ne(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},he.prototype.readInt8=function(e,t){return t||Ne(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},he.prototype.readInt16LE=function(e,t){t||Ne(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},he.prototype.readInt16BE=function(e,t){t||Ne(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},he.prototype.readInt32LE=function(e,t){return t||Ne(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},he.prototype.readInt32BE=function(e,t){return t||Ne(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},he.prototype.readFloatLE=function(e,t){return t||Ne(e,4,this.length),oe(this,e,!0,23,4)},he.prototype.readFloatBE=function(e,t){return t||Ne(e,4,this.length),oe(this,e,!1,23,4)},he.prototype.readDoubleLE=function(e,t){return t||Ne(e,8,this.length),oe(this,e,!0,52,8)},he.prototype.readDoubleBE=function(e,t){return t||Ne(e,8,this.length),oe(this,e,!1,52,8)},he.prototype.writeUIntLE=function(e,t,r,n){e=+e,t|=0,r|=0,n||Be(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},he.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,1,255,0),he.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},he.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,65535,0),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pe(this,e,t,!0),t+2},he.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,65535,0),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pe(this,e,t,!1),t+2},he.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,4294967295,0),he.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ze(this,e,t,!0),t+4},he.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,4294967295,0),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ze(this,e,t,!1),t+4},he.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Be(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},he.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);Be(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},he.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,1,127,-128),he.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},he.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,32767,-32768),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pe(this,e,t,!0),t+2},he.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,2,32767,-32768),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pe(this,e,t,!1),t+2},he.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,2147483647,-2147483648),he.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ze(this,e,t,!0),t+4},he.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||Be(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),he.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ze(this,e,t,!1),t+4},he.prototype.writeFloatLE=function(e,t,r){return Ze(this,e,t,!0,r)},he.prototype.writeFloatBE=function(e,t,r){return Ze(this,e,t,!1,r)},he.prototype.writeDoubleLE=function(e,t,r){return Ve(this,e,t,!0,r)},he.prototype.writeDoubleBE=function(e,t,r){return Ve(this,e,t,!1,r)},he.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!he.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Ye(e){return function(e){var t,r,n,i,o,a;te||re();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new ee(3*s/4-o),n=o>0?s-4:s;var l=0;for(t=0,r=0;t>16&255,a[l++]=i>>8&255,a[l++]=255&i;return 2===o?(i=$[e.charCodeAt(t)]<<2|$[e.charCodeAt(t+1)]>>4,a[l++]=255&i):1===o&&(i=$[e.charCodeAt(t)]<<10|$[e.charCodeAt(t+1)]<<4|$[e.charCodeAt(t+2)]>>2,a[l++]=i>>8&255,a[l++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(je,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function We(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Qe(e){return null!=e&&(!!e._isBuffer||Ke(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ke(e.slice(0,0))}(e))}function Ke(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function qe(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof r.g?r.g:"undefined"!=typeof self&&self;var Xe=qe((function(e,t){var r;e.exports=(r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},o=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||l).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){var r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},c=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},u=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},h=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,s=4*o,l=i/s,c=(l=t?e.ceil(l):e.max((0|l)-this._minBufferSize,0))*o,u=e.min(4*c,i);if(c){for(var h=0;h>>2]|=e[i]<<24-i%4*8;t.call(this,n,r)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.WordArray,n=e.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var r=e.length,n=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(n,2*r)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var r=e.length,n=[],o=0;o>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*r)}}}(),r.enc.Utf16)})),qe((function(e,t){var r,n,i;e.exports=(i=(n=r=Xe).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s>>6*(3-s)&63));var l=n.charAt(64);if(l)for(;i.length%4;)i.push(l);return i.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-a%4*2;n[o>>>2]|=(s|l)<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},r.enc.Base64)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[];!function(){for(var t=0;t<64;t++)s[t]=4294967296*e.abs(e.sin(t+1))|0}();var l=a.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],l=e[t+1],f=e[t+2],p=e[t+3],m=e[t+4],v=e[t+5],g=e[t+6],_=e[t+7],w=e[t+8],b=e[t+9],y=e[t+10],S=e[t+11],k=e[t+12],C=e[t+13],A=e[t+14],I=e[t+15],T=o[0],E=o[1],R=o[2],L=o[3];T=c(T,E,R,L,a,7,s[0]),L=c(L,T,E,R,l,12,s[1]),R=c(R,L,T,E,f,17,s[2]),E=c(E,R,L,T,p,22,s[3]),T=c(T,E,R,L,m,7,s[4]),L=c(L,T,E,R,v,12,s[5]),R=c(R,L,T,E,g,17,s[6]),E=c(E,R,L,T,_,22,s[7]),T=c(T,E,R,L,w,7,s[8]),L=c(L,T,E,R,b,12,s[9]),R=c(R,L,T,E,y,17,s[10]),E=c(E,R,L,T,S,22,s[11]),T=c(T,E,R,L,k,7,s[12]),L=c(L,T,E,R,C,12,s[13]),R=c(R,L,T,E,A,17,s[14]),T=u(T,E=c(E,R,L,T,I,22,s[15]),R,L,l,5,s[16]),L=u(L,T,E,R,g,9,s[17]),R=u(R,L,T,E,S,14,s[18]),E=u(E,R,L,T,a,20,s[19]),T=u(T,E,R,L,v,5,s[20]),L=u(L,T,E,R,y,9,s[21]),R=u(R,L,T,E,I,14,s[22]),E=u(E,R,L,T,m,20,s[23]),T=u(T,E,R,L,b,5,s[24]),L=u(L,T,E,R,A,9,s[25]),R=u(R,L,T,E,p,14,s[26]),E=u(E,R,L,T,w,20,s[27]),T=u(T,E,R,L,C,5,s[28]),L=u(L,T,E,R,f,9,s[29]),R=u(R,L,T,E,_,14,s[30]),T=h(T,E=u(E,R,L,T,k,20,s[31]),R,L,v,4,s[32]),L=h(L,T,E,R,w,11,s[33]),R=h(R,L,T,E,S,16,s[34]),E=h(E,R,L,T,A,23,s[35]),T=h(T,E,R,L,l,4,s[36]),L=h(L,T,E,R,m,11,s[37]),R=h(R,L,T,E,_,16,s[38]),E=h(E,R,L,T,y,23,s[39]),T=h(T,E,R,L,C,4,s[40]),L=h(L,T,E,R,a,11,s[41]),R=h(R,L,T,E,p,16,s[42]),E=h(E,R,L,T,g,23,s[43]),T=h(T,E,R,L,b,4,s[44]),L=h(L,T,E,R,k,11,s[45]),R=h(R,L,T,E,I,16,s[46]),T=d(T,E=h(E,R,L,T,f,23,s[47]),R,L,a,6,s[48]),L=d(L,T,E,R,_,10,s[49]),R=d(R,L,T,E,A,15,s[50]),E=d(E,R,L,T,v,21,s[51]),T=d(T,E,R,L,k,6,s[52]),L=d(L,T,E,R,p,10,s[53]),R=d(R,L,T,E,y,15,s[54]),E=d(E,R,L,T,l,21,s[55]),T=d(T,E,R,L,w,6,s[56]),L=d(L,T,E,R,I,10,s[57]),R=d(R,L,T,E,g,15,s[58]),E=d(E,R,L,T,C,21,s[59]),T=d(T,E,R,L,m,6,s[60]),L=d(L,T,E,R,S,10,s[61]),R=d(R,L,T,E,f,15,s[62]),E=d(E,R,L,T,b,21,s[63]),o[0]=o[0]+T|0,o[1]=o[1]+E|0,o[2]=o[2]+R|0,o[3]=o[3]+L|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var o=e.floor(n/4294967296),a=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var s=this._hash,l=s.words,c=0;c<4;c++){var u=l[c];l[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function c(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<>>32-o)+t}function u(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<>>32-o)+t}function h(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<>>32-o)+t}function d(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(l),t.HmacMD5=o._createHmacHelper(l)}(Math),r.MD5)})),qe((function(e,t){var r,n,i,o,a,s,l,c;e.exports=(i=(n=r=Xe).lib,o=i.WordArray,a=i.Hasher,s=n.algo,l=[],c=s.SHA1=a.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],c=0;c<80;c++){if(c<16)l[c]=0|e[t+c];else{var u=l[c-3]^l[c-8]^l[c-14]^l[c-16];l[c]=u<<1|u>>>31}var h=(n<<5|n>>>27)+s+l[c];h+=c<20?1518500249+(i&o|~i&a):c<40?1859775393+(i^o^a):c<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=n,n=h}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),n.SHA1=a._createHelper(c),n.HmacSHA1=a._createHmacHelper(c),r.SHA1)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[],l=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),l[i]=r(e.pow(n,1/3)),i++),n++}();var c=[],u=a.SHA256=o.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],h=r[6],d=r[7],f=0;f<64;f++){if(f<16)c[f]=0|e[t+f];else{var p=c[f-15],m=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,v=c[f-2],g=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;c[f]=m+c[f-7]+g+c[f-16]}var _=n&i^n&o^i&o,w=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),b=d+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&u^~s&h)+l[f]+c[f];d=h,h=u,u=s,s=a+b|0,a=o,o=i,i=n,n=b+(w+_)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+u|0,r[6]=r[6]+h|0,r[7]=r[7]+d|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),r.SHA256)})),qe((function(e,t){var r,n,i,o,a,s;e.exports=(i=(n=r=Xe).lib.WordArray,o=n.algo,a=o.SHA256,s=o.SHA224=a.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),n.SHA224=a._createHelper(s),n.HmacSHA224=a._createHmacHelper(s),r.SHA224)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.Hasher,n=e.x64,i=n.Word,o=n.WordArray,a=e.algo;function s(){return i.create.apply(i,arguments)}var l=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],c=[];!function(){for(var e=0;e<80;e++)c[e]=s()}();var u=a.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],h=r[6],d=r[7],f=n.high,p=n.low,m=i.high,v=i.low,g=o.high,_=o.low,w=a.high,b=a.low,y=s.high,S=s.low,k=u.high,C=u.low,A=h.high,I=h.low,T=d.high,E=d.low,R=f,L=p,M=m,U=v,x=g,D=_,O=w,N=b,B=y,P=S,z=k,F=C,Z=A,V=I,j=T,H=E,G=0;G<80;G++){var Y=c[G];if(G<16)var W=Y.high=0|e[t+2*G],Q=Y.low=0|e[t+2*G+1];else{var K=c[G-15],q=K.high,X=K.low,J=(q>>>1|X<<31)^(q>>>8|X<<24)^q>>>7,$=(X>>>1|q<<31)^(X>>>8|q<<24)^(X>>>7|q<<25),ee=c[G-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=c[G-7],ae=oe.high,se=oe.low,le=c[G-16],ce=le.high,ue=le.low;W=(W=(W=J+ae+((Q=$+se)>>>0<$>>>0?1:0))+ne+((Q+=ie)>>>0>>0?1:0))+ce+((Q+=ue)>>>0>>0?1:0),Y.high=W,Y.low=Q}var he,de=B&z^~B&Z,fe=P&F^~P&V,pe=R&M^R&x^M&x,me=L&U^L&D^U&D,ve=(R>>>28|L<<4)^(R<<30|L>>>2)^(R<<25|L>>>7),ge=(L>>>28|R<<4)^(L<<30|R>>>2)^(L<<25|R>>>7),_e=(B>>>14|P<<18)^(B>>>18|P<<14)^(B<<23|P>>>9),we=(P>>>14|B<<18)^(P>>>18|B<<14)^(P<<23|B>>>9),be=l[G],ye=be.high,Se=be.low,ke=j+_e+((he=H+we)>>>0>>0?1:0),Ce=ge+me;j=Z,H=V,Z=z,V=F,z=B,F=P,B=O+(ke=(ke=(ke=ke+de+((he+=fe)>>>0>>0?1:0))+ye+((he+=Se)>>>0>>0?1:0))+W+((he+=Q)>>>0>>0?1:0))+((P=N+he|0)>>>0>>0?1:0)|0,O=x,N=D,x=M,D=U,M=R,U=L,R=ke+(ve+pe+(Ce>>>0>>0?1:0))+((L=he+Ce|0)>>>0>>0?1:0)|0}p=n.low=p+L,n.high=f+R+(p>>>0>>0?1:0),v=i.low=v+U,i.high=m+M+(v>>>0>>0?1:0),_=o.low=_+D,o.high=g+x+(_>>>0>>0?1:0),b=a.low=b+N,a.high=w+O+(b>>>0>>0?1:0),S=s.low=S+P,s.high=y+B+(S>>>0

>>0?1:0),C=u.low=C+F,u.high=k+z+(C>>>0>>0?1:0),I=h.low=I+V,h.high=A+Z+(I>>>0>>0?1:0),E=d.low=E+H,d.high=T+j+(E>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(u),e.HmacSHA512=t._createHmacHelper(u)}(),r.SHA512)})),qe((function(e,t){var r,n,i,o,a,s,l,c;e.exports=(i=(n=r=Xe).x64,o=i.Word,a=i.WordArray,s=n.algo,l=s.SHA512,c=s.SHA384=l.extend({_doReset:function(){this._hash=new a.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var e=l._doFinalize.call(this);return e.sigBytes-=16,e}}),n.SHA384=l._createHelper(c),n.HmacSHA384=l._createHmacHelper(c),r.SHA384)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.x64.Word,s=t.algo,l=[],c=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){l[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)c[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,h=0,d=0;d<7;d++){if(1&i){var f=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(E=r[i]).high^=a,E.low^=o}for(var s=0;s<24;s++){for(var d=0;d<5;d++){for(var f=0,p=0,m=0;m<5;m++)f^=(E=r[d+5*m]).high,p^=E.low;var v=h[d];v.high=f,v.low=p}for(d=0;d<5;d++){var g=h[(d+4)%5],_=h[(d+1)%5],w=_.high,b=_.low;for(f=g.high^(w<<1|b>>>31),p=g.low^(b<<1|w>>>31),m=0;m<5;m++)(E=r[d+5*m]).high^=f,E.low^=p}for(var y=1;y<25;y++){var S=(E=r[y]).high,k=E.low,C=l[y];C<32?(f=S<>>32-C,p=k<>>32-C):(f=k<>>64-C,p=S<>>64-C);var A=h[c[y]];A.high=f,A.low=p}var I=h[0],T=r[0];for(I.high=T.high,I.low=T.low,d=0;d<5;d++)for(m=0;m<5;m++){var E=r[y=d+5*m],R=h[y],L=h[(d+1)%5+5*m],M=h[(d+2)%5+5*m];E.high=R.high^~L.high&M.high,E.low=R.low^~L.low&M.low}E=r[0];var U=u[s];E.high^=U.high,E.low^=U.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,l=s/8,c=[],u=0;u>>24)|4278255360&(d<<24|d>>>8),f=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),c.push(f),c.push(d)}return new i.init(c,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(d),t.HmacSHA3=o._createHmacHelper(d)}(Math),r.SHA3)})),qe((function(e,t){var r;e.exports=(r=Xe,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),l=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),c=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),h=i.create([0,1518500249,1859775393,2400959708,2840853838]),d=i.create([1352829926,1548603684,1836072691,2053994217,0]),f=a.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,a,f,b,y,S,k,C,A,I,T,E=this._hash.words,R=h.words,L=d.words,M=s.words,U=l.words,x=c.words,D=u.words;for(S=o=E[0],k=a=E[1],C=f=E[2],A=b=E[3],I=y=E[4],r=0;r<80;r+=1)T=o+e[t+M[r]]|0,T+=r<16?p(a,f,b)+R[0]:r<32?m(a,f,b)+R[1]:r<48?v(a,f,b)+R[2]:r<64?g(a,f,b)+R[3]:_(a,f,b)+R[4],T=(T=w(T|=0,x[r]))+y|0,o=y,y=b,b=w(f,10),f=a,a=T,T=S+e[t+U[r]]|0,T+=r<16?_(k,C,A)+L[0]:r<32?g(k,C,A)+L[1]:r<48?v(k,C,A)+L[2]:r<64?m(k,C,A)+L[3]:p(k,C,A)+L[4],T=(T=w(T|=0,D[r]))+I|0,S=I,I=A,A=w(C,10),C=k,k=T;T=E[1]+f+A|0,E[1]=E[2]+b+I|0,E[2]=E[3]+y+S|0,E[3]=E[4]+o+k|0,E[4]=E[0]+a+C|0,E[0]=T},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function m(e,t,r){return e&t|~e&r}function v(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function _(e,t,r){return e^(t|~r)}function w(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(f),t.HmacRIPEMD160=o._createHmacHelper(f)}(),r.RIPEMD160)})),qe((function(e,t){var r,n,i,o,a,s;e.exports=(n=(r=Xe).lib,i=n.Base,o=r.enc,a=o.Utf8,s=r.algo,void(s.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,l=o.words,c=0;c>>2];e.sigBytes-=t}},o.BlockCipher=f.extend({cfg:f.cfg.extend({mode:v,padding:_}),reset:function(){f.reset.call(this);var e=this.cfg,t=e.iv,r=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{n=r.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==n?this._mode.init(this,t&&t.words):(this._mode=n.call(r,this,t&&t.words),this._mode.__creator=n)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{t=this._process(!0);e.unpad(t)}return t},blockSize:4}),w=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),b=i.format={},y=b.OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;if(r)var n=s.create([1398893684,1701076831]).concat(r).concat(t);else n=t;return n.toString(u)},parse:function(e){var t=u.parse(e),r=t.words;if(1398893684==r[0]&&1701076831==r[1]){var n=s.create(r.slice(2,4));r.splice(0,4),t.sigBytes-=16}return w.create({ciphertext:t,salt:n})}},S=o.SerializableCipher=a.extend({cfg:a.extend({format:y}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return w.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=e.createDecryptor(r,n).finalize(t.ciphertext);return i},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),k=i.kdf={},C=k.OpenSSL={execute:function(e,t,r,n){n||(n=s.random(8));var i=d.create({keySize:t+r}).compute(e,n),o=s.create(i.words.slice(t),4*r);return i.sigBytes=4*t,w.create({key:i,iv:o,salt:n})}},A=o.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:C}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize);n.iv=i.iv;var o=S.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt);n.iv=i.iv;var o=S.decrypt.call(this,e,t,i.key,n);return o}})))})),qe((function(e,t){var r;e.exports=((r=Xe).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,n){var i=this._iv;if(i){var o=i.slice(0);this._iv=void 0}else o=this._prevBlock;n.encryptBlock(o,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var n=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var l=0;l>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.Iso10126={pad:function(e,t){var n=4*t,i=n-e.sigBytes%n;e.concat(r.lib.WordArray.random(i-1)).concat(r.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){for(var t=e.words,r=e.sigBytes-1;!(t[r>>>2]>>>24-r%4*8&255);)r--;e.sigBytes=r+1}},r.pad.ZeroPadding)})),qe((function(e,t){var r;e.exports=((r=Xe).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)})),qe((function(e,t){var r,n,i,o;e.exports=(i=(n=r=Xe).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(e){return e.ciphertext.toString(o)},parse:function(e){var t=o.parse(e);return i.create({ciphertext:t})}},r.format.Hex)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.BlockCipher,n=e.algo,i=[],o=[],a=[],s=[],l=[],c=[],u=[],h=[],d=[],f=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var m=e[r],v=e[m],g=e[v],_=257*e[p]^16843008*p;a[r]=_<<24|_>>>8,s[r]=_<<16|_>>>16,l[r]=_<<8|_>>>24,c[r]=_,_=16843009*g^65537*v^257*m^16843008*r,u[p]=_<<24|_>>>8,h[p]=_<<16|_>>>16,d[p]=_<<8|_>>>24,f[p]=_,r?(r=m^e[e[e[g^m]]],n^=e[e[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],m=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(s=i[s>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=p[a/r|0]<<24),o[a]=o[a-r]^s}for(var l=this._invKeySchedule=[],c=0;c>>24]]^h[i[s>>>16&255]]^d[i[s>>>8&255]]^f[i[255&s]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,l,c,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,u,h,d,f,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var l=this._nRounds,c=e[t]^r[0],u=e[t+1]^r[1],h=e[t+2]^r[2],d=e[t+3]^r[3],f=4,p=1;p>>24]^i[u>>>16&255]^o[h>>>8&255]^a[255&d]^r[f++],v=n[u>>>24]^i[h>>>16&255]^o[d>>>8&255]^a[255&c]^r[f++],g=n[h>>>24]^i[d>>>16&255]^o[c>>>8&255]^a[255&u]^r[f++],_=n[d>>>24]^i[c>>>16&255]^o[u>>>8&255]^a[255&h]^r[f++];c=m,u=v,h=g,d=_}m=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[h>>>8&255]<<8|s[255&d])^r[f++],v=(s[u>>>24]<<24|s[h>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^r[f++],g=(s[h>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^r[f++],_=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&h])^r[f++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=_},keySize:8});e.AES=t._createHelper(m)}(),r.AES)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib,n=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var c=i[o]=[],u=l[o];for(r=0;r<24;r++)c[r/6|0]|=t[(s[r]-1+u)%28]<<31-r%6,c[4+(r/6|0)]|=t[28+(s[r+24]-1+u)%28]<<31-r%6;for(c[0]=c[0]<<1|c[0]>>>31,r=1;r<7;r++)c[r]=c[r]>>>4*(r-1)+3;c[7]=c[7]<<5|c[7]>>>27}var h=this._invSubKeys=[];for(r=0;r<16;r++)h[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],d.call(this,4,252645135),d.call(this,16,65535),f.call(this,2,858993459),f.call(this,8,16711935),d.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,l=0;l<8;l++)s|=c[l][((a^i[l])&u[l])>>>0];this._lBlock=a,this._rBlock=o^s}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,d.call(this,1,1431655765),f.call(this,8,16711935),f.call(this,2,858993459),d.call(this,16,65535),d.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function d(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var l=n[i];n[i]=n[o],n[o]=l}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)l.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=c>>>16|4294901760&u,d=u<<16|65535&c;for(i[0]^=c,i[1]^=h,i[2]^=u,i[3]^=d,i[4]^=c,i[5]^=h,i[6]^=u,i[7]^=d,r=0;r<4;r++)l.call(this)}},_doProcessBlock:function(e,t){var r=this._X;l.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,l=((i*i>>>17)+i*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=l^c}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),r.Rabbit)})),qe((function(e,t){var r;e.exports=(r=Xe,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)l.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],c=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=c>>>16|4294901760&u,d=u<<16|65535&c;for(n[0]^=c,n[1]^=h,n[2]^=u,n[3]^=d,n[4]^=c,n[5]^=h,n[6]^=u,n[7]^=d,i=0;i<4;i++)l.call(this)}},_doProcessBlock:function(e,t){var r=this._X;l.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function l(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,l=((i*i>>>17)+i*s>>>15)+s*s,c=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=l^c}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),r.RabbitLegacy)})),qe((function(e,t){e.exports=Xe})));function $e(){throw new Error("setTimeout has not been defined")}function et(){throw new Error("clearTimeout has not been defined")}var tt=$e,rt=et;function nt(e){if(tt===setTimeout)return setTimeout(e,0);if((tt===$e||!tt)&&setTimeout)return tt=setTimeout,setTimeout(e,0);try{return tt(e,0)}catch(J){try{return tt.call(null,e,0)}catch(J){return tt.call(this,e,0)}}}"function"==typeof X.setTimeout&&(tt=setTimeout),"function"==typeof X.clearTimeout&&(rt=clearTimeout);var it,ot=[],at=!1,st=-1;function lt(){at&&it&&(at=!1,it.length?ot=it.concat(ot):st=-1,ot.length&&ct())}function ct(){if(!at){var e=nt(lt);at=!0;for(var t=ot.length;t;){for(it=ot,ot=[];++st1)for(var r=1;r0&&a.length>i){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length,s=l,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function St(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function kt(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Ct(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}dt.now||dt.mozNow||dt.msNow||dt.oNow||dt.webkitNow,ft.prototype=Object.create(null),pt.EventEmitter=pt,pt.usingDomains=!1,pt.prototype.domain=void 0,pt.prototype._events=void 0,pt.prototype._maxListeners=void 0,pt.defaultMaxListeners=10,pt.init=function(){this.domain=null,pt.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ft,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},pt.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},pt.prototype.getMaxListeners=function(){return mt(this)},pt.prototype.emit=function(e){var t,r,n,i,o,a,s,l="error"===e;if(a=this._events)l=l&&null==a.error;else if(!l)return!1;if(s=this.domain,l){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:vt(r,u,this);break;case 2:gt(r,u,this,arguments[1]);break;case 3:_t(r,u,this,arguments[1],arguments[2]);break;case 4:wt(r,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new ft,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var At="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},It=/%[sdj%]/g;function Tt(e){if(!zt(e)){for(var t=[],r=0;r=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Bt(t)?r.showHidden=t:t&&function(e,t){if(!t||!Vt(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]]}(r,t),Ft(r.showHidden)&&(r.showHidden=!1),Ft(r.depth)&&(r.depth=2),Ft(r.colors)&&(r.colors=!1),Ft(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ut),Dt(r,e,r.depth)}function Ut(e,t){var r=Mt.styles[t];return r?"["+Mt.colors[r][0]+"m"+e+"["+Mt.colors[r][1]+"m":e}function xt(e,t){return e}function Dt(e,t,r){if(e.customInspect&&t&&Gt(t.inspect)&&t.inspect!==Mt&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return zt(n)||(n=Dt(e,n,r)),n}var i=function(e,t){if(Ft(t))return e.stylize("undefined","undefined");if(zt(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return n=t,"number"==typeof n?e.stylize(""+t,"number"):Bt(t)?e.stylize(""+t,"boolean"):Pt(t)?e.stylize("null","null"):void 0;var n}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Ht(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return Ot(t);if(0===o.length){if(Gt(t)){var s=t.name?": "+t.name:"";return e.stylize("[Function"+s+"]","special")}if(Zt(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(jt(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Ht(t))return Ot(t)}var l,c,u="",h=!1,d=["{","}"];return l=t,Array.isArray(l)&&(h=!0,d=["[","]"]),Gt(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),Zt(t)&&(u=" "+RegExp.prototype.toString.call(t)),jt(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Ht(t)&&(u=" "+Ot(t)),0!==o.length||h&&0!=t.length?r<0?Zt(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),c=h?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(c,u,d)):d[0]+u+d[1]}function Ot(e){return"["+Error.prototype.toString.call(e)+"]"}function Nt(e,t,r,n,i,o){var a,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),Wt(n,i)||(a="["+i+"]"),s||(e.seen.indexOf(l.value)<0?(s=Pt(r)?Dt(e,l.value,null):Dt(e,l.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Ft(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function Bt(e){return"boolean"==typeof e}function Pt(e){return null===e}function zt(e){return"string"==typeof e}function Ft(e){return void 0===e}function Zt(e){return Vt(e)&&"[object RegExp]"===Yt(e)}function Vt(e){return"object"==typeof e&&null!==e}function jt(e){return Vt(e)&&"[object Date]"===Yt(e)}function Ht(e){return Vt(e)&&("[object Error]"===Yt(e)||e instanceof Error)}function Gt(e){return"function"==typeof e}function Yt(e){return Object.prototype.toString.call(e)}function Wt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Qt(){this.head=null,this.tail=null,this.length=0}Mt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Mt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Qt.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Qt.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Qt.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},Qt.prototype.clear=function(){this.head=this.tail=null,this.length=0},Qt.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},Qt.prototype.concat=function(e){if(0===this.length)return he.alloc(0);if(1===this.length)return this.head.data;for(var t=he.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Kt=he.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function qt(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Kt(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Jt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=$t;break;default:return void(this.write=Xt)}this.charBuffer=new he(6),this.charReceived=0,this.charLength=0}function Xt(e){return e.toString(this.encoding)}function Jt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function $t(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}qt.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var n,i=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),i=(t+=e.toString(this.encoding,0,i)).length-1,(n=t.charCodeAt(i))>=55296&&n<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,i)}return t},qt.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},qt.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t},rr.ReadableState=tr;var er=function(e){return Ft(Rt)&&(Rt=""),e=e.toUpperCase(),Lt[e]||(new RegExp("\\b"+e+"\\b","i").test(Rt)?Lt[e]=function(){var t=Tt.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:Lt[e]=function(){}),Lt[e]}("stream");function tr(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Lr&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new Qt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new qt(e.encoding),this.encoding=e.encoding)}function rr(e){if(!(this instanceof rr))return new rr(e);this._readableState=new tr(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),pt.call(this)}function nr(e,t,r,n,i){var o=function(e,t){var r=null;return Qe(t)||"string"==typeof t||null==t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}(t,r);if(o)e.emit("error",o);else if(null===r)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,ar(e)}}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var l;!t.decoder||i||n||(r=t.decoder.write(r),l=!t.objectMode&&0===r.length),i||(t.reading=!1),l||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&ar(e))),function(e,t){t.readingMore||(t.readingMore=!0,ut(lr,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=ir?e=ir:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function ar(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(er("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?ut(sr,e):sr(e))}function sr(e){er("emit readable"),e.emit("readable"),hr(e)}function lr(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;return eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=he.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t),n}(e,t.buffer,t.decoder),r);var r}function fr(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,ut(pr,t,e))}function pr(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function mr(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return er("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?fr(this):ar(this),null;if(0===(e=or(e,t))&&t.ended)return 0===t.length&&fr(this),null;var n,i=t.needReadable;return er("need readable",i),(0===t.length||t.length-e0?dr(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&fr(this)),null!==n&&this.emit("data",n),n},rr.prototype._read=function(e){this.emit("error",new Error("not implemented"))},rr.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,er("pipe count=%d opts=%j",n.pipesCount,t);var i=t&&!1===t.end?c:a;function o(e){er("onunpipe"),e===r&&c()}function a(){er("onend"),e.end()}n.endEmitted?ut(i):r.once("end",i),e.on("unpipe",o);var s=function(e){return function(){var t=e._readableState;er("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,hr(e))}}(r);e.on("drain",s);var l=!1;function c(){er("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",o),r.removeListener("end",a),r.removeListener("end",c),r.removeListener("data",h),l=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var u=!1;function h(t){er("ondata"),u=!1,!1!==e.write(t)||u||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==mr(n.pipes,e))&&!l&&(er("false write response, pause",r._readableState.awaitDrain),r._readableState.awaitDrain++,u=!0),r.pause())}function d(t){var r;er("onerror",t),m(),e.removeListener("error",d),0===(r="error",e.listeners(r).length)&&e.emit("error",t)}function f(){e.removeListener("finish",p),m()}function p(){er("onfinish"),e.removeListener("close",f),m()}function m(){er("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",d),e.once("close",f),e.once("finish",p),e.emit("pipe",r),n.flowing||(er("pipe resume"),r.resume()),e},rr.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},wr.prototype._write=function(e,t,r){r(new Error("not implemented"))},wr.prototype._writev=null,wr.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Ar(e,t),r&&(t.finished?ut(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r)},At(Lr,rr);for(var Tr=Object.keys(wr.prototype),Er=0;Er=0;)e[t]=0}var Kr=0,qr=1,Xr=2,Jr=29,$r=256,en=$r+1+Jr,tn=30,rn=19,nn=2*en+1,on=15,an=16,sn=7,ln=256,cn=16,un=17,hn=18,dn=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],fn=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],mn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],vn=new Array(2*(en+2));Qr(vn);var gn=new Array(2*tn);Qr(gn);var _n=new Array(512);Qr(_n);var wn=new Array(256);Qr(wn);var bn=new Array(Jr);Qr(bn);var yn,Sn,kn,Cn=new Array(tn);function An(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function In(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Tn(e){return e<256?_n[e]:_n[256+(e>>>7)]}function En(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Rn(e,t,r){e.bi_valid>an-r?(e.bi_buf|=t<>an-e.bi_valid,e.bi_valid+=r-an):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function Un(e,t,r){var n,i,o=new Array(on+1),a=0;for(n=1;n<=on;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Mn(o[s]++,s))}}function xn(e){var t;for(t=0;t8?En(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function On(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)Nn(e,o,r);i=l;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Nn(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,Nn(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(o=0;o<=on;o++)e.bl_count[o]=0;for(l[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rp&&(o=p,m++),l[2*n+1]=o,n>c||(e.bl_count[o]++,a=0,n>=f&&(a=d[n-f]),s=l[2*n],e.opt_len+=s*(o+a),h&&(e.static_len+=s*(u[2*n+1]+a)));if(0!==m){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)(i=e.heap[--r])>c||(l[2*i+1]!==o&&(e.opt_len+=(o-l[2*i+1])*l[2*i],l[2*i+1]=o),n--)}}(e,t),Un(o,c,e.bl_count)}function zn(e,t,r){var n,i,o=-1,a=t[1],s=0,l=7,c=4;for(0===a&&(l=138,c=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s>=7;n=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Gn(e,t,r,n){var i,o,a=0;e.level>0?(e.strm.data_type===Wr&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return Gr;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Yr;for(t=32;t<$r;t++)if(0!==e.dyn_ltree[2*t])return Yr;return Gr}(e)),Pn(e,e.l_desc),Pn(e,e.d_desc),a=function(e){var t;for(zn(e,e.dyn_ltree,e.l_desc.max_code),zn(e,e.dyn_dtree,e.d_desc.max_code),Pn(e,e.bl_desc),t=rn-1;t>=3&&0===e.bl_tree[2*mn[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?jn(e,t,r,n):e.strategy===Hr||o===i?(Rn(e,(qr<<1)+(n?1:0),3),Bn(e,vn,gn)):(Rn(e,(Xr<<1)+(n?1:0),3),function(e,t,r,n){var i;for(Rn(e,t-257,5),Rn(e,r-1,5),Rn(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(wn[r]+$r+1)]++,e.dyn_dtree[2*Tn(t)]++),e.last_lit===e.lit_bufsize-1}function Wn(e,t,r,n){for(var i=65535&e|0,o=e>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+t[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}var Qn=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function Kn(e,t,r,n){var i=Qn,o=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}var qn,Xn=0,Jn=1,$n=3,ei=4,ti=5,ri=0,ni=1,ii=-2,oi=-3,ai=-5,si=-1,li=1,ci=2,ui=3,hi=4,di=2,fi=8,pi=9,mi=286,vi=30,gi=19,_i=2*mi+1,wi=15,bi=3,yi=258,Si=yi+bi+1,ki=32,Ci=42,Ai=69,Ii=73,Ti=91,Ei=103,Ri=113,Li=666,Mi=1,Ui=2,xi=3,Di=4,Oi=3;function Ni(e,t){return e.msg=Pr[t],t}function Bi(e){return(e<<1)-(e>4?9:0)}function Pi(e){for(var t=e.length;--t>=0;)e[t]=0}function zi(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(Fr(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function Fi(e,t){Gn(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,zi(e.strm)}function Zi(e,t){e.pending_buf[e.pending++]=t}function Vi(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ji(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-Si?e.strstart-(e.w_size-Si):0,c=e.window,u=e.w_mask,h=e.prev,d=e.strstart+yi,f=c[o+a-1],p=c[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(r=t)+a]===p&&c[r+a-1]===f&&c[r]===c[o]&&c[++r]===c[o+1]){o+=2,r++;do{}while(c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&c[++o]===c[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;f=c[o+a-1],p=c[o+a]}}}while((t=h[t&u])>l&&0!=--i);return a<=e.lookahead?a:e.lookahead}function Hi(e){var t,r,n,i,o,a,s,l,c,u,h=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=h+(h-Si)){Fr(e.window,e.window,h,h,0),e.match_start-=h,e.strstart-=h,e.block_start-=h,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=h?n-h:0}while(--r);t=r=h;do{n=e.prev[--t],e.prev[t]=n>=h?n-h:0}while(--r);i+=h}if(0===e.strm.avail_in)break;if(a=e.strm,s=e.window,l=e.strstart+e.lookahead,c=i,u=void 0,(u=a.avail_in)>c&&(u=c),r=0===u?0:(a.avail_in-=u,Fr(s,a.input,a.next_in,u,l),1===a.state.wrap?a.adler=Wn(a.adler,s,u,l):2===a.state.wrap&&(a.adler=Kn(a.adler,s,u,l)),a.next_in+=u,a.total_in+=u,u),e.lookahead+=r,e.lookahead+e.insert>=bi)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<=bi&&(e.ins_h=(e.ins_h<=bi)if(n=Yn(e,e.strstart-e.match_start,e.match_length-bi),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=bi){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=bi&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=bi-1)),e.prev_length>=bi&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-bi,n=Yn(e,e.strstart-1-e.prev_match,e.prev_length-bi),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<ti||t<0)return e?Ni(e,ii):ii;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Li&&t!==ei)return Ni(e,0===e.avail_out?ai:ii);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===Ci)if(2===n.wrap)e.adler=0,Zi(n,31),Zi(n,139),Zi(n,8),n.gzhead?(Zi(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Zi(n,255&n.gzhead.time),Zi(n,n.gzhead.time>>8&255),Zi(n,n.gzhead.time>>16&255),Zi(n,n.gzhead.time>>24&255),Zi(n,9===n.level?2:n.strategy>=ci||n.level<2?4:0),Zi(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Zi(n,255&n.gzhead.extra.length),Zi(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=Kn(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Ai):(Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,0),Zi(n,9===n.level?2:n.strategy>=ci||n.level<2?4:0),Zi(n,Oi),n.status=Ri);else{var a=fi+(n.w_bits-8<<4)<<8;a|=(n.strategy>=ci||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=ki),a+=31-a%31,n.status=Ri,Vi(n,a),0!==n.strstart&&(Vi(n,e.adler>>>16),Vi(n,65535&e.adler)),e.adler=1}if(n.status===Ai)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending!==n.pending_buf_size));)Zi(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=Ii)}else n.status=Ii;if(n.status===Ii)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=Ti)}else n.status=Ti;if(n.status===Ti)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),zi(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=Kn(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=Ei)}else n.status=Ei;if(n.status===Ei&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&zi(e),n.pending+2<=n.pending_buf_size&&(Zi(n,255&e.adler),Zi(n,e.adler>>8&255),e.adler=0,n.status=Ri)):n.status=Ri),0!==n.pending){if(zi(e),0===e.avail_out)return n.last_flush=-1,ri}else if(0===e.avail_in&&Bi(t)<=Bi(r)&&t!==ei)return Ni(e,ai);if(n.status===Li&&0!==e.avail_in)return Ni(e,ai);if(0!==e.avail_in||0!==n.lookahead||t!==Xn&&n.status!==Li){var s=n.strategy===ci?function(e,t){for(var r;;){if(0===e.lookahead&&(Hi(e),0===e.lookahead)){if(t===Xn)return Mi;break}if(e.match_length=0,r=Yn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):e.last_lit&&(Fi(e,!1),0===e.strm.avail_out)?Mi:Ui}(n,t):n.strategy===ui?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=yi){if(Hi(e),e.lookahead<=yi&&t===Xn)return Mi;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=bi&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+yi;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=bi?(r=Yn(e,1,e.match_length-bi),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Yn(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):e.last_lit&&(Fi(e,!1),0===e.strm.avail_out)?Mi:Ui}(n,t):qn[n.level].func(n,t);if(s!==xi&&s!==Di||(n.status=Li),s===Mi||s===xi)return 0===e.avail_out&&(n.last_flush=-1),ri;if(s===Ui&&(t===Jn?Hn(n):t!==ti&&(jn(n,0,0,!1),t===$n&&(Pi(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),zi(e),0===e.avail_out))return n.last_flush=-1,ri}return t!==ei?ri:n.wrap<=0?ni:(2===n.wrap?(Zi(n,255&e.adler),Zi(n,e.adler>>8&255),Zi(n,e.adler>>16&255),Zi(n,e.adler>>24&255),Zi(n,255&e.total_in),Zi(n,e.total_in>>8&255),Zi(n,e.total_in>>16&255),Zi(n,e.total_in>>24&255)):(Vi(n,e.adler>>>16),Vi(n,65535&e.adler)),zi(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ri:ni)}qn=[new Wi(0,0,0,0,(function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Hi(e),0===e.lookahead&&t===Xn)return Mi;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,Fi(e,!1),0===e.strm.avail_out))return Mi;if(e.strstart-e.block_start>=e.w_size-Si&&(Fi(e,!1),0===e.strm.avail_out))return Mi}return e.insert=0,t===ei?(Fi(e,!0),0===e.strm.avail_out?xi:Di):(e.strstart>e.block_start&&(Fi(e,!1),e.strm.avail_out),Mi)})),new Wi(4,4,8,4,Gi),new Wi(4,5,16,8,Gi),new Wi(4,6,32,32,Gi),new Wi(4,4,16,16,Yi),new Wi(8,16,32,32,Yi),new Wi(8,16,128,128,Yi),new Wi(8,32,128,256,Yi),new Wi(32,128,258,1024,Yi),new Wi(32,258,258,4096,Yi)];var Xi=30,Ji=12;function $i(e,t){var r,n,i,o,a,s,l,c,u,h,d,f,p,m,v,g,_,w,b,y,S,k,C,A,I;r=e.state,n=e.next_in,A=e.input,i=n+(e.avail_in-5),o=e.next_out,I=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),l=r.dmax,c=r.wsize,u=r.whave,h=r.wnext,d=r.window,f=r.hold,p=r.bits,m=r.lencode,v=r.distcode,g=(1<>>=b=w>>>24,p-=b,0===(b=w>>>16&255))I[o++]=65535&w;else{if(!(16&b)){if(0==(64&b)){w=m[(65535&w)+(f&(1<>>=b,p-=b),p<15&&(f+=A[n++]<>>=b=w>>>24,p-=b,!(16&(b=w>>>16&255))){if(0==(64&b)){w=v[(65535&w)+(f&(1<l){e.msg="invalid distance too far back",r.mode=Xi;break e}if(f>>>=b,p-=b,S>(b=o-a)){if((b=S-b)>u&&r.sane){e.msg="invalid distance too far back",r.mode=Xi;break e}if(k=0,C=d,0===h){if(k+=c-b,b2;)I[o++]=C[k++],I[o++]=C[k++],I[o++]=C[k++],y-=3;y&&(I[o++]=C[k++],y>1&&(I[o++]=C[k++]))}else{k=o-S;do{I[o++]=I[k++],I[o++]=I[k++],I[o++]=I[k++],y-=3}while(y>2);y&&(I[o++]=I[k++],y>1&&(I[o++]=I[k++]))}break}}break}}while(n>3,f&=(1<<(p-=y<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n=1&&0===L[y];y--);if(S>y&&(S=y),0===y)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(b=1;b0&&(e===no||1!==y))return-1;for(M[1]=0,_=1;_to||e===oo&&I>ro)return 1;for(;;){p=_-C,a[w]f?(m=U[x+a[w]],v=E[R+a[w]]):(m=96,v=0),l=1<<_-C,b=c=1<>C)+(c-=l)]=p<<24|m<<16|v|0}while(0!==c);for(l=1<<_-1;T&l;)l>>=1;if(0!==l?(T&=l-1,T+=l):T=0,w++,0==--L[_]){if(_===y)break;_=t[r+a[w]]}if(_>S&&(T&h)!==u){for(0===C&&(C=S),d+=b,A=1<<(k=_-C);k+Cto||e===oo&&I>ro)return 1;i[u=T&h]=S<<24|k<<16|d-o|0}}return 0!==T&&(i[d+T]=_-C<<24|64<<16|0),s.bits=S,0}var ho=0,fo=1,po=2,mo=4,vo=5,go=6,_o=0,wo=1,bo=2,yo=-2,So=-3,ko=-4,Co=-5,Ao=8,Io=1,To=2,Eo=3,Ro=4,Lo=5,Mo=6,Uo=7,xo=8,Do=9,Oo=10,No=11,Bo=12,Po=13,zo=14,Fo=15,Zo=16,Vo=17,jo=18,Ho=19,Go=20,Yo=21,Wo=22,Qo=23,Ko=24,qo=25,Xo=26,Jo=27,$o=28,ea=29,ta=30,ra=31,na=32,ia=852,oa=592;function aa(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function sa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Vr(320),this.work=new Vr(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function la(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,function(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Io,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new jr(ia),t.distcode=t.distdyn=new jr(oa),t.sane=1,t.back=-1,_o):yo}(e)):yo}function ca(e,t){var r,n;return e?(n=new sa,e.state=n,n.window=null,(r=function(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?yo:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,la(e))):yo}(e,t))!==_o&&(e.state=null),r):yo}var ua,ha,da=!0;function fa(e){if(da){var t;for(ua=new jr(512),ha=new jr(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(uo(fo,e.lens,0,288,ua,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;uo(po,e.lens,0,32,ha,0,e.work,{bits:5}),da=!1}e.lencode=ua,e.lenbits=9,e.distcode=ha,e.distbits=5}function pa(e,t){var r,n,i,o,a,s,l,c,u,h,d,f,p,m,v,g,_,w,b,y,S,k,C,A,I=0,T=new Zr(4),E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return yo;(r=e.state).mode===Bo&&(r.mode=Po),a=e.next_out,i=e.output,l=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,c=r.hold,u=r.bits,h=s,d=l,k=_o;e:for(;;)switch(r.mode){case Io:if(0===r.wrap){r.mode=Po;break}for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>>8&255,r.check=Kn(r.check,T,2,0),c=0,u=0,r.mode=To;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",r.mode=ta;break}if((15&c)!==Ao){e.msg="unknown compression method",r.mode=ta;break}if(u-=4,S=8+(15&(c>>>=4)),0===r.wbits)r.wbits=S;else if(S>r.wbits){e.msg="invalid window size",r.mode=ta;break}r.dmax=1<>8&1),512&r.flags&&(T[0]=255&c,T[1]=c>>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0,r.mode=Eo;case Eo:for(;u<32;){if(0===s)break e;s--,c+=n[o++]<>>8&255,T[2]=c>>>16&255,T[3]=c>>>24&255,r.check=Kn(r.check,T,4,0)),c=0,u=0,r.mode=Ro;case Ro:for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>8),512&r.flags&&(T[0]=255&c,T[1]=c>>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0,r.mode=Lo;case Lo:if(1024&r.flags){for(;u<16;){if(0===s)break e;s--,c+=n[o++]<>>8&255,r.check=Kn(r.check,T,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=Mo;case Mo:if(1024&r.flags&&((f=r.length)>s&&(f=s),f&&(r.head&&(S=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Fr(r.head.extra,n,o,f,S)),512&r.flags&&(r.check=Kn(r.check,n,f,o)),s-=f,o+=f,r.length-=f),r.length))break e;r.length=0,r.mode=Uo;case Uo:if(2048&r.flags){if(0===s)break e;f=0;do{S=n[o+f++],r.head&&S&&r.length<65536&&(r.head.name+=String.fromCharCode(S))}while(S&&f>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Bo;break;case Oo:for(;u<32;){if(0===s)break e;s--,c+=n[o++]<>>=7&u,u-=7&u,r.mode=Jo;break}for(;u<3;){if(0===s)break e;s--,c+=n[o++]<>>=1)){case 0:r.mode=zo;break;case 1:if(fa(r),r.mode=Go,t===go){c>>>=2,u-=2;break e}break;case 2:r.mode=Vo;break;case 3:e.msg="invalid block type",r.mode=ta}c>>>=2,u-=2;break;case zo:for(c>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,c+=n[o++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=ta;break}if(r.length=65535&c,c=0,u=0,r.mode=Fo,t===go)break e;case Fo:r.mode=Zo;case Zo:if(f=r.length){if(f>s&&(f=s),f>l&&(f=l),0===f)break e;Fr(i,n,o,f,a),s-=f,o+=f,l-=f,a+=f,r.length-=f;break}r.mode=Bo;break;case Vo:for(;u<14;){if(0===s)break e;s--,c+=n[o++]<>>=5,u-=5,r.ndist=1+(31&c),c>>>=5,u-=5,r.ncode=4+(15&c),c>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=ta;break}r.have=0,r.mode=jo;case jo:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[E[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,C={bits:r.lenbits},k=uo(ho,r.lens,0,19,r.lencode,0,r.work,C),r.lenbits=C.bits,k){e.msg="invalid code lengths set",r.mode=ta;break}r.have=0,r.mode=Ho;case Ho:for(;r.have>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=v,u-=v,r.lens[r.have++]=_;else{if(16===_){for(A=v+2;u>>=v,u-=v,0===r.have){e.msg="invalid bit length repeat",r.mode=ta;break}S=r.lens[r.have-1],f=3+(3&c),c>>>=2,u-=2}else if(17===_){for(A=v+3;u>>=v)),c>>>=3,u-=3}else{for(A=v+7;u>>=v)),c>>>=7,u-=7}if(r.have+f>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=ta;break}for(;f--;)r.lens[r.have++]=S}}if(r.mode===ta)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=ta;break}if(r.lenbits=9,C={bits:r.lenbits},k=uo(fo,r.lens,0,r.nlen,r.lencode,0,r.work,C),r.lenbits=C.bits,k){e.msg="invalid literal/lengths set",r.mode=ta;break}if(r.distbits=6,r.distcode=r.distdyn,C={bits:r.distbits},k=uo(po,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,C),r.distbits=C.bits,k){e.msg="invalid distances set",r.mode=ta;break}if(r.mode=Go,t===go)break e;case Go:r.mode=Yo;case Yo:if(s>=6&&l>=258){e.next_out=a,e.avail_out=l,e.next_in=o,e.avail_in=s,r.hold=c,r.bits=u,$i(e,d),a=e.next_out,i=e.output,l=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,c=r.hold,u=r.bits,r.mode===Bo&&(r.back=-1);break}for(r.back=0;g=(I=r.lencode[c&(1<>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>w)])>>>16&255,_=65535&I,!(w+(v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=w,u-=w,r.back+=w}if(c>>>=v,u-=v,r.back+=v,r.length=_,0===g){r.mode=Xo;break}if(32&g){r.back=-1,r.mode=Bo;break}if(64&g){e.msg="invalid literal/length code",r.mode=ta;break}r.extra=15&g,r.mode=Wo;case Wo:if(r.extra){for(A=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Qo;case Qo:for(;g=(I=r.distcode[c&(1<>>16&255,_=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>w)])>>>16&255,_=65535&I,!(w+(v=I>>>24)<=u);){if(0===s)break e;s--,c+=n[o++]<>>=w,u-=w,r.back+=w}if(c>>>=v,u-=v,r.back+=v,64&g){e.msg="invalid distance code",r.mode=ta;break}r.offset=_,r.extra=15&g,r.mode=Ko;case Ko:if(r.extra){for(A=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=ta;break}r.mode=qo;case qo:if(0===l)break e;if(f=d-l,r.offset>f){if((f=r.offset-f)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=ta;break}f>r.wnext?(f-=r.wnext,p=r.wsize-f):p=r.wnext-f,f>r.length&&(f=r.length),m=r.window}else m=i,p=a-r.offset,f=r.length;f>l&&(f=l),l-=f,r.length-=f;do{i[a++]=m[p++]}while(--f);0===r.length&&(r.mode=Yo);break;case Xo:if(0===l)break e;i[a++]=r.length,l--,r.mode=Yo;break;case Jo:if(r.wrap){for(;u<32;){if(0===s)break e;s--,c|=n[o++]<=o.wsize?(Fr(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((i=o.wsize-o.wnext)>n&&(i=n),Fr(o.window,t,r-n,i,o.wnext),(n-=i)?(Fr(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whavega)throw new TypeError("Bad argument");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function wa(e,t){for(var r=0;r15&&(a=2,n-=16),i<1||i>pi||r!==fi||n<8||n>15||t<0||t>9||o<0||o>hi)return Ni(e,ii);8===n&&(n=9);var s=new Qi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<ya.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+e.chunkSize);if(e.windowBits&&(e.windowBitsya.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelya.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelya.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+e.memLevel);if(e.strategy&&e.strategy!=ya.Z_FILTERED&&e.strategy!=ya.Z_HUFFMAN_ONLY&&e.strategy!=ya.Z_RLE&&e.strategy!=ya.Z_FIXED&&e.strategy!=ya.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+e.strategy);if(e.dictionary&&!Qe(e.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._binding=new ya.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(e,t){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=t,n.code=ya.codes[t],r.emit("error",n)};var n=ya.Z_DEFAULT_COMPRESSION;"number"==typeof e.level&&(n=e.level);var i=ya.Z_DEFAULT_STRATEGY;"number"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||ya.Z_DEFAULT_WINDOWBITS,n,e.memLevel||ya.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new he(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once("end",this.close)}Object.keys(Sa).forEach((function(e){Sa[Sa[e]]=e})),At(Ua,Dr),Ua.prototype.params=function(e,t,r){if(eya.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(t!=ya.Z_FILTERED&&t!=ya.Z_HUFFMAN_ONLY&&t!=ya.Z_RLE&&t!=ya.Z_FIXED&&t!=ya.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(ya.Z_SYNC_FLUSH,(function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())}))}else ut(r)},Ua.prototype.reset=function(){return this._binding.reset()},Ua.prototype._flush=function(e){this._transform(new he(0),"",e)},Ua.prototype.flush=function(e,t){var r=this._writableState;if(("function"==typeof e||void 0===e&&!t)&&(t=e,e=ya.Z_FULL_FLUSH),r.ended)t&&ut(t);else if(r.ending)t&&this.once("end",t);else if(r.needDrain){var n=this;this.once("drain",(function(){n.flush(t)}))}else this._flushFlag=e,this.write(new he(0),"",t)},Ua.prototype.close=function(e){if(e&&ut(e),!this._closed){this._closed=!0,this._binding.close();var t=this;ut((function(){t.emit("close")}))}},Ua.prototype._transform=function(e,t,r){var n,i=this._writableState,o=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!Qe(e))return r(new Error("invalid input"));o?n=ya.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||ya.Z_NO_FLUSH)),this._processChunk(e,n,r)},Ua.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,o=0,a=this,s="function"==typeof r;if(!s){var l,c=[],u=0;this.on("error",(function(e){l=e}));do{var h=this._binding.writeSync(t,e,o,n,this._buffer,this._offset,i)}while(!this._hadError&&p(h[0],h[1]));if(this._hadError)throw l;var d=he.concat(c,u);return this.close(),d}var f=this._binding.write(t,e,o,n,this._buffer,this._offset,i);function p(l,h){if(!a._hadError){var d=i-h;if(function(e,t){if(!e)throw new Error(t)}(d>=0,"have should not go down"),d>0){var f=a._buffer.slice(a._offset,a._offset+d);a._offset+=d,s?a.push(f):(c.push(f),u+=f.length)}if((0===h||a._offset>=a._chunkSize)&&(i=a._chunkSize,a._offset=0,a._buffer=new he(a._chunkSize)),0===h){if(o+=n-l,n=l,!s)return!0;var m=a._binding.write(t,e,o,n,a._buffer,a._offset,a._chunkSize);return m.callback=p,void(m.buffer=e)}if(!s)return!1;r()}}f.buffer=e,f.callback=p},At(Aa,Ua),At(Ia,Ua),At(Ta,Ua),At(Ea,Ua),At(Ra,Ua),At(La,Ua),At(Ma,Ua);var xa={codes:Sa,createDeflate:function(e){return new Aa(e)},createInflate:function(e){return new Ia(e)},createDeflateRaw:function(e){return new Ra(e)},createInflateRaw:function(e){return new La(e)},createGzip:function(e){return new Ta(e)},createGunzip:function(e){return new Ea(e)},createUnzip:function(e){return new Ma(e)},deflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Aa(t),e,r)},deflateSync:function(e,t){return Ca(new Aa(t),e)},gzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ta(t),e,r)},gzipSync:function(e,t){return Ca(new Ta(t),e)},deflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ra(t),e,r)},deflateRawSync:function(e,t){return Ca(new Ra(t),e)},unzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ma(t),e,r)},unzipSync:function(e,t){return Ca(new Ma(t),e)},inflate:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ia(t),e,r)},inflateSync:function(e,t){return Ca(new Ia(t),e)},gunzip:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new Ea(t),e,r)},gunzipSync:function(e,t){return Ca(new Ea(t),e)},inflateRaw:function(e,t,r){return"function"==typeof t&&(r=t,t={}),ka(new La(t),e,r)},inflateRawSync:function(e,t){return Ca(new La(t),e)},Deflate:Aa,Inflate:Ia,Gzip:Ta,Gunzip:Ea,DeflateRaw:Ra,InflateRaw:La,Unzip:Ma,Zlib:Ua},Da=class{constructor(e,t,r){this.SDKAPPID=e,this.EXPIRETIME=r,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log("sdkAppID="+this.SDKAPPID+" key="+this.PRIVATEKEY+" userID="+e+" expire="+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error("expireTime must be a number"),""):(console.error("userID must be a string"),""):(console.error("privateKey must be a string"),""):(console.error("sdkAppID must be a number"),"")}newBuffer(e,t){return he.from?he.from(e,t):new he(e,t)}unescape(e){return e.replace(/_/g,"=").replace(/\-/g,"/").replace(/\*/g,"+")}escape(e){return e.replace(/\+/g,"*").replace(/\//g,"-").replace(/=/g,"_")}encode(e){return this.escape(this.newBuffer(e).toString("base64"))}decode(e){return this.newBuffer(this.unescape(e),"base64")}base64encode(e){return this.newBuffer(e).toString("base64")}base64decode(e){return this.newBuffer(e,"base64").toString()}_hmacsha256(e,t,r,n){let i="TLS.identifier:"+e+"\n";i+="TLS.sdkappid:"+this.SDKAPPID+"\n",i+="TLS.time:"+t+"\n",i+="TLS.expire:"+r+"\n",null!=n&&(i+="TLS.userbuf:"+n+"\n");let o=Je.HmacSHA256(i,this.PRIVATEKEY);return Je.enc.Base64.stringify(o)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)}_isString(e){return"string"==typeof e}genSigWithUserbuf(e,t,r){let n=this._utc(),i={"TLS.ver":"2.0","TLS.identifier":e,"TLS.sdkappid":this.SDKAPPID,"TLS.time":n,"TLS.expire":t},o="";if(null!=r){let a=this.base64encode(r);i["TLS.userbuf"]=a,o=this._hmacsha256(e,n,t,a)}else o=this._hmacsha256(e,n,t,null);i["TLS.sig"]=o;let a=JSON.stringify(i),s=xa.deflateSync(this.newBuffer(a)).toString("base64"),l=this.escape(s);return console.log("ret="+l),l}validate(e){let t=this.decode(e),r=xa.inflateSync(t);console.log("validate ret="+r)}};const Oa=1600003603,Na="545433057ab3402f73534e2c8f21125a4b6358cb723da9c0ddb194a4318fe5ce",Ba=604800,Pa={userId:`user_${Math.ceil(1e5*Math.random())}`,userName:"myName",avatarUrl:""};function za(){if(Oa===Number(0)||Na===String(""))return void alert("Please configure your SDKAPPID in config/basic-info-config.js");const e=new Da(Oa,Na,Ba),t=e.genTestUserSig(Pa.userId),{userId:r,userName:n,avatarUrl:i}=Pa;return{sdkAppId:Oa,userId:r,userSig:t,userName:n,avatarUrl:i}}const Fa=(0,S.Z)();var Za={name:"Home",components:{UserInfo:s.Z,LanguageIcon:l.Z,StreamPreview:M,RoomControl:q,SwitchTheme:c.Z},data(){return{givenRoomId:"",basicInfo:null,userName:"",userAvatar:"",userId:"",isMobile:Q.t}},async mounted(){sessionStorage.removeItem("tuiRoom-roomInfo"),sessionStorage.removeItem("tuiRoom-userInfo"),this.givenRoomId=this.$route.query.roomId||"",sessionStorage.getItem("tuiRoom-userInfo")?this.basicInfo=JSON.parse(sessionStorage.getItem("tuiRoom-userInfo")):(this.basicInfo=await za(),this.basicInfo&&sessionStorage.setItem("tuiRoom-userInfo",JSON.stringify(this.basicInfo))),this.userName=this.basicInfo.userName,this.userAvatar=this.basicInfo.userAvatar,this.userId=this.basicInfo.userId;const{sdkAppId:e,userId:t,userSig:r}=this.basicInfo;await f().login({sdkAppId:e,userId:t,userSig:r}),this.isMobile||this.$refs.streamPreviewRef.startStreamPreview()},methods:{setTUIRoomData(e,t){const r=this.isMobile?this.$refs.roomControlRef.getRoomParam():this.$refs.streamPreviewRef.getRoomParam(),n={action:e,roomMode:t||"FreeToSpeak",roomParam:r};sessionStorage.setItem("tuiRoom-roomInfo",JSON.stringify(n))},async checkRoomExistWhenCreateRoom(e){let t=!1;const r=Fa.instance?.getTIM();try{await r.searchGroupByID(e),t=!0}catch(n){}return t},async generateRoomId(){const e=Math.ceil(1e6*Math.random()),t=await this.checkRoomExistWhenCreateRoom(String(e));return t?await this.generateRoomId():e},async handleCreateRoom(e){this.setTUIRoomData("createRoom",e);const t=await this.generateRoomId();this.$router.push({path:"room",query:{roomId:t}})},async handleEnterRoom(e){this.setTUIRoomData("enterRoom"),this.$router.push({path:"room",query:{roomId:e}})},handleLogOut(){}}},Va=Za,ja=(0,R.Z)(Va,o,a,!1,null,"79fbed35",null),Ha=ja.exports;n["default"].use(i.ZP);const Ga=[{path:"/",name:"home",component:Ha},{path:"/home",name:"home",component:Ha},{path:"/room",name:"room",component:()=>r.e(443).then(r.bind(r,4435))}],Ya=new i.ZP({routes:Ga});var Wa=Ya},7717:function(e){"use strict";e.exports="data:image/png;base64,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"},5314:function(){},8326:function(){},370:function(){},1184:function(){}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.m=e,function(){r.amdO={}}(),function(){var e=[];r.O=function(t,n,i,o){if(!n){var a=1/0;for(u=0;u=o)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(s=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,i,o]}}(),function(){r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,{a:t}),t}}(),function(){r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){r.f={},r.e=function(e){return Promise.all(Object.keys(r.f).reduce((function(t,n){return r.f[n](e,t),t}),[]))}}(),function(){r.u=function(e){return"js/about.345afdd2.js"}}(),function(){r.miniCssF=function(e){return"css/about.753051b5.css"}}(),function(){r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="room-uikit-web-vue2:";r.l=function(n,i,o,a){if(e[n])e[n].push(i);else{var s,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u index && 'active'}`]})}),0),_c(_setup.SvgIcon,{staticClass:\"audio-icon\",attrs:{\"icon-name\":_setup.iconName}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { ICON_NAME } from '../../constants/icon';\n\ninterface Props {\n audioVolume?: number,\n isMuted?: boolean,\n size?: string,\n isDisabled?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioIcon',\n props: {\n audioVolume: null,\n isMuted: { type: Boolean },\n size: null,\n isDisabled: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n audioVolume?: number,\n isMuted?: boolean,\n size?: string,\n isDisabled?: boolean,\n}\n\n\n\nconst iconName = computed(() => {\n if (props.isDisabled) {\n return ICON_NAME.MicOffDisabled;\n }\n return props.isMuted ? ICON_NAME.MicOff : ICON_NAME.MicOn;\n});\n\nconst showAudioLevel = computed(() => {\n if (props.isMuted || !props.audioVolume) {\n return 0;\n }\n return ((props.audioVolume * 4) / 100) * 5;\n});\n\n\nreturn { __sfc: true,props, iconName, showAudioLevel, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioIcon.vue?vue&type=template&id=5bc7b022&scoped=true&\"\nimport script from \"./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioIcon.vue?vue&type=style&index=0&id=5bc7b022&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5bc7b022\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"audio-setting-tab\"},[_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Mic')))]),_c('div',{staticClass:\"flex\"},[_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"microphone\"}}),(_setup.isDetailMode)?_c('div',{staticClass:\"button\",on:{\"click\":_setup.handleMicrophoneTest}},[_vm._v(\" \"+_vm._s(_setup.isTestingMicrophone ? _setup.t('Stop') : _setup.t('Test'))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Output')))]),_c('div',{staticClass:\"mic-bar-container\"},_vm._l((new Array(_setup.volumeTotalNum).fill('')),function(item,index){return _c('div',{key:index,class:['mic-bar', `${_setup.showVolume && _setup.volumeNum > index ? 'active' : ''}`]})}),0)])]),((_setup.speakerList.length > 0))?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Speaker')))]),_c('div',{staticClass:\"flex\"},[_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"speaker\",\"disabled\":_vm.mode === _setup.SettingMode.DETAIL}}),(_setup.isDetailMode)?_c('div',{staticClass:\"button\",on:{\"click\":_setup.handleSpeakerTest}},[_vm._v(\" \"+_vm._s(_setup.isTestingSpeaker ? _setup.t('Stop') : _setup.t('Test'))+\" \")]):_vm._e()],1)])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onBeforeUnmount } from 'vue';\nimport DeviceSelect from './DeviceSelect.vue';\nimport { useRoomStore } from '../../stores/room';\nimport { SettingMode } from '../../constants/render';\nimport { useI18n } from '../../locales';\nimport { storeToRefs } from 'pinia';\n\n\ninterface Props {\n mode?: SettingMode,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioSettingTab',\n props: {\n mode: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n mode?: SettingMode,\n}\n\n\nconst settingMode = props.mode || SettingMode.SIMPLE;\nconst isSampleMode = computed(() => settingMode === SettingMode.SIMPLE);\nconst isDetailMode = computed(() => settingMode === SettingMode.DETAIL);\n\nconst roomStore = useRoomStore();\nconst { speakerList } = storeToRefs(roomStore);\n// const inputAudioLevel = ref(0);\n// const outputAudioLevel = ref(100);\n\nconst volumeTotalNum = computed(() => (isDetailMode.value ? 36 : 28));\n\nconst volumeNum = computed(() => (roomStore.localStream.audioVolume || 0) * volumeTotalNum.value / 100);\n\nconst showVolume = computed(() => isSampleMode.value || (isDetailMode.value && isTestingMicrophone.value));\n\nconst isTestingMicrophone = ref(false);\n\n/**\n * Click on the microphone [Test] button\n *\n * 点击麦克风【测试】按钮\n**/\nfunction handleMicrophoneTest() {\n isTestingMicrophone.value = !isTestingMicrophone.value;\n}\n\nconst isTestingSpeaker = ref(false);\nconst audioPlayer = document?.createElement('audio');\nconst { t } = useI18n();\n\n/**\n * Click on the speaker [Test] button\n *\n * 点击扬声器【测试】按钮\n**/\nfunction handleSpeakerTest() {\n if (isTestingSpeaker.value) {\n if (audioPlayer) {\n audioPlayer.pause();\n audioPlayer.currentTime = 0;\n }\n isTestingSpeaker.value = false;\n } else {\n isTestingSpeaker.value = true;\n if (audioPlayer) {\n audioPlayer.src = 'https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3';\n audioPlayer.play();\n }\n }\n}\n\nonBeforeUnmount(() => {\n audioPlayer && audioPlayer.pause();\n});\n\n\nreturn { __sfc: true,props, settingMode, isSampleMode, isDetailMode, roomStore, speakerList, volumeTotalNum, volumeNum, showVolume, isTestingMicrophone, handleMicrophoneTest, isTestingSpeaker, audioPlayer, t, handleSpeakerTest, DeviceSelect, SettingMode }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioSettingTab.vue?vue&type=template&id=ce40fa86&scoped=true&\"\nimport script from \"./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioSettingTab.vue?vue&type=style&index=0&id=ce40fa86&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ce40fa86\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('img',{staticClass:\"default-avatar\",attrs:{\"src\":_vm.imgSrc || _setup.defaultAvatar,\"onerror\":_setup.showDefaultAvatar}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport defaultAvatar from '../../assets/imgs/avatar.png';\n\ninterface Props {\n imgSrc?: string | undefined\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Avatar',\n props: {\n imgSrc: null\n },\n setup(__props: any) {\n\n\n\nfunction showDefaultAvatar(e:any) {\n e.target.src = defaultAvatar;\n}\n\n\nreturn { __sfc: true,showDefaultAvatar, defaultAvatar }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=06750644&\"\nimport script from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=06750644&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-select',{staticClass:\"select custom-element-class\",attrs:{\"placeholder\":\"placeholder\",\"disabled\":_vm.disabled,\"teleported\":false,\"popper-append-to-body\":false},on:{\"change\":_setup.handleChange},model:{value:(_setup.currentDeviceId),callback:function ($$v) {_setup.currentDeviceId=$$v},expression:\"currentDeviceId\"}},_vm._l((_setup.deviceList),function(item){return _c('el-option',{key:item.deviceId,attrs:{\"label\":item.deviceName,\"value\":item.deviceId}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref } from 'vue';\nimport { useRoomStore } from '../../stores/room';\nimport { storeToRefs } from 'pinia';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { TRTCDeviceInfo } from '@tencentcloud/tuiroom-engine-js';\ninterface Props {\n deviceType: string,\n onChange?: (id: string) => void,\n disabled?: Boolean\n}\n// eslint-disable-next-line vue/no-setup-props-destructure\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DeviceSelect',\n props: {\n deviceType: null,\n onChange: null,\n disabled: null\n },\n setup(__props: any) {\n\nconst { deviceType, onChange, disabled = false } = __props as {\n deviceType: string,\n onChange?: (id: string) => void,\n disabled?: Boolean\n}\n\nconst roomEngine = useGetRoomEngine();\n\n\n\nconst roomStore = useRoomStore();\nconst {\n cameraList,\n microphoneList,\n speakerList,\n currentCameraId,\n currentMicrophoneId,\n currentSpeakerId,\n} = storeToRefs(roomStore);\n\n// @ts-ignore\nconst deviceList: Ref = ref(getDeviceList());\nconst currentDeviceId = ref(getInitDeviceId());\n\nfunction getInitDeviceId() {\n if (deviceType === 'camera') {\n return currentCameraId;\n }\n if (deviceType === 'microphone') {\n return currentMicrophoneId;\n }\n if (deviceType === 'speaker') {\n return currentSpeakerId;\n }\n return '';\n}\n\nfunction getDeviceList() {\n if (deviceType === 'camera') {\n return cameraList;\n }\n if (deviceType === 'microphone') {\n return microphoneList;\n }\n if (deviceType === 'speaker') {\n return speakerList;\n }\n return [];\n}\n\nasync function handleChange(deviceId: string) {\n onChange && onChange(deviceId);\n switch (deviceType) {\n case 'camera':\n await roomEngine.instance?.setCurrentCameraDevice({ deviceId });\n roomStore.setCurrentCameraId(deviceId);\n break;\n case 'microphone':\n await roomEngine.instance?.setCurrentMicDevice({ deviceId });\n roomStore.setCurrentMicrophoneId(deviceId);\n break;\n case 'speaker':\n await roomEngine.instance?.setCurrentSpeakerDevice({ deviceId });\n roomStore.setCurrentSpeakerId(deviceId);\n break;\n default:\n break;\n }\n}\n\nreturn { __sfc: true,roomEngine, roomStore, cameraList, microphoneList, speakerList, currentCameraId, currentMicrophoneId, currentSpeakerId, deviceList, currentDeviceId, getInitDeviceId, getDeviceList, handleChange }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DeviceSelect.vue?vue&type=template&id=160545a2&scoped=true&\"\nimport script from \"./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DeviceSelect.vue?vue&type=style&index=0&id=160545a2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"160545a2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.SvgIcon,{staticClass:\"language-icon\",attrs:{\"icon-name\":\"lang\",\"size\":\"large\"},on:{\"click\":_setup.handleChange}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport i18n from '../../locales/index';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Language',\n setup(__props) {\n\nconst basicStore = useBasicStore();\n\nconst handleChange = (): void => {\n switch (i18n.global.locale.value) {\n case 'en-US':\n i18n.global.locale.value = 'zh-CN';\n basicStore.setLang('zh-CN');\n localStorage.setItem('tuiRoom-language', 'zh-CN');\n break;\n case 'zh-CN':\n i18n.global.locale.value = 'en-US';\n basicStore.setLang('en-US');\n localStorage.setItem('tuiRoom-language', 'en-US');\n break;\n }\n};\n\n\nreturn { __sfc: true,basicStore, handleChange, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=047176c6&\"\nimport script from \"./Language.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Language.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=047176c6&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.SvgIcon,{staticClass:\"switch-theme\",attrs:{\"icon-name\":\"switch-theme\",\"size\":\"medium\"},on:{\"click\":_setup.handleSwitchTheme}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { watch, onMounted } from 'vue';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchTheme',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { defaultTheme } = storeToRefs(basicStore);\n\nfunction handleSwitchTheme() {\n const currentTheme = document.body.getAttribute('data-theme') || defaultTheme;\n if (currentTheme === 'white') {\n basicStore.setDefaultTheme('black');\n } else if (currentTheme === 'black') {\n basicStore.setDefaultTheme('white');\n }\n}\n\nfunction doSwitchTheme(theme: string) {\n switch (theme) {\n case 'black':\n document.body.setAttribute('data-theme', 'black');\n localStorage.setItem('tuiRoom-currentTheme', 'black');\n break;\n case 'white':\n document.body.setAttribute('data-theme', 'white');\n localStorage.setItem('tuiRoom-currentTheme', 'white');\n break;\n };\n}\n\nwatch(defaultTheme, (val: string) => {\n doSwitchTheme(val);\n});\n\nonMounted(() => {\n const defaults = basicStore.defaultTheme;\n const storageCurrentTheme = localStorage.getItem('tuiRoom-currentTheme') || defaults;\n basicStore.setDefaultTheme(storageCurrentTheme);\n document.body.setAttribute('data-theme', storageCurrentTheme);\n});\n\nreturn { __sfc: true,basicStore, defaultTheme, handleSwitchTheme, doSwitchTheme, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchTheme.vue?vue&type=template&id=307438c7&\"\nimport script from \"./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchTheme.vue?vue&type=style&index=0&id=307438c7&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"video-tab\"},[_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Camera')))]),_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"camera\"}})],1),(_setup.isDetailMode && _vm.withPreview)?_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Preview')))]),_c('div',{staticClass:\"video-preview\",attrs:{\"id\":\"test-camera-preview\"}})]):_vm._e(),(_setup.isDetailMode)?_c('el-checkbox',{staticClass:\"mirror-checkbox custom-element-class\",attrs:{\"label\":_setup.t('Mirror')},model:{value:(_setup.isLocalStreamMirror),callback:function ($$v) {_setup.isLocalStreamMirror=$$v},expression:\"isLocalStreamMirror\"}}):_vm._e()],1),(_setup.isSampleMode)?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Resolution')))]),_c(_setup.VideoProfile)],1):_vm._e(),(_setup.isSampleMode)?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item\",on:{\"click\":_setup.handleMoreCameraSetting}},[_vm._v(_vm._s(_setup.t('More Camera Settings')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-select',{staticClass:\"select custom-element-class\",attrs:{\"placeholder\":\"placeholder\",\"teleported\":false,\"popper-append-to-body\":false},model:{value:(_setup.localVideoQuality),callback:function ($$v) {_setup.localVideoQuality=$$v},expression:\"localVideoQuality\"}},_vm._l((_setup.videoProfileList),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, watch } from 'vue';\nimport { useI18n } from '../../locales';\n\nimport TUIRoomEngine, { TUIVideoQuality } from '@tencentcloud/tuiroom-engine-js';\nimport { useRoomStore } from '../../stores/room';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { storeToRefs } from 'pinia';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoProfile',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst roomStore = useRoomStore();\nconst { localVideoQuality } = storeToRefs(roomStore);\n\nconst { t } = useI18n();\n\nconst videoProfileList = computed(() => [\n { label: t('Low Definition'), value: TUIVideoQuality.kVideoQuality_360p },\n { label: t('Standard Definition'), value: TUIVideoQuality.kVideoQuality_540p },\n { label: t('High Definition'), value: TUIVideoQuality.kVideoQuality_720p },\n { label: t('Super Definition'), value: TUIVideoQuality.kVideoQuality_1080p }]);\n\nwatch(localVideoQuality, (val: TUIVideoQuality) => {\n roomEngine.instance?.updateVideoQuality({ quality: val });\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.updateVideoQuality({ quality: localVideoQuality.value });\n});\n\nreturn { __sfc: true,roomEngine, roomStore, localVideoQuality, t, videoProfileList }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoProfile.vue?vue&type=template&id=00a64cb2&scoped=true&\"\nimport script from \"./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoProfile.vue?vue&type=style&index=0&id=00a64cb2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00a64cb2\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, Ref, watch, onMounted, onUnmounted } from 'vue';\nimport DeviceSelect from './DeviceSelect.vue';\nimport VideoProfile from './VideoProfile.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { SettingMode } from '../../constants/render';\nimport { isElectronEnv } from '../../utils/utils';\nimport { useI18n } from '../../locales';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../utils/useMediaValue';\ninterface Props {\n mode?: SettingMode,\n withPreview?: boolean,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoSettingTab',\n props: {\n mode: null,\n withPreview: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n mode?: SettingMode,\n withPreview?: boolean,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst isElectron = isElectronEnv();\n\n\nconst settingMode = props.mode || SettingMode.SIMPLE;\nconst isSampleMode = computed(() => settingMode === SettingMode.SIMPLE);\nconst isDetailMode = computed(() => settingMode === SettingMode.DETAIL);\n\nconst basicStore = useBasicStore();\n\nconst isLocalStreamMirror: Ref = ref(basicStore.isLocalStreamMirror);\nwatch(isLocalStreamMirror, async (val: boolean) => {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n if (isMobile) {\n await trtcCloud?.setLocalRenderParams({\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n } else {\n await trtcCloud?.setLocalRenderParams({\n mirrorType: val\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n basicStore.setIsLocalStreamMirror(val);\n});\n\nconst { t } = useI18n();\n\n/**\n * Click [More Camera Settings].\n *\n * 点击【更多摄像头设置】\n**/\nfunction handleMoreCameraSetting() {\n basicStore.setShowSettingDialog(true);\n basicStore.setActiveSettingTab('video');\n}\n\nif (isDetailMode.value && props.withPreview) {\n onMounted(async () => {\n roomEngine.instance?.startCameraDeviceTest({ view: 'test-camera-preview' });\n if (isElectron) {\n // Electron 需要首次设置 mirrorType\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setLocalRenderParams({\n mirrorType: isLocalStreamMirror.value\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n });\n\n onUnmounted(() => {\n roomEngine.instance?.stopCameraDeviceTest();\n });\n}\n\n\nreturn { __sfc: true,roomEngine, isElectron, props, settingMode, isSampleMode, isDetailMode, basicStore, isLocalStreamMirror, t, handleMoreCameraSetting, DeviceSelect, VideoProfile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoSettingTab.vue?vue&type=template&id=7cf837b8&scoped=true&\"\nimport script from \"./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoSettingTab.vue?vue&type=style&index=0&id=7cf837b8&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cf837b8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['icon-box', `${!_vm.hideHoverEffect && 'hover-effect'}`, `${_vm.disabled && 'disabled'}`]},[_c('span',{staticClass:\"icon-content\",on:{\"click\":function($event){return _vm.$emit('click-icon')}}},[(_vm.iconName)?_c(_setup.SvgIcon,{attrs:{\"icon-name\":_vm.iconName}}):_vm._e(),_vm._t(\"default\"),_c('span',{staticClass:\"title\",class:_vm.isActive ? 'title-active' : 'title'},[_vm._v(_vm._s(_vm.title))])],2),(_vm.hasMore)?_c('span',{ref:\"moreSpanRef\",staticClass:\"icon-arrow\",on:{\"click\":function($event){return _vm.$emit('click-more')}}},[_c(_setup.SvgIcon,{staticClass:\"arrow\",attrs:{\"icon-name\":\"arrow-up\",\"size\":\"small\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\n\ninterface Props {\n title: string,\n iconName?: string,\n hasMore?: boolean,\n hideHoverEffect?: boolean,\n disabled?: boolean,\n isActive?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'IconButton',\n props: {\n title: null,\n iconName: null,\n hasMore: { type: Boolean },\n hideHoverEffect: { type: Boolean },\n disabled: { type: Boolean },\n isActive: { type: Boolean }\n },\n emits: ['click-icon', 'click-more'],\n setup(__props: any) {\n\n\n\n\n\nreturn { __sfc: true,SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./IconButton.vue?vue&type=template&id=3303a58b&scoped=true&\"\nimport script from \"./IconButton.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./IconButton.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./IconButton.vue?vue&type=style&index=0&id=3303a58b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3303a58b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{class:[_setup.svgClass, _vm.customClass],style:(_vm.customStyle),on:{\"click\":_setup.handleClick}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\n\ninterface Props {\n iconName: string,\n size?: string,\n customClass?: string,\n customStyle?: any,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SvgIcon',\n props: {\n iconName: null,\n size: null,\n customClass: null,\n customStyle: null\n },\n emits: ['click'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n iconName: string,\n size?: string,\n customClass?: string,\n customStyle?: any,\n}\n\n\n\nconst svgName = computed((): string => `${props.iconName}`);\nconst svgClass = computed((): string => {\n const validate = props.size && ['large', 'medium', 'small', 'custom'].includes(props.size);\n const size = validate ? props.size : 'large';\n return `svg-icon ${size}-icon ${svgName.value}`;\n});\n\nfunction handleClick(event: Event) {\n emit('click', event);\n}\n\nreturn { __sfc: true,props, emit, svgName, svgClass, handleClick }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=52c6be46&scoped=true&\"\nimport script from \"./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SvgIcon.vue?vue&type=style&index=0&id=52c6be46&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52c6be46\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-drawer',{attrs:{\"visible\":_setup.visible,\"title\":_setup.props.title,\"before-close\":_setup.props.beforeClose,\"modal\":_setup.props.modal,\"direction\":_setup.props.direction,\"size\":_setup.props.size},on:{\"update:visible\":function($event){_setup.visible=$event}}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, computed, watch } from 'vue';\n\ninterface Props {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n direction?: string,\n size?: number | string,\n customClass?: string,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Drawer',\n props: {\n modelValue: { type: Boolean },\n title: null,\n beforeClose: null,\n modal: { type: Boolean },\n appendToBody: { type: Boolean },\n width: null,\n direction: null,\n size: null,\n customClass: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n direction?: string,\n size?: number | string,\n customClass?: string,\n}\n\n\n\n\nconst visible: Ref = ref(props.modelValue);\n\nwatch(() => props.modelValue, (val) => {\n visible.value = val;\n});\n\n\nreturn { __sfc: true,props, visible }\n}\n\n})","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Drawer.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Drawer.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Drawer.vue?vue&type=template&id=02a8d5b4&\"\nimport script from \"./Drawer.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Drawer.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Drawer.vue?vue&type=style&index=0&id=02a8d5b4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"userInfoRef\",staticClass:\"user-info-container\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleUserControl),expression:\"handleUserControl\"}],staticClass:\"user-info-content\"},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":_vm.avatarUrl || _setup.defaultAvatar}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.userName || _vm.userId))])]),(_setup.showUserControl)?_c('div',{staticClass:\"user-control-container\"},[_c('div',{staticClass:\"logout-mobile\"},[_c('div',{staticClass:\"logout-mobile-main\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _vm.$emit('log-out')),expression:\"() => $emit('log-out')\"}],staticClass:\"logout\"},[_c('i',[_vm._v(\" \"+_vm._s(_setup.t('Log out')))])]),_c('div',{staticClass:\"close\",on:{\"click\":function($event){$event.stopPropagation();_setup.showUserControl = false}}},[_c('i',[_vm._v(_vm._s(_setup.t('Cancel')))])])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, onMounted, computed, onUnmounted, Ref } from 'vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';\nimport { useRoomStore } from '../../../stores/room';\nimport { isInnerScene } from '../../../utils/constants';\nexport default function useUserInfo() {\n const { t } = useI18n();\n const basicStore = useBasicStore();\n const { userName } = storeToRefs(basicStore);\n\n const userInfoRef = ref();\n const showUserControl = ref(false);\n const showUserNameEdit: Ref = ref(false);\n\n const showEditNameItem: Ref = ref(isInnerScene);\n\n const tempUserName = ref('');\n const roomStore = useRoomStore();\n\n const iconName = computed(() => (showUserControl.value ? ICON_NAME.LineArrowUp : ICON_NAME.LineArrowDown));\n\n /**\n * Whether to display the user information operation box\n *\n * 是否显示用户信息操作框\n **/\n function handleUserControl() {\n showUserControl.value = !showUserControl.value;\n }\n\n /**\n * Hide the user information action box\n *\n * 隐藏用户信息操作框\n **/\n function hideUserControl(event: Event) {\n if (!userInfoRef.value.contains(event.target)) {\n showUserControl.value = false;\n }\n }\n\n /**\n * Show change name dialog\n *\n * 展示修改名字 dialog\n **/\n function showEditUserNameDialog() {\n showUserNameEdit.value = true;\n tempUserName.value = userName.value;\n }\n\n /**\n * Close the modify name dialog\n *\n * 关闭修改名字的 dialog\n **/\n function closeEditUserNameDialog() {\n showUserNameEdit.value = false;\n }\n\n /**\n * Save the new userName\n *\n * 保存新的 userName\n **/\n async function handleSaveUserName(userName: string) {\n if (userName.length === 0) {\n ElMessage({\n type: 'warning',\n message: t('Username length should be greater than 0'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n basicStore.setUserName(userName);\n TUIRoomEngine.setSelfInfo({ userName, avatarUrl: roomStore.localUser.avatarUrl || '' });\n roomStore.setLocalUser({ userName });\n closeEditUserNameDialog();\n }\n\n\n onMounted(() => {\n window.addEventListener('click', hideUserControl);\n });\n\n onUnmounted(() => {\n window.removeEventListener('click', hideUserControl);\n });\n return {\n t,\n showEditNameItem,\n showUserControl,\n iconName,\n showUserNameEdit,\n userInfoRef,\n tempUserName,\n handleUserControl,\n showEditUserNameDialog,\n closeEditUserNameDialog,\n handleSaveUserName,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport useUserInfo from './useUserInfoHooks';\nimport '../../../directives/vTap';\ninterface Props {\n userId: string,\n userName: string,\n avatarUrl?: string,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfoH5',\n props: {\n userId: null,\n userName: null,\n avatarUrl: null\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst {\n userInfoRef,\n showUserControl,\n t,\n handleUserControl,\n} = useUserInfo();\n\n\n\nreturn { __sfc: true,userInfoRef, showUserControl, t, handleUserControl, defaultAvatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./UserInfoH5.vue?vue&type=template&id=13917005&\"\nimport script from \"./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./UserInfoH5.vue?vue&type=style&index=0&id=13917005&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"userInfoRef\",staticClass:\"user-info-container\"},[_c('div',{staticClass:\"user-info-content\",on:{\"click\":_setup.handleUserControl}},[_c(_setup.Avatar,{staticClass:\"avatar\",attrs:{\"img-src\":_vm.avatarUrl}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.userName || _vm.userId))]),_c(_setup.SvgIcon,{staticClass:\"down-icon\",attrs:{\"icon-name\":_setup.iconName,\"size\":\"medium\"}})],1),(_setup.showUserControl)?_c('div',{staticClass:\"user-control-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showEditNameItem),expression:\"showEditNameItem\"}]},[_c('div',{staticClass:\"user-control-item-head\",on:{\"click\":_setup.showEditUserNameDialog}},[_vm._v(_vm._s(_setup.t('Edit profile')))])]),_c('div',{staticClass:\"user-control-item-foot\",on:{\"click\":function($event){return _vm.$emit('log-out')}}},[_vm._v(_vm._s(_setup.t('Log out')))])]):_vm._e(),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"title\":_setup.t('Edit profile'),\"width\":\"420px\",\"model-value\":_setup.showUserNameEdit,\"modal\":true,\"append-to-body\":false,\"close-on-click-modal\":true},on:{\"close\":_setup.closeEditUserNameDialog}},[_c('div',{staticClass:\"dialog-content\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('User Name')))]),_c('div',{staticClass:\"input-container\"},[_c('el-input',{attrs:{\"type\":\"text\",\"maxlength\":\"80\",\"placeholder\":_setup.t('Please input user name')},model:{value:(_setup.tempUserName),callback:function ($$v) {_setup.tempUserName=$$v},expression:\"tempUserName\"}})],1)]),_c('div',{staticClass:\"dialog-footer\"},[_c('el-button',{on:{\"click\":_setup.closeEditUserNameDialog}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _setup.handleSaveUserName(_setup.tempUserName)}}},[_vm._v(_vm._s(_setup.t('Save')))])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Dialog from '../../../elementComp/Dialog';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useUserInfo from './useUserInfoHooks';\nimport Avatar from '../../base/Avatar.vue';\ninterface Props {\n userId: string,\n userName: string,\n avatarUrl?: string,\n }\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfoPC',\n props: {\n userId: null,\n userName: null,\n avatarUrl: null\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst {\n t,\n showEditNameItem,\n iconName,\n showUserControl,\n showUserNameEdit,\n userInfoRef,\n tempUserName,\n handleUserControl,\n showEditUserNameDialog,\n closeEditUserNameDialog,\n handleSaveUserName } = useUserInfo();\n \n\n\nreturn { __sfc: true,t, showEditNameItem, iconName, showUserControl, showUserNameEdit, userInfoRef, tempUserName, handleUserControl, showEditUserNameDialog, closeEditUserNameDialog, handleSaveUserName, Dialog, SvgIcon, Avatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./UserInfoPC.vue?vue&type=template&id=6645c3b3&\"\nimport script from \"./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./UserInfoPC.vue?vue&type=style&index=0&id=6645c3b3&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport UserInfoH5 from './UserInfoH5.vue';\nimport UserInfoPc from './UserInfoPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nconst UserInfo = isMobile ? UserInfoH5 : UserInfoPc;\n\nexport default UserInfo;\n\n","export enum ICON_NAME {\n MicOn = 'mic-on',\n MicOff = 'mic-off',\n MicOffDisabled = 'mic-off-gray',\n CameraOn = 'camera-on',\n CameraOff = 'camera-off',\n CameraOffDisabled = 'camera-off-gray',\n ArrowBorderDown = 'arrow-border-down',\n ScreenSharing = 'screen-sharing',\n ScreenShare = 'screen-share',\n ScreenShareStopped = 'screen-share-stopped',\n ScreenShareDisabled = 'screen-share-disabled',\n ChatActive = 'chat-active',\n Chat = 'chat',\n ExitFullScreen = 'exit-fullscreen',\n FullScreen = 'full-screen',\n InviteActive = 'invite-active',\n Invite = 'invite',\n ManageMemberActive = 'manage-member-active',\n ManageMember = 'manage-member',\n More = 'more',\n MoreActive = 'more-active',\n SettingActive = 'setting-active',\n Setting = 'setting',\n LineArrowUp = 'line-arrow-up',\n LineArrowDown = 'line-arrow-down',\n ApplyOnSeat = 'apply',\n ApplyActive = 'apply-active',\n GoOffSeat = 'go-off-seat',\n}\n","export enum WARNING_MESSAGE {\n UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL = 'Has been fully muted and cannot open the microphone',\n UNMUTE_LOCAL_MIC_FAIL_MUTE_BY_MASTER = 'Has been muted by the host and cannot open the microphone',\n UNMUTE_LOCAL_MIC_FAIL_AUDIENCE = 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL = 'Has been full static painting, can not open the video',\n UNMUTE_LOCAL_CAMERA_FAIL_MUTE_BY_MASTER = 'It has been stilled by the host and cannot open the video',\n UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE = 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n};\n\nexport enum MESSAGE_DURATION {\n NORMAL = 3000,\n LONG = 5000\n};\n","\nexport enum LAYOUT {\n SIX_EQUAL_POINTS = 'six_equal_points',\n NINE_EQUAL_POINTS = 'nine_equal_points',\n TWENTY_FIVE_EQUAL_POINTS = 'twenty_five_equal_points',\n RIGHT_SIDE_LIST = 'right_side_list',\n TOP_SIDE_LIST = 'top_side_list',\n LARGE_SMALL_WINDOW = 'large_small_window',\n GRID_VIEW= 'grid_view',\n};\n\nexport enum SettingMode {\n SIMPLE = 'simple',\n DETAIL = 'detail',\n}\n","import Vue from '../utils/vue';\n\nclass VueTouch {\n public dom: HTMLElement;\n public callback: Function;\n public isMove: boolean;\n\n constructor(el: HTMLElement, binding: any) {\n this.dom = el;\n this.callback = binding.value;\n\n this.isMove = false;\n\n el?.addEventListener('touchstart', () => {\n this.touchstart();\n }, { passive: true });\n\n el?.addEventListener('touchmove', () => {\n this.touchmove();\n }, { passive: true});\n\n el?.addEventListener('touchend', () => {\n this.touchend();\n }, { passive: true});\n }\n\n touchstart() {\n this.isMove = false;\n }\n\n touchmove() {\n this.isMove = true;\n }\n\n touchend() {\n if (!this.isMove) {\n this.callback();\n }\n }\n}\n\nVue.directive('tap', {\n bind: function (el: HTMLElement, binding: any) {\n return new VueTouch(el, binding);\n }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.props.modelValue)?_c('div',{staticClass:\"dialog-container\"},[_c('span',{staticClass:\"dialog-title\"},[_vm._v(_vm._s(_setup.props.title))]),_c('div',{staticClass:\"dialog-content\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"dialog-footer\"},[_vm._t(\"footer\")],2)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\ninterface Props {\n modelValue: boolean,\n title?: string,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DialogH5',\n props: {\n modelValue: { type: Boolean },\n title: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n}\n\n\n\n\nreturn { __sfc: true,props }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DialogH5.vue?vue&type=template&id=a402edee&\"\nimport script from \"./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DialogH5.vue?vue&type=style&index=0&id=a402edee&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-dialog',{attrs:{\"visible\":_setup.props.modelValue,\"title\":_setup.props.title,\"before-close\":_setup.props.beforeClose,\"modal\":_setup.props.modal,\"append-to-body\":_setup.props.appendToBody,\"width\":_setup.props.width,\"show-close\":_setup.props.showClose,\"close-on-click-modal\":_setup.props.closeOnClickModal,\"close-on-press-escape\":_setup.props.closeOnPressEscape,\"modal-append-to-body\":false},on:{\"update:visible\":function($event){return _vm.$set(_setup.props, \"modelValue\", $event)}},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_vm._t(\"footer\")]},proxy:true}],null,true)},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\ninterface Props {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n showClose?: boolean,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DialogPC',\n props: {\n modelValue: { type: Boolean },\n title: null,\n beforeClose: null,\n modal: { type: Boolean },\n appendToBody: { type: Boolean },\n width: null,\n showClose: { type: Boolean },\n closeOnClickModal: { type: Boolean },\n closeOnPressEscape: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n showClose?: boolean,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n}\n\n\n\n\n\nreturn { __sfc: true,props }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DialogPC.vue?vue&type=template&id=0abc050e&\"\nimport script from \"./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DialogPC.vue?vue&type=style&index=0&id=0abc050e&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DialogH5 from './DialogH5.vue';\nimport DialogPC from './DialogPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\nconst Dialog = isMobile ? DialogH5 : DialogPC;\n\nexport default Dialog;\n","import { Message, MessageBox } from 'element-ui';\n\nconst ElMessage = Message;\n\nconst ElMessageBox = MessageBox;\n\nexport { ElMessage, ElMessageBox };","import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';\nimport { isVue3 } from '../utils/constants';\n\nconst roomEngine: Record = { instance: null };\nconst vueVersion = isVue3 ? 'vue3' : 'vue2';\nexport default function useGetRoomEngine() {\n return roomEngine;\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance = new TUIRoomEngine();\n roomEngine.instance?.callExperimentalAPI(JSON.stringify({\n api: 'setFramework',\n params: {\n component: 'TUIRoomKit',\n language: vueVersion,\n },\n }));\n});\n","export default {\n '': '',\n 'Sign in': '请登录',\n 'Phone Login': '手机登录',\n 'Email Login': '邮箱登录',\n 'I have read and agree to the': '我已阅读并同意',\n 'Privacy Policy': '隐私协议',\n and: '和',\n 'Terms of Use': '用户协议',\n Login: '登录',\n 'Mobile number': '请输入您的手机号',\n 'Verification code': '请输入验证码',\n 'Email address': '请输入邮箱',\n 'Please enter a valid phone number!': '请输入正确的手机号!',\n 'Please enter a valid email address!': '请输入正确的邮箱地址!',\n 'Please enter your phone number!': '请输入手机号!',\n 'Please enter your email address!': '请输入邮箱地址!',\n 'Please enter the verification code!': '请输入验证码!',\n 'Please accept the privacy policy and user agreement!': '请同意隐私协议及用户协议!',\n 'Incorrect verification code, please check the code!': '验证码错误,请检查验证码!',\n 'The verification code has expired, please retrieve a new one!': '验证码已过期,请重新获取验证码!',\n 'The verification code has been used, please retrieve a new one!': '验证码已使用,请重新获取验证码!',\n 'Login failed, please try again.': '登录失败,请重试',\n SEND: '获取验证码',\n ' ': '倒计时',\n 'The room does not exist, please confirm the room number or create a room!': '房间不存在,请确认房间号或创建房间!',\n 'Log out': '退出登录',\n 'Edit profile': '编辑资料',\n 'User Name': '用户名',\n 'Please input user name': '请输入用户名',\n 'Username length should be greater than 0': '昵称长度应该大于0',\n Save: '保存',\n Camera: '摄像头',\n Mic: '麦克风',\n 'Off Camera': '摄像头已关闭',\n 'Mic settings': '麦克风设置',\n Output: '输出',\n Speaker: '扬声器',\n Test: '测试',\n Stop: '停止测试',\n Preview: '视频画面',\n Mirror: '翻转镜像',\n Resolution: '分辨率',\n 'More Camera Settings': '更多摄像头设置',\n 'Join the room ?': '是否进入房间?',\n 'You are invited to room ': '您被邀请进入 ',\n Room: '房间',\n Join: '确定进入',\n 'New Room': '新建房间',\n 'Room Type': '房间类型',\n 'Your Name': '您的名字',\n 'Turn on the microphone': '开启麦克风',\n 'Turn on the speaker': '开启扬声器',\n 'Turn on the video': '开启视频',\n 'Free Speech Room': '自由发言房间',\n 'Raise Hand Room': '举手发言房间',\n 'Join Room': '进入房间',\n 'Enter room ID': '输入房间号',\n 'video conferencing': ' 的视频会议',\n 'Room ID': '房间号',\n 'Low Definition': '流畅',\n 'Standard Definition': '标清',\n 'High Definition': '高清',\n 'Super Definition': '超清',\n 'End sharing': '结束共享',\n 'Stop sharing?': '是否停止屏幕共享?',\n 'Stop sharing': '停止共享',\n Sure: '确定',\n Sharing: '屏幕共享中',\n 'Share screen': '共享屏幕',\n 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?': '是否结束当前的共享屏幕,停止后所有人将无法继续观看屏幕内容',\n 'Others will no longer see your screen after you stop sharing.': '停止后所有人将无法继续观看屏幕内容',\n 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first': '您当前没有共享权限,请先举手申请上台获取共享权限',\n Host: '主持人',\n Me: '我',\n me: '我',\n More: '更多',\n 'Raise hand': '举手',\n Agree: '同意',\n Chat: '聊天',\n Cancel: '取消',\n Exit: '退出全屏',\n 'Full screen': '全屏',\n Members: '管理成员',\n Invite: '邀请成员',\n Settings: '设置',\n EndPC: '结束会议',\n EndH5: '结束',\n Tips: '提示',\n 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.': '您当前是房间主持人,请选择相应操作。若选择“离开房间”,则房间不会解散,您需要指定新主持人。',\n 'If you do not want to end the meeting, please designate a new host before leaving the meeting.': '如果您不想结束会议,请在离开会议前指定新的主持人。',\n 'Are you sure you want to leave this room?': '确定离开房间吗?',\n 'New host': '选择主持人',\n 'Transfer and leave': '移交并离开',\n 'Leave room?': '是否要离开房间',\n 'Select a new host': '请选择新的房间主持人',\n 'Appoint a new host': '指定一位新的主持人',\n 'The host closed the room.': '主持人结束会议,已解散房间',\n Note: '通知',\n Confirm: '确认',\n Leave: '离开房间',\n Dismiss: '解散房间',\n 'Moderator changed to ': '主持人已变更为',\n 'Muted by the moderator': '已被主持人禁言',\n 'Type a message': '说点什么...',\n Send: '发送',\n 'Failed to send the message': '发送消息失败',\n 'Applying for the stage': '正在申请上台',\n Check: '查看',\n 'Disable all audios': '禁言所有人',\n 'Disable all videos': '禁画所有人',\n 'All mute': '全体静音',\n 'All current and new members will be muted.': '所有及新加入的成员将被静音',\n 'All current and new members will turn off their videos.': '所有及新加入的成员将关闭视频',\n 'All stop video': '全体禁画',\n 'Lift all mute': '取消全体静音',\n 'Should we turn on the video for everyone': '是否打开全员视频',\n 'Can you lift all mute': '是否取消全体静音',\n 'Lift stop all video': '取消全体禁画',\n 'No relevant user found.': '未找到相关用户',\n 'Member List': '成员列表',\n Unmute: '解除禁言',\n 'Cancel Unmute': '取消解除禁言',\n Mute: '禁言',\n members: '人',\n 'Failed to get chat message': '获取聊天消息失败',\n 'Agree to the stage': '同意上台',\n 'Cancel stage': '取消邀请上台',\n 'Invite stage': '邀请上台',\n 'Refuse stage': '拒绝上台',\n 'Enable video': '解除禁画',\n 'Cancel Enable video': '取消解除禁画',\n 'Disable video': '禁画',\n 'Enable chat': '允许文字聊天',\n 'Disable chat': '禁止文字聊天',\n 'Kick out': '踢出房间',\n 'is sharing their screen': '的屏幕分享',\n 'Apply to stage application': '请求上台申请',\n Reject: '拒绝',\n 'Reject All': '全部拒绝',\n 'Please raise your hand to apply': '如果您想发言请先举手申请上麦',\n 'The host invites you to speak on stage': '主持人邀请您上台发言',\n 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?': '同意上台后可打开摄像头和麦克风,是否同意上台?',\n 'Hand down': '手放下',\n 'Step down(Master)': '邀请下台',\n 'Step down': '下台',\n 'The host has approved your application': '主持人同意了你的上台申请',\n 'The host has rejected your application for the stage': '主持人拒绝了你的上台申请',\n 'You have been invited by the host to step down, please raise your hand if you need to speak': '您已被主持人邀请下台,需要发言请先举手',\n 'Select a screen/window': '选择屏幕/窗口',\n Screen: '屏幕',\n Window: '窗口',\n Share: '开始分享',\n 'Select a screen or window first': '请选择要分享的屏幕或者窗口',\n Grid: '一屏九等分',\n 'Gallery on right': '右侧成员列表',\n 'Gallery at top': '顶部成员列表',\n 'Network ': '网络',\n 'Latency: ': '网络延迟:',\n 'Frame rate: ': '帧率:',\n 'Bitrate: ': '码率:',\n Unknown: '状态未知',\n Excellent: '状态极佳',\n Good: '状态较好',\n Fair: '状态一般',\n Poor: '状态差',\n 'Very poor': '状态极差',\n Disconnected: '断开连接',\n 'Share the room ID or invite link': '您可以通过复制房间号或者邀请链接的方式邀请更多人加入房间',\n 'Invite by room number': '通过房间号邀请',\n 'Invite via room link': '通过房间链接邀请',\n 'Room Link': '房间链接',\n 'You can share the room number or link to invite more people to join the room.': '您可以分享房间号或链接邀请更多人加入房间。',\n 'If you have any questions, please feel free to join our QQ group or send an email': '如果有任何问题欢迎加入我们的QQ群或者发送邮件。',\n 'Room QR code': '房间二维码',\n 'Search for conference attendees': '搜索参会成员',\n 'Invite via client scheme': '通过客户端 scheme 邀请',\n 'Contact us': '联系我们',\n 'Member management': '成员管理',\n 'Grid view': '宫格视图',\n 'Join our QQ group chat or email us.': '如果有任何问题欢迎加入我们的QQ群或者发送邮件',\n 'group chat': 'QQ 群',\n Email: '邮箱地址',\n 'Audio settings': '声音设置',\n 'Camera settings': '摄像头设置',\n 'Copied successfully': '复制成功',\n 'accepted the invitation to the stage': '接受了上台邀请',\n 'declined the invitation to the stage': '拒绝了上台邀请',\n 'The host has muted all': '主持人已开启全体静音',\n 'The host has unmuted all': '主持人已解除全体静音',\n 'The host has turned off your microphone': '主持人已关闭您的麦克风',\n 'The host invites you to turn on the microphone': '主持人邀请你打开麦克风',\n 'The host has turned on the ban on all paintings': '主持人已开启全体禁画',\n 'The host has lifted the ban on all paintings': '主持人已解除全体禁画',\n 'The host has turned on the ban on all chat': '主持人已开启全体禁止文字聊天',\n 'The host has lifted the ban on all chat': '主持人已解除全体禁止文字聊天',\n 'The host has turned off your camera': '主持人已关闭您的摄像头',\n 'The host invites you to turn on the camera': '主持人邀请你打开摄像头',\n 'The host has turned off your screen sharing': '主持人已关闭您的屏幕分享',\n 'Turn on the camera': '打开摄像头',\n 'Keep it closed': '保持关闭',\n 'You have been banned from text chat by the host': '您被主持人禁止文字聊天',\n 'You are allowed to text chat by the host': '您被主持人允许文字聊天',\n 'kicked out of the room by the host': '被主持人踢出房间',\n 'kicked out of the room by other device': '相同账号在其他客户端进入房间',\n 'kicked out of the room by serve': '被服务端踢出房间',\n 'Reject on Stage failed, please retry': '拒绝 {userName} 上台失败, 请重试',\n 'Has been fully muted and cannot open the microphone': '已被全员静音,无法打开麦克风',\n 'Has been muted by the host and cannot open the microphone': '已被主持人静音,无法打开麦克风',\n 'To apply to speak in the room, please raise your hand first to apply for the microphone': '申请发言房间,请先举手申请上麦',\n 'Has been full static painting, can not open the video': '已被全员静画,无法打开视频',\n 'It has been stilled by the host and cannot open the video': '已被主持人静画,无法打开视频',\n 'Failed to enter the room.': '进入房间失败!',\n 'Has been full static painting, can not share your screen': '已被全员静画,无法打开屏幕分享',\n 'Microphone not detected on current device': '当前设备未检测到麦克风',\n 'Camera not detected on current device': '当前设备未检测到摄像头',\n 'Camera And Microphone not detected on current device': '当前设备未检测到摄像头和麦克风',\n 'Another user is currently sharing the screen, screen sharing is not possible.': '当前有其他用户正在屏幕共享,无法进行屏幕共享',\n 'This action causes the room to be exited, does it continue?': '该操作会导致退出房间,是否继续?',\n 'This action causes the room to be disbanded, does it continue?': '该操作会导致解散房间,是否继续?',\n};\n","export default {\n '': '',\n 'Sign in': 'Sign in',\n 'Phone Login': 'Phone Login',\n 'Email Login': 'Email Login',\n 'I have read and agree to the': 'I have read and agree to the',\n 'Privacy Policy': 'Privacy Policy',\n and: 'and',\n 'Terms of Use': 'Terms of Use',\n Login: 'Login',\n 'Mobile number': 'Mobile number',\n 'Verification code': 'Verification code',\n 'Email address': 'Email address',\n 'Please enter a valid phone number!': 'Please enter a valid phone number!',\n 'Please enter a valid email address!': 'Please enter a valid email address!',\n 'Please enter your phone number!': 'Please enter your phone number!',\n 'Please enter your email address!': 'Please enter your email address!',\n 'Please enter the verification code!': 'Please enter the verification code!',\n 'Please accept the privacy policy and user agreement!': 'Please accept the privacy policy and user agreement!',\n 'Incorrect verification code, please check the code!': 'Incorrect verification code, please check the code!',\n 'The verification code has expired, please retrieve a new one!': 'The verification code has expired, please retrieve a new one!',\n 'The verification code has been used, please retrieve a new one!': 'The verification code has been used, please retrieve a new one!',\n 'Login failed, please try again.': 'Login failed, please try again.',\n SEND: 'SEND',\n ' ': ' ',\n 'The room does not exist, please confirm the room number or create a room!': 'The room does not exist, please confirm the room number or create a room!',\n 'Log out': 'Log out',\n 'Edit profile': 'Edit profile',\n 'User Name': 'User Name',\n 'Please input user name': 'Please input user name',\n 'Username length should be greater than 0': 'Username length should be greater than 0',\n Save: 'Save',\n Camera: 'Camera',\n Mic: 'Mic',\n 'Off Camera': 'Off Camera',\n 'Mic settings': 'Mic settings',\n Output: 'Output',\n Speaker: 'Speaker',\n Test: 'Test',\n Stop: 'Stop',\n Preview: 'Preview',\n Mirror: 'Mirror',\n Resolution: 'Resolution',\n 'More Camera Settings': 'More Camera Settings',\n 'Join the room ?': 'Join the room ?',\n 'You are invited to room ': 'You are invited to room ',\n Room: 'Room',\n Join: 'Join',\n Sure: 'Sure',\n 'New Room': 'New Room',\n 'Room Type': 'Room Type',\n 'Your Name': 'Your Name',\n 'Grid view': 'Grid view',\n 'Speaker view': 'Speaker view',\n 'Turn on the microphone': 'Turn on the microphone',\n 'Turn on the speaker': 'Turn on the speaker',\n 'Turn on the video': 'Turn on the video',\n 'Free Speech Room': 'Free Speech Room',\n 'Raise Hand Room': 'Raise Hand Room',\n 'Join Room': 'Join Room',\n 'Enter room ID': 'Enter room ID',\n 'video conferencing': ' \\'s video conferencing',\n 'Room ID': 'Room ID',\n 'Low Definition': 'Low Definition',\n 'Standard Definition': 'Standard Definition',\n 'High Definition': 'High Definition',\n 'Super Definition': 'Super Definition',\n 'End sharing': 'End sharing',\n 'Stop sharing?': 'Stop sharing?',\n 'Stop sharing': 'Stop sharing',\n Sharing: 'Sharing',\n 'Share screen': 'Share screen',\n 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?': 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?',\n 'Others will no longer see your screen after you stop sharing.': 'Others will no longer see your screen after you stop sharing.',\n 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first': 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first',\n Host: 'Host',\n Me: 'Me',\n me: 'me',\n More: 'More',\n 'Raise hand': 'Raise hand',\n Agree: 'Agree',\n Chat: 'Chat',\n Cancel: 'Cancel',\n Exit: 'Exit',\n 'Full screen': 'Full screen',\n Members: 'Members',\n Invite: 'Invite',\n Settings: 'Settings',\n EndPC: 'End',\n EndH5: 'End',\n 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.': 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.',\n 'If you do not want to end the meeting, please designate a new host before leaving the meeting.': 'If you do not want to end the meeting, please designate a new host before leaving the meeting.',\n 'Are you sure you want to leave this room?': 'Are you sure you want to leave this room?',\n 'New host': 'New host',\n 'Transfer and leave': 'Transfer and leave',\n 'Leave room?': 'Leave room?',\n 'Select a new host': 'Select a new host',\n 'Appoint a new host': 'Appoint a new host',\n 'The host closed the room.': 'The host closed the room.',\n Note: 'Note',\n Confirm: 'Confirm',\n Leave: 'Leave',\n Dismiss: 'Dismiss',\n 'Moderator changed to ': 'Moderator changed to ',\n 'Muted by the moderator': 'Muted by the moderator',\n 'Type a message': 'Type a message',\n Send: 'Send',\n 'Failed to send the message': 'Failed to send the message',\n 'Applying for the stage': 'Applying for the stage',\n Check: 'Check',\n 'Disable all audios': 'Disable all audios',\n 'Disable all videos': 'Disable all videos',\n 'Member List': 'Member List',\n 'All mute': 'All mute',\n 'All stop video': 'All stop video',\n 'Lift all mute': 'Lift all mute',\n 'Should we turn on the video for everyone': 'Should we turn on the video for everyone',\n 'Can you lift all mute': 'Can you lift all mute',\n 'Lift stop all video': 'Lift stop all video',\n Unmute: 'Unmute',\n 'Cancel Unmute': 'Cancel Unmute',\n Mute: 'Mute',\n members: 'members',\n 'Failed to get chat message': 'Failed to get chat message',\n 'Agree to the stage': 'Agree to the stage',\n 'Cancel stage': 'Cancel stage',\n 'Invite stage': 'Invite stage',\n 'Refuse stage': 'Refuse stage',\n 'Step down': 'Step down',\n 'Step down(Master)': 'Step down',\n 'Enable video': 'Enable video',\n 'Disable video': 'Disable video',\n 'Enable chat': 'Enable chat',\n 'Disable chat': 'Disable chat',\n 'Kick out': 'Kick out',\n 'is sharing their screen': 'is sharing their screen',\n 'Apply to stage application': 'Apply to stage application',\n Reject: 'Reject',\n 'Reject All': 'Reject All',\n 'Please raise your hand to apply': 'Please raise your hand to apply',\n 'The host invites you to speak on stage': 'The host invites you to speak on stage',\n 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?': 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?',\n 'Hand down': 'Hand down',\n 'The host has approved your application': 'The host has approved your application',\n 'The host has rejected your application for the stage': 'The host has rejected your application for the stage',\n 'You have been invited by the host to step down, please raise your hand if you need to speak': 'You have been invited by the host to step down, please raise your hand if you need to speak',\n 'Select a screen/window': 'Select a screen/window',\n Screen: 'Screen',\n Window: 'Window',\n Share: 'Share',\n 'Select a screen or window first': 'Select a screen or window first',\n Grid: 'Grid',\n Tips: 'Tips',\n 'Gallery on right': 'Gallery on right',\n 'Gallery at top': 'Gallery at top',\n 'Network ': 'Network ',\n 'Latency: ': 'Latency: ',\n 'Frame rate: ': 'Frame rate: ',\n 'Bitrate: ': 'Bitrate: ',\n Unknown: 'Unknown',\n Excellent: 'Excellent',\n Good: 'Good',\n Fair: 'Fair',\n Poor: 'Poor',\n 'Very poor': 'Very poor',\n Disconnected: 'Disconnected',\n 'Share the room ID or invite link': 'Share the room ID or invite link',\n 'Invite by room number': 'Invite by room number',\n 'Invite via room link': 'Invite via room link',\n 'Room Link': 'Room Link',\n 'You can share the room number or link to invite more people to join the room.': 'You can share the room number or link to invite more people to join the room.',\n 'If you have any questions, please feel free to join our QQ group or send an email': 'If you have any questions, please feel free to join our QQ group or send an email',\n 'Room QR code': 'Room QR code',\n 'Search for conference attendees': 'Search for conference attendees',\n 'Invite via client scheme': 'Invite via client scheme',\n 'All current and new members will be muted.': 'All current and new members will be muted',\n 'All current and new members will turn off their videos.': 'All current and new members will turn off their videos',\n 'No relevant user found.': 'No relevant user found.',\n 'Contact us': 'Contact us',\n 'Member management': 'Member management',\n 'Join our QQ group chat or email us.': 'Join our QQ group chat or email us.',\n 'group chat': 'group chat',\n Email: 'Email',\n 'Audio settings': 'Audio settings',\n 'Camera settings': 'Camera settings',\n 'Copied successfully': 'Copied successfully',\n 'accepted the invitation to the stage': 'accepted the invitation to the stage',\n 'declined the invitation to the stage': 'declined the invitation to the stage',\n 'The host has muted all': 'The host has muted all',\n 'The host has unmuted all': 'The host has unmuted all',\n 'The host has turned off your microphone': 'The host has turned off your microphone',\n 'The host invites you to turn on the microphone': 'The host invites you to turn on the microphone',\n 'The host has turned on the ban on all paintings': 'The host has turned on the ban on all paintings',\n 'The host has lifted the ban on all paintings': 'The host has lifted the ban on all paintings',\n 'The host has turned on the ban on all chat': 'The host has turned on the ban on all chat',\n 'The host has lifted the ban on all chat': 'The host has lifted the ban on all chat',\n 'The host has turned off your camera': 'The host has turned off your camera',\n 'The host invites you to turn on the camera': 'The host invites you to turn on the camera',\n 'The host has turned off your screen sharing': 'The host has turned off your screen sharing',\n 'Turn on the camera': 'Turn on the camera',\n 'Keep it closed': 'Keep it closed',\n 'You have been banned from text chat by the host': 'You have been banned from text chat by the host',\n 'You are allowed to text chat by the host': 'You are allowed to text chat by the host',\n 'kicked out of the room by the host': 'kicked out of the room by the host',\n 'kicked out of the room by other device': 'kicked out of the room by other device',\n 'kicked out of the room by serve': 'kicked out of the room by serve',\n 'Reject on Stage failed, please retry': 'Reject {userName} on Stage failed, please retry',\n 'Has been fully muted and cannot open the microphone': 'Has been fully muted and cannot open the microphone',\n 'Has been muted by the host and cannot open the microphone': 'Has been muted by the host and cannot open the microphone',\n 'To apply to speak in the room, please raise your hand first to apply for the microphone': 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n 'Has been full static painting, can not open the video': 'Has been full static painting, can not open the video',\n 'It has been stilled by the host and cannot open the video': 'It has been stilled by the host and cannot open the video',\n 'Failed to enter the room.': 'Failed to enter the room.',\n 'Has been full static painting, can not share your screen': 'Has been full static painting, can not share your screen.',\n 'Microphone not detected on current device': 'Microphone not detected on current device',\n 'Camera not detected on current device': 'Camera not detected on current device',\n 'Camera And Microphone not detected on current device': 'Camera And Microphone not detected on current device',\n 'Another user is currently sharing the screen, screen sharing is not possible.': 'Another user is currently sharing the screen, screen sharing is not possible.',\n 'This action causes the room to be disbanded, does it continue?': 'This action causes the room to be disbanded, does it continue?',\n 'This action causes the room to be exited, does it continue?': 'This action causes the room to be exited, does it continue?',\n};\n","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport { createI18n, useI18n } from 'vue-i18n-bridge';\nimport { getLanguage } from '../utils/common';\nimport ZH from './zh-CN';\nimport EN from './en-US';\n\n// 参考文档:https://vue-i18n.intlify.dev/guide/migration/vue2.html#vue-i18n-bridge\nVue.use(VueI18n, { bridge: true });\n\nexport default createI18n({\n legacy: false,\n locale: getLanguage() || 'zh-CN',\n messages: {\n 'zh-CN': ZH,\n 'en-US': EN,\n },\n}, VueI18n);\n\nexport { useI18n };\n\n","import { defineStore } from 'pinia';\nimport { SpeechMode } from '../constants/room';\nimport { getLanguage } from '../utils/common';\nimport { LAYOUT } from '../constants/render';\nimport { isUndefined, isElectronEnv } from '../utils/utils';\nimport { isWeChat } from '../utils/useMediaValue';\n\ntype SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | '';\n\ninterface BasicState {\n sdkAppId: number,\n userId: string,\n userSig: string,\n userName: string,\n avatarUrl?: string,\n useStringRoomId: boolean,\n roomId: string,\n roomMode: 'FreeSpeech' | 'ApplySpeech',\n isSidebarOpen: boolean,\n showSettingDialog: boolean,\n showApplyUserList: boolean,\n activeSettingTab: string,\n layout: LAYOUT,\n isLocalStreamMirror: boolean,\n isFrontCamera: boolean,\n sidebarName: SideBarType,\n masterUserId: string,\n localQuality: number,\n // statistics: TRTCStatistics,\n lang: string,\n defaultTheme: string,\n isSupportSwitchTheme: boolean,\n showHeaderTool: boolean,\n shareLink: string,\n isRoomLinkVisible: boolean\n}\n\nexport const useBasicStore = defineStore('basic', {\n state: (): BasicState => ({\n sdkAppId: 0,\n userId: '',\n userSig: '',\n userName: '',\n avatarUrl: '',\n useStringRoomId: false,\n roomId: '',\n roomMode: 'FreeSpeech',\n isSidebarOpen: false,\n layout: LAYOUT.NINE_EQUAL_POINTS,\n showSettingDialog: false,\n showApplyUserList: false,\n activeSettingTab: 'audio',\n isLocalStreamMirror: true,\n isFrontCamera: true,\n sidebarName: '',\n masterUserId: '',\n localQuality: 0,\n // statistics: {\n // appCpu: 0,\n // downLoss: 0,\n // localStatisticsArray: [],\n // localStatisticsArraySize: 0,\n // receivedBytes: 0,\n // remoteStatisticsArray: [],\n // remoteStatisticsArraySize: 0,\n // rtt: 0,\n // sentBytes: 0,\n // systemCpu: 0,\n // upLoss: 0,\n // },\n lang: getLanguage(),\n defaultTheme: 'black',\n isSupportSwitchTheme: true,\n showHeaderTool: true,\n shareLink: '',\n isRoomLinkVisible: !isElectronEnv() && !isWeChat,\n }),\n getters: {\n // localVideoBitrate: (state) => {\n // const localStatistics = state.statistics.localStatisticsArray\n // .find(item => item.streamType === TRTCVideoStreamType.TRTCVideoStreamTypeBig);\n // if (localStatistics && localStatistics.videoBitrate) {\n // return localStatistics.videoBitrate;\n // }\n // return 0;\n // },\n // localFrameRate: (state) => {\n // const localStatistics = state.statistics.localStatisticsArray\n // .find(item => item.streamType === TRTCVideoStreamType.TRTCVideoStreamTypeBig);\n // if (localStatistics && localStatistics.frameRate) {\n // return localStatistics.frameRate;\n // }\n // return 0;\n // },\n },\n actions: {\n setSdkAppId(sdkAppId: number) {\n this.sdkAppId = sdkAppId;\n },\n setUserId(userId: string) {\n this.userId = userId;\n },\n setUserSig(userSig: string) {\n this.userSig = userSig;\n },\n setUserName(userName: string) {\n this.userName = userName;\n },\n setAvatarUrl(avatarUrl: string) {\n this.avatarUrl = avatarUrl;\n },\n setRoomId(roomId: string) {\n this.roomId = roomId;\n this.useStringRoomId = typeof roomId === 'string';\n },\n setRoomMode(mode: SpeechMode) {\n this.roomMode = mode;\n },\n setSidebarOpenStatus(isOpen: boolean) {\n this.isSidebarOpen = isOpen;\n },\n setSidebarName(name: SideBarType) {\n this.sidebarName = name;\n },\n setLayout(layout: LAYOUT) {\n this.layout = layout;\n },\n setShowSettingDialog(show: boolean) {\n this.showSettingDialog = show;\n },\n setShowApplyUserList(show: boolean) {\n this.showApplyUserList = show;\n },\n setActiveSettingTab(tabName: string) {\n this.activeSettingTab = tabName;\n },\n setIsLocalStreamMirror(mirror: boolean) {\n this.isLocalStreamMirror = mirror;\n },\n setIsFrontCamera(isFront: boolean) {\n this.isFrontCamera = isFront;\n },\n setDefaultTheme(defaultTheme: string) {\n this.defaultTheme = defaultTheme;\n },\n setIsSupportSwitchTheme(isSupportSwitchTheme: boolean) {\n this.isSupportSwitchTheme = isSupportSwitchTheme;\n },\n setShowHeaderTool(showHeaderTool: boolean) {\n this.showHeaderTool = showHeaderTool;\n },\n setShareLink(shareLink: string) {\n this.shareLink = shareLink;\n },\n setIsRoomLinkVisible(isRoomLinkVisible: boolean) {\n this.isRoomLinkVisible = isRoomLinkVisible;\n },\n setBasicInfo(infoObj: any) {\n if (!infoObj) {\n return;\n }\n const { sdkAppId, userId, userSig, userName, avatarUrl, roomId, theme, showHeaderTool } = infoObj;\n sdkAppId && this.setSdkAppId(sdkAppId);\n userId && this.setUserId(userId);\n userSig && this.setUserSig(userSig);\n userName && this.setUserName(userName);\n avatarUrl && this.setAvatarUrl(avatarUrl);\n roomId && this.setRoomId(roomId);\n theme && !isUndefined(theme.defaultTheme) && this.setDefaultTheme(theme.defaultTheme);\n theme && !isUndefined(theme.isSupportSwitchTheme) && this.setIsSupportSwitchTheme(theme.isSupportSwitchTheme);\n !isUndefined(showHeaderTool) && this.setShowHeaderTool(showHeaderTool);\n },\n setMasterUserId(userId: string) {\n this.masterUserId = userId;\n },\n setLocalQuality(userNetworkList: any[]) {\n const localUser = userNetworkList.find(item => item.userId === this.userId);\n this.localQuality = localUser.quality;\n },\n // setStatistics(statistics: TRTCStatistics) {\n // this.statistics = statistics;\n // },\n setLang(lang: string) {\n this.lang = lang;\n },\n reset() {\n this.isSidebarOpen = false;\n this.layout = LAYOUT.NINE_EQUAL_POINTS;\n this.showSettingDialog = false;\n this.activeSettingTab = 'audio';\n this.isLocalStreamMirror = true;\n this.sidebarName = '';\n this.masterUserId = '';\n this.localQuality = 0;\n this.roomId = '';\n this.sdkAppId = 0;\n this.userId = '';\n this.userSig = '';\n this.userName = '';\n this.avatarUrl = '';\n this.useStringRoomId = false;\n this.roomMode = 'FreeSpeech';\n this.showApplyUserList = false;\n this.isFrontCamera = true;\n this.defaultTheme = 'black';\n this.isSupportSwitchTheme = true;\n this.showHeaderTool = true;\n this.shareLink = '';\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { TUIRole, TUIVideoStreamType, TUIRoomInfo, TUIUserInfo, TUIVideoQuality, TUISeatInfo, TUISpeechMode } from '@tencentcloud/tuiroom-engine-js';\nimport { useBasicStore } from './basic';\nimport { isVue3 } from '../utils/constants';\nimport Vue from '../utils/vue';\nimport useGetRoomEngine from '../hooks/useRoomEngine';\n\nconst roomEngine = useGetRoomEngine();\n\nexport type StreamInfo = {\n userId: string,\n userName?: string,\n avatarUrl?: string,\n hasAudioStream?: boolean,\n hasVideoStream?: boolean,\n hasScreenStream?: boolean,\n audioVolume?: number,\n streamType: TUIVideoStreamType,\n isVisible: boolean,\n}\n\nexport type UserInfo = {\n userId: string,\n userName?: string,\n avatarUrl?: string,\n hasAudioStream?: boolean,\n hasVideoStream?: boolean,\n hasScreenStream?: boolean,\n isVideoVisible?: boolean,\n isScreenVisible?: boolean,\n userRole?: TUIRole,\n // 是否在麦上\n onSeat?: boolean,\n isChatMutedByMaster?: boolean,\n // 是否正在请求用户打开麦克风\n isRequestingUserOpenMic?: boolean,\n // 请求用户打开麦克风的 requestId\n requestUserOpenMicRequestId?: string,\n // 是否正在请求用户打开摄像头\n isRequestingUserOpenCamera?: boolean,\n // 请求用户打开摄像头的 requestId\n requestUserOpenCameraRequestId?: string,\n // 用户是否正在申请上麦\n isUserApplyingToAnchor?: boolean,\n // 用户申请上麦的 requestId\n applyToAnchorRequestId?: string,\n // 是否正在邀请用户上麦\n isInvitingUserToAnchor?: boolean,\n // 邀请用户上麦的 requestId\n inviteToAnchorRequestId?: string,\n audioVolume?: number,\n // cameraStreamInfo 和 screenStreamInfo 存在的意义时,流渲染保持使用同一个引用传递的数据\n // 避免出现大窗口和实际数据显示不一致的问题\n cameraStreamInfo: StreamInfo,\n screenStreamInfo: StreamInfo,\n}\n\ninterface RoomState {\n localUser: UserInfo,\n remoteUserObj: Record,\n isDefaultOpenCamera: boolean,\n isDefaultOpenMicrophone: boolean,\n // 主持人全员禁麦,但是单独取消某个用户音视频禁止状态的时候,是可以自己 unmute audio/video 的\n canControlSelfAudio: boolean,\n canControlSelfVideo: boolean,\n localVideoQuality: TUIVideoQuality,\n currentCameraId: string,\n currentMicrophoneId: string,\n currentSpeakerId: string,\n cameraList: object[],\n microphoneList: object[],\n speakerList: object[],\n masterUserId: string,\n isMicrophoneDisableForAllUser: boolean,\n isCameraDisableForAllUser: boolean,\n isMessageDisableForAllUser: boolean,\n speechMode: TUISpeechMode,\n maxMembersCount: number,\n hasVideoStreamObject: Record,\n currentStreamIdListInVisibleView: string[],\n hasOtherScreenShare: boolean,\n}\n\nexport const useRoomStore = defineStore('room', {\n state: (): RoomState => ({\n localUser: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: false,\n cameraStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: true,\n },\n screenStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: true,\n },\n },\n remoteUserObj: {},\n isDefaultOpenCamera: false,\n isDefaultOpenMicrophone: false,\n canControlSelfAudio: true,\n canControlSelfVideo: true,\n localVideoQuality: TUIVideoQuality.kVideoQuality_720p,\n currentCameraId: '',\n currentMicrophoneId: '',\n currentSpeakerId: '',\n cameraList: [],\n microphoneList: [],\n speakerList: [],\n masterUserId: '',\n isMicrophoneDisableForAllUser: false,\n isCameraDisableForAllUser: false,\n isMessageDisableForAllUser: false,\n speechMode: TUISpeechMode.kFreeToSpeak,\n maxMembersCount: 5, // 包含本地流和屏幕分享,超过该数目后续都播放小流\n hasVideoStreamObject: {},\n // 可视区域用户流列表\n currentStreamIdListInVisibleView: [],\n hasOtherScreenShare: false,\n }),\n getters: {\n // 当前用户是否是主持人\n isMaster(state) {\n return state.localUser.userId === state.masterUserId;\n },\n // 当前用户是否在麦上\n isAnchor(state) {\n if (this.isFreeSpeakMode) {\n return true;\n }\n if (this.isSpeakAfterTakingSeatMode) {\n return state.localUser.onSeat;\n }\n },\n // 当前用户是否是在麦下\n isAudience(state) {\n if (this.isFreeSpeakMode) {\n return false;\n }\n if (this.isSpeakAfterTakingSeatMode) {\n return !state.localUser.onSeat;\n }\n },\n isSpeakAfterTakingSeatMode(): boolean {\n return this.speechMode === TUISpeechMode.kSpeakAfterTakingSeat;\n },\n isFreeSpeakMode(): boolean {\n return this.speechMode === TUISpeechMode.kFreeToSpeak;\n },\n isLocalAudioIconDisable(): boolean {\n // 全员禁麦状态\n const micForbidden = !this.isMaster && !this.canControlSelfAudio;\n return micForbidden as any || this.isAudience;\n },\n isLocalVideoIconDisable(): boolean {\n // 全员禁画状态\n const cameraForbidden = !this.isMaster && !this.canControlSelfVideo;\n return cameraForbidden as any || this.isAudience;\n },\n localStream: (state) => {\n const { userId, userName, avatarUrl, hasAudioStream, hasVideoStream, audioVolume } = state.localUser;\n Object.assign(\n state.localUser.cameraStreamInfo,\n { userId, userName, avatarUrl, hasAudioStream, hasVideoStream, audioVolume },\n );\n return state.localUser.cameraStreamInfo;\n },\n remoteStreamObj: (state) => {\n const obj: Record = {};\n [...Object.values(state.remoteUserObj)].forEach((userInfo) => {\n const {\n userId,\n avatarUrl,\n userName,\n onSeat,\n hasAudioStream,\n hasVideoStream,\n hasScreenStream,\n audioVolume,\n isVideoVisible,\n isScreenVisible,\n } = userInfo;\n if (onSeat) {\n obj[`${userId}_${TUIVideoStreamType.kCameraStream}`] = Object.assign(userInfo.cameraStreamInfo, { userId, avatarUrl, userName, hasAudioStream, hasVideoStream, audioVolume, streamType: TUIVideoStreamType.kCameraStream, isVisible: isVideoVisible });\n }\n if (hasScreenStream) {\n obj[`${userId}_${TUIVideoStreamType.kScreenStream}`] = Object.assign(userInfo.screenStreamInfo, { userId, avatarUrl, userName, hasScreenStream, streamType: TUIVideoStreamType.kScreenStream, isVisible: isScreenVisible });\n }\n });\n return obj;\n },\n remoteStreamList(): Array {\n return [...Object.values(this.remoteStreamObj)];\n },\n streamList(): Array {\n return [this.localStream, ...Object.values(this.remoteStreamObj)];\n },\n streamNumber(): number {\n return this.streamList.length;\n },\n remoteAnchorList: state => [...Object.values(state.remoteUserObj)].filter(item => item.onSeat),\n userList: state => [state.localUser, ...Object.values(state.remoteUserObj)],\n userNumber(): number {\n return this.userList.length;\n },\n applyToAnchorList: state => [...Object.values(state.remoteUserObj)]\n .filter(item => item.isUserApplyingToAnchor) || [],\n defaultStreamType(): TUIVideoStreamType {\n return Object.keys(this.hasVideoStreamObject).length > this.maxMembersCount\n ? TUIVideoStreamType.kCameraStreamLow : TUIVideoStreamType.kCameraStream;\n },\n },\n actions: {\n setLocalUser(obj: Record) {\n Object.assign(this.localUser, obj);\n },\n updateLocalStream(obj: Record) {\n Object.assign(this.localStream, obj);\n },\n getUserName(userId: string) {\n if (userId === this.localUser.userId) {\n return this.localUser.userName || userId;\n }\n return this.remoteUserObj[userId]?.userName || userId;\n },\n getNewUserInfo(userId: string) {\n const newUserInfo = {\n userId,\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n isVideoVisible: false,\n isScreenVisible: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: !this.isSpeakAfterTakingSeatMode,\n cameraStreamInfo: {\n userId,\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: false,\n },\n screenStreamInfo: {\n userId,\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: false,\n },\n };\n // 本端为主持人,则记录用户禁言禁画, 申请发言等信息\n if (this.isMaster) {\n Object.assign(newUserInfo, {\n isChatMutedByMaster: false,\n isUserApplyingToAnchor: false,\n isInvitingUserToAnchor: false,\n });\n }\n return newUserInfo;\n },\n setUserList(userList: any[]) {\n userList.forEach((user) => {\n if (user.userId === this.localUser.userId) {\n Object.assign(this.localUser, user);\n return;\n }\n if (this.remoteUserObj[user.userId]) {\n Object.assign(this.remoteUserObj[user.userId], user);\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(user.userId), user);\n if (isVue3) {\n this.remoteUserObj[user.userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, user.userId, newUserInfo);\n }\n }\n });\n },\n // 远端用户进入房间(IM事件)\n addRemoteUser(userInfo: TUIUserInfo) {\n const { userId } = userInfo;\n const basicStore = useBasicStore();\n if (!userId || userId === basicStore.userId) {\n return;\n }\n if (this.remoteUserObj[userId]) {\n Object.assign(this.remoteUserObj[userId], userInfo);\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), userInfo);\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n }\n },\n updateRemoteUser(userId: string, newUserInfo: { nick: string, avatar: string }) {\n const remoteUser = this.remoteUserObj[userId];\n if (!remoteUser) {\n return;\n }\n const { nick, avatar } = newUserInfo;\n Object.assign(remoteUser, { userName: nick, avatarUrl: avatar });\n },\n // 更新 seatList 的变更\n // 进入房间后会立即通知 onSeatListChanged, onUserVideoAvailable,onUserAudioAvailable 事件,因此先更新到 userMap 中\n // 等待 getUserList 获取到全部用户列表后再做更新\n updateOnSeatList(seatList: TUISeatInfo[], seatedList: TUISeatInfo[], leftList: TUISeatInfo[]) {\n if (JSON.stringify(this.remoteUserObj) === '{}') {\n seatList.forEach((seat) => {\n const { userId } = seat;\n if (userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: true });\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), { onSeat: true });\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n };\n });\n } else {\n seatedList.forEach((seat) => {\n const { userId } = seat;\n if (userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: true });\n } else {\n const user = this.remoteUserObj[userId];\n if (user) {\n Object.assign(user, { onSeat: true });\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), { onSeat: true });\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n }\n };\n });\n leftList.forEach((seat) => {\n if (seat.userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: false });\n } else {\n const user = this.remoteUserObj[seat.userId];\n user && Object.assign(user, { onSeat: false });\n };\n });\n }\n },\n updateUserVideoState(userId: string, streamType: TUIVideoStreamType, hasVideo: boolean) {\n const basicStore = useBasicStore();\n let user = userId === basicStore.userId ? this.localUser : this.remoteUserObj[userId];\n // 需要判断 hasVideo 是否为 true,避免视频取消事件在 onRemoteUserLeaveRoom 之后抛出的情况\n if (!user && hasVideo) {\n user = this.getNewUserInfo(userId);\n if (isVue3) {\n this.remoteUserObj[userId] = user;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, user);\n }\n }\n if (user) {\n this.updatehasVideoStreamObject(user, hasVideo, userId === basicStore.userId);\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.hasVideoStream = hasVideo;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.hasScreenStream = hasVideo;\n }\n }\n },\n updatehasVideoStreamObject(userInfo: UserInfo, hasVideo: boolean, isSelf: boolean) {\n if (isSelf) return;\n const { userId, cameraStreamInfo, screenStreamInfo, hasVideoStream } = userInfo;\n const streamId = `${userId}_${hasVideoStream ? cameraStreamInfo.streamType : screenStreamInfo.streamType}`;\n if (hasVideo) {\n if (isVue3) {\n this.hasVideoStreamObject[streamId] = userInfo;\n } else {\n // @ts-ignore\n Vue.set(this.hasVideoStreamObject, streamId, userInfo);\n }\n } else {\n if (isVue3) {\n delete this.hasVideoStreamObject[streamId];\n } else {\n // @ts-ignore\n Vue.delete(this.hasVideoStreamObject, streamId);\n }\n }\n },\n updateUserAudioState(userId: string, hasAudio: boolean) {\n const basicStore = useBasicStore();\n let user = userId === basicStore.userId ? this.localUser : this.remoteUserObj[userId];\n // 需要判断 hasAudio 是否为 true,避免音频取消事件在 onRemoteUserLeaveRoom 之后抛出的情况\n if (!user && hasAudio) {\n user = this.getNewUserInfo(userId);\n if (isVue3) {\n this.remoteUserObj[userId] = user;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, user);\n }\n }\n if (user) {\n user.hasAudioStream = hasAudio;\n }\n },\n\n removeRemoteUser(userId: string) {\n const basicStore = useBasicStore();\n if (!userId || userId === basicStore.userId) {\n return;\n }\n if (isVue3) {\n delete this.remoteUserObj[userId];\n } else {\n // @ts-ignore\n Vue.delete(this.remoteUserObj, userId);\n }\n },\n\n updateUserStreamVisible(streamIdList: string[]) {\n streamIdList.forEach((item) => {\n const userId = item.slice(0, item.length - 2);\n const streamType = Number(item.slice(-1)) as TUIVideoStreamType;\n if (userId === this.localUser.userId) {\n return;\n }\n const user = this.remoteUserObj[userId];\n if (!user) {\n return;\n }\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.isVideoVisible = true;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.isScreenVisible = true;\n }\n });\n // 在新的 streamIdList 里面没有的流, isVideoVisible 要设置为 false\n this.currentStreamIdListInVisibleView.forEach((item: string) => {\n const userId = item.slice(0, item.length - 2);\n const streamType = Number(item.slice(-1)) as TUIVideoStreamType;\n if (streamIdList.indexOf(item) < 0) {\n const user = this.remoteUserObj[userId];\n if (!user) {\n return;\n }\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.isVideoVisible = false;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.isScreenVisible = false;\n }\n }\n });\n this.currentStreamIdListInVisibleView = streamIdList;\n },\n\n setAudioVolume(audioVolumeArray: []) {\n const basicStore = useBasicStore();\n audioVolumeArray.forEach((audioVolumeItem: any) => {\n const { userId, volume } = audioVolumeItem;\n if (userId === basicStore.userId || userId === '') {\n this.localUser.audioVolume = volume;\n } else {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.audioVolume = volume;\n }\n }\n });\n },\n setCurrentCameraId(deviceId: string) {\n this.currentCameraId = deviceId;\n },\n setCurrentMicrophoneId(deviceId: string) {\n this.currentMicrophoneId = deviceId;\n },\n setCurrentSpeakerId(deviceId: string) {\n this.currentSpeakerId = deviceId;\n },\n setRoomInfo(roomInfo: TUIRoomInfo) {\n const { roomOwner, isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser, isMessageDisableForAllUser, speechMode } = roomInfo;\n if (this.localUser.userId === roomOwner) {\n this.localUser.userRole = TUIRole.kRoomOwner;\n }\n\n this.masterUserId = roomOwner;\n this.isMicrophoneDisableForAllUser = isMicrophoneDisableForAllUser;\n this.isCameraDisableForAllUser = isCameraDisableForAllUser;\n this.isMessageDisableForAllUser = isMessageDisableForAllUser;\n this.speechMode = speechMode;\n this.canControlSelfAudio = !this.isMicrophoneDisableForAllUser;\n this.canControlSelfVideo = !this.isCameraDisableForAllUser;\n },\n setDisableMicrophoneForAllUserByAdmin(isDisable: boolean) {\n this.isMicrophoneDisableForAllUser = isDisable;\n },\n setDisableCameraForAllUserByAdmin(isDisable: boolean) {\n this.isCameraDisableForAllUser = isDisable;\n },\n setDisableMessageAllUserByAdmin(isDisable: boolean) {\n this.isMessageDisableForAllUser = isDisable;\n },\n setMasterUserId(userId: string) {\n this.masterUserId = userId;\n },\n setRoomParam(roomParam: any) {\n if (!roomParam) {\n return;\n }\n const { isOpenCamera, isOpenMicrophone, defaultCameraId, defaultMicrophoneId, defaultSpeakerId } = roomParam;\n if (defaultCameraId) {\n this.setCurrentCameraId(defaultCameraId);\n roomEngine.instance?.setCurrentCameraDevice({ deviceId: defaultCameraId });\n }\n if (defaultMicrophoneId) {\n this.setCurrentMicrophoneId(defaultMicrophoneId);\n roomEngine.instance?.setCurrentMicDevice({ deviceId: defaultMicrophoneId });\n }\n if (defaultSpeakerId) {\n this.setCurrentSpeakerId(defaultSpeakerId);\n roomEngine.instance?.setCurrentSpeakerDevice({ deviceId: defaultSpeakerId });\n }\n // 如果已经开启全员禁言/当前为申请发言模式,则忽略默认打开麦克风的设置\n if (this.isMaster || (!this.isMicrophoneDisableForAllUser\n && this.isFreeSpeakMode)) {\n typeof isOpenMicrophone === 'boolean' && (this.isDefaultOpenMicrophone = isOpenMicrophone);\n }\n // 如果已经开启全员禁画/当前为申请发言模式,则忽略默认打开摄像头的设置\n if (this.isMaster || (!this.isCameraDisableForAllUser\n && this.isFreeSpeakMode)) {\n typeof isOpenCamera === 'boolean' && (this.isDefaultOpenCamera = isOpenCamera);\n }\n },\n setCanControlSelfAudio(capability: boolean) {\n this.canControlSelfAudio = capability;\n },\n setCanControlSelfVideo(capability: boolean) {\n this.canControlSelfVideo = capability;\n },\n updateVideoQuality(quality: TUIVideoQuality) {\n this.localVideoQuality = quality;\n },\n setCameraList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.cameraList = deviceList;\n if (!this.currentCameraId && deviceList.length > 0) {\n this.setCurrentCameraId(deviceList[0].deviceId);\n }\n },\n setMicrophoneList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.microphoneList = deviceList;\n if (!this.currentMicrophoneId && deviceList.length > 0) {\n this.setCurrentMicrophoneId(deviceList[0].deviceId);\n }\n },\n setSpeakerList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.speakerList = deviceList;\n if (!this.currentSpeakerId && deviceList.length > 0) {\n this.setCurrentSpeakerId(deviceList[0].deviceId);\n }\n },\n // 全员禁麦/取消禁麦时设置所有人的禁麦状态\n setMicrophoneDisableState(isDisable: boolean) {\n this.isMicrophoneDisableForAllUser = isDisable;\n },\n // 全员禁画/取消禁画时设置所有人的禁画状态\n setCameraDisableState(isDisable: boolean) {\n this.isCameraDisableForAllUser = isDisable;\n },\n // 主持人单个修改用户的发文字消息 mute 状态\n setMuteUserChat(userId: string, muted: boolean) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isChatMutedByMaster = muted;\n }\n },\n setRemoteUserRole(userId: string, role: TUIRole) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.userRole = role;\n }\n },\n setRequestUserOpenMic(options: { userId: string, isRequesting: boolean, requestId?: string }) {\n const { userId, isRequesting, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isRequestingUserOpenMic = isRequesting;\n remoteUserInfo.requestUserOpenMicRequestId = isRequesting ? requestId : '';\n }\n },\n setRequestUserOpenCamera(options: { userId: string, isRequesting: boolean, requestId?: string }) {\n const { userId, isRequesting, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isRequestingUserOpenCamera = isRequesting;\n remoteUserInfo.requestUserOpenCameraRequestId = isRequesting ? requestId : '';\n }\n },\n addApplyToAnchorUser(options: { userId: string, requestId: string }) {\n const { userId, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isUserApplyingToAnchor = true;\n remoteUserInfo.applyToAnchorRequestId = requestId;\n }\n },\n removeApplyToAnchorUser(userId: string) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isUserApplyingToAnchor = false;\n remoteUserInfo.applyToAnchorRequestId = '';\n }\n },\n addInviteToAnchorUser(options: { userId: string, requestId: string }) {\n const { userId, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isInvitingUserToAnchor = true;\n remoteUserInfo.inviteToAnchorRequestId = requestId;\n }\n },\n removeInviteToAnchorUser(userId: string) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isInvitingUserToAnchor = false;\n remoteUserInfo.inviteToAnchorRequestId = '';\n }\n },\n setHasOtherScreenShare(hasScreenShare: boolean) {\n this.hasOtherScreenShare = hasScreenShare;\n },\n reset() {\n this.localUser = {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: false,\n cameraStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: true,\n },\n screenStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: true,\n },\n };\n this.remoteUserObj = {};\n this.isDefaultOpenCamera = false;\n this.isDefaultOpenMicrophone = false;\n this.canControlSelfAudio = true;\n this.canControlSelfVideo = true;\n this.localVideoQuality = TUIVideoQuality.kVideoQuality_720p;\n this.currentCameraId = '';\n this.currentMicrophoneId = '';\n this.currentSpeakerId = '';\n this.cameraList = [];\n this.microphoneList = [];\n this.speakerList = [];\n this.masterUserId = '';\n this.isMicrophoneDisableForAllUser = false;\n this.isCameraDisableForAllUser = false;\n this.isMessageDisableForAllUser = false;\n this.speechMode = TUISpeechMode.kFreeToSpeak;\n this.hasVideoStreamObject = {};\n this.hasOtherScreenShare = false;\n },\n },\n});\n","import { getUrlParam } from './utils';\n\n/**\n * 获取语言\n * @returns language\n */\nexport function getLanguage() {\n let language = getUrlParam('lang') || localStorage.getItem('tuiRoom-language') || navigator.language || 'zh';\n language = language.replace(/_/, '-').toLowerCase();\n\n if (language === 'zh-cn' || language === 'zh') {\n language = 'zh-CN';\n } else if (language === 'en' || language === 'en-us' || language === 'en-GB') {\n language = 'en-US';\n }\n return language;\n}\n\n/**\n * 判断字符串是否是数字\n * @returns boolean\n */\nexport function checkNumber(roomId: string) {\n const reg = /^\\d+$/;\n return reg.test(roomId);\n}\n","/**\n * 这个常量定义模块,即用于 main 目录下各个 ts 模块,也用 main/preload.js 模块,\n * 此处定义为 node.js module 格式,以上两类模块都可使用。\n *\n * 如果此处定义为 ES 6 模块(使用 import/export ),则 preload.js 模块无法使用,\n * 原因是 preload.js 文件是一个原生 node.js module 执行文件,后续如果 preload.js\n * 承担职责过多,代码复杂度较大,可以考虑使用。\n */\nexport enum EUserEventNames {\n ON_CHANGE_LOG_LEVEL = 'onChangeLogLevel',\n}\n\nexport default {\n EUserEventNames,\n};\n","export const LogLevelType = {\n LOG_LEVEL_DEBUG: -1,\n LOG_LEVEL_LOG: 0,\n LOG_LEVEL_INFO: 1,\n LOG_LEVEL_WARN: 2,\n LOG_LEVEL_ERROR: 3,\n LOG_LEVEL_NON_LOGGING: 4, // 无日志记录级别,将不打印任何日志\n};\n\nexport enum LogContext {\n MAIN = 'main-process',\n RENDER = 'render-process',\n}\n\nfunction padMs(ms: number) {\n const len = ms.toString().length;\n let ret;\n switch (len) {\n case 1:\n ret = `00${ms}`;\n break;\n case 2:\n ret = `0${ms}`;\n break;\n default:\n ret = ms;\n break;\n }\n\n return ret;\n}\n\nexport function getLogPrefix(context: LogContext) {\n const date = new Date();\n return `${date.toLocaleTimeString('en-US', {\n hour12: false,\n })}.${padMs(date.getMilliseconds())} [${context}]:`;\n}\n","/*\n * @Description: logger\n * @Date: 2022-04-11 19:39:55\n * @LastEditTime: 2022-04-12 11:37:24\n */\nimport { EUserEventNames } from './logger-constants';\nimport { LogLevelType, LogContext, getLogPrefix } from './logger-utils';\n\nlet currentLogLevel = LogLevelType.LOG_LEVEL_DEBUG;\n\nconst logger = {\n debug(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_DEBUG) {\n console.debug(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n log(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_LOG) {\n console.log(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n info(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_INFO) {\n console.info(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n warn(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_WARN) {\n console.warn(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n error(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_ERROR) {\n console.error(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n setLevel(newLevel: number) {\n if (\n newLevel >= LogLevelType.LOG_LEVEL_DEBUG &&\n newLevel <= LogLevelType.LOG_LEVEL_NON_LOGGING\n ) {\n console.log(\n `${getLogPrefix(\n LogContext.RENDER\n )} set log level from ${currentLogLevel} to ${newLevel}`\n );\n currentLogLevel = newLevel;\n\n // 通知主进程\n if ((window as any).electron?.ipcRenderer) {\n (window as any).electron.ipcRenderer.send(\n EUserEventNames.ON_CHANGE_LOG_LEVEL,\n newLevel\n );\n }\n } else {\n console.error(\n `${getLogPrefix(\n LogContext.RENDER\n )} logger.setLevel() invalid params:${newLevel}`\n );\n }\n },\n getLevel() {\n return currentLogLevel;\n },\n};\n\nexport default logger;\n","\nimport * as Vue from 'vue';\n\nexport const isVue27 = /^2\\.7\\.*/.test(Vue.version); // 是否是 Vue2.7 版本\n\nexport const isVue3 = /^3\\.*/.test(Vue.version); // 是否是 Vue3 版本\n\n// @ts-ignore\nexport const isInnerScene = import.meta && import.meta.env && import.meta.env.VITE_RUNTIME_SCENE === 'inner';\n","declare let wx: any;\nexport const isWeChat = (typeof wx !== 'undefined' && typeof wx.getSystemInfoSync === 'function' && Boolean(wx.getSystemInfoSync().fontSizeSetting));\nexport const isMobile = window?.matchMedia('(max-width: 600px)').matches || isWeChat;\n","import { isWeChat } from './useMediaValue';\ndeclare let uni: any;\n\nexport const clipBoard = (data: any): Promise<{\n code: number,\n data?: any,\n err?: any\n}> => new Promise((resolve, reject) => {\n if (!isWeChat) {\n try {\n navigator.clipboard.writeText(`${data}`);\n resolve({ code: 0, data });\n } catch (err) {\n reject({ code: -1, err });\n }\n return;\n }\n uni.setClipboardData({\n data,\n success() {\n uni.getClipboardData({\n success(data: any) {\n resolve({ code: 0, data });\n },\n fail(err: any) {\n reject({ code: -1, err });\n },\n });\n },\n fail(err: any) {\n reject({ code: -1, err });\n },\n });\n});\n\n\n","\n\n/**\n * 防抖函数\n * @param {*} fn 要执行的函数\n * @param {*} delay 间隔时间\n * @returns function\n */\nexport function debounce(fn: { apply: (arg0: any, arg1: any) => void; }, delay: number | undefined) {\n let timer: number;\n return function (this:any, ...args: any) {\n if (timer > 0) {\n clearTimeout(timer);\n }\n timer = window?.setTimeout(() => {\n fn.apply(this, args);\n timer = -1;\n }, delay);\n };\n}\n\n/**\n * 节流函数\n * @param {*} fn 要执行的函数\n * @param {*} delay 间隔时间\n * @returns function\n */\nexport function throttle(fn: { apply: (arg0: any, arg1: any[]) => void; }, delay: number) {\n let previousTime = 0;\n return function (this:any, ...args: any[]) {\n // eslint-disable-next-line prefer-rest-params\n const now = Date.now();\n if (now - previousTime > delay) {\n fn.apply(this, args);\n previousTime = now;\n }\n };\n};\n\n/**\n * 将 dom 元素全屏\n * @param {dom} element dom元素\n * @example\n * setFullscreen(document.documentElement) // 整个页面进入全屏\n * setFullscreen(document.getElementById(\"id\")) // 某个元素进入全屏\n */\nexport function setFullScreen(element: HTMLElement) {\n const fullScreenElement = element as HTMLElement & {\n mozRequestFullScreen(): Promise;\n msRequestFullscreen(): Promise;\n webkitRequestFullScreen(): Promise;\n };\n if (fullScreenElement?.requestFullscreen) {\n fullScreenElement?.requestFullscreen();\n // 兼容Firefox\n } else if (fullScreenElement?.mozRequestFullScreen) {\n fullScreenElement?.mozRequestFullScreen();\n // 兼容 chrome,safari,opera等\n } else if (fullScreenElement?.webkitRequestFullScreen) {\n fullScreenElement?.webkitRequestFullScreen();\n // 兼容IE/Edge\n } else if (fullScreenElement?.msRequestFullscreen) {\n fullScreenElement?.msRequestFullscreen();\n }\n}\n\n/**\n * 退出全屏\n * @example\n * exitFullscreen();\n */\nexport function exitFullScreen() {\n if (!document?.fullscreenElement\n && !(document as any)?.webkitFullscreenElement && !(document as any)?.mozFullScreenElement) {\n return;\n }\n const exitFullScreenDocument = document as Document & {\n mozCancelFullScreen(): Promise;\n msExitFullscreen(): Promise;\n webkitExitFullscreen(): Promise;\n };\n if (exitFullScreenDocument?.exitFullscreen) {\n exitFullScreenDocument?.exitFullscreen();\n } else if (exitFullScreenDocument?.msExitFullscreen) {\n exitFullScreenDocument?.msExitFullscreen();\n } else if (exitFullScreenDocument?.mozCancelFullScreen) {\n exitFullScreenDocument?.mozCancelFullScreen();\n } else if (exitFullScreenDocument?.webkitExitFullscreen) {\n exitFullScreenDocument?.webkitExitFullscreen();\n }\n}\n\n\n/**\n * 从 window.location.href 中获取指定key的value\n * @param {*} key 要获取的 key\n * @returns window.location.href 中指定key对应的value\n * @example\n * const value = getUrlParam(key);\n */\nexport function getUrlParam(key: string) {\n const url = window?.location.href.replace(/^[^?]*\\?/, '');\n const regexp = new RegExp(`(^|&)${key}=([^&#]*)(&|$|)`, 'i');\n const paramMatch = url?.match(regexp);\n\n return paramMatch ? paramMatch[2] : null;\n}\n\n\n/**\n * 深拷贝\n * @param data 任意类型的 data 原数据\n * @returns 深拷贝之后的数据\n */\nexport function deepClone(data: any) {\n let res: any = null;\n const reference = [Date, RegExp, Set, WeakSet, Map, WeakMap, Error];\n if (reference.includes(data?.constructor)) {\n res = new data.constructor(data);\n } else if (Array.isArray(data)) {\n res = [];\n data.forEach((e, i) => {\n res[i] = deepClone(e);\n });\n } else if (typeof data === 'object' && data !== null) {\n res = {};\n Object.keys(data).forEach((key) => {\n if (Object.hasOwnProperty.call(data, key)) {\n res[key] = deepClone(data[key]);\n }\n });\n } else {\n res = data;\n }\n return res;\n}\n\nexport function isElectronEnv() {\n const userAgent = navigator?.userAgent.toLowerCase();\n return userAgent?.indexOf(' electron/') > -1;\n}\n\nexport function isUndefined(value: any) {\n return typeof value === 'undefined';\n}\n\nexport { clipBoard } from './adapter';\n","import Vue from 'vue';\n\nexport default Vue;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2df3f510&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&id=2df3f510&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport ElementUI from 'element-ui';\nimport 'element-ui/lib/theme-chalk/index.css';\nimport i18n from './TUIRoom/locales/';\n\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n\nVue.use(ElementUI);\nVue.use(i18n);\n\nVue.config.productionTip = false;\n\nnew Vue({\n pinia,\n // @ts-ignore\n router,\n render: h => h(App),\n}).$mount('#app');\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-container\"},[_c('div',{staticClass:\"header\"},[_c('user-info',{staticClass:\"header-item user-info\",attrs:{\"user-id\":_vm.userId,\"user-name\":_vm.userName,\"user-avatar\":_vm.userAvatar},on:{\"log-out\":_vm.handleLogOut}}),_c('language-icon',{staticClass:\"header-item language\"}),_c('switch-theme',{staticClass:\"header-item theme\"})],1),(!_vm.isMobile)?_c('stream-preview',{ref:\"streamPreviewRef\"}):_vm._e(),_c('room-control',{ref:\"roomControlRef\",attrs:{\"given-room-id\":_vm.givenRoomId,\"user-name\":_vm.userName || _vm.userId},on:{\"create-room\":_vm.handleCreateRoom,\"enter-room\":_vm.handleEnterRoom}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_setup.loading),expression:\"loading\"}],staticClass:\"stream-container\",attrs:{\"element-loading-background\":\"#000000\"}},[_c('div',{ref:\"streamPreviewRef\",staticClass:\"stream-preview\",attrs:{\"id\":\"stream-preview\"}}),(_setup.isCameraMuted)?_c('div',{staticClass:\"stream-info\"},[_c('span',{staticClass:\"attention-info\"},[_vm._v(_vm._s(_setup.t('Off Camera')))])]):_vm._e(),_c('div',{staticClass:\"control-region\"},[_c(_setup.IconButton,{ref:\"audioIconButtonRef\",attrs:{\"title\":_setup.t('Mic'),\"is-active\":_setup.isMicMuted,\"hide-hover-effect\":true,\"has-more\":true},on:{\"click-icon\":_setup.toggleMuteAudio,\"click-more\":_setup.handleMicSetting}},[_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_setup.audioVolume,\"is-muted\":_setup.isMicMuted}})],1),_c(_setup.IconButton,{ref:\"videoIconButtonRef\",staticClass:\"icon\",attrs:{\"title\":_setup.t('Camera'),\"is-active\":_setup.isCameraMuted,\"icon-name\":_setup.cameraIconName,\"hide-hover-effect\":true,\"has-more\":true},on:{\"click-icon\":_setup.toggleMuteVideo,\"click-more\":_setup.handleCameraSetting}})],1)]),_c('div',{staticClass:\"drawer-container\"},[_c(_setup.Drawer,{attrs:{\"model-value\":_setup.isSettingOpen,\"modal\":false,\"title\":_setup.t(_setup.settingTitle),\"direction\":\"rtl\",\"before-close\":_setup.handleDrawerClose,\"size\":480}},[(_setup.settingTab === 'audio')?_c(_setup.AudioSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL}}):(_setup.settingTab === 'video')?_c(_setup.VideoSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL,\"with-preview\":false}}):_vm._e()],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onBeforeUnmount } from 'vue';\nimport TUIRoomEngine, { TUIRoomEvents, TRTCDeviceType, TRTCDeviceState } from '@tencentcloud/tuiroom-engine-js';\nimport IconButton from '../common/IconButton.vue';\nimport { SettingMode } from '../../constants/render';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\nimport AudioIcon from '../base/AudioIcon.vue';\nimport { useRoomStore } from '../../stores/room';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { isElectronEnv } from '../../utils/utils';\nimport Drawer from '../../elementComp/Drawer.vue';\nimport { ElMessageBox } from '../../elementComp/index';\nimport logger from '../../utils/common/logger';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamPreview',\n setup(__props, { expose }) {\n\nconst roomStore = useRoomStore();\nconst { t } = useI18n();\n\nconst audioVolume = ref(0);\nconst isElectron = isElectronEnv();\nconst roomEngine = useGetRoomEngine();\n\nexpose({\n getRoomParam,\n startStreamPreview,\n});\n\nconst tuiRoomParam = {\n isOpenCamera: true,\n isOpenMicrophone: true,\n defaultCameraId: '',\n defaultMicrophoneId: '',\n defaultSpeakerId: '',\n};\n\nconst streamPreviewRef = ref();\nconst loading = ref(true);\n\nconst isMicMuted = ref(false);\nconst isCameraMuted = ref(false);\n\nconst cameraIconName = computed(() => (isCameraMuted.value ? ICON_NAME.CameraOff : ICON_NAME.CameraOn));\n\nasync function toggleMuteAudio() {\n isMicMuted.value = !isMicMuted.value;\n tuiRoomParam.isOpenMicrophone = !isMicMuted.value;\n if (isMicMuted.value) {\n await roomEngine.instance?.stopMicDeviceTest();\n audioVolume.value = 0;\n } else {\n await roomEngine.instance?.startMicDeviceTest({ interval: 200 });\n }\n}\n\nasync function toggleMuteVideo() {\n isCameraMuted.value = !isCameraMuted.value;\n tuiRoomParam.isOpenCamera = !isCameraMuted.value;\n if (isCameraMuted.value) {\n await roomEngine.instance?.stopCameraDeviceTest();\n } else {\n await roomEngine.instance?.startCameraDeviceTest({\n view: 'stream-preview',\n });\n }\n}\n\nfunction getRoomParam() {\n tuiRoomParam.defaultCameraId = roomStore.currentCameraId;\n tuiRoomParam.defaultMicrophoneId = roomStore.currentMicrophoneId;\n tuiRoomParam.defaultSpeakerId = roomStore.currentSpeakerId;\n return tuiRoomParam;\n}\n\nconst onUserVoiceVolume = (result: any) => {\n audioVolume.value = result;\n};\n\nasync function startStreamPreview() {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n\n const hasCameraDevice = cameraList && cameraList.length > 0;\n const hasMicrophoneDevice = microphoneList && microphoneList.length > 0;\n let alertMessage = '';\n if (hasCameraDevice && !hasMicrophoneDevice) {\n alertMessage = 'Microphone not detected on current device';\n } else if (!hasCameraDevice && hasMicrophoneDevice) {\n alertMessage = 'Camera not detected on current device';\n } else if (!hasCameraDevice && !hasMicrophoneDevice) {\n alertMessage = 'Camera And Microphone not detected on current device';\n }\n if (alertMessage) {\n ElMessageBox.alert(t(alertMessage), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm') });\n }\n\n cameraList && roomStore.setCameraList(cameraList);\n microphoneList && roomStore.setMicrophoneList(microphoneList);\n speakerList && roomStore.setSpeakerList(speakerList);\n const cameraInfo = roomEngine.instance?.getCurrentCameraDevice();\n const micInfo = roomEngine.instance?.getCurrentMicDevice();\n const speakerInfo = roomEngine.instance?.getCurrentSpeakerDevice();\n if (cameraInfo && cameraInfo.deviceId) {\n roomStore.setCurrentCameraId(cameraInfo.deviceId);\n }\n if (micInfo && micInfo.deviceId) {\n roomStore.setCurrentMicrophoneId(micInfo.deviceId);\n }\n if (speakerInfo && speakerInfo.deviceId) {\n roomStore.setCurrentSpeakerId(speakerInfo.deviceId);\n }\n\n if (hasCameraDevice) {\n await roomEngine.instance?.startCameraDeviceTest({ view: 'stream-preview' });\n }\n if (hasMicrophoneDevice) {\n await roomEngine.instance?.startMicDeviceTest({ interval: 200 });\n }\n loading.value = false;\n}\n\n\n/**\n * Device changes: device switching, device plugging and unplugging events\n *\n * 设备变化:设备切换、设备插拔事件\n **/\nasync function onDeviceChange(eventInfo: {deviceId: string, type: number, state: number}) {\n const stateList = ['add', 'remove', 'active'];\n const { deviceId, type, state } = eventInfo;\n if (type === TRTCDeviceType.TRTCDeviceTypeMic) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: microphone, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getMicDevicesList();\n roomStore.setMicrophoneList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentMicrophoneId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeSpeaker) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: speaker, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getSpeakerDevicesList();\n roomStore.setSpeakerList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentSpeakerId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeCamera) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: camera, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getCameraDevicesList();\n roomStore.setCameraList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentCameraId(deviceId);\n }\n }\n}\n\nTUIRoomEngine.once('ready', async () => {\n // 兼容没有打开音频前,roomEngine 没有抛出音量事件的问题\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.on('onTestMicVolume', onUserVoiceVolume);\n\n roomEngine.instance?.on(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\nonBeforeUnmount(async () => {\n await roomEngine.instance?.stopCameraDeviceTest();\n await roomEngine.instance?.stopMicDeviceTest();\n\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.off('onTestMicVolume', onUserVoiceVolume);\n roomEngine.instance?.off(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\n/**\n * Handles audio and video device settings\n *\n * 处理音视频设备设置\n **/\nconst isSettingOpen = ref(false);\nconst settingTitle = ref('');\nconst settingTab = ref('');\n\n/**\n * Handling audio device settings\n *\n * 处理音频设备设置\n **/\nfunction handleMicSetting() {\n isSettingOpen.value = true;\n settingTitle.value = 'Mic settings';\n settingTab.value = 'audio';\n}\n\n/**\n * Handling video device settings\n *\n * 处理视频设备设置\n **/\nfunction handleCameraSetting() {\n isSettingOpen.value = true;\n settingTitle.value = 'Camera settings';\n settingTab.value = 'video';\n}\n\nfunction handleDrawerClose(done: any) {\n settingTab.value = '';\n isSettingOpen.value = false;\n done();\n}\n\n\nreturn { __sfc: true,roomStore, t, audioVolume, isElectron, roomEngine, tuiRoomParam, streamPreviewRef, loading, isMicMuted, isCameraMuted, cameraIconName, toggleMuteAudio, toggleMuteVideo, getRoomParam, onUserVoiceVolume, startStreamPreview, onDeviceChange, isSettingOpen, settingTitle, settingTab, handleMicSetting, handleCameraSetting, handleDrawerClose, IconButton, SettingMode, AudioSettingTab, VideoSettingTab, AudioIcon, Drawer }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamPreview.vue?vue&type=template&id=61321d8a&\"\nimport script from \"./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamPreview.vue?vue&type=style&index=0&id=61321d8a&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"control-container\"},[(!_setup.showRoomDetail)?_c('div',{staticClass:\"container-header\"},[_c('div',[(!_setup.isEN)?_c('div',{staticClass:\"container-icon\"},[_c(_setup.SvgIcon,{staticClass:\"tencent-cloud\",attrs:{\"icon-name\":\"tencent-cloud\",\"size\":\"custom\"}}),_c(_setup.SvgIcon,{staticClass:\"tencent-cloud-text\",attrs:{\"icon-name\":\"tencent-cloud-text\",\"size\":\"custom\"}})],1):_c('div',{staticClass:\"login-logo\"},[_c('img',{staticClass:\"login-top\",attrs:{\"src\":_setup.logoEn}})])]),_c('div',{staticClass:\"container-bottom\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.enterRoom),expression:\"enterRoom\"}],staticClass:\"join-room\"},[_c(_setup.SvgIcon,{staticClass:\"enter-icon\",attrs:{\"icon-name\":\"enter-room\",\"size\":\"custom\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join Room')))])],1),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.createRoom),expression:\"createRoom\"}],staticClass:\"create-room\"},[_c(_setup.SvgIcon,{staticClass:\"add-icon\",attrs:{\"icon-name\":\"add-icon\",\"size\":\"custom\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1)])]):_vm._e(),(_setup.showRoomDetail || _setup.hasGivenRoomId )?_c('div',{staticClass:\"room-detail\"},[_c('div',{staticClass:\"room-detail-header\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleClose),expression:\"handleClose\"}],staticClass:\"close-icon\",attrs:{\"icon-name\":\"close-back\",\"size\":\"custom\"}}),(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('span',{staticClass:\"room-detail-header-title\"},[_vm._v(_vm._s(_setup.t('Join Room')))]):_c('span',{staticClass:\"room-detail-header-title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1),_c('div',{staticClass:\"room-detail-middle\"},[_c('div',{staticClass:\"room-detail-info\"},[(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('div',{staticClass:\"room-detail-info-box\"},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(\" \"+_vm._s(_setup.t('Room ID')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.roomId),expression:\"roomId\"}],staticClass:\"roomid-input\",attrs:{\"type\":\"number\",\"placeholder\":_setup.t('Enter room ID'),\"maxlength\":\"10\",\"enterkeyhint\":\"complete\"},domProps:{\"value\":(_setup.roomId)},on:{\"keyup\":_setup.handleInput,\"input\":function($event){if($event.target.composing)return;_setup.roomId=$event.target.value}}})]):_c('div',{staticClass:\"room-detail-info-box\",on:{\"click\":_setup.chooseRoomType}},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(\" \"+_vm._s(_setup.t('Room Type')))]),_c('div',{staticClass:\"room-show-title\"},[_c('span',{staticClass:\"room-show-title\"},[_vm._v(_vm._s(_setup.roomType))])]),_c(_setup.SvgIcon,{staticClass:\"chevron-down-icon\",attrs:{\"icon-name\":\"chevron-down\",\"size\":\"custom\"}})],1),_c('div',{staticClass:\"room-detail-info-box\"},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(_vm._s(_setup.t('Your Name')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.currentUserName),expression:\"currentUserName\"}],staticClass:\"roomid-input\",attrs:{\"enterkeyhint\":\"complete\",\"maxlength\":\"16\",\"minlength\":\"1\"},domProps:{\"value\":(_setup.currentUserName)},on:{\"keyup\":_setup.handleInputName,\"input\":function($event){if($event.target.composing)return;_setup.currentUserName=$event.target.value}}})])]),_c('div',{staticClass:\"room-detail-setting\"},[_c('div',{staticClass:\"room-detail-setting-list\"},[_vm._v(\" \"+_vm._s(_setup.t('Turn on the microphone'))+\" \"),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.toggle('isMicOn')),expression:\"() => toggle('isMicOn')\"}],staticClass:\"slider-box\",class:[_setup.isMicOn && 'slider-open']},[_c('span',{staticClass:\"slider-block\"})])]),_c('div',{staticClass:\"room-detail-setting-list\"},[_vm._v(\" \"+_vm._s(_setup.t('Turn on the video'))+\" \"),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.toggle('isCamerOn')),expression:\"() => toggle('isCamerOn')\"}],staticClass:\"slider-box\",class:[_setup.isCamerOn && 'slider-open']},[_c('span',{staticClass:\"slider-block\"})])])])]),_c('div',{staticClass:\"room-detail-bottom\"},[(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleRoomOption('Join')),expression:\"() => handleRoomOption('Join')\"}],staticClass:\"button\"},[_vm._v(_vm._s(_setup.t('Join Room')))]):_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleRoomOption('New')),expression:\"() => handleRoomOption('New')\"}],staticClass:\"button\"},[_vm._v(_vm._s(_setup.t('New Room')))])])]):_vm._e(),(_setup.showMoreType)?_c('div',{staticClass:\"room-choose-mobile\"},[_c('div',{ref:\"moreTypeRef\",class:[_setup.showMoreType ? 'room-type-container' : 'close-room-type-container']},[_c('div',{staticClass:\"room-choose-button\"},[_c('span',{staticClass:\"choose-cancel\",on:{\"click\":function($event){_setup.showMoreType = false}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleConfirm),expression:\"handleConfirm\"}],staticClass:\"choose-confirm\"},[_vm._v(_vm._s(_setup.t('Sure')))])]),_c('div',{staticClass:\"room-type-hidden\"},[_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.chooseCurrentType('FreeToSpeak')),expression:\"() => chooseCurrentType('FreeToSpeak')\"}],staticClass:\"room-choose-title\",class:[_setup.mode === 'FreeToSpeak' && 'room-current-title']},[_vm._v(_vm._s(_setup.t('Free Speech Room')))]),_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.chooseCurrentType('SpeakAfterTakingSeat')),expression:\"() => chooseCurrentType('SpeakAfterTakingSeat')\"}],staticClass:\"room-choose-title\",class:[_setup.mode === 'SpeakAfterTakingSeat' && 'room-current-title']},[_vm._v(_vm._s(_setup.t('Raise Hand Room')))])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import i18n from '../../../locales/index';\nimport { ref, computed } from 'vue';\nimport { useI18n } from '../../../locales';\nimport logoCn from '../../../assets/imgs/logo.png';\nimport logoEn from '../../../assets/imgs/logo-en.png';\nexport default function useRoomControl() {\n const logo = computed(() => (i18n.global.locale.value === 'zh-CN' ? logoCn : logoEn));\n const isEN = computed(() => i18n.global.locale.value === 'en-US');\n const showCreateRoomOption = ref(false);\n\n const { t } = useI18n();\n\n\n return {\n logo,\n isEN,\n logoEn,\n t,\n showCreateRoomOption,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, watch, onMounted, onUnmounted } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useRoomStore } from '../../../stores/room';\nimport useRoomControl from './useRoomControlHooks';\nimport '../../../directives/vTap';\n\ninterface Props{\n userName: string\n givenRoomId: string | null\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomControlH5',\n props: {\n userName: null,\n givenRoomId: null\n },\n emits: ['create-room', 'enter-room', 'update-user-name'],\n setup(__props: any, { expose, emit }) {\n\nconst props = __props as {\n userName: string\n givenRoomId: string | null\n}\n\nconst {\n logoEn,\n t,\n isEN,\n} = useRoomControl();\n\nconst moreTypeRef = ref();\nconst roomStore = useRoomStore();\nconst showRoomDetail = ref(false);\nconst showMoreType = ref(false);\nconst isJoinRoom = ref(false);\nconst roomType = computed(() => (mode.value === 'FreeToSpeak' ? t('Free Speech Room') : t('Raise Hand Room')));\nconst isMicOn = ref(true);\nconst isCamerOn = ref(true);\nconst mode = ref('FreeToSpeak');\nconst roomId = ref('');\nconst tuiRoomParam = {\n isOpenCamera: true,\n isOpenMicrophone: true,\n defaultCameraId: '',\n defaultMicrophoneId: '',\n defaultSpeakerId: '',\n};\n\n\n\nexpose({\n getRoomParam,\n});\nconst currentUserName = ref(props.userName || `user_${Math.ceil(Math.random() * 10)}`);\nconst hasGivenRoomId = computed(() => (typeof props.givenRoomId === 'string' && props.givenRoomId !== ''));\n\nwatch(\n () => props.givenRoomId,\n (val) => {\n if (val) {\n roomId.value = val;\n }\n },\n { immediate: true },\n);\n\nfunction createRoom() {\n showRoomDetail.value = !showRoomDetail.value;\n isJoinRoom.value = false;\n}\nfunction enterRoom() {\n showRoomDetail.value = !showRoomDetail.value;\n isJoinRoom.value = true;\n}\nfunction chooseRoomType() {\n showMoreType.value = !showMoreType.value;\n}\nfunction chooseCurrentType(roomType: string) {\n mode.value = roomType;\n}\nfunction handleConfirm() {\n showMoreType.value = !showMoreType.value;\n}\nfunction handleClose() {\n showRoomDetail.value = false;\n showMoreType.value = false;\n}\nfunction toggle(type:string) {\n switch (type) {\n case 'isMicOn':\n isMicOn.value = !isMicOn.value;\n tuiRoomParam.isOpenMicrophone = isMicOn.value;\n break;\n case 'isCamerOn':\n isCamerOn.value = !isCamerOn.value;\n tuiRoomParam.isOpenCamera = isCamerOn.value;\n break;\n default:\n break;\n }\n}\nfunction getRoomParam() {\n tuiRoomParam.defaultCameraId = roomStore.currentCameraId;\n tuiRoomParam.defaultMicrophoneId = roomStore.currentMicrophoneId;\n tuiRoomParam.defaultSpeakerId = roomStore.currentSpeakerId;\n return tuiRoomParam;\n}\n\nfunction handleInput(e: any) {\n roomId.value = e.target.value;\n}\n\nfunction handleInputName(e: any) {\n currentUserName.value = e.target.value;\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showMoreType.value && !moreTypeRef.value.contains(event.target)) {\n showMoreType.value = false;\n }\n}\n\n\nfunction handleRoomOption(type:string) {\n emit('update-user-name', currentUserName.value);\n switch (type) {\n case 'Join':\n emit('enter-room', String(roomId.value));\n break;\n case 'New':\n emit('create-room', mode.value);\n break;\n default:\n break;\n }\n}\n\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,logoEn, t, isEN, moreTypeRef, roomStore, showRoomDetail, showMoreType, isJoinRoom, roomType, isMicOn, isCamerOn, mode, roomId, tuiRoomParam, emit, props, currentUserName, hasGivenRoomId, createRoom, enterRoom, chooseRoomType, chooseCurrentType, handleConfirm, handleClose, toggle, getRoomParam, handleInput, handleInputName, handleDocumentClick, handleRoomOption, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomControlH5.vue?vue&type=template&id=6b65407c&scoped=true&\"\nimport script from \"./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomControlH5.vue?vue&type=style&index=0&id=6b65407c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6b65407c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"control-container\"},[_c('div',{staticClass:\"control-content\"},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLogo),expression:\"showLogo\"}],staticClass:\"logo\",attrs:{\"src\":_setup.logo}}),(_setup.hasGivenRoomId)?_c('div',{staticClass:\"control-region\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Join the room ?')))]),_c('span',{staticClass:\"invite-info\"},[_vm._v(_vm._s(_setup.t('You are invited to room '))+_vm._s(`${_vm.givenRoomId} `)+_vm._s(_setup.t('Room')))]),_c('div',{staticClass:\"button enter-given-room-button\",on:{\"click\":_setup.enterGivenRoom}},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join')))])])]):_c('div',{staticClass:\"control-region\"},[_c('div',{staticClass:\"button create-room-button\",attrs:{\"type\":\"primary\"},on:{\"mouseenter\":_setup.handleMouseEnter,\"mouseleave\":_setup.handleMouseLeave}},[_c('div',{staticClass:\"create-room\"},[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"add-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1),_c('div',{staticClass:\"connect-region\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showCreateRoomOption),expression:\"showCreateRoomOption\"}],staticClass:\"create-room-mode\"},[_c('div',{staticClass:\"create-room-option\",on:{\"click\":function($event){return _setup.createRoom('FreeToSpeak')}}},[_c(_setup.SvgIcon,{staticClass:\"icon\",attrs:{\"icon-name\":\"free-speech-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Free Speech Room')))])],1),_c('div',{staticClass:\"create-room-option\",on:{\"click\":function($event){return _setup.createRoom('SpeakAfterTakingSeat')}}},[_c(_setup.SvgIcon,{staticClass:\"icon\",attrs:{\"icon-name\":\"apply-speech-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Raise Hand Room')))])],1)])]),_c('div',{staticClass:\"button join-room-button\",attrs:{\"type\":\"primary\"},on:{\"click\":_setup.enterRoom}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.roomId),expression:\"roomId\"}],staticClass:\"input\",attrs:{\"placeholder\":_setup.t('Enter room ID'),\"maxlength\":\"10\"},domProps:{\"value\":(_setup.roomId)},on:{\"click\":function($event){$event.stopPropagation();},\"input\":function($event){if($event.target.composing)return;_setup.roomId=$event.target.value}}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join Room')))])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, computed } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useRoomControl from './useRoomControlHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomControlPC',\n props: {\n showLogo: { type: Boolean, default: true },\n givenRoomId: null\n },\n emits: ['create-room', 'enter-room'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { showLogo: boolean, givenRoomId: string | null }\n\nconst {\n logo,\n showCreateRoomOption,\n t,\n} = useRoomControl();\n\n\n\nconst hasGivenRoomId = computed(() => (typeof props.givenRoomId === 'string' && props.givenRoomId !== ''));\nconst roomId = ref('');\n\n\n\nwatch(roomId, (val) => {\n roomId.value = val.replace(/[^\\d]/g, '');\n});\n\nfunction enterGivenRoom() {\n emit('enter-room', props.givenRoomId);\n}\nfunction handleMouseEnter() {\n showCreateRoomOption.value = true;\n}\n\nfunction handleMouseLeave() {\n showCreateRoomOption.value = false;\n}\n\nfunction createRoom(mode: string) {\n emit('create-room', mode);\n}\n\nfunction enterRoom() {\n if (!roomId.value) {\n return;\n }\n emit('enter-room', String(roomId.value));\n}\n\n\nreturn { __sfc: true,logo, showCreateRoomOption, t, props, hasGivenRoomId, roomId, emit, enterGivenRoom, handleMouseEnter, handleMouseLeave, createRoom, enterRoom, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomControlPC.vue?vue&type=template&id=e855f218&scoped=true&\"\nimport script from \"./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomControlPC.vue?vue&type=style&index=0&id=e855f218&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e855f218\",\n null\n \n)\n\nexport default component.exports","import RoomControlH5 from './RoomControlH5.vue';\nimport RoomControlPc from './RoomControlPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst RoomControl = isMobile ? RoomControlH5 : RoomControlPc;\n\nexport default RoomControl;\n","/*eslint-disable*/\nvar e=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t=[],r=[],n=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,i=!1;function o(){i=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=0,o=e.length;n>18&63]+t[o>>12&63]+t[o>>6&63]+t[63&o]);return a.join(\"\")}function s(e){var r;i||o();for(var n=e.length,s=n%3,h=\"\",l=[],f=0,c=n-s;fc?c:f+16383));return 1===s?(r=e[n-1],h+=t[r>>2],h+=t[r<<4&63],h+=\"==\"):2===s&&(r=(e[n-2]<<8)+e[n-1],h+=t[r>>10],h+=t[r>>4&63],h+=t[r<<2&63],h+=\"=\"),l.push(h),l.join(\"\")}function h(e,t,r,n,i){var o,a,s=8*i-n-1,h=(1<>1,f=-7,c=r?i-1:0,u=r?-1:1,d=e[t+c];for(c+=u,o=d&(1<<-f)-1,d>>=-f,f+=s;f>0;o=256*o+e[t+c],c+=u,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=n;f>0;a=256*a+e[t+c],c+=u,f-=8);if(0===o)o=1-l;else{if(o===h)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),o-=l}return(d?-1:1)*a*Math.pow(2,o-n)}function l(e,t,r,n,i,o){var a,s,h,l=8*o-i-1,f=(1<>1,u=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,_=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-a))<1&&(a--,h*=2),(t+=a+c>=1?u/h:u*Math.pow(2,1-c))*h>=2&&(a++,h/=2),a+c>=f?(s=0,a=f):a+c>=1?(s=(t*h-1)*Math.pow(2,i),a+=c):(s=t*Math.pow(2,c-1)*Math.pow(2,i),a=0));i>=8;e[r+d]=255&s,d+=p,s/=256,i-=8);for(a=a<0;e[r+d]=255&a,d+=p,a/=256,l-=8);e[r+d-p]|=128*_}var f={}.toString,c=Array.isArray||function(e){return\"[object Array]\"==f.call(e)};function u(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function d(e,t){if(u()=u())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+u().toString(16)+\" bytes\");return 0|e}function y(e){return!(null==e||!e._isBuffer)}function m(e,t){if(y(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return q(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return V(e).length;default:if(n)return q(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function k(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return O(this,t,r);case\"utf8\":case\"utf-8\":return C(this,t,r);case\"ascii\":return I(this,t,r);case\"latin1\":case\"binary\":return P(this,t,r);case\"base64\":return M(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return U(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function E(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function S(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=p.from(t,n)),y(t))return 0===t.length?-1:x(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function x(e,t,r,n,i){var o,a=1,s=e.length,h=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,h/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var f=-1;for(o=r;os&&(r=s-h),o=r;o>=0;o--){for(var c=!0,u=0;ui&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function M(e,t,r){return 0===t&&r===e.length?s(e):s(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+c<=r)switch(c){case 1:l<128&&(f=l);break;case 2:128==(192&(o=e[i+1]))&&(h=(31&l)<<6|63&o)>127&&(f=h);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(h=(15&l)<<12|(63&o)<<6|63&a)>2047&&(h<55296||h>57343)&&(f=h);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(h=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&h<1114112&&(f=h)}null===f?(f=65533,c=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=c}return function(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var r=\"\",n=0;for(;n0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},p.prototype.compare=function(e,t,r,n,i){if(!y(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),h=this.slice(n,i),l=e.slice(t,r),f=0;fi)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var o=!1;;)switch(n){case\"hex\":return R(this,e,t,r);case\"utf8\":case\"utf-8\":return A(this,e,t,r);case\"ascii\":return B(this,e,t,r);case\"latin1\":case\"binary\":return z(this,e,t,r);case\"base64\":return L(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,e,t,r);default:if(o)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),o=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function I(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i=\"\",o=t;or)throw new RangeError(\"Trying to access beyond buffer length\")}function F(e,t,r,n,i,o){if(!y(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError(\"Index out of range\")}function N(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function j(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function W(e,t,r,n,i){return i||j(e,0,r,4),l(e,t,r,n,23,4),r+4}function Y(e,t,r,n,i){return i||j(e,0,r,8),l(e,t,r,n,52,8),r+8}p.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},p.prototype.readUInt8=function(e,t){return t||H(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||H(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||H(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||H(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||H(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},p.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||H(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},p.prototype.readInt8=function(e,t){return t||H(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||H(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(e,t){t||H(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(e,t){return t||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||H(e,4,this.length),h(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||H(e,4,this.length),h(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||H(e,8,this.length),h(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||H(e,8,this.length),h(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},p.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Z(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},p.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},p.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Z(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,r){return W(this,e,t,!0,r)},p.prototype.writeFloatBE=function(e,t,r){return W(this,e,t,!1,r)},p.prototype.writeDoubleLE=function(e,t,r){return Y(this,e,t,!0,r)},p.prototype.writeDoubleBE=function(e,t,r){return Y(this,e,t,!1,r)},p.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!p.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function V(e){return function(e){var t,a,s,h,l,f;i||o();var c=e.length;if(c%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");l=\"=\"===e[c-2]?2:\"=\"===e[c-1]?1:0,f=new n(3*c/4-l),s=l>0?c-4:c;var u=0;for(t=0,a=0;t>16&255,f[u++]=h>>8&255,f[u++]=255&h;return 2===l?(h=r[e.charCodeAt(t)]<<2|r[e.charCodeAt(t+1)]>>4,f[u++]=255&h):1===l&&(h=r[e.charCodeAt(t)]<<10|r[e.charCodeAt(t+1)]<<4|r[e.charCodeAt(t+2)]>>2,f[u++]=h>>8&255,f[u++]=255&h),f}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(K,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function G(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function $(e){return null!=e&&(!!e._isBuffer||J(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&J(e.slice(0,0))}(e))}function J(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function Q(e,t){return e(t={exports:{}},t.exports),t.exports}var ee=Q(function(e,t){var r;e.exports=(r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},o=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||h).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){var t=t,r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},l=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},f=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},c=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,s=4*o,h=i/s,l=(h=t?e.ceil(h):e.max((0|h)-this._minBufferSize,0))*o,f=e.min(4*l,i);if(l){for(var c=0;c>>2]|=e[i]<<24-i%4*8;t.call(this,n,r)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.WordArray,n=e.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join(\"\")},parse:function(e){for(var r=e.length,n=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(n,2*r)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(a))}return n.join(\"\")},parse:function(e){for(var r=e.length,n=[],o=0;o>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*r)}}}(),r.enc.Utf16)}),Q(function(e,t){var r,n,i;e.exports=(i=(n=r=ee).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s>>6*(3-s)&63));var h=n.charAt(64);if(h)for(;i.length%4;)i.push(h);return i.join(\"\")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-a%4*2;n[o>>>2]|=(s|h)<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"},r.enc.Base64)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[];!function(){for(var t=0;t<64;t++)s[t]=4294967296*e.abs(e.sin(t+1))|0}();var h=a.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],h=e[t+1],d=e[t+2],p=e[t+3],_=e[t+4],g=e[t+5],v=e[t+6],w=e[t+7],b=e[t+8],y=e[t+9],m=e[t+10],k=e[t+11],E=e[t+12],S=e[t+13],x=e[t+14],R=e[t+15],A=o[0],B=o[1],z=o[2],L=o[3];A=l(A,B,z,L,a,7,s[0]),L=l(L,A,B,z,h,12,s[1]),z=l(z,L,A,B,d,17,s[2]),B=l(B,z,L,A,p,22,s[3]),A=l(A,B,z,L,_,7,s[4]),L=l(L,A,B,z,g,12,s[5]),z=l(z,L,A,B,v,17,s[6]),B=l(B,z,L,A,w,22,s[7]),A=l(A,B,z,L,b,7,s[8]),L=l(L,A,B,z,y,12,s[9]),z=l(z,L,A,B,m,17,s[10]),B=l(B,z,L,A,k,22,s[11]),A=l(A,B,z,L,E,7,s[12]),L=l(L,A,B,z,S,12,s[13]),z=l(z,L,A,B,x,17,s[14]),A=f(A,B=l(B,z,L,A,R,22,s[15]),z,L,h,5,s[16]),L=f(L,A,B,z,v,9,s[17]),z=f(z,L,A,B,k,14,s[18]),B=f(B,z,L,A,a,20,s[19]),A=f(A,B,z,L,g,5,s[20]),L=f(L,A,B,z,m,9,s[21]),z=f(z,L,A,B,R,14,s[22]),B=f(B,z,L,A,_,20,s[23]),A=f(A,B,z,L,y,5,s[24]),L=f(L,A,B,z,x,9,s[25]),z=f(z,L,A,B,p,14,s[26]),B=f(B,z,L,A,b,20,s[27]),A=f(A,B,z,L,S,5,s[28]),L=f(L,A,B,z,d,9,s[29]),z=f(z,L,A,B,w,14,s[30]),A=c(A,B=f(B,z,L,A,E,20,s[31]),z,L,g,4,s[32]),L=c(L,A,B,z,b,11,s[33]),z=c(z,L,A,B,k,16,s[34]),B=c(B,z,L,A,x,23,s[35]),A=c(A,B,z,L,h,4,s[36]),L=c(L,A,B,z,_,11,s[37]),z=c(z,L,A,B,w,16,s[38]),B=c(B,z,L,A,m,23,s[39]),A=c(A,B,z,L,S,4,s[40]),L=c(L,A,B,z,a,11,s[41]),z=c(z,L,A,B,p,16,s[42]),B=c(B,z,L,A,v,23,s[43]),A=c(A,B,z,L,y,4,s[44]),L=c(L,A,B,z,E,11,s[45]),z=c(z,L,A,B,R,16,s[46]),A=u(A,B=c(B,z,L,A,d,23,s[47]),z,L,a,6,s[48]),L=u(L,A,B,z,w,10,s[49]),z=u(z,L,A,B,x,15,s[50]),B=u(B,z,L,A,g,21,s[51]),A=u(A,B,z,L,E,6,s[52]),L=u(L,A,B,z,p,10,s[53]),z=u(z,L,A,B,m,15,s[54]),B=u(B,z,L,A,h,21,s[55]),A=u(A,B,z,L,b,6,s[56]),L=u(L,A,B,z,R,10,s[57]),z=u(z,L,A,B,v,15,s[58]),B=u(B,z,L,A,S,21,s[59]),A=u(A,B,z,L,_,6,s[60]),L=u(L,A,B,z,k,10,s[61]),z=u(z,L,A,B,d,15,s[62]),B=u(B,z,L,A,y,21,s[63]),o[0]=o[0]+A|0,o[1]=o[1]+B|0,o[2]=o[2]+z|0,o[3]=o[3]+L|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var o=e.floor(n/4294967296),a=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var s=this._hash,h=s.words,l=0;l<4;l++){var f=h[l];h[l]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<>>32-o)+t}function f(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<>>32-o)+t}function c(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<>>32-o)+t}function u(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(h),t.HmacMD5=o._createHmacHelper(h)}(Math),r.MD5)}),Q(function(e,t){var r,n,i,o,a,s,h,l;e.exports=(i=(n=r=ee).lib,o=i.WordArray,a=i.Hasher,s=n.algo,h=[],l=s.SHA1=a.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=0;l<80;l++){if(l<16)h[l]=0|e[t+l];else{var f=h[l-3]^h[l-8]^h[l-14]^h[l-16];h[l]=f<<1|f>>>31}var c=(n<<5|n>>>27)+s+h[l];c+=l<20?1518500249+(i&o|~i&a):l<40?1859775393+(i^o^a):l<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=n,n=c}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),n.SHA1=a._createHelper(l),n.HmacSHA1=a._createHmacHelper(l),r.SHA1)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[],h=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),h[i]=r(e.pow(n,1/3)),i++),n++}();var l=[],f=a.SHA256=o.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],f=r[5],c=r[6],u=r[7],d=0;d<64;d++){if(d<16)l[d]=0|e[t+d];else{var p=l[d-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,g=l[d-2],v=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[d]=_+l[d-7]+v+l[d-16]}var w=n&i^n&o^i&o,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),y=u+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&f^~s&c)+h[d]+l[d];u=c,c=f,f=s,s=a+y|0,a=o,o=i,i=n,n=y+(b+w)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(f),t.HmacSHA256=o._createHmacHelper(f)}(Math),r.SHA256)}),Q(function(e,t){var r,n,i,o,a,s;e.exports=(i=(n=r=ee).lib.WordArray,o=n.algo,a=o.SHA256,s=o.SHA224=a.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),n.SHA224=a._createHelper(s),n.HmacSHA224=a._createHmacHelper(s),r.SHA224)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.Hasher,n=e.x64,i=n.Word,o=n.WordArray,a=e.algo;function s(){return i.create.apply(i,arguments)}var h=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=s()}();var f=a.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],f=r[5],c=r[6],u=r[7],d=n.high,p=n.low,_=i.high,g=i.low,v=o.high,w=o.low,b=a.high,y=a.low,m=s.high,k=s.low,E=f.high,S=f.low,x=c.high,R=c.low,A=u.high,B=u.low,z=d,L=p,T=_,M=g,C=v,D=w,I=b,P=y,O=m,U=k,H=E,F=S,N=x,Z=R,j=A,W=B,Y=0;Y<80;Y++){var K=l[Y];if(Y<16)var X=K.high=0|e[t+2*Y],q=K.low=0|e[t+2*Y+1];else{var V=l[Y-15],G=V.high,$=V.low,J=(G>>>1|$<<31)^(G>>>8|$<<24)^G>>>7,Q=($>>>1|G<<31)^($>>>8|G<<24)^($>>>7|G<<25),ee=l[Y-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[Y-7],ae=oe.high,se=oe.low,he=l[Y-16],le=he.high,fe=he.low;X=(X=(X=J+ae+((q=Q+se)>>>0>>0?1:0))+ne+((q+=ie)>>>0>>0?1:0))+le+((q+=fe)>>>0>>0?1:0),K.high=X,K.low=q}var ce,ue=O&H^~O&N,de=U&F^~U&Z,pe=z&T^z&C^T&C,_e=L&M^L&D^M&D,ge=(z>>>28|L<<4)^(z<<30|L>>>2)^(z<<25|L>>>7),ve=(L>>>28|z<<4)^(L<<30|z>>>2)^(L<<25|z>>>7),we=(O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9),be=(U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9),ye=h[Y],me=ye.high,ke=ye.low,Ee=j+we+((ce=W+be)>>>0>>0?1:0),Se=ve+_e;j=N,W=Z,N=H,Z=F,H=O,F=U,O=I+(Ee=(Ee=(Ee=Ee+ue+((ce+=de)>>>0>>0?1:0))+me+((ce+=ke)>>>0>>0?1:0))+X+((ce+=q)>>>0>>0?1:0))+((U=P+ce|0)>>>0

>>0?1:0)|0,I=C,P=D,C=T,D=M,T=z,M=L,z=Ee+(ge+pe+(Se>>>0>>0?1:0))+((L=ce+Se|0)>>>0>>0?1:0)|0}p=n.low=p+L,n.high=d+z+(p>>>0>>0?1:0),g=i.low=g+M,i.high=_+T+(g>>>0>>0?1:0),w=o.low=w+D,o.high=v+C+(w>>>0>>0?1:0),y=a.low=y+P,a.high=b+I+(y>>>0

>>0?1:0),k=s.low=k+U,s.high=m+O+(k>>>0>>0?1:0),S=f.low=S+F,f.high=E+H+(S>>>0>>0?1:0),R=c.low=R+Z,c.high=x+N+(R>>>0>>0?1:0),B=u.low=B+W,u.high=A+j+(B>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(f),e.HmacSHA512=t._createHmacHelper(f)}(),r.SHA512)}),Q(function(e,t){var r,n,i,o,a,s,h,l;e.exports=(i=(n=r=ee).x64,o=i.Word,a=i.WordArray,s=n.algo,h=s.SHA512,l=s.SHA384=h.extend({_doReset:function(){this._hash=new a.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var e=h._doFinalize.call(this);return e.sigBytes-=16,e}}),n.SHA384=h._createHelper(l),n.HmacSHA384=h._createHmacHelper(l),r.SHA384)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.x64.Word,s=t.algo,h=[],l=[],f=[];!function(){for(var e=1,t=0,r=0;r<24;r++){h[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,c=0,u=0;u<7;u++){if(1&i){var d=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(B=r[i]).high^=a,B.low^=o}for(var s=0;s<24;s++){for(var u=0;u<5;u++){for(var d=0,p=0,_=0;_<5;_++)d^=(B=r[u+5*_]).high,p^=B.low;var g=c[u];g.high=d,g.low=p}for(u=0;u<5;u++){var v=c[(u+4)%5],w=c[(u+1)%5],b=w.high,y=w.low;for(d=v.high^(b<<1|y>>>31),p=v.low^(y<<1|b>>>31),_=0;_<5;_++)(B=r[u+5*_]).high^=d,B.low^=p}for(var m=1;m<25;m++){var k=(B=r[m]).high,E=B.low,S=h[m];S<32?(d=k<>>32-S,p=E<>>32-S):(d=E<>>64-S,p=k<>>64-S);var x=c[l[m]];x.high=d,x.low=p}var R=c[0],A=r[0];for(R.high=A.high,R.low=A.low,u=0;u<5;u++)for(_=0;_<5;_++){var B=r[m=u+5*_],z=c[m],L=c[(u+1)%5+5*_],T=c[(u+2)%5+5*_];B.high=z.high^~L.high&T.high,B.low=z.low^~L.low&T.low}B=r[0];var M=f[s];B.high^=M.high,B.low^=M.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,h=s/8,l=[],f=0;f>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(u)}return new i.init(l,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(u),t.HmacSHA3=o._createHmacHelper(u)}(Math),r.SHA3)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),h=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),f=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=a.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,a,d,y,m,k,E,S,x,R,A,B=this._hash.words,z=c.words,L=u.words,T=s.words,M=h.words,C=l.words,D=f.words;for(k=o=B[0],E=a=B[1],S=d=B[2],x=y=B[3],R=m=B[4],r=0;r<80;r+=1)A=o+e[t+T[r]]|0,A+=r<16?p(a,d,y)+z[0]:r<32?_(a,d,y)+z[1]:r<48?g(a,d,y)+z[2]:r<64?v(a,d,y)+z[3]:w(a,d,y)+z[4],A=(A=b(A|=0,C[r]))+m|0,o=m,m=y,y=b(d,10),d=a,a=A,A=k+e[t+M[r]]|0,A+=r<16?w(E,S,x)+L[0]:r<32?v(E,S,x)+L[1]:r<48?g(E,S,x)+L[2]:r<64?_(E,S,x)+L[3]:p(E,S,x)+L[4],A=(A=b(A|=0,D[r]))+R|0,k=R,R=x,x=b(S,10),S=E,E=A;A=B[1]+d+x|0,B[1]=B[2]+y+R|0,B[2]=B[3]+m+k|0,B[3]=B[4]+o+E|0,B[4]=B[0]+a+S|0,B[0]=A},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function _(e,t,r){return e&t|~e&r}function g(e,t,r){return(e|~t)^r}function v(e,t,r){return e&r|t&~r}function w(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(d),t.HmacRIPEMD160=o._createHmacHelper(d)}(),r.RIPEMD160)}),Q(function(e,t){var r,n,i,o,a,s;e.exports=(n=(r=ee).lib,i=n.Base,o=r.enc,a=o.Utf8,s=r.algo,void(s.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,h=o.words,l=0;l>>2];e.sigBytes-=t}},o.BlockCipher=d.extend({cfg:d.cfg.extend({mode:g,padding:w}),reset:function(){d.reset.call(this);var e=this.cfg,t=e.iv,r=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{var n=r.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==n?this._mode.init(this,t&&t.words):(this._mode=n.call(r,this,t&&t.words),this._mode.__creator=n)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),b=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),y=i.format={},m=y.OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;if(r)var n=s.create([1398893684,1701076831]).concat(r).concat(t);else var n=t;return n.toString(f)},parse:function(e){var t=f.parse(e),r=t.words;if(1398893684==r[0]&&1701076831==r[1]){var n=s.create(r.slice(2,4));r.splice(0,4),t.sigBytes-=16}return b.create({ciphertext:t,salt:n})}},k=o.SerializableCipher=a.extend({cfg:a.extend({format:m}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return b.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=e.createDecryptor(r,n).finalize(t.ciphertext);return i},_parse:function(e,t){return\"string\"==typeof e?t.parse(e,this):e}}),E=i.kdf={},S=E.OpenSSL={execute:function(e,t,r,n){n||(n=s.random(8));var i=u.create({keySize:t+r}).compute(e,n),o=s.create(i.words.slice(t),4*r);return i.sigBytes=4*t,b.create({key:i,iv:o,salt:n})}},x=o.PasswordBasedCipher=k.extend({cfg:k.cfg.extend({kdf:S}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize);n.iv=i.iv;var o=k.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt);n.iv=i.iv;var o=k.decrypt.call(this,e,t,i.key,n);return o}})))}),Q(function(e,t){var r;e.exports=((r=ee).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,n){var i=this._iv;if(i){var o=i.slice(0);this._iv=void 0}else o=this._prevBlock;n.encryptBlock(o,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var n=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var h=0;h>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso10126={pad:function(e,t){var n=4*t,i=n-e.sigBytes%n;e.concat(r.lib.WordArray.random(i-1)).concat(r.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)}),Q(function(e,t){var r;e.exports=((r=ee).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){for(var t=e.words,r=e.sigBytes-1;!(t[r>>>2]>>>24-r%4*8&255);)r--;e.sigBytes=r+1}},r.pad.ZeroPadding)}),Q(function(e,t){var r;e.exports=((r=ee).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)}),Q(function(e,t){var r,n,i,o;e.exports=(i=(n=r=ee).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(e){return e.ciphertext.toString(o)},parse:function(e){var t=o.parse(e);return i.create({ciphertext:t})}},r.format.Hex)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.BlockCipher,n=e.algo,i=[],o=[],a=[],s=[],h=[],l=[],f=[],c=[],u=[],d=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var _=e[r],g=e[_],v=e[g],w=257*e[p]^16843008*p;a[r]=w<<24|w>>>8,s[r]=w<<16|w>>>16,h[r]=w<<8|w>>>24,l[r]=w,w=16843009*v^65537*g^257*_^16843008*r,f[p]=w<<24|w>>>8,c[p]=w<<16|w>>>16,u[p]=w<<8|w>>>24,d[p]=w,r?(r=_^e[e[e[v^_]]],n^=e[e[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],_=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(s=i[s>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=p[a/r|0]<<24),o[a]=o[a-r]^s}for(var h=this._invKeySchedule=[],l=0;l>>24]]^c[i[s>>>16&255]]^u[i[s>>>8&255]]^d[i[255&s]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,h,l,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,f,c,u,d,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var h=this._nRounds,l=e[t]^r[0],f=e[t+1]^r[1],c=e[t+2]^r[2],u=e[t+3]^r[3],d=4,p=1;p>>24]^i[f>>>16&255]^o[c>>>8&255]^a[255&u]^r[d++],g=n[f>>>24]^i[c>>>16&255]^o[u>>>8&255]^a[255&l]^r[d++],v=n[c>>>24]^i[u>>>16&255]^o[l>>>8&255]^a[255&f]^r[d++],w=n[u>>>24]^i[l>>>16&255]^o[f>>>8&255]^a[255&c]^r[d++];l=_,f=g,c=v,u=w}_=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^r[d++],g=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&l])^r[d++],v=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[d++],w=(s[u>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^r[d++],e[t]=_,e[t+1]=g,e[t+2]=v,e[t+3]=w},keySize:8});e.AES=t._createHelper(_)}(),r.AES)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib,n=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],f=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var l=i[o]=[],f=h[o];for(r=0;r<24;r++)l[r/6|0]|=t[(s[r]-1+f)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(s[r+24]-1+f)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var c=this._invSubKeys=[];for(r=0;r<16;r++)c[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,h=0;h<8;h++)s|=l[h][((a^i[h])&f[h])>>>0];this._lBlock=a,this._rBlock=o^s}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var h=n[i];n[i]=n[o],n[o]=h}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)h.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(i[0]^=l,i[1]^=c,i[2]^=f,i[3]^=u,i[4]^=l,i[5]^=c,i[6]^=f,i[7]^=u,r=0;r<4;r++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),r.Rabbit)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)h.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(n[0]^=l,n[1]^=c,n[2]^=f,n[3]^=u,n[4]^=l,n[5]^=c,n[6]^=f,n[7]^=u,i=0;i<4;i++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),r.RabbitLegacy)}),Q(function(e,t){e.exports=ee}));function re(){throw new Error(\"setTimeout has not been defined\")}function ne(){throw new Error(\"clearTimeout has not been defined\")}var ie=re,oe=ne;function ae(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===re||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}\"function\"==typeof e.setTimeout&&(ie=setTimeout),\"function\"==typeof e.clearTimeout&&(oe=clearTimeout);var se,he=[],le=!1,fe=-1;function ce(){le&&se&&(le=!1,se.length?he=se.concat(he):fe=-1,he.length&&ue())}function ue(){if(!le){var e=ae(ce);le=!0;for(var t=he.length;t;){for(se=he,he=[];++fe1)for(var r=1;r0&&a.length>i){a.warned=!0;var h=new Error(\"Possible EventEmitter memory leak detected. \"+a.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");h.name=\"MaxListenersExceededWarning\",h.emitter=e,h.type=t,h.count=a.length,s=h,\"function\"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function xe(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Re(e){var t=this._events;if(t){var r=t[e];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function Ae(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}ge.prototype=Object.create(null),ve.EventEmitter=ve,ve.usingDomains=!1,ve.prototype.domain=void 0,ve.prototype._events=void 0,ve.prototype._maxListeners=void 0,ve.defaultMaxListeners=10,ve.init=function(){this.domain=null,ve.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ge,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ve.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},ve.prototype.getMaxListeners=function(){return we(this)},ve.prototype.emit=function(e){var t,r,n,i,o,a,s,h=\"error\"===e;if(a=this._events)h=h&&null==a.error;else if(!h)return!1;if(s=this.domain,h){if(t=arguments[1],!s){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit(\"error\",t),!1}if(!(r=a[e]))return!1;var f=\"function\"==typeof r;switch(n=arguments.length){case 1:be(r,f,this);break;case 2:ye(r,f,this,arguments[1]);break;case 3:me(r,f,this,arguments[1],arguments[2]);break;case 4:ke(r,f,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new ge,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var Be=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},ze=/%[sdj%]/g;function Le(e){if(!Ze(e)){for(var t=[],r=0;r=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}}),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Fe(t)?r.showHidden=t:t&&function(e,t){if(!t||!Ye(t))return e;var r=Object.keys(t),n=r.length;for(;n--;)e[r[n]]=t[r[n]]}(r,t),je(r.showHidden)&&(r.showHidden=!1),je(r.depth)&&(r.depth=2),je(r.colors)&&(r.colors=!1),je(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ie),Oe(r,e,r.depth)}function Ie(e,t){var r=De.styles[t];return r?\"\u001b[\"+De.colors[r][0]+\"m\"+e+\"\u001b[\"+De.colors[r][1]+\"m\":e}function Pe(e,t){return e}function Oe(e,t,r){if(e.customInspect&&t&&qe(t.inspect)&&t.inspect!==De&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ze(n)||(n=Oe(e,n,r)),n}var i=function(e,t){if(je(t))return e.stylize(\"undefined\",\"undefined\");if(Ze(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(n=t,\"number\"==typeof n)return e.stylize(\"\"+t,\"number\");var n;if(Fe(t))return e.stylize(\"\"+t,\"boolean\");if(Ne(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Xe(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return Ue(t);if(0===o.length){if(qe(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(We(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Xe(t))return Ue(t)}var h,l,f=\"\",c=!1,u=[\"{\",\"}\"];(h=t,Array.isArray(h)&&(c=!0,u=[\"[\",\"]\"]),qe(t))&&(f=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return We(t)&&(f=\" \"+RegExp.prototype.toString.call(t)),Ke(t)&&(f=\" \"+Date.prototype.toUTCString.call(t)),Xe(t)&&(f=\" \"+Ue(t)),0!==o.length||c&&0!=t.length?r<0?We(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),l=c?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60)return r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1];return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(l,f,u)):u[0]+f+u[1]}function Ue(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function He(e,t,r,n,i,o){var a,s,h;if((h=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=h.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):h.set&&(s=e.stylize(\"[Setter]\",\"special\")),Ge(n,i)||(a=\"[\"+i+\"]\"),s||(e.seen.indexOf(h.value)<0?(s=Ne(r)?Oe(e,h.value,null):Oe(e,h.value,r-1)).indexOf(\"\\n\")>-1&&(s=o?s.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\")):s=e.stylize(\"[Circular]\",\"special\")),je(a)){if(o&&i.match(/^\\d+$/))return s;(a=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function Fe(e){return\"boolean\"==typeof e}function Ne(e){return null===e}function Ze(e){return\"string\"==typeof e}function je(e){return void 0===e}function We(e){return Ye(e)&&\"[object RegExp]\"===Ve(e)}function Ye(e){return\"object\"==typeof e&&null!==e}function Ke(e){return Ye(e)&&\"[object Date]\"===Ve(e)}function Xe(e){return Ye(e)&&(\"[object Error]\"===Ve(e)||e instanceof Error)}function qe(e){return\"function\"==typeof e}function Ve(e){return Object.prototype.toString.call(e)}function Ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function $e(){this.head=null,this.tail=null,this.length=0}De.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},De.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},$e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},$e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},$e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},$e.prototype.clear=function(){this.head=this.tail=null,this.length=0},$e.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r},$e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Je=p.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function Qe(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),function(e){if(e&&!Je(e))throw new Error(\"Unknown encoding: \"+e)}(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=tt;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=rt;break;default:return void(this.write=et)}this.charBuffer=new p(6),this.charReceived=0,this.charLength=0}function et(e){return e.toString(this.encoding)}function tt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function rt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Qe.prototype.write=function(e){for(var t=\"\";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var i;n=(t+=e.toString(this.encoding,0,n)).length-1;if((i=t.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,n)}return t},Qe.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},Qe.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t},ot.ReadableState=it;var nt=function(e){je(Me)&&(Me=\"\"),e=e.toUpperCase(),Ce[e]||(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(Me)?Ce[e]=function(){var t=Le.apply(null,arguments);console.error(\"%s %d: %s\",e,0,t)}:Ce[e]=function(){});return Ce[e]}(\"stream\");function it(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new $e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Qe(e.encoding),this.encoding=e.encoding)}function ot(e){if(!(this instanceof ot))return new ot(e);this._readableState=new it(e,this),this.readable=!0,e&&\"function\"==typeof e.read&&(this._read=e.read),ve.call(this)}function at(e,t,r,n,i){var o=function(e,t){var r=null;$(t)||\"string\"==typeof t||null==t||e.objectMode||(r=new TypeError(\"Invalid non-string/buffer chunk\"));return r}(t,r);if(o)e.emit(\"error\",o);else if(null===r)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,lt(e)}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error(\"stream.push() after EOF\");e.emit(\"error\",a)}else if(t.endEmitted&&i){var s=new Error(\"stream.unshift() after end event\");e.emit(\"error\",s)}else{var h;!t.decoder||i||n||(r=t.decoder.write(r),h=!t.objectMode&&0===r.length),i||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&<(e))),function(e,t){t.readingMore||(t.readingMore=!0,de(ct,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=st?e=st:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(nt(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?de(ft,e):ft(e))}function ft(e){nt(\"emit readable\"),e.emit(\"readable\"),pt(e)}function ct(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=p.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function gt(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,de(vt,t,e))}function vt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function wt(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return nt(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?gt(this):lt(this),null;if(0===(e=ht(e,t))&&t.ended)return 0===t.length&>(this),null;var n,i=t.needReadable;return nt(\"need readable\",i),(0===t.length||t.length-e0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&>(this)),null!==n&&this.emit(\"data\",n),n},ot.prototype._read=function(e){this.emit(\"error\",new Error(\"not implemented\"))},ot.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,nt(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=!t||!1!==t.end?a:l;function o(e){nt(\"onunpipe\"),e===r&&l()}function a(){nt(\"onend\"),e.end()}n.endEmitted?de(i):r.once(\"end\",i),e.on(\"unpipe\",o);var s=function(e){return function(){var t=e._readableState;nt(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners(\"data\").length&&(t.flowing=!0,pt(e))}}(r);e.on(\"drain\",s);var h=!1;function l(){nt(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",p),e.removeListener(\"drain\",s),e.removeListener(\"error\",u),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",a),r.removeListener(\"end\",l),r.removeListener(\"data\",c),h=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var f=!1;function c(t){nt(\"ondata\"),f=!1,!1!==e.write(t)||f||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==wt(n.pipes,e))&&!h&&(nt(\"false write response, pause\",r._readableState.awaitDrain),r._readableState.awaitDrain++,f=!0),r.pause())}function u(t){var r;nt(\"onerror\",t),_(),e.removeListener(\"error\",u),0===(r=\"error\",e.listeners(r).length)&&e.emit(\"error\",t)}function d(){e.removeListener(\"finish\",p),_()}function p(){nt(\"onfinish\"),e.removeListener(\"close\",d),_()}function _(){nt(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",c),function(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,\"error\",u),e.once(\"close\",d),e.once(\"finish\",p),e.emit(\"pipe\",r),n.flowing||(nt(\"pipe resume\"),r.resume()),e},ot.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},kt.prototype._write=function(e,t,r){r(new Error(\"not implemented\"))},kt.prototype._writev=null,kt.prototype.end=function(e,t,r){var n=this._writableState;\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Bt(e,t),r&&(t.finished?de(r):e.once(\"finish\",r));t.ended=!0,e.writable=!1}(this,n,r)},Be(Ct,ot);for(var Lt=Object.keys(kt.prototype),Tt=0;Tt=0;)e[t]=0}var Jt=0,Qt=1,er=2,tr=29,rr=256,nr=rr+1+tr,ir=30,or=19,ar=2*nr+1,sr=15,hr=16,lr=7,fr=256,cr=16,ur=17,dr=18,pr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],_r=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],vr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],wr=new Array(2*(nr+2));$t(wr);var br=new Array(2*ir);$t(br);var yr=new Array(512);$t(yr);var mr=new Array(256);$t(mr);var kr=new Array(tr);$t(kr);var Er,Sr,xr,Rr=new Array(ir);function Ar(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function Br(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function zr(e){return e<256?yr[e]:yr[256+(e>>>7)]}function Lr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Tr(e,t,r){e.bi_valid>hr-r?(e.bi_buf|=t<>hr-e.bi_valid,e.bi_valid+=r-hr):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function Dr(e,t,r){var n,i,o=new Array(sr+1),a=0;for(n=1;n<=sr;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Cr(o[s]++,s))}}function Ir(e){var t;for(t=0;t8?Lr(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Or(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)Ur(e,o,r);i=h;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ur(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,Ur(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,h=t.dyn_tree,l=t.max_code,f=t.stat_desc.static_tree,c=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,_=0;for(o=0;o<=sr;o++)e.bl_count[o]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rp&&(o=p,_++),h[2*n+1]=o,n>l||(e.bl_count[o]++,a=0,n>=d&&(a=u[n-d]),s=h[2*n],e.opt_len+=s*(o+a),c&&(e.static_len+=s*(f[2*n+1]+a)));if(0!==_){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,_-=2}while(_>0);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)(i=e.heap[--r])>l||(h[2*i+1]!==o&&(e.opt_len+=(o-h[2*i+1])*h[2*i],h[2*i+1]=o),n--)}}(e,t),Dr(o,l,e.bl_count)}function Nr(e,t,r){var n,i,o=-1,a=t[1],s=0,h=7,l=4;for(0===a&&(h=138,l=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s>=7;n=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Xr(e,t,r,n){var i,o,a=0;e.level>0?(e.strm.data_type===Gt&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return qt;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Vt;for(t=32;t=3&&0===e.bl_tree[2*vr[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?Yr(e,t,r,n):e.strategy===Xt||o===i?(Tr(e,(Qt<<1)+(n?1:0),3),Hr(e,wr,br)):(Tr(e,(er<<1)+(n?1:0),3),function(e,t,r,n){var i;for(Tr(e,t-257,5),Tr(e,r-1,5),Tr(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(mr[r]+rr+1)]++,e.dyn_dtree[2*zr(t)]++),e.last_lit===e.lit_bufsize-1}function Vr(e,t,r,n){for(var i=65535&e|0,o=e>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+t[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}var Gr=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function $r(e,t,r,n){var i=Gr,o=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}var Jr,Qr=0,en=1,tn=3,rn=4,nn=5,on=0,an=1,sn=-2,hn=-3,ln=-5,fn=-1,cn=1,un=2,dn=3,pn=4,_n=2,gn=8,vn=9,wn=286,bn=30,yn=19,mn=2*wn+1,kn=15,En=3,Sn=258,xn=Sn+En+1,Rn=32,An=42,Bn=69,zn=73,Ln=91,Tn=103,Mn=113,Cn=666,Dn=1,In=2,Pn=3,On=4,Un=3;function Hn(e,t){return e.msg=Nt[t],t}function Fn(e){return(e<<1)-(e>4?9:0)}function Nn(e){for(var t=e.length;--t>=0;)e[t]=0}function Zn(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(jt(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function jn(e,t){Xr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Zn(e.strm)}function Wn(e,t){e.pending_buf[e.pending++]=t}function Yn(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Kn(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-xn?e.strstart-(e.w_size-xn):0,l=e.window,f=e.w_mask,c=e.prev,u=e.strstart+Sn,d=l[o+a-1],p=l[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(l[(r=t)+a]===p&&l[r+a-1]===d&&l[r]===l[o]&&l[++r]===l[o+1]){o+=2,r++;do{}while(l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;d=l[o+a-1],p=l[o+a]}}}while((t=c[t&f])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function Xn(e){var t,r,n,i,o,a,s,h,l,f,c=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=c+(c-xn)){jt(e.window,e.window,c,c,0),e.match_start-=c,e.strstart-=c,e.block_start-=c,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=c?n-c:0}while(--r);t=r=c;do{n=e.prev[--t],e.prev[t]=n>=c?n-c:0}while(--r);i+=c}if(0===e.strm.avail_in)break;if(a=e.strm,s=e.window,h=e.strstart+e.lookahead,l=i,f=void 0,(f=a.avail_in)>l&&(f=l),r=0===f?0:(a.avail_in-=f,jt(s,a.input,a.next_in,f,h),1===a.state.wrap?a.adler=Vr(a.adler,s,f,h):2===a.state.wrap&&(a.adler=$r(a.adler,s,f,h)),a.next_in+=f,a.total_in+=f,f),e.lookahead+=r,e.lookahead+e.insert>=En)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<=En)if(n=qr(e,e.strstart-e.match_start,e.match_length-En),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=En){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=En-1)),e.prev_length>=En&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-En,n=qr(e,e.strstart-1-e.prev_match,e.prev_length-En),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<nn||t<0)return e?Hn(e,sn):sn;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Cn&&t!==rn)return Hn(e,0===e.avail_out?ln:sn);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===An)if(2===n.wrap)e.adler=0,Wn(n,31),Wn(n,139),Wn(n,8),n.gzhead?(Wn(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Wn(n,255&n.gzhead.time),Wn(n,n.gzhead.time>>8&255),Wn(n,n.gzhead.time>>16&255),Wn(n,n.gzhead.time>>24&255),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Wn(n,255&n.gzhead.extra.length),Wn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$r(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Bn):(Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,Un),n.status=Mn);else{var a=gn+(n.w_bits-8<<4)<<8;a|=(n.strategy>=un||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=Rn),a+=31-a%31,n.status=Mn,Yn(n,a),0!==n.strstart&&(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),e.adler=1}if(n.status===Bn)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending!==n.pending_buf_size));)Wn(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=zn)}else n.status=zn;if(n.status===zn)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=Ln)}else n.status=Ln;if(n.status===Ln)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=Tn)}else n.status=Tn;if(n.status===Tn&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Zn(e),n.pending+2<=n.pending_buf_size&&(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),e.adler=0,n.status=Mn)):n.status=Mn),0!==n.pending){if(Zn(e),0===e.avail_out)return n.last_flush=-1,on}else if(0===e.avail_in&&Fn(t)<=Fn(r)&&t!==rn)return Hn(e,ln);if(n.status===Cn&&0!==e.avail_in)return Hn(e,ln);if(0!==e.avail_in||0!==n.lookahead||t!==Qr&&n.status!==Cn){var s=n.strategy===un?function(e,t){for(var r;;){if(0===e.lookahead&&(Xn(e),0===e.lookahead)){if(t===Qr)return Dn;break}if(e.match_length=0,r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):n.strategy===dn?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=Sn){if(Xn(e),e.lookahead<=Sn&&t===Qr)return Dn;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=En&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+Sn;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=En?(r=qr(e,1,e.match_length-En),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):Jr[n.level].func(n,t);if(s!==Pn&&s!==On||(n.status=Cn),s===Dn||s===Pn)return 0===e.avail_out&&(n.last_flush=-1),on;if(s===In&&(t===en?Kr(n):t!==nn&&(Yr(n,0,0,!1),t===tn&&(Nn(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Zn(e),0===e.avail_out))return n.last_flush=-1,on}return t!==rn?on:n.wrap<=0?an:(2===n.wrap?(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),Wn(n,e.adler>>16&255),Wn(n,e.adler>>24&255),Wn(n,255&e.total_in),Wn(n,e.total_in>>8&255),Wn(n,e.total_in>>16&255),Wn(n,e.total_in>>24&255)):(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),Zn(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?on:an)}Jr=[new Gn(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Xn(e),0===e.lookahead&&t===Qr)return Dn;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,jn(e,!1),0===e.strm.avail_out))return Dn;if(e.strstart-e.block_start>=e.w_size-xn&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):(e.strstart>e.block_start&&(jn(e,!1),e.strm.avail_out),Dn)}),new Gn(4,4,8,4,qn),new Gn(4,5,16,8,qn),new Gn(4,6,32,32,qn),new Gn(4,4,16,16,Vn),new Gn(8,16,32,32,Vn),new Gn(8,16,128,128,Vn),new Gn(8,32,128,256,Vn),new Gn(32,128,258,1024,Vn),new Gn(32,258,258,4096,Vn)];var ei=30,ti=12;function ri(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R;r=e.state,n=e.next_in,x=e.input,i=n+(e.avail_in-5),o=e.next_out,R=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),h=r.dmax,l=r.wsize,f=r.whave,c=r.wnext,u=r.window,d=r.hold,p=r.bits,_=r.lencode,g=r.distcode,v=(1<>>=y=b>>>24,p-=y,0===(y=b>>>16&255))R[o++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=_[(65535&b)+(d&(1<>>=y,p-=y),p<15&&(d+=x[n++]<>>=y=b>>>24,p-=y,!(16&(y=b>>>16&255))){if(0==(64&y)){b=g[(65535&b)+(d&(1<h){e.msg=\"invalid distance too far back\",r.mode=ei;break e}if(d>>>=y,p-=y,k>(y=o-a)){if((y=k-y)>f&&r.sane){e.msg=\"invalid distance too far back\",r.mode=ei;break e}if(E=0,S=u,0===c){if(E+=l-y,y2;)R[o++]=S[E++],R[o++]=S[E++],R[o++]=S[E++],m-=3;m&&(R[o++]=S[E++],m>1&&(R[o++]=S[E++]))}else{E=o-k;do{R[o++]=R[E++],R[o++]=R[E++],R[o++]=R[E++],m-=3}while(m>2);m&&(R[o++]=R[E++],m>1&&(R[o++]=R[E++]))}break}}break}}while(n>3,d&=(1<<(p-=m<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n=1&&0===L[m];m--);if(k>m&&(k=m),0===m)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(y=1;y0&&(e===ai||1!==m))return-1;for(T[1]=0,w=1;wii||e===hi&&R>oi)return 1;for(;;){p=w-S,a[b]d?(_=M[C+a[b]],g=B[z+a[b]]):(_=96,g=0),h=1<>S)+(l-=h)]=p<<24|_<<16|g|0}while(0!==l);for(h=1<>=1;if(0!==h?(A&=h-1,A+=h):A=0,b++,0==--L[w]){if(w===m)break;w=t[r+a[b]]}if(w>k&&(A&c)!==f){for(0===S&&(S=k),u+=y,x=1<<(E=w-S);E+Sii||e===hi&&R>oi)return 1;i[f=A&c]=k<<24|E<<16|u-o|0}}return 0!==A&&(i[u+A]=w-S<<24|64<<16|0),s.bits=k,0}var pi=0,_i=1,gi=2,vi=4,wi=5,bi=6,yi=0,mi=1,ki=2,Ei=-2,Si=-3,xi=-4,Ri=-5,Ai=8,Bi=1,zi=2,Li=3,Ti=4,Mi=5,Ci=6,Di=7,Ii=8,Pi=9,Oi=10,Ui=11,Hi=12,Fi=13,Ni=14,Zi=15,ji=16,Wi=17,Yi=18,Ki=19,Xi=20,qi=21,Vi=22,Gi=23,$i=24,Ji=25,Qi=26,eo=27,to=28,ro=29,no=30,io=31,oo=32,ao=852,so=592;function ho(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function lo(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Yt(320),this.work=new Yt(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fo(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,function(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=Bi,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Kt(ao),t.distcode=t.distdyn=new Kt(so),t.sane=1,t.back=-1,yi):Ei}(e)):Ei}function co(e,t){var r,n;return e?(n=new lo,e.state=n,n.window=null,(r=function(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Ei:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,fo(e))):Ei}(e,t))!==yi&&(e.state=null),r):Ei}var uo,po,_o=!0;function go(e){if(_o){var t;for(uo=new Kt(512),po=new Kt(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(di(_i,e.lens,0,288,uo,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;di(gi,e.lens,0,32,po,0,e.work,{bits:5}),_o=!1}e.lencode=uo,e.lenbits=9,e.distcode=po,e.distbits=5}function vo(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R=0,A=new Wt(4),B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Ei;(r=e.state).mode===Hi&&(r.mode=Fi),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,c=s,u=h,E=yi;e:for(;;)switch(r.mode){case Bi:if(0===r.wrap){r.mode=Fi;break}for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0),l=0,f=0,r.mode=zi;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg=\"incorrect header check\",r.mode=no;break}if((15&l)!==Ai){e.msg=\"unknown compression method\",r.mode=no;break}if(f-=4,k=8+(15&(l>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=no;break}r.dmax=1<>8&1),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Li;case Li:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>8&255,A[2]=l>>>16&255,A[3]=l>>>24&255,r.check=$r(r.check,A,4,0)),l=0,f=0,r.mode=Ti;case Ti:for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>8),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Mi;case Mi:if(1024&r.flags){for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0}else r.head&&(r.head.extra=null);r.mode=Ci;case Ci:if(1024&r.flags&&((d=r.length)>s&&(d=s),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),jt(r.head.extra,n,o,d,k)),512&r.flags&&(r.check=$r(r.check,n,d,o)),s-=d,o+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Di;case Di:if(2048&r.flags){if(0===s)break e;d=0;do{k=n[o+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Hi;break;case Oi:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>=7&f,f-=7&f,r.mode=eo;break}for(;f<3;){if(0===s)break e;s--,l+=n[o++]<>>=1)){case 0:r.mode=Ni;break;case 1:if(go(r),r.mode=Xi,t===bi){l>>>=2,f-=2;break e}break;case 2:r.mode=Wi;break;case 3:e.msg=\"invalid block type\",r.mode=no}l>>>=2,f-=2;break;case Ni:for(l>>>=7&f,f-=7&f;f<32;){if(0===s)break e;s--,l+=n[o++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=no;break}if(r.length=65535&l,l=0,f=0,r.mode=Zi,t===bi)break e;case Zi:r.mode=ji;case ji:if(d=r.length){if(d>s&&(d=s),d>h&&(d=h),0===d)break e;jt(i,n,o,d,a),s-=d,o+=d,h-=d,a+=d,r.length-=d;break}r.mode=Hi;break;case Wi:for(;f<14;){if(0===s)break e;s--,l+=n[o++]<>>=5,f-=5,r.ndist=1+(31&l),l>>>=5,f-=5,r.ncode=4+(15&l),l>>>=4,f-=4,r.nlen>286||r.ndist>30){e.msg=\"too many length or distance symbols\",r.mode=no;break}r.have=0,r.mode=Yi;case Yi:for(;r.have>>=3,f-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},E=di(pi,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg=\"invalid code lengths set\",r.mode=no;break}r.have=0,r.mode=Ki;case Ki:for(;r.have>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=g,f-=g,r.lens[r.have++]=w;else{if(16===w){for(x=g+2;f>>=g,f-=g,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=no;break}k=r.lens[r.have-1],d=3+(3&l),l>>>=2,f-=2}else if(17===w){for(x=g+3;f>>=g)),l>>>=3,f-=3}else{for(x=g+7;f>>=g)),l>>>=7,f-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=no;break}for(;d--;)r.lens[r.have++]=k}}if(r.mode===no)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=no;break}if(r.lenbits=9,S={bits:r.lenbits},E=di(_i,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg=\"invalid literal/lengths set\",r.mode=no;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},E=di(gi,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,E){e.msg=\"invalid distances set\",r.mode=no;break}if(r.mode=Xi,t===bi)break e;case Xi:r.mode=qi;case qi:if(s>=6&&h>=258){e.next_out=a,e.avail_out=h,e.next_in=o,e.avail_in=s,r.hold=l,r.bits=f,ri(e,u),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,r.mode===Hi&&(r.back=-1);break}for(r.back=0;v=(R=r.lencode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,r.length=w,0===v){r.mode=Qi;break}if(32&v){r.back=-1,r.mode=Hi;break}if(64&v){e.msg=\"invalid literal/length code\",r.mode=no;break}r.extra=15&v,r.mode=Vi;case Vi:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Gi;case Gi:for(;v=(R=r.distcode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,64&v){e.msg=\"invalid distance code\",r.mode=no;break}r.offset=w,r.extra=15&v,r.mode=$i;case $i:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=no;break}r.mode=Ji;case Ji:if(0===h)break e;if(d=u-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=no;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),_=r.window}else _=i,p=a-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{i[a++]=_[p++]}while(--d);0===r.length&&(r.mode=qi);break;case Qi:if(0===h)break e;i[a++]=r.length,h--,r.mode=qi;break;case eo:if(r.wrap){for(;f<32;){if(0===s)break e;s--,l|=n[o++]<=o.wsize?(jt(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((i=o.wsize-o.wnext)>n&&(i=n),jt(o.window,t,r-n,i,o.wnext),(n-=i)?(jt(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whaveyo)throw new TypeError(\"Bad argument\");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function ko(e,t){for(var r=0;r15&&(a=2,n-=16),i<1||i>vn||r!==gn||n<8||n>15||t<0||t>9||o<0||o>pn)return Hn(e,sn);8===n&&(n=9);var s=new $n;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<So.Z_MAX_CHUNK))throw new Error(\"Invalid chunk size: \"+e.chunkSize);if(e.windowBits&&(e.windowBitsSo.Z_MAX_WINDOWBITS))throw new Error(\"Invalid windowBits: \"+e.windowBits);if(e.level&&(e.levelSo.Z_MAX_LEVEL))throw new Error(\"Invalid compression level: \"+e.level);if(e.memLevel&&(e.memLevelSo.Z_MAX_MEMLEVEL))throw new Error(\"Invalid memLevel: \"+e.memLevel);if(e.strategy&&e.strategy!=So.Z_FILTERED&&e.strategy!=So.Z_HUFFMAN_ONLY&&e.strategy!=So.Z_RLE&&e.strategy!=So.Z_FIXED&&e.strategy!=So.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+e.strategy);if(e.dictionary&&!$(e.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\");this._binding=new So.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(e,t){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=t,n.code=So.codes[t],r.emit(\"error\",n)};var n=So.Z_DEFAULT_COMPRESSION;\"number\"==typeof e.level&&(n=e.level);var i=So.Z_DEFAULT_STRATEGY;\"number\"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||So.Z_DEFAULT_WINDOWBITS,n,e.memLevel||So.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new p(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once(\"end\",this.close)}Object.keys(xo).forEach(function(e){xo[xo[e]]=e}),Be(Io,Ot),Io.prototype.params=function(e,t,r){if(eSo.Z_MAX_LEVEL)throw new RangeError(\"Invalid compression level: \"+e);if(t!=So.Z_FILTERED&&t!=So.Z_HUFFMAN_ONLY&&t!=So.Z_RLE&&t!=So.Z_FIXED&&t!=So.Z_DEFAULT_STRATEGY)throw new TypeError(\"Invalid strategy: \"+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(So.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else de(r)},Io.prototype.reset=function(){return this._binding.reset()},Io.prototype._flush=function(e){this._transform(new p(0),\"\",e)},Io.prototype.flush=function(e,t){var r=this._writableState;if((\"function\"==typeof e||void 0===e&&!t)&&(t=e,e=So.Z_FULL_FLUSH),r.ended)t&&de(t);else if(r.ending)t&&this.once(\"end\",t);else if(r.needDrain){var n=this;this.once(\"drain\",function(){n.flush(t)})}else this._flushFlag=e,this.write(new p(0),\"\",t)},Io.prototype.close=function(e){if(e&&de(e),!this._closed){this._closed=!0,this._binding.close();var t=this;de(function(){t.emit(\"close\")})}},Io.prototype._transform=function(e,t,r){var n,i=this._writableState,o=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!$(e))return r(new Error(\"invalid input\"));o?n=So.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||So.Z_NO_FLUSH)),this._processChunk(e,n,r)},Io.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,o=0,a=this,s=\"function\"==typeof r;if(!s){var h,l=[],f=0;this.on(\"error\",function(e){h=e});do{var c=this._binding.writeSync(t,e,o,n,this._buffer,this._offset,i)}while(!this._hadError&&_(c[0],c[1]));if(this._hadError)throw h;var u=p.concat(l,f);return this.close(),u}var d=this._binding.write(t,e,o,n,this._buffer,this._offset,i);function _(h,c){if(!a._hadError){var u=i-c;if(function(e,t){if(!e)throw new Error(t)}(u>=0,\"have should not go down\"),u>0){var d=a._buffer.slice(a._offset,a._offset+u);a._offset+=u,s?a.push(d):(l.push(d),f+=d.length)}if((0===c||a._offset>=a._chunkSize)&&(i=a._chunkSize,a._offset=0,a._buffer=new p(a._chunkSize)),0===c){if(o+=n-h,n=h,!s)return!0;var g=a._binding.write(t,e,o,n,a._buffer,a._offset,a._chunkSize);return g.callback=_,void(g.buffer=e)}if(!s)return!1;r()}}d.buffer=e,d.callback=_},Be(Bo,Io),Be(zo,Io),Be(Lo,Io),Be(To,Io),Be(Mo,Io),Be(Co,Io),Be(Do,Io);var Po={codes:xo,createDeflate:function(e){return new Bo(e)},createInflate:function(e){return new zo(e)},createDeflateRaw:function(e){return new Mo(e)},createInflateRaw:function(e){return new Co(e)},createGzip:function(e){return new Lo(e)},createGunzip:function(e){return new To(e)},createUnzip:function(e){return new Do(e)},deflate:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Bo(t),e,r)},deflateSync:function(e,t){return Ao(new Bo(t),e)},gzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Lo(t),e,r)},gzipSync:function(e,t){return Ao(new Lo(t),e)},deflateRaw:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Mo(t),e,r)},deflateRawSync:function(e,t){return Ao(new Mo(t),e)},unzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Do(t),e,r)},unzipSync:function(e,t){return Ao(new Do(t),e)},inflate:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new zo(t),e,r)},inflateSync:function(e,t){return Ao(new zo(t),e)},gunzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new To(t),e,r)},gunzipSync:function(e,t){return Ao(new To(t),e)},inflateRaw:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Co(t),e,r)},inflateRawSync:function(e,t){return Ao(new Co(t),e)},Deflate:Bo,Inflate:zo,Gzip:Lo,Gunzip:To,DeflateRaw:Mo,InflateRaw:Co,Unzip:Do,Zlib:Io};export default class{constructor(e,t,r){this.SDKAPPID=e,this.EXPIRETIME=r,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log(\"sdkAppID=\"+this.SDKAPPID+\" key=\"+this.PRIVATEKEY+\" userID=\"+e+\" expire=\"+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error(\"expireTime must be a number\"),\"\"):(console.error(\"userID must be a string\"),\"\"):(console.error(\"privateKey must be a string\"),\"\"):(console.error(\"sdkAppID must be a number\"),\"\")}newBuffer(e,t){return p.from?p.from(e,t):new p(e,t)}unescape(e){return e.replace(/_/g,\"=\").replace(/\\-/g,\"/\").replace(/\\*/g,\"+\")}escape(e){return e.replace(/\\+/g,\"*\").replace(/\\//g,\"-\").replace(/=/g,\"_\")}encode(e){return this.escape(this.newBuffer(e).toString(\"base64\"))}decode(e){return this.newBuffer(this.unescape(e),\"base64\")}base64encode(e){return this.newBuffer(e).toString(\"base64\")}base64decode(e){return this.newBuffer(e,\"base64\").toString()}_hmacsha256(e,t,r,n){let i=\"TLS.identifier:\"+e+\"\\n\";i+=\"TLS.sdkappid:\"+this.SDKAPPID+\"\\n\",i+=\"TLS.time:\"+t+\"\\n\",i+=\"TLS.expire:\"+r+\"\\n\",null!=n&&(i+=\"TLS.userbuf:\"+n+\"\\n\");let o=te.HmacSHA256(i,this.PRIVATEKEY);return te.enc.Base64.stringify(o)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&(\"number\"==typeof e&&!isNaN(e-0)||\"object\"==typeof e&&e.constructor===Number)}_isString(e){return\"string\"==typeof e}genSigWithUserbuf(e,t,r){let n=this._utc(),i={\"TLS.ver\":\"2.0\",\"TLS.identifier\":e,\"TLS.sdkappid\":this.SDKAPPID,\"TLS.time\":n,\"TLS.expire\":t},o=\"\";if(null!=r){let a=this.base64encode(r);i[\"TLS.userbuf\"]=a,o=this._hmacsha256(e,n,t,a)}else o=this._hmacsha256(e,n,t,null);i[\"TLS.sig\"]=o;let a=JSON.stringify(i),s=Po.deflateSync(this.newBuffer(a)).toString(\"base64\"),h=this.escape(s);return console.log(\"ret=\"+h),h}validate(e){let t=this.decode(e),r=Po.inflateSync(t);console.log(\"validate ret=\"+r)}}\n","/*\n * @Description: Basic information configuration for TUIRoomKit applications\n * @Description: TUIRoomKit 应用的基础信息配置\n */\n\nimport LibGenerateTestUserSig from './lib-generate-test-usersig-es.min';\n\n/**\n * Tencent Cloud SDKAppId, which should be replaced with user's SDKAppId.\n * Enter Tencent Cloud TRTC [Console] (https://console.cloud.tencent.com/trtc ) to create an application,\n * and you will see the SDKAppId.\n * It is a unique identifier used by Tencent Cloud to identify users.\n *\n * 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。\n * 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,\n * 它是腾讯云用于区分客户的唯一标识。\n */\n\nexport const SDKAPPID = 1600003603;\n\n/**\n * Encryption key for calculating signature, which can be obtained in the following steps:\n *\n * Step1. Enter Tencent Cloud TRTC [Console](https://console.cloud.tencent.com/rav ),\n * and create an application if you don't have one.\n * Step2. Click your application to find \"Quick Start\".\n * Step3. Click \"View Secret Key\" to see the encryption key for calculating UserSig,\n * and copy it to the following variable.\n *\n * Notes: this method is only applicable for debugging Demo. Before official launch,\n * please migrate the UserSig calculation code and key to your backend server to avoid\n * unauthorized traffic use caused by the leakage of encryption key.\n * Document: https://intl.cloud.tencent.com/document/product/647/35166#Server\n *\n * 计算签名用的加密密钥,获取步骤如下:\n *\n * step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,\n * step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。\n * step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中\n *\n * 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。\n * 文档:https://cloud.tencent.com/document/product/647/17275#Server\n */\nexport const SECRETKEY = '545433057ab3402f73534e2c8f21125a4b6358cb723da9c0ddb194a4318fe5ce';\n\n/**\n * Signature expiration time, which should not be too short\n * Time unit: second\n * Default time: 7 * 24 * 60 * 60 = 604800 = 7days\n *\n * 签名过期时间,建议不要设置的过短\n * 时间单位:秒\n * 默认时间:7 x 24 x 60 x 60 = 604800 = 7 天\n */\nexport const EXPIRETIME = 604800;\n\n/**\n * Set user information on the push side\n *\n * 设置推流端用户信息\n */\nexport const userInfo = {\n // 用户Id\n userId: `user_${Math.ceil(Math.random() * 100000)}`,\n // 用户昵称\n userName: 'myName',\n // 用户头像\n avatarUrl: '',\n};\n\nexport function getBasicInfo() {\n if (SDKAPPID === Number(0) || SECRETKEY === String('')) {\n alert('Please configure your SDKAPPID in config/basic-info-config.js');\n return;\n }\n const generator = new LibGenerateTestUserSig(SDKAPPID, SECRETKEY, EXPIRETIME);\n const userSig = generator.genTestUserSig(userInfo.userId);\n const { userId, userName, avatarUrl } = userInfo;\n return {\n sdkAppId: SDKAPPID,\n userId,\n userSig,\n userName,\n avatarUrl,\n };\n};\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=79fbed35&scoped=true&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&id=79fbed35&prod&lang=css&\"\nimport style1 from \"./home.vue?vue&type=style&index=1&id=79fbed35&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79fbed35\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport Home from '../views/home.vue';\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n component: Home,\n },\n {\n path: '/home',\n name: 'home',\n component: Home,\n },\n {\n path: '/room',\n name: 'room',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/room.vue'),\n },\n];\n\nconst router = new VueRouter({\n routes,\n});\n\nexport default router;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + \"about\" + \".\" + \"65dec066\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + \"about\" + \".\" + \"531c7f1e\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"room-uikit-web-vue2:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"443\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkroom_uikit_web_vue2\"] = self[\"webpackChunkroom_uikit_web_vue2\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3470); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","_setup","_setupProxy","class","size","staticClass","_l","Array","fill","item","index","key","showAudioLevel","SvgIcon","attrs","iconName","staticRenderFns","_defineComponent","__name","props","audioVolume","isMuted","type","Boolean","isDisabled","setup","__props","computed","ICON_NAME","__sfc","component","isSampleMode","_v","_s","t","DeviceSelect","isDetailMode","on","handleMicrophoneTest","isTestingMicrophone","_e","volumeTotalNum","showVolume","volumeNum","speakerList","length","mode","SettingMode","DETAIL","handleSpeakerTest","isTestingSpeaker","settingMode","roomStore","useRoomStore","storeToRefs","value","localStream","ref","audioPlayer","document","createElement","useI18n","pause","currentTime","src","play","onBeforeUnmount","imgSrc","defaultAvatar","showDefaultAvatar","e","target","disabled","handleChange","model","currentDeviceId","callback","$$v","expression","deviceList","deviceId","deviceName","deviceType","onChange","roomEngine","useGetRoomEngine","cameraList","microphoneList","currentCameraId","currentMicrophoneId","currentSpeakerId","getDeviceList","getInitDeviceId","async","instance","setCurrentCameraDevice","setCurrentCameraId","setCurrentMicDevice","setCurrentMicrophoneId","setCurrentSpeakerDevice","setCurrentSpeakerId","basicStore","useBasicStore","i18n","setLang","localStorage","setItem","handleSwitchTheme","defaultTheme","currentTheme","body","getAttribute","setDefaultTheme","doSwitchTheme","theme","setAttribute","watch","val","onMounted","defaults","storageCurrentTheme","getItem","withPreview","isLocalStreamMirror","VideoProfile","handleMoreCameraSetting","localVideoQuality","videoProfileList","label","TUIVideoQuality","updateVideoQuality","quality","TUIRoomEngine","isElectron","isElectronEnv","trtcCloud","getTRTCCloud","isMobile","setLocalRenderParams","mirrorType","TRTCVideoMirrorType","rotation","TRTCVideoRotation","fillMode","TRTCVideoFillMode","setIsLocalStreamMirror","setShowSettingDialog","setActiveSettingTab","startCameraDeviceTest","view","onUnmounted","stopCameraDeviceTest","hideHoverEffect","$event","$emit","_t","isActive","title","hasMore","emits","svgClass","customClass","style","customStyle","handleClick","emit","svgName","validate","includes","event","visible","beforeClose","modal","direction","modelValue","appendToBody","width","directives","name","rawName","handleUserControl","avatarUrl","userName","userId","showUserControl","stopPropagation","useUserInfo","userInfoRef","showUserNameEdit","showEditNameItem","isInnerScene","tempUserName","hideUserControl","contains","showEditUserNameDialog","closeEditUserNameDialog","handleSaveUserName","setUserName","localUser","setLocalUser","ElMessage","message","duration","MESSAGE_DURATION","window","addEventListener","removeEventListener","Avatar","Dialog","UserInfo","UserInfoH5","UserInfoPc","WARNING_MESSAGE","LAYOUT","VueTouch","constructor","el","binding","dom","isMove","touchstart","passive","touchmove","touchend","Vue","bind","showClose","closeOnClickModal","closeOnPressEscape","$set","scopedSlots","_u","fn","proxy","DialogH5","DialogPC","Message","ElMessageBox","MessageBox","vueVersion","isVue3","callExperimentalAPI","JSON","stringify","api","params","language","and","Login","SEND","Save","Camera","Mic","Output","Speaker","Test","Stop","Preview","Mirror","Resolution","Room","Join","Sure","Sharing","Host","Me","me","More","Agree","Chat","Cancel","Exit","Members","Invite","Settings","EndPC","EndH5","Tips","Note","Confirm","Leave","Dismiss","Send","Check","Unmute","Mute","members","Reject","Screen","Window","Share","Grid","Unknown","Excellent","Good","Fair","Poor","Disconnected","Email","VueI18n","bridge","createI18n","legacy","locale","getLanguage","messages","ZH","EN","defineStore","state","sdkAppId","userSig","useStringRoomId","roomId","roomMode","isSidebarOpen","layout","showSettingDialog","showApplyUserList","activeSettingTab","isFrontCamera","sidebarName","masterUserId","localQuality","lang","isSupportSwitchTheme","showHeaderTool","shareLink","isRoomLinkVisible","isWeChat","getters","actions","setSdkAppId","setUserId","setUserSig","setAvatarUrl","setRoomId","setRoomMode","setSidebarOpenStatus","isOpen","setSidebarName","setLayout","show","setShowApplyUserList","tabName","mirror","setIsFrontCamera","isFront","setIsSupportSwitchTheme","setShowHeaderTool","setShareLink","setIsRoomLinkVisible","setBasicInfo","infoObj","isUndefined","setMasterUserId","setLocalQuality","userNetworkList","find","reset","hasAudioStream","hasVideoStream","hasScreenStream","userRole","TUIRole","onSeat","cameraStreamInfo","streamType","TUIVideoStreamType","isVisible","screenStreamInfo","remoteUserObj","isDefaultOpenCamera","isDefaultOpenMicrophone","canControlSelfAudio","canControlSelfVideo","isMicrophoneDisableForAllUser","isCameraDisableForAllUser","isMessageDisableForAllUser","speechMode","TUISpeechMode","maxMembersCount","hasVideoStreamObject","currentStreamIdListInVisibleView","hasOtherScreenShare","isMaster","isAnchor","isFreeSpeakMode","isSpeakAfterTakingSeatMode","isAudience","isLocalAudioIconDisable","micForbidden","isLocalVideoIconDisable","cameraForbidden","Object","assign","remoteStreamObj","obj","values","forEach","userInfo","isVideoVisible","isScreenVisible","remoteStreamList","streamList","streamNumber","remoteAnchorList","filter","userList","userNumber","applyToAnchorList","isUserApplyingToAnchor","defaultStreamType","keys","updateLocalStream","getUserName","getNewUserInfo","newUserInfo","isChatMutedByMaster","isInvitingUserToAnchor","setUserList","user","addRemoteUser","updateRemoteUser","remoteUser","nick","avatar","updateOnSeatList","seatList","seatedList","leftList","seat","updateUserVideoState","hasVideo","updatehasVideoStreamObject","isSelf","streamId","updateUserAudioState","hasAudio","removeRemoteUser","updateUserStreamVisible","streamIdList","slice","Number","indexOf","setAudioVolume","audioVolumeArray","audioVolumeItem","volume","remoteUserInfo","setRoomInfo","roomInfo","roomOwner","setDisableMicrophoneForAllUserByAdmin","isDisable","setDisableCameraForAllUserByAdmin","setDisableMessageAllUserByAdmin","setRoomParam","roomParam","isOpenCamera","isOpenMicrophone","defaultCameraId","defaultMicrophoneId","defaultSpeakerId","setCanControlSelfAudio","capability","setCanControlSelfVideo","setCameraList","setMicrophoneList","setSpeakerList","setMicrophoneDisableState","setCameraDisableState","setMuteUserChat","muted","setRemoteUserRole","role","setRequestUserOpenMic","options","isRequesting","requestId","isRequestingUserOpenMic","requestUserOpenMicRequestId","setRequestUserOpenCamera","isRequestingUserOpenCamera","requestUserOpenCameraRequestId","addApplyToAnchorUser","applyToAnchorRequestId","removeApplyToAnchorUser","addInviteToAnchorUser","inviteToAnchorRequestId","removeInviteToAnchorUser","setHasOtherScreenShare","hasScreenShare","getUrlParam","navigator","replace","toLowerCase","EUserEventNames","LogLevelType","LOG_LEVEL_DEBUG","LOG_LEVEL_LOG","LOG_LEVEL_INFO","LOG_LEVEL_WARN","LOG_LEVEL_ERROR","LOG_LEVEL_NON_LOGGING","LogContext","padMs","ms","len","toString","ret","getLogPrefix","context","date","Date","toLocaleTimeString","hour12","getMilliseconds","currentLogLevel","logger","debug","args","console","RENDER","log","info","warn","error","setLevel","newLevel","electron","ipcRenderer","send","ON_CHANGE_LOG_LEVEL","getLevel","isVue27","test","import","wx","getSystemInfoSync","fontSizeSetting","matchMedia","matches","clipBoard","data","Promise","resolve","reject","uni","setClipboardData","success","getClipboardData","code","fail","err","clipboard","writeText","debounce","delay","timer","clearTimeout","setTimeout","apply","throttle","previousTime","now","setFullScreen","element","fullScreenElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullScreen","msRequestFullscreen","exitFullScreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","exitFullScreenDocument","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","url","location","href","regexp","RegExp","paramMatch","match","userAgent","script","PiniaVuePlugin","pinia","createPinia","ElementUI","router","h","App","$mount","userAvatar","handleLogOut","givenRoomId","handleCreateRoom","handleEnterRoom","loading","isCameraMuted","IconButton","isMicMuted","toggleMuteAudio","handleMicSetting","AudioIcon","cameraIconName","toggleMuteVideo","handleCameraSetting","Drawer","isSettingOpen","settingTitle","handleDrawerClose","settingTab","AudioSettingTab","VideoSettingTab","expose","getRoomParam","startStreamPreview","tuiRoomParam","streamPreviewRef","stopMicDeviceTest","startMicDeviceTest","interval","onUserVoiceVolume","result","getCameraDevicesList","getMicDevicesList","getSpeakerDevicesList","hasCameraDevice","hasMicrophoneDevice","alertMessage","confirmButtonText","cameraInfo","getCurrentCameraDevice","micInfo","getCurrentMicDevice","speakerInfo","getCurrentSpeakerDevice","onDeviceChange","eventInfo","stateList","TRTCDeviceType","TRTCDeviceState","TUIRoomEvents","off","done","showRoomDetail","isEN","logoEn","enterRoom","createRoom","hasGivenRoomId","handleClose","isJoinRoom","domProps","handleInput","composing","chooseRoomType","roomType","currentUserName","handleInputName","toggle","isMicOn","isCamerOn","handleRoomOption","showMoreType","handleConfirm","chooseCurrentType","useRoomControl","logo","logoCn","showCreateRoomOption","moreTypeRef","Math","ceil","random","handleDocumentClick","String","immediate","showLogo","enterGivenRoom","handleMouseEnter","handleMouseLeave","default","RoomControl","RoomControlH5","RoomControlPc","global","self","r","n","Uint8Array","i","o","charCodeAt","a","s","push","join","l","f","c","u","d","NaN","pow","p","_","abs","isNaN","floor","LN2","isArray","call","TYPED_ARRAY_SUPPORT","RangeError","__proto__","prototype","Error","v","TypeError","ArrayBuffer","byteLength","w","isEncoding","m","write","y","b","copy","buffer","g","_isBuffer","isView","q","V","k","O","C","I","P","M","U","E","S","from","x","lastIndexOf","readUInt16BE","R","parseInt","substr","A","G","B","z","L","T","min","D","fromCharCode","poolSize","_augment","alloc","allocUnsafe","allocUnsafeSlow","isBuffer","$","compare","concat","swap16","swap32","swap64","arguments","equals","inspect","isFinite","toJSON","_arr","X","H","F","N","Z","j","W","Y","subarray","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","set","K","trim","J","Q","exports","globalThis","ee","create","lib","Base","extend","mixIn","hasOwnProperty","init","$super","clone","WordArray","words","sigBytes","clamp","enc","Hex","parse","Latin1","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","_doProcessBlock","splice","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","te","x64","Word","high","low","toX32","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","byteOffset","Utf16","Utf16BE","Utf16LE","Base64","_map","charAt","_reverseMap","sin","MD5","_hash","HmacMD5","SHA1","HmacSHA1","sqrt","SHA256","HmacSHA256","SHA224","HmacSHA224","SHA512","re","ne","ie","oe","ae","se","he","le","fe","ce","ue","de","pe","ge","ve","we","be","ye","ke","Ee","Se","HmacSHA512","SHA384","HmacSHA384","SHA3","outputLength","_state","HmacSHA3","RIPEMD160","HmacRIPEMD160","_hasher","_oKey","_iKey","PBKDF2","keySize","hasher","iterations","compute","EvpKDF","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","_xformMode","_key","process","ivSize","encrypt","decrypt","StreamCipher","BlockCipherMode","Encryptor","Decryptor","_cipher","_iv","CBC","_prevBlock","processBlock","encryptBlock","decryptBlock","pad","Pkcs7","unpad","BlockCipher","padding","iv","_mode","__creator","CipherParams","formatter","format","OpenSSL","ciphertext","salt","SerializableCipher","algorithm","_parse","kdf","execute","PasswordBasedCipher","CFB","CTR","_counter","CTRGladman","OFB","_keystream","ECB","AnsiX923","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","AES","_nRounds","_keyPriorReset","_keySchedule","_invKeySchedule","_doCryptBlock","DES","_subKeys","_invSubKeys","_lBlock","_rBlock","TripleDES","_des1","_des2","_des3","RC4","_S","_i","_j","RC4Drop","drop","Rabbit","_X","_C","_b","RabbitLegacy","run","fun","array","performance","_maxListeners","defaultMaxListeners","Ae","_events","newListener","listener","_eventsCount","unshift","warned","emitter","count","xe","removeListener","Re","mozNow","msNow","oNow","webkitNow","EventEmitter","usingDomains","domain","active","Domain","getPrototypeOf","setMaxListeners","getMaxListeners","domainEmitter","domainThrown","addListener","prependListener","once","prependOnceListener","pop","removeAllListeners","listeners","listenerCount","eventNames","Reflect","ownKeys","Be","super_","enumerable","writable","configurable","ze","Le","Ze","De","Ne","Ye","Te","je","Ce","seen","stylize","Pe","depth","colors","Fe","showHidden","customInspect","Ie","Oe","styles","qe","getOwnPropertyNames","Xe","Ue","We","Ke","toUTCString","Ge","He","map","reduce","getOwnPropertyDescriptor","get","split","Ve","$e","head","tail","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","undefined","null","string","next","shift","clear","Je","Qe","encoding","surrogateSize","detectIncompleteChar","tt","rt","et","charBuffer","charReceived","charLength","substring","end","ot","ReadableState","it","nt","toUpperCase","objectMode","Ct","readableObjectMode","highWaterMark","pipes","pipesCount","flowing","ended","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","_readableState","readable","read","_read","at","lt","ct","isPaused","setEncoding","st","ht","ft","pt","ut","dt","gt","vt","wt","bt","yt","chunk","mt","defineProperty","getBuffer","writableObjectMode","needDrain","ending","finished","decodeStrings","writing","corked","bufferProcessing","onwrite","_writableState","writecb","writelen","pendingcb","errorEmitted","Rt","bufferedRequest","xt","St","lastBufferedRequest","prefinished","bufferedRequestCount","corkedRequestsFree","zt","kt","_write","writev","_writev","Et","Bt","entry","finish","At","pipe","unpipe","resume","wrap","_fromList","WritableState","cork","uncork","setDefaultEncoding","Lt","Tt","Mt","allowHalfOpen","Dt","It","Pt","afterTransform","_transformState","transforming","writechunk","needTransform","writeencoding","Ot","transform","_transform","flush","_flush","Ut","Ht","Ft","Readable","Writable","Duplex","Transform","PassThrough","Stream","_isStdio","destroy","Nt","Zt","input","next_in","avail_in","total_in","output","next_out","avail_out","total_out","msg","data_type","adler","jt","Wt","Yt","Kt","Xt","qt","Vt","Gt","$t","Jt","Qt","er","tr","rr","nr","ir","or","ar","sr","hr","lr","fr","cr","ur","dr","pr","_r","gr","vr","wr","br","yr","mr","kr","Er","Sr","xr","Rr","Ar","static_tree","extra_bits","extra_base","elems","max_length","has_stree","Br","dyn_tree","max_code","stat_desc","zr","Lr","pending_buf","pending","Tr","bi_valid","bi_buf","Mr","Cr","Dr","Ir","dyn_ltree","dyn_dtree","bl_tree","opt_len","static_len","last_lit","Pr","Or","Ur","heap","heap_len","Hr","d_buf","l_buf","Fr","heap_max","bl_count","Nr","Zr","jr","Wr","l_desc","d_desc","bl_desc","Yr","Kr","Xr","level","strm","strategy","qr","lit_bufsize","Vr","Gr","$r","Jr","Qr","en","tn","rn","nn","an","sn","hn","ln","cn","un","dn","pn","_n","gn","vn","wn","bn","yn","mn","kn","En","Sn","xn","Rn","An","Bn","zn","Ln","Tn","Mn","Cn","Dn","In","Pn","On","Un","Hn","Fn","Nn","Zn","pending_out","jn","block_start","strstart","Wn","Yn","Kn","max_chain_length","prev_length","nice_match","w_size","w_mask","prev","good_match","lookahead","match_start","Xn","window_size","hash_size","insert","ins_h","hash_shift","hash_mask","qn","match_length","max_lazy_match","Vn","prev_match","match_available","Gn","good_length","max_lazy","nice_length","max_chain","func","$n","status","pending_buf_size","gzhead","gzindex","method","last_flush","w_bits","hash_bits","Jn","Qn","text","hcrc","extra","comment","time","os","ei","ti","ri","dmax","wsize","whave","wnext","hold","bits","lencode","distcode","lenbits","distbits","sane","ni","ii","oi","ai","si","hi","li","fi","ci","ui","di","pi","gi","vi","wi","bi","yi","mi","ki","Ei","Si","xi","Ri","Ai","Bi","zi","Li","Ti","Mi","Ci","Di","Ii","Pi","Oi","Ui","Hi","Fi","Ni","Zi","ji","Wi","Yi","Ki","Xi","qi","Vi","Gi","$i","Ji","Qi","eo","to","ro","no","io","oo","ao","so","ho","lo","last","havedict","flags","check","total","wbits","offset","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","back","was","fo","co","uo","po","_o","go","vo","xflags","extra_len","wo","bo","yo","mo","init_done","write_in_progress","pending_close","windowBits","memLevel","dictionary","ko","_error","_writeCheck","close","writeSync","_set","onerror","Eo","freeze","NONE","DEFLATE","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","UNZIP","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","Zlib","So","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","xo","Z_MEM_ERROR","Z_VERSION_ERROR","Ro","Ao","_processChunk","Bo","Io","zo","Lo","To","Mo","Co","Do","_opts","_chunkSize","chunkSize","_flushFlag","_binding","_hadError","errno","codes","_buffer","_offset","_closed","_level","_strategy","Po","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","deflate","deflateSync","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflate","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","Deflate","Inflate","Gzip","Gunzip","DeflateRaw","InflateRaw","Unzip","SDKAPPID","EXPIRETIME","PRIVATEKEY","genTestUserSig","_isNumber","_isString","genSigWithUserbuf","newBuffer","encode","decode","base64encode","base64decode","_hmacsha256","_utc","round","SECRETKEY","getBasicInfo","alert","generator","LibGenerateTestUserSig","components","LanguageIcon","StreamPreview","SwitchTheme","basicInfo","sessionStorage","methods","setTUIRoomData","action","isRoomExist","path","query","VueRouter","routes","Home","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","id","loaded","__webpack_modules__","amdO","deferred","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","definition","chunkId","all","promises","miniCssF","Function","prop","inProgress","dataWebpackPrefix","needAttach","scripts","getElementsByTagName","charset","timeout","nc","onScriptComplete","onload","doneFns","parentNode","removeChild","appendChild","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.b70fbb81.js","mappings":"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","sources":["webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioIcon.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioIcon.vue?8017","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioIcon.vue?577b","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioIcon.vue?84bc","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioSettingTab.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioSettingTab.vue?cda0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioSettingTab.vue?236d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/AudioSettingTab.vue?b735","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Avatar.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Avatar.vue?0945","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Avatar.vue?d955","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Avatar.vue?b1d0","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/DeviceSelect.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/DeviceSelect.vue?70f7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/DeviceSelect.vue?aa4d","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/DeviceSelect.vue?0dca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Language.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Language.vue?cbbe","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Language.vue?27b2","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/Language.vue?3483","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/SwitchTheme.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/SwitchTheme.vue?805c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/SwitchTheme.vue?17ec","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/SwitchTheme.vue?e265","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoSettingTab.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoProfile.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoProfile.vue?26b7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoProfile.vue?baa6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoProfile.vue?e787","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoSettingTab.vue?8cb7","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoSettingTab.vue?3e2c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/base/VideoSettingTab.vue?11b3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/IconButton.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/IconButton.vue?11d4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/IconButton.vue?ba5a","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/IconButton.vue?8544","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/SvgIcon.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/SvgIcon.vue?fc30","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/SvgIcon.vue?2009","webpack://room-uikit-web-vue2/./src/TUIRoom/components/common/SvgIcon.vue?4021","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Drawer.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Drawer.vue?520e","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Drawer.vue?5a2e","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Drawer.vue?666c","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/useUserInfoHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoH5.vue?aac6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoH5.vue?cda6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoH5.vue?75c4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoPC.vue?31ca","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoPC.vue?9df6","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/UserInfoPC.vue?bd08","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHeader/UserInfo/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/constants/icon.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/constants/message.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/constants/render.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/directives/vTap.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogH5.vue?6582","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogH5.vue?a69a","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogH5.vue?8a76","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogPC.vue?935f","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogPC.vue?4636","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/DialogPC.vue?94ac","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/Dialog/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/elementComp/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/hooks/useRoomEngine.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/locales/zh-CN.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/locales/en-US.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/locales/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/stores/basic.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/stores/room.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/common.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/common/logger/logger-constants.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/common/logger/logger-utils.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/common/logger/index.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/constants.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/useMediaValue.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/adapter.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/utils.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/utils/vue.ts","webpack://room-uikit-web-vue2/./src/App.vue","webpack://room-uikit-web-vue2/./src/App.vue?01fe","webpack://room-uikit-web-vue2/./src/main.ts","webpack://room-uikit-web-vue2/./src/views/home.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/StreamPreview.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/StreamPreview.vue?3d75","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/StreamPreview.vue?9048","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/StreamPreview.vue?55ef","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlH5.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/useRoomControlHooks.ts","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlH5.vue?07d3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlH5.vue?4724","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlH5.vue?009e","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlPC.vue","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlPC.vue?e576","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlPC.vue?52c4","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/RoomControlPC.vue?77a3","webpack://room-uikit-web-vue2/./src/TUIRoom/components/RoomHome/RoomControl/index.ts","webpack://room-uikit-web-vue2/./src/config/lib-generate-test-usersig-es.min.js","webpack://room-uikit-web-vue2/./src/config/basic-info-config.js","webpack://room-uikit-web-vue2/src/views/home.vue","webpack://room-uikit-web-vue2/./src/views/home.vue?a8eb","webpack://room-uikit-web-vue2/./src/views/home.vue?dafd","webpack://room-uikit-web-vue2/./src/router/index.ts","webpack://room-uikit-web-vue2/webpack/bootstrap","webpack://room-uikit-web-vue2/webpack/runtime/amd options","webpack://room-uikit-web-vue2/webpack/runtime/chunk loaded","webpack://room-uikit-web-vue2/webpack/runtime/compat get default export","webpack://room-uikit-web-vue2/webpack/runtime/define property getters","webpack://room-uikit-web-vue2/webpack/runtime/ensure chunk","webpack://room-uikit-web-vue2/webpack/runtime/get javascript chunk filename","webpack://room-uikit-web-vue2/webpack/runtime/get mini-css chunk filename","webpack://room-uikit-web-vue2/webpack/runtime/global","webpack://room-uikit-web-vue2/webpack/runtime/hasOwnProperty shorthand","webpack://room-uikit-web-vue2/webpack/runtime/load script","webpack://room-uikit-web-vue2/webpack/runtime/make namespace object","webpack://room-uikit-web-vue2/webpack/runtime/node module decorator","webpack://room-uikit-web-vue2/webpack/runtime/publicPath","webpack://room-uikit-web-vue2/webpack/runtime/css loading","webpack://room-uikit-web-vue2/webpack/runtime/jsonp chunk loading","webpack://room-uikit-web-vue2/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['audio-icon-container', `${_vm.size == 'small' && 'small' }`]},[_c('div',{staticClass:\"audio-level\"},_vm._l((new Array(5).fill('')),function(item,index){return _c('div',{key:index,staticClass:\"audio-level-item\",class:['audio-level-item', `${_setup.showAudioLevel > index && 'active'}`]})}),0),_c(_setup.SvgIcon,{staticClass:\"audio-icon\",attrs:{\"icon-name\":_setup.iconName}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { ICON_NAME } from '../../constants/icon';\n\ninterface Props {\n audioVolume?: number,\n isMuted?: boolean,\n size?: string,\n isDisabled?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioIcon',\n props: {\n audioVolume: null,\n isMuted: { type: Boolean },\n size: null,\n isDisabled: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n audioVolume?: number,\n isMuted?: boolean,\n size?: string,\n isDisabled?: boolean,\n}\n\n\n\nconst iconName = computed(() => {\n if (props.isDisabled) {\n return ICON_NAME.MicOffDisabled;\n }\n return props.isMuted ? ICON_NAME.MicOff : ICON_NAME.MicOn;\n});\n\nconst showAudioLevel = computed(() => {\n if (props.isMuted || !props.audioVolume) {\n return 0;\n }\n return ((props.audioVolume * 4) / 100) * 5;\n});\n\n\nreturn { __sfc: true,props, iconName, showAudioLevel, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioIcon.vue?vue&type=template&id=5bc7b022&scoped=true&\"\nimport script from \"./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioIcon.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioIcon.vue?vue&type=style&index=0&id=5bc7b022&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5bc7b022\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"audio-setting-tab\"},[_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Mic')))]),_c('div',{staticClass:\"flex\"},[_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"microphone\"}}),(_setup.isDetailMode)?_c('div',{staticClass:\"button\",on:{\"click\":_setup.handleMicrophoneTest}},[_vm._v(\" \"+_vm._s(_setup.isTestingMicrophone ? _setup.t('Stop') : _setup.t('Test'))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Output')))]),_c('div',{staticClass:\"mic-bar-container\"},_vm._l((new Array(_setup.volumeTotalNum).fill('')),function(item,index){return _c('div',{key:index,class:['mic-bar', `${_setup.showVolume && _setup.volumeNum > index ? 'active' : ''}`]})}),0)])]),((_setup.speakerList.length > 0))?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Speaker')))]),_c('div',{staticClass:\"flex\"},[_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"speaker\",\"disabled\":_vm.mode === _setup.SettingMode.DETAIL}}),(_setup.isDetailMode)?_c('div',{staticClass:\"button\",on:{\"click\":_setup.handleSpeakerTest}},[_vm._v(\" \"+_vm._s(_setup.isTestingSpeaker ? _setup.t('Stop') : _setup.t('Test'))+\" \")]):_vm._e()],1)])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onBeforeUnmount } from 'vue';\nimport DeviceSelect from './DeviceSelect.vue';\nimport { useRoomStore } from '../../stores/room';\nimport { SettingMode } from '../../constants/render';\nimport { useI18n } from '../../locales';\nimport { storeToRefs } from 'pinia';\n\n\ninterface Props {\n mode?: SettingMode,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AudioSettingTab',\n props: {\n mode: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n mode?: SettingMode,\n}\n\n\nconst settingMode = props.mode || SettingMode.SIMPLE;\nconst isSampleMode = computed(() => settingMode === SettingMode.SIMPLE);\nconst isDetailMode = computed(() => settingMode === SettingMode.DETAIL);\n\nconst roomStore = useRoomStore();\nconst { speakerList } = storeToRefs(roomStore);\n// const inputAudioLevel = ref(0);\n// const outputAudioLevel = ref(100);\n\nconst volumeTotalNum = computed(() => (isDetailMode.value ? 36 : 28));\n\nconst volumeNum = computed(() => (roomStore.localStream.audioVolume || 0) * volumeTotalNum.value / 100);\n\nconst showVolume = computed(() => isSampleMode.value || (isDetailMode.value && isTestingMicrophone.value));\n\nconst isTestingMicrophone = ref(false);\n\n/**\n * Click on the microphone [Test] button\n *\n * 点击麦克风【测试】按钮\n**/\nfunction handleMicrophoneTest() {\n isTestingMicrophone.value = !isTestingMicrophone.value;\n}\n\nconst isTestingSpeaker = ref(false);\nconst audioPlayer = document?.createElement('audio');\nconst { t } = useI18n();\n\n/**\n * Click on the speaker [Test] button\n *\n * 点击扬声器【测试】按钮\n**/\nfunction handleSpeakerTest() {\n if (isTestingSpeaker.value) {\n if (audioPlayer) {\n audioPlayer.pause();\n audioPlayer.currentTime = 0;\n }\n isTestingSpeaker.value = false;\n } else {\n isTestingSpeaker.value = true;\n if (audioPlayer) {\n audioPlayer.src = 'https://web.sdk.qcloud.com/trtc/electron/download/resources/media/TestSpeaker.mp3';\n audioPlayer.play();\n }\n }\n}\n\nonBeforeUnmount(() => {\n audioPlayer && audioPlayer.pause();\n});\n\n\nreturn { __sfc: true,props, settingMode, isSampleMode, isDetailMode, roomStore, speakerList, volumeTotalNum, volumeNum, showVolume, isTestingMicrophone, handleMicrophoneTest, isTestingSpeaker, audioPlayer, t, handleSpeakerTest, DeviceSelect, SettingMode }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./AudioSettingTab.vue?vue&type=template&id=ce40fa86&scoped=true&\"\nimport script from \"./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./AudioSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./AudioSettingTab.vue?vue&type=style&index=0&id=ce40fa86&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ce40fa86\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('img',{staticClass:\"default-avatar\",attrs:{\"src\":_vm.imgSrc || _setup.defaultAvatar,\"onerror\":_setup.showDefaultAvatar}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport defaultAvatar from '../../assets/imgs/avatar.png';\n\ninterface Props {\n imgSrc?: string | undefined\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Avatar',\n props: {\n imgSrc: null\n },\n setup(__props: any) {\n\n\n\nfunction showDefaultAvatar(e:any) {\n e.target.src = defaultAvatar;\n}\n\n\nreturn { __sfc: true,showDefaultAvatar, defaultAvatar }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=06750644&\"\nimport script from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=06750644&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-select',{staticClass:\"select custom-element-class\",attrs:{\"placeholder\":\"placeholder\",\"disabled\":_vm.disabled,\"teleported\":false,\"popper-append-to-body\":false},on:{\"change\":_setup.handleChange},model:{value:(_setup.currentDeviceId),callback:function ($$v) {_setup.currentDeviceId=$$v},expression:\"currentDeviceId\"}},_vm._l((_setup.deviceList),function(item){return _c('el-option',{key:item.deviceId,attrs:{\"label\":item.deviceName,\"value\":item.deviceId}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref } from 'vue';\nimport { useRoomStore } from '../../stores/room';\nimport { storeToRefs } from 'pinia';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { TRTCDeviceInfo } from '@tencentcloud/tuiroom-engine-js';\ninterface Props {\n deviceType: string,\n onChange?: (id: string) => void,\n disabled?: Boolean\n}\n// eslint-disable-next-line vue/no-setup-props-destructure\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DeviceSelect',\n props: {\n deviceType: null,\n onChange: null,\n disabled: null\n },\n setup(__props: any) {\n\nconst { deviceType, onChange, disabled = false } = __props as {\n deviceType: string,\n onChange?: (id: string) => void,\n disabled?: Boolean\n}\n\nconst roomEngine = useGetRoomEngine();\n\n\n\nconst roomStore = useRoomStore();\nconst {\n cameraList,\n microphoneList,\n speakerList,\n currentCameraId,\n currentMicrophoneId,\n currentSpeakerId,\n} = storeToRefs(roomStore);\n\n// @ts-ignore\nconst deviceList: Ref = ref(getDeviceList());\nconst currentDeviceId = ref(getInitDeviceId());\n\nfunction getInitDeviceId() {\n if (deviceType === 'camera') {\n return currentCameraId;\n }\n if (deviceType === 'microphone') {\n return currentMicrophoneId;\n }\n if (deviceType === 'speaker') {\n return currentSpeakerId;\n }\n return '';\n}\n\nfunction getDeviceList() {\n if (deviceType === 'camera') {\n return cameraList;\n }\n if (deviceType === 'microphone') {\n return microphoneList;\n }\n if (deviceType === 'speaker') {\n return speakerList;\n }\n return [];\n}\n\nasync function handleChange(deviceId: string) {\n onChange && onChange(deviceId);\n switch (deviceType) {\n case 'camera':\n await roomEngine.instance?.setCurrentCameraDevice({ deviceId });\n roomStore.setCurrentCameraId(deviceId);\n break;\n case 'microphone':\n await roomEngine.instance?.setCurrentMicDevice({ deviceId });\n roomStore.setCurrentMicrophoneId(deviceId);\n break;\n case 'speaker':\n await roomEngine.instance?.setCurrentSpeakerDevice({ deviceId });\n roomStore.setCurrentSpeakerId(deviceId);\n break;\n default:\n break;\n }\n}\n\nreturn { __sfc: true,roomEngine, roomStore, cameraList, microphoneList, speakerList, currentCameraId, currentMicrophoneId, currentSpeakerId, deviceList, currentDeviceId, getInitDeviceId, getDeviceList, handleChange }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DeviceSelect.vue?vue&type=template&id=160545a2&scoped=true&\"\nimport script from \"./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DeviceSelect.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DeviceSelect.vue?vue&type=style&index=0&id=160545a2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"160545a2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.SvgIcon,{staticClass:\"language-icon\",attrs:{\"icon-name\":\"lang\",\"size\":\"large\"},on:{\"click\":_setup.handleChange}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport i18n from '../../locales/index';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Language',\n setup(__props) {\n\nconst basicStore = useBasicStore();\n\nconst handleChange = (): void => {\n switch (i18n.global.locale.value) {\n case 'en-US':\n i18n.global.locale.value = 'zh-CN';\n basicStore.setLang('zh-CN');\n localStorage.setItem('tuiRoom-language', 'zh-CN');\n break;\n case 'zh-CN':\n i18n.global.locale.value = 'en-US';\n basicStore.setLang('en-US');\n localStorage.setItem('tuiRoom-language', 'en-US');\n break;\n }\n};\n\n\nreturn { __sfc: true,basicStore, handleChange, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=047176c6&\"\nimport script from \"./Language.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Language.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=047176c6&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.SvgIcon,{staticClass:\"switch-theme\",attrs:{\"icon-name\":\"switch-theme\",\"size\":\"medium\"},on:{\"click\":_setup.handleSwitchTheme}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { watch, onMounted } from 'vue';\nimport SvgIcon from '../common/SvgIcon.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { storeToRefs } from 'pinia';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SwitchTheme',\n setup(__props) {\n\nconst basicStore = useBasicStore();\nconst { defaultTheme } = storeToRefs(basicStore);\n\nfunction handleSwitchTheme() {\n const currentTheme = document.body.getAttribute('data-theme') || defaultTheme;\n if (currentTheme === 'white') {\n basicStore.setDefaultTheme('black');\n } else if (currentTheme === 'black') {\n basicStore.setDefaultTheme('white');\n }\n}\n\nfunction doSwitchTheme(theme: string) {\n switch (theme) {\n case 'black':\n document.body.setAttribute('data-theme', 'black');\n localStorage.setItem('tuiRoom-currentTheme', 'black');\n break;\n case 'white':\n document.body.setAttribute('data-theme', 'white');\n localStorage.setItem('tuiRoom-currentTheme', 'white');\n break;\n };\n}\n\nwatch(defaultTheme, (val: string) => {\n doSwitchTheme(val);\n});\n\nonMounted(() => {\n const defaults = basicStore.defaultTheme;\n const storageCurrentTheme = localStorage.getItem('tuiRoom-currentTheme') || defaults;\n basicStore.setDefaultTheme(storageCurrentTheme);\n document.body.setAttribute('data-theme', storageCurrentTheme);\n});\n\nreturn { __sfc: true,basicStore, defaultTheme, handleSwitchTheme, doSwitchTheme, SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchTheme.vue?vue&type=template&id=307438c7&\"\nimport script from \"./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SwitchTheme.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SwitchTheme.vue?vue&type=style&index=0&id=307438c7&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"video-tab\"},[_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Camera')))]),_c(_setup.DeviceSelect,{class:_setup.isDetailMode ? 'detail-select' : '',attrs:{\"device-type\":\"camera\"}})],1),(_setup.isDetailMode && _vm.withPreview)?_c('div',{staticClass:\"item-setting\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Preview')))]),_c('div',{staticClass:\"video-preview\",attrs:{\"id\":\"test-camera-preview\"}})]):_vm._e(),(_setup.isDetailMode)?_c('el-checkbox',{staticClass:\"mirror-checkbox custom-element-class\",attrs:{\"label\":_setup.t('Mirror')},model:{value:(_setup.isLocalStreamMirror),callback:function ($$v) {_setup.isLocalStreamMirror=$$v},expression:\"isLocalStreamMirror\"}}):_vm._e()],1),(_setup.isSampleMode)?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Resolution')))]),_c(_setup.VideoProfile)],1):_vm._e(),(_setup.isSampleMode)?_c('div',{class:['item-setting-container', _setup.isSampleMode && 'hasDividingLine']},[_c('div',{staticClass:\"item\",on:{\"click\":_setup.handleMoreCameraSetting}},[_vm._v(_vm._s(_setup.t('More Camera Settings')))])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-select',{staticClass:\"select custom-element-class\",attrs:{\"placeholder\":\"placeholder\",\"teleported\":false,\"popper-append-to-body\":false},model:{value:(_setup.localVideoQuality),callback:function ($$v) {_setup.localVideoQuality=$$v},expression:\"localVideoQuality\"}},_vm._l((_setup.videoProfileList),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, watch } from 'vue';\nimport { useI18n } from '../../locales';\n\nimport TUIRoomEngine, { TUIVideoQuality } from '@tencentcloud/tuiroom-engine-js';\nimport { useRoomStore } from '../../stores/room';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { storeToRefs } from 'pinia';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoProfile',\n setup(__props) {\n\nconst roomEngine = useGetRoomEngine();\nconst roomStore = useRoomStore();\nconst { localVideoQuality } = storeToRefs(roomStore);\n\nconst { t } = useI18n();\n\nconst videoProfileList = computed(() => [\n { label: t('Low Definition'), value: TUIVideoQuality.kVideoQuality_360p },\n { label: t('Standard Definition'), value: TUIVideoQuality.kVideoQuality_540p },\n { label: t('High Definition'), value: TUIVideoQuality.kVideoQuality_720p },\n { label: t('Super Definition'), value: TUIVideoQuality.kVideoQuality_1080p }]);\n\nwatch(localVideoQuality, (val: TUIVideoQuality) => {\n roomEngine.instance?.updateVideoQuality({ quality: val });\n});\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance?.updateVideoQuality({ quality: localVideoQuality.value });\n});\n\nreturn { __sfc: true,roomEngine, roomStore, localVideoQuality, t, videoProfileList }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoProfile.vue?vue&type=template&id=00a64cb2&scoped=true&\"\nimport script from \"./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoProfile.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoProfile.vue?vue&type=style&index=0&id=00a64cb2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00a64cb2\",\n null\n \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, Ref, watch, onMounted, onUnmounted } from 'vue';\nimport DeviceSelect from './DeviceSelect.vue';\nimport VideoProfile from './VideoProfile.vue';\nimport { useBasicStore } from '../../stores/basic';\nimport { SettingMode } from '../../constants/render';\nimport { isElectronEnv } from '../../utils/utils';\nimport { useI18n } from '../../locales';\n\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { TRTCVideoMirrorType, TRTCVideoRotation, TRTCVideoFillMode } from '@tencentcloud/tuiroom-engine-js';\nimport { isMobile } from '../../utils/useMediaValue';\ninterface Props {\n mode?: SettingMode,\n withPreview?: boolean,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'VideoSettingTab',\n props: {\n mode: null,\n withPreview: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n mode?: SettingMode,\n withPreview?: boolean,\n}\n\nconst roomEngine = useGetRoomEngine();\nconst isElectron = isElectronEnv();\n\n\nconst settingMode = props.mode || SettingMode.SIMPLE;\nconst isSampleMode = computed(() => settingMode === SettingMode.SIMPLE);\nconst isDetailMode = computed(() => settingMode === SettingMode.DETAIL);\n\nconst basicStore = useBasicStore();\n\nconst isLocalStreamMirror: Ref = ref(basicStore.isLocalStreamMirror);\nwatch(isLocalStreamMirror, async (val: boolean) => {\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n if (isMobile) {\n await trtcCloud?.setLocalRenderParams({\n mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n } else {\n await trtcCloud?.setLocalRenderParams({\n mirrorType: val\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n basicStore.setIsLocalStreamMirror(val);\n});\n\nconst { t } = useI18n();\n\n/**\n * Click [More Camera Settings].\n *\n * 点击【更多摄像头设置】\n**/\nfunction handleMoreCameraSetting() {\n basicStore.setShowSettingDialog(true);\n basicStore.setActiveSettingTab('video');\n}\n\nif (isDetailMode.value && props.withPreview) {\n onMounted(async () => {\n roomEngine.instance?.startCameraDeviceTest({ view: 'test-camera-preview' });\n if (isElectron) {\n // Electron 需要首次设置 mirrorType\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n await trtcCloud?.setLocalRenderParams({\n mirrorType: isLocalStreamMirror.value\n ? TRTCVideoMirrorType.TRTCVideoMirrorType_Enable : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable,\n rotation: TRTCVideoRotation.TRTCVideoRotation0,\n fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n });\n }\n });\n\n onUnmounted(() => {\n roomEngine.instance?.stopCameraDeviceTest();\n });\n}\n\n\nreturn { __sfc: true,roomEngine, isElectron, props, settingMode, isSampleMode, isDetailMode, basicStore, isLocalStreamMirror, t, handleMoreCameraSetting, DeviceSelect, VideoProfile }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./VideoSettingTab.vue?vue&type=template&id=7cf837b8&scoped=true&\"\nimport script from \"./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./VideoSettingTab.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./VideoSettingTab.vue?vue&type=style&index=0&id=7cf837b8&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cf837b8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:['icon-box', `${!_vm.hideHoverEffect && 'hover-effect'}`, `${_vm.disabled && 'disabled'}`]},[_c('span',{staticClass:\"icon-content\",on:{\"click\":function($event){return _vm.$emit('click-icon')}}},[(_vm.iconName)?_c(_setup.SvgIcon,{attrs:{\"icon-name\":_vm.iconName}}):_vm._e(),_vm._t(\"default\"),_c('span',{staticClass:\"title\",class:_vm.isActive ? 'title-active' : 'title'},[_vm._v(_vm._s(_vm.title))])],2),(_vm.hasMore)?_c('span',{ref:\"moreSpanRef\",staticClass:\"icon-arrow\",on:{\"click\":function($event){return _vm.$emit('click-more')}}},[_c(_setup.SvgIcon,{staticClass:\"arrow\",attrs:{\"icon-name\":\"arrow-up\",\"size\":\"small\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport SvgIcon from '../common/SvgIcon.vue';\n\ninterface Props {\n title: string,\n iconName?: string,\n hasMore?: boolean,\n hideHoverEffect?: boolean,\n disabled?: boolean,\n isActive?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'IconButton',\n props: {\n title: null,\n iconName: null,\n hasMore: { type: Boolean },\n hideHoverEffect: { type: Boolean },\n disabled: { type: Boolean },\n isActive: { type: Boolean }\n },\n emits: ['click-icon', 'click-more'],\n setup(__props: any) {\n\n\n\n\n\nreturn { __sfc: true,SvgIcon }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./IconButton.vue?vue&type=template&id=3303a58b&scoped=true&\"\nimport script from \"./IconButton.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./IconButton.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./IconButton.vue?vue&type=style&index=0&id=3303a58b&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3303a58b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{class:[_setup.svgClass, _vm.customClass],style:(_vm.customStyle),on:{\"click\":_setup.handleClick}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue';\n\ninterface Props {\n iconName: string,\n size?: string,\n customClass?: string,\n customStyle?: any,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'SvgIcon',\n props: {\n iconName: null,\n size: null,\n customClass: null,\n customStyle: null\n },\n emits: ['click'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n iconName: string,\n size?: string,\n customClass?: string,\n customStyle?: any,\n}\n\n\n\nconst svgName = computed((): string => `${props.iconName}`);\nconst svgClass = computed((): string => {\n const validate = props.size && ['large', 'medium', 'small', 'custom'].includes(props.size);\n const size = validate ? props.size : 'large';\n return `svg-icon ${size}-icon ${svgName.value}`;\n});\n\nfunction handleClick(event: Event) {\n emit('click', event);\n}\n\nreturn { __sfc: true,props, emit, svgName, svgClass, handleClick }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./SvgIcon.vue?vue&type=template&id=52c6be46&scoped=true&\"\nimport script from \"./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./SvgIcon.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./SvgIcon.vue?vue&type=style&index=0&id=52c6be46&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"52c6be46\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-drawer',{attrs:{\"visible\":_setup.visible,\"title\":_setup.props.title,\"before-close\":_setup.props.beforeClose,\"modal\":_setup.props.modal,\"direction\":_setup.props.direction,\"size\":_setup.props.size},on:{\"update:visible\":function($event){_setup.visible=$event}}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, Ref, computed, watch } from 'vue';\n\ninterface Props {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n direction?: string,\n size?: number | string,\n customClass?: string,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'Drawer',\n props: {\n modelValue: { type: Boolean },\n title: null,\n beforeClose: null,\n modal: { type: Boolean },\n appendToBody: { type: Boolean },\n width: null,\n direction: null,\n size: null,\n customClass: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n direction?: string,\n size?: number | string,\n customClass?: string,\n}\n\n\n\n\nconst visible: Ref = ref(props.modelValue);\n\nwatch(() => props.modelValue, (val) => {\n visible.value = val;\n});\n\n\nreturn { __sfc: true,props, visible }\n}\n\n})","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Drawer.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Drawer.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Drawer.vue?vue&type=template&id=02a8d5b4&\"\nimport script from \"./Drawer.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Drawer.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Drawer.vue?vue&type=style&index=0&id=02a8d5b4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"userInfoRef\",staticClass:\"user-info-container\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleUserControl),expression:\"handleUserControl\"}],staticClass:\"user-info-content\"},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":_vm.avatarUrl || _setup.defaultAvatar}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.userName || _vm.userId))])]),(_setup.showUserControl)?_c('div',{staticClass:\"user-control-container\"},[_c('div',{staticClass:\"logout-mobile\"},[_c('div',{staticClass:\"logout-mobile-main\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _vm.$emit('log-out')),expression:\"() => $emit('log-out')\"}],staticClass:\"logout\"},[_c('i',[_vm._v(\" \"+_vm._s(_setup.t('Log out')))])]),_c('div',{staticClass:\"close\",on:{\"click\":function($event){$event.stopPropagation();_setup.showUserControl = false}}},[_c('i',[_vm._v(_vm._s(_setup.t('Cancel')))])])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, onMounted, computed, onUnmounted, Ref } from 'vue';\nimport { ICON_NAME } from '../../../constants/icon';\nimport { useI18n } from '../../../locales';\nimport { useBasicStore } from '../../../stores/basic';\nimport { storeToRefs } from 'pinia';\nimport { ElMessage } from '../../../elementComp';\nimport { MESSAGE_DURATION } from '../../../constants/message';\nimport TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';\nimport { useRoomStore } from '../../../stores/room';\nimport { isInnerScene } from '../../../utils/constants';\nexport default function useUserInfo() {\n const { t } = useI18n();\n const basicStore = useBasicStore();\n const { userName } = storeToRefs(basicStore);\n\n const userInfoRef = ref();\n const showUserControl = ref(false);\n const showUserNameEdit: Ref = ref(false);\n\n const showEditNameItem: Ref = ref(isInnerScene);\n\n const tempUserName = ref('');\n const roomStore = useRoomStore();\n\n const iconName = computed(() => (showUserControl.value ? ICON_NAME.LineArrowUp : ICON_NAME.LineArrowDown));\n\n /**\n * Whether to display the user information operation box\n *\n * 是否显示用户信息操作框\n **/\n function handleUserControl() {\n showUserControl.value = !showUserControl.value;\n }\n\n /**\n * Hide the user information action box\n *\n * 隐藏用户信息操作框\n **/\n function hideUserControl(event: Event) {\n if (!userInfoRef.value.contains(event.target)) {\n showUserControl.value = false;\n }\n }\n\n /**\n * Show change name dialog\n *\n * 展示修改名字 dialog\n **/\n function showEditUserNameDialog() {\n showUserNameEdit.value = true;\n tempUserName.value = userName.value;\n }\n\n /**\n * Close the modify name dialog\n *\n * 关闭修改名字的 dialog\n **/\n function closeEditUserNameDialog() {\n showUserNameEdit.value = false;\n }\n\n /**\n * Save the new userName\n *\n * 保存新的 userName\n **/\n async function handleSaveUserName(userName: string) {\n if (userName.length === 0) {\n ElMessage({\n type: 'warning',\n message: t('Username length should be greater than 0'),\n duration: MESSAGE_DURATION.NORMAL,\n });\n return;\n }\n basicStore.setUserName(userName);\n TUIRoomEngine.setSelfInfo({ userName, avatarUrl: roomStore.localUser.avatarUrl || '' });\n roomStore.setLocalUser({ userName });\n closeEditUserNameDialog();\n }\n\n\n onMounted(() => {\n window.addEventListener('click', hideUserControl);\n });\n\n onUnmounted(() => {\n window.removeEventListener('click', hideUserControl);\n });\n return {\n t,\n showEditNameItem,\n showUserControl,\n iconName,\n showUserNameEdit,\n userInfoRef,\n tempUserName,\n handleUserControl,\n showEditUserNameDialog,\n closeEditUserNameDialog,\n handleSaveUserName,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport defaultAvatar from '../../../assets/imgs/avatar.png';\nimport useUserInfo from './useUserInfoHooks';\nimport '../../../directives/vTap';\ninterface Props {\n userId: string,\n userName: string,\n avatarUrl?: string,\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfoH5',\n props: {\n userId: null,\n userName: null,\n avatarUrl: null\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst {\n userInfoRef,\n showUserControl,\n t,\n handleUserControl,\n} = useUserInfo();\n\n\n\nreturn { __sfc: true,userInfoRef, showUserControl, t, handleUserControl, defaultAvatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./UserInfoH5.vue?vue&type=template&id=13917005&\"\nimport script from \"./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./UserInfoH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./UserInfoH5.vue?vue&type=style&index=0&id=13917005&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{ref:\"userInfoRef\",staticClass:\"user-info-container\"},[_c('div',{staticClass:\"user-info-content\",on:{\"click\":_setup.handleUserControl}},[_c(_setup.Avatar,{staticClass:\"avatar\",attrs:{\"img-src\":_vm.avatarUrl}}),_c('div',{staticClass:\"name\"},[_vm._v(_vm._s(_vm.userName || _vm.userId))]),_c(_setup.SvgIcon,{staticClass:\"down-icon\",attrs:{\"icon-name\":_setup.iconName,\"size\":\"medium\"}})],1),(_setup.showUserControl)?_c('div',{staticClass:\"user-control-container\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showEditNameItem),expression:\"showEditNameItem\"}]},[_c('div',{staticClass:\"user-control-item-head\",on:{\"click\":_setup.showEditUserNameDialog}},[_vm._v(_vm._s(_setup.t('Edit profile')))])]),_c('div',{staticClass:\"user-control-item-foot\",on:{\"click\":function($event){return _vm.$emit('log-out')}}},[_vm._v(_vm._s(_setup.t('Log out')))])]):_vm._e(),_c(_setup.Dialog,{staticClass:\"custom-element-class\",attrs:{\"title\":_setup.t('Edit profile'),\"width\":\"420px\",\"model-value\":_setup.showUserNameEdit,\"modal\":true,\"append-to-body\":false,\"close-on-click-modal\":true},on:{\"close\":_setup.closeEditUserNameDialog}},[_c('div',{staticClass:\"dialog-content\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('User Name')))]),_c('div',{staticClass:\"input-container\"},[_c('el-input',{attrs:{\"type\":\"text\",\"maxlength\":\"80\",\"placeholder\":_setup.t('Please input user name')},model:{value:(_setup.tempUserName),callback:function ($$v) {_setup.tempUserName=$$v},expression:\"tempUserName\"}})],1)]),_c('div',{staticClass:\"dialog-footer\"},[_c('el-button',{on:{\"click\":_setup.closeEditUserNameDialog}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _setup.handleSaveUserName(_setup.tempUserName)}}},[_vm._v(_vm._s(_setup.t('Save')))])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport Dialog from '../../../elementComp/Dialog';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useUserInfo from './useUserInfoHooks';\nimport Avatar from '../../base/Avatar.vue';\ninterface Props {\n userId: string,\n userName: string,\n avatarUrl?: string,\n }\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfoPC',\n props: {\n userId: null,\n userName: null,\n avatarUrl: null\n },\n emits: ['log-out'],\n setup(__props: any) {\n\nconst {\n t,\n showEditNameItem,\n iconName,\n showUserControl,\n showUserNameEdit,\n userInfoRef,\n tempUserName,\n handleUserControl,\n showEditUserNameDialog,\n closeEditUserNameDialog,\n handleSaveUserName } = useUserInfo();\n \n\n\nreturn { __sfc: true,t, showEditNameItem, iconName, showUserControl, showUserNameEdit, userInfoRef, tempUserName, handleUserControl, showEditUserNameDialog, closeEditUserNameDialog, handleSaveUserName, Dialog, SvgIcon, Avatar }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./UserInfoPC.vue?vue&type=template&id=6645c3b3&\"\nimport script from \"./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./UserInfoPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./UserInfoPC.vue?vue&type=style&index=0&id=6645c3b3&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport UserInfoH5 from './UserInfoH5.vue';\nimport UserInfoPc from './UserInfoPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\n\nconst UserInfo = isMobile ? UserInfoH5 : UserInfoPc;\n\nexport default UserInfo;\n\n","export enum ICON_NAME {\n MicOn = 'mic-on',\n MicOff = 'mic-off',\n MicOffDisabled = 'mic-off-gray',\n CameraOn = 'camera-on',\n CameraOff = 'camera-off',\n CameraOffDisabled = 'camera-off-gray',\n ArrowBorderDown = 'arrow-border-down',\n ScreenSharing = 'screen-sharing',\n ScreenShare = 'screen-share',\n ScreenShareStopped = 'screen-share-stopped',\n ScreenShareDisabled = 'screen-share-disabled',\n ChatActive = 'chat-active',\n Chat = 'chat',\n ExitFullScreen = 'exit-fullscreen',\n FullScreen = 'full-screen',\n InviteActive = 'invite-active',\n Invite = 'invite',\n ManageMemberActive = 'manage-member-active',\n ManageMember = 'manage-member',\n More = 'more',\n MoreActive = 'more-active',\n SettingActive = 'setting-active',\n Setting = 'setting',\n LineArrowUp = 'line-arrow-up',\n LineArrowDown = 'line-arrow-down',\n ApplyOnSeat = 'apply',\n ApplyActive = 'apply-active',\n GoOffSeat = 'go-off-seat',\n}\n","export enum WARNING_MESSAGE {\n UNMUTE_LOCAL_MIC_FAIL_MUTE_ALL = 'Has been fully muted and cannot open the microphone',\n UNMUTE_LOCAL_MIC_FAIL_MUTE_BY_MASTER = 'Has been muted by the host and cannot open the microphone',\n UNMUTE_LOCAL_MIC_FAIL_AUDIENCE = 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n UNMUTE_LOCAL_CAMERA_FAIL_MUTE_ALL = 'Has been full static painting, can not open the video',\n UNMUTE_LOCAL_CAMERA_FAIL_MUTE_BY_MASTER = 'It has been stilled by the host and cannot open the video',\n UNMUTE_LOCAL_CAMERA_FAIL_AUDIENCE = 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n};\n\nexport enum MESSAGE_DURATION {\n NORMAL = 3000,\n LONG = 5000\n};\n","\nexport enum LAYOUT {\n SIX_EQUAL_POINTS = 'six_equal_points',\n NINE_EQUAL_POINTS = 'nine_equal_points',\n TWENTY_FIVE_EQUAL_POINTS = 'twenty_five_equal_points',\n RIGHT_SIDE_LIST = 'right_side_list',\n TOP_SIDE_LIST = 'top_side_list',\n LARGE_SMALL_WINDOW = 'large_small_window',\n GRID_VIEW= 'grid_view',\n};\n\nexport enum SettingMode {\n SIMPLE = 'simple',\n DETAIL = 'detail',\n}\n","import Vue from '../utils/vue';\n\nclass VueTouch {\n public dom: HTMLElement;\n public callback: Function;\n public isMove: boolean;\n\n constructor(el: HTMLElement, binding: any) {\n this.dom = el;\n this.callback = binding.value;\n\n this.isMove = false;\n\n el?.addEventListener('touchstart', () => {\n this.touchstart();\n }, { passive: true });\n\n el?.addEventListener('touchmove', () => {\n this.touchmove();\n }, { passive: true});\n\n el?.addEventListener('touchend', () => {\n this.touchend();\n }, { passive: true});\n }\n\n touchstart() {\n this.isMove = false;\n }\n\n touchmove() {\n this.isMove = true;\n }\n\n touchend() {\n if (!this.isMove) {\n this.callback();\n }\n }\n}\n\nVue.directive('tap', {\n bind: function (el: HTMLElement, binding: any) {\n return new VueTouch(el, binding);\n }\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.props.modelValue)?_c('div',{staticClass:\"dialog-container\"},[_c('span',{staticClass:\"dialog-title\"},[_vm._v(_vm._s(_setup.props.title))]),_c('div',{staticClass:\"dialog-content\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"dialog-footer\"},[_vm._t(\"footer\")],2)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\ninterface Props {\n modelValue: boolean,\n title?: string,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DialogH5',\n props: {\n modelValue: { type: Boolean },\n title: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n}\n\n\n\n\nreturn { __sfc: true,props }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DialogH5.vue?vue&type=template&id=a402edee&\"\nimport script from \"./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DialogH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DialogH5.vue?vue&type=style&index=0&id=a402edee&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('el-dialog',{attrs:{\"visible\":_setup.props.modelValue,\"title\":_setup.props.title,\"before-close\":_setup.props.beforeClose,\"modal\":_setup.props.modal,\"append-to-body\":_setup.props.appendToBody,\"width\":_setup.props.width,\"show-close\":_setup.props.showClose,\"close-on-click-modal\":_setup.props.closeOnClickModal,\"close-on-press-escape\":_setup.props.closeOnPressEscape,\"modal-append-to-body\":false},on:{\"update:visible\":function($event){return _vm.$set(_setup.props, \"modelValue\", $event)}},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_vm._t(\"footer\")]},proxy:true}],null,true)},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\ninterface Props {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n showClose?: boolean,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DialogPC',\n props: {\n modelValue: { type: Boolean },\n title: null,\n beforeClose: null,\n modal: { type: Boolean },\n appendToBody: { type: Boolean },\n width: null,\n showClose: { type: Boolean },\n closeOnClickModal: { type: Boolean },\n closeOnPressEscape: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n modelValue: boolean,\n title?: string,\n beforeClose?: Function,\n modal?: boolean,\n appendToBody?: boolean,\n width?: string,\n showClose?: boolean,\n closeOnClickModal?: boolean,\n closeOnPressEscape?: boolean,\n}\n\n\n\n\n\nreturn { __sfc: true,props }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./DialogPC.vue?vue&type=template&id=0abc050e&\"\nimport script from \"./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./DialogPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./DialogPC.vue?vue&type=style&index=0&id=0abc050e&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DialogH5 from './DialogH5.vue';\nimport DialogPC from './DialogPC.vue';\nimport { isMobile } from '../../utils/useMediaValue';\nconst Dialog = isMobile ? DialogH5 : DialogPC;\n\nexport default Dialog;\n","import { Message, MessageBox } from 'element-ui';\n\nconst ElMessage = Message;\n\nconst ElMessageBox = MessageBox;\n\nexport { ElMessage, ElMessageBox };","import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';\nimport { isVue3 } from '../utils/constants';\n\nconst roomEngine: Record = { instance: null };\nconst vueVersion = isVue3 ? 'vue3' : 'vue2';\nexport default function useGetRoomEngine() {\n return roomEngine;\n}\n\nTUIRoomEngine.once('ready', () => {\n roomEngine.instance = new TUIRoomEngine();\n roomEngine.instance?.callExperimentalAPI(JSON.stringify({\n api: 'setFramework',\n params: {\n component: 'TUIRoomKit',\n language: vueVersion,\n },\n }));\n});\n","export default {\n '': '',\n 'Sign in': '请登录',\n 'Phone Login': '手机登录',\n 'Email Login': '邮箱登录',\n 'I have read and agree to the': '我已阅读并同意',\n 'Privacy Policy': '隐私协议',\n and: '和',\n 'Terms of Use': '用户协议',\n Login: '登录',\n 'Mobile number': '请输入您的手机号',\n 'Verification code': '请输入验证码',\n 'Email address': '请输入邮箱',\n 'Please enter a valid phone number!': '请输入正确的手机号!',\n 'Please enter a valid email address!': '请输入正确的邮箱地址!',\n 'Please enter your phone number!': '请输入手机号!',\n 'Please enter your email address!': '请输入邮箱地址!',\n 'Please enter the verification code!': '请输入验证码!',\n 'Please accept the privacy policy and user agreement!': '请同意隐私协议及用户协议!',\n 'Incorrect verification code, please check the code!': '验证码错误,请检查验证码!',\n 'The verification code has expired, please retrieve a new one!': '验证码已过期,请重新获取验证码!',\n 'The verification code has been used, please retrieve a new one!': '验证码已使用,请重新获取验证码!',\n 'Login failed, please try again.': '登录失败,请重试',\n SEND: '获取验证码',\n ' ': '倒计时',\n 'The room does not exist, please confirm the room number or create a room!': '房间不存在,请确认房间号或创建房间!',\n 'Log out': '退出登录',\n 'Edit profile': '编辑资料',\n 'User Name': '用户名',\n 'Please input user name': '请输入用户名',\n 'Username length should be greater than 0': '昵称长度应该大于0',\n Save: '保存',\n Camera: '摄像头',\n Mic: '麦克风',\n 'Off Camera': '摄像头已关闭',\n 'Mic settings': '麦克风设置',\n Output: '输出',\n Speaker: '扬声器',\n Test: '测试',\n Stop: '停止测试',\n Preview: '视频画面',\n Mirror: '翻转镜像',\n Resolution: '分辨率',\n 'More Camera Settings': '更多摄像头设置',\n 'Join the room ?': '是否进入房间?',\n 'You are invited to room ': '您被邀请进入 ',\n Room: '房间',\n Join: '确定进入',\n 'New Room': '新建房间',\n 'Room Type': '房间类型',\n 'Your Name': '您的名字',\n 'Turn on the microphone': '开启麦克风',\n 'Turn on the speaker': '开启扬声器',\n 'Turn on the video': '开启视频',\n 'Free Speech Room': '自由发言房间',\n 'Raise Hand Room': '举手发言房间',\n 'Join Room': '进入房间',\n 'Enter room ID': '输入房间号',\n 'video conferencing': ' 的视频会议',\n 'Room ID': '房间号',\n 'Low Definition': '流畅',\n 'Standard Definition': '标清',\n 'High Definition': '高清',\n 'Super Definition': '超清',\n 'End sharing': '结束共享',\n 'Stop sharing?': '是否停止屏幕共享?',\n 'Stop sharing': '停止共享',\n Sure: '确定',\n Sharing: '屏幕共享中',\n 'Share screen': '共享屏幕',\n 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?': '是否结束当前的共享屏幕,停止后所有人将无法继续观看屏幕内容',\n 'Others will no longer see your screen after you stop sharing.': '停止后所有人将无法继续观看屏幕内容',\n 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first': '您当前没有共享权限,请先举手申请上台获取共享权限',\n Host: '主持人',\n Me: '我',\n me: '我',\n More: '更多',\n 'Raise hand': '举手',\n Agree: '同意',\n Chat: '聊天',\n Cancel: '取消',\n Exit: '退出全屏',\n 'Full screen': '全屏',\n Members: '管理成员',\n Invite: '邀请成员',\n Settings: '设置',\n EndPC: '结束会议',\n EndH5: '结束',\n Tips: '提示',\n 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.': '您当前是房间主持人,请选择相应操作。若选择“离开房间”,则房间不会解散,您需要指定新主持人。',\n 'If you do not want to end the meeting, please designate a new host before leaving the meeting.': '如果您不想结束会议,请在离开会议前指定新的主持人。',\n 'Are you sure you want to leave this room?': '确定离开房间吗?',\n 'New host': '选择主持人',\n 'Transfer and leave': '移交并离开',\n 'Leave room?': '是否要离开房间',\n 'Select a new host': '请选择新的房间主持人',\n 'Appoint a new host': '指定一位新的主持人',\n 'The host closed the room.': '主持人结束会议,已解散房间',\n Note: '通知',\n Confirm: '确认',\n Leave: '离开房间',\n Dismiss: '解散房间',\n 'Moderator changed to ': '主持人已变更为',\n 'Muted by the moderator': '已被主持人禁言',\n 'Type a message': '说点什么...',\n Send: '发送',\n 'Failed to send the message': '发送消息失败',\n 'Applying for the stage': '正在申请上台',\n Check: '查看',\n 'Disable all audios': '禁言所有人',\n 'Disable all videos': '禁画所有人',\n 'All mute': '全体静音',\n 'All current and new members will be muted.': '所有及新加入的成员将被静音',\n 'All current and new members will turn off their videos.': '所有及新加入的成员将关闭视频',\n 'All stop video': '全体禁画',\n 'Lift all mute': '取消全体静音',\n 'Should we turn on the video for everyone': '是否打开全员视频',\n 'Can you lift all mute': '是否取消全体静音',\n 'Lift stop all video': '取消全体禁画',\n 'No relevant user found.': '未找到相关用户',\n 'Member List': '成员列表',\n Unmute: '解除禁言',\n 'Cancel Unmute': '取消解除禁言',\n Mute: '禁言',\n members: '人',\n 'Failed to get chat message': '获取聊天消息失败',\n 'Agree to the stage': '同意上台',\n 'Cancel stage': '取消邀请上台',\n 'Invite stage': '邀请上台',\n 'Refuse stage': '拒绝上台',\n 'Enable video': '解除禁画',\n 'Cancel Enable video': '取消解除禁画',\n 'Disable video': '禁画',\n 'Enable chat': '允许文字聊天',\n 'Disable chat': '禁止文字聊天',\n 'Kick out': '踢出房间',\n 'is sharing their screen': '的屏幕分享',\n 'Apply to stage application': '请求上台申请',\n Reject: '拒绝',\n 'Reject All': '全部拒绝',\n 'Please raise your hand to apply': '如果您想发言请先举手申请上麦',\n 'The host invites you to speak on stage': '主持人邀请您上台发言',\n 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?': '同意上台后可打开摄像头和麦克风,是否同意上台?',\n 'Hand down': '手放下',\n 'Step down(Master)': '邀请下台',\n 'Step down': '下台',\n 'The host has approved your application': '主持人同意了你的上台申请',\n 'The host has rejected your application for the stage': '主持人拒绝了你的上台申请',\n 'You have been invited by the host to step down, please raise your hand if you need to speak': '您已被主持人邀请下台,需要发言请先举手',\n 'Select a screen/window': '选择屏幕/窗口',\n Screen: '屏幕',\n Window: '窗口',\n Share: '开始分享',\n 'Select a screen or window first': '请选择要分享的屏幕或者窗口',\n Grid: '一屏九等分',\n 'Gallery on right': '右侧成员列表',\n 'Gallery at top': '顶部成员列表',\n 'Network ': '网络',\n 'Latency: ': '网络延迟:',\n 'Frame rate: ': '帧率:',\n 'Bitrate: ': '码率:',\n Unknown: '状态未知',\n Excellent: '状态极佳',\n Good: '状态较好',\n Fair: '状态一般',\n Poor: '状态差',\n 'Very poor': '状态极差',\n Disconnected: '断开连接',\n 'Share the room ID or invite link': '您可以通过复制房间号或者邀请链接的方式邀请更多人加入房间',\n 'Invite by room number': '通过房间号邀请',\n 'Invite via room link': '通过房间链接邀请',\n 'Room Link': '房间链接',\n 'You can share the room number or link to invite more people to join the room.': '您可以分享房间号或链接邀请更多人加入房间。',\n 'If you have any questions, please feel free to join our QQ group or send an email': '如果有任何问题欢迎加入我们的QQ群或者发送邮件。',\n 'Room QR code': '房间二维码',\n 'Search for conference attendees': '搜索参会成员',\n 'Invite via client scheme': '通过客户端 scheme 邀请',\n 'Contact us': '联系我们',\n 'Member management': '成员管理',\n 'Grid view': '宫格视图',\n 'Join our QQ group chat or email us.': '如果有任何问题欢迎加入我们的QQ群或者发送邮件',\n 'group chat': 'QQ 群',\n Email: '邮箱地址',\n 'Audio settings': '声音设置',\n 'Camera settings': '摄像头设置',\n 'Copied successfully': '复制成功',\n 'accepted the invitation to the stage': '接受了上台邀请',\n 'declined the invitation to the stage': '拒绝了上台邀请',\n 'The host has muted all': '主持人已开启全体静音',\n 'The host has unmuted all': '主持人已解除全体静音',\n 'The host has turned off your microphone': '主持人已关闭您的麦克风',\n 'The host invites you to turn on the microphone': '主持人邀请你打开麦克风',\n 'The host has turned on the ban on all paintings': '主持人已开启全体禁画',\n 'The host has lifted the ban on all paintings': '主持人已解除全体禁画',\n 'The host has turned on the ban on all chat': '主持人已开启全体禁止文字聊天',\n 'The host has lifted the ban on all chat': '主持人已解除全体禁止文字聊天',\n 'The host has turned off your camera': '主持人已关闭您的摄像头',\n 'The host invites you to turn on the camera': '主持人邀请你打开摄像头',\n 'The host has turned off your screen sharing': '主持人已关闭您的屏幕分享',\n 'Turn on the camera': '打开摄像头',\n 'Keep it closed': '保持关闭',\n 'You have been banned from text chat by the host': '您被主持人禁止文字聊天',\n 'You are allowed to text chat by the host': '您被主持人允许文字聊天',\n 'kicked out of the room by the host': '被主持人踢出房间',\n 'kicked out of the room by other device': '相同账号在其他客户端进入房间',\n 'kicked out of the room by serve': '被服务端踢出房间',\n 'Reject on Stage failed, please retry': '拒绝 {userName} 上台失败, 请重试',\n 'Has been fully muted and cannot open the microphone': '已被全员静音,无法打开麦克风',\n 'Has been muted by the host and cannot open the microphone': '已被主持人静音,无法打开麦克风',\n 'To apply to speak in the room, please raise your hand first to apply for the microphone': '申请发言房间,请先举手申请上麦',\n 'Has been full static painting, can not open the video': '已被全员静画,无法打开视频',\n 'It has been stilled by the host and cannot open the video': '已被主持人静画,无法打开视频',\n 'Failed to enter the room.': '进入房间失败!',\n 'Has been full static painting, can not share your screen': '已被全员静画,无法打开屏幕分享',\n 'Microphone not detected on current device': '当前设备未检测到麦克风',\n 'Camera not detected on current device': '当前设备未检测到摄像头',\n 'Camera And Microphone not detected on current device': '当前设备未检测到摄像头和麦克风',\n 'Another user is currently sharing the screen, screen sharing is not possible.': '当前有其他用户正在屏幕共享,无法进行屏幕共享',\n 'This action causes the room to be exited, does it continue?': '该操作会导致退出房间,是否继续?',\n 'This action causes the room to be disbanded, does it continue?': '该操作会导致解散房间,是否继续?',\n};\n","export default {\n '': '',\n 'Sign in': 'Sign in',\n 'Phone Login': 'Phone Login',\n 'Email Login': 'Email Login',\n 'I have read and agree to the': 'I have read and agree to the',\n 'Privacy Policy': 'Privacy Policy',\n and: 'and',\n 'Terms of Use': 'Terms of Use',\n Login: 'Login',\n 'Mobile number': 'Mobile number',\n 'Verification code': 'Verification code',\n 'Email address': 'Email address',\n 'Please enter a valid phone number!': 'Please enter a valid phone number!',\n 'Please enter a valid email address!': 'Please enter a valid email address!',\n 'Please enter your phone number!': 'Please enter your phone number!',\n 'Please enter your email address!': 'Please enter your email address!',\n 'Please enter the verification code!': 'Please enter the verification code!',\n 'Please accept the privacy policy and user agreement!': 'Please accept the privacy policy and user agreement!',\n 'Incorrect verification code, please check the code!': 'Incorrect verification code, please check the code!',\n 'The verification code has expired, please retrieve a new one!': 'The verification code has expired, please retrieve a new one!',\n 'The verification code has been used, please retrieve a new one!': 'The verification code has been used, please retrieve a new one!',\n 'Login failed, please try again.': 'Login failed, please try again.',\n SEND: 'SEND',\n ' ': ' ',\n 'The room does not exist, please confirm the room number or create a room!': 'The room does not exist, please confirm the room number or create a room!',\n 'Log out': 'Log out',\n 'Edit profile': 'Edit profile',\n 'User Name': 'User Name',\n 'Please input user name': 'Please input user name',\n 'Username length should be greater than 0': 'Username length should be greater than 0',\n Save: 'Save',\n Camera: 'Camera',\n Mic: 'Mic',\n 'Off Camera': 'Off Camera',\n 'Mic settings': 'Mic settings',\n Output: 'Output',\n Speaker: 'Speaker',\n Test: 'Test',\n Stop: 'Stop',\n Preview: 'Preview',\n Mirror: 'Mirror',\n Resolution: 'Resolution',\n 'More Camera Settings': 'More Camera Settings',\n 'Join the room ?': 'Join the room ?',\n 'You are invited to room ': 'You are invited to room ',\n Room: 'Room',\n Join: 'Join',\n Sure: 'Sure',\n 'New Room': 'New Room',\n 'Room Type': 'Room Type',\n 'Your Name': 'Your Name',\n 'Grid view': 'Grid view',\n 'Speaker view': 'Speaker view',\n 'Turn on the microphone': 'Turn on the microphone',\n 'Turn on the speaker': 'Turn on the speaker',\n 'Turn on the video': 'Turn on the video',\n 'Free Speech Room': 'Free Speech Room',\n 'Raise Hand Room': 'Raise Hand Room',\n 'Join Room': 'Join Room',\n 'Enter room ID': 'Enter room ID',\n 'video conferencing': ' \\'s video conferencing',\n 'Room ID': 'Room ID',\n 'Low Definition': 'Low Definition',\n 'Standard Definition': 'Standard Definition',\n 'High Definition': 'High Definition',\n 'Super Definition': 'Super Definition',\n 'End sharing': 'End sharing',\n 'Stop sharing?': 'Stop sharing?',\n 'Stop sharing': 'Stop sharing',\n Sharing: 'Sharing',\n 'Share screen': 'Share screen',\n 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?': 'Others will no longer see your screen after you stop sharing. Are you sure you want to stop?',\n 'Others will no longer see your screen after you stop sharing.': 'Others will no longer see your screen after you stop sharing.',\n 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first': 'You currently do not have sharing permission, please raise your hand to apply for sharing permission first',\n Host: 'Host',\n Me: 'Me',\n me: 'me',\n More: 'More',\n 'Raise hand': 'Raise hand',\n Agree: 'Agree',\n Chat: 'Chat',\n Cancel: 'Cancel',\n Exit: 'Exit',\n 'Full screen': 'Full screen',\n Members: 'Members',\n Invite: 'Invite',\n Settings: 'Settings',\n EndPC: 'End',\n EndH5: 'End',\n 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.': 'You are currently the room host, please select the appropriate action.If you select \"Leave Room\", the room will not be dissolved and you will need to appoint a new host.',\n 'If you do not want to end the meeting, please designate a new host before leaving the meeting.': 'If you do not want to end the meeting, please designate a new host before leaving the meeting.',\n 'Are you sure you want to leave this room?': 'Are you sure you want to leave this room?',\n 'New host': 'New host',\n 'Transfer and leave': 'Transfer and leave',\n 'Leave room?': 'Leave room?',\n 'Select a new host': 'Select a new host',\n 'Appoint a new host': 'Appoint a new host',\n 'The host closed the room.': 'The host closed the room.',\n Note: 'Note',\n Confirm: 'Confirm',\n Leave: 'Leave',\n Dismiss: 'Dismiss',\n 'Moderator changed to ': 'Moderator changed to ',\n 'Muted by the moderator': 'Muted by the moderator',\n 'Type a message': 'Type a message',\n Send: 'Send',\n 'Failed to send the message': 'Failed to send the message',\n 'Applying for the stage': 'Applying for the stage',\n Check: 'Check',\n 'Disable all audios': 'Disable all audios',\n 'Disable all videos': 'Disable all videos',\n 'Member List': 'Member List',\n 'All mute': 'All mute',\n 'All stop video': 'All stop video',\n 'Lift all mute': 'Lift all mute',\n 'Should we turn on the video for everyone': 'Should we turn on the video for everyone',\n 'Can you lift all mute': 'Can you lift all mute',\n 'Lift stop all video': 'Lift stop all video',\n Unmute: 'Unmute',\n 'Cancel Unmute': 'Cancel Unmute',\n Mute: 'Mute',\n members: 'members',\n 'Failed to get chat message': 'Failed to get chat message',\n 'Agree to the stage': 'Agree to the stage',\n 'Cancel stage': 'Cancel stage',\n 'Invite stage': 'Invite stage',\n 'Refuse stage': 'Refuse stage',\n 'Step down': 'Step down',\n 'Step down(Master)': 'Step down',\n 'Enable video': 'Enable video',\n 'Disable video': 'Disable video',\n 'Enable chat': 'Enable chat',\n 'Disable chat': 'Disable chat',\n 'Kick out': 'Kick out',\n 'is sharing their screen': 'is sharing their screen',\n 'Apply to stage application': 'Apply to stage application',\n Reject: 'Reject',\n 'Reject All': 'Reject All',\n 'Please raise your hand to apply': 'Please raise your hand to apply',\n 'The host invites you to speak on stage': 'The host invites you to speak on stage',\n 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?': 'After agreeing to go on stage, you can turn on the camera and microphone. Do you agree to go on stage?',\n 'Hand down': 'Hand down',\n 'The host has approved your application': 'The host has approved your application',\n 'The host has rejected your application for the stage': 'The host has rejected your application for the stage',\n 'You have been invited by the host to step down, please raise your hand if you need to speak': 'You have been invited by the host to step down, please raise your hand if you need to speak',\n 'Select a screen/window': 'Select a screen/window',\n Screen: 'Screen',\n Window: 'Window',\n Share: 'Share',\n 'Select a screen or window first': 'Select a screen or window first',\n Grid: 'Grid',\n Tips: 'Tips',\n 'Gallery on right': 'Gallery on right',\n 'Gallery at top': 'Gallery at top',\n 'Network ': 'Network ',\n 'Latency: ': 'Latency: ',\n 'Frame rate: ': 'Frame rate: ',\n 'Bitrate: ': 'Bitrate: ',\n Unknown: 'Unknown',\n Excellent: 'Excellent',\n Good: 'Good',\n Fair: 'Fair',\n Poor: 'Poor',\n 'Very poor': 'Very poor',\n Disconnected: 'Disconnected',\n 'Share the room ID or invite link': 'Share the room ID or invite link',\n 'Invite by room number': 'Invite by room number',\n 'Invite via room link': 'Invite via room link',\n 'Room Link': 'Room Link',\n 'You can share the room number or link to invite more people to join the room.': 'You can share the room number or link to invite more people to join the room.',\n 'If you have any questions, please feel free to join our QQ group or send an email': 'If you have any questions, please feel free to join our QQ group or send an email',\n 'Room QR code': 'Room QR code',\n 'Search for conference attendees': 'Search for conference attendees',\n 'Invite via client scheme': 'Invite via client scheme',\n 'All current and new members will be muted.': 'All current and new members will be muted',\n 'All current and new members will turn off their videos.': 'All current and new members will turn off their videos',\n 'No relevant user found.': 'No relevant user found.',\n 'Contact us': 'Contact us',\n 'Member management': 'Member management',\n 'Join our QQ group chat or email us.': 'Join our QQ group chat or email us.',\n 'group chat': 'group chat',\n Email: 'Email',\n 'Audio settings': 'Audio settings',\n 'Camera settings': 'Camera settings',\n 'Copied successfully': 'Copied successfully',\n 'accepted the invitation to the stage': 'accepted the invitation to the stage',\n 'declined the invitation to the stage': 'declined the invitation to the stage',\n 'The host has muted all': 'The host has muted all',\n 'The host has unmuted all': 'The host has unmuted all',\n 'The host has turned off your microphone': 'The host has turned off your microphone',\n 'The host invites you to turn on the microphone': 'The host invites you to turn on the microphone',\n 'The host has turned on the ban on all paintings': 'The host has turned on the ban on all paintings',\n 'The host has lifted the ban on all paintings': 'The host has lifted the ban on all paintings',\n 'The host has turned on the ban on all chat': 'The host has turned on the ban on all chat',\n 'The host has lifted the ban on all chat': 'The host has lifted the ban on all chat',\n 'The host has turned off your camera': 'The host has turned off your camera',\n 'The host invites you to turn on the camera': 'The host invites you to turn on the camera',\n 'The host has turned off your screen sharing': 'The host has turned off your screen sharing',\n 'Turn on the camera': 'Turn on the camera',\n 'Keep it closed': 'Keep it closed',\n 'You have been banned from text chat by the host': 'You have been banned from text chat by the host',\n 'You are allowed to text chat by the host': 'You are allowed to text chat by the host',\n 'kicked out of the room by the host': 'kicked out of the room by the host',\n 'kicked out of the room by other device': 'kicked out of the room by other device',\n 'kicked out of the room by serve': 'kicked out of the room by serve',\n 'Reject on Stage failed, please retry': 'Reject {userName} on Stage failed, please retry',\n 'Has been fully muted and cannot open the microphone': 'Has been fully muted and cannot open the microphone',\n 'Has been muted by the host and cannot open the microphone': 'Has been muted by the host and cannot open the microphone',\n 'To apply to speak in the room, please raise your hand first to apply for the microphone': 'To apply to speak in the room, please raise your hand first to apply for the microphone',\n 'Has been full static painting, can not open the video': 'Has been full static painting, can not open the video',\n 'It has been stilled by the host and cannot open the video': 'It has been stilled by the host and cannot open the video',\n 'Failed to enter the room.': 'Failed to enter the room.',\n 'Has been full static painting, can not share your screen': 'Has been full static painting, can not share your screen.',\n 'Microphone not detected on current device': 'Microphone not detected on current device',\n 'Camera not detected on current device': 'Camera not detected on current device',\n 'Camera And Microphone not detected on current device': 'Camera And Microphone not detected on current device',\n 'Another user is currently sharing the screen, screen sharing is not possible.': 'Another user is currently sharing the screen, screen sharing is not possible.',\n 'This action causes the room to be disbanded, does it continue?': 'This action causes the room to be disbanded, does it continue?',\n 'This action causes the room to be exited, does it continue?': 'This action causes the room to be exited, does it continue?',\n};\n","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport { createI18n, useI18n } from 'vue-i18n-bridge';\nimport { getLanguage } from '../utils/common';\nimport ZH from './zh-CN';\nimport EN from './en-US';\n\n// 参考文档:https://vue-i18n.intlify.dev/guide/migration/vue2.html#vue-i18n-bridge\nVue.use(VueI18n, { bridge: true });\n\nexport default createI18n({\n legacy: false,\n locale: getLanguage() || 'zh-CN',\n messages: {\n 'zh-CN': ZH,\n 'en-US': EN,\n },\n}, VueI18n);\n\nexport { useI18n };\n\n","import { defineStore } from 'pinia';\nimport { SpeechMode } from '../constants/room';\nimport { getLanguage } from '../utils/common';\nimport { LAYOUT } from '../constants/render';\nimport { isUndefined, isElectronEnv } from '../utils/utils';\nimport { isWeChat } from '../utils/useMediaValue';\n\ntype SideBarType = 'chat' | 'invite' | 'manage-member' | 'more' | 'transfer-leave' | '';\n\ninterface BasicState {\n sdkAppId: number,\n userId: string,\n userSig: string,\n userName: string,\n avatarUrl?: string,\n useStringRoomId: boolean,\n roomId: string,\n roomMode: 'FreeSpeech' | 'ApplySpeech',\n isSidebarOpen: boolean,\n showSettingDialog: boolean,\n showApplyUserList: boolean,\n activeSettingTab: string,\n layout: LAYOUT,\n isLocalStreamMirror: boolean,\n isFrontCamera: boolean,\n sidebarName: SideBarType,\n masterUserId: string,\n localQuality: number,\n // statistics: TRTCStatistics,\n lang: string,\n defaultTheme: string,\n isSupportSwitchTheme: boolean,\n showHeaderTool: boolean,\n shareLink: string,\n isRoomLinkVisible: boolean\n}\n\nexport const useBasicStore = defineStore('basic', {\n state: (): BasicState => ({\n sdkAppId: 0,\n userId: '',\n userSig: '',\n userName: '',\n avatarUrl: '',\n useStringRoomId: false,\n roomId: '',\n roomMode: 'FreeSpeech',\n isSidebarOpen: false,\n layout: LAYOUT.NINE_EQUAL_POINTS,\n showSettingDialog: false,\n showApplyUserList: false,\n activeSettingTab: 'audio',\n isLocalStreamMirror: true,\n isFrontCamera: true,\n sidebarName: '',\n masterUserId: '',\n localQuality: 0,\n // statistics: {\n // appCpu: 0,\n // downLoss: 0,\n // localStatisticsArray: [],\n // localStatisticsArraySize: 0,\n // receivedBytes: 0,\n // remoteStatisticsArray: [],\n // remoteStatisticsArraySize: 0,\n // rtt: 0,\n // sentBytes: 0,\n // systemCpu: 0,\n // upLoss: 0,\n // },\n lang: getLanguage(),\n defaultTheme: 'black',\n isSupportSwitchTheme: true,\n showHeaderTool: true,\n shareLink: '',\n isRoomLinkVisible: !isElectronEnv() && !isWeChat,\n }),\n getters: {\n // localVideoBitrate: (state) => {\n // const localStatistics = state.statistics.localStatisticsArray\n // .find(item => item.streamType === TRTCVideoStreamType.TRTCVideoStreamTypeBig);\n // if (localStatistics && localStatistics.videoBitrate) {\n // return localStatistics.videoBitrate;\n // }\n // return 0;\n // },\n // localFrameRate: (state) => {\n // const localStatistics = state.statistics.localStatisticsArray\n // .find(item => item.streamType === TRTCVideoStreamType.TRTCVideoStreamTypeBig);\n // if (localStatistics && localStatistics.frameRate) {\n // return localStatistics.frameRate;\n // }\n // return 0;\n // },\n },\n actions: {\n setSdkAppId(sdkAppId: number) {\n this.sdkAppId = sdkAppId;\n },\n setUserId(userId: string) {\n this.userId = userId;\n },\n setUserSig(userSig: string) {\n this.userSig = userSig;\n },\n setUserName(userName: string) {\n this.userName = userName;\n },\n setAvatarUrl(avatarUrl: string) {\n this.avatarUrl = avatarUrl;\n },\n setRoomId(roomId: string) {\n this.roomId = roomId;\n this.useStringRoomId = typeof roomId === 'string';\n },\n setRoomMode(mode: SpeechMode) {\n this.roomMode = mode;\n },\n setSidebarOpenStatus(isOpen: boolean) {\n this.isSidebarOpen = isOpen;\n },\n setSidebarName(name: SideBarType) {\n this.sidebarName = name;\n },\n setLayout(layout: LAYOUT) {\n this.layout = layout;\n },\n setShowSettingDialog(show: boolean) {\n this.showSettingDialog = show;\n },\n setShowApplyUserList(show: boolean) {\n this.showApplyUserList = show;\n },\n setActiveSettingTab(tabName: string) {\n this.activeSettingTab = tabName;\n },\n setIsLocalStreamMirror(mirror: boolean) {\n this.isLocalStreamMirror = mirror;\n },\n setIsFrontCamera(isFront: boolean) {\n this.isFrontCamera = isFront;\n },\n setDefaultTheme(defaultTheme: string) {\n this.defaultTheme = defaultTheme;\n },\n setIsSupportSwitchTheme(isSupportSwitchTheme: boolean) {\n this.isSupportSwitchTheme = isSupportSwitchTheme;\n },\n setShowHeaderTool(showHeaderTool: boolean) {\n this.showHeaderTool = showHeaderTool;\n },\n setShareLink(shareLink: string) {\n this.shareLink = shareLink;\n },\n setIsRoomLinkVisible(isRoomLinkVisible: boolean) {\n this.isRoomLinkVisible = isRoomLinkVisible;\n },\n setBasicInfo(infoObj: any) {\n if (!infoObj) {\n return;\n }\n const { sdkAppId, userId, userSig, userName, avatarUrl, roomId, theme, showHeaderTool } = infoObj;\n sdkAppId && this.setSdkAppId(sdkAppId);\n userId && this.setUserId(userId);\n userSig && this.setUserSig(userSig);\n userName && this.setUserName(userName);\n avatarUrl && this.setAvatarUrl(avatarUrl);\n roomId && this.setRoomId(roomId);\n theme && !isUndefined(theme.defaultTheme) && this.setDefaultTheme(theme.defaultTheme);\n theme && !isUndefined(theme.isSupportSwitchTheme) && this.setIsSupportSwitchTheme(theme.isSupportSwitchTheme);\n !isUndefined(showHeaderTool) && this.setShowHeaderTool(showHeaderTool);\n },\n setMasterUserId(userId: string) {\n this.masterUserId = userId;\n },\n setLocalQuality(userNetworkList: any[]) {\n const localUser = userNetworkList.find(item => item.userId === this.userId);\n this.localQuality = localUser.quality;\n },\n // setStatistics(statistics: TRTCStatistics) {\n // this.statistics = statistics;\n // },\n setLang(lang: string) {\n this.lang = lang;\n },\n reset() {\n this.isSidebarOpen = false;\n this.layout = LAYOUT.NINE_EQUAL_POINTS;\n this.showSettingDialog = false;\n this.activeSettingTab = 'audio';\n this.isLocalStreamMirror = true;\n this.sidebarName = '';\n this.masterUserId = '';\n this.localQuality = 0;\n this.roomId = '';\n this.sdkAppId = 0;\n this.userId = '';\n this.userSig = '';\n this.userName = '';\n this.avatarUrl = '';\n this.useStringRoomId = false;\n this.roomMode = 'FreeSpeech';\n this.showApplyUserList = false;\n this.isFrontCamera = true;\n this.defaultTheme = 'black';\n this.isSupportSwitchTheme = true;\n this.showHeaderTool = true;\n this.shareLink = '';\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { TUIRole, TUIVideoStreamType, TUIRoomInfo, TUIUserInfo, TUIVideoQuality, TUISeatInfo, TUISpeechMode } from '@tencentcloud/tuiroom-engine-js';\nimport { useBasicStore } from './basic';\nimport { isVue3 } from '../utils/constants';\nimport Vue from '../utils/vue';\nimport useGetRoomEngine from '../hooks/useRoomEngine';\n\nconst roomEngine = useGetRoomEngine();\n\nexport type StreamInfo = {\n userId: string,\n userName?: string,\n avatarUrl?: string,\n hasAudioStream?: boolean,\n hasVideoStream?: boolean,\n hasScreenStream?: boolean,\n audioVolume?: number,\n streamType: TUIVideoStreamType,\n isVisible: boolean,\n}\n\nexport type UserInfo = {\n userId: string,\n userName?: string,\n avatarUrl?: string,\n hasAudioStream?: boolean,\n hasVideoStream?: boolean,\n hasScreenStream?: boolean,\n isVideoVisible?: boolean,\n isScreenVisible?: boolean,\n userRole?: TUIRole,\n // 是否在麦上\n onSeat?: boolean,\n isChatMutedByMaster?: boolean,\n // 是否正在请求用户打开麦克风\n isRequestingUserOpenMic?: boolean,\n // 请求用户打开麦克风的 requestId\n requestUserOpenMicRequestId?: string,\n // 是否正在请求用户打开摄像头\n isRequestingUserOpenCamera?: boolean,\n // 请求用户打开摄像头的 requestId\n requestUserOpenCameraRequestId?: string,\n // 用户是否正在申请上麦\n isUserApplyingToAnchor?: boolean,\n // 用户申请上麦的 requestId\n applyToAnchorRequestId?: string,\n // 是否正在邀请用户上麦\n isInvitingUserToAnchor?: boolean,\n // 邀请用户上麦的 requestId\n inviteToAnchorRequestId?: string,\n audioVolume?: number,\n // cameraStreamInfo 和 screenStreamInfo 存在的意义时,流渲染保持使用同一个引用传递的数据\n // 避免出现大窗口和实际数据显示不一致的问题\n cameraStreamInfo: StreamInfo,\n screenStreamInfo: StreamInfo,\n}\n\ninterface RoomState {\n localUser: UserInfo,\n remoteUserObj: Record,\n isDefaultOpenCamera: boolean,\n isDefaultOpenMicrophone: boolean,\n // 主持人全员禁麦,但是单独取消某个用户音视频禁止状态的时候,是可以自己 unmute audio/video 的\n canControlSelfAudio: boolean,\n canControlSelfVideo: boolean,\n localVideoQuality: TUIVideoQuality,\n currentCameraId: string,\n currentMicrophoneId: string,\n currentSpeakerId: string,\n cameraList: object[],\n microphoneList: object[],\n speakerList: object[],\n masterUserId: string,\n isMicrophoneDisableForAllUser: boolean,\n isCameraDisableForAllUser: boolean,\n isMessageDisableForAllUser: boolean,\n speechMode: TUISpeechMode,\n maxMembersCount: number,\n hasVideoStreamObject: Record,\n currentStreamIdListInVisibleView: string[],\n hasOtherScreenShare: boolean,\n}\n\nexport const useRoomStore = defineStore('room', {\n state: (): RoomState => ({\n localUser: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: false,\n cameraStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: true,\n },\n screenStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: true,\n },\n },\n remoteUserObj: {},\n isDefaultOpenCamera: false,\n isDefaultOpenMicrophone: false,\n canControlSelfAudio: true,\n canControlSelfVideo: true,\n localVideoQuality: TUIVideoQuality.kVideoQuality_720p,\n currentCameraId: '',\n currentMicrophoneId: '',\n currentSpeakerId: '',\n cameraList: [],\n microphoneList: [],\n speakerList: [],\n masterUserId: '',\n isMicrophoneDisableForAllUser: false,\n isCameraDisableForAllUser: false,\n isMessageDisableForAllUser: false,\n speechMode: TUISpeechMode.kFreeToSpeak,\n maxMembersCount: 5, // 包含本地流和屏幕分享,超过该数目后续都播放小流\n hasVideoStreamObject: {},\n // 可视区域用户流列表\n currentStreamIdListInVisibleView: [],\n hasOtherScreenShare: false,\n }),\n getters: {\n // 当前用户是否是主持人\n isMaster(state) {\n return state.localUser.userId === state.masterUserId;\n },\n // 当前用户是否在麦上\n isAnchor(state) {\n if (this.isFreeSpeakMode) {\n return true;\n }\n if (this.isSpeakAfterTakingSeatMode) {\n return state.localUser.onSeat;\n }\n },\n // 当前用户是否是在麦下\n isAudience(state) {\n if (this.isFreeSpeakMode) {\n return false;\n }\n if (this.isSpeakAfterTakingSeatMode) {\n return !state.localUser.onSeat;\n }\n },\n isSpeakAfterTakingSeatMode(): boolean {\n return this.speechMode === TUISpeechMode.kSpeakAfterTakingSeat;\n },\n isFreeSpeakMode(): boolean {\n return this.speechMode === TUISpeechMode.kFreeToSpeak;\n },\n isLocalAudioIconDisable(): boolean {\n // 全员禁麦状态\n const micForbidden = !this.isMaster && !this.canControlSelfAudio;\n return micForbidden as any || this.isAudience;\n },\n isLocalVideoIconDisable(): boolean {\n // 全员禁画状态\n const cameraForbidden = !this.isMaster && !this.canControlSelfVideo;\n return cameraForbidden as any || this.isAudience;\n },\n localStream: (state) => {\n const { userId, userName, avatarUrl, hasAudioStream, hasVideoStream, audioVolume } = state.localUser;\n Object.assign(\n state.localUser.cameraStreamInfo,\n { userId, userName, avatarUrl, hasAudioStream, hasVideoStream, audioVolume },\n );\n return state.localUser.cameraStreamInfo;\n },\n remoteStreamObj: (state) => {\n const obj: Record = {};\n [...Object.values(state.remoteUserObj)].forEach((userInfo) => {\n const {\n userId,\n avatarUrl,\n userName,\n onSeat,\n hasAudioStream,\n hasVideoStream,\n hasScreenStream,\n audioVolume,\n isVideoVisible,\n isScreenVisible,\n } = userInfo;\n if (onSeat) {\n obj[`${userId}_${TUIVideoStreamType.kCameraStream}`] = Object.assign(userInfo.cameraStreamInfo, { userId, avatarUrl, userName, hasAudioStream, hasVideoStream, audioVolume, streamType: TUIVideoStreamType.kCameraStream, isVisible: isVideoVisible });\n }\n if (hasScreenStream) {\n obj[`${userId}_${TUIVideoStreamType.kScreenStream}`] = Object.assign(userInfo.screenStreamInfo, { userId, avatarUrl, userName, hasScreenStream, streamType: TUIVideoStreamType.kScreenStream, isVisible: isScreenVisible });\n }\n });\n return obj;\n },\n remoteStreamList(): Array {\n return [...Object.values(this.remoteStreamObj)];\n },\n streamList(): Array {\n return [this.localStream, ...Object.values(this.remoteStreamObj)];\n },\n streamNumber(): number {\n return this.streamList.length;\n },\n remoteAnchorList: state => [...Object.values(state.remoteUserObj)].filter(item => item.onSeat),\n userList: state => [state.localUser, ...Object.values(state.remoteUserObj)],\n userNumber(): number {\n return this.userList.length;\n },\n applyToAnchorList: state => [...Object.values(state.remoteUserObj)]\n .filter(item => item.isUserApplyingToAnchor) || [],\n defaultStreamType(): TUIVideoStreamType {\n return Object.keys(this.hasVideoStreamObject).length > this.maxMembersCount\n ? TUIVideoStreamType.kCameraStreamLow : TUIVideoStreamType.kCameraStream;\n },\n },\n actions: {\n setLocalUser(obj: Record) {\n Object.assign(this.localUser, obj);\n },\n updateLocalStream(obj: Record) {\n Object.assign(this.localStream, obj);\n },\n getUserName(userId: string) {\n if (userId === this.localUser.userId) {\n return this.localUser.userName || userId;\n }\n return this.remoteUserObj[userId]?.userName || userId;\n },\n getNewUserInfo(userId: string) {\n const newUserInfo = {\n userId,\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n isVideoVisible: false,\n isScreenVisible: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: !this.isSpeakAfterTakingSeatMode,\n cameraStreamInfo: {\n userId,\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: false,\n },\n screenStreamInfo: {\n userId,\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: false,\n },\n };\n // 本端为主持人,则记录用户禁言禁画, 申请发言等信息\n if (this.isMaster) {\n Object.assign(newUserInfo, {\n isChatMutedByMaster: false,\n isUserApplyingToAnchor: false,\n isInvitingUserToAnchor: false,\n });\n }\n return newUserInfo;\n },\n setUserList(userList: any[]) {\n userList.forEach((user) => {\n if (user.userId === this.localUser.userId) {\n Object.assign(this.localUser, user);\n return;\n }\n if (this.remoteUserObj[user.userId]) {\n Object.assign(this.remoteUserObj[user.userId], user);\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(user.userId), user);\n if (isVue3) {\n this.remoteUserObj[user.userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, user.userId, newUserInfo);\n }\n }\n });\n },\n // 远端用户进入房间(IM事件)\n addRemoteUser(userInfo: TUIUserInfo) {\n const { userId } = userInfo;\n const basicStore = useBasicStore();\n if (!userId || userId === basicStore.userId) {\n return;\n }\n if (this.remoteUserObj[userId]) {\n Object.assign(this.remoteUserObj[userId], userInfo);\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), userInfo);\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n }\n },\n updateRemoteUser(userId: string, newUserInfo: { nick: string, avatar: string }) {\n const remoteUser = this.remoteUserObj[userId];\n if (!remoteUser) {\n return;\n }\n const { nick, avatar } = newUserInfo;\n Object.assign(remoteUser, { userName: nick, avatarUrl: avatar });\n },\n // 更新 seatList 的变更\n // 进入房间后会立即通知 onSeatListChanged, onUserVideoAvailable,onUserAudioAvailable 事件,因此先更新到 userMap 中\n // 等待 getUserList 获取到全部用户列表后再做更新\n updateOnSeatList(seatList: TUISeatInfo[], seatedList: TUISeatInfo[], leftList: TUISeatInfo[]) {\n if (JSON.stringify(this.remoteUserObj) === '{}') {\n seatList.forEach((seat) => {\n const { userId } = seat;\n if (userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: true });\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), { onSeat: true });\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n };\n });\n } else {\n seatedList.forEach((seat) => {\n const { userId } = seat;\n if (userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: true });\n } else {\n const user = this.remoteUserObj[userId];\n if (user) {\n Object.assign(user, { onSeat: true });\n } else {\n const newUserInfo = Object.assign(this.getNewUserInfo(userId), { onSeat: true });\n if (isVue3) {\n this.remoteUserObj[userId] = newUserInfo;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, newUserInfo);\n }\n }\n };\n });\n leftList.forEach((seat) => {\n if (seat.userId === this.localUser.userId) {\n Object.assign(this.localUser, { onSeat: false });\n } else {\n const user = this.remoteUserObj[seat.userId];\n user && Object.assign(user, { onSeat: false });\n };\n });\n }\n },\n updateUserVideoState(userId: string, streamType: TUIVideoStreamType, hasVideo: boolean) {\n const basicStore = useBasicStore();\n let user = userId === basicStore.userId ? this.localUser : this.remoteUserObj[userId];\n // 需要判断 hasVideo 是否为 true,避免视频取消事件在 onRemoteUserLeaveRoom 之后抛出的情况\n if (!user && hasVideo) {\n user = this.getNewUserInfo(userId);\n if (isVue3) {\n this.remoteUserObj[userId] = user;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, user);\n }\n }\n if (user) {\n this.updatehasVideoStreamObject(user, hasVideo, userId === basicStore.userId);\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.hasVideoStream = hasVideo;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.hasScreenStream = hasVideo;\n }\n }\n },\n updatehasVideoStreamObject(userInfo: UserInfo, hasVideo: boolean, isSelf: boolean) {\n if (isSelf) return;\n const { userId, cameraStreamInfo, screenStreamInfo, hasVideoStream } = userInfo;\n const streamId = `${userId}_${hasVideoStream ? cameraStreamInfo.streamType : screenStreamInfo.streamType}`;\n if (hasVideo) {\n if (isVue3) {\n this.hasVideoStreamObject[streamId] = userInfo;\n } else {\n // @ts-ignore\n Vue.set(this.hasVideoStreamObject, streamId, userInfo);\n }\n } else {\n if (isVue3) {\n delete this.hasVideoStreamObject[streamId];\n } else {\n // @ts-ignore\n Vue.delete(this.hasVideoStreamObject, streamId);\n }\n }\n },\n updateUserAudioState(userId: string, hasAudio: boolean) {\n const basicStore = useBasicStore();\n let user = userId === basicStore.userId ? this.localUser : this.remoteUserObj[userId];\n // 需要判断 hasAudio 是否为 true,避免音频取消事件在 onRemoteUserLeaveRoom 之后抛出的情况\n if (!user && hasAudio) {\n user = this.getNewUserInfo(userId);\n if (isVue3) {\n this.remoteUserObj[userId] = user;\n } else {\n // @ts-ignore\n Vue.set(this.remoteUserObj, userId, user);\n }\n }\n if (user) {\n user.hasAudioStream = hasAudio;\n }\n },\n\n removeRemoteUser(userId: string) {\n const basicStore = useBasicStore();\n if (!userId || userId === basicStore.userId) {\n return;\n }\n if (isVue3) {\n delete this.remoteUserObj[userId];\n } else {\n // @ts-ignore\n Vue.delete(this.remoteUserObj, userId);\n }\n },\n\n updateUserStreamVisible(streamIdList: string[]) {\n streamIdList.forEach((item) => {\n const userId = item.slice(0, item.length - 2);\n const streamType = Number(item.slice(-1)) as TUIVideoStreamType;\n if (userId === this.localUser.userId) {\n return;\n }\n const user = this.remoteUserObj[userId];\n if (!user) {\n return;\n }\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.isVideoVisible = true;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.isScreenVisible = true;\n }\n });\n // 在新的 streamIdList 里面没有的流, isVideoVisible 要设置为 false\n this.currentStreamIdListInVisibleView.forEach((item: string) => {\n const userId = item.slice(0, item.length - 2);\n const streamType = Number(item.slice(-1)) as TUIVideoStreamType;\n if (streamIdList.indexOf(item) < 0) {\n const user = this.remoteUserObj[userId];\n if (!user) {\n return;\n }\n if (streamType === TUIVideoStreamType.kCameraStream || streamType === TUIVideoStreamType.kCameraStreamLow) {\n user.isVideoVisible = false;\n } else if (streamType === TUIVideoStreamType.kScreenStream) {\n user.isScreenVisible = false;\n }\n }\n });\n this.currentStreamIdListInVisibleView = streamIdList;\n },\n\n setAudioVolume(audioVolumeArray: []) {\n const basicStore = useBasicStore();\n audioVolumeArray.forEach((audioVolumeItem: any) => {\n const { userId, volume } = audioVolumeItem;\n if (userId === basicStore.userId || userId === '') {\n this.localUser.audioVolume = volume;\n } else {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.audioVolume = volume;\n }\n }\n });\n },\n setCurrentCameraId(deviceId: string) {\n this.currentCameraId = deviceId;\n },\n setCurrentMicrophoneId(deviceId: string) {\n this.currentMicrophoneId = deviceId;\n },\n setCurrentSpeakerId(deviceId: string) {\n this.currentSpeakerId = deviceId;\n },\n setRoomInfo(roomInfo: TUIRoomInfo) {\n const { roomOwner, isMicrophoneDisableForAllUser,\n isCameraDisableForAllUser, isMessageDisableForAllUser, speechMode } = roomInfo;\n if (this.localUser.userId === roomOwner) {\n this.localUser.userRole = TUIRole.kRoomOwner;\n }\n\n this.masterUserId = roomOwner;\n this.isMicrophoneDisableForAllUser = isMicrophoneDisableForAllUser;\n this.isCameraDisableForAllUser = isCameraDisableForAllUser;\n this.isMessageDisableForAllUser = isMessageDisableForAllUser;\n this.speechMode = speechMode;\n this.canControlSelfAudio = !this.isMicrophoneDisableForAllUser;\n this.canControlSelfVideo = !this.isCameraDisableForAllUser;\n },\n setDisableMicrophoneForAllUserByAdmin(isDisable: boolean) {\n this.isMicrophoneDisableForAllUser = isDisable;\n },\n setDisableCameraForAllUserByAdmin(isDisable: boolean) {\n this.isCameraDisableForAllUser = isDisable;\n },\n setDisableMessageAllUserByAdmin(isDisable: boolean) {\n this.isMessageDisableForAllUser = isDisable;\n },\n setMasterUserId(userId: string) {\n this.masterUserId = userId;\n },\n setRoomParam(roomParam: any) {\n if (!roomParam) {\n return;\n }\n const { isOpenCamera, isOpenMicrophone, defaultCameraId, defaultMicrophoneId, defaultSpeakerId } = roomParam;\n if (defaultCameraId) {\n this.setCurrentCameraId(defaultCameraId);\n roomEngine.instance?.setCurrentCameraDevice({ deviceId: defaultCameraId });\n }\n if (defaultMicrophoneId) {\n this.setCurrentMicrophoneId(defaultMicrophoneId);\n roomEngine.instance?.setCurrentMicDevice({ deviceId: defaultMicrophoneId });\n }\n if (defaultSpeakerId) {\n this.setCurrentSpeakerId(defaultSpeakerId);\n roomEngine.instance?.setCurrentSpeakerDevice({ deviceId: defaultSpeakerId });\n }\n // 如果已经开启全员禁言/当前为申请发言模式,则忽略默认打开麦克风的设置\n if (this.isMaster || (!this.isMicrophoneDisableForAllUser\n && this.isFreeSpeakMode)) {\n typeof isOpenMicrophone === 'boolean' && (this.isDefaultOpenMicrophone = isOpenMicrophone);\n }\n // 如果已经开启全员禁画/当前为申请发言模式,则忽略默认打开摄像头的设置\n if (this.isMaster || (!this.isCameraDisableForAllUser\n && this.isFreeSpeakMode)) {\n typeof isOpenCamera === 'boolean' && (this.isDefaultOpenCamera = isOpenCamera);\n }\n },\n setCanControlSelfAudio(capability: boolean) {\n this.canControlSelfAudio = capability;\n },\n setCanControlSelfVideo(capability: boolean) {\n this.canControlSelfVideo = capability;\n },\n updateVideoQuality(quality: TUIVideoQuality) {\n this.localVideoQuality = quality;\n },\n setCameraList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.cameraList = deviceList;\n if (!this.currentCameraId && deviceList.length > 0) {\n this.setCurrentCameraId(deviceList[0].deviceId);\n }\n },\n setMicrophoneList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.microphoneList = deviceList;\n if (!this.currentMicrophoneId && deviceList.length > 0) {\n this.setCurrentMicrophoneId(deviceList[0].deviceId);\n }\n },\n setSpeakerList(deviceList: {deviceId: string, deviceName: string}[]) {\n this.speakerList = deviceList;\n if (!this.currentSpeakerId && deviceList.length > 0) {\n this.setCurrentSpeakerId(deviceList[0].deviceId);\n }\n },\n // 全员禁麦/取消禁麦时设置所有人的禁麦状态\n setMicrophoneDisableState(isDisable: boolean) {\n this.isMicrophoneDisableForAllUser = isDisable;\n },\n // 全员禁画/取消禁画时设置所有人的禁画状态\n setCameraDisableState(isDisable: boolean) {\n this.isCameraDisableForAllUser = isDisable;\n },\n // 主持人单个修改用户的发文字消息 mute 状态\n setMuteUserChat(userId: string, muted: boolean) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isChatMutedByMaster = muted;\n }\n },\n setRemoteUserRole(userId: string, role: TUIRole) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.userRole = role;\n }\n },\n setRequestUserOpenMic(options: { userId: string, isRequesting: boolean, requestId?: string }) {\n const { userId, isRequesting, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isRequestingUserOpenMic = isRequesting;\n remoteUserInfo.requestUserOpenMicRequestId = isRequesting ? requestId : '';\n }\n },\n setRequestUserOpenCamera(options: { userId: string, isRequesting: boolean, requestId?: string }) {\n const { userId, isRequesting, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isRequestingUserOpenCamera = isRequesting;\n remoteUserInfo.requestUserOpenCameraRequestId = isRequesting ? requestId : '';\n }\n },\n addApplyToAnchorUser(options: { userId: string, requestId: string }) {\n const { userId, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isUserApplyingToAnchor = true;\n remoteUserInfo.applyToAnchorRequestId = requestId;\n }\n },\n removeApplyToAnchorUser(userId: string) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isUserApplyingToAnchor = false;\n remoteUserInfo.applyToAnchorRequestId = '';\n }\n },\n addInviteToAnchorUser(options: { userId: string, requestId: string }) {\n const { userId, requestId } = options;\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isInvitingUserToAnchor = true;\n remoteUserInfo.inviteToAnchorRequestId = requestId;\n }\n },\n removeInviteToAnchorUser(userId: string) {\n const remoteUserInfo = this.remoteUserObj[userId];\n if (remoteUserInfo) {\n remoteUserInfo.isInvitingUserToAnchor = false;\n remoteUserInfo.inviteToAnchorRequestId = '';\n }\n },\n setHasOtherScreenShare(hasScreenShare: boolean) {\n this.hasOtherScreenShare = hasScreenShare;\n },\n reset() {\n this.localUser = {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasAudioStream: false,\n hasVideoStream: false,\n hasScreenStream: false,\n userRole: TUIRole.kGeneralUser,\n audioVolume: 0,\n onSeat: false,\n cameraStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n audioVolume: 0,\n hasAudioStream: false,\n hasVideoStream: false,\n streamType: TUIVideoStreamType.kCameraStream,\n isVisible: true,\n },\n screenStreamInfo: {\n userId: '',\n userName: '',\n avatarUrl: '',\n hasScreenStream: false,\n streamType: TUIVideoStreamType.kScreenStream,\n isVisible: true,\n },\n };\n this.remoteUserObj = {};\n this.isDefaultOpenCamera = false;\n this.isDefaultOpenMicrophone = false;\n this.canControlSelfAudio = true;\n this.canControlSelfVideo = true;\n this.localVideoQuality = TUIVideoQuality.kVideoQuality_720p;\n this.currentCameraId = '';\n this.currentMicrophoneId = '';\n this.currentSpeakerId = '';\n this.cameraList = [];\n this.microphoneList = [];\n this.speakerList = [];\n this.masterUserId = '';\n this.isMicrophoneDisableForAllUser = false;\n this.isCameraDisableForAllUser = false;\n this.isMessageDisableForAllUser = false;\n this.speechMode = TUISpeechMode.kFreeToSpeak;\n this.hasVideoStreamObject = {};\n this.hasOtherScreenShare = false;\n },\n },\n});\n","import { getUrlParam } from './utils';\n\n/**\n * 获取语言\n * @returns language\n */\nexport function getLanguage() {\n let language = getUrlParam('lang') || localStorage.getItem('tuiRoom-language') || navigator.language || 'zh';\n language = language.replace(/_/, '-').toLowerCase();\n\n if (language === 'zh-cn' || language === 'zh') {\n language = 'zh-CN';\n } else if (language === 'en' || language === 'en-us' || language === 'en-GB') {\n language = 'en-US';\n }\n return language;\n}\n\n/**\n * 判断字符串是否是数字\n * @returns boolean\n */\nexport function checkNumber(roomId: string) {\n const reg = /^\\d+$/;\n return reg.test(roomId);\n}\n","/**\n * 这个常量定义模块,即用于 main 目录下各个 ts 模块,也用 main/preload.js 模块,\n * 此处定义为 node.js module 格式,以上两类模块都可使用。\n *\n * 如果此处定义为 ES 6 模块(使用 import/export ),则 preload.js 模块无法使用,\n * 原因是 preload.js 文件是一个原生 node.js module 执行文件,后续如果 preload.js\n * 承担职责过多,代码复杂度较大,可以考虑使用。\n */\nexport enum EUserEventNames {\n ON_CHANGE_LOG_LEVEL = 'onChangeLogLevel',\n}\n\nexport default {\n EUserEventNames,\n};\n","export const LogLevelType = {\n LOG_LEVEL_DEBUG: -1,\n LOG_LEVEL_LOG: 0,\n LOG_LEVEL_INFO: 1,\n LOG_LEVEL_WARN: 2,\n LOG_LEVEL_ERROR: 3,\n LOG_LEVEL_NON_LOGGING: 4, // 无日志记录级别,将不打印任何日志\n};\n\nexport enum LogContext {\n MAIN = 'main-process',\n RENDER = 'render-process',\n}\n\nfunction padMs(ms: number) {\n const len = ms.toString().length;\n let ret;\n switch (len) {\n case 1:\n ret = `00${ms}`;\n break;\n case 2:\n ret = `0${ms}`;\n break;\n default:\n ret = ms;\n break;\n }\n\n return ret;\n}\n\nexport function getLogPrefix(context: LogContext) {\n const date = new Date();\n return `${date.toLocaleTimeString('en-US', {\n hour12: false,\n })}.${padMs(date.getMilliseconds())} [${context}]:`;\n}\n","/*\n * @Description: logger\n * @Date: 2022-04-11 19:39:55\n * @LastEditTime: 2022-04-12 11:37:24\n */\nimport { EUserEventNames } from './logger-constants';\nimport { LogLevelType, LogContext, getLogPrefix } from './logger-utils';\n\nlet currentLogLevel = LogLevelType.LOG_LEVEL_DEBUG;\n\nconst logger = {\n debug(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_DEBUG) {\n console.debug(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n log(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_LOG) {\n console.log(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n info(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_INFO) {\n console.info(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n warn(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_WARN) {\n console.warn(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n error(...args: any[]) {\n if (currentLogLevel <= LogLevelType.LOG_LEVEL_ERROR) {\n console.error(`${getLogPrefix(LogContext.RENDER)}`, ...args);\n }\n },\n setLevel(newLevel: number) {\n if (\n newLevel >= LogLevelType.LOG_LEVEL_DEBUG &&\n newLevel <= LogLevelType.LOG_LEVEL_NON_LOGGING\n ) {\n console.log(\n `${getLogPrefix(\n LogContext.RENDER\n )} set log level from ${currentLogLevel} to ${newLevel}`\n );\n currentLogLevel = newLevel;\n\n // 通知主进程\n if ((window as any).electron?.ipcRenderer) {\n (window as any).electron.ipcRenderer.send(\n EUserEventNames.ON_CHANGE_LOG_LEVEL,\n newLevel\n );\n }\n } else {\n console.error(\n `${getLogPrefix(\n LogContext.RENDER\n )} logger.setLevel() invalid params:${newLevel}`\n );\n }\n },\n getLevel() {\n return currentLogLevel;\n },\n};\n\nexport default logger;\n","\nimport * as Vue from 'vue';\n\nexport const isVue27 = /^2\\.7\\.*/.test(Vue.version); // 是否是 Vue2.7 版本\n\nexport const isVue3 = /^3\\.*/.test(Vue.version); // 是否是 Vue3 版本\n\n// @ts-ignore\nexport const isInnerScene = import.meta && import.meta.env && import.meta.env.VITE_RUNTIME_SCENE === 'inner';\n","declare let wx: any;\nexport const isWeChat = (typeof wx !== 'undefined' && typeof wx.getSystemInfoSync === 'function' && Boolean(wx.getSystemInfoSync().fontSizeSetting));\nexport const isMobile = window?.matchMedia('(max-width: 600px)').matches || isWeChat;\n","import { isWeChat } from './useMediaValue';\ndeclare let uni: any;\n\nexport const clipBoard = (data: any): Promise<{\n code: number,\n data?: any,\n err?: any\n}> => new Promise((resolve, reject) => {\n if (!isWeChat) {\n try {\n navigator.clipboard.writeText(`${data}`);\n resolve({ code: 0, data });\n } catch (err) {\n reject({ code: -1, err });\n }\n return;\n }\n uni.setClipboardData({\n data,\n success() {\n uni.getClipboardData({\n success(data: any) {\n resolve({ code: 0, data });\n },\n fail(err: any) {\n reject({ code: -1, err });\n },\n });\n },\n fail(err: any) {\n reject({ code: -1, err });\n },\n });\n});\n\n\n","\n\n/**\n * 防抖函数\n * @param {*} fn 要执行的函数\n * @param {*} delay 间隔时间\n * @returns function\n */\nexport function debounce(fn: { apply: (arg0: any, arg1: any) => void; }, delay: number | undefined) {\n let timer: number;\n return function (this:any, ...args: any) {\n if (timer > 0) {\n clearTimeout(timer);\n }\n timer = window?.setTimeout(() => {\n fn.apply(this, args);\n timer = -1;\n }, delay);\n };\n}\n\n/**\n * 节流函数\n * @param {*} fn 要执行的函数\n * @param {*} delay 间隔时间\n * @returns function\n */\nexport function throttle(fn: { apply: (arg0: any, arg1: any[]) => void; }, delay: number) {\n let previousTime = 0;\n return function (this:any, ...args: any[]) {\n // eslint-disable-next-line prefer-rest-params\n const now = Date.now();\n if (now - previousTime > delay) {\n fn.apply(this, args);\n previousTime = now;\n }\n };\n};\n\n/**\n * 将 dom 元素全屏\n * @param {dom} element dom元素\n * @example\n * setFullscreen(document.documentElement) // 整个页面进入全屏\n * setFullscreen(document.getElementById(\"id\")) // 某个元素进入全屏\n */\nexport function setFullScreen(element: HTMLElement) {\n const fullScreenElement = element as HTMLElement & {\n mozRequestFullScreen(): Promise;\n msRequestFullscreen(): Promise;\n webkitRequestFullScreen(): Promise;\n };\n if (fullScreenElement?.requestFullscreen) {\n fullScreenElement?.requestFullscreen();\n // 兼容Firefox\n } else if (fullScreenElement?.mozRequestFullScreen) {\n fullScreenElement?.mozRequestFullScreen();\n // 兼容 chrome,safari,opera等\n } else if (fullScreenElement?.webkitRequestFullScreen) {\n fullScreenElement?.webkitRequestFullScreen();\n // 兼容IE/Edge\n } else if (fullScreenElement?.msRequestFullscreen) {\n fullScreenElement?.msRequestFullscreen();\n }\n}\n\n/**\n * 退出全屏\n * @example\n * exitFullscreen();\n */\nexport function exitFullScreen() {\n if (!document?.fullscreenElement\n && !(document as any)?.webkitFullscreenElement && !(document as any)?.mozFullScreenElement) {\n return;\n }\n const exitFullScreenDocument = document as Document & {\n mozCancelFullScreen(): Promise;\n msExitFullscreen(): Promise;\n webkitExitFullscreen(): Promise;\n };\n if (exitFullScreenDocument?.exitFullscreen) {\n exitFullScreenDocument?.exitFullscreen();\n } else if (exitFullScreenDocument?.msExitFullscreen) {\n exitFullScreenDocument?.msExitFullscreen();\n } else if (exitFullScreenDocument?.mozCancelFullScreen) {\n exitFullScreenDocument?.mozCancelFullScreen();\n } else if (exitFullScreenDocument?.webkitExitFullscreen) {\n exitFullScreenDocument?.webkitExitFullscreen();\n }\n}\n\n\n/**\n * 从 window.location.href 中获取指定key的value\n * @param {*} key 要获取的 key\n * @returns window.location.href 中指定key对应的value\n * @example\n * const value = getUrlParam(key);\n */\nexport function getUrlParam(key: string) {\n const url = window?.location.href.replace(/^[^?]*\\?/, '');\n const regexp = new RegExp(`(^|&)${key}=([^&#]*)(&|$|)`, 'i');\n const paramMatch = url?.match(regexp);\n\n return paramMatch ? paramMatch[2] : null;\n}\n\n\n/**\n * 深拷贝\n * @param data 任意类型的 data 原数据\n * @returns 深拷贝之后的数据\n */\nexport function deepClone(data: any) {\n let res: any = null;\n const reference = [Date, RegExp, Set, WeakSet, Map, WeakMap, Error];\n if (reference.includes(data?.constructor)) {\n res = new data.constructor(data);\n } else if (Array.isArray(data)) {\n res = [];\n data.forEach((e, i) => {\n res[i] = deepClone(e);\n });\n } else if (typeof data === 'object' && data !== null) {\n res = {};\n Object.keys(data).forEach((key) => {\n if (Object.hasOwnProperty.call(data, key)) {\n res[key] = deepClone(data[key]);\n }\n });\n } else {\n res = data;\n }\n return res;\n}\n\nexport function isElectronEnv() {\n const userAgent = navigator?.userAgent.toLowerCase();\n return userAgent?.indexOf(' electron/') > -1;\n}\n\nexport function isUndefined(value: any) {\n return typeof value === 'undefined';\n}\n\nexport { clipBoard } from './adapter';\n","import Vue from 'vue';\n\nexport default Vue;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2df3f510&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&id=2df3f510&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport router from './router';\nimport { createPinia, PiniaVuePlugin } from 'pinia';\nimport ElementUI from 'element-ui';\nimport 'element-ui/lib/theme-chalk/index.css';\nimport i18n from './TUIRoom/locales/';\n\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n\nVue.use(ElementUI);\nVue.use(i18n);\n\nVue.config.productionTip = false;\n\nnew Vue({\n pinia,\n // @ts-ignore\n router,\n render: h => h(App),\n}).$mount('#app');\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-container\"},[_c('div',{staticClass:\"header\"},[_c('user-info',{staticClass:\"header-item user-info\",attrs:{\"user-id\":_vm.userId,\"user-name\":_vm.userName,\"user-avatar\":_vm.userAvatar},on:{\"log-out\":_vm.handleLogOut}}),_c('language-icon',{staticClass:\"header-item language\"}),_c('switch-theme',{staticClass:\"header-item theme\"})],1),(!_vm.isMobile)?_c('stream-preview',{ref:\"streamPreviewRef\"}):_vm._e(),_c('room-control',{ref:\"roomControlRef\",attrs:{\"given-room-id\":_vm.givenRoomId,\"user-name\":_vm.userName || _vm.userId},on:{\"create-room\":_vm.handleCreateRoom,\"enter-room\":_vm.handleEnterRoom}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_setup.loading),expression:\"loading\"}],staticClass:\"stream-container\",attrs:{\"element-loading-background\":\"#000000\"}},[_c('div',{ref:\"streamPreviewRef\",staticClass:\"stream-preview\",attrs:{\"id\":\"stream-preview\"}}),(_setup.isCameraMuted)?_c('div',{staticClass:\"stream-info\"},[_c('span',{staticClass:\"attention-info\"},[_vm._v(_vm._s(_setup.t('Off Camera')))])]):_vm._e(),_c('div',{staticClass:\"control-region\"},[_c(_setup.IconButton,{ref:\"audioIconButtonRef\",attrs:{\"title\":_setup.t('Mic'),\"is-active\":_setup.isMicMuted,\"hide-hover-effect\":true,\"has-more\":true},on:{\"click-icon\":_setup.toggleMuteAudio,\"click-more\":_setup.handleMicSetting}},[_c(_setup.AudioIcon,{attrs:{\"audio-volume\":_setup.audioVolume,\"is-muted\":_setup.isMicMuted}})],1),_c(_setup.IconButton,{ref:\"videoIconButtonRef\",staticClass:\"icon\",attrs:{\"title\":_setup.t('Camera'),\"is-active\":_setup.isCameraMuted,\"icon-name\":_setup.cameraIconName,\"hide-hover-effect\":true,\"has-more\":true},on:{\"click-icon\":_setup.toggleMuteVideo,\"click-more\":_setup.handleCameraSetting}})],1)]),_c('div',{staticClass:\"drawer-container\"},[_c(_setup.Drawer,{attrs:{\"model-value\":_setup.isSettingOpen,\"modal\":false,\"title\":_setup.t(_setup.settingTitle),\"direction\":\"rtl\",\"before-close\":_setup.handleDrawerClose,\"size\":480}},[(_setup.settingTab === 'audio')?_c(_setup.AudioSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL}}):(_setup.settingTab === 'video')?_c(_setup.VideoSettingTab,{attrs:{\"mode\":_setup.SettingMode.DETAIL,\"with-preview\":false}}):_vm._e()],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onBeforeUnmount } from 'vue';\nimport TUIRoomEngine, { TUIRoomEvents, TRTCDeviceType, TRTCDeviceState } from '@tencentcloud/tuiroom-engine-js';\nimport IconButton from '../common/IconButton.vue';\nimport { SettingMode } from '../../constants/render';\nimport AudioSettingTab from '../base/AudioSettingTab.vue';\nimport VideoSettingTab from '../base/VideoSettingTab.vue';\nimport AudioIcon from '../base/AudioIcon.vue';\nimport { useRoomStore } from '../../stores/room';\nimport { ICON_NAME } from '../../constants/icon';\nimport { useI18n } from '../../locales';\nimport useGetRoomEngine from '../../hooks/useRoomEngine';\nimport { isElectronEnv } from '../../utils/utils';\nimport Drawer from '../../elementComp/Drawer.vue';\nimport { ElMessageBox } from '../../elementComp/index';\nimport logger from '../../utils/common/logger';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StreamPreview',\n setup(__props, { expose }) {\n\nconst roomStore = useRoomStore();\nconst { t } = useI18n();\n\nconst audioVolume = ref(0);\nconst isElectron = isElectronEnv();\nconst roomEngine = useGetRoomEngine();\n\nexpose({\n getRoomParam,\n startStreamPreview,\n});\n\nconst tuiRoomParam = {\n isOpenCamera: true,\n isOpenMicrophone: true,\n defaultCameraId: '',\n defaultMicrophoneId: '',\n defaultSpeakerId: '',\n};\n\nconst streamPreviewRef = ref();\nconst loading = ref(true);\n\nconst isMicMuted = ref(false);\nconst isCameraMuted = ref(false);\n\nconst cameraIconName = computed(() => (isCameraMuted.value ? ICON_NAME.CameraOff : ICON_NAME.CameraOn));\n\nasync function toggleMuteAudio() {\n isMicMuted.value = !isMicMuted.value;\n tuiRoomParam.isOpenMicrophone = !isMicMuted.value;\n if (isMicMuted.value) {\n await roomEngine.instance?.stopMicDeviceTest();\n audioVolume.value = 0;\n } else {\n await roomEngine.instance?.startMicDeviceTest({ interval: 200 });\n }\n}\n\nasync function toggleMuteVideo() {\n isCameraMuted.value = !isCameraMuted.value;\n tuiRoomParam.isOpenCamera = !isCameraMuted.value;\n if (isCameraMuted.value) {\n await roomEngine.instance?.stopCameraDeviceTest();\n } else {\n await roomEngine.instance?.startCameraDeviceTest({\n view: 'stream-preview',\n });\n }\n}\n\nfunction getRoomParam() {\n tuiRoomParam.defaultCameraId = roomStore.currentCameraId;\n tuiRoomParam.defaultMicrophoneId = roomStore.currentMicrophoneId;\n tuiRoomParam.defaultSpeakerId = roomStore.currentSpeakerId;\n return tuiRoomParam;\n}\n\nconst onUserVoiceVolume = (result: any) => {\n audioVolume.value = result;\n};\n\nasync function startStreamPreview() {\n const cameraList = await roomEngine.instance?.getCameraDevicesList();\n const microphoneList = await roomEngine.instance?.getMicDevicesList();\n const speakerList = await roomEngine.instance?.getSpeakerDevicesList();\n\n const hasCameraDevice = cameraList && cameraList.length > 0;\n const hasMicrophoneDevice = microphoneList && microphoneList.length > 0;\n let alertMessage = '';\n if (hasCameraDevice && !hasMicrophoneDevice) {\n alertMessage = 'Microphone not detected on current device';\n } else if (!hasCameraDevice && hasMicrophoneDevice) {\n alertMessage = 'Camera not detected on current device';\n } else if (!hasCameraDevice && !hasMicrophoneDevice) {\n alertMessage = 'Camera And Microphone not detected on current device';\n }\n if (alertMessage) {\n ElMessageBox.alert(t(alertMessage), t('Note'), {\n customClass: 'custom-element-class',\n confirmButtonText: t('Confirm') });\n }\n\n cameraList && roomStore.setCameraList(cameraList);\n microphoneList && roomStore.setMicrophoneList(microphoneList);\n speakerList && roomStore.setSpeakerList(speakerList);\n const cameraInfo = roomEngine.instance?.getCurrentCameraDevice();\n const micInfo = roomEngine.instance?.getCurrentMicDevice();\n const speakerInfo = roomEngine.instance?.getCurrentSpeakerDevice();\n if (cameraInfo && cameraInfo.deviceId) {\n roomStore.setCurrentCameraId(cameraInfo.deviceId);\n }\n if (micInfo && micInfo.deviceId) {\n roomStore.setCurrentMicrophoneId(micInfo.deviceId);\n }\n if (speakerInfo && speakerInfo.deviceId) {\n roomStore.setCurrentSpeakerId(speakerInfo.deviceId);\n }\n\n if (hasCameraDevice) {\n await roomEngine.instance?.startCameraDeviceTest({ view: 'stream-preview' });\n }\n if (hasMicrophoneDevice) {\n await roomEngine.instance?.startMicDeviceTest({ interval: 200 });\n }\n loading.value = false;\n}\n\n\n/**\n * Device changes: device switching, device plugging and unplugging events\n *\n * 设备变化:设备切换、设备插拔事件\n **/\nasync function onDeviceChange(eventInfo: {deviceId: string, type: number, state: number}) {\n const stateList = ['add', 'remove', 'active'];\n const { deviceId, type, state } = eventInfo;\n if (type === TRTCDeviceType.TRTCDeviceTypeMic) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: microphone, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getMicDevicesList();\n roomStore.setMicrophoneList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentMicrophoneId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeSpeaker) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: speaker, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getSpeakerDevicesList();\n roomStore.setSpeakerList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentSpeakerId(deviceId);\n }\n return;\n }\n if (type === TRTCDeviceType.TRTCDeviceTypeCamera) {\n logger.log(`onDeviceChange: deviceId: ${deviceId}, type: camera, state: ${stateList[state]}`);\n const deviceList = await roomEngine.instance?.getCameraDevicesList();\n roomStore.setCameraList(deviceList);\n if (state === TRTCDeviceState.TRTCDeviceStateActive) {\n roomStore.setCurrentCameraId(deviceId);\n }\n }\n}\n\nTUIRoomEngine.once('ready', async () => {\n // 兼容没有打开音频前,roomEngine 没有抛出音量事件的问题\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.on('onTestMicVolume', onUserVoiceVolume);\n\n roomEngine.instance?.on(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\nonBeforeUnmount(async () => {\n await roomEngine.instance?.stopCameraDeviceTest();\n await roomEngine.instance?.stopMicDeviceTest();\n\n const trtcCloud = roomEngine.instance?.getTRTCCloud();\n trtcCloud?.off('onTestMicVolume', onUserVoiceVolume);\n roomEngine.instance?.off(TUIRoomEvents.onDeviceChange, onDeviceChange);\n});\n\n/**\n * Handles audio and video device settings\n *\n * 处理音视频设备设置\n **/\nconst isSettingOpen = ref(false);\nconst settingTitle = ref('');\nconst settingTab = ref('');\n\n/**\n * Handling audio device settings\n *\n * 处理音频设备设置\n **/\nfunction handleMicSetting() {\n isSettingOpen.value = true;\n settingTitle.value = 'Mic settings';\n settingTab.value = 'audio';\n}\n\n/**\n * Handling video device settings\n *\n * 处理视频设备设置\n **/\nfunction handleCameraSetting() {\n isSettingOpen.value = true;\n settingTitle.value = 'Camera settings';\n settingTab.value = 'video';\n}\n\nfunction handleDrawerClose(done: any) {\n settingTab.value = '';\n isSettingOpen.value = false;\n done();\n}\n\n\nreturn { __sfc: true,roomStore, t, audioVolume, isElectron, roomEngine, tuiRoomParam, streamPreviewRef, loading, isMicMuted, isCameraMuted, cameraIconName, toggleMuteAudio, toggleMuteVideo, getRoomParam, onUserVoiceVolume, startStreamPreview, onDeviceChange, isSettingOpen, settingTitle, settingTab, handleMicSetting, handleCameraSetting, handleDrawerClose, IconButton, SettingMode, AudioSettingTab, VideoSettingTab, AudioIcon, Drawer }\n}\n\n})","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./StreamPreview.vue?vue&type=template&id=61321d8a&\"\nimport script from \"./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./StreamPreview.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./StreamPreview.vue?vue&type=style&index=0&id=61321d8a&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"control-container\"},[(!_setup.showRoomDetail)?_c('div',{staticClass:\"container-header\"},[_c('div',[(!_setup.isEN)?_c('div',{staticClass:\"container-icon\"},[_c(_setup.SvgIcon,{staticClass:\"tencent-cloud\",attrs:{\"icon-name\":\"tencent-cloud\",\"size\":\"custom\"}}),_c(_setup.SvgIcon,{staticClass:\"tencent-cloud-text\",attrs:{\"icon-name\":\"tencent-cloud-text\",\"size\":\"custom\"}})],1):_c('div',{staticClass:\"login-logo\"},[_c('img',{staticClass:\"login-top\",attrs:{\"src\":_setup.logoEn}})])]),_c('div',{staticClass:\"container-bottom\"},[_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.enterRoom),expression:\"enterRoom\"}],staticClass:\"join-room\"},[_c(_setup.SvgIcon,{staticClass:\"enter-icon\",attrs:{\"icon-name\":\"enter-room\",\"size\":\"custom\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join Room')))])],1),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.createRoom),expression:\"createRoom\"}],staticClass:\"create-room\"},[_c(_setup.SvgIcon,{staticClass:\"add-icon\",attrs:{\"icon-name\":\"add-icon\",\"size\":\"custom\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1)])]):_vm._e(),(_setup.showRoomDetail || _setup.hasGivenRoomId )?_c('div',{staticClass:\"room-detail\"},[_c('div',{staticClass:\"room-detail-header\"},[_c(_setup.SvgIcon,{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleClose),expression:\"handleClose\"}],staticClass:\"close-icon\",attrs:{\"icon-name\":\"close-back\",\"size\":\"custom\"}}),(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('span',{staticClass:\"room-detail-header-title\"},[_vm._v(_vm._s(_setup.t('Join Room')))]):_c('span',{staticClass:\"room-detail-header-title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1),_c('div',{staticClass:\"room-detail-middle\"},[_c('div',{staticClass:\"room-detail-info\"},[(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('div',{staticClass:\"room-detail-info-box\"},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(\" \"+_vm._s(_setup.t('Room ID')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.roomId),expression:\"roomId\"}],staticClass:\"roomid-input\",attrs:{\"type\":\"number\",\"placeholder\":_setup.t('Enter room ID'),\"maxlength\":\"10\",\"enterkeyhint\":\"complete\"},domProps:{\"value\":(_setup.roomId)},on:{\"keyup\":_setup.handleInput,\"input\":function($event){if($event.target.composing)return;_setup.roomId=$event.target.value}}})]):_c('div',{staticClass:\"room-detail-info-box\",on:{\"click\":_setup.chooseRoomType}},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(\" \"+_vm._s(_setup.t('Room Type')))]),_c('div',{staticClass:\"room-show-title\"},[_c('span',{staticClass:\"room-show-title\"},[_vm._v(_vm._s(_setup.roomType))])]),_c(_setup.SvgIcon,{staticClass:\"chevron-down-icon\",attrs:{\"icon-name\":\"chevron-down\",\"size\":\"custom\"}})],1),_c('div',{staticClass:\"room-detail-info-box\"},[_c('span',{staticClass:\"room-detail-title\"},[_vm._v(_vm._s(_setup.t('Your Name')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.currentUserName),expression:\"currentUserName\"}],staticClass:\"roomid-input\",attrs:{\"enterkeyhint\":\"complete\",\"maxlength\":\"16\",\"minlength\":\"1\"},domProps:{\"value\":(_setup.currentUserName)},on:{\"keyup\":_setup.handleInputName,\"input\":function($event){if($event.target.composing)return;_setup.currentUserName=$event.target.value}}})])]),_c('div',{staticClass:\"room-detail-setting\"},[_c('div',{staticClass:\"room-detail-setting-list\"},[_vm._v(\" \"+_vm._s(_setup.t('Turn on the microphone'))+\" \"),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.toggle('isMicOn')),expression:\"() => toggle('isMicOn')\"}],staticClass:\"slider-box\",class:[_setup.isMicOn && 'slider-open']},[_c('span',{staticClass:\"slider-block\"})])]),_c('div',{staticClass:\"room-detail-setting-list\"},[_vm._v(\" \"+_vm._s(_setup.t('Turn on the video'))+\" \"),_c('div',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.toggle('isCamerOn')),expression:\"() => toggle('isCamerOn')\"}],staticClass:\"slider-box\",class:[_setup.isCamerOn && 'slider-open']},[_c('span',{staticClass:\"slider-block\"})])])])]),_c('div',{staticClass:\"room-detail-bottom\"},[(_setup.isJoinRoom || _setup.hasGivenRoomId)?_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleRoomOption('Join')),expression:\"() => handleRoomOption('Join')\"}],staticClass:\"button\"},[_vm._v(_vm._s(_setup.t('Join Room')))]):_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.handleRoomOption('New')),expression:\"() => handleRoomOption('New')\"}],staticClass:\"button\"},[_vm._v(_vm._s(_setup.t('New Room')))])])]):_vm._e(),(_setup.showMoreType)?_c('div',{staticClass:\"room-choose-mobile\"},[_c('div',{ref:\"moreTypeRef\",class:[_setup.showMoreType ? 'room-type-container' : 'close-room-type-container']},[_c('div',{staticClass:\"room-choose-button\"},[_c('span',{staticClass:\"choose-cancel\",on:{\"click\":function($event){_setup.showMoreType = false}}},[_vm._v(_vm._s(_setup.t('Cancel')))]),_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(_setup.handleConfirm),expression:\"handleConfirm\"}],staticClass:\"choose-confirm\"},[_vm._v(_vm._s(_setup.t('Sure')))])]),_c('div',{staticClass:\"room-type-hidden\"},[_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.chooseCurrentType('FreeToSpeak')),expression:\"() => chooseCurrentType('FreeToSpeak')\"}],staticClass:\"room-choose-title\",class:[_setup.mode === 'FreeToSpeak' && 'room-current-title']},[_vm._v(_vm._s(_setup.t('Free Speech Room')))]),_c('span',{directives:[{name:\"tap\",rawName:\"v-tap\",value:(() => _setup.chooseCurrentType('SpeakAfterTakingSeat')),expression:\"() => chooseCurrentType('SpeakAfterTakingSeat')\"}],staticClass:\"room-choose-title\",class:[_setup.mode === 'SpeakAfterTakingSeat' && 'room-current-title']},[_vm._v(_vm._s(_setup.t('Raise Hand Room')))])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import i18n from '../../../locales/index';\nimport { ref, computed } from 'vue';\nimport { useI18n } from '../../../locales';\nimport logoCn from '../../../assets/imgs/logo.png';\nimport logoEn from '../../../assets/imgs/logo-en.png';\nexport default function useRoomControl() {\n const logo = computed(() => (i18n.global.locale.value === 'zh-CN' ? logoCn : logoEn));\n const isEN = computed(() => i18n.global.locale.value === 'en-US');\n const showCreateRoomOption = ref(false);\n\n const { t } = useI18n();\n\n\n return {\n logo,\n isEN,\n logoEn,\n t,\n showCreateRoomOption,\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, watch, onMounted, onUnmounted } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport { useRoomStore } from '../../../stores/room';\nimport useRoomControl from './useRoomControlHooks';\nimport '../../../directives/vTap';\n\ninterface Props{\n userName: string\n givenRoomId: string | null\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomControlH5',\n props: {\n userName: null,\n givenRoomId: null\n },\n emits: ['create-room', 'enter-room', 'update-user-name'],\n setup(__props: any, { expose, emit }) {\n\nconst props = __props as {\n userName: string\n givenRoomId: string | null\n}\n\nconst {\n logoEn,\n t,\n isEN,\n} = useRoomControl();\n\nconst moreTypeRef = ref();\nconst roomStore = useRoomStore();\nconst showRoomDetail = ref(false);\nconst showMoreType = ref(false);\nconst isJoinRoom = ref(false);\nconst roomType = computed(() => (mode.value === 'FreeToSpeak' ? t('Free Speech Room') : t('Raise Hand Room')));\nconst isMicOn = ref(true);\nconst isCamerOn = ref(true);\nconst mode = ref('FreeToSpeak');\nconst roomId = ref('');\nconst tuiRoomParam = {\n isOpenCamera: true,\n isOpenMicrophone: true,\n defaultCameraId: '',\n defaultMicrophoneId: '',\n defaultSpeakerId: '',\n};\n\n\n\nexpose({\n getRoomParam,\n});\nconst currentUserName = ref(props.userName || `user_${Math.ceil(Math.random() * 10)}`);\nconst hasGivenRoomId = computed(() => (typeof props.givenRoomId === 'string' && props.givenRoomId !== ''));\n\nwatch(\n () => props.givenRoomId,\n (val) => {\n if (val) {\n roomId.value = val;\n }\n },\n { immediate: true },\n);\n\nfunction createRoom() {\n showRoomDetail.value = !showRoomDetail.value;\n isJoinRoom.value = false;\n}\nfunction enterRoom() {\n showRoomDetail.value = !showRoomDetail.value;\n isJoinRoom.value = true;\n}\nfunction chooseRoomType() {\n showMoreType.value = !showMoreType.value;\n}\nfunction chooseCurrentType(roomType: string) {\n mode.value = roomType;\n}\nfunction handleConfirm() {\n showMoreType.value = !showMoreType.value;\n}\nfunction handleClose() {\n showRoomDetail.value = false;\n showMoreType.value = false;\n}\nfunction toggle(type:string) {\n switch (type) {\n case 'isMicOn':\n isMicOn.value = !isMicOn.value;\n tuiRoomParam.isOpenMicrophone = isMicOn.value;\n break;\n case 'isCamerOn':\n isCamerOn.value = !isCamerOn.value;\n tuiRoomParam.isOpenCamera = isCamerOn.value;\n break;\n default:\n break;\n }\n}\nfunction getRoomParam() {\n tuiRoomParam.defaultCameraId = roomStore.currentCameraId;\n tuiRoomParam.defaultMicrophoneId = roomStore.currentMicrophoneId;\n tuiRoomParam.defaultSpeakerId = roomStore.currentSpeakerId;\n return tuiRoomParam;\n}\n\nfunction handleInput(e: any) {\n roomId.value = e.target.value;\n}\n\nfunction handleInputName(e: any) {\n currentUserName.value = e.target.value;\n}\n\nfunction handleDocumentClick(event: MouseEvent) {\n if (showMoreType.value && !moreTypeRef.value.contains(event.target)) {\n showMoreType.value = false;\n }\n}\n\n\nfunction handleRoomOption(type:string) {\n emit('update-user-name', currentUserName.value);\n switch (type) {\n case 'Join':\n emit('enter-room', String(roomId.value));\n break;\n case 'New':\n emit('create-room', mode.value);\n break;\n default:\n break;\n }\n}\n\n\nonMounted(() => {\n document?.addEventListener('click', handleDocumentClick, true);\n});\n\nonUnmounted(() => {\n document?.removeEventListener('click', handleDocumentClick, true);\n});\n\n\nreturn { __sfc: true,logoEn, t, isEN, moreTypeRef, roomStore, showRoomDetail, showMoreType, isJoinRoom, roomType, isMicOn, isCamerOn, mode, roomId, tuiRoomParam, emit, props, currentUserName, hasGivenRoomId, createRoom, enterRoom, chooseRoomType, chooseCurrentType, handleConfirm, handleClose, toggle, getRoomParam, handleInput, handleInputName, handleDocumentClick, handleRoomOption, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomControlH5.vue?vue&type=template&id=6b65407c&scoped=true&\"\nimport script from \"./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomControlH5.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomControlH5.vue?vue&type=style&index=0&id=6b65407c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6b65407c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"control-container\"},[_c('div',{staticClass:\"control-content\"},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLogo),expression:\"showLogo\"}],staticClass:\"logo\",attrs:{\"src\":_setup.logo}}),(_setup.hasGivenRoomId)?_c('div',{staticClass:\"control-region\"},[_c('span',{staticClass:\"invite-title\"},[_vm._v(_vm._s(_setup.t('Join the room ?')))]),_c('span',{staticClass:\"invite-info\"},[_vm._v(_vm._s(_setup.t('You are invited to room '))+_vm._s(`${_vm.givenRoomId} `)+_vm._s(_setup.t('Room')))]),_c('div',{staticClass:\"button enter-given-room-button\",on:{\"click\":_setup.enterGivenRoom}},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join')))])])]):_c('div',{staticClass:\"control-region\"},[_c('div',{staticClass:\"button create-room-button\",attrs:{\"type\":\"primary\"},on:{\"mouseenter\":_setup.handleMouseEnter,\"mouseleave\":_setup.handleMouseLeave}},[_c('div',{staticClass:\"create-room\"},[_c(_setup.SvgIcon,{attrs:{\"icon-name\":\"add-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('New Room')))])],1),_c('div',{staticClass:\"connect-region\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.showCreateRoomOption),expression:\"showCreateRoomOption\"}],staticClass:\"create-room-mode\"},[_c('div',{staticClass:\"create-room-option\",on:{\"click\":function($event){return _setup.createRoom('FreeToSpeak')}}},[_c(_setup.SvgIcon,{staticClass:\"icon\",attrs:{\"icon-name\":\"free-speech-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Free Speech Room')))])],1),_c('div',{staticClass:\"create-room-option\",on:{\"click\":function($event){return _setup.createRoom('SpeakAfterTakingSeat')}}},[_c(_setup.SvgIcon,{staticClass:\"icon\",attrs:{\"icon-name\":\"apply-speech-icon\"}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Raise Hand Room')))])],1)])]),_c('div',{staticClass:\"button join-room-button\",attrs:{\"type\":\"primary\"},on:{\"click\":_setup.enterRoom}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_setup.roomId),expression:\"roomId\"}],staticClass:\"input\",attrs:{\"placeholder\":_setup.t('Enter room ID'),\"maxlength\":\"10\"},domProps:{\"value\":(_setup.roomId)},on:{\"click\":function($event){$event.stopPropagation();},\"input\":function($event){if($event.target.composing)return;_setup.roomId=$event.target.value}}}),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_setup.t('Join Room')))])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch, computed } from 'vue';\nimport SvgIcon from '../../common/SvgIcon.vue';\nimport useRoomControl from './useRoomControlHooks';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'RoomControlPC',\n props: {\n showLogo: { type: Boolean, default: true },\n givenRoomId: null\n },\n emits: ['create-room', 'enter-room'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { showLogo: boolean, givenRoomId: string | null }\n\nconst {\n logo,\n showCreateRoomOption,\n t,\n} = useRoomControl();\n\n\n\nconst hasGivenRoomId = computed(() => (typeof props.givenRoomId === 'string' && props.givenRoomId !== ''));\nconst roomId = ref('');\n\n\n\nwatch(roomId, (val) => {\n roomId.value = val.replace(/[^\\d]/g, '');\n});\n\nfunction enterGivenRoom() {\n emit('enter-room', props.givenRoomId);\n}\nfunction handleMouseEnter() {\n showCreateRoomOption.value = true;\n}\n\nfunction handleMouseLeave() {\n showCreateRoomOption.value = false;\n}\n\nfunction createRoom(mode: string) {\n emit('create-room', mode);\n}\n\nfunction enterRoom() {\n if (!roomId.value) {\n return;\n }\n emit('enter-room', String(roomId.value));\n}\n\n\nreturn { __sfc: true,logo, showCreateRoomOption, t, props, hasGivenRoomId, roomId, emit, enterGivenRoom, handleMouseEnter, handleMouseLeave, createRoom, enterRoom, SvgIcon }\n}\n\n})","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./RoomControlPC.vue?vue&type=template&id=e855f218&scoped=true&\"\nimport script from \"./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./RoomControlPC.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./RoomControlPC.vue?vue&type=style&index=0&id=e855f218&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e855f218\",\n null\n \n)\n\nexport default component.exports","import RoomControlH5 from './RoomControlH5.vue';\nimport RoomControlPc from './RoomControlPC.vue';\nimport { isMobile } from '../../../utils/useMediaValue';\n\nconst RoomControl = isMobile ? RoomControlH5 : RoomControlPc;\n\nexport default RoomControl;\n","/*eslint-disable*/\nvar e=\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t=[],r=[],n=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,i=!1;function o(){i=!0;for(var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=0,o=e.length;n>18&63]+t[o>>12&63]+t[o>>6&63]+t[63&o]);return a.join(\"\")}function s(e){var r;i||o();for(var n=e.length,s=n%3,h=\"\",l=[],f=0,c=n-s;fc?c:f+16383));return 1===s?(r=e[n-1],h+=t[r>>2],h+=t[r<<4&63],h+=\"==\"):2===s&&(r=(e[n-2]<<8)+e[n-1],h+=t[r>>10],h+=t[r>>4&63],h+=t[r<<2&63],h+=\"=\"),l.push(h),l.join(\"\")}function h(e,t,r,n,i){var o,a,s=8*i-n-1,h=(1<>1,f=-7,c=r?i-1:0,u=r?-1:1,d=e[t+c];for(c+=u,o=d&(1<<-f)-1,d>>=-f,f+=s;f>0;o=256*o+e[t+c],c+=u,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=n;f>0;a=256*a+e[t+c],c+=u,f-=8);if(0===o)o=1-l;else{if(o===h)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),o-=l}return(d?-1:1)*a*Math.pow(2,o-n)}function l(e,t,r,n,i,o){var a,s,h,l=8*o-i-1,f=(1<>1,u=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,_=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=f):(a=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-a))<1&&(a--,h*=2),(t+=a+c>=1?u/h:u*Math.pow(2,1-c))*h>=2&&(a++,h/=2),a+c>=f?(s=0,a=f):a+c>=1?(s=(t*h-1)*Math.pow(2,i),a+=c):(s=t*Math.pow(2,c-1)*Math.pow(2,i),a=0));i>=8;e[r+d]=255&s,d+=p,s/=256,i-=8);for(a=a<0;e[r+d]=255&a,d+=p,a/=256,l-=8);e[r+d-p]|=128*_}var f={}.toString,c=Array.isArray||function(e){return\"[object Array]\"==f.call(e)};function u(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function d(e,t){if(u()=u())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+u().toString(16)+\" bytes\");return 0|e}function y(e){return!(null==e||!e._isBuffer)}function m(e,t){if(y(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return q(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return V(e).length;default:if(n)return q(e).length;t=(\"\"+t).toLowerCase(),n=!0}}function k(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return O(this,t,r);case\"utf8\":case\"utf-8\":return C(this,t,r);case\"ascii\":return I(this,t,r);case\"latin1\":case\"binary\":return P(this,t,r);case\"base64\":return M(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return U(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function E(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function S(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=p.from(t,n)),y(t))return 0===t.length?-1:x(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function x(e,t,r,n,i){var o,a=1,s=e.length,h=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,h/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var f=-1;for(o=r;os&&(r=s-h),o=r;o>=0;o--){for(var c=!0,u=0;ui&&(n=i):n=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function M(e,t,r){return 0===t&&r===e.length?s(e):s(e.slice(t,r))}function C(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+c<=r)switch(c){case 1:l<128&&(f=l);break;case 2:128==(192&(o=e[i+1]))&&(h=(31&l)<<6|63&o)>127&&(f=h);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(h=(15&l)<<12|(63&o)<<6|63&a)>2047&&(h<55296||h>57343)&&(f=h);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(h=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&h<1114112&&(f=h)}null===f?(f=65533,c=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=c}return function(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var r=\"\",n=0;for(;n0&&(e=this.toString(\"hex\",0,50).match(/.{2}/g).join(\" \"),this.length>50&&(e+=\" ... \")),\"\"},p.prototype.compare=function(e,t,r,n,i){if(!y(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(o,a),h=this.slice(n,i),l=e.slice(t,r),f=0;fi)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var o=!1;;)switch(n){case\"hex\":return R(this,e,t,r);case\"utf8\":case\"utf-8\":return A(this,e,t,r);case\"ascii\":return B(this,e,t,r);case\"latin1\":case\"binary\":return z(this,e,t,r);case\"base64\":return L(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,e,t,r);default:if(o)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),o=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function I(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i=\"\",o=t;or)throw new RangeError(\"Trying to access beyond buffer length\")}function F(e,t,r,n,i,o){if(!y(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError(\"Index out of range\")}function N(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function Z(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function j(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function W(e,t,r,n,i){return i||j(e,0,r,4),l(e,t,r,n,23,4),r+4}function Y(e,t,r,n,i){return i||j(e,0,r,8),l(e,t,r,n,52,8),r+8}p.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},p.prototype.readUInt8=function(e,t){return t||H(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||H(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||H(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||H(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||H(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||H(e,t,this.length);for(var n=this[e],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*t)),n},p.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||H(e,t,this.length);for(var n=t,i=1,o=this[e+--n];n>0&&(i*=256);)o+=this[e+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},p.prototype.readInt8=function(e,t){return t||H(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||H(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(e,t){t||H(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(e,t){return t||H(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||H(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||H(e,4,this.length),h(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||H(e,4,this.length),h(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||H(e,8,this.length),h(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||H(e,8,this.length),h(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+r},p.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Z(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+r},p.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+r},p.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Z(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Z(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,r){return W(this,e,t,!0,r)},p.prototype.writeFloatBE=function(e,t,r){return W(this,e,t,!1,r)},p.prototype.writeDoubleLE=function(e,t,r){return Y(this,e,t,!0,r)},p.prototype.writeDoubleBE=function(e,t,r){return Y(this,e,t,!1,r)},p.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError(\"sourceStart out of bounds\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!p.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function V(e){return function(e){var t,a,s,h,l,f;i||o();var c=e.length;if(c%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");l=\"=\"===e[c-2]?2:\"=\"===e[c-1]?1:0,f=new n(3*c/4-l),s=l>0?c-4:c;var u=0;for(t=0,a=0;t>16&255,f[u++]=h>>8&255,f[u++]=255&h;return 2===l?(h=r[e.charCodeAt(t)]<<2|r[e.charCodeAt(t+1)]>>4,f[u++]=255&h):1===l&&(h=r[e.charCodeAt(t)]<<10|r[e.charCodeAt(t+1)]<<4|r[e.charCodeAt(t+2)]>>2,f[u++]=h>>8&255,f[u++]=255&h),f}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(K,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function G(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function $(e){return null!=e&&(!!e._isBuffer||J(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&J(e.slice(0,0))}(e))}function J(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function Q(e,t){return e(t={exports:{}},t.exports),t.exports}var ee=Q(function(e,t){var r;e.exports=(r=r||function(e,t){var r=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),n={},i=n.lib={},o=i.Base={extend:function(e){var t=r(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||h).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(var o=0;o>>2]=r[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var r,n=[],i=function(t){var t=t,r=987654321,n=4294967295;return function(){var i=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(r,t/2)}},l=s.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join(\"\")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(r,t)}},f=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},c=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,s=4*o,h=i/s,l=(h=t?e.ceil(h):e.max((0|h)-this._minBufferSize,0))*o,f=e.min(4*l,i);if(l){for(var c=0;c>>2]|=e[i]<<24-i%4*8;t.call(this,n,r)}else t.apply(this,arguments)}).prototype=e}}(),r.lib.WordArray)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.WordArray,n=e.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}n.Utf16=n.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join(\"\")},parse:function(e){for(var r=e.length,n=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(n,2*r)}},n.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(a))}return n.join(\"\")},parse:function(e){for(var r=e.length,n=[],o=0;o>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*r)}}}(),r.enc.Utf16)}),Q(function(e,t){var r,n,i;e.exports=(i=(n=r=ee).lib.WordArray,n.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s>>6*(3-s)&63));var h=n.charAt(64);if(h)for(;i.length%4;)i.push(h);return i.join(\"\")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-a%4*2;n[o>>>2]|=(s|h)<<24-o%4*8,o++}return i.create(n,o)}(e,t,n)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"},r.enc.Base64)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[];!function(){for(var t=0;t<64;t++)s[t]=4294967296*e.abs(e.sin(t+1))|0}();var h=a.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],h=e[t+1],d=e[t+2],p=e[t+3],_=e[t+4],g=e[t+5],v=e[t+6],w=e[t+7],b=e[t+8],y=e[t+9],m=e[t+10],k=e[t+11],E=e[t+12],S=e[t+13],x=e[t+14],R=e[t+15],A=o[0],B=o[1],z=o[2],L=o[3];A=l(A,B,z,L,a,7,s[0]),L=l(L,A,B,z,h,12,s[1]),z=l(z,L,A,B,d,17,s[2]),B=l(B,z,L,A,p,22,s[3]),A=l(A,B,z,L,_,7,s[4]),L=l(L,A,B,z,g,12,s[5]),z=l(z,L,A,B,v,17,s[6]),B=l(B,z,L,A,w,22,s[7]),A=l(A,B,z,L,b,7,s[8]),L=l(L,A,B,z,y,12,s[9]),z=l(z,L,A,B,m,17,s[10]),B=l(B,z,L,A,k,22,s[11]),A=l(A,B,z,L,E,7,s[12]),L=l(L,A,B,z,S,12,s[13]),z=l(z,L,A,B,x,17,s[14]),A=f(A,B=l(B,z,L,A,R,22,s[15]),z,L,h,5,s[16]),L=f(L,A,B,z,v,9,s[17]),z=f(z,L,A,B,k,14,s[18]),B=f(B,z,L,A,a,20,s[19]),A=f(A,B,z,L,g,5,s[20]),L=f(L,A,B,z,m,9,s[21]),z=f(z,L,A,B,R,14,s[22]),B=f(B,z,L,A,_,20,s[23]),A=f(A,B,z,L,y,5,s[24]),L=f(L,A,B,z,x,9,s[25]),z=f(z,L,A,B,p,14,s[26]),B=f(B,z,L,A,b,20,s[27]),A=f(A,B,z,L,S,5,s[28]),L=f(L,A,B,z,d,9,s[29]),z=f(z,L,A,B,w,14,s[30]),A=c(A,B=f(B,z,L,A,E,20,s[31]),z,L,g,4,s[32]),L=c(L,A,B,z,b,11,s[33]),z=c(z,L,A,B,k,16,s[34]),B=c(B,z,L,A,x,23,s[35]),A=c(A,B,z,L,h,4,s[36]),L=c(L,A,B,z,_,11,s[37]),z=c(z,L,A,B,w,16,s[38]),B=c(B,z,L,A,m,23,s[39]),A=c(A,B,z,L,S,4,s[40]),L=c(L,A,B,z,a,11,s[41]),z=c(z,L,A,B,p,16,s[42]),B=c(B,z,L,A,v,23,s[43]),A=c(A,B,z,L,y,4,s[44]),L=c(L,A,B,z,E,11,s[45]),z=c(z,L,A,B,R,16,s[46]),A=u(A,B=c(B,z,L,A,d,23,s[47]),z,L,a,6,s[48]),L=u(L,A,B,z,w,10,s[49]),z=u(z,L,A,B,x,15,s[50]),B=u(B,z,L,A,g,21,s[51]),A=u(A,B,z,L,E,6,s[52]),L=u(L,A,B,z,p,10,s[53]),z=u(z,L,A,B,m,15,s[54]),B=u(B,z,L,A,h,21,s[55]),A=u(A,B,z,L,b,6,s[56]),L=u(L,A,B,z,R,10,s[57]),z=u(z,L,A,B,v,15,s[58]),B=u(B,z,L,A,S,21,s[59]),A=u(A,B,z,L,_,6,s[60]),L=u(L,A,B,z,k,10,s[61]),z=u(z,L,A,B,d,15,s[62]),B=u(B,z,L,A,y,21,s[63]),o[0]=o[0]+A|0,o[1]=o[1]+B|0,o[2]=o[2]+z|0,o[3]=o[3]+L|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var o=e.floor(n/4294967296),a=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var s=this._hash,h=s.words,l=0;l<4;l++){var f=h[l];h[l]=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<>>32-o)+t}function f(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<>>32-o)+t}function c(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<>>32-o)+t}function u(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(h),t.HmacMD5=o._createHmacHelper(h)}(Math),r.MD5)}),Q(function(e,t){var r,n,i,o,a,s,h,l;e.exports=(i=(n=r=ee).lib,o=i.WordArray,a=i.Hasher,s=n.algo,h=[],l=s.SHA1=a.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=0;l<80;l++){if(l<16)h[l]=0|e[t+l];else{var f=h[l-3]^h[l-8]^h[l-14]^h[l-16];h[l]=f<<1|f>>>31}var c=(n<<5|n>>>27)+s+h[l];c+=l<20?1518500249+(i&o|~i&a):l<40?1859775393+(i^o^a):l<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=n,n=c}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),n.SHA1=a._createHelper(l),n.HmacSHA1=a._createHmacHelper(l),r.SHA1)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=[],h=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),h[i]=r(e.pow(n,1/3)),i++),n++}();var l=[],f=a.SHA256=o.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],f=r[5],c=r[6],u=r[7],d=0;d<64;d++){if(d<16)l[d]=0|e[t+d];else{var p=l[d-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,g=l[d-2],v=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[d]=_+l[d-7]+v+l[d-16]}var w=n&i^n&o^i&o,b=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),y=u+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&f^~s&c)+h[d]+l[d];u=c,c=f,f=s,s=a+y|0,a=o,o=i,i=n,n=y+(b+w)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(f),t.HmacSHA256=o._createHmacHelper(f)}(Math),r.SHA256)}),Q(function(e,t){var r,n,i,o,a,s;e.exports=(i=(n=r=ee).lib.WordArray,o=n.algo,a=o.SHA256,s=o.SHA224=a.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),n.SHA224=a._createHelper(s),n.HmacSHA224=a._createHmacHelper(s),r.SHA224)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.Hasher,n=e.x64,i=n.Word,o=n.WordArray,a=e.algo;function s(){return i.create.apply(i,arguments)}var h=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];!function(){for(var e=0;e<80;e++)l[e]=s()}();var f=a.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],f=r[5],c=r[6],u=r[7],d=n.high,p=n.low,_=i.high,g=i.low,v=o.high,w=o.low,b=a.high,y=a.low,m=s.high,k=s.low,E=f.high,S=f.low,x=c.high,R=c.low,A=u.high,B=u.low,z=d,L=p,T=_,M=g,C=v,D=w,I=b,P=y,O=m,U=k,H=E,F=S,N=x,Z=R,j=A,W=B,Y=0;Y<80;Y++){var K=l[Y];if(Y<16)var X=K.high=0|e[t+2*Y],q=K.low=0|e[t+2*Y+1];else{var V=l[Y-15],G=V.high,$=V.low,J=(G>>>1|$<<31)^(G>>>8|$<<24)^G>>>7,Q=($>>>1|G<<31)^($>>>8|G<<24)^($>>>7|G<<25),ee=l[Y-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[Y-7],ae=oe.high,se=oe.low,he=l[Y-16],le=he.high,fe=he.low;X=(X=(X=J+ae+((q=Q+se)>>>0>>0?1:0))+ne+((q+=ie)>>>0>>0?1:0))+le+((q+=fe)>>>0>>0?1:0),K.high=X,K.low=q}var ce,ue=O&H^~O&N,de=U&F^~U&Z,pe=z&T^z&C^T&C,_e=L&M^L&D^M&D,ge=(z>>>28|L<<4)^(z<<30|L>>>2)^(z<<25|L>>>7),ve=(L>>>28|z<<4)^(L<<30|z>>>2)^(L<<25|z>>>7),we=(O>>>14|U<<18)^(O>>>18|U<<14)^(O<<23|U>>>9),be=(U>>>14|O<<18)^(U>>>18|O<<14)^(U<<23|O>>>9),ye=h[Y],me=ye.high,ke=ye.low,Ee=j+we+((ce=W+be)>>>0>>0?1:0),Se=ve+_e;j=N,W=Z,N=H,Z=F,H=O,F=U,O=I+(Ee=(Ee=(Ee=Ee+ue+((ce+=de)>>>0>>0?1:0))+me+((ce+=ke)>>>0>>0?1:0))+X+((ce+=q)>>>0>>0?1:0))+((U=P+ce|0)>>>0

>>0?1:0)|0,I=C,P=D,C=T,D=M,T=z,M=L,z=Ee+(ge+pe+(Se>>>0>>0?1:0))+((L=ce+Se|0)>>>0>>0?1:0)|0}p=n.low=p+L,n.high=d+z+(p>>>0>>0?1:0),g=i.low=g+M,i.high=_+T+(g>>>0>>0?1:0),w=o.low=w+D,o.high=v+C+(w>>>0>>0?1:0),y=a.low=y+P,a.high=b+I+(y>>>0

>>0?1:0),k=s.low=k+U,s.high=m+O+(k>>>0>>0?1:0),S=f.low=S+F,f.high=E+H+(S>>>0>>0?1:0),R=c.low=R+Z,c.high=x+N+(R>>>0>>0?1:0),B=u.low=B+W,u.high=A+j+(B>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(f),e.HmacSHA512=t._createHmacHelper(f)}(),r.SHA512)}),Q(function(e,t){var r,n,i,o,a,s,h,l;e.exports=(i=(n=r=ee).x64,o=i.Word,a=i.WordArray,s=n.algo,h=s.SHA512,l=s.SHA384=h.extend({_doReset:function(){this._hash=new a.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var e=h._doFinalize.call(this);return e.sigBytes-=16,e}}),n.SHA384=h._createHelper(l),n.HmacSHA384=h._createHmacHelper(l),r.SHA384)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.x64.Word,s=t.algo,h=[],l=[],f=[];!function(){for(var e=1,t=0,r=0;r<24;r++){h[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,c=0,u=0;u<7;u++){if(1&i){var d=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(B=r[i]).high^=a,B.low^=o}for(var s=0;s<24;s++){for(var u=0;u<5;u++){for(var d=0,p=0,_=0;_<5;_++)d^=(B=r[u+5*_]).high,p^=B.low;var g=c[u];g.high=d,g.low=p}for(u=0;u<5;u++){var v=c[(u+4)%5],w=c[(u+1)%5],b=w.high,y=w.low;for(d=v.high^(b<<1|y>>>31),p=v.low^(y<<1|b>>>31),_=0;_<5;_++)(B=r[u+5*_]).high^=d,B.low^=p}for(var m=1;m<25;m++){var k=(B=r[m]).high,E=B.low,S=h[m];S<32?(d=k<>>32-S,p=E<>>32-S):(d=E<>>64-S,p=k<>>64-S);var x=c[l[m]];x.high=d,x.low=p}var R=c[0],A=r[0];for(R.high=A.high,R.low=A.low,u=0;u<5;u++)for(_=0;_<5;_++){var B=r[m=u+5*_],z=c[m],L=c[(u+1)%5+5*_],T=c[(u+2)%5+5*_];B.high=z.high^~L.high&T.high,B.low=z.low^~L.low&T.low}B=r[0];var M=f[s];B.high^=M.high,B.low^=M.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,h=s/8,l=[],f=0;f>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(u)}return new i.init(l,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(u),t.HmacSHA3=o._createHmacHelper(u)}(Math),r.SHA3)}),Q(function(e,t){var r;e.exports=(r=ee,function(e){var t=r,n=t.lib,i=n.WordArray,o=n.Hasher,a=t.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),h=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),f=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=a.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,a,d,y,m,k,E,S,x,R,A,B=this._hash.words,z=c.words,L=u.words,T=s.words,M=h.words,C=l.words,D=f.words;for(k=o=B[0],E=a=B[1],S=d=B[2],x=y=B[3],R=m=B[4],r=0;r<80;r+=1)A=o+e[t+T[r]]|0,A+=r<16?p(a,d,y)+z[0]:r<32?_(a,d,y)+z[1]:r<48?g(a,d,y)+z[2]:r<64?v(a,d,y)+z[3]:w(a,d,y)+z[4],A=(A=b(A|=0,C[r]))+m|0,o=m,m=y,y=b(d,10),d=a,a=A,A=k+e[t+M[r]]|0,A+=r<16?w(E,S,x)+L[0]:r<32?v(E,S,x)+L[1]:r<48?g(E,S,x)+L[2]:r<64?_(E,S,x)+L[3]:p(E,S,x)+L[4],A=(A=b(A|=0,D[r]))+R|0,k=R,R=x,x=b(S,10),S=E,E=A;A=B[1]+d+x|0,B[1]=B[2]+y+R|0,B[2]=B[3]+m+k|0,B[3]=B[4]+o+E|0,B[4]=B[0]+a+S|0,B[0]=A},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function p(e,t,r){return e^t^r}function _(e,t,r){return e&t|~e&r}function g(e,t,r){return(e|~t)^r}function v(e,t,r){return e&r|t&~r}function w(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}t.RIPEMD160=o._createHelper(d),t.HmacRIPEMD160=o._createHmacHelper(d)}(),r.RIPEMD160)}),Q(function(e,t){var r,n,i,o,a,s;e.exports=(n=(r=ee).lib,i=n.Base,o=r.enc,a=o.Utf8,s=r.algo,void(s.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=a.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,h=o.words,l=0;l>>2];e.sigBytes-=t}},o.BlockCipher=d.extend({cfg:d.cfg.extend({mode:g,padding:w}),reset:function(){d.reset.call(this);var e=this.cfg,t=e.iv,r=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=r.createEncryptor;else{var n=r.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==n?this._mode.init(this,t&&t.words):(this._mode=n.call(r,this,t&&t.words),this._mode.__creator=n)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),b=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),y=i.format={},m=y.OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;if(r)var n=s.create([1398893684,1701076831]).concat(r).concat(t);else var n=t;return n.toString(f)},parse:function(e){var t=f.parse(e),r=t.words;if(1398893684==r[0]&&1701076831==r[1]){var n=s.create(r.slice(2,4));r.splice(0,4),t.sigBytes-=16}return b.create({ciphertext:t,salt:n})}},k=o.SerializableCipher=a.extend({cfg:a.extend({format:m}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return b.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=e.createDecryptor(r,n).finalize(t.ciphertext);return i},_parse:function(e,t){return\"string\"==typeof e?t.parse(e,this):e}}),E=i.kdf={},S=E.OpenSSL={execute:function(e,t,r,n){n||(n=s.random(8));var i=u.create({keySize:t+r}).compute(e,n),o=s.create(i.words.slice(t),4*r);return i.sigBytes=4*t,b.create({key:i,iv:o,salt:n})}},x=o.PasswordBasedCipher=k.extend({cfg:k.cfg.extend({kdf:S}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize);n.iv=i.iv;var o=k.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt);n.iv=i.iv;var o=k.decrypt.call(this,e,t,i.key,n);return o}})))}),Q(function(e,t){var r;e.exports=((r=ee).mode.CFB=function(){var e=r.lib.BlockCipherMode.extend();function t(e,t,r,n){var i=this._iv;if(i){var o=i.slice(0);this._iv=void 0}else o=this._prevBlock;n.encryptBlock(o,0);for(var a=0;a>24&255)){var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}else e+=1<<24;return e}var n=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var h=0;h>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Ansix923)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso10126={pad:function(e,t){var n=4*t,i=n-e.sigBytes%n;e.concat(r.lib.WordArray.random(i-1)).concat(r.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},r.pad.Iso10126)}),Q(function(e,t){var r;e.exports=((r=ee).pad.Iso97971={pad:function(e,t){e.concat(r.lib.WordArray.create([2147483648],1)),r.pad.ZeroPadding.pad(e,t)},unpad:function(e){r.pad.ZeroPadding.unpad(e),e.sigBytes--}},r.pad.Iso97971)}),Q(function(e,t){var r;e.exports=((r=ee).pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){for(var t=e.words,r=e.sigBytes-1;!(t[r>>>2]>>>24-r%4*8&255);)r--;e.sigBytes=r+1}},r.pad.ZeroPadding)}),Q(function(e,t){var r;e.exports=((r=ee).pad.NoPadding={pad:function(){},unpad:function(){}},r.pad.NoPadding)}),Q(function(e,t){var r,n,i,o;e.exports=(i=(n=r=ee).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(e){return e.ciphertext.toString(o)},parse:function(e){var t=o.parse(e);return i.create({ciphertext:t})}},r.format.Hex)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.BlockCipher,n=e.algo,i=[],o=[],a=[],s=[],h=[],l=[],f=[],c=[],u=[],d=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;var r=0,n=0;for(t=0;t<256;t++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var _=e[r],g=e[_],v=e[g],w=257*e[p]^16843008*p;a[r]=w<<24|w>>>8,s[r]=w<<16|w>>>16,h[r]=w<<8|w>>>24,l[r]=w,w=16843009*v^65537*g^257*_^16843008*r,f[p]=w<<24|w>>>8,c[p]=w<<16|w>>>16,u[p]=w<<8|w>>>24,d[p]=w,r?(r=_^e[e[e[v^_]]],n^=e[e[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],_=n.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(s=i[s>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=p[a/r|0]<<24),o[a]=o[a-r]^s}for(var h=this._invKeySchedule=[],l=0;l>>24]]^c[i[s>>>16&255]]^u[i[s>>>8&255]]^d[i[255&s]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,h,l,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,f,c,u,d,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var h=this._nRounds,l=e[t]^r[0],f=e[t+1]^r[1],c=e[t+2]^r[2],u=e[t+3]^r[3],d=4,p=1;p>>24]^i[f>>>16&255]^o[c>>>8&255]^a[255&u]^r[d++],g=n[f>>>24]^i[c>>>16&255]^o[u>>>8&255]^a[255&l]^r[d++],v=n[c>>>24]^i[u>>>16&255]^o[l>>>8&255]^a[255&f]^r[d++],w=n[u>>>24]^i[l>>>16&255]^o[f>>>8&255]^a[255&c]^r[d++];l=_,f=g,c=v,u=w}_=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[c>>>8&255]<<8|s[255&u])^r[d++],g=(s[f>>>24]<<24|s[c>>>16&255]<<16|s[u>>>8&255]<<8|s[255&l])^r[d++],v=(s[c>>>24]<<24|s[u>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^r[d++],w=(s[u>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&c])^r[d++],e[t]=_,e[t+1]=g,e[t+2]=v,e[t+3]=w},keySize:8});e.AES=t._createHelper(_)}(),r.AES)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib,n=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],f=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],c=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var l=i[o]=[],f=h[o];for(r=0;r<24;r++)l[r/6|0]|=t[(s[r]-1+f)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(s[r+24]-1+f)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var c=this._invSubKeys=[];for(r=0;r<16;r++)c[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,h=0;h<8;h++)s|=l[h][((a^i[h])&f[h])>>>0];this._lBlock=a,this._rBlock=o^s}var c=this._lBlock;this._lBlock=this._rBlock,this._rBlock=c,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var h=n[i];n[i]=n[o],n[o]=h}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=n.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),r.RC4)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)h.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(i[0]^=l,i[1]^=c,i[2]^=f,i[3]^=u,i[4]^=l,i[5]^=c,i[6]^=f,i[7]^=u,r=0;r<4;r++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),r.Rabbit)}),Q(function(e,t){var r;e.exports=(r=ee,function(){var e=r,t=e.lib.StreamCipher,n=e.algo,i=[],o=[],a=[],s=n.RabbitLegacy=t.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)h.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),c=l>>>16|4294901760&f,u=f<<16|65535&l;for(n[0]^=l,n[1]^=c,n[2]^=f,n[3]^=u,n[4]^=l,n[5]^=c,n[6]^=f,n[7]^=u,i=0;i<4;i++)h.call(this)}},_doProcessBlock:function(e,t){var r=this._X;h.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function h(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,h=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=h^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),r.RabbitLegacy)}),Q(function(e,t){e.exports=ee}));function re(){throw new Error(\"setTimeout has not been defined\")}function ne(){throw new Error(\"clearTimeout has not been defined\")}var ie=re,oe=ne;function ae(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===re||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}\"function\"==typeof e.setTimeout&&(ie=setTimeout),\"function\"==typeof e.clearTimeout&&(oe=clearTimeout);var se,he=[],le=!1,fe=-1;function ce(){le&&se&&(le=!1,se.length?he=se.concat(he):fe=-1,he.length&&ue())}function ue(){if(!le){var e=ae(ce);le=!0;for(var t=he.length;t;){for(se=he,he=[];++fe1)for(var r=1;r0&&a.length>i){a.warned=!0;var h=new Error(\"Possible EventEmitter memory leak detected. \"+a.length+\" \"+t+\" listeners added. Use emitter.setMaxListeners() to increase limit\");h.name=\"MaxListenersExceededWarning\",h.emitter=e,h.type=t,h.count=a.length,s=h,\"function\"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function xe(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Re(e){var t=this._events;if(t){var r=t[e];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function Ae(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}ge.prototype=Object.create(null),ve.EventEmitter=ve,ve.usingDomains=!1,ve.prototype.domain=void 0,ve.prototype._events=void 0,ve.prototype._maxListeners=void 0,ve.defaultMaxListeners=10,ve.init=function(){this.domain=null,ve.usingDomains&&(void 0).active&&(void 0).Domain,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ge,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ve.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||isNaN(e))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=e,this},ve.prototype.getMaxListeners=function(){return we(this)},ve.prototype.emit=function(e){var t,r,n,i,o,a,s,h=\"error\"===e;if(a=this._events)h=h&&null==a.error;else if(!h)return!1;if(s=this.domain,h){if(t=arguments[1],!s){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified \"error\" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit(\"error\",t),!1}if(!(r=a[e]))return!1;var f=\"function\"==typeof r;switch(n=arguments.length){case 1:be(r,f,this);break;case 2:ye(r,f,this,arguments[1]);break;case 3:me(r,f,this,arguments[1],arguments[2]);break;case 4:ke(r,f,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new ge,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n0?Reflect.ownKeys(this._events):[]};var Be=\"function\"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e},ze=/%[sdj%]/g;function Le(e){if(!Ze(e)){for(var t=[],r=0;r=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}}),a=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Fe(t)?r.showHidden=t:t&&function(e,t){if(!t||!Ye(t))return e;var r=Object.keys(t),n=r.length;for(;n--;)e[r[n]]=t[r[n]]}(r,t),je(r.showHidden)&&(r.showHidden=!1),je(r.depth)&&(r.depth=2),je(r.colors)&&(r.colors=!1),je(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=Ie),Oe(r,e,r.depth)}function Ie(e,t){var r=De.styles[t];return r?\"\u001b[\"+De.colors[r][0]+\"m\"+e+\"\u001b[\"+De.colors[r][1]+\"m\":e}function Pe(e,t){return e}function Oe(e,t,r){if(e.customInspect&&t&&qe(t.inspect)&&t.inspect!==De&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return Ze(n)||(n=Oe(e,n,r)),n}var i=function(e,t){if(je(t))return e.stylize(\"undefined\",\"undefined\");if(Ze(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(n=t,\"number\"==typeof n)return e.stylize(\"\"+t,\"number\");var n;if(Fe(t))return e.stylize(\"\"+t,\"boolean\");if(Ne(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),a=function(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Xe(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return Ue(t);if(0===o.length){if(qe(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(We(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(Ke(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Xe(t))return Ue(t)}var h,l,f=\"\",c=!1,u=[\"{\",\"}\"];(h=t,Array.isArray(h)&&(c=!0,u=[\"[\",\"]\"]),qe(t))&&(f=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return We(t)&&(f=\" \"+RegExp.prototype.toString.call(t)),Ke(t)&&(f=\" \"+Date.prototype.toUTCString.call(t)),Xe(t)&&(f=\" \"+Ue(t)),0!==o.length||c&&0!=t.length?r<0?We(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),l=c?function(e,t,r,n,i){for(var o=[],a=0,s=t.length;a60)return r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1];return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(l,f,u)):u[0]+f+u[1]}function Ue(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function He(e,t,r,n,i,o){var a,s,h;if((h=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=h.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):h.set&&(s=e.stylize(\"[Setter]\",\"special\")),Ge(n,i)||(a=\"[\"+i+\"]\"),s||(e.seen.indexOf(h.value)<0?(s=Ne(r)?Oe(e,h.value,null):Oe(e,h.value,r-1)).indexOf(\"\\n\")>-1&&(s=o?s.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\")):s=e.stylize(\"[Circular]\",\"special\")),je(a)){if(o&&i.match(/^\\d+$/))return s;(a=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function Fe(e){return\"boolean\"==typeof e}function Ne(e){return null===e}function Ze(e){return\"string\"==typeof e}function je(e){return void 0===e}function We(e){return Ye(e)&&\"[object RegExp]\"===Ve(e)}function Ye(e){return\"object\"==typeof e&&null!==e}function Ke(e){return Ye(e)&&\"[object Date]\"===Ve(e)}function Xe(e){return Ye(e)&&(\"[object Error]\"===Ve(e)||e instanceof Error)}function qe(e){return\"function\"==typeof e}function Ve(e){return Object.prototype.toString.call(e)}function Ge(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function $e(){this.head=null,this.tail=null,this.length=0}De.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},De.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},$e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},$e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},$e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},$e.prototype.clear=function(){this.head=this.tail=null,this.length=0},$e.prototype.join=function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r},$e.prototype.concat=function(e){if(0===this.length)return p.alloc(0);if(1===this.length)return this.head.data;for(var t=p.allocUnsafe(e>>>0),r=this.head,n=0;r;)r.data.copy(t,n),n+=r.data.length,r=r.next;return t};var Je=p.isEncoding||function(e){switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function Qe(e){switch(this.encoding=(e||\"utf8\").toLowerCase().replace(/[-_]/,\"\"),function(e){if(e&&!Je(e))throw new Error(\"Unknown encoding: \"+e)}(e),this.encoding){case\"utf8\":this.surrogateSize=3;break;case\"ucs2\":case\"utf16le\":this.surrogateSize=2,this.detectIncompleteChar=tt;break;case\"base64\":this.surrogateSize=3,this.detectIncompleteChar=rt;break;default:return void(this.write=et)}this.charBuffer=new p(6),this.charReceived=0,this.charLength=0}function et(e){return e.toString(this.encoding)}function tt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function rt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Qe.prototype.write=function(e){for(var t=\"\";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=\"\"}this.detectIncompleteChar(e);var n=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,n),n-=this.charReceived);var i;n=(t+=e.toString(this.encoding,0,n)).length-1;if((i=t.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,n)}return t},Qe.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},Qe.prototype.end=function(e){var t=\"\";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;t+=n.slice(0,r).toString(i)}return t},ot.ReadableState=it;var nt=function(e){je(Me)&&(Me=\"\"),e=e.toUpperCase(),Ce[e]||(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(Me)?Ce[e]=function(){var t=Le.apply(null,arguments);console.error(\"%s %d: %s\",e,0,t)}:Ce[e]=function(){});return Ce[e]}(\"stream\");function it(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof Ct&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=new $e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Qe(e.encoding),this.encoding=e.encoding)}function ot(e){if(!(this instanceof ot))return new ot(e);this._readableState=new it(e,this),this.readable=!0,e&&\"function\"==typeof e.read&&(this._read=e.read),ve.call(this)}function at(e,t,r,n,i){var o=function(e,t){var r=null;$(t)||\"string\"==typeof t||null==t||e.objectMode||(r=new TypeError(\"Invalid non-string/buffer chunk\"));return r}(t,r);if(o)e.emit(\"error\",o);else if(null===r)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,lt(e)}(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!i){var a=new Error(\"stream.push() after EOF\");e.emit(\"error\",a)}else if(t.endEmitted&&i){var s=new Error(\"stream.unshift() after end event\");e.emit(\"error\",s)}else{var h;!t.decoder||i||n||(r=t.decoder.write(r),h=!t.objectMode&&0===r.length),i||(t.reading=!1),h||(t.flowing&&0===t.length&&!t.sync?(e.emit(\"data\",r),e.read(0)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&<(e))),function(e,t){t.readingMore||(t.readingMore=!0,de(ct,e,t))}(e,t)}else i||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=st?e=st:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function lt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(nt(\"emitReadable\",t.flowing),t.emittedReadable=!0,t.sync?de(ft,e):ft(e))}function ft(e){nt(\"emit readable\"),e.emit(\"readable\"),pt(e)}function ct(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;eo.length?o.length:e;if(a===o.length?i+=o:i+=o.slice(0,e),0===(e-=a)){a===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(a));break}++n}return t.length-=n,i}(e,t):function(e,t){var r=p.allocUnsafe(e),n=t.head,i=1;n.data.copy(r),e-=n.data.length;for(;n=n.next;){var o=n.data,a=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,a),0===(e-=a)){a===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(a));break}++i}return t.length-=i,r}(e,t);return n}(e,t.buffer,t.decoder),r);var r}function gt(e){var t=e._readableState;if(t.length>0)throw new Error('\"endReadable()\" called on non-empty stream');t.endEmitted||(t.ended=!0,de(vt,t,e))}function vt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"))}function wt(e,t){for(var r=0,n=e.length;r=t.highWaterMark||t.ended))return nt(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?gt(this):lt(this),null;if(0===(e=ht(e,t))&&t.ended)return 0===t.length&>(this),null;var n,i=t.needReadable;return nt(\"need readable\",i),(0===t.length||t.length-e0?_t(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&>(this)),null!==n&&this.emit(\"data\",n),n},ot.prototype._read=function(e){this.emit(\"error\",new Error(\"not implemented\"))},ot.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,nt(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=!t||!1!==t.end?a:l;function o(e){nt(\"onunpipe\"),e===r&&l()}function a(){nt(\"onend\"),e.end()}n.endEmitted?de(i):r.once(\"end\",i),e.on(\"unpipe\",o);var s=function(e){return function(){var t=e._readableState;nt(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners(\"data\").length&&(t.flowing=!0,pt(e))}}(r);e.on(\"drain\",s);var h=!1;function l(){nt(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",p),e.removeListener(\"drain\",s),e.removeListener(\"error\",u),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",a),r.removeListener(\"end\",l),r.removeListener(\"data\",c),h=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var f=!1;function c(t){nt(\"ondata\"),f=!1,!1!==e.write(t)||f||((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==wt(n.pipes,e))&&!h&&(nt(\"false write response, pause\",r._readableState.awaitDrain),r._readableState.awaitDrain++,f=!0),r.pause())}function u(t){var r;nt(\"onerror\",t),_(),e.removeListener(\"error\",u),0===(r=\"error\",e.listeners(r).length)&&e.emit(\"error\",t)}function d(){e.removeListener(\"finish\",p),_()}function p(){nt(\"onfinish\"),e.removeListener(\"close\",d),_()}function _(){nt(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",c),function(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,\"error\",u),e.once(\"close\",d),e.once(\"finish\",p),e.emit(\"pipe\",r),n.flowing||(nt(\"pipe resume\"),r.resume()),e},ot.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i-1))throw new TypeError(\"Unknown encoding: \"+e);return this._writableState.defaultEncoding=e,this},kt.prototype._write=function(e,t,r){r(new Error(\"not implemented\"))},kt.prototype._writev=null,kt.prototype.end=function(e,t,r){var n=this._writableState;\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,Bt(e,t),r&&(t.finished?de(r):e.once(\"finish\",r));t.ended=!0,e.writable=!1}(this,n,r)},Be(Ct,ot);for(var Lt=Object.keys(kt.prototype),Tt=0;Tt=0;)e[t]=0}var Jt=0,Qt=1,er=2,tr=29,rr=256,nr=rr+1+tr,ir=30,or=19,ar=2*nr+1,sr=15,hr=16,lr=7,fr=256,cr=16,ur=17,dr=18,pr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],_r=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],vr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],wr=new Array(2*(nr+2));$t(wr);var br=new Array(2*ir);$t(br);var yr=new Array(512);$t(yr);var mr=new Array(256);$t(mr);var kr=new Array(tr);$t(kr);var Er,Sr,xr,Rr=new Array(ir);function Ar(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function Br(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function zr(e){return e<256?yr[e]:yr[256+(e>>>7)]}function Lr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Tr(e,t,r){e.bi_valid>hr-r?(e.bi_buf|=t<>hr-e.bi_valid,e.bi_valid+=r-hr):(e.bi_buf|=t<>>=1,r<<=1}while(--t>0);return r>>>1}function Dr(e,t,r){var n,i,o=new Array(sr+1),a=0;for(n=1;n<=sr;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var s=e[2*i+1];0!==s&&(e[2*i]=Cr(o[s]++,s))}}function Ir(e){var t;for(t=0;t8?Lr(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Or(e,t,r,n){var i=2*t,o=2*r;return e[i]>1;r>=1;r--)Ur(e,o,r);i=h;do{r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ur(e,o,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,o[2*i]=o[2*r]+o[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,o[2*r+1]=o[2*n+1]=i,e.heap[1]=i++,Ur(e,o,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,o,a,s,h=t.dyn_tree,l=t.max_code,f=t.stat_desc.static_tree,c=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,_=0;for(o=0;o<=sr;o++)e.bl_count[o]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;rp&&(o=p,_++),h[2*n+1]=o,n>l||(e.bl_count[o]++,a=0,n>=d&&(a=u[n-d]),s=h[2*n],e.opt_len+=s*(o+a),c&&(e.static_len+=s*(f[2*n+1]+a)));if(0!==_){do{for(o=p-1;0===e.bl_count[o];)o--;e.bl_count[o]--,e.bl_count[o+1]+=2,e.bl_count[p]--,_-=2}while(_>0);for(o=p;0!==o;o--)for(n=e.bl_count[o];0!==n;)(i=e.heap[--r])>l||(h[2*i+1]!==o&&(e.opt_len+=(o-h[2*i+1])*h[2*i],h[2*i+1]=o),n--)}}(e,t),Dr(o,l,e.bl_count)}function Nr(e,t,r){var n,i,o=-1,a=t[1],s=0,h=7,l=4;for(0===a&&(h=138,l=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s>=7;n=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}function Xr(e,t,r,n){var i,o,a=0;e.level>0?(e.strm.data_type===Gt&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return qt;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return Vt;for(t=32;t=3&&0===e.bl_tree[2*vr[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?Yr(e,t,r,n):e.strategy===Xt||o===i?(Tr(e,(Qt<<1)+(n?1:0),3),Hr(e,wr,br)):(Tr(e,(er<<1)+(n?1:0),3),function(e,t,r,n){var i;for(Tr(e,t-257,5),Tr(e,r-1,5),Tr(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(mr[r]+rr+1)]++,e.dyn_dtree[2*zr(t)]++),e.last_lit===e.lit_bufsize-1}function Vr(e,t,r,n){for(var i=65535&e|0,o=e>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+t[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}var Gr=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();function $r(e,t,r,n){var i=Gr,o=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}var Jr,Qr=0,en=1,tn=3,rn=4,nn=5,on=0,an=1,sn=-2,hn=-3,ln=-5,fn=-1,cn=1,un=2,dn=3,pn=4,_n=2,gn=8,vn=9,wn=286,bn=30,yn=19,mn=2*wn+1,kn=15,En=3,Sn=258,xn=Sn+En+1,Rn=32,An=42,Bn=69,zn=73,Ln=91,Tn=103,Mn=113,Cn=666,Dn=1,In=2,Pn=3,On=4,Un=3;function Hn(e,t){return e.msg=Nt[t],t}function Fn(e){return(e<<1)-(e>4?9:0)}function Nn(e){for(var t=e.length;--t>=0;)e[t]=0}function Zn(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(jt(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function jn(e,t){Xr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Zn(e.strm)}function Wn(e,t){e.pending_buf[e.pending++]=t}function Yn(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Kn(e,t){var r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match,h=e.strstart>e.w_size-xn?e.strstart-(e.w_size-xn):0,l=e.window,f=e.w_mask,c=e.prev,u=e.strstart+Sn,d=l[o+a-1],p=l[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(l[(r=t)+a]===p&&l[r+a-1]===d&&l[r]===l[o]&&l[++r]===l[o+1]){o+=2,r++;do{}while(l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&oa){if(e.match_start=t,a=n,n>=s)break;d=l[o+a-1],p=l[o+a]}}}while((t=c[t&f])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function Xn(e){var t,r,n,i,o,a,s,h,l,f,c=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=c+(c-xn)){jt(e.window,e.window,c,c,0),e.match_start-=c,e.strstart-=c,e.block_start-=c,t=r=e.hash_size;do{n=e.head[--t],e.head[t]=n>=c?n-c:0}while(--r);t=r=c;do{n=e.prev[--t],e.prev[t]=n>=c?n-c:0}while(--r);i+=c}if(0===e.strm.avail_in)break;if(a=e.strm,s=e.window,h=e.strstart+e.lookahead,l=i,f=void 0,(f=a.avail_in)>l&&(f=l),r=0===f?0:(a.avail_in-=f,jt(s,a.input,a.next_in,f,h),1===a.state.wrap?a.adler=Vr(a.adler,s,f,h):2===a.state.wrap&&(a.adler=$r(a.adler,s,f,h)),a.next_in+=f,a.total_in+=f,f),e.lookahead+=r,e.lookahead+e.insert>=En)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<=En)if(n=qr(e,e.strstart-e.match_start,e.match_length-En),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=En){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<=En&&(e.ins_h=(e.ins_h<4096)&&(e.match_length=En-1)),e.prev_length>=En&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-En,n=qr(e,e.strstart-1-e.prev_match,e.prev_length-En),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<nn||t<0)return e?Hn(e,sn):sn;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||n.status===Cn&&t!==rn)return Hn(e,0===e.avail_out?ln:sn);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===An)if(2===n.wrap)e.adler=0,Wn(n,31),Wn(n,139),Wn(n,8),n.gzhead?(Wn(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Wn(n,255&n.gzhead.time),Wn(n,n.gzhead.time>>8&255),Wn(n,n.gzhead.time>>16&255),Wn(n,n.gzhead.time>>24&255),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(Wn(n,255&n.gzhead.extra.length),Wn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=$r(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Bn):(Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,0),Wn(n,9===n.level?2:n.strategy>=un||n.level<2?4:0),Wn(n,Un),n.status=Mn);else{var a=gn+(n.w_bits-8<<4)<<8;a|=(n.strategy>=un||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=Rn),a+=31-a%31,n.status=Mn,Yn(n,a),0!==n.strstart&&(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),e.adler=1}if(n.status===Bn)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending!==n.pending_buf_size));)Wn(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=zn)}else n.status=zn;if(n.status===zn)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=Ln)}else n.status=Ln;if(n.status===Ln)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),Zn(e),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(e.adler=$r(e.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=Tn)}else n.status=Tn;if(n.status===Tn&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&Zn(e),n.pending+2<=n.pending_buf_size&&(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),e.adler=0,n.status=Mn)):n.status=Mn),0!==n.pending){if(Zn(e),0===e.avail_out)return n.last_flush=-1,on}else if(0===e.avail_in&&Fn(t)<=Fn(r)&&t!==rn)return Hn(e,ln);if(n.status===Cn&&0!==e.avail_in)return Hn(e,ln);if(0!==e.avail_in||0!==n.lookahead||t!==Qr&&n.status!==Cn){var s=n.strategy===un?function(e,t){for(var r;;){if(0===e.lookahead&&(Xn(e),0===e.lookahead)){if(t===Qr)return Dn;break}if(e.match_length=0,r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):n.strategy===dn?function(e,t){for(var r,n,i,o,a=e.window;;){if(e.lookahead<=Sn){if(Xn(e),e.lookahead<=Sn&&t===Qr)return Dn;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=En&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){o=e.strstart+Sn;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=En?(r=qr(e,1,e.match_length-En),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=qr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):e.last_lit&&(jn(e,!1),0===e.strm.avail_out)?Dn:In}(n,t):Jr[n.level].func(n,t);if(s!==Pn&&s!==On||(n.status=Cn),s===Dn||s===Pn)return 0===e.avail_out&&(n.last_flush=-1),on;if(s===In&&(t===en?Kr(n):t!==nn&&(Yr(n,0,0,!1),t===tn&&(Nn(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Zn(e),0===e.avail_out))return n.last_flush=-1,on}return t!==rn?on:n.wrap<=0?an:(2===n.wrap?(Wn(n,255&e.adler),Wn(n,e.adler>>8&255),Wn(n,e.adler>>16&255),Wn(n,e.adler>>24&255),Wn(n,255&e.total_in),Wn(n,e.total_in>>8&255),Wn(n,e.total_in>>16&255),Wn(n,e.total_in>>24&255)):(Yn(n,e.adler>>>16),Yn(n,65535&e.adler)),Zn(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?on:an)}Jr=[new Gn(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Xn(e),0===e.lookahead&&t===Qr)return Dn;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,jn(e,!1),0===e.strm.avail_out))return Dn;if(e.strstart-e.block_start>=e.w_size-xn&&(jn(e,!1),0===e.strm.avail_out))return Dn}return e.insert=0,t===rn?(jn(e,!0),0===e.strm.avail_out?Pn:On):(e.strstart>e.block_start&&(jn(e,!1),e.strm.avail_out),Dn)}),new Gn(4,4,8,4,qn),new Gn(4,5,16,8,qn),new Gn(4,6,32,32,qn),new Gn(4,4,16,16,Vn),new Gn(8,16,32,32,Vn),new Gn(8,16,128,128,Vn),new Gn(8,32,128,256,Vn),new Gn(32,128,258,1024,Vn),new Gn(32,258,258,4096,Vn)];var ei=30,ti=12;function ri(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R;r=e.state,n=e.next_in,x=e.input,i=n+(e.avail_in-5),o=e.next_out,R=e.output,a=o-(t-e.avail_out),s=o+(e.avail_out-257),h=r.dmax,l=r.wsize,f=r.whave,c=r.wnext,u=r.window,d=r.hold,p=r.bits,_=r.lencode,g=r.distcode,v=(1<>>=y=b>>>24,p-=y,0===(y=b>>>16&255))R[o++]=65535&b;else{if(!(16&y)){if(0==(64&y)){b=_[(65535&b)+(d&(1<>>=y,p-=y),p<15&&(d+=x[n++]<>>=y=b>>>24,p-=y,!(16&(y=b>>>16&255))){if(0==(64&y)){b=g[(65535&b)+(d&(1<h){e.msg=\"invalid distance too far back\",r.mode=ei;break e}if(d>>>=y,p-=y,k>(y=o-a)){if((y=k-y)>f&&r.sane){e.msg=\"invalid distance too far back\",r.mode=ei;break e}if(E=0,S=u,0===c){if(E+=l-y,y2;)R[o++]=S[E++],R[o++]=S[E++],R[o++]=S[E++],m-=3;m&&(R[o++]=S[E++],m>1&&(R[o++]=S[E++]))}else{E=o-k;do{R[o++]=R[E++],R[o++]=R[E++],R[o++]=R[E++],m-=3}while(m>2);m&&(R[o++]=R[E++],m>1&&(R[o++]=R[E++]))}break}}break}}while(n>3,d&=(1<<(p-=m<<3))-1,e.next_in=n,e.next_out=o,e.avail_in=n=1&&0===L[m];m--);if(k>m&&(k=m),0===m)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(y=1;y0&&(e===ai||1!==m))return-1;for(T[1]=0,w=1;wii||e===hi&&R>oi)return 1;for(;;){p=w-S,a[b]d?(_=M[C+a[b]],g=B[z+a[b]]):(_=96,g=0),h=1<>S)+(l-=h)]=p<<24|_<<16|g|0}while(0!==l);for(h=1<>=1;if(0!==h?(A&=h-1,A+=h):A=0,b++,0==--L[w]){if(w===m)break;w=t[r+a[b]]}if(w>k&&(A&c)!==f){for(0===S&&(S=k),u+=y,x=1<<(E=w-S);E+Sii||e===hi&&R>oi)return 1;i[f=A&c]=k<<24|E<<16|u-o|0}}return 0!==A&&(i[u+A]=w-S<<24|64<<16|0),s.bits=k,0}var pi=0,_i=1,gi=2,vi=4,wi=5,bi=6,yi=0,mi=1,ki=2,Ei=-2,Si=-3,xi=-4,Ri=-5,Ai=8,Bi=1,zi=2,Li=3,Ti=4,Mi=5,Ci=6,Di=7,Ii=8,Pi=9,Oi=10,Ui=11,Hi=12,Fi=13,Ni=14,Zi=15,ji=16,Wi=17,Yi=18,Ki=19,Xi=20,qi=21,Vi=22,Gi=23,$i=24,Ji=25,Qi=26,eo=27,to=28,ro=29,no=30,io=31,oo=32,ao=852,so=592;function ho(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function lo(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Yt(320),this.work=new Yt(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fo(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,function(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=Bi,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Kt(ao),t.distcode=t.distdyn=new Kt(so),t.sane=1,t.back=-1,yi):Ei}(e)):Ei}function co(e,t){var r,n;return e?(n=new lo,e.state=n,n.window=null,(r=function(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Ei:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,fo(e))):Ei}(e,t))!==yi&&(e.state=null),r):Ei}var uo,po,_o=!0;function go(e){if(_o){var t;for(uo=new Kt(512),po=new Kt(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(di(_i,e.lens,0,288,uo,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;di(gi,e.lens,0,32,po,0,e.work,{bits:5}),_o=!1}e.lencode=uo,e.lenbits=9,e.distcode=po,e.distbits=5}function vo(e,t){var r,n,i,o,a,s,h,l,f,c,u,d,p,_,g,v,w,b,y,m,k,E,S,x,R=0,A=new Wt(4),B=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return Ei;(r=e.state).mode===Hi&&(r.mode=Fi),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,c=s,u=h,E=yi;e:for(;;)switch(r.mode){case Bi:if(0===r.wrap){r.mode=Fi;break}for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0),l=0,f=0,r.mode=zi;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg=\"incorrect header check\",r.mode=no;break}if((15&l)!==Ai){e.msg=\"unknown compression method\",r.mode=no;break}if(f-=4,k=8+(15&(l>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=no;break}r.dmax=1<>8&1),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Li;case Li:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>8&255,A[2]=l>>>16&255,A[3]=l>>>24&255,r.check=$r(r.check,A,4,0)),l=0,f=0,r.mode=Ti;case Ti:for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>8),512&r.flags&&(A[0]=255&l,A[1]=l>>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0,r.mode=Mi;case Mi:if(1024&r.flags){for(;f<16;){if(0===s)break e;s--,l+=n[o++]<>>8&255,r.check=$r(r.check,A,2,0)),l=0,f=0}else r.head&&(r.head.extra=null);r.mode=Ci;case Ci:if(1024&r.flags&&((d=r.length)>s&&(d=s),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),jt(r.head.extra,n,o,d,k)),512&r.flags&&(r.check=$r(r.check,n,d,o)),s-=d,o+=d,r.length-=d),r.length))break e;r.length=0,r.mode=Di;case Di:if(2048&r.flags){if(0===s)break e;d=0;do{k=n[o+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k))}while(k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=Hi;break;case Oi:for(;f<32;){if(0===s)break e;s--,l+=n[o++]<>>=7&f,f-=7&f,r.mode=eo;break}for(;f<3;){if(0===s)break e;s--,l+=n[o++]<>>=1)){case 0:r.mode=Ni;break;case 1:if(go(r),r.mode=Xi,t===bi){l>>>=2,f-=2;break e}break;case 2:r.mode=Wi;break;case 3:e.msg=\"invalid block type\",r.mode=no}l>>>=2,f-=2;break;case Ni:for(l>>>=7&f,f-=7&f;f<32;){if(0===s)break e;s--,l+=n[o++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=no;break}if(r.length=65535&l,l=0,f=0,r.mode=Zi,t===bi)break e;case Zi:r.mode=ji;case ji:if(d=r.length){if(d>s&&(d=s),d>h&&(d=h),0===d)break e;jt(i,n,o,d,a),s-=d,o+=d,h-=d,a+=d,r.length-=d;break}r.mode=Hi;break;case Wi:for(;f<14;){if(0===s)break e;s--,l+=n[o++]<>>=5,f-=5,r.ndist=1+(31&l),l>>>=5,f-=5,r.ncode=4+(15&l),l>>>=4,f-=4,r.nlen>286||r.ndist>30){e.msg=\"too many length or distance symbols\",r.mode=no;break}r.have=0,r.mode=Yi;case Yi:for(;r.have>>=3,f-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},E=di(pi,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg=\"invalid code lengths set\",r.mode=no;break}r.have=0,r.mode=Ki;case Ki:for(;r.have>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=g,f-=g,r.lens[r.have++]=w;else{if(16===w){for(x=g+2;f>>=g,f-=g,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=no;break}k=r.lens[r.have-1],d=3+(3&l),l>>>=2,f-=2}else if(17===w){for(x=g+3;f>>=g)),l>>>=3,f-=3}else{for(x=g+7;f>>=g)),l>>>=7,f-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=no;break}for(;d--;)r.lens[r.have++]=k}}if(r.mode===no)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=no;break}if(r.lenbits=9,S={bits:r.lenbits},E=di(_i,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,E){e.msg=\"invalid literal/lengths set\",r.mode=no;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},E=di(gi,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,E){e.msg=\"invalid distances set\",r.mode=no;break}if(r.mode=Xi,t===bi)break e;case Xi:r.mode=qi;case qi:if(s>=6&&h>=258){e.next_out=a,e.avail_out=h,e.next_in=o,e.avail_in=s,r.hold=l,r.bits=f,ri(e,u),a=e.next_out,i=e.output,h=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,l=r.hold,f=r.bits,r.mode===Hi&&(r.back=-1);break}for(r.back=0;v=(R=r.lencode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,r.length=w,0===v){r.mode=Qi;break}if(32&v){r.back=-1,r.mode=Hi;break}if(64&v){e.msg=\"invalid literal/length code\",r.mode=no;break}r.extra=15&v,r.mode=Vi;case Vi:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=Gi;case Gi:for(;v=(R=r.distcode[l&(1<>>16&255,w=65535&R,!((g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>b)])>>>16&255,w=65535&R,!(b+(g=R>>>24)<=f);){if(0===s)break e;s--,l+=n[o++]<>>=b,f-=b,r.back+=b}if(l>>>=g,f-=g,r.back+=g,64&v){e.msg=\"invalid distance code\",r.mode=no;break}r.offset=w,r.extra=15&v,r.mode=$i;case $i:if(r.extra){for(x=r.extra;f>>=r.extra,f-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=no;break}r.mode=Ji;case Ji:if(0===h)break e;if(d=u-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=no;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),_=r.window}else _=i,p=a-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{i[a++]=_[p++]}while(--d);0===r.length&&(r.mode=qi);break;case Qi:if(0===h)break e;i[a++]=r.length,h--,r.mode=qi;break;case eo:if(r.wrap){for(;f<32;){if(0===s)break e;s--,l|=n[o++]<=o.wsize?(jt(o.window,t,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((i=o.wsize-o.wnext)>n&&(i=n),jt(o.window,t,r-n,i,o.wnext),(n-=i)?(jt(o.window,t,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whaveyo)throw new TypeError(\"Bad argument\");this.mode=e,this.init_done=!1,this.write_in_progress=!1,this.pending_close=!1,this.windowBits=0,this.level=0,this.memLevel=0,this.strategy=0,this.dictionary=null}function ko(e,t){for(var r=0;r15&&(a=2,n-=16),i<1||i>vn||r!==gn||n<8||n>15||t<0||t>9||o<0||o>pn)return Hn(e,sn);8===n&&(n=9);var s=new $n;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<So.Z_MAX_CHUNK))throw new Error(\"Invalid chunk size: \"+e.chunkSize);if(e.windowBits&&(e.windowBitsSo.Z_MAX_WINDOWBITS))throw new Error(\"Invalid windowBits: \"+e.windowBits);if(e.level&&(e.levelSo.Z_MAX_LEVEL))throw new Error(\"Invalid compression level: \"+e.level);if(e.memLevel&&(e.memLevelSo.Z_MAX_MEMLEVEL))throw new Error(\"Invalid memLevel: \"+e.memLevel);if(e.strategy&&e.strategy!=So.Z_FILTERED&&e.strategy!=So.Z_HUFFMAN_ONLY&&e.strategy!=So.Z_RLE&&e.strategy!=So.Z_FIXED&&e.strategy!=So.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+e.strategy);if(e.dictionary&&!$(e.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\");this._binding=new So.Zlib(t);var r=this;this._hadError=!1,this._binding.onerror=function(e,t){r._binding=null,r._hadError=!0;var n=new Error(e);n.errno=t,n.code=So.codes[t],r.emit(\"error\",n)};var n=So.Z_DEFAULT_COMPRESSION;\"number\"==typeof e.level&&(n=e.level);var i=So.Z_DEFAULT_STRATEGY;\"number\"==typeof e.strategy&&(i=e.strategy),this._binding.init(e.windowBits||So.Z_DEFAULT_WINDOWBITS,n,e.memLevel||So.Z_DEFAULT_MEMLEVEL,i,e.dictionary),this._buffer=new p(this._chunkSize),this._offset=0,this._closed=!1,this._level=n,this._strategy=i,this.once(\"end\",this.close)}Object.keys(xo).forEach(function(e){xo[xo[e]]=e}),Be(Io,Ot),Io.prototype.params=function(e,t,r){if(eSo.Z_MAX_LEVEL)throw new RangeError(\"Invalid compression level: \"+e);if(t!=So.Z_FILTERED&&t!=So.Z_HUFFMAN_ONLY&&t!=So.Z_RLE&&t!=So.Z_FIXED&&t!=So.Z_DEFAULT_STRATEGY)throw new TypeError(\"Invalid strategy: \"+t);if(this._level!==e||this._strategy!==t){var n=this;this.flush(So.Z_SYNC_FLUSH,function(){n._binding.params(e,t),n._hadError||(n._level=e,n._strategy=t,r&&r())})}else de(r)},Io.prototype.reset=function(){return this._binding.reset()},Io.prototype._flush=function(e){this._transform(new p(0),\"\",e)},Io.prototype.flush=function(e,t){var r=this._writableState;if((\"function\"==typeof e||void 0===e&&!t)&&(t=e,e=So.Z_FULL_FLUSH),r.ended)t&&de(t);else if(r.ending)t&&this.once(\"end\",t);else if(r.needDrain){var n=this;this.once(\"drain\",function(){n.flush(t)})}else this._flushFlag=e,this.write(new p(0),\"\",t)},Io.prototype.close=function(e){if(e&&de(e),!this._closed){this._closed=!0,this._binding.close();var t=this;de(function(){t.emit(\"close\")})}},Io.prototype._transform=function(e,t,r){var n,i=this._writableState,o=(i.ending||i.ended)&&(!e||i.length===e.length);if(null===!e&&!$(e))return r(new Error(\"invalid input\"));o?n=So.Z_FINISH:(n=this._flushFlag,e.length>=i.length&&(this._flushFlag=this._opts.flush||So.Z_NO_FLUSH)),this._processChunk(e,n,r)},Io.prototype._processChunk=function(e,t,r){var n=e&&e.length,i=this._chunkSize-this._offset,o=0,a=this,s=\"function\"==typeof r;if(!s){var h,l=[],f=0;this.on(\"error\",function(e){h=e});do{var c=this._binding.writeSync(t,e,o,n,this._buffer,this._offset,i)}while(!this._hadError&&_(c[0],c[1]));if(this._hadError)throw h;var u=p.concat(l,f);return this.close(),u}var d=this._binding.write(t,e,o,n,this._buffer,this._offset,i);function _(h,c){if(!a._hadError){var u=i-c;if(function(e,t){if(!e)throw new Error(t)}(u>=0,\"have should not go down\"),u>0){var d=a._buffer.slice(a._offset,a._offset+u);a._offset+=u,s?a.push(d):(l.push(d),f+=d.length)}if((0===c||a._offset>=a._chunkSize)&&(i=a._chunkSize,a._offset=0,a._buffer=new p(a._chunkSize)),0===c){if(o+=n-h,n=h,!s)return!0;var g=a._binding.write(t,e,o,n,a._buffer,a._offset,a._chunkSize);return g.callback=_,void(g.buffer=e)}if(!s)return!1;r()}}d.buffer=e,d.callback=_},Be(Bo,Io),Be(zo,Io),Be(Lo,Io),Be(To,Io),Be(Mo,Io),Be(Co,Io),Be(Do,Io);var Po={codes:xo,createDeflate:function(e){return new Bo(e)},createInflate:function(e){return new zo(e)},createDeflateRaw:function(e){return new Mo(e)},createInflateRaw:function(e){return new Co(e)},createGzip:function(e){return new Lo(e)},createGunzip:function(e){return new To(e)},createUnzip:function(e){return new Do(e)},deflate:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Bo(t),e,r)},deflateSync:function(e,t){return Ao(new Bo(t),e)},gzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Lo(t),e,r)},gzipSync:function(e,t){return Ao(new Lo(t),e)},deflateRaw:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Mo(t),e,r)},deflateRawSync:function(e,t){return Ao(new Mo(t),e)},unzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Do(t),e,r)},unzipSync:function(e,t){return Ao(new Do(t),e)},inflate:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new zo(t),e,r)},inflateSync:function(e,t){return Ao(new zo(t),e)},gunzip:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new To(t),e,r)},gunzipSync:function(e,t){return Ao(new To(t),e)},inflateRaw:function(e,t,r){return\"function\"==typeof t&&(r=t,t={}),Ro(new Co(t),e,r)},inflateRawSync:function(e,t){return Ao(new Co(t),e)},Deflate:Bo,Inflate:zo,Gzip:Lo,Gunzip:To,DeflateRaw:Mo,InflateRaw:Co,Unzip:Do,Zlib:Io};export default class{constructor(e,t,r){this.SDKAPPID=e,this.EXPIRETIME=r,this.PRIVATEKEY=t}genTestUserSig(e){return this._isNumber(this.SDKAPPID)?this._isString(this.PRIVATEKEY)?this._isString(e)?this._isNumber(this.EXPIRETIME)?(console.log(\"sdkAppID=\"+this.SDKAPPID+\" key=\"+this.PRIVATEKEY+\" userID=\"+e+\" expire=\"+this.EXPIRETIME),this.genSigWithUserbuf(e,this.EXPIRETIME,null)):(console.error(\"expireTime must be a number\"),\"\"):(console.error(\"userID must be a string\"),\"\"):(console.error(\"privateKey must be a string\"),\"\"):(console.error(\"sdkAppID must be a number\"),\"\")}newBuffer(e,t){return p.from?p.from(e,t):new p(e,t)}unescape(e){return e.replace(/_/g,\"=\").replace(/\\-/g,\"/\").replace(/\\*/g,\"+\")}escape(e){return e.replace(/\\+/g,\"*\").replace(/\\//g,\"-\").replace(/=/g,\"_\")}encode(e){return this.escape(this.newBuffer(e).toString(\"base64\"))}decode(e){return this.newBuffer(this.unescape(e),\"base64\")}base64encode(e){return this.newBuffer(e).toString(\"base64\")}base64decode(e){return this.newBuffer(e,\"base64\").toString()}_hmacsha256(e,t,r,n){let i=\"TLS.identifier:\"+e+\"\\n\";i+=\"TLS.sdkappid:\"+this.SDKAPPID+\"\\n\",i+=\"TLS.time:\"+t+\"\\n\",i+=\"TLS.expire:\"+r+\"\\n\",null!=n&&(i+=\"TLS.userbuf:\"+n+\"\\n\");let o=te.HmacSHA256(i,this.PRIVATEKEY);return te.enc.Base64.stringify(o)}_utc(){return Math.round(Date.now()/1e3)}_isNumber(e){return null!==e&&(\"number\"==typeof e&&!isNaN(e-0)||\"object\"==typeof e&&e.constructor===Number)}_isString(e){return\"string\"==typeof e}genSigWithUserbuf(e,t,r){let n=this._utc(),i={\"TLS.ver\":\"2.0\",\"TLS.identifier\":e,\"TLS.sdkappid\":this.SDKAPPID,\"TLS.time\":n,\"TLS.expire\":t},o=\"\";if(null!=r){let a=this.base64encode(r);i[\"TLS.userbuf\"]=a,o=this._hmacsha256(e,n,t,a)}else o=this._hmacsha256(e,n,t,null);i[\"TLS.sig\"]=o;let a=JSON.stringify(i),s=Po.deflateSync(this.newBuffer(a)).toString(\"base64\"),h=this.escape(s);return console.log(\"ret=\"+h),h}validate(e){let t=this.decode(e),r=Po.inflateSync(t);console.log(\"validate ret=\"+r)}}\n","/*\n * @Description: Basic information configuration for TUIRoomKit applications\n * @Description: TUIRoomKit 应用的基础信息配置\n */\n\nimport LibGenerateTestUserSig from './lib-generate-test-usersig-es.min';\n\n/**\n * Tencent Cloud SDKAppId, which should be replaced with user's SDKAppId.\n * Enter Tencent Cloud TRTC [Console] (https://console.cloud.tencent.com/trtc ) to create an application,\n * and you will see the SDKAppId.\n * It is a unique identifier used by Tencent Cloud to identify users.\n *\n * 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。\n * 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,\n * 它是腾讯云用于区分客户的唯一标识。\n */\n\nexport const SDKAPPID = 1600003603;\n\n/**\n * Encryption key for calculating signature, which can be obtained in the following steps:\n *\n * Step1. Enter Tencent Cloud TRTC [Console](https://console.cloud.tencent.com/rav ),\n * and create an application if you don't have one.\n * Step2. Click your application to find \"Quick Start\".\n * Step3. Click \"View Secret Key\" to see the encryption key for calculating UserSig,\n * and copy it to the following variable.\n *\n * Notes: this method is only applicable for debugging Demo. Before official launch,\n * please migrate the UserSig calculation code and key to your backend server to avoid\n * unauthorized traffic use caused by the leakage of encryption key.\n * Document: https://intl.cloud.tencent.com/document/product/647/35166#Server\n *\n * 计算签名用的加密密钥,获取步骤如下:\n *\n * step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,\n * step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。\n * step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中\n *\n * 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。\n * 文档:https://cloud.tencent.com/document/product/647/17275#Server\n */\nexport const SECRETKEY = '545433057ab3402f73534e2c8f21125a4b6358cb723da9c0ddb194a4318fe5ce';\n\n/**\n * Signature expiration time, which should not be too short\n * Time unit: second\n * Default time: 7 * 24 * 60 * 60 = 604800 = 7days\n *\n * 签名过期时间,建议不要设置的过短\n * 时间单位:秒\n * 默认时间:7 x 24 x 60 x 60 = 604800 = 7 天\n */\nexport const EXPIRETIME = 604800;\n\n/**\n * Set user information on the push side\n *\n * 设置推流端用户信息\n */\nexport const userInfo = {\n // 用户Id\n userId: `user_${Math.ceil(Math.random() * 100000)}`,\n // 用户昵称\n userName: 'myName',\n // 用户头像\n avatarUrl: '',\n};\n\nexport function getBasicInfo() {\n if (SDKAPPID === Number(0) || SECRETKEY === String('')) {\n alert('Please configure your SDKAPPID in config/basic-info-config.js');\n return;\n }\n const generator = new LibGenerateTestUserSig(SDKAPPID, SECRETKEY, EXPIRETIME);\n const userSig = generator.genTestUserSig(userInfo.userId);\n const { userId, userName, avatarUrl } = userInfo;\n return {\n sdkAppId: SDKAPPID,\n userId,\n userSig,\n userName,\n avatarUrl,\n };\n};\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=79fbed35&scoped=true&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&id=79fbed35&prod&lang=css&\"\nimport style1 from \"./home.vue?vue&type=style&index=1&id=79fbed35&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"79fbed35\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport Home from '../views/home.vue';\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n component: Home,\n },\n {\n path: '/home',\n name: 'home',\n component: Home,\n },\n {\n path: '/room',\n name: 'room',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/room.vue'),\n },\n];\n\nconst router = new VueRouter({\n routes,\n});\n\nexport default router;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + \"about\" + \".\" + \"345afdd2\" + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + \"about\" + \".\" + \"753051b5\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"room-uikit-web-vue2:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"443\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkroom_uikit_web_vue2\"] = self[\"webpackChunkroom_uikit_web_vue2\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3470); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","_setup","_setupProxy","class","size","staticClass","_l","Array","fill","item","index","key","showAudioLevel","SvgIcon","attrs","iconName","staticRenderFns","_defineComponent","__name","props","audioVolume","isMuted","type","Boolean","isDisabled","setup","__props","computed","ICON_NAME","__sfc","component","isSampleMode","_v","_s","t","DeviceSelect","isDetailMode","on","handleMicrophoneTest","isTestingMicrophone","_e","volumeTotalNum","showVolume","volumeNum","speakerList","length","mode","SettingMode","DETAIL","handleSpeakerTest","isTestingSpeaker","settingMode","roomStore","useRoomStore","storeToRefs","value","localStream","ref","audioPlayer","document","createElement","useI18n","pause","currentTime","src","play","onBeforeUnmount","imgSrc","defaultAvatar","showDefaultAvatar","e","target","disabled","handleChange","model","currentDeviceId","callback","$$v","expression","deviceList","deviceId","deviceName","deviceType","onChange","roomEngine","useGetRoomEngine","cameraList","microphoneList","currentCameraId","currentMicrophoneId","currentSpeakerId","getDeviceList","getInitDeviceId","async","instance","setCurrentCameraDevice","setCurrentCameraId","setCurrentMicDevice","setCurrentMicrophoneId","setCurrentSpeakerDevice","setCurrentSpeakerId","basicStore","useBasicStore","i18n","setLang","localStorage","setItem","handleSwitchTheme","defaultTheme","currentTheme","body","getAttribute","setDefaultTheme","doSwitchTheme","theme","setAttribute","watch","val","onMounted","defaults","storageCurrentTheme","getItem","withPreview","isLocalStreamMirror","VideoProfile","handleMoreCameraSetting","localVideoQuality","videoProfileList","label","TUIVideoQuality","updateVideoQuality","quality","TUIRoomEngine","isElectron","isElectronEnv","trtcCloud","getTRTCCloud","isMobile","setLocalRenderParams","mirrorType","TRTCVideoMirrorType","rotation","TRTCVideoRotation","fillMode","TRTCVideoFillMode","setIsLocalStreamMirror","setShowSettingDialog","setActiveSettingTab","startCameraDeviceTest","view","onUnmounted","stopCameraDeviceTest","hideHoverEffect","$event","$emit","_t","isActive","title","hasMore","emits","svgClass","customClass","style","customStyle","handleClick","emit","svgName","validate","includes","event","visible","beforeClose","modal","direction","modelValue","appendToBody","width","directives","name","rawName","handleUserControl","avatarUrl","userName","userId","showUserControl","stopPropagation","useUserInfo","userInfoRef","showUserNameEdit","showEditNameItem","isInnerScene","tempUserName","hideUserControl","contains","showEditUserNameDialog","closeEditUserNameDialog","handleSaveUserName","setUserName","localUser","setLocalUser","ElMessage","message","duration","MESSAGE_DURATION","window","addEventListener","removeEventListener","Avatar","Dialog","UserInfo","UserInfoH5","UserInfoPc","WARNING_MESSAGE","LAYOUT","VueTouch","constructor","el","binding","dom","isMove","touchstart","passive","touchmove","touchend","Vue","bind","showClose","closeOnClickModal","closeOnPressEscape","$set","scopedSlots","_u","fn","proxy","DialogH5","DialogPC","Message","ElMessageBox","MessageBox","vueVersion","isVue3","callExperimentalAPI","JSON","stringify","api","params","language","and","Login","SEND","Save","Camera","Mic","Output","Speaker","Test","Stop","Preview","Mirror","Resolution","Room","Join","Sure","Sharing","Host","Me","me","More","Agree","Chat","Cancel","Exit","Members","Invite","Settings","EndPC","EndH5","Tips","Note","Confirm","Leave","Dismiss","Send","Check","Unmute","Mute","members","Reject","Screen","Window","Share","Grid","Unknown","Excellent","Good","Fair","Poor","Disconnected","Email","VueI18n","bridge","createI18n","legacy","locale","getLanguage","messages","ZH","EN","defineStore","state","sdkAppId","userSig","useStringRoomId","roomId","roomMode","isSidebarOpen","layout","showSettingDialog","showApplyUserList","activeSettingTab","isFrontCamera","sidebarName","masterUserId","localQuality","lang","isSupportSwitchTheme","showHeaderTool","shareLink","isRoomLinkVisible","isWeChat","getters","actions","setSdkAppId","setUserId","setUserSig","setAvatarUrl","setRoomId","setRoomMode","setSidebarOpenStatus","isOpen","setSidebarName","setLayout","show","setShowApplyUserList","tabName","mirror","setIsFrontCamera","isFront","setIsSupportSwitchTheme","setShowHeaderTool","setShareLink","setIsRoomLinkVisible","setBasicInfo","infoObj","isUndefined","setMasterUserId","setLocalQuality","userNetworkList","find","reset","hasAudioStream","hasVideoStream","hasScreenStream","userRole","TUIRole","onSeat","cameraStreamInfo","streamType","TUIVideoStreamType","isVisible","screenStreamInfo","remoteUserObj","isDefaultOpenCamera","isDefaultOpenMicrophone","canControlSelfAudio","canControlSelfVideo","isMicrophoneDisableForAllUser","isCameraDisableForAllUser","isMessageDisableForAllUser","speechMode","TUISpeechMode","maxMembersCount","hasVideoStreamObject","currentStreamIdListInVisibleView","hasOtherScreenShare","isMaster","isAnchor","isFreeSpeakMode","isSpeakAfterTakingSeatMode","isAudience","isLocalAudioIconDisable","micForbidden","isLocalVideoIconDisable","cameraForbidden","Object","assign","remoteStreamObj","obj","values","forEach","userInfo","isVideoVisible","isScreenVisible","remoteStreamList","streamList","streamNumber","remoteAnchorList","filter","userList","userNumber","applyToAnchorList","isUserApplyingToAnchor","defaultStreamType","keys","updateLocalStream","getUserName","getNewUserInfo","newUserInfo","isChatMutedByMaster","isInvitingUserToAnchor","setUserList","user","addRemoteUser","updateRemoteUser","remoteUser","nick","avatar","updateOnSeatList","seatList","seatedList","leftList","seat","updateUserVideoState","hasVideo","updatehasVideoStreamObject","isSelf","streamId","updateUserAudioState","hasAudio","removeRemoteUser","updateUserStreamVisible","streamIdList","slice","Number","indexOf","setAudioVolume","audioVolumeArray","audioVolumeItem","volume","remoteUserInfo","setRoomInfo","roomInfo","roomOwner","setDisableMicrophoneForAllUserByAdmin","isDisable","setDisableCameraForAllUserByAdmin","setDisableMessageAllUserByAdmin","setRoomParam","roomParam","isOpenCamera","isOpenMicrophone","defaultCameraId","defaultMicrophoneId","defaultSpeakerId","setCanControlSelfAudio","capability","setCanControlSelfVideo","setCameraList","setMicrophoneList","setSpeakerList","setMicrophoneDisableState","setCameraDisableState","setMuteUserChat","muted","setRemoteUserRole","role","setRequestUserOpenMic","options","isRequesting","requestId","isRequestingUserOpenMic","requestUserOpenMicRequestId","setRequestUserOpenCamera","isRequestingUserOpenCamera","requestUserOpenCameraRequestId","addApplyToAnchorUser","applyToAnchorRequestId","removeApplyToAnchorUser","addInviteToAnchorUser","inviteToAnchorRequestId","removeInviteToAnchorUser","setHasOtherScreenShare","hasScreenShare","getUrlParam","navigator","replace","toLowerCase","EUserEventNames","LogLevelType","LOG_LEVEL_DEBUG","LOG_LEVEL_LOG","LOG_LEVEL_INFO","LOG_LEVEL_WARN","LOG_LEVEL_ERROR","LOG_LEVEL_NON_LOGGING","LogContext","padMs","ms","len","toString","ret","getLogPrefix","context","date","Date","toLocaleTimeString","hour12","getMilliseconds","currentLogLevel","logger","debug","args","console","RENDER","log","info","warn","error","setLevel","newLevel","electron","ipcRenderer","send","ON_CHANGE_LOG_LEVEL","getLevel","isVue27","test","import","wx","getSystemInfoSync","fontSizeSetting","matchMedia","matches","clipBoard","data","Promise","resolve","reject","uni","setClipboardData","success","getClipboardData","code","fail","err","clipboard","writeText","debounce","delay","timer","clearTimeout","setTimeout","apply","throttle","previousTime","now","setFullScreen","element","fullScreenElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullScreen","msRequestFullscreen","exitFullScreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","exitFullScreenDocument","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","url","location","href","regexp","RegExp","paramMatch","match","userAgent","script","PiniaVuePlugin","pinia","createPinia","ElementUI","router","h","App","$mount","userAvatar","handleLogOut","givenRoomId","handleCreateRoom","handleEnterRoom","loading","isCameraMuted","IconButton","isMicMuted","toggleMuteAudio","handleMicSetting","AudioIcon","cameraIconName","toggleMuteVideo","handleCameraSetting","Drawer","isSettingOpen","settingTitle","handleDrawerClose","settingTab","AudioSettingTab","VideoSettingTab","expose","getRoomParam","startStreamPreview","tuiRoomParam","streamPreviewRef","stopMicDeviceTest","startMicDeviceTest","interval","onUserVoiceVolume","result","getCameraDevicesList","getMicDevicesList","getSpeakerDevicesList","hasCameraDevice","hasMicrophoneDevice","alertMessage","confirmButtonText","cameraInfo","getCurrentCameraDevice","micInfo","getCurrentMicDevice","speakerInfo","getCurrentSpeakerDevice","onDeviceChange","eventInfo","stateList","TRTCDeviceType","TRTCDeviceState","TUIRoomEvents","off","done","showRoomDetail","isEN","logoEn","enterRoom","createRoom","hasGivenRoomId","handleClose","isJoinRoom","domProps","handleInput","composing","chooseRoomType","roomType","currentUserName","handleInputName","toggle","isMicOn","isCamerOn","handleRoomOption","showMoreType","handleConfirm","chooseCurrentType","useRoomControl","logo","logoCn","showCreateRoomOption","moreTypeRef","Math","ceil","random","handleDocumentClick","String","immediate","showLogo","enterGivenRoom","handleMouseEnter","handleMouseLeave","default","RoomControl","RoomControlH5","RoomControlPc","global","self","r","n","Uint8Array","i","o","charCodeAt","a","s","push","join","l","f","c","u","d","NaN","pow","p","_","abs","isNaN","floor","LN2","isArray","call","TYPED_ARRAY_SUPPORT","RangeError","__proto__","prototype","Error","v","TypeError","ArrayBuffer","byteLength","w","isEncoding","m","write","y","b","copy","buffer","g","_isBuffer","isView","q","V","k","O","C","I","P","M","U","E","S","from","x","lastIndexOf","readUInt16BE","R","parseInt","substr","A","G","B","z","L","T","min","D","fromCharCode","poolSize","_augment","alloc","allocUnsafe","allocUnsafeSlow","isBuffer","$","compare","concat","swap16","swap32","swap64","arguments","equals","inspect","isFinite","toJSON","_arr","X","H","F","N","Z","j","W","Y","subarray","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","set","K","trim","J","Q","exports","globalThis","ee","create","lib","Base","extend","mixIn","hasOwnProperty","init","$super","clone","WordArray","words","sigBytes","clamp","enc","Hex","parse","Latin1","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","BufferedBlockAlgorithm","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","_doProcessBlock","splice","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","te","x64","Word","high","low","toX32","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","byteOffset","Utf16","Utf16BE","Utf16LE","Base64","_map","charAt","_reverseMap","sin","MD5","_hash","HmacMD5","SHA1","HmacSHA1","sqrt","SHA256","HmacSHA256","SHA224","HmacSHA224","SHA512","re","ne","ie","oe","ae","se","he","le","fe","ce","ue","de","pe","ge","ve","we","be","ye","ke","Ee","Se","HmacSHA512","SHA384","HmacSHA384","SHA3","outputLength","_state","HmacSHA3","RIPEMD160","HmacRIPEMD160","_hasher","_oKey","_iKey","PBKDF2","keySize","hasher","iterations","compute","EvpKDF","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","_xformMode","_key","process","ivSize","encrypt","decrypt","StreamCipher","BlockCipherMode","Encryptor","Decryptor","_cipher","_iv","CBC","_prevBlock","processBlock","encryptBlock","decryptBlock","pad","Pkcs7","unpad","BlockCipher","padding","iv","_mode","__creator","CipherParams","formatter","format","OpenSSL","ciphertext","salt","SerializableCipher","algorithm","_parse","kdf","execute","PasswordBasedCipher","CFB","CTR","_counter","CTRGladman","OFB","_keystream","ECB","AnsiX923","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","AES","_nRounds","_keyPriorReset","_keySchedule","_invKeySchedule","_doCryptBlock","DES","_subKeys","_invSubKeys","_lBlock","_rBlock","TripleDES","_des1","_des2","_des3","RC4","_S","_i","_j","RC4Drop","drop","Rabbit","_X","_C","_b","RabbitLegacy","run","fun","array","performance","_maxListeners","defaultMaxListeners","Ae","_events","newListener","listener","_eventsCount","unshift","warned","emitter","count","xe","removeListener","Re","mozNow","msNow","oNow","webkitNow","EventEmitter","usingDomains","domain","active","Domain","getPrototypeOf","setMaxListeners","getMaxListeners","domainEmitter","domainThrown","addListener","prependListener","once","prependOnceListener","pop","removeAllListeners","listeners","listenerCount","eventNames","Reflect","ownKeys","Be","super_","enumerable","writable","configurable","ze","Le","Ze","De","Ne","Ye","Te","je","Ce","seen","stylize","Pe","depth","colors","Fe","showHidden","customInspect","Ie","Oe","styles","qe","getOwnPropertyNames","Xe","Ue","We","Ke","toUTCString","Ge","He","map","reduce","getOwnPropertyDescriptor","get","split","Ve","$e","head","tail","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","undefined","null","string","next","shift","clear","Je","Qe","encoding","surrogateSize","detectIncompleteChar","tt","rt","et","charBuffer","charReceived","charLength","substring","end","ot","ReadableState","it","nt","toUpperCase","objectMode","Ct","readableObjectMode","highWaterMark","pipes","pipesCount","flowing","ended","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","ranOut","awaitDrain","readingMore","decoder","_readableState","readable","read","_read","at","lt","ct","isPaused","setEncoding","st","ht","ft","pt","ut","dt","gt","vt","wt","bt","yt","chunk","mt","defineProperty","getBuffer","writableObjectMode","needDrain","ending","finished","decodeStrings","writing","corked","bufferProcessing","onwrite","_writableState","writecb","writelen","pendingcb","errorEmitted","Rt","bufferedRequest","xt","St","lastBufferedRequest","prefinished","bufferedRequestCount","corkedRequestsFree","zt","kt","_write","writev","_writev","Et","Bt","entry","finish","At","pipe","unpipe","resume","wrap","_fromList","WritableState","cork","uncork","setDefaultEncoding","Lt","Tt","Mt","allowHalfOpen","Dt","It","Pt","afterTransform","_transformState","transforming","writechunk","needTransform","writeencoding","Ot","transform","_transform","flush","_flush","Ut","Ht","Ft","Readable","Writable","Duplex","Transform","PassThrough","Stream","_isStdio","destroy","Nt","Zt","input","next_in","avail_in","total_in","output","next_out","avail_out","total_out","msg","data_type","adler","jt","Wt","Yt","Kt","Xt","qt","Vt","Gt","$t","Jt","Qt","er","tr","rr","nr","ir","or","ar","sr","hr","lr","fr","cr","ur","dr","pr","_r","gr","vr","wr","br","yr","mr","kr","Er","Sr","xr","Rr","Ar","static_tree","extra_bits","extra_base","elems","max_length","has_stree","Br","dyn_tree","max_code","stat_desc","zr","Lr","pending_buf","pending","Tr","bi_valid","bi_buf","Mr","Cr","Dr","Ir","dyn_ltree","dyn_dtree","bl_tree","opt_len","static_len","last_lit","Pr","Or","Ur","heap","heap_len","Hr","d_buf","l_buf","Fr","heap_max","bl_count","Nr","Zr","jr","Wr","l_desc","d_desc","bl_desc","Yr","Kr","Xr","level","strm","strategy","qr","lit_bufsize","Vr","Gr","$r","Jr","Qr","en","tn","rn","nn","an","sn","hn","ln","cn","un","dn","pn","_n","gn","vn","wn","bn","yn","mn","kn","En","Sn","xn","Rn","An","Bn","zn","Ln","Tn","Mn","Cn","Dn","In","Pn","On","Un","Hn","Fn","Nn","Zn","pending_out","jn","block_start","strstart","Wn","Yn","Kn","max_chain_length","prev_length","nice_match","w_size","w_mask","prev","good_match","lookahead","match_start","Xn","window_size","hash_size","insert","ins_h","hash_shift","hash_mask","qn","match_length","max_lazy_match","Vn","prev_match","match_available","Gn","good_length","max_lazy","nice_length","max_chain","func","$n","status","pending_buf_size","gzhead","gzindex","method","last_flush","w_bits","hash_bits","Jn","Qn","text","hcrc","extra","comment","time","os","ei","ti","ri","dmax","wsize","whave","wnext","hold","bits","lencode","distcode","lenbits","distbits","sane","ni","ii","oi","ai","si","hi","li","fi","ci","ui","di","pi","gi","vi","wi","bi","yi","mi","ki","Ei","Si","xi","Ri","Ai","Bi","zi","Li","Ti","Mi","Ci","Di","Ii","Pi","Oi","Ui","Hi","Fi","Ni","Zi","ji","Wi","Yi","Ki","Xi","qi","Vi","Gi","$i","Ji","Qi","eo","to","ro","no","io","oo","ao","so","ho","lo","last","havedict","flags","check","total","wbits","offset","ncode","nlen","ndist","have","lens","work","lendyn","distdyn","back","was","fo","co","uo","po","_o","go","vo","xflags","extra_len","wo","bo","yo","mo","init_done","write_in_progress","pending_close","windowBits","memLevel","dictionary","ko","_error","_writeCheck","close","writeSync","_set","onerror","Eo","freeze","NONE","DEFLATE","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","UNZIP","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","Zlib","So","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","xo","Z_MEM_ERROR","Z_VERSION_ERROR","Ro","Ao","_processChunk","Bo","Io","zo","Lo","To","Mo","Co","Do","_opts","_chunkSize","chunkSize","_flushFlag","_binding","_hadError","errno","codes","_buffer","_offset","_closed","_level","_strategy","Po","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","deflate","deflateSync","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflate","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","Deflate","Inflate","Gzip","Gunzip","DeflateRaw","InflateRaw","Unzip","SDKAPPID","EXPIRETIME","PRIVATEKEY","genTestUserSig","_isNumber","_isString","genSigWithUserbuf","newBuffer","encode","decode","base64encode","base64decode","_hmacsha256","_utc","round","SECRETKEY","getBasicInfo","alert","generator","LibGenerateTestUserSig","components","LanguageIcon","StreamPreview","SwitchTheme","basicInfo","sessionStorage","methods","setTUIRoomData","action","isRoomExist","path","query","VueRouter","routes","Home","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","id","loaded","__webpack_modules__","amdO","deferred","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","definition","chunkId","all","promises","miniCssF","Function","prop","inProgress","dataWebpackPrefix","needAttach","scripts","getElementsByTagName","charset","timeout","nc","onScriptComplete","onload","doneFns","parentNode","removeChild","appendChild","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file