{"version":3,"sources":["webpack:///./src/modules/ckeditor5-emptybreak/src/emptybreak.js","webpack:///./src/modules/ckeditor5-emoji/src/emoji-main.js","webpack:///./src/modules/ckeditor5-emoji/theme/icons/emoji-icon.svg","webpack:///./src/modules/ckeditor5-emoji/src/UI/EmojiCharactersNavigationView.js","webpack:///./src/modules/ckeditor5-emoji/src/UI/CharacterGridView.js","webpack:///./src/modules/ckeditor5-emoji/src/emoji.js"],"names":["EmptyBreak","editor","Object","D_Projects_UA_repo_Source_Client_UA_User_Web_node_modules_babel_runtime_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_1__","this","_super","call","model","schema","register","allowWhere","isBlock","conversion","for","elementToElement","viewElement","modelWriter","nextSibling","previousSibling","consumable","consume","name","converterPriority","view","Typing","Plugin","EmojiMain","t","plugins","get","addItems","title","uri","module","exports","EmojiCharactersNavigationView","locale","groupNames","_this","classCallCheck","set","groupDropdownView","_createGroupDropdown","panelPosition","uiLanguageDirection","label","children","add","value","dropdown","createDropdown","groupDefinitions","_getCharacterGroupListItemDefinitions","first","buttonView","bind","to","isOn","withText","tooltip","class","on","evt","source","delegate","addListToDropdown","_step","groupDefs","Collection","_iterator","_createForOfIteratorHelper","_loop","definition","type","Model","s","n","done","err","e","f","FormHeaderView","ImageButton","srcUri","bindTemplate","setTemplate","tag","attributes","src","tiles","click","isEnabled","fire","preventDefault","ButtonView","CharacterGridView","_this2","_super2","createCollection","imgUri","_this3","tile","extendTemplate","mouseover","View","ALL_EMOJI_CHARACTERS_GROUP","Emoji","_characters","Map","_groups","inputCommand","commands","ui","componentFactory","dropdownPanelContent","dropdownView","icon","emojiIcon","data","execute","editing","focus","_createDropdownPanelContent","panelView","navigationView","gridView","groupName","items","CKEditorError","concat","group","_getGroup","emoji_createForOfIteratorHelper","item","keys","Set","has","currentGroupName","clear","_step2","characterTitles","getCharactersForGroup","_iterator2","character","getCharacter","createTile","specialCharsGroups","toConsumableArray","getGroups","unshift","_updateGrid"],"mappings":"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","file":"js/chunk-a7376726.105ee47c.js","sourcesContent":["import { Plugin } from '@ckeditor/ckeditor5-core/src';\r\nimport { Typing } from '@ckeditor/ckeditor5-typing/src';\r\n\r\n/**\r\n * Converting blocks without required by CKEditor
 block. Only needed for content created prior to CKEditor.\r\n */\r\nexport default class EmptyBreak extends Plugin {\r\n\r\n    /**\r\n\t * @inheritDoc\r\n\t */\r\n\tstatic get requires() {\r\n\t\treturn [ Typing ];\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tstatic get pluginName() {\r\n\t\treturn 'EmptyBreak';\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tconstructor( editor ) {\r\n\t\tsuper( editor );\r\n\t}\r\n\r\n    /**\r\n\t * @inheritDoc\r\n\t */\r\n    init() {\r\n\t\tconst editor = this.editor;\r\n\t\t\r\n\t\teditor.model.schema.register( 'noBreak', {\r\n\t\t\tallowWhere: '$block',\r\n\t\t\tisBlock: false,\r\n\t\t});\r\n\r\n        editor.conversion.for( 'upcast' ).elementToElement( {\r\n\t\t\tmodel: ( viewElement, modelWriter ) => {\r\n\r\n\t\t\t\tif(viewElement.nextSibling === null && viewElement.previousSibling !== null) {\r\n\t\t\t\t\tmodelWriter.consumable.consume( viewElement, { name: true } );\r\n\t\t\t\t}\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\tconverterPriority: 'highest',\r\n\t\t\tview: 'br'\r\n\t\t} );\r\n    }\r\n}","  \r\nimport { Plugin } from \"@ckeditor/ckeditor5-core\";\r\n\r\nexport default class EmojiMain extends Plugin {\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tstatic get pluginName() {\r\n\t\treturn 'EmojiMain';\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tinit() {\r\n\t\tconst editor = this.editor;\r\n\t\tconst t = editor.t;\r\n\r\n\t\teditor.plugins.get( 'Emoji' ).addItems( '😃 ' + t('Utter Access'),\r\n            [\r\n                { title: ':2cents:', uri: '/emoticons/2cents.gif' }, \r\n                { title: ':bow:', uri: '/emoticons/acclaim.gif' }, \r\n                { title: ':applause:', uri: '/emoticons/applause.gif' }, \r\n                { title: ':btt:', uri: '/emoticons/backtotopic.gif' }, \r\n                { title: ':bg:', uri: '/emoticons/big_grin.gif' }, \r\n                { title: ':o:', uri: '/emoticons/blush.gif' }, \r\n                { title: ':o!:', uri: '/emoticons/cheers.gif' }, \r\n                { title: ':coffee:', uri: '/emoticons/coffee1.gif' }, \r\n                { title: ':compute:', uri: '/emoticons/compute.gif' }, \r\n                { title: ':confused:', uri: '/emoticons/confused.gif' }, \r\n                { title: ':cool:', uri: '/emoticons/cool.gif' }, \r\n                { title: ':crazy:', uri: '/emoticons/crazy.gif' }, \r\n                { title: ':bawl:', uri: '/emoticons/cryhard.gif' }, \r\n                { title: ':dance:', uri: '/emoticons/dance.gif' }, \r\n                { title: ':dazed:', uri: '/emoticons/dazed.gif' }, \r\n                { title: ':doh:', uri: '/emoticons/doh.gif' }, \r\n                { title: ':dunno:', uri: '/emoticons/dontknow.gif' }, \r\n                { title: ':dunce:', uri: '/emoticons/dunce.gif' }, \r\n                { title: ':evil:', uri: '/emoticons/evilgrin.gif' }, \r\n                { title: ':(', uri: '/emoticons/frown.gif' }, \r\n                { title: ':fundrink:', uri: '/emoticons/fundrink.gif' }, \r\n                { title: ':giveup:', uri: '/emoticons/giveup.gif' }, \r\n                { title: ':grin:', uri: '/emoticons/grin.gif' }, \r\n                { title: ':halo:', uri: '/emoticons/grinhalo.gif' }, \r\n                { title: ':beer:', uri: '/emoticons/guiness.gif' }, \r\n                { title: ':hattip:', uri: '/emoticons/hat_tip.gif' }, \r\n                { title: ':iconfused:', uri: '/emoticons/iconfused.gif' }, \r\n                { title: ':kiss:', uri: '/emoticons/kisses.gif' }, \r\n                { title: ':D', uri: '/emoticons/laugh.gif' }, \r\n                { title: ':lightbulb:', uri: '/emoticons/lightbulb.gif' }, \r\n                { title: ':like:', uri: '/emoticons/like.png' }, \r\n                { title: ':mad:', uri: '/emoticons/mad.gif' }, \r\n                { title: ':notworthy:', uri: '/emoticons/notworthy.gif' }, \r\n                { title: ':ohyeah:', uri: '/emoticons/ohyeah.gif' }, \r\n                { title: ':ooo:', uri: '/emoticons/ooo.gif' }, \r\n                { title: ':pompom:', uri: '/emoticons/pompom.gif' }, \r\n                { title: ':pullhair:', uri: '/emoticons/pullhair.gif' }, \r\n                { title: ':read:', uri: '/emoticons/reading.gif' }, \r\n                { title: ':lol:', uri: '/emoticons/rotflmao.gif' }, \r\n                { title: ':sad:', uri: '/emoticons/sad.gif' }, \r\n                { title: ':sarcasm:', uri: '/emoticons/sarcasm.gif' }, \r\n                { title: ':shocked:', uri: '/emoticons/shocked.gif' }, \r\n                { title: ':shrug:', uri: '/emoticons/shrug.gif' }, \r\n                { title: ':zzzz:', uri: '/emoticons/sleeping.gif' }, \r\n                { title: ':smirk:', uri: '/emoticons/smirk.gif' }, \r\n                { title: ':thanks:', uri: '/emoticons/thanks.gif' }, \r\n                { title: ':thumbdn:', uri: '/emoticons/thumbdn.gif' }, \r\n                { title: ':thumbup:', uri: '/emoticons/thumbup.gif' }, \r\n                { title: ':p', uri: '/emoticons/tongue.gif' }, \r\n                { title: ':uarulez:', uri: '/emoticons/uarulez2.gif' }, \r\n                { title: ':wary:', uri: '/emoticons/wary.gif' }, \r\n                { title: 'ho!', uri: '/emoticons/wavehi.gif' }, \r\n                { title: ':welcome:', uri: '/emoticons/welcome2UA.gif' }, \r\n                { title: ':whew:', uri: '/emoticons/whew.gif' }, \r\n                { title: ':wine:', uri: '/emoticons/wine.gif' }, \r\n                { title: ';)', uri: '/emoticons/wink.gif' }, \r\n                { title: ':woohoo:', uri: '/emoticons/woohoo.gif' }, \r\n                { title: ':yay:', uri: '/emoticons/yayhandclap.gif' }, \r\n                { title: ':yw:', uri: '/emoticons/yw.gif' }, \r\n            ]\r\n        );\r\n\t}\r\n}","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Collection } from \"@ckeditor/ckeditor5-utils\";\r\nimport { Model, FormHeaderView, createDropdown, addListToDropdown } from \"@ckeditor/ckeditor5-ui/src\";\r\n\r\nexport default class EmojiCharactersNavigationView extends FormHeaderView {\r\n\r\n\tconstructor( locale, groupNames ) {\r\n\t\tsuper( locale );\r\n\r\n\t\tconst t = locale.t;\r\n\r\n\t\tthis.set( 'class', 'ck-special-characters-navigation' );\r\n\r\n\t\tthis.groupDropdownView = this._createGroupDropdown( groupNames );\r\n\t\tthis.groupDropdownView.panelPosition = locale.uiLanguageDirection === 'rtl' ? 'se' : 'sw';\r\n\r\n\t\t/**\r\n\t\t * @inheritDoc\r\n\t\t */\r\n\t\tthis.label = t( 'Emoji' );\r\n\r\n\t\t/**\r\n\t\t * @inheritDoc\r\n\t\t */\r\n\t\tthis.children.add( this.groupDropdownView );\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the name of the character group currently selected in the {@link #groupDropdownView}.\r\n\t *\r\n\t * @returns {String}\r\n\t */\r\n\tget currentGroupName() {\r\n\t\treturn this.groupDropdownView.value;\r\n\t}\r\n\r\n\t_createGroupDropdown( groupNames ) {\r\n\t\tconst locale = this.locale;\r\n\t\tconst t = locale.t;\r\n\t\tconst dropdown = createDropdown( locale );\r\n\t\tconst groupDefinitions = this._getCharacterGroupListItemDefinitions( dropdown, groupNames );\r\n\r\n\t\tdropdown.set( 'value', groupDefinitions.first.model.label );\r\n\r\n\t\tdropdown.buttonView.bind( 'label' ).to( dropdown, 'value' );\r\n\r\n\t\tdropdown.buttonView.set( {\r\n\t\t\tisOn: false,\r\n\t\t\twithText: true,\r\n\t\t\ttooltip: t( 'Emoji categories' ),\r\n\t\t\tclass: [ 'ck-dropdown__button_label-width_auto' ]\r\n\t\t} );\r\n\r\n\t\tdropdown.on( 'execute', evt => {\r\n\t\t\tdropdown.value = evt.source.label;\r\n\t\t} );\r\n\r\n\t\tdropdown.delegate( 'execute' ).to( this );\r\n\r\n\t\taddListToDropdown( dropdown, groupDefinitions );\r\n\r\n\t\treturn dropdown;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns list item definitions to be used in the character group dropdown\r\n\t * representing specific character groups.\r\n\t *\r\n\t */\r\n\t_getCharacterGroupListItemDefinitions( dropdown, groupNames ) {\r\n\t\tconst groupDefs = new Collection();\r\n\r\n\t\tfor ( const name of groupNames ) {\r\n\t\t\tconst definition = {\r\n\t\t\t\ttype: 'button',\r\n\t\t\t\tmodel: new Model( {\r\n\t\t\t\t\tlabel: name,\r\n\t\t\t\t\twithText: true\r\n\t\t\t\t} )\r\n\t\t\t};\r\n\r\n\t\t\tdefinition.model.bind( 'isOn' ).to( dropdown, 'value', value => {\r\n\t\t\t\treturn value === definition.model.label;\r\n\t\t\t} );\r\n\r\n\t\t\tgroupDefs.add( definition );\r\n\t\t}\r\n\r\n\t\treturn groupDefs;\r\n\t}\r\n}","import { View, ButtonView } from '@ckeditor/ckeditor5-ui/src';\r\n\r\n//import '../../theme/charactergrid.css';\r\n\r\nclass ImageButton extends ButtonView {\r\n    constructor( locale, srcUri ) {\r\n\t\tsuper( locale );\r\n\r\n        const bind = this.bindTemplate;\r\n\r\n        this.setTemplate( {\r\n\t\t\ttag: 'span',\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttag: 'img',\r\n\t\t\t\t\tattributes: {\r\n\t\t\t\t\t\tclass: [\r\n\t\t\t\t\t\t\t'ck',\r\n\t\t\t\t\t\t\t'ck-character-grid__tile_img'\r\n\t\t\t\t\t\t],\r\n                        src: (srcUri ? srcUri : \"\")\r\n\t\t\t\t\t},\r\n\t\t\t\t\tchildren: this.tiles\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tattributes: {\r\n\t\t\t\tclass: [\r\n\t\t\t\t\t'ck',\r\n\t\t\t\t\t'ck-character-grid__tile'\r\n\t\t\t\t]\r\n\t\t\t},\r\n            on: {\r\n\t\t\t\tclick: bind.to( evt => {\r\n\t\t\t\t\tif ( this.isEnabled ) {\r\n\t\t\t\t\t\tthis.fire( 'execute' );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tevt.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t} )\r\n\t\t\t}\r\n\t\t}); \r\n    }\r\n}\r\n\r\nexport default class CharacterGridView extends View {\r\n\r\n\tconstructor( locale ) {\r\n\t\tsuper( locale );\r\n\r\n\t\tthis.tiles = this.createCollection();\r\n\r\n\t\tthis.setTemplate( {\r\n\t\t\ttag: 'div',\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttag: 'div',\r\n\t\t\t\t\tattributes: {\r\n\t\t\t\t\t\tclass: [\r\n\t\t\t\t\t\t\t'ck',\r\n\t\t\t\t\t\t\t'ck-character-grid__tiles'\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\tchildren: this.tiles\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\tattributes: {\r\n\t\t\t\tclass: [\r\n\t\t\t\t\t'ck',\r\n\t\t\t\t\t'ck-character-grid'\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t} );\r\n\t}\r\n\r\n\tcreateTile( imgUri, name ) {\r\n\t\tconst tile = new ImageButton( this.locale, imgUri );\r\n\r\n\t\ttile.set( {\r\n\t\t\t//label: character,\r\n\t\t\twithText: false,\r\n            tooltip: true,\r\n\t\t\tclass: 'ck-character-grid__tile ck-emoji-grid-font-size',\r\n\t\t} );\r\n\r\n\t\t// Labels are vital for the users to understand what character they're looking at.\r\n\t\t// For now we're using native title attribute for that, see #5817.\r\n\t\ttile.extendTemplate( {\r\n\t\t\tattributes: {\r\n\t\t\t\ttitle: name,\r\n                // style: `background-image: url('${character}');  \r\n                //     background-repeat: no-repeat;\r\n                //     background-size: auto;` \r\n\t\t\t},\r\n\t\t\ton: {\r\n\t\t\t\tmouseover: tile.bindTemplate.to( 'mouseover' )\r\n\t\t\t}\r\n\t\t} );\r\n\r\n\t\ttile.on( 'mouseover', () => {\r\n\t\t\tthis.fire( 'tileHover', { name, imgUri } );\r\n\t\t} );\r\n\r\n\t\ttile.on( 'execute', () => {\r\n\t\t\tthis.fire( 'execute', { name, imgUri } );\r\n\t\t} );\r\n\r\n\t\treturn tile;\r\n\t}\r\n}","import { Plugin } from '@ckeditor/ckeditor5-core/src';\r\nimport { Typing } from '@ckeditor/ckeditor5-typing/src';\r\nimport { createDropdown } from '@ckeditor/ckeditor5-ui/src';\r\n//import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';\r\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils/src';\r\nimport EmojiCharactersNavigationView from './UI/EmojiCharactersNavigationView';\r\nimport CharacterGridView from './UI/CharacterGridView';\r\n\r\nimport emojiIcon from '../theme/icons/emoji-icon.svg';\r\n//import '../theme/emoji-characters.css';\r\n\r\nconst ALL_EMOJI_CHARACTERS_GROUP = 'All';\r\n\r\nexport default class Emoji extends Plugin {\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tstatic get requires() {\r\n\t\treturn [ Typing ];\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tstatic get pluginName() {\r\n\t\treturn 'Emoji';\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tconstructor( editor ) {\r\n\t\tsuper( editor );\r\n\t\tthis._characters = new Map();\r\n\t\tthis._groups = new Map();\r\n\t}\r\n\r\n\t/**\r\n\t * @inheritDoc\r\n\t */\r\n\tinit() {\r\n\t\tconst editor = this.editor;\r\n\t\tconst t = editor.t;\r\n\r\n\t\tconst inputCommand = editor.commands.get( 'input' );\r\n\r\n\t\teditor.ui.componentFactory.add( 'emoji', locale => {\r\n\r\n\t\t\tconst dropdownView = createDropdown( locale );\r\n\t\t\tlet dropdownPanelContent;\r\n\r\n\t\t\tdropdownView.buttonView.set( {\r\n\t\t\t\tlabel: t( 'Emoji' ),\r\n\t\t\t\ticon: emojiIcon,\r\n\t\t\t\ttooltip: true\r\n\t\t\t} );\r\n\r\n\t\t\tdropdownView.bind( 'isEnabled' ).to( inputCommand );\r\n\r\n\t\t\t// Insert a special character when a tile was clicked.\r\n\t\t\tdropdownView.on( 'execute', ( evt, data ) => {\r\n\t\t\t\teditor.execute( 'insertImage', { source: [ data.imgUri ]} );\r\n\t\t\t\teditor.editing.view.focus();\r\n\t\t\t} );\r\n\r\n\t\t\tdropdownView.on( 'change:isOpen', () => {\r\n\t\t\t\tif ( !dropdownPanelContent ) {\r\n\t\t\t\t\tdropdownPanelContent = this._createDropdownPanelContent( locale, dropdownView );\r\n\r\n\t\t\t\t\tdropdownView.panelView.children.add( dropdownPanelContent.navigationView );\r\n\t\t\t\t\tdropdownView.panelView.children.add( dropdownPanelContent.gridView );\r\n\t\t\t\t}\r\n\t\t\t} );\r\n\r\n\t\t\treturn dropdownView;\r\n\t\t} );\r\n\t}\r\n\r\n\taddItems( groupName, items ) {\r\n\t\tif ( groupName === ALL_EMOJI_CHARACTERS_GROUP ) {\r\n\t\t\tthrow new CKEditorError(\r\n\t\t\t\t`emoji-group-error-name: The name \"${ ALL_EMOJI_CHARACTERS_GROUP }\" is reserved and cannot be used.`\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst group = this._getGroup( groupName );\r\n\r\n\t\tfor ( const item of items ) {\r\n\t\t\tgroup.add( item.title );\r\n\t\t\tthis._characters.set( item.title, item.uri );\r\n\t\t}\r\n\t}\r\n\r\n\tgetGroups() {\r\n\t\treturn this._groups.keys();\r\n\t}\r\n\r\n\tgetCharactersForGroup( groupName ) {\r\n\t\tif ( groupName === ALL_EMOJI_CHARACTERS_GROUP ) {\r\n\t\t\treturn new Set( this._characters.keys() );\r\n\t\t}\r\n\r\n\t\treturn this._groups.get( groupName );\r\n\t}\r\n\r\n\tgetCharacter( title ) {\r\n\t\treturn this._characters.get( title );\r\n\t}\r\n\r\n\t_getGroup( groupName ) {\r\n\t\tif ( !this._groups.has( groupName ) ) {\r\n\t\t\tthis._groups.set( groupName, new Set() );\r\n\t\t}\r\n\r\n\t\treturn this._groups.get( groupName );\r\n\t}\r\n\r\n\t_updateGrid( currentGroupName, gridView ) {\r\n\t\tgridView.tiles.clear();\r\n\t\tconst characterTitles = this.getCharactersForGroup( currentGroupName );\r\n\t\tfor ( const title of characterTitles ) {\r\n\t\t\tconst character = this.getCharacter( title );\r\n\t\t\tgridView.tiles.add( gridView.createTile( character, title ) );\r\n\t\t}\r\n\t}\r\n\r\n\t_createDropdownPanelContent( locale, dropdownView ) {\r\n\t\tconst specialCharsGroups = [ ...this.getGroups() ];\r\n\r\n\t\t// Add a special group that shows all available special characters.\r\n\t\tspecialCharsGroups.unshift( ALL_EMOJI_CHARACTERS_GROUP );\r\n\r\n\t\tconst navigationView = new EmojiCharactersNavigationView( locale, specialCharsGroups );\r\n\t\tconst gridView = new CharacterGridView( locale );\r\n\r\n\t\tgridView.delegate( 'execute' ).to( dropdownView );\r\n\r\n\t\tnavigationView.on( 'execute', () => {\r\n\t\t\tthis._updateGrid( navigationView.currentGroupName, gridView );\r\n\t\t} );\r\n\r\n\t\tthis._updateGrid( navigationView.currentGroupName, gridView );\r\n\r\n\t\treturn { navigationView, gridView };\r\n\t}\r\n}"],"sourceRoot":""}