@logic-pad/core 0.26.0 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -31
- package/assets/logic-core.global.d.ts +3264 -3247
- package/package.json +4 -1
- package/dist/benchmark/helper.d.ts +0 -21
- package/dist/benchmark/helper.js +0 -34
- package/dist/benchmark/prepareBench.d.ts +0 -1
- package/dist/benchmark/prepareBench.js +0 -140
- package/dist/benchmark/runBench.d.ts +0 -1
- package/dist/benchmark/runBench.js +0 -206
- package/dist/src/data/config.d.ts +0 -119
- package/dist/src/data/config.js +0 -72
- package/dist/src/data/configurable.d.ts +0 -14
- package/dist/src/data/configurable.js +0 -26
- package/dist/src/data/dataHelper.d.ts +0 -92
- package/dist/src/data/dataHelper.js +0 -217
- package/dist/src/data/events/eventHelper.d.ts +0 -1
- package/dist/src/data/events/eventHelper.js +0 -6
- package/dist/src/data/events/onFinalValidation.d.ts +0 -14
- package/dist/src/data/events/onFinalValidation.js +0 -4
- package/dist/src/data/events/onGetTile.d.ts +0 -7
- package/dist/src/data/events/onGetTile.js +0 -4
- package/dist/src/data/events/onGridChange.d.ts +0 -6
- package/dist/src/data/events/onGridChange.js +0 -4
- package/dist/src/data/events/onGridResize.d.ts +0 -9
- package/dist/src/data/events/onGridResize.js +0 -4
- package/dist/src/data/events/onSetGrid.d.ts +0 -7
- package/dist/src/data/events/onSetGrid.js +0 -19
- package/dist/src/data/events/onSymbolDisplay.d.ts +0 -16
- package/dist/src/data/events/onSymbolDisplay.js +0 -4
- package/dist/src/data/events/onSymbolMerge.d.ts +0 -10
- package/dist/src/data/events/onSymbolMerge.js +0 -4
- package/dist/src/data/events/onSymbolValidation.d.ts +0 -18
- package/dist/src/data/events/onSymbolValidation.js +0 -4
- package/dist/src/data/grid.d.ts +0 -410
- package/dist/src/data/grid.js +0 -1106
- package/dist/src/data/gridConnections.d.ts +0 -25
- package/dist/src/data/gridConnections.js +0 -309
- package/dist/src/data/gridZones.d.ts +0 -26
- package/dist/src/data/gridZones.js +0 -117
- package/dist/src/data/instruction.d.ts +0 -26
- package/dist/src/data/instruction.js +0 -29
- package/dist/src/data/primitives.d.ts +0 -138
- package/dist/src/data/primitives.js +0 -177
- package/dist/src/data/puzzle.d.ts +0 -73
- package/dist/src/data/puzzle.js +0 -105
- package/dist/src/data/rules/banPatternRule.d.ts +0 -30
- package/dist/src/data/rules/banPatternRule.js +0 -125
- package/dist/src/data/rules/cellCountPerZoneRule.d.ts +0 -23
- package/dist/src/data/rules/cellCountPerZoneRule.js +0 -39
- package/dist/src/data/rules/cellCountRule.d.ts +0 -33
- package/dist/src/data/rules/cellCountRule.js +0 -138
- package/dist/src/data/rules/completePatternRule.d.ts +0 -24
- package/dist/src/data/rules/completePatternRule.js +0 -46
- package/dist/src/data/rules/connectAllRule.d.ts +0 -29
- package/dist/src/data/rules/connectAllRule.js +0 -88
- package/dist/src/data/rules/connectZonesRule.d.ts +0 -29
- package/dist/src/data/rules/connectZonesRule.js +0 -111
- package/dist/src/data/rules/containsShapeRule.d.ts +0 -34
- package/dist/src/data/rules/containsShapeRule.js +0 -125
- package/dist/src/data/rules/customRule.d.ts +0 -34
- package/dist/src/data/rules/customRule.js +0 -74
- package/dist/src/data/rules/differentCountPerZoneRule.d.ts +0 -30
- package/dist/src/data/rules/differentCountPerZoneRule.js +0 -96
- package/dist/src/data/rules/exactCountPerZoneRule.d.ts +0 -33
- package/dist/src/data/rules/exactCountPerZoneRule.js +0 -99
- package/dist/src/data/rules/foresightRule.d.ts +0 -36
- package/dist/src/data/rules/foresightRule.js +0 -107
- package/dist/src/data/rules/index.d.ts +0 -3
- package/dist/src/data/rules/index.js +0 -10
- package/dist/src/data/rules/lyingSymbolRule.d.ts +0 -31
- package/dist/src/data/rules/lyingSymbolRule.js +0 -207
- package/dist/src/data/rules/musicControlLine.d.ts +0 -82
- package/dist/src/data/rules/musicControlLine.js +0 -167
- package/dist/src/data/rules/musicGridRule.d.ts +0 -51
- package/dist/src/data/rules/musicGridRule.js +0 -212
- package/dist/src/data/rules/mysteryRule.d.ts +0 -39
- package/dist/src/data/rules/mysteryRule.js +0 -146
- package/dist/src/data/rules/noLoopsRule.d.ts +0 -29
- package/dist/src/data/rules/noLoopsRule.js +0 -218
- package/dist/src/data/rules/offByXRule.d.ts +0 -32
- package/dist/src/data/rules/offByXRule.js +0 -124
- package/dist/src/data/rules/perfectionRule.d.ts +0 -45
- package/dist/src/data/rules/perfectionRule.js +0 -158
- package/dist/src/data/rules/regionAreaRule.d.ts +0 -34
- package/dist/src/data/rules/regionAreaRule.js +0 -149
- package/dist/src/data/rules/regionShapeRule.d.ts +0 -22
- package/dist/src/data/rules/regionShapeRule.js +0 -58
- package/dist/src/data/rules/rule.d.ts +0 -18
- package/dist/src/data/rules/rule.js +0 -19
- package/dist/src/data/rules/rules.gen.d.ts +0 -23
- package/dist/src/data/rules/rules.gen.js +0 -27
- package/dist/src/data/rules/sameCountPerZoneRule.d.ts +0 -30
- package/dist/src/data/rules/sameCountPerZoneRule.js +0 -95
- package/dist/src/data/rules/sameShapeRule.d.ts +0 -28
- package/dist/src/data/rules/sameShapeRule.js +0 -68
- package/dist/src/data/rules/symbolsPerRegionRule.d.ts +0 -38
- package/dist/src/data/rules/symbolsPerRegionRule.js +0 -181
- package/dist/src/data/rules/undercluedRule.d.ts +0 -24
- package/dist/src/data/rules/undercluedRule.js +0 -53
- package/dist/src/data/rules/uniqueShapeRule.d.ts +0 -28
- package/dist/src/data/rules/uniqueShapeRule.js +0 -65
- package/dist/src/data/rules/wrapAroundRule.d.ts +0 -36
- package/dist/src/data/rules/wrapAroundRule.js +0 -241
- package/dist/src/data/serializer/allSerializers.d.ts +0 -32
- package/dist/src/data/serializer/allSerializers.js +0 -71
- package/dist/src/data/serializer/compressor/allCompressors.d.ts +0 -14
- package/dist/src/data/serializer/compressor/allCompressors.js +0 -43
- package/dist/src/data/serializer/compressor/checksumCompressor.d.ts +0 -6
- package/dist/src/data/serializer/compressor/checksumCompressor.js +0 -21
- package/dist/src/data/serializer/compressor/compressorBase.d.ts +0 -16
- package/dist/src/data/serializer/compressor/compressorBase.js +0 -2
- package/dist/src/data/serializer/compressor/deflateCompressor.d.ts +0 -7
- package/dist/src/data/serializer/compressor/deflateCompressor.js +0 -17
- package/dist/src/data/serializer/compressor/gzipCompressor.d.ts +0 -5
- package/dist/src/data/serializer/compressor/gzipCompressor.js +0 -9
- package/dist/src/data/serializer/compressor/streamCompressor.d.ts +0 -6
- package/dist/src/data/serializer/compressor/streamCompressor.js +0 -41
- package/dist/src/data/serializer/serializerBase.d.ts +0 -32
- package/dist/src/data/serializer/serializerBase.js +0 -2
- package/dist/src/data/serializer/serializer_checksum.d.ts +0 -35
- package/dist/src/data/serializer/serializer_checksum.js +0 -179
- package/dist/src/data/serializer/serializer_v0.d.ts +0 -55
- package/dist/src/data/serializer/serializer_v0.js +0 -484
- package/dist/src/data/shapes.d.ts +0 -19
- package/dist/src/data/shapes.js +0 -137
- package/dist/src/data/solver/allSolvers.d.ts +0 -3
- package/dist/src/data/solver/allSolvers.js +0 -13
- package/dist/src/data/solver/auto/autoSolver.d.ts +0 -18
- package/dist/src/data/solver/auto/autoSolver.js +0 -153
- package/dist/src/data/solver/backtrack/backtrackSolver.d.ts +0 -11
- package/dist/src/data/solver/backtrack/backtrackSolver.js +0 -52
- package/dist/src/data/solver/backtrack/backtrackWorker.d.ts +0 -1
- package/dist/src/data/solver/backtrack/backtrackWorker.js +0 -308
- package/dist/src/data/solver/backtrack/data.d.ts +0 -47
- package/dist/src/data/solver/backtrack/data.js +0 -151
- package/dist/src/data/solver/backtrack/rules/banPattern.d.ts +0 -9
- package/dist/src/data/solver/backtrack/rules/banPattern.js +0 -77
- package/dist/src/data/solver/backtrack/rules/cellCount.d.ts +0 -7
- package/dist/src/data/solver/backtrack/rules/cellCount.js +0 -25
- package/dist/src/data/solver/backtrack/rules/connectAll.d.ts +0 -7
- package/dist/src/data/solver/backtrack/rules/connectAll.js +0 -44
- package/dist/src/data/solver/backtrack/rules/regionArea.d.ts +0 -8
- package/dist/src/data/solver/backtrack/rules/regionArea.js +0 -71
- package/dist/src/data/solver/backtrack/rules/regionShape.d.ts +0 -8
- package/dist/src/data/solver/backtrack/rules/regionShape.js +0 -57
- package/dist/src/data/solver/backtrack/rules/sameShape.d.ts +0 -8
- package/dist/src/data/solver/backtrack/rules/sameShape.js +0 -14
- package/dist/src/data/solver/backtrack/rules/symbolsPerRegion.d.ts +0 -10
- package/dist/src/data/solver/backtrack/rules/symbolsPerRegion.js +0 -82
- package/dist/src/data/solver/backtrack/rules/uniqueShape.d.ts +0 -8
- package/dist/src/data/solver/backtrack/rules/uniqueShape.js +0 -14
- package/dist/src/data/solver/backtrack/symbols/areaNumber.d.ts +0 -9
- package/dist/src/data/solver/backtrack/symbols/areaNumber.js +0 -75
- package/dist/src/data/solver/backtrack/symbols/dart.d.ts +0 -8
- package/dist/src/data/solver/backtrack/symbols/dart.js +0 -45
- package/dist/src/data/solver/backtrack/symbols/directionLinker.d.ts +0 -11
- package/dist/src/data/solver/backtrack/symbols/directionLinker.js +0 -121
- package/dist/src/data/solver/backtrack/symbols/focus.d.ts +0 -9
- package/dist/src/data/solver/backtrack/symbols/focus.js +0 -48
- package/dist/src/data/solver/backtrack/symbols/galaxy.d.ts +0 -9
- package/dist/src/data/solver/backtrack/symbols/galaxy.js +0 -14
- package/dist/src/data/solver/backtrack/symbols/letter.d.ts +0 -9
- package/dist/src/data/solver/backtrack/symbols/letter.js +0 -93
- package/dist/src/data/solver/backtrack/symbols/lotus.d.ts +0 -11
- package/dist/src/data/solver/backtrack/symbols/lotus.js +0 -55
- package/dist/src/data/solver/backtrack/symbols/minesweeper.d.ts +0 -9
- package/dist/src/data/solver/backtrack/symbols/minesweeper.js +0 -44
- package/dist/src/data/solver/backtrack/symbols/myopia.d.ts +0 -7
- package/dist/src/data/solver/backtrack/symbols/myopia.js +0 -73
- package/dist/src/data/solver/backtrack/symbols/viewpoint.d.ts +0 -7
- package/dist/src/data/solver/backtrack/symbols/viewpoint.js +0 -51
- package/dist/src/data/solver/cspuz/cspuzSolver.d.ts +0 -13
- package/dist/src/data/solver/cspuz/cspuzSolver.js +0 -117
- package/dist/src/data/solver/cspuz/cspuzWorker.d.ts +0 -1
- package/dist/src/data/solver/cspuz/cspuzWorker.js +0 -82
- package/dist/src/data/solver/cspuz/jsonify.d.ts +0 -3
- package/dist/src/data/solver/cspuz/jsonify.js +0 -211
- package/dist/src/data/solver/eventIteratingSolver.d.ts +0 -8
- package/dist/src/data/solver/eventIteratingSolver.js +0 -54
- package/dist/src/data/solver/solver.d.ts +0 -77
- package/dist/src/data/solver/solver.js +0 -59
- package/dist/src/data/solver/universal/universalSolver.d.ts +0 -7
- package/dist/src/data/solver/universal/universalSolver.js +0 -13
- package/dist/src/data/solver/universal/universalWorker.d.ts +0 -1
- package/dist/src/data/solver/universal/universalWorker.js +0 -128
- package/dist/src/data/symbols/areaNumberSymbol.d.ts +0 -31
- package/dist/src/data/symbols/areaNumberSymbol.js +0 -80
- package/dist/src/data/symbols/customIconSymbol.d.ts +0 -35
- package/dist/src/data/symbols/customIconSymbol.js +0 -94
- package/dist/src/data/symbols/customSymbol.d.ts +0 -25
- package/dist/src/data/symbols/customSymbol.js +0 -45
- package/dist/src/data/symbols/customTextSymbol.d.ts +0 -35
- package/dist/src/data/symbols/customTextSymbol.js +0 -95
- package/dist/src/data/symbols/dartSymbol.d.ts +0 -36
- package/dist/src/data/symbols/dartSymbol.js +0 -96
- package/dist/src/data/symbols/directionLinkerSymbol.d.ts +0 -29
- package/dist/src/data/symbols/directionLinkerSymbol.js +0 -232
- package/dist/src/data/symbols/everyLetterSymbol.d.ts +0 -32
- package/dist/src/data/symbols/everyLetterSymbol.js +0 -119
- package/dist/src/data/symbols/focusSymbol.d.ts +0 -40
- package/dist/src/data/symbols/focusSymbol.js +0 -159
- package/dist/src/data/symbols/galaxySymbol.d.ts +0 -27
- package/dist/src/data/symbols/galaxySymbol.js +0 -61
- package/dist/src/data/symbols/hiddenSymbol.d.ts +0 -38
- package/dist/src/data/symbols/hiddenSymbol.js +0 -113
- package/dist/src/data/symbols/houseSymbol.d.ts +0 -33
- package/dist/src/data/symbols/houseSymbol.js +0 -104
- package/dist/src/data/symbols/index.d.ts +0 -3
- package/dist/src/data/symbols/index.js +0 -10
- package/dist/src/data/symbols/letterSymbol.d.ts +0 -32
- package/dist/src/data/symbols/letterSymbol.js +0 -118
- package/dist/src/data/symbols/lotusSymbol.d.ts +0 -30
- package/dist/src/data/symbols/lotusSymbol.js +0 -132
- package/dist/src/data/symbols/minesweeperSymbol.d.ts +0 -33
- package/dist/src/data/symbols/minesweeperSymbol.js +0 -106
- package/dist/src/data/symbols/myopiaSymbol.d.ts +0 -37
- package/dist/src/data/symbols/myopiaSymbol.js +0 -182
- package/dist/src/data/symbols/numberSymbol.d.ts +0 -19
- package/dist/src/data/symbols/numberSymbol.js +0 -32
- package/dist/src/data/symbols/symbol.d.ts +0 -29
- package/dist/src/data/symbols/symbol.js +0 -87
- package/dist/src/data/symbols/symbols.gen.d.ts +0 -14
- package/dist/src/data/symbols/symbols.gen.js +0 -18
- package/dist/src/data/symbols/viewpointSymbol.d.ts +0 -32
- package/dist/src/data/symbols/viewpointSymbol.js +0 -95
- package/dist/src/data/tile.d.ts +0 -26
- package/dist/src/data/tile.js +0 -56
- package/dist/src/data/tileConnections.d.ts +0 -25
- package/dist/src/data/tileConnections.js +0 -74
- package/dist/src/data/validate.d.ts +0 -5
- package/dist/src/data/validate.js +0 -131
- package/dist/src/data/validateAsync.d.ts +0 -15
- package/dist/src/data/validateAsync.js +0 -71
- package/dist/src/data/validateAsyncWorker.d.ts +0 -1
- package/dist/src/data/validateAsyncWorker.js +0 -9
- package/dist/src/index.d.ts +0 -108
- package/dist/src/index.js +0 -111
- package/dist/src/polyfill/streamPolyfill.d.ts +0 -2
- package/dist/src/polyfill/streamPolyfill.js +0 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import debounce from 'lodash/debounce.js';
|
|
2
|
-
import { Serializer } from './serializer/allSerializers.js';
|
|
3
|
-
import validateGrid from './validate.js';
|
|
4
|
-
const SYNC_VALIDATION_THRESHOLD = 10000;
|
|
5
|
-
export class GridValidator {
|
|
6
|
-
worker = null;
|
|
7
|
-
stateListeners = new Set();
|
|
8
|
-
loadListeners = new Set();
|
|
9
|
-
validateGridDebounced = debounce((grid, solution) => {
|
|
10
|
-
this.worker?.terminate();
|
|
11
|
-
this.worker = new Worker(new URL('./validateAsyncWorker.js', import.meta.url), { type: 'module' });
|
|
12
|
-
this.worker.onmessage = (event) => {
|
|
13
|
-
if (event.data) {
|
|
14
|
-
this.notifyState(event.data);
|
|
15
|
-
}
|
|
16
|
-
this.worker?.terminate();
|
|
17
|
-
this.worker = null;
|
|
18
|
-
this.notifyLoad();
|
|
19
|
-
};
|
|
20
|
-
this.worker.onmessageerror = (error) => {
|
|
21
|
-
console.error('Validation worker error:', error);
|
|
22
|
-
this.worker?.terminate();
|
|
23
|
-
this.worker = null;
|
|
24
|
-
this.notifyLoad();
|
|
25
|
-
};
|
|
26
|
-
this.worker.postMessage({
|
|
27
|
-
grid: Serializer.stringifyGrid(grid),
|
|
28
|
-
solution: solution ? Serializer.stringifyGrid(solution) : null,
|
|
29
|
-
});
|
|
30
|
-
this.notifyLoad();
|
|
31
|
-
}, 300, { leading: true, trailing: true });
|
|
32
|
-
validateGrid = (grid, solution) => {
|
|
33
|
-
if (grid.width * grid.height <= SYNC_VALIDATION_THRESHOLD) {
|
|
34
|
-
// Synchronous validation for small grids
|
|
35
|
-
// to avoid the overhead of worker communication.
|
|
36
|
-
const state = validateGrid(grid, solution);
|
|
37
|
-
this.notifyState(state);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.validateGridDebounced(grid, solution);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
notifyState = (state) => {
|
|
44
|
-
this.stateListeners.forEach(listener => listener(state));
|
|
45
|
-
};
|
|
46
|
-
subscribeToState = (listener) => {
|
|
47
|
-
this.stateListeners.add(listener);
|
|
48
|
-
return () => {
|
|
49
|
-
this.stateListeners.delete(listener);
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
notifyLoad = () => {
|
|
53
|
-
this.loadListeners.forEach(listener => listener());
|
|
54
|
-
};
|
|
55
|
-
subscribeToLoad = (listener) => {
|
|
56
|
-
this.loadListeners.add(listener);
|
|
57
|
-
return () => {
|
|
58
|
-
this.loadListeners.delete(listener);
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
isLoading = () => {
|
|
62
|
-
return this.worker !== null;
|
|
63
|
-
};
|
|
64
|
-
delete = () => {
|
|
65
|
-
if (this.worker) {
|
|
66
|
-
this.worker.terminate();
|
|
67
|
-
this.worker = null;
|
|
68
|
-
}
|
|
69
|
-
this.stateListeners.clear();
|
|
70
|
-
};
|
|
71
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Serializer } from './serializer/allSerializers.js';
|
|
2
|
-
import validateGrid from './validate.js';
|
|
3
|
-
onmessage = e => {
|
|
4
|
-
const data = e.data;
|
|
5
|
-
const grid = Serializer.parseGrid(data.grid);
|
|
6
|
-
const solution = data.solution ? Serializer.parseGrid(data.solution) : null;
|
|
7
|
-
const state = validateGrid(grid, solution);
|
|
8
|
-
postMessage(state);
|
|
9
|
-
};
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { ConfigType, configEquals } from './data/config.js';
|
|
2
|
-
import Configurable from './data/configurable.js';
|
|
3
|
-
import { CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape } from './data/dataHelper.js';
|
|
4
|
-
import { isEventHandler } from './data/events/eventHelper.js';
|
|
5
|
-
import { handlesFinalValidation } from './data/events/onFinalValidation.js';
|
|
6
|
-
import { handlesGetTile } from './data/events/onGetTile.js';
|
|
7
|
-
import { handlesGridChange } from './data/events/onGridChange.js';
|
|
8
|
-
import { handlesGridResize } from './data/events/onGridResize.js';
|
|
9
|
-
import { handlesSetGrid, invokeSetGrid } from './data/events/onSetGrid.js';
|
|
10
|
-
import { handlesSymbolDisplay } from './data/events/onSymbolDisplay.js';
|
|
11
|
-
import { handlesSymbolMerge } from './data/events/onSymbolMerge.js';
|
|
12
|
-
import { handlesSymbolValidation } from './data/events/onSymbolValidation.js';
|
|
13
|
-
import GridData, { NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8 } from './data/grid.js';
|
|
14
|
-
import GridConnections from './data/gridConnections.js';
|
|
15
|
-
import GridZones from './data/gridZones.js';
|
|
16
|
-
import Instruction from './data/instruction.js';
|
|
17
|
-
import { COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle } from './data/primitives.js';
|
|
18
|
-
import { MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist } from './data/puzzle.js';
|
|
19
|
-
import BanPatternRule from './data/rules/banPatternRule.js';
|
|
20
|
-
import CellCountPerZoneRule from './data/rules/cellCountPerZoneRule.js';
|
|
21
|
-
import CellCountRule from './data/rules/cellCountRule.js';
|
|
22
|
-
import CompletePatternRule from './data/rules/completePatternRule.js';
|
|
23
|
-
import ConnectAllRule from './data/rules/connectAllRule.js';
|
|
24
|
-
import ConnectZonesRule from './data/rules/connectZonesRule.js';
|
|
25
|
-
import ContainsShapeRule from './data/rules/containsShapeRule.js';
|
|
26
|
-
import CustomRule from './data/rules/customRule.js';
|
|
27
|
-
import DifferentCountPerZoneRule from './data/rules/differentCountPerZoneRule.js';
|
|
28
|
-
import ExactCountPerZoneRule from './data/rules/exactCountPerZoneRule.js';
|
|
29
|
-
import ForesightRule from './data/rules/foresightRule.js';
|
|
30
|
-
import { allRules } from './data/rules/index.js';
|
|
31
|
-
import LyingSymbolRule from './data/rules/lyingSymbolRule.js';
|
|
32
|
-
import { ControlLine, Row } from './data/rules/musicControlLine.js';
|
|
33
|
-
import MusicGridRule from './data/rules/musicGridRule.js';
|
|
34
|
-
import MysteryRule from './data/rules/mysteryRule.js';
|
|
35
|
-
import NoLoopsRule from './data/rules/noLoopsRule.js';
|
|
36
|
-
import OffByXRule from './data/rules/offByXRule.js';
|
|
37
|
-
import PerfectionRule from './data/rules/perfectionRule.js';
|
|
38
|
-
import RegionAreaRule from './data/rules/regionAreaRule.js';
|
|
39
|
-
import RegionShapeRule from './data/rules/regionShapeRule.js';
|
|
40
|
-
import Rule from './data/rules/rule.js';
|
|
41
|
-
import SameCountPerZoneRule from './data/rules/sameCountPerZoneRule.js';
|
|
42
|
-
import SameShapeRule from './data/rules/sameShapeRule.js';
|
|
43
|
-
import SymbolsPerRegionRule from './data/rules/symbolsPerRegionRule.js';
|
|
44
|
-
import UndercluedRule from './data/rules/undercluedRule.js';
|
|
45
|
-
import UniqueShapeRule from './data/rules/uniqueShapeRule.js';
|
|
46
|
-
import WrapAroundRule from './data/rules/wrapAroundRule.js';
|
|
47
|
-
import { Serializer } from './data/serializer/allSerializers.js';
|
|
48
|
-
import { Compressor } from './data/serializer/compressor/allCompressors.js';
|
|
49
|
-
import ChecksumCompressor from './data/serializer/compressor/checksumCompressor.js';
|
|
50
|
-
import CompressorBase from './data/serializer/compressor/compressorBase.js';
|
|
51
|
-
import DeflateCompressor from './data/serializer/compressor/deflateCompressor.js';
|
|
52
|
-
import GzipCompressor from './data/serializer/compressor/gzipCompressor.js';
|
|
53
|
-
import StreamCompressor from './data/serializer/compressor/streamCompressor.js';
|
|
54
|
-
import SerializerBase from './data/serializer/serializerBase.js';
|
|
55
|
-
import SerializerChecksum from './data/serializer/serializer_checksum.js';
|
|
56
|
-
import SerializerV0, { OFFSETS, orientationChars } from './data/serializer/serializer_v0.js';
|
|
57
|
-
import { getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape } from './data/shapes.js';
|
|
58
|
-
import { allSolvers } from './data/solver/allSolvers.js';
|
|
59
|
-
import AutoSolver from './data/solver/auto/autoSolver.js';
|
|
60
|
-
import BacktrackSolver from './data/solver/backtrack/backtrackSolver.js';
|
|
61
|
-
import BTModule, { BTGridData, BTTile, IntArray2D, checkSubtilePlacement, colorToBTTile, createOneTileResult, getOppositeColor } from './data/solver/backtrack/data.js';
|
|
62
|
-
import BanPatternBTModule from './data/solver/backtrack/rules/banPattern.js';
|
|
63
|
-
import CellCountBTModule from './data/solver/backtrack/rules/cellCount.js';
|
|
64
|
-
import ConnectAllBTModule from './data/solver/backtrack/rules/connectAll.js';
|
|
65
|
-
import RegionAreaBTModule from './data/solver/backtrack/rules/regionArea.js';
|
|
66
|
-
import RegionShapeBTModule from './data/solver/backtrack/rules/regionShape.js';
|
|
67
|
-
import SameShapeBTModule from './data/solver/backtrack/rules/sameShape.js';
|
|
68
|
-
import SymbolsPerRegionBTModule from './data/solver/backtrack/rules/symbolsPerRegion.js';
|
|
69
|
-
import UniqueShapeBTModule from './data/solver/backtrack/rules/uniqueShape.js';
|
|
70
|
-
import AreaNumberBTModule from './data/solver/backtrack/symbols/areaNumber.js';
|
|
71
|
-
import DartBTModule from './data/solver/backtrack/symbols/dart.js';
|
|
72
|
-
import DirectionLinkerBTModule from './data/solver/backtrack/symbols/directionLinker.js';
|
|
73
|
-
import FocusBTModule from './data/solver/backtrack/symbols/focus.js';
|
|
74
|
-
import GalaxyBTModule from './data/solver/backtrack/symbols/galaxy.js';
|
|
75
|
-
import LetterBTModule from './data/solver/backtrack/symbols/letter.js';
|
|
76
|
-
import LotusBTModule from './data/solver/backtrack/symbols/lotus.js';
|
|
77
|
-
import MinesweeperBTModule from './data/solver/backtrack/symbols/minesweeper.js';
|
|
78
|
-
import MyopiaBTModule from './data/solver/backtrack/symbols/myopia.js';
|
|
79
|
-
import ViewpointBTModule from './data/solver/backtrack/symbols/viewpoint.js';
|
|
80
|
-
import CspuzSolver from './data/solver/cspuz/cspuzSolver.js';
|
|
81
|
-
import { gridToJson } from './data/solver/cspuz/jsonify.js';
|
|
82
|
-
import EventIteratingSolver from './data/solver/eventIteratingSolver.js';
|
|
83
|
-
import Solver from './data/solver/solver.js';
|
|
84
|
-
import UniversalSolver from './data/solver/universal/universalSolver.js';
|
|
85
|
-
import AreaNumberSymbol from './data/symbols/areaNumberSymbol.js';
|
|
86
|
-
import CustomIconSymbol from './data/symbols/customIconSymbol.js';
|
|
87
|
-
import CustomSymbol from './data/symbols/customSymbol.js';
|
|
88
|
-
import CustomTextSymbol from './data/symbols/customTextSymbol.js';
|
|
89
|
-
import DartSymbol from './data/symbols/dartSymbol.js';
|
|
90
|
-
import DirectionLinkerSymbol from './data/symbols/directionLinkerSymbol.js';
|
|
91
|
-
import EveryLetterSymbol from './data/symbols/everyLetterSymbol.js';
|
|
92
|
-
import FocusSymbol from './data/symbols/focusSymbol.js';
|
|
93
|
-
import GalaxySymbol from './data/symbols/galaxySymbol.js';
|
|
94
|
-
import HiddenSymbol from './data/symbols/hiddenSymbol.js';
|
|
95
|
-
import HouseSymbol from './data/symbols/houseSymbol.js';
|
|
96
|
-
import { allSymbols } from './data/symbols/index.js';
|
|
97
|
-
import LetterSymbol from './data/symbols/letterSymbol.js';
|
|
98
|
-
import LotusSymbol from './data/symbols/lotusSymbol.js';
|
|
99
|
-
import MinesweeperSymbol from './data/symbols/minesweeperSymbol.js';
|
|
100
|
-
import MyopiaSymbol from './data/symbols/myopiaSymbol.js';
|
|
101
|
-
import NumberSymbol from './data/symbols/numberSymbol.js';
|
|
102
|
-
import Symbol from './data/symbols/symbol.js';
|
|
103
|
-
import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
|
|
104
|
-
import TileData from './data/tile.js';
|
|
105
|
-
import TileConnections from './data/tileConnections.js';
|
|
106
|
-
import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
|
|
107
|
-
import { GridValidator } from './data/validateAsync.js';
|
|
108
|
-
export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, ChecksumCompressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerChecksum, SerializerV0, OFFSETS, orientationChars, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, checkSubtilePlacement, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|
package/dist/src/index.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/* prettier-ignore-start */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// noinspection JSUnusedGlobalSymbols
|
|
4
|
-
import { ConfigType, configEquals } from './data/config.js';
|
|
5
|
-
import Configurable from './data/configurable.js';
|
|
6
|
-
import { CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape } from './data/dataHelper.js';
|
|
7
|
-
import { isEventHandler } from './data/events/eventHelper.js';
|
|
8
|
-
import { handlesFinalValidation } from './data/events/onFinalValidation.js';
|
|
9
|
-
import { handlesGetTile } from './data/events/onGetTile.js';
|
|
10
|
-
import { handlesGridChange } from './data/events/onGridChange.js';
|
|
11
|
-
import { handlesGridResize } from './data/events/onGridResize.js';
|
|
12
|
-
import { handlesSetGrid, invokeSetGrid } from './data/events/onSetGrid.js';
|
|
13
|
-
import { handlesSymbolDisplay } from './data/events/onSymbolDisplay.js';
|
|
14
|
-
import { handlesSymbolMerge } from './data/events/onSymbolMerge.js';
|
|
15
|
-
import { handlesSymbolValidation } from './data/events/onSymbolValidation.js';
|
|
16
|
-
import GridData, { NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8 } from './data/grid.js';
|
|
17
|
-
import GridConnections from './data/gridConnections.js';
|
|
18
|
-
import GridZones from './data/gridZones.js';
|
|
19
|
-
import Instruction from './data/instruction.js';
|
|
20
|
-
import { COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle } from './data/primitives.js';
|
|
21
|
-
import { MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist } from './data/puzzle.js';
|
|
22
|
-
import BanPatternRule from './data/rules/banPatternRule.js';
|
|
23
|
-
import CellCountPerZoneRule from './data/rules/cellCountPerZoneRule.js';
|
|
24
|
-
import CellCountRule from './data/rules/cellCountRule.js';
|
|
25
|
-
import CompletePatternRule from './data/rules/completePatternRule.js';
|
|
26
|
-
import ConnectAllRule from './data/rules/connectAllRule.js';
|
|
27
|
-
import ConnectZonesRule from './data/rules/connectZonesRule.js';
|
|
28
|
-
import ContainsShapeRule from './data/rules/containsShapeRule.js';
|
|
29
|
-
import CustomRule from './data/rules/customRule.js';
|
|
30
|
-
import DifferentCountPerZoneRule from './data/rules/differentCountPerZoneRule.js';
|
|
31
|
-
import ExactCountPerZoneRule from './data/rules/exactCountPerZoneRule.js';
|
|
32
|
-
import ForesightRule from './data/rules/foresightRule.js';
|
|
33
|
-
import { allRules } from './data/rules/index.js';
|
|
34
|
-
import LyingSymbolRule from './data/rules/lyingSymbolRule.js';
|
|
35
|
-
import { ControlLine, Row } from './data/rules/musicControlLine.js';
|
|
36
|
-
import MusicGridRule from './data/rules/musicGridRule.js';
|
|
37
|
-
import MysteryRule from './data/rules/mysteryRule.js';
|
|
38
|
-
import NoLoopsRule from './data/rules/noLoopsRule.js';
|
|
39
|
-
import OffByXRule from './data/rules/offByXRule.js';
|
|
40
|
-
import PerfectionRule from './data/rules/perfectionRule.js';
|
|
41
|
-
import RegionAreaRule from './data/rules/regionAreaRule.js';
|
|
42
|
-
import RegionShapeRule from './data/rules/regionShapeRule.js';
|
|
43
|
-
import Rule from './data/rules/rule.js';
|
|
44
|
-
import SameCountPerZoneRule from './data/rules/sameCountPerZoneRule.js';
|
|
45
|
-
import SameShapeRule from './data/rules/sameShapeRule.js';
|
|
46
|
-
import SymbolsPerRegionRule from './data/rules/symbolsPerRegionRule.js';
|
|
47
|
-
import UndercluedRule from './data/rules/undercluedRule.js';
|
|
48
|
-
import UniqueShapeRule from './data/rules/uniqueShapeRule.js';
|
|
49
|
-
import WrapAroundRule from './data/rules/wrapAroundRule.js';
|
|
50
|
-
import { Serializer } from './data/serializer/allSerializers.js';
|
|
51
|
-
import { Compressor } from './data/serializer/compressor/allCompressors.js';
|
|
52
|
-
import ChecksumCompressor from './data/serializer/compressor/checksumCompressor.js';
|
|
53
|
-
import CompressorBase from './data/serializer/compressor/compressorBase.js';
|
|
54
|
-
import DeflateCompressor from './data/serializer/compressor/deflateCompressor.js';
|
|
55
|
-
import GzipCompressor from './data/serializer/compressor/gzipCompressor.js';
|
|
56
|
-
import StreamCompressor from './data/serializer/compressor/streamCompressor.js';
|
|
57
|
-
import SerializerBase from './data/serializer/serializerBase.js';
|
|
58
|
-
import SerializerChecksum from './data/serializer/serializer_checksum.js';
|
|
59
|
-
import SerializerV0, { OFFSETS, orientationChars } from './data/serializer/serializer_v0.js';
|
|
60
|
-
import { getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape } from './data/shapes.js';
|
|
61
|
-
import { allSolvers } from './data/solver/allSolvers.js';
|
|
62
|
-
import AutoSolver from './data/solver/auto/autoSolver.js';
|
|
63
|
-
import BacktrackSolver from './data/solver/backtrack/backtrackSolver.js';
|
|
64
|
-
import BTModule, { BTGridData, BTTile, IntArray2D, checkSubtilePlacement, colorToBTTile, createOneTileResult, getOppositeColor } from './data/solver/backtrack/data.js';
|
|
65
|
-
import BanPatternBTModule from './data/solver/backtrack/rules/banPattern.js';
|
|
66
|
-
import CellCountBTModule from './data/solver/backtrack/rules/cellCount.js';
|
|
67
|
-
import ConnectAllBTModule from './data/solver/backtrack/rules/connectAll.js';
|
|
68
|
-
import RegionAreaBTModule from './data/solver/backtrack/rules/regionArea.js';
|
|
69
|
-
import RegionShapeBTModule from './data/solver/backtrack/rules/regionShape.js';
|
|
70
|
-
import SameShapeBTModule from './data/solver/backtrack/rules/sameShape.js';
|
|
71
|
-
import SymbolsPerRegionBTModule from './data/solver/backtrack/rules/symbolsPerRegion.js';
|
|
72
|
-
import UniqueShapeBTModule from './data/solver/backtrack/rules/uniqueShape.js';
|
|
73
|
-
import AreaNumberBTModule from './data/solver/backtrack/symbols/areaNumber.js';
|
|
74
|
-
import DartBTModule from './data/solver/backtrack/symbols/dart.js';
|
|
75
|
-
import DirectionLinkerBTModule from './data/solver/backtrack/symbols/directionLinker.js';
|
|
76
|
-
import FocusBTModule from './data/solver/backtrack/symbols/focus.js';
|
|
77
|
-
import GalaxyBTModule from './data/solver/backtrack/symbols/galaxy.js';
|
|
78
|
-
import LetterBTModule from './data/solver/backtrack/symbols/letter.js';
|
|
79
|
-
import LotusBTModule from './data/solver/backtrack/symbols/lotus.js';
|
|
80
|
-
import MinesweeperBTModule from './data/solver/backtrack/symbols/minesweeper.js';
|
|
81
|
-
import MyopiaBTModule from './data/solver/backtrack/symbols/myopia.js';
|
|
82
|
-
import ViewpointBTModule from './data/solver/backtrack/symbols/viewpoint.js';
|
|
83
|
-
import CspuzSolver from './data/solver/cspuz/cspuzSolver.js';
|
|
84
|
-
import { gridToJson } from './data/solver/cspuz/jsonify.js';
|
|
85
|
-
import EventIteratingSolver from './data/solver/eventIteratingSolver.js';
|
|
86
|
-
import Solver from './data/solver/solver.js';
|
|
87
|
-
import UniversalSolver from './data/solver/universal/universalSolver.js';
|
|
88
|
-
import AreaNumberSymbol from './data/symbols/areaNumberSymbol.js';
|
|
89
|
-
import CustomIconSymbol from './data/symbols/customIconSymbol.js';
|
|
90
|
-
import CustomSymbol from './data/symbols/customSymbol.js';
|
|
91
|
-
import CustomTextSymbol from './data/symbols/customTextSymbol.js';
|
|
92
|
-
import DartSymbol from './data/symbols/dartSymbol.js';
|
|
93
|
-
import DirectionLinkerSymbol from './data/symbols/directionLinkerSymbol.js';
|
|
94
|
-
import EveryLetterSymbol from './data/symbols/everyLetterSymbol.js';
|
|
95
|
-
import FocusSymbol from './data/symbols/focusSymbol.js';
|
|
96
|
-
import GalaxySymbol from './data/symbols/galaxySymbol.js';
|
|
97
|
-
import HiddenSymbol from './data/symbols/hiddenSymbol.js';
|
|
98
|
-
import HouseSymbol from './data/symbols/houseSymbol.js';
|
|
99
|
-
import { allSymbols } from './data/symbols/index.js';
|
|
100
|
-
import LetterSymbol from './data/symbols/letterSymbol.js';
|
|
101
|
-
import LotusSymbol from './data/symbols/lotusSymbol.js';
|
|
102
|
-
import MinesweeperSymbol from './data/symbols/minesweeperSymbol.js';
|
|
103
|
-
import MyopiaSymbol from './data/symbols/myopiaSymbol.js';
|
|
104
|
-
import NumberSymbol from './data/symbols/numberSymbol.js';
|
|
105
|
-
import Symbol from './data/symbols/symbol.js';
|
|
106
|
-
import ViewpointSymbol from './data/symbols/viewpointSymbol.js';
|
|
107
|
-
import TileData from './data/tile.js';
|
|
108
|
-
import TileConnections from './data/tileConnections.js';
|
|
109
|
-
import validateGrid, { aggregateState, applyFinalOverrides } from './data/validate.js';
|
|
110
|
-
import { GridValidator } from './data/validateAsync.js';
|
|
111
|
-
export { ConfigType, configEquals, Configurable, CachedAccess, allEqual, array, directionToRotation, escape, isSameEdge, maxBy, minBy, move, orientationToRotation, resize, unescape, isEventHandler, handlesFinalValidation, handlesGetTile, handlesGridChange, handlesGridResize, handlesSetGrid, invokeSetGrid, handlesSymbolDisplay, handlesSymbolMerge, handlesSymbolValidation, GridData, NEIGHBOR_OFFSETS, NEIGHBOR_OFFSETS_8, GridConnections, GridZones, Instruction, COMPARISONS, Color, Comparison, DIRECTIONS, DRUM_SAMPLES, Direction, INSTRUMENTS, Instrument, MajorRule, Mode, ORIENTATIONS, Orientation, PuzzleType, State, WRAPPINGS, Wrapping, directionToggle, isDrumSample, orientationToggle, MetadataSchema, PuzzleSchema, getPuzzleTypes, puzzleEquals, validatePuzzleChecklist, BanPatternRule, CellCountPerZoneRule, CellCountRule, CompletePatternRule, ConnectAllRule, ConnectZonesRule, ContainsShapeRule, CustomRule, DifferentCountPerZoneRule, ExactCountPerZoneRule, ForesightRule, allRules, LyingSymbolRule, ControlLine, Row, MusicGridRule, MysteryRule, NoLoopsRule, OffByXRule, PerfectionRule, RegionAreaRule, RegionShapeRule, Rule, SameCountPerZoneRule, SameShapeRule, SymbolsPerRegionRule, UndercluedRule, UniqueShapeRule, WrapAroundRule, Serializer, Compressor, ChecksumCompressor, CompressorBase, DeflateCompressor, GzipCompressor, StreamCompressor, SerializerBase, SerializerChecksum, SerializerV0, OFFSETS, orientationChars, getShapeVariants, normalizeShape, positionsToShape, sanitizePatternGrid, shapeEquals, tilesToShape, allSolvers, AutoSolver, BacktrackSolver, BTModule, BTGridData, BTTile, IntArray2D, checkSubtilePlacement, colorToBTTile, createOneTileResult, getOppositeColor, BanPatternBTModule, CellCountBTModule, ConnectAllBTModule, RegionAreaBTModule, RegionShapeBTModule, SameShapeBTModule, SymbolsPerRegionBTModule, UniqueShapeBTModule, AreaNumberBTModule, DartBTModule, DirectionLinkerBTModule, FocusBTModule, GalaxyBTModule, LetterBTModule, LotusBTModule, MinesweeperBTModule, MyopiaBTModule, ViewpointBTModule, CspuzSolver, gridToJson, EventIteratingSolver, Solver, UniversalSolver, AreaNumberSymbol, CustomIconSymbol, CustomSymbol, CustomTextSymbol, DartSymbol, DirectionLinkerSymbol, EveryLetterSymbol, FocusSymbol, GalaxySymbol, HiddenSymbol, HouseSymbol, allSymbols, LetterSymbol, LotusSymbol, MinesweeperSymbol, MyopiaSymbol, NumberSymbol, Symbol, ViewpointSymbol, TileData, TileConnections, validateGrid, aggregateState, applyFinalOverrides, GridValidator, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'compression-streams-polyfill';
|