@k-l-lambda/lilylet-markdown 0.1.69 → 0.1.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +599 -342
- package/lib/index.js +599 -342
- package/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -11,14 +11,14 @@ var localGrammar = function() {
|
|
|
11
11
|
var o = function(k, v, o2, l) {
|
|
12
12
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
|
|
13
13
|
return o2;
|
|
14
|
-
}, $V0 = [5, 26, 33, 36,
|
|
14
|
+
}, $V0 = [5, 26, 33, 36, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 182, 184, 185], $V1 = [2, 44], $V2 = [1, 9], $V3 = [1, 10], $V4 = [1, 11], $V5 = [1, 12], $V6 = [1, 13], $V7 = [1, 14], $V8 = [1, 15], $V9 = [1, 16], $Va = [1, 17], $Vb = [1, 18], $Vc = [1, 19], $Vd = [1, 20], $Ve = [1, 29], $Vf = [1, 32], $Vg = [1, 33], $Vh = [5, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 33, 36, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 182, 184, 185], $Vi = [5, 26], $Vj = [5, 26, 33], $Vk = [1, 47], $Vl = [5, 26, 33, 36], $Vm = [1, 87], $Vn = [1, 88], $Vo = [1, 89], $Vp = [1, 90], $Vq = [1, 91], $Vr = [1, 92], $Vs = [1, 98], $Vt = [1, 99], $Vu = [1, 67], $Vv = [1, 68], $Vw = [1, 69], $Vx = [1, 70], $Vy = [1, 71], $Vz = [1, 112], $VA = [1, 113], $VB = [1, 114], $VC = [1, 115], $VD = [1, 100], $VE = [1, 101], $VF = [1, 102], $VG = [1, 110], $VH = [1, 111], $VI = [1, 103], $VJ = [1, 104], $VK = [1, 105], $VL = [1, 106], $VM = [1, 107], $VN = [1, 108], $VO = [1, 109], $VP = [1, 83], $VQ = [1, 84], $VR = [1, 85], $VS = [1, 86], $VT = [1, 116], $VU = [1, 117], $VV = [1, 118], $VW = [1, 119], $VX = [1, 120], $VY = [1, 121], $VZ = [1, 122], $V_ = [1, 123], $V$ = [1, 124], $V01 = [1, 125], $V11 = [1, 126], $V21 = [1, 127], $V31 = [1, 128], $V41 = [1, 94], $V51 = [1, 95], $V61 = [1, 96], $V71 = [1, 97], $V81 = [5, 9, 26, 33, 36, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 182, 184, 185], $V91 = [2, 29], $Va1 = [5, 9, 26, 33, 36, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 116, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 182, 184, 185], $Vb1 = [5, 9, 26, 33, 36, 180, 182, 184, 185], $Vc1 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 72, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $Vd1 = [2, 136], $Ve1 = [1, 154], $Vf1 = [1, 155], $Vg1 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 69, 71, 72, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $Vh1 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 69, 72, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $Vi1 = [5, 9, 26, 33, 36, 51, 52, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 116, 117, 118, 120, 180, 182, 184, 185], $Vj1 = [1, 242], $Vk1 = [1, 248], $Vl1 = [1, 222], $Vm1 = [1, 223], $Vn1 = [1, 220], $Vo1 = [1, 245], $Vp1 = [1, 221], $Vq1 = [1, 219], $Vr1 = [1, 244], $Vs1 = [1, 213], $Vt1 = [1, 214], $Vu1 = [1, 215], $Vv1 = [1, 216], $Vw1 = [1, 217], $Vx1 = [1, 218], $Vy1 = [1, 224], $Vz1 = [1, 225], $VA1 = [1, 226], $VB1 = [1, 227], $VC1 = [1, 228], $VD1 = [1, 229], $VE1 = [1, 230], $VF1 = [1, 231], $VG1 = [1, 232], $VH1 = [1, 233], $VI1 = [1, 234], $VJ1 = [1, 235], $VK1 = [1, 236], $VL1 = [1, 237], $VM1 = [1, 238], $VN1 = [1, 239], $VO1 = [1, 240], $VP1 = [1, 241], $VQ1 = [1, 243], $VR1 = [1, 246], $VS1 = [1, 247], $VT1 = [1, 249], $VU1 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 69, 72, 73, 74, 75, 76, 77, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $VV1 = [2, 82], $VW1 = [9, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 116, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166], $VX1 = [116, 203, 204, 205, 206], $VY1 = [116, 187, 191], $VZ1 = [2, 217], $V_1 = [63, 64], $V$1 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $V02 = [5, 9, 13, 26, 33, 36, 51, 52, 53, 54, 55, 61, 63, 64, 69, 73, 74, 75, 76, 77, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], $V12 = [1, 290], $V22 = [1, 304], $V32 = [1, 305], $V42 = [1, 320], $V52 = [1, 321], $V62 = [1, 323], $V72 = [1, 324], $V82 = [1, 325], $V92 = [2, 221], $Va2 = [1, 327], $Vb2 = [61, 64, 69, 71, 116], $Vc2 = [189, 192, 197, 199, 200, 201], $Vd2 = [189, 192, 197], $Ve2 = [2, 230], $Vf2 = [116, 187, 191, 194];
|
|
15
15
|
var parser = {
|
|
16
16
|
trace: function trace() {
|
|
17
17
|
},
|
|
18
18
|
yy: {},
|
|
19
|
-
symbols_: { "error": 2, "document": 3, "content": 4, "EOF": 5, "headers": 6, "measures": 7, "newlines": 8, "NEWLINE": 9, "header": 10, "HEADER_TITLE": 11, "STRING": 12, "]": 13, "HEADER_SUBTITLE": 14, "HEADER_COMPOSER": 15, "HEADER_ARRANGER": 16, "HEADER_LYRICIST": 17, "HEADER_OPUS": 18, "HEADER_INSTRUMENT": 19, "HEADER_INSTRUMENT_STAFF": 20, "HEADER_GENRE": 21, "HEADER_STAVES": 22, "HEADER_MEASURES": 23, "HEADER_AUTOBEAM": 24, "measure_content": 25, "|": 26, "parts": 27, "annotations_opt": 28, "annotations": 29, "addlyrics_block": 30, "figures_block": 31, "part_voices": 32, "PART_SEP": 33, "part_start": 34, "voice_block": 35, "VOICE_SEP": 36, "voice_events": 37, "event": 38, "note_event": 39, "
|
|
20
|
-
terminals_: { 2: "error", 5: "EOF", 9: "NEWLINE", 11: "HEADER_TITLE", 12: "STRING", 13: "]", 14: "HEADER_SUBTITLE", 15: "HEADER_COMPOSER", 16: "HEADER_ARRANGER", 17: "HEADER_LYRICIST", 18: "HEADER_OPUS", 19: "HEADER_INSTRUMENT", 20: "HEADER_INSTRUMENT_STAFF", 21: "HEADER_GENRE", 22: "HEADER_STAVES", 23: "HEADER_MEASURES", 24: "HEADER_AUTOBEAM", 26: "|", 33: "PART_SEP", 36: "VOICE_SEP",
|
|
21
|
-
productions_: [0, [3, 2], [4, 2], [4, 3], [4, 3], [4, 4], [4, 2], [4, 1], [8, 1], [8, 2], [6, 1], [6, 2], [6, 2], [6, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 4], [10, 3], [10, 3], [10, 3], [10, 3], [7, 1], [7, 3], [7, 2], [25, 1], [28, 0], [28, 1], [29, 1], [29, 1], [29, 2], [29, 2], [29, 2], [27, 1], [27, 4], [34, 0], [32, 1], [32, 3], [35, 2], [37, 0], [37, 2], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [
|
|
19
|
+
symbols_: { "error": 2, "document": 3, "content": 4, "EOF": 5, "headers": 6, "measures": 7, "newlines": 8, "NEWLINE": 9, "header": 10, "HEADER_TITLE": 11, "STRING": 12, "]": 13, "HEADER_SUBTITLE": 14, "HEADER_COMPOSER": 15, "HEADER_ARRANGER": 16, "HEADER_LYRICIST": 17, "HEADER_OPUS": 18, "HEADER_INSTRUMENT": 19, "HEADER_INSTRUMENT_STAFF": 20, "HEADER_GENRE": 21, "HEADER_STAVES": 22, "HEADER_MEASURES": 23, "HEADER_AUTOBEAM": 24, "measure_content": 25, "|": 26, "parts": 27, "annotations_opt": 28, "annotations": 29, "addlyrics_block": 30, "figures_block": 31, "part_voices": 32, "PART_SEP": 33, "part_start": 34, "voice_block": 35, "VOICE_SEP": 36, "voice_events": 37, "event": 38, "note_event": 39, "head_shape_cmd": 40, "rest_event": 41, "context_event": 42, "grace_event": 43, "tuplet_event": 44, "tremolo_event": 45, "pitch_reset_event": 46, "barline_event": 47, "harmony_event": 48, "markup_event": 49, "dynamic_event": 50, "CMD_BAR": 51, "CMD_CHORDS": 52, "CMD_MARKUP": 53, "^": 54, "_": 55, "dynamic_mark": 56, "chord": 57, "duration": 58, "post_events": 59, "pitch": 60, "<": 61, "pitches": 62, ">": 63, "PITCH": 64, "octave": 65, "!": 66, "OCT_UP": 67, "OCT_DOWN": 68, "NUMBER": 69, "dots": 70, "CMD_BREVE": 71, ".": 72, "CMD_XNOTE": 73, "CMD_IMPROV_ON": 74, "CMD_IMPROV_OFF": 75, "REST_CHAR": 76, "*": 77, "SPACE_CHAR": 78, "clef_cmd": 79, "key_cmd": 80, "time_cmd": 81, "partial_cmd": 82, "tempo_cmd": 83, "staff_cmd": 84, "ottava_cmd": 85, "stem_cmd": 86, "numeric_time_sig_cmd": 87, "default_time_sig_cmd": 88, "omit_cmd": 89, "CMD_OMIT_TIME_SIG": 90, "CMD_UNDO_OMIT_TIME_SIG": 91, "CMD_OMIT_BAR_LINE": 92, "CMD_UNDO_OMIT_BAR_LINE": 93, "CMD_CLEF": 94, "CMD_KEY": 95, "pitch_name": 96, "mode": 97, "MODE_MAJOR": 98, "MODE_MINOR": 99, "CMD_TIME": 100, "/": 101, "CMD_NUMERIC_TIME_SIG": 102, "CMD_DEFAULT_TIME_SIG": 103, "CMD_PARTIAL": 104, "CMD_TEMPO": 105, "=": 106, "CMD_STAFF": 107, "CMD_OTTAVA": 108, "#": 109, "-": 110, "CMD_STEMUP": 111, "CMD_STEMDOWN": 112, "CMD_STEMNEUTRAL": 113, "CMD_GRACE": 114, "{": 115, "}": 116, "CMD_TIMES": 117, "CMD_TUPLET": 118, "tremolo_pitches": 119, "CMD_REPEAT": 120, "TREMOLO": 121, "post_event": 122, "articulation_mark": 123, "ornament_mark": 124, "hairpin_mark": 125, "pedal_mark": 126, "tie_mark": 127, "slur_mark": 128, "beam_mark": 129, "tremolo_mark": 130, "direction_mark": 131, "rest_mark": 132, "fingering_mark": 133, "fingering_number": 134, "navigation_mark": 135, "markup_mark": 136, "glissando_mark": 137, "CMD_REST": 138, "ART_STACCATO": 139, "ART_STACCATISSIMO": 140, "ART_TENUTO": 141, "ART_MARCATO": 142, "ART_ACCENT": 143, "ART_PORTATO": 144, "ORN_TRILL": 145, "ORN_TURN": 146, "ORN_MORDENT": 147, "ORN_PRALL": 148, "ORN_FERMATA": 149, "ORN_SHORTFERMATA": 150, "ORN_ARPEGGIO": 151, "ORN_BREATHE": 152, "ORN_CAESURA": 153, "DYN_PPP": 154, "DYN_PP": 155, "DYN_P": 156, "DYN_MP": 157, "DYN_MF": 158, "DYN_F": 159, "DYN_FF": 160, "DYN_FFF": 161, "DYN_SFZ": 162, "DYN_RFZ": 163, "DYN_SF": 164, "DYN_OTHER": 165, "DYN_FP": 166, "CMD_CRESC_BEGIN": 167, "CMD_DIM_BEGIN": 168, "CMD_DYNAMICS_END": 169, "CMD_SUSTAINON": 170, "CMD_SUSTAINOFF": 171, "~": 172, "(": 173, ")": 174, "[": 175, ":": 176, "CMD_CODA": 177, "CMD_SEGNO": 178, "CMD_GLISSANDO": 179, "CMD_ADDLYRICS": 180, "lyric_sequence": 181, "CMD_FIGURES": 182, "figure_sequence": 183, "CMD_FIGURES_BELOW": 184, "CMD_FIGURES_ABOVE": 185, "figure_item": 186, "FIG_OPEN": 187, "figure_lines": 188, "FIG_CLOSE": 189, "figure_duration_opt": 190, "FIG_SKIP": 191, "FIG_NUMBER": 192, "figure_dots": 193, "FIG_DOT": 194, "figure_line": 195, "figure_accidental_opt": 196, "FIG_BLANK": 197, "figure_accidental": 198, "FIG_SHARP": 199, "FIG_FLAT": 200, "FIG_NATURAL": 201, "lyric_item": 202, "LYRIC_WORD": 203, "LYRIC_HYPHEN": 204, "LYRIC_SKIP": 205, "LYRIC_EXTENDER": 206, "$accept": 0, "$end": 1 },
|
|
20
|
+
terminals_: { 2: "error", 5: "EOF", 9: "NEWLINE", 11: "HEADER_TITLE", 12: "STRING", 13: "]", 14: "HEADER_SUBTITLE", 15: "HEADER_COMPOSER", 16: "HEADER_ARRANGER", 17: "HEADER_LYRICIST", 18: "HEADER_OPUS", 19: "HEADER_INSTRUMENT", 20: "HEADER_INSTRUMENT_STAFF", 21: "HEADER_GENRE", 22: "HEADER_STAVES", 23: "HEADER_MEASURES", 24: "HEADER_AUTOBEAM", 26: "|", 33: "PART_SEP", 36: "VOICE_SEP", 51: "CMD_BAR", 52: "CMD_CHORDS", 53: "CMD_MARKUP", 54: "^", 55: "_", 61: "<", 63: ">", 64: "PITCH", 66: "!", 67: "OCT_UP", 68: "OCT_DOWN", 69: "NUMBER", 71: "CMD_BREVE", 72: ".", 73: "CMD_XNOTE", 74: "CMD_IMPROV_ON", 75: "CMD_IMPROV_OFF", 76: "REST_CHAR", 77: "*", 78: "SPACE_CHAR", 90: "CMD_OMIT_TIME_SIG", 91: "CMD_UNDO_OMIT_TIME_SIG", 92: "CMD_OMIT_BAR_LINE", 93: "CMD_UNDO_OMIT_BAR_LINE", 94: "CMD_CLEF", 95: "CMD_KEY", 98: "MODE_MAJOR", 99: "MODE_MINOR", 100: "CMD_TIME", 101: "/", 102: "CMD_NUMERIC_TIME_SIG", 103: "CMD_DEFAULT_TIME_SIG", 104: "CMD_PARTIAL", 105: "CMD_TEMPO", 106: "=", 107: "CMD_STAFF", 108: "CMD_OTTAVA", 109: "#", 110: "-", 111: "CMD_STEMUP", 112: "CMD_STEMDOWN", 113: "CMD_STEMNEUTRAL", 114: "CMD_GRACE", 115: "{", 116: "}", 117: "CMD_TIMES", 118: "CMD_TUPLET", 120: "CMD_REPEAT", 121: "TREMOLO", 138: "CMD_REST", 139: "ART_STACCATO", 140: "ART_STACCATISSIMO", 141: "ART_TENUTO", 142: "ART_MARCATO", 143: "ART_ACCENT", 144: "ART_PORTATO", 145: "ORN_TRILL", 146: "ORN_TURN", 147: "ORN_MORDENT", 148: "ORN_PRALL", 149: "ORN_FERMATA", 150: "ORN_SHORTFERMATA", 151: "ORN_ARPEGGIO", 152: "ORN_BREATHE", 153: "ORN_CAESURA", 154: "DYN_PPP", 155: "DYN_PP", 156: "DYN_P", 157: "DYN_MP", 158: "DYN_MF", 159: "DYN_F", 160: "DYN_FF", 161: "DYN_FFF", 162: "DYN_SFZ", 163: "DYN_RFZ", 164: "DYN_SF", 165: "DYN_OTHER", 166: "DYN_FP", 167: "CMD_CRESC_BEGIN", 168: "CMD_DIM_BEGIN", 169: "CMD_DYNAMICS_END", 170: "CMD_SUSTAINON", 171: "CMD_SUSTAINOFF", 172: "~", 173: "(", 174: ")", 175: "[", 176: ":", 177: "CMD_CODA", 178: "CMD_SEGNO", 179: "CMD_GLISSANDO", 180: "CMD_ADDLYRICS", 182: "CMD_FIGURES", 184: "CMD_FIGURES_BELOW", 185: "CMD_FIGURES_ABOVE", 187: "FIG_OPEN", 189: "FIG_CLOSE", 191: "FIG_SKIP", 192: "FIG_NUMBER", 194: "FIG_DOT", 197: "FIG_BLANK", 199: "FIG_SHARP", 200: "FIG_FLAT", 201: "FIG_NATURAL", 203: "LYRIC_WORD", 204: "LYRIC_HYPHEN", 205: "LYRIC_SKIP", 206: "LYRIC_EXTENDER" },
|
|
21
|
+
productions_: [0, [3, 2], [4, 2], [4, 3], [4, 3], [4, 4], [4, 2], [4, 1], [8, 1], [8, 2], [6, 1], [6, 2], [6, 2], [6, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 3], [10, 4], [10, 3], [10, 3], [10, 3], [10, 3], [7, 1], [7, 3], [7, 2], [25, 1], [28, 0], [28, 1], [29, 1], [29, 1], [29, 2], [29, 2], [29, 2], [27, 1], [27, 4], [34, 0], [32, 1], [32, 3], [35, 2], [37, 0], [37, 2], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [38, 1], [47, 2], [48, 2], [49, 2], [49, 3], [49, 3], [50, 1], [46, 1], [39, 3], [39, 3], [39, 2], [39, 2], [57, 3], [62, 1], [62, 2], [60, 3], [60, 2], [60, 2], [60, 1], [65, 1], [65, 1], [65, 2], [65, 2], [58, 2], [58, 2], [70, 0], [70, 2], [40, 1], [40, 1], [40, 1], [41, 3], [41, 5], [41, 3], [41, 2], [41, 2], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [42, 1], [89, 1], [89, 1], [89, 1], [89, 1], [79, 2], [80, 3], [96, 1], [97, 1], [97, 1], [81, 4], [87, 1], [88, 1], [82, 2], [83, 5], [83, 2], [83, 4], [84, 2], [85, 3], [85, 4], [85, 1], [86, 1], [86, 1], [86, 1], [43, 4], [43, 2], [43, 2], [44, 7], [44, 7], [119, 1], [119, 1], [45, 11], [45, 9], [45, 7], [59, 0], [59, 2], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [122, 1], [132, 1], [123, 1], [123, 1], [123, 1], [123, 1], [123, 1], [123, 1], [123, 2], [123, 2], [123, 2], [123, 2], [123, 2], [123, 2], [123, 1], [123, 1], [123, 1], [123, 1], [123, 1], [124, 1], [124, 1], [124, 1], [124, 1], [124, 1], [124, 1], [124, 1], [124, 1], [124, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [56, 1], [125, 1], [125, 1], [125, 1], [126, 1], [126, 1], [127, 1], [128, 1], [128, 1], [129, 1], [129, 1], [130, 2], [131, 2], [131, 2], [133, 2], [134, 1], [135, 1], [135, 1], [136, 2], [137, 1], [30, 4], [31, 4], [31, 4], [31, 4], [183, 0], [183, 2], [186, 4], [186, 2], [190, 0], [190, 2], [193, 0], [193, 2], [188, 1], [188, 2], [195, 2], [195, 2], [195, 1], [196, 0], [196, 1], [198, 1], [198, 1], [198, 1], [181, 0], [181, 2], [202, 1], [202, 1], [202, 1], [202, 1]],
|
|
22
22
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
|
|
23
23
|
var $0 = $$.length - 1;
|
|
24
24
|
switch (yystate) {
|
|
@@ -38,15 +38,15 @@ var localGrammar = function() {
|
|
|
38
38
|
this.$ = { metadata: void 0, measures: $$[$0] };
|
|
39
39
|
break;
|
|
40
40
|
case 10:
|
|
41
|
-
case
|
|
42
|
-
case
|
|
41
|
+
case 115:
|
|
42
|
+
case 132:
|
|
43
43
|
this.$ = $$[$0];
|
|
44
44
|
break;
|
|
45
45
|
case 11:
|
|
46
46
|
this.$ = mergeHeaders($$[$0 - 1], $$[$0]);
|
|
47
47
|
break;
|
|
48
48
|
case 12:
|
|
49
|
-
case
|
|
49
|
+
case 69:
|
|
50
50
|
this.$ = $$[$0 - 1];
|
|
51
51
|
break;
|
|
52
52
|
case 13:
|
|
@@ -133,7 +133,7 @@ var localGrammar = function() {
|
|
|
133
133
|
this.$ = { lyrics: [], figures: [] };
|
|
134
134
|
break;
|
|
135
135
|
case 32:
|
|
136
|
-
case
|
|
136
|
+
case 231:
|
|
137
137
|
this.$ = $$[$0];
|
|
138
138
|
break;
|
|
139
139
|
case 33:
|
|
@@ -168,165 +168,184 @@ var localGrammar = function() {
|
|
|
168
168
|
this.$ = { events: $$[$0 - 1], lyrics: $$[$0].lyrics, figures: $$[$0].figures };
|
|
169
169
|
break;
|
|
170
170
|
case 44:
|
|
171
|
-
case
|
|
172
|
-
case
|
|
173
|
-
case
|
|
171
|
+
case 136:
|
|
172
|
+
case 217:
|
|
173
|
+
case 235:
|
|
174
174
|
this.$ = [];
|
|
175
175
|
break;
|
|
176
176
|
case 45:
|
|
177
177
|
this.$ = $$[$0] === null ? $$[$0 - 1] : $$[$0 - 1].concat(Array.isArray($$[$0]) ? $$[$0] : [$$[$0]]);
|
|
178
178
|
break;
|
|
179
|
-
case
|
|
179
|
+
case 58:
|
|
180
180
|
this.$ = barlineEvent($$[$0].slice(1, -1));
|
|
181
181
|
break;
|
|
182
|
-
case
|
|
182
|
+
case 59:
|
|
183
183
|
this.$ = harmonyEvent($$[$0].slice(1, -1));
|
|
184
184
|
break;
|
|
185
|
-
case
|
|
185
|
+
case 60:
|
|
186
186
|
this.$ = markupEvent(unq($$[$0]));
|
|
187
187
|
break;
|
|
188
|
-
case
|
|
188
|
+
case 61:
|
|
189
189
|
this.$ = markupEvent(unq($$[$0]), "above");
|
|
190
190
|
break;
|
|
191
|
-
case
|
|
191
|
+
case 62:
|
|
192
192
|
this.$ = markupEvent(unq($$[$0]), "below");
|
|
193
193
|
break;
|
|
194
|
-
case
|
|
194
|
+
case 63:
|
|
195
195
|
this.$ = dynamicEvent($$[$0].type);
|
|
196
196
|
break;
|
|
197
|
-
case
|
|
197
|
+
case 64:
|
|
198
198
|
this.$ = { type: "pitchReset" };
|
|
199
199
|
break;
|
|
200
|
-
case 64:
|
|
201
200
|
case 65:
|
|
201
|
+
case 66:
|
|
202
202
|
currentDuration = $$[$0 - 1];
|
|
203
203
|
this.$ = noteEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
|
|
204
204
|
break;
|
|
205
|
-
case 66:
|
|
206
205
|
case 67:
|
|
206
|
+
case 68:
|
|
207
207
|
this.$ = noteEvent($$[$0 - 1], currentDuration, $$[$0]);
|
|
208
208
|
break;
|
|
209
|
-
case 69:
|
|
210
|
-
case 125:
|
|
211
|
-
case 218:
|
|
212
|
-
this.$ = [$$[$0]];
|
|
213
|
-
break;
|
|
214
209
|
case 70:
|
|
215
210
|
case 131:
|
|
216
|
-
case
|
|
217
|
-
|
|
218
|
-
case 229:
|
|
219
|
-
this.$ = $$[$0 - 1].concat([$$[$0]]);
|
|
211
|
+
case 225:
|
|
212
|
+
this.$ = [$$[$0]];
|
|
220
213
|
break;
|
|
221
214
|
case 71:
|
|
222
|
-
|
|
215
|
+
case 218:
|
|
216
|
+
case 226:
|
|
217
|
+
case 236:
|
|
218
|
+
this.$ = $$[$0 - 1].concat([$$[$0]]);
|
|
223
219
|
break;
|
|
224
220
|
case 72:
|
|
225
|
-
this.$ = { ...parsePitch($$[$0 -
|
|
221
|
+
this.$ = { ...parsePitch($$[$0 - 2], $$[$0 - 1]), courtesy: true };
|
|
226
222
|
break;
|
|
227
223
|
case 73:
|
|
228
|
-
this.$ = parsePitch($$[$0 - 1],
|
|
224
|
+
this.$ = { ...parsePitch($$[$0 - 1], 0), courtesy: true };
|
|
229
225
|
break;
|
|
230
226
|
case 74:
|
|
231
|
-
this.$ = parsePitch($$[$0], 0);
|
|
227
|
+
this.$ = parsePitch($$[$0 - 1], $$[$0]);
|
|
232
228
|
break;
|
|
233
229
|
case 75:
|
|
234
|
-
this.$ =
|
|
230
|
+
this.$ = parsePitch($$[$0], 0);
|
|
235
231
|
break;
|
|
236
232
|
case 76:
|
|
237
|
-
this.$ =
|
|
233
|
+
this.$ = 1;
|
|
238
234
|
break;
|
|
239
235
|
case 77:
|
|
240
|
-
this.$ =
|
|
236
|
+
this.$ = -1;
|
|
241
237
|
break;
|
|
242
238
|
case 78:
|
|
243
|
-
this.$ = $$[$0 - 1]
|
|
239
|
+
this.$ = $$[$0 - 1] + 1;
|
|
244
240
|
break;
|
|
245
241
|
case 79:
|
|
246
|
-
this.$ =
|
|
242
|
+
this.$ = $$[$0 - 1] - 1;
|
|
247
243
|
break;
|
|
248
244
|
case 80:
|
|
249
|
-
|
|
250
|
-
this.$ = 0;
|
|
245
|
+
this.$ = duration(Number($$[$0 - 1]), $$[$0]);
|
|
251
246
|
break;
|
|
252
247
|
case 81:
|
|
253
|
-
|
|
254
|
-
this.$ = $$[$0 - 1] + 1;
|
|
248
|
+
this.$ = duration(0.5, $$[$0]);
|
|
255
249
|
break;
|
|
256
250
|
case 82:
|
|
257
|
-
|
|
258
|
-
this.$ =
|
|
251
|
+
case 223:
|
|
252
|
+
this.$ = 0;
|
|
259
253
|
break;
|
|
260
254
|
case 83:
|
|
261
|
-
|
|
262
|
-
this.$ =
|
|
255
|
+
case 224:
|
|
256
|
+
this.$ = $$[$0 - 1] + 1;
|
|
263
257
|
break;
|
|
264
258
|
case 84:
|
|
265
|
-
|
|
259
|
+
currentHeadShape = "x";
|
|
260
|
+
xNotePending = true;
|
|
261
|
+
this.$ = null;
|
|
266
262
|
break;
|
|
267
263
|
case 85:
|
|
268
|
-
|
|
264
|
+
currentHeadShape = "slash";
|
|
265
|
+
this.$ = null;
|
|
269
266
|
break;
|
|
270
267
|
case 86:
|
|
271
|
-
|
|
268
|
+
currentHeadShape = void 0;
|
|
269
|
+
this.$ = null;
|
|
272
270
|
break;
|
|
273
271
|
case 87:
|
|
274
|
-
|
|
272
|
+
currentDuration = $$[$0 - 1];
|
|
273
|
+
this.$ = restEvent($$[$0 - 1], { fullMeasure: $$[$0 - 2] === "R", marks: $$[$0].length ? $$[$0] : void 0 });
|
|
275
274
|
break;
|
|
276
275
|
case 88:
|
|
277
|
-
|
|
276
|
+
currentDuration = $$[$0 - 3];
|
|
277
|
+
this.$ = restEvent($$[$0 - 3], { fullMeasure: $$[$0 - 4] === "R", multiMeasure: Number($$[$0 - 1]), marks: $$[$0].length ? $$[$0] : void 0 });
|
|
278
278
|
break;
|
|
279
279
|
case 89:
|
|
280
|
-
|
|
280
|
+
currentDuration = $$[$0 - 1];
|
|
281
|
+
this.$ = restEvent($$[$0 - 1], { invisible: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
281
282
|
break;
|
|
282
283
|
case 90:
|
|
283
|
-
this.$ =
|
|
284
|
+
this.$ = restEvent(currentDuration, { fullMeasure: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
284
285
|
break;
|
|
285
286
|
case 91:
|
|
286
|
-
this.$ =
|
|
287
|
+
this.$ = restEvent(currentDuration, { invisible: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
287
288
|
break;
|
|
288
289
|
case 92:
|
|
289
|
-
this.$ = contextChange({
|
|
290
|
+
this.$ = contextChange({ clef: $$[$0] });
|
|
290
291
|
break;
|
|
291
292
|
case 93:
|
|
292
|
-
this.$ = contextChange({
|
|
293
|
+
this.$ = contextChange({ key: $$[$0] });
|
|
293
294
|
break;
|
|
294
295
|
case 94:
|
|
296
|
+
this.$ = contextChange({ time: $$[$0] });
|
|
297
|
+
break;
|
|
295
298
|
case 95:
|
|
296
|
-
this.$ =
|
|
299
|
+
this.$ = contextChange({ partial: $$[$0] });
|
|
297
300
|
break;
|
|
298
301
|
case 96:
|
|
299
|
-
this.$ = contextChange({
|
|
302
|
+
this.$ = contextChange({ tempo: $$[$0] });
|
|
300
303
|
break;
|
|
301
304
|
case 97:
|
|
302
|
-
this.$ = {
|
|
305
|
+
this.$ = contextChange({ staff: $$[$0] });
|
|
303
306
|
break;
|
|
304
307
|
case 98:
|
|
305
|
-
this.$ = {
|
|
308
|
+
this.$ = contextChange({ ottava: $$[$0] });
|
|
306
309
|
break;
|
|
307
310
|
case 99:
|
|
308
|
-
this.$ = {
|
|
311
|
+
this.$ = contextChange({ stemDirection: $$[$0] });
|
|
309
312
|
break;
|
|
310
313
|
case 100:
|
|
314
|
+
case 101:
|
|
315
|
+
this.$ = null;
|
|
316
|
+
break;
|
|
317
|
+
case 102:
|
|
318
|
+
this.$ = contextChange({ omit: $$[$0] });
|
|
319
|
+
break;
|
|
320
|
+
case 103:
|
|
321
|
+
this.$ = { timeSignature: true };
|
|
322
|
+
break;
|
|
323
|
+
case 104:
|
|
324
|
+
this.$ = { timeSignature: false };
|
|
325
|
+
break;
|
|
326
|
+
case 105:
|
|
327
|
+
this.$ = { barLine: true };
|
|
328
|
+
break;
|
|
329
|
+
case 106:
|
|
311
330
|
this.$ = { barLine: false };
|
|
312
331
|
break;
|
|
313
|
-
case
|
|
332
|
+
case 107:
|
|
314
333
|
this.$ = $$[$0].slice(1, -1);
|
|
315
334
|
break;
|
|
316
|
-
case
|
|
335
|
+
case 108:
|
|
317
336
|
currentKey = keySignature($$[$0 - 1].phonet, $$[$0 - 1].accidental, $$[$0]);
|
|
318
337
|
this.$ = currentKey;
|
|
319
338
|
break;
|
|
320
|
-
case
|
|
339
|
+
case 109:
|
|
321
340
|
this.$ = parsePitchName($$[$0]);
|
|
322
341
|
break;
|
|
323
|
-
case
|
|
342
|
+
case 110:
|
|
324
343
|
this.$ = "major";
|
|
325
344
|
break;
|
|
326
|
-
case
|
|
345
|
+
case 111:
|
|
327
346
|
this.$ = "minor";
|
|
328
347
|
break;
|
|
329
|
-
case
|
|
348
|
+
case 112:
|
|
330
349
|
const num = Number($$[$0 - 2]);
|
|
331
350
|
const den = Number($$[$0]);
|
|
332
351
|
const timeSig = fraction(num, den);
|
|
@@ -340,280 +359,289 @@ var localGrammar = function() {
|
|
|
340
359
|
currentTimeSig = timeSig;
|
|
341
360
|
this.$ = currentTimeSig;
|
|
342
361
|
break;
|
|
343
|
-
case
|
|
362
|
+
case 113:
|
|
344
363
|
numericTimeSignature = true;
|
|
345
364
|
this.$ = null;
|
|
346
365
|
break;
|
|
347
|
-
case
|
|
366
|
+
case 114:
|
|
348
367
|
numericTimeSignature = false;
|
|
349
368
|
this.$ = null;
|
|
350
369
|
break;
|
|
351
|
-
case
|
|
370
|
+
case 116:
|
|
352
371
|
this.$ = { text: unq($$[$0 - 3]), beat: $$[$0 - 2], bpm: Number($$[$0]) };
|
|
353
372
|
break;
|
|
354
|
-
case
|
|
373
|
+
case 117:
|
|
355
374
|
this.$ = { text: unq($$[$0]) };
|
|
356
375
|
break;
|
|
357
|
-
case
|
|
376
|
+
case 118:
|
|
358
377
|
this.$ = { beat: $$[$0 - 2], bpm: Number($$[$0]) };
|
|
359
378
|
break;
|
|
360
|
-
case
|
|
379
|
+
case 119:
|
|
361
380
|
currentStaff = Number($$[$0].slice(1, -1));
|
|
362
381
|
this.$ = currentStaff;
|
|
363
382
|
break;
|
|
364
|
-
case
|
|
383
|
+
case 120:
|
|
365
384
|
currentOttava = Number($$[$0]);
|
|
366
385
|
this.$ = currentOttava;
|
|
367
386
|
break;
|
|
368
|
-
case
|
|
387
|
+
case 121:
|
|
369
388
|
currentOttava = -Number($$[$0]);
|
|
370
389
|
this.$ = currentOttava;
|
|
371
390
|
break;
|
|
372
|
-
case
|
|
391
|
+
case 122:
|
|
373
392
|
currentOttava = 0;
|
|
374
393
|
this.$ = 0;
|
|
375
394
|
break;
|
|
376
|
-
case
|
|
395
|
+
case 123:
|
|
377
396
|
this.$ = "up";
|
|
378
397
|
break;
|
|
379
|
-
case
|
|
398
|
+
case 124:
|
|
380
399
|
this.$ = "down";
|
|
381
400
|
break;
|
|
382
|
-
case
|
|
401
|
+
case 125:
|
|
383
402
|
this.$ = "auto";
|
|
384
403
|
break;
|
|
385
|
-
case
|
|
404
|
+
case 126:
|
|
386
405
|
this.$ = $$[$0 - 1].map((e) => e.type === "note" || e.type === "rest" ? { ...e, grace: true } : e);
|
|
387
406
|
break;
|
|
388
|
-
case
|
|
389
|
-
case
|
|
407
|
+
case 127:
|
|
408
|
+
case 128:
|
|
390
409
|
this.$ = { ...$$[$0], grace: true };
|
|
391
410
|
break;
|
|
392
|
-
case
|
|
411
|
+
case 129:
|
|
393
412
|
this.$ = timesEvent(fraction(Number($$[$0 - 5]), Number($$[$0 - 3])), $$[$0 - 1].filter((e) => e.type === "note" || e.type === "rest" || e.type === "context"));
|
|
394
413
|
break;
|
|
395
|
-
case
|
|
396
|
-
this.$ = tupletEvent(fraction(Number($$[$0 - 3]), Number($$[$0 - 5])), $$[$0 - 1].filter((e) => e.type === "note" || e.type === "rest" || e.type === "context"));
|
|
414
|
+
case 130:
|
|
415
|
+
this.$ = tupletEvent(fraction(Number($$[$0 - 3]), Number($$[$0 - 5])), $$[$0 - 1].filter((e) => e.type === "note" || e.type === "rest" || e.type === "context" || e.type === "tuplet"));
|
|
397
416
|
break;
|
|
398
|
-
case
|
|
399
|
-
currentDuration = $$[$0 -
|
|
400
|
-
this.$ = tremoloEvent($$[$0 -
|
|
417
|
+
case 133:
|
|
418
|
+
currentDuration = $$[$0 - 5];
|
|
419
|
+
this.$ = tremoloEvent($$[$0 - 6], $$[$0 - 3], Number($$[$0 - 8]), $$[$0 - 5].division, $$[$0 - 4], $$[$0 - 1]);
|
|
401
420
|
break;
|
|
402
|
-
case
|
|
403
|
-
currentDuration = $$[$0 -
|
|
404
|
-
this.$ = tremoloEvent($$[$0 -
|
|
421
|
+
case 134:
|
|
422
|
+
currentDuration = $$[$0 - 3];
|
|
423
|
+
this.$ = tremoloEvent($$[$0 - 4], $$[$0 - 1], Number($$[$0 - 6]), $$[$0 - 3].division, $$[$0 - 2], []);
|
|
405
424
|
break;
|
|
406
|
-
case
|
|
425
|
+
case 135:
|
|
407
426
|
this.$ = tremoloEvent($$[$0 - 2], $$[$0 - 1], Number($$[$0 - 4]), currentDuration.division);
|
|
408
427
|
break;
|
|
409
|
-
case
|
|
428
|
+
case 137:
|
|
429
|
+
this.$ = $$[$0] === null ? $$[$0 - 1] : $$[$0 - 1].concat([$$[$0]]);
|
|
430
|
+
break;
|
|
431
|
+
case 154:
|
|
410
432
|
this.$ = { pitchedRest: true };
|
|
411
433
|
break;
|
|
412
|
-
case 149:
|
|
413
434
|
case 155:
|
|
414
|
-
case
|
|
435
|
+
case 161:
|
|
436
|
+
case 168:
|
|
415
437
|
this.$ = articulation("staccato");
|
|
416
438
|
break;
|
|
417
|
-
case
|
|
418
|
-
case
|
|
439
|
+
case 156:
|
|
440
|
+
case 165:
|
|
419
441
|
this.$ = articulation("staccatissimo");
|
|
420
442
|
break;
|
|
421
|
-
case
|
|
422
|
-
case
|
|
423
|
-
case
|
|
443
|
+
case 157:
|
|
444
|
+
case 166:
|
|
445
|
+
case 169:
|
|
424
446
|
this.$ = articulation("tenuto");
|
|
425
447
|
break;
|
|
426
|
-
case
|
|
427
|
-
case
|
|
428
|
-
case
|
|
448
|
+
case 158:
|
|
449
|
+
case 163:
|
|
450
|
+
case 170:
|
|
429
451
|
this.$ = articulation("marcato");
|
|
430
452
|
break;
|
|
431
|
-
case
|
|
432
|
-
case
|
|
433
|
-
case
|
|
453
|
+
case 159:
|
|
454
|
+
case 164:
|
|
455
|
+
case 167:
|
|
434
456
|
this.$ = articulation("accent");
|
|
435
457
|
break;
|
|
436
|
-
case
|
|
437
|
-
case
|
|
438
|
-
case
|
|
458
|
+
case 160:
|
|
459
|
+
case 162:
|
|
460
|
+
case 171:
|
|
439
461
|
this.$ = articulation("portato");
|
|
440
462
|
break;
|
|
441
|
-
case
|
|
463
|
+
case 172:
|
|
442
464
|
this.$ = ornament("trill");
|
|
443
465
|
break;
|
|
444
|
-
case
|
|
466
|
+
case 173:
|
|
445
467
|
this.$ = ornament("turn");
|
|
446
468
|
break;
|
|
447
|
-
case
|
|
469
|
+
case 174:
|
|
448
470
|
this.$ = ornament("mordent");
|
|
449
471
|
break;
|
|
450
|
-
case
|
|
472
|
+
case 175:
|
|
451
473
|
this.$ = ornament("prall");
|
|
452
474
|
break;
|
|
453
|
-
case
|
|
475
|
+
case 176:
|
|
454
476
|
this.$ = ornament("fermata");
|
|
455
477
|
break;
|
|
456
|
-
case
|
|
478
|
+
case 177:
|
|
457
479
|
this.$ = ornament("shortFermata");
|
|
458
480
|
break;
|
|
459
|
-
case
|
|
481
|
+
case 178:
|
|
460
482
|
this.$ = ornament("arpeggio");
|
|
461
483
|
break;
|
|
462
|
-
case
|
|
484
|
+
case 179:
|
|
463
485
|
this.$ = ornament("breath");
|
|
464
486
|
break;
|
|
465
|
-
case
|
|
487
|
+
case 180:
|
|
488
|
+
this.$ = ornament("caesura");
|
|
489
|
+
break;
|
|
490
|
+
case 181:
|
|
466
491
|
this.$ = dynamic("ppp");
|
|
467
492
|
break;
|
|
468
|
-
case
|
|
493
|
+
case 182:
|
|
469
494
|
this.$ = dynamic("pp");
|
|
470
495
|
break;
|
|
471
|
-
case
|
|
496
|
+
case 183:
|
|
472
497
|
this.$ = dynamic("p");
|
|
473
498
|
break;
|
|
474
|
-
case
|
|
499
|
+
case 184:
|
|
475
500
|
this.$ = dynamic("mp");
|
|
476
501
|
break;
|
|
477
|
-
case
|
|
502
|
+
case 185:
|
|
478
503
|
this.$ = dynamic("mf");
|
|
479
504
|
break;
|
|
480
|
-
case
|
|
505
|
+
case 186:
|
|
481
506
|
this.$ = dynamic("f");
|
|
482
507
|
break;
|
|
483
|
-
case
|
|
508
|
+
case 187:
|
|
484
509
|
this.$ = dynamic("ff");
|
|
485
510
|
break;
|
|
486
|
-
case
|
|
511
|
+
case 188:
|
|
487
512
|
this.$ = dynamic("fff");
|
|
488
513
|
break;
|
|
489
|
-
case
|
|
514
|
+
case 189:
|
|
490
515
|
this.$ = dynamic("sfz");
|
|
491
516
|
break;
|
|
492
|
-
case
|
|
517
|
+
case 190:
|
|
493
518
|
this.$ = dynamic("rfz");
|
|
494
519
|
break;
|
|
495
|
-
case
|
|
520
|
+
case 191:
|
|
496
521
|
this.$ = dynamic("sf");
|
|
497
522
|
break;
|
|
498
|
-
case
|
|
523
|
+
case 192:
|
|
499
524
|
this.$ = dynamic($$[$0].slice(1).toLowerCase());
|
|
500
525
|
break;
|
|
501
|
-
case
|
|
526
|
+
case 193:
|
|
502
527
|
this.$ = dynamic("fp");
|
|
503
528
|
break;
|
|
504
|
-
case
|
|
529
|
+
case 194:
|
|
530
|
+
lastHairpin = "crescendo";
|
|
505
531
|
this.$ = hairpin("crescendoStart");
|
|
506
532
|
break;
|
|
507
|
-
case
|
|
533
|
+
case 195:
|
|
534
|
+
lastHairpin = "diminuendo";
|
|
508
535
|
this.$ = hairpin("diminuendoStart");
|
|
509
536
|
break;
|
|
510
|
-
case
|
|
511
|
-
this.$ = hairpin("crescendoEnd");
|
|
537
|
+
case 196:
|
|
538
|
+
this.$ = hairpin(lastHairpin === "diminuendo" ? "diminuendoEnd" : "crescendoEnd");
|
|
539
|
+
lastHairpin = void 0;
|
|
512
540
|
break;
|
|
513
|
-
case
|
|
541
|
+
case 197:
|
|
514
542
|
this.$ = pedal("sustainOn");
|
|
515
543
|
break;
|
|
516
|
-
case
|
|
544
|
+
case 198:
|
|
517
545
|
this.$ = pedal("sustainOff");
|
|
518
546
|
break;
|
|
519
|
-
case
|
|
547
|
+
case 199:
|
|
520
548
|
this.$ = tie(true);
|
|
521
549
|
break;
|
|
522
|
-
case
|
|
550
|
+
case 200:
|
|
523
551
|
this.$ = slur(true);
|
|
524
552
|
break;
|
|
525
|
-
case
|
|
553
|
+
case 201:
|
|
526
554
|
this.$ = slur(false);
|
|
527
555
|
break;
|
|
528
|
-
case
|
|
556
|
+
case 202:
|
|
529
557
|
this.$ = beam(true);
|
|
530
558
|
break;
|
|
531
|
-
case
|
|
559
|
+
case 203:
|
|
532
560
|
this.$ = beam(false);
|
|
533
561
|
break;
|
|
534
|
-
case
|
|
562
|
+
case 204:
|
|
535
563
|
this.$ = { tremolo: Number($$[$0]) };
|
|
536
564
|
break;
|
|
537
|
-
case
|
|
565
|
+
case 205:
|
|
538
566
|
this.$ = { ...$$[$0], placement: "above" };
|
|
539
567
|
break;
|
|
540
|
-
case
|
|
568
|
+
case 206:
|
|
541
569
|
this.$ = { ...$$[$0], placement: "below" };
|
|
542
570
|
break;
|
|
543
|
-
case
|
|
544
|
-
case
|
|
571
|
+
case 207:
|
|
572
|
+
case 208:
|
|
545
573
|
const n = Number($$[$0]);
|
|
546
|
-
if (n >=
|
|
574
|
+
if (n >= 0 && n <= 9) this.$ = fingering(n);
|
|
547
575
|
else this.$ = null;
|
|
548
576
|
break;
|
|
549
|
-
case
|
|
577
|
+
case 209:
|
|
550
578
|
this.$ = navigation("coda");
|
|
551
579
|
break;
|
|
552
|
-
case
|
|
580
|
+
case 210:
|
|
553
581
|
this.$ = navigation("segno");
|
|
554
582
|
break;
|
|
555
|
-
case
|
|
583
|
+
case 211:
|
|
556
584
|
this.$ = markupMark(unq($$[$0]));
|
|
557
585
|
break;
|
|
558
|
-
case
|
|
586
|
+
case 212:
|
|
559
587
|
this.$ = glissando();
|
|
560
588
|
break;
|
|
561
|
-
case
|
|
589
|
+
case 213:
|
|
562
590
|
this.$ = addlyricsLane($$[$0 - 1]);
|
|
563
591
|
break;
|
|
564
|
-
case
|
|
565
|
-
case
|
|
592
|
+
case 214:
|
|
593
|
+
case 215:
|
|
566
594
|
this.$ = figuresLane("below", $$[$0 - 1]);
|
|
567
595
|
break;
|
|
568
|
-
case
|
|
596
|
+
case 216:
|
|
569
597
|
this.$ = figuresLane("above", $$[$0 - 1]);
|
|
570
598
|
break;
|
|
571
|
-
case
|
|
599
|
+
case 219:
|
|
572
600
|
this.$ = { lines: $$[$0 - 2], duration: $$[$0] };
|
|
573
601
|
break;
|
|
574
|
-
case
|
|
602
|
+
case 220:
|
|
575
603
|
this.$ = { duration: $$[$0] };
|
|
576
604
|
break;
|
|
577
|
-
case
|
|
578
|
-
case
|
|
605
|
+
case 221:
|
|
606
|
+
case 230:
|
|
579
607
|
this.$ = void 0;
|
|
580
608
|
break;
|
|
581
|
-
case
|
|
609
|
+
case 222:
|
|
582
610
|
this.$ = { division: Number($$[$0 - 1]), dots: $$[$0] };
|
|
583
611
|
break;
|
|
584
|
-
case
|
|
612
|
+
case 227:
|
|
585
613
|
this.$ = $$[$0] ? { number: Number($$[$0 - 1]), accidental: $$[$0] } : { number: Number($$[$0 - 1]) };
|
|
586
614
|
break;
|
|
587
|
-
case
|
|
615
|
+
case 228:
|
|
588
616
|
this.$ = $$[$0] ? { accidental: $$[$0] } : {};
|
|
589
617
|
break;
|
|
590
|
-
case
|
|
618
|
+
case 229:
|
|
591
619
|
this.$ = { accidental: $$[$0] };
|
|
592
620
|
break;
|
|
593
|
-
case
|
|
621
|
+
case 232:
|
|
594
622
|
this.$ = "sharp";
|
|
595
623
|
break;
|
|
596
|
-
case
|
|
624
|
+
case 233:
|
|
597
625
|
this.$ = "flat";
|
|
598
626
|
break;
|
|
599
|
-
case
|
|
627
|
+
case 234:
|
|
600
628
|
this.$ = "natural";
|
|
601
629
|
break;
|
|
602
|
-
case
|
|
630
|
+
case 237:
|
|
603
631
|
this.$ = { text: $$[$0].charAt(0) === '"' ? unq($$[$0]) : $$[$0] };
|
|
604
632
|
break;
|
|
605
|
-
case
|
|
633
|
+
case 238:
|
|
606
634
|
this.$ = { hyphen: true };
|
|
607
635
|
break;
|
|
608
|
-
case
|
|
636
|
+
case 239:
|
|
609
637
|
this.$ = { skip: true };
|
|
610
638
|
break;
|
|
611
|
-
case
|
|
639
|
+
case 240:
|
|
612
640
|
this.$ = { extend: true };
|
|
613
641
|
break;
|
|
614
642
|
}
|
|
615
643
|
},
|
|
616
|
-
table: [o($V0, $V1, { 3: 1, 4: 2, 6: 3, 8: 4, 7: 5, 10: 6, 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 9: [1, 7], 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 1: [3] }, { 5: [1, 25] }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 26, 8: 27, 10: 28, 9: $Ve, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), o($V0, $V1, { 10: 6, 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 6: 30, 7: 31, 9: $Vf, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 5: [2, 7], 26: $Vg }, o($Vh, [2, 10]), o($Vh, [2, 8]), o($Vi, [2, 27]), { 12: [1, 34] }, { 12: [1, 35] }, { 12: [1, 36] }, { 12: [1, 37] }, { 12: [1, 38] }, { 12: [1, 39] }, { 12: [1, 40] }, { 12: [1, 41] }, { 12: [1, 42] }, { 12: [1, 43] }, { 12: [1, 44] }, { 12: [1, 45] }, o($Vi, [2, 30], { 33: [1, 46] }), o($Vj, [2, 38], { 36: $Vk }), o($Vl, [2, 41]), o($Vl, [2, 31], { 28: 48, 38: 49, 29: 50, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 30: 62, 31: 63, 56: 64, 59: 65, 73: 68, 74: 69, 75: 70, 76: 71, 77: 72, 78: 73, 79: 74, 80: 75, 81: 76, 82: 77, 83: 78, 55: 89, 9: $Vm, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 60: $Vs, 63: $Vt, 71: $Vu, 72: $Vv, 84: $Vw, 85: $Vx, 86: $Vy, 87: $Vz, 88: $VA, 89: $VB, 94: $VC, 96: $VD, 97: $VE, 98: $VF, 99: $VG, 101: $VH, 102: $VI, 105: $VJ, 106: $VK, 107: $VL, 108: $VM, 111: $VN, 112: $VO, 114: $VP, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 173: $V11, 175: $V21, 177: $V31, 178: $V41 }), { 1: [2, 1] }, { 5: [2, 2], 26: $Vg }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 125, 9: $Vf }), o($Vh, [2, 11]), o($V51, [2, 12], { 10: 126, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 10: 28, 7: 127, 8: 128, 9: $Ve, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 5: [2, 6], 26: $Vg }, o($Vh, [2, 9]), o([9, 33, 36, 50, 51, 52, 53, 54, 60, 63, 71, 72, 84, 85, 86, 87, 88, 89, 94, 96, 97, 98, 99, 101, 102, 105, 106, 107, 108, 111, 112, 114, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 173, 175, 177, 178], $V1, { 27: 21, 32: 22, 35: 23, 37: 24, 25: 129, 5: $V61, 26: $V61 }), { 13: [1, 130] }, { 13: [1, 131] }, { 13: [1, 132] }, { 13: [1, 133] }, { 13: [1, 134] }, { 13: [1, 135] }, { 13: [1, 136] }, { 12: [1, 138], 13: [1, 137] }, { 13: [1, 139] }, { 13: [1, 140] }, { 13: [1, 141] }, { 13: [1, 142] }, o($V51, [2, 40], { 34: 143 }), o($V51, $V1, { 37: 24, 35: 144 }), o($Vl, [2, 43]), o($V71, [2, 45]), o($Vl, [2, 32], { 30: 145, 31: 146, 9: [1, 147], 173: $V11, 175: $V21, 177: $V31, 178: $V41 }), o($V71, [2, 46]), o($V71, [2, 47]), o($V71, [2, 48]), o($V71, [2, 49]), o($V71, [2, 50]), o($V71, [2, 51]), o($V71, [2, 52]), o($V71, [2, 53]), o($V71, [2, 54]), o($V71, [2, 55]), o($V71, [2, 56]), o($V81, [2, 33]), o($V81, [2, 34]), o($V91, $Va1, { 57: 148, 58: 149, 68: $Vb1 }), o($V91, $Va1, { 57: 151, 58: 152, 68: $Vb1 }), o($V91, $Va1, { 57: 153, 58: 154, 68: $Vb1 }), o($V91, $Va1, { 57: 155, 58: 156, 68: $Vb1 }), o($V71, [2, 86]), o($V71, [2, 87]), o($V71, [2, 88]), o($V71, [2, 89]), o($V71, [2, 90]), o($V71, [2, 91]), o($V71, [2, 92]), o($V71, [2, 93]), o($V71, [2, 94]), o($V71, [2, 95]), o($V71, [2, 96]), { 39: 158, 40: 159, 56: 64, 59: 65, 60: $Vs, 63: $Vt, 71: $Vu, 72: $Vv, 109: [1, 157] }, { 68: [1, 160] }, { 68: [1, 161] }, { 115: [1, 162] }, o($V71, [2, 63]), { 12: [1, 163] }, { 12: [1, 164] }, { 12: [1, 165] }, { 52: [1, 166] }, { 52: [1, 167] }, o($V71, [2, 62]), { 109: [1, 168] }, { 109: [1, 169] }, { 109: [1, 170] }, { 109: [1, 171] }, { 59: 173, 61: 172, 63: $Vt }, o($Vc1, [2, 74], { 64: 174, 65: [1, 175], 66: [1, 176], 67: [1, 177] }), { 12: [1, 178] }, { 63: [1, 180], 90: 179 }, { 68: [1, 181] }, { 57: 182, 68: $Vb1 }, { 12: [1, 183], 57: 184, 68: $Vb1 }, { 12: [1, 185] }, o($V71, [2, 116], { 103: [1, 186] }), o($V71, [2, 117]), o($V71, [2, 118]), o($V71, [2, 119]), o($V71, [2, 107]), o($V71, [2, 108]), o($V71, [2, 97]), o($V71, [2, 98]), o($V71, [2, 99]), o($V71, [2, 100]), o($Vc1, [2, 174]), o($Vc1, [2, 175]), o($Vc1, [2, 176]), o($Vc1, [2, 177]), o($Vc1, [2, 178]), o($Vc1, [2, 179]), o($Vc1, [2, 180]), o($Vc1, [2, 181]), o($Vc1, [2, 182]), o($Vc1, [2, 183]), o($Vc1, [2, 184]), o($Vc1, [2, 185]), o($Vc1, [2, 186]), { 5: [2, 3], 26: $Vg }, o($Vh, [2, 13]), { 5: [2, 4], 26: $Vg }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 187, 9: $Vf }), o($Vi, [2, 28]), o($Vh, [2, 14]), o($Vh, [2, 15]), o($Vh, [2, 16]), o($Vh, [2, 17]), o($Vh, [2, 18]), o($Vh, [2, 19]), o($Vh, [2, 20]), o($Vh, [2, 21]), { 13: [1, 188] }, o($Vh, [2, 23]), o($Vh, [2, 24]), o($Vh, [2, 25]), o($Vh, [2, 26]), o($V51, $V1, { 35: 23, 37: 24, 32: 189 }), o($Vl, [2, 42]), o($V81, [2, 35]), o($V81, [2, 36]), o($V81, [2, 37]), o($Vc1, $Va1, { 58: 190 }), o($Vd1, [2, 66], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($VO1, [2, 80], { 69: 244 }), o($Vc1, $Va1, { 58: 245 }), o($Vd1, [2, 67], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vc1, $Va1, { 58: 246 }), o($Vd1, [2, 84], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vc1, $Va1, { 58: 247 }), o($Vd1, [2, 85], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($VP1, $V1, { 37: 248 }), o($V71, [2, 121]), o($V71, [2, 122]), { 95: [1, 249] }, { 95: [1, 250] }, { 68: [1, 251] }, o($V71, [2, 57]), o($V71, [2, 58]), o($V71, [2, 59]), { 12: [1, 252] }, { 12: [1, 253] }, o($VQ1, [2, 228], { 174: 254 }), o($VR1, $VS1, { 176: 255 }), o($VR1, $VS1, { 176: 256 }), o($VR1, $VS1, { 176: 257 }), { 59: 259, 62: [1, 258], 63: $Vt }, o($VT1, [2, 69]), o($Vc1, [2, 73], { 65: [1, 260], 66: [1, 261], 67: [1, 262] }), o($Vc1, [2, 72]), o($VU1, [2, 75]), o($VU1, [2, 76]), o($V71, [2, 101]), { 91: 263, 92: [1, 264], 93: [1, 265] }, o([92, 93], [2, 103]), { 95: [1, 266] }, o($V71, [2, 109]), o($V71, [2, 111], { 57: 267, 68: $Vb1 }), { 100: [1, 268] }, o($V71, [2, 113]), { 68: [1, 269], 104: [1, 270] }, { 5: [2, 5], 26: $Vg }, o($Vh, [2, 22]), o($Vj, [2, 39], { 36: $Vk }), o($Vd1, [2, 64], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vc1, [2, 131]), o($Vc1, [2, 132]), o($Vc1, [2, 133]), o($Vc1, [2, 134]), o($Vc1, [2, 135]), o($Vc1, [2, 136]), o($Vc1, [2, 137]), o($Vc1, [2, 138]), o($Vc1, [2, 139]), o($Vc1, [2, 140]), o($Vc1, [2, 141]), o($Vc1, [2, 142]), o($Vc1, [2, 143]), o($Vc1, [2, 144]), o($Vc1, [2, 145]), o($Vc1, [2, 146]), o($Vc1, [2, 147]), o($Vc1, [2, 149]), o($Vc1, [2, 150]), o($Vc1, [2, 151]), o($Vc1, [2, 152]), o($Vc1, [2, 153]), o($Vc1, [2, 154]), o([5, 9, 13, 26, 33, 36, 50, 51, 52, 60, 63, 71, 72, 84, 85, 86, 87, 88, 89, 94, 96, 97, 98, 99, 101, 102, 105, 106, 107, 108, 110, 111, 112, 114, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 175, 177, 178], [2, 163], { 53: [1, 273], 54: [1, 272], 62: [1, 274], 65: [1, 275], 68: [1, 277], 70: [1, 271], 104: [1, 276] }), o($Vc1, [2, 161]), o($Vc1, [2, 162]), o($Vd1, [2, 164], { 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 116: 278, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vd1, [2, 165], { 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 116: 279, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vc1, [2, 166]), o($Vc1, [2, 167]), o($Vc1, [2, 168]), o($Vc1, [2, 169]), o($Vc1, [2, 170]), o($Vc1, [2, 171]), o($Vc1, [2, 172]), o($Vc1, [2, 173]), o($Vc1, [2, 187]), o($Vc1, [2, 188]), o($Vc1, [2, 189]), o($Vc1, [2, 190]), o($Vc1, [2, 191]), o($Vc1, [2, 192]), o($Vc1, [2, 193]), o($Vc1, [2, 194]), o($Vc1, [2, 195]), o($Vc1, [2, 196]), { 68: [1, 280] }, o($Vc1, [2, 148]), o($Vc1, [2, 201]), o($Vc1, [2, 202]), o($Vc1, [2, 203]), { 12: [1, 281] }, o($Vc1, [2, 205]), o([5, 9, 13, 26, 33, 36, 50, 51, 52, 53, 54, 60, 62, 63, 68, 71, 72, 84, 85, 86, 87, 88, 89, 94, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 108, 110, 111, 112, 114, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 175, 177, 178], [2, 79], { 70: [1, 282] }), o($Vd1, [2, 65], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vd1, [2, 82], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), o($Vd1, [2, 83], { 116: 191, 117: 192, 118: 193, 55: 194, 119: 195, 120: 196, 121: 197, 122: 198, 123: 199, 124: 200, 125: 201, 126: 202, 127: 203, 128: 204, 129: 205, 130: 206, 131: 207, 13: $Ve1, 52: $Vf1, 53: $Vg1, 54: $Vh1, 62: $Vi1, 68: $Vj1, 70: $Vk1, 104: $Vl1, 132: $Vm1, 133: $Vn1, 134: $Vo1, 135: $Vp1, 136: $Vq1, 137: $Vr1, 138: $Vs1, 139: $Vt1, 140: $Vu1, 141: $Vv1, 142: $Vw1, 143: $Vx1, 144: $Vy1, 145: $Vz1, 146: $VA1, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01, 160: $VB1, 161: $VC1, 162: $VD1, 163: $VE1, 164: $VF1, 165: $VG1, 166: $VH1, 167: $VI1, 168: $VJ1, 169: $VK1, 170: $VL1, 171: $VM1, 172: $VN1 }), { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 55: 89, 56: 64, 59: 65, 60: $Vs, 63: $Vt, 71: $Vu, 72: $Vv, 73: 68, 74: 69, 75: 70, 76: 71, 77: 72, 78: 73, 79: 74, 80: 75, 81: 76, 82: 77, 83: 78, 84: $Vw, 85: $Vx, 86: $Vy, 87: $Vz, 88: $VA, 89: $VB, 94: $VC, 96: $VD, 97: $VE, 98: $VF, 99: $VG, 101: $VH, 102: $VI, 105: $VJ, 106: $VK, 107: $VL, 108: $VM, 110: [1, 283], 111: $VN, 112: $VO, 114: $VP, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01 }, { 68: [1, 284] }, { 68: [1, 285] }, { 109: [1, 286] }, o($V71, [2, 60]), o($V71, [2, 61]), { 110: [1, 287], 195: 288, 196: [1, 289], 197: [1, 290], 198: [1, 291], 199: [1, 292] }, { 110: [1, 293], 179: 294, 180: $VV1, 184: $VW1 }, { 110: [1, 297], 179: 294, 180: $VV1, 184: $VW1 }, { 110: [1, 298], 179: 294, 180: $VV1, 184: $VW1 }, o($Vc1, [2, 68]), o($VT1, [2, 70]), o($Vc1, [2, 71]), o($VU1, [2, 77]), o($VU1, [2, 78]), o($V71, [2, 102]), o($V71, [2, 104]), o($V71, [2, 105]), { 68: [1, 299] }, { 100: [1, 300] }, { 68: [1, 301] }, o($V71, [2, 114]), { 68: [1, 302] }, o($Vc1, [2, 155]), o($Vc1, [2, 156]), o($Vc1, [2, 157]), o($Vc1, [2, 158]), o($Vc1, [2, 159]), o($Vc1, [2, 160]), o($Vc1, [2, 200]), o($Vc1, [2, 198]), o($Vc1, [2, 199]), o($Vc1, [2, 197]), o($Vc1, [2, 204]), o($VO1, [2, 81]), o($V71, [2, 120]), { 109: [1, 303] }, { 109: [1, 304] }, { 56: 307, 59: 306, 60: $Vs, 63: $Vt, 113: 305 }, o($V81, [2, 206]), o($VQ1, [2, 229]), o($VQ1, [2, 230]), o($VQ1, [2, 231]), o($VQ1, [2, 232]), o($VQ1, [2, 233]), o($V81, [2, 207]), o($VR1, [2, 211]), { 181: 308, 185: $VX1, 188: 309, 190: $VY1, 191: 312, 192: $VZ1, 193: $V_1, 194: $V$1 }, o($VR1, $V02, { 183: 316, 185: $V12 }), o($V81, [2, 208]), o($V81, [2, 209]), o($V71, [2, 106]), { 68: [1, 318] }, o($V71, [2, 112]), o($V71, [2, 115]), o($VP1, $V1, { 37: 319 }), o($VP1, $V1, { 37: 320 }), { 56: 307, 57: 321, 59: 306, 60: $Vs, 63: $Vt, 68: $Vb1, 113: 322 }, o($V22, [2, 125]), o($V22, [2, 126]), { 182: [1, 323], 185: $VX1, 188: 324, 190: $VY1, 191: 312, 192: $VZ1, 193: $V_1, 194: $V$1 }, o($V32, [2, 218]), o($V42, $V52, { 189: 325, 191: 326, 192: $VZ1, 193: $V_1, 194: $V$1 }), o($V42, $V52, { 191: 326, 189: 327, 192: $VZ1, 193: $V_1, 194: $V$1 }), o($V32, [2, 222]), o($V32, [2, 225]), o($V32, [2, 226]), o($V32, [2, 227]), o($VR1, [2, 213]), o($V62, [2, 216], { 186: 328 }), o($V71, [2, 110]), { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 55: 89, 56: 64, 59: 65, 60: $Vs, 63: $Vt, 71: $Vu, 72: $Vv, 73: 68, 74: 69, 75: 70, 76: 71, 77: 72, 78: 73, 79: 74, 80: 75, 81: 76, 82: 77, 83: 78, 84: $Vw, 85: $Vx, 86: $Vy, 87: $Vz, 88: $VA, 89: $VB, 94: $VC, 96: $VD, 97: $VE, 98: $VF, 99: $VG, 101: $VH, 102: $VI, 105: $VJ, 106: $VK, 107: $VL, 108: $VM, 110: [1, 329], 111: $VN, 112: $VO, 114: $VP, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01 }, { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 55: 89, 56: 64, 59: 65, 60: $Vs, 63: $Vt, 71: $Vu, 72: $Vv, 73: 68, 74: 69, 75: 70, 76: 71, 77: 72, 78: 73, 79: 74, 80: 75, 81: 76, 82: 77, 83: 78, 84: $Vw, 85: $Vx, 86: $Vy, 87: $Vz, 88: $VA, 89: $VB, 94: $VC, 96: $VD, 97: $VE, 98: $VF, 99: $VG, 101: $VH, 102: $VI, 105: $VJ, 106: $VK, 107: $VL, 108: $VM, 110: [1, 330], 111: $VN, 112: $VO, 114: $VP, 147: $VQ, 148: $VR, 149: $VS, 150: $VT, 151: $VU, 152: $VV, 153: $VW, 154: $VX, 155: $VY, 156: $VZ, 157: $V_, 158: $V$, 159: $V01 }, { 56: 307, 59: 306, 60: $Vs, 63: $Vt, 113: 331 }, { 110: [1, 332] }, o($VR1, $V02, { 183: 333, 185: $V12 }), o($V32, [2, 219]), o($V32, [2, 220]), o($V32, [2, 224]), o($V32, [2, 221]), o($VR1, [2, 215], { 187: [1, 334] }), o($V71, [2, 123]), o($V71, [2, 124]), { 57: 335, 68: $Vb1, 110: [1, 336] }, o($V71, [2, 129]), o($VR1, [2, 212]), o($V62, [2, 217]), { 110: [1, 337] }, o($V71, [2, 128]), o($V71, [2, 127])],
|
|
644
|
+
table: [o($V0, $V1, { 3: 1, 4: 2, 6: 3, 8: 4, 7: 5, 10: 6, 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 9: [1, 7], 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 1: [3] }, { 5: [1, 25] }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 26, 8: 27, 10: 28, 9: $Ve, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), o($V0, $V1, { 10: 6, 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 6: 30, 7: 31, 9: $Vf, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 5: [2, 7], 26: $Vg }, o($Vh, [2, 10]), o($Vh, [2, 8]), o($Vi, [2, 27]), { 12: [1, 34] }, { 12: [1, 35] }, { 12: [1, 36] }, { 12: [1, 37] }, { 12: [1, 38] }, { 12: [1, 39] }, { 12: [1, 40] }, { 12: [1, 41] }, { 12: [1, 42] }, { 12: [1, 43] }, { 12: [1, 44] }, { 12: [1, 45] }, o($Vi, [2, 30], { 33: [1, 46] }), o($Vj, [2, 38], { 36: $Vk }), o($Vl, [2, 41]), o($Vl, [2, 31], { 28: 48, 38: 49, 29: 50, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: 62, 30: 63, 31: 64, 57: 65, 60: 66, 79: 72, 80: 73, 81: 74, 82: 75, 83: 76, 84: 77, 85: 78, 86: 79, 87: 80, 88: 81, 89: 82, 56: 93, 9: $Vm, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 55: $Vr, 61: $Vs, 64: $Vt, 73: $Vu, 74: $Vv, 75: $Vw, 76: $Vx, 78: $Vy, 90: $Vz, 91: $VA, 92: $VB, 93: $VC, 94: $VD, 95: $VE, 100: $VF, 102: $VG, 103: $VH, 104: $VI, 105: $VJ, 107: $VK, 108: $VL, 111: $VM, 112: $VN, 113: $VO, 114: $VP, 117: $VQ, 118: $VR, 120: $VS, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 180: $V41, 182: $V51, 184: $V61, 185: $V71 }), { 1: [2, 1] }, { 5: [2, 2], 26: $Vg }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 129, 9: $Vf }), o($Vh, [2, 11]), o($V81, [2, 12], { 10: 130, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 10: 28, 7: 131, 8: 132, 9: $Ve, 11: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: $V8, 20: $V9, 21: $Va, 22: $Vb, 23: $Vc, 24: $Vd }), { 5: [2, 6], 26: $Vg }, o($Vh, [2, 9]), o([9, 33, 36, 51, 52, 53, 54, 55, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 117, 118, 120, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 180, 182, 184, 185], $V1, { 27: 21, 32: 22, 35: 23, 37: 24, 25: 133, 5: $V91, 26: $V91 }), { 13: [1, 134] }, { 13: [1, 135] }, { 13: [1, 136] }, { 13: [1, 137] }, { 13: [1, 138] }, { 13: [1, 139] }, { 13: [1, 140] }, { 12: [1, 142], 13: [1, 141] }, { 13: [1, 143] }, { 13: [1, 144] }, { 13: [1, 145] }, { 13: [1, 146] }, o($V81, [2, 40], { 34: 147 }), o($V81, $V1, { 37: 24, 35: 148 }), o($Vl, [2, 43]), o($Va1, [2, 45]), o($Vl, [2, 32], { 30: 149, 31: 150, 9: [1, 151], 180: $V41, 182: $V51, 184: $V61, 185: $V71 }), o($Va1, [2, 46]), o($Va1, [2, 47]), o($Va1, [2, 48]), o($Va1, [2, 49]), o($Va1, [2, 50]), o($Va1, [2, 51]), o($Va1, [2, 52]), o($Va1, [2, 53]), o($Va1, [2, 54]), o($Va1, [2, 55]), o($Va1, [2, 56]), o($Va1, [2, 57]), o($Vb1, [2, 33]), o($Vb1, [2, 34]), o($Vc1, $Vd1, { 58: 152, 59: 153, 69: $Ve1, 71: $Vf1 }), o($Vc1, $Vd1, { 58: 156, 59: 157, 69: $Ve1, 71: $Vf1 }), o($Va1, [2, 84]), o($Va1, [2, 85]), o($Va1, [2, 86]), o($Vc1, $Vd1, { 58: 158, 59: 159, 69: $Ve1, 71: $Vf1 }), o($Vc1, $Vd1, { 58: 160, 59: 161, 69: $Ve1, 71: $Vf1 }), o($Va1, [2, 92]), o($Va1, [2, 93]), o($Va1, [2, 94]), o($Va1, [2, 95]), o($Va1, [2, 96]), o($Va1, [2, 97]), o($Va1, [2, 98]), o($Va1, [2, 99]), o($Va1, [2, 100]), o($Va1, [2, 101]), o($Va1, [2, 102]), { 39: 163, 41: 164, 57: 65, 60: 66, 61: $Vs, 64: $Vt, 76: $Vx, 78: $Vy, 115: [1, 162] }, { 69: [1, 165] }, { 69: [1, 166] }, { 121: [1, 167] }, o($Va1, [2, 64]), { 12: [1, 168] }, { 12: [1, 169] }, { 12: [1, 170] }, { 53: [1, 171] }, { 53: [1, 172] }, o($Va1, [2, 63]), { 115: [1, 173] }, { 115: [1, 174] }, { 115: [1, 175] }, { 115: [1, 176] }, { 60: 178, 62: 177, 64: $Vt }, o($Vg1, [2, 75], { 65: 179, 66: [1, 180], 67: [1, 181], 68: [1, 182] }), { 12: [1, 183] }, { 64: [1, 185], 96: 184 }, { 69: [1, 186] }, { 58: 187, 69: $Ve1, 71: $Vf1 }, { 12: [1, 188], 58: 189, 69: $Ve1, 71: $Vf1 }, { 12: [1, 190] }, o($Va1, [2, 122], { 109: [1, 191] }), o($Va1, [2, 123]), o($Va1, [2, 124]), o($Va1, [2, 125]), o($Va1, [2, 113]), o($Va1, [2, 114]), o($Va1, [2, 103]), o($Va1, [2, 104]), o($Va1, [2, 105]), o($Va1, [2, 106]), o($Vh1, [2, 181]), o($Vh1, [2, 182]), o($Vh1, [2, 183]), o($Vh1, [2, 184]), o($Vh1, [2, 185]), o($Vh1, [2, 186]), o($Vh1, [2, 187]), o($Vh1, [2, 188]), o($Vh1, [2, 189]), o($Vh1, [2, 190]), o($Vh1, [2, 191]), o($Vh1, [2, 192]), o($Vh1, [2, 193]), { 5: [2, 3], 26: $Vg }, o($Vh, [2, 13]), { 5: [2, 4], 26: $Vg }, o($V0, $V1, { 25: 8, 27: 21, 32: 22, 35: 23, 37: 24, 7: 192, 9: $Vf }), o($Vi, [2, 28]), o($Vh, [2, 14]), o($Vh, [2, 15]), o($Vh, [2, 16]), o($Vh, [2, 17]), o($Vh, [2, 18]), o($Vh, [2, 19]), o($Vh, [2, 20]), o($Vh, [2, 21]), { 13: [1, 193] }, o($Vh, [2, 23]), o($Vh, [2, 24]), o($Vh, [2, 25]), o($Vh, [2, 26]), o($V81, $V1, { 35: 23, 37: 24, 32: 194 }), o($Vl, [2, 42]), o($Vb1, [2, 35]), o($Vb1, [2, 36]), o($Vb1, [2, 37]), o($Vh1, $Vd1, { 59: 195 }), o($Vi1, [2, 67], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($VU1, $VV1, { 70: 250 }), o($VU1, $VV1, { 70: 251 }), o($Vh1, $Vd1, { 59: 252 }), o($Vi1, [2, 68], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vh1, $Vd1, { 59: 253, 77: [1, 254] }), o($Vi1, [2, 90], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vh1, $Vd1, { 59: 255 }), o($Vi1, [2, 91], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($VW1, $V1, { 37: 256 }), o($Va1, [2, 127]), o($Va1, [2, 128]), { 101: [1, 257] }, { 101: [1, 258] }, { 69: [1, 259] }, o($Va1, [2, 58]), o($Va1, [2, 59]), o($Va1, [2, 60]), { 12: [1, 260] }, { 12: [1, 261] }, o($VX1, [2, 235], { 181: 262 }), o($VY1, $VZ1, { 183: 263 }), o($VY1, $VZ1, { 183: 264 }), o($VY1, $VZ1, { 183: 265 }), { 60: 267, 63: [1, 266], 64: $Vt }, o($V_1, [2, 70]), o($Vg1, [2, 74], { 66: [1, 268], 67: [1, 269], 68: [1, 270] }), o($Vg1, [2, 73]), o($V$1, [2, 76]), o($V$1, [2, 77]), o($Va1, [2, 107]), { 97: 271, 98: [1, 272], 99: [1, 273] }, o([98, 99], [2, 109]), { 101: [1, 274] }, o($Va1, [2, 115]), o($Va1, [2, 117], { 58: 275, 69: $Ve1, 71: $Vf1 }), { 106: [1, 276] }, o($Va1, [2, 119]), { 69: [1, 277], 110: [1, 278] }, { 5: [2, 5], 26: $Vg }, o($Vh, [2, 22]), o($Vj, [2, 39], { 36: $Vk }), o($Vi1, [2, 65], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vh1, [2, 137]), o($Vh1, [2, 138]), o($Vh1, [2, 139]), o($Vh1, [2, 140]), o($Vh1, [2, 141]), o($Vh1, [2, 142]), o($Vh1, [2, 143]), o($Vh1, [2, 144]), o($Vh1, [2, 145]), o($Vh1, [2, 146]), o($Vh1, [2, 147]), o($Vh1, [2, 148]), o($Vh1, [2, 149]), o($Vh1, [2, 150]), o($Vh1, [2, 151]), o($Vh1, [2, 152]), o($Vh1, [2, 153]), o($Vh1, [2, 155]), o($Vh1, [2, 156]), o($Vh1, [2, 157]), o($Vh1, [2, 158]), o($Vh1, [2, 159]), o($Vh1, [2, 160]), o([5, 9, 13, 26, 33, 36, 51, 52, 53, 61, 64, 73, 74, 75, 76, 78, 90, 91, 92, 93, 94, 95, 100, 102, 103, 104, 105, 107, 108, 111, 112, 113, 114, 116, 117, 118, 120, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 185], [2, 169], { 54: [1, 281], 55: [1, 280], 63: [1, 282], 66: [1, 283], 69: [1, 285], 72: [1, 279], 110: [1, 284] }), o($Vh1, [2, 167]), o($Vh1, [2, 168]), o($Vi1, [2, 170], { 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 122: 286, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vi1, [2, 171], { 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 122: 287, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vh1, [2, 172]), o($Vh1, [2, 173]), o($Vh1, [2, 174]), o($Vh1, [2, 175]), o($Vh1, [2, 176]), o($Vh1, [2, 177]), o($Vh1, [2, 178]), o($Vh1, [2, 179]), o($Vh1, [2, 180]), o($Vh1, [2, 194]), o($Vh1, [2, 195]), o($Vh1, [2, 196]), o($Vh1, [2, 197]), o($Vh1, [2, 198]), o($Vh1, [2, 199]), o($Vh1, [2, 200]), o($Vh1, [2, 201]), o($Vh1, [2, 202]), o($Vh1, [2, 203]), { 69: [1, 288] }, o($Vh1, [2, 154]), o($Vh1, [2, 208]), o($Vh1, [2, 209]), o($Vh1, [2, 210]), { 12: [1, 289] }, o($Vh1, [2, 212]), o($V02, [2, 80], { 72: $V12 }), o($V02, [2, 81], { 72: $V12 }), o($Vi1, [2, 66], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($Vi1, [2, 87], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), { 69: [1, 291] }, o($Vi1, [2, 89], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: 62, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 55: $Vr, 56: 93, 57: 65, 60: 66, 61: $Vs, 64: $Vt, 73: $Vu, 74: $Vv, 75: $Vw, 76: $Vx, 78: $Vy, 79: 72, 80: 73, 81: 74, 82: 75, 83: 76, 84: 77, 85: 78, 86: 79, 87: 80, 88: 81, 89: 82, 90: $Vz, 91: $VA, 92: $VB, 93: $VC, 94: $VD, 95: $VE, 100: $VF, 102: $VG, 103: $VH, 104: $VI, 105: $VJ, 107: $VK, 108: $VL, 111: $VM, 112: $VN, 113: $VO, 114: $VP, 116: [1, 292], 117: $VQ, 118: $VR, 120: $VS, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31 }, { 69: [1, 293] }, { 69: [1, 294] }, { 115: [1, 295] }, o($Va1, [2, 61]), o($Va1, [2, 62]), { 116: [1, 296], 202: 297, 203: [1, 298], 204: [1, 299], 205: [1, 300], 206: [1, 301] }, { 116: [1, 302], 186: 303, 187: $V22, 191: $V32 }, { 116: [1, 306], 186: 303, 187: $V22, 191: $V32 }, { 116: [1, 307], 186: 303, 187: $V22, 191: $V32 }, o($Vg1, [2, 69]), o($V_1, [2, 71]), o($Vg1, [2, 72]), o($V$1, [2, 78]), o($V$1, [2, 79]), o($Va1, [2, 108]), o($Va1, [2, 110]), o($Va1, [2, 111]), { 69: [1, 308] }, { 106: [1, 309] }, { 69: [1, 310] }, o($Va1, [2, 120]), { 69: [1, 311] }, o($Vh1, [2, 161]), o($Vh1, [2, 162]), o($Vh1, [2, 163]), o($Vh1, [2, 164]), o($Vh1, [2, 165]), o($Vh1, [2, 166]), o($Vh1, [2, 207]), o($Vh1, [2, 205]), o($Vh1, [2, 206]), o($Vh1, [2, 204]), o($Vh1, [2, 211]), o($VU1, [2, 83]), o($Vh1, $Vd1, { 59: 312 }), o($Va1, [2, 126]), { 115: [1, 313] }, { 115: [1, 314] }, { 57: 317, 60: 316, 61: $Vs, 64: $Vt, 119: 315 }, o($Vb1, [2, 213]), o($VX1, [2, 236]), o($VX1, [2, 237]), o($VX1, [2, 238]), o($VX1, [2, 239]), o($VX1, [2, 240]), o($Vb1, [2, 214]), o($VY1, [2, 218]), { 188: 318, 192: $V42, 195: 319, 197: $V52, 198: 322, 199: $V62, 200: $V72, 201: $V82 }, o($VY1, $V92, { 190: 326, 192: $Va2 }), o($Vb1, [2, 215]), o($Vb1, [2, 216]), o($Va1, [2, 112]), { 69: [1, 328] }, o($Va1, [2, 118]), o($Va1, [2, 121]), o($Vi1, [2, 88], { 122: 196, 123: 197, 124: 198, 56: 199, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }), o($VW1, $V1, { 37: 329 }), o($VW1, $V1, { 37: 330 }), { 57: 317, 58: 331, 60: 316, 61: $Vs, 64: $Vt, 69: $Ve1, 71: $Vf1, 119: 332 }, o($Vb2, [2, 131]), o($Vb2, [2, 132]), { 189: [1, 333], 192: $V42, 195: 334, 197: $V52, 198: 322, 199: $V62, 200: $V72, 201: $V82 }, o($Vc2, [2, 225]), o($Vd2, $Ve2, { 196: 335, 198: 336, 199: $V62, 200: $V72, 201: $V82 }), o($Vd2, $Ve2, { 198: 336, 196: 337, 199: $V62, 200: $V72, 201: $V82 }), o($Vc2, [2, 229]), o($Vc2, [2, 232]), o($Vc2, [2, 233]), o($Vc2, [2, 234]), o($VY1, [2, 220]), o($Vf2, [2, 223], { 193: 338 }), o($Va1, [2, 116]), { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: 62, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 55: $Vr, 56: 93, 57: 65, 60: 66, 61: $Vs, 64: $Vt, 73: $Vu, 74: $Vv, 75: $Vw, 76: $Vx, 78: $Vy, 79: 72, 80: 73, 81: 74, 82: 75, 83: 76, 84: 77, 85: 78, 86: 79, 87: 80, 88: 81, 89: 82, 90: $Vz, 91: $VA, 92: $VB, 93: $VC, 94: $VD, 95: $VE, 100: $VF, 102: $VG, 103: $VH, 104: $VI, 105: $VJ, 107: $VK, 108: $VL, 111: $VM, 112: $VN, 113: $VO, 114: $VP, 116: [1, 339], 117: $VQ, 118: $VR, 120: $VS, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31 }, { 9: $Vm, 38: 49, 39: 51, 40: 52, 41: 53, 42: 54, 43: 55, 44: 56, 45: 57, 46: 58, 47: 59, 48: 60, 49: 61, 50: 62, 51: $Vn, 52: $Vo, 53: $Vp, 54: $Vq, 55: $Vr, 56: 93, 57: 65, 60: 66, 61: $Vs, 64: $Vt, 73: $Vu, 74: $Vv, 75: $Vw, 76: $Vx, 78: $Vy, 79: 72, 80: 73, 81: 74, 82: 75, 83: 76, 84: 77, 85: 78, 86: 79, 87: 80, 88: 81, 89: 82, 90: $Vz, 91: $VA, 92: $VB, 93: $VC, 94: $VD, 95: $VE, 100: $VF, 102: $VG, 103: $VH, 104: $VI, 105: $VJ, 107: $VK, 108: $VL, 111: $VM, 112: $VN, 113: $VO, 114: $VP, 116: [1, 340], 117: $VQ, 118: $VR, 120: $VS, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31 }, o([13, 53, 54, 55, 61, 63, 64, 69, 72, 110, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179], $Vd1, { 59: 341 }), { 116: [1, 342] }, o($VY1, $V92, { 190: 343, 192: $Va2 }), o($Vc2, [2, 226]), o($Vc2, [2, 227]), o($Vc2, [2, 231]), o($Vc2, [2, 228]), o($VY1, [2, 222], { 194: [1, 344] }), o($Va1, [2, 129]), o($Va1, [2, 130]), { 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 56: 199, 57: 317, 60: 316, 61: $Vs, 63: $Vn1, 64: $Vt, 69: $Vo1, 72: $Vp1, 110: $Vq1, 119: 345, 122: 196, 123: 197, 124: 198, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }, o($Va1, [2, 135]), o($VY1, [2, 219]), o($Vf2, [2, 224]), { 58: 346, 69: $Ve1, 71: $Vf1, 116: [1, 347] }, o([13, 53, 54, 55, 63, 69, 72, 110, 116, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179], $Vd1, { 59: 348 }), o($Va1, [2, 134]), { 13: $Vj1, 53: $Vk1, 54: $Vl1, 55: $Vm1, 56: 199, 63: $Vn1, 69: $Vo1, 72: $Vp1, 110: $Vq1, 116: [1, 349], 122: 196, 123: 197, 124: 198, 125: 200, 126: 201, 127: 202, 128: 203, 129: 204, 130: 205, 131: 206, 132: 207, 133: 208, 134: 209, 135: 210, 136: 211, 137: 212, 138: $Vr1, 139: $Vs1, 140: $Vt1, 141: $Vu1, 142: $Vv1, 143: $Vw1, 144: $Vx1, 145: $Vy1, 146: $Vz1, 147: $VA1, 148: $VB1, 149: $VC1, 150: $VD1, 151: $VE1, 152: $VF1, 153: $VG1, 154: $VT, 155: $VU, 156: $VV, 157: $VW, 158: $VX, 159: $VY, 160: $VZ, 161: $V_, 162: $V$, 163: $V01, 164: $V11, 165: $V21, 166: $V31, 167: $VH1, 168: $VI1, 169: $VJ1, 170: $VK1, 171: $VL1, 172: $VM1, 173: $VN1, 174: $VO1, 175: $VP1, 176: $VQ1, 177: $VR1, 178: $VS1, 179: $VT1 }, o($Va1, [2, 133])],
|
|
617
645
|
defaultActions: { 25: [2, 1] },
|
|
618
646
|
parseError: function parseError(str, hash) {
|
|
619
647
|
if (hash.recoverable) {
|
|
@@ -773,6 +801,13 @@ var localGrammar = function() {
|
|
|
773
801
|
dots: dots || 0
|
|
774
802
|
});
|
|
775
803
|
const noteEvent = (pitches, dur, marks, options = {}) => {
|
|
804
|
+
if (currentHeadShape !== void 0 && options.headShape === void 0) {
|
|
805
|
+
options = { ...options, headShape: currentHeadShape };
|
|
806
|
+
if (xNotePending) {
|
|
807
|
+
currentHeadShape = void 0;
|
|
808
|
+
xNotePending = false;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
776
811
|
const pitchedRestMark = marks && marks.find((m) => m && m.pitchedRest);
|
|
777
812
|
if (pitchedRestMark) {
|
|
778
813
|
const pitch2 = Array.isArray(pitches) ? pitches[0] : pitches;
|
|
@@ -890,12 +925,14 @@ var localGrammar = function() {
|
|
|
890
925
|
ratio,
|
|
891
926
|
events
|
|
892
927
|
});
|
|
893
|
-
const tremoloEvent = (pitchA, pitchB, count, division) => ({
|
|
928
|
+
const tremoloEvent = (pitchA, pitchB, count, division, marksA, marksB) => ({
|
|
894
929
|
type: "tremolo",
|
|
895
930
|
pitchA,
|
|
896
931
|
pitchB,
|
|
897
932
|
count,
|
|
898
|
-
division
|
|
933
|
+
division,
|
|
934
|
+
...marksA && marksA.length ? { marksA } : {},
|
|
935
|
+
...marksB && marksB.length ? { marksB } : {}
|
|
899
936
|
});
|
|
900
937
|
const articulation = (type, placement) => ({ markType: "articulation", type, placement });
|
|
901
938
|
const ornament = (type) => ({ markType: "ornament", type });
|
|
@@ -952,6 +989,9 @@ var localGrammar = function() {
|
|
|
952
989
|
let currentDuration = { division: 4, dots: 0 };
|
|
953
990
|
let numericTimeSignature = false;
|
|
954
991
|
let currentOttava = 0;
|
|
992
|
+
let currentHeadShape = void 0;
|
|
993
|
+
let xNotePending = false;
|
|
994
|
+
let lastHairpin = void 0;
|
|
955
995
|
let parseWarnings = [];
|
|
956
996
|
const resetParserState = () => {
|
|
957
997
|
currentStaff = 1;
|
|
@@ -1324,363 +1364,381 @@ var localGrammar = function() {
|
|
|
1324
1364
|
return 12;
|
|
1325
1365
|
break;
|
|
1326
1366
|
case 17:
|
|
1327
|
-
return
|
|
1367
|
+
return 94;
|
|
1328
1368
|
break;
|
|
1329
1369
|
case 18:
|
|
1330
|
-
return
|
|
1370
|
+
return 95;
|
|
1331
1371
|
break;
|
|
1332
1372
|
case 19:
|
|
1333
|
-
return
|
|
1373
|
+
return 100;
|
|
1334
1374
|
break;
|
|
1335
1375
|
case 20:
|
|
1336
|
-
return
|
|
1376
|
+
return 104;
|
|
1337
1377
|
break;
|
|
1338
1378
|
case 21:
|
|
1339
|
-
return
|
|
1379
|
+
return 102;
|
|
1340
1380
|
break;
|
|
1341
1381
|
case 22:
|
|
1342
|
-
return
|
|
1382
|
+
return 91;
|
|
1343
1383
|
break;
|
|
1344
1384
|
case 23:
|
|
1345
|
-
return
|
|
1385
|
+
return 93;
|
|
1346
1386
|
break;
|
|
1347
1387
|
case 24:
|
|
1348
|
-
return
|
|
1388
|
+
return 90;
|
|
1349
1389
|
break;
|
|
1350
1390
|
case 25:
|
|
1351
|
-
return
|
|
1391
|
+
return 92;
|
|
1352
1392
|
break;
|
|
1353
1393
|
case 26:
|
|
1354
|
-
return
|
|
1394
|
+
return 103;
|
|
1355
1395
|
break;
|
|
1356
1396
|
case 27:
|
|
1357
|
-
return
|
|
1397
|
+
return 105;
|
|
1358
1398
|
break;
|
|
1359
1399
|
case 28:
|
|
1360
|
-
return
|
|
1400
|
+
return 107;
|
|
1361
1401
|
break;
|
|
1362
1402
|
case 29:
|
|
1363
|
-
return
|
|
1403
|
+
return 114;
|
|
1364
1404
|
break;
|
|
1365
1405
|
case 30:
|
|
1366
|
-
return
|
|
1406
|
+
return 117;
|
|
1367
1407
|
break;
|
|
1368
1408
|
case 31:
|
|
1369
|
-
return
|
|
1409
|
+
return 118;
|
|
1370
1410
|
break;
|
|
1371
1411
|
case 32:
|
|
1372
|
-
return
|
|
1412
|
+
return 120;
|
|
1373
1413
|
break;
|
|
1374
1414
|
case 33:
|
|
1375
|
-
return
|
|
1415
|
+
return 108;
|
|
1376
1416
|
break;
|
|
1377
1417
|
case 34:
|
|
1378
|
-
return
|
|
1418
|
+
return 111;
|
|
1379
1419
|
break;
|
|
1380
1420
|
case 35:
|
|
1381
|
-
return
|
|
1421
|
+
return 112;
|
|
1382
1422
|
break;
|
|
1383
1423
|
case 36:
|
|
1384
|
-
return
|
|
1424
|
+
return 113;
|
|
1385
1425
|
break;
|
|
1386
1426
|
case 37:
|
|
1387
|
-
return
|
|
1427
|
+
return 98;
|
|
1388
1428
|
break;
|
|
1389
1429
|
case 38:
|
|
1390
|
-
return
|
|
1430
|
+
return 99;
|
|
1391
1431
|
break;
|
|
1392
1432
|
case 39:
|
|
1393
|
-
return
|
|
1433
|
+
return 170;
|
|
1394
1434
|
break;
|
|
1395
1435
|
case 40:
|
|
1396
|
-
return
|
|
1436
|
+
return 171;
|
|
1397
1437
|
break;
|
|
1398
1438
|
case 41:
|
|
1399
|
-
return
|
|
1439
|
+
return 51;
|
|
1400
1440
|
break;
|
|
1401
1441
|
case 42:
|
|
1402
|
-
return
|
|
1442
|
+
return 177;
|
|
1403
1443
|
break;
|
|
1404
1444
|
case 43:
|
|
1405
|
-
return
|
|
1445
|
+
return 178;
|
|
1406
1446
|
break;
|
|
1407
1447
|
case 44:
|
|
1408
|
-
return
|
|
1448
|
+
return 52;
|
|
1409
1449
|
break;
|
|
1410
1450
|
case 45:
|
|
1411
|
-
return
|
|
1451
|
+
return 53;
|
|
1412
1452
|
break;
|
|
1413
1453
|
case 46:
|
|
1414
1454
|
this.pushState("lyric");
|
|
1415
|
-
return
|
|
1455
|
+
return 180;
|
|
1416
1456
|
break;
|
|
1417
1457
|
case 47:
|
|
1418
1458
|
this.pushState("figures");
|
|
1419
|
-
return
|
|
1459
|
+
return 185;
|
|
1420
1460
|
break;
|
|
1421
1461
|
case 48:
|
|
1422
1462
|
this.pushState("figures");
|
|
1423
|
-
return
|
|
1463
|
+
return 184;
|
|
1424
1464
|
break;
|
|
1425
1465
|
case 49:
|
|
1426
1466
|
this.pushState("figures");
|
|
1427
|
-
return
|
|
1467
|
+
return 182;
|
|
1428
1468
|
break;
|
|
1429
1469
|
case 50:
|
|
1430
|
-
return
|
|
1470
|
+
return 167;
|
|
1431
1471
|
break;
|
|
1432
1472
|
case 51:
|
|
1433
|
-
return
|
|
1473
|
+
return 168;
|
|
1434
1474
|
break;
|
|
1435
1475
|
case 52:
|
|
1436
|
-
return
|
|
1476
|
+
return 169;
|
|
1437
1477
|
break;
|
|
1438
1478
|
case 53:
|
|
1439
|
-
return
|
|
1479
|
+
return 139;
|
|
1440
1480
|
break;
|
|
1441
1481
|
case 54:
|
|
1442
|
-
return
|
|
1482
|
+
return 140;
|
|
1443
1483
|
break;
|
|
1444
1484
|
case 55:
|
|
1445
|
-
return
|
|
1485
|
+
return 141;
|
|
1446
1486
|
break;
|
|
1447
1487
|
case 56:
|
|
1448
|
-
return
|
|
1488
|
+
return 142;
|
|
1449
1489
|
break;
|
|
1450
1490
|
case 57:
|
|
1451
|
-
return
|
|
1491
|
+
return 143;
|
|
1452
1492
|
break;
|
|
1453
1493
|
case 58:
|
|
1454
|
-
return
|
|
1494
|
+
return 144;
|
|
1455
1495
|
break;
|
|
1456
1496
|
case 59:
|
|
1457
|
-
return
|
|
1497
|
+
return 145;
|
|
1458
1498
|
break;
|
|
1459
1499
|
case 60:
|
|
1460
|
-
return
|
|
1500
|
+
return 146;
|
|
1461
1501
|
break;
|
|
1462
1502
|
case 61:
|
|
1463
|
-
return
|
|
1503
|
+
return 147;
|
|
1464
1504
|
break;
|
|
1465
1505
|
case 62:
|
|
1466
|
-
return
|
|
1506
|
+
return 148;
|
|
1467
1507
|
break;
|
|
1468
1508
|
case 63:
|
|
1469
|
-
return
|
|
1509
|
+
return 149;
|
|
1470
1510
|
break;
|
|
1471
1511
|
case 64:
|
|
1472
|
-
return
|
|
1512
|
+
return 150;
|
|
1473
1513
|
break;
|
|
1474
1514
|
case 65:
|
|
1475
|
-
return
|
|
1515
|
+
return 151;
|
|
1476
1516
|
break;
|
|
1477
1517
|
case 66:
|
|
1478
|
-
return
|
|
1518
|
+
return 152;
|
|
1479
1519
|
break;
|
|
1480
1520
|
case 67:
|
|
1481
|
-
return
|
|
1521
|
+
return 153;
|
|
1482
1522
|
break;
|
|
1483
1523
|
case 68:
|
|
1484
|
-
return
|
|
1524
|
+
return 73;
|
|
1485
1525
|
break;
|
|
1486
1526
|
case 69:
|
|
1487
|
-
return
|
|
1527
|
+
return 74;
|
|
1488
1528
|
break;
|
|
1489
1529
|
case 70:
|
|
1490
|
-
return
|
|
1530
|
+
return 75;
|
|
1491
1531
|
break;
|
|
1492
1532
|
case 71:
|
|
1493
|
-
return
|
|
1533
|
+
return 179;
|
|
1494
1534
|
break;
|
|
1495
1535
|
case 72:
|
|
1496
|
-
return
|
|
1536
|
+
return 71;
|
|
1497
1537
|
break;
|
|
1498
1538
|
case 73:
|
|
1499
|
-
return
|
|
1539
|
+
return 165;
|
|
1500
1540
|
break;
|
|
1501
1541
|
case 74:
|
|
1502
|
-
return
|
|
1542
|
+
return 154;
|
|
1503
1543
|
break;
|
|
1504
1544
|
case 75:
|
|
1505
1545
|
return 155;
|
|
1506
1546
|
break;
|
|
1507
1547
|
case 76:
|
|
1508
|
-
return
|
|
1548
|
+
return 157;
|
|
1509
1549
|
break;
|
|
1510
1550
|
case 77:
|
|
1511
|
-
return
|
|
1551
|
+
return 158;
|
|
1512
1552
|
break;
|
|
1513
1553
|
case 78:
|
|
1514
|
-
return
|
|
1554
|
+
return 161;
|
|
1515
1555
|
break;
|
|
1516
1556
|
case 79:
|
|
1517
|
-
return
|
|
1557
|
+
return 160;
|
|
1518
1558
|
break;
|
|
1519
1559
|
case 80:
|
|
1520
|
-
return
|
|
1560
|
+
return 162;
|
|
1521
1561
|
break;
|
|
1522
1562
|
case 81:
|
|
1523
|
-
return
|
|
1563
|
+
return 163;
|
|
1524
1564
|
break;
|
|
1525
1565
|
case 82:
|
|
1526
|
-
return
|
|
1566
|
+
return 164;
|
|
1527
1567
|
break;
|
|
1528
1568
|
case 83:
|
|
1529
|
-
return
|
|
1569
|
+
return 166;
|
|
1530
1570
|
break;
|
|
1531
1571
|
case 84:
|
|
1532
|
-
return
|
|
1572
|
+
return 156;
|
|
1533
1573
|
break;
|
|
1534
1574
|
case 85:
|
|
1535
|
-
return
|
|
1575
|
+
return 159;
|
|
1536
1576
|
break;
|
|
1537
1577
|
case 86:
|
|
1538
|
-
return
|
|
1578
|
+
return 138;
|
|
1539
1579
|
break;
|
|
1540
1580
|
case 87:
|
|
1541
|
-
return
|
|
1581
|
+
return 77;
|
|
1542
1582
|
break;
|
|
1543
1583
|
case 88:
|
|
1544
|
-
return
|
|
1584
|
+
return 33;
|
|
1545
1585
|
break;
|
|
1546
1586
|
case 89:
|
|
1547
|
-
return
|
|
1587
|
+
return 36;
|
|
1548
1588
|
break;
|
|
1549
1589
|
case 90:
|
|
1550
|
-
return
|
|
1590
|
+
return 121;
|
|
1551
1591
|
break;
|
|
1552
1592
|
case 91:
|
|
1553
|
-
return
|
|
1593
|
+
return 64;
|
|
1554
1594
|
break;
|
|
1555
1595
|
case 92:
|
|
1556
|
-
return
|
|
1596
|
+
return 67;
|
|
1557
1597
|
break;
|
|
1558
1598
|
case 93:
|
|
1559
|
-
return
|
|
1599
|
+
return 68;
|
|
1560
1600
|
break;
|
|
1561
1601
|
case 94:
|
|
1562
|
-
return
|
|
1602
|
+
return 69;
|
|
1563
1603
|
break;
|
|
1564
1604
|
case 95:
|
|
1565
|
-
return
|
|
1605
|
+
return 101;
|
|
1566
1606
|
break;
|
|
1567
1607
|
case 96:
|
|
1568
|
-
return
|
|
1608
|
+
return 109;
|
|
1569
1609
|
break;
|
|
1570
1610
|
case 97:
|
|
1571
|
-
return
|
|
1611
|
+
return 115;
|
|
1572
1612
|
break;
|
|
1573
1613
|
case 98:
|
|
1574
|
-
return
|
|
1614
|
+
return 116;
|
|
1575
1615
|
break;
|
|
1576
1616
|
case 99:
|
|
1577
|
-
return
|
|
1617
|
+
return 61;
|
|
1578
1618
|
break;
|
|
1579
1619
|
case 100:
|
|
1580
|
-
return
|
|
1620
|
+
return 63;
|
|
1581
1621
|
break;
|
|
1582
1622
|
case 101:
|
|
1583
|
-
return
|
|
1623
|
+
return 26;
|
|
1584
1624
|
break;
|
|
1585
1625
|
case 102:
|
|
1586
|
-
return
|
|
1626
|
+
return 175;
|
|
1587
1627
|
break;
|
|
1588
1628
|
case 103:
|
|
1589
|
-
return
|
|
1629
|
+
return 13;
|
|
1590
1630
|
break;
|
|
1591
1631
|
case 104:
|
|
1592
|
-
return
|
|
1632
|
+
return 173;
|
|
1593
1633
|
break;
|
|
1594
1634
|
case 105:
|
|
1595
|
-
return
|
|
1635
|
+
return 174;
|
|
1596
1636
|
break;
|
|
1597
1637
|
case 106:
|
|
1598
|
-
return
|
|
1638
|
+
return 172;
|
|
1599
1639
|
break;
|
|
1600
1640
|
case 107:
|
|
1601
|
-
return
|
|
1641
|
+
return 72;
|
|
1602
1642
|
break;
|
|
1603
1643
|
case 108:
|
|
1604
|
-
return
|
|
1644
|
+
return 110;
|
|
1605
1645
|
break;
|
|
1606
1646
|
case 109:
|
|
1607
|
-
return
|
|
1647
|
+
return 55;
|
|
1608
1648
|
break;
|
|
1609
1649
|
case 110:
|
|
1610
|
-
return
|
|
1650
|
+
return 54;
|
|
1611
1651
|
break;
|
|
1612
1652
|
case 111:
|
|
1653
|
+
return 66;
|
|
1613
1654
|
break;
|
|
1614
1655
|
case 112:
|
|
1615
|
-
return
|
|
1656
|
+
return 176;
|
|
1616
1657
|
break;
|
|
1617
1658
|
case 113:
|
|
1618
|
-
|
|
1619
|
-
return 110;
|
|
1659
|
+
return 106;
|
|
1620
1660
|
break;
|
|
1621
1661
|
case 114:
|
|
1662
|
+
return 76;
|
|
1622
1663
|
break;
|
|
1623
1664
|
case 115:
|
|
1665
|
+
return 78;
|
|
1624
1666
|
break;
|
|
1625
1667
|
case 116:
|
|
1626
|
-
return
|
|
1668
|
+
return 5;
|
|
1627
1669
|
break;
|
|
1628
1670
|
case 117:
|
|
1629
|
-
return 199;
|
|
1630
1671
|
break;
|
|
1631
1672
|
case 118:
|
|
1632
|
-
return
|
|
1673
|
+
return 115;
|
|
1633
1674
|
break;
|
|
1634
1675
|
case 119:
|
|
1635
|
-
|
|
1676
|
+
this.popState();
|
|
1677
|
+
return 116;
|
|
1636
1678
|
break;
|
|
1637
1679
|
case 120:
|
|
1638
|
-
return 196;
|
|
1639
1680
|
break;
|
|
1640
1681
|
case 121:
|
|
1641
|
-
return 109;
|
|
1642
1682
|
break;
|
|
1643
1683
|
case 122:
|
|
1644
|
-
|
|
1645
|
-
return 110;
|
|
1684
|
+
return 204;
|
|
1646
1685
|
break;
|
|
1647
1686
|
case 123:
|
|
1687
|
+
return 206;
|
|
1648
1688
|
break;
|
|
1649
1689
|
case 124:
|
|
1690
|
+
return 205;
|
|
1650
1691
|
break;
|
|
1651
1692
|
case 125:
|
|
1693
|
+
return 203;
|
|
1652
1694
|
break;
|
|
1653
1695
|
case 126:
|
|
1654
|
-
return
|
|
1696
|
+
return 203;
|
|
1655
1697
|
break;
|
|
1656
1698
|
case 127:
|
|
1657
|
-
return
|
|
1699
|
+
return 115;
|
|
1658
1700
|
break;
|
|
1659
1701
|
case 128:
|
|
1660
|
-
|
|
1702
|
+
this.popState();
|
|
1703
|
+
return 116;
|
|
1661
1704
|
break;
|
|
1662
1705
|
case 129:
|
|
1663
|
-
return 190;
|
|
1664
1706
|
break;
|
|
1665
1707
|
case 130:
|
|
1666
|
-
return 192;
|
|
1667
1708
|
break;
|
|
1668
1709
|
case 131:
|
|
1669
|
-
return 193;
|
|
1670
1710
|
break;
|
|
1671
1711
|
case 132:
|
|
1672
|
-
return
|
|
1712
|
+
return 187;
|
|
1673
1713
|
break;
|
|
1674
1714
|
case 133:
|
|
1675
|
-
return
|
|
1715
|
+
return 189;
|
|
1676
1716
|
break;
|
|
1677
1717
|
case 134:
|
|
1678
|
-
return
|
|
1718
|
+
return 192;
|
|
1719
|
+
break;
|
|
1720
|
+
case 135:
|
|
1721
|
+
return 197;
|
|
1722
|
+
break;
|
|
1723
|
+
case 136:
|
|
1724
|
+
return 199;
|
|
1725
|
+
break;
|
|
1726
|
+
case 137:
|
|
1727
|
+
return 200;
|
|
1728
|
+
break;
|
|
1729
|
+
case 138:
|
|
1730
|
+
return 201;
|
|
1731
|
+
break;
|
|
1732
|
+
case 139:
|
|
1733
|
+
return 194;
|
|
1734
|
+
break;
|
|
1735
|
+
case 140:
|
|
1736
|
+
return 191;
|
|
1679
1737
|
break;
|
|
1680
1738
|
}
|
|
1681
1739
|
},
|
|
1682
|
-
rules: [/^(?:[ \t]+)/, /^(?:(\r?\n)+)/, /^(?:%.*)/, /^(?:\[title\b)/, /^(?:\[subtitle\b)/, /^(?:\[composer\b)/, /^(?:\[arranger\b)/, /^(?:\[lyricist\b)/, /^(?:\[opus\b)/, /^(?:\[instrument-[A-Za-z0-9_]+(?:-[A-Za-z0-9_]+)*)/, /^(?:\[instrument\b)/, /^(?:\[genre\b)/, /^(?:\[staves\b)/, /^(?:\[measures\b)/, /^(?:\[auto-beam\b)/, /^(?:\])/, /^(?:"([^\"\\]|\\.)*")/, /^(?:\\clef\b)/, /^(?:\\key\b)/, /^(?:\\time\b)/, /^(?:\\partial\b)/, /^(?:\\numericTimeSignature\b)/, /^(?:\\undo[ \t]+\\omit[ \t]+(?:Score|Staff)\.TimeSignature\b)/, /^(?:\\undo[ \t]+\\omit[ \t]+(?:Score|Staff)\.BarLine\b)/, /^(?:\\omit[ \t]+(?:Score|Staff)\.TimeSignature\b)/, /^(?:\\omit[ \t]+(?:Score|Staff)\.BarLine\b)/, /^(?:\\defaultTimeSignature\b)/, /^(?:\\tempo\b)/, /^(?:\\staff\b)/, /^(?:\\grace\b)/, /^(?:\\times\b)/, /^(?:\\tuplet\b)/, /^(?:\\repeat\b)/, /^(?:\\ottava\b)/, /^(?:\\stemUp\b)/, /^(?:\\stemDown\b)/, /^(?:\\stemNeutral\b)/, /^(?:\\major\b)/, /^(?:\\minor\b)/, /^(?:\\sustainOn
|
|
1683
|
-
conditions: { "figures": { "rules": [
|
|
1740
|
+
rules: [/^(?:[ \t]+)/, /^(?:(\r?\n)+)/, /^(?:%.*)/, /^(?:\[title\b)/, /^(?:\[subtitle\b)/, /^(?:\[composer\b)/, /^(?:\[arranger\b)/, /^(?:\[lyricist\b)/, /^(?:\[opus\b)/, /^(?:\[instrument-[A-Za-z0-9_]+(?:-[A-Za-z0-9_]+)*)/, /^(?:\[instrument\b)/, /^(?:\[genre\b)/, /^(?:\[staves\b)/, /^(?:\[measures\b)/, /^(?:\[auto-beam\b)/, /^(?:\])/, /^(?:"([^\"\\]|\\.)*")/, /^(?:\\clef\b)/, /^(?:\\key\b)/, /^(?:\\time\b)/, /^(?:\\partial\b)/, /^(?:\\numericTimeSignature\b)/, /^(?:\\undo[ \t]+\\omit[ \t]+(?:Score|Staff)\.TimeSignature\b)/, /^(?:\\undo[ \t]+\\omit[ \t]+(?:Score|Staff)\.BarLine\b)/, /^(?:\\omit[ \t]+(?:Score|Staff)\.TimeSignature\b)/, /^(?:\\omit[ \t]+(?:Score|Staff)\.BarLine\b)/, /^(?:\\defaultTimeSignature\b)/, /^(?:\\tempo\b)/, /^(?:\\staff\b)/, /^(?:\\grace\b)/, /^(?:\\times\b)/, /^(?:\\tuplet\b)/, /^(?:\\repeat\b)/, /^(?:\\ottava\b)/, /^(?:\\stemUp\b)/, /^(?:\\stemDown\b)/, /^(?:\\stemNeutral\b)/, /^(?:\\major\b)/, /^(?:\\minor\b)/, /^(?:\\sustainOn(?![a-zA-Z]))/, /^(?:\\sustainOff(?![a-zA-Z]))/, /^(?:\\bar(?![a-zA-Z]))/, /^(?:\\coda(?![a-zA-Z]))/, /^(?:\\segno(?![a-zA-Z]))/, /^(?:\\chords(?![a-zA-Z]))/, /^(?:\\markup(?![a-zA-Z]))/, /^(?:\\addlyrics\b)/, /^(?:\^\\figures\b)/, /^(?:_\\figures\b)/, /^(?:\\figures\b)/, /^(?:\\<)/, /^(?:\\>)/, /^(?:\\!)/, /^(?:\\staccato(?![a-zA-Z]))/, /^(?:\\staccatissimo(?![a-zA-Z]))/, /^(?:\\tenuto(?![a-zA-Z]))/, /^(?:\\marcato(?![a-zA-Z]))/, /^(?:\\accent(?![a-zA-Z]))/, /^(?:\\portato(?![a-zA-Z]))/, /^(?:\\trill(?![a-zA-Z]))/, /^(?:\\turn(?![a-zA-Z]))/, /^(?:\\mordent(?![a-zA-Z]))/, /^(?:\\prall(?![a-zA-Z]))/, /^(?:\\fermata(?![a-zA-Z]))/, /^(?:\\shortfermata(?![a-zA-Z]))/, /^(?:\\arpeggio(?![a-zA-Z]))/, /^(?:\\breathe(?![a-zA-Z]))/, /^(?:\\caesura(?![a-zA-Z]))/, /^(?:\\xNote\b)/, /^(?:\\improvisationOn\b)/, /^(?:\\improvisationOff\b)/, /^(?:\\glissando(?![a-zA-Z]))/, /^(?:\\breve(?![a-zA-Z]))/, /^(?:\\(?:fffff|ppppp|fpp|ffff|pppp|sffz|sfpp|sfzp|mfp|sff|sfp|spp|fz|pf|rf|sf|sp|n)(?![a-zA-Z]))/, /^(?:\\ppp(?![a-zA-Z]))/, /^(?:\\pp(?![a-zA-Z]))/, /^(?:\\mp(?![a-zA-Z]))/, /^(?:\\mf(?![a-zA-Z]))/, /^(?:\\fff(?![a-zA-Z]))/, /^(?:\\ff(?![a-zA-Z]))/, /^(?:\\sfz(?![a-zA-Z]))/, /^(?:\\rfz(?![a-zA-Z]))/, /^(?:\\sf(?![a-zA-Z]))/, /^(?:\\fp(?![a-zA-Z]))/, /^(?:\\p(?![a-zA-Z]))/, /^(?:\\f(?![a-zA-Z]))/, /^(?:\\rest\b)/, /^(?:\*)/, /^(?:\\\\\\)/, /^(?:\\\\)/, /^(?:tremolo\b)/, /^(?:[a-g](ss|ff|s|f)?)/, /^(?:')/, /^(?:,)/, /^(?:[0-9]+)/, /^(?:\/)/, /^(?:#)/, /^(?:\{)/, /^(?:\})/, /^(?:<)/, /^(?:>)/, /^(?:\|)/, /^(?:\[)/, /^(?:\])/, /^(?:\()/, /^(?:\))/, /^(?:~)/, /^(?:\.)/, /^(?:-)/, /^(?:[_])/, /^(?:\^)/, /^(?:!)/, /^(?::)/, /^(?:=)/, /^(?:[rR])/, /^(?:[sS])/, /^(?:$)/, /^(?:.)/, /^(?:\{)/, /^(?:\})/, /^(?:[ \t]+)/, /^(?:(\r?\n)+)/, /^(?:--)/, /^(?:__\b)/, /^(?:_\b)/, /^(?:"([^\"\\]|\\.)*")/, /^(?:[^ \t\r\n{}\"\\]+)/, /^(?:\{)/, /^(?:\})/, /^(?:[ \t]+)/, /^(?:(\r?\n)+)/, /^(?:%.*)/, /^(?:<)/, /^(?:>)/, /^(?:[0-9]+)/, /^(?:_\b)/, /^(?:\+)/, /^(?:-)/, /^(?:!)/, /^(?:\.)/, /^(?:[sS])/],
|
|
1741
|
+
conditions: { "figures": { "rules": [127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140], "inclusive": false }, "lyric": { "rules": [118, 119, 120, 121, 122, 123, 124, 125, 126], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117], "inclusive": true } }
|
|
1684
1742
|
};
|
|
1685
1743
|
return lexer2;
|
|
1686
1744
|
}();
|
|
@@ -1832,6 +1890,11 @@ var Clef;
|
|
|
1832
1890
|
Clef2["bass"] = "bass";
|
|
1833
1891
|
Clef2["alto"] = "alto";
|
|
1834
1892
|
Clef2["tenor"] = "tenor";
|
|
1893
|
+
Clef2["soprano"] = "soprano";
|
|
1894
|
+
Clef2["mezzosoprano"] = "mezzosoprano";
|
|
1895
|
+
Clef2["baritone"] = "baritone";
|
|
1896
|
+
Clef2["varbaritone"] = "varbaritone";
|
|
1897
|
+
Clef2["percussion"] = "percussion";
|
|
1835
1898
|
})(Clef || (Clef = {}));
|
|
1836
1899
|
var StemDirection;
|
|
1837
1900
|
(function(StemDirection2) {
|
|
@@ -1858,6 +1921,7 @@ var OrnamentType;
|
|
|
1858
1921
|
OrnamentType2["shortFermata"] = "shortFermata";
|
|
1859
1922
|
OrnamentType2["arpeggio"] = "arpeggio";
|
|
1860
1923
|
OrnamentType2["breath"] = "breath";
|
|
1924
|
+
OrnamentType2["caesura"] = "caesura";
|
|
1861
1925
|
})(OrnamentType || (OrnamentType = {}));
|
|
1862
1926
|
var DynamicType;
|
|
1863
1927
|
(function(DynamicType2) {
|
|
@@ -1874,6 +1938,7 @@ var DynamicType;
|
|
|
1874
1938
|
DynamicType2["fp"] = "fp";
|
|
1875
1939
|
DynamicType2["pppp"] = "pppp";
|
|
1876
1940
|
DynamicType2["ppppp"] = "ppppp";
|
|
1941
|
+
DynamicType2["fpp"] = "fpp";
|
|
1877
1942
|
DynamicType2["ffff"] = "ffff";
|
|
1878
1943
|
DynamicType2["fffff"] = "fffff";
|
|
1879
1944
|
DynamicType2["sf"] = "sf";
|
|
@@ -2874,6 +2939,13 @@ var CLEF_SHAPES = {
|
|
|
2874
2939
|
bass: { shape: "F", line: 4 },
|
|
2875
2940
|
alto: { shape: "C", line: 3 },
|
|
2876
2941
|
tenor: { shape: "C", line: 4 },
|
|
2942
|
+
// The rest of LilyPond's clef table (scm/parser-clef.scm).
|
|
2943
|
+
soprano: { shape: "C", line: 1 },
|
|
2944
|
+
mezzosoprano: { shape: "C", line: 2 },
|
|
2945
|
+
baritone: { shape: "C", line: 5 },
|
|
2946
|
+
varbaritone: { shape: "F", line: 3 },
|
|
2947
|
+
// A percussion clef has no line: MEI writes clef.shape="perc" alone.
|
|
2948
|
+
percussion: { shape: "perc" },
|
|
2877
2949
|
// Also support uppercase letter clef names
|
|
2878
2950
|
G: { shape: "G", line: 2 },
|
|
2879
2951
|
F: { shape: "F", line: 4 },
|
|
@@ -2904,7 +2976,7 @@ var resolveClef = (clefStr) => {
|
|
|
2904
2976
|
var clefOctaveShift = (clefStr) => clefStr ? resolveClef(clefStr).dis?.octaves ?? 0 : 0;
|
|
2905
2977
|
var clefElementAttrs = (clefStr) => {
|
|
2906
2978
|
const c = resolveClef(clefStr);
|
|
2907
|
-
let attrs = `shape="${c.shape}" line="${c.line}"`;
|
|
2979
|
+
let attrs = c.line === void 0 ? `shape="${c.shape}"` : `shape="${c.shape}" line="${c.line}"`;
|
|
2908
2980
|
if (c.dis)
|
|
2909
2981
|
attrs += ` dis="${c.dis.dis}" dis.place="${c.dis.place}"`;
|
|
2910
2982
|
return attrs;
|
|
@@ -2915,7 +2987,7 @@ var clefTransOf = (clefStr) => {
|
|
|
2915
2987
|
};
|
|
2916
2988
|
var staffDefClefAttrs = (clefStr) => {
|
|
2917
2989
|
const c = resolveClef(clefStr);
|
|
2918
|
-
let attrs = `clef.shape="${c.shape}" clef.line="${c.line}"`;
|
|
2990
|
+
let attrs = c.line === void 0 ? `clef.shape="${c.shape}"` : `clef.shape="${c.shape}" clef.line="${c.line}"`;
|
|
2919
2991
|
if (c.dis)
|
|
2920
2992
|
attrs += ` clef.dis="${c.dis.dis}" clef.dis.place="${c.dis.place}"`;
|
|
2921
2993
|
if (c.trans)
|
|
@@ -2923,6 +2995,8 @@ var staffDefClefAttrs = (clefStr) => {
|
|
|
2923
2995
|
return attrs;
|
|
2924
2996
|
};
|
|
2925
2997
|
var DURATIONS = {
|
|
2998
|
+
0.5: "breve",
|
|
2999
|
+
// breve (double whole note), LilyPond \breve
|
|
2926
3000
|
1: "1",
|
|
2927
3001
|
// whole
|
|
2928
3002
|
2: "2",
|
|
@@ -3005,12 +3079,13 @@ var encodePitch = (pitch, keyFifths = 0, ottavaShift = 0, measureAccidentals, cl
|
|
|
3005
3079
|
const noteAccid = ACCIDENTALS[pitch.accidental];
|
|
3006
3080
|
if (pitch.courtesy) {
|
|
3007
3081
|
accid = noteAccid;
|
|
3082
|
+
} else if (prevMeasureAccid === noteAccid) {
|
|
3008
3083
|
} else if (prevMeasureAccid !== void 0 && noteAccid !== prevMeasureAccid) {
|
|
3009
3084
|
accid = noteAccid;
|
|
3010
3085
|
} else if (noteAccid !== keyAccid) {
|
|
3011
3086
|
accid = noteAccid;
|
|
3012
3087
|
}
|
|
3013
|
-
accidGes = noteAccid;
|
|
3088
|
+
accidGes = noteAccid === "x" ? "ss" : noteAccid;
|
|
3014
3089
|
if (measureAccidentals)
|
|
3015
3090
|
measureAccidentals.set(pitchKey, noteAccid);
|
|
3016
3091
|
} else if (keyAccid) {
|
|
@@ -3023,6 +3098,11 @@ var encodePitch = (pitch, keyFifths = 0, ottavaShift = 0, measureAccidentals, cl
|
|
|
3023
3098
|
accidGes = "n";
|
|
3024
3099
|
if (measureAccidentals)
|
|
3025
3100
|
measureAccidentals.set(pitchKey, "n");
|
|
3101
|
+
} else if (pitch.courtesy) {
|
|
3102
|
+
accid = "n";
|
|
3103
|
+
accidGes = "n";
|
|
3104
|
+
if (measureAccidentals)
|
|
3105
|
+
measureAccidentals.set(pitchKey, "n");
|
|
3026
3106
|
} else if (pitch.courtesy && prevMeasureAccid && prevMeasureAccid !== "n") {
|
|
3027
3107
|
accid = "n";
|
|
3028
3108
|
accidGes = "n";
|
|
@@ -3103,13 +3183,15 @@ var buildNoteElement = (pitch, dur, dots, indent, inChord, options = {}, noteId)
|
|
|
3103
3183
|
if (!inChord && options.stemDir)
|
|
3104
3184
|
attrs += ` stem.dir="${options.stemDir}"`;
|
|
3105
3185
|
if (!inChord && options.layerStaff && options.staff && options.staff !== options.layerStaff) {
|
|
3106
|
-
attrs += ` staff="${options.staff}"`;
|
|
3186
|
+
attrs += ` staff="${options.staff + (options.staffOffset || 0)}"`;
|
|
3107
3187
|
}
|
|
3108
3188
|
if (!inChord && options.tremolo) {
|
|
3109
3189
|
const stemMod = tremoloToStemMod(options.tremolo);
|
|
3110
3190
|
if (stemMod)
|
|
3111
3191
|
attrs += ` stem.mod="${stemMod}"`;
|
|
3112
3192
|
}
|
|
3193
|
+
if (options.headShape)
|
|
3194
|
+
attrs += ` head.shape="${options.headShape}"`;
|
|
3113
3195
|
const hasChildren = !inChord && (options.artics && options.artics.length > 0 || !!options.lyricXml);
|
|
3114
3196
|
if (!hasChildren) {
|
|
3115
3197
|
return `${indent}<note ${attrs} />
|
|
@@ -3156,14 +3238,17 @@ var extractMarkOptions = (marks) => {
|
|
|
3156
3238
|
beamEnd: false,
|
|
3157
3239
|
dynamic: void 0,
|
|
3158
3240
|
dynamics: [],
|
|
3241
|
+
dynamicPlacement: void 0,
|
|
3159
3242
|
hairpin: void 0,
|
|
3160
3243
|
pedal: void 0,
|
|
3161
3244
|
pedals: [],
|
|
3162
3245
|
tremolo: void 0,
|
|
3163
3246
|
fingerings: [],
|
|
3164
3247
|
navigation: void 0,
|
|
3248
|
+
navigationPlacement: void 0,
|
|
3165
3249
|
markups: [],
|
|
3166
3250
|
breath: false,
|
|
3251
|
+
caesura: false,
|
|
3167
3252
|
glissando: false
|
|
3168
3253
|
};
|
|
3169
3254
|
if (!marks)
|
|
@@ -3197,6 +3282,8 @@ var extractMarkOptions = (marks) => {
|
|
|
3197
3282
|
result.mordent = "upper";
|
|
3198
3283
|
} else if (mark.type === OrnamentType.breath) {
|
|
3199
3284
|
result.breath = true;
|
|
3285
|
+
} else if (mark.type === OrnamentType.caesura) {
|
|
3286
|
+
result.caesura = true;
|
|
3200
3287
|
}
|
|
3201
3288
|
break;
|
|
3202
3289
|
case "dynamic": {
|
|
@@ -3204,6 +3291,9 @@ var extractMarkOptions = (marks) => {
|
|
|
3204
3291
|
if (dynStr) {
|
|
3205
3292
|
result.dynamic = dynStr;
|
|
3206
3293
|
result.dynamics.push(dynStr);
|
|
3294
|
+
const p = mark.placement;
|
|
3295
|
+
if (p)
|
|
3296
|
+
result.dynamicPlacement = p;
|
|
3207
3297
|
}
|
|
3208
3298
|
break;
|
|
3209
3299
|
}
|
|
@@ -3252,6 +3342,7 @@ var extractMarkOptions = (marks) => {
|
|
|
3252
3342
|
break;
|
|
3253
3343
|
case "navigation":
|
|
3254
3344
|
result.navigation = mark.type;
|
|
3345
|
+
result.navigationPlacement = mark.placement ?? "above";
|
|
3255
3346
|
break;
|
|
3256
3347
|
case "markup":
|
|
3257
3348
|
result.markups.push({
|
|
@@ -3269,7 +3360,7 @@ var extractMarkOptions = (marks) => {
|
|
|
3269
3360
|
}
|
|
3270
3361
|
return result;
|
|
3271
3362
|
};
|
|
3272
|
-
var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFifths = 0, ottavaShift = 0, measureAccidentals, lyricXml = "", clefOctave = 0) => {
|
|
3363
|
+
var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFifths = 0, ottavaShift = 0, measureAccidentals, lyricXml = "", clefOctave = 0, tieStartPitches, staffOffset = 0) => {
|
|
3273
3364
|
const dur = DURATIONS[event.duration.division] || "4";
|
|
3274
3365
|
const dots = event.duration.dots || 0;
|
|
3275
3366
|
const markOptions = extractMarkOptions(event.marks);
|
|
@@ -3294,10 +3385,27 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3294
3385
|
staff: event.staff,
|
|
3295
3386
|
layerStaff,
|
|
3296
3387
|
artics: markOptions.artics,
|
|
3297
|
-
tremolo: markOptions.tremolo
|
|
3388
|
+
tremolo: markOptions.tremolo,
|
|
3389
|
+
headShape: event.headShape,
|
|
3390
|
+
staffOffset
|
|
3391
|
+
};
|
|
3392
|
+
const suppressTieAccid = (p, index) => {
|
|
3393
|
+
if (!tieEnd || !p.accid)
|
|
3394
|
+
return p;
|
|
3395
|
+
const start = tieStartPitches?.[index];
|
|
3396
|
+
const startAccid = start?.accidental ? ACCIDENTALS[start.accidental] : void 0;
|
|
3397
|
+
if (startAccid === void 0)
|
|
3398
|
+
return p;
|
|
3399
|
+
const ges = p.accid === "x" ? "ss" : p.accid;
|
|
3400
|
+
const startGes = startAccid === "x" ? "ss" : startAccid;
|
|
3401
|
+
if (startGes !== ges)
|
|
3402
|
+
return p;
|
|
3403
|
+
const copy = { ...p };
|
|
3404
|
+
delete copy.accid;
|
|
3405
|
+
return copy;
|
|
3298
3406
|
};
|
|
3299
3407
|
if (event.pitches.length === 1) {
|
|
3300
|
-
const pitch = encodePitch(event.pitches[0], keyFifths, ottavaShift, measureAccidentals, clefOctave);
|
|
3408
|
+
const pitch = suppressTieAccid(encodePitch(event.pitches[0], keyFifths, ottavaShift, measureAccidentals, clefOctave), 0);
|
|
3301
3409
|
const noteId = generateId("note");
|
|
3302
3410
|
return {
|
|
3303
3411
|
xml: buildNoteElement(pitch, dur, dots, indent, false, { ...noteOptions, lyricXml }, noteId),
|
|
@@ -3318,8 +3426,11 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3318
3426
|
slurEnd: markOptions.slurEnd,
|
|
3319
3427
|
fingerings: markOptions.fingerings,
|
|
3320
3428
|
navigation: markOptions.navigation,
|
|
3429
|
+
navigationPlacement: markOptions.navigationPlacement,
|
|
3430
|
+
dynamicPlacement: markOptions.dynamicPlacement,
|
|
3321
3431
|
markups: markOptions.markups,
|
|
3322
3432
|
breath: markOptions.breath,
|
|
3433
|
+
caesura: markOptions.caesura,
|
|
3323
3434
|
glissando: markOptions.glissando
|
|
3324
3435
|
};
|
|
3325
3436
|
}
|
|
@@ -3334,7 +3445,7 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3334
3445
|
if (noteOptions.stemDir)
|
|
3335
3446
|
chordAttrs += ` stem.dir="${noteOptions.stemDir}"`;
|
|
3336
3447
|
if (layerStaff && noteOptions.staff && noteOptions.staff !== layerStaff) {
|
|
3337
|
-
chordAttrs += ` staff="${noteOptions.staff}"`;
|
|
3448
|
+
chordAttrs += ` staff="${noteOptions.staff + (noteOptions.staffOffset || 0)}"`;
|
|
3338
3449
|
}
|
|
3339
3450
|
if (noteOptions.tremolo) {
|
|
3340
3451
|
const stemMod = tremoloToStemMod(noteOptions.tremolo);
|
|
@@ -3343,9 +3454,9 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3343
3454
|
}
|
|
3344
3455
|
let result = `${indent}<chord ${chordAttrs}>
|
|
3345
3456
|
`;
|
|
3346
|
-
for (
|
|
3347
|
-
const pitch = encodePitch(
|
|
3348
|
-
result += buildNoteElement(pitch, dur, dots, indent + " ", true);
|
|
3457
|
+
for (let pi = 0; pi < event.pitches.length; pi++) {
|
|
3458
|
+
const pitch = suppressTieAccid(encodePitch(event.pitches[pi], keyFifths, ottavaShift, measureAccidentals, clefOctave), pi);
|
|
3459
|
+
result += buildNoteElement(pitch, dur, dots, indent + " ", true, { headShape: noteOptions.headShape });
|
|
3349
3460
|
}
|
|
3350
3461
|
if (noteOptions.artics.length > 0) {
|
|
3351
3462
|
const aboveArtics = noteOptions.artics.filter((a) => a.placement === "above").map((a) => a.type);
|
|
@@ -3387,8 +3498,11 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3387
3498
|
slurEnd: markOptions.slurEnd,
|
|
3388
3499
|
fingerings: markOptions.fingerings,
|
|
3389
3500
|
navigation: markOptions.navigation,
|
|
3501
|
+
navigationPlacement: markOptions.navigationPlacement,
|
|
3502
|
+
dynamicPlacement: markOptions.dynamicPlacement,
|
|
3390
3503
|
markups: markOptions.markups,
|
|
3391
3504
|
breath: markOptions.breath,
|
|
3505
|
+
caesura: markOptions.caesura,
|
|
3392
3506
|
glissando: markOptions.glissando
|
|
3393
3507
|
};
|
|
3394
3508
|
};
|
|
@@ -3401,10 +3515,22 @@ var restEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAcci
|
|
|
3401
3515
|
if (crossStaff)
|
|
3402
3516
|
attrs += ` staff="${crossStaff}"`;
|
|
3403
3517
|
let fermata;
|
|
3518
|
+
const restMarkups = [];
|
|
3519
|
+
const restDynamics = [];
|
|
3404
3520
|
if (event.marks) {
|
|
3405
3521
|
for (const mk of event.marks) {
|
|
3406
3522
|
if (mk.markType === "ornament" && mk.type === "fermata")
|
|
3407
3523
|
fermata = "normal";
|
|
3524
|
+
else if (mk.markType === "markup") {
|
|
3525
|
+
restMarkups.push({
|
|
3526
|
+
content: mk.content,
|
|
3527
|
+
placement: mk.placement
|
|
3528
|
+
});
|
|
3529
|
+
} else if (mk.markType === "dynamic") {
|
|
3530
|
+
const label = DYNAMIC_MAP[mk.type];
|
|
3531
|
+
if (label)
|
|
3532
|
+
restDynamics.push({ startid: restId, label, placement: mk.placement });
|
|
3533
|
+
}
|
|
3408
3534
|
}
|
|
3409
3535
|
}
|
|
3410
3536
|
if (event.pitch) {
|
|
@@ -3413,15 +3539,18 @@ var restEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAcci
|
|
|
3413
3539
|
}
|
|
3414
3540
|
if (event.invisible) {
|
|
3415
3541
|
return { xml: `${indent}<space ${attrs} />
|
|
3416
|
-
`, elementId: restId, fermata };
|
|
3542
|
+
`, elementId: restId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3417
3543
|
}
|
|
3418
3544
|
if (event.fullMeasure) {
|
|
3419
3545
|
const mRestId = generateId("mrest");
|
|
3546
|
+
if (event.multiMeasure && event.multiMeasure > 1)
|
|
3547
|
+
return { xml: `${indent}<multiRest xml:id="${mRestId}" num="${event.multiMeasure}" />
|
|
3548
|
+
`, elementId: mRestId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3420
3549
|
return { xml: `${indent}<mRest xml:id="${mRestId}" />
|
|
3421
|
-
`, elementId: mRestId, fermata };
|
|
3550
|
+
`, elementId: mRestId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3422
3551
|
}
|
|
3423
3552
|
return { xml: `${indent}<rest ${attrs} />
|
|
3424
|
-
`, elementId: restId, fermata };
|
|
3553
|
+
`, elementId: restId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3425
3554
|
};
|
|
3426
3555
|
var tupletHasInternalBeams = (event) => {
|
|
3427
3556
|
let starts = 0;
|
|
@@ -3437,17 +3566,27 @@ var tupletHasInternalBeams = (event) => {
|
|
|
3437
3566
|
}
|
|
3438
3567
|
return starts > 0 && starts === ends;
|
|
3439
3568
|
};
|
|
3440
|
-
var
|
|
3569
|
+
var tupletPitchesMatch = (p1, p2) => {
|
|
3570
|
+
if (p1.length !== p2.length)
|
|
3571
|
+
return false;
|
|
3572
|
+
for (let i = 0; i < p1.length; i++) {
|
|
3573
|
+
if (p1[i].phonet !== p2[i].phonet || p1[i].octave !== p2[i].octave)
|
|
3574
|
+
return false;
|
|
3575
|
+
}
|
|
3576
|
+
return true;
|
|
3577
|
+
};
|
|
3578
|
+
var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff, ottavaShift = 0, inParentBeam = false, measureAccidentals, currentClef, lyricCursors = [], contextStemDir, initialTiePitches = []) => {
|
|
3441
3579
|
const num = event.ratio.denominator;
|
|
3442
3580
|
const numbase = event.ratio.numerator;
|
|
3443
3581
|
let xml = `${indent}<tuplet xml:id="${generateId("tuplet")}" num="${num}" numbase="${numbase}">
|
|
3444
3582
|
`;
|
|
3445
3583
|
const baseIndent = indent + " ";
|
|
3446
|
-
|
|
3584
|
+
let effectiveStaff = currentStaff ?? layerStaff;
|
|
3447
3585
|
let firstNoteId = null;
|
|
3448
3586
|
let lastNoteId = null;
|
|
3449
3587
|
const slurStarts = [];
|
|
3450
3588
|
const slurEnds = [];
|
|
3589
|
+
const slurActions = [];
|
|
3451
3590
|
const dynamics = [];
|
|
3452
3591
|
const fermatas = [];
|
|
3453
3592
|
const trills = [];
|
|
@@ -3457,10 +3596,14 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3457
3596
|
const pedals = [];
|
|
3458
3597
|
const fingerings = [];
|
|
3459
3598
|
const markups = [];
|
|
3599
|
+
const hairpinStarts = [];
|
|
3600
|
+
const hairpinEnds = [];
|
|
3460
3601
|
const hasInternalBeams = !inParentBeam && tupletHasInternalBeams(event);
|
|
3461
3602
|
let beamOpen = false;
|
|
3462
3603
|
let activeClef = currentClef;
|
|
3463
3604
|
let endingClef;
|
|
3605
|
+
let pendingTieIn = [...initialTiePitches];
|
|
3606
|
+
let pendingTieOut = [];
|
|
3464
3607
|
for (const e of event.events) {
|
|
3465
3608
|
if (e.type === "note") {
|
|
3466
3609
|
const noteEvent = e;
|
|
@@ -3473,18 +3616,29 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3473
3616
|
const noteIndent = beamOpen ? baseIndent + " " : baseIndent;
|
|
3474
3617
|
const effectiveNoteEvent = effectiveStaff && layerStaff && effectiveStaff !== layerStaff ? { ...noteEvent, staff: effectiveStaff } : noteEvent;
|
|
3475
3618
|
const lyricXml = lyricCursors.length ? lyricXmlForEvent(lyricCursors, noteIndent + " ") : "";
|
|
3476
|
-
const
|
|
3619
|
+
const carryTieEnd = pendingTieIn.length > 0 && tupletPitchesMatch(pendingTieIn, noteEvent.pitches);
|
|
3620
|
+
const result = noteEventToMEI(effectiveNoteEvent, noteIndent, layerStaff, carryTieEnd, contextStemDir, keyFifths, ottavaShift, measureAccidentals, lyricXml, clefOctaveShift(activeClef), carryTieEnd ? pendingTieIn : void 0);
|
|
3621
|
+
if (carryTieEnd)
|
|
3622
|
+
pendingTieIn = [];
|
|
3477
3623
|
xml += result.xml;
|
|
3478
3624
|
if (!firstNoteId)
|
|
3479
3625
|
firstNoteId = result.elementId;
|
|
3480
3626
|
lastNoteId = result.elementId;
|
|
3627
|
+
if (result.hasTieStart)
|
|
3628
|
+
pendingTieOut = result.pitches;
|
|
3629
|
+
else if (carryTieEnd)
|
|
3630
|
+
pendingTieOut = [];
|
|
3481
3631
|
if (result.slurStart)
|
|
3482
3632
|
slurStarts.push(result.elementId);
|
|
3483
3633
|
if (result.slurEnd)
|
|
3484
3634
|
slurEnds.push(result.elementId);
|
|
3635
|
+
if (result.slurEnd)
|
|
3636
|
+
slurActions.push({ id: result.elementId, start: false });
|
|
3637
|
+
if (result.slurStart)
|
|
3638
|
+
slurActions.push({ id: result.elementId, start: true });
|
|
3485
3639
|
if (result.dynamics)
|
|
3486
3640
|
for (const label of result.dynamics)
|
|
3487
|
-
dynamics.push({ startid: result.elementId, label });
|
|
3641
|
+
dynamics.push({ startid: result.elementId, label, placement: result.dynamicPlacement });
|
|
3488
3642
|
if (result.fermata)
|
|
3489
3643
|
fermatas.push({ startid: result.elementId, shape: result.fermata === "short" ? "angular" : void 0 });
|
|
3490
3644
|
if (result.trill)
|
|
@@ -3502,6 +3656,12 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3502
3656
|
fingerings.push({ startid: result.elementId, finger: fing.finger, placement: fing.placement });
|
|
3503
3657
|
for (const mkup of result.markups)
|
|
3504
3658
|
markups.push({ startid: result.elementId, content: mkup.content, placement: mkup.placement });
|
|
3659
|
+
if (markOptions.hairpin === "crescStart")
|
|
3660
|
+
hairpinStarts.push({ id: result.elementId, form: "cres" });
|
|
3661
|
+
else if (markOptions.hairpin === "dimStart")
|
|
3662
|
+
hairpinStarts.push({ id: result.elementId, form: "dim" });
|
|
3663
|
+
else if (markOptions.hairpin === "crescEnd" || markOptions.hairpin === "dimEnd")
|
|
3664
|
+
hairpinEnds.push(result.elementId);
|
|
3505
3665
|
if (hasInternalBeams && markOptions.beamEnd && beamOpen) {
|
|
3506
3666
|
xml += `${baseIndent}</beam>
|
|
3507
3667
|
`;
|
|
@@ -3514,8 +3674,41 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3514
3674
|
lastNoteId = restResult.elementId;
|
|
3515
3675
|
if (restResult.fermata)
|
|
3516
3676
|
fermatas.push({ startid: restResult.elementId, shape: restResult.fermata === "short" ? "angular" : void 0 });
|
|
3677
|
+
for (const mkup of restResult.markups)
|
|
3678
|
+
markups.push({ startid: restResult.elementId, content: mkup.content, placement: mkup.placement });
|
|
3679
|
+
dynamics.push(...restResult.dynamics);
|
|
3680
|
+
} else if (e.type === "tuplet") {
|
|
3681
|
+
const nestedIndent = beamOpen ? baseIndent + " " : baseIndent;
|
|
3682
|
+
const nested = tupletEventToMEI(e, nestedIndent, layerStaff, keyFifths, effectiveStaff, ottavaShift, inParentBeam, measureAccidentals, activeClef, [], contextStemDir, pendingTieIn);
|
|
3683
|
+
xml += nested.xml;
|
|
3684
|
+
if (!firstNoteId)
|
|
3685
|
+
firstNoteId = nested.firstNoteId;
|
|
3686
|
+
lastNoteId = nested.lastNoteId ?? lastNoteId;
|
|
3687
|
+
pendingTieIn = [];
|
|
3688
|
+
if (nested.pendingTieOut.length)
|
|
3689
|
+
pendingTieOut = nested.pendingTieOut;
|
|
3690
|
+
slurStarts.push(...nested.slurStarts);
|
|
3691
|
+
slurEnds.push(...nested.slurEnds);
|
|
3692
|
+
slurActions.push(...nested.slurActions);
|
|
3693
|
+
dynamics.push(...nested.dynamics);
|
|
3694
|
+
fermatas.push(...nested.fermatas);
|
|
3695
|
+
trills.push(...nested.trills);
|
|
3696
|
+
mordents.push(...nested.mordents);
|
|
3697
|
+
turns.push(...nested.turns);
|
|
3698
|
+
arpeggios.push(...nested.arpeggios);
|
|
3699
|
+
pedals.push(...nested.pedals);
|
|
3700
|
+
fingerings.push(...nested.fingerings);
|
|
3701
|
+
markups.push(...nested.markups);
|
|
3702
|
+
hairpinStarts.push(...nested.hairpinStarts);
|
|
3703
|
+
hairpinEnds.push(...nested.hairpinEnds);
|
|
3704
|
+
if (nested.endingClef) {
|
|
3705
|
+
activeClef = nested.endingClef;
|
|
3706
|
+
endingClef = nested.endingClef;
|
|
3707
|
+
}
|
|
3517
3708
|
} else if (e.type === "context") {
|
|
3518
3709
|
const ctx = e;
|
|
3710
|
+
if (ctx.staff !== void 0 && ctx.staff !== effectiveStaff)
|
|
3711
|
+
effectiveStaff = ctx.staff;
|
|
3519
3712
|
if (ctx.clef && ctx.clef !== activeClef) {
|
|
3520
3713
|
const layerStaffNum = layerStaff || 1;
|
|
3521
3714
|
const effectiveStaffNum = effectiveStaff ?? layerStaffNum;
|
|
@@ -3535,7 +3728,7 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3535
3728
|
}
|
|
3536
3729
|
xml += `${indent}</tuplet>
|
|
3537
3730
|
`;
|
|
3538
|
-
return { xml, firstNoteId, lastNoteId, slurStarts, slurEnds, dynamics, fermatas, trills, mordents, turns, arpeggios, pedals, fingerings, markups, endingClef };
|
|
3731
|
+
return { xml, firstNoteId, lastNoteId, pendingTieOut, slurStarts, slurEnds, slurActions, dynamics, fermatas, trills, mordents, turns, arpeggios, pedals, fingerings, markups, hairpinStarts, hairpinEnds, endingClef };
|
|
3539
3732
|
};
|
|
3540
3733
|
var tremoloEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAccidentals, clefOctave = 0) => {
|
|
3541
3734
|
const ftremId = generateId("fTrem");
|
|
@@ -3630,7 +3823,7 @@ var getEventBeamMarks = (event) => {
|
|
|
3630
3823
|
}
|
|
3631
3824
|
return { beamStart: false, beamEnd: false };
|
|
3632
3825
|
};
|
|
3633
|
-
var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0, initialClef, initialSlurs = [], initialHairpin = null, initialOctave = null, initialGliss = null) => {
|
|
3826
|
+
var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0, initialClef, initialSlurs = [], initialHairpin = null, initialOctave = null, initialGliss = null, staffOffset = 0) => {
|
|
3634
3827
|
const layerId = generateId("layer");
|
|
3635
3828
|
let xml = `${indent}<layer xml:id="${layerId}" n="${layerN}">
|
|
3636
3829
|
`;
|
|
@@ -3674,12 +3867,14 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3674
3867
|
}
|
|
3675
3868
|
};
|
|
3676
3869
|
const slurs = [];
|
|
3677
|
-
const
|
|
3870
|
+
const slurEndReplacements = {};
|
|
3871
|
+
const openSlurs = initialSlurs.map((s) => ({ ...s }));
|
|
3678
3872
|
let currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
3679
3873
|
const arpeggios = [];
|
|
3680
3874
|
const fermatas = [];
|
|
3681
3875
|
const trills = [];
|
|
3682
3876
|
const breaths = [];
|
|
3877
|
+
const caesuras = [];
|
|
3683
3878
|
const glissandos = [];
|
|
3684
3879
|
let pendingGlissStart = initialGliss;
|
|
3685
3880
|
const mordents = [];
|
|
@@ -3750,7 +3945,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3750
3945
|
applyPendingOttavaShift();
|
|
3751
3946
|
const effectiveNoteEvent = currentStaff !== voice.staff ? { ...noteEvent, staff: currentStaff } : noteEvent;
|
|
3752
3947
|
const eventLyricXml = isGraceNote ? "" : lyricXmlForEvent(lyricCursors, currentIndent + " ");
|
|
3753
|
-
const result = noteEventToMEI(effectiveNoteEvent, currentIndent, voice.staff, tieEnd, currentStemDirection, keyFifths, currentOttavaShift, measureAccidentals, eventLyricXml, clefOctaveShift(currentClef));
|
|
3948
|
+
const result = noteEventToMEI(effectiveNoteEvent, currentIndent, voice.staff, tieEnd, currentStemDirection, keyFifths, currentOttavaShift, measureAccidentals, eventLyricXml, clefOctaveShift(currentClef), tieEnd ? pendingTiePitches : void 0, staffOffset);
|
|
3754
3949
|
xml += result.xml;
|
|
3755
3950
|
lastNoteId = result.elementId;
|
|
3756
3951
|
extendOttavaEnd(result.elementId);
|
|
@@ -3791,13 +3986,16 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3791
3986
|
}
|
|
3792
3987
|
if (result.slurEnd && openSlurs.length > 0) {
|
|
3793
3988
|
const open = openSlurs.pop();
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3989
|
+
if (open.token) {
|
|
3990
|
+
slurEndReplacements[open.token] = result.elementId;
|
|
3991
|
+
} else {
|
|
3992
|
+
slurs.push({ startId: open.startId, endId: result.elementId });
|
|
3993
|
+
}
|
|
3798
3994
|
}
|
|
3799
3995
|
if (result.slurStart) {
|
|
3800
|
-
|
|
3996
|
+
const token = `__SLUR_END_${generateId("slurEnd")}__`;
|
|
3997
|
+
openSlurs.push({ startId: result.elementId, token });
|
|
3998
|
+
slurs.push({ startId: result.elementId, endId: token });
|
|
3801
3999
|
}
|
|
3802
4000
|
currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
3803
4001
|
if (result.arpeggio) {
|
|
@@ -3815,6 +4013,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3815
4013
|
if (result.breath) {
|
|
3816
4014
|
breaths.push({ startid: result.elementId });
|
|
3817
4015
|
}
|
|
4016
|
+
if (result.caesura) {
|
|
4017
|
+
caesuras.push({ startid: result.elementId });
|
|
4018
|
+
}
|
|
3818
4019
|
if (pendingGlissStart) {
|
|
3819
4020
|
glissandos.push({ startid: pendingGlissStart, endid: result.elementId });
|
|
3820
4021
|
pendingGlissStart = null;
|
|
@@ -3833,7 +4034,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3833
4034
|
}
|
|
3834
4035
|
if (result.dynamics) {
|
|
3835
4036
|
for (const label of result.dynamics)
|
|
3836
|
-
dynamics.push({ startid: result.elementId, label });
|
|
4037
|
+
dynamics.push({ startid: result.elementId, label, placement: result.dynamicPlacement });
|
|
3837
4038
|
}
|
|
3838
4039
|
for (const fing of result.fingerings) {
|
|
3839
4040
|
fingerings.push({ startid: result.elementId, finger: fing.finger, placement: fing.placement });
|
|
@@ -3842,7 +4043,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3842
4043
|
markups.push({ startid: result.elementId, content: mkup.content, placement: mkup.placement });
|
|
3843
4044
|
}
|
|
3844
4045
|
if (result.navigation) {
|
|
3845
|
-
navigations.push({ type: result.navigation });
|
|
4046
|
+
navigations.push({ type: result.navigation, placement: result.navigationPlacement, staff: voice.staff || 1 });
|
|
3846
4047
|
}
|
|
3847
4048
|
break;
|
|
3848
4049
|
}
|
|
@@ -3856,6 +4057,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3856
4057
|
applyOttavaAnchor(restResult.elementId);
|
|
3857
4058
|
if (restResult.fermata)
|
|
3858
4059
|
fermatas.push({ startid: restResult.elementId, shape: restResult.fermata === "short" ? "angular" : void 0 });
|
|
4060
|
+
for (const mkup of restResult.markups)
|
|
4061
|
+
markups.push({ startid: restResult.elementId, content: mkup.content, placement: mkup.placement });
|
|
4062
|
+
dynamics.push(...restResult.dynamics);
|
|
3859
4063
|
flushPendingMarkups(restResult.elementId);
|
|
3860
4064
|
flushPendingDynamics(restResult.elementId);
|
|
3861
4065
|
break;
|
|
@@ -3863,7 +4067,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3863
4067
|
case "tuplet":
|
|
3864
4068
|
case "times": {
|
|
3865
4069
|
applyPendingOttavaShift();
|
|
3866
|
-
const tupletResult = tupletEventToMEI(event, currentIndent, voice.staff, keyFifths, currentStaff, currentOttavaShift, beamElementOpen, measureAccidentals, currentClef, lyricCursors);
|
|
4070
|
+
const tupletResult = tupletEventToMEI(event, currentIndent, voice.staff, keyFifths, currentStaff, currentOttavaShift, beamElementOpen, measureAccidentals, currentClef, lyricCursors, currentStemDirection, pendingTiePitches);
|
|
3867
4071
|
xml += tupletResult.xml;
|
|
3868
4072
|
if (tupletResult.firstNoteId)
|
|
3869
4073
|
applyOttavaAnchor(tupletResult.firstNoteId);
|
|
@@ -3877,19 +4081,25 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3877
4081
|
flushPendingDynamics(tupletResult.firstNoteId);
|
|
3878
4082
|
lastNoteId = tupletResult.lastNoteId ?? tupletResult.firstNoteId;
|
|
3879
4083
|
}
|
|
3880
|
-
for (const
|
|
3881
|
-
if (
|
|
4084
|
+
for (const act of tupletResult.slurActions) {
|
|
4085
|
+
if (act.start) {
|
|
4086
|
+
openSlurs.push({ startId: act.id });
|
|
4087
|
+
} else if (openSlurs.length > 0) {
|
|
3882
4088
|
const open = openSlurs.pop();
|
|
3883
|
-
slurs.push({
|
|
3884
|
-
startId: open.startId,
|
|
3885
|
-
endId
|
|
3886
|
-
});
|
|
4089
|
+
slurs.push({ startId: open.startId, endId: act.id });
|
|
3887
4090
|
}
|
|
3888
4091
|
}
|
|
3889
|
-
for (const startId of tupletResult.slurStarts) {
|
|
3890
|
-
openSlurs.push({ startId });
|
|
3891
|
-
}
|
|
3892
4092
|
currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
4093
|
+
for (const endId of tupletResult.hairpinEnds) {
|
|
4094
|
+
const pick = openHairpins.length - 1;
|
|
4095
|
+
if (pick >= 0) {
|
|
4096
|
+
const open = openHairpins.splice(pick, 1)[0];
|
|
4097
|
+
hairpins.push({ form: open.form, startId: open.startId, endId });
|
|
4098
|
+
}
|
|
4099
|
+
}
|
|
4100
|
+
for (const hs of tupletResult.hairpinStarts)
|
|
4101
|
+
openHairpins.push({ form: hs.form, startId: hs.id });
|
|
4102
|
+
pendingTiePitches = tupletResult.pendingTieOut;
|
|
3893
4103
|
dynamics.push(...tupletResult.dynamics);
|
|
3894
4104
|
fermatas.push(...tupletResult.fermatas);
|
|
3895
4105
|
trills.push(...tupletResult.trills);
|
|
@@ -4027,9 +4237,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
4027
4237
|
}
|
|
4028
4238
|
xml += `${indent}</layer>
|
|
4029
4239
|
`;
|
|
4030
|
-
return { xml, hairpins, pedals, octaves, slurs, arpeggios, fermatas, trills, breaths, glissandos, mordents, turns, dynamics, fingerings, navigations, harmonies, barlines, markups, pendingTiePitches, pendingSlur: openSlurs.map((s) => s.startId), pendingGliss: pendingGlissStart, pendingHairpin, pendingOctave, ottavaExplicitlyClosed, endingClef: currentClef, lastNoteId, currentOttavaShift, octaveEndReplacements };
|
|
4240
|
+
return { xml, hairpins, pedals, octaves, slurs, arpeggios, fermatas, trills, breaths, caesuras, glissandos, mordents, turns, dynamics, fingerings, navigations, harmonies, barlines, markups, pendingTiePitches, pendingSlur: openSlurs.map((s) => ({ startId: s.startId, token: s.token })), slurEndReplacements, pendingGliss: pendingGlissStart, pendingHairpin, pendingOctave, ottavaExplicitlyClosed, endingClef: currentClef, lastNoteId, currentOttavaShift, octaveEndReplacements };
|
|
4031
4241
|
};
|
|
4032
|
-
var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpinState = {}, ottavaState = {}, keyFifths = 0, initialClef, glissState = {}) => {
|
|
4242
|
+
var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpinState = {}, ottavaState = {}, keyFifths = 0, initialClef, glissState = {}, staffOffset = 0) => {
|
|
4033
4243
|
const staffId = generateId("staff");
|
|
4034
4244
|
let xml = `${indent}<staff xml:id="${staffId}" n="${staffN}">
|
|
4035
4245
|
`;
|
|
@@ -4041,6 +4251,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4041
4251
|
const allFermatas = [];
|
|
4042
4252
|
const allTrills = [];
|
|
4043
4253
|
const allBreaths = [];
|
|
4254
|
+
const allCaesuras = [];
|
|
4044
4255
|
const allGlissandos = [];
|
|
4045
4256
|
const allMordents = [];
|
|
4046
4257
|
const allTurns = [];
|
|
@@ -4058,6 +4269,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4058
4269
|
const ottavaExplicitlyClosed = {};
|
|
4059
4270
|
const lastNoteIds = {};
|
|
4060
4271
|
const octaveEndReplacements = {};
|
|
4272
|
+
const slurEndReplacements = {};
|
|
4061
4273
|
let endingClef = initialClef;
|
|
4062
4274
|
if (voices.length === 0) {
|
|
4063
4275
|
xml += `${indent} <layer xml:id="${generateId("layer")}" n="1" />
|
|
@@ -4071,7 +4283,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4071
4283
|
const initialHairpin = hairpinState[tieKey] || null;
|
|
4072
4284
|
const initialOctave = ottavaState[tieKey] || null;
|
|
4073
4285
|
const initialGliss = glissState[tieKey] || null;
|
|
4074
|
-
const result = encodeLayer(voice, layerN, indent + " ", initialTies, keyFifths, endingClef, initialSlur, initialHairpin, initialOctave, initialGliss);
|
|
4286
|
+
const result = encodeLayer(voice, layerN, indent + " ", initialTies, keyFifths, endingClef, initialSlur, initialHairpin, initialOctave, initialGliss, staffOffset);
|
|
4075
4287
|
xml += result.xml;
|
|
4076
4288
|
allHairpins.push(...result.hairpins);
|
|
4077
4289
|
allPedals.push(...result.pedals);
|
|
@@ -4081,6 +4293,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4081
4293
|
allFermatas.push(...result.fermatas);
|
|
4082
4294
|
allTrills.push(...result.trills);
|
|
4083
4295
|
allBreaths.push(...result.breaths);
|
|
4296
|
+
allCaesuras.push(...result.caesuras);
|
|
4084
4297
|
allGlissandos.push(...result.glissandos);
|
|
4085
4298
|
allMordents.push(...result.mordents);
|
|
4086
4299
|
allTurns.push(...result.turns);
|
|
@@ -4091,14 +4304,13 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4091
4304
|
allBarlines.push(...result.barlines);
|
|
4092
4305
|
allMarkups.push(...result.markups);
|
|
4093
4306
|
Object.assign(octaveEndReplacements, result.octaveEndReplacements);
|
|
4307
|
+
Object.assign(slurEndReplacements, result.slurEndReplacements);
|
|
4094
4308
|
if (result.pendingTiePitches.length > 0) {
|
|
4095
4309
|
pendingTies[tieKey] = result.pendingTiePitches;
|
|
4096
4310
|
}
|
|
4097
4311
|
pendingSlurs[tieKey] = result.pendingSlur;
|
|
4098
4312
|
pendingGlisses[tieKey] = result.pendingGliss;
|
|
4099
|
-
|
|
4100
|
-
pendingHairpins[tieKey] = result.pendingHairpin;
|
|
4101
|
-
}
|
|
4313
|
+
pendingHairpins[tieKey] = result.pendingHairpin;
|
|
4102
4314
|
if (result.pendingOctave) {
|
|
4103
4315
|
pendingOctaves[tieKey] = result.pendingOctave;
|
|
4104
4316
|
}
|
|
@@ -4115,6 +4327,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4115
4327
|
`;
|
|
4116
4328
|
return {
|
|
4117
4329
|
xml,
|
|
4330
|
+
slurEndReplacements,
|
|
4118
4331
|
hairpins: allHairpins,
|
|
4119
4332
|
pedals: allPedals,
|
|
4120
4333
|
octaves: allOctaves,
|
|
@@ -4123,6 +4336,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4123
4336
|
fermatas: allFermatas,
|
|
4124
4337
|
trills: allTrills,
|
|
4125
4338
|
breaths: allBreaths,
|
|
4339
|
+
caesuras: allCaesuras,
|
|
4126
4340
|
glissandos: allGlissandos,
|
|
4127
4341
|
mordents: allMordents,
|
|
4128
4342
|
turns: allTurns,
|
|
@@ -4230,7 +4444,7 @@ var BARLINE_TO_MEI = {
|
|
|
4230
4444
|
":..:|": "rptboth",
|
|
4231
4445
|
":..:": "rptboth"
|
|
4232
4446
|
};
|
|
4233
|
-
var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState, hairpinState, ottavaState, keyFifths = 0, partInfos = [], clefState = {}, octaveEndReplacements = {}, measureIds, glissState = {}, barHidden = false, meterUnit = 4) => {
|
|
4447
|
+
var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState, hairpinState, ottavaState, keyFifths = 0, partInfos = [], clefState = {}, octaveEndReplacements = {}, measureIds, glissState = {}, barHidden = false, meterUnit = 4, slurEndReplacements = {}) => {
|
|
4234
4448
|
const measureId = generateId("measure");
|
|
4235
4449
|
if (measureIds)
|
|
4236
4450
|
measureIds.push(measureId);
|
|
@@ -4243,6 +4457,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4243
4457
|
const allFermatas = [];
|
|
4244
4458
|
const allTrills = [];
|
|
4245
4459
|
const allBreaths = [];
|
|
4460
|
+
const allCaesuras = [];
|
|
4246
4461
|
const allGlissandos = [];
|
|
4247
4462
|
const allMordents = [];
|
|
4248
4463
|
const allTurns = [];
|
|
@@ -4272,12 +4487,14 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4272
4487
|
}
|
|
4273
4488
|
}
|
|
4274
4489
|
const voicesByStaff = {};
|
|
4490
|
+
const staffOffsets = {};
|
|
4275
4491
|
for (let pi = 0; pi < measure.parts.length; pi++) {
|
|
4276
4492
|
const part = measure.parts[pi];
|
|
4277
4493
|
const partOffset = partInfos[pi]?.staffOffset || 0;
|
|
4278
4494
|
for (const voice of part.voices) {
|
|
4279
4495
|
const localStaff = voice.staff || 1;
|
|
4280
4496
|
const globalStaff = partOffset + localStaff;
|
|
4497
|
+
staffOffsets[globalStaff] = partOffset;
|
|
4281
4498
|
if (!voicesByStaff[globalStaff]) {
|
|
4282
4499
|
voicesByStaff[globalStaff] = [];
|
|
4283
4500
|
}
|
|
@@ -4287,7 +4504,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4287
4504
|
for (let si = 1; si <= totalStaves; si++) {
|
|
4288
4505
|
const voices = voicesByStaff[si] || [];
|
|
4289
4506
|
const initialClef = clefState[si];
|
|
4290
|
-
const result = encodeStaff(voices, si, indent + " ", tieState, slurState, hairpinState, ottavaState, keyFifths, initialClef, glissState);
|
|
4507
|
+
const result = encodeStaff(voices, si, indent + " ", tieState, slurState, hairpinState, ottavaState, keyFifths, initialClef, glissState, staffOffsets[si] || 0);
|
|
4291
4508
|
staffContent += result.xml;
|
|
4292
4509
|
allHairpins.push(...result.hairpins);
|
|
4293
4510
|
allPedals.push(...result.pedals);
|
|
@@ -4297,6 +4514,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4297
4514
|
allFermatas.push(...result.fermatas);
|
|
4298
4515
|
allTrills.push(...result.trills);
|
|
4299
4516
|
allBreaths.push(...result.breaths);
|
|
4517
|
+
allCaesuras.push(...result.caesuras);
|
|
4300
4518
|
allGlissandos.push(...result.glissandos);
|
|
4301
4519
|
allMordents.push(...result.mordents);
|
|
4302
4520
|
allTurns.push(...result.turns);
|
|
@@ -4307,6 +4525,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4307
4525
|
allBarlines.push(...result.barlines);
|
|
4308
4526
|
allMarkups.push(...result.markups);
|
|
4309
4527
|
Object.assign(octaveEndReplacements, result.octaveEndReplacements);
|
|
4528
|
+
Object.assign(slurEndReplacements, result.slurEndReplacements);
|
|
4310
4529
|
Object.assign(tieState, result.pendingTies);
|
|
4311
4530
|
Object.assign(slurState, result.pendingSlurs);
|
|
4312
4531
|
Object.assign(glissState, result.pendingGlisses);
|
|
@@ -4374,6 +4593,10 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4374
4593
|
}
|
|
4375
4594
|
for (const br of allBreaths) {
|
|
4376
4595
|
staffContent += `${indent} <breath xml:id="${generateId("breath")}" startid="#${br.startid}" />
|
|
4596
|
+
`;
|
|
4597
|
+
}
|
|
4598
|
+
for (const ca of allCaesuras) {
|
|
4599
|
+
staffContent += `${indent} <caesura xml:id="${generateId("caesura")}" startid="#${ca.startid}" />
|
|
4377
4600
|
`;
|
|
4378
4601
|
}
|
|
4379
4602
|
for (const gl of allGlissandos) {
|
|
@@ -4390,7 +4613,8 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4390
4613
|
`;
|
|
4391
4614
|
}
|
|
4392
4615
|
for (const dyn of allDynamics) {
|
|
4393
|
-
|
|
4616
|
+
const placeAttr = dyn.placement ? ` place="${dyn.placement}"` : "";
|
|
4617
|
+
staffContent += `${indent} <dynam xml:id="${generateId("dynam")}" startid="#${dyn.startid}"${placeAttr}>${dyn.label}</dynam>
|
|
4394
4618
|
`;
|
|
4395
4619
|
}
|
|
4396
4620
|
for (const fing of allFingerings) {
|
|
@@ -4400,7 +4624,9 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4400
4624
|
}
|
|
4401
4625
|
for (const nav of allNavigations) {
|
|
4402
4626
|
const glyph = nav.type === "coda" ? "\u{1D10C}" : "\u{1D10B}";
|
|
4403
|
-
|
|
4627
|
+
const placeAttr = nav.placement ? ` place="${nav.placement}"` : "";
|
|
4628
|
+
const staffAttr = nav.staff ? ` staff="${nav.staff}"` : "";
|
|
4629
|
+
staffContent += `${indent} <dir xml:id="${generateId("dir")}" tstamp="1"${placeAttr}${staffAttr}>${glyph}</dir>
|
|
4404
4630
|
`;
|
|
4405
4631
|
}
|
|
4406
4632
|
for (const harm of allHarmonies) {
|
|
@@ -4560,7 +4786,7 @@ var staffDefWithLabel = (attrs, instr, indent, channels) => {
|
|
|
4560
4786
|
`;
|
|
4561
4787
|
return xml;
|
|
4562
4788
|
};
|
|
4563
|
-
var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol, stavesCode, instruments = {}, meterHidden = false) => {
|
|
4789
|
+
var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol, stavesCode, instruments = {}, meterHidden = false, staffKeys = {}) => {
|
|
4564
4790
|
const scoreDefId = generateId("scoredef");
|
|
4565
4791
|
const channels = newChannelAllocator();
|
|
4566
4792
|
const meterSymAttr = meterSymbol ? ` meter.sym="${meterSymbol}"` : "";
|
|
@@ -4577,7 +4803,7 @@ var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol,
|
|
|
4577
4803
|
if (stavesCode) {
|
|
4578
4804
|
const layout = parseStaffLayout(stavesCode);
|
|
4579
4805
|
if (layout.stavesCount === flatStaves.length) {
|
|
4580
|
-
const staffDefAttrs = flatStaves.map((s) => `xml:id="${generateId("staffdef")}" n="${s.n}" lines="5" ${staffDefClefAttrs(s.clef)}`);
|
|
4806
|
+
const staffDefAttrs = flatStaves.map((s) => `xml:id="${generateId("staffdef")}" n="${s.n}" lines="5" ${staffDefClefAttrs(s.clef)}` + (staffKeys[s.n] !== void 0 ? ` key.sig="${KEY_SIGS[staffKeys[s.n]] || "0"}"` : ""));
|
|
4581
4807
|
xml += layoutGroupToMEI(layout.group, staffDefAttrs, { i: 0 }, `${indent} `, instruments, channels);
|
|
4582
4808
|
layoutUsed = true;
|
|
4583
4809
|
}
|
|
@@ -4598,7 +4824,7 @@ var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol,
|
|
|
4598
4824
|
const globalStaff = info.staffOffset + ls;
|
|
4599
4825
|
const clef = info.clefs[ls] || Clef.treble;
|
|
4600
4826
|
const leafInstr = instruments[`${globalStaff}`];
|
|
4601
|
-
const attrs = `xml:id="${generateId("staffdef")}" n="${globalStaff}" lines="5" ${staffDefClefAttrs(clef)}
|
|
4827
|
+
const attrs = `xml:id="${generateId("staffdef")}" n="${globalStaff}" lines="5" ${staffDefClefAttrs(clef)}` + (staffKeys[globalStaff] !== void 0 ? ` key.sig="${KEY_SIGS[staffKeys[globalStaff]] || "0"}"` : "");
|
|
4602
4828
|
xml += staffDefWithLabel(attrs, leafInstr, `${indent} `, channels);
|
|
4603
4829
|
}
|
|
4604
4830
|
xml += `${indent} </staffGrp>
|
|
@@ -4897,6 +5123,33 @@ var encode = (doc, options = {}) => {
|
|
|
4897
5123
|
currentTimeDen = firstMeasure.timeSig.denominator;
|
|
4898
5124
|
currentMeterSymbol = firstMeasure.timeSig.symbol;
|
|
4899
5125
|
}
|
|
5126
|
+
const voiceKeys = [];
|
|
5127
|
+
{
|
|
5128
|
+
const offsets = [];
|
|
5129
|
+
let running = 0;
|
|
5130
|
+
for (const info of partInfos) {
|
|
5131
|
+
offsets.push(running);
|
|
5132
|
+
running += info.maxStaff;
|
|
5133
|
+
}
|
|
5134
|
+
firstMeasure.parts.forEach((part, pi) => {
|
|
5135
|
+
for (const voice of part.voices) {
|
|
5136
|
+
const keyEv = voice.events.find((e) => e.type === "context" && !!e.key);
|
|
5137
|
+
if (!keyEv)
|
|
5138
|
+
continue;
|
|
5139
|
+
voiceKeys.push({
|
|
5140
|
+
staff: (offsets[pi] ?? 0) + (voice.staff || 1),
|
|
5141
|
+
fifths: keyToFifths(keyEv.key)
|
|
5142
|
+
});
|
|
5143
|
+
}
|
|
5144
|
+
});
|
|
5145
|
+
}
|
|
5146
|
+
if (voiceKeys.length > 0)
|
|
5147
|
+
currentKey = voiceKeys[0].fifths;
|
|
5148
|
+
const staffKeys = {};
|
|
5149
|
+
for (const vk of voiceKeys) {
|
|
5150
|
+
if (vk.fifths !== currentKey)
|
|
5151
|
+
staffKeys[vk.staff] = vk.fifths;
|
|
5152
|
+
}
|
|
4900
5153
|
const keySig = KEY_SIGS[currentKey] || "0";
|
|
4901
5154
|
const shouldAutoBeam = resolveAutoBeam(doc);
|
|
4902
5155
|
if (shouldAutoBeam) {
|
|
@@ -4958,7 +5211,7 @@ var encode = (doc, options = {}) => {
|
|
|
4958
5211
|
mei += `${indent}${indent}${indent}${indent}<score xml:id="${generateId("score")}">
|
|
4959
5212
|
`;
|
|
4960
5213
|
const omitStates = computeOmitStates(doc.measures);
|
|
4961
|
-
mei += encodeScoreDef(keySig, currentTimeNum, currentTimeDen, partInfos, `${indent}${indent}${indent}${indent}${indent}`, currentMeterSymbol, doc.metadata?.staves, doc.metadata?.instruments, omitStates.meterHidden[0]);
|
|
5214
|
+
mei += encodeScoreDef(keySig, currentTimeNum, currentTimeDen, partInfos, `${indent}${indent}${indent}${indent}${indent}`, currentMeterSymbol, doc.metadata?.staves, doc.metadata?.instruments, omitStates.meterHidden[0], staffKeys);
|
|
4962
5215
|
mei += `${indent}${indent}${indent}${indent}${indent}<section xml:id="${generateId("section")}">
|
|
4963
5216
|
`;
|
|
4964
5217
|
const expansionInsertPos = mei.length;
|
|
@@ -5018,6 +5271,7 @@ var encode = (doc, options = {}) => {
|
|
|
5018
5271
|
const hairpinState = {};
|
|
5019
5272
|
const ottavaState = {};
|
|
5020
5273
|
const octaveEndReplacements = {};
|
|
5274
|
+
const slurEndReplacements = {};
|
|
5021
5275
|
const clefState = {};
|
|
5022
5276
|
const transState = {};
|
|
5023
5277
|
for (let pi = 0; pi < partInfos.length; pi++) {
|
|
@@ -5090,7 +5344,7 @@ var encode = (doc, options = {}) => {
|
|
|
5090
5344
|
if (openTag)
|
|
5091
5345
|
mei += openTag;
|
|
5092
5346
|
const measureIndent = segDecomp ? `${mIndent}${indent}` : mIndent;
|
|
5093
|
-
mei += encodeMeasure(measure, mIndex, measureIndent, totalStaves, tieState, slurState, hairpinState, ottavaState, currentKey, partInfos, clefState, octaveEndReplacements, measureIds, glissState, omitStates.barHidden[mi], currentTimeDen);
|
|
5347
|
+
mei += encodeMeasure(measure, mIndex, measureIndent, totalStaves, tieState, slurState, hairpinState, ottavaState, currentKey, partInfos, clefState, octaveEndReplacements, measureIds, glissState, omitStates.barHidden[mi], currentTimeDen, slurEndReplacements);
|
|
5094
5348
|
const closeTag = segCloseAt.get(mIndex);
|
|
5095
5349
|
if (closeTag)
|
|
5096
5350
|
mei += closeTag;
|
|
@@ -5140,6 +5394,9 @@ var encode = (doc, options = {}) => {
|
|
|
5140
5394
|
for (const [token, endId] of Object.entries(octaveEndReplacements)) {
|
|
5141
5395
|
mei = mei.replaceAll(token, endId);
|
|
5142
5396
|
}
|
|
5397
|
+
for (const [token, endId] of Object.entries(slurEndReplacements)) {
|
|
5398
|
+
mei = mei.replaceAll(token, endId);
|
|
5399
|
+
}
|
|
5143
5400
|
return mei;
|
|
5144
5401
|
};
|
|
5145
5402
|
var escapeXml = (text) => {
|