fmode-ng 0.0.41 → 0.0.43
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/LICENSE.md +8 -0
- package/esm2022/fmode-ng.mjs +10 -5
- package/esm2022/lib/aigc/agent/agent.prompt.mjs +10 -122
- package/esm2022/lib/aigc/agent/index.mjs +10 -2
- package/esm2022/lib/aigc/avatar/avatar.module.mjs +10 -45
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/avatar.role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/comp-avatar-particle.component.mjs +10 -315
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/index.mjs +10 -3
- package/esm2022/lib/aigc/avatar/comp-avatar-particle/role-points.class.mjs +10 -57
- package/esm2022/lib/aigc/avatar/comp-avatar-role-image/comp-avatar-role-image.component.mjs +10 -97
- package/esm2022/lib/aigc/avatar/comp-avatar-role-video/comp-avatar-role-video.component.mjs +10 -104
- package/esm2022/lib/aigc/avatar/comp-avatar-talk/comp-avatar-talk.component.mjs +10 -111
- package/esm2022/lib/aigc/avatar/index.mjs +10 -8
- package/esm2022/lib/aigc/avatar/interface-avatar-role.mjs +10 -2
- package/esm2022/lib/aigc/avatar/modal-chat-voice-input/modal-chat-voice-input.component.mjs +8 -166
- package/esm2022/lib/aigc/chat/chat-header-area/comp-header-area.component.mjs +10 -36
- package/esm2022/lib/aigc/chat/chat-header-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-list/chat-list.component.mjs +8 -141
- package/esm2022/lib/aigc/chat/chat-list/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-area/comp-message-area.component.mjs +10 -40
- package/esm2022/lib/aigc/chat/chat-message-area/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-message-card/comp-message-card.component.mjs +10 -92
- package/esm2022/lib/aigc/chat/chat-message-card/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-modal-input/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component.mjs +8 -207
- package/esm2022/lib/aigc/chat/chat-modal-input/modal-input.component.mjs +10 -236
- package/esm2022/lib/aigc/chat/chat-panel/chat-panel.component.mjs +10 -137
- package/esm2022/lib/aigc/chat/comp-role-prompt/comp-role-prompt.component.mjs +10 -69
- package/esm2022/lib/aigc/chat/comp-role-prompt/index.mjs +10 -2
- package/esm2022/lib/aigc/chat/index.mjs +10 -8
- package/esm2022/lib/aigc/comp-markdown-preview/clipboard.service.mjs +10 -82
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs +8 -269
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs +10 -51
- package/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs +10 -24
- package/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs +10 -94
- package/esm2022/lib/aigc/index.mjs +10 -13
- package/esm2022/lib/aigc/service-fmai/fmai.service.mjs +10 -21
- package/esm2022/lib/aigc/service-fmai/service-chat/chat-class.mjs +8 -736
- package/esm2022/lib/aigc/service-fmai/service-chat/chat.service.mjs +8 -181
- package/esm2022/lib/aigc/service-fmai/service-chat/index.mjs +10 -7
- package/esm2022/lib/aigc/service-fmai/service-chat/mask-list.mjs +9 -194
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/chat-content.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/pipes/hidexml.pipe.mjs +10 -27
- package/esm2022/lib/aigc/service-fmai/service-chat/utilnow.pipe.mjs +10 -68
- package/esm2022/lib/aigc/service-fmai/service-imagine/imagine.service.mjs +8 -229
- package/esm2022/lib/aigc/service-fmai/service-imagine/index.mjs +10 -2
- package/esm2022/lib/aigc/voice/audio.player.mjs +10 -52
- package/esm2022/lib/aigc/voice/class-asr.mjs +8 -79
- package/esm2022/lib/aigc/voice/fmode-voice.service.mjs +8 -501
- package/esm2022/lib/aigc/voice/index.mjs +10 -3
- package/esm2022/lib/aigc/voice/lib/pcm2wav.mjs +10 -38
- package/esm2022/lib/aigc/voice/lib/resample.mjs +10 -34
- package/esm2022/lib/aigc/voice/stream.player.mjs +10 -0
- package/esm2022/lib/aigc/voice/tts/fmode-tts-class.mjs +8 -233
- package/esm2022/lib/aigc/voice/tts/index.mjs +10 -2
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.component.mjs +10 -190
- package/esm2022/lib/map/comp-poi-picker/comp-poi-picker.module.mjs +10 -33
- package/esm2022/lib/map/index.mjs +10 -4
- package/esm2022/lib/map/map.module.mjs +10 -61
- package/esm2022/lib/map/page-loca-scatter/page-loca-scatter.component.mjs +10 -110
- package/esm2022/lib/map/page-map.start/page-map.start.component.mjs +8 -98
- package/esm2022/lib/map/page-plan-route/page-plan-route.component.mjs +8 -100
- package/esm2022/lib/nova-cloud/index.mjs +10 -2
- package/esm2022/lib/nova-cloud/nova-cloud.service.mjs +10 -148
- package/esm2022/lib/platform/cross.service.mjs +10 -63
- package/esm2022/lib/platform/index.mjs +10 -2
- package/esm2022/lib/social/index.mjs +10 -2
- package/esm2022/lib/social/wechat/wechat-jssdk.service.mjs +8 -236
- package/esm2022/lib/storage/comp-hwobs-manager/hwobs-manager.component.mjs +10 -59
- package/esm2022/lib/storage/index.mjs +10 -5
- package/esm2022/lib/storage/service-hwobs/hwobs.service.mjs +8 -130
- package/esm2022/lib/storage/service-upload/index.mjs +10 -2
- package/esm2022/lib/storage/service-upload/nova-upload.service.mjs +8 -462
- package/esm2022/lib/storage/service-upload/util-file-md5.mjs +10 -28
- package/esm2022/lib/storage/storage.module.mjs +10 -41
- package/esm2022/lib/user/account/account.service.mjs +10 -221
- package/esm2022/lib/user/captcha/captcha.component.mjs +10 -135
- package/esm2022/lib/user/comp-user-avatar/comp-user-avatar.component.mjs +10 -62
- package/esm2022/lib/user/index.mjs +10 -17
- package/esm2022/lib/user/login/auth.guard.mjs +10 -28
- package/esm2022/lib/user/login/auth.service.mjs +8 -373
- package/esm2022/lib/user/login/login.component.mjs +10 -913
- package/esm2022/lib/user/modal-user-login/modal-user-login.component.mjs +10 -273
- package/esm2022/lib/user/profile/auth-profile.guard.mjs +10 -27
- package/esm2022/lib/user/profile/auth-profile.service.mjs +10 -122
- package/esm2022/lib/user/profile/profile-bind/profile-bind.component.mjs +10 -115
- package/esm2022/lib/user/profile/profile.module.mjs +10 -57
- package/esm2022/lib/user/staff/index.mjs +10 -4
- package/esm2022/lib/user/staff/staff.guard.mjs +10 -26
- package/esm2022/lib/user/staff/staff.module.mjs +10 -18
- package/esm2022/lib/user/staff/staff.service.mjs +10 -85
- package/esm2022/lib/user/user-name.pipe.mjs +10 -29
- package/esm2022/lib/user/user.module.mjs +10 -106
- package/esm2022/lib/video/fm-video/fm-video.component.mjs +10 -67
- package/esm2022/lib/video/index.mjs +10 -2
- package/esm2022/public-api.mjs +10 -13
- package/fesm2022/fmode-ng.mjs +7 -8895
- package/fesm2022/fmode-ng.mjs.map +1 -1
- package/lib/aigc/voice/fmode-voice.service.d.ts +18 -1
- package/lib/aigc/voice/stream.player.d.ts +10 -0
- package/lib/aigc/voice/tts/fmode-tts-class.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,271 +1,10 @@
|
|
|
1
|
-
import hljs from 'highlight.js';
|
|
2
|
-
import MarkdownIt from "markdown-it";
|
|
3
|
-
import $ from "jquery";
|
|
4
|
-
/**
|
|
5
|
-
* 自定义插件
|
|
6
|
-
*/
|
|
7
|
-
import { MarkdownMathJax } from './plugins/md-mathjax';
|
|
8
|
-
/**
|
|
9
|
-
* use插件
|
|
10
|
-
*/
|
|
11
|
-
import abbr from 'markdown-it-abbr';
|
|
12
|
-
import footnote from 'markdown-it-footnote';
|
|
13
|
-
import deflist from 'markdown-it-deflist';
|
|
14
|
-
import mark from 'markdown-it-mark';
|
|
15
|
-
import ins from 'markdown-it-ins';
|
|
16
|
-
import sub from 'markdown-it-sub';
|
|
17
|
-
import sup from 'markdown-it-sup';
|
|
18
|
-
// import imsize from 'markdown-it-imsize' // fs path
|
|
19
|
-
import ruby from 'markdown-it-ruby';
|
|
20
|
-
let md = new MarkdownIt({
|
|
21
|
-
html: true, // 在源码中启用 HTML 标签
|
|
22
|
-
xhtmlOut: true, // 使用 '/' 来闭合单标签 (比如 <br />)。
|
|
23
|
-
// 这个选项只对完全的 CommonMark 模式兼容。
|
|
24
|
-
breaks: false, // 转换段落里的 '\n' 到 <br>。
|
|
25
|
-
// langPrefix: 'language-', // 给围栏代码块的 CSS 语言前缀。对于额外的高亮代码非常有用。
|
|
26
|
-
linkify: false, // 将类似 URL 的文本自动转换为链接。
|
|
27
|
-
// 启用一些语言中立的替换 + 引号美化
|
|
28
|
-
typographer: false,
|
|
29
|
-
// 双 + 单引号替换对,当 typographer 启用时。
|
|
30
|
-
// 或者智能引号等,可以是 String 或 Array。
|
|
31
|
-
//
|
|
32
|
-
// 比方说,你可以支持 '«»„“' 给俄罗斯人使用, '„“‚‘' 给德国人使用。
|
|
33
|
-
// 还有 ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] 给法国人使用(包括 nbsp)。
|
|
34
|
-
quotes: '“”‘’',
|
|
35
|
-
// 高亮函数,会返回转义的HTML。
|
|
36
|
-
// 或 '' 如果源字符串未更改,则应在外部进行转义。
|
|
37
|
-
// 如果结果以 <pre ... 开头,内部包装器则会跳过。
|
|
38
|
-
// highlight: function (/*str, lang*/) { return ''; }
|
|
39
|
-
highlight: function (str, lang) {
|
|
40
|
-
if (lang && hljs.getLanguage(lang)) {
|
|
41
|
-
try {
|
|
42
|
-
let hljsCode = hljs.highlight(str, { language: lang }).value;
|
|
43
|
-
return `<pre style="position:relative;padding:10px;" class="hljs lang-${lang}"><code>${hljsCode}</code><small class="hljs-lang"><span class="sr-only">Language:</span>${lang}</small></pre>`;
|
|
44
|
-
}
|
|
45
|
-
catch (__) { }
|
|
46
|
-
}
|
|
47
|
-
return ''; // use external default escaping
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
md.use(abbr);
|
|
51
|
-
md.use(footnote);
|
|
52
|
-
md.use(deflist);
|
|
53
|
-
md.use(mark);
|
|
54
|
-
md.use(ins);
|
|
55
|
-
md.use(sub);
|
|
56
|
-
md.use(sup);
|
|
57
|
-
// md.use(katex);
|
|
58
|
-
// md.use(figure, {
|
|
59
|
-
// render: (content, displayMode) => {
|
|
60
|
-
// // render tex here and return
|
|
61
|
-
// },
|
|
62
|
-
// }); // 加载@mdit/tex 被mathjax依赖
|
|
63
|
-
// const mathjaxInstance = createMathjaxInstance({output:"svg"});
|
|
64
|
-
// md.use(mathjax,mathjaxInstance)
|
|
65
|
-
// import MathJax from 'mathjax';
|
|
66
|
-
// (window as any).MathJax = MathJax;
|
|
67
|
-
// (window as any).markdownitMathjax = {
|
|
68
|
-
// messageStyle: 'none',
|
|
69
|
-
// skipStartupTypeset: true,
|
|
70
|
-
// tex2jax: {
|
|
71
|
-
// inlineMath: [['$', '$'], ['\\[', '\\]'],['\\(', '\\)']],
|
|
72
|
-
// processEscapes: true
|
|
73
|
-
// },
|
|
74
|
-
// TeX: {
|
|
75
|
-
// extensions: ['mhchem.js']
|
|
76
|
-
// }
|
|
77
|
-
// };
|
|
78
|
-
// (window as any).MathJax = {
|
|
79
|
-
// messageStyle: 'none',
|
|
80
|
-
// skipStartupTypeset: true,
|
|
81
|
-
// tex2jax: {
|
|
82
|
-
// inlineMath: [['$', '$'], ['\\(', '\\)']],
|
|
83
|
-
// processEscapes: true
|
|
84
|
-
// },
|
|
85
|
-
// TeX: {
|
|
86
|
-
// extensions: ['mhchem.js']
|
|
87
|
-
// }
|
|
88
|
-
// }
|
|
89
|
-
// md.use(mathjax3)
|
|
90
|
-
// md.use(mathjax())
|
|
91
|
-
// md.use(mathjax({
|
|
92
|
-
// beforeMath: '<span class="mathjax raw">',
|
|
93
|
-
// afterMath: '</span>',
|
|
94
|
-
// beforeInlineMath: '<span class="mathjax raw">\\(',
|
|
95
|
-
// afterInlineMath: '\\)</span>',
|
|
96
|
-
// beforeDisplayMath: '<span class="mathjax raw">\\[',
|
|
97
|
-
// afterDisplayMath: '\\]</span>'
|
|
98
|
-
// }))
|
|
99
|
-
// md.use(imsize)
|
|
100
|
-
md.use(ruby);
|
|
101
|
-
/**
|
|
102
|
-
* PlantUML 插件
|
|
103
|
-
*/
|
|
104
|
-
const mditConfig = {
|
|
105
|
-
plantumlServer: 'https://www.plantuml.com/plantuml'
|
|
106
|
-
};
|
|
107
|
-
import plantumlEncoder from 'plantuml-encoder';
|
|
108
|
-
/**
|
|
109
|
-
* uml代码转图片地址方法
|
|
110
|
-
* @param {*} umlCode
|
|
111
|
-
* @returns
|
|
112
|
-
* @example
|
|
113
|
-
* console.log(makePlantumlURL(`@startuml
|
|
114
|
-
start
|
|
115
|
-
:创建本地仓库;
|
|
116
|
-
:运行git init;
|
|
117
|
-
:使用git add .;
|
|
118
|
-
:使用git commit -m "xxx";
|
|
119
|
-
:使用git remote add origin xxx;
|
|
120
|
-
:使用git push -u origin "master";
|
|
121
|
-
stop
|
|
122
|
-
@enduml`))
|
|
123
|
-
*/
|
|
124
|
-
function makePlantumlURL(umlCode) {
|
|
125
|
-
const format = 'svg';
|
|
126
|
-
const code = plantumlEncoder.encode(umlCode);
|
|
127
|
-
return `${mditConfig.plantumlServer}/${format}/${code}`;
|
|
128
|
-
}
|
|
129
|
-
// https://github.com/qjebbs/vscode-plantuml/tree/master/src/markdown-it-plantuml
|
|
130
|
-
md.renderer.rules['plantuml'] = (tokens, idx, options, env, self) => {
|
|
131
|
-
const token = tokens[idx];
|
|
132
|
-
if (token.type !== 'plantuml') {
|
|
133
|
-
return tokens[idx].content;
|
|
134
|
-
}
|
|
135
|
-
const url = makePlantumlURL(token.content);
|
|
136
|
-
return `
|
|
137
|
-
<img src="${url}" />
|
|
138
|
-
<pre style="position:relative;padding:10px;" class="hljs lang-plantuml"><code>${token.content}</code><small class="hljs-lang"><span class="sr-only">Language:</span>plantuml</small></pre>
|
|
139
|
-
`;
|
|
140
|
-
};
|
|
141
|
-
// https://github.com/qjebbs/vscode-plantuml/tree/master/src/markdown-it-plantuml
|
|
142
|
-
// 默认不支持rules['plantuml'] 需要通过ruler push
|
|
143
|
-
md.core.ruler.push('plantuml', (state) => {
|
|
144
|
-
const blockTokens = state.tokens;
|
|
145
|
-
for (const blockToken of blockTokens) {
|
|
146
|
-
if (blockToken.type === 'fence' && blockToken.info === 'plantuml') {
|
|
147
|
-
blockToken.type = 'plantuml';
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
// regex for extra tags
|
|
152
|
-
const spaceregex = /\s*/;
|
|
153
|
-
const notinhtmltagregex = /(?![^<]*>|[^<>]*<\/)/;
|
|
154
|
-
let coloregex = /\[color=([#|(|)|\s|,|\w]*?)\]/;
|
|
155
|
-
coloregex = new RegExp(coloregex.source + notinhtmltagregex.source, 'g');
|
|
156
|
-
let nameregex = /\[name=(.*?)\]/;
|
|
157
|
-
let timeregex = /\[time=([:|,|+|-|(|)|\s|\w]*?)\]/;
|
|
158
|
-
const nameandtimeregex = new RegExp(nameregex.source + spaceregex.source + timeregex.source + notinhtmltagregex.source, 'g');
|
|
159
|
-
nameregex = new RegExp(nameregex.source + notinhtmltagregex.source, 'g');
|
|
160
|
-
timeregex = new RegExp(timeregex.source + notinhtmltagregex.source, 'g');
|
|
161
|
-
function replaceExtraTags(html) {
|
|
162
|
-
console.log("replaceExtraTags", html);
|
|
163
|
-
html = html.replace(coloregex, '<span class="color" data-color="$1"></span>');
|
|
164
|
-
html = html.replace(nameandtimeregex, '<small><i class="fa fa-user"></i> $1 <i class="fa fa-clock-o"></i> $2</small>');
|
|
165
|
-
html = html.replace(nameregex, '<small><i class="fa fa-user"></i> $1</small>');
|
|
166
|
-
html = html.replace(timeregex, '<small><i class="fa fa-clock-o"></i> $1</small>');
|
|
167
|
-
console.log("replaceExtraTags", html);
|
|
168
|
-
return html;
|
|
169
|
-
}
|
|
170
|
-
// 生命周期:生成HTML后,动态修正生成内容:dynamic event or object binding here
|
|
171
|
-
function finishView(html) {
|
|
172
|
-
let mdDivEl = $.parseHTML(`<html><body><div id="topmd">${html}</div></body></html>`)[0];
|
|
173
|
-
let mdhtml$ = $(mdDivEl);
|
|
174
|
-
/************************************************
|
|
175
|
-
* 第一步:需操作DOM,进行页面修正
|
|
176
|
-
*/
|
|
177
|
-
/**
|
|
178
|
-
* BlockQuote 引用增强插件
|
|
179
|
-
*/
|
|
180
|
-
// blockquote 修正引用标签
|
|
181
|
-
let blockquote = mdhtml$.find('blockquote.raw').removeClass('raw');
|
|
182
|
-
blockquote = mdhtml$.find('blockquote');
|
|
183
|
-
let blockquoteP = $(blockquote).find('p');
|
|
184
|
-
blockquoteP.each((key, value) => {
|
|
185
|
-
let htmlStr = $(value).html();
|
|
186
|
-
htmlStr = replaceExtraTags(htmlStr);
|
|
187
|
-
value.innerHTML = htmlStr;
|
|
188
|
-
$(value).html(htmlStr);
|
|
189
|
-
blockquoteP[key].innerHTML = htmlStr;
|
|
190
|
-
$(blockquoteP[key]).html(htmlStr);
|
|
191
|
-
});
|
|
192
|
-
// 引用标签颜色渲染 color tag in blockquote will change its left border color
|
|
193
|
-
let blockquoteColor = blockquote.find('.color');
|
|
194
|
-
blockquoteColor.each((key, value) => {
|
|
195
|
-
let dataColor = $(value).attr('data-color');
|
|
196
|
-
$(value).closest('blockquote').css('border-left-color', dataColor);
|
|
197
|
-
});
|
|
198
|
-
let style = `<style>
|
|
199
|
-
.markdown-section {
|
|
200
|
-
color: black;
|
|
201
|
-
text-align: left;
|
|
202
|
-
}
|
|
203
|
-
.markdown-section pre .hljs-lang{
|
|
204
|
-
text-transform: uppercase;
|
|
205
|
-
font-weight: 700;
|
|
206
|
-
font-size: .75rem;
|
|
207
|
-
line-height: 1rem;
|
|
208
|
-
padding-top: .25rem;
|
|
209
|
-
padding-bottom: .25rem;
|
|
210
|
-
padding-left: .5rem;
|
|
211
|
-
padding-right: .5rem;
|
|
212
|
-
background-color: rgba(0,0,0,.3);
|
|
213
|
-
border-bottom-left-radius: .375rem;
|
|
214
|
-
top:0;
|
|
215
|
-
right:0;
|
|
216
|
-
position:absolute;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
.markdown-section pre .hljs {
|
|
221
|
-
position:relative!important;
|
|
222
|
-
background: #272822!important;
|
|
223
|
-
padding:10px!important;
|
|
224
|
-
color: #ddd;
|
|
225
|
-
text-shadow: none!important;
|
|
226
|
-
}
|
|
227
1
|
|
|
228
|
-
.markdown-section blockquote {
|
|
229
|
-
margin: 0;
|
|
230
|
-
margin-bottom: 0px;
|
|
231
|
-
margin-bottom: .85em;
|
|
232
|
-
padding: 0 15px;
|
|
233
|
-
color: #858585;
|
|
234
|
-
border-left: 4px solid #e5e5e5;
|
|
235
|
-
border-left-color: rgb(229, 229, 229);
|
|
236
|
-
}
|
|
237
|
-
.markdown-section img {
|
|
238
|
-
max-width:100%;
|
|
239
|
-
}
|
|
240
|
-
</style>`;
|
|
241
|
-
let result = style + (mdhtml$.html() || html);
|
|
242
|
-
/************************************************
|
|
243
|
-
* 第二步:无需操作DOM,替换文本信息
|
|
244
|
-
*/
|
|
245
2
|
/**
|
|
246
|
-
*
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
export class MarkdownParse {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
parseToHTML(markdown) {
|
|
255
|
-
this.info("markdown", markdown);
|
|
256
|
-
// 由于md=>html会转义原文本中的 \( 为 (,\[ 为 [,因此需要先mathjax转换再转markdown
|
|
257
|
-
let mdMathJax = new MarkdownMathJax();
|
|
258
|
-
markdown = mdMathJax.text_to_mathjax(markdown, {
|
|
259
|
-
output: "svg"
|
|
260
|
-
});
|
|
261
|
-
let htmlResult = md.render(markdown);
|
|
262
|
-
// this.info("html",htmlResult)
|
|
263
|
-
htmlResult = finishView(htmlResult);
|
|
264
|
-
// this.info("html plus",htmlResult)
|
|
265
|
-
return htmlResult;
|
|
266
|
-
}
|
|
267
|
-
info(...args) {
|
|
268
|
-
// console.log(...args)
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXBhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLGNBQWMsQ0FBQztBQUNoQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZEOztHQUVHO0FBQ0QsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxRQUFRLE1BQU0sc0JBQXNCLENBQUE7QUFDM0MsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUE7QUFDekMsT0FBTyxJQUFJLE1BQU0sa0JBQWtCLENBQUE7QUFDbkMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDakMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDakMsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUE7QUFDbkMsc0RBQXNEO0FBQ3BELE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBRXJDLElBQUksRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDO0lBQ3BCLElBQUksRUFBVSxJQUFJLEVBQVMsaUJBQWlCO0lBQzVDLFFBQVEsRUFBTSxJQUFJLEVBQVMsNkJBQTZCO0lBQzVCLDZCQUE2QjtJQUN6RCxNQUFNLEVBQVEsS0FBSyxFQUFTLHNCQUFzQjtJQUNsRCxpRUFBaUU7SUFDakUsT0FBTyxFQUFPLEtBQUssRUFBUyxzQkFBc0I7SUFFbEQscUJBQXFCO0lBQ3JCLFdBQVcsRUFBRyxLQUFLO0lBRW5CLGdDQUFnQztJQUNoQyw4QkFBOEI7SUFDOUIsRUFBRTtJQUNGLDRDQUE0QztJQUM1Qywy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Ozs7Ozs7Ozs7Ozs7V0EwQ0gsQ0FBQTtJQUNULElBQUksTUFBTSxHQUFHLEtBQUssR0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUU5Qzs7T0FFRztJQUNIOztNQUVFO0lBQ0YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUMsbUNBQW1DLENBQUMsQ0FBQTtJQUNoRixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLE9BQU8sYUFBYTtJQUN0QjtJQUNBLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtRQUU5Qiw0REFBNEQ7UUFDNUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtRQUNyQyxRQUFRLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUM7WUFDNUMsTUFBTSxFQUFDLEtBQUs7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLCtCQUErQjtRQUMvQixVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLG9DQUFvQztRQUNwQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBUTtRQUNkLHVCQUF1QjtJQUN6QixDQUFDO0NBR0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaGxqcyBmcm9tICdoaWdobGlnaHQuanMnO1xuaW1wb3J0IE1hcmtkb3duSXQgZnJvbSBcIm1hcmtkb3duLWl0XCI7XG5pbXBvcnQgJCBmcm9tIFwianF1ZXJ5XCI7XG5cbi8qKlxuICog6Ieq5a6a5LmJ5o+S5Lu2XG4gKi9cbmltcG9ydCB7IE1hcmtkb3duTWF0aEpheCB9IGZyb20gJy4vcGx1Z2lucy9tZC1tYXRoamF4JztcblxuLyoqXG4gKiB1c2Xmj5Lku7ZcbiAqL1xuICBpbXBvcnQgYWJiciBmcm9tICdtYXJrZG93bi1pdC1hYmJyJ1xuICBpbXBvcnQgZm9vdG5vdGUgZnJvbSAnbWFya2Rvd24taXQtZm9vdG5vdGUnXG4gIGltcG9ydCBkZWZsaXN0IGZyb20gJ21hcmtkb3duLWl0LWRlZmxpc3QnXG4gIGltcG9ydCBtYXJrIGZyb20gJ21hcmtkb3duLWl0LW1hcmsnXG4gIGltcG9ydCBpbnMgZnJvbSAnbWFya2Rvd24taXQtaW5zJ1xuICBpbXBvcnQgc3ViIGZyb20gJ21hcmtkb3duLWl0LXN1YidcbiAgaW1wb3J0IHN1cCBmcm9tICdtYXJrZG93bi1pdC1zdXAnXG4vLyAgaW1wb3J0IGltc2l6ZSBmcm9tICdtYXJrZG93bi1pdC1pbXNpemUnIC8vIGZzIHBhdGhcbiAgaW1wb3J0IHJ1YnkgZnJvbSAnbWFya2Rvd24taXQtcnVieSdcblxubGV0IG1kID0gbmV3IE1hcmtkb3duSXQoe1xuICAgIGh0bWw6ICAgICAgICAgdHJ1ZSwgICAgICAgIC8vIOWcqOa6kOeggeS4reWQr+eUqCBIVE1MIOagh+etvlxuICAgIHhodG1sT3V0OiAgICAgdHJ1ZSwgICAgICAgIC8vIOS9v+eUqCAnLycg5p2l6Zet5ZCI5Y2V5qCH562+IO+8iOavlOWmgiA8YnIgLz7vvInjgIJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6L+Z5Liq6YCJ6aG55Y+q5a+55a6M5YWo55qEIENvbW1vbk1hcmsg5qih5byP5YW85a6544CCXG4gICAgYnJlYWtzOiAgICAgICBmYWxzZSwgICAgICAgIC8vIOi9rOaNouauteiQvemHjOeahCAnXFxuJyDliLAgPGJyPuOAglxuICAgIC8vIGxhbmdQcmVmaXg6ICAgJ2xhbmd1YWdlLScsICAvLyDnu5nlm7TmoI/ku6PnoIHlnZfnmoQgQ1NTIOivreiogOWJjee8gOOAguWvueS6jumineWklueahOmrmOS6ruS7o+eggemdnuW4uOacieeUqOOAglxuICAgIGxpbmtpZnk6ICAgICAgZmFsc2UsICAgICAgICAvLyDlsIbnsbvkvLwgVVJMIOeahOaWh+acrOiHquWKqOi9rOaNouS4uumTvuaOpeOAglxuICBcbiAgICAvLyDlkK/nlKjkuIDkupvor63oqIDkuK3nq4vnmoTmm7/mjaIgKyDlvJXlj7fnvo7ljJZcbiAgICB0eXBvZ3JhcGhlcjogIGZhbHNlLFxuICBcbiAgICAvLyDlj4wgKyDljZXlvJXlj7fmm7/mjaLlr7nvvIzlvZMgdHlwb2dyYXBoZXIg5ZCv55So5pe244CCXG4gICAgLy8g5oiW6ICF5pm66IO95byV5Y+3562J77yM5Y+v5Lul5pivIFN0cmluZyDmiJYgQXJyYXnjgIJcbiAgICAvL1xuICAgIC8vIOavlOaWueivtO+8jOS9oOWPr+S7peaUr+aMgSAnwqvCu+KAnuKAnCcg57uZ5L+E572X5pav5Lq65L2/55So77yMICfigJ7igJzigJrigJgnICDnu5nlvrflm73kurrkvb/nlKjjgIJcbiAgICAvLyDov5jmnIkgWyfCq1xceEEwJywgJ1xceEEwwrsnLCAn4oC5XFx4QTAnLCAnXFx4QTDigLonXSDnu5nms5Xlm73kurrkvb/nlKjvvIjljIXmi6wgbmJzcO+8ieOAglxuICAgIHF1b3RlczogJ+KAnOKAneKAmOKAmScsXG4gIFxuICAgIC8vIOmrmOS6ruWHveaVsO+8jOS8mui/lOWbnui9rOS5ieeahEhUTUzjgIJcbiAgICAvLyDmiJYgJycg5aaC5p6c5rqQ5a2X56ym5Liy5pyq5pu05pS577yM5YiZ5bqU5Zyo5aSW6YOo6L+b6KGM6L2s5LmJ44CCXG4gICAgLy8g5aaC5p6c57uT5p6c5LulIDxwcmUgLi4uIOW8gOWktO+8jOWGhemDqOWMheijheWZqOWImeS8mui3s+i/h+OAglxuICAgIC8vIGhpZ2hsaWdodDogZnVuY3Rpb24gKC8qc3RyLCBsYW5nKi8pIHsgcmV0dXJuICcnOyB9XG4gICAgaGlnaGxpZ2h0OiBmdW5jdGlvbiAoc3RyOmFueSwgbGFuZzphbnkpIHtcbiAgICAgICAgaWYgKGxhbmcgJiYgaGxqcy5nZXRMYW5ndWFnZShsYW5nKSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgaGxqc0NvZGUgPSBobGpzLmhpZ2hsaWdodChzdHIsIHsgbGFuZ3VhZ2U6IGxhbmcgfSkudmFsdWVcbiAgICAgICAgICAgIHJldHVybiBgPHByZSBzdHlsZT1cInBvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MTBweDtcIiBjbGFzcz1cImhsanMgbGFuZy0ke2xhbmd9XCI+PGNvZGU+JHtobGpzQ29kZX08L2NvZGU+PHNtYWxsIGNsYXNzPVwiaGxqcy1sYW5nXCI+PHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+TGFuZ3VhZ2U6PC9zcGFuPiR7bGFuZ308L3NtYWxsPjwvcHJlPmA7XG4gICAgICAgICAgfSBjYXRjaCAoX18pIHt9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgcmV0dXJuICcnOyAvLyB1c2UgZXh0ZXJuYWwgZGVmYXVsdCBlc2NhcGluZ1xuICAgICAgfVxuICB9KTtcbiAgXG4gXG4gIFxuICAgICBtZC51c2UoYWJicilcbiAgICAgbWQudXNlKGZvb3Rub3RlKVxuICAgICBtZC51c2UoZGVmbGlzdClcbiAgICAgbWQudXNlKG1hcmspXG4gICAgIG1kLnVzZShpbnMpXG4gICAgIG1kLnVzZShzdWIpO1xuICAgICBtZC51c2Uoc3VwKTtcblxuICAgIC8vICBtZC51c2Uoa2F0ZXgpO1xuXG4gICAgLy8gIG1kLnVzZShmaWd1cmUsIHtcbiAgICAvLyAgIHJlbmRlcjogKGNvbnRlbnQsIGRpc3BsYXlNb2RlKSA9PiB7XG4gICAgLy8gICAgIC8vIHJlbmRlciB0ZXggaGVyZSBhbmQgcmV0dXJuXG4gICAgLy8gICB9LFxuICAgIC8vIH0pOyAvLyDliqDovb1AbWRpdC90ZXgg6KKrbWF0aGpheOS+nei1llxuICAgIC8vICBjb25zdCBtYXRoamF4SW5zdGFuY2UgPSBjcmVhdGVNYXRoamF4SW5zdGFuY2Uoe291dHB1dDpcInN2Z1wifSk7XG4gICAgLy8gIG1kLnVzZShtYXRoamF4LG1hdGhqYXhJbnN0YW5jZSlcbiAgICAvLyBpbXBvcnQgTWF0aEpheCBmcm9tICdtYXRoamF4JztcbiAgICAvLyAod2luZG93IGFzIGFueSkuTWF0aEpheCA9IE1hdGhKYXg7XG4gICAgLy8gKHdpbmRvdyBhcyBhbnkpLm1hcmtkb3duaXRNYXRoamF4ID0ge1xuICAgIC8vICAgbWVzc2FnZVN0eWxlOiAnbm9uZScsXG4gICAgLy8gICBza2lwU3RhcnR1cFR5cGVzZXQ6IHRydWUsXG4gICAgLy8gICB0ZXgyamF4OiB7XG4gICAgLy8gICAgIGlubGluZU1hdGg6IFtbJyQnLCAnJCddLCBbJ1xcXFxbJywgJ1xcXFxdJ10sWydcXFxcKCcsICdcXFxcKSddXSxcbiAgICAvLyAgICAgcHJvY2Vzc0VzY2FwZXM6IHRydWVcbiAgICAvLyAgIH0sXG4gICAgLy8gICBUZVg6IHtcbiAgICAvLyAgICAgZXh0ZW5zaW9uczogWydtaGNoZW0uanMnXVxuICAgIC8vICAgfVxuICAgIC8vIH07XG5cbiAgICAvLyAod2luZG93IGFzIGFueSkuTWF0aEpheCA9IHtcbiAgICAvLyAgIG1lc3NhZ2VTdHlsZTogJ25vbmUnLFxuICAgIC8vICAgc2tpcFN0YXJ0dXBUeXBlc2V0OiB0cnVlLFxuICAgIC8vICAgdGV4MmpheDoge1xuICAgIC8vICAgICBpbmxpbmVNYXRoOiBbWyckJywgJyQnXSwgWydcXFxcKCcsICdcXFxcKSddXSxcbiAgICAvLyAgICAgcHJvY2Vzc0VzY2FwZXM6IHRydWVcbiAgICAvLyAgIH0sXG4gICAgLy8gICBUZVg6IHtcbiAgICAvLyAgICAgZXh0ZW5zaW9uczogWydtaGNoZW0uanMnXVxuICAgICAgLy8gfVxuICAgIC8vIH1cblxuICAgIC8vIG1kLnVzZShtYXRoamF4MylcbiAgICAvLyBtZC51c2UobWF0aGpheCgpKVxuICAgIC8vIG1kLnVzZShtYXRoamF4KHtcbiAgICAvLyAgIGJlZm9yZU1hdGg6ICc8c3BhbiBjbGFzcz1cIm1hdGhqYXggcmF3XCI+JyxcbiAgICAvLyAgIGFmdGVyTWF0aDogJzwvc3Bhbj4nLFxuICAgIC8vICAgYmVmb3JlSW5saW5lTWF0aDogJzxzcGFuIGNsYXNzPVwibWF0aGpheCByYXdcIj5cXFxcKCcsXG4gICAgLy8gICBhZnRlcklubGluZU1hdGg6ICdcXFxcKTwvc3Bhbj4nLFxuICAgIC8vICAgYmVmb3JlRGlzcGxheU1hdGg6ICc8c3BhbiBjbGFzcz1cIm1hdGhqYXggcmF3XCI+XFxcXFsnLFxuICAgIC8vICAgYWZ0ZXJEaXNwbGF5TWF0aDogJ1xcXFxdPC9zcGFuPidcbiAgICAvLyB9KSlcblxuICAgIC8vICBtZC51c2UoaW1zaXplKVxuICAgICBtZC51c2UocnVieSlcbiAgXG4gIC8qKlxuICAgKiBQbGFudFVNTCDmj5Lku7ZcbiAgICovXG4gIGNvbnN0IG1kaXRDb25maWcgPSB7XG4gICAgcGxhbnR1bWxTZXJ2ZXI6J2h0dHBzOi8vd3d3LnBsYW50dW1sLmNvbS9wbGFudHVtbCdcbiAgfVxuICBcbiAgaW1wb3J0IHBsYW50dW1sRW5jb2RlciBmcm9tICdwbGFudHVtbC1lbmNvZGVyJ1xuICAgLyoqXG4gICAgICogdW1s5Luj56CB6L2s5Zu+54mH5Zyw5Z2A5pa55rOVXG4gICAgICogQHBhcmFtIHsqfSB1bWxDb2RlIFxuICAgICAqIEByZXR1cm5zIFxuICAgICAqIEBleGFtcGxlXG4gICAgICogY29uc29sZS5sb2cobWFrZVBsYW50dW1sVVJMKGBAc3RhcnR1bWxcbiAgICAgICAgc3RhcnRcbiAgICAgICAgOuWIm+W7uuacrOWcsOS7k+W6kztcbiAgICAgICAgOui/kOihjGdpdCBpbml0O1xuICAgICAgICA65L2/55SoZ2l0IGFkZCAuO1xuICAgICAgICA65L2/55SoZ2l0IGNvbW1pdCAtbSBcInh4eFwiO1xuICAgICAgICA65L2/55SoZ2l0IHJlbW90ZSBhZGQgb3JpZ2luIHh4eDtcbiAgICAgICAgOuS9v+eUqGdpdCBwdXNoIC11IG9yaWdpbiBcIm1hc3RlclwiO1xuICAgICAgICBzdG9wXG4gICAgICAgIEBlbmR1bWxgKSlcbiAgICAqL1xuXG5cblxuICAgICBmdW5jdGlvbiBtYWtlUGxhbnR1bWxVUkwodW1sQ29kZTphbnkpe1xuICAgICAgICBjb25zdCBmb3JtYXQgPSAnc3ZnJ1xuICAgICAgICBjb25zdCBjb2RlID0gcGxhbnR1bWxFbmNvZGVyLmVuY29kZSh1bWxDb2RlKVxuICAgICAgICByZXR1cm4gYCR7bWRpdENvbmZpZy5wbGFudHVtbFNlcnZlcn0vJHtmb3JtYXR9LyR7Y29kZX1gXG4gICAgfVxuICBcblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcWplYmJzL3ZzY29kZS1wbGFudHVtbC90cmVlL21hc3Rlci9zcmMvbWFya2Rvd24taXQtcGxhbnR1bWxcbiAgbWQucmVuZGVyZXIucnVsZXNbJ3BsYW50dW1sJ10gPSAodG9rZW5zOmFueSwgaWR4OmFueSwgb3B0aW9uczphbnksIGVudjphbnksIHNlbGY6YW55KSAgPT4ge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2lkeF1cbiAgICBpZiAodG9rZW4udHlwZSAhPT0gJ3BsYW50dW1sJykge1xuICAgICAgICByZXR1cm4gdG9rZW5zW2lkeF0uY29udGVudFxuICAgIH1cbiAgICBjb25zdCB1cmwgPSBtYWtlUGxhbnR1bWxVUkwodG9rZW4uY29udGVudClcbiAgICByZXR1cm4gYFxuICAgIDxpbWcgc3JjPVwiJHt1cmx9XCIgLz5cbiAgICA8cHJlIHN0eWxlPVwicG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxMHB4O1wiIGNsYXNzPVwiaGxqcyBsYW5nLXBsYW50dW1sXCI+PGNvZGU+JHt0b2tlbi5jb250ZW50fTwvY29kZT48c21hbGwgY2xhc3M9XCJobGpzLWxhbmdcIj48c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5MYW5ndWFnZTo8L3NwYW4+cGxhbnR1bWw8L3NtYWxsPjwvcHJlPlxuICAgIGBcbn1cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9xamViYnMvdnNjb2RlLXBsYW50dW1sL3RyZWUvbWFzdGVyL3NyYy9tYXJrZG93bi1pdC1wbGFudHVtbFxuLy8g6buY6K6k5LiN5pSv5oyBcnVsZXNbJ3BsYW50dW1sJ10g6ZyA6KaB6YCa6L+HcnVsZXIgcHVzaFxubWQuY29yZS5ydWxlci5wdXNoKCdwbGFudHVtbCcsIChzdGF0ZTphbnkpID0+IHtcbiAgICBjb25zdCBibG9ja1Rva2VucyA9IHN0YXRlLnRva2Vuc1xuICAgIGZvciAoY29uc3QgYmxvY2tUb2tlbiBvZiBibG9ja1Rva2Vucykge1xuICAgICAgaWYgKGJsb2NrVG9rZW4udHlwZSA9PT0gJ2ZlbmNlJyAmJiBibG9ja1Rva2VuLmluZm8gPT09ICdwbGFudHVtbCcpIHtcbiAgICAgICAgYmxvY2tUb2tlbi50eXBlID0gJ3BsYW50dW1sJ1xuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICAvLyByZWdleCBmb3IgZXh0cmEgdGFnc1xuICBjb25zdCBzcGFjZXJlZ2V4ID0gL1xccyovXG4gIGNvbnN0IG5vdGluaHRtbHRhZ3JlZ2V4ID0gLyg/IVtePF0qPnxbXjw+XSo8XFwvKS9cbiAgbGV0IGNvbG9yZWdleCA9IC9cXFtjb2xvcj0oWyN8KHwpfFxcc3wsfFxcd10qPylcXF0vXG5jb2xvcmVnZXggPSBuZXcgUmVnRXhwKGNvbG9yZWdleC5zb3VyY2UgKyBub3Rpbmh0bWx0YWdyZWdleC5zb3VyY2UsICdnJylcbmxldCBuYW1lcmVnZXggPSAvXFxbbmFtZT0oLio/KVxcXS9cbmxldCB0aW1lcmVnZXggPSAvXFxbdGltZT0oWzp8LHwrfC18KHwpfFxcc3xcXHddKj8pXFxdL1xuY29uc3QgbmFtZWFuZHRpbWVyZWdleCA9IG5ldyBSZWdFeHAobmFtZXJlZ2V4LnNvdXJjZSArIHNwYWNlcmVnZXguc291cmNlICsgdGltZXJlZ2V4LnNvdXJjZSArIG5vdGluaHRtbHRhZ3JlZ2V4LnNvdXJjZSwgJ2cnKVxubmFtZXJlZ2V4ID0gbmV3IFJlZ0V4cChuYW1lcmVnZXguc291cmNlICsgbm90aW5odG1sdGFncmVnZXguc291cmNlLCAnZycpXG50aW1lcmVnZXggPSBuZXcgUmVnRXhwKHRpbWVyZWdleC5zb3VyY2UgKyBub3Rpbmh0bWx0YWdyZWdleC5zb3VyY2UsICdnJylcblxuZnVuY3Rpb24gcmVwbGFjZUV4dHJhVGFncyAoaHRtbDphbnkpIHsgXG4gIGNvbnNvbGUubG9nKFwicmVwbGFjZUV4dHJhVGFnc1wiLGh0bWwpXG4gIGh0bWwgPSBodG1sLnJlcGxhY2UoY29sb3JlZ2V4LCAnPHNwYW4gY2xhc3M9XCJjb2xvclwiIGRhdGEtY29sb3I9XCIkMVwiPjwvc3Bhbj4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKG5hbWVhbmR0aW1lcmVnZXgsICc8c21hbGw+PGkgY2xhc3M9XCJmYSBmYS11c2VyXCI+PC9pPiAkMSA8aSBjbGFzcz1cImZhIGZhLWNsb2NrLW9cIj48L2k+ICQyPC9zbWFsbD4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKG5hbWVyZWdleCwgJzxzbWFsbD48aSBjbGFzcz1cImZhIGZhLXVzZXJcIj48L2k+ICQxPC9zbWFsbD4nKVxuICBodG1sID0gaHRtbC5yZXBsYWNlKHRpbWVyZWdleCwgJzxzbWFsbD48aSBjbGFzcz1cImZhIGZhLWNsb2NrLW9cIj48L2k+ICQxPC9zbWFsbD4nKVxuICBjb25zb2xlLmxvZyhcInJlcGxhY2VFeHRyYVRhZ3NcIixodG1sKVxuICByZXR1cm4gaHRtbFxufVxuXG5cbi8vIOeUn+WRveWRqOacn++8mueUn+aIkEhUTUzlkI7vvIzliqjmgIHkv67mraPnlJ/miJDlhoXlrrnvvJpkeW5hbWljIGV2ZW50IG9yIG9iamVjdCBiaW5kaW5nIGhlcmVcbmZ1bmN0aW9uIGZpbmlzaFZpZXcgKGh0bWw6YW55KSB7XG5cbiAgbGV0IG1kRGl2RWwgPSAkLnBhcnNlSFRNTChgPGh0bWw+PGJvZHk+PGRpdiBpZD1cInRvcG1kXCI+JHtodG1sfTwvZGl2PjwvYm9keT48L2h0bWw+YClbMF1cbiAgbGV0IG1kaHRtbCQgPSAkKG1kRGl2RWwpXG5cbiAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICog56ys5LiA5q2l77ya6ZyA5pON5L2cRE9N77yM6L+b6KGM6aG16Z2i5L+u5q2jXG4gICAqL1xuICAvKipcbiAgICogQmxvY2tRdW90ZSDlvJXnlKjlop7lvLrmj5Lku7ZcbiAgKi9cbiAgLy8gYmxvY2txdW90ZSDkv67mraPlvJXnlKjmoIfnrb5cbiAgbGV0IGJsb2NrcXVvdGUgPSBtZGh0bWwkLmZpbmQoJ2Jsb2NrcXVvdGUucmF3JykucmVtb3ZlQ2xhc3MoJ3JhdycpXG4gIGJsb2NrcXVvdGUgPSBtZGh0bWwkLmZpbmQoJ2Jsb2NrcXVvdGUnKVxuXG4gIGxldCBibG9ja3F1b3RlUCA9ICQoYmxvY2txdW90ZSkuZmluZCgncCcpXG4gIGJsb2NrcXVvdGVQLmVhY2goKGtleTphbnksIHZhbHVlOmFueSkgPT4ge1xuICAgIGxldCBodG1sU3RyID0gJCh2YWx1ZSkuaHRtbCgpXG4gICAgaHRtbFN0ciA9IHJlcGxhY2VFeHRyYVRhZ3MoaHRtbFN0cilcbiAgICB2YWx1ZS5pbm5lckhUTUwgPSBodG1sU3RyXG4gICAgJCh2YWx1ZSkuaHRtbChodG1sU3RyKVxuICAgIGJsb2NrcXVvdGVQW2tleV0uaW5uZXJIVE1MID0gaHRtbFN0cjtcbiAgICAkKGJsb2NrcXVvdGVQW2tleV0pLmh0bWwoaHRtbFN0cilcbiAgfSlcblxuICAvLyDlvJXnlKjmoIfnrb7popzoibLmuLLmn5MgY29sb3IgdGFnIGluIGJsb2NrcXVvdGUgd2lsbCBjaGFuZ2UgaXRzIGxlZnQgYm9yZGVyIGNvbG9yXG4gIGxldCBibG9ja3F1b3RlQ29sb3IgPSBibG9ja3F1b3RlLmZpbmQoJy5jb2xvcicpXG4gIGJsb2NrcXVvdGVDb2xvci5lYWNoKChrZXk6YW55LCB2YWx1ZTphbnkpID0+IHtcbiAgICBsZXQgZGF0YUNvbG9yOmFueSA9ICQodmFsdWUpLmF0dHIoJ2RhdGEtY29sb3InKVxuICAgICQodmFsdWUpLmNsb3Nlc3QoJ2Jsb2NrcXVvdGUnKS5jc3MoJ2JvcmRlci1sZWZ0LWNvbG9yJywgZGF0YUNvbG9yKVxuICB9KVxuXG4gIFxuICBsZXQgc3R5bGUgPSBgPHN0eWxlPlxuICAgIC5tYXJrZG93bi1zZWN0aW9uIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5tYXJrZG93bi1zZWN0aW9uIHByZSAuaGxqcy1sYW5ne1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4zNzVyZW07XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbn1cblxuICAgIH1cbiAgICAubWFya2Rvd24tc2VjdGlvbiBwcmUgLmhsanMge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyNzI4MjIhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOjEwcHghaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXJrZG93bi1zZWN0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjg1ZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgY29sb3I6ICM4NTg1ODU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYigyMjksIDIyOSwgMjI5KTtcbiAgICB9XG4gICAgLm1hcmtkb3duLXNlY3Rpb24gaW1nIHtcbiAgICAgIG1heC13aWR0aDoxMDAlO1xuICB9XG4gIDwvc3R5bGU+YFxuICBsZXQgcmVzdWx0ID0gc3R5bGUgICsgKG1kaHRtbCQuaHRtbCgpIHx8IGh0bWwpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiDnrKzkuozmraXvvJrml6DpnIDmk43kvZxET03vvIzmm7/mjaLmlofmnKzkv6Hmga9cbiAgICovXG4gIC8qKlxuICAgKiB1cGxvYWRzIOS/ruato+mZhOS7tuWcsOWdgFxuICAqL1xuICByZXN1bHQgPSByZXN1bHQucmVwbGFjZUFsbCgnc3JjPVwiL3VwbG9hZHMvJywnc3JjPVwiaHR0cHM6Ly9tZC5mbW9kZS5jbi91cGxvYWRzLycpXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGNsYXNzIE1hcmtkb3duUGFyc2V7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICB9IFxuXG4gICAgcGFyc2VUb0hUTUwobWFya2Rvd246YW55KXtcbiAgICAgIHRoaXMuaW5mbyhcIm1hcmtkb3duXCIsbWFya2Rvd24pXG5cbiAgICAgIC8vIOeUseS6jm1kPT5odG1s5Lya6L2s5LmJ5Y6f5paH5pys5Lit55qEIFxcKCDkuLogKO+8jFxcWyDkuLogW++8jOWboOatpOmcgOimgeWFiG1hdGhqYXjovazmjaLlho3ovaxtYXJrZG93blxuICAgICAgbGV0IG1kTWF0aEpheCA9IG5ldyBNYXJrZG93bk1hdGhKYXgoKVxuICAgICAgbWFya2Rvd24gPSBtZE1hdGhKYXgudGV4dF90b19tYXRoamF4KG1hcmtkb3duLHtcbiAgICAgICAgb3V0cHV0Olwic3ZnXCJcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgaHRtbFJlc3VsdCA9IG1kLnJlbmRlcihtYXJrZG93bik7XG5cbiAgICAgIC8vIHRoaXMuaW5mbyhcImh0bWxcIixodG1sUmVzdWx0KVxuICAgICAgaHRtbFJlc3VsdCA9IGZpbmlzaFZpZXcoaHRtbFJlc3VsdCk7XG4gICAgICAvLyB0aGlzLmluZm8oXCJodG1sIHBsdXNcIixodG1sUmVzdWx0KVxuICAgICAgcmV0dXJuIGh0bWxSZXN1bHQ7XG4gICAgfVxuICAgIGluZm8oLi4uYXJnczphbnkpe1xuICAgICAgLy8gY29uc29sZS5sb2coLi4uYXJncylcbiAgICB9XG4gICAgLy8gTWFya2Rvd24gVGV4dCB0byBIVE1MXG4gICAgLy8gSFRNTCBET00gdG8gRW5oYW5jZSBIVE1MIERPTVxufSJdfQ==
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-parse.mjs
|
|
7
|
+
*/
|
|
8
|
+
import hljs from"highlight.js";import MarkdownIt from"markdown-it";import $ from"jquery";import{MarkdownMathJax}from"./plugins/md-mathjax";import abbr from"markdown-it-abbr";import footnote from"markdown-it-footnote";import deflist from"markdown-it-deflist";import mark from"markdown-it-mark";import ins from"markdown-it-ins";import sub from"markdown-it-sub";import sup from"markdown-it-sup";import ruby from"markdown-it-ruby";let md=new MarkdownIt({html:!0,xhtmlOut:!0,breaks:!1,linkify:!1,typographer:!1,quotes:"“”‘’",highlight:function(e,n){if(n&&hljs.getLanguage(n))try{return`<pre style="position:relative;padding:10px;" class="hljs lang-${n}"><code>${hljs.highlight(e,{language:n}).value}</code><small class="hljs-lang"><span class="sr-only">Language:</span>${n}</small></pre>`}catch(e){}return""}});md.use(abbr),md.use(footnote),md.use(deflist),md.use(mark),md.use(ins),md.use(sub),md.use(sup),md.use(ruby);const mditConfig={plantumlServer:"https://www.plantuml.com/plantuml"};import plantumlEncoder from"plantuml-encoder";function makePlantumlURL(e){const n=plantumlEncoder.encode(e);return`${mditConfig.plantumlServer}/svg/${n}`}md.renderer.rules.plantuml=(e,n,t,r,o)=>{const a=e[n];if("plantuml"!==a.type)return e[n].content;return`\n <img src="${makePlantumlURL(a.content)}" />\n <pre style="position:relative;padding:10px;" class="hljs lang-plantuml"><code>${a.content}</code><small class="hljs-lang"><span class="sr-only">Language:</span>plantuml</small></pre>\n `},md.core.ruler.push("plantuml",(e=>{const n=e.tokens;for(const e of n)"fence"===e.type&&"plantuml"===e.info&&(e.type="plantuml")}));const spaceregex=/\s*/,notinhtmltagregex=/(?![^<]*>|[^<>]*<\/)/;let coloregex=/\[color=([#|(|)|\s|,|\w]*?)\]/;coloregex=new RegExp(coloregex.source+notinhtmltagregex.source,"g");let nameregex=/\[name=(.*?)\]/,timeregex=/\[time=([:|,|+|-|(|)|\s|\w]*?)\]/;const nameandtimeregex=new RegExp(nameregex.source+spaceregex.source+timeregex.source+notinhtmltagregex.source,"g");function replaceExtraTags(e){return console.log("replaceExtraTags",e),e=(e=(e=(e=e.replace(coloregex,'<span class="color" data-color="$1"></span>')).replace(nameandtimeregex,'<small><i class="fa fa-user"></i> $1 <i class="fa fa-clock-o"></i> $2</small>')).replace(nameregex,'<small><i class="fa fa-user"></i> $1</small>')).replace(timeregex,'<small><i class="fa fa-clock-o"></i> $1</small>'),console.log("replaceExtraTags",e),e}function finishView(e){let n=$.parseHTML(`<html><body><div id="topmd">${e}</div></body></html>`)[0],t=$(n),r=t.find("blockquote.raw").removeClass("raw");r=t.find("blockquote");let o=$(r).find("p");o.each(((e,n)=>{let t=$(n).html();t=replaceExtraTags(t),n.innerHTML=t,$(n).html(t),o[e].innerHTML=t,$(o[e]).html(t)})),r.find(".color").each(((e,n)=>{let t=$(n).attr("data-color");$(n).closest("blockquote").css("border-left-color",t)}));let a="<style>\n .markdown-section {\n color: black;\n text-align: left;\n }\n .markdown-section pre .hljs-lang{\n text-transform: uppercase;\n font-weight: 700;\n font-size: .75rem;\n line-height: 1rem;\n padding-top: .25rem;\n padding-bottom: .25rem;\n padding-left: .5rem;\n padding-right: .5rem;\n background-color: rgba(0,0,0,.3);\n border-bottom-left-radius: .375rem;\n top:0;\n right:0;\n position:absolute;\n}\n\n }\n .markdown-section pre .hljs {\n position:relative!important;\n background: #272822!important;\n padding:10px!important;\n color: #ddd;\n text-shadow: none!important;\n }\n\n .markdown-section blockquote {\n margin: 0;\n margin-bottom: 0px;\n margin-bottom: .85em;\n padding: 0 15px;\n color: #858585;\n border-left: 4px solid #e5e5e5;\n border-left-color: rgb(229, 229, 229);\n }\n .markdown-section img {\n max-width:100%;\n }\n </style>"+(t.html()||e);return a=a.replaceAll('src="/uploads/','src="https://md.fmode.cn/uploads/'),a}nameregex=new RegExp(nameregex.source+notinhtmltagregex.source,"g"),timeregex=new RegExp(timeregex.source+notinhtmltagregex.source,"g");export class MarkdownParse{constructor(){}parseToHTML(e){this.info("markdown",e),e=(new MarkdownMathJax).text_to_mathjax(e,{output:"svg"});let n=md.render(e);return n=finishView(n),n}info(...e){}}
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wYXJzZS5tanM=`
|
|
10
|
+
|
|
@@ -1,51 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
export class MarkdownPreviewComponent {
|
|
13
|
-
constructor(domSan, renderer) {
|
|
14
|
-
this.domSan = domSan;
|
|
15
|
-
this.renderer = renderer;
|
|
16
|
-
this.content = ``;
|
|
17
|
-
/**
|
|
18
|
-
* 是否开启MD渲染,默认开启
|
|
19
|
-
* @default true
|
|
20
|
-
*/
|
|
21
|
-
this.render = true;
|
|
22
|
-
}
|
|
23
|
-
ngAfterViewInit() {
|
|
24
|
-
this.renderMdToHTML();
|
|
25
|
-
}
|
|
26
|
-
renderMdToHTML() {
|
|
27
|
-
if (!this.render)
|
|
28
|
-
return;
|
|
29
|
-
let mdparser = new MarkdownParse();
|
|
30
|
-
let htmlResult = mdparser.parseToHTML(this.content);
|
|
31
|
-
this.safeHTML = this.domSan.bypassSecurityTrustHtml(htmlResult);
|
|
32
|
-
let mdDiv = this.renderer.createElement("div");
|
|
33
|
-
mdDiv.innerHTML = htmlResult;
|
|
34
|
-
// console.log(mdDiv.innerHTML)
|
|
35
|
-
this.renderer.appendChild(this.mdContent.nativeElement, mdDiv);
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MarkdownPreviewComponent, selector: "fm-markdown-preview", inputs: { content: "content", render: "render" }, viewQueries: [{ propertyName: "mdContent", first: true, predicate: ["mdContent"], descendants: true }], ngImport: i0, template: "<div class=\"message-body\">\n <div *ngIf=\"render\" #mdContent class=\"markdown-section\">\n </div>\n <div *ngIf=\"!render\" class=\"pre-section\">\n {{content}}\n </div>\n</div>", styles: [":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MarkdownPreviewComponent, decorators: [{
|
|
41
|
-
type: Component,
|
|
42
|
-
args: [{ selector: 'fm-markdown-preview', template: "<div class=\"message-body\">\n <div *ngIf=\"render\" #mdContent class=\"markdown-section\">\n </div>\n <div *ngIf=\"!render\" class=\"pre-section\">\n {{content}}\n </div>\n</div>", styles: [":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"] }]
|
|
43
|
-
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.Renderer2 }], propDecorators: { content: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], mdContent: [{
|
|
46
|
-
type: ViewChild,
|
|
47
|
-
args: ['mdContent']
|
|
48
|
-
}], render: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm1vZGUtbmcvc3JjL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRS9DOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQ1UsTUFBbUIsRUFDbkIsUUFBa0I7UUFEbEIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBWm5CLFlBQU8sR0FBVSxFQUFFLENBQUE7UUFLNUI7OztXQUdHO1FBQ00sV0FBTSxHQUFXLElBQUksQ0FBQTtJQUs5QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDdkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsS0FBSyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDN0IsK0JBQStCO1FBRS9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFDLEtBQUssQ0FBQyxDQUFBO0lBRS9ELENBQUM7K0dBakNVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHFOQ2ZyQyx3TUFNTTs7NEZEU08sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5R0FLdEIsT0FBTztzQkFBZixLQUFLO2dCQUdrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBTWIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtNYXJrZG93blBhcnNlfSBmcm9tIFwiLi9tYXJrZG93bi1wYXJzZVwiO1xuXG4vKipcbiAqIE1hcmtkb3duIOaWh+aho+mrmOe6p+a4suafk+e7hOS7tlxuICogQG5hbWUgZm0tbWFya2Rvd24tcHJldmlld1xuICogQHB1YmxpY1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbS1tYXJrZG93bi1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCAge1xuICBASW5wdXQoKSBjb250ZW50OnN0cmluZyA9IGBgXG4gIHNhZmVIVE1MOlNhZmVIdG1sXG5cbiAgQFZpZXdDaGlsZCgnbWRDb250ZW50JykgbWRDb250ZW50OiBFbGVtZW50UmVmO1xuICBcbiAgLyoqXG4gICAqIOaYr+WQpuW8gOWQr01E5riy5p+T77yM6buY6K6k5byA5ZCvXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIHJlbmRlcjpib29sZWFuID0gdHJ1ZVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbjpEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjpSZW5kZXJlcjJcbiAgICApe1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgdGhpcy5yZW5kZXJNZFRvSFRNTCgpXG4gIH1cblxuICByZW5kZXJNZFRvSFRNTCgpe1xuICAgIGlmKCF0aGlzLnJlbmRlcikgcmV0dXJuXG4gICAgbGV0IG1kcGFyc2VyID0gbmV3IE1hcmtkb3duUGFyc2UoKVxuICAgIGxldCBodG1sUmVzdWx0ID0gbWRwYXJzZXIucGFyc2VUb0hUTUwodGhpcy5jb250ZW50KVxuICAgIHRoaXMuc2FmZUhUTUwgPSB0aGlzLmRvbVNhbi5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sUmVzdWx0KVxuXG4gICAgbGV0IG1kRGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIG1kRGl2LmlubmVySFRNTCA9IGh0bWxSZXN1bHQ7XG4gICAgLy8gY29uc29sZS5sb2cobWREaXYuaW5uZXJIVE1MKVxuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLm1kQ29udGVudC5uYXRpdmVFbGVtZW50LG1kRGl2KVxuICAgIFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWVzc2FnZS1ib2R5XCI+XG4gICAgPGRpdiAqbmdJZj1cInJlbmRlclwiICNtZENvbnRlbnQgY2xhc3M9XCJtYXJrZG93bi1zZWN0aW9uXCI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFyZW5kZXJcIiBjbGFzcz1cInByZS1zZWN0aW9uXCI+XG4gICAgICAgIHt7Y29udGVudH19XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.component.mjs
|
|
7
|
+
*/
|
|
8
|
+
import{Component,ElementRef,Input,Renderer2,ViewChild}from"@angular/core";import{DomSanitizer}from"@angular/platform-browser";import{MarkdownParse}from"./markdown-parse";import*as i0 from"@angular/core";import*as i1 from"@angular/platform-browser";import*as i2 from"@angular/common";export class MarkdownPreviewComponent{constructor(e,n){this.domSan=e,this.renderer=n,this.content="",this.render=!0}ngAfterViewInit(){this.renderMdToHTML()}renderMdToHTML(){if(!this.render)return;let e=(new MarkdownParse).parseToHTML(this.content);this.safeHTML=this.domSan.bypassSecurityTrustHtml(e);let n=this.renderer.createElement("div");n.innerHTML=e,this.renderer.appendChild(this.mdContent.nativeElement,n)}static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewComponent,deps:[{token:i1.DomSanitizer},{token:i0.Renderer2}],target:i0.ɵɵFactoryTarget.Component})}static{this.ɵcmp=i0.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:MarkdownPreviewComponent,selector:"fm-markdown-preview",inputs:{content:"content",render:"render"},viewQueries:[{propertyName:"mdContent",first:!0,predicate:["mdContent"],descendants:!0}],ngImport:i0,template:'<div class="message-body">\n <div *ngIf="render" #mdContent class="markdown-section">\n </div>\n <div *ngIf="!render" class="pre-section">\n {{content}}\n </div>\n</div>',styles:[":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"],dependencies:[{kind:"directive",type:i2.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewComponent,decorators:[{type:Component,args:[{selector:"fm-markdown-preview",template:'<div class="message-body">\n <div *ngIf="render" #mdContent class="markdown-section">\n </div>\n <div *ngIf="!render" class="pre-section">\n {{content}}\n </div>\n</div>',styles:[":host{overflow-x:auto}.message-body div{text-align:left;overflow-x:auto}.message-body .pre-section{white-space:pre-wrap}.markdown-section blockquote{margin:0 0 .85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5;border-left-color:#e5e5e5}\n"]}]}],ctorParameters:()=>[{type:i1.DomSanitizer},{type:i0.Renderer2}],propDecorators:{content:[{type:Input}],mdContent:[{type:ViewChild,args:["mdContent"]}],render:[{type:Input}]}});
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudC5tanM=`
|
|
10
|
+
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [
|
|
14
|
-
MarkdownPreviewComponent
|
|
15
|
-
],
|
|
16
|
-
imports: [
|
|
17
|
-
CommonModule,
|
|
18
|
-
],
|
|
19
|
-
exports: [
|
|
20
|
-
MarkdownPreviewComponent
|
|
21
|
-
]
|
|
22
|
-
}]
|
|
23
|
-
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tcHJldmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWN4RSxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixpQkFUOUIsd0JBQXdCLGFBR3hCLFlBQVksYUFHWix3QkFBd0I7Z0hBR2YscUJBQXFCLFlBTjlCLFlBQVk7OzRGQU1ILHFCQUFxQjtrQkFYakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWFya2Rvd25QcmV2aWV3Q29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6W1xuICAgIE1hcmtkb3duUHJldmlld0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duUHJldmlld01vZHVsZSB7IH1cbiJdfQ==
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/markdown-preview.module.mjs
|
|
7
|
+
*/
|
|
8
|
+
import{NgModule}from"@angular/core";import{CommonModule}from"@angular/common";import{MarkdownPreviewComponent}from"./markdown-preview.component";import*as i0 from"@angular/core";export class MarkdownPreviewModule{static{this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,deps:[],target:i0.ɵɵFactoryTarget.NgModule})}static{this.ɵmod=i0.ɵɵngDeclareNgModule({minVersion:"14.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]})}static{this.ɵinj=i0.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,imports:[CommonModule]})}}i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i0,type:MarkdownPreviewModule,decorators:[{type:NgModule,args:[{declarations:[MarkdownPreviewComponent],imports:[CommonModule],exports:[MarkdownPreviewComponent]}]}]});
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3Lm1vZHVsZS5tanM=`
|
|
10
|
+
|
|
@@ -1,94 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export class MarkdownMathJax {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.adaptor = liteAdaptor();
|
|
12
|
-
RegisterHTMLHandler(this.adaptor);
|
|
13
|
-
}
|
|
14
|
-
text_to_mathjax(math, options) {
|
|
15
|
-
if (!math?.length)
|
|
16
|
-
return "";
|
|
17
|
-
if (!math?.replace)
|
|
18
|
-
return "";
|
|
19
|
-
options = options || this.options;
|
|
20
|
-
let output = new SVG({ fontCache: 'local' });
|
|
21
|
-
if (options?.output == "chtml") {
|
|
22
|
-
output = new CHTML();
|
|
23
|
-
}
|
|
24
|
-
// 设置输入输出参数
|
|
25
|
-
const mathjax_document = mathjax.document('', {
|
|
26
|
-
skipHtmlTags: [
|
|
27
|
-
'script', "noscript", 'style', "textarea", "pre", "code", "annotation", "annotation-xml"
|
|
28
|
-
],
|
|
29
|
-
InputJax: new TeX({
|
|
30
|
-
// displayMath: [['\$\$', '\$\$'], ['\\\[', '\\\]']],
|
|
31
|
-
// inlineMath: [['\$', '\$'],['\\\(', '\\\)']],
|
|
32
|
-
processEscapes: true,
|
|
33
|
-
packages: AllPackages,
|
|
34
|
-
}),
|
|
35
|
-
OutputJax: output
|
|
36
|
-
});
|
|
37
|
-
const mathjax_options = {
|
|
38
|
-
em: 16,
|
|
39
|
-
ex: 8,
|
|
40
|
-
containerWidth: 1280
|
|
41
|
-
};
|
|
42
|
-
// Preprocess the input to handle inline and block math separately
|
|
43
|
-
let regxList = [
|
|
44
|
-
/\$\$\ (.+?)\ \$\$/g, /\$\$(.+?)\$\$/g, /\$\$\n(.+?)\n\$\$/g,
|
|
45
|
-
/\$(.+?)\$/g, /\\\((.+?)\\\)/g, /\\\[(.+?)\\\]/g
|
|
46
|
-
];
|
|
47
|
-
regxList.forEach(regx => {
|
|
48
|
-
math = math
|
|
49
|
-
.replace(regx, (match, p1) => {
|
|
50
|
-
// Inline math
|
|
51
|
-
let node = mathjax_document.convert(`${p1}`, mathjax_options);
|
|
52
|
-
let nodeHtml = `<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(node)}</span>`;
|
|
53
|
-
return nodeHtml;
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
return math;
|
|
57
|
-
// math
|
|
58
|
-
// .replace(/\$\$\ (.+?)\ \$\$/g, (match, p1) => {
|
|
59
|
-
// // Inline math
|
|
60
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
61
|
-
// return this.adaptor.innerHTML(node);
|
|
62
|
-
// })
|
|
63
|
-
// .replace(/\$\$(.+?)\$\$/g, (match, p1) => {
|
|
64
|
-
// // Inline math
|
|
65
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
66
|
-
// return this.adaptor.innerHTML(node);
|
|
67
|
-
// })
|
|
68
|
-
// .replace(/\$\$\n(.+?)\n\$\$/g, (match, p1) => {
|
|
69
|
-
// // Inline math
|
|
70
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
71
|
-
// return this.adaptor.innerHTML(node);
|
|
72
|
-
// })
|
|
73
|
-
// .replace(/\$(.+?)\$/g, (match, p1) => {
|
|
74
|
-
// // Inline math
|
|
75
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
76
|
-
// return this.adaptor.innerHTML(node);
|
|
77
|
-
// })
|
|
78
|
-
// .replace(/\\\((.+?)\\\)/g, (match, p1) => {
|
|
79
|
-
// // Inline math
|
|
80
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
81
|
-
// return this.adaptor.innerHTML(node);
|
|
82
|
-
// })
|
|
83
|
-
// .replace(/\\\[(.+?)\\\]/g, (match, p1) => {
|
|
84
|
-
// // Inline math
|
|
85
|
-
// let node = mathjax_document.convert(`${p1}`, mathjax_options) as any;
|
|
86
|
-
// return this.adaptor.innerHTML(node);
|
|
87
|
-
// })
|
|
88
|
-
// return processedMath;
|
|
89
|
-
// 内置Tex内容筛选(不如正则准确)
|
|
90
|
-
// let node:any = mathjax_document.convert(math,mathjax_options) as any;
|
|
91
|
-
// return adaptor.innerHTML(node);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxNQUFNLE9BQU8sZUFBZTtJQUl4QixZQUFZLE9BQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM3QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxJQUFRLEVBQUMsT0FBWTtRQUNqQyxJQUFHLENBQUMsSUFBSSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUMzQixJQUFHLENBQUMsSUFBSSxFQUFFLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUM1QixPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDakMsSUFBSSxNQUFNLEdBQU8sSUFBSSxHQUFHLENBQUMsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFHLE9BQU8sRUFBRSxNQUFNLElBQUUsT0FBTyxFQUFDLENBQUM7WUFDN0IsTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDcEIsQ0FBQztRQUNELFdBQVc7UUFDWCxNQUFNLGdCQUFnQixHQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFDO1lBQ2pELFlBQVksRUFBQztnQkFDVCxRQUFRLEVBQUMsVUFBVSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsZ0JBQWdCO2FBQ3BGO1lBQ0QsUUFBUSxFQUFDLElBQUksR0FBRyxDQUFDO2dCQUNiLHFEQUFxRDtnQkFDckQsK0NBQStDO2dCQUMvQyxjQUFjLEVBQUUsSUFBSTtnQkFDcEIsUUFBUSxFQUFDLFdBQVc7YUFDdkIsQ0FBQztZQUNGLFNBQVMsRUFBQyxNQUFNO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxlQUFlLEdBQUc7WUFDeEIsRUFBRSxFQUFDLEVBQUU7WUFDTCxFQUFFLEVBQUMsQ0FBQztZQUNKLGNBQWMsRUFBQyxJQUFJO1NBQ2xCLENBQUE7UUFFRCxrRUFBa0U7UUFDbEUsSUFBSSxRQUFRLEdBQUc7WUFDWCxvQkFBb0IsRUFBQyxnQkFBZ0IsRUFBQyxvQkFBb0I7WUFDMUQsWUFBWSxFQUFDLGdCQUFnQixFQUFDLGdCQUFnQjtTQUNqRCxDQUFBO1FBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUEsRUFBRTtZQUNuQixJQUFJLEdBQUcsSUFBSTtpQkFDVixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUM3QixjQUFjO2dCQUNkLElBQUksSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLGVBQWUsQ0FBUSxDQUFDO2dCQUNyRSxJQUFJLFFBQVEsR0FBRyx5RUFBeUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtnQkFDN0gsT0FBTyxRQUFRLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQVEsSUFBSSxDQUFBO1FBQ1osT0FBTztRQUNQLGtEQUFrRDtRQUNsRCxpQkFBaUI7UUFDakIsd0VBQXdFO1FBQ3hFLHVDQUF1QztRQUN2QyxLQUFLO1FBQ0wsOENBQThDO1FBQzlDLHFCQUFxQjtRQUNyQiw0RUFBNEU7UUFDNUUsMkNBQTJDO1FBQzNDLEtBQUs7UUFDTCxrREFBa0Q7UUFDbEQscUJBQXFCO1FBQ3JCLDRFQUE0RTtRQUM1RSwyQ0FBMkM7UUFDM0MsS0FBSztRQUNMLDBDQUEwQztRQUMxQyxxQkFBcUI7UUFDckIsNEVBQTRFO1FBQzVFLDJDQUEyQztRQUMzQyxLQUFLO1FBQ0wsOENBQThDO1FBQzlDLHFCQUFxQjtRQUNyQiw0RUFBNEU7UUFDNUUsMkNBQTJDO1FBQzNDLEtBQUs7UUFDTCw4Q0FBOEM7UUFDOUMscUJBQXFCO1FBQ3JCLDRFQUE0RTtRQUM1RSwyQ0FBMkM7UUFDM0MsS0FBSztRQUNMLHdCQUF3QjtRQUV4QixvQkFBb0I7UUFDcEIsd0VBQXdFO1FBQ3hFLGtDQUFrQztJQUN0QyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgbWF0aGpheCB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvbWF0aGpheFwiO1xuaW1wb3J0IHsgVGVYIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9pbnB1dC90ZXhcIjtcbmltcG9ydCB7IFNWRyB9IGZyb20gXCJtYXRoamF4LWZ1bGwvanMvb3V0cHV0L3N2Z1wiO1xuaW1wb3J0IHsgQ0hUTUwgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL291dHB1dC9jaHRtbFwiO1xuaW1wb3J0IHsgQWxsUGFja2FnZXMgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL2lucHV0L3RleC9BbGxQYWNrYWdlc1wiO1xuaW1wb3J0IHsgbGl0ZUFkYXB0b3IgfSBmcm9tIFwibWF0aGpheC1mdWxsL2pzL2FkYXB0b3JzL2xpdGVBZGFwdG9yXCI7XG5pbXBvcnQgeyBSZWdpc3RlckhUTUxIYW5kbGVyIH0gZnJvbSBcIm1hdGhqYXgtZnVsbC9qcy9oYW5kbGVycy9odG1sXCI7XG5cbmV4cG9ydCBjbGFzcyBNYXJrZG93bk1hdGhKYXh7XG5cbiAgICBvcHRpb25zOmFueVxuICAgIGFkYXB0b3I6YW55XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86YW55KXtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5hZGFwdG9yID0gbGl0ZUFkYXB0b3IoKTtcbiAgICAgICAgUmVnaXN0ZXJIVE1MSGFuZGxlcih0aGlzLmFkYXB0b3IpO1xuICAgIH1cbiAgICB0ZXh0X3RvX21hdGhqYXgobWF0aDphbnksb3B0aW9ucz86YW55KTphbnl7XG4gICAgICAgIGlmKCFtYXRoPy5sZW5ndGgpIHJldHVybiBcIlwiXG4gICAgICAgIGlmKCFtYXRoPy5yZXBsYWNlKSByZXR1cm4gXCJcIlxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB0aGlzLm9wdGlvbnNcbiAgICAgICAgbGV0IG91dHB1dDphbnkgPSBuZXcgU1ZHKHtmb250Q2FjaGU6J2xvY2FsJ30pO1xuICAgICAgICBpZihvcHRpb25zPy5vdXRwdXQ9PVwiY2h0bWxcIil7XG4gICAgICAgIG91dHB1dCA9IG5ldyBDSFRNTCgpXG4gICAgICAgIH1cbiAgICAgICAgLy8g6K6+572u6L6T5YWl6L6T5Ye65Y+C5pWwXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfZG9jdW1lbnQ6YW55ID0gbWF0aGpheC5kb2N1bWVudCgnJyx7XG4gICAgICAgIHNraXBIdG1sVGFnczpbXG4gICAgICAgICAgICAnc2NyaXB0JyxcIm5vc2NyaXB0XCIsJ3N0eWxlJyxcInRleHRhcmVhXCIsXCJwcmVcIixcImNvZGVcIixcImFubm90YXRpb25cIixcImFubm90YXRpb24teG1sXCJcbiAgICAgICAgXSxcbiAgICAgICAgSW5wdXRKYXg6bmV3IFRlWCh7XG4gICAgICAgICAgICAvLyBkaXNwbGF5TWF0aDogW1snXFwkXFwkJywgJ1xcJFxcJCddLCBbJ1xcXFxcXFsnLCAnXFxcXFxcXSddXSxcbiAgICAgICAgICAgIC8vIGlubGluZU1hdGg6IFtbJ1xcJCcsICdcXCQnXSxbJ1xcXFxcXCgnLCAnXFxcXFxcKSddXSxcbiAgICAgICAgICAgIHByb2Nlc3NFc2NhcGVzOiB0cnVlLFxuICAgICAgICAgICAgcGFja2FnZXM6QWxsUGFja2FnZXMsXG4gICAgICAgIH0pLFxuICAgICAgICBPdXRwdXRKYXg6b3V0cHV0XG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG1hdGhqYXhfb3B0aW9ucyA9IHtcbiAgICAgICAgZW06MTYsXG4gICAgICAgIGV4OjgsXG4gICAgICAgIGNvbnRhaW5lcldpZHRoOjEyODBcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAvLyBQcmVwcm9jZXNzIHRoZSBpbnB1dCB0byBoYW5kbGUgaW5saW5lIGFuZCBibG9jayBtYXRoIHNlcGFyYXRlbHlcbiAgICAgICAgbGV0IHJlZ3hMaXN0ID0gW1xuICAgICAgICAgICAgL1xcJFxcJFxcICguKz8pXFwgXFwkXFwkL2csL1xcJFxcJCguKz8pXFwkXFwkL2csL1xcJFxcJFxcbiguKz8pXFxuXFwkXFwkL2csXG4gICAgICAgICAgICAvXFwkKC4rPylcXCQvZywvXFxcXFxcKCguKz8pXFxcXFxcKS9nLC9cXFxcXFxbKC4rPylcXFxcXFxdL2dcbiAgICAgICAgXVxuICAgICAgICByZWd4TGlzdC5mb3JFYWNoKHJlZ3g9PntcbiAgICAgICAgICAgIG1hdGggPSBtYXRoXG4gICAgICAgICAgICAucmVwbGFjZShyZWd4LCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgICAgICAvLyBJbmxpbmUgbWF0aFxuICAgICAgICAgICAgbGV0IG5vZGUgPSBtYXRoamF4X2RvY3VtZW50LmNvbnZlcnQoYCR7cDF9YCwgbWF0aGpheF9vcHRpb25zKSBhcyBhbnk7XG4gICAgICAgICAgICBsZXQgbm9kZUh0bWwgPSBgPHNwYW4gY2xhc3M9XCJtYXRoamF4IHJhd1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweDtcIj4ke3RoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSl9PC9zcGFuPmBcbiAgICAgICAgICAgIHJldHVybiBub2RlSHRtbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiAgbWF0aFxuICAgICAgICAvLyBtYXRoXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCRcXCRcXCAoLis/KVxcIFxcJFxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgIC8vIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcbiAgICAgICAgLy8gfSlcbiAgICAgICAgLy8gLnJlcGxhY2UoL1xcJFxcJCguKz8pXFwkXFwkL2csIChtYXRjaCwgcDEpID0+IHtcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vICAgICBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmFkYXB0b3IuaW5uZXJIVE1MKG5vZGUpO1xuICAgICAgICAvLyB9KVxuICAgICAgICAvLyAucmVwbGFjZSgvXFwkXFwkXFxuKC4rPylcXG5cXCRcXCQvZywgKG1hdGNoLCBwMSkgPT4ge1xuICAgICAgICAvLyAgICAgLy8gSW5saW5lIG1hdGhcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgICAgIC8vIH0pXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXCQoLis/KVxcJC9nLCAobWF0Y2gsIHAxKSA9PiB7XG4gICAgICAgIC8vICAgICAvLyBJbmxpbmUgbWF0aFxuICAgICAgICAvLyAgICAgbGV0IG5vZGUgPSBtYXRoamF4X2RvY3VtZW50LmNvbnZlcnQoYCR7cDF9YCwgbWF0aGpheF9vcHRpb25zKSBhcyBhbnk7XG4gICAgICAgIC8vICAgICByZXR1cm4gdGhpcy5hZGFwdG9yLmlubmVySFRNTChub2RlKTtcbiAgICAgICAgLy8gfSlcbiAgICAgICAgLy8gLnJlcGxhY2UoL1xcXFxcXCgoLis/KVxcXFxcXCkvZywgKG1hdGNoLCBwMSkgPT4ge1xuICAgICAgICAvLyAgICAgLy8gSW5saW5lIG1hdGhcbiAgICAgICAgLy8gICAgIGxldCBub2RlID0gbWF0aGpheF9kb2N1bWVudC5jb252ZXJ0KGAke3AxfWAsIG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMuYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgICAgIC8vIH0pXG4gICAgICAgIC8vIC5yZXBsYWNlKC9cXFxcXFxbKC4rPylcXFxcXFxdL2csIChtYXRjaCwgcDEpID0+IHtcbiAgICAgICAgLy8gICAgIC8vIElubGluZSBtYXRoXG4gICAgICAgIC8vICAgICBsZXQgbm9kZSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChgJHtwMX1gLCBtYXRoamF4X29wdGlvbnMpIGFzIGFueTtcbiAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLmFkYXB0b3IuaW5uZXJIVE1MKG5vZGUpO1xuICAgICAgICAvLyB9KVxuICAgICAgICAvLyByZXR1cm4gcHJvY2Vzc2VkTWF0aDtcbiAgICAgICAgXG4gICAgICAgIC8vIOWGhee9rlRleOWGheWuueetm+mAiSjkuI3lpoLmraPliJnlh4bnoa4pXG4gICAgICAgIC8vIGxldCBub2RlOmFueSA9IG1hdGhqYXhfZG9jdW1lbnQuY29udmVydChtYXRoLG1hdGhqYXhfb3B0aW9ucykgYXMgYW55O1xuICAgICAgICAvLyByZXR1cm4gYWRhcHRvci5pbm5lckhUTUwobm9kZSk7XG4gICAgfVxuICBcbn0iXX0=
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/comp-markdown-preview/plugins/md-mathjax/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
import{mathjax}from"mathjax-full/js/mathjax";import{TeX}from"mathjax-full/js/input/tex";import{SVG}from"mathjax-full/js/output/svg";import{CHTML}from"mathjax-full/js/output/chtml";import{AllPackages}from"mathjax-full/js/input/tex/AllPackages";import{liteAdaptor}from"mathjax-full/js/adaptors/liteAdaptor";import{RegisterHTMLHandler}from"mathjax-full/js/handlers/html";export class MarkdownMathJax{constructor(t){this.options=t,this.adaptor=liteAdaptor(),RegisterHTMLHandler(this.adaptor)}text_to_mathjax(t,a){if(!t?.length)return"";if(!t?.replace)return"";a=a||this.options;let r=new SVG({fontCache:"local"});"chtml"==a?.output&&(r=new CHTML);const e=mathjax.document("",{skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],InputJax:new TeX({processEscapes:!0,packages:AllPackages}),OutputJax:r}),o={em:16,ex:8,containerWidth:1280};return[/\$\$\ (.+?)\ \$\$/g,/\$\$(.+?)\$\$/g,/\$\$\n(.+?)\n\$\$/g,/\$(.+?)\$/g,/\\\((.+?)\\\)/g,/\\\[(.+?)\\\]/g].forEach((a=>{t=t.replace(a,((t,a)=>{let r=e.convert(`${a}`,o);return`<span class="mathjax raw" style="margin-left:10px;margin-right:10px;">${this.adaptor.innerHTML(r)}</span>`}))})),t}}
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2NvbXAtbWFya2Rvd24tcHJldmlldy9wbHVnaW5zL21kLW1hdGhqYXgvaW5kZXgubWpz`
|
|
10
|
+
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export * from "./agent";
|
|
12
|
-
export * from "./chat";
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mbW9kZS1uZy9zcmMvbGliL2FpZ2MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZS1mbWFpL2ZtYWkuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlLWZtYWkvc2VydmljZS1pbWFnaW5lXCJcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnZpY2UtZm1haS9zZXJ2aWNlLWNoYXRcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L3BsdWdpbnMvbWQtbWF0aGpheC9pbmRleFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jb21wLW1hcmtkb3duLXByZXZpZXcvbWFya2Rvd24tcGFyc2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L21hcmtkb3duLXByZXZpZXcubW9kdWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXAtbWFya2Rvd24tcHJldmlldy9tYXJrZG93bi1wcmV2aWV3LmNvbXBvbmVudFwiIFxuZXhwb3J0ICogZnJvbSBcIi4vY29tcC1tYXJrZG93bi1wcmV2aWV3L2NsaXBib2FyZC5zZXJ2aWNlXCIgXG5leHBvcnQgKiBmcm9tIFwiLi92b2ljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hdmF0YXJcIlxuZXhwb3J0ICogZnJvbSBcIi4vYWdlbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hhdFwiIl19
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @copyright © 未来飞马 © 未来全栈 www.fmode.cn
|
|
4
|
+
* 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
|
|
5
|
+
* 保留所有权利 All Rights Reserved.
|
|
6
|
+
* /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/aigc/index.mjs
|
|
7
|
+
*/
|
|
8
|
+
export*from"./service-fmai/fmai.service";export*from"./service-fmai/service-imagine";export*from"./service-fmai/service-chat";export*from"./comp-markdown-preview/plugins/md-mathjax/index";export*from"./comp-markdown-preview/markdown-parse";export*from"./comp-markdown-preview/markdown-preview.module";export*from"./comp-markdown-preview/markdown-preview.component";export*from"./comp-markdown-preview/clipboard.service";export*from"./voice";export*from"./avatar";export*from"./agent";export*from"./chat";
|
|
9
|
+
var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9haWdjL2luZGV4Lm1qcw==`
|
|
10
|
+
|