vue-element-ui-x 0.1.5 → 0.1.7-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/attachments.js +3082 -0
- package/lib/bubble-list.js +13840 -0
- package/lib/bubble.js +13125 -0
- package/lib/components/Attachments/index.js +6 -6
- package/lib/components/Bubble/index.js +188 -192
- package/lib/components/BubbleList/index.js +189 -194
- package/lib/components/Conversations/index.js +6 -6
- package/lib/components/FilesCard/index.js +5 -5
- package/lib/components/Prompts/index.js +21 -21
- package/lib/components/Sender/index.js +4 -4
- package/lib/components/Think/index.js +1 -1
- package/lib/components/Thinking/index.js +1 -1
- package/lib/components/ThoughtChain/index.js +186 -191
- package/lib/components/Typewriter/index.js +182 -186
- package/lib/components/Welcome/index.js +1 -1
- package/lib/conversations.js +18825 -0
- package/lib/files-card.js +2471 -0
- package/lib/index.common.js +1 -1
- package/lib/index.esm.js +1 -1
- package/lib/index.js +1707 -1691
- package/lib/index.umd.js +1 -1
- package/lib/mixins/index.js +2 -2
- package/lib/mixins.js +1016 -0
- package/lib/prompts.js +832 -0
- package/lib/sender.js +1911 -0
- package/lib/think.js +799 -0
- package/lib/thinking.js +809 -0
- package/lib/thought-chain.js +30391 -0
- package/lib/typewriter.js +12788 -0
- package/lib/welcome.js +755 -0
- package/package.json +3 -4
- package/src/components/Attachments/index.js +8 -8
- package/src/components/Bubble/index.js +6 -6
- package/src/components/Bubble/src/main.vue +299 -299
- package/src/components/BubbleList/index.js +8 -8
- package/src/components/BubbleList/src/loading.vue +75 -75
- package/src/components/BubbleList/src/main.vue +466 -466
- package/src/components/Conversations/index.js +8 -8
- package/src/components/Conversations/src/main.vue +635 -635
- package/src/components/FilesCard/index.js +8 -8
- package/src/components/FilesCard/src/fileSvg/audio.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/code.vue +35 -35
- package/src/components/FilesCard/src/fileSvg/database.vue +94 -94
- package/src/components/FilesCard/src/fileSvg/excel.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/file.vue +40 -40
- package/src/components/FilesCard/src/fileSvg/image.vue +40 -40
- package/src/components/FilesCard/src/fileSvg/index.js +46 -46
- package/src/components/FilesCard/src/fileSvg/link.vue +54 -54
- package/src/components/FilesCard/src/fileSvg/mark.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/pdf.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/ppt.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/three.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/txt.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/unknown.vue +54 -54
- package/src/components/FilesCard/src/fileSvg/video.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/word.vue +38 -38
- package/src/components/FilesCard/src/fileSvg/zip.vue +38 -38
- package/src/components/FilesCard/src/options.js +18 -18
- package/src/components/Prompts/index.js +8 -8
- package/src/components/Prompts/src/main.vue +248 -248
- package/src/components/Sender/index.js +8 -8
- package/src/components/Sender/src/components/ClearButton.vue +28 -28
- package/src/components/Sender/src/components/Loading.vue +53 -53
- package/src/components/Sender/src/components/LoadingButton.vue +39 -39
- package/src/components/Sender/src/components/SendButton.vue +26 -26
- package/src/components/Sender/src/components/SpeechButton.vue +24 -24
- package/src/components/Sender/src/components/SpeechLoading.vue +87 -87
- package/src/components/Sender/src/components/SpeechLoadingButton.vue +43 -43
- package/src/components/Think/index.js +8 -8
- package/src/components/Think/src/main.vue +190 -190
- package/src/components/Thinking/index.js +8 -8
- package/src/components/Thinking/src/main.vue +195 -195
- package/src/components/ThoughtChain/index.js +8 -8
- package/src/components/ThoughtChain/src/main.vue +293 -293
- package/src/components/Typewriter/index.js +8 -8
- package/src/components/Welcome/index.js +8 -8
- package/src/components/Welcome/src/main.vue +151 -151
- package/src/index.js +23 -3
- package/src/styles/Attachments.scss +236 -236
- package/src/styles/Bubble.scss +157 -157
- package/src/styles/BubbleList.scss +148 -148
- package/src/styles/Conversations.scss +260 -260
- package/src/styles/FilesCard.scss +221 -221
- package/src/styles/Prompts.scss +195 -195
- package/src/styles/Sender.scss +199 -199
- package/src/styles/Think.scss +134 -134
- package/src/styles/Thinking.scss +112 -112
- package/src/styles/ThoughtChain.scss +113 -113
- package/src/styles/Typewriter.scss +66 -66
- package/src/styles/button.scss +302 -0
- package/src/styles/var.scss +1052 -0
- package/src/theme/var.scss +72 -72
package/lib/index.js
CHANGED
|
@@ -273,7 +273,7 @@ var UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source,
|
|
|
273
273
|
|
|
274
274
|
var DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;
|
|
275
275
|
|
|
276
|
-
var entities = __webpack_require__(
|
|
276
|
+
var entities = __webpack_require__(13);
|
|
277
277
|
|
|
278
278
|
function replaceEntityPattern(match, name) {
|
|
279
279
|
var code = 0;
|
|
@@ -378,7 +378,7 @@ function isWhiteSpace(code) {
|
|
|
378
378
|
////////////////////////////////////////////////////////////////////////////////
|
|
379
379
|
|
|
380
380
|
/*eslint-disable max-len*/
|
|
381
|
-
var UNICODE_PUNCT_RE = __webpack_require__(
|
|
381
|
+
var UNICODE_PUNCT_RE = __webpack_require__(7);
|
|
382
382
|
|
|
383
383
|
// Currently without astral characters support.
|
|
384
384
|
function isPunctChar(ch) {
|
|
@@ -492,8 +492,8 @@ function normalizeReference(str) {
|
|
|
492
492
|
// bundled size (e.g. a browser build).
|
|
493
493
|
//
|
|
494
494
|
exports.lib = {};
|
|
495
|
-
exports.lib.mdurl = __webpack_require__(
|
|
496
|
-
exports.lib.ucmicro = __webpack_require__(
|
|
495
|
+
exports.lib.mdurl = __webpack_require__(14);
|
|
496
|
+
exports.lib.ucmicro = __webpack_require__(35);
|
|
497
497
|
|
|
498
498
|
exports.assign = assign;
|
|
499
499
|
exports.isString = isString;
|
|
@@ -2811,10 +2811,935 @@ Prism.languages.js = Prism.languages.javascript;
|
|
|
2811
2811
|
|
|
2812
2812
|
}());
|
|
2813
2813
|
|
|
2814
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
2814
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(11)))
|
|
2815
2815
|
|
|
2816
2816
|
/***/ }),
|
|
2817
2817
|
/* 5 */
|
|
2818
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
2819
|
+
|
|
2820
|
+
"use strict";
|
|
2821
|
+
// ESM COMPAT FLAG
|
|
2822
|
+
__webpack_require__.r(__webpack_exports__);
|
|
2823
|
+
|
|
2824
|
+
// EXPORTS
|
|
2825
|
+
__webpack_require__.d(__webpack_exports__, "createSendUtils", function() { return /* reexport */ createSendUtils; });
|
|
2826
|
+
__webpack_require__.d(__webpack_exports__, "createStreamUtils", function() { return /* reexport */ createStreamUtils; });
|
|
2827
|
+
__webpack_require__.d(__webpack_exports__, "DEFAULT_KV_SEPARATOR", function() { return /* reexport */ DEFAULT_KV_SEPARATOR; });
|
|
2828
|
+
__webpack_require__.d(__webpack_exports__, "DEFAULT_PART_SEPARATOR", function() { return /* reexport */ DEFAULT_PART_SEPARATOR; });
|
|
2829
|
+
__webpack_require__.d(__webpack_exports__, "DEFAULT_STREAM_SEPARATOR", function() { return /* reexport */ DEFAULT_STREAM_SEPARATOR; });
|
|
2830
|
+
__webpack_require__.d(__webpack_exports__, "isValidString", function() { return /* reexport */ isValidString; });
|
|
2831
|
+
__webpack_require__.d(__webpack_exports__, "recordMixin", function() { return /* reexport */ recordMixin; });
|
|
2832
|
+
__webpack_require__.d(__webpack_exports__, "sendMixin", function() { return /* reexport */ sendMixin; });
|
|
2833
|
+
__webpack_require__.d(__webpack_exports__, "splitPart", function() { return /* reexport */ splitPart; });
|
|
2834
|
+
__webpack_require__.d(__webpack_exports__, "splitStream", function() { return /* reexport */ splitStream; });
|
|
2835
|
+
__webpack_require__.d(__webpack_exports__, "streamMixin", function() { return /* reexport */ streamMixin; });
|
|
2836
|
+
__webpack_require__.d(__webpack_exports__, "XRequest", function() { return /* reexport */ XRequest; });
|
|
2837
|
+
__webpack_require__.d(__webpack_exports__, "XStream", function() { return /* reexport */ XStream; });
|
|
2838
|
+
|
|
2839
|
+
// CONCATENATED MODULE: ./src/mixins/recordMixin.js
|
|
2840
|
+
/**
|
|
2841
|
+
* @description 提供语音识别的混入,允许语音输入并处理开始、结束、结果及错误等各种事件。
|
|
2842
|
+
*
|
|
2843
|
+
* @mixin recordMixin
|
|
2844
|
+
*/
|
|
2845
|
+
|
|
2846
|
+
/* harmony default export */ var recordMixin = ({
|
|
2847
|
+
data() {
|
|
2848
|
+
return {
|
|
2849
|
+
// 语音识别状态
|
|
2850
|
+
recordLoading: false,
|
|
2851
|
+
// 识别结果
|
|
2852
|
+
recordValue: '',
|
|
2853
|
+
// 识别实例
|
|
2854
|
+
recordRecognition: null,
|
|
2855
|
+
// 配置选项
|
|
2856
|
+
recordOptions: {
|
|
2857
|
+
onError: null,
|
|
2858
|
+
onStart: null,
|
|
2859
|
+
onEnd: null,
|
|
2860
|
+
onResult: null
|
|
2861
|
+
}
|
|
2862
|
+
};
|
|
2863
|
+
},
|
|
2864
|
+
methods: {
|
|
2865
|
+
/**
|
|
2866
|
+
* 初始化语音识别配置
|
|
2867
|
+
* @param {Object} options - 配置选项
|
|
2868
|
+
* @param {Function} [options.onError] - 错误回调
|
|
2869
|
+
* @param {Function} [options.onStart] - 开始回调
|
|
2870
|
+
* @param {Function} [options.onEnd] - 结束回调
|
|
2871
|
+
* @param {Function} [options.onResult] - 结果回调
|
|
2872
|
+
*/
|
|
2873
|
+
initRecord(options = {}) {
|
|
2874
|
+
this.recordOptions = {
|
|
2875
|
+
...this.recordOptions,
|
|
2876
|
+
...options
|
|
2877
|
+
};
|
|
2878
|
+
},
|
|
2879
|
+
/**
|
|
2880
|
+
* 开始语音识别
|
|
2881
|
+
*/
|
|
2882
|
+
startRecord() {
|
|
2883
|
+
if ('webkitSpeechRecognition' in window) {
|
|
2884
|
+
this.recordRecognition = new window.webkitSpeechRecognition();
|
|
2885
|
+
this.recordRecognition.continuous = true;
|
|
2886
|
+
this.recordRecognition.interimResults = true;
|
|
2887
|
+
this.recordRecognition.lang = 'zh-CN';
|
|
2888
|
+
this.recordRecognition.onstart = () => {
|
|
2889
|
+
this.recordLoading = true;
|
|
2890
|
+
this.recordValue = '';
|
|
2891
|
+
if (this.recordOptions.onStart) {
|
|
2892
|
+
this.recordOptions.onStart();
|
|
2893
|
+
}
|
|
2894
|
+
};
|
|
2895
|
+
this.recordRecognition.onend = () => {
|
|
2896
|
+
this.recordLoading = false;
|
|
2897
|
+
if (this.recordOptions.onEnd) {
|
|
2898
|
+
this.recordOptions.onEnd(this.recordValue);
|
|
2899
|
+
}
|
|
2900
|
+
};
|
|
2901
|
+
this.recordRecognition.onerror = e => {
|
|
2902
|
+
this.recordLoading = false;
|
|
2903
|
+
if (this.recordOptions.onError) {
|
|
2904
|
+
this.recordOptions.onError(e);
|
|
2905
|
+
}
|
|
2906
|
+
};
|
|
2907
|
+
this.recordRecognition.onresult = e => {
|
|
2908
|
+
let results = '';
|
|
2909
|
+
for (let i = 0; i <= e.resultIndex; i++) {
|
|
2910
|
+
results += e.results[i][0].transcript;
|
|
2911
|
+
}
|
|
2912
|
+
this.recordValue = results;
|
|
2913
|
+
if (this.recordOptions.onResult) {
|
|
2914
|
+
this.recordOptions.onResult(results);
|
|
2915
|
+
}
|
|
2916
|
+
};
|
|
2917
|
+
this.recordRecognition.start();
|
|
2918
|
+
} else {
|
|
2919
|
+
const error = {
|
|
2920
|
+
code: -1,
|
|
2921
|
+
message: 'The current browser does not support voice recognition'
|
|
2922
|
+
};
|
|
2923
|
+
if (this.recordOptions.onError) {
|
|
2924
|
+
this.recordOptions.onError(error);
|
|
2925
|
+
}
|
|
2926
|
+
}
|
|
2927
|
+
},
|
|
2928
|
+
/**
|
|
2929
|
+
* 停止语音识别
|
|
2930
|
+
*/
|
|
2931
|
+
stopRecord() {
|
|
2932
|
+
if (this.recordRecognition) {
|
|
2933
|
+
this.recordRecognition.stop();
|
|
2934
|
+
}
|
|
2935
|
+
},
|
|
2936
|
+
/**
|
|
2937
|
+
* 清理语音识别资源
|
|
2938
|
+
*/
|
|
2939
|
+
cleanupRecord() {
|
|
2940
|
+
this.stopRecord();
|
|
2941
|
+
this.recordRecognition = null;
|
|
2942
|
+
}
|
|
2943
|
+
},
|
|
2944
|
+
beforeDestroy() {
|
|
2945
|
+
this.cleanupRecord();
|
|
2946
|
+
}
|
|
2947
|
+
});
|
|
2948
|
+
// CONCATENATED MODULE: ./src/mixins/sendMixin.js
|
|
2949
|
+
/**
|
|
2950
|
+
* XRequest 类 - 用于处理 SSE 和 Fetch 请求
|
|
2951
|
+
*/
|
|
2952
|
+
class XRequest {
|
|
2953
|
+
constructor(options = {}) {
|
|
2954
|
+
const {
|
|
2955
|
+
baseURL,
|
|
2956
|
+
onAbort,
|
|
2957
|
+
onMessage,
|
|
2958
|
+
onError,
|
|
2959
|
+
baseOptions,
|
|
2960
|
+
transformer,
|
|
2961
|
+
type,
|
|
2962
|
+
onFinish,
|
|
2963
|
+
onOpen
|
|
2964
|
+
} = options;
|
|
2965
|
+
this._instance = null;
|
|
2966
|
+
this._transformer = transformer;
|
|
2967
|
+
this._baseURL = baseURL || '';
|
|
2968
|
+
this._baseOptions = baseOptions || {};
|
|
2969
|
+
this._onAbort = onAbort;
|
|
2970
|
+
this._onMessage = onMessage;
|
|
2971
|
+
this._onError = onError;
|
|
2972
|
+
this._onOpen = onOpen;
|
|
2973
|
+
this._type = type || 'sse';
|
|
2974
|
+
this._controller = null;
|
|
2975
|
+
this._onFinish = onFinish;
|
|
2976
|
+
this._messages = [];
|
|
2977
|
+
// 添加结束标志和超时控制
|
|
2978
|
+
this._isFinished = false;
|
|
2979
|
+
this._finishTimeout = null;
|
|
2980
|
+
|
|
2981
|
+
// 绑定方法上下文
|
|
2982
|
+
this.abort = this.abort.bind(this);
|
|
2983
|
+
this.send = this.send.bind(this);
|
|
2984
|
+
}
|
|
2985
|
+
_sendWithFetch(url, options = {}) {
|
|
2986
|
+
this._controller = new AbortController();
|
|
2987
|
+
const signal = this._controller.signal;
|
|
2988
|
+
const fetchOptions = {
|
|
2989
|
+
...options,
|
|
2990
|
+
signal
|
|
2991
|
+
};
|
|
2992
|
+
return fetch(this._baseURL + url, fetchOptions).then(res => res.body).then(async body => {
|
|
2993
|
+
if (!body) {
|
|
2994
|
+
return Promise.reject(new Error('Response body is null in stream mode'));
|
|
2995
|
+
}
|
|
2996
|
+
const reader = body.getReader();
|
|
2997
|
+
const decoder = new TextDecoder('utf-8');
|
|
2998
|
+
let done = false;
|
|
2999
|
+
while (!done) {
|
|
3000
|
+
const {
|
|
3001
|
+
value,
|
|
3002
|
+
done: streamDone
|
|
3003
|
+
} = await reader.read();
|
|
3004
|
+
done = streamDone;
|
|
3005
|
+
if (streamDone) {
|
|
3006
|
+
this._onFinish && this._onFinish(this._messages);
|
|
3007
|
+
return;
|
|
3008
|
+
}
|
|
3009
|
+
if (value) {
|
|
3010
|
+
const chunk = decoder.decode(value, {
|
|
3011
|
+
stream: true
|
|
3012
|
+
});
|
|
3013
|
+
const chunkUse = chunk.startsWith('data: ') ? chunk.slice(6) : chunk;
|
|
3014
|
+
try {
|
|
3015
|
+
const res = this._transformer ? this._transformer(chunkUse) : chunkUse;
|
|
3016
|
+
this._messages.push(res);
|
|
3017
|
+
this._onMessage && this._onMessage(res);
|
|
3018
|
+
} catch (error) {
|
|
3019
|
+
this._onError && this._onError(error);
|
|
3020
|
+
this._controller && this._controller.abort();
|
|
3021
|
+
return Promise.reject(error);
|
|
3022
|
+
}
|
|
3023
|
+
}
|
|
3024
|
+
}
|
|
3025
|
+
}).catch(err => {
|
|
3026
|
+
if (err.name === 'AbortError') {
|
|
3027
|
+
this._onAbort && this._onAbort(this._messages);
|
|
3028
|
+
return;
|
|
3029
|
+
}
|
|
3030
|
+
this._onError && this._onError(err);
|
|
3031
|
+
this._controller && this._controller.abort();
|
|
3032
|
+
});
|
|
3033
|
+
}
|
|
3034
|
+
_sendWithSSE(url, options = {}) {
|
|
3035
|
+
const es = new EventSource(this._baseURL + url, {
|
|
3036
|
+
...this._baseOptions,
|
|
3037
|
+
...options
|
|
3038
|
+
});
|
|
3039
|
+
es.onmessage = e => {
|
|
3040
|
+
// 检查是否是结束消息
|
|
3041
|
+
if (e.data === '[DONE]' || e.data === 'data: [DONE]') {
|
|
3042
|
+
this._isFinished = true;
|
|
3043
|
+
this._onFinish && this._onFinish(this._messages);
|
|
3044
|
+
this.abort();
|
|
3045
|
+
return;
|
|
3046
|
+
}
|
|
3047
|
+
const res = this._transformer ? this._transformer(e.data) : e;
|
|
3048
|
+
this._messages.push(res);
|
|
3049
|
+
this._onMessage && this._onMessage(res);
|
|
3050
|
+
|
|
3051
|
+
// 重置超时定时器
|
|
3052
|
+
if (this._finishTimeout) {
|
|
3053
|
+
clearTimeout(this._finishTimeout);
|
|
3054
|
+
}
|
|
3055
|
+
|
|
3056
|
+
// 设置超时检测:如果 10 秒内没有新消息,认为连接可能已结束
|
|
3057
|
+
this._finishTimeout = setTimeout(() => {
|
|
3058
|
+
if (!this._isFinished && es.readyState !== EventSource.CONNECTING) {
|
|
3059
|
+
this._isFinished = true;
|
|
3060
|
+
this._onFinish && this._onFinish(this._messages);
|
|
3061
|
+
this.abort();
|
|
3062
|
+
}
|
|
3063
|
+
}, 10000);
|
|
3064
|
+
};
|
|
3065
|
+
es.onopen = () => {
|
|
3066
|
+
this._onOpen && this._onOpen();
|
|
3067
|
+
};
|
|
3068
|
+
es.onerror = ev => {
|
|
3069
|
+
// 清除超时定时器
|
|
3070
|
+
if (this._finishTimeout) {
|
|
3071
|
+
clearTimeout(this._finishTimeout);
|
|
3072
|
+
this._finishTimeout = null;
|
|
3073
|
+
}
|
|
3074
|
+
|
|
3075
|
+
// 如果已经标记为结束,直接返回
|
|
3076
|
+
if (this._isFinished) {
|
|
3077
|
+
return;
|
|
3078
|
+
}
|
|
3079
|
+
|
|
3080
|
+
// 更可靠的结束检测逻辑
|
|
3081
|
+
if (es.readyState === EventSource.CLOSED || this._messages.length > 0 && es.readyState !== EventSource.CONNECTING) {
|
|
3082
|
+
// 有消息且连接状态不是正在连接,很可能是正常结束
|
|
3083
|
+
this._isFinished = true;
|
|
3084
|
+
this._onFinish && this._onFinish(this._messages);
|
|
3085
|
+
} else {
|
|
3086
|
+
// 真正的错误情况
|
|
3087
|
+
this._onError && this._onError(es, ev);
|
|
3088
|
+
}
|
|
3089
|
+
this.abort();
|
|
3090
|
+
};
|
|
3091
|
+
this._instance = es;
|
|
3092
|
+
return es;
|
|
3093
|
+
}
|
|
3094
|
+
send(url, options = {}) {
|
|
3095
|
+
switch (this._type) {
|
|
3096
|
+
case 'fetch':
|
|
3097
|
+
this._sendWithFetch(url, options);
|
|
3098
|
+
break;
|
|
3099
|
+
default:
|
|
3100
|
+
this._sendWithSSE(url, options);
|
|
3101
|
+
}
|
|
3102
|
+
return this;
|
|
3103
|
+
}
|
|
3104
|
+
abort() {
|
|
3105
|
+
// 清除超时定时器
|
|
3106
|
+
if (this._finishTimeout) {
|
|
3107
|
+
clearTimeout(this._finishTimeout);
|
|
3108
|
+
this._finishTimeout = null;
|
|
3109
|
+
}
|
|
3110
|
+
if (this._instance && this._instance.close) {
|
|
3111
|
+
this._instance.close();
|
|
3112
|
+
}
|
|
3113
|
+
this._instance = null;
|
|
3114
|
+
if (this._controller) {
|
|
3115
|
+
this._controller.abort();
|
|
3116
|
+
}
|
|
3117
|
+
this._controller = null;
|
|
3118
|
+
|
|
3119
|
+
// 只有在未正常结束时才调用 onAbort
|
|
3120
|
+
if (!this._isFinished) {
|
|
3121
|
+
this._onAbort && this._onAbort(this._messages);
|
|
3122
|
+
}
|
|
3123
|
+
this._messages = [];
|
|
3124
|
+
this._isFinished = false;
|
|
3125
|
+
}
|
|
3126
|
+
}
|
|
3127
|
+
|
|
3128
|
+
/**
|
|
3129
|
+
* sendMixin -
|
|
3130
|
+
* 用于处理发送操作管理请求状态的 mixin,支持可选的中止功能,同时支持 Promise 和 SSE(服务端事件)
|
|
3131
|
+
*/
|
|
3132
|
+
const sendMixin = {
|
|
3133
|
+
data() {
|
|
3134
|
+
return {
|
|
3135
|
+
loading: false,
|
|
3136
|
+
_sendPromise: null,
|
|
3137
|
+
_sendController: null
|
|
3138
|
+
};
|
|
3139
|
+
},
|
|
3140
|
+
methods: {
|
|
3141
|
+
/**
|
|
3142
|
+
* 初始化发送配置
|
|
3143
|
+
* @param {Object} options - 配置选项
|
|
3144
|
+
* @param {Function} options.onAbort - 中止回调
|
|
3145
|
+
* @param {Function} options.sendHandler - 发送处理器
|
|
3146
|
+
* @param {Function} options.abortHandler - 中止处理器
|
|
3147
|
+
* @param {Function} options.finishHandler - 完成处理器
|
|
3148
|
+
*/
|
|
3149
|
+
initSend(options = {}) {
|
|
3150
|
+
this._sendOptions = {
|
|
3151
|
+
onAbort: options.onAbort,
|
|
3152
|
+
sendHandler: options.sendHandler,
|
|
3153
|
+
abortHandler: options.abortHandler,
|
|
3154
|
+
finishHandler: options.finishHandler
|
|
3155
|
+
};
|
|
3156
|
+
},
|
|
3157
|
+
/**
|
|
3158
|
+
* 发送操作
|
|
3159
|
+
* @param {...any} args - 传递给 sendHandler 的参数
|
|
3160
|
+
*/
|
|
3161
|
+
handleSend(...args) {
|
|
3162
|
+
if (this.loading) {
|
|
3163
|
+
return;
|
|
3164
|
+
}
|
|
3165
|
+
if (this._sendOptions && this._sendOptions.sendHandler) {
|
|
3166
|
+
this._sendOptions.sendHandler(...args);
|
|
3167
|
+
}
|
|
3168
|
+
this.loading = true;
|
|
3169
|
+
},
|
|
3170
|
+
/**
|
|
3171
|
+
* 中止操作
|
|
3172
|
+
*/
|
|
3173
|
+
handleAbort() {
|
|
3174
|
+
this.loading = false;
|
|
3175
|
+
if (this._sendOptions && this._sendOptions.abortHandler) {
|
|
3176
|
+
this._sendOptions.abortHandler();
|
|
3177
|
+
}
|
|
3178
|
+
if (this._sendOptions && this._sendOptions.onAbort) {
|
|
3179
|
+
this._sendOptions.onAbort();
|
|
3180
|
+
}
|
|
3181
|
+
},
|
|
3182
|
+
/**
|
|
3183
|
+
* 完成操作
|
|
3184
|
+
*/
|
|
3185
|
+
handleFinish() {
|
|
3186
|
+
this.loading = false;
|
|
3187
|
+
if (this._sendOptions && this._sendOptions.finishHandler) {
|
|
3188
|
+
this._sendOptions.finishHandler();
|
|
3189
|
+
}
|
|
3190
|
+
},
|
|
3191
|
+
/**
|
|
3192
|
+
* 创建 XRequest 实例的便捷方法
|
|
3193
|
+
* @param {Object} options - XRequest 配置选项
|
|
3194
|
+
* @returns {XRequest} XRequest 实例
|
|
3195
|
+
*/
|
|
3196
|
+
createXRequest(options = {}) {
|
|
3197
|
+
return new XRequest({
|
|
3198
|
+
...options,
|
|
3199
|
+
onAbort: (...args) => {
|
|
3200
|
+
this.handleAbort();
|
|
3201
|
+
if (options.onAbort) {
|
|
3202
|
+
options.onAbort(...args);
|
|
3203
|
+
}
|
|
3204
|
+
},
|
|
3205
|
+
onFinish: (...args) => {
|
|
3206
|
+
this.handleFinish();
|
|
3207
|
+
if (options.onFinish) {
|
|
3208
|
+
options.onFinish(...args);
|
|
3209
|
+
}
|
|
3210
|
+
}
|
|
3211
|
+
});
|
|
3212
|
+
}
|
|
3213
|
+
},
|
|
3214
|
+
beforeDestroy() {
|
|
3215
|
+
// 组件销毁时清理资源
|
|
3216
|
+
if (this._sendController) {
|
|
3217
|
+
this._sendController.abort();
|
|
3218
|
+
}
|
|
3219
|
+
}
|
|
3220
|
+
};
|
|
3221
|
+
|
|
3222
|
+
/**
|
|
3223
|
+
* 工具函数版本 - 用于非组件场景
|
|
3224
|
+
* @param {Object} options - 配置选项
|
|
3225
|
+
* @returns {Object} 包含发送相关方法的对象
|
|
3226
|
+
*/
|
|
3227
|
+
function createSendUtils(options = {}) {
|
|
3228
|
+
const state = {
|
|
3229
|
+
loading: false
|
|
3230
|
+
};
|
|
3231
|
+
const handleSend = (...args) => {
|
|
3232
|
+
if (state.loading) {
|
|
3233
|
+
return;
|
|
3234
|
+
}
|
|
3235
|
+
if (options.sendHandler) {
|
|
3236
|
+
options.sendHandler(...args);
|
|
3237
|
+
}
|
|
3238
|
+
state.loading = true;
|
|
3239
|
+
};
|
|
3240
|
+
const handleAbort = () => {
|
|
3241
|
+
state.loading = false;
|
|
3242
|
+
if (options.abortHandler) {
|
|
3243
|
+
options.abortHandler();
|
|
3244
|
+
}
|
|
3245
|
+
if (options.onAbort) {
|
|
3246
|
+
options.onAbort();
|
|
3247
|
+
}
|
|
3248
|
+
};
|
|
3249
|
+
const handleFinish = () => {
|
|
3250
|
+
state.loading = false;
|
|
3251
|
+
if (options.finishHandler) {
|
|
3252
|
+
options.finishHandler();
|
|
3253
|
+
}
|
|
3254
|
+
};
|
|
3255
|
+
return {
|
|
3256
|
+
state,
|
|
3257
|
+
send: handleSend,
|
|
3258
|
+
abort: handleAbort,
|
|
3259
|
+
finish: handleFinish
|
|
3260
|
+
};
|
|
3261
|
+
}
|
|
3262
|
+
/* harmony default export */ var mixins_sendMixin = (sendMixin);
|
|
3263
|
+
// CONCATENATED MODULE: ./src/mixins/streamMixin.js
|
|
3264
|
+
/**
|
|
3265
|
+
* @fileoverview Vue2 流式数据处理 Mixin
|
|
3266
|
+
* 从 Vue3 useXStream hooks 转换而来,支持 SSE 数据解析和中断功能
|
|
3267
|
+
* @author Element UI X Team
|
|
3268
|
+
* @version 1.0.0
|
|
3269
|
+
*/
|
|
3270
|
+
|
|
3271
|
+
/**
|
|
3272
|
+
* 默认流分隔符
|
|
3273
|
+
* @type {string}
|
|
3274
|
+
* @constant
|
|
3275
|
+
*/
|
|
3276
|
+
const DEFAULT_STREAM_SEPARATOR = '\n\n';
|
|
3277
|
+
|
|
3278
|
+
/**
|
|
3279
|
+
* 默认部分分隔符
|
|
3280
|
+
* @type {string}
|
|
3281
|
+
* @constant
|
|
3282
|
+
*/
|
|
3283
|
+
const DEFAULT_PART_SEPARATOR = '\n';
|
|
3284
|
+
|
|
3285
|
+
/**
|
|
3286
|
+
* 默认键值分隔符
|
|
3287
|
+
* @type {string}
|
|
3288
|
+
* @constant
|
|
3289
|
+
*/
|
|
3290
|
+
const DEFAULT_KV_SEPARATOR = ':';
|
|
3291
|
+
|
|
3292
|
+
/**
|
|
3293
|
+
* SSE 字段类型定义
|
|
3294
|
+
* @typedef {'data'|'event'|'id'|'retry'} SSEFields
|
|
3295
|
+
*/
|
|
3296
|
+
|
|
3297
|
+
/**
|
|
3298
|
+
* SSE 输出对象类型
|
|
3299
|
+
* @typedef {Object} SSEOutput
|
|
3300
|
+
* @property {string} [data] - 数据字段
|
|
3301
|
+
* @property {string} [event] - 事件字段
|
|
3302
|
+
* @property {string} [id] - ID字段
|
|
3303
|
+
* @property {string} [retry] - 重试字段
|
|
3304
|
+
*/
|
|
3305
|
+
|
|
3306
|
+
/**
|
|
3307
|
+
* 流配置选项
|
|
3308
|
+
* @typedef {Object} XStreamOptions
|
|
3309
|
+
* @property {ReadableStream<Uint8Array>} readableStream - 可读流
|
|
3310
|
+
* @property {TransformStream<string, *>} [transformStream] - 可选的转换流
|
|
3311
|
+
*/
|
|
3312
|
+
|
|
3313
|
+
/**
|
|
3314
|
+
* 流状态对象
|
|
3315
|
+
* @typedef {Object} StreamState
|
|
3316
|
+
* @property {Array<*>} data - 流数据数组
|
|
3317
|
+
* @property {Error|null} error - 错误信息
|
|
3318
|
+
* @property {boolean} loading - 加载状态
|
|
3319
|
+
*/
|
|
3320
|
+
|
|
3321
|
+
/**
|
|
3322
|
+
* 流回调函数配置
|
|
3323
|
+
* @typedef {Object} StreamCallbacks
|
|
3324
|
+
* @property {function(*): void} [onData] - 数据回调函数
|
|
3325
|
+
* @property {function(Array<*>): void} [onComplete] - 完成回调函数
|
|
3326
|
+
* @property {function(Error): void} [onError] - 错误回调函数
|
|
3327
|
+
* @property {function(): void} [onCancel] - 取消回调函数
|
|
3328
|
+
* @property {function(): void} [onFinish] - 结束回调函数
|
|
3329
|
+
*/
|
|
3330
|
+
|
|
3331
|
+
/**
|
|
3332
|
+
* 流工具函数返回对象
|
|
3333
|
+
* @typedef {Object} StreamUtils
|
|
3334
|
+
* @property {StreamState} state - 流状态
|
|
3335
|
+
* @property {function(XStreamOptions): Promise<void>} startStream - 启动流处理
|
|
3336
|
+
* @property {function(): void} cancel - 取消流处理
|
|
3337
|
+
* @property {function(): void} reset - 重置流状态
|
|
3338
|
+
*/
|
|
3339
|
+
|
|
3340
|
+
/**
|
|
3341
|
+
* 验证字符串是否有效(非空且非空白)
|
|
3342
|
+
* @param {string} str - 待验证的字符串
|
|
3343
|
+
* @returns {boolean} 是否为有效字符串
|
|
3344
|
+
*/
|
|
3345
|
+
const isValidString = str => (str === null || str === undefined ? '' : str).trim() !== '';
|
|
3346
|
+
|
|
3347
|
+
/**
|
|
3348
|
+
* 创建流分割转换器
|
|
3349
|
+
* 按照默认分隔符分割流数据
|
|
3350
|
+
* @returns {TransformStream<string, string>} 流分割转换器
|
|
3351
|
+
*/
|
|
3352
|
+
function splitStream() {
|
|
3353
|
+
let buffer = '';
|
|
3354
|
+
return new TransformStream({
|
|
3355
|
+
/**
|
|
3356
|
+
* 转换函数
|
|
3357
|
+
* @param {string} chunk - 数据块
|
|
3358
|
+
* @param {TransformStreamDefaultController<string>} controller - 控制器
|
|
3359
|
+
*/
|
|
3360
|
+
transform(chunk, controller) {
|
|
3361
|
+
buffer += chunk;
|
|
3362
|
+
const parts = buffer.split(DEFAULT_STREAM_SEPARATOR);
|
|
3363
|
+
parts.slice(0, -1).forEach(part => {
|
|
3364
|
+
if (isValidString(part)) controller.enqueue(part);
|
|
3365
|
+
});
|
|
3366
|
+
buffer = parts[parts.length - 1];
|
|
3367
|
+
},
|
|
3368
|
+
/**
|
|
3369
|
+
* 刷新函数
|
|
3370
|
+
* @param {TransformStreamDefaultController<string>} controller - 控制器
|
|
3371
|
+
*/
|
|
3372
|
+
flush(controller) {
|
|
3373
|
+
if (isValidString(buffer)) controller.enqueue(buffer);
|
|
3374
|
+
}
|
|
3375
|
+
});
|
|
3376
|
+
}
|
|
3377
|
+
|
|
3378
|
+
/**
|
|
3379
|
+
* 创建 SSE 数据解析转换器
|
|
3380
|
+
* 将文本数据解析为 SSE 格式对象
|
|
3381
|
+
* @returns {TransformStream<string, SSEOutput>} SSE 解析转换器
|
|
3382
|
+
*/
|
|
3383
|
+
function splitPart() {
|
|
3384
|
+
return new TransformStream({
|
|
3385
|
+
/**
|
|
3386
|
+
* 转换函数
|
|
3387
|
+
* @param {string} partChunk - 数据块
|
|
3388
|
+
* @param {TransformStreamDefaultController<SSEOutput>} controller - 控制器
|
|
3389
|
+
*/
|
|
3390
|
+
transform(partChunk, controller) {
|
|
3391
|
+
const lines = partChunk.split(DEFAULT_PART_SEPARATOR);
|
|
3392
|
+
const sseEvent = lines.reduce((acc, line) => {
|
|
3393
|
+
const sepIndex = line.indexOf(DEFAULT_KV_SEPARATOR);
|
|
3394
|
+
if (sepIndex === -1) return acc;
|
|
3395
|
+
const key = line.slice(0, sepIndex);
|
|
3396
|
+
if (!isValidString(key)) return acc;
|
|
3397
|
+
const value = line.slice(sepIndex + 1);
|
|
3398
|
+
return {
|
|
3399
|
+
...acc,
|
|
3400
|
+
[key]: value
|
|
3401
|
+
};
|
|
3402
|
+
}, {});
|
|
3403
|
+
if (Object.keys(sseEvent).length > 0) controller.enqueue(sseEvent);
|
|
3404
|
+
}
|
|
3405
|
+
});
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
/**
|
|
3409
|
+
* 核心流处理函数(支持中断)
|
|
3410
|
+
* @param {XStreamOptions} options - 配置选项
|
|
3411
|
+
* @param {ReadableStream<Uint8Array>} options.readableStream - 可读流
|
|
3412
|
+
* @param {TransformStream<string, *>} [options.transformStream] - 可选的转换流
|
|
3413
|
+
* @param {AbortSignal} [signal] - 中断信号
|
|
3414
|
+
* @returns {ReadableStream<*>} 处理后的流,支持异步迭代
|
|
3415
|
+
* @throws {TypeError} 当 readableStream 不是 ReadableStream 实例时抛出
|
|
3416
|
+
*/
|
|
3417
|
+
function XStream(options, signal) {
|
|
3418
|
+
const {
|
|
3419
|
+
readableStream,
|
|
3420
|
+
transformStream
|
|
3421
|
+
} = options;
|
|
3422
|
+
if (!(readableStream instanceof ReadableStream)) {
|
|
3423
|
+
throw new TypeError('options.readableStream 必须是 ReadableStream 的实例。');
|
|
3424
|
+
}
|
|
3425
|
+
const decoderStream = new TextDecoderStream();
|
|
3426
|
+
const processedStream = transformStream ? readableStream.pipeThrough(decoderStream).pipeThrough(transformStream) : readableStream.pipeThrough(decoderStream).pipeThrough(splitStream()).pipeThrough(splitPart());
|
|
3427
|
+
|
|
3428
|
+
// 为流添加异步迭代器并处理中断信号
|
|
3429
|
+
processedStream[Symbol.asyncIterator] = async function* () {
|
|
3430
|
+
const reader = this.getReader();
|
|
3431
|
+
this.reader = reader; // 保存读取器引用
|
|
3432
|
+
try {
|
|
3433
|
+
while (true) {
|
|
3434
|
+
if (signal && signal.aborted) {
|
|
3435
|
+
await reader.cancel(); // 主动取消 reader
|
|
3436
|
+
break;
|
|
3437
|
+
}
|
|
3438
|
+
const {
|
|
3439
|
+
done,
|
|
3440
|
+
value
|
|
3441
|
+
} = await reader.read();
|
|
3442
|
+
if (done) break;
|
|
3443
|
+
if (value) yield value;
|
|
3444
|
+
}
|
|
3445
|
+
} finally {
|
|
3446
|
+
reader.releaseLock(); // 释放锁
|
|
3447
|
+
}
|
|
3448
|
+
};
|
|
3449
|
+
return processedStream;
|
|
3450
|
+
}
|
|
3451
|
+
|
|
3452
|
+
/**
|
|
3453
|
+
* streamMixin -
|
|
3454
|
+
* 用于处理流式数据的 mixin,支持 SSE 数据解析和中断功能
|
|
3455
|
+
* @namespace streamMixin
|
|
3456
|
+
* @type {Object}
|
|
3457
|
+
*/
|
|
3458
|
+
const streamMixin = {
|
|
3459
|
+
/**
|
|
3460
|
+
* 组件数据
|
|
3461
|
+
* @returns {Object} 响应式数据对象
|
|
3462
|
+
* @property {Array<*>} streamData - 流数据数组
|
|
3463
|
+
* @property {Error|null} streamError - 流错误信息
|
|
3464
|
+
* @property {boolean} streamLoading - 流处理状态
|
|
3465
|
+
* @property {AbortController|null} _abortController - 私有:中断控制器
|
|
3466
|
+
* @property {ReadableStream|null} _currentStream - 私有:当前流引用
|
|
3467
|
+
*/
|
|
3468
|
+
data() {
|
|
3469
|
+
return {
|
|
3470
|
+
streamData: [],
|
|
3471
|
+
streamError: null,
|
|
3472
|
+
streamLoading: false,
|
|
3473
|
+
_abortController: null,
|
|
3474
|
+
_currentStream: null
|
|
3475
|
+
};
|
|
3476
|
+
},
|
|
3477
|
+
methods: {
|
|
3478
|
+
/**
|
|
3479
|
+
* 启动流式请求
|
|
3480
|
+
* @async
|
|
3481
|
+
* @param {XStreamOptions} options - 流配置选项
|
|
3482
|
+
* @param {ReadableStream<Uint8Array>} options.readableStream - 可读流
|
|
3483
|
+
* @param {TransformStream<string, *>} [options.transformStream] - 可选的转换流
|
|
3484
|
+
* @returns {Promise<void>} 流处理完成的 Promise
|
|
3485
|
+
* @fires streamMixin#stream-data - 收到新数据时触发
|
|
3486
|
+
* @fires streamMixin#stream-complete - 流完成时触发
|
|
3487
|
+
* @fires streamMixin#stream-error - 流错误时触发
|
|
3488
|
+
* @fires streamMixin#stream-finish - 流处理结束时触发
|
|
3489
|
+
* @example
|
|
3490
|
+
* // 基础使用
|
|
3491
|
+
* const response = await fetch('/api/stream')
|
|
3492
|
+
* await this.startStream({ readableStream: response.body })
|
|
3493
|
+
*
|
|
3494
|
+
* // 使用自定义转换流
|
|
3495
|
+
* const customTransform = new TransformStream({ ... })
|
|
3496
|
+
* await this.startStream({
|
|
3497
|
+
* readableStream: response.body,
|
|
3498
|
+
* transformStream: customTransform
|
|
3499
|
+
* })
|
|
3500
|
+
*/
|
|
3501
|
+
async startStream(options) {
|
|
3502
|
+
this.streamLoading = true;
|
|
3503
|
+
this.streamError = null;
|
|
3504
|
+
this.streamData = [];
|
|
3505
|
+
this._abortController = new AbortController();
|
|
3506
|
+
this._currentStream = XStream(options, this._abortController.signal);
|
|
3507
|
+
try {
|
|
3508
|
+
for await (const item of this._currentStream) {
|
|
3509
|
+
this.streamData.push(item);
|
|
3510
|
+
// 触发数据更新事件
|
|
3511
|
+
/**
|
|
3512
|
+
* 流数据事件
|
|
3513
|
+
* @event streamMixin#stream-data
|
|
3514
|
+
* @type {*} 流数据项
|
|
3515
|
+
*/
|
|
3516
|
+
this.$emit('stream-data', item);
|
|
3517
|
+
}
|
|
3518
|
+
// 流完成事件
|
|
3519
|
+
/**
|
|
3520
|
+
* 流完成事件
|
|
3521
|
+
* @event streamMixin#stream-complete
|
|
3522
|
+
* @type {Array<*>} 所有流数据
|
|
3523
|
+
*/
|
|
3524
|
+
this.$emit('stream-complete', this.streamData);
|
|
3525
|
+
} catch (err) {
|
|
3526
|
+
if (err instanceof Error) {
|
|
3527
|
+
this.streamError = err;
|
|
3528
|
+
/**
|
|
3529
|
+
* 流错误事件
|
|
3530
|
+
* @event streamMixin#stream-error
|
|
3531
|
+
* @type {Error} 错误对象
|
|
3532
|
+
*/
|
|
3533
|
+
this.$emit('stream-error', err);
|
|
3534
|
+
}
|
|
3535
|
+
} finally {
|
|
3536
|
+
this.streamLoading = false;
|
|
3537
|
+
this._currentStream = null; // 释放流引用
|
|
3538
|
+
this._abortController = null; // 释放控制器
|
|
3539
|
+
/**
|
|
3540
|
+
* 流处理结束事件
|
|
3541
|
+
* @event streamMixin#stream-finish
|
|
3542
|
+
*/
|
|
3543
|
+
this.$emit('stream-finish');
|
|
3544
|
+
}
|
|
3545
|
+
},
|
|
3546
|
+
/**
|
|
3547
|
+
* 中断流式请求(强制关闭流)
|
|
3548
|
+
* @returns {void}
|
|
3549
|
+
* @fires streamMixin#stream-cancel - 流被中断时触发
|
|
3550
|
+
* @example
|
|
3551
|
+
* this.cancelStream()
|
|
3552
|
+
*/
|
|
3553
|
+
cancelStream() {
|
|
3554
|
+
if (this._abortController) {
|
|
3555
|
+
this._abortController.abort();
|
|
3556
|
+
/**
|
|
3557
|
+
* 流取消事件
|
|
3558
|
+
* @event streamMixin#stream-cancel
|
|
3559
|
+
*/
|
|
3560
|
+
this.$emit('stream-cancel');
|
|
3561
|
+
}
|
|
3562
|
+
},
|
|
3563
|
+
/**
|
|
3564
|
+
* 重置流状态
|
|
3565
|
+
* 清空所有数据和状态,但不触发事件
|
|
3566
|
+
* @returns {void}
|
|
3567
|
+
* @example
|
|
3568
|
+
* this.resetStream()
|
|
3569
|
+
*/
|
|
3570
|
+
resetStream() {
|
|
3571
|
+
this.streamData = [];
|
|
3572
|
+
this.streamError = null;
|
|
3573
|
+
this.streamLoading = false;
|
|
3574
|
+
this._abortController = null;
|
|
3575
|
+
this._currentStream = null;
|
|
3576
|
+
},
|
|
3577
|
+
/**
|
|
3578
|
+
* 创建流处理器的便捷方法
|
|
3579
|
+
* @param {ReadableStream<Uint8Array>} readableStream - 可读流
|
|
3580
|
+
* @param {TransformStream<string, *>} [transformStream] - 可选的转换流
|
|
3581
|
+
* @returns {XStreamOptions} 流处理器配置对象
|
|
3582
|
+
* @example
|
|
3583
|
+
* const processor = this.createStreamProcessor(response.body)
|
|
3584
|
+
* await this.startStream(processor)
|
|
3585
|
+
*/
|
|
3586
|
+
createStreamProcessor(readableStream, transformStream) {
|
|
3587
|
+
return {
|
|
3588
|
+
readableStream,
|
|
3589
|
+
transformStream
|
|
3590
|
+
};
|
|
3591
|
+
}
|
|
3592
|
+
},
|
|
3593
|
+
/**
|
|
3594
|
+
* 组件销毁前的生命周期钩子
|
|
3595
|
+
* 自动清理流资源
|
|
3596
|
+
* @returns {void}
|
|
3597
|
+
*/
|
|
3598
|
+
beforeDestroy() {
|
|
3599
|
+
// 组件销毁时清理资源
|
|
3600
|
+
this.cancelStream();
|
|
3601
|
+
}
|
|
3602
|
+
};
|
|
3603
|
+
|
|
3604
|
+
/**
|
|
3605
|
+
* 工具函数版本 - 用于非组件场景
|
|
3606
|
+
* @param {StreamCallbacks} [callbacks={}] - 回调函数配置
|
|
3607
|
+
* @param {function(*): void} [callbacks.onData] - 数据回调函数
|
|
3608
|
+
* @param {function(Array<*>): void} [callbacks.onComplete] - 完成回调函数
|
|
3609
|
+
* @param {function(Error): void} [callbacks.onError] - 错误回调函数
|
|
3610
|
+
* @param {function(): void} [callbacks.onCancel] - 取消回调函数
|
|
3611
|
+
* @param {function(): void} [callbacks.onFinish] - 结束回调函数
|
|
3612
|
+
* @returns {StreamUtils} 包含流处理相关方法的对象
|
|
3613
|
+
* @example
|
|
3614
|
+
* // 基础使用
|
|
3615
|
+
* const streamUtils = createStreamUtils({
|
|
3616
|
+
* onData: (item) => console.log('数据:', item),
|
|
3617
|
+
* onComplete: (allData) => console.log('完成:', allData),
|
|
3618
|
+
* onError: (error) => console.error('错误:', error)
|
|
3619
|
+
* })
|
|
3620
|
+
*
|
|
3621
|
+
* const response = await fetch('/api/stream')
|
|
3622
|
+
* await streamUtils.startStream({ readableStream: response.body })
|
|
3623
|
+
*/
|
|
3624
|
+
function createStreamUtils(callbacks = {}) {
|
|
3625
|
+
/**
|
|
3626
|
+
* 流状态对象
|
|
3627
|
+
* @type {StreamState}
|
|
3628
|
+
*/
|
|
3629
|
+
const state = {
|
|
3630
|
+
data: [],
|
|
3631
|
+
error: null,
|
|
3632
|
+
loading: false
|
|
3633
|
+
};
|
|
3634
|
+
let abortController = null;
|
|
3635
|
+
let currentStream = null;
|
|
3636
|
+
|
|
3637
|
+
/**
|
|
3638
|
+
* 启动流处理
|
|
3639
|
+
* @async
|
|
3640
|
+
* @param {XStreamOptions} options - 流配置选项
|
|
3641
|
+
* @returns {Promise<void>} 流处理完成的 Promise
|
|
3642
|
+
*/
|
|
3643
|
+
const startStream = async options => {
|
|
3644
|
+
state.loading = true;
|
|
3645
|
+
state.error = null;
|
|
3646
|
+
state.data = [];
|
|
3647
|
+
abortController = new AbortController();
|
|
3648
|
+
currentStream = XStream(options, abortController.signal);
|
|
3649
|
+
try {
|
|
3650
|
+
for await (const item of currentStream) {
|
|
3651
|
+
state.data.push(item);
|
|
3652
|
+
if (callbacks.onData) {
|
|
3653
|
+
callbacks.onData(item);
|
|
3654
|
+
}
|
|
3655
|
+
}
|
|
3656
|
+
if (callbacks.onComplete) {
|
|
3657
|
+
callbacks.onComplete(state.data);
|
|
3658
|
+
}
|
|
3659
|
+
} catch (err) {
|
|
3660
|
+
if (err instanceof Error) {
|
|
3661
|
+
state.error = err;
|
|
3662
|
+
if (callbacks.onError) {
|
|
3663
|
+
callbacks.onError(err);
|
|
3664
|
+
}
|
|
3665
|
+
}
|
|
3666
|
+
} finally {
|
|
3667
|
+
state.loading = false;
|
|
3668
|
+
currentStream = null;
|
|
3669
|
+
abortController = null;
|
|
3670
|
+
if (callbacks.onFinish) {
|
|
3671
|
+
callbacks.onFinish();
|
|
3672
|
+
}
|
|
3673
|
+
}
|
|
3674
|
+
};
|
|
3675
|
+
|
|
3676
|
+
/**
|
|
3677
|
+
* 取消流处理
|
|
3678
|
+
* @returns {void}
|
|
3679
|
+
*/
|
|
3680
|
+
const cancel = () => {
|
|
3681
|
+
if (abortController) {
|
|
3682
|
+
abortController.abort();
|
|
3683
|
+
if (callbacks.onCancel) {
|
|
3684
|
+
callbacks.onCancel();
|
|
3685
|
+
}
|
|
3686
|
+
}
|
|
3687
|
+
};
|
|
3688
|
+
|
|
3689
|
+
/**
|
|
3690
|
+
* 重置流状态
|
|
3691
|
+
* @returns {void}
|
|
3692
|
+
*/
|
|
3693
|
+
const reset = () => {
|
|
3694
|
+
state.data = [];
|
|
3695
|
+
state.error = null;
|
|
3696
|
+
state.loading = false;
|
|
3697
|
+
abortController = null;
|
|
3698
|
+
currentStream = null;
|
|
3699
|
+
};
|
|
3700
|
+
return {
|
|
3701
|
+
state,
|
|
3702
|
+
startStream,
|
|
3703
|
+
cancel,
|
|
3704
|
+
reset
|
|
3705
|
+
};
|
|
3706
|
+
}
|
|
3707
|
+
|
|
3708
|
+
// 导出常量和工具函数
|
|
3709
|
+
|
|
3710
|
+
|
|
3711
|
+
/**
|
|
3712
|
+
* 默认导出 streamMixin
|
|
3713
|
+
* @type {Object}
|
|
3714
|
+
*/
|
|
3715
|
+
/* harmony default export */ var mixins_streamMixin = (streamMixin);
|
|
3716
|
+
// CONCATENATED MODULE: ./src/mixins/index.js
|
|
3717
|
+
/**
|
|
3718
|
+
* Mixins 入口文件
|
|
3719
|
+
*/
|
|
3720
|
+
|
|
3721
|
+
|
|
3722
|
+
|
|
3723
|
+
|
|
3724
|
+
|
|
3725
|
+
/* harmony default export */ var mixins = __webpack_exports__["default"] = ({
|
|
3726
|
+
recordMixin: recordMixin,
|
|
3727
|
+
sendMixin: sendMixin,
|
|
3728
|
+
XRequest: XRequest,
|
|
3729
|
+
createSendUtils: createSendUtils,
|
|
3730
|
+
streamMixin: streamMixin,
|
|
3731
|
+
createStreamUtils: createStreamUtils,
|
|
3732
|
+
XStream: XStream,
|
|
3733
|
+
splitStream: splitStream,
|
|
3734
|
+
splitPart: splitPart,
|
|
3735
|
+
isValidString: isValidString,
|
|
3736
|
+
DEFAULT_STREAM_SEPARATOR: DEFAULT_STREAM_SEPARATOR,
|
|
3737
|
+
DEFAULT_PART_SEPARATOR: DEFAULT_PART_SEPARATOR,
|
|
3738
|
+
DEFAULT_KV_SEPARATOR: DEFAULT_KV_SEPARATOR
|
|
3739
|
+
});
|
|
3740
|
+
|
|
3741
|
+
/***/ }),
|
|
3742
|
+
/* 6 */
|
|
2818
3743
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2819
3744
|
|
|
2820
3745
|
/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
@@ -20019,16 +20944,16 @@ Prism.languages.js = Prism.languages.javascript;
|
|
|
20019
20944
|
else {}
|
|
20020
20945
|
}.call(this));
|
|
20021
20946
|
|
|
20022
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(
|
|
20947
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(11), __webpack_require__(24)(module)))
|
|
20023
20948
|
|
|
20024
20949
|
/***/ }),
|
|
20025
|
-
/*
|
|
20950
|
+
/* 7 */
|
|
20026
20951
|
/***/ (function(module, exports) {
|
|
20027
20952
|
|
|
20028
20953
|
module.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/
|
|
20029
20954
|
|
|
20030
20955
|
/***/ }),
|
|
20031
|
-
/*
|
|
20956
|
+
/* 8 */
|
|
20032
20957
|
/***/ (function(module, exports, __webpack_require__) {
|
|
20033
20958
|
|
|
20034
20959
|
"use strict";
|
|
@@ -20387,7 +21312,7 @@ module.exports = Ruler;
|
|
|
20387
21312
|
|
|
20388
21313
|
|
|
20389
21314
|
/***/ }),
|
|
20390
|
-
/*
|
|
21315
|
+
/* 9 */
|
|
20391
21316
|
/***/ (function(module, exports, __webpack_require__) {
|
|
20392
21317
|
|
|
20393
21318
|
"use strict";
|
|
@@ -20595,26 +21520,26 @@ module.exports = Token;
|
|
|
20595
21520
|
|
|
20596
21521
|
|
|
20597
21522
|
/***/ }),
|
|
20598
|
-
/*
|
|
21523
|
+
/* 10 */
|
|
20599
21524
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
20600
21525
|
|
|
20601
21526
|
"use strict";
|
|
20602
21527
|
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
|
|
20603
21528
|
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
20604
|
-
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_prismjs_themes_prism_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
21529
|
+
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_prismjs_themes_prism_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23);
|
|
20605
21530
|
// Imports
|
|
20606
21531
|
|
|
20607
21532
|
|
|
20608
21533
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
20609
21534
|
___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_node_modules_prismjs_themes_prism_css__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"]);
|
|
20610
21535
|
// Module
|
|
20611
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".typer-container[data-v-0a15f16e]{overflow-x:auto}.markdown-content[data-v-0a15f16e] ul{list-style-type:disc}.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h1,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h2,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h3,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h4,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h5,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h6,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] p,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h1,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h2,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h3,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h4,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h5,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h6,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] p,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li{position:relative;overflow:hidden}.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h1:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h2:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h3:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h4:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h5:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h6:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] p:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h1:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h2:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h3:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h4:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h5:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h6:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] p:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li:last-child:after{content
|
|
21536
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".typer-container[data-v-0a15f16e]{overflow-x:auto}.markdown-content[data-v-0a15f16e] ul{list-style-type:disc}.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h1,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h2,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h3,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h4,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h5,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h6,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] p,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h1,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h2,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h3,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h4,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h5,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h6,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] p,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li{position:relative;overflow:hidden}.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h1:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h2:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h3:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h4:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h5:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] h6:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] p:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li:last-child:after,.typing-markdown-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h1:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h2:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h3:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h4:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h5:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] h6:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] p:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ol:last-child li:last-child:after,.typing-cursor-foggy.markdown-content[data-v-0a15f16e] ul:last-child li:last-child:after{content:\"\";width:var(--cursor-fog-width);height:1.5em;background:linear-gradient(90deg, transparent, var(--cursor-fog-bg-color));position:absolute;margin-left:calc(-1*var(--cursor-fog-width))}.typer-content.typing-cursor[data-v-0a15f16e]::after{content:var(--cursor-char);margin-left:2px;display:inline-block}.typer-content.typing-cursor-foggy[data-v-0a15f16e]{position:relative;overflow:hidden}.typer-content.typing-cursor-foggy[data-v-0a15f16e]:last-child:after{content:\"\";width:var(--cursor-fog-width);height:100%;background:linear-gradient(90deg, transparent, var(--cursor-fog-bg-color));position:absolute;margin-left:calc(-1*var(--cursor-fog-width))}", ""]);
|
|
20612
21537
|
// Exports
|
|
20613
21538
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
20614
21539
|
|
|
20615
21540
|
|
|
20616
21541
|
/***/ }),
|
|
20617
|
-
/*
|
|
21542
|
+
/* 11 */
|
|
20618
21543
|
/***/ (function(module, exports) {
|
|
20619
21544
|
|
|
20620
21545
|
var g;
|
|
@@ -20640,7 +21565,7 @@ module.exports = g;
|
|
|
20640
21565
|
|
|
20641
21566
|
|
|
20642
21567
|
/***/ }),
|
|
20643
|
-
/*
|
|
21568
|
+
/* 12 */
|
|
20644
21569
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
20645
21570
|
|
|
20646
21571
|
"use strict";
|
|
@@ -20679,11 +21604,11 @@ render._withStripped = true;
|
|
|
20679
21604
|
// CONCATENATED MODULE: ./src/components/Typewriter/src/main.vue?vue&type=template&id=0a15f16e&scoped=true
|
|
20680
21605
|
|
|
20681
21606
|
// EXTERNAL MODULE: ./node_modules/dompurify/dist/purify.js
|
|
20682
|
-
var purify = __webpack_require__(
|
|
21607
|
+
var purify = __webpack_require__(21);
|
|
20683
21608
|
var purify_default = /*#__PURE__*/__webpack_require__.n(purify);
|
|
20684
21609
|
|
|
20685
21610
|
// EXTERNAL MODULE: ./node_modules/markdown-it/index.js
|
|
20686
|
-
var markdown_it = __webpack_require__(
|
|
21611
|
+
var markdown_it = __webpack_require__(22);
|
|
20687
21612
|
var markdown_it_default = /*#__PURE__*/__webpack_require__.n(markdown_it);
|
|
20688
21613
|
|
|
20689
21614
|
// EXTERNAL MODULE: ./node_modules/prismjs/prism.js
|
|
@@ -20876,7 +21801,7 @@ var injectStylesIntoStyleTag = __webpack_require__(3);
|
|
|
20876
21801
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
20877
21802
|
|
|
20878
21803
|
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Typewriter/src/main.vue?vue&type=style&index=0&id=0a15f16e&prod&lang=scss&scoped=true
|
|
20879
|
-
var mainvue_type_style_index_0_id_0a15f16e_prod_lang_scss_scoped_true = __webpack_require__(
|
|
21804
|
+
var mainvue_type_style_index_0_id_0a15f16e_prod_lang_scss_scoped_true = __webpack_require__(10);
|
|
20880
21805
|
|
|
20881
21806
|
// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Typewriter/src/main.vue?vue&type=style&index=0&id=0a15f16e&prod&lang=scss&scoped=true
|
|
20882
21807
|
|
|
@@ -20928,7 +21853,7 @@ main.install = function (Vue) {
|
|
|
20928
21853
|
/* harmony default export */ var Typewriter = __webpack_exports__["default"] = (main);
|
|
20929
21854
|
|
|
20930
21855
|
/***/ }),
|
|
20931
|
-
/*
|
|
21856
|
+
/* 13 */
|
|
20932
21857
|
/***/ (function(module, exports, __webpack_require__) {
|
|
20933
21858
|
|
|
20934
21859
|
"use strict";
|
|
@@ -20937,43 +21862,43 @@ main.install = function (Vue) {
|
|
|
20937
21862
|
|
|
20938
21863
|
|
|
20939
21864
|
/*eslint quotes:0*/
|
|
20940
|
-
module.exports = __webpack_require__(
|
|
21865
|
+
module.exports = __webpack_require__(30);
|
|
20941
21866
|
|
|
20942
21867
|
|
|
20943
21868
|
/***/ }),
|
|
20944
|
-
/*
|
|
21869
|
+
/* 14 */
|
|
20945
21870
|
/***/ (function(module, exports, __webpack_require__) {
|
|
20946
21871
|
|
|
20947
21872
|
"use strict";
|
|
20948
21873
|
|
|
20949
21874
|
|
|
20950
21875
|
|
|
20951
|
-
module.exports.encode = __webpack_require__(
|
|
20952
|
-
module.exports.decode = __webpack_require__(
|
|
20953
|
-
module.exports.format = __webpack_require__(
|
|
20954
|
-
module.exports.parse = __webpack_require__(
|
|
21876
|
+
module.exports.encode = __webpack_require__(31);
|
|
21877
|
+
module.exports.decode = __webpack_require__(32);
|
|
21878
|
+
module.exports.format = __webpack_require__(33);
|
|
21879
|
+
module.exports.parse = __webpack_require__(34);
|
|
20955
21880
|
|
|
20956
21881
|
|
|
20957
21882
|
/***/ }),
|
|
20958
|
-
/*
|
|
21883
|
+
/* 15 */
|
|
20959
21884
|
/***/ (function(module, exports) {
|
|
20960
21885
|
|
|
20961
21886
|
module.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/
|
|
20962
21887
|
|
|
20963
21888
|
/***/ }),
|
|
20964
|
-
/*
|
|
21889
|
+
/* 16 */
|
|
20965
21890
|
/***/ (function(module, exports) {
|
|
20966
21891
|
|
|
20967
21892
|
module.exports=/[\0-\x1F\x7F-\x9F]/
|
|
20968
21893
|
|
|
20969
21894
|
/***/ }),
|
|
20970
|
-
/*
|
|
21895
|
+
/* 17 */
|
|
20971
21896
|
/***/ (function(module, exports) {
|
|
20972
21897
|
|
|
20973
21898
|
module.exports=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/
|
|
20974
21899
|
|
|
20975
21900
|
/***/ }),
|
|
20976
|
-
/*
|
|
21901
|
+
/* 18 */
|
|
20977
21902
|
/***/ (function(module, exports, __webpack_require__) {
|
|
20978
21903
|
|
|
20979
21904
|
"use strict";
|
|
@@ -21008,7 +21933,7 @@ module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;
|
|
|
21008
21933
|
|
|
21009
21934
|
|
|
21010
21935
|
/***/ }),
|
|
21011
|
-
/*
|
|
21936
|
+
/* 19 */
|
|
21012
21937
|
/***/ (function(module, exports, __webpack_require__) {
|
|
21013
21938
|
|
|
21014
21939
|
"use strict";
|
|
@@ -21145,7 +22070,7 @@ module.exports.postProcess = function strikethrough(state) {
|
|
|
21145
22070
|
|
|
21146
22071
|
|
|
21147
22072
|
/***/ }),
|
|
21148
|
-
/*
|
|
22073
|
+
/* 20 */
|
|
21149
22074
|
/***/ (function(module, exports, __webpack_require__) {
|
|
21150
22075
|
|
|
21151
22076
|
"use strict";
|
|
@@ -21282,10 +22207,10 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
21282
22207
|
|
|
21283
22208
|
|
|
21284
22209
|
/***/ }),
|
|
21285
|
-
/*
|
|
22210
|
+
/* 21 */
|
|
21286
22211
|
/***/ (function(module, exports, __webpack_require__) {
|
|
21287
22212
|
|
|
21288
|
-
/*! @license DOMPurify 3.2.
|
|
22213
|
+
/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */
|
|
21289
22214
|
|
|
21290
22215
|
(function (global, factory) {
|
|
21291
22216
|
true ? module.exports = factory() :
|
|
@@ -21494,7 +22419,7 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
21494
22419
|
const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm); // eslint-disable-line unicorn/better-regex
|
|
21495
22420
|
const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/); // eslint-disable-line no-useless-escape
|
|
21496
22421
|
const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
|
|
21497
|
-
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp
|
|
22422
|
+
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
|
|
21498
22423
|
);
|
|
21499
22424
|
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
|
21500
22425
|
const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
|
|
@@ -21591,7 +22516,7 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
21591
22516
|
function createDOMPurify() {
|
|
21592
22517
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
21593
22518
|
const DOMPurify = root => createDOMPurify(root);
|
|
21594
|
-
DOMPurify.version = '3.2.
|
|
22519
|
+
DOMPurify.version = '3.2.5';
|
|
21595
22520
|
DOMPurify.removed = [];
|
|
21596
22521
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
21597
22522
|
// Not running in a browser, provide a factory function
|
|
@@ -21830,8 +22755,8 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
21830
22755
|
URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
|
|
21831
22756
|
DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
|
|
21832
22757
|
FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
|
|
21833
|
-
FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) :
|
|
21834
|
-
FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) :
|
|
22758
|
+
FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
|
|
22759
|
+
FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
|
|
21835
22760
|
USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;
|
|
21836
22761
|
ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
|
|
21837
22762
|
ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
|
|
@@ -22196,7 +23121,7 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22196
23121
|
allowedTags: ALLOWED_TAGS
|
|
22197
23122
|
});
|
|
22198
23123
|
/* Detect mXSS attempts abusing namespace confusion */
|
|
22199
|
-
if (
|
|
23124
|
+
if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
|
|
22200
23125
|
_forceRemove(currentNode);
|
|
22201
23126
|
return true;
|
|
22202
23127
|
}
|
|
@@ -22348,8 +23273,7 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22348
23273
|
value: attrValue
|
|
22349
23274
|
} = attr;
|
|
22350
23275
|
const lcName = transformCaseFunc(name);
|
|
22351
|
-
|
|
22352
|
-
let value = name === 'value' ? initValue : stringTrim(initValue);
|
|
23276
|
+
let value = name === 'value' ? attrValue : stringTrim(attrValue);
|
|
22353
23277
|
/* Execute a hook if present */
|
|
22354
23278
|
hookEvent.attrName = lcName;
|
|
22355
23279
|
hookEvent.attrValue = value;
|
|
@@ -22375,9 +23299,10 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22375
23299
|
if (hookEvent.forceKeepAttr) {
|
|
22376
23300
|
continue;
|
|
22377
23301
|
}
|
|
23302
|
+
/* Remove attribute */
|
|
23303
|
+
_removeAttribute(name, currentNode);
|
|
22378
23304
|
/* Did the hooks approve of the attribute? */
|
|
22379
23305
|
if (!hookEvent.keepAttr) {
|
|
22380
|
-
_removeAttribute(name, currentNode);
|
|
22381
23306
|
continue;
|
|
22382
23307
|
}
|
|
22383
23308
|
/* Work around a security issue in jQuery 3.0 */
|
|
@@ -22394,7 +23319,6 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22394
23319
|
/* Is `value` valid for this attribute? */
|
|
22395
23320
|
const lcTag = transformCaseFunc(currentNode.nodeName);
|
|
22396
23321
|
if (!_isValidAttribute(lcTag, lcName, value)) {
|
|
22397
|
-
_removeAttribute(name, currentNode);
|
|
22398
23322
|
continue;
|
|
22399
23323
|
}
|
|
22400
23324
|
/* Handle attributes that require Trusted Types */
|
|
@@ -22415,23 +23339,19 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22415
23339
|
}
|
|
22416
23340
|
}
|
|
22417
23341
|
/* Handle invalid data-* attribute set by try-catching it */
|
|
22418
|
-
|
|
22419
|
-
|
|
22420
|
-
|
|
22421
|
-
|
|
22422
|
-
|
|
22423
|
-
|
|
22424
|
-
currentNode.setAttribute(name, value);
|
|
22425
|
-
}
|
|
22426
|
-
if (_isClobbered(currentNode)) {
|
|
22427
|
-
_forceRemove(currentNode);
|
|
22428
|
-
} else {
|
|
22429
|
-
arrayPop(DOMPurify.removed);
|
|
22430
|
-
}
|
|
22431
|
-
} catch (_) {
|
|
22432
|
-
_removeAttribute(name, currentNode);
|
|
23342
|
+
try {
|
|
23343
|
+
if (namespaceURI) {
|
|
23344
|
+
currentNode.setAttributeNS(namespaceURI, name, value);
|
|
23345
|
+
} else {
|
|
23346
|
+
/* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
|
|
23347
|
+
currentNode.setAttribute(name, value);
|
|
22433
23348
|
}
|
|
22434
|
-
|
|
23349
|
+
if (_isClobbered(currentNode)) {
|
|
23350
|
+
_forceRemove(currentNode);
|
|
23351
|
+
} else {
|
|
23352
|
+
arrayPop(DOMPurify.removed);
|
|
23353
|
+
}
|
|
23354
|
+
} catch (_) {}
|
|
22435
23355
|
}
|
|
22436
23356
|
/* Execute a hook if present */
|
|
22437
23357
|
_executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
|
|
@@ -22641,18 +23561,18 @@ module.exports.postProcess = function emphasis(state) {
|
|
|
22641
23561
|
|
|
22642
23562
|
|
|
22643
23563
|
/***/ }),
|
|
22644
|
-
/*
|
|
23564
|
+
/* 22 */
|
|
22645
23565
|
/***/ (function(module, exports, __webpack_require__) {
|
|
22646
23566
|
|
|
22647
23567
|
"use strict";
|
|
22648
23568
|
|
|
22649
23569
|
|
|
22650
23570
|
|
|
22651
|
-
module.exports = __webpack_require__(
|
|
23571
|
+
module.exports = __webpack_require__(29);
|
|
22652
23572
|
|
|
22653
23573
|
|
|
22654
23574
|
/***/ }),
|
|
22655
|
-
/*
|
|
23575
|
+
/* 23 */
|
|
22656
23576
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22657
23577
|
|
|
22658
23578
|
"use strict";
|
|
@@ -22668,7 +23588,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "/**\n * prism.js default theme for Java
|
|
|
22668
23588
|
|
|
22669
23589
|
|
|
22670
23590
|
/***/ }),
|
|
22671
|
-
/*
|
|
23591
|
+
/* 24 */
|
|
22672
23592
|
/***/ (function(module, exports) {
|
|
22673
23593
|
|
|
22674
23594
|
module.exports = function(module) {
|
|
@@ -22696,7 +23616,7 @@ module.exports = function(module) {
|
|
|
22696
23616
|
|
|
22697
23617
|
|
|
22698
23618
|
/***/ }),
|
|
22699
|
-
/*
|
|
23619
|
+
/* 25 */
|
|
22700
23620
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22701
23621
|
|
|
22702
23622
|
"use strict";
|
|
@@ -22706,13 +23626,13 @@ module.exports = function(module) {
|
|
|
22706
23626
|
|
|
22707
23627
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
22708
23628
|
// Module
|
|
22709
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-10b2c201]{width:fit-content;padding:12px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;border-radius:8px;position:relative;background:rgba(0,0,0
|
|
23629
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-10b2c201]{width:fit-content;padding:12px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;border-radius:8px;position:relative;background:rgba(0,0,0,.06);max-width:var(--elx-files-card-max-width)}.el-x-filescard .el-x-filescard-progress[data-v-10b2c201]{position:absolute;top:0;left:0;bottom:0;background:rgba(0,0,0,.08);border-radius:8px;transition:width .2s ease}.el-x-filescard .el-x-filescard-delete-icon[data-v-10b2c201]{position:absolute;top:-8px;right:-6px;cursor:pointer;color:rgba(0,0,0,.4);display:none}.el-x-filescard .el-x-filescard-delete-icon[data-v-10b2c201]:hover{color:#ff4d4f}.el-x-filescard:hover .el-x-filescard-delete-icon[data-v-10b2c201]{display:block}.el-x-filescard-square[data-v-10b2c201]{padding:0;margin:0}.el-x-filescard-icon[data-v-10b2c201]{flex:none;font-size:var(--elx-files-card-icon-size)}.el-x-filescard-img[data-v-10b2c201]{flex:none;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);border-radius:8px;object-fit:cover}.el-x-filescard-content[data-v-10b2c201]{flex:auto;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.el-x-filescard-content .el-x-filescard-name[data-v-10b2c201]{display:flex;flex-wrap:nowrap;max-width:100%;font-size:14px}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-prefix[data-v-10b2c201]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-x-filescard-content .el-x-filescard-name .el-x-filescard-name-suffix[data-v-10b2c201]{flex:none}.el-x-filescard-content .el-x-filescard-description[data-v-10b2c201]{flex:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(0,0,0,.4);font-size:12px}.el-x-filescard-content .el-x-filescard-description-error[data-v-10b2c201]{color:#ff4d4f}.image-preview-container[data-v-10b2c201]{position:relative;padding:0px;width:var(--elx-files-card-icon-size);height:var(--elx-files-card-icon-size);display:inline-block;border-radius:8px;overflow:hidden;transition:all .3s}.image-preview-container .preview-mask[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;opacity:0;background:rgba(0,0,0,.65);color:#fff;font-size:10px;transition:opacity .3s}.image-preview-container .preview-mask .el-icon-view[data-v-10b2c201]{font-size:10px;margin-right:2px;display:flex;align-items:center;height:100%;margin-top:2px}.image-preview-container .preview-mask[data-v-10b2c201]:hover{opacity:1;transition:opacity .3s;cursor:pointer}.image-preview-container-square .preview-mask[data-v-10b2c201]{font-size:14px}.image-preview-container-square .preview-mask .el-icon-view[data-v-10b2c201]{font-size:12px}.preview-mask-loading[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.65);color:#fff;transition:all .3s}.preview-mask-loading .circle-progress[data-v-10b2c201]{width:100% !important;height:100% !important;display:flex;justify-content:center;align-items:center}.preview-mask-loading .circle-progress .el-progress-circle[data-v-10b2c201]{width:calc(100% - 12px) !important;height:calc(100% - 12px) !important}.preview-mask-loading .circle-progress .el-progress-circle svg>path[data-v-10b2c201]:nth-child(1){stroke:hsla(0,0%,100%,.2);stroke-width:8px}.preview-mask-loading .circle-progress .el-progress__text[data-v-10b2c201]{color:#fff;font-size:14px}.preview-mask-error[data-v-10b2c201]{position:absolute;inset:0;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.5);font-size:12px;transition:all .3s;color:#ff4d4f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-image-viewer__progress[data-v-10b2c201]{display:none}.fade-enter-active[data-v-10b2c201],.fade-leave-active[data-v-10b2c201]{transition:opacity .3s}.fade-enter-from[data-v-10b2c201],.fade-leave-to[data-v-10b2c201]{opacity:0}", ""]);
|
|
22710
23630
|
// Exports
|
|
22711
23631
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
22712
23632
|
|
|
22713
23633
|
|
|
22714
23634
|
/***/ }),
|
|
22715
|
-
/*
|
|
23635
|
+
/* 26 */
|
|
22716
23636
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22717
23637
|
|
|
22718
23638
|
"use strict";
|
|
@@ -22722,13 +23642,13 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-filescard[data-v-10b2c201]{width:
|
|
|
22722
23642
|
|
|
22723
23643
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
22724
23644
|
// Module
|
|
22725
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-716e941e]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-bubble[data-v-716e941e]{display:flex;gap:var(--el-x-bubble-avatar-placeholder-gap)}.el-x-bubble-avatar-size[data-v-716e941e] .el-avatar{width:var(--el-x-bubble-avatar-placeholder-width);height:var(--el-x-bubble-avatar-placeholder-height)}.el-x-bubble-avatar-placeholder[data-v-716e941e]{width:var(--el-x-bubble-avatar-placeholder-width);height:var(--el-x-bubble-avatar-placeholder-height)}.el-x-bubble-start .el-x-bubble-content-wrapper .el-x-bubble-content-corner[data-v-716e941e]{border-start-start-radius:
|
|
23645
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-716e941e]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-bubble[data-v-716e941e]{display:flex;gap:var(--el-x-bubble-avatar-placeholder-gap)}.el-x-bubble-avatar-size[data-v-716e941e] .el-avatar{width:var(--el-x-bubble-avatar-placeholder-width);height:var(--el-x-bubble-avatar-placeholder-height)}.el-x-bubble-avatar-placeholder[data-v-716e941e]{width:var(--el-x-bubble-avatar-placeholder-width);height:var(--el-x-bubble-avatar-placeholder-height)}.el-x-bubble-start .el-x-bubble-content-wrapper .el-x-bubble-content-corner[data-v-716e941e]{border-start-start-radius:2px}.el-x-bubble-end[data-v-716e941e]{justify-content:end;flex-direction:row-reverse}.el-x-bubble-end .el-x-bubble-content-wrapper[data-v-716e941e]{align-items:flex-end}.el-x-bubble-end .el-x-bubble-content-wrapper .el-x-bubble-content-corner[data-v-716e941e]{border-start-end-radius:2px}.el-x-bubble-no-style .el-x-bubble-content-wrapper .el-x-bubble-content[data-v-716e941e]{background-color:rgba(0,0,0,0);padding:0}.el-x-bubble-content-wrapper[data-v-716e941e]{flex:auto;display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%}.el-x-bubble-content-wrapper .el-x-bubble-header[data-v-716e941e],.el-x-bubble-content-wrapper .el-x-bubble-content[data-v-716e941e],.el-x-bubble-content-wrapper .el-x-bubble-footer[data-v-716e941e]{font-size:14px;color:#303133;line-height:24px}.el-x-bubble-content-wrapper .el-x-bubble-content[data-v-716e941e]{background-color:#edf2fc;padding:12px 18px;border-radius:8px;position:relative;box-sizing:border-box;min-width:0;max-width:var(--bubble-content-max-width);color:#303133;font-size:14px;line-height:24px;word-break:break-word}.el-x-bubble-content-wrapper .el-x-bubble-content .no-content[data-v-716e941e]{height:0}.el-x-bubble-content-wrapper .el-x-bubble-content-round[data-v-716e941e]{border-radius:20px}.el-x-bubble-content-wrapper .el-x-bubble-content-filled[data-v-716e941e]{background-color:#edf2fc}.el-x-bubble-content-wrapper .el-x-bubble-content-borderless[data-v-716e941e]{background-color:#edf2fc;border:1px solid #dcdfe6}.el-x-bubble-content-wrapper .el-x-bubble-content-outlined[data-v-716e941e]{background:none;border:1px solid #dcdfe6}.el-x-bubble-content-wrapper .el-x-bubble-content-shadow[data-v-716e941e]{background:none;box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04)}.el-x-bubble-content-wrapper .el-x-bubble-content-loading[data-v-716e941e]{width:fit-content}.el-x-bubble-content-wrapper .el-x-bubble-content-loading .el-x-bubble-loading-wrap[data-v-716e941e]{display:flex;justify-content:center;align-items:center;gap:5px}.el-x-bubble-content-wrapper .el-x-bubble-content-loading .dot[data-v-716e941e]{width:5px;height:5px;background-color:#409eff;border-radius:50%;animation:wave-716e941e 1s infinite ease-in-out}@keyframes wave-716e941e{0%,100%{transform:translateY(-2px)}50%{transform:translateY(2px)}}.el-x-bubble-content-wrapper .el-x-bubble-footer[data-v-716e941e]{margin-top:8px}", ""]);
|
|
22726
23646
|
// Exports
|
|
22727
23647
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
22728
23648
|
|
|
22729
23649
|
|
|
22730
23650
|
/***/ }),
|
|
22731
|
-
/*
|
|
23651
|
+
/* 27 */
|
|
22732
23652
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22733
23653
|
|
|
22734
23654
|
"use strict";
|
|
@@ -24574,7 +25494,7 @@ var injectStylesIntoStyleTag = __webpack_require__(3);
|
|
|
24574
25494
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
24575
25495
|
|
|
24576
25496
|
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=10b2c201&prod&lang=scss&scoped=true
|
|
24577
|
-
var mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true = __webpack_require__(
|
|
25497
|
+
var mainvue_type_style_index_0_id_10b2c201_prod_lang_scss_scoped_true = __webpack_require__(25);
|
|
24578
25498
|
|
|
24579
25499
|
// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/FilesCard/src/main.vue?vue&type=style&index=0&id=10b2c201&prod&lang=scss&scoped=true
|
|
24580
25500
|
|
|
@@ -24623,7 +25543,7 @@ main.install = function (Vue) {
|
|
|
24623
25543
|
/* harmony default export */ var FilesCard = __webpack_exports__["default"] = (main);
|
|
24624
25544
|
|
|
24625
25545
|
/***/ }),
|
|
24626
|
-
/*
|
|
25546
|
+
/* 28 */
|
|
24627
25547
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
24628
25548
|
|
|
24629
25549
|
"use strict";
|
|
@@ -24724,7 +25644,7 @@ render._withStripped = true;
|
|
|
24724
25644
|
// CONCATENATED MODULE: ./src/components/Bubble/src/main.vue?vue&type=template&id=716e941e&scoped=true
|
|
24725
25645
|
|
|
24726
25646
|
// EXTERNAL MODULE: ./src/components/Typewriter/index.js + 7 modules
|
|
24727
|
-
var Typewriter = __webpack_require__(
|
|
25647
|
+
var Typewriter = __webpack_require__(12);
|
|
24728
25648
|
|
|
24729
25649
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Bubble/src/main.vue?vue&type=script&lang=js
|
|
24730
25650
|
|
|
@@ -24895,7 +25815,7 @@ var injectStylesIntoStyleTag = __webpack_require__(3);
|
|
|
24895
25815
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
24896
25816
|
|
|
24897
25817
|
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Bubble/src/main.vue?vue&type=style&index=0&id=716e941e&prod&lang=scss&scoped=true
|
|
24898
|
-
var mainvue_type_style_index_0_id_716e941e_prod_lang_scss_scoped_true = __webpack_require__(
|
|
25818
|
+
var mainvue_type_style_index_0_id_716e941e_prod_lang_scss_scoped_true = __webpack_require__(26);
|
|
24899
25819
|
|
|
24900
25820
|
// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Bubble/src/main.vue?vue&type=style&index=0&id=716e941e&prod&lang=scss&scoped=true
|
|
24901
25821
|
|
|
@@ -24946,7 +25866,7 @@ main.install = function (Vue) {
|
|
|
24946
25866
|
/* harmony default export */ var Bubble = __webpack_exports__["default"] = (main);
|
|
24947
25867
|
|
|
24948
25868
|
/***/ }),
|
|
24949
|
-
/*
|
|
25869
|
+
/* 29 */
|
|
24950
25870
|
/***/ (function(module, exports, __webpack_require__) {
|
|
24951
25871
|
|
|
24952
25872
|
"use strict";
|
|
@@ -24956,20 +25876,20 @@ main.install = function (Vue) {
|
|
|
24956
25876
|
|
|
24957
25877
|
|
|
24958
25878
|
var utils = __webpack_require__(1);
|
|
24959
|
-
var helpers = __webpack_require__(
|
|
24960
|
-
var Renderer = __webpack_require__(
|
|
24961
|
-
var ParserCore = __webpack_require__(
|
|
24962
|
-
var ParserBlock = __webpack_require__(
|
|
24963
|
-
var ParserInline = __webpack_require__(
|
|
24964
|
-
var LinkifyIt = __webpack_require__(
|
|
24965
|
-
var mdurl = __webpack_require__(
|
|
24966
|
-
var punycode = __webpack_require__(
|
|
25879
|
+
var helpers = __webpack_require__(37);
|
|
25880
|
+
var Renderer = __webpack_require__(41);
|
|
25881
|
+
var ParserCore = __webpack_require__(42);
|
|
25882
|
+
var ParserBlock = __webpack_require__(50);
|
|
25883
|
+
var ParserInline = __webpack_require__(64);
|
|
25884
|
+
var LinkifyIt = __webpack_require__(77);
|
|
25885
|
+
var mdurl = __webpack_require__(14);
|
|
25886
|
+
var punycode = __webpack_require__(79);
|
|
24967
25887
|
|
|
24968
25888
|
|
|
24969
25889
|
var config = {
|
|
24970
|
-
default: __webpack_require__(
|
|
24971
|
-
zero: __webpack_require__(
|
|
24972
|
-
commonmark: __webpack_require__(
|
|
25890
|
+
default: __webpack_require__(80),
|
|
25891
|
+
zero: __webpack_require__(81),
|
|
25892
|
+
commonmark: __webpack_require__(82)
|
|
24973
25893
|
};
|
|
24974
25894
|
|
|
24975
25895
|
////////////////////////////////////////////////////////////////////////////////
|
|
@@ -25535,13 +26455,13 @@ module.exports = MarkdownIt;
|
|
|
25535
26455
|
|
|
25536
26456
|
|
|
25537
26457
|
/***/ }),
|
|
25538
|
-
/*
|
|
26458
|
+
/* 30 */
|
|
25539
26459
|
/***/ (function(module) {
|
|
25540
26460
|
|
|
25541
26461
|
module.exports = JSON.parse("{\"Aacute\":\"Á\",\"aacute\":\"á\",\"Abreve\":\"Ă\",\"abreve\":\"ă\",\"ac\":\"∾\",\"acd\":\"∿\",\"acE\":\"∾̳\",\"Acirc\":\"Â\",\"acirc\":\"â\",\"acute\":\"´\",\"Acy\":\"А\",\"acy\":\"а\",\"AElig\":\"Æ\",\"aelig\":\"æ\",\"af\":\"\",\"Afr\":\"𝔄\",\"afr\":\"𝔞\",\"Agrave\":\"À\",\"agrave\":\"à\",\"alefsym\":\"ℵ\",\"aleph\":\"ℵ\",\"Alpha\":\"Α\",\"alpha\":\"α\",\"Amacr\":\"Ā\",\"amacr\":\"ā\",\"amalg\":\"⨿\",\"amp\":\"&\",\"AMP\":\"&\",\"andand\":\"⩕\",\"And\":\"⩓\",\"and\":\"∧\",\"andd\":\"⩜\",\"andslope\":\"⩘\",\"andv\":\"⩚\",\"ang\":\"∠\",\"ange\":\"⦤\",\"angle\":\"∠\",\"angmsdaa\":\"⦨\",\"angmsdab\":\"⦩\",\"angmsdac\":\"⦪\",\"angmsdad\":\"⦫\",\"angmsdae\":\"⦬\",\"angmsdaf\":\"⦭\",\"angmsdag\":\"⦮\",\"angmsdah\":\"⦯\",\"angmsd\":\"∡\",\"angrt\":\"∟\",\"angrtvb\":\"⊾\",\"angrtvbd\":\"⦝\",\"angsph\":\"∢\",\"angst\":\"Å\",\"angzarr\":\"⍼\",\"Aogon\":\"Ą\",\"aogon\":\"ą\",\"Aopf\":\"𝔸\",\"aopf\":\"𝕒\",\"apacir\":\"⩯\",\"ap\":\"≈\",\"apE\":\"⩰\",\"ape\":\"≊\",\"apid\":\"≋\",\"apos\":\"'\",\"ApplyFunction\":\"\",\"approx\":\"≈\",\"approxeq\":\"≊\",\"Aring\":\"Å\",\"aring\":\"å\",\"Ascr\":\"𝒜\",\"ascr\":\"𝒶\",\"Assign\":\"≔\",\"ast\":\"*\",\"asymp\":\"≈\",\"asympeq\":\"≍\",\"Atilde\":\"Ã\",\"atilde\":\"ã\",\"Auml\":\"Ä\",\"auml\":\"ä\",\"awconint\":\"∳\",\"awint\":\"⨑\",\"backcong\":\"≌\",\"backepsilon\":\"϶\",\"backprime\":\"‵\",\"backsim\":\"∽\",\"backsimeq\":\"⋍\",\"Backslash\":\"∖\",\"Barv\":\"⫧\",\"barvee\":\"⊽\",\"barwed\":\"⌅\",\"Barwed\":\"⌆\",\"barwedge\":\"⌅\",\"bbrk\":\"⎵\",\"bbrktbrk\":\"⎶\",\"bcong\":\"≌\",\"Bcy\":\"Б\",\"bcy\":\"б\",\"bdquo\":\"„\",\"becaus\":\"∵\",\"because\":\"∵\",\"Because\":\"∵\",\"bemptyv\":\"⦰\",\"bepsi\":\"϶\",\"bernou\":\"ℬ\",\"Bernoullis\":\"ℬ\",\"Beta\":\"Β\",\"beta\":\"β\",\"beth\":\"ℶ\",\"between\":\"≬\",\"Bfr\":\"𝔅\",\"bfr\":\"𝔟\",\"bigcap\":\"⋂\",\"bigcirc\":\"◯\",\"bigcup\":\"⋃\",\"bigodot\":\"⨀\",\"bigoplus\":\"⨁\",\"bigotimes\":\"⨂\",\"bigsqcup\":\"⨆\",\"bigstar\":\"★\",\"bigtriangledown\":\"▽\",\"bigtriangleup\":\"△\",\"biguplus\":\"⨄\",\"bigvee\":\"⋁\",\"bigwedge\":\"⋀\",\"bkarow\":\"⤍\",\"blacklozenge\":\"⧫\",\"blacksquare\":\"▪\",\"blacktriangle\":\"▴\",\"blacktriangledown\":\"▾\",\"blacktriangleleft\":\"◂\",\"blacktriangleright\":\"▸\",\"blank\":\"␣\",\"blk12\":\"▒\",\"blk14\":\"░\",\"blk34\":\"▓\",\"block\":\"█\",\"bne\":\"=⃥\",\"bnequiv\":\"≡⃥\",\"bNot\":\"⫭\",\"bnot\":\"⌐\",\"Bopf\":\"𝔹\",\"bopf\":\"𝕓\",\"bot\":\"⊥\",\"bottom\":\"⊥\",\"bowtie\":\"⋈\",\"boxbox\":\"⧉\",\"boxdl\":\"┐\",\"boxdL\":\"╕\",\"boxDl\":\"╖\",\"boxDL\":\"╗\",\"boxdr\":\"┌\",\"boxdR\":\"╒\",\"boxDr\":\"╓\",\"boxDR\":\"╔\",\"boxh\":\"─\",\"boxH\":\"═\",\"boxhd\":\"┬\",\"boxHd\":\"╤\",\"boxhD\":\"╥\",\"boxHD\":\"╦\",\"boxhu\":\"┴\",\"boxHu\":\"╧\",\"boxhU\":\"╨\",\"boxHU\":\"╩\",\"boxminus\":\"⊟\",\"boxplus\":\"⊞\",\"boxtimes\":\"⊠\",\"boxul\":\"┘\",\"boxuL\":\"╛\",\"boxUl\":\"╜\",\"boxUL\":\"╝\",\"boxur\":\"└\",\"boxuR\":\"╘\",\"boxUr\":\"╙\",\"boxUR\":\"╚\",\"boxv\":\"│\",\"boxV\":\"║\",\"boxvh\":\"┼\",\"boxvH\":\"╪\",\"boxVh\":\"╫\",\"boxVH\":\"╬\",\"boxvl\":\"┤\",\"boxvL\":\"╡\",\"boxVl\":\"╢\",\"boxVL\":\"╣\",\"boxvr\":\"├\",\"boxvR\":\"╞\",\"boxVr\":\"╟\",\"boxVR\":\"╠\",\"bprime\":\"‵\",\"breve\":\"˘\",\"Breve\":\"˘\",\"brvbar\":\"¦\",\"bscr\":\"𝒷\",\"Bscr\":\"ℬ\",\"bsemi\":\"⁏\",\"bsim\":\"∽\",\"bsime\":\"⋍\",\"bsolb\":\"⧅\",\"bsol\":\"\\\\\",\"bsolhsub\":\"⟈\",\"bull\":\"•\",\"bullet\":\"•\",\"bump\":\"≎\",\"bumpE\":\"⪮\",\"bumpe\":\"≏\",\"Bumpeq\":\"≎\",\"bumpeq\":\"≏\",\"Cacute\":\"Ć\",\"cacute\":\"ć\",\"capand\":\"⩄\",\"capbrcup\":\"⩉\",\"capcap\":\"⩋\",\"cap\":\"∩\",\"Cap\":\"⋒\",\"capcup\":\"⩇\",\"capdot\":\"⩀\",\"CapitalDifferentialD\":\"ⅅ\",\"caps\":\"∩︀\",\"caret\":\"⁁\",\"caron\":\"ˇ\",\"Cayleys\":\"ℭ\",\"ccaps\":\"⩍\",\"Ccaron\":\"Č\",\"ccaron\":\"č\",\"Ccedil\":\"Ç\",\"ccedil\":\"ç\",\"Ccirc\":\"Ĉ\",\"ccirc\":\"ĉ\",\"Cconint\":\"∰\",\"ccups\":\"⩌\",\"ccupssm\":\"⩐\",\"Cdot\":\"Ċ\",\"cdot\":\"ċ\",\"cedil\":\"¸\",\"Cedilla\":\"¸\",\"cemptyv\":\"⦲\",\"cent\":\"¢\",\"centerdot\":\"·\",\"CenterDot\":\"·\",\"cfr\":\"𝔠\",\"Cfr\":\"ℭ\",\"CHcy\":\"Ч\",\"chcy\":\"ч\",\"check\":\"✓\",\"checkmark\":\"✓\",\"Chi\":\"Χ\",\"chi\":\"χ\",\"circ\":\"ˆ\",\"circeq\":\"≗\",\"circlearrowleft\":\"↺\",\"circlearrowright\":\"↻\",\"circledast\":\"⊛\",\"circledcirc\":\"⊚\",\"circleddash\":\"⊝\",\"CircleDot\":\"⊙\",\"circledR\":\"®\",\"circledS\":\"Ⓢ\",\"CircleMinus\":\"⊖\",\"CirclePlus\":\"⊕\",\"CircleTimes\":\"⊗\",\"cir\":\"○\",\"cirE\":\"⧃\",\"cire\":\"≗\",\"cirfnint\":\"⨐\",\"cirmid\":\"⫯\",\"cirscir\":\"⧂\",\"ClockwiseContourIntegral\":\"∲\",\"CloseCurlyDoubleQuote\":\"”\",\"CloseCurlyQuote\":\"’\",\"clubs\":\"♣\",\"clubsuit\":\"♣\",\"colon\":\":\",\"Colon\":\"∷\",\"Colone\":\"⩴\",\"colone\":\"≔\",\"coloneq\":\"≔\",\"comma\":\",\",\"commat\":\"@\",\"comp\":\"∁\",\"compfn\":\"∘\",\"complement\":\"∁\",\"complexes\":\"ℂ\",\"cong\":\"≅\",\"congdot\":\"⩭\",\"Congruent\":\"≡\",\"conint\":\"∮\",\"Conint\":\"∯\",\"ContourIntegral\":\"∮\",\"copf\":\"𝕔\",\"Copf\":\"ℂ\",\"coprod\":\"∐\",\"Coproduct\":\"∐\",\"copy\":\"©\",\"COPY\":\"©\",\"copysr\":\"℗\",\"CounterClockwiseContourIntegral\":\"∳\",\"crarr\":\"↵\",\"cross\":\"✗\",\"Cross\":\"⨯\",\"Cscr\":\"𝒞\",\"cscr\":\"𝒸\",\"csub\":\"⫏\",\"csube\":\"⫑\",\"csup\":\"⫐\",\"csupe\":\"⫒\",\"ctdot\":\"⋯\",\"cudarrl\":\"⤸\",\"cudarrr\":\"⤵\",\"cuepr\":\"⋞\",\"cuesc\":\"⋟\",\"cularr\":\"↶\",\"cularrp\":\"⤽\",\"cupbrcap\":\"⩈\",\"cupcap\":\"⩆\",\"CupCap\":\"≍\",\"cup\":\"∪\",\"Cup\":\"⋓\",\"cupcup\":\"⩊\",\"cupdot\":\"⊍\",\"cupor\":\"⩅\",\"cups\":\"∪︀\",\"curarr\":\"↷\",\"curarrm\":\"⤼\",\"curlyeqprec\":\"⋞\",\"curlyeqsucc\":\"⋟\",\"curlyvee\":\"⋎\",\"curlywedge\":\"⋏\",\"curren\":\"¤\",\"curvearrowleft\":\"↶\",\"curvearrowright\":\"↷\",\"cuvee\":\"⋎\",\"cuwed\":\"⋏\",\"cwconint\":\"∲\",\"cwint\":\"∱\",\"cylcty\":\"⌭\",\"dagger\":\"†\",\"Dagger\":\"‡\",\"daleth\":\"ℸ\",\"darr\":\"↓\",\"Darr\":\"↡\",\"dArr\":\"⇓\",\"dash\":\"‐\",\"Dashv\":\"⫤\",\"dashv\":\"⊣\",\"dbkarow\":\"⤏\",\"dblac\":\"˝\",\"Dcaron\":\"Ď\",\"dcaron\":\"ď\",\"Dcy\":\"Д\",\"dcy\":\"д\",\"ddagger\":\"‡\",\"ddarr\":\"⇊\",\"DD\":\"ⅅ\",\"dd\":\"ⅆ\",\"DDotrahd\":\"⤑\",\"ddotseq\":\"⩷\",\"deg\":\"°\",\"Del\":\"∇\",\"Delta\":\"Δ\",\"delta\":\"δ\",\"demptyv\":\"⦱\",\"dfisht\":\"⥿\",\"Dfr\":\"𝔇\",\"dfr\":\"𝔡\",\"dHar\":\"⥥\",\"dharl\":\"⇃\",\"dharr\":\"⇂\",\"DiacriticalAcute\":\"´\",\"DiacriticalDot\":\"˙\",\"DiacriticalDoubleAcute\":\"˝\",\"DiacriticalGrave\":\"`\",\"DiacriticalTilde\":\"˜\",\"diam\":\"⋄\",\"diamond\":\"⋄\",\"Diamond\":\"⋄\",\"diamondsuit\":\"♦\",\"diams\":\"♦\",\"die\":\"¨\",\"DifferentialD\":\"ⅆ\",\"digamma\":\"ϝ\",\"disin\":\"⋲\",\"div\":\"÷\",\"divide\":\"÷\",\"divideontimes\":\"⋇\",\"divonx\":\"⋇\",\"DJcy\":\"Ђ\",\"djcy\":\"ђ\",\"dlcorn\":\"⌞\",\"dlcrop\":\"⌍\",\"dollar\":\"$\",\"Dopf\":\"𝔻\",\"dopf\":\"𝕕\",\"Dot\":\"¨\",\"dot\":\"˙\",\"DotDot\":\"⃜\",\"doteq\":\"≐\",\"doteqdot\":\"≑\",\"DotEqual\":\"≐\",\"dotminus\":\"∸\",\"dotplus\":\"∔\",\"dotsquare\":\"⊡\",\"doublebarwedge\":\"⌆\",\"DoubleContourIntegral\":\"∯\",\"DoubleDot\":\"¨\",\"DoubleDownArrow\":\"⇓\",\"DoubleLeftArrow\":\"⇐\",\"DoubleLeftRightArrow\":\"⇔\",\"DoubleLeftTee\":\"⫤\",\"DoubleLongLeftArrow\":\"⟸\",\"DoubleLongLeftRightArrow\":\"⟺\",\"DoubleLongRightArrow\":\"⟹\",\"DoubleRightArrow\":\"⇒\",\"DoubleRightTee\":\"⊨\",\"DoubleUpArrow\":\"⇑\",\"DoubleUpDownArrow\":\"⇕\",\"DoubleVerticalBar\":\"∥\",\"DownArrowBar\":\"⤓\",\"downarrow\":\"↓\",\"DownArrow\":\"↓\",\"Downarrow\":\"⇓\",\"DownArrowUpArrow\":\"⇵\",\"DownBreve\":\"̑\",\"downdownarrows\":\"⇊\",\"downharpoonleft\":\"⇃\",\"downharpoonright\":\"⇂\",\"DownLeftRightVector\":\"⥐\",\"DownLeftTeeVector\":\"⥞\",\"DownLeftVectorBar\":\"⥖\",\"DownLeftVector\":\"↽\",\"DownRightTeeVector\":\"⥟\",\"DownRightVectorBar\":\"⥗\",\"DownRightVector\":\"⇁\",\"DownTeeArrow\":\"↧\",\"DownTee\":\"⊤\",\"drbkarow\":\"⤐\",\"drcorn\":\"⌟\",\"drcrop\":\"⌌\",\"Dscr\":\"𝒟\",\"dscr\":\"𝒹\",\"DScy\":\"Ѕ\",\"dscy\":\"ѕ\",\"dsol\":\"⧶\",\"Dstrok\":\"Đ\",\"dstrok\":\"đ\",\"dtdot\":\"⋱\",\"dtri\":\"▿\",\"dtrif\":\"▾\",\"duarr\":\"⇵\",\"duhar\":\"⥯\",\"dwangle\":\"⦦\",\"DZcy\":\"Џ\",\"dzcy\":\"џ\",\"dzigrarr\":\"⟿\",\"Eacute\":\"É\",\"eacute\":\"é\",\"easter\":\"⩮\",\"Ecaron\":\"Ě\",\"ecaron\":\"ě\",\"Ecirc\":\"Ê\",\"ecirc\":\"ê\",\"ecir\":\"≖\",\"ecolon\":\"≕\",\"Ecy\":\"Э\",\"ecy\":\"э\",\"eDDot\":\"⩷\",\"Edot\":\"Ė\",\"edot\":\"ė\",\"eDot\":\"≑\",\"ee\":\"ⅇ\",\"efDot\":\"≒\",\"Efr\":\"𝔈\",\"efr\":\"𝔢\",\"eg\":\"⪚\",\"Egrave\":\"È\",\"egrave\":\"è\",\"egs\":\"⪖\",\"egsdot\":\"⪘\",\"el\":\"⪙\",\"Element\":\"∈\",\"elinters\":\"⏧\",\"ell\":\"ℓ\",\"els\":\"⪕\",\"elsdot\":\"⪗\",\"Emacr\":\"Ē\",\"emacr\":\"ē\",\"empty\":\"∅\",\"emptyset\":\"∅\",\"EmptySmallSquare\":\"◻\",\"emptyv\":\"∅\",\"EmptyVerySmallSquare\":\"▫\",\"emsp13\":\" \",\"emsp14\":\" \",\"emsp\":\" \",\"ENG\":\"Ŋ\",\"eng\":\"ŋ\",\"ensp\":\" \",\"Eogon\":\"Ę\",\"eogon\":\"ę\",\"Eopf\":\"𝔼\",\"eopf\":\"𝕖\",\"epar\":\"⋕\",\"eparsl\":\"⧣\",\"eplus\":\"⩱\",\"epsi\":\"ε\",\"Epsilon\":\"Ε\",\"epsilon\":\"ε\",\"epsiv\":\"ϵ\",\"eqcirc\":\"≖\",\"eqcolon\":\"≕\",\"eqsim\":\"≂\",\"eqslantgtr\":\"⪖\",\"eqslantless\":\"⪕\",\"Equal\":\"⩵\",\"equals\":\"=\",\"EqualTilde\":\"≂\",\"equest\":\"≟\",\"Equilibrium\":\"⇌\",\"equiv\":\"≡\",\"equivDD\":\"⩸\",\"eqvparsl\":\"⧥\",\"erarr\":\"⥱\",\"erDot\":\"≓\",\"escr\":\"ℯ\",\"Escr\":\"ℰ\",\"esdot\":\"≐\",\"Esim\":\"⩳\",\"esim\":\"≂\",\"Eta\":\"Η\",\"eta\":\"η\",\"ETH\":\"Ð\",\"eth\":\"ð\",\"Euml\":\"Ë\",\"euml\":\"ë\",\"euro\":\"€\",\"excl\":\"!\",\"exist\":\"∃\",\"Exists\":\"∃\",\"expectation\":\"ℰ\",\"exponentiale\":\"ⅇ\",\"ExponentialE\":\"ⅇ\",\"fallingdotseq\":\"≒\",\"Fcy\":\"Ф\",\"fcy\":\"ф\",\"female\":\"♀\",\"ffilig\":\"ffi\",\"fflig\":\"ff\",\"ffllig\":\"ffl\",\"Ffr\":\"𝔉\",\"ffr\":\"𝔣\",\"filig\":\"fi\",\"FilledSmallSquare\":\"◼\",\"FilledVerySmallSquare\":\"▪\",\"fjlig\":\"fj\",\"flat\":\"♭\",\"fllig\":\"fl\",\"fltns\":\"▱\",\"fnof\":\"ƒ\",\"Fopf\":\"𝔽\",\"fopf\":\"𝕗\",\"forall\":\"∀\",\"ForAll\":\"∀\",\"fork\":\"⋔\",\"forkv\":\"⫙\",\"Fouriertrf\":\"ℱ\",\"fpartint\":\"⨍\",\"frac12\":\"½\",\"frac13\":\"⅓\",\"frac14\":\"¼\",\"frac15\":\"⅕\",\"frac16\":\"⅙\",\"frac18\":\"⅛\",\"frac23\":\"⅔\",\"frac25\":\"⅖\",\"frac34\":\"¾\",\"frac35\":\"⅗\",\"frac38\":\"⅜\",\"frac45\":\"⅘\",\"frac56\":\"⅚\",\"frac58\":\"⅝\",\"frac78\":\"⅞\",\"frasl\":\"⁄\",\"frown\":\"⌢\",\"fscr\":\"𝒻\",\"Fscr\":\"ℱ\",\"gacute\":\"ǵ\",\"Gamma\":\"Γ\",\"gamma\":\"γ\",\"Gammad\":\"Ϝ\",\"gammad\":\"ϝ\",\"gap\":\"⪆\",\"Gbreve\":\"Ğ\",\"gbreve\":\"ğ\",\"Gcedil\":\"Ģ\",\"Gcirc\":\"Ĝ\",\"gcirc\":\"ĝ\",\"Gcy\":\"Г\",\"gcy\":\"г\",\"Gdot\":\"Ġ\",\"gdot\":\"ġ\",\"ge\":\"≥\",\"gE\":\"≧\",\"gEl\":\"⪌\",\"gel\":\"⋛\",\"geq\":\"≥\",\"geqq\":\"≧\",\"geqslant\":\"⩾\",\"gescc\":\"⪩\",\"ges\":\"⩾\",\"gesdot\":\"⪀\",\"gesdoto\":\"⪂\",\"gesdotol\":\"⪄\",\"gesl\":\"⋛︀\",\"gesles\":\"⪔\",\"Gfr\":\"𝔊\",\"gfr\":\"𝔤\",\"gg\":\"≫\",\"Gg\":\"⋙\",\"ggg\":\"⋙\",\"gimel\":\"ℷ\",\"GJcy\":\"Ѓ\",\"gjcy\":\"ѓ\",\"gla\":\"⪥\",\"gl\":\"≷\",\"glE\":\"⪒\",\"glj\":\"⪤\",\"gnap\":\"⪊\",\"gnapprox\":\"⪊\",\"gne\":\"⪈\",\"gnE\":\"≩\",\"gneq\":\"⪈\",\"gneqq\":\"≩\",\"gnsim\":\"⋧\",\"Gopf\":\"𝔾\",\"gopf\":\"𝕘\",\"grave\":\"`\",\"GreaterEqual\":\"≥\",\"GreaterEqualLess\":\"⋛\",\"GreaterFullEqual\":\"≧\",\"GreaterGreater\":\"⪢\",\"GreaterLess\":\"≷\",\"GreaterSlantEqual\":\"⩾\",\"GreaterTilde\":\"≳\",\"Gscr\":\"𝒢\",\"gscr\":\"ℊ\",\"gsim\":\"≳\",\"gsime\":\"⪎\",\"gsiml\":\"⪐\",\"gtcc\":\"⪧\",\"gtcir\":\"⩺\",\"gt\":\">\",\"GT\":\">\",\"Gt\":\"≫\",\"gtdot\":\"⋗\",\"gtlPar\":\"⦕\",\"gtquest\":\"⩼\",\"gtrapprox\":\"⪆\",\"gtrarr\":\"⥸\",\"gtrdot\":\"⋗\",\"gtreqless\":\"⋛\",\"gtreqqless\":\"⪌\",\"gtrless\":\"≷\",\"gtrsim\":\"≳\",\"gvertneqq\":\"≩︀\",\"gvnE\":\"≩︀\",\"Hacek\":\"ˇ\",\"hairsp\":\" \",\"half\":\"½\",\"hamilt\":\"ℋ\",\"HARDcy\":\"Ъ\",\"hardcy\":\"ъ\",\"harrcir\":\"⥈\",\"harr\":\"↔\",\"hArr\":\"⇔\",\"harrw\":\"↭\",\"Hat\":\"^\",\"hbar\":\"ℏ\",\"Hcirc\":\"Ĥ\",\"hcirc\":\"ĥ\",\"hearts\":\"♥\",\"heartsuit\":\"♥\",\"hellip\":\"…\",\"hercon\":\"⊹\",\"hfr\":\"𝔥\",\"Hfr\":\"ℌ\",\"HilbertSpace\":\"ℋ\",\"hksearow\":\"⤥\",\"hkswarow\":\"⤦\",\"hoarr\":\"⇿\",\"homtht\":\"∻\",\"hookleftarrow\":\"↩\",\"hookrightarrow\":\"↪\",\"hopf\":\"𝕙\",\"Hopf\":\"ℍ\",\"horbar\":\"―\",\"HorizontalLine\":\"─\",\"hscr\":\"𝒽\",\"Hscr\":\"ℋ\",\"hslash\":\"ℏ\",\"Hstrok\":\"Ħ\",\"hstrok\":\"ħ\",\"HumpDownHump\":\"≎\",\"HumpEqual\":\"≏\",\"hybull\":\"⁃\",\"hyphen\":\"‐\",\"Iacute\":\"Í\",\"iacute\":\"í\",\"ic\":\"\",\"Icirc\":\"Î\",\"icirc\":\"î\",\"Icy\":\"И\",\"icy\":\"и\",\"Idot\":\"İ\",\"IEcy\":\"Е\",\"iecy\":\"е\",\"iexcl\":\"¡\",\"iff\":\"⇔\",\"ifr\":\"𝔦\",\"Ifr\":\"ℑ\",\"Igrave\":\"Ì\",\"igrave\":\"ì\",\"ii\":\"ⅈ\",\"iiiint\":\"⨌\",\"iiint\":\"∭\",\"iinfin\":\"⧜\",\"iiota\":\"℩\",\"IJlig\":\"IJ\",\"ijlig\":\"ij\",\"Imacr\":\"Ī\",\"imacr\":\"ī\",\"image\":\"ℑ\",\"ImaginaryI\":\"ⅈ\",\"imagline\":\"ℐ\",\"imagpart\":\"ℑ\",\"imath\":\"ı\",\"Im\":\"ℑ\",\"imof\":\"⊷\",\"imped\":\"Ƶ\",\"Implies\":\"⇒\",\"incare\":\"℅\",\"in\":\"∈\",\"infin\":\"∞\",\"infintie\":\"⧝\",\"inodot\":\"ı\",\"intcal\":\"⊺\",\"int\":\"∫\",\"Int\":\"∬\",\"integers\":\"ℤ\",\"Integral\":\"∫\",\"intercal\":\"⊺\",\"Intersection\":\"⋂\",\"intlarhk\":\"⨗\",\"intprod\":\"⨼\",\"InvisibleComma\":\"\",\"InvisibleTimes\":\"\",\"IOcy\":\"Ё\",\"iocy\":\"ё\",\"Iogon\":\"Į\",\"iogon\":\"į\",\"Iopf\":\"𝕀\",\"iopf\":\"𝕚\",\"Iota\":\"Ι\",\"iota\":\"ι\",\"iprod\":\"⨼\",\"iquest\":\"¿\",\"iscr\":\"𝒾\",\"Iscr\":\"ℐ\",\"isin\":\"∈\",\"isindot\":\"⋵\",\"isinE\":\"⋹\",\"isins\":\"⋴\",\"isinsv\":\"⋳\",\"isinv\":\"∈\",\"it\":\"\",\"Itilde\":\"Ĩ\",\"itilde\":\"ĩ\",\"Iukcy\":\"І\",\"iukcy\":\"і\",\"Iuml\":\"Ï\",\"iuml\":\"ï\",\"Jcirc\":\"Ĵ\",\"jcirc\":\"ĵ\",\"Jcy\":\"Й\",\"jcy\":\"й\",\"Jfr\":\"𝔍\",\"jfr\":\"𝔧\",\"jmath\":\"ȷ\",\"Jopf\":\"𝕁\",\"jopf\":\"𝕛\",\"Jscr\":\"𝒥\",\"jscr\":\"𝒿\",\"Jsercy\":\"Ј\",\"jsercy\":\"ј\",\"Jukcy\":\"Є\",\"jukcy\":\"є\",\"Kappa\":\"Κ\",\"kappa\":\"κ\",\"kappav\":\"ϰ\",\"Kcedil\":\"Ķ\",\"kcedil\":\"ķ\",\"Kcy\":\"К\",\"kcy\":\"к\",\"Kfr\":\"𝔎\",\"kfr\":\"𝔨\",\"kgreen\":\"ĸ\",\"KHcy\":\"Х\",\"khcy\":\"х\",\"KJcy\":\"Ќ\",\"kjcy\":\"ќ\",\"Kopf\":\"𝕂\",\"kopf\":\"𝕜\",\"Kscr\":\"𝒦\",\"kscr\":\"𝓀\",\"lAarr\":\"⇚\",\"Lacute\":\"Ĺ\",\"lacute\":\"ĺ\",\"laemptyv\":\"⦴\",\"lagran\":\"ℒ\",\"Lambda\":\"Λ\",\"lambda\":\"λ\",\"lang\":\"⟨\",\"Lang\":\"⟪\",\"langd\":\"⦑\",\"langle\":\"⟨\",\"lap\":\"⪅\",\"Laplacetrf\":\"ℒ\",\"laquo\":\"«\",\"larrb\":\"⇤\",\"larrbfs\":\"⤟\",\"larr\":\"←\",\"Larr\":\"↞\",\"lArr\":\"⇐\",\"larrfs\":\"⤝\",\"larrhk\":\"↩\",\"larrlp\":\"↫\",\"larrpl\":\"⤹\",\"larrsim\":\"⥳\",\"larrtl\":\"↢\",\"latail\":\"⤙\",\"lAtail\":\"⤛\",\"lat\":\"⪫\",\"late\":\"⪭\",\"lates\":\"⪭︀\",\"lbarr\":\"⤌\",\"lBarr\":\"⤎\",\"lbbrk\":\"❲\",\"lbrace\":\"{\",\"lbrack\":\"[\",\"lbrke\":\"⦋\",\"lbrksld\":\"⦏\",\"lbrkslu\":\"⦍\",\"Lcaron\":\"Ľ\",\"lcaron\":\"ľ\",\"Lcedil\":\"Ļ\",\"lcedil\":\"ļ\",\"lceil\":\"⌈\",\"lcub\":\"{\",\"Lcy\":\"Л\",\"lcy\":\"л\",\"ldca\":\"⤶\",\"ldquo\":\"“\",\"ldquor\":\"„\",\"ldrdhar\":\"⥧\",\"ldrushar\":\"⥋\",\"ldsh\":\"↲\",\"le\":\"≤\",\"lE\":\"≦\",\"LeftAngleBracket\":\"⟨\",\"LeftArrowBar\":\"⇤\",\"leftarrow\":\"←\",\"LeftArrow\":\"←\",\"Leftarrow\":\"⇐\",\"LeftArrowRightArrow\":\"⇆\",\"leftarrowtail\":\"↢\",\"LeftCeiling\":\"⌈\",\"LeftDoubleBracket\":\"⟦\",\"LeftDownTeeVector\":\"⥡\",\"LeftDownVectorBar\":\"⥙\",\"LeftDownVector\":\"⇃\",\"LeftFloor\":\"⌊\",\"leftharpoondown\":\"↽\",\"leftharpoonup\":\"↼\",\"leftleftarrows\":\"⇇\",\"leftrightarrow\":\"↔\",\"LeftRightArrow\":\"↔\",\"Leftrightarrow\":\"⇔\",\"leftrightarrows\":\"⇆\",\"leftrightharpoons\":\"⇋\",\"leftrightsquigarrow\":\"↭\",\"LeftRightVector\":\"⥎\",\"LeftTeeArrow\":\"↤\",\"LeftTee\":\"⊣\",\"LeftTeeVector\":\"⥚\",\"leftthreetimes\":\"⋋\",\"LeftTriangleBar\":\"⧏\",\"LeftTriangle\":\"⊲\",\"LeftTriangleEqual\":\"⊴\",\"LeftUpDownVector\":\"⥑\",\"LeftUpTeeVector\":\"⥠\",\"LeftUpVectorBar\":\"⥘\",\"LeftUpVector\":\"↿\",\"LeftVectorBar\":\"⥒\",\"LeftVector\":\"↼\",\"lEg\":\"⪋\",\"leg\":\"⋚\",\"leq\":\"≤\",\"leqq\":\"≦\",\"leqslant\":\"⩽\",\"lescc\":\"⪨\",\"les\":\"⩽\",\"lesdot\":\"⩿\",\"lesdoto\":\"⪁\",\"lesdotor\":\"⪃\",\"lesg\":\"⋚︀\",\"lesges\":\"⪓\",\"lessapprox\":\"⪅\",\"lessdot\":\"⋖\",\"lesseqgtr\":\"⋚\",\"lesseqqgtr\":\"⪋\",\"LessEqualGreater\":\"⋚\",\"LessFullEqual\":\"≦\",\"LessGreater\":\"≶\",\"lessgtr\":\"≶\",\"LessLess\":\"⪡\",\"lesssim\":\"≲\",\"LessSlantEqual\":\"⩽\",\"LessTilde\":\"≲\",\"lfisht\":\"⥼\",\"lfloor\":\"⌊\",\"Lfr\":\"𝔏\",\"lfr\":\"𝔩\",\"lg\":\"≶\",\"lgE\":\"⪑\",\"lHar\":\"⥢\",\"lhard\":\"↽\",\"lharu\":\"↼\",\"lharul\":\"⥪\",\"lhblk\":\"▄\",\"LJcy\":\"Љ\",\"ljcy\":\"љ\",\"llarr\":\"⇇\",\"ll\":\"≪\",\"Ll\":\"⋘\",\"llcorner\":\"⌞\",\"Lleftarrow\":\"⇚\",\"llhard\":\"⥫\",\"lltri\":\"◺\",\"Lmidot\":\"Ŀ\",\"lmidot\":\"ŀ\",\"lmoustache\":\"⎰\",\"lmoust\":\"⎰\",\"lnap\":\"⪉\",\"lnapprox\":\"⪉\",\"lne\":\"⪇\",\"lnE\":\"≨\",\"lneq\":\"⪇\",\"lneqq\":\"≨\",\"lnsim\":\"⋦\",\"loang\":\"⟬\",\"loarr\":\"⇽\",\"lobrk\":\"⟦\",\"longleftarrow\":\"⟵\",\"LongLeftArrow\":\"⟵\",\"Longleftarrow\":\"⟸\",\"longleftrightarrow\":\"⟷\",\"LongLeftRightArrow\":\"⟷\",\"Longleftrightarrow\":\"⟺\",\"longmapsto\":\"⟼\",\"longrightarrow\":\"⟶\",\"LongRightArrow\":\"⟶\",\"Longrightarrow\":\"⟹\",\"looparrowleft\":\"↫\",\"looparrowright\":\"↬\",\"lopar\":\"⦅\",\"Lopf\":\"𝕃\",\"lopf\":\"𝕝\",\"loplus\":\"⨭\",\"lotimes\":\"⨴\",\"lowast\":\"∗\",\"lowbar\":\"_\",\"LowerLeftArrow\":\"↙\",\"LowerRightArrow\":\"↘\",\"loz\":\"◊\",\"lozenge\":\"◊\",\"lozf\":\"⧫\",\"lpar\":\"(\",\"lparlt\":\"⦓\",\"lrarr\":\"⇆\",\"lrcorner\":\"⌟\",\"lrhar\":\"⇋\",\"lrhard\":\"⥭\",\"lrm\":\"\",\"lrtri\":\"⊿\",\"lsaquo\":\"‹\",\"lscr\":\"𝓁\",\"Lscr\":\"ℒ\",\"lsh\":\"↰\",\"Lsh\":\"↰\",\"lsim\":\"≲\",\"lsime\":\"⪍\",\"lsimg\":\"⪏\",\"lsqb\":\"[\",\"lsquo\":\"‘\",\"lsquor\":\"‚\",\"Lstrok\":\"Ł\",\"lstrok\":\"ł\",\"ltcc\":\"⪦\",\"ltcir\":\"⩹\",\"lt\":\"<\",\"LT\":\"<\",\"Lt\":\"≪\",\"ltdot\":\"⋖\",\"lthree\":\"⋋\",\"ltimes\":\"⋉\",\"ltlarr\":\"⥶\",\"ltquest\":\"⩻\",\"ltri\":\"◃\",\"ltrie\":\"⊴\",\"ltrif\":\"◂\",\"ltrPar\":\"⦖\",\"lurdshar\":\"⥊\",\"luruhar\":\"⥦\",\"lvertneqq\":\"≨︀\",\"lvnE\":\"≨︀\",\"macr\":\"¯\",\"male\":\"♂\",\"malt\":\"✠\",\"maltese\":\"✠\",\"Map\":\"⤅\",\"map\":\"↦\",\"mapsto\":\"↦\",\"mapstodown\":\"↧\",\"mapstoleft\":\"↤\",\"mapstoup\":\"↥\",\"marker\":\"▮\",\"mcomma\":\"⨩\",\"Mcy\":\"М\",\"mcy\":\"м\",\"mdash\":\"—\",\"mDDot\":\"∺\",\"measuredangle\":\"∡\",\"MediumSpace\":\" \",\"Mellintrf\":\"ℳ\",\"Mfr\":\"𝔐\",\"mfr\":\"𝔪\",\"mho\":\"℧\",\"micro\":\"µ\",\"midast\":\"*\",\"midcir\":\"⫰\",\"mid\":\"∣\",\"middot\":\"·\",\"minusb\":\"⊟\",\"minus\":\"−\",\"minusd\":\"∸\",\"minusdu\":\"⨪\",\"MinusPlus\":\"∓\",\"mlcp\":\"⫛\",\"mldr\":\"…\",\"mnplus\":\"∓\",\"models\":\"⊧\",\"Mopf\":\"𝕄\",\"mopf\":\"𝕞\",\"mp\":\"∓\",\"mscr\":\"𝓂\",\"Mscr\":\"ℳ\",\"mstpos\":\"∾\",\"Mu\":\"Μ\",\"mu\":\"μ\",\"multimap\":\"⊸\",\"mumap\":\"⊸\",\"nabla\":\"∇\",\"Nacute\":\"Ń\",\"nacute\":\"ń\",\"nang\":\"∠⃒\",\"nap\":\"≉\",\"napE\":\"⩰̸\",\"napid\":\"≋̸\",\"napos\":\"ʼn\",\"napprox\":\"≉\",\"natural\":\"♮\",\"naturals\":\"ℕ\",\"natur\":\"♮\",\"nbsp\":\" \",\"nbump\":\"≎̸\",\"nbumpe\":\"≏̸\",\"ncap\":\"⩃\",\"Ncaron\":\"Ň\",\"ncaron\":\"ň\",\"Ncedil\":\"Ņ\",\"ncedil\":\"ņ\",\"ncong\":\"≇\",\"ncongdot\":\"⩭̸\",\"ncup\":\"⩂\",\"Ncy\":\"Н\",\"ncy\":\"н\",\"ndash\":\"–\",\"nearhk\":\"⤤\",\"nearr\":\"↗\",\"neArr\":\"⇗\",\"nearrow\":\"↗\",\"ne\":\"≠\",\"nedot\":\"≐̸\",\"NegativeMediumSpace\":\"\",\"NegativeThickSpace\":\"\",\"NegativeThinSpace\":\"\",\"NegativeVeryThinSpace\":\"\",\"nequiv\":\"≢\",\"nesear\":\"⤨\",\"nesim\":\"≂̸\",\"NestedGreaterGreater\":\"≫\",\"NestedLessLess\":\"≪\",\"NewLine\":\"\\n\",\"nexist\":\"∄\",\"nexists\":\"∄\",\"Nfr\":\"𝔑\",\"nfr\":\"𝔫\",\"ngE\":\"≧̸\",\"nge\":\"≱\",\"ngeq\":\"≱\",\"ngeqq\":\"≧̸\",\"ngeqslant\":\"⩾̸\",\"nges\":\"⩾̸\",\"nGg\":\"⋙̸\",\"ngsim\":\"≵\",\"nGt\":\"≫⃒\",\"ngt\":\"≯\",\"ngtr\":\"≯\",\"nGtv\":\"≫̸\",\"nharr\":\"↮\",\"nhArr\":\"⇎\",\"nhpar\":\"⫲\",\"ni\":\"∋\",\"nis\":\"⋼\",\"nisd\":\"⋺\",\"niv\":\"∋\",\"NJcy\":\"Њ\",\"njcy\":\"њ\",\"nlarr\":\"↚\",\"nlArr\":\"⇍\",\"nldr\":\"‥\",\"nlE\":\"≦̸\",\"nle\":\"≰\",\"nleftarrow\":\"↚\",\"nLeftarrow\":\"⇍\",\"nleftrightarrow\":\"↮\",\"nLeftrightarrow\":\"⇎\",\"nleq\":\"≰\",\"nleqq\":\"≦̸\",\"nleqslant\":\"⩽̸\",\"nles\":\"⩽̸\",\"nless\":\"≮\",\"nLl\":\"⋘̸\",\"nlsim\":\"≴\",\"nLt\":\"≪⃒\",\"nlt\":\"≮\",\"nltri\":\"⋪\",\"nltrie\":\"⋬\",\"nLtv\":\"≪̸\",\"nmid\":\"∤\",\"NoBreak\":\"\",\"NonBreakingSpace\":\" \",\"nopf\":\"𝕟\",\"Nopf\":\"ℕ\",\"Not\":\"⫬\",\"not\":\"¬\",\"NotCongruent\":\"≢\",\"NotCupCap\":\"≭\",\"NotDoubleVerticalBar\":\"∦\",\"NotElement\":\"∉\",\"NotEqual\":\"≠\",\"NotEqualTilde\":\"≂̸\",\"NotExists\":\"∄\",\"NotGreater\":\"≯\",\"NotGreaterEqual\":\"≱\",\"NotGreaterFullEqual\":\"≧̸\",\"NotGreaterGreater\":\"≫̸\",\"NotGreaterLess\":\"≹\",\"NotGreaterSlantEqual\":\"⩾̸\",\"NotGreaterTilde\":\"≵\",\"NotHumpDownHump\":\"≎̸\",\"NotHumpEqual\":\"≏̸\",\"notin\":\"∉\",\"notindot\":\"⋵̸\",\"notinE\":\"⋹̸\",\"notinva\":\"∉\",\"notinvb\":\"⋷\",\"notinvc\":\"⋶\",\"NotLeftTriangleBar\":\"⧏̸\",\"NotLeftTriangle\":\"⋪\",\"NotLeftTriangleEqual\":\"⋬\",\"NotLess\":\"≮\",\"NotLessEqual\":\"≰\",\"NotLessGreater\":\"≸\",\"NotLessLess\":\"≪̸\",\"NotLessSlantEqual\":\"⩽̸\",\"NotLessTilde\":\"≴\",\"NotNestedGreaterGreater\":\"⪢̸\",\"NotNestedLessLess\":\"⪡̸\",\"notni\":\"∌\",\"notniva\":\"∌\",\"notnivb\":\"⋾\",\"notnivc\":\"⋽\",\"NotPrecedes\":\"⊀\",\"NotPrecedesEqual\":\"⪯̸\",\"NotPrecedesSlantEqual\":\"⋠\",\"NotReverseElement\":\"∌\",\"NotRightTriangleBar\":\"⧐̸\",\"NotRightTriangle\":\"⋫\",\"NotRightTriangleEqual\":\"⋭\",\"NotSquareSubset\":\"⊏̸\",\"NotSquareSubsetEqual\":\"⋢\",\"NotSquareSuperset\":\"⊐̸\",\"NotSquareSupersetEqual\":\"⋣\",\"NotSubset\":\"⊂⃒\",\"NotSubsetEqual\":\"⊈\",\"NotSucceeds\":\"⊁\",\"NotSucceedsEqual\":\"⪰̸\",\"NotSucceedsSlantEqual\":\"⋡\",\"NotSucceedsTilde\":\"≿̸\",\"NotSuperset\":\"⊃⃒\",\"NotSupersetEqual\":\"⊉\",\"NotTilde\":\"≁\",\"NotTildeEqual\":\"≄\",\"NotTildeFullEqual\":\"≇\",\"NotTildeTilde\":\"≉\",\"NotVerticalBar\":\"∤\",\"nparallel\":\"∦\",\"npar\":\"∦\",\"nparsl\":\"⫽⃥\",\"npart\":\"∂̸\",\"npolint\":\"⨔\",\"npr\":\"⊀\",\"nprcue\":\"⋠\",\"nprec\":\"⊀\",\"npreceq\":\"⪯̸\",\"npre\":\"⪯̸\",\"nrarrc\":\"⤳̸\",\"nrarr\":\"↛\",\"nrArr\":\"⇏\",\"nrarrw\":\"↝̸\",\"nrightarrow\":\"↛\",\"nRightarrow\":\"⇏\",\"nrtri\":\"⋫\",\"nrtrie\":\"⋭\",\"nsc\":\"⊁\",\"nsccue\":\"⋡\",\"nsce\":\"⪰̸\",\"Nscr\":\"𝒩\",\"nscr\":\"𝓃\",\"nshortmid\":\"∤\",\"nshortparallel\":\"∦\",\"nsim\":\"≁\",\"nsime\":\"≄\",\"nsimeq\":\"≄\",\"nsmid\":\"∤\",\"nspar\":\"∦\",\"nsqsube\":\"⋢\",\"nsqsupe\":\"⋣\",\"nsub\":\"⊄\",\"nsubE\":\"⫅̸\",\"nsube\":\"⊈\",\"nsubset\":\"⊂⃒\",\"nsubseteq\":\"⊈\",\"nsubseteqq\":\"⫅̸\",\"nsucc\":\"⊁\",\"nsucceq\":\"⪰̸\",\"nsup\":\"⊅\",\"nsupE\":\"⫆̸\",\"nsupe\":\"⊉\",\"nsupset\":\"⊃⃒\",\"nsupseteq\":\"⊉\",\"nsupseteqq\":\"⫆̸\",\"ntgl\":\"≹\",\"Ntilde\":\"Ñ\",\"ntilde\":\"ñ\",\"ntlg\":\"≸\",\"ntriangleleft\":\"⋪\",\"ntrianglelefteq\":\"⋬\",\"ntriangleright\":\"⋫\",\"ntrianglerighteq\":\"⋭\",\"Nu\":\"Ν\",\"nu\":\"ν\",\"num\":\"#\",\"numero\":\"№\",\"numsp\":\" \",\"nvap\":\"≍⃒\",\"nvdash\":\"⊬\",\"nvDash\":\"⊭\",\"nVdash\":\"⊮\",\"nVDash\":\"⊯\",\"nvge\":\"≥⃒\",\"nvgt\":\">⃒\",\"nvHarr\":\"⤄\",\"nvinfin\":\"⧞\",\"nvlArr\":\"⤂\",\"nvle\":\"≤⃒\",\"nvlt\":\"<⃒\",\"nvltrie\":\"⊴⃒\",\"nvrArr\":\"⤃\",\"nvrtrie\":\"⊵⃒\",\"nvsim\":\"∼⃒\",\"nwarhk\":\"⤣\",\"nwarr\":\"↖\",\"nwArr\":\"⇖\",\"nwarrow\":\"↖\",\"nwnear\":\"⤧\",\"Oacute\":\"Ó\",\"oacute\":\"ó\",\"oast\":\"⊛\",\"Ocirc\":\"Ô\",\"ocirc\":\"ô\",\"ocir\":\"⊚\",\"Ocy\":\"О\",\"ocy\":\"о\",\"odash\":\"⊝\",\"Odblac\":\"Ő\",\"odblac\":\"ő\",\"odiv\":\"⨸\",\"odot\":\"⊙\",\"odsold\":\"⦼\",\"OElig\":\"Œ\",\"oelig\":\"œ\",\"ofcir\":\"⦿\",\"Ofr\":\"𝔒\",\"ofr\":\"𝔬\",\"ogon\":\"˛\",\"Ograve\":\"Ò\",\"ograve\":\"ò\",\"ogt\":\"⧁\",\"ohbar\":\"⦵\",\"ohm\":\"Ω\",\"oint\":\"∮\",\"olarr\":\"↺\",\"olcir\":\"⦾\",\"olcross\":\"⦻\",\"oline\":\"‾\",\"olt\":\"⧀\",\"Omacr\":\"Ō\",\"omacr\":\"ō\",\"Omega\":\"Ω\",\"omega\":\"ω\",\"Omicron\":\"Ο\",\"omicron\":\"ο\",\"omid\":\"⦶\",\"ominus\":\"⊖\",\"Oopf\":\"𝕆\",\"oopf\":\"𝕠\",\"opar\":\"⦷\",\"OpenCurlyDoubleQuote\":\"“\",\"OpenCurlyQuote\":\"‘\",\"operp\":\"⦹\",\"oplus\":\"⊕\",\"orarr\":\"↻\",\"Or\":\"⩔\",\"or\":\"∨\",\"ord\":\"⩝\",\"order\":\"ℴ\",\"orderof\":\"ℴ\",\"ordf\":\"ª\",\"ordm\":\"º\",\"origof\":\"⊶\",\"oror\":\"⩖\",\"orslope\":\"⩗\",\"orv\":\"⩛\",\"oS\":\"Ⓢ\",\"Oscr\":\"𝒪\",\"oscr\":\"ℴ\",\"Oslash\":\"Ø\",\"oslash\":\"ø\",\"osol\":\"⊘\",\"Otilde\":\"Õ\",\"otilde\":\"õ\",\"otimesas\":\"⨶\",\"Otimes\":\"⨷\",\"otimes\":\"⊗\",\"Ouml\":\"Ö\",\"ouml\":\"ö\",\"ovbar\":\"⌽\",\"OverBar\":\"‾\",\"OverBrace\":\"⏞\",\"OverBracket\":\"⎴\",\"OverParenthesis\":\"⏜\",\"para\":\"¶\",\"parallel\":\"∥\",\"par\":\"∥\",\"parsim\":\"⫳\",\"parsl\":\"⫽\",\"part\":\"∂\",\"PartialD\":\"∂\",\"Pcy\":\"П\",\"pcy\":\"п\",\"percnt\":\"%\",\"period\":\".\",\"permil\":\"‰\",\"perp\":\"⊥\",\"pertenk\":\"‱\",\"Pfr\":\"𝔓\",\"pfr\":\"𝔭\",\"Phi\":\"Φ\",\"phi\":\"φ\",\"phiv\":\"ϕ\",\"phmmat\":\"ℳ\",\"phone\":\"☎\",\"Pi\":\"Π\",\"pi\":\"π\",\"pitchfork\":\"⋔\",\"piv\":\"ϖ\",\"planck\":\"ℏ\",\"planckh\":\"ℎ\",\"plankv\":\"ℏ\",\"plusacir\":\"⨣\",\"plusb\":\"⊞\",\"pluscir\":\"⨢\",\"plus\":\"+\",\"plusdo\":\"∔\",\"plusdu\":\"⨥\",\"pluse\":\"⩲\",\"PlusMinus\":\"±\",\"plusmn\":\"±\",\"plussim\":\"⨦\",\"plustwo\":\"⨧\",\"pm\":\"±\",\"Poincareplane\":\"ℌ\",\"pointint\":\"⨕\",\"popf\":\"𝕡\",\"Popf\":\"ℙ\",\"pound\":\"£\",\"prap\":\"⪷\",\"Pr\":\"⪻\",\"pr\":\"≺\",\"prcue\":\"≼\",\"precapprox\":\"⪷\",\"prec\":\"≺\",\"preccurlyeq\":\"≼\",\"Precedes\":\"≺\",\"PrecedesEqual\":\"⪯\",\"PrecedesSlantEqual\":\"≼\",\"PrecedesTilde\":\"≾\",\"preceq\":\"⪯\",\"precnapprox\":\"⪹\",\"precneqq\":\"⪵\",\"precnsim\":\"⋨\",\"pre\":\"⪯\",\"prE\":\"⪳\",\"precsim\":\"≾\",\"prime\":\"′\",\"Prime\":\"″\",\"primes\":\"ℙ\",\"prnap\":\"⪹\",\"prnE\":\"⪵\",\"prnsim\":\"⋨\",\"prod\":\"∏\",\"Product\":\"∏\",\"profalar\":\"⌮\",\"profline\":\"⌒\",\"profsurf\":\"⌓\",\"prop\":\"∝\",\"Proportional\":\"∝\",\"Proportion\":\"∷\",\"propto\":\"∝\",\"prsim\":\"≾\",\"prurel\":\"⊰\",\"Pscr\":\"𝒫\",\"pscr\":\"𝓅\",\"Psi\":\"Ψ\",\"psi\":\"ψ\",\"puncsp\":\" \",\"Qfr\":\"𝔔\",\"qfr\":\"𝔮\",\"qint\":\"⨌\",\"qopf\":\"𝕢\",\"Qopf\":\"ℚ\",\"qprime\":\"⁗\",\"Qscr\":\"𝒬\",\"qscr\":\"𝓆\",\"quaternions\":\"ℍ\",\"quatint\":\"⨖\",\"quest\":\"?\",\"questeq\":\"≟\",\"quot\":\"\\\"\",\"QUOT\":\"\\\"\",\"rAarr\":\"⇛\",\"race\":\"∽̱\",\"Racute\":\"Ŕ\",\"racute\":\"ŕ\",\"radic\":\"√\",\"raemptyv\":\"⦳\",\"rang\":\"⟩\",\"Rang\":\"⟫\",\"rangd\":\"⦒\",\"range\":\"⦥\",\"rangle\":\"⟩\",\"raquo\":\"»\",\"rarrap\":\"⥵\",\"rarrb\":\"⇥\",\"rarrbfs\":\"⤠\",\"rarrc\":\"⤳\",\"rarr\":\"→\",\"Rarr\":\"↠\",\"rArr\":\"⇒\",\"rarrfs\":\"⤞\",\"rarrhk\":\"↪\",\"rarrlp\":\"↬\",\"rarrpl\":\"⥅\",\"rarrsim\":\"⥴\",\"Rarrtl\":\"⤖\",\"rarrtl\":\"↣\",\"rarrw\":\"↝\",\"ratail\":\"⤚\",\"rAtail\":\"⤜\",\"ratio\":\"∶\",\"rationals\":\"ℚ\",\"rbarr\":\"⤍\",\"rBarr\":\"⤏\",\"RBarr\":\"⤐\",\"rbbrk\":\"❳\",\"rbrace\":\"}\",\"rbrack\":\"]\",\"rbrke\":\"⦌\",\"rbrksld\":\"⦎\",\"rbrkslu\":\"⦐\",\"Rcaron\":\"Ř\",\"rcaron\":\"ř\",\"Rcedil\":\"Ŗ\",\"rcedil\":\"ŗ\",\"rceil\":\"⌉\",\"rcub\":\"}\",\"Rcy\":\"Р\",\"rcy\":\"р\",\"rdca\":\"⤷\",\"rdldhar\":\"⥩\",\"rdquo\":\"”\",\"rdquor\":\"”\",\"rdsh\":\"↳\",\"real\":\"ℜ\",\"realine\":\"ℛ\",\"realpart\":\"ℜ\",\"reals\":\"ℝ\",\"Re\":\"ℜ\",\"rect\":\"▭\",\"reg\":\"®\",\"REG\":\"®\",\"ReverseElement\":\"∋\",\"ReverseEquilibrium\":\"⇋\",\"ReverseUpEquilibrium\":\"⥯\",\"rfisht\":\"⥽\",\"rfloor\":\"⌋\",\"rfr\":\"𝔯\",\"Rfr\":\"ℜ\",\"rHar\":\"⥤\",\"rhard\":\"⇁\",\"rharu\":\"⇀\",\"rharul\":\"⥬\",\"Rho\":\"Ρ\",\"rho\":\"ρ\",\"rhov\":\"ϱ\",\"RightAngleBracket\":\"⟩\",\"RightArrowBar\":\"⇥\",\"rightarrow\":\"→\",\"RightArrow\":\"→\",\"Rightarrow\":\"⇒\",\"RightArrowLeftArrow\":\"⇄\",\"rightarrowtail\":\"↣\",\"RightCeiling\":\"⌉\",\"RightDoubleBracket\":\"⟧\",\"RightDownTeeVector\":\"⥝\",\"RightDownVectorBar\":\"⥕\",\"RightDownVector\":\"⇂\",\"RightFloor\":\"⌋\",\"rightharpoondown\":\"⇁\",\"rightharpoonup\":\"⇀\",\"rightleftarrows\":\"⇄\",\"rightleftharpoons\":\"⇌\",\"rightrightarrows\":\"⇉\",\"rightsquigarrow\":\"↝\",\"RightTeeArrow\":\"↦\",\"RightTee\":\"⊢\",\"RightTeeVector\":\"⥛\",\"rightthreetimes\":\"⋌\",\"RightTriangleBar\":\"⧐\",\"RightTriangle\":\"⊳\",\"RightTriangleEqual\":\"⊵\",\"RightUpDownVector\":\"⥏\",\"RightUpTeeVector\":\"⥜\",\"RightUpVectorBar\":\"⥔\",\"RightUpVector\":\"↾\",\"RightVectorBar\":\"⥓\",\"RightVector\":\"⇀\",\"ring\":\"˚\",\"risingdotseq\":\"≓\",\"rlarr\":\"⇄\",\"rlhar\":\"⇌\",\"rlm\":\"\",\"rmoustache\":\"⎱\",\"rmoust\":\"⎱\",\"rnmid\":\"⫮\",\"roang\":\"⟭\",\"roarr\":\"⇾\",\"robrk\":\"⟧\",\"ropar\":\"⦆\",\"ropf\":\"𝕣\",\"Ropf\":\"ℝ\",\"roplus\":\"⨮\",\"rotimes\":\"⨵\",\"RoundImplies\":\"⥰\",\"rpar\":\")\",\"rpargt\":\"⦔\",\"rppolint\":\"⨒\",\"rrarr\":\"⇉\",\"Rrightarrow\":\"⇛\",\"rsaquo\":\"›\",\"rscr\":\"𝓇\",\"Rscr\":\"ℛ\",\"rsh\":\"↱\",\"Rsh\":\"↱\",\"rsqb\":\"]\",\"rsquo\":\"’\",\"rsquor\":\"’\",\"rthree\":\"⋌\",\"rtimes\":\"⋊\",\"rtri\":\"▹\",\"rtrie\":\"⊵\",\"rtrif\":\"▸\",\"rtriltri\":\"⧎\",\"RuleDelayed\":\"⧴\",\"ruluhar\":\"⥨\",\"rx\":\"℞\",\"Sacute\":\"Ś\",\"sacute\":\"ś\",\"sbquo\":\"‚\",\"scap\":\"⪸\",\"Scaron\":\"Š\",\"scaron\":\"š\",\"Sc\":\"⪼\",\"sc\":\"≻\",\"sccue\":\"≽\",\"sce\":\"⪰\",\"scE\":\"⪴\",\"Scedil\":\"Ş\",\"scedil\":\"ş\",\"Scirc\":\"Ŝ\",\"scirc\":\"ŝ\",\"scnap\":\"⪺\",\"scnE\":\"⪶\",\"scnsim\":\"⋩\",\"scpolint\":\"⨓\",\"scsim\":\"≿\",\"Scy\":\"С\",\"scy\":\"с\",\"sdotb\":\"⊡\",\"sdot\":\"⋅\",\"sdote\":\"⩦\",\"searhk\":\"⤥\",\"searr\":\"↘\",\"seArr\":\"⇘\",\"searrow\":\"↘\",\"sect\":\"§\",\"semi\":\";\",\"seswar\":\"⤩\",\"setminus\":\"∖\",\"setmn\":\"∖\",\"sext\":\"✶\",\"Sfr\":\"𝔖\",\"sfr\":\"𝔰\",\"sfrown\":\"⌢\",\"sharp\":\"♯\",\"SHCHcy\":\"Щ\",\"shchcy\":\"щ\",\"SHcy\":\"Ш\",\"shcy\":\"ш\",\"ShortDownArrow\":\"↓\",\"ShortLeftArrow\":\"←\",\"shortmid\":\"∣\",\"shortparallel\":\"∥\",\"ShortRightArrow\":\"→\",\"ShortUpArrow\":\"↑\",\"shy\":\"\",\"Sigma\":\"Σ\",\"sigma\":\"σ\",\"sigmaf\":\"ς\",\"sigmav\":\"ς\",\"sim\":\"∼\",\"simdot\":\"⩪\",\"sime\":\"≃\",\"simeq\":\"≃\",\"simg\":\"⪞\",\"simgE\":\"⪠\",\"siml\":\"⪝\",\"simlE\":\"⪟\",\"simne\":\"≆\",\"simplus\":\"⨤\",\"simrarr\":\"⥲\",\"slarr\":\"←\",\"SmallCircle\":\"∘\",\"smallsetminus\":\"∖\",\"smashp\":\"⨳\",\"smeparsl\":\"⧤\",\"smid\":\"∣\",\"smile\":\"⌣\",\"smt\":\"⪪\",\"smte\":\"⪬\",\"smtes\":\"⪬︀\",\"SOFTcy\":\"Ь\",\"softcy\":\"ь\",\"solbar\":\"⌿\",\"solb\":\"⧄\",\"sol\":\"/\",\"Sopf\":\"𝕊\",\"sopf\":\"𝕤\",\"spades\":\"♠\",\"spadesuit\":\"♠\",\"spar\":\"∥\",\"sqcap\":\"⊓\",\"sqcaps\":\"⊓︀\",\"sqcup\":\"⊔\",\"sqcups\":\"⊔︀\",\"Sqrt\":\"√\",\"sqsub\":\"⊏\",\"sqsube\":\"⊑\",\"sqsubset\":\"⊏\",\"sqsubseteq\":\"⊑\",\"sqsup\":\"⊐\",\"sqsupe\":\"⊒\",\"sqsupset\":\"⊐\",\"sqsupseteq\":\"⊒\",\"square\":\"□\",\"Square\":\"□\",\"SquareIntersection\":\"⊓\",\"SquareSubset\":\"⊏\",\"SquareSubsetEqual\":\"⊑\",\"SquareSuperset\":\"⊐\",\"SquareSupersetEqual\":\"⊒\",\"SquareUnion\":\"⊔\",\"squarf\":\"▪\",\"squ\":\"□\",\"squf\":\"▪\",\"srarr\":\"→\",\"Sscr\":\"𝒮\",\"sscr\":\"𝓈\",\"ssetmn\":\"∖\",\"ssmile\":\"⌣\",\"sstarf\":\"⋆\",\"Star\":\"⋆\",\"star\":\"☆\",\"starf\":\"★\",\"straightepsilon\":\"ϵ\",\"straightphi\":\"ϕ\",\"strns\":\"¯\",\"sub\":\"⊂\",\"Sub\":\"⋐\",\"subdot\":\"⪽\",\"subE\":\"⫅\",\"sube\":\"⊆\",\"subedot\":\"⫃\",\"submult\":\"⫁\",\"subnE\":\"⫋\",\"subne\":\"⊊\",\"subplus\":\"⪿\",\"subrarr\":\"⥹\",\"subset\":\"⊂\",\"Subset\":\"⋐\",\"subseteq\":\"⊆\",\"subseteqq\":\"⫅\",\"SubsetEqual\":\"⊆\",\"subsetneq\":\"⊊\",\"subsetneqq\":\"⫋\",\"subsim\":\"⫇\",\"subsub\":\"⫕\",\"subsup\":\"⫓\",\"succapprox\":\"⪸\",\"succ\":\"≻\",\"succcurlyeq\":\"≽\",\"Succeeds\":\"≻\",\"SucceedsEqual\":\"⪰\",\"SucceedsSlantEqual\":\"≽\",\"SucceedsTilde\":\"≿\",\"succeq\":\"⪰\",\"succnapprox\":\"⪺\",\"succneqq\":\"⪶\",\"succnsim\":\"⋩\",\"succsim\":\"≿\",\"SuchThat\":\"∋\",\"sum\":\"∑\",\"Sum\":\"∑\",\"sung\":\"♪\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"sup\":\"⊃\",\"Sup\":\"⋑\",\"supdot\":\"⪾\",\"supdsub\":\"⫘\",\"supE\":\"⫆\",\"supe\":\"⊇\",\"supedot\":\"⫄\",\"Superset\":\"⊃\",\"SupersetEqual\":\"⊇\",\"suphsol\":\"⟉\",\"suphsub\":\"⫗\",\"suplarr\":\"⥻\",\"supmult\":\"⫂\",\"supnE\":\"⫌\",\"supne\":\"⊋\",\"supplus\":\"⫀\",\"supset\":\"⊃\",\"Supset\":\"⋑\",\"supseteq\":\"⊇\",\"supseteqq\":\"⫆\",\"supsetneq\":\"⊋\",\"supsetneqq\":\"⫌\",\"supsim\":\"⫈\",\"supsub\":\"⫔\",\"supsup\":\"⫖\",\"swarhk\":\"⤦\",\"swarr\":\"↙\",\"swArr\":\"⇙\",\"swarrow\":\"↙\",\"swnwar\":\"⤪\",\"szlig\":\"ß\",\"Tab\":\"\\t\",\"target\":\"⌖\",\"Tau\":\"Τ\",\"tau\":\"τ\",\"tbrk\":\"⎴\",\"Tcaron\":\"Ť\",\"tcaron\":\"ť\",\"Tcedil\":\"Ţ\",\"tcedil\":\"ţ\",\"Tcy\":\"Т\",\"tcy\":\"т\",\"tdot\":\"⃛\",\"telrec\":\"⌕\",\"Tfr\":\"𝔗\",\"tfr\":\"𝔱\",\"there4\":\"∴\",\"therefore\":\"∴\",\"Therefore\":\"∴\",\"Theta\":\"Θ\",\"theta\":\"θ\",\"thetasym\":\"ϑ\",\"thetav\":\"ϑ\",\"thickapprox\":\"≈\",\"thicksim\":\"∼\",\"ThickSpace\":\" \",\"ThinSpace\":\" \",\"thinsp\":\" \",\"thkap\":\"≈\",\"thksim\":\"∼\",\"THORN\":\"Þ\",\"thorn\":\"þ\",\"tilde\":\"˜\",\"Tilde\":\"∼\",\"TildeEqual\":\"≃\",\"TildeFullEqual\":\"≅\",\"TildeTilde\":\"≈\",\"timesbar\":\"⨱\",\"timesb\":\"⊠\",\"times\":\"×\",\"timesd\":\"⨰\",\"tint\":\"∭\",\"toea\":\"⤨\",\"topbot\":\"⌶\",\"topcir\":\"⫱\",\"top\":\"⊤\",\"Topf\":\"𝕋\",\"topf\":\"𝕥\",\"topfork\":\"⫚\",\"tosa\":\"⤩\",\"tprime\":\"‴\",\"trade\":\"™\",\"TRADE\":\"™\",\"triangle\":\"▵\",\"triangledown\":\"▿\",\"triangleleft\":\"◃\",\"trianglelefteq\":\"⊴\",\"triangleq\":\"≜\",\"triangleright\":\"▹\",\"trianglerighteq\":\"⊵\",\"tridot\":\"◬\",\"trie\":\"≜\",\"triminus\":\"⨺\",\"TripleDot\":\"⃛\",\"triplus\":\"⨹\",\"trisb\":\"⧍\",\"tritime\":\"⨻\",\"trpezium\":\"⏢\",\"Tscr\":\"𝒯\",\"tscr\":\"𝓉\",\"TScy\":\"Ц\",\"tscy\":\"ц\",\"TSHcy\":\"Ћ\",\"tshcy\":\"ћ\",\"Tstrok\":\"Ŧ\",\"tstrok\":\"ŧ\",\"twixt\":\"≬\",\"twoheadleftarrow\":\"↞\",\"twoheadrightarrow\":\"↠\",\"Uacute\":\"Ú\",\"uacute\":\"ú\",\"uarr\":\"↑\",\"Uarr\":\"↟\",\"uArr\":\"⇑\",\"Uarrocir\":\"⥉\",\"Ubrcy\":\"Ў\",\"ubrcy\":\"ў\",\"Ubreve\":\"Ŭ\",\"ubreve\":\"ŭ\",\"Ucirc\":\"Û\",\"ucirc\":\"û\",\"Ucy\":\"У\",\"ucy\":\"у\",\"udarr\":\"⇅\",\"Udblac\":\"Ű\",\"udblac\":\"ű\",\"udhar\":\"⥮\",\"ufisht\":\"⥾\",\"Ufr\":\"𝔘\",\"ufr\":\"𝔲\",\"Ugrave\":\"Ù\",\"ugrave\":\"ù\",\"uHar\":\"⥣\",\"uharl\":\"↿\",\"uharr\":\"↾\",\"uhblk\":\"▀\",\"ulcorn\":\"⌜\",\"ulcorner\":\"⌜\",\"ulcrop\":\"⌏\",\"ultri\":\"◸\",\"Umacr\":\"Ū\",\"umacr\":\"ū\",\"uml\":\"¨\",\"UnderBar\":\"_\",\"UnderBrace\":\"⏟\",\"UnderBracket\":\"⎵\",\"UnderParenthesis\":\"⏝\",\"Union\":\"⋃\",\"UnionPlus\":\"⊎\",\"Uogon\":\"Ų\",\"uogon\":\"ų\",\"Uopf\":\"𝕌\",\"uopf\":\"𝕦\",\"UpArrowBar\":\"⤒\",\"uparrow\":\"↑\",\"UpArrow\":\"↑\",\"Uparrow\":\"⇑\",\"UpArrowDownArrow\":\"⇅\",\"updownarrow\":\"↕\",\"UpDownArrow\":\"↕\",\"Updownarrow\":\"⇕\",\"UpEquilibrium\":\"⥮\",\"upharpoonleft\":\"↿\",\"upharpoonright\":\"↾\",\"uplus\":\"⊎\",\"UpperLeftArrow\":\"↖\",\"UpperRightArrow\":\"↗\",\"upsi\":\"υ\",\"Upsi\":\"ϒ\",\"upsih\":\"ϒ\",\"Upsilon\":\"Υ\",\"upsilon\":\"υ\",\"UpTeeArrow\":\"↥\",\"UpTee\":\"⊥\",\"upuparrows\":\"⇈\",\"urcorn\":\"⌝\",\"urcorner\":\"⌝\",\"urcrop\":\"⌎\",\"Uring\":\"Ů\",\"uring\":\"ů\",\"urtri\":\"◹\",\"Uscr\":\"𝒰\",\"uscr\":\"𝓊\",\"utdot\":\"⋰\",\"Utilde\":\"Ũ\",\"utilde\":\"ũ\",\"utri\":\"▵\",\"utrif\":\"▴\",\"uuarr\":\"⇈\",\"Uuml\":\"Ü\",\"uuml\":\"ü\",\"uwangle\":\"⦧\",\"vangrt\":\"⦜\",\"varepsilon\":\"ϵ\",\"varkappa\":\"ϰ\",\"varnothing\":\"∅\",\"varphi\":\"ϕ\",\"varpi\":\"ϖ\",\"varpropto\":\"∝\",\"varr\":\"↕\",\"vArr\":\"⇕\",\"varrho\":\"ϱ\",\"varsigma\":\"ς\",\"varsubsetneq\":\"⊊︀\",\"varsubsetneqq\":\"⫋︀\",\"varsupsetneq\":\"⊋︀\",\"varsupsetneqq\":\"⫌︀\",\"vartheta\":\"ϑ\",\"vartriangleleft\":\"⊲\",\"vartriangleright\":\"⊳\",\"vBar\":\"⫨\",\"Vbar\":\"⫫\",\"vBarv\":\"⫩\",\"Vcy\":\"В\",\"vcy\":\"в\",\"vdash\":\"⊢\",\"vDash\":\"⊨\",\"Vdash\":\"⊩\",\"VDash\":\"⊫\",\"Vdashl\":\"⫦\",\"veebar\":\"⊻\",\"vee\":\"∨\",\"Vee\":\"⋁\",\"veeeq\":\"≚\",\"vellip\":\"⋮\",\"verbar\":\"|\",\"Verbar\":\"‖\",\"vert\":\"|\",\"Vert\":\"‖\",\"VerticalBar\":\"∣\",\"VerticalLine\":\"|\",\"VerticalSeparator\":\"❘\",\"VerticalTilde\":\"≀\",\"VeryThinSpace\":\" \",\"Vfr\":\"𝔙\",\"vfr\":\"𝔳\",\"vltri\":\"⊲\",\"vnsub\":\"⊂⃒\",\"vnsup\":\"⊃⃒\",\"Vopf\":\"𝕍\",\"vopf\":\"𝕧\",\"vprop\":\"∝\",\"vrtri\":\"⊳\",\"Vscr\":\"𝒱\",\"vscr\":\"𝓋\",\"vsubnE\":\"⫋︀\",\"vsubne\":\"⊊︀\",\"vsupnE\":\"⫌︀\",\"vsupne\":\"⊋︀\",\"Vvdash\":\"⊪\",\"vzigzag\":\"⦚\",\"Wcirc\":\"Ŵ\",\"wcirc\":\"ŵ\",\"wedbar\":\"⩟\",\"wedge\":\"∧\",\"Wedge\":\"⋀\",\"wedgeq\":\"≙\",\"weierp\":\"℘\",\"Wfr\":\"𝔚\",\"wfr\":\"𝔴\",\"Wopf\":\"𝕎\",\"wopf\":\"𝕨\",\"wp\":\"℘\",\"wr\":\"≀\",\"wreath\":\"≀\",\"Wscr\":\"𝒲\",\"wscr\":\"𝓌\",\"xcap\":\"⋂\",\"xcirc\":\"◯\",\"xcup\":\"⋃\",\"xdtri\":\"▽\",\"Xfr\":\"𝔛\",\"xfr\":\"𝔵\",\"xharr\":\"⟷\",\"xhArr\":\"⟺\",\"Xi\":\"Ξ\",\"xi\":\"ξ\",\"xlarr\":\"⟵\",\"xlArr\":\"⟸\",\"xmap\":\"⟼\",\"xnis\":\"⋻\",\"xodot\":\"⨀\",\"Xopf\":\"𝕏\",\"xopf\":\"𝕩\",\"xoplus\":\"⨁\",\"xotime\":\"⨂\",\"xrarr\":\"⟶\",\"xrArr\":\"⟹\",\"Xscr\":\"𝒳\",\"xscr\":\"𝓍\",\"xsqcup\":\"⨆\",\"xuplus\":\"⨄\",\"xutri\":\"△\",\"xvee\":\"⋁\",\"xwedge\":\"⋀\",\"Yacute\":\"Ý\",\"yacute\":\"ý\",\"YAcy\":\"Я\",\"yacy\":\"я\",\"Ycirc\":\"Ŷ\",\"ycirc\":\"ŷ\",\"Ycy\":\"Ы\",\"ycy\":\"ы\",\"yen\":\"¥\",\"Yfr\":\"𝔜\",\"yfr\":\"𝔶\",\"YIcy\":\"Ї\",\"yicy\":\"ї\",\"Yopf\":\"𝕐\",\"yopf\":\"𝕪\",\"Yscr\":\"𝒴\",\"yscr\":\"𝓎\",\"YUcy\":\"Ю\",\"yucy\":\"ю\",\"yuml\":\"ÿ\",\"Yuml\":\"Ÿ\",\"Zacute\":\"Ź\",\"zacute\":\"ź\",\"Zcaron\":\"Ž\",\"zcaron\":\"ž\",\"Zcy\":\"З\",\"zcy\":\"з\",\"Zdot\":\"Ż\",\"zdot\":\"ż\",\"zeetrf\":\"ℨ\",\"ZeroWidthSpace\":\"\",\"Zeta\":\"Ζ\",\"zeta\":\"ζ\",\"zfr\":\"𝔷\",\"Zfr\":\"ℨ\",\"ZHcy\":\"Ж\",\"zhcy\":\"ж\",\"zigrarr\":\"⇝\",\"zopf\":\"𝕫\",\"Zopf\":\"ℤ\",\"Zscr\":\"𝒵\",\"zscr\":\"𝓏\",\"zwj\":\"\",\"zwnj\":\"\"}");
|
|
25542
26462
|
|
|
25543
26463
|
/***/ }),
|
|
25544
|
-
/*
|
|
26464
|
+
/* 31 */
|
|
25545
26465
|
/***/ (function(module, exports, __webpack_require__) {
|
|
25546
26466
|
|
|
25547
26467
|
"use strict";
|
|
@@ -25646,7 +26566,7 @@ module.exports = encode;
|
|
|
25646
26566
|
|
|
25647
26567
|
|
|
25648
26568
|
/***/ }),
|
|
25649
|
-
/*
|
|
26569
|
+
/* 32 */
|
|
25650
26570
|
/***/ (function(module, exports, __webpack_require__) {
|
|
25651
26571
|
|
|
25652
26572
|
"use strict";
|
|
@@ -25775,7 +26695,7 @@ module.exports = decode;
|
|
|
25775
26695
|
|
|
25776
26696
|
|
|
25777
26697
|
/***/ }),
|
|
25778
|
-
/*
|
|
26698
|
+
/* 33 */
|
|
25779
26699
|
/***/ (function(module, exports, __webpack_require__) {
|
|
25780
26700
|
|
|
25781
26701
|
"use strict";
|
|
@@ -25807,7 +26727,7 @@ module.exports = function format(url) {
|
|
|
25807
26727
|
|
|
25808
26728
|
|
|
25809
26729
|
/***/ }),
|
|
25810
|
-
/*
|
|
26730
|
+
/* 34 */
|
|
25811
26731
|
/***/ (function(module, exports, __webpack_require__) {
|
|
25812
26732
|
|
|
25813
26733
|
"use strict";
|
|
@@ -26126,27 +27046,27 @@ module.exports = urlParse;
|
|
|
26126
27046
|
|
|
26127
27047
|
|
|
26128
27048
|
/***/ }),
|
|
26129
|
-
/*
|
|
27049
|
+
/* 35 */
|
|
26130
27050
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26131
27051
|
|
|
26132
27052
|
"use strict";
|
|
26133
27053
|
|
|
26134
27054
|
|
|
26135
|
-
exports.Any = __webpack_require__(
|
|
26136
|
-
exports.Cc = __webpack_require__(
|
|
26137
|
-
exports.Cf = __webpack_require__(
|
|
26138
|
-
exports.P = __webpack_require__(
|
|
26139
|
-
exports.Z = __webpack_require__(
|
|
27055
|
+
exports.Any = __webpack_require__(15);
|
|
27056
|
+
exports.Cc = __webpack_require__(16);
|
|
27057
|
+
exports.Cf = __webpack_require__(36);
|
|
27058
|
+
exports.P = __webpack_require__(7);
|
|
27059
|
+
exports.Z = __webpack_require__(17);
|
|
26140
27060
|
|
|
26141
27061
|
|
|
26142
27062
|
/***/ }),
|
|
26143
|
-
/*
|
|
27063
|
+
/* 36 */
|
|
26144
27064
|
/***/ (function(module, exports) {
|
|
26145
27065
|
|
|
26146
27066
|
module.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/
|
|
26147
27067
|
|
|
26148
27068
|
/***/ }),
|
|
26149
|
-
/*
|
|
27069
|
+
/* 37 */
|
|
26150
27070
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26151
27071
|
|
|
26152
27072
|
"use strict";
|
|
@@ -26154,13 +27074,13 @@ module.exports=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u2
|
|
|
26154
27074
|
|
|
26155
27075
|
|
|
26156
27076
|
|
|
26157
|
-
exports.parseLinkLabel = __webpack_require__(
|
|
26158
|
-
exports.parseLinkDestination = __webpack_require__(
|
|
26159
|
-
exports.parseLinkTitle = __webpack_require__(
|
|
27077
|
+
exports.parseLinkLabel = __webpack_require__(38);
|
|
27078
|
+
exports.parseLinkDestination = __webpack_require__(39);
|
|
27079
|
+
exports.parseLinkTitle = __webpack_require__(40);
|
|
26160
27080
|
|
|
26161
27081
|
|
|
26162
27082
|
/***/ }),
|
|
26163
|
-
/*
|
|
27083
|
+
/* 38 */
|
|
26164
27084
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26165
27085
|
|
|
26166
27086
|
"use strict";
|
|
@@ -26215,7 +27135,7 @@ module.exports = function parseLinkLabel(state, start, disableNested) {
|
|
|
26215
27135
|
|
|
26216
27136
|
|
|
26217
27137
|
/***/ }),
|
|
26218
|
-
/*
|
|
27138
|
+
/* 39 */
|
|
26219
27139
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26220
27140
|
|
|
26221
27141
|
"use strict";
|
|
@@ -26304,7 +27224,7 @@ module.exports = function parseLinkDestination(str, pos, max) {
|
|
|
26304
27224
|
|
|
26305
27225
|
|
|
26306
27226
|
/***/ }),
|
|
26307
|
-
/*
|
|
27227
|
+
/* 40 */
|
|
26308
27228
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26309
27229
|
|
|
26310
27230
|
"use strict";
|
|
@@ -26366,7 +27286,7 @@ module.exports = function parseLinkTitle(str, pos, max) {
|
|
|
26366
27286
|
|
|
26367
27287
|
|
|
26368
27288
|
/***/ }),
|
|
26369
|
-
/*
|
|
27289
|
+
/* 41 */
|
|
26370
27290
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26371
27291
|
|
|
26372
27292
|
"use strict";
|
|
@@ -26714,7 +27634,7 @@ module.exports = Renderer;
|
|
|
26714
27634
|
|
|
26715
27635
|
|
|
26716
27636
|
/***/ }),
|
|
26717
|
-
/*
|
|
27637
|
+
/* 42 */
|
|
26718
27638
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26719
27639
|
|
|
26720
27640
|
"use strict";
|
|
@@ -26727,16 +27647,16 @@ module.exports = Renderer;
|
|
|
26727
27647
|
|
|
26728
27648
|
|
|
26729
27649
|
|
|
26730
|
-
var Ruler = __webpack_require__(
|
|
27650
|
+
var Ruler = __webpack_require__(8);
|
|
26731
27651
|
|
|
26732
27652
|
|
|
26733
27653
|
var _rules = [
|
|
26734
|
-
[ 'normalize', __webpack_require__(
|
|
26735
|
-
[ 'block', __webpack_require__(
|
|
26736
|
-
[ 'inline', __webpack_require__(
|
|
26737
|
-
[ 'linkify', __webpack_require__(
|
|
26738
|
-
[ 'replacements', __webpack_require__(
|
|
26739
|
-
[ 'smartquotes', __webpack_require__(
|
|
27654
|
+
[ 'normalize', __webpack_require__(43) ],
|
|
27655
|
+
[ 'block', __webpack_require__(44) ],
|
|
27656
|
+
[ 'inline', __webpack_require__(45) ],
|
|
27657
|
+
[ 'linkify', __webpack_require__(46) ],
|
|
27658
|
+
[ 'replacements', __webpack_require__(47) ],
|
|
27659
|
+
[ 'smartquotes', __webpack_require__(48) ]
|
|
26740
27660
|
];
|
|
26741
27661
|
|
|
26742
27662
|
|
|
@@ -26772,14 +27692,14 @@ Core.prototype.process = function (state) {
|
|
|
26772
27692
|
}
|
|
26773
27693
|
};
|
|
26774
27694
|
|
|
26775
|
-
Core.prototype.State = __webpack_require__(
|
|
27695
|
+
Core.prototype.State = __webpack_require__(49);
|
|
26776
27696
|
|
|
26777
27697
|
|
|
26778
27698
|
module.exports = Core;
|
|
26779
27699
|
|
|
26780
27700
|
|
|
26781
27701
|
/***/ }),
|
|
26782
|
-
/*
|
|
27702
|
+
/* 43 */
|
|
26783
27703
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26784
27704
|
|
|
26785
27705
|
"use strict";
|
|
@@ -26807,7 +27727,7 @@ module.exports = function normalize(state) {
|
|
|
26807
27727
|
|
|
26808
27728
|
|
|
26809
27729
|
/***/ }),
|
|
26810
|
-
/*
|
|
27730
|
+
/* 44 */
|
|
26811
27731
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26812
27732
|
|
|
26813
27733
|
"use strict";
|
|
@@ -26830,7 +27750,7 @@ module.exports = function block(state) {
|
|
|
26830
27750
|
|
|
26831
27751
|
|
|
26832
27752
|
/***/ }),
|
|
26833
|
-
/*
|
|
27753
|
+
/* 45 */
|
|
26834
27754
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26835
27755
|
|
|
26836
27756
|
"use strict";
|
|
@@ -26850,7 +27770,7 @@ module.exports = function inline(state) {
|
|
|
26850
27770
|
|
|
26851
27771
|
|
|
26852
27772
|
/***/ }),
|
|
26853
|
-
/*
|
|
27773
|
+
/* 46 */
|
|
26854
27774
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26855
27775
|
|
|
26856
27776
|
"use strict";
|
|
@@ -26990,7 +27910,7 @@ module.exports = function linkify(state) {
|
|
|
26990
27910
|
|
|
26991
27911
|
|
|
26992
27912
|
/***/ }),
|
|
26993
|
-
/*
|
|
27913
|
+
/* 47 */
|
|
26994
27914
|
/***/ (function(module, exports, __webpack_require__) {
|
|
26995
27915
|
|
|
26996
27916
|
"use strict";
|
|
@@ -27104,7 +28024,7 @@ module.exports = function replace(state) {
|
|
|
27104
28024
|
|
|
27105
28025
|
|
|
27106
28026
|
/***/ }),
|
|
27107
|
-
/*
|
|
28027
|
+
/* 48 */
|
|
27108
28028
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27109
28029
|
|
|
27110
28030
|
"use strict";
|
|
@@ -27312,7 +28232,7 @@ module.exports = function smartquotes(state) {
|
|
|
27312
28232
|
|
|
27313
28233
|
|
|
27314
28234
|
/***/ }),
|
|
27315
|
-
/*
|
|
28235
|
+
/* 49 */
|
|
27316
28236
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27317
28237
|
|
|
27318
28238
|
"use strict";
|
|
@@ -27320,7 +28240,7 @@ module.exports = function smartquotes(state) {
|
|
|
27320
28240
|
//
|
|
27321
28241
|
|
|
27322
28242
|
|
|
27323
|
-
var Token = __webpack_require__(
|
|
28243
|
+
var Token = __webpack_require__(9);
|
|
27324
28244
|
|
|
27325
28245
|
|
|
27326
28246
|
function StateCore(src, md, env) {
|
|
@@ -27339,7 +28259,7 @@ module.exports = StateCore;
|
|
|
27339
28259
|
|
|
27340
28260
|
|
|
27341
28261
|
/***/ }),
|
|
27342
|
-
/*
|
|
28262
|
+
/* 50 */
|
|
27343
28263
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27344
28264
|
|
|
27345
28265
|
"use strict";
|
|
@@ -27351,23 +28271,23 @@ module.exports = StateCore;
|
|
|
27351
28271
|
|
|
27352
28272
|
|
|
27353
28273
|
|
|
27354
|
-
var Ruler = __webpack_require__(
|
|
28274
|
+
var Ruler = __webpack_require__(8);
|
|
27355
28275
|
|
|
27356
28276
|
|
|
27357
28277
|
var _rules = [
|
|
27358
28278
|
// First 2 params - rule name & source. Secondary array - list of rules,
|
|
27359
28279
|
// which can be terminated by this one.
|
|
27360
|
-
[ 'table', __webpack_require__(
|
|
27361
|
-
[ 'code', __webpack_require__(
|
|
27362
|
-
[ 'fence', __webpack_require__(
|
|
27363
|
-
[ 'blockquote', __webpack_require__(
|
|
27364
|
-
[ 'hr', __webpack_require__(
|
|
27365
|
-
[ 'list', __webpack_require__(
|
|
27366
|
-
[ 'reference', __webpack_require__(
|
|
27367
|
-
[ 'html_block', __webpack_require__(
|
|
27368
|
-
[ 'heading', __webpack_require__(
|
|
27369
|
-
[ 'lheading', __webpack_require__(
|
|
27370
|
-
[ 'paragraph', __webpack_require__(
|
|
28280
|
+
[ 'table', __webpack_require__(51), [ 'paragraph', 'reference' ] ],
|
|
28281
|
+
[ 'code', __webpack_require__(52) ],
|
|
28282
|
+
[ 'fence', __webpack_require__(53), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
|
|
28283
|
+
[ 'blockquote', __webpack_require__(54), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
|
|
28284
|
+
[ 'hr', __webpack_require__(55), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],
|
|
28285
|
+
[ 'list', __webpack_require__(56), [ 'paragraph', 'reference', 'blockquote' ] ],
|
|
28286
|
+
[ 'reference', __webpack_require__(57) ],
|
|
28287
|
+
[ 'html_block', __webpack_require__(58), [ 'paragraph', 'reference', 'blockquote' ] ],
|
|
28288
|
+
[ 'heading', __webpack_require__(60), [ 'paragraph', 'reference', 'blockquote' ] ],
|
|
28289
|
+
[ 'lheading', __webpack_require__(61) ],
|
|
28290
|
+
[ 'paragraph', __webpack_require__(62) ]
|
|
27371
28291
|
];
|
|
27372
28292
|
|
|
27373
28293
|
|
|
@@ -27461,14 +28381,14 @@ ParserBlock.prototype.parse = function (src, md, env, outTokens) {
|
|
|
27461
28381
|
};
|
|
27462
28382
|
|
|
27463
28383
|
|
|
27464
|
-
ParserBlock.prototype.State = __webpack_require__(
|
|
28384
|
+
ParserBlock.prototype.State = __webpack_require__(63);
|
|
27465
28385
|
|
|
27466
28386
|
|
|
27467
28387
|
module.exports = ParserBlock;
|
|
27468
28388
|
|
|
27469
28389
|
|
|
27470
28390
|
/***/ }),
|
|
27471
|
-
/*
|
|
28391
|
+
/* 51 */
|
|
27472
28392
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27473
28393
|
|
|
27474
28394
|
"use strict";
|
|
@@ -27696,7 +28616,7 @@ module.exports = function table(state, startLine, endLine, silent) {
|
|
|
27696
28616
|
|
|
27697
28617
|
|
|
27698
28618
|
/***/ }),
|
|
27699
|
-
/*
|
|
28619
|
+
/* 52 */
|
|
27700
28620
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27701
28621
|
|
|
27702
28622
|
"use strict";
|
|
@@ -27737,7 +28657,7 @@ module.exports = function code(state, startLine, endLine/*, silent*/) {
|
|
|
27737
28657
|
|
|
27738
28658
|
|
|
27739
28659
|
/***/ }),
|
|
27740
|
-
/*
|
|
28660
|
+
/* 53 */
|
|
27741
28661
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27742
28662
|
|
|
27743
28663
|
"use strict";
|
|
@@ -27842,7 +28762,7 @@ module.exports = function fence(state, startLine, endLine, silent) {
|
|
|
27842
28762
|
|
|
27843
28763
|
|
|
27844
28764
|
/***/ }),
|
|
27845
|
-
/*
|
|
28765
|
+
/* 54 */
|
|
27846
28766
|
/***/ (function(module, exports, __webpack_require__) {
|
|
27847
28767
|
|
|
27848
28768
|
"use strict";
|
|
@@ -28133,7 +29053,7 @@ module.exports = function blockquote(state, startLine, endLine, silent) {
|
|
|
28133
29053
|
|
|
28134
29054
|
|
|
28135
29055
|
/***/ }),
|
|
28136
|
-
/*
|
|
29056
|
+
/* 55 */
|
|
28137
29057
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28138
29058
|
|
|
28139
29059
|
"use strict";
|
|
@@ -28185,7 +29105,7 @@ module.exports = function hr(state, startLine, endLine, silent) {
|
|
|
28185
29105
|
|
|
28186
29106
|
|
|
28187
29107
|
/***/ }),
|
|
28188
|
-
/*
|
|
29108
|
+
/* 56 */
|
|
28189
29109
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28190
29110
|
|
|
28191
29111
|
"use strict";
|
|
@@ -28556,7 +29476,7 @@ module.exports = function list(state, startLine, endLine, silent) {
|
|
|
28556
29476
|
|
|
28557
29477
|
|
|
28558
29478
|
/***/ }),
|
|
28559
|
-
/*
|
|
29479
|
+
/* 57 */
|
|
28560
29480
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28561
29481
|
|
|
28562
29482
|
"use strict";
|
|
@@ -28761,7 +29681,7 @@ module.exports = function reference(state, startLine, _endLine, silent) {
|
|
|
28761
29681
|
|
|
28762
29682
|
|
|
28763
29683
|
/***/ }),
|
|
28764
|
-
/*
|
|
29684
|
+
/* 58 */
|
|
28765
29685
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28766
29686
|
|
|
28767
29687
|
"use strict";
|
|
@@ -28770,8 +29690,8 @@ module.exports = function reference(state, startLine, _endLine, silent) {
|
|
|
28770
29690
|
|
|
28771
29691
|
|
|
28772
29692
|
|
|
28773
|
-
var block_names = __webpack_require__(
|
|
28774
|
-
var HTML_OPEN_CLOSE_TAG_RE = __webpack_require__(
|
|
29693
|
+
var block_names = __webpack_require__(59);
|
|
29694
|
+
var HTML_OPEN_CLOSE_TAG_RE = __webpack_require__(18).HTML_OPEN_CLOSE_TAG_RE;
|
|
28775
29695
|
|
|
28776
29696
|
// An array of opening and corresponding closing sequences for html tags,
|
|
28777
29697
|
// last argument defines whether it can terminate a paragraph or not
|
|
@@ -28842,7 +29762,7 @@ module.exports = function html_block(state, startLine, endLine, silent) {
|
|
|
28842
29762
|
|
|
28843
29763
|
|
|
28844
29764
|
/***/ }),
|
|
28845
|
-
/*
|
|
29765
|
+
/* 59 */
|
|
28846
29766
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28847
29767
|
|
|
28848
29768
|
"use strict";
|
|
@@ -28919,7 +29839,7 @@ module.exports = [
|
|
|
28919
29839
|
|
|
28920
29840
|
|
|
28921
29841
|
/***/ }),
|
|
28922
|
-
/*
|
|
29842
|
+
/* 60 */
|
|
28923
29843
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28924
29844
|
|
|
28925
29845
|
"use strict";
|
|
@@ -28981,7 +29901,7 @@ module.exports = function heading(state, startLine, endLine, silent) {
|
|
|
28981
29901
|
|
|
28982
29902
|
|
|
28983
29903
|
/***/ }),
|
|
28984
|
-
/*
|
|
29904
|
+
/* 61 */
|
|
28985
29905
|
/***/ (function(module, exports, __webpack_require__) {
|
|
28986
29906
|
|
|
28987
29907
|
"use strict";
|
|
@@ -29071,7 +29991,7 @@ module.exports = function lheading(state, startLine, endLine/*, silent*/) {
|
|
|
29071
29991
|
|
|
29072
29992
|
|
|
29073
29993
|
/***/ }),
|
|
29074
|
-
/*
|
|
29994
|
+
/* 62 */
|
|
29075
29995
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29076
29996
|
|
|
29077
29997
|
"use strict";
|
|
@@ -29130,7 +30050,7 @@ module.exports = function paragraph(state, startLine/*, endLine*/) {
|
|
|
29130
30050
|
|
|
29131
30051
|
|
|
29132
30052
|
/***/ }),
|
|
29133
|
-
/*
|
|
30053
|
+
/* 63 */
|
|
29134
30054
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29135
30055
|
|
|
29136
30056
|
"use strict";
|
|
@@ -29138,7 +30058,7 @@ module.exports = function paragraph(state, startLine/*, endLine*/) {
|
|
|
29138
30058
|
|
|
29139
30059
|
|
|
29140
30060
|
|
|
29141
|
-
var Token = __webpack_require__(
|
|
30061
|
+
var Token = __webpack_require__(9);
|
|
29142
30062
|
var isSpace = __webpack_require__(1).isSpace;
|
|
29143
30063
|
|
|
29144
30064
|
|
|
@@ -29368,7 +30288,7 @@ module.exports = StateBlock;
|
|
|
29368
30288
|
|
|
29369
30289
|
|
|
29370
30290
|
/***/ }),
|
|
29371
|
-
/*
|
|
30291
|
+
/* 64 */
|
|
29372
30292
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29373
30293
|
|
|
29374
30294
|
"use strict";
|
|
@@ -29380,31 +30300,31 @@ module.exports = StateBlock;
|
|
|
29380
30300
|
|
|
29381
30301
|
|
|
29382
30302
|
|
|
29383
|
-
var Ruler = __webpack_require__(
|
|
30303
|
+
var Ruler = __webpack_require__(8);
|
|
29384
30304
|
|
|
29385
30305
|
|
|
29386
30306
|
////////////////////////////////////////////////////////////////////////////////
|
|
29387
30307
|
// Parser rules
|
|
29388
30308
|
|
|
29389
30309
|
var _rules = [
|
|
29390
|
-
[ 'text', __webpack_require__(
|
|
29391
|
-
[ 'newline', __webpack_require__(
|
|
29392
|
-
[ 'escape', __webpack_require__(
|
|
29393
|
-
[ 'backticks', __webpack_require__(
|
|
29394
|
-
[ 'strikethrough', __webpack_require__(
|
|
29395
|
-
[ 'emphasis', __webpack_require__(
|
|
29396
|
-
[ 'link', __webpack_require__(
|
|
29397
|
-
[ 'image', __webpack_require__(
|
|
29398
|
-
[ 'autolink', __webpack_require__(
|
|
29399
|
-
[ 'html_inline', __webpack_require__(
|
|
29400
|
-
[ 'entity', __webpack_require__(
|
|
30310
|
+
[ 'text', __webpack_require__(65) ],
|
|
30311
|
+
[ 'newline', __webpack_require__(66) ],
|
|
30312
|
+
[ 'escape', __webpack_require__(67) ],
|
|
30313
|
+
[ 'backticks', __webpack_require__(68) ],
|
|
30314
|
+
[ 'strikethrough', __webpack_require__(19).tokenize ],
|
|
30315
|
+
[ 'emphasis', __webpack_require__(20).tokenize ],
|
|
30316
|
+
[ 'link', __webpack_require__(69) ],
|
|
30317
|
+
[ 'image', __webpack_require__(70) ],
|
|
30318
|
+
[ 'autolink', __webpack_require__(71) ],
|
|
30319
|
+
[ 'html_inline', __webpack_require__(72) ],
|
|
30320
|
+
[ 'entity', __webpack_require__(73) ]
|
|
29401
30321
|
];
|
|
29402
30322
|
|
|
29403
30323
|
var _rules2 = [
|
|
29404
|
-
[ 'balance_pairs', __webpack_require__(
|
|
29405
|
-
[ 'strikethrough', __webpack_require__(
|
|
29406
|
-
[ 'emphasis', __webpack_require__(
|
|
29407
|
-
[ 'text_collapse', __webpack_require__(
|
|
30324
|
+
[ 'balance_pairs', __webpack_require__(74) ],
|
|
30325
|
+
[ 'strikethrough', __webpack_require__(19).postProcess ],
|
|
30326
|
+
[ 'emphasis', __webpack_require__(20).postProcess ],
|
|
30327
|
+
[ 'text_collapse', __webpack_require__(75) ]
|
|
29408
30328
|
];
|
|
29409
30329
|
|
|
29410
30330
|
|
|
@@ -29545,14 +30465,14 @@ ParserInline.prototype.parse = function (str, md, env, outTokens) {
|
|
|
29545
30465
|
};
|
|
29546
30466
|
|
|
29547
30467
|
|
|
29548
|
-
ParserInline.prototype.State = __webpack_require__(
|
|
30468
|
+
ParserInline.prototype.State = __webpack_require__(76);
|
|
29549
30469
|
|
|
29550
30470
|
|
|
29551
30471
|
module.exports = ParserInline;
|
|
29552
30472
|
|
|
29553
30473
|
|
|
29554
30474
|
/***/ }),
|
|
29555
|
-
/*
|
|
30475
|
+
/* 65 */
|
|
29556
30476
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29557
30477
|
|
|
29558
30478
|
"use strict";
|
|
@@ -29648,7 +30568,7 @@ module.exports = function text(state, silent) {
|
|
|
29648
30568
|
|
|
29649
30569
|
|
|
29650
30570
|
/***/ }),
|
|
29651
|
-
/*
|
|
30571
|
+
/* 66 */
|
|
29652
30572
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29653
30573
|
|
|
29654
30574
|
"use strict";
|
|
@@ -29701,7 +30621,7 @@ module.exports = function newline(state, silent) {
|
|
|
29701
30621
|
|
|
29702
30622
|
|
|
29703
30623
|
/***/ }),
|
|
29704
|
-
/*
|
|
30624
|
+
/* 67 */
|
|
29705
30625
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29706
30626
|
|
|
29707
30627
|
"use strict";
|
|
@@ -29760,7 +30680,7 @@ module.exports = function escape(state, silent) {
|
|
|
29760
30680
|
|
|
29761
30681
|
|
|
29762
30682
|
/***/ }),
|
|
29763
|
-
/*
|
|
30683
|
+
/* 68 */
|
|
29764
30684
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29765
30685
|
|
|
29766
30686
|
"use strict";
|
|
@@ -29830,7 +30750,7 @@ module.exports = function backtick(state, silent) {
|
|
|
29830
30750
|
|
|
29831
30751
|
|
|
29832
30752
|
/***/ }),
|
|
29833
|
-
/*
|
|
30753
|
+
/* 69 */
|
|
29834
30754
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29835
30755
|
|
|
29836
30756
|
"use strict";
|
|
@@ -29985,7 +30905,7 @@ module.exports = function link(state, silent) {
|
|
|
29985
30905
|
|
|
29986
30906
|
|
|
29987
30907
|
/***/ }),
|
|
29988
|
-
/*
|
|
30908
|
+
/* 70 */
|
|
29989
30909
|
/***/ (function(module, exports, __webpack_require__) {
|
|
29990
30910
|
|
|
29991
30911
|
"use strict";
|
|
@@ -30144,7 +31064,7 @@ module.exports = function image(state, silent) {
|
|
|
30144
31064
|
|
|
30145
31065
|
|
|
30146
31066
|
/***/ }),
|
|
30147
|
-
/*
|
|
31067
|
+
/* 71 */
|
|
30148
31068
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30149
31069
|
|
|
30150
31070
|
"use strict";
|
|
@@ -30227,7 +31147,7 @@ module.exports = function autolink(state, silent) {
|
|
|
30227
31147
|
|
|
30228
31148
|
|
|
30229
31149
|
/***/ }),
|
|
30230
|
-
/*
|
|
31150
|
+
/* 72 */
|
|
30231
31151
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30232
31152
|
|
|
30233
31153
|
"use strict";
|
|
@@ -30236,7 +31156,7 @@ module.exports = function autolink(state, silent) {
|
|
|
30236
31156
|
|
|
30237
31157
|
|
|
30238
31158
|
|
|
30239
|
-
var HTML_TAG_RE = __webpack_require__(
|
|
31159
|
+
var HTML_TAG_RE = __webpack_require__(18).HTML_TAG_RE;
|
|
30240
31160
|
|
|
30241
31161
|
|
|
30242
31162
|
function isLetter(ch) {
|
|
@@ -30281,7 +31201,7 @@ module.exports = function html_inline(state, silent) {
|
|
|
30281
31201
|
|
|
30282
31202
|
|
|
30283
31203
|
/***/ }),
|
|
30284
|
-
/*
|
|
31204
|
+
/* 73 */
|
|
30285
31205
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30286
31206
|
|
|
30287
31207
|
"use strict";
|
|
@@ -30289,7 +31209,7 @@ module.exports = function html_inline(state, silent) {
|
|
|
30289
31209
|
|
|
30290
31210
|
|
|
30291
31211
|
|
|
30292
|
-
var entities = __webpack_require__(
|
|
31212
|
+
var entities = __webpack_require__(13);
|
|
30293
31213
|
var has = __webpack_require__(1).has;
|
|
30294
31214
|
var isValidEntityCode = __webpack_require__(1).isValidEntityCode;
|
|
30295
31215
|
var fromCodePoint = __webpack_require__(1).fromCodePoint;
|
|
@@ -30336,7 +31256,7 @@ module.exports = function entity(state, silent) {
|
|
|
30336
31256
|
|
|
30337
31257
|
|
|
30338
31258
|
/***/ }),
|
|
30339
|
-
/*
|
|
31259
|
+
/* 74 */
|
|
30340
31260
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30341
31261
|
|
|
30342
31262
|
"use strict";
|
|
@@ -30473,7 +31393,7 @@ module.exports = function link_pairs(state) {
|
|
|
30473
31393
|
|
|
30474
31394
|
|
|
30475
31395
|
/***/ }),
|
|
30476
|
-
/*
|
|
31396
|
+
/* 75 */
|
|
30477
31397
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30478
31398
|
|
|
30479
31399
|
"use strict";
|
|
@@ -30521,7 +31441,7 @@ module.exports = function text_collapse(state) {
|
|
|
30521
31441
|
|
|
30522
31442
|
|
|
30523
31443
|
/***/ }),
|
|
30524
|
-
/*
|
|
31444
|
+
/* 76 */
|
|
30525
31445
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30526
31446
|
|
|
30527
31447
|
"use strict";
|
|
@@ -30530,7 +31450,7 @@ module.exports = function text_collapse(state) {
|
|
|
30530
31450
|
|
|
30531
31451
|
|
|
30532
31452
|
|
|
30533
|
-
var Token = __webpack_require__(
|
|
31453
|
+
var Token = __webpack_require__(9);
|
|
30534
31454
|
var isWhiteSpace = __webpack_require__(1).isWhiteSpace;
|
|
30535
31455
|
var isPunctChar = __webpack_require__(1).isPunctChar;
|
|
30536
31456
|
var isMdAsciiPunct = __webpack_require__(1).isMdAsciiPunct;
|
|
@@ -30682,7 +31602,7 @@ module.exports = StateInline;
|
|
|
30682
31602
|
|
|
30683
31603
|
|
|
30684
31604
|
/***/ }),
|
|
30685
|
-
/*
|
|
31605
|
+
/* 77 */
|
|
30686
31606
|
/***/ (function(module, exports, __webpack_require__) {
|
|
30687
31607
|
|
|
30688
31608
|
"use strict";
|
|
@@ -30838,7 +31758,7 @@ function createNormalizer() {
|
|
|
30838
31758
|
function compile(self) {
|
|
30839
31759
|
|
|
30840
31760
|
// Load & clone RE patterns.
|
|
30841
|
-
var re = self.re = __webpack_require__(
|
|
31761
|
+
var re = self.re = __webpack_require__(78)(self.__opts__);
|
|
30842
31762
|
|
|
30843
31763
|
// Define dynamic patterns
|
|
30844
31764
|
var tlds = self.__tlds__.slice();
|
|
@@ -31325,7 +32245,7 @@ module.exports = LinkifyIt;
|
|
|
31325
32245
|
|
|
31326
32246
|
|
|
31327
32247
|
/***/ }),
|
|
31328
|
-
/*
|
|
32248
|
+
/* 78 */
|
|
31329
32249
|
/***/ (function(module, exports, __webpack_require__) {
|
|
31330
32250
|
|
|
31331
32251
|
"use strict";
|
|
@@ -31336,10 +32256,10 @@ module.exports = function (opts) {
|
|
|
31336
32256
|
var re = {};
|
|
31337
32257
|
|
|
31338
32258
|
// Use direct extract instead of `regenerate` to reduse browserified size
|
|
31339
|
-
re.src_Any = __webpack_require__(
|
|
31340
|
-
re.src_Cc = __webpack_require__(
|
|
31341
|
-
re.src_Z = __webpack_require__(
|
|
31342
|
-
re.src_P = __webpack_require__(
|
|
32259
|
+
re.src_Any = __webpack_require__(15).source;
|
|
32260
|
+
re.src_Cc = __webpack_require__(16).source;
|
|
32261
|
+
re.src_Z = __webpack_require__(17).source;
|
|
32262
|
+
re.src_P = __webpack_require__(7).source;
|
|
31343
32263
|
|
|
31344
32264
|
// \p{\Z\P\Cc\CF} (white spaces + control + format + punctuation)
|
|
31345
32265
|
re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');
|
|
@@ -31513,7 +32433,7 @@ module.exports = function (opts) {
|
|
|
31513
32433
|
|
|
31514
32434
|
|
|
31515
32435
|
/***/ }),
|
|
31516
|
-
/*
|
|
32436
|
+
/* 79 */
|
|
31517
32437
|
/***/ (function(module, exports, __webpack_require__) {
|
|
31518
32438
|
|
|
31519
32439
|
/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */
|
|
@@ -31649,1523 +32569,598 @@ module.exports = function (opts) {
|
|
|
31649
32569
|
extra;
|
|
31650
32570
|
while (counter < length) {
|
|
31651
32571
|
value = string.charCodeAt(counter++);
|
|
31652
|
-
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
31653
|
-
// high surrogate, and there is a next character
|
|
31654
|
-
extra = string.charCodeAt(counter++);
|
|
31655
|
-
if ((extra & 0xFC00) == 0xDC00) { // low surrogate
|
|
31656
|
-
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
31657
|
-
} else {
|
|
31658
|
-
// unmatched surrogate; only append this code unit, in case the next
|
|
31659
|
-
// code unit is the high surrogate of a surrogate pair
|
|
31660
|
-
output.push(value);
|
|
31661
|
-
counter--;
|
|
31662
|
-
}
|
|
31663
|
-
} else {
|
|
31664
|
-
output.push(value);
|
|
31665
|
-
}
|
|
31666
|
-
}
|
|
31667
|
-
return output;
|
|
31668
|
-
}
|
|
31669
|
-
|
|
31670
|
-
/**
|
|
31671
|
-
* Creates a string based on an array of numeric code points.
|
|
31672
|
-
* @see `punycode.ucs2.decode`
|
|
31673
|
-
* @memberOf punycode.ucs2
|
|
31674
|
-
* @name encode
|
|
31675
|
-
* @param {Array} codePoints The array of numeric code points.
|
|
31676
|
-
* @returns {String} The new Unicode string (UCS-2).
|
|
31677
|
-
*/
|
|
31678
|
-
function ucs2encode(array) {
|
|
31679
|
-
return map(array, function(value) {
|
|
31680
|
-
var output = '';
|
|
31681
|
-
if (value > 0xFFFF) {
|
|
31682
|
-
value -= 0x10000;
|
|
31683
|
-
output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
|
|
31684
|
-
value = 0xDC00 | value & 0x3FF;
|
|
31685
|
-
}
|
|
31686
|
-
output += stringFromCharCode(value);
|
|
31687
|
-
return output;
|
|
31688
|
-
}).join('');
|
|
31689
|
-
}
|
|
31690
|
-
|
|
31691
|
-
/**
|
|
31692
|
-
* Converts a basic code point into a digit/integer.
|
|
31693
|
-
* @see `digitToBasic()`
|
|
31694
|
-
* @private
|
|
31695
|
-
* @param {Number} codePoint The basic numeric code point value.
|
|
31696
|
-
* @returns {Number} The numeric value of a basic code point (for use in
|
|
31697
|
-
* representing integers) in the range `0` to `base - 1`, or `base` if
|
|
31698
|
-
* the code point does not represent a value.
|
|
31699
|
-
*/
|
|
31700
|
-
function basicToDigit(codePoint) {
|
|
31701
|
-
if (codePoint - 48 < 10) {
|
|
31702
|
-
return codePoint - 22;
|
|
31703
|
-
}
|
|
31704
|
-
if (codePoint - 65 < 26) {
|
|
31705
|
-
return codePoint - 65;
|
|
31706
|
-
}
|
|
31707
|
-
if (codePoint - 97 < 26) {
|
|
31708
|
-
return codePoint - 97;
|
|
31709
|
-
}
|
|
31710
|
-
return base;
|
|
31711
|
-
}
|
|
31712
|
-
|
|
31713
|
-
/**
|
|
31714
|
-
* Converts a digit/integer into a basic code point.
|
|
31715
|
-
* @see `basicToDigit()`
|
|
31716
|
-
* @private
|
|
31717
|
-
* @param {Number} digit The numeric value of a basic code point.
|
|
31718
|
-
* @returns {Number} The basic code point whose value (when used for
|
|
31719
|
-
* representing integers) is `digit`, which needs to be in the range
|
|
31720
|
-
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
|
31721
|
-
* used; else, the lowercase form is used. The behavior is undefined
|
|
31722
|
-
* if `flag` is non-zero and `digit` has no uppercase form.
|
|
31723
|
-
*/
|
|
31724
|
-
function digitToBasic(digit, flag) {
|
|
31725
|
-
// 0..25 map to ASCII a..z or A..Z
|
|
31726
|
-
// 26..35 map to ASCII 0..9
|
|
31727
|
-
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
|
31728
|
-
}
|
|
31729
|
-
|
|
31730
|
-
/**
|
|
31731
|
-
* Bias adaptation function as per section 3.4 of RFC 3492.
|
|
31732
|
-
* https://tools.ietf.org/html/rfc3492#section-3.4
|
|
31733
|
-
* @private
|
|
31734
|
-
*/
|
|
31735
|
-
function adapt(delta, numPoints, firstTime) {
|
|
31736
|
-
var k = 0;
|
|
31737
|
-
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
31738
|
-
delta += floor(delta / numPoints);
|
|
31739
|
-
for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
|
|
31740
|
-
delta = floor(delta / baseMinusTMin);
|
|
31741
|
-
}
|
|
31742
|
-
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
31743
|
-
}
|
|
31744
|
-
|
|
31745
|
-
/**
|
|
31746
|
-
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
|
31747
|
-
* symbols.
|
|
31748
|
-
* @memberOf punycode
|
|
31749
|
-
* @param {String} input The Punycode string of ASCII-only symbols.
|
|
31750
|
-
* @returns {String} The resulting string of Unicode symbols.
|
|
31751
|
-
*/
|
|
31752
|
-
function decode(input) {
|
|
31753
|
-
// Don't use UCS-2
|
|
31754
|
-
var output = [],
|
|
31755
|
-
inputLength = input.length,
|
|
31756
|
-
out,
|
|
31757
|
-
i = 0,
|
|
31758
|
-
n = initialN,
|
|
31759
|
-
bias = initialBias,
|
|
31760
|
-
basic,
|
|
31761
|
-
j,
|
|
31762
|
-
index,
|
|
31763
|
-
oldi,
|
|
31764
|
-
w,
|
|
31765
|
-
k,
|
|
31766
|
-
digit,
|
|
31767
|
-
t,
|
|
31768
|
-
/** Cached calculation results */
|
|
31769
|
-
baseMinusT;
|
|
31770
|
-
|
|
31771
|
-
// Handle the basic code points: let `basic` be the number of input code
|
|
31772
|
-
// points before the last delimiter, or `0` if there is none, then copy
|
|
31773
|
-
// the first basic code points to the output.
|
|
31774
|
-
|
|
31775
|
-
basic = input.lastIndexOf(delimiter);
|
|
31776
|
-
if (basic < 0) {
|
|
31777
|
-
basic = 0;
|
|
31778
|
-
}
|
|
31779
|
-
|
|
31780
|
-
for (j = 0; j < basic; ++j) {
|
|
31781
|
-
// if it's not a basic code point
|
|
31782
|
-
if (input.charCodeAt(j) >= 0x80) {
|
|
31783
|
-
error('not-basic');
|
|
31784
|
-
}
|
|
31785
|
-
output.push(input.charCodeAt(j));
|
|
31786
|
-
}
|
|
31787
|
-
|
|
31788
|
-
// Main decoding loop: start just after the last delimiter if any basic code
|
|
31789
|
-
// points were copied; start at the beginning otherwise.
|
|
31790
|
-
|
|
31791
|
-
for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
|
|
31792
|
-
|
|
31793
|
-
// `index` is the index of the next character to be consumed.
|
|
31794
|
-
// Decode a generalized variable-length integer into `delta`,
|
|
31795
|
-
// which gets added to `i`. The overflow checking is easier
|
|
31796
|
-
// if we increase `i` as we go, then subtract off its starting
|
|
31797
|
-
// value at the end to obtain `delta`.
|
|
31798
|
-
for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
|
|
31799
|
-
|
|
31800
|
-
if (index >= inputLength) {
|
|
31801
|
-
error('invalid-input');
|
|
31802
|
-
}
|
|
31803
|
-
|
|
31804
|
-
digit = basicToDigit(input.charCodeAt(index++));
|
|
31805
|
-
|
|
31806
|
-
if (digit >= base || digit > floor((maxInt - i) / w)) {
|
|
31807
|
-
error('overflow');
|
|
31808
|
-
}
|
|
31809
|
-
|
|
31810
|
-
i += digit * w;
|
|
31811
|
-
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
31812
|
-
|
|
31813
|
-
if (digit < t) {
|
|
31814
|
-
break;
|
|
31815
|
-
}
|
|
31816
|
-
|
|
31817
|
-
baseMinusT = base - t;
|
|
31818
|
-
if (w > floor(maxInt / baseMinusT)) {
|
|
31819
|
-
error('overflow');
|
|
31820
|
-
}
|
|
31821
|
-
|
|
31822
|
-
w *= baseMinusT;
|
|
31823
|
-
|
|
31824
|
-
}
|
|
31825
|
-
|
|
31826
|
-
out = output.length + 1;
|
|
31827
|
-
bias = adapt(i - oldi, out, oldi == 0);
|
|
31828
|
-
|
|
31829
|
-
// `i` was supposed to wrap around from `out` to `0`,
|
|
31830
|
-
// incrementing `n` each time, so we'll fix that now:
|
|
31831
|
-
if (floor(i / out) > maxInt - n) {
|
|
31832
|
-
error('overflow');
|
|
31833
|
-
}
|
|
31834
|
-
|
|
31835
|
-
n += floor(i / out);
|
|
31836
|
-
i %= out;
|
|
31837
|
-
|
|
31838
|
-
// Insert `n` at position `i` of the output
|
|
31839
|
-
output.splice(i++, 0, n);
|
|
31840
|
-
|
|
31841
|
-
}
|
|
31842
|
-
|
|
31843
|
-
return ucs2encode(output);
|
|
31844
|
-
}
|
|
31845
|
-
|
|
31846
|
-
/**
|
|
31847
|
-
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
31848
|
-
* Punycode string of ASCII-only symbols.
|
|
31849
|
-
* @memberOf punycode
|
|
31850
|
-
* @param {String} input The string of Unicode symbols.
|
|
31851
|
-
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
|
31852
|
-
*/
|
|
31853
|
-
function encode(input) {
|
|
31854
|
-
var n,
|
|
31855
|
-
delta,
|
|
31856
|
-
handledCPCount,
|
|
31857
|
-
basicLength,
|
|
31858
|
-
bias,
|
|
31859
|
-
j,
|
|
31860
|
-
m,
|
|
31861
|
-
q,
|
|
31862
|
-
k,
|
|
31863
|
-
t,
|
|
31864
|
-
currentValue,
|
|
31865
|
-
output = [],
|
|
31866
|
-
/** `inputLength` will hold the number of code points in `input`. */
|
|
31867
|
-
inputLength,
|
|
31868
|
-
/** Cached calculation results */
|
|
31869
|
-
handledCPCountPlusOne,
|
|
31870
|
-
baseMinusT,
|
|
31871
|
-
qMinusT;
|
|
31872
|
-
|
|
31873
|
-
// Convert the input in UCS-2 to Unicode
|
|
31874
|
-
input = ucs2decode(input);
|
|
31875
|
-
|
|
31876
|
-
// Cache the length
|
|
31877
|
-
inputLength = input.length;
|
|
31878
|
-
|
|
31879
|
-
// Initialize the state
|
|
31880
|
-
n = initialN;
|
|
31881
|
-
delta = 0;
|
|
31882
|
-
bias = initialBias;
|
|
31883
|
-
|
|
31884
|
-
// Handle the basic code points
|
|
31885
|
-
for (j = 0; j < inputLength; ++j) {
|
|
31886
|
-
currentValue = input[j];
|
|
31887
|
-
if (currentValue < 0x80) {
|
|
31888
|
-
output.push(stringFromCharCode(currentValue));
|
|
31889
|
-
}
|
|
31890
|
-
}
|
|
31891
|
-
|
|
31892
|
-
handledCPCount = basicLength = output.length;
|
|
31893
|
-
|
|
31894
|
-
// `handledCPCount` is the number of code points that have been handled;
|
|
31895
|
-
// `basicLength` is the number of basic code points.
|
|
31896
|
-
|
|
31897
|
-
// Finish the basic string - if it is not empty - with a delimiter
|
|
31898
|
-
if (basicLength) {
|
|
31899
|
-
output.push(delimiter);
|
|
31900
|
-
}
|
|
31901
|
-
|
|
31902
|
-
// Main encoding loop:
|
|
31903
|
-
while (handledCPCount < inputLength) {
|
|
31904
|
-
|
|
31905
|
-
// All non-basic code points < n have been handled already. Find the next
|
|
31906
|
-
// larger one:
|
|
31907
|
-
for (m = maxInt, j = 0; j < inputLength; ++j) {
|
|
31908
|
-
currentValue = input[j];
|
|
31909
|
-
if (currentValue >= n && currentValue < m) {
|
|
31910
|
-
m = currentValue;
|
|
31911
|
-
}
|
|
31912
|
-
}
|
|
31913
|
-
|
|
31914
|
-
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
|
31915
|
-
// but guard against overflow
|
|
31916
|
-
handledCPCountPlusOne = handledCPCount + 1;
|
|
31917
|
-
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
|
31918
|
-
error('overflow');
|
|
31919
|
-
}
|
|
31920
|
-
|
|
31921
|
-
delta += (m - n) * handledCPCountPlusOne;
|
|
31922
|
-
n = m;
|
|
31923
|
-
|
|
31924
|
-
for (j = 0; j < inputLength; ++j) {
|
|
31925
|
-
currentValue = input[j];
|
|
31926
|
-
|
|
31927
|
-
if (currentValue < n && ++delta > maxInt) {
|
|
31928
|
-
error('overflow');
|
|
31929
|
-
}
|
|
31930
|
-
|
|
31931
|
-
if (currentValue == n) {
|
|
31932
|
-
// Represent delta as a generalized variable-length integer
|
|
31933
|
-
for (q = delta, k = base; /* no condition */; k += base) {
|
|
31934
|
-
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
31935
|
-
if (q < t) {
|
|
31936
|
-
break;
|
|
31937
|
-
}
|
|
31938
|
-
qMinusT = q - t;
|
|
31939
|
-
baseMinusT = base - t;
|
|
31940
|
-
output.push(
|
|
31941
|
-
stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
|
|
31942
|
-
);
|
|
31943
|
-
q = floor(qMinusT / baseMinusT);
|
|
31944
|
-
}
|
|
31945
|
-
|
|
31946
|
-
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
|
31947
|
-
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
|
31948
|
-
delta = 0;
|
|
31949
|
-
++handledCPCount;
|
|
31950
|
-
}
|
|
31951
|
-
}
|
|
31952
|
-
|
|
31953
|
-
++delta;
|
|
31954
|
-
++n;
|
|
31955
|
-
|
|
31956
|
-
}
|
|
31957
|
-
return output.join('');
|
|
31958
|
-
}
|
|
31959
|
-
|
|
31960
|
-
/**
|
|
31961
|
-
* Converts a Punycode string representing a domain name or an email address
|
|
31962
|
-
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
|
31963
|
-
* it doesn't matter if you call it on a string that has already been
|
|
31964
|
-
* converted to Unicode.
|
|
31965
|
-
* @memberOf punycode
|
|
31966
|
-
* @param {String} input The Punycoded domain name or email address to
|
|
31967
|
-
* convert to Unicode.
|
|
31968
|
-
* @returns {String} The Unicode representation of the given Punycode
|
|
31969
|
-
* string.
|
|
31970
|
-
*/
|
|
31971
|
-
function toUnicode(input) {
|
|
31972
|
-
return mapDomain(input, function(string) {
|
|
31973
|
-
return regexPunycode.test(string)
|
|
31974
|
-
? decode(string.slice(4).toLowerCase())
|
|
31975
|
-
: string;
|
|
31976
|
-
});
|
|
31977
|
-
}
|
|
31978
|
-
|
|
31979
|
-
/**
|
|
31980
|
-
* Converts a Unicode string representing a domain name or an email address to
|
|
31981
|
-
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
|
31982
|
-
* i.e. it doesn't matter if you call it with a domain that's already in
|
|
31983
|
-
* ASCII.
|
|
31984
|
-
* @memberOf punycode
|
|
31985
|
-
* @param {String} input The domain name or email address to convert, as a
|
|
31986
|
-
* Unicode string.
|
|
31987
|
-
* @returns {String} The Punycode representation of the given domain name or
|
|
31988
|
-
* email address.
|
|
31989
|
-
*/
|
|
31990
|
-
function toASCII(input) {
|
|
31991
|
-
return mapDomain(input, function(string) {
|
|
31992
|
-
return regexNonASCII.test(string)
|
|
31993
|
-
? 'xn--' + encode(string)
|
|
31994
|
-
: string;
|
|
31995
|
-
});
|
|
31996
|
-
}
|
|
31997
|
-
|
|
31998
|
-
/*--------------------------------------------------------------------------*/
|
|
31999
|
-
|
|
32000
|
-
/** Define the public API */
|
|
32001
|
-
punycode = {
|
|
32002
|
-
/**
|
|
32003
|
-
* A string representing the current Punycode.js version number.
|
|
32004
|
-
* @memberOf punycode
|
|
32005
|
-
* @type String
|
|
32006
|
-
*/
|
|
32007
|
-
'version': '1.4.1',
|
|
32008
|
-
/**
|
|
32009
|
-
* An object of methods to convert from JavaScript's internal character
|
|
32010
|
-
* representation (UCS-2) to Unicode code points, and back.
|
|
32011
|
-
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
32012
|
-
* @memberOf punycode
|
|
32013
|
-
* @type Object
|
|
32014
|
-
*/
|
|
32015
|
-
'ucs2': {
|
|
32016
|
-
'decode': ucs2decode,
|
|
32017
|
-
'encode': ucs2encode
|
|
32018
|
-
},
|
|
32019
|
-
'decode': decode,
|
|
32020
|
-
'encode': encode,
|
|
32021
|
-
'toASCII': toASCII,
|
|
32022
|
-
'toUnicode': toUnicode
|
|
32023
|
-
};
|
|
32024
|
-
|
|
32025
|
-
/** Expose `punycode` */
|
|
32026
|
-
// Some AMD build optimizers, like r.js, check for specific condition patterns
|
|
32027
|
-
// like the following:
|
|
32028
|
-
if (
|
|
32029
|
-
true
|
|
32030
|
-
) {
|
|
32031
|
-
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
|
|
32032
|
-
return punycode;
|
|
32033
|
-
}).call(exports, __webpack_require__, exports, module),
|
|
32034
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
32035
|
-
} else {}
|
|
32036
|
-
|
|
32037
|
-
}(this));
|
|
32038
|
-
|
|
32039
|
-
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(23)(module), __webpack_require__(10)))
|
|
32040
|
-
|
|
32041
|
-
/***/ }),
|
|
32042
|
-
/* 79 */
|
|
32043
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
32044
|
-
|
|
32045
|
-
"use strict";
|
|
32046
|
-
// markdown-it default options
|
|
32047
|
-
|
|
32048
|
-
|
|
32049
|
-
|
|
32050
|
-
|
|
32051
|
-
module.exports = {
|
|
32052
|
-
options: {
|
|
32053
|
-
html: false, // Enable HTML tags in source
|
|
32054
|
-
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
32055
|
-
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
32056
|
-
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
32057
|
-
linkify: false, // autoconvert URL-like texts to links
|
|
32058
|
-
|
|
32059
|
-
// Enable some language-neutral replacements + quotes beautification
|
|
32060
|
-
typographer: false,
|
|
32061
|
-
|
|
32062
|
-
// Double + single quotes replacement pairs, when typographer enabled,
|
|
32063
|
-
// and smartquotes on. Could be either a String or an Array.
|
|
32064
|
-
//
|
|
32065
|
-
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
32066
|
-
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
32067
|
-
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
32068
|
-
|
|
32069
|
-
// Highlighter function. Should return escaped HTML,
|
|
32070
|
-
// or '' if the source string is not changed and should be escaped externaly.
|
|
32071
|
-
// If result starts with <pre... internal wrapper is skipped.
|
|
32072
|
-
//
|
|
32073
|
-
// function (/*str, lang*/) { return ''; }
|
|
32074
|
-
//
|
|
32075
|
-
highlight: null,
|
|
32076
|
-
|
|
32077
|
-
maxNesting: 100 // Internal protection, recursion limit
|
|
32078
|
-
},
|
|
32079
|
-
|
|
32080
|
-
components: {
|
|
32081
|
-
|
|
32082
|
-
core: {},
|
|
32083
|
-
block: {},
|
|
32084
|
-
inline: {}
|
|
32085
|
-
}
|
|
32086
|
-
};
|
|
32087
|
-
|
|
32088
|
-
|
|
32089
|
-
/***/ }),
|
|
32090
|
-
/* 80 */
|
|
32091
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
32092
|
-
|
|
32093
|
-
"use strict";
|
|
32094
|
-
// "Zero" preset, with nothing enabled. Useful for manual configuring of simple
|
|
32095
|
-
// modes. For example, to parse bold/italic only.
|
|
32096
|
-
|
|
32097
|
-
|
|
32098
|
-
|
|
32099
|
-
|
|
32100
|
-
module.exports = {
|
|
32101
|
-
options: {
|
|
32102
|
-
html: false, // Enable HTML tags in source
|
|
32103
|
-
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
32104
|
-
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
32105
|
-
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
32106
|
-
linkify: false, // autoconvert URL-like texts to links
|
|
32107
|
-
|
|
32108
|
-
// Enable some language-neutral replacements + quotes beautification
|
|
32109
|
-
typographer: false,
|
|
32110
|
-
|
|
32111
|
-
// Double + single quotes replacement pairs, when typographer enabled,
|
|
32112
|
-
// and smartquotes on. Could be either a String or an Array.
|
|
32113
|
-
//
|
|
32114
|
-
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
32115
|
-
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
32116
|
-
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
32117
|
-
|
|
32118
|
-
// Highlighter function. Should return escaped HTML,
|
|
32119
|
-
// or '' if the source string is not changed and should be escaped externaly.
|
|
32120
|
-
// If result starts with <pre... internal wrapper is skipped.
|
|
32121
|
-
//
|
|
32122
|
-
// function (/*str, lang*/) { return ''; }
|
|
32123
|
-
//
|
|
32124
|
-
highlight: null,
|
|
32125
|
-
|
|
32126
|
-
maxNesting: 20 // Internal protection, recursion limit
|
|
32127
|
-
},
|
|
32572
|
+
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
32573
|
+
// high surrogate, and there is a next character
|
|
32574
|
+
extra = string.charCodeAt(counter++);
|
|
32575
|
+
if ((extra & 0xFC00) == 0xDC00) { // low surrogate
|
|
32576
|
+
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
32577
|
+
} else {
|
|
32578
|
+
// unmatched surrogate; only append this code unit, in case the next
|
|
32579
|
+
// code unit is the high surrogate of a surrogate pair
|
|
32580
|
+
output.push(value);
|
|
32581
|
+
counter--;
|
|
32582
|
+
}
|
|
32583
|
+
} else {
|
|
32584
|
+
output.push(value);
|
|
32585
|
+
}
|
|
32586
|
+
}
|
|
32587
|
+
return output;
|
|
32588
|
+
}
|
|
32128
32589
|
|
|
32129
|
-
|
|
32590
|
+
/**
|
|
32591
|
+
* Creates a string based on an array of numeric code points.
|
|
32592
|
+
* @see `punycode.ucs2.decode`
|
|
32593
|
+
* @memberOf punycode.ucs2
|
|
32594
|
+
* @name encode
|
|
32595
|
+
* @param {Array} codePoints The array of numeric code points.
|
|
32596
|
+
* @returns {String} The new Unicode string (UCS-2).
|
|
32597
|
+
*/
|
|
32598
|
+
function ucs2encode(array) {
|
|
32599
|
+
return map(array, function(value) {
|
|
32600
|
+
var output = '';
|
|
32601
|
+
if (value > 0xFFFF) {
|
|
32602
|
+
value -= 0x10000;
|
|
32603
|
+
output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
|
|
32604
|
+
value = 0xDC00 | value & 0x3FF;
|
|
32605
|
+
}
|
|
32606
|
+
output += stringFromCharCode(value);
|
|
32607
|
+
return output;
|
|
32608
|
+
}).join('');
|
|
32609
|
+
}
|
|
32130
32610
|
|
|
32131
|
-
|
|
32132
|
-
|
|
32133
|
-
|
|
32134
|
-
|
|
32135
|
-
|
|
32136
|
-
|
|
32137
|
-
|
|
32611
|
+
/**
|
|
32612
|
+
* Converts a basic code point into a digit/integer.
|
|
32613
|
+
* @see `digitToBasic()`
|
|
32614
|
+
* @private
|
|
32615
|
+
* @param {Number} codePoint The basic numeric code point value.
|
|
32616
|
+
* @returns {Number} The numeric value of a basic code point (for use in
|
|
32617
|
+
* representing integers) in the range `0` to `base - 1`, or `base` if
|
|
32618
|
+
* the code point does not represent a value.
|
|
32619
|
+
*/
|
|
32620
|
+
function basicToDigit(codePoint) {
|
|
32621
|
+
if (codePoint - 48 < 10) {
|
|
32622
|
+
return codePoint - 22;
|
|
32623
|
+
}
|
|
32624
|
+
if (codePoint - 65 < 26) {
|
|
32625
|
+
return codePoint - 65;
|
|
32626
|
+
}
|
|
32627
|
+
if (codePoint - 97 < 26) {
|
|
32628
|
+
return codePoint - 97;
|
|
32629
|
+
}
|
|
32630
|
+
return base;
|
|
32631
|
+
}
|
|
32138
32632
|
|
|
32139
|
-
|
|
32140
|
-
|
|
32141
|
-
|
|
32142
|
-
|
|
32143
|
-
|
|
32633
|
+
/**
|
|
32634
|
+
* Converts a digit/integer into a basic code point.
|
|
32635
|
+
* @see `basicToDigit()`
|
|
32636
|
+
* @private
|
|
32637
|
+
* @param {Number} digit The numeric value of a basic code point.
|
|
32638
|
+
* @returns {Number} The basic code point whose value (when used for
|
|
32639
|
+
* representing integers) is `digit`, which needs to be in the range
|
|
32640
|
+
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
|
32641
|
+
* used; else, the lowercase form is used. The behavior is undefined
|
|
32642
|
+
* if `flag` is non-zero and `digit` has no uppercase form.
|
|
32643
|
+
*/
|
|
32644
|
+
function digitToBasic(digit, flag) {
|
|
32645
|
+
// 0..25 map to ASCII a..z or A..Z
|
|
32646
|
+
// 26..35 map to ASCII 0..9
|
|
32647
|
+
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
|
32648
|
+
}
|
|
32144
32649
|
|
|
32145
|
-
|
|
32146
|
-
|
|
32147
|
-
|
|
32148
|
-
|
|
32149
|
-
|
|
32150
|
-
|
|
32151
|
-
|
|
32152
|
-
|
|
32153
|
-
|
|
32154
|
-
|
|
32155
|
-
|
|
32650
|
+
/**
|
|
32651
|
+
* Bias adaptation function as per section 3.4 of RFC 3492.
|
|
32652
|
+
* https://tools.ietf.org/html/rfc3492#section-3.4
|
|
32653
|
+
* @private
|
|
32654
|
+
*/
|
|
32655
|
+
function adapt(delta, numPoints, firstTime) {
|
|
32656
|
+
var k = 0;
|
|
32657
|
+
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
32658
|
+
delta += floor(delta / numPoints);
|
|
32659
|
+
for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
|
|
32660
|
+
delta = floor(delta / baseMinusTMin);
|
|
32661
|
+
}
|
|
32662
|
+
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
32663
|
+
}
|
|
32156
32664
|
|
|
32665
|
+
/**
|
|
32666
|
+
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
|
32667
|
+
* symbols.
|
|
32668
|
+
* @memberOf punycode
|
|
32669
|
+
* @param {String} input The Punycode string of ASCII-only symbols.
|
|
32670
|
+
* @returns {String} The resulting string of Unicode symbols.
|
|
32671
|
+
*/
|
|
32672
|
+
function decode(input) {
|
|
32673
|
+
// Don't use UCS-2
|
|
32674
|
+
var output = [],
|
|
32675
|
+
inputLength = input.length,
|
|
32676
|
+
out,
|
|
32677
|
+
i = 0,
|
|
32678
|
+
n = initialN,
|
|
32679
|
+
bias = initialBias,
|
|
32680
|
+
basic,
|
|
32681
|
+
j,
|
|
32682
|
+
index,
|
|
32683
|
+
oldi,
|
|
32684
|
+
w,
|
|
32685
|
+
k,
|
|
32686
|
+
digit,
|
|
32687
|
+
t,
|
|
32688
|
+
/** Cached calculation results */
|
|
32689
|
+
baseMinusT;
|
|
32157
32690
|
|
|
32158
|
-
|
|
32159
|
-
|
|
32160
|
-
|
|
32691
|
+
// Handle the basic code points: let `basic` be the number of input code
|
|
32692
|
+
// points before the last delimiter, or `0` if there is none, then copy
|
|
32693
|
+
// the first basic code points to the output.
|
|
32161
32694
|
|
|
32162
|
-
|
|
32163
|
-
|
|
32695
|
+
basic = input.lastIndexOf(delimiter);
|
|
32696
|
+
if (basic < 0) {
|
|
32697
|
+
basic = 0;
|
|
32698
|
+
}
|
|
32164
32699
|
|
|
32700
|
+
for (j = 0; j < basic; ++j) {
|
|
32701
|
+
// if it's not a basic code point
|
|
32702
|
+
if (input.charCodeAt(j) >= 0x80) {
|
|
32703
|
+
error('not-basic');
|
|
32704
|
+
}
|
|
32705
|
+
output.push(input.charCodeAt(j));
|
|
32706
|
+
}
|
|
32165
32707
|
|
|
32708
|
+
// Main decoding loop: start just after the last delimiter if any basic code
|
|
32709
|
+
// points were copied; start at the beginning otherwise.
|
|
32166
32710
|
|
|
32711
|
+
for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
|
|
32167
32712
|
|
|
32168
|
-
|
|
32169
|
-
|
|
32170
|
-
|
|
32171
|
-
|
|
32172
|
-
|
|
32173
|
-
|
|
32174
|
-
linkify: false, // autoconvert URL-like texts to links
|
|
32713
|
+
// `index` is the index of the next character to be consumed.
|
|
32714
|
+
// Decode a generalized variable-length integer into `delta`,
|
|
32715
|
+
// which gets added to `i`. The overflow checking is easier
|
|
32716
|
+
// if we increase `i` as we go, then subtract off its starting
|
|
32717
|
+
// value at the end to obtain `delta`.
|
|
32718
|
+
for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
|
|
32175
32719
|
|
|
32176
|
-
|
|
32177
|
-
|
|
32720
|
+
if (index >= inputLength) {
|
|
32721
|
+
error('invalid-input');
|
|
32722
|
+
}
|
|
32178
32723
|
|
|
32179
|
-
|
|
32180
|
-
// and smartquotes on. Could be either a String or an Array.
|
|
32181
|
-
//
|
|
32182
|
-
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
32183
|
-
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
32184
|
-
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
32724
|
+
digit = basicToDigit(input.charCodeAt(index++));
|
|
32185
32725
|
|
|
32186
|
-
|
|
32187
|
-
|
|
32188
|
-
|
|
32189
|
-
//
|
|
32190
|
-
// function (/*str, lang*/) { return ''; }
|
|
32191
|
-
//
|
|
32192
|
-
highlight: null,
|
|
32726
|
+
if (digit >= base || digit > floor((maxInt - i) / w)) {
|
|
32727
|
+
error('overflow');
|
|
32728
|
+
}
|
|
32193
32729
|
|
|
32194
|
-
|
|
32195
|
-
|
|
32730
|
+
i += digit * w;
|
|
32731
|
+
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
32196
32732
|
|
|
32197
|
-
|
|
32733
|
+
if (digit < t) {
|
|
32734
|
+
break;
|
|
32735
|
+
}
|
|
32198
32736
|
|
|
32199
|
-
|
|
32200
|
-
|
|
32201
|
-
|
|
32202
|
-
|
|
32203
|
-
'inline'
|
|
32204
|
-
]
|
|
32205
|
-
},
|
|
32737
|
+
baseMinusT = base - t;
|
|
32738
|
+
if (w > floor(maxInt / baseMinusT)) {
|
|
32739
|
+
error('overflow');
|
|
32740
|
+
}
|
|
32206
32741
|
|
|
32207
|
-
|
|
32208
|
-
rules: [
|
|
32209
|
-
'blockquote',
|
|
32210
|
-
'code',
|
|
32211
|
-
'fence',
|
|
32212
|
-
'heading',
|
|
32213
|
-
'hr',
|
|
32214
|
-
'html_block',
|
|
32215
|
-
'lheading',
|
|
32216
|
-
'list',
|
|
32217
|
-
'reference',
|
|
32218
|
-
'paragraph'
|
|
32219
|
-
]
|
|
32220
|
-
},
|
|
32742
|
+
w *= baseMinusT;
|
|
32221
32743
|
|
|
32222
|
-
|
|
32223
|
-
rules: [
|
|
32224
|
-
'autolink',
|
|
32225
|
-
'backticks',
|
|
32226
|
-
'emphasis',
|
|
32227
|
-
'entity',
|
|
32228
|
-
'escape',
|
|
32229
|
-
'html_inline',
|
|
32230
|
-
'image',
|
|
32231
|
-
'link',
|
|
32232
|
-
'newline',
|
|
32233
|
-
'text'
|
|
32234
|
-
],
|
|
32235
|
-
rules2: [
|
|
32236
|
-
'balance_pairs',
|
|
32237
|
-
'emphasis',
|
|
32238
|
-
'text_collapse'
|
|
32239
|
-
]
|
|
32240
|
-
}
|
|
32241
|
-
}
|
|
32242
|
-
};
|
|
32744
|
+
}
|
|
32243
32745
|
|
|
32746
|
+
out = output.length + 1;
|
|
32747
|
+
bias = adapt(i - oldi, out, oldi == 0);
|
|
32244
32748
|
|
|
32245
|
-
|
|
32246
|
-
|
|
32247
|
-
|
|
32749
|
+
// `i` was supposed to wrap around from `out` to `0`,
|
|
32750
|
+
// incrementing `n` each time, so we'll fix that now:
|
|
32751
|
+
if (floor(i / out) > maxInt - n) {
|
|
32752
|
+
error('overflow');
|
|
32753
|
+
}
|
|
32248
32754
|
|
|
32249
|
-
|
|
32250
|
-
|
|
32251
|
-
__webpack_require__.r(__webpack_exports__);
|
|
32755
|
+
n += floor(i / out);
|
|
32756
|
+
i %= out;
|
|
32252
32757
|
|
|
32253
|
-
//
|
|
32254
|
-
|
|
32255
|
-
__webpack_require__.d(__webpack_exports__, "createStreamUtils", function() { return /* reexport */ createStreamUtils; });
|
|
32256
|
-
__webpack_require__.d(__webpack_exports__, "DEFAULT_KV_SEPARATOR", function() { return /* reexport */ DEFAULT_KV_SEPARATOR; });
|
|
32257
|
-
__webpack_require__.d(__webpack_exports__, "DEFAULT_PART_SEPARATOR", function() { return /* reexport */ DEFAULT_PART_SEPARATOR; });
|
|
32258
|
-
__webpack_require__.d(__webpack_exports__, "DEFAULT_STREAM_SEPARATOR", function() { return /* reexport */ DEFAULT_STREAM_SEPARATOR; });
|
|
32259
|
-
__webpack_require__.d(__webpack_exports__, "isValidString", function() { return /* reexport */ isValidString; });
|
|
32260
|
-
__webpack_require__.d(__webpack_exports__, "recordMixin", function() { return /* reexport */ recordMixin; });
|
|
32261
|
-
__webpack_require__.d(__webpack_exports__, "sendMixin", function() { return /* reexport */ sendMixin; });
|
|
32262
|
-
__webpack_require__.d(__webpack_exports__, "splitPart", function() { return /* reexport */ splitPart; });
|
|
32263
|
-
__webpack_require__.d(__webpack_exports__, "splitStream", function() { return /* reexport */ splitStream; });
|
|
32264
|
-
__webpack_require__.d(__webpack_exports__, "streamMixin", function() { return /* reexport */ streamMixin; });
|
|
32265
|
-
__webpack_require__.d(__webpack_exports__, "XRequest", function() { return /* reexport */ XRequest; });
|
|
32266
|
-
__webpack_require__.d(__webpack_exports__, "XStream", function() { return /* reexport */ XStream; });
|
|
32758
|
+
// Insert `n` at position `i` of the output
|
|
32759
|
+
output.splice(i++, 0, n);
|
|
32267
32760
|
|
|
32268
|
-
|
|
32269
|
-
/**
|
|
32270
|
-
* @description 提供语音识别的混入,允许语音输入并处理开始、结束、结果及错误等各种事件。
|
|
32271
|
-
*
|
|
32272
|
-
* @mixin recordMixin
|
|
32273
|
-
*/
|
|
32761
|
+
}
|
|
32274
32762
|
|
|
32275
|
-
|
|
32276
|
-
|
|
32277
|
-
return {
|
|
32278
|
-
// 语音识别状态
|
|
32279
|
-
recordLoading: false,
|
|
32280
|
-
// 识别结果
|
|
32281
|
-
recordValue: '',
|
|
32282
|
-
// 识别实例
|
|
32283
|
-
recordRecognition: null,
|
|
32284
|
-
// 配置选项
|
|
32285
|
-
recordOptions: {
|
|
32286
|
-
onError: null,
|
|
32287
|
-
onStart: null,
|
|
32288
|
-
onEnd: null,
|
|
32289
|
-
onResult: null
|
|
32290
|
-
}
|
|
32291
|
-
};
|
|
32292
|
-
},
|
|
32293
|
-
methods: {
|
|
32294
|
-
/**
|
|
32295
|
-
* 初始化语音识别配置
|
|
32296
|
-
* @param {Object} options - 配置选项
|
|
32297
|
-
* @param {Function} [options.onError] - 错误回调
|
|
32298
|
-
* @param {Function} [options.onStart] - 开始回调
|
|
32299
|
-
* @param {Function} [options.onEnd] - 结束回调
|
|
32300
|
-
* @param {Function} [options.onResult] - 结果回调
|
|
32301
|
-
*/
|
|
32302
|
-
initRecord(options = {}) {
|
|
32303
|
-
this.recordOptions = {
|
|
32304
|
-
...this.recordOptions,
|
|
32305
|
-
...options
|
|
32306
|
-
};
|
|
32307
|
-
},
|
|
32308
|
-
/**
|
|
32309
|
-
* 开始语音识别
|
|
32310
|
-
*/
|
|
32311
|
-
startRecord() {
|
|
32312
|
-
if ('webkitSpeechRecognition' in window) {
|
|
32313
|
-
this.recordRecognition = new window.webkitSpeechRecognition();
|
|
32314
|
-
this.recordRecognition.continuous = true;
|
|
32315
|
-
this.recordRecognition.interimResults = true;
|
|
32316
|
-
this.recordRecognition.lang = 'zh-CN';
|
|
32317
|
-
this.recordRecognition.onstart = () => {
|
|
32318
|
-
this.recordLoading = true;
|
|
32319
|
-
this.recordValue = '';
|
|
32320
|
-
if (this.recordOptions.onStart) {
|
|
32321
|
-
this.recordOptions.onStart();
|
|
32322
|
-
}
|
|
32323
|
-
};
|
|
32324
|
-
this.recordRecognition.onend = () => {
|
|
32325
|
-
this.recordLoading = false;
|
|
32326
|
-
if (this.recordOptions.onEnd) {
|
|
32327
|
-
this.recordOptions.onEnd(this.recordValue);
|
|
32328
|
-
}
|
|
32329
|
-
};
|
|
32330
|
-
this.recordRecognition.onerror = e => {
|
|
32331
|
-
this.recordLoading = false;
|
|
32332
|
-
if (this.recordOptions.onError) {
|
|
32333
|
-
this.recordOptions.onError(e);
|
|
32334
|
-
}
|
|
32335
|
-
};
|
|
32336
|
-
this.recordRecognition.onresult = e => {
|
|
32337
|
-
let results = '';
|
|
32338
|
-
for (let i = 0; i <= e.resultIndex; i++) {
|
|
32339
|
-
results += e.results[i][0].transcript;
|
|
32340
|
-
}
|
|
32341
|
-
this.recordValue = results;
|
|
32342
|
-
if (this.recordOptions.onResult) {
|
|
32343
|
-
this.recordOptions.onResult(results);
|
|
32344
|
-
}
|
|
32345
|
-
};
|
|
32346
|
-
this.recordRecognition.start();
|
|
32347
|
-
} else {
|
|
32348
|
-
const error = {
|
|
32349
|
-
code: -1,
|
|
32350
|
-
message: 'The current browser does not support voice recognition'
|
|
32351
|
-
};
|
|
32352
|
-
if (this.recordOptions.onError) {
|
|
32353
|
-
this.recordOptions.onError(error);
|
|
32354
|
-
}
|
|
32355
|
-
}
|
|
32356
|
-
},
|
|
32357
|
-
/**
|
|
32358
|
-
* 停止语音识别
|
|
32359
|
-
*/
|
|
32360
|
-
stopRecord() {
|
|
32361
|
-
if (this.recordRecognition) {
|
|
32362
|
-
this.recordRecognition.stop();
|
|
32363
|
-
}
|
|
32364
|
-
},
|
|
32365
|
-
/**
|
|
32366
|
-
* 清理语音识别资源
|
|
32367
|
-
*/
|
|
32368
|
-
cleanupRecord() {
|
|
32369
|
-
this.stopRecord();
|
|
32370
|
-
this.recordRecognition = null;
|
|
32371
|
-
}
|
|
32372
|
-
},
|
|
32373
|
-
beforeDestroy() {
|
|
32374
|
-
this.cleanupRecord();
|
|
32375
|
-
}
|
|
32376
|
-
});
|
|
32377
|
-
// CONCATENATED MODULE: ./src/mixins/sendMixin.js
|
|
32378
|
-
/**
|
|
32379
|
-
* XRequest 类 - 用于处理 SSE 和 Fetch 请求
|
|
32380
|
-
*/
|
|
32381
|
-
class XRequest {
|
|
32382
|
-
constructor(options = {}) {
|
|
32383
|
-
const {
|
|
32384
|
-
baseURL,
|
|
32385
|
-
onAbort,
|
|
32386
|
-
onMessage,
|
|
32387
|
-
onError,
|
|
32388
|
-
baseOptions,
|
|
32389
|
-
transformer,
|
|
32390
|
-
type,
|
|
32391
|
-
onFinish,
|
|
32392
|
-
onOpen
|
|
32393
|
-
} = options;
|
|
32394
|
-
this._instance = null;
|
|
32395
|
-
this._transformer = transformer;
|
|
32396
|
-
this._baseURL = baseURL || '';
|
|
32397
|
-
this._baseOptions = baseOptions || {};
|
|
32398
|
-
this._onAbort = onAbort;
|
|
32399
|
-
this._onMessage = onMessage;
|
|
32400
|
-
this._onError = onError;
|
|
32401
|
-
this._onOpen = onOpen;
|
|
32402
|
-
this._type = type || 'sse';
|
|
32403
|
-
this._controller = null;
|
|
32404
|
-
this._onFinish = onFinish;
|
|
32405
|
-
this._messages = [];
|
|
32406
|
-
// 添加结束标志和超时控制
|
|
32407
|
-
this._isFinished = false;
|
|
32408
|
-
this._finishTimeout = null;
|
|
32763
|
+
return ucs2encode(output);
|
|
32764
|
+
}
|
|
32409
32765
|
|
|
32410
|
-
|
|
32411
|
-
|
|
32412
|
-
|
|
32413
|
-
|
|
32414
|
-
|
|
32415
|
-
|
|
32416
|
-
|
|
32417
|
-
|
|
32418
|
-
|
|
32419
|
-
|
|
32420
|
-
|
|
32421
|
-
|
|
32422
|
-
|
|
32423
|
-
|
|
32424
|
-
|
|
32425
|
-
|
|
32426
|
-
|
|
32427
|
-
|
|
32428
|
-
|
|
32429
|
-
|
|
32430
|
-
|
|
32431
|
-
|
|
32432
|
-
|
|
32433
|
-
|
|
32434
|
-
|
|
32435
|
-
|
|
32436
|
-
return;
|
|
32437
|
-
}
|
|
32438
|
-
if (value) {
|
|
32439
|
-
const chunk = decoder.decode(value, {
|
|
32440
|
-
stream: true
|
|
32441
|
-
});
|
|
32442
|
-
const chunkUse = chunk.startsWith('data: ') ? chunk.slice(6) : chunk;
|
|
32443
|
-
try {
|
|
32444
|
-
const res = this._transformer ? this._transformer(chunkUse) : chunkUse;
|
|
32445
|
-
this._messages.push(res);
|
|
32446
|
-
this._onMessage && this._onMessage(res);
|
|
32447
|
-
} catch (error) {
|
|
32448
|
-
this._onError && this._onError(error);
|
|
32449
|
-
this._controller && this._controller.abort();
|
|
32450
|
-
return Promise.reject(error);
|
|
32451
|
-
}
|
|
32452
|
-
}
|
|
32453
|
-
}
|
|
32454
|
-
}).catch(err => {
|
|
32455
|
-
if (err.name === 'AbortError') {
|
|
32456
|
-
this._onAbort && this._onAbort(this._messages);
|
|
32457
|
-
return;
|
|
32458
|
-
}
|
|
32459
|
-
this._onError && this._onError(err);
|
|
32460
|
-
this._controller && this._controller.abort();
|
|
32461
|
-
});
|
|
32462
|
-
}
|
|
32463
|
-
_sendWithSSE(url, options = {}) {
|
|
32464
|
-
const es = new EventSource(this._baseURL + url, {
|
|
32465
|
-
...this._baseOptions,
|
|
32466
|
-
...options
|
|
32467
|
-
});
|
|
32468
|
-
es.onmessage = e => {
|
|
32469
|
-
// 检查是否是结束消息
|
|
32470
|
-
if (e.data === '[DONE]' || e.data === 'data: [DONE]') {
|
|
32471
|
-
this._isFinished = true;
|
|
32472
|
-
this._onFinish && this._onFinish(this._messages);
|
|
32473
|
-
this.abort();
|
|
32474
|
-
return;
|
|
32475
|
-
}
|
|
32476
|
-
const res = this._transformer ? this._transformer(e.data) : e;
|
|
32477
|
-
this._messages.push(res);
|
|
32478
|
-
this._onMessage && this._onMessage(res);
|
|
32766
|
+
/**
|
|
32767
|
+
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
32768
|
+
* Punycode string of ASCII-only symbols.
|
|
32769
|
+
* @memberOf punycode
|
|
32770
|
+
* @param {String} input The string of Unicode symbols.
|
|
32771
|
+
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
|
32772
|
+
*/
|
|
32773
|
+
function encode(input) {
|
|
32774
|
+
var n,
|
|
32775
|
+
delta,
|
|
32776
|
+
handledCPCount,
|
|
32777
|
+
basicLength,
|
|
32778
|
+
bias,
|
|
32779
|
+
j,
|
|
32780
|
+
m,
|
|
32781
|
+
q,
|
|
32782
|
+
k,
|
|
32783
|
+
t,
|
|
32784
|
+
currentValue,
|
|
32785
|
+
output = [],
|
|
32786
|
+
/** `inputLength` will hold the number of code points in `input`. */
|
|
32787
|
+
inputLength,
|
|
32788
|
+
/** Cached calculation results */
|
|
32789
|
+
handledCPCountPlusOne,
|
|
32790
|
+
baseMinusT,
|
|
32791
|
+
qMinusT;
|
|
32479
32792
|
|
|
32480
|
-
|
|
32481
|
-
|
|
32482
|
-
clearTimeout(this._finishTimeout);
|
|
32483
|
-
}
|
|
32793
|
+
// Convert the input in UCS-2 to Unicode
|
|
32794
|
+
input = ucs2decode(input);
|
|
32484
32795
|
|
|
32485
|
-
|
|
32486
|
-
|
|
32487
|
-
if (!this._isFinished && es.readyState !== EventSource.CONNECTING) {
|
|
32488
|
-
this._isFinished = true;
|
|
32489
|
-
this._onFinish && this._onFinish(this._messages);
|
|
32490
|
-
this.abort();
|
|
32491
|
-
}
|
|
32492
|
-
}, 10000);
|
|
32493
|
-
};
|
|
32494
|
-
es.onopen = () => {
|
|
32495
|
-
this._onOpen && this._onOpen();
|
|
32496
|
-
};
|
|
32497
|
-
es.onerror = ev => {
|
|
32498
|
-
// 清除超时定时器
|
|
32499
|
-
if (this._finishTimeout) {
|
|
32500
|
-
clearTimeout(this._finishTimeout);
|
|
32501
|
-
this._finishTimeout = null;
|
|
32502
|
-
}
|
|
32796
|
+
// Cache the length
|
|
32797
|
+
inputLength = input.length;
|
|
32503
32798
|
|
|
32504
|
-
|
|
32505
|
-
|
|
32506
|
-
|
|
32507
|
-
|
|
32799
|
+
// Initialize the state
|
|
32800
|
+
n = initialN;
|
|
32801
|
+
delta = 0;
|
|
32802
|
+
bias = initialBias;
|
|
32508
32803
|
|
|
32509
|
-
|
|
32510
|
-
|
|
32511
|
-
|
|
32512
|
-
|
|
32513
|
-
|
|
32514
|
-
|
|
32515
|
-
|
|
32516
|
-
this._onError && this._onError(es, ev);
|
|
32517
|
-
}
|
|
32518
|
-
this.abort();
|
|
32519
|
-
};
|
|
32520
|
-
this._instance = es;
|
|
32521
|
-
return es;
|
|
32522
|
-
}
|
|
32523
|
-
send(url, options = {}) {
|
|
32524
|
-
switch (this._type) {
|
|
32525
|
-
case 'fetch':
|
|
32526
|
-
this._sendWithFetch(url, options);
|
|
32527
|
-
break;
|
|
32528
|
-
default:
|
|
32529
|
-
this._sendWithSSE(url, options);
|
|
32530
|
-
}
|
|
32531
|
-
return this;
|
|
32532
|
-
}
|
|
32533
|
-
abort() {
|
|
32534
|
-
// 清除超时定时器
|
|
32535
|
-
if (this._finishTimeout) {
|
|
32536
|
-
clearTimeout(this._finishTimeout);
|
|
32537
|
-
this._finishTimeout = null;
|
|
32538
|
-
}
|
|
32539
|
-
if (this._instance && this._instance.close) {
|
|
32540
|
-
this._instance.close();
|
|
32541
|
-
}
|
|
32542
|
-
this._instance = null;
|
|
32543
|
-
if (this._controller) {
|
|
32544
|
-
this._controller.abort();
|
|
32545
|
-
}
|
|
32546
|
-
this._controller = null;
|
|
32804
|
+
// Handle the basic code points
|
|
32805
|
+
for (j = 0; j < inputLength; ++j) {
|
|
32806
|
+
currentValue = input[j];
|
|
32807
|
+
if (currentValue < 0x80) {
|
|
32808
|
+
output.push(stringFromCharCode(currentValue));
|
|
32809
|
+
}
|
|
32810
|
+
}
|
|
32547
32811
|
|
|
32548
|
-
|
|
32549
|
-
if (!this._isFinished) {
|
|
32550
|
-
this._onAbort && this._onAbort(this._messages);
|
|
32551
|
-
}
|
|
32552
|
-
this._messages = [];
|
|
32553
|
-
this._isFinished = false;
|
|
32554
|
-
}
|
|
32555
|
-
}
|
|
32812
|
+
handledCPCount = basicLength = output.length;
|
|
32556
32813
|
|
|
32557
|
-
|
|
32558
|
-
|
|
32559
|
-
* 用于处理发送操作管理请求状态的 mixin,支持可选的中止功能,同时支持 Promise 和 SSE(服务端事件)
|
|
32560
|
-
*/
|
|
32561
|
-
const sendMixin = {
|
|
32562
|
-
data() {
|
|
32563
|
-
return {
|
|
32564
|
-
loading: false,
|
|
32565
|
-
_sendPromise: null,
|
|
32566
|
-
_sendController: null
|
|
32567
|
-
};
|
|
32568
|
-
},
|
|
32569
|
-
methods: {
|
|
32570
|
-
/**
|
|
32571
|
-
* 初始化发送配置
|
|
32572
|
-
* @param {Object} options - 配置选项
|
|
32573
|
-
* @param {Function} options.onAbort - 中止回调
|
|
32574
|
-
* @param {Function} options.sendHandler - 发送处理器
|
|
32575
|
-
* @param {Function} options.abortHandler - 中止处理器
|
|
32576
|
-
* @param {Function} options.finishHandler - 完成处理器
|
|
32577
|
-
*/
|
|
32578
|
-
initSend(options = {}) {
|
|
32579
|
-
this._sendOptions = {
|
|
32580
|
-
onAbort: options.onAbort,
|
|
32581
|
-
sendHandler: options.sendHandler,
|
|
32582
|
-
abortHandler: options.abortHandler,
|
|
32583
|
-
finishHandler: options.finishHandler
|
|
32584
|
-
};
|
|
32585
|
-
},
|
|
32586
|
-
/**
|
|
32587
|
-
* 发送操作
|
|
32588
|
-
* @param {...any} args - 传递给 sendHandler 的参数
|
|
32589
|
-
*/
|
|
32590
|
-
handleSend(...args) {
|
|
32591
|
-
if (this.loading) {
|
|
32592
|
-
return;
|
|
32593
|
-
}
|
|
32594
|
-
if (this._sendOptions && this._sendOptions.sendHandler) {
|
|
32595
|
-
this._sendOptions.sendHandler(...args);
|
|
32596
|
-
}
|
|
32597
|
-
this.loading = true;
|
|
32598
|
-
},
|
|
32599
|
-
/**
|
|
32600
|
-
* 中止操作
|
|
32601
|
-
*/
|
|
32602
|
-
handleAbort() {
|
|
32603
|
-
this.loading = false;
|
|
32604
|
-
if (this._sendOptions && this._sendOptions.abortHandler) {
|
|
32605
|
-
this._sendOptions.abortHandler();
|
|
32606
|
-
}
|
|
32607
|
-
if (this._sendOptions && this._sendOptions.onAbort) {
|
|
32608
|
-
this._sendOptions.onAbort();
|
|
32609
|
-
}
|
|
32610
|
-
},
|
|
32611
|
-
/**
|
|
32612
|
-
* 完成操作
|
|
32613
|
-
*/
|
|
32614
|
-
handleFinish() {
|
|
32615
|
-
this.loading = false;
|
|
32616
|
-
if (this._sendOptions && this._sendOptions.finishHandler) {
|
|
32617
|
-
this._sendOptions.finishHandler();
|
|
32618
|
-
}
|
|
32619
|
-
},
|
|
32620
|
-
/**
|
|
32621
|
-
* 创建 XRequest 实例的便捷方法
|
|
32622
|
-
* @param {Object} options - XRequest 配置选项
|
|
32623
|
-
* @returns {XRequest} XRequest 实例
|
|
32624
|
-
*/
|
|
32625
|
-
createXRequest(options = {}) {
|
|
32626
|
-
return new XRequest({
|
|
32627
|
-
...options,
|
|
32628
|
-
onAbort: (...args) => {
|
|
32629
|
-
this.handleAbort();
|
|
32630
|
-
if (options.onAbort) {
|
|
32631
|
-
options.onAbort(...args);
|
|
32632
|
-
}
|
|
32633
|
-
},
|
|
32634
|
-
onFinish: (...args) => {
|
|
32635
|
-
this.handleFinish();
|
|
32636
|
-
if (options.onFinish) {
|
|
32637
|
-
options.onFinish(...args);
|
|
32638
|
-
}
|
|
32639
|
-
}
|
|
32640
|
-
});
|
|
32641
|
-
}
|
|
32642
|
-
},
|
|
32643
|
-
beforeDestroy() {
|
|
32644
|
-
// 组件销毁时清理资源
|
|
32645
|
-
if (this._sendController) {
|
|
32646
|
-
this._sendController.abort();
|
|
32647
|
-
}
|
|
32648
|
-
}
|
|
32649
|
-
};
|
|
32814
|
+
// `handledCPCount` is the number of code points that have been handled;
|
|
32815
|
+
// `basicLength` is the number of basic code points.
|
|
32650
32816
|
|
|
32651
|
-
|
|
32652
|
-
|
|
32653
|
-
|
|
32654
|
-
|
|
32655
|
-
*/
|
|
32656
|
-
function createSendUtils(options = {}) {
|
|
32657
|
-
const state = {
|
|
32658
|
-
loading: false
|
|
32659
|
-
};
|
|
32660
|
-
const handleSend = (...args) => {
|
|
32661
|
-
if (state.loading) {
|
|
32662
|
-
return;
|
|
32663
|
-
}
|
|
32664
|
-
if (options.sendHandler) {
|
|
32665
|
-
options.sendHandler(...args);
|
|
32666
|
-
}
|
|
32667
|
-
state.loading = true;
|
|
32668
|
-
};
|
|
32669
|
-
const handleAbort = () => {
|
|
32670
|
-
state.loading = false;
|
|
32671
|
-
if (options.abortHandler) {
|
|
32672
|
-
options.abortHandler();
|
|
32673
|
-
}
|
|
32674
|
-
if (options.onAbort) {
|
|
32675
|
-
options.onAbort();
|
|
32676
|
-
}
|
|
32677
|
-
};
|
|
32678
|
-
const handleFinish = () => {
|
|
32679
|
-
state.loading = false;
|
|
32680
|
-
if (options.finishHandler) {
|
|
32681
|
-
options.finishHandler();
|
|
32682
|
-
}
|
|
32683
|
-
};
|
|
32684
|
-
return {
|
|
32685
|
-
state,
|
|
32686
|
-
send: handleSend,
|
|
32687
|
-
abort: handleAbort,
|
|
32688
|
-
finish: handleFinish
|
|
32689
|
-
};
|
|
32690
|
-
}
|
|
32691
|
-
/* harmony default export */ var mixins_sendMixin = (sendMixin);
|
|
32692
|
-
// CONCATENATED MODULE: ./src/mixins/streamMixin.js
|
|
32693
|
-
/**
|
|
32694
|
-
* @fileoverview Vue2 流式数据处理 Mixin
|
|
32695
|
-
* 从 Vue3 useXStream hooks 转换而来,支持 SSE 数据解析和中断功能
|
|
32696
|
-
* @author Element UI X Team
|
|
32697
|
-
* @version 1.0.0
|
|
32698
|
-
*/
|
|
32817
|
+
// Finish the basic string - if it is not empty - with a delimiter
|
|
32818
|
+
if (basicLength) {
|
|
32819
|
+
output.push(delimiter);
|
|
32820
|
+
}
|
|
32699
32821
|
|
|
32700
|
-
|
|
32701
|
-
|
|
32702
|
-
* @type {string}
|
|
32703
|
-
* @constant
|
|
32704
|
-
*/
|
|
32705
|
-
const DEFAULT_STREAM_SEPARATOR = '\n\n';
|
|
32822
|
+
// Main encoding loop:
|
|
32823
|
+
while (handledCPCount < inputLength) {
|
|
32706
32824
|
|
|
32707
|
-
|
|
32708
|
-
|
|
32709
|
-
|
|
32710
|
-
|
|
32711
|
-
|
|
32712
|
-
|
|
32825
|
+
// All non-basic code points < n have been handled already. Find the next
|
|
32826
|
+
// larger one:
|
|
32827
|
+
for (m = maxInt, j = 0; j < inputLength; ++j) {
|
|
32828
|
+
currentValue = input[j];
|
|
32829
|
+
if (currentValue >= n && currentValue < m) {
|
|
32830
|
+
m = currentValue;
|
|
32831
|
+
}
|
|
32832
|
+
}
|
|
32713
32833
|
|
|
32714
|
-
|
|
32715
|
-
|
|
32716
|
-
|
|
32717
|
-
|
|
32718
|
-
|
|
32719
|
-
|
|
32834
|
+
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
|
32835
|
+
// but guard against overflow
|
|
32836
|
+
handledCPCountPlusOne = handledCPCount + 1;
|
|
32837
|
+
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
|
32838
|
+
error('overflow');
|
|
32839
|
+
}
|
|
32720
32840
|
|
|
32721
|
-
|
|
32722
|
-
|
|
32723
|
-
* @typedef {'data'|'event'|'id'|'retry'} SSEFields
|
|
32724
|
-
*/
|
|
32841
|
+
delta += (m - n) * handledCPCountPlusOne;
|
|
32842
|
+
n = m;
|
|
32725
32843
|
|
|
32726
|
-
|
|
32727
|
-
|
|
32728
|
-
* @typedef {Object} SSEOutput
|
|
32729
|
-
* @property {string} [data] - 数据字段
|
|
32730
|
-
* @property {string} [event] - 事件字段
|
|
32731
|
-
* @property {string} [id] - ID字段
|
|
32732
|
-
* @property {string} [retry] - 重试字段
|
|
32733
|
-
*/
|
|
32844
|
+
for (j = 0; j < inputLength; ++j) {
|
|
32845
|
+
currentValue = input[j];
|
|
32734
32846
|
|
|
32735
|
-
|
|
32736
|
-
|
|
32737
|
-
|
|
32738
|
-
* @property {ReadableStream<Uint8Array>} readableStream - 可读流
|
|
32739
|
-
* @property {TransformStream<string, *>} [transformStream] - 可选的转换流
|
|
32740
|
-
*/
|
|
32847
|
+
if (currentValue < n && ++delta > maxInt) {
|
|
32848
|
+
error('overflow');
|
|
32849
|
+
}
|
|
32741
32850
|
|
|
32742
|
-
|
|
32743
|
-
|
|
32744
|
-
|
|
32745
|
-
|
|
32746
|
-
|
|
32747
|
-
|
|
32748
|
-
|
|
32851
|
+
if (currentValue == n) {
|
|
32852
|
+
// Represent delta as a generalized variable-length integer
|
|
32853
|
+
for (q = delta, k = base; /* no condition */; k += base) {
|
|
32854
|
+
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
32855
|
+
if (q < t) {
|
|
32856
|
+
break;
|
|
32857
|
+
}
|
|
32858
|
+
qMinusT = q - t;
|
|
32859
|
+
baseMinusT = base - t;
|
|
32860
|
+
output.push(
|
|
32861
|
+
stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
|
|
32862
|
+
);
|
|
32863
|
+
q = floor(qMinusT / baseMinusT);
|
|
32864
|
+
}
|
|
32749
32865
|
|
|
32750
|
-
|
|
32751
|
-
|
|
32752
|
-
|
|
32753
|
-
|
|
32754
|
-
|
|
32755
|
-
|
|
32756
|
-
* @property {function(): void} [onCancel] - 取消回调函数
|
|
32757
|
-
* @property {function(): void} [onFinish] - 结束回调函数
|
|
32758
|
-
*/
|
|
32866
|
+
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
|
32867
|
+
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
|
32868
|
+
delta = 0;
|
|
32869
|
+
++handledCPCount;
|
|
32870
|
+
}
|
|
32871
|
+
}
|
|
32759
32872
|
|
|
32760
|
-
|
|
32761
|
-
|
|
32762
|
-
* @typedef {Object} StreamUtils
|
|
32763
|
-
* @property {StreamState} state - 流状态
|
|
32764
|
-
* @property {function(XStreamOptions): Promise<void>} startStream - 启动流处理
|
|
32765
|
-
* @property {function(): void} cancel - 取消流处理
|
|
32766
|
-
* @property {function(): void} reset - 重置流状态
|
|
32767
|
-
*/
|
|
32873
|
+
++delta;
|
|
32874
|
+
++n;
|
|
32768
32875
|
|
|
32769
|
-
|
|
32770
|
-
|
|
32771
|
-
|
|
32772
|
-
* @returns {boolean} 是否为有效字符串
|
|
32773
|
-
*/
|
|
32774
|
-
const isValidString = str => (str === null || str === undefined ? '' : str).trim() !== '';
|
|
32876
|
+
}
|
|
32877
|
+
return output.join('');
|
|
32878
|
+
}
|
|
32775
32879
|
|
|
32776
|
-
/**
|
|
32777
|
-
|
|
32778
|
-
|
|
32779
|
-
|
|
32780
|
-
|
|
32781
|
-
|
|
32782
|
-
|
|
32783
|
-
|
|
32784
|
-
|
|
32785
|
-
|
|
32786
|
-
|
|
32787
|
-
|
|
32788
|
-
|
|
32789
|
-
|
|
32790
|
-
|
|
32791
|
-
|
|
32792
|
-
|
|
32793
|
-
|
|
32794
|
-
});
|
|
32795
|
-
buffer = parts[parts.length - 1];
|
|
32796
|
-
},
|
|
32797
|
-
/**
|
|
32798
|
-
* 刷新函数
|
|
32799
|
-
* @param {TransformStreamDefaultController<string>} controller - 控制器
|
|
32800
|
-
*/
|
|
32801
|
-
flush(controller) {
|
|
32802
|
-
if (isValidString(buffer)) controller.enqueue(buffer);
|
|
32803
|
-
}
|
|
32804
|
-
});
|
|
32805
|
-
}
|
|
32880
|
+
/**
|
|
32881
|
+
* Converts a Punycode string representing a domain name or an email address
|
|
32882
|
+
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
|
32883
|
+
* it doesn't matter if you call it on a string that has already been
|
|
32884
|
+
* converted to Unicode.
|
|
32885
|
+
* @memberOf punycode
|
|
32886
|
+
* @param {String} input The Punycoded domain name or email address to
|
|
32887
|
+
* convert to Unicode.
|
|
32888
|
+
* @returns {String} The Unicode representation of the given Punycode
|
|
32889
|
+
* string.
|
|
32890
|
+
*/
|
|
32891
|
+
function toUnicode(input) {
|
|
32892
|
+
return mapDomain(input, function(string) {
|
|
32893
|
+
return regexPunycode.test(string)
|
|
32894
|
+
? decode(string.slice(4).toLowerCase())
|
|
32895
|
+
: string;
|
|
32896
|
+
});
|
|
32897
|
+
}
|
|
32806
32898
|
|
|
32807
|
-
/**
|
|
32808
|
-
|
|
32809
|
-
|
|
32810
|
-
|
|
32811
|
-
|
|
32812
|
-
|
|
32813
|
-
|
|
32814
|
-
|
|
32815
|
-
|
|
32816
|
-
|
|
32817
|
-
|
|
32818
|
-
|
|
32819
|
-
|
|
32820
|
-
|
|
32821
|
-
|
|
32822
|
-
|
|
32823
|
-
|
|
32824
|
-
|
|
32825
|
-
|
|
32826
|
-
|
|
32827
|
-
|
|
32828
|
-
|
|
32829
|
-
|
|
32830
|
-
|
|
32831
|
-
|
|
32832
|
-
|
|
32833
|
-
|
|
32834
|
-
|
|
32835
|
-
|
|
32899
|
+
/**
|
|
32900
|
+
* Converts a Unicode string representing a domain name or an email address to
|
|
32901
|
+
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
|
32902
|
+
* i.e. it doesn't matter if you call it with a domain that's already in
|
|
32903
|
+
* ASCII.
|
|
32904
|
+
* @memberOf punycode
|
|
32905
|
+
* @param {String} input The domain name or email address to convert, as a
|
|
32906
|
+
* Unicode string.
|
|
32907
|
+
* @returns {String} The Punycode representation of the given domain name or
|
|
32908
|
+
* email address.
|
|
32909
|
+
*/
|
|
32910
|
+
function toASCII(input) {
|
|
32911
|
+
return mapDomain(input, function(string) {
|
|
32912
|
+
return regexNonASCII.test(string)
|
|
32913
|
+
? 'xn--' + encode(string)
|
|
32914
|
+
: string;
|
|
32915
|
+
});
|
|
32916
|
+
}
|
|
32917
|
+
|
|
32918
|
+
/*--------------------------------------------------------------------------*/
|
|
32919
|
+
|
|
32920
|
+
/** Define the public API */
|
|
32921
|
+
punycode = {
|
|
32922
|
+
/**
|
|
32923
|
+
* A string representing the current Punycode.js version number.
|
|
32924
|
+
* @memberOf punycode
|
|
32925
|
+
* @type String
|
|
32926
|
+
*/
|
|
32927
|
+
'version': '1.4.1',
|
|
32928
|
+
/**
|
|
32929
|
+
* An object of methods to convert from JavaScript's internal character
|
|
32930
|
+
* representation (UCS-2) to Unicode code points, and back.
|
|
32931
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
32932
|
+
* @memberOf punycode
|
|
32933
|
+
* @type Object
|
|
32934
|
+
*/
|
|
32935
|
+
'ucs2': {
|
|
32936
|
+
'decode': ucs2decode,
|
|
32937
|
+
'encode': ucs2encode
|
|
32938
|
+
},
|
|
32939
|
+
'decode': decode,
|
|
32940
|
+
'encode': encode,
|
|
32941
|
+
'toASCII': toASCII,
|
|
32942
|
+
'toUnicode': toUnicode
|
|
32943
|
+
};
|
|
32944
|
+
|
|
32945
|
+
/** Expose `punycode` */
|
|
32946
|
+
// Some AMD build optimizers, like r.js, check for specific condition patterns
|
|
32947
|
+
// like the following:
|
|
32948
|
+
if (
|
|
32949
|
+
true
|
|
32950
|
+
) {
|
|
32951
|
+
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
|
|
32952
|
+
return punycode;
|
|
32953
|
+
}).call(exports, __webpack_require__, exports, module),
|
|
32954
|
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
32955
|
+
} else {}
|
|
32956
|
+
|
|
32957
|
+
}(this));
|
|
32958
|
+
|
|
32959
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(24)(module), __webpack_require__(11)))
|
|
32960
|
+
|
|
32961
|
+
/***/ }),
|
|
32962
|
+
/* 80 */
|
|
32963
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
32964
|
+
|
|
32965
|
+
"use strict";
|
|
32966
|
+
// markdown-it default options
|
|
32967
|
+
|
|
32968
|
+
|
|
32969
|
+
|
|
32970
|
+
|
|
32971
|
+
module.exports = {
|
|
32972
|
+
options: {
|
|
32973
|
+
html: false, // Enable HTML tags in source
|
|
32974
|
+
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
32975
|
+
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
32976
|
+
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
32977
|
+
linkify: false, // autoconvert URL-like texts to links
|
|
32978
|
+
|
|
32979
|
+
// Enable some language-neutral replacements + quotes beautification
|
|
32980
|
+
typographer: false,
|
|
32836
32981
|
|
|
32837
|
-
|
|
32838
|
-
|
|
32839
|
-
|
|
32840
|
-
|
|
32841
|
-
|
|
32842
|
-
|
|
32843
|
-
|
|
32844
|
-
|
|
32845
|
-
|
|
32846
|
-
|
|
32847
|
-
|
|
32848
|
-
|
|
32849
|
-
|
|
32850
|
-
|
|
32851
|
-
|
|
32852
|
-
|
|
32982
|
+
// Double + single quotes replacement pairs, when typographer enabled,
|
|
32983
|
+
// and smartquotes on. Could be either a String or an Array.
|
|
32984
|
+
//
|
|
32985
|
+
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
32986
|
+
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
32987
|
+
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
32988
|
+
|
|
32989
|
+
// Highlighter function. Should return escaped HTML,
|
|
32990
|
+
// or '' if the source string is not changed and should be escaped externaly.
|
|
32991
|
+
// If result starts with <pre... internal wrapper is skipped.
|
|
32992
|
+
//
|
|
32993
|
+
// function (/*str, lang*/) { return ''; }
|
|
32994
|
+
//
|
|
32995
|
+
highlight: null,
|
|
32996
|
+
|
|
32997
|
+
maxNesting: 100 // Internal protection, recursion limit
|
|
32998
|
+
},
|
|
32999
|
+
|
|
33000
|
+
components: {
|
|
33001
|
+
|
|
33002
|
+
core: {},
|
|
33003
|
+
block: {},
|
|
33004
|
+
inline: {}
|
|
32853
33005
|
}
|
|
32854
|
-
|
|
32855
|
-
const processedStream = transformStream ? readableStream.pipeThrough(decoderStream).pipeThrough(transformStream) : readableStream.pipeThrough(decoderStream).pipeThrough(splitStream()).pipeThrough(splitPart());
|
|
33006
|
+
};
|
|
32856
33007
|
|
|
32857
|
-
// 为流添加异步迭代器并处理中断信号
|
|
32858
|
-
processedStream[Symbol.asyncIterator] = async function* () {
|
|
32859
|
-
const reader = this.getReader();
|
|
32860
|
-
this.reader = reader; // 保存读取器引用
|
|
32861
|
-
try {
|
|
32862
|
-
while (true) {
|
|
32863
|
-
if (signal && signal.aborted) {
|
|
32864
|
-
await reader.cancel(); // 主动取消 reader
|
|
32865
|
-
break;
|
|
32866
|
-
}
|
|
32867
|
-
const {
|
|
32868
|
-
done,
|
|
32869
|
-
value
|
|
32870
|
-
} = await reader.read();
|
|
32871
|
-
if (done) break;
|
|
32872
|
-
if (value) yield value;
|
|
32873
|
-
}
|
|
32874
|
-
} finally {
|
|
32875
|
-
reader.releaseLock(); // 释放锁
|
|
32876
|
-
}
|
|
32877
|
-
};
|
|
32878
|
-
return processedStream;
|
|
32879
|
-
}
|
|
32880
33008
|
|
|
32881
|
-
|
|
32882
|
-
|
|
32883
|
-
|
|
32884
|
-
|
|
32885
|
-
|
|
32886
|
-
|
|
32887
|
-
|
|
32888
|
-
|
|
32889
|
-
|
|
32890
|
-
|
|
32891
|
-
|
|
32892
|
-
|
|
32893
|
-
|
|
32894
|
-
|
|
32895
|
-
|
|
32896
|
-
|
|
32897
|
-
|
|
32898
|
-
|
|
32899
|
-
|
|
32900
|
-
|
|
32901
|
-
|
|
32902
|
-
|
|
32903
|
-
|
|
32904
|
-
|
|
33009
|
+
/***/ }),
|
|
33010
|
+
/* 81 */
|
|
33011
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
33012
|
+
|
|
33013
|
+
"use strict";
|
|
33014
|
+
// "Zero" preset, with nothing enabled. Useful for manual configuring of simple
|
|
33015
|
+
// modes. For example, to parse bold/italic only.
|
|
33016
|
+
|
|
33017
|
+
|
|
33018
|
+
|
|
33019
|
+
|
|
33020
|
+
module.exports = {
|
|
33021
|
+
options: {
|
|
33022
|
+
html: false, // Enable HTML tags in source
|
|
33023
|
+
xhtmlOut: false, // Use '/' to close single tags (<br />)
|
|
33024
|
+
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
33025
|
+
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
33026
|
+
linkify: false, // autoconvert URL-like texts to links
|
|
33027
|
+
|
|
33028
|
+
// Enable some language-neutral replacements + quotes beautification
|
|
33029
|
+
typographer: false,
|
|
33030
|
+
|
|
33031
|
+
// Double + single quotes replacement pairs, when typographer enabled,
|
|
33032
|
+
// and smartquotes on. Could be either a String or an Array.
|
|
33033
|
+
//
|
|
33034
|
+
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
33035
|
+
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
33036
|
+
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
33037
|
+
|
|
33038
|
+
// Highlighter function. Should return escaped HTML,
|
|
33039
|
+
// or '' if the source string is not changed and should be escaped externaly.
|
|
33040
|
+
// If result starts with <pre... internal wrapper is skipped.
|
|
33041
|
+
//
|
|
33042
|
+
// function (/*str, lang*/) { return ''; }
|
|
33043
|
+
//
|
|
33044
|
+
highlight: null,
|
|
33045
|
+
|
|
33046
|
+
maxNesting: 20 // Internal protection, recursion limit
|
|
32905
33047
|
},
|
|
32906
|
-
|
|
32907
|
-
|
|
32908
|
-
|
|
32909
|
-
|
|
32910
|
-
|
|
32911
|
-
|
|
32912
|
-
|
|
32913
|
-
|
|
32914
|
-
|
|
32915
|
-
* @fires streamMixin#stream-complete - 流完成时触发
|
|
32916
|
-
* @fires streamMixin#stream-error - 流错误时触发
|
|
32917
|
-
* @fires streamMixin#stream-finish - 流处理结束时触发
|
|
32918
|
-
* @example
|
|
32919
|
-
* // 基础使用
|
|
32920
|
-
* const response = await fetch('/api/stream')
|
|
32921
|
-
* await this.startStream({ readableStream: response.body })
|
|
32922
|
-
*
|
|
32923
|
-
* // 使用自定义转换流
|
|
32924
|
-
* const customTransform = new TransformStream({ ... })
|
|
32925
|
-
* await this.startStream({
|
|
32926
|
-
* readableStream: response.body,
|
|
32927
|
-
* transformStream: customTransform
|
|
32928
|
-
* })
|
|
32929
|
-
*/
|
|
32930
|
-
async startStream(options) {
|
|
32931
|
-
this.streamLoading = true;
|
|
32932
|
-
this.streamError = null;
|
|
32933
|
-
this.streamData = [];
|
|
32934
|
-
this._abortController = new AbortController();
|
|
32935
|
-
this._currentStream = XStream(options, this._abortController.signal);
|
|
32936
|
-
try {
|
|
32937
|
-
for await (const item of this._currentStream) {
|
|
32938
|
-
this.streamData.push(item);
|
|
32939
|
-
// 触发数据更新事件
|
|
32940
|
-
/**
|
|
32941
|
-
* 流数据事件
|
|
32942
|
-
* @event streamMixin#stream-data
|
|
32943
|
-
* @type {*} 流数据项
|
|
32944
|
-
*/
|
|
32945
|
-
this.$emit('stream-data', item);
|
|
32946
|
-
}
|
|
32947
|
-
// 流完成事件
|
|
32948
|
-
/**
|
|
32949
|
-
* 流完成事件
|
|
32950
|
-
* @event streamMixin#stream-complete
|
|
32951
|
-
* @type {Array<*>} 所有流数据
|
|
32952
|
-
*/
|
|
32953
|
-
this.$emit('stream-complete', this.streamData);
|
|
32954
|
-
} catch (err) {
|
|
32955
|
-
if (err instanceof Error) {
|
|
32956
|
-
this.streamError = err;
|
|
32957
|
-
/**
|
|
32958
|
-
* 流错误事件
|
|
32959
|
-
* @event streamMixin#stream-error
|
|
32960
|
-
* @type {Error} 错误对象
|
|
32961
|
-
*/
|
|
32962
|
-
this.$emit('stream-error', err);
|
|
32963
|
-
}
|
|
32964
|
-
} finally {
|
|
32965
|
-
this.streamLoading = false;
|
|
32966
|
-
this._currentStream = null; // 释放流引用
|
|
32967
|
-
this._abortController = null; // 释放控制器
|
|
32968
|
-
/**
|
|
32969
|
-
* 流处理结束事件
|
|
32970
|
-
* @event streamMixin#stream-finish
|
|
32971
|
-
*/
|
|
32972
|
-
this.$emit('stream-finish');
|
|
32973
|
-
}
|
|
32974
|
-
},
|
|
32975
|
-
/**
|
|
32976
|
-
* 中断流式请求(强制关闭流)
|
|
32977
|
-
* @returns {void}
|
|
32978
|
-
* @fires streamMixin#stream-cancel - 流被中断时触发
|
|
32979
|
-
* @example
|
|
32980
|
-
* this.cancelStream()
|
|
32981
|
-
*/
|
|
32982
|
-
cancelStream() {
|
|
32983
|
-
if (this._abortController) {
|
|
32984
|
-
this._abortController.abort();
|
|
32985
|
-
/**
|
|
32986
|
-
* 流取消事件
|
|
32987
|
-
* @event streamMixin#stream-cancel
|
|
32988
|
-
*/
|
|
32989
|
-
this.$emit('stream-cancel');
|
|
32990
|
-
}
|
|
33048
|
+
|
|
33049
|
+
components: {
|
|
33050
|
+
|
|
33051
|
+
core: {
|
|
33052
|
+
rules: [
|
|
33053
|
+
'normalize',
|
|
33054
|
+
'block',
|
|
33055
|
+
'inline'
|
|
33056
|
+
]
|
|
32991
33057
|
},
|
|
32992
|
-
|
|
32993
|
-
|
|
32994
|
-
|
|
32995
|
-
|
|
32996
|
-
|
|
32997
|
-
* this.resetStream()
|
|
32998
|
-
*/
|
|
32999
|
-
resetStream() {
|
|
33000
|
-
this.streamData = [];
|
|
33001
|
-
this.streamError = null;
|
|
33002
|
-
this.streamLoading = false;
|
|
33003
|
-
this._abortController = null;
|
|
33004
|
-
this._currentStream = null;
|
|
33058
|
+
|
|
33059
|
+
block: {
|
|
33060
|
+
rules: [
|
|
33061
|
+
'paragraph'
|
|
33062
|
+
]
|
|
33005
33063
|
},
|
|
33006
|
-
|
|
33007
|
-
|
|
33008
|
-
|
|
33009
|
-
|
|
33010
|
-
|
|
33011
|
-
|
|
33012
|
-
|
|
33013
|
-
|
|
33014
|
-
|
|
33015
|
-
createStreamProcessor(readableStream, transformStream) {
|
|
33016
|
-
return {
|
|
33017
|
-
readableStream,
|
|
33018
|
-
transformStream
|
|
33019
|
-
};
|
|
33064
|
+
|
|
33065
|
+
inline: {
|
|
33066
|
+
rules: [
|
|
33067
|
+
'text'
|
|
33068
|
+
],
|
|
33069
|
+
rules2: [
|
|
33070
|
+
'balance_pairs',
|
|
33071
|
+
'text_collapse'
|
|
33072
|
+
]
|
|
33020
33073
|
}
|
|
33021
|
-
},
|
|
33022
|
-
/**
|
|
33023
|
-
* 组件销毁前的生命周期钩子
|
|
33024
|
-
* 自动清理流资源
|
|
33025
|
-
* @returns {void}
|
|
33026
|
-
*/
|
|
33027
|
-
beforeDestroy() {
|
|
33028
|
-
// 组件销毁时清理资源
|
|
33029
|
-
this.cancelStream();
|
|
33030
33074
|
}
|
|
33031
33075
|
};
|
|
33032
33076
|
|
|
33033
|
-
/**
|
|
33034
|
-
* 工具函数版本 - 用于非组件场景
|
|
33035
|
-
* @param {StreamCallbacks} [callbacks={}] - 回调函数配置
|
|
33036
|
-
* @param {function(*): void} [callbacks.onData] - 数据回调函数
|
|
33037
|
-
* @param {function(Array<*>): void} [callbacks.onComplete] - 完成回调函数
|
|
33038
|
-
* @param {function(Error): void} [callbacks.onError] - 错误回调函数
|
|
33039
|
-
* @param {function(): void} [callbacks.onCancel] - 取消回调函数
|
|
33040
|
-
* @param {function(): void} [callbacks.onFinish] - 结束回调函数
|
|
33041
|
-
* @returns {StreamUtils} 包含流处理相关方法的对象
|
|
33042
|
-
* @example
|
|
33043
|
-
* // 基础使用
|
|
33044
|
-
* const streamUtils = createStreamUtils({
|
|
33045
|
-
* onData: (item) => console.log('数据:', item),
|
|
33046
|
-
* onComplete: (allData) => console.log('完成:', allData),
|
|
33047
|
-
* onError: (error) => console.error('错误:', error)
|
|
33048
|
-
* })
|
|
33049
|
-
*
|
|
33050
|
-
* const response = await fetch('/api/stream')
|
|
33051
|
-
* await streamUtils.startStream({ readableStream: response.body })
|
|
33052
|
-
*/
|
|
33053
|
-
function createStreamUtils(callbacks = {}) {
|
|
33054
|
-
/**
|
|
33055
|
-
* 流状态对象
|
|
33056
|
-
* @type {StreamState}
|
|
33057
|
-
*/
|
|
33058
|
-
const state = {
|
|
33059
|
-
data: [],
|
|
33060
|
-
error: null,
|
|
33061
|
-
loading: false
|
|
33062
|
-
};
|
|
33063
|
-
let abortController = null;
|
|
33064
|
-
let currentStream = null;
|
|
33065
33077
|
|
|
33066
|
-
|
|
33067
|
-
|
|
33068
|
-
|
|
33069
|
-
* @param {XStreamOptions} options - 流配置选项
|
|
33070
|
-
* @returns {Promise<void>} 流处理完成的 Promise
|
|
33071
|
-
*/
|
|
33072
|
-
const startStream = async options => {
|
|
33073
|
-
state.loading = true;
|
|
33074
|
-
state.error = null;
|
|
33075
|
-
state.data = [];
|
|
33076
|
-
abortController = new AbortController();
|
|
33077
|
-
currentStream = XStream(options, abortController.signal);
|
|
33078
|
-
try {
|
|
33079
|
-
for await (const item of currentStream) {
|
|
33080
|
-
state.data.push(item);
|
|
33081
|
-
if (callbacks.onData) {
|
|
33082
|
-
callbacks.onData(item);
|
|
33083
|
-
}
|
|
33084
|
-
}
|
|
33085
|
-
if (callbacks.onComplete) {
|
|
33086
|
-
callbacks.onComplete(state.data);
|
|
33087
|
-
}
|
|
33088
|
-
} catch (err) {
|
|
33089
|
-
if (err instanceof Error) {
|
|
33090
|
-
state.error = err;
|
|
33091
|
-
if (callbacks.onError) {
|
|
33092
|
-
callbacks.onError(err);
|
|
33093
|
-
}
|
|
33094
|
-
}
|
|
33095
|
-
} finally {
|
|
33096
|
-
state.loading = false;
|
|
33097
|
-
currentStream = null;
|
|
33098
|
-
abortController = null;
|
|
33099
|
-
if (callbacks.onFinish) {
|
|
33100
|
-
callbacks.onFinish();
|
|
33101
|
-
}
|
|
33102
|
-
}
|
|
33103
|
-
};
|
|
33078
|
+
/***/ }),
|
|
33079
|
+
/* 82 */
|
|
33080
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
33104
33081
|
|
|
33105
|
-
|
|
33106
|
-
|
|
33107
|
-
* @returns {void}
|
|
33108
|
-
*/
|
|
33109
|
-
const cancel = () => {
|
|
33110
|
-
if (abortController) {
|
|
33111
|
-
abortController.abort();
|
|
33112
|
-
if (callbacks.onCancel) {
|
|
33113
|
-
callbacks.onCancel();
|
|
33114
|
-
}
|
|
33115
|
-
}
|
|
33116
|
-
};
|
|
33082
|
+
"use strict";
|
|
33083
|
+
// Commonmark default options
|
|
33117
33084
|
|
|
33118
|
-
/**
|
|
33119
|
-
* 重置流状态
|
|
33120
|
-
* @returns {void}
|
|
33121
|
-
*/
|
|
33122
|
-
const reset = () => {
|
|
33123
|
-
state.data = [];
|
|
33124
|
-
state.error = null;
|
|
33125
|
-
state.loading = false;
|
|
33126
|
-
abortController = null;
|
|
33127
|
-
currentStream = null;
|
|
33128
|
-
};
|
|
33129
|
-
return {
|
|
33130
|
-
state,
|
|
33131
|
-
startStream,
|
|
33132
|
-
cancel,
|
|
33133
|
-
reset
|
|
33134
|
-
};
|
|
33135
|
-
}
|
|
33136
33085
|
|
|
33137
|
-
// 导出常量和工具函数
|
|
33138
33086
|
|
|
33139
33087
|
|
|
33140
|
-
|
|
33141
|
-
|
|
33142
|
-
|
|
33143
|
-
|
|
33144
|
-
|
|
33145
|
-
//
|
|
33146
|
-
|
|
33147
|
-
* Mixins 入口文件
|
|
33148
|
-
*/
|
|
33088
|
+
module.exports = {
|
|
33089
|
+
options: {
|
|
33090
|
+
html: true, // Enable HTML tags in source
|
|
33091
|
+
xhtmlOut: true, // Use '/' to close single tags (<br />)
|
|
33092
|
+
breaks: false, // Convert '\n' in paragraphs into <br>
|
|
33093
|
+
langPrefix: 'language-', // CSS language prefix for fenced blocks
|
|
33094
|
+
linkify: false, // autoconvert URL-like texts to links
|
|
33149
33095
|
|
|
33096
|
+
// Enable some language-neutral replacements + quotes beautification
|
|
33097
|
+
typographer: false,
|
|
33150
33098
|
|
|
33099
|
+
// Double + single quotes replacement pairs, when typographer enabled,
|
|
33100
|
+
// and smartquotes on. Could be either a String or an Array.
|
|
33101
|
+
//
|
|
33102
|
+
// For example, you can use '«»„“' for Russian, '„“‚‘' for German,
|
|
33103
|
+
// and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
|
|
33104
|
+
quotes: '\u201c\u201d\u2018\u2019', /* “”‘’ */
|
|
33151
33105
|
|
|
33106
|
+
// Highlighter function. Should return escaped HTML,
|
|
33107
|
+
// or '' if the source string is not changed and should be escaped externaly.
|
|
33108
|
+
// If result starts with <pre... internal wrapper is skipped.
|
|
33109
|
+
//
|
|
33110
|
+
// function (/*str, lang*/) { return ''; }
|
|
33111
|
+
//
|
|
33112
|
+
highlight: null,
|
|
33152
33113
|
|
|
33114
|
+
maxNesting: 20 // Internal protection, recursion limit
|
|
33115
|
+
},
|
|
33116
|
+
|
|
33117
|
+
components: {
|
|
33118
|
+
|
|
33119
|
+
core: {
|
|
33120
|
+
rules: [
|
|
33121
|
+
'normalize',
|
|
33122
|
+
'block',
|
|
33123
|
+
'inline'
|
|
33124
|
+
]
|
|
33125
|
+
},
|
|
33126
|
+
|
|
33127
|
+
block: {
|
|
33128
|
+
rules: [
|
|
33129
|
+
'blockquote',
|
|
33130
|
+
'code',
|
|
33131
|
+
'fence',
|
|
33132
|
+
'heading',
|
|
33133
|
+
'hr',
|
|
33134
|
+
'html_block',
|
|
33135
|
+
'lheading',
|
|
33136
|
+
'list',
|
|
33137
|
+
'reference',
|
|
33138
|
+
'paragraph'
|
|
33139
|
+
]
|
|
33140
|
+
},
|
|
33141
|
+
|
|
33142
|
+
inline: {
|
|
33143
|
+
rules: [
|
|
33144
|
+
'autolink',
|
|
33145
|
+
'backticks',
|
|
33146
|
+
'emphasis',
|
|
33147
|
+
'entity',
|
|
33148
|
+
'escape',
|
|
33149
|
+
'html_inline',
|
|
33150
|
+
'image',
|
|
33151
|
+
'link',
|
|
33152
|
+
'newline',
|
|
33153
|
+
'text'
|
|
33154
|
+
],
|
|
33155
|
+
rules2: [
|
|
33156
|
+
'balance_pairs',
|
|
33157
|
+
'emphasis',
|
|
33158
|
+
'text_collapse'
|
|
33159
|
+
]
|
|
33160
|
+
}
|
|
33161
|
+
}
|
|
33162
|
+
};
|
|
33153
33163
|
|
|
33154
|
-
/* harmony default export */ var mixins = __webpack_exports__["default"] = ({
|
|
33155
|
-
recordMixin: recordMixin,
|
|
33156
|
-
sendMixin: sendMixin,
|
|
33157
|
-
XRequest: XRequest,
|
|
33158
|
-
createSendUtils: createSendUtils,
|
|
33159
|
-
streamMixin: streamMixin,
|
|
33160
|
-
createStreamUtils: createStreamUtils,
|
|
33161
|
-
XStream: XStream,
|
|
33162
|
-
splitStream: splitStream,
|
|
33163
|
-
splitPart: splitPart,
|
|
33164
|
-
isValidString: isValidString,
|
|
33165
|
-
DEFAULT_STREAM_SEPARATOR: DEFAULT_STREAM_SEPARATOR,
|
|
33166
|
-
DEFAULT_PART_SEPARATOR: DEFAULT_PART_SEPARATOR,
|
|
33167
|
-
DEFAULT_KV_SEPARATOR: DEFAULT_KV_SEPARATOR
|
|
33168
|
-
});
|
|
33169
33164
|
|
|
33170
33165
|
/***/ }),
|
|
33171
33166
|
/* 83 */
|
|
@@ -33193,7 +33188,7 @@ function createStreamUtils(callbacks = {}) {
|
|
|
33193
33188
|
|
|
33194
33189
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33195
33190
|
// Module
|
|
33196
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-4f88f26a]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.card-motion-enter-active[data-v-4f88f26a],.card-motion-move[data-v-4f88f26a],.card-motion-leave-active[data-v-4f88f26a]{transition:all
|
|
33191
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-4f88f26a]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.card-motion-enter-active[data-v-4f88f26a],.card-motion-move[data-v-4f88f26a],.card-motion-leave-active[data-v-4f88f26a]{transition:all .3s ease;opacity:1;transform:translateX(0)}.card-motion-enter[data-v-4f88f26a],.card-motion-leave-to[data-v-4f88f26a]{opacity:0;transform:translateX(-100%)}.card-motion-leave-active[data-v-4f88f26a]{transform:translateX(100%);opacity:0}.el-x-attachments-file-card-wrap[data-v-4f88f26a]{display:flex;height:100%;align-items:center}.el-x-attachments-upload-placeholder[data-v-4f88f26a]{display:inline-block;width:fit-content;align-self:center;margin:6px}.el-x-attachments-card[data-v-4f88f26a]{display:inline-block;vertical-align:top}.el-x-attachments-card-item[data-v-4f88f26a]{margin:6px}.el-x-attachments-prev-btn[data-v-4f88f26a],.el-x-attachments-next-btn[data-v-4f88f26a]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(0,0,0,.3);color:#fff;border:none;padding:4px 0px;border-radius:3px;transition:background-color .3s ease}.el-x-attachments-prev-btn[data-v-4f88f26a]:hover,.el-x-attachments-next-btn[data-v-4f88f26a]:hover{background-color:rgba(0,0,0,.5)}.el-x-attachments-prev-btn[data-v-4f88f26a]:active,.el-x-attachments-next-btn[data-v-4f88f26a]:active{background-color:rgba(0,0,0,.7)}.el-x-attachments-prev-btn[data-v-4f88f26a]{left:8px;border-top-left-radius:0px;border-bottom-left-radius:0px}.el-x-attachments-next-btn[data-v-4f88f26a]{right:8px;border-top-right-radius:0px;border-bottom-right-radius:0px}.el-x-attachments-background[data-v-4f88f26a]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none}.el-x-attachments-background-start[data-v-4f88f26a]{position:absolute;top:0;left:0;bottom:0;width:50px;background:linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-background-end[data-v-4f88f26a]{position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to left, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-overflow-scrollX[data-v-4f88f26a]{height:100%;scrollbar-width:none}.el-x-attachments-overflow-scrollX[data-v-4f88f26a]::-webkit-scrollbar{display:none}.el-x-attachments-overflow-scrollY[data-v-4f88f26a]{width:100%;height:100%}.el-x-attachments-wrapper[data-v-4f88f26a]{position:relative;display:block}.el-x-attachments-upload-btn[data-v-4f88f26a]{display:flex}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload{border:1px dashed #dcdfe6;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1);box-sizing:border-box;text-align:center}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload:hover{border-color:#409eff}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload:hover .uploader-icon{color:#409eff}.el-x-attachments-upload-btn .uploader-icon[data-v-4f88f26a]{font-size:28px;color:#8c939d;text-align:center;width:var(--el-x-attachments-upload-icon-size);height:var(--el-x-attachments-upload-icon-size);line-height:var(--el-x-attachments-upload-icon-size)}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload-dragger{padding:0;width:auto !important;height:auto !important;background-color:rgba(0,0,0,0)}.el-x-attachments-upload-btn[data-v-4f88f26a] .el-upload-dragger:hover .el-icon{color:#409eff}.el-x-attachments-drop-area[data-v-4f88f26a]{position:absolute !important;top:0 !important;left:0 !important;width:calc(100% - 4px) !important;height:calc(100% - 4px) !important;border-radius:15px !important;border:2px dashed #409eff !important;z-index:9999 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;background:rgba(225,225,225,.8) !important;backdrop-filter:blur(4px) !important;animation:dragAreaShow-4f88f26a .3s ease-in-out !important;pointer-events:none !important}.el-x-attachments-drop-area-icon[data-v-4f88f26a]{font-size:50px !important;color:#409eff !important;animation:bounce-4f88f26a 1s infinite alternate !important}.el-x-attachments-drop-area-text[data-v-4f88f26a]{font-size:16px !important;color:#409eff !important;margin-top:10px !important;text-align:center !important;width:100% !important;max-width:300px !important;font-weight:bold !important}@keyframes dragAreaShow-4f88f26a{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-4f88f26a{from{transform:translateY(0)}to{transform:translateY(-10px)}}", ""]);
|
|
33197
33192
|
// Exports
|
|
33198
33193
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33199
33194
|
|
|
@@ -33209,7 +33204,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-4f88f26a]:root{--color-primary:
|
|
|
33209
33204
|
|
|
33210
33205
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33211
33206
|
// Module
|
|
33212
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-1c7b8442]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-bubble-list[data-v-1c7b8442]{display:flex;flex-direction:column;gap:16px;min-height:0;max-height:var(--el-x-bubble-list-max-height);overflow:auto;scroll-behavior:smooth;position:relative}.el-x-bubble-list[data-v-1c7b8442]::-webkit-scrollbar{width:6px;height:8px}.el-x-bubble-list[data-v-1c7b8442]::-webkit-scrollbar-thumb{background:
|
|
33207
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-1c7b8442]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-bubble-list[data-v-1c7b8442]{display:flex;flex-direction:column;gap:16px;min-height:0;max-height:var(--el-x-bubble-list-max-height);overflow:auto;scroll-behavior:smooth;position:relative}.el-x-bubble-list[data-v-1c7b8442]::-webkit-scrollbar{width:6px;height:8px}.el-x-bubble-list[data-v-1c7b8442]::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);background-color:rgba(0,0,0,.2);border-radius:10px;transition:background-color .2s ease-in-out}.el-x-bubble-list[data-v-1c7b8442]::-webkit-scrollbar-track{border-radius:10px;background:rgba(0,0,0,0)}.el-x-bubble-list[data-v-1c7b8442]:hover::-webkit-scrollbar-thumb{background:#c1c1c1}.el-x-bubble-list[data-v-1c7b8442]:hover::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.el-x-bubble-list.always-scrollbar[data-v-1c7b8442]::-webkit-scrollbar-thumb{background:#c1c1c1}.el-x-bubble-list.always-scrollbar[data-v-1c7b8442]:hover::-webkit-scrollbar-thumb{background:#a8a8a8}@supports(scrollbar-color: auto){.el-x-bubble-list[data-v-1c7b8442]{scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0);scrollbar-width:thin}.el-x-bubble-list[data-v-1c7b8442]:hover{scrollbar-color:#c1c1c1 rgba(0,0,0,0)}.el-x-bubble-list.always-scrollbar[data-v-1c7b8442]{scrollbar-color:#c1c1c1 rgba(0,0,0,0)}}.el-x-bubble-list-default-back-button[data-v-1c7b8442]{position:sticky;user-select:none;cursor:pointer;width:40px;height:40px;padding:10px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%;box-shadow:0 0 4px 0 rgba(0,0,0,.02),0 6px 10px 0 rgba(47,53,64,.1);transition:all .3s ease;z-index:100}.el-x-bubble-list-default-back-button[data-v-1c7b8442]:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.el-x-bubble-list-default-back-button .el-x-bubble-list-back-to-bottom-icon[data-v-1c7b8442]{font-size:var(--el-x-bubble-list-btn-size);position:relative}.el-x-bubble-list-default-back-button .el-x-bubble-list-back-to-bottom-icon .back-to-bottom-loading-svg-bg[data-v-1c7b8442]{position:absolute;font-size:calc(var(--el-x-bubble-list-btn-size) + 26px);animation:is-loading-1c7b8442 1s infinite linear;width:40px;height:40px}@keyframes is-loading-1c7b8442{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.el-x-bubble-list-default-back-button .back-to-bottom-loading-svg-bg[data-v-1c7b8442]{position:absolute;font-size:calc(var(--el-x-bubble-list-btn-size) + 26px);animation:is-loading-1c7b8442 1s infinite linear;width:40px;height:40px}@keyframes is-loading-1c7b8442{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.el-x-bubble-list-back-to-bottom-solt[data-v-1c7b8442]{position:sticky;user-select:none;cursor:initial;width:fit-content;height:fit-content;padding:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;box-shadow:initial}.el-x-bubble-list-back-to-bottom-solt[data-v-1c7b8442]:hover{transform:translateY(0px);box-shadow:initial}", ""]);
|
|
33213
33208
|
// Exports
|
|
33214
33209
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33215
33210
|
|
|
@@ -33225,7 +33220,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-1c7b8442]:root{--color-primary:
|
|
|
33225
33220
|
|
|
33226
33221
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33227
33222
|
// Module
|
|
33228
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-conversations-container{display:flex;flex-direction:column;height:100%;position:relative;width:fit-content;box-sizing:border-box;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0
|
|
33223
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-conversations-container{display:flex;flex-direction:column;height:100%;position:relative;width:fit-content;box-sizing:border-box;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.el-x-conversations-list{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;box-sizing:border-box}.el-x-conversations-scroll-wrapper{flex:1;overflow:hidden;position:relative}.el-x-conversations-scroll-wrapper::after{content:\"\";position:absolute;top:0;right:0;width:8px;height:100%;background-color:rgba(0,0,0,0);pointer-events:none}.el-x-conversations-load-more{display:flex;width:calc(100% - 20px);padding:14px 10px;justify-content:center;align-items:center;font-size:12px;gap:3px;color:#909399;background-color:var(--conversation-list-auto-bg-color, #fff);margin-right:20px;border-radius:8px;height:auto;min-height:var(--conversation-label-height, 20px);box-sizing:border-box}.el-x-conversations-load-more-is-loading{margin-top:2px;animation:spinloading 2s linear infinite}@keyframes spinloading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.scroll-content{min-height:100%}.loading-more{text-align:center;padding:10px 0;color:#909399;font-size:14px}.el-x-conversation-group{position:relative}.el-x-conversation-group:last-child{margin-bottom:0}.el-x-conversation-group .el-x-conversation-group-title{font-size:14px;color:#909399;padding:8px 0;font-weight:500;margin-bottom:4px;border-radius:4px;border-top-left-radius:0px;border-top-right-radius:0px;width:calc(100% - 10px);box-sizing:border-box}.el-x-conversation-group .sticky-title{position:sticky;top:0;z-index:20;background-color:var(--conversation-list-auto-bg-color, #fff)}.el-x-conversation-group .active-sticky{z-index:10}.el-x-conversation-group .el-x-conversation-group-items{padding-top:0}.scroll-to-top-btn{position:absolute;right:16px;bottom:16px;z-index:99;opacity:.8;transition:opacity .3s}.scroll-to-top-btn:hover{opacity:1}.el-x-conversation-item{padding:14px 10px;margin-right:20px;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.el-x-conversation-item+.el-x-conversation-item{margin-top:4px}.el-x-conversation-item.disabled{opacity:.5;cursor:not-allowed;color:#c0c4cc}.el-x-conversation-item.active{background-color:#f0f0f0}.el-x-conversation-item.hovered,.el-x-conversation-item:hover{background-color:#f0f0f0}.el-x-conversation-item.menu-opened{background-color:#f0f0f0}.el-x-conversation-content{display:flex;align-items:center;height:var(--conversation-label-height, 20px)}.el-x-conversation-content .el-x-conversation-prefix-icon{margin-right:8px;display:flex;justify-content:center;align-items:center}.el-x-conversation-content .el-x-conversation-content-main{flex:1;display:flex;align-items:center;position:relative;overflow:hidden}.el-x-conversation-content .el-x-conversation-label-container{flex:1;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.el-x-conversation-content .el-x-conversation-label{font-size:14px;color:#303133;position:relative;white-space:nowrap}.el-x-conversation-content .el-x-conversation-label.text-gradient{mask-image:linear-gradient(to right, black 60%, transparent 100%);-webkit-mask-image:linear-gradient(to right, black 60%, transparent 100%)}.el-x-conversation-content .el-x-conversation-timestamp{font-size:14px;color:#909399;margin-left:8px}.el-x-conversation-content .el-x-conversation-suffix-icon{margin-left:8px;display:flex;justify-content:center;align-items:center}.el-x-conversation-content .el-x-conversation-dropdown-more{justify-self:center;height:100%;display:flex;align-items:center}.el-x-conversation-content .el-x-conversation-dropdown-more-icon{font-size:16px;padding:2px;border-radius:5px}.el-x-conversation-content .el-x-conversation-dropdown-more-icon:hover{background-color:#d3d3d3}.el-x-conversation-content .el-x-conversation-menu{margin-left:8px;display:flex;align-items:center;opacity:0;transition:opacity .2s ease}.hovered .el-x-conversation-content .el-x-conversation-menu,.active .el-x-conversation-content .el-x-conversation-menu{opacity:1}.el-x-conversation-dropdown-menu{max-height:300px;overflow-y:auto}.el-x-conversations-scrollbar{height:100%;overflow-y:auto}.el-x-conversations-scrollbar::-webkit-scrollbar{width:6px}.el-x-conversations-scrollbar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0);border-radius:3px;transition:background-color .3s ease}.el-x-conversations-scrollbar::-webkit-scrollbar-track{background-color:rgba(0,0,0,0)}.el-x-conversations-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#e0e0e0}@supports(scrollbar-width: thin){.el-x-conversations-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0) rgba(0,0,0,0)}.el-x-conversations-scrollbar:hover{scrollbar-color:#e0e0e0 rgba(0,0,0,0)}}", ""]);
|
|
33229
33224
|
// Exports
|
|
33230
33225
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33231
33226
|
|
|
@@ -33241,7 +33236,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-conversations-container{display:f
|
|
|
33241
33236
|
|
|
33242
33237
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33243
33238
|
// Module
|
|
33244
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-ee2290d4]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-prompts[data-v-ee2290d4]{max-width:100%}.el-x-prompts[data-v-ee2290d4],.el-x-prompts *[data-v-ee2290d4]{box-sizing:border-box}.el-x-prompts.el-x-prompts-rtl[data-v-ee2290d4]{direction:rtl}.el-x-prompts .el-x-prompts-title[data-v-ee2290d4]{font-weight:normal;font-size:16px;color:#909399;margin-top:0;margin-bottom
|
|
33239
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-ee2290d4]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-prompts[data-v-ee2290d4]{max-width:100%}.el-x-prompts[data-v-ee2290d4],.el-x-prompts *[data-v-ee2290d4]{box-sizing:border-box}.el-x-prompts.el-x-prompts-rtl[data-v-ee2290d4]{direction:rtl}.el-x-prompts .el-x-prompts-title[data-v-ee2290d4]{font-weight:normal;font-size:16px;color:#909399;margin-top:0;margin-bottom:.5em}.el-x-prompts .el-x-prompts-list[data-v-ee2290d4]{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;list-style:none;padding-left:0;margin:0;align-items:stretch}.el-x-prompts .el-x-prompts-list[data-v-ee2290d4]::-webkit-scrollbar{display:none}.el-x-prompts .el-x-prompts-list-wrap[data-v-ee2290d4]{flex-wrap:wrap}.el-x-prompts .el-x-prompts-list-vertical[data-v-ee2290d4]{flex-direction:column;align-items:flex-start}@media screen and (max-width: 768px){.el-x-prompts .el-x-prompts-list[data-v-ee2290d4]{flex-wrap:wrap;gap:8px}.el-x-prompts .el-x-prompts-list-wrap[data-v-ee2290d4]{justify-content:space-between}}.el-x-prompts .el-x-prompts-item[data-v-ee2290d4]{flex:none;display:flex;gap:4px;height:auto;padding:12px 18px;align-items:flex-start;justify-content:flex-start;background:#fff;border-radius:8px;transition:border all .3s cubic-bezier(0.645, 0.045, 0.355, 1),background all .3s cubic-bezier(0.645, 0.045, 0.355, 1);border:1px solid #ebeef5}@media screen and (max-width: 768px){.el-x-prompts .el-x-prompts-item[data-v-ee2290d4]{width:calc(50% - 4px);min-width:150px;padding:8px 12px}.el-x-prompts-list-wrap .el-x-prompts .el-x-prompts-item[data-v-ee2290d4]{width:calc(50% - 4px);margin-bottom:8px}.el-x-prompts-list-vertical .el-x-prompts .el-x-prompts-item[data-v-ee2290d4]{width:100%}}.el-x-prompts .el-x-prompts-item[data-v-ee2290d4]:not(.el-x-prompts-item-has-nest):hover{cursor:pointer;background:#f5f7fa}.el-x-prompts .el-x-prompts-item[data-v-ee2290d4]:not(.el-x-prompts-item-has-nest):active{background:rgb(235.9,245.3,255)}.el-x-prompts .el-x-prompts-item .el-x-prompts-content[data-v-ee2290d4]{flex:auto;min-width:0;display:flex;gap:4px;flex-direction:column;align-items:flex-start}@media screen and (max-width: 768px){.el-x-prompts .el-x-prompts-item .el-x-prompts-content[data-v-ee2290d4]{width:100%;gap:2px}}.el-x-prompts .el-x-prompts-item .el-x-prompts-icon[data-v-ee2290d4],.el-x-prompts .el-x-prompts-item .el-x-prompts-label[data-v-ee2290d4],.el-x-prompts .el-x-prompts-item .el-x-prompts-desc[data-v-ee2290d4]{margin:0;padding:0;font-size:14px;line-height:24px;text-align:start;white-space:normal}@media screen and (max-width: 768px){.el-x-prompts .el-x-prompts-item .el-x-prompts-icon[data-v-ee2290d4],.el-x-prompts .el-x-prompts-item .el-x-prompts-label[data-v-ee2290d4],.el-x-prompts .el-x-prompts-item .el-x-prompts-desc[data-v-ee2290d4]{font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.el-x-prompts .el-x-prompts-item .el-x-prompts-label[data-v-ee2290d4]{color:#303133;font-weight:500}.el-x-prompts .el-x-prompts-item .el-x-prompts-label+.el-x-prompts-desc[data-v-ee2290d4]{color:#909399}.el-x-prompts .el-x-prompts-item.el-x-prompts-item-disabled[data-v-ee2290d4]{pointer-events:none;background:#f5f7fa}.el-x-prompts .el-x-prompts-item.el-x-prompts-item-disabled .el-x-prompts-label[data-v-ee2290d4],.el-x-prompts .el-x-prompts-item.el-x-prompts-item-disabled .el-x-prompts-desc[data-v-ee2290d4]{color:#909399}.el-x-prompts .el-x-prompts-item-has-nest>.el-x-prompts-content>.el-x-prompts-label[data-v-ee2290d4]{font-size:18px;line-height:24px}.el-x-prompts.el-x-prompts-nested[data-v-ee2290d4]{margin-top:5px;align-self:stretch}.el-x-prompts.el-x-prompts-nested .el-x-prompts-list[data-v-ee2290d4]{align-items:stretch}.el-x-prompts.el-x-prompts-nested .el-x-prompts-item[data-v-ee2290d4]{border:0;background:#f5f7fa}", ""]);
|
|
33245
33240
|
// Exports
|
|
33246
33241
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33247
33242
|
|
|
@@ -33257,7 +33252,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-ee2290d4]:root{--color-primary:
|
|
|
33257
33252
|
|
|
33258
33253
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33259
33254
|
// Module
|
|
33260
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button .el-icon-brush[data-v-74c70621]{transform:rotate(180deg)}
|
|
33255
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button .el-icon-brush[data-v-74c70621]{transform:rotate(180deg)}", ""]);
|
|
33261
33256
|
// Exports
|
|
33262
33257
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33263
33258
|
|
|
@@ -33273,7 +33268,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button .el-icon-b
|
|
|
33273
33268
|
|
|
33274
33269
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33275
33270
|
// Module
|
|
33276
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button[data-v-4d4a8cac]{height:32px}.el-x-send-button .el-button[data-v-4d4a8cac]{padding:0;width:32px;height:32px}.el-x-send-button .loading-svg[data-v-4d4a8cac]{color:#
|
|
33271
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button[data-v-4d4a8cac]{height:32px}.el-x-send-button .el-button[data-v-4d4a8cac]{padding:0;width:32px;height:32px}.el-x-send-button .loading-svg[data-v-4d4a8cac]{color:#409eff;width:100%}", ""]);
|
|
33277
33272
|
// Exports
|
|
33278
33273
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33279
33274
|
|
|
@@ -33289,7 +33284,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button[data-v-4d4a8cac]{heig
|
|
|
33289
33284
|
|
|
33290
33285
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33291
33286
|
// Module
|
|
33292
|
-
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button[data-v-1d4ab0c1]{padding:0;width:32px;height:32px}.el-x-send-button .loading-svg[data-v-1d4ab0c1]{color:#
|
|
33287
|
+
___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button[data-v-1d4ab0c1]{padding:0;width:32px;height:32px}.el-x-send-button .loading-svg[data-v-1d4ab0c1]{color:#409eff;width:16px}", ""]);
|
|
33293
33288
|
// Exports
|
|
33294
33289
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33295
33290
|
|
|
@@ -33305,7 +33300,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ".el-x-send-button .el-button[data-v-1d4
|
|
|
33305
33300
|
|
|
33306
33301
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33307
33302
|
// Module
|
|
33308
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-34a8749b]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}[data-v-34a8749b]:root{--el-x-sender-trigger-popover-width: fit-content;--el-x-sender-trigger-popover-left: 0px}.el-x-sender[data-v-34a8749b]{width:100%;display:flex;flex-direction:column;position:relative;box-sizing:border-box;box-shadow:0 1px 2px 0 rgba(0,0,0
|
|
33303
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-34a8749b]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}[data-v-34a8749b]:root{--el-x-sender-trigger-popover-width: fit-content;--el-x-sender-trigger-popover-left: 0px}.el-x-sender[data-v-34a8749b]{width:100%;display:flex;flex-direction:column;position:relative;box-sizing:border-box;box-shadow:0 1px 2px 0 rgba(0,0,0,.03),0 1px 6px -1px rgba(0,0,0,.02),0 2px 4px 0 rgba(0,0,0,.02);transition:background .3s;border-radius:calc(4px*2);border-color:#dcdfe6;border-width:0;border-style:solid;transition:width 300ms}.el-x-sender[data-v-34a8749b]:after{content:\"\";position:absolute;inset:0;pointer-events:none;transition:border-color .3s;border-radius:inherit;border-style:inherit;border-color:inherit;border-width:1px}.el-x-sender[data-v-34a8749b]:focus-within{box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04);border-color:#409eff}.el-x-sender[data-v-34a8749b]:focus-within::after{border-width:2px}.el-x-sender .el-x-sender-header-wrap[data-v-34a8749b]{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0}.el-x-sender .slide-enter-active[data-v-34a8749b],.el-x-sender .slide-leave-active[data-v-34a8749b]{transition:height 300ms,opacity 300ms,border 300ms;overflow:hidden}.el-x-sender .slide-enter[data-v-34a8749b],.el-x-sender .slide-leave-to[data-v-34a8749b]{height:0;opacity:0}.el-x-sender .el-x-sender-header[data-v-34a8749b]{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dcdfe6}.el-x-sender .el-x-sender-content[data-v-34a8749b]{display:flex;gap:8px;width:100%;padding-block:12px;padding-inline-start:16px;padding-inline-end:12px;box-sizing:border-box;align-items:flex-end}.el-x-sender .el-x-sender-content .el-x-sender-prefix[data-v-34a8749b]{flex:none}.el-x-sender .el-x-sender-content .el-x-sender-input[data-v-34a8749b]{height:100%;display:flex;align-items:center;align-self:center}.el-x-sender .el-x-sender-content .el-x-sender-input[data-v-34a8749b] .el-textarea__inner{padding:0;margin:0;color:#303133;font-size:14px;line-height:24px;list-style:none;position:relative;display:inline-block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:auto;min-height:auto !important;border-radius:0;border:none;flex:auto;align-self:center;vertical-align:bottom;resize:none;background-color:rgba(0,0,0,0);transition:all .3s,height 0s;box-shadow:none !important}.el-x-sender .el-x-sender-content .el-x-sender-action-list-presets[data-v-34a8749b]{display:flex;gap:8px;flex-direction:row-reverse}.el-x-sender .content-variant-updown[data-v-34a8749b]{display:flex;flex-direction:column;align-items:initial}.el-x-sender .content-variant-updown .el-x-sender-updown-wrap[data-v-34a8749b]{display:flex;justify-content:space-between;gap:8px}.el-x-sender .content-variant-updown .el-x-sender-updown-wrap .el-x-sender-prefix[data-v-34a8749b]{flex:initial}.el-x-sender .content-variant-updown .el-x-sender-updown-wrap .el-x-sender-action-list[data-v-34a8749b]{margin-left:auto}.el-x-sender .el-x-sender-footer[data-v-34a8749b]{border-top-width:1px;border-top-style:solid;border-top-color:#dcdfe6}.el-x-sender-disabled[data-v-34a8749b]{background-color:#f5f7fa;pointer-events:none}.el-x-sender-trigger-popover[data-v-34a8749b]{width:fit-content !important;margin-left:0px !important;max-width:calc(100% - 54px) !important;width:var(--el-x-sender-trigger-popover-width) !important;margin-left:var(--el-x-sender-trigger-popover-left) !important}", ""]);
|
|
33309
33304
|
// Exports
|
|
33310
33305
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33311
33306
|
|
|
@@ -33321,7 +33316,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-34a8749b]:root{--color-primary:
|
|
|
33321
33316
|
|
|
33322
33317
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33323
33318
|
// Module
|
|
33324
|
-
___CSS_LOADER_EXPORT___.push([module.i, ":root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-think{font-family:system-ui,
|
|
33319
|
+
___CSS_LOADER_EXPORT___.push([module.i, ":root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-think{font-family:system-ui,sans-serif;margin:0 auto}.el-x-think .trigger{display:flex;align-items:center;height:100%;width:var(--el-x-think-button-width);gap:8px;padding:8px 12px;border:1px solid #dcdfe6;border-radius:8px;background:#fff;cursor:pointer;margin-bottom:8px}.el-x-think .trigger .el-icon-center{height:100%;display:flex;align-items:center}.el-x-think .trigger .start-color{color:#e6a23c}.el-x-think .trigger .end-color{color:#67c23a}.el-x-think .trigger .is-loading{color:#409eff}.el-x-think .trigger .error-color{color:#f56c6c}.el-x-think .trigger:hover{background:#f8f8f8}.el-x-think .trigger.disabled{cursor:pointer}.el-x-think .trigger:disabled{cursor:not-allowed;opacity:.7}.el-x-think .status-icon{font-size:1.2em}.el-x-think .arrow{margin-left:auto;transition:transform var(--el-x-think-animation-duration)}.el-x-think .arrow.expanded{transform:rotate(180deg)}.el-x-think .slide-enter-active,.el-x-think .slide-leave-active{transition:height var(--el-x-think-animation-duration) ease-in-out,opacity var(--el-x-think-animation-duration) ease-in-out;overflow:hidden}.el-x-think .slide-enter,.el-x-think .slide-leave-to{height:0 !important;opacity:0}.el-x-think .content-wrapper{box-sizing:border-box;min-width:0}.el-x-think .content-wrapper.error-state{border-color:#ffd0d0;background:#fff0f0}.el-x-think .content pre{border:1px solid #dcdfe6;background:var(--el-x-think-content-wrapper-background-color);padding:8px 12px;border-radius:8px;max-width:var(--el-x-think-content-wrapper-width);font-size:14px;color:var(--el-x-think-content-wrapper-color);white-space:pre-wrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0;line-height:24px}.el-x-think .error-message{color:#f56c6c;height:fit-content;padding:8px;background:#ffeef0;border-radius:4px}.el-x-think .rotate-enter-active,.el-x-think .rotate-leave-active{transition:transform var(--el-x-think-animation-duration)}.el-x-think .rotate-enter,.el-x-think .rotate-leave-to{transform:rotate(0deg)}", ""]);
|
|
33325
33320
|
// Exports
|
|
33326
33321
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33327
33322
|
|
|
@@ -33337,7 +33332,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, ":root{--color-primary: #409EFF;--color-
|
|
|
33337
33332
|
|
|
33338
33333
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33339
33334
|
// Module
|
|
33340
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-6fb5dcd7]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-thinking[data-v-6fb5dcd7]{margin:0 auto}.trigger[data-v-6fb5dcd7]{display:flex;align-items:center;height:100%;width:var(--el-x-thinking-button-width);gap:4px;padding:8px
|
|
33335
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-6fb5dcd7]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-thinking[data-v-6fb5dcd7]{margin:0 auto}.trigger[data-v-6fb5dcd7]{display:flex;align-items:center;height:100%;width:var(--el-x-thinking-button-width);gap:4px;padding:8px 12px;border:1px solid #dcdfe6;border-radius:8px;background:#fff;cursor:pointer;margin-bottom:4px}.trigger .el-icon-center[data-v-6fb5dcd7]{height:100%;display:flex;align-items:center}.trigger .start-color[data-v-6fb5dcd7]{color:#e6a23c}.trigger .end-color[data-v-6fb5dcd7]{color:#67c23a}.trigger .is-loading[data-v-6fb5dcd7]{color:#409eff}.trigger .error-color[data-v-6fb5dcd7]{color:#f56c6c}.trigger[data-v-6fb5dcd7]:hover{background:#f5f7fa}.trigger.disabled[data-v-6fb5dcd7]{cursor:pointer}.trigger[data-v-6fb5dcd7]:disabled{cursor:not-allowed;opacity:.7}.status-icon[data-v-6fb5dcd7]{font-size:16px}.arrow[data-v-6fb5dcd7]{margin-left:auto;transition:transform var(--el-x-thinking-animation-duration)}.arrow.expanded[data-v-6fb5dcd7]{transform:rotate(180deg)}.slide-enter-active[data-v-6fb5dcd7],.slide-leave-active[data-v-6fb5dcd7]{height:max-content;transition:height var(--el-x-thinking-animation-duration) ease-in-out,opacity var(--el-x-thinking-animation-duration) ease-in-out;overflow:hidden}.slide-enter-from[data-v-6fb5dcd7],.slide-leave-to[data-v-6fb5dcd7]{height:0 !important;opacity:0}.content-wrapper[data-v-6fb5dcd7]{box-sizing:border-box;min-width:0}.content pre[data-v-6fb5dcd7]{border:1px solid #dcdfe6;background:var(--el-x-thinking-content-wrapper-background-color);padding:8px 12px;border-radius:8px;max-width:var(--el-x-thinking-content-wrapper-width);font-size:14px;color:var(--el-x-thinking-content-wrapper-color);white-space:pre-wrap;margin:0;line-height:24px}.error-state[data-v-6fb5dcd7]{border-color:rgb(254,240.3,240.3);background:rgb(254,240.3,240.3)}.error-message[data-v-6fb5dcd7]{color:#f56c6c;height:fit-content;padding:4px;background:rgb(254,240.3,240.3);border-radius:8px}", ""]);
|
|
33341
33336
|
// Exports
|
|
33342
33337
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33343
33338
|
|
|
@@ -33353,7 +33348,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-6fb5dcd7]:root{--color-primary:
|
|
|
33353
33348
|
|
|
33354
33349
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33355
33350
|
// Module
|
|
33356
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-49e41fca]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-thoughtchain-item-dot[data-v-49e41fca]{display:flex;justify-content:center;align-items:center}.el-x-thoughtchain-item-dot .el-button[data-v-49e41fca]{cursor:default !important}.el-x-thoughtchain .el-collapse[data-v-49e41fca]{border:none}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca]{height:20px;font-weight:normal}.el-x-thoughtchain .el-collapse .el-collapse-item__arrow[data-v-49e41fca]{margin:0 0 0 8px}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca]{margin-bottom:5px}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca],.el-x-thoughtchain .el-collapse .el-collapse-item__wrap[data-v-49e41fca]{border:none}.el-x-thoughtchain .el-collapse .el-collapse-item__content[data-v-49e41fca]{color:#909399;padding:0}.el-x-thoughtchain .el-timeline[data-v-49e41fca]{padding:10px 0 0 5px}.el-x-thoughtchain .el-timeline-item__timestamp[data-v-49e41fca]{color:#303133}.el-x-thoughtchain .el-timeline-item__content[data-v-49e41fca]{color:#909399}.el-x-thoughtchain .el-timeline-item[data-v-49e41fca]{list-style:none !important}.thought-chain-move[data-v-49e41fca],.thought-chain-enter-active[data-v-49e41fca],.thought-chain-leave-active[data-v-49e41fca]{transition:all
|
|
33351
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-49e41fca]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-thoughtchain-item-dot[data-v-49e41fca]{display:flex;justify-content:center;align-items:center}.el-x-thoughtchain-item-dot .el-button[data-v-49e41fca]{cursor:default !important}.el-x-thoughtchain .el-collapse[data-v-49e41fca]{border:none}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca]{height:20px;font-weight:normal}.el-x-thoughtchain .el-collapse .el-collapse-item__arrow[data-v-49e41fca]{margin:0 0 0 8px}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca]{margin-bottom:5px}.el-x-thoughtchain .el-collapse .el-collapse-item__header[data-v-49e41fca],.el-x-thoughtchain .el-collapse .el-collapse-item__wrap[data-v-49e41fca]{border:none}.el-x-thoughtchain .el-collapse .el-collapse-item__content[data-v-49e41fca]{color:#909399;padding:0}.el-x-thoughtchain .el-timeline[data-v-49e41fca]{padding:10px 0 0 5px}.el-x-thoughtchain .el-timeline-item__timestamp[data-v-49e41fca]{color:#303133}.el-x-thoughtchain .el-timeline-item__content[data-v-49e41fca]{color:#909399}.el-x-thoughtchain .el-timeline-item[data-v-49e41fca]{list-style:none !important}.thought-chain-move[data-v-49e41fca],.thought-chain-enter-active[data-v-49e41fca],.thought-chain-leave-active[data-v-49e41fca]{transition:all .5s ease}.thought-chain-enter[data-v-49e41fca],.thought-chain-leave-to[data-v-49e41fca]{opacity:0;transform:translateY(10px) scaleY(0.9)}.thought-chain-leave-active[data-v-49e41fca]{position:absolute}.el-x-thoughtchain-loading[data-v-49e41fca]{animation:thoughtchain-rotating-49e41fca 1.5s linear infinite;transform-origin:center center;will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased}@keyframes thoughtchain-rotating-49e41fca{0%{transform:rotate(0deg)}25%{transform:rotate(90deg)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg)}100%{transform:rotate(360deg)}}", ""]);
|
|
33357
33352
|
// Exports
|
|
33358
33353
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33359
33354
|
|
|
@@ -33369,7 +33364,7 @@ ___CSS_LOADER_EXPORT___.push([module.i, "[data-v-49e41fca]:root{--color-primary:
|
|
|
33369
33364
|
|
|
33370
33365
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
33371
33366
|
// Module
|
|
33372
|
-
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-68cfb339]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-welcome[data-v-68cfb339]{--border-radius: 4px;--icon-size: 64px;--icon-size-small: 48px;--icon-size-mobile: 40px;--gap: 16px;--gap-small: 8px;--gap-mobile: 12px;--gap-small-mobile: 6px;--padding: 24px;--padding-mobile: 16px;--title-font-size: 16px;--title-font-size-mobile: 14px;--description-font-size: 14px;--description-font-size-mobile: 13px;--color-filled-bg: #e6f4ff;--color-filled-border: #91caff;--color-title: #303133;--color-description: #606266;display:flex;gap:var(--gap);padding:var(--padding);border-radius:var(--border-radius)}.el-x-welcome.el-x-welcome-filled[data-v-68cfb339]{background-color:var(--color-filled-bg);border:1px solid var(--color-filled-border)}.el-x-welcome.el-x-welcome-borderless[data-v-68cfb339]{border:none}.el-x-welcome.el-x-welcome-rtl[data-v-68cfb339]{direction:rtl}@media
|
|
33367
|
+
___CSS_LOADER_EXPORT___.push([module.i, "[data-v-68cfb339]:root{--color-primary: #409EFF;--color-success: #67C23A;--color-warning: #E6A23C;--color-danger: #F56C6C;--color-info: #909399}.el-x-welcome[data-v-68cfb339]{--border-radius: 4px;--icon-size: 64px;--icon-size-small: 48px;--icon-size-mobile: 40px;--gap: 16px;--gap-small: 8px;--gap-mobile: 12px;--gap-small-mobile: 6px;--padding: 24px;--padding-mobile: 16px;--title-font-size: 16px;--title-font-size-mobile: 14px;--description-font-size: 14px;--description-font-size-mobile: 13px;--color-filled-bg: #e6f4ff;--color-filled-border: #91caff;--color-title: #303133;--color-description: #606266;display:flex;gap:var(--gap);padding:var(--padding);border-radius:var(--border-radius)}.el-x-welcome.el-x-welcome-filled[data-v-68cfb339]{background-color:var(--color-filled-bg);border:1px solid var(--color-filled-border)}.el-x-welcome.el-x-welcome-borderless[data-v-68cfb339]{border:none}.el-x-welcome.el-x-welcome-rtl[data-v-68cfb339]{direction:rtl}@media(max-width: 768px){.el-x-welcome[data-v-68cfb339]{--gap: var(--gap-mobile);--gap-small: var(--gap-small-mobile);--padding: var(--padding-mobile);--title-font-size: var(--title-font-size-mobile);--description-font-size: var(--description-font-size-mobile);gap:var(--gap-mobile);padding:var(--padding-mobile)}}@media(max-width: 480px){.el-x-welcome[data-v-68cfb339]{--icon-size: var(--icon-size-mobile);--padding: 12px;--gap: 8px;--gap-small: 4px;flex-direction:column;align-items:center;text-align:center;padding:12px;gap:8px}.el-x-welcome.el-x-welcome-rtl[data-v-68cfb339]{direction:ltr}}@media(max-width: 320px){.el-x-welcome[data-v-68cfb339]{--padding: 8px;--gap: 6px;--icon-size: 32px;padding:8px;gap:6px}}.el-x-welcome-icon[data-v-68cfb339]{flex:0 0 auto;width:var(--icon-size);height:var(--icon-size);display:flex;align-items:center;justify-content:center;border-radius:calc(var(--border-radius)/2);overflow:hidden;font-size:24px}.el-x-welcome-icon .icon-image[data-v-68cfb339]{width:100%;height:100%;object-fit:contain;padding:4px}@media(max-width: 768px){.el-x-welcome-icon[data-v-68cfb339]{width:var(--icon-size-small);height:var(--icon-size-small);font-size:20px}}@media(max-width: 480px){.el-x-welcome-icon[data-v-68cfb339]{width:var(--icon-size-mobile);height:var(--icon-size-mobile);font-size:16px;margin-bottom:4px}.el-x-welcome-icon .icon-image[data-v-68cfb339]{padding:2px}}@media(max-width: 320px){.el-x-welcome-icon[data-v-68cfb339]{width:32px;height:32px;font-size:14px}}.content-wrapper[data-v-68cfb339]{flex:1;display:flex;flex-direction:column;gap:var(--gap-small)}@media(max-width: 480px){.content-wrapper[data-v-68cfb339]{align-items:center;text-align:center;width:100%;gap:var(--gap-small-mobile)}}.title-wrapper[data-v-68cfb339]{display:flex;justify-content:space-between;align-items:center;gap:var(--gap-small)}@media(max-width: 768px){.title-wrapper[data-v-68cfb339]{gap:var(--gap-small-mobile)}}@media(max-width: 480px){.title-wrapper[data-v-68cfb339]{flex-direction:column;align-items:center;gap:4px;width:100%}}@media(max-width: 320px){.title-wrapper[data-v-68cfb339]{gap:2px}}.el-x-welcome-title[data-v-68cfb339]{margin:0;font-size:var(--title-font-size);font-weight:600;color:var(--color-title);word-break:break-word}@media(max-width: 768px){.el-x-welcome-title[data-v-68cfb339]{font-size:var(--title-font-size-mobile)}}@media(max-width: 480px){.el-x-welcome-title[data-v-68cfb339]{font-size:14px;text-align:center;line-height:1.4}}@media(max-width: 320px){.el-x-welcome-title[data-v-68cfb339]{font-size:13px}}.el-x-welcome-extra[data-v-68cfb339]{flex-shrink:0;display:flex;align-items:center;gap:var(--gap-small)}.el-x-welcome-extra .el-dropdown[data-v-68cfb339],.el-x-welcome-extra .el-button[data-v-68cfb339],.el-x-welcome-extra .el-link[data-v-68cfb339]{flex-shrink:0}@media(max-width: 768px){.el-x-welcome-extra[data-v-68cfb339]{gap:var(--gap-small-mobile)}.el-x-welcome-extra .el-button[data-v-68cfb339]{font-size:12px;padding:6px 12px}}@media(max-width: 480px){.el-x-welcome-extra[data-v-68cfb339]{justify-content:center;flex-wrap:wrap;gap:4px}.el-x-welcome-extra .el-button[data-v-68cfb339]{font-size:12px;padding:4px 8px;min-height:28px}.el-x-welcome-extra .el-dropdown .el-button[data-v-68cfb339]{font-size:12px;padding:4px 8px}.el-x-welcome-extra .el-link[data-v-68cfb339]{font-size:12px}}@media(max-width: 320px){.el-x-welcome-extra .el-button[data-v-68cfb339]{font-size:11px;padding:3px 6px;min-height:24px}}.el-x-welcome-description[data-v-68cfb339]{margin:0;font-size:var(--description-font-size);color:var(--color-description);line-height:1.5;word-break:break-word}@media(max-width: 768px){.el-x-welcome-description[data-v-68cfb339]{font-size:var(--description-font-size-mobile);line-height:1.4}}@media(max-width: 480px){.el-x-welcome-description[data-v-68cfb339]{font-size:13px;line-height:1.4;text-align:center}}@media(max-width: 320px){.el-x-welcome-description[data-v-68cfb339]{font-size:12px;line-height:1.3}}", ""]);
|
|
33373
33368
|
// Exports
|
|
33374
33369
|
/* harmony default export */ __webpack_exports__["a"] = (___CSS_LOADER_EXPORT___);
|
|
33375
33370
|
|
|
@@ -35324,7 +35319,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
35324
35319
|
|
|
35325
35320
|
/* harmony default export */ var components_item = (component.exports);
|
|
35326
35321
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
35327
|
-
var lodash = __webpack_require__(
|
|
35322
|
+
var lodash = __webpack_require__(6);
|
|
35328
35323
|
|
|
35329
35324
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Conversations/src/main.vue?vue&type=script&lang=js
|
|
35330
35325
|
|
|
@@ -35865,7 +35860,7 @@ render._withStripped = true;
|
|
|
35865
35860
|
// CONCATENATED MODULE: ./src/components/BubbleList/src/main.vue?vue&type=template&id=1c7b8442&scoped=true
|
|
35866
35861
|
|
|
35867
35862
|
// EXTERNAL MODULE: ./src/components/Bubble/index.js + 7 modules
|
|
35868
|
-
var Bubble = __webpack_require__(
|
|
35863
|
+
var Bubble = __webpack_require__(28);
|
|
35869
35864
|
|
|
35870
35865
|
// EXTERNAL MODULE: ./src/components/BubbleList/src/loading.vue
|
|
35871
35866
|
var loading = __webpack_require__(107);
|
|
@@ -36454,7 +36449,7 @@ render._withStripped = true;
|
|
|
36454
36449
|
// CONCATENATED MODULE: ./src/components/Attachments/src/main.vue?vue&type=template&id=4f88f26a&scoped=true
|
|
36455
36450
|
|
|
36456
36451
|
// EXTERNAL MODULE: ./src/components/FilesCard/index.js + 58 modules
|
|
36457
|
-
var FilesCard = __webpack_require__(
|
|
36452
|
+
var FilesCard = __webpack_require__(27);
|
|
36458
36453
|
|
|
36459
36454
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Attachments/src/main.vue?vue&type=script&lang=js
|
|
36460
36455
|
|
|
@@ -36954,71 +36949,71 @@ render._withStripped = true;
|
|
|
36954
36949
|
/* harmony default export */ var mainvue_type_script_lang_js = ({
|
|
36955
36950
|
name: 'ElXPrompts',
|
|
36956
36951
|
props: {
|
|
36957
|
-
/**
|
|
36958
|
-
* 包含多个提示项的列表
|
|
36952
|
+
/**
|
|
36953
|
+
* 包含多个提示项的列表
|
|
36959
36954
|
*/
|
|
36960
36955
|
items: {
|
|
36961
36956
|
type: Array,
|
|
36962
36957
|
default: () => []
|
|
36963
36958
|
},
|
|
36964
|
-
/**
|
|
36965
|
-
* 显示在提示列表顶部的标题
|
|
36959
|
+
/**
|
|
36960
|
+
* 显示在提示列表顶部的标题
|
|
36966
36961
|
*/
|
|
36967
36962
|
title: {
|
|
36968
36963
|
type: String,
|
|
36969
36964
|
default: ''
|
|
36970
36965
|
},
|
|
36971
|
-
/**
|
|
36972
|
-
* Item 提示项被点击时的回调函数
|
|
36966
|
+
/**
|
|
36967
|
+
* Item 提示项被点击时的回调函数
|
|
36973
36968
|
*/
|
|
36974
36969
|
onItemClick: {
|
|
36975
36970
|
type: Function,
|
|
36976
36971
|
default: null
|
|
36977
36972
|
},
|
|
36978
|
-
/**
|
|
36979
|
-
* 提示列表是否垂直排列
|
|
36973
|
+
/**
|
|
36974
|
+
* 提示列表是否垂直排列
|
|
36980
36975
|
*/
|
|
36981
36976
|
vertical: {
|
|
36982
36977
|
type: Boolean,
|
|
36983
36978
|
default: false
|
|
36984
36979
|
},
|
|
36985
|
-
/**
|
|
36986
|
-
* 提示列表是否换行
|
|
36980
|
+
/**
|
|
36981
|
+
* 提示列表是否换行
|
|
36987
36982
|
*/
|
|
36988
36983
|
wrap: {
|
|
36989
36984
|
type: Boolean,
|
|
36990
36985
|
default: false
|
|
36991
36986
|
},
|
|
36992
|
-
/**
|
|
36993
|
-
* 自定义样式,用于各个提示项的不同部分
|
|
36987
|
+
/**
|
|
36988
|
+
* 自定义样式,用于各个提示项的不同部分
|
|
36994
36989
|
*/
|
|
36995
36990
|
styles: {
|
|
36996
36991
|
type: Object,
|
|
36997
36992
|
default: () => ({})
|
|
36998
36993
|
},
|
|
36999
|
-
/**
|
|
37000
|
-
* 自定义样式类名,用于各个提示项的不同部分
|
|
36994
|
+
/**
|
|
36995
|
+
* 自定义样式类名,用于各个提示项的不同部分
|
|
37001
36996
|
*/
|
|
37002
36997
|
classNames: {
|
|
37003
36998
|
type: Object,
|
|
37004
36999
|
default: () => ({})
|
|
37005
37000
|
},
|
|
37006
|
-
/**
|
|
37007
|
-
* 根节点的样式类名
|
|
37001
|
+
/**
|
|
37002
|
+
* 根节点的样式类名
|
|
37008
37003
|
*/
|
|
37009
37004
|
rootClassName: {
|
|
37010
37005
|
type: String,
|
|
37011
37006
|
default: ''
|
|
37012
37007
|
},
|
|
37013
|
-
/**
|
|
37014
|
-
* 自定义样式
|
|
37008
|
+
/**
|
|
37009
|
+
* 自定义样式
|
|
37015
37010
|
*/
|
|
37016
37011
|
customStyle: {
|
|
37017
37012
|
type: Object,
|
|
37018
37013
|
default: () => ({})
|
|
37019
37014
|
},
|
|
37020
|
-
/**
|
|
37021
|
-
* 方向
|
|
37015
|
+
/**
|
|
37016
|
+
* 方向
|
|
37022
37017
|
*/
|
|
37023
37018
|
direction: {
|
|
37024
37019
|
type: String,
|
|
@@ -37726,10 +37721,10 @@ render._withStripped = true;
|
|
|
37726
37721
|
// CONCATENATED MODULE: ./src/components/ThoughtChain/src/main.vue?vue&type=template&id=49e41fca&scoped=true
|
|
37727
37722
|
|
|
37728
37723
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
37729
|
-
var lodash = __webpack_require__(
|
|
37724
|
+
var lodash = __webpack_require__(6);
|
|
37730
37725
|
|
|
37731
37726
|
// EXTERNAL MODULE: ./src/components/Typewriter/index.js + 7 modules
|
|
37732
|
-
var Typewriter = __webpack_require__(
|
|
37727
|
+
var Typewriter = __webpack_require__(12);
|
|
37733
37728
|
|
|
37734
37729
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ThoughtChain/src/main.vue?vue&type=script&lang=js
|
|
37735
37730
|
|
|
@@ -38201,7 +38196,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38201
38196
|
/* harmony import */ var _components_Attachments_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(101);
|
|
38202
38197
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXAttachments", function() { return _components_Attachments_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
|
|
38203
38198
|
|
|
38204
|
-
/* harmony import */ var _components_Bubble_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
38199
|
+
/* harmony import */ var _components_Bubble_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28);
|
|
38205
38200
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXBubble", function() { return _components_Bubble_index_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
|
|
38206
38201
|
|
|
38207
38202
|
/* harmony import */ var _components_BubbleList_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(100);
|
|
@@ -38210,7 +38205,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38210
38205
|
/* harmony import */ var _components_Conversations_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99);
|
|
38211
38206
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXConversations", function() { return _components_Conversations_index_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
|
|
38212
38207
|
|
|
38213
|
-
/* harmony import */ var _components_FilesCard_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
38208
|
+
/* harmony import */ var _components_FilesCard_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27);
|
|
38214
38209
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXFilesCard", function() { return _components_FilesCard_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
|
|
38215
38210
|
|
|
38216
38211
|
/* harmony import */ var _components_Prompts_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(102);
|
|
@@ -38228,20 +38223,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38228
38223
|
/* harmony import */ var _components_ThoughtChain_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(105);
|
|
38229
38224
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXThoughtChain", function() { return _components_ThoughtChain_index_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
|
|
38230
38225
|
|
|
38231
|
-
/* harmony import */ var _components_Typewriter_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
|
|
38226
|
+
/* harmony import */ var _components_Typewriter_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(12);
|
|
38232
38227
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXTypewriter", function() { return _components_Typewriter_index_js__WEBPACK_IMPORTED_MODULE_10__["default"]; });
|
|
38233
38228
|
|
|
38234
38229
|
/* harmony import */ var _components_Welcome_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(106);
|
|
38235
38230
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ElXWelcome", function() { return _components_Welcome_index_js__WEBPACK_IMPORTED_MODULE_11__["default"]; });
|
|
38236
38231
|
|
|
38237
|
-
/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(
|
|
38232
|
+
/* harmony import */ var _mixins__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5);
|
|
38238
38233
|
/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "customMixins", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__; });
|
|
38239
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
38234
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSendUtils", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["createSendUtils"]; });
|
|
38240
38235
|
|
|
38241
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
38236
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createStreamUtils", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["createStreamUtils"]; });
|
|
38242
38237
|
|
|
38243
38238
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recordMixin", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["recordMixin"]; });
|
|
38244
38239
|
|
|
38240
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sendMixin", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["sendMixin"]; });
|
|
38241
|
+
|
|
38242
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "streamMixin", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["streamMixin"]; });
|
|
38243
|
+
|
|
38244
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "XRequest", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["XRequest"]; });
|
|
38245
|
+
|
|
38246
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "XStream", function() { return _mixins__WEBPACK_IMPORTED_MODULE_12__["XStream"]; });
|
|
38247
|
+
|
|
38245
38248
|
|
|
38246
38249
|
|
|
38247
38250
|
|
|
@@ -38264,19 +38267,32 @@ const install = function (Vue) {
|
|
|
38264
38267
|
});
|
|
38265
38268
|
};
|
|
38266
38269
|
|
|
38267
|
-
// 默认导出(完整引入)
|
|
38268
|
-
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
38269
|
-
version: '1.0.0',
|
|
38270
|
-
install,
|
|
38271
|
-
customMixins: _mixins__WEBPACK_IMPORTED_MODULE_12__,
|
|
38272
|
-
...components
|
|
38273
|
-
});
|
|
38274
|
-
|
|
38275
38270
|
// 具名导出(按需引入)- 组件
|
|
38276
38271
|
|
|
38277
38272
|
|
|
38278
38273
|
// 具名导出(按需引入)- Mixins
|
|
38279
38274
|
|
|
38275
|
+
// 默认导出(完整引入)
|
|
38276
|
+
const ElementUIX = {
|
|
38277
|
+
version: '1.0.0',
|
|
38278
|
+
install
|
|
38279
|
+
};
|
|
38280
|
+
|
|
38281
|
+
// 将组件添加到默认导出对象中
|
|
38282
|
+
components.forEach(component => {
|
|
38283
|
+
ElementUIX[component.name] = component;
|
|
38284
|
+
});
|
|
38285
|
+
|
|
38286
|
+
// 添加mixins
|
|
38287
|
+
ElementUIX.customMixins = _mixins__WEBPACK_IMPORTED_MODULE_12__;
|
|
38288
|
+
ElementUIX.streamMixin = _mixins__WEBPACK_IMPORTED_MODULE_12__["streamMixin"];
|
|
38289
|
+
ElementUIX.sendMixin = _mixins__WEBPACK_IMPORTED_MODULE_12__["sendMixin"];
|
|
38290
|
+
ElementUIX.recordMixin = _mixins__WEBPACK_IMPORTED_MODULE_12__["recordMixin"];
|
|
38291
|
+
ElementUIX.createStreamUtils = _mixins__WEBPACK_IMPORTED_MODULE_12__["createStreamUtils"];
|
|
38292
|
+
ElementUIX.createSendUtils = _mixins__WEBPACK_IMPORTED_MODULE_12__["createSendUtils"];
|
|
38293
|
+
ElementUIX.XRequest = _mixins__WEBPACK_IMPORTED_MODULE_12__["XRequest"];
|
|
38294
|
+
ElementUIX.XStream = _mixins__WEBPACK_IMPORTED_MODULE_12__["XStream"];
|
|
38295
|
+
/* harmony default export */ __webpack_exports__["default"] = (ElementUIX);
|
|
38280
38296
|
|
|
38281
38297
|
/***/ })
|
|
38282
38298
|
/******/ ]);
|