@moorchehai/mcp 1.2.1

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 ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,315 @@
1
+ <div align="left">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="assets/moorcheh-logo-dark.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset="assets/moorcheh-logo-light.svg">
5
+ <img width="250px" alt="Moorcheh Logo" src="assets/moorcheh-logo-light.svg">
6
+ </picture>
7
+ <br />
8
+ <h1>Moorcheh MCP Server</h1>
9
+ <p>A Model Context Protocol (MCP) server that provides seamless integration with Moorcheh's Embedding, Vector Store, Search, and Gen AI Answer services. This server enables you to interact with Moorcheh's comprehensive AI capabilities including document embedding, vector storage, semantic search, and AI-powered answer generation through the Model Context Protocol.</p>
10
+ </div>
11
+
12
+
13
+
14
+ ## Quick Start Guide
15
+
16
+ There are two ways to use the Moorcheh MCP server:
17
+
18
+ ### Option 1: NPX (Recommended - No Installation Required)
19
+
20
+ The easiest way to get started:
21
+
22
+ ```bash
23
+ # Set your API key and run directly
24
+ MOORCHEH_API_KEY=your_api_key_here npx -y @moorcheh/mcp
25
+ ```
26
+
27
+ ### Option 2: Manual Installation
28
+
29
+ If you prefer to clone and run locally:
30
+
31
+ 1. **Clone the repository**
32
+ ```bash
33
+ git clone https://github.com/moorcheh-ai/moorcheh-mcp.git
34
+ cd moorcheh-mcp
35
+ ```
36
+
37
+ 2. **Install dependencies**
38
+ ```bash
39
+ npm install
40
+ ```
41
+
42
+ ### Step 2: Configure Your API Key
43
+
44
+ 1. **Get your Moorcheh API key**
45
+ - Visit [Moorcheh Dashboard](https://app.moorcheh.ai)
46
+ - Sign in to your account
47
+ - Go to your account settings
48
+ - Generate or copy your API key
49
+
50
+ 2. **Set up your environment**
51
+ ```bash
52
+ # Copy the example environment file
53
+ cp env.example .env
54
+ ```
55
+
56
+ 3. **Edit the .env file**
57
+ ```bash
58
+ # Open .env in your preferred editor
59
+ # Replace 'your_moorcheh_api_key_here' with your actual API key
60
+ MOORCHEH_API_KEY=your_actual_api_key_here
61
+ ```
62
+
63
+ ### Step 3: Start the Server
64
+
65
+ ```bash
66
+ npm start
67
+ ```
68
+
69
+ That's it! Your Moorcheh MCP server is now running and ready to use.
70
+
71
+ ## Setting Up with Claude Desktop
72
+
73
+ To use the Moorcheh MCP server with Claude Desktop:
74
+
75
+
76
+
77
+ https://github.com/user-attachments/assets/fccbba8e-7393-4b74-8a73-769b55b3f3a3
78
+
79
+
80
+ ### Step 1: Install Claude Desktop
81
+ 1. Download Claude Desktop from [https://claude.ai/download](https://claude.ai/download)
82
+ 2. Install and launch Claude Desktop
83
+
84
+ ### Step 2: Configure MCP Server
85
+
86
+ **Option A: Using NPX (Recommended)**
87
+ 1. In Claude Desktop, go to **Settings** → **Developer**
88
+ 2. Click **Edit Config**
89
+ 3. Configure the server with these settings:
90
+ ```json
91
+ {
92
+ "mcpServers": {
93
+ "moorcheh": {
94
+ "command": "npx",
95
+ "args": ["-y", "@moorcheh/mcp"],
96
+ "env": {
97
+ "MOORCHEH_API_KEY": "your_actual_api_key_here"
98
+ }
99
+ }
100
+ }
101
+ }
102
+ ```
103
+
104
+ **Option B: Local Installation**
105
+ 1. In Claude Desktop, go to **Settings** → **Developer**
106
+ 2. Click **Edit Config**
107
+ 3. Configure the server with these settings:
108
+ ```json
109
+ {
110
+ "mcpServers":{
111
+ "moorcheh": {
112
+ "command": "node",
113
+ "args": [
114
+ "path\\to\\moorcheh-mcp\\src\\server\\index.js"
115
+ ],
116
+ "env": {
117
+ "NODE_ENV": "development"
118
+ }
119
+ }
120
+ }
121
+ }
122
+ ```
123
+
124
+ 3. **Important**:
125
+ - For **Option A**: Replace `your_actual_api_key_here` with your actual Moorcheh API key
126
+ - For **Option B**: Replace `path\\to\\moorcheh-mcp\\src\\server\\index.js` with the actual path to your `index.js` file and create .env in **moorcheh-mcp** with your API key
127
+ 4. Save the configuration file and restart Claude Desktop completely
128
+
129
+ ### Step 3: Test the Connection
130
+ 1. Start a new conversation in Claude Desktop
131
+ 2. Ask Claude to list the available tools: "Can you list down my namespaces?"
132
+ 3. You should see tools like `list-namespaces`, `search`, `answer`, etc.
133
+
134
+ ## Setting Up with Cursor
135
+
136
+ To use the Moorcheh MCP server with Cursor IDE:
137
+
138
+ ### Step 1: Install Cursor
139
+ 1. Download Cursor from [https://cursor.com](https://cursor.com)
140
+ 2. Install and launch Cursor
141
+
142
+ ### Step 2: Configure MCP Server
143
+
144
+ **Option A: Using NPX (Recommended)**
145
+ 1. In Cursor, go to **Settings** → **Tools & integration**
146
+ 2. Click **Add MCP Server**
147
+ 3. Configure the server with these settings:
148
+ ```json
149
+ {
150
+ "mcpServers": {
151
+ "moorcheh": {
152
+ "command": "npx",
153
+ "args": ["-y", "@moorcheh/mcp"],
154
+ "env": {
155
+ "MOORCHEH_API_KEY": "your_actual_api_key_here"
156
+ }
157
+ }
158
+ }
159
+ }
160
+ ```
161
+
162
+ **Option B: Local Installation**
163
+ 1. In Cursor, go to **Settings** → **Tools & integration**
164
+ 2. Click **Add MCP Server**
165
+ 3. Configure the server with these settings:
166
+ ```json
167
+ {
168
+ "mcpServers":{
169
+ "moorcheh": {
170
+ "command": "node",
171
+ "args": [
172
+ "path\\to\\moorcheh-mcp\\src\\server\\index.js"
173
+ ],
174
+ "env": {
175
+ "NODE_ENV": "development"
176
+ }
177
+ }
178
+ }
179
+ }
180
+ ```
181
+
182
+ ### Step 3: Set Your API Key
183
+ - **For Option A**: Replace `your_actual_api_key_here` with your actual Moorcheh API key in the configuration
184
+ - **For Option B**: Create .env in **moorcheh-mcp** directory and add your API key with `MOORCHEH_API_KEY=your_key_here`
185
+
186
+ ### Step 4: Test the Connection
187
+ 1. Open a new chat in Cursor (Cmd/Ctrl + L)
188
+ 2. Ask the AI to list available Moorcheh tools: "What Moorcheh tools can I use?"
189
+ 3. You should see tools like `list-namespaces`, `search`, `answer`, etc.
190
+
191
+
192
+ ## What This Server Does
193
+
194
+ The Moorcheh MCP server provides tools for:
195
+
196
+ - **Namespace Management**: Create, list, and delete namespaces for organizing your data
197
+ - **Document Operations**: Upload and manage text documents and vector embeddings
198
+ - **Advanced Search**: Perform semantic search across your data
199
+ - **AI-Powered Answers**: Get intelligent responses based on your stored data
200
+
201
+ ## Available Tools
202
+
203
+ ### Namespace Tools
204
+ - **`list-namespaces`**: View all your available namespaces
205
+ - **`create-namespace`**: Create a new namespace for storing data
206
+ - **`delete-namespace`**: Remove a namespace and all its contents
207
+
208
+ ### Data Tools
209
+ - **`upload-text`**: Upload text documents to a namespace
210
+ - **`upload-vectors`**: Upload vector embeddings to a namespace
211
+ - **`get-data`**: Retrieve text documents by ID from text namespaces
212
+ - **`delete-data`**: Remove specific data items from a namespace
213
+
214
+ ### Search & AI Tools
215
+ - **`search`**: Search across namespaces with vector similarity
216
+ - **`answer`**: Get AI-generated answers based on top of your search
217
+
218
+ ## Supported Bedrock Models
219
+
220
+ | Model ID | Name | Provider | Description |
221
+ |----------|------|----------|-------------|
222
+ | `anthropic.claude-3-7-sonnet-20250219-v1:0` | Claude 3.7 Sonnet | Anthropic | Latest Claude model with enhanced capabilities |
223
+ | `anthropic.claude-sonnet-4-20250514-v1:0` | Claude Sonnet 4 | Anthropic | Latest Claude model with enhanced capabilities |
224
+ | `meta.llama4-maverick-17b-instruct-v1:0` | Llama 4 Maverick | Meta | Latest Llama model optimized for instruction following |
225
+ | `meta.llama3-3-70b-instruct-v1:0` | Llama 3 70B | Meta | Large Llama model with strong general capabilities |
226
+ | `deepseek.r1-v1:0` | DeepSeek-R1 | DeepSeek | Specialized model for research and analysis |
227
+
228
+ ## Prerequisites
229
+
230
+ - **Node.js**: Version 18.0.0 or higher
231
+ - **Moorcheh Account**: Active account with API access
232
+ - **Git**: For cloning the repository
233
+
234
+ ## Development
235
+
236
+ ### Development Mode
237
+ For development with auto-reload:
238
+ ```bash
239
+ npm run dev
240
+ ```
241
+
242
+ ### Available Scripts
243
+
244
+ | Script | Description |
245
+ |--------|-------------|
246
+ | `npm start` | Start the MCP server |
247
+ | `npm run dev` | Start in development mode with auto-reload |
248
+ | `npm test` | Run tests (when available) |
249
+
250
+
251
+ ## Environment Variables
252
+
253
+ | Variable | Description | Required | Default |
254
+ |----------|-------------|----------|---------|
255
+ | `MOORCHEH_API_KEY` | Your Moorcheh API key | Yes | None |
256
+
257
+ ## Troubleshooting
258
+
259
+ ### Common Issues
260
+
261
+ 1. **"Missing required API_KEY environment variable"**
262
+ - Make sure you've created a `.env` file
263
+ - Verify your API key is correctly set in the `.env` file
264
+ - Check that the API key is valid in your Moorcheh dashboard
265
+
266
+ 2. **"Forbidden: Check your API key"**
267
+ - Your API key may be invalid or expired
268
+ - Generate a new API key from the Moorcheh dashboard
269
+ - Update your `.env` file with the new key
270
+
271
+ 3. **"Network Error"**
272
+ - Check your internet connection
273
+ - Verify the API endpoints are accessible
274
+ - Try again in a few minutes
275
+
276
+ ### Getting Help
277
+
278
+ - **GitHub Issues**: [https://github.com/moorcheh-ai/moorcheh-mcp/issues](https://github.com/moorcheh-ai/moorcheh-mcp/issues)
279
+ - **Moorcheh Documentation**: [https://console.moorcheh.ai/docs/mcp](https://console.moorcheh.ai/docs/mcp)
280
+ - **Moorcheh Dashboard**: [https://console.moorcheh.ai](https://console.moorcheh.ai)
281
+
282
+ ## License
283
+
284
+ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
285
+
286
+ ## Contributing
287
+
288
+ We welcome contributions! Please feel free to submit a Pull Request.
289
+
290
+ ## Changelog
291
+
292
+ ### v1.2.1
293
+ - NPX Support: Added CLI wrapper for seamless `npx -y @moorcheh/mcp` execution
294
+ - Package Structure: Configured for npm registry publishing as `@moorcheh/mcp`
295
+ - CLI Features: Added help, version commands and API key validation
296
+ - User Experience: Improved error messages and installation guidance
297
+
298
+ ### v1.2.0
299
+ - New tool: `get-data` to fetch documents by ID from text namespaces (POST /namespaces/{name}/documents/get)
300
+ - Reliability: Static documentation resources to avoid invalid URI errors in MCP clients
301
+ - Windows compatibility: Use ';' for command chaining in PowerShell
302
+ - Stability: Ensured stdout handling respects MCP JSON-RPC framing
303
+
304
+ ### v1.1.0
305
+ - Enhanced prompt system with dynamic content generation
306
+ - Added comprehensive argument schemas with Zod validation
307
+ - Improved search optimization, data organization, and AI answer setup prompts
308
+ - Updated prompt registration to use new MCP SDK signature
309
+ - Better user guidance and interactive prompt responses
310
+
311
+ ### v1.0.0
312
+ - Initial release with MCP server functionality
313
+ - Support for text and vector operations
314
+ - AI-powered answer generation
315
+ - Comprehensive documentation
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="1500.000000pt" height="600.000000pt" viewBox="0 0 1500.000000 600.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+
8
+ <g transform="translate(0.000000,600.000000) scale(0.100000,-0.100000)"
9
+ fill="#ffffff" stroke="none">
10
+ <path d="M2969 4960 c-86 -15 -165 -72 -203 -147 -21 -41 -21 -109 -1 -117 16
11
+ -6 25 8 45 71 15 49 71 110 120 131 75 32 255 11 399 -47 56 -22 66 -30 69
12
+ -53 4 -35 24 -50 63 -46 62 6 67 75 7 98 -18 6 -55 22 -83 35 -131 60 -312 93
13
+ -416 75z"/>
14
+ <path d="M2943 4755 c-55 -28 -95 -68 -121 -121 -27 -58 11 -90 45 -36 26 42
15
+ 75 92 108 110 46 24 153 19 255 -13 106 -34 156 -59 245 -124 62 -45 69 -54
16
+ 67 -80 -6 -57 64 -94 101 -53 49 54 -20 149 -72 100 -11 -11 -12 -9 -7 8 13
17
+ 44 -136 144 -297 201 -52 18 -100 26 -172 30 -93 4 -103 3 -152 -22z"/>
18
+ <path d="M2600 4658 c-51 -13 -110 -57 -144 -106 -24 -33 -31 -56 -34 -105 -5
19
+ -84 22 -149 92 -215 93 -88 212 -130 397 -139 168 -8 203 5 134 49 -19 13 -35
20
+ 26 -35 29 0 4 39 15 86 25 l86 18 -6 35 c-10 61 -74 178 -134 243 -54 58 -126
21
+ 118 -143 118 -4 0 -12 -13 -17 -29 -14 -41 -43 -54 -71 -34 -19 13 -22 23 -19
22
+ 61 3 45 2 47 -27 53 -44 10 -125 8 -165 -3z m81 -74 c12 -15 11 -18 -5 -28
23
+ -69 -41 -82 -55 -103 -106 -25 -63 -56 -79 -72 -37 -22 58 31 146 104 172 52
24
+ 18 60 18 76 -1z m101 -110 c78 -40 58 -164 -28 -180 -45 -8 -91 11 -109 47
25
+ -49 94 41 182 137 133z"/>
26
+ <path d="M2735 4469 c4 -5 4 -21 1 -34 -7 -29 -49 -43 -71 -25 -23 19 -28 6
27
+ -15 -34 27 -82 118 -88 155 -10 19 40 5 78 -36 100 -33 17 -42 18 -34 3z"/>
28
+ <path d="M1278 4384 c-40 -42 -74 -81 -76 -88 -1 -7 7 -21 18 -31 20 -18 21
29
+ -18 76 36 42 41 54 60 51 77 -9 48 22 18 68 -67 58 -106 135 -224 152 -229 6
30
+ -2 20 9 29 24 17 26 17 28 -9 78 -42 80 -155 258 -169 268 -37 23 -67 8 -140
31
+ -68z"/>
32
+ <path d="M526 4441 c-4 -5 -6 -206 -5 -446 l1 -437 35 68 c86 168 219 324 335
33
+ 392 121 72 300 109 406 84 23 -5 42 -8 42 -5 0 3 -28 36 -62 73 -35 36 -106
34
+ 114 -158 173 l-95 106 -247 1 c-138 0 -249 -4 -252 -9z"/>
35
+ <path d="M2144 4436 c-104 -33 -184 -129 -184 -220 0 -82 55 -150 136 -171 42
36
+ -10 56 -9 125 11 42 12 86 27 98 33 30 16 67 70 81 117 11 36 10 48 -9 98 -11
37
+ 31 -21 68 -21 81 0 54 -126 82 -226 51z m114 -58 c20 -20 14 -26 -45 -45 -41
38
+ -13 -74 -33 -114 -70 -31 -29 -59 -50 -63 -46 -14 14 -5 58 20 90 47 62 168
39
+ 105 202 71z"/>
40
+ <path d="M1765 4166 c-52 -24 -125 -95 -125 -121 0 -8 -15 -22 -32 -31 -43
41
+ -22 -67 -43 -84 -75 -11 -23 -10 -33 11 -85 13 -32 33 -67 45 -76 19 -15 24
42
+ -15 65 -1 36 12 51 12 79 3 43 -14 83 5 170 79 46 39 68 51 100 53 36 3 43 8
43
+ 63 43 13 22 23 43 23 46 0 3 -22 20 -48 37 -36 23 -57 48 -81 92 l-32 60 -52
44
+ 0 c-33 0 -70 -9 -102 -24z m100 -60 c0 -13 -18 -30 -50 -49 -27 -16 -61 -40
45
+ -76 -53 -14 -13 -28 -24 -31 -24 -15 0 -16 34 -2 64 30 63 159 113 159 62z
46
+ m-215 -186 c0 -20 -43 -45 -59 -36 -18 11 -13 44 11 68 20 20 22 20 35 3 7
47
+ -11 13 -26 13 -35z"/>
48
+ <path d="M3130 4163 c-39 -7 -46 -21 -17 -34 30 -14 82 0 82 22 0 15 -24 20
49
+ -65 12z"/>
50
+ <path d="M2468 4066 c-32 -36 -58 -68 -58 -71 0 -4 45 -4 99 0 55 4 128 4 163
51
+ 0 l63 -7 161 -161 c88 -89 172 -178 187 -197 l26 -35 1 215 0 215 -157 0
52
+ c-193 0 -241 12 -423 102 -3 2 -31 -26 -62 -61z"/>
53
+ <path d="M1123 4029 c-111 -19 -217 -81 -331 -197 -82 -82 -128 -149 -174
54
+ -250 -57 -127 -76 -194 -80 -281 l-3 -84 60 -17 c33 -9 81 -20 107 -24 47 -7
55
+ 47 -7 74 34 27 41 27 42 8 53 -31 18 -125 110 -139 137 -16 32 -29 120 -17
56
+ 120 4 0 19 -25 31 -55 25 -61 98 -148 143 -171 17 -9 31 -14 32 -12 31 51 68
57
+ 105 104 151 l44 58 -24 27 c-38 42 -85 114 -111 173 l-24 54 -7 -59 c-6 -47
58
+ -16 -70 -48 -113 -22 -29 -46 -53 -54 -53 -7 0 -16 15 -19 33 -9 44 22 111 79
59
+ 176 25 28 46 61 46 71 0 34 17 22 25 -17 12 -69 96 -201 161 -256 l30 -26 75
60
+ 25 c41 13 145 43 232 66 181 48 177 44 177 155 0 80 -21 130 -83 194 -49 51
61
+ -94 75 -168 89 -58 11 -73 11 -146 -1z m148 -69 c37 -20 13 -91 -26 -76 -25 9
62
+ -40 53 -25 71 15 18 24 19 51 5z m-133 -38 c4 -40 -9 -57 -61 -84 -22 -11 -63
63
+ -38 -90 -60 -45 -35 -52 -37 -65 -24 -9 8 -15 34 -16 60 -1 52 5 58 109 111
64
+ 87 45 119 44 123 -3z m-498 -557 c0 -23 -32 -60 -43 -48 -10 9 -9 38 3 68 9
65
+ 23 13 25 25 15 8 -7 15 -22 15 -35z"/>
66
+ <path d="M2213 4030 c-15 -6 -23 -18 -23 -32 0 -40 20 -97 44 -124 20 -24 32
67
+ -27 97 -31 41 -3 133 0 204 5 l130 10 34 -36 c19 -21 82 -86 140 -146 95 -98
68
+ 107 -108 129 -100 14 5 30 17 36 26 9 15 -12 41 -144 174 l-155 156 -190 -5
69
+ c-104 -3 -197 -8 -206 -12 -13 -5 -17 3 -22 46 -9 74 -25 89 -74 69z"/>
70
+ <path d="M14138 4015 c-26 -8 -56 -27 -67 -41 -51 -65 -51 -181 1 -240 36 -41
71
+ 79 -54 183 -54 145 0 205 51 205 176 0 70 -24 116 -78 147 -44 26 -179 33
72
+ -244 12z"/>
73
+ <path d="M8210 3235 l0 -775 184 0 185 0 3 338 c3 331 3 338 27 385 60 123
74
+ 233 144 296 37 19 -33 20 -54 23 -397 l3 -363 185 0 185 0 -3 423 -3 422 -28
75
+ 60 c-36 78 -95 137 -171 172 -55 25 -72 28 -166 28 -94 0 -111 -3 -165 -28
76
+ -69 -32 -115 -73 -156 -136 l-29 -45 0 327 0 327 -185 0 -185 0 0 -775z"/>
77
+ <path d="M10820 3235 l0 -775 184 0 185 0 3 338 c3 331 3 338 27 385 60 123
78
+ 233 144 296 37 19 -33 20 -54 23 -397 l3 -363 185 0 185 0 -3 423 -3 422 -28
79
+ 60 c-36 78 -95 137 -171 172 -55 25 -72 28 -166 28 -94 0 -111 -3 -165 -28
80
+ -69 -32 -115 -73 -156 -136 l-29 -45 0 327 0 327 -185 0 -185 0 0 -775z"/>
81
+ <path d="M1935 3864 c-33 -35 -30 -114 6 -206 14 -36 108 -98 198 -132 56 -22
82
+ 70 -32 76 -54 3 -14 34 -85 67 -157 33 -71 69 -153 79 -182 22 -58 39 -69 77
83
+ -50 51 24 54 18 -147 412 l-36 70 -120 61 -120 61 -3 84 c-2 59 -7 89 -19 101
84
+ -21 24 -30 23 -58 -8z"/>
85
+ <path d="M2505 3779 c-66 -5 -141 -7 -167 -4 -46 5 -46 5 -97 -52 l-51 -57 54
86
+ -28 55 -28 93 -185 c51 -102 95 -185 98 -184 3 0 30 29 60 65 30 35 58 64 63
87
+ 64 4 0 7 -94 7 -210 l0 -209 46 -78 c52 -89 93 -141 176 -230 68 -72 76 -108
88
+ 32 -142 -50 -39 -128 -16 -214 65 l-51 47 3 -129 3 -129 248 -3 247 -2 1 37
89
+ c0 21 0 243 0 493 l-1 455 -91 85 c-51 47 -158 149 -238 228 -81 78 -149 141
90
+ -151 141 -3 -1 -59 -6 -125 -10z"/>
91
+ <path d="M1652 3745 c-33 -24 -55 -73 -48 -107 4 -18 1 -30 -7 -32 -6 -2 -86
92
+ -26 -177 -54 -91 -28 -217 -65 -280 -82 -63 -18 -123 -40 -133 -49 -22 -21
93
+ -196 -274 -268 -389 -49 -80 -51 -84 -34 -103 10 -10 31 -19 46 -19 26 0 38
94
+ 17 160 223 72 122 133 224 135 225 1 2 77 24 167 48 168 45 306 93 395 138 44
95
+ 22 55 34 82 90 36 72 38 119 5 124 -11 1 -30 -5 -43 -13z"/>
96
+ <path d="M3006 3574 c-14 -37 -3 -56 82 -129 99 -87 203 -153 255 -162 29 -4
97
+ 36 -2 42 16 9 29 2 36 -60 65 -73 33 -126 71 -219 155 -43 39 -82 71 -86 71
98
+ -4 0 -11 -7 -14 -16z"/>
99
+ <path d="M3795 3553 c-108 -23 -191 -67 -266 -142 -106 -107 -152 -228 -152
100
+ -406 0 -173 42 -290 145 -400 102 -109 246 -165 428 -165 182 0 326 56 428
101
+ 164 103 111 143 222 143 401 0 184 -42 297 -150 406 -44 43 -88 76 -131 97
102
+ -125 59 -298 77 -445 45z m209 -254 c53 -13 92 -49 119 -108 29 -64 36 -254
103
+ 13 -335 -32 -108 -118 -168 -218 -152 -62 10 -105 43 -136 106 -25 52 -27 63
104
+ -27 195 0 133 1 143 28 197 29 59 53 81 108 96 46 14 63 14 113 1z"/>
105
+ <path d="M5100 3554 c-261 -56 -420 -263 -420 -549 0 -359 239 -579 610 -562
106
+ 337 15 540 227 540 562 0 345 -228 567 -580 564 -47 0 -114 -7 -150 -15z m253
107
+ -272 c38 -21 73 -70 87 -121 31 -109 20 -289 -23 -366 -42 -74 -129 -109 -215
108
+ -86 -57 16 -95 51 -123 113 -20 47 -23 68 -23 183 0 114 3 136 23 182 27 61
109
+ 55 90 108 109 47 18 124 11 166 -14z"/>
110
+ <path d="M6602 3555 c-86 -26 -144 -81 -195 -180 l-25 -50 -6 55 c-3 30 -7 80
111
+ -9 110 l-2 55 -162 3 -163 2 0 -545 0 -545 185 0 185 0 0 301 c0 328 3 354 53
112
+ 415 59 71 190 105 294 75 37 -11 34 -20 53 149 6 52 13 107 16 122 5 24 1 28
113
+ -33 37 -51 15 -138 13 -191 -4z"/>
114
+ <path d="M7345 3556 c-275 -64 -425 -258 -425 -551 0 -349 223 -565 585 -565
115
+ 181 0 332 56 423 155 50 54 102 161 85 175 -11 9 -297 100 -315 100 -8 0 -19
116
+ -18 -25 -42 -23 -86 -102 -136 -196 -125 -72 9 -119 44 -154 114 -26 54 -28
117
+ 66 -28 178 1 173 30 250 110 290 56 27 144 27 182 -1 40 -30 72 -81 80 -126 3
118
+ -23 10 -37 17 -35 6 2 82 28 169 56 179 60 177 57 131 150 -50 100 -157 182
119
+ -285 217 -78 21 -280 27 -354 10z"/>
120
+ <path d="M9943 3559 c-208 -35 -375 -192 -423 -399 -17 -71 -17 -239 -1 -310
121
+ 48 -205 200 -350 413 -394 217 -45 448 8 570 130 42 42 97 129 87 138 -2 2
122
+ -69 25 -149 51 -114 38 -145 45 -149 34 -9 -29 -78 -87 -116 -98 -152 -42
123
+ -276 27 -309 172 l-6 27 375 0 375 0 0 118 c0 187 -42 304 -145 401 -123 116
124
+ -316 164 -522 130z m234 -275 c34 -25 69 -86 78 -136 l7 -38 -196 0 c-190 0
125
+ -196 1 -196 20 0 30 27 91 53 119 57 62 192 81 254 35z"/>
126
+ <path d="M13126 3560 c-128 -23 -216 -69 -290 -152 -40 -43 -86 -136 -86 -171
127
+ 0 -7 60 -26 155 -48 l155 -36 11 36 c7 20 19 46 27 59 40 61 182 88 238 46 45
128
+ -33 67 -70 72 -122 5 -59 31 -48 -231 -102 -217 -45 -264 -60 -329 -106 -129
129
+ -91 -145 -311 -30 -425 139 -138 464 -130 604 14 32 33 41 38 49 26 5 -8 9
130
+ -17 9 -20 0 -19 81 -81 125 -96 60 -21 203 -24 256 -5 l37 13 6 87 c4 48 10
131
+ 95 12 104 5 16 0 17 -40 12 -39 -6 -48 -3 -70 19 l-26 26 0 234 c0 128 -5 260
132
+ -11 292 -12 68 -46 140 -89 188 -34 40 -131 93 -204 114 -62 17 -282 25 -350
133
+ 13z m284 -693 c0 -112 -75 -187 -186 -187 -42 0 -59 5 -83 26 -26 22 -31 33
134
+ -31 70 0 73 30 92 200 128 104 22 100 24 100 -37z"/>
135
+ <path d="M14060 3005 l0 -545 185 0 185 0 0 545 0 545 -185 0 -185 0 0 -545z"/>
136
+ <path d="M1966 3432 c-34 -37 -85 -91 -112 -120 l-49 -53 -60 58 c-34 32 -80
137
+ 80 -104 106 l-43 49 -66 -35 c-37 -19 -96 -47 -131 -61 -48 -19 -83 -44 -137
138
+ -96 -39 -39 -77 -70 -83 -70 -30 0 -1 -41 111 -158 248 -257 503 -512 513
139
+ -512 6 0 124 119 263 264 l252 265 -34 78 c-81 187 -128 289 -139 300 -7 6
140
+ -36 21 -65 32 l-53 20 -63 -67z"/>
141
+ <path d="M1183 3337 c-99 -20 -102 -21 -122 -58 -12 -20 -21 -39 -21 -43 0
142
+ -26 146 27 218 78 28 21 52 40 52 42 0 6 -15 4 -127 -19z"/>
143
+ <path d="M524 3128 c3 -13 6 -81 6 -153 l1 -130 29 35 c42 49 132 208 125 220
144
+ -3 5 -14 10 -24 10 -10 0 -44 9 -76 20 -72 25 -69 25 -61 -2z"/>
145
+ <path d="M988 3137 c-7 -8 -44 -69 -82 -136 -45 -78 -79 -128 -97 -138 -16
146
+ -10 -60 -65 -99 -125 -38 -59 -97 -136 -130 -171 l-60 -65 7 -76 6 -76 256 2
147
+ 256 3 0 397 0 398 -22 0 c-12 0 -28 -6 -35 -13z"/>
148
+ <path d="M2456 3058 c-14 -20 -12 -29 46 -137 115 -219 218 -350 286 -368 50
149
+ -12 58 50 10 75 -66 34 -115 100 -199 263 -101 198 -112 211 -143 167z"/>
150
+ <path d="M648 2873 c-14 -16 -63 -80 -110 -143 -121 -162 -181 -222 -267 -262
151
+ -63 -29 -71 -36 -69 -58 2 -20 9 -26 33 -28 83 -8 298 196 444 421 36 55 41
152
+ 70 31 82 -18 22 -33 19 -62 -12z"/>
153
+ <path d="M12245 2811 c-76 -35 -105 -85 -105 -179 0 -75 30 -128 90 -162 63
154
+ -35 186 -36 245 -2 56 32 87 82 93 147 8 93 -29 163 -102 196 -55 25 -167 25
155
+ -221 0z"/>
156
+ </g>
157
+ </svg>