// This program was compiled from OCaml by js_of_ocaml 1.0 function caml_raise_with_arg (tag, arg) { throw [0, tag, arg]; } function caml_raise_with_string (tag, msg) { caml_raise_with_arg (tag, new MlWrappedString (msg)); } function caml_invalid_argument (msg) { caml_raise_with_string(caml_global_data[4], msg); } function caml_array_bound_error () { caml_invalid_argument("index out of bounds"); } function caml_str_repeat(n, s) { if (!n) { return ""; } if (n & 1) { return caml_str_repeat(n - 1, s) + s; } var r = caml_str_repeat(n >> 1, s); return r + r; } function MlString(param) { if (param != null) { this.bytes = this.fullBytes = param; this.last = this.len = param.length; } } MlString.prototype = { string:null, bytes:null, fullBytes:null, array:null, len:null, last:0, toJsString:function() { return this.string = decodeURIComponent (escape(this.getFullBytes())); }, toBytes:function() { if (this.string != null) var b = unescape (encodeURIComponent (this.string)); else { var b = "", a = this.array, l = a.length; for (var i = 0; i < l; i ++) b += String.fromCharCode (a[i]); } this.bytes = this.fullBytes = b; this.last = this.len = b.length; return b; }, getBytes:function() { var b = this.bytes; if (b == null) b = this.toBytes(); return b; }, getFullBytes:function() { var b = this.fullBytes; if (b !== null) return b; b = this.bytes; if (b == null) b = this.toBytes (); if (this.last < this.len) { this.bytes = (b += caml_str_repeat(this.len - this.last, '\0')); this.last = this.len; } this.fullBytes = b; return b; }, toArray:function() { var b = this.bytes; if (b == null) b = this.toBytes (); var a = [], l = this.last; for (var i = 0; i < l; i++) a[i] = b.charCodeAt(i); for (l = this.len; i < l; i++) a[i] = 0; this.string = this.bytes = this.fullBytes = null; this.last = this.len; this.array = a; return a; }, getArray:function() { var a = this.array; if (!a) a = this.toArray(); return a; }, getLen:function() { var len = this.len; if (len !== null) return len; this.toBytes(); return this.len; }, toString:function() { var s = this.string; return s?s:this.toJsString(); }, valueOf:function() { var s = this.string; return s?s:this.toJsString(); }, blitToArray:function(i1, a2, i2, l) { var a1 = this.array; if (a1) for (var i = 0; i < l; i++) a2 [i2 + i] = a1 [i1 + i]; else { var b = this.bytes; if (b == null) b = this.toBytes(); var l1 = this.last - i1; if (l <= l1) for (var i = 0; i < l; i++) a2 [i2 + i] = b.charCodeAt(i1 + i); else { for (var i = 0; i < l1; i++) a2 [i2 + i] = b.charCodeAt(i1 + i); for (; i < l; i++) a2 [i2 + i] = 0; } } }, get:function (i) { var a = this.array; if (a) return a[i]; var b = this.bytes; if (b == null) b = this.toBytes(); return (i<this.last)?b.charCodeAt(i):0; }, safeGet:function (i) { if (!this.len) this.toBytes(); if ((i < 0) || (i >= this.len)) caml_array_bound_error (); return this.get(i); }, set:function (i, c) { var a = this.array; if (!a) { if (this.last == i) { this.bytes += String.fromCharCode (c & 0xff); this.last ++; return 0; } a = this.toArray(); } else if (this.bytes != null) { this.bytes = this.fullBytes = this.string = null; } a[i] = c & 0xff; return 0; }, safeSet:function (i, c) { if (this.len == null) this.toBytes (); if ((i < 0) || (i >= this.len)) caml_array_bound_error (); this.set(i, c); }, fill:function (ofs, len, c) { if (ofs >= this.last && this.last && c == 0) return; var a = this.array; if (!a) a = this.toArray(); else if (this.bytes != null) { this.bytes = this.fullBytes = this.string = null; } var l = ofs + len; for (var i = ofs; i < l; i++) a[i] = c; }, compare:function (s2) { if (this.string != null && s2.string != null) { if (this.string < s2.string) return -1; if (this.string > s2.string) return 1; return 0; } var b1 = this.getFullBytes (); var b2 = s2.getFullBytes (); if (b1 < b2) return -1; if (b1 > b2) return 1; return 0; }, equal:function (s2) { if (this.string != null && s2.string != null) return this.string == s2.string; return this.getFullBytes () == s2.getFullBytes (); }, lessThan:function (s2) { if (this.string != null && s2.string != null) return this.string < s2.string; return this.getFullBytes () < s2.getFullBytes (); }, lessEqual:function (s2) { if (this.string != null && s2.string != null) return this.string <= s2.string; return this.getFullBytes () <= s2.getFullBytes (); } } function MlWrappedString (s) { this.string = s; } MlWrappedString.prototype = new MlString(); function MlMakeString (l) { this.bytes = ""; this.len = l; } MlMakeString.prototype = new MlString (); function caml_array_get (array, index) { if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error(); return array[index+1]; } function caml_array_set (array, index, newval) { if ((index < 0) || (index >= array.length - 1)) caml_array_bound_error(); array[index+1]=newval; return 0; } function caml_blit_string(s1, i1, s2, i2, len) { if (len === 0) return; if (i2 === s2.last && s2.bytes != null) { var b = s1.bytes; if (b == null) b = s1.toBytes (); if (i1 > 0 || s1.last > len) b = b.slice(i1, i1 + len); s2.bytes += b; s2.last += b.length; return; } var a = s2.array; if (!a) a = s2.toArray(); else { s2.bytes = s2.string = null; } s1.blitToArray (i1, a, i2, len); } function caml_call_gen(f, args) { if(f.fun) return caml_call_gen(f.fun, args); var n = f.length; var d = n - args.length; if (d == 0) return f.apply(null, args); else if (d < 0) return caml_call_gen(f.apply(null, args.slice(0,n)), args.slice(n)); else return function (x){ return caml_call_gen(f, args.concat([x])); }; } function caml_classify_float (x) { if (isFinite (x)) { if (Math.abs(x) >= 2.2250738585072014e-308) return 0; if (x != 0) return 1; return 2; } return isNaN(x)?4:3; } function caml_create_string(len) { if (len < 0) caml_invalid_argument("String.create"); return new MlMakeString(len); } function caml_int64_compare(x,y) { var x3 = x[3] << 16; var y3 = y[3] << 16; if (x3 > y3) return 1; if (x3 < y3) return -1; if (x[2] > y[2]) return 1; if (x[2] < y[2]) return -1; if (x[1] > y[1]) return 1; if (x[1] < y[1]) return -1; return 0; } function caml_int_compare (a, b) { if (a < b) return (-1); if (a == b) return 0; return 1; } function caml_compare_val (a, b, total) { var stack = []; for(;;) { if (!(total && a === b)) { if (a instanceof MlString) { if (b instanceof MlString) { if (a != b) { var x = a.compare(b); if (x != 0) return x; } } else return 1; } else if (a instanceof Array && a[0] === (a[0]|0)) { var ta = a[0]; if (ta === 250) { a = a[1]; continue; } else if (b instanceof Array && b[0] === (b[0]|0)) { var tb = b[0]; if (tb === 250) { b = b[1]; continue; } else if (ta != tb) { return (ta < tb)?-1:1; } else { switch (ta) { case 248: { var x = caml_int_compare(a[2], b[2]); if (x != 0) return x; break; } case 255: { var x = caml_int64_compare(a, b); if (x != 0) return x; break; } default: if (a.length != b.length) return (a.length < b.length)?-1:1; if (a.length > 1) stack.push(a, b, 1); } } } else return 1; } else if (b instanceof MlString || (b instanceof Array && b[0] === (b[0]|0))) { return -1; } else { if (a < b) return -1; if (a > b) return 1; if (total && a != b) { if (a == a) return 1; if (b == b) return -1; } } } if (stack.length == 0) return 0; var i = stack.pop(); b = stack.pop(); a = stack.pop(); if (i + 1 < a.length) stack.push(a, b, i + 1); a = a[i]; b = b[i]; } } function caml_equal (x, y) { return +(caml_compare_val(x,y,false) == 0); } function caml_fill_string(s, i, l, c) { s.fill (i, l, c); } function caml_parse_format (fmt) { fmt = fmt.toString (); var len = fmt.length; if (len > 31) caml_invalid_argument("format_int: format too long"); var f = { justify:'+', signstyle:'-', filler:' ', alternate:false, base:0, signedconv:false, width:0, uppercase:false, sign:1, prec:-1, conv:'f' }; for (var i = 0; i < len; i++) { var c = fmt.charAt(i); switch (c) { case '-': f.justify = '-'; break; case '+': case ' ': f.signstyle = c; break; case '0': f.filler = '0'; break; case '#': f.alternate = true; break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': f.width = 0; while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) { f.width = f.width * 10 + c; i++ } i--; break; case '.': f.prec = 0; i++; while (c=fmt.charCodeAt(i) - 48, c >= 0 && c <= 9) { f.prec = f.prec * 10 + c; i++ } i--; case 'd': case 'i': f.signedconv = true; /* fallthrough */ case 'u': f.base = 10; break; case 'x': f.base = 16; break; case 'X': f.base = 16; f.uppercase = true; break; case 'o': f.base = 8; break; case 'e': case 'f': case 'g': f.signedconv = true; f.conv = c; break; case 'E': case 'F': case 'G': f.signedconv = true; f.uppercase = true; f.conv = c.toLowerCase (); break; } } return f; } function caml_finish_formatting(f, rawbuffer) { if (f.uppercase) rawbuffer = rawbuffer.toUpperCase(); var len = rawbuffer.length; if (f.signedconv && (f.sign < 0 || f.signstyle != '-')) len++; if (f.alternate) { if (f.base == 8) len += 1; if (f.base == 16) len += 2; } var buffer = ""; if (f.justify == '+' && f.filler == ' ') for (var i = len; i < f.width; i++) buffer += ' '; if (f.signedconv) { if (f.sign < 0) buffer += '-'; else if (f.signstyle != '-') buffer += f.signstyle; } if (f.alternate && f.base == 8) buffer += '0'; if (f.alternate && f.base == 16) buffer += "0x"; if (f.justify == '+' && f.filler == '0') for (var i = len; i < f.width; i++) buffer += '0'; buffer += rawbuffer; if (f.justify == '-') for (var i = len; i < f.width; i++) buffer += ' '; return new MlWrappedString (buffer); } function caml_format_float (fmt, x) { var s, f = caml_parse_format(fmt); var prec = (f.prec < 0)?6:f.prec; if (x < 0) { f.sign = -1; x = -x; } if (isNaN(x)) { s = "nan"; f.filler = ' '; } else if (!isFinite(x)) { s = "inf"; f.filler = ' '; } else switch (f.conv) { case 'e': var s = x.toExponential(prec); var i = s.length; if (s.charAt(i - 3) == 'e') s = s.slice (0, i - 1) + '0' + s.slice (i - 1); break; case 'f': s = x.toFixed(prec); break; case 'g': prec = prec?prec:1; s = x.toExponential(prec - 1); var j = s.indexOf('e'); var exp = +s.slice(j + 1); if (exp < -4 || x.toFixed(0).length > prec) { var i = j - 1; while (s.charAt(i) == '0') i--; if (s.charAt(i) == '.') i--; s = s.slice(0, i + 1) + s.slice(j); i = s.length; if (s.charAt(i - 3) == 'e') s = s.slice (0, i - 1) + '0' + s.slice (i - 1); break; } else { var p = prec; if (exp < 0) { p -= exp + 1; s = x.toFixed(p); } else while (s = x.toFixed(p), s.length > prec + 1) p--; if (p) { var i = s.length - 1; while (s.charAt(i) == '0') i--; if (s.charAt(i) == '.') i--; s = s.slice(0, i + 1); } } break; } return caml_finish_formatting(f, s); } function caml_format_int(fmt, i) { if (fmt.toString() == "%d") return new MlWrappedString(""+i); var f = caml_parse_format(fmt); if (i < 0) { if (f.signedconv) { f.sign = -1; i = -i; } else i >>>= 0; } var s = i.toString(f.base); if (f.prec >= 0) { f.filler = ' '; var n = f.prec - s.length; if (n > 0) s = caml_str_repeat (n, '0') + s; } return caml_finish_formatting(f, s); } function caml_get_exception_backtrace () { caml_invalid_argument ("Primitive 'caml_get_exception_backtrace' not implemented"); } function caml_compare (a, b) { return caml_compare_val (a, b, true); } function caml_greaterequal (x, y) { return +(caml_compare(x,y,false) >= 0); } function caml_int64_is_negative(x) { return (x[3] << 16) < 0; } function caml_int64_neg (x) { var y1 = - x[1]; var y2 = - x[2] + (y1 >> 24); var y3 = - x[3] + (y2 >> 24); return [255, y1 & 0xffffff, y2 & 0xffffff, y3 & 0xffff]; } function caml_int64_of_int32 (x) { return [255, x & 0xffffff, (x >> 24) & 0xffffff, (x >> 31) & 0xffff] } function caml_int64_ucompare(x,y) { if (x[3] > y[3]) return 1; if (x[3] < y[3]) return -1; if (x[2] > y[2]) return 1; if (x[2] < y[2]) return -1; if (x[1] > y[1]) return 1; if (x[1] < y[1]) return -1; return 0; } function caml_int64_lsl1 (x) { x[3] = (x[3] << 1) | (x[2] >> 23); x[2] = ((x[2] << 1) | (x[1] >> 23)) & 0xffffff; x[1] = (x[1] << 1) & 0xffffff; } function caml_int64_lsr1 (x) { x[1] = ((x[1] >>> 1) | (x[2] << 23)) & 0xffffff; x[2] = ((x[2] >>> 1) | (x[3] << 23)) & 0xffffff; x[3] = x[3] >>> 1; } function caml_int64_sub (x, y) { var z1 = x[1] - y[1]; var z2 = x[2] - y[2] + (z1 >> 24); var z3 = x[3] - y[3] + (z2 >> 24); return [255, z1 & 0xffffff, z2 & 0xffffff, z3 & 0xffff]; } function caml_int64_udivmod (x, y) { var offset = 0; var modulus = x.slice (); var divisor = y.slice (); var quotient = [255, 0, 0, 0]; while (caml_int64_ucompare (modulus, divisor) > 0) { offset++; caml_int64_lsl1 (divisor); } while (offset >= 0) { offset --; caml_int64_lsl1 (quotient); if (caml_int64_ucompare (modulus, divisor) >= 0) { quotient[1] ++; modulus = caml_int64_sub (modulus, divisor); } caml_int64_lsr1 (divisor); } return [0,quotient, modulus]; } function caml_int64_to_int32 (x) { return x[1] | (x[2] << 24); } function caml_int64_is_zero(x) { return (x[3]|x[2]|x[1]) == 0; } function caml_int64_format (fmt, x) { var f = caml_parse_format(fmt); if (f.signedconv && caml_int64_is_negative(x)) { f.sign = -1; x = caml_int64_neg(x); } var buffer = ""; var wbase = caml_int64_of_int32(f.base); var cvtbl = "0123456789abcdef"; do { var p = caml_int64_udivmod(x, wbase); x = p[1]; buffer = cvtbl.charAt(caml_int64_to_int32(p[2])) + buffer; } while (! caml_int64_is_zero(x)); if (f.prec >= 0) { f.filler = ' '; var n = f.prec - buffer.length; if (n > 0) buffer = caml_str_repeat (n, '0') + buffer; } return caml_finish_formatting(f, buffer); } function caml_parse_sign_and_base (s) { var i = 0, base = 10, sign = s.get(0) == 45?(i++,-1):1; if (s.get(i) == 48) switch (s.get(i + 1)) { case 120: case 88: base = 16; i += 2; break; case 111: case 79: base = 8; i += 2; break; case 98: case 66: base = 2; i += 2; break; } return [i, sign, base]; } function caml_parse_digit(c) { if (c >= 48 && c <= 57) return c - 48; if (c >= 65 && c <= 90) return c - 55; if (c >= 97 && c <= 122) return c - 87; return -1; } var caml_global_data = [0]; function caml_failwith (msg) { caml_raise_with_string(caml_global_data[3], msg); } function caml_int_of_string (s) { var r = caml_parse_sign_and_base (s); var i = r[0], sign = r[1], base = r[2]; var threshold = -1 >>> 0; var c = s.get(i); var d = caml_parse_digit(c); if (d < 0 || d >= base) caml_failwith("int_of_string"); var res = d; for (;;) { i++; c = s.get(i); if (c == 95) continue; d = caml_parse_digit(c); if (d < 0 || d >= base) break; res = base * res + d; if (res > threshold) caml_failwith("int_of_string"); } if (i != s.getLen()) caml_failwith("int_of_string"); res = sign * res; if ((res | 0) != res) caml_failwith("int_of_string"); return res; } function caml_is_printable(c) { return +(c > 31 && c < 127); } var caml_js_regexps = { amp:/&/g, lt:/</g, quot:/\"/g, all:/[&<\"]/ }; function caml_js_html_escape (s) { if (!caml_js_regexps.all.test(s)) return s; return s.replace(caml_js_regexps.amp, "&") .replace(caml_js_regexps.lt, "<") .replace(caml_js_regexps.quot, """); } function caml_js_on_ie () { var ua = window.navigator?window.navigator.userAgent:""; return ua.indexOf("MSIE") != -1 && ua.indexOf("Opera") != 0; } function caml_js_wrap_callback(f) { var toArray = Array.prototype.slice; return function () { var args = (arguments.length > 0)?toArray.call (arguments):[undefined]; return caml_call_gen(f, args); } } function caml_lessequal (x, y) { return +(caml_compare(x,y,false) <= 0); } function caml_lessthan (x, y) { return +(caml_compare(x,y,false) < 0); } function caml_lex_array(s) { s = s.getFullBytes(); var a = [], l = s.length / 2; for (var i = 0; i < l; i++) a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16; return a; } function caml_lex_engine(tbl, start_state, lexbuf) { var lex_buffer = 2; var lex_buffer_len = 3; var lex_start_pos = 5; var lex_curr_pos = 6; var lex_last_pos = 7; var lex_last_action = 8; var lex_eof_reached = 9; var lex_base = 1; var lex_backtrk = 2; var lex_default = 3; var lex_trans = 4; var lex_check = 5; if (!tbl.lex_default) { tbl.lex_base = caml_lex_array (tbl[lex_base]); tbl.lex_backtrk = caml_lex_array (tbl[lex_backtrk]); tbl.lex_check = caml_lex_array (tbl[lex_check]); tbl.lex_trans = caml_lex_array (tbl[lex_trans]); tbl.lex_default = caml_lex_array (tbl[lex_default]); } var c, state = start_state; var buffer = lexbuf[lex_buffer].getArray(); if (state >= 0) { lexbuf[lex_last_pos] = lexbuf[lex_start_pos] = lexbuf[lex_curr_pos]; lexbuf[lex_last_action] = -1; } else { state = -state - 1; } for(;;) { var base = tbl.lex_base[state]; if (base < 0) return -base-1; var backtrk = tbl.lex_backtrk[state]; if (backtrk >= 0) { lexbuf[lex_last_pos] = lexbuf[lex_curr_pos]; lexbuf[lex_last_action] = backtrk; } if (lexbuf[lex_curr_pos] >= lexbuf[lex_buffer_len]){ if (lexbuf[lex_eof_reached] == 0) return -state - 1; else c = 256; }else{ c = buffer[lexbuf[lex_curr_pos]]; lexbuf[lex_curr_pos] ++; } if (tbl.lex_check[base + c] == state) state = tbl.lex_trans[base + c]; else state = tbl.lex_default[state]; if (state < 0) { lexbuf[lex_curr_pos] = lexbuf[lex_last_pos]; if (lexbuf[lex_last_action] == -1) caml_failwith("lexing: empty token"); else return lexbuf[lex_last_action]; }else{ /* Erase the EOF condition only if the EOF pseudo-character was consumed by the automaton (i.e. there was no backtrack above) */ if (c == 256) lexbuf[lex_eof_reached] = 0; } } } function caml_make_vect (len, init) { var b = [0]; for (var i = 1; i <= len; i++) b[i] = init; return b; } function caml_ml_flush () { return 0; } function caml_ml_open_descriptor_out () { return 0; } function caml_ml_out_channels_list () { return 0; } function caml_ml_output () { return 0; } function caml_mul(x,y) { return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|0; } function caml_notequal (x, y) { return +(caml_compare_val(x,y,false) != 0); } function caml_obj_is_block (x) { return +(x instanceof Array); } function caml_obj_tag (x) { return (x instanceof Array)?x[0]:1000; } function caml_register_global (n, v) { caml_global_data[n + 1] = v; } var caml_named_values = {}; function caml_register_named_value(nm,v) { caml_named_values[nm] = v; return 0; } function caml_string_equal(s1, s2) { var b1 = s1.fullBytes; var b2 = s2.fullBytes; if (b1 != null && b2 != null) return (b1 == b2)?1:0; return (s1.getFullBytes () == s2.getFullBytes ())?1:0; } function caml_string_notequal(s1, s2) { return 1-caml_string_equal(s1, s2); } function caml_sys_get_config () { return [0, new MlWrappedString("Unix"), 32]; } function caml_update_dummy (x, y) { if( typeof y==="function" ) { x.fun = y; return 0; } if( y.fun ) { x.fun = y.fun; return 0; } var i = y.length; while (i--) x[i] = y[i]; return 0; } (function() {function _jc_(_w3_,_w4_,_w5_,_w6_,_w7_,_w8_,_w9_) {return _w3_.length==6 ?_w3_(_w4_,_w5_,_w6_,_w7_,_w8_,_w9_) :caml_call_gen(_w3_,[_w4_,_w5_,_w6_,_w7_,_w8_,_w9_]);} function _mM_(_wX_,_wY_,_wZ_,_w0_,_w1_,_w2_) {return _wX_.length==5 ?_wX_(_wY_,_wZ_,_w0_,_w1_,_w2_) :caml_call_gen(_wX_,[_wY_,_wZ_,_w0_,_w1_,_w2_]);} function _ij_(_wS_,_wT_,_wU_,_wV_,_wW_) {return _wS_.length==4 ?_wS_(_wT_,_wU_,_wV_,_wW_) :caml_call_gen(_wS_,[_wT_,_wU_,_wV_,_wW_]);} function _eL_(_wO_,_wP_,_wQ_,_wR_) {return _wO_.length==3 ?_wO_(_wP_,_wQ_,_wR_) :caml_call_gen(_wO_,[_wP_,_wQ_,_wR_]);} function _fe_(_wL_,_wM_,_wN_) {return _wL_.length==2?_wL_(_wM_,_wN_):caml_call_gen(_wL_,[_wM_,_wN_]);} function _ce_(_wJ_,_wK_) {return _wJ_.length==1?_wJ_(_wK_):caml_call_gen(_wJ_,[_wK_]);} var _a_=[0,new MlString("Failure")], _b_=[0,new MlString("Invalid_argument")], _c_=[0,new MlString("Not_found")], _d_=[0,new MlString("Assert_failure")], _e_=[0,new MlString(""),1,0,0], _f_=new MlString("File \"%s\", line %d, characters %d-%d: %s"), _g_=new MlString("textarea"), _h_= [0, new MlString ("\0\0\x01\0\x02\0\x01\0\x01\0\x01\0\x02\0\x05\0\x01\0\xff\xff\x03\0\x04\0\x06\0\x07\0\xfe\xff\x03\0\x04\0\x06\0\xfb\xff\x02\0\x03\0\x07\0\xfa\xff\b\0\xf8\xff\x0b\0\xee\xff/\0\x14\0.\0F\0U\0l\0\x9b\0\xc1\0\xd0\0\b\x01\x19\x01M\x01\f\0\xff\xff\xfe\xff\xfd\xff\xfc\xff\r\0S\x01@\0B\0J\0\xfa\xffx\0\xfb\xff\xf9\xff\x82\x01\xaa\x01\xba\x01 \x020\x02i\x02W\x02\x82\x02\x93\x02\xf7\xffj\0\x1f\0P\0a\0\x87\0\xf6\xff\xad\0\xb6\0\x0b\0\xf4\xff\xf1\xff\xf3\xff\x0f\0\xd2\0'\x01\x10\0\xfd\xff\xab\0\xfe\xff\xcc\0q\x01\xd7\0\xe2\0\xef\0\xff\xff\x11\0\x0e\x01\xf3\0\x12\0"), new MlString ("\b\0\x06\0\xff\xff\xff\xff\x03\0\x02\0\x01\0\xff\xff\0\0\xff\xff\x01\0\x01\0\x01\0\x01\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\0\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\xff\xff\xff\xff\x0f\0\r\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\x0f\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\0\x0f\0\x0f\0\x0f\0\x07\0\x07\0\xff\xff\x0f\0\x0f\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\n\0\n\0\xff\xff\xff\xff\xff\xff\f\0\xff\xff\xff\xff\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\x01\0"), new MlString ("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\x1b\0\0\0\x1b\0\xff\xffH\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\x1b\0/\0/\0/\0\0\0/\0\0\0\0\0\x1b\0\x1b\0\x1b\0:\x009\0:\x009\0\x1b\0\x1b\0\0\0A\0@\0A\0B\0B\0\0\0@\0@\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xffP\0\xff\xff\0\0P\0\0\0P\0P\0P\0P\0P\0\0\0\xff\xffP\0P\0\xff\xff"), new MlString ("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\t\0\t\0\x12\0\b\0\x07\0\x11\0\x12\0\x16\0\x16\0\x13\0\x17\0(\0(\0+\0'\0J\0O\0W\0Q\0L\0J\0\0\0\x07\0K\0\0\0\x04\0\x04\0\x07\0\x11\0\0\0\x04\0\xff\xff\x05\0\x05\0\xff\xff\x03\0\x0f\0\x05\0\x10\0\x11\0\x03\0\0\0L\0&\0\0\0\xff\xff\xff\xff\xff\xff%\0\xff\xff\xff\xff\x06\0\x18\0\n\0\x0b\0\f\0\x06\0\r\0\x0e\0\0\0\0\0\0\0$\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffI\0\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0#\0\x1f\0\"\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff \0\0\0!\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\x02\0\x01\0\x14\0\x15\0\xff\xff\x02\0\x01\0\xff\xff\xff\xff\xff\xff\xff\xff\x1e\0\x1c\0G\0\x1d\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xffE\x000\0\0\x002\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff>\0\xff\xff\0\0\0\0O\0\0\0\xff\xffN\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff1\0\0\0\xff\xff?\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffB\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff3\0O\0\0\0\xff\xffN\0\xff\xffL\0J\0\xff\xffC\0K\0<\0O\0\0\0\0\0N\0@\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xffO\0\0\0\0\0N\0\xff\xff\0\0L\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xffW\0\xff\xff\0\0X\0Q\0\xff\xff\xff\xff[\0\xff\xff\0\0\xff\xffD\0\0\0\x12\0\x16\0\0\0\0\0\0\0\x1a\0\0\0\xff\xff\0\x005\0\0\0-\0+\0\0\0J\0,\0\xff\xff\xff\xffO\0\xff\xff\0\0N\0\xff\xff\xff\xff4\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff-\0\xff\xffF\0.\0\xff\xff\xff\xff\xff\xff\xff\xffS\0O\0\xff\xffG\0N\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0$\0\xff\xffS\0*\0Y\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0U\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0-\0+\0\0\0V\0,\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0-\0\xff\xff\xff\xff\xff\xff)\0\xff\xff\0\0S\0O\0\xff\xff\xff\xffN\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xffZ\0\xff\xff\0\0\0\0\xff\xff\xff\xffS\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0R\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xffO\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xffO\0\0\0\xff\xff\xff\xff\xff\xff\xff\xffJ\0\0\0\xff\xff\0\0\0\0O\0\0\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0O\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0T\0W\0\0\0\0\0\0\0Q\x008\0\0\x006\0\xff\xff\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff+\0\0\0\0\0\0\0\0\0\0\0O\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff7\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xffQ\0\xff\xff\x1b\0\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\x1b\x008\x008\0\0\0\0\0\0\0\0\x008\0\0\0\0\x009\0\0\x008\0\xff\xff8\x009\0\xff\xff;\0;\0+\0\0\0\0\0\0\0;\0\0\0\0\x008\x008\0;\x009\0;\x008\0\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0;\0;\0\0\0\0\0\0\0;\0\0\0O\0\x1b\0\xff\xff\0\0\0\0\xff\xff\xff\xff;\0;\0\0\x009\x009\x009\0;\0\0\0\0\0\0\0\xff\xff;\0\0\0;\x009\0\0\x009\0\x1b\x008\x008\0\xff\xff\0\0\0\0\xff\xff8\0;\0;\x009\0\0\x008\0;\x008\x009\0\0\0\0\x009\x009\0\xff\xff9\0\0\0\xff\xff\0\0\0\x008\x008\0\0\x009\0\0\x008\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\0\x009\x009\x009\0\0\0\0\0\0\0\0\0\0\0\0\x008\0\0\x009\0\xff\xff9\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\x009\x009\0\0\x009\0\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0=\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff"), new MlString ("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\b\0\x13\0\0\0\x07\0\x11\0\x11\0\x15\0\x17\0\x11\0\x15\0\x19\0'\0,\0\x19\0K\0N\0X\0[\0\x1c\0\x1c\0\xff\xff\0\0\x1c\0\xff\xff\0\0\x04\0\x07\0\x11\0\xff\xff\x07\0@\0\0\0\x05\0@\0\0\0\x03\0\x07\0\x0f\0\x10\0\x07\0\xff\xff\x1c\0\x19\0\xff\xff\x1d\0\x1d\0\x1b\0\x19\0\x1d\0\x1b\0\0\0\x01\0\x06\0\n\0\x0b\0\x07\0\f\0\r\0\xff\xff\xff\xff\xff\xff\x19\0\xff\xff.\0\xff\xff/\0.\0\x1d\0/\0\x1e\0\x1c\0\xff\xff\x1e\x000\0\xff\xff\xff\xff0\0\xff\xff\x1b\0A\0\xff\xff\xff\xffA\0\x1b\0\x1f\0\xff\xff\xff\xff\x1f\0\xff\xff\xff\xff\xff\xff\x19\0\x19\0\x19\0\xff\xff\xff\xffB\0\x1b\0\xff\xffB\0\xff\xff\x1e\0\x19\0\xff\xff\x19\0?\0\x1e\0 \0?\0\xff\xff \0\xff\xff\0\0\0\0\x02\0\x14\0\x1f\0\x07\0\x07\x002\0\x1e\0\x1f\x002\0\x19\0\x19\0G\0\x19\0\x1b\0\x1b\0\x1b\0\xff\xff\xff\xff\xff\xff\xff\xffC\0\x1f\0\xff\xffC\0\x1b\0 \0\x1b\0\xff\xff\xff\xff\xff\xff \0@\0.\0\xff\xff/\0\xff\xff\x1e\0\x1e\0\x1e\0\xff\xff!\0\xff\xff0\0!\0 \0\x1b\0\x1b\0\x1e\0\x1b\0\x1e\0\xff\xff\x1f\0\x1f\0\x1f\0\xff\xff\xff\xffP\0\xff\xffE\0P\0\xff\xffE\0\x1f\0.\0\x1f\0/\0\xff\xffF\0\x1e\0\x1e\0F\0\x1e\0!\x000\0 \0 \0 \0!\0\"\0A\0\xff\xff\"\0\xff\xff\x1f\0\x1f\0 \0\x1f\0 \x002\0R\0\xff\xff!\0R\0#\0L\0L\0#\0B\0L\0 \0T\0\xff\xff\xff\xffT\0?\0?\0 \0 \0\xff\xff \0\"\0U\0\xff\xff\xff\xffU\0\"\0\xff\xffL\0\xff\xff2\0\xff\xff!\0!\0!\0V\0#\0\xff\xffV\0Z\0\"\0#\0Z\0!\0\xff\xff!\0C\0\xff\xff\x11\0\x15\0\xff\xff\xff\xff\xff\xff\x19\0\xff\xff#\0\xff\xff!\0\xff\xff$\0$\0\xff\xff\x1c\0$\0!\0!\0Y\0!\0\xff\xffY\0\"\0\"\0\"\0@\0\xff\xff\xff\xff\xff\xff%\0\xff\xff\xff\xff%\0\"\0$\0\"\0E\0#\0#\0#\0\x1d\0\x1b\0M\0M\0$\0F\0M\0\xff\xff#\0$\0#\0\xff\xff\xff\xff\xff\xff\"\0\"\0\xff\xff\"\0.\0\xff\xff/\0%\0\xff\xff$\0\x1e\0M\0%\0R\x000\0#\0#\0\xff\xff#\0\xff\xffA\0\xff\xff\xff\xff\xff\xffT\0\x1f\0%\0&\0\xff\xff\xff\xff&\0\xff\xff-\0-\0\xff\xffU\0-\0B\0\xff\xff$\0$\0$\0\xff\xff\xff\xff\xff\xff\xff\xff?\0\xff\xff \0\xff\xff$\0\xff\xff$\0\xff\xff\xff\xff-\0%\0%\0%\0&\x002\0\xff\xffS\0S\0&\0-\0S\0%\0\xff\xff%\0-\0$\0$\0\xff\xff$\0C\0\xff\xff\xff\xff&\0Y\x005\0\xff\xff\xff\xff5\0-\0S\0\xff\xff\xff\xff%\0%\0\xff\xff%\0\xff\xff\xff\xff\xff\xff!\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffM\0\xff\xff\xff\xff\xff\xff&\0&\0&\0P\x005\0E\0-\0-\0-\x005\0\xff\xff&\x006\0&\0F\x006\0\xff\xff-\0\xff\xff-\0\xff\xff\xff\xff\xff\xff5\0\xff\xff\"\0\xff\xff\xff\xff7\0\xff\xff\xff\xff7\0&\0&\0\xff\xff&\0R\0\xff\xff-\0-\0#\0-\0L\0\xff\xff6\0\xff\xff\xff\xffT\0\xff\xff6\0\xff\xff\xff\xff\xff\xff5\x005\x005\0\xff\xff\xff\xffU\0\xff\xff7\0\xff\xff\xff\xff6\x005\x007\x005\0\xff\xff\xff\xff\xff\xffS\0V\0\xff\xff\xff\xff\xff\xffZ\x007\0\xff\xff5\x007\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff5\x005\0\xff\xff5\0\xff\xff\xff\xff\xff\xff\xff\xff6\x006\x006\0$\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffY\0\xff\xff6\0\xff\xff6\0\xff\xff\xff\xff7\x007\x007\0\xff\xff%\x006\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\0\xff\xff7\0\xff\xff\xff\xff6\x006\0M\x006\x008\x008\0\xff\xff\xff\xff8\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\x007\0\xff\xff7\x009\x009\0\xff\xff\xff\xff9\0\xff\xff\xff\xff8\x008\x008\0\xff\xff\xff\xff\xff\xff\xff\xff8\0\xff\xff\xff\xff8\0\xff\xff8\0&\x008\x008\x009\x009\x009\0-\0\xff\xff\xff\xff\xff\xff9\0\xff\xff\xff\xff8\x008\x009\x008\x009\x008\0;\0;\0\xff\xff\xff\xff;\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff9\x009\0\xff\xff\xff\xff\xff\xff9\0\xff\xffS\0:\0:\0\xff\xff\xff\xff:\0;\0;\0;\0\xff\xff8\x008\x008\0;\0\xff\xff\xff\xff\xff\xff5\0;\0\xff\xff;\x008\0\xff\xff8\0:\0:\0:\0<\0\xff\xff\xff\xff<\0:\0;\0;\0:\0\xff\xff:\0;\0:\0:\0\xff\xff\xff\xff8\x008\0=\x008\0\xff\xff=\0\xff\xff\xff\xff:\0:\0\xff\xff:\0\xff\xff:\0\xff\xff6\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff7\0\xff\xff\xff\xff=\0\xff\xff<\0\xff\xff\xff\xff=\0\xff\xff:\0:\0:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0\xff\xff:\0=\0:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff<\0<\0<\0\xff\xff\xff\xff\xff\xff\xff\xff:\0:\0\xff\xff:\0<\0\xff\xff<\0\xff\xff\xff\xff\xff\xff=\0=\0=\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0\xff\xff=\0\xff\xff<\0<\0\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0=\0\xff\xff=\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff8\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff9\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff;\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff:\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff<\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff=\0"), new MlString(""), new MlString(""), new MlString(""), new MlString(""), new MlString(""), new MlString("")]; caml_register_global(5,[0,new MlString("Division_by_zero")]); caml_register_global(3,_b_); caml_register_global(2,_a_); var _bD_=[0,new MlString("Out_of_memory")], _bC_=[0,new MlString("Match_failure")], _bB_=[0,new MlString("Stack_overflow")], _bA_=[0,new MlString("Undefined_recursive_module")], _bz_=new MlString("output"), _by_=new MlString("%.12g"), _bx_=new MlString("."), _bw_=new MlString("%d"), _bv_=new MlString("true"), _bu_=new MlString("false"), _bt_=new MlString("Pervasives.do_at_exit"), _bs_=new MlString("\\b"), _br_=new MlString("\\t"), _bq_=new MlString("\\n"), _bp_=new MlString("\\r"), _bo_=new MlString("\\\\"), _bn_=new MlString("\\'"), _bm_=new MlString(""), _bl_=new MlString("String.blit"), _bk_=new MlString("String.sub"), _bj_=new MlString(""), _bi_=new MlString("Queue.Empty"), _bh_=new MlString("Buffer.add_substring"), _bg_=new MlString("Buffer.add: cannot grow buffer"), _bf_=new MlString(""), _be_=new MlString(""), _bd_=new MlString("\""), _bc_=new MlString("\""), _bb_=new MlString("'"), _ba_=new MlString("'"), _a$_=new MlString("."), _a__=new MlString("printf: bad positional specification (0)."), _a9_=new MlString("%_"), _a8_=[0,new MlString("printf.ml"),144,8], _a7_=new MlString("''"), _a6_=new MlString("Printf: premature end of format string ``"), _a5_=new MlString("''"), _a4_=new MlString(" in format string ``"), _a3_=new MlString(", at char number "), _a2_=new MlString("Printf: bad conversion %"), _a1_=new MlString("Sformat.index_of_int: negative argument "), _a0_=new MlString(""), _aZ_=new MlString(", %s%s"), _aY_=[1,1], _aX_=new MlString("%s\n"), _aW_= new MlString ("(Program not linked with -g, cannot print stack backtrace)\n"), _aV_=new MlString("Raised at"), _aU_=new MlString("Re-raised at"), _aT_=new MlString("Raised by primitive operation at"), _aS_=new MlString("Called from"), _aR_=new MlString("%s file \"%s\", line %d, characters %d-%d"), _aQ_=new MlString("%s unknown location"), _aP_=new MlString("Pattern matching failed"), _aO_=new MlString("Assertion failed"), _aN_=new MlString("Undefined recursive module"), _aM_=new MlString("(%s%s)"), _aL_=new MlString(""), _aK_=new MlString(""), _aJ_=new MlString("(%s)"), _aI_=new MlString("%d"), _aH_=new MlString("%S"), _aG_=new MlString("_"), _aF_=new MlString("bad box format"), _aE_=new MlString("bad box name ho"), _aD_=new MlString("bad tag name specification"), _aC_=new MlString("bad tag name specification"), _aB_=new MlString(""), _aA_=new MlString(""), _az_=new MlString(""), _ay_=new MlString("bad integer specification"), _ax_=new MlString("bad format"), _aw_=new MlString(" (%c)."), _av_=new MlString("%c"), _au_= new MlString ("Format.fprintf: %s ``%s'', giving up at character number %d%s"), _at_=[3,0,3], _as_=new MlString("."), _ar_=new MlString(">"), _aq_=new MlString("</"), _ap_=new MlString(">"), _ao_=new MlString("<"), _an_=new MlString("\n"), _am_=new MlString("Format.Empty_queue"), _al_=[0,new MlString("")], _ak_=[0,new MlString("src/core/lwt.ml"),648,20], _aj_=[0,new MlString("src/core/lwt.ml"),651,8], _ai_=[0,new MlString("src/core/lwt.ml"),498,8], _ah_=[0,new MlString("src/core/lwt.ml"),487,9], _ag_=new MlString("Lwt.wakeup_result"), _af_=new MlString("Lwt.Canceled"), _ae_=new MlString("img"), _ad_=new MlString("a"), _ac_=new MlString("br"), _ab_=new MlString("div"), _aa_=new MlString("\""), _$_=new MlString(" name=\""), ___=new MlString("\""), _Z_=new MlString(" type=\""), _Y_=new MlString("<"), _X_=new MlString(">"), _W_=new MlString(""), _V_=[0,new MlString("wikicreole.mll"),206,32], _U_=[0,new MlString("wikicreole.mll"),215,6], _T_=[0,new MlString("wikicreole.mll"),230,6], _S_=[0,new MlString("wikicreole.mll"),284,6], _R_=new MlString("*"), _Q_=new MlString("Unrecognized char '%s'@."), _P_=[5,0], _O_=[0,new MlString("wikicreole.mll"),157,6], _N_=new MlString("//"), _M_=new MlString("**"), _L_=new MlString("strong"), _K_=new MlString("em"), _J_=new MlString("br"), _I_=new MlString("tt"), _H_=new MlString("p"), _G_=new MlString("pre"), _F_=new MlString(""), _E_=new MlString("h1"), _D_=new MlString("h2"), _C_=new MlString("h3"), _B_=new MlString("h4"), _A_=new MlString("h5"), _z_=new MlString("h6"), _y_=new MlString("ul"), _x_=new MlString("ol"), _w_=new MlString("hr"), _v_=new MlString("th"), _u_=new MlString("td"), _t_=new MlString("tr"), _s_=new MlString("tbody"), _r_=new MlString("table"), _q_=new MlString("li"), _p_=[0,new MlString("main.ml"),37,17], _o_=new MlString("wiki_demo"), _n_=new MlString("1px black dashed"), _m_=new MlString("5px"), _l_=new MlString(""); function _k_(s_i_){throw [0,_a_,s_i_];} function _bE_(s_j_){throw [0,_b_,s_j_];} var max_int_bY_=(1<<31)-1|0; function _bP_(s1_bF_,s2_bH_) {var l1_bG_=s1_bF_.getLen(), l2_bI_=s2_bH_.getLen(), s_bJ_=caml_create_string(l1_bG_+l2_bI_|0); caml_blit_string(s1_bF_,0,s_bJ_,0,l1_bG_); caml_blit_string(s2_bH_,0,s_bJ_,l1_bG_,l2_bI_); return s_bJ_;} function string_of_int_bZ_(n_bK_){return caml_format_int(_bw_,n_bK_);} function string_of_float_b0_(f_bL_) {var _bM_=caml_format_float(_by_,f_bL_),i_bN_=0,l_bO_=_bM_.getLen(); for(;;) {if(l_bO_<=i_bN_) var _bQ_=_bP_(_bM_,_bx_); else {var _bR_=_bM_.safeGet(i_bN_), _bS_=48<=_bR_?58<=_bR_?0:1:45===_bR_?1:0; if(_bS_){var _bT_=i_bN_+1|0,i_bN_=_bT_;continue;} var _bQ_=_bM_;} return _bQ_;}} function _bV_(l1_bU_,l2_bW_) {if(l1_bU_) {var hd_bX_=l1_bU_[1];return [0,hd_bX_,_bV_(l1_bU_[2],l2_bW_)];} return l2_bW_;} var stderr_b1_=caml_ml_open_descriptor_out(2), stdout_ca_=caml_ml_open_descriptor_out(1); function flush_all_cb_(param_b5_) {var param_b2_=caml_ml_out_channels_list(0); for(;;) {if(param_b2_) {var l_b3_=param_b2_[2]; try {}catch(_b4_){} var param_b2_=l_b3_; continue;} return 0;}} function output_string_cc_(oc_b7_,s_b6_) {return caml_ml_output(oc_b7_,s_b6_,0,s_b6_.getLen());} var exit_function_cd_=[0,flush_all_cb_]; function output_ch_(oc_b$_,s_b__,ofs_b8_,len_b9_) {if(0<=ofs_b8_&&0<=len_b9_&&!((s_b__.getLen()-len_b9_|0)<ofs_b8_)) return caml_ml_output(oc_b$_,s_b__,ofs_b8_,len_b9_); return _bE_(_bz_);} function do_at_exit_cg_(param_cf_){return _ce_(exit_function_cd_[1],0);} caml_register_named_value(_bt_,do_at_exit_cg_); function _cm_(_cj_,_ci_){return caml_ml_output_char(_cj_,_ci_);} function _cl_(_ck_){return caml_ml_flush(_ck_);} function _cB_(l_cn_) {var l1_co_=l_cn_,l2_cp_=0; for(;;) {if(l1_co_) {var l_cq_=l1_co_[2], _cr_=[0,l1_co_[1],l2_cp_], l1_co_=l_cq_, l2_cp_=_cr_; continue;} return l2_cp_;}} function _cv_(f_ct_,param_cs_) {if(param_cs_) {var l_cu_=param_cs_[2],r_cw_=_ce_(f_ct_,param_cs_[1]); return [0,r_cw_,_cv_(f_ct_,l_cu_)];} return 0;} function _cC_(f_cz_,param_cx_) {var param_cy_=param_cx_; for(;;) {if(param_cy_) {var l_cA_=param_cy_[2]; _ce_(f_cz_,param_cy_[1]); var param_cy_=l_cA_; continue;} return 0;}} function _cZ_(n_cD_,c_cF_) {var s_cE_=caml_create_string(n_cD_); caml_fill_string(s_cE_,0,n_cD_,c_cF_); return s_cE_;} function _c0_(s_cI_,ofs_cG_,len_cH_) {if(0<=ofs_cG_&&0<=len_cH_&&!((s_cI_.getLen()-len_cH_|0)<ofs_cG_)) {var r_cJ_=caml_create_string(len_cH_); caml_blit_string(s_cI_,ofs_cG_,r_cJ_,0,len_cH_); return r_cJ_;} return _bE_(_bk_);} function _c1_(s1_cM_,ofs1_cL_,s2_cO_,ofs2_cN_,len_cK_) {if (0<= len_cK_&& 0<= ofs1_cL_&& !((s1_cM_.getLen()-len_cK_|0)<ofs1_cL_)&& 0<= ofs2_cN_&& !((s2_cO_.getLen()-len_cK_|0)<ofs2_cN_)) return caml_blit_string(s1_cM_,ofs1_cL_,s2_cO_,ofs2_cN_,len_cK_); return _bE_(_bl_);} function _c2_(sep_cV_,l_cP_) {if(l_cP_) {var hd_cQ_=l_cP_[1],num_cR_=[0,0],len_cS_=[0,0],tl_cU_=l_cP_[2]; _cC_ (function(s_cT_) {num_cR_[1]+=1;len_cS_[1]=len_cS_[1]+s_cT_.getLen()|0;return 0;}, l_cP_); var r_cW_= caml_create_string (len_cS_[1]+caml_mul(sep_cV_.getLen(),num_cR_[1]-1|0)|0); caml_blit_string(hd_cQ_,0,r_cW_,0,hd_cQ_.getLen()); var pos_cX_=[0,hd_cQ_.getLen()]; _cC_ (function(s_cY_) {caml_blit_string(sep_cV_,0,r_cW_,pos_cX_[1],sep_cV_.getLen()); pos_cX_[1]=pos_cX_[1]+sep_cV_.getLen()|0; caml_blit_string(s_cY_,0,r_cW_,pos_cX_[1],s_cY_.getLen()); pos_cX_[1]=pos_cX_[1]+s_cY_.getLen()|0; return 0;}, tl_cU_); return r_cW_;} return _bm_;} var _c3_=caml_sys_get_config(0)[2], _c4_=caml_mul(_c3_/8|0,(1<<(_c3_-10|0))-1|0)-1|0, _dd_=252, _dc_=253; function _db_(tbl_c7_,state_c6_,buf_c5_) {var result_c8_=caml_lex_engine(tbl_c7_,state_c6_,buf_c5_); if(0<=result_c8_) {buf_c5_[11]=buf_c5_[12]; var _c9_=buf_c5_[12]; buf_c5_[12]=[0,_c9_[1],_c9_[2],_c9_[3],buf_c5_[4]+buf_c5_[6]|0];} return result_c8_;} function _de_(lexbuf_c__) {var len_c$_=lexbuf_c__[6]-lexbuf_c__[5]|0, s_da_=caml_create_string(len_c$_); caml_blit_string(lexbuf_c__[2],lexbuf_c__[5],s_da_,0,len_c$_); return s_da_;} var _dF_=[0,_bi_]; function _dE_(n_df_) {var n_dg_=1<=n_df_?n_df_:1, n_dh_=_c4_<n_dg_?_c4_:n_dg_, s_di_=caml_create_string(n_dh_); return [0,s_di_,0,n_dh_,s_di_];} function _dG_(b_dj_){return _c0_(b_dj_[1],0,b_dj_[2]);} function _dq_(b_dk_,more_dm_) {var new_len_dl_=[0,b_dk_[3]]; for(;;) {if(new_len_dl_[1]<(b_dk_[2]+more_dm_|0)) {new_len_dl_[1]=2*new_len_dl_[1]|0;continue;} if(_c4_<new_len_dl_[1]) if((b_dk_[2]+more_dm_|0)<=_c4_)new_len_dl_[1]=_c4_;else _k_(_bg_); var new_buffer_dn_=caml_create_string(new_len_dl_[1]); _c1_(b_dk_[1],0,new_buffer_dn_,0,b_dk_[2]); b_dk_[1]=new_buffer_dn_; b_dk_[3]=new_len_dl_[1]; return 0;}} function _dH_(b_do_,c_dr_) {var pos_dp_=b_do_[2]; if(b_do_[3]<=pos_dp_)_dq_(b_do_,1); b_do_[1].safeSet(pos_dp_,c_dr_); b_do_[2]=pos_dp_+1|0; return 0;} function _dJ_(b_dy_,s_dx_,offset_ds_,len_dv_) {var _dt_=offset_ds_<0?1:0; if(_dt_) var _du_=_dt_; else {var _dw_=len_dv_<0?1:0, _du_=_dw_?_dw_:(s_dx_.getLen()-len_dv_|0)<offset_ds_?1:0;} if(_du_)_bE_(_bh_); var new_position_dz_=b_dy_[2]+len_dv_|0; if(b_dy_[3]<new_position_dz_)_dq_(b_dy_,len_dv_); _c1_(s_dx_,offset_ds_,b_dy_[1],b_dy_[2],len_dv_); b_dy_[2]=new_position_dz_; return 0;} function _dI_(b_dC_,s_dA_) {var len_dB_=s_dA_.getLen(),new_position_dD_=b_dC_[2]+len_dB_|0; if(b_dC_[3]<new_position_dD_)_dq_(b_dC_,len_dB_); _c1_(s_dA_,0,b_dC_[1],b_dC_[2],len_dB_); b_dC_[2]=new_position_dD_; return 0;} function index_of_int_dN_(i_dK_) {return 0<=i_dK_?i_dK_:_k_(_bP_(_a1_,string_of_int_bZ_(i_dK_)));} function add_int_index_dO_(i_dL_,idx_dM_) {return index_of_int_dN_(i_dL_+idx_dM_|0);} var _dP_=_ce_(add_int_index_dO_,1); function _dU_(fmt_dS_,idx_dR_,len_dQ_) {return _c0_(fmt_dS_,idx_dR_,len_dQ_);} function _d0_(fmt_dT_){return _dU_(fmt_dT_,0,fmt_dT_.getLen());} function bad_conversion_d2_(sfmt_dV_,i_dW_,c_dY_) {var _dX_=_bP_(_a4_,_bP_(sfmt_dV_,_a5_)), _dZ_=_bP_(_a3_,_bP_(string_of_int_bZ_(i_dW_),_dX_)); return _bE_(_bP_(_a2_,_bP_(_cZ_(1,c_dY_),_dZ_)));} function bad_conversion_format_eR_(fmt_d1_,i_d4_,c_d3_) {return bad_conversion_d2_(_d0_(fmt_d1_),i_d4_,c_d3_);} function incomplete_format_eS_(fmt_d5_) {return _bE_(_bP_(_a6_,_bP_(_d0_(fmt_d5_),_a7_)));} function extract_format_en_(fmt_d6_,start_ec_,stop_ee_,widths_eg_) {function skip_positional_spec_eb_(start_d7_) {if ((fmt_d6_.safeGet(start_d7_)-48|0)< 0|| 9< (fmt_d6_.safeGet(start_d7_)-48|0)) return start_d7_; var i_d8_=start_d7_+1|0; for(;;) {var _d9_=fmt_d6_.safeGet(i_d8_); if(48<=_d9_) {if(!(58<=_d9_)){var _d$_=i_d8_+1|0,i_d8_=_d$_;continue;} var _d__=0;} else if(36===_d9_){var _ea_=i_d8_+1|0,_d__=1;}else var _d__=0; if(!_d__)var _ea_=start_d7_; return _ea_;}} var start_ed_=skip_positional_spec_eb_(start_ec_+1|0), b_ef_=_dE_((stop_ee_-start_ed_|0)+10|0); _dH_(b_ef_,37); var i_eh_=start_ed_,widths_ei_=_cB_(widths_eg_); for(;;) {if(i_eh_<=stop_ee_) {var _ej_=fmt_d6_.safeGet(i_eh_); if(42===_ej_) {if(widths_ei_) {var t_ek_=widths_ei_[2]; _dI_(b_ef_,string_of_int_bZ_(widths_ei_[1])); var i_el_=skip_positional_spec_eb_(i_eh_+1|0), i_eh_=i_el_, widths_ei_=t_ek_; continue;} throw [0,_d_,_a8_];} _dH_(b_ef_,_ej_); var _em_=i_eh_+1|0,i_eh_=_em_; continue;} return _dG_(b_ef_);}} function extract_format_int_gP_ (conv_et_,fmt_er_,start_eq_,stop_ep_,widths_eo_) {var sfmt_es_=extract_format_en_(fmt_er_,start_eq_,stop_ep_,widths_eo_); if(78!==conv_et_&&110!==conv_et_)return sfmt_es_; sfmt_es_.safeSet(sfmt_es_.getLen()-1|0,117); return sfmt_es_;} function sub_format_eT_ (incomplete_format_eA_,bad_conversion_format_eK_,conv_eP_,fmt_eu_,i_eO_) {var len_ev_=fmt_eu_.getLen(); function sub_fmt_eM_(c_ew_,i_eJ_) {var close_ex_=40===c_ew_?41:125; function sub_eI_(j_ey_) {var j_ez_=j_ey_; for(;;) {if(len_ev_<=j_ez_)return _ce_(incomplete_format_eA_,fmt_eu_); if(37===fmt_eu_.safeGet(j_ez_)) {var _eB_=j_ez_+1|0; if(len_ev_<=_eB_) var _eC_=_ce_(incomplete_format_eA_,fmt_eu_); else {var _eD_=fmt_eu_.safeGet(_eB_),_eE_=_eD_-40|0; if(_eE_<0||1<_eE_) {var _eF_=_eE_-83|0; if(_eF_<0||2<_eF_) var _eG_=1; else switch(_eF_) {case 1:var _eG_=1;break; case 2:var _eH_=1,_eG_=0;break; default:var _eH_=0,_eG_=0;} if(_eG_){var _eC_=sub_eI_(_eB_+1|0),_eH_=2;}} else var _eH_=0===_eE_?0:1; switch(_eH_) {case 1: var _eC_= _eD_===close_ex_ ?_eB_+1|0 :_eL_(bad_conversion_format_eK_,fmt_eu_,i_eJ_,_eD_); break; case 2:break; default:var _eC_=sub_eI_(sub_fmt_eM_(_eD_,_eB_+1|0)+1|0);}} return _eC_;} var _eN_=j_ez_+1|0,j_ez_=_eN_; continue;}} return sub_eI_(i_eJ_);} return sub_fmt_eM_(conv_eP_,i_eO_);} function sub_format_for_printf_fh_(conv_eQ_) {return _eL_ (sub_format_eT_, incomplete_format_eS_, bad_conversion_format_eR_, conv_eQ_);} function iter_on_format_args_fx_(fmt_eU_,add_conv_e5_,add_char_fd_) {var lim_eV_=fmt_eU_.getLen()-1|0; function scan_fmt_ff_(i_eW_) {var i_eX_=i_eW_; a: for(;;) {if(i_eX_<lim_eV_) {if(37===fmt_eU_.safeGet(i_eX_)) {var skip_eY_=0,i_eZ_=i_eX_+1|0; for(;;) {if(lim_eV_<i_eZ_) var _e0_=incomplete_format_eS_(fmt_eU_); else {var _e1_=fmt_eU_.safeGet(i_eZ_); if(58<=_e1_) {if(95===_e1_) {var _e3_=i_eZ_+1|0,_e2_=1,skip_eY_=_e2_,i_eZ_=_e3_; continue;}} else if(32<=_e1_) switch(_e1_-32|0) {case 1: case 2: case 4: case 5: case 6: case 7: case 8: case 9: case 12: case 15:break; case 0: case 3: case 11: case 13:var _e4_=i_eZ_+1|0,i_eZ_=_e4_;continue; case 10: var _e6_=_eL_(add_conv_e5_,skip_eY_,i_eZ_,105),i_eZ_=_e6_; continue; default:var _e7_=i_eZ_+1|0,i_eZ_=_e7_;continue;} var i_e8_=i_eZ_; c: for(;;) {if(lim_eV_<i_e8_) var _e9_=incomplete_format_eS_(fmt_eU_); else {var _e__=fmt_eU_.safeGet(i_e8_); if(126<=_e__) var _e$_=0; else switch(_e__) {case 78: case 88: case 100: case 105: case 111: case 117: case 120: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;break; case 69: case 70: case 71: case 101: case 102: case 103: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,102),_e$_=1;break; case 33: case 37: case 44: case 64:var _e9_=i_e8_+1|0,_e$_=1;break; case 83: case 91: case 115: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,115),_e$_=1;break; case 97: case 114: case 116: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),_e$_=1; break; case 76: case 108: case 110: var j_fa_=i_e8_+1|0; if(lim_eV_<j_fa_) {var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;} else {var _fb_=fmt_eU_.safeGet(j_fa_)-88|0; if(_fb_<0||32<_fb_) var _fc_=1; else switch(_fb_) {case 0: case 12: case 17: case 23: case 29: case 32: var _e9_= _fe_ (add_char_fd_,_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),105), _e$_=1, _fc_=0; break; default:var _fc_=1;} if(_fc_) {var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,105),_e$_=1;}} break; case 67: case 99: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,99),_e$_=1;break; case 66: case 98: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,66),_e$_=1;break; case 41: case 125: var _e9_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__),_e$_=1; break; case 40: var _e9_=scan_fmt_ff_(_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__)), _e$_=1; break; case 123: var i_fg_=_eL_(add_conv_e5_,skip_eY_,i_e8_,_e__), j_fi_=_eL_(sub_format_for_printf_fh_,_e__,fmt_eU_,i_fg_), i_fj_=i_fg_; for(;;) {if(i_fj_<(j_fi_-2|0)) {var _fk_=_fe_(add_char_fd_,i_fj_,fmt_eU_.safeGet(i_fj_)), i_fj_=_fk_; continue;} var _fl_=j_fi_-1|0,i_e8_=_fl_; continue c;} default:var _e$_=0;} if(!_e$_) var _e9_=bad_conversion_format_eR_(fmt_eU_,i_e8_,_e__);} var _e0_=_e9_; break;}} var i_eX_=_e0_; continue a;}} var _fm_=i_eX_+1|0,i_eX_=_fm_; continue;} return i_eX_;}} scan_fmt_ff_(0); return 0;} function count_arguments_of_format_fz_(fmt_fy_) {var ac_fn_=[0,0,0,0]; function add_conv_fw_(skip_fs_,i_ft_,c_fo_) {var _fp_=41!==c_fo_?1:0,_fq_=_fp_?125!==c_fo_?1:0:_fp_; if(_fq_) {var inc_fr_=97===c_fo_?2:1; if(114===c_fo_)ac_fn_[3]=ac_fn_[3]+1|0; if(skip_fs_) ac_fn_[2]=ac_fn_[2]+inc_fr_|0; else ac_fn_[1]=ac_fn_[1]+inc_fr_|0;} return i_ft_+1|0;} iter_on_format_args_fx_ (fmt_fy_,add_conv_fw_,function(i_fu_,param_fv_){return i_fu_+1|0;}); return ac_fn_[1];} function kapr_i8_(kpr_fN_,fmt_fA_) {var _fB_=count_arguments_of_format_fz_(fmt_fA_); if(_fB_<0||6<_fB_) {var loop_fP_= function(i_fC_,args_fI_) {if(_fB_<=i_fC_) {var a_fD_=caml_make_vect(_fB_,0), _fG_= function(i_fE_,arg_fF_) {return caml_array_set(a_fD_,(_fB_-i_fE_|0)-1|0,arg_fF_);}, i_fH_=0, param_fJ_=args_fI_; for(;;) {if(param_fJ_) {var _fK_=param_fJ_[2],_fL_=param_fJ_[1]; if(_fK_) {_fG_(i_fH_,_fL_); var _fM_=i_fH_+1|0,i_fH_=_fM_,param_fJ_=_fK_; continue;} _fG_(i_fH_,_fL_);} return _fe_(kpr_fN_,fmt_fA_,a_fD_);}} return function(x_fO_) {return loop_fP_(i_fC_+1|0,[0,x_fO_,args_fI_]);};}; return loop_fP_(0,0);} switch(_fB_) {case 1: return function(x_fR_) {var a_fQ_=caml_make_vect(1,0); caml_array_set(a_fQ_,0,x_fR_); return _fe_(kpr_fN_,fmt_fA_,a_fQ_);}; case 2: return function(x_fT_,y_fU_) {var a_fS_=caml_make_vect(2,0); caml_array_set(a_fS_,0,x_fT_); caml_array_set(a_fS_,1,y_fU_); return _fe_(kpr_fN_,fmt_fA_,a_fS_);}; case 3: return function(x_fW_,y_fX_,z_fY_) {var a_fV_=caml_make_vect(3,0); caml_array_set(a_fV_,0,x_fW_); caml_array_set(a_fV_,1,y_fX_); caml_array_set(a_fV_,2,z_fY_); return _fe_(kpr_fN_,fmt_fA_,a_fV_);}; case 4: return function(x_f0_,y_f1_,z_f2_,t_f3_) {var a_fZ_=caml_make_vect(4,0); caml_array_set(a_fZ_,0,x_f0_); caml_array_set(a_fZ_,1,y_f1_); caml_array_set(a_fZ_,2,z_f2_); caml_array_set(a_fZ_,3,t_f3_); return _fe_(kpr_fN_,fmt_fA_,a_fZ_);}; case 5: return function(x_f5_,y_f6_,z_f7_,t_f8_,u_f9_) {var a_f4_=caml_make_vect(5,0); caml_array_set(a_f4_,0,x_f5_); caml_array_set(a_f4_,1,y_f6_); caml_array_set(a_f4_,2,z_f7_); caml_array_set(a_f4_,3,t_f8_); caml_array_set(a_f4_,4,u_f9_); return _fe_(kpr_fN_,fmt_fA_,a_f4_);}; case 6: return function(x_f$_,y_ga_,z_gb_,t_gc_,u_gd_,v_ge_) {var a_f__=caml_make_vect(6,0); caml_array_set(a_f__,0,x_f$_); caml_array_set(a_f__,1,y_ga_); caml_array_set(a_f__,2,z_gb_); caml_array_set(a_f__,3,t_gc_); caml_array_set(a_f__,4,u_gd_); caml_array_set(a_f__,5,v_ge_); return _fe_(kpr_fN_,fmt_fA_,a_f__);}; default:return _fe_(kpr_fN_,fmt_fA_,[0]);}} function scan_positional_spec_gL_(fmt_gf_,got_spec_gi_,i_gg_) {var _gh_=fmt_gf_.safeGet(i_gg_); if((_gh_-48|0)<0||9<(_gh_-48|0))return _fe_(got_spec_gi_,0,i_gg_); var accu_gj_=_gh_-48|0,j_gk_=i_gg_+1|0; for(;;) {var _gl_=fmt_gf_.safeGet(j_gk_); if(48<=_gl_) {if(!(58<=_gl_)) {var _go_=j_gk_+1|0, _gn_=(10*accu_gj_|0)+(_gl_-48|0)|0, accu_gj_=_gn_, j_gk_=_go_; continue;} var _gm_=0;} else if(36===_gl_) if(0===accu_gj_) {var _gp_=_k_(_a__),_gm_=1;} else {var _gp_= _fe_(got_spec_gi_,[0,index_of_int_dN_(accu_gj_-1|0)],j_gk_+1|0), _gm_=1;} else var _gm_=0; if(!_gm_)var _gp_=_fe_(got_spec_gi_,0,i_gg_); return _gp_;}} function next_index_gG_(spec_gq_,n_gr_) {return spec_gq_?n_gr_:_ce_(_dP_,n_gr_);} function get_index_gu_(spec_gs_,n_gt_){return spec_gs_?spec_gs_[1]:n_gt_;} function _iA_ (fmt_gA_, args_gx_, n_io_, pos_gQ_, cont_s_gT_, cont_a_ii_, cont_t_il_, cont_f_h5_, cont_m_h4_) {function get_arg_gC_(spec_gw_,n_gv_) {return caml_array_get(args_gx_,get_index_gu_(spec_gw_,n_gv_));} function scan_flags_gI_(spec_gK_,n_gD_,widths_gF_,i_gy_) {var i_gz_=i_gy_; for(;;) {var _gB_=fmt_gA_.safeGet(i_gz_)-32|0; if(!(_gB_<0||25<_gB_)) switch(_gB_) {case 1: case 2: case 4: case 5: case 6: case 7: case 8: case 9: case 12: case 15:break; case 10: return scan_positional_spec_gL_ (fmt_gA_, function(wspec_gE_,i_gJ_) {var _gH_=[0,get_arg_gC_(wspec_gE_,n_gD_),widths_gF_]; return scan_flags_gI_ (spec_gK_,next_index_gG_(wspec_gE_,n_gD_),_gH_,i_gJ_);}, i_gz_+1|0); default:var _gM_=i_gz_+1|0,i_gz_=_gM_;continue;} var _gN_=fmt_gA_.safeGet(i_gz_); if(124<=_gN_) var _gO_=0; else switch(_gN_) {case 78: case 88: case 100: case 105: case 111: case 117: case 120: var x_gR_=get_arg_gC_(spec_gK_,n_gD_), s_gS_= caml_format_int (extract_format_int_gP_ (_gN_,fmt_gA_,pos_gQ_,i_gz_,widths_gF_), x_gR_), _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_gS_,i_gz_+1|0), _gO_=1; break; case 69: case 71: case 101: case 102: case 103: var x_gV_=get_arg_gC_(spec_gK_,n_gD_), s_gW_= caml_format_float (extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_),x_gV_), _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_gW_,i_gz_+1|0), _gO_=1; break; case 76: case 108: case 110: var _gX_=fmt_gA_.safeGet(i_gz_+1|0)-88|0; if(_gX_<0||32<_gX_) var _gY_=1; else switch(_gX_) {case 0: case 12: case 17: case 23: case 29: case 32: var i_gZ_=i_gz_+1|0,_g0_=_gN_-108|0; if(_g0_<0||2<_g0_) var _g1_=0; else {switch(_g0_) {case 1:var _g1_=0,_g2_=0;break; case 2: var x_g3_=get_arg_gC_(spec_gK_,n_gD_), _g4_= caml_format_int (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g3_), _g2_=1; break; default: var x_g5_=get_arg_gC_(spec_gK_,n_gD_), _g4_= caml_format_int (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g5_), _g2_=1;} if(_g2_){var s_g6_=_g4_,_g1_=1;}} if(!_g1_) {var x_g7_=get_arg_gC_(spec_gK_,n_gD_), s_g6_= caml_int64_format (extract_format_en_(fmt_gA_,pos_gQ_,i_gZ_,widths_gF_),x_g7_);} var _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_g6_,i_gZ_+1|0), _gO_=1, _gY_=0; break; default:var _gY_=1;} if(_gY_) {var x_g8_=get_arg_gC_(spec_gK_,n_gD_), s_g9_= caml_format_int (extract_format_int_gP_ (110,fmt_gA_,pos_gQ_,i_gz_,widths_gF_), x_g8_), _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_g9_,i_gz_+1|0), _gO_=1;} break; case 37: case 64: var _gU_=_eL_(cont_s_gT_,n_gD_,_cZ_(1,_gN_),i_gz_+1|0),_gO_=1; break; case 83: case 115: var x_g__=get_arg_gC_(spec_gK_,n_gD_); if(115===_gN_) var x_g$_=x_g__; else {var n_ha_=[0,0],_hb_=0,_hc_=x_g__.getLen()-1|0; if(!(_hc_<_hb_)) {var i_hd_=_hb_; for(;;) {var _he_=x_g__.safeGet(i_hd_), _hf_= 14<=_he_ ?34===_he_?1:92===_he_?1:0 :11<=_he_?13<=_he_?1:0:8<=_he_?1:0, _hg_=_hf_?2:caml_is_printable(_he_)?1:4; n_ha_[1]=n_ha_[1]+_hg_|0; var _hh_=i_hd_+1|0; if(_hc_!==i_hd_){var i_hd_=_hh_;continue;} break;}} if(n_ha_[1]===x_g__.getLen()) var _hi_=x_g__; else {var s__hj_=caml_create_string(n_ha_[1]); n_ha_[1]=0; var _hk_=0,_hl_=x_g__.getLen()-1|0; if(!(_hl_<_hk_)) {var i_hm_=_hk_; for(;;) {var _hn_=x_g__.safeGet(i_hm_),_ho_=_hn_-34|0; if(_ho_<0||58<_ho_) if(-20<=_ho_) var _hp_=1; else {switch(_ho_+34|0) {case 8: s__hj_.safeSet(n_ha_[1],92); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],98); var _hq_=1; break; case 9: s__hj_.safeSet(n_ha_[1],92); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],116); var _hq_=1; break; case 10: s__hj_.safeSet(n_ha_[1],92); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],110); var _hq_=1; break; case 13: s__hj_.safeSet(n_ha_[1],92); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],114); var _hq_=1; break; default:var _hp_=1,_hq_=0;} if(_hq_)var _hp_=0;} else var _hp_= (_ho_-1|0)<0||56<(_ho_-1|0) ?(s__hj_.safeSet(n_ha_[1],92), n_ha_[1]+= 1, s__hj_.safeSet(n_ha_[1],_hn_), 0) :1; if(_hp_) if(caml_is_printable(_hn_)) s__hj_.safeSet(n_ha_[1],_hn_); else {s__hj_.safeSet(n_ha_[1],92); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],48+(_hn_/100|0)|0); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],48+((_hn_/10|0)%10|0)|0); n_ha_[1]+=1; s__hj_.safeSet(n_ha_[1],48+(_hn_%10|0)|0);} n_ha_[1]+=1; var _hr_=i_hm_+1|0; if(_hl_!==i_hm_){var i_hm_=_hr_;continue;} break;}} var _hi_=s__hj_;} var x_g$_=_bP_(_bc_,_bP_(_hi_,_bd_));} if(i_gz_===(pos_gQ_+1|0)) var s_hs_=x_g$_; else {var _ht_=extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_); try {var neg_hu_=0,i_hv_=1; for(;;) {if(_ht_.getLen()<=i_hv_) var _hw_=[0,0,neg_hu_]; else {var _hx_=_ht_.safeGet(i_hv_); if(49<=_hx_) if(58<=_hx_) var _hy_=0; else {var _hw_= [0, caml_int_of_string (_c0_(_ht_,i_hv_,(_ht_.getLen()-i_hv_|0)-1|0)), neg_hu_], _hy_=1;} else {if(45===_hx_) {var _hA_=i_hv_+1|0,_hz_=1,neg_hu_=_hz_,i_hv_=_hA_; continue;} var _hy_=0;} if(!_hy_){var _hB_=i_hv_+1|0,i_hv_=_hB_;continue;}} var match_hC_=_hw_; break;}} catch(_hD_) {if(_hD_[1]!==_a_)throw _hD_; var match_hC_=bad_conversion_d2_(_ht_,0,115);} var p_hE_=match_hC_[1], _hF_=x_g$_.getLen(), _hG_=0, neg_hK_=match_hC_[2], _hJ_=32; if(p_hE_===_hF_&&0===_hG_) {var _hH_=x_g$_,_hI_=1;} else var _hI_=0; if(!_hI_) if(p_hE_<=_hF_) var _hH_=_c0_(x_g$_,_hG_,_hF_); else {var res_hL_=_cZ_(p_hE_,_hJ_); if(neg_hK_) _c1_(x_g$_,_hG_,res_hL_,0,_hF_); else _c1_(x_g$_,_hG_,res_hL_,p_hE_-_hF_|0,_hF_); var _hH_=res_hL_;} var s_hs_=_hH_;} var _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_hs_,i_gz_+1|0), _gO_=1; break; case 67: case 99: var x_hM_=get_arg_gC_(spec_gK_,n_gD_); if(99===_gN_) var s_hN_=_cZ_(1,x_hM_); else {if(39===x_hM_) var _hO_=_bn_; else if(92===x_hM_) var _hO_=_bo_; else {if(14<=x_hM_) var _hP_=0; else switch(x_hM_) {case 8:var _hO_=_bs_,_hP_=1;break; case 9:var _hO_=_br_,_hP_=1;break; case 10:var _hO_=_bq_,_hP_=1;break; case 13:var _hO_=_bp_,_hP_=1;break; default:var _hP_=0;} if(!_hP_) if(caml_is_printable(x_hM_)) {var s_hQ_=caml_create_string(1); s_hQ_.safeSet(0,x_hM_); var _hO_=s_hQ_;} else {var s_hR_=caml_create_string(4); s_hR_.safeSet(0,92); s_hR_.safeSet(1,48+(x_hM_/100|0)|0); s_hR_.safeSet(2,48+((x_hM_/10|0)%10|0)|0); s_hR_.safeSet(3,48+(x_hM_%10|0)|0); var _hO_=s_hR_;}} var s_hN_=_bP_(_ba_,_bP_(_hO_,_bb_));} var _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_hN_,i_gz_+1|0), _gO_=1; break; case 66: case 98: var _hT_=i_gz_+1|0, _hS_=get_arg_gC_(spec_gK_,n_gD_)?_bv_:_bu_, _gU_=_eL_(cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),_hS_,_hT_), _gO_=1; break; case 40: case 123: var xf_hU_=get_arg_gC_(spec_gK_,n_gD_), j_hV_=_eL_(sub_format_for_printf_fh_,_gN_,fmt_gA_,i_gz_+1|0); if(123===_gN_) {var b_hW_=_dE_(xf_hU_.getLen()), add_char_h0_= function(i_hY_,c_hX_){_dH_(b_hW_,c_hX_);return i_hY_+1|0;}; iter_on_format_args_fx_ (xf_hU_, function(skip_hZ_,i_h2_,c_h1_) {if(skip_hZ_)_dI_(b_hW_,_a9_);else _dH_(b_hW_,37); return add_char_h0_(i_h2_,c_h1_);}, add_char_h0_); var _h3_=_dG_(b_hW_), _gU_= _eL_(cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),_h3_,j_hV_), _gO_=1;} else {var _gU_= _eL_(cont_m_h4_,next_index_gG_(spec_gK_,n_gD_),xf_hU_,j_hV_), _gO_=1;} break; case 33:var _gU_=_fe_(cont_f_h5_,n_gD_,i_gz_+1|0),_gO_=1;break; case 41: var _gU_=_eL_(cont_s_gT_,n_gD_,_bf_,i_gz_+1|0),_gO_=1;break; case 44: var _gU_=_eL_(cont_s_gT_,n_gD_,_be_,i_gz_+1|0),_gO_=1;break; case 70: var x_h6_=get_arg_gC_(spec_gK_,n_gD_); if(0===widths_gF_) var s_h7_=string_of_float_b0_(x_h6_); else {var sfmt_h8_= extract_format_en_(fmt_gA_,pos_gQ_,i_gz_,widths_gF_); if(70===_gN_)sfmt_h8_.safeSet(sfmt_h8_.getLen()-1|0,103); var s_h9_=caml_format_float(sfmt_h8_,x_h6_); if(3<=caml_classify_float(x_h6_)) var _h__=s_h9_; else {var i_h$_=0,l_ia_=s_h9_.getLen(); for(;;) {if(l_ia_<=i_h$_) var _ib_=_bP_(s_h9_,_a$_); else {var _ic_=s_h9_.safeGet(i_h$_)-46|0, _id_= _ic_<0||23<_ic_ ?55===_ic_?1:0 :(_ic_-1|0)<0||21<(_ic_-1|0)?1:0; if(!_id_){var _ie_=i_h$_+1|0,i_h$_=_ie_;continue;} var _ib_=s_h9_;} var _h__=_ib_; break;}} var s_h7_=_h__;} var _gU_= _eL_ (cont_s_gT_,next_index_gG_(spec_gK_,n_gD_),s_h7_,i_gz_+1|0), _gO_=1; break; case 91: var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_),_gO_=1; break; case 97: var printer_if_=get_arg_gC_(spec_gK_,n_gD_), n_ig_=_ce_(_dP_,get_index_gu_(spec_gK_,n_gD_)), arg_ih_=get_arg_gC_(0,n_ig_), _gU_= _ij_ (cont_a_ii_, next_index_gG_(spec_gK_,n_ig_), printer_if_, arg_ih_, i_gz_+1|0), _gO_=1; break; case 114: var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_),_gO_=1; break; case 116: var printer_ik_=get_arg_gC_(spec_gK_,n_gD_), _gU_= _eL_ (cont_t_il_, next_index_gG_(spec_gK_,n_gD_), printer_ik_, i_gz_+1|0), _gO_=1; break; default:var _gO_=0;} if(!_gO_)var _gU_=bad_conversion_format_eR_(fmt_gA_,i_gz_,_gN_); return _gU_;}} var _iq_=pos_gQ_+1|0,_in_=0; return scan_positional_spec_gL_ (fmt_gA_, function(spec_ip_,i_im_) {return scan_flags_gI_(spec_ip_,n_io_,_in_,i_im_);}, _iq_);} function _jb_ (to_s_iP_,get_out_is_,outc_iI_,outs_iL_,flush_iX_,k_i7_,fmt_ir_) {var out_it_=_ce_(get_out_is_,fmt_ir_); function pr_i5_(k_iy_,n_i6_,fmt_iu_,v_iH_) {var len_ix_=fmt_iu_.getLen(); function doprn_iM_(n_iG_,i_iv_) {var i_iw_=i_iv_; for(;;) {if(len_ix_<=i_iw_)return _ce_(k_iy_,out_it_); var _iz_=fmt_iu_.safeGet(i_iw_); if(37===_iz_) return _iA_ (fmt_iu_, v_iH_, n_iG_, i_iw_, cont_s_iF_, cont_a_iE_, cont_t_iD_, cont_f_iC_, cont_m_iB_); _fe_(outc_iI_,out_it_,_iz_); var _iJ_=i_iw_+1|0,i_iw_=_iJ_; continue;}} function cont_s_iF_(n_iO_,s_iK_,i_iN_) {_fe_(outs_iL_,out_it_,s_iK_);return doprn_iM_(n_iO_,i_iN_);} function cont_a_iE_(n_iT_,printer_iR_,arg_iQ_,i_iS_) {if(to_s_iP_) _fe_(outs_iL_,out_it_,_fe_(printer_iR_,0,arg_iQ_)); else _fe_(printer_iR_,out_it_,arg_iQ_); return doprn_iM_(n_iT_,i_iS_);} function cont_t_iD_(n_iW_,printer_iU_,i_iV_) {if(to_s_iP_) _fe_(outs_iL_,out_it_,_ce_(printer_iU_,0)); else _ce_(printer_iU_,out_it_); return doprn_iM_(n_iW_,i_iV_);} function cont_f_iC_(n_iZ_,i_iY_) {_ce_(flush_iX_,out_it_);return doprn_iM_(n_iZ_,i_iY_);} function cont_m_iB_(n_i1_,xf_i0_,i_i2_) {var m_i3_= add_int_index_dO_(count_arguments_of_format_fz_(xf_i0_),n_i1_); return pr_i5_ (function(param_i4_){return doprn_iM_(m_i3_,i_i2_);}, n_i1_, xf_i0_, v_iH_);} return doprn_iM_(n_i6_,0);} return kapr_i8_(_fe_(pr_i5_,k_i7_,index_of_int_dN_(0)),fmt_ir_);} function _jp_(oc_i__) {function _ja_(_i9_){return 0;} return _jc_ (_jb_, 0, function(param_i$_){return oc_i__;}, _cm_, output_string_cc_, _cl_, _ja_);} function _jl_(fmt_jd_){return _dE_(2*fmt_jd_.getLen()|0);} function _ji_(k_jg_,b_je_) {var s_jf_=_dG_(b_je_);b_je_[2]=0;return _ce_(k_jg_,s_jf_);} function _jo_(k_jh_) {var _jk_=_ce_(_ji_,k_jh_); return _jc_(_jb_,1,_jl_,_dH_,_dI_,function(_jj_){return 0;},_jk_);} function _jq_(fmt_jn_) {return _fe_(_jo_,function(s_jm_){return s_jm_;},fmt_jn_);} var _jr_=[0,0]; function _jy_(x_js_,i_jt_) {var f_ju_=x_js_[i_jt_+1]; return caml_obj_is_block(f_ju_) ?caml_obj_tag(f_ju_)===_dd_ ?_fe_(_jq_,_aH_,f_ju_) :caml_obj_tag(f_ju_)===_dc_?string_of_float_b0_(f_ju_):_aG_ :_fe_(_jq_,_aI_,f_ju_);} function _jx_(x_jv_,i_jw_) {if(x_jv_.length-1<=i_jw_)return _a0_; var _jz_=_jx_(x_jv_,i_jw_+1|0); return _eL_(_jq_,_aZ_,_jy_(x_jv_,i_jw_),_jz_);} 32===_c3_; function add_queue_jF_(x_jA_,q_jC_) {var c_jB_=[0,[0,x_jA_,0]],_jD_=q_jC_[1]; if(_jD_) {var cell_jE_=_jD_[1];q_jC_[1]=c_jB_;cell_jE_[2]=c_jB_;return 0;} q_jC_[1]=c_jB_; q_jC_[2]=c_jB_; return 0;} var Empty_queue_jG_=[0,_am_]; function take_queue_jO_(q_jH_) {var _jI_=q_jH_[2]; if(_jI_) {var match_jJ_=_jI_[1],tl_jK_=match_jJ_[2],x_jL_=match_jJ_[1]; q_jH_[2]=tl_jK_; if(0===tl_jK_)q_jH_[1]=0; return x_jL_;} throw [0,Empty_queue_jG_];} function pp_enqueue_jP_(state_jN_,token_jM_) {state_jN_[13]=state_jN_[13]+token_jM_[3]|0; return add_queue_jF_(token_jM_,state_jN_[27]);} var pp_infinity_jQ_=1000000010; function pp_output_string_kM_(state_jS_,s_jR_) {return _eL_(state_jS_[17],s_jR_,0,s_jR_.getLen());} function pp_output_newline_jW_(state_jT_){return _ce_(state_jT_[19],0);} function pp_display_blanks_j3_(state_jU_,n_jV_) {return _ce_(state_jU_[20],n_jV_);} function break_new_line_j4_(state_jX_,offset_jZ_,width_jY_) {pp_output_newline_jW_(state_jX_); state_jX_[11]=1; var indent_j0_=(state_jX_[6]-width_jY_|0)+offset_jZ_|0, _j1_=state_jX_[8], real_indent_j2_=caml_lessequal(_j1_,indent_j0_)?_j1_:indent_j0_; state_jX_[10]=real_indent_j2_; state_jX_[9]=state_jX_[6]-state_jX_[10]|0; return pp_display_blanks_j3_(state_jX_,state_jX_[10]);} function break_line_kH_(state_j6_,width_j5_) {return break_new_line_j4_(state_j6_,0,width_j5_);} function break_same_line_km_(state_j7_,width_j8_) {state_j7_[9]=state_j7_[9]-width_j8_|0; return pp_display_blanks_j3_(state_j7_,width_j8_);} function advance_left_k5_(state_j9_) {try {for(;;) {var _j__=state_j9_[27][2]; if(!_j__)throw [0,Empty_queue_jG_]; var x_j$_=_j__[1][1], size_ka_=x_j$_[1], tok_kb_=x_j$_[2], _kc_=size_ka_<0?1:0, len_ke_=x_j$_[3], _kd_=_kc_?(state_j9_[13]-state_j9_[12]|0)<state_j9_[9]?1:0:_kc_, _kf_=1-_kd_; if(_kf_) {take_queue_jO_(state_j9_[27]); var _kg_=0<=size_ka_?size_ka_:pp_infinity_jQ_; if(typeof tok_kb_==="number") switch(tok_kb_) {case 1: var _kO_=state_j9_[2];if(_kO_)state_j9_[2]=_kO_[2];break; case 2: var _kP_=state_j9_[3];if(_kP_)state_j9_[3]=_kP_[2];break; case 3: var _kQ_=state_j9_[2]; if(_kQ_) break_line_kH_(state_j9_,_kQ_[1][2]); else pp_output_newline_jW_(state_j9_); break; case 4: if(state_j9_[10]!==(state_j9_[6]-state_j9_[9]|0)) {var match_kR_=take_queue_jO_(state_j9_[27]), size_kS_=match_kR_[1]; state_j9_[12]=state_j9_[12]-match_kR_[3]|0; state_j9_[9]=state_j9_[9]+size_kS_|0;} break; case 5: var _kT_=state_j9_[5]; if(_kT_) {var tags_kU_=_kT_[2]; pp_output_string_kM_(state_j9_,_ce_(state_j9_[24],_kT_[1])); state_j9_[5]=tags_kU_;} break; default: var _kV_=state_j9_[3]; if(_kV_) {var tabs_kW_=_kV_[1][1], add_tab_k0_= function(n_kZ_,ls_kX_) {if(ls_kX_) {var x_kY_=ls_kX_[1],l_k1_=ls_kX_[2]; return caml_lessthan(n_kZ_,x_kY_) ?[0,n_kZ_,ls_kX_] :[0,x_kY_,add_tab_k0_(n_kZ_,l_k1_)];} return [0,n_kZ_,0];}; tabs_kW_[1]= add_tab_k0_(state_j9_[6]-state_j9_[9]|0,tabs_kW_[1]);}} else switch(tok_kb_[0]) {case 1: var off_kh_=tok_kb_[2],n_ki_=tok_kb_[1],_kj_=state_j9_[2]; if(_kj_) {var match_kk_=_kj_[1],width_kl_=match_kk_[2]; switch(match_kk_[1]) {case 1: break_new_line_j4_(state_j9_,off_kh_,width_kl_);break; case 2: break_new_line_j4_(state_j9_,off_kh_,width_kl_);break; case 3: if(state_j9_[9]<_kg_) break_new_line_j4_(state_j9_,off_kh_,width_kl_); else break_same_line_km_(state_j9_,n_ki_); break; case 4: if (state_j9_[11]|| !(state_j9_[9]< _kg_|| ((state_j9_[6]-width_kl_|0)+off_kh_|0)< state_j9_[10])) break_same_line_km_(state_j9_,n_ki_); else break_new_line_j4_(state_j9_,off_kh_,width_kl_); break; case 5:break_same_line_km_(state_j9_,n_ki_);break; default:break_same_line_km_(state_j9_,n_ki_);}} break; case 2: var insertion_point_kn_=state_j9_[6]-state_j9_[9]|0, _ko_=state_j9_[3], off_kA_=tok_kb_[2], n_kz_=tok_kb_[1]; if(_ko_) {var tabs_kp_=_ko_[1][1],_kq_=tabs_kp_[1]; if(_kq_) {var x_kw_=_kq_[1]; try {var param_kr_=tabs_kp_[1]; for(;;) {if(!param_kr_)throw [0,_c_]; var x_ks_=param_kr_[1],l_ku_=param_kr_[2]; if(!caml_greaterequal(x_ks_,insertion_point_kn_)) {var param_kr_=l_ku_;continue;} var _kt_=x_ks_; break;}} catch(_kv_){if(_kv_[1]!==_c_)throw _kv_;var _kt_=x_kw_;} var tab_kx_=_kt_;} else var tab_kx_=insertion_point_kn_; var offset_ky_=tab_kx_-insertion_point_kn_|0; if(0<=offset_ky_) break_same_line_km_(state_j9_,offset_ky_+n_kz_|0); else break_new_line_j4_(state_j9_,tab_kx_+off_kA_|0,state_j9_[6]);} break; case 3: var ty_kB_=tok_kb_[2],off_kI_=tok_kb_[1]; if(state_j9_[8]<(state_j9_[6]-state_j9_[9]|0)) {var _kC_=state_j9_[2]; if(_kC_) {var match_kD_=_kC_[1], width_kE_=match_kD_[2], bl_ty_kF_=match_kD_[1], _kG_= state_j9_[9]<width_kE_ ?0===bl_ty_kF_ ?0 :5<=bl_ty_kF_?1:(break_line_kH_(state_j9_,width_kE_),1) :0; _kG_;} else pp_output_newline_jW_(state_j9_);} var offset_kK_=state_j9_[9]-off_kI_|0, bl_type_kJ_=1===ty_kB_?1:state_j9_[9]<_kg_?ty_kB_:5; state_j9_[2]=[0,[0,bl_type_kJ_,offset_kK_],state_j9_[2]]; break; case 4:state_j9_[3]=[0,tok_kb_[1],state_j9_[3]];break; case 5: var tag_name_kL_=tok_kb_[1]; pp_output_string_kM_ (state_j9_,_ce_(state_j9_[23],tag_name_kL_)); state_j9_[5]=[0,tag_name_kL_,state_j9_[5]]; break; default: var s_kN_=tok_kb_[1]; state_j9_[9]=state_j9_[9]-_kg_|0; pp_output_string_kM_(state_j9_,s_kN_); state_j9_[11]=0;} state_j9_[12]=len_ke_+state_j9_[12]|0; continue;} break;}} catch(_k2_){if(_k2_[1]===Empty_queue_jG_)return 0;throw _k2_;} return _kf_;} function enqueue_advance_la_(state_k4_,tok_k3_) {pp_enqueue_jP_(state_k4_,tok_k3_);return advance_left_k5_(state_k4_);} function make_queue_elem_k__(size_k8_,tok_k7_,len_k6_) {return [0,size_k8_,tok_k7_,len_k6_];} function enqueue_string_as_lc_(state_lb_,size_k$_,s_k9_) {return enqueue_advance_la_ (state_lb_,make_queue_elem_k__(size_k$_,[0,s_k9_],size_k$_));} var scan_stack_bottom_ld_=[0,[0,-1,make_queue_elem_k__(-1,_al_,0)],0]; function clear_scan_stack_ll_(state_le_) {state_le_[1]=scan_stack_bottom_ld_;return 0;} function set_size_lu_(state_lf_,ty_ln_) {var _lg_=state_lf_[1]; if(_lg_) {var match_lh_=_lg_[1], queue_elem_li_=match_lh_[2], size_lj_=queue_elem_li_[1], t_lk_=_lg_[2], tok_lm_=queue_elem_li_[2]; if(match_lh_[1]<state_lf_[12])return clear_scan_stack_ll_(state_lf_); if(typeof tok_lm_!=="number") switch(tok_lm_[0]) {case 1: case 2: var _lo_= ty_ln_ ?(queue_elem_li_[1]= state_lf_[13]+ size_lj_| 0, state_lf_[1]= t_lk_, 0) :ty_ln_; return _lo_; case 3: var _lp_=1-ty_ln_, _lq_= _lp_ ?(queue_elem_li_[1]= state_lf_[13]+ size_lj_| 0, state_lf_[1]= t_lk_, 0) :_lp_; return _lq_; default:} return 0;} return 0;} function scan_push_ly_(state_ls_,b_lt_,tok_lr_) {pp_enqueue_jP_(state_ls_,tok_lr_); if(b_lt_)set_size_lu_(state_ls_,1); state_ls_[1]=[0,[0,state_ls_[13],tok_lr_],state_ls_[1]]; return 0;} function pp_open_box_gen_lM_(state_lv_,indent_lx_,br_ty_lw_) {state_lv_[14]=state_lv_[14]+1|0; if(state_lv_[14]<state_lv_[15]) return scan_push_ly_ (state_lv_, 0, make_queue_elem_k__ (-state_lv_[13]|0,[3,indent_lx_,br_ty_lw_],0)); var _lz_=state_lv_[14]===state_lv_[15]?1:0; if(_lz_) {var _lA_=state_lv_[16]; return enqueue_string_as_lc_(state_lv_,_lA_.getLen(),_lA_);} return _lz_;} function pp_close_box_lJ_(state_lB_,param_lE_) {var _lC_=1<state_lB_[14]?1:0; if(_lC_) {if(state_lB_[14]<state_lB_[15]) {pp_enqueue_jP_(state_lB_,[0,0,1,0]); set_size_lu_(state_lB_,1); set_size_lu_(state_lB_,0);} state_lB_[14]=state_lB_[14]-1|0; var _lD_=0;} else var _lD_=_lC_; return _lD_;} function pp_open_tag_l7_(state_lF_,tag_name_lG_) {if(state_lF_[21]) {state_lF_[4]=[0,tag_name_lG_,state_lF_[4]]; _ce_(state_lF_[25],tag_name_lG_);} var _lH_=state_lF_[22]; return _lH_?pp_enqueue_jP_(state_lF_,[0,0,[5,tag_name_lG_],0]):_lH_;} function pp_flush_queue_lV_(state_lI_,b_lK_) {for(;;) {if(1<state_lI_[14]){pp_close_box_lJ_(state_lI_,0);continue;} state_lI_[13]=pp_infinity_jQ_; advance_left_k5_(state_lI_); if(b_lK_)pp_output_newline_jW_(state_lI_); state_lI_[12]=1; state_lI_[13]=1; var _lL_=state_lI_[27]; _lL_[1]=0; _lL_[2]=0; clear_scan_stack_ll_(state_lI_); state_lI_[2]=0; state_lI_[3]=0; state_lI_[4]=0; state_lI_[5]=0; state_lI_[10]=0; state_lI_[14]=0; state_lI_[9]=state_lI_[6]; return pp_open_box_gen_lM_(state_lI_,0,3);}} function pp_print_as_size_lR_(state_lN_,size_lQ_,s_lP_) {var _lO_=state_lN_[14]<state_lN_[15]?1:0; return _lO_?enqueue_string_as_lc_(state_lN_,size_lQ_,s_lP_):_lO_;} function pp_print_as_l8_(state_lU_,isize_lT_,s_lS_) {return pp_print_as_size_lR_(state_lU_,isize_lT_,s_lS_);} function pp_print_flush_l9_(state_lW_,param_lX_) {pp_flush_queue_lV_(state_lW_,0);return _ce_(state_lW_[18],0);} function pp_print_break_l2_(state_lY_,width_l1_,offset_l0_) {var _lZ_=state_lY_[14]<state_lY_[15]?1:0; return _lZ_ ?scan_push_ly_ (state_lY_, 1, make_queue_elem_k__ (-state_lY_[13]|0,[1,width_l1_,offset_l0_],width_l1_)) :_lZ_;} function pp_print_space_l__(state_l3_,param_l4_) {return pp_print_break_l2_(state_l3_,1,0);} function display_newline_ma_(state_l5_,param_l6_) {return _eL_(state_l5_[17],_an_,0,1);} var blank_line_l$_=_cZ_(80,32); function display_blanks_mv_(state_me_,n_mb_) {var n_mc_=n_mb_; for(;;) {var _md_=0<n_mc_?1:0; if(_md_) {if(80<n_mc_) {_eL_(state_me_[17],blank_line_l$_,0,80); var _mf_=n_mc_-80|0,n_mc_=_mf_; continue;} return _eL_(state_me_[17],blank_line_l$_,0,n_mc_);} return _md_;}} function default_pp_mark_open_tag_mr_(s_mg_) {return _bP_(_ao_,_bP_(s_mg_,_ap_));} function default_pp_mark_close_tag_mq_(s_mh_) {return _bP_(_aq_,_bP_(s_mh_,_ar_));} function default_pp_print_open_tag_mp_(param_mi_){return 0;} function make_formatter_mz_(output_mt_,flush_ms_) {function _ml_(_mj_){return 0;} var _mm_=[0,0,0]; function _mo_(_mk_){return 0;} var sys_tok_mn_=make_queue_elem_k__(-1,_at_,0); add_queue_jF_(sys_tok_mn_,_mm_); var _mu_= [0, [0,[0,1,sys_tok_mn_],scan_stack_bottom_ld_], 0, 0, 0, 0, 78, 10, 78-10|0, 78, 0, 1, 1, 1, 1, max_int_bY_, _as_, output_mt_, flush_ms_, _mo_, _ml_, 0, 0, default_pp_mark_open_tag_mr_, default_pp_mark_close_tag_mq_, default_pp_print_open_tag_mp_, default_pp_print_open_tag_mp_, _mm_]; _mu_[19]=_ce_(display_newline_ma_,_mu_); _mu_[20]=_ce_(display_blanks_mv_,_mu_); return _mu_;} function formatter_of_out_channel_mD_(oc_mw_) {function _my_(param_mx_){return _cl_(oc_mw_);} return make_formatter_mz_(_ce_(output_ch_,oc_mw_),_my_);} function formatter_of_buffer_mE_(b_mB_) {function _mC_(_mA_){return 0;} return make_formatter_mz_(_ce_(_dJ_,b_mB_),_mC_);} var stdbuf_mF_=_dE_(512), std_formatter_mG_=formatter_of_out_channel_mD_(stdout_ca_), err_formatter_mH_=formatter_of_out_channel_mD_(stderr_b1_); formatter_of_buffer_mE_(stdbuf_mF_); var print_flush_pT_=_ce_(pp_print_flush_l9_,std_formatter_mG_); function giving_up_mN_(mess_mL_,fmt_mI_,i_mJ_) {var _mK_= i_mJ_<fmt_mI_.getLen() ?_fe_(_jq_,_aw_,fmt_mI_.safeGet(i_mJ_)) :_fe_(_jq_,_av_,46); return _mM_(_jq_,_au_,mess_mL_,_d0_(fmt_mI_),i_mJ_,_mK_);} function format_invalid_arg_mR_(mess_mQ_,fmt_mP_,i_mO_) {return _bE_(giving_up_mN_(mess_mQ_,fmt_mP_,i_mO_));} function invalid_format_nw_(fmt_mT_,i_mS_) {return format_invalid_arg_mR_(_ax_,fmt_mT_,i_mS_);} function invalid_integer_m0_(fmt_mV_,i_mU_) {return _bE_(giving_up_mN_(_ay_,fmt_mV_,i_mU_));} function format_int_of_string_pg_(fmt_m2_,i_m1_,s_mW_) {try {var _mX_=caml_int_of_string(s_mW_),sz_mY_=_mX_;} catch(_mZ_) {if(_mZ_[1]!==_a_)throw _mZ_; var sz_mY_=invalid_integer_m0_(fmt_m2_,i_m1_);} return sz_mY_;} function exstring_n2_(printer_m6_,arg_m5_) {var b_m3_=_dE_(512),ppf_m4_=formatter_of_buffer_mE_(b_m3_); _fe_(printer_m6_,ppf_m4_,arg_m5_); pp_flush_queue_lV_(ppf_m4_,0); var s_m7_=_dG_(b_m3_); b_m3_[2]=0; b_m3_[1]=b_m3_[4]; b_m3_[3]=b_m3_[1].getLen(); return s_m7_;} function implode_rev_nP_(s0_m9_,l_m8_) {return l_m8_?_c2_(_az_,_cB_([0,s0_m9_,l_m8_])):s0_m9_;} function mkprintf_pQ_(to_s_nY_,get_out_nb_) {function kprintf_pa_(k_nm_,fmt_m__) {var len_m$_=fmt_m__.getLen(); return kapr_i8_ (function(fmt_na_,v_nu_) {var ppf_nc_=_ce_(get_out_nb_,fmt_na_),print_as_nd_=[0,0]; function pp_print_as_char_oB_(c_nf_) {var _ne_=print_as_nd_[1]; if(_ne_) {var size_ng_=_ne_[1]; pp_print_as_size_lR_(ppf_nc_,size_ng_,_cZ_(1,c_nf_)); print_as_nd_[1]=0; return 0;} var s_nh_=caml_create_string(1); s_nh_.safeSet(0,c_nf_); return pp_print_as_l8_(ppf_nc_,1,s_nh_);} function pp_print_as_string_oW_(s_nj_) {var _ni_=print_as_nd_[1]; return _ni_ ?(pp_print_as_size_lR_(ppf_nc_,_ni_[1],s_nj_), print_as_nd_[1]= 0, 0) :pp_print_as_l8_(ppf_nc_,s_nj_.getLen(),s_nj_);} function doprn_nE_(n_nt_,i_nk_) {var i_nl_=i_nk_; for(;;) {if(len_m$_<=i_nl_)return _ce_(k_nm_,ppf_nc_); var _nn_=fmt_na_.safeGet(i_nl_); if(37===_nn_) return _iA_ (fmt_na_, v_nu_, n_nt_, i_nl_, cont_s_ns_, cont_a_nr_, cont_t_nq_, cont_f_np_, cont_m_no_); if(64===_nn_) {var i_nv_=i_nl_+1|0; if(len_m$_<=i_nv_)return invalid_format_nw_(fmt_na_,i_nv_); var _nx_=fmt_na_.safeGet(i_nv_); if(65<=_nx_) {if(94<=_nx_) {var _ny_=_nx_-123|0; if(!(_ny_<0||2<_ny_)) switch(_ny_) {case 1:break; case 2: if(ppf_nc_[22])pp_enqueue_jP_(ppf_nc_,[0,0,5,0]); if(ppf_nc_[21]) {var _nz_=ppf_nc_[4]; if(_nz_) {var tags_nA_=_nz_[2]; _ce_(ppf_nc_[26],_nz_[1]); ppf_nc_[4]=tags_nA_; var _nB_=1;} else var _nB_=0;} else var _nB_=0; _nB_; var _nC_=i_nv_+1|0,i_nl_=_nC_; continue; default: var _nD_=i_nv_+1|0; if(len_m$_<=_nD_) {pp_open_tag_l7_(ppf_nc_,_aB_); var _nF_=doprn_nE_(n_nt_,_nD_);} else if(60===fmt_na_.safeGet(_nD_)) {var got_name_nK_= function(tag_name_nG_,n_nJ_,i_nI_) {pp_open_tag_l7_(ppf_nc_,tag_name_nG_); return doprn_nE_(n_nJ_,skip_gt_nH_(i_nI_));}, _nL_=_nD_+1|0, get_nV_= function(accu_nQ_,n_nR_,i_nO_,j_nM_) {var j_nN_=j_nM_; for(;;) {if(len_m$_<=j_nN_) return got_name_nK_ (implode_rev_nP_ (_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0), accu_nQ_), n_nR_, j_nN_); var _nS_=fmt_na_.safeGet(j_nN_); if(37===_nS_) {var s0_nT_=_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0), cont_s_of_= function(n_nX_,s_nU_,i_nW_) {return get_nV_ ([0,s_nU_,[0,s0_nT_,accu_nQ_]],n_nX_,i_nW_,i_nW_);}, cont_a_og_= function(n_n4_,printer_n0_,arg_nZ_,i_n3_) {var s_n1_= to_s_nY_ ?_fe_(printer_n0_,0,arg_nZ_) :exstring_n2_(printer_n0_,arg_nZ_); return get_nV_ ([0,s_n1_,[0,s0_nT_,accu_nQ_]],n_n4_,i_n3_,i_n3_);}, cont_t_oh_= function(n_n$_,printer_n5_,i_n__) {if(to_s_nY_) var s_n6_=_ce_(printer_n5_,0); else {var _n9_=0, s_n6_= exstring_n2_ (function(ppf_n7_,param_n8_) {return _ce_(printer_n5_,ppf_n7_);}, _n9_);} return get_nV_ ([0,s_n6_,[0,s0_nT_,accu_nQ_]],n_n$_,i_n__,i_n__);}, cont_f_oi_= function(_n_ob_,i_oa_) {return format_invalid_arg_mR_(_aC_,fmt_na_,i_oa_);}; return _iA_ (fmt_na_, v_nu_, n_nR_, j_nN_, cont_s_of_, cont_a_og_, cont_t_oh_, cont_f_oi_, function(_n_od_,_sfmt_oe_,i_oc_) {return format_invalid_arg_mR_(_aD_,fmt_na_,i_oc_);});} if(62===_nS_) return got_name_nK_ (implode_rev_nP_ (_dU_(fmt_na_,index_of_int_dN_(i_nO_),j_nN_-i_nO_|0), accu_nQ_), n_nR_, j_nN_); var _oj_=j_nN_+1|0,j_nN_=_oj_; continue;}}, _nF_=get_nV_(0,n_nt_,_nL_,_nL_);} else {pp_open_tag_l7_(ppf_nc_,_aA_); var _nF_=doprn_nE_(n_nt_,_nD_);} return _nF_;}} else if(91<=_nx_) switch(_nx_-91|0) {case 1:break; case 2: pp_close_box_lJ_(ppf_nc_,0); var _ok_=i_nv_+1|0,i_nl_=_ok_; continue; default: var _ol_=i_nv_+1|0; if(len_m$_<=_ol_||!(60===fmt_na_.safeGet(_ol_))) {pp_open_box_gen_lM_(ppf_nc_,0,4); var _om_=doprn_nE_(n_nt_,_ol_);} else {var _on_=_ol_+1|0; if(len_m$_<=_on_) var match_oo_=[0,4,_on_]; else {var _op_=fmt_na_.safeGet(_on_); if(98===_op_) var match_oo_=[0,4,_on_+1|0]; else if(104===_op_) {var i_oq_=_on_+1|0; if(len_m$_<=i_oq_) var match_oo_=[0,0,i_oq_]; else {var _or_=fmt_na_.safeGet(i_oq_); if(111===_or_) {var i_os_=i_oq_+1|0; if(len_m$_<=i_os_) var match_oo_=format_invalid_arg_mR_(_aF_,fmt_na_,i_os_); else {var _ot_=fmt_na_.safeGet(i_os_), match_oo_= 118===_ot_ ?[0,3,i_os_+1|0] :format_invalid_arg_mR_ (_bP_(_aE_,_cZ_(1,_ot_)),fmt_na_,i_os_);}} else var match_oo_=118===_or_?[0,2,i_oq_+1|0]:[0,0,i_oq_];}} else var match_oo_=118===_op_?[0,1,_on_+1|0]:[0,4,_on_];} var i_oy_=match_oo_[2], kind_ou_=match_oo_[1], _om_= get_int_oz_ (n_nt_, i_oy_, function(size_ov_,n_ox_,i_ow_) {pp_open_box_gen_lM_(ppf_nc_,size_ov_,kind_ou_); return doprn_nE_(n_ox_,skip_gt_nH_(i_ow_));});} return _om_;}} else {if(10===_nx_) {if(ppf_nc_[14]<ppf_nc_[15]) enqueue_advance_la_(ppf_nc_,make_queue_elem_k__(0,3,0)); var _oA_=i_nv_+1|0,i_nl_=_oA_; continue;} if(32<=_nx_) switch(_nx_-32|0) {case 5: case 32: pp_print_as_char_oB_(_nx_); var _oC_=i_nv_+1|0,i_nl_=_oC_; continue; case 0: pp_print_space_l__(ppf_nc_,0); var _oD_=i_nv_+1|0,i_nl_=_oD_; continue; case 12: pp_print_break_l2_(ppf_nc_,0,0); var _oE_=i_nv_+1|0,i_nl_=_oE_; continue; case 14: pp_flush_queue_lV_(ppf_nc_,1); _ce_(ppf_nc_[18],0); var _oF_=i_nv_+1|0,i_nl_=_oF_; continue; case 27: var _oG_=i_nv_+1|0; if(len_m$_<=_oG_||!(60===fmt_na_.safeGet(_oG_))) {pp_print_space_l__(ppf_nc_,0); var _oH_=doprn_nE_(n_nt_,_oG_);} else {var got_nspaces_oQ_= function(nspaces_oI_,n_oL_,i_oK_) {return get_int_oz_ (n_oL_,i_oK_,_ce_(got_offset_oJ_,nspaces_oI_));}, got_offset_oJ_= function(nspaces_oN_,offset_oM_,n_oP_,i_oO_) {pp_print_break_l2_(ppf_nc_,nspaces_oN_,offset_oM_); return doprn_nE_(n_oP_,skip_gt_nH_(i_oO_));}, _oH_=get_int_oz_(n_nt_,_oG_+1|0,got_nspaces_oQ_);} return _oH_; case 28: return get_int_oz_ (n_nt_, i_nv_+1|0, function(size_oR_,n_oT_,i_oS_) {print_as_nd_[1]=[0,size_oR_]; return doprn_nE_(n_oT_,skip_gt_nH_(i_oS_));}); case 31: pp_print_flush_l9_(ppf_nc_,0); var _oU_=i_nv_+1|0,i_nl_=_oU_; continue; default:}} return invalid_format_nw_(fmt_na_,i_nv_);} pp_print_as_char_oB_(_nn_); var _oV_=i_nl_+1|0,i_nl_=_oV_; continue;}} function cont_s_ns_(n_oZ_,s_oX_,i_oY_) {pp_print_as_string_oW_(s_oX_); return doprn_nE_(n_oZ_,i_oY_);} function cont_a_nr_(n_o3_,printer_o1_,arg_o0_,i_o2_) {if(to_s_nY_) pp_print_as_string_oW_(_fe_(printer_o1_,0,arg_o0_)); else _fe_(printer_o1_,ppf_nc_,arg_o0_); return doprn_nE_(n_o3_,i_o2_);} function cont_t_nq_(n_o6_,printer_o4_,i_o5_) {if(to_s_nY_) pp_print_as_string_oW_(_ce_(printer_o4_,0)); else _ce_(printer_o4_,ppf_nc_); return doprn_nE_(n_o6_,i_o5_);} function cont_f_np_(n_o8_,i_o7_) {pp_print_flush_l9_(ppf_nc_,0); return doprn_nE_(n_o8_,i_o7_);} function cont_m_no_(n_o__,sfmt_pb_,i_o9_) {return kprintf_pa_ (function(param_o$_){return doprn_nE_(n_o__,i_o9_);}, sfmt_pb_);} function get_int_oz_(n_pB_,i_pc_,c_pk_) {var i_pd_=i_pc_; for(;;) {if(len_m$_<=i_pd_) return invalid_integer_m0_(fmt_na_,i_pd_); var _pe_=fmt_na_.safeGet(i_pd_); if(32===_pe_){var _pf_=i_pd_+1|0,i_pd_=_pf_;continue;} if(37===_pe_) {var cont_s_px_= function(n_pj_,s_ph_,i_pi_) {return _eL_ (c_pk_, format_int_of_string_pg_(fmt_na_,i_pi_,s_ph_), n_pj_, i_pi_);}, cont_a_py_= function(_n_pm_,_printer_pn_,_arg_po_,i_pl_) {return invalid_integer_m0_(fmt_na_,i_pl_);}, cont_t_pz_= function(_n_pq_,_printer_pr_,i_pp_) {return invalid_integer_m0_(fmt_na_,i_pp_);}, cont_f_pA_= function(_n_pt_,i_ps_) {return invalid_integer_m0_(fmt_na_,i_ps_);}; return _iA_ (fmt_na_, v_nu_, n_pB_, i_pd_, cont_s_px_, cont_a_py_, cont_t_pz_, cont_f_pA_, function(_n_pv_,_sfmt_pw_,i_pu_) {return invalid_integer_m0_(fmt_na_,i_pu_);});} var j_pC_=i_pd_; for(;;) {if(len_m$_<=j_pC_) var _pD_=invalid_integer_m0_(fmt_na_,j_pC_); else {var _pE_=fmt_na_.safeGet(j_pC_), _pF_=48<=_pE_?58<=_pE_?0:1:45===_pE_?1:0; if(_pF_){var _pG_=j_pC_+1|0,j_pC_=_pG_;continue;} var size_pH_= j_pC_===i_pd_ ?0 :format_int_of_string_pg_ (fmt_na_, j_pC_, _dU_(fmt_na_,index_of_int_dN_(i_pd_),j_pC_-i_pd_|0)), _pD_=_eL_(c_pk_,size_pH_,n_pB_,j_pC_);} return _pD_;}}} function skip_gt_nH_(i_pI_) {var i_pJ_=i_pI_; for(;;) {if(len_m$_<=i_pJ_)return invalid_format_nw_(fmt_na_,i_pJ_); var _pK_=fmt_na_.safeGet(i_pJ_); if(32===_pK_){var _pL_=i_pJ_+1|0,i_pJ_=_pL_;continue;} return 62===_pK_?i_pJ_+1|0:invalid_format_nw_(fmt_na_,i_pJ_);}} return doprn_nE_(index_of_int_dN_(0),0);}, fmt_m__);} return kprintf_pa_;} function fprintf_pS_(ppf_pN_) {function _pP_(_pM_){return 0;} return _eL_(mkprintf_pQ_,0,function(param_pO_){return ppf_pN_;},_pP_);} function eprintf_pU_(fmt_pR_) {return _fe_(fprintf_pS_,err_formatter_mH_,fmt_pR_);} var g_pV_=exit_function_cd_[1]; exit_function_cd_[1]= function(param_pW_){_ce_(print_flush_pT_,0);return _ce_(g_pV_,0);}; function _pZ_(param_pY_) {var seq_pX_=[]; caml_update_dummy(seq_pX_,[0,seq_pX_,seq_pX_]); return seq_pX_;} var Canceled_p0_=[0,_af_],current_data_p1_=[0,0],max_removed_q1_=42; function repr_rec_p5_(t_p2_) {var _p3_=t_p2_[1]; {if(3===_p3_[0]) {var t__p4_=_p3_[1],t___p6_=repr_rec_p5_(t__p4_); if(t___p6_!==t__p4_)t_p2_[1]=[3,t___p6_]; return t___p6_;} return t_p2_;}} function repr_q2_(t_p7_){return repr_rec_p5_(t_p7_);} function call_unsafe_qV_(f_p9_,x_p8_) {try {var _p__=_ce_(f_p9_,x_p8_);} catch(_qa_) {var param_p$_=_jr_[1]; for(;;) {if(param_p$_) {var tl_qe_=param_p$_[2],hd_qb_=param_p$_[1]; try {var _qc_=_ce_(hd_qb_,_qa_),_qd_=_qc_;} catch(_qf_){var _qd_=0;} if(!_qd_){var param_p$_=tl_qe_;continue;}} else if(_qa_[1]!==_bD_&&_qa_[1]!==_bB_) if(_qa_[1]===_bC_) {var match_qg_=_qa_[2],char_qh_=match_qg_[3]; _jc_ (_jq_,_f_,match_qg_[1],match_qg_[2],char_qh_,char_qh_+5|0,_aP_);} else if(_qa_[1]===_d_) {var match_qi_=_qa_[2],char_qj_=match_qi_[3]; _jc_ (_jq_, _f_, match_qi_[1], match_qi_[2], char_qj_, char_qj_+6|0, _aO_);} else if(_qa_[1]===_bA_) {var match_qk_=_qa_[2],char_ql_=match_qk_[3]; _jc_ (_jq_, _f_, match_qk_[1], match_qk_[2], char_ql_, char_ql_+6|0, _aN_);} else {var _qm_=_qa_.length-1,constructor_qp_=_qa_[0+1][0+1]; if(_qm_<0||2<_qm_) {var _qn_=_jx_(_qa_,2), _qo_=_eL_(_jq_,_aM_,_jy_(_qa_,1),_qn_);} else switch(_qm_) {case 1:var _qo_=_aK_;break; case 2:var _qo_=_fe_(_jq_,_aJ_,_jy_(_qa_,1));break; default:var _qo_=_aL_;} _bP_(constructor_qp_,_qo_);} caml_ml_output_char(stderr_b1_,10); var _qq_=caml_get_exception_backtrace(0); if(_qq_) {var a_qr_=_qq_[1],_qs_=0,_qt_=a_qr_.length-1-1|0; if(!(_qt_<_qs_)) {var i_qu_=_qs_; for(;;) {if(caml_notequal(caml_array_get(a_qr_,i_qu_),_aY_)) {var _qv_=caml_array_get(a_qr_,i_qu_), is_raise_qw_=0===_qv_[0]?_qv_[1]:_qv_[1], info_qx_= is_raise_qw_?0===i_qu_?_aV_:_aU_:0===i_qu_?_aT_:_aS_, _qy_= 0===_qv_[0] ?_jc_(_jq_,_aR_,info_qx_,_qv_[2],_qv_[3],_qv_[4],_qv_[5]) :_fe_(_jq_,_aQ_,info_qx_); _eL_(_jp_,stderr_b1_,_aX_,_qy_);} var _qz_=i_qu_+1|0; if(_qt_!==i_qu_){var i_qu_=_qz_;continue;} break;}}} else _fe_(_jp_,stderr_b1_,_aW_); do_at_exit_cg_(0); return caml_sys_exit(2);}} return _p__;} function run_waiters_rec_qK_(state_qE_,ws_qA_,rem_qC_) {var ws_qB_=ws_qA_,rem_qD_=rem_qC_; for(;;) if(typeof ws_qB_==="number") return run_waiters_rec_next_qF_(state_qE_,rem_qD_); else switch(ws_qB_[0]) {case 1: _ce_(ws_qB_[1],state_qE_); return run_waiters_rec_next_qF_(state_qE_,rem_qD_); case 2: var ws1_qG_=ws_qB_[1], _qH_=[0,ws_qB_[2],rem_qD_], ws_qB_=ws1_qG_, rem_qD_=_qH_; continue; default: var _qI_=ws_qB_[1][1]; return _qI_ ?(_ce_(_qI_[1],state_qE_), run_waiters_rec_next_qF_(state_qE_,rem_qD_)) :run_waiters_rec_next_qF_(state_qE_,rem_qD_);}} function run_waiters_rec_next_qF_(state_qL_,rem_qJ_) {return rem_qJ_?run_waiters_rec_qK_(state_qL_,rem_qJ_[1],rem_qJ_[2]):0;} function run_cancel_handlers_rec_qX_(chs_qM_,rem_qO_) {var chs_qN_=chs_qM_,rem_qP_=rem_qO_; for(;;) if(typeof chs_qN_==="number") return run_cancel_handlers_rec_next_qR_(rem_qP_); else switch(chs_qN_[0]) {case 1: var n_qQ_=chs_qN_[1]; if(n_qQ_[4]){n_qQ_[4]=0;n_qQ_[1][2]=n_qQ_[2];n_qQ_[2][1]=n_qQ_[1];} return run_cancel_handlers_rec_next_qR_(rem_qP_); case 2: var chs1_qS_=chs_qN_[1], _qT_=[0,chs_qN_[2],rem_qP_], chs_qN_=chs1_qS_, rem_qP_=_qT_; continue; default: var f_qU_=chs_qN_[2]; current_data_p1_[1]=chs_qN_[1]; call_unsafe_qV_(f_qU_,0); return run_cancel_handlers_rec_next_qR_(rem_qP_);}} function run_cancel_handlers_rec_next_qR_(rem_qW_) {return rem_qW_?run_cancel_handlers_rec_qX_(rem_qW_[1],rem_qW_[2]):0;} function unsafe_run_waiters_q3_(sleeper_qZ_,state_qY_) {var _q0_= 1===state_qY_[0] ?state_qY_[1][1]===Canceled_p0_ ?(run_cancel_handlers_rec_qX_(sleeper_qZ_[4],0),1) :0 :0; _q0_; return run_waiters_rec_qK_(state_qY_,sleeper_qZ_[2],0);} var wakening_q4_=[0,0],_q5_=[0,0,0]; function wakeup_rq_(t_q8_,v_q6_) {var _q7_=[0,v_q6_],t_q9_=repr_rec_p5_(t_q8_),_q__=t_q9_[1]; switch(_q__[0]) {case 1: if(_q__[1][1]===Canceled_p0_){var _q$_=0,_ra_=1;}else var _ra_=0; break; case 2: var sleeper_rb_=_q__[1]; t_q9_[1]=_q7_; var snapshot_rc_=current_data_p1_[1], already_wakening_rd_=wakening_q4_[1]?1:(wakening_q4_[1]=1,0); unsafe_run_waiters_q3_(sleeper_rb_,_q7_); if(already_wakening_rd_) {current_data_p1_[1]=snapshot_rc_;var _re_=0;} else for(;;) {if(0!==_q5_[1]) {if(0===_q5_[1])throw [0,_dF_]; _q5_[1]=_q5_[1]-1|0; var tail_rf_=_q5_[2],head_rg_=tail_rf_[2]; if(head_rg_===tail_rf_)_q5_[2]=0;else tail_rf_[2]=head_rg_[2]; var _rh_=head_rg_[1]; unsafe_run_waiters_q3_(_rh_[1],_rh_[2]); continue;} wakening_q4_[1]=0; current_data_p1_[1]=snapshot_rc_; var _re_=0; break;} var _q$_=_re_,_ra_=1; break; default:var _ra_=0;} if(!_ra_)var _q$_=_bE_(_ag_); return _q$_;} function append_ro_(l1_ri_,l2_rj_) {return typeof l1_ri_==="number" ?l2_rj_ :typeof l2_rj_==="number"?l1_ri_:[2,l1_ri_,l2_rj_];} function cleanup_rl_(ws_rk_) {if(typeof ws_rk_!=="number") switch(ws_rk_[0]) {case 2: var l1_rm_=ws_rk_[1],_rn_=cleanup_rl_(ws_rk_[2]); return append_ro_(cleanup_rl_(l1_rm_),_rn_); case 1:break; default:if(!ws_rk_[1][1])return 0;} return ws_rk_;} var pause_hook_rs_=[0,function(_rp_){return 0;}], _rr_=_pZ_(0), _rv_=[0,0], null_rA_=null, array_constructor_rB_=Array; function _rF_(param_rz_) {var _rt_=1-(_rr_[2]===_rr_?1:0); if(_rt_) {var tmp_ru_=_pZ_(0); tmp_ru_[1][2]=_rr_[2]; _rr_[2][1]=tmp_ru_[1]; tmp_ru_[1]=_rr_[1]; _rr_[1][2]=tmp_ru_; _rr_[1]=_rr_; _rr_[2]=_rr_; _rv_[1]=0; var curr_rw_=tmp_ru_[2]; for(;;) {var _rx_=curr_rw_!==tmp_ru_?1:0; if(_rx_) {if(curr_rw_[4])wakeup_rq_(curr_rw_[3],0); var _ry_=curr_rw_[2],curr_rw_=_ry_; continue;} return _rx_;}} return _rt_;} var undefined_rE_=undefined,_false_rD_=false; function _rG_(e_rC_) {return e_rC_ instanceof array_constructor_rB_ ?0 :[0,new MlWrappedString(e_rC_.toString())];} _jr_[1]=[0,_rG_,_jr_[1]]; function appendChild_rJ_(p_rH_,n_rI_){p_rH_.appendChild(n_rI_);return 0;} var window_rK_=window, document_rL_=window_rK_.document, onIE_rW_=caml_js_on_ie(0)|0; function opt_iter_rV_(x_rM_,f_rN_){return x_rM_?_ce_(f_rN_,x_rM_[1]):0;} function createElement_rQ_(doc_rP_,name_rO_) {return doc_rP_.createElement(name_rO_.toString());} function unsafeCreateElement_rT_(doc_rS_,name_rR_) {return createElement_rQ_(doc_rS_,name_rR_);} function createDiv_rX_(doc_rU_) {return unsafeCreateElement_rT_(doc_rU_,_ab_);} window.HTMLElement===undefined_rE_; pause_hook_rs_[1]= function(param_rY_) {return 1===param_rY_ ?(window_rK_.setTimeout(caml_js_wrap_callback(_rF_),0),0) :0;}; function _tu_(c_r4_,s_r1_) {var n_rZ_=[0,0],_r0_=0,_r2_=s_r1_.getLen()-1|0; if(!(_r2_<_r0_)) {var i_r3_=_r0_; for(;;) {if(s_r1_.safeGet(i_r3_)===c_r4_)n_rZ_[1]+=1; var _r5_=i_r3_+1|0; if(_r2_!==i_r3_){var i_r3_=_r5_;continue;} break;}} return n_rZ_[1];} function _sa_(c_r6_,v_r8_) {var _r7_=c_r6_[12]; if(typeof _r7_!=="number"&&1===_r7_[0]) {c_r6_[8]=[0,v_r8_,c_r6_[8]];return 0;} var _r9_=c_r6_[7]; c_r6_[7]=[0,_ce_(c_r6_[1][20],v_r8_),_r9_]; return 0;} function _sc_(c_r__,s_r$_){return _sa_(c_r__,_ce_(c_r__[1][1],s_r$_));} function _tG_(c_sd_,lexbuf_sb_){return _sc_(c_sd_,_de_(lexbuf_sb_));} function _sn_(c_sf_,style_se_,v_sg_) {return 0===style_se_?(c_sf_[3]=v_sg_,0):(c_sf_[2]=v_sg_,0);} function _ss_(c_si_,style_sh_,inline_sm_,stack_sk_) {var elt_sj_=0===style_sh_?c_si_[1][2]:c_si_[1][3],inline__sl_=c_si_[7]; c_si_[12]=stack_sk_; c_si_[7]=inline_sm_; _sa_(c_si_,_ce_(elt_sj_,_cB_(inline__sl_))); return _sn_(c_si_,style_sh_,0);} function _tE_(c_sp_,style_so_) {var _sq_=0===style_so_?c_sp_[3]:c_sp_[2]; if(_sq_) {var _sr_=c_sp_[12]; if(typeof _sr_!=="number"&&0===_sr_[0]) {var stack_st_=_sr_[3],inline_su_=_sr_[2]; if(caml_equal(_sr_[1],style_so_)) return _ss_(c_sp_,style_so_,inline_su_,stack_st_);} return 0===style_so_?_sc_(c_sp_,_M_):_sc_(c_sp_,_N_);} c_sp_[12]=[0,style_so_,c_sp_[7],c_sp_[12]]; c_sp_[7]=0; return _sn_(c_sp_,style_so_,1);} function _sP_(c_sv_,addr_sz_,stack_sw_) {c_sv_[12]=stack_sw_; var _sx_=c_sv_[7],_sy_=_cB_(c_sv_[8]); c_sv_[7]=[0,_fe_(c_sv_[1][7],addr_sz_,_sy_),_sx_]; c_sv_[8]=0; c_sv_[5]=0; return 0;} function _sH_(c_sA_) {var _sB_=c_sA_[12]; if(typeof _sB_!=="number") switch(_sB_[0]) {case 5: var _sC_=c_sA_[12]; c_sA_[12]=[6,[0,[0,0,_cB_(c_sA_[7])],0],_sC_]; c_sA_[7]=0; return 1; case 6:return 1; case 7: var _sD_=_sB_[2]; if(typeof _sD_!=="number"&&6===_sD_[0]) {var stack_sG_=_sD_[2],entries_sF_=_sD_[1],heading_sE_=_sB_[1]; c_sA_[12]= [6,[0,[0,heading_sE_,_cB_(c_sA_[7])],entries_sF_],stack_sG_]; c_sA_[7]=0; return 1;} break; default:} return 0;} function _s5_(c_sI_) {var _sJ_=_sH_(c_sI_); if(_sJ_) {var _sK_=c_sI_[12]; if(typeof _sK_!=="number") switch(_sK_[0]) {case 5:return 1; case 6: var _sL_=_sK_[2]; if(typeof _sL_!=="number"&&5===_sL_[0]) {var rows_sM_=_sL_[1]; c_sI_[12]=[5,[0,_cB_(_sK_[1]),rows_sM_]]; return 1;} break; default:} throw [0,_d_,_O_];} return _sJ_;} function _tn_(c_sN_,lev_sW_) {for(;;) {var _sO_=c_sN_[12]; if(typeof _sO_==="number") {if(0!==c_sN_[7]) {var _s6_=c_sN_[11],_s7_=_cB_(c_sN_[7]); c_sN_[11]=[0,_ce_(c_sN_[1][8],_s7_),_s6_]; c_sN_[7]=0;} c_sN_[12]=0; return 0;} else switch(_sO_[0]) {case 1:_sP_(c_sN_,_sO_[1],_sO_[2]);continue; case 2: var _sQ_=_sO_[1]-1|0; if(_sQ_<0||4<_sQ_) var f_sR_=c_sN_[1][15]; else switch(_sQ_) {case 1:var f_sR_=c_sN_[1][11];break; case 2:var f_sR_=c_sN_[1][12];break; case 3:var f_sR_=c_sN_[1][13];break; case 4:var f_sR_=c_sN_[1][14];break; default:var f_sR_=c_sN_[1][10];} var _sS_=c_sN_[11]; c_sN_[11]=[0,_ce_(f_sR_,_cB_(c_sN_[7])),_sS_]; c_sN_[7]=0; c_sN_[4]=0; c_sN_[12]=0; return 0; case 3: var stack_sU_=_sO_[1],_sT_=c_sN_[10]; c_sN_[10]=[0,[0,_cB_(c_sN_[7]),0],_sT_]; c_sN_[12]=stack_sU_; c_sN_[7]=0; continue; case 4: var lst_sV_=_sO_[2],stack_s2_=_sO_[3],kind_sX_=_sO_[1]; if(lev_sW_<c_sN_[6]) {c_sN_[6]=c_sN_[6]-1|0; var elt_sY_=0===kind_sX_?c_sN_[1][16]:c_sN_[1][17], cur_lst_sZ_=_ce_(elt_sY_,_cB_(c_sN_[10])); if(0===c_sN_[6]) c_sN_[11]=[0,cur_lst_sZ_,c_sN_[11]]; else {if(lst_sV_) {var _s0_=lst_sV_[1], _s1_= _s0_[2] ?0 :(c_sN_[10]=[0,[0,_s0_[1],[0,cur_lst_sZ_]],lst_sV_[2]],1);} else var _s1_=0; if(!_s1_)throw [0,_d_,_V_];} c_sN_[12]=stack_s2_; continue;} return 0; case 5: var _s3_=c_sN_[11],_s4_=_cB_(_sO_[1]); c_sN_[11]=[0,_ce_(c_sN_[1][19],_s4_),_s3_]; c_sN_[12]=0; return 0; case 6:throw [0,_d_,_U_]; case 7:_s5_(c_sN_);continue; default:_ss_(c_sN_,_sO_[1],_sO_[2],_sO_[3]);continue;}}} function _ty_(c_s8_,kind_tg_,lev_s9_) {var _s__=lev_s9_===(c_s8_[6]+1|0)?1:0; if(_s__) {var _s$_=_s__,_ta_=0;} else {var _tb_=lev_s9_<=c_s8_[6]?1:0; if(_tb_) {var stack_tc_=c_s8_[12],n_td_=c_s8_[6]-lev_s9_|0; for(;;) {if(typeof stack_tc_==="number") var _tj_=1; else switch(stack_tc_[0]) {case 0:var stack_te_=stack_tc_[3],stack_tc_=stack_te_;continue; case 3:var stack_tf_=stack_tc_[1],stack_tc_=stack_tf_;continue; case 4: var stack_tk_=stack_tc_[3],k_th_=stack_tc_[1]; if(0!==n_td_) {var _tl_=n_td_-1|0,stack_tc_=stack_tk_,n_td_=_tl_;continue;} var correct_ti_=caml_equal(k_th_,kind_tg_),_ta_=1,_tj_=0; break; default:var _tj_=1;} if(_tj_)throw [0,_d_,_T_]; break;}} else {var _s$_=_tb_,_ta_=0;}} if(!_ta_)var correct_ti_=_s$_; if(1!==lev_s9_&&!correct_ti_)return 0; var _tm_=correct_ti_?lev_s9_:0; _tn_(c_s8_,_tm_); if(lev_s9_===c_s8_[6]) c_s8_[12]=[3,c_s8_[12]]; else {c_s8_[6]=lev_s9_; c_s8_[12]=[3,[4,kind_tg_,c_s8_[10],c_s8_[12]]]; c_s8_[10]=0;} return 1;} function _tK_(c_to_,heading_tp_) {if(!_s5_(c_to_)){_tn_(c_to_,0);c_to_[12]=_P_;} c_to_[12]=[7,heading_tp_,[6,0,c_to_[12]]]; return 0;} function _tI_(c_tt_,lexbuf_tr_) {var __ocaml_lex_state_tq_=0; for(;;) {var _ts_=_db_(_h_,__ocaml_lex_state_tq_,lexbuf_tr_); if(_ts_<0||8<_ts_) {_ce_(lexbuf_tr_[1],lexbuf_tr_); var __ocaml_lex_state_tq_=_ts_; continue;} switch(_ts_) {case 1: _tn_(c_tt_,0); if(0!==c_tt_[12])throw [0,_d_,_S_]; c_tt_[12]=[2,_tu_(61,_de_(lexbuf_tr_))]; c_tt_[4]=1; var _tw_=_tv_(c_tt_,lexbuf_tr_); break; case 2: var lev_tx_=_tu_(42,_de_(lexbuf_tr_)); if(!_ty_(c_tt_,0,lev_tx_)) {var s_tz_=_de_(lexbuf_tr_),l_tA_=s_tz_.getLen()-lev_tx_|0; if(0<l_tA_)_sc_(c_tt_,_c0_(s_tz_,0,l_tA_)); var _tB_=1,_tC_=lev_tx_/2|0; if(!(_tC_<_tB_)) {var i_tD_=_tB_; for(;;) {_tE_(c_tt_,0); var _tF_=i_tD_+1|0; if(_tC_!==i_tD_){var i_tD_=_tF_;continue;} break;}} if(1===(lev_tx_&1))_sc_(c_tt_,_R_);} var _tw_=_tv_(c_tt_,lexbuf_tr_); break; case 3: if(!_ty_(c_tt_,1,_tu_(35,_de_(lexbuf_tr_))))_tG_(c_tt_,lexbuf_tr_); var _tw_=_tv_(c_tt_,lexbuf_tr_); break; case 4: _tn_(c_tt_,0); var _tH_=c_tt_[11]; c_tt_[11]=[0,_ce_(c_tt_[1][18],0),_tH_]; var _tw_=_tI_(c_tt_,lexbuf_tr_); break; case 5:_tn_(c_tt_,0);var _tw_=_tJ_(c_tt_,lexbuf_tr_);break; case 6:_tK_(c_tt_,0);var _tw_=_tv_(c_tt_,lexbuf_tr_);break; case 7:_tK_(c_tt_,1);var _tw_=_tv_(c_tt_,lexbuf_tr_);break; case 8:var _tw_=_tv_(c_tt_,lexbuf_tr_);break; default:_tn_(c_tt_,0);var _tw_=_tI_(c_tt_,lexbuf_tr_);} return _tw_;}} function _tv_(c_tO_,lexbuf_tM_) {var __ocaml_lex_state_tL_=25; for(;;) {var _tN_=_db_(_h_,__ocaml_lex_state_tL_,lexbuf_tM_); if(_tN_<0||17<_tN_) {_ce_(lexbuf_tM_[1],lexbuf_tM_); var __ocaml_lex_state_tL_=_tN_; continue;} switch(_tN_) {case 1:_tE_(c_tO_,0);var _tP_=_tv_(c_tO_,lexbuf_tM_);break; case 2:_tE_(c_tO_,1);var _tP_=_tv_(c_tO_,lexbuf_tM_);break; case 3: if(c_tO_[4])_tn_(c_tO_,0);else _tG_(c_tO_,lexbuf_tM_); var _tP_=_tI_(c_tO_,lexbuf_tM_); break; case 4: if(c_tO_[5]) var _tP_=_tG_(c_tO_,lexbuf_tM_); else {var s_tQ_=_de_(lexbuf_tM_), addr_tR_=_c0_(s_tQ_,2,s_tQ_.getLen()-4|0), _tS_=c_tO_[7], _tT_=[0,_ce_(c_tO_[1][1],addr_tR_),0]; c_tO_[7]=[0,_fe_(c_tO_[1][7],addr_tR_,_tT_),_tS_]; var _tP_=_tv_(c_tO_,lexbuf_tM_);} break; case 5: if(c_tO_[5]) _tG_(c_tO_,lexbuf_tM_); else {var s_tU_=_de_(lexbuf_tM_), addr_tV_=_c0_(s_tU_,2,s_tU_.getLen()-3|0); c_tO_[12]=[1,addr_tV_,c_tO_[12]]; c_tO_[5]=1;} var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 6: var _tW_=c_tO_[12], _tX_= typeof _tW_==="number" ?0 :1===_tW_[0]?(_sP_(c_tO_,_tW_[1],_tW_[2]),1):0; if(!_tX_)_tG_(c_tO_,lexbuf_tM_); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 7: if(c_tO_[5]) var _tP_=_tG_(c_tO_,lexbuf_tM_); else {var addr_tY_=_de_(lexbuf_tM_), _tZ_=c_tO_[7], _t0_=[0,_ce_(c_tO_[1][1],addr_tY_),0]; c_tO_[7]=[0,_fe_(c_tO_[1][7],addr_tY_,_t0_),_tZ_]; var _tP_=_tv_(c_tO_,lexbuf_tM_);} break; case 8: _sa_(c_tO_,_ce_(c_tO_[1][4],0)); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 9: var s_t1_=_de_(lexbuf_tM_),i_t2_=0,_t4_=124,_t3_=s_t1_.getLen(); for(;;) {if(_t3_<=i_t2_)throw [0,_c_]; if(s_t1_.safeGet(i_t2_)!==_t4_) {var _t7_=i_t2_+1|0,i_t2_=_t7_;continue;} var url_t5_=_c0_(s_t1_,2,i_t2_-2|0), alt_t6_=_c0_(s_t1_,i_t2_+1|0,(s_t1_.getLen()-i_t2_|0)-3|0); _sa_(c_tO_,_fe_(c_tO_[1][5],url_t5_,alt_t6_)); var _tP_=_tv_(c_tO_,lexbuf_tM_); break;} break; case 10: var s_t8_=_de_(lexbuf_tM_), txt_t9_=_c0_(s_t8_,3,s_t8_.getLen()-6|0), _t__=_ce_(c_tO_[1][1],txt_t9_), _t$_=[0,_ce_(c_tO_[1][20],_t__),0]; _sa_(c_tO_,_ce_(c_tO_[1][6],_t$_)); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 11: _sc_(c_tO_,_c0_(_de_(lexbuf_tM_),1,1)); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 12: if(!_s5_(c_tO_))_tG_(c_tO_,lexbuf_tM_); var _tP_=_tI_(c_tO_,lexbuf_tM_); break; case 13: if(_sH_(c_tO_)) c_tO_[12]=[7,0,c_tO_[12]]; else _tG_(c_tO_,lexbuf_tM_); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 14: if(_sH_(c_tO_)) c_tO_[12]=[7,1,c_tO_[12]]; else _tG_(c_tO_,lexbuf_tM_); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 15: _tG_(c_tO_,lexbuf_tM_);var _tP_=_tv_(c_tO_,lexbuf_tM_);break; case 16: _fe_(eprintf_pU_,_Q_,_de_(lexbuf_tM_)); var _tP_=_tv_(c_tO_,lexbuf_tM_); break; case 17:var _tP_=_tn_(c_tO_,0);break; default: if(c_tO_[4])_tn_(c_tO_,0);else _tG_(c_tO_,lexbuf_tM_); var _tP_=_tI_(c_tO_,lexbuf_tM_);} return _tP_;}} function _tJ_(c_ud_,lexbuf_ub_) {var __ocaml_lex_state_ua_=77; for(;;) {var _uc_=_db_(_h_,__ocaml_lex_state_ua_,lexbuf_ub_); if(_uc_<0||2<_uc_) {_ce_(lexbuf_ub_[1],lexbuf_ub_); var __ocaml_lex_state_ua_=_uc_; continue;} switch(_uc_) {case 1: var _ue_=c_ud_[11],_uf_=_cB_(c_ud_[9]); c_ud_[11]=[0,_ce_(c_ud_[1][9],_uf_),_ue_]; c_ud_[9]=0; var _ug_=_tI_(c_ud_,lexbuf_ub_); break; case 2: var _uh_=c_ud_[9]; c_ud_[9]=[0,_de_(lexbuf_ub_),_uh_]; var _ug_=_tJ_(c_ud_,lexbuf_ub_); break; default: var s_ui_=_de_(lexbuf_ub_),_uj_=c_ud_[9]; c_ud_[9]=[0,_c0_(s_ui_,1,s_ui_.getLen()-1|0),_uj_]; var _ug_=_tJ_(c_ud_,lexbuf_ub_);} return _ug_;}} function node_uo_(x_uk_){return x_uk_;} function _uv_(e_um_,l_un_) {_cC_(function(c_ul_){return appendChild_rJ_(e_um_,c_ul_);},l_un_); return node_uo_(e_um_);} function list_builder_uJ_(d_uu_,tag_ux_,c_uw_) {var _uy_= _cv_ (function(param_up_) {var l_uq_=param_up_[2], c_us_=param_up_[1], _ur_=l_uq_?[0,l_uq_[1],0]:0, _ut_=_bV_(c_us_,_ur_); return _uv_(d_uu_.createElement(_q_.toString()),_ut_);}, c_uw_); return _uv_(d_uu_.createElement(tag_ux_.toString()),_uy_);} function _u6_(x_uz_){return x_uz_;} function _u7_(rows_uF_) {var rows_uG_= _cv_ (function(entries_uD_) {var _uE_= _cv_ (function(param_uA_) {var c_uC_=param_uA_[2],kind_uB_=param_uA_[1]?_v_:_u_; return _uv_ (document_rL_.createElement(kind_uB_.toString()),c_uC_);}, entries_uD_); return _uv_(document_rL_.createElement(_t_.toString()),_uE_);}, rows_uF_), _uH_=[0,_uv_(document_rL_.createElement(_s_.toString()),rows_uG_),0]; return _uv_(document_rL_.createElement(_r_.toString()),_uH_);} function _u8_(param_uI_) {return node_uo_(document_rL_.createElement(_w_.toString()));} function _u9_(s_uK_){return list_builder_uJ_(document_rL_,_x_,s_uK_);} function _u__(s_uL_){return list_builder_uJ_(document_rL_,_y_,s_uL_);} function _u$_(s_uM_) {return _uv_(document_rL_.createElement(_z_.toString()),s_uM_);} function _va_(s_uN_) {return _uv_(document_rL_.createElement(_A_.toString()),s_uN_);} function _vb_(s_uO_) {return _uv_(document_rL_.createElement(_B_.toString()),s_uO_);} function _vc_(s_uP_) {return _uv_(document_rL_.createElement(_C_.toString()),s_uP_);} function _vd_(s_uQ_) {return _uv_(document_rL_.createElement(_D_.toString()),s_uQ_);} function _ve_(s_uR_) {return _uv_(document_rL_.createElement(_E_.toString()),s_uR_);} function _vf_(s_uT_) {var p_uS_=document_rL_.createElement(_G_.toString()); appendChild_rJ_ (p_uS_,document_rL_.createTextNode(_c2_(_F_,s_uT_).toString())); return node_uo_(p_uS_);} function _vg_(s_uU_) {return _uv_(document_rL_.createElement(_H_.toString()),s_uU_);} function _vh_(addr_uW_,s_uX_) {var _uV_=unsafeCreateElement_rT_(document_rL_,_ad_); _uV_.href=addr_uW_.toString(); return _uv_(_uV_,s_uX_);} function _vi_(s_uY_) {return _uv_(document_rL_.createElement(_I_.toString()),s_uY_);} function _vj_(addr_u0_,alt_u1_) {var _uZ_=unsafeCreateElement_rT_(document_rL_,_ae_); _uZ_.src=addr_u0_.toString(); _uZ_.alt=alt_u1_.toString(); return node_uo_(_uZ_);} function _vk_(param_u2_) {return node_uo_(document_rL_.createElement(_J_.toString()));} function _vl_(s_u3_) {return _uv_(document_rL_.createElement(_K_.toString()),s_u3_);} function _vm_(s_u4_) {return _uv_(document_rL_.createElement(_L_.toString()),s_u4_);} var _vL_= [0, function(s_u5_) {return node_uo_(document_rL_.createTextNode(s_u5_.toString()));}, _vm_, _vl_, _vk_, _vj_, _vi_, _vh_, _vg_, _vf_, _ve_, _vd_, _vc_, _vb_, _va_, _u$_, _u__, _u9_, _u8_, _u7_, _u6_]; function onload_wE_(param_wD_) {var _vn_=document_rL_.getElementById(_o_.toString()); if(_vn_==null_rA_)throw [0,_d_,_p_]; var _vo_=0,_vp_=0; if(0===_vp_&&0===_vo_) {var _vq_=createElement_rQ_(document_rL_,_g_),_vr_=1;} else var _vr_=0; if(!_vr_) if(onIE_rW_) {var a_vs_=new array_constructor_rB_(); a_vs_.push(_Y_.toString(),_g_.toString()); opt_iter_rV_ (_vp_, function(t_vt_) {a_vs_.push (_Z_.toString(),caml_js_html_escape(t_vt_),___.toString()); return 0;}); opt_iter_rV_ (_vo_, function(n_vu_) {a_vs_.push (_$_.toString(),caml_js_html_escape(n_vu_),_aa_.toString()); return 0;}); a_vs_.push(_X_.toString()); var _vq_=document_rL_.createElement(a_vs_.join(_W_.toString()));} else {var res_vv_=createElement_rQ_(document_rL_,_g_); opt_iter_rV_(_vp_,function(t_vw_){return res_vv_.type=t_vw_;}); opt_iter_rV_(_vo_,function(n_vx_){return res_vv_.name=n_vx_;}); var _vq_=res_vv_;} _vq_.rows=20; _vq_.cols=80; var preview_vy_=createDiv_rX_(document_rL_); preview_vy_.style.border=_n_.toString(); preview_vy_.style.padding=_m_.toString(); appendChild_rJ_(_vn_,_vq_); appendChild_rJ_(_vn_,unsafeCreateElement_rT_(document_rL_,_ac_)); appendChild_rJ_(_vn_,preview_vy_); function dyn_preview_vW_(old_text_vA_,n_vS_) {var text_vz_=new MlWrappedString(_vq_.value); if(caml_string_notequal(text_vz_,old_text_vA_)) {try {var _vK_=[0], _vJ_=1, _vI_=0, _vH_=0, _vG_=0, _vF_=0, _vE_=0, _vD_=text_vz_.getLen(), _vC_=_bP_(text_vz_,_bj_), _vM_=[0,_vL_,0,0,0,0,0,0,0,0,0,0,0]; _tI_ (_vM_, [0, function(lexbuf_vB_){lexbuf_vB_[9]=1;return 0;}, _vC_, _vD_, _vE_, _vF_, _vG_, _vH_, _vI_, _vJ_, _vK_, _e_, _e_]); var _vN_=_cB_(_vM_[11]), _vP_=_uv_(createDiv_rX_(document_rL_),_vN_), _vO_=preview_vy_.firstChild; if(_vO_!=null_rA_)preview_vy_.removeChild(_vO_); appendChild_rJ_(preview_vy_,_vP_);} catch(_vR_){} var n_vQ_=20;} else {var _vT_=n_vS_-1|0, _vU_=0, _vV_=caml_greaterequal(_vU_,_vT_)?_vU_:_vT_, n_vQ_=_vV_;} function _vY_(param_vX_){return dyn_preview_vW_(text_vz_,n_vQ_);} var _vZ_=0===n_vQ_?0.5:0.1, _v0_=[0,[2,[0,1,0,0,0]]], _v2_=_vZ_*1000, id_v3_= window_rK_.setTimeout (caml_js_wrap_callback (function(param_v1_){return wakeup_rq_(_v0_,0);}), _v2_); function _v5_(param_v4_){return window_rK_.clearTimeout(id_v3_);} var _v6_=repr_q2_(_v0_)[1]; switch(_v6_[0]) {case 1: var _v7_=_v6_[1][1]===Canceled_p0_?(call_unsafe_qV_(_v5_,0),1):0; break; case 2: var sleeper_v8_=_v6_[1], handler_v9_=[0,current_data_p1_[1],_v5_], _v__=sleeper_v8_[4], _v$_=typeof _v__==="number"?handler_v9_:[2,handler_v9_,_v__]; sleeper_v8_[4]=_v$_; var _v7_=1; break; default:var _v7_=0;} _v7_; var t_wa_=repr_q2_(_v0_),_wb_=t_wa_[1]; switch(_wb_[0]) {case 1:var _wc_=[0,_wb_];break; case 2: var sleeper_wd_=_wb_[1], _we_=[0,[2,[0,[0,[0,t_wa_]],0,0,0]]], data_wg_=current_data_p1_[1], _wA_= [1, function(state_wf_) {switch(state_wf_[0]) {case 0: var v_wh_=state_wf_[1]; current_data_p1_[1]=data_wg_; try {var _wi_=_vY_(v_wh_),_wj_=_wi_;} catch(_wk_){var _wj_=[0,[1,_wk_]];} var t1_wl_=repr_q2_(_we_), t2_wm_=repr_q2_(_wj_), _wn_=t1_wl_[1]; {if(2===_wn_[0]) {var sleeper1_wo_=_wn_[1]; if(t1_wl_===t2_wm_) var _wp_=0; else {var _wq_=t2_wm_[1]; if(2===_wq_[0]) {var sleeper2_wr_=_wq_[1]; t2_wm_[1]=[3,t1_wl_]; sleeper1_wo_[1]=sleeper2_wr_[1]; var waiters_ws_=append_ro_(sleeper1_wo_[2],sleeper2_wr_[2]), removed_wt_=sleeper1_wo_[3]+sleeper2_wr_[3]|0; if(max_removed_q1_<removed_wt_) {sleeper1_wo_[3]=0; sleeper1_wo_[2]=cleanup_rl_(waiters_ws_);} else {sleeper1_wo_[3]=removed_wt_;sleeper1_wo_[2]=waiters_ws_;} var _wu_=sleeper2_wr_[4], _wv_=sleeper1_wo_[4], _ww_= typeof _wv_==="number" ?_wu_ :typeof _wu_==="number"?_wv_:[2,_wv_,_wu_]; sleeper1_wo_[4]=_ww_; var _wp_=0;} else {t1_wl_[1]=_wq_; var _wp_=unsafe_run_waiters_q3_(sleeper1_wo_,_wq_);}} return _wp_;} throw [0,_d_,_ah_];} case 1: var t_wx_=repr_q2_(_we_),_wy_=t_wx_[1]; {if(2===_wy_[0]) {var sleeper_wz_=_wy_[1]; t_wx_[1]=state_wf_; return unsafe_run_waiters_q3_(sleeper_wz_,state_wf_);} throw [0,_d_,_ai_];} default:throw [0,_d_,_ak_];}}], _wB_=sleeper_wd_[2], _wC_=typeof _wB_==="number"?_wA_:[2,_wA_,_wB_]; sleeper_wd_[2]=_wC_; var _wc_=_we_; break; case 3:throw [0,_d_,_aj_]; default:var _wc_=_vY_(_wb_[1]);} return _wc_;} dyn_preview_vW_(_l_,0); return _false_rD_;} window_rK_.onload= caml_js_wrap_callback (function(e_wF_) {if(e_wF_) {var res_wG_=onload_wE_(e_wF_); if(!(res_wG_|0))e_wF_.preventDefault(); return res_wG_;} var _wH_=event,res_wI_=onload_wE_(_wH_); _wH_.returnValue=res_wI_; return res_wI_;}); do_at_exit_cg_(0); return;} ());