2023-02-12 01:08:18 +01:00
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
function isNothing ( subject ) {
return typeof subject === "undefined" || subject === null ;
}
function isObject ( subject ) {
return typeof subject === "object" && subject !== null ;
}
function toArray ( sequence ) {
if ( Array . isArray ( sequence ) )
return sequence ;
else if ( isNothing ( sequence ) )
return [ ] ;
return [ sequence ] ;
}
function extend ( target , source ) {
var index , length , key , sourceKeys ;
if ( source ) {
sourceKeys = Object . keys ( source ) ;
for ( index = 0 , length = sourceKeys . length ; index < length ; index += 1 ) {
key = sourceKeys [ index ] ;
target [ key ] = source [ key ] ;
}
}
return target ;
}
function repeat ( string , count ) {
var result = "" , cycle ;
for ( cycle = 0 ; cycle < count ; cycle += 1 ) {
result += string ;
}
return result ;
}
function isNegativeZero ( number ) {
return number === 0 && Number . NEGATIVE _INFINITY === 1 / number ;
}
var isNothing _1 = isNothing ;
var isObject _1 = isObject ;
var toArray _1 = toArray ;
var repeat _1 = repeat ;
var isNegativeZero _1 = isNegativeZero ;
var extend _1 = extend ;
var common = {
isNothing : isNothing _1 ,
isObject : isObject _1 ,
toArray : toArray _1 ,
repeat : repeat _1 ,
isNegativeZero : isNegativeZero _1 ,
extend : extend _1
} ;
function formatError ( exception2 , compact ) {
var where = "" , message = exception2 . reason || "(unknown reason)" ;
if ( ! exception2 . mark )
return message ;
if ( exception2 . mark . name ) {
where += 'in "' + exception2 . mark . name + '" ' ;
}
where += "(" + ( exception2 . mark . line + 1 ) + ":" + ( exception2 . mark . column + 1 ) + ")" ;
if ( ! compact && exception2 . mark . snippet ) {
where += "\n\n" + exception2 . mark . snippet ;
}
return message + " " + where ;
}
function YAMLException$1 ( reason , mark ) {
Error . call ( this ) ;
this . name = "YAMLException" ;
this . reason = reason ;
this . mark = mark ;
this . message = formatError ( this , false ) ;
if ( Error . captureStackTrace ) {
Error . captureStackTrace ( this , this . constructor ) ;
} else {
this . stack = new Error ( ) . stack || "" ;
}
}
YAMLException$1 . prototype = Object . create ( Error . prototype ) ;
YAMLException$1 . prototype . constructor = YAMLException$1 ;
YAMLException$1 . prototype . toString = function toString ( compact ) {
return this . name + ": " + formatError ( this , compact ) ;
} ;
var exception = YAMLException$1 ;
function getLine ( buffer , lineStart , lineEnd , position , maxLineLength ) {
var head = "" ;
var tail = "" ;
var maxHalfLength = Math . floor ( maxLineLength / 2 ) - 1 ;
if ( position - lineStart > maxHalfLength ) {
head = " ... " ;
lineStart = position - maxHalfLength + head . length ;
}
if ( lineEnd - position > maxHalfLength ) {
tail = " ..." ;
lineEnd = position + maxHalfLength - tail . length ;
}
return {
str : head + buffer . slice ( lineStart , lineEnd ) . replace ( /\t/g , "→" ) + tail ,
pos : position - lineStart + head . length
// relative position
} ;
}
function padStart ( string , max ) {
return common . repeat ( " " , max - string . length ) + string ;
}
function makeSnippet ( mark , options ) {
options = Object . create ( options || null ) ;
if ( ! mark . buffer )
return null ;
if ( ! options . maxLength )
options . maxLength = 79 ;
if ( typeof options . indent !== "number" )
options . indent = 1 ;
if ( typeof options . linesBefore !== "number" )
options . linesBefore = 3 ;
if ( typeof options . linesAfter !== "number" )
options . linesAfter = 2 ;
var re = /\r?\n|\r|\0/g ;
var lineStarts = [ 0 ] ;
var lineEnds = [ ] ;
var match ;
var foundLineNo = - 1 ;
while ( match = re . exec ( mark . buffer ) ) {
lineEnds . push ( match . index ) ;
lineStarts . push ( match . index + match [ 0 ] . length ) ;
if ( mark . position <= match . index && foundLineNo < 0 ) {
foundLineNo = lineStarts . length - 2 ;
}
}
if ( foundLineNo < 0 )
foundLineNo = lineStarts . length - 1 ;
var result = "" , i , line ;
var lineNoLength = Math . min ( mark . line + options . linesAfter , lineEnds . length ) . toString ( ) . length ;
var maxLineLength = options . maxLength - ( options . indent + lineNoLength + 3 ) ;
for ( i = 1 ; i <= options . linesBefore ; i ++ ) {
if ( foundLineNo - i < 0 )
break ;
line = getLine (
mark . buffer ,
lineStarts [ foundLineNo - i ] ,
lineEnds [ foundLineNo - i ] ,
mark . position - ( lineStarts [ foundLineNo ] - lineStarts [ foundLineNo - i ] ) ,
maxLineLength
) ;
result = common . repeat ( " " , options . indent ) + padStart ( ( mark . line - i + 1 ) . toString ( ) , lineNoLength ) + " | " + line . str + "\n" + result ;
}
line = getLine ( mark . buffer , lineStarts [ foundLineNo ] , lineEnds [ foundLineNo ] , mark . position , maxLineLength ) ;
result += common . repeat ( " " , options . indent ) + padStart ( ( mark . line + 1 ) . toString ( ) , lineNoLength ) + " | " + line . str + "\n" ;
result += common . repeat ( "-" , options . indent + lineNoLength + 3 + line . pos ) + "^\n" ;
for ( i = 1 ; i <= options . linesAfter ; i ++ ) {
if ( foundLineNo + i >= lineEnds . length )
break ;
line = getLine (
mark . buffer ,
lineStarts [ foundLineNo + i ] ,
lineEnds [ foundLineNo + i ] ,
mark . position - ( lineStarts [ foundLineNo ] - lineStarts [ foundLineNo + i ] ) ,
maxLineLength
) ;
result += common . repeat ( " " , options . indent ) + padStart ( ( mark . line + i + 1 ) . toString ( ) , lineNoLength ) + " | " + line . str + "\n" ;
}
return result . replace ( /\n$/ , "" ) ;
}
var snippet = makeSnippet ;
var TYPE _CONSTRUCTOR _OPTIONS = [
"kind" ,
"multi" ,
"resolve" ,
"construct" ,
"instanceOf" ,
"predicate" ,
"represent" ,
"representName" ,
"defaultStyle" ,
"styleAliases"
] ;
var YAML _NODE _KINDS = [
"scalar" ,
"sequence" ,
"mapping"
] ;
function compileStyleAliases ( map2 ) {
var result = { } ;
if ( map2 !== null ) {
Object . keys ( map2 ) . forEach ( function ( style ) {
map2 [ style ] . forEach ( function ( alias ) {
result [ String ( alias ) ] = style ;
} ) ;
} ) ;
}
return result ;
}
function Type$1 ( tag , options ) {
options = options || { } ;
Object . keys ( options ) . forEach ( function ( name ) {
if ( TYPE _CONSTRUCTOR _OPTIONS . indexOf ( name ) === - 1 ) {
throw new exception ( 'Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.' ) ;
}
} ) ;
this . options = options ;
this . tag = tag ;
this . kind = options [ "kind" ] || null ;
this . resolve = options [ "resolve" ] || function ( ) {
return true ;
} ;
this . construct = options [ "construct" ] || function ( data ) {
return data ;
} ;
this . instanceOf = options [ "instanceOf" ] || null ;
this . predicate = options [ "predicate" ] || null ;
this . represent = options [ "represent" ] || null ;
this . representName = options [ "representName" ] || null ;
this . defaultStyle = options [ "defaultStyle" ] || null ;
this . multi = options [ "multi" ] || false ;
this . styleAliases = compileStyleAliases ( options [ "styleAliases" ] || null ) ;
if ( YAML _NODE _KINDS . indexOf ( this . kind ) === - 1 ) {
throw new exception ( 'Unknown kind "' + this . kind + '" is specified for "' + tag + '" YAML type.' ) ;
}
}
var type = Type$1 ;
function compileList ( schema2 , name ) {
var result = [ ] ;
schema2 [ name ] . forEach ( function ( currentType ) {
var newIndex = result . length ;
result . forEach ( function ( previousType , previousIndex ) {
if ( previousType . tag === currentType . tag && previousType . kind === currentType . kind && previousType . multi === currentType . multi ) {
newIndex = previousIndex ;
}
} ) ;
result [ newIndex ] = currentType ;
} ) ;
return result ;
}
function compileMap ( ) {
var result = {
scalar : { } ,
sequence : { } ,
mapping : { } ,
fallback : { } ,
multi : {
scalar : [ ] ,
sequence : [ ] ,
mapping : [ ] ,
fallback : [ ]
}
} , index , length ;
function collectType ( type2 ) {
if ( type2 . multi ) {
result . multi [ type2 . kind ] . push ( type2 ) ;
result . multi [ "fallback" ] . push ( type2 ) ;
} else {
result [ type2 . kind ] [ type2 . tag ] = result [ "fallback" ] [ type2 . tag ] = type2 ;
}
}
for ( index = 0 , length = arguments . length ; index < length ; index += 1 ) {
arguments [ index ] . forEach ( collectType ) ;
}
return result ;
}
function Schema$1 ( definition ) {
return this . extend ( definition ) ;
}
Schema$1 . prototype . extend = function extend2 ( definition ) {
var implicit = [ ] ;
var explicit = [ ] ;
if ( definition instanceof type ) {
explicit . push ( definition ) ;
} else if ( Array . isArray ( definition ) ) {
explicit = explicit . concat ( definition ) ;
} else if ( definition && ( Array . isArray ( definition . implicit ) || Array . isArray ( definition . explicit ) ) ) {
if ( definition . implicit )
implicit = implicit . concat ( definition . implicit ) ;
if ( definition . explicit )
explicit = explicit . concat ( definition . explicit ) ;
} else {
throw new exception ( "Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })" ) ;
}
implicit . forEach ( function ( type$1 ) {
if ( ! ( type$1 instanceof type ) ) {
throw new exception ( "Specified list of YAML types (or a single Type object) contains a non-Type object." ) ;
}
if ( type$1 . loadKind && type$1 . loadKind !== "scalar" ) {
throw new exception ( "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported." ) ;
}
if ( type$1 . multi ) {
throw new exception ( "There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit." ) ;
}
} ) ;
explicit . forEach ( function ( type$1 ) {
if ( ! ( type$1 instanceof type ) ) {
throw new exception ( "Specified list of YAML types (or a single Type object) contains a non-Type object." ) ;
}
} ) ;
var result = Object . create ( Schema$1 . prototype ) ;
result . implicit = ( this . implicit || [ ] ) . concat ( implicit ) ;
result . explicit = ( this . explicit || [ ] ) . concat ( explicit ) ;
result . compiledImplicit = compileList ( result , "implicit" ) ;
result . compiledExplicit = compileList ( result , "explicit" ) ;
result . compiledTypeMap = compileMap ( result . compiledImplicit , result . compiledExplicit ) ;
return result ;
} ;
var schema = Schema$1 ;
var str = new type ( "tag:yaml.org,2002:str" , {
kind : "scalar" ,
construct : function ( data ) {
return data !== null ? data : "" ;
}
} ) ;
var seq = new type ( "tag:yaml.org,2002:seq" , {
kind : "sequence" ,
construct : function ( data ) {
return data !== null ? data : [ ] ;
}
} ) ;
var map = new type ( "tag:yaml.org,2002:map" , {
kind : "mapping" ,
construct : function ( data ) {
return data !== null ? data : { } ;
}
} ) ;
var failsafe = new schema ( {
explicit : [
str ,
seq ,
map
]
} ) ;
function resolveYamlNull ( data ) {
if ( data === null )
return true ;
var max = data . length ;
return max === 1 && data === "~" || max === 4 && ( data === "null" || data === "Null" || data === "NULL" ) ;
}
function constructYamlNull ( ) {
return null ;
}
function isNull ( object ) {
return object === null ;
}
var _null = new type ( "tag:yaml.org,2002:null" , {
kind : "scalar" ,
resolve : resolveYamlNull ,
construct : constructYamlNull ,
predicate : isNull ,
represent : {
canonical : function ( ) {
return "~" ;
} ,
lowercase : function ( ) {
return "null" ;
} ,
uppercase : function ( ) {
return "NULL" ;
} ,
camelcase : function ( ) {
return "Null" ;
} ,
empty : function ( ) {
return "" ;
}
} ,
defaultStyle : "lowercase"
} ) ;
function resolveYamlBoolean ( data ) {
if ( data === null )
return false ;
var max = data . length ;
return max === 4 && ( data === "true" || data === "True" || data === "TRUE" ) || max === 5 && ( data === "false" || data === "False" || data === "FALSE" ) ;
}
function constructYamlBoolean ( data ) {
return data === "true" || data === "True" || data === "TRUE" ;
}
function isBoolean ( object ) {
return Object . prototype . toString . call ( object ) === "[object Boolean]" ;
}
var bool = new type ( "tag:yaml.org,2002:bool" , {
kind : "scalar" ,
resolve : resolveYamlBoolean ,
construct : constructYamlBoolean ,
predicate : isBoolean ,
represent : {
lowercase : function ( object ) {
return object ? "true" : "false" ;
} ,
uppercase : function ( object ) {
return object ? "TRUE" : "FALSE" ;
} ,
camelcase : function ( object ) {
return object ? "True" : "False" ;
}
} ,
defaultStyle : "lowercase"
} ) ;
function isHexCode ( c ) {
return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102 ;
}
function isOctCode ( c ) {
return 48 <= c && c <= 55 ;
}
function isDecCode ( c ) {
return 48 <= c && c <= 57 ;
}
function resolveYamlInteger ( data ) {
if ( data === null )
return false ;
var max = data . length , index = 0 , hasDigits = false , ch ;
if ( ! max )
return false ;
ch = data [ index ] ;
if ( ch === "-" || ch === "+" ) {
ch = data [ ++ index ] ;
}
if ( ch === "0" ) {
if ( index + 1 === max )
return true ;
ch = data [ ++ index ] ;
if ( ch === "b" ) {
index ++ ;
for ( ; index < max ; index ++ ) {
ch = data [ index ] ;
if ( ch === "_" )
continue ;
if ( ch !== "0" && ch !== "1" )
return false ;
hasDigits = true ;
}
return hasDigits && ch !== "_" ;
}
if ( ch === "x" ) {
index ++ ;
for ( ; index < max ; index ++ ) {
ch = data [ index ] ;
if ( ch === "_" )
continue ;
if ( ! isHexCode ( data . charCodeAt ( index ) ) )
return false ;
hasDigits = true ;
}
return hasDigits && ch !== "_" ;
}
if ( ch === "o" ) {
index ++ ;
for ( ; index < max ; index ++ ) {
ch = data [ index ] ;
if ( ch === "_" )
continue ;
if ( ! isOctCode ( data . charCodeAt ( index ) ) )
return false ;
hasDigits = true ;
}
return hasDigits && ch !== "_" ;
}
}
if ( ch === "_" )
return false ;
for ( ; index < max ; index ++ ) {
ch = data [ index ] ;
if ( ch === "_" )
continue ;
if ( ! isDecCode ( data . charCodeAt ( index ) ) ) {
return false ;
}
hasDigits = true ;
}
if ( ! hasDigits || ch === "_" )
return false ;
return true ;
}
function constructYamlInteger ( data ) {
var value = data , sign = 1 , ch ;
if ( value . indexOf ( "_" ) !== - 1 ) {
value = value . replace ( /_/g , "" ) ;
}
ch = value [ 0 ] ;
if ( ch === "-" || ch === "+" ) {
if ( ch === "-" )
sign = - 1 ;
value = value . slice ( 1 ) ;
ch = value [ 0 ] ;
}
if ( value === "0" )
return 0 ;
if ( ch === "0" ) {
if ( value [ 1 ] === "b" )
return sign * parseInt ( value . slice ( 2 ) , 2 ) ;
if ( value [ 1 ] === "x" )
return sign * parseInt ( value . slice ( 2 ) , 16 ) ;
if ( value [ 1 ] === "o" )
return sign * parseInt ( value . slice ( 2 ) , 8 ) ;
}
return sign * parseInt ( value , 10 ) ;
}
function isInteger ( object ) {
return Object . prototype . toString . call ( object ) === "[object Number]" && ( object % 1 === 0 && ! common . isNegativeZero ( object ) ) ;
}
var int = new type ( "tag:yaml.org,2002:int" , {
kind : "scalar" ,
resolve : resolveYamlInteger ,
construct : constructYamlInteger ,
predicate : isInteger ,
represent : {
binary : function ( obj ) {
return obj >= 0 ? "0b" + obj . toString ( 2 ) : "-0b" + obj . toString ( 2 ) . slice ( 1 ) ;
} ,
octal : function ( obj ) {
return obj >= 0 ? "0o" + obj . toString ( 8 ) : "-0o" + obj . toString ( 8 ) . slice ( 1 ) ;
} ,
decimal : function ( obj ) {
return obj . toString ( 10 ) ;
} ,
/* eslint-disable max-len */
hexadecimal : function ( obj ) {
return obj >= 0 ? "0x" + obj . toString ( 16 ) . toUpperCase ( ) : "-0x" + obj . toString ( 16 ) . toUpperCase ( ) . slice ( 1 ) ;
}
} ,
defaultStyle : "decimal" ,
styleAliases : {
binary : [ 2 , "bin" ] ,
octal : [ 8 , "oct" ] ,
decimal : [ 10 , "dec" ] ,
hexadecimal : [ 16 , "hex" ]
}
} ) ;
var YAML _FLOAT _PATTERN = new RegExp (
// 2.5e4, 2.5 and integers
"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
) ;
function resolveYamlFloat ( data ) {
if ( data === null )
return false ;
if ( ! YAML _FLOAT _PATTERN . test ( data ) || // Quick hack to not allow integers end with `_`
// Probably should update regexp & check speed
data [ data . length - 1 ] === "_" ) {
return false ;
}
return true ;
}
function constructYamlFloat ( data ) {
var value , sign ;
value = data . replace ( /_/g , "" ) . toLowerCase ( ) ;
sign = value [ 0 ] === "-" ? - 1 : 1 ;
if ( "+-" . indexOf ( value [ 0 ] ) >= 0 ) {
value = value . slice ( 1 ) ;
}
if ( value === ".inf" ) {
return sign === 1 ? Number . POSITIVE _INFINITY : Number . NEGATIVE _INFINITY ;
} else if ( value === ".nan" ) {
return NaN ;
}
return sign * parseFloat ( value , 10 ) ;
}
var SCIENTIFIC _WITHOUT _DOT = /^[-+]?[0-9]+e/ ;
function representYamlFloat ( object , style ) {
var res ;
if ( isNaN ( object ) ) {
switch ( style ) {
case "lowercase" :
return ".nan" ;
case "uppercase" :
return ".NAN" ;
case "camelcase" :
return ".NaN" ;
}
} else if ( Number . POSITIVE _INFINITY === object ) {
switch ( style ) {
case "lowercase" :
return ".inf" ;
case "uppercase" :
return ".INF" ;
case "camelcase" :
return ".Inf" ;
}
} else if ( Number . NEGATIVE _INFINITY === object ) {
switch ( style ) {
case "lowercase" :
return "-.inf" ;
case "uppercase" :
return "-.INF" ;
case "camelcase" :
return "-.Inf" ;
}
} else if ( common . isNegativeZero ( object ) ) {
return "-0.0" ;
}
res = object . toString ( 10 ) ;
return SCIENTIFIC _WITHOUT _DOT . test ( res ) ? res . replace ( "e" , ".e" ) : res ;
}
function isFloat ( object ) {
return Object . prototype . toString . call ( object ) === "[object Number]" && ( object % 1 !== 0 || common . isNegativeZero ( object ) ) ;
}
var float = new type ( "tag:yaml.org,2002:float" , {
kind : "scalar" ,
resolve : resolveYamlFloat ,
construct : constructYamlFloat ,
predicate : isFloat ,
represent : representYamlFloat ,
defaultStyle : "lowercase"
} ) ;
var json = failsafe . extend ( {
implicit : [
_null ,
bool ,
int ,
float
]
} ) ;
var core = json ;
var YAML _DATE _REGEXP = new RegExp (
"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
) ;
var YAML _TIMESTAMP _REGEXP = new RegExp (
"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
) ;
function resolveYamlTimestamp ( data ) {
if ( data === null )
return false ;
if ( YAML _DATE _REGEXP . exec ( data ) !== null )
return true ;
if ( YAML _TIMESTAMP _REGEXP . exec ( data ) !== null )
return true ;
return false ;
}
function constructYamlTimestamp ( data ) {
var match , year , month , day , hour , minute , second , fraction = 0 , delta = null , tz _hour , tz _minute , date ;
match = YAML _DATE _REGEXP . exec ( data ) ;
if ( match === null )
match = YAML _TIMESTAMP _REGEXP . exec ( data ) ;
if ( match === null )
throw new Error ( "Date resolve error" ) ;
year = + match [ 1 ] ;
month = + match [ 2 ] - 1 ;
day = + match [ 3 ] ;
if ( ! match [ 4 ] ) {
return new Date ( Date . UTC ( year , month , day ) ) ;
}
hour = + match [ 4 ] ;
minute = + match [ 5 ] ;
second = + match [ 6 ] ;
if ( match [ 7 ] ) {
fraction = match [ 7 ] . slice ( 0 , 3 ) ;
while ( fraction . length < 3 ) {
fraction += "0" ;
}
fraction = + fraction ;
}
if ( match [ 9 ] ) {
tz _hour = + match [ 10 ] ;
tz _minute = + ( match [ 11 ] || 0 ) ;
delta = ( tz _hour * 60 + tz _minute ) * 6e4 ;
if ( match [ 9 ] === "-" )
delta = - delta ;
}
date = new Date ( Date . UTC ( year , month , day , hour , minute , second , fraction ) ) ;
if ( delta )
date . setTime ( date . getTime ( ) - delta ) ;
return date ;
}
function representYamlTimestamp ( object ) {
return object . toISOString ( ) ;
}
var timestamp = new type ( "tag:yaml.org,2002:timestamp" , {
kind : "scalar" ,
resolve : resolveYamlTimestamp ,
construct : constructYamlTimestamp ,
instanceOf : Date ,
represent : representYamlTimestamp
} ) ;
function resolveYamlMerge ( data ) {
return data === "<<" || data === null ;
}
var merge = new type ( "tag:yaml.org,2002:merge" , {
kind : "scalar" ,
resolve : resolveYamlMerge
} ) ;
var BASE64 _MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" ;
function resolveYamlBinary ( data ) {
if ( data === null )
return false ;
var code , idx , bitlen = 0 , max = data . length , map2 = BASE64 _MAP ;
for ( idx = 0 ; idx < max ; idx ++ ) {
code = map2 . indexOf ( data . charAt ( idx ) ) ;
if ( code > 64 )
continue ;
if ( code < 0 )
return false ;
bitlen += 6 ;
}
return bitlen % 8 === 0 ;
}
function constructYamlBinary ( data ) {
var idx , tailbits , input = data . replace ( /[\r\n=]/g , "" ) , max = input . length , map2 = BASE64 _MAP , bits = 0 , result = [ ] ;
for ( idx = 0 ; idx < max ; idx ++ ) {
if ( idx % 4 === 0 && idx ) {
result . push ( bits >> 16 & 255 ) ;
result . push ( bits >> 8 & 255 ) ;
result . push ( bits & 255 ) ;
}
bits = bits << 6 | map2 . indexOf ( input . charAt ( idx ) ) ;
}
tailbits = max % 4 * 6 ;
if ( tailbits === 0 ) {
result . push ( bits >> 16 & 255 ) ;
result . push ( bits >> 8 & 255 ) ;
result . push ( bits & 255 ) ;
} else if ( tailbits === 18 ) {
result . push ( bits >> 10 & 255 ) ;
result . push ( bits >> 2 & 255 ) ;
} else if ( tailbits === 12 ) {
result . push ( bits >> 4 & 255 ) ;
}
return new Uint8Array ( result ) ;
}
function representYamlBinary ( object ) {
var result = "" , bits = 0 , idx , tail , max = object . length , map2 = BASE64 _MAP ;
for ( idx = 0 ; idx < max ; idx ++ ) {
if ( idx % 3 === 0 && idx ) {
result += map2 [ bits >> 18 & 63 ] ;
result += map2 [ bits >> 12 & 63 ] ;
result += map2 [ bits >> 6 & 63 ] ;
result += map2 [ bits & 63 ] ;
}
bits = ( bits << 8 ) + object [ idx ] ;
}
tail = max % 3 ;
if ( tail === 0 ) {
result += map2 [ bits >> 18 & 63 ] ;
result += map2 [ bits >> 12 & 63 ] ;
result += map2 [ bits >> 6 & 63 ] ;
result += map2 [ bits & 63 ] ;
} else if ( tail === 2 ) {
result += map2 [ bits >> 10 & 63 ] ;
result += map2 [ bits >> 4 & 63 ] ;
result += map2 [ bits << 2 & 63 ] ;
result += map2 [ 64 ] ;
} else if ( tail === 1 ) {
result += map2 [ bits >> 2 & 63 ] ;
result += map2 [ bits << 4 & 63 ] ;
result += map2 [ 64 ] ;
result += map2 [ 64 ] ;
}
return result ;
}
function isBinary ( obj ) {
return Object . prototype . toString . call ( obj ) === "[object Uint8Array]" ;
}
var binary = new type ( "tag:yaml.org,2002:binary" , {
kind : "scalar" ,
resolve : resolveYamlBinary ,
construct : constructYamlBinary ,
predicate : isBinary ,
represent : representYamlBinary
} ) ;
var _hasOwnProperty$3 = Object . prototype . hasOwnProperty ;
var _toString$2 = Object . prototype . toString ;
function resolveYamlOmap ( data ) {
if ( data === null )
return true ;
var objectKeys = [ ] , index , length , pair , pairKey , pairHasKey , object = data ;
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
pair = object [ index ] ;
pairHasKey = false ;
if ( _toString$2 . call ( pair ) !== "[object Object]" )
return false ;
for ( pairKey in pair ) {
if ( _hasOwnProperty$3 . call ( pair , pairKey ) ) {
if ( ! pairHasKey )
pairHasKey = true ;
else
return false ;
}
}
if ( ! pairHasKey )
return false ;
if ( objectKeys . indexOf ( pairKey ) === - 1 )
objectKeys . push ( pairKey ) ;
else
return false ;
}
return true ;
}
function constructYamlOmap ( data ) {
return data !== null ? data : [ ] ;
}
var omap = new type ( "tag:yaml.org,2002:omap" , {
kind : "sequence" ,
resolve : resolveYamlOmap ,
construct : constructYamlOmap
} ) ;
var _toString$1 = Object . prototype . toString ;
function resolveYamlPairs ( data ) {
if ( data === null )
return true ;
var index , length , pair , keys , result , object = data ;
result = new Array ( object . length ) ;
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
pair = object [ index ] ;
if ( _toString$1 . call ( pair ) !== "[object Object]" )
return false ;
keys = Object . keys ( pair ) ;
if ( keys . length !== 1 )
return false ;
result [ index ] = [ keys [ 0 ] , pair [ keys [ 0 ] ] ] ;
}
return true ;
}
function constructYamlPairs ( data ) {
if ( data === null )
return [ ] ;
var index , length , pair , keys , result , object = data ;
result = new Array ( object . length ) ;
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
pair = object [ index ] ;
keys = Object . keys ( pair ) ;
result [ index ] = [ keys [ 0 ] , pair [ keys [ 0 ] ] ] ;
}
return result ;
}
var pairs = new type ( "tag:yaml.org,2002:pairs" , {
kind : "sequence" ,
resolve : resolveYamlPairs ,
construct : constructYamlPairs
} ) ;
var _hasOwnProperty$2 = Object . prototype . hasOwnProperty ;
function resolveYamlSet ( data ) {
if ( data === null )
return true ;
var key , object = data ;
for ( key in object ) {
if ( _hasOwnProperty$2 . call ( object , key ) ) {
if ( object [ key ] !== null )
return false ;
}
}
return true ;
}
function constructYamlSet ( data ) {
return data !== null ? data : { } ;
}
var set = new type ( "tag:yaml.org,2002:set" , {
kind : "mapping" ,
resolve : resolveYamlSet ,
construct : constructYamlSet
} ) ;
var _default = core . extend ( {
implicit : [
timestamp ,
merge
] ,
explicit : [
binary ,
omap ,
pairs ,
set
]
} ) ;
var _hasOwnProperty$1 = Object . prototype . hasOwnProperty ;
var CONTEXT _FLOW _IN = 1 ;
var CONTEXT _FLOW _OUT = 2 ;
var CONTEXT _BLOCK _IN = 3 ;
var CONTEXT _BLOCK _OUT = 4 ;
var CHOMPING _CLIP = 1 ;
var CHOMPING _STRIP = 2 ;
var CHOMPING _KEEP = 3 ;
var PATTERN _NON _PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/ ;
var PATTERN _NON _ASCII _LINE _BREAKS = /[\x85\u2028\u2029]/ ;
var PATTERN _FLOW _INDICATORS = /[,\[\]\{\}]/ ;
var PATTERN _TAG _HANDLE = /^(?:!|!!|![a-z\-]+!)$/i ;
var PATTERN _TAG _URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i ;
function _class ( obj ) {
return Object . prototype . toString . call ( obj ) ;
}
function is _EOL ( c ) {
return c === 10 || c === 13 ;
}
function is _WHITE _SPACE ( c ) {
return c === 9 || c === 32 ;
}
function is _WS _OR _EOL ( c ) {
return c === 9 || c === 32 || c === 10 || c === 13 ;
}
function is _FLOW _INDICATOR ( c ) {
return c === 44 || c === 91 || c === 93 || c === 123 || c === 125 ;
}
function fromHexCode ( c ) {
var lc ;
if ( 48 <= c && c <= 57 ) {
return c - 48 ;
}
lc = c | 32 ;
if ( 97 <= lc && lc <= 102 ) {
return lc - 97 + 10 ;
}
return - 1 ;
}
function escapedHexLen ( c ) {
if ( c === 120 ) {
return 2 ;
}
if ( c === 117 ) {
return 4 ;
}
if ( c === 85 ) {
return 8 ;
}
return 0 ;
}
function fromDecimalCode ( c ) {
if ( 48 <= c && c <= 57 ) {
return c - 48 ;
}
return - 1 ;
}
function simpleEscapeSequence ( c ) {
return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? " " : c === 9 ? " " : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "
" : c === 95 ? " " : c === 76 ? "\u2028" : c === 80 ? "\u2029" : "" ;
}
function charFromCodepoint ( c ) {
if ( c <= 65535 ) {
return String . fromCharCode ( c ) ;
}
return String . fromCharCode (
( c - 65536 >> 10 ) + 55296 ,
( c - 65536 & 1023 ) + 56320
) ;
}
var simpleEscapeCheck = new Array ( 256 ) ;
var simpleEscapeMap = new Array ( 256 ) ;
for ( var i = 0 ; i < 256 ; i ++ ) {
simpleEscapeCheck [ i ] = simpleEscapeSequence ( i ) ? 1 : 0 ;
simpleEscapeMap [ i ] = simpleEscapeSequence ( i ) ;
}
function State$1 ( input , options ) {
this . input = input ;
this . filename = options [ "filename" ] || null ;
this . schema = options [ "schema" ] || _default ;
this . onWarning = options [ "onWarning" ] || null ;
this . legacy = options [ "legacy" ] || false ;
this . json = options [ "json" ] || false ;
this . listener = options [ "listener" ] || null ;
this . implicitTypes = this . schema . compiledImplicit ;
this . typeMap = this . schema . compiledTypeMap ;
this . length = input . length ;
this . position = 0 ;
this . line = 0 ;
this . lineStart = 0 ;
this . lineIndent = 0 ;
this . firstTabInLine = - 1 ;
this . documents = [ ] ;
}
function generateError ( state , message ) {
var mark = {
name : state . filename ,
buffer : state . input . slice ( 0 , - 1 ) ,
// omit trailing \0
position : state . position ,
line : state . line ,
column : state . position - state . lineStart
} ;
mark . snippet = snippet ( mark ) ;
return new exception ( message , mark ) ;
}
function throwError ( state , message ) {
throw generateError ( state , message ) ;
}
function throwWarning ( state , message ) {
if ( state . onWarning ) {
state . onWarning . call ( null , generateError ( state , message ) ) ;
}
}
var directiveHandlers = {
YAML : function handleYamlDirective ( state , name , args ) {
var match , major , minor ;
if ( state . version !== null ) {
throwError ( state , "duplication of %YAML directive" ) ;
}
if ( args . length !== 1 ) {
throwError ( state , "YAML directive accepts exactly one argument" ) ;
}
match = /^([0-9]+)\.([0-9]+)$/ . exec ( args [ 0 ] ) ;
if ( match === null ) {
throwError ( state , "ill-formed argument of the YAML directive" ) ;
}
major = parseInt ( match [ 1 ] , 10 ) ;
minor = parseInt ( match [ 2 ] , 10 ) ;
if ( major !== 1 ) {
throwError ( state , "unacceptable YAML version of the document" ) ;
}
state . version = args [ 0 ] ;
state . checkLineBreaks = minor < 2 ;
if ( minor !== 1 && minor !== 2 ) {
throwWarning ( state , "unsupported YAML version of the document" ) ;
}
} ,
TAG : function handleTagDirective ( state , name , args ) {
var handle , prefix ;
if ( args . length !== 2 ) {
throwError ( state , "TAG directive accepts exactly two arguments" ) ;
}
handle = args [ 0 ] ;
prefix = args [ 1 ] ;
if ( ! PATTERN _TAG _HANDLE . test ( handle ) ) {
throwError ( state , "ill-formed tag handle (first argument) of the TAG directive" ) ;
}
if ( _hasOwnProperty$1 . call ( state . tagMap , handle ) ) {
throwError ( state , 'there is a previously declared suffix for "' + handle + '" tag handle' ) ;
}
if ( ! PATTERN _TAG _URI . test ( prefix ) ) {
throwError ( state , "ill-formed tag prefix (second argument) of the TAG directive" ) ;
}
try {
prefix = decodeURIComponent ( prefix ) ;
} catch ( err ) {
throwError ( state , "tag prefix is malformed: " + prefix ) ;
}
state . tagMap [ handle ] = prefix ;
}
} ;
function captureSegment ( state , start , end , checkJson ) {
var _position , _length , _character , _result ;
if ( start < end ) {
_result = state . input . slice ( start , end ) ;
if ( checkJson ) {
for ( _position = 0 , _length = _result . length ; _position < _length ; _position += 1 ) {
_character = _result . charCodeAt ( _position ) ;
if ( ! ( _character === 9 || 32 <= _character && _character <= 1114111 ) ) {
throwError ( state , "expected valid JSON character" ) ;
}
}
} else if ( PATTERN _NON _PRINTABLE . test ( _result ) ) {
throwError ( state , "the stream contains non-printable characters" ) ;
}
state . result += _result ;
}
}
function mergeMappings ( state , destination , source , overridableKeys ) {
var sourceKeys , key , index , quantity ;
if ( ! common . isObject ( source ) ) {
throwError ( state , "cannot merge mappings; the provided source object is unacceptable" ) ;
}
sourceKeys = Object . keys ( source ) ;
for ( index = 0 , quantity = sourceKeys . length ; index < quantity ; index += 1 ) {
key = sourceKeys [ index ] ;
if ( ! _hasOwnProperty$1 . call ( destination , key ) ) {
destination [ key ] = source [ key ] ;
overridableKeys [ key ] = true ;
}
}
}
function storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , valueNode , startLine , startLineStart , startPos ) {
var index , quantity ;
if ( Array . isArray ( keyNode ) ) {
keyNode = Array . prototype . slice . call ( keyNode ) ;
for ( index = 0 , quantity = keyNode . length ; index < quantity ; index += 1 ) {
if ( Array . isArray ( keyNode [ index ] ) ) {
throwError ( state , "nested arrays are not supported inside keys" ) ;
}
if ( typeof keyNode === "object" && _class ( keyNode [ index ] ) === "[object Object]" ) {
keyNode [ index ] = "[object Object]" ;
}
}
}
if ( typeof keyNode === "object" && _class ( keyNode ) === "[object Object]" ) {
keyNode = "[object Object]" ;
}
keyNode = String ( keyNode ) ;
if ( _result === null ) {
_result = { } ;
}
if ( keyTag === "tag:yaml.org,2002:merge" ) {
if ( Array . isArray ( valueNode ) ) {
for ( index = 0 , quantity = valueNode . length ; index < quantity ; index += 1 ) {
mergeMappings ( state , _result , valueNode [ index ] , overridableKeys ) ;
}
} else {
mergeMappings ( state , _result , valueNode , overridableKeys ) ;
}
} else {
if ( ! state . json && ! _hasOwnProperty$1 . call ( overridableKeys , keyNode ) && _hasOwnProperty$1 . call ( _result , keyNode ) ) {
state . line = startLine || state . line ;
state . lineStart = startLineStart || state . lineStart ;
state . position = startPos || state . position ;
throwError ( state , "duplicated mapping key" ) ;
}
if ( keyNode === "__proto__" ) {
Object . defineProperty ( _result , keyNode , {
configurable : true ,
enumerable : true ,
writable : true ,
value : valueNode
} ) ;
} else {
_result [ keyNode ] = valueNode ;
}
delete overridableKeys [ keyNode ] ;
}
return _result ;
}
function readLineBreak ( state ) {
var ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch === 10 ) {
state . position ++ ;
} else if ( ch === 13 ) {
state . position ++ ;
if ( state . input . charCodeAt ( state . position ) === 10 ) {
state . position ++ ;
}
} else {
throwError ( state , "a line break is expected" ) ;
}
state . line += 1 ;
state . lineStart = state . position ;
state . firstTabInLine = - 1 ;
}
function skipSeparationSpace ( state , allowComments , checkIndent ) {
var lineBreaks = 0 , ch = state . input . charCodeAt ( state . position ) ;
while ( ch !== 0 ) {
while ( is _WHITE _SPACE ( ch ) ) {
if ( ch === 9 && state . firstTabInLine === - 1 ) {
state . firstTabInLine = state . position ;
}
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( allowComments && ch === 35 ) {
do {
ch = state . input . charCodeAt ( ++ state . position ) ;
} while ( ch !== 10 && ch !== 13 && ch !== 0 ) ;
}
if ( is _EOL ( ch ) ) {
readLineBreak ( state ) ;
ch = state . input . charCodeAt ( state . position ) ;
lineBreaks ++ ;
state . lineIndent = 0 ;
while ( ch === 32 ) {
state . lineIndent ++ ;
ch = state . input . charCodeAt ( ++ state . position ) ;
}
} else {
break ;
}
}
if ( checkIndent !== - 1 && lineBreaks !== 0 && state . lineIndent < checkIndent ) {
throwWarning ( state , "deficient indentation" ) ;
}
return lineBreaks ;
}
function testDocumentSeparator ( state ) {
var _position = state . position , ch ;
ch = state . input . charCodeAt ( _position ) ;
if ( ( ch === 45 || ch === 46 ) && ch === state . input . charCodeAt ( _position + 1 ) && ch === state . input . charCodeAt ( _position + 2 ) ) {
_position += 3 ;
ch = state . input . charCodeAt ( _position ) ;
if ( ch === 0 || is _WS _OR _EOL ( ch ) ) {
return true ;
}
}
return false ;
}
function writeFoldedLines ( state , count ) {
if ( count === 1 ) {
state . result += " " ;
} else if ( count > 1 ) {
state . result += common . repeat ( "\n" , count - 1 ) ;
}
}
function readPlainScalar ( state , nodeIndent , withinFlowCollection ) {
var preceding , following , captureStart , captureEnd , hasPendingContent , _line , _lineStart , _lineIndent , _kind = state . kind , _result = state . result , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( is _WS _OR _EOL ( ch ) || is _FLOW _INDICATOR ( ch ) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96 ) {
return false ;
}
if ( ch === 63 || ch === 45 ) {
following = state . input . charCodeAt ( state . position + 1 ) ;
if ( is _WS _OR _EOL ( following ) || withinFlowCollection && is _FLOW _INDICATOR ( following ) ) {
return false ;
}
}
state . kind = "scalar" ;
state . result = "" ;
captureStart = captureEnd = state . position ;
hasPendingContent = false ;
while ( ch !== 0 ) {
if ( ch === 58 ) {
following = state . input . charCodeAt ( state . position + 1 ) ;
if ( is _WS _OR _EOL ( following ) || withinFlowCollection && is _FLOW _INDICATOR ( following ) ) {
break ;
}
} else if ( ch === 35 ) {
preceding = state . input . charCodeAt ( state . position - 1 ) ;
if ( is _WS _OR _EOL ( preceding ) ) {
break ;
}
} else if ( state . position === state . lineStart && testDocumentSeparator ( state ) || withinFlowCollection && is _FLOW _INDICATOR ( ch ) ) {
break ;
} else if ( is _EOL ( ch ) ) {
_line = state . line ;
_lineStart = state . lineStart ;
_lineIndent = state . lineIndent ;
skipSeparationSpace ( state , false , - 1 ) ;
if ( state . lineIndent >= nodeIndent ) {
hasPendingContent = true ;
ch = state . input . charCodeAt ( state . position ) ;
continue ;
} else {
state . position = captureEnd ;
state . line = _line ;
state . lineStart = _lineStart ;
state . lineIndent = _lineIndent ;
break ;
}
}
if ( hasPendingContent ) {
captureSegment ( state , captureStart , captureEnd , false ) ;
writeFoldedLines ( state , state . line - _line ) ;
captureStart = captureEnd = state . position ;
hasPendingContent = false ;
}
if ( ! is _WHITE _SPACE ( ch ) ) {
captureEnd = state . position + 1 ;
}
ch = state . input . charCodeAt ( ++ state . position ) ;
}
captureSegment ( state , captureStart , captureEnd , false ) ;
if ( state . result ) {
return true ;
}
state . kind = _kind ;
state . result = _result ;
return false ;
}
function readSingleQuotedScalar ( state , nodeIndent ) {
var ch , captureStart , captureEnd ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch !== 39 ) {
return false ;
}
state . kind = "scalar" ;
state . result = "" ;
state . position ++ ;
captureStart = captureEnd = state . position ;
while ( ( ch = state . input . charCodeAt ( state . position ) ) !== 0 ) {
if ( ch === 39 ) {
captureSegment ( state , captureStart , state . position , true ) ;
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( ch === 39 ) {
captureStart = state . position ;
state . position ++ ;
captureEnd = state . position ;
} else {
return true ;
}
} else if ( is _EOL ( ch ) ) {
captureSegment ( state , captureStart , captureEnd , true ) ;
writeFoldedLines ( state , skipSeparationSpace ( state , false , nodeIndent ) ) ;
captureStart = captureEnd = state . position ;
} else if ( state . position === state . lineStart && testDocumentSeparator ( state ) ) {
throwError ( state , "unexpected end of the document within a single quoted scalar" ) ;
} else {
state . position ++ ;
captureEnd = state . position ;
}
}
throwError ( state , "unexpected end of the stream within a single quoted scalar" ) ;
}
function readDoubleQuotedScalar ( state , nodeIndent ) {
var captureStart , captureEnd , hexLength , hexResult , tmp , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch !== 34 ) {
return false ;
}
state . kind = "scalar" ;
state . result = "" ;
state . position ++ ;
captureStart = captureEnd = state . position ;
while ( ( ch = state . input . charCodeAt ( state . position ) ) !== 0 ) {
if ( ch === 34 ) {
captureSegment ( state , captureStart , state . position , true ) ;
state . position ++ ;
return true ;
} else if ( ch === 92 ) {
captureSegment ( state , captureStart , state . position , true ) ;
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( is _EOL ( ch ) ) {
skipSeparationSpace ( state , false , nodeIndent ) ;
} else if ( ch < 256 && simpleEscapeCheck [ ch ] ) {
state . result += simpleEscapeMap [ ch ] ;
state . position ++ ;
} else if ( ( tmp = escapedHexLen ( ch ) ) > 0 ) {
hexLength = tmp ;
hexResult = 0 ;
for ( ; hexLength > 0 ; hexLength -- ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( ( tmp = fromHexCode ( ch ) ) >= 0 ) {
hexResult = ( hexResult << 4 ) + tmp ;
} else {
throwError ( state , "expected hexadecimal character" ) ;
}
}
state . result += charFromCodepoint ( hexResult ) ;
state . position ++ ;
} else {
throwError ( state , "unknown escape sequence" ) ;
}
captureStart = captureEnd = state . position ;
} else if ( is _EOL ( ch ) ) {
captureSegment ( state , captureStart , captureEnd , true ) ;
writeFoldedLines ( state , skipSeparationSpace ( state , false , nodeIndent ) ) ;
captureStart = captureEnd = state . position ;
} else if ( state . position === state . lineStart && testDocumentSeparator ( state ) ) {
throwError ( state , "unexpected end of the document within a double quoted scalar" ) ;
} else {
state . position ++ ;
captureEnd = state . position ;
}
}
throwError ( state , "unexpected end of the stream within a double quoted scalar" ) ;
}
function readFlowCollection ( state , nodeIndent ) {
var readNext = true , _line , _lineStart , _pos , _tag = state . tag , _result , _anchor = state . anchor , following , terminator , isPair , isExplicitPair , isMapping , overridableKeys = /* @__PURE__ */ Object . create ( null ) , keyNode , keyTag , valueNode , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch === 91 ) {
terminator = 93 ;
isMapping = false ;
_result = [ ] ;
} else if ( ch === 123 ) {
terminator = 125 ;
isMapping = true ;
_result = { } ;
} else {
return false ;
}
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = _result ;
}
ch = state . input . charCodeAt ( ++ state . position ) ;
while ( ch !== 0 ) {
skipSeparationSpace ( state , true , nodeIndent ) ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch === terminator ) {
state . position ++ ;
state . tag = _tag ;
state . anchor = _anchor ;
state . kind = isMapping ? "mapping" : "sequence" ;
state . result = _result ;
return true ;
} else if ( ! readNext ) {
throwError ( state , "missed comma between flow collection entries" ) ;
} else if ( ch === 44 ) {
throwError ( state , "expected the node content, but found ','" ) ;
}
keyTag = keyNode = valueNode = null ;
isPair = isExplicitPair = false ;
if ( ch === 63 ) {
following = state . input . charCodeAt ( state . position + 1 ) ;
if ( is _WS _OR _EOL ( following ) ) {
isPair = isExplicitPair = true ;
state . position ++ ;
skipSeparationSpace ( state , true , nodeIndent ) ;
}
}
_line = state . line ;
_lineStart = state . lineStart ;
_pos = state . position ;
composeNode ( state , nodeIndent , CONTEXT _FLOW _IN , false , true ) ;
keyTag = state . tag ;
keyNode = state . result ;
skipSeparationSpace ( state , true , nodeIndent ) ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ( isExplicitPair || state . line === _line ) && ch === 58 ) {
isPair = true ;
ch = state . input . charCodeAt ( ++ state . position ) ;
skipSeparationSpace ( state , true , nodeIndent ) ;
composeNode ( state , nodeIndent , CONTEXT _FLOW _IN , false , true ) ;
valueNode = state . result ;
}
if ( isMapping ) {
storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , valueNode , _line , _lineStart , _pos ) ;
} else if ( isPair ) {
_result . push ( storeMappingPair ( state , null , overridableKeys , keyTag , keyNode , valueNode , _line , _lineStart , _pos ) ) ;
} else {
_result . push ( keyNode ) ;
}
skipSeparationSpace ( state , true , nodeIndent ) ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch === 44 ) {
readNext = true ;
ch = state . input . charCodeAt ( ++ state . position ) ;
} else {
readNext = false ;
}
}
throwError ( state , "unexpected end of the stream within a flow collection" ) ;
}
function readBlockScalar ( state , nodeIndent ) {
var captureStart , folding , chomping = CHOMPING _CLIP , didReadContent = false , detectedIndent = false , textIndent = nodeIndent , emptyLines = 0 , atMoreIndented = false , tmp , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch === 124 ) {
folding = false ;
} else if ( ch === 62 ) {
folding = true ;
} else {
return false ;
}
state . kind = "scalar" ;
state . result = "" ;
while ( ch !== 0 ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( ch === 43 || ch === 45 ) {
if ( CHOMPING _CLIP === chomping ) {
chomping = ch === 43 ? CHOMPING _KEEP : CHOMPING _STRIP ;
} else {
throwError ( state , "repeat of a chomping mode identifier" ) ;
}
} else if ( ( tmp = fromDecimalCode ( ch ) ) >= 0 ) {
if ( tmp === 0 ) {
throwError ( state , "bad explicit indentation width of a block scalar; it cannot be less than one" ) ;
} else if ( ! detectedIndent ) {
textIndent = nodeIndent + tmp - 1 ;
detectedIndent = true ;
} else {
throwError ( state , "repeat of an indentation width identifier" ) ;
}
} else {
break ;
}
}
if ( is _WHITE _SPACE ( ch ) ) {
do {
ch = state . input . charCodeAt ( ++ state . position ) ;
} while ( is _WHITE _SPACE ( ch ) ) ;
if ( ch === 35 ) {
do {
ch = state . input . charCodeAt ( ++ state . position ) ;
} while ( ! is _EOL ( ch ) && ch !== 0 ) ;
}
}
while ( ch !== 0 ) {
readLineBreak ( state ) ;
state . lineIndent = 0 ;
ch = state . input . charCodeAt ( state . position ) ;
while ( ( ! detectedIndent || state . lineIndent < textIndent ) && ch === 32 ) {
state . lineIndent ++ ;
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( ! detectedIndent && state . lineIndent > textIndent ) {
textIndent = state . lineIndent ;
}
if ( is _EOL ( ch ) ) {
emptyLines ++ ;
continue ;
}
if ( state . lineIndent < textIndent ) {
if ( chomping === CHOMPING _KEEP ) {
state . result += common . repeat ( "\n" , didReadContent ? 1 + emptyLines : emptyLines ) ;
} else if ( chomping === CHOMPING _CLIP ) {
if ( didReadContent ) {
state . result += "\n" ;
}
}
break ;
}
if ( folding ) {
if ( is _WHITE _SPACE ( ch ) ) {
atMoreIndented = true ;
state . result += common . repeat ( "\n" , didReadContent ? 1 + emptyLines : emptyLines ) ;
} else if ( atMoreIndented ) {
atMoreIndented = false ;
state . result += common . repeat ( "\n" , emptyLines + 1 ) ;
} else if ( emptyLines === 0 ) {
if ( didReadContent ) {
state . result += " " ;
}
} else {
state . result += common . repeat ( "\n" , emptyLines ) ;
}
} else {
state . result += common . repeat ( "\n" , didReadContent ? 1 + emptyLines : emptyLines ) ;
}
didReadContent = true ;
detectedIndent = true ;
emptyLines = 0 ;
captureStart = state . position ;
while ( ! is _EOL ( ch ) && ch !== 0 ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
captureSegment ( state , captureStart , state . position , false ) ;
}
return true ;
}
function readBlockSequence ( state , nodeIndent ) {
var _line , _tag = state . tag , _anchor = state . anchor , _result = [ ] , following , detected = false , ch ;
if ( state . firstTabInLine !== - 1 )
return false ;
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = _result ;
}
ch = state . input . charCodeAt ( state . position ) ;
while ( ch !== 0 ) {
if ( state . firstTabInLine !== - 1 ) {
state . position = state . firstTabInLine ;
throwError ( state , "tab characters must not be used in indentation" ) ;
}
if ( ch !== 45 ) {
break ;
}
following = state . input . charCodeAt ( state . position + 1 ) ;
if ( ! is _WS _OR _EOL ( following ) ) {
break ;
}
detected = true ;
state . position ++ ;
if ( skipSeparationSpace ( state , true , - 1 ) ) {
if ( state . lineIndent <= nodeIndent ) {
_result . push ( null ) ;
ch = state . input . charCodeAt ( state . position ) ;
continue ;
}
}
_line = state . line ;
composeNode ( state , nodeIndent , CONTEXT _BLOCK _IN , false , true ) ;
_result . push ( state . result ) ;
skipSeparationSpace ( state , true , - 1 ) ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ( state . line === _line || state . lineIndent > nodeIndent ) && ch !== 0 ) {
throwError ( state , "bad indentation of a sequence entry" ) ;
} else if ( state . lineIndent < nodeIndent ) {
break ;
}
}
if ( detected ) {
state . tag = _tag ;
state . anchor = _anchor ;
state . kind = "sequence" ;
state . result = _result ;
return true ;
}
return false ;
}
function readBlockMapping ( state , nodeIndent , flowIndent ) {
var following , allowCompact , _line , _keyLine , _keyLineStart , _keyPos , _tag = state . tag , _anchor = state . anchor , _result = { } , overridableKeys = /* @__PURE__ */ Object . create ( null ) , keyTag = null , keyNode = null , valueNode = null , atExplicitKey = false , detected = false , ch ;
if ( state . firstTabInLine !== - 1 )
return false ;
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = _result ;
}
ch = state . input . charCodeAt ( state . position ) ;
while ( ch !== 0 ) {
if ( ! atExplicitKey && state . firstTabInLine !== - 1 ) {
state . position = state . firstTabInLine ;
throwError ( state , "tab characters must not be used in indentation" ) ;
}
following = state . input . charCodeAt ( state . position + 1 ) ;
_line = state . line ;
if ( ( ch === 63 || ch === 58 ) && is _WS _OR _EOL ( following ) ) {
if ( ch === 63 ) {
if ( atExplicitKey ) {
storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , null , _keyLine , _keyLineStart , _keyPos ) ;
keyTag = keyNode = valueNode = null ;
}
detected = true ;
atExplicitKey = true ;
allowCompact = true ;
} else if ( atExplicitKey ) {
atExplicitKey = false ;
allowCompact = true ;
} else {
throwError ( state , "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line" ) ;
}
state . position += 1 ;
ch = following ;
} else {
_keyLine = state . line ;
_keyLineStart = state . lineStart ;
_keyPos = state . position ;
if ( ! composeNode ( state , flowIndent , CONTEXT _FLOW _OUT , false , true ) ) {
break ;
}
if ( state . line === _line ) {
ch = state . input . charCodeAt ( state . position ) ;
while ( is _WHITE _SPACE ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( ch === 58 ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( ! is _WS _OR _EOL ( ch ) ) {
throwError ( state , "a whitespace character is expected after the key-value separator within a block mapping" ) ;
}
if ( atExplicitKey ) {
storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , null , _keyLine , _keyLineStart , _keyPos ) ;
keyTag = keyNode = valueNode = null ;
}
detected = true ;
atExplicitKey = false ;
allowCompact = false ;
keyTag = state . tag ;
keyNode = state . result ;
} else if ( detected ) {
throwError ( state , "can not read an implicit mapping pair; a colon is missed" ) ;
} else {
state . tag = _tag ;
state . anchor = _anchor ;
return true ;
}
} else if ( detected ) {
throwError ( state , "can not read a block mapping entry; a multiline key may not be an implicit key" ) ;
} else {
state . tag = _tag ;
state . anchor = _anchor ;
return true ;
}
}
if ( state . line === _line || state . lineIndent > nodeIndent ) {
if ( atExplicitKey ) {
_keyLine = state . line ;
_keyLineStart = state . lineStart ;
_keyPos = state . position ;
}
if ( composeNode ( state , nodeIndent , CONTEXT _BLOCK _OUT , true , allowCompact ) ) {
if ( atExplicitKey ) {
keyNode = state . result ;
} else {
valueNode = state . result ;
}
}
if ( ! atExplicitKey ) {
storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , valueNode , _keyLine , _keyLineStart , _keyPos ) ;
keyTag = keyNode = valueNode = null ;
}
skipSeparationSpace ( state , true , - 1 ) ;
ch = state . input . charCodeAt ( state . position ) ;
}
if ( ( state . line === _line || state . lineIndent > nodeIndent ) && ch !== 0 ) {
throwError ( state , "bad indentation of a mapping entry" ) ;
} else if ( state . lineIndent < nodeIndent ) {
break ;
}
}
if ( atExplicitKey ) {
storeMappingPair ( state , _result , overridableKeys , keyTag , keyNode , null , _keyLine , _keyLineStart , _keyPos ) ;
}
if ( detected ) {
state . tag = _tag ;
state . anchor = _anchor ;
state . kind = "mapping" ;
state . result = _result ;
}
return detected ;
}
function readTagProperty ( state ) {
var _position , isVerbatim = false , isNamed = false , tagHandle , tagName , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch !== 33 )
return false ;
if ( state . tag !== null ) {
throwError ( state , "duplication of a tag property" ) ;
}
ch = state . input . charCodeAt ( ++ state . position ) ;
if ( ch === 60 ) {
isVerbatim = true ;
ch = state . input . charCodeAt ( ++ state . position ) ;
} else if ( ch === 33 ) {
isNamed = true ;
tagHandle = "!!" ;
ch = state . input . charCodeAt ( ++ state . position ) ;
} else {
tagHandle = "!" ;
}
_position = state . position ;
if ( isVerbatim ) {
do {
ch = state . input . charCodeAt ( ++ state . position ) ;
} while ( ch !== 0 && ch !== 62 ) ;
if ( state . position < state . length ) {
tagName = state . input . slice ( _position , state . position ) ;
ch = state . input . charCodeAt ( ++ state . position ) ;
} else {
throwError ( state , "unexpected end of the stream within a verbatim tag" ) ;
}
} else {
while ( ch !== 0 && ! is _WS _OR _EOL ( ch ) ) {
if ( ch === 33 ) {
if ( ! isNamed ) {
tagHandle = state . input . slice ( _position - 1 , state . position + 1 ) ;
if ( ! PATTERN _TAG _HANDLE . test ( tagHandle ) ) {
throwError ( state , "named tag handle cannot contain such characters" ) ;
}
isNamed = true ;
_position = state . position + 1 ;
} else {
throwError ( state , "tag suffix cannot contain exclamation marks" ) ;
}
}
ch = state . input . charCodeAt ( ++ state . position ) ;
}
tagName = state . input . slice ( _position , state . position ) ;
if ( PATTERN _FLOW _INDICATORS . test ( tagName ) ) {
throwError ( state , "tag suffix cannot contain flow indicator characters" ) ;
}
}
if ( tagName && ! PATTERN _TAG _URI . test ( tagName ) ) {
throwError ( state , "tag name cannot contain such characters: " + tagName ) ;
}
try {
tagName = decodeURIComponent ( tagName ) ;
} catch ( err ) {
throwError ( state , "tag name is malformed: " + tagName ) ;
}
if ( isVerbatim ) {
state . tag = tagName ;
} else if ( _hasOwnProperty$1 . call ( state . tagMap , tagHandle ) ) {
state . tag = state . tagMap [ tagHandle ] + tagName ;
} else if ( tagHandle === "!" ) {
state . tag = "!" + tagName ;
} else if ( tagHandle === "!!" ) {
state . tag = "tag:yaml.org,2002:" + tagName ;
} else {
throwError ( state , 'undeclared tag handle "' + tagHandle + '"' ) ;
}
return true ;
}
function readAnchorProperty ( state ) {
var _position , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch !== 38 )
return false ;
if ( state . anchor !== null ) {
throwError ( state , "duplication of an anchor property" ) ;
}
ch = state . input . charCodeAt ( ++ state . position ) ;
_position = state . position ;
while ( ch !== 0 && ! is _WS _OR _EOL ( ch ) && ! is _FLOW _INDICATOR ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( state . position === _position ) {
throwError ( state , "name of an anchor node must contain at least one character" ) ;
}
state . anchor = state . input . slice ( _position , state . position ) ;
return true ;
}
function readAlias ( state ) {
var _position , alias , ch ;
ch = state . input . charCodeAt ( state . position ) ;
if ( ch !== 42 )
return false ;
ch = state . input . charCodeAt ( ++ state . position ) ;
_position = state . position ;
while ( ch !== 0 && ! is _WS _OR _EOL ( ch ) && ! is _FLOW _INDICATOR ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( state . position === _position ) {
throwError ( state , "name of an alias node must contain at least one character" ) ;
}
alias = state . input . slice ( _position , state . position ) ;
if ( ! _hasOwnProperty$1 . call ( state . anchorMap , alias ) ) {
throwError ( state , 'unidentified alias "' + alias + '"' ) ;
}
state . result = state . anchorMap [ alias ] ;
skipSeparationSpace ( state , true , - 1 ) ;
return true ;
}
function composeNode ( state , parentIndent , nodeContext , allowToSeek , allowCompact ) {
var allowBlockStyles , allowBlockScalars , allowBlockCollections , indentStatus = 1 , atNewLine = false , hasContent = false , typeIndex , typeQuantity , typeList , type2 , flowIndent , blockIndent ;
if ( state . listener !== null ) {
state . listener ( "open" , state ) ;
}
state . tag = null ;
state . anchor = null ;
state . kind = null ;
state . result = null ;
allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT _BLOCK _OUT === nodeContext || CONTEXT _BLOCK _IN === nodeContext ;
if ( allowToSeek ) {
if ( skipSeparationSpace ( state , true , - 1 ) ) {
atNewLine = true ;
if ( state . lineIndent > parentIndent ) {
indentStatus = 1 ;
} else if ( state . lineIndent === parentIndent ) {
indentStatus = 0 ;
} else if ( state . lineIndent < parentIndent ) {
indentStatus = - 1 ;
}
}
}
if ( indentStatus === 1 ) {
while ( readTagProperty ( state ) || readAnchorProperty ( state ) ) {
if ( skipSeparationSpace ( state , true , - 1 ) ) {
atNewLine = true ;
allowBlockCollections = allowBlockStyles ;
if ( state . lineIndent > parentIndent ) {
indentStatus = 1 ;
} else if ( state . lineIndent === parentIndent ) {
indentStatus = 0 ;
} else if ( state . lineIndent < parentIndent ) {
indentStatus = - 1 ;
}
} else {
allowBlockCollections = false ;
}
}
}
if ( allowBlockCollections ) {
allowBlockCollections = atNewLine || allowCompact ;
}
if ( indentStatus === 1 || CONTEXT _BLOCK _OUT === nodeContext ) {
if ( CONTEXT _FLOW _IN === nodeContext || CONTEXT _FLOW _OUT === nodeContext ) {
flowIndent = parentIndent ;
} else {
flowIndent = parentIndent + 1 ;
}
blockIndent = state . position - state . lineStart ;
if ( indentStatus === 1 ) {
if ( allowBlockCollections && ( readBlockSequence ( state , blockIndent ) || readBlockMapping ( state , blockIndent , flowIndent ) ) || readFlowCollection ( state , flowIndent ) ) {
hasContent = true ;
} else {
if ( allowBlockScalars && readBlockScalar ( state , flowIndent ) || readSingleQuotedScalar ( state , flowIndent ) || readDoubleQuotedScalar ( state , flowIndent ) ) {
hasContent = true ;
} else if ( readAlias ( state ) ) {
hasContent = true ;
if ( state . tag !== null || state . anchor !== null ) {
throwError ( state , "alias node should not have any properties" ) ;
}
} else if ( readPlainScalar ( state , flowIndent , CONTEXT _FLOW _IN === nodeContext ) ) {
hasContent = true ;
if ( state . tag === null ) {
state . tag = "?" ;
}
}
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = state . result ;
}
}
} else if ( indentStatus === 0 ) {
hasContent = allowBlockCollections && readBlockSequence ( state , blockIndent ) ;
}
}
if ( state . tag === null ) {
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = state . result ;
}
} else if ( state . tag === "?" ) {
if ( state . result !== null && state . kind !== "scalar" ) {
throwError ( state , 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state . kind + '"' ) ;
}
for ( typeIndex = 0 , typeQuantity = state . implicitTypes . length ; typeIndex < typeQuantity ; typeIndex += 1 ) {
type2 = state . implicitTypes [ typeIndex ] ;
if ( type2 . resolve ( state . result ) ) {
state . result = type2 . construct ( state . result ) ;
state . tag = type2 . tag ;
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = state . result ;
}
break ;
}
}
} else if ( state . tag !== "!" ) {
if ( _hasOwnProperty$1 . call ( state . typeMap [ state . kind || "fallback" ] , state . tag ) ) {
type2 = state . typeMap [ state . kind || "fallback" ] [ state . tag ] ;
} else {
type2 = null ;
typeList = state . typeMap . multi [ state . kind || "fallback" ] ;
for ( typeIndex = 0 , typeQuantity = typeList . length ; typeIndex < typeQuantity ; typeIndex += 1 ) {
if ( state . tag . slice ( 0 , typeList [ typeIndex ] . tag . length ) === typeList [ typeIndex ] . tag ) {
type2 = typeList [ typeIndex ] ;
break ;
}
}
}
if ( ! type2 ) {
throwError ( state , "unknown tag !<" + state . tag + ">" ) ;
}
if ( state . result !== null && type2 . kind !== state . kind ) {
throwError ( state , "unacceptable node kind for !<" + state . tag + '> tag; it should be "' + type2 . kind + '", not "' + state . kind + '"' ) ;
}
if ( ! type2 . resolve ( state . result , state . tag ) ) {
throwError ( state , "cannot resolve a node with !<" + state . tag + "> explicit tag" ) ;
} else {
state . result = type2 . construct ( state . result , state . tag ) ;
if ( state . anchor !== null ) {
state . anchorMap [ state . anchor ] = state . result ;
}
}
}
if ( state . listener !== null ) {
state . listener ( "close" , state ) ;
}
return state . tag !== null || state . anchor !== null || hasContent ;
}
function readDocument ( state ) {
var documentStart = state . position , _position , directiveName , directiveArgs , hasDirectives = false , ch ;
state . version = null ;
state . checkLineBreaks = state . legacy ;
state . tagMap = /* @__PURE__ */ Object . create ( null ) ;
state . anchorMap = /* @__PURE__ */ Object . create ( null ) ;
while ( ( ch = state . input . charCodeAt ( state . position ) ) !== 0 ) {
skipSeparationSpace ( state , true , - 1 ) ;
ch = state . input . charCodeAt ( state . position ) ;
if ( state . lineIndent > 0 || ch !== 37 ) {
break ;
}
hasDirectives = true ;
ch = state . input . charCodeAt ( ++ state . position ) ;
_position = state . position ;
while ( ch !== 0 && ! is _WS _OR _EOL ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
directiveName = state . input . slice ( _position , state . position ) ;
directiveArgs = [ ] ;
if ( directiveName . length < 1 ) {
throwError ( state , "directive name must not be less than one character in length" ) ;
}
while ( ch !== 0 ) {
while ( is _WHITE _SPACE ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
if ( ch === 35 ) {
do {
ch = state . input . charCodeAt ( ++ state . position ) ;
} while ( ch !== 0 && ! is _EOL ( ch ) ) ;
break ;
}
if ( is _EOL ( ch ) )
break ;
_position = state . position ;
while ( ch !== 0 && ! is _WS _OR _EOL ( ch ) ) {
ch = state . input . charCodeAt ( ++ state . position ) ;
}
directiveArgs . push ( state . input . slice ( _position , state . position ) ) ;
}
if ( ch !== 0 )
readLineBreak ( state ) ;
if ( _hasOwnProperty$1 . call ( directiveHandlers , directiveName ) ) {
directiveHandlers [ directiveName ] ( state , directiveName , directiveArgs ) ;
} else {
throwWarning ( state , 'unknown document directive "' + directiveName + '"' ) ;
}
}
skipSeparationSpace ( state , true , - 1 ) ;
if ( state . lineIndent === 0 && state . input . charCodeAt ( state . position ) === 45 && state . input . charCodeAt ( state . position + 1 ) === 45 && state . input . charCodeAt ( state . position + 2 ) === 45 ) {
state . position += 3 ;
skipSeparationSpace ( state , true , - 1 ) ;
} else if ( hasDirectives ) {
throwError ( state , "directives end mark is expected" ) ;
}
composeNode ( state , state . lineIndent - 1 , CONTEXT _BLOCK _OUT , false , true ) ;
skipSeparationSpace ( state , true , - 1 ) ;
if ( state . checkLineBreaks && PATTERN _NON _ASCII _LINE _BREAKS . test ( state . input . slice ( documentStart , state . position ) ) ) {
throwWarning ( state , "non-ASCII line breaks are interpreted as content" ) ;
}
state . documents . push ( state . result ) ;
if ( state . position === state . lineStart && testDocumentSeparator ( state ) ) {
if ( state . input . charCodeAt ( state . position ) === 46 ) {
state . position += 3 ;
skipSeparationSpace ( state , true , - 1 ) ;
}
return ;
}
if ( state . position < state . length - 1 ) {
throwError ( state , "end of the stream or a document separator is expected" ) ;
} else {
return ;
}
}
function loadDocuments ( input , options ) {
input = String ( input ) ;
options = options || { } ;
if ( input . length !== 0 ) {
if ( input . charCodeAt ( input . length - 1 ) !== 10 && input . charCodeAt ( input . length - 1 ) !== 13 ) {
input += "\n" ;
}
if ( input . charCodeAt ( 0 ) === 65279 ) {
input = input . slice ( 1 ) ;
}
}
var state = new State$1 ( input , options ) ;
var nullpos = input . indexOf ( "\0" ) ;
if ( nullpos !== - 1 ) {
state . position = nullpos ;
throwError ( state , "null byte is not allowed in input" ) ;
}
state . input += "\0" ;
while ( state . input . charCodeAt ( state . position ) === 32 ) {
state . lineIndent += 1 ;
state . position += 1 ;
}
while ( state . position < state . length - 1 ) {
readDocument ( state ) ;
}
return state . documents ;
}
function loadAll$1 ( input , iterator , options ) {
if ( iterator !== null && typeof iterator === "object" && typeof options === "undefined" ) {
options = iterator ;
iterator = null ;
}
var documents = loadDocuments ( input , options ) ;
if ( typeof iterator !== "function" ) {
return documents ;
}
for ( var index = 0 , length = documents . length ; index < length ; index += 1 ) {
iterator ( documents [ index ] ) ;
}
}
function load$1 ( input , options ) {
var documents = loadDocuments ( input , options ) ;
if ( documents . length === 0 ) {
return void 0 ;
} else if ( documents . length === 1 ) {
return documents [ 0 ] ;
}
throw new exception ( "expected a single document in the stream, but found more" ) ;
}
var loadAll _1 = loadAll$1 ;
var load _1 = load$1 ;
var loader = {
loadAll : loadAll _1 ,
load : load _1
} ;
var _toString = Object . prototype . toString ;
var _hasOwnProperty = Object . prototype . hasOwnProperty ;
var CHAR _BOM = 65279 ;
var CHAR _TAB = 9 ;
var CHAR _LINE _FEED = 10 ;
var CHAR _CARRIAGE _RETURN = 13 ;
var CHAR _SPACE = 32 ;
var CHAR _EXCLAMATION = 33 ;
var CHAR _DOUBLE _QUOTE = 34 ;
var CHAR _SHARP = 35 ;
var CHAR _PERCENT = 37 ;
var CHAR _AMPERSAND = 38 ;
var CHAR _SINGLE _QUOTE = 39 ;
var CHAR _ASTERISK = 42 ;
var CHAR _COMMA = 44 ;
var CHAR _MINUS = 45 ;
var CHAR _COLON = 58 ;
var CHAR _EQUALS = 61 ;
var CHAR _GREATER _THAN = 62 ;
var CHAR _QUESTION = 63 ;
var CHAR _COMMERCIAL _AT = 64 ;
var CHAR _LEFT _SQUARE _BRACKET = 91 ;
var CHAR _RIGHT _SQUARE _BRACKET = 93 ;
var CHAR _GRAVE _ACCENT = 96 ;
var CHAR _LEFT _CURLY _BRACKET = 123 ;
var CHAR _VERTICAL _LINE = 124 ;
var CHAR _RIGHT _CURLY _BRACKET = 125 ;
var ESCAPE _SEQUENCES = { } ;
ESCAPE _SEQUENCES [ 0 ] = "\\0" ;
ESCAPE _SEQUENCES [ 7 ] = "\\a" ;
ESCAPE _SEQUENCES [ 8 ] = "\\b" ;
ESCAPE _SEQUENCES [ 9 ] = "\\t" ;
ESCAPE _SEQUENCES [ 10 ] = "\\n" ;
ESCAPE _SEQUENCES [ 11 ] = "\\v" ;
ESCAPE _SEQUENCES [ 12 ] = "\\f" ;
ESCAPE _SEQUENCES [ 13 ] = "\\r" ;
ESCAPE _SEQUENCES [ 27 ] = "\\e" ;
ESCAPE _SEQUENCES [ 34 ] = '\\"' ;
ESCAPE _SEQUENCES [ 92 ] = "\\\\" ;
ESCAPE _SEQUENCES [ 133 ] = "\\N" ;
ESCAPE _SEQUENCES [ 160 ] = "\\_" ;
ESCAPE _SEQUENCES [ 8232 ] = "\\L" ;
ESCAPE _SEQUENCES [ 8233 ] = "\\P" ;
var DEPRECATED _BOOLEANS _SYNTAX = [
"y" ,
"Y" ,
"yes" ,
"Yes" ,
"YES" ,
"on" ,
"On" ,
"ON" ,
"n" ,
"N" ,
"no" ,
"No" ,
"NO" ,
"off" ,
"Off" ,
"OFF"
] ;
var DEPRECATED _BASE60 _SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/ ;
function compileStyleMap ( schema2 , map2 ) {
var result , keys , index , length , tag , style , type2 ;
if ( map2 === null )
return { } ;
result = { } ;
keys = Object . keys ( map2 ) ;
for ( index = 0 , length = keys . length ; index < length ; index += 1 ) {
tag = keys [ index ] ;
style = String ( map2 [ tag ] ) ;
if ( tag . slice ( 0 , 2 ) === "!!" ) {
tag = "tag:yaml.org,2002:" + tag . slice ( 2 ) ;
}
type2 = schema2 . compiledTypeMap [ "fallback" ] [ tag ] ;
if ( type2 && _hasOwnProperty . call ( type2 . styleAliases , style ) ) {
style = type2 . styleAliases [ style ] ;
}
result [ tag ] = style ;
}
return result ;
}
function encodeHex ( character ) {
var string , handle , length ;
string = character . toString ( 16 ) . toUpperCase ( ) ;
if ( character <= 255 ) {
handle = "x" ;
length = 2 ;
} else if ( character <= 65535 ) {
handle = "u" ;
length = 4 ;
} else if ( character <= 4294967295 ) {
handle = "U" ;
length = 8 ;
} else {
throw new exception ( "code point within a string may not be greater than 0xFFFFFFFF" ) ;
}
return "\\" + handle + common . repeat ( "0" , length - string . length ) + string ;
}
var QUOTING _TYPE _SINGLE = 1 , QUOTING _TYPE _DOUBLE = 2 ;
function State ( options ) {
this . schema = options [ "schema" ] || _default ;
this . indent = Math . max ( 1 , options [ "indent" ] || 2 ) ;
this . noArrayIndent = options [ "noArrayIndent" ] || false ;
this . skipInvalid = options [ "skipInvalid" ] || false ;
this . flowLevel = common . isNothing ( options [ "flowLevel" ] ) ? - 1 : options [ "flowLevel" ] ;
this . styleMap = compileStyleMap ( this . schema , options [ "styles" ] || null ) ;
this . sortKeys = options [ "sortKeys" ] || false ;
this . lineWidth = options [ "lineWidth" ] || 80 ;
this . noRefs = options [ "noRefs" ] || false ;
this . noCompatMode = options [ "noCompatMode" ] || false ;
this . condenseFlow = options [ "condenseFlow" ] || false ;
this . quotingType = options [ "quotingType" ] === '"' ? QUOTING _TYPE _DOUBLE : QUOTING _TYPE _SINGLE ;
this . forceQuotes = options [ "forceQuotes" ] || false ;
this . replacer = typeof options [ "replacer" ] === "function" ? options [ "replacer" ] : null ;
this . implicitTypes = this . schema . compiledImplicit ;
this . explicitTypes = this . schema . compiledExplicit ;
this . tag = null ;
this . result = "" ;
this . duplicates = [ ] ;
this . usedDuplicates = null ;
}
function indentString ( string , spaces ) {
var ind = common . repeat ( " " , spaces ) , position = 0 , next = - 1 , result = "" , line , length = string . length ;
while ( position < length ) {
next = string . indexOf ( "\n" , position ) ;
if ( next === - 1 ) {
line = string . slice ( position ) ;
position = length ;
} else {
line = string . slice ( position , next + 1 ) ;
position = next + 1 ;
}
if ( line . length && line !== "\n" )
result += ind ;
result += line ;
}
return result ;
}
function generateNextLine ( state , level ) {
return "\n" + common . repeat ( " " , state . indent * level ) ;
}
function testImplicitResolving ( state , str2 ) {
var index , length , type2 ;
for ( index = 0 , length = state . implicitTypes . length ; index < length ; index += 1 ) {
type2 = state . implicitTypes [ index ] ;
if ( type2 . resolve ( str2 ) ) {
return true ;
}
}
return false ;
}
function isWhitespace ( c ) {
return c === CHAR _SPACE || c === CHAR _TAB ;
}
function isPrintable ( c ) {
return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== CHAR _BOM || 65536 <= c && c <= 1114111 ;
}
function isNsCharOrWhitespace ( c ) {
return isPrintable ( c ) && c !== CHAR _BOM && c !== CHAR _CARRIAGE _RETURN && c !== CHAR _LINE _FEED ;
}
function isPlainSafe ( c , prev , inblock ) {
var cIsNsCharOrWhitespace = isNsCharOrWhitespace ( c ) ;
var cIsNsChar = cIsNsCharOrWhitespace && ! isWhitespace ( c ) ;
return (
// ns-plain-safe
( inblock ? (
// c = flow-in
cIsNsCharOrWhitespace
) : cIsNsCharOrWhitespace && c !== CHAR _COMMA && c !== CHAR _LEFT _SQUARE _BRACKET && c !== CHAR _RIGHT _SQUARE _BRACKET && c !== CHAR _LEFT _CURLY _BRACKET && c !== CHAR _RIGHT _CURLY _BRACKET ) && c !== CHAR _SHARP && ! ( prev === CHAR _COLON && ! cIsNsChar ) || isNsCharOrWhitespace ( prev ) && ! isWhitespace ( prev ) && c === CHAR _SHARP || prev === CHAR _COLON && cIsNsChar
) ;
}
function isPlainSafeFirst ( c ) {
return isPrintable ( c ) && c !== CHAR _BOM && ! isWhitespace ( c ) && c !== CHAR _MINUS && c !== CHAR _QUESTION && c !== CHAR _COLON && c !== CHAR _COMMA && c !== CHAR _LEFT _SQUARE _BRACKET && c !== CHAR _RIGHT _SQUARE _BRACKET && c !== CHAR _LEFT _CURLY _BRACKET && c !== CHAR _RIGHT _CURLY _BRACKET && c !== CHAR _SHARP && c !== CHAR _AMPERSAND && c !== CHAR _ASTERISK && c !== CHAR _EXCLAMATION && c !== CHAR _VERTICAL _LINE && c !== CHAR _EQUALS && c !== CHAR _GREATER _THAN && c !== CHAR _SINGLE _QUOTE && c !== CHAR _DOUBLE _QUOTE && c !== CHAR _PERCENT && c !== CHAR _COMMERCIAL _AT && c !== CHAR _GRAVE _ACCENT ;
}
function isPlainSafeLast ( c ) {
return ! isWhitespace ( c ) && c !== CHAR _COLON ;
}
function codePointAt ( string , pos ) {
var first = string . charCodeAt ( pos ) , second ;
if ( first >= 55296 && first <= 56319 && pos + 1 < string . length ) {
second = string . charCodeAt ( pos + 1 ) ;
if ( second >= 56320 && second <= 57343 ) {
return ( first - 55296 ) * 1024 + second - 56320 + 65536 ;
}
}
return first ;
}
function needIndentIndicator ( string ) {
var leadingSpaceRe = /^\n* / ;
return leadingSpaceRe . test ( string ) ;
}
var STYLE _PLAIN = 1 , STYLE _SINGLE = 2 , STYLE _LITERAL = 3 , STYLE _FOLDED = 4 , STYLE _DOUBLE = 5 ;
function chooseScalarStyle ( string , singleLineOnly , indentPerLevel , lineWidth , testAmbiguousType , quotingType , forceQuotes , inblock ) {
var i ;
var char = 0 ;
var prevChar = null ;
var hasLineBreak = false ;
var hasFoldableLine = false ;
var shouldTrackWidth = lineWidth !== - 1 ;
var previousLineBreak = - 1 ;
var plain = isPlainSafeFirst ( codePointAt ( string , 0 ) ) && isPlainSafeLast ( codePointAt ( string , string . length - 1 ) ) ;
if ( singleLineOnly || forceQuotes ) {
for ( i = 0 ; i < string . length ; char >= 65536 ? i += 2 : i ++ ) {
char = codePointAt ( string , i ) ;
if ( ! isPrintable ( char ) ) {
return STYLE _DOUBLE ;
}
plain = plain && isPlainSafe ( char , prevChar , inblock ) ;
prevChar = char ;
}
} else {
for ( i = 0 ; i < string . length ; char >= 65536 ? i += 2 : i ++ ) {
char = codePointAt ( string , i ) ;
if ( char === CHAR _LINE _FEED ) {
hasLineBreak = true ;
if ( shouldTrackWidth ) {
hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
i - previousLineBreak - 1 > lineWidth && string [ previousLineBreak + 1 ] !== " " ;
previousLineBreak = i ;
}
} else if ( ! isPrintable ( char ) ) {
return STYLE _DOUBLE ;
}
plain = plain && isPlainSafe ( char , prevChar , inblock ) ;
prevChar = char ;
}
hasFoldableLine = hasFoldableLine || shouldTrackWidth && ( i - previousLineBreak - 1 > lineWidth && string [ previousLineBreak + 1 ] !== " " ) ;
}
if ( ! hasLineBreak && ! hasFoldableLine ) {
if ( plain && ! forceQuotes && ! testAmbiguousType ( string ) ) {
return STYLE _PLAIN ;
}
return quotingType === QUOTING _TYPE _DOUBLE ? STYLE _DOUBLE : STYLE _SINGLE ;
}
if ( indentPerLevel > 9 && needIndentIndicator ( string ) ) {
return STYLE _DOUBLE ;
}
if ( ! forceQuotes ) {
return hasFoldableLine ? STYLE _FOLDED : STYLE _LITERAL ;
}
return quotingType === QUOTING _TYPE _DOUBLE ? STYLE _DOUBLE : STYLE _SINGLE ;
}
function writeScalar ( state , string , level , iskey , inblock ) {
state . dump = function ( ) {
if ( string . length === 0 ) {
return state . quotingType === QUOTING _TYPE _DOUBLE ? '""' : "''" ;
}
if ( ! state . noCompatMode ) {
if ( DEPRECATED _BOOLEANS _SYNTAX . indexOf ( string ) !== - 1 || DEPRECATED _BASE60 _SYNTAX . test ( string ) ) {
return state . quotingType === QUOTING _TYPE _DOUBLE ? '"' + string + '"' : "'" + string + "'" ;
}
}
var indent = state . indent * Math . max ( 1 , level ) ;
var lineWidth = state . lineWidth === - 1 ? - 1 : Math . max ( Math . min ( state . lineWidth , 40 ) , state . lineWidth - indent ) ;
var singleLineOnly = iskey || state . flowLevel > - 1 && level >= state . flowLevel ;
function testAmbiguity ( string2 ) {
return testImplicitResolving ( state , string2 ) ;
}
switch ( chooseScalarStyle (
string ,
singleLineOnly ,
state . indent ,
lineWidth ,
testAmbiguity ,
state . quotingType ,
state . forceQuotes && ! iskey ,
inblock
) ) {
case STYLE _PLAIN :
return string ;
case STYLE _SINGLE :
return "'" + string . replace ( /'/g , "''" ) + "'" ;
case STYLE _LITERAL :
return "|" + blockHeader ( string , state . indent ) + dropEndingNewline ( indentString ( string , indent ) ) ;
case STYLE _FOLDED :
return ">" + blockHeader ( string , state . indent ) + dropEndingNewline ( indentString ( foldString ( string , lineWidth ) , indent ) ) ;
case STYLE _DOUBLE :
return '"' + escapeString ( string ) + '"' ;
default :
throw new exception ( "impossible error: invalid scalar style" ) ;
}
} ( ) ;
}
function blockHeader ( string , indentPerLevel ) {
var indentIndicator = needIndentIndicator ( string ) ? String ( indentPerLevel ) : "" ;
var clip = string [ string . length - 1 ] === "\n" ;
var keep = clip && ( string [ string . length - 2 ] === "\n" || string === "\n" ) ;
var chomp = keep ? "+" : clip ? "" : "-" ;
return indentIndicator + chomp + "\n" ;
}
function dropEndingNewline ( string ) {
return string [ string . length - 1 ] === "\n" ? string . slice ( 0 , - 1 ) : string ;
}
function foldString ( string , width ) {
var lineRe = /(\n+)([^\n]*)/g ;
var result = function ( ) {
var nextLF = string . indexOf ( "\n" ) ;
nextLF = nextLF !== - 1 ? nextLF : string . length ;
lineRe . lastIndex = nextLF ;
return foldLine ( string . slice ( 0 , nextLF ) , width ) ;
} ( ) ;
var prevMoreIndented = string [ 0 ] === "\n" || string [ 0 ] === " " ;
var moreIndented ;
var match ;
while ( match = lineRe . exec ( string ) ) {
var prefix = match [ 1 ] , line = match [ 2 ] ;
moreIndented = line [ 0 ] === " " ;
result += prefix + ( ! prevMoreIndented && ! moreIndented && line !== "" ? "\n" : "" ) + foldLine ( line , width ) ;
prevMoreIndented = moreIndented ;
}
return result ;
}
function foldLine ( line , width ) {
if ( line === "" || line [ 0 ] === " " )
return line ;
var breakRe = / [^ ]/g ;
var match ;
var start = 0 , end , curr = 0 , next = 0 ;
var result = "" ;
while ( match = breakRe . exec ( line ) ) {
next = match . index ;
if ( next - start > width ) {
end = curr > start ? curr : next ;
result += "\n" + line . slice ( start , end ) ;
start = end + 1 ;
}
curr = next ;
}
result += "\n" ;
if ( line . length - start > width && curr > start ) {
result += line . slice ( start , curr ) + "\n" + line . slice ( curr + 1 ) ;
} else {
result += line . slice ( start ) ;
}
return result . slice ( 1 ) ;
}
function escapeString ( string ) {
var result = "" ;
var char = 0 ;
var escapeSeq ;
for ( var i = 0 ; i < string . length ; char >= 65536 ? i += 2 : i ++ ) {
char = codePointAt ( string , i ) ;
escapeSeq = ESCAPE _SEQUENCES [ char ] ;
if ( ! escapeSeq && isPrintable ( char ) ) {
result += string [ i ] ;
if ( char >= 65536 )
result += string [ i + 1 ] ;
} else {
result += escapeSeq || encodeHex ( char ) ;
}
}
return result ;
}
function writeFlowSequence ( state , level , object ) {
var _result = "" , _tag = state . tag , index , length , value ;
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
value = object [ index ] ;
if ( state . replacer ) {
value = state . replacer . call ( object , String ( index ) , value ) ;
}
if ( writeNode ( state , level , value , false , false ) || typeof value === "undefined" && writeNode ( state , level , null , false , false ) ) {
if ( _result !== "" )
_result += "," + ( ! state . condenseFlow ? " " : "" ) ;
_result += state . dump ;
}
}
state . tag = _tag ;
state . dump = "[" + _result + "]" ;
}
function writeBlockSequence ( state , level , object , compact ) {
var _result = "" , _tag = state . tag , index , length , value ;
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
value = object [ index ] ;
if ( state . replacer ) {
value = state . replacer . call ( object , String ( index ) , value ) ;
}
if ( writeNode ( state , level + 1 , value , true , true , false , true ) || typeof value === "undefined" && writeNode ( state , level + 1 , null , true , true , false , true ) ) {
if ( ! compact || _result !== "" ) {
_result += generateNextLine ( state , level ) ;
}
if ( state . dump && CHAR _LINE _FEED === state . dump . charCodeAt ( 0 ) ) {
_result += "-" ;
} else {
_result += "- " ;
}
_result += state . dump ;
}
}
state . tag = _tag ;
state . dump = _result || "[]" ;
}
function writeFlowMapping ( state , level , object ) {
var _result = "" , _tag = state . tag , objectKeyList = Object . keys ( object ) , index , length , objectKey , objectValue , pairBuffer ;
for ( index = 0 , length = objectKeyList . length ; index < length ; index += 1 ) {
pairBuffer = "" ;
if ( _result !== "" )
pairBuffer += ", " ;
if ( state . condenseFlow )
pairBuffer += '"' ;
objectKey = objectKeyList [ index ] ;
objectValue = object [ objectKey ] ;
if ( state . replacer ) {
objectValue = state . replacer . call ( object , objectKey , objectValue ) ;
}
if ( ! writeNode ( state , level , objectKey , false , false ) ) {
continue ;
}
if ( state . dump . length > 1024 )
pairBuffer += "? " ;
pairBuffer += state . dump + ( state . condenseFlow ? '"' : "" ) + ":" + ( state . condenseFlow ? "" : " " ) ;
if ( ! writeNode ( state , level , objectValue , false , false ) ) {
continue ;
}
pairBuffer += state . dump ;
_result += pairBuffer ;
}
state . tag = _tag ;
state . dump = "{" + _result + "}" ;
}
function writeBlockMapping ( state , level , object , compact ) {
var _result = "" , _tag = state . tag , objectKeyList = Object . keys ( object ) , index , length , objectKey , objectValue , explicitPair , pairBuffer ;
if ( state . sortKeys === true ) {
objectKeyList . sort ( ) ;
} else if ( typeof state . sortKeys === "function" ) {
objectKeyList . sort ( state . sortKeys ) ;
} else if ( state . sortKeys ) {
throw new exception ( "sortKeys must be a boolean or a function" ) ;
}
for ( index = 0 , length = objectKeyList . length ; index < length ; index += 1 ) {
pairBuffer = "" ;
if ( ! compact || _result !== "" ) {
pairBuffer += generateNextLine ( state , level ) ;
}
objectKey = objectKeyList [ index ] ;
objectValue = object [ objectKey ] ;
if ( state . replacer ) {
objectValue = state . replacer . call ( object , objectKey , objectValue ) ;
}
if ( ! writeNode ( state , level + 1 , objectKey , true , true , true ) ) {
continue ;
}
explicitPair = state . tag !== null && state . tag !== "?" || state . dump && state . dump . length > 1024 ;
if ( explicitPair ) {
if ( state . dump && CHAR _LINE _FEED === state . dump . charCodeAt ( 0 ) ) {
pairBuffer += "?" ;
} else {
pairBuffer += "? " ;
}
}
pairBuffer += state . dump ;
if ( explicitPair ) {
pairBuffer += generateNextLine ( state , level ) ;
}
if ( ! writeNode ( state , level + 1 , objectValue , true , explicitPair ) ) {
continue ;
}
if ( state . dump && CHAR _LINE _FEED === state . dump . charCodeAt ( 0 ) ) {
pairBuffer += ":" ;
} else {
pairBuffer += ": " ;
}
pairBuffer += state . dump ;
_result += pairBuffer ;
}
state . tag = _tag ;
state . dump = _result || "{}" ;
}
function detectType ( state , object , explicit ) {
var _result , typeList , index , length , type2 , style ;
typeList = explicit ? state . explicitTypes : state . implicitTypes ;
for ( index = 0 , length = typeList . length ; index < length ; index += 1 ) {
type2 = typeList [ index ] ;
if ( ( type2 . instanceOf || type2 . predicate ) && ( ! type2 . instanceOf || typeof object === "object" && object instanceof type2 . instanceOf ) && ( ! type2 . predicate || type2 . predicate ( object ) ) ) {
if ( explicit ) {
if ( type2 . multi && type2 . representName ) {
state . tag = type2 . representName ( object ) ;
} else {
state . tag = type2 . tag ;
}
} else {
state . tag = "?" ;
}
if ( type2 . represent ) {
style = state . styleMap [ type2 . tag ] || type2 . defaultStyle ;
if ( _toString . call ( type2 . represent ) === "[object Function]" ) {
_result = type2 . represent ( object , style ) ;
} else if ( _hasOwnProperty . call ( type2 . represent , style ) ) {
_result = type2 . represent [ style ] ( object , style ) ;
} else {
throw new exception ( "!<" + type2 . tag + '> tag resolver accepts not "' + style + '" style' ) ;
}
state . dump = _result ;
}
return true ;
}
}
return false ;
}
function writeNode ( state , level , object , block , compact , iskey , isblockseq ) {
state . tag = null ;
state . dump = object ;
if ( ! detectType ( state , object , false ) ) {
detectType ( state , object , true ) ;
}
var type2 = _toString . call ( state . dump ) ;
var inblock = block ;
var tagStr ;
if ( block ) {
block = state . flowLevel < 0 || state . flowLevel > level ;
}
var objectOrArray = type2 === "[object Object]" || type2 === "[object Array]" , duplicateIndex , duplicate ;
if ( objectOrArray ) {
duplicateIndex = state . duplicates . indexOf ( object ) ;
duplicate = duplicateIndex !== - 1 ;
}
if ( state . tag !== null && state . tag !== "?" || duplicate || state . indent !== 2 && level > 0 ) {
compact = false ;
}
if ( duplicate && state . usedDuplicates [ duplicateIndex ] ) {
state . dump = "*ref_" + duplicateIndex ;
} else {
if ( objectOrArray && duplicate && ! state . usedDuplicates [ duplicateIndex ] ) {
state . usedDuplicates [ duplicateIndex ] = true ;
}
if ( type2 === "[object Object]" ) {
if ( block && Object . keys ( state . dump ) . length !== 0 ) {
writeBlockMapping ( state , level , state . dump , compact ) ;
if ( duplicate ) {
state . dump = "&ref_" + duplicateIndex + state . dump ;
}
} else {
writeFlowMapping ( state , level , state . dump ) ;
if ( duplicate ) {
state . dump = "&ref_" + duplicateIndex + " " + state . dump ;
}
}
} else if ( type2 === "[object Array]" ) {
if ( block && state . dump . length !== 0 ) {
if ( state . noArrayIndent && ! isblockseq && level > 0 ) {
writeBlockSequence ( state , level - 1 , state . dump , compact ) ;
} else {
writeBlockSequence ( state , level , state . dump , compact ) ;
}
if ( duplicate ) {
state . dump = "&ref_" + duplicateIndex + state . dump ;
}
} else {
writeFlowSequence ( state , level , state . dump ) ;
if ( duplicate ) {
state . dump = "&ref_" + duplicateIndex + " " + state . dump ;
}
}
} else if ( type2 === "[object String]" ) {
if ( state . tag !== "?" ) {
writeScalar ( state , state . dump , level , iskey , inblock ) ;
}
} else if ( type2 === "[object Undefined]" ) {
return false ;
} else {
if ( state . skipInvalid )
return false ;
throw new exception ( "unacceptable kind of an object to dump " + type2 ) ;
}
if ( state . tag !== null && state . tag !== "?" ) {
tagStr = encodeURI (
state . tag [ 0 ] === "!" ? state . tag . slice ( 1 ) : state . tag
) . replace ( /!/g , "%21" ) ;
if ( state . tag [ 0 ] === "!" ) {
tagStr = "!" + tagStr ;
} else if ( tagStr . slice ( 0 , 18 ) === "tag:yaml.org,2002:" ) {
tagStr = "!!" + tagStr . slice ( 18 ) ;
} else {
tagStr = "!<" + tagStr + ">" ;
}
state . dump = tagStr + " " + state . dump ;
}
}
return true ;
}
function getDuplicateReferences ( object , state ) {
var objects = [ ] , duplicatesIndexes = [ ] , index , length ;
inspectNode ( object , objects , duplicatesIndexes ) ;
for ( index = 0 , length = duplicatesIndexes . length ; index < length ; index += 1 ) {
state . duplicates . push ( objects [ duplicatesIndexes [ index ] ] ) ;
}
state . usedDuplicates = new Array ( length ) ;
}
function inspectNode ( object , objects , duplicatesIndexes ) {
var objectKeyList , index , length ;
if ( object !== null && typeof object === "object" ) {
index = objects . indexOf ( object ) ;
if ( index !== - 1 ) {
if ( duplicatesIndexes . indexOf ( index ) === - 1 ) {
duplicatesIndexes . push ( index ) ;
}
} else {
objects . push ( object ) ;
if ( Array . isArray ( object ) ) {
for ( index = 0 , length = object . length ; index < length ; index += 1 ) {
inspectNode ( object [ index ] , objects , duplicatesIndexes ) ;
}
} else {
objectKeyList = Object . keys ( object ) ;
for ( index = 0 , length = objectKeyList . length ; index < length ; index += 1 ) {
inspectNode ( object [ objectKeyList [ index ] ] , objects , duplicatesIndexes ) ;
}
}
}
}
}
function dump$1 ( input , options ) {
options = options || { } ;
var state = new State ( options ) ;
if ( ! state . noRefs )
getDuplicateReferences ( input , state ) ;
var value = input ;
if ( state . replacer ) {
value = state . replacer . call ( { "" : value } , "" , value ) ;
}
if ( writeNode ( state , 0 , value , true , true ) )
return state . dump + "\n" ;
return "" ;
}
var dump _1 = dump$1 ;
var dumper = {
dump : dump _1
} ;
function renamed ( from , to ) {
return function ( ) {
throw new Error ( "Function yaml." + from + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default." ) ;
} ;
}
var Type = type ;
var Schema = schema ;
var FAILSAFE _SCHEMA = failsafe ;
var JSON _SCHEMA = json ;
var CORE _SCHEMA = core ;
var DEFAULT _SCHEMA = _default ;
var load$2 = loader . load ;
var loadAll = loader . loadAll ;
var dump = dumper . dump ;
var YAMLException = exception ;
var types = {
binary ,
float ,
map ,
null : _null ,
pairs ,
set ,
timestamp ,
bool ,
int ,
merge ,
omap ,
seq ,
str
} ;
var safeLoad = renamed ( "safeLoad" , "load" ) ;
var safeLoadAll = renamed ( "safeLoadAll" , "loadAll" ) ;
var safeDump = renamed ( "safeDump" , "dump" ) ;
var jsYaml = {
Type ,
Schema ,
FAILSAFE _SCHEMA ,
JSON _SCHEMA ,
CORE _SCHEMA ,
DEFAULT _SCHEMA ,
load : load$2 ,
loadAll ,
dump ,
YAMLException ,
types ,
safeLoad ,
safeLoadAll ,
safeDump
} ;
const CONFIG = jsYaml . load ( `
title : Web3Privacy Prague 2023
2023-02-12 17:12:29 +01:00
shortname : "Web3Privacy Summit #1"
2023-02-12 01:08:18 +01:00
date : Monday , 5. June 2023
venue : X10 , Prague
2023-02-12 02:37:44 +01:00
slogan : |
2023-02-12 17:12:29 +01:00
We need to protect our privacy , and that 's why we' re coming together on June 5 to Prague to sit down and discuss different aspects of privacy in the Web3 industry - how we can help shape it and make it more accessible - building a shared culture . The conference complements the research project [ Web3Privacy Now ] ( http : //web3privacy.info/) and was created by joining forces with the production team of the privacy hackathon [ETHBrno](https://ethbrno.cz/).
2023-02-12 01:08:18 +01:00
themes :
- title : Human rights DAOs ( pro - privacy )
- title : Identity ( ID )
- title : Mixnets → Full - Stack Privacy
2023-02-12 02:37:44 +01:00
desc : Imagine a Full - Stack Privacy - > how would it even look alike !
2023-02-12 01:08:18 +01:00
- title : Cryptography
- title : Tech journalists
2023-02-12 02:37:44 +01:00
desc : Ethical crypto vs global cyberwars agenda
2023-02-12 01:08:18 +01:00
- title : Asian community
2023-02-12 02:37:44 +01:00
desc : It ' s rare to see asians in Europe , but there are so many of them doing privacy solutions
2023-02-12 01:08:18 +01:00
- title : Privacy wars
2023-02-12 02:37:44 +01:00
desc : Why are privacy - blockchain socials so toxic ? We should stop hating each other & work together
2023-02-12 01:08:18 +01:00
- title : Privacy workforce
- title : "Privacy activist's"
- title : R & D ( ZK , MPC )
- title : Network states ( with a privacy focus )
2023-02-12 02:37:44 +01:00
desc : The network state - as - a - grassroots movement
2023-02-12 01:08:18 +01:00
- title : Solarpunk vs Lunarpunk
2023-02-12 02:37:44 +01:00
desc : For solarpunk to succeed it must integrate the lunarpunk unconscious . The only hope for solarpunk is to [ go dark ] ( https : //www.egirlcapital.com/writings/107533289). Do you agree?
2023-02-12 01:08:18 +01:00
- title : Veksl
2023-02-13 13:11:16 +01:00
desc : Easy onboarding to cryptocurrencies without KYC / AML using peer - to - peer tools is crucial for privacy . What options do we have today ?
- title : Private messaging protocols
desc : We need resilient privacy - preserving , p2p communication layers for Web3 , that allows free and uncensored human - to - human , machine - to - machine or hybrid communication .
2023-02-12 01:08:18 +01:00
tickets :
- title : All - day Access
price : 2350 CZK ( ~ 99 EUR )
includes :
- All talks & panels
- Coffee breaks
- Buffet lunch
- Networking drinks with speakers & attendees
2023-02-13 18:10:43 +01:00
hint : |
[ Apply for a discount → ] ( https : //tally.so/r/mYPDJW)<br />(as independent developer, student, privacy advocate, open-source contributor..)
2023-02-12 01:08:18 +01:00
- title : "#Lunarpunk Party"
price : 350 CZK ( ~ 15 EUR )
includes :
2023-02-12 02:37:44 +01:00
- 8 pm - morning
2023-02-12 01:08:18 +01:00
- Prague rave from top DJs
- VJs and projections
- Networking with attendees , speakers & sponsors
note : "*Party access is included in the All-day Pass"
faq :
- title : Who is the event for ?
2023-02-12 02:37:44 +01:00
text : Our event is for anyone interested in privacy topics in the Web3 industry . There will be space for about 300 enthusiasts .
- title : Will the talks be livestreamed and / or recorded ?
text : Yes , we plan do both . Livestream of the whole conference and recordings of the lectures will be publicly available .
2023-02-13 18:10:43 +01:00
- title : When will tickets go on sale ? What will be the payment options ?
text : Tickets will go on sale in early March 2023. Payment will be possible via credit card , Bitcoin ( on - chain ) , Lightning Network or possibly other cryptocurrencies .
- title : All - day access ticket is expensive for me . Do you offer any discounts ?
text : Yes , we do ! We offer discounts ( up to 75 % ) for independent developers , students and especially active privacy advocates or open - source contributors to private protocols or tools . If you are interested in a discount , please fill out [ this form ] ( https : //tally.so/r/mYPDJW).
2023-02-12 01:08:18 +01:00
- title : How do I get to the venue ?
2023-02-12 02:37:44 +01:00
text : Venue X10 ( full name "[Divadlo X10](https://divadlox10.cz)" ) is located in the centre of Prague near the metro station * Národní Třída * ( Line B ) and * Můstek * ( Line A , C ) . The address is [ Charvátova 10 / 39 , Prague 1 , 110 00 ] ( https : //goo.gl/maps/Yh8qWagnqB1DvK676) ([Google Maps](https://goo.gl/maps/Yh8qWagnqB1DvK676)).
2023-02-12 17:12:29 +01:00
people :
- id : mykola
name : Mykola Siusko
twitter : nicksvyaznoy
img : mykola . png
- id : tree
name : Tree
twitter : treecz
img : tree . jpeg
2023-02-12 18:08:37 +01:00
- id : juraj - bednar
name : Juraj Bednar
twitter : jurbed
img : juraj - bednar . jpeg
- id : mario - havel
name : Mario Havel
twitter : TMIYChao
img : mario - havel . jpeg
speakers :
- juraj - bednar
- mario - havel
2023-02-12 17:12:29 +01:00
hosts :
- mykola
- tree
2023-02-12 01:08:18 +01:00
program :
- time : 9 : 00 - 9 : 30
title : Registration & networking
- time : 9 : 30 - 9 : 35
title : Welcome to Web3Privacy
speakers :
- name : TBA
2023-02-12 02:37:44 +01:00
desc : Welcoming visitors to our private - centric research , community and conference
2023-02-12 01:08:18 +01:00
- time : 9 : 35 - 10 : 55
title : Talks I .
- time : 10 : 55 - 11 : 20
title : 25 min Coffee Break
- time : 11 : 25 - 12 : 40
title : Talks II .
- time : 12 : 40 - 14 : 00
title : Lunch & Networking
- time : 14 : 00 - 15 : 40
title : Talks III .
- time : 15 : 40 - 16 : 05
title : 25 min Coffee Break
- time : 16 : 10 - 18 : 30
title : Talks IV .
- time : 18 : 30 - 18 : 35
title : Closing Remarks
speakers :
- name : TBA
- time : 18 : 30 - 20 : 00
title : Networking & Drinks
- time : 20 : 00 - 4 : 00
title : "#Lunarpunk party"
2023-02-12 02:37:44 +01:00
desc : Enjoy our afterparty in Lunarpunk style with quality Prague rave DJs , which will take place in the same venue until the morning ( 4 am ) .
2023-02-12 01:08:18 +01:00
` );
async function load ( { params , url , fetch } ) {
return {
config : CONFIG
} ;
}
const _layout = /* @__PURE__ */ Object . freeze ( /* @__PURE__ */ Object . defineProperty ( {
_ _proto _ _ : null ,
load
} , Symbol . toStringTag , { value : "Module" } ) ) ;
export {
_layout as _ ,
load as l
} ;