@nivora/matrix 0.1.0
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.
Potentially problematic release.
This version of @nivora/matrix might be problematic. Click here for more details.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +12 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +66 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +90 -0
- package/.next/react-loadable-manifest.json +1 -0
- package/.next/required-server-files.js +165 -0
- package/.next/required-server-files.json +165 -0
- package/.next/routes-manifest.json +109 -0
- package/.next/server/app/_global-error/page.js +3 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +2 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +12 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +4 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +15 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/builder/page.js +24 -0
- package/.next/server/app/builder/page.js.nft.json +1 -0
- package/.next/server/app/builder/page_client-reference-manifest.js +1 -0
- package/.next/server/app/favicon.ico/route.js +1 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/guide/page.js +2 -0
- package/.next/server/app/guide/page.js.nft.json +1 -0
- package/.next/server/app/guide/page_client-reference-manifest.js +1 -0
- package/.next/server/app/matrix/page.js +2 -0
- package/.next/server/app/matrix/page.js.nft.json +1 -0
- package/.next/server/app/matrix/page_client-reference-manifest.js +1 -0
- package/.next/server/app/page.js +2 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app/releases/[id]/page.js +51 -0
- package/.next/server/app/releases/[id]/page.js.nft.json +1 -0
- package/.next/server/app/releases/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/releases/page.js +34 -0
- package/.next/server/app/releases/page.js.nft.json +1 -0
- package/.next/server/app/releases/page_client-reference-manifest.js +1 -0
- package/.next/server/app/specs/[id]/page.js +2 -0
- package/.next/server/app/specs/[id]/page.js.nft.json +1 -0
- package/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +12 -0
- package/.next/server/chunks/13.js +1 -0
- package/.next/server/chunks/135.js +34 -0
- package/.next/server/chunks/390.js +1 -0
- package/.next/server/chunks/445.js +22 -0
- package/.next/server/chunks/471.js +13 -0
- package/.next/server/chunks/476.js +23 -0
- package/.next/server/chunks/530.js +72 -0
- package/.next/server/chunks/870.js +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +2 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/8ZUFcYHRSRlY1FYWZ33gH/_buildManifest.js +1 -0
- package/.next/static/8ZUFcYHRSRlY1FYWZ33gH/_ssgManifest.js +1 -0
- package/.next/static/chunks/4bd1b696-67e30520d621c4dd.js +1 -0
- package/.next/static/chunks/500-b84d19d842172eba.js +1 -0
- package/.next/static/chunks/794-9353bb3ab9a73e90.js +2 -0
- package/.next/static/chunks/app/_global-error/page-aba28f88d5781771.js +1 -0
- package/.next/static/chunks/app/_not-found/page-90fe62e7982fba87.js +1 -0
- package/.next/static/chunks/app/builder/page-e10754eb65a4f784.js +10 -0
- package/.next/static/chunks/app/guide/page-9c9dff9c5e3ddefe.js +1 -0
- package/.next/static/chunks/app/layout-550e25f5579f1a32.js +1 -0
- package/.next/static/chunks/app/matrix/page-b2418abb52a7acd8.js +1 -0
- package/.next/static/chunks/app/page-9c9dff9c5e3ddefe.js +1 -0
- package/.next/static/chunks/app/releases/[id]/page-d8069a1802686478.js +1 -0
- package/.next/static/chunks/app/releases/page-26a520d9789e69f5.js +1 -0
- package/.next/static/chunks/app/specs/[id]/page-7065af5d4d103f16.js +1 -0
- package/.next/static/chunks/framework-d7de93249215fb06.js +1 -0
- package/.next/static/chunks/main-17e3a04cf2f94dca.js +5 -0
- package/.next/static/chunks/main-app-6d93e914b4a54c7e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-aba28f88d5781771.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-aba28f88d5781771.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-ebbdf863aa6a4349.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-aba28f88d5781771.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-aba28f88d5781771.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-650bc85863e2a9e7.js +1 -0
- package/.next/static/css/f29e518c867dffaa.css +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/builder/page.ts +86 -0
- package/.next/types/app/guide/page.ts +86 -0
- package/.next/types/app/layout.ts +86 -0
- package/.next/types/app/matrix/page.ts +86 -0
- package/.next/types/app/page.ts +86 -0
- package/.next/types/app/releases/[id]/page.ts +86 -0
- package/.next/types/app/releases/page.ts +86 -0
- package/.next/types/app/specs/[id]/page.ts +86 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +63 -0
- package/.next/types/validator.ts +115 -0
- package/README.md +185 -0
- package/bin/cli.js +3650 -0
- package/bin/cli.ts +170 -0
- package/next.config.ts +11 -0
- package/package.json +59 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
package/bin/cli.ts
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* @nivora/machine CLI
|
|
4
|
+
*
|
|
5
|
+
* Commands:
|
|
6
|
+
* serve - Start the documentation server
|
|
7
|
+
* sync - Sync FS files to database and index steps
|
|
8
|
+
* init - Initialize a new specs directory
|
|
9
|
+
* search - Semantic search for steps
|
|
10
|
+
* release - Manage releases
|
|
11
|
+
* test - Manage test results
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { Command } from 'commander';
|
|
15
|
+
import { loadConfig } from '../src/config';
|
|
16
|
+
import { serveCommand } from '../src/commands/serve';
|
|
17
|
+
import { syncCommand } from '../src/commands/sync';
|
|
18
|
+
import { initCommand } from '../src/commands/init';
|
|
19
|
+
import { searchCommand } from '../src/commands/search';
|
|
20
|
+
import { releaseCommand } from '../src/commands/release';
|
|
21
|
+
import { importResultsCommand } from '../src/commands/import-results';
|
|
22
|
+
import { testCommand } from '../src/commands/test';
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
const program = new Command();
|
|
26
|
+
|
|
27
|
+
program
|
|
28
|
+
.name('machine')
|
|
29
|
+
.description('Requirements documentation system with semantic search')
|
|
30
|
+
.version('0.1.0');
|
|
31
|
+
|
|
32
|
+
program
|
|
33
|
+
.command('serve')
|
|
34
|
+
.description('Start the documentation server')
|
|
35
|
+
.option('-p, --port <port>', 'Port to run server on', '3000')
|
|
36
|
+
.option('-s, --specs <dir>', 'Specs directory', './specs')
|
|
37
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
38
|
+
.action(async (options) => {
|
|
39
|
+
const config = await loadConfig({
|
|
40
|
+
port: parseInt(options.port, 10),
|
|
41
|
+
specsDir: options.specs,
|
|
42
|
+
dbPath: options.db,
|
|
43
|
+
});
|
|
44
|
+
await serveCommand(config);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
program
|
|
48
|
+
.command('sync')
|
|
49
|
+
.description('Sync FS files to database and index steps')
|
|
50
|
+
.option('-s, --specs <dir>', 'Specs directory', './specs')
|
|
51
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
52
|
+
.action(async (options) => {
|
|
53
|
+
const config = await loadConfig({
|
|
54
|
+
specsDir: options.specs,
|
|
55
|
+
dbPath: options.db,
|
|
56
|
+
});
|
|
57
|
+
await syncCommand(config);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
program
|
|
61
|
+
.command('init')
|
|
62
|
+
.description('Initialize a new specs directory')
|
|
63
|
+
.option('-s, --specs <dir>', 'Specs directory to create', './specs')
|
|
64
|
+
.action(async (options) => {
|
|
65
|
+
const config = await loadConfig({
|
|
66
|
+
specsDir: options.specs,
|
|
67
|
+
});
|
|
68
|
+
await initCommand(config);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
program
|
|
72
|
+
.command('search <query>')
|
|
73
|
+
.description('Semantic search for steps')
|
|
74
|
+
.option('-n, --limit <n>', 'Number of results', '10')
|
|
75
|
+
.option('-s, --specs <dir>', 'Specs directory', './specs')
|
|
76
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
77
|
+
.action(async (query, options) => {
|
|
78
|
+
const config = await loadConfig({
|
|
79
|
+
specsDir: options.specs,
|
|
80
|
+
dbPath: options.db,
|
|
81
|
+
});
|
|
82
|
+
await searchCommand(config, query, parseInt(options.limit, 10));
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// Release command group
|
|
86
|
+
const release = program
|
|
87
|
+
.command('release')
|
|
88
|
+
.description('Manage releases');
|
|
89
|
+
|
|
90
|
+
release
|
|
91
|
+
.command('list')
|
|
92
|
+
.description('List all releases')
|
|
93
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
94
|
+
.action(async (options) => {
|
|
95
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
96
|
+
await releaseCommand(config, 'list');
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
release
|
|
100
|
+
.command('create')
|
|
101
|
+
.description('Create a new release')
|
|
102
|
+
.requiredOption('-v, --version <version>', 'Release version (e.g., 1.0.0)')
|
|
103
|
+
.requiredOption('-n, --name <name>', 'Release name')
|
|
104
|
+
.option('--notes <notes>', 'Release notes')
|
|
105
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
106
|
+
.action(async (options) => {
|
|
107
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
108
|
+
await releaseCommand(config, 'create', {
|
|
109
|
+
version: options.version,
|
|
110
|
+
name: options.name,
|
|
111
|
+
notes: options.notes,
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
release
|
|
116
|
+
.command('tag <releaseId>')
|
|
117
|
+
.description('Tag features to a release')
|
|
118
|
+
.requiredOption('--fs <fsIds...>', 'FS IDs to tag')
|
|
119
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
120
|
+
.action(async (releaseId, options) => {
|
|
121
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
122
|
+
await releaseCommand(config, 'tag', { releaseId, fsIds: options.fs });
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
release
|
|
126
|
+
.command('status <releaseId>')
|
|
127
|
+
.description('Update release status')
|
|
128
|
+
.requiredOption('--status <status>', 'New status (planning|testing|released)')
|
|
129
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
130
|
+
.action(async (releaseId, options) => {
|
|
131
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
132
|
+
await releaseCommand(config, 'status', { releaseId, status: options.status });
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
release
|
|
136
|
+
.command('import-results <file>')
|
|
137
|
+
.description('Import Cucumber JSON results into a release')
|
|
138
|
+
.requiredOption('--releaseId <id>', 'Release ID')
|
|
139
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
140
|
+
.action(async (file, options) => {
|
|
141
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
142
|
+
await importResultsCommand(config, file, { releaseId: options.releaseId });
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
// Test command group
|
|
147
|
+
const test = program
|
|
148
|
+
.command('test')
|
|
149
|
+
.description('Manage test results');
|
|
150
|
+
|
|
151
|
+
test
|
|
152
|
+
.command('import <jsonPath>')
|
|
153
|
+
.description('Import Cucumber JSON test results')
|
|
154
|
+
.requiredOption('-r, --release <releaseId>', 'Release ID')
|
|
155
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
156
|
+
.action(async (jsonPath, options) => {
|
|
157
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
158
|
+
await testCommand(config, 'import', { releaseId: options.release, jsonPath });
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
test
|
|
162
|
+
.command('list <releaseId>')
|
|
163
|
+
.description('List test runs for a release')
|
|
164
|
+
.option('-d, --db <path>', 'Database path', './machine.db')
|
|
165
|
+
.action(async (releaseId, options) => {
|
|
166
|
+
const config = await loadConfig({ dbPath: options.db });
|
|
167
|
+
await testCommand(config, 'list', { releaseId });
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
program.parse();
|
package/next.config.ts
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nivora/matrix",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Requirements documentation system with semantic search",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"matrix": "./bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"bin",
|
|
14
|
+
"dist",
|
|
15
|
+
".next",
|
|
16
|
+
"public",
|
|
17
|
+
"next.config.ts"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "bun --bun next dev",
|
|
21
|
+
"build": "bun --bun next build --webpack",
|
|
22
|
+
"build:package": "NEXT_TELEMETRY_DISABLED=1 bun run build && rm -rf .next/cache && bun build ./bin/cli.ts --outdir ./bin --target node --external fastembed",
|
|
23
|
+
"start": "bun --bun next start",
|
|
24
|
+
"lint": "eslint",
|
|
25
|
+
"db:sync": "bun run src/lib/database/migrate.ts"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"commander": "^14.0.2",
|
|
29
|
+
"fastembed": "^2.1.0",
|
|
30
|
+
"glob": "^13.0.0",
|
|
31
|
+
"gray-matter": "^4.0.3",
|
|
32
|
+
"next": "^16.1.1",
|
|
33
|
+
"react": "19.2.3",
|
|
34
|
+
"react-dom": "19.2.3",
|
|
35
|
+
"react-markdown": "^10.1.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@tailwindcss/postcss": "^4",
|
|
39
|
+
"@types/bun": "^1.3.5",
|
|
40
|
+
"@types/node": "^20",
|
|
41
|
+
"@types/react": "^19",
|
|
42
|
+
"@types/react-dom": "^19",
|
|
43
|
+
"eslint": "^9",
|
|
44
|
+
"eslint-config-next": "16.1.1",
|
|
45
|
+
"tailwindcss": "^4",
|
|
46
|
+
"typescript": "^5"
|
|
47
|
+
},
|
|
48
|
+
"ignoreScripts": [
|
|
49
|
+
"sharp",
|
|
50
|
+
"unrs-resolver"
|
|
51
|
+
],
|
|
52
|
+
"trustedDependencies": [
|
|
53
|
+
"sharp",
|
|
54
|
+
"unrs-resolver"
|
|
55
|
+
],
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
}
|
|
59
|
+
}
|
package/public/file.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
|
package/public/globe.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
|
package/public/next.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
|