neogrok 0.0.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 +21 -0
- package/README.md +88 -0
- package/build/client/_app/immutable/assets/0.5df5b886.css +1 -0
- package/build/client/_app/immutable/assets/0.5df5b886.css.br +0 -0
- package/build/client/_app/immutable/assets/0.5df5b886.css.gz +0 -0
- package/build/client/_app/immutable/assets/_layout.bb9a93e0.css +1 -0
- package/build/client/_app/immutable/assets/_layout.bb9a93e0.css.br +0 -0
- package/build/client/_app/immutable/assets/_layout.bb9a93e0.css.gz +0 -0
- package/build/client/_app/immutable/chunks/5.4ed993c7.js +1 -0
- package/build/client/_app/immutable/chunks/5.4ed993c7.js.br +0 -0
- package/build/client/_app/immutable/chunks/5.4ed993c7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/each.ece37974.js +1 -0
- package/build/client/_app/immutable/chunks/each.ece37974.js.br +0 -0
- package/build/client/_app/immutable/chunks/each.ece37974.js.gz +0 -0
- package/build/client/_app/immutable/chunks/example-query.ac8ef50a.js +1 -0
- package/build/client/_app/immutable/chunks/example-query.ac8ef50a.js.br +0 -0
- package/build/client/_app/immutable/chunks/example-query.ac8ef50a.js.gz +0 -0
- package/build/client/_app/immutable/chunks/index.81a0017d.js +1 -0
- package/build/client/_app/immutable/chunks/index.81a0017d.js.br +0 -0
- package/build/client/_app/immutable/chunks/index.81a0017d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/index.d0e6da70.js +1 -0
- package/build/client/_app/immutable/chunks/index.d0e6da70.js.br +0 -0
- package/build/client/_app/immutable/chunks/index.d0e6da70.js.gz +0 -0
- package/build/client/_app/immutable/chunks/input-colors.e7674f0c.js +1 -0
- package/build/client/_app/immutable/chunks/input-colors.e7674f0c.js.br +0 -0
- package/build/client/_app/immutable/chunks/input-colors.e7674f0c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/integer-input.e86d05ad.js +1 -0
- package/build/client/_app/immutable/chunks/integer-input.e86d05ad.js.br +0 -0
- package/build/client/_app/immutable/chunks/integer-input.e86d05ad.js.gz +0 -0
- package/build/client/_app/immutable/chunks/link.70630bff.js +1 -0
- package/build/client/_app/immutable/chunks/link.70630bff.js.br +0 -0
- package/build/client/_app/immutable/chunks/link.70630bff.js.gz +0 -0
- package/build/client/_app/immutable/chunks/preferences.e389d16d.js +1 -0
- package/build/client/_app/immutable/chunks/preferences.e389d16d.js.br +0 -0
- package/build/client/_app/immutable/chunks/preferences.e389d16d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/regexp.50bc0e87.js +1 -0
- package/build/client/_app/immutable/chunks/regexp.50bc0e87.js.br +2 -0
- package/build/client/_app/immutable/chunks/regexp.50bc0e87.js.gz +0 -0
- package/build/client/_app/immutable/chunks/scheduler.80902d3b.js +1 -0
- package/build/client/_app/immutable/chunks/scheduler.80902d3b.js.br +0 -0
- package/build/client/_app/immutable/chunks/scheduler.80902d3b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/singletons.a17b5cab.js +1 -0
- package/build/client/_app/immutable/chunks/singletons.a17b5cab.js.br +0 -0
- package/build/client/_app/immutable/chunks/singletons.a17b5cab.js.gz +0 -0
- package/build/client/_app/immutable/chunks/stores.a4da01c2.js +1 -0
- package/build/client/_app/immutable/chunks/stores.a4da01c2.js.br +0 -0
- package/build/client/_app/immutable/chunks/stores.a4da01c2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/toggle-search-type.f1a3061d.js +1 -0
- package/build/client/_app/immutable/chunks/toggle-search-type.f1a3061d.js.br +0 -0
- package/build/client/_app/immutable/chunks/toggle-search-type.f1a3061d.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.4673b9f2.js +1 -0
- package/build/client/_app/immutable/entry/app.4673b9f2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.4673b9f2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.6bed40d3.js +3 -0
- package/build/client/_app/immutable/entry/start.6bed40d3.js.br +0 -0
- package/build/client/_app/immutable/entry/start.6bed40d3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.529467ca.js +1 -0
- package/build/client/_app/immutable/nodes/0.529467ca.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.529467ca.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.abd8d795.js +1 -0
- package/build/client/_app/immutable/nodes/1.abd8d795.js.br +5 -0
- package/build/client/_app/immutable/nodes/1.abd8d795.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.28836ccc.js +9 -0
- package/build/client/_app/immutable/nodes/10.28836ccc.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.28836ccc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.93ac6006.js +25 -0
- package/build/client/_app/immutable/nodes/11.93ac6006.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.93ac6006.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.67089c6b.js +11 -0
- package/build/client/_app/immutable/nodes/12.67089c6b.js.br +0 -0
- package/build/client/_app/immutable/nodes/12.67089c6b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.418c6178.js +5 -0
- package/build/client/_app/immutable/nodes/13.418c6178.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.418c6178.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.40bc0592.js +161 -0
- package/build/client/_app/immutable/nodes/14.40bc0592.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.40bc0592.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.08d89d34.js +9 -0
- package/build/client/_app/immutable/nodes/2.08d89d34.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.08d89d34.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.a382d3d5.js +8 -0
- package/build/client/_app/immutable/nodes/3.a382d3d5.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.a382d3d5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.37e53904.js +8 -0
- package/build/client/_app/immutable/nodes/4.37e53904.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.37e53904.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.6cd1e711.js +14 -0
- package/build/client/_app/immutable/nodes/6.6cd1e711.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.6cd1e711.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.b6576b19.js +8 -0
- package/build/client/_app/immutable/nodes/7.b6576b19.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.b6576b19.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.b18d1c14.js +7 -0
- package/build/client/_app/immutable/nodes/8.b18d1c14.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.b18d1c14.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.b3dcb728.js +12 -0
- package/build/client/_app/immutable/nodes/9.b3dcb728.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.b3dcb728.js.gz +0 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/android-chrome-192x192.png +0 -0
- package/build/client/android-chrome-512x512.png +0 -0
- package/build/client/apple-touch-icon.png +0 -0
- package/build/client/favicon-16x16.png +0 -0
- package/build/client/favicon-32x32.png +0 -0
- package/build/client/favicon.ico +0 -0
- package/build/client/site.webmanifest +19 -0
- package/build/env.js +37 -0
- package/build/handler.js +1307 -0
- package/build/index.js +225 -0
- package/build/server/chunks/0-040b7d6d.js +27 -0
- package/build/server/chunks/0-040b7d6d.js.map +1 -0
- package/build/server/chunks/1-5c251174.js +9 -0
- package/build/server/chunks/1-5c251174.js.map +1 -0
- package/build/server/chunks/10-f6f67083.js +133 -0
- package/build/server/chunks/10-f6f67083.js.map +1 -0
- package/build/server/chunks/11-1055c6c2.js +9 -0
- package/build/server/chunks/11-1055c6c2.js.map +1 -0
- package/build/server/chunks/12-fb53c717.js +9 -0
- package/build/server/chunks/12-fb53c717.js.map +1 -0
- package/build/server/chunks/13-7237c6c6.js +85 -0
- package/build/server/chunks/13-7237c6c6.js.map +1 -0
- package/build/server/chunks/14-6241604d.js +9 -0
- package/build/server/chunks/14-6241604d.js.map +1 -0
- package/build/server/chunks/2-bd870b05.js +9 -0
- package/build/server/chunks/2-bd870b05.js.map +1 -0
- package/build/server/chunks/3-255408ab.js +57 -0
- package/build/server/chunks/3-255408ab.js.map +1 -0
- package/build/server/chunks/4-99742ef4.js +57 -0
- package/build/server/chunks/4-99742ef4.js.map +1 -0
- package/build/server/chunks/5-369c06ab.js +19 -0
- package/build/server/chunks/5-369c06ab.js.map +1 -0
- package/build/server/chunks/6-fc810a9f.js +57 -0
- package/build/server/chunks/6-fc810a9f.js.map +1 -0
- package/build/server/chunks/7-992dd8b0.js +57 -0
- package/build/server/chunks/7-992dd8b0.js.map +1 -0
- package/build/server/chunks/8-a92e2ef7.js +454 -0
- package/build/server/chunks/8-a92e2ef7.js.map +1 -0
- package/build/server/chunks/9-55cb67b6.js +59 -0
- package/build/server/chunks/9-55cb67b6.js.map +1 -0
- package/build/server/chunks/_error.svelte-dd890063.js +13 -0
- package/build/server/chunks/_error.svelte-dd890063.js.map +1 -0
- package/build/server/chunks/_layout.svelte-9a1c428f.js +37 -0
- package/build/server/chunks/_layout.svelte-9a1c428f.js.map +1 -0
- package/build/server/chunks/_layout.svelte-bed2b2d4.js +39 -0
- package/build/server/chunks/_layout.svelte-bed2b2d4.js.map +1 -0
- package/build/server/chunks/_page.svelte-2f290f09.js +30 -0
- package/build/server/chunks/_page.svelte-2f290f09.js.map +1 -0
- package/build/server/chunks/_page.svelte-33789d2d.js +36 -0
- package/build/server/chunks/_page.svelte-33789d2d.js.map +1 -0
- package/build/server/chunks/_page.svelte-5bb56058.js +41 -0
- package/build/server/chunks/_page.svelte-5bb56058.js.map +1 -0
- package/build/server/chunks/_page.svelte-701b9558.js +284 -0
- package/build/server/chunks/_page.svelte-701b9558.js.map +1 -0
- package/build/server/chunks/_page.svelte-7848979a.js +396 -0
- package/build/server/chunks/_page.svelte-7848979a.js.map +1 -0
- package/build/server/chunks/_page.svelte-7a8514c3.js +37 -0
- package/build/server/chunks/_page.svelte-7a8514c3.js.map +1 -0
- package/build/server/chunks/_page.svelte-9ea0ef4c.js +120 -0
- package/build/server/chunks/_page.svelte-9ea0ef4c.js.map +1 -0
- package/build/server/chunks/_page.svelte-a1e80515.js +30 -0
- package/build/server/chunks/_page.svelte-a1e80515.js.map +1 -0
- package/build/server/chunks/_page.svelte-cf45c2db.js +124 -0
- package/build/server/chunks/_page.svelte-cf45c2db.js.map +1 -0
- package/build/server/chunks/_page.svelte-dcbbe643.js +56 -0
- package/build/server/chunks/_page.svelte-dcbbe643.js.map +1 -0
- package/build/server/chunks/_page.svelte-f4064b9c.js +30 -0
- package/build/server/chunks/_page.svelte-f4064b9c.js.map +1 -0
- package/build/server/chunks/_server.ts-93a1fbab.js +354 -0
- package/build/server/chunks/_server.ts-93a1fbab.js.map +1 -0
- package/build/server/chunks/_server.ts-dec04c7b.js +12 -0
- package/build/server/chunks/_server.ts-dec04c7b.js.map +1 -0
- package/build/server/chunks/configuration-d033c4d1.js +48 -0
- package/build/server/chunks/configuration-d033c4d1.js.map +1 -0
- package/build/server/chunks/example-query-99034259.js +39 -0
- package/build/server/chunks/example-query-99034259.js.map +1 -0
- package/build/server/chunks/hooks.server-cb019385.js +32 -0
- package/build/server/chunks/hooks.server-cb019385.js.map +1 -0
- package/build/server/chunks/index-64aa7a5e.js +84 -0
- package/build/server/chunks/index-64aa7a5e.js.map +1 -0
- package/build/server/chunks/index2-7c17b4da.js +100 -0
- package/build/server/chunks/index2-7c17b4da.js.map +1 -0
- package/build/server/chunks/input-colors-c9063ebd.js +15 -0
- package/build/server/chunks/input-colors-c9063ebd.js.map +1 -0
- package/build/server/chunks/integer-input-9f57bf61.js +40 -0
- package/build/server/chunks/integer-input-9f57bf61.js.map +1 -0
- package/build/server/chunks/lifecycle-cbdd95e4.js +84 -0
- package/build/server/chunks/lifecycle-cbdd95e4.js.map +1 -0
- package/build/server/chunks/link-fded4b17.js +11 -0
- package/build/server/chunks/link-fded4b17.js.map +1 -0
- package/build/server/chunks/metrics-a6a74309.js +43 -0
- package/build/server/chunks/metrics-a6a74309.js.map +1 -0
- package/build/server/chunks/navigation-a410b94d.js +22 -0
- package/build/server/chunks/navigation-a410b94d.js.map +1 -0
- package/build/server/chunks/preferences-304b2e02.js +84 -0
- package/build/server/chunks/preferences-304b2e02.js.map +1 -0
- package/build/server/chunks/regexp-5017d573.js +4 -0
- package/build/server/chunks/regexp-5017d573.js.map +1 -0
- package/build/server/chunks/ssr-0f259a0f.js +195 -0
- package/build/server/chunks/ssr-0f259a0f.js.map +1 -0
- package/build/server/chunks/stores-2f0685cf.js +32 -0
- package/build/server/chunks/stores-2f0685cf.js.map +1 -0
- package/build/server/chunks/toggle-search-type-6ced5306.js +106 -0
- package/build/server/chunks/toggle-search-type-6ced5306.js.map +1 -0
- package/build/server/chunks/zoekt-client-dec73ec9.js +26 -0
- package/build/server/chunks/zoekt-client-dec73ec9.js.map +1 -0
- package/build/server/chunks/zoekt-list-repositories-773bcddb.js +100 -0
- package/build/server/chunks/zoekt-list-repositories-773bcddb.js.map +1 -0
- package/build/server/index.js +4070 -0
- package/build/server/index.js.map +1 -0
- package/build/server/manifest.js +142 -0
- package/build/server/manifest.js.map +1 -0
- package/build/shims.js +0 -0
- package/main.js +91 -0
- package/package.json +64 -0
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
import * as v from '@badrap/valita';
|
|
2
|
+
import lucene from 'lucene';
|
|
3
|
+
import { e as escapeRegExp } from './regexp-5017d573.js';
|
|
4
|
+
import { r as redirect } from './index-64aa7a5e.js';
|
|
5
|
+
import { l as listRepositories } from './zoekt-list-repositories-773bcddb.js';
|
|
6
|
+
import { c as configuration } from './configuration-d033c4d1.js';
|
|
7
|
+
import './zoekt-client-dec73ec9.js';
|
|
8
|
+
import './metrics-a6a74309.js';
|
|
9
|
+
import 'prom-client';
|
|
10
|
+
import 'node:fs';
|
|
11
|
+
|
|
12
|
+
const locationSchema = v.object({
|
|
13
|
+
column: v.number(),
|
|
14
|
+
line: v.number(),
|
|
15
|
+
offset: v.number()
|
|
16
|
+
});
|
|
17
|
+
const syntaxErrorSchema = v.object({
|
|
18
|
+
name: v.literal("SyntaxError"),
|
|
19
|
+
message: v.string(),
|
|
20
|
+
location: v.object({ start: locationSchema, end: locationSchema })
|
|
21
|
+
});
|
|
22
|
+
const toZoekt = async ({
|
|
23
|
+
full,
|
|
24
|
+
defs,
|
|
25
|
+
refs,
|
|
26
|
+
path,
|
|
27
|
+
hist,
|
|
28
|
+
type,
|
|
29
|
+
sort,
|
|
30
|
+
project,
|
|
31
|
+
searchall,
|
|
32
|
+
start
|
|
33
|
+
}, { projectToRepo, queryUnknownRepos }) => {
|
|
34
|
+
const queries = [];
|
|
35
|
+
const warnings = [];
|
|
36
|
+
if (full) {
|
|
37
|
+
queries.push(full);
|
|
38
|
+
}
|
|
39
|
+
if (defs) {
|
|
40
|
+
queries.push(`defs:${maybeParenthesize(defs)}`);
|
|
41
|
+
}
|
|
42
|
+
if (refs) {
|
|
43
|
+
queries.push(`refs:${maybeParenthesize(refs)}`);
|
|
44
|
+
}
|
|
45
|
+
if (path) {
|
|
46
|
+
if (path.includes("/")) {
|
|
47
|
+
warnings.push({ code: "PathCannotContainSlashes" });
|
|
48
|
+
} else {
|
|
49
|
+
queries.push(`path:${maybeParenthesize(path)}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (hist) {
|
|
53
|
+
queries.push(`hist:${maybeParenthesize(hist)}`);
|
|
54
|
+
}
|
|
55
|
+
if (queries.length === 0) {
|
|
56
|
+
return { luceneQuery: null, zoektQuery: null, warnings: [] };
|
|
57
|
+
}
|
|
58
|
+
const luceneQuery = queries.join(" ");
|
|
59
|
+
let zoektQuery;
|
|
60
|
+
try {
|
|
61
|
+
const luceneAst = lucene.parse(luceneQuery);
|
|
62
|
+
const renderResult = renderAst(luceneAst);
|
|
63
|
+
({ zoektQuery } = renderResult);
|
|
64
|
+
warnings.push(...renderResult.warnings);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
try {
|
|
67
|
+
const syntaxError = syntaxErrorSchema.parse(e, { mode: "passthrough" });
|
|
68
|
+
return {
|
|
69
|
+
luceneQuery,
|
|
70
|
+
zoektQuery: null,
|
|
71
|
+
warnings: [
|
|
72
|
+
{
|
|
73
|
+
code: "LuceneParseError",
|
|
74
|
+
message: syntaxError.message,
|
|
75
|
+
location: extractQueryLocation(syntaxError.location)
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
};
|
|
79
|
+
} catch {
|
|
80
|
+
throw e;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const zoektParts = [];
|
|
84
|
+
if (sort && // This being analogous to what zoekt does.
|
|
85
|
+
sort !== "relevancy") {
|
|
86
|
+
warnings.push({ code: "SortOrderNotSupported", sortOrder: sort });
|
|
87
|
+
}
|
|
88
|
+
if (start) {
|
|
89
|
+
warnings.push({ code: "PaginationNotSupported" });
|
|
90
|
+
}
|
|
91
|
+
if (!searchall && project) {
|
|
92
|
+
const candidateRepos = /* @__PURE__ */ new Set();
|
|
93
|
+
const converted = /* @__PURE__ */ new Map();
|
|
94
|
+
project.split(",").forEach((p) => {
|
|
95
|
+
const zoektRepo = projectToRepo.get(p);
|
|
96
|
+
if (zoektRepo) {
|
|
97
|
+
converted.set(p, zoektRepo);
|
|
98
|
+
}
|
|
99
|
+
candidateRepos.add(zoektRepo ?? p);
|
|
100
|
+
});
|
|
101
|
+
if (converted.size > 0) {
|
|
102
|
+
warnings.push({
|
|
103
|
+
code: "ConvertedProjects",
|
|
104
|
+
conversions: Object.fromEntries(converted.entries())
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
const unknownRepos = await queryUnknownRepos(candidateRepos);
|
|
108
|
+
if (unknownRepos.size > 0) {
|
|
109
|
+
warnings.push({
|
|
110
|
+
code: "UnknownRepos",
|
|
111
|
+
repos: Array.from(unknownRepos)
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
const knownRepos = Array.from(candidateRepos).filter(
|
|
115
|
+
(r) => !unknownRepos.has(r)
|
|
116
|
+
);
|
|
117
|
+
if (knownRepos.length > 0) {
|
|
118
|
+
zoektParts.push(renderRepoQuery(knownRepos));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (type) {
|
|
122
|
+
const mapped = languageNames.get(type);
|
|
123
|
+
if (!mapped) {
|
|
124
|
+
warnings.push({
|
|
125
|
+
code: "UnsupportedLanguage",
|
|
126
|
+
language: type
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
zoektParts.push(`lang:${mapped}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (zoektQuery === null) {
|
|
133
|
+
return {
|
|
134
|
+
luceneQuery,
|
|
135
|
+
zoektQuery: null,
|
|
136
|
+
warnings
|
|
137
|
+
};
|
|
138
|
+
} else {
|
|
139
|
+
zoektParts.push(zoektQuery);
|
|
140
|
+
return {
|
|
141
|
+
luceneQuery,
|
|
142
|
+
zoektQuery: zoektParts.join(" "),
|
|
143
|
+
warnings
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const renderAst = (astNode, pushDownField) => {
|
|
148
|
+
if ("left" in astNode) {
|
|
149
|
+
const { left, parenthesized } = astNode;
|
|
150
|
+
const field = resolveField(astNode, pushDownField);
|
|
151
|
+
const rendered = "right" in astNode ? renderInfixExpression(
|
|
152
|
+
renderAst(left, field),
|
|
153
|
+
astNode.operator,
|
|
154
|
+
renderAst(astNode.right, field)
|
|
155
|
+
) : renderAst(left, field);
|
|
156
|
+
return parenthesized && rendered.zoektQuery && // Only retain parentheses if we think they're needed; while this simple
|
|
157
|
+
// heuristic produces false positives, it's good enough.
|
|
158
|
+
/\s+/.test(rendered.zoektQuery) ? { zoektQuery: `(${rendered.zoektQuery})`, warnings: rendered.warnings } : rendered;
|
|
159
|
+
} else if ("term" in astNode) {
|
|
160
|
+
return renderTermNode(astNode, pushDownField);
|
|
161
|
+
} else if ("term_min" in astNode) {
|
|
162
|
+
return {
|
|
163
|
+
zoektQuery: null,
|
|
164
|
+
warnings: [
|
|
165
|
+
{
|
|
166
|
+
code: "RangeTermNotSupported",
|
|
167
|
+
// For whatever reason, `termLocation` is not provided on range nodes;
|
|
168
|
+
// fieldLocation is better than nothing; range nodes inherently have a
|
|
169
|
+
// field, so it will always be defined.
|
|
170
|
+
location: extractQueryLocation(astNode.fieldLocation)
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
};
|
|
174
|
+
} else {
|
|
175
|
+
const unreachable = astNode;
|
|
176
|
+
throw new Error(`unreachable ${JSON.stringify(unreachable)}`);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const resolveField = (astField, pushDownField) => {
|
|
180
|
+
if (astField.field && astField.field !== "<implicit>") {
|
|
181
|
+
return {
|
|
182
|
+
name: astField.field,
|
|
183
|
+
location: extractQueryLocation(astField.fieldLocation)
|
|
184
|
+
};
|
|
185
|
+
} else {
|
|
186
|
+
return pushDownField;
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const renderInfixExpression = (left, operator, right) => {
|
|
190
|
+
const warnings = [...left.warnings, ...right.warnings];
|
|
191
|
+
if (left.zoektQuery && right.zoektQuery) {
|
|
192
|
+
let rendered;
|
|
193
|
+
if (operator === "AND" || // In OpenGrok, the default operator is AND
|
|
194
|
+
operator === "<implicit>" || // @ts-expect-error the types incorrectly fail to include this operator
|
|
195
|
+
operator === "&&") {
|
|
196
|
+
rendered = `${left.zoektQuery} ${right.zoektQuery}`;
|
|
197
|
+
} else if (operator === "OR" || // @ts-expect-error the types incorrectly fail to include this operator
|
|
198
|
+
operator === "||") {
|
|
199
|
+
rendered = `${left.zoektQuery} or ${right.zoektQuery}`;
|
|
200
|
+
} else if (operator === "AND NOT" || operator === "NOT") {
|
|
201
|
+
rendered = `${left.zoektQuery} -${// Add parentheses if necessary.
|
|
202
|
+
right.zoektQuery.startsWith("(") ? right.zoektQuery : `${maybeParenthesize(right.zoektQuery)}`}`;
|
|
203
|
+
} else if (operator === "OR NOT") {
|
|
204
|
+
rendered = `${left.zoektQuery} or -${// Add parentheses if necessary.
|
|
205
|
+
right.zoektQuery.startsWith("(") ? right.zoektQuery : `${maybeParenthesize(right.zoektQuery)}`}`;
|
|
206
|
+
} else {
|
|
207
|
+
const unreachable = operator;
|
|
208
|
+
throw new Error(`unreachable ${unreachable}`);
|
|
209
|
+
}
|
|
210
|
+
return { zoektQuery: rendered, warnings };
|
|
211
|
+
} else if (left.zoektQuery) {
|
|
212
|
+
return { zoektQuery: left.zoektQuery, warnings };
|
|
213
|
+
} else if (right.zoektQuery) {
|
|
214
|
+
return { zoektQuery: right.zoektQuery, warnings };
|
|
215
|
+
} else {
|
|
216
|
+
return { zoektQuery: null, warnings };
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
const renderTermNode = (node, pushDownField) => {
|
|
220
|
+
const {
|
|
221
|
+
term,
|
|
222
|
+
prefix,
|
|
223
|
+
quoted,
|
|
224
|
+
regex,
|
|
225
|
+
termLocation,
|
|
226
|
+
boost,
|
|
227
|
+
// @ts-expect-error proximity is missing from the types, but can be
|
|
228
|
+
// produced with something like `"foo bar"~10`
|
|
229
|
+
proximity,
|
|
230
|
+
similarity
|
|
231
|
+
} = node;
|
|
232
|
+
const field = resolveField(node, pushDownField);
|
|
233
|
+
if (field?.name === "hist") {
|
|
234
|
+
return {
|
|
235
|
+
zoektQuery: null,
|
|
236
|
+
warnings: [
|
|
237
|
+
{
|
|
238
|
+
code: "HistoryNotSupported",
|
|
239
|
+
location: field.location
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
if (proximity != null) {
|
|
245
|
+
return {
|
|
246
|
+
zoektQuery: null,
|
|
247
|
+
warnings: [
|
|
248
|
+
{
|
|
249
|
+
code: "ProximityNotSupported",
|
|
250
|
+
location: extractQueryLocation(termLocation)
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
if (similarity != null) {
|
|
256
|
+
return {
|
|
257
|
+
zoektQuery: null,
|
|
258
|
+
warnings: [
|
|
259
|
+
{
|
|
260
|
+
code: "SimilarityNotSupported",
|
|
261
|
+
location: extractQueryLocation(termLocation)
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
const warnings = [];
|
|
267
|
+
if (field?.name === "refs") {
|
|
268
|
+
warnings.push({
|
|
269
|
+
code: "ReferencesNotSupported",
|
|
270
|
+
location: field.location
|
|
271
|
+
});
|
|
272
|
+
} else if (field && field.name !== "defs" && field.name !== "path") {
|
|
273
|
+
return {
|
|
274
|
+
zoektQuery: null,
|
|
275
|
+
warnings: [
|
|
276
|
+
{
|
|
277
|
+
code: "UnsupportedField",
|
|
278
|
+
field: field.name,
|
|
279
|
+
location: field.location
|
|
280
|
+
}
|
|
281
|
+
]
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
if (boost != null) {
|
|
285
|
+
warnings.push({
|
|
286
|
+
code: "BoostNotSupported",
|
|
287
|
+
location: extractQueryLocation(termLocation)
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
let renderedPrefix;
|
|
291
|
+
if (prefix === "!" || prefix === "-") {
|
|
292
|
+
renderedPrefix = "-";
|
|
293
|
+
} else {
|
|
294
|
+
renderedPrefix = "";
|
|
295
|
+
}
|
|
296
|
+
let renderedField;
|
|
297
|
+
if (field?.name === "defs") {
|
|
298
|
+
renderedField = "sym:";
|
|
299
|
+
} else if (field?.name === "path") {
|
|
300
|
+
renderedField = "file:";
|
|
301
|
+
} else {
|
|
302
|
+
renderedField = "";
|
|
303
|
+
}
|
|
304
|
+
let renderedTerm;
|
|
305
|
+
if (regex) {
|
|
306
|
+
renderedTerm = term;
|
|
307
|
+
} else {
|
|
308
|
+
const escapedTerm = escapeLuceneTerm(term);
|
|
309
|
+
renderedTerm = quoted ? `"${escapedTerm}"` : escapedTerm;
|
|
310
|
+
}
|
|
311
|
+
return {
|
|
312
|
+
zoektQuery: `${renderedPrefix}${renderedField}${renderedTerm}`,
|
|
313
|
+
warnings
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
const extractQueryLocation = (luceneLocation) => {
|
|
317
|
+
if (luceneLocation == null) {
|
|
318
|
+
throw new Error("Unexpected null luceneLocation");
|
|
319
|
+
}
|
|
320
|
+
const {
|
|
321
|
+
start: { offset: start },
|
|
322
|
+
end: { offset: end }
|
|
323
|
+
} = luceneLocation;
|
|
324
|
+
return { start, end };
|
|
325
|
+
};
|
|
326
|
+
const languageNames = /* @__PURE__ */ new Map([
|
|
327
|
+
["ada", "ada"],
|
|
328
|
+
["asm", "asm"],
|
|
329
|
+
["bzip2", null],
|
|
330
|
+
["c", "c"],
|
|
331
|
+
["clojure", "clojure"],
|
|
332
|
+
["csharp", "csharp"],
|
|
333
|
+
["cxx", "c++"],
|
|
334
|
+
["eiffel", "eiffel"],
|
|
335
|
+
["elf", null],
|
|
336
|
+
["erlang", "erlang"],
|
|
337
|
+
["file", null],
|
|
338
|
+
["fortran", "fortran"],
|
|
339
|
+
["golang", "golang"],
|
|
340
|
+
["gzip", null],
|
|
341
|
+
["haskell", "haskell"],
|
|
342
|
+
["hcl", "hcl"],
|
|
343
|
+
["jar", null],
|
|
344
|
+
["java", "java"],
|
|
345
|
+
["javaclass", null],
|
|
346
|
+
["javascript", "javascript"],
|
|
347
|
+
["json", "json"],
|
|
348
|
+
["kotlin", "kotlin"],
|
|
349
|
+
["lisp", "lisp"],
|
|
350
|
+
["lua", "lua"],
|
|
351
|
+
["mandoc", "roff"],
|
|
352
|
+
["pascal", "pascal"],
|
|
353
|
+
["perl", "perl"],
|
|
354
|
+
["php", "php"],
|
|
355
|
+
["plain", "text"],
|
|
356
|
+
["plsql", "plsql"],
|
|
357
|
+
["powershell", "powershell"],
|
|
358
|
+
["python", "python"],
|
|
359
|
+
["r", "r"],
|
|
360
|
+
["ruby", "ruby"],
|
|
361
|
+
["rust", "rust"],
|
|
362
|
+
["scala", "scala"],
|
|
363
|
+
["sh", "shell"],
|
|
364
|
+
["sql", "sql"],
|
|
365
|
+
["swift", "swift"],
|
|
366
|
+
["tar", null],
|
|
367
|
+
["tcl", "tcl"],
|
|
368
|
+
["terraform", "terraform"],
|
|
369
|
+
["troff", "troff"],
|
|
370
|
+
["typescript", "typescript"],
|
|
371
|
+
["uuencode", null],
|
|
372
|
+
["vb", "vb6"],
|
|
373
|
+
["verilog", "verilog"],
|
|
374
|
+
["xml", "xml"],
|
|
375
|
+
["zip", null]
|
|
376
|
+
]);
|
|
377
|
+
const maybeParenthesize = (s) => /\s+/.test(s) ? `(${s})` : s;
|
|
378
|
+
const renderRepoQuery = (repos) => `repo:${repos.map(escapeRegExp).map((escaped) => `^${escaped}$`).join("|")}`;
|
|
379
|
+
const escapeLuceneTerm = (s) => s.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(
|
|
380
|
+
/[?*]/g,
|
|
381
|
+
// i.e. `.*` or `.?`
|
|
382
|
+
".$&"
|
|
383
|
+
);
|
|
384
|
+
const load = async ({
|
|
385
|
+
url,
|
|
386
|
+
parent,
|
|
387
|
+
setHeaders,
|
|
388
|
+
fetch
|
|
389
|
+
}) => {
|
|
390
|
+
const extract = (name) => (
|
|
391
|
+
// OpenGrok typically generates URLs with query parameter keys present and
|
|
392
|
+
// values empty, so we really do want || not ??.
|
|
393
|
+
url.searchParams.get(name) || void 0
|
|
394
|
+
);
|
|
395
|
+
const params = {
|
|
396
|
+
full: extract("full"),
|
|
397
|
+
defs: extract("defs"),
|
|
398
|
+
refs: extract("refs"),
|
|
399
|
+
path: extract("path"),
|
|
400
|
+
hist: extract("hist"),
|
|
401
|
+
type: extract("type"),
|
|
402
|
+
sort: extract("sort"),
|
|
403
|
+
project: extract("project"),
|
|
404
|
+
searchall: extract("searchall") === "true" || void 0,
|
|
405
|
+
start: Number.parseInt(extract("start") ?? "", 10) || void 0
|
|
406
|
+
};
|
|
407
|
+
const queryUnknownRepos = async (candidates) => {
|
|
408
|
+
const reposQuery = renderRepoQuery(Array.from(candidates));
|
|
409
|
+
const repositories = await listRepositories({ query: reposQuery }, fetch);
|
|
410
|
+
if (repositories.kind === "error") {
|
|
411
|
+
throw new Error(repositories.error);
|
|
412
|
+
}
|
|
413
|
+
const present = new Set(
|
|
414
|
+
repositories.results.repositories.map(({ name }) => name)
|
|
415
|
+
);
|
|
416
|
+
return new Set(Array.from(candidates).filter((c) => !present.has(c)));
|
|
417
|
+
};
|
|
418
|
+
const { luceneQuery, zoektQuery, warnings } = await toZoekt(params, {
|
|
419
|
+
projectToRepo: configuration.openGrokProjectMappings,
|
|
420
|
+
queryUnknownRepos
|
|
421
|
+
});
|
|
422
|
+
setHeaders({
|
|
423
|
+
"cache-control": "no-store,must-revalidate"
|
|
424
|
+
});
|
|
425
|
+
const { preferences } = await parent();
|
|
426
|
+
if (preferences.openGrokInstantRedirect && zoektQuery) {
|
|
427
|
+
throw redirect(
|
|
428
|
+
301,
|
|
429
|
+
`/?${new URLSearchParams({ q: zoektQuery }).toString()}`
|
|
430
|
+
);
|
|
431
|
+
}
|
|
432
|
+
return {
|
|
433
|
+
params,
|
|
434
|
+
luceneQuery,
|
|
435
|
+
zoektQuery,
|
|
436
|
+
warnings
|
|
437
|
+
};
|
|
438
|
+
};
|
|
439
|
+
|
|
440
|
+
var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
441
|
+
__proto__: null,
|
|
442
|
+
load: load
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
const index = 8;
|
|
446
|
+
let component_cache;
|
|
447
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-9ea0ef4c.js')).default;
|
|
448
|
+
const server_id = "src/routes/(opengrok-compat)/search/+page.server.ts";
|
|
449
|
+
const imports = ["_app/immutable/nodes/8.b18d1c14.js","_app/immutable/chunks/scheduler.80902d3b.js","_app/immutable/chunks/index.d0e6da70.js","_app/immutable/chunks/each.ece37974.js","_app/immutable/chunks/example-query.ac8ef50a.js","_app/immutable/chunks/link.70630bff.js"];
|
|
450
|
+
const stylesheets = [];
|
|
451
|
+
const fonts = [];
|
|
452
|
+
|
|
453
|
+
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
454
|
+
//# sourceMappingURL=8-a92e2ef7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"8-a92e2ef7.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/(opengrok-compat)/search/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import * as v from \"@badrap/valita\";\nimport lucene from \"lucene\";\nimport { e as escapeRegExp } from \"../../../../chunks/regexp.js\";\nimport { r as redirect } from \"../../../../chunks/index.js\";\nimport { l as listRepositories } from \"../../../../chunks/zoekt-list-repositories.js\";\nimport { c as configuration } from \"../../../../chunks/configuration.js\";\nconst locationSchema = v.object({\n column: v.number(),\n line: v.number(),\n offset: v.number()\n});\nconst syntaxErrorSchema = v.object({\n name: v.literal(\"SyntaxError\"),\n message: v.string(),\n location: v.object({ start: locationSchema, end: locationSchema })\n});\nconst toZoekt = async ({\n full,\n defs,\n refs,\n path,\n hist,\n type,\n sort,\n project,\n searchall,\n start\n}, { projectToRepo, queryUnknownRepos }) => {\n const queries = [];\n const warnings = [];\n if (full) {\n queries.push(full);\n }\n if (defs) {\n queries.push(`defs:${maybeParenthesize(defs)}`);\n }\n if (refs) {\n queries.push(`refs:${maybeParenthesize(refs)}`);\n }\n if (path) {\n if (path.includes(\"/\")) {\n warnings.push({ code: \"PathCannotContainSlashes\" });\n } else {\n queries.push(`path:${maybeParenthesize(path)}`);\n }\n }\n if (hist) {\n queries.push(`hist:${maybeParenthesize(hist)}`);\n }\n if (queries.length === 0) {\n return { luceneQuery: null, zoektQuery: null, warnings: [] };\n }\n const luceneQuery = queries.join(\" \");\n let zoektQuery;\n try {\n const luceneAst = lucene.parse(luceneQuery);\n const renderResult = renderAst(luceneAst);\n ({ zoektQuery } = renderResult);\n warnings.push(...renderResult.warnings);\n } catch (e) {\n try {\n const syntaxError = syntaxErrorSchema.parse(e, { mode: \"passthrough\" });\n return {\n luceneQuery,\n zoektQuery: null,\n warnings: [\n {\n code: \"LuceneParseError\",\n message: syntaxError.message,\n location: extractQueryLocation(syntaxError.location)\n }\n ]\n };\n } catch {\n throw e;\n }\n }\n const zoektParts = [];\n if (sort && // This being analogous to what zoekt does.\n sort !== \"relevancy\") {\n warnings.push({ code: \"SortOrderNotSupported\", sortOrder: sort });\n }\n if (start) {\n warnings.push({ code: \"PaginationNotSupported\" });\n }\n if (!searchall && project) {\n const candidateRepos = /* @__PURE__ */ new Set();\n const converted = /* @__PURE__ */ new Map();\n project.split(\",\").forEach((p) => {\n const zoektRepo = projectToRepo.get(p);\n if (zoektRepo) {\n converted.set(p, zoektRepo);\n }\n candidateRepos.add(zoektRepo ?? p);\n });\n if (converted.size > 0) {\n warnings.push({\n code: \"ConvertedProjects\",\n conversions: Object.fromEntries(converted.entries())\n });\n }\n const unknownRepos = await queryUnknownRepos(candidateRepos);\n if (unknownRepos.size > 0) {\n warnings.push({\n code: \"UnknownRepos\",\n repos: Array.from(unknownRepos)\n });\n }\n const knownRepos = Array.from(candidateRepos).filter(\n (r) => !unknownRepos.has(r)\n );\n if (knownRepos.length > 0) {\n zoektParts.push(renderRepoQuery(knownRepos));\n }\n }\n if (type) {\n const mapped = languageNames.get(type);\n if (!mapped) {\n warnings.push({\n code: \"UnsupportedLanguage\",\n language: type\n });\n } else {\n zoektParts.push(`lang:${mapped}`);\n }\n }\n if (zoektQuery === null) {\n return {\n luceneQuery,\n zoektQuery: null,\n warnings\n };\n } else {\n zoektParts.push(zoektQuery);\n return {\n luceneQuery,\n zoektQuery: zoektParts.join(\" \"),\n warnings\n };\n }\n};\nconst renderAst = (astNode, pushDownField) => {\n if (\"left\" in astNode) {\n const { left, parenthesized } = astNode;\n const field = resolveField(astNode, pushDownField);\n const rendered = \"right\" in astNode ? renderInfixExpression(\n renderAst(left, field),\n astNode.operator,\n renderAst(astNode.right, field)\n ) : renderAst(left, field);\n return parenthesized && rendered.zoektQuery && // Only retain parentheses if we think they're needed; while this simple\n // heuristic produces false positives, it's good enough.\n /\\s+/.test(rendered.zoektQuery) ? { zoektQuery: `(${rendered.zoektQuery})`, warnings: rendered.warnings } : rendered;\n } else if (\"term\" in astNode) {\n return renderTermNode(astNode, pushDownField);\n } else if (\"term_min\" in astNode) {\n return {\n zoektQuery: null,\n warnings: [\n {\n code: \"RangeTermNotSupported\",\n // For whatever reason, `termLocation` is not provided on range nodes;\n // fieldLocation is better than nothing; range nodes inherently have a\n // field, so it will always be defined.\n location: extractQueryLocation(astNode.fieldLocation)\n }\n ]\n };\n } else {\n const unreachable = astNode;\n throw new Error(`unreachable ${JSON.stringify(unreachable)}`);\n }\n};\nconst resolveField = (astField, pushDownField) => {\n if (astField.field && astField.field !== \"<implicit>\") {\n return {\n name: astField.field,\n location: extractQueryLocation(astField.fieldLocation)\n };\n } else {\n return pushDownField;\n }\n};\nconst renderInfixExpression = (left, operator, right) => {\n const warnings = [...left.warnings, ...right.warnings];\n if (left.zoektQuery && right.zoektQuery) {\n let rendered;\n if (operator === \"AND\" || // In OpenGrok, the default operator is AND\n operator === \"<implicit>\" || // @ts-expect-error the types incorrectly fail to include this operator\n operator === \"&&\") {\n rendered = `${left.zoektQuery} ${right.zoektQuery}`;\n } else if (operator === \"OR\" || // @ts-expect-error the types incorrectly fail to include this operator\n operator === \"||\") {\n rendered = `${left.zoektQuery} or ${right.zoektQuery}`;\n } else if (operator === \"AND NOT\" || operator === \"NOT\") {\n rendered = `${left.zoektQuery} -${// Add parentheses if necessary.\n right.zoektQuery.startsWith(\"(\") ? right.zoektQuery : `${maybeParenthesize(right.zoektQuery)}`}`;\n } else if (operator === \"OR NOT\") {\n rendered = `${left.zoektQuery} or -${// Add parentheses if necessary.\n right.zoektQuery.startsWith(\"(\") ? right.zoektQuery : `${maybeParenthesize(right.zoektQuery)}`}`;\n } else {\n const unreachable = operator;\n throw new Error(`unreachable ${unreachable}`);\n }\n return { zoektQuery: rendered, warnings };\n } else if (left.zoektQuery) {\n return { zoektQuery: left.zoektQuery, warnings };\n } else if (right.zoektQuery) {\n return { zoektQuery: right.zoektQuery, warnings };\n } else {\n return { zoektQuery: null, warnings };\n }\n};\nconst renderTermNode = (node, pushDownField) => {\n const {\n term,\n prefix,\n quoted,\n regex,\n termLocation,\n boost,\n // @ts-expect-error proximity is missing from the types, but can be\n // produced with something like `\"foo bar\"~10`\n proximity,\n similarity\n } = node;\n const field = resolveField(node, pushDownField);\n if (field?.name === \"hist\") {\n return {\n zoektQuery: null,\n warnings: [\n {\n code: \"HistoryNotSupported\",\n location: field.location\n }\n ]\n };\n }\n if (proximity != null) {\n return {\n zoektQuery: null,\n warnings: [\n {\n code: \"ProximityNotSupported\",\n location: extractQueryLocation(termLocation)\n }\n ]\n };\n }\n if (similarity != null) {\n return {\n zoektQuery: null,\n warnings: [\n {\n code: \"SimilarityNotSupported\",\n location: extractQueryLocation(termLocation)\n }\n ]\n };\n }\n const warnings = [];\n if (field?.name === \"refs\") {\n warnings.push({\n code: \"ReferencesNotSupported\",\n location: field.location\n });\n } else if (field && field.name !== \"defs\" && field.name !== \"path\") {\n return {\n zoektQuery: null,\n warnings: [\n {\n code: \"UnsupportedField\",\n field: field.name,\n location: field.location\n }\n ]\n };\n }\n if (boost != null) {\n warnings.push({\n code: \"BoostNotSupported\",\n location: extractQueryLocation(termLocation)\n });\n }\n let renderedPrefix;\n if (prefix === \"!\" || prefix === \"-\") {\n renderedPrefix = \"-\";\n } else {\n renderedPrefix = \"\";\n }\n let renderedField;\n if (field?.name === \"defs\") {\n renderedField = \"sym:\";\n } else if (field?.name === \"path\") {\n renderedField = \"file:\";\n } else {\n renderedField = \"\";\n }\n let renderedTerm;\n if (regex) {\n renderedTerm = term;\n } else {\n const escapedTerm = escapeLuceneTerm(term);\n renderedTerm = quoted ? `\"${escapedTerm}\"` : escapedTerm;\n }\n return {\n zoektQuery: `${renderedPrefix}${renderedField}${renderedTerm}`,\n warnings\n };\n};\nconst extractQueryLocation = (luceneLocation) => {\n if (luceneLocation == null) {\n throw new Error(\"Unexpected null luceneLocation\");\n }\n const {\n start: { offset: start },\n end: { offset: end }\n } = luceneLocation;\n return { start, end };\n};\nconst languageNames = /* @__PURE__ */ new Map([\n [\"ada\", \"ada\"],\n [\"asm\", \"asm\"],\n [\"bzip2\", null],\n [\"c\", \"c\"],\n [\"clojure\", \"clojure\"],\n [\"csharp\", \"csharp\"],\n [\"cxx\", \"c++\"],\n [\"eiffel\", \"eiffel\"],\n [\"elf\", null],\n [\"erlang\", \"erlang\"],\n [\"file\", null],\n [\"fortran\", \"fortran\"],\n [\"golang\", \"golang\"],\n [\"gzip\", null],\n [\"haskell\", \"haskell\"],\n [\"hcl\", \"hcl\"],\n [\"jar\", null],\n [\"java\", \"java\"],\n [\"javaclass\", null],\n [\"javascript\", \"javascript\"],\n [\"json\", \"json\"],\n [\"kotlin\", \"kotlin\"],\n [\"lisp\", \"lisp\"],\n [\"lua\", \"lua\"],\n [\"mandoc\", \"roff\"],\n [\"pascal\", \"pascal\"],\n [\"perl\", \"perl\"],\n [\"php\", \"php\"],\n [\"plain\", \"text\"],\n [\"plsql\", \"plsql\"],\n [\"powershell\", \"powershell\"],\n [\"python\", \"python\"],\n [\"r\", \"r\"],\n [\"ruby\", \"ruby\"],\n [\"rust\", \"rust\"],\n [\"scala\", \"scala\"],\n [\"sh\", \"shell\"],\n [\"sql\", \"sql\"],\n [\"swift\", \"swift\"],\n [\"tar\", null],\n [\"tcl\", \"tcl\"],\n [\"terraform\", \"terraform\"],\n [\"troff\", \"troff\"],\n [\"typescript\", \"typescript\"],\n [\"uuencode\", null],\n [\"vb\", \"vb6\"],\n [\"verilog\", \"verilog\"],\n [\"xml\", \"xml\"],\n [\"zip\", null]\n]);\nconst maybeParenthesize = (s) => /\\s+/.test(s) ? `(${s})` : s;\nconst renderRepoQuery = (repos) => `repo:${repos.map(escapeRegExp).map((escaped) => `^${escaped}$`).join(\"|\")}`;\nconst escapeLuceneTerm = (s) => s.replace(/[.+^${}()|[\\]\\\\]/g, \"\\\\$&\").replace(\n /[?*]/g,\n // i.e. `.*` or `.?`\n \".$&\"\n);\nconst load = async ({\n url,\n parent,\n setHeaders,\n fetch\n}) => {\n const extract = (name) => (\n // OpenGrok typically generates URLs with query parameter keys present and\n // values empty, so we really do want || not ??.\n url.searchParams.get(name) || void 0\n );\n const params = {\n full: extract(\"full\"),\n defs: extract(\"defs\"),\n refs: extract(\"refs\"),\n path: extract(\"path\"),\n hist: extract(\"hist\"),\n type: extract(\"type\"),\n sort: extract(\"sort\"),\n project: extract(\"project\"),\n searchall: extract(\"searchall\") === \"true\" || void 0,\n start: Number.parseInt(extract(\"start\") ?? \"\", 10) || void 0\n };\n const queryUnknownRepos = async (candidates) => {\n const reposQuery = renderRepoQuery(Array.from(candidates));\n const repositories = await listRepositories({ query: reposQuery }, fetch);\n if (repositories.kind === \"error\") {\n throw new Error(repositories.error);\n }\n const present = new Set(\n repositories.results.repositories.map(({ name }) => name)\n );\n return new Set(Array.from(candidates).filter((c) => !present.has(c)));\n };\n const { luceneQuery, zoektQuery, warnings } = await toZoekt(params, {\n projectToRepo: configuration.openGrokProjectMappings,\n queryUnknownRepos\n });\n setHeaders({\n \"cache-control\": \"no-store,must-revalidate\"\n });\n const { preferences } = await parent();\n if (preferences.openGrokInstantRedirect && zoektQuery) {\n throw redirect(\n 301,\n `/?${new URLSearchParams({ q: zoektQuery }).toString()}`\n );\n }\n return {\n params,\n luceneQuery,\n zoektQuery,\n warnings\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/(opengrok-compat)/search/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/(opengrok-compat)/search/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/(opengrok-compat)/search/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.b18d1c14.js\",\"_app/immutable/chunks/scheduler.80902d3b.js\",\"_app/immutable/chunks/index.d0e6da70.js\",\"_app/immutable/chunks/each.ece37974.js\",\"_app/immutable/chunks/example-query.ac8ef50a.js\",\"_app/immutable/chunks/link.70630bff.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { e as escapeRegExp } from './regexp-5017d573.js';
|
|
2
|
+
import { c as configuration } from './configuration-d033c4d1.js';
|
|
3
|
+
import { l as listRepositories } from './zoekt-list-repositories-773bcddb.js';
|
|
4
|
+
import { r as redirect } from './index-64aa7a5e.js';
|
|
5
|
+
import '@badrap/valita';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import './zoekt-client-dec73ec9.js';
|
|
8
|
+
import './metrics-a6a74309.js';
|
|
9
|
+
import 'prom-client';
|
|
10
|
+
|
|
11
|
+
const load = async ({
|
|
12
|
+
url,
|
|
13
|
+
params: { file, project },
|
|
14
|
+
parent,
|
|
15
|
+
setHeaders,
|
|
16
|
+
fetch
|
|
17
|
+
}) => {
|
|
18
|
+
const revision = url.searchParams.get("r");
|
|
19
|
+
const convertedRepo = configuration.openGrokProjectMappings.get(project);
|
|
20
|
+
const result = await listRepositories(
|
|
21
|
+
{
|
|
22
|
+
query: `repo:^${escapeRegExp(convertedRepo ?? project)}$`
|
|
23
|
+
},
|
|
24
|
+
fetch
|
|
25
|
+
);
|
|
26
|
+
if (result.kind === "error") {
|
|
27
|
+
throw new Error(`Failed to list repositories: ${result.error}`);
|
|
28
|
+
}
|
|
29
|
+
const repo = result.results.repositories[0];
|
|
30
|
+
let destinationUrl;
|
|
31
|
+
if (file) {
|
|
32
|
+
destinationUrl = repo?.fileUrlTemplate.replaceAll("{{.Version}}", revision ?? repo.branches[0].name).replaceAll("{{.Path}}", file);
|
|
33
|
+
} else {
|
|
34
|
+
destinationUrl = repo?.url;
|
|
35
|
+
}
|
|
36
|
+
setHeaders({
|
|
37
|
+
"cache-control": "no-store,must-revalidate"
|
|
38
|
+
});
|
|
39
|
+
if (destinationUrl && (await parent()).preferences.openGrokInstantRedirect) {
|
|
40
|
+
throw redirect(301, destinationUrl);
|
|
41
|
+
}
|
|
42
|
+
return { file, destinationUrl };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
46
|
+
__proto__: null,
|
|
47
|
+
load: load
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
const index = 9;
|
|
51
|
+
let component_cache;
|
|
52
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-33789d2d.js')).default;
|
|
53
|
+
const server_id = "src/routes/(opengrok-compat)/xref/[project]/[...file]/+page.server.ts";
|
|
54
|
+
const imports = ["_app/immutable/nodes/9.b3dcb728.js","_app/immutable/chunks/scheduler.80902d3b.js","_app/immutable/chunks/index.d0e6da70.js","_app/immutable/chunks/example-query.ac8ef50a.js","_app/immutable/chunks/link.70630bff.js","_app/immutable/chunks/regexp.50bc0e87.js"];
|
|
55
|
+
const stylesheets = [];
|
|
56
|
+
const fonts = [];
|
|
57
|
+
|
|
58
|
+
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
59
|
+
//# sourceMappingURL=9-55cb67b6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"9-55cb67b6.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/(opengrok-compat)/xref/_project_/_...file_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["import { e as escapeRegExp } from \"../../../../../../chunks/regexp.js\";\nimport { c as configuration } from \"../../../../../../chunks/configuration.js\";\nimport { l as listRepositories } from \"../../../../../../chunks/zoekt-list-repositories.js\";\nimport { r as redirect } from \"../../../../../../chunks/index.js\";\nconst load = async ({\n url,\n params: { file, project },\n parent,\n setHeaders,\n fetch\n}) => {\n const revision = url.searchParams.get(\"r\");\n const convertedRepo = configuration.openGrokProjectMappings.get(project);\n const result = await listRepositories(\n {\n query: `repo:^${escapeRegExp(convertedRepo ?? project)}$`\n },\n fetch\n );\n if (result.kind === \"error\") {\n throw new Error(`Failed to list repositories: ${result.error}`);\n }\n const repo = result.results.repositories[0];\n let destinationUrl;\n if (file) {\n destinationUrl = repo?.fileUrlTemplate.replaceAll(\"{{.Version}}\", revision ?? repo.branches[0].name).replaceAll(\"{{.Path}}\", file);\n } else {\n destinationUrl = repo?.url;\n }\n setHeaders({\n \"cache-control\": \"no-store,must-revalidate\"\n });\n if (destinationUrl && (await parent()).preferences.openGrokInstantRedirect) {\n throw redirect(301, destinationUrl);\n }\n return { file, destinationUrl };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/(opengrok-compat)/xref/_project_/_...file_/_page.server.ts.js';\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/(opengrok-compat)/xref/_project_/_...file_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/(opengrok-compat)/xref/[project]/[...file]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/9.b3dcb728.js\",\"_app/immutable/chunks/scheduler.80902d3b.js\",\"_app/immutable/chunks/index.d0e6da70.js\",\"_app/immutable/chunks/example-query.ac8ef50a.js\",\"_app/immutable/chunks/link.70630bff.js\",\"_app/immutable/chunks/regexp.50bc0e87.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;AAIA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,GAAG;AACL,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,KAAK;AACP,CAAC,KAAK;AACN,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7C,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3E,EAAE,MAAM,MAAM,GAAG,MAAM,gBAAgB;AACvC,IAAI;AACJ,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI,KAAK;AACT,GAAG,CAAC;AACJ,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AAC/B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC9C,EAAE,IAAI,cAAc,CAAC;AACrB,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACvI,GAAG,MAAM;AACT,IAAI,cAAc,GAAG,IAAI,EAAE,GAAG,CAAC;AAC/B,GAAG;AACH,EAAE,UAAU,CAAC;AACb,IAAI,eAAe,EAAE,0BAA0B;AAC/C,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,cAAc,IAAI,CAAC,MAAM,MAAM,EAAE,EAAE,WAAW,CAAC,uBAAuB,EAAE;AAC9E,IAAI,MAAM,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AACxC,GAAG;AACH,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AAClC,CAAC;;;;;;;AClCW,MAAC,KAAK,GAAG,EAAE;AACvB,IAAI,eAAe,CAAC;AACR,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA6E,CAAC,EAAE,QAAQ;AAEnJ,MAAC,SAAS,GAAG,wEAAwE;AACrF,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,6CAA6C,CAAC,yCAAyC,CAAC,iDAAiD,CAAC,wCAAwC,CAAC,0CAA0C,EAAE;AAChR,MAAC,WAAW,GAAG,GAAG;AAClB,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { a as subscribe } from './lifecycle-cbdd95e4.js';
|
|
2
|
+
import { c as create_ssr_component, a as escape } from './ssr-0f259a0f.js';
|
|
3
|
+
import { p as page } from './stores-2f0685cf.js';
|
|
4
|
+
|
|
5
|
+
const Error = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
6
|
+
let $page, $$unsubscribe_page;
|
|
7
|
+
$$unsubscribe_page = subscribe(page, (value) => $page = value);
|
|
8
|
+
$$unsubscribe_page();
|
|
9
|
+
return `<h1 class="text-center text-xl">${escape($page.status)} - ${escape($page.error?.message)}</h1>`;
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export { Error as default };
|
|
13
|
+
//# sourceMappingURL=_error.svelte-dd890063.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_error.svelte-dd890063.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_error.svelte.js"],"sourcesContent":["import { a as subscribe } from \"../../chunks/lifecycle.js\";\nimport { c as create_ssr_component, a as escape } from \"../../chunks/ssr.js\";\nimport { p as page } from \"../../chunks/stores.js\";\nconst Error = create_ssr_component(($$result, $$props, $$bindings, slots) => {\n let $page, $$unsubscribe_page;\n $$unsubscribe_page = subscribe(page, (value) => $page = value);\n $$unsubscribe_page();\n return `<h1 class=\"text-center text-xl\">${escape($page.status)} - ${escape($page.error?.message)}</h1>`;\n});\nexport {\n Error as default\n};\n"],"names":[],"mappings":";;;;AAGK,MAAC,KAAK,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK;AAC7E,EAAE,IAAI,KAAK,EAAE,kBAAkB,CAAC;AAChC,EAAE,kBAAkB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,CAAC;AACjE,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,OAAO,CAAC,gCAAgC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1G,CAAC;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { a as subscribe } from './lifecycle-cbdd95e4.js';
|
|
2
|
+
import { c as create_ssr_component, e as each, a as escape, b as add_attribute } from './ssr-0f259a0f.js';
|
|
3
|
+
import { p as page } from './stores-2f0685cf.js';
|
|
4
|
+
import { p as persistInitialPreferences } from './preferences-304b2e02.js';
|
|
5
|
+
import './index2-7c17b4da.js';
|
|
6
|
+
|
|
7
|
+
const Layout = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
8
|
+
let $page, $$unsubscribe_page;
|
|
9
|
+
$$unsubscribe_page = subscribe(page, (value) => $page = value);
|
|
10
|
+
const navLinks = [
|
|
11
|
+
["/", "Search"],
|
|
12
|
+
["/repositories", "Repositories"],
|
|
13
|
+
["/syntax", "Query Syntax"],
|
|
14
|
+
["/about", "About"],
|
|
15
|
+
["/preferences", "Preferences"]
|
|
16
|
+
];
|
|
17
|
+
let { data } = $$props;
|
|
18
|
+
persistInitialPreferences(data.preferences);
|
|
19
|
+
if ($$props.data === void 0 && $$bindings.data && data !== void 0)
|
|
20
|
+
$$bindings.data(data);
|
|
21
|
+
$$unsubscribe_page();
|
|
22
|
+
return `<div class="container mx-auto px-2 py-4"><nav class="pb-12"><ul class="flex justify-center text-xs gap-y-2 flex-wrap">${each(navLinks, ([url, text]) => {
|
|
23
|
+
return ` <li class="after:content-['•'] after:pl-1 after:pr-2 last:after:content-none">${url === $page.url.pathname ? `${escape(text)}` : `<a class="text-cyan-700"${add_attribute(
|
|
24
|
+
"href",
|
|
25
|
+
`${url}${// On non-opengrok-compatibility pages, preserve the query
|
|
26
|
+
// string so that search queries are preserved across
|
|
27
|
+
// navigations. This is useful when moving back and forth
|
|
28
|
+
// between the main search and the repo search, or the main
|
|
29
|
+
// search and the query syntax page.
|
|
30
|
+
$page.route.id?.startsWith("/(opengrok-compat)/") ? "" : $page.url.search}`,
|
|
31
|
+
0
|
|
32
|
+
)}>${escape(text)}</a>`} </li>`;
|
|
33
|
+
})}</ul></nav> <main>${slots.default ? slots.default({}) : ``}</main></div>`;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export { Layout as default };
|
|
37
|
+
//# sourceMappingURL=_layout.svelte-9a1c428f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_layout.svelte-9a1c428f.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.svelte.js"],"sourcesContent":["import { a as subscribe } from \"../../chunks/lifecycle.js\";\nimport { c as create_ssr_component, e as each, a as escape, b as add_attribute } from \"../../chunks/ssr.js\";\nimport { p as page } from \"../../chunks/stores.js\";\nimport { p as persistInitialPreferences } from \"../../chunks/preferences.js\";\nconst app = \"\";\nconst Layout = create_ssr_component(($$result, $$props, $$bindings, slots) => {\n let $page, $$unsubscribe_page;\n $$unsubscribe_page = subscribe(page, (value) => $page = value);\n const navLinks = [\n [\"/\", \"Search\"],\n [\"/repositories\", \"Repositories\"],\n [\"/syntax\", \"Query Syntax\"],\n [\"/about\", \"About\"],\n [\"/preferences\", \"Preferences\"]\n ];\n let { data } = $$props;\n persistInitialPreferences(data.preferences);\n if ($$props.data === void 0 && $$bindings.data && data !== void 0)\n $$bindings.data(data);\n $$unsubscribe_page();\n return `<div class=\"container mx-auto px-2 py-4\"><nav class=\"pb-12\"><ul class=\"flex justify-center text-xs gap-y-2 flex-wrap\">${each(navLinks, ([url, text]) => {\n return ` <li class=\"after:content-['•'] after:pl-1 after:pr-2 last:after:content-none\">${url === $page.url.pathname ? `${escape(text)}` : `<a class=\"text-cyan-700\"${add_attribute(\n \"href\",\n `${url}${// On non-opengrok-compatibility pages, preserve the query\n // string so that search queries are preserved across\n // navigations. This is useful when moving back and forth\n // between the main search and the repo search, or the main\n // search and the query syntax page.\n $page.route.id?.startsWith(\"/(opengrok-compat)/\") ? \"\" : $page.url.search}`,\n 0\n )}>${escape(text)}</a>`} </li>`;\n })}</ul></nav> <main>${slots.default ? slots.default({}) : ``}</main></div>`;\n});\nexport {\n Layout as default\n};\n"],"names":[],"mappings":";;;;;;AAKK,MAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,KAAK;AAC9E,EAAE,IAAI,KAAK,EAAE,kBAAkB,CAAC;AAChC,EAAE,kBAAkB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,CAAC;AACjE,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;AACnB,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC;AACrC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;AAC/B,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;AACvB,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AACzB,EAAE,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9C,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC;AACnE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,EAAE,kBAAkB,EAAE,CAAC;AACvB,EAAE,OAAO,CAAC,sHAAsH,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK;AAClK,IAAI,OAAO,CAAC,+EAA+E,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,EAAE,aAAa;AACtL,MAAM,MAAM;AACZ,MAAM,CAAC,EAAE,GAAG,CAAC;AACb;AACA;AACA;AACA;AACA,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjF,MAAM,CAAC;AACP,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACpC,GAAG,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/E,CAAC;;;;"}
|