@fedify/vocab 2.1.0-dev.543 → 2.1.0-dev.592

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.
Files changed (98) hide show
  1. package/deno.json +2 -1
  2. package/dist/mod.cjs +225 -224
  3. package/dist/mod.js +3 -2
  4. package/{dist → dist-tests}/actor.test.js +5 -5
  5. package/{dist/deno-D76TUHGu.js → dist-tests/deno-BAfIdRCq.js} +3 -2
  6. package/{dist → dist-tests}/lookup.test.js +7 -6
  7. package/{dist → dist-tests}/type.test.js +3 -2
  8. package/{dist/vocab-BL0T9S6o.js → dist-tests/vocab-dV6QKnk_.js} +30 -6263
  9. package/{dist → dist-tests}/vocab.test.js +3 -2
  10. package/package.json +6 -7
  11. package/tsdown.config.ts +14 -5
  12. package/dist/actor.test.d.ts +0 -2
  13. package/dist/chunk-BeeFIeNn.js +0 -45
  14. package/dist/execAsync-Bj-9hhe9.js +0 -17
  15. package/dist/getMachineId-bsd-JZpH2DVB.js +0 -34
  16. package/dist/getMachineId-darwin-CIJUQhqg.js +0 -30
  17. package/dist/getMachineId-linux-l0DNcix-.js +0 -27
  18. package/dist/getMachineId-unsupported-DFK1bZgt.js +0 -20
  19. package/dist/getMachineId-win-B0bq2tSf.js +0 -32
  20. package/dist/lookup.test.d.ts +0 -2
  21. package/dist/type.test.d.ts +0 -2
  22. package/dist/vocab.test.d.ts +0 -2
  23. /package/{dist → dist-tests}/accept.yaml +0 -0
  24. /package/{dist → dist-tests}/activity.yaml +0 -0
  25. /package/{dist → dist-tests}/add.yaml +0 -0
  26. /package/{dist → dist-tests}/announce.yaml +0 -0
  27. /package/{dist → dist-tests}/announceauthorization.yaml +0 -0
  28. /package/{dist → dist-tests}/announcerequest.yaml +0 -0
  29. /package/{dist → dist-tests}/application.yaml +0 -0
  30. /package/{dist → dist-tests}/arrive.yaml +0 -0
  31. /package/{dist → dist-tests}/article.yaml +0 -0
  32. /package/{dist → dist-tests}/audio.yaml +0 -0
  33. /package/{dist → dist-tests}/block.yaml +0 -0
  34. /package/{dist → dist-tests}/chatmessage.yaml +0 -0
  35. /package/{dist → dist-tests}/collection.yaml +0 -0
  36. /package/{dist → dist-tests}/collectionpage.yaml +0 -0
  37. /package/{dist → dist-tests}/create.yaml +0 -0
  38. /package/{dist → dist-tests}/dataintegrityproof.yaml +0 -0
  39. /package/{dist → dist-tests}/delete.yaml +0 -0
  40. /package/{dist → dist-tests}/didservice.yaml +0 -0
  41. /package/{dist → dist-tests}/dislike.yaml +0 -0
  42. /package/{dist → dist-tests}/document.yaml +0 -0
  43. /package/{dist → dist-tests}/emoji.yaml +0 -0
  44. /package/{dist → dist-tests}/emojireact.yaml +0 -0
  45. /package/{dist → dist-tests}/endpoints.yaml +0 -0
  46. /package/{dist → dist-tests}/event.yaml +0 -0
  47. /package/{dist → dist-tests}/export.yaml +0 -0
  48. /package/{dist → dist-tests}/flag.yaml +0 -0
  49. /package/{dist → dist-tests}/follow.yaml +0 -0
  50. /package/{dist → dist-tests}/group.yaml +0 -0
  51. /package/{dist → dist-tests}/hashtag.yaml +0 -0
  52. /package/{dist → dist-tests}/ignore.yaml +0 -0
  53. /package/{dist → dist-tests}/image.yaml +0 -0
  54. /package/{dist → dist-tests}/interactionpolicy.yaml +0 -0
  55. /package/{dist → dist-tests}/interactionrule.yaml +0 -0
  56. /package/{dist → dist-tests}/intransitiveactivity.yaml +0 -0
  57. /package/{dist → dist-tests}/invite.yaml +0 -0
  58. /package/{dist → dist-tests}/join.yaml +0 -0
  59. /package/{dist → dist-tests}/key.yaml +0 -0
  60. /package/{dist → dist-tests}/leave.yaml +0 -0
  61. /package/{dist → dist-tests}/like.yaml +0 -0
  62. /package/{dist → dist-tests}/likeauthorization.yaml +0 -0
  63. /package/{dist → dist-tests}/likerequest.yaml +0 -0
  64. /package/{dist → dist-tests}/link.yaml +0 -0
  65. /package/{dist → dist-tests}/listen.yaml +0 -0
  66. /package/{dist → dist-tests}/mention.yaml +0 -0
  67. /package/{dist → dist-tests}/move.yaml +0 -0
  68. /package/{dist → dist-tests}/multikey.yaml +0 -0
  69. /package/{dist → dist-tests}/note.yaml +0 -0
  70. /package/{dist → dist-tests}/object.yaml +0 -0
  71. /package/{dist → dist-tests}/offer.yaml +0 -0
  72. /package/{dist → dist-tests}/orderedcollection.yaml +0 -0
  73. /package/{dist → dist-tests}/orderedcollectionpage.yaml +0 -0
  74. /package/{dist → dist-tests}/organization.yaml +0 -0
  75. /package/{dist → dist-tests}/page.yaml +0 -0
  76. /package/{dist → dist-tests}/person.yaml +0 -0
  77. /package/{dist → dist-tests}/place.yaml +0 -0
  78. /package/{dist → dist-tests}/profile.yaml +0 -0
  79. /package/{dist → dist-tests}/propertyvalue.yaml +0 -0
  80. /package/{dist → dist-tests}/question.yaml +0 -0
  81. /package/{dist → dist-tests}/read.yaml +0 -0
  82. /package/{dist → dist-tests}/reject.yaml +0 -0
  83. /package/{dist → dist-tests}/relationship.yaml +0 -0
  84. /package/{dist → dist-tests}/remove.yaml +0 -0
  85. /package/{dist → dist-tests}/replyauthorization.yaml +0 -0
  86. /package/{dist → dist-tests}/replyrequest.yaml +0 -0
  87. /package/{dist → dist-tests}/service.yaml +0 -0
  88. /package/{dist → dist-tests}/source.yaml +0 -0
  89. /package/{dist → dist-tests}/tentativeaccept.yaml +0 -0
  90. /package/{dist → dist-tests}/tentativereject.yaml +0 -0
  91. /package/{dist → dist-tests}/tombstone.yaml +0 -0
  92. /package/{dist → dist-tests}/travel.yaml +0 -0
  93. /package/{dist/type-Dnf0m2yO.js → dist-tests/type-CNuABalk.js} +0 -0
  94. /package/{dist → dist-tests}/undo.yaml +0 -0
  95. /package/{dist → dist-tests}/update.yaml +0 -0
  96. /package/{dist/utils-Dm0Onkcz.js → dist-tests/utils-BSWXlrig.js} +0 -0
  97. /package/{dist → dist-tests}/video.yaml +0 -0
  98. /package/{dist → dist-tests}/view.yaml +0 -0
@@ -2,8 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
 
5
- import { Activity, Announce, Collection, Create, CryptographicKey, Endpoints, Follow, Hashtag, Link, Note, Object as Object$1, OrderedCollectionPage, Person, Place, Question, Source, mockDocumentLoader, test, vocab_exports } from "./vocab-BL0T9S6o.js";
6
- import { assertInstanceOf } from "./utils-Dm0Onkcz.js";
5
+ import { Activity, Announce, Collection, Create, CryptographicKey, Endpoints, Follow, Hashtag, Link, Note, Object as Object$1, OrderedCollectionPage, Person, Place, Question, Source, vocab_exports } from "./vocab-dV6QKnk_.js";
6
+ import { assertInstanceOf } from "./utils-BSWXlrig.js";
7
+ import { mockDocumentLoader, test } from "@fedify/fixture";
7
8
  import { deepStrictEqual, notDeepStrictEqual, ok, rejects, throws } from "node:assert/strict";
8
9
  import { LanguageString, decodeMultibase } from "@fedify/vocab-runtime";
9
10
  import { pascalCase } from "es-toolkit";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/vocab",
3
- "version": "2.1.0-dev.543+e09fd1b4",
3
+ "version": "2.1.0-dev.592+6c1f6e6f",
4
4
  "homepage": "https://fedify.dev/",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,11 +45,10 @@
45
45
  "asn1js": "^3.0.6",
46
46
  "es-toolkit": "1.43.0",
47
47
  "jsonld": "^9.0.0",
48
- "multicodec": "^3.2.1",
49
48
  "pkijs": "^3.3.3",
50
- "@fedify/vocab-tools": "2.1.0-dev.543+e09fd1b4",
51
- "@fedify/vocab-runtime": "2.1.0-dev.543+e09fd1b4",
52
- "@fedify/webfinger": "2.1.0-dev.543+e09fd1b4"
49
+ "@fedify/vocab-runtime": "2.1.0-dev.592+6c1f6e6f",
50
+ "@fedify/webfinger": "2.1.0-dev.592+6c1f6e6f",
51
+ "@fedify/vocab-tools": "2.1.0-dev.592+6c1f6e6f"
53
52
  },
54
53
  "devDependencies": {
55
54
  "@types/node": "^22.17.0",
@@ -75,8 +74,8 @@
75
74
  "build": "pnpm --filter @fedify/vocab... run build:self",
76
75
  "prepublish": "pnpm build",
77
76
  "pretest": "pnpm build",
78
- "test": "cd dist/ && node --test",
77
+ "test": "cd dist-tests && node --test",
79
78
  "pretest:bun": "pnpm build",
80
- "test:bun": "cd dist/ && bun test --timeout 60000"
79
+ "test:bun": "cd dist-tests && bun test --timeout 60000"
81
80
  }
82
81
  }
package/tsdown.config.ts CHANGED
@@ -1,7 +1,15 @@
1
- import { cp, glob } from "node:fs/promises";
2
- import { join, sep } from "node:path";
1
+ import { glob, mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import { dirname, join, sep } from "node:path";
3
3
  import { defineConfig } from "tsdown";
4
4
 
5
+ async function copyFileSafely(
6
+ source: string,
7
+ destination: string,
8
+ ): Promise<void> {
9
+ await mkdir(dirname(destination), { recursive: true });
10
+ await writeFile(destination, await readFile(source));
11
+ }
12
+
5
13
  export default [
6
14
  defineConfig({
7
15
  entry: [
@@ -25,9 +33,11 @@ export default [
25
33
  },
26
34
  }),
27
35
  defineConfig({
36
+ outDir: "dist-tests",
28
37
  entry: (await Array.fromAsync(glob(`src/**/*.test.ts`)))
29
38
  .map((f) => f.replace(sep, "/")),
30
- external: [/^node:/],
39
+ dts: false,
40
+ external: [/^node:/, "@fedify/fixture"],
31
41
  inputOptions: {
32
42
  onwarn(warning, defaultHandler) {
33
43
  if (
@@ -50,10 +60,9 @@ export default [
50
60
  hooks: {
51
61
  "build:done": async (ctx) => {
52
62
  for await (const file of glob("src/**/*.yaml")) {
53
- await cp(
63
+ await copyFileSafely(
54
64
  file,
55
65
  join(ctx.options.outDir, file.replace(`src${sep}`, "")),
56
- { force: true },
57
66
  );
58
67
  }
59
68
  },
@@ -1,2 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- globalThis.addEventListener = () => {};
@@ -1,45 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { createRequire } from "node:module";
6
-
7
- //#region rolldown:runtime
8
- var __create = Object.create;
9
- var __defProp = Object.defineProperty;
10
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
- var __getOwnPropNames = Object.getOwnPropertyNames;
12
- var __getProtoOf = Object.getPrototypeOf;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __esm = (fn, res) => function() {
15
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
16
- };
17
- var __commonJS = (cb, mod) => function() {
18
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
19
- };
20
- var __export = (target, all) => {
21
- for (var name in all) __defProp(target, name, {
22
- get: all[name],
23
- enumerable: true
24
- });
25
- };
26
- var __copyProps = (to, from, except, desc) => {
27
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
28
- key = keys[i];
29
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
30
- get: ((k) => from[k]).bind(null, key),
31
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
32
- });
33
- }
34
- return to;
35
- };
36
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
37
- value: mod,
38
- enumerable: true
39
- }) : target, mod));
40
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
41
- var __toDynamicImportESM = (isNodeMode) => (mod) => __toESM(mod.default, isNodeMode);
42
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
43
-
44
- //#endregion
45
- export { __commonJS, __esm, __export, __require, __toCommonJS, __toDynamicImportESM, __toESM };
@@ -1,17 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
-
7
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js
8
- var require_execAsync = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js"(exports) {
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.execAsync = void 0;
11
- const child_process = __require("child_process");
12
- const util = __require("util");
13
- exports.execAsync = util.promisify(child_process.exec);
14
- } });
15
-
16
- //#endregion
17
- export { require_execAsync };
@@ -1,34 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
- import { require_execAsync } from "./execAsync-Bj-9hhe9.js";
7
-
8
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js
9
- var require_getMachineId_bsd = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js"(exports) {
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.getMachineId = void 0;
12
- const fs_1 = __require("fs");
13
- const execAsync_1 = require_execAsync();
14
- const api_1 = __require("@opentelemetry/api");
15
- async function getMachineId() {
16
- try {
17
- const result = await fs_1.promises.readFile("/etc/hostid", { encoding: "utf8" });
18
- return result.trim();
19
- } catch (e) {
20
- api_1.diag.debug(`error reading machine id: ${e}`);
21
- }
22
- try {
23
- const result = await (0, execAsync_1.execAsync)("kenv -q smbios.system.uuid");
24
- return result.stdout.trim();
25
- } catch (e) {
26
- api_1.diag.debug(`error reading machine id: ${e}`);
27
- }
28
- return void 0;
29
- }
30
- exports.getMachineId = getMachineId;
31
- } });
32
-
33
- //#endregion
34
- export default require_getMachineId_bsd();
@@ -1,30 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
- import { require_execAsync } from "./execAsync-Bj-9hhe9.js";
7
-
8
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js
9
- var require_getMachineId_darwin = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js"(exports) {
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.getMachineId = void 0;
12
- const execAsync_1 = require_execAsync();
13
- const api_1 = __require("@opentelemetry/api");
14
- async function getMachineId() {
15
- try {
16
- const result = await (0, execAsync_1.execAsync)("ioreg -rd1 -c \"IOPlatformExpertDevice\"");
17
- const idLine = result.stdout.split("\n").find((line) => line.includes("IOPlatformUUID"));
18
- if (!idLine) return void 0;
19
- const parts = idLine.split("\" = \"");
20
- if (parts.length === 2) return parts[1].slice(0, -1);
21
- } catch (e) {
22
- api_1.diag.debug(`error reading machine id: ${e}`);
23
- }
24
- return void 0;
25
- }
26
- exports.getMachineId = getMachineId;
27
- } });
28
-
29
- //#endregion
30
- export default require_getMachineId_darwin();
@@ -1,27 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
-
7
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js
8
- var require_getMachineId_linux = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js"(exports) {
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getMachineId = void 0;
11
- const fs_1 = __require("fs");
12
- const api_1 = __require("@opentelemetry/api");
13
- async function getMachineId() {
14
- const paths = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
15
- for (const path of paths) try {
16
- const result = await fs_1.promises.readFile(path, { encoding: "utf8" });
17
- return result.trim();
18
- } catch (e) {
19
- api_1.diag.debug(`error reading machine id: ${e}`);
20
- }
21
- return void 0;
22
- }
23
- exports.getMachineId = getMachineId;
24
- } });
25
-
26
- //#endregion
27
- export default require_getMachineId_linux();
@@ -1,20 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
-
7
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js
8
- var require_getMachineId_unsupported = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js"(exports) {
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.getMachineId = void 0;
11
- const api_1 = __require("@opentelemetry/api");
12
- async function getMachineId() {
13
- api_1.diag.debug("could not read machine-id: unsupported platform");
14
- return void 0;
15
- }
16
- exports.getMachineId = getMachineId;
17
- } });
18
-
19
- //#endregion
20
- export default require_getMachineId_unsupported();
@@ -1,32 +0,0 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- globalThis.addEventListener = () => {};
4
-
5
- import { __commonJS, __require } from "./chunk-BeeFIeNn.js";
6
- import { require_execAsync } from "./execAsync-Bj-9hhe9.js";
7
-
8
- //#region ../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js
9
- var require_getMachineId_win = __commonJS({ "../../node_modules/.pnpm/@opentelemetry+resources@2.5.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js"(exports) {
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.getMachineId = void 0;
12
- const process = __require("process");
13
- const execAsync_1 = require_execAsync();
14
- const api_1 = __require("@opentelemetry/api");
15
- async function getMachineId() {
16
- const args = "QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid";
17
- let command = "%windir%\\System32\\REG.exe";
18
- if (process.arch === "ia32" && "PROCESSOR_ARCHITEW6432" in process.env) command = "%windir%\\sysnative\\cmd.exe /c " + command;
19
- try {
20
- const result = await (0, execAsync_1.execAsync)(`${command} ${args}`);
21
- const parts = result.stdout.split("REG_SZ");
22
- if (parts.length === 2) return parts[1].trim();
23
- } catch (e) {
24
- api_1.diag.debug(`error reading machine id: ${e}`);
25
- }
26
- return void 0;
27
- }
28
- exports.getMachineId = getMachineId;
29
- } });
30
-
31
- //#endregion
32
- export default require_getMachineId_win();
@@ -1,2 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- globalThis.addEventListener = () => {};
@@ -1,2 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- globalThis.addEventListener = () => {};
@@ -1,2 +0,0 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- globalThis.addEventListener = () => {};
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes