@ckeditor/ckeditor5-operations-compressor 39.0.1 → 40.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE.md +7 -7
  3. package/README.md +9 -9
  4. package/package.json +2 -6
  5. package/src/actioncompressor/actioncompressor.d.ts +60 -60
  6. package/src/actioncompressor/actioncompressor.js +1 -1
  7. package/src/actioncompressor/deletingactioncompressor.d.ts +28 -28
  8. package/src/actioncompressor/deletingactioncompressor.js +1 -1
  9. package/src/actioncompressor/forwarddeletingactioncompressor.d.ts +28 -28
  10. package/src/actioncompressor/forwarddeletingactioncompressor.js +1 -1
  11. package/src/actioncompressor/typingactioncompressor.d.ts +28 -28
  12. package/src/actioncompressor/typingactioncompressor.js +1 -1
  13. package/src/actioncompressor/userselectionactioncompressor.d.ts +16 -16
  14. package/src/actioncompressor/userselectionactioncompressor.js +1 -1
  15. package/src/compressor.d.ts +45 -45
  16. package/src/compressor.js +1 -1
  17. package/src/lib/compiledmessages.js +1 -1
  18. package/src/operationcompressor/annotationmarkeroperationcompressor.d.ts +22 -22
  19. package/src/operationcompressor/annotationmarkeroperationcompressor.js +1 -1
  20. package/src/operationcompressor/attributeoperationcompressor.d.ts +17 -17
  21. package/src/operationcompressor/attributeoperationcompressor.js +1 -1
  22. package/src/operationcompressor/insertoperationcompressor.d.ts +17 -17
  23. package/src/operationcompressor/insertoperationcompressor.js +1 -1
  24. package/src/operationcompressor/markeroperationcompressor.d.ts +13 -13
  25. package/src/operationcompressor/markeroperationcompressor.js +1 -1
  26. package/src/operationcompressor/nooperationcompressor.d.ts +20 -20
  27. package/src/operationcompressor/nooperationcompressor.js +1 -1
  28. package/src/operationcompressor/operationcompressor.d.ts +28 -28
  29. package/src/operationcompressor/operationcompressor.js +1 -1
  30. package/src/protobufdescriptions.d.ts +4 -4
  31. package/src/protobufdescriptions.js +1 -1
  32. package/src/protobuffactory.d.ts +5 -5
  33. package/src/protobuffactory.js +1 -1
  34. package/src/utils.d.ts +30 -30
  35. package/src/utils.js +1 -1
package/CHANGELOG.md CHANGED
@@ -89,4 +89,4 @@ Internal changes only (updated dependencies, documentation, etc.).
89
89
 
90
90
  ## 1.0.0 (2018-10-08)
91
91
 
92
- The first stable release of the CKEditor 5 operations compressor. Compress and decompress a collection of operations using [Protocol Buffers for JavaScript](https://github.com/dcodeIO/ProtoBuf.js/) and custom optimizations.
92
+ The first stable release of the CKEditor 5 operations compressor. Compress and decompress a collection of operations using [Protocol Buffers for JavaScript](https://github.com/dcodeIO/ProtoBuf.js/) and custom optimizations.
package/LICENSE.md CHANGED
@@ -1,23 +1,23 @@
1
1
  Software License Agreement
2
2
  ==========================
3
3
 
4
- **CKEditor 5 operations compressor**<br>
5
- Copyright (c) 2003-2022, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
4
+ **CKEditor&nbsp;5 operations compressor**<br>
5
+ Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
6
 
7
- CKEditor 5 operations compressor is licensed under a commercial license and is protected by copyright law.
7
+ CKEditor&nbsp;5 operations compressor is licensed under a commercial license and is protected by copyright law.
8
8
  For more details about available licensing options please contact us at sales@cksource.com.
9
9
 
10
- Sources of Intellectual Property Included in CKEditor 5 operations compressor
10
+ Sources of Intellectual Property Included in CKEditor&nbsp;5 operations compressor
11
11
  -----------------------------------------------------
12
12
 
13
- Where not otherwise indicated, all CKEditor 5 Operations Compressor content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
13
+ Where not otherwise indicated, all CKEditor&nbsp;5 Operations Compressor content is authored by CKSource engineers and consists of CKSource-owned intellectual property.
14
14
  Any attempts to deobfuscate or disassemble the code are forbidden and will result in legal consequences.
15
15
 
16
- The following libraries are included in CKEditor 5 Operations Compressor under the [MIT license](https://opensource.org/licenses/MIT):
16
+ The following libraries are included in CKEditor&nbsp;5 Operations Compressor under the [MIT license](https://opensource.org/licenses/MIT):
17
17
 
18
18
  * Lo-Dash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/.
19
19
 
20
- The following libraries are included in CKEditor 5 Operations Compressor under the [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause):
20
+ The following libraries are included in CKEditor&nbsp;5 Operations Compressor under the [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause):
21
21
 
22
22
  * Protocol Buffers for JavaScript - Copyright (c) 2016, Daniel Wirtz.
23
23
 
package/README.md CHANGED
@@ -1,27 +1,27 @@
1
- # CKEditor 5 operations compressor
1
+ # CKEditor&nbsp;5 operations compressor
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-operations-compressor.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-operations-compressor)
4
4
 
5
- CKEditor 5 operations compressor is a low-level API that compresses and decompresses operations to a normalized binary format in order to decrease network usage during real-time collaborative editing. It is required by the [CKEditor 5 real-time collaborative editing](https://ckeditor.com/collaboration/real-time/) feature to enable collaboration in [CKEditor 5](https://ckeditor.com/ckeditor-5/).
5
+ CKEditor&nbsp;5 operations compressor is a low-level API that compresses and decompresses operations to a normalized binary format in order to decrease network usage during real-time collaborative editing. It is required by the [CKEditor&nbsp;5 real-time collaborative editing](https://ckeditor.com/collaboration/real-time/) feature to enable collaboration in [CKEditor&nbsp;5](https://ckeditor.com/ckeditor-5/).
6
6
 
7
7
  ## Documentation
8
8
 
9
- For more information about real-time collaboration see the [CKEditor 5 real-time collaboration documentation](https://ckeditor.com/docs/ckeditor5/latest/features/collaboration/real-time-collaboration/real-time-collaboration.html).
9
+ For more information about real-time collaboration see the [CKEditor&nbsp;5 real-time collaboration documentation](https://ckeditor.com/docs/ckeditor5/latest/features/collaboration/real-time-collaboration/real-time-collaboration.html).
10
10
 
11
- Also, make sure you visit the [CKEditor 5 changelog](https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md) whenever a new version of the package is released.
11
+ Also, make sure you visit the [CKEditor&nbsp;5 changelog](https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md) whenever a new version of the package is released.
12
12
 
13
13
  ## Getting support
14
14
 
15
- CKEditor 5 operations compressor comes with outstanding support from a dedicated team of customer care specialists, QA engineers and CKEditor 5 developers. The team will gladly assist you in all aspects from setting up your account to integrating CKEditor 5 Collaboration features with your application.
15
+ CKEditor&nbsp;5 operations compressor comes with outstanding support from a dedicated team of customer care specialists, QA engineers and CKEditor&nbsp;5 developers. The team will gladly assist you in all aspects from setting up your account to integrating CKEditor&nbsp;5 Collaboration features with your application.
16
16
 
17
- As a licensed CKEditor 5 Collaboration features user you can report bugs and request features directly through the CKEditor Ecosystem customer dashboard.
17
+ As a licensed CKEditor&nbsp;5 Collaboration features user you can report bugs and request features directly through the CKEditor Ecosystem customer dashboard.
18
18
 
19
19
  ## License
20
20
 
21
- **CKEditor 5 operations compressor**<br>
22
- Copyright (c) 2003-2022, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
21
+ **CKEditor&nbsp;5 operations compressor**<br>
22
+ Copyright (c) 2003-2023, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
23
23
 
24
- CKEditor 5 operations compressor is licensed under a commercial license and is protected by copyright law.
24
+ CKEditor&nbsp;5 operations compressor is licensed under a commercial license and is protected by copyright law.
25
25
  For more details about available licensing options please contact us at sales@cksource.com.
26
26
 
27
27
  ### Trademarks
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-operations-compressor",
3
- "version": "39.0.1",
3
+ "version": "40.0.0",
4
4
  "description": "CKEditor 5 operations compressor for real-time collaboration.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://ckeditor.com/collaboration/real-time/",
@@ -30,14 +30,10 @@
30
30
  "url": "https://support.ckeditor.com/hc/en-us/requests/new"
31
31
  },
32
32
  "dependencies": {
33
- "ckeditor5": "39.0.1",
33
+ "ckeditor5": "40.0.0",
34
34
  "lodash-es": "4.17.21",
35
35
  "protobufjs": "7.2.4"
36
36
  },
37
- "engines": {
38
- "node": ">=16.0.0",
39
- "npm": ">=5.7.1"
40
- },
41
37
  "files": [
42
38
  "src/**/*.js",
43
39
  "src/**/*.d.ts",
@@ -1,60 +1,60 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import type { CompressedOperationsData, default as Compressor } from '../compressor';
6
- /**
7
- * * Compresses and decompresses multiple operations into the one buffer.
8
- */
9
- export default abstract class ActionCompressor {
10
- constructor(id: number, context: Compressor);
11
- /**
12
- * Combines and compress operations from the list.
13
- * Operations are consumed as long as match this compressor.
14
- *
15
- * @param result Object to which compression result should be added.
16
- * @param operations List of operations in JSON format to compress.
17
- * @returns `true` when operation is consumed `false` otherwise.
18
- */
19
- compress(result: CompressedOperationsData, operations: Array<any>): boolean;
20
- /**
21
- * Decompress and split compressed operations. Decompressed operations are consumed (removed from the input data).
22
- *
23
- * @param result Decompressed operations in JSON format.
24
- * @param data Compressed operations data.
25
- */
26
- decompress(result: Array<any>, data: CompressedOperationsData): void;
27
- /**
28
- * Compresses single operation using a proper compressor.
29
- *
30
- * @param operation Operation in JSON format.
31
- * @returns Operation JSON compressed to the binary format.
32
- */
33
- protected abstract _compressSingleOperation(operation: any): Uint8Array;
34
- /**
35
- * Decompresses combined operation using a proper compressor.
36
- *
37
- * @param data Data to compress.
38
- * @returns Decompressed operation in JSON format.
39
- */
40
- protected abstract _decompressSingleOperation(data: CompressedOperationsData): any;
41
- /**
42
- * Combine next operation into the combined one.
43
- *
44
- * @param nextOperation Operation to combine in JSON format.
45
- * @param combined Combined operation in JSON format.
46
- * @returns Combined operation in JSON format.
47
- */
48
- protected abstract _combineNext(nextOperation: any, combined: any): any;
49
- /**
50
- * Split operation from combined one.
51
- *
52
- * @param combined Combined operation in JSON format.
53
- * @returns Split operation in JSON format.
54
- */
55
- protected abstract _splitCurrent(combined: any): any;
56
- /**
57
- * Checks if two operations can be combined.
58
- */
59
- protected abstract _compareOperations(opA: any, opB: any): boolean;
60
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import type { CompressedOperationsData, default as Compressor } from '../compressor';
6
+ /**
7
+ * * Compresses and decompresses multiple operations into the one buffer.
8
+ */
9
+ export default abstract class ActionCompressor {
10
+ constructor(id: number, context: Compressor);
11
+ /**
12
+ * Combines and compress operations from the list.
13
+ * Operations are consumed as long as match this compressor.
14
+ *
15
+ * @param result Object to which compression result should be added.
16
+ * @param operations List of operations in JSON format to compress.
17
+ * @returns `true` when operation is consumed `false` otherwise.
18
+ */
19
+ compress(result: CompressedOperationsData, operations: Array<any>): boolean;
20
+ /**
21
+ * Decompress and split compressed operations. Decompressed operations are consumed (removed from the input data).
22
+ *
23
+ * @param result Decompressed operations in JSON format.
24
+ * @param data Compressed operations data.
25
+ */
26
+ decompress(result: Array<any>, data: CompressedOperationsData): void;
27
+ /**
28
+ * Compresses single operation using a proper compressor.
29
+ *
30
+ * @param operation Operation in JSON format.
31
+ * @returns Operation JSON compressed to the binary format.
32
+ */
33
+ protected abstract _compressSingleOperation(operation: any): Uint8Array;
34
+ /**
35
+ * Decompresses combined operation using a proper compressor.
36
+ *
37
+ * @param data Data to compress.
38
+ * @returns Decompressed operation in JSON format.
39
+ */
40
+ protected abstract _decompressSingleOperation(data: CompressedOperationsData): any;
41
+ /**
42
+ * Combine next operation into the combined one.
43
+ *
44
+ * @param nextOperation Operation to combine in JSON format.
45
+ * @param combined Combined operation in JSON format.
46
+ * @returns Combined operation in JSON format.
47
+ */
48
+ protected abstract _combineNext(nextOperation: any, combined: any): any;
49
+ /**
50
+ * Split operation from combined one.
51
+ *
52
+ * @param combined Combined operation in JSON format.
53
+ * @returns Split operation in JSON format.
54
+ */
55
+ protected abstract _splitCurrent(combined: any): any;
56
+ /**
57
+ * Checks if two operations can be combined.
58
+ */
59
+ protected abstract _compareOperations(opA: any, opB: any): boolean;
60
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x1573=['_compressSingleOperation','_compareOperations','types','compress','shift','_combineNext','_splitCurrent','_id','push','_decompressSingleOperation'];(function(_0x18ee09,_0x15737f){const _0x35ce97=function(_0x30b7ec){while(--_0x30b7ec){_0x18ee09['push'](_0x18ee09['shift']());}};_0x35ce97(++_0x15737f);}(_0x1573,0xcc));const _0x35ce=function(_0x18ee09,_0x15737f){_0x18ee09=_0x18ee09-0x0;let _0x35ce97=_0x1573[_0x18ee09];return _0x35ce97;};import{cloneDeep as _0x264606}from'lodash-es';export default class b{constructor(_0x4309fa,_0x45830b){this[_0x35ce('0x3')]=_0x4309fa,this['_context']=_0x45830b;}[_0x35ce('0x9')](_0x3ece8f,_0x22335c){let _0x34902f;for(;_0x22335c['length']>0x1&&this[_0x35ce('0x7')](_0x22335c[0x0],_0x22335c[0x1]);)_0x34902f?(_0x34902f=this['_combineNext'](_0x22335c['shift'](),_0x34902f),_0x3ece8f['types'][_0x35ce('0x4')](0x0)):(_0x34902f=_0x264606(_0x22335c[_0x35ce('0x0')]()),_0x3ece8f['types'][_0x35ce('0x4')](this[_0x35ce('0x3')]));return!!_0x34902f&&(_0x34902f=this[_0x35ce('0x1')](_0x22335c[_0x35ce('0x0')](),_0x34902f),_0x3ece8f[_0x35ce('0x8')][_0x35ce('0x4')](0x0),_0x3ece8f['buffers'][_0x35ce('0x4')](this[_0x35ce('0x6')](_0x34902f)),!0x0);}['decompress'](_0x1626cc,_0x40f076){const _0x303b7b=this[_0x35ce('0x5')](_0x40f076);for(;0x0==_0x40f076[_0x35ce('0x8')][0x0];)_0x40f076[_0x35ce('0x8')]['shift'](),_0x1626cc[_0x35ce('0x4')](this[_0x35ce('0x2')](_0x303b7b));_0x1626cc[_0x35ce('0x4')](_0x303b7b);}}
23
+ const _0x3888=['_compareOperations','length','_context','_compressSingleOperation','_combineNext','_splitCurrent','types','push','shift','compress','decompress'];(function(_0x503583,_0x3888a6){const _0x286a20=function(_0x41b147){while(--_0x41b147){_0x503583['push'](_0x503583['shift']());}};_0x286a20(++_0x3888a6);}(_0x3888,0x79));const _0x286a=function(_0x503583,_0x3888a6){_0x503583=_0x503583-0x0;let _0x286a20=_0x3888[_0x503583];return _0x286a20;};import{cloneDeep as _0x61879d}from'lodash-es';export default class b{constructor(_0x2e0422,_0xfc8dec){this['_id']=_0x2e0422,this[_0x286a('0x2')]=_0xfc8dec;}[_0x286a('0x9')](_0x2a03e0,_0x56cecc){let _0x750d05;for(;_0x56cecc[_0x286a('0x1')]>0x1&&this[_0x286a('0x0')](_0x56cecc[0x0],_0x56cecc[0x1]);)_0x750d05?(_0x750d05=this[_0x286a('0x4')](_0x56cecc['shift'](),_0x750d05),_0x2a03e0['types'][_0x286a('0x7')](0x0)):(_0x750d05=_0x61879d(_0x56cecc['shift']()),_0x2a03e0[_0x286a('0x6')]['push'](this['_id']));return!!_0x750d05&&(_0x750d05=this[_0x286a('0x4')](_0x56cecc[_0x286a('0x8')](),_0x750d05),_0x2a03e0[_0x286a('0x6')][_0x286a('0x7')](0x0),_0x2a03e0['buffers']['push'](this[_0x286a('0x3')](_0x750d05)),!0x0);}[_0x286a('0xa')](_0x295ef0,_0x2c68bf){const _0x33818c=this['_decompressSingleOperation'](_0x2c68bf);for(;0x0==_0x2c68bf['types'][0x0];)_0x2c68bf[_0x286a('0x6')][_0x286a('0x8')](),_0x295ef0['push'](this[_0x286a('0x5')](_0x33818c));_0x295ef0[_0x286a('0x7')](_0x33818c);}}
@@ -1,28 +1,28 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import ActionCompressor from './actioncompressor';
6
- import type { CompressedOperationsData } from '../compressor';
7
- export default class DeletingActionCompressor extends ActionCompressor {
8
- /**
9
- * @inheritDoc
10
- */
11
- protected _combineNext(nextOperation: any, combined: any): any;
12
- /**
13
- * @inheritDoc
14
- */
15
- protected _splitCurrent(combined: any): any;
16
- /**
17
- * @inheritDoc
18
- */
19
- protected _compareOperations(opA: any, opB: any): boolean;
20
- /**
21
- * @inheritDoc
22
- */
23
- protected _compressSingleOperation(operation: any): Uint8Array;
24
- /**
25
- * @inheritDoc
26
- */
27
- protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import ActionCompressor from './actioncompressor';
6
+ import type { CompressedOperationsData } from '../compressor';
7
+ export default class DeletingActionCompressor extends ActionCompressor {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ protected _combineNext(nextOperation: any, combined: any): any;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _splitCurrent(combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _compareOperations(opA: any, opB: any): boolean;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compressSingleOperation(operation: any): Uint8Array;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x308a=['__className','_compressSingleOperation','_getCompressorByName','howMany','targetPosition','MoveOperation','sourcePosition','_combineNext','wasUndone','_splitCurrent','_compareOperations','decompress','_checkOperation','root','_context'];(function(_0x543cb0,_0x308ac2){const _0xd8c292=function(_0x1cf398){while(--_0x1cf398){_0x543cb0['push'](_0x543cb0['shift']());}};_0xd8c292(++_0x308ac2);}(_0x308a,0x1c6));const _0xd8c2=function(_0x543cb0,_0x308ac2){_0x543cb0=_0x543cb0-0x0;let _0xd8c292=_0x308a[_0x543cb0];return _0xd8c292;};import _0x18aaac from'./actioncompressor';import{arePositionsEqual as _0x379d94,getPositionShiftedBy as _0x1220a2}from'../utils';import{cloneDeep as _0x5e1c44}from'lodash-es';export default class c extends _0x18aaac{[_0xd8c2('0x3')](_0x1bec46,_0x4ea2ca){return _0x4ea2ca['howMany']++,_0x4ea2ca['sourcePosition']=_0x5e1c44(_0x1bec46[_0xd8c2('0x2')]),_0x4ea2ca;}[_0xd8c2('0x5')](_0x446104){const _0x1650bc=_0x5e1c44(_0x446104);return _0x446104[_0xd8c2('0xe')]--,_0x1650bc[_0xd8c2('0xe')]=0x1,_0x1650bc[_0xd8c2('0x2')]=_0x1220a2(_0x1650bc['sourcePosition'],_0x446104[_0xd8c2('0xe')]),_0x1650bc;}[_0xd8c2('0x6')](_0x1602cd,_0x3f6867){return!(!this[_0xd8c2('0x8')](_0x1602cd)||!this['_checkOperation'](_0x3f6867))&&(_0x379d94(_0x1220a2(_0x1602cd[_0xd8c2('0x2')],-0x1),_0x3f6867[_0xd8c2('0x2')])&&_0x379d94(_0x1602cd[_0xd8c2('0x0')],_0x3f6867[_0xd8c2('0x0')]));}[_0xd8c2('0xc')](_0x5bdd5e){const _0x24eee0={'types':[],'buffers':[],'baseVersion':0x0};return this[_0xd8c2('0xa')][_0xd8c2('0xd')](_0xd8c2('0x1'))['compress'](_0x24eee0,[_0x5bdd5e]),_0x24eee0['buffers'][0x0];}['_decompressSingleOperation'](_0x5e7053){const _0x3a25dd=[];return this[_0xd8c2('0xa')]['_getCompressorByName'](_0xd8c2('0x1'))[_0xd8c2('0x7')](_0x3a25dd,_0x5e7053),_0x3a25dd[0x0];}[_0xd8c2('0x8')](_0x7f7271){return _0xd8c2('0x1')==_0x7f7271[_0xd8c2('0xb')]&&'$graveyard'==_0x7f7271[_0xd8c2('0x0')][_0xd8c2('0x9')]&&0x1==_0x7f7271['howMany']&&!_0x7f7271[_0xd8c2('0x4')];}}
23
+ const _0x7e79=['_compressSingleOperation','howMany','buffers','_context','targetPosition','_compareOperations','_getCompressorByName','sourcePosition','MoveOperation','decompress','__className','_checkOperation','_splitCurrent','_combineNext','_decompressSingleOperation'];(function(_0xc7a7b9,_0x7e7938){const _0x3ebb96=function(_0x43bc43){while(--_0x43bc43){_0xc7a7b9['push'](_0xc7a7b9['shift']());}};_0x3ebb96(++_0x7e7938);}(_0x7e79,0x98));const _0x3ebb=function(_0xc7a7b9,_0x7e7938){_0xc7a7b9=_0xc7a7b9-0x0;let _0x3ebb96=_0x7e79[_0xc7a7b9];return _0x3ebb96;};import _0x2774b7 from'./actioncompressor';import{arePositionsEqual as _0x4a76f0,getPositionShiftedBy as _0x5a6fad}from'../utils';import{cloneDeep as _0x18acae}from'lodash-es';export default class c extends _0x2774b7{[_0x3ebb('0xb')](_0x1ca9e9,_0x479a45){return _0x479a45[_0x3ebb('0xe')]++,_0x479a45['sourcePosition']=_0x18acae(_0x1ca9e9[_0x3ebb('0x5')]),_0x479a45;}[_0x3ebb('0xa')](_0x1cdc66){const _0x56742c=_0x18acae(_0x1cdc66);return _0x1cdc66[_0x3ebb('0xe')]--,_0x56742c[_0x3ebb('0xe')]=0x1,_0x56742c[_0x3ebb('0x5')]=_0x5a6fad(_0x56742c[_0x3ebb('0x5')],_0x1cdc66[_0x3ebb('0xe')]),_0x56742c;}[_0x3ebb('0x3')](_0x47fcdd,_0x5067b2){return!(!this[_0x3ebb('0x9')](_0x47fcdd)||!this[_0x3ebb('0x9')](_0x5067b2))&&(_0x4a76f0(_0x5a6fad(_0x47fcdd[_0x3ebb('0x5')],-0x1),_0x5067b2[_0x3ebb('0x5')])&&_0x4a76f0(_0x47fcdd[_0x3ebb('0x2')],_0x5067b2[_0x3ebb('0x2')]));}[_0x3ebb('0xd')](_0x5c7c66){const _0x6b19e9={'types':[],'buffers':[],'baseVersion':0x0};return this[_0x3ebb('0x1')][_0x3ebb('0x4')]('MoveOperation')['compress'](_0x6b19e9,[_0x5c7c66]),_0x6b19e9[_0x3ebb('0x0')][0x0];}[_0x3ebb('0xc')](_0x253318){const _0x43ac6d=[];return this['_context'][_0x3ebb('0x4')](_0x3ebb('0x6'))[_0x3ebb('0x7')](_0x43ac6d,_0x253318),_0x43ac6d[0x0];}[_0x3ebb('0x9')](_0x2e7c38){return'MoveOperation'==_0x2e7c38[_0x3ebb('0x8')]&&'$graveyard'==_0x2e7c38[_0x3ebb('0x2')]['root']&&0x1==_0x2e7c38['howMany']&&!_0x2e7c38['wasUndone'];}}
@@ -1,28 +1,28 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import ActionCompressor from './actioncompressor';
6
- import type { CompressedOperationsData } from '../compressor';
7
- export default class ForwardDeletingActionCompressor extends ActionCompressor {
8
- /**
9
- * @inheritDoc
10
- */
11
- protected _combineNext(nextOperation: any, combined: any): any;
12
- /**
13
- * @inheritDoc
14
- */
15
- protected _splitCurrent(combined: any): any;
16
- /**
17
- * @inheritDoc
18
- */
19
- protected _compareOperations(opA: any, opB: any): boolean;
20
- /**
21
- * @inheritDoc
22
- */
23
- protected _compressSingleOperation(operation: any): Uint8Array;
24
- /**
25
- * @inheritDoc
26
- */
27
- protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import ActionCompressor from './actioncompressor';
6
+ import type { CompressedOperationsData } from '../compressor';
7
+ export default class ForwardDeletingActionCompressor extends ActionCompressor {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ protected _combineNext(nextOperation: any, combined: any): any;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _splitCurrent(combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _compareOperations(opA: any, opB: any): boolean;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compressSingleOperation(operation: any): Uint8Array;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x1874=['_getCompressorByName','MoveOperation','_combineNext','_compareOperations','$graveyard','root','targetPosition','__className','sourcePosition','decompress','buffers','wasUndone','howMany','_checkOperation','_compressSingleOperation'];(function(_0x4883b3,_0x1874a6){const _0x3c45a4=function(_0x20380e){while(--_0x20380e){_0x4883b3['push'](_0x4883b3['shift']());}};_0x3c45a4(++_0x1874a6);}(_0x1874,0x194));const _0x3c45=function(_0x4883b3,_0x1874a6){_0x4883b3=_0x4883b3-0x0;let _0x3c45a4=_0x1874[_0x4883b3];return _0x3c45a4;};import _0x572f30 from'./actioncompressor';import{arePositionsEqual as _0x5bf6ad}from'../utils';import{cloneDeep as _0x3655e8}from'lodash-es';export default class h extends _0x572f30{[_0x3c45('0x3')](_0x13c980,_0x24621b){return _0x24621b[_0x3c45('0xd')]++,_0x24621b;}['_splitCurrent'](_0x3d66b5){const _0x5f1fdb=_0x3655e8(_0x3d66b5);return _0x5f1fdb[_0x3c45('0xd')]=0x1,_0x3d66b5['howMany']--,_0x5f1fdb;}[_0x3c45('0x4')](_0x5f68f1,_0x3eb25f){return!(!this[_0x3c45('0xe')](_0x5f68f1)||!this['_checkOperation'](_0x3eb25f))&&(_0x5bf6ad(_0x5f68f1[_0x3c45('0x9')],_0x3eb25f[_0x3c45('0x9')])&&_0x5bf6ad(_0x5f68f1[_0x3c45('0x7')],_0x3eb25f[_0x3c45('0x7')]));}[_0x3c45('0x0')](_0x3118a4){const _0x3bfc4b={'types':[],'buffers':[],'baseVersion':0x0};return this['_context'][_0x3c45('0x1')](_0x3c45('0x2'))['compress'](_0x3bfc4b,[_0x3118a4]),_0x3bfc4b[_0x3c45('0xb')][0x0];}['_decompressSingleOperation'](_0x122941){const _0x19b6a9=[];return this['_context'][_0x3c45('0x1')](_0x3c45('0x2'))[_0x3c45('0xa')](_0x19b6a9,_0x122941),_0x19b6a9[0x0];}[_0x3c45('0xe')](_0xccf5a7){return'MoveOperation'==_0xccf5a7[_0x3c45('0x8')]&&_0x3c45('0x5')==_0xccf5a7['targetPosition'][_0x3c45('0x6')]&&0x1==_0xccf5a7['howMany']&&!_0xccf5a7[_0x3c45('0xc')];}}
23
+ const _0x289a=['_getCompressorByName','targetPosition','_splitCurrent','__className','sourcePosition','buffers','_context','_compareOperations','MoveOperation','root','howMany','compress','_combineNext','_checkOperation','_compressSingleOperation','wasUndone'];(function(_0x4f313c,_0x289aab){const _0x1ccf99=function(_0x537f03){while(--_0x537f03){_0x4f313c['push'](_0x4f313c['shift']());}};_0x1ccf99(++_0x289aab);}(_0x289a,0x1b0));const _0x1ccf=function(_0x4f313c,_0x289aab){_0x4f313c=_0x4f313c-0x0;let _0x1ccf99=_0x289a[_0x4f313c];return _0x1ccf99;};import _0x2a8a64 from'./actioncompressor';import{arePositionsEqual as _0x6af5bb}from'../utils';import{cloneDeep as _0x3e1fdb}from'lodash-es';export default class h extends _0x2a8a64{[_0x1ccf('0xc')](_0x4dd9d1,_0x15445f){return _0x15445f[_0x1ccf('0xa')]++,_0x15445f;}[_0x1ccf('0x2')](_0x53cf03){const _0x3c8ff6=_0x3e1fdb(_0x53cf03);return _0x3c8ff6['howMany']=0x1,_0x53cf03[_0x1ccf('0xa')]--,_0x3c8ff6;}[_0x1ccf('0x7')](_0x1685a2,_0x2ac4b2){return!(!this[_0x1ccf('0xd')](_0x1685a2)||!this[_0x1ccf('0xd')](_0x2ac4b2))&&(_0x6af5bb(_0x1685a2[_0x1ccf('0x4')],_0x2ac4b2['sourcePosition'])&&_0x6af5bb(_0x1685a2['targetPosition'],_0x2ac4b2[_0x1ccf('0x1')]));}[_0x1ccf('0xe')](_0x1bcfd1){const _0x1c2c9d={'types':[],'buffers':[],'baseVersion':0x0};return this[_0x1ccf('0x6')][_0x1ccf('0x0')](_0x1ccf('0x8'))[_0x1ccf('0xb')](_0x1c2c9d,[_0x1bcfd1]),_0x1c2c9d[_0x1ccf('0x5')][0x0];}['_decompressSingleOperation'](_0x2057d6){const _0x240209=[];return this[_0x1ccf('0x6')][_0x1ccf('0x0')](_0x1ccf('0x8'))['decompress'](_0x240209,_0x2057d6),_0x240209[0x0];}['_checkOperation'](_0x390875){return _0x1ccf('0x8')==_0x390875[_0x1ccf('0x3')]&&'$graveyard'==_0x390875['targetPosition'][_0x1ccf('0x9')]&&0x1==_0x390875[_0x1ccf('0xa')]&&!_0x390875[_0x1ccf('0xf')];}}
@@ -1,28 +1,28 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import ActionCompressor from './actioncompressor';
6
- import type { CompressedOperationsData } from '../compressor';
7
- export default class TypingActionCompressor extends ActionCompressor {
8
- /**
9
- * @inheritDocs
10
- */
11
- protected _combineNext(nextOperation: any, combined: any): any;
12
- /**
13
- * @inheritDoc
14
- */
15
- protected _splitCurrent(combined: any): any;
16
- /**
17
- * @inheritDoc
18
- */
19
- protected _compareOperations(opA: any, opB: any): boolean;
20
- /**
21
- * @inheritDoc
22
- */
23
- protected _compressSingleOperation(operation: any): Uint8Array;
24
- /**
25
- * @inheritDoc
26
- */
27
- protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import ActionCompressor from './actioncompressor';
6
+ import type { CompressedOperationsData } from '../compressor';
7
+ export default class TypingActionCompressor extends ActionCompressor {
8
+ /**
9
+ * @inheritDocs
10
+ */
11
+ protected _combineNext(nextOperation: any, combined: any): any;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _splitCurrent(combined: any): any;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _compareOperations(opA: any, opB: any): boolean;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _compressSingleOperation(operation: any): Uint8Array;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _decompressSingleOperation(data: CompressedOperationsData): any;
28
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x2918=['_context','substr','data','attributes','nodes','__className','from','keys','buffers','_compareAttributes','_compressSingleOperation','_getCompressorByName','_decompressSingleOperation','next','wasUndone','iterator','position','_splitCurrent','_combineNext','decompress','length','InsertOperation','_checkOperation','compress'];(function(_0x3782a8,_0x291897){const _0x574bdc=function(_0x1b63e7){while(--_0x1b63e7){_0x3782a8['push'](_0x3782a8['shift']());}};_0x574bdc(++_0x291897);}(_0x2918,0x14d));const _0x574b=function(_0x3782a8,_0x291897){_0x3782a8=_0x3782a8-0x0;let _0x574bdc=_0x2918[_0x3782a8];return _0x574bdc;};import _0x2cdf33 from'./actioncompressor';import{arePositionsEqual as _0x1184a9,getPositionShiftedBy as _0x321c28}from'../utils';import{cloneDeep as _0x50c35c}from'lodash-es';export default class m extends _0x2cdf33{[_0x574b('0x15')](_0x13dd3e,_0x497e0b){return _0x497e0b[_0x574b('0x7')][0x0][_0x574b('0x5')]+=_0x13dd3e[_0x574b('0x7')][0x0]['data'],_0x497e0b;}[_0x574b('0x14')](_0x241b51){const _0x52dc73=_0x50c35c(_0x241b51),_0x169a55=_0x52dc73['nodes'][0x0],_0x1f1082=_0x241b51[_0x574b('0x7')][0x0],_0x537d34=_0x1f1082[_0x574b('0x5')][Symbol[_0x574b('0x12')]]()[_0x574b('0x10')]()['value'],_0x1265b5=_0x537d34[_0x574b('0x17')];return _0x169a55['data']=_0x537d34,_0x1f1082[_0x574b('0x5')]=_0x1f1082[_0x574b('0x5')][_0x574b('0x4')](_0x1265b5),_0x241b51[_0x574b('0x13')]=_0x321c28(_0x241b51[_0x574b('0x13')],_0x1265b5),_0x52dc73;}['_compareOperations'](_0x59c941,_0x3efc36){if(this[_0x574b('0x1')](_0x59c941)&&this['_checkOperation'](_0x3efc36)){const _0x32409f=_0x59c941[_0x574b('0x7')][0x0]['data'][_0x574b('0x17')],_0x3a3a58=_0x1184a9(_0x321c28(_0x59c941[_0x574b('0x13')],_0x32409f),_0x3efc36[_0x574b('0x13')]),_0x724446=_0x59c941[_0x574b('0x7')][0x0],_0x485d95=_0x3efc36[_0x574b('0x7')][0x0];return _0x3a3a58&&this[_0x574b('0xc')](_0x724446,_0x485d95);}return!0x1;}[_0x574b('0xd')](_0x54e56e){const _0x56ab9e={'types':[],'buffers':[],'baseVersion':0x0};return this['_context']['_getCompressorByName']('InsertOperation')[_0x574b('0x2')](_0x56ab9e,[_0x54e56e]),_0x56ab9e[_0x574b('0xb')][0x0];}[_0x574b('0xf')](_0x3098be){const _0x28b300=[];return this[_0x574b('0x3')][_0x574b('0xe')](_0x574b('0x0'))[_0x574b('0x16')](_0x28b300,_0x3098be),_0x28b300[0x0];}[_0x574b('0x1')](_0x4a0227){return _0x574b('0x0')==_0x4a0227[_0x574b('0x8')]&&0x1==_0x4a0227[_0x574b('0x7')][_0x574b('0x17')]&&_0x4a0227[_0x574b('0x7')][0x0]['data']&&!_0x4a0227[_0x574b('0x11')]&&0x1==Array[_0x574b('0x9')](_0x4a0227['nodes'][0x0][_0x574b('0x5')])[_0x574b('0x17')];}[_0x574b('0xc')](_0x39e7cf,_0x1d6424){const _0x4632cd=Object['keys'](_0x39e7cf[_0x574b('0x6')]||{}),_0x313949=Object[_0x574b('0xa')](_0x1d6424['attributes']||{});return _0x4632cd['length']===_0x313949['length']&&_0x4632cd['every'](_0x48526d=>_0x1d6424[_0x574b('0x6')][_0x48526d]&&_0x1d6424['attributes'][_0x48526d]===_0x39e7cf['attributes'][_0x48526d]);}}
23
+ const _0x4581=['data','wasUndone','decompress','position','compress','_compareAttributes','length','_context','_compareOperations','_compressSingleOperation','substr','__className','_checkOperation','every','InsertOperation','_splitCurrent','buffers','keys','from','_getCompressorByName','nodes','_decompressSingleOperation','attributes'];(function(_0x35a210,_0x458167){const _0x462429=function(_0x8021eb){while(--_0x8021eb){_0x35a210['push'](_0x35a210['shift']());}};_0x462429(++_0x458167);}(_0x4581,0x145));const _0x4624=function(_0x35a210,_0x458167){_0x35a210=_0x35a210-0x0;let _0x462429=_0x4581[_0x35a210];return _0x462429;};import _0x3a624c from'./actioncompressor';import{arePositionsEqual as _0x48251f,getPositionShiftedBy as _0x5dccfb}from'../utils';import{cloneDeep as _0x3897ea}from'lodash-es';export default class m extends _0x3a624c{['_combineNext'](_0x2f9491,_0x1f8655){return _0x1f8655[_0x4624('0x11')][0x0]['data']+=_0x2f9491['nodes'][0x0][_0x4624('0x14')],_0x1f8655;}[_0x4624('0xc')](_0x4d5265){const _0x1b6857=_0x3897ea(_0x4d5265),_0x485ed7=_0x1b6857[_0x4624('0x11')][0x0],_0x15f5de=_0x4d5265[_0x4624('0x11')][0x0],_0x395563=_0x15f5de[_0x4624('0x14')][Symbol['iterator']]()['next']()['value'],_0x20dfab=_0x395563[_0x4624('0x3')];return _0x485ed7['data']=_0x395563,_0x15f5de[_0x4624('0x14')]=_0x15f5de[_0x4624('0x14')][_0x4624('0x7')](_0x20dfab),_0x4d5265['position']=_0x5dccfb(_0x4d5265[_0x4624('0x0')],_0x20dfab),_0x1b6857;}[_0x4624('0x5')](_0x5f34f2,_0x4ff89){if(this[_0x4624('0x9')](_0x5f34f2)&&this[_0x4624('0x9')](_0x4ff89)){const _0x1e1aed=_0x5f34f2[_0x4624('0x11')][0x0]['data'][_0x4624('0x3')],_0x32fb6e=_0x48251f(_0x5dccfb(_0x5f34f2[_0x4624('0x0')],_0x1e1aed),_0x4ff89[_0x4624('0x0')]),_0xe2611f=_0x5f34f2[_0x4624('0x11')][0x0],_0x9e4d22=_0x4ff89[_0x4624('0x11')][0x0];return _0x32fb6e&&this[_0x4624('0x2')](_0xe2611f,_0x9e4d22);}return!0x1;}[_0x4624('0x6')](_0x5a64bb){const _0x20d34c={'types':[],'buffers':[],'baseVersion':0x0};return this[_0x4624('0x4')][_0x4624('0x10')](_0x4624('0xb'))[_0x4624('0x1')](_0x20d34c,[_0x5a64bb]),_0x20d34c[_0x4624('0xd')][0x0];}[_0x4624('0x12')](_0x2d8c7d){const _0x46ec46=[];return this[_0x4624('0x4')][_0x4624('0x10')]('InsertOperation')[_0x4624('0x16')](_0x46ec46,_0x2d8c7d),_0x46ec46[0x0];}[_0x4624('0x9')](_0x2a7074){return _0x4624('0xb')==_0x2a7074[_0x4624('0x8')]&&0x1==_0x2a7074['nodes'][_0x4624('0x3')]&&_0x2a7074[_0x4624('0x11')][0x0][_0x4624('0x14')]&&!_0x2a7074[_0x4624('0x15')]&&0x1==Array[_0x4624('0xf')](_0x2a7074[_0x4624('0x11')][0x0]['data'])[_0x4624('0x3')];}[_0x4624('0x2')](_0x479ffa,_0x1b2165){const _0x445512=Object[_0x4624('0xe')](_0x479ffa[_0x4624('0x13')]||{}),_0x5c62b5=Object[_0x4624('0xe')](_0x1b2165['attributes']||{});return _0x445512[_0x4624('0x3')]===_0x5c62b5[_0x4624('0x3')]&&_0x445512[_0x4624('0xa')](_0x22b158=>_0x1b2165[_0x4624('0x13')][_0x22b158]&&_0x1b2165[_0x4624('0x13')][_0x22b158]===_0x479ffa['attributes'][_0x22b158]);}}
@@ -1,16 +1,16 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import ActionCompressor from './actioncompressor';
6
- import type { CompressedOperationsData } from '../compressor';
7
- export default class UserSelectionActionCompressor extends ActionCompressor {
8
- /**
9
- * @inheritDoc
10
- */
11
- compress(result: CompressedOperationsData, operations: Array<any>): boolean;
12
- /**
13
- * @inheritDoc
14
- */
15
- decompress(result: Array<any>, data: CompressedOperationsData): void;
16
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import ActionCompressor from './actioncompressor';
6
+ import type { CompressedOperationsData } from '../compressor';
7
+ export default class UserSelectionActionCompressor extends ActionCompressor {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ compress(result: CompressedOperationsData, operations: Array<any>): boolean;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ decompress(result: Array<any>, data: CompressedOperationsData): void;
16
+ }
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- const _0x3364=['shift','buffers','_compareOperations','_id','_decompressSingleOperation','_context','start','user:position:','MarkerOperation','types','user:','oldRange','newRange','startsWith','_compressSingleOperation','name','_getCompressorByName','push','end','compress','decompress','split'];(function(_0x172d66,_0x3364af){const _0x54ca38=function(_0x1a37f0){while(--_0x1a37f0){_0x172d66['push'](_0x172d66['shift']());}};_0x54ca38(++_0x3364af);}(_0x3364,0xc5));const _0x54ca=function(_0x172d66,_0x3364af){_0x172d66=_0x172d66-0x0;let _0x54ca38=_0x3364[_0x172d66];return _0x54ca38;};import _0x5955ee from'./actioncompressor';import{arePositionsEqual as _0x2a9621}from'../utils';import{cloneDeep as _0x57b57e}from'lodash-es';export default class f extends _0x5955ee{[_0x54ca('0x14')](_0xc0c697,_0x3e9d02){if(!this[_0x54ca('0x3')](_0x3e9d02[0x0],_0x3e9d02[0x1]))return!0x1;const _0x12ca26=_0x3e9d02[_0x54ca('0x1')]();return _0x12ca26[_0x54ca('0xc')]=null,_0x12ca26[_0x54ca('0xd')]&&_0x2a9621(_0x12ca26['newRange']['start'],_0x12ca26[_0x54ca('0xd')]['end'])&&(_0x12ca26['newRange'][_0x54ca('0x13')]=null),_0x3e9d02[_0x54ca('0x1')](),_0xc0c697[_0x54ca('0xa')][_0x54ca('0x12')](this[_0x54ca('0x4')]),_0xc0c697['types'][_0x54ca('0x12')](0x0),_0xc0c697['buffers'][_0x54ca('0x12')](this[_0x54ca('0xf')](_0x12ca26)),!0x0;}['decompress'](_0x3469a8,_0x1aa875){const _0xedcadc=this[_0x54ca('0x5')](_0x1aa875);_0xedcadc[_0x54ca('0xd')]&&!_0xedcadc[_0x54ca('0xd')][_0x54ca('0x13')]&&(_0xedcadc[_0x54ca('0xd')]['end']=_0x57b57e(_0xedcadc[_0x54ca('0xd')][_0x54ca('0x7')]));const _0x57adf1=_0x57b57e(_0xedcadc);_0x57adf1[_0x54ca('0xd')]&&(_0x57adf1[_0x54ca('0xd')]['start']['stickiness']='toNone',_0x57adf1[_0x54ca('0xd')][_0x54ca('0x13')]=_0x57b57e(_0x57adf1[_0x54ca('0xd')][_0x54ca('0x7')])),_0x57adf1['name']=_0x54ca('0x8')+_0x57adf1[_0x54ca('0x10')][_0x54ca('0x0')](':')[0x2],_0x1aa875[_0x54ca('0xa')][_0x54ca('0x1')](),_0x3469a8[_0x54ca('0x12')](_0xedcadc),_0x3469a8['push'](_0x57adf1);}['_compressSingleOperation'](_0x245bcd){const _0x5ac0f5={'types':[],'buffers':[],'baseVersion':0x0};return this[_0x54ca('0x6')][_0x54ca('0x11')](_0x54ca('0x9'))[_0x54ca('0x14')](_0x5ac0f5,[_0x245bcd]),_0x5ac0f5[_0x54ca('0x2')][0x0];}[_0x54ca('0x5')](_0x517213){const _0x5f72e9=[];return this['_context'][_0x54ca('0x11')]('MarkerOperation')[_0x54ca('0x15')](_0x5f72e9,_0x517213),_0x5f72e9[0x0];}[_0x54ca('0x3')](_0x457d3a,_0x4bebf2){return!(!_0x457d3a||!_0x4bebf2)&&(_0x54ca('0x9')==_0x457d3a['__className']&&_0x54ca('0x9')==_0x4bebf2['__className']&&!(!_0x457d3a[_0x54ca('0x10')][_0x54ca('0xe')]('user:')||!_0x4bebf2['name'][_0x54ca('0xe')](_0x54ca('0xb'))||_0x457d3a[_0x54ca('0x10')]==_0x4bebf2['name']));}}
23
+ const _0x5ba8=['_compareOperations','decompress','newRange','oldRange','user:','_compressSingleOperation','_context','shift','split','__className','_id','buffers','startsWith','types','end','user:position:','name','_getCompressorByName','push','MarkerOperation','start'];(function(_0x24226a,_0x5ba89d){const _0x2975d5=function(_0x20b541){while(--_0x20b541){_0x24226a['push'](_0x24226a['shift']());}};_0x2975d5(++_0x5ba89d);}(_0x5ba8,0xfb));const _0x2975=function(_0x24226a,_0x5ba89d){_0x24226a=_0x24226a-0x0;let _0x2975d5=_0x5ba8[_0x24226a];return _0x2975d5;};import _0x195c12 from'./actioncompressor';import{arePositionsEqual as _0x5f03c5}from'../utils';import{cloneDeep as _0x1ec877}from'lodash-es';export default class f extends _0x195c12{['compress'](_0x576eed,_0x536370){if(!this[_0x2975('0x1')](_0x536370[0x0],_0x536370[0x1]))return!0x1;const _0x127f7c=_0x536370[_0x2975('0x8')]();return _0x127f7c[_0x2975('0x4')]=null,_0x127f7c[_0x2975('0x3')]&&_0x5f03c5(_0x127f7c[_0x2975('0x3')][_0x2975('0x0')],_0x127f7c[_0x2975('0x3')][_0x2975('0xf')])&&(_0x127f7c[_0x2975('0x3')][_0x2975('0xf')]=null),_0x536370[_0x2975('0x8')](),_0x576eed[_0x2975('0xe')][_0x2975('0x13')](this[_0x2975('0xb')]),_0x576eed[_0x2975('0xe')][_0x2975('0x13')](0x0),_0x576eed[_0x2975('0xc')]['push'](this[_0x2975('0x6')](_0x127f7c)),!0x0;}[_0x2975('0x2')](_0x17a63e,_0xa85457){const _0xd97283=this['_decompressSingleOperation'](_0xa85457);_0xd97283[_0x2975('0x3')]&&!_0xd97283['newRange'][_0x2975('0xf')]&&(_0xd97283['newRange']['end']=_0x1ec877(_0xd97283[_0x2975('0x3')][_0x2975('0x0')]));const _0x5f5cb6=_0x1ec877(_0xd97283);_0x5f5cb6['newRange']&&(_0x5f5cb6['newRange'][_0x2975('0x0')]['stickiness']='toNone',_0x5f5cb6['newRange'][_0x2975('0xf')]=_0x1ec877(_0x5f5cb6['newRange'][_0x2975('0x0')])),_0x5f5cb6['name']=_0x2975('0x10')+_0x5f5cb6[_0x2975('0x11')][_0x2975('0x9')](':')[0x2],_0xa85457[_0x2975('0xe')][_0x2975('0x8')](),_0x17a63e[_0x2975('0x13')](_0xd97283),_0x17a63e[_0x2975('0x13')](_0x5f5cb6);}[_0x2975('0x6')](_0x5d00c0){const _0x418411={'types':[],'buffers':[],'baseVersion':0x0};return this[_0x2975('0x7')]['_getCompressorByName']('MarkerOperation')['compress'](_0x418411,[_0x5d00c0]),_0x418411[_0x2975('0xc')][0x0];}['_decompressSingleOperation'](_0x39722a){const _0x1bcb09=[];return this['_context'][_0x2975('0x12')](_0x2975('0x14'))[_0x2975('0x2')](_0x1bcb09,_0x39722a),_0x1bcb09[0x0];}[_0x2975('0x1')](_0x1159db,_0x7a3faa){return!(!_0x1159db||!_0x7a3faa)&&(_0x2975('0x14')==_0x1159db['__className']&&'MarkerOperation'==_0x7a3faa[_0x2975('0xa')]&&!(!_0x1159db[_0x2975('0x11')][_0x2975('0xd')]('user:')||!_0x7a3faa[_0x2975('0x11')][_0x2975('0xd')](_0x2975('0x5'))||_0x1159db['name']==_0x7a3faa[_0x2975('0x11')]));}}