@camidevv/mid-ai 1.0.0 → 1.0.2
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/README.md +73 -53
- package/dist/chat.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/message.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,85 +4,105 @@ MID AI is a project created from the need to have a tool that would allow me to
|
|
|
4
4
|
|
|
5
5
|
Descripción
|
|
6
6
|
-----------
|
|
7
|
-
MID AI
|
|
7
|
+
What MID AI does is basically receive a request with an array of messages, and then iterate over a list of artificial intelligence services (Cerebras, Deepseek, Gemini, Groq, Open Router, etc.) until one of them can answer the user’s question or request.
|
|
8
8
|
|
|
9
9
|
Principales características
|
|
10
10
|
---------------------------
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
11
|
+
- Quick Start: you can use the package with minimal configuration.
|
|
12
|
+
- No API keys mode: if you only need up to 15 requests per minute you can not provide keys.
|
|
13
|
+
- Support for multiple model providers (see list below).
|
|
14
|
+
- Configuration by environment variables to add your credentials and increase limits.
|
|
15
|
+
- Design designed for prototypes and academic/personal use.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Installation
|
|
18
18
|
----------
|
|
19
|
-
|
|
19
|
+
Install from npm:
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
21
|
+
- Public:
|
|
22
|
+
- npm install @camidevv/mid-ai
|
|
23
|
+
- Development/ local:
|
|
24
|
+
- «npm link» (if you are developing locally)
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Quick use
|
|
27
27
|
----------
|
|
28
|
-
1.
|
|
29
|
-
-
|
|
28
|
+
1. Import client from package (generic example):
|
|
29
|
+
- 'import { MidAI } from '@camidevv/mid-ai'
|
|
30
30
|
|
|
31
|
-
2.
|
|
32
|
-
-
|
|
31
|
+
2. Single call (keyless mode, up to 15 requests/minute):
|
|
32
|
+
- Create the client without credentials and make basic requests to models available in free mode.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
import { MidAI } from '@camidevv/mid-ai';
|
|
37
|
+
const midAI = new MidAI({});
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
(async () => {
|
|
41
|
+
const response = await midAI.chat("What's the date today?");
|
|
42
|
+
for await (const chunk of response) {
|
|
43
|
+
console.log(chunk);
|
|
44
|
+
}
|
|
45
|
+
})();
|
|
46
|
+
|
|
47
|
+
//[OUTPUT]
|
|
48
|
+
// Today is November 29, 2023. How can I help you?
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
Limitations and API keys
|
|
35
55
|
-------------------------
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- Google Gemini
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
- Default limit (no keys provided): 15 requests per minute.
|
|
57
|
+
- If your use case only requires this rate, you do not need to configure or provide API keys.
|
|
58
|
+
- If you need more capacity and/or access to additional models, you must provide API keys from the providers you want to use.
|
|
59
|
+
- It is highly recommended to provide your own personal keys/credentials for each provider because:
|
|
60
|
+
- They allow you to access higher quotas and additional models.
|
|
61
|
+
- Avoid dependency on shared or package-limited tokens.
|
|
62
|
+
- Concrete recommendation: the GitHub personal token (GitHub Personal Access Token) is one of the most models you can provide by integrating with certain gateways that use GitHub credentials to unlock models. If you are adding a single credential, this is usually the most useful one.
|
|
63
|
+
- Google Gemini usually offers many requests and models if configured correctly (see the Google documentation for details on quotas and permissions).
|
|
64
|
+
|
|
65
|
+
Configuration of suppliers
|
|
46
66
|
----------------------------
|
|
47
|
-
|
|
67
|
+
You can configure providers using environment variables. Examples of suggested variable names (adjust to your needs or the internal package configuration):
|
|
48
68
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
69
|
+
- «MIDAI_GITHUB_TOKEN` - GitHub personal token (recommended if you want many models).
|
|
70
|
+
- «MIDAI_GEMINI_KEY» - Google Gemini credentials (if applicable).
|
|
71
|
+
- «CEREBRAS_API_KEY» - Credential for Cerebras.
|
|
72
|
+
- ‘OPENROUTER_API_KEY’' - Credential for OpenRouter.
|
|
73
|
+
- «AISTUDIO_API_KEY» - Credential for AI Studio (Google).
|
|
74
|
+
- «GROQ_API_KEY» - Credential for Groq.
|
|
55
75
|
|
|
56
|
-
|
|
76
|
+
Manage multiple suppliers
|
|
57
77
|
-----------------------------
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
78
|
+
- The package will try to select the best available provider based on the configuration and keys provided.
|
|
79
|
+
- If there are no keys, the limited mode (15 rpm) will be activated.
|
|
80
|
+
- If you have provided multiple keys, the package will balance/select according to availability and internal policies (see advanced configuration in the package documentation or source code).
|
|
61
81
|
|
|
62
|
-
|
|
82
|
+
Suppliers and links
|
|
63
83
|
---------------------
|
|
64
|
-
|
|
84
|
+
Here are some of the mentioned suppliers and their official pages:
|
|
65
85
|
|
|
66
|
-
-
|
|
86
|
+
- Brain: https://www.cerebras.ai/
|
|
67
87
|
- OpenRouter: https://openrouter.ai/
|
|
68
88
|
- AI Studio (Google Gemini): https://aistudio.google.com/
|
|
69
89
|
- Groq: https://groq.com/
|
|
70
90
|
|
|
71
|
-
|
|
91
|
+
Good practice
|
|
72
92
|
----------------
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
93
|
+
- For local development and testing, use keyless mode up to 15 rpm to avoid exposing credentials.
|
|
94
|
+
- For serious integrations and deployments, add personal credentials by provider and review fee limits and billing for each service.
|
|
95
|
+
- Keep your tokens in secure environment variables, do not include them in code or public repositories.
|
|
96
|
+
- Review each provider’s usage policies (limits, terms and privacy).
|
|
77
97
|
|
|
78
|
-
|
|
98
|
+
License
|
|
79
99
|
--------
|
|
80
|
-
MIT
|
|
100
|
+
MIT - refer to the repository’s 'LICENSE' file for details.
|
|
81
101
|
|
|
82
|
-
|
|
102
|
+
Contact
|
|
83
103
|
--------
|
|
84
|
-
|
|
104
|
+
For questions or improvements to the package, open an issue in the repository or contact the maintainer (contact information in the repository).
|
|
85
105
|
|
|
86
|
-
|
|
106
|
+
Final notes
|
|
87
107
|
-------------
|
|
88
|
-
MID AI
|
|
108
|
+
MID AI is intended as a practical tool to accelerate the development of small/academic projects. If you need production use with high availability and high limits, set up the appropriate vendor keys and review their terms of service.
|
package/dist/chat.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x5b56f5,_0x488222){const _0x46df99=a0_0x719d,_0x296ce1=_0x5b56f5();while(!![]){try{const _0x446736=parseInt(_0x46df99(0x18b))/0x1*(parseInt(_0x46df99(0x18f))/0x2)+parseInt(_0x46df99(0x197))/0x3*(parseInt(_0x46df99(0x185))/0x4)+-parseInt(_0x46df99(0x191))/0x5+-parseInt(_0x46df99(0x1a2))/0x6+-parseInt(_0x46df99(0x19e))/0x7+parseInt(_0x46df99(0x1a5))/0x8+-parseInt(_0x46df99(0x184))/0x9;if(_0x446736===_0x488222)break;else _0x296ce1['push'](_0x296ce1['shift']());}catch(_0x3364ef){_0x296ce1['push'](_0x296ce1['shift']());}}}(a0_0x4ef2,0x8c84c));const a0_0x31c520=(function(){let _0x3d28f7=!![];return function(_0x15dd45,_0x1e2f0f){const _0x2b42c0=_0x3d28f7?function(){const _0x2bbebc=a0_0x719d;if(_0x1e2f0f){const _0x2beaa7=_0x1e2f0f[_0x2bbebc(0x193)](_0x15dd45,arguments);return _0x1e2f0f=null,_0x2beaa7;}}:function(){};return _0x3d28f7=![],_0x2b42c0;};}()),a0_0xd9ceca=a0_0x31c520(this,function(){const _0x779b17=a0_0x719d,_0x24e761={'iijjG':_0x779b17(0x189)};return a0_0xd9ceca[_0x779b17(0x192)]()[_0x779b17(0x190)](_0x24e761[_0x779b17(0x18a)])[_0x779b17(0x192)]()[_0x779b17(0x19c)](a0_0xd9ceca)['search'](_0x24e761[_0x779b17(0x18a)]);});function a0_0x719d(_0x1d3941,_0x4c73f3){_0x1d3941=_0x1d3941-0x184;const _0x365404=a0_0x4ef2();let _0xd9ceca=_0x365404[_0x1d3941];if(a0_0x719d['VTgfrR']===undefined){var _0x31c520=function(_0x13134f){const _0x368570='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a5881='',_0x5422bf='',_0x3b051e=_0x1a5881+_0x31c520;for(let _0x14817e=0x0,_0x4d14b1,_0x1a5dda,_0x338606=0x0;_0x1a5dda=_0x13134f['charAt'](_0x338606++);~_0x1a5dda&&(_0x4d14b1=_0x14817e%0x4?_0x4d14b1*0x40+_0x1a5dda:_0x1a5dda,_0x14817e++%0x4)?_0x1a5881+=_0x3b051e['charCodeAt'](_0x338606+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x4d14b1>>(-0x2*_0x14817e&0x6)):_0x14817e:0x0){_0x1a5dda=_0x368570['indexOf'](_0x1a5dda);}for(let _0x3524a5=0x0,_0x4e7819=_0x1a5881['length'];_0x3524a5<_0x4e7819;_0x3524a5++){_0x5422bf+='%'+('00'+_0x1a5881['charCodeAt'](_0x3524a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5422bf);};a0_0x719d['PLukSh']=_0x31c520,a0_0x719d['PNLeRJ']={},a0_0x719d['VTgfrR']=!![];}const _0x4ef2c=_0x365404[0x0],_0x719dd2=_0x1d3941+_0x4ef2c,_0x1bce56=a0_0x719d['PNLeRJ'][_0x719dd2];if(!_0x1bce56){const _0x4fbf7f=function(_0x214dd8){this['qnfZCG']=_0x214dd8,this['dKjiWV']=[0x1,0x0,0x0],this['cIVIMu']=function(){return'newState';},this['YZGGCL']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['wpEIBz']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4fbf7f['prototype']['abzuke']=function(){const _0x4470d4=new RegExp(this['YZGGCL']+this['wpEIBz']),_0x3240d1=_0x4470d4['test'](this['cIVIMu']['toString']())?--this['dKjiWV'][0x1]:--this['dKjiWV'][0x0];return this['ZFxWcL'](_0x3240d1);},_0x4fbf7f['prototype']['ZFxWcL']=function(_0xcbac2b){if(!Boolean(~_0xcbac2b))return _0xcbac2b;return this['OmpHdi'](this['qnfZCG']);},_0x4fbf7f['prototype']['OmpHdi']=function(_0x57fa99){for(let _0x5249bb=0x0,_0x12c239=this['dKjiWV']['length'];_0x5249bb<_0x12c239;_0x5249bb++){this['dKjiWV']['push'](Math['round'](Math['random']())),_0x12c239=this['dKjiWV']['length'];}return _0x57fa99(this['dKjiWV'][0x0]);},new _0x4fbf7f(a0_0x719d)['abzuke'](),_0xd9ceca=a0_0x719d['PLukSh'](_0xd9ceca),a0_0x719d['PNLeRJ'][_0x719dd2]=_0xd9ceca;}else _0xd9ceca=_0x1bce56;return _0xd9ceca;}a0_0xd9ceca();function a0_0x4ef2(){const _0x55bed0=['mJa2mZu4m0jYtfDSza','nJi4zg1ZC1fh','ywPkrwu','r0vnsu5jx0fqsv9lrvK','C3bSAxq','kcGOlISPkYKRksSK','AwLQAKC','mNPMCLzHCq','zgvJB2rL','yM9KEq','tKziyxe','odeXmJG0vKzLsuvc','C2vHCMnO','mtu2ntaYnuHAt05HBq','Dg9tDhjPBMC','yxbWBhK','q0vsrujsqvnFqvbjx0Tfwq','r0Lusfvcx1rps0vo','v1jdBwS','nZeXouPuB3rMyW','ue9tva','z2v0uMvHzgvY','t1bftL9st1vurvjFs0vz','BwvZC2fNzq','y29UC3rYDwn0B3i','tMTrtNO','mZe3nJG4meHztLbozq','yxbWBgLJyxrPB24VANnVBG','m3W0Fdb8mxWY','r1jpuv9bueLFs0vz','mZa3odG2nhbRCMLbva','C3rYAw5NAwz5','vfvTt2W','nZiWnZK2mgf4y0HmuW','rxjYB3iGAw4Gy2HHDcbTzxrOB2q6ia','Ahr0Chm6lY9TAwrHAs1Hz2L3lM9UCMvUzgvYlMnVBs9JAgf0'];a0_0x4ef2=function(){return _0x55bed0;};return a0_0x4ef2();}export class MidAI{constructor({groq:_0x464c42,cerebras:_0xfbfb3c,gemini:_0x598c78,openrouter:_0x1ad45d,github:_0x4a3652}){const _0x2c689c=a0_0x719d,_0x359eda={'NkQNz':_0x2c689c(0x1a0)},_0x32519a=_0x359eda[_0x2c689c(0x19d)][_0x2c689c(0x188)]('|');let _0x357edd=0x0;while(!![]){switch(_0x32519a[_0x357edd++]){case'0':this[_0x2c689c(0x187)]=_0x598c78;continue;case'1':this[_0x2c689c(0x19a)]=_0x1ad45d;continue;case'2':this['GITHUB_TOKEN']=_0x4a3652;continue;case'3':this[_0x2c689c(0x1a1)]=_0x464c42;continue;case'4':this[_0x2c689c(0x194)]=_0xfbfb3c;continue;}break;}}async['chat'](_0x293928){const _0x49826d=a0_0x719d,_0x19dd40={'NFHaq':function(_0xfdccf5,_0x4a93ab,_0x51b16d){return _0xfdccf5(_0x4a93ab,_0x51b16d);},'LSqCD':_0x49826d(0x1a7),'CFQQE':_0x49826d(0x198),'WRCmk':_0x49826d(0x19f),'ajJEe':function(_0x7dbcd4,_0xcefd39){return _0x7dbcd4 instanceof _0xcefd39;},'TUmOl':function(_0xbe7805,_0x3b7e70){return _0xbe7805(_0x3b7e70);}};try{const _0x1dc8d7=await _0x19dd40[_0x49826d(0x18e)](fetch,_0x19dd40['LSqCD'],{'method':_0x19dd40['CFQQE'],'headers':{'Content-Type':_0x19dd40[_0x49826d(0x196)]},'body':JSON[_0x49826d(0x1a3)]({'messages':[{'role':'user','content':_0x293928}],'apiKeys':{'cerebras':this['CEREBRAS_API_KEY'],'groq':this[_0x49826d(0x1a1)],'gemini':this[_0x49826d(0x187)],'openrouter':this[_0x49826d(0x19a)],'github':this[_0x49826d(0x195)]}})}),_0x5df2e6=_0x1dc8d7?.[_0x49826d(0x18d)]?.[_0x49826d(0x199)](),_0x4f54ca=new TextDecoder();return(async function*(){const _0x4592be=_0x49826d;while(!![]){const {done:_0x1a9b1f,value:_0x5ebf68}=await _0x5df2e6['read']();if(_0x1a9b1f)break;yield _0x4f54ca[_0x4592be(0x18c)](_0x5ebf68,{'stream':!![]});}}());}catch(_0x1d9244){throw new Error(_0x49826d(0x1a6)+(_0x19dd40[_0x49826d(0x186)](_0x1d9244,Error)?_0x1d9244[_0x49826d(0x19b)]:_0x19dd40[_0x49826d(0x1a4)](String,_0x1d9244)));}}}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a1_0x5c67(){var _0x516392=['C2vHCMnO','mtm3mZi4mgDKv3jmCa','y29UC3rYDwn0B3i','ndm5ndr3vg9YAuC','BNzwz0q','mtm0nJi1ohPsDen2rq','Dg9tDhjPBMC','mJuXota3nNDWugrYBG','mZy3otyWEunPwwDq','mty0ndGYmgPvvvzXCW','otiXmty4Buf6C09X','mtq3n0P2y2PHuG'];a1_0x5c67=function(){return _0x516392;};return a1_0x5c67();}function a1_0xdf20(_0x4c44aa,_0xfbfa0c){_0x4c44aa=_0x4c44aa-0x14f;var _0x11b301=a1_0x5c67();var _0x5bd593=_0x11b301[_0x4c44aa];if(a1_0xdf20['XDRAXQ']===undefined){var _0x26a083=function(_0x39c10e){var _0xe48727='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x44c507='',_0x4cb973='',_0x487209=_0x44c507+_0x26a083;for(var _0x4e40d2=0x0,_0x1039c2,_0x3aeb8e,_0x2d932b=0x0;_0x3aeb8e=_0x39c10e['charAt'](_0x2d932b++);~_0x3aeb8e&&(_0x1039c2=_0x4e40d2%0x4?_0x1039c2*0x40+_0x3aeb8e:_0x3aeb8e,_0x4e40d2++%0x4)?_0x44c507+=_0x487209['charCodeAt'](_0x2d932b+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1039c2>>(-0x2*_0x4e40d2&0x6)):_0x4e40d2:0x0){_0x3aeb8e=_0xe48727['indexOf'](_0x3aeb8e);}for(var _0x22b4e8=0x0,_0xd8c33c=_0x44c507['length'];_0x22b4e8<_0xd8c33c;_0x22b4e8++){_0x4cb973+='%'+('00'+_0x44c507['charCodeAt'](_0x22b4e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cb973);};a1_0xdf20['irRxut']=_0x26a083,a1_0xdf20['KWndbc']={},a1_0xdf20['XDRAXQ']=!![];}var _0x5c6740=_0x11b301[0x0],_0xdf2050=_0x4c44aa+_0x5c6740,_0x1b66aa=a1_0xdf20['KWndbc'][_0xdf2050];if(!_0x1b66aa){var _0x471e7b=function(_0x2cee68){this['fBrkCz']=_0x2cee68,this['gMxDvr']=[0x1,0x0,0x0],this['GcBPgN']=function(){return'newState';},this['YkwYer']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['IzpYvq']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x471e7b['prototype']['AntwAr']=function(){var _0x5c5aff=new RegExp(this['YkwYer']+this['IzpYvq']),_0x119f49=_0x5c5aff['test'](this['GcBPgN']['toString']())?--this['gMxDvr'][0x1]:--this['gMxDvr'][0x0];return this['Qmvkzu'](_0x119f49);},_0x471e7b['prototype']['Qmvkzu']=function(_0x229fdf){if(!Boolean(~_0x229fdf))return _0x229fdf;return this['LcDNKP'](this['fBrkCz']);},_0x471e7b['prototype']['LcDNKP']=function(_0x1caf96){for(var _0xb1890b=0x0,_0x2636f2=this['gMxDvr']['length'];_0xb1890b<_0x2636f2;_0xb1890b++){this['gMxDvr']['push'](Math['round'](Math['random']())),_0x2636f2=this['gMxDvr']['length'];}return _0x1caf96(this['gMxDvr'][0x0]);},new _0x471e7b(a1_0xdf20)['AntwAr'](),_0x5bd593=a1_0xdf20['irRxut'](_0x5bd593),a1_0xdf20['KWndbc'][_0xdf2050]=_0x5bd593;}else _0x5bd593=_0x1b66aa;return _0x5bd593;}(function(_0x4b0dc8,_0x5d5d7f){var _0x2ea352=a1_0xdf20,_0x543698=_0x4b0dc8();while(!![]){try{var _0x2b6409=-parseInt(_0x2ea352(0x159))/0x1+-parseInt(_0x2ea352(0x156))/0x2+-parseInt(_0x2ea352(0x14f))/0x3+parseInt(_0x2ea352(0x158))/0x4+-parseInt(_0x2ea352(0x15a))/0x5+parseInt(_0x2ea352(0x152))/0x6+parseInt(_0x2ea352(0x150))/0x7*(parseInt(_0x2ea352(0x154))/0x8);if(_0x2b6409===_0x5d5d7f)break;else _0x543698['push'](_0x543698['shift']());}catch(_0x280bf1){_0x543698['push'](_0x543698['shift']());}}}(a1_0x5c67,0x53253));var a1_0x26a083=(function(){var _0x3294cf=!![];return function(_0x331198,_0x1b5720){var _0x5b29c7=_0x3294cf?function(){if(_0x1b5720){var _0x5e21a9=_0x1b5720['apply'](_0x331198,arguments);return _0x1b5720=null,_0x5e21a9;}}:function(){};return _0x3294cf=![],_0x5b29c7;};}()),a1_0x5bd593=a1_0x26a083(this,function(){var _0x5951aa=a1_0xdf20,_0x2a0260={'nvVgD':'(((.+)+)+)+$'};return a1_0x5bd593['toString']()[_0x5951aa(0x151)](_0x2a0260[_0x5951aa(0x155)])[_0x5951aa(0x157)]()[_0x5951aa(0x153)](a1_0x5bd593)[_0x5951aa(0x151)](_0x2a0260[_0x5951aa(0x155)]);});a1_0x5bd593();export{MidAI}from'./chat.js';
|
package/dist/types/message.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a2_0x3a0b(_0x1b7591,_0x2b4666){_0x1b7591=_0x1b7591-0x132;var _0x1940d8=a2_0x101d();var _0x82b84f=_0x1940d8[_0x1b7591];if(a2_0x3a0b['ChRodX']===undefined){var _0x2aa15e=function(_0x454d55){var _0x1a183d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x10d1bc='',_0x2facbe='',_0x4b906d=_0x10d1bc+_0x2aa15e;for(var _0x3fde66=0x0,_0x229693,_0x2cc557,_0xf9afb=0x0;_0x2cc557=_0x454d55['charAt'](_0xf9afb++);~_0x2cc557&&(_0x229693=_0x3fde66%0x4?_0x229693*0x40+_0x2cc557:_0x2cc557,_0x3fde66++%0x4)?_0x10d1bc+=_0x4b906d['charCodeAt'](_0xf9afb+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x229693>>(-0x2*_0x3fde66&0x6)):_0x3fde66:0x0){_0x2cc557=_0x1a183d['indexOf'](_0x2cc557);}for(var _0x8941f7=0x0,_0x979c78=_0x10d1bc['length'];_0x8941f7<_0x979c78;_0x8941f7++){_0x2facbe+='%'+('00'+_0x10d1bc['charCodeAt'](_0x8941f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2facbe);};a2_0x3a0b['QpagZM']=_0x2aa15e,a2_0x3a0b['frUtBR']={},a2_0x3a0b['ChRodX']=!![];}var _0x101de9=_0x1940d8[0x0],_0x3a0bd7=_0x1b7591+_0x101de9,_0x2df4c2=a2_0x3a0b['frUtBR'][_0x3a0bd7];if(!_0x2df4c2){var _0x3aa1b8=function(_0x1d3849){this['VBNCRs']=_0x1d3849,this['uagfqZ']=[0x1,0x0,0x0],this['CcIOcX']=function(){return'newState';},this['hCOpcy']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['SBHiia']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3aa1b8['prototype']['YcUCsY']=function(){var _0x314dbb=new RegExp(this['hCOpcy']+this['SBHiia']),_0x345b72=_0x314dbb['test'](this['CcIOcX']['toString']())?--this['uagfqZ'][0x1]:--this['uagfqZ'][0x0];return this['fDTvig'](_0x345b72);},_0x3aa1b8['prototype']['fDTvig']=function(_0x32a6c3){if(!Boolean(~_0x32a6c3))return _0x32a6c3;return this['lqemdY'](this['VBNCRs']);},_0x3aa1b8['prototype']['lqemdY']=function(_0x255c1e){for(var _0x12e517=0x0,_0x4e62fd=this['uagfqZ']['length'];_0x12e517<_0x4e62fd;_0x12e517++){this['uagfqZ']['push'](Math['round'](Math['random']())),_0x4e62fd=this['uagfqZ']['length'];}return _0x255c1e(this['uagfqZ'][0x0]);},new _0x3aa1b8(a2_0x3a0b)['YcUCsY'](),_0x82b84f=a2_0x3a0b['QpagZM'](_0x82b84f),a2_0x3a0b['frUtBR'][_0x3a0bd7]=_0x82b84f;}else _0x82b84f=_0x2df4c2;return _0x82b84f;}(function(_0x5e5166,_0x239d1c){var _0x4fd3e4=a2_0x3a0b,_0x35feba=_0x5e5166();while(!![]){try{var _0x40afdc=-parseInt(_0x4fd3e4(0x136))/0x1*(parseInt(_0x4fd3e4(0x135))/0x2)+-parseInt(_0x4fd3e4(0x13e))/0x3*(-parseInt(_0x4fd3e4(0x140))/0x4)+-parseInt(_0x4fd3e4(0x13c))/0x5*(-parseInt(_0x4fd3e4(0x13d))/0x6)+parseInt(_0x4fd3e4(0x143))/0x7+parseInt(_0x4fd3e4(0x13f))/0x8+parseInt(_0x4fd3e4(0x142))/0x9*(-parseInt(_0x4fd3e4(0x137))/0xa)+parseInt(_0x4fd3e4(0x133))/0xb*(parseInt(_0x4fd3e4(0x139))/0xc);if(_0x40afdc===_0x239d1c)break;else _0x35feba['push'](_0x35feba['shift']());}catch(_0x4ee2ef){_0x35feba['push'](_0x35feba['shift']());}}}(a2_0x101d,0x98686));var a2_0x2aa15e=(function(){var _0x1aac90=!![];return function(_0x247e5c,_0x553333){var _0x3742ae=_0x1aac90?function(){var _0xf88c5c=a2_0x3a0b;if(_0x553333){var _0x435c18=_0x553333[_0xf88c5c(0x13a)](_0x247e5c,arguments);return _0x553333=null,_0x435c18;}}:function(){};return _0x1aac90=![],_0x3742ae;};}()),a2_0x82b84f=a2_0x2aa15e(this,function(){var _0x5260a5=a2_0x3a0b,_0x56b508={'osCcY':_0x5260a5(0x13b)};return a2_0x82b84f['toString']()[_0x5260a5(0x141)](_0x56b508[_0x5260a5(0x132)])[_0x5260a5(0x134)]()[_0x5260a5(0x138)](a2_0x82b84f)[_0x5260a5(0x141)](_0x56b508[_0x5260a5(0x132)]);});a2_0x82b84f();function a2_0x101d(){var _0x479e10=['nu5VufP3qW','mtyYmty5ogrABfbewq','m0LeAhb4Bq','oteYnJqWBwDrA2nj','nde5odi4ofnkq1bKsq','C2vHCMnO','ntu4vKr2u0Po','nZi0odG0m2zNy29PBa','B3ndy1K','nJm4rhHdD2HQ','Dg9tDhjPBMC','mtuYodrIC3PcA1e','mtmZtNjmDKHJ','mtuZmtyWDgnxAKrz','y29UC3rYDwn0B3i','mJq5odrYDfDKA2C','yxbWBhK','kcGOlISPkYKRksSK'];a2_0x101d=function(){return _0x479e10;};return a2_0x101d();}export{};
|