package yaml

The size of the input raw buffer.
The size of the input buffer. It should be possible to decode the whole raw buffer.
The size of the output buffer.
The size of the output raw buffer. It should be possible to encode the whole output buffer.
The size of other stacks and queues.
Check if the character at the specified position is an alphabetical character, a digit, '_', or '-'.
func ( []byte,  int) bool {
	return [] >= '0' && [] <= '9' || [] >= 'A' && [] <= 'Z' || [] >= 'a' && [] <= 'z' || [] == '_' || [] == '-'
}
Check if the character at the specified position is a digit.
func ( []byte,  int) bool {
	return [] >= '0' && [] <= '9'
}
Get the value of a digit.
func ( []byte,  int) int {
	return int([]) - '0'
}
Check if the character at the specified position is a hex-digit.
func ( []byte,  int) bool {
	return [] >= '0' && [] <= '9' || [] >= 'A' && [] <= 'F' || [] >= 'a' && [] <= 'f'
}
Get the value of a hex-digit.
func ( []byte,  int) int {
	 := []
	if  >= 'A' &&  <= 'F' {
		return int() - 'A' + 10
	}
	if  >= 'a' &&  <= 'f' {
		return int() - 'a' + 10
	}
	return int() - '0'
}
Check if the character is ASCII.
func ( []byte,  int) bool {
	return [] <= 0x7F
}
Check if the character at the start of the buffer can be printed unescaped.
func ( []byte,  int) bool {
	return (([] == 0x0A) || // . == #x0A
		([] >= 0x20 && [] <= 0x7E) || // #x20 <= . <= #x7E
		([] == 0xC2 && [+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF
		([] > 0xC2 && [] < 0xED) ||
		([] == 0xED && [+1] < 0xA0) ||
		([] == 0xEE) ||
		([] == 0xEF && // #xE000 <= . <= #xFFFD
			!([+1] == 0xBB && [+2] == 0xBF) && // && . != #xFEFF
			!([+1] == 0xBF && ([+2] == 0xBE || [+2] == 0xBF))))
}
Check if the character at the specified position is NUL.
func ( []byte,  int) bool {
	return [] == 0x00
}
Check if the beginning of the buffer is a BOM.
func ( []byte,  int) bool {
	return [0] == 0xEF && [1] == 0xBB && [2] == 0xBF
}
Check if the character at the specified position is space.
func ( []byte,  int) bool {
	return [] == ' '
}
Check if the character at the specified position is tab.
func ( []byte,  int) bool {
	return [] == '\t'
}
Check if the character at the specified position is blank (space or tab).
return is_space(b, i) || is_tab(b, i)
	return [] == ' ' || [] == '\t'
}
Check if the character at the specified position is a line break.
func ( []byte,  int) bool {
	return ([] == '\r' || // CR (#xD)
		[] == '\n' || // LF (#xA)
		[] == 0xC2 && [+1] == 0x85 || // NEL (#x85)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA8 || // LS (#x2028)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA9) // PS (#x2029)
}

func ( []byte,  int) bool {
	return [] == '\r' && [+1] == '\n'
}
Check if the character is a line break or NUL.
return is_break(b, i) || is_z(b, i)
	return (        // is_break:
	[] == '\r' || // CR (#xD)
		[] == '\n' || // LF (#xA)
		[] == 0xC2 && [+1] == 0x85 || // NEL (#x85)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA8 || // LS (#x2028)
is_z:
		[] == 0)
}
Check if the character is a line break, space, or NUL.
return is_space(b, i) || is_breakz(b, i)
	return ( // is_space:
is_breakz:
		[] == '\r' || // CR (#xD)
		[] == '\n' || // LF (#xA)
		[] == 0xC2 && [+1] == 0x85 || // NEL (#x85)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA8 || // LS (#x2028)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA9 || // PS (#x2029)
		[] == 0)
}
Check if the character is a line break, space, tab, or NUL.
return is_blank(b, i) || is_breakz(b, i)
	return ( // is_blank:
is_breakz:
		[] == '\r' || // CR (#xD)
		[] == '\n' || // LF (#xA)
		[] == 0xC2 && [+1] == 0x85 || // NEL (#x85)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA8 || // LS (#x2028)
		[] == 0xE2 && [+1] == 0x80 && [+2] == 0xA9 || // PS (#x2029)
		[] == 0)
}
Determine the width of the character.
Don't replace these by a switch without first confirming that it is being inlined.
	if &0x80 == 0x00 {
		return 1
	}
	if &0xE0 == 0xC0 {
		return 2
	}
	if &0xF0 == 0xE0 {
		return 3
	}
	if &0xF8 == 0xF0 {
		return 4
	}
	return 0