diff --git a/packages/@atjson/source-gdocs-paste/src/gdocs-parser.ts b/packages/@atjson/source-gdocs-paste/src/gdocs-parser.ts index 7a4112ffb..084ebfcbd 100644 --- a/packages/@atjson/source-gdocs-paste/src/gdocs-parser.ts +++ b/packages/@atjson/source-gdocs-paste/src/gdocs-parser.ts @@ -2,6 +2,7 @@ import { Annotation } from '@atjson/document'; import { GDocsStyleSlice } from './types'; +import extractHorizontalRule from './horizontal-rule'; import extractLinkStyles from './link-styles'; import extractListStyles from './list-styles'; import extractParagraphStyles from './paragraph-styles'; @@ -20,6 +21,7 @@ export default class GDocsParser { static transforms: Transforms = { text: extractTextStyles, paragraph: extractParagraphStyles, + horizontal_rule: extractHorizontalRule, list: extractListStyles, link: extractLinkStyles }; diff --git a/packages/@atjson/source-gdocs-paste/src/horizontal-rule.ts b/packages/@atjson/source-gdocs-paste/src/horizontal-rule.ts new file mode 100644 index 000000000..6c0e702b2 --- /dev/null +++ b/packages/@atjson/source-gdocs-paste/src/horizontal-rule.ts @@ -0,0 +1,22 @@ +import { Annotation } from '@atjson/document'; +import { HorizontalRule } from './schema'; +import { GDocsStyleSlice } from './types'; + +export default function extractHorizontalRule(styles: GDocsStyleSlice[]): Annotation[] { + let annotations: HorizontalRule[] = []; + + for (let i = 0; i < styles.length; i++) { + let style = styles[i]; + + if (style === null) continue; + + annotations.push({ + type: '-gdocs-horizontal_rule', + start: i, + end: i + 1, + attributes: {} + }); + } + + return annotations; +} diff --git a/packages/@atjson/source-gdocs-paste/src/index.ts b/packages/@atjson/source-gdocs-paste/src/index.ts index 7d84b1ab9..cd2e238a4 100644 --- a/packages/@atjson/source-gdocs-paste/src/index.ts +++ b/packages/@atjson/source-gdocs-paste/src/index.ts @@ -26,6 +26,12 @@ export default class extends Document { doc.where({ type: '-gdocs-ts_bd' }).set({ type: 'bold' }); doc.where({ type: '-gdocs-ts_it' }).set({ type: 'italic' }); + doc.where({ type: '-gdocs-ts_un' }).set({ type: 'underline' }); + doc.where({ type: '-gdocs-ts_st' }).set({ type: 'strikethrough' }); + doc.where({ type: '-gdocs-ts_va', attributes: { '-gdocs-va': 'sub' } }).set({ type: 'subscript' }).unset('attributes.-gdocs-va'); + doc.where({ type: '-gdocs-ts_va', attributes: { '-gdocs-va': 'sup' } }).set({ type: 'superscript' }).unset('attributes.-gdocs-va'); + + doc.where({ type: '-gdocs-horizontal_rule' }).set({ type: 'horizontal-rule' }); doc.where({ type: '-gdocs-ps_hd' }) .set({ type: 'heading' }) diff --git a/packages/@atjson/source-gdocs-paste/src/schema.ts b/packages/@atjson/source-gdocs-paste/src/schema.ts index f9abb7493..25ae81295 100644 --- a/packages/@atjson/source-gdocs-paste/src/schema.ts +++ b/packages/@atjson/source-gdocs-paste/src/schema.ts @@ -12,6 +12,14 @@ export interface Underline extends Annotation { type: '-gdocs-ts_un'; } +export interface Strikethrough extends Annotation { + type: '-gdocs-ts_st'; +} + +export interface HorizontalRule extends Annotation { + type: '-gdocs-horizontal_rule'; +} + export interface Heading extends Annotation { type: '-gdocs-ps_hd'; attributes: { diff --git a/packages/@atjson/source-gdocs-paste/src/text-styles.ts b/packages/@atjson/source-gdocs-paste/src/text-styles.ts index d8ddfa609..86463fc3d 100644 --- a/packages/@atjson/source-gdocs-paste/src/text-styles.ts +++ b/packages/@atjson/source-gdocs-paste/src/text-styles.ts @@ -14,7 +14,23 @@ export default function extractTextStyles(styles: GDocsStyleSlice[]): Annotation if (style === null) continue; - for (let styleType of ['ts_bd', 'ts_it', 'ts_un']) { + // Handle subscript and superscript + if (style.ts_va !== 'nor' && !state.ts_va) { + state.ts_va = { + type: '-gdocs-ts_va', + attributes: { + '-gdocs-va': style.ts_va + }, + start: i, + end: -1 + }; + } else if (style.ts_va === 'nor' && style.ts_va_i === false && state.ts_va) { + state.ts_va.end = i; + annotations.push(state.ts_va); + delete state.ts_va; + } + + for (let styleType of ['ts_bd', 'ts_it', 'ts_un', 'ts_st']) { if (style[styleType] === true && !state[styleType]) { state[styleType] = { type: '-gdocs-' + styleType, start: i, end: -1 }; } else if (style[styleType] === false && style[styleType + '_i'] === false && state[styleType]) { diff --git a/packages/@atjson/source-gdocs-paste/test/__snapshots__/atjson-source-gdocs-paste-test.ts.snap b/packages/@atjson/source-gdocs-paste/test/__snapshots__/atjson-source-gdocs-paste-test.ts.snap index 82169ffbd..db29ccbea 100644 --- a/packages/@atjson/source-gdocs-paste/test/__snapshots__/atjson-source-gdocs-paste-test.ts.snap +++ b/packages/@atjson/source-gdocs-paste/test/__snapshots__/atjson-source-gdocs-paste-test.ts.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`@atjson/source-gdocs-paste a grab-bag of Google Docs features correctly sets the content 1`] = ` +" This paragraph is indented! Here is some underlined text and some italic text and some bold text. This is superscriptTM and some subscript O2 and some strikethrough text. This is a link. This text has a comment. + +- + + +" +`; + exports[`@atjson/source-gdocs-paste relatively complex document correctly sets the content 1`] = ` "This is a simple test. * diff --git a/packages/@atjson/source-gdocs-paste/test/atjson-source-gdocs-paste-test.ts b/packages/@atjson/source-gdocs-paste/test/atjson-source-gdocs-paste-test.ts index fcc5316ce..662689ccd 100644 --- a/packages/@atjson/source-gdocs-paste/test/atjson-source-gdocs-paste-test.ts +++ b/packages/@atjson/source-gdocs-paste/test/atjson-source-gdocs-paste-test.ts @@ -1,20 +1,20 @@ import Document from '@atjson/document'; -import GDocsSource from '@atjson/source-gdocs-paste'; import * as fs from 'fs'; import * as path from 'path'; +import GDocsSource from '../src/index'; describe('@atjson/source-gdocs-paste', () => { describe('relatively complex document', () => { - var atjson; + let atjson; beforeAll(() => { // https://docs.google.com/document/d/1xP_M2SchJt81ZuivsO7oix8Q_fCx4PENKJFJR5npFNM/edit let fixturePath = path.join(__dirname, 'fixtures', 'complex.json'); - atjson = JSON.parse(fs.readFileSync(fixturePath)); + atjson = JSON.parse(fs.readFileSync(fixturePath).toString()); }); it('has some json', () => { - expect(atjson).toHaveProperty('resolved') + expect(atjson).toHaveProperty('resolved'); }); it('does not throw an error when instantiating with GDocsSource', () => { @@ -49,7 +49,7 @@ describe('@atjson/source-gdocs-paste', () => { it('extracts headings', () => { let gdocs = new GDocsSource(atjson); - let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ps_hd').sort((a,b) => a.start - b.start); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ps_hd').sort((a, b) => a.start - b.start); expect(annotations.length).toEqual(4); let [a0, a1, a2, a3] = annotations; @@ -74,7 +74,7 @@ describe('@atjson/source-gdocs-paste', () => { expect(annotations.length).toEqual(1); let a0 = annotations[0]; - + expect(gdocs.content.substring(a0.start, a0.end)).toEqual('Here’s a numbered list\nAnd another item'); expect(a0.attributes['-gdocs-ls_id']).toEqual('kix.r139o3ivf8cd'); }); @@ -108,10 +108,92 @@ describe('@atjson/source-gdocs-paste', () => { }); it('extracts images'); + }); + + describe('a grab-bag of Google Docs features', () => { + let gdocsBuffer; + + beforeAll(() => { + // https://docs.google.com/document/d/1xP_M2SchJt81ZuivsO7oix8Q_fCx4PENKJFJR5npFNM/edit + let fixturePath = path.join(__dirname, 'fixtures', 'formats-and-tabs.json'); + gdocsBuffer = JSON.parse(fs.readFileSync(fixturePath).toString()); + }); - it('extracts subscript'); + it('has some json', () => { + expect(gdocsBuffer).toHaveProperty('resolved'); + }); - it('extracts superscript'); + it('does not throw an error when instantiating with GDocsSource', () => { + expect(new GDocsSource(gdocsBuffer)).toBeDefined(); + }); + it('correctly sets the content', () => { + let gdocs = new GDocsSource(gdocsBuffer); + expect(gdocs.content.length).toEqual(219); + expect(gdocs.content).toMatchSnapshot(); + }); + + it('extracts bold', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_bd'); + expect(annotations.length).toEqual(1); + + let [bold] = annotations; + expect(gdocs.content.substring(bold.start, bold.end)).toEqual('bold'); + }); + + it('extracts italic', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_it'); + expect(annotations.length).toEqual(1); + + let [italic] = annotations; + expect(gdocs.content.substring(italic.start, italic.end)).toEqual('italic'); + }); + + it('extracts underline', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_un'); + expect(annotations.length).toEqual(1); + + let [underline] = annotations; + expect(gdocs.content.substring(underline.start, underline.end)).toEqual('underlined'); + }); + + it('extracts horizontal rules', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-horizontal_rule'); + expect(annotations.length).toEqual(1); + + let [hr] = annotations; + expect(gdocs.content.substring(hr.start, hr.end)).toEqual('-'); + }); + + it('extracts strikethrough', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_st'); + expect(annotations.length).toEqual(1); + + let [strikethrough] = annotations; + expect(gdocs.content.substring(strikethrough.start, strikethrough.end)).toEqual('strikethrough'); + }); + + it('extracts superscript', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_va' && a.attributes['-gdocs-va'] === 'sup'); + expect(annotations.length).toEqual(1); + + let [superscript] = annotations; + expect(gdocs.content.substring(superscript.start, superscript.end)).toEqual('TM'); + }); + + it('extracts subscript', () => { + let gdocs = new GDocsSource(gdocsBuffer); + let annotations = gdocs.annotations.filter(a => a.type === '-gdocs-ts_va' && a.attributes['-gdocs-va'] === 'sub'); + expect(annotations.length).toEqual(1); + + let [subscript] = annotations; + expect(gdocs.content.substring(subscript.start, subscript.end)).toEqual('2'); + }); }); }); diff --git a/packages/@atjson/source-gdocs-paste/test/fixtures/formats-and-tabs.json b/packages/@atjson/source-gdocs-paste/test/fixtures/formats-and-tabs.json new file mode 100644 index 000000000..462949fdd --- /dev/null +++ b/packages/@atjson/source-gdocs-paste/test/fixtures/formats-and-tabs.json @@ -0,0 +1,2603 @@ +{ + "resolved": { + "dsl_spacers": "\tThis paragraph is indented! Here is some underlined text and some italic text and some bold text. This is superscriptTM and some subscript O2 and some strikethrough text. This is a link. This text has a comment.\n\t\n-\n\n\n", + "dsl_styleslices": [ + { + "stsl_type": "autogen", + "stsl_styles": [] + }, + { + "stsl_type": "cell", + "stsl_styles": [] + }, + { + "stsl_type": "column_sector", + "stsl_trailing": { + "css_cols": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "css_lb": false, + "css_ltr": true, + "css_st": "continuous" + }, + "stsl_trailingType": "column_sector", + "stsl_styles": [] + }, + { + "stsl_type": "comment", + "stsl_styles": [ + { + "cs_cids": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "cs_cids": { + "cv": { + "op": "set", + "opValue": [ + "kix.98a42uwn1ksp" + ] + } + } + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "cs_cids": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "date_time", + "stsl_styles": [] + }, + { + "stsl_type": "document", + "stsl_leading": { + "ds_b": { + "bg_c": null + }, + "ds_fi": null, + "ds_hi": null, + "ds_epfi": null, + "ds_ephi": null, + "ds_uephf": false, + "ds_fpfi": null, + "ds_fphi": null, + "ds_ufphf": false, + "ds_pnsi": 1, + "ds_mb": 72, + "ds_ml": 72, + "ds_mr": 72, + "ds_mt": 72, + "ds_ph": 792, + "ds_pw": 612, + "ds_rtd": "", + "ds_mh": 36, + "ds_mf": 36, + "ds_ulhfl": true + }, + "stsl_leadingType": "document", + "stsl_styles": [] + }, + { + "stsl_type": "equation", + "stsl_styles": [] + }, + { + "stsl_type": "equation_function", + "stsl_styles": [] + }, + { + "stsl_type": "footnote", + "stsl_styles": [] + }, + { + "stsl_type": "headings", + "stsl_styles": [] + }, + { + "stsl_type": "horizontal_rule", + "stsl_trailing": {}, + "stsl_trailingType": "horizontal_rule", + "stsl_styles": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + {} + ] + }, + { + "stsl_type": "import_warnings", + "stsl_styles": [ + { + "iws_iwids": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "language", + "stsl_trailing": { + "lgs_l": "en" + }, + "stsl_trailingType": "language", + "stsl_styles": [] + }, + { + "stsl_type": "link", + "stsl_styles": [ + { + "lnks_link": null + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "lnks_link": { + "lnk_type": 0, + "ulnk_url": "https://example.com" + } + }, + null, + null, + null, + { + "lnks_link": null + } + ] + }, + { + "stsl_type": "list", + "stsl_styles": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ls_nest": 0, + "ls_id": null, + "ls_ts": { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + }, + null, + { + "ls_nest": 0, + "ls_id": null, + "ls_ts": { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + }, + null, + { + "ls_nest": 0, + "ls_id": null, + "ls_ts": { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + }, + { + "ls_nest": 0, + "ls_id": null, + "ls_ts": { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + }, + { + "ls_nest": 0, + "ls_id": null, + "ls_ts": { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + } + ] + }, + { + "stsl_type": "named_range", + "stsl_styles": [ + { + "nrs_ei": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "paragraph", + "stsl_styles": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ps_al": 0, + "ps_awao": true, + "ps_sd": null, + "ps_bbtw": null, + "ps_bb": null, + "ps_bl": null, + "ps_br": null, + "ps_bt": null, + "ps_hd": 0, + "ps_hdid": "", + "ps_ifl": 0, + "ps_il": 0, + "ps_ir": 0, + "ps_klt": false, + "ps_kwn": false, + "ps_ltr": true, + "ps_ls": 1.15, + "ps_sm": 1, + "ps_sa": 0, + "ps_sb": 0, + "ps_al_i": false, + "ps_awao_i": false, + "ps_sd_i": false, + "ps_bbtw_i": false, + "ps_bb_i": false, + "ps_bl_i": false, + "ps_br_i": false, + "ps_bt_i": false, + "ps_ifl_i": false, + "ps_il_i": false, + "ps_ir_i": false, + "ps_klt_i": false, + "ps_kwn_i": false, + "ps_ls_i": false, + "ps_rd": "", + "ps_sm_i": false, + "ps_sa_i": false, + "ps_sb_i": false, + "ps_shd": false, + "ps_ts": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + null, + { + "ps_al": 0, + "ps_awao": true, + "ps_sd": null, + "ps_bbtw": null, + "ps_bb": null, + "ps_bl": null, + "ps_br": null, + "ps_bt": null, + "ps_hd": 0, + "ps_hdid": "", + "ps_ifl": 0, + "ps_il": 0, + "ps_ir": 0, + "ps_klt": false, + "ps_kwn": false, + "ps_ltr": true, + "ps_ls": 1.15, + "ps_sm": 1, + "ps_sa": 0, + "ps_sb": 0, + "ps_al_i": false, + "ps_awao_i": false, + "ps_sd_i": false, + "ps_bbtw_i": false, + "ps_bb_i": false, + "ps_bl_i": false, + "ps_br_i": false, + "ps_bt_i": false, + "ps_ifl_i": false, + "ps_il_i": false, + "ps_ir_i": false, + "ps_klt_i": false, + "ps_kwn_i": false, + "ps_ls_i": false, + "ps_rd": "", + "ps_sm_i": false, + "ps_sa_i": false, + "ps_sb_i": false, + "ps_shd": false, + "ps_ts": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + null, + { + "ps_al": 0, + "ps_awao": true, + "ps_sd": null, + "ps_bbtw": null, + "ps_bb": null, + "ps_bl": null, + "ps_br": null, + "ps_bt": null, + "ps_hd": 0, + "ps_hdid": "", + "ps_ifl": 0, + "ps_il": 0, + "ps_ir": 0, + "ps_klt": false, + "ps_kwn": false, + "ps_ltr": true, + "ps_ls": 1.15, + "ps_sm": 1, + "ps_sa": 0, + "ps_sb": 0, + "ps_al_i": false, + "ps_awao_i": false, + "ps_sd_i": false, + "ps_bbtw_i": false, + "ps_bb_i": false, + "ps_bl_i": false, + "ps_br_i": false, + "ps_bt_i": false, + "ps_ifl_i": false, + "ps_il_i": false, + "ps_ir_i": false, + "ps_klt_i": false, + "ps_kwn_i": false, + "ps_ls_i": false, + "ps_rd": "", + "ps_sm_i": false, + "ps_sa_i": false, + "ps_sb_i": false, + "ps_shd": false, + "ps_ts": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + { + "ps_al": 0, + "ps_awao": true, + "ps_sd": null, + "ps_bbtw": null, + "ps_bb": null, + "ps_bl": null, + "ps_br": null, + "ps_bt": null, + "ps_hd": 0, + "ps_hdid": "", + "ps_ifl": 0, + "ps_il": 0, + "ps_ir": 0, + "ps_klt": false, + "ps_kwn": false, + "ps_ltr": true, + "ps_ls": 1.15, + "ps_sm": 1, + "ps_sa": 0, + "ps_sb": 0, + "ps_al_i": false, + "ps_awao_i": false, + "ps_sd_i": false, + "ps_bbtw_i": false, + "ps_bb_i": false, + "ps_bl_i": false, + "ps_br_i": false, + "ps_bt_i": false, + "ps_ifl_i": false, + "ps_il_i": false, + "ps_ir_i": false, + "ps_klt_i": false, + "ps_kwn_i": false, + "ps_ls_i": false, + "ps_rd": "", + "ps_sm_i": false, + "ps_sa_i": false, + "ps_sb_i": false, + "ps_shd": false, + "ps_ts": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + { + "ps_al": 0, + "ps_awao": true, + "ps_sd": null, + "ps_bbtw": null, + "ps_bb": null, + "ps_bl": null, + "ps_br": null, + "ps_bt": null, + "ps_hd": 0, + "ps_hdid": "", + "ps_ifl": 0, + "ps_il": 0, + "ps_ir": 0, + "ps_klt": false, + "ps_kwn": false, + "ps_ltr": true, + "ps_ls": 1.15, + "ps_sm": 1, + "ps_sa": 0, + "ps_sb": 0, + "ps_al_i": false, + "ps_awao_i": false, + "ps_sd_i": false, + "ps_bbtw_i": false, + "ps_bb_i": false, + "ps_bl_i": false, + "ps_br_i": false, + "ps_bt_i": false, + "ps_ifl_i": false, + "ps_il_i": false, + "ps_ir_i": false, + "ps_klt_i": false, + "ps_kwn_i": false, + "ps_ls_i": false, + "ps_rd": "", + "ps_sm_i": false, + "ps_sa_i": false, + "ps_sb_i": false, + "ps_shd": false, + "ps_ts": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "row", + "stsl_styles": [] + }, + { + "stsl_type": "suppress_feature", + "stsl_styles": [ + { + "sfs_sst": false + } + ] + }, + { + "stsl_type": "tbl", + "stsl_styles": [] + }, + { + "stsl_type": "text", + "stsl_styles": [ + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": true, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": true, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": true, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#9900ff" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "sup", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#9900ff" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#ff00ff" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "sub", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#ff00ff" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": true, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#1155cc" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + }, + null, + null, + null, + { + "ts_bd": false, + "ts_fs": 11, + "ts_ff": "Arial", + "ts_it": false, + "ts_sc": false, + "ts_st": false, + "ts_tw": 400, + "ts_un": false, + "ts_va": "nor", + "ts_bgc2": { + "clr_type": 0, + "hclr_color": null + }, + "ts_fgc2": { + "clr_type": 0, + "hclr_color": "#000000" + }, + "ts_bd_i": false, + "ts_fs_i": false, + "ts_ff_i": false, + "ts_it_i": false, + "ts_sc_i": false, + "ts_st_i": false, + "ts_un_i": false, + "ts_va_i": false, + "ts_bgc2_i": false, + "ts_fgc2_i": false + } + ] + } + ], + "dsl_metastyleslices": [ + { + "stsl_type": "composing_decoration", + "stsl_styles": [ + { + "cd_u": false, + "cd_bgc": { + "clr_type": 0, + "hclr_color": null + } + } + ] + }, + { + "stsl_type": "composing_region", + "stsl_styles": [ + { + "cr_c": false + } + ] + }, + { + "stsl_type": "draft_comment", + "stsl_styles": [ + { + "dcs_cids": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "ignore_word", + "stsl_styles": [ + { + "iwos_i": false + } + ] + }, + { + "stsl_type": "revision_diff", + "stsl_styles": [ + { + "revdiff_dt": 0, + "revdiff_a": "", + "revdiff_aid": "" + } + ] + }, + { + "stsl_type": "smart_todo", + "stsl_styles": [ + { + "sts_cid": null, + "sts_ot": null, + "sts_ac": null, + "sts_hi": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "sts_pa": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "sts_dm": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "spellcheck", + "stsl_styles": [ + { + "sc_ow": null, + "sc_sl": null, + "sc_sugg": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "sc_sm": { + "cv": { + "op": "set", + "opValue": [] + } + } + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "sc_ow": "superscriptTM", + "sc_sl": "en", + "sc_sugg": { + "cv": { + "op": "set", + "opValue": [ + "superscript TM" + ] + } + }, + "sc_sm": { + "cv": { + "op": "set", + "opValue": [ + { + "scsm_smodel": 0, + "scsm_ss": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "scsm_stag": 0, + "scsm_stype": 0 + } + ] + } + } + }, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "sc_ow": null, + "sc_sl": null, + "sc_sugg": { + "cv": { + "op": "set", + "opValue": [] + } + }, + "sc_sm": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "voice_corrections", + "stsl_styles": [ + { + "vcs_c": { + "cv": { + "op": "set", + "opValue": [] + } + } + } + ] + }, + { + "stsl_type": "voice_dotted_span", + "stsl_styles": [ + { + "vdss_p": null + } + ] + } + ], + "dsl_suggestedinsertions": { + "sgsl_sugg": [ + [] + ] + }, + "dsl_suggesteddeletions": { + "sgsl_sugg": [ + [] + ] + }, + "dsl_entitypositionmap": {}, + "dsl_entitymap": {}, + "dsl_entitytypemap": {}, + "dsl_relateddocslices": {} + }, + "autotext_content": {} +} \ No newline at end of file