2020-04-03 17:47:19 +03:00
( window [ "webpackJsonpSettings" ] = window [ "webpackJsonpSettings" ] || [ ] ) . push ( [ [ 4 ] , {
2020-07-20 13:30:35 +03:00
/***/ "./node_modules/@nextcloud/vue/dist/Components/AppNavigationSpacer.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / @ nextcloud / vue / dist / Components / AppNavigationSpacer . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2020-04-03 17:47:19 +03:00
/*! no static exports found */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
2020-07-20 13:30:35 +03:00
! function ( e , t ) { true ? module . exports = t ( ) : undefined } ( window , ( function ( ) { return function ( e ) { var t = { } ; function n ( r ) { if ( t [ r ] ) return t [ r ] . exports ; var o = t [ r ] = { i : r , l : ! 1 , exports : { } } ; return e [ r ] . call ( o . exports , o , o . exports , n ) , o . l = ! 0 , o . exports } return n . m = e , n . c = t , n . d = function ( e , t , r ) { n . o ( e , t ) || Object . defineProperty ( e , t , { enumerable : ! 0 , get : r } ) } , n . r = function ( e ) { "undefined" != typeof Symbol && Symbol . toStringTag && Object . defineProperty ( e , Symbol . toStringTag , { value : "Module" } ) , Object . defineProperty ( e , "__esModule" , { value : ! 0 } ) } , n . t = function ( e , t ) { if ( 1 & t && ( e = n ( e ) ) , 8 & t ) return e ; if ( 4 & t && "object" == typeof e && e && e . _ _esModule ) return e ; var r = Object . create ( null ) ; if ( n . r ( r ) , Object . defineProperty ( r , "default" , { enumerable : ! 0 , value : e } ) , 2 & t && "string" != typeof e ) for ( var o in e ) n . d ( r , o , function ( t ) { return e [ t ] } . bind ( null , o ) ) ; return r } , n . n = function ( e ) { var t = e && e . _ _esModule ? function ( ) { return e . default } : function ( ) { return e } ; return n . d ( t , "a" , t ) , t } , n . o = function ( e , t ) { return Object . prototype . hasOwnProperty . call ( e , t ) } , n . p = "/dist/" , n ( n . s = 179 ) } ( { 0 : function ( e , t , n ) { "use strict" ; function r ( e , t , n , r , o , i , a , s ) { var c , u = "function" == typeof e ? e . options : e ; if ( t && ( u . render = t , u . staticRenderFns = n , u . _compiled = ! 0 ) , r && ( u . functional = ! 0 ) , i && ( u . _scopeId = "data-v-" + i ) , a ? ( c = function ( e ) { ( e = e || this . $vnode && this . $vnode . ssrContext || this . parent && this . parent . $vnode && this . parent . $vnode . ssrContext ) || "undefined" == typeof _ _VUE _SSR _CONTEXT _ _ || ( e = _ _VUE _SSR _CONTEXT _ _ ) , o && o . call ( this , e ) , e && e . _registeredComponents && e . _registeredComponents . add ( a ) } , u . _ssrRegister = c ) : o && ( c = s ? function ( ) { o . call ( this , this . $root . $options . shadowRoot ) } : o ) , c ) if ( u . functional ) { u . _injectStyles = c ; var f = u . render ; u . render = function ( e , t ) { return c . call ( t ) , f ( e , t ) } } else { var p = u . beforeCreate ; u . beforeCreate = p ? [ ] . concat ( p , c ) : [ c ] } return { exports : e , options : u } } n . d ( t , "a" , ( function ( ) { return r } ) ) } , 1 : function ( e , t , n ) { "use strict" ; e . exports = function ( e ) { var t = [ ] ; return t . toString = function ( ) { return this . map ( ( function ( t ) { var n = function ( e , t ) { var n = e [ 1 ] || "" , r = e [ 3 ] ; if ( ! r ) return n ; if ( t && "function" == typeof btoa ) { var o = ( a = r , s = btoa ( unescape ( encodeURIComponent ( JSON . stringify ( a ) ) ) ) , c = "sourceMappingURL=data:application/json;charset=utf-8;base64," . concat ( s ) , "/*# " . concat ( c , " */" ) ) , i = r . sources . map ( ( function ( e ) { return "/*# sourceURL=" . concat ( r . sourceRoot || "" ) . concat ( e , " */" ) } ) ) ; return [ n ] . concat ( i ) . concat ( [ o ] ) . join ( "\n" ) } var a , s , c ; return [ n ] . join ( "\n" ) } ( t , e ) ; return t [ 2 ] ? "@media " . concat ( t [ 2 ] , " {" ) . concat ( n , "}" ) : n } ) ) . join ( "" ) } , t . i = function ( e , n , r ) { "string" == typeof e && ( e = [ [ null , e , "" ] ] ) ; var o = { } ; if ( r ) for ( var i = 0 ; i < this . length ; i ++ ) { var a = this [ i ] [ 0 ] ; null != a && ( o [ a ] = ! 0 ) } for ( var s = 0 ; s < e . length ; s ++ ) { var c = [ ] . concat ( e [ s ] ) ; r && o [ c [ 0 ] ] || ( n && ( c [ 2 ] ? c [ 2 ] = "" . concat ( n , " and " ) . concat ( c [ 2 ] ) : c [ 2 ] = n ) , t . push ( c ) ) } } , t } } , 104 : function ( e , t , n ) { var r = n ( 227 ) ; "string" == typeof r && ( r = [ [ e . i , r , "" ] ] ) , r . locals && ( e . exports = r . locals ) ; ( 0 , n ( 2 ) . default ) ( "1e3ece15" , r , ! 0 , { } ) } , 179 : function ( e , t , n ) { "use strict" ; n . r ( t ) ; var r = { name : "AppNavigationSpacer" } , o = ( n ( 226 ) , n ( 0 ) ) , i = Object ( o . a ) ( r , ( function ( ) { var e = this . $createElement ; return ( this . _self . _c || e ) ( "li" , { staticClass : "app-navigation-spacer" } ) } ) , [ ] , ! 1 , null , "42195cc8" , null ) . exports ; t . default = i } , 2 : function ( e , t , n ) { "use strict" ; function r ( e , t ) { for ( var n = [ ] , r = { } , o = 0 ; o < t . length ; o ++ ) { var i = t [ o ] , a = i [ 0 ] , s = { id : e + ":" + o , css : i [ 1 ] , media : i [ 2 ] , sourceMap : i [ 3 ] } ; r [ a ] ? r [ a ] . parts . push ( s ) : n . push ( r [ a ] = { id : a , parts : [ s ] } ) } return n } n . r ( t ) , n . d ( t , "default" , ( function ( ) { return l } ) ) ; var o = "undefined" != typeof document ; if ( "undefined" != typeof DEBUG && DEBUG && ! o ) throw new Error ( "vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." ) ; var i = { } , a = o && ( document . head || document . getElementsByTagName ( "head" ) [ 0 ] ) , s = null , c = 0 , u = ! 1 , f = function ( ) { } , p = null , d = "undefined" != typeof navigator && /msie [6-9]\b/ . test ( navigator . userAgent . toLowerCase ( ) ) ; function l ( e , t , n , o ) { u = n , p = o || { } ; var a = r ( e , t ) ; return v ( a ) , function ( t ) { for ( var n = [ ] , o = 0 ; o < a . length ; o ++ ) { var s = a [ o ] ; ( c = i [ s . id ] ) . refs -- , n . push ( c ) } t ? v ( a = r ( e , t ) ) : a = [ ] ; for ( o = 0 ; o < n . length ; o ++ ) { var c ; if ( 0 === ( c = n [ o ] ) . refs ) { for ( var u = 0 ; u < c . parts . length ; u ++ ) c . parts [ u ] ( ) ; delete i [ c . id ] } } } } function v ( e ) { for ( var t = 0 ; t < e
//# sourceMappingURL=AppNavigationSpacer.js.map
2020-04-03 17:47:19 +03:00
/***/ } ) ,
2020-07-20 13:30:35 +03:00
/***/ "./node_modules/@nextcloud/vue/dist/Components/AppSidebar.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / @ nextcloud / vue / dist / Components / AppSidebar . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2020-04-03 17:47:19 +03:00
/*! no static exports found */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
2020-07-20 13:30:35 +03:00
! function ( e , t ) { true ? module . exports = t ( ) : undefined } ( window , ( function ( ) { return function ( e ) { var t = { } ; function s ( A ) { if ( t [ A ] ) return t [ A ] . exports ; var n = t [ A ] = { i : A , l : ! 1 , exports : { } } ; return e [ A ] . call ( n . exports , n , n . exports , s ) , n . l = ! 0 , n . exports } return s . m = e , s . c = t , s . d = function ( e , t , A ) { s . o ( e , t ) || Object . defineProperty ( e , t , { enumerable : ! 0 , get : A } ) } , s . r = function ( e ) { "undefined" != typeof Symbol && Symbol . toStringTag && Object . defineProperty ( e , Symbol . toStringTag , { value : "Module" } ) , Object . defineProperty ( e , "__esModule" , { value : ! 0 } ) } , s . t = function ( e , t ) { if ( 1 & t && ( e = s ( e ) ) , 8 & t ) return e ; if ( 4 & t && "object" == typeof e && e && e . _ _esModule ) return e ; var A = Object . create ( null ) ; if ( s . r ( A ) , Object . defineProperty ( A , "default" , { enumerable : ! 0 , value : e } ) , 2 & t && "string" != typeof e ) for ( var n in e ) s . d ( A , n , function ( t ) { return e [ t ] } . bind ( null , n ) ) ; return A } , s . n = function ( e ) { var t = e && e . _ _esModule ? function ( ) { return e . default } : function ( ) { return e } ; return s . d ( t , "a" , t ) , t } , s . o = function ( e , t ) { return Object . prototype . hasOwnProperty . call ( e , t ) } , s . p = "/dist/" , s ( s . s = 178 ) } ( { 0 : function ( e , t , s ) { "use strict" ; function A ( e , t , s , A , n , a , o , r ) { var i , c = "function" == typeof e ? e . options : e ; if ( t && ( c . render = t , c . staticRenderFns = s , c . _compiled = ! 0 ) , A && ( c . functional = ! 0 ) , a && ( c . _scopeId = "data-v-" + a ) , o ? ( i = function ( e ) { ( e = e || this . $vnode && this . $vnode . ssrContext || this . parent && this . parent . $vnode && this . parent . $vnode . ssrContext ) || "undefined" == typeof _ _VUE _SSR _CONTEXT _ _ || ( e = _ _VUE _SSR _CONTEXT _ _ ) , n && n . call ( this , e ) , e && e . _registeredComponents && e . _registeredComponents . add ( o ) } , c . _ssrRegister = i ) : n && ( i = r ? function ( ) { n . call ( this , this . $root . $options . shadowRoot ) } : n ) , i ) if ( c . functional ) { c . _injectStyles = i ; var l = c . render ; c . render = function ( e , t ) { return i . call ( t ) , l ( e , t ) } } else { var m = c . beforeCreate ; c . beforeCreate = m ? [ ] . concat ( m , i ) : [ i ] } return { exports : e , options : c } } s . d ( t , "a" , ( function ( ) { return A } ) ) } , 1 : function ( e , t , s ) { "use strict" ; e . exports = function ( e ) { var t = [ ] ; return t . toString = function ( ) { return this . map ( ( function ( t ) { var s = function ( e , t ) { var s = e [ 1 ] || "" , A = e [ 3 ] ; if ( ! A ) return s ; if ( t && "function" == typeof btoa ) { var n = ( o = A , r = btoa ( unescape ( encodeURIComponent ( JSON . stringify ( o ) ) ) ) , i = "sourceMappingURL=data:application/json;charset=utf-8;base64," . concat ( r ) , "/*# " . concat ( i , " */" ) ) , a = A . sources . map ( ( function ( e ) { return "/*# sourceURL=" . concat ( A . sourceRoot || "" ) . concat ( e , " */" ) } ) ) ; return [ s ] . concat ( a ) . concat ( [ n ] ) . join ( "\n" ) } var o , r , i ; return [ s ] . join ( "\n" ) } ( t , e ) ; return t [ 2 ] ? "@media " . concat ( t [ 2 ] , " {" ) . concat ( s , "}" ) : s } ) ) . join ( "" ) } , t . i = function ( e , s , A ) { "string" == typeof e && ( e = [ [ null , e , "" ] ] ) ; var n = { } ; if ( A ) for ( var a = 0 ; a < this . length ; a ++ ) { var o = this [ a ] [ 0 ] ; null != o && ( n [ o ] = ! 0 ) } for ( var r = 0 ; r < e . length ; r ++ ) { var i = [ ] . concat ( e [ r ] ) ; A && n [ i [ 0 ] ] || ( s && ( i [ 2 ] ? i [ 2 ] = "" . concat ( s , " and " ) . concat ( i [ 2 ] ) : i [ 2 ] = s ) , t . push ( i ) ) } } , t } } , 10 : function ( e , t , s ) { "use strict" ; s . r ( t ) , t . default = " data : font / ttf ; base64 , AAEAAAAKAIAAAwAgT1MvMnTjj5cAAACsAAAAYGNtYXAADeu0AAABDAAAAUJnbHlm9ReudAAAAlAAAASEaGVhZCfF2KoAAAbUAAAANmhoZWEnHBOFAAAHDAAAACRobXR4Z97 //wAABzAAAAAsbG9jYQduCEYAAAdcAAAAIG1heHABHABXAAAHfAAAACBuYW1lorGCnAAAB5wAAAKmcG9zdOaJWowAAApEAAAAxAAEEpQBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoOE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoO//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3AT
2020-04-03 17:47:19 +03:00
/ * *
2020-07-20 13:30:35 +03:00
* @ copyright Copyright ( c ) 2019 Georg Ehrke
2020-04-03 17:47:19 +03:00
*
2020-07-20 13:30:35 +03:00
* @ author Georg Ehrke < oc . list @ georgehrke . com >
2020-04-03 17:47:19 +03:00
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*
* /
2020-07-20 13:30:35 +03:00
var A = { inserted : function ( e ) { e . focus ( ) } } ; t . default = A } , 106 : function ( e , t , s ) { var A = s ( 230 ) ; "string" == typeof A && ( A = [ [ e . i , A , "" ] ] ) , A . locals && ( e . exports = A . locals ) ; ( 0 , s ( 2 ) . default ) ( "45aebdd4" , A , ! 0 , { } ) } , 107 : function ( e , t , s ) { var A = s ( 232 ) ; "string" == typeof A && ( A = [ [ e . i , A , "" ] ] ) , A . locals && ( e . exports = A . locals ) ; ( 0 , s ( 2 ) . default ) ( "4dd3631b" , A , ! 0 , { } ) } , 11 : function ( e , t , s ) { "use strict" ; s . r ( t ) , t . default = " data : image / svg + xml ; base64 , PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI / PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE + PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWUxZjU1Y2UiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtZTFmNTVjZSIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0xIDAgNTAxMSA1MDAwIiB1bmRlcmxpbmUtdGhpY2tuZXNzPSIwIiB1bmRlcmxpbmUtcG9zaXRpb249IjUwIiB1bmljb2RlLXJhbmdlPSJVK2VhMDEtZWEwZSIgLz48bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iMCIgIC8 + PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQtZG91YmxlIiB1bmljb2RlPSImI3hlYTAxOyIgZD0iTTM3NTAgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFpNMjM0NCAzOTA2IGwtMTQwNiAtMTQwNiBsMTQwNiAtMTQwNiBsMCAzMTIgbC0xMDk0IDEwOTQgbDEwOTQgMTA5NCBsMCAzMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctbGVmdCIgdW5pY29kZT0iJiN4ZWEwMjsiIGQ9Ik0xNTYzIDI1MDAgbDE4NzUgLTE4NzUgbDAgLTMxMiBsLTIxODggMjE4NyBsMjE4OCAyMTg4IGwwIC0zMTMgbC0xODc1IC0xODc1IFoiIC8 + PGdseXBoIGdseXBoLW5hbWU9ImFycm93LXJpZ2h0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMzsiIGQ9Ik0xMjUwIDEwOTQgbDE0MDYgMTQwNiBsLTE0MDYgMTQwNiBsMCAtMzEyIGwxMDk0IC0xMDk0IGwtMTA5NCAtMTA5NCBsMCAtMzEyIFpNMjY1NiAxMDk0IGwxNDA3IDE0MDYgbC0xNDA3IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodCIgdW5pY29kZT0iJiN4ZWEwNDsiIGQ9Ik0zNDM4IDI1MDAgbC0xODc1IDE4NzUgbDAgMzEzIGwyMTg3IC0yMTg4IGwtMjE4NyAtMjE4NyBsMCAzMTIgbDE4NzUgMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJicmVhZGNydW1iIiB1bmljb2RlPSImI3hlYTA1OyIgZD0iTTE0OCA1MDAwIGwtMTQ4IC04NSBsMTM5NCAtMjQxNSBsLTEzOTQgLTI0MTUgbDE0OCAtODUgbDE0NDMgMjUwMCBsLTE0NDMgMjUwMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja21hcmsiIHVuaWNvZGU9IiYjeGVhMDY7IiBkPSJNNDA0NSAzOTcxIGwtMjA2MSAtMjA2MSBsLTEwMjkgMTAyOSBsLTQ0MiAtNDQxIGwxNDcxIC0xNDcxIGwyNTAzIDI1MDIgbC00NDIgNDQyIFoiIC8 + PGdseXBoIGdseXBoLW5hbWU9ImNsb3NlIiB1bmljb2RlPSImI3hlYTA3OyIgZD0iTTQzNzUgMTE1NiBsLTUzMSAtNTMxIGwtMTM0NCAxMzQ0IGwtMTM0NCAtMTM0NCBsLTUzMSA1MzEgbDEzNDQgMTM0NCBsLTEzNDQgMTM0NCBsNTMxIDUzMSBsMTM0NCAtMTM0NCBsMTM0NCAxMzQ0IGw1MzEgLTUzMSBsLTEzNDQgLTEzNDQgbDEzNDQgLTEzNDQgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY29uZmlybSIgdW5pY29kZT0iJiN4ZWEwODsiIGQ9Ik0yNjU2IDQ4NDQgcS0xMDEgMCAtMTgwIC01NyBxLTc0IC01MiAtMTA5IC0xMzggcS0zNSAtODYgLTE5IC0xNzUgcTE4IC05NiA5MCAtMTY3IGwxNDk1IC0xNDk0IGwtMzYxNiAwIHEtNzcgMSAtMTM5IC0yNiBxLTU4IC0yNCAtOTkgLTcwIHEtMzkgLTQ0IC01OSAtMTAxIHEtMjAgLTU2IC0yMCAtMTE2IHEwIC02MCAyMCAtMTE2IHEyMCAtNTcgNTkgLTEwMSBxNDEgLTQ2IDk5IC03MCBxNjIgLTI3IDEzOSAtMjUgbDM2MTYgMCBsLTE0OTUgLTE0OTUgcS01NSAtNTMgLTgxIC0xMTYgcS0yNCAtNTkgLTIxIC0xMjEgcTMgLTU4IDMwIC0xMTMgcTI1IC01NCA2OCAtOTcgcTQzIC00MyA5NiAtNjggcTU1IC0yNiAxMTQgLTI5IHE2MiAtMyAxMjAgMjEgcTYzIDI1IDExNiA4MSBsMjAyOSAyMDI4IHE1OSA2MCA4MCAxNDEgcTIxIDgwIDEgMTU5IHEtMjEgODIgLTgxIDE0MiBsLTIwMjkgMjAyOCBxLTQ0IDQ1IC0xMDIgNzAgcS01OCAyNSAtMTIyIDI1IFoiIC8 + PGdseXBoIGdseXBoLW5hbWU9ImluZm8iIHVuaWNvZGU9IiYjeGVhMDk7IiBkPSJNMjQyMiA0Njg4IHEtMTExIDAgLTIxMyAtNDMgcS05OCAtNDIgLTE3NCAtMTE3LjUgcS03NiAtNzUuNSAtMTE3IC0xNzQuNSBxLTQzIC0xMDEgLTQzIC0yMTIuNSBxMCAtMTExLjUgNDMgLTIxMi41IHE0MSAtOTggMTE3IC0xNzQgcTc2IC03NiAxNzQgLTExNyBxMTAyIC00MyAyMTMgLTQzIHExMTEgMCAyMTMgNDMgcTk4IDQxIDE3My41IDExNyBxNzUuNSA3NiAxMTcuNSAxNzQgcTQzIDEwMSA0MyAyMTIuNSBxMCAxMTEuNSAtNDMgMjEyLjUgcS00MiA5OSAtMTE3LjUgMTc0LjUgcS03NS41IDc1LjUgLTE3My41IDExNy41IHEtMTAyIDQzIC0yMTMgNDMgWk0xNTYzIDMxMjUgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MiAtNDMgLTE1Ny41IHEwIC04NS41IDQzIC0xNTcuNSBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MyBsNjI1IDAgbDAgLTE1NjIgbC02MjUgMCBx
2020-04-03 17:47:19 +03:00
/ * *
2020-07-20 13:30:35 +03:00
* @ copyright Copyright ( c ) 2019 Julius Härtl < jus @ bitgrid . net >
2020-04-03 17:47:19 +03:00
*
2020-07-20 13:30:35 +03:00
* @ author Julius Härtl < jus @ bitgrid . net >
2020-04-03 17:47:19 +03:00
* @ author John Molakvoæ < skjnldsv @ protonmail . com >
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*
2020-07-20 13:30:35 +03:00
* /
A . VTooltip . options . defaultTemplate = '<div class="vue-tooltip" role="tooltip" data-v-' . concat ( "e1f55ce" , '><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' ) , A . VTooltip . options . defaultHtml = ! 1 , t . default = A . VTooltip } , 138 : function ( e , t ) { } , 14 : function ( e , t ) { e . exports = _ _webpack _require _ _ ( /*! v-click-outside */ "./node_modules/v-click-outside/dist/v-click-outside.umd.js" ) } , 15 : function ( e , t ) { e . exports = _ _webpack _require _ _ ( /*! core-js/modules/es.array.index-of */ "./node_modules/core-js/modules/es.array.index-of.js" ) } , 17 : function ( e , t , s ) { "use strict" ; s ( 4 ) , s ( 21 ) , s ( 23 ) , s ( 30 ) ; t . a = function ( e ) { return Math . random ( ) . toString ( 36 ) . replace ( /[^a-z]+/g , "" ) . substr ( 0 , e || 5 ) } } , 178 : function ( e , t , s ) { "use strict" ; s . r ( t ) ; s ( 46 ) , s ( 228 ) , s ( 15 ) , s ( 12 ) , s ( 28 ) ; var A = s ( 5 ) , n = s . n ( A ) , a = s ( 38 ) , o = s ( 105 ) , r = s ( 32 ) , i = function ( e ) { return e && "string" == typeof e && "" !== e . trim ( ) && - 1 === e . indexOf ( " " ) } , c = { name : "AppSidebar" , components : { Actions : a . default } , directives : { focus : o . default } , mixins : [ r . a ] , props : { active : { type : String , default : "" } , title : { type : String , default : "" , required : ! 0 } , titleEditable : { type : Boolean , default : ! 1 } , titlePlaceholder : { type : String , default : "" } , subtitle : { type : String , default : "" } , background : { type : String , default : "" } , starred : { type : Boolean , default : null } , starLoading : { type : Boolean , default : ! 1 } , compact : { type : Boolean , default : ! 1 } , forceMenu : { type : Boolean , default : ! 1 } } , data : function ( ) { return { tabs : [ ] , activeTab : "" , isStarred : this . starred , children : [ ] } } , computed : { canStar : function ( ) { return null !== this . isStarred } , hasFigure : function ( ) { return this . $slots . header || this . background } , hasMultipleTabs : function ( ) { return this . tabs . length > 1 } , hasFigureClickListener : function ( ) { return this . $listeners [ "figure-click" ] } , currentTabIndex : function ( ) { var e = this ; return this . tabs . findIndex ( ( function ( t ) { return t . id === e . activeTab } ) ) } } , watch : { active : function ( e ) { e !== this . activeTab && this . updateActive ( ) } , starred : function ( ) { this . isStarred = this . starred } , children : function ( ) { this . updateTabs ( ) } } , mounted : function ( ) { this . updateTabs ( ) , this . children = this . $children } , methods : { closeSidebar : function ( e ) { this . $emit ( "close" , e ) } , onFigureClick : function ( e ) { this . $emit ( "figure-click" , e ) } , setActive : function ( e ) { var t = e . target . closest ( "a" ) . dataset . id ; this . activeTab = t , this . $emit ( "update:active" , t ) } , focusPreviousTab : function ( ) { this . currentTabIndex > 0 && ( this . activeTab = this . tabs [ this . currentTabIndex - 1 ] . id , this . $emit ( "update:active" , this . activeTab ) ) , this . focusActiveTab ( ) } , focusNextTab : function ( ) { this . currentTabIndex < this . tabs . length - 1 && ( this . activeTab = this . tabs [ this . currentTabIndex + 1 ] . id , this . $emit ( "update:active" , this . activeTab ) ) , this . focusActiveTab ( ) } , focusFirstTab : function ( ) { this . activeTab = this . tabs [ 0 ] . id , this . $emit ( "update:active" , this . activeTab ) , this . focusActiveTab ( ) } , focusLastTab : function ( ) { this . activeTab = this . tabs [ this . tabs . length - 1 ] . id , this . $emit ( "update:active" , this . activeTab ) , this . focusActiveTab ( ) } , focusActiveTab : function ( ) { this . $el . querySelector ( "#" + this . activeTab ) . focus ( ) } , focusActiveTabContent : function ( ) { this . $el . querySelector ( "#tab-" + this . activeTab ) . focus ( ) } , updateActive : function ( ) { var e = this ; this . activeTab = this . active && - 1 !== this . tabs . findIndex ( ( function ( t ) { return t . id === e . active } ) ) ? this . active : this . tabs . length > 0 ? this . tabs [ 0 ] . id : "" } , toggleStarred : function ( ) { this . isStarred = ! this . isStarred , this . $emit ( "update:starred" , this . isStarred ) } , updateTabs : function ( ) { var e = this . $children . filter ( ( function ( e ) { return e . name && "string" == typeof e . name && i ( e . id ) && i ( e . icon ) } ) ) ; 0 !== e . length && e . length !== this . $children . length && n . a . util . warn ( "Mixing tabs and non-tab-content is not possible." ) , this . tabs = e . sort ( ( function ( e , t ) { var s = e . order || 0 , A = t . order || 0 ; return s === A ? OC . Util . naturalSortCompare ( e . name , t . name ) : s - A } ) ) , this . tabs . length > 0 && this . updateActive ( ) } , onTitleInput : function ( e ) { this . $emit ( "input-title" , e ) , this . $emit ( "update:title" , e . target . value ) } , onSubmitTitle : function ( e ) { this . $emit ( "submit-title" , e ) } , onDismissEditing : function ( ) { this . $emit ( "dismiss-editing" ) } } } , l = ( s ( 229 ) , s ( 231 ) , s ( 0 ) ) , m = s ( 138 ) , g = s . n ( m ) , u = Object ( l . a ) ( c , ( function ( ) { var e = this , t = e . $createElement , s = e . _self . _c || t ; return s ( "transition" , { attrs : { name : "slide-right" } } , [ s ( "aside" , { attrs
/ *
* @ copyright 2019 Christoph Wurst < christoph @ winzerhof - wurst . at >
2020-04-03 17:47:19 +03:00
*
2020-07-20 13:30:35 +03:00
* @ author 2019 Christoph Wurst < christoph @ winzerhof - wurst . at >
2020-04-03 17:47:19 +03:00
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
2020-07-20 13:30:35 +03:00
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
* / t . d e f a u l t = d } , 2 : f u n c t i o n ( e , t , s ) { " u s e s t r i c t " ; f u n c t i o n A ( e , t ) { f o r ( v a r s = [ ] , A = { } , n = 0 ; n < t . l e n g t h ; n + + ) { v a r a = t [ n ] , o = a [ 0 ] , r = { i d : e + " : " + n , c s s : a [ 1 ] , m e d i a : a [ 2 ] , s o u r c e M a p : a [ 3 ] } ; A [ o ] ? A [ o ] . p a r t s . p u s h ( r ) : s . p u s h ( A [ o ] = { i d : o , p a r t s : [ r ] } ) } r e t u r n s } s . r ( t ) , s . d ( t , " d e f a u l t " , ( f u n c t i o n ( ) { r e t u r n u } ) ) ; v a r n = " u n d e f i n e d " ! = t y p e o f d o c u m e n t ; i f ( " u n d e f i n e d " ! = t y p e o f D E B U G & & D E B U G & & ! n ) t h r o w n e w E r r o r ( " v u e - s t y l e - l o a d e r c a n n o t b e u s e d i n a n o n - b r o w s e r e n v i r o n m e n t . U s e { t a r g e t : ' n o d e ' } i n y o u r W e b p a c k c o n f i g t o i n d i c a t e a s e r v e r - r e n d e r i n g e n v i r o n m e n t . " ) ; v a r a = { } , o = n & & ( d o c u m e n t . h e a d | | d o c u m e n t . g e t E l e m e n t s B y T a g N a m e ( " h e a d " ) [ 0 ] ) , r = n u l l , i = 0 , c = ! 1 , l = f u n c t i o n ( ) { } , m = n u l l , g = " u n d e f i n e d " ! = t y p e o f n a v i g a t o r & & / m s i e [ 6 - 9 ] \ b / . t e s t ( n a v i g a t o r . u s e r A g e n t . t o L o w e r C a s e ( ) ) ; f u n c t i o n u ( e , t , s , n ) { c = s , m = n | | { } ; v a r o = A ( e , t ) ; r e t u r n d ( o ) , f u n c t i o n ( t ) { f o r ( v a r s = [ ] , n = 0 ; n < o . l e n g t h ; n + + ) { v a r r = o [ n ] ; ( i = a [ r . i d ] ) . r e f s - - , s . p u s h ( i ) } t ? d ( o = A ( e , t ) ) : o = [ ] ; f o r ( n = 0 ; n < s . l e n g t h ; n + + ) { v a r i ; i f ( 0 = = = ( i = s [ n ] ) . r e f s ) { f o r ( v a r c = 0 ; c < i . p a r t s . l e n g t h ; c + + ) i . p a r t s [ c ] ( ) ; d e l e t e a [ i . i d ] } } } } f u n c t i o n d ( e ) { f o r ( v a r t = 0 ; t < e . l e n g t h ; t + + ) { v a r s = e [ t ] , A = a [ s . i d ] ; i f ( A ) { A . r e f s + + ; f o r ( v a r n = 0 ; n < A . p a r t s . l e n g t h ; n + + ) A . p a r t s [ n ] ( s . p a r t s [ n ] ) ; f o r ( ; n < s . p a r t s . l e n g t h ; n + + ) A . p a r t s . p u s h ( f ( s . p a r t s [ n ] ) ) ; A . p a r t s . l e n g t h > s . p a r t s . l e n g t h & & ( A . p a r t s . l e n g t h = s . p a r t s . l e n g t h ) } e l s e { v a r o = [ ] ; f o r ( n = 0 ; n < s . p a r t s . l e n g t h ; n + + ) o . p u s h ( f ( s . p a r t s [ n ] ) ) ; a [ s . i d ] = { i d : s . i d , r e f s : 1 , p a r t s : o } } } } f u n c t i o n p ( ) { v a r e = d o c u m e n t . c r e a t e E l e m e n t ( " s t y l e " ) ; r e t u r n e . t y p e = " t e x t / c s s " , o . a p p e n d C h i l d ( e ) , e } f u n c t i o n f ( e ) { v a r t , s , A = d o c u m e n t . q u e r y S e l e c t o r ( ' s t y l e [ d a t a - v u e - s s r - i d ~ = " ' + e . i d + ' " ] ' ) ; i f ( A ) { i f ( c ) r e t u r n l ; A . p a r e n t N o d e . r e m o v e C h i l d ( A ) } i f ( g ) { v a r n = i + + ; A = r | | ( r = p ( ) ) , t = M . b i n d ( n u l l , A , n , ! 1 ) , s = M . b i n d ( n u l l , A , n , ! 0 ) } e l s e A = p ( ) , t = b . b i n d ( n u l l , A ) , s = f u n c t i o n ( ) { A . p a r e n t N o d e . r e m o v e C h i l d ( A ) } ; r e t u r n t ( e ) , f u n c t i o n ( A ) { i f ( A ) { i f ( A . c s s = = = e . c s s & & A . m e d i a = = = e . m e d i a & & A . s o u r c e M a p = = = e . s o u r c e M a p ) r e t u r n ; t ( e = A ) } e l s e s ( ) } } v a r h , v = ( h = [ ] , f u n c t i o n ( e , t ) { r e t u r n h [ e ] = t , h . f i l t e r ( B o o l e a n ) . j o i n ( " \ n " ) } ) ; f u n c t i o n M ( e , t , s , A ) { v a r n = s ? " " : A . c s s ; i f ( e . s t y l e S h e e t ) e . s t y l e S h e e t . c s s T e x t = v ( t , n ) ; e l s e { v a r a = d o c u m e n t . c r e a t e T e x t N o d e ( n ) , o = e . c h i l d N o d e s ; o [ t ] & & e . r e m o v e C h i l d ( o [ t ] ) , o . l e n g t h ? e . i n s e r t B e f o r e ( a , o [ t ] ) : e . a p p e n d C h i l d ( a ) } } f u n c t i o n b ( e , t ) { v a r s = t . c s s , A = t . m e d i a , n = t . s o u r c e M a p ; i f ( A & & e . s e t A t t r i b u t e ( " m e d i a " , A ) , m . s s r I d & & e . s e t A t t r i b u t e ( " d a t a - v u e - s s r - i d " , t . i d ) , n & & ( s + = " \ n / * # s o u r c e U R L = " + n . s o u r c e s [ 0 ] + " * / " , s + = " \ n / * # s o u r c e M a p p i n g U R L = d a t a : a p p l i c a t i o n / j s o n ; b a s e 6 4 , " + b t o a ( u n e s c a p e ( e n c o d e U R I C o m p o n e n t ( J S O N . s t r i n g i f y ( n ) ) ) ) + " * / " ) , e . s t y l e S h e e t ) e . s t y l e S h e e t . c s s T e x t = s ; e l s e { f o r ( ; e . f i r s t C h i l d ; ) e . r e m o v e C h i l d ( e . f i r s t C h i l d ) ; e . a p p e n d C h i l d ( d o c u m e n t . c r e a t e T e x t N o d e ( s ) ) } } } , 2 1 : f u n c t i o n ( e , t ) { e . e x p o r t s = _ _ w e b p a c k _ r e q u i r e _ _ ( / * ! c o r e - j s / m o d u l e s / e s . r e g e x p . e x e c * / " . / n o d e _ m o d u l e s / c o r e - j s / m o d u l e s / e s . r e g e x p . e x e c . j s " ) } , 2 2 : f u n c t i o n ( e , t ) { e . e x p o r t s = _ _ w e b p a c k _ r e q u i r e _ _ ( / * ! c o r e - j s / m o d u l e s / e s . a r r a y . m a p * / " . / n o d e _ m o d u l e s / c o r e - j s / m o d u l e s / e s . a r r a y . m a p . j s " ) } , 2 2 8 : f u n c t i o n ( e , t ) { e . e x p o r t s = _ _ w e b p a c k _ r e q u i r e _ _ ( / * ! c o r e - j s / m o d u l e s / e s . a r r a y . f i n d - i n d e x * / " . / n o d e _ m o d u l e s / c o r e - j s / m o d u l e s / e s . a r r a y . f i n d - i n d e x . j s " ) } , 2 2 9 : f u n c t i o n ( e , t , s ) { " u s e s t r i c t " ; v a r A = s ( 1 0 6 ) ; s . n ( A ) . a } , 2 3 : f u n c t i o n ( e , t ) { e . e x p o r t s = _ _ w e b p a c k _ r e q u i r e _ _ ( / * ! c o r e - j s / m o d u l e s / e s . r e g e x p . t o - s t r i n g * / " . / n o d e _ m o d u l e s / c o r e - j s / m o d u l e s / e s . r e g e x p . t o - s t r i n g . j s " ) } , 2 3 0 : f u n c t i o n ( e , t , s ) { ( t = s ( 1 ) ( ! 1 ) ) . p u s h ( [ e . i , " # a p p - s i d e b a r [ d a t a - v - 1 0 5 9 7 4 6 a ] { z - i n d e x : 1 5 0 0 ; h e i g h t : c a l c ( 1 0 0 v h - 5 0 p x ) ; w i d t h : 2 7 v w ; m i n - w i d t h : 3 0 0 p x ; m a x - w i d t h : 5 0 0 p x ; t o p : 5 0 p x ; r i g h t : 0 ; d i s p l a y : f l e x ; f l e x - s h r i n k : 0 ; f l e x - d i r e c t i o n : c o l u m n ; p o s i t i o n : - w e b k i t - s t i c k y ; p o s i t i o n : s t i c k y ; o v e r f l o w - y : a u t o ; o v e r f l o w - x : h i d d e n ; b a c k g r o u n d : v a r ( - - c o l o r - m a i n - b a c k g r o u n d ) ; b o r d e r - l e f t : 1 p x s o l i d v a r ( - - c o l o r - b o r d e r ) } # a p p - s i d e b a r . a p p - s i d e b a r - h e a d e r > . a p p - s i d e b a r _ _ c l o s e [ d a t a - v - 1 0 5 9 7 4 6 a ] { p o s i t i o n : a b s o l u t e ; w i d t h : 4 4 p x ; h e i g h t : 4 4 p x ; t o p : 6 p x ; r i g h t : 6 p x ; z - i n d e x : 1 0 0 ; o p a c i t y : . 7 ; b o r d e r - r a d i u s : 2 2 p x } # a p p - s i d e b a r . a p p - s i d e b a r - h e a d e r > . a p p - s i d e b a r _ _ c l o s e [ d a t a - v - 1 0 5 9 7 4 6 a ] : h o v e r , # a p p - s i d e b a r . a p p - s i d e b a r - h e a d e r > . a p p - s i d e b a r _ _ c l o s e [ d a t a - v - 1 0 5 9 7 4 6 a ] : a c t i v e , # a p p - s i d e b a r . a p p - s i d e b a r - h e a d e r > . a p p - s i d e b a r _ _ c l o s e [ d a t a - v - 1 0 5 9 7 4 6 a ] : f o c u s { o p a c i t y : 1 ; b a c k g r o u n d - c o l o r : r g b a ( 1 2 7 , 1 2 7 , 1 2 7 , 0 . 2 5 ) } # a p p - s i d e b a r . a p p - s i d e b a r - h e a d e r _ _ f i g u r e [ d a t a - v - 1 0 5 9 7 4 6 a ] { m a x - h e i g h t : 2 5 0 p x ; h e i g h t : 2 5 0 p x ; w i d
2020-04-03 17:47:19 +03:00
/ * *
* @ copyright Copyright ( c ) 2018 John Molakvoæ < skjnldsv @ protonmail . com >
*
* @ author John Molakvoæ < skjnldsv @ protonmail . com >
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
2020-07-20 13:30:35 +03:00
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
2020-04-03 17:47:19 +03:00
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*
2020-07-20 13:30:35 +03:00
* /t.default=A.a},4:function(e,t){e.exports=__webpack_require__(/ * ! core - js / modules / es . object . to - string * / " . / n o d e _ m o d u l e s / c o r e - j s / m o d u l e s / e s . o b j e c t . t o - s t r i n g . j s " ) } , 4 0 : f u n c t i o n ( e , t , s ) { v a r A = s ( 4 1 ) ; " s t r i n g " = = t y p e o f A & & ( A = [ [ e . i , A , " " ] ] ) , A . l o c a l s & & ( e . e x p o r t s = A . l o c a l s ) ; ( 0 , s ( 2 ) . d e f a u l t ) ( " 9 4 1 c 7 9 1 e " , A , ! 0 , { } ) } , 4 1 : f u n c t i o n ( e , t , s ) { ( t = s ( 1 ) ( ! 1 ) ) . p u s h ( [ e . i , " . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] { p o s i t i o n : a b s o l u t e ; z - i n d e x : 1 0 0 0 0 0 ; r i g h t : a u t o ; l e f t : a u t o ; d i s p l a y : b l o c k ; m a r g i n : 0 ; m a r g i n - t o p : - 3 p x ; p a d d i n g : 1 0 p x 0 ; t e x t - a l i g n : l e f t ; t e x t - a l i g n : s t a r t ; w h i t e - s p a c e : n o r m a l ; t e x t - d e c o r a t i o n : n o n e ; l e t t e r - s p a c i n g : n o r m a l ; w o r d - s p a c i n g : n o r m a l ; t e x t - t r a n s f o r m : n o n e ; w o r d - w r a p : n o r m a l ; w o r d - b r e a k : n o r m a l ; o p a c i t y : 0 ; t e x t - s h a d o w : n o n e ; f o n t - f a m i l y : ' N u n i t o ' , ' O p e n S a n s ' , F r u t i g e r , C a l i b r i , ' M y r i a d P r o ' , M y r i a d , s a n s - s e r i f ; f o n t - s i z e : 1 2 p x ; f o n t - w e i g h t : n o r m a l ; f o n t - s t y l e : n o r m a l ; l i n e - h e i g h t : 1 . 6 ; l i n e - b r e a k : a u t o ; f i l t e r : d r o p - s h a d o w ( 0 1 p x 1 0 p x v a r ( - - c o l o r - b o x - s h a d o w ) ) } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ x - p l a c e m e n t ^ = ' t o p ' ] . t o o l t i p - a r r o w { b o t t o m : 0 ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 0 ; b o r d e r - w i d t h : 1 0 p x 1 0 p x 0 1 0 p x ; b o r d e r - r i g h t - c o l o r : t r a n s p a r e n t ; b o r d e r - b o t t o m - c o l o r : t r a n s p a r e n t ; b o r d e r - l e f t - c o l o r : t r a n s p a r e n t } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ x - p l a c e m e n t ^ = ' b o t t o m ' ] . t o o l t i p - a r r o w { t o p : 0 ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 0 ; b o r d e r - w i d t h : 0 1 0 p x 1 0 p x 1 0 p x ; b o r d e r - t o p - c o l o r : t r a n s p a r e n t ; b o r d e r - r i g h t - c o l o r : t r a n s p a r e n t ; b o r d e r - l e f t - c o l o r : t r a n s p a r e n t } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ x - p l a c e m e n t ^ = ' r i g h t ' ] . t o o l t i p - a r r o w { r i g h t : 1 0 0 % ; m a r g i n - r i g h t : 0 ; m a r g i n - l e f t : 0 ; b o r d e r - w i d t h : 1 0 p x 1 0 p x 1 0 p x 0 ; b o r d e r - t o p - c o l o r : t r a n s p a r e n t ; b o r d e r - b o t t o m - c o l o r : t r a n s p a r e n t ; b o r d e r - l e f t - c o l o r : t r a n s p a r e n t } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ x - p l a c e m e n t ^ = ' l e f t ' ] . t o o l t i p - a r r o w { l e f t : 1 0 0 % ; m a r g i n - r i g h t : 0 ; m a r g i n - l e f t : 0 ; b o r d e r - w i d t h : 1 0 p x 0 1 0 p x 1 0 p x ; b o r d e r - t o p - c o l o r : t r a n s p a r e n t ; b o r d e r - r i g h t - c o l o r : t r a n s p a r e n t ; b o r d e r - b o t t o m - c o l o r : t r a n s p a r e n t } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ a r i a - h i d d e n = ' t r u e ' ] { v i s i b i l i t y : h i d d e n ; t r a n s i t i o n : o p a c i t y . 1 5 s , v i s i b i l i t y . 1 5 s ; o p a c i t y : 0 } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] [ a r i a - h i d d e n = ' f a l s e ' ] { v i s i b i l i t y : v i s i b l e ; t r a n s i t i o n : o p a c i t y . 1 5 s ; o p a c i t y : 1 } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] . t o o l t i p - i n n e r { m a x - w i d t h : 3 5 0 p x ; p a d d i n g : 5 p x 8 p x ; t e x t - a l i g n : c e n t e r ; c o l o r : v a r ( - - c o l o r - m a i n - t e x t ) ; b o r d e r - r a d i u s : v a r ( - - b o r d e r - r a d i u s ) ; b a c k g r o u n d - c o l o r : v a r ( - - c o l o r - m a i n - b a c k g r o u n d ) } . v u e - t o o l t i p [ d a t a - v - e 1 f 5 5 c e ] . t o o l t i p - a r r o w { p o s i t i o n : a b s o l u t e ; z - i n d e x : 1 ; w i d t h : 0 ; h e i g h t : 0 ; m a r g i n : 0 ; b o r d e r - s t y l e : s o l i d ; b o r d e r - c o l o r : v a r ( - - c o l o r - m a i n - b a c k g r o u n d ) } \ n " , " " ] ) , e . e x p o r t s = t } , 4 3 : f u n c t i o n ( e , t , s ) { " u s e s t r i c t " ; s ( 2 5 ) , s ( 4 6 ) , s ( 1 5 ) ; v a r A = s ( 1 4 ) , n = s ( 1 3 ) , a = s ( 1 7 ) , o = ( s ( 6 4 ) , f u n c t i o n ( e ) { v a r t = e . g e t B o u n d i n g C l i e n t R e c t ( ) , s = d o c u m e n t . d o c u m e n t E l e m e n t . c l i e n t H e i g h t , A = d o c u m e n t . d o c u m e n t E l e m e n t . c l i e n t W i d t h , n = O b j e c t . a s s i g n ( { } ) ; r e t u r n n . t o p = t . t o p < 0 , n . l e f t = t . l e f t < 0 , n . b o t t o m = t . b o t t o m > s , n . r i g h t = t . r i g h t > A , n . a n y = n . t o p | | n . l e f t | | n . b o t t o m | | n . r i g h t , n . a l l = n . t o p & & n . l e f t & & n . b o t t o m & & n . r i g h t , n . o f f s e t Y = n . t o p ? t . t o p : n . b o t t o m ? t . b o t t o m - s : 0 , n . o f f s e t X = n . l e f t ? t . l e f t : n . r i g h t ? t . r i g h t - A : 0 , n } ) , r = s ( 3 1 ) , i = s ( 6 ) , c = [ " A c t i o n B u t t o n " , " A c t i o n C h e c k b o x " , " A c t i o n I n p u t " , " A c t i o n L i n k " , " A c t i o n R a d i o " , " A c t i o n R o u t e r " , " A c t i o n S e p a r a t o r " , " A c t i o n T e x t " , " A c t i o n T e x t E d i t a b l e " ] , l = { n a m e : " A c t i o n s " , d i r e c t i v e s : { C l i c k O u t s i d e : A . d i r e c t i v e , t o o l t i p : n . d e f a u l t } , p r o p s : { o p e n : { t y p e : B o o l e a n , d e f a u l t : ! 1 } , f o r c e M e n u : { t y p e : B o o l e a n , d e f a u l t : ! 1 } , m e n u A l i g n : { t y p e : S t r i n g , d e f a u l t : " c e n t e r " , v a l i d a t o r : f u n c t i o n ( e ) { r e t u r n [ " l e f t " , " c e n t e r " , " r i g h t " ] . i n d e x O f ( e ) > - 1 } } , d e f a u l t I c o n : { t y p e : S t r i n g , d e f a u l t : " a c t i o n - i t e m _ _ m e n u t o g g l e - - d e f a u l t - i c o n " } , a r i a L a b e l : { t y p e : S t r i n g , d e f a u l t : O b j e c t ( i . b ) ( " A c t i o n s " ) } } , d a t a : f u n c t i o n ( ) { r e t u r n { a c t i o n s : [ ] , o p e n e d : t h i s . o p e n , f o c u s I n d e x : 0 , r a n d o m I d : " m e n u - " + O b j e c t ( a . a ) ( ) , o f f s e t X : 0 , o f f s e t Y : 0 , o f f s e t Y A r r o w : 0 , r o t a t e A r r o w : ! 1 , c h i l d r e n : t h i s . $ c h i l d r e n } } , c o m p u t e d : { h a s M u l t i p l e A c t i o n s : f u n c t i o n ( ) { r e t u r n t h i s . a c t i o n s . l e n g t h > 1 } , i s V a l i d S i n g l e A c t i o n : f u n c t i o n ( ) { r e t u r n 1 = = = t h i s . a c t i o n s . l e n g t h & & n u l l ! = = t h i s . f i r s t A c t i o n E l e m e n t } , f i r s t A c t i o n V N o d e : f u n c t i o n ( ) { r e t u r n t h i s . a c t i o n s [ 0 ] } , f i r s t A c t i o n : f u n c t i o n ( ) { r e t u r n t h i s . c h i l d r e n [ 0 ] ? t h i s . c h i l d r e n [ 0 ] : { } } , f i r s t A c t i o n B i n d i n g : f u n c t i o n ( ) { i f ( t h i s . f i r s t A c t i o n V N o d e & & t h i s . f i r s t A c t i o n V N o d e . c o m p o n e n t O p t i o n s ) { v a r e = t h i s . f i r s t A c t i o n V N o d e . c o m p o n e n t O p t i o n s . t a g ; i f ( " A c t i o n L i n k " = = = e ) r e t u r n { i s : " a " , h r e f : t h i s . f i r s t A c t i o n . h r e f ,
//# sourceMappingURL=AppSidebar.js.map
2020-04-03 17:47:19 +03:00
/***/ } ) ,
2020-07-20 13:30:35 +03:00
/***/ "./node_modules/dompurify/dist/purify.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / dompurify / dist / purify . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
2020-04-03 17:47:19 +03:00
/*! no static exports found */
2020-07-20 13:30:35 +03:00
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
2020-04-03 17:47:19 +03:00
2020-07-20 13:30:35 +03:00
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.0.8/LICENSE */
2020-04-03 17:47:19 +03:00
2020-07-20 13:30:35 +03:00
( function ( global , factory ) {
true ? module . exports = factory ( ) :
undefined ;
} ( this , function ( ) { 'use strict' ;
2020-04-03 17:47:19 +03:00
2020-07-20 13:30:35 +03:00
function _toConsumableArray ( arr ) { if ( Array . isArray ( arr ) ) { for ( var i = 0 , arr2 = Array ( arr . length ) ; i < arr . length ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; } else { return Array . from ( arr ) ; } }
2020-04-03 17:47:19 +03:00
2020-07-20 13:30:35 +03:00
var hasOwnProperty = Object . hasOwnProperty ,
setPrototypeOf = Object . setPrototypeOf ,
isFrozen = Object . isFrozen ,
objectKeys = Object . keys ;
var freeze = Object . freeze ,
seal = Object . seal ; // eslint-disable-line import/no-mutable-exports
var _ref = typeof Reflect !== 'undefined' && Reflect ,
apply = _ref . apply ,
construct = _ref . construct ;
if ( ! apply ) {
apply = function apply ( fun , thisValue , args ) {
return fun . apply ( thisValue , args ) ;
} ;
}
if ( ! freeze ) {
freeze = function freeze ( x ) {
return x ;
} ;
}
if ( ! seal ) {
seal = function seal ( x ) {
return x ;
} ;
}
if ( ! construct ) {
construct = function construct ( Func , args ) {
return new ( Function . prototype . bind . apply ( Func , [ null ] . concat ( _toConsumableArray ( args ) ) ) ) ( ) ;
} ;
}
var arrayForEach = unapply ( Array . prototype . forEach ) ;
var arrayIndexOf = unapply ( Array . prototype . indexOf ) ;
var arrayJoin = unapply ( Array . prototype . join ) ;
var arrayPop = unapply ( Array . prototype . pop ) ;
var arrayPush = unapply ( Array . prototype . push ) ;
var arraySlice = unapply ( Array . prototype . slice ) ;
var stringToLowerCase = unapply ( String . prototype . toLowerCase ) ;
var stringMatch = unapply ( String . prototype . match ) ;
var stringReplace = unapply ( String . prototype . replace ) ;
var stringIndexOf = unapply ( String . prototype . indexOf ) ;
var stringTrim = unapply ( String . prototype . trim ) ;
var regExpTest = unapply ( RegExp . prototype . test ) ;
var regExpCreate = unconstruct ( RegExp ) ;
var typeErrorCreate = unconstruct ( TypeError ) ;
function unapply ( func ) {
return function ( thisArg ) {
for ( var _len = arguments . length , args = Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
args [ _key - 1 ] = arguments [ _key ] ;
}
return apply ( func , thisArg , args ) ;
} ;
}
function unconstruct ( func ) {
return function ( ) {
for ( var _len2 = arguments . length , args = Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
return construct ( func , args ) ;
} ;
}
/* Add properties to a lookup table */
function addToSet ( set , array ) {
if ( setPrototypeOf ) {
// Make 'in' and truthy checks like Boolean(set.constructor)
// independent of any properties defined on Object.prototype.
// Prevent prototype setters from intercepting set as a this value.
setPrototypeOf ( set , null ) ;
}
var l = array . length ;
while ( l -- ) {
var element = array [ l ] ;
if ( typeof element === 'string' ) {
var lcElement = stringToLowerCase ( element ) ;
if ( lcElement !== element ) {
// Config presets (e.g. tags.js, attrs.js) are immutable.
if ( ! isFrozen ( array ) ) {
array [ l ] = lcElement ;
}
element = lcElement ;
}
}
set [ element ] = true ;
}
return set ;
}
/* Shallow clone an object */
function clone ( object ) {
var newObject = { } ;
var property = void 0 ;
for ( property in object ) {
if ( apply ( hasOwnProperty , object , [ property ] ) ) {
newObject [ property ] = object [ property ] ;
}
}
return newObject ;
}
var html = freeze ( [ 'a' , 'abbr' , 'acronym' , 'address' , 'area' , 'article' , 'aside' , 'audio' , 'b' , 'bdi' , 'bdo' , 'big' , 'blink' , 'blockquote' , 'body' , 'br' , 'button' , 'canvas' , 'caption' , 'center' , 'cite' , 'code' , 'col' , 'colgroup' , 'content' , 'data' , 'datalist' , 'dd' , 'decorator' , 'del' , 'details' , 'dfn' , 'dir' , 'div' , 'dl' , 'dt' , 'element' , 'em' , 'fieldset' , 'figcaption' , 'figure' , 'font' , 'footer' , 'form' , 'h1' , 'h2' , 'h3' , 'h4' , 'h5' , 'h6' , 'head' , 'header' , 'hgroup' , 'hr' , 'html' , 'i' , 'img' , 'input' , 'ins' , 'kbd' , 'label' , 'legend' , 'li' , 'main' , 'map' , 'mark' , 'marquee' , 'menu' , 'menuitem' , 'meter' , 'nav' , 'nobr' , 'ol' , 'optgroup' , 'option' , 'output' , 'p' , 'picture' , 'pre' , 'progress' , 'q' , 'rp' , 'rt' , 'ruby' , 's' , 'samp' , 'section' , 'select' , 'shadow' , 'small' , 'source' , 'spacer' , 'span' , 'strike' , 'strong' , 'style' , 'sub' , 'summary' , 'sup' , 'table' , 'tbody' , 'td' , 'template' , 'textarea' , 'tfoot' , 'th' , 'thead' , 'time' , 'tr' , 'track' , 'tt' , 'u' , 'ul' , 'var' , 'video' , 'wbr' ] ) ;
// SVG
var svg = freeze ( [ 'svg' , 'a' , 'altglyph' , 'altglyphdef' , 'altglyphitem' , 'animatecolor' , 'animatemotion' , 'animatetransform' , 'audio' , 'canvas' , 'circle' , 'clippath' , 'defs' , 'desc' , 'ellipse' , 'filter' , 'font' , 'g' , 'glyph' , 'glyphref' , 'hkern' , 'image' , 'line' , 'lineargradient' , 'marker' , 'mask' , 'metadata' , 'mpath' , 'path' , 'pattern' , 'polygon' , 'polyline' , 'radialgradient' , 'rect' , 'stop' , 'style' , 'switch' , 'symbol' , 'text' , 'textpath' , 'title' , 'tref' , 'tspan' , 'video' , 'view' , 'vkern' ] ) ;
var svgFilters = freeze ( [ 'feBlend' , 'feColorMatrix' , 'feComponentTransfer' , 'feComposite' , 'feConvolveMatrix' , 'feDiffuseLighting' , 'feDisplacementMap' , 'feDistantLight' , 'feFlood' , 'feFuncA' , 'feFuncB' , 'feFuncG' , 'feFuncR' , 'feGaussianBlur' , 'feMerge' , 'feMergeNode' , 'feMorphology' , 'feOffset' , 'fePointLight' , 'feSpecularLighting' , 'feSpotLight' , 'feTile' , 'feTurbulence' ] ) ;
var mathMl = freeze ( [ 'math' , 'menclose' , 'merror' , 'mfenced' , 'mfrac' , 'mglyph' , 'mi' , 'mlabeledtr' , 'mmultiscripts' , 'mn' , 'mo' , 'mover' , 'mpadded' , 'mphantom' , 'mroot' , 'mrow' , 'ms' , 'mspace' , 'msqrt' , 'mstyle' , 'msub' , 'msup' , 'msubsup' , 'mtable' , 'mtd' , 'mtext' , 'mtr' , 'munder' , 'munderover' ] ) ;
var text = freeze ( [ '#text' ] ) ;
var html$1 = freeze ( [ 'accept' , 'action' , 'align' , 'alt' , 'autocapitalize' , 'autocomplete' , 'autopictureinpicture' , 'autoplay' , 'background' , 'bgcolor' , 'border' , 'capture' , 'cellpadding' , 'cellspacing' , 'checked' , 'cite' , 'class' , 'clear' , 'color' , 'cols' , 'colspan' , 'controls' , 'controlslist' , 'coords' , 'crossorigin' , 'datetime' , 'decoding' , 'default' , 'dir' , 'disabled' , 'disablepictureinpicture' , 'disableremoteplayback' , 'download' , 'draggable' , 'enctype' , 'enterkeyhint' , 'face' , 'for' , 'headers' , 'height' , 'hidden' , 'high' , 'href' , 'hreflang' , 'id' , 'inputmode' , 'integrity' , 'ismap' , 'kind' , 'label' , 'lang' , 'list' , 'loading' , 'loop' , 'low' , 'max' , 'maxlength' , 'media' , 'method' , 'min' , 'minlength' , 'multiple' , 'muted' , 'name' , 'noshade' , 'novalidate' , 'nowrap' , 'open' , 'optimum' , 'pattern' , 'placeholder' , 'playsinline' , 'poster' , 'preload' , 'pubdate' , 'radiogroup' , 'readonly' , 'rel' , 'required' , 'rev' , 'reversed' , 'role' , 'rows' , 'rowspan' , 'spellcheck' , 'scope' , 'selected' , 'shape' , 'size' , 'sizes' , 'span' , 'srclang' , 'start' , 'src' , 'srcset' , 'step' , 'style' , 'summary' , 'tabindex' , 'title' , 'translate' , 'type' , 'usemap' , 'valign' , 'value' , 'width' , 'xmlns' ] ) ;
var svg$1 = freeze ( [ 'accent-height' , 'accumulate' , 'additive' , 'alignment-baseline' , 'ascent' , 'attributename' , 'attributetype' , 'azimuth' , 'basefrequency' , 'baseline-shift' , 'begin' , 'bias' , 'by' , 'class' , 'clip' , 'clip-path' , 'clip-rule' , 'color' , 'color-interpolation' , 'color-interpolation-filters' , 'color-profile' , 'color-rendering' , 'cx' , 'cy' , 'd' , 'dx' , 'dy' , 'diffuseconstant' , 'direction' , 'display' , 'divisor' , 'dur' , 'edgemode' , 'elevation' , 'end' , 'fill' , 'fill-opacity' , 'fill-rule' , 'filter' , 'filterunits' , 'flood-color' , 'flood-opacity' , 'font-family' , 'font-size' , 'font-size-adjust' , 'font-stretch' , 'font-style' , 'font-variant' , 'font-weight' , 'fx' , 'fy' , 'g1' , 'g2' , 'glyph-name' , 'glyphref' , 'gradientunits' , 'gradienttransform' , 'height' , 'href' , 'id' , 'image-rendering' , 'in' , 'in2' , 'k' , 'k1' , 'k2' , 'k3' , 'k4' , 'kerning' , 'keypoints' , 'keysplines' , 'keytimes' , 'lang' , 'lengthadjust' , 'letter-spacing' , 'kernelmatrix' , 'kernelunitlength' , 'lighting-color' , 'local' , 'marker-end' , 'marker-mid' , 'marker-start' , 'markerheight' , 'markerunits' , 'markerwidth' , 'maskcontentunits' , 'maskunits' , 'max' , 'mask' , 'media' , 'method' , 'mode' , 'min' , 'name' , 'numoctaves' , 'offset' , 'operator' , 'opacity' , 'order' , 'orient' , 'orientation' , 'origin' , 'overflow' , 'paint-order' , 'path' , 'pathlength' , 'patterncontentunits' , 'patterntransform' , 'patternunits' , 'points' , 'preservealpha' , 'preserveaspectratio' , 'primitiveunits' , 'r' , 'rx' , 'ry' , 'radius' , 'refx' , 'refy' , 'repeatcount' , 'repeatdur' , 'restart' , 'result' , 'rotate' , 'scale' , 'seed' , 'shape-rendering' , 'specularconstant' , 'specularexponent' , 'spreadmethod' , 'startoffset' , 'stddeviation' , 'stitchtiles' , 'stop-color' , 'stop-opacity' , 'stroke-dasharray' , 'stroke-dashoffset' , 'stroke-linecap' , 'stroke-linejoin' , 'stroke-miterlimit' , 'stroke-opacity' , 'stroke' , 'stroke-width' , 'style' , 'surfacescale' , 'tabindex' , 'targetx' , 'targety' , 'transform' , 'text-anchor' , 'text-decoration' , 'text-rendering' , 'textlength' , 'type' , 'u1' , 'u2' , 'unicode' , 'values' , 'viewbox' , 'visibility' , 'version' , 'vert-adv-y' , 'vert-origin-x' , 'vert-origin-y' , 'width' , 'word-spacing' , 'wrap' , 'writing-mode' , 'xchannelselector' , 'ychannelselector' , 'x' , 'x1' , 'x2' , 'xmlns' , 'y' , 'y1' , 'y2' , 'z' , 'zoomandpan' ] ) ;
var mathMl$1 = freeze ( [ 'accent' , 'accentunder' , 'align' , 'bevelled' , 'close' , 'columnsalign' , 'columnlines' , 'columnspan' , 'denomalign' , 'depth' , 'dir' , 'display' , 'displaystyle' , 'encoding' , 'fence' , 'frame' , 'height' , 'href' , 'id' , 'largeop' , 'length' , 'linethickness' , 'lspace' , 'lquote' , 'mathbackground' , 'mathcolor' , 'mathsize' , 'mathvariant' , 'maxsize' , 'minsize' , 'movablelimits' , 'notation' , 'numalign' , 'open' , 'rowalign' , 'rowlines' , 'rowspacing' , 'rowspan' , 'rspace' , 'rquote' , 'scriptlevel' , 'scriptminsize' , 'scriptsizemultiplier' , 'selection' , 'separator' , 'separators' , 'stretchy' , 'subscriptshift' , 'supscriptshift' , 'symmetric' , 'voffset' , 'width' , 'xmlns' ] ) ;
var xml = freeze ( [ 'xlink:href' , 'xml:id' , 'xlink:title' , 'xml:space' , 'xmlns:xlink' ] ) ;
// eslint-disable-next-line unicorn/better-regex
var MUSTACHE _EXPR = seal ( /\{\{[\s\S]*|[\s\S]*\}\}/gm ) ; // Specify template detection regex for SAFE_FOR_TEMPLATES mode
var ERB _EXPR = seal ( /<%[\s\S]*|[\s\S]*%>/gm ) ;
var DATA _ATTR = seal ( /^data-[\-\w.\u00B7-\uFFFF]/ ) ; // eslint-disable-line no-useless-escape
var ARIA _ATTR = seal ( /^aria-[\-\w]+$/ ) ; // eslint-disable-line no-useless-escape
var IS _ALLOWED _URI = seal ( /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
) ;
var IS _SCRIPT _OR _DATA = seal ( /^(?:\w+script|data):/i ) ;
var ATTR _WHITESPACE = seal ( /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g // eslint-disable-line no-control-regex
) ;
var _typeof = typeof Symbol === "function" && typeof Symbol . iterator === "symbol" ? function ( obj ) { return typeof obj ; } : function ( obj ) { return obj && typeof Symbol === "function" && obj . constructor === Symbol && obj !== Symbol . prototype ? "symbol" : typeof obj ; } ;
function _toConsumableArray$1 ( arr ) { if ( Array . isArray ( arr ) ) { for ( var i = 0 , arr2 = Array ( arr . length ) ; i < arr . length ; i ++ ) { arr2 [ i ] = arr [ i ] ; } return arr2 ; } else { return Array . from ( arr ) ; } }
var getGlobal = function getGlobal ( ) {
return typeof window === 'undefined' ? null : window ;
} ;
/ * *
* Creates a no - op policy for internal use only .
* Don ' t export this function outside this module !
* @ param { ? TrustedTypePolicyFactory } trustedTypes The policy factory .
* @ param { Document } document The document object ( to determine policy name suffix )
* @ return { ? TrustedTypePolicy } The policy created ( or null , if Trusted Types
* are not supported ) .
* /
var _createTrustedTypesPolicy = function _createTrustedTypesPolicy ( trustedTypes , document ) {
if ( ( typeof trustedTypes === 'undefined' ? 'undefined' : _typeof ( trustedTypes ) ) !== 'object' || typeof trustedTypes . createPolicy !== 'function' ) {
return null ;
}
// Allow the callers to control the unique policy name
// by adding a data-tt-policy-suffix to the script element with the DOMPurify.
// Policy creation with duplicate names throws in Trusted Types.
var suffix = null ;
var ATTR _NAME = 'data-tt-policy-suffix' ;
if ( document . currentScript && document . currentScript . hasAttribute ( ATTR _NAME ) ) {
suffix = document . currentScript . getAttribute ( ATTR _NAME ) ;
}
var policyName = 'dompurify' + ( suffix ? '#' + suffix : '' ) ;
try {
return trustedTypes . createPolicy ( policyName , {
createHTML : function createHTML ( html$$1 ) {
return html$$1 ;
}
} ) ;
} catch ( _ ) {
// Policy creation failed (most likely another DOMPurify script has
// already run). Skip creating the policy, as this will only cause errors
// if TT are enforced.
console . warn ( 'TrustedTypes policy ' + policyName + ' could not be created.' ) ;
return null ;
}
} ;
function createDOMPurify ( ) {
var window = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : getGlobal ( ) ;
var DOMPurify = function DOMPurify ( root ) {
return createDOMPurify ( root ) ;
} ;
/ * *
* Version label , exposed for easier checks
* if DOMPurify is up to date or not
* /
DOMPurify . version = '2.0.12' ;
/ * *
* Array of elements that DOMPurify removed during sanitation .
* Empty if nothing was removed .
* /
DOMPurify . removed = [ ] ;
if ( ! window || ! window . document || window . document . nodeType !== 9 ) {
// Not running in a browser, provide a factory function
// so that you can pass your own Window
DOMPurify . isSupported = false ;
return DOMPurify ;
}
var originalDocument = window . document ;
var removeTitle = false ;
var document = window . document ;
var DocumentFragment = window . DocumentFragment ,
HTMLTemplateElement = window . HTMLTemplateElement ,
Node = window . Node ,
NodeFilter = window . NodeFilter ,
_window$NamedNodeMap = window . NamedNodeMap ,
NamedNodeMap = _window$NamedNodeMap === undefined ? window . NamedNodeMap || window . MozNamedAttrMap : _window$NamedNodeMap ,
Text = window . Text ,
Comment = window . Comment ,
DOMParser = window . DOMParser ,
trustedTypes = window . trustedTypes ;
// As per issue #47, the web-components registry is inherited by a
// new document created via createHTMLDocument. As per the spec
// (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
// a new empty registry is used when creating a template contents owner
// document, so we use that as our parent document to ensure nothing
// is inherited.
if ( typeof HTMLTemplateElement === 'function' ) {
var template = document . createElement ( 'template' ) ;
if ( template . content && template . content . ownerDocument ) {
document = template . content . ownerDocument ;
}
}
var trustedTypesPolicy = _createTrustedTypesPolicy ( trustedTypes , originalDocument ) ;
var emptyHTML = trustedTypesPolicy && RETURN _TRUSTED _TYPE ? trustedTypesPolicy . createHTML ( '' ) : '' ;
var _document = document ,
implementation = _document . implementation ,
createNodeIterator = _document . createNodeIterator ,
getElementsByTagName = _document . getElementsByTagName ,
createDocumentFragment = _document . createDocumentFragment ;
var importNode = originalDocument . importNode ;
var hooks = { } ;
/ * *
* Expose whether this browser supports running the full DOMPurify .
* /
DOMPurify . isSupported = implementation && typeof implementation . createHTMLDocument !== 'undefined' && document . documentMode !== 9 ;
var MUSTACHE _EXPR$$1 = MUSTACHE _EXPR ,
ERB _EXPR$$1 = ERB _EXPR ,
DATA _ATTR$$1 = DATA _ATTR ,
ARIA _ATTR$$1 = ARIA _ATTR ,
IS _SCRIPT _OR _DATA$$1 = IS _SCRIPT _OR _DATA ,
ATTR _WHITESPACE$$1 = ATTR _WHITESPACE ;
var IS _ALLOWED _URI$$1 = IS _ALLOWED _URI ;
/ * *
* We consider the elements and attributes below to be safe . Ideally
* don ' t add any new ones but feel free to remove unwanted ones .
* /
/* allowed element names */
var ALLOWED _TAGS = null ;
var DEFAULT _ALLOWED _TAGS = addToSet ( { } , [ ] . concat ( _toConsumableArray$1 ( html ) , _toConsumableArray$1 ( svg ) , _toConsumableArray$1 ( svgFilters ) , _toConsumableArray$1 ( mathMl ) , _toConsumableArray$1 ( text ) ) ) ;
/* Allowed attribute names */
var ALLOWED _ATTR = null ;
var DEFAULT _ALLOWED _ATTR = addToSet ( { } , [ ] . concat ( _toConsumableArray$1 ( html$1 ) , _toConsumableArray$1 ( svg$1 ) , _toConsumableArray$1 ( mathMl$1 ) , _toConsumableArray$1 ( xml ) ) ) ;
/* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
var FORBID _TAGS = null ;
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
var FORBID _ATTR = null ;
/* Decide if ARIA attributes are okay */
var ALLOW _ARIA _ATTR = true ;
/* Decide if custom data attributes are okay */
var ALLOW _DATA _ATTR = true ;
/* Decide if unknown protocols are okay */
var ALLOW _UNKNOWN _PROTOCOLS = false ;
/* Output should be safe for jQuery's $() factory? */
var SAFE _FOR _JQUERY = false ;
/ * O u t p u t s h o u l d b e s a f e f o r c o m m o n t e m p l a t e e n g i n e s .
* This means , DOMPurify removes data attributes , mustaches and ERB
* /
var SAFE _FOR _TEMPLATES = false ;
/* Decide if document with <html>... should be returned */
var WHOLE _DOCUMENT = false ;
/* Track whether config is already set on this instance of DOMPurify. */
var SET _CONFIG = false ;
/ * D e c i d e i f a l l e l e m e n t s ( e . g . s t y l e , s c r i p t ) m u s t b e c h i l d r e n o f
* document . body . By default , browsers might move them to document . head * /
var FORCE _BODY = false ;
/ * D e c i d e i f a D O M ` H T M L B o d y E l e m e n t ` s h o u l d b e r e t u r n e d , i n s t e a d o f a h t m l
* string ( or a TrustedHTML object if Trusted Types are supported ) .
* If ` WHOLE_DOCUMENT ` is enabled a ` HTMLHtmlElement ` will be returned instead
* /
var RETURN _DOM = false ;
/ * D e c i d e i f a D O M ` D o c u m e n t F r a g m e n t ` s h o u l d b e r e t u r n e d , i n s t e a d o f a h t m l
* string ( or a TrustedHTML object if Trusted Types are supported ) * /
var RETURN _DOM _FRAGMENT = false ;
/ * I f ` R E T U R N _ D O M ` o r ` R E T U R N _ D O M _ F R A G M E N T ` i s e n a b l e d , d e c i d e i f t h e r e t u r n e d D O M
* ` Node ` is imported into the current ` Document ` . If this flag is not enabled the
* ` Node ` will belong ( its ownerDocument ) to a fresh ` HTMLDocument ` , created by
* DOMPurify . * /
var RETURN _DOM _IMPORT = false ;
/ * T r y t o r e t u r n a T r u s t e d T y p e o b j e c t i n s t e a d o f a s t r i n g , r e t r u n a s t r i n g i n
* case Trusted Types are not supported * /
var RETURN _TRUSTED _TYPE = false ;
/* Output should be free from DOM clobbering attacks? */
var SANITIZE _DOM = true ;
/* Keep element content when removing element? */
var KEEP _CONTENT = true ;
/ * I f a ` N o d e ` i s p a s s e d t o s a n i t i z e ( ) , t h e n p e r f o r m s s a n i t i z a t i o n i n - p l a c e i n s t e a d
* of importing it into a new Document and returning a sanitized copy * /
var IN _PLACE = false ;
/* Allow usage of profiles like html, svg and mathMl */
var USE _PROFILES = { } ;
/* Tags to ignore content of when KEEP_CONTENT is true */
var FORBID _CONTENTS = addToSet ( { } , [ 'annotation-xml' , 'audio' , 'colgroup' , 'desc' , 'foreignobject' , 'head' , 'iframe' , 'math' , 'mi' , 'mn' , 'mo' , 'ms' , 'mtext' , 'noembed' , 'noframes' , 'plaintext' , 'script' , 'style' , 'svg' , 'template' , 'thead' , 'title' , 'video' , 'xmp' ] ) ;
/* Tags that are safe for data: URIs */
var DATA _URI _TAGS = null ;
var DEFAULT _DATA _URI _TAGS = addToSet ( { } , [ 'audio' , 'video' , 'img' , 'source' , 'image' , 'track' ] ) ;
/* Attributes safe for values like "javascript:" */
var URI _SAFE _ATTRIBUTES = null ;
var DEFAULT _URI _SAFE _ATTRIBUTES = addToSet ( { } , [ 'alt' , 'class' , 'for' , 'id' , 'label' , 'name' , 'pattern' , 'placeholder' , 'summary' , 'title' , 'value' , 'style' , 'xmlns' ] ) ;
/* Keep a reference to config to pass to hooks */
var CONFIG = null ;
/* Ideally, do not touch anything below this line */
/* ______________________________________________ */
var formElement = document . createElement ( 'form' ) ;
/ * *
* _parseConfig
*
* @ param { Object } cfg optional config literal
* /
// eslint-disable-next-line complexity
var _parseConfig = function _parseConfig ( cfg ) {
if ( CONFIG && CONFIG === cfg ) {
return ;
}
/* Shield configuration object from tampering */
if ( ! cfg || ( typeof cfg === 'undefined' ? 'undefined' : _typeof ( cfg ) ) !== 'object' ) {
cfg = { } ;
}
/* Set configuration parameters */
ALLOWED _TAGS = 'ALLOWED_TAGS' in cfg ? addToSet ( { } , cfg . ALLOWED _TAGS ) : DEFAULT _ALLOWED _TAGS ;
ALLOWED _ATTR = 'ALLOWED_ATTR' in cfg ? addToSet ( { } , cfg . ALLOWED _ATTR ) : DEFAULT _ALLOWED _ATTR ;
URI _SAFE _ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet ( clone ( DEFAULT _URI _SAFE _ATTRIBUTES ) , cfg . ADD _URI _SAFE _ATTR ) : DEFAULT _URI _SAFE _ATTRIBUTES ;
DATA _URI _TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet ( clone ( DEFAULT _DATA _URI _TAGS ) , cfg . ADD _DATA _URI _TAGS ) : DEFAULT _DATA _URI _TAGS ;
FORBID _TAGS = 'FORBID_TAGS' in cfg ? addToSet ( { } , cfg . FORBID _TAGS ) : { } ;
FORBID _ATTR = 'FORBID_ATTR' in cfg ? addToSet ( { } , cfg . FORBID _ATTR ) : { } ;
USE _PROFILES = 'USE_PROFILES' in cfg ? cfg . USE _PROFILES : false ;
ALLOW _ARIA _ATTR = cfg . ALLOW _ARIA _ATTR !== false ; // Default true
ALLOW _DATA _ATTR = cfg . ALLOW _DATA _ATTR !== false ; // Default true
ALLOW _UNKNOWN _PROTOCOLS = cfg . ALLOW _UNKNOWN _PROTOCOLS || false ; // Default false
SAFE _FOR _JQUERY = cfg . SAFE _FOR _JQUERY || false ; // Default false
SAFE _FOR _TEMPLATES = cfg . SAFE _FOR _TEMPLATES || false ; // Default false
WHOLE _DOCUMENT = cfg . WHOLE _DOCUMENT || false ; // Default false
RETURN _DOM = cfg . RETURN _DOM || false ; // Default false
RETURN _DOM _FRAGMENT = cfg . RETURN _DOM _FRAGMENT || false ; // Default false
RETURN _DOM _IMPORT = cfg . RETURN _DOM _IMPORT || false ; // Default false
RETURN _TRUSTED _TYPE = cfg . RETURN _TRUSTED _TYPE || false ; // Default false
FORCE _BODY = cfg . FORCE _BODY || false ; // Default false
SANITIZE _DOM = cfg . SANITIZE _DOM !== false ; // Default true
KEEP _CONTENT = cfg . KEEP _CONTENT !== false ; // Default true
IN _PLACE = cfg . IN _PLACE || false ; // Default false
IS _ALLOWED _URI$$1 = cfg . ALLOWED _URI _REGEXP || IS _ALLOWED _URI$$1 ;
if ( SAFE _FOR _TEMPLATES ) {
ALLOW _DATA _ATTR = false ;
}
if ( RETURN _DOM _FRAGMENT ) {
RETURN _DOM = true ;
}
/* Parse profile info */
if ( USE _PROFILES ) {
ALLOWED _TAGS = addToSet ( { } , [ ] . concat ( _toConsumableArray$1 ( text ) ) ) ;
ALLOWED _ATTR = [ ] ;
if ( USE _PROFILES . html === true ) {
addToSet ( ALLOWED _TAGS , html ) ;
addToSet ( ALLOWED _ATTR , html$1 ) ;
}
if ( USE _PROFILES . svg === true ) {
addToSet ( ALLOWED _TAGS , svg ) ;
addToSet ( ALLOWED _ATTR , svg$1 ) ;
addToSet ( ALLOWED _ATTR , xml ) ;
}
if ( USE _PROFILES . svgFilters === true ) {
addToSet ( ALLOWED _TAGS , svgFilters ) ;
addToSet ( ALLOWED _ATTR , svg$1 ) ;
addToSet ( ALLOWED _ATTR , xml ) ;
}
if ( USE _PROFILES . mathMl === true ) {
addToSet ( ALLOWED _TAGS , mathMl ) ;
addToSet ( ALLOWED _ATTR , mathMl$1 ) ;
addToSet ( ALLOWED _ATTR , xml ) ;
}
}
/* Merge configuration parameters */
if ( cfg . ADD _TAGS ) {
if ( ALLOWED _TAGS === DEFAULT _ALLOWED _TAGS ) {
ALLOWED _TAGS = clone ( ALLOWED _TAGS ) ;
}
addToSet ( ALLOWED _TAGS , cfg . ADD _TAGS ) ;
}
if ( cfg . ADD _ATTR ) {
if ( ALLOWED _ATTR === DEFAULT _ALLOWED _ATTR ) {
ALLOWED _ATTR = clone ( ALLOWED _ATTR ) ;
}
addToSet ( ALLOWED _ATTR , cfg . ADD _ATTR ) ;
}
if ( cfg . ADD _URI _SAFE _ATTR ) {
addToSet ( URI _SAFE _ATTRIBUTES , cfg . ADD _URI _SAFE _ATTR ) ;
}
/* Add #text in case KEEP_CONTENT is set to true */
if ( KEEP _CONTENT ) {
ALLOWED _TAGS [ '#text' ] = true ;
}
/* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
if ( WHOLE _DOCUMENT ) {
addToSet ( ALLOWED _TAGS , [ 'html' , 'head' , 'body' ] ) ;
}
/* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
if ( ALLOWED _TAGS . table ) {
addToSet ( ALLOWED _TAGS , [ 'tbody' ] ) ;
delete FORBID _TAGS . tbody ;
}
// Prevent further manipulation of configuration.
// Not available in IE8, Safari 5, etc.
if ( freeze ) {
freeze ( cfg ) ;
}
CONFIG = cfg ;
} ;
/ * *
* _forceRemove
*
* @ param { Node } node a DOM node
* /
var _forceRemove = function _forceRemove ( node ) {
arrayPush ( DOMPurify . removed , { element : node } ) ;
try {
// eslint-disable-next-line unicorn/prefer-node-remove
node . parentNode . removeChild ( node ) ;
} catch ( _ ) {
node . outerHTML = emptyHTML ;
}
} ;
/ * *
* _removeAttribute
*
* @ param { String } name an Attribute name
* @ param { Node } node a DOM node
* /
var _removeAttribute = function _removeAttribute ( name , node ) {
try {
arrayPush ( DOMPurify . removed , {
attribute : node . getAttributeNode ( name ) ,
from : node
} ) ;
} catch ( _ ) {
arrayPush ( DOMPurify . removed , {
attribute : null ,
from : node
} ) ;
}
node . removeAttribute ( name ) ;
} ;
/ * *
* _initDocument
*
* @ param { String } dirty a string of dirty markup
* @ return { Document } a DOM , filled with the dirty markup
* /
var _initDocument = function _initDocument ( dirty ) {
/* Create a HTML document */
var doc = void 0 ;
var leadingWhitespace = void 0 ;
if ( FORCE _BODY ) {
dirty = '<remove></remove>' + dirty ;
} else {
/* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
var matches = stringMatch ( dirty , /^[\r\n\t ]+/ ) ;
leadingWhitespace = matches && matches [ 0 ] ;
}
var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy . createHTML ( dirty ) : dirty ;
/* Use the DOMParser API by default, fallback later if needs be */
try {
doc = new DOMParser ( ) . parseFromString ( dirtyPayload , 'text/html' ) ;
} catch ( _ ) { }
/* Remove title to fix a mXSS bug in older MS Edge */
if ( removeTitle ) {
addToSet ( FORBID _TAGS , [ 'title' ] ) ;
}
/* Use createHTMLDocument in case DOMParser is not available */
if ( ! doc || ! doc . documentElement ) {
doc = implementation . createHTMLDocument ( '' ) ;
var _doc = doc ,
body = _doc . body ;
body . parentNode . removeChild ( body . parentNode . firstElementChild ) ;
body . outerHTML = dirtyPayload ;
}
if ( dirty && leadingWhitespace ) {
doc . body . insertBefore ( document . createTextNode ( leadingWhitespace ) , doc . body . childNodes [ 0 ] || null ) ;
}
/* Work on whole document or just its body */
return getElementsByTagName . call ( doc , WHOLE _DOCUMENT ? 'html' : 'body' ) [ 0 ] ;
} ;
/* Here we test for a broken feature in Edge that might cause mXSS */
if ( DOMPurify . isSupported ) {
( function ( ) {
try {
var doc = _initDocument ( '<x/><title></title><img>' ) ;
if ( regExpTest ( /<\/title/ , doc . querySelector ( 'title' ) . innerHTML ) ) {
removeTitle = true ;
}
} catch ( _ ) { }
} ) ( ) ;
}
/ * *
* _createIterator
*
* @ param { Document } root document / fragment to create iterator for
* @ return { Iterator } iterator instance
* /
var _createIterator = function _createIterator ( root ) {
return createNodeIterator . call ( root . ownerDocument || root , root , NodeFilter . SHOW _ELEMENT | NodeFilter . SHOW _COMMENT | NodeFilter . SHOW _TEXT , function ( ) {
return NodeFilter . FILTER _ACCEPT ;
} , false ) ;
} ;
/ * *
* _isClobbered
*
* @ param { Node } elm element to check for clobbering attacks
* @ return { Boolean } true if clobbered , false if safe
* /
var _isClobbered = function _isClobbered ( elm ) {
if ( elm instanceof Text || elm instanceof Comment ) {
return false ;
}
if ( typeof elm . nodeName !== 'string' || typeof elm . textContent !== 'string' || typeof elm . removeChild !== 'function' || ! ( elm . attributes instanceof NamedNodeMap ) || typeof elm . removeAttribute !== 'function' || typeof elm . setAttribute !== 'function' || typeof elm . namespaceURI !== 'string' ) {
return true ;
}
return false ;
} ;
/ * *
* _isNode
*
* @ param { Node } obj object to check whether it ' s a DOM node
* @ return { Boolean } true is object is a DOM node
* /
var _isNode = function _isNode ( object ) {
return ( typeof Node === 'undefined' ? 'undefined' : _typeof ( Node ) ) === 'object' ? object instanceof Node : object && ( typeof object === 'undefined' ? 'undefined' : _typeof ( object ) ) === 'object' && typeof object . nodeType === 'number' && typeof object . nodeName === 'string' ;
} ;
/ * *
* _executeHook
* Execute user configurable hooks
*
* @ param { String } entryPoint Name of the hook ' s entry point
* @ param { Node } currentNode node to work on with the hook
* @ param { Object } data additional hook parameters
* /
var _executeHook = function _executeHook ( entryPoint , currentNode , data ) {
if ( ! hooks [ entryPoint ] ) {
return ;
}
arrayForEach ( hooks [ entryPoint ] , function ( hook ) {
hook . call ( DOMPurify , currentNode , data , CONFIG ) ;
} ) ;
} ;
/ * *
* _sanitizeElements
*
* @ protect nodeName
* @ protect textContent
* @ protect removeChild
*
* @ param { Node } currentNode to check for permission to exist
* @ return { Boolean } true if node was killed , false if left alive
* /
// eslint-disable-next-line complexity
var _sanitizeElements = function _sanitizeElements ( currentNode ) {
var content = void 0 ;
/* Execute a hook if present */
_executeHook ( 'beforeSanitizeElements' , currentNode , null ) ;
/* Check if element is clobbered or can clobber */
if ( _isClobbered ( currentNode ) ) {
_forceRemove ( currentNode ) ;
return true ;
}
/* Now let's check the element's type and name */
var tagName = stringToLowerCase ( currentNode . nodeName ) ;
/* Execute a hook if present */
_executeHook ( 'uponSanitizeElement' , currentNode , {
tagName : tagName ,
allowedTags : ALLOWED _TAGS
} ) ;
/* Take care of an mXSS pattern using p, br inside svg, math */
if ( ( tagName === 'svg' || tagName === 'math' ) && currentNode . querySelectorAll ( 'p, br' ) . length !== 0 ) {
_forceRemove ( currentNode ) ;
return true ;
}
/* Remove element if anything forbids its presence */
if ( ! ALLOWED _TAGS [ tagName ] || FORBID _TAGS [ tagName ] ) {
/* Keep content except for bad-listed elements */
if ( KEEP _CONTENT && ! FORBID _CONTENTS [ tagName ] && typeof currentNode . insertAdjacentHTML === 'function' ) {
try {
var htmlToInsert = currentNode . innerHTML ;
currentNode . insertAdjacentHTML ( 'AfterEnd' , trustedTypesPolicy ? trustedTypesPolicy . createHTML ( htmlToInsert ) : htmlToInsert ) ;
} catch ( _ ) { }
}
_forceRemove ( currentNode ) ;
return true ;
}
/* Remove in case a noscript/noembed XSS is suspected */
if ( tagName === 'noscript' && regExpTest ( /<\/noscript/i , currentNode . innerHTML ) ) {
_forceRemove ( currentNode ) ;
return true ;
}
if ( tagName === 'noembed' && regExpTest ( /<\/noembed/i , currentNode . innerHTML ) ) {
_forceRemove ( currentNode ) ;
return true ;
}
/* Convert markup to cover jQuery behavior */
if ( SAFE _FOR _JQUERY && ! currentNode . firstElementChild && ( ! currentNode . content || ! currentNode . content . firstElementChild ) && regExpTest ( /</g , currentNode . textContent ) ) {
arrayPush ( DOMPurify . removed , { element : currentNode . cloneNode ( ) } ) ;
if ( currentNode . innerHTML ) {
currentNode . innerHTML = stringReplace ( currentNode . innerHTML , /</g , '<' ) ;
} else {
currentNode . innerHTML = stringReplace ( currentNode . textContent , /</g , '<' ) ;
}
}
/* Sanitize element content to be template-safe */
if ( SAFE _FOR _TEMPLATES && currentNode . nodeType === 3 ) {
/* Get the element's text content */
content = currentNode . textContent ;
content = stringReplace ( content , MUSTACHE _EXPR$$1 , ' ' ) ;
content = stringReplace ( content , ERB _EXPR$$1 , ' ' ) ;
if ( currentNode . textContent !== content ) {
arrayPush ( DOMPurify . removed , { element : currentNode . cloneNode ( ) } ) ;
currentNode . textContent = content ;
}
}
/* Execute a hook if present */
_executeHook ( 'afterSanitizeElements' , currentNode , null ) ;
return false ;
} ;
/ * *
* _isValidAttribute
*
* @ param { string } lcTag Lowercase tag name of containing element .
* @ param { string } lcName Lowercase attribute name .
* @ param { string } value Attribute value .
* @ return { Boolean } Returns true if ` value ` is valid , otherwise false .
* /
// eslint-disable-next-line complexity
var _isValidAttribute = function _isValidAttribute ( lcTag , lcName , value ) {
/* Make sure attribute cannot clobber */
if ( SANITIZE _DOM && ( lcName === 'id' || lcName === 'name' ) && ( value in document || value in formElement ) ) {
return false ;
}
/ * A l l o w v a l i d d a t a - * a t t r i b u t e s : A t l e a s t o n e c h a r a c t e r a f t e r " - "
( https : //html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
XML - compatible ( https : //html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
We don 't need to check the value; it' s always URI safe . * /
if ( ALLOW _DATA _ATTR && regExpTest ( DATA _ATTR$$1 , lcName ) ) ; else if ( ALLOW _ARIA _ATTR && regExpTest ( ARIA _ATTR$$1 , lcName ) ) ; else if ( ! ALLOWED _ATTR [ lcName ] || FORBID _ATTR [ lcName ] ) {
return false ;
/* Check value is safe. First, is attr inert? If so, is safe */
} else if ( URI _SAFE _ATTRIBUTES [ lcName ] ) ; else if ( regExpTest ( IS _ALLOWED _URI$$1 , stringReplace ( value , ATTR _WHITESPACE$$1 , '' ) ) ) ; else if ( ( lcName === 'src' || lcName === 'xlink:href' || lcName === 'href' ) && lcTag !== 'script' && stringIndexOf ( value , 'data:' ) === 0 && DATA _URI _TAGS [ lcTag ] ) ; else if ( ALLOW _UNKNOWN _PROTOCOLS && ! regExpTest ( IS _SCRIPT _OR _DATA$$1 , stringReplace ( value , ATTR _WHITESPACE$$1 , '' ) ) ) ; else if ( ! value ) ; else {
return false ;
}
return true ;
} ;
/ * *
* _sanitizeAttributes
*
* @ protect attributes
* @ protect nodeName
* @ protect removeAttribute
* @ protect setAttribute
*
* @ param { Node } currentNode to sanitize
* /
// eslint-disable-next-line complexity
var _sanitizeAttributes = function _sanitizeAttributes ( currentNode ) {
var attr = void 0 ;
var value = void 0 ;
var lcName = void 0 ;
var idAttr = void 0 ;
var l = void 0 ;
/* Execute a hook if present */
_executeHook ( 'beforeSanitizeAttributes' , currentNode , null ) ;
var attributes = currentNode . attributes ;
/* Check if we have attributes; if not we might have a text node */
if ( ! attributes ) {
return ;
}
var hookEvent = {
attrName : '' ,
attrValue : '' ,
keepAttr : true ,
allowedAttributes : ALLOWED _ATTR
} ;
l = attributes . length ;
/* Go backwards over all attributes; safely remove bad ones */
while ( l -- ) {
attr = attributes [ l ] ;
var _attr = attr ,
name = _attr . name ,
namespaceURI = _attr . namespaceURI ;
value = stringTrim ( attr . value ) ;
lcName = stringToLowerCase ( name ) ;
/* Execute a hook if present */
hookEvent . attrName = lcName ;
hookEvent . attrValue = value ;
hookEvent . keepAttr = true ;
hookEvent . forceKeepAttr = undefined ; // Allows developers to see this is a property they can set
_executeHook ( 'uponSanitizeAttribute' , currentNode , hookEvent ) ;
value = hookEvent . attrValue ;
/* Did the hooks approve of the attribute? */
if ( hookEvent . forceKeepAttr ) {
continue ;
}
/* Remove attribute */
// Safari (iOS + Mac), last tested v8.0.5, crashes if you try to
// remove a "name" attribute from an <img> tag that has an "id"
// attribute at the time.
if ( lcName === 'name' && currentNode . nodeName === 'IMG' && attributes . id ) {
idAttr = attributes . id ;
attributes = arraySlice ( attributes , [ ] ) ;
_removeAttribute ( 'id' , currentNode ) ;
_removeAttribute ( name , currentNode ) ;
if ( arrayIndexOf ( attributes , idAttr ) > l ) {
currentNode . setAttribute ( 'id' , idAttr . value ) ;
}
} else if (
// This works around a bug in Safari, where input[type=file]
// cannot be dynamically set after type has been removed
currentNode . nodeName === 'INPUT' && lcName === 'type' && value === 'file' && hookEvent . keepAttr && ( ALLOWED _ATTR [ lcName ] || ! FORBID _ATTR [ lcName ] ) ) {
continue ;
} else {
// This avoids a crash in Safari v9.0 with double-ids.
// The trick is to first set the id to be empty and then to
// remove the attribute
if ( name === 'id' ) {
currentNode . setAttribute ( name , '' ) ;
}
_removeAttribute ( name , currentNode ) ;
}
/* Did the hooks approve of the attribute? */
if ( ! hookEvent . keepAttr ) {
continue ;
}
/* Work around a security issue in jQuery 3.0 */
if ( SAFE _FOR _JQUERY && regExpTest ( /\/>/i , value ) ) {
_removeAttribute ( name , currentNode ) ;
continue ;
}
/* Take care of an mXSS pattern using namespace switches */
if ( regExpTest ( /svg|math/i , currentNode . namespaceURI ) && regExpTest ( regExpCreate ( '</(' + arrayJoin ( objectKeys ( FORBID _CONTENTS ) , '|' ) + ')' , 'i' ) , value ) ) {
_removeAttribute ( name , currentNode ) ;
continue ;
}
/* Sanitize attribute content to be template-safe */
if ( SAFE _FOR _TEMPLATES ) {
value = stringReplace ( value , MUSTACHE _EXPR$$1 , ' ' ) ;
value = stringReplace ( value , ERB _EXPR$$1 , ' ' ) ;
}
/* Is `value` valid for this attribute? */
var lcTag = currentNode . nodeName . toLowerCase ( ) ;
if ( ! _isValidAttribute ( lcTag , lcName , value ) ) {
continue ;
}
/* Handle invalid data-* attribute set by try-catching it */
try {
if ( namespaceURI ) {
currentNode . setAttributeNS ( namespaceURI , name , value ) ;
} else {
/* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
currentNode . setAttribute ( name , value ) ;
}
arrayPop ( DOMPurify . removed ) ;
} catch ( _ ) { }
}
/* Execute a hook if present */
_executeHook ( 'afterSanitizeAttributes' , currentNode , null ) ;
} ;
/ * *
* _sanitizeShadowDOM
*
* @ param { DocumentFragment } fragment to iterate over recursively
* /
var _sanitizeShadowDOM = function _sanitizeShadowDOM ( fragment ) {
var shadowNode = void 0 ;
var shadowIterator = _createIterator ( fragment ) ;
/* Execute a hook if present */
_executeHook ( 'beforeSanitizeShadowDOM' , fragment , null ) ;
while ( shadowNode = shadowIterator . nextNode ( ) ) {
/* Execute a hook if present */
_executeHook ( 'uponSanitizeShadowNode' , shadowNode , null ) ;
/* Sanitize tags and elements */
if ( _sanitizeElements ( shadowNode ) ) {
continue ;
}
/* Deep shadow DOM detected */
if ( shadowNode . content instanceof DocumentFragment ) {
_sanitizeShadowDOM ( shadowNode . content ) ;
}
/* Check attributes, sanitize if necessary */
_sanitizeAttributes ( shadowNode ) ;
}
/* Execute a hook if present */
_executeHook ( 'afterSanitizeShadowDOM' , fragment , null ) ;
} ;
/ * *
* Sanitize
* Public method providing core sanitation functionality
*
* @ param { String | Node } dirty string or DOM node
* @ param { Object } configuration object
* /
// eslint-disable-next-line complexity
DOMPurify . sanitize = function ( dirty , cfg ) {
var body = void 0 ;
var importedNode = void 0 ;
var currentNode = void 0 ;
var oldNode = void 0 ;
var returnNode = void 0 ;
/ * M a k e s u r e w e h a v e a s t r i n g t o s a n i t i z e .
DO NOT return early , as this will return the wrong type if
the user has requested a DOM object rather than a string * /
if ( ! dirty ) {
dirty = '<!-->' ;
}
/* Stringify, in case dirty is an object */
if ( typeof dirty !== 'string' && ! _isNode ( dirty ) ) {
// eslint-disable-next-line no-negated-condition
if ( typeof dirty . toString !== 'function' ) {
throw typeErrorCreate ( 'toString is not a function' ) ;
} else {
dirty = dirty . toString ( ) ;
if ( typeof dirty !== 'string' ) {
throw typeErrorCreate ( 'dirty is not a string, aborting' ) ;
}
}
}
/* Check we can run. Otherwise fall back or ignore */
if ( ! DOMPurify . isSupported ) {
if ( _typeof ( window . toStaticHTML ) === 'object' || typeof window . toStaticHTML === 'function' ) {
if ( typeof dirty === 'string' ) {
return window . toStaticHTML ( dirty ) ;
}
if ( _isNode ( dirty ) ) {
return window . toStaticHTML ( dirty . outerHTML ) ;
}
}
return dirty ;
}
/* Assign config vars */
if ( ! SET _CONFIG ) {
_parseConfig ( cfg ) ;
}
/* Clean up removed elements */
DOMPurify . removed = [ ] ;
/* Check if dirty is correctly typed for IN_PLACE */
if ( typeof dirty === 'string' ) {
IN _PLACE = false ;
}
if ( IN _PLACE ) ; else if ( dirty instanceof Node ) {
/ * I f d i r t y i s a D O M e l e m e n t , a p p e n d t o a n e m p t y d o c u m e n t t o a v o i d
elements being stripped by the parser * /
body = _initDocument ( '<!-->' ) ;
importedNode = body . ownerDocument . importNode ( dirty , true ) ;
if ( importedNode . nodeType === 1 && importedNode . nodeName === 'BODY' ) {
/* Node is already a body, use as is */
body = importedNode ;
} else if ( importedNode . nodeName === 'HTML' ) {
body = importedNode ;
} else {
// eslint-disable-next-line unicorn/prefer-node-append
body . appendChild ( importedNode ) ;
}
} else {
/* Exit directly if we have nothing to do */
if ( ! RETURN _DOM && ! SAFE _FOR _TEMPLATES && ! WHOLE _DOCUMENT &&
// eslint-disable-next-line unicorn/prefer-includes
dirty . indexOf ( '<' ) === - 1 ) {
return trustedTypesPolicy && RETURN _TRUSTED _TYPE ? trustedTypesPolicy . createHTML ( dirty ) : dirty ;
}
/* Initialize the document to work on */
body = _initDocument ( dirty ) ;
/* Check we have a DOM node from the data */
if ( ! body ) {
return RETURN _DOM ? null : emptyHTML ;
}
}
/* Remove first element node (ours) if FORCE_BODY is set */
if ( body && FORCE _BODY ) {
_forceRemove ( body . firstChild ) ;
}
/* Get node iterator */
var nodeIterator = _createIterator ( IN _PLACE ? dirty : body ) ;
/* Now start iterating over the created document */
while ( currentNode = nodeIterator . nextNode ( ) ) {
/* Fix IE's strange behavior with manipulated textNodes #89 */
if ( currentNode . nodeType === 3 && currentNode === oldNode ) {
continue ;
}
/* Sanitize tags and elements */
if ( _sanitizeElements ( currentNode ) ) {
continue ;
}
/* Shadow DOM detected, sanitize it */
if ( currentNode . content instanceof DocumentFragment ) {
_sanitizeShadowDOM ( currentNode . content ) ;
}
/* Check attributes, sanitize if necessary */
_sanitizeAttributes ( currentNode ) ;
oldNode = currentNode ;
}
oldNode = null ;
/* If we sanitized `dirty` in-place, return it. */
if ( IN _PLACE ) {
return dirty ;
}
/* Return sanitized string or DOM */
if ( RETURN _DOM ) {
if ( RETURN _DOM _FRAGMENT ) {
returnNode = createDocumentFragment . call ( body . ownerDocument ) ;
while ( body . firstChild ) {
// eslint-disable-next-line unicorn/prefer-node-append
returnNode . appendChild ( body . firstChild ) ;
}
} else {
returnNode = body ;
}
if ( RETURN _DOM _IMPORT ) {
/ *
AdoptNode ( ) is not used because internal state is not reset
( e . g . the past names map of a HTMLFormElement ) , this is safe
in theory but we would rather not risk another attack vector .
The state that is cloned by importNode ( ) is explicitly defined
by the specs .
* /
returnNode = importNode . call ( originalDocument , returnNode , true ) ;
}
return returnNode ;
}
var serializedHTML = WHOLE _DOCUMENT ? body . outerHTML : body . innerHTML ;
/* Sanitize final string template-safe */
if ( SAFE _FOR _TEMPLATES ) {
serializedHTML = stringReplace ( serializedHTML , MUSTACHE _EXPR$$1 , ' ' ) ;
serializedHTML = stringReplace ( serializedHTML , ERB _EXPR$$1 , ' ' ) ;
}
return trustedTypesPolicy && RETURN _TRUSTED _TYPE ? trustedTypesPolicy . createHTML ( serializedHTML ) : serializedHTML ;
} ;
/ * *
* Public method to set the configuration once
* setConfig
*
* @ param { Object } cfg configuration object
* /
DOMPurify . setConfig = function ( cfg ) {
_parseConfig ( cfg ) ;
SET _CONFIG = true ;
} ;
/ * *
* Public method to remove the configuration
* clearConfig
*
* /
DOMPurify . clearConfig = function ( ) {
CONFIG = null ;
SET _CONFIG = false ;
} ;
/ * *
* Public method to check if an attribute value is valid .
* Uses last set config , if any . Otherwise , uses config defaults .
* isValidAttribute
*
* @ param { string } tag Tag name of containing element .
* @ param { string } attr Attribute name .
* @ param { string } value Attribute value .
* @ return { Boolean } Returns true if ` value ` is valid . Otherwise , returns false .
* /
DOMPurify . isValidAttribute = function ( tag , attr , value ) {
/* Initialize shared config vars if necessary. */
if ( ! CONFIG ) {
_parseConfig ( { } ) ;
}
var lcTag = stringToLowerCase ( tag ) ;
var lcName = stringToLowerCase ( attr ) ;
return _isValidAttribute ( lcTag , lcName , value ) ;
} ;
/ * *
* AddHook
* Public method to add DOMPurify hooks
*
* @ param { String } entryPoint entry point for the hook to add
* @ param { Function } hookFunction function to execute
* /
DOMPurify . addHook = function ( entryPoint , hookFunction ) {
if ( typeof hookFunction !== 'function' ) {
return ;
}
hooks [ entryPoint ] = hooks [ entryPoint ] || [ ] ;
arrayPush ( hooks [ entryPoint ] , hookFunction ) ;
} ;
/ * *
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* ( pops it from the stack of hooks if more are present )
*
* @ param { String } entryPoint entry point for the hook to remove
* /
DOMPurify . removeHook = function ( entryPoint ) {
if ( hooks [ entryPoint ] ) {
arrayPop ( hooks [ entryPoint ] ) ;
}
} ;
/ * *
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @ param { String } entryPoint entry point for the hooks to remove
* /
DOMPurify . removeHooks = function ( entryPoint ) {
if ( hooks [ entryPoint ] ) {
hooks [ entryPoint ] = [ ] ;
}
} ;
/ * *
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
* /
DOMPurify . removeAllHooks = function ( ) {
hooks = { } ;
} ;
return DOMPurify ;
}
var purify = createDOMPurify ( ) ;
return purify ;
} ) ) ;
//# sourceMappingURL=purify.js.map
/***/ } ) ,
/***/ "./node_modules/marked/lib/marked.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / marked / lib / marked . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/*! no static exports found */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
/ * *
* marked - a markdown parser
* Copyright ( c ) 2011 - 2020 , Christopher Jeffrey . ( MIT Licensed )
* https : //github.com/markedjs/marked
* /
/ * *
* DO NOT EDIT THIS FILE
* The code in this file is generated from files in . / src /
* /
( function ( global , factory ) {
true ? module . exports = factory ( ) :
undefined ;
} ( this , ( function ( ) { 'use strict' ;
function _defineProperties ( target , props ) {
for ( var i = 0 ; i < props . length ; i ++ ) {
var descriptor = props [ i ] ;
descriptor . enumerable = descriptor . enumerable || false ;
descriptor . configurable = true ;
if ( "value" in descriptor ) descriptor . writable = true ;
Object . defineProperty ( target , descriptor . key , descriptor ) ;
}
}
function _createClass ( Constructor , protoProps , staticProps ) {
if ( protoProps ) _defineProperties ( Constructor . prototype , protoProps ) ;
if ( staticProps ) _defineProperties ( Constructor , staticProps ) ;
return Constructor ;
}
function _unsupportedIterableToArray ( o , minLen ) {
if ( ! o ) return ;
if ( typeof o === "string" ) return _arrayLikeToArray ( o , minLen ) ;
var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ;
if ( n === "Object" && o . constructor ) n = o . constructor . name ;
if ( n === "Map" || n === "Set" ) return Array . from ( o ) ;
if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return _arrayLikeToArray ( o , minLen ) ;
}
function _arrayLikeToArray ( arr , len ) {
if ( len == null || len > arr . length ) len = arr . length ;
for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) arr2 [ i ] = arr [ i ] ;
return arr2 ;
}
function _createForOfIteratorHelperLoose ( o ) {
var i = 0 ;
if ( typeof Symbol === "undefined" || o [ Symbol . iterator ] == null ) {
if ( Array . isArray ( o ) || ( o = _unsupportedIterableToArray ( o ) ) ) return function ( ) {
if ( i >= o . length ) return {
done : true
} ;
return {
done : false ,
value : o [ i ++ ]
} ;
} ;
throw new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
}
i = o [ Symbol . iterator ] ( ) ;
return i . next . bind ( i ) ;
}
function createCommonjsModule ( fn , module ) {
return module = { exports : { } } , fn ( module , module . exports ) , module . exports ;
}
var defaults = createCommonjsModule ( function ( module ) {
function getDefaults ( ) {
return {
baseUrl : null ,
breaks : false ,
gfm : true ,
headerIds : true ,
headerPrefix : '' ,
highlight : null ,
langPrefix : 'language-' ,
mangle : true ,
pedantic : false ,
renderer : null ,
sanitize : false ,
sanitizer : null ,
silent : false ,
smartLists : false ,
smartypants : false ,
tokenizer : null ,
walkTokens : null ,
xhtml : false
} ;
}
function changeDefaults ( newDefaults ) {
module . exports . defaults = newDefaults ;
}
module . exports = {
defaults : getDefaults ( ) ,
getDefaults : getDefaults ,
changeDefaults : changeDefaults
} ;
} ) ;
var defaults _1 = defaults . defaults ;
var defaults _2 = defaults . getDefaults ;
var defaults _3 = defaults . changeDefaults ;
/ * *
* Helpers
* /
var escapeTest = /[&<>"']/ ;
var escapeReplace = /[&<>"']/g ;
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/ ;
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g ;
var escapeReplacements = {
'&' : '&' ,
'<' : '<' ,
'>' : '>' ,
'"' : '"' ,
"'" : '''
} ;
var getEscapeReplacement = function getEscapeReplacement ( ch ) {
return escapeReplacements [ ch ] ;
} ;
function escape ( html , encode ) {
if ( encode ) {
if ( escapeTest . test ( html ) ) {
return html . replace ( escapeReplace , getEscapeReplacement ) ;
}
} else {
if ( escapeTestNoEncode . test ( html ) ) {
return html . replace ( escapeReplaceNoEncode , getEscapeReplacement ) ;
}
}
return html ;
}
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig ;
function unescape ( html ) {
// explicitly match decimal, hex, and named HTML entities
return html . replace ( unescapeTest , function ( _ , n ) {
n = n . toLowerCase ( ) ;
if ( n === 'colon' ) return ':' ;
if ( n . charAt ( 0 ) === '#' ) {
return n . charAt ( 1 ) === 'x' ? String . fromCharCode ( parseInt ( n . substring ( 2 ) , 16 ) ) : String . fromCharCode ( + n . substring ( 1 ) ) ;
}
return '' ;
} ) ;
}
var caret = /(^|[^\[])\^/g ;
function edit ( regex , opt ) {
regex = regex . source || regex ;
opt = opt || '' ;
var obj = {
replace : function replace ( name , val ) {
val = val . source || val ;
val = val . replace ( caret , '$1' ) ;
regex = regex . replace ( name , val ) ;
return obj ;
} ,
getRegex : function getRegex ( ) {
return new RegExp ( regex , opt ) ;
}
} ;
return obj ;
}
var nonWordAndColonTest = /[^\w:]/g ;
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i ;
function cleanUrl ( sanitize , base , href ) {
if ( sanitize ) {
var prot ;
try {
prot = decodeURIComponent ( unescape ( href ) ) . replace ( nonWordAndColonTest , '' ) . toLowerCase ( ) ;
} catch ( e ) {
return null ;
}
if ( prot . indexOf ( 'javascript:' ) === 0 || prot . indexOf ( 'vbscript:' ) === 0 || prot . indexOf ( 'data:' ) === 0 ) {
return null ;
}
}
if ( base && ! originIndependentUrl . test ( href ) ) {
href = resolveUrl ( base , href ) ;
}
try {
href = encodeURI ( href ) . replace ( /%25/g , '%' ) ;
} catch ( e ) {
return null ;
}
return href ;
}
var baseUrls = { } ;
var justDomain = /^[^:]+:\/*[^/]*$/ ;
var protocol = /^([^:]+:)[\s\S]*$/ ;
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/ ;
function resolveUrl ( base , href ) {
if ( ! baseUrls [ ' ' + base ] ) {
// we can ignore everything in base after the last slash of its path component,
// but we might need to add _that_
// https://tools.ietf.org/html/rfc3986#section-3
if ( justDomain . test ( base ) ) {
baseUrls [ ' ' + base ] = base + '/' ;
} else {
baseUrls [ ' ' + base ] = rtrim ( base , '/' , true ) ;
}
}
base = baseUrls [ ' ' + base ] ;
var relativeBase = base . indexOf ( ':' ) === - 1 ;
if ( href . substring ( 0 , 2 ) === '//' ) {
if ( relativeBase ) {
return href ;
}
return base . replace ( protocol , '$1' ) + href ;
} else if ( href . charAt ( 0 ) === '/' ) {
if ( relativeBase ) {
return href ;
}
return base . replace ( domain , '$1' ) + href ;
} else {
return base + href ;
}
}
var noopTest = {
exec : function noopTest ( ) { }
} ;
function merge ( obj ) {
var i = 1 ,
target ,
key ;
for ( ; i < arguments . length ; i ++ ) {
target = arguments [ i ] ;
for ( key in target ) {
if ( Object . prototype . hasOwnProperty . call ( target , key ) ) {
obj [ key ] = target [ key ] ;
}
}
}
return obj ;
}
function splitCells ( tableRow , count ) {
// ensure that every cell-delimiting pipe has a space
// before it to distinguish it from an escaped pipe
var row = tableRow . replace ( /\|/g , function ( match , offset , str ) {
var escaped = false ,
curr = offset ;
while ( -- curr >= 0 && str [ curr ] === '\\' ) {
escaped = ! escaped ;
}
if ( escaped ) {
// odd number of slashes means | is escaped
// so we leave it alone
return '|' ;
} else {
// add space before unescaped |
return ' |' ;
}
} ) ,
cells = row . split ( / \|/ ) ;
var i = 0 ;
if ( cells . length > count ) {
cells . splice ( count ) ;
} else {
while ( cells . length < count ) {
cells . push ( '' ) ;
}
}
for ( ; i < cells . length ; i ++ ) {
// leading or trailing whitespace is ignored per the gfm spec
cells [ i ] = cells [ i ] . trim ( ) . replace ( /\\\|/g , '|' ) ;
}
return cells ;
} // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
// /c*$/ is vulnerable to REDOS.
// invert: Remove suffix of non-c chars instead. Default falsey.
function rtrim ( str , c , invert ) {
var l = str . length ;
if ( l === 0 ) {
return '' ;
} // Length of suffix matching the invert condition.
var suffLen = 0 ; // Step left until we fail to match the invert condition.
while ( suffLen < l ) {
var currChar = str . charAt ( l - suffLen - 1 ) ;
if ( currChar === c && ! invert ) {
suffLen ++ ;
} else if ( currChar !== c && invert ) {
suffLen ++ ;
} else {
break ;
}
}
return str . substr ( 0 , l - suffLen ) ;
}
function findClosingBracket ( str , b ) {
if ( str . indexOf ( b [ 1 ] ) === - 1 ) {
return - 1 ;
}
var l = str . length ;
var level = 0 ,
i = 0 ;
for ( ; i < l ; i ++ ) {
if ( str [ i ] === '\\' ) {
i ++ ;
} else if ( str [ i ] === b [ 0 ] ) {
level ++ ;
} else if ( str [ i ] === b [ 1 ] ) {
level -- ;
if ( level < 0 ) {
return i ;
}
}
}
return - 1 ;
}
function checkSanitizeDeprecation ( opt ) {
if ( opt && opt . sanitize && ! opt . silent ) {
console . warn ( 'marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options' ) ;
}
}
var helpers = {
escape : escape ,
unescape : unescape ,
edit : edit ,
cleanUrl : cleanUrl ,
resolveUrl : resolveUrl ,
noopTest : noopTest ,
merge : merge ,
splitCells : splitCells ,
rtrim : rtrim ,
findClosingBracket : findClosingBracket ,
checkSanitizeDeprecation : checkSanitizeDeprecation
} ;
var defaults$1 = defaults . defaults ;
var rtrim$1 = helpers . rtrim ,
splitCells$1 = helpers . splitCells ,
_escape = helpers . escape ,
findClosingBracket$1 = helpers . findClosingBracket ;
function outputLink ( cap , link , raw ) {
var href = link . href ;
var title = link . title ? _escape ( link . title ) : null ;
if ( cap [ 0 ] . charAt ( 0 ) !== '!' ) {
return {
type : 'link' ,
raw : raw ,
href : href ,
title : title ,
text : cap [ 1 ]
} ;
} else {
return {
type : 'image' ,
raw : raw ,
text : _escape ( cap [ 1 ] ) ,
href : href ,
title : title
} ;
}
}
function indentCodeCompensation ( raw , text ) {
var matchIndentToCode = raw . match ( /^(\s+)(?:```)/ ) ;
if ( matchIndentToCode === null ) {
return text ;
}
var indentToCode = matchIndentToCode [ 1 ] ;
return text . split ( '\n' ) . map ( function ( node ) {
var matchIndentInNode = node . match ( /^\s+/ ) ;
if ( matchIndentInNode === null ) {
return node ;
}
var indentInNode = matchIndentInNode [ 0 ] ;
if ( indentInNode . length >= indentToCode . length ) {
return node . slice ( indentToCode . length ) ;
}
return node ;
} ) . join ( '\n' ) ;
}
/ * *
* Tokenizer
* /
var Tokenizer _1 = /*#__PURE__*/ function ( ) {
function Tokenizer ( options ) {
this . options = options || defaults$1 ;
}
var _proto = Tokenizer . prototype ;
_proto . space = function space ( src ) {
var cap = this . rules . block . newline . exec ( src ) ;
if ( cap ) {
if ( cap [ 0 ] . length > 1 ) {
return {
type : 'space' ,
raw : cap [ 0 ]
} ;
}
return {
raw : '\n'
} ;
}
} ;
_proto . code = function code ( src , tokens ) {
var cap = this . rules . block . code . exec ( src ) ;
if ( cap ) {
var lastToken = tokens [ tokens . length - 1 ] ; // An indented code block cannot interrupt a paragraph.
if ( lastToken && lastToken . type === 'paragraph' ) {
return {
raw : cap [ 0 ] ,
text : cap [ 0 ] . trimRight ( )
} ;
}
var text = cap [ 0 ] . replace ( /^ {4}/gm , '' ) ;
return {
type : 'code' ,
raw : cap [ 0 ] ,
codeBlockStyle : 'indented' ,
text : ! this . options . pedantic ? rtrim$1 ( text , '\n' ) : text
} ;
}
} ;
_proto . fences = function fences ( src ) {
var cap = this . rules . block . fences . exec ( src ) ;
if ( cap ) {
var raw = cap [ 0 ] ;
var text = indentCodeCompensation ( raw , cap [ 3 ] || '' ) ;
return {
type : 'code' ,
raw : raw ,
lang : cap [ 2 ] ? cap [ 2 ] . trim ( ) : cap [ 2 ] ,
text : text
} ;
}
} ;
_proto . heading = function heading ( src ) {
var cap = this . rules . block . heading . exec ( src ) ;
if ( cap ) {
return {
type : 'heading' ,
raw : cap [ 0 ] ,
depth : cap [ 1 ] . length ,
text : cap [ 2 ]
} ;
}
} ;
_proto . nptable = function nptable ( src ) {
var cap = this . rules . block . nptable . exec ( src ) ;
if ( cap ) {
var item = {
type : 'table' ,
header : splitCells$1 ( cap [ 1 ] . replace ( /^ *| *\| *$/g , '' ) ) ,
align : cap [ 2 ] . replace ( /^ *|\| *$/g , '' ) . split ( / *\| */ ) ,
cells : cap [ 3 ] ? cap [ 3 ] . replace ( /\n$/ , '' ) . split ( '\n' ) : [ ] ,
raw : cap [ 0 ]
} ;
if ( item . header . length === item . align . length ) {
var l = item . align . length ;
var i ;
for ( i = 0 ; i < l ; i ++ ) {
if ( /^ *-+: *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'right' ;
} else if ( /^ *:-+: *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'center' ;
} else if ( /^ *:-+ *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'left' ;
} else {
item . align [ i ] = null ;
}
}
l = item . cells . length ;
for ( i = 0 ; i < l ; i ++ ) {
item . cells [ i ] = splitCells$1 ( item . cells [ i ] , item . header . length ) ;
}
return item ;
}
}
} ;
_proto . hr = function hr ( src ) {
var cap = this . rules . block . hr . exec ( src ) ;
if ( cap ) {
return {
type : 'hr' ,
raw : cap [ 0 ]
} ;
}
} ;
_proto . blockquote = function blockquote ( src ) {
var cap = this . rules . block . blockquote . exec ( src ) ;
if ( cap ) {
var text = cap [ 0 ] . replace ( /^ *> ?/gm , '' ) ;
return {
type : 'blockquote' ,
raw : cap [ 0 ] ,
text : text
} ;
}
} ;
_proto . list = function list ( src ) {
var cap = this . rules . block . list . exec ( src ) ;
if ( cap ) {
var raw = cap [ 0 ] ;
var bull = cap [ 2 ] ;
var isordered = bull . length > 1 ;
var list = {
type : 'list' ,
raw : raw ,
ordered : isordered ,
start : isordered ? + bull : '' ,
loose : false ,
items : [ ]
} ; // Get each top-level item.
var itemMatch = cap [ 0 ] . match ( this . rules . block . item ) ;
var next = false ,
item ,
space ,
b ,
addBack ,
loose ,
istask ,
ischecked ;
var l = itemMatch . length ;
for ( var i = 0 ; i < l ; i ++ ) {
item = itemMatch [ i ] ;
raw = item ; // Remove the list item's bullet
// so it is seen as the next token.
space = item . length ;
item = item . replace ( /^ *([*+-]|\d+\.) */ , '' ) ; // Outdent whatever the
// list item contains. Hacky.
if ( ~ item . indexOf ( '\n ' ) ) {
space -= item . length ;
item = ! this . options . pedantic ? item . replace ( new RegExp ( '^ {1,' + space + '}' , 'gm' ) , '' ) : item . replace ( /^ {1,4}/gm , '' ) ;
} // Determine whether the next list item belongs here.
// Backpedal if it does not belong in this list.
if ( i !== l - 1 ) {
b = this . rules . block . bullet . exec ( itemMatch [ i + 1 ] ) [ 0 ] ;
if ( bull . length > 1 ? b . length === 1 : b . length > 1 || this . options . smartLists && b !== bull ) {
addBack = itemMatch . slice ( i + 1 ) . join ( '\n' ) ;
list . raw = list . raw . substring ( 0 , list . raw . length - addBack . length ) ;
i = l - 1 ;
}
} // Determine whether item is loose or not.
// Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
// for discount behavior.
loose = next || /\n\n(?!\s*$)/ . test ( item ) ;
if ( i !== l - 1 ) {
next = item . charAt ( item . length - 1 ) === '\n' ;
if ( ! loose ) loose = next ;
}
if ( loose ) {
list . loose = true ;
} // Check for task list items
istask = /^\[[ xX]\] / . test ( item ) ;
ischecked = undefined ;
if ( istask ) {
ischecked = item [ 1 ] !== ' ' ;
item = item . replace ( /^\[[ xX]\] +/ , '' ) ;
}
list . items . push ( {
type : 'list_item' ,
raw : raw ,
task : istask ,
checked : ischecked ,
loose : loose ,
text : item
} ) ;
}
return list ;
}
} ;
_proto . html = function html ( src ) {
var cap = this . rules . block . html . exec ( src ) ;
if ( cap ) {
return {
type : this . options . sanitize ? 'paragraph' : 'html' ,
raw : cap [ 0 ] ,
pre : ! this . options . sanitizer && ( cap [ 1 ] === 'pre' || cap [ 1 ] === 'script' || cap [ 1 ] === 'style' ) ,
text : this . options . sanitize ? this . options . sanitizer ? this . options . sanitizer ( cap [ 0 ] ) : _escape ( cap [ 0 ] ) : cap [ 0 ]
} ;
}
} ;
_proto . def = function def ( src ) {
var cap = this . rules . block . def . exec ( src ) ;
if ( cap ) {
if ( cap [ 3 ] ) cap [ 3 ] = cap [ 3 ] . substring ( 1 , cap [ 3 ] . length - 1 ) ;
var tag = cap [ 1 ] . toLowerCase ( ) . replace ( /\s+/g , ' ' ) ;
return {
tag : tag ,
raw : cap [ 0 ] ,
href : cap [ 2 ] ,
title : cap [ 3 ]
} ;
}
} ;
_proto . table = function table ( src ) {
var cap = this . rules . block . table . exec ( src ) ;
if ( cap ) {
var item = {
type : 'table' ,
header : splitCells$1 ( cap [ 1 ] . replace ( /^ *| *\| *$/g , '' ) ) ,
align : cap [ 2 ] . replace ( /^ *|\| *$/g , '' ) . split ( / *\| */ ) ,
cells : cap [ 3 ] ? cap [ 3 ] . replace ( /\n$/ , '' ) . split ( '\n' ) : [ ]
} ;
if ( item . header . length === item . align . length ) {
item . raw = cap [ 0 ] ;
var l = item . align . length ;
var i ;
for ( i = 0 ; i < l ; i ++ ) {
if ( /^ *-+: *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'right' ;
} else if ( /^ *:-+: *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'center' ;
} else if ( /^ *:-+ *$/ . test ( item . align [ i ] ) ) {
item . align [ i ] = 'left' ;
} else {
item . align [ i ] = null ;
}
}
l = item . cells . length ;
for ( i = 0 ; i < l ; i ++ ) {
item . cells [ i ] = splitCells$1 ( item . cells [ i ] . replace ( /^ *\| *| *\| *$/g , '' ) , item . header . length ) ;
}
return item ;
}
}
} ;
_proto . lheading = function lheading ( src ) {
var cap = this . rules . block . lheading . exec ( src ) ;
if ( cap ) {
return {
type : 'heading' ,
raw : cap [ 0 ] ,
depth : cap [ 2 ] . charAt ( 0 ) === '=' ? 1 : 2 ,
text : cap [ 1 ]
} ;
}
} ;
_proto . paragraph = function paragraph ( src ) {
var cap = this . rules . block . paragraph . exec ( src ) ;
if ( cap ) {
return {
type : 'paragraph' ,
raw : cap [ 0 ] ,
text : cap [ 1 ] . charAt ( cap [ 1 ] . length - 1 ) === '\n' ? cap [ 1 ] . slice ( 0 , - 1 ) : cap [ 1 ]
} ;
}
} ;
_proto . text = function text ( src , tokens ) {
var cap = this . rules . block . text . exec ( src ) ;
if ( cap ) {
var lastToken = tokens [ tokens . length - 1 ] ;
if ( lastToken && lastToken . type === 'text' ) {
return {
raw : cap [ 0 ] ,
text : cap [ 0 ]
} ;
}
return {
type : 'text' ,
raw : cap [ 0 ] ,
text : cap [ 0 ]
} ;
}
} ;
_proto . escape = function escape ( src ) {
var cap = this . rules . inline . escape . exec ( src ) ;
if ( cap ) {
return {
type : 'escape' ,
raw : cap [ 0 ] ,
text : _escape ( cap [ 1 ] )
} ;
}
} ;
_proto . tag = function tag ( src , inLink , inRawBlock ) {
var cap = this . rules . inline . tag . exec ( src ) ;
if ( cap ) {
if ( ! inLink && /^<a /i . test ( cap [ 0 ] ) ) {
inLink = true ;
} else if ( inLink && /^<\/a>/i . test ( cap [ 0 ] ) ) {
inLink = false ;
}
if ( ! inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i . test ( cap [ 0 ] ) ) {
inRawBlock = true ;
} else if ( inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i . test ( cap [ 0 ] ) ) {
inRawBlock = false ;
}
return {
type : this . options . sanitize ? 'text' : 'html' ,
raw : cap [ 0 ] ,
inLink : inLink ,
inRawBlock : inRawBlock ,
text : this . options . sanitize ? this . options . sanitizer ? this . options . sanitizer ( cap [ 0 ] ) : _escape ( cap [ 0 ] ) : cap [ 0 ]
} ;
}
} ;
_proto . link = function link ( src ) {
var cap = this . rules . inline . link . exec ( src ) ;
if ( cap ) {
var lastParenIndex = findClosingBracket$1 ( cap [ 2 ] , '()' ) ;
if ( lastParenIndex > - 1 ) {
var start = cap [ 0 ] . indexOf ( '!' ) === 0 ? 5 : 4 ;
var linkLen = start + cap [ 1 ] . length + lastParenIndex ;
cap [ 2 ] = cap [ 2 ] . substring ( 0 , lastParenIndex ) ;
cap [ 0 ] = cap [ 0 ] . substring ( 0 , linkLen ) . trim ( ) ;
cap [ 3 ] = '' ;
}
var href = cap [ 2 ] ;
var title = '' ;
if ( this . options . pedantic ) {
var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/ . exec ( href ) ;
if ( link ) {
href = link [ 1 ] ;
title = link [ 3 ] ;
} else {
title = '' ;
}
} else {
title = cap [ 3 ] ? cap [ 3 ] . slice ( 1 , - 1 ) : '' ;
}
href = href . trim ( ) . replace ( /^<([\s\S]*)>$/ , '$1' ) ;
var token = outputLink ( cap , {
href : href ? href . replace ( this . rules . inline . _escapes , '$1' ) : href ,
title : title ? title . replace ( this . rules . inline . _escapes , '$1' ) : title
} , cap [ 0 ] ) ;
return token ;
}
} ;
_proto . reflink = function reflink ( src , links ) {
var cap ;
if ( ( cap = this . rules . inline . reflink . exec ( src ) ) || ( cap = this . rules . inline . nolink . exec ( src ) ) ) {
var link = ( cap [ 2 ] || cap [ 1 ] ) . replace ( /\s+/g , ' ' ) ;
link = links [ link . toLowerCase ( ) ] ;
if ( ! link || ! link . href ) {
var text = cap [ 0 ] . charAt ( 0 ) ;
return {
type : 'text' ,
raw : text ,
text : text
} ;
}
var token = outputLink ( cap , link , cap [ 0 ] ) ;
return token ;
}
} ;
_proto . strong = function strong ( src ) {
var cap = this . rules . inline . strong . exec ( src ) ;
if ( cap ) {
return {
type : 'strong' ,
raw : cap [ 0 ] ,
text : cap [ 4 ] || cap [ 3 ] || cap [ 2 ] || cap [ 1 ]
} ;
}
} ;
_proto . em = function em ( src ) {
var cap = this . rules . inline . em . exec ( src ) ;
if ( cap ) {
return {
type : 'em' ,
raw : cap [ 0 ] ,
text : cap [ 6 ] || cap [ 5 ] || cap [ 4 ] || cap [ 3 ] || cap [ 2 ] || cap [ 1 ]
} ;
}
} ;
_proto . codespan = function codespan ( src ) {
var cap = this . rules . inline . code . exec ( src ) ;
if ( cap ) {
var text = cap [ 2 ] . replace ( /\n/g , ' ' ) ;
var hasNonSpaceChars = /[^ ]/ . test ( text ) ;
var hasSpaceCharsOnBothEnds = text . startsWith ( ' ' ) && text . endsWith ( ' ' ) ;
if ( hasNonSpaceChars && hasSpaceCharsOnBothEnds ) {
text = text . substring ( 1 , text . length - 1 ) ;
}
text = _escape ( text , true ) ;
return {
type : 'codespan' ,
raw : cap [ 0 ] ,
text : text
} ;
}
} ;
_proto . br = function br ( src ) {
var cap = this . rules . inline . br . exec ( src ) ;
if ( cap ) {
return {
type : 'br' ,
raw : cap [ 0 ]
} ;
}
} ;
_proto . del = function del ( src ) {
var cap = this . rules . inline . del . exec ( src ) ;
if ( cap ) {
return {
type : 'del' ,
raw : cap [ 0 ] ,
text : cap [ 1 ]
} ;
}
} ;
_proto . autolink = function autolink ( src , mangle ) {
var cap = this . rules . inline . autolink . exec ( src ) ;
if ( cap ) {
var text , href ;
if ( cap [ 2 ] === '@' ) {
text = _escape ( this . options . mangle ? mangle ( cap [ 1 ] ) : cap [ 1 ] ) ;
href = 'mailto:' + text ;
} else {
text = _escape ( cap [ 1 ] ) ;
href = text ;
}
return {
type : 'link' ,
raw : cap [ 0 ] ,
text : text ,
href : href ,
tokens : [ {
type : 'text' ,
raw : text ,
text : text
} ]
} ;
}
} ;
_proto . url = function url ( src , mangle ) {
var cap ;
if ( cap = this . rules . inline . url . exec ( src ) ) {
var text , href ;
if ( cap [ 2 ] === '@' ) {
text = _escape ( this . options . mangle ? mangle ( cap [ 0 ] ) : cap [ 0 ] ) ;
href = 'mailto:' + text ;
} else {
// do extended autolink path validation
var prevCapZero ;
do {
prevCapZero = cap [ 0 ] ;
cap [ 0 ] = this . rules . inline . _backpedal . exec ( cap [ 0 ] ) [ 0 ] ;
} while ( prevCapZero !== cap [ 0 ] ) ;
text = _escape ( cap [ 0 ] ) ;
if ( cap [ 1 ] === 'www.' ) {
href = 'http://' + text ;
} else {
href = text ;
}
}
return {
type : 'link' ,
raw : cap [ 0 ] ,
text : text ,
href : href ,
tokens : [ {
type : 'text' ,
raw : text ,
text : text
} ]
} ;
}
} ;
_proto . inlineText = function inlineText ( src , inRawBlock , smartypants ) {
var cap = this . rules . inline . text . exec ( src ) ;
if ( cap ) {
var text ;
if ( inRawBlock ) {
text = this . options . sanitize ? this . options . sanitizer ? this . options . sanitizer ( cap [ 0 ] ) : _escape ( cap [ 0 ] ) : cap [ 0 ] ;
} else {
text = _escape ( this . options . smartypants ? smartypants ( cap [ 0 ] ) : cap [ 0 ] ) ;
}
return {
type : 'text' ,
raw : cap [ 0 ] ,
text : text
} ;
}
} ;
return Tokenizer ;
} ( ) ;
var noopTest$1 = helpers . noopTest ,
edit$1 = helpers . edit ,
merge$1 = helpers . merge ;
/ * *
* Block - Level Grammar
* /
var block = {
newline : /^\n+/ ,
code : /^( {4}[^\n]+\n*)+/ ,
fences : /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/ ,
hr : /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/ ,
heading : /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/ ,
blockquote : /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/ ,
list : /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/ ,
html : '^ {0,3}(?:' // optional indentation
+ '<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
+ '|comment[^\\n]*(\\n+|$)' // (2)
+ '|<\\?[\\s\\S]*?\\?>\\n*' // (3)
+ '|<![A-Z][\\s\\S]*?>\\n*' // (4)
+ '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*' // (5)
+ '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)' // (6)
+ '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag
+ '|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag
+ ')' ,
def : /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/ ,
nptable : noopTest$1 ,
table : noopTest$1 ,
lheading : /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/ ,
// regex template, placeholders will be replaced according to different paragraph
// interruption rules of commonmark and the original markdown spec:
_paragraph : /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/ ,
text : /^[^\n]+/
} ;
block . _label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/ ;
block . _title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/ ;
block . def = edit$1 ( block . def ) . replace ( 'label' , block . _label ) . replace ( 'title' , block . _title ) . getRegex ( ) ;
block . bullet = /(?:[*+-]|\d{1,9}\.)/ ;
block . item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/ ;
block . item = edit$1 ( block . item , 'gm' ) . replace ( /bull/g , block . bullet ) . getRegex ( ) ;
block . list = edit$1 ( block . list ) . replace ( /bull/g , block . bullet ) . replace ( 'hr' , '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))' ) . replace ( 'def' , '\\n+(?=' + block . def . source + ')' ) . getRegex ( ) ;
block . _tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul' ;
block . _comment = /<!--(?!-?>)[\s\S]*?-->/ ;
block . html = edit$1 ( block . html , 'i' ) . replace ( 'comment' , block . _comment ) . replace ( 'tag' , block . _tag ) . replace ( 'attribute' , / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/ ) . getRegex ( ) ;
block . paragraph = edit$1 ( block . _paragraph ) . replace ( 'hr' , block . hr ) . replace ( 'heading' , ' {0,3}#{1,6} ' ) . replace ( '|lheading' , '' ) // setex headings don't interrupt commonmark paragraphs
. replace ( 'blockquote' , ' {0,3}>' ) . replace ( 'fences' , ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) . replace ( 'list' , ' {0,3}(?:[*+-]|1[.)]) ' ) // only lists starting from 1 can interrupt
. replace ( 'html' , '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' ) . replace ( 'tag' , block . _tag ) // pars can be interrupted by type (6) html blocks
. getRegex ( ) ;
block . blockquote = edit$1 ( block . blockquote ) . replace ( 'paragraph' , block . paragraph ) . getRegex ( ) ;
/ * *
* Normal Block Grammar
* /
block . normal = merge$1 ( { } , block ) ;
/ * *
* GFM Block Grammar
* /
block . gfm = merge$1 ( { } , block . normal , {
nptable : '^ *([^|\\n ].*\\|.*)\\n' // Header
+ ' *([-:]+ *\\|[-| :]*)' // Align
+ '(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' ,
// Cells
table : '^ *\\|(.+)\\n' // Header
+ ' *\\|?( *[-:]+[-| :]*)' // Align
+ '(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
} ) ;
block . gfm . nptable = edit$1 ( block . gfm . nptable ) . replace ( 'hr' , block . hr ) . replace ( 'heading' , ' {0,3}#{1,6} ' ) . replace ( 'blockquote' , ' {0,3}>' ) . replace ( 'code' , ' {4}[^\\n]' ) . replace ( 'fences' , ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) . replace ( 'list' , ' {0,3}(?:[*+-]|1[.)]) ' ) // only lists starting from 1 can interrupt
. replace ( 'html' , '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' ) . replace ( 'tag' , block . _tag ) // tables can be interrupted by type (6) html blocks
. getRegex ( ) ;
block . gfm . table = edit$1 ( block . gfm . table ) . replace ( 'hr' , block . hr ) . replace ( 'heading' , ' {0,3}#{1,6} ' ) . replace ( 'blockquote' , ' {0,3}>' ) . replace ( 'code' , ' {4}[^\\n]' ) . replace ( 'fences' , ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n' ) . replace ( 'list' , ' {0,3}(?:[*+-]|1[.)]) ' ) // only lists starting from 1 can interrupt
. replace ( 'html' , '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)' ) . replace ( 'tag' , block . _tag ) // tables can be interrupted by type (6) html blocks
. getRegex ( ) ;
/ * *
* Pedantic grammar ( original John Gruber ' s loose markdown specification )
* /
block . pedantic = merge$1 ( { } , block . normal , {
html : edit$1 ( '^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
+ '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))' ) . replace ( 'comment' , block . _comment ) . replace ( /tag/g , '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b' ) . getRegex ( ) ,
def : /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/ ,
heading : /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/ ,
fences : noopTest$1 ,
// fences not supported
paragraph : edit$1 ( block . normal . _paragraph ) . replace ( 'hr' , block . hr ) . replace ( 'heading' , ' *#{1,6} *[^\n]' ) . replace ( 'lheading' , block . lheading ) . replace ( 'blockquote' , ' {0,3}>' ) . replace ( '|fences' , '' ) . replace ( '|list' , '' ) . replace ( '|html' , '' ) . getRegex ( )
} ) ;
/ * *
* Inline - Level Grammar
* /
var inline = {
escape : /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/ ,
autolink : /^<(scheme:[^\s\x00-\x1f<>]*|email)>/ ,
url : noopTest$1 ,
tag : '^comment' + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
+ '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
+ '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>' ,
// CDATA section
link : /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/ ,
reflink : /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/ ,
nolink : /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/ ,
strong : /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/ ,
em : /^_([^\s_])_(?!_)|^_([^\s_<][\s\S]*?[^\s_])_(?!_|[^\s,punctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\s,punctuation])|^\*([^\s*<\[])\*(?!\*)|^\*([^\s<"][\s\S]*?[^\s\[\*])\*(?![\]`punctuation])|^\*([^\s*"<\[][\s\S]*[^\s])\*(?!\*)/ ,
code : /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/ ,
br : /^( {2,}|\\)\n(?!\s*$)/ ,
del : noopTest$1 ,
text : /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/
} ; // list of punctuation marks from common mark spec
// without ` and ] to workaround Rule 17 (inline code blocks/links)
// without , to work around example 393
inline . _punctuation = '!"#$%&\'()*+\\-./:;<=>?@\\[^_{|}~' ;
inline . em = edit$1 ( inline . em ) . replace ( /punctuation/g , inline . _punctuation ) . getRegex ( ) ;
inline . _escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g ;
inline . _scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/ ;
inline . _email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/ ;
inline . autolink = edit$1 ( inline . autolink ) . replace ( 'scheme' , inline . _scheme ) . replace ( 'email' , inline . _email ) . getRegex ( ) ;
inline . _attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/ ;
inline . tag = edit$1 ( inline . tag ) . replace ( 'comment' , block . _comment ) . replace ( 'attribute' , inline . _attribute ) . getRegex ( ) ;
inline . _label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/ ;
inline . _href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/ ;
inline . _title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/ ;
inline . link = edit$1 ( inline . link ) . replace ( 'label' , inline . _label ) . replace ( 'href' , inline . _href ) . replace ( 'title' , inline . _title ) . getRegex ( ) ;
inline . reflink = edit$1 ( inline . reflink ) . replace ( 'label' , inline . _label ) . getRegex ( ) ;
/ * *
* Normal Inline Grammar
* /
inline . normal = merge$1 ( { } , inline ) ;
/ * *
* Pedantic Inline Grammar
* /
inline . pedantic = merge$1 ( { } , inline . normal , {
strong : /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/ ,
em : /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ ,
link : edit$1 ( /^!?\[(label)\]\((.*?)\)/ ) . replace ( 'label' , inline . _label ) . getRegex ( ) ,
reflink : edit$1 ( /^!?\[(label)\]\s*\[([^\]]*)\]/ ) . replace ( 'label' , inline . _label ) . getRegex ( )
} ) ;
/ * *
* GFM Inline Grammar
* /
inline . gfm = merge$1 ( { } , inline . normal , {
escape : edit$1 ( inline . escape ) . replace ( '])' , '~|])' ) . getRegex ( ) ,
_extended _email : /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/ ,
url : /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/ ,
_backpedal : /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/ ,
del : /^~+(?=\S)([\s\S]*?\S)~+/ ,
text : /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/
} ) ;
inline . gfm . url = edit$1 ( inline . gfm . url , 'i' ) . replace ( 'email' , inline . gfm . _extended _email ) . getRegex ( ) ;
/ * *
* GFM + Line Breaks Inline Grammar
* /
inline . breaks = merge$1 ( { } , inline . gfm , {
br : edit$1 ( inline . br ) . replace ( '{2,}' , '*' ) . getRegex ( ) ,
text : edit$1 ( inline . gfm . text ) . replace ( '\\b_' , '\\b_| {2,}\\n' ) . replace ( /\{2,\}/g , '*' ) . getRegex ( )
} ) ;
var rules = {
block : block ,
inline : inline
} ;
var defaults$2 = defaults . defaults ;
var block$1 = rules . block ,
inline$1 = rules . inline ;
/ * *
* smartypants text replacement
* /
function smartypants ( text ) {
return text // em-dashes
. replace ( /---/g , "\u2014" ) // en-dashes
. replace ( /--/g , "\u2013" ) // opening singles
. replace ( /(^|[-\u2014/(\[{"\s])'/g , "$1\u2018" ) // closing singles & apostrophes
. replace ( /'/g , "\u2019" ) // opening doubles
. replace ( /(^|[-\u2014/(\[{\u2018\s])"/g , "$1\u201C" ) // closing doubles
. replace ( /"/g , "\u201D" ) // ellipses
. replace ( /\.{3}/g , "\u2026" ) ;
}
/ * *
* mangle email addresses
* /
function mangle ( text ) {
var out = '' ,
i ,
ch ;
var l = text . length ;
for ( i = 0 ; i < l ; i ++ ) {
ch = text . charCodeAt ( i ) ;
if ( Math . random ( ) > 0.5 ) {
ch = 'x' + ch . toString ( 16 ) ;
}
out += '&#' + ch + ';' ;
}
return out ;
}
/ * *
* Block Lexer
* /
var Lexer _1 = /*#__PURE__*/ function ( ) {
function Lexer ( options ) {
this . tokens = [ ] ;
this . tokens . links = Object . create ( null ) ;
this . options = options || defaults$2 ;
this . options . tokenizer = this . options . tokenizer || new Tokenizer _1 ( ) ;
this . tokenizer = this . options . tokenizer ;
this . tokenizer . options = this . options ;
var rules = {
block : block$1 . normal ,
inline : inline$1 . normal
} ;
if ( this . options . pedantic ) {
rules . block = block$1 . pedantic ;
rules . inline = inline$1 . pedantic ;
} else if ( this . options . gfm ) {
rules . block = block$1 . gfm ;
if ( this . options . breaks ) {
rules . inline = inline$1 . breaks ;
} else {
rules . inline = inline$1 . gfm ;
}
}
this . tokenizer . rules = rules ;
}
/ * *
* Expose Rules
* /
/ * *
* Static Lex Method
* /
Lexer . lex = function lex ( src , options ) {
var lexer = new Lexer ( options ) ;
return lexer . lex ( src ) ;
}
/ * *
* Preprocessing
* /
;
var _proto = Lexer . prototype ;
_proto . lex = function lex ( src ) {
src = src . replace ( /\r\n|\r/g , '\n' ) . replace ( /\t/g , ' ' ) ;
this . blockTokens ( src , this . tokens , true ) ;
this . inline ( this . tokens ) ;
return this . tokens ;
}
/ * *
* Lexing
* /
;
_proto . blockTokens = function blockTokens ( src , tokens , top ) {
if ( tokens === void 0 ) {
tokens = [ ] ;
}
if ( top === void 0 ) {
top = true ;
}
src = src . replace ( /^ +$/gm , '' ) ;
var token , i , l , lastToken ;
while ( src ) {
// newline
if ( token = this . tokenizer . space ( src ) ) {
src = src . substring ( token . raw . length ) ;
if ( token . type ) {
tokens . push ( token ) ;
}
continue ;
} // code
if ( token = this . tokenizer . code ( src , tokens ) ) {
src = src . substring ( token . raw . length ) ;
if ( token . type ) {
tokens . push ( token ) ;
} else {
lastToken = tokens [ tokens . length - 1 ] ;
lastToken . raw += '\n' + token . raw ;
lastToken . text += '\n' + token . text ;
}
continue ;
} // fences
if ( token = this . tokenizer . fences ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // heading
if ( token = this . tokenizer . heading ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // table no leading pipe (gfm)
if ( token = this . tokenizer . nptable ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // hr
if ( token = this . tokenizer . hr ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // blockquote
if ( token = this . tokenizer . blockquote ( src ) ) {
src = src . substring ( token . raw . length ) ;
token . tokens = this . blockTokens ( token . text , [ ] , top ) ;
tokens . push ( token ) ;
continue ;
} // list
if ( token = this . tokenizer . list ( src ) ) {
src = src . substring ( token . raw . length ) ;
l = token . items . length ;
for ( i = 0 ; i < l ; i ++ ) {
token . items [ i ] . tokens = this . blockTokens ( token . items [ i ] . text , [ ] , false ) ;
}
tokens . push ( token ) ;
continue ;
} // html
if ( token = this . tokenizer . html ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // def
if ( top && ( token = this . tokenizer . def ( src ) ) ) {
src = src . substring ( token . raw . length ) ;
if ( ! this . tokens . links [ token . tag ] ) {
this . tokens . links [ token . tag ] = {
href : token . href ,
title : token . title
} ;
}
continue ;
} // table (gfm)
if ( token = this . tokenizer . table ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // lheading
if ( token = this . tokenizer . lheading ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // top-level paragraph
if ( top && ( token = this . tokenizer . paragraph ( src ) ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // text
if ( token = this . tokenizer . text ( src , tokens ) ) {
src = src . substring ( token . raw . length ) ;
if ( token . type ) {
tokens . push ( token ) ;
} else {
lastToken = tokens [ tokens . length - 1 ] ;
lastToken . raw += '\n' + token . raw ;
lastToken . text += '\n' + token . text ;
}
continue ;
}
if ( src ) {
var errMsg = 'Infinite loop on byte: ' + src . charCodeAt ( 0 ) ;
if ( this . options . silent ) {
console . error ( errMsg ) ;
break ;
} else {
throw new Error ( errMsg ) ;
}
}
}
return tokens ;
} ;
_proto . inline = function inline ( tokens ) {
var i , j , k , l2 , row , token ;
var l = tokens . length ;
for ( i = 0 ; i < l ; i ++ ) {
token = tokens [ i ] ;
switch ( token . type ) {
case 'paragraph' :
case 'text' :
case 'heading' :
{
token . tokens = [ ] ;
this . inlineTokens ( token . text , token . tokens ) ;
break ;
}
case 'table' :
{
token . tokens = {
header : [ ] ,
cells : [ ]
} ; // header
l2 = token . header . length ;
for ( j = 0 ; j < l2 ; j ++ ) {
token . tokens . header [ j ] = [ ] ;
this . inlineTokens ( token . header [ j ] , token . tokens . header [ j ] ) ;
} // cells
l2 = token . cells . length ;
for ( j = 0 ; j < l2 ; j ++ ) {
row = token . cells [ j ] ;
token . tokens . cells [ j ] = [ ] ;
for ( k = 0 ; k < row . length ; k ++ ) {
token . tokens . cells [ j ] [ k ] = [ ] ;
this . inlineTokens ( row [ k ] , token . tokens . cells [ j ] [ k ] ) ;
}
}
break ;
}
case 'blockquote' :
{
this . inline ( token . tokens ) ;
break ;
}
case 'list' :
{
l2 = token . items . length ;
for ( j = 0 ; j < l2 ; j ++ ) {
this . inline ( token . items [ j ] . tokens ) ;
}
break ;
}
}
}
return tokens ;
}
/ * *
* Lexing / Compiling
* /
;
_proto . inlineTokens = function inlineTokens ( src , tokens , inLink , inRawBlock ) {
if ( tokens === void 0 ) {
tokens = [ ] ;
}
if ( inLink === void 0 ) {
inLink = false ;
}
if ( inRawBlock === void 0 ) {
inRawBlock = false ;
}
var token ;
while ( src ) {
// escape
if ( token = this . tokenizer . escape ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // tag
if ( token = this . tokenizer . tag ( src , inLink , inRawBlock ) ) {
src = src . substring ( token . raw . length ) ;
inLink = token . inLink ;
inRawBlock = token . inRawBlock ;
tokens . push ( token ) ;
continue ;
} // link
if ( token = this . tokenizer . link ( src ) ) {
src = src . substring ( token . raw . length ) ;
if ( token . type === 'link' ) {
token . tokens = this . inlineTokens ( token . text , [ ] , true , inRawBlock ) ;
}
tokens . push ( token ) ;
continue ;
} // reflink, nolink
if ( token = this . tokenizer . reflink ( src , this . tokens . links ) ) {
src = src . substring ( token . raw . length ) ;
if ( token . type === 'link' ) {
token . tokens = this . inlineTokens ( token . text , [ ] , true , inRawBlock ) ;
}
tokens . push ( token ) ;
continue ;
} // strong
if ( token = this . tokenizer . strong ( src ) ) {
src = src . substring ( token . raw . length ) ;
token . tokens = this . inlineTokens ( token . text , [ ] , inLink , inRawBlock ) ;
tokens . push ( token ) ;
continue ;
} // em
if ( token = this . tokenizer . em ( src ) ) {
src = src . substring ( token . raw . length ) ;
token . tokens = this . inlineTokens ( token . text , [ ] , inLink , inRawBlock ) ;
tokens . push ( token ) ;
continue ;
} // code
if ( token = this . tokenizer . codespan ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // br
if ( token = this . tokenizer . br ( src ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // del (gfm)
if ( token = this . tokenizer . del ( src ) ) {
src = src . substring ( token . raw . length ) ;
token . tokens = this . inlineTokens ( token . text , [ ] , inLink , inRawBlock ) ;
tokens . push ( token ) ;
continue ;
} // autolink
if ( token = this . tokenizer . autolink ( src , mangle ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // url (gfm)
if ( ! inLink && ( token = this . tokenizer . url ( src , mangle ) ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
} // text
if ( token = this . tokenizer . inlineText ( src , inRawBlock , smartypants ) ) {
src = src . substring ( token . raw . length ) ;
tokens . push ( token ) ;
continue ;
}
if ( src ) {
var errMsg = 'Infinite loop on byte: ' + src . charCodeAt ( 0 ) ;
if ( this . options . silent ) {
console . error ( errMsg ) ;
break ;
} else {
throw new Error ( errMsg ) ;
}
}
}
return tokens ;
} ;
_createClass ( Lexer , null , [ {
key : "rules" ,
get : function get ( ) {
return {
block : block$1 ,
inline : inline$1
} ;
}
} ] ) ;
return Lexer ;
} ( ) ;
var defaults$3 = defaults . defaults ;
var cleanUrl$1 = helpers . cleanUrl ,
escape$1 = helpers . escape ;
/ * *
* Renderer
* /
var Renderer _1 = /*#__PURE__*/ function ( ) {
function Renderer ( options ) {
this . options = options || defaults$3 ;
}
var _proto = Renderer . prototype ;
_proto . code = function code ( _code , infostring , escaped ) {
var lang = ( infostring || '' ) . match ( /\S*/ ) [ 0 ] ;
if ( this . options . highlight ) {
var out = this . options . highlight ( _code , lang ) ;
if ( out != null && out !== _code ) {
escaped = true ;
_code = out ;
}
}
if ( ! lang ) {
return '<pre><code>' + ( escaped ? _code : escape$1 ( _code , true ) ) + '</code></pre>\n' ;
}
return '<pre><code class="' + this . options . langPrefix + escape$1 ( lang , true ) + '">' + ( escaped ? _code : escape$1 ( _code , true ) ) + '</code></pre>\n' ;
} ;
_proto . blockquote = function blockquote ( quote ) {
return '<blockquote>\n' + quote + '</blockquote>\n' ;
} ;
_proto . html = function html ( _html ) {
return _html ;
} ;
_proto . heading = function heading ( text , level , raw , slugger ) {
if ( this . options . headerIds ) {
return '<h' + level + ' id="' + this . options . headerPrefix + slugger . slug ( raw ) + '">' + text + '</h' + level + '>\n' ;
} // ignore IDs
return '<h' + level + '>' + text + '</h' + level + '>\n' ;
} ;
_proto . hr = function hr ( ) {
return this . options . xhtml ? '<hr/>\n' : '<hr>\n' ;
} ;
_proto . list = function list ( body , ordered , start ) {
var type = ordered ? 'ol' : 'ul' ,
startatt = ordered && start !== 1 ? ' start="' + start + '"' : '' ;
return '<' + type + startatt + '>\n' + body + '</' + type + '>\n' ;
} ;
_proto . listitem = function listitem ( text ) {
return '<li>' + text + '</li>\n' ;
} ;
_proto . checkbox = function checkbox ( checked ) {
return '<input ' + ( checked ? 'checked="" ' : '' ) + 'disabled="" type="checkbox"' + ( this . options . xhtml ? ' /' : '' ) + '> ' ;
} ;
_proto . paragraph = function paragraph ( text ) {
return '<p>' + text + '</p>\n' ;
} ;
_proto . table = function table ( header , body ) {
if ( body ) body = '<tbody>' + body + '</tbody>' ;
return '<table>\n' + '<thead>\n' + header + '</thead>\n' + body + '</table>\n' ;
} ;
_proto . tablerow = function tablerow ( content ) {
return '<tr>\n' + content + '</tr>\n' ;
} ;
_proto . tablecell = function tablecell ( content , flags ) {
var type = flags . header ? 'th' : 'td' ;
var tag = flags . align ? '<' + type + ' align="' + flags . align + '">' : '<' + type + '>' ;
return tag + content + '</' + type + '>\n' ;
} // span level renderer
;
_proto . strong = function strong ( text ) {
return '<strong>' + text + '</strong>' ;
} ;
_proto . em = function em ( text ) {
return '<em>' + text + '</em>' ;
} ;
_proto . codespan = function codespan ( text ) {
return '<code>' + text + '</code>' ;
} ;
_proto . br = function br ( ) {
return this . options . xhtml ? '<br/>' : '<br>' ;
} ;
_proto . del = function del ( text ) {
return '<del>' + text + '</del>' ;
} ;
_proto . link = function link ( href , title , text ) {
href = cleanUrl$1 ( this . options . sanitize , this . options . baseUrl , href ) ;
if ( href === null ) {
return text ;
}
var out = '<a href="' + escape$1 ( href ) + '"' ;
if ( title ) {
out += ' title="' + title + '"' ;
}
out += '>' + text + '</a>' ;
return out ;
} ;
_proto . image = function image ( href , title , text ) {
href = cleanUrl$1 ( this . options . sanitize , this . options . baseUrl , href ) ;
if ( href === null ) {
return text ;
}
var out = '<img src="' + href + '" alt="' + text + '"' ;
if ( title ) {
out += ' title="' + title + '"' ;
}
out += this . options . xhtml ? '/>' : '>' ;
return out ;
} ;
_proto . text = function text ( _text ) {
return _text ;
} ;
return Renderer ;
} ( ) ;
/ * *
* TextRenderer
* returns only the textual part of the token
* /
var TextRenderer _1 = /*#__PURE__*/ function ( ) {
function TextRenderer ( ) { }
var _proto = TextRenderer . prototype ;
// no need for block level renderers
_proto . strong = function strong ( text ) {
return text ;
} ;
_proto . em = function em ( text ) {
return text ;
} ;
_proto . codespan = function codespan ( text ) {
return text ;
} ;
_proto . del = function del ( text ) {
return text ;
} ;
_proto . html = function html ( text ) {
return text ;
} ;
_proto . text = function text ( _text ) {
return _text ;
} ;
_proto . link = function link ( href , title , text ) {
return '' + text ;
} ;
_proto . image = function image ( href , title , text ) {
return '' + text ;
} ;
_proto . br = function br ( ) {
return '' ;
} ;
return TextRenderer ;
} ( ) ;
/ * *
* Slugger generates header id
* /
var Slugger _1 = /*#__PURE__*/ function ( ) {
function Slugger ( ) {
this . seen = { } ;
}
/ * *
* Convert string to unique id
* /
var _proto = Slugger . prototype ;
_proto . slug = function slug ( value ) {
var slug = value . toLowerCase ( ) . trim ( ) // remove html tags
. replace ( /<[!\/a-z].*?>/ig , '' ) // remove unwanted chars
. replace ( /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g , '' ) . replace ( /\s/g , '-' ) ;
if ( this . seen . hasOwnProperty ( slug ) ) {
var originalSlug = slug ;
do {
this . seen [ originalSlug ] ++ ;
slug = originalSlug + '-' + this . seen [ originalSlug ] ;
} while ( this . seen . hasOwnProperty ( slug ) ) ;
}
this . seen [ slug ] = 0 ;
return slug ;
} ;
return Slugger ;
} ( ) ;
var defaults$4 = defaults . defaults ;
var unescape$1 = helpers . unescape ;
/ * *
* Parsing & Compiling
* /
var Parser _1 = /*#__PURE__*/ function ( ) {
function Parser ( options ) {
this . options = options || defaults$4 ;
this . options . renderer = this . options . renderer || new Renderer _1 ( ) ;
this . renderer = this . options . renderer ;
this . renderer . options = this . options ;
this . textRenderer = new TextRenderer _1 ( ) ;
this . slugger = new Slugger _1 ( ) ;
}
/ * *
* Static Parse Method
* /
Parser . parse = function parse ( tokens , options ) {
var parser = new Parser ( options ) ;
return parser . parse ( tokens ) ;
}
/ * *
* Parse Loop
* /
;
var _proto = Parser . prototype ;
_proto . parse = function parse ( tokens , top ) {
if ( top === void 0 ) {
top = true ;
}
var out = '' ,
i ,
j ,
k ,
l2 ,
l3 ,
row ,
cell ,
header ,
body ,
token ,
ordered ,
start ,
loose ,
itemBody ,
item ,
checked ,
task ,
checkbox ;
var l = tokens . length ;
for ( i = 0 ; i < l ; i ++ ) {
token = tokens [ i ] ;
switch ( token . type ) {
case 'space' :
{
continue ;
}
case 'hr' :
{
out += this . renderer . hr ( ) ;
continue ;
}
case 'heading' :
{
out += this . renderer . heading ( this . parseInline ( token . tokens ) , token . depth , unescape$1 ( this . parseInline ( token . tokens , this . textRenderer ) ) , this . slugger ) ;
continue ;
}
case 'code' :
{
out += this . renderer . code ( token . text , token . lang , token . escaped ) ;
continue ;
}
case 'table' :
{
header = '' ; // header
cell = '' ;
l2 = token . header . length ;
for ( j = 0 ; j < l2 ; j ++ ) {
cell += this . renderer . tablecell ( this . parseInline ( token . tokens . header [ j ] ) , {
header : true ,
align : token . align [ j ]
} ) ;
}
header += this . renderer . tablerow ( cell ) ;
body = '' ;
l2 = token . cells . length ;
for ( j = 0 ; j < l2 ; j ++ ) {
row = token . tokens . cells [ j ] ;
cell = '' ;
l3 = row . length ;
for ( k = 0 ; k < l3 ; k ++ ) {
cell += this . renderer . tablecell ( this . parseInline ( row [ k ] ) , {
header : false ,
align : token . align [ k ]
} ) ;
}
body += this . renderer . tablerow ( cell ) ;
}
out += this . renderer . table ( header , body ) ;
continue ;
}
case 'blockquote' :
{
body = this . parse ( token . tokens ) ;
out += this . renderer . blockquote ( body ) ;
continue ;
}
case 'list' :
{
ordered = token . ordered ;
start = token . start ;
loose = token . loose ;
l2 = token . items . length ;
body = '' ;
for ( j = 0 ; j < l2 ; j ++ ) {
item = token . items [ j ] ;
checked = item . checked ;
task = item . task ;
itemBody = '' ;
if ( item . task ) {
checkbox = this . renderer . checkbox ( checked ) ;
if ( loose ) {
if ( item . tokens . length > 0 && item . tokens [ 0 ] . type === 'text' ) {
item . tokens [ 0 ] . text = checkbox + ' ' + item . tokens [ 0 ] . text ;
if ( item . tokens [ 0 ] . tokens && item . tokens [ 0 ] . tokens . length > 0 && item . tokens [ 0 ] . tokens [ 0 ] . type === 'text' ) {
item . tokens [ 0 ] . tokens [ 0 ] . text = checkbox + ' ' + item . tokens [ 0 ] . tokens [ 0 ] . text ;
}
} else {
item . tokens . unshift ( {
type : 'text' ,
text : checkbox
} ) ;
}
} else {
itemBody += checkbox ;
}
}
itemBody += this . parse ( item . tokens , loose ) ;
body += this . renderer . listitem ( itemBody , task , checked ) ;
}
out += this . renderer . list ( body , ordered , start ) ;
continue ;
}
case 'html' :
{
// TODO parse inline content if parameter markdown=1
out += this . renderer . html ( token . text ) ;
continue ;
}
case 'paragraph' :
{
out += this . renderer . paragraph ( this . parseInline ( token . tokens ) ) ;
continue ;
}
case 'text' :
{
body = token . tokens ? this . parseInline ( token . tokens ) : token . text ;
while ( i + 1 < l && tokens [ i + 1 ] . type === 'text' ) {
token = tokens [ ++ i ] ;
body += '\n' + ( token . tokens ? this . parseInline ( token . tokens ) : token . text ) ;
}
out += top ? this . renderer . paragraph ( body ) : body ;
continue ;
}
default :
{
var errMsg = 'Token with "' + token . type + '" type was not found.' ;
if ( this . options . silent ) {
console . error ( errMsg ) ;
return ;
} else {
throw new Error ( errMsg ) ;
}
}
}
}
return out ;
}
/ * *
* Parse Inline Tokens
* /
;
_proto . parseInline = function parseInline ( tokens , renderer ) {
renderer = renderer || this . renderer ;
var out = '' ,
i ,
token ;
var l = tokens . length ;
for ( i = 0 ; i < l ; i ++ ) {
token = tokens [ i ] ;
switch ( token . type ) {
case 'escape' :
{
out += renderer . text ( token . text ) ;
break ;
}
case 'html' :
{
out += renderer . html ( token . text ) ;
break ;
}
case 'link' :
{
out += renderer . link ( token . href , token . title , this . parseInline ( token . tokens , renderer ) ) ;
break ;
}
case 'image' :
{
out += renderer . image ( token . href , token . title , token . text ) ;
break ;
}
case 'strong' :
{
out += renderer . strong ( this . parseInline ( token . tokens , renderer ) ) ;
break ;
}
case 'em' :
{
out += renderer . em ( this . parseInline ( token . tokens , renderer ) ) ;
break ;
}
case 'codespan' :
{
out += renderer . codespan ( token . text ) ;
break ;
}
case 'br' :
{
out += renderer . br ( ) ;
break ;
}
case 'del' :
{
out += renderer . del ( this . parseInline ( token . tokens , renderer ) ) ;
break ;
}
case 'text' :
{
out += renderer . text ( token . text ) ;
break ;
}
default :
{
var errMsg = 'Token with "' + token . type + '" type was not found.' ;
if ( this . options . silent ) {
console . error ( errMsg ) ;
return ;
} else {
throw new Error ( errMsg ) ;
}
}
}
}
return out ;
} ;
return Parser ;
} ( ) ;
var merge$2 = helpers . merge ,
checkSanitizeDeprecation$1 = helpers . checkSanitizeDeprecation ,
escape$2 = helpers . escape ;
var getDefaults = defaults . getDefaults ,
changeDefaults = defaults . changeDefaults ,
defaults$5 = defaults . defaults ;
/ * *
* Marked
* /
function marked ( src , opt , callback ) {
// throw error in case of non string input
if ( typeof src === 'undefined' || src === null ) {
throw new Error ( 'marked(): input parameter is undefined or null' ) ;
}
if ( typeof src !== 'string' ) {
throw new Error ( 'marked(): input parameter is of type ' + Object . prototype . toString . call ( src ) + ', string expected' ) ;
}
if ( typeof opt === 'function' ) {
callback = opt ;
opt = null ;
}
opt = merge$2 ( { } , marked . defaults , opt || { } ) ;
checkSanitizeDeprecation$1 ( opt ) ;
if ( callback ) {
var highlight = opt . highlight ;
var tokens ;
try {
tokens = Lexer _1 . lex ( src , opt ) ;
} catch ( e ) {
return callback ( e ) ;
}
var done = function done ( err ) {
var out ;
if ( ! err ) {
try {
out = Parser _1 . parse ( tokens , opt ) ;
} catch ( e ) {
err = e ;
}
}
opt . highlight = highlight ;
return err ? callback ( err ) : callback ( null , out ) ;
} ;
if ( ! highlight || highlight . length < 3 ) {
return done ( ) ;
}
delete opt . highlight ;
if ( ! tokens . length ) return done ( ) ;
var pending = 0 ;
marked . walkTokens ( tokens , function ( token ) {
if ( token . type === 'code' ) {
pending ++ ;
highlight ( token . text , token . lang , function ( err , code ) {
if ( err ) {
return done ( err ) ;
}
if ( code != null && code !== token . text ) {
token . text = code ;
token . escaped = true ;
}
pending -- ;
if ( pending === 0 ) {
done ( ) ;
}
} ) ;
}
} ) ;
if ( pending === 0 ) {
done ( ) ;
}
return ;
}
try {
var _tokens = Lexer _1 . lex ( src , opt ) ;
if ( opt . walkTokens ) {
marked . walkTokens ( _tokens , opt . walkTokens ) ;
}
return Parser _1 . parse ( _tokens , opt ) ;
} catch ( e ) {
e . message += '\nPlease report this to https://github.com/markedjs/marked.' ;
if ( opt . silent ) {
return '<p>An error occurred:</p><pre>' + escape$2 ( e . message + '' , true ) + '</pre>' ;
}
throw e ;
}
}
/ * *
* Options
* /
marked . options = marked . setOptions = function ( opt ) {
merge$2 ( marked . defaults , opt ) ;
changeDefaults ( marked . defaults ) ;
return marked ;
} ;
marked . getDefaults = getDefaults ;
marked . defaults = defaults$5 ;
/ * *
* Use Extension
* /
marked . use = function ( extension ) {
var opts = merge$2 ( { } , extension ) ;
if ( extension . renderer ) {
( function ( ) {
var renderer = marked . defaults . renderer || new Renderer _1 ( ) ;
var _loop = function _loop ( prop ) {
var prevRenderer = renderer [ prop ] ;
renderer [ prop ] = function ( ) {
for ( var _len = arguments . length , args = new Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
args [ _key ] = arguments [ _key ] ;
}
var ret = extension . renderer [ prop ] . apply ( renderer , args ) ;
if ( ret === false ) {
ret = prevRenderer . apply ( renderer , args ) ;
}
return ret ;
} ;
} ;
for ( var prop in extension . renderer ) {
_loop ( prop ) ;
}
opts . renderer = renderer ;
} ) ( ) ;
}
if ( extension . tokenizer ) {
( function ( ) {
var tokenizer = marked . defaults . tokenizer || new Tokenizer _1 ( ) ;
var _loop2 = function _loop2 ( prop ) {
var prevTokenizer = tokenizer [ prop ] ;
tokenizer [ prop ] = function ( ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 ] = arguments [ _key2 ] ;
}
var ret = extension . tokenizer [ prop ] . apply ( tokenizer , args ) ;
if ( ret === false ) {
ret = prevTokenizer . apply ( tokenizer , args ) ;
}
return ret ;
} ;
} ;
for ( var prop in extension . tokenizer ) {
_loop2 ( prop ) ;
}
opts . tokenizer = tokenizer ;
} ) ( ) ;
}
if ( extension . walkTokens ) {
var walkTokens = marked . defaults . walkTokens ;
opts . walkTokens = function ( token ) {
extension . walkTokens ( token ) ;
if ( walkTokens ) {
walkTokens ( token ) ;
}
} ;
}
marked . setOptions ( opts ) ;
} ;
/ * *
* Run callback for every token
* /
marked . walkTokens = function ( tokens , callback ) {
for ( var _iterator = _createForOfIteratorHelperLoose ( tokens ) , _step ; ! ( _step = _iterator ( ) ) . done ; ) {
var token = _step . value ;
callback ( token ) ;
switch ( token . type ) {
case 'table' :
{
for ( var _iterator2 = _createForOfIteratorHelperLoose ( token . tokens . header ) , _step2 ; ! ( _step2 = _iterator2 ( ) ) . done ; ) {
var cell = _step2 . value ;
marked . walkTokens ( cell , callback ) ;
}
for ( var _iterator3 = _createForOfIteratorHelperLoose ( token . tokens . cells ) , _step3 ; ! ( _step3 = _iterator3 ( ) ) . done ; ) {
var row = _step3 . value ;
for ( var _iterator4 = _createForOfIteratorHelperLoose ( row ) , _step4 ; ! ( _step4 = _iterator4 ( ) ) . done ; ) {
var _cell = _step4 . value ;
marked . walkTokens ( _cell , callback ) ;
}
}
break ;
}
case 'list' :
{
marked . walkTokens ( token . items , callback ) ;
break ;
}
default :
{
if ( token . tokens ) {
marked . walkTokens ( token . tokens , callback ) ;
}
}
}
}
} ;
/ * *
* Expose
* /
marked . Parser = Parser _1 ;
marked . parser = Parser _1 . parse ;
marked . Renderer = Renderer _1 ;
marked . TextRenderer = TextRenderer _1 ;
marked . Lexer = Lexer _1 ;
marked . lexer = Lexer _1 . lex ;
marked . Tokenizer = Tokenizer _1 ;
marked . Slugger = Slugger _1 ;
marked . parse = marked ;
var marked _1 = marked ;
return marked _1 ;
} ) ) ) ;
/***/ } ) ,
/***/ "./node_modules/p-limit/index.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / p - limit / index . js * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/*! no static exports found */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
"use strict" ;
var pTry = _ _webpack _require _ _ ( /*! p-try */ "./node_modules/p-try/index.js" ) ;
var pLimit = function pLimit ( concurrency ) {
if ( ! ( ( Number . isInteger ( concurrency ) || concurrency === Infinity ) && concurrency > 0 ) ) {
return Promise . reject ( new TypeError ( 'Expected `concurrency` to be a number from 1 and up' ) ) ;
}
var queue = [ ] ;
var activeCount = 0 ;
var next = function next ( ) {
activeCount -- ;
if ( queue . length > 0 ) {
queue . shift ( ) ( ) ;
}
} ;
var run = function run ( fn , resolve ) {
activeCount ++ ;
for ( var _len = arguments . length , args = new Array ( _len > 2 ? _len - 2 : 0 ) , _key = 2 ; _key < _len ; _key ++ ) {
args [ _key - 2 ] = arguments [ _key ] ;
}
var result = pTry . apply ( void 0 , [ fn ] . concat ( args ) ) ;
resolve ( result ) ;
result . then ( next , next ) ;
} ;
var enqueue = function enqueue ( fn , resolve ) {
for ( var _len2 = arguments . length , args = new Array ( _len2 > 2 ? _len2 - 2 : 0 ) , _key2 = 2 ; _key2 < _len2 ; _key2 ++ ) {
args [ _key2 - 2 ] = arguments [ _key2 ] ;
}
if ( activeCount < concurrency ) {
run . apply ( void 0 , [ fn , resolve ] . concat ( args ) ) ;
} else {
queue . push ( run . bind . apply ( run , [ null , fn , resolve ] . concat ( args ) ) ) ;
}
} ;
var generator = function generator ( fn ) {
for ( var _len3 = arguments . length , args = new Array ( _len3 > 1 ? _len3 - 1 : 0 ) , _key3 = 1 ; _key3 < _len3 ; _key3 ++ ) {
args [ _key3 - 1 ] = arguments [ _key3 ] ;
}
return new Promise ( function ( resolve ) {
return enqueue . apply ( void 0 , [ fn , resolve ] . concat ( args ) ) ;
} ) ;
} ;
Object . defineProperties ( generator , {
activeCount : {
get : function get ( ) {
return activeCount ;
}
} ,
pendingCount : {
get : function get ( ) {
return queue . length ;
}
} ,
clearQueue : {
value : function value ( ) {
queue . length = 0 ;
}
}
} ) ;
return generator ;
} ;
module . exports = pLimit ;
module . exports . default = pLimit ;
/***/ } ) ,
/***/ "./node_modules/p-try/index.js" :
/ * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! * \
! * * * . / node _modules / p - try / i n d e x . j s * * * !
\ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/*! no static exports found */
/***/ ( function ( module , exports , _ _webpack _require _ _ ) {
"use strict" ;
var pTry = function pTry ( fn ) {
for ( var _len = arguments . length , arguments _ = new Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
arguments _ [ _key - 1 ] = arguments [ _key ] ;
}
return new Promise ( function ( resolve ) {
resolve ( fn . apply ( void 0 , arguments _ ) ) ;
} ) ;
} ;
module . exports = pTry ; // TODO: remove this in the next major version
module . exports . default = pTry ;
2020-04-03 17:47:19 +03:00
/***/ } )
} ] ) ;
2020-07-20 13:30:35 +03:00
//# sourceMappingURL=vue-4.js.map?v=9af01160cc09860278bb