From 0dec2a40bd49ca1ef7c648031900c5afd40f73a0 Mon Sep 17 00:00:00 2001 From: yangzhi <765157588@qq.com> Date: Mon, 8 Aug 2022 05:23:40 +0800 Subject: [PATCH] hahhaha --- uniapp-wuduhuajiao/common/config/config.js | 4 ++-- uniapp-wuduhuajiao/manifest.json | 4 ++-- uniapp-wuduhuajiao/pages/chat/chat.vue | 5 +---- uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/app-service.js | 6 +++--- uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/manifest.json | 2 +- uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/meeting.js | 2 +- uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/serviceMeeting.js | 2 +- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/uniapp-wuduhuajiao/common/config/config.js b/uniapp-wuduhuajiao/common/config/config.js index 8797184..d093871 100644 --- a/uniapp-wuduhuajiao/common/config/config.js +++ b/uniapp-wuduhuajiao/common/config/config.js @@ -20,7 +20,7 @@ export default { appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b', appid: 'wx6****************7a', // 公众号appid - versionName: '1.8.0', - versionCode: '180', + versionName: '1.8.1', + versionCode: '181', debug: true } \ No newline at end of file diff --git a/uniapp-wuduhuajiao/manifest.json b/uniapp-wuduhuajiao/manifest.json index 1dd57d2..44943e6 100644 --- a/uniapp-wuduhuajiao/manifest.json +++ b/uniapp-wuduhuajiao/manifest.json @@ -2,8 +2,8 @@ "name" : "武都花椒", "appid" : "__UNI__E68BD56", "description" : "武都花椒", - "versionName" : "1.8.0", - "versionCode" : 180, + "versionName" : "1.8.1", + "versionCode" : 181, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/uniapp-wuduhuajiao/pages/chat/chat.vue b/uniapp-wuduhuajiao/pages/chat/chat.vue index e1c0fca..2340d21 100644 --- a/uniapp-wuduhuajiao/pages/chat/chat.vue +++ b/uniapp-wuduhuajiao/pages/chat/chat.vue @@ -638,7 +638,7 @@ if (data.messageType == 'text' || data.messageType == 'voice') { let message = { isItMe: data.UserId == this.myMd5Id, - content: data.toMessage, + content: data.toMessage || data.formMessage, contentType: data.messageType, userId: data.UserId }; @@ -656,9 +656,6 @@ if(message.contentType == 'text'){ message.content = this.replaceEmoji(message.content) } - if(message.contentType == 'voice'){ - message.content = JSON.parse(message.content) - } this.addMessage(message); } if (data.messageType == 'messageRead') { diff --git a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/app-service.js b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/app-service.js index 60978b2..2cca02f 100644 --- a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/app-service.js +++ b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/app-service.js @@ -12031,7 +12031,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_P /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\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\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\nvar _vuex = __webpack_require__(/*! vuex */ 8);\n\n\nvar _emojiMixin = _interopRequireDefault(__webpack_require__(/*! @/pages/chat/emojiMixin.js */ 200));\nvar _service = _interopRequireDefault(__webpack_require__(/*! @/service/service.js */ 323));\nvar _config = _interopRequireDefault(__webpack_require__(/*! @/common/config/config.js */ 325));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\nvar socketTask = getApp().globalData.socketTask;var _default =\n{\n mixins: [_emojiMixin.default],\n data: function data() {\n return {\n intId: 0,\n md5Id: '',\n myMd5Id: '',\n //我的朋友\n firendList: [{\n userId: 2,\n userName: \"陈冠希\",\n wechatNumber: 'chenguanxi',\n headImg: __webpack_require__(/*! @/static/image/guanxi.jpg */ 326),\n signature: '我最帅,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/2.jpg */ 327),\n show: false,\n isTop: true,\n address: \"中国香港\" },\n\n {\n userId: 3,\n userName: \"迪丽热巴\",\n wechatNumber: 'reba',\n headImg: __webpack_require__(/*! @/static/image/girl.jpg */ 328),\n signature: '我最美,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/4.jpg */ 329),\n show: false,\n address: \"新疆维吾尔自治区\" },\n\n {\n userId: 4,\n userName: \"小贱贱\",\n wechatNumber: 'xiaojianjian',\n headImg: __webpack_require__(/*! @/static/image/boy.jpg */ 330),\n signature: '我最贱,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/1.jpg */ 331),\n show: false,\n address: \"美利坚合众国\" }],\n\n\n fromUserInfo: {},\n formData: {\n content: '',\n limit: 15,\n index: 1 },\n\n messageList: [],\n loading: true, //标识是否正在获取数据\n imgHeight: '1000px',\n mpInputMargin: false, //适配微信小程序 底部输入框高度被顶起的问题\n chatType: \"voice\", // 图标类型 'voice'语音 'keyboard'键盘\n voiceTitle: '按住 说话',\n Recorder: uni.getRecorderManager(),\n Audio: uni.createInnerAudioContext(),\n recording: false, //标识是否正在录音\n isStopVoice: false, //加锁 防止点击过快引起的当录音正在准备(还没有开始录音)的时候,却调用了stop方法但并不能阻止录音的问题\n voiceInterval: null,\n voiceTime: 0, //总共录音时长\n canSend: true, //是否可以发送\n PointY: 0, //坐标位置\n voiceIconText: \"正在录音...\",\n showFunBtn: false, //是否展示功能型按钮\n AudioExam: null, //正在播放音频的实例\n funList: [{\n icon: \"photo-fill\",\n title: \"照片\",\n uploadType: [\"album\"] },\n\n {\n icon: \"camera-fill\",\n title: \"拍摄\",\n uploadType: [\"camera\"] }] };\n\n\n\n },\n computed: _objectSpread({},\n (0, _vuex.mapState)(['user', 'statistics', 'common'])),\n\n methods: {\n handleInviteServieUser: function handleInviteServieUser() {\n var that = this;\n uni.showModal({\n content: '是否确认跳转到多人聊天?',\n success: function success(_ref) {var confirm = _ref.confirm;\n if (confirm) {\n uni.redirectTo({\n url: \"/pages/meeting/meeting?userid=\".concat(that.intId, \"&username=\").concat(that.fromUserInfo.fromUserName) });\n\n }\n } });\n\n },\n addMessage: function addMessage(data) {\n this.messageList.push(data);\n },\n getMessageList: function getMessageList() {var _this = this;\n if (!this.md5Id || !this.myMd5Id || !this.fromUserInfo.user_type) {\n setTimeout(function () {\n _this.getMessageList();\n }, 200);\n return;\n }\n this.API.message.getMessageList(this.md5Id, this.myMd5Id).then(function (res) {\n __f__(\"log\", 'getMessageList', res, \" at pages/chat/chat.vue:221\");\n _this.messageList = res.data.list.map(function (t) {\n t.isItMe = t.sendUserId == _this.myMd5Id;\n if (t.sendUserId == _this.md5Id) {\n t.fromUserHeadImg = _this.fromUserInfo.fromUserHeadImg ||\n '/static/head/head1.png';\n t.roleName = _this.fromUserInfo.user_type && _this.fromUserInfo.user_type.\n includes(1) ? '供方' : '需方';\n } else {\n t.fromUserHeadImg = _this.user.avatar || '/static/head/head2.png';\n t.roleName = _this.user.user_type && _this.user.user_type.includes(1) ? '供方' :\n '需方';\n }\n t.userId = t.sendUserId;\n if (t.contentType == 'text') {\n t.content = _this.replaceEmoji(t.content);\n }\n if (t.contentType == 'voice') {\n t.content = JSON.parse(t.content);\n }\n return t;\n });\n _this.updateReadMessage();\n });\n },\n updateReadMessage: function updateReadMessage() {\n var params = JSON.stringify({\n method: 'UpdateReadMessage',\n formUserId: this.md5Id,\n token: _service.default.getTokenChaoge() });\n\n __f__(\"log\", 'updateReadMessage', params, \" at pages/chat/chat.vue:252\");\n socketTask.send({\n data: params,\n success: function success() {\n __f__(\"log\", 'UpdateReadMessage success', \" at pages/chat/chat.vue:256\");\n } });\n\n },\n getUserInfo: function getUserInfo(id) {var _this2 = this;\n this.API.getUserInfo(id).then(function (res) {\n __f__(\"log\", 'getUserInfo fromUserInfo', res, \" at pages/chat/chat.vue:262\");\n _this2.fromUserInfo = Object.assign({}, _this2.fromUserInfo, _objectSpread({\n fromUserName: res.data.username,\n fromUserHeadImg: res.data.avatar,\n fromUserId: id },\n res.data));\n\n });\n },\n //处理滚动\n bindScroll: function bindScroll(sel) {var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var query = uni.createSelectorQuery().in(this);\n query.\n select(sel).\n boundingClientRect(function (data) {\n uni.pageScrollTo({\n scrollTop: data && data.top - 40,\n duration: duration });\n\n }).\n exec();\n },\n\n //切换语音或者键盘方式\n switchChatType: function switchChatType(type) {\n this.chatType = type;\n this.showFunBtn = false;\n this.showEmoji = false;\n },\n //切换功能性按钮\n switchFun: function switchFun(type) {\n // this.showFunBtn = !this.showFunBtn;\n\n __f__(\"log\", 'switchFun', type, \" at pages/chat/chat.vue:295\");\n if (type == 'emj') {\n this.chatType = 'voice';\n uni.hideKeyboard();\n this.showEmoji = true;\n }\n },\n //发送消息\n sendMsg: function sendMsg(data) {var _this3 = this;\n var that = this;\n var params = {\n toUserId: this.md5Id,\n messageType: \"text\",\n messageContent: this.formData.content,\n method: 'SendMessage',\n token: _service.default.getTokenChaoge() };\n\n if (data) {\n if (data.contentType == 'voice') {\n //说明是发送语音\n params.messageContent = data.messageContent;\n params.length = data.length;\n params.messageType = 'voice';\n } else if (data.contentType == 'image') {\n //发送图片\n params.content = data.content;\n params.messageType = data.contentType;\n }\n } else if (!this.formData.content.trim()) {\n //验证输入框书否为空字符传\n return;\n }\n __f__(\"log\", JSON.stringify(params), \" at pages/chat/chat.vue:327\");\n socketTask.send({\n data: JSON.stringify(params),\n success: function success(res) {\n __f__(\"log\", 'socketTask.send success', res, \" at pages/chat/chat.vue:331\");\n },\n fail: function fail(e) {\n __f__(\"log\", 'socketTask.send fail', e, \" at pages/chat/chat.vue:334\");\n },\n complete: function complete() {} });\n\n this.$nextTick(function () {\n _this3.formData.content = '';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n uni.pageScrollTo({\n scrollTop: 99999,\n duration: 100 });\n\n\n\n if (_this3.showFunBtn) {\n _this3.showFunBtn = false;\n }\n _this3.showEmoji = false;\n\n\n\n\n\n\n //h5浏览器并没有很好的办法控制键盘一直处于唤起状态 而且会有样式性的问题\n\n\n\n });\n },\n //用户触摸屏幕的时候隐藏键盘\n touchstart: function touchstart() {\n uni.hideKeyboard();\n this.showEmoji = false;\n },\n // userid 用户id\n linkToBusinessCard: function linkToBusinessCard(userId) {\n this.$u.route({\n url: 'pages/businessCard/businessCard',\n params: {\n userId: userId } });\n\n\n },\n //准备开始录音\n startVoice: function startVoice(e) {\n if (!this.Audio.paused) {\n //如果音频正在播放 先暂停。\n this.stopAudio(this.AudioExam);\n }\n this.recording = true;\n this.isStopVoice = false;\n this.canSend = true;\n this.voiceIconText = \"正在录音...\";\n this.PointY = e.touches[0].clientY;\n this.Recorder.start({\n format: 'mp3' });\n\n },\n //录音已经开始\n beginVoice: function beginVoice() {var _this4 = this;\n if (this.isStopVoice) {\n this.Recorder.stop();\n return;\n }\n this.voiceTitle = '松开 结束';\n this.voiceInterval = setInterval(function () {\n _this4.voiceTime++;\n }, 1000);\n },\n //move 正在录音中\n moveVoice: function moveVoice(e) {\n var PointY = e.touches[0].clientY;\n var slideY = this.PointY - PointY;\n if (slideY > uni.upx2px(120)) {\n this.canSend = false;\n this.voiceIconText = '松开手指 取消发送 ';\n } else if (slideY > uni.upx2px(60)) {\n this.canSend = true;\n this.voiceIconText = '手指上滑 取消发送 ';\n } else {\n this.voiceIconText = '正在录音... ';\n }\n },\n //结束录音\n endVoice: function endVoice() {\n this.isStopVoice = true; //加锁 确保已经结束录音并不会录制\n this.Recorder.stop();\n this.voiceTitle = '按住 说话';\n },\n //录音被打断\n cancelVoice: function cancelVoice(e) {\n this.voiceTime = 0;\n this.voiceTitle = '按住 说话';\n this.canSend = false;\n this.Recorder.stop();\n },\n //处理录音文件\n handleRecorder: function handleRecorder(_ref2)\n\n\n {var _this5 = this;var tempFilePath = _ref2.tempFilePath,duration = _ref2.duration;\n var that = this;\n var contentDuration;\n\n\n\n\n\n\n\n\n\n\n\n\n\n contentDuration = this.voiceTime + 1;\n this.voiceTime = 0;\n if (contentDuration <= 0) {\n this.voiceIconText = \"说话时间过短\";\n setTimeout(function () {\n _this5.recording = false;\n }, 200);\n return;\n };\n\n\n this.recording = false;\n\n __f__(\"log\", 'tempFilePath', tempFilePath, \" at pages/chat/chat.vue:479\");\n uni.uploadFile({\n url: _config.default.appurl_chaoge + '/file/Uploader/chat_voice',\n filePath: tempFilePath,\n name: 'file',\n success: function success(res) {\n __f__(\"log\", 'uploadfile ', res, \" at pages/chat/chat.vue:485\");\n var data = JSON.parse(res.data);\n if (data.data && data.data.url) {\n var params = {\n contentType: 'voice',\n length: contentDuration || 1,\n messageContent: data.data.url };\n\n that.canSend && that.sendMsg(params);\n }\n } });\n\n\n },\n //控制播放还是暂停音频文件\n handleAudio: function handleAudio(item) {\n __f__(\"log\", 'handleAudio', item, \" at pages/chat/chat.vue:501\");\n this.AudioExam = item;\n this.Audio.paused ? this.playAudio(item) : this.stopAudio(item);\n },\n //播放音频\n playAudio: function playAudio(item) {\n this.Audio.src = _config.default.baseurl_chaoge + item.content.path;\n this.Audio.hasBeenSentId = item.hasBeenSentId;\n this.Audio.play();\n item.anmitionPlay = true;\n },\n //停止音频\n stopAudio: function stopAudio(item) {\n item.anmitionPlay = false;\n this.Audio.src = '';\n this.Audio.stop();\n },\n //关闭动画\n closeAnmition: function closeAnmition() {\n var hasBeenSentId = this.Audio.hasBeenSentId;\n var item = this.messageList.find(function (it) {return it.hasBeenSentId == hasBeenSentId;});\n item.anmitionPlay = false;\n },\n //点击宫格时触发\n clickGrid: function clickGrid(index) {\n if (index == 0) {\n this.chooseImage(['album']);\n } else if (index == 1) {\n this.chooseImage(['camera']);\n }\n },\n //发送图片\n chooseImage: function chooseImage(sourceType) {var _this6 = this;\n uni.chooseImage({\n sourceType: sourceType,\n sizeType: ['compressed'],\n success: function success(res) {\n _this6.showFunBtn = false;\n _this6.showEmoji = false;\n for (var i = 0; i < res.tempFilePaths.length; i++) {\n var params = {\n contentType: 'image',\n content: res.tempFilePaths[i] };\n\n _this6.sendMsg(params);\n }\n } });\n\n },\n //查看大图\n viewImg: function viewImg(imgList) {\n uni.previewImage({\n urls: imgList,\n\n indicator: 'number' });\n\n\n } },\n\n onNavigationBarButtonTap: function onNavigationBarButtonTap(_ref3)\n\n {var index = _ref3.index;\n if (index == 0) {\n //用户详情 设置\n } else if (index == 1) {\n //返回按钮\n this.$u.route({\n type: 'switchTab',\n url: 'pages/home/home' });\n\n }\n },\n //返回按钮事件\n onBackPress: function onBackPress(e) {\n //以下内容对h5不生效\n //--所以如果用浏览器自带的返回按钮进行返回的时候页面不会重定向 正在寻找合适的解决方案\n this.$u.route({\n type: 'switchTab',\n url: 'pages/home/home' });\n\n return true;\n },\n onLoad: function onLoad(info) {var _this7 = this;var\n\n id =\n\n\n info.id,userid = info.userid,username = info.username;\n\n this.API.message.getUserInfo(this.user.id).then(function (res) {\n _this7.myMd5Id = res.data.user.userId;\n });\n if (!id) {\n this.intId = userid;\n this.getUserInfo(this.intId);\n this.API.message.getUserInfo(userid).then(function (res) {\n __f__(\"log\", 'this.API.getUserInfo', res, \" at pages/chat/chat.vue:597\");\n _this7.md5Id = res.data.user.userId;\n });\n } else {\n this.md5Id = id;\n this.API.message.getUserSourceId(id).then(function (res) {\n _this7.intId = res.data;\n _this7.getUserInfo(_this7.intId);\n });\n }\n this.getMessageList();\n // { messageId,fromUserName,fromUserHeadImg } = info\n this.fromUserInfo = {\n fromUserName: username,\n fromUserId: id };\n\n\n //录音开始事件\n this.Recorder.onStart(function (e) {\n _this7.beginVoice();\n });\n //录音结束事件\n this.Recorder.onStop(function (res) {\n clearInterval(_this7.voiceInterval);\n _this7.handleRecorder(res);\n });\n\n //音频停止事件\n this.Audio.onStop(function (e) {\n _this7.closeAnmition();\n });\n\n //音频播放结束事件\n this.Audio.onEnded(function (e) {\n _this7.closeAnmition();\n });\n\n //socket\n uni.$on('socketMessage', function (data) {\n __f__(\"log\", 'socketMessage', data, \" at pages/chat/chat.vue:636\");\n _this7.updateReadMessage();\n if (data.messageType == 'text' || data.messageType == 'voice') {\n var message = {\n isItMe: data.UserId == _this7.myMd5Id,\n content: data.toMessage,\n contentType: data.messageType,\n userId: data.UserId };\n\n if (data.UserId == _this7.md5Id) {\n //别人\n message.fromUserHeadImg = _this7.fromUserInfo.fromUserHeadImg ||\n '/static/head/head1.png';\n message.roleName = _this7.fromUserInfo.user_type && _this7.fromUserInfo.user_type.includes(1) ?\n '供方' : '需方';\n } else {\n //我\n message.fromUserHeadImg = _this7.user.avatar || '/static/head/head2.png';\n message.roleName = _this7.user.user_type && _this7.user.user_type.includes(1) ? '供方' : '需方';\n }\n if (message.contentType == 'text') {\n message.content = _this7.replaceEmoji(message.content);\n }\n if (message.contentType == 'voice') {\n message.content = JSON.parse(message.content);\n }\n _this7.addMessage(message);\n }\n if (data.messageType == 'messageRead') {\n if (data.userId == _this7.md5Id) {\n _this7.messageList = _this7.messageList.map(function (t) {\n t.state = 1;\n return t;\n });\n _this7.$forceUpdate();\n }\n }\n });\n\n },\n onReady: function onReady() {var _this8 = this;\n //自定义返回按钮 因为原生的返回按钮不可阻止默认事件\n\n\n\n\n\n uni.setNavigationBarTitle({\n title: \"\\u548C\".concat(this.fromUserInfo.fromUserName, \"\\u804A\\u5929\\u4E2D\") });\n\n uni.getSystemInfo({\n success: function success(res) {\n _this8.imgHeight = res.windowHeight + 'px';\n } });\n\n\n uni.onKeyboardHeightChange(function (res) {\n if (res.height == 0) {\n\n\n\n } else {\n _this8.showFunBtn = false;\n _this8.showEmoji = false;\n }\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvY2hhdC9jaGF0LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkdBOzs7QUFHQTtBQUNBO0FBQ0EsZ0c7QUFDQSxnRDtBQUNBO0FBQ0EsK0JBREE7QUFFQSxNQUZBLGtCQUVBO0FBQ0E7QUFDQSxjQURBO0FBRUEsZUFGQTtBQUdBLGlCQUhBO0FBSUE7QUFDQTtBQUNBLGlCQURBO0FBRUEsdUJBRkE7QUFHQSxrQ0FIQTtBQUlBLDBFQUpBO0FBS0EsOEJBTEE7QUFNQSx5RkFOQTtBQU9BLG1CQVBBO0FBUUEsbUJBUkE7QUFTQSx1QkFUQTs7QUFXQTtBQUNBLGlCQURBO0FBRUEsd0JBRkE7QUFHQSw0QkFIQTtBQUlBLHdFQUpBO0FBS0EsOEJBTEE7QUFNQSx5RkFOQTtBQU9BLG1CQVBBO0FBUUEsMkJBUkEsRUFYQTs7QUFxQkE7QUFDQSxpQkFEQTtBQUVBLHVCQUZBO0FBR0Esb0NBSEE7QUFJQSx1RUFKQTtBQUtBLDhCQUxBO0FBTUEseUZBTkE7QUFPQSxtQkFQQTtBQVFBLHlCQVJBLEVBckJBLENBTEE7OztBQXFDQSxzQkFyQ0E7QUFzQ0E7QUFDQSxtQkFEQTtBQUVBLGlCQUZBO0FBR0EsZ0JBSEEsRUF0Q0E7O0FBMkNBLHFCQTNDQTtBQTRDQSxtQkE1Q0EsRUE0Q0E7QUFDQSx5QkE3Q0E7QUE4Q0EsMEJBOUNBLEVBOENBO0FBQ0EsdUJBL0NBLEVBK0NBO0FBQ0EseUJBaERBO0FBaURBLHdDQWpEQTtBQWtEQSwwQ0FsREE7QUFtREEsc0JBbkRBLEVBbURBO0FBQ0Esd0JBcERBLEVBb0RBO0FBQ0EseUJBckRBO0FBc0RBLGtCQXREQSxFQXNEQTtBQUNBLG1CQXZEQSxFQXVEQTtBQUNBLGVBeERBLEVBd0RBO0FBQ0EsOEJBekRB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QTtBQUNBO0FBQ0E7QUFDQSwrQ0FEQTtBQUVBLGlDQUZBO0FBR0EsdUNBSEE7QUFJQSw2QkFKQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQSxrQ0FEQTtBQUVBO0FBQ0EsY0FEQSxHQUNBLElBREE7QUFFQSxTQU5BLE1BTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FIQTtBQUlBO0FBQ0E7QUFDQTtBQUNBLEtBdENBOztBQXdDQSxHQTlpQkE7QUEraUJBLFNBL2lCQSxxQkEraUJBO0FBQ0E7Ozs7OztBQU1BO0FBQ0Esa0ZBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsT0FIQTs7O0FBTUE7QUFDQTs7OztBQUlBLE9BSkEsTUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBVEE7QUFVQSxHQXprQkEsRSIsImZpbGUiOiIxOTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJjb250ZW50XCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtYm94XCIgQHRvdWNoc3RhcnQ9XCJ0b3VjaHN0YXJ0XCIgaWQ9XCJjb250ZW50LWJveFwiIDpjbGFzcz1cInsnY29udGVudC1zaG93Zm4nOnNob3dGdW5CdG59XCI+XHJcblx0XHRcdDwhLS0g6IOM5pmv5Zu+LSDlrprkvY3mlrnlvI8gLS0+XHJcblx0XHRcdDwhLS0gPGltYWdlIGNsYXNzPVwiY29udGVudC1ib3gtYmdcIiBzcmM9XCIvc3RhdGljL2hvbWUvYmFuY2syLnBuZ1wiIDpzdHlsZT1cInsgaGVpZ2h0OiBpbWdIZWlnaHQgfVwiPjwvaW1hZ2U+IC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtYm94LWxvYWRpbmdcIiB2LWlmPVwiIWxvYWRpbmdcIj5cclxuXHRcdFx0XHQ8dS1sb2FkaW5nIG1vZGU9XCJmbG93ZXJcIj48L3UtbG9hZGluZz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImludml0ZS1idG5cIiBAY2xpY2s9XCJoYW5kbGVJbnZpdGVTZXJ2aWVVc2VyXCI+XHJcblx0XHRcdFx06YKA6K+35a6i5pyN5Y+C5LiOXHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJtZXNzYWdlXCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIG1lc3NhZ2VMaXN0XCIgOmtleT1cImluZGV4XCIgOmlkPVwiYG1zZy0ke2l0ZW0uaWR9YFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibWVzc2FnZS1pdGVtIFwiIDpjbGFzcz1cIml0ZW0uaXNJdE1lID8gJ3JpZ2h0JyA6ICdsZWZ0J1wiPlxyXG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaW1nXCIgOnNyYz1cIml0ZW0uZnJvbVVzZXJIZWFkSW1nXCI+XHJcblx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ1c2VybmFtZVwiPnt7aXRlbS5yb2xlTmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJyZWFkLXN0YXR1c1wiIDpzdHlsZT1cIntjb2xvcjppdGVtLnN0YXRlPycjOTk5JzonIzMzMyd9XCJcclxuXHRcdFx0XHRcdFx0di1pZj1cIml0ZW0udXNlcklkID09IG15TWQ1SWRcIj57eyBpdGVtLnN0YXRlPyflt7Lor7snOifmnKror7snIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PCEtLSBjb250ZW50VHlwZSA9IDEg5paH5pysIC0tPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50XCIgdi1pZj1cIml0ZW0uY29udGVudFR5cGUgPT0gJ3RleHQnXCI+XHJcblx0XHRcdFx0XHRcdDxibG9jayB2LWZvcj1cIihtc2csaW5kZXgpIGluIGl0ZW0uY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJtc2cudHlwZSA9PSAndGV4dCdcIj57eyBtc2cuY29udGVudCB9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cIm1zZy50eXBlID09ICdlbWppbydcIiA6c3JjPVwibXNnLmNvbnRlbnRcIiBzdHlsZT1cIndpZHRoOjUwcnB4O2hlaWdodDo1MHJweFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdDwvYmxvY2s+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8IS0tIGNvbnRlbnRUeXBlID0gMiDor63pn7MgLS0+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQgY29udGVudFR5cGUyXCIgOmNsYXNzPVwiW3sgJ2NvbnRlbnQtdHlwZS1yaWdodCc6IGl0ZW0uaXNJdE1lIH1dXCJcclxuXHRcdFx0XHRcdFx0di1pZj1cIml0ZW0uY29udGVudFR5cGUgPT0gJ3ZvaWNlJ1wiIEB0YXA9XCJoYW5kbGVBdWRpbyhpdGVtKVwiIGhvdmVyLWNsYXNzPVwiY29udGVudFR5cGUyLWhvdmVyLWNsYXNzXCJcclxuXHRcdFx0XHRcdFx0OnN0eWxlPVwie3dpZHRoOmAkezEzMCsoaXRlbS5sZW5ndGgqMil9cnB4YH1cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2b2ljZV9pY29uXCIgOmNsYXNzPVwiW1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR7IHZvaWNlX2ljb25fcmlnaHQ6IGl0ZW0uaXNJdE1lIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHsgdm9pY2VfaWNvbl9sZWZ0OiAhaXRlbS5pc0l0TWUgfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0eyB2b2ljZV9pY29uX3JpZ2h0X2FuOiBpdGVtLmFubWl0aW9uUGxheSAmJiBpdGVtLmlzSXRNZSB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7IHZvaWNlX2ljb25fbGVmdF9hbjogaXRlbS5hbm1pdGlvblBsYXkgJiYgIWl0ZW0uaXNJdE1lIH1cclxuXHRcdFx0XHRcdFx0XHRcdF1cIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+e3sgaXRlbS5jb250ZW50Lmxlbmd0aCB9fScnPC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PCEtLSBjb250ZW50VHlwZSA9IDMg5Zu+54mHIC0tPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50IGNvbnRlbnRUeXBlM1wiIHYtaWY9XCJpdGVtLmNvbnRlbnRUeXBlID09IDNcIiBAdGFwPVwidmlld0ltZyhbaXRlbS5jb250ZW50XSlcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJpdGVtLmNvbnRlbnRcIiBjbGFzcz1cImltZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDlupXpg6jogYrlpKnovpPlhaXmoYYgLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImlucHV0LWJveFwiIDpjbGFzcz1cInsgJ2lucHV0LWJveC1tcElucHV0TWFyZ2luJzogbXBJbnB1dE1hcmdpbiB9XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5wdXQtYm94LWZsZXhcIj5cclxuXHRcdFx0XHQ8IS0tICNpZm5kZWYgSDUgLS0+XHJcblx0XHRcdFx0PGltYWdlIHYtaWY9XCJjaGF0VHlwZSA9PT0gJ3ZvaWNlJ1wiIGNsYXNzPVwiaWNvbl9pbWdcIiA6c3JjPVwicmVxdWlyZSgnQC9zdGF0aWMvdm9pY2UucG5nJylcIlxyXG5cdFx0XHRcdFx0QGNsaWNrPVwic3dpdGNoQ2hhdFR5cGUoJ2tleWJvYXJkJylcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDxpbWFnZSB2LWlmPVwiY2hhdFR5cGUgPT09ICdrZXlib2FyZCdcIiBjbGFzcz1cImljb25faW1nXCIgOnNyYz1cInJlcXVpcmUoJ0Avc3RhdGljL2tleWJvYXJkLnBuZycpXCJcclxuXHRcdFx0XHRcdEBjbGljaz1cInN3aXRjaENoYXRUeXBlKCd2b2ljZScpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHQ8aW1hZ2UgIGNsYXNzPVwiaWNvbl9pbWdcIiA6c3JjPVwicmVxdWlyZSgnQC9zdGF0aWMvZmFjZS5wbmcnKVwiXHJcblx0XHRcdFx0XHRAY2xpY2s9XCJzd2l0Y2hGdW4oJ2VtaicpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImlucHV0LWJveC1mbGV4LWdyb3dcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCB2LWlmPVwiY2hhdFR5cGUgPT09ICd2b2ljZSdcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiY29udGVudFwiIGlkPVwiaW5wdXRcIiB2LW1vZGVsPVwiZm9ybURhdGEuY29udGVudFwiXHJcblx0XHRcdFx0XHRcdDpob2xkLWtleWJvYXJkPVwidHJ1ZVwiIDpjb25maXJtLXR5cGU9XCInc2VuZCdcIiA6Y29uZmlybS1ob2xkPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6IzY2NjtcIiBwbGFjZWhvbGRlcj1cIui+k+WFpVwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcIlxyXG5cdFx0XHRcdFx0XHQ6Y3Vyc29yLXNwYWNpbmc9XCIxMFwiIEBjb25maXJtPVwic2VuZE1zZyhudWxsKVwiIC8+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZvaWNlX3RpdGxlXCIgdi1pZj1cImNoYXRUeXBlID09PSAna2V5Ym9hcmQnXCJcclxuXHRcdFx0XHRcdFx0OnN0eWxlPVwieyBiYWNrZ3JvdW5kOiByZWNvcmRpbmcgPyAnI2M3YzZjNicgOiAnI0ZGRkZGRicgfVwiIEB0b3VjaHN0YXJ0LnN0b3AucHJldmVudD1cInN0YXJ0Vm9pY2VcIlxyXG5cdFx0XHRcdFx0XHRAdG91Y2htb3ZlLnN0b3AucHJldmVudD1cIm1vdmVWb2ljZVwiIEB0b3VjaGVuZC5zdG9wPVwiZW5kVm9pY2VcIiBAdG91Y2hjYW5jZWwuc3RvcD1cImNhbmNlbFZvaWNlXCI+XHJcblx0XHRcdFx0XHRcdHt7IHZvaWNlVGl0bGUgfX1cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PCEtLSDlip/og73mgKfmjInpkq4gLS0+XHJcblx0XHRcdFx0PCEtLSA8aW1hZ2UgY2xhc3M9XCIgaWNvbl9idG5fYWRkXCIgOnNyYz1cInJlcXVpcmUoJ0Avc3RhdGljL2FkZC5wbmcnKVwiIEB0YXA9XCJzd2l0Y2hGdW5cIj48L2ltYWdlPiAtLT5cclxuXHJcblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImJ0blwiIHR5cGU9XCJwcmltYXJ5XCIgc2l6ZT1cIm1pbmlcIiBAdG91Y2hlbmQucHJldmVudD1cInNlbmRNc2cobnVsbClcIiB2LWlmPVwic2hvd0Vtb2ppXCI+5Y+R6YCBPC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmdW4tYm94XCIgOmNsYXNzPVwieydzaG93LWZ1bi1ib3gnOnNob3dGdW5CdG59XCI+XHJcblx0XHRcdFx0PHUtZ3JpZCA6Y29sPVwiNFwiIGhvdmVyLWNsYXNzPVwiY29udGVudFR5cGUyLWhvdmVyLWNsYXNzXCIgOmJvcmRlcj1cImZhbHNlXCIgQGNsaWNrPVwiY2xpY2tHcmlkXCI+XHJcblx0XHRcdFx0XHQ8dS1ncmlkLWl0ZW0gdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGZ1bkxpc3RcIiA6aW5kZXg9XCJpbmRleFwiIDprZXk9XCJpbmRleFwiIGJnLWNvbG9yPVwiI2VhZWFlYVwiPlxyXG5cdFx0XHRcdFx0XHQ8dS1pY29uIDpuYW1lPVwiaXRlbS5pY29uXCIgOnNpemU9XCI1MlwiPjwvdS1pY29uPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImdyaWQtdGV4dFwiPnt7IGl0ZW0udGl0bGUgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3UtZ3JpZC1pdGVtPlxyXG5cdFx0XHRcdDwvdS1ncmlkPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicG9wdXAtbGF5ZXIgdS1ib3JkZXItdG9wXCIgIEB0b3VjaG1vdmUuc3RvcC5wcmV2ZW50PVwiZGlzY2FyZFwiIHYtc2hvdz1cInNob3dFbW9qaVwiPlxyXG5cdFx0XHRcdDxzd2lwZXIgY2xhc3M9XCJlbW9qaS1zd2lwZXJcIiBpbmRpY2F0b3ItZG90cz1cInRydWVcIiBkdXJhdGlvbj1cIjE1MFwiID5cclxuXHRcdFx0XHRcdDxzd2lwZXItaXRlbSB2LWZvcj1cIihwYWdlLHBpZCkgaW4gZW1vamlUcmVlXCIgOmtleT1cInBpZFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIihlbSxlaWQpIGluIHBhZ2VcIiA6a2V5PVwiZWlkXCIgQGNsaWNrPVwiYWRkRW1vamkoZW0pXCIgY2xhc3M9XCJlbW9qaS1pdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIG1vZGU9XCJ3aWR0aEZpeFwiIDpzcmM9XCJnZXRFbW9qaVVybChlbS51cmwpXCIgY2xhc3M9XCJlbW9qaS1pdGVtLWltZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0PC9zd2lwZXI+XHJcblx0XHRcdDwvdmlldz5cclxuXHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PCEtLSAvL+ivremfs+WKqOeUuyAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwidm9pY2VfYW5cIiB2LWlmPVwicmVjb3JkaW5nXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidm9pY2VfYW5faWNvblwiPlxyXG5cdFx0XHRcdDx2aWV3IGlkPVwib25lXCIgY2xhc3M9XCJ3YXZlXCI+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGlkPVwidHdvXCIgY2xhc3M9XCJ3YXZlXCI+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGlkPVwidGhyZWVcIiBjbGFzcz1cIndhdmVcIj48L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgaWQ9XCJmb3VyXCIgY2xhc3M9XCJ3YXZlXCI+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGlkPVwiZml2ZVwiIGNsYXNzPVwid2F2ZVwiPjwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBpZD1cInNpeFwiIGNsYXNzPVwid2F2ZVwiPjwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBpZD1cInNldmVuXCIgY2xhc3M9XCJ3YXZlXCI+PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiPnt7dm9pY2VJY29uVGV4dH19PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHtcclxuXHRcdG1hcFN0YXRlXHJcblx0fSBmcm9tICd2dWV4JztcclxuXHRpbXBvcnQgZW1vamlNaXhpbiBmcm9tICdAL3BhZ2VzL2NoYXQvZW1vamlNaXhpbi5qcydcclxuXHRpbXBvcnQgc2VydmljZSBmcm9tICdAL3NlcnZpY2Uvc2VydmljZS5qcydcclxuXHRpbXBvcnQgY29uZmlnIGZyb20gJ0AvY29tbW9uL2NvbmZpZy9jb25maWcuanMnO1xyXG5cdGxldCBzb2NrZXRUYXNrID0gZ2V0QXBwKCkuZ2xvYmFsRGF0YS5zb2NrZXRUYXNrO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG1peGluczpbZW1vamlNaXhpbl0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGludElkOiAwLFxyXG5cdFx0XHRcdG1kNUlkOiAnJyxcclxuXHRcdFx0XHRteU1kNUlkOiAnJyxcclxuXHRcdFx0XHQvL+aIkeeahOaci+WPi1xyXG5cdFx0XHRcdGZpcmVuZExpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHVzZXJJZDogMixcclxuXHRcdFx0XHRcdFx0dXNlck5hbWU6IFwi6ZmI5Yag5biMXCIsXHJcblx0XHRcdFx0XHRcdHdlY2hhdE51bWJlcjogJ2NoZW5ndWFueGknLFxyXG5cdFx0XHRcdFx0XHRoZWFkSW1nOiByZXF1aXJlKCdAL3N0YXRpYy9pbWFnZS9ndWFueGkuanBnJyksXHJcblx0XHRcdFx0XHRcdHNpZ25hdHVyZTogJ+aIkeacgOW4he+8jOS4jeaOpeWPl+WPjempsycsXHJcblx0XHRcdFx0XHRcdHBpY3R1cmVCYW5uZXI6IHJlcXVpcmUoJ0Avc3RhdGljL2ltYWdlLy9jaXJjbGVCYW5uZXIvMi5qcGcnKSxcclxuXHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0XHRcdGlzVG9wOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRhZGRyZXNzOiBcIuS4reWbvemmmea4r1wiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR1c2VySWQ6IDMsXHJcblx0XHRcdFx0XHRcdHVzZXJOYW1lOiBcIui/quS4veeDreW3tFwiLFxyXG5cdFx0XHRcdFx0XHR3ZWNoYXROdW1iZXI6ICdyZWJhJyxcclxuXHRcdFx0XHRcdFx0aGVhZEltZzogcmVxdWlyZSgnQC9zdGF0aWMvaW1hZ2UvZ2lybC5qcGcnKSxcclxuXHRcdFx0XHRcdFx0c2lnbmF0dXJlOiAn5oiR5pyA576O77yM5LiN5o6l5Y+X5Y+N6amzJyxcclxuXHRcdFx0XHRcdFx0cGljdHVyZUJhbm5lcjogcmVxdWlyZSgnQC9zdGF0aWMvaW1hZ2UvL2NpcmNsZUJhbm5lci80LmpwZycpLFxyXG5cdFx0XHRcdFx0XHRzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0YWRkcmVzczogXCLmlrDnlobnu7TlkL7lsJToh6rmsrvljLpcIlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dXNlcklkOiA0LFxyXG5cdFx0XHRcdFx0XHR1c2VyTmFtZTogXCLlsI/otLHotLFcIixcclxuXHRcdFx0XHRcdFx0d2VjaGF0TnVtYmVyOiAneGlhb2ppYW5qaWFuJyxcclxuXHRcdFx0XHRcdFx0aGVhZEltZzogcmVxdWlyZSgnQC9zdGF0aWMvaW1hZ2UvYm95LmpwZycpLFxyXG5cdFx0XHRcdFx0XHRzaWduYXR1cmU6ICfmiJHmnIDotLHvvIzkuI3mjqXlj5flj43pqbMnLFxyXG5cdFx0XHRcdFx0XHRwaWN0dXJlQmFubmVyOiByZXF1aXJlKCdAL3N0YXRpYy9pbWFnZS8vY2lyY2xlQmFubmVyLzEuanBnJyksXHJcblx0XHRcdFx0XHRcdHNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRhZGRyZXNzOiBcIue+juWIqeWdmuWQiOS8l+WbvVwiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0ZnJvbVVzZXJJbmZvOiB7fSxcclxuXHRcdFx0XHRmb3JtRGF0YToge1xyXG5cdFx0XHRcdFx0Y29udGVudDogJycsXHJcblx0XHRcdFx0XHRsaW1pdDogMTUsXHJcblx0XHRcdFx0XHRpbmRleDogMVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bWVzc2FnZUxpc3Q6IFtdLFxyXG5cdFx0XHRcdGxvYWRpbmc6IHRydWUsIC8v5qCH6K+G5piv5ZCm5q2j5Zyo6I635Y+W5pWw5o2uXHJcblx0XHRcdFx0aW1nSGVpZ2h0OiAnMTAwMHB4JyxcclxuXHRcdFx0XHRtcElucHV0TWFyZ2luOiBmYWxzZSwgLy/pgILphY3lvq7kv6HlsI/nqIvluo8g5bqV6YOo6L6T5YWl5qGG6auY5bqm6KKr6aG26LW355qE6Zeu6aKYXHJcblx0XHRcdFx0Y2hhdFR5cGU6IFwidm9pY2VcIiwgLy8g5Zu+5qCH57G75Z6LICd2b2ljZSfor63pn7MgJ2tleWJvYXJkJ+mUruebmFxyXG5cdFx0XHRcdHZvaWNlVGl0bGU6ICfmjInkvY8g6K+06K+dJyxcclxuXHRcdFx0XHRSZWNvcmRlcjogdW5pLmdldFJlY29yZGVyTWFuYWdlcigpLFxyXG5cdFx0XHRcdEF1ZGlvOiB1bmkuY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQoKSxcclxuXHRcdFx0XHRyZWNvcmRpbmc6IGZhbHNlLCAvL+agh+ivhuaYr+WQpuato+WcqOW9lemfs1xyXG5cdFx0XHRcdGlzU3RvcFZvaWNlOiBmYWxzZSwgLy/liqDplIEg6Ziy5q2i54K55Ye76L+H5b+r5byV6LW355qE5b2T5b2V6Z+z5q2j5Zyo5YeG5aSHKOi/mOayoeacieW8gOWni+W9lemfsynnmoTml7blgJks5Y206LCD55So5LqGc3RvcOaWueazleS9huW5tuS4jeiDvemYu+atouW9lemfs+eahOmXrumimFxyXG5cdFx0XHRcdHZvaWNlSW50ZXJ2YWw6IG51bGwsXHJcblx0XHRcdFx0dm9pY2VUaW1lOiAwLCAvL+aAu+WFseW9lemfs+aXtumVv1xyXG5cdFx0XHRcdGNhblNlbmQ6IHRydWUsIC8v5piv5ZCm5Y+v5Lul5Y+R6YCBXHJcblx0XHRcdFx0UG9pbnRZOiAwLCAvL+WdkOagh+S9jee9rlxyXG5cdFx0XHRcdHZvaWNlSWNvblRleHQ6IFwi5q2j5Zyo5b2V6Z+zLi4uXCIsXHJcblx0XHRcdFx0c2hvd0Z1bkJ0bjogZmFsc2UsIC8v5piv5ZCm5bGV56S65Yqf6IO95Z6L5oyJ6ZKuXHJcblx0XHRcdFx0QXVkaW9FeGFtOiBudWxsLCAvL+ato+WcqOaSreaUvumfs+mikeeahOWunuS+i1xyXG5cdFx0XHRcdGZ1bkxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdGljb246IFwicGhvdG8tZmlsbFwiLFxyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLnhafniYdcIixcclxuXHRcdFx0XHRcdFx0dXBsb2FkVHlwZTogW1wiYWxidW1cIl1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGljb246IFwiY2FtZXJhLWZpbGxcIixcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5ouN5pGEXCIsXHJcblx0XHRcdFx0XHRcdHVwbG9hZFR5cGU6IFtcImNhbWVyYVwiXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHR9O1xyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdC4uLm1hcFN0YXRlKFsndXNlcicsICdzdGF0aXN0aWNzJywgJ2NvbW1vbiddKSxcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGhhbmRsZUludml0ZVNlcnZpZVVzZXIoKXtcclxuXHRcdFx0XHRsZXQgdGhhdD10aGlzO1xyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0Y29udGVudDon5piv5ZCm56Gu6K6k6Lez6L2s5Yiw5aSa5Lq66IGK5aSp77yfJyxcclxuXHRcdFx0XHRcdHN1Y2Nlc3Moe2NvbmZpcm19KSB7XHJcblx0XHRcdFx0XHRcdGlmKGNvbmZpcm0pe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5yZWRpcmVjdFRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdHVybDpgL3BhZ2VzL21lZXRpbmcvbWVldGluZz91c2VyaWQ9JHt0aGF0LmludElkfSZ1c2VybmFtZT0ke3RoYXQuZnJvbVVzZXJJbmZvLmZyb21Vc2VyTmFtZX1gXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGFkZE1lc3NhZ2UoZGF0YSkge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZUxpc3QucHVzaChkYXRhKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0TWVzc2FnZUxpc3QoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLm1kNUlkIHx8ICF0aGlzLm15TWQ1SWQgfHwgIXRoaXMuZnJvbVVzZXJJbmZvLnVzZXJfdHlwZSkge1xyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZ2V0TWVzc2FnZUxpc3QoKTtcclxuXHRcdFx0XHRcdH0sIDIwMCk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuQVBJLm1lc3NhZ2UuZ2V0TWVzc2FnZUxpc3QodGhpcy5tZDVJZCwgdGhpcy5teU1kNUlkKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnZ2V0TWVzc2FnZUxpc3QnLCByZXMpXHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VMaXN0ID0gcmVzLmRhdGEubGlzdC5tYXAodCA9PiB7XHJcblx0XHRcdFx0XHRcdHQuaXNJdE1lID0gdC5zZW5kVXNlcklkID09IHRoaXMubXlNZDVJZDtcclxuXHRcdFx0XHRcdFx0aWYgKHQuc2VuZFVzZXJJZCA9PSB0aGlzLm1kNUlkKSB7XHJcblx0XHRcdFx0XHRcdFx0dC5mcm9tVXNlckhlYWRJbWcgPSB0aGlzLmZyb21Vc2VySW5mby5mcm9tVXNlckhlYWRJbWcgfHxcclxuXHRcdFx0XHRcdFx0XHRcdCcvc3RhdGljL2hlYWQvaGVhZDEucG5nJ1xyXG5cdFx0XHRcdFx0XHRcdHQucm9sZU5hbWUgPSB0aGlzLmZyb21Vc2VySW5mby51c2VyX3R5cGUgJiYgdGhpcy5mcm9tVXNlckluZm8udXNlcl90eXBlXHJcblx0XHRcdFx0XHRcdFx0XHQuaW5jbHVkZXMoMSkgPyAn5L6b5pa5JyA6ICfpnIDmlrknO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHQuZnJvbVVzZXJIZWFkSW1nID0gdGhpcy51c2VyLmF2YXRhciB8fCAnL3N0YXRpYy9oZWFkL2hlYWQyLnBuZyc7XHJcblx0XHRcdFx0XHRcdFx0dC5yb2xlTmFtZSA9IHRoaXMudXNlci51c2VyX3R5cGUgJiYgdGhpcy51c2VyLnVzZXJfdHlwZS5pbmNsdWRlcygxKSA/ICfkvpvmlrknIDpcclxuXHRcdFx0XHRcdFx0XHRcdCfpnIDmlrknO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHQudXNlcklkID0gdC5zZW5kVXNlcklkO1xyXG5cdFx0XHRcdFx0XHRpZih0LmNvbnRlbnRUeXBlID09ICd0ZXh0Jyl7XHJcblx0XHRcdFx0XHRcdFx0dC5jb250ZW50ID0gdGhpcy5yZXBsYWNlRW1vamkodC5jb250ZW50KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmKHQuY29udGVudFR5cGUgPT0gJ3ZvaWNlJyl7XHJcblx0XHRcdFx0XHRcdFx0dC5jb250ZW50ID0gSlNPTi5wYXJzZSh0LmNvbnRlbnQpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIHQ7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlUmVhZE1lc3NhZ2UoKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR1cGRhdGVSZWFkTWVzc2FnZSgpIHtcclxuXHRcdFx0XHRsZXQgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcdFx0bWV0aG9kOiAnVXBkYXRlUmVhZE1lc3NhZ2UnLFxyXG5cdFx0XHRcdFx0Zm9ybVVzZXJJZDogdGhpcy5tZDVJZCxcclxuXHRcdFx0XHRcdHRva2VuOiBzZXJ2aWNlLmdldFRva2VuQ2hhb2dlKClcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygndXBkYXRlUmVhZE1lc3NhZ2UnLCBwYXJhbXMpO1xyXG5cdFx0XHRcdHNvY2tldFRhc2suc2VuZCh7XHJcblx0XHRcdFx0XHRkYXRhOiBwYXJhbXMsXHJcblx0XHRcdFx0XHRzdWNjZXNzKCkge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnVXBkYXRlUmVhZE1lc3NhZ2Ugc3VjY2VzcycpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRVc2VySW5mbyhpZCkge1xyXG5cdFx0XHRcdHRoaXMuQVBJLmdldFVzZXJJbmZvKGlkKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnZ2V0VXNlckluZm8gZnJvbVVzZXJJbmZvJywgcmVzKTtcclxuXHRcdFx0XHRcdHRoaXMuZnJvbVVzZXJJbmZvID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5mcm9tVXNlckluZm8sIHtcclxuXHRcdFx0XHRcdFx0ZnJvbVVzZXJOYW1lOiByZXMuZGF0YS51c2VybmFtZSxcclxuXHRcdFx0XHRcdFx0ZnJvbVVzZXJIZWFkSW1nOiByZXMuZGF0YS5hdmF0YXIsXHJcblx0XHRcdFx0XHRcdGZyb21Vc2VySWQ6IGlkLFxyXG5cdFx0XHRcdFx0XHQuLi5yZXMuZGF0YVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5aSE55CG5rua5YqoXHJcblx0XHRcdGJpbmRTY3JvbGwoc2VsLCBkdXJhdGlvbiA9IDApIHtcclxuXHRcdFx0XHRjb25zdCBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuaW4odGhpcyk7XHJcblx0XHRcdFx0cXVlcnlcclxuXHRcdFx0XHRcdC5zZWxlY3Qoc2VsKVxyXG5cdFx0XHRcdFx0LmJvdW5kaW5nQ2xpZW50UmVjdChkYXRhID0+IHtcclxuXHRcdFx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRcdFx0c2Nyb2xsVG9wOiBkYXRhICYmIGRhdGEudG9wIC0gNDAsXHJcblx0XHRcdFx0XHRcdFx0ZHVyYXRpb25cclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0LmV4ZWMoKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8v5YiH5o2i6K+t6Z+z5oiW6ICF6ZSu55uY5pa55byPXHJcblx0XHRcdHN3aXRjaENoYXRUeXBlKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLmNoYXRUeXBlID0gdHlwZTtcclxuXHRcdFx0XHR0aGlzLnNob3dGdW5CdG4gPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLnNob3dFbW9qaSA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIh+aNouWKn+iDveaAp+aMiemSrlxyXG5cdFx0XHRzd2l0Y2hGdW4odHlwZSkge1xyXG5cdFx0XHRcdC8vIHRoaXMuc2hvd0Z1bkJ0biA9ICF0aGlzLnNob3dGdW5CdG47XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3N3aXRjaEZ1bicsdHlwZSk7XHJcblx0XHRcdFx0aWYodHlwZSA9PSAnZW1qJyl7XHJcblx0XHRcdFx0XHR0aGlzLmNoYXRUeXBlID0gJ3ZvaWNlJztcclxuXHRcdFx0XHRcdHVuaS5oaWRlS2V5Ym9hcmQoKTtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd0Vtb2ppID0gdHJ1ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5Y+R6YCB5raI5oGvXHJcblx0XHRcdHNlbmRNc2coZGF0YSkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRsZXQgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0dG9Vc2VySWQ6IHRoaXMubWQ1SWQsXHJcblx0XHRcdFx0XHRtZXNzYWdlVHlwZTogXCJ0ZXh0XCIsXHJcblx0XHRcdFx0XHRtZXNzYWdlQ29udGVudDogdGhpcy5mb3JtRGF0YS5jb250ZW50LFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnU2VuZE1lc3NhZ2UnLFxyXG5cdFx0XHRcdFx0dG9rZW46IHNlcnZpY2UuZ2V0VG9rZW5DaGFvZ2UoKSxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGlmIChkYXRhKSB7XHJcblx0XHRcdFx0XHRpZiAoZGF0YS5jb250ZW50VHlwZSA9PSAndm9pY2UnKSB7XHJcblx0XHRcdFx0XHRcdC8v6K+05piO5piv5Y+R6YCB6K+t6Z+zXHJcblx0XHRcdFx0XHRcdHBhcmFtcy5tZXNzYWdlQ29udGVudCA9IGRhdGEubWVzc2FnZUNvbnRlbnQ7XHJcblx0XHRcdFx0XHRcdHBhcmFtcy5sZW5ndGggPSBkYXRhLmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0cGFyYW1zLm1lc3NhZ2VUeXBlID0gJ3ZvaWNlJztcclxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoZGF0YS5jb250ZW50VHlwZSA9PSAnaW1hZ2UnKSB7XHJcblx0XHRcdFx0XHRcdC8v5Y+R6YCB5Zu+54mHXHJcblx0XHRcdFx0XHRcdHBhcmFtcy5jb250ZW50ID0gZGF0YS5jb250ZW50O1xyXG5cdFx0XHRcdFx0XHRwYXJhbXMubWVzc2FnZVR5cGUgPSBkYXRhLmNvbnRlbnRUeXBlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAoIXRoaXMuZm9ybURhdGEuY29udGVudC50cmltKCkpIHtcclxuXHRcdFx0XHRcdC8v6aqM6K+B6L6T5YWl5qGG5Lmm5ZCm5Li656m65a2X56ym5LygXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBhcmFtcykpO1xyXG5cdFx0XHRcdHNvY2tldFRhc2suc2VuZCh7XHJcblx0XHRcdFx0XHRkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ3NvY2tldFRhc2suc2VuZCBzdWNjZXNzJywgcmVzKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsKGUpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ3NvY2tldFRhc2suc2VuZCBmYWlsJywgZSk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0Y29tcGxldGUoKSB7fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuZm9ybURhdGEuY29udGVudCA9ICcnO1xyXG5cdFx0XHRcdFx0Ly8gI2lmZGVmIE1QLVdFSVhJTlxyXG5cdFx0XHRcdFx0aWYgKHBhcmFtcy5jb250ZW50VHlwZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG5cdFx0XHRcdFx0XHRcdHNjcm9sbFRvcDogOTk5OTksXHJcblx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDAsIC8v5bCP56iL5bqP5aaC5p6c5pyJ5rua5Yqo5pWI5p6cIGlucHV055qE54Sm54K55Lmf5Lya6ZqP552A6aG16Z2i5rua5YqoLi4uXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRcdFx0XHRzY3JvbGxUb3A6IDk5OTk5LFxyXG5cdFx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDAsIC8v5bCP56iL5bqP5aaC5p6c5pyJ5rua5Yqo5pWI5p6cIGlucHV055qE54Sm54K55Lmf5Lya6ZqP552A6aG16Z2i5rua5YqoLi4uXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0sIDE1MClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cclxuXHRcdFx0XHRcdC8vICNpZm5kZWYgTVAtV0VJWElOXHJcblx0XHRcdFx0XHR1bmkucGFnZVNjcm9sbFRvKHtcclxuXHRcdFx0XHRcdFx0c2Nyb2xsVG9wOiA5OTk5OSxcclxuXHRcdFx0XHRcdFx0ZHVyYXRpb246IDEwMFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHQvLyAjZW5kaWZcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5zaG93RnVuQnRuKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2hvd0Z1bkJ0biA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHQvLyAjaWZkZWYgTVAtV0VJWElOIFxyXG5cdFx0XHRcdFx0aWYgKHBhcmFtcy5jb250ZW50VHlwZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMubXBJbnB1dE1hcmdpbiA9IHRydWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHRcdC8vaDXmtY/op4jlmajlubbmsqHmnInlvojlpb3nmoTlip7ms5XmjqfliLbplK7nm5jkuIDnm7TlpITkuo7llKTotbfnirbmgIEg6ICM5LiU5Lya5pyJ5qC35byP5oCn55qE6Zeu6aKYXHJcblx0XHRcdFx0XHQvLyAjaWZkZWYgSDVcclxuXHRcdFx0XHRcdHVuaS5oaWRlS2V5Ym9hcmQoKTtcclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+eUqOaIt+inpuaRuOWxj+W5leeahOaXtuWAmemakOiXj+mUruebmFxyXG5cdFx0XHR0b3VjaHN0YXJ0KCkge1xyXG5cdFx0XHRcdHVuaS5oaWRlS2V5Ym9hcmQoKTtcclxuXHRcdFx0XHR0aGlzLnNob3dFbW9qaSA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyB1c2VyaWQg55So5oi3aWRcclxuXHRcdFx0bGlua1RvQnVzaW5lc3NDYXJkKHVzZXJJZCkge1xyXG5cdFx0XHRcdHRoaXMuJHUucm91dGUoe1xyXG5cdFx0XHRcdFx0dXJsOiAncGFnZXMvYnVzaW5lc3NDYXJkL2J1c2luZXNzQ2FyZCcsXHJcblx0XHRcdFx0XHRwYXJhbXM6IHtcclxuXHRcdFx0XHRcdFx0dXNlcklkXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YeG5aSH5byA5aeL5b2V6Z+zXHJcblx0XHRcdHN0YXJ0Vm9pY2UoZSkge1xyXG5cdFx0XHRcdGlmICghdGhpcy5BdWRpby5wYXVzZWQpIHtcclxuXHRcdFx0XHRcdC8v5aaC5p6c6Z+z6aKR5q2j5Zyo5pKt5pS+IOWFiOaaguWBnOOAglxyXG5cdFx0XHRcdFx0dGhpcy5zdG9wQXVkaW8odGhpcy5BdWRpb0V4YW0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMucmVjb3JkaW5nID0gdHJ1ZTtcclxuXHRcdFx0XHR0aGlzLmlzU3RvcFZvaWNlID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5jYW5TZW5kID0gdHJ1ZTtcclxuXHRcdFx0XHR0aGlzLnZvaWNlSWNvblRleHQgPSBcIuato+WcqOW9lemfsy4uLlwiXHJcblx0XHRcdFx0dGhpcy5Qb2ludFkgPSBlLnRvdWNoZXNbMF0uY2xpZW50WTtcclxuXHRcdFx0XHR0aGlzLlJlY29yZGVyLnN0YXJ0KHtcclxuXHRcdFx0XHRcdGZvcm1hdDogJ21wMydcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lvZXpn7Plt7Lnu4/lvIDlp4tcclxuXHRcdFx0YmVnaW5Wb2ljZSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5pc1N0b3BWb2ljZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5SZWNvcmRlci5zdG9wKCk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMudm9pY2VUaXRsZSA9ICfmnb7lvIAg57uT5p2fJ1xyXG5cdFx0XHRcdHRoaXMudm9pY2VJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudm9pY2VUaW1lKys7XHJcblx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly9tb3ZlIOato+WcqOW9lemfs+S4rVxyXG5cdFx0XHRtb3ZlVm9pY2UoZSkge1xyXG5cdFx0XHRcdGNvbnN0IFBvaW50WSA9IGUudG91Y2hlc1swXS5jbGllbnRZXHJcblx0XHRcdFx0Y29uc3Qgc2xpZGVZID0gdGhpcy5Qb2ludFkgLSBQb2ludFk7XHJcblx0XHRcdFx0aWYgKHNsaWRlWSA+IHVuaS51cHgycHgoMTIwKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5jYW5TZW5kID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLnZvaWNlSWNvblRleHQgPSAn5p2+5byA5omL5oyHIOWPlua2iOWPkemAgSAnXHJcblx0XHRcdFx0fSBlbHNlIGlmIChzbGlkZVkgPiB1bmkudXB4MnB4KDYwKSkge1xyXG5cdFx0XHRcdFx0dGhpcy5jYW5TZW5kID0gdHJ1ZTtcclxuXHRcdFx0XHRcdHRoaXMudm9pY2VJY29uVGV4dCA9ICfmiYvmjIfkuIrmu5Eg5Y+W5raI5Y+R6YCBICdcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy52b2ljZUljb25UZXh0ID0gJ+ato+WcqOW9lemfsy4uLiAnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+e7k+adn+W9lemfs1xyXG5cdFx0XHRlbmRWb2ljZSgpIHtcclxuXHRcdFx0XHR0aGlzLmlzU3RvcFZvaWNlID0gdHJ1ZTsgLy/liqDplIEg56Gu5L+d5bey57uP57uT5p2f5b2V6Z+z5bm25LiN5Lya5b2V5Yi2XHJcblx0XHRcdFx0dGhpcy5SZWNvcmRlci5zdG9wKCk7XHJcblx0XHRcdFx0dGhpcy52b2ljZVRpdGxlID0gJ+aMieS9jyDor7Tor50nXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5b2V6Z+z6KKr5omT5patXHJcblx0XHRcdGNhbmNlbFZvaWNlKGUpIHtcclxuXHRcdFx0XHR0aGlzLnZvaWNlVGltZSA9IDA7XHJcblx0XHRcdFx0dGhpcy52b2ljZVRpdGxlID0gJ+aMieS9jyDor7Tor50nO1xyXG5cdFx0XHRcdHRoaXMuY2FuU2VuZCA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuUmVjb3JkZXIuc3RvcCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WkhOeQhuW9lemfs+aWh+S7tlxyXG5cdFx0XHRoYW5kbGVSZWNvcmRlcih7XHJcblx0XHRcdFx0dGVtcEZpbGVQYXRoLFxyXG5cdFx0XHRcdGR1cmF0aW9uXHJcblx0XHRcdH0pIHtcclxuXHRcdFx0XHRsZXQgdGhhdD10aGlzO1xyXG5cdFx0XHRcdGxldCBjb250ZW50RHVyYXRpb247XHJcblx0XHRcdFx0Ly8gI2lmZGVmIE1QLVdFSVhJTlxyXG5cdFx0XHRcdHRoaXMudm9pY2VUaW1lID0gMDtcclxuXHRcdFx0XHRpZiAoZHVyYXRpb24gPCA2MDApIHtcclxuXHRcdFx0XHRcdHRoaXMudm9pY2VJY29uVGV4dCA9IFwi6K+06K+d5pe26Ze06L+H55+tXCI7XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWNvcmRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdH0sIDIwMClcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29udGVudER1cmF0aW9uID0gZHVyYXRpb24gLyAxMDAwO1xyXG5cdFx0XHRcdC8vICNlbmRpZlxyXG5cclxuXHRcdFx0XHQvLyAjaWZkZWYgQVBQLVBMVVNcclxuXHRcdFx0XHRjb250ZW50RHVyYXRpb24gPSB0aGlzLnZvaWNlVGltZSArIDE7XHJcblx0XHRcdFx0dGhpcy52b2ljZVRpbWUgPSAwO1xyXG5cdFx0XHRcdGlmIChjb250ZW50RHVyYXRpb24gPD0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy52b2ljZUljb25UZXh0ID0gXCLor7Tor53ml7bpl7Tov4fnn61cIjtcclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlY29yZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0fSwgMjAwKVxyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblxyXG5cdFx0XHRcdHRoaXMucmVjb3JkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3RlbXBGaWxlUGF0aCcsdGVtcEZpbGVQYXRoKTtcclxuXHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XHJcblx0XHRcdFx0XHR1cmw6Y29uZmlnLmFwcHVybF9jaGFvZ2UrJy9maWxlL1VwbG9hZGVyL2NoYXRfdm9pY2UnLFxyXG5cdFx0XHRcdFx0ZmlsZVBhdGg6dGVtcEZpbGVQYXRoLFxyXG5cdFx0XHRcdFx0bmFtZTogJ2ZpbGUnLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpe1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygndXBsb2FkZmlsZSAnLHJlcyk7XHJcblx0XHRcdFx0XHRcdGxldCBkYXRhID0gSlNPTi5wYXJzZShyZXMuZGF0YSk7XHJcblx0XHRcdFx0XHRcdGlmKGRhdGEuZGF0YSAmJiBkYXRhLmRhdGEudXJsKXtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50VHlwZTogJ3ZvaWNlJyxcclxuXHRcdFx0XHRcdFx0XHRcdGxlbmd0aDpjb250ZW50RHVyYXRpb24gfHwgMSxcclxuXHRcdFx0XHRcdFx0XHRcdG1lc3NhZ2VDb250ZW50OmRhdGEuZGF0YS51cmwsXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmNhblNlbmQgJiYgdGhhdC5zZW5kTXNnKHBhcmFtcyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mjqfliLbmkq3mlL7ov5jmmK/mmoLlgZzpn7PpopHmlofku7ZcclxuXHRcdFx0aGFuZGxlQXVkaW8oaXRlbSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdoYW5kbGVBdWRpbycsaXRlbSk7XHJcblx0XHRcdFx0dGhpcy5BdWRpb0V4YW0gPSBpdGVtO1xyXG5cdFx0XHRcdHRoaXMuQXVkaW8ucGF1c2VkID8gdGhpcy5wbGF5QXVkaW8oaXRlbSkgOiB0aGlzLnN0b3BBdWRpbyhpdGVtKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mkq3mlL7pn7PpopFcclxuXHRcdFx0cGxheUF1ZGlvKGl0ZW0pIHtcclxuXHRcdFx0XHR0aGlzLkF1ZGlvLnNyYyA9IGNvbmZpZy5iYXNldXJsX2NoYW9nZStpdGVtLmNvbnRlbnQucGF0aDtcclxuXHRcdFx0XHR0aGlzLkF1ZGlvLmhhc0JlZW5TZW50SWQgPSBpdGVtLmhhc0JlZW5TZW50SWQ7XHJcblx0XHRcdFx0dGhpcy5BdWRpby5wbGF5KCk7XHJcblx0XHRcdFx0aXRlbS5hbm1pdGlvblBsYXkgPSB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WBnOatoumfs+mikVxyXG5cdFx0XHRzdG9wQXVkaW8oaXRlbSkge1xyXG5cdFx0XHRcdGl0ZW0uYW5taXRpb25QbGF5ID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5BdWRpby5zcmMgPSAnJztcclxuXHRcdFx0XHR0aGlzLkF1ZGlvLnN0b3AoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lhbPpl63liqjnlLtcclxuXHRcdFx0Y2xvc2VBbm1pdGlvbigpIHtcclxuXHRcdFx0XHRjb25zdCBoYXNCZWVuU2VudElkID0gdGhpcy5BdWRpby5oYXNCZWVuU2VudElkO1xyXG5cdFx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLm1lc3NhZ2VMaXN0LmZpbmQoaXQgPT4gaXQuaGFzQmVlblNlbnRJZCA9PSBoYXNCZWVuU2VudElkKTtcclxuXHRcdFx0XHRpdGVtLmFubWl0aW9uUGxheSA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+eCueWHu+Wuq+agvOaXtuinpuWPkVxyXG5cdFx0XHRjbGlja0dyaWQoaW5kZXgpIHtcclxuXHRcdFx0XHRpZiAoaW5kZXggPT0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5jaG9vc2VJbWFnZShbJ2FsYnVtJ10pXHJcblx0XHRcdFx0fSBlbHNlIGlmIChpbmRleCA9PSAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNob29zZUltYWdlKFsnY2FtZXJhJ10pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WPkemAgeWbvueJh1xyXG5cdFx0XHRjaG9vc2VJbWFnZShzb3VyY2VUeXBlKSB7XHJcblx0XHRcdFx0dW5pLmNob29zZUltYWdlKHtcclxuXHRcdFx0XHRcdHNvdXJjZVR5cGUsXHJcblx0XHRcdFx0XHRzaXplVHlwZTogWydjb21wcmVzc2VkJ10sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dGdW5CdG4gPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCByZXMudGVtcEZpbGVQYXRocy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnRUeXBlOiAnaW1hZ2UnLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogcmVzLnRlbXBGaWxlUGF0aHNbaV0sXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNlbmRNc2cocGFyYW1zKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mn6XnnIvlpKflm75cclxuXHRcdFx0dmlld0ltZyhpbWdMaXN0KSB7XHJcblx0XHRcdFx0dW5pLnByZXZpZXdJbWFnZSh7XHJcblx0XHRcdFx0XHR1cmxzOiBpbWdMaXN0LFxyXG5cdFx0XHRcdFx0Ly8gI2lmbmRlZiBNUC1XRUlYSU5cclxuXHRcdFx0XHRcdGluZGljYXRvcjogJ251bWJlcidcclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG9uTmF2aWdhdGlvbkJhckJ1dHRvblRhcCh7XHJcblx0XHRcdGluZGV4XHJcblx0XHR9KSB7XHJcblx0XHRcdGlmIChpbmRleCA9PSAwKSB7XHJcblx0XHRcdFx0Ly/nlKjmiLfor6bmg4Ug6K6+572uXHJcblx0XHRcdH0gZWxzZSBpZiAoaW5kZXggPT0gMSkge1xyXG5cdFx0XHRcdC8v6L+U5Zue5oyJ6ZKuXHJcblx0XHRcdFx0dGhpcy4kdS5yb3V0ZSh7XHJcblx0XHRcdFx0XHR0eXBlOiAnc3dpdGNoVGFiJyxcclxuXHRcdFx0XHRcdHVybDogJ3BhZ2VzL2hvbWUvaG9tZSdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdC8v6L+U5Zue5oyJ6ZKu5LqL5Lu2XHJcblx0XHRvbkJhY2tQcmVzcyhlKSB7XHJcblx0XHRcdC8v5Lul5LiL5YaF5a655a+5aDXkuI3nlJ/mlYhcclxuXHRcdFx0Ly8tLeaJgOS7peWmguaenOeUqOa1j+iniOWZqOiHquW4pueahOi/lOWbnuaMiemSrui/m+ihjOi/lOWbnueahOaXtuWAmemhtemdouS4jeS8mumHjeWumuWQkSDmraPlnKjlr7vmib7lkIjpgILnmoTop6PlhrPmlrnmoYhcclxuXHRcdFx0dGhpcy4kdS5yb3V0ZSh7XHJcblx0XHRcdFx0dHlwZTogJ3N3aXRjaFRhYicsXHJcblx0XHRcdFx0dXJsOiAncGFnZXMvaG9tZS9ob21lJ1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKGluZm8pIHtcclxuXHRcdFx0bGV0IHtcclxuXHRcdFx0XHRpZCxcclxuXHRcdFx0XHR1c2VyaWQsXHJcblx0XHRcdFx0dXNlcm5hbWVcclxuXHRcdFx0fSA9IGluZm87XHJcblxyXG5cdFx0XHR0aGlzLkFQSS5tZXNzYWdlLmdldFVzZXJJbmZvKHRoaXMudXNlci5pZCkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHRoaXMubXlNZDVJZCA9IHJlcy5kYXRhLnVzZXIudXNlcklkO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHRpZiAoIWlkKSB7XHJcblx0XHRcdFx0dGhpcy5pbnRJZCA9IHVzZXJpZDtcclxuXHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKHRoaXMuaW50SWQpO1xyXG5cdFx0XHRcdHRoaXMuQVBJLm1lc3NhZ2UuZ2V0VXNlckluZm8odXNlcmlkKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygndGhpcy5BUEkuZ2V0VXNlckluZm8nLCByZXMpXHJcblx0XHRcdFx0XHR0aGlzLm1kNUlkID0gcmVzLmRhdGEudXNlci51c2VySWQ7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm1kNUlkID0gaWQ7XHJcblx0XHRcdFx0dGhpcy5BUEkubWVzc2FnZS5nZXRVc2VyU291cmNlSWQoaWQpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuaW50SWQgPSByZXMuZGF0YTtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8odGhpcy5pbnRJZCk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmdldE1lc3NhZ2VMaXN0KCk7XHJcblx0XHRcdC8vIHsgbWVzc2FnZUlkLGZyb21Vc2VyTmFtZSxmcm9tVXNlckhlYWRJbWcgfSA9IGluZm9cclxuXHRcdFx0dGhpcy5mcm9tVXNlckluZm8gPSB7XHJcblx0XHRcdFx0ZnJvbVVzZXJOYW1lOiB1c2VybmFtZSxcclxuXHRcdFx0XHRmcm9tVXNlcklkOiBpZCxcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdC8v5b2V6Z+z5byA5aeL5LqL5Lu2XHJcblx0XHRcdHRoaXMuUmVjb3JkZXIub25TdGFydChlID0+IHtcclxuXHRcdFx0XHR0aGlzLmJlZ2luVm9pY2UoKTtcclxuXHRcdFx0fSk7XHJcblx0XHRcdC8v5b2V6Z+z57uT5p2f5LqL5Lu2XHJcblx0XHRcdHRoaXMuUmVjb3JkZXIub25TdG9wKHJlcyA9PiB7XHJcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLnZvaWNlSW50ZXJ2YWwpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlUmVjb3JkZXIocmVzKTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHQvL+mfs+mikeWBnOatouS6i+S7tlxyXG5cdFx0XHR0aGlzLkF1ZGlvLm9uU3RvcChlID0+IHtcclxuXHRcdFx0XHR0aGlzLmNsb3NlQW5taXRpb24oKTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHQvL+mfs+mikeaSreaUvue7k+adn+S6i+S7tlxyXG5cdFx0XHR0aGlzLkF1ZGlvLm9uRW5kZWQoZSA9PiB7XHJcblx0XHRcdFx0dGhpcy5jbG9zZUFubWl0aW9uKCk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0Ly9zb2NrZXRcclxuXHRcdFx0dW5pLiRvbignc29ja2V0TWVzc2FnZScsIChkYXRhKSA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3NvY2tldE1lc3NhZ2UnLCBkYXRhKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVJlYWRNZXNzYWdlKCk7XHJcblx0XHRcdFx0aWYgKGRhdGEubWVzc2FnZVR5cGUgPT0gJ3RleHQnIHx8IGRhdGEubWVzc2FnZVR5cGUgPT0gJ3ZvaWNlJykge1xyXG5cdFx0XHRcdFx0bGV0IG1lc3NhZ2UgPSB7XHJcblx0XHRcdFx0XHRcdGlzSXRNZTogZGF0YS5Vc2VySWQgPT0gdGhpcy5teU1kNUlkLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBkYXRhLnRvTWVzc2FnZSxcclxuXHRcdFx0XHRcdFx0Y29udGVudFR5cGU6IGRhdGEubWVzc2FnZVR5cGUsXHJcblx0XHRcdFx0XHRcdHVzZXJJZDogZGF0YS5Vc2VySWRcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRpZiAoZGF0YS5Vc2VySWQgPT0gdGhpcy5tZDVJZCkge1xyXG5cdFx0XHRcdFx0XHQvL+WIq+S6ulxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlLmZyb21Vc2VySGVhZEltZyA9IHRoaXMuZnJvbVVzZXJJbmZvLmZyb21Vc2VySGVhZEltZyB8fFxyXG5cdFx0XHRcdFx0XHRcdCcvc3RhdGljL2hlYWQvaGVhZDEucG5nJ1xyXG5cdFx0XHRcdFx0XHRtZXNzYWdlLnJvbGVOYW1lID0gdGhpcy5mcm9tVXNlckluZm8udXNlcl90eXBlICYmIHRoaXMuZnJvbVVzZXJJbmZvLnVzZXJfdHlwZS5pbmNsdWRlcygxKSA/XHJcblx0XHRcdFx0XHRcdFx0J+S+m+aWuScgOiAn6ZyA5pa5JztcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdC8v5oiRXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2UuZnJvbVVzZXJIZWFkSW1nID0gdGhpcy51c2VyLmF2YXRhciB8fCAnL3N0YXRpYy9oZWFkL2hlYWQyLnBuZyc7XHJcblx0XHRcdFx0XHRcdG1lc3NhZ2Uucm9sZU5hbWUgPSB0aGlzLnVzZXIudXNlcl90eXBlICYmIHRoaXMudXNlci51c2VyX3R5cGUuaW5jbHVkZXMoMSkgPyAn5L6b5pa5JyA6ICfpnIDmlrknO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYobWVzc2FnZS5jb250ZW50VHlwZSA9PSAndGV4dCcpe1xyXG5cdFx0XHRcdFx0XHRtZXNzYWdlLmNvbnRlbnQgPSB0aGlzLnJlcGxhY2VFbW9qaShtZXNzYWdlLmNvbnRlbnQpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZihtZXNzYWdlLmNvbnRlbnRUeXBlID09ICd2b2ljZScpe1xyXG5cdFx0XHRcdFx0XHRtZXNzYWdlLmNvbnRlbnQgPSBKU09OLnBhcnNlKG1lc3NhZ2UuY29udGVudClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuYWRkTWVzc2FnZShtZXNzYWdlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGRhdGEubWVzc2FnZVR5cGUgPT0gJ21lc3NhZ2VSZWFkJykge1xyXG5cdFx0XHRcdFx0aWYgKGRhdGEudXNlcklkID09IHRoaXMubWQ1SWQpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tZXNzYWdlTGlzdCA9IHRoaXMubWVzc2FnZUxpc3QubWFwKHQgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHQuc3RhdGUgPSAxO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0O1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy4kZm9yY2VVcGRhdGUoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblxyXG5cdFx0fSxcclxuXHRcdG9uUmVhZHkoKSB7XHJcblx0XHRcdC8v6Ieq5a6a5LmJ6L+U5Zue5oyJ6ZKuIOWboOS4uuWOn+eUn+eahOi/lOWbnuaMiemSruS4jeWPr+mYu+atoum7mOiupOS6i+S7tlxyXG5cdFx0XHQvLyAjaWZkZWYgSDVcclxuXHRcdFx0Y29uc3QgaWNvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3VuaS1wYWdlLWhlYWQtYnRuJylbMF07XHJcblx0XHRcdGljb24uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuXHRcdFx0Ly8gI2VuZGlmXHJcblxyXG5cdFx0XHR1bmkuc2V0TmF2aWdhdGlvbkJhclRpdGxlKHtcclxuXHRcdFx0XHR0aXRsZTogYOWSjCR7dGhpcy5mcm9tVXNlckluZm8uZnJvbVVzZXJOYW1lfeiBiuWkqeS4rWBcclxuXHRcdFx0fSk7XHJcblx0XHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcclxuXHRcdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pbWdIZWlnaHQgPSByZXMud2luZG93SGVpZ2h0ICsgJ3B4JztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0dW5pLm9uS2V5Ym9hcmRIZWlnaHRDaGFuZ2UocmVzID0+IHtcclxuXHRcdFx0XHRpZiAocmVzLmhlaWdodCA9PSAwKSB7XHJcblx0XHRcdFx0XHQvLyAjaWZkZWYgTVAtV0VJWElOXHJcblx0XHRcdFx0XHR0aGlzLm1wSW5wdXRNYXJnaW4gPSBmYWxzZTtcclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dGdW5CdG4gPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd0Vtb2ppID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuXHRAaW1wb3J0ICcuL2luZGV4LnNjc3MnXHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///199\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\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\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\nvar _vuex = __webpack_require__(/*! vuex */ 8);\n\n\nvar _emojiMixin = _interopRequireDefault(__webpack_require__(/*! @/pages/chat/emojiMixin.js */ 200));\nvar _service = _interopRequireDefault(__webpack_require__(/*! @/service/service.js */ 323));\nvar _config = _interopRequireDefault(__webpack_require__(/*! @/common/config/config.js */ 325));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}\nvar socketTask = getApp().globalData.socketTask;var _default =\n{\n mixins: [_emojiMixin.default],\n data: function data() {\n return {\n intId: 0,\n md5Id: '',\n myMd5Id: '',\n //我的朋友\n firendList: [{\n userId: 2,\n userName: \"陈冠希\",\n wechatNumber: 'chenguanxi',\n headImg: __webpack_require__(/*! @/static/image/guanxi.jpg */ 326),\n signature: '我最帅,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/2.jpg */ 327),\n show: false,\n isTop: true,\n address: \"中国香港\" },\n\n {\n userId: 3,\n userName: \"迪丽热巴\",\n wechatNumber: 'reba',\n headImg: __webpack_require__(/*! @/static/image/girl.jpg */ 328),\n signature: '我最美,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/4.jpg */ 329),\n show: false,\n address: \"新疆维吾尔自治区\" },\n\n {\n userId: 4,\n userName: \"小贱贱\",\n wechatNumber: 'xiaojianjian',\n headImg: __webpack_require__(/*! @/static/image/boy.jpg */ 330),\n signature: '我最贱,不接受反驳',\n pictureBanner: __webpack_require__(/*! @/static/image//circleBanner/1.jpg */ 331),\n show: false,\n address: \"美利坚合众国\" }],\n\n\n fromUserInfo: {},\n formData: {\n content: '',\n limit: 15,\n index: 1 },\n\n messageList: [],\n loading: true, //标识是否正在获取数据\n imgHeight: '1000px',\n mpInputMargin: false, //适配微信小程序 底部输入框高度被顶起的问题\n chatType: \"voice\", // 图标类型 'voice'语音 'keyboard'键盘\n voiceTitle: '按住 说话',\n Recorder: uni.getRecorderManager(),\n Audio: uni.createInnerAudioContext(),\n recording: false, //标识是否正在录音\n isStopVoice: false, //加锁 防止点击过快引起的当录音正在准备(还没有开始录音)的时候,却调用了stop方法但并不能阻止录音的问题\n voiceInterval: null,\n voiceTime: 0, //总共录音时长\n canSend: true, //是否可以发送\n PointY: 0, //坐标位置\n voiceIconText: \"正在录音...\",\n showFunBtn: false, //是否展示功能型按钮\n AudioExam: null, //正在播放音频的实例\n funList: [{\n icon: \"photo-fill\",\n title: \"照片\",\n uploadType: [\"album\"] },\n\n {\n icon: \"camera-fill\",\n title: \"拍摄\",\n uploadType: [\"camera\"] }] };\n\n\n\n },\n computed: _objectSpread({},\n (0, _vuex.mapState)(['user', 'statistics', 'common'])),\n\n methods: {\n handleInviteServieUser: function handleInviteServieUser() {\n var that = this;\n uni.showModal({\n content: '是否确认跳转到多人聊天?',\n success: function success(_ref) {var confirm = _ref.confirm;\n if (confirm) {\n uni.redirectTo({\n url: \"/pages/meeting/meeting?userid=\".concat(that.intId, \"&username=\").concat(that.fromUserInfo.fromUserName) });\n\n }\n } });\n\n },\n addMessage: function addMessage(data) {\n this.messageList.push(data);\n },\n getMessageList: function getMessageList() {var _this = this;\n if (!this.md5Id || !this.myMd5Id || !this.fromUserInfo.user_type) {\n setTimeout(function () {\n _this.getMessageList();\n }, 200);\n return;\n }\n this.API.message.getMessageList(this.md5Id, this.myMd5Id).then(function (res) {\n __f__(\"log\", 'getMessageList', res, \" at pages/chat/chat.vue:221\");\n _this.messageList = res.data.list.map(function (t) {\n t.isItMe = t.sendUserId == _this.myMd5Id;\n if (t.sendUserId == _this.md5Id) {\n t.fromUserHeadImg = _this.fromUserInfo.fromUserHeadImg ||\n '/static/head/head1.png';\n t.roleName = _this.fromUserInfo.user_type && _this.fromUserInfo.user_type.\n includes(1) ? '供方' : '需方';\n } else {\n t.fromUserHeadImg = _this.user.avatar || '/static/head/head2.png';\n t.roleName = _this.user.user_type && _this.user.user_type.includes(1) ? '供方' :\n '需方';\n }\n t.userId = t.sendUserId;\n if (t.contentType == 'text') {\n t.content = _this.replaceEmoji(t.content);\n }\n if (t.contentType == 'voice') {\n t.content = JSON.parse(t.content);\n }\n return t;\n });\n _this.updateReadMessage();\n });\n },\n updateReadMessage: function updateReadMessage() {\n var params = JSON.stringify({\n method: 'UpdateReadMessage',\n formUserId: this.md5Id,\n token: _service.default.getTokenChaoge() });\n\n __f__(\"log\", 'updateReadMessage', params, \" at pages/chat/chat.vue:252\");\n socketTask.send({\n data: params,\n success: function success() {\n __f__(\"log\", 'UpdateReadMessage success', \" at pages/chat/chat.vue:256\");\n } });\n\n },\n getUserInfo: function getUserInfo(id) {var _this2 = this;\n this.API.getUserInfo(id).then(function (res) {\n __f__(\"log\", 'getUserInfo fromUserInfo', res, \" at pages/chat/chat.vue:262\");\n _this2.fromUserInfo = Object.assign({}, _this2.fromUserInfo, _objectSpread({\n fromUserName: res.data.username,\n fromUserHeadImg: res.data.avatar,\n fromUserId: id },\n res.data));\n\n });\n },\n //处理滚动\n bindScroll: function bindScroll(sel) {var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var query = uni.createSelectorQuery().in(this);\n query.\n select(sel).\n boundingClientRect(function (data) {\n uni.pageScrollTo({\n scrollTop: data && data.top - 40,\n duration: duration });\n\n }).\n exec();\n },\n\n //切换语音或者键盘方式\n switchChatType: function switchChatType(type) {\n this.chatType = type;\n this.showFunBtn = false;\n this.showEmoji = false;\n },\n //切换功能性按钮\n switchFun: function switchFun(type) {\n // this.showFunBtn = !this.showFunBtn;\n\n __f__(\"log\", 'switchFun', type, \" at pages/chat/chat.vue:295\");\n if (type == 'emj') {\n this.chatType = 'voice';\n uni.hideKeyboard();\n this.showEmoji = true;\n }\n },\n //发送消息\n sendMsg: function sendMsg(data) {var _this3 = this;\n var that = this;\n var params = {\n toUserId: this.md5Id,\n messageType: \"text\",\n messageContent: this.formData.content,\n method: 'SendMessage',\n token: _service.default.getTokenChaoge() };\n\n if (data) {\n if (data.contentType == 'voice') {\n //说明是发送语音\n params.messageContent = data.messageContent;\n params.length = data.length;\n params.messageType = 'voice';\n } else if (data.contentType == 'image') {\n //发送图片\n params.content = data.content;\n params.messageType = data.contentType;\n }\n } else if (!this.formData.content.trim()) {\n //验证输入框书否为空字符传\n return;\n }\n __f__(\"log\", JSON.stringify(params), \" at pages/chat/chat.vue:327\");\n socketTask.send({\n data: JSON.stringify(params),\n success: function success(res) {\n __f__(\"log\", 'socketTask.send success', res, \" at pages/chat/chat.vue:331\");\n },\n fail: function fail(e) {\n __f__(\"log\", 'socketTask.send fail', e, \" at pages/chat/chat.vue:334\");\n },\n complete: function complete() {} });\n\n this.$nextTick(function () {\n _this3.formData.content = '';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n uni.pageScrollTo({\n scrollTop: 99999,\n duration: 100 });\n\n\n\n if (_this3.showFunBtn) {\n _this3.showFunBtn = false;\n }\n _this3.showEmoji = false;\n\n\n\n\n\n\n //h5浏览器并没有很好的办法控制键盘一直处于唤起状态 而且会有样式性的问题\n\n\n\n });\n },\n //用户触摸屏幕的时候隐藏键盘\n touchstart: function touchstart() {\n uni.hideKeyboard();\n this.showEmoji = false;\n },\n // userid 用户id\n linkToBusinessCard: function linkToBusinessCard(userId) {\n this.$u.route({\n url: 'pages/businessCard/businessCard',\n params: {\n userId: userId } });\n\n\n },\n //准备开始录音\n startVoice: function startVoice(e) {\n if (!this.Audio.paused) {\n //如果音频正在播放 先暂停。\n this.stopAudio(this.AudioExam);\n }\n this.recording = true;\n this.isStopVoice = false;\n this.canSend = true;\n this.voiceIconText = \"正在录音...\";\n this.PointY = e.touches[0].clientY;\n this.Recorder.start({\n format: 'mp3' });\n\n },\n //录音已经开始\n beginVoice: function beginVoice() {var _this4 = this;\n if (this.isStopVoice) {\n this.Recorder.stop();\n return;\n }\n this.voiceTitle = '松开 结束';\n this.voiceInterval = setInterval(function () {\n _this4.voiceTime++;\n }, 1000);\n },\n //move 正在录音中\n moveVoice: function moveVoice(e) {\n var PointY = e.touches[0].clientY;\n var slideY = this.PointY - PointY;\n if (slideY > uni.upx2px(120)) {\n this.canSend = false;\n this.voiceIconText = '松开手指 取消发送 ';\n } else if (slideY > uni.upx2px(60)) {\n this.canSend = true;\n this.voiceIconText = '手指上滑 取消发送 ';\n } else {\n this.voiceIconText = '正在录音... ';\n }\n },\n //结束录音\n endVoice: function endVoice() {\n this.isStopVoice = true; //加锁 确保已经结束录音并不会录制\n this.Recorder.stop();\n this.voiceTitle = '按住 说话';\n },\n //录音被打断\n cancelVoice: function cancelVoice(e) {\n this.voiceTime = 0;\n this.voiceTitle = '按住 说话';\n this.canSend = false;\n this.Recorder.stop();\n },\n //处理录音文件\n handleRecorder: function handleRecorder(_ref2)\n\n\n {var _this5 = this;var tempFilePath = _ref2.tempFilePath,duration = _ref2.duration;\n var that = this;\n var contentDuration;\n\n\n\n\n\n\n\n\n\n\n\n\n\n contentDuration = this.voiceTime + 1;\n this.voiceTime = 0;\n if (contentDuration <= 0) {\n this.voiceIconText = \"说话时间过短\";\n setTimeout(function () {\n _this5.recording = false;\n }, 200);\n return;\n };\n\n\n this.recording = false;\n\n __f__(\"log\", 'tempFilePath', tempFilePath, \" at pages/chat/chat.vue:479\");\n uni.uploadFile({\n url: _config.default.appurl_chaoge + '/file/Uploader/chat_voice',\n filePath: tempFilePath,\n name: 'file',\n success: function success(res) {\n __f__(\"log\", 'uploadfile ', res, \" at pages/chat/chat.vue:485\");\n var data = JSON.parse(res.data);\n if (data.data && data.data.url) {\n var params = {\n contentType: 'voice',\n length: contentDuration || 1,\n messageContent: data.data.url };\n\n that.canSend && that.sendMsg(params);\n }\n } });\n\n\n },\n //控制播放还是暂停音频文件\n handleAudio: function handleAudio(item) {\n __f__(\"log\", 'handleAudio', item, \" at pages/chat/chat.vue:501\");\n this.AudioExam = item;\n this.Audio.paused ? this.playAudio(item) : this.stopAudio(item);\n },\n //播放音频\n playAudio: function playAudio(item) {\n this.Audio.src = _config.default.baseurl_chaoge + item.content.path;\n this.Audio.hasBeenSentId = item.hasBeenSentId;\n this.Audio.play();\n item.anmitionPlay = true;\n },\n //停止音频\n stopAudio: function stopAudio(item) {\n item.anmitionPlay = false;\n this.Audio.src = '';\n this.Audio.stop();\n },\n //关闭动画\n closeAnmition: function closeAnmition() {\n var hasBeenSentId = this.Audio.hasBeenSentId;\n var item = this.messageList.find(function (it) {return it.hasBeenSentId == hasBeenSentId;});\n item.anmitionPlay = false;\n },\n //点击宫格时触发\n clickGrid: function clickGrid(index) {\n if (index == 0) {\n this.chooseImage(['album']);\n } else if (index == 1) {\n this.chooseImage(['camera']);\n }\n },\n //发送图片\n chooseImage: function chooseImage(sourceType) {var _this6 = this;\n uni.chooseImage({\n sourceType: sourceType,\n sizeType: ['compressed'],\n success: function success(res) {\n _this6.showFunBtn = false;\n _this6.showEmoji = false;\n for (var i = 0; i < res.tempFilePaths.length; i++) {\n var params = {\n contentType: 'image',\n content: res.tempFilePaths[i] };\n\n _this6.sendMsg(params);\n }\n } });\n\n },\n //查看大图\n viewImg: function viewImg(imgList) {\n uni.previewImage({\n urls: imgList,\n\n indicator: 'number' });\n\n\n } },\n\n onNavigationBarButtonTap: function onNavigationBarButtonTap(_ref3)\n\n {var index = _ref3.index;\n if (index == 0) {\n //用户详情 设置\n } else if (index == 1) {\n //返回按钮\n this.$u.route({\n type: 'switchTab',\n url: 'pages/home/home' });\n\n }\n },\n //返回按钮事件\n onBackPress: function onBackPress(e) {\n //以下内容对h5不生效\n //--所以如果用浏览器自带的返回按钮进行返回的时候页面不会重定向 正在寻找合适的解决方案\n this.$u.route({\n type: 'switchTab',\n url: 'pages/home/home' });\n\n return true;\n },\n onLoad: function onLoad(info) {var _this7 = this;var\n\n id =\n\n\n info.id,userid = info.userid,username = info.username;\n\n this.API.message.getUserInfo(this.user.id).then(function (res) {\n _this7.myMd5Id = res.data.user.userId;\n });\n if (!id) {\n this.intId = userid;\n this.getUserInfo(this.intId);\n this.API.message.getUserInfo(userid).then(function (res) {\n __f__(\"log\", 'this.API.getUserInfo', res, \" at pages/chat/chat.vue:597\");\n _this7.md5Id = res.data.user.userId;\n });\n } else {\n this.md5Id = id;\n this.API.message.getUserSourceId(id).then(function (res) {\n _this7.intId = res.data;\n _this7.getUserInfo(_this7.intId);\n });\n }\n this.getMessageList();\n // { messageId,fromUserName,fromUserHeadImg } = info\n this.fromUserInfo = {\n fromUserName: username,\n fromUserId: id };\n\n\n //录音开始事件\n this.Recorder.onStart(function (e) {\n _this7.beginVoice();\n });\n //录音结束事件\n this.Recorder.onStop(function (res) {\n clearInterval(_this7.voiceInterval);\n _this7.handleRecorder(res);\n });\n\n //音频停止事件\n this.Audio.onStop(function (e) {\n _this7.closeAnmition();\n });\n\n //音频播放结束事件\n this.Audio.onEnded(function (e) {\n _this7.closeAnmition();\n });\n\n //socket\n uni.$on('socketMessage', function (data) {\n __f__(\"log\", 'socketMessage', data, \" at pages/chat/chat.vue:636\");\n _this7.updateReadMessage();\n if (data.messageType == 'text' || data.messageType == 'voice') {\n var message = {\n isItMe: data.UserId == _this7.myMd5Id,\n content: data.toMessage || data.formMessage,\n contentType: data.messageType,\n userId: data.UserId };\n\n if (data.UserId == _this7.md5Id) {\n //别人\n message.fromUserHeadImg = _this7.fromUserInfo.fromUserHeadImg ||\n '/static/head/head1.png';\n message.roleName = _this7.fromUserInfo.user_type && _this7.fromUserInfo.user_type.includes(1) ?\n '供方' : '需方';\n } else {\n //我\n message.fromUserHeadImg = _this7.user.avatar || '/static/head/head2.png';\n message.roleName = _this7.user.user_type && _this7.user.user_type.includes(1) ? '供方' : '需方';\n }\n if (message.contentType == 'text') {\n message.content = _this7.replaceEmoji(message.content);\n }\n _this7.addMessage(message);\n }\n if (data.messageType == 'messageRead') {\n if (data.userId == _this7.md5Id) {\n _this7.messageList = _this7.messageList.map(function (t) {\n t.state = 1;\n return t;\n });\n _this7.$forceUpdate();\n }\n }\n });\n\n },\n onReady: function onReady() {var _this8 = this;\n //自定义返回按钮 因为原生的返回按钮不可阻止默认事件\n\n\n\n\n\n uni.setNavigationBarTitle({\n title: \"\\u548C\".concat(this.fromUserInfo.fromUserName, \"\\u804A\\u5929\\u4E2D\") });\n\n uni.getSystemInfo({\n success: function success(res) {\n _this8.imgHeight = res.windowHeight + 'px';\n } });\n\n\n uni.onKeyboardHeightChange(function (res) {\n if (res.height == 0) {\n\n\n\n } else {\n _this8.showFunBtn = false;\n _this8.showEmoji = false;\n }\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvY2hhdC9jaGF0LnZ1ZSJdLCJuYW1lcyI6WyJzb2NrZXRUYXNrIiwiZ2V0QXBwIiwiZ2xvYmFsRGF0YSIsIm1peGlucyIsImVtb2ppTWl4aW4iLCJkYXRhIiwiaW50SWQiLCJtZDVJZCIsIm15TWQ1SWQiLCJmaXJlbmRMaXN0IiwidXNlcklkIiwidXNlck5hbWUiLCJ3ZWNoYXROdW1iZXIiLCJoZWFkSW1nIiwicmVxdWlyZSIsInNpZ25hdHVyZSIsInBpY3R1cmVCYW5uZXIiLCJzaG93IiwiaXNUb3AiLCJhZGRyZXNzIiwiZnJvbVVzZXJJbmZvIiwiZm9ybURhdGEiLCJjb250ZW50IiwibGltaXQiLCJpbmRleCIsIm1lc3NhZ2VMaXN0IiwibG9hZGluZyIsImltZ0hlaWdodCIsIm1wSW5wdXRNYXJnaW4iLCJjaGF0VHlwZSIsInZvaWNlVGl0bGUiLCJSZWNvcmRlciIsInVuaSIsImdldFJlY29yZGVyTWFuYWdlciIsIkF1ZGlvIiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJyZWNvcmRpbmciLCJpc1N0b3BWb2ljZSIsInZvaWNlSW50ZXJ2YWwiLCJ2b2ljZVRpbWUiLCJjYW5TZW5kIiwiUG9pbnRZIiwidm9pY2VJY29uVGV4dCIsInNob3dGdW5CdG4iLCJBdWRpb0V4YW0iLCJmdW5MaXN0IiwiaWNvbiIsInRpdGxlIiwidXBsb2FkVHlwZSIsImNvbXB1dGVkIiwibWV0aG9kcyIsImhhbmRsZUludml0ZVNlcnZpZVVzZXIiLCJ0aGF0Iiwic2hvd01vZGFsIiwic3VjY2VzcyIsImNvbmZpcm0iLCJyZWRpcmVjdFRvIiwidXJsIiwiZnJvbVVzZXJOYW1lIiwiYWRkTWVzc2FnZSIsInB1c2giLCJnZXRNZXNzYWdlTGlzdCIsInVzZXJfdHlwZSIsInNldFRpbWVvdXQiLCJBUEkiLCJtZXNzYWdlIiwidGhlbiIsInJlcyIsImxpc3QiLCJtYXAiLCJ0IiwiaXNJdE1lIiwic2VuZFVzZXJJZCIsImZyb21Vc2VySGVhZEltZyIsInJvbGVOYW1lIiwiaW5jbHVkZXMiLCJ1c2VyIiwiYXZhdGFyIiwiY29udGVudFR5cGUiLCJyZXBsYWNlRW1vamkiLCJKU09OIiwicGFyc2UiLCJ1cGRhdGVSZWFkTWVzc2FnZSIsInBhcmFtcyIsInN0cmluZ2lmeSIsIm1ldGhvZCIsImZvcm1Vc2VySWQiLCJ0b2tlbiIsInNlcnZpY2UiLCJnZXRUb2tlbkNoYW9nZSIsInNlbmQiLCJnZXRVc2VySW5mbyIsImlkIiwiT2JqZWN0IiwiYXNzaWduIiwidXNlcm5hbWUiLCJmcm9tVXNlcklkIiwiYmluZFNjcm9sbCIsInNlbCIsImR1cmF0aW9uIiwicXVlcnkiLCJjcmVhdGVTZWxlY3RvclF1ZXJ5IiwiaW4iLCJzZWxlY3QiLCJib3VuZGluZ0NsaWVudFJlY3QiLCJwYWdlU2Nyb2xsVG8iLCJzY3JvbGxUb3AiLCJ0b3AiLCJleGVjIiwic3dpdGNoQ2hhdFR5cGUiLCJ0eXBlIiwic2hvd0Vtb2ppIiwic3dpdGNoRnVuIiwiaGlkZUtleWJvYXJkIiwic2VuZE1zZyIsInRvVXNlcklkIiwibWVzc2FnZVR5cGUiLCJtZXNzYWdlQ29udGVudCIsImxlbmd0aCIsInRyaW0iLCJmYWlsIiwiZSIsImNvbXBsZXRlIiwiJG5leHRUaWNrIiwidG91Y2hzdGFydCIsImxpbmtUb0J1c2luZXNzQ2FyZCIsIiR1Iiwicm91dGUiLCJzdGFydFZvaWNlIiwicGF1c2VkIiwic3RvcEF1ZGlvIiwidG91Y2hlcyIsImNsaWVudFkiLCJzdGFydCIsImZvcm1hdCIsImJlZ2luVm9pY2UiLCJzdG9wIiwic2V0SW50ZXJ2YWwiLCJtb3ZlVm9pY2UiLCJzbGlkZVkiLCJ1cHgycHgiLCJlbmRWb2ljZSIsImNhbmNlbFZvaWNlIiwiaGFuZGxlUmVjb3JkZXIiLCJ0ZW1wRmlsZVBhdGgiLCJjb250ZW50RHVyYXRpb24iLCJ1cGxvYWRGaWxlIiwiY29uZmlnIiwiYXBwdXJsX2NoYW9nZSIsImZpbGVQYXRoIiwibmFtZSIsImhhbmRsZUF1ZGlvIiwiaXRlbSIsInBsYXlBdWRpbyIsInNyYyIsImJhc2V1cmxfY2hhb2dlIiwicGF0aCIsImhhc0JlZW5TZW50SWQiLCJwbGF5IiwiYW5taXRpb25QbGF5IiwiY2xvc2VBbm1pdGlvbiIsImZpbmQiLCJpdCIsImNsaWNrR3JpZCIsImNob29zZUltYWdlIiwic291cmNlVHlwZSIsInNpemVUeXBlIiwiaSIsInRlbXBGaWxlUGF0aHMiLCJ2aWV3SW1nIiwiaW1nTGlzdCIsInByZXZpZXdJbWFnZSIsInVybHMiLCJpbmRpY2F0b3IiLCJvbk5hdmlnYXRpb25CYXJCdXR0b25UYXAiLCJvbkJhY2tQcmVzcyIsIm9uTG9hZCIsImluZm8iLCJ1c2VyaWQiLCJnZXRVc2VyU291cmNlSWQiLCJvblN0YXJ0Iiwib25TdG9wIiwiY2xlYXJJbnRlcnZhbCIsIm9uRW5kZWQiLCIkb24iLCJVc2VySWQiLCJ0b01lc3NhZ2UiLCJmb3JtTWVzc2FnZSIsInN0YXRlIiwiJGZvcmNlVXBkYXRlIiwib25SZWFkeSIsInNldE5hdmlnYXRpb25CYXJUaXRsZSIsImdldFN5c3RlbUluZm8iLCJ3aW5kb3dIZWlnaHQiLCJvbktleWJvYXJkSGVpZ2h0Q2hhbmdlIiwiaGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkdBOzs7QUFHQTtBQUNBO0FBQ0EsZ0c7QUFDQSxJQUFJQSxVQUFVLEdBQUdDLE1BQU0sR0FBR0MsVUFBVCxDQUFvQkYsVUFBckMsQztBQUNlO0FBQ2RHLFFBQU0sRUFBQyxDQUFDQyxtQkFBRCxDQURPO0FBRWRDLE1BRmMsa0JBRVA7QUFDTixXQUFPO0FBQ05DLFdBQUssRUFBRSxDQUREO0FBRU5DLFdBQUssRUFBRSxFQUZEO0FBR05DLGFBQU8sRUFBRSxFQUhIO0FBSU47QUFDQUMsZ0JBQVUsRUFBRSxDQUFDO0FBQ1hDLGNBQU0sRUFBRSxDQURHO0FBRVhDLGdCQUFRLEVBQUUsS0FG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LENBQUN1SCxZQUFMO0FBQ0E7QUFDRDtBQUNELEtBbkNEOztBQXFDQSxHQTNpQmE7QUE0aUJkQyxTQTVpQmMscUJBNGlCSjtBQUNUOzs7Ozs7QUFNQTlKLE9BQUcsQ0FBQytKLHFCQUFKLENBQTBCO0FBQ3pCaEosV0FBSyxrQkFBTSxLQUFLM0IsWUFBTCxDQUFrQnNDLFlBQXhCLHVCQURvQixFQUExQjs7QUFHQTFCLE9BQUcsQ0FBQ2dLLGFBQUosQ0FBa0I7QUFDakIxSSxhQUFPLEVBQUUsaUJBQUFhLEdBQUcsRUFBSTtBQUNmLGNBQUksQ0FBQ3hDLFNBQUwsR0FBaUJ3QyxHQUFHLENBQUM4SCxZQUFKLEdBQW1CLElBQXBDO0FBQ0EsT0FIZ0IsRUFBbEI7OztBQU1BakssT0FBRyxDQUFDa0ssc0JBQUosQ0FBMkIsVUFBQS9ILEdBQUcsRUFBSTtBQUNqQyxVQUFJQSxHQUFHLENBQUNnSSxNQUFKLElBQWMsQ0FBbEIsRUFBcUI7Ozs7QUFJcEIsT0FKRCxNQUlPO0FBQ04sY0FBSSxDQUFDeEosVUFBTCxHQUFrQixLQUFsQjtBQUNBLGNBQUksQ0FBQ29FLFNBQUwsR0FBaUIsS0FBakI7QUFDQTtBQUNELEtBVEQ7QUFVQSxHQXRrQmEsRSIsImZpbGUiOiIxOTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmltcG9ydCB7XG5cdG1hcFN0YXRlXG59IGZyb20gJ3Z1ZXgnO1xuaW1wb3J0IGVtb2ppTWl4aW4gZnJvbSAnQC9wYWdlcy9jaGF0L2Vtb2ppTWl4aW4uanMnXG5pbXBvcnQgc2VydmljZSBmcm9tICdAL3NlcnZpY2Uvc2VydmljZS5qcydcbmltcG9ydCBjb25maWcgZnJvbSAnQC9jb21tb24vY29uZmlnL2NvbmZpZy5qcyc7XG5sZXQgc29ja2V0VGFzayA9IGdldEFwcCgpLmdsb2JhbERhdGEuc29ja2V0VGFzaztcbmV4cG9ydCBkZWZhdWx0IHtcblx0bWl4aW5zOltlbW9qaU1peGluXSxcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aW50SWQ6IDAsXG5cdFx0XHRtZDVJZDogJycsXG5cdFx0XHRteU1kNUlkOiAnJyxcblx0XHRcdC8v5oiR55qE5pyL5Y+LXG5cdFx0XHRmaXJlbmRMaXN0OiBbe1xuXHRcdFx0XHRcdHVzZXJJZDogMixcblx0XHRcdFx0XHR1c2VyTmFtZTogXCLpmYjlhqDluIxcIixcblx0XHRcdFx0XHR3ZWNoYXROdW1iZXI6ICdjaGVuZ3VhbnhpJyxcblx0XHRcdFx0XHRoZWFkSW1nOiByZXF1aXJlKCdAL3N0YXRpYy9pbWFnZS9ndWFueGkuanBnJyksXG5cdFx0XHRcdFx0c2lnbmF0dXJlOiAn5oiR5pyA5biF77yM5LiN5o6l5Y+X5Y+N6amzJyxcblx0XHRcdFx0XHRwaWN0dXJlQmFubmVyOiByZXF1aXJlKCdAL3N0YXRpYy9pbWFnZS8vY2lyY2xlQmFubmVyLzIuanBnJyksXG5cdFx0XHRcdFx0c2hvdzogZmFsc2UsXG5cdFx0XHRcdFx0aXNUb3A6IHRydWUsXG5cdFx0XHRcdFx0YWRkcmVzczogXCLkuK3lm73pppnmuK9cIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dXNlcklkOiAzLFxuXHRcdFx0XHRcdHVzZXJOYW1lOiBcIui/quS4veeDreW3tFwiLFxuXHRcdFx0XHRcdHdlY2hhdE51bWJlcjogJ3JlYmEnLFxuXHRcdFx0XHRcdGhlYWRJbWc6IHJlcXVpcmUoJ0Avc3RhdGljL2ltYWdlL2dpcmwuanBnJyksXG5cdFx0XHRcdFx0c2lnbmF0dXJlOiAn5oiR5pyA576O77yM5LiN5o6l5Y+X5Y+N6amzJyxcblx0XHRcdFx0XHRwaWN0dXJlQmFubmVyOiByZXF1aXJlKCdAL3N0YXRpYy9pbWFnZS8vY2lyY2xlQmFubmVyLzQuanBnJyksXG5cdFx0XHRcdFx0c2hvdzogZmFsc2UsXG5cdFx0XHRcdFx0YWRkcmVzczogXCLmlrDnlobnu7TlkL7lsJToh6rmsrvljLpcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dXNlcklkOiA0LFxuXHRcdFx0XHRcdHVzZXJOYW1lOiBcIuWwj+i0sei0sVwiLFxuXHRcdFx0XHRcdHdlY2hhdE51bWJlcjogJ3hpYW9qaWFuamlhbicsXG5cdFx0XHRcdFx0aGVhZEltZzogcmVxdWlyZSgnQC9zdGF0aWMvaW1hZ2UvYm95LmpwZycpLFxuXHRcdFx0XHRcdHNpZ25hdHVyZTogJ+aIkeacgOi0se+8jOS4jeaOpeWPl+WPjempsycsXG5cdFx0XHRcdFx0cGljdHVyZUJhbm5lcjogcmVxdWlyZSgnQC9zdGF0aWMvaW1hZ2UvL2NpcmNsZUJhbm5lci8xLmpwZycpLFxuXHRcdFx0XHRcdHNob3c6IGZhbHNlLFxuXHRcdFx0XHRcdGFkZHJlc3M6IFwi576O5Yip5Z2a5ZCI5LyX5Zu9XCJcblx0XHRcdFx0fSxcblx0XHRcdF0sXG5cdFx0XHRmcm9tVXNlckluZm86IHt9LFxuXHRcdFx0Zm9ybURhdGE6IHtcblx0XHRcdFx0Y29udGVudDogJycsXG5cdFx0XHRcdGxpbWl0OiAxNSxcblx0XHRcdFx0aW5kZXg6IDFcblx0XHRcdH0sXG5cdFx0XHRtZXNzYWdlTGlzdDogW10sXG5cdFx0XHRsb2FkaW5nOiB0cnVlLCAvL+agh+ivhuaYr+WQpuato+WcqOiOt+WPluaVsOaNrlxuXHRcdFx0aW1nSGVpZ2h0OiAnMTAwMHB4Jyxcblx0XHRcdG1wSW5wdXRNYXJnaW46IGZhbHNlLCAvL+mAgumFjeW+ruS/oeWwj+eoi+W6jyDlupXpg6jovpPlhaXmoYbpq5jluqbooqvpobbotbfnmoTpl67pophcblx0XHRcdGNoYXRUeXBlOiBcInZvaWNlXCIsIC8vIOWbvuagh+exu+WeiyAndm9pY2Un6K+t6Z+zICdrZXlib2FyZCfplK7nm5hcblx0XHRcdHZvaWNlVGl0bGU6ICfmjInkvY8g6K+06K+dJyxcblx0XHRcdFJlY29yZGVyOiB1bmkuZ2V0UmVjb3JkZXJNYW5hZ2VyKCksXG5cdFx0XHRBdWRpbzogdW5pLmNyZWF0ZUlubmVyQXVkaW9Db250ZXh0KCksXG5cdFx0XHRyZWNvcmRpbmc6IGZhbHNlLCAvL+agh+ivhuaYr+WQpuato+WcqOW9lemfs1xuXHRcdFx0aXNTdG9wVm9pY2U6IGZhbHNlLCAvL+WKoOmUgSDpmLLmraLngrnlh7vov4flv6vlvJXotbfnmoTlvZPlvZXpn7PmraPlnKjlh4blpIco6L+Y5rKh5pyJ5byA5aeL5b2V6Z+zKeeahOaXtuWAmSzljbTosIPnlKjkuoZzdG9w5pa55rOV5L2G5bm25LiN6IO96Zi75q2i5b2V6Z+z55qE6Zeu6aKYXG5cdFx0XHR2b2ljZUludGVydmFsOiBudWxsLFxuXHRcdFx0dm9pY2VUaW1lOiAwLCAvL+aAu+WFseW9lemfs+aXtumVv1xuXHRcdFx0Y2FuU2VuZDogdHJ1ZSwgLy/mmK/lkKblj6/ku6Xlj5HpgIFcblx0XHRcdFBvaW50WTogMCwgLy/lnZDmoIfkvY3nva5cblx0XHRcdHZvaWNlSWNvblRleHQ6IFwi5q2j5Zyo5b2V6Z+zLi4uXCIsXG5cdFx0XHRzaG93RnVuQnRuOiBmYWxzZSwgLy/mmK/lkKblsZXnpLrlip/og73lnovmjInpkq5cblx0XHRcdEF1ZGlvRXhhbTogbnVsbCwgLy/mraPlnKjmkq3mlL7pn7PpopHnmoTlrp7kvotcblx0XHRcdGZ1bkxpc3Q6IFt7XG5cdFx0XHRcdFx0aWNvbjogXCJwaG90by1maWxsXCIsXG5cdFx0XHRcdFx0dGl0bGU6IFwi54Wn54mHXCIsXG5cdFx0XHRcdFx0dXBsb2FkVHlwZTogW1wiYWxidW1cIl1cblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGljb246IFwiY2FtZXJhLWZpbGxcIixcblx0XHRcdFx0XHR0aXRsZTogXCLmi43mkYRcIixcblx0XHRcdFx0XHR1cGxvYWRUeXBlOiBbXCJjYW1lcmFcIl1cblx0XHRcdFx0fSxcblx0XHRcdF0sXG5cdFx0fTtcblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQuLi5tYXBTdGF0ZShbJ3VzZXInLCAnc3RhdGlzdGljcycsICdjb21tb24nXSksXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRoYW5kbGVJbnZpdGVTZXJ2aWVVc2VyKCl7XG5cdFx0XHRsZXQgdGhhdD10aGlzO1xuXHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdGNvbnRlbnQ6J+aYr+WQpuehruiupOi3s+i9rOWIsOWkmuS6uuiBiuWkqe+8nycsXG5cdFx0XHRcdHN1Y2Nlc3Moe2NvbmZpcm19KSB7XG5cdFx0XHRcdFx0aWYoY29uZmlybSl7XG5cdFx0XHRcdFx0XHR1bmkucmVkaXJlY3RUbyh7XG5cdFx0XHRcdFx0XHRcdHVybDpgL3BhZ2VzL21lZXRpbmcvbWVldGluZz91c2VyaWQ9JHt0aGF0LmludElkfSZ1c2VybmFtZT0ke3RoYXQuZnJvbVVzZXJJbmZvLmZyb21Vc2VyTmFtZX1gXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGFkZE1lc3NhZ2UoZGF0YSkge1xuXHRcdFx0dGhpcy5tZXNzYWdlTGlzdC5wdXNoKGRhdGEpO1xuXHRcdH0sXG5cdFx0Z2V0TWVzc2FnZUxpc3QoKSB7XG5cdFx0XHRpZiAoIXRoaXMubWQ1SWQgfHwgIXRoaXMubXlNZDVJZCB8fCAhdGhpcy5mcm9tVXNlckluZm8udXNlcl90eXBlKSB7XG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuZ2V0TWVzc2FnZUxpc3QoKTtcblx0XHRcdFx0fSwgMjAwKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5BUEkubWVzc2FnZS5nZXRNZXNzYWdlTGlzdCh0aGlzLm1kNUlkLCB0aGlzLm15TWQ1SWQpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coJ2dldE1lc3NhZ2VMaXN0JywgcmVzKVxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VMaXN0ID0gcmVzLmRhdGEubGlzdC5tYXAodCA9PiB7XG5cdFx0XHRcdFx0dC5pc0l0TWUgPSB0LnNlbmRVc2VySWQgPT0gdGhpcy5teU1kNUlkO1xuXHRcdFx0XHRcdGlmICh0LnNlbmRVc2VySWQgPT0gdGhpcy5tZDVJZCkge1xuXHRcdFx0XHRcdFx0dC5mcm9tVXNlckhlYWRJbWcgPSB0aGlzLmZyb21Vc2VySW5mby5mcm9tVXNlckhlYWRJbWcgfHxcblx0XHRcdFx0XHRcdFx0Jy9zdGF0aWMvaGVhZC9oZWFkMS5wbmcnXG5cdFx0XHRcdFx0XHR0LnJvbGVOYW1lID0gdGhpcy5mcm9tVXNlckluZm8udXNlcl90eXBlICYmIHRoaXMuZnJvbVVzZXJJbmZvLnVzZXJfdHlwZVxuXHRcdFx0XHRcdFx0XHQuaW5jbHVkZXMoMSkgPyAn5L6b5pa5JyA6ICfpnIDmlrknO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR0LmZyb21Vc2VySGVhZEltZyA9IHRoaXMudXNlci5hdmF0YXIgfHwgJy9zdGF0aWMvaGVhZC9oZWFkMi5wbmcnO1xuXHRcdFx0XHRcdFx0dC5yb2xlTmFtZSA9IHRoaXMudXNlci51c2VyX3R5cGUgJiYgdGhpcy51c2VyLnVzZXJfdHlwZS5pbmNsdWRlcygxKSA/ICfkvpvmlrknIDpcblx0XHRcdFx0XHRcdFx0J+mcgOaWuSc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHQudXNlcklkID0gdC5zZW5kVXNlcklkO1xuXHRcdFx0XHRcdGlmKHQuY29udGVudFR5cGUgPT0gJ3RleHQnKXtcblx0XHRcdFx0XHRcdHQuY29udGVudCA9IHRoaXMucmVwbGFjZUVtb2ppKHQuY29udGVudClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYodC5jb250ZW50VHlwZSA9PSAndm9pY2UnKXtcblx0XHRcdFx0XHRcdHQuY29udGVudCA9IEpTT04ucGFyc2UodC5jb250ZW50KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdDtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRoaXMudXBkYXRlUmVhZE1lc3NhZ2UoKTtcblx0XHRcdH0pXG5cdFx0fSxcblx0XHR1cGRhdGVSZWFkTWVzc2FnZSgpIHtcblx0XHRcdGxldCBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdG1ldGhvZDogJ1VwZGF0ZVJlYWRNZXNzYWdlJyxcblx0XHRcdFx0Zm9ybVVzZXJJZDogdGhpcy5tZDVJZCxcblx0XHRcdFx0dG9rZW46IHNlcnZpY2UuZ2V0VG9rZW5DaGFvZ2UoKVxuXHRcdFx0fSk7XG5cdFx0XHRjb25zb2xlLmxvZygndXBkYXRlUmVhZE1lc3NhZ2UnLCBwYXJhbXMpO1xuXHRcdFx0c29ja2V0VGFzay5zZW5kKHtcblx0XHRcdFx0ZGF0YTogcGFyYW1zLFxuXHRcdFx0XHRzdWNjZXNzKCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdVcGRhdGVSZWFkTWVzc2FnZSBzdWNjZXNzJyk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0Z2V0VXNlckluZm8oaWQpIHtcblx0XHRcdHRoaXMuQVBJLmdldFVzZXJJbmZvKGlkKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdnZXRVc2VySW5mbyBmcm9tVXNlckluZm8nLCByZXMpO1xuXHRcdFx0XHR0aGlzLmZyb21Vc2VySW5mbyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZnJvbVVzZXJJbmZvLCB7XG5cdFx0XHRcdFx0ZnJvbVVzZXJOYW1lOiByZXMuZGF0YS51c2VybmFtZSxcblx0XHRcdFx0XHRmcm9tVXNlckhlYWRJbWc6IHJlcy5kYXRhLmF2YXRhcixcblx0XHRcdFx0XHRmcm9tVXNlcklkOiBpZCxcblx0XHRcdFx0XHQuLi5yZXMuZGF0YVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0Ly/lpITnkIbmu5rliqhcblx0XHRiaW5kU2Nyb2xsKHNlbCwgZHVyYXRpb24gPSAwKSB7XG5cdFx0XHRjb25zdCBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuaW4odGhpcyk7XG5cdFx0XHRxdWVyeVxuXHRcdFx0XHQuc2VsZWN0KHNlbClcblx0XHRcdFx0LmJvdW5kaW5nQ2xpZW50UmVjdChkYXRhID0+IHtcblx0XHRcdFx0XHR1bmkucGFnZVNjcm9sbFRvKHtcblx0XHRcdFx0XHRcdHNjcm9sbFRvcDogZGF0YSAmJiBkYXRhLnRvcCAtIDQwLFxuXHRcdFx0XHRcdFx0ZHVyYXRpb25cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmV4ZWMoKTtcblx0XHR9LFxuXG5cdFx0Ly/liIfmjaLor63pn7PmiJbogIXplK7nm5jmlrnlvI9cblx0XHRzd2l0Y2hDaGF0VHlwZSh0eXBlKSB7XG5cdFx0XHR0aGlzLmNoYXRUeXBlID0gdHlwZTtcblx0XHRcdHRoaXMuc2hvd0Z1bkJ0biA9IGZhbHNlO1xuXHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcblx0XHR9LFxuXHRcdC8v5YiH5o2i5Yqf6IO95oCn5oyJ6ZKuXG5cdFx0c3dpdGNoRnVuKHR5cGUpIHtcblx0XHRcdC8vIHRoaXMuc2hvd0Z1bkJ0biA9ICF0aGlzLnNob3dGdW5CdG47XG5cdFx0XHRcblx0XHRcdGNvbnNvbGUubG9nKCdzd2l0Y2hGdW4nLHR5cGUpO1xuXHRcdFx0aWYodHlwZSA9PSAnZW1qJyl7XG5cdFx0XHRcdHRoaXMuY2hhdFR5cGUgPSAndm9pY2UnO1xuXHRcdFx0XHR1bmkuaGlkZUtleWJvYXJkKCk7XG5cdFx0XHRcdHRoaXMuc2hvd0Vtb2ppID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5Y+R6YCB5raI5oGvXG5cdFx0c2VuZE1zZyhkYXRhKSB7XG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgcGFyYW1zID0ge1xuXHRcdFx0XHR0b1VzZXJJZDogdGhpcy5tZDVJZCxcblx0XHRcdFx0bWVzc2FnZVR5cGU6IFwidGV4dFwiLFxuXHRcdFx0XHRtZXNzYWdlQ29udGVudDogdGhpcy5mb3JtRGF0YS5jb250ZW50LFxuXHRcdFx0XHRtZXRob2Q6ICdTZW5kTWVzc2FnZScsXG5cdFx0XHRcdHRva2VuOiBzZXJ2aWNlLmdldFRva2VuQ2hhb2dlKCksXG5cdFx0XHR9O1xuXHRcdFx0aWYgKGRhdGEpIHtcblx0XHRcdFx0aWYgKGRhdGEuY29udGVudFR5cGUgPT0gJ3ZvaWNlJykge1xuXHRcdFx0XHRcdC8v6K+05piO5piv5Y+R6YCB6K+t6Z+zXG5cdFx0XHRcdFx0cGFyYW1zLm1lc3NhZ2VDb250ZW50ID0gZGF0YS5tZXNzYWdlQ29udGVudDtcblx0XHRcdFx0XHRwYXJhbXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG5cdFx0XHRcdFx0cGFyYW1zLm1lc3NhZ2VUeXBlID0gJ3ZvaWNlJztcblx0XHRcdFx0fSBlbHNlIGlmIChkYXRhLmNvbnRlbnRUeXBlID09ICdpbWFnZScpIHtcblx0XHRcdFx0XHQvL+WPkemAgeWbvueJh1xuXHRcdFx0XHRcdHBhcmFtcy5jb250ZW50ID0gZGF0YS5jb250ZW50O1xuXHRcdFx0XHRcdHBhcmFtcy5tZXNzYWdlVHlwZSA9IGRhdGEuY29udGVudFR5cGU7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSBpZiAoIXRoaXMuZm9ybURhdGEuY29udGVudC50cmltKCkpIHtcblx0XHRcdFx0Ly/pqozor4HovpPlhaXmoYbkuablkKbkuLrnqbrlrZfnrKbkvKBcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkocGFyYW1zKSk7XG5cdFx0XHRzb2NrZXRUYXNrLnNlbmQoe1xuXHRcdFx0XHRkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxuXHRcdFx0XHRzdWNjZXNzKHJlcykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzb2NrZXRUYXNrLnNlbmQgc3VjY2VzcycsIHJlcyk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWwoZSkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzb2NrZXRUYXNrLnNlbmQgZmFpbCcsIGUpO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRjb21wbGV0ZSgpIHt9XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcblx0XHRcdFx0dGhpcy5mb3JtRGF0YS5jb250ZW50ID0gJyc7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXHRcdFx0XHR1bmkucGFnZVNjcm9sbFRvKHtcblx0XHRcdFx0XHRzY3JvbGxUb3A6IDk5OTk5LFxuXHRcdFx0XHRcdGR1cmF0aW9uOiAxMDBcblx0XHRcdFx0fSk7XG5cblxuXHRcdFx0XHRpZiAodGhpcy5zaG93RnVuQnRuKSB7XG5cdFx0XHRcdFx0dGhpcy5zaG93RnVuQnRuID0gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcblxuXG5cblxuXG5cblx0XHRcdFx0Ly9oNea1j+iniOWZqOW5tuayoeacieW+iOWlveeahOWKnuazleaOp+WItumUruebmOS4gOebtOWkhOS6juWUpOi1t+eKtuaAgSDogIzkuJTkvJrmnInmoLflvI/mgKfnmoTpl67pophcblxuXG5cblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0Ly/nlKjmiLfop6bmkbjlsY/luZXnmoTml7blgJnpmpDol4/plK7nm5hcblx0XHR0b3VjaHN0YXJ0KCkge1xuXHRcdFx0dW5pLmhpZGVLZXlib2FyZCgpO1xuXHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcblx0XHR9LFxuXHRcdC8vIHVzZXJpZCDnlKjmiLdpZFxuXHRcdGxpbmtUb0J1c2luZXNzQ2FyZCh1c2VySWQpIHtcblx0XHRcdHRoaXMuJHUucm91dGUoe1xuXHRcdFx0XHR1cmw6ICdwYWdlcy9idXNpbmVzc0NhcmQvYnVzaW5lc3NDYXJkJyxcblx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0dXNlcklkXG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0Ly/lh4blpIflvIDlp4vlvZXpn7Ncblx0XHRzdGFydFZvaWNlKGUpIHtcblx0XHRcdGlmICghdGhpcy5BdWRpby5wYXVzZWQpIHtcblx0XHRcdFx0Ly/lpoLmnpzpn7PpopHmraPlnKjmkq3mlL4g5YWI5pqC5YGc44CCXG5cdFx0XHRcdHRoaXMuc3RvcEF1ZGlvKHRoaXMuQXVkaW9FeGFtKVxuXHRcdFx0fVxuXHRcdFx0dGhpcy5yZWNvcmRpbmcgPSB0cnVlO1xuXHRcdFx0dGhpcy5pc1N0b3BWb2ljZSA9IGZhbHNlO1xuXHRcdFx0dGhpcy5jYW5TZW5kID0gdHJ1ZTtcblx0XHRcdHRoaXMudm9pY2VJY29uVGV4dCA9IFwi5q2j5Zyo5b2V6Z+zLi4uXCJcblx0XHRcdHRoaXMuUG9pbnRZID0gZS50b3VjaGVzWzBdLmNsaWVudFk7XG5cdFx0XHR0aGlzLlJlY29yZGVyLnN0YXJ0KHtcblx0XHRcdFx0Zm9ybWF0OiAnbXAzJ1xuXHRcdFx0fSk7XG5cdFx0fSxcblx0XHQvL+W9lemfs+W3sue7j+W8gOWni1xuXHRcdGJlZ2luVm9pY2UoKSB7XG5cdFx0XHRpZiAodGhpcy5pc1N0b3BWb2ljZSkge1xuXHRcdFx0XHR0aGlzLlJlY29yZGVyLnN0b3AoKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy52b2ljZVRpdGxlID0gJ+advuW8gCDnu5PmnZ8nXG5cdFx0XHR0aGlzLnZvaWNlSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMudm9pY2VUaW1lKys7XG5cdFx0XHR9LCAxMDAwKVxuXHRcdH0sXG5cdFx0Ly9tb3ZlIOato+WcqOW9lemfs+S4rVxuXHRcdG1vdmVWb2ljZShlKSB7XG5cdFx0XHRjb25zdCBQb2ludFkgPSBlLnRvdWNoZXNbMF0uY2xpZW50WVxuXHRcdFx0Y29uc3Qgc2xpZGVZID0gdGhpcy5Qb2ludFkgLSBQb2ludFk7XG5cdFx0XHRpZiAoc2xpZGVZID4gdW5pLnVweDJweCgxMjApKSB7XG5cdFx0XHRcdHRoaXMuY2FuU2VuZCA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLnZvaWNlSWNvblRleHQgPSAn5p2+5byA5omL5oyHIOWPlua2iOWPkemAgSAnXG5cdFx0XHR9IGVsc2UgaWYgKHNsaWRlWSA+IHVuaS51cHgycHgoNjApKSB7XG5cdFx0XHRcdHRoaXMuY2FuU2VuZCA9IHRydWU7XG5cdFx0XHRcdHRoaXMudm9pY2VJY29uVGV4dCA9ICfmiYvmjIfkuIrmu5Eg5Y+W5raI5Y+R6YCBICdcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMudm9pY2VJY29uVGV4dCA9ICfmraPlnKjlvZXpn7MuLi4gJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/nu5PmnZ/lvZXpn7Ncblx0XHRlbmRWb2ljZSgpIHtcblx0XHRcdHRoaXMuaXNTdG9wVm9pY2UgPSB0cnVlOyAvL+WKoOmUgSDnoa7kv53lt7Lnu4/nu5PmnZ/lvZXpn7PlubbkuI3kvJrlvZXliLZcblx0XHRcdHRoaXMuUmVjb3JkZXIuc3RvcCgpO1xuXHRcdFx0dGhpcy52b2ljZVRpdGxlID0gJ+aMieS9jyDor7Tor50nXG5cdFx0fSxcblx0XHQvL+W9lemfs+iiq+aJk+aWrVxuXHRcdGNhbmNlbFZvaWNlKGUpIHtcblx0XHRcdHRoaXMudm9pY2VUaW1lID0gMDtcblx0XHRcdHRoaXMudm9pY2VUaXRsZSA9ICfmjInkvY8g6K+06K+dJztcblx0XHRcdHRoaXMuY2FuU2VuZCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5SZWNvcmRlci5zdG9wKCk7XG5cdFx0fSxcblx0XHQvL+WkhOeQhuW9lemfs+aWh+S7tlxuXHRcdGhhbmRsZVJlY29yZGVyKHtcblx0XHRcdHRlbXBGaWxlUGF0aCxcblx0XHRcdGR1cmF0aW9uXG5cdFx0fSkge1xuXHRcdFx0bGV0IHRoYXQ9dGhpcztcblx0XHRcdGxldCBjb250ZW50RHVyYXRpb247XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblx0XHRcdGNvbnRlbnREdXJhdGlvbiA9IHRoaXMudm9pY2VUaW1lICsgMTtcblx0XHRcdHRoaXMudm9pY2VUaW1lID0gMDtcblx0XHRcdGlmIChjb250ZW50RHVyYXRpb24gPD0gMCkge1xuXHRcdFx0XHR0aGlzLnZvaWNlSWNvblRleHQgPSBcIuivtOivneaXtumXtOi/h+efrVwiO1xuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnJlY29yZGluZyA9IGZhbHNlO1xuXHRcdFx0XHR9LCAyMDApXG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH07XG5cblxuXHRcdFx0dGhpcy5yZWNvcmRpbmcgPSBmYWxzZTtcblx0XHRcdFxuXHRcdFx0Y29uc29sZS5sb2coJ3RlbXBGaWxlUGF0aCcsdGVtcEZpbGVQYXRoKTtcblx0XHRcdHVuaS51cGxvYWRGaWxlKHtcblx0XHRcdFx0dXJsOmNvbmZpZy5hcHB1cmxfY2hhb2dlKycvZmlsZS9VcGxvYWRlci9jaGF0X3ZvaWNlJyxcblx0XHRcdFx0ZmlsZVBhdGg6dGVtcEZpbGVQYXRoLFxuXHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdHN1Y2Nlc3MocmVzKXtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygndXBsb2FkZmlsZSAnLHJlcyk7XG5cdFx0XHRcdFx0bGV0IGRhdGEgPSBKU09OLnBhcnNlKHJlcy5kYXRhKTtcblx0XHRcdFx0XHRpZihkYXRhLmRhdGEgJiYgZGF0YS5kYXRhLnVybCl7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnRUeXBlOiAndm9pY2UnLFxuXHRcdFx0XHRcdFx0XHRsZW5ndGg6Y29udGVudER1cmF0aW9uIHx8IDEsXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VDb250ZW50OmRhdGEuZGF0YS51cmwsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0dGhhdC5jYW5TZW5kICYmIHRoYXQuc2VuZE1zZyhwYXJhbXMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRcblx0XHR9LFxuXHRcdC8v5o6n5Yi25pKt5pS+6L+Y5piv5pqC5YGc6Z+z6aKR5paH5Lu2XG5cdFx0aGFuZGxlQXVkaW8oaXRlbSkge1xuXHRcdFx0Y29uc29sZS5sb2coJ2hhbmRsZUF1ZGlvJyxpdGVtKTtcblx0XHRcdHRoaXMuQXVkaW9FeGFtID0gaXRlbTtcblx0XHRcdHRoaXMuQXVkaW8ucGF1c2VkID8gdGhpcy5wbGF5QXVkaW8oaXRlbSkgOiB0aGlzLnN0b3BBdWRpbyhpdGVtKTtcblx0XHR9LFxuXHRcdC8v5pKt5pS+6Z+z6aKRXG5cdFx0cGxheUF1ZGlvKGl0ZW0pIHtcblx0XHRcdHRoaXMuQXVkaW8uc3JjID0gY29uZmlnLmJhc2V1cmxfY2hhb2dlK2l0ZW0uY29udGVudC5wYXRoO1xuXHRcdFx0dGhpcy5BdWRpby5oYXNCZWVuU2VudElkID0gaXRlbS5oYXNCZWVuU2VudElkO1xuXHRcdFx0dGhpcy5BdWRpby5wbGF5KCk7XG5cdFx0XHRpdGVtLmFubWl0aW9uUGxheSA9IHRydWU7XG5cdFx0fSxcblx0XHQvL+WBnOatoumfs+mikVxuXHRcdHN0b3BBdWRpbyhpdGVtKSB7XG5cdFx0XHRpdGVtLmFubWl0aW9uUGxheSA9IGZhbHNlO1xuXHRcdFx0dGhpcy5BdWRpby5zcmMgPSAnJztcblx0XHRcdHRoaXMuQXVkaW8uc3RvcCgpO1xuXHRcdH0sXG5cdFx0Ly/lhbPpl63liqjnlLtcblx0XHRjbG9zZUFubWl0aW9uKCkge1xuXHRcdFx0Y29uc3QgaGFzQmVlblNlbnRJZCA9IHRoaXMuQXVkaW8uaGFzQmVlblNlbnRJZDtcblx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLm1lc3NhZ2VMaXN0LmZpbmQoaXQgPT4gaXQuaGFzQmVlblNlbnRJZCA9PSBoYXNCZWVuU2VudElkKTtcblx0XHRcdGl0ZW0uYW5taXRpb25QbGF5ID0gZmFsc2U7XG5cdFx0fSxcblx0XHQvL+eCueWHu+Wuq+agvOaXtuinpuWPkVxuXHRcdGNsaWNrR3JpZChpbmRleCkge1xuXHRcdFx0aWYgKGluZGV4ID09IDApIHtcblx0XHRcdFx0dGhpcy5jaG9vc2VJbWFnZShbJ2FsYnVtJ10pXG5cdFx0XHR9IGVsc2UgaWYgKGluZGV4ID09IDEpIHtcblx0XHRcdFx0dGhpcy5jaG9vc2VJbWFnZShbJ2NhbWVyYSddKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/lj5HpgIHlm77niYdcblx0XHRjaG9vc2VJbWFnZShzb3VyY2VUeXBlKSB7XG5cdFx0XHR1bmkuY2hvb3NlSW1hZ2Uoe1xuXHRcdFx0XHRzb3VyY2VUeXBlLFxuXHRcdFx0XHRzaXplVHlwZTogWydjb21wcmVzc2VkJ10sXG5cdFx0XHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93RnVuQnRuID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhpcy5zaG93RW1vamkgPSBmYWxzZTtcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlcy50ZW1wRmlsZVBhdGhzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnRUeXBlOiAnaW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiByZXMudGVtcEZpbGVQYXRoc1tpXSxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR0aGlzLnNlbmRNc2cocGFyYW1zKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5p+l55yL5aSn5Zu+XG5cdFx0dmlld0ltZyhpbWdMaXN0KSB7XG5cdFx0XHR1bmkucHJldmlld0ltYWdlKHtcblx0XHRcdFx0dXJsczogaW1nTGlzdCxcblxuXHRcdFx0XHRpbmRpY2F0b3I6ICdudW1iZXInXG5cblx0XHRcdH0pO1xuXHRcdH0sXG5cdH0sXG5cdG9uTmF2aWdhdGlvbkJhckJ1dHRvblRhcCh7XG5cdFx0aW5kZXhcblx0fSkge1xuXHRcdGlmIChpbmRleCA9PSAwKSB7XG5cdFx0XHQvL+eUqOaIt+ivpuaDhSDorr7nva5cblx0XHR9IGVsc2UgaWYgKGluZGV4ID09IDEpIHtcblx0XHRcdC8v6L+U5Zue5oyJ6ZKuXG5cdFx0XHR0aGlzLiR1LnJvdXRlKHtcblx0XHRcdFx0dHlwZTogJ3N3aXRjaFRhYicsXG5cdFx0XHRcdHVybDogJ3BhZ2VzL2hvbWUvaG9tZSdcblx0XHRcdH0pO1xuXHRcdH1cblx0fSxcblx0Ly/ov5Tlm57mjInpkq7kuovku7Zcblx0b25CYWNrUHJlc3MoZSkge1xuXHRcdC8v5Lul5LiL5YaF5a655a+5aDXkuI3nlJ/mlYhcblx0XHQvLy0t5omA5Lul5aaC5p6c55So5rWP6KeI5Zmo6Ieq5bim55qE6L+U5Zue5oyJ6ZKu6L+b6KGM6L+U5Zue55qE5pe25YCZ6aG16Z2i5LiN5Lya6YeN5a6a5ZCRIOato+WcqOWvu+aJvuWQiOmAgueahOino+WGs+aWueahiFxuXHRcdHRoaXMuJHUucm91dGUoe1xuXHRcdFx0dHlwZTogJ3N3aXRjaFRhYicsXG5cdFx0XHR1cmw6ICdwYWdlcy9ob21lL2hvbWUnXG5cdFx0fSk7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cdG9uTG9hZChpbmZvKSB7XG5cdFx0bGV0IHtcblx0XHRcdGlkLFxuXHRcdFx0dXNlcmlkLFxuXHRcdFx0dXNlcm5hbWVcblx0XHR9ID0gaW5mbztcblxuXHRcdHRoaXMuQVBJLm1lc3NhZ2UuZ2V0VXNlckluZm8odGhpcy51c2VyLmlkKS50aGVuKHJlcyA9PiB7XG5cdFx0XHR0aGlzLm15TWQ1SWQgPSByZXMuZGF0YS51c2VyLnVzZXJJZDtcblx0XHR9KVxuXHRcdGlmICghaWQpIHtcblx0XHRcdHRoaXMuaW50SWQgPSB1c2VyaWQ7XG5cdFx0XHR0aGlzLmdldFVzZXJJbmZvKHRoaXMuaW50SWQpO1xuXHRcdFx0dGhpcy5BUEkubWVzc2FnZS5nZXRVc2VySW5mbyh1c2VyaWQpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coJ3RoaXMuQVBJLmdldFVzZXJJbmZvJywgcmVzKVxuXHRcdFx0XHR0aGlzLm1kNUlkID0gcmVzLmRhdGEudXNlci51c2VySWQ7XG5cdFx0XHR9KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1kNUlkID0gaWQ7XG5cdFx0XHR0aGlzLkFQSS5tZXNzYWdlLmdldFVzZXJTb3VyY2VJZChpZCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR0aGlzLmludElkID0gcmVzLmRhdGE7XG5cdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8odGhpcy5pbnRJZCk7XG5cdFx0XHR9KVxuXHRcdH1cblx0XHR0aGlzLmdldE1lc3NhZ2VMaXN0KCk7XG5cdFx0Ly8geyBtZXNzYWdlSWQsZnJvbVVzZXJOYW1lLGZyb21Vc2VySGVhZEltZyB9ID0gaW5mb1xuXHRcdHRoaXMuZnJvbVVzZXJJbmZvID0ge1xuXHRcdFx0ZnJvbVVzZXJOYW1lOiB1c2VybmFtZSxcblx0XHRcdGZyb21Vc2VySWQ6IGlkLFxuXHRcdH07XG5cblx0XHQvL+W9lemfs+W8gOWni+S6i+S7tlxuXHRcdHRoaXMuUmVjb3JkZXIub25TdGFydChlID0+IHtcblx0XHRcdHRoaXMuYmVnaW5Wb2ljZSgpO1xuXHRcdH0pO1xuXHRcdC8v5b2V6Z+z57uT5p2f5LqL5Lu2XG5cdFx0dGhpcy5SZWNvcmRlci5vblN0b3AocmVzID0+IHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy52b2ljZUludGVydmFsKTtcblx0XHRcdHRoaXMuaGFuZGxlUmVjb3JkZXIocmVzKTtcblx0XHR9KTtcblxuXHRcdC8v6Z+z6aKR5YGc5q2i5LqL5Lu2XG5cdFx0dGhpcy5BdWRpby5vblN0b3AoZSA9PiB7XG5cdFx0XHR0aGlzLmNsb3NlQW5taXRpb24oKTtcblx0XHR9KTtcblxuXHRcdC8v6Z+z6aKR5pKt5pS+57uT5p2f5LqL5Lu2XG5cdFx0dGhpcy5BdWRpby5vbkVuZGVkKGUgPT4ge1xuXHRcdFx0dGhpcy5jbG9zZUFubWl0aW9uKCk7XG5cdFx0fSk7XG5cblx0XHQvL3NvY2tldFxuXHRcdHVuaS4kb24oJ3NvY2tldE1lc3NhZ2UnLCAoZGF0YSkgPT4ge1xuXHRcdFx0Y29uc29sZS5sb2coJ3NvY2tldE1lc3NhZ2UnLCBkYXRhKTtcblx0XHRcdHRoaXMudXBkYXRlUmVhZE1lc3NhZ2UoKTtcblx0XHRcdGlmIChkYXRhLm1lc3NhZ2VUeXBlID09ICd0ZXh0JyB8fCBkYXRhLm1lc3NhZ2VUeXBlID09ICd2b2ljZScpIHtcblx0XHRcdFx0bGV0IG1lc3NhZ2UgPSB7XG5cdFx0XHRcdFx0aXNJdE1lOiBkYXRhLlVzZXJJZCA9PSB0aGlzLm15TWQ1SWQsXG5cdFx0XHRcdFx0Y29udGVudDogZGF0YS50b01lc3NhZ2UgfHwgZGF0YS5mb3JtTWVzc2FnZSxcblx0XHRcdFx0XHRjb250ZW50VHlwZTogZGF0YS5tZXNzYWdlVHlwZSxcblx0XHRcdFx0XHR1c2VySWQ6IGRhdGEuVXNlcklkXG5cdFx0XHRcdH07XG5cdFx0XHRcdGlmIChkYXRhLlVzZXJJZCA9PSB0aGlzLm1kNUlkKSB7XG5cdFx0XHRcdFx0Ly/liKvkurpcblx0XHRcdFx0XHRtZXNzYWdlLmZyb21Vc2VySGVhZEltZyA9IHRoaXMuZnJvbVVzZXJJbmZvLmZyb21Vc2VySGVhZEltZyB8fFxuXHRcdFx0XHRcdFx0Jy9zdGF0aWMvaGVhZC9oZWFkMS5wbmcnXG5cdFx0XHRcdFx0bWVzc2FnZS5yb2xlTmFtZSA9IHRoaXMuZnJvbVVzZXJJbmZvLnVzZXJfdHlwZSAmJiB0aGlzLmZyb21Vc2VySW5mby51c2VyX3R5cGUuaW5jbHVkZXMoMSkgP1xuXHRcdFx0XHRcdFx0J+S+m+aWuScgOiAn6ZyA5pa5Jztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvL+aIkVxuXHRcdFx0XHRcdG1lc3NhZ2UuZnJvbVVzZXJIZWFkSW1nID0gdGhpcy51c2VyLmF2YXRhciB8fCAnL3N0YXRpYy9oZWFkL2hlYWQyLnBuZyc7XG5cdFx0XHRcdFx0bWVzc2FnZS5yb2xlTmFtZSA9IHRoaXMudXNlci51c2VyX3R5cGUgJiYgdGhpcy51c2VyLnVzZXJfdHlwZS5pbmNsdWRlcygxKSA/ICfkvpvmlrknIDogJ+mcgOaWuSc7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYobWVzc2FnZS5jb250ZW50VHlwZSA9PSAndGV4dCcpe1xuXHRcdFx0XHRcdG1lc3NhZ2UuY29udGVudCA9IHRoaXMucmVwbGFjZUVtb2ppKG1lc3NhZ2UuY29udGVudClcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmFkZE1lc3NhZ2UobWVzc2FnZSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZGF0YS5tZXNzYWdlVHlwZSA9PSAnbWVzc2FnZVJlYWQnKSB7XG5cdFx0XHRcdGlmIChkYXRhLnVzZXJJZCA9PSB0aGlzLm1kNUlkKSB7XG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlTGlzdCA9IHRoaXMubWVzc2FnZUxpc3QubWFwKHQgPT4ge1xuXHRcdFx0XHRcdFx0dC5zdGF0ZSA9IDE7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR0aGlzLiRmb3JjZVVwZGF0ZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSlcblxuXHR9LFxuXHRvblJlYWR5KCkge1xuXHRcdC8v6Ieq5a6a5LmJ6L+U5Zue5oyJ6ZKuIOWboOS4uuWOn+eUn+eahOi/lOWbnuaMiemSruS4jeWPr+mYu+atoum7mOiupOS6i+S7tlxuXG5cblxuXG5cblx0XHR1bmkuc2V0TmF2aWdhdGlvbkJhclRpdGxlKHtcblx0XHRcdHRpdGxlOiBg5ZKMJHt0aGlzLmZyb21Vc2VySW5mby5mcm9tVXNlck5hbWV96IGK5aSp5LitYFxuXHRcdH0pO1xuXHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcblx0XHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XG5cdFx0XHRcdHRoaXMuaW1nSGVpZ2h0ID0gcmVzLndpbmRvd0hlaWdodCArICdweCc7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHR1bmkub25LZXlib2FyZEhlaWdodENoYW5nZShyZXMgPT4ge1xuXHRcdFx0aWYgKHJlcy5oZWlnaHQgPT0gMCkge1xuXG5cblxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zaG93RnVuQnRuID0gZmFsc2U7XG5cdFx0XHRcdHRoaXMuc2hvd0Vtb2ppID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///199\n"); /***/ }), /* 200 */ @@ -13438,7 +13438,7 @@ module.exports = Vue; /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.0',\n versionCode: '180',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIzMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMCcsXHJcblx0dmVyc2lvbkNvZGU6ICcxODAnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///325\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.1',\n versionCode: '181',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIzMjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMScsXHJcblx0dmVyc2lvbkNvZGU6ICcxODEnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///325\n"); /***/ }), /* 326 */ @@ -111181,7 +111181,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_P /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 324));\n\nvar _aegisWeexSdk = _interopRequireDefault(__webpack_require__(/*! aegis-weex-sdk */ 1294));\n\nvar _config = _interopRequireDefault(__webpack_require__(/*! @/common/config/config.js */ 325));\nvar _service = _interopRequireDefault(__webpack_require__(/*! @/service/service.js */ 323));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/apis/index.js */ 446));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { onLaunch: function onLaunch() {// 检测客户端更新\n this.$store.dispatch('update/update'); // 仅首次打开一次性加载数据\n this.$store.dispatch('common/init'); // 同步购物车 本地 & 网络\n this.$store.dispatch('cart/get'); // 同步 动态数据\n this.$store.dispatch('statistics/get');var projectName = 'uniappApiExampleExt';uni.$aegis = new _aegisWeexSdk.default({ id: 'iHWefAYqWuCkDjhucc', spa: true, reportApiSpeed: true, reportAssetSpeed: true, pagePerformance: true, hostUrl: 'https://tamaegis.com' });\n\n uni.$uploadToTAM = function (eventString, sdkAppId) {\n uni.$aegis.reportEvent({\n name: eventString.split('#')[0] || '',\n ext1: eventString,\n ext2: projectName,\n ext3: sdkAppId });\n\n };\n uni.$createTrtcCloudUpload = function (sdkAppId) {return uni.$uploadToTAM('createTrtcCloud', sdkAppId);};\n uni.$enterRoomSuccessUpload = function (sdkAppId) {return uni.$uploadToTAM('enterRoom-success', sdkAppId);};\n uni.$enterRoomFailedUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"enterRoom-failed#error: \".concat(errorMsg),\n sdkAppId);};\n uni.$onErrorUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"onError-failed#error: \".concat(errorMsg), sdkAppId);};\n uni.$startLocalPreviewUpload = function (sdkAppId) {return uni.$uploadToTAM('startLocalPreview', sdkAppId);};\n uni.$startRemoteViewSuccessUpload = function (sdkAppId) {return uni.$uploadToTAM('startRemoteView-success', sdkAppId);};\n uni.$startRemoteViewFailedUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"startRemoteView-failed#error: \".concat(\n errorMsg), sdkAppId);};\n this.initSocket();\n },\n onShow: function onShow() {\n // 启动或重启即时通讯\n // this.$store.dispatch('chat/start');\n },\n onHide: function onHide() {\n // 断开即时通讯\n // this.$store.dispatch('chat/close');\n },\n methods: {\n handleOnMessage: function handleOnMessage(msg) {\n var user = this.$store.state.user;\n if (msg.method == 'initMessage') {\n // this.setTabBarBadge(msg.unreadMessageCount);\n }\n if (msg.messageType == 'messageRead' || msg.messageType == 'text' || msg.messageType == 'voice') {\n getApp().globalData.updateUnReadMessageCount();\n }\n\n if (msg.messageType == 'joinRoom' && msg.intToUserId == user.id && user.user_type.length) {\n __f__(\"log\", 'joinRoom', msg, \" at App.vue:82\");\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入房间',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref)\n\n {var confirm = _ref.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/meeting?roomId=\".concat(msg.roomNo, \"&joinType=seller&customerid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n if (msg.messageType == 'joinMultiplayerVideo' && msg.intToUserId == user.id) {\n __f__(\"log\", 'joinMultiplayerVideo', msg, \" at App.vue:100\");\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入房间',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref2)\n\n {var confirm = _ref2.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/meeting?roomId=\".concat(msg.roomNo, \"&joinType=service&customerid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n if (msg.messageType == 'joinVideo' && msg.intToUserId == user.id) {\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref3)\n\n {var confirm = _ref3.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/serviceMeeting?roomId=\".concat(msg.roomNo, \"&userid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n },\n initSocket: function initSocket() {var _this = this;\n var socketTask = uni.connectSocket({\n url: _config.default.socketurl,\n complete: function complete() {} });\n\n uni.onSocketOpen(function (res) {\n __f__(\"log\", 'WebSocket连接已打开!', res, \" at App.vue:141\");\n });\n uni.onSocketError(function (res) {\n __f__(\"log\", 'WebSocket连接打开失败,请检查!', res, \" at App.vue:144\");\n _this.initSocket();\n });\n this.globalData.socketTask = socketTask;\n socketTask.onOpen(function (data) {\n var json = {\n method: 'OnConnection',\n token: _service.default.getTokenChaoge(),\n mobileDevice: true };\n\n __f__(\"log\", 'send json', json, \" at App.vue:154\");\n socketTask.send({\n data: JSON.stringify(json) });\n\n });\n socketTask.onError(function (error) {\n __f__(\"log\", 'socketTask.onError', error, \" at App.vue:160\");\n _this.initSocket();\n });\n socketTask.onMessage(function (msg) {\n __f__(\"log\", 'socketTask.onMessage', msg, \" at App.vue:164\");\n msg = JSON.parse(msg.data);\n _this.handleOnMessage(msg);\n uni.$emit('socketMessage', msg);\n });\n uni.$on('closeSocket', function () {\n _this.globalData.socketTask.close();\n });\n uni.$on('openSocket', function () {\n _this.globalData.socketTask.onMessage(function (msg) {\n __f__(\"log\", 'openSocket.onMessage', msg, \" at App.vue:174\");\n });\n });\n this.globalData.updateUnReadMessageCount();\n } },\n\n globalData: {\n typeNum: 1,\n socketTask: {},\n updateUnReadMessageCount: function updateUnReadMessageCount() {\n _index.default.message.getUserUnReadMessageCount().then(function (res) {\n __f__(\"log\", 'getUserUnReadMessageCount', res, \" at App.vue:185\");\n var badgeNum = res.data;\n if (badgeNum > 0) {\n uni.setTabBarBadge({\n index: 1,\n text: badgeNum > 99 ? '99+' : badgeNum.toString() });\n\n } else {\n uni.removeTabBarBadge({\n index: 1 });\n\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxxRjs7Ozs7Ozs7Ozs7Ozs7O2VBQ0EsRUFDQSxRQURBLHNCQUNBLENBQ0E7QUFDQSwwQ0FGQSxDQUdBO0FBQ0Esd0NBSkEsQ0FLQTtBQUNBLHFDQU5BLENBT0E7QUFDQSwyQ0FFQSx3Q0FDQSx5Q0FDQSx3QkFEQSxFQUVBLFNBRkEsRUFHQSxvQkFIQSxFQUlBLHNCQUpBLEVBS0EscUJBTEEsRUFNQSwrQkFOQTs7QUFRQTtBQUNBO0FBQ0EsNkNBREE7QUFFQSx5QkFGQTtBQUdBLHlCQUhBO0FBSUEsc0JBSkE7O0FBTUEsS0FQQTtBQVFBO0FBQ0E7QUFDQTtBQUNBLGNBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBREEsR0FDQSxRQURBO0FBRUE7QUFDQSxHQXRDQTtBQXVDQSxRQXZDQSxvQkF1Q0E7QUFDQTtBQUNBO0FBQ0EsR0ExQ0E7QUEyQ0EsUUEzQ0Esb0JBMkNBO0FBQ0E7QUFDQTtBQUNBLEdBOUNBO0FBK0NBO0FBQ0EsbUJBREEsMkJBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0tBREE7QUFFQSw2QkFGQTtBQUdBLDBCQUhBO0FBSUEsaUNBSkE7QUFLQSxpQkFMQTs7QUFPQSxlQURBLE9BQ0EsUUFEQSxPQUNBO0FBQ0E7QUFDQTtBQUNBLDhIQURBOztBQUdBO0FBQ0EsV0FiQTs7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdLQURBO0FBRUEsNkJBRkE7QUFHQSwwQkFIQTtBQUlBLGlDQUpBO0FBS0EsaUJBTEE7O0FBT0EsZUFEQSxPQUNBLFNBREEsT0FDQTtBQUNBO0FBQ0E7QUFDQSwrSEFEQTs7QUFHQTtBQUNBLFdBYkE7O0FBZUE7QUFDQTtBQUNBO0FBQ0EsZ0tBREE7QUFFQSwyQkFGQTtBQUdBLDBCQUhBO0FBSUEsaUNBSkE7QUFLQSxpQkFMQTs7QUFPQSxlQURBLE9BQ0EsU0FEQSxPQUNBO0FBQ0E7QUFDQTtBQUNBLGlIQURBOztBQUdBO0FBQ0EsV0FiQTs7QUFlQTtBQUNBLEtBL0RBO0FBZ0VBLGNBaEVBLHdCQWdFQTtBQUNBO0FBQ0Esc0NBREE7QUFFQSxnQkFGQSxzQkFFQSxFQUZBOztBQUlBO0FBQ0E7QUFDQSxPQUZBO0FBR0E7QUFDQTtBQUNBO0FBQ0EsT0FIQTtBQUlBO0FBQ0E7QUFDQTtBQUNBLGdDQURBO0FBRUEsa0RBRkE7QUFHQSw0QkFIQTs7QUFLQTtBQUNBO0FBQ0Esb0NBREE7O0FBR0EsT0FWQTtBQVdBO0FBQ0E7QUFDQTtBQUNBLE9BSEE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQTtBQU1BO0FBQ0E7QUFDQSxPQUZBO0FBR0E7QUFDQTtBQUNBO0FBQ0EsU0FGQTtBQUdBLE9BSkE7QUFLQTtBQUNBLEtBM0dBLEVBL0NBOztBQTRKQTtBQUNBLGNBREE7QUFFQSxrQkFGQTtBQUdBLDRCQUhBLHNDQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQURBO0FBRUEsNkRBRkE7O0FBSUEsU0FMQSxNQUtBO0FBQ0E7QUFDQSxvQkFEQTs7QUFHQTtBQUNBLE9BYkE7QUFjQSxLQWxCQSxFQTVKQSxFIiwiZmlsZSI6IjEyOTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tICogV2FubFNob3AgLSBBcHDlhajlsYDmqKHmnb/phY3nva5cclxuICogQGF1dGhvciDmt7HlnLPliY3mtbfkuIfogZTnp5HmioDmnInpmZDlhazlj7ggPHdhbmxzaG9wQGkzNmsuY29tPiBcclxuICogQGxpbmsgaHR0cDovL3d3dy53YW5sc2hvcC5jb21cclxuICogXHJcbiAqIEDmnKznqIvluo/lj5fms5Xlvovkv53miqTvvIzokZfkvZzmnYPCqei9r+iRl+eZu+iusOWPtzIwMjBTUjAyNTU3MTEgPCDmnKrnu4/niYjmnYPmiYDmnInmnYPkurrkuabpnaLorrjlj6/vvIzkuI3og73nlKjkuo7llYbkuJrnlKjpgJTvvIE+XHJcbiAqIFxyXG4gKiBA6I635Y+W6K645Y+vXHJcbiAqIOWQjuWPsOS4i+i9ve+8mmh0dHBzOi8vd3d3LmZhc3RhZG1pbi5uZXQvc3RvcmUvd2FubHNob3AuaHRtbFxyXG4gKiDluK7liqnmlofmoaPvvJpodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wXHJcbiAqIFxyXG4gKiBAc3RyZXNzIOacrOeoi+W6j+S7heeUqOS9nEZhc3RBZG1pbuS7mOi0ueaPkuS7tu+8iFdhbmxTaG9wIEIyQjJD5ZWG5Z+O77yJQVBJ5L2/55So77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCUXHJcbiAqIEBjcmVhdGlvbnRpbWUgIDIwMTnlubQ55pyIMTDml6UxMjo1MjoyMFxyXG4gKiBAbGFzdHRpbWUgMjAyMOW5tDbmnIg55pelMDk6MjY6MDdcclxuICogQHZlcnNpb24gMS4wLjBcclxuIC0tPlxyXG48c2NyaXB0PiBcclxuXHRpbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7XHJcblx0LyojaWZkZWYgQVBQLVBMVVMqL1xyXG5cdGltcG9ydCBBZWdpcyBmcm9tICdhZWdpcy13ZWV4LXNkayc7XHJcblx0LyojZW5kaWYqL1xyXG5cdGltcG9ydCBjb25maWcgZnJvbSAnQC9jb21tb24vY29uZmlnL2NvbmZpZy5qcydcclxuXHRpbXBvcnQgc2VydmljZSBmcm9tICdAL3NlcnZpY2Uvc2VydmljZS5qcydcclxuXHRpbXBvcnQgQVBJIGZyb20gJ0AvYXBpcy9pbmRleC5qcydcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRvbkxhdW5jaCgpIHtcclxuXHRcdFx0Ly8g5qOA5rWL5a6i5oi356uv5pu05pawXHJcblx0XHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCd1cGRhdGUvdXBkYXRlJyk7XHJcblx0XHRcdC8vIOS7hemmluasoeaJk+W8gOS4gOasoeaAp+WKoOi9veaVsOaNrlxyXG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY29tbW9uL2luaXQnKTtcclxuXHRcdFx0Ly8g5ZCM5q2l6LSt54mp6L2mIOacrOWcsCAmIOe9kee7nFxyXG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2FydC9nZXQnKTtcclxuXHRcdFx0Ly8g5ZCM5q2lIOWKqOaAgeaVsOaNrlxyXG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc3RhdGlzdGljcy9nZXQnKTtcclxuXHJcblx0XHRcdGNvbnN0IHByb2plY3ROYW1lID0gJ3VuaWFwcEFwaUV4YW1wbGVFeHQnO1xyXG5cdFx0XHR1bmkuJGFlZ2lzID0gbmV3IEFlZ2lzKHtcclxuXHRcdFx0XHRpZDogJ2lIV2VmQVlxV3VDa0RqaHVjYycsXHJcblx0XHRcdFx0c3BhOiB0cnVlLFxyXG5cdFx0XHRcdHJlcG9ydEFwaVNwZWVkOiB0cnVlLFxyXG5cdFx0XHRcdHJlcG9ydEFzc2V0U3BlZWQ6IHRydWUsXHJcblx0XHRcdFx0cGFnZVBlcmZvcm1hbmNlOiB0cnVlLFxyXG5cdFx0XHRcdGhvc3RVcmw6ICdodHRwczovL3RhbWFlZ2lzLmNvbScsXHJcblx0XHRcdH0pO1xyXG5cdFx0XHR1bmkuJHVwbG9hZFRvVEFNID0gKGV2ZW50U3RyaW5nLCBzZGtBcHBJZCkgPT4ge1xyXG5cdFx0XHRcdHVuaS4kYWVnaXMucmVwb3J0RXZlbnQoe1xyXG5cdFx0XHRcdFx0bmFtZTogZXZlbnRTdHJpbmcuc3BsaXQoJyMnKVswXSB8fCAnJyxcclxuXHRcdFx0XHRcdGV4dDE6IGV2ZW50U3RyaW5nLFxyXG5cdFx0XHRcdFx0ZXh0MjogcHJvamVjdE5hbWUsXHJcblx0XHRcdFx0XHRleHQzOiBzZGtBcHBJZCxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fTtcclxuXHRcdFx0dW5pLiRjcmVhdGVUcnRjQ2xvdWRVcGxvYWQgPSBzZGtBcHBJZCA9PiB1bmkuJHVwbG9hZFRvVEFNKCdjcmVhdGVUcnRjQ2xvdWQnLCBzZGtBcHBJZCk7XHJcblx0XHRcdHVuaS4kZW50ZXJSb29tU3VjY2Vzc1VwbG9hZCA9IHNka0FwcElkID0+IHVuaS4kdXBsb2FkVG9UQU0oJ2VudGVyUm9vbS1zdWNjZXNzJywgc2RrQXBwSWQpO1xyXG5cdFx0XHR1bmkuJGVudGVyUm9vbUZhaWxlZFVwbG9hZCA9IChzZGtBcHBJZCwgZXJyb3JNc2cpID0+IHVuaS4kdXBsb2FkVG9UQU0oYGVudGVyUm9vbS1mYWlsZWQjZXJyb3I6ICR7ZXJyb3JNc2d9YCxcclxuXHRcdFx0XHRzZGtBcHBJZCk7XHJcblx0XHRcdHVuaS4kb25FcnJvclVwbG9hZCA9IChzZGtBcHBJZCwgZXJyb3JNc2cpID0+IHVuaS4kdXBsb2FkVG9UQU0oYG9uRXJyb3ItZmFpbGVkI2Vycm9yOiAke2Vycm9yTXNnfWAsIHNka0FwcElkKTtcclxuXHRcdFx0dW5pLiRzdGFydExvY2FsUHJldmlld1VwbG9hZCA9IHNka0FwcElkID0+IHVuaS4kdXBsb2FkVG9UQU0oJ3N0YXJ0TG9jYWxQcmV2aWV3Jywgc2RrQXBwSWQpO1xyXG5cdFx0XHR1bmkuJHN0YXJ0UmVtb3RlVmlld1N1Y2Nlc3NVcGxvYWQgPSBzZGtBcHBJZCA9PiB1bmkuJHVwbG9hZFRvVEFNKCdzdGFydFJlbW90ZVZpZXctc3VjY2VzcycsIHNka0FwcElkKTtcclxuXHRcdFx0dW5pLiRzdGFydFJlbW90ZVZpZXdGYWlsZWRVcGxvYWQgPSAoc2RrQXBwSWQsIGVycm9yTXNnKSA9PiB1bmkuJHVwbG9hZFRvVEFNKFxyXG5cdFx0XHRcdGBzdGFydFJlbW90ZVZpZXctZmFpbGVkI2Vycm9yOiAke2Vycm9yTXNnfWAsIHNka0FwcElkKTtcclxuXHRcdFx0dGhpcy5pbml0U29ja2V0KCk7XHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHQvLyDlkK/liqjmiJbph43lkK/ljbPml7bpgJrorq9cclxuXHRcdFx0Ly8gdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NoYXQvc3RhcnQnKTtcclxuXHRcdH0sXHJcblx0XHRvbkhpZGUoKSB7XHJcblx0XHRcdC8vIOaWreW8gOWNs+aXtumAmuiur1xyXG5cdFx0XHQvLyB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2hhdC9jbG9zZScpO1xyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0aGFuZGxlT25NZXNzYWdlKG1zZykge1xyXG5cdFx0XHRcdGxldCB1c2VyID0gdGhpcy4kc3RvcmUuc3RhdGUudXNlcjtcclxuXHRcdFx0XHRpZihtc2cubWV0aG9kID09ICdpbml0TWVzc2FnZScpe1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5zZXRUYWJCYXJCYWRnZShtc2cudW5yZWFkTWVzc2FnZUNvdW50KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYobXNnLm1lc3NhZ2VUeXBlID09ICdtZXNzYWdlUmVhZCcgfHwgbXNnLm1lc3NhZ2VUeXBlID09ICd0ZXh0JyB8fCBtc2cubWVzc2FnZVR5cGUgPT0gJ3ZvaWNlJyl7XHJcblx0XHRcdFx0XHRnZXRBcHAoKS5nbG9iYWxEYXRhLnVwZGF0ZVVuUmVhZE1lc3NhZ2VDb3VudCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRpZiAobXNnLm1lc3NhZ2VUeXBlID09ICdqb2luUm9vbScgJiYgbXNnLmludFRvVXNlcklkID09IHVzZXIuaWQgJiYgdXNlci51c2VyX3R5cGUubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnam9pblJvb20nLCBtc2cpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IGDnlKjmiLfjgJAke21zZy5yZWFsTmFtZX3jgJHpgoDor7fkvaDop4bpopHov57nur/vvIzmmK/lkKbliqDlhaXmiL/pl7TvvJ9gLFxyXG5cdFx0XHRcdFx0XHRjb25maXJtVGV4dDogJ+WKoOWFpeaIv+mXtCcsXHJcblx0XHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmlL7lvIMnLFxyXG5cdFx0XHRcdFx0XHRjb25maXJtQ29sb3I6ICcjRDY2OUJFJyxcclxuXHRcdFx0XHRcdFx0c3VjY2Vzcyh7XHJcblx0XHRcdFx0XHRcdFx0Y29uZmlybVxyXG5cdFx0XHRcdFx0XHR9KSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL21lZXRpbmcvbWVldGluZz9yb29tSWQ9JHttc2cucm9vbU5vfSZqb2luVHlwZT1zZWxsZXImY3VzdG9tZXJpZD0ke21zZy5pbnRVc2VySWR9YFxyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChtc2cubWVzc2FnZVR5cGUgPT0gJ2pvaW5NdWx0aXBsYXllclZpZGVvJyAmJiBtc2cuaW50VG9Vc2VySWQgPT0gdXNlci5pZCkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2pvaW5NdWx0aXBsYXllclZpZGVvJywgbXNnKTtcclxuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBg55So5oi344CQJHttc2cucmVhbE5hbWV944CR6YKA6K+35L2g6KeG6aKR6L+e57q/77yM5piv5ZCm5Yqg5YWl5oi/6Ze077yfYCxcclxuXHRcdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfliqDlhaXmiL/pl7QnLFxyXG5cdFx0XHRcdFx0XHRjYW5jZWxUZXh0OiAn5pS+5byDJyxcclxuXHRcdFx0XHRcdFx0Y29uZmlybUNvbG9yOiAnI0Q2NjlCRScsXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3Moe1xyXG5cdFx0XHRcdFx0XHRcdGNvbmZpcm1cclxuXHRcdFx0XHRcdFx0fSkge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChjb25maXJtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogYC9wYWdlcy9tZWV0aW5nL21lZXRpbmc/cm9vbUlkPSR7bXNnLnJvb21Ob30mam9pblR5cGU9c2VydmljZSZjdXN0b21lcmlkPSR7bXNnLmludFVzZXJJZH1gXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKG1zZy5tZXNzYWdlVHlwZSA9PSAnam9pblZpZGVvJyAmJiBtc2cuaW50VG9Vc2VySWQgPT0gdXNlci5pZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IGDnlKjmiLfjgJAke21zZy5yZWFsTmFtZX3jgJHpgoDor7fkvaDop4bpopHov57nur/vvIzmmK/lkKbliqDlhaXmiL/pl7TvvJ9gLFxyXG5cdFx0XHRcdFx0XHRjb25maXJtVGV4dDogJ+WKoOWFpScsXHJcblx0XHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmlL7lvIMnLFxyXG5cdFx0XHRcdFx0XHRjb25maXJtQ29sb3I6ICcjRDY2OUJFJyxcclxuXHRcdFx0XHRcdFx0c3VjY2Vzcyh7XHJcblx0XHRcdFx0XHRcdFx0Y29uZmlybVxyXG5cdFx0XHRcdFx0XHR9KSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL21lZXRpbmcvc2VydmljZU1lZXRpbmc/cm9vbUlkPSR7bXNnLnJvb21Ob30mdXNlcmlkPSR7bXNnLmludFVzZXJJZH1gXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXRTb2NrZXQoKSB7XHJcblx0XHRcdFx0bGV0IHNvY2tldFRhc2sgPSB1bmkuY29ubmVjdFNvY2tldCh7XHJcblx0XHRcdFx0XHR1cmw6IGNvbmZpZy5zb2NrZXR1cmwsXHJcblx0XHRcdFx0XHRjb21wbGV0ZSgpIHt9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHVuaS5vblNvY2tldE9wZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ1dlYlNvY2tldOi/nuaOpeW3suaJk+W8gO+8gScsIHJlcyk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dW5pLm9uU29ja2V0RXJyb3IoKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ1dlYlNvY2tldOi/nuaOpeaJk+W8gOWksei0pe+8jOivt+ajgOafpe+8gScsIHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLmluaXRTb2NrZXQoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGlzLmdsb2JhbERhdGEuc29ja2V0VGFzayA9IHNvY2tldFRhc2s7XHJcblx0XHRcdFx0c29ja2V0VGFzay5vbk9wZW4oKGRhdGEpID0+IHtcclxuXHRcdFx0XHRcdGxldCBqc29uID0ge1xyXG5cdFx0XHRcdFx0XHRtZXRob2Q6ICdPbkNvbm5lY3Rpb24nLFxyXG5cdFx0XHRcdFx0XHR0b2tlbjogc2VydmljZS5nZXRUb2tlbkNoYW9nZSgpLFxyXG5cdFx0XHRcdFx0XHRtb2JpbGVEZXZpY2U6IHRydWVcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnc2VuZCBqc29uJywganNvbik7XHJcblx0XHRcdFx0XHRzb2NrZXRUYXNrLnNlbmQoe1xyXG5cdFx0XHRcdFx0XHRkYXRhOiBKU09OLnN0cmluZ2lmeShqc29uKVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRzb2NrZXRUYXNrLm9uRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnc29ja2V0VGFzay5vbkVycm9yJywgZXJyb3IpXHJcblx0XHRcdFx0XHR0aGlzLmluaXRTb2NrZXQoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRzb2NrZXRUYXNrLm9uTWVzc2FnZSgobXNnKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnc29ja2V0VGFzay5vbk1lc3NhZ2UnLCBtc2cpO1xyXG5cdFx0XHRcdFx0bXNnID0gSlNPTi5wYXJzZShtc2cuZGF0YSk7XHJcblx0XHRcdFx0XHR0aGlzLmhhbmRsZU9uTWVzc2FnZShtc2cpO1xyXG5cdFx0XHRcdFx0dW5pLiRlbWl0KCdzb2NrZXRNZXNzYWdlJywgbXNnKVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHVuaS4kb24oJ2Nsb3NlU29ja2V0JywgKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5nbG9iYWxEYXRhLnNvY2tldFRhc2suY2xvc2UoKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR1bmkuJG9uKCdvcGVuU29ja2V0JywgKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5nbG9iYWxEYXRhLnNvY2tldFRhc2sub25NZXNzYWdlKChtc2cpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ29wZW5Tb2NrZXQub25NZXNzYWdlJywgbXNnKTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMuZ2xvYmFsRGF0YS51cGRhdGVVblJlYWRNZXNzYWdlQ291bnQoKTtcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRnbG9iYWxEYXRhOiB7XHJcblx0XHRcdHR5cGVOdW06IDEsXHJcblx0XHRcdHNvY2tldFRhc2s6IHt9LFxyXG5cdFx0XHR1cGRhdGVVblJlYWRNZXNzYWdlQ291bnQoKXtcclxuXHRcdFx0XHRBUEkubWVzc2FnZS5nZXRVc2VyVW5SZWFkTWVzc2FnZUNvdW50KCkudGhlbihyZXM9PntcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdnZXRVc2VyVW5SZWFkTWVzc2FnZUNvdW50JyxyZXMpO1xyXG5cdFx0XHRcdFx0bGV0IGJhZGdlTnVtID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0XHRpZihiYWRnZU51bT4wKXtcclxuXHRcdFx0XHRcdFx0dW5pLnNldFRhYkJhckJhZGdlKHtcclxuXHRcdFx0XHRcdFx0XHRpbmRleDogMSxcclxuXHRcdFx0XHRcdFx0XHR0ZXh0OiBiYWRnZU51bSA+IDk5ID8gJzk5KycgOiBiYWRnZU51bS50b1N0cmluZygpXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHVuaS5yZW1vdmVUYWJCYXJCYWRnZSh7XHJcblx0XHRcdFx0XHRcdFx0aW5kZXg6IDEsXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQvKiAjaWZuZGVmIEFQUC1OVlVFICovXHJcblx0QGltcG9ydCAnc3RhdGljL3N0eWxlL2NvbG9ydWkuY3NzJztcclxuXHRAaW1wb3J0ICdzdGF0aWMvc3R5bGUvd2FubHNob3AuY3NzJztcclxuXHRAaW1wb3J0ICdzdGF0aWMvc3R5bGUvaWNvbmZvbnQuY3NzJztcclxuXHRAaW1wb3J0IHVybChcIi4vc3R5bGVzL2luZGV4LnNjc3NcIik7XHJcblx0LyogI2VuZGlmICovXHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1293\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 324));\n\nvar _aegisWeexSdk = _interopRequireDefault(__webpack_require__(/*! aegis-weex-sdk */ 1294));\n\nvar _config = _interopRequireDefault(__webpack_require__(/*! @/common/config/config.js */ 325));\nvar _service = _interopRequireDefault(__webpack_require__(/*! @/service/service.js */ 323));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/apis/index.js */ 446));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { onLaunch: function onLaunch() {// 检测客户端更新\n this.$store.dispatch('update/update'); // 仅首次打开一次性加载数据\n this.$store.dispatch('common/init'); // 同步购物车 本地 & 网络\n this.$store.dispatch('cart/get'); // 同步 动态数据\n this.$store.dispatch('statistics/get');var projectName = 'uniappApiExampleExt';uni.$aegis = new _aegisWeexSdk.default({ id: 'iHWefAYqWuCkDjhucc', spa: true, reportApiSpeed: true, reportAssetSpeed: true, pagePerformance: true, hostUrl: 'https://tamaegis.com' });\n\n uni.$uploadToTAM = function (eventString, sdkAppId) {\n uni.$aegis.reportEvent({\n name: eventString.split('#')[0] || '',\n ext1: eventString,\n ext2: projectName,\n ext3: sdkAppId });\n\n };\n uni.$createTrtcCloudUpload = function (sdkAppId) {return uni.$uploadToTAM('createTrtcCloud', sdkAppId);};\n uni.$enterRoomSuccessUpload = function (sdkAppId) {return uni.$uploadToTAM('enterRoom-success', sdkAppId);};\n uni.$enterRoomFailedUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"enterRoom-failed#error: \".concat(errorMsg),\n sdkAppId);};\n uni.$onErrorUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"onError-failed#error: \".concat(errorMsg), sdkAppId);};\n uni.$startLocalPreviewUpload = function (sdkAppId) {return uni.$uploadToTAM('startLocalPreview', sdkAppId);};\n uni.$startRemoteViewSuccessUpload = function (sdkAppId) {return uni.$uploadToTAM('startRemoteView-success', sdkAppId);};\n uni.$startRemoteViewFailedUpload = function (sdkAppId, errorMsg) {return uni.$uploadToTAM(\"startRemoteView-failed#error: \".concat(\n errorMsg), sdkAppId);};\n this.initSocket();\n },\n onShow: function onShow() {\n // 启动或重启即时通讯\n // this.$store.dispatch('chat/start');\n },\n onHide: function onHide() {\n // 断开即时通讯\n // this.$store.dispatch('chat/close');\n },\n methods: {\n handleOnMessage: function handleOnMessage(msg) {\n var user = this.$store.state.user;\n if (msg.method == 'initMessage') {\n // this.setTabBarBadge(msg.unreadMessageCount);\n }\n if (msg.messageType == 'messageRead' || msg.messageType == 'text' || msg.messageType == 'voice') {\n getApp().globalData.updateUnReadMessageCount();\n }\n\n if (msg.messageType == 'joinRoom' && msg.intToUserId == user.id && user.user_type.length) {\n __f__(\"log\", 'joinRoom', msg, \" at App.vue:82\");\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入房间',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref)\n\n {var confirm = _ref.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/meeting?roomId=\".concat(msg.roomNo, \"&joinType=seller&customerid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n if (msg.messageType == 'joinMultiplayerVideo' && msg.intToUserId == user.id) {\n __f__(\"log\", 'joinMultiplayerVideo', msg, \" at App.vue:100\");\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入房间',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref2)\n\n {var confirm = _ref2.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/meeting?roomId=\".concat(msg.roomNo, \"&joinType=service&customerid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n if (msg.messageType == 'joinVideo' && msg.intToUserId == user.id) {\n uni.showModal({\n content: \"\\u7528\\u6237\\u3010\".concat(msg.realName, \"\\u3011\\u9080\\u8BF7\\u4F60\\u89C6\\u9891\\u8FDE\\u7EBF\\uFF0C\\u662F\\u5426\\u52A0\\u5165\\u623F\\u95F4\\uFF1F\"),\n confirmText: '加入',\n cancelText: '放弃',\n confirmColor: '#D669BE',\n success: function success(_ref3)\n\n {var confirm = _ref3.confirm;\n if (confirm) {\n uni.navigateTo({\n url: \"/pages/meeting/serviceMeeting?roomId=\".concat(msg.roomNo, \"&userid=\").concat(msg.intUserId) });\n\n }\n } });\n\n }\n },\n initSocket: function initSocket() {var _this = this;\n var socketTask = uni.connectSocket({\n url: _config.default.socketurl,\n complete: function complete() {} });\n\n uni.onSocketOpen(function (res) {\n __f__(\"log\", 'WebSocket连接已打开!', res, \" at App.vue:141\");\n });\n uni.onSocketError(function (res) {\n __f__(\"log\", 'WebSocket连接打开失败,请检查!', res, \" at App.vue:144\");\n _this.initSocket();\n });\n this.globalData.socketTask = socketTask;\n socketTask.onOpen(function (data) {\n var json = {\n method: 'OnConnection',\n token: _service.default.getTokenChaoge(),\n mobileDevice: true };\n\n __f__(\"log\", 'send json', json, \" at App.vue:154\");\n socketTask.send({\n data: JSON.stringify(json) });\n\n });\n socketTask.onError(function (error) {\n __f__(\"log\", 'socketTask.onError', error, \" at App.vue:160\");\n _this.initSocket();\n });\n socketTask.onMessage(function (msg) {\n __f__(\"log\", 'socketTask.onMessage', msg, \" at App.vue:164\");\n msg = JSON.parse(msg.data);\n _this.handleOnMessage(msg);\n uni.$emit('socketMessage', msg);\n });\n uni.$on('closeSocket', function () {\n _this.globalData.socketTask.close();\n });\n uni.$on('openSocket', function () {\n _this.globalData.socketTask.onMessage(function (msg) {\n __f__(\"log\", 'openSocket.onMessage', msg, \" at App.vue:174\");\n });\n });\n this.globalData.updateUnReadMessageCount();\n } },\n\n globalData: {\n typeNum: 1,\n socketTask: {},\n updateUnReadMessageCount: function updateUnReadMessageCount() {\n _index.default.message.getUserUnReadMessageCount().then(function (res) {\n __f__(\"log\", 'getUserUnReadMessageCount', res, \" at App.vue:185\");\n var badgeNum = res.data;\n if (badgeNum > 0) {\n uni.setTabBarBadge({\n index: 1,\n text: badgeNum > 99 ? '99+' : badgeNum.toString() });\n\n } else {\n uni.removeTabBarBadge({\n index: 1 });\n\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsIiRzdG9yZSIsImRpc3BhdGNoIiwicHJvamVjdE5hbWUiLCJ1bmkiLCIkYWVnaXMiLCJBZWdpcyIsImlkIiwic3BhIiwicmVwb3J0QXBpU3BlZWQiLCJyZXBvcnRBc3NldFNwZWVkIiwicGFnZVBlcmZvcm1hbmNlIiwiaG9zdFVybCIsIiR1cGxvYWRUb1RBTSIsImV2ZW50U3RyaW5nIiwic2RrQXBwSWQiLCJyZXBvcnRFdmVudCIsIm5hbWUiLCJzcGxpdCIsImV4dDEiLCJleHQyIiwiZXh0MyIsIiRjcmVhdGVUcnRjQ2xvdWRVcGxvYWQiLCIkZW50ZXJSb29tU3VjY2Vzc1VwbG9hZCIsIiRlbnRlclJvb21GYWlsZWRVcGxvYWQiLCJlcnJvck1zZyIsIiRvbkVycm9yVXBsb2FkIiwiJHN0YXJ0TG9jYWxQcmV2aWV3VXBsb2FkIiwiJHN0YXJ0UmVtb3RlVmlld1N1Y2Nlc3NVcGxvYWQiLCIkc3RhcnRSZW1vdGVWaWV3RmFpbGVkVXBsb2FkIiwiaW5pdFNvY2tldCIsIm9uU2hvdyIsIm9uSGlkZSIsIm1ldGhvZHMiLCJoYW5kbGVPbk1lc3NhZ2UiLCJtc2ciLCJ1c2VyIiwic3RhdGUiLCJtZXRob2QiLCJtZXNzYWdlVHlwZSIsImdldEFwcCIsImdsb2JhbERhdGEiLCJ1cGRhdGVVblJlYWRNZXNzYWdlQ291bnQiLCJpbnRUb1VzZXJJZCIsInVzZXJfdHlwZSIsImxlbmd0aCIsInNob3dNb2RhbCIsImNvbnRlbnQiLCJyZWFsTmFtZSIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsImNvbmZpcm1Db2xvciIsInN1Y2Nlc3MiLCJjb25maXJtIiwibmF2aWdhdGVUbyIsInVybCIsInJvb21ObyIsImludFVzZXJJZCIsInNvY2tldFRhc2siLCJjb25uZWN0U29ja2V0IiwiY29uZmlnIiwic29ja2V0dXJsIiwiY29tcGxldGUiLCJvblNvY2tldE9wZW4iLCJyZXMiLCJvblNvY2tldEVycm9yIiwib25PcGVuIiwiZGF0YSIsImpzb24iLCJ0b2tlbiIsInNlcnZpY2UiLCJnZXRUb2tlbkNoYW9nZSIsIm1vYmlsZURldmljZSIsInNlbmQiLCJKU09OIiwic3RyaW5naWZ5Iiwib25FcnJvciIsImVycm9yIiwib25NZXNzYWdlIiwicGFyc2UiLCIkZW1pdCIsIiRvbiIsImNsb3NlIiwidHlwZU51bSIsIkFQSSIsIm1lc3NhZ2UiLCJnZXRVc2VyVW5SZWFkTWVzc2FnZUNvdW50IiwidGhlbiIsImJhZGdlTnVtIiwic2V0VGFiQmFyQmFkZ2UiLCJpbmRleCIsInRleHQiLCJ0b1N0cmluZyIsInJlbW92ZVRhYkJhckJhZGdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxxRiw4RkF0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBU2UsRUFDZEEsUUFEYyxzQkFDSCxDQUNWO0FBQ0EsU0FBS0MsTUFBTCxDQUFZQyxRQUFaLENBQXFCLGVBQXJCLEVBRlUsQ0FHVjtBQUNBLFNBQUtELE1BQUwsQ0FBWUMsUUFBWixDQUFxQixhQUFyQixFQUpVLENBS1Y7QUFDQSxTQUFLRCxNQUFMLENBQVlDLFFBQVosQ0FBcUIsVUFBckIsRUFOVSxDQU9WO0FBQ0EsU0FBS0QsTUFBTCxDQUFZQyxRQUFaLENBQXFCLGdCQUFyQixFQUVBLElBQU1DLFdBQVcsR0FBRyxxQkFBcEIsQ0FDQUMsR0FBRyxDQUFDQyxNQUFKLEdBQWEsSUFBSUMscUJBQUosQ0FBVSxFQUN0QkMsRUFBRSxFQUFFLG9CQURrQixFQUV0QkMsR0FBRyxFQUFFLElBRmlCLEVBR3RCQyxjQUFjLEVBQUUsSUFITSxFQUl0QkMsZ0JBQWdCLEVBQUUsSUFKSSxFQUt0QkMsZUFBZSxFQUFFLElBTEssRUFNdEJDLE9BQU8sRUFBRSxzQkFOYSxFQUFWLENBQWI7O0FBUUFSLE9BQUcsQ0FBQ1MsWUFBSixHQUFtQixVQUFD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TUFLSztBQUNKeEYsYUFBRyxDQUFDeUYsaUJBQUosQ0FBc0I7QUFDckJILGlCQUFLLEVBQUUsQ0FEYyxFQUF0Qjs7QUFHQTtBQUNELE9BYkQ7QUFjQSxLQWxCVSxFQTVKRSxFIiwiZmlsZSI6IjEyOTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmltcG9ydCBWdWUgZnJvbSAndnVlJztcblxuaW1wb3J0IEFlZ2lzIGZyb20gJ2FlZ2lzLXdlZXgtc2RrJztcblxuaW1wb3J0IGNvbmZpZyBmcm9tICdAL2NvbW1vbi9jb25maWcvY29uZmlnLmpzJ1xuaW1wb3J0IHNlcnZpY2UgZnJvbSAnQC9zZXJ2aWNlL3NlcnZpY2UuanMnXG5pbXBvcnQgQVBJIGZyb20gJ0AvYXBpcy9pbmRleC5qcydcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2goKSB7XG5cdFx0Ly8g5qOA5rWL5a6i5oi356uv5pu05pawXG5cdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3VwZGF0ZS91cGRhdGUnKTtcblx0XHQvLyDku4XpppbmrKHmiZPlvIDkuIDmrKHmgKfliqDovb3mlbDmja5cblx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY29tbW9uL2luaXQnKTtcblx0XHQvLyDlkIzmraXotK3nianovaYg5pys5ZywICYg572R57ucXG5cdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NhcnQvZ2V0Jyk7XG5cdFx0Ly8g5ZCM5q2lIOWKqOaAgeaVsOaNrlxuXHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdzdGF0aXN0aWNzL2dldCcpO1xuXG5cdFx0Y29uc3QgcHJvamVjdE5hbWUgPSAndW5pYXBwQXBpRXhhbXBsZUV4dCc7XG5cdFx0dW5pLiRhZWdpcyA9IG5ldyBBZWdpcyh7XG5cdFx0XHRpZDogJ2lIV2VmQVlxV3VDa0RqaHVjYycsXG5cdFx0XHRzcGE6IHRydWUsXG5cdFx0XHRyZXBvcnRBcGlTcGVlZDogdHJ1ZSxcblx0XHRcdHJlcG9ydEFzc2V0U3BlZWQ6IHRydWUsXG5cdFx0XHRwYWdlUGVyZm9ybWFuY2U6IHRydWUsXG5cdFx0XHRob3N0VXJsOiAnaHR0cHM6Ly90YW1hZWdpcy5jb20nLFxuXHRcdH0pO1xuXHRcdHVuaS4kdXBsb2FkVG9UQU0gPSAoZXZlbnRTdHJpbmcsIHNka0FwcElkKSA9PiB7XG5cdFx0XHR1bmkuJGFlZ2lzLnJlcG9ydEV2ZW50KHtcblx0XHRcdFx0bmFtZTogZXZlbnRTdHJpbmcuc3BsaXQoJyMnKVswXSB8fCAnJyxcblx0XHRcdFx0ZXh0MTogZXZlbnRTdHJpbmcsXG5cdFx0XHRcdGV4dDI6IHByb2plY3ROYW1lLFxuXHRcdFx0XHRleHQzOiBzZGtBcHBJZCxcblx0XHRcdH0pO1xuXHRcdH07XG5cdFx0dW5pLiRjcmVhdGVUcnRjQ2xvdWRVcGxvYWQgPSBzZGtBcHBJZCA9PiB1bmkuJHVwbG9hZFRvVEFNKCdjcmVhdGVUcnRjQ2xvdWQnLCBzZGtBcHBJZCk7XG5cdFx0dW5pLiRlbnRlclJvb21TdWNjZXNzVXBsb2FkID0gc2RrQXBwSWQgPT4gdW5pLiR1cGxvYWRUb1RBTSgnZW50ZXJSb29tLXN1Y2Nlc3MnLCBzZGtBcHBJZCk7XG5cdFx0dW5pLiRlbnRlclJvb21GYWlsZWRVcGxvYWQgPSAoc2RrQXBwSWQsIGVycm9yTXNnKSA9PiB1bmkuJHVwbG9hZFRvVEFNKGBlbnRlclJvb20tZmFpbGVkI2Vycm9yOiAke2Vycm9yTXNnfWAsXG5cdFx0XHRzZGtBcHBJZCk7XG5cdFx0dW5pLiRvbkVycm9yVXBsb2FkID0gKHNka0FwcElkLCBlcnJvck1zZykgPT4gdW5pLiR1cGxvYWRUb1RBTShgb25FcnJvci1mYWlsZWQjZXJyb3I6ICR7ZXJyb3JNc2d9YCwgc2RrQXBwSWQpO1xuXHRcdHVuaS4kc3RhcnRMb2NhbFByZXZpZXdVcGxvYWQgPSBzZGtBcHBJZCA9PiB1bmkuJHVwbG9hZFRvVEFNKCdzdGFydExvY2FsUHJldmlldycsIHNka0FwcElkKTtcblx0XHR1bmkuJHN0YXJ0UmVtb3RlVmlld1N1Y2Nlc3NVcGxvYWQgPSBzZGtBcHBJZCA9PiB1bmkuJHVwbG9hZFRvVEFNKCdzdGFydFJlbW90ZVZpZXctc3VjY2VzcycsIHNka0FwcElkKTtcblx0XHR1bmkuJHN0YXJ0UmVtb3RlVmlld0ZhaWxlZFVwbG9hZCA9IChzZGtBcHBJZCwgZXJyb3JNc2cpID0+IHVuaS4kdXBsb2FkVG9UQU0oXG5cdFx0XHRgc3RhcnRSZW1vdGVWaWV3LWZhaWxlZCNlcnJvcjogJHtlcnJvck1zZ31gLCBzZGtBcHBJZCk7XG5cdFx0dGhpcy5pbml0U29ja2V0KCk7XG5cdH0sXG5cdG9uU2hvdygpIHtcblx0XHQvLyDlkK/liqjmiJbph43lkK/ljbPml7bpgJrorq9cblx0XHQvLyB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2hhdC9zdGFydCcpO1xuXHR9LFxuXHRvbkhpZGUoKSB7XG5cdFx0Ly8g5pat5byA5Y2z5pe26YCa6K6vXG5cdFx0Ly8gdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NoYXQvY2xvc2UnKTtcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdGhhbmRsZU9uTWVzc2FnZShtc2cpIHtcblx0XHRcdGxldCB1c2VyID0gdGhpcy4kc3RvcmUuc3RhdGUudXNlcjtcblx0XHRcdGlmKG1zZy5tZXRob2QgPT0gJ2luaXRNZXNzYWdlJyl7XG5cdFx0XHRcdC8vIHRoaXMuc2V0VGFiQmFyQmFkZ2UobXNnLnVucmVhZE1lc3NhZ2VDb3VudCk7XG5cdFx0XHR9XG5cdFx0XHRpZihtc2cubWVzc2FnZVR5cGUgPT0gJ21lc3NhZ2VSZWFkJyB8fCBtc2cubWVzc2FnZVR5cGUgPT0gJ3RleHQnIHx8IG1zZy5tZXNzYWdlVHlwZSA9PSAndm9pY2UnKXtcblx0XHRcdFx0Z2V0QXBwKCkuZ2xvYmFsRGF0YS51cGRhdGVVblJlYWRNZXNzYWdlQ291bnQoKTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aWYgKG1zZy5tZXNzYWdlVHlwZSA9PSAnam9pblJvb20nICYmIG1zZy5pbnRUb1VzZXJJZCA9PSB1c2VyLmlkICYmIHVzZXIudXNlcl90eXBlLmxlbmd0aCkge1xuXHRcdFx0XHRjb25zb2xlLmxvZygnam9pblJvb20nLCBtc2cpO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcblx0XHRcdFx0XHRjb250ZW50OiBg55So5oi344CQJHttc2cucmVhbE5hbWV944CR6YKA6K+35L2g6KeG6aKR6L+e57q/77yM5piv5ZCm5Yqg5YWl5oi/6Ze077yfYCxcblx0XHRcdFx0XHRjb25maXJtVGV4dDogJ+WKoOWFpeaIv+mXtCcsXG5cdFx0XHRcdFx0Y2FuY2VsVGV4dDogJ+aUvuW8gycsXG5cdFx0XHRcdFx0Y29uZmlybUNvbG9yOiAnI0Q2NjlCRScsXG5cdFx0XHRcdFx0c3VjY2Vzcyh7XG5cdFx0XHRcdFx0XHRjb25maXJtXG5cdFx0XHRcdFx0fSkge1xuXHRcdFx0XHRcdFx0aWYgKGNvbmZpcm0pIHtcblx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdHVybDogYC9wYWdlcy9tZWV0aW5nL21lZXRpbmc/cm9vbUlkPSR7bXNnLnJvb21Ob30mam9pblR5cGU9c2VsbGVyJmN1c3RvbWVyaWQ9JHttc2cuaW50VXNlcklkfWBcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0XHRpZiAobXNnLm1lc3NhZ2VUeXBlID09ICdqb2luTXVsdGlwbGF5ZXJWaWRlbycgJiYgbXNnLmludFRvVXNlcklkID09IHVzZXIuaWQpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coJ2pvaW5NdWx0aXBsYXllclZpZGVvJywgbXNnKTtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0Y29udGVudDogYOeUqOaIt+OAkCR7bXNnLnJlYWxOYW1lfeOAkemCgOivt+S9oOinhumikei/nue6v++8jOaYr+WQpuWKoOWFpeaIv+mXtO+8n2AsXG5cdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfliqDlhaXmiL/pl7QnLFxuXHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmlL7lvIMnLFxuXHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogJyNENjY5QkUnLFxuXHRcdFx0XHRcdHN1Y2Nlc3Moe1xuXHRcdFx0XHRcdFx0Y29uZmlybVxuXHRcdFx0XHRcdH0pIHtcblx0XHRcdFx0XHRcdGlmIChjb25maXJtKSB7XG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHR1cmw6IGAvcGFnZXMvbWVldGluZy9tZWV0aW5nP3Jvb21JZD0ke21zZy5yb29tTm99JmpvaW5UeXBlPXNlcnZpY2UmY3VzdG9tZXJpZD0ke21zZy5pbnRVc2VySWR9YFxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHRcdGlmIChtc2cubWVzc2FnZVR5cGUgPT0gJ2pvaW5WaWRlbycgJiYgbXNnLmludFRvVXNlcklkID09IHVzZXIuaWQpIHtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0Y29udGVudDogYOeUqOaIt+OAkCR7bXNnLnJlYWxOYW1lfeOAkemCgOivt+S9oOinhumikei/nue6v++8jOaYr+WQpuWKoOWFpeaIv+mXtO+8n2AsXG5cdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfliqDlhaUnLFxuXHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmlL7lvIMnLFxuXHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogJyNENjY5QkUnLFxuXHRcdFx0XHRcdHN1Y2Nlc3Moe1xuXHRcdFx0XHRcdFx0Y29uZmlybVxuXHRcdFx0XHRcdH0pIHtcblx0XHRcdFx0XHRcdGlmIChjb25maXJtKSB7XG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHR1cmw6IGAvcGFnZXMvbWVldGluZy9zZXJ2aWNlTWVldGluZz9yb29tSWQ9JHttc2cucm9vbU5vfSZ1c2VyaWQ9JHttc2cuaW50VXNlcklkfWBcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRpbml0U29ja2V0KCkge1xuXHRcdFx0bGV0IHNvY2tldFRhc2sgPSB1bmkuY29ubmVjdFNvY2tldCh7XG5cdFx0XHRcdHVybDogY29uZmlnLnNvY2tldHVybCxcblx0XHRcdFx0Y29tcGxldGUoKSB7fSxcblx0XHRcdH0pO1xuXHRcdFx0dW5pLm9uU29ja2V0T3BlbigocmVzKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdXZWJTb2NrZXTov57mjqXlt7LmiZPlvIDvvIEnLCByZXMpO1xuXHRcdFx0fSk7XG5cdFx0XHR1bmkub25Tb2NrZXRFcnJvcigocmVzKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdXZWJTb2NrZXTov57mjqXmiZPlvIDlpLHotKXvvIzor7fmo4Dmn6XvvIEnLCByZXMpO1xuXHRcdFx0XHR0aGlzLmluaXRTb2NrZXQoKTtcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5nbG9iYWxEYXRhLnNvY2tldFRhc2sgPSBzb2NrZXRUYXNrO1xuXHRcdFx0c29ja2V0VGFzay5vbk9wZW4oKGRhdGEpID0+IHtcblx0XHRcdFx0bGV0IGpzb24gPSB7XG5cdFx0XHRcdFx0bWV0aG9kOiAnT25Db25uZWN0aW9uJyxcblx0XHRcdFx0XHR0b2tlbjogc2VydmljZS5nZXRUb2tlbkNoYW9nZSgpLFxuXHRcdFx0XHRcdG1vYmlsZURldmljZTogdHJ1ZVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb25zb2xlLmxvZygnc2VuZCBqc29uJywganNvbik7XG5cdFx0XHRcdHNvY2tldFRhc2suc2VuZCh7XG5cdFx0XHRcdFx0ZGF0YTogSlNPTi5zdHJpbmdpZnkoanNvbilcblx0XHRcdFx0fSlcblx0XHRcdH0pO1xuXHRcdFx0c29ja2V0VGFzay5vbkVycm9yKChlcnJvcikgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZygnc29ja2V0VGFzay5vbkVycm9yJywgZXJyb3IpXG5cdFx0XHRcdHRoaXMuaW5pdFNvY2tldCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRzb2NrZXRUYXNrLm9uTWVzc2FnZSgobXNnKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdzb2NrZXRUYXNrLm9uTWVzc2FnZScsIG1zZyk7XG5cdFx0XHRcdG1zZyA9IEpTT04ucGFyc2UobXNnLmRhdGEpO1xuXHRcdFx0XHR0aGlzLmhhbmRsZU9uTWVzc2FnZShtc2cpO1xuXHRcdFx0XHR1bmkuJGVtaXQoJ3NvY2tldE1lc3NhZ2UnLCBtc2cpXG5cdFx0XHR9KTtcblx0XHRcdHVuaS4kb24oJ2Nsb3NlU29ja2V0JywgKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmdsb2JhbERhdGEuc29ja2V0VGFzay5jbG9zZSgpO1xuXHRcdFx0fSk7XG5cdFx0XHR1bmkuJG9uKCdvcGVuU29ja2V0JywgKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmdsb2JhbERhdGEuc29ja2V0VGFzay5vbk1lc3NhZ2UoKG1zZykgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdvcGVuU29ja2V0Lm9uTWVzc2FnZScsIG1zZyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLmdsb2JhbERhdGEudXBkYXRlVW5SZWFkTWVzc2FnZUNvdW50KCk7XG5cdFx0fSxcblx0fSxcblx0Z2xvYmFsRGF0YToge1xuXHRcdHR5cGVOdW06IDEsXG5cdFx0c29ja2V0VGFzazoge30sXG5cdFx0dXBkYXRlVW5SZWFkTWVzc2FnZUNvdW50KCl7XG5cdFx0XHRBUEkubWVzc2FnZS5nZXRVc2VyVW5SZWFkTWVzc2FnZUNvdW50KCkudGhlbihyZXM9Pntcblx0XHRcdFx0Y29uc29sZS5sb2coJ2dldFVzZXJVblJlYWRNZXNzYWdlQ291bnQnLHJlcyk7XG5cdFx0XHRcdGxldCBiYWRnZU51bSA9IHJlcy5kYXRhO1xuXHRcdFx0XHRpZihiYWRnZU51bT4wKXtcblx0XHRcdFx0XHR1bmkuc2V0VGFiQmFyQmFkZ2Uoe1xuXHRcdFx0XHRcdFx0aW5kZXg6IDEsXG5cdFx0XHRcdFx0XHR0ZXh0OiBiYWRnZU51bSA+IDk5ID8gJzk5KycgOiBiYWRnZU51bS50b1N0cmluZygpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5yZW1vdmVUYWJCYXJCYWRnZSh7XG5cdFx0XHRcdFx0XHRpbmRleDogMSxcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1293\n"); /***/ }), /* 1294 */ diff --git a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/manifest.json b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/manifest.json index 54cda4b..b86c73a 100644 --- a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/manifest.json +++ b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/manifest.json @@ -1 +1 @@ -{"@platforms":["android","iPhone","iPad"],"id":"__UNI__E68BD56","name":"武都花椒","version":{"name":"1.8.0","code":180},"description":"武都花椒","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Maps":{"coordType":"gcj02"},"Payment":{},"Speech":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":false,"waiting":false,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F7F7F7"},"usingComponents":true,"nvueCompiler":"uni-app","compatible":{"ignoreVersion":true},"distribute":{"orientation":["portrait-primary"],"splashscreen":{"android":{"hdpi":"","xxhdpi":"","xhdpi":""},"ios":{"iphone":{"portrait-896h@3x":"","landscape-896h@3x":""}},"androidStyle":"common","iosStyle":"common","useOriginalMsgbox":true},"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"google":{"packagename":"com.wuduhuajiao.www","permissions":["","","","","","","","","","","","","","","","","","","","","","","",""],"targetSdkVersion":"26","schemes":"wdhj","abiFilters":["armeabi-v7a","arm64-v8a"]},"apple":{"appid":"com.wuduhuajiao.www","UIBackgroundModes":["audio"],"urlschemewhitelist":["baidumap","iosamap"],"idfa":false,"urltypes":"wdhj","dSYMs":false,"privacyDescription":{"NSPhotoLibraryUsageDescription":"以便您提交图片修改个人信息","NSCameraUsageDescription":"以便您提交图片修改个人信息"}},"plugins":{"speech":{"ifly":{}},"ad":{},"maps":{"amap":{"appkey_ios":"5d4b4a23aaa62ba5f31ae6360b60ef13","appkey_android":"5d4b4a23aaa62ba5f31ae6360b60ef13"}},"payment":{"alipay":{"__platform__":["ios","android"]}},"share":{"weixin":{"appid":"2022*******10","UniversalLinks":""}},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"safearea":{"bottom":{"offset":"none"}},"compilerVersion":3,"uniStatistics":{"enable":false},"nativePlugins":{"TRTCCloudUniPlugin-TRTCCloudImpl":{"__plugin_info__":{"name":"【官方】腾讯云实时音视频SDK","description":"uni-app TRTC SDK 是腾讯云实时音视频通讯解决方案在 uni-app 上的 SDK,提供实时音视频服务","platforms":"Android,iOS","url":"https://ext.dcloud.net.cn/plugin?id=7774","android_package_name":"com.wuduhuajiao.app","ios_bundle_id":"com.wuduhuajiao.app","isCloud":true,"bought":1,"pid":"7774","parameters":{}}}},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.4.7","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"fast"},"tabBar":{"color":"#666666","selectedColor":"#6B5BBC","borderStyle":"rgba(255,255,255,0.4)","height":"50px","list":[{"pagePath":"pages/index","iconPath":"static/home/tabber/icon11.png","selectedIconPath":"static/home/tabber/icon1.png","text":"首页"},{"pagePath":"pages/notice1/index","iconPath":"static/home/tabber/icon22.png","selectedIconPath":"static/home/tabber/icon2.png","text":"联系人"},{"pagePath":"pages/shop1/index","iconPath":"static/home/tabber/icon33.png","selectedIconPath":"static/home/tabber/icon3.png","text":"商城"},{"pagePath":"pages/Subscribe/index","iconPath":"static/home/tabber/icon44.png","selectedIconPath":"static/home/tabber/icon4.png","text":"认购"},{"pagePath":"pages/collect/index","iconPath":"static/home/tabber/icon55.png","selectedIconPath":"static/home/tabber/icon5.png","text":"收藏"},{"pagePath":"pages/message/service","iconPath":"static/home/tabber/icon66.png","selectedIconPath":"static/home/tabber/icon66.png","text":"客服"},{"pagePath":"pages/user","iconPath":"static/home/tabber/icon77.png","selectedIconPath":"static/home/tabber/icon7.png","text":"我的"}],"child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}} \ No newline at end of file +{"@platforms":["android","iPhone","iPad"],"id":"__UNI__E68BD56","name":"武都花椒","version":{"name":"1.8.1","code":181},"description":"武都花椒","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Maps":{"coordType":"gcj02"},"Payment":{},"Speech":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":false,"waiting":false,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F7F7F7"},"usingComponents":true,"nvueCompiler":"uni-app","compatible":{"ignoreVersion":true},"distribute":{"orientation":["portrait-primary"],"splashscreen":{"android":{"hdpi":"","xxhdpi":"","xhdpi":""},"ios":{"iphone":{"portrait-896h@3x":"","landscape-896h@3x":""}},"androidStyle":"common","iosStyle":"common","useOriginalMsgbox":true},"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"google":{"packagename":"com.wuduhuajiao.www","permissions":["","","","","","","","","","","","","","","","","","","","","","","",""],"targetSdkVersion":"26","schemes":"wdhj","abiFilters":["armeabi-v7a","arm64-v8a"]},"apple":{"appid":"com.wuduhuajiao.www","UIBackgroundModes":["audio"],"urlschemewhitelist":["baidumap","iosamap"],"idfa":false,"urltypes":"wdhj","dSYMs":false,"privacyDescription":{"NSPhotoLibraryUsageDescription":"以便您提交图片修改个人信息","NSCameraUsageDescription":"以便您提交图片修改个人信息"}},"plugins":{"speech":{"ifly":{}},"ad":{},"maps":{"amap":{"appkey_ios":"5d4b4a23aaa62ba5f31ae6360b60ef13","appkey_android":"5d4b4a23aaa62ba5f31ae6360b60ef13"}},"payment":{"alipay":{"__platform__":["ios","android"]}},"share":{"weixin":{"appid":"2022*******10","UniversalLinks":""}},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"safearea":{"bottom":{"offset":"none"}},"compilerVersion":3,"uniStatistics":{"enable":false},"nativePlugins":{"TRTCCloudUniPlugin-TRTCCloudImpl":{"__plugin_info__":{"name":"【官方】腾讯云实时音视频SDK","description":"uni-app TRTC SDK 是腾讯云实时音视频通讯解决方案在 uni-app 上的 SDK,提供实时音视频服务","platforms":"Android,iOS","url":"https://ext.dcloud.net.cn/plugin?id=7774","android_package_name":"com.wuduhuajiao.app","ios_bundle_id":"com.wuduhuajiao.app","isCloud":true,"bought":1,"pid":"7774","parameters":{}}}},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.4.7","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"fast"},"tabBar":{"color":"#666666","selectedColor":"#6B5BBC","borderStyle":"rgba(255,255,255,0.4)","height":"50px","list":[{"pagePath":"pages/index","iconPath":"static/home/tabber/icon11.png","selectedIconPath":"static/home/tabber/icon1.png","text":"首页"},{"pagePath":"pages/notice1/index","iconPath":"static/home/tabber/icon22.png","selectedIconPath":"static/home/tabber/icon2.png","text":"联系人"},{"pagePath":"pages/shop1/index","iconPath":"static/home/tabber/icon33.png","selectedIconPath":"static/home/tabber/icon3.png","text":"商城"},{"pagePath":"pages/Subscribe/index","iconPath":"static/home/tabber/icon44.png","selectedIconPath":"static/home/tabber/icon4.png","text":"认购"},{"pagePath":"pages/collect/index","iconPath":"static/home/tabber/icon55.png","selectedIconPath":"static/home/tabber/icon5.png","text":"收藏"},{"pagePath":"pages/message/service","iconPath":"static/home/tabber/icon66.png","selectedIconPath":"static/home/tabber/icon66.png","text":"客服"},{"pagePath":"pages/user","iconPath":"static/home/tabber/icon77.png","selectedIconPath":"static/home/tabber/icon7.png","text":"我的"}],"child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}} \ No newline at end of file diff --git a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/meeting.js b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/meeting.js index ca36e7b..43c8f31 100644 --- a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/meeting.js +++ b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/meeting.js @@ -1891,7 +1891,7 @@ eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.0',\n versionCode: '180',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIxMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMCcsXHJcblx0dmVyc2lvbkNvZGU6ICcxODAnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.1',\n versionCode: '181',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIxMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMScsXHJcblx0dmVyc2lvbkNvZGU6ICcxODEnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n"); /***/ }), /* 105 */, diff --git a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/serviceMeeting.js b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/serviceMeeting.js index a37c1cc..05454fc 100644 --- a/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/serviceMeeting.js +++ b/uniapp-wuduhuajiao/unpackage/dist/dev/app-plus/pages/meeting/serviceMeeting.js @@ -2079,7 +2079,7 @@ eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.0',\n versionCode: '180',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIxMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMCcsXHJcblx0dmVyc2lvbkNvZGU6ICcxODAnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n"); +eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; /**\r\n * WanlShop 多用户电商系统核心配置项\r\n * @author 深圳前海万联科技有限公司 \r\n * < 本程序,未经版权所有权人书面许可,不能自行用于商业用途!>\r\n * \r\n * @config socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com\r\n * @config cdnUrl OSS服务地址 如:https://oss.wanlshop.com 或 https://www.wanlshop.com\r\n * @config appUrl API服务器地址 如:https://api.wanlshop.com 或 https://www.wanlshop.com/api\r\n * @config amapKey 高德网页Key\r\n * @config debug 全局调试\r\n * \r\n * @ 相关文档 https://doc.fastadmin.net/wanlshop/265.html\r\n */var _default =\n{\n baseurl_chaoge: 'https://huajiao.t1j2.com',\n appurl_chaoge: 'https://huajiao.t1j2.com/api',\n socketurl: 'wss://huajiao.t1j2.com/api/message/websocket', //如果是ws:// 地址为ws://你服务器IP:7272 如 ws://123.4.56.78:7272,使用wss 后面不需要添加 :7272 端口\n cdnurl: 'http://app.xn--43vp3ce98aj8m.com',\n baseurl: 'http://app.xn--43vp3ce98aj8m.com',\n appurl: 'http://app.xn--43vp3ce98aj8m.com/api', //如二级域名:https://api.wanlshop.com 或不使用二级域名 https://www.wanlshop.com/api\n amapkey: '0a9f67a6f8f7cc3315d30846a0fde88b',\n appid: 'wx6****************7a', // 公众号appid\n versionName: '1.8.1',\n versionCode: '181',\n debug: true };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL2NvbmZpZy9jb25maWcuanMiXSwibmFtZXMiOlsiYmFzZXVybF9jaGFvZ2UiLCJhcHB1cmxfY2hhb2dlIiwic29ja2V0dXJsIiwiY2RudXJsIiwiYmFzZXVybCIsImFwcHVybCIsImFtYXBrZXkiLCJhcHBpZCIsInZlcnNpb25OYW1lIiwidmVyc2lvbkNvZGUiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IndGQUFBOzs7Ozs7Ozs7Ozs7O0FBYWU7QUFDZEEsZ0JBQWMsRUFBQywwQkFERDtBQUVkQyxlQUFhLEVBQUUsOEJBRkQ7QUFHZEMsV0FBUyxFQUFFLDhDQUhHLEVBRzZDO0FBQzNEQyxRQUFNLEVBQUUsa0NBSk07QUFLZEMsU0FBTyxFQUFDLGtDQUxNO0FBTWRDLFFBQU0sRUFBRSxzQ0FOTSxFQU1rQztBQUNoREMsU0FBTyxFQUFFLGtDQVBLO0FBUWRDLE9BQUssRUFBRSx1QkFSTyxFQVFrQjtBQUNoQ0MsYUFBVyxFQUFFLE9BVEM7QUFVZEMsYUFBVyxFQUFFLEtBVkM7QUFXZEMsT0FBSyxFQUFFLElBWE8sRSIsImZpbGUiOiIxMDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogV2FubFNob3Ag5aSa55So5oi355S15ZWG57O757uf5qC45b+D6YWN572u6aG5XHJcbiAqIEBhdXRob3Ig5rex5Zyz5YmN5rW35LiH6IGU56eR5oqA5pyJ6ZmQ5YWs5Y+4IDx3YW5sc2hvcEBpMzZrLmNvbT4gXHJcbiAqIDwg5pys56iL5bqP77yM5pyq57uP54mI5p2D5omA5pyJ5p2D5Lq65Lmm6Z2i6K645Y+v77yM5LiN6IO96Ieq6KGM55So5LqO5ZWG5Lia55So6YCU77yBPlxyXG4gKiBcclxuICogQGNvbmZpZyBzb2NrZXRVcmwg5Y2z5pe26YCa6K6v5pyN5Yqh5Zmo5Zyw5Z2A77yM5b6u5L+h5b+F6aG75L2/55Sod3NzOi8vIOWmgu+8mndzczovL2NoYXQud2FubHNob3AuY29tXHJcbiAqIEBjb25maWcgY2RuVXJsIE9TU+acjeWKoeWcsOWdgCAg5aaC77yaaHR0cHM6Ly9vc3Mud2FubHNob3AuY29tIOaIliBodHRwczovL3d3dy53YW5sc2hvcC5jb21cclxuICogQGNvbmZpZyBhcHBVcmwgQVBJ5pyN5Yqh5Zmo5Zyw5Z2AIOWmgu+8mmh0dHBzOi8vYXBpLndhbmxzaG9wLmNvbSDmiJYgaHR0cHM6Ly93d3cud2FubHNob3AuY29tL2FwaVxyXG4gKiBAY29uZmlnIGFtYXBLZXkg6auY5b63572R6aG1S2V5XHJcbiAqIEBjb25maWcgZGVidWcg5YWo5bGA6LCD6K+VXHJcbiAqIFxyXG4gKiBAIOebuOWFs+aWh+ahoyBodHRwczovL2RvYy5mYXN0YWRtaW4ubmV0L3dhbmxzaG9wLzI2NS5odG1sXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCB7ICBcclxuXHRiYXNldXJsX2NoYW9nZTonaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tJyxcclxuXHRhcHB1cmxfY2hhb2dlOiAnaHR0cHM6Ly9odWFqaWFvLnQxajIuY29tL2FwaScsXHJcblx0c29ja2V0dXJsOiAnd3NzOi8vaHVhamlhby50MWoyLmNvbS9hcGkvbWVzc2FnZS93ZWJzb2NrZXQnLCAvL+WmguaenOaYr3dzOi8vIOWcsOWdgOS4undzOi8v5L2g5pyN5Yqh5ZmoSVA6NzI3MiDlpoIgd3M6Ly8xMjMuNC41Ni43ODo3Mjcy77yM5L2/55Sod3NzIOWQjumdouS4jemcgOimgea3u+WKoCA6NzI3MiDnq6/lj6NcclxuXHRjZG51cmw6ICdodHRwOi8vYXBwLnhuLS00M3ZwM2NlOThhajhtLmNvbScsXHJcblx0YmFzZXVybDonaHR0cDovL2FwcC54bi0tNDN2cDNjZTk4YWo4bS5jb20nLFxyXG5cdGFwcHVybDogJ2h0dHA6Ly9hcHAueG4tLTQzdnAzY2U5OGFqOG0uY29tL2FwaScsIC8v5aaC5LqM57qn5Z+f5ZCN77yaaHR0cHM6Ly9hcGkud2FubHNob3AuY29tIOaIluS4jeS9v+eUqOS6jOe6p+Wfn+WQjSBodHRwczovL3d3dy53YW5sc2hvcC5jb20vYXBpXHJcblx0YW1hcGtleTogJzBhOWY2N2E2ZjhmN2NjMzMxNWQzMDg0NmEwZmRlODhiJyxcclxuXHRhcHBpZDogJ3d4NioqKioqKioqKioqKioqKio3YScsIC8vIOWFrOS8l+WPt2FwcGlkXHJcblx0dmVyc2lvbk5hbWU6ICcxLjguMScsXHJcblx0dmVyc2lvbkNvZGU6ICcxODEnLCBcclxuXHRkZWJ1ZzogdHJ1ZSAgXHJcbn0gICJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///104\n"); /***/ }), /* 105 */ -- libgit2 0.21.4