@revideo/2d 0.3.7-beta.987 → 0.3.7-blue.987

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.
@@ -1,70 +1,72 @@
1
- import {unwrap} from '@revideo/core';
2
- import {isCodeMetrics} from './CodeMetrics';
1
+ import { unwrap } from '@revideo/core';
2
+ import { isCodeMetrics } from './CodeMetrics';
3
3
  export function CODE(strings, ...tags) {
4
- const result = [];
5
- for (let i = 0; i < strings.length; i++) {
6
- result.push(strings[i]);
7
- const tag = tags[i];
8
- if (tag !== undefined) {
9
- if (Array.isArray(tag)) {
10
- result.push(...tag);
11
- } else {
12
- result.push(tag);
13
- }
4
+ const result = [];
5
+ for (let i = 0; i < strings.length; i++) {
6
+ result.push(strings[i]);
7
+ const tag = tags[i];
8
+ if (tag !== undefined) {
9
+ if (Array.isArray(tag)) {
10
+ result.push(...tag);
11
+ }
12
+ else {
13
+ result.push(tag);
14
+ }
15
+ }
14
16
  }
15
- }
16
- return result;
17
+ return result;
17
18
  }
18
19
  export function isCodeScope(value) {
19
- return value?.fragments !== undefined;
20
+ return value?.fragments !== undefined;
20
21
  }
21
22
  export function parseCodeScope(value) {
22
- if (typeof value === 'string') {
23
- return {
24
- progress: 0,
25
- fragments: [value],
26
- };
27
- }
28
- if (Array.isArray(value)) {
29
- return {
30
- progress: 0,
31
- fragments: value,
32
- };
33
- }
34
- return value;
23
+ if (typeof value === 'string') {
24
+ return {
25
+ progress: 0,
26
+ fragments: [value],
27
+ };
28
+ }
29
+ if (Array.isArray(value)) {
30
+ return {
31
+ progress: 0,
32
+ fragments: value,
33
+ };
34
+ }
35
+ return value;
35
36
  }
36
37
  export function resolveScope(scope, isAfter) {
37
- let code = '';
38
- const after = typeof isAfter === 'boolean' ? isAfter : isAfter(scope);
39
- for (const wrapped of scope.fragments) {
40
- code += resolveCodeTag(wrapped, after, isAfter);
41
- }
42
- return code;
38
+ let code = '';
39
+ const after = typeof isAfter === 'boolean' ? isAfter : isAfter(scope);
40
+ for (const wrapped of scope.fragments) {
41
+ code += resolveCodeTag(wrapped, after, isAfter);
42
+ }
43
+ return code;
43
44
  }
44
45
  export function resolveCodeTag(wrapped, after, isAfter = after) {
45
- const fragment = unwrap(wrapped);
46
- if (typeof fragment === 'string') {
47
- return fragment;
48
- } else if (isCodeScope(fragment)) {
49
- return resolveScope(fragment, isAfter);
50
- } else if (isCodeMetrics(fragment)) {
51
- return fragment.content;
52
- } else if (Array.isArray(fragment)) {
53
- return resolveScope(
54
- {
55
- progress: 0,
56
- fragments: fragment,
57
- },
58
- isAfter,
59
- );
60
- } else {
61
- return after
62
- ? typeof fragment.after === 'string'
63
- ? fragment.after
64
- : fragment.after.content
65
- : typeof fragment.before === 'string'
66
- ? fragment.before
67
- : fragment.before.content;
68
- }
46
+ const fragment = unwrap(wrapped);
47
+ if (typeof fragment === 'string') {
48
+ return fragment;
49
+ }
50
+ else if (isCodeScope(fragment)) {
51
+ return resolveScope(fragment, isAfter);
52
+ }
53
+ else if (isCodeMetrics(fragment)) {
54
+ return fragment.content;
55
+ }
56
+ else if (Array.isArray(fragment)) {
57
+ return resolveScope({
58
+ progress: 0,
59
+ fragments: fragment,
60
+ }, isAfter);
61
+ }
62
+ else {
63
+ return after
64
+ ? typeof fragment.after === 'string'
65
+ ? fragment.after
66
+ : fragment.after.content
67
+ : typeof fragment.before === 'string'
68
+ ? fragment.before
69
+ : fragment.before.content;
70
+ }
69
71
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb2RlL0NvZGVTY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFXNUMsTUFBTSxVQUFVLElBQUksQ0FDbEIsT0FBNkIsRUFDN0IsR0FBRyxJQUFlO0lBRWxCLE1BQU0sTUFBTSxHQUFjLEVBQUUsQ0FBQztJQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNwQyxPQUFPLEtBQUssRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQXdCO0lBQ3JELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTztZQUNMLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFJRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixLQUFnQixFQUNoQixPQUF5QjtJQUV6QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxNQUFNLEtBQUssR0FBRyxPQUFPLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsT0FBZ0IsRUFDaEIsS0FBYyxFQUNkLFVBQTRCLEtBQUs7SUFFakMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztTQUFNLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7U0FBTSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxZQUFZLENBQ2pCO1lBQ0UsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsUUFBUTtTQUNwQixFQUNELE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEtBQUs7WUFDVixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsS0FBSyxLQUFLLFFBQVE7Z0JBQ2xDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSztnQkFDaEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMxQixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVE7Z0JBQ25DLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDakIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDIn0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNjb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb2RlL0NvZGVTY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFXNUMsTUFBTSxVQUFVLElBQUksQ0FDbEIsT0FBNkIsRUFDN0IsR0FBRyxJQUFlO0lBRWxCLE1BQU0sTUFBTSxHQUFjLEVBQUUsQ0FBQztJQUM3QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNwQyxPQUFPLEtBQUssRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQXdCO0lBQ3JELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTztZQUNMLFFBQVEsRUFBRSxDQUFDO1lBQ1gsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFJRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixLQUFnQixFQUNoQixPQUF5QjtJQUV6QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxNQUFNLEtBQUssR0FBRyxPQUFPLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsT0FBZ0IsRUFDaEIsS0FBYyxFQUNkLFVBQTRCLEtBQUs7SUFFakMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztTQUFNLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7U0FBTSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxZQUFZLENBQ2pCO1lBQ0UsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUUsUUFBUTtTQUNwQixFQUNELE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEtBQUs7WUFDVixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsS0FBSyxLQUFLLFFBQVE7Z0JBQ2xDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSztnQkFDaEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMxQixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVE7Z0JBQ25DLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDakIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDIn0=
@@ -1,218 +1,201 @@
1
- import {
2
- createSignal,
3
- deepLerp,
4
- DependencyContext,
5
- SignalContext,
6
- unwrap,
7
- } from '@revideo/core';
8
- import {Code} from '../components';
9
- import {addInitializer, getPropertyMetaOrCreate} from '../decorators';
10
- import {defaultDiffer} from './CodeDiffer';
11
- import {insert, replace} from './CodeFragment';
12
- import {CODE, parseCodeScope, resolveCodeTag} from './CodeScope';
13
- import {defaultTokenize} from './CodeTokenizer';
14
- import {extractRange} from './extractRange';
1
+ import { createSignal, deepLerp, DependencyContext, SignalContext, unwrap, } from '@revideo/core';
2
+ import { Code } from '../components';
3
+ import { addInitializer, getPropertyMetaOrCreate } from '../decorators';
4
+ import { defaultDiffer } from './CodeDiffer';
5
+ import { insert, replace } from './CodeFragment';
6
+ import { CODE, parseCodeScope, resolveCodeTag, } from './CodeScope';
7
+ import { defaultTokenize } from './CodeTokenizer';
8
+ import { extractRange } from './extractRange';
15
9
  export class CodeSignalContext extends SignalContext {
16
- constructor(initial, owner, highlighter, dialect) {
17
- super(initial, deepLerp, owner);
18
- this.highlighter = highlighter;
19
- this.dialect = dialect;
20
- this.progress = createSignal(0);
21
- if (owner instanceof Code) {
22
- this.highlighter ?? (this.highlighter = owner.highlighter);
23
- this.dialect ?? (this.dialect = owner.dialect);
10
+ constructor(initial, owner, highlighter, dialect) {
11
+ super(initial, deepLerp, owner);
12
+ this.highlighter = highlighter;
13
+ this.dialect = dialect;
14
+ this.progress = createSignal(0);
15
+ if (owner instanceof Code) {
16
+ this.highlighter ?? (this.highlighter = owner.highlighter);
17
+ this.dialect ?? (this.dialect = owner.dialect);
18
+ }
19
+ Object.defineProperty(this.invokable, 'edit', {
20
+ value: this.edit.bind(this),
21
+ });
22
+ Object.defineProperty(this.invokable, 'append', {
23
+ value: this.append.bind(this),
24
+ });
25
+ Object.defineProperty(this.invokable, 'prepend', {
26
+ value: this.prepend.bind(this),
27
+ });
28
+ Object.defineProperty(this.invokable, 'insert', {
29
+ value: this.insert.bind(this),
30
+ });
31
+ Object.defineProperty(this.invokable, 'remove', {
32
+ value: this.remove.bind(this),
33
+ });
34
+ Object.defineProperty(this.invokable, 'replace', {
35
+ value: this.replace.bind(this),
36
+ });
37
+ }
38
+ *tweener(value, duration, timingFunction) {
39
+ let tokenize = defaultTokenize;
40
+ const highlighter = unwrap(this.highlighter);
41
+ const dialect = unwrap(this.dialect);
42
+ if (highlighter && dialect) {
43
+ yield (async () => {
44
+ do {
45
+ await DependencyContext.consumePromises();
46
+ highlighter.initialize();
47
+ } while (DependencyContext.hasPromises());
48
+ })();
49
+ tokenize = (input) => highlighter.tokenize(input, dialect);
50
+ }
51
+ this.progress(0);
52
+ this.set({
53
+ progress: this.progress,
54
+ fragments: defaultDiffer(this.get(), this.parse(unwrap(value)), tokenize),
55
+ });
56
+ yield* this.progress(1, duration, timingFunction);
57
+ this.set(value);
24
58
  }
25
- Object.defineProperty(this.invokable, 'edit', {
26
- value: this.edit.bind(this),
27
- });
28
- Object.defineProperty(this.invokable, 'append', {
29
- value: this.append.bind(this),
30
- });
31
- Object.defineProperty(this.invokable, 'prepend', {
32
- value: this.prepend.bind(this),
33
- });
34
- Object.defineProperty(this.invokable, 'insert', {
35
- value: this.insert.bind(this),
36
- });
37
- Object.defineProperty(this.invokable, 'remove', {
38
- value: this.remove.bind(this),
39
- });
40
- Object.defineProperty(this.invokable, 'replace', {
41
- value: this.replace.bind(this),
42
- });
43
- }
44
- *tweener(value, duration, timingFunction) {
45
- let tokenize = defaultTokenize;
46
- const highlighter = unwrap(this.highlighter);
47
- const dialect = unwrap(this.dialect);
48
- if (highlighter && dialect) {
49
- yield (async () => {
50
- do {
51
- await DependencyContext.consumePromises();
52
- highlighter.initialize();
53
- } while (DependencyContext.hasPromises());
54
- })();
55
- tokenize = input => highlighter.tokenize(input, dialect);
59
+ edit(duration = 0.6) {
60
+ return (strings, ...tags) => this.editTween(CODE(strings, ...tags), duration);
56
61
  }
57
- this.progress(0);
58
- this.set({
59
- progress: this.progress,
60
- fragments: defaultDiffer(this.get(), this.parse(unwrap(value)), tokenize),
61
- });
62
- yield* this.progress(1, duration, timingFunction);
63
- this.set(value);
64
- }
65
- edit(duration = 0.6) {
66
- return (strings, ...tags) =>
67
- this.editTween(CODE(strings, ...tags), duration);
68
- }
69
- append(first = 0.6, duration) {
70
- if (typeof first === 'string') {
71
- if (duration === undefined) {
72
- const current = this.get();
73
- return this.set({
74
- progress: 0,
75
- fragments: [...current.fragments, first],
62
+ append(first = 0.6, duration) {
63
+ if (typeof first === 'string') {
64
+ if (duration === undefined) {
65
+ const current = this.get();
66
+ return this.set({
67
+ progress: 0,
68
+ fragments: [...current.fragments, first],
69
+ });
70
+ }
71
+ else {
72
+ return this.appendTween(first, duration);
73
+ }
74
+ }
75
+ const savedDuration = first;
76
+ return (strings, ...tags) => this.append(resolveCodeTag(CODE(strings, ...tags), true), savedDuration);
77
+ }
78
+ prepend(first = 0.6, duration) {
79
+ if (typeof first === 'string') {
80
+ if (duration === undefined) {
81
+ const current = this.get();
82
+ return this.set({
83
+ progress: 0,
84
+ fragments: [first, ...current.fragments],
85
+ });
86
+ }
87
+ else {
88
+ return this.prependTween(first, duration);
89
+ }
90
+ }
91
+ const savedDuration = first;
92
+ return (strings, ...tags) => this.prepend(resolveCodeTag(CODE(strings, ...tags), true), savedDuration);
93
+ }
94
+ insert(point, code, duration) {
95
+ return this.replace([point, point], code, duration);
96
+ }
97
+ remove(range, duration) {
98
+ return this.replace(range, '', duration);
99
+ }
100
+ replace(range, code, duration) {
101
+ if (duration === undefined) {
102
+ const current = this.get();
103
+ const [fragments, index] = extractRange(range, current.fragments);
104
+ fragments[index] = code;
105
+ return this.set({
106
+ progress: current.progress,
107
+ fragments,
108
+ });
109
+ }
110
+ else {
111
+ return this.replaceTween(range, code, duration);
112
+ }
113
+ }
114
+ *replaceTween(range, code, duration) {
115
+ let current = this.get();
116
+ const [fragments, index] = extractRange(range, current.fragments);
117
+ const progress = createSignal(0);
118
+ const scope = {
119
+ progress,
120
+ fragments: [replace(fragments[index], code)],
121
+ };
122
+ fragments[index] = scope;
123
+ this.set({
124
+ progress: current.progress,
125
+ fragments,
76
126
  });
77
- } else {
78
- return this.appendTween(first, duration);
79
- }
127
+ yield* progress(1, duration);
128
+ current = this.get();
129
+ this.set({
130
+ progress: current.progress,
131
+ fragments: current.fragments.map(fragment => fragment === scope ? code : fragment),
132
+ });
133
+ progress.context.dispose();
80
134
  }
81
- const savedDuration = first;
82
- return (strings, ...tags) =>
83
- this.append(resolveCodeTag(CODE(strings, ...tags), true), savedDuration);
84
- }
85
- prepend(first = 0.6, duration) {
86
- if (typeof first === 'string') {
87
- if (duration === undefined) {
135
+ *editTween(value, duration) {
136
+ this.progress(0);
137
+ this.set({
138
+ progress: this.progress,
139
+ fragments: value,
140
+ });
141
+ yield* this.progress(1, duration);
88
142
  const current = this.get();
89
- return this.set({
90
- progress: 0,
91
- fragments: [first, ...current.fragments],
143
+ this.set({
144
+ progress: 0,
145
+ fragments: current.fragments.map(fragment => value.includes(fragment) ? resolveCodeTag(fragment, true) : fragment),
92
146
  });
93
- } else {
94
- return this.prependTween(first, duration);
95
- }
96
147
  }
97
- const savedDuration = first;
98
- return (strings, ...tags) =>
99
- this.prepend(resolveCodeTag(CODE(strings, ...tags), true), savedDuration);
100
- }
101
- insert(point, code, duration) {
102
- return this.replace([point, point], code, duration);
103
- }
104
- remove(range, duration) {
105
- return this.replace(range, '', duration);
106
- }
107
- replace(range, code, duration) {
108
- if (duration === undefined) {
109
- const current = this.get();
110
- const [fragments, index] = extractRange(range, current.fragments);
111
- fragments[index] = code;
112
- return this.set({
113
- progress: current.progress,
114
- fragments,
115
- });
116
- } else {
117
- return this.replaceTween(range, code, duration);
148
+ *appendTween(value, duration) {
149
+ let current = this.get();
150
+ const progress = createSignal(0);
151
+ const scope = {
152
+ progress,
153
+ fragments: [insert(value)],
154
+ };
155
+ this.set({
156
+ progress: current.progress,
157
+ fragments: [...current.fragments, scope],
158
+ });
159
+ yield* progress(1, duration);
160
+ current = this.get();
161
+ this.set({
162
+ progress: current.progress,
163
+ fragments: current.fragments.map(fragment => fragment === scope ? value : fragment),
164
+ });
165
+ progress.context.dispose();
166
+ }
167
+ *prependTween(value, duration) {
168
+ let current = this.get();
169
+ const progress = createSignal(0);
170
+ const scope = {
171
+ progress,
172
+ fragments: [insert(value)],
173
+ };
174
+ this.set({
175
+ progress: current.progress,
176
+ fragments: [scope, ...current.fragments],
177
+ });
178
+ yield* progress(1, duration);
179
+ current = this.get();
180
+ this.set({
181
+ progress: current.progress,
182
+ fragments: current.fragments.map(fragment => fragment === scope ? value : fragment),
183
+ });
184
+ progress.context.dispose();
185
+ }
186
+ parse(value) {
187
+ return parseCodeScope(value);
188
+ }
189
+ toSignal() {
190
+ return this.invokable;
118
191
  }
119
- }
120
- *replaceTween(range, code, duration) {
121
- let current = this.get();
122
- const [fragments, index] = extractRange(range, current.fragments);
123
- const progress = createSignal(0);
124
- const scope = {
125
- progress,
126
- fragments: [replace(fragments[index], code)],
127
- };
128
- fragments[index] = scope;
129
- this.set({
130
- progress: current.progress,
131
- fragments,
132
- });
133
- yield* progress(1, duration);
134
- current = this.get();
135
- this.set({
136
- progress: current.progress,
137
- fragments: current.fragments.map(fragment =>
138
- fragment === scope ? code : fragment,
139
- ),
140
- });
141
- progress.context.dispose();
142
- }
143
- *editTween(value, duration) {
144
- this.progress(0);
145
- this.set({
146
- progress: this.progress,
147
- fragments: value,
148
- });
149
- yield* this.progress(1, duration);
150
- const current = this.get();
151
- this.set({
152
- progress: 0,
153
- fragments: current.fragments.map(fragment =>
154
- value.includes(fragment) ? resolveCodeTag(fragment, true) : fragment,
155
- ),
156
- });
157
- }
158
- *appendTween(value, duration) {
159
- let current = this.get();
160
- const progress = createSignal(0);
161
- const scope = {
162
- progress,
163
- fragments: [insert(value)],
164
- };
165
- this.set({
166
- progress: current.progress,
167
- fragments: [...current.fragments, scope],
168
- });
169
- yield* progress(1, duration);
170
- current = this.get();
171
- this.set({
172
- progress: current.progress,
173
- fragments: current.fragments.map(fragment =>
174
- fragment === scope ? value : fragment,
175
- ),
176
- });
177
- progress.context.dispose();
178
- }
179
- *prependTween(value, duration) {
180
- let current = this.get();
181
- const progress = createSignal(0);
182
- const scope = {
183
- progress,
184
- fragments: [insert(value)],
185
- };
186
- this.set({
187
- progress: current.progress,
188
- fragments: [scope, ...current.fragments],
189
- });
190
- yield* progress(1, duration);
191
- current = this.get();
192
- this.set({
193
- progress: current.progress,
194
- fragments: current.fragments.map(fragment =>
195
- fragment === scope ? value : fragment,
196
- ),
197
- });
198
- progress.context.dispose();
199
- }
200
- parse(value) {
201
- return parseCodeScope(value);
202
- }
203
- toSignal() {
204
- return this.invokable;
205
- }
206
192
  }
207
193
  export function codeSignal() {
208
- return (target, key) => {
209
- const meta = getPropertyMetaOrCreate(target, key);
210
- addInitializer(target, instance => {
211
- instance[key] = new CodeSignalContext(
212
- meta.default ?? [],
213
- instance,
214
- ).toSignal();
215
- });
216
- };
194
+ return (target, key) => {
195
+ const meta = getPropertyMetaOrCreate(target, key);
196
+ addInitializer(target, (instance) => {
197
+ instance[key] = new CodeSignalContext(meta.default ?? [], instance).toSignal();
198
+ });
199
+ };
217
200
  }
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29kZS9Db2RlU2lnbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLGlCQUFpQixFQUVqQixhQUFhLEVBSWIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFDLGNBQWMsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0MsT0FBTyxFQUNMLElBQUksRUFHSixjQUFjLEVBRWQsY0FBYyxHQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUE2QzVDLE1BQU0sT0FBTyxpQkFDWCxTQUFRLGFBQW1EO0lBSzNELFlBQ0UsT0FBMEIsRUFDMUIsS0FBYSxFQUNJLFdBQTBDLEVBQzFDLE9BQTZCO1FBRTlDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSGYsZ0JBQVcsR0FBWCxXQUFXLENBQStCO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBTi9CLGFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFTMUMsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsS0FBaEIsSUFBSSxDQUFDLFdBQVcsR0FBSyxLQUFLLENBQUMsV0FBVyxFQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEtBQVos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
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZVNpZ25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29kZS9Db2RlU2lnbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLGlCQUFpQixFQUVqQixhQUFhLEVBSWIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFDLGNBQWMsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHL0MsT0FBTyxFQUNMLElBQUksRUFHSixjQUFjLEVBRWQsY0FBYyxHQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUE2QzVDLE1BQU0sT0FBTyxpQkFDWCxTQUFRLGFBQW1EO0lBSzNELFlBQ0UsT0FBMEIsRUFDMUIsS0FBYSxFQUNJLFdBQTBDLEVBQzFDLE9BQTZCO1FBRTlDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSGYsZ0JBQVcsR0FBWCxXQUFXLENBQStCO1FBQzFDLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBTi9CLGFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFTMUMsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsS0FBaEIsSUFBSSxDQUFDLFdBQVcsR0FBSyxLQUFLLENBQUMsV0FBVyxFQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEtBQVosSUFBSSxDQUFDLE9BQU8sR0FBSyxLQUFLLENBQUMsT0FBTyxFQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQzVDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRTtZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUU7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvQixDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFO1lBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRTtZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUU7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRWUsQ0FBQyxPQUFPLENBQ3RCLEtBQXFDLEVBQ3JDLFFBQWdCLEVBQ2hCLGNBQThCO1FBRTlCLElBQUksUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNoQixHQUFHLENBQUM7b0JBQ0YsTUFBTSxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDMUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMzQixDQUFDLFFBQVEsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNMLFFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztTQUMxRSxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRU0sSUFBSSxDQUFDLFdBQW1CLEdBQUc7UUFDaEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFLTSxNQUFNLENBQ1gsUUFBeUIsR0FBRyxFQUM1QixRQUFpQjtRQUVqQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDZCxRQUFRLEVBQUUsQ0FBQztvQkFDWCxTQUFTLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO2lCQUN6QyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QixPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFLTSxPQUFPLENBQ1osUUFBeUIsR0FBRyxFQUM1QixRQUFpQjtRQUVqQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDZCxRQUFRLEVBQUUsQ0FBQztvQkFDWCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO2lCQUN6QyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QixPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFRTSxNQUFNLENBQ1gsS0FBZ0IsRUFDaEIsSUFBWSxFQUNaLFFBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUlNLE1BQU0sQ0FBQyxLQUFnQixFQUFFLFFBQWlCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFRTSxPQUFPLENBQ1osS0FBZ0IsRUFDaEIsSUFBWSxFQUNaLFFBQWlCO1FBRWpCLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNkLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtnQkFDMUIsU0FBUzthQUNWLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFTyxDQUFDLFlBQVksQ0FBQyxLQUFnQixFQUFFLElBQVksRUFBRSxRQUFnQjtRQUNwRSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUc7WUFDWixRQUFRO1lBQ1IsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN2RCxDQUFDO1FBQ0YsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFNBQVM7U0FDVixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTdCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNQLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDMUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3JDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxRQUFnQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDUCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDUCxRQUFRLEVBQUUsQ0FBQztZQUNYLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUMxQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3JFO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLENBQUMsV0FBVyxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUNsRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHO1lBQ1osUUFBUTtZQUNSLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNQLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixTQUFTLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUMxQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDdEM7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxDQUFDLFlBQVksQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDbkQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNLEtBQUssR0FBRztZQUNaLFFBQVE7WUFDUixTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0IsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDUCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztTQUN6QyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNQLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDMUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3RDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRWUsS0FBSyxDQUFDLEtBQXdCO1FBQzVDLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLENBQUMsTUFBVyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQzFCLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFvQixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckUsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3ZDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGlCQUFpQixDQUNuQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFDbEIsUUFBUSxDQUNULENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMifQ==