@k-l-lambda/lilylet-markdown 0.1.68 → 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.cjs
CHANGED
|
@@ -44,14 +44,14 @@ var localGrammar = function() {
|
|
|
44
44
|
var o = function(k, v, o2, l) {
|
|
45
45
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
|
|
46
46
|
return o2;
|
|
47
|
-
}, $V0 = [5, 26, 33, 36,
|
|
47
|
+
}, $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];
|
|
48
48
|
var parser = {
|
|
49
49
|
trace: function trace() {
|
|
50
50
|
},
|
|
51
51
|
yy: {},
|
|
52
|
-
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, "
|
|
53
|
-
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",
|
|
54
|
-
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], [
|
|
52
|
+
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 },
|
|
53
|
+
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" },
|
|
54
|
+
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]],
|
|
55
55
|
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
|
|
56
56
|
var $0 = $$.length - 1;
|
|
57
57
|
switch (yystate) {
|
|
@@ -71,15 +71,15 @@ var localGrammar = function() {
|
|
|
71
71
|
this.$ = { metadata: void 0, measures: $$[$0] };
|
|
72
72
|
break;
|
|
73
73
|
case 10:
|
|
74
|
-
case
|
|
75
|
-
case
|
|
74
|
+
case 115:
|
|
75
|
+
case 132:
|
|
76
76
|
this.$ = $$[$0];
|
|
77
77
|
break;
|
|
78
78
|
case 11:
|
|
79
79
|
this.$ = mergeHeaders($$[$0 - 1], $$[$0]);
|
|
80
80
|
break;
|
|
81
81
|
case 12:
|
|
82
|
-
case
|
|
82
|
+
case 69:
|
|
83
83
|
this.$ = $$[$0 - 1];
|
|
84
84
|
break;
|
|
85
85
|
case 13:
|
|
@@ -166,7 +166,7 @@ var localGrammar = function() {
|
|
|
166
166
|
this.$ = { lyrics: [], figures: [] };
|
|
167
167
|
break;
|
|
168
168
|
case 32:
|
|
169
|
-
case
|
|
169
|
+
case 231:
|
|
170
170
|
this.$ = $$[$0];
|
|
171
171
|
break;
|
|
172
172
|
case 33:
|
|
@@ -201,165 +201,184 @@ var localGrammar = function() {
|
|
|
201
201
|
this.$ = { events: $$[$0 - 1], lyrics: $$[$0].lyrics, figures: $$[$0].figures };
|
|
202
202
|
break;
|
|
203
203
|
case 44:
|
|
204
|
-
case
|
|
205
|
-
case
|
|
206
|
-
case
|
|
204
|
+
case 136:
|
|
205
|
+
case 217:
|
|
206
|
+
case 235:
|
|
207
207
|
this.$ = [];
|
|
208
208
|
break;
|
|
209
209
|
case 45:
|
|
210
210
|
this.$ = $$[$0] === null ? $$[$0 - 1] : $$[$0 - 1].concat(Array.isArray($$[$0]) ? $$[$0] : [$$[$0]]);
|
|
211
211
|
break;
|
|
212
|
-
case
|
|
212
|
+
case 58:
|
|
213
213
|
this.$ = barlineEvent($$[$0].slice(1, -1));
|
|
214
214
|
break;
|
|
215
|
-
case
|
|
215
|
+
case 59:
|
|
216
216
|
this.$ = harmonyEvent($$[$0].slice(1, -1));
|
|
217
217
|
break;
|
|
218
|
-
case
|
|
218
|
+
case 60:
|
|
219
219
|
this.$ = markupEvent(unq($$[$0]));
|
|
220
220
|
break;
|
|
221
|
-
case
|
|
221
|
+
case 61:
|
|
222
222
|
this.$ = markupEvent(unq($$[$0]), "above");
|
|
223
223
|
break;
|
|
224
|
-
case
|
|
224
|
+
case 62:
|
|
225
225
|
this.$ = markupEvent(unq($$[$0]), "below");
|
|
226
226
|
break;
|
|
227
|
-
case
|
|
227
|
+
case 63:
|
|
228
228
|
this.$ = dynamicEvent($$[$0].type);
|
|
229
229
|
break;
|
|
230
|
-
case
|
|
230
|
+
case 64:
|
|
231
231
|
this.$ = { type: "pitchReset" };
|
|
232
232
|
break;
|
|
233
|
-
case 64:
|
|
234
233
|
case 65:
|
|
234
|
+
case 66:
|
|
235
235
|
currentDuration = $$[$0 - 1];
|
|
236
236
|
this.$ = noteEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
|
|
237
237
|
break;
|
|
238
|
-
case 66:
|
|
239
238
|
case 67:
|
|
239
|
+
case 68:
|
|
240
240
|
this.$ = noteEvent($$[$0 - 1], currentDuration, $$[$0]);
|
|
241
241
|
break;
|
|
242
|
-
case 69:
|
|
243
|
-
case 125:
|
|
244
|
-
case 218:
|
|
245
|
-
this.$ = [$$[$0]];
|
|
246
|
-
break;
|
|
247
242
|
case 70:
|
|
248
243
|
case 131:
|
|
249
|
-
case
|
|
250
|
-
|
|
251
|
-
case 229:
|
|
252
|
-
this.$ = $$[$0 - 1].concat([$$[$0]]);
|
|
244
|
+
case 225:
|
|
245
|
+
this.$ = [$$[$0]];
|
|
253
246
|
break;
|
|
254
247
|
case 71:
|
|
255
|
-
|
|
248
|
+
case 218:
|
|
249
|
+
case 226:
|
|
250
|
+
case 236:
|
|
251
|
+
this.$ = $$[$0 - 1].concat([$$[$0]]);
|
|
256
252
|
break;
|
|
257
253
|
case 72:
|
|
258
|
-
this.$ = { ...parsePitch($$[$0 -
|
|
254
|
+
this.$ = { ...parsePitch($$[$0 - 2], $$[$0 - 1]), courtesy: true };
|
|
259
255
|
break;
|
|
260
256
|
case 73:
|
|
261
|
-
this.$ = parsePitch($$[$0 - 1],
|
|
257
|
+
this.$ = { ...parsePitch($$[$0 - 1], 0), courtesy: true };
|
|
262
258
|
break;
|
|
263
259
|
case 74:
|
|
264
|
-
this.$ = parsePitch($$[$0], 0);
|
|
260
|
+
this.$ = parsePitch($$[$0 - 1], $$[$0]);
|
|
265
261
|
break;
|
|
266
262
|
case 75:
|
|
267
|
-
this.$ =
|
|
263
|
+
this.$ = parsePitch($$[$0], 0);
|
|
268
264
|
break;
|
|
269
265
|
case 76:
|
|
270
|
-
this.$ =
|
|
266
|
+
this.$ = 1;
|
|
271
267
|
break;
|
|
272
268
|
case 77:
|
|
273
|
-
this.$ =
|
|
269
|
+
this.$ = -1;
|
|
274
270
|
break;
|
|
275
271
|
case 78:
|
|
276
|
-
this.$ = $$[$0 - 1]
|
|
272
|
+
this.$ = $$[$0 - 1] + 1;
|
|
277
273
|
break;
|
|
278
274
|
case 79:
|
|
279
|
-
this.$ =
|
|
275
|
+
this.$ = $$[$0 - 1] - 1;
|
|
280
276
|
break;
|
|
281
277
|
case 80:
|
|
282
|
-
|
|
283
|
-
this.$ = 0;
|
|
278
|
+
this.$ = duration(Number($$[$0 - 1]), $$[$0]);
|
|
284
279
|
break;
|
|
285
280
|
case 81:
|
|
286
|
-
|
|
287
|
-
this.$ = $$[$0 - 1] + 1;
|
|
281
|
+
this.$ = duration(0.5, $$[$0]);
|
|
288
282
|
break;
|
|
289
283
|
case 82:
|
|
290
|
-
|
|
291
|
-
this.$ =
|
|
284
|
+
case 223:
|
|
285
|
+
this.$ = 0;
|
|
292
286
|
break;
|
|
293
287
|
case 83:
|
|
294
|
-
|
|
295
|
-
this.$ =
|
|
288
|
+
case 224:
|
|
289
|
+
this.$ = $$[$0 - 1] + 1;
|
|
296
290
|
break;
|
|
297
291
|
case 84:
|
|
298
|
-
|
|
292
|
+
currentHeadShape = "x";
|
|
293
|
+
xNotePending = true;
|
|
294
|
+
this.$ = null;
|
|
299
295
|
break;
|
|
300
296
|
case 85:
|
|
301
|
-
|
|
297
|
+
currentHeadShape = "slash";
|
|
298
|
+
this.$ = null;
|
|
302
299
|
break;
|
|
303
300
|
case 86:
|
|
304
|
-
|
|
301
|
+
currentHeadShape = void 0;
|
|
302
|
+
this.$ = null;
|
|
305
303
|
break;
|
|
306
304
|
case 87:
|
|
307
|
-
|
|
305
|
+
currentDuration = $$[$0 - 1];
|
|
306
|
+
this.$ = restEvent($$[$0 - 1], { fullMeasure: $$[$0 - 2] === "R", marks: $$[$0].length ? $$[$0] : void 0 });
|
|
308
307
|
break;
|
|
309
308
|
case 88:
|
|
310
|
-
|
|
309
|
+
currentDuration = $$[$0 - 3];
|
|
310
|
+
this.$ = restEvent($$[$0 - 3], { fullMeasure: $$[$0 - 4] === "R", multiMeasure: Number($$[$0 - 1]), marks: $$[$0].length ? $$[$0] : void 0 });
|
|
311
311
|
break;
|
|
312
312
|
case 89:
|
|
313
|
-
|
|
313
|
+
currentDuration = $$[$0 - 1];
|
|
314
|
+
this.$ = restEvent($$[$0 - 1], { invisible: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
314
315
|
break;
|
|
315
316
|
case 90:
|
|
316
|
-
this.$ =
|
|
317
|
+
this.$ = restEvent(currentDuration, { fullMeasure: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
317
318
|
break;
|
|
318
319
|
case 91:
|
|
319
|
-
this.$ =
|
|
320
|
+
this.$ = restEvent(currentDuration, { invisible: true, marks: $$[$0].length ? $$[$0] : void 0 });
|
|
320
321
|
break;
|
|
321
322
|
case 92:
|
|
322
|
-
this.$ = contextChange({
|
|
323
|
+
this.$ = contextChange({ clef: $$[$0] });
|
|
323
324
|
break;
|
|
324
325
|
case 93:
|
|
325
|
-
this.$ = contextChange({
|
|
326
|
+
this.$ = contextChange({ key: $$[$0] });
|
|
326
327
|
break;
|
|
327
328
|
case 94:
|
|
329
|
+
this.$ = contextChange({ time: $$[$0] });
|
|
330
|
+
break;
|
|
328
331
|
case 95:
|
|
329
|
-
this.$ =
|
|
332
|
+
this.$ = contextChange({ partial: $$[$0] });
|
|
330
333
|
break;
|
|
331
334
|
case 96:
|
|
332
|
-
this.$ = contextChange({
|
|
335
|
+
this.$ = contextChange({ tempo: $$[$0] });
|
|
333
336
|
break;
|
|
334
337
|
case 97:
|
|
335
|
-
this.$ = {
|
|
338
|
+
this.$ = contextChange({ staff: $$[$0] });
|
|
336
339
|
break;
|
|
337
340
|
case 98:
|
|
338
|
-
this.$ = {
|
|
341
|
+
this.$ = contextChange({ ottava: $$[$0] });
|
|
339
342
|
break;
|
|
340
343
|
case 99:
|
|
341
|
-
this.$ = {
|
|
344
|
+
this.$ = contextChange({ stemDirection: $$[$0] });
|
|
342
345
|
break;
|
|
343
346
|
case 100:
|
|
347
|
+
case 101:
|
|
348
|
+
this.$ = null;
|
|
349
|
+
break;
|
|
350
|
+
case 102:
|
|
351
|
+
this.$ = contextChange({ omit: $$[$0] });
|
|
352
|
+
break;
|
|
353
|
+
case 103:
|
|
354
|
+
this.$ = { timeSignature: true };
|
|
355
|
+
break;
|
|
356
|
+
case 104:
|
|
357
|
+
this.$ = { timeSignature: false };
|
|
358
|
+
break;
|
|
359
|
+
case 105:
|
|
360
|
+
this.$ = { barLine: true };
|
|
361
|
+
break;
|
|
362
|
+
case 106:
|
|
344
363
|
this.$ = { barLine: false };
|
|
345
364
|
break;
|
|
346
|
-
case
|
|
365
|
+
case 107:
|
|
347
366
|
this.$ = $$[$0].slice(1, -1);
|
|
348
367
|
break;
|
|
349
|
-
case
|
|
368
|
+
case 108:
|
|
350
369
|
currentKey = keySignature($$[$0 - 1].phonet, $$[$0 - 1].accidental, $$[$0]);
|
|
351
370
|
this.$ = currentKey;
|
|
352
371
|
break;
|
|
353
|
-
case
|
|
372
|
+
case 109:
|
|
354
373
|
this.$ = parsePitchName($$[$0]);
|
|
355
374
|
break;
|
|
356
|
-
case
|
|
375
|
+
case 110:
|
|
357
376
|
this.$ = "major";
|
|
358
377
|
break;
|
|
359
|
-
case
|
|
378
|
+
case 111:
|
|
360
379
|
this.$ = "minor";
|
|
361
380
|
break;
|
|
362
|
-
case
|
|
381
|
+
case 112:
|
|
363
382
|
const num = Number($$[$0 - 2]);
|
|
364
383
|
const den = Number($$[$0]);
|
|
365
384
|
const timeSig = fraction(num, den);
|
|
@@ -373,280 +392,289 @@ var localGrammar = function() {
|
|
|
373
392
|
currentTimeSig = timeSig;
|
|
374
393
|
this.$ = currentTimeSig;
|
|
375
394
|
break;
|
|
376
|
-
case
|
|
395
|
+
case 113:
|
|
377
396
|
numericTimeSignature = true;
|
|
378
397
|
this.$ = null;
|
|
379
398
|
break;
|
|
380
|
-
case
|
|
399
|
+
case 114:
|
|
381
400
|
numericTimeSignature = false;
|
|
382
401
|
this.$ = null;
|
|
383
402
|
break;
|
|
384
|
-
case
|
|
403
|
+
case 116:
|
|
385
404
|
this.$ = { text: unq($$[$0 - 3]), beat: $$[$0 - 2], bpm: Number($$[$0]) };
|
|
386
405
|
break;
|
|
387
|
-
case
|
|
406
|
+
case 117:
|
|
388
407
|
this.$ = { text: unq($$[$0]) };
|
|
389
408
|
break;
|
|
390
|
-
case
|
|
409
|
+
case 118:
|
|
391
410
|
this.$ = { beat: $$[$0 - 2], bpm: Number($$[$0]) };
|
|
392
411
|
break;
|
|
393
|
-
case
|
|
412
|
+
case 119:
|
|
394
413
|
currentStaff = Number($$[$0].slice(1, -1));
|
|
395
414
|
this.$ = currentStaff;
|
|
396
415
|
break;
|
|
397
|
-
case
|
|
416
|
+
case 120:
|
|
398
417
|
currentOttava = Number($$[$0]);
|
|
399
418
|
this.$ = currentOttava;
|
|
400
419
|
break;
|
|
401
|
-
case
|
|
420
|
+
case 121:
|
|
402
421
|
currentOttava = -Number($$[$0]);
|
|
403
422
|
this.$ = currentOttava;
|
|
404
423
|
break;
|
|
405
|
-
case
|
|
424
|
+
case 122:
|
|
406
425
|
currentOttava = 0;
|
|
407
426
|
this.$ = 0;
|
|
408
427
|
break;
|
|
409
|
-
case
|
|
428
|
+
case 123:
|
|
410
429
|
this.$ = "up";
|
|
411
430
|
break;
|
|
412
|
-
case
|
|
431
|
+
case 124:
|
|
413
432
|
this.$ = "down";
|
|
414
433
|
break;
|
|
415
|
-
case
|
|
434
|
+
case 125:
|
|
416
435
|
this.$ = "auto";
|
|
417
436
|
break;
|
|
418
|
-
case
|
|
437
|
+
case 126:
|
|
419
438
|
this.$ = $$[$0 - 1].map((e) => e.type === "note" || e.type === "rest" ? { ...e, grace: true } : e);
|
|
420
439
|
break;
|
|
421
|
-
case
|
|
422
|
-
case
|
|
440
|
+
case 127:
|
|
441
|
+
case 128:
|
|
423
442
|
this.$ = { ...$$[$0], grace: true };
|
|
424
443
|
break;
|
|
425
|
-
case
|
|
444
|
+
case 129:
|
|
426
445
|
this.$ = timesEvent(fraction(Number($$[$0 - 5]), Number($$[$0 - 3])), $$[$0 - 1].filter((e) => e.type === "note" || e.type === "rest" || e.type === "context"));
|
|
427
446
|
break;
|
|
428
|
-
case
|
|
429
|
-
this.$ = tupletEvent(fraction(Number($$[$0 - 3]), Number($$[$0 - 5])), $$[$0 - 1].filter((e) => e.type === "note" || e.type === "rest" || e.type === "context"));
|
|
447
|
+
case 130:
|
|
448
|
+
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"));
|
|
430
449
|
break;
|
|
431
|
-
case
|
|
432
|
-
currentDuration = $$[$0 -
|
|
433
|
-
this.$ = tremoloEvent($$[$0 -
|
|
450
|
+
case 133:
|
|
451
|
+
currentDuration = $$[$0 - 5];
|
|
452
|
+
this.$ = tremoloEvent($$[$0 - 6], $$[$0 - 3], Number($$[$0 - 8]), $$[$0 - 5].division, $$[$0 - 4], $$[$0 - 1]);
|
|
434
453
|
break;
|
|
435
|
-
case
|
|
436
|
-
currentDuration = $$[$0 -
|
|
437
|
-
this.$ = tremoloEvent($$[$0 -
|
|
454
|
+
case 134:
|
|
455
|
+
currentDuration = $$[$0 - 3];
|
|
456
|
+
this.$ = tremoloEvent($$[$0 - 4], $$[$0 - 1], Number($$[$0 - 6]), $$[$0 - 3].division, $$[$0 - 2], []);
|
|
438
457
|
break;
|
|
439
|
-
case
|
|
458
|
+
case 135:
|
|
440
459
|
this.$ = tremoloEvent($$[$0 - 2], $$[$0 - 1], Number($$[$0 - 4]), currentDuration.division);
|
|
441
460
|
break;
|
|
442
|
-
case
|
|
461
|
+
case 137:
|
|
462
|
+
this.$ = $$[$0] === null ? $$[$0 - 1] : $$[$0 - 1].concat([$$[$0]]);
|
|
463
|
+
break;
|
|
464
|
+
case 154:
|
|
443
465
|
this.$ = { pitchedRest: true };
|
|
444
466
|
break;
|
|
445
|
-
case 149:
|
|
446
467
|
case 155:
|
|
447
|
-
case
|
|
468
|
+
case 161:
|
|
469
|
+
case 168:
|
|
448
470
|
this.$ = articulation("staccato");
|
|
449
471
|
break;
|
|
450
|
-
case
|
|
451
|
-
case
|
|
472
|
+
case 156:
|
|
473
|
+
case 165:
|
|
452
474
|
this.$ = articulation("staccatissimo");
|
|
453
475
|
break;
|
|
454
|
-
case
|
|
455
|
-
case
|
|
456
|
-
case
|
|
476
|
+
case 157:
|
|
477
|
+
case 166:
|
|
478
|
+
case 169:
|
|
457
479
|
this.$ = articulation("tenuto");
|
|
458
480
|
break;
|
|
459
|
-
case
|
|
460
|
-
case
|
|
461
|
-
case
|
|
481
|
+
case 158:
|
|
482
|
+
case 163:
|
|
483
|
+
case 170:
|
|
462
484
|
this.$ = articulation("marcato");
|
|
463
485
|
break;
|
|
464
|
-
case
|
|
465
|
-
case
|
|
466
|
-
case
|
|
486
|
+
case 159:
|
|
487
|
+
case 164:
|
|
488
|
+
case 167:
|
|
467
489
|
this.$ = articulation("accent");
|
|
468
490
|
break;
|
|
469
|
-
case
|
|
470
|
-
case
|
|
471
|
-
case
|
|
491
|
+
case 160:
|
|
492
|
+
case 162:
|
|
493
|
+
case 171:
|
|
472
494
|
this.$ = articulation("portato");
|
|
473
495
|
break;
|
|
474
|
-
case
|
|
496
|
+
case 172:
|
|
475
497
|
this.$ = ornament("trill");
|
|
476
498
|
break;
|
|
477
|
-
case
|
|
499
|
+
case 173:
|
|
478
500
|
this.$ = ornament("turn");
|
|
479
501
|
break;
|
|
480
|
-
case
|
|
502
|
+
case 174:
|
|
481
503
|
this.$ = ornament("mordent");
|
|
482
504
|
break;
|
|
483
|
-
case
|
|
505
|
+
case 175:
|
|
484
506
|
this.$ = ornament("prall");
|
|
485
507
|
break;
|
|
486
|
-
case
|
|
508
|
+
case 176:
|
|
487
509
|
this.$ = ornament("fermata");
|
|
488
510
|
break;
|
|
489
|
-
case
|
|
511
|
+
case 177:
|
|
490
512
|
this.$ = ornament("shortFermata");
|
|
491
513
|
break;
|
|
492
|
-
case
|
|
514
|
+
case 178:
|
|
493
515
|
this.$ = ornament("arpeggio");
|
|
494
516
|
break;
|
|
495
|
-
case
|
|
517
|
+
case 179:
|
|
496
518
|
this.$ = ornament("breath");
|
|
497
519
|
break;
|
|
498
|
-
case
|
|
520
|
+
case 180:
|
|
521
|
+
this.$ = ornament("caesura");
|
|
522
|
+
break;
|
|
523
|
+
case 181:
|
|
499
524
|
this.$ = dynamic("ppp");
|
|
500
525
|
break;
|
|
501
|
-
case
|
|
526
|
+
case 182:
|
|
502
527
|
this.$ = dynamic("pp");
|
|
503
528
|
break;
|
|
504
|
-
case
|
|
529
|
+
case 183:
|
|
505
530
|
this.$ = dynamic("p");
|
|
506
531
|
break;
|
|
507
|
-
case
|
|
532
|
+
case 184:
|
|
508
533
|
this.$ = dynamic("mp");
|
|
509
534
|
break;
|
|
510
|
-
case
|
|
535
|
+
case 185:
|
|
511
536
|
this.$ = dynamic("mf");
|
|
512
537
|
break;
|
|
513
|
-
case
|
|
538
|
+
case 186:
|
|
514
539
|
this.$ = dynamic("f");
|
|
515
540
|
break;
|
|
516
|
-
case
|
|
541
|
+
case 187:
|
|
517
542
|
this.$ = dynamic("ff");
|
|
518
543
|
break;
|
|
519
|
-
case
|
|
544
|
+
case 188:
|
|
520
545
|
this.$ = dynamic("fff");
|
|
521
546
|
break;
|
|
522
|
-
case
|
|
547
|
+
case 189:
|
|
523
548
|
this.$ = dynamic("sfz");
|
|
524
549
|
break;
|
|
525
|
-
case
|
|
550
|
+
case 190:
|
|
526
551
|
this.$ = dynamic("rfz");
|
|
527
552
|
break;
|
|
528
|
-
case
|
|
553
|
+
case 191:
|
|
529
554
|
this.$ = dynamic("sf");
|
|
530
555
|
break;
|
|
531
|
-
case
|
|
556
|
+
case 192:
|
|
532
557
|
this.$ = dynamic($$[$0].slice(1).toLowerCase());
|
|
533
558
|
break;
|
|
534
|
-
case
|
|
559
|
+
case 193:
|
|
535
560
|
this.$ = dynamic("fp");
|
|
536
561
|
break;
|
|
537
|
-
case
|
|
562
|
+
case 194:
|
|
563
|
+
lastHairpin = "crescendo";
|
|
538
564
|
this.$ = hairpin("crescendoStart");
|
|
539
565
|
break;
|
|
540
|
-
case
|
|
566
|
+
case 195:
|
|
567
|
+
lastHairpin = "diminuendo";
|
|
541
568
|
this.$ = hairpin("diminuendoStart");
|
|
542
569
|
break;
|
|
543
|
-
case
|
|
544
|
-
this.$ = hairpin("crescendoEnd");
|
|
570
|
+
case 196:
|
|
571
|
+
this.$ = hairpin(lastHairpin === "diminuendo" ? "diminuendoEnd" : "crescendoEnd");
|
|
572
|
+
lastHairpin = void 0;
|
|
545
573
|
break;
|
|
546
|
-
case
|
|
574
|
+
case 197:
|
|
547
575
|
this.$ = pedal("sustainOn");
|
|
548
576
|
break;
|
|
549
|
-
case
|
|
577
|
+
case 198:
|
|
550
578
|
this.$ = pedal("sustainOff");
|
|
551
579
|
break;
|
|
552
|
-
case
|
|
580
|
+
case 199:
|
|
553
581
|
this.$ = tie(true);
|
|
554
582
|
break;
|
|
555
|
-
case
|
|
583
|
+
case 200:
|
|
556
584
|
this.$ = slur(true);
|
|
557
585
|
break;
|
|
558
|
-
case
|
|
586
|
+
case 201:
|
|
559
587
|
this.$ = slur(false);
|
|
560
588
|
break;
|
|
561
|
-
case
|
|
589
|
+
case 202:
|
|
562
590
|
this.$ = beam(true);
|
|
563
591
|
break;
|
|
564
|
-
case
|
|
592
|
+
case 203:
|
|
565
593
|
this.$ = beam(false);
|
|
566
594
|
break;
|
|
567
|
-
case
|
|
595
|
+
case 204:
|
|
568
596
|
this.$ = { tremolo: Number($$[$0]) };
|
|
569
597
|
break;
|
|
570
|
-
case
|
|
598
|
+
case 205:
|
|
571
599
|
this.$ = { ...$$[$0], placement: "above" };
|
|
572
600
|
break;
|
|
573
|
-
case
|
|
601
|
+
case 206:
|
|
574
602
|
this.$ = { ...$$[$0], placement: "below" };
|
|
575
603
|
break;
|
|
576
|
-
case
|
|
577
|
-
case
|
|
604
|
+
case 207:
|
|
605
|
+
case 208:
|
|
578
606
|
const n = Number($$[$0]);
|
|
579
|
-
if (n >=
|
|
607
|
+
if (n >= 0 && n <= 9) this.$ = fingering(n);
|
|
580
608
|
else this.$ = null;
|
|
581
609
|
break;
|
|
582
|
-
case
|
|
610
|
+
case 209:
|
|
583
611
|
this.$ = navigation("coda");
|
|
584
612
|
break;
|
|
585
|
-
case
|
|
613
|
+
case 210:
|
|
586
614
|
this.$ = navigation("segno");
|
|
587
615
|
break;
|
|
588
|
-
case
|
|
616
|
+
case 211:
|
|
589
617
|
this.$ = markupMark(unq($$[$0]));
|
|
590
618
|
break;
|
|
591
|
-
case
|
|
619
|
+
case 212:
|
|
592
620
|
this.$ = glissando();
|
|
593
621
|
break;
|
|
594
|
-
case
|
|
622
|
+
case 213:
|
|
595
623
|
this.$ = addlyricsLane($$[$0 - 1]);
|
|
596
624
|
break;
|
|
597
|
-
case
|
|
598
|
-
case
|
|
625
|
+
case 214:
|
|
626
|
+
case 215:
|
|
599
627
|
this.$ = figuresLane("below", $$[$0 - 1]);
|
|
600
628
|
break;
|
|
601
|
-
case
|
|
629
|
+
case 216:
|
|
602
630
|
this.$ = figuresLane("above", $$[$0 - 1]);
|
|
603
631
|
break;
|
|
604
|
-
case
|
|
632
|
+
case 219:
|
|
605
633
|
this.$ = { lines: $$[$0 - 2], duration: $$[$0] };
|
|
606
634
|
break;
|
|
607
|
-
case
|
|
635
|
+
case 220:
|
|
608
636
|
this.$ = { duration: $$[$0] };
|
|
609
637
|
break;
|
|
610
|
-
case
|
|
611
|
-
case
|
|
638
|
+
case 221:
|
|
639
|
+
case 230:
|
|
612
640
|
this.$ = void 0;
|
|
613
641
|
break;
|
|
614
|
-
case
|
|
642
|
+
case 222:
|
|
615
643
|
this.$ = { division: Number($$[$0 - 1]), dots: $$[$0] };
|
|
616
644
|
break;
|
|
617
|
-
case
|
|
645
|
+
case 227:
|
|
618
646
|
this.$ = $$[$0] ? { number: Number($$[$0 - 1]), accidental: $$[$0] } : { number: Number($$[$0 - 1]) };
|
|
619
647
|
break;
|
|
620
|
-
case
|
|
648
|
+
case 228:
|
|
621
649
|
this.$ = $$[$0] ? { accidental: $$[$0] } : {};
|
|
622
650
|
break;
|
|
623
|
-
case
|
|
651
|
+
case 229:
|
|
624
652
|
this.$ = { accidental: $$[$0] };
|
|
625
653
|
break;
|
|
626
|
-
case
|
|
654
|
+
case 232:
|
|
627
655
|
this.$ = "sharp";
|
|
628
656
|
break;
|
|
629
|
-
case
|
|
657
|
+
case 233:
|
|
630
658
|
this.$ = "flat";
|
|
631
659
|
break;
|
|
632
|
-
case
|
|
660
|
+
case 234:
|
|
633
661
|
this.$ = "natural";
|
|
634
662
|
break;
|
|
635
|
-
case
|
|
663
|
+
case 237:
|
|
636
664
|
this.$ = { text: $$[$0].charAt(0) === '"' ? unq($$[$0]) : $$[$0] };
|
|
637
665
|
break;
|
|
638
|
-
case
|
|
666
|
+
case 238:
|
|
639
667
|
this.$ = { hyphen: true };
|
|
640
668
|
break;
|
|
641
|
-
case
|
|
669
|
+
case 239:
|
|
642
670
|
this.$ = { skip: true };
|
|
643
671
|
break;
|
|
644
|
-
case
|
|
672
|
+
case 240:
|
|
645
673
|
this.$ = { extend: true };
|
|
646
674
|
break;
|
|
647
675
|
}
|
|
648
676
|
},
|
|
649
|
-
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])],
|
|
677
|
+
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])],
|
|
650
678
|
defaultActions: { 25: [2, 1] },
|
|
651
679
|
parseError: function parseError(str, hash) {
|
|
652
680
|
if (hash.recoverable) {
|
|
@@ -806,6 +834,13 @@ var localGrammar = function() {
|
|
|
806
834
|
dots: dots || 0
|
|
807
835
|
});
|
|
808
836
|
const noteEvent = (pitches, dur, marks, options = {}) => {
|
|
837
|
+
if (currentHeadShape !== void 0 && options.headShape === void 0) {
|
|
838
|
+
options = { ...options, headShape: currentHeadShape };
|
|
839
|
+
if (xNotePending) {
|
|
840
|
+
currentHeadShape = void 0;
|
|
841
|
+
xNotePending = false;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
809
844
|
const pitchedRestMark = marks && marks.find((m) => m && m.pitchedRest);
|
|
810
845
|
if (pitchedRestMark) {
|
|
811
846
|
const pitch2 = Array.isArray(pitches) ? pitches[0] : pitches;
|
|
@@ -923,12 +958,14 @@ var localGrammar = function() {
|
|
|
923
958
|
ratio,
|
|
924
959
|
events
|
|
925
960
|
});
|
|
926
|
-
const tremoloEvent = (pitchA, pitchB, count, division) => ({
|
|
961
|
+
const tremoloEvent = (pitchA, pitchB, count, division, marksA, marksB) => ({
|
|
927
962
|
type: "tremolo",
|
|
928
963
|
pitchA,
|
|
929
964
|
pitchB,
|
|
930
965
|
count,
|
|
931
|
-
division
|
|
966
|
+
division,
|
|
967
|
+
...marksA && marksA.length ? { marksA } : {},
|
|
968
|
+
...marksB && marksB.length ? { marksB } : {}
|
|
932
969
|
});
|
|
933
970
|
const articulation = (type, placement) => ({ markType: "articulation", type, placement });
|
|
934
971
|
const ornament = (type) => ({ markType: "ornament", type });
|
|
@@ -985,6 +1022,9 @@ var localGrammar = function() {
|
|
|
985
1022
|
let currentDuration = { division: 4, dots: 0 };
|
|
986
1023
|
let numericTimeSignature = false;
|
|
987
1024
|
let currentOttava = 0;
|
|
1025
|
+
let currentHeadShape = void 0;
|
|
1026
|
+
let xNotePending = false;
|
|
1027
|
+
let lastHairpin = void 0;
|
|
988
1028
|
let parseWarnings = [];
|
|
989
1029
|
const resetParserState = () => {
|
|
990
1030
|
currentStaff = 1;
|
|
@@ -1357,363 +1397,381 @@ var localGrammar = function() {
|
|
|
1357
1397
|
return 12;
|
|
1358
1398
|
break;
|
|
1359
1399
|
case 17:
|
|
1360
|
-
return
|
|
1400
|
+
return 94;
|
|
1361
1401
|
break;
|
|
1362
1402
|
case 18:
|
|
1363
|
-
return
|
|
1403
|
+
return 95;
|
|
1364
1404
|
break;
|
|
1365
1405
|
case 19:
|
|
1366
|
-
return
|
|
1406
|
+
return 100;
|
|
1367
1407
|
break;
|
|
1368
1408
|
case 20:
|
|
1369
|
-
return
|
|
1409
|
+
return 104;
|
|
1370
1410
|
break;
|
|
1371
1411
|
case 21:
|
|
1372
|
-
return
|
|
1412
|
+
return 102;
|
|
1373
1413
|
break;
|
|
1374
1414
|
case 22:
|
|
1375
|
-
return
|
|
1415
|
+
return 91;
|
|
1376
1416
|
break;
|
|
1377
1417
|
case 23:
|
|
1378
|
-
return
|
|
1418
|
+
return 93;
|
|
1379
1419
|
break;
|
|
1380
1420
|
case 24:
|
|
1381
|
-
return
|
|
1421
|
+
return 90;
|
|
1382
1422
|
break;
|
|
1383
1423
|
case 25:
|
|
1384
|
-
return
|
|
1424
|
+
return 92;
|
|
1385
1425
|
break;
|
|
1386
1426
|
case 26:
|
|
1387
|
-
return
|
|
1427
|
+
return 103;
|
|
1388
1428
|
break;
|
|
1389
1429
|
case 27:
|
|
1390
|
-
return
|
|
1430
|
+
return 105;
|
|
1391
1431
|
break;
|
|
1392
1432
|
case 28:
|
|
1393
|
-
return
|
|
1433
|
+
return 107;
|
|
1394
1434
|
break;
|
|
1395
1435
|
case 29:
|
|
1396
|
-
return
|
|
1436
|
+
return 114;
|
|
1397
1437
|
break;
|
|
1398
1438
|
case 30:
|
|
1399
|
-
return
|
|
1439
|
+
return 117;
|
|
1400
1440
|
break;
|
|
1401
1441
|
case 31:
|
|
1402
|
-
return
|
|
1442
|
+
return 118;
|
|
1403
1443
|
break;
|
|
1404
1444
|
case 32:
|
|
1405
|
-
return
|
|
1445
|
+
return 120;
|
|
1406
1446
|
break;
|
|
1407
1447
|
case 33:
|
|
1408
|
-
return
|
|
1448
|
+
return 108;
|
|
1409
1449
|
break;
|
|
1410
1450
|
case 34:
|
|
1411
|
-
return
|
|
1451
|
+
return 111;
|
|
1412
1452
|
break;
|
|
1413
1453
|
case 35:
|
|
1414
|
-
return
|
|
1454
|
+
return 112;
|
|
1415
1455
|
break;
|
|
1416
1456
|
case 36:
|
|
1417
|
-
return
|
|
1457
|
+
return 113;
|
|
1418
1458
|
break;
|
|
1419
1459
|
case 37:
|
|
1420
|
-
return
|
|
1460
|
+
return 98;
|
|
1421
1461
|
break;
|
|
1422
1462
|
case 38:
|
|
1423
|
-
return
|
|
1463
|
+
return 99;
|
|
1424
1464
|
break;
|
|
1425
1465
|
case 39:
|
|
1426
|
-
return
|
|
1466
|
+
return 170;
|
|
1427
1467
|
break;
|
|
1428
1468
|
case 40:
|
|
1429
|
-
return
|
|
1469
|
+
return 171;
|
|
1430
1470
|
break;
|
|
1431
1471
|
case 41:
|
|
1432
|
-
return
|
|
1472
|
+
return 51;
|
|
1433
1473
|
break;
|
|
1434
1474
|
case 42:
|
|
1435
|
-
return
|
|
1475
|
+
return 177;
|
|
1436
1476
|
break;
|
|
1437
1477
|
case 43:
|
|
1438
|
-
return
|
|
1478
|
+
return 178;
|
|
1439
1479
|
break;
|
|
1440
1480
|
case 44:
|
|
1441
|
-
return
|
|
1481
|
+
return 52;
|
|
1442
1482
|
break;
|
|
1443
1483
|
case 45:
|
|
1444
|
-
return
|
|
1484
|
+
return 53;
|
|
1445
1485
|
break;
|
|
1446
1486
|
case 46:
|
|
1447
1487
|
this.pushState("lyric");
|
|
1448
|
-
return
|
|
1488
|
+
return 180;
|
|
1449
1489
|
break;
|
|
1450
1490
|
case 47:
|
|
1451
1491
|
this.pushState("figures");
|
|
1452
|
-
return
|
|
1492
|
+
return 185;
|
|
1453
1493
|
break;
|
|
1454
1494
|
case 48:
|
|
1455
1495
|
this.pushState("figures");
|
|
1456
|
-
return
|
|
1496
|
+
return 184;
|
|
1457
1497
|
break;
|
|
1458
1498
|
case 49:
|
|
1459
1499
|
this.pushState("figures");
|
|
1460
|
-
return
|
|
1500
|
+
return 182;
|
|
1461
1501
|
break;
|
|
1462
1502
|
case 50:
|
|
1463
|
-
return
|
|
1503
|
+
return 167;
|
|
1464
1504
|
break;
|
|
1465
1505
|
case 51:
|
|
1466
|
-
return
|
|
1506
|
+
return 168;
|
|
1467
1507
|
break;
|
|
1468
1508
|
case 52:
|
|
1469
|
-
return
|
|
1509
|
+
return 169;
|
|
1470
1510
|
break;
|
|
1471
1511
|
case 53:
|
|
1472
|
-
return
|
|
1512
|
+
return 139;
|
|
1473
1513
|
break;
|
|
1474
1514
|
case 54:
|
|
1475
|
-
return
|
|
1515
|
+
return 140;
|
|
1476
1516
|
break;
|
|
1477
1517
|
case 55:
|
|
1478
|
-
return
|
|
1518
|
+
return 141;
|
|
1479
1519
|
break;
|
|
1480
1520
|
case 56:
|
|
1481
|
-
return
|
|
1521
|
+
return 142;
|
|
1482
1522
|
break;
|
|
1483
1523
|
case 57:
|
|
1484
|
-
return
|
|
1524
|
+
return 143;
|
|
1485
1525
|
break;
|
|
1486
1526
|
case 58:
|
|
1487
|
-
return
|
|
1527
|
+
return 144;
|
|
1488
1528
|
break;
|
|
1489
1529
|
case 59:
|
|
1490
|
-
return
|
|
1530
|
+
return 145;
|
|
1491
1531
|
break;
|
|
1492
1532
|
case 60:
|
|
1493
|
-
return
|
|
1533
|
+
return 146;
|
|
1494
1534
|
break;
|
|
1495
1535
|
case 61:
|
|
1496
|
-
return
|
|
1536
|
+
return 147;
|
|
1497
1537
|
break;
|
|
1498
1538
|
case 62:
|
|
1499
|
-
return
|
|
1539
|
+
return 148;
|
|
1500
1540
|
break;
|
|
1501
1541
|
case 63:
|
|
1502
|
-
return
|
|
1542
|
+
return 149;
|
|
1503
1543
|
break;
|
|
1504
1544
|
case 64:
|
|
1505
|
-
return
|
|
1545
|
+
return 150;
|
|
1506
1546
|
break;
|
|
1507
1547
|
case 65:
|
|
1508
|
-
return
|
|
1548
|
+
return 151;
|
|
1509
1549
|
break;
|
|
1510
1550
|
case 66:
|
|
1511
|
-
return
|
|
1551
|
+
return 152;
|
|
1512
1552
|
break;
|
|
1513
1553
|
case 67:
|
|
1514
|
-
return
|
|
1554
|
+
return 153;
|
|
1515
1555
|
break;
|
|
1516
1556
|
case 68:
|
|
1517
|
-
return
|
|
1557
|
+
return 73;
|
|
1518
1558
|
break;
|
|
1519
1559
|
case 69:
|
|
1520
|
-
return
|
|
1560
|
+
return 74;
|
|
1521
1561
|
break;
|
|
1522
1562
|
case 70:
|
|
1523
|
-
return
|
|
1563
|
+
return 75;
|
|
1524
1564
|
break;
|
|
1525
1565
|
case 71:
|
|
1526
|
-
return
|
|
1566
|
+
return 179;
|
|
1527
1567
|
break;
|
|
1528
1568
|
case 72:
|
|
1529
|
-
return
|
|
1569
|
+
return 71;
|
|
1530
1570
|
break;
|
|
1531
1571
|
case 73:
|
|
1532
|
-
return
|
|
1572
|
+
return 165;
|
|
1533
1573
|
break;
|
|
1534
1574
|
case 74:
|
|
1535
|
-
return
|
|
1575
|
+
return 154;
|
|
1536
1576
|
break;
|
|
1537
1577
|
case 75:
|
|
1538
1578
|
return 155;
|
|
1539
1579
|
break;
|
|
1540
1580
|
case 76:
|
|
1541
|
-
return
|
|
1581
|
+
return 157;
|
|
1542
1582
|
break;
|
|
1543
1583
|
case 77:
|
|
1544
|
-
return
|
|
1584
|
+
return 158;
|
|
1545
1585
|
break;
|
|
1546
1586
|
case 78:
|
|
1547
|
-
return
|
|
1587
|
+
return 161;
|
|
1548
1588
|
break;
|
|
1549
1589
|
case 79:
|
|
1550
|
-
return
|
|
1590
|
+
return 160;
|
|
1551
1591
|
break;
|
|
1552
1592
|
case 80:
|
|
1553
|
-
return
|
|
1593
|
+
return 162;
|
|
1554
1594
|
break;
|
|
1555
1595
|
case 81:
|
|
1556
|
-
return
|
|
1596
|
+
return 163;
|
|
1557
1597
|
break;
|
|
1558
1598
|
case 82:
|
|
1559
|
-
return
|
|
1599
|
+
return 164;
|
|
1560
1600
|
break;
|
|
1561
1601
|
case 83:
|
|
1562
|
-
return
|
|
1602
|
+
return 166;
|
|
1563
1603
|
break;
|
|
1564
1604
|
case 84:
|
|
1565
|
-
return
|
|
1605
|
+
return 156;
|
|
1566
1606
|
break;
|
|
1567
1607
|
case 85:
|
|
1568
|
-
return
|
|
1608
|
+
return 159;
|
|
1569
1609
|
break;
|
|
1570
1610
|
case 86:
|
|
1571
|
-
return
|
|
1611
|
+
return 138;
|
|
1572
1612
|
break;
|
|
1573
1613
|
case 87:
|
|
1574
|
-
return
|
|
1614
|
+
return 77;
|
|
1575
1615
|
break;
|
|
1576
1616
|
case 88:
|
|
1577
|
-
return
|
|
1617
|
+
return 33;
|
|
1578
1618
|
break;
|
|
1579
1619
|
case 89:
|
|
1580
|
-
return
|
|
1620
|
+
return 36;
|
|
1581
1621
|
break;
|
|
1582
1622
|
case 90:
|
|
1583
|
-
return
|
|
1623
|
+
return 121;
|
|
1584
1624
|
break;
|
|
1585
1625
|
case 91:
|
|
1586
|
-
return
|
|
1626
|
+
return 64;
|
|
1587
1627
|
break;
|
|
1588
1628
|
case 92:
|
|
1589
|
-
return
|
|
1629
|
+
return 67;
|
|
1590
1630
|
break;
|
|
1591
1631
|
case 93:
|
|
1592
|
-
return
|
|
1632
|
+
return 68;
|
|
1593
1633
|
break;
|
|
1594
1634
|
case 94:
|
|
1595
|
-
return
|
|
1635
|
+
return 69;
|
|
1596
1636
|
break;
|
|
1597
1637
|
case 95:
|
|
1598
|
-
return
|
|
1638
|
+
return 101;
|
|
1599
1639
|
break;
|
|
1600
1640
|
case 96:
|
|
1601
|
-
return
|
|
1641
|
+
return 109;
|
|
1602
1642
|
break;
|
|
1603
1643
|
case 97:
|
|
1604
|
-
return
|
|
1644
|
+
return 115;
|
|
1605
1645
|
break;
|
|
1606
1646
|
case 98:
|
|
1607
|
-
return
|
|
1647
|
+
return 116;
|
|
1608
1648
|
break;
|
|
1609
1649
|
case 99:
|
|
1610
|
-
return
|
|
1650
|
+
return 61;
|
|
1611
1651
|
break;
|
|
1612
1652
|
case 100:
|
|
1613
|
-
return
|
|
1653
|
+
return 63;
|
|
1614
1654
|
break;
|
|
1615
1655
|
case 101:
|
|
1616
|
-
return
|
|
1656
|
+
return 26;
|
|
1617
1657
|
break;
|
|
1618
1658
|
case 102:
|
|
1619
|
-
return
|
|
1659
|
+
return 175;
|
|
1620
1660
|
break;
|
|
1621
1661
|
case 103:
|
|
1622
|
-
return
|
|
1662
|
+
return 13;
|
|
1623
1663
|
break;
|
|
1624
1664
|
case 104:
|
|
1625
|
-
return
|
|
1665
|
+
return 173;
|
|
1626
1666
|
break;
|
|
1627
1667
|
case 105:
|
|
1628
|
-
return
|
|
1668
|
+
return 174;
|
|
1629
1669
|
break;
|
|
1630
1670
|
case 106:
|
|
1631
|
-
return
|
|
1671
|
+
return 172;
|
|
1632
1672
|
break;
|
|
1633
1673
|
case 107:
|
|
1634
|
-
return
|
|
1674
|
+
return 72;
|
|
1635
1675
|
break;
|
|
1636
1676
|
case 108:
|
|
1637
|
-
return
|
|
1677
|
+
return 110;
|
|
1638
1678
|
break;
|
|
1639
1679
|
case 109:
|
|
1640
|
-
return
|
|
1680
|
+
return 55;
|
|
1641
1681
|
break;
|
|
1642
1682
|
case 110:
|
|
1643
|
-
return
|
|
1683
|
+
return 54;
|
|
1644
1684
|
break;
|
|
1645
1685
|
case 111:
|
|
1686
|
+
return 66;
|
|
1646
1687
|
break;
|
|
1647
1688
|
case 112:
|
|
1648
|
-
return
|
|
1689
|
+
return 176;
|
|
1649
1690
|
break;
|
|
1650
1691
|
case 113:
|
|
1651
|
-
|
|
1652
|
-
return 110;
|
|
1692
|
+
return 106;
|
|
1653
1693
|
break;
|
|
1654
1694
|
case 114:
|
|
1695
|
+
return 76;
|
|
1655
1696
|
break;
|
|
1656
1697
|
case 115:
|
|
1698
|
+
return 78;
|
|
1657
1699
|
break;
|
|
1658
1700
|
case 116:
|
|
1659
|
-
return
|
|
1701
|
+
return 5;
|
|
1660
1702
|
break;
|
|
1661
1703
|
case 117:
|
|
1662
|
-
return 199;
|
|
1663
1704
|
break;
|
|
1664
1705
|
case 118:
|
|
1665
|
-
return
|
|
1706
|
+
return 115;
|
|
1666
1707
|
break;
|
|
1667
1708
|
case 119:
|
|
1668
|
-
|
|
1709
|
+
this.popState();
|
|
1710
|
+
return 116;
|
|
1669
1711
|
break;
|
|
1670
1712
|
case 120:
|
|
1671
|
-
return 196;
|
|
1672
1713
|
break;
|
|
1673
1714
|
case 121:
|
|
1674
|
-
return 109;
|
|
1675
1715
|
break;
|
|
1676
1716
|
case 122:
|
|
1677
|
-
|
|
1678
|
-
return 110;
|
|
1717
|
+
return 204;
|
|
1679
1718
|
break;
|
|
1680
1719
|
case 123:
|
|
1720
|
+
return 206;
|
|
1681
1721
|
break;
|
|
1682
1722
|
case 124:
|
|
1723
|
+
return 205;
|
|
1683
1724
|
break;
|
|
1684
1725
|
case 125:
|
|
1726
|
+
return 203;
|
|
1685
1727
|
break;
|
|
1686
1728
|
case 126:
|
|
1687
|
-
return
|
|
1729
|
+
return 203;
|
|
1688
1730
|
break;
|
|
1689
1731
|
case 127:
|
|
1690
|
-
return
|
|
1732
|
+
return 115;
|
|
1691
1733
|
break;
|
|
1692
1734
|
case 128:
|
|
1693
|
-
|
|
1735
|
+
this.popState();
|
|
1736
|
+
return 116;
|
|
1694
1737
|
break;
|
|
1695
1738
|
case 129:
|
|
1696
|
-
return 190;
|
|
1697
1739
|
break;
|
|
1698
1740
|
case 130:
|
|
1699
|
-
return 192;
|
|
1700
1741
|
break;
|
|
1701
1742
|
case 131:
|
|
1702
|
-
return 193;
|
|
1703
1743
|
break;
|
|
1704
1744
|
case 132:
|
|
1705
|
-
return
|
|
1745
|
+
return 187;
|
|
1706
1746
|
break;
|
|
1707
1747
|
case 133:
|
|
1708
|
-
return
|
|
1748
|
+
return 189;
|
|
1709
1749
|
break;
|
|
1710
1750
|
case 134:
|
|
1711
|
-
return
|
|
1751
|
+
return 192;
|
|
1752
|
+
break;
|
|
1753
|
+
case 135:
|
|
1754
|
+
return 197;
|
|
1755
|
+
break;
|
|
1756
|
+
case 136:
|
|
1757
|
+
return 199;
|
|
1758
|
+
break;
|
|
1759
|
+
case 137:
|
|
1760
|
+
return 200;
|
|
1761
|
+
break;
|
|
1762
|
+
case 138:
|
|
1763
|
+
return 201;
|
|
1764
|
+
break;
|
|
1765
|
+
case 139:
|
|
1766
|
+
return 194;
|
|
1767
|
+
break;
|
|
1768
|
+
case 140:
|
|
1769
|
+
return 191;
|
|
1712
1770
|
break;
|
|
1713
1771
|
}
|
|
1714
1772
|
},
|
|
1715
|
-
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
|
|
1716
|
-
conditions: { "figures": { "rules": [
|
|
1773
|
+
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])/],
|
|
1774
|
+
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 } }
|
|
1717
1775
|
};
|
|
1718
1776
|
return lexer2;
|
|
1719
1777
|
}();
|
|
@@ -1865,6 +1923,11 @@ var Clef;
|
|
|
1865
1923
|
Clef2["bass"] = "bass";
|
|
1866
1924
|
Clef2["alto"] = "alto";
|
|
1867
1925
|
Clef2["tenor"] = "tenor";
|
|
1926
|
+
Clef2["soprano"] = "soprano";
|
|
1927
|
+
Clef2["mezzosoprano"] = "mezzosoprano";
|
|
1928
|
+
Clef2["baritone"] = "baritone";
|
|
1929
|
+
Clef2["varbaritone"] = "varbaritone";
|
|
1930
|
+
Clef2["percussion"] = "percussion";
|
|
1868
1931
|
})(Clef || (Clef = {}));
|
|
1869
1932
|
var StemDirection;
|
|
1870
1933
|
(function(StemDirection2) {
|
|
@@ -1891,6 +1954,7 @@ var OrnamentType;
|
|
|
1891
1954
|
OrnamentType2["shortFermata"] = "shortFermata";
|
|
1892
1955
|
OrnamentType2["arpeggio"] = "arpeggio";
|
|
1893
1956
|
OrnamentType2["breath"] = "breath";
|
|
1957
|
+
OrnamentType2["caesura"] = "caesura";
|
|
1894
1958
|
})(OrnamentType || (OrnamentType = {}));
|
|
1895
1959
|
var DynamicType;
|
|
1896
1960
|
(function(DynamicType2) {
|
|
@@ -1907,6 +1971,7 @@ var DynamicType;
|
|
|
1907
1971
|
DynamicType2["fp"] = "fp";
|
|
1908
1972
|
DynamicType2["pppp"] = "pppp";
|
|
1909
1973
|
DynamicType2["ppppp"] = "ppppp";
|
|
1974
|
+
DynamicType2["fpp"] = "fpp";
|
|
1910
1975
|
DynamicType2["ffff"] = "ffff";
|
|
1911
1976
|
DynamicType2["fffff"] = "fffff";
|
|
1912
1977
|
DynamicType2["sf"] = "sf";
|
|
@@ -2907,6 +2972,13 @@ var CLEF_SHAPES = {
|
|
|
2907
2972
|
bass: { shape: "F", line: 4 },
|
|
2908
2973
|
alto: { shape: "C", line: 3 },
|
|
2909
2974
|
tenor: { shape: "C", line: 4 },
|
|
2975
|
+
// The rest of LilyPond's clef table (scm/parser-clef.scm).
|
|
2976
|
+
soprano: { shape: "C", line: 1 },
|
|
2977
|
+
mezzosoprano: { shape: "C", line: 2 },
|
|
2978
|
+
baritone: { shape: "C", line: 5 },
|
|
2979
|
+
varbaritone: { shape: "F", line: 3 },
|
|
2980
|
+
// A percussion clef has no line: MEI writes clef.shape="perc" alone.
|
|
2981
|
+
percussion: { shape: "perc" },
|
|
2910
2982
|
// Also support uppercase letter clef names
|
|
2911
2983
|
G: { shape: "G", line: 2 },
|
|
2912
2984
|
F: { shape: "F", line: 4 },
|
|
@@ -2937,7 +3009,7 @@ var resolveClef = (clefStr) => {
|
|
|
2937
3009
|
var clefOctaveShift = (clefStr) => clefStr ? resolveClef(clefStr).dis?.octaves ?? 0 : 0;
|
|
2938
3010
|
var clefElementAttrs = (clefStr) => {
|
|
2939
3011
|
const c = resolveClef(clefStr);
|
|
2940
|
-
let attrs = `shape="${c.shape}" line="${c.line}"`;
|
|
3012
|
+
let attrs = c.line === void 0 ? `shape="${c.shape}"` : `shape="${c.shape}" line="${c.line}"`;
|
|
2941
3013
|
if (c.dis)
|
|
2942
3014
|
attrs += ` dis="${c.dis.dis}" dis.place="${c.dis.place}"`;
|
|
2943
3015
|
return attrs;
|
|
@@ -2948,7 +3020,7 @@ var clefTransOf = (clefStr) => {
|
|
|
2948
3020
|
};
|
|
2949
3021
|
var staffDefClefAttrs = (clefStr) => {
|
|
2950
3022
|
const c = resolveClef(clefStr);
|
|
2951
|
-
let attrs = `clef.shape="${c.shape}" clef.line="${c.line}"`;
|
|
3023
|
+
let attrs = c.line === void 0 ? `clef.shape="${c.shape}"` : `clef.shape="${c.shape}" clef.line="${c.line}"`;
|
|
2952
3024
|
if (c.dis)
|
|
2953
3025
|
attrs += ` clef.dis="${c.dis.dis}" clef.dis.place="${c.dis.place}"`;
|
|
2954
3026
|
if (c.trans)
|
|
@@ -2956,6 +3028,8 @@ var staffDefClefAttrs = (clefStr) => {
|
|
|
2956
3028
|
return attrs;
|
|
2957
3029
|
};
|
|
2958
3030
|
var DURATIONS = {
|
|
3031
|
+
0.5: "breve",
|
|
3032
|
+
// breve (double whole note), LilyPond \breve
|
|
2959
3033
|
1: "1",
|
|
2960
3034
|
// whole
|
|
2961
3035
|
2: "2",
|
|
@@ -3038,12 +3112,13 @@ var encodePitch = (pitch, keyFifths = 0, ottavaShift = 0, measureAccidentals, cl
|
|
|
3038
3112
|
const noteAccid = ACCIDENTALS[pitch.accidental];
|
|
3039
3113
|
if (pitch.courtesy) {
|
|
3040
3114
|
accid = noteAccid;
|
|
3115
|
+
} else if (prevMeasureAccid === noteAccid) {
|
|
3041
3116
|
} else if (prevMeasureAccid !== void 0 && noteAccid !== prevMeasureAccid) {
|
|
3042
3117
|
accid = noteAccid;
|
|
3043
3118
|
} else if (noteAccid !== keyAccid) {
|
|
3044
3119
|
accid = noteAccid;
|
|
3045
3120
|
}
|
|
3046
|
-
accidGes = noteAccid;
|
|
3121
|
+
accidGes = noteAccid === "x" ? "ss" : noteAccid;
|
|
3047
3122
|
if (measureAccidentals)
|
|
3048
3123
|
measureAccidentals.set(pitchKey, noteAccid);
|
|
3049
3124
|
} else if (keyAccid) {
|
|
@@ -3056,6 +3131,11 @@ var encodePitch = (pitch, keyFifths = 0, ottavaShift = 0, measureAccidentals, cl
|
|
|
3056
3131
|
accidGes = "n";
|
|
3057
3132
|
if (measureAccidentals)
|
|
3058
3133
|
measureAccidentals.set(pitchKey, "n");
|
|
3134
|
+
} else if (pitch.courtesy) {
|
|
3135
|
+
accid = "n";
|
|
3136
|
+
accidGes = "n";
|
|
3137
|
+
if (measureAccidentals)
|
|
3138
|
+
measureAccidentals.set(pitchKey, "n");
|
|
3059
3139
|
} else if (pitch.courtesy && prevMeasureAccid && prevMeasureAccid !== "n") {
|
|
3060
3140
|
accid = "n";
|
|
3061
3141
|
accidGes = "n";
|
|
@@ -3136,13 +3216,15 @@ var buildNoteElement = (pitch, dur, dots, indent, inChord, options = {}, noteId)
|
|
|
3136
3216
|
if (!inChord && options.stemDir)
|
|
3137
3217
|
attrs += ` stem.dir="${options.stemDir}"`;
|
|
3138
3218
|
if (!inChord && options.layerStaff && options.staff && options.staff !== options.layerStaff) {
|
|
3139
|
-
attrs += ` staff="${options.staff}"`;
|
|
3219
|
+
attrs += ` staff="${options.staff + (options.staffOffset || 0)}"`;
|
|
3140
3220
|
}
|
|
3141
3221
|
if (!inChord && options.tremolo) {
|
|
3142
3222
|
const stemMod = tremoloToStemMod(options.tremolo);
|
|
3143
3223
|
if (stemMod)
|
|
3144
3224
|
attrs += ` stem.mod="${stemMod}"`;
|
|
3145
3225
|
}
|
|
3226
|
+
if (options.headShape)
|
|
3227
|
+
attrs += ` head.shape="${options.headShape}"`;
|
|
3146
3228
|
const hasChildren = !inChord && (options.artics && options.artics.length > 0 || !!options.lyricXml);
|
|
3147
3229
|
if (!hasChildren) {
|
|
3148
3230
|
return `${indent}<note ${attrs} />
|
|
@@ -3189,14 +3271,17 @@ var extractMarkOptions = (marks) => {
|
|
|
3189
3271
|
beamEnd: false,
|
|
3190
3272
|
dynamic: void 0,
|
|
3191
3273
|
dynamics: [],
|
|
3274
|
+
dynamicPlacement: void 0,
|
|
3192
3275
|
hairpin: void 0,
|
|
3193
3276
|
pedal: void 0,
|
|
3194
3277
|
pedals: [],
|
|
3195
3278
|
tremolo: void 0,
|
|
3196
3279
|
fingerings: [],
|
|
3197
3280
|
navigation: void 0,
|
|
3281
|
+
navigationPlacement: void 0,
|
|
3198
3282
|
markups: [],
|
|
3199
3283
|
breath: false,
|
|
3284
|
+
caesura: false,
|
|
3200
3285
|
glissando: false
|
|
3201
3286
|
};
|
|
3202
3287
|
if (!marks)
|
|
@@ -3230,6 +3315,8 @@ var extractMarkOptions = (marks) => {
|
|
|
3230
3315
|
result.mordent = "upper";
|
|
3231
3316
|
} else if (mark.type === OrnamentType.breath) {
|
|
3232
3317
|
result.breath = true;
|
|
3318
|
+
} else if (mark.type === OrnamentType.caesura) {
|
|
3319
|
+
result.caesura = true;
|
|
3233
3320
|
}
|
|
3234
3321
|
break;
|
|
3235
3322
|
case "dynamic": {
|
|
@@ -3237,6 +3324,9 @@ var extractMarkOptions = (marks) => {
|
|
|
3237
3324
|
if (dynStr) {
|
|
3238
3325
|
result.dynamic = dynStr;
|
|
3239
3326
|
result.dynamics.push(dynStr);
|
|
3327
|
+
const p = mark.placement;
|
|
3328
|
+
if (p)
|
|
3329
|
+
result.dynamicPlacement = p;
|
|
3240
3330
|
}
|
|
3241
3331
|
break;
|
|
3242
3332
|
}
|
|
@@ -3285,6 +3375,7 @@ var extractMarkOptions = (marks) => {
|
|
|
3285
3375
|
break;
|
|
3286
3376
|
case "navigation":
|
|
3287
3377
|
result.navigation = mark.type;
|
|
3378
|
+
result.navigationPlacement = mark.placement ?? "above";
|
|
3288
3379
|
break;
|
|
3289
3380
|
case "markup":
|
|
3290
3381
|
result.markups.push({
|
|
@@ -3302,7 +3393,7 @@ var extractMarkOptions = (marks) => {
|
|
|
3302
3393
|
}
|
|
3303
3394
|
return result;
|
|
3304
3395
|
};
|
|
3305
|
-
var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFifths = 0, ottavaShift = 0, measureAccidentals, lyricXml = "", clefOctave = 0) => {
|
|
3396
|
+
var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFifths = 0, ottavaShift = 0, measureAccidentals, lyricXml = "", clefOctave = 0, tieStartPitches, staffOffset = 0) => {
|
|
3306
3397
|
const dur = DURATIONS[event.duration.division] || "4";
|
|
3307
3398
|
const dots = event.duration.dots || 0;
|
|
3308
3399
|
const markOptions = extractMarkOptions(event.marks);
|
|
@@ -3327,10 +3418,27 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3327
3418
|
staff: event.staff,
|
|
3328
3419
|
layerStaff,
|
|
3329
3420
|
artics: markOptions.artics,
|
|
3330
|
-
tremolo: markOptions.tremolo
|
|
3421
|
+
tremolo: markOptions.tremolo,
|
|
3422
|
+
headShape: event.headShape,
|
|
3423
|
+
staffOffset
|
|
3424
|
+
};
|
|
3425
|
+
const suppressTieAccid = (p, index) => {
|
|
3426
|
+
if (!tieEnd || !p.accid)
|
|
3427
|
+
return p;
|
|
3428
|
+
const start = tieStartPitches?.[index];
|
|
3429
|
+
const startAccid = start?.accidental ? ACCIDENTALS[start.accidental] : void 0;
|
|
3430
|
+
if (startAccid === void 0)
|
|
3431
|
+
return p;
|
|
3432
|
+
const ges = p.accid === "x" ? "ss" : p.accid;
|
|
3433
|
+
const startGes = startAccid === "x" ? "ss" : startAccid;
|
|
3434
|
+
if (startGes !== ges)
|
|
3435
|
+
return p;
|
|
3436
|
+
const copy = { ...p };
|
|
3437
|
+
delete copy.accid;
|
|
3438
|
+
return copy;
|
|
3331
3439
|
};
|
|
3332
3440
|
if (event.pitches.length === 1) {
|
|
3333
|
-
const pitch = encodePitch(event.pitches[0], keyFifths, ottavaShift, measureAccidentals, clefOctave);
|
|
3441
|
+
const pitch = suppressTieAccid(encodePitch(event.pitches[0], keyFifths, ottavaShift, measureAccidentals, clefOctave), 0);
|
|
3334
3442
|
const noteId = generateId("note");
|
|
3335
3443
|
return {
|
|
3336
3444
|
xml: buildNoteElement(pitch, dur, dots, indent, false, { ...noteOptions, lyricXml }, noteId),
|
|
@@ -3351,8 +3459,11 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3351
3459
|
slurEnd: markOptions.slurEnd,
|
|
3352
3460
|
fingerings: markOptions.fingerings,
|
|
3353
3461
|
navigation: markOptions.navigation,
|
|
3462
|
+
navigationPlacement: markOptions.navigationPlacement,
|
|
3463
|
+
dynamicPlacement: markOptions.dynamicPlacement,
|
|
3354
3464
|
markups: markOptions.markups,
|
|
3355
3465
|
breath: markOptions.breath,
|
|
3466
|
+
caesura: markOptions.caesura,
|
|
3356
3467
|
glissando: markOptions.glissando
|
|
3357
3468
|
};
|
|
3358
3469
|
}
|
|
@@ -3367,7 +3478,7 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3367
3478
|
if (noteOptions.stemDir)
|
|
3368
3479
|
chordAttrs += ` stem.dir="${noteOptions.stemDir}"`;
|
|
3369
3480
|
if (layerStaff && noteOptions.staff && noteOptions.staff !== layerStaff) {
|
|
3370
|
-
chordAttrs += ` staff="${noteOptions.staff}"`;
|
|
3481
|
+
chordAttrs += ` staff="${noteOptions.staff + (noteOptions.staffOffset || 0)}"`;
|
|
3371
3482
|
}
|
|
3372
3483
|
if (noteOptions.tremolo) {
|
|
3373
3484
|
const stemMod = tremoloToStemMod(noteOptions.tremolo);
|
|
@@ -3376,9 +3487,9 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3376
3487
|
}
|
|
3377
3488
|
let result = `${indent}<chord ${chordAttrs}>
|
|
3378
3489
|
`;
|
|
3379
|
-
for (
|
|
3380
|
-
const pitch = encodePitch(
|
|
3381
|
-
result += buildNoteElement(pitch, dur, dots, indent + " ", true);
|
|
3490
|
+
for (let pi = 0; pi < event.pitches.length; pi++) {
|
|
3491
|
+
const pitch = suppressTieAccid(encodePitch(event.pitches[pi], keyFifths, ottavaShift, measureAccidentals, clefOctave), pi);
|
|
3492
|
+
result += buildNoteElement(pitch, dur, dots, indent + " ", true, { headShape: noteOptions.headShape });
|
|
3382
3493
|
}
|
|
3383
3494
|
if (noteOptions.artics.length > 0) {
|
|
3384
3495
|
const aboveArtics = noteOptions.artics.filter((a) => a.placement === "above").map((a) => a.type);
|
|
@@ -3420,8 +3531,11 @@ var noteEventToMEI = (event, indent, layerStaff, tieEnd, contextStemDir, keyFift
|
|
|
3420
3531
|
slurEnd: markOptions.slurEnd,
|
|
3421
3532
|
fingerings: markOptions.fingerings,
|
|
3422
3533
|
navigation: markOptions.navigation,
|
|
3534
|
+
navigationPlacement: markOptions.navigationPlacement,
|
|
3535
|
+
dynamicPlacement: markOptions.dynamicPlacement,
|
|
3423
3536
|
markups: markOptions.markups,
|
|
3424
3537
|
breath: markOptions.breath,
|
|
3538
|
+
caesura: markOptions.caesura,
|
|
3425
3539
|
glissando: markOptions.glissando
|
|
3426
3540
|
};
|
|
3427
3541
|
};
|
|
@@ -3434,10 +3548,22 @@ var restEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAcci
|
|
|
3434
3548
|
if (crossStaff)
|
|
3435
3549
|
attrs += ` staff="${crossStaff}"`;
|
|
3436
3550
|
let fermata;
|
|
3551
|
+
const restMarkups = [];
|
|
3552
|
+
const restDynamics = [];
|
|
3437
3553
|
if (event.marks) {
|
|
3438
3554
|
for (const mk of event.marks) {
|
|
3439
3555
|
if (mk.markType === "ornament" && mk.type === "fermata")
|
|
3440
3556
|
fermata = "normal";
|
|
3557
|
+
else if (mk.markType === "markup") {
|
|
3558
|
+
restMarkups.push({
|
|
3559
|
+
content: mk.content,
|
|
3560
|
+
placement: mk.placement
|
|
3561
|
+
});
|
|
3562
|
+
} else if (mk.markType === "dynamic") {
|
|
3563
|
+
const label = DYNAMIC_MAP[mk.type];
|
|
3564
|
+
if (label)
|
|
3565
|
+
restDynamics.push({ startid: restId, label, placement: mk.placement });
|
|
3566
|
+
}
|
|
3441
3567
|
}
|
|
3442
3568
|
}
|
|
3443
3569
|
if (event.pitch) {
|
|
@@ -3446,15 +3572,18 @@ var restEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAcci
|
|
|
3446
3572
|
}
|
|
3447
3573
|
if (event.invisible) {
|
|
3448
3574
|
return { xml: `${indent}<space ${attrs} />
|
|
3449
|
-
`, elementId: restId, fermata };
|
|
3575
|
+
`, elementId: restId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3450
3576
|
}
|
|
3451
3577
|
if (event.fullMeasure) {
|
|
3452
3578
|
const mRestId = generateId("mrest");
|
|
3579
|
+
if (event.multiMeasure && event.multiMeasure > 1)
|
|
3580
|
+
return { xml: `${indent}<multiRest xml:id="${mRestId}" num="${event.multiMeasure}" />
|
|
3581
|
+
`, elementId: mRestId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3453
3582
|
return { xml: `${indent}<mRest xml:id="${mRestId}" />
|
|
3454
|
-
`, elementId: mRestId, fermata };
|
|
3583
|
+
`, elementId: mRestId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3455
3584
|
}
|
|
3456
3585
|
return { xml: `${indent}<rest ${attrs} />
|
|
3457
|
-
`, elementId: restId, fermata };
|
|
3586
|
+
`, elementId: restId, fermata, markups: restMarkups, dynamics: restDynamics };
|
|
3458
3587
|
};
|
|
3459
3588
|
var tupletHasInternalBeams = (event) => {
|
|
3460
3589
|
let starts = 0;
|
|
@@ -3470,17 +3599,27 @@ var tupletHasInternalBeams = (event) => {
|
|
|
3470
3599
|
}
|
|
3471
3600
|
return starts > 0 && starts === ends;
|
|
3472
3601
|
};
|
|
3473
|
-
var
|
|
3602
|
+
var tupletPitchesMatch = (p1, p2) => {
|
|
3603
|
+
if (p1.length !== p2.length)
|
|
3604
|
+
return false;
|
|
3605
|
+
for (let i = 0; i < p1.length; i++) {
|
|
3606
|
+
if (p1[i].phonet !== p2[i].phonet || p1[i].octave !== p2[i].octave)
|
|
3607
|
+
return false;
|
|
3608
|
+
}
|
|
3609
|
+
return true;
|
|
3610
|
+
};
|
|
3611
|
+
var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff, ottavaShift = 0, inParentBeam = false, measureAccidentals, currentClef, lyricCursors = [], contextStemDir, initialTiePitches = []) => {
|
|
3474
3612
|
const num = event.ratio.denominator;
|
|
3475
3613
|
const numbase = event.ratio.numerator;
|
|
3476
3614
|
let xml = `${indent}<tuplet xml:id="${generateId("tuplet")}" num="${num}" numbase="${numbase}">
|
|
3477
3615
|
`;
|
|
3478
3616
|
const baseIndent = indent + " ";
|
|
3479
|
-
|
|
3617
|
+
let effectiveStaff = currentStaff ?? layerStaff;
|
|
3480
3618
|
let firstNoteId = null;
|
|
3481
3619
|
let lastNoteId = null;
|
|
3482
3620
|
const slurStarts = [];
|
|
3483
3621
|
const slurEnds = [];
|
|
3622
|
+
const slurActions = [];
|
|
3484
3623
|
const dynamics = [];
|
|
3485
3624
|
const fermatas = [];
|
|
3486
3625
|
const trills = [];
|
|
@@ -3490,10 +3629,14 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3490
3629
|
const pedals = [];
|
|
3491
3630
|
const fingerings = [];
|
|
3492
3631
|
const markups = [];
|
|
3632
|
+
const hairpinStarts = [];
|
|
3633
|
+
const hairpinEnds = [];
|
|
3493
3634
|
const hasInternalBeams = !inParentBeam && tupletHasInternalBeams(event);
|
|
3494
3635
|
let beamOpen = false;
|
|
3495
3636
|
let activeClef = currentClef;
|
|
3496
3637
|
let endingClef;
|
|
3638
|
+
let pendingTieIn = [...initialTiePitches];
|
|
3639
|
+
let pendingTieOut = [];
|
|
3497
3640
|
for (const e of event.events) {
|
|
3498
3641
|
if (e.type === "note") {
|
|
3499
3642
|
const noteEvent = e;
|
|
@@ -3506,18 +3649,29 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3506
3649
|
const noteIndent = beamOpen ? baseIndent + " " : baseIndent;
|
|
3507
3650
|
const effectiveNoteEvent = effectiveStaff && layerStaff && effectiveStaff !== layerStaff ? { ...noteEvent, staff: effectiveStaff } : noteEvent;
|
|
3508
3651
|
const lyricXml = lyricCursors.length ? lyricXmlForEvent(lyricCursors, noteIndent + " ") : "";
|
|
3509
|
-
const
|
|
3652
|
+
const carryTieEnd = pendingTieIn.length > 0 && tupletPitchesMatch(pendingTieIn, noteEvent.pitches);
|
|
3653
|
+
const result = noteEventToMEI(effectiveNoteEvent, noteIndent, layerStaff, carryTieEnd, contextStemDir, keyFifths, ottavaShift, measureAccidentals, lyricXml, clefOctaveShift(activeClef), carryTieEnd ? pendingTieIn : void 0);
|
|
3654
|
+
if (carryTieEnd)
|
|
3655
|
+
pendingTieIn = [];
|
|
3510
3656
|
xml += result.xml;
|
|
3511
3657
|
if (!firstNoteId)
|
|
3512
3658
|
firstNoteId = result.elementId;
|
|
3513
3659
|
lastNoteId = result.elementId;
|
|
3660
|
+
if (result.hasTieStart)
|
|
3661
|
+
pendingTieOut = result.pitches;
|
|
3662
|
+
else if (carryTieEnd)
|
|
3663
|
+
pendingTieOut = [];
|
|
3514
3664
|
if (result.slurStart)
|
|
3515
3665
|
slurStarts.push(result.elementId);
|
|
3516
3666
|
if (result.slurEnd)
|
|
3517
3667
|
slurEnds.push(result.elementId);
|
|
3668
|
+
if (result.slurEnd)
|
|
3669
|
+
slurActions.push({ id: result.elementId, start: false });
|
|
3670
|
+
if (result.slurStart)
|
|
3671
|
+
slurActions.push({ id: result.elementId, start: true });
|
|
3518
3672
|
if (result.dynamics)
|
|
3519
3673
|
for (const label of result.dynamics)
|
|
3520
|
-
dynamics.push({ startid: result.elementId, label });
|
|
3674
|
+
dynamics.push({ startid: result.elementId, label, placement: result.dynamicPlacement });
|
|
3521
3675
|
if (result.fermata)
|
|
3522
3676
|
fermatas.push({ startid: result.elementId, shape: result.fermata === "short" ? "angular" : void 0 });
|
|
3523
3677
|
if (result.trill)
|
|
@@ -3535,6 +3689,12 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3535
3689
|
fingerings.push({ startid: result.elementId, finger: fing.finger, placement: fing.placement });
|
|
3536
3690
|
for (const mkup of result.markups)
|
|
3537
3691
|
markups.push({ startid: result.elementId, content: mkup.content, placement: mkup.placement });
|
|
3692
|
+
if (markOptions.hairpin === "crescStart")
|
|
3693
|
+
hairpinStarts.push({ id: result.elementId, form: "cres" });
|
|
3694
|
+
else if (markOptions.hairpin === "dimStart")
|
|
3695
|
+
hairpinStarts.push({ id: result.elementId, form: "dim" });
|
|
3696
|
+
else if (markOptions.hairpin === "crescEnd" || markOptions.hairpin === "dimEnd")
|
|
3697
|
+
hairpinEnds.push(result.elementId);
|
|
3538
3698
|
if (hasInternalBeams && markOptions.beamEnd && beamOpen) {
|
|
3539
3699
|
xml += `${baseIndent}</beam>
|
|
3540
3700
|
`;
|
|
@@ -3547,8 +3707,41 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3547
3707
|
lastNoteId = restResult.elementId;
|
|
3548
3708
|
if (restResult.fermata)
|
|
3549
3709
|
fermatas.push({ startid: restResult.elementId, shape: restResult.fermata === "short" ? "angular" : void 0 });
|
|
3710
|
+
for (const mkup of restResult.markups)
|
|
3711
|
+
markups.push({ startid: restResult.elementId, content: mkup.content, placement: mkup.placement });
|
|
3712
|
+
dynamics.push(...restResult.dynamics);
|
|
3713
|
+
} else if (e.type === "tuplet") {
|
|
3714
|
+
const nestedIndent = beamOpen ? baseIndent + " " : baseIndent;
|
|
3715
|
+
const nested = tupletEventToMEI(e, nestedIndent, layerStaff, keyFifths, effectiveStaff, ottavaShift, inParentBeam, measureAccidentals, activeClef, [], contextStemDir, pendingTieIn);
|
|
3716
|
+
xml += nested.xml;
|
|
3717
|
+
if (!firstNoteId)
|
|
3718
|
+
firstNoteId = nested.firstNoteId;
|
|
3719
|
+
lastNoteId = nested.lastNoteId ?? lastNoteId;
|
|
3720
|
+
pendingTieIn = [];
|
|
3721
|
+
if (nested.pendingTieOut.length)
|
|
3722
|
+
pendingTieOut = nested.pendingTieOut;
|
|
3723
|
+
slurStarts.push(...nested.slurStarts);
|
|
3724
|
+
slurEnds.push(...nested.slurEnds);
|
|
3725
|
+
slurActions.push(...nested.slurActions);
|
|
3726
|
+
dynamics.push(...nested.dynamics);
|
|
3727
|
+
fermatas.push(...nested.fermatas);
|
|
3728
|
+
trills.push(...nested.trills);
|
|
3729
|
+
mordents.push(...nested.mordents);
|
|
3730
|
+
turns.push(...nested.turns);
|
|
3731
|
+
arpeggios.push(...nested.arpeggios);
|
|
3732
|
+
pedals.push(...nested.pedals);
|
|
3733
|
+
fingerings.push(...nested.fingerings);
|
|
3734
|
+
markups.push(...nested.markups);
|
|
3735
|
+
hairpinStarts.push(...nested.hairpinStarts);
|
|
3736
|
+
hairpinEnds.push(...nested.hairpinEnds);
|
|
3737
|
+
if (nested.endingClef) {
|
|
3738
|
+
activeClef = nested.endingClef;
|
|
3739
|
+
endingClef = nested.endingClef;
|
|
3740
|
+
}
|
|
3550
3741
|
} else if (e.type === "context") {
|
|
3551
3742
|
const ctx = e;
|
|
3743
|
+
if (ctx.staff !== void 0 && ctx.staff !== effectiveStaff)
|
|
3744
|
+
effectiveStaff = ctx.staff;
|
|
3552
3745
|
if (ctx.clef && ctx.clef !== activeClef) {
|
|
3553
3746
|
const layerStaffNum = layerStaff || 1;
|
|
3554
3747
|
const effectiveStaffNum = effectiveStaff ?? layerStaffNum;
|
|
@@ -3568,7 +3761,7 @@ var tupletEventToMEI = (event, indent, layerStaff, keyFifths = 0, currentStaff,
|
|
|
3568
3761
|
}
|
|
3569
3762
|
xml += `${indent}</tuplet>
|
|
3570
3763
|
`;
|
|
3571
|
-
return { xml, firstNoteId, lastNoteId, slurStarts, slurEnds, dynamics, fermatas, trills, mordents, turns, arpeggios, pedals, fingerings, markups, endingClef };
|
|
3764
|
+
return { xml, firstNoteId, lastNoteId, pendingTieOut, slurStarts, slurEnds, slurActions, dynamics, fermatas, trills, mordents, turns, arpeggios, pedals, fingerings, markups, hairpinStarts, hairpinEnds, endingClef };
|
|
3572
3765
|
};
|
|
3573
3766
|
var tremoloEventToMEI = (event, indent, keyFifths = 0, ottavaShift = 0, measureAccidentals, clefOctave = 0) => {
|
|
3574
3767
|
const ftremId = generateId("fTrem");
|
|
@@ -3663,7 +3856,7 @@ var getEventBeamMarks = (event) => {
|
|
|
3663
3856
|
}
|
|
3664
3857
|
return { beamStart: false, beamEnd: false };
|
|
3665
3858
|
};
|
|
3666
|
-
var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0, initialClef, initialSlurs = [], initialHairpin = null, initialOctave = null, initialGliss = null) => {
|
|
3859
|
+
var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0, initialClef, initialSlurs = [], initialHairpin = null, initialOctave = null, initialGliss = null, staffOffset = 0) => {
|
|
3667
3860
|
const layerId = generateId("layer");
|
|
3668
3861
|
let xml = `${indent}<layer xml:id="${layerId}" n="${layerN}">
|
|
3669
3862
|
`;
|
|
@@ -3707,12 +3900,14 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3707
3900
|
}
|
|
3708
3901
|
};
|
|
3709
3902
|
const slurs = [];
|
|
3710
|
-
const
|
|
3903
|
+
const slurEndReplacements = {};
|
|
3904
|
+
const openSlurs = initialSlurs.map((s) => ({ ...s }));
|
|
3711
3905
|
let currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
3712
3906
|
const arpeggios = [];
|
|
3713
3907
|
const fermatas = [];
|
|
3714
3908
|
const trills = [];
|
|
3715
3909
|
const breaths = [];
|
|
3910
|
+
const caesuras = [];
|
|
3716
3911
|
const glissandos = [];
|
|
3717
3912
|
let pendingGlissStart = initialGliss;
|
|
3718
3913
|
const mordents = [];
|
|
@@ -3783,7 +3978,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3783
3978
|
applyPendingOttavaShift();
|
|
3784
3979
|
const effectiveNoteEvent = currentStaff !== voice.staff ? { ...noteEvent, staff: currentStaff } : noteEvent;
|
|
3785
3980
|
const eventLyricXml = isGraceNote ? "" : lyricXmlForEvent(lyricCursors, currentIndent + " ");
|
|
3786
|
-
const result = noteEventToMEI(effectiveNoteEvent, currentIndent, voice.staff, tieEnd, currentStemDirection, keyFifths, currentOttavaShift, measureAccidentals, eventLyricXml, clefOctaveShift(currentClef));
|
|
3981
|
+
const result = noteEventToMEI(effectiveNoteEvent, currentIndent, voice.staff, tieEnd, currentStemDirection, keyFifths, currentOttavaShift, measureAccidentals, eventLyricXml, clefOctaveShift(currentClef), tieEnd ? pendingTiePitches : void 0, staffOffset);
|
|
3787
3982
|
xml += result.xml;
|
|
3788
3983
|
lastNoteId = result.elementId;
|
|
3789
3984
|
extendOttavaEnd(result.elementId);
|
|
@@ -3824,13 +4019,16 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3824
4019
|
}
|
|
3825
4020
|
if (result.slurEnd && openSlurs.length > 0) {
|
|
3826
4021
|
const open = openSlurs.pop();
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
4022
|
+
if (open.token) {
|
|
4023
|
+
slurEndReplacements[open.token] = result.elementId;
|
|
4024
|
+
} else {
|
|
4025
|
+
slurs.push({ startId: open.startId, endId: result.elementId });
|
|
4026
|
+
}
|
|
3831
4027
|
}
|
|
3832
4028
|
if (result.slurStart) {
|
|
3833
|
-
|
|
4029
|
+
const token = `__SLUR_END_${generateId("slurEnd")}__`;
|
|
4030
|
+
openSlurs.push({ startId: result.elementId, token });
|
|
4031
|
+
slurs.push({ startId: result.elementId, endId: token });
|
|
3834
4032
|
}
|
|
3835
4033
|
currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
3836
4034
|
if (result.arpeggio) {
|
|
@@ -3848,6 +4046,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3848
4046
|
if (result.breath) {
|
|
3849
4047
|
breaths.push({ startid: result.elementId });
|
|
3850
4048
|
}
|
|
4049
|
+
if (result.caesura) {
|
|
4050
|
+
caesuras.push({ startid: result.elementId });
|
|
4051
|
+
}
|
|
3851
4052
|
if (pendingGlissStart) {
|
|
3852
4053
|
glissandos.push({ startid: pendingGlissStart, endid: result.elementId });
|
|
3853
4054
|
pendingGlissStart = null;
|
|
@@ -3866,7 +4067,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3866
4067
|
}
|
|
3867
4068
|
if (result.dynamics) {
|
|
3868
4069
|
for (const label of result.dynamics)
|
|
3869
|
-
dynamics.push({ startid: result.elementId, label });
|
|
4070
|
+
dynamics.push({ startid: result.elementId, label, placement: result.dynamicPlacement });
|
|
3870
4071
|
}
|
|
3871
4072
|
for (const fing of result.fingerings) {
|
|
3872
4073
|
fingerings.push({ startid: result.elementId, finger: fing.finger, placement: fing.placement });
|
|
@@ -3875,7 +4076,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3875
4076
|
markups.push({ startid: result.elementId, content: mkup.content, placement: mkup.placement });
|
|
3876
4077
|
}
|
|
3877
4078
|
if (result.navigation) {
|
|
3878
|
-
navigations.push({ type: result.navigation });
|
|
4079
|
+
navigations.push({ type: result.navigation, placement: result.navigationPlacement, staff: voice.staff || 1 });
|
|
3879
4080
|
}
|
|
3880
4081
|
break;
|
|
3881
4082
|
}
|
|
@@ -3889,6 +4090,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3889
4090
|
applyOttavaAnchor(restResult.elementId);
|
|
3890
4091
|
if (restResult.fermata)
|
|
3891
4092
|
fermatas.push({ startid: restResult.elementId, shape: restResult.fermata === "short" ? "angular" : void 0 });
|
|
4093
|
+
for (const mkup of restResult.markups)
|
|
4094
|
+
markups.push({ startid: restResult.elementId, content: mkup.content, placement: mkup.placement });
|
|
4095
|
+
dynamics.push(...restResult.dynamics);
|
|
3892
4096
|
flushPendingMarkups(restResult.elementId);
|
|
3893
4097
|
flushPendingDynamics(restResult.elementId);
|
|
3894
4098
|
break;
|
|
@@ -3896,7 +4100,7 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3896
4100
|
case "tuplet":
|
|
3897
4101
|
case "times": {
|
|
3898
4102
|
applyPendingOttavaShift();
|
|
3899
|
-
const tupletResult = tupletEventToMEI(event, currentIndent, voice.staff, keyFifths, currentStaff, currentOttavaShift, beamElementOpen, measureAccidentals, currentClef, lyricCursors);
|
|
4103
|
+
const tupletResult = tupletEventToMEI(event, currentIndent, voice.staff, keyFifths, currentStaff, currentOttavaShift, beamElementOpen, measureAccidentals, currentClef, lyricCursors, currentStemDirection, pendingTiePitches);
|
|
3900
4104
|
xml += tupletResult.xml;
|
|
3901
4105
|
if (tupletResult.firstNoteId)
|
|
3902
4106
|
applyOttavaAnchor(tupletResult.firstNoteId);
|
|
@@ -3910,19 +4114,25 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
3910
4114
|
flushPendingDynamics(tupletResult.firstNoteId);
|
|
3911
4115
|
lastNoteId = tupletResult.lastNoteId ?? tupletResult.firstNoteId;
|
|
3912
4116
|
}
|
|
3913
|
-
for (const
|
|
3914
|
-
if (
|
|
4117
|
+
for (const act of tupletResult.slurActions) {
|
|
4118
|
+
if (act.start) {
|
|
4119
|
+
openSlurs.push({ startId: act.id });
|
|
4120
|
+
} else if (openSlurs.length > 0) {
|
|
3915
4121
|
const open = openSlurs.pop();
|
|
3916
|
-
slurs.push({
|
|
3917
|
-
startId: open.startId,
|
|
3918
|
-
endId
|
|
3919
|
-
});
|
|
4122
|
+
slurs.push({ startId: open.startId, endId: act.id });
|
|
3920
4123
|
}
|
|
3921
4124
|
}
|
|
3922
|
-
for (const startId of tupletResult.slurStarts) {
|
|
3923
|
-
openSlurs.push({ startId });
|
|
3924
|
-
}
|
|
3925
4125
|
currentSlur = openSlurs.length ? openSlurs[openSlurs.length - 1] : null;
|
|
4126
|
+
for (const endId of tupletResult.hairpinEnds) {
|
|
4127
|
+
const pick = openHairpins.length - 1;
|
|
4128
|
+
if (pick >= 0) {
|
|
4129
|
+
const open = openHairpins.splice(pick, 1)[0];
|
|
4130
|
+
hairpins.push({ form: open.form, startId: open.startId, endId });
|
|
4131
|
+
}
|
|
4132
|
+
}
|
|
4133
|
+
for (const hs of tupletResult.hairpinStarts)
|
|
4134
|
+
openHairpins.push({ form: hs.form, startId: hs.id });
|
|
4135
|
+
pendingTiePitches = tupletResult.pendingTieOut;
|
|
3926
4136
|
dynamics.push(...tupletResult.dynamics);
|
|
3927
4137
|
fermatas.push(...tupletResult.fermatas);
|
|
3928
4138
|
trills.push(...tupletResult.trills);
|
|
@@ -4060,9 +4270,9 @@ var encodeLayer = (voice, layerN, indent, initialTiePitches = [], keyFifths = 0,
|
|
|
4060
4270
|
}
|
|
4061
4271
|
xml += `${indent}</layer>
|
|
4062
4272
|
`;
|
|
4063
|
-
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 };
|
|
4273
|
+
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 };
|
|
4064
4274
|
};
|
|
4065
|
-
var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpinState = {}, ottavaState = {}, keyFifths = 0, initialClef, glissState = {}) => {
|
|
4275
|
+
var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpinState = {}, ottavaState = {}, keyFifths = 0, initialClef, glissState = {}, staffOffset = 0) => {
|
|
4066
4276
|
const staffId = generateId("staff");
|
|
4067
4277
|
let xml = `${indent}<staff xml:id="${staffId}" n="${staffN}">
|
|
4068
4278
|
`;
|
|
@@ -4074,6 +4284,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4074
4284
|
const allFermatas = [];
|
|
4075
4285
|
const allTrills = [];
|
|
4076
4286
|
const allBreaths = [];
|
|
4287
|
+
const allCaesuras = [];
|
|
4077
4288
|
const allGlissandos = [];
|
|
4078
4289
|
const allMordents = [];
|
|
4079
4290
|
const allTurns = [];
|
|
@@ -4091,6 +4302,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4091
4302
|
const ottavaExplicitlyClosed = {};
|
|
4092
4303
|
const lastNoteIds = {};
|
|
4093
4304
|
const octaveEndReplacements = {};
|
|
4305
|
+
const slurEndReplacements = {};
|
|
4094
4306
|
let endingClef = initialClef;
|
|
4095
4307
|
if (voices.length === 0) {
|
|
4096
4308
|
xml += `${indent} <layer xml:id="${generateId("layer")}" n="1" />
|
|
@@ -4104,7 +4316,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4104
4316
|
const initialHairpin = hairpinState[tieKey] || null;
|
|
4105
4317
|
const initialOctave = ottavaState[tieKey] || null;
|
|
4106
4318
|
const initialGliss = glissState[tieKey] || null;
|
|
4107
|
-
const result = encodeLayer(voice, layerN, indent + " ", initialTies, keyFifths, endingClef, initialSlur, initialHairpin, initialOctave, initialGliss);
|
|
4319
|
+
const result = encodeLayer(voice, layerN, indent + " ", initialTies, keyFifths, endingClef, initialSlur, initialHairpin, initialOctave, initialGliss, staffOffset);
|
|
4108
4320
|
xml += result.xml;
|
|
4109
4321
|
allHairpins.push(...result.hairpins);
|
|
4110
4322
|
allPedals.push(...result.pedals);
|
|
@@ -4114,6 +4326,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4114
4326
|
allFermatas.push(...result.fermatas);
|
|
4115
4327
|
allTrills.push(...result.trills);
|
|
4116
4328
|
allBreaths.push(...result.breaths);
|
|
4329
|
+
allCaesuras.push(...result.caesuras);
|
|
4117
4330
|
allGlissandos.push(...result.glissandos);
|
|
4118
4331
|
allMordents.push(...result.mordents);
|
|
4119
4332
|
allTurns.push(...result.turns);
|
|
@@ -4124,14 +4337,13 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4124
4337
|
allBarlines.push(...result.barlines);
|
|
4125
4338
|
allMarkups.push(...result.markups);
|
|
4126
4339
|
Object.assign(octaveEndReplacements, result.octaveEndReplacements);
|
|
4340
|
+
Object.assign(slurEndReplacements, result.slurEndReplacements);
|
|
4127
4341
|
if (result.pendingTiePitches.length > 0) {
|
|
4128
4342
|
pendingTies[tieKey] = result.pendingTiePitches;
|
|
4129
4343
|
}
|
|
4130
4344
|
pendingSlurs[tieKey] = result.pendingSlur;
|
|
4131
4345
|
pendingGlisses[tieKey] = result.pendingGliss;
|
|
4132
|
-
|
|
4133
|
-
pendingHairpins[tieKey] = result.pendingHairpin;
|
|
4134
|
-
}
|
|
4346
|
+
pendingHairpins[tieKey] = result.pendingHairpin;
|
|
4135
4347
|
if (result.pendingOctave) {
|
|
4136
4348
|
pendingOctaves[tieKey] = result.pendingOctave;
|
|
4137
4349
|
}
|
|
@@ -4148,6 +4360,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4148
4360
|
`;
|
|
4149
4361
|
return {
|
|
4150
4362
|
xml,
|
|
4363
|
+
slurEndReplacements,
|
|
4151
4364
|
hairpins: allHairpins,
|
|
4152
4365
|
pedals: allPedals,
|
|
4153
4366
|
octaves: allOctaves,
|
|
@@ -4156,6 +4369,7 @@ var encodeStaff = (voices, staffN, indent, tieState = {}, slurState = {}, hairpi
|
|
|
4156
4369
|
fermatas: allFermatas,
|
|
4157
4370
|
trills: allTrills,
|
|
4158
4371
|
breaths: allBreaths,
|
|
4372
|
+
caesuras: allCaesuras,
|
|
4159
4373
|
glissandos: allGlissandos,
|
|
4160
4374
|
mordents: allMordents,
|
|
4161
4375
|
turns: allTurns,
|
|
@@ -4263,7 +4477,7 @@ var BARLINE_TO_MEI = {
|
|
|
4263
4477
|
":..:|": "rptboth",
|
|
4264
4478
|
":..:": "rptboth"
|
|
4265
4479
|
};
|
|
4266
|
-
var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState, hairpinState, ottavaState, keyFifths = 0, partInfos = [], clefState = {}, octaveEndReplacements = {}, measureIds, glissState = {}, barHidden = false, meterUnit = 4) => {
|
|
4480
|
+
var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState, hairpinState, ottavaState, keyFifths = 0, partInfos = [], clefState = {}, octaveEndReplacements = {}, measureIds, glissState = {}, barHidden = false, meterUnit = 4, slurEndReplacements = {}) => {
|
|
4267
4481
|
const measureId = generateId("measure");
|
|
4268
4482
|
if (measureIds)
|
|
4269
4483
|
measureIds.push(measureId);
|
|
@@ -4276,6 +4490,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4276
4490
|
const allFermatas = [];
|
|
4277
4491
|
const allTrills = [];
|
|
4278
4492
|
const allBreaths = [];
|
|
4493
|
+
const allCaesuras = [];
|
|
4279
4494
|
const allGlissandos = [];
|
|
4280
4495
|
const allMordents = [];
|
|
4281
4496
|
const allTurns = [];
|
|
@@ -4305,12 +4520,14 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4305
4520
|
}
|
|
4306
4521
|
}
|
|
4307
4522
|
const voicesByStaff = {};
|
|
4523
|
+
const staffOffsets = {};
|
|
4308
4524
|
for (let pi = 0; pi < measure.parts.length; pi++) {
|
|
4309
4525
|
const part = measure.parts[pi];
|
|
4310
4526
|
const partOffset = partInfos[pi]?.staffOffset || 0;
|
|
4311
4527
|
for (const voice of part.voices) {
|
|
4312
4528
|
const localStaff = voice.staff || 1;
|
|
4313
4529
|
const globalStaff = partOffset + localStaff;
|
|
4530
|
+
staffOffsets[globalStaff] = partOffset;
|
|
4314
4531
|
if (!voicesByStaff[globalStaff]) {
|
|
4315
4532
|
voicesByStaff[globalStaff] = [];
|
|
4316
4533
|
}
|
|
@@ -4320,7 +4537,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4320
4537
|
for (let si = 1; si <= totalStaves; si++) {
|
|
4321
4538
|
const voices = voicesByStaff[si] || [];
|
|
4322
4539
|
const initialClef = clefState[si];
|
|
4323
|
-
const result = encodeStaff(voices, si, indent + " ", tieState, slurState, hairpinState, ottavaState, keyFifths, initialClef, glissState);
|
|
4540
|
+
const result = encodeStaff(voices, si, indent + " ", tieState, slurState, hairpinState, ottavaState, keyFifths, initialClef, glissState, staffOffsets[si] || 0);
|
|
4324
4541
|
staffContent += result.xml;
|
|
4325
4542
|
allHairpins.push(...result.hairpins);
|
|
4326
4543
|
allPedals.push(...result.pedals);
|
|
@@ -4330,6 +4547,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4330
4547
|
allFermatas.push(...result.fermatas);
|
|
4331
4548
|
allTrills.push(...result.trills);
|
|
4332
4549
|
allBreaths.push(...result.breaths);
|
|
4550
|
+
allCaesuras.push(...result.caesuras);
|
|
4333
4551
|
allGlissandos.push(...result.glissandos);
|
|
4334
4552
|
allMordents.push(...result.mordents);
|
|
4335
4553
|
allTurns.push(...result.turns);
|
|
@@ -4340,6 +4558,7 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4340
4558
|
allBarlines.push(...result.barlines);
|
|
4341
4559
|
allMarkups.push(...result.markups);
|
|
4342
4560
|
Object.assign(octaveEndReplacements, result.octaveEndReplacements);
|
|
4561
|
+
Object.assign(slurEndReplacements, result.slurEndReplacements);
|
|
4343
4562
|
Object.assign(tieState, result.pendingTies);
|
|
4344
4563
|
Object.assign(slurState, result.pendingSlurs);
|
|
4345
4564
|
Object.assign(glissState, result.pendingGlisses);
|
|
@@ -4407,6 +4626,10 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4407
4626
|
}
|
|
4408
4627
|
for (const br of allBreaths) {
|
|
4409
4628
|
staffContent += `${indent} <breath xml:id="${generateId("breath")}" startid="#${br.startid}" />
|
|
4629
|
+
`;
|
|
4630
|
+
}
|
|
4631
|
+
for (const ca of allCaesuras) {
|
|
4632
|
+
staffContent += `${indent} <caesura xml:id="${generateId("caesura")}" startid="#${ca.startid}" />
|
|
4410
4633
|
`;
|
|
4411
4634
|
}
|
|
4412
4635
|
for (const gl of allGlissandos) {
|
|
@@ -4423,7 +4646,8 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4423
4646
|
`;
|
|
4424
4647
|
}
|
|
4425
4648
|
for (const dyn of allDynamics) {
|
|
4426
|
-
|
|
4649
|
+
const placeAttr = dyn.placement ? ` place="${dyn.placement}"` : "";
|
|
4650
|
+
staffContent += `${indent} <dynam xml:id="${generateId("dynam")}" startid="#${dyn.startid}"${placeAttr}>${dyn.label}</dynam>
|
|
4427
4651
|
`;
|
|
4428
4652
|
}
|
|
4429
4653
|
for (const fing of allFingerings) {
|
|
@@ -4433,7 +4657,9 @@ var encodeMeasure = (measure, measureN, indent, totalStaves, tieState, slurState
|
|
|
4433
4657
|
}
|
|
4434
4658
|
for (const nav of allNavigations) {
|
|
4435
4659
|
const glyph = nav.type === "coda" ? "\u{1D10C}" : "\u{1D10B}";
|
|
4436
|
-
|
|
4660
|
+
const placeAttr = nav.placement ? ` place="${nav.placement}"` : "";
|
|
4661
|
+
const staffAttr = nav.staff ? ` staff="${nav.staff}"` : "";
|
|
4662
|
+
staffContent += `${indent} <dir xml:id="${generateId("dir")}" tstamp="1"${placeAttr}${staffAttr}>${glyph}</dir>
|
|
4437
4663
|
`;
|
|
4438
4664
|
}
|
|
4439
4665
|
for (const harm of allHarmonies) {
|
|
@@ -4593,7 +4819,7 @@ var staffDefWithLabel = (attrs, instr, indent, channels) => {
|
|
|
4593
4819
|
`;
|
|
4594
4820
|
return xml;
|
|
4595
4821
|
};
|
|
4596
|
-
var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol, stavesCode, instruments = {}, meterHidden = false) => {
|
|
4822
|
+
var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol, stavesCode, instruments = {}, meterHidden = false, staffKeys = {}) => {
|
|
4597
4823
|
const scoreDefId = generateId("scoredef");
|
|
4598
4824
|
const channels = newChannelAllocator();
|
|
4599
4825
|
const meterSymAttr = meterSymbol ? ` meter.sym="${meterSymbol}"` : "";
|
|
@@ -4610,7 +4836,7 @@ var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol,
|
|
|
4610
4836
|
if (stavesCode) {
|
|
4611
4837
|
const layout = parseStaffLayout(stavesCode);
|
|
4612
4838
|
if (layout.stavesCount === flatStaves.length) {
|
|
4613
|
-
const staffDefAttrs = flatStaves.map((s) => `xml:id="${generateId("staffdef")}" n="${s.n}" lines="5" ${staffDefClefAttrs(s.clef)}`);
|
|
4839
|
+
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"}"` : ""));
|
|
4614
4840
|
xml += layoutGroupToMEI(layout.group, staffDefAttrs, { i: 0 }, `${indent} `, instruments, channels);
|
|
4615
4841
|
layoutUsed = true;
|
|
4616
4842
|
}
|
|
@@ -4631,7 +4857,7 @@ var encodeScoreDef = (keySig, timeNum, timeDen, partInfos, indent, meterSymbol,
|
|
|
4631
4857
|
const globalStaff = info.staffOffset + ls;
|
|
4632
4858
|
const clef = info.clefs[ls] || Clef.treble;
|
|
4633
4859
|
const leafInstr = instruments[`${globalStaff}`];
|
|
4634
|
-
const attrs = `xml:id="${generateId("staffdef")}" n="${globalStaff}" lines="5" ${staffDefClefAttrs(clef)}
|
|
4860
|
+
const attrs = `xml:id="${generateId("staffdef")}" n="${globalStaff}" lines="5" ${staffDefClefAttrs(clef)}` + (staffKeys[globalStaff] !== void 0 ? ` key.sig="${KEY_SIGS[staffKeys[globalStaff]] || "0"}"` : "");
|
|
4635
4861
|
xml += staffDefWithLabel(attrs, leafInstr, `${indent} `, channels);
|
|
4636
4862
|
}
|
|
4637
4863
|
xml += `${indent} </staffGrp>
|
|
@@ -4930,6 +5156,33 @@ var encode = (doc, options = {}) => {
|
|
|
4930
5156
|
currentTimeDen = firstMeasure.timeSig.denominator;
|
|
4931
5157
|
currentMeterSymbol = firstMeasure.timeSig.symbol;
|
|
4932
5158
|
}
|
|
5159
|
+
const voiceKeys = [];
|
|
5160
|
+
{
|
|
5161
|
+
const offsets = [];
|
|
5162
|
+
let running = 0;
|
|
5163
|
+
for (const info of partInfos) {
|
|
5164
|
+
offsets.push(running);
|
|
5165
|
+
running += info.maxStaff;
|
|
5166
|
+
}
|
|
5167
|
+
firstMeasure.parts.forEach((part, pi) => {
|
|
5168
|
+
for (const voice of part.voices) {
|
|
5169
|
+
const keyEv = voice.events.find((e) => e.type === "context" && !!e.key);
|
|
5170
|
+
if (!keyEv)
|
|
5171
|
+
continue;
|
|
5172
|
+
voiceKeys.push({
|
|
5173
|
+
staff: (offsets[pi] ?? 0) + (voice.staff || 1),
|
|
5174
|
+
fifths: keyToFifths(keyEv.key)
|
|
5175
|
+
});
|
|
5176
|
+
}
|
|
5177
|
+
});
|
|
5178
|
+
}
|
|
5179
|
+
if (voiceKeys.length > 0)
|
|
5180
|
+
currentKey = voiceKeys[0].fifths;
|
|
5181
|
+
const staffKeys = {};
|
|
5182
|
+
for (const vk of voiceKeys) {
|
|
5183
|
+
if (vk.fifths !== currentKey)
|
|
5184
|
+
staffKeys[vk.staff] = vk.fifths;
|
|
5185
|
+
}
|
|
4933
5186
|
const keySig = KEY_SIGS[currentKey] || "0";
|
|
4934
5187
|
const shouldAutoBeam = resolveAutoBeam(doc);
|
|
4935
5188
|
if (shouldAutoBeam) {
|
|
@@ -4991,7 +5244,7 @@ var encode = (doc, options = {}) => {
|
|
|
4991
5244
|
mei += `${indent}${indent}${indent}${indent}<score xml:id="${generateId("score")}">
|
|
4992
5245
|
`;
|
|
4993
5246
|
const omitStates = computeOmitStates(doc.measures);
|
|
4994
|
-
mei += encodeScoreDef(keySig, currentTimeNum, currentTimeDen, partInfos, `${indent}${indent}${indent}${indent}${indent}`, currentMeterSymbol, doc.metadata?.staves, doc.metadata?.instruments, omitStates.meterHidden[0]);
|
|
5247
|
+
mei += encodeScoreDef(keySig, currentTimeNum, currentTimeDen, partInfos, `${indent}${indent}${indent}${indent}${indent}`, currentMeterSymbol, doc.metadata?.staves, doc.metadata?.instruments, omitStates.meterHidden[0], staffKeys);
|
|
4995
5248
|
mei += `${indent}${indent}${indent}${indent}${indent}<section xml:id="${generateId("section")}">
|
|
4996
5249
|
`;
|
|
4997
5250
|
const expansionInsertPos = mei.length;
|
|
@@ -5051,6 +5304,7 @@ var encode = (doc, options = {}) => {
|
|
|
5051
5304
|
const hairpinState = {};
|
|
5052
5305
|
const ottavaState = {};
|
|
5053
5306
|
const octaveEndReplacements = {};
|
|
5307
|
+
const slurEndReplacements = {};
|
|
5054
5308
|
const clefState = {};
|
|
5055
5309
|
const transState = {};
|
|
5056
5310
|
for (let pi = 0; pi < partInfos.length; pi++) {
|
|
@@ -5123,7 +5377,7 @@ var encode = (doc, options = {}) => {
|
|
|
5123
5377
|
if (openTag)
|
|
5124
5378
|
mei += openTag;
|
|
5125
5379
|
const measureIndent = segDecomp ? `${mIndent}${indent}` : mIndent;
|
|
5126
|
-
mei += encodeMeasure(measure, mIndex, measureIndent, totalStaves, tieState, slurState, hairpinState, ottavaState, currentKey, partInfos, clefState, octaveEndReplacements, measureIds, glissState, omitStates.barHidden[mi], currentTimeDen);
|
|
5380
|
+
mei += encodeMeasure(measure, mIndex, measureIndent, totalStaves, tieState, slurState, hairpinState, ottavaState, currentKey, partInfos, clefState, octaveEndReplacements, measureIds, glissState, omitStates.barHidden[mi], currentTimeDen, slurEndReplacements);
|
|
5127
5381
|
const closeTag = segCloseAt.get(mIndex);
|
|
5128
5382
|
if (closeTag)
|
|
5129
5383
|
mei += closeTag;
|
|
@@ -5173,6 +5427,9 @@ var encode = (doc, options = {}) => {
|
|
|
5173
5427
|
for (const [token, endId] of Object.entries(octaveEndReplacements)) {
|
|
5174
5428
|
mei = mei.replaceAll(token, endId);
|
|
5175
5429
|
}
|
|
5430
|
+
for (const [token, endId] of Object.entries(slurEndReplacements)) {
|
|
5431
|
+
mei = mei.replaceAll(token, endId);
|
|
5432
|
+
}
|
|
5176
5433
|
return mei;
|
|
5177
5434
|
};
|
|
5178
5435
|
var escapeXml = (text) => {
|