You are on page 1of 621

/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */

/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */


/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var PDFJS = {};
(function pdfjsWrapper() {
// Use strict in our context only - users might not want it
'use strict';
PDFJS.build =
'4e90760';
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
/* Copyright 2012 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
var globalScope = (typeof window === 'undefined') ? this : window;
var isWorker = (typeof window == 'undefined');
var ERRORS = 0, WARNINGS = 1, INFOS = 5;
var verbosity = WARNINGS;
//
//
//
if

The global PDFJS object exposes the API


In production, it will be declared outside a global wrapper
In development, it will be declared here
(!globalScope.PDFJS) {
globalScope.PDFJS = {};

}
// getPdf()

// Convenience function to perform binary Ajax GET


// Usage: getPdf('http://...', callback)
//
getPdf({
//
url:String ,
//
[,progress:Function, error:Function]
//
},
//
callback)
function getPdf(arg, callback) {
var params = arg;
if (typeof arg === 'string')
params = { url: arg };
var xhr = new XMLHttpRequest();
xhr.open('GET', params.url);
var headers = params.headers;
if (headers) {
for (var property in headers) {
if (typeof headers[property] === 'undefined')
continue;
xhr.setRequestHeader(property, params.headers[property]);
}
}
xhr.mozResponseType = xhr.responseType = 'arraybuffer';
var protocol = params.url.substring(0, params.url.indexOf(':') + 1);
xhr.expected = (protocol === 'http:' || protocol === 'https:') ? 200 : 0;
if ('progress' in params)
xhr.onprogress = params.progress || undefined;
var calledErrorBack = false;
if ('error' in params) {
xhr.onerror = function errorBack() {
if (!calledErrorBack) {
calledErrorBack = true;
params.error();
}
}
}
xhr.onreadystatechange = function getPdfOnreadystatechange(e) {
if (xhr.readyState === 4) {
if (xhr.status === xhr.expected) {
var data = (xhr.mozResponseArrayBuffer || xhr.mozResponse ||
xhr.responseArrayBuffer || xhr.response);
callback(data);
} else if (params.error && !calledErrorBack) {
calledErrorBack = true;
params.error(e);
}
}
};
xhr.send(null);
}
globalScope.PDFJS.getPdf = getPdf;
globalScope.PDFJS.pdfBug = false;

var Page = (function PageClosure() {


function Page(xref, pageIndex, pageDict, ref) {
this.pageIndex = pageIndex;
this.pageDict = pageDict;
this.xref = xref;
this.ref = ref;
this.displayReadyPromise = null;
}
Page.prototype = {
getPageProp: function Page_getPageProp(key) {
return this.pageDict.get(key);
},
inheritPageProp: function Page_inheritPageProp(key) {
var dict = this.pageDict;
var obj = dict.get(key);
while (obj === undefined) {
dict = dict.get('Parent');
if (!dict)
break;
obj = dict.get(key);
}
return obj;
},
get content() {
return shadow(this, 'content', this.getPageProp('Contents'));
},
get resources() {
return shadow(this, 'resources', this.inheritPageProp('Resources'));
},
get mediaBox() {
var obj = this.inheritPageProp('MediaBox');
// Reset invalid media box to letter size.
if (!isArray(obj) || obj.length !== 4)
obj = [0, 0, 612, 792];
return shadow(this, 'mediaBox', obj);
},
get view() {
var mediaBox = this.mediaBox;
var cropBox = this.inheritPageProp('CropBox');
if (!isArray(cropBox) || cropBox.length !== 4)
return shadow(this, 'view', mediaBox);
// From the spec, 6th ed., p.963:
// "The crop, bleed, trim, and art boxes should not ordinarily
// extend beyond the boundaries of the media box. If they do, they are
// effectively reduced to their intersection with the media box."
cropBox = Util.intersect(cropBox, mediaBox);
if (!cropBox)
return shadow(this, 'view', mediaBox);
return shadow(this, 'view', cropBox);
},
get annotations() {
return shadow(this, 'annotations', this.inheritPageProp('Annots'));
},
get rotate() {
var rotate = this.inheritPageProp('Rotate') || 0;
// Normalize rotation so it's a multiple of 90 and between 0 and 270

if (rotate % 90 != 0) {
rotate = 0;
} else if (rotate >= 360) {
rotate = rotate % 360;
} else if (rotate < 0) {
// The spec doesn't cover negatives, assume its counterclockwise
// rotation. The following is the other implementation of modulo.
rotate = ((rotate % 360) + 360) % 360;
}
return shadow(this, 'rotate', rotate);
},
getContentStream: function Page_getContentStream() {
var content = this.content;
if (isArray(content)) {
// fetching items
var xref = this.xref;
var i, n = content.length;
var streams = [];
for (i = 0; i < n; ++i)
streams.push(xref.fetchIfRef(content[i]));
content = new StreamsSequenceStream(streams);
} else if (isStream(content)) {
content.reset();
} else if (!content) {
// replacing non-existent page content with empty one
content = new NullStream();
}
return content;
},
getOperatorList: function Page_getOperatorList(handler, dependency) {
var xref = this.xref;
var contentStream = this.getContentStream();
var resources = this.resources;
var pe = this.pe = new PartialEvaluator(
xref, handler, this.pageIndex,
'p' + this.pageIndex + '_');
return pe.getOperatorList(contentStream, resources, dependency);
},
extractTextContent: function Page_extractTextContent() {
var handler = {
on: function nullHandlerOn() {},
send: function nullHandlerSend() {}
};
var xref = this.xref;
var contentStream = this.getContentStream();
var resources = xref.fetchIfRef(this.resources);
var pe = new PartialEvaluator(
xref, handler, this.pageIndex,
'p' + this.pageIndex + '_');
return pe.getTextContent(contentStream, resources);
},
getLinks: function Page_getLinks() {
var links = [];
var annotations = this.getAnnotations();
var i, n = annotations.length;
for (i = 0; i < n; ++i) {
if (annotations[i].type != 'Link')

continue;
links.push(annotations[i]);
}
return links;
},
getAnnotations: function Page_getAnnotations() {
var xref = this.xref;
function getInheritableProperty(annotation, name) {
var item = annotation;
while (item && !item.has(name)) {
item = item.get('Parent');
}
if (!item)
return null;
return item.get(name);
}
function isValidUrl(url) {
if (!url)
return false;
var colon = url.indexOf(':');
if (colon < 0)
return false;
var protocol = url.substr(0, colon);
switch (protocol) {
case 'http':
case 'https':
case 'ftp':
case 'mailto':
return true;
default:
return false;
}
}
var annotations = this.annotations || [];
var i, n = annotations.length;
var items = [];
for (i = 0; i < n; ++i) {
var annotationRef = annotations[i];
var annotation = xref.fetch(annotationRef);
if (!isDict(annotation))
continue;
var subtype = annotation.get('Subtype');
if (!isName(subtype))
continue;
var rect = annotation.get('Rect');
var item = {};
item.type = subtype.name;
item.rect = rect;
switch (subtype.name) {
case 'Link':
var a = annotation.get('A');
if (a) {
switch (a.get('S').name) {
case 'URI':
var url = a.get('URI');
// TODO: pdf spec mentions urls can be relative to a Base
// entry in the dictionary.
if (!isValidUrl(url))

url = '';
item.url = url;
break;
case 'GoTo':
item.dest = a.get('D');
break;
case 'GoToR':
var url = a.get('F');
// TODO: pdf reference says that GoToR
// can also have 'NewWindow' attribute
if (!isValidUrl(url))
url = '';
item.url = url;
item.dest = a.get('D');
break;
default:
TODO('unrecognized link type: ' + a.get('S').name);
}
} else if (annotation.has('Dest')) {
// simple destination link
var dest = annotation.get('Dest');
item.dest = isName(dest) ? dest.name : dest;
}
break;
case 'Widget':
var fieldType = getInheritableProperty(annotation, 'FT');
if (!isName(fieldType))
break;
item.fieldType = fieldType.name;
// Building the full field name by collecting the field and
// its ancestors 'T' properties and joining them using '.'.
var fieldName = [];
var namedItem = annotation, ref = annotationRef;
while (namedItem) {
var parent = namedItem.get('Parent');
var parentRef = namedItem.getRaw('Parent');
var name = namedItem.get('T');
if (name) {
fieldName.unshift(stringToPDFString(name));
} else {
// The field name is absent, that means more than one field
// with the same name may exist. Replacing the empty name
// with the '`' plus index in the parent's 'Kids' array.
// This is not in the PDF spec but necessary to id the
// the input controls.
var kids = parent.get('Kids');
var j, jj;
for (j = 0, jj = kids.length; j < jj; j++) {
var kidRef = kids[j];
if (kidRef.num == ref.num && kidRef.gen == ref.gen)
break;
}
fieldName.unshift('`' + j);
}
namedItem = parent;
ref = parentRef;
}
item.fullName = fieldName.join('.');
var alternativeText = stringToPDFString(annotation.get('TU') || '');
item.alternativeText = alternativeText;

var da = getInheritableProperty(annotation, 'DA') || '';


var m = /([\d\.]+)\sTf/.exec(da);
if (m)
item.fontSize = parseFloat(m[1]);
item.textAlignment = getInheritableProperty(annotation, 'Q');
item.flags = getInheritableProperty(annotation, 'Ff') || 0;
break;
case 'Text':
var content = annotation.get('Contents');
var title = annotation.get('T');
item.content = stringToPDFString(content || '');
item.title = stringToPDFString(title || '');
item.name = !annotation.has('Name') ? 'Note' :
annotation.get('Name').name;
break;
default:
TODO('unimplemented annotation type: ' + subtype.name);
break;
}
items.push(item);
}
return items;
}
};
return Page;
})();
/**
* The `PDFDocument` holds all the data of the PDF file. Compared to the
* `PDFDoc`, this one doesn't have any job management code.
* Right now there exists one PDFDocument on the main thread + one object
* for each worker. If there is no worker support enabled, there are two
* `PDFDocument` objects on the main thread created.
*/
var PDFDocument = (function PDFDocumentClosure() {
function PDFDocument(arg, password) {
if (isStream(arg))
init.call(this, arg, password);
else if (isArrayBuffer(arg))
init.call(this, new Stream(arg), password);
else
error('PDFDocument: Unknown argument type');
}
function init(stream, password) {
assertWellFormed(stream.length > 0, 'stream must have data');
this.stream = stream;
this.setup(password);
this.acroForm = this.catalog.catDict.get('AcroForm');
}
function find(stream, needle, limit, backwards) {
var pos = stream.pos;
var end = stream.end;
var str = '';
if (pos + limit > end)
limit = end - pos;
for (var n = 0; n < limit; ++n)
str += stream.getChar();

stream.pos = pos;
var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);
if (index == -1)
return false; /* not found */
stream.pos += index;
return true; /* found */
}
var DocumentInfoValidators = {
get entries() {
// Lazily build this since all the validation functions below are not
// defined until after this file loads.
return shadow(this, 'entries', {
Title: isString,
Author: isString,
Subject: isString,
Keywords: isString,
Creator: isString,
Producer: isString,
CreationDate: isString,
ModDate: isString,
Trapped: isName
});
}
};
PDFDocument.prototype = {
get linearization() {
var length = this.stream.length;
var linearization = false;
if (length) {
try {
linearization = new Linearization(this.stream);
if (linearization.length != length)
linearization = false;
} catch (err) {
warn('The linearization data is not available ' +
'or unreadable pdf data is found');
linearization = false;
}
}
// shadow the prototype getter with a data property
return shadow(this, 'linearization', linearization);
},
get startXRef() {
var stream = this.stream;
var startXRef = 0;
var linearization = this.linearization;
if (linearization) {
// Find end of first obj.
stream.reset();
if (find(stream, 'endobj', 1024))
startXRef = stream.pos + 6;
} else {
// Find startxref by jumping backward from the end of the file.
var step = 1024;
var found = false, pos = stream.end;
while (!found && pos > 0) {
pos -= step - 'startxref'.length;
if (pos < 0)

pos = 0;
stream.pos = pos;
found = find(stream, 'startxref', step, true);
}
if (found) {
stream.skip(9);
var ch;
do {
ch = stream.getChar();
} while (Lexer.isSpace(ch));
var str = '';
while ((ch - '0') <= 9) {
str += ch;
ch = stream.getChar();
}
startXRef = parseInt(str, 10);
if (isNaN(startXRef))
startXRef = 0;
}
}
// shadow the prototype getter with a data property
return shadow(this, 'startXRef', startXRef);
},
get mainXRefEntriesOffset() {
var mainXRefEntriesOffset = 0;
var linearization = this.linearization;
if (linearization)
mainXRefEntriesOffset = linearization.mainXRefEntriesOffset;
// shadow the prototype getter with a data property
return shadow(this, 'mainXRefEntriesOffset', mainXRefEntriesOffset);
},
// Find the header, remove leading garbage and setup the stream
// starting from the header.
checkHeader: function PDFDocument_checkHeader() {
var stream = this.stream;
stream.reset();
if (find(stream, '%PDF-', 1024)) {
// Found the header, trim off any garbage before it.
stream.moveStart();
return;
}
// May not be a PDF file, continue anyway.
},
setup: function PDFDocument_setup(password) {
this.checkHeader();
var xref = new XRef(this.stream,
this.startXRef,
this.mainXRefEntriesOffset,
password);
this.xref = xref;
this.catalog = new Catalog(xref);
},
get numPages() {
var linearization = this.linearization;
var num = linearization ? linearization.numPages : this.catalog.numPages;
// shadow the prototype getter
return shadow(this, 'numPages', num);
},
getDocumentInfo: function PDFDocument_getDocumentInfo() {
var docInfo = {

IsAcroFormPresent: !!this.acroForm
};
if (this.xref.trailer.has('Info')) {
var infoDict = this.xref.trailer.get('Info');
var validEntries = DocumentInfoValidators.entries;
// Only fill the document info with valid entries from the spec.
for (var key in validEntries) {
if (infoDict.has(key)) {
var value = infoDict.get(key);
// Make sure the value conforms to the spec.
if (validEntries[key](value)) {
docInfo[key] = typeof value !== 'string' ? value :
stringToPDFString(value);
} else {
info('Bad value in document info for "' + key + '"');
}
}
}
}
return shadow(this, 'getDocumentInfo', docInfo);
},
getFingerprint: function PDFDocument_getFingerprint() {
var xref = this.xref, fileID;
if (xref.trailer.has('ID')) {
fileID = '';
var id = xref.trailer.get('ID')[0];
id.split('').forEach(function(el) {
fileID += Number(el.charCodeAt(0)).toString(16);
});
} else {
// If we got no fileID, then we generate one,
// from the first 100 bytes of PDF
var data = this.stream.bytes.subarray(0, 100);
var hash = calculateMD5(data, 0, data.length);
fileID = '';
for (var i = 0, length = hash.length; i < length; i++) {
fileID += Number(hash[i]).toString(16);
}
}
return shadow(this, 'getFingerprint', fileID);
},
getPage: function PDFDocument_getPage(n) {
return this.catalog.getPage(n);
}
};
return PDFDocument;
})();

// Use only for debugging purposes. This should not be used in any code that is
// in mozilla master.
var log = (function() {
if ('console' in globalScope && 'log' in globalScope['console']) {
return globalScope['console']['log'].bind(globalScope['console']);
} else {
return function nop() {

};
}
})();
// A notice for devs that will not trigger the fallback UI. These are good
// for things that are helpful to devs, such as warning that Workers were
// disabled, which is important to devs but not end users.
function info(msg) {
if (verbosity >= INFOS) {
log('Info: ' + msg);
PDFJS.LogManager.notify('info', msg);
}
}
// Non-fatal warnings that should trigger the fallback UI.
function warn(msg) {
if (verbosity >= WARNINGS) {
log('Warning: ' + msg);
PDFJS.LogManager.notify('warn', msg);
}
}
// Fatal errors that should trigger the fallback UI and halt execution by
// throwing an exception.
function error(msg) {
// If multiple arguments were passed, pass them all to the log function.
if (arguments.length > 1) {
var logArguments = ['Error:'];
logArguments.push.apply(logArguments, arguments);
log.apply(null, logArguments);
// Join the arguments into a single string for the lines below.
msg = [].join.call(arguments, ' ');
} else {
log('Error: ' + msg);
}
log(backtrace());
PDFJS.LogManager.notify('error', msg);
throw new Error(msg);
}
// Missing features that should trigger the fallback UI.
function TODO(what) {
warn('TODO: ' + what);
}
function backtrace() {
try {
throw new Error();
} catch (e) {
return e.stack ? e.stack.split('\n').slice(2).join('\n') : '';
}
}
function assert(cond, msg) {
if (!cond)
error(msg);
}
// Combines two URLs. The baseUrl shall be absolute URL. If the url is an
// absolute URL, it will be returned as is.

function combineUrl(baseUrl, url) {


if (url.indexOf(':') >= 0)
return url;
if (url.charAt(0) == '/') {
// absolute path
var i = baseUrl.indexOf('://');
i = baseUrl.indexOf('/', i + 3);
return baseUrl.substring(0, i) + url;
} else {
// relative path
var pathLength = baseUrl.length, i;
i = baseUrl.lastIndexOf('#');
pathLength = i >= 0 ? i : pathLength;
i = baseUrl.lastIndexOf('?', pathLength);
pathLength = i >= 0 ? i : pathLength;
var prefixLength = baseUrl.lastIndexOf('/', pathLength);
return baseUrl.substring(0, prefixLength + 1) + url;
}
}
// In a well-formed PDF, |cond| holds. If it doesn't, subsequent
// behavior is undefined.
function assertWellFormed(cond, msg) {
if (!cond)
error(msg);
}
var LogManager = PDFJS.LogManager = (function LogManagerClosure() {
var loggers = [];
return {
addLogger: function logManager_addLogger(logger) {
loggers.push(logger);
},
notify: function(type, message) {
for (var i = 0, ii = loggers.length; i < ii; i++) {
var logger = loggers[i];
if (logger[type])
logger[type](message);
}
}
};
})();
function shadow(obj, prop, value) {
Object.defineProperty(obj, prop, { value: value,
enumerable: true,
configurable: true,
writable: false });
return value;
}
var PasswordException = (function PasswordExceptionClosure() {
function PasswordException(msg, code) {
this.name = 'PasswordException';
this.message = msg;
this.code = code;
}
PasswordException.prototype = new Error();
PasswordException.constructor = PasswordException;

return PasswordException;
})();
var UnknownErrorException = (function UnknownErrorExceptionClosure() {
function UnknownErrorException(msg, details) {
this.name = 'UnknownErrorException';
this.message = msg;
this.details = details;
}
UnknownErrorException.prototype = new Error();
UnknownErrorException.constructor = UnknownErrorException;
return UnknownErrorException;
})();
var InvalidPDFException = (function InvalidPDFExceptionClosure() {
function InvalidPDFException(msg) {
this.name = 'InvalidPDFException';
this.message = msg;
}
InvalidPDFException.prototype = new Error();
InvalidPDFException.constructor = InvalidPDFException;
return InvalidPDFException;
})();
function bytesToString(bytes) {
var str = '';
var length = bytes.length;
for (var n = 0; n < length; ++n)
str += String.fromCharCode(bytes[n]);
return str;
}
function stringToBytes(str) {
var length = str.length;
var bytes = new Uint8Array(length);
for (var n = 0; n < length; ++n)
bytes[n] = str.charCodeAt(n) & 0xFF;
return bytes;
}
var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
var Util = PDFJS.Util = (function UtilClosure() {
function Util() {}
Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {
var ri = (255 * r) | 0, gi = (255 * g) | 0, bi = (255 * b) | 0;
return 'rgb(' + ri + ',' + gi + ',' + bi + ')';
};
Util.makeCssCmyk = function Util_makeCssCmyk(c, m, y, k) {
c = (new DeviceCmykCS()).getRgb([c, m, y, k]);
var ri = (255 * c[0]) | 0, gi = (255 * c[1]) | 0, bi = (255 * c[2]) | 0;
return 'rgb(' + ri + ',' + gi + ',' + bi + ')';
};

// For 2d affine transforms


Util.applyTransform = function Util_applyTransform(p, m) {
var xt = p[0] * m[0] + p[1] * m[2] + m[4];
var yt = p[0] * m[1] + p[1] * m[3] + m[5];
return [xt, yt];
};
Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {
var d = m[0] * m[3] - m[1] * m[2];
var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
return [xt, yt];
};
Util.inverseTransform = function Util_inverseTransform(m) {
var d = m[0] * m[3] - m[1] * m[2];
return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d,
(m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
};
// Apply a generic 3d matrix M on a 3-vector v:
// | a b c | | X |
// | d e f | x | Y |
// | g h i | | Z |
// M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],
// with v as [X,Y,Z]
Util.apply3dTransform = function Util_apply3dTransform(m, v) {
return [
m[0] * v[0] + m[1] * v[1] + m[2] * v[2],
m[3] * v[0] + m[4] * v[1] + m[5] * v[2],
m[6] * v[0] + m[7] * v[1] + m[8] * v[2]
];
}
// Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)
// For coordinate systems whose origin lies in the bottom-left, this
// means normalization to (BL,TR) ordering. For systems with origin in the
// top-left, this means (TL,BR) ordering.
Util.normalizeRect = function Util_normalizeRect(rect) {
var r = rect.slice(0); // clone rect
if (rect[0] > rect[2]) {
r[0] = rect[2];
r[2] = rect[0];
}
if (rect[1] > rect[3]) {
r[1] = rect[3];
r[3] = rect[1];
}
return r;
}
// Returns a rectangle [x1, y1, x2, y2] corresponding to the
// intersection of rect1 and rect2. If no intersection, returns 'false'
// The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]
Util.intersect = function Util_intersect(rect1, rect2) {
function compare(a, b) {
return a - b;
};

// Order points along the axes


var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),
orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),
result = [];
rect1 = Util.normalizeRect(rect1);
rect2 = Util.normalizeRect(rect2);
// X: first and second points belong to different rectangles?
if ((orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||
(orderedX[0] === rect2[0] && orderedX[1] === rect1[0])) {
// Intersection must be between second and third points
result[0] = orderedX[1];
result[2] = orderedX[2];
} else {
return false;
}
// Y: first and second points belong to different rectangles?
if ((orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||
(orderedY[0] === rect2[1] && orderedY[1] === rect1[1])) {
// Intersection must be between second and third points
result[1] = orderedY[1];
result[3] = orderedY[2];
} else {
return false;
}
return result;
};
Util.sign = function Util_sign(num) {
return num < 0 ? -1 : 1;
};
return Util;
})();
var PageViewport = PDFJS.PageViewport = (function PageViewportClosure() {
function PageViewport(viewBox, scale, rotate, offsetX, offsetY) {
// creating transform to convert pdf coordinate system to the normal
// canvas like coordinates taking in account scale and rotation
var centerX = (viewBox[2] + viewBox[0]) / 2;
var centerY = (viewBox[3] + viewBox[1]) / 2;
var rotateA, rotateB, rotateC, rotateD;
switch (rotate % 360) {
case -180:
case 180:
rotateA = -1; rotateB = 0; rotateC = 0; rotateD = 1;
break;
case -270:
case 90:
rotateA = 0; rotateB = 1; rotateC = 1; rotateD = 0;
break;
case -90:
case 270:
rotateA = 0; rotateB = -1; rotateC = -1; rotateD = 0;
break;
case 360:
case 0:

default:
rotateA = 1; rotateB = 0; rotateC = 0; rotateD = -1;
break;
}
var offsetCanvasX, offsetCanvasY;
var width, height;
if (rotateA == 0) {
offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
width = Math.abs(viewBox[3] - viewBox[1]) * scale;
height = Math.abs(viewBox[2] - viewBox[0]) * scale;
} else {
offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
width = Math.abs(viewBox[2] - viewBox[0]) * scale;
height = Math.abs(viewBox[3] - viewBox[1]) * scale;
}
// creating transform for the following operations:
// translate(-centerX, -centerY), rotate and flip vertically,
// scale, and translate(offsetCanvasX, offsetCanvasY)
this.transform = [
rotateA * scale,
rotateB * scale,
rotateC * scale,
rotateD * scale,
offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,
offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY
];
this.offsetX = offsetX;
this.offsetY = offsetY;
this.width = width;
this.height = height;
this.fontScale = scale;
}
PageViewport.prototype = {
convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) {
return Util.applyTransform([x, y], this.transform);
},
convertToViewportRectangle:
function PageViewport_convertToViewportRectangle(rect) {
var tl = Util.applyTransform([rect[0], rect[1]], this.transform);
var br = Util.applyTransform([rect[2], rect[3]], this.transform);
return [tl[0], tl[1], br[0], br[1]];
},
convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) {
return Util.applyInverseTransform([x, y], this.transform);
}
};
return PageViewport;
})();
var PDFStringTranslateTable = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,
0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,

0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,
0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC
];
function stringToPDFString(str) {
var i, n = str.length, str2 = '';
if (str[0] === '\xFE' && str[1] === '\xFF') {
// UTF16BE BOM
for (i = 2; i < n; i += 2)
str2 += String.fromCharCode(
(str.charCodeAt(i) << 8) | str.charCodeAt(i + 1));
} else {
for (i = 0; i < n; ++i) {
var code = PDFStringTranslateTable[str.charCodeAt(i)];
str2 += code ? String.fromCharCode(code) : str.charAt(i);
}
}
return str2;
}
function stringToUTF8String(str) {
return decodeURIComponent(escape(str));
}
function isBool(v) {
return typeof v == 'boolean';
}
function isInt(v) {
return typeof v == 'number' && ((v | 0) == v);
}
function isNum(v) {
return typeof v == 'number';
}
function isString(v) {
return typeof v == 'string';
}
function isNull(v) {
return v === null;
}
function isName(v) {
return v instanceof Name;
}
function isCmd(v, cmd) {
return v instanceof Cmd && (!cmd || v.cmd == cmd);
}
function isDict(v, type) {
return v instanceof Dict && (!type || v.get('Type').name == type);
}
function isArray(v) {
return v instanceof Array;
}

function isStream(v) {
return typeof v == 'object' && v != null && ('getChar' in v);
}
function isArrayBuffer(v) {
return typeof v == 'object' && v != null && ('byteLength' in v);
}
function isRef(v) {
return v instanceof Ref;
}
function isPDFFunction(v) {
var fnDict;
if (typeof v != 'object')
return false;
else if (isDict(v))
fnDict = v;
else if (isStream(v))
fnDict = v.dict;
else
return false;
return fnDict.has('FunctionType');
}
/**
* 'Promise' object.
* Each object that is stored in PDFObjects is based on a Promise object that
* contains the status of the object and the data. There migth be situations,
* where a function want to use the value of an object, but it isn't ready at
* that time. To get a notification, once the object is ready to be used, s.o.
* can add a callback using the `then` method on the promise that then calls
* the callback once the object gets resolved.
* A promise can get resolved only once and only once the data of the promise
* can be set. If any of these happens twice or the data is required before
* it was set, an exception is throw.
*/
var Promise = PDFJS.Promise = (function PromiseClosure() {
var EMPTY_PROMISE = {};
/**
* If `data` is passed in this constructor, the promise is created resolved.
* If there isn't data, it isn't resolved at the beginning.
*/
function Promise(name, data) {
this.name = name;
this.isRejected = false;
this.error = null;
// If you build a promise and pass in some data it's already resolved.
if (data != null) {
this.isResolved = true;
this._data = data;
this.hasData = true;
} else {
this.isResolved = false;
this._data = EMPTY_PROMISE;
}
this.callbacks = [];
this.errbacks = [];
this.progressbacks = [];

};
/**
* Builds a promise that is resolved when all the passed in promises are
* resolved.
* @param {Promise[]} promises Array of promises to wait for.
* @return {Promise} New dependant promise.
*/
Promise.all = function Promise_all(promises) {
var deferred = new Promise();
var unresolved = promises.length;
var results = [];
if (unresolved === 0) {
deferred.resolve(results);
return deferred;
}
for (var i = 0, ii = promises.length; i < ii; ++i) {
var promise = promises[i];
promise.then((function(i) {
return function(value) {
results[i] = value;
unresolved--;
if (unresolved === 0)
deferred.resolve(results);
};
})(i));
}
return deferred;
};
Promise.prototype = {
hasData: false,
set data(value) {
if (value === undefined) {
return;
}
if (this._data !== EMPTY_PROMISE) {
error('Promise ' + this.name +
': Cannot set the data of a promise twice');
}
this._data = value;
this.hasData = true;
if (this.onDataCallback) {
this.onDataCallback(value);
}
},
get data() {
if (this._data === EMPTY_PROMISE) {
error('Promise ' + this.name + ': Cannot get data that isn\'t set');
}
return this._data;
},
onData: function Promise_onData(callback) {
if (this._data !== EMPTY_PROMISE) {
callback(this._data);
} else {
this.onDataCallback = callback;
}

},
resolve: function Promise_resolve(data) {
if (this.isResolved) {
error('A Promise can be resolved only once ' + this.name);
}
if (this.isRejected) {
error('The Promise was already rejected ' + this.name);
}
this.isResolved = true;
this.data = (typeof data !== 'undefined') ? data : null;
var callbacks = this.callbacks;
for (var i = 0, ii = callbacks.length; i < ii; i++) {
callbacks[i].call(null, data);
}
},
progress: function Promise_progress(data) {
var callbacks = this.progressbacks;
for (var i = 0, ii = callbacks.length; i < ii; i++) {
callbacks[i].call(null, data);
}
},
reject: function Promise_reject(reason, exception) {
if (this.isRejected) {
error('A Promise can be rejected only once ' + this.name);
}
if (this.isResolved) {
error('The Promise was already resolved ' + this.name);
}
this.isRejected = true;
this.error = reason || null;
var errbacks = this.errbacks;
for (var i = 0, ii = errbacks.length; i < ii; i++) {
errbacks[i].call(null, reason, exception);
}
},
then: function Promise_then(callback, errback, progressback) {
if (!callback) {
error('Requiring callback' + this.name);
}
// If the promise is already resolved, call the callback directly.
if (this.isResolved) {
var data = this.data;
callback.call(null, data);
} else if (this.isRejected && errback) {
var error = this.error;
errback.call(null, error);
} else {
this.callbacks.push(callback);
if (errback)
this.errbacks.push(errback);
}

if (progressback)
this.progressbacks.push(progressback);
}
};
return Promise;
})();
var StatTimer = (function StatTimerClosure() {
function rpad(str, pad, length) {
while (str.length < length)
str += pad;
return str;
}
function StatTimer() {
this.started = {};
this.times = [];
this.enabled = true;
}
StatTimer.prototype = {
time: function StatTimer_time(name) {
if (!this.enabled)
return;
if (name in this.started)
throw 'Timer is already running for ' + name;
this.started[name] = Date.now();
},
timeEnd: function StatTimer_timeEnd(name) {
if (!this.enabled)
return;
if (!(name in this.started))
throw 'Timer has not been started for ' + name;
this.times.push({
'name': name,
'start': this.started[name],
'end': Date.now()
});
// Remove timer from started so it can be called again.
delete this.started[name];
},
toString: function StatTimer_toString() {
var times = this.times;
var out = '';
// Find the longest name for padding purposes.
var longest = 0;
for (var i = 0, ii = times.length; i < ii; ++i) {
var name = times[i]['name'];
if (name.length > longest)
longest = name.length;
}
for (var i = 0, ii = times.length; i < ii; ++i) {
var span = times[i];
var duration = span.end - span.start;
out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\n';
}
return out;
}
};
return StatTimer;

})();
PDFJS.createBlob = function createBlob(data, contentType) {
if (typeof Blob === 'function')
return new Blob([data], { type: contentType });
// Blob builder is deprecated in FF14 and removed in FF18.
var bb = new MozBlobBuilder();
bb.append(data);
return bb.getBlob(contentType);
};
/**
* This is the main entry point for loading a PDF and interacting with it.
* NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)
* is used, which means it must follow the same origin rules that any XHR does
* e.g. No cross domain requests without CORS.
*
* @param {string|TypedAray|object} source Can be an url to where a PDF is
* located, a typed array (Uint8Array) already populated with data or
* and parameter object with the following possible fields:
* - url - The URL of the PDF.
* - data - A typed array with PDF data.
* - httpHeaders - Basic authentication headers.
* - password - For decrypting password-protected PDFs.
*
* @return {Promise} A promise that is resolved with {PDFDocumentProxy} object.
*/
PDFJS.getDocument = function getDocument(source) {
var workerInitializedPromise, workerReadyPromise, transport;
if (typeof source === 'string') {
source = { url: source };
} else if (isArrayBuffer(source)) {
source = { data: source };
} else if (typeof source !== 'object') {
error('Invalid parameter in getDocument, need either Uint8Array, ' +
'string or a parameter object');
}
if (!source.url && !source.data)
error('Invalid parameter array, need either .data or .url');
// copy/use all keys as is except 'url' -- full path is required
var params = {};
for (var key in source) {
if (key === 'url' && typeof window !== 'undefined') {
params[key] = combineUrl(window.location.href, source[key]);
continue;
}
params[key] = source[key];
}
workerInitializedPromise = new PDFJS.Promise();
workerReadyPromise = new PDFJS.Promise();
transport = new WorkerTransport(workerInitializedPromise, workerReadyPromise);
workerInitializedPromise.then(function transportInitialized() {
transport.fetchDocument(params);
});
return workerReadyPromise;

};
/**
* Proxy to a PDFDocument in the worker thread. Also, contains commonly used
* properties that can be read synchronously.
*/
var PDFDocumentProxy = (function PDFDocumentProxyClosure() {
function PDFDocumentProxy(pdfInfo, transport) {
this.pdfInfo = pdfInfo;
this.transport = transport;
}
PDFDocumentProxy.prototype = {
/**
* @return {number} Total number of pages the PDF contains.
*/
get numPages() {
return this.pdfInfo.numPages;
},
/**
* @return {string} A unique ID to identify a PDF. Not guaranteed to be
* unique.
*/
get fingerprint() {
return this.pdfInfo.fingerprint;
},
/**
* @param {number} The page number to get. The first page is 1.
* @return {Promise} A promise that is resolved with a {PDFPageProxy}
* object.
*/
getPage: function PDFDocumentProxy_getPage(number) {
return this.transport.getPage(number);
},
/**
* @return {Promise} A promise that is resolved with a lookup table for
* mapping named destinations to reference numbers.
*/
getDestinations: function PDFDocumentProxy_getDestinations() {
var promise = new PDFJS.Promise();
var destinations = this.pdfInfo.destinations;
promise.resolve(destinations);
return promise;
},
/**
* @return {Promise} A promise that is resolved with an {array} that is a
* tree outline (if it has one) of the PDF. The tree is in the format of:
* [
* {
* title: string,
* bold: boolean,
* italic: boolean,
* color: rgb array,
* dest: dest obj,
* items: array of more items like this
* },
* ...
* ].
*/
getOutline: function PDFDocumentProxy_getOutline() {
var promise = new PDFJS.Promise();

var outline = this.pdfInfo.outline;


promise.resolve(outline);
return promise;
},
/**
* @return {Promise} A promise that is resolved with an {object} that has
* info and metadata properties. Info is an {object} filled with anything
* available in the information dictionary and similarly metadata is a
* {Metadata} object with information from the metadata section of the PDF.
*/
getMetadata: function PDFDocumentProxy_getMetadata() {
var promise = new PDFJS.Promise();
var info = this.pdfInfo.info;
var metadata = this.pdfInfo.metadata;
promise.resolve({
info: info,
metadata: metadata ? new PDFJS.Metadata(metadata) : null
});
return promise;
},
isEncrypted: function PDFDocumentProxy_isEncrypted() {
var promise = new PDFJS.Promise();
promise.resolve(this.pdfInfo.encrypted);
return promise;
},
/**
* @return {Promise} A promise that is resolved with a TypedArray that has
* the raw data from the PDF.
*/
getData: function PDFDocumentProxy_getData() {
var promise = new PDFJS.Promise();
this.transport.getData(promise);
return promise;
},
destroy: function PDFDocumentProxy_destroy() {
this.transport.destroy();
}
};
return PDFDocumentProxy;
})();
var PDFPageProxy = (function PDFPageProxyClosure() {
function PDFPageProxy(pageInfo, transport) {
this.pageInfo = pageInfo;
this.transport = transport;
this.stats = new StatTimer();
this.stats.enabled = !!globalScope.PDFJS.enableStats;
this.commonObjs = transport.commonObjs;
this.objs = new PDFObjects();
this.renderInProgress = false;
this.cleanupAfterRender = false;
}
PDFPageProxy.prototype = {
/**
* @return {number} Page number of the page. First page is 1.
*/
get pageNumber() {
return this.pageInfo.pageIndex + 1;
},
/**

* @return {number} The number of degrees the page is rotated clockwise.


*/
get rotate() {
return this.pageInfo.rotate;
},
/**
* @return {object} The reference that points to this page. It has 'num' and
* 'gen' properties.
*/
get ref() {
return this.pageInfo.ref;
},
/**
* @return {array} An array of the visible portion of the PDF page in the
* user space units - [x1, y1, x2, y2].
*/
get view() {
return this.pageInfo.view;
},
/**
* @param {number} scale The desired scale of the viewport.
* @param {number} rotate Degrees to rotate the viewport. If omitted this
* defaults to the page rotation.
* @return {PageViewport} Contains 'width' and 'height' properties along
* with transforms required for rendering.
*/
getViewport: function PDFPageProxy_getViewport(scale, rotate) {
if (arguments.length < 2)
rotate = this.rotate;
return new PDFJS.PageViewport(this.view, scale, rotate, 0, 0);
},
/**
* @return {Promise} A promise that is resolved with an {array} of the
* annotation objects.
*/
getAnnotations: function PDFPageProxy_getAnnotations() {
if (this.annotationsPromise)
return this.annotationsPromise;
var promise = new PDFJS.Promise();
this.annotationsPromise = promise;
this.transport.getAnnotations(this.pageInfo.pageIndex);
return promise;
},
/**
* Begins the process of rendering a page to the desired context.
* @param {object} params A parameter object that supports:
* {
* canvasContext(required): A 2D context of a DOM Canvas object.,
* textLayer(optional): An object that has beginLayout, endLayout, and
*
appendText functions.,
* continueCallback(optional): A function that will be called each time
*
the rendering is paused. To continue
*
rendering call the function that is the
*
first argument to the callback.
* }.
* @return {Promise} A promise that is resolved when the page finishes
* rendering.
*/
render: function PDFPageProxy_render(params) {

this.renderInProgress = true;
var promise = new Promise();
var stats = this.stats;
stats.time('Overall');
// If there is no displayReadyPromise yet, then the operatorList was never
// requested before. Make the request and create the promise.
if (!this.displayReadyPromise) {
this.displayReadyPromise = new Promise();
this.destroyed = false;
this.stats.time('Page Request');
this.transport.messageHandler.send('RenderPageRequest', {
pageIndex: this.pageNumber - 1
});
}
var self = this;
function complete(error) {
self.renderInProgress = false;
if (self.destroyed || self.cleanupAfterRender) {
delete self.displayReadyPromise;
delete self.operatorList;
self.objs.clear();
}
if (error)
promise.reject(error);
else
promise.resolve();
};
var continueCallback = params.continueCallback;
// Once the operatorList and fonts are loaded, do the actual rendering.
this.displayReadyPromise.then(
function pageDisplayReadyPromise() {
if (self.destroyed) {
complete();
return;
}
var gfx = new CanvasGraphics(params.canvasContext, this.commonObjs,
this.objs, params.textLayer);
try {
this.display(gfx, params.viewport, complete, continueCallback);
} catch (e) {
complete(e);
}
}.bind(this),
function pageDisplayReadPromiseError(reason) {
complete(reason);
}
);
return promise;
},
/**
* For internal use only.
*/
startRenderingFromOperatorList:

function PDFPageProxy_startRenderingFromOperatorList(operatorList,
fonts) {
var self = this;
this.operatorList = operatorList;
var displayContinuation = function pageDisplayContinuation() {
// Always defer call to display() to work around bug in
// Firefox error reporting from XHR callbacks.
setTimeout(function pageSetTimeout() {
self.displayReadyPromise.resolve();
});
};
this.ensureFonts(fonts,
function pageStartRenderingFromOperatorListEnsureFonts() {
displayContinuation();
}
);
},
/**
* For internal use only.
*/
ensureFonts: function PDFPageProxy_ensureFonts(fonts, callback) {
this.stats.time('Font Loading');
// Convert the font names to the corresponding font obj.
var fontObjs = [];
for (var i = 0, ii = fonts.length; i < ii; i++) {
var obj = this.commonObjs.getData(fonts[i]);
if (obj.error) {
warn('Error during font loading: ' + obj.error);
continue;
}
fontObjs.push(obj);
}
// Load all the fonts
FontLoader.bind(
fontObjs,
function pageEnsureFontsFontObjs(fontObjs) {
this.stats.timeEnd('Font Loading');
callback.call(this);
}.bind(this)
);
},
/**
* For internal use only.
*/
display: function PDFPageProxy_display(gfx, viewport, callback,
continueCallback) {
var stats = this.stats;
stats.time('Rendering');
gfx.beginDrawing(viewport);
var startIdx = 0;
var length = this.operatorList.fnArray.length;
var operatorList = this.operatorList;
var stepper = null;
if (PDFJS.pdfBug && 'StepperManager' in globalScope &&

globalScope['StepperManager'].enabled) {
stepper = globalScope['StepperManager'].create(this.pageNumber - 1);
stepper.init(operatorList);
stepper.nextBreakPoint = stepper.getNextBreakPoint();
}
var continueWrapper;
if (continueCallback)
continueWrapper = function() { continueCallback(next); }
else
continueWrapper = next;
var self = this;
function next() {
startIdx = gfx.executeOperatorList(operatorList, startIdx,
continueWrapper, stepper);
if (startIdx == length) {
gfx.endDrawing();
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
if (callback) callback();
}
}
continueWrapper();
},
/**
* @return {Promise} That is resolved with the a {string} that is the text
* content from the page.
*/
getTextContent: function PDFPageProxy_getTextContent() {
var promise = new PDFJS.Promise();
this.transport.messageHandler.send('GetTextContent', {
pageIndex: this.pageNumber - 1
},
function textContentCallback(textContent) {
promise.resolve(textContent);
}
);
return promise;
},
/**
* Stub for future feature.
*/
getOperationList: function PDFPageProxy_getOperationList() {
var promise = new PDFJS.Promise();
var operationList = { // not implemented
dependencyFontsID: null,
operatorList: null
};
promise.resolve(operationList);
return promise;
},
/**
* Destroys resources allocated by the page.
*/
destroy: function PDFPageProxy_destroy() {
this.destroyed = true;
if (!this.renderInProgress) {
delete this.operatorList;

delete this.displayReadyPromise;
this.objs.clear();
}
}
};
return PDFPageProxy;
})();
/**
* For internal use only.
*/
var WorkerTransport = (function WorkerTransportClosure() {
function WorkerTransport(workerInitializedPromise, workerReadyPromise) {
this.workerReadyPromise = workerReadyPromise;
this.commonObjs = new PDFObjects();
this.pageCache = [];
this.pagePromises = [];
this.fontsLoading = {};
//
//
//
//
//
if

If worker support isn't disabled explicit and the browser has worker
support, create a new web worker and test if it/the browser fullfills
all requirements to run parts of pdf.js in a web worker.
Right now, the requirement is, that an Uint8Array is still an Uint8Array
as it arrives on the worker. Chrome added this with version 15.
(!globalScope.PDFJS.disableWorker && typeof Worker !== 'undefined') {
var workerSrc = PDFJS.workerSrc;
if (typeof workerSrc === 'undefined') {
error('No PDFJS.workerSrc specified');
}
try {
// Some versions of FF can't create a worker on localhost, see:
// https://bugzilla.mozilla.org/show_bug.cgi?id=683280
var worker = new Worker(workerSrc);
var messageHandler = new MessageHandler('main', worker);
this.messageHandler = messageHandler;
messageHandler.on('test', function transportTest(supportTypedArray) {
if (supportTypedArray) {
this.worker = worker;
this.setupMessageHandler(messageHandler);
} else {
globalScope.PDFJS.disableWorker = true;
this.setupFakeWorker();
}
workerInitializedPromise.resolve();
}.bind(this));
var testObj = new Uint8Array(1);
// Some versions of Opera throw a DATA_CLONE_ERR on
// serializing the typed array.
messageHandler.send('test', testObj);
return;
} catch (e) {
info('The worker has been disabled.');
}

}
// Either workers are disabled, not supported or have thrown an exception.
// Thus, we fallback to a faked worker.
globalScope.PDFJS.disableWorker = true;

this.setupFakeWorker();
workerInitializedPromise.resolve();
}
WorkerTransport.prototype = {
destroy: function WorkerTransport_destroy() {
if (this.worker)
this.worker.terminate();
this.pageCache = [];
this.pagePromises = [];
},
setupFakeWorker: function WorkerTransport_setupFakeWorker() {
warn('Setting up fake worker.');
// If we don't use a worker, just post/sendMessage to the main thread.
var fakeWorker = {
postMessage: function WorkerTransport_postMessage(obj) {
fakeWorker.onmessage({data: obj});
},
terminate: function WorkerTransport_terminate() {}
};
var messageHandler = new MessageHandler('main', fakeWorker);
this.setupMessageHandler(messageHandler);
// If the main thread is our worker, setup the handling for the messages
// the main thread sends to it self.
WorkerMessageHandler.setup(messageHandler);
},
setupMessageHandler:
function WorkerTransport_setupMessageHandler(messageHandler) {
this.messageHandler = messageHandler;
messageHandler.on('GetDoc', function transportDoc(data) {
var pdfInfo = data.pdfInfo;
var pdfDocument = new PDFDocumentProxy(pdfInfo, this);
this.pdfDocument = pdfDocument;
this.workerReadyPromise.resolve(pdfDocument);
}, this);
messageHandler.on('NeedPassword', function transportPassword(data) {
this.workerReadyPromise.reject(data.exception.message, data.exception);
}, this);
messageHandler.on('IncorrectPassword', function transportBadPass(data) {
this.workerReadyPromise.reject(data.exception.message, data.exception);
}, this);
messageHandler.on('InvalidPDF', function transportInvalidPDF(data) {
this.workerReadyPromise.reject(data.exception.name, data.exception);
}, this);
messageHandler.on('UnknownError', function transportUnknownError(data) {
this.workerReadyPromise.reject(data.exception.message, data.exception);
}, this);
messageHandler.on('GetPage', function transportPage(data) {
var pageInfo = data.pageInfo;
var page = new PDFPageProxy(pageInfo, this);
this.pageCache[pageInfo.pageIndex] = page;

var promise = this.pagePromises[pageInfo.pageIndex];


promise.resolve(page);
}, this);
messageHandler.on('GetAnnotations', function transportAnnotations(data) {
var annotations = data.annotations;
var promise = this.pageCache[data.pageIndex].annotationsPromise;
promise.resolve(annotations);
}, this);
messageHandler.on('RenderPage', function transportRender(data) {
var page = this.pageCache[data.pageIndex];
var depFonts = data.depFonts;
page.stats.timeEnd('Page Request');
page.startRenderingFromOperatorList(data.operatorList, depFonts);
}, this);
messageHandler.on('commonobj', function transportObj(data) {
var id = data[0];
var type = data[1];
if (this.commonObjs.hasData(id))
return;
switch (type) {
case 'Font':
var exportedData = data[2];
// At this point, only the font object is created but the font is
// not yet attached to the DOM. This is done in `FontLoader.bind`.
var font;
if ('error' in exportedData)
font = new ErrorFont(exportedData.error);
else
font = new Font(exportedData);
this.commonObjs.resolve(id, font);
break;
default:
error('Got unknown common object type ' + type);
}
}, this);
messageHandler.on('obj', function transportObj(data) {
var id = data[0];
var pageIndex = data[1];
var type = data[2];
var pageProxy = this.pageCache[pageIndex];
if (pageProxy.objs.hasData(id))
return;
switch (type) {
case 'JpegStream':
var imageData = data[3];
loadJpegStream(id, imageData, pageProxy.objs);
break;
case 'Image':
var imageData = data[3];
pageProxy.objs.resolve(id, imageData);
// heuristics that will allow not to store large data

var MAX_IMAGE_SIZE_TO_STORE = 8000000;


if ('data' in imageData &&
imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
pageProxy.cleanupAfterRender = true;
}
break;
default:
error('Got unknown object type ' + type);
}
}, this);
messageHandler.on('DocProgress', function transportDocProgress(data) {
this.workerReadyPromise.progress({
loaded: data.loaded,
total: data.total
});
}, this);
messageHandler.on('DocError', function transportDocError(data) {
this.workerReadyPromise.reject(data);
}, this);
messageHandler.on('PageError', function transportError(data) {
var page = this.pageCache[data.pageNum - 1];
if (page.displayReadyPromise)
page.displayReadyPromise.reject(data.error);
else
error(data.error);
}, this);
messageHandler.on('JpegDecode', function(data, promise) {
var imageData = data[0];
var components = data[1];
if (components != 3 && components != 1)
error('Only 3 component or 1 component can be returned');
var img = new Image();
img.onload = (function messageHandler_onloadClosure() {
var width = img.width;
var height = img.height;
var size = width * height;
var rgbaLength = size * 4;
var buf = new Uint8Array(size * components);
var tmpCanvas = createScratchCanvas(width, height);
var tmpCtx = tmpCanvas.getContext('2d');
tmpCtx.drawImage(img, 0, 0);
var data = tmpCtx.getImageData(0, 0, width, height).data;
if (components == 3) {
for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
buf[j] = data[i];
buf[j + 1] = data[i + 1];
buf[j + 2] = data[i + 2];
}
} else if (components == 1) {
for (var i = 0, j = 0; i < rgbaLength; i += 4, j++) {
buf[j] = data[i];
}
}
promise.resolve({ data: buf, width: width, height: height});

}).bind(this);
var src = 'data:image/jpeg;base64,' + window.btoa(imageData);
img.src = src;
});
},
fetchDocument: function WorkerTransport_fetchDocument(source) {
this.messageHandler.send('GetDocRequest', {source: source});
},
getData: function WorkerTransport_getData(promise) {
this.messageHandler.send('GetData', null, function(data) {
promise.resolve(data);
});
},
getPage: function WorkerTransport_getPage(pageNumber, promise) {
var pageIndex = pageNumber - 1;
if (pageIndex in this.pagePromises)
return this.pagePromises[pageIndex];
var promise = new PDFJS.Promise('Page ' + pageNumber);
this.pagePromises[pageIndex] = promise;
this.messageHandler.send('GetPageRequest', { pageIndex: pageIndex });
return promise;
},
getAnnotations: function WorkerTransport_getAnnotations(pageIndex) {
this.messageHandler.send('GetAnnotationsRequest',
{ pageIndex: pageIndex });
}
};
return WorkerTransport;
})();
// <canvas> contexts store most of the state we need natively.
// However, PDF needs a bit more state, which we store here.
var TextRenderingMode = {
FILL: 0,
STROKE: 1,
FILL_STROKE: 2,
INVISIBLE: 3,
FILL_ADD_TO_PATH: 4,
STROKE_ADD_TO_PATH: 5,
FILL_STROKE_ADD_TO_PATH: 6,
ADD_TO_PATH: 7,
ADD_TO_PATH_FLAG: 4
};
// Minimal font size that would be used during canvas fillText operations.
var MIN_FONT_SIZE = 1;
function createScratchCanvas(width, height) {
var canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = height;
return canvas;
}

function addContextCurrentTransform(ctx) {
// If the context doesn't expose a `mozCurrentTransform`, add a JS based on.
if (!ctx.mozCurrentTransform) {
// Store the original context
ctx._originalSave = ctx.save;
ctx._originalRestore = ctx.restore;
ctx._originalRotate = ctx.rotate;
ctx._originalScale = ctx.scale;
ctx._originalTranslate = ctx.translate;
ctx._originalTransform = ctx.transform;
ctx._transformMatrix = [1, 0, 0, 1, 0, 0];
ctx._transformStack = [];
Object.defineProperty(ctx, 'mozCurrentTransform', {
get: function getCurrentTransform() {
return this._transformMatrix;
}
});
Object.defineProperty(ctx, 'mozCurrentTransformInverse', {
get: function getCurrentTransformInverse() {
// Calculation done using WolframAlpha:
// http://www.wolframalpha.com/input/?
// i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}
var m = this._transformMatrix;
var a = m[0], b = m[1], c = m[2], d = m[3], e = m[4], f = m[5];
var ad_bc = a * d - b * c;
var bc_ad = b * c - a * d;
return [
d / ad_bc,
b / bc_ad,
c / bc_ad,
a / ad_bc,
(d * e - c * f) / bc_ad,
(b * e - a * f) / ad_bc
];
}
});
ctx.save = function ctxSave() {
var old = this._transformMatrix;
this._transformStack.push(old);
this._transformMatrix = old.slice(0, 6);
this._originalSave();
};
ctx.restore = function ctxRestore() {
var prev = this._transformStack.pop();
if (prev) {
this._transformMatrix = prev;
this._originalRestore();
}
};

ctx.translate = function ctxTranslate(x, y) {


var m = this._transformMatrix;
m[4] = m[0] * x + m[2] * y + m[4];
m[5] = m[1] * x + m[3] * y + m[5];
this._originalTranslate(x, y);
};
ctx.scale = function ctxScale(x, y) {
var m = this._transformMatrix;
m[0] = m[0] * x;
m[1] = m[1] * x;
m[2] = m[2] * y;
m[3] = m[3] * y;
this._originalScale(x, y);
};
ctx.transform = function ctxTransform(a, b, c, d, e, f) {
var m = this._transformMatrix;
this._transformMatrix = [
m[0] * a + m[2] * b,
m[1] * a + m[3] * b,
m[0] * c + m[2] * d,
m[1] * c + m[3] * d,
m[0] * e + m[2] * f + m[4],
m[1] * e + m[3] * f + m[5]
];
ctx._originalTransform(a, b, c, d, e, f);
};
ctx.rotate = function ctxRotate(angle) {
var cosValue = Math.cos(angle);
var sinValue = Math.sin(angle);
var m = this._transformMatrix;
this._transformMatrix = [
m[0] * cosValue + m[2] * sinValue,
m[1] * cosValue + m[3] * sinValue,
m[0] * (-sinValue) + m[2] * cosValue,
m[1] * (-sinValue) + m[3] * cosValue,
m[4],
m[5]
];
this._originalRotate(angle);
};
}
}
var CanvasExtraState = (function CanvasExtraStateClosure() {
function CanvasExtraState(old) {
// Are soft masks and alpha values shapes or opacities?
this.alphaIsShape = false;
this.fontSize = 0;
this.fontSizeScale = 1;
this.textMatrix = IDENTITY_MATRIX;
this.fontMatrix = IDENTITY_MATRIX;
this.leading = 0;

// Current point (in user coordinates)


this.x = 0;
this.y = 0;
// Start of text line (in text coordinates)
this.lineX = 0;
this.lineY = 0;
// Character and word spacing
this.charSpacing = 0;
this.wordSpacing = 0;
this.textHScale = 1;
this.textRenderingMode = TextRenderingMode.FILL;
this.textRise = 0;
// Color spaces
this.fillColorSpace = new DeviceGrayCS();
this.fillColorSpaceObj = null;
this.strokeColorSpace = new DeviceGrayCS();
this.strokeColorSpaceObj = null;
this.fillColorObj = null;
this.strokeColorObj = null;
// Default fore and background colors
this.fillColor = '#000000';
this.strokeColor = '#000000';
// Note: fill alpha applies to all non-stroking operations
this.fillAlpha = 1;
this.strokeAlpha = 1;
this.lineWidth = 1;
this.paintFormXObjectDepth = 0;
this.old = old;
}
CanvasExtraState.prototype = {
clone: function CanvasExtraState_clone() {
return Object.create(this);
},
setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {
this.x = x;
this.y = y;
}
};
return CanvasExtraState;
})();
var CanvasGraphics = (function CanvasGraphicsClosure() {
// Defines the time the executeOperatorList is going to be executing
// before it stops and shedules a continue of execution.
var EXECUTION_TIME = 15;
function CanvasGraphics(canvasCtx, commonObjs, objs, textLayer) {
this.ctx = canvasCtx;
this.current = new CanvasExtraState();
this.stateStack = [];
this.pendingClip = null;
this.res = null;
this.xobjs = null;
this.commonObjs = commonObjs;
this.objs = objs;
this.textLayer = textLayer;
if (canvasCtx) {
addContextCurrentTransform(canvasCtx);

}
}
var
var
var
var

LINE_CAP_STYLES = ['butt', 'round', 'square'];


LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];
NORMAL_CLIP = {};
EO_CLIP = {};

CanvasGraphics.prototype = {
slowCommands: {
'stroke': true,
'closeStroke': true,
'fill': true,
'eoFill': true,
'fillStroke': true,
'eoFillStroke': true,
'closeFillStroke': true,
'closeEOFillStroke': true,
'showText': true,
'showSpacedText': true,
'setStrokeColorSpace': true,
'setFillColorSpace': true,
'setStrokeColor': true,
'setStrokeColorN': true,
'setFillColor': true,
'setFillColorN': true,
'setStrokeGray': true,
'setFillGray': true,
'setStrokeRGBColor': true,
'setFillRGBColor': true,
'setStrokeCMYKColor': true,
'setFillCMYKColor': true,
'paintJpegXObject': true,
'paintImageXObject': true,
'paintImageMaskXObject': true,
'shadingFill': true
},
beginDrawing: function CanvasGraphics_beginDrawing(viewport) {
var transform = viewport.transform;
this.ctx.save();
this.ctx.transform.apply(this.ctx, transform);
if (this.textLayer)
this.textLayer.beginLayout();
},
executeOperatorList: function CanvasGraphics_executeOperatorList(
operatorList,
executionStartIdx, continueCallback,
stepper) {
var argsArray = operatorList.argsArray;
var fnArray = operatorList.fnArray;
var i = executionStartIdx || 0;
var argsArrayLen = argsArray.length;
// Sometimes the OperatorList to execute is empty.
if (argsArrayLen == i) {
return i;
}

var executionEndIdx;
var endTime = Date.now() + EXECUTION_TIME;
var
var
var
var

commonObjs = this.commonObjs;
objs = this.objs;
fnName;
slowCommands = this.slowCommands;

while (true) {
if (stepper && i === stepper.nextBreakPoint) {
stepper.breakIt(i, continueCallback);
return i;
}
fnName = fnArray[i];
if (fnName !== 'dependency') {
this[fnName].apply(this, argsArray[i]);
} else {
var deps = argsArray[i];
for (var n = 0, nn = deps.length; n < nn; n++) {
var depObjId = deps[n];
var common = depObjId.substring(0, 2) == 'g_';
// If the promise isn't resolved yet, add the continueCallback
// to the promise and bail out.
if (!common && !objs.isResolved(depObjId)) {
objs.get(depObjId, continueCallback);
return i;
}
if (common && !commonObjs.isResolved(depObjId)) {
commonObjs.get(depObjId, continueCallback);
return i;
}
}
}
i++;
// If the entire operatorList was executed, stop as were done.
if (i == argsArrayLen) {
return i;
}
//
//
//
if

If the execution took longer then a certain amount of time, shedule


to continue exeution after a short delay.
However, this is only possible if a 'continueCallback' is passed in.
(continueCallback && slowCommands[fnName] && Date.now() > endTime) {
setTimeout(continueCallback, 0);
return i;

}
// If the operatorList isn't executed completely yet OR the execution
// time was short enough, do another execution round.
}
},
endDrawing: function CanvasGraphics_endDrawing() {
this.ctx.restore();

if (this.textLayer)
this.textLayer.endLayout();
},
// Graphics state
setLineWidth: function CanvasGraphics_setLineWidth(width) {
this.current.lineWidth = width;
this.ctx.lineWidth = width;
},
setLineCap: function CanvasGraphics_setLineCap(style) {
this.ctx.lineCap = LINE_CAP_STYLES[style];
},
setLineJoin: function CanvasGraphics_setLineJoin(style) {
this.ctx.lineJoin = LINE_JOIN_STYLES[style];
},
setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {
this.ctx.miterLimit = limit;
},
setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
this.ctx.mozDash = dashArray;
this.ctx.mozDashOffset = dashPhase;
this.ctx.webkitLineDash = dashArray;
this.ctx.webkitLineDashOffset = dashPhase;
},
setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {
// Maybe if we one day fully support color spaces this will be important
// for now we can ignore.
// TODO set rendering intent?
},
setFlatness: function CanvasGraphics_setFlatness(flatness) {
// There's no way to control this with canvas, but we can safely ignore.
// TODO set flatness?
},
setGState: function CanvasGraphics_setGState(states) {
for (var i = 0, ii = states.length; i < ii; i++) {
var state = states[i];
var key = state[0];
var value = state[1];
switch (key) {
case 'LW':
this.setLineWidth(value);
break;
case 'LC':
this.setLineCap(value);
break;
case 'LJ':
this.setLineJoin(value);
break;
case 'ML':
this.setMiterLimit(value);
break;
case 'D':
this.setDash(value[0], value[1]);
break;
case 'RI':
this.setRenderingIntent(value);
break;
case 'FL':

this.setFlatness(value);
break;
case 'Font':
this.setFont(state[1], state[2]);
break;
case 'CA':
this.current.strokeAlpha = state[1];
break;
case 'ca':
this.current.fillAlpha = state[1];
this.ctx.globalAlpha = state[1];
break;
}
}
},
save: function CanvasGraphics_save() {
this.ctx.save();
var old = this.current;
this.stateStack.push(old);
this.current = old.clone();
},
restore: function CanvasGraphics_restore() {
if ('textClipLayers' in this) {
this.completeTextClipping();
}
var prev = this.stateStack.pop();
if (prev) {
this.current = prev;
this.ctx.restore();
}
},
transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
this.ctx.transform(a, b, c, d, e, f);
},
// Path
moveTo: function CanvasGraphics_moveTo(x, y) {
this.ctx.moveTo(x, y);
this.current.setCurrentPoint(x, y);
},
lineTo: function CanvasGraphics_lineTo(x, y) {
this.ctx.lineTo(x, y);
this.current.setCurrentPoint(x, y);
},
curveTo: function CanvasGraphics_curveTo(x1, y1, x2, y2, x3, y3) {
this.ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
this.current.setCurrentPoint(x3, y3);
},
curveTo2: function CanvasGraphics_curveTo2(x2, y2, x3, y3) {
var current = this.current;
this.ctx.bezierCurveTo(current.x, current.y, x2, y2, x3, y3);
current.setCurrentPoint(x3, y3);
},
curveTo3: function CanvasGraphics_curveTo3(x1, y1, x3, y3) {
this.curveTo(x1, y1, x3, y3, x3, y3);
this.current.setCurrentPoint(x3, y3);
},
closePath: function CanvasGraphics_closePath() {
this.ctx.closePath();

},
rectangle: function CanvasGraphics_rectangle(x, y, width, height) {
this.ctx.rect(x, y, width, height);
},
stroke: function CanvasGraphics_stroke(consumePath) {
consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
var ctx = this.ctx;
var strokeColor = this.current.strokeColor;
if (this.current.lineWidth === 0)
ctx.lineWidth = this.getSinglePixelWidth();
// For stroke we want to temporarily change the global alpha to the
// stroking alpha.
ctx.globalAlpha = this.current.strokeAlpha;
if (strokeColor && strokeColor.hasOwnProperty('type') &&
strokeColor.type === 'Pattern') {
// for patterns, we transform to pattern space, calculate
// the pattern, call stroke, and restore to user space
ctx.save();
ctx.strokeStyle = strokeColor.getPattern(ctx);
ctx.stroke();
ctx.restore();
} else {
ctx.stroke();
}
if (consumePath)
this.consumePath();
// Restore the global alpha to the fill alpha
ctx.globalAlpha = this.current.fillAlpha;
},
closeStroke: function CanvasGraphics_closeStroke() {
this.closePath();
this.stroke();
},
fill: function CanvasGraphics_fill(consumePath) {
consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
var ctx = this.ctx;
var fillColor = this.current.fillColor;
if (fillColor && fillColor.hasOwnProperty('type') &&
fillColor.type === 'Pattern') {
ctx.save();
ctx.fillStyle = fillColor.getPattern(ctx);
ctx.fill();
ctx.restore();
} else {
ctx.fill();
}
if (consumePath)
this.consumePath();
},
eoFill: function CanvasGraphics_eoFill() {
var savedFillRule = this.setEOFillRule();
this.fill();
this.restoreFillRule(savedFillRule);
},
fillStroke: function CanvasGraphics_fillStroke() {
this.fill(false);
this.stroke(false);
this.consumePath();

},
eoFillStroke: function CanvasGraphics_eoFillStroke() {
var savedFillRule = this.setEOFillRule();
this.fillStroke();
this.restoreFillRule(savedFillRule);
},
closeFillStroke: function CanvasGraphics_closeFillStroke() {
this.closePath();
this.fillStroke();
},
closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {
var savedFillRule = this.setEOFillRule();
this.closePath();
this.fillStroke();
this.restoreFillRule(savedFillRule);
},
endPath: function CanvasGraphics_endPath() {
this.consumePath();
},
// Clipping
clip: function CanvasGraphics_clip() {
this.pendingClip = NORMAL_CLIP;
},
eoClip: function CanvasGraphics_eoClip() {
this.pendingClip = EO_CLIP;
},
// Text
beginText: function CanvasGraphics_beginText() {
this.current.textMatrix = IDENTITY_MATRIX;
this.current.x = this.current.lineX = 0;
this.current.y = this.current.lineY = 0;
},
endText: function CanvasGraphics_endText() {
if ('textClipLayers' in this) {
this.swapImageForTextClipping();
}
},
getCurrentTextClipping: function CanvasGraphics_getCurrentTextClipping() {
var ctx = this.ctx;
var transform = ctx.mozCurrentTransform;
if ('textClipLayers' in this) {
// we need to reset only font and transform
var maskCtx = this.textClipLayers.maskCtx;
maskCtx.setTransform.apply(maskCtx, transform);
maskCtx.font = ctx.font;
return maskCtx;
}
var canvasWidth = ctx.canvas.width;
var canvasHeight = ctx.canvas.height;
// keeping track of the text clipping of the separate canvas
var maskCanvas = createScratchCanvas(canvasWidth, canvasHeight);
var maskCtx = maskCanvas.getContext('2d');
maskCtx.setTransform.apply(maskCtx, transform);
maskCtx.font = ctx.font;
var textClipLayers = {
maskCanvas: maskCanvas,
maskCtx: maskCtx

};
this.textClipLayers = textClipLayers;
return maskCtx;
},
swapImageForTextClipping:
function CanvasGraphics_swapImageForTextClipping() {
var ctx = this.ctx;
var canvasWidth = ctx.canvas.width;
var canvasHeight = ctx.canvas.height;
// saving current image content and clearing whole canvas
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
var data = ctx.getImageData(0, 0, canvasWidth, canvasHeight);
this.textClipLayers.imageData = data;
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
ctx.restore();
},
completeTextClipping: function CanvasGraphics_completeTextClipping() {
var ctx = this.ctx;
// applying mask to the image (result is saved in maskCanvas)
var maskCtx = this.textClipLayers.maskCtx;
maskCtx.setTransform(1, 0, 0, 1, 0, 0);
maskCtx.globalCompositeOperation = 'source-in';
maskCtx.drawImage(ctx.canvas, 0, 0);
// restoring image data and applying the result of masked drawing
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.putImageData(this.textClipLayers.imageData, 0, 0);
ctx.drawImage(this.textClipLayers.maskCanvas, 0, 0);
ctx.restore();
delete this.textClipLayers;
},
setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {
this.current.charSpacing = spacing;
},
setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {
this.current.wordSpacing = spacing;
},
setHScale: function CanvasGraphics_setHScale(scale) {
this.current.textHScale = scale / 100;
},
setLeading: function CanvasGraphics_setLeading(leading) {
this.current.leading = -leading;
},
setFont: function CanvasGraphics_setFont(fontRefName, size) {
var fontObj = this.commonObjs.get(fontRefName);
var current = this.current;
if (!fontObj)
error('Can\'t find font for ' + fontRefName);
// Slice-clone matrix so we can manipulate it without affecting original
if (fontObj.fontMatrix)
current.fontMatrix = fontObj.fontMatrix.slice(0);
else
current.fontMatrix = IDENTITY_MATRIX.slice(0);
// A valid matrix needs all main diagonal elements to be non-zero

// This also ensures we bypass FF bugzilla bug #719844.


if (current.fontMatrix[0] === 0 ||
current.fontMatrix[3] === 0) {
warn('Invalid font matrix for font ' + fontRefName);
}
//
//
//
if

The spec for Tf (setFont) says that 'size' specifies the font 'scale',
and in some docs this can be negative (inverted x-y axes).
We implement this condition with fontMatrix.
(size < 0) {
size = -size;
current.fontMatrix[0] *= -1;
current.fontMatrix[3] *= -1;

}
this.current.font = fontObj;
this.current.fontSize = size;
if (fontObj.coded)
return; // we don't need ctx.font for Type3 fonts
var name = fontObj.loadedName || 'sans-serif';
var bold = fontObj.black ? (fontObj.bold ? 'bolder' : 'bold') :
(fontObj.bold ? 'bold' : 'normal');
var italic = fontObj.italic ? 'italic' : 'normal';
var typeface = '"' + name + '", ' + fontObj.fallbackName;
// Some font backends cannot handle fonts below certain size.
// Keeping the font at minimal size and using the fontSizeScale to change
// the current transformation matrix before the fillText/strokeText.
// See https://bugzilla.mozilla.org/show_bug.cgi?id=726227
var browserFontSize = size >= MIN_FONT_SIZE ? size : MIN_FONT_SIZE;
this.current.fontSizeScale = browserFontSize != MIN_FONT_SIZE ? 1.0 :
size / MIN_FONT_SIZE;
var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface;
this.ctx.font = rule;
},
setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
this.current.textRenderingMode = mode;
},
setTextRise: function CanvasGraphics_setTextRise(rise) {
this.current.textRise = rise;
},
moveText: function CanvasGraphics_moveText(x, y) {
this.current.x = this.current.lineX += x;
this.current.y = this.current.lineY += y;
},
setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {
this.setLeading(-y);
this.moveText(x, y);
},
setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {
this.current.textMatrix = [a, b, c, d, e, f];
this.current.x = this.current.lineX = 0;
this.current.y = this.current.lineY = 0;
},
nextLine: function CanvasGraphics_nextLine() {

this.moveText(0, this.current.leading);
},
applyTextTransforms: function CanvasGraphics_applyTextTransforms() {
var ctx = this.ctx;
var current = this.current;
var textHScale = current.textHScale;
var fontMatrix = current.fontMatrix || IDENTITY_MATRIX;
ctx.transform.apply(ctx, current.textMatrix);
ctx.scale(1, -1);
ctx.translate(current.x, -current.y - current.textRise);
ctx.transform.apply(ctx, fontMatrix);
ctx.scale(textHScale, 1);
},
createTextGeometry: function CanvasGraphics_createTextGeometry() {
var geometry = {};
var ctx = this.ctx;
var font = this.current.font;
var ctxMatrix = ctx.mozCurrentTransform;
if (ctxMatrix) {
var bl = Util.applyTransform([0, 0], ctxMatrix);
var tr = Util.applyTransform([1, 1], ctxMatrix);
geometry.x = bl[0];
geometry.y = bl[1];
geometry.hScale = tr[0] - bl[0];
geometry.vScale = tr[1] - bl[1];
}
geometry.spaceWidth = font.spaceWidth;
geometry.fontName = font.loadedName;
geometry.fontFamily = font.fallbackName;
geometry.fontSize = this.current.fontSize;
return geometry;
},
showText: function CanvasGraphics_showText(str, skipTextSelection) {
var ctx = this.ctx;
var current = this.current;
var font = current.font;
var glyphs = font.charsToGlyphs(str);
var fontSize = current.fontSize;
var fontSizeScale = current.fontSizeScale;
var charSpacing = current.charSpacing;
var wordSpacing = current.wordSpacing;
var textHScale = current.textHScale;
var fontMatrix = current.fontMatrix || IDENTITY_MATRIX;
var textHScale2 = textHScale * fontMatrix[0];
var glyphsLength = glyphs.length;
var textLayer = this.textLayer;
var geom;
var textSelection = textLayer && !skipTextSelection ? true : false;
var textRenderingMode = current.textRenderingMode;
var canvasWidth = 0.0;
// Type3 fonts - each glyph is a "mini-PDF"
if (font.coded) {
ctx.save();
ctx.transform.apply(ctx, current.textMatrix);
ctx.translate(current.x, current.y);
ctx.scale(textHScale, 1);

if (textSelection) {
this.save();
ctx.scale(1, -1);
geom = this.createTextGeometry();
this.restore();
}
for (var i = 0; i < glyphsLength; ++i) {
var glyph = glyphs[i];
if (glyph === null) {
// word break
this.ctx.translate(wordSpacing, 0);
current.x += wordSpacing * textHScale;
continue;
}
this.save();
ctx.scale(fontSize, fontSize);
ctx.transform.apply(ctx, fontMatrix);
this.executeOperatorList(glyph.operatorList);
this.restore();
var transformed = Util.applyTransform([glyph.width, 0], fontMatrix);
var width = transformed[0] * fontSize +
Util.sign(current.fontMatrix[0]) * charSpacing;
ctx.translate(width, 0);
current.x += width * textHScale;
canvasWidth += width;
}
ctx.restore();
} else {
ctx.save();
this.applyTextTransforms();
var lineWidth = current.lineWidth;
var a1 = current.textMatrix[0], b1 = current.textMatrix[1];
var a2 = fontMatrix[0], b2 = fontMatrix[1];
var scale = Math.sqrt((a1 * a1 + b1 * b1) * (a2 * a2 + b2 * b2));
if (scale == 0 || lineWidth == 0)
lineWidth = this.getSinglePixelWidth();
else
lineWidth /= scale;
if (textSelection)
geom = this.createTextGeometry();
if (fontSizeScale != 1.0) {
ctx.scale(fontSizeScale, fontSizeScale);
lineWidth /= fontSizeScale;
}
ctx.lineWidth = lineWidth;
var x = 0;
for (var i = 0; i < glyphsLength; ++i) {
var glyph = glyphs[i];
if (glyph === null) {

// word break
x += Util.sign(current.fontMatrix[0]) * wordSpacing;
continue;
}
var character = glyph.fontChar;
var charWidth = glyph.width * fontSize * 0.001 +
Util.sign(current.fontMatrix[0]) * charSpacing;
if (!glyph.disabled) {
var scaledX = x / fontSizeScale;
switch (textRenderingMode) {
default: // other unsupported rendering modes
case TextRenderingMode.FILL:
case TextRenderingMode.FILL_ADD_TO_PATH:
ctx.fillText(character, scaledX, 0);
break;
case TextRenderingMode.STROKE:
case TextRenderingMode.STROKE_ADD_TO_PATH:
ctx.strokeText(character, scaledX, 0);
break;
case TextRenderingMode.FILL_STROKE:
case TextRenderingMode.FILL_STROKE_ADD_TO_PATH:
ctx.fillText(character, scaledX, 0);
ctx.strokeText(character, scaledX, 0);
break;
case TextRenderingMode.INVISIBLE:
case TextRenderingMode.ADD_TO_PATH:
break;
}
if (textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG) {
var clipCtx = this.getCurrentTextClipping();
clipCtx.fillText(character, scaledX, 0);
}
}
x += charWidth;
canvasWidth += charWidth;
}
current.x += x * textHScale2;
ctx.restore();
}
if (textSelection) {
geom.canvasWidth = canvasWidth;
this.textLayer.appendText(geom);
}
return canvasWidth;
},
showSpacedText: function CanvasGraphics_showSpacedText(arr) {
var ctx = this.ctx;
var current = this.current;
var font = current.font;
var fontSize = current.fontSize;
var textHScale = current.textHScale;
if (!font.coded)
textHScale *= (current.fontMatrix || IDENTITY_MATRIX)[0];
var arrLength = arr.length;

var
var
var
var

textLayer = this.textLayer;
geom;
canvasWidth = 0.0;
textSelection = textLayer ? true : false;

if (textSelection) {
ctx.save();
// Type3 fonts - each glyph is a "mini-PDF" (see also showText)
if (font.coded) {
ctx.transform.apply(ctx, current.textMatrix);
ctx.scale(1, -1);
ctx.translate(current.x, -1 * current.y);
ctx.scale(textHScale, 1);
} else
this.applyTextTransforms();
geom = this.createTextGeometry();
ctx.restore();
}
for (var i = 0; i < arrLength; ++i) {
var e = arr[i];
if (isNum(e)) {
var spacingLength = -e * 0.001 * fontSize * textHScale;
current.x += spacingLength;
if (textSelection)
canvasWidth += spacingLength;
} else if (isString(e)) {
var shownCanvasWidth = this.showText(e, true);
if (textSelection)
canvasWidth += shownCanvasWidth;
} else {
error('TJ array element ' + e + ' is not string or num');
}
}
if (textSelection) {
geom.canvasWidth = canvasWidth;
this.textLayer.appendText(geom);
}
},
nextLineShowText: function CanvasGraphics_nextLineShowText(text) {
this.nextLine();
this.showText(text);
},
nextLineSetSpacingShowText:
function CanvasGraphics_nextLineSetSpacingShowText(wordSpacing,
charSpacing,
text) {
this.setWordSpacing(wordSpacing);
this.setCharSpacing(charSpacing);
this.nextLineShowText(text);
},
// Type3 fonts
setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {
// We can safely ignore this since the width should be the same
// as the width in the Widths array.
},

setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth,


yWidth,
llx,
lly,
urx,
ury) {
// TODO According to the spec we're also suppose to ignore any operators
// that set color or include images while processing this type3 font.
this.rectangle(llx, lly, urx - llx, ury - lly);
this.clip();
this.endPath();
},
// Color
setStrokeColorSpace: function CanvasGraphics_setStrokeColorSpace(raw) {
this.current.strokeColorSpace = ColorSpace.fromIR(raw);
},
setFillColorSpace: function CanvasGraphics_setFillColorSpace(raw) {
this.current.fillColorSpace = ColorSpace.fromIR(raw);
},
setStrokeColor: function CanvasGraphics_setStrokeColor(/*...*/) {
var cs = this.current.strokeColorSpace;
var rgbColor = cs.getRgb(arguments);
var color = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
this.ctx.strokeStyle = color;
this.current.strokeColor = color;
},
getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR, cs) {
if (IR[0] == 'TilingPattern') {
var args = IR[1];
var base = cs.base;
var color;
if (base) {
var baseComps = base.numComps;
color = [];
for (var i = 0; i < baseComps; ++i)
color.push(args[i]);
color = base.getRgb(color);
}
var pattern = new TilingPattern(IR, color, this.ctx, this.objs);
} else if (IR[0] == 'RadialAxial' || IR[0] == 'Dummy') {
var pattern = Pattern.shadingFromIR(IR);
} else {
error('Unkown IR type ' + IR[0]);
}
return pattern;
},
setStrokeColorN: function CanvasGraphics_setStrokeColorN(/*...*/) {
var cs = this.current.strokeColorSpace;
if (cs.name == 'Pattern') {
this.current.strokeColor = this.getColorN_Pattern(arguments, cs);
} else {
this.setStrokeColor.apply(this, arguments);
}
},
setFillColor: function CanvasGraphics_setFillColor(/*...*/) {
var cs = this.current.fillColorSpace;

var rgbColor = cs.getRgb(arguments);


var color = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
this.ctx.fillStyle = color;
this.current.fillColor = color;
},
setFillColorN: function CanvasGraphics_setFillColorN(/*...*/) {
var cs = this.current.fillColorSpace;
if (cs.name == 'Pattern') {
this.current.fillColor = this.getColorN_Pattern(arguments, cs);
} else {
this.setFillColor.apply(this, arguments);
}
},
setStrokeGray: function CanvasGraphics_setStrokeGray(gray) {
if (!(this.current.strokeColorSpace instanceof DeviceGrayCS))
this.current.strokeColorSpace = new DeviceGrayCS();
var color = Util.makeCssRgb(gray, gray, gray);
this.ctx.strokeStyle = color;
this.current.strokeColor = color;
},
setFillGray: function CanvasGraphics_setFillGray(gray) {
if (!(this.current.fillColorSpace instanceof DeviceGrayCS))
this.current.fillColorSpace = new DeviceGrayCS();
var color = Util.makeCssRgb(gray, gray, gray);
this.ctx.fillStyle = color;
this.current.fillColor = color;
},
setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
if (!(this.current.strokeColorSpace instanceof DeviceRgbCS))
this.current.strokeColorSpace = new DeviceRgbCS();
var color = Util.makeCssRgb(r, g, b);
this.ctx.strokeStyle = color;
this.current.strokeColor = color;
},
setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
if (!(this.current.fillColorSpace instanceof DeviceRgbCS))
this.current.fillColorSpace = new DeviceRgbCS();
var color = Util.makeCssRgb(r, g, b);
this.ctx.fillStyle = color;
this.current.fillColor = color;
},
setStrokeCMYKColor: function CanvasGraphics_setStrokeCMYKColor(c, m, y, k) {
if (!(this.current.strokeColorSpace instanceof DeviceCmykCS))
this.current.strokeColorSpace = new DeviceCmykCS();
var color = Util.makeCssCmyk(c, m, y, k);
this.ctx.strokeStyle = color;
this.current.strokeColor = color;
},
setFillCMYKColor: function CanvasGraphics_setFillCMYKColor(c, m, y, k) {
if (!(this.current.fillColorSpace instanceof DeviceCmykCS))
this.current.fillColorSpace = new DeviceCmykCS();
var color = Util.makeCssCmyk(c, m, y, k);
this.ctx.fillStyle = color;

this.current.fillColor = color;
},
shadingFill: function CanvasGraphics_shadingFill(patternIR) {
var ctx = this.ctx;
this.save();
var pattern = Pattern.shadingFromIR(patternIR);
ctx.fillStyle = pattern.getPattern(ctx);
var inv = ctx.mozCurrentTransformInverse;
if (inv) {
var canvas = ctx.canvas;
var width = canvas.width;
var height = canvas.height;
var
var
var
var

bl
br
ul
ur

=
=
=
=

Util.applyTransform([0, 0], inv);


Util.applyTransform([0, height], inv);
Util.applyTransform([width, 0], inv);
Util.applyTransform([width, height], inv);

var
var
var
var

x0
y0
x1
y1

=
=
=
=

Math.min(bl[0],
Math.min(bl[1],
Math.max(bl[0],
Math.max(bl[1],

br[0],
br[1],
br[0],
br[1],

ul[0],
ul[1],
ul[0],
ul[1],

ur[0]);
ur[1]);
ur[0]);
ur[1]);

this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);


} else {
// HACK to draw the gradient onto an infinite rectangle.
// PDF gradients are drawn across the entire image while
// Canvas only allows gradients to be drawn in a rectangle
// The following bug should allow us to remove this.
// https://bugzilla.mozilla.org/show_bug.cgi?id=664884
this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
}
this.restore();
},
// Images
beginInlineImage: function CanvasGraphics_beginInlineImage() {
error('Should not call beginInlineImage');
},
beginImageData: function CanvasGraphics_beginImageData() {
error('Should not call beginImageData');
},
paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix,
bbox) {
this.save();
this.current.paintFormXObjectDepth++;
if (matrix && isArray(matrix) && 6 == matrix.length)
this.transform.apply(this, matrix);
if (bbox && isArray(bbox) && 4 == bbox.length) {
var width = bbox[2] - bbox[0];
var height = bbox[3] - bbox[1];
this.rectangle(bbox[0], bbox[1], width, height);

this.clip();
this.endPath();
}
},
paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
var depth = this.current.paintFormXObjectDepth;
do {
this.restore();
// some pdf don't close all restores inside object
// closing those for them
} while (this.current.paintFormXObjectDepth >= depth);
},
paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {
var domImage = this.objs.get(objId);
if (!domImage) {
error('Dependent image isn\'t ready yet');
}
this.save();
var ctx = this.ctx;
// scale the image to the unit square
ctx.scale(1 / w, -1 / h);
ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height,
0, -h, w, h);
this.restore();
},
paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(
imgArray, inverseDecode, width, height) {
function applyStencilMask(buffer, inverseDecode) {
var imgArrayPos = 0;
var i, j, mask, buf;
// removing making non-masked pixels transparent
var bufferPos = 3; // alpha component offset
for (i = 0; i < height; i++) {
mask = 0;
for (j = 0; j < width; j++) {
if (!mask) {
buf = imgArray[imgArrayPos++];
mask = 128;
}
if (!(buf & mask) == inverseDecode) {
buffer[bufferPos] = 0;
}
bufferPos += 4;
mask >>= 1;
}
}
}
function rescaleImage(pixels, widthScale, heightScale) {
var scaledWidth = Math.ceil(width / widthScale);
var scaledHeight = Math.ceil(height / heightScale);
var itemsSum = new Uint32Array(scaledWidth * scaledHeight * 4);
var itemsCount = new Uint32Array(scaledWidth * scaledHeight);

for (var i = 0, position = 0; i < height; i++) {


var lineOffset = (0 | (i / heightScale)) * scaledWidth;
for (var j = 0; j < width; j++) {
var countOffset = lineOffset + (0 | (j / widthScale));
var sumOffset = countOffset << 2;
itemsSum[sumOffset] += pixels[position];
itemsSum[sumOffset + 1] += pixels[position + 1];
itemsSum[sumOffset + 2] += pixels[position + 2];
itemsSum[sumOffset + 3] += pixels[position + 3];
itemsCount[countOffset]++;
position += 4;
}
}
var tmpCanvas = createScratchCanvas(scaledWidth, scaledHeight);
var tmpCtx = tmpCanvas.getContext('2d');
var imgData = tmpCtx.getImageData(0, 0, scaledWidth, scaledHeight);
pixels = imgData.data;
for (var i = 0, j = 0, ii = scaledWidth * scaledHeight; i < ii; i++) {
var count = itemsCount[i];
pixels[j] = itemsSum[j] / count;
pixels[j + 1] = itemsSum[j + 1] / count;
pixels[j + 2] = itemsSum[j + 2] / count;
pixels[j + 3] = itemsSum[j + 3] / count;
j += 4;
}
tmpCtx.putImageData(imgData, 0, 0);
return tmpCanvas;
}
this.save();
var ctx = this.ctx;
var w = width, h = height;
// scale the image to the unit square
ctx.scale(1 / w, -1 / h);
var tmpCanvas = createScratchCanvas(w, h);
var tmpCtx = tmpCanvas.getContext('2d');
var fillColor = this.current.fillColor;
tmpCtx.fillStyle = (fillColor && fillColor.hasOwnProperty('type') &&
fillColor.type === 'Pattern') ?
fillColor.getPattern(tmpCtx) : fillColor;
tmpCtx.fillRect(0, 0, w, h);
var imgData = tmpCtx.getImageData(0, 0, w, h);
var pixels = imgData.data;
applyStencilMask(pixels, inverseDecode);
var currentTransform = ctx.mozCurrentTransformInverse;
var widthScale = Math.max(Math.abs(currentTransform[0]), 1);
var heightScale = Math.max(Math.abs(currentTransform[3]), 1);
if (widthScale >= 2 || heightScale >= 2) {
// canvas does not resize well large images to small -- using simple
// algorithm to perform pre-scaling
tmpCanvas = rescaleImage(imgData.data, widthScale, heightScale);
ctx.scale(widthScale, heightScale);
ctx.drawImage(tmpCanvas, 0, -h / heightScale);
} else {

tmpCtx.putImageData(imgData, 0, 0);
ctx.drawImage(tmpCanvas, 0, -h);
}
this.restore();
},
paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
var imgData = this.objs.get(objId);
if (!imgData)
error('Dependent image isn\'t ready yet');
this.save();
var ctx = this.ctx;
var w = imgData.width;
var h = imgData.height;
// scale the image to the unit square
ctx.scale(1 / w, -1 / h);
var tmpCanvas = createScratchCanvas(w, h);
var tmpCtx = tmpCanvas.getContext('2d');
this.putBinaryImageData(tmpCtx, imgData, w, h);
ctx.drawImage(tmpCanvas, 0, -h);
this.restore();
},
putBinaryImageData: function CanvasGraphics_putBinaryImageData(ctx, imgData,
w, h) {
var tmpImgData = 'createImageData' in ctx ? ctx.createImageData(w, h) :
ctx.getImageData(0, 0, w, h);
var tmpImgDataPixels = tmpImgData.data;
var data = imgData.data;
if ('set' in tmpImgDataPixels)
tmpImgDataPixels.set(data);
else {
// Copy over the imageData pixel by pixel.
for (var i = 0, ii = tmpImgDataPixels.length; i < ii; i++)
tmpImgDataPixels[i] = data[i];
}
ctx.putImageData(tmpImgData, 0, 0);
},
// Marked content
markPoint: function CanvasGraphics_markPoint(tag) {
// TODO Marked content.
},
markPointProps: function CanvasGraphics_markPointProps(tag, properties) {
// TODO Marked content.
},
beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {
// TODO Marked content.
},
beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(
tag, properties) {
// TODO Marked content.
},
endMarkedContent: function CanvasGraphics_endMarkedContent() {

// TODO Marked content.


},
// Compatibility
beginCompat: function CanvasGraphics_beginCompat() {
TODO('ignore undefined operators (should we do that anyway?)');
},
endCompat: function CanvasGraphics_endCompat() {
TODO('stop ignoring undefined operators');
},
// Helper functions
consumePath: function CanvasGraphics_consumePath() {
if (this.pendingClip) {
var savedFillRule = null;
if (this.pendingClip == EO_CLIP)
savedFillRule = this.setEOFillRule();
this.ctx.clip();
this.pendingClip = null;
if (savedFillRule !== null)
this.restoreFillRule(savedFillRule);
}
this.ctx.beginPath();
},
// We generally keep the canvas context set for
// nonzero-winding, and just set evenodd for the operations
// that need them.
setEOFillRule: function CanvasGraphics_setEOFillRule() {
var savedFillRule = this.ctx.mozFillRule;
this.ctx.mozFillRule = 'evenodd';
return savedFillRule;
},
restoreFillRule: function CanvasGraphics_restoreFillRule(rule) {
this.ctx.mozFillRule = rule;
},
getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) {
var inverse = this.ctx.mozCurrentTransformInverse;
// max of the current horizontal and vertical scale
return Math.sqrt(Math.max(
(inverse[0] * inverse[0] + inverse[1] * inverse[1]),
(inverse[2] * inverse[2] + inverse[3] * inverse[3])));
}
};
return CanvasGraphics;
})();

var Name = (function NameClosure() {


function Name(name) {
this.name = name;
}
Name.prototype = {};

return Name;
})();
var Cmd = (function CmdClosure() {
function Cmd(cmd) {
this.cmd = cmd;
}
Cmd.prototype = {};
var cmdCache = {};
Cmd.get = function Cmd_get(cmd) {
var cmdValue = cmdCache[cmd];
if (cmdValue)
return cmdValue;
return cmdCache[cmd] = new Cmd(cmd);
};
return Cmd;
})();
var Dict = (function DictClosure() {
// xref is optional
function Dict(xref) {
// Map should only be used internally, use functions below to access.
var map = Object.create(null);
this.assignXref = function Dict_assignXref(newXref) {
xref = newXref;
};
// automatically dereferences Ref objects
this.get = function Dict_get(key1, key2, key3) {
var value;
if (typeof (value = map[key1]) != 'undefined' || key1 in map ||
typeof key2 == 'undefined') {
return xref ? xref.fetchIfRef(value) : value;
}
if (typeof (value = map[key2]) != 'undefined' || key2 in map ||
typeof key3 == 'undefined') {
return xref ? xref.fetchIfRef(value) : value;
}
value = map[key3] || null;
return xref ? xref.fetchIfRef(value) : value;
};
// no dereferencing
this.getRaw = function Dict_getRaw(key) {
return map[key];
};
// creates new map and dereferences all Refs
this.getAll = function Dict_getAll() {
var all = {};
for (var key in map) {
var obj = this.get(key);
all[key] = obj instanceof Dict ? obj.getAll() : obj;
}

return all;
};
this.set = function Dict_set(key, value) {
map[key] = value;
};
this.has = function Dict_has(key) {
return key in map;
};
this.forEach = function Dict_forEach(callback) {
for (var key in map) {
callback(key, this.get(key));
}
};
};
return Dict;
})();
var Ref = (function RefClosure() {
function Ref(num, gen) {
this.num = num;
this.gen = gen;
}
Ref.prototype = {};
return Ref;
})();
// The reference is identified by number and generation,
// this structure stores only one instance of the reference.
var RefSet = (function RefSetClosure() {
function RefSet() {
this.dict = {};
}
RefSet.prototype = {
has: function RefSet_has(ref) {
return !!this.dict['R' + ref.num + '.' + ref.gen];
},
put: function RefSet_put(ref) {
this.dict['R' + ref.num + '.' + ref.gen] = ref;
}
};
return RefSet;
})();
var Catalog = (function CatalogClosure() {
function Catalog(xref) {
this.xref = xref;
var obj = xref.getCatalogObj();
assertWellFormed(isDict(obj), 'catalog object is not a dictionary');
this.catDict = obj;
}

Catalog.prototype = {
get metadata() {
var streamRef = this.catDict.getRaw('Metadata');
if (!isRef(streamRef))
return shadow(this, 'metadata', null);
var encryptMetadata = !this.xref.encrypt ? false :
this.xref.encrypt.encryptMetadata;
var stream = this.xref.fetch(streamRef, !encryptMetadata);
var metadata;
if (stream && isDict(stream.dict)) {
var type = stream.dict.get('Type');
var subtype = stream.dict.get('Subtype');
if (isName(type) && isName(subtype) &&
type.name === 'Metadata' && subtype.name === 'XML') {
// XXX: This should examine the charset the XML document defines,
// however since there are currently no real means to decode
// arbitrary charsets, let's just hope that the author of the PDF
// was reasonable enough to stick with the XML default charset,
// which is UTF-8.
try {
metadata = stringToUTF8String(bytesToString(stream.getBytes()));
} catch (e) {
info('Skipping invalid metadata.');
}
}
}
return shadow(this, 'metadata', metadata);
},
get toplevelPagesDict() {
var pagesObj = this.catDict.get('Pages');
assertWellFormed(isDict(pagesObj), 'invalid top-level pages dictionary');
// shadow the prototype getter
return shadow(this, 'toplevelPagesDict', pagesObj);
},
get documentOutline() {
var xref = this.xref;
var obj = this.catDict.get('Outlines');
var root = { items: [] };
if (isDict(obj)) {
obj = obj.getRaw('First');
var processed = new RefSet();
if (isRef(obj)) {
var queue = [{obj: obj, parent: root}];
// to avoid recursion keeping track of the items
// in the processed dictionary
processed.put(obj);
while (queue.length > 0) {
var i = queue.shift();
var outlineDict = xref.fetchIfRef(i.obj);
if (outlineDict === null)
continue;
if (!outlineDict.has('Title'))
error('Invalid outline item');
var dest = outlineDict.get('A');
if (dest)
dest = dest.get('D');

else if (outlineDict.has('Dest')) {
dest = outlineDict.getRaw('Dest');
if (isName(dest))
dest = dest.name;
}
var title = outlineDict.get('Title');
var outlineItem = {
dest: dest,
title: stringToPDFString(title),
color: outlineDict.get('C') || [0, 0, 0],
count: outlineDict.get('Count'),
bold: !!(outlineDict.get('F') & 2),
italic: !!(outlineDict.get('F') & 1),
items: []
};
i.parent.items.push(outlineItem);
obj = outlineDict.getRaw('First');
if (isRef(obj) && !processed.has(obj)) {
queue.push({obj: obj, parent: outlineItem});
processed.put(obj);
}
obj = outlineDict.getRaw('Next');
if (isRef(obj) && !processed.has(obj)) {
queue.push({obj: obj, parent: i.parent});
processed.put(obj);
}
}
}
}
obj = root.items.length > 0 ? root.items : null;
return shadow(this, 'documentOutline', obj);
},
get numPages() {
var obj = this.toplevelPagesDict.get('Count');
assertWellFormed(
isInt(obj),
'page count in top level pages object is not an integer'
);
// shadow the prototype getter
return shadow(this, 'num', obj);
},
traverseKids: function Catalog_traverseKids(pagesDict) {
var pageCache = this.pageCache;
var kids = pagesDict.get('Kids');
assertWellFormed(isArray(kids),
'page dictionary kids object is not an array');
for (var i = 0, ii = kids.length; i < ii; ++i) {
var kid = kids[i];
assertWellFormed(isRef(kid),
'page dictionary kid is not a reference');
var obj = this.xref.fetch(kid);
if (isDict(obj, 'Page') || (isDict(obj) && !obj.has('Kids'))) {
pageCache.push(new Page(this.xref, pageCache.length, obj, kid));
} else { // must be a child page dictionary
assertWellFormed(
isDict(obj),
'page dictionary kid reference points to wrong type of object'
);
this.traverseKids(obj);
}

}
},
get destinations() {
function fetchDestination(dest) {
return isDict(dest) ? dest.get('D') : dest;
}
var xref = this.xref;
var dests = {}, nameTreeRef, nameDictionaryRef;
var obj = this.catDict.get('Names');
if (obj)
nameTreeRef = obj.getRaw('Dests');
else if (this.catDict.has('Dests'))
nameDictionaryRef = this.catDict.get('Dests');
if (nameDictionaryRef) {
// reading simple destination dictionary
obj = nameDictionaryRef;
obj.forEach(function catalogForEach(key, value) {
if (!value) return;
dests[key] = fetchDestination(value);
});
}
if (nameTreeRef) {
// reading name tree
var processed = new RefSet();
processed.put(nameTreeRef);
var queue = [nameTreeRef];
while (queue.length > 0) {
var i, n;
obj = xref.fetch(queue.shift());
if (obj.has('Kids')) {
var kids = obj.get('Kids');
for (i = 0, n = kids.length; i < n; i++) {
var kid = kids[i];
if (processed.has(kid))
error('invalid destinations');
queue.push(kid);
processed.put(kid);
}
continue;
}
var names = obj.get('Names');
for (i = 0, n = names.length; i < n; i += 2) {
dests[names[i]] = fetchDestination(xref.fetchIfRef(names[i + 1]));
}
}
}
return shadow(this, 'destinations', dests);
},
getPage: function Catalog_getPage(n) {
var pageCache = this.pageCache;
if (!pageCache) {
pageCache = this.pageCache = [];
this.traverseKids(this.toplevelPagesDict);
}
return this.pageCache[n - 1];
}
};

return Catalog;
})();
var XRef = (function XRefClosure() {
function XRef(stream, startXRef, mainXRefEntriesOffset, password) {
this.stream = stream;
this.entries = [];
this.xrefstms = {};
var trailerDict = this.readXRef(startXRef);
trailerDict.assignXref(this);
this.trailer = trailerDict;
// prepare the XRef cache
this.cache = [];
var encrypt = trailerDict.get('Encrypt');
if (encrypt) {
var fileId = trailerDict.get('ID');
this.encrypt = new CipherTransformFactory(encrypt, fileId[0], password);
}
// get the root dictionary (catalog) object
if (!(this.root = trailerDict.get('Root')))
error('Invalid root reference');
}
XRef.prototype = {
readXRefTable: function XRef_readXRefTable(parser) {
// Example of cross-reference table:
// xref
// 0 1
<-- subsection header (first obj #, obj count)
// 0000000000 65535 f
<-- actual object (offset, generation #, f/n)
// 23 2
<-- subsection header ... and so on ...
// 0000025518 00002 n
// 0000025635 00000 n
// trailer
// ...
// Outer loop is over subsection headers
var obj;
while (!isCmd(obj = parser.getObj(), 'trailer')) {
var first = obj,
count = parser.getObj();
if (!isInt(first) || !isInt(count))
error('Invalid XRef table: wrong types in subsection header');
// Inner loop is over objects themselves
for (var i = 0; i < count; i++) {
var entry = {};
entry.offset = parser.getObj();
entry.gen = parser.getObj();
var type = parser.getObj();
if (isCmd(type, 'f'))
entry.free = true;
else if (isCmd(type, 'n'))
entry.uncompressed = true;
// Validate entry obj
if (!isInt(entry.offset) || !isInt(entry.gen) ||

!(entry.free || entry.uncompressed)) {
error('Invalid entry in XRef subsection: ' + first + ', ' + count);
}
if (!this.entries[i + first])
this.entries[i + first] = entry;
}
}
// Sanity check: as per spec, first object must be free
if (this.entries[0] && !this.entries[0].free)
error('Invalid XRef table: unexpected first object');
// Sanity check
if (!isCmd(obj, 'trailer'))
error('Invalid XRef table: could not find trailer dictionary');
// Read trailer dictionary, e.g.
// trailer
//
<< /Size 22
//
/Root 20R
//
/Info 10R
//
/ID [ <81b14aafa313db63dbd6f981e49f94f4> ]
//
>>
// The parser goes through the entire stream << ... >> and provides
// a getter interface for the key-value table
var dict = parser.getObj();
if (!isDict(dict))
error('Invalid XRef table: could not parse trailer dictionary');
return dict;
},
readXRefStream: function XRef_readXRefStream(stream) {
var streamParameters = stream.parameters;
var byteWidths = streamParameters.get('W');
var range = streamParameters.get('Index');
if (!range)
range = [0, streamParameters.get('Size')];
var i, j;
while (range.length > 0) {
var first = range[0], n = range[1];
if (!isInt(first) || !isInt(n))
error('Invalid XRef range fields: ' + first + ', ' + n);
var typeFieldWidth = byteWidths[0];
var offsetFieldWidth = byteWidths[1];
var generationFieldWidth = byteWidths[2];
if (!isInt(typeFieldWidth) || !isInt(offsetFieldWidth) ||
!isInt(generationFieldWidth)) {
error('Invalid XRef entry fields length: ' + first + ', ' + n);
}
for (i = 0; i < n; ++i) {
var type = 0, offset = 0, generation = 0;
for (j = 0; j < typeFieldWidth; ++j)
type = (type << 8) | stream.getByte();
// if type field is absent, its default value = 1
if (typeFieldWidth == 0)
type = 1;
for (j = 0; j < offsetFieldWidth; ++j)
offset = (offset << 8) | stream.getByte();
for (j = 0; j < generationFieldWidth; ++j)

generation = (generation << 8) | stream.getByte();


var entry = {};
entry.offset = offset;
entry.gen = generation;
switch (type) {
case 0:
entry.free = true;
break;
case 1:
entry.uncompressed = true;
break;
case 2:
break;
default:
error('Invalid XRef entry type: ' + type);
}
if (!this.entries[first + i])
this.entries[first + i] = entry;
}
range.splice(0, 2);
}
return streamParameters;
},
indexObjects: function XRef_indexObjects() {
// Simple scan through the PDF content to find objects,
// trailers and XRef streams.
function readToken(data, offset) {
var token = '', ch = data[offset];
while (ch !== 13 && ch !== 10) {
if (++offset >= data.length)
break;
token += String.fromCharCode(ch);
ch = data[offset];
}
return token;
}
function skipUntil(data, offset, what) {
var length = what.length, dataLength = data.length;
var skipped = 0;
// finding byte sequence
while (offset < dataLength) {
var i = 0;
while (i < length && data[offset + i] == what[i])
++i;
if (i >= length)
break; // sequence found
offset++;
skipped++;
}
return skipped;
}
var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);
var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114,
101, 102]);
var endobjBytes = new Uint8Array([101, 110, 100, 111, 98, 106]);
var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);
var stream = this.stream;
stream.pos = 0;

var buffer = stream.getBytes();


var position = stream.start, length = buffer.length;
var trailers = [], xrefStms = [];
var state = 0;
var currentToken;
while (position < length) {
var ch = buffer[position];
if (ch === 32 || ch === 9 || ch === 13 || ch === 10) {
++position;
continue;
}
if (ch === 37) { // %-comment
do {
++position;
ch = buffer[position];
} while (ch !== 13 && ch !== 10);
continue;
}
var token = readToken(buffer, position);
var m;
if (token === 'xref') {
position += skipUntil(buffer, position, trailerBytes);
trailers.push(position);
position += skipUntil(buffer, position, startxrefBytes);
} else if ((m = /^(\d+)\s+(\d+)\s+obj\b/.exec(token))) {
this.entries[m[1]] = {
offset: position,
gen: m[2] | 0,
uncompressed: true
};
var contentLength = skipUntil(buffer, position, endobjBytes) + 7;
var content = buffer.subarray(position, position + contentLength);
// checking XRef stream suspect
// (it shall have '/XRef' and next char is not a letter)
var xrefTagOffset = skipUntil(content, 0, xrefBytes);
if (xrefTagOffset < contentLength &&
content[xrefTagOffset + 5] < 64) {
xrefStms.push(position);
this.xrefstms[position] = 1; // don't read it recursively
}
position += contentLength;
} else
position += token.length + 1;
}
// reading XRef streams
for (var i = 0, ii = xrefStms.length; i < ii; ++i) {
this.readXRef(xrefStms[i], true);
}
// finding main trailer
var dict;
for (var i = 0, ii = trailers.length; i < ii; ++i) {
stream.pos = trailers[i];
var parser = new Parser(new Lexer(stream), true, null);
var obj = parser.getObj();
if (!isCmd(obj, 'trailer'))
continue;
// read the trailer dictionary

if (!isDict(dict = parser.getObj()))
continue;
// taking the first one with 'ID'
if (dict.has('ID'))
return dict;
}
// no tailer with 'ID', taking last one (if exists)
if (dict)
return dict;
// nothing helps
// calling error() would reject worker with an UnknownErrorException.
throw new InvalidPDFException('Invalid PDF structure');
},
readXRef: function XRef_readXRef(startXRef, recoveryMode) {
var stream = this.stream;
stream.pos = startXRef;
try {
var parser = new Parser(new Lexer(stream), true, null);
var obj = parser.getObj();
var dict;
// Get dictionary
if (isCmd(obj, 'xref')) {
// Parse end-of-file XRef
dict = this.readXRefTable(parser);
// Recursively get other XRefs 'XRefStm', if any
obj = dict.get('XRefStm');
if (isInt(obj)) {
var pos = obj;
// ignore previously loaded xref streams
// (possible infinite recursion)
if (!(pos in this.xrefstms)) {
this.xrefstms[pos] = 1;
this.readXRef(pos);
}
}
} else if (isInt(obj)) {
// Parse in-stream XRef
if (!isInt(parser.getObj()) ||
!isCmd(parser.getObj(), 'obj') ||
!isStream(obj = parser.getObj())) {
error('Invalid XRef stream');
}
dict = this.readXRefStream(obj);
if (!dict)
error('Failed to read XRef stream');
}
// Recursively get previous dictionary, if any
obj = dict.get('Prev');
if (isInt(obj))
this.readXRef(obj, recoveryMode);
else if (isRef(obj)) {
// The spec says Prev must not be a reference, i.e. "/Prev NNN"
// This is a fallback for non-compliant PDFs, i.e. "/Prev NNN 0 R"
this.readXRef(obj.num, recoveryMode);
}

return dict;
} catch (e) {
log('(while reading XRef): ' + e);
}
if (recoveryMode)
return;
warn('Indexing all PDF objects');
return this.indexObjects();
},
getEntry: function XRef_getEntry(i) {
var e = this.entries[i];
if (e === null)
return null;
return e.free || !e.offset ? null : e; // returns null if entry is free
},
fetchIfRef: function XRef_fetchIfRef(obj) {
if (!isRef(obj))
return obj;
return this.fetch(obj);
},
fetch: function XRef_fetch(ref, suppressEncryption) {
assertWellFormed(isRef(ref), 'ref object is not a reference');
var num = ref.num;
if (num in this.cache)
return this.cache[num];
var e = this.getEntry(num);
// the referenced entry can be free
if (e === null)
return (this.cache[num] = e);
var gen = ref.gen;
var stream, parser;
if (e.uncompressed) {
if (e.gen != gen)
error('inconsistent generation in XRef');
stream = this.stream.makeSubStream(e.offset);
parser = new Parser(new Lexer(stream), true, this);
var obj1 = parser.getObj();
var obj2 = parser.getObj();
var obj3 = parser.getObj();
if (!isInt(obj1) || obj1 != num ||
!isInt(obj2) || obj2 != gen ||
!isCmd(obj3)) {
error('bad XRef entry');
}
if (!isCmd(obj3, 'obj')) {
// some bad pdfs use "obj1234" and really mean 1234
if (obj3.cmd.indexOf('obj') == 0) {
num = parseInt(obj3.cmd.substring(3), 10);
if (!isNaN(num))
return num;
}
error('bad XRef entry');
}
if (this.encrypt && !suppressEncryption) {
try {

e = parser.getObj(this.encrypt.createCipherTransform(num, gen));
} catch (ex) {
// almost all streams must be encrypted, but sometimes
// they are not probably due to some broken generators
// re-trying without encryption
return this.fetch(ref, true);
}
} else {
e = parser.getObj();
}
// Don't cache streams since they are mutable (except images).
if (!isStream(e) || e instanceof JpegStream)
this.cache[num] = e;
return e;
}
// compressed entry
var tableOffset = e.offset;
stream = this.fetch(new Ref(tableOffset, 0));
if (!isStream(stream))
error('bad ObjStm stream');
var first = stream.parameters.get('First');
var n = stream.parameters.get('N');
if (!isInt(first) || !isInt(n)) {
error('invalid first and n parameters for ObjStm stream');
}
parser = new Parser(new Lexer(stream), false, this);
parser.allowStreams = true;
var i, entries = [], nums = [];
// read the object numbers to populate cache
for (i = 0; i < n; ++i) {
num = parser.getObj();
if (!isInt(num)) {
error('invalid object number in the ObjStm stream: ' + num);
}
nums.push(num);
var offset = parser.getObj();
if (!isInt(offset)) {
error('invalid object offset in the ObjStm stream: ' + offset);
}
}
// read stream objects for cache
for (i = 0; i < n; ++i) {
entries.push(parser.getObj());
num = nums[i];
var entry = this.entries[num];
if (entry && entry.offset === tableOffset && entry.gen === i) {
this.cache[num] = entries[i];
}
}
e = entries[e.gen];
if (!e) {
error('bad XRef entry for compressed object');
}
return e;
},
getCatalogObj: function XRef_getCatalogObj() {
return this.root;
}
};

return XRef;
})();
/**
* A PDF document and page is built of many objects. E.g. there are objects
* for fonts, images, rendering code and such. These objects might get processed
* inside of a worker. The `PDFObjects` implements some basic functions to
* manage these objects.
*/
var PDFObjects = (function PDFObjectsClosure() {
function PDFObjects() {
this.objs = {};
}
PDFObjects.prototype = {
/**
* Internal function.
* Ensures there is an object defined for `objId`. Stores `data` on the
* object *if* it is created.
*/
ensureObj: function PDFObjects_ensureObj(objId, data) {
if (this.objs[objId])
return this.objs[objId];
return this.objs[objId] = new Promise(objId, data);
},
/**
* If called *without* callback, this returns the data of `objId` but the
* object needs to be resolved. If it isn't, this function throws.
*
* If called *with* a callback, the callback is called with the data of the
* object once the object is resolved. That means, if you call this
* function and the object is already resolved, the callback gets called
* right away.
*/
get: function PDFObjects_get(objId, callback) {
// If there is a callback, then the get can be async and the object is
// not required to be resolved right now
if (callback) {
this.ensureObj(objId).then(callback);
return null;
}
// If there isn't a callback, the user expects to get the resolved data
// directly.
var obj = this.objs[objId];
// If there isn't an object yet or the object isn't resolved, then the
// data isn't ready yet!
if (!obj || !obj.isResolved)
error('Requesting object that isn\'t resolved yet ' + objId);
return obj.data;
},
/**
* Resolves the object `objId` with optional `data`.
*/
resolve: function PDFObjects_resolve(objId, data) {

var objs = this.objs;


// In case there is a promise already on this object, just resolve it.
if (objs[objId]) {
objs[objId].resolve(data);
} else {
this.ensureObj(objId, data);
}
},
onData: function PDFObjects_onData(objId, callback) {
this.ensureObj(objId).onData(callback);
},
isResolved: function PDFObjects_isResolved(objId) {
var objs = this.objs;
if (!objs[objId]) {
return false;
} else {
return objs[objId].isResolved;
}
},
hasData: function PDFObjects_hasData(objId) {
var objs = this.objs;
if (!objs[objId]) {
return false;
} else {
return objs[objId].hasData;
}
},
/**
* Returns the data of `objId` if object exists, null otherwise.
*/
getData: function PDFObjects_getData(objId) {
var objs = this.objs;
if (!objs[objId] || !objs[objId].hasData) {
return null;
} else {
return objs[objId].data;
}
},
/**
* Sets the data of an object but *doesn't* resolve it.
*/
setData: function PDFObjects_setData(objId, data) {
// Watchout! If you call `this.ensureObj(objId, data)` you're going to
// create a *resolved* promise which shouldn't be the case!
this.ensureObj(objId).data = data;
},
clear: function PDFObjects_clear() {
this.objs = {};
}
};
return PDFObjects;
})();

var PDFFunction = (function PDFFunctionClosure() {


var CONSTRUCT_SAMPLED = 0;
var CONSTRUCT_INTERPOLATED = 2;
var CONSTRUCT_STICHED = 3;
var CONSTRUCT_POSTSCRIPT = 4;
return {
getSampleArray: function PDFFunction_getSampleArray(size, outputSize, bps,
str) {
var length = 1;
for (var i = 0, ii = size.length; i < ii; i++)
length *= size[i];
length *= outputSize;
var array = [];
var codeSize = 0;
var codeBuf = 0;
// 32 is a valid bps so shifting won't work
var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);
var strBytes = str.getBytes((length * bps + 7) / 8);
var strIdx = 0;
for (var i = 0; i < length; i++) {
while (codeSize < bps) {
codeBuf <<= 8;
codeBuf |= strBytes[strIdx++];
codeSize += 8;
}
codeSize -= bps;
array.push((codeBuf >> codeSize) * sampleMul);
codeBuf &= (1 << codeSize) - 1;
}
return array;
},
getIR: function PDFFunction_getIR(xref, fn) {
var dict = fn.dict;
if (!dict)
dict = fn;
var types = [this.constructSampled,
null,
this.constructInterpolated,
this.constructStiched,
this.constructPostScript];
var typeNum = dict.get('FunctionType');
var typeFn = types[typeNum];
if (!typeFn)
error('Unknown type of function');
return typeFn.call(this, fn, dict, xref);
},
fromIR: function PDFFunction_fromIR(IR) {
var type = IR[0];
switch (type) {
case CONSTRUCT_SAMPLED:

return this.constructSampledFromIR(IR);
case CONSTRUCT_INTERPOLATED:
return this.constructInterpolatedFromIR(IR);
case CONSTRUCT_STICHED:
return this.constructStichedFromIR(IR);
case CONSTRUCT_POSTSCRIPT:
default:
return this.constructPostScriptFromIR(IR);
}
},
parse: function PDFFunction_parse(xref, fn) {
var IR = this.getIR(xref, fn);
return this.fromIR(IR);
},
constructSampled: function PDFFunction_constructSampled(str, dict) {
function toMultiArray(arr) {
var inputLength = arr.length;
var outputLength = arr.length / 2;
var out = [];
var index = 0;
for (var i = 0; i < inputLength; i += 2) {
out[index] = [arr[i], arr[i + 1]];
++index;
}
return out;
}
var domain = dict.get('Domain');
var range = dict.get('Range');
if (!domain || !range)
error('No domain or range');
var inputSize = domain.length / 2;
var outputSize = range.length / 2;
domain = toMultiArray(domain);
range = toMultiArray(range);
var size = dict.get('Size');
var bps = dict.get('BitsPerSample');
var order = dict.get('Order') || 1;
if (order !== 1) {
// No description how cubic spline interpolation works in PDF32000:2008
// As in poppler, ignoring order, linear interpolation may work as good
TODO('No support for cubic spline interpolation: ' + order);
}
var encode = dict.get('Encode');
if (!encode) {
encode = [];
for (var i = 0; i < inputSize; ++i) {
encode.push(0);
encode.push(size[i] - 1);
}
}
encode = toMultiArray(encode);
var decode = dict.get('Decode');

if (!decode)
decode = range;
else
decode = toMultiArray(decode);
var samples = this.getSampleArray(size, outputSize, bps, str);
return [
CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size,
outputSize, Math.pow(2, bps) - 1, range
];
},
constructSampledFromIR: function PDFFunction_constructSampledFromIR(IR) {
// See chapter 3, page 109 of the PDF reference
function interpolate(x, xmin, xmax, ymin, ymax) {
return ymin + ((x - xmin) * ((ymax - ymin) / (xmax - xmin)));
}
return function constructSampledFromIRResult(args) {
// See chapter 3, page 110 of the PDF reference.
var m = IR[1];
var domain = IR[2];
var encode = IR[3];
var decode = IR[4];
var samples = IR[5];
var size = IR[6];
var n = IR[7];
var mask = IR[8];
var range = IR[9];
if (m != args.length)
error('Incorrect number of arguments: ' + m + ' != ' +
args.length);
var x = args;
// Building the cube vertices: its part and sample index
// http://rjwagner49.com/Mathematics/Interpolation.pdf
var cubeVertices = 1 << m;
var cubeN = new Float64Array(cubeVertices);
var cubeVertex = new Uint32Array(cubeVertices);
for (var j = 0; j < cubeVertices; j++)
cubeN[j] = 1;
var k = n, pos = 1;
// Map x_i to y_j for 0 <= i < m using the sampled function.
for (var i = 0; i < m; ++i) {
// x_i' = min(max(x_i, Domain_2i), Domain_2i+1)
var domain_2i = domain[i][0];
var domain_2i_1 = domain[i][1];
var xi = Math.min(Math.max(x[i], domain_2i), domain_2i_1);
// e_i = Interpolate(x_i', Domain_2i, Domain_2i+1,
//
Encode_2i, Encode_2i+1)
var e = interpolate(xi, domain_2i, domain_2i_1,
encode[i][0], encode[i][1]);
// e_i' = min(max(e_i, 0), Size_i - 1)
var size_i = size[i];

e = Math.min(Math.max(e, 0), size_i - 1);


// Adjusting the cube: N and vertex sample index
var e0 = e < size_i - 1 ? Math.floor(e) : e - 1; // e1 = e0 + 1;
var n0 = e0 + 1 - e; // (e1 - e) / (e1 - e0);
var n1 = e - e0; // (e - e0) / (e1 - e0);
var offset0 = e0 * k;
var offset1 = offset0 + k; // e1 * k
for (var j = 0; j < cubeVertices; j++) {
if (j & pos) {
cubeN[j] *= n1;
cubeVertex[j] += offset1;
} else {
cubeN[j] *= n0;
cubeVertex[j] += offset0;
}
}
k *= size_i;
pos <<= 1;
}
var y = new Float64Array(n);
for (var j = 0; j < n; ++j) {
// Sum all cube vertices' samples portions
var rj = 0;
for (var i = 0; i < cubeVertices; i++)
rj += samples[cubeVertex[i] + j] * cubeN[i];
// r_j' = Interpolate(r_j, 0, 2^BitsPerSample - 1,
//
Decode_2j, Decode_2j+1)
rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);
// y_j = min(max(r_j, range_2j), range_2j+1)
y[j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);
}
return y;
}
},
constructInterpolated: function PDFFunction_constructInterpolated(str,
dict) {
var c0 = dict.get('C0') || [0];
var c1 = dict.get('C1') || [1];
var n = dict.get('N');
if (!isArray(c0) || !isArray(c1))
error('Illegal dictionary for interpolated function');
var length = c0.length;
var diff = [];
for (var i = 0; i < length; ++i)
diff.push(c1[i] - c0[i]);
return [CONSTRUCT_INTERPOLATED, c0, diff, n];
},
constructInterpolatedFromIR:
function PDFFunction_constructInterpolatedFromIR(IR) {

var c0 = IR[1];
var diff = IR[2];
var n = IR[3];
var length = diff.length;
return function constructInterpolatedFromIRResult(args) {
var x = n == 1 ? args[0] : Math.pow(args[0], n);
var out = [];
for (var j = 0; j < length; ++j)
out.push(c0[j] + (x * diff[j]));
return out;
}
},
constructStiched: function PDFFunction_constructStiched(fn, dict, xref) {
var domain = dict.get('Domain');
if (!domain)
error('No domain');
var inputSize = domain.length / 2;
if (inputSize != 1)
error('Bad domain for stiched function');
var fnRefs = dict.get('Functions');
var fns = [];
for (var i = 0, ii = fnRefs.length; i < ii; ++i)
fns.push(PDFFunction.getIR(xref, xref.fetchIfRef(fnRefs[i])));
var bounds = dict.get('Bounds');
var encode = dict.get('Encode');
return [CONSTRUCT_STICHED, domain, bounds, encode, fns];
},
constructStichedFromIR: function PDFFunction_constructStichedFromIR(IR) {
var domain = IR[1];
var bounds = IR[2];
var encode = IR[3];
var fnsIR = IR[4];
var fns = [];
for (var i = 0, ii = fnsIR.length; i < ii; i++) {
fns.push(PDFFunction.fromIR(fnsIR[i]));
}
return function constructStichedFromIRResult(args) {
var clip = function constructStichedFromIRClip(v, min, max) {
if (v > max)
v = max;
else if (v < min)
v = min;
return v;
};
// clip to domain

var v = clip(args[0], domain[0], domain[1]);


// calulate which bound the value is in
for (var i = 0, ii = bounds.length; i < ii; ++i) {
if (v < bounds[i])
break;
}
// encode value into domain of function
var dmin = domain[0];
if (i > 0)
dmin = bounds[i - 1];
var dmax = domain[1];
if (i < bounds.length)
dmax = bounds[i];
var rmin = encode[2 * i];
var rmax = encode[2 * i + 1];
var v2 = rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);
// call the appropropriate function
return fns[i]([v2]);
};
},
constructPostScript: function PDFFunction_constructPostScript(fn, dict,
xref) {
var domain = dict.get('Domain');
var range = dict.get('Range');
if (!domain)
error('No domain.');
if (!range)
error('No range.');
var lexer = new PostScriptLexer(fn);
var parser = new PostScriptParser(lexer);
var code = parser.parse();
return [CONSTRUCT_POSTSCRIPT, domain, range, code];
},
constructPostScriptFromIR: function PDFFunction_constructPostScriptFromIR(
IR) {
var domain = IR[1];
var range = IR[2];
var code = IR[3];
var numOutputs = range.length / 2;
var evaluator = new PostScriptEvaluator(code);
// Cache the values for a big speed up, the cache size is limited though
// since the number of possible values can be huge from a PS function.
var cache = new FunctionCache();
return function constructPostScriptFromIRResult(args) {
var initialStack = [];
for (var i = 0, ii = (domain.length / 2); i < ii; ++i) {
initialStack.push(args[i]);
}
var key = initialStack.join('_');

if (cache.has(key))
return cache.get(key);
var stack = evaluator.execute(initialStack);
var transformed = [];
for (i = numOutputs - 1; i >= 0; --i) {
var out = stack.pop();
var rangeIndex = 2 * i;
if (out < range[rangeIndex])
out = range[rangeIndex];
else if (out > range[rangeIndex + 1])
out = range[rangeIndex + 1];
transformed[i] = out;
}
cache.set(key, transformed);
return transformed;
};
}
};
})();
var FunctionCache = (function FunctionCacheClosure() {
// Of 10 PDF's with type4 functions the maxium number of distinct values seen
// was 256. This still may need some tweaking in the future though.
var MAX_CACHE_SIZE = 1024;
function FunctionCache() {
this.cache = {};
this.total = 0;
}
FunctionCache.prototype = {
has: function FunctionCache_has(key) {
return key in this.cache;
},
get: function FunctionCache_get(key) {
return this.cache[key];
},
set: function FunctionCache_set(key, value) {
if (this.total < MAX_CACHE_SIZE) {
this.cache[key] = value;
this.total++;
}
}
};
return FunctionCache;
})();
var PostScriptStack = (function PostScriptStackClosure() {
var MAX_STACK_SIZE = 100;
function PostScriptStack(initialStack) {
this.stack = initialStack || [];
}
PostScriptStack.prototype = {
push: function PostScriptStack_push(value) {
if (this.stack.length >= MAX_STACK_SIZE)
error('PostScript function stack overflow.');
this.stack.push(value);
},
pop: function PostScriptStack_pop() {
if (this.stack.length <= 0)

error('PostScript function stack underflow.');


return this.stack.pop();
},
copy: function PostScriptStack_copy(n) {
if (this.stack.length + n >= MAX_STACK_SIZE)
error('PostScript function stack overflow.');
var stack = this.stack;
for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++)
stack.push(stack[i]);
},
index: function PostScriptStack_index(n) {
this.push(this.stack[this.stack.length - n - 1]);
},
// rotate the last n stack elements p times
roll: function PostScriptStack_roll(n, p) {
var stack = this.stack;
var l = stack.length - n;
var r = stack.length - 1, c = l + (p - Math.floor(p / n) * n), i, j, t;
for (i = l, j = r; i < j; i++, j--) {
t = stack[i]; stack[i] = stack[j]; stack[j] = t;
}
for (i = l, j = c - 1; i < j; i++, j--) {
t = stack[i]; stack[i] = stack[j]; stack[j] = t;
}
for (i = c, j = r; i < j; i++, j--) {
t = stack[i]; stack[i] = stack[j]; stack[j] = t;
}
}
};
return PostScriptStack;
})();
var PostScriptEvaluator = (function PostScriptEvaluatorClosure() {
function PostScriptEvaluator(operators, operands) {
this.operators = operators;
this.operands = operands;
}
PostScriptEvaluator.prototype = {
execute: function PostScriptEvaluator_execute(initialStack) {
var stack = new PostScriptStack(initialStack);
var counter = 0;
var operators = this.operators;
var length = operators.length;
var operator, a, b;
while (counter < length) {
operator = operators[counter++];
if (typeof operator == 'number') {
// Operator is really an operand and should be pushed to the stack.
stack.push(operator);
continue;
}
switch (operator) {
// non standard ps operators
case 'jz': // jump if false
b = stack.pop();
a = stack.pop();
if (!a)
counter = b;
break;
case 'j': // jump
a = stack.pop();

counter = a;
break;
// all ps operators in alphabetical order (excluding if/ifelse)
case 'abs':
a = stack.pop();
stack.push(Math.abs(a));
break;
case 'add':
b = stack.pop();
a = stack.pop();
stack.push(a + b);
break;
case 'and':
b = stack.pop();
a = stack.pop();
if (isBool(a) && isBool(b))
stack.push(a && b);
else
stack.push(a & b);
break;
case 'atan':
a = stack.pop();
stack.push(Math.atan(a));
break;
case 'bitshift':
b = stack.pop();
a = stack.pop();
if (a > 0)
stack.push(a << b);
else
stack.push(a >> b);
break;
case 'ceiling':
a = stack.pop();
stack.push(Math.ceil(a));
break;
case 'copy':
a = stack.pop();
stack.copy(a);
break;
case 'cos':
a = stack.pop();
stack.push(Math.cos(a));
break;
case 'cvi':
a = stack.pop() | 0;
stack.push(a);
break;
case 'cvr':
// noop
break;
case 'div':
b = stack.pop();
a = stack.pop();
stack.push(a / b);
break;
case 'dup':
stack.copy(1);
break;

case 'eq':
b = stack.pop();
a = stack.pop();
stack.push(a == b);
break;
case 'exch':
stack.roll(2, 1);
break;
case 'exp':
b = stack.pop();
a = stack.pop();
stack.push(Math.pow(a, b));
break;
case 'false':
stack.push(false);
break;
case 'floor':
a = stack.pop();
stack.push(Math.floor(a));
break;
case 'ge':
b = stack.pop();
a = stack.pop();
stack.push(a >= b);
break;
case 'gt':
b = stack.pop();
a = stack.pop();
stack.push(a > b);
break;
case 'idiv':
b = stack.pop();
a = stack.pop();
stack.push((a / b) | 0);
break;
case 'index':
a = stack.pop();
stack.index(a);
break;
case 'le':
b = stack.pop();
a = stack.pop();
stack.push(a <= b);
break;
case 'ln':
a = stack.pop();
stack.push(Math.log(a));
break;
case 'log':
a = stack.pop();
stack.push(Math.log(a) / Math.LN10);
break;
case 'lt':
b = stack.pop();
a = stack.pop();
stack.push(a < b);
break;
case 'mod':
b = stack.pop();
a = stack.pop();

stack.push(a % b);
break;
case 'mul':
b = stack.pop();
a = stack.pop();
stack.push(a * b);
break;
case 'ne':
b = stack.pop();
a = stack.pop();
stack.push(a != b);
break;
case 'neg':
a = stack.pop();
stack.push(-b);
break;
case 'not':
a = stack.pop();
if (isBool(a) && isBool(b))
stack.push(a && b);
else
stack.push(a & b);
break;
case 'or':
b = stack.pop();
a = stack.pop();
if (isBool(a) && isBool(b))
stack.push(a || b);
else
stack.push(a | b);
break;
case 'pop':
stack.pop();
break;
case 'roll':
b = stack.pop();
a = stack.pop();
stack.roll(a, b);
break;
case 'round':
a = stack.pop();
stack.push(Math.round(a));
break;
case 'sin':
a = stack.pop();
stack.push(Math.sin(a));
break;
case 'sqrt':
a = stack.pop();
stack.push(Math.sqrt(a));
break;
case 'sub':
b = stack.pop();
a = stack.pop();
stack.push(a - b);
break;
case 'true':
stack.push(true);
break;
case 'truncate':

a = stack.pop();
a = a < 0 ? Math.ceil(a) : Math.floor(a);
stack.push(a);
break;
case 'xor':
b = stack.pop();
a = stack.pop();
if (isBool(a) && isBool(b))
stack.push(a != b);
else
stack.push(a ^ b);
break;
default:
error('Unknown operator ' + operator);
break;
}
}
return stack.stack;
}
};
return PostScriptEvaluator;
})();
var PostScriptParser = (function PostScriptParserClosure() {
function PostScriptParser(lexer) {
this.lexer = lexer;
this.operators = [];
this.token = null;
this.prev = null;
}
PostScriptParser.prototype = {
nextToken: function PostScriptParser_nextToken() {
this.prev = this.token;
this.token = this.lexer.getToken();
},
accept: function PostScriptParser_accept(type) {
if (this.token.type == type) {
this.nextToken();
return true;
}
return false;
},
expect: function PostScriptParser_expect(type) {
if (this.accept(type))
return true;
error('Unexpected symbol: found ' + this.token.type + ' expected ' +
type + '.');
},
parse: function PostScriptParser_parse() {
this.nextToken();
this.expect(PostScriptTokenTypes.LBRACE);
this.parseBlock();
this.expect(PostScriptTokenTypes.RBRACE);
return this.operators;
},
parseBlock: function PostScriptParser_parseBlock() {
while (true) {
if (this.accept(PostScriptTokenTypes.NUMBER)) {
this.operators.push(this.prev.value);
} else if (this.accept(PostScriptTokenTypes.OPERATOR)) {

this.operators.push(this.prev.value);
} else if (this.accept(PostScriptTokenTypes.LBRACE)) {
this.parseCondition();
} else {
return;
}
}
},
parseCondition: function PostScriptParser_parseCondition() {
// Add two place holders that will be updated later
var conditionLocation = this.operators.length;
this.operators.push(null, null);
this.parseBlock();
this.expect(PostScriptTokenTypes.RBRACE);
if (this.accept(PostScriptTokenTypes.IF)) {
// The true block is right after the 'if' so it just falls through on
// true else it jumps and skips the true block.
this.operators[conditionLocation] = this.operators.length;
this.operators[conditionLocation + 1] = 'jz';
} else if (this.accept(PostScriptTokenTypes.LBRACE)) {
var jumpLocation = this.operators.length;
this.operators.push(null, null);
var endOfTrue = this.operators.length;
this.parseBlock();
this.expect(PostScriptTokenTypes.RBRACE);
this.expect(PostScriptTokenTypes.IFELSE);
// The jump is added at the end of the true block to skip the false
// block.
this.operators[jumpLocation] = this.operators.length;
this.operators[jumpLocation + 1] = 'j';
this.operators[conditionLocation] = endOfTrue;
this.operators[conditionLocation + 1] = 'jz';
} else {
error('PS Function: error parsing conditional.');
}
}
};
return PostScriptParser;
})();
var PostScriptTokenTypes = {
LBRACE: 0,
RBRACE: 1,
NUMBER: 2,
OPERATOR: 3,
IF: 4,
IFELSE: 5
};
var PostScriptToken = (function PostScriptTokenClosure() {
function PostScriptToken(type, value) {
this.type = type;
this.value = value;
}
var opCache = {};
PostScriptToken.getOperator = function PostScriptToken_getOperator(op) {

var opValue = opCache[op];


if (opValue)
return opValue;
return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);
};
PostScriptToken.LBRACE = new PostScriptToken(PostScriptTokenTypes.LBRACE,
'{');
PostScriptToken.RBRACE = new PostScriptToken(PostScriptTokenTypes.RBRACE,
'}');
PostScriptToken.IF = new PostScriptToken(PostScriptTokenTypes.IF, 'IF');
PostScriptToken.IFELSE = new PostScriptToken(PostScriptTokenTypes.IFELSE,
'IFELSE');
return PostScriptToken;
})();
var PostScriptLexer = (function PostScriptLexerClosure() {
function PostScriptLexer(stream) {
this.stream = stream;
}
PostScriptLexer.prototype = {
getToken: function PostScriptLexer_getToken() {
var s = '';
var ch;
var comment = false;
var stream = this.stream;
// skip comments
while (true) {
if (!(ch = stream.getChar()))
return EOF;
if (comment) {
if (ch == '\x0a' || ch == '\x0d')
comment = false;
} else if (ch == '%') {
comment = true;
} else if (!Lexer.isSpace(ch)) {
break;
}
}
switch (ch) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case '+': case '-': case '.':
return new PostScriptToken(PostScriptTokenTypes.NUMBER,
this.getNumber(ch));
case '{':
return PostScriptToken.LBRACE;
case '}':
return PostScriptToken.RBRACE;
}
// operator
var str = ch.toLowerCase();
while (true) {
ch = stream.lookChar();
if (ch === null)
break;
ch = ch.toLowerCase();

if (ch >= 'a' && ch <= 'z')


str += ch;
else
break;
stream.skip();
}
switch (str) {
case 'if':
return PostScriptToken.IF;
case 'ifelse':
return PostScriptToken.IFELSE;
default:
return PostScriptToken.getOperator(str);
}
},
getNumber: function PostScriptLexer_getNumber(ch) {
var str = ch;
var stream = this.stream;
while (true) {
ch = stream.lookChar();
if ((ch >= '0' && ch <= '9') || ch == '-' || ch == '.')
str += ch;
else
break;
stream.skip();
}
var value = parseFloat(str);
if (isNaN(value))
error('Invalid floating point number: ' + value);
return value;
}
};
return PostScriptLexer;
})();

var ISOAdobeCharset = [
'.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar',
'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright',
'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero',
'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight',
'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question',
'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore',
'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent',
'sterling', 'fraction', 'yen', 'florin', 'section', 'currency',
'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft',
'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl',
'periodcentered', 'paragraph', 'bullet', 'quotesinglbase',
'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis',
'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde',
'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla',
'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine',
'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash',
'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu',
'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter',

'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior',


'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright',
'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde',
'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute',
'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex',
'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex',
'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute',
'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla',
'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex',
'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis',
'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis',
'ugrave', 'yacute', 'ydieresis', 'zcaron'
];
var ExpertCharset = [
'.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle',
'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior',
'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma',
'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle',
'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle',
'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle',
'colon', 'semicolon', 'commasuperior', 'threequartersemdash',
'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior',
'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior',
'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior',
'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior',
'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall',
'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall',
'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall',
'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall',
'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary',
'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle',
'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall',
'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall',
'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall',
'Cedillasmall', 'onequarter', 'onehalf', 'threequarters',
'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths',
'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior',
'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior',
'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior',
'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior',
'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior',
'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior',
'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall',
'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall',
'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall',
'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall',
'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall',
'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall',
'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall',
'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall',
'Ydieresissmall'
];
var ExpertSubsetCharset = [
'.notdef', 'space', 'dollaroldstyle', 'dollarsuperior',
'parenleftsuperior', 'parenrightsuperior', 'twodotenleader',
'onedotenleader', 'comma', 'hyphen', 'period', 'fraction',
'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle',
'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle',

'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior',


'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior',
'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior',
'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior',
'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior',
'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted',
'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter',
'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths',
'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior',
'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior',
'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior',
'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior',
'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior',
'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior',
'periodinferior', 'commainferior'
];

var CIDToUnicodeMaps = {
'Adobe-Japan1': [[32, 160], {f: 12, c: 33}, [45, 8209], {f: 46, c: 46}, 165,
{f: 2, c: 93}, [95, 818], [96, 768], {f: 27, c: 97}, 166, 125, [732, 771],
[700, 8217], 92, [699, 8216], 124, [126, 8764], {f: 3, c: 161}, 8260, 402,
0, 164, 8220, 171, {f: 2, c: 8249}, {f: 2, c: 64257}, [8210, 8211], 0, 0,
[183, 8729], 0, 8226, 8218, 8222, 8221, 187, 0, 0, 191, {f: 2, c: 769},
[175, 772], {f: 3, c: 774}, 778, [184, 807], 779, 808, 780, [822, 8212],
198, 170, 321, 216, 338, 186, 230, 305, 322, 248, 339, 223, 173, 169, 172,
174, 0, 0, {f: 2, c: 178}, 181, 185, {f: 3, c: 188}, {f: 6, c: 192},
{f: 16, c: 199}, 0, {f: 6, c: 217}, {f: 6, c: 224}, {f: 16, c: 231}, 0,
{f: 7, c: 249}, 352, 376, 381, [773, 8254], 353, 8482, 382, 0, 8194,
{s: 91}, 65512, {s: 3}, {f: 63, c: 65377}, {s: 243}, [8195, 12288],
{f: 2, c: 12289}, 65292, 65294, 12539, {f: 2, c: 65306}, 65311, 65281,
{f: 2, c: 12443}, 180, 65344, 168, 65342, 65507, 65343, {f: 2, c: 12541},
{f: 2, c: 12445}, 12291, 20189, {f: 3, c: 12293}, 12540, 8213, 8208, 65295,
65340, [12316, 65374], 8214, 65372, 8230, 8229, {s: 4}, {f: 2, c: 65288},
{f: 2, c: 12308}, 65339, 65341, 65371, 65373, {f: 10, c: 12296}, 65291,
[8722, 65293], 177, 215, 247, 65309, 8800, 65308, 65310, {f: 2, c: 8806},
8734, 8756, 9794, 9792, 176, {f: 2, c: 8242}, 8451, 65509, 65284,
{f: 2, c: 65504}, 65285, 65283, 65286, 65290, 65312, 167, 9734, 9733, 9675,
9679, 9678, 9671, 9670, 9633, 9632, 9651, 9650, 9661, 9660, 8251, 12306,
8594, {f: 2, c: 8592}, 8595, 12307, 8712, 8715, {f: 2, c: 8838},
{f: 2, c: 8834}, 8746, 8745, {f: 2, c: 8743}, 65506, 8658, 8660, 8704,
8707, 8736, 8869, 8978, 8706, 8711, 8801, 8786, {f: 2, c: 8810}, 8730,
8765, 8733, 8757, {f: 2, c: 8747}, 8491, 8240, 9839, 9837, 9834,
{f: 2, c: 8224}, 182, 9711, {f: 10, c: 65296}, {f: 26, c: 65313},
{f: 26, c: 65345}, {f: 83, c: 12353}, {f: 86, c: 12449}, {f: 17, c: 913},
{f: 7, c: 931}, {f: 17, c: 945}, {f: 7, c: 963}, {f: 6, c: 1040}, 1025,
{f: 32, c: 1046}, 1105, {f: 26, c: 1078}, 20124, 21782, 23043, 38463,
21696, 24859, 25384, 23030, 36898, 33909, 33564, 31312, 24746, 25569,
28197, 26093, 33894, 33446, 39925, 26771, 22311, 26017, 25201, 23451,
22992, 34427, 39156, 32098, 32190, 39822, 25110, 31903, 34999, 23433,
24245, 25353, 26263, 26696, 38343, 38797, 26447, 20197, 20234, 20301,
20381, 20553, 22258, 22839, 22996, 23041, 23561, 24799, 24847, 24944,
26131, 26885, 28858, 30031, 30064, 31227, 32173, 32239, 32963, 33806,
[12176, 34915], 35586, 36949, 36986, 21307, 20117, 20133, 22495, 32946,
37057, 30959, [12032, 19968], 22769, 28322, 36920, 31282, 33576, 33419,
39983, 20801, 21360, 21693, 21729, 22240, 23035, 24341, 39154, 28139,
32996, 34093, 38498, 38512, 38560, 38907, 21515, 21491, 23431, 28879,
[12155, 32701], 36802, [12204, 38632], 21359, 40284, 31418, 19985, 30867,
[12165, 33276], 28198, 22040, 21764, 27421, 34074, 39995, 23013, 21417,

28006, [12128, 29916], 38287, 22082, 20113, 36939, 38642, 33615, 39180,
21473, 21942, 23344, 24433, 26144, 26355, 26628, 27704, 27891, 27945,
29787, 30408, 31310, 38964, 33521, 34907, 35424, 37613, 28082, 30123,
30410, 39365, 24742, 35585, 36234, 38322, 27022, 21421, 20870, 22290,
22576, 22852, 23476, 24310, 24616, 25513, 25588, 27839, 28436, 28814,
28948, 29017, 29141, 29503, 32257, 33398, 33489, 34199, 36960, 37467,
40219, 22633, 26044, 27738, 29989, 20985, 22830, 22885, 24448, 24540,
25276, 26106, 27178, 27431, 27572, 29579, 32705, 35158, 40236, 40206,
[12009, 40644], 23713, 27798, 33659, 20740, 23627, 25014, 33222, 26742,
29281, [12036, 20057], 20474, 21368, 24681, 28201, 31311, [12211, 38899],
19979, 21270, 20206, 20309, 20285, 20385, 20339, 21152, 21487, 22025,
22799, 23233, 23478, 23521, 31185, 26247, 26524, 26550, 27468, 27827,
[12117, 28779], 29634, 31117, [12146, 31166], 31292, 31623, 33457, 33499,
33540, 33655, 33775, 33747, 34662, 35506, 22057, 36008, 36838, 36942,
38686, 34442, 20420, 23784, 25105, [12123, 29273], 30011, 33253, 33469,
34558, 36032, 38597, 39187, 39381, 20171, 20250, 35299, 22238, 22602,
22730, 24315, 24555, 24618, 24724, 24674, 25040, 25106, 25296, 25913,
39745, 26214, 26800, 28023, 28784, 30028, 30342, 32117, 33445, 34809,
38283, 38542, [12185, 35997], 20977, 21182, 22806, 21683, 23475, 23830,
24936, 27010, 28079, 30861, 33995, 34903, 35442, 37799, 39608, 28012,
39336, 34521, 22435, 26623, 34510, 37390, 21123, 22151, 21508, 24275,
25313, 25785, 26684, 26680, 27579, 29554, 30906, 31339, 35226,
[12179, 35282], 36203, 36611, 37101, 38307, 38548, [12208, 38761], 23398,
23731, 27005, {f: 2, c: 38989}, 25499, 31520, 27179, 27263, 26806, 39949,
28511, 21106, 21917, 24688, 25324, 27963, 28167, 28369, 33883, 35088,
36676, 19988, 39993, 21494, 26907, 27194, 38788, 26666, 20828, 31427,
33970, 37340, 37772, 22107, 40232, 26658, 33541, 33841, 31909, 21000,
33477, [12129, 29926], 20094, 20355, 20896, 23506, 21002, 21208, 21223,
24059, 21914, 22570, 23014, 23436, 23448, 23515, [12082, 24178], 24185,
24739, 24863, 24931, 25022, 25563, 25954, 26577, 26707, 26874, 27454,
27475, 27735, 28450, 28567, 28485, 29872, [12130, 29976], 30435, 30475,
31487, 31649, 31777, 32233, [12152, 32566], 32752, 32925, 33382, 33694,
35251, 35532, 36011, 36996, 37969, 38291, 38289, 38306, 38501, 38867,
39208, 33304, 20024, 21547, 23736, 24012, 29609, 30284, 30524, 23721,
32747, 36107, 38593, 38929, 38996, 39000, 20225, 20238, 21361, 21916,
22120, 22522, 22855, 23305, 23492, 23696, 24076, 24190, 24524, 25582,
26426, 26071, 26082, 26399, 26827, 26820, 27231, 24112, 27589, 27671,
27773, 30079, 31048, 23395, 31232, 32000, 24509, 35215, 35352, 36020,
36215, 36556, 36637, 39138, 39438, [12004, 12225, 39740], [12018, 20096],
20605, 20736, 22931, 23452, 25135, 25216, 25836, 27450, 29344, 30097,
31047, 32681, 34811, 35516, 35696, 25516, 33738, 38816, 21513, 21507,
21931, 26708, 27224, 35440, 30759, 26485, [12233, 40653], 21364, 23458,
33050, 34384, 36870, 19992, 20037, 20167, 20241, 21450, 21560, 23470,
[12088, 24339], 24613, 25937, 26429, 27714, 27762, 27875, 28792, 29699,
31350, 31406, 31496, 32026, 31998, 32102, 26087, [12124, 29275], 21435,
23621, 24040, 25298, 25312, 25369, 28192, 34394, 35377, 36317, 37624,
28417, 31142, [12226, 39770], 20136, {f: 2, c: 20139}, 20379, 20384, 20689,
20807, 31478, 20849, 20982, 21332, 21281, 21375, 21483, 21932, 22659,
23777, 24375, 24394, 24623, 24656, 24685, 25375, 25945, 27211, 27841,
29378, 29421, 30703, 33016, 33029, 33288, 34126, 37111, 37857, 38911,
39255, 39514, 20208, 20957, 23597, 26241, 26989, 23616, 26354, 26997,
[12127, 29577], 26704, 31873, 20677, 21220, 22343, [12081, 24062], 37670,
[12100, 26020], 27427, 27453, 29748, 31105, 31165, 31563, 32202, 33465,
33740, 34943, 35167, 35641, 36817, [12198, 37329], 21535, 37504, 20061,
20534, 21477, 21306, 29399, 29590, 30697, 33510, 36527, 39366, 39368,
39378, 20855, 24858, 34398, 21936, 31354, 20598, 23507, 36935, 38533,
20018, 27355, 37351, 23633, 23624, 25496, 31391, 27795, 38772, 36705,
31402, 29066, 38536, 31874, 26647, 32368, 26705, 37740, 21234, 21531,
34219, 35347, 32676, 36557, 37089, 21350, 34952, 31041, 20418, 20670,
21009, 20804, 21843, 22317, 29674, 22411, 22865, 24418, 24452, 24693,

24950, 24935, 25001, 25522, 25658, 25964, 26223, 26690, 28179, 30054,
31293, 31995, 32076, 32153, 32331, 32619, 33550, 33610, 34509, 35336,
35427, 35686, 36605, 38938, 40335, 33464, 36814, 39912, 21127, 25119,
25731, 28608, 38553, 26689, 20625, [12107, 27424], 27770, 28500,
[12147, 31348], 32080, [12174, 34880], 35363, [12105, 26376], 20214, 20537,
20518, 20581, 20860, 21048, 21091, 21927, 22287, 22533, 23244, 24314,
25010, 25080, 25331, 25458, 26908, 27177, 29309, [12125, 29356], 29486,
30740, 30831, 32121, 30476, 32937, [12178, 35211], 35609, 36066, 36562,
36963, 37749, 38522, 38997, 39443, 40568, 20803, 21407, 21427, 24187,
24358, 28187, 28304, [12126, 29572], 29694, 32067, 33335, [12180, 35328],
35578, 38480, 20046, 20491, 21476, 21628, 22266, 22993, 23396,
[12080, 24049], 24235, 24359, [12094, 25144], 25925, 26543, 28246, 29392,
31946, 34996, 32929, 32993, 33776, [11969, 34382], 35463, 36328, 37431,
38599, 39015, [12238, 40723], 20116, 20114, 20237, 21320, 21577, 21566,
23087, 24460, 24481, 24735, 26791, 27278, 29786, 30849, 35486, 35492,
35703, 37264, 20062, 39881, 20132, 20348, 20399, 20505, 20502, 20809,
20844, 21151, 21177, 21246, 21402, [12061, 21475], 21521, 21518, 21897,
22353, 22434, 22909, 23380, 23389, 23439, [12079, 24037], 24039, 24055,
24184, 24195, 24218, 24247, 24344, 24658, 24908, 25239, 25304, 25511,
25915, 26114, 26179, 26356, 26477, 26657, 26775, 27083, 27743, 27946,
28009, 28207, 28317, 30002, 30343, 30828, 31295, 31968, 32005, 32024,
32094, 32177, 32789, 32771, 32943, 32945, 33108, 33167, 33322, 33618,
[12175, 34892], 34913, 35611, 36002, 36092, 37066, 37237, 37489, 30783,
37628, 38308, 38477, 38917, [12217, 39321], [12220, 39640], 40251, 21083,
21163, 21495, 21512, 22741, 25335, 28640, 35946, 36703, 40633, 20811,
21051, 21578, 22269, 31296, 37239, 40288, [12234, 40658], 29508, 28425,
33136, 29969, 24573, 24794, [12219, 39592], 29403, 36796, 27492, 38915,
20170, 22256, 22372, 22718, 23130, 24680, 25031, 26127, 26118, 26681,
26801, 28151, 30165, 32058, [12169, 33390], 39746, 20123, 20304, 21449,
21766, 23919, 24038, 24046, 26619, 27801, 29811, 30722, 35408, 37782,
35039, 22352, 24231, 25387, 20661, 20652, 20877, 26368, 21705, 22622,
22971, 23472, 24425, 25165, 25505, 26685, 27507, 28168, 28797, 37319,
29312, 30741, 30758, 31085, 25998, 32048, 33756, 35009, 36617, 38555,
21092, 22312, 26448, 32618, 36001, 20916, 22338, 38442, 22586, 27018,
32948, 21682, 23822, 22524, 30869, 40442, 20316, 21066, 21643, 25662,
26152, 26388, 26613, 31364, 31574, 32034, 37679, 26716, 39853, 31545,
21273, 20874, 21047, 23519, 25334, 25774, 25830, 26413, 27578, 34217,
38609, 30352, 39894, 25420, 37638, 39851, [12139, 30399], 26194, 19977,
20632, 21442, [12077, 23665], 24808, 25746, 25955, 26719, 29158, 29642,
29987, 31639, 32386, 34453, 35715, 36059, 37240, 39184, 26028, 26283,
27531, 20181, 20180, 20282, 20351, 21050, 21496, 21490, 21987, 22235,
[12064, 22763], 22987, 22985, 23039, [12070, 23376], 23629, 24066, 24107,
24535, 24605, 25351, [12096, 25903], 23388, 26031, 26045, 26088, 26525,
[12108, 27490], 27515, [12114, 27663], 29509, 31049, 31169, [12151, 31992],
32025, 32043, 32930, 33026, [12164, 33267], 35222, 35422, 35433, 35430,
35468, 35566, 36039, 36060, 38604, 39164, [12013, 27503], 20107, 20284,
20365, 20816, 23383, 23546, 24904, 25345, 26178, 27425, 28363, 27835,
29246, 29885, 30164, 30913, [12144, 31034], [12157, 32780], [12159, 32819],
[12163, 33258], 33940, 36766, 27728, [12229, 40575], 24335, 35672, 40235,
31482, 36600, 23437, 38635, 19971, 21489, 22519, 22833, 23241, 23460,
24713, 28287, 28422, 30142, 36074, 23455, 34048, 31712, 20594, 26612,
33437, 23649, 34122, 32286, 33294, 20889, 23556, 25448, 36198, 26012,
29038, 31038, 32023, 32773, 35613, [12190, 36554], 36974, 34503, 37034,
20511, 21242, 23610, 26451, 28796, 29237, 37196, 37320, 37675, 33509,
23490, 24369, 24825, 20027, 21462, 23432, [12095, 25163], 26417, 27530,
29417, 29664, 31278, 33131, 36259, 37202, [12216, 39318], 20754, 21463,
21610, 23551, 25480, 27193, 32172, 38656, 22234, 21454, 21608, 23447,
23601, 24030, 20462, 24833, 25342, 27954, 31168, 31179, 32066, 32333,
32722, 33261, [12168, 33311], 33936, 34886, 35186, 35728, 36468, 36655,
36913, 37195, 37228, 38598, 37276, 20160, 20303, 20805, [12055, 21313],

24467, 25102, 26580, 27713, 28171, 29539, 32294, 37325, 37507, 21460,
22809, 23487, 28113, 31069, 32302, 31899, 22654, 29087, 20986, 34899,
36848, 20426, 23803, 26149, 30636, 31459, 33308, 39423, 20934, 24490,
26092, 26991, 27529, 28147, 28310, 28516, 30462, 32020, 24033, 36981,
37255, 38918, 20966, 21021, 25152, 26257, 26329, 28186, 24246, 32210,
32626, 26360, 34223, 34295, 35576, 21161, 21465, [12069, 22899], 24207,
24464, 24661, 37604, 38500, 20663, 20767, 21213, 21280, 21319, 21484,
21736, 21830, 21809, 22039, 22888, 22974, 23100, 23477, 23558,
[12073, 23567], 23569, 23578, 24196, 24202, 24288, 24432, 25215, 25220,
25307, 25484, 25463, 26119, 26124, 26157, 26230, 26494, 26786, 27167,
27189, 27836, 28040, 28169, 28248, 28988, 28966, 29031, 30151, 30465,
30813, 30977, 31077, 31216, 31456, 31505, 31911, 32057, 32918, 33750,
33931, 34121, 34909, 35059, 35359, 35388, 35412, 35443, 35937, 36062,
37284, 37478, 37758, 37912, 38556, 38808, 19978, 19976, 19998, 20055,
20887, 21104, 22478, 22580, 22732, 23330, 24120, 24773, 25854, 26465,
26454, 27972, 29366, 30067, 31331, 33976, 35698, 37304, 37664, 22065,
22516, 39166, 25325, 26893, 27542, 29165, 32340, 32887, [12170, 33394],
35302, [12215, 39135], 34645, 36785, 23611, 20280, 20449, 20405, 21767,
23072, 23517, 23529, [12092, 24515], 24910, 25391, 26032, 26187, 26862,
27035, 28024, 28145, 30003, 30137, 30495, 31070, 31206, 32051,
[12162, 33251], 33455, 34218, 35242, 35386, [12189, 36523], [12191, 36763],
36914, 37341, 38663, [12040, 20154], 20161, 20995, 22645, 22764, 23563,
29978, 23613, 33102, 35338, 36805, 38499, 38765, 31525, 35535, 38920,
37218, 22259, 21416, 36887, 21561, 22402, 24101, 25512, [12116, 27700],
28810, 30561, 31883, 32736, 34928, 36930, 37204, 37648, 37656, 38543,
29790, 39620, 23815, 23913, 25968, 26530, 36264, 38619, 25454, 26441,
26905, 33733, 38935, 38592, 35070, 28548, 25722, [12072, 23544], 19990,
28716, 30045, 26159, 20932, 21046, 21218, 22995, 24449, 24615, 25104,
25919, 25972, 26143, 26228, 26866, 26646, 27491, 28165, 29298,
[12131, 29983], 30427, 31934, 32854, 22768, 35069, [11972, 35199], 35488,
35475, 35531, 36893, 37266, [11992, 38738], 38745, [12011, 25993], 31246,
33030, 38587, 24109, 24796, 25114, 26021, 26132, 26512, [12143, 30707],
31309, 31821, 32318, 33034, 36012, [12186, 36196], 36321, 36447, 30889,
20999, 25305, 25509, 25666, 25240, 35373, 31363, 31680, 35500, 38634,
32118, [12166, 33292], 34633, 20185, 20808, 21315, 21344, 23459, 23554,
23574, 24029, 25126, 25159, 25776, 26643, 26676, 27849, 27973, 27927,
26579, 28508, 29006, 29053, 26059, 31359, 31661, 32218, 32330, 32680,
33146, [12167, 33307], 33337, 34214, 35438, 36046, 36341, 36984, 36983,
37549, 37521, 38275, 39854, 21069, 21892, 28472, 28982, 20840, 31109,
32341, 33203, 31950, 22092, 22609, 23720, 25514, 26366, 26365, 26970,
29401, 30095, 30094, 30990, 31062, 31199, 31895, 32032, 32068, 34311,
35380, 38459, 36961, [12239, 40736], 20711, 21109, 21452, 21474, 20489,
21930, 22766, 22863, 29245, 23435, 23652, 21277, 24803, 24819, 25436,
25475, 25407, 25531, 25805, 26089, 26361, 24035, 27085, 27133, 28437,
29157, 20105, 30185, 30456, 31379, 31967, 32207, 32156, 32865, 33609,
33624, 33900, 33980, 34299, 35013, [12187, 36208], 36865, 36973, 37783,
38684, 39442, 20687, 22679, 24974, 33235, 34101, 36104, 36896, 20419,
20596, 21063, 21363, 24687, 25417, 26463, 28204, [12188, 36275], 36895,
20439, 23646, 36042, 26063, 32154, 21330, 34966, 20854, 25539, 23384,
23403, 23562, 25613, 26449, 36956, 20182, 22810, 22826, 27760, 35409,
21822, 22549, 22949, 24816, 25171, 26561, 33333, 26965, 38464, 39364,
39464, 20307, 22534, 23550, 32784, 23729, 24111, 24453, 24608, 24907,
25140, 26367, 27888, 28382, 32974, 33151, 33492, 34955, 36024, 36864,
36910, 38538, 40667, 39899, 20195, 21488, [12068, 22823], 31532, 37261,
38988, 40441, 28381, 28711, 21331, 21828, 23429, 25176, 25246, 25299,
27810, 28655, 29730, 35351, 37944, 28609, 35582, 33592, 20967, 34552,
21482, 21481, 20294, 36948, [12192, 36784], 22890, 33073, 24061, 31466,
36799, 26842, [12181, 35895], 29432, 40008, 27197, 35504, 20025, 21336,
22022, 22374, 25285, 25506, 26086, 27470, 28129, 28251, 28845, 30701,
31471, 31658, 32187, 32829, 32966, 34507, 35477, 37723, 22243, 22727,

24382, 26029, 26262, 27264, 27573, 30007, 35527, 20516, 30693, 22320,
24347, 24677, 26234, 27744, 30196, 31258, 32622, 33268, 34584, 36933,
39347, 31689, 30044, [12149, 31481], 31569, 33988, 36880, 31209, 31378,
33590, 23265, 30528, 20013, 20210, 23449, 24544, 25277, 26172, 26609,
27880, [12173, 34411], 34935, 35387, 37198, 37619, 39376, 27159, 28710,
29482, 33511, 33879, 36015, 19969, 20806, 20939, 21899, 23541, 24086,
24115, 24193, 24340, 24373, 24427, 24500, 25074, 25361, 26274, 26397,
28526, 29266, 30010, 30522, 32884, 33081, 33144, 34678, 35519, 35548,
36229, 36339, 37530, [11985, 12199, 38263], 38914, [12227, 40165], 21189,
25431, 30452, 26389, 27784, 29645, 36035, 37806, 38515, 27941, 22684,
26894, 27084, 36861, 37786, 30171, 36890, 22618, 26626, 25524, 27131,
20291, 28460, 26584, 36795, 34086, 32180, 37716, 26943, 28528, 22378,
22775, 23340, 32044, [12118, 29226], 21514, 37347, 40372, 20141, 20302,
20572, 20597, 21059, 35998, 21576, 22564, 23450, 24093, 24213, 24237,
24311, 24351, 24716, 25269, 25402, 25552, 26799, 27712, 30855, 31118,
31243, 32224, 33351, 35330, 35558, 36420, 36883, 37048, 37165, 37336,
[12237, 40718], 27877, 25688, 25826, 25973, 28404, 30340, 31515, 36969,
37841, 28346, 21746, 24505, 25764, 36685, 36845, 37444, 20856, 22635,
22825, 23637, 24215, 28155, 32399, 29980, 36028, 36578, 39003, 28857,
20253, 27583, 28593, [12133, 30000], 38651, 20814, 21520, 22581, 22615,
22956, 23648, 24466, [12099, 26007], 26460, 28193, 30331, 33759, 36077,
36884, 37117, 37709, 30757, 30778, 21162, 24230, [12063, 22303], 22900,
24594, 20498, 20826, 20908, 20941, [12049, 20992], 21776, 22612, 22616,
22871, 23445, 23798, 23947, 24764, 25237, 25645, 26481, 26691, 26812,
26847, 30423, 28120, 28271, 28059, 28783, 29128, 24403, 30168, 31095,
31561, 31572, 31570, 31958, 32113, 21040, 33891, 34153, 34276, 35342,
35588, [12182, 35910], 36367, 36867, 36879, 37913, 38518, 38957, 39472,
38360, 20685, 21205, 21516, 22530, 23566, 24999, 25758, 27934, 30643,
31461, 33012, 33796, 36947, 37509, 23776, 40199, 21311, 24471, 24499,
28060, 29305, 30563, 31167, 31716, 27602, 29420, 35501, 26627, 27233,
20984, 31361, 26932, 23626, 40182, 33515, 23493, [12195, 37193], 28702,
22136, 23663, 24775, 25958, 27788, 35930, 36929, 38931, 21585, 26311,
37389, 22856, 37027, 20869, 20045, 20970, 34201, 35598, 28760, 25466,
37707, 26978, 39348, 32260, 30071, 21335, 26976, 36575, 38627, 27741,
[12038, 20108], 23612, 24336, 36841, 21250, 36049, [12161, 32905], 34425,
24319, [12103, 26085], 20083, [12042, 20837], 22914, 23615, 38894, 20219,
22922, 24525, 35469, 28641, 31152, 31074, 23527, 33905, 29483, 29105,
24180, 24565, 25467, 25754, 29123, 31896, 20035, 24316, 20043, 22492,
22178, 24745, 28611, 32013, 33021, 33075, 33215, 36786, 35223, 34468,
24052, 25226, 25773, 35207, 26487, 27874, 27966, 29750, 30772, 23110,
32629, 33453, [12218, 39340], 20467, 24259, 25309, 25490, 25943, 26479,
30403, 29260, 32972, 32954, 36649, 37197, 20493, 22521, 23186, 26757,
26995, 29028, 29437, 36023, 22770, 36064, 38506, 36889, 34687, 31204,
30695, 33833, 20271, 21093, 21338, 25293, 26575, 27850, [12137, 30333],
31636, 31893, 33334, 34180, 36843, 26333, 28448, 29190, 32283, 33707,
39361, [12008, 40614], 20989, 31665, 30834, 31672, 32903, 31560, 27368,
24161, 32908, 30033, 30048, [12043, 20843], 37474, 28300, 30330, 37271,
39658, 20240, 32624, 25244, 31567, 38309, 40169, 22138, 22617, 34532,
38588, 20276, 21028, 21322, 21453, 21467, 24070, 25644, 26001, 26495,
27710, 27726, 29256, 29359, 29677, 30036, 32321, 33324, 34281, 36009,
31684, [12196, 37318], 29033, 38930, 39151, 25405, 26217, 30058, 30436,
30928, 34115, 34542, 21290, 21329, 21542, 22915, 24199, 24444, 24754,
25161, 25209, 25259, 26000, [12112, 27604], 27852, 30130, [12138, 30382],
30865, 31192, 32203, 32631, 32933, 34987, 35513, 36027, 36991,
[12206, 38750], [12214, 39131], 27147, 31800, 20633, 23614, 24494, 26503,
27608, 29749, 30473, 32654, [12240, 40763], 26570, 31255, 21305,
[12134, 30091], 39661, 24422, 33181, 33777, 32920, 24380, 24517, 30050,
31558, 36924, 26727, 23019, 23195, 32016, 30334, 35628, 20469, 24426,
27161, 27703, 28418, 29922, 31080, 34920, 35413, 35961, 24287, 25551,
30149, 31186, 33495, 37672, 37618, 33948, 34541, 39981, 21697, 24428,

25996, 27996, 28693, 36007, 36051, 38971, 25935, 29942, 19981, 20184,
22496, 22827, 23142, 23500, 20904, 24067, 24220, 24598, 25206, 25975,
26023, 26222, 28014, [12119, 29238], 31526, 33104, 33178, 33433, 35676,
36000, 36070, 36212, [12201, 38428], 38468, 20398, 25771, 27494, 33310,
33889, 34154, 37096, 23553, 26963, [12213, 39080], 33914, 34135, 20239,
21103, 24489, 24133, 26381, 31119, 33145, 35079, 35206, 28149, 24343,
25173, 27832, 20175, 29289, 39826, 20998, 21563, 22132, 22707, 24996,
25198, 28954, 22894, 31881, 31966, 32027, 38640, [12098, 25991], 32862,
19993, 20341, 20853, 22592, 24163, 24179, 24330, 26564, 20006, 34109,
38281, 38491, [12150, 31859], [12212, 38913], 20731, 22721, 30294, 30887,
21029, 30629, 34065, 31622, 20559, 22793, [12122, 29255], 31687, 32232,
36794, 36820, 36941, 20415, 21193, 23081, 24321, 38829, 20445, 33303,
37610, 22275, 25429, 27497, 29995, 35036, 36628, 31298, 21215, 22675,
24917, 25098, 26286, [11935, 27597], 31807, 33769, 20515, 20472, 21253,
21574, 22577, 22857, 23453, 23792, 23791, 23849, 24214, 25265, 25447,
25918, [12101, 26041], 26379, 27861, 27873, 28921, 30770, 32299, 32990,
33459, 33804, 34028, 34562, 35090, 35370, 35914, 37030, 37586, 39165,
40179, 40300, 20047, 20129, 20621, 21078, 22346, 22952, 24125,
{f: 2, c: 24536}, 25151, 26292, 26395, 26576, 26834, 20882, 32033, 32938,
33192, 35584, 35980, 36031, 37502, 38450, 21536, 38956, 21271, 20693,
[12056, 21340], 22696, 25778, 26420, 29287, 30566, 31302, 37350, 21187,
27809, 27526, 22528, 24140, 22868, 26412, 32763, 20961, 30406, 25705,
30952, 39764, [12231, 40635], 22475, 22969, 26151, 26522, 27598, 21737,
27097, 24149, 33180, 26517, 39850, 26622, 40018, 26717, 20134, 20451,
[12060, 21448], 25273, 26411, 27819, 36804, 20397, 32365, 40639, 19975,
24930, 28288, 28459, 34067, 21619, 26410, 39749, [11922, 24051], 31637,
23724, 23494, 34588, 28234, 34001, 31252, 33032, 22937, 31885,
[11936, 27665], 30496, 21209, 22818, 28961, 29279, [12141, 30683], 38695,
40289, 26891, 23167, 23064, 20901, 21517, 21629, 26126, 30431, 36855,
37528, 40180, 23018, 29277, 28357, 20813, 26825, 32191, 32236,
[12207, 38754], 40634, 25720, 27169, 33538, 22916, 23391, [12113, 27611],
29467, 30450, 32178, 32791, 33945, 20786, [12106, 26408], 40665,
[12140, 30446], 26466, 21247, 39173, 23588, 25147, 31870, 36016, 21839,
24758, 32011, [12200, 38272], 21249, 20063, 20918, 22812, 29242, 32822,
37326, 24357, [12142, 30690], 21380, 24441, 32004, 34220, 35379, 36493,
38742, 26611, 34222, 37971, 24841, 24840, 27833, 30290, 35565, 36664,
21807, 20305, 20778, 21191, 21451, 23461, 24189, 24736, 24962, 25558,
26377, 26586, 28263, 28044, {f: 2, c: 29494}, 30001, 31056, 35029, 35480,
36938, [12194, 37009], 37109, 38596, 34701, [12067, 22805], 20104, 20313,
19982, 35465, 36671, 38928, 20653, 24188, 22934, 23481, 24248, 25562,
25594, 25793, 26332, 26954, 27096, 27915, 28342, 29076, [12132, 29992],
31407, [12154, 32650], 32768, 33865, 33993, 35201, 35617, 36362, 36965,
38525, 39178, 24958, 25233, 27442, 27779, 28020, 32716, 32764, 28096,
32645, 34746, 35064, 26469, 33713, 38972, 38647, 27931, 32097, 33853,
37226, 20081, 21365, 23888, 27396, 28651, 34253, 34349, 35239, 21033,
21519, 23653, 26446, 26792, 29702, 29827, 30178, 35023, 35041,
[12197, 37324], 38626, 38520, 24459, 29575, [12148, 31435], 33870, 25504,
30053, 21129, 27969, 28316, 29705, 30041, 30827, 31890, 38534,
[12015, 31452], [12243, 40845], 20406, 24942, 26053, 34396, 20102, 20142,
20698, 20001, 20940, 23534, 26009, 26753, 28092, 29471, 30274, 30637,
31260, 31975, 33391, 35538, 36988, 37327, 38517, 38936, [12050, 21147],
32209, 20523, 21400, 26519, 28107, 29136, 29747, 33256, 36650, 38563,
40023, 40607, 29792, 22593, 28057, 32047, 39006, 20196, 20278, 20363,
20919, 21169, 23994, 24604, 29618, 31036, 33491, 37428, 38583, 38646,
38666, 40599, 40802, 26278, 27508, 21015, 21155, 28872, 35010, 24265,
24651, 24976, 28451, 29001, 31806, 32244, 32879, 34030, 36899, 37676,
21570, 39791, 27347, 28809, 36034, 36335, 38706, 21172, 23105, 24266,
24324, 26391, 27004, 27028, 28010, 28431, 29282, 29436, 31725,
[12156, 32769], 32894, 34635, 37070, 20845, 40595, 31108, 32907, 37682,
35542, 20525, 21644, 35441, 27498, 36036, 33031, 24785, 26528, 40434,

20121, 20120, 39952, 35435, 34241, 34152, 26880, 28286, 30871, 33109,
24332, 19984, 19989, 20010, 20017, [12034, 20022], 20028, [12035, 20031],
20034, 20054, 20056, 20098, [12037, 20101], 35947, 20106, 33298, 24333,
20110, {f: 2, c: 20126}, [12039, 20128], 20130, 20144, 20147, 20150, 20174,
20173, 20164, 20166, 20162, 20183, 20190, 20205, 20191, 20215, 20233,
20314, 20272, 20315, 20317, 20311, 20295, 20342, 20360, 20367, 20376,
20347, 20329, 20336, 20369, 20335, 20358, 20374, 20760, 20436, 20447,
20430, 20440, 20443, 20433, 20442, 20432, {f: 2, c: 20452}, 20506, 20520,
20500, 20522, 20517, 20485, 20252, 20470, 20513, 20521, 20524, 20478,
20463, 20497, 20486, 20547, 20551, 26371, 20565, 20560, 20552, 20570,
20566, 20588, 20600, 20608, 20634, 20613, 20660, 20658, {f: 2, c: 20681},
20659, 20674, 20694, 20702, 20709, 20717, 20707, 20718, 20729, 20725,
20745, {f: 2, c: 20737}, 20758, 20757, 20756, 20762, 20769, 20794, 20791,
20796, 20795, [12041, 20799], [11918, 20800], 20818, 20812, 20820, 20834,
31480, {f: 2, c: 20841}, 20846, 20864, [12044, 20866], 22232, 20876, 20873,
20879, 20881, 20883, 20885, [12045, 20886], 20900, 20902, 20898,
{f: 2, c: 20905}, [12046, 20907], 20915, {f: 2, c: 20913}, 20912, 20917,
20925, 20933, 20937, 20955, [12047, 20960], 34389, 20969, 20973, 20976,
[12048, 20981], 20990, 20996, 21003, 21012, 21006, 21031, 21034, 21038,
21043, 21049, 21071, 21060, {f: 2, c: 21067}, 21086, 21076, 21098, 21108,
21097, 21107, 21119, 21117, 21133, 21140, 21138, 21105, 21128, 21137,
36776, 36775, {f: 2, c: 21164}, 21180, 21173, 21185, 21197, 21207, 21214,
21219, 21222, 39149, 21216, 21235, 21237, 21240, [12051, 21241], 21254,
21256, 30008, 21261, 21264, 21263, [12052, 21269], [12053, 21274], 21283,
21295, 21297, 21299, [12054, 21304], 21312, 21318, 21317, 19991, 21321,
21325, 20950, 21342, [12057, 21353], 21358, 22808, 21371, 21367,
[12058, 21378], 21398, 21408, 21414, 21413, 21422, 21424, [12059, 21430],
21443, 31762, 38617, 21471, 26364, 29166, 21486, 21480, 21485, 21498,
21505, 21565, 21568, {f: 2, c: 21548}, 21564, 21550, 21558, 21545, 21533,
21582, 21647, 21621, 21646, 21599, 21617, 21623, 21616, 21650, 21627,
21632, 21622, 21636, 21648, 21638, 21703, 21666, 21688, 21669, 21676,
21700, 21704, 21672, 21675, 21698, 21668, 21694, 21692, 21720,
{f: 2, c: 21733}, 21775, 21780, 21757, 21742, 21741, 21754, 21730, 21817,
21824, 21859, 21836, 21806, 21852, 21829, {f: 2, c: 21846}, 21816, 21811,
21853, 21913, 21888, 21679, 21898, 21919, 21883, 21886, 21912, 21918,
21934, 21884, 21891, 21929, 21895, 21928, 21978, 21957, 21983, 21956,
21980, 21988, 21972, 22036, 22007, 22038, 22014, 22013, 22043, 22009,
22094, 22096, 29151, 22068, 22070, 22066, 22072, 22123, 22116, 22063,
22124, 22122, 22150, 22144, 22154, 22176, 22164, 22159, 22181, 22190,
22198, 22196, 22210, 22204, 22209, 22211, 22208, 22216, 22222, 22225,
22227, [12062, 22231], 22254, 22265, 22272, 22271, 22276, 22281, 22280,
22283, 22285, 22291, 22296, 22294, 21959, 22300, 22310, {f: 2, c: 22327},
22350, 22331, 22336, 22351, 22377, 22464, 22408, 22369, 22399, 22409,
22419, 22432, 22451, 22436, 22442, 22448, 22467, 22470, 22484,
{f: 2, c: 22482}, 22538, 22486, 22499, 22539, 22553, 22557, 22642, 22561,
22626, 22603, 22640, 27584, 22610, 22589, 22649, 22661, 22713, 22687,
22699, 22714, 22750, 22715, 22712, 22702, 22725, 22739, 22737, 22743,
22745, 22744, 22757, 22748, 22756, 22751, 22767, 22778, 22777,
{f: 3, c: 22779}, [12065, 22786], [12066, 22794], 22800, 22811, 26790,
22821, {f: 2, c: 22828}, 22834, 22840, 22846, 31442, 22869, 22864, 22862,
22874, 22872, 22882, 22880, 22887, 22892, 22889, 22904, 22913, 22941,
20318, 20395, 22947, 22962, 22982, 23016, 23004, 22925, {f: 2, c: 23001},
23077, 23071, 23057, 23068, 23049, 23066, 23104, 23148, 23113,
{f: 2, c: 23093}, 23138, 23146, 23194, 23228, 23230, 23243, 23234, 23229,
23267, 23255, 23270, 23273, 23254, {f: 2, c: 23290}, 23308, 23307, 23318,
23346, 23248, 23338, 23350, 23358, 23363, 23365, 23360, 23377, 23381,
{f: 2, c: 23386}, 23397, 23401, 23408, 23411, 23413, 23416, 25992, 23418,
[12071, 23424], 23427, 23462, 23480, 23491, 23495, 23497, 23508, 23504,
23524, 23526, 23522, 23518, 23525, 23531, 23536, 23542, 23539, 23557,
{f: 2, c: 23559}, 23565, 23571, 23584, [11920, 12074, 23586], 23592,

[12075, 23608], 23609, 23617, 23622, 23630, 23635, 23632, 23631, 23409,
23660, [12076, 23662], 20066, 23670, 23673, 23692, 23697, 23700, 22939,
23723, 23739, 23734, 23740, 23735, 23749, 23742, 23751, 23769, 23785,
23805, 23802, 23789, 23948, 23786, 23819, 23829, 23831, 23900, 23839,
23835, 23825, 23828, 23842, 23834, 23833, 23832, 23884, 23890, 23886,
23883, 23916, 23923, 23926, 23943, 23940, 23938, 23970, 23965, 23980,
23982, 23997, 23952, 23991, 23996, 24009, 24013, 24019, 24018, 24022,
[12078, 24027], 24043, 24050, 24053, 24075, 24090, 24089, 24081, 24091,
{f: 2, c: 24118}, 24132, 24131, 24128, 24142, 24151, 24148, 24159, 24162,
24164, 24135, {f: 2, c: 24181}, [11923, 12083, 24186], 40636,
[12084, 24191], 24224, {f: 2, c: 24257}, 24264, 24272, 24271, 24278, 24291,
24285, {f: 2, c: 24282}, 24290, 24289, {f: 2, c: 24296}, 24300, 24305,
24307, 24304, [12085, 24308], 24312, [12086, 24318], 24323, 24329, 24413,
24412, [12087, 24331], 24337, 24342, 24361, 24365, 24376, 24385, 24392,
24396, 24398, 24367, [11924, 24401], {f: 2, c: 24406}, 24409,
[12090, 24417], 24429, [12091, 24435], 24439, 24451, 24450, 24447, 24458,
24456, 24465, 24455, 24478, 24473, 24472, 24480, 24488, 24493, 24508,
24534, 24571, 24548, 24568, 24561, 24541, 24755, 24575, 24609, 24672,
24601, 24592, 24617, 24590, 24625, 24603, 24597, 24619, 24614, 24591,
24634, 24666, 24641, 24682, 24695, 24671, 24650, 24646, 24653, 24675,
24643, 24676, 24642, 24684, 24683, 24665, 24705, 24717, 24807, 24707,
24730, 24708, 24731, {f: 2, c: 24726}, 24722, 24743, 24715, 24801, 24760,
24800, 24787, 24756, 24560, 24765, 24774, 24757, 24792, 24909, 24853,
24838, {f: 2, c: 24822}, 24832, 24820, 24826, 24835, 24865, 24827, 24817,
{f: 2, c: 24845}, 24903, 24894, 24872, 24871, 24906, 24895, 24892, 24876,
24884, 24893, 24898, 24900, 24947, 24951, {f: 3, c: 24920}, 24939, 24948,
24943, 24933, 24945, 24927, 24925, 24915, 24949, 24985, 24982, 24967,
25004, 24980, 24986, 24970, 24977, 25003, 25006, 25036, 25034, 25033,
25079, 25032, 25027, 25030, 25018, 25035, 32633, 25037, 25062, 25059,
25078, 25082, 25076, 25087, 25085, 25084, 25086, 25088, [12093, 25096],
25097, 25101, 25100, 25108, 25115, 25118, 25121, 25130, 25134, 25136,
{f: 2, c: 25138}, 25153, 25166, 25182, 25187, 25179, 25184, 25192, 25212,
25218, 25225, 25214, {f: 2, c: 25234}, 25238, 25300, 25219, 25236, 25303,
25297, 25275, 25295, 25343, 25286, 25812, 25288, 25308, 25292, 25290,
25282, 25287, 25243, 25289, 25356, 25326, 25329, 25383, 25346, 25352,
25327, 25333, 25424, 25406, 25421, 25628, 25423, 25494, 25486, 25472,
25515, 25462, 25507, 25487, 25481, 25503, 25525, 25451, 25449, 25534,
25577, 25536, 25542, 25571, 25545, 25554, 25590, 25540, 25622, 25652,
25606, 25619, 25638, 25654, 25885, 25623, 25640, 25615, 25703, 25711,
25718, 25678, 25898, 25749, 25747, 25765, 25769, 25736, 25788, 25818,
25810, 25797, 25799, 25787, 25816, 25794, 25841, 25831, 33289,
{f: 2, c: 25824}, 25260, 25827, 25839, 25900, 25846, 25844, 25842, 25850,
25856, 25853, 25880, 25884, 25861, 25892, 25891, 25899, [12097, 25908],
[11929, 25909], 25911, 25910, 25912, 30027, 25928, 25942, 25941, 25933,
25944, 25950, 25949, 25970, 25976, {f: 2, c: 25986}, 35722, 26011, 26015,
26027, 26039, 26051, 26054, 26049, 26052, 26060, 26066, 26075, 26073,
[12102, 26080], [11931, 26081], 26097, 26482, 26122, 26115, 26107, 26483,
{f: 2, c: 26165}, 26164, 26140, 26191, 26180, 26185, 26177, 26206, 26205,
26212, {f: 2, c: 26215}, 26207, 26210, 26224, 26243, 26248, 26254, 26249,
26244, 26264, 26269, 26305, 26297, 26313, 26302, 26300, 26308, 26296,
26326, 26330, 26336, 26175, 26342, 26345, [12104, 26352], 26357, 26359,
26383, 26390, 26398, {f: 2, c: 26406}, 38712, 26414, 26431, 26422, 26433,
26424, 26423, 26438, 26462, 26464, 26457, {f: 2, c: 26467}, 26505, 26480,
26537, 26492, 26474, 26508, 26507, 26534, 26529, 26501, 26551, 26607,
26548, 26604, 26547, 26601, 26552, 26596, 26590, 26589, 26594, 26606,
26553, 26574, 26566, 26599, 27292, 26654, 26694, 26665, 26688, 26701,
26674, 26702, 26803, 26667, 26713, 26723, 26743, 26751, 26783, 26767,
26797, 26772, 26781, 26779, 26755, 27310, 26809, 26740, 26805, 26784,
26810, 26895, 26765, 26750, 26881, 26826, 26888, 26840, 26914, 26918,
26849, 26892, 26829, 26836, 26855, 26837, 26934, 26898, 26884, 26839,

26851, 26917, 26873, 26848, 26863, 26920, 26922, 26906, 26915, 26913,
26822, 27001, 26999, 26972, 27000, 26987, 26964, 27006, 26990, 26937,
26996, 26941, 26969, 26928, 26977, 26974, 26973, 27009, 26986, 27058,
27054, 27088, 27071, 27073, 27091, 27070, 27086, 23528, 27082, 27101,
27067, 27075, 27047, 27182, 27025, 27040, 27036, 27029, 27060, 27102,
27112, 27138, 27163, 27135, 27402, 27129, 27122, 27111, 27141, 27057,
27166, 27117, 27156, 27115, 27146, 27154, 27329, 27171, 27155, 27204,
27148, 27250, 27190, 27256, 27207, 27234, 27225, 27238, 27208, 27192,
27170, 27280, 27277, 27296, 27268, {f: 2, c: 27298}, 27287, 34327, 27323,
27331, 27330, 27320, 27315, 27308, 27358, 27345, 27359, 27306, 27354,
27370, 27387, 27397, 34326, 27386, 27410, 27414, 39729, 27423, 27448,
27447, 30428, 27449, 39150, 27463, 27459, 27465, 27472, 27481, 27476,
27483, 27487, 27489, 27512, [12109, 27513], {f: 2, c: 27519}, 27524, 27523,
27533, 27544, 27541, 27550, 27556, {f: 2, c: 27562}, 27567, 27570, 27569,
[12110, 27571], 27575, 27580, 27590, [12111, 27595], 27603, 27615, 27628,
27627, 27635, 27631, 40638, 27656, 27667, [12115, 27668], 27675, 27684,
27683, 27742, 27733, 27746, 27754, 27778, 27789, 27802, 27777, 27803,
27774, 27752, 27763, 27794, 27792, 27844, 27889, 27859, 27837, 27863,
27845, 27869, 27822, 27825, 27838, 27834, 27867, 27887, 27865, 27882,
27935, 34893, 27958, 27947, 27965, 27960, 27929, 27957, 27955, 27922,
27916, 28003, 28051, 28004, 27994, 28025, 27993, 28046, 28053, 28644,
28037, 28153, 28181, 28170, 28085, 28103, 28134, 28088, 28102, 28140,
28126, 28108, 28136, 28114, 28101, 28154, 28121, 28132, 28117, 28138,
28142, 28205, 28270, 28206, 28185, 28274, 28255, 28222, 28195, 28267,
28203, 28278, 28237, 28191, 28227, 28218, 28238, 28196, 28415, 28189,
28216, 28290, 28330, 28312, 28361, 28343, 28371, 28349, 28335, 28356,
28338, {f: 2, c: 28372}, 28303, 28325, 28354, 28319, 28481, 28433, 28748,
28396, 28408, 28414, 28479, 28402, 28465, 28399, 28466, 28364, 28478,
28435, 28407, 28550, 28538, 28536, 28545, 28544, 28527, 28507, 28659,
28525, 28546, 28540, 28504, 28558, 28561, 28610, 28518, 28595, 28579,
28577, 28580, 28601, 28614, 28586, 28639, 28629, 28652, 28628, 28632,
28657, 28654, 28635, 28681, 28683, 28666, 28689, 28673, 28687, 28670,
28699, 28698, 28532, 28701, 28696, 28703, 28720, 28734, 28722, 28753,
28771, 28825, 28818, 28847, 28913, 28844, 28856, 28851, 28846, 28895,
28875, 28893, 28889, 28937, 28925, 28956, 28953, 29029, 29013, 29064,
29030, 29026, 29004, 29014, 29036, 29071, 29179, 29060, 29077, 29096,
29100, 29143, 29113, 29118, 29138, 29129, 29140, 29134, 29152, 29164,
29159, 29173, 29180, 29177, 29183, 29197, 29200, 29211, 29224, 29229,
29228, 29232, 29234, [12120, 29243], 29244, [12121, 29247], 29248, 29254,
29259, 29272, 29300, 29310, 29314, 29313, 29319, 29330, 29334, 29346,
29351, 29369, 29362, 29379, 29382, 29380, 29390, 29394, 29410,
{f: 2, c: 29408}, 29433, 29431, 20495, 29463, 29450, 29468, 29462, 29469,
29492, 29487, 29481, 29477, 29502, {f: 2, c: 29518}, 40664, 29527, 29546,
29544, 29552, 29560, 29557, 29563, 29562, 29640, 29619, 29646, 29627,
29632, 29669, 29678, 29662, 29858, 29701, 29807, 29733, 29688, 29746,
29754, 29781, 29759, 29791, 29785, 29761, 29788, 29801, 29808, 29795,
29802, 29814, 29822, 29835, 29854, 29863, 29898, 29903, 29908, 29681,
29920, 29923, 29927, 29929, 29934, 29938, {f: 2, c: 29936}, 29944, 29943,
29956, 29955, 29957, 29964, 29966, 29965, 29973, 29971, 29982, 29990,
29996, 30012, 30020, 30029, 30026, 30025, 30043, 30022, 30042, 30057,
30052, 30055, 30059, 30061, 30072, 30070, {f: 2, c: 30086}, 30068, 30090,
30089, 30082, 30100, 30106, 30109, 30117, 30115, 30146, 30131, 30147,
30133, 30141, 30136, 30140, 30129, 30157, 30154, 30162, 30169, 30179,
30174, {f: 2, c: 30206}, 30204, 30209, 30192, 30202, {f: 2, c: 30194},
30219, 30221, 30217, 30239, 30247, {f: 3, c: 30240}, 30244, 30260, 30256,
30267, {f: 2, c: 30279}, 30278, 30300, 30296, {f: 2, c: 30305},
{f: 3, c: 30312}, 30311, 30316, 30320, 30322, [12136, 30326], 30328, 30332,
30336, 30339, 30344, 30347, 30350, 30358, 30355, {f: 2, c: 30361}, 30384,
30388, {f: 3, c: 30392}, 30402, 30413, 30422, 30418, 30430, 30433, 30437,
30439, 30442, 34351, 30459, 30472, 30471, 30468, 30505, 30500, 30494,

{f: 2, c: 30501}, 30491, {f: 2, c: 30519}, 30535, 30554, 30568, 30571,


30555, 30565, 30591, 30590, 30585, 30606, 30603, 30609, 30624, 30622,
30640, 30646, 30649, 30655, {f: 2, c: 30652}, 30651, 30663, 30669, 30679,
30682, 30684, 30691, 30702, 30716, 30732, 30738, 31014, 30752, 31018,
30789, 30862, 30836, 30854, 30844, 30874, 30860, 30883, 30901, 30890,
30895, 30929, 30918, 30923, 30932, 30910, 30908, 30917, 30922, 30956,
30951, 30938, 30973, 30964, 30983, 30994, 30993, 31001, 31020, 31019,
31040, 31072, 31063, 31071, 31066, 31061, 31059, 31098, 31103, 31114,
31133, 31143, 40779, 31146, 31150, 31155, {f: 2, c: 31161}, 31177, 31189,
31207, 31212, 31201, 31203, 31240, 31245, {f: 2, c: 31256}, 31264, 31263,
31104, 31281, 31291, 31294, 31287, 31299, 31319, 31305, {f: 2, c: 31329},
31337, 40861, 31344, 31353, 31357, 31368, 31383, 31381, 31384, 31382,
31401, 31432, 31408, 31414, 31429, 31428, 31423, 36995, 31431, 31434,
31437, 31439, 31445, 31443, {f: 2, c: 31449}, 31453, {f: 2, c: 31457},
31462, 31469, 31472, 31490, 31503, 31498, 31494, 31539, {f: 2, c: 31512},
31518, 31541, 31528, 31542, 31568, 31610, 31492, 31565, 31499, 31564,
31557, 31605, 31589, 31604, 31591, {f: 2, c: 31600}, 31596, 31598, 31645,
31640, 31647, 31629, 31644, 31642, 31627, 31634, 31631, 31581, 31641,
31691, 31681, 31692, 31695, 31668, 31686, 31709, 31721, 31761, 31764,
31718, 31717, 31840, 31744, 31751, 31763, 31731, 31735, 31767, 31757,
31734, 31779, 31783, 31786, 31775, 31799, 31787, 31805, 31820, 31811,
31828, 31823, 31808, 31824, 31832, 31839, 31844, 31830, 31845, 31852,
31861, 31875, 31888, 31908, 31917, 31906, 31915, 31905, 31912, 31923,
31922, 31921, 31918, 31929, 31933, 31936, 31941, 31938, 31960, 31954,
31964, 31970, 39739, 31983, 31986, 31988, 31990, 31994, 32006, 32002,
32028, 32021, 32010, 32069, 32075, 32046, 32050, 32063, 32053, 32070,
32115, 32086, 32078, 32114, 32104, 32110, 32079, 32099, 32147, 32137,
32091, 32143, 32125, 32155, 32186, 32174, 32163, 32181, 32199, 32189,
32171, 32317, 32162, 32175, 32220, 32184, 32159, 32176, 32216, 32221,
32228, 32222, 32251, 32242, 32225, 32261, 32266, 32291, 32289, 32274,
32305, 32287, 32265, 32267, 32290, 32326, 32358, 32315, 32309, 32313,
32323, 32311, 32306, 32314, 32359, 32349, 32342, 32350, {f: 2, c: 32345},
32377, 32362, 32361, 32380, 32379, 32387, 32213, 32381, 36782, 32383,
{f: 2, c: 32392}, 32396, 32402, 32400, {f: 2, c: 32403}, 32406, 32398,
{f: 2, c: 32411}, 32568, 32570, 32581, {f: 3, c: 32588}, 32592,
[12153, 32593], 32597, 32596, 32600, {f: 2, c: 32607}, {f: 2, c: 32616},
32615, 32632, 32642, 32646, 32643, 32648, 32647, 32652, 32660, 32670,
32669, 32666, 32675, 32687, 32690, 32697, 32686, 32694, 32696, 35697,
{f: 2, c: 32709}, 32714, 32725, 32724, 32737, 32742, 32745, 32755, 32761,
39132, 32774, 32772, 32779, [12158, 32786], {f: 2, c: 32792}, 32796, 32801,
32808, 32831, 32827, 32842, 32838, 32850, 32856, 32858, 32863, 32866,
32872, 32883, 32882, 32880, 32886, 32889, 32893, [12160, 32895], 32900,
32902, 32901, 32923, 32915, 32922, 32941, 20880, 32940, 32987, 32997,
32985, 32989, 32964, 32986, 32982, 33033, 33007, 33009, 33051, 33065,
33059, 33071, 33099, 38539, 33094, 33086, 33107, 33105, 33020, 33137,
33134, {f: 2, c: 33125}, 33140, 33155, 33160, 33162, 33152, 33154, 33184,
33173, 33188, 33187, 33119, 33171, 33193, 33200, 33205, 33214, 33208,
33213, 33216, 33218, 33210, 33225, 33229, 33233, 33241, 33240, 33224,
33242, {f: 2, c: 33247}, 33255, {f: 2, c: 33274}, 33278, {f: 2, c: 33281},
33285, 33287, 33290, 33293, 33296, 33302, 33321, 33323, 33336, 33331,
33344, 33369, 33368, 33373, 33370, 33375, 33380, 33378, 33384,
{f: 2, c: 33386}, 33326, 33393, 33399, [12171, 33400], 33406, 33421, 33426,
33451, 33439, 33467, 33452, 33505, 33507, 33503, 33490, 33524, 33523,
33530, 33683, 33539, 33531, 33529, 33502, 33542, 33500, 33545, 33497,
33589, 33588, 33558, 33586, 33585, 33600, 33593, 33616, 33605, 33583,
33579, {f: 2, c: 33559}, 33669, 33690, 33706, 33695, 33698, 33686, 33571,
33678, 33671, 33674, 33660, 33717, 33651, 33653, 33696, 33673, 33704,
33780, 33811, 33771, 33742, 33789, 33795, 33752, 33803, 33729, 33783,
33799, 33760, 33778, 33805, 33826, 33824, 33725, 33848, 34054, 33787,
33901, 33834, 33852, 34138, 33924, 33911, 33899, 33965, 33902, 33922,

33897, 33862, 33836, 33903, 33913, 33845, 33994, 33890, 33977, 33983,
33951, 34009, 33997, 33979, 34010, 34000, 33985, 33990, 34006, 33953,
34081, 34047, 34036, {f: 2, c: 34071}, 34092, 34079, 34069, 34068, 34044,
34112, 34147, 34136, 34120, 34113, 34306, 34123, 34133, 34176, 34212,
34184, 34193, 34186, 34216, 34157, 34196, 34203, 34282, 34183, 34204,
34167, 34174, 34192, 34249, 34234, 34255, 34233, 34256, 34261, 34269,
34277, 34268, 34297, 34314, 34323, 34315, 34302, 34298, 34310, 34338,
34330, 34352, 34367, [12172, 34381], 20053, 34388, 34399, 34407, 34417,
34451, 34467, {f: 2, c: 34473}, {f: 2, c: 34443}, 34486, 34479, 34500,
34502, 34480, 34505, 34851, 34475, 34516, 34526, 34537, 34540, 34527,
34523, 34543, 34578, 34566, 34568, 34560, 34563, 34555, 34577, 34569,
34573, 34553, 34570, 34612, 34623, 34615, 34619, 34597, 34601, 34586,
34656, 34655, 34680, 34636, 34638, 34676, 34647, 34664, 34670, 34649,
34643, 34659, 34666, 34821, 34722, 34719, 34690, 34735, 34763, 34749,
34752, 34768, 38614, 34731, 34756, 34739, 34759, 34758, 34747, 34799,
34802, 34784, 34831, 34829, 34814, {f: 2, c: 34806}, 34830, 34770, 34833,
34838, 34837, 34850, 34849, 34865, 34870, 34873, 34855, 34875, 34884,
34882, 34898, 34905, 34910, 34914, 34923, 34945, 34942, 34974, 34933,
34941, 34997, 34930, 34946, 34967, 34962, 34990, 34969, 34978, 34957,
34980, 34992, 35007, 34993, {f: 2, c: 35011}, 35028, {f: 2, c: 35032},
35037, 35065, 35074, 35068, 35060, 35048, 35058, 35076, 35084, 35082,
35091, 35139, 35102, 35109, {f: 2, c: 35114}, 35137, 35140, 35131, 35126,
35128, 35148, 35101, 35168, 35166, 35174, 35172, 35181, 35178, 35183,
35188, 35191, [12177, 35198], 35203, 35208, 35210, 35219, 35224, 35233,
35241, 35238, 35244, 35247, 35250, 35258, 35261, {f: 2, c: 35263}, 35290,
{f: 2, c: 35292}, 35303, 35316, 35320, 35331, 35350, 35344, 35340, 35355,
35357, 35365, 35382, 35393, 35419, 35410, 35398, 35400, 35452, 35437,
35436, 35426, 35461, 35458, 35460, 35496, 35489, 35473, {f: 2, c: 35493},
35482, 35491, 35524, 35533, 35522, 35546, 35563, 35571, 35559, 35556,
35569, 35604, 35552, 35554, 35575, 35550, 35547, 35596, 35591, 35610,
35553, 35606, 35600, 35607, 35616, 35635, 38827, 35622, 35627, 35646,
35624, 35649, 35660, 35663, 35662, 35657, 35670, 35675, 35674, 35691,
35679, 35692, 35695, 35700, 35709, 35712, 35724, 35726, {f: 2, c: 35730},
35734, {f: 2, c: 35737}, 35898, 35905, 35903, 35912, 35916, 35918, 35920,
[12183, 35925], 35938, 35948, [12184, 35960], 35962, 35970, 35977, 35973,
35978, {f: 2, c: 35981}, 35988, 35964, 35992, 25117, 36013, 36010, 36029,
{f: 2, c: 36018}, 36014, 36022, 36040, 36033, 36068, 36067, 36058, 36093,
{f: 2, c: 36090}, {f: 2, c: 36100}, 36106, 36103, 36111, 36109, 36112,
40782, 36115, 36045, 36116, 36118, 36199, 36205, 36209, 36211, 36225,
36249, 36290, 36286, 36282, 36303, 36314, 36310, 36300, 36315, 36299,
{f: 2, c: 36330}, 36319, 36323, 36348, {f: 2, c: 36360}, 36351,
{f: 2, c: 36381}, 36368, 36383, 36418, 36405, 36400, 36404, 36426, 36423,
36425, 36428, 36432, 36424, 36441, 36452, 36448, 36394, 36451, 36437,
36470, 36466, 36476, 36481, 36487, 36485, 36484, 36491, 36490, 36499,
36497, 36500, 36505, 36522, 36513, 36524, 36528, 36550, 36529, 36542,
36549, 36552, 36555, 36571, 36579, 36604, 36603, 36587, 36606, 36618,
36613, 36629, 36626, 36633, 36627, 36636, 36639, 36635, 36620, 36646,
36659, 36667, 36665, 36677, 36674, 36670, 36684, 36681, 36678, 36686,
36695, 36700, {f: 3, c: 36706}, 36764, 36767, 36771, 36781, 36783, 36791,
36826, 36837, 36834, 36842, 36847, 36999, 36852, 36869, {f: 2, c: 36857},
36881, 36885, 36897, 36877, 36894, 36886, 36875, 36903, 36918, 36917,
36921, 36856, {f: 4, c: 36943}, 36878, 36937, 36926, 36950, 36952, 36958,
36968, 36975, 36982, 38568, 36978, 36994, 36989, 36993, 36992, 37002,
37001, 37007, 37032, 37039, 37041, 37045, 37090, 37092, 25160, 37083,
37122, 37138, 37145, 37170, 37168, 37194, 37206, 37208, 37219, 37221,
37225, 37235, 37234, 37259, 37257, 37250, 37282, 37291, 37295, 37290,
37301, 37300, 37306, {f: 2, c: 37312}, 37321, 37323, 37328, 37334, 37343,
37345, 37339, 37372, {f: 2, c: 37365}, 37406, 37375, 37396, 37420, 37397,
37393, 37470, 37463, 37445, 37449, 37476, 37448, 37525, 37439, 37451,
37456, 37532, 37526, 37523, 37531, 37466, 37583, 37561, 37559, 37609,

37647, 37626, 37700, 37678, 37657, 37666, 37658, 37667, 37690, 37685,
37691, 37724, 37728, 37756, 37742, 37718, 37808, {f: 2, c: 37804}, 37780,
37817, {f: 2, c: 37846}, 37864, 37861, 37848, 37827, 37853, 37840, 37832,
37860, 37914, 37908, 37907, 37891, 37895, 37904, 37942, 37931, 37941,
37921, 37946, 37953, 37970, 37956, 37979, 37984, 37986, 37982, 37994,
37417, 38000, 38005, 38007, 38013, 37978, 38012, 38014, 38017, 38015,
38274, 38279, 38282, 38292, 38294, {f: 2, c: 38296}, 38304, 38312, 38311,
38317, 38332, 38331, 38329, 38334, 38346, 28662, 38339, 38349, 38348,
38357, 38356, 38358, 38364, 38369, 38373, 38370, 38433, 38440,
{f: 2, c: 38446}, 38466, 38476, 38479, 38475, 38519, 38492, 38494, 38493,
38495, 38502, 38514, 38508, 38541, 38552, 38549, 38551, 38570, 38567,
{f: 2, c: 38577}, 38576, 38580, [12202, 38582], 38584, [12203, 38585],
38606, 38603, 38601, 38605, 35149, 38620, 38669, 38613, 38649, 38660,
38662, 38664, 38675, 38670, 38673, 38671, 38678, 38681, 38692, 38698,
38704, 38713, {f: 2, c: 38717}, 38724, 38726, 38728, 38722, 38729, 38748,
38752, 38756, 38758, 38760, 21202, 38763, 38769, 38777, 38789, 38780,
38785, 38778, 38790, 38795, {f: 2, c: 38799}, 38812, 38824, 38822, 38819,
{f: 2, c: 38835}, 38851, 38854, 38856, [12209, 38859], 38876,
[12210, 38893], 40783, 38898, 31455, 38902, 38901, 38927, 38924, 38968,
38948, 38945, 38967, 38973, 38982, 38991, 38987, 39019, {f: 3, c: 39023},
39028, 39027, 39082, 39087, 39089, 39094, 39108, 39107, 39110, 39145,
39147, 39171, 39177, 39186, 39188, 39192, 39201, {f: 2, c: 39197}, 39204,
39200, 39212, 39214, {f: 2, c: 39229}, 39234, 39241, 39237, 39248, 39243,
{f: 2, c: 39249}, 39244, 39253, {f: 2, c: 39319}, 39333, {f: 2, c: 39341},
39356, 39391, 39387, 39389, 39384, 39377, {f: 2, c: 39405},
{f: 2, c: 39409}, 39419, 39416, 39425, 39439, 39429, 39394, 39449, 39467,
39479, 39493, 39490, 39488, 39491, 39486, 39509, 39501, 39515, 39511,
39519, 39522, 39525, 39524, 39529, 39531, 39530, 39597, 39600, 39612,
39616, 39631, 39633, {f: 2, c: 39635}, 39646, [12221, 39647],
{f: 2, c: 39650}, 39654, 39663, 39659, 39662, 39668, 39665, 39671, 39675,
39686, 39704, 39706, 39711, {f: 2, c: 39714}, [12222, 39717],
{f: 4, c: 39719}, 39726, [12223, 39727], [12224, 39730], 39748, 39747,
39759, {f: 2, c: 39757}, 39761, 39768, 39796, 39827, 39811, 39825,
{f: 2, c: 39830}, {f: 2, c: 39839}, 39848, 39860, 39872, 39882, 39865,
39878, 39887, {f: 2, c: 39889}, 39907, 39906, 39908, 39892, 39905, 39994,
39922, 39921, 39920, 39957, 39956, 39945, 39955, 39948, 39942, 39944,
39954, 39946, 39940, 39982, 39963, 39973, 39972, 39969, 39984, 40007,
39986, 40006, 39998, 40026, 40032, 40039, 40054, 40056, 40167, 40172,
40176, 40201, 40200, 40171, 40195, 40198, 40234, 40230, 40367, 40227,
40223, 40260, 40213, 40210, 40257, 40255, 40254, 40262, 40264,
{f: 2, c: 40285}, 40292, 40273, 40272, 40281, 40306, 40329, 40327, 40363,
40303, 40314, 40346, 40356, 40361, 40370, 40388, 40385, 40379, 40376,
40378, 40390, 40399, 40386, 40409, 40403, 40440, 40422, 40429, 40431,
40445, {f: 2, c: 40474}, 40478, [12228, 40565], 40569, 40573, 40577, 40584,
{f: 2, c: 40587}, 40594, 40597, 40593, 40605, [12230, 40613], 40617, 40632,
40618, 40621, 38753, 40652, {f: 3, c: 40654}, 40660, 40668, 40670, 40669,
40672, 40677, 40680, 40687, 40692, {f: 2, c: 40694}, [12235, 40697],
{f: 2, c: 40699}, [12236, 40701], {f: 2, c: 40711}, 30391, 40725, 40737,
40748, 40766, [12241, 40778], [12242, 40786], 40788, 40803,
{f: 3, c: 40799}, {f: 2, c: 40806}, 40812, 40810, 40823, 40818, 40822,
40853, [12244, 40860], [12245, 40864], 22575, 27079, 36953, 29796, 0,
{f: 76, c: 9472}, {f: 20, c: 9312}, {f: 10, c: 8544}, 13129, 13076, 0,
13133, 0, 13095, 0, 13110, 13137, 0, 13069, 13094, 0, 13099, 13130, 0,
{f: 3, c: 13212}, {f: 2, c: 13198}, 13252, 13217, 12317, 12319, 8470,
13261, 0, {f: 5, c: 12964}, {f: 2, c: 12849}, 12857, 13182, 13181, 13180,
8750, 8721, {s: 3}, 8735, 8895, 0, 0, 21854, {s: 7}, 167133, 0, 0, 28976,
0, 40407, {s: 4}, 64054, 0, 0, 22169, 15694, {s: 4}, 20448, 0, 0, 36544, 0,
194797, {s: 4}, 153716, 32363, 33606, 167670, {s: 3}, 40572, 0, 0, 26171,
0, 40628, {s: 4}, 26629, {s: 5}, 23650, 0, 194780, 0, 32353, 0, 0, 64070,
{s: 5}, 34083, 37292, {s: 7}, 34796, {s: 8}, 25620, 0, 0, 39506, {s: 4},

64074, 0, 194692, {s: 4}, 31774, {s: 6}, 64016, 25681, 0, 0, 63980, 22625,
39002, 0, 194679, {s: 3}, 31153, 0, 28678, {s: 9}, 22218, {s: 3}, 21085, 0,
28497, 37297, {s: 10}, 64106, {s: 6}, 38960, 0, 40629, {s: 9}, 33802,
63939, {f: 2, c: 63890}, 63897, 0, 34847, 194575, 0, 194771, 194584,
{s: 7}, 137754, 23643, {s: 4}, 25890, 0, 0, 26618, 0, 26766, 0, 148432,
194848, {s: 21}, 34110, {s: 15}, 30562, {s: 12}, 65075, 0,
{f: 2, c: 65073}, {s: 4}, 65072, {f: 2, c: 65077}, {f: 2, c: 65081}, 0, 0,
{f: 2, c: 65079}, {f: 2, c: 65087}, {f: 2, c: 65085}, {f: 4, c: 65089},
{f: 2, c: 65083}, {s: 41}, {f: 3, c: 12436}, 0, 0, 22099, {s: 41}, 65508,
65287, 65282, 0, 9665, 9655, 8681, 8679, 8678, 8680, 9634, 9831, 9825,
9828, 9826, 13216, 13218, {f: 2, c: 13220}, 13207, 8467, 13208, 13235,
13234, 13233, 13232, {f: 3, c: 13189}, 13259, 13200, 13268, 13206, 13090,
13078, 13080, 13077, 13059, 13091, 13143, 13122, 13113, 13115, 13056,
13105, 13127, 13086, 13098, 0, 13183, 8481, 9742, 12342, 12320, {s: 3},
{f: 9, c: 9352}, {f: 20, c: 9332}, 12881, {f: 10, c: 8560},
{f: 10, c: 12882}, {f: 26, c: 9372}, 12867, 12861, 12863, 12852, 12856,
12851, 12860, 12866, 12862, 12854, 12853, 12859, 12864, 12858, 12976,
12973, 12969, 12975, 12948, 12970, 12952, 12971, 12946, 12945, 12947,
12972, 12974, 12950, {s: 8}, {f: 3, c: 9131}, 0, {f: 3, c: 9127}, 0, 13260,
13061, 0, 0, 13215, 13219, 13222, 0, 0, 12958, {f: 2, c: 13192}, 13256,
8749, 0, 12848, {f: 6, c: 12842}, 12855, 12865, 10145, {s: 3}, 9673, 9824,
9829, 9827, 9830, {f: 4, c: 9728}, 9758, {f: 2, c: 9756}, 9759, 12953,
9450, {f: 2, c: 8554}, {s: 3}, {f: 8, c: 9601}, 9615, 9614, 9613, 9612,
9611, 9610, 9609, {f: 2, c: 9620}, {f: 2, c: 9581}, 9584, 9583, 9552, 9566,
9578, 9569, {f: 2, c: 9698}, 9701, 9700, 0, 0, {f: 3, c: 9585}, {s: 20},
20956, 29081, {f: 9, c: 10102}, {s: 3}, {f: 2, c: 8570}, {s: 3}, 8575,
8458, 8457, 0, 0, 12292, 8646, {f: 2, c: 8644}, 0, {f: 4, c: 12535}, 0, 0,
12957, {s: 3}, 13179, {s: 3}, 13107, 13134, {s: 30}, 32394, 35100, 37704,
37512, 34012, 20425, 28859, 26161, 26824, 37625, 26363, 24389,
[12033, 20008], 20193, 20220, 20224, 20227, 20281, 20310, 20370, 20362,
20378, 20372, 20429, 20544, 20514, 20479, 20510, 20550, 20592, 20546,
20628, 20724, 20696, 20810, 20836, 20893, 20926, 20972, 21013, 21148,
21158, 21184, 21211, 21248, 0, 21284, 21362, 21395, 21426, 21469, 64014,
21660, 21642, 21673, 21759, 21894, 22361, 22373, 22444, 22472, 22471,
64015, 0, 22686, 22706, 22795, 22867, 22875, 22877, 22883, 22948, 22970,
23382, 23488, 29999, 23512, 0, 23582, 23718, 23738, 23797, 23847, 23891, 0,
23874, 23917, {f: 2, c: 23992}, 24016, 24353, 24372, 24423, 24503, 24542,
24669, 24709, 24714, 24798, 24789, 24864, 24818, 24849, 24887, 24880,
24984, 25107, 25254, 25589, 25696, 25757, 25806, 25934, 26112, 26133,
26121, 26158, 0, 26148, 26213, 26199, 26201, 64018, 26227, 26265, 26272,
26290, 26303, 26362, 26382, 0, 26470, 26555, 26706, 26560, 0, 26692, 26831,
64019, 26984, 64020, 27032, 27106, 27184, 27243, 27206, 27251, 27262,
27362, 27364, 27606, 27711, 27740, 27782, 27759, 27866, 27908, 28039,
28015, 28054, 28076, 28111, 28152, 28146, 28156, 28217, 28252, 28199,
28220, 28351, 28552, 28597, 28661, 28677, 28679, 28712, 28805, 28843,
28943, 28932, 29020, {f: 2, c: 28998}, 0, 29121, 29182, 29361, 29374,
29476, 64022, 29559, 29629, 29641, 29654, 29667, 29650, 29703, 29685,
29734, 29738, 29737, 29742, 0, 29833, 29855, 29953, 30063, 30338, 30364,
30366, 30363, 30374, 64023, 30534, 21167, 30753, 30798, 30820, 30842,
31024, {f: 3, c: 64024}, 31124, 64027, 31131, 31441, 31463, 64028, 31467,
31646, 64029, 32072, 0, 32183, 32160, 32214, 32338, 32583, 32673, 64030,
33537, 33634, 33663, 33735, 33782, 33864, 33972, 34131, 34137, 34155,
64031, 34224, {f: 2, c: 64032}, 34823, 35061, 35346, 35383, 35449, 35495,
35518, 35551, 64034, 35574, 35667, 35711, 36080, 36084, 36114, 36214,
64035, 36559, 0, 64037, 36967, 37086, 64038, 37141, 37159, 37338, 37335,
37342, {f: 2, c: 37357}, {f: 2, c: 37348}, 37382, 37392, 37386, 37434,
37440, 37436, 37454, 37465, 37457, 37433, 37479, 37543, {f: 2, c: 37495},
37607, 37591, 37593, 37584, 64039, 37589, 37600, 37587, 37669, 37665,
37627, 64040, 37662, 37631, 37661, 37634, 37744, 37719, 37796, 37830,
37854, 37880, 37937, 37957, 37960, 38290, 0, 64041, 38557, 38575, 38707,

38715, 38723, 38733, 38735, [12205, 38737], 0, 38999, 39013,


{f: 2, c: 64042}, 39207, 64044, 39326, 39502, 39641, 39644, 39797, 39794,
39823, 39857, 39867, 39936, 40304, 40299, 64045, 40473, 40657, {s: 636},
8364, 8486, 0, 0, 64256, {f: 2, c: 64259}, 257, 299, 363, 275, 333, 256,
298, 362, 274, 332, {f: 4, c: 8539}, {f: 2, c: 8531}, 8304,
{f: 6, c: 8308}, {f: 10, c: 8320}, 461, 282, 0, 7868, 463, 0, 296, 465, 0,
467, 366, 360, 462, 283, 0, 7869, 464, 0, 297, 466, 0, 468, 367, 361, 593,
8049, 8048, 509, 0, 596, 0, 0, 601, 0, 0, 602, 0, 0, 603, 8051, 8050, 0,
331, 629, 652, 0, 0, 658, 643, 720, {s: 682}, {f: 10, c: 12832}, {s: 108},
{f: 4, c: 12892}, {f: 15, c: 12977}, {s: 50}, {f: 26, c: 9424},
{f: 26, c: 9398}, {s: 48}, {f: 47, c: 13008}, 0, {f: 10, c: 12928}, 12944,
{f: 6, c: 12938}, 0, 12959, {s: 6}, {f: 2, c: 12960}, 12955, 12954, 12963,
12962, 12951, 0, 12956, 12949, {s: 6}, 9676, {s: 11}, 10111,
{f: 10, c: 9451}, {s: 510}, 8414, {s: 815}, 13274, {s: 3}, 8448, 13250, 0,
0, 8453, 0, 13169, 0, 0, 13197, 13211, {s: 3}, {f: 2, c: 13271}, {s: 3},
{f: 2, c: 13057}, 13060, 13062, 0, 13064, 0, 13063, 13066, 0, 13065, 0,
13067, 0, 13068, {f: 6, c: 13070}, 0, 13079, 0, 13081, 0, {f: 4, c: 13082},
{f: 3, c: 13087}, 13092, 0, 13093, 0, 0, {f: 2, c: 13096}, 0, 13101, 0, 0,
{f: 3, c: 13102}, 13106, 0, 0, {f: 2, c: 13108}, 13116, {s: 3}, 13111, 0,
13112, 13114, 13117, 13121, {f: 3, c: 13118}, {f: 4, c: 13123}, 13128,
{f: 2, c: 13131}, {f: 2, c: 13135}, 0, 0, 13138, 13140, 0, 0, 13139,
{f: 2, c: 13141}, {s: 132}, 8501, 976, 8714, 8463, 0, 981, 987, 977, 0,
{f: 2, c: 9832}, 9836, {s: 5}, 12347, 0, {f: 3, c: 12339}, 8252, 8265,
{s: 5}, 8723, 0, 8771, {f: 2, c: 8818}, {s: 6}, {f: 2, c: 12312},
{f: 2, c: 65375}, {s: 10}, 9115, {f: 2, c: 9117}, 9120, {s: 4}, 9121,
{f: 2, c: 9123}, 9126, {s: 12}, [9116, 9119, 9122, 9125, 9130], {s: 8},
9986, 0, 0, 12349, 0, 12447, 0, 0, 8709, 8864, 8854, 8856, 8853, 8855,
{s: 4}, 9664, 9654, {s: 4}, 8656, 8596, {f: 2, c: 8600}, {f: 2, c: 8598},
8652, 8651, {s: 10}, 12336, 8967, {s: 8}, 10048, 10047, {s: 7}, 9643, 0,
9642, 0, 10010, {s: 12}, 9702, {s: 4}, 10070, {s: 379}, {f: 2, c: 65093},
{s: 679}, 64103, 64098, 32227, [12232, 40643], 28331, 64082, 64061, 64069,
64062, 27114, 28212, 64096, 64071, 64056, 64066, 64078, 34395, 64105,
64052, 64099, 25581, 25802, 30799, 64084, 63856, 64077, 64097, 64072,
64076, {f: 2, c: 64091}, 64081, 64067, 64090, 28041, 29376, 0, 194885,
64086, 64080, 64049, 64059, 24034, 64063, 64101, 21373, 64055, 64095,
24501, 64064, 0, 64083, 0, 64085, 64104, 64068, 64089, 26202, 64053, 64075,
64100, 64065, 64048, 0, 64057, 64051, 27493, 64058, 27599, 64050, 25150,
64079, 63773, 63964, 63798, 28122, 63952, 26310, 27511, 64087, 37706, 0,
37636, {s: 120}, 133390, {s: 120}, 35999, 11991, [11965, 158033], {s: 5},
37555, 38321, 0, 0, 194812, {s: 13}, 194965, {s: 8}, 194794, 0, 26478,
11974, 0, 194594, {s: 13}, 13314, 0, 0, 26083, {s: 4}, 134071, {s: 10},
171339, 0, 194611, 24378, {s: 8}, 11945, 0, 20465, {s: 7}, 63753, {s: 7},
11964, 0, 0, 194732, 26435, {s: 3}, 133732, 35329, 25142, 0, 0, 21555,
23067, {s: 3}, 25221, 0, 0, 194819, {s: 6}, 21567, {s: 9}, 27506, {s: 4},
29986, 19256, 0, 0, 24063, {s: 6}, 194827, 29626, 134047, {s: 3}, 194600,
0, 194849, {s: 5}, 194623, {s: 16}, 194675, {f: 2, c: 11916}, 23577,
{s: 3}, 131083, 23426, 194642, {s: 5}, 11997, [11999, 39136],
[11998, 169599], 14221, 0, [11927, 14586], 0, 194887, 0, [11909, 20155],
131490, {s: 7}, 13599, 0, 194738, 0, 0, [11971, 35200], {s: 4}, 31237,
{s: 4}, 35498, 0, 32085, 0, 28568, {s: 7}, 25591, 30246, {s: 4},
[11978, 163767], {s: 5}, 146686, {s: 5}, 13351, 0, 0, 33067, 0, 0, 194842,
{s: 5}, 11950, {s: 5}, 194714, {s: 3}, 194831, {s: 19}, 22305, 135741,
194586, 0, 64003, {s: 7}, 21534, 15240, 20839, {s: 4}, 63839, {s: 9},
20023, {s: 13}, [11946, 150804], 24421, 23020, 194658, 0, 24217, {s: 46},
13416, {s: 8}, 21200, {s: 9}, 26625, 0, 195024, 195039, {s: 5}, 153215, 0,
0, 11959, {s: 4}, 36534, 63775, {s: 3}, 63875, {s: 5}, 31867, 63906, 0,
63898, 0, [11961, 32770], 157360, {s: 4}, [11911, 132648], 0, 0, 131210,
194604, [11915, 13630], {s: 4}, 21589, 0, 22841, 0, 0, 23414, 194669,
23572, 14306, 23782, 0, 20040, 0, 0, 194742, {s: 4}, 158105, 25371, 0, 0,
26211, 0, 194779, 0, 0, 27126, 27014, {s: 3}, 27596, 0, 28183, 0, 0, 27818,

{s: 3}, [11942, 20012], 0, 0, 29935, 30069, 30188, 30286, 16305, 30570,
30633, {s: 6}, 31571, 0, 0, 16996, {s: 3}, 194924, 0, 0, 32328, {s: 5},
11955, {s: 4}, 33089, 17491, 0, [11966, 33401], [11967, 64094],
[11968, 64093], 0, 20857, 33626, {s: 3}, 17701, 0, 34292, 131248, {s: 4},
34429, 0, 13358, 35014, {s: 6}, 18406, {s: 8}, 36808, {s: 19}, 166279, 0,
0, 167447, 0, 0, 38969, {s: 6}, 39432, {s: 4}, 39903, {s: 10}, 148206,
{s: 5}, 21385, 0, 64017, 194785, 0, 146622, 132625, 0, {f: 2, c: 19972},
19999, 20011, {f: 2, c: 20015}, {f: 2, c: 20032}, 20036, [11907, 20058],
20095, 20109, 20118, 20153, 20176, 20192, 20221, 20223, 20235, 20245,
20320, 20283, 20297, 20308, 20346, {f: 2, c: 20349}, 20375, 20414, 20431,
20477, {f: 2, c: 20480}, 20496, 20507, 20519, 20526, 20567, 20582, 20586,
20539, 20623, 20630, 20636, 20684, 20710, 20713, 20719, 20744, 20747,
20752, 20763, 20766, 20831, 20897, 20924, 0, 20974, 20980, 20993,
[11913, 20994], 21011, 21065, 21089, 21094, 21139, 21192, 21232,
{f: 2, c: 21258}, 21310, 21324, 21323, 21345, 21356, 21419, 21466, 21478,
21493, 21543, 21581, 21606, 21611, 21620, 21645, 21654, 21665, 21677,
21689, 21695, 21702, 21709, 21774, 21803, 21813, 21834, 21856, 0, 21896,
21902, 22024, {f: 2, c: 22030}, 22071, 22079, 22089, 22091, 22095, 22118,
22121, 22127, {f: 2, c: 22129}, 22165, 22170, {f: 2, c: 22188}, 22193,
22217, 22237, 22244, 22282, 22293, 22307, 22319, {f: 2, c: 22323}, 22348,
22384, 22412, 22428, 22456, 22502, 22509, {f: 2, c: 22517}, 22527, 22537,
22560, 22578, 22652, 22656, 22697, 22734, 22736, 22740, 22746, 22761,
22796, 22820, 22831, 22881, 22893, 22986, 22994, 23005, {f: 2, c: 23011},
23044, 23052, 23075, 23111, 23125, 23139, 23149, 23166, 23198, 23207,
23212, 23219, 23264, 23296, 23321, 23333, 23341, 23361, 23420,
{f: 2, c: 23422}, 23434, [11919, 23587], 23595, 23600, 23651, 23657, 23676,
23755, 23762, 23796, 23844, 23846, 23875, 23878, 23882, 23954, 23956,
23961, 23968, 24024, 24032, 24056, 24064, 24082, {f: 2, c: 24084}, 24088,
24110, 24152, {f: 2, c: 24171}, 24232, 24234, {f: 2, c: 24254}, 0, 24274,
24327, 24334, {f: 2, c: 24348}, 24354, 24360, 24374, 24379, 24384,
[12089, 24400], 24408, 24420, 24457, 24476, 24487, 24484, 24495, 24504,
[11926, 24516], 24521, 24545, 24553, 24557, 24572, 24599, 24602, 24627,
24673, 24703, 24734, 24740, 24752, 24779, 24795, 24824, {f: 3, c: 24850},
24860, 24956, 24973, 24991, 25000, 25026, 25055, 25109, 25129, 25155,
25158, [11928, 25164], 25169, 25174, 25284, 25340, 25354, 25357, 25368,
25401, {f: 2, c: 25410}, 25445, 25460, 25469, 25476, 25479, 25488, 25502,
25553, 25564, 25609, 25616, 25634, 25684, 25691, 25709, 25723,
{f: 2, c: 25790}, 25829, 25847, 25851, 25860, 25878, 25881, 25927, 25959,
25985, 25989, 26050, 26096, 26098, 26156, 26188, {f: 2, c: 26203}, 26209,
26219, 0, 26276, 26312, 26348, 26373, 26387, 26419, 26440, 26444, 26486,
26491, 26544, 26546, 26617, 26583, 26585, 26608, 26668, {f: 2, c: 26672},
26715, 26738, 26741, 26746, 26756, 26789, 26802, 26832, 26838, 26856,
26861, {f: 2, c: 26864}, 26876, 26897, 26899, 26933, 26939, 26967, 26979,
26994, {f: 2, c: 27007}, 27046, 27053, 27063, {f: 2, c: 27094}, 27137,
27151, 27157, 27176, 27188, 27198, 27205, {f: 2, c: 27216}, 27222, 27227,
27267, 27273, 27281, {f: 3, c: 27293}, 27356, 27367, 27372, 27422, 27428,
27445, 27462, 27478, 27488, 27522, 27582, 27617, 27633, 27664, 27699,
[11937, 27701], 11938, 27737, 27766, 27771, 27781, 27797, 27804, 27856,
27860, 27862, 27872, {f: 2, c: 27883}, 27886, 27914, 27918, 27921, 27950,
27991, 27998, 28005, 28034, 28095, 28100, 28106, 28118, 28137, 28194,
28241, 28359, 28362, 28366, 28413, 28442, 28458, 28463, 28467, 28506,
28510, 28514, 28541, 28555, 28557, 28562, 28564, 28570, {f: 2, c: 28583},
28598, 28634, 28638, 0, 28729, 28732, 0, 28756, {f: 2, c: 28765}, 28772,
[11939, 28780], 28798, 28801, 28821, 28855, {f: 2, c: 28883}, 28888, 28892,
28935, 28960, 28977, 29002, 29010, 29024, 29049, 29074, 0, 29131, 29139,
29142, 29184, 29213, 29227, 29240, 29249, 29267, {f: 2, c: 29269}, 29276,
29325, [11944, 29357], 29364, 29383, 29435, {f: 2, c: 29444}, 29480, 29489,
29507, 29548, 29564, 29571, {f: 2, c: 29573}, 29589, {f: 3, c: 29598},
29606, 29611, 29621, 29623, 29628, 29647, 29657, 29673, 29684, 29693,
29700, 29706, {f: 2, c: 29722}, 29732, 29736, 29740, {f: 3, c: 29743},

29753, 29764, 29767, 29771, 29773, 29777, 29783, 29798, 29803, 29809,
29824, {f: 3, c: 29829}, 29840, 29848, 29852, 29856, 29859, 29864, 29867,
29877, 29887, 29896, 29914, 29918, 30030, 30073, 30081, 30096,
[12135, 30098], 30099, 30132, 30180, 30201, 30208, 30218, {f: 2, c: 30229},
30233, 30238, 30253, 30261, 30275, 30283, 30309, 30317, 30319, 30321,
30324, {f: 2, c: 30372}, 30405, 30412, 30444, 30460, 30516, 30518, 30556,
{f: 2, c: 30559}, 30578, 30589, 30613, 30634, 30694, 30704, 30708, 30726,
30754, {f: 2, c: 30765}, 30768, 30773, 30824, 30878, 30920, 30924, 30926,
30948, {f: 2, c: 30944}, 30962, 30967, 30971, 31025, 0, [11949, 31035],
31037, 31045, {f: 2, c: 31067}, 31115, 31126, 31128, [12145, 31160], 31163,
31178, 31194, 31235, 31241, 31249, 31262, 31277, 31289, 31301, 31308,
31325, 0, 31341, 31352, 31392, 31395, 31411, {f: 2, c: 31419}, 31430,
31495, 31508, 31527, 31537, 31559, 31566, 31584, 31593, 31597, 31602,
31633, 31663, 31703, 31705, 31755, 31759, 31776, 31782, 31793, 31798,
31825, 31833, 31847, 31854, 31856, 31932, 31935, {f: 2, c: 31944}, 31959,
31961, 31965, 31979, {f: 3, c: 32007}, 32019, 32029, 32035, 32065, 32083,
32089, 32093, 32122, 32134, {f: 2, c: 32139}, 32204, 32235, 32241, 32249,
32264, 32273, 32277, 32288, 32327, 32354, 32366, 32371, 32397, 32401,
32408, 32580, 32591, [11947, 11954, 32594], [11953, 32595], 32609, 32657,
32703, 32718, 32735, 32741, 32748, {f: 2, c: 32750}, 32762, 32782, 32785,
32788, 32804, 32806, 32826, 32828, 32864, 32881, 32885, 32926, 32934,
32939, {f: 2, c: 32983}, 33046, 33048, 33082, 33098, 33100, 33153, 33156,
33204, 33231, 33273, 33283, 33313, 33330, 33332, 33350, 33355, 33359,
33422, 33454, 33463, 33470, 33478, 33534, 33603, 33617, 33621, 33670,
33677, 33682, 33688, 33705, {f: 2, c: 33727}, 33770, 33807, 33809, 33866,
33910, 33960, 33967, 33984, 33986, 34032, 34045, 34060, 34100, 34142,
34191, 34231, 34254, 34221, 34322, 34345, 34386, 34403, 34412, 34415,
34426, 34445, 34449, 34456, {f: 2, c: 34471}, 34554, 34557, 34571, 34579,
34585, 34590, 34600, 34622, 34673, 34696, 34713, {f: 2, c: 34732}, 34741,
34774, 34795, 34797, 34817, 0, 34822, 34827, 34836, 34844, 34902, 34911,
[11970, 34916], 34968, 34986, {f: 2, c: 35005}, 35018, 35026, 35035,
{f: 2, c: 35056}, 35078, {f: 3, c: 35096}, 35111, 35120, 35134, 35195,
35284, 35286, 35301, 35313, 35335, 35343, 35349, 35362, 35406, 35455,
35572, 35615, 35639, {f: 2, c: 35651}, 35668, 35740, 35742, 35911, 35924,
35955, 36004, 36057, 36065, 36088, 36094, 36123, 36201, 36204, 36228,
36237, 36245, 36262, 36294, 36302, 36324, 36332, 36384, 36427, 36460,
36464, 36474, 36498, 36526, 36531, 36561, 36564, 36601, 36631, 36662,
36774, [12193, 36789], [11981, 36790], 0, 36832, 36836, 36854, 36866,
36908, 36932, 37000, 37013, 37017, 37019, 37026, 37044, 37079, 37085,
37108, 37143, 37148, 37169, 37178, 37181, 37192, 37211, 37217, 37220,
37262, 37278, 37288, {f: 2, c: 37293}, 37298, 37308, 37360, 37367, 37371,
37383, 37416, 37427, 37432, 37443, 37447, 37455, 37472, 37570,
{f: 2, c: 37579}, 37599, 37645, 37653, 37663, 37671, 37703, 37714, 0,
37738, 37741, 37787, 37818, 37801, 37825, 37834, 37858, 37882, 37885,
37903, 37940, 37951, 37973, 37995, 38002, [11986, 38264], 38310, 38313, 0,
38324, 38333, 38362, [11983, 11990, 38429], 38465, 38488, 38532, 38564,
38569, 38610, 195060, 38622, 38633, 38641, 38658, 38665, 38746, 38755,
38766, 38771, 38810, 38818, {f: 2, c: 38837}, 38873, 38878, 38900, 38922,
38926, 38942, 38947, 38955, 38974, {f: 2, c: 38994}, 39001, 39020, 39096,
39098, 39103, 39112, 39141, {f: 2, c: 39218}, 39232, 39245, 39260, 39263,
39345, {f: 2, c: 39353}, 39369, 39426, 39446, 39460, 39463,
{f: 2, c: 39469}, 39478, 39480, 39498, 39510, {f: 2, c: 39605}, 39673,
39683, 39712, {f: 2, c: 39731}, 39795, 39801, 39847, 39873, 39879, 39895,
39911, 39915, 39927, 39930, 39933, 39947, 39975, 39978, 39990, 40001,
40019, 40035, 40048, 40055, 40194, 40258, 40263, 40291, 40297, 40316,
40318, 40333, 40369, 40387, 40391, 40406, 40415, 40427, 40436, 40469,
40477, 40612, 40616, 40620, 40679, 40686, 40720, 40722, 40727, 40729,
40751, 40759, 40761, 40769, 40773, 40791, 40808, 40817, 40821, 40848,
40852, 40866, 0, 13317, 194564, 22048, 24267, 11925, 0, 144954, 0, 28665,
28390, 29107, [11940, 64073], {s: 4}, [11980, 64102], 0, 23986, 0, 20435,

20697, 20720, 20931, 22134, 27220, 27905, 28112, 28226, 28377, 29668,
29729, 30060, 30801, 34805, 144382, 29608, 15091, 13531, 17420, 16010, 0,
0, 19432, 0, 16090, 15138, 0, 17786, 16531, 0, 18021, 16643, 17043, 18094,
13448, 140809, {f: 3, c: 63584}, 63610, 63615, {s: 23}, {f: 2, c: 8836},
{f: 2, c: 8842}, 8713, 0, {f: 2, c: 8965}, {s: 9}, {f: 2, c: 8741},
{s: 14}, 8802, 0, 8773, 8776, {f: 2, c: 8822}, {s: 4}, 8487, {s: 209},
{f: 2, c: 8922}, 8533, 8984, {f: 2, c: 7742}, {f: 2, c: 504}, 470, 472,
474, 476, 260, 728, 317, 346, 350, 356, 377, 379, 261, 731, 318, 347, 711,
351, 357, 378, 733, 380, 340, 258, 313, 262, 268, 280, 270, 323, 327, 336,
344, 368, 354, 341, 259, 314, 263, 269, 281, 271, 273, 324, 328, 337, 345,
369, 355, 729, 264, 284, 292, 308, 348, 364, 265, 285, 293, 309, 349, 365,
625, 651, 638, 620, 622, 633, 648, 598, 627, 637, 642, 656, 635, 621, 607,
626, 669, 654, 609, 624, 641, 295, 661, 660, 614, 664, 450, 595, 599, 644,
608, 403, 616, 649, 600, 604, 606, 592, 623, 650, 612, 594, 653, 613, 674,
673, 597, 657, 634, 615, 865, 712, 716, 721, 8255, 783, {f: 5, c: 741}, 0,
0, 805, 812, 825, 796, {f: 2, c: 799}, 829, 809, 815, 734, 804, 816, 828,
820, {f: 2, c: 797}, {f: 2, c: 792}, 810, {f: 2, c: 826}, 794, {s: 3},
{f: 2, c: 610}, 618, 628, 630, 632, 640, 655, 665, 668, 671, 688, 690, 695,
704, {f: 2, c: 736}, {s: 6}, 8862, {s: 287}, 12348, 12543, 0,
{f: 2, c: 12310}, 9838, 9835, {f: 2, c: 10548}, 10687, 0, 12448, 0,
{f: 2, c: 10746}, {s: 13}, 962, {f: 10, c: 9461}, {f: 2, c: 9750}, 9649,
{f: 10, c: 12784}, 0, {f: 6, c: 12794}, {f: 15, c: 9150}, 0, 0, 10003, 0,
9251, 9166, {f: 4, c: 9680}, {f: 2, c: 8263}, 0, 8273, 8258,
{f: 16, c: 12688}, {s: 13}, {f: 2, c: 9136}, {f: 12, c: 9842},
{f: 2, c: 12441}, 8413, {s: 450}, 20296, 20319, 20330, 20332, 20494, 20504,
20545, 20722, 20688, 20742, 20739, 20789, 20821, 20823, 13493, 20938,
20962, 21079, 21196, 21206, 21243, 21276, 21347, 21405, 21522, 21631,
21640, 21840, 21889, 21933, 21966, 22075, 22174, 22185, 22195, 22391,
22396, 135963, 22479, 22500, 22628, 22665, 136302, 22738, 22752, 34369,
22923, 22930, 22979, 23059, 23143, 23159, 23172, 23236, 137405, 23421,
23443, 23570, 64060, 136884, 23674, 23695, 23711, 23715, 23722, 23760,
138804, 23821, 23879, 23937, 23972, 23975, 24011, 24158, 24313, 24320,
24322, 24355, 24381, 24404, 24445, 24589, 24596, 24600, 24629, 24647,
24733, 24788, 24797, 24875, 25020, 25017, 25122, 25178, 25199, 25302,
25468, 25573, 25721, 25796, 25808, 25897, 26013, 26170, 26146, 26155,
26160, 26163, 26184, 143812, {f: 2, c: 26231}, 26253, 26299, 26331, 26344,
26439, 26497, 26515, 26520, 26523, 26620, 26653, 26787, 26890, 26953,
144836, 26946, 26980, 27045, 27087, 15286, 15299, 27113, 27125, 145215,
27195, 145251, 27284, 27301, 15375, 27419, 27436, 27495, 27561, 27565,
27607, 27647, 27653, 27764, 27800, 27899, 27846, 27953, 27961, 27967,
27992, 28052, 28074, 28123, 28125, 28228, 28254, 28337, 28353, 28432,
28505, 28513, 28542, 28556, 28576, 28604, 28615, 28618, 28656, 28750,
28789, 28836, 28900, 28971, 28958, 28974, 29009, 29032, 29061, 29063,
29114, 29124, 29205, 15935, 29339, 149489, 29479, 29520, 29542, 29602,
29739, 29766, 29794, 29805, 29862, 29865, 29897, 29951, 29975, 16242,
30158, 30210, 30216, 30308, 30337, 30365, 30378, 30390, 30414, 30420,
30438, 30449, 30474, 30489, {f: 2, c: 30541}, 30586, 30592, 30612, 30688,
152718, 30787, 30830, 30896, 152846, 30893, 30976, 31004, 31022, 31028,
31046, 31097, 31176, 153457, 31188, 31198, 31211, 31213, 31365, 154052,
31438, 31485, 31506, 31533, 31547, 31599, 31745, 31795, 155041, 31853,
31865, 31887, 31892, 31904, 31957, 32049, 32092, 32131, 32166, 32194,
32296, 32663, 32731, 32821, 32823, 32970, 32992, 33011, 33120,
{f: 2, c: 33127}, 33133, 33211, 33226, 33239, 17499, 33376, 33396, 158463,
33441, {f: 2, c: 33443}, 33449, 33471, 33493, 33533, 33536, 33570, 33581,
33594, 33607, 33661, 33703, 33743, 33745, 33761, 33793, 33798, 33887,
33904, 33907, 33925, 33950, 33978, 159296, 34098, 34078, 34095, 34148,
34170, 34188, 34210, 34251, 34285, 34303, {f: 2, c: 34308}, 34320, 159988,
34328, 34360, 34391, 34402, 17821, 34421, 34488, 34556, 34695, 17898,
34826, 34832, 35022, 161412, 35122, 35129, 35136, 35220, 35318, 35399,
35421, 35425, 35445, 35536, 35654, 35673, 35689, 35741, 35913, 35944,

36271, 36305, 36311, 36387, 36413, 36475, 164471, 18500, 36602, 36638,
36653, 36692, 164813, 36840, 36846, 36872, 36909, 37015, 37043, 37054,
{f: 2, c: 37060}, 37063, 37103, 37140, 37142, {f: 2, c: 37154}, 37167,
37172, 37251, 37361, 37705, {f: 2, c: 37732}, 37795, 37855, 37892, 37939,
37962, 37987, 38001, 38286, 38303, 38316, 38326, 38347, 38352, 38355,
18864, 38366, 38565, 38639, 38734, 38805, 38830, 38842, 38849, 38857,
38875, 38998, 39143, 39256, 39427, 39617, 39619, 39630, 39638, 39682,
39688, 19479, 39725, 39774, 39782, 39812, 39818, 39838, 39886, 39909,
39928, 39971, {f: 2, c: 40015}, 40037, {f: 2, c: 40221}, 40259, 40274,
40330, 40342, 40384, 40364, 40380, 172432, 40423, 40455, 40606, 40623,
40855, 131209, 19970, 19983, 19986, 20009, 20014, 20039, 131234, 20049,
13318, 131236, 20073, 20125, 13356, 20156, 20163, 20168, 20203, 20186,
20209, 20213, 20246, 20324, 20279, 20286, 20312, 131603, {f: 2, c: 20343},
20354, 20357, 20454, 20402, 20421, 20427, 20434, 13418, 20466, 20499,
20508, 20558, 20563, 20579, 20643, 20616, {f: 2, c: 20626}, 20629, 20650,
131883, 20657, {f: 2, c: 20666}, 20676, 20679, 20723, 131969, 20686,
131953, 20692, 20705, 13458, 132089, 20759, 132170, 20832, 132361, 20851,
20867, 20875, 13500, 20888, 20899, 20909, 13511, 132566, 20979, 21010,
21014, 132943, 21077, 21084, 21100, 21111, 21124, 21122, 133127, 21144,
133178, 21156, {f: 2, c: 21178}, 21194, 21201, 133305, 21239, 21301, 21314,
133500, 133533, 21351, 21370, 21412, 21428, 133843, 21431, 21440, 133917,
{f: 2, c: 13661}, 21461, 13667, 21492, 21540, 21544, 13678, 21571, 21602,
21612, 21653, 21664, 21670, 21678, 21687, 21690, 21699, 134469, 21740,
21743, 21745, 21747, {f: 2, c: 21760}, 21769, 21820, 21825, 13734, 21831,
13736, 21860, 134625, 21885, 21890, 21905, 13765, 21970, 134805, 134765,
21951, 21961, 21964, 21969, 21981, 13786, 21986, 134756, 21993, 22056,
135007, 22023, 22032, 22064, 13812, 22077, 22080, 22087, 22110, 22112,
22125, 13829, 22152, 22156, 22173, 22184, 22194, 22213, 22221, 22239,
22248, {f: 2, c: 22262}, 135681, 135765, 22313, 135803, {f: 2, c: 22341},
22349, 135796, 22376, 22383, {f: 3, c: 22387}, 22395, 135908, 135895,
22426, {f: 2, c: 22429}, 22440, 22487, 135933, 22476, 135990, 136004,
22494, 22512, 13898, 22520, 22523, 22525, 22532, 22558, 22567, 22585,
136132, 22601, 22604, 22631, {f: 2, c: 22666}, 22669, {f: 2, c: 22671},
22676, 22685, 22698, 22705, 136301, 22723, 22733, 22754, {f: 2, c: 22771},
{f: 2, c: 22789}, 22797, 22804, 136663, 13969, 22845, 13977, 22854, 13974,
158761, 22879, 136775, {f: 2, c: 22901}, 22908, 22943, 22958, 22972, 22984,
22989, 23006, 23015, 23022, 136966, 137026, 14031, 23053, 23063, 23079,
23085, 23141, 23162, 23179, 23196, {f: 2, c: 23199}, 23202, 23217, 23221,
23226, 23231, 23258, 23260, 23269, 23280, 23278, 23285, 23304, 23319,
23348, 23372, 23378, 23400, 23407, 23425, 23428, 137667, 23446, 23468,
{f: 2, c: 14177}, 23502, 23510, 14188, 14187, 23537, 23549, 14197, 23555,
23593, 138326, 23647, {f: 2, c: 23655}, 23664, 138541, 138565, 138616,
138594, 23688, 23690, 14273, 138657, 138652, 23712, 23714, 23719, 138642,
23725, 23733, 138679, 23753, 138720, 138803, 23814, 23824, 23851, 23837,
23840, 23857, 23865, 14312, 23905, 23914, 14324, 23920, 139038, 14333,
23944, 14336, 23959, 23984, 23988, 139126, 24017, 24023, 139258, 24036,
24041, 14383, 14390, 14400, 24095, 24126, 24137, 14428, 24150, 14433,
{f: 2, c: 24173}, 139643, 24229, 24236, 24249, 24262, 24281, 140062, 24317,
24328, 140205, 24350, 24391, 24419, 24434, 24446, 24463, 24482, 24519,
24523, {f: 3, c: 24530}, 24546, {f: 2, c: 24558}, 24563, 14615, 24610,
24612, 14618, 24652, 24725, 24744, 141043, 24753, 24766, 24776, 24793,
24814, 24821, 24848, 24857, 24862, 24890, 14703, 24897, 24902, 24928,
141403, {f: 2, c: 24978}, 24983, 24997, 25005, 141483, 25045, 25053, 25077,
141711, 25123, 25170, 25185, 25188, 25211, 25197, 25203, 25241, 25301,
142008, 25341, 25347, 25360, {f: 2, c: 142159}, 25394, 25397,
{f: 2, c: 25403}, 25409, 25412, 25422, 142150, 25433, 142365, 142246,
25452, 25497, 142372, 25492, 25533, {f: 2, c: 25556}, 25568,
{f: 2, c: 25579}, 25586, 25630, 25637, 25641, 25647, 25690, 25693, 25715,
25725, 25735, 25745, 25759, {f: 2, c: 25803}, 25813, 25815, 142817, 25828,
25855, 14958, 25871, 25876, 14963, 25886, 25906, 25924, 25940, 25963,

25978, 25988, 25994, 26034, 26037, 26040, 26047, 26057, 26068, 15062,
26105, 26108, 26116, 26120, 26145, 26154, 26181, 26193, 26190, 15082,
143811, 143861, 143798, 26218, {f: 2, c: 26220}, 26235, 26240, 26256,
26258, 15118, 26285, 26289, 26293, 15130, 15132, 15063, 26369, 26386,
144242, 26393, 144339, 144338, 26445, 26452, 26461, 144336, 144356, 144341,
26484, 144346, 26514, 144351, 33635, 26640, 26563, 26568, 26578, 26587,
26615, 144458, 144465, 144459, 26648, 26655, 26669, 144485, 26675, 26683,
26686, 26693, 26697, 26700, 26709, 26711, 15223, 26731, 26734, 26748,
26754, 26768, 26774, 15213, {f: 3, c: 26776}, 26780, {f: 2, c: 26794},
26804, 26811, 26875, 144612, 144730, 26819, 26821, 26828, 26841,
{f: 2, c: 26852}, 26860, 26871, 26883, 26887, 15239, 144788, 15245, 26950,
26985, 26988, 27002, 27026, 15268, 27030, 27056, 27066, 27068, 27072,
27089, 144953, 144967, 144952, 27107, {f: 2, c: 27118}, 27123, 15309,
27124, 27134, 27153, 27162, 27165, 145180, {f: 2, c: 27186}, 27199, 27209,
27258, 27214, 27218, 27236, 145164, 27275, 15344, 27297, 145252, 27307,
27325, 27334, 27348, 27344, 27357, 145407, 145383, {f: 3, c: 27377}, 27389,
145444, 27403, {f: 3, c: 27407}, 145469, 27415, 15398, 27439, 27466, 27480,
27500, 27509, [11934, 27514], 27521, 27547, 27566, 146072, 27581,
{f: 3, c: 27591}, 27610, {f: 2, c: 27622}, 27630, 27650, 27658, 27662,
27702, 146559, 27725, 27739, 27757, 27780, 27785, 15555, 27796, 27799,
27821, 27842, 15570, 27868, 27881, 27885, 146688, 27904, 27940,
{f: 2, c: 27942}, 27751, 27951, 27964, 27995, 28000, 28016,
{f: 2, c: 28032}, 28042, 28045, 28049, 28056, 146752, 146938, 146937,
146899, 28075, 28078, 28084, 28098, 27956, 28104, 28110, 28127, 28150,
28214, 28190, 15633, 28210, {f: 2, c: 28232}, {f: 2, c: 28235}, 28239,
{f: 2, c: 28243}, 28247, 28259, 15646, 28307, 28327, 28340, 28355, 28469,
28395, 28409, 28411, 28426, 28428, 28440, 28453, 28470, 28476, 147326,
28498, 28503, 28512, 28520, 28560, 28566, 28606, 28575, 28581, 28591,
15716, {f: 2, c: 28616}, 28649, 147606, 28668, 28672, 28682, 28707, 147715,
28730, 28739, 28743, 28747, 15770, 28773, 28777, 28782, 28790, 28806,
28823, 147910, 28831, 28849, 147966, 28908, 28874, 28881, 28931, 28934,
28936, 28940, 15808, 28975, 29008, 29011, 29022, 15828, 29078, 29056,
29083, 29088, 29090, {f: 2, c: 29102}, 148412, 29145, 29148, 29191, 15877,
29236, 29241, 29250, 29271, 29283, 149033, {f: 2, c: 29294}, 29304, 29311,
29326, 149157, 29358, 29360, 29377, 15968, 29388, 15974, 15976, 29427,
29434, 29447, 29458, {f: 2, c: 29464}, 16003, 29497, 29484, 29491, 29501,
29522, 16020, 29547, 149654, {f: 2, c: 29550}, 29553, 29569, 29578, 29588,
29592, 29596, 29605, 29625, 29631, 29637, 29643, 29665, 29671, 29689,
29715, 29690, 29697, 29779, 29760, 29763, 29778, 29789, 29825, 29832,
150093, 29842, 29847, 29849, 29857, 29861, 29866, 29881, 29883, 29882,
29910, 29912, 29931, 150358, 29946, 150383, 29984, 29988, 29994, 16215,
150550, {f: 2, c: 30013}, 30016, 30024, 30032, 30034, 30066, 30065, 30074,
{f: 2, c: 30077}, 30092, 16245, 30114, 16247, 30128, 30135,
{f: 2, c: 30143}, 30150, 30159, 30163, 30173, {f: 2, c: 30175}, 30183,
30190, 30193, 30211, 30232, 30215, 30223, 16302, 151054, 30227,
{f: 2, c: 30235}, 151095, 30245, 30248, 30268, 30259, 151146, 16329, 30273,
151179, 30281, 30293, 16343, 30318, 30357, 30369, 30368, {f: 2, c: 30375},
30383, 151626, 30409, 151637, 30440, 151842, 30487, 30490, 30509, 30517,
151977, 16441, 152037, 152013, 30552, 152094, 30588, 152140, 16472, 30618,
30623, 30626, 30628, {f: 2, c: 30686}, 30692, 30698, 30700, 30715, 152622,
30725, 30729, 30733, 30745, 30764, 30791, 30826, 152793, 30858, 30868,
30884, 30877, 30879, 30907, 30933, 30950, {f: 2, c: 30969}, 30974, 152999,
30992, 31003, 31013, 31050, 31064, 16645, 31079, 31090, 31125, 31137,
31145, 31156, 31170, 31175, {f: 2, c: 31180}, 31190, 16712, 153513, 153524,
16719, 31242, 31253, 31259, 16739, 31288, 31303, 31318, 31321, 31324,
31327, 31335, 31338, 31349, 31362, 31370, 31376, 31404, 154068, 16820,
31417, 31422, 16831, 31436, 31464, 31476, 154340, 154339, 154353, 31549,
31530, {f: 2, c: 31534}, 16870, 16883, 31615, 31553, 16878, 31573, 31609,
31588, 31590, 31603, 154546, 16903, 31632, 31643, 16910, 31669, 31676,
31685, 31690, 154699, 154724, 31700, 31702, 31706, 31722, 31728, 31747,

31758, 31813, 31818, 31831, 31838, 31841, 31849, 31855, 155182, 155222,
155237, 31910, 155234, {f: 2, c: 31926}, 155352, 31940, 155330, 31949,
155368, 155427, 31974, 155484, 31989, 32003, 17094, 32018, 32030, 155616,
155604, {f: 2, c: 32061}, 32064, 32071, 155660, 155643, 17110, 32090,
32106, 32112, 17117, 32127, 155671, 32136, 32151, 155744, 32157, 32167,
32170, 32182, 32192, 32215, 32217, 32230, 17154, 155885, 64088, 32272,
32279, 32285, 32295, 32300, 32325, 32373, 32382, {f: 2, c: 32390}, 17195,
32410, 17219, 32572, 32571, 32574, 32579, 13505, 156272, 156294,
{f: 2, c: 32611}, 32621, {f: 2, c: 32637}, 32656, 20859, 146702, 32662,
32668, 32685, 156674, 32707, 32719, 32739, 32754, 32778, 32776, 32790,
32812, 32816, 32835, 32870, 32891, 32921, 32924, 32932, 32935, 32952,
157310, 32965, 32981, 32998, 33037, 33013, 33019, 17390, 33077, 33054,
17392, 33060, 33063, 33068, 157469, 33085, 17416, 33129, 17431, 17436,
33157, 17442, 33176, 33202, 33217, 33219, 33238, 33243, 157917, 33252,
157930, 33260, 33277, 33279, 158063, 33284, 158173, 33305, 33314, 158238,
33340, 33353, 33349, 158296, 17526, 17530, 33367, 158348, 33372, 33379,
158391, 17553, 33405, 33407, 33411, 33418, 33427, {f: 2, c: 33447}, 33458,
33460, 33466, 33468, 33506, 33512, 33527, {f: 2, c: 33543}, 33548, 33620,
33563, 33565, 33584, 33596, 33604, 33623, 17598, 17620, 17587,
{f: 2, c: 33684}, 33691, 33693, 33737, 33744, 33748, 33757, 33765, 33785,
33813, 158835, 33815, 33849, 33871, {f: 2, c: 33873}, {f: 2, c: 33881},
33884, 158941, 33893, 33912, 33916, 33921, 17677, 33943, 33958, 33982,
17672, {f: 2, c: 33998}, 34003, 159333, 34023, 34026, 34031, 34033, 34042,
34075, {f: 2, c: 34084}, 34091, 34127, 34159, 17731, 34129,
{f: 2, c: 34145}, 159636, 34171, 34173, 34175, 34177, 34182, 34195, 34205,
34207, 159736, {f: 2, c: 159734}, 34236, 34247, 34250, {f: 2, c: 34264},
34271, 34273, 34278, 34294, 34304, 34321, 34334, 34337, 34340, 34343,
160013, 34361, 34364, 160057, 34368, 34387, 34390, 34423, 34439, 34441,
{f: 2, c: 34460}, 34481, 34483, 34497, 34499, 34513, 34517, 34519, 34531,
34534, 17848, 34565, 34567, 34574, 34576, 34591, 34593, 34595, 34609,
34618, 34624, 34627, 34641, 34648, {f: 2, c: 34660}, 34674, 34684, 160731,
160730, 34727, 34697, 34699, 34707, 34720, 160766, 17893, 34750, 160784,
34753, 34766, 34783, 160841, 34787, {f: 2, c: 34789}, 34794, 34835, 34856,
34862, 34866, 34876, 17935, 34890, 34904, 161301, 161300, 34921, 161329,
34927, 34976, 35004, 35008, 161427, 35025, 35027, 17985, 35073, 161550,
35127, 161571, 35138, 35141, 35145, 161618, 35170, 35209, 35216, 35231,
35248, 35255, 35288, 35307, 18081, 35315, 35325, 35327, 18095, 35345,
35348, 162181, 35361, 35381, 35390, 35397, 35405, 35416, 35502, 35472,
35511, 35543, 35580, 162436, 35594, 35589, 35597, 35612, 35629, 18188,
35665, 35678, 35702, 35713, 35723, {f: 2, c: 35732}, 35897, 162739, 35901,
162750, 162759, 35909, 35919, 35927, 35945, 35949, 163000, 35987, 35986,
35993, 18276, 35995, 36054, 36053, 163232, 36081, 163344, 36105, 36110,
36296, 36313, 36364, 18429, 36349, 36358, 163978, 36372, 36374,
{f: 2, c: 36385}, 36391, 164027, 18454, 36406, 36409, 36436, 36450, 36461,
36463, 36504, 36510, 36533, 36539, 164482, 18510, 164595, 36608, 36616,
36651, 36672, 36682, 36696, 164876, 36772, 36788, 164949, 36801, 36806,
64036, 36810, 36813, 36819, 36821, 36849, 36853, 36859, 36876, 36919,
165227, 36931, 36957, {f: 2, c: 165320}, 36997, 37004, 37008, 37025, 18613,
37040, 37046, 37059, 37064, 165591, 37084, 37087, 165626, 37110, 37106,
37120, 37099, {f: 2, c: 37118}, 37124, 37126, 37144, 37150, 37175, 37177,
{f: 2, c: 37190}, 37207, 37209, 37236, 37241, 37253, 37299, 37302,
{f: 2, c: 37315}, 166217, 166214, 37356, 37377, {f: 2, c: 37398}, 166251,
37442, 37450, 37462, 37473, 37477, 37480, 166280, {f: 2, c: 37500}, 37503,
37513, 37517, 37527, 37529, 37535, 37547, {f: 2, c: 166330}, 37554,
{f: 2, c: 37567}, 37574, 37582, 37605, 37649, 166430, 166441, 37623, 37673,
166513, 166467, 37713, 37722, 37739, 37745, 37747, 37793, 166553, 166605,
37768, 37771, 37775, 37790, 37877, 166628, 166621, 37873, 37831, 37852,
37863, 37897, {f: 2, c: 37910}, 37883, 37938, 37947, 166849, 166895, 37997,
37999, 38265, 38278, {f: 2, c: 38284}, 167184, 167281, 38344, 167419,
167455, 38444, {f: 2, c: 38451}, 167478, 38460, 38497, 167561, 38530,

167659, 38554, 167730, 18919, 38579, 38586, 38589, 18938, 167928, 38616,
38618, 38621, 18948, 38676, 38691, 18985, 38710, 38721, 38727, 38743,
38747, 38762, 168608, 168625, 38806, 38814, {f: 2, c: 38833}, 38846, 38860,
38865, 38868, 38872, 38881, 38897, 38916, 38925, 38932, 38934, 19132,
169104, {f: 2, c: 38962}, 38949, 38983, 39014, 39083, 39085, 39088, 169423,
39095, {f: 2, c: 39099}, 39106, 39111, 39115, 39137, 39139, 39146,
{f: 2, c: 39152}, 39155, 39176, 19259, 169712, {f: 2, c: 39190}, 169753,
{f: 3, c: 39194}, 169808, 39217, {f: 3, c: 39226}, 39233, 39238, 39246,
39264, 39331, 39334, 39357, 39359, 39363, 39380, 39385, 39390, 170182,
39408, 39417, 39420, 39434, 39441, 39450, 39456, 39473, 39492, 39500,
39512, 19394, 39599, 19402, 39607, 19410, 39609, 170610, 39622, 39632,
39634, 39637, 39648, 39653, 39657, 39692, 39696, 39698, 39702, 39708,
39723, 39741, 19488, 39755, 39779, 39781, {f: 2, c: 39787},
{f: 2, c: 39798}, 39846, 39852, 171483, 39858, 39864, 39870, 39923, 39896,
39901, 39914, 39919, 39918, 171541, 171658, 171593, 39958,
{f: 3, c: 39960}, 39965, 39970, 39977, 171716, 39985, 39991, 40005, 40028,
171753, {f: 2, c: 40009}, 171739, 40020, 40024, 40027, 40029, 40031,
{f: 3, c: 40041}, {f: 2, c: 40045}, 40050, 40053, 40058, 40166, 40178,
40203, [171982, 171991], 40209, {f: 2, c: 40215}, 172079, 19652, 172058,
40242, 19665, 40266, 40287, 40290, 172281, 172162, 40307, {f: 2, c: 40310},
40324, 40345, 40353, 40383, 40373, 40377, 40381, 40393, 40410, 40416,
40419, 19719, 40458, 40450, 40461, 40476, 40571, 139800, 40576, 40581,
40603, 172940, 40637, 173111, 40671, 40703, 40706, 19831, 40707, 40762,
40765, 40774, 40787, 40789, 40792, 173553, 40797, 173570, 40809, 40813,
40816, 173746, 11948, 13844, 14509, 15820, 16348, 17854, 17936, 19326,
19512, 19681, 19980, {f: 2, c: 20003}, 20089, 20211, 20236, 20249, 20267,
20270, 20273, 20356, 20382, 20407, 20484, 20492, 20556, 20575, 20578,
20599, 20622, 20638, 20642, 20675, 20712, 20721, 20734, 20743,
{f: 3, c: 20748}, 20787, 20792, 20852, 20868, 20920, 20922, 20936, 20943,
20945, {f: 2, c: 20947}, 20952, 20959, 20997, 21030, 21032, 21035,
{f: 2, c: 21041}, 21045, 21052, 21082, 21088, 21102, {f: 2, c: 21112},
21130, 21132, 21217, 21225, 21233, 21251, 21265, 21279, 21293, 21298,
21309, 21349, 21357, 21369, 21374, 21396, 21401, 21418, 21423, 21434,
21441, {f: 2, c: 21444}, 21472, 21523, 21546, 21553, {f: 2, c: 21556},
21580, 21671, 21674, 21681, 21691, 21710, 21738, 21756, 21765, 21768,
21781, 21799, 21802, 21814, 21841, 21862, 21903, 21906, 21908, 21924,
21938, 21955, 21958, 21971, 21979, 21996, 21998, 22001, 22006, 22008,
22021, 22029, {f: 2, c: 22033}, 22060, 22069, 22073, 22093, 22100, 22149,
22175, 22182, 22199, 22220, 22223, 22233, 22241, 22251, 22253, 22257,
22279, 22284, {f: 2, c: 22298}, 22301, 22316, 22318, {f: 2, c: 22333},
22367, 22379, 22381, 22394, 22403, 22423, 22446, 22485, 22503, 22541,
22566, 22605, 22607, 22623, 22637, 22655, 22657, 22680, 22716, 22815,
22819, 22873, 22905, 22935, 22959, 22963, 23007, 23025, 23032, 23218,
23224, 23274, 23286, 23323, 23325, 23329, 23352, 23479, 23511, 23520,
23583, 23594, 23596, 23606, 23641, 23644, 23661, 23773, 23809, 23860,
23869, 23897, 23934, 23939, 24007, 24057, 24104, 24114, 24117, 24155,
24168, 24170, 24183, 24192, 24203, 24243, 24253, 24273, {f: 2, c: 24276},
24397, 24492, 24554, 24583, 24649, 24660, 24679, 24763, 24772, 24829,
24842, 24854, 24874, 24886, 24926, 24932, 24955, 24957, 24959, 24989,
25016, 25052, 25058, 25061, 25064, 25092, 25095, 25137, 25145, 25149,
25210, 25232, 25256, 25306, 25332, 25366, 25386, 25398, 25414, 25419,
25427, 25457, 25461, 25471, 25474, 25482, {f: 2, c: 25518}, 25578,
{f: 2, c: 25592}, 25618, 25624, 25632, 25636, 25642, 25653, 25661, 25663,
25682, 25695, 25716, 25744, {f: 2, c: 25752}, 25772, 25779, 25837, 25840,
25883, 25887, 25902, 25929, 25952, 26002, 26005, 26036, 26046, 26056,
26062, 26064, 26079, 26238, {f: 2, c: 26251}, 26291, 26304, 26319, 26405,
26421, 26453, 26496, 26511, 26513, 26532, 26545, 26549, 26558, 26664,
26758, 26859, 26869, 26903, 26931, 26936, 26971, 26981, 27048, 27051,
27055, 27109, 27121, 27210, 27221, 27239, 27249, 27311, {f: 2, c: 27336},
27395, 27451, 27455, {f: 2, c: 27517}, 27568, 27639, 27641, 27652, 27657,

27661, 27692, 27722, 27730, 27732, 27769, 27820, 27828, 27858, 28001,
28028, 28089, 28144, 28229, 28275, 28283, 28285, 28297, 28348,
{f: 2, c: 28378}, 28454, 28457, 28464, 28551, 28573, 28590, 28599, 28685,
28704, 28745, 28824, 28848, {f: 2, c: 28885}, 28997, 29106, 29172, 29207,
29215, 29251, {f: 2, c: 29263}, 29274, 29280, 29288, 29303, 29316, 29385,
29413, 29428, 29442, 29451, 29470, 29474, {f: 2, c: 29498}, 29517, 29528,
29543, 29810, 29871, 29919, 29924, 29940, 29947, 29974, 29985, 30015,
30046, 30105, 30116, 30145, 30148, 30156, 30167, 30172, 30177, 30191,
30212, 30220, 30237, 30258, 30264, 30277, 30282, 30303, 30381, 30397,
30425, 30443, 30448, 30457, 30464, 30478, 30498, 30504, 30511, 30521,
30526, 30533, 30538, 30543, 30558, 30564, 30567, 30572, 30596,
{f: 2, c: 30604}, 30614, 30631, 30639, 30647, 30654, 30665, 30673, 30681,
30705, 30775, 30812, 30846, 30872, 30881, 30897, 30899, 30921, 30931,
30988, 31007, {f: 2, c: 31015}, 31039, 31042, 31060, 31083, 31100, 31147,
31172, 31210, 31234, 31244, 31280, 31290, 31300, 31360, 31366, 31380,
31413, 31421, 31486, 31531, 31607, 31648, 31660, 31664, 31720, 31730,
31736, 31740, 31742, 31753, 31784, 31791, 31810, {f: 2, c: 31826},
{f: 3, c: 31835}, 31858, 31869, 31879, 31902, 31930, 31943, 31955, 31962,
32060, 32077, 32130, 32133, 32141, 32145, 32158, 32179, 32185, 32208,
32229, {f: 2, c: 32245}, 32303, 32310, 32324, 32367, 32376, 32385, 32573,
32603, 32605, 32613, 32625, {f: 2, c: 32639}, 32651, 32674,
{f: 3, c: 32765}, 32775, 32781, 32798, 32825, 32904, 32910, 32975, 32980,
33005, 33008, 33015, 33018, 33022, 33027, 33047, 33072, 33111, 33135,
33139, 33163, 33168, 33179, 33182, 33227, 33237, {f: 2, c: 33245}, 33249,
33263, 33270, 33280, 33291, {f: 2, c: 33299}, 33306, 33338, 33348, 33389,
33412, 33417, 33425, 33450, 33456, 33488, 33514, 33519, 33526, 33622,
33656, 33784, 33788, 33880, 33939, 33969, 33981, 34043, 34118, 34134,
34141, 34181, 34200, 34370, 34374, 34496, 34580, 34594, 34606, 34617,
34653, 34683, 34700, 34702, {f: 2, c: 34711}, 34718, 34723, 34734, 34751,
34761, 34778, 34840, 34843, 34861, 34874, 34885, 34891, 34894, 34901,
34906, 34926, {f: 3, c: 34970}, 35021, 35040, 35055, {f: 2, c: 35086},
35110, 35125, 35162, 35164, 35179, 35184, 35196, 35237, 35253, 35260,
35285, 35401, 35415, 35431, 35454, 35462, 35478, 35510, 35529, 35537,
35549, 35564, 35573, 35590, 35599, 35601, 35653, 35666, 35693, 35704,
35708, 35710, 35717, 35743, 35915, 35923, 35963, 36026, 36037, 36041,
36050, 36076, 36085, 36087, 36097, 36099, 36119, 36124, 36206, 36241,
36255, 36267, 36274, 36309, 36327, {f: 2, c: 36337}, 36340, 36353, 36363,
36390, 36401, {f: 2, c: 36416}, 36429, 36431, 36444, 36449, 36457, 36465,
36469, 36471, 36489, 36496, 36501, 36506, 36519, 36521, 36525, 36584,
36592, 36615, 36632, 36645, 36647, 36652, 36661, 36666, 36675, 36679,
36689, 36693, {f: 3, c: 36768}, 36773, 36868, 36891, 36911, 36940, 36955,
36976, 36980, 36985, 37003, 37016, 37024, 37042, 37053, 37065, 37104,
37125, 37157, 37210, 37223, 37242, 37258, 37265, 37269, 37296, 37307,
37309, 37314, 37317, 37376, 37385, 37411, 37494, 37518, 37551,
{f: 2, c: 37563}, 37569, 37571, 37573, 37576, 37652, 37683, 37686, 37720,
37759, 37762, 37770, 37819, 37836, 37862, 37881, 37890, {f: 2, c: 37901},
37934, 37964, 38280, 38305, 38335, 38342, 38345, {f: 2, c: 38353}, 38368,
38372, 38374, 38436, 38449, 38456, 38461, 38484, 38516, 38523, 38527,
38529, 38531, 38537, 38550, 38574, 38659, 38683, {f: 2, c: 38689}, 38696,
38705, 38759, 38774, 38781, 38783, 38809, 38815, 38828, 38841, 38861,
38880, 38895, 38919, 38950, 38958, {f: 2, c: 39010}, 39092, 39109, 39170,
39185, 39189, 39221, 39240, 39252, 39262, 39393, 39436, 39440, 39459,
39489, 39505, {f: 2, c: 39613}, 39681, 39689, 39691, {f: 2, c: 39693},
39705, 39733, 39752, 39765, 39784, 39808, 39814, 39824, 39837, 39856,
39871, 39880, 39935, 39938, 39964, 39989, 40004, 40022, 40033, 40040,
40240, 40253, 40298, 40315, 40421, 40425, 40435, 40570, {f: 3, c: 40578},
40624, 40676, 40688, 40690, 40713, 40719, 40724, 40731, 40738, 40742,
{f: 2, c: 40746}, 40756, 40794, 40815, 40862, 40869, 131317, 151044,
151538, 163187, 194581, 194630, 194713, 194726, 194789, 195038, 13790,
{s: 4}, 172722, 0, 0, 131416, {s: 4}, 132529, 0, 0, 132844, {s: 6}, 134488,

{s: 21}, 154060, {s: 9}, 14756, 14776, 142914, 0, 0, 14940, 0, 0, 143339,
0, 0, 162228, 0, 15044, 15051, {s: 5}, 14981, {s: 8}, 15347, 27384, {s: 5},
15665, {s: 9}, 147531, 0, 15936, 14497, {s: 34}, 158878, {s: 12}, 18207,
162876, {s: 4}, 18462, {s: 71}, 39709, 39724, 20482, 20958, 21255, 23532,
63784, 26142, 63785, 28746, 64021, 21857, 27706, 31328, 156492, 34819,
38315, 38741, 171581, 173594],
'Adobe-Korea1': [{f: 95, c: 32}, 8361, 8208, 169, 0, 0, [12288, 12644],
{f: 2, c: 12289}, 12539, 8229, [8230, 8943], 168, 12291, {f: 2, c: 8211},
8214, 65340, 65374, {f: 2, c: 8216}, {f: 2, c: 8220}, {f: 2, c: 12308},
{f: 10, c: 12296}, 177, 215, 247, 8800, {f: 2, c: 8804}, 8734, 8756, 176,
{f: 2, c: 8242}, 8451, 8491, {f: 2, c: 65504}, 65509, 9794, 9792, 8736,
8869, 8978, 8706, 8711, 8801, 8786, 167, 8251, 9734, 9733, 9675, 9679,
9678, 9671, 9670, 9633, 9632, 9651, 9650, 9661, 9660, 8594,
{f: 2, c: 8592}, {f: 2, c: 8595}, 12307, 171, 187, 8730, 8765, 8733, 8757,
{f: 2, c: 8747}, 8712, 8715, {f: 2, c: 8838}, {f: 2, c: 8834}, 8746, 8745,
{f: 2, c: 8743}, 65506, 8658, 8660, 8704, 8707, 180, 732, 711, 728, 733,
730, 729, 184, 731, 161, 191, 8758, 8750, 8721, 8719, 164, 8457, 8240,
9665, 9664, 9655, 9654, 9828, {f: 2, c: 9824}, 9829, 9831, 9827, 9673,
9672, 9635, {f: 2, c: 9680}, 9618, {f: 2, c: 9636}, 9640, 9639, 9638, 9641,
9832, 9743, 9742, 9756, 9758, 182, {f: 2, c: 8224}, 8597, 8599, 8601, 8598,
8600, 9837, {f: 2, c: 9833}, 9836, 12927, 12828, 8470, 13255, 8482, 13250,
13272, 8481, {f: 59, c: 65281}, 65510, {f: 33, c: 65341}, 65507,
{f: 51, c: 12593}, {f: 42, c: 12645}, {f: 10, c: 8560}, {f: 10, c: 8544},
{f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945}, {f: 7, c: 963}, 9472,
9474, 9484, 9488, 9496, 9492, 9500, 9516, 9508, 9524, 9532, 9473, 9475,
9487, 9491, 9499, 9495, 9507, 9523, 9515, 9531, 9547, 9504, 9519, 9512,
9527, 9535, 9501, 9520, 9509, 9528, 9538, 9490, 9489, 9498, 9497, 9494,
9493, 9486, 9485, {f: 2, c: 9502}, {f: 2, c: 9505}, {f: 2, c: 9510},
{f: 2, c: 9513}, {f: 2, c: 9517}, {f: 2, c: 9521}, {f: 2, c: 9525},
{f: 2, c: 9529}, {f: 2, c: 9533}, {f: 2, c: 9536}, {f: 8, c: 9539},
{f: 3, c: 13205}, 8467, 13208, 13252, {f: 4, c: 13219}, {f: 10, c: 13209},
13258, {f: 3, c: 13197}, 13263, {f: 2, c: 13192}, 13256, {f: 2, c: 13223},
{f: 10, c: 13232}, {f: 5, c: 13184}, {f: 6, c: 13242}, {f: 5, c: 13200},
8486, {f: 2, c: 13248}, {f: 3, c: 13194}, 13270, 13253, {f: 3, c: 13229},
13275, {f: 4, c: 13225}, 13277, 13264, 13267, 13251, 13257, 13276, 13254,
198, 208, 170, 294, 306, 319, 321, 216, 338, 186, 222, 358, 330,
{f: 28, c: 12896}, {f: 26, c: 9424}, {f: 15, c: 9312}, 189,
{f: 2, c: 8531}, 188, 190, {f: 4, c: 8539}, 230, 273, 240, 295, 305, 307,
312, 320, 322, 248, 339, 223, 254, 359, 331, 329, {f: 28, c: 12800},
{f: 26, c: 9372}, {f: 15, c: 9332}, 185, {f: 2, c: 178}, 8308, 8319,
{f: 4, c: 8321}, {f: 83, c: 12353}, {f: 86, c: 12449}, {f: 6, c: 1040},
1025, {f: 32, c: 1046}, 1105, {f: 26, c: 1078}, {f: 2, c: 44032}, 44036,
{f: 4, c: 44039}, {f: 8, c: 44048}, {f: 5, c: 44057}, 44064, 44068,
{f: 2, c: 44076}, {f: 3, c: 44079}, {f: 2, c: 44088}, 44092, 44096, 44107,
44109, 44116, 44120, 44124, {f: 2, c: 44144}, 44148, {f: 2, c: 44151},
44154, {f: 2, c: 44160}, {f: 4, c: 44163}, {f: 4, c: 44169}, 44176, 44180,
{f: 2, c: 44188}, {f: 3, c: 44191}, {f: 3, c: 44200}, 44204,
{f: 2, c: 44207}, {f: 2, c: 44216}, {f: 3, c: 44219}, 44225, 44228, 44232,
44236, 44245, 44247, {f: 2, c: 44256}, 44260, {f: 2, c: 44263}, 44266,
44268, {f: 3, c: 44271}, 44275, {f: 2, c: 44277}, {f: 2, c: 44284}, 44288,
44292, 44294, {f: 2, c: 44300}, 44303, 44305, 44312, 44316, 44320, 44329,
{f: 2, c: 44332}, {f: 2, c: 44340}, 44344, 44348, {f: 2, c: 44356}, 44359,
44361, 44368, 44372, 44376, 44385, 44387, {f: 2, c: 44396}, 44400,
{f: 4, c: 44403}, {f: 3, c: 44411}, 44415, {f: 2, c: 44417},
{f: 2, c: 44424}, 44428, 44432, {f: 2, c: 44444}, 44452, 44471,
{f: 2, c: 44480}, 44484, 44488, {f: 2, c: 44496}, 44499, 44508, 44512,
44516, {f: 2, c: 44536}, 44540, {f: 3, c: 44543}, {f: 2, c: 44552}, 44555,
44557, 44564, {f: 2, c: 44592}, 44596, {f: 2, c: 44599}, 44602,
{f: 2, c: 44608}, 44611, {f: 2, c: 44613}, 44618, {f: 3, c: 44620}, 44624,
44628, 44630, {f: 2, c: 44636}, {f: 3, c: 44639}, 44645, {f: 2, c: 44648},

44652,
{f: 3,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
{f: 3,
{f: 2,
45076,
45134,
45188,
{f: 4,
{f: 3,
{f: 2,
{f: 2,
{f: 3,
{f: 3,
{f: 2,
45442,
45480,
45548,
{f: 2,
45656,
{f: 2,
{f: 2,
{f: 2,
45794,
{f: 5,
{f: 3,
{f: 2,
{f: 2,
45968,
{f: 2,
46045,
{f: 2,
{f: 2,
46252,
{f: 2,
46321,
{f: 4,
{f: 3,
{f: 3,
{f: 2,
{f: 2,
46616,
46756,
{f: 2,
{f: 2,
46948,
46980,
{f: 2,
{f: 2,
{f: 3,
{f: 2,
47172,
47215,
{f: 2,
{f: 2,
47384,

44656, {f: 2, c: 44664}, {f: 3, c: 44667}, {f: 2, c: 44676}, 44684,


c: 44732}, 44736, 44740, {f: 2, c: 44748}, {f: 3, c: 44751},
c: 44760}, 44764, 44776, 44779, 44781, 44788, 44792, 44796,
c: 44807}, 44813, 44816, {f: 2, c: 44844}, 44848, 44850, 44852,
c: 44860}, 44863, {f: 3, c: 44865}, {f: 2, c: 44872}, 44880,
c: 44892}, {f: 2, c: 44900}, 44921, 44928, 44932, 44936,
c: 44944}, 44949, 44956, {f: 2, c: 44984}, 44988, 44992,
c: 44999}, 45003, {f: 2, c: 45005}, 45012, 45020, {f: 2, c: 45032},
c: 45040}, 45044, 45048, {f: 2, c: 45056}, 45060, 45068, 45072,
{f: 2, c: 45084}, 45096, {f: 2, c: 45124}, 45128, 45130, 45132,
{f: 3, c: 45139}, 45143, 45145, 45149, {f: 2, c: 45180}, 45184,
{f: 2, c: 45196}, 45199, 45201, {f: 3, c: 45208}, 45212,
c: 45215}, {f: 2, c: 45224}, {f: 5, c: 45227}, 45233,
c: 45235}, 45240, 45244, {f: 2, c: 45252}, {f: 3, c: 45255},
c: 45264}, 45268, 45272, 45280, 45285, {f: 2, c: 45320},
c: 45323}, 45328, {f: 2, c: 45330}, {f: 2, c: 45336},
c: 45339}, {f: 3, c: 45347}, 45352, 45356, {f: 2, c: 45364},
c: 45367}, {f: 2, c: 45376}, 45380, 45384, {f: 2, c: 45392},
c: 45396}, 45400, 45404, 45408, {f: 2, c: 45432}, 45436, 45440,
{f: 2, c: 45448}, 45451, 45453, {f: 3, c: 45458}, 45464, 45468,
45516, 45520, 45524, {f: 2, c: 45532}, 45535, {f: 2, c: 45544},
45552, 45561, 45563, 45565, {f: 2, c: 45572}, 45576,
c: 45579}, {f: 2, c: 45588}, 45591, 45593, 45600, 45620, 45628,
45660, 45664, {f: 2, c: 45672}, {f: 2, c: 45684}, 45692,
c: 45700}, 45705, {f: 2, c: 45712}, 45716, {f: 3, c: 45720},
c: 45728}, 45731, {f: 2, c: 45733}, 45738, 45740, 45744, 45748,
c: 45768}, 45772, 45776, 45778, {f: 2, c: 45784}, 45787, 45789,
{f: 3, c: 45796}, 45800, {f: 5, c: 45803}, {f: 3, c: 45811},
c: 45815}, {f: 3, c: 45823}, 45828, 45832, {f: 2, c: 45840},
c: 45843}, 45852, {f: 3, c: 45908}, 45912, {f: 2, c: 45915},
c: 45918}, {f: 2, c: 45924}, 45927, 45929, 45931, 45934,
c: 45936}, 45940, 45944, {f: 2, c: 45952}, {f: 3, c: 45955}, 45964,
45972, {f: 2, c: 45984}, 45992, 45996, {f: 2, c: 46020}, 46024,
c: 46027}, 46030, 46032, {f: 2, c: 46036}, 46039, 46041, 46043,
46048, 46052, 46056, 46076, 46096, 46104, 46108, 46112,
c: 46120}, 46123, 46132, {f: 2, c: 46160}, 46164, 46168,
c: 46176}, 46179, 46181, 46188, 46208, 46216, 46237, 46244, 46248,
46261, 46263, 46265, 46272, 46276, 46280, 46288, 46293,
c: 46300}, 46304, {f: 2, c: 46307}, 46310, {f: 2, c: 46316}, 46319,
46328, {f: 2, c: 46356}, 46360, {f: 2, c: 46363}, {f: 2, c: 46372},
c: 46375}, {f: 2, c: 46384}, 46388, 46392, {f: 2, c: 46400},
c: 46403}, {f: 3, c: 46411}, 46416, 46420, {f: 2, c: 46428},
c: 46431}, {f: 2, c: 46496}, 46500, 46504, {f: 2, c: 46506},
c: 46512}, {f: 3, c: 46515}, {f: 3, c: 46523}, 46528, 46532,
c: 46540}, {f: 3, c: 46543}, 46552, 46572, {f: 2, c: 46608}, 46612,
46629, 46636, 46644, 46664, 46692, 46696, {f: 2, c: 46748}, 46752,
{f: 2, c: 46763}, 46769, 46804, 46832, 46836, 46840,
c: 46848}, 46853, {f: 2, c: 46888}, 46892, {f: 2, c: 46895},
c: 46904}, 46907, 46916, 46920, 46924, {f: 2, c: 46932}, 46944,
46952, {f: 2, c: 46960}, 46963, 46965, {f: 2, c: 46972}, 46976,
{f: 2, c: 46988}, {f: 4, c: 46991}, {f: 4, c: 46998}, 47004, 47008,
c: 47016}, {f: 3, c: 47019}, {f: 2, c: 47028}, 47032, 47047, 47049,
c: 47084}, 47088, 47092, {f: 2, c: 47100}, {f: 3, c: 47103},
c: 47111}, 47116, 47120, {f: 2, c: 47128}, 47131, 47133,
c: 47140}, 47144, 47148, {f: 2, c: 47156}, {f: 3, c: 47159}, 47168,
47185, 47187, {f: 2, c: 47196}, 47200, 47204, {f: 2, c: 47212},
47217, 47224, 47228, 47245, 47272, 47280, 47284, 47288,
c: 47296}, 47299, 47301, 47308, 47312, 47316, 47325, 47327, 47329,
c: 47336}, 47340, 47344, {f: 2, c: 47352}, 47355, 47357, 47364,
47392, {f: 2, c: 47420}, 47424, 47428, 47436, 47439, 47441,

{f: 2,
{f: 2,
{f: 2,
47553,
{f: 2,
{f: 4,
47680,
47704,
47736,
47792,
{f: 2,
47904,
{f: 2,
47969,
48055,
{f: 2,
{f: 5,
{f: 2,
{f: 2,
48270,
{f: 2,
48320,
{f: 3,
48404,
{f: 2,
{f: 2,
48568,
48643,
{f: 2,
{f: 3,
{f: 3,
{f: 3,
{f: 2,
{f: 2,
{f: 2,
49108,
{f: 2,
49317,
{f: 2,
{f: 2,
{f: 2,
{f: 5,
{f: 3,
{f: 3,
{f: 3,
49556,
49580,
49636,
{f: 2,
{f: 2,
{f: 2,
49780,
49819,
49847,
49903,
{f: 2,
{f: 2,
50034,
{f: 2,
{f: 2,

c: 47448}, 47452, 47456, {f: 2, c: 47464}, 47467, 47469,


c: 47476}, 47480, 47484, {f: 2, c: 47492}, 47495, {f: 2, c: 47497},
c: 47501}, {f: 2, c: 47532}, 47536, 47540, {f: 2, c: 47548}, 47551,
{f: 2, c: 47560}, 47564, {f: 5, c: 47566}, {f: 2, c: 47576}, 47579,
c: 47581}, 47585, {f: 3, c: 47587}, 47592, 47596, {f: 2, c: 47604},
c: 47607}, {f: 2, c: 47616}, 47624, 47637, {f: 2, c: 47672}, 47676,
47682, {f: 2, c: 47688}, 47691, {f: 2, c: 47693}, {f: 3, c: 47699},
47708, {f: 2, c: 47716}, {f: 3, c: 47719}, {f: 2, c: 47728}, 47732,
{f: 3, c: 47747}, 47751, 47756, {f: 2, c: 47784}, {f: 2, c: 47787},
47794, {f: 2, c: 47800}, 47803, 47805, 47812, 47816,
c: 47832}, 47868, 47872, 47876, 47885, 47887, 47889, 47896, 47900,
47913, 47915, {f: 3, c: 47924}, 47928, {f: 4, c: 47931},
c: 47940}, 47943, 47945, 47949, {f: 2, c: 47951}, 47956, 47960,
47971, 47980, 48008, 48012, 48016, 48036, 48040, 48044, 48052,
48064, 48068, 48072, 48080, 48083, {f: 2, c: 48120}, 48124,
c: 48127}, 48130, {f: 2, c: 48136}, {f: 3, c: 48139}, 48143, 48145,
c: 48148}, {f: 5, c: 48155}, {f: 2, c: 48164}, 48167, 48169, 48173,
c: 48176}, 48180, 48184, {f: 2, c: 48192}, {f: 3, c: 48195}, 48201,
c: 48204}, 48208, 48221, {f: 2, c: 48260}, 48264, {f: 2, c: 48267},
{f: 2, c: 48276}, 48279, {f: 2, c: 48281}, {f: 2, c: 48288}, 48292,
c: 48295}, {f: 2, c: 48304}, {f: 3, c: 48307}, {f: 2, c: 48316},
48324, 48333, {f: 3, c: 48335}, 48341, 48344, 48348,
c: 48372}, 48376, 48380, {f: 2, c: 48388}, 48391, 48393, 48400,
48420, 48428, 48448, {f: 2, c: 48456}, 48460, 48464,
c: 48472}, 48484, 48488, {f: 2, c: 48512}, 48516, {f: 4, c: 48519},
c: 48528}, 48531, 48533, {f: 2, c: 48537}, 48540, 48548, 48560,
{f: 2, c: 48596}, 48600, 48604, 48617, 48624, 48628, 48632, 48640,
48645, {f: 2, c: 48652}, 48656, 48660, {f: 2, c: 48668}, 48671,
c: 48708}, 48712, 48716, 48718, {f: 2, c: 48724}, 48727,
c: 48729}, {f: 2, c: 48736}, 48740, 48744, 48746, {f: 2, c: 48752},
c: 48755}, {f: 3, c: 48763}, 48768, 48772, {f: 2, c: 48780},
c: 48783}, {f: 2, c: 48792}, 48808, {f: 2, c: 48848}, 48852,
c: 48855}, 48864, {f: 3, c: 48867}, 48876, 48897, {f: 2, c: 48904},
c: 48920}, {f: 3, c: 48923}, {f: 2, c: 48960}, 48964, 48968,
c: 48976}, 48981, 49044, 49072, 49093, {f: 2, c: 49100}, 49104,
49116, 49119, 49121, 49212, 49233, 49240, 49244, 49248,
c: 49256}, {f: 2, c: 49296}, 49300, 49304, {f: 2, c: 49312}, 49315,
{f: 2, c: 49324}, {f: 2, c: 49327}, {f: 4, c: 49331},
c: 49340}, {f: 3, c: 49343}, 49349, {f: 2, c: 49352}, 49356, 49360,
c: 49368}, {f: 3, c: 49371}, {f: 2, c: 49380}, 49384, 49388,
c: 49396}, 49399, 49401, 49408, 49412, 49416, 49424, 49429,
c: 49436}, {f: 2, c: 49443}, {f: 2, c: 49446}, {f: 2, c: 49452},
c: 49455}, 49462, {f: 2, c: 49464}, 49468, 49472, {f: 2, c: 49480},
c: 49483}, {f: 2, c: 49492}, 49496, 49500, {f: 2, c: 49508},
c: 49511}, 49520, 49524, 49528, 49541, {f: 3, c: 49548}, 49552,
49558, {f: 2, c: 49564}, 49567, 49569, 49573, {f: 2, c: 49576},
49584, 49597, 49604, 49608, 49612, 49620, {f: 2, c: 49623}, 49632,
49640, {f: 2, c: 49648}, 49651, {f: 2, c: 49660}, 49664, 49668,
c: 49676}, 49679, 49681, {f: 2, c: 49688}, 49692, {f: 2, c: 49695},
c: 49704}, 49707, 49709, 49711, {f: 2, c: 49713}, 49716, 49736,
c: 49744}, 49748, 49752, 49760, 49765, {f: 2, c: 49772}, 49776,
{f: 2, c: 49788}, 49791, 49793, {f: 2, c: 49800}, 49808, 49816,
49821, {f: 2, c: 49828}, 49832, {f: 2, c: 49836}, {f: 2, c: 49844},
49849, {f: 2, c: 49884}, 49888, {f: 2, c: 49891}, {f: 3, c: 49899},
49905, 49910, {f: 2, c: 49912}, {f: 2, c: 49915}, 49920,
c: 49928}, {f: 2, c: 49932}, {f: 3, c: 49939}, 49944, 49948,
c: 49956}, {f: 2, c: 49960}, 49989, {f: 2, c: 50024}, 50028, 50032,
{f: 2, c: 50040}, {f: 2, c: 50044}, 50052, 50056, 50060, 50112,
c: 50136}, 50140, {f: 2, c: 50143}, 50146, {f: 2, c: 50152}, 50157,
c: 50164}, 50168, 50184, 50192, 50212, 50220, 50224, 50228,

{f: 2,
50297,
50424,
{f: 2,
{f: 2,
{f: 3,
{f: 2,
{f: 2,
50601,
{f: 7,
{f: 2,
{f: 2,
{f: 2,
{f: 3,
{f: 2,
{f: 2,
50816,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
50967,
50997,
51023,
51064,
{f: 2,
{f: 4,
{f: 3,
51172,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
51359,
{f: 2,
{f: 2,
51480,
51555,
{f: 2,
51658,
{f: 2,
{f: 3,
{f: 3,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
52061,
{f: 2,
{f: 3,
{f: 2,
52324,
{f: 2,
{f: 2,
{f: 2,
52520,
52600,
52649,
52731,
52776,

c: 50236}, 50248, {f: 2, c: 50276}, 50280, 50284, {f: 2, c: 50292},


50304, 50324, 50332, 50360, 50364, 50409, {f: 2, c: 50416}, 50420,
50426, {f: 3, c: 50431}, 50444, 50448, 50452, 50460,
c: 50472}, 50476, 50480, {f: 2, c: 50488}, 50491, 50493,
c: 50500}, {f: 3, c: 50504}, {f: 3, c: 50508}, {f: 3, c: 50515},
c: 50519}, {f: 2, c: 50525}, {f: 2, c: 50528}, 50532, 50536,
c: 50544}, {f: 3, c: 50547}, {f: 2, c: 50556}, 50560, 50564, 50567,
c: 50572}, 50575, 50577, 50581, {f: 2, c: 50583}, 50588, 50592,
{f: 2, c: 50612}, {f: 2, c: 50616}, {f: 4, c: 50619},
c: 50628}, 50636, 50638, {f: 2, c: 50640}, 50644, 50648,
c: 50656}, 50659, 50661, {f: 3, c: 50668}, 50672, 50676,
c: 50678}, {f: 6, c: 50684}, {f: 4, c: 50693}, 50700, 50704,
c: 50712}, {f: 2, c: 50715}, {f: 2, c: 50724}, 50728,
c: 50732}, 50736, {f: 3, c: 50739}, 50743, 50745, 50747,
c: 50752}, 50756, 50760, {f: 2, c: 50768}, {f: 3, c: 50771},
c: 50780}, 50784, 50796, 50799, 50801, {f: 2, c: 50808}, 50812,
{f: 2, c: 50824}, 50827, 50829, {f: 2, c: 50836}, 50840, 50844,
c: 50852}, 50855, 50857, {f: 2, c: 50864}, 50868, {f: 3, c: 50872},
c: 50880}, 50883, 50885, {f: 2, c: 50892}, 50896, 50900,
c: 50908}, {f: 2, c: 50912}, {f: 2, c: 50920}, 50924, 50928,
c: 50936}, 50941, {f: 2, c: 50948}, 50952, 50956, {f: 2, c: 50964},
50969, {f: 2, c: 50976}, 50980, 50984, {f: 2, c: 50992}, 50995,
50999, {f: 2, c: 51004}, 51008, 51012, 51018, {f: 2, c: 51020},
{f: 8, c: 51025}, 51036, 51040, 51048, 51051, {f: 2, c: 51060},
{f: 3, c: 51068}, {f: 3, c: 51075}, {f: 4, c: 51079}, 51086,
c: 51088}, 51092, {f: 3, c: 51094}, 51098, {f: 2, c: 51104},
c: 51107}, {f: 2, c: 51116}, 51120, 51124, {f: 2, c: 51132},
c: 51135}, {f: 2, c: 51144}, 51148, 51150, 51152, 51160, 51165,
51176, 51180, {f: 2, c: 51200}, 51204, 51208, 51210,
c: 51216}, 51219, {f: 2, c: 51221}, {f: 2, c: 51228}, 51232, 51236,
c: 51244}, 51247, 51249, 51256, 51260, 51264, {f: 2, c: 51272},
c: 51276}, 51284, {f: 2, c: 51312}, 51316, 51320, 51322,
c: 51328}, 51331, {f: 3, c: 51333}, {f: 3, c: 51339}, 51348, 51357,
51361, 51368, {f: 2, c: 51388}, 51396, 51400, 51404,
c: 51412}, 51415, 51417, {f: 2, c: 51424}, 51428, 51445,
c: 51452}, 51456, {f: 3, c: 51460}, {f: 2, c: 51468}, 51471, 51473,
51500, 51508, {f: 2, c: 51536}, 51540, 51544, {f: 2, c: 51552},
51564, 51568, 51572, 51580, {f: 2, c: 51592}, 51596, 51600,
c: 51608}, 51611, 51613, {f: 2, c: 51648}, 51652, {f: 2, c: 51655},
{f: 2, c: 51664}, 51667, {f: 2, c: 51669}, {f: 2, c: 51673},
c: 51676}, 51680, 51682, 51684, 51687, {f: 2, c: 51692},
c: 51695}, {f: 2, c: 51704}, 51708, 51712, {f: 2, c: 51720},
c: 51723}, 51732, 51736, 51753, {f: 2, c: 51788}, 51792, 51796,
c: 51804}, {f: 3, c: 51807}, 51816, 51837, 51844, 51864,
c: 51900}, 51904, 51908, {f: 2, c: 51916}, 51919, 51921, 51923,
c: 51928}, 51936, 51948, 51956, 51976, 51984, 51988, 51992,
c: 52000}, 52033, {f: 2, c: 52040}, 52044, 52048, {f: 2, c: 52056},
52068, {f: 2, c: 52088}, 52124, 52152, 52180, 52196, 52199, 52201,
c: 52236}, 52240, 52244, {f: 2, c: 52252}, {f: 2, c: 52257},
c: 52263}, 52268, 52270, 52272, {f: 2, c: 52280}, {f: 4, c: 52283},
c: 52292}, 52296, 52300, {f: 2, c: 52308}, {f: 3, c: 52311}, 52320,
52326, 52328, 52336, 52341, {f: 2, c: 52376}, 52380, 52384,
c: 52392}, {f: 3, c: 52395}, {f: 2, c: 52404}, 52408, 52412,
c: 52420}, 52423, 52425, 52432, 52436, 52452, 52460, 52464, 52481,
c: 52488}, 52492, 52496, {f: 2, c: 52504}, 52507, 52509, 52516,
52524, 52537, 52572, 52576, 52580, {f: 2, c: 52588}, 52591, 52593,
52616, {f: 2, c: 52628}, 52632, 52636, {f: 2, c: 52644}, 52647,
52656, 52676, 52684, 52688, 52712, 52716, 52720, {f: 2, c: 52728},
52733, 52740, 52744, 52748, 52756, 52761, {f: 2, c: 52768}, 52772,
{f: 2, c: 52784}, 52787, 52789, {f: 2, c: 52824}, 52828,

{f: 3,
52860,
{f: 2,
{f: 2,
{f: 3,
53013,
{f: 2,
{f: 2,
53188,
53244,
{f: 2,
{f: 2,
53416,
{f: 2,
53472,
{f: 2,
{f: 2,
53612,
{f: 2,
53767,
53823,
{f: 2,
{f: 2,
53972,
{f: 2,
{f: 2,
{f: 2,
54144,
54176,
{f: 2,
{f: 2,
54301,
54396,
54441,
54523,
{f: 2,
{f: 2,
{f: 2,
54693,
54749,
{f: 2,
54816,
{f: 2,
54887,
54928,
{f: 2,
55016,
{f: 2,
{f: 2,
55124,
55152,
{f: 2,
21621,
29634,
36303,
29647,
23014,
30286,
35563,
34638,

c: 52831}, {f: 2, c: 52840}, 52843, 52845, {f: 2, c: 52852}, 52856,


{f: 2, c: 52868}, 52871, 52873, {f: 2, c: 52880}, 52884, 52888,
c: 52896}, {f: 3, c: 52899}, {f: 2, c: 52908}, 52929,
c: 52964}, 52968, {f: 2, c: 52971}, {f: 2, c: 52980},
c: 52983}, {f: 2, c: 52992}, 52996, 53000, {f: 2, c: 53008}, 53011,
53020, 53024, 53028, {f: 2, c: 53036}, {f: 3, c: 53039}, 53048,
c: 53076}, 53080, 53084, {f: 2, c: 53092}, 53095, 53097,
c: 53104}, 53108, 53112, 53120, 53125, 53132, 53153, 53160, 53168,
{f: 2, c: 53216}, 53220, 53224, {f: 2, c: 53232}, 53235, 53237,
53248, 53252, 53265, 53272, 53293, {f: 2, c: 53300}, 53304, 53308,
c: 53316}, 53319, 53321, 53328, 53332, 53336, 53344,
c: 53356}, 53360, 53364, {f: 2, c: 53372}, 53377, {f: 2, c: 53412},
53420, {f: 2, c: 53428}, 53431, 53433, {f: 2, c: 53440}, 53444,
c: 53448}, {f: 2, c: 53456}, {f: 3, c: 53459}, {f: 2, c: 53468},
53476, {f: 2, c: 53484}, {f: 3, c: 53487}, 53496, 53517,
c: 53552}, 53556, 53560, 53562, {f: 2, c: 53568}, {f: 3, c: 53571},
c: 53580}, 53584, 53588, {f: 2, c: 53596}, 53599, 53601, 53608,
53628, 53636, 53640, {f: 2, c: 53664}, 53668, 53672,
c: 53680}, 53683, 53685, 53690, 53692, 53696, 53720, 53748, 53752,
53769, 53776, {f: 2, c: 53804}, 53808, 53812, {f: 2, c: 53820},
53825, 53832, 53852, 53860, {f: 2, c: 53888}, 53892, 53896,
c: 53904}, 53909, 53916, 53920, 53924, 53932, 53937,
c: 53944}, 53948, {f: 2, c: 53951}, 53954, {f: 2, c: 53960}, 53963,
53976, 53980, {f: 2, c: 53988}, {f: 2, c: 54000}, 54004, 54008,
c: 54016}, 54019, 54021, {f: 3, c: 54028}, 54032, 54036, 54038,
c: 54044}, {f: 3, c: 54047}, 54053, {f: 2, c: 54056}, 54060, 54064,
c: 54072}, {f: 3, c: 54075}, {f: 2, c: 54084}, {f: 2, c: 54140},
54148, {f: 2, c: 54156}, {f: 3, c: 54159}, {f: 2, c: 54168}, 54172,
{f: 2, c: 54184}, 54187, 54189, 54196, 54200, 54204,
c: 54212}, {f: 2, c: 54216}, 54224, 54232, 54241, 54243,
c: 54252}, 54256, 54260, {f: 2, c: 54268}, 54271, 54273, 54280,
54336, 54340, 54364, 54368, 54372, 54381, 54383, {f: 2, c: 54392},
{f: 2, c: 54399}, 54402, {f: 2, c: 54408}, 54411, 54413, 54420,
54476, 54480, 54484, 54492, 54495, 54504, 54508, 54512, 54520,
54525, 54532, 54536, 54540, {f: 2, c: 54548}, 54551,
c: 54588}, 54592, 54596, {f: 2, c: 54604}, 54607, 54609,
c: 54616}, 54620, 54624, 54629, {f: 2, c: 54632}, 54635, 54637,
c: 54644}, 54648, 54652, {f: 2, c: 54660}, {f: 3, c: 54663}, 54672,
{f: 2, c: 54728}, 54732, 54736, 54738, {f: 2, c: 54744}, 54747,
{f: 2, c: 54756}, 54760, 54764, {f: 2, c: 54772}, 54775, 54777,
c: 54784}, 54788, 54792, {f: 2, c: 54800}, {f: 3, c: 54803}, 54812,
54820, 54829, {f: 2, c: 54840}, 54844, 54848, 54853,
c: 54856}, 54859, 54861, 54865, {f: 2, c: 54868}, 54872, 54876,
54889, {f: 2, c: 54896}, 54900, 54915, 54917, {f: 2, c: 54924},
54932, 54941, 54943, 54945, 54952, 54956, 54960, 54969, 54971,
c: 54980}, 54984, 54988, 54993, 54996, 54999, 55001, 55008, 55012,
55024, 55029, {f: 2, c: 55036}, 55040, 55044, 55057,
c: 55064}, 55068, 55072, {f: 2, c: 55080}, 55083, 55085,
c: 55092}, 55096, 55100, 55108, 55111, 55113, {f: 2, c: 55120},
{f: 4, c: 55126}, {f: 2, c: 55136}, 55139, 55141, 55145, 55148,
55156, {f: 2, c: 55164}, 55169, {f: 2, c: 55176}, 55180, 55184,
c: 55192}, 55195, 55197, 20285, 20339, 20551, 20729, 21152, 21487,
21733, 22025, 23233, 23478, 26247, {f: 2, c: 26550}, 26607, 27468,
30146, 31292, 33499, 33540, 34903, 34952, 35382, [36040, 63747],
36603, 36838, 39381, 21051, 21364, 21508, 24682, 24932, 27580,
33050, 35258, [12179, 35282], 38307, 20355, 21002, 22718, 22904,
[12082, 24178], 24185, 25031, 25536, 26438, 26604, 26751, 28567,
30475, 30965, 31240, 31487, 31777, 32925, [12169, 33390], 33393,
38291, 20075, 21917, 26359, 28212, 30883, 31469, 33883, 35088,
38824, 21208, 22350, 22570, 23884, 24863, 25022, 25121, 25954,

26577, 27204, 28187, [12130, 29976], 30131, 30435, 30640, 32058, 37039,
{f: 2, c: 37969}, 40853, 21283, 23724, 30002, 32987, 37440, 38296, 21083,
22536, 23004, 23713, 23831, 24247, 24378, 24394, 24951, 27743, 30074,
30086, 31968, 32115, 32177, 32652, 33108, 33313, 34193, 35137, 35611,
37628, [38477, 64009], 40007, 20171, 20215, 20491, 20977, 22607, 24887,
24894, 24936, 25913, 27114, 28433, 30117, 30342, 30422, 31623, 33445,
33995, 37799, 38283, 21888, 23458, 22353, 31923, 32697, 37301, 20520,
21435, 23621, 24040, 25298, 25454, 25818, 25831, 28192, 28844, 31067,
36317, 36382, 36989, 37445, 37624, 20094, 20214, 20581, [12081, 24062],
24314, 24838, 26967, 33137, 34388, 36423, 37749, 39467, 20062, 20625,
26480, 26688, 20745, 21133, 21138, 27298, 30652, 37392, 40660, 21163,
24623, 36850, 20552, 25001, 25581, 25802, 26684, 27268, 28608, 33160,
35233, 38548, 22533, 29309, [12125, 29356], 29956, 32121, 32365, 32937,
[12178, 35211, 64010], 35700, 36963, 40273, 25225, 27770, 28500, 32080,
32570, 35363, 20860, 24906, 31645, 35609, 37463, 37772, 20140, 20435,
20510, 20670, 20742, 21185, 21197, 21375, 22384, 22659, 24218, 24465,
24950, 25004, 25806, 25964, 26223, 26299, [26356, 63745], 26775, 28039,
28805, 28913, 29855, 29861, 29898, 30169, 30828, 30956, 31455, 31478,
32069, 32147, 32789, 32831, 33051, 33686, 35686, 36629, 36885, 37857,
38915, 38968, 39514, 39912, 20418, 21843, 22586, [22865, 63753], 23395,
23622, 24760, 25106, 26690, 26800, 26856, 28330, 30028, 30328, 30926,
31293, 31995, 32363, 32380, 35336, 35489, 35903, 38542, 40388, 21476,
21481, 21578, 21617, 22266, 22993, 23396, 23611, 24235, 25335, 25911,
25925, 25970, 26272, 26543, 27073, 27837, 30204, 30352, 30590, 31295,
32660, 32771, 32929, 33167, 33510, 33533, 33776, 34241, 34865, 34996,
35493, 36764, 37678, 38599, 39015, [12220, 39640], [12238, 40723], 21741,
26011, 26354, 26767, 31296, [12181, 35895], 40288, 22256, 22372, 23825,
26118, 26801, 26829, 28414, 29736, 34974, 39908, 27752, [12219, 39592],
20379, 20844, 20849, 21151, 23380, [12079, 24037], 24656, 24685, 25329,
25511, 25915, 29657, 31354, 34467, 36002, 38799, [20018, 63749], 23521,
[12093, 25096], 26524, [12128, 29916], 31185, 33747, 35463, 35506, 36328,
36942, 37707, 38982, [24275, 64011], 27112, 34303, 37101, 20896, 23448,
23532, 24931, 26874, 27454, 28748, 29743, 29912, 31649, 32592, 33733,
35264, 36011, 38364, 39208, 21038, 24669, 25324, 36866, 20362, 20809,
21281, 22745, 24291, 26336, 27960, 28826, 29378, 29654, 31568, 33009,
37979, 21350, 25499, 32619, 20054, 20608, 22602, 22750, 24618, 24871,
25296, 27088, 39745, 23439, 32024, 32945, 36703, 20132, 20689, 21676,
21932, 23308, 23968, 24039, 25898, 25934, 26657, 27211, 29409, 30350,
30703, 32094, 32761, 33184, 34126, 34527, 36611, 36686, 37066, 39171,
39509, 39851, 19992, 20037, 20061, 20167, 20465, 20855, 21246, 21312,
[12061, 21475], [21477, 63750], 21646, 22036, 22389, 22434, 23495, 23943,
24272, 25084, 25304, 25937, 26552, 26601, 27083, 27472, 27590, 27628,
27714, 28317, 28792, 29399, 29590, 29699, 30655, 30697, 31350, 32127,
32777, [12165, 33276], 33285, 33290, 33503, 34914, 35635, 36092, 36544,
36881, 37041, 37476, 37558, 39378, 39493, 40169, 40407,
[12244, 40860, 63751, 63752], 22283, 23616, 33738, 38816, 38827, 40628,
21531, 31384, 32676, 35033, 36557, 37089, 22528, 23624, 25496, 31391,
23470, [12088, 24339], 31353, 31406, 33422, 36524, 20518, 21048, 21240,
21367, 22280, 25331, 25458, 27402, 28099, 30519, 21413, 29527, 34152,
36470, 38357, 26426, 27331, 28528, 35437, 36556, 39243, 26231, 27512,
36020, [12225, 39740], 21483, 22317, 22862, 25542, 27131, 29674, 30789,
31418, 31429, 31998, 33909, 35215, 36211, 36917, 38312, 21243, 22343,
30023, 31584, 33740, 37406, 27224, 20811, 21067, 21127, 25119, 26840,
26997, 38553, 20677, 21156, 21220, 25027, [12100, 26020], 26681, 27135,
29822, 31563, 33465, 33771, 35250, 35641, 36817, 39241, 20170, 22935,
25810, 26129, 27278, 29748, 31105, 31165, 33449, {f: 2, c: 34942}, 35167,
37670, 20235, 21450, 24613, 25201, 27762, 32026, 32102, 20120, 20834,
30684, 32943, 20225, 20238, 20854, 20864, 21980, 22120, 22331, 22522,
22524, 22804, 22855, 22931, 23492, 23696, 23822, [12080, 24049], 24190,
24524, 25216, 26071, 26083, {f: 2, c: 26398}, 26462, 26827, 26820, 27231,

27450, 27683, 27773, 27778, 28103, 29592, 29734, 29738, 29826, 29859,
30072, 30079, 30849, 30959, 31041, {f: 2, c: 31047}, 31098, 31637, 32000,
32186, 32648, 32774, 32813, 32908, 35352, 35663, [35912, 63744], 36215,
37665, 37668, 39138, 39249, {f: 2, c: 39438}, 39525, 40594, 32202, 20342,
21513, 25326, 26708, [12198, 37329, 63754], 21931, 20794, 23068, 25062,
[25295, 63835], 25343, 37027, [35582, 63837], 26262, 29014, 38627, 25423,
25466, 21335, 26511, 26976, 28275, 30007, 32013, 34930, 22218, 23064,
20035, 20839, [22856, 63756], 26608, 32784, [12069, 22899, 63873],
[24180, 63886], [25754, 63889], [31178, 63893], [24565, 63907], 24684,
25288, [25467, 63908], [23527, 63839, 63914], 23511, 21162, 22900, 24361,
[24594, 63840], 29785, 39377, 28611, 33215, 36786, 24817, 33126,
[23615, 63933], 23273, 35365, [26491, 63944], [32016, 63951], 33021, 23612,
[27877, 63971], [21311, 63979], [28346, 63980], 22810, [33590, 63998],
[20025, 63838], 20150, 20294, 21934, 22296, 22727, 24406, 26039, 26086,
27264, 27573, 28237, 30701, 31471, 31774, 32222, 34507, 34962, 37170,
37723, 25787, 28606, 29562, 30136, 36948, 21846, 22349, 25018, 25812,
26311, 28129, 28251, 28525, 28601, 30192, 32835, 33213, 34113, 35203,
35527, 35674, 37663, 27795, 30035, 31572, 36367, 36957, 21776, 22530,
22616, 24162, 25095, 25758, 26848, 30070, [31958, 64003], 34739, 40680,
20195, 22408, 22382, [12068, 22823], 23565, 23729, 24118, 24453, 25140,
25825, 29619, 33274, 34955, 36024, 38538, 40667, [23429, 64004], 24503,
24755, 20498, [12049, 20992], 21040, 22294, 22581, 22615, 23566, 23648,
23798, 23947, [24230, 64001], 24466, 24764, 25361, 25481, 25623, 26691,
26873, 27330, 28120, 28193, 28372, 28644, 29182, 30428, 30585, 31153,
31291, 33796, 35241, 36077, 36339, 36424, 36867, 36884, 36947, 37117,
37709, 38518, 38876, 27602, 28678, 29272, 29346, 29544, 30563, 31167,
31716, 32411, [35712, 63834], 22697, 24775, 25958, 26109, 26302, 27788,
28958, 29129, 35930, 38931, 20077, 31361, 20189, 20908, 20941, 21205,
21516, 24999, 26481, 26704, 26847, [27934, 64005], 28540, 30140, 30643,
31461, 33012, 33891, 37509, 20828, [12099, 26007], 26460, 26515, 30168,
31431, 33651, [12182, 35910], 36887, 38957, 23663, 33216, 33434, 36929,
36975, 37389, 24471, 23965, 27225, 29128, 30331, 31561, 34276, 35588,
37159, 39472, [21895, 63755], [25078, 63757], [30313, 63758],
[32645, 63759], [34367, 63760], [34746, 63761], [35064, 63762],
[37007, 63763], [27931, 63765], [28889, 63766], [29662, 63767], 32097,
[33853, 63768], [37226, 63769], [39409, 63770], [20098, 63771],
[21365, 63772], [27396, 63773], 27410, 28734, [29211, 63774],
[34349, 63775], [40478, 63776], 21068, 36771, [23888, 63777], 25829, 25900,
27414, [28651, 63778], 31811, 32412, [34253, 63779], [35172, 63780], 35261,
[25289, 63781], [33240, 63782], [34847, 63783], [24266, 63784],
[26391, 63785], [28010, 63786], [29436, 63787], 29701, 29807, 34690,
[37086, 63788], [20358, 63789], 23821, 24480, 33802, [20919, 63790],
[25504, 63861], [30053, 63862], [20142, 63863], 20486, [20841, 63864],
[20937, 63865], [26753, 63866], 27153, 31918, 31921, [31975, 63867],
[33391, 63868], [35538, 63869], 36635, [37327, 63870], 20406, 20791,
[21237, 63871], [21570, 63872], [24300, 63874], 24942, 25150,
[26053, 63875], 27354, [28670, 63876], [31018, 63877], 34268, 34851,
[38317, 63878], 39522, [39530, 63879], [40599, 63880], [40654, 63881],
[12050, 21147, 63882], [26310, 63883], [27511, 63884], 28701, 31019,
[36706, 63885], 38722, [24976, 63887], [25088, 63888], 25891,
[28451, 63890], [29001, 63891], [29833, 63892], [32244, 63894],
[32879, 63895], [34030, 63897], [36646, 63896], [36899, 63898],
[37706, 63899], 20925, [21015, 63900], [21155, 63901], 27916,
[28872, 63903], [35010, 63904], [24265, 63906], 25986, [27566, 63909],
28610, [31806, 63910], [29557, 63911], [20196, 63912], 20278,
[22265, 63913], 23738, [23994, 63915], [24604, 63916], [29618, 63917],
31533, [32666, 63919], 32718, [32838, 63920], 36894, [37428, 63921],
[38646, 63922], [38728, 63923], [38936, 63924], 40801, [20363, 63925],
28583, [31150, 63926], [37300, 63927], [38583, 63928], [21214, 63791],
25736, [25796, 63792], [27347, 63793], 28510, 28696, [29200, 63794],

[30439, 63795], [12156, 32769, 63796], [34310, 63797], [34396, 63798],


[36335, 63799], 36613, [38706, 63800], [39791, 63801], [40442, 63802],
[12228, 40565], [30860, 63803], [31103, 63804], [32160, 63805],
[33737, 63806], [37636, 63807], [12229, 40575, 63808], 40595,
[35542, 63809], [22751, 63810], [24324, 63811], 26407, 28711, 29903,
[31840, 63812], [32894, 63813], 20769, 28712, [29282, 63814],
[30922, 63815], [36034, 63816], 36058, 36084, [38647, 63817],
[20102, 63930], [20698, 63931], [23534, 63932], 24278, [26009, 63934],
[29134, 63936], [30274, 63937], 30637, 32842, [34044, 63938],
[36988, 63939], 39719, [12243, 40845, 63940], [22744, 63818], 23105,
[23650, 63819], [27155, 63820], [28122, 63821], [28431, 63822], 30267,
[32047, 63823], [32311, 63824], 34078, 35128, 37860, [38475, 63825],
[21129, 63943], 26066, [26611, 63945], 27060, [27969, 63946],
[28316, 63947], 28687, [29705, 63948], 29792, [30041, 63949], 30244,
[30827, 63950], 35628, [39006, 63952], [20845, 63953], [25134, 63954],
[38520, 63955], 20374, [20523, 63956], [23833, 63957], [28138, 63958],
32184, [36650, 63959], [24459, 63960], [24900, 63961], [26647, 63962],
[38534, 63964], [21202, 63826], [32907, 63827], [20956, 63828],
[20940, 63829], 26974, [31260, 63830], [32190, 63831], [33777, 63832],
[38517, 63833], 20442, [21033, 63965], 21400, [21519, 63966], 21774,
[23653, 63967], 24743, [26446, 63969], [26792, 63970], 28012, 29313, 29432,
[29702, 63972], 29827, [30178, 63973], 31852, [32633, 63974], 32696, 33673,
[35023, 63975], [35041, 63976], [12197, 37324, 63977], 37328,
[38626, 63978], 39881, [21533, 63981], 28542, [29136, 63982],
[29848, 63983], [34298, 63984], 36522, [38563, 63985], [40023, 63986],
[40607, 63987], [26519, 63988], [28107, 63989], 29747, [33256, 63990],
38678, 30764, [12148, 31435, 63991], [31520, 63992], [31890, 63993], 25705,
29802, 30194, 30908, 30952, [12218, 39340], 39764, [12231, 40635], 23518,
24149, 28448, 33180, 33707, 37000, 19975, 21325, 23081, 24018, 24398,
24930, 25405, 26217, 26364, 28415, 28459, 28771, 30622, 33836, 34067,
34875, 36627, 39237, 39995, 21788, 25273, 26411, 27819, 33545, 35178,
38778, 20129, 22916, {f: 2, c: 24536}, 26395, 32178, 32596, 33426, 33579,
33725, 36638, 37017, 22475, 22969, 23186, 23504, 26151, 26522, 26757,
27599, 29028, 32629, 36023, 36067, 36993, 39749, 33032, 35978, 38476,
39488, [12230, 40613], 23391, 27667, 29467, 30450, 30431, 33804, 20906,
35219, 20813, 20885, 21193, 26825, 27796, 30468, 30496, 32191, 32236,
[12207, 38754], 40629, 28357, 34065, 20901, 21517, 21629, 26126, 26269,
26919, 28319, [12139, 30399], 30609, 33559, 33986, 34719, 37225, 37528,
40180, 34946, 20398, 20882, 21215, 22982, 24125, 24917, {f: 2, c: 25720},
26286, 26576, 27169, 27597, [12113, 27611], 29279, 29281, 29761, 30520,
[12141, 30683], 32791, 33468, 33541, 35584, 35624, 35980, [12106, 26408],
27792, 29287, [12140, 30446], 30566, 31302, 40361, 27519, 27794, 22818,
26406, 33945, 21359, 22675, 22937, 24287, 25551, 26164, 26483, 28218,
29483, 31447, 33495, 37672, 21209, 24043, 25006, 25035, 25098, 25287,
25771, [12102, 26080], 26969, 27494, [12111, 27595], 28961, 29687, 30045,
32326, 33310, 33538, 34154, 35491, 36031, 38695, 40289, 22696, 40664,
20497, 21006, 21563, 21839, [12098, 25991], 27766, {f: 2, c: 32010}, 32862,
34442, [12200, 38272], 38639, 21247, 27797, 29289, 21619, 23194, 23614,
23883, 24396, 24494, 26410, 26806, 26979, 28220, 28228, 30473,
[12150, 31859], 32654, 34183, 35598, 36855, 38753, 40692, 23735, 24758,
24845, 25003, 25935, {f: 2, c: 26107}, 27665, 27887, 29599, 29641, 32225,
38292, 23494, 34588, 35600, 21085, 21338, 25293, 25615, 25778, 26420,
27192, 27850, 29632, 29854, 31636, 31893, 32283, 33162, 33334, 34180,
36843, 38649, 39361, 20276, 21322, 21453, 21467, 25292, 25644, 25856,
26001, 27075, 27886, 28504, 29677, 30036, 30242, 30436, 30460, 30928,
[30971, 63844], 31020, 32070, 33324, 34784, 36820, 38930, 39151, 21187,
25300, 25765, 28196, 28497, 30332, 36299, 37297, 37474, 39662, 39747,
20515, 20621, 22346, 22952, 23592, 24135, 24439, 25151, 25918,
[12101, 26041], 26049, 26121, 26507, 27036, 28354, 30917, 32033, 32938,
33152, 33323, 33459, 33953, 34444, 35370, 35607, 37030, 38450, 40848,

20493, 20467, 22521, 24472, 25308, 25490, 26479, 28227, 28953, 30403,
32972, 32986, {f: 2, c: 35060}, 35097, 36064, 36649, 37197, 38506, 20271,
20336, 24091, 26575, 26658, [12137, 30333], 30334, 39748, 24161, 27146,
29033, 29140, 30058, 32321, 34115, 34281, 39132, 20240, 31567, 32624,
38309, 20961, 24070, 26805, 27710, 27726, 27867, 29359, 31684, 33539,
27861, 29754, 20731, 21128, 22721, 25816, 27287, 29863, 30294, 30887,
34327, 38370, 38713, 21342, 24321, 35722, 36776, 36783, 37002, 21029,
30629, 40009, 40712, 19993, 20482, 20853, 23643, 24183, 26142, 26170,
26564, 26821, 28851, 29953, 30149, 31177, 31453, 36647, 39200, 39432,
20445, 22561, 22577, 23542, 26222, 27493, 27921, 28282, 28541, 29668,
29995, 33769, 35036, 35091, 35676, 36628, 20239, 20693, 21264,
[12056, 21340], 23443, [24489, 63846], 26381, 31119, 33145, 33583, 34068,
35079, 35206, 36665, [36667, 64007], 39333, 39954, 26412, 20086, 20472,
22857, 23553, {f: 2, c: 23791}, 25447, 26834, 28925, 29090, 29739, 32299,
34028, 34562, 36898, 37586, 40179, [19981, 63847], 20184, 20463, 20613,
21078, 21103, 21542, 21648, 22496, 22827, 23142, 23386, 23413, 23500,
24220, 25206, 25975, 26023, 28014, 28325, [12119, 29238], 31526, 31807,
[12152, 32566], {f: 2, c: 33104}, 33178, 33344, 33433, 33705, 35331, 36000,
36070, 36091, 36212, 36282, 37096, 37340, [12201, 38428], 38468, 39385,
40167, [21271, 63843], 20998, 21545, 22132, 22707, 22868, 22894, 24575,
24996, 25198, 26128, 27774, 28954, 30406, 31881, 31966, 32027, 33452,
36033, 38640, 20315, 24343, 24447, 25282, 23849, 26379, 26842, 30844,
32323, 40300, 19989, 20633, [12052, 21269], 21290, 21329, 22915, 23138,
24199, 24754, 24970, 25161, 25209, 26000, 26503, 27047, [12112, 27604],
{f: 3, c: 27606}, 27832, 29749, 30202, 30738, 30865, 31189, 31192, 31875,
32203, 32737, 32933, 33086, 33218, 33778, 34586, 35048, 35513, 35692,
36027, 37145, [12206, 38750], [12214, 39131], [12240, 40763], 22188, 23338,
24428, 25996, 27315, 27567, 27996, 28657, 28693, 29277, 29613, 36007,
36051, 38971, 24977, 27703, 32856, 39425, 20045, 20107, 20123, 20181,
20282, 20284, 20351, 20447, 20735, 21490, 21496, 21766, 21987, 22235,
[12064, 22763], 22882, 23057, 23531, 23546, 23556, 24051, 24107, 24473,
24605, 25448, 26012, 26031, 26614, 26619, 26797, 27515, 27801, 27863,
28195, 28681, 29509, 30722, 31038, 31040, 31072, 31169, 31721, 32023,
32114, 32902, 33293, 33678, 34001, 34503, 35039, 35408, 35422, 35613,
36060, 36198, 36781, 37034, 39164, 39391, 40605, 21066, 26388, 20632,
21034, [12077, 23665], 25955, 27733, 29642, 29987, 30109, 31639, 33948,
37240, 38704, 20087, 25746, [27578, 63856], 29022, 34217, 19977, 26441,
26862, 28183, 33439, 34072, 34923, 25591, 28545, 37394, 39087, 19978,
20663, 20687, 20767, 21830, 21930, 22039, 23360, 23577, 23776, 24120,
24202, 24224, 24258, 24819, 26705, 27233, 28248, 29245, 29248,
[29376, 63994], 30456, 31077, 31665, 32724, 35059, 35316, 35443, 35937,
36062, 38684, [22622, 63852], 29885, 36093, 21959, 31329, [32034, 63850],
[12170, 33394], 29298, [12131, 29983], 29989, 31513, 22661, 22779, 23996,
24207, 24246, 24464, 24661, 25234, 25471, 25933, 26257, 26329, 26360,
26646, 26866, 29312, 29790, 31598, 32110, 32214, 32626, 32997, 33298,
34223, 35199, 35475, 36893, 37604, [12233, 40653], [12239, 40736],
[12067, 22805], 22893, 24109, 24796, 26132, 26227, 26512, 27728, 28101,
28511, [12143, 30707], 30889, 33990, 37323, 37675, 20185, 20682, 20808,
21892, 23307, 23459, 25159, 25982, 26059, 28210, 29053, 29697, 29764,
29831, 29887, 30316, 31146, 32218, 32341, 32680, 33146, 33203, 33337,
34330, 34796, 35445, 36323, 36984, 37521, 37925, 39245, 39854, 21352,
23633, 26964, 27844, 27945, 28203, [12166, 33292], 34203, 35131, 35373,
[35498, 63855, 63905], 38634, 40807, 21089, 26297, 27570, 32406, 34814,
36109, 38275, 38493, 25885, 28041, 29166, 22478, 22995, 23468, 24615,
24826, 25104, 26143, 26207, 29481, 29689, 30427, [30465, 63853], 31596,
32854, 32882, 33125, 35488, 37266, 19990, 21218, 27506, 27927, 31237,
31545, 32048, 36016, 21484, 22063, 22609, 23477, [12073, 23567], 23569,
24034, 25152, 25475, 25620, 26157, 26803, 27836, 28040, 28335, 28703,
28836, 29138, 29990, 30095, 30094, 30233, 31505, 31712, 31787, 32032,
32057, 34092, 34157, 34311, 35380, 36877, 36961, 37045, 37559, 38902,

39479, 20439, 23660, 26463, 28049, 31903, 32396, 35606, 36118, 36895,
23403, 24061, 25613, 33984, 36956, 39137, [29575, 63841, 63963], 23435,
24730, 26494, 28126, 35359, 35494, 36865, 38924, 21047, 28753, 30862,
37782, 34928, 37335, 20462, 21463, 22013, 22234, 22402, 22781, 23234,
23432, 23723, 23744, 24101, 24833, 25101, [12095, 25163], 25480, 25628,
25910, [25976, 63849], 27193, 27530, [12116, 27700], 27929, 28465, 29159,
29417, 29560, 29703, 29874, 30246, 30561, 31168, 31319, 31466, 31929,
32143, 32172, 32353, 32670, 33065, 33585, 33936, 34010, 34282, 34966,
35504, 35728, 36664, 36930, 36995, 37228, 37526, 37561, 38539,
{f: 2, c: 38567}, 38614, 38656, 38920, [12216, 39318], 39635, 39706, 21460,
22654, 22809, 23408, 23487, 28113, 28506, 29087, 29729, 29881, 32901,
33789, 24033, 24455, 24490, 24642, 26092, 26642, 26991, 27219, 27529,
27957, 28147, 29667, 30462, 30636, 31565, 32020, 33059, 33308, 33600,
34036, 34147, 35426, 35524, 37255, 37662, 38918, 39348, 25100, 34899,
36848, 37477, 23815, 23847, 23913, 29791, 33181, 34664, 28629,
[25342, 63859], 32722, 35126, 35186, 19998, 20056, 20711, 21213, 21319,
25215, 26119, 32361, 34821, 38494, 20365, 21273, 22070, 22987, 23204,
[12075, 23608], 23630, 23629, 24066, 24337, 24643, 26045, 26159, 26178,
26558, 26612, 29468, [12142, 30690], [12144, 31034], 32709, 33940, 33997,
35222, 35430, 35433, 35553, [12183, 35925], 35962, 22516, 23508, 24335,
24687, 25325, 26893, 27542, 28252, 29060, 31698, 34645, [35672, 63996],
36606, [12215, 39135], 39166, 20280, 20353, 20449, 21627, 23072, 23480,
24892, 26032, 26216, 29180, 30003, 31070, 32051, 33102, [12162, 33251],
33688, 34218, 34254, 34563, 35338, [12189, 36523], [12191, 36763], 36805,
22833, 23460, 23526, 24713, 23529, 23563, [12092, 24515], 27777, 28145,
28683, 29978, 33455, 35574, [20160, 63997], [12055, 21313], 38617,
[12114, 27663], 20126, 20420, 20818, 21854, 23077, 23784, 25105,
[12123, 29273], 33469, 33706, 34558, 34905, 35357, 38463, 38597, 39187,
40201, 40285, 22538, 23731, 23997, 24132, [24801, 63929], 24853, 25569,
[27138, 63764, 63836, 63935], 28197, 37122, 37716, 38990, 39952, 40823,
23433, 23736, 25353, 26191, 26696, 30524, 38593, 38797, 38996, 39839,
26017, 35585, 36555, 38332, 21813, 23721, 24022, 24245, 26263, 30284,
33780, 38343, 22739, 25276, 29390, 40232, 20208, 22830, 24591, 26171,
27523, 31207, 40230, 21395, 21696, 22467, 23830, 24859, 26326, 28079,
30861, 33406, 38552, 38724, 21380, 25212, 25494, 28082, 32266, 33099,
38989, 27387, 32588, 40367, 40474, 20063, 20539, 20918, 22812, 24825,
25590, 26928, 29242, 32822, 37326, 24369, 32004, [33509, 63860], 33903,
33979, 34277, 36493, 20335, 22756, 23363, 24665, 25562, 25880, 25965,
26264, 26954, 27171, 27915, 28673, 29036, 30162, 30221, 31155, 31344,
[12154, 32650], 35140, 35731, 37312, 38525, 39178, 22276, 24481, 26044,
28417, 30208, 31142, 35486, 39341, [12226, 39770], 40812, 20740, 25014,
25233, 27277, 33222, 20547, 22576, 24422, 28937, [12180, 35328], 35578,
23420, 34326, 20474, 20796, 22196, 22852, 25513, 28153, 23978, 26989,
20870, 20104, 20313, 22914, 27487, 27741, 29877, 30998, 33287, 33349,
33593, 36671, 36701, 39192, 20134, 22495, 24441, [26131, 63968], 30123,
32377, 35695, 36870, 39515, 22181, 22567, 23032, 23071, 23476, 24310,
25424, 25403, 26941, 27783, 27839, 28046, 28051, 28149, 28436, 28895,
28982, 29017, 29123, 29141, 30799, 30831, 31605, 32227, 32303, 34893,
36575, 37467, 40182, 24709, 28037, 29105, 38321, 21421, 26579, 28814,
28976, 29744, 33398, 33490, 38331, 39653, 40573, 26308, 29121,
[33865, 63854], 22603, 23992, 24433, 26144, 26254, 27001, 27054, 27704,
27891, 28214, 28481, 28634, 28699, 28719, 29008, 29151, 29552, 29787,
29908, 30408, 31310, 32403, 33521, 35424, 36814, 37704, 38681, 20034,
20522, 21000, 21473, 26355, 27757, 28618, 29450, 30591, 31330, 33454,
34269, 34306, 35028, 35427, 35709, 35947, 37555, 38675, 38928, 20116,
20237, 20425, 20658, 21320, 21566, 21555, 21978, 22626, 22714, 22887,
23067, 23524, 24735, 25034, 25942, 26111, 26212, 26791, 27738, 28595,
28879, 29100, 29522, 31613, 34568, 35492, 39986, 40711, 23627, 27779,
29508, [12127, 29577], 37434, 28331, 29797, 30239, 31337, 32277, 34314,
20800, 22725, 25793, 29934, 29973, 30320, 32705, 37013, 38605, 39252,

28198, [12129, 29926], {f: 2, c: 31401}, 33253, 34521, 34680, 35355, 23113,
23436, 23451, 26785, 26880, 28003, 29609, 29715, 29740, 30871, 32233,
32747, 33048, 33109, 33694, 35916, [38446, 63942], 38929, [12104, 26352],
24448, 26106, 26505, 27754, 29579, 20525, 23043, 27498, 30702, 22806,
23916, 24013, 29477, 30031, 20709, 20985, 22575, 22829, 22934, 23002,
23525, 23970, 25303, 25622, 25747, 25854, 26332, 27208, 29183, 29796,
31368, 31407, 32327, 32350, 32768, 33136, 34799, 35201, 35616, 36953,
36992, 39250, 24958, 27442, 28020, 32287, 35109, 36785, 20433, 20653,
20887, 21191, 22471, 22665, 23481, 24248, 24898, 27029, 28044, 28263,
28342, 29076, 29794, [12132, 29992], 29996, 32883, 33592, 33993, 36362,
37780, 37854, 20110, 20305, 20598, 20778, [12060, 21448], 21451, 21491,
23431, 23507, 23588, 24858, 24962, 26100, [12124, 29275], 29591, 29760,
30402, 31056, 31121, 31161, 32006, [12155, 32701], 33419, 34261, 34398,
36802, 36935, 37109, 37354, 38533, [12204, 38632], 38633, 21206, 24423,
26093, 26161, 26671, 29020, 31286, 37057, 38922, 20113, 27218, 27550,
28560, 29065, 32792, 33464, 34131, 36939, 38549, 38642, 38907, 34074,
39729, 20112, 29066, 38596, 20803, 21407, 21729, 22291, 22290, 22435,
23195, 23236, 23491, 24616, 24895, 25588, 27781, 27961, 28274, 28304,
29232, 29503, 29783, 33489, 34945, 36677, 36960, 38498, 39000, 40219,
[12105, 26376], 36234, 37470, 20301, 20553, 20702, 21361, 22285, 22996,
23041, 23561, 24944, 26256, 28205, 29234, 29771, 32239, 32963, 33806,
33894, 34111, 34655, 34907, 35096, 35586, 36949, [12209, 38859], 39759,
20083, 20369, 20754, 20842, 21807, 21929, 23418, 23461, {f: 2, c: 24188},
24254, 24736, 24799, {f: 2, c: 24840}, 25540, 25912, 26377, 26580, 26586,
{f: 2, c: 26977}, 27833, 27943, 28216, 28641, {f: 2, c: 29494}, 29788,
30001, 30290, 32173, 33278, 33848, 35029, 35480, 35547, 35565, 36400,
36418, 36938, 36926, 36986, [12195, 37193], 37321, 37742, 22537, 27603,
[12161, 32905], 32946, 20801, 22891, 23609, 28516, 29607, 32996, 36103,
37399, 38287, [12160, 32895], 25102, 28700, 32104, 34701, 22432, 24681,
24903, 27575, 35518, 37504, 38577, [12036, 20057], 21535, 28139, 34093,
38512, [12211, 38899], 39150, 25558, 27875, [12194, 37009], 20957, 25033,
33210, 40441, 20381, 20506, 20736, 23452, 24847, 25087, 25836, 26885,
27589, 30097, 30691, 32681, 33380, 34191, 34811, [12176, 34915], 35516,
35696, 37291, [12038, 20108], 20197, 20234, 22839, 23016, 24050, 24347,
24411, 24609, 29246, 29669, [30064, 63842], 30157, 31227, [12157, 32780],
[12159, 32819], 32900, 33505, 33617, 36029, 36019, 36999, 39156, 39180,
28727, 30410, 32714, 32716, 32764, 35610, [12040, 20154], 20161, 20995,
21360, [21693, 63902], 22240, 23035, 23493, 24341, 24525, 28270, 32106,
33589, 34451, 35469, 38765, 38775, [12032, 19968], 20314, 20350, 22777,
[12103, 26085], 28322, 36920, 37808, 39353, 20219, 22764, 22922, 23001,
24641, 31252, 33615, 36035, [12042, 20837], 21316, 20173, 21097, 23381,
33471, 20180, [21050, 63999], 21672, 22985, 23039, [12070, 23376], 23383,
23388, 24675, 24904, 28363, [28825, 63995], 29038, 29574, 29943, 30133,
30913, 32043, 32773, [12163, 33258], 33576, 34071, 34249, 35566, 36039,
38604, 20316, 21242, 22204, 26027, 26152, 28796, 28856, 29237, 32189,
33421, 37196, 38592, 40306, 23409, 26855, 27544, 28538, 30430, 23697,
26283, 28507, 31668, 31786, 34870, 38620, 19976, 20183, 21280, 22580,
22715, 22767, 22892, 23559, 24115, 24196, 24373, 25484, 26290, 26454,
27167, 27299, 27404, 28479, 29254, 29520, 29835, 31456, 31911, 33144,
33247, 33255, 33674, 33900, 34083, 34196, 34255, 35037, 36115, 37292,
[12199, 38263], 38556, 20877, 21705, 22312, 23472, 25165, 26448, 26685,
26771, 28221, 28371, 28797, 32289, 35009, 36001, 36617, 40779, 40782,
29229, 31631, 35533, 37658, 20295, 20302, 20786, 21632, 22992, 24213,
25269, 26485, 26990, 27159, 27822, 28186, 29401, 29482, 30141, 31672,
32053, 33511, 33785, 33879, 34295, 35419, 36015, 36487, 36889, 37048,
38606, 40799, 21219, 21514, 23265, 23490, 25688, 25973, 28404, 29380,
30340, 31309, 31515, 31821, 32318, 32735, 33659, 35627, 36042,
[12186, 36196], 36321, 36447, 36842, 36857, 36969, 37841, 20291, 20346,
20659, 20840, 20856, 21069, 21098, 22625, 22652, 22880, 23560, 23637,
24283, 24731, 25136, 26643, 27583, 27656, 28593, 29006, 29728,

[12133, 30000], 30008, 30033, 30322, 31564, 31627, 31661, 31686, 32399,
35438, 36670, 36681, 37439, 37523, 37666, 37931, 38651, 39002, 39019,
39198, [20999, 64000], 25130, 25240, 27993, 30308, 31434, 31680, 32118,
21344, 23742, 24215, 28472, 28857, 31896, 38673, 39822, 40670, 25509,
25722, 34678, 19969, 20117, 20141, 20572, 20597, 21576, 22979, 23450,
24128, 24237, 24311, 24449, 24773, 25402, 25919, 25972, 26060, 26230,
26232, 26622, 26984, 27273, 27491, 27712, 28096, 28136, 28191, 28254,
28702, 28833, 29582, 29693, 30010, 30555, 30855, 31118, 31243, 31357,
31934, 32142, 33351, 35330, 35562, 35998, 37165, 37194, 37336, 37478,
37580, 37664, 38662, 38742, 38748, 38914, [12237, 40718], 21046, 21137,
21884, 22564, 24093, 24351, 24716, 25552, 26799, 28639, 31085, 31532,
33229, 34234, 35069, 35576, 36420, 37261, 38500, 38555, 38717, 38988,
[12241, 40778], 20430, 20806, 20939, 21161, 22066, 24340, 24427, 25514,
25805, 26089, 26177, 26362, 26361, 26397, 26781, 26839, 27133, 28437,
28526, 29031, 29157, [12118, 29226], 29866, 30522, 31062, 31066, 31199,
31264, 31381, 31895, 31967, 32068, 32368, 32903, 34299, 34468, 35412,
35519, 36249, 36481, 36896, 36973, 37347, 38459, 38613, [12227, 40165],
26063, 31751, [12188, 36275], 37827, 23384, 23562, 21330, 25305, 29469,
20519, 23447, 24478, 24752, 24939, 26837, 28121, 29742, 31278, 32066,
32156, 32305, 33131, 36394, 36405, 37758, 37912, 20304, 22352, 24038,
24231, 25387, 32618, 20027, 20303, 20367, 20570, 23005, 32964, 21610,
21608, 22014, 22863, 23449, 24030, 24282, 26205, 26417, 26609, 26666,
27880, 27954, 28234, 28557, 28855, 29664, 30087, 31820, 32002, 32044,
32162, [12168, 33311], 34523, 35387, 35461, [12187, 36208], 36490, 36659,
36913, 37198, 37202, 37956, 39376, [12149, 31481], 31909, 20426, 20737,
20934, 22472, 23535, 23803, 26201, 27197, 27994, 28310, 28652, 28940,
30063, 31459, 34850, 36897, 36981, 38603, 39423, 33537, 20013, 20210,
34886, 37325, 21373, 27355, 26987, 27713, 33914, 22686, 24974, 26366,
25327, 28893, 29969, 30151, 32338, 33976, 35657, 36104, 20043, 21482,
21675, 22320, 22336, 24535, 25345, 25351, 25711, [12096, 25903], 26088,
26234, 26525, 26547, [12108, 27490], 27744, 27802, 28460, 30693, 30757,
31049, 31063, 32025, 32930, 33026, [12164, 33267], 33437, 33463, 34584,
35468, 36100, 36286, 36978, 30452, 31257, 31287, 32340, 32887, 21767,
21972, 22645, 25391, 25634, 26185, 26187, 26733, 27035, 27524, 27941,
28337, 29645, 29800, 29857, 30043, 30137, 30433, 30494, 30603, 31206,
32265, 32285, 33275, 34095, 34967, 35386, 36049, 36587,
[12192, 36784, 63857], 36914, 37805, 38499, 38515, 38663, 20356, 21489,
23018, 23241, 24089, 26702, 29894, 30142, 31209, 31378, 33187, 34541,
36074, 36300, 36845, 26015, 26389, 22519, 28503, 32221, 36655, 37878,
38598, 24501, 25074, 28548, 19988, 20376, 20511, 21449, 21983, 23919,
24046, 27425, 27492, 30923, 31642, 36425, [12190, 36554, 63746], 36974,
25417, 25662, 30528, 31364, 37679, 38015, 40810, 25776, 28591, 29158,
29864, 29914, 31428, 31762, 32386, 31922, 32408, 35738, 36106, 38013,
39184, 39244, 21049, 23519, 25830, 26413, 32046, 20717, [21443, 63851],
22649, {f: 2, c: 24920}, 25082, 26028, 31449, 35730, 35734, 20489, 20513,
21109, 21809, 23100, 24288, 24432, 24884, 25950, 26124, 26166, 26274,
27085, 28356, 28466, 29462, 30241, 31379, 33081, 33369, 33750, 33980,
20661, 22512, 23488, 23528, 24425, 25505, 30758, 32181, 33756, 34081,
37319, 37365, 20874, 26613, 31574, 36012, 20932, 22971, 24765, 34389,
20508, 21076, 23610, 24957, 25114, [25299, 64002], 25842, 26021, 28364,
30240, 33034, 36448, 38495, 38587, 20191, 21315, 21912, 22825, 24029,
25797, 27849, 28154, 29588, 31359, [12167, 33307], 34214, 36068, 36368,
36983, 37351, 38369, 38433, 38854, 20984, 21746, 21894, 24505, 25764,
28552, 32180, 36639, 36685, 37941, 20681, 23574, 27838, 28155, 29979,
30651, 31805, 31844, 35449, 35522, 22558, 22974, 24086, 25463, 29266,
30090, 30571, 35548, 36028, 36626, 24307, 26228, 28152, 32893, 33729,
35531, [12205, 38737], 39894, 21059, 26367, 28053, 28399, 32224, 35558,
36910, 36958, 39636, 21021, 21119, 21736, 24980, 25220, 25307, 26786,
26898, 26970, 27189, 28818, 28966, 30813, 30977, 30990, 31186, 31245,
32918, [12171, 33400], 33493, 33609, 34121, 35970, 36229, 37218, 37259,

37294, 20419, 22225, 29165, 30679, 34560, 35320, [12072, 23544], 24534,
26449, 37032, 21474, 22618, 23541, 24740, 24961, 25696, 32317, 32880,
34085, 37507, 25774, 20652, 23828, 26368, 22684, 25277, 25512, 26894,
27000, 27166, 28267, 30394, 31179, 33467, 33833, 35535, 36264, 36861,
37138, 37195, 37276, 37648, 37656, 37786, 38619, 39478, 39949, 19985,
30044, 31069, 31482, 31569, 31689, 32302, 33988, 36441, 36468, 36600,
36880, 26149, 26943, 29763, 20986, 26414, 40668, 20805, 24544, 27798,
34802, 34909, 34935, 24756, 33205, 33795, 36101, 21462, 21561, 22068,
23094, 23601, 28810, 32736, 32858, 33030, 33261, 36259, 37257, 39519,
40434, 20596, 20164, 21408, 24827, 28204, 23652, 20360, 20516, 21988,
23769, 24159, 24677, 26772, 27835, 28100, 29118, 30164, 30196, 30305,
31258, 31305, 32199, 32251, 32622, 33268, 34473, 36636, 38601, 39347,
[12242, 40786], 21063, 21189, 39149, 35242, 19971, 26578, 28422, 20405,
23522, 26517, [27784, 63858], 28024, 29723, 30759, 37341, 37756, 34756,
31204, 31281, 24555, 20182, 21668, 21822, 22702, 22949, 24816, 25171,
25302, 26422, 26965, 33333, 38464, 39345, 39389, 20524, 21331, 21828,
22396, 25176, 25826, 26219, 26589, 28609, 28655, 29730, 29752, 35351,
37944, 21585, 22022, 22374, 24392, 24986, 27470, 28760, 28845, 32187,
35477, 22890, 33067, 25506, 30472, 32829, 36010, 22612, 25645, 27067,
23445, 24081, 28271, 34153, 20812, 21488, 22826, 24608, 24907, 27526,
27760, 27888, 31518, 32974, 33492, 36294, 37040, 39089, 25799, 28580,
25745, 25860, 20814, 21520, [12063, 22303], 35342, 24927, 26742, 30171,
31570, 32113, 36890, 22534, 27084, 33151, 35114, 36864, 38969, 20600,
22871, 22956, 25237, 36879, 39722, 24925, 29305, 38358, 22369, 23110,
24052, 25226, 25773, 25850, 26487, 27874, 27966, 29228, 29750, 30772,
32631, 33453, 36315, 38935, 21028, 22338, 26495, 29256, 29923, 36009,
36774, 37393, 38442, [12043, 20843], 21485, 25420, 20329, 21764, 24726,
25943, 27803, 28031, 29260, 29437, 31255, 35207, [12185, 35997], 24429,
28558, 28921, 33192, 24846, [20415, 63845], 20559, 25153, [12122, 29255],
31687, 32232, 32745, 36941, 38829, 39449, 36022, 22378, 24179, 26544,
33805, 35413, 21536, 23318, 24163, 24290, 24330, 25987, 32954, 34109,
38281, 38491, 20296, 21253, 21261, 21263, 21638, 21754, 22275, 24067,
24598, 25243, 25265, 25429, 27873, 28006, 30129, 30770, 32990, 33071,
33502, 33889, 33970, 34957, 35090, 36875, 37610, 39165, 39825, 24133,
[26292, 64006], 26333, 28689, 29190, 20469, 21117, 24426, 24915, 26451,
27161, 28418, 29922, 31080, 34920, 35961, 39111, 39108, 39491, 21697,
31263, 26963, 35575, 35914, [12213, 39080], 39342, 24444, 25259, 30130,
[12138, 30382], 34987, 36991, 38466, 21305, 24380, 24517, [27852, 63848],
29644, 30050, [12134, 30091], 31558, 33534, 39325, 20047, 36924, 19979,
20309, 21414, 22799, 24264, 26160, 27827, 29781, 33655, 34662, 36032,
36944, 38686, 39957, 22737, 23416, 34384, 35604, 40372, 23506, 24680,
24717, 26097, 27735, 28450, 28579, 28698, 32597, 32752, {f: 2, c: 38289},
38480, 38867, 21106, 36676, 20989, 21547, 21688, 21859, 21898, 27323,
28085, 32216, 33382, 37532, 38519, 40569, 21512, 21704, 30418, 34532,
38308, 38356, 38492, 20130, 20233, 23022, 23270, 24055, 24658, 25239,
26477, 26689, 27782, 28207, 32568, 32923, 33322, 38917, 20133, 20565,
21683, 22419, 22874, 23401, 23475, 25032, 26999, 28023, 28707, 34809,
35299, 35442, 35559, 36994, 39405, 39608, 21182, 26680, 20502, 24184,
26447, 33607, [12175, 34892, 64008], 20139, 21521, 22190, 29670, 37141,
38911, 39177, 39255, [12217, 39321], 22099, 22687, 34395, 35377, 25010,
27382, 29563, 36562, 27463, 38570, 39511, 22869, 29184, 36203,
[12208, 38761], 20436, 23796, 24358, 25080, 26203, 27883, 28843,
[12126, 29572], 29625, 29694, 30505, 30541, 32067, 32098, 32291, 33335,
34898, 36066, 37449, 39023, 23377, [12147, 31348], [12174, 34880],
[12212, 38913], 23244, 20448, 21332, 22846, 23805, 25406, 28025, 29433,
33029, 33031, 33698, 37583, 38960, 20136, 20804, 21009, 22411, 24418,
27842, 28366, 28677, 28752, 28847, 29074, 29673, [29801, 63918], 33610,
34722, 34913, 36872, 37026, 37795, 39336, 20846, 24407, 24800, 24935,
26291, 34137, 36426, 37295, 38795, 20046, 20114, 21628, 22741, 22778,
22909, 23733, 24359, [12094, 25142], 25160, 26122, 26215, 27627, 28009,

28111, 28246, 28408, 28564, 28640, 28649, 28765, 29392, 29733, 29786,
29920, 30355, 31068, 31946, 32286, 32993, 33446, 33899, 33983, 34382,
34399, 34676, 35703, 35946, 37804, 38912, 39013, 24785, 25110, 37239,
23130, 26127, 28151, 28222, 29759, 39746, 24573, 24794, 31503, 21700,
24344, 27742, 27859, 27946, 28888, 32005, 34425, 35340, 40251, 21270,
21644, 23301, 27194, [12117, 28779], 30069, 31117, [12146, 31166], 33457,
33775, 35441, 35649, 36008, 38772, 25844, 25899, {f: 2, c: 30906}, 31339,
20024, 21914, 22864, 23462, 24187, 24739, 25563, 27489, 26213, 26707,
28185, 29029, 29872, 32008, 36996, 39529, 39973, 27963, [28369, 63748],
29502, 35905, 38346, 20976, 24140, 24488, 24653, 24822, 24880, 24908,
{f: 2, c: 26179}, 27045, 27841, 28255, 28361, 28514, 29004, 29852, 30343,
31681, 31783, 33618, 34647, 36945, 38541, [12232, 40643], 21295, 22238,
24315, 24458, 24674, 24724, 25079, 26214, 26371, 27292, 28142, 28590,
28784, 29546, 32362, 33214, 33588, 34516, 35496, 36036, 21123, 29554,
23446, 27243, 37892, 21742, 22150, 23389, 25928, 25989, 26313, 26783,
28045, 28102, [12120, 29243], 32948, 37237, 39501, 20399, 20505, 21402,
21518, 21564, 21897, 21957, 24127, 24460, 26429, 29030, 29661, 36869,
21211, 21235, 22628, 22734, 28932, 29071, 29179, 34224, 35347,
[26248, 63941], 34216, 21927, 26244, 29002, 33841, 21321, 21913, 27585,
24409, 24509, 25582, 26249, 28999, 35569, 36637, 40638, 20241, 25658,
28875, 30054, 34407, 24676, 35662, 40440, 20807, 20982, 21256, 27958,
33016, [12234, 40657], 26133, 27427, 28824, 30165, 21507, 23673, 32007,
35350, [12107, 27424], 27453, 27462, 21560, 24688, 27965, 32725, 33288,
20694, 20958, 21916, 22123, 22221, 23020, 23305, 24076, 24985, 24984,
25137, 26206, 26342, 29081, {f: 2, c: 29113}, 29351, 31143, 31232, 32690,
35440, {s: 163}, {f: 4, c: 12310}, {s: 14}, 8223, 8219, {f: 2, c: 8314},
{s: 7}, 8316, 0, {f: 2, c: 8317}, {s: 23}, 700, {s: 44}, 8942, 8759,
{s: 20}, {f: 10, c: 10122}, {s: 36}, {f: 26, c: 9398}, {s: 61},
{f: 2, c: 8826}, {f: 2, c: 8910}, {f: 2, c: 8832}, {f: 4, c: 8816}, 0,
8842, 0, 8843, {f: 2, c: 8822}, 8825, {f: 2, c: 8922}, {s: 5}, 8773, 8771,
8776, 0, 8868, {s: 78}, 8244, {s: 11}, 9839, {s: 4}, 8258, {s: 4}, 10045,
0, 0, 8226, {s: 4}, {f: 2, c: 8249}, {s: 16}, 10010, 10006, 0, 9711,
{s: 3}, 10070, 0, 9676, {s: 24}, 9775, {s: 6}, 12320, 0, {f: 10, c: 10102},
{s: 17}, 12306, 12342, {s: 13}, 8710, 0, 8735, 0, {f: 2, c: 8741}, 0, 8787,
8785, {f: 2, c: 8806}, 8723, {f: 3, c: 8853}, 0, 8980, 0, 0, 8802, 0, 9649,
0, 8738, 8784, 0, 0, 8867, 0, 0, {f: 2, c: 8814}, 8837, 8836, 8713, 8716,
{f: 2, c: 8891}, 8794, 8966, {s: 6}, 12958, 0, 8252, {s: 11}, 9702, {s: 3},
9663, 9653, 9657, 9667, {s: 4}, 9674, 12849, 12857, 13259, {f: 5, c: 9327},
{s: 18}, 8656, 8655, 8653, {s: 37}, 8657, 8659, {s: 8}, 8626, 8625, 0,
8628, 8624, 8627, {s: 14}, 8636, 8640, {s: 10}, {f: 2, c: 8644}, {s: 144},
{f: 5, c: 9347}, {s: 33}, 12948, {s: 15}, 12965, {s: 93}, 8672, 8674, 8673,
8675, {s: 4}, 8678, 8680, 8679, 8681, {s: 20}, 9757, 9759, {s: 76}, 12944,
{f: 6, c: 12938}, {s: 15}, {f: 2, c: 12318}, 8246, 0, 8245, {s: 3}, 12540,
0, 0, {f: 2, c: 44034}, {f: 2, c: 44037}, {f: 5, c: 44043}, 44056,
{f: 2, c: 44062}, {f: 3, c: 44065}, {f: 7, c: 44069}, 44078,
{f: 6, c: 44082}, {f: 2, c: 44090}, {f: 3, c: 44093}, {f: 10, c: 44097},
44108, {f: 6, c: 44110}, {f: 3, c: 44117}, {f: 3, c: 44121},
{f: 19, c: 44125}, {f: 2, c: 44146}, {f: 2, c: 44149}, 44153,
{f: 5, c: 44155}, 44162, {f: 2, c: 44167}, {f: 3, c: 44173},
{f: 3, c: 44177}, {f: 7, c: 44181}, 44190, {f: 6, c: 44194}, 44203,
{f: 2, c: 44205}, {f: 7, c: 44209}, 44218, {f: 3, c: 44222},
{f: 2, c: 44226}, {f: 3, c: 44229}, {f: 3, c: 44233}, {f: 8, c: 44237},
44246, {f: 8, c: 44248}, {f: 2, c: 44258}, {f: 2, c: 44261}, 44265, 44267,
{f: 2, c: 44269}, 44274, 44276, {f: 5, c: 44279}, {f: 2, c: 44286},
{f: 3, c: 44289}, 44293, {f: 5, c: 44295}, 44302, 44304, {f: 6, c: 44306},
{f: 3, c: 44313}, {f: 3, c: 44317}, {f: 8, c: 44321}, {f: 2, c: 44330},
{f: 6, c: 44334}, {f: 2, c: 44342}, {f: 3, c: 44345}, {f: 7, c: 44349},
44358, 44360, {f: 6, c: 44362}, {f: 3, c: 44369}, {f: 3, c: 44373},
{f: 8, c: 44377}, 44386, {f: 8, c: 44388}, {f: 2, c: 44398},
{f: 2, c: 44401}, {f: 4, c: 44407}, 44414, 44416, {f: 5, c: 44419},

{f: 2, c: 44426}, {f: 3, c: 44429}, {f: 11, c: 44433}, {f: 6, c: 44446},


{f: 18, c: 44453}, {f: 8, c: 44472}, {f: 2, c: 44482}, {f: 3, c: 44485},
{f: 7, c: 44489}, 44498, {f: 8, c: 44500}, {f: 3, c: 44509},
{f: 3, c: 44513}, {f: 19, c: 44517}, {f: 2, c: 44538}, {f: 2, c: 44541},
{f: 6, c: 44546}, 44554, 44556, {f: 6, c: 44558}, {f: 27, c: 44565},
{f: 2, c: 44594}, {f: 2, c: 44597}, 44601, {f: 5, c: 44603}, 44610, 44612,
{f: 3, c: 44615}, 44619, 44623, {f: 3, c: 44625}, 44629, {f: 5, c: 44631},
44638, {f: 3, c: 44642}, {f: 2, c: 44646}, {f: 2, c: 44650},
{f: 3, c: 44653}, {f: 7, c: 44657}, 44666, {f: 6, c: 44670},
{f: 6, c: 44678}, {f: 47, c: 44685}, 44735, {f: 3, c: 44737},
{f: 7, c: 44741}, 44750, {f: 6, c: 44754}, {f: 2, c: 44762},
{f: 11, c: 44765}, {f: 2, c: 44777}, 44780, {f: 6, c: 44782},
{f: 3, c: 44789}, {f: 3, c: 44793}, {f: 10, c: 44797}, {f: 4, c: 44809},
{f: 2, c: 44814}, {f: 27, c: 44817}, {f: 2, c: 44846}, 44849, 44851,
{f: 7, c: 44853}, 44862, 44864, {f: 4, c: 44868}, {f: 6, c: 44874},
{f: 11, c: 44881}, {f: 6, c: 44894}, {f: 19, c: 44902}, {f: 6, c: 44922},
{f: 3, c: 44929}, {f: 3, c: 44933}, {f: 7, c: 44937}, {f: 3, c: 44946},
{f: 6, c: 44950}, {f: 27, c: 44957}, {f: 2, c: 44986}, {f: 3, c: 44989},
{f: 6, c: 44993}, 45002, 45004, {f: 5, c: 45007}, {f: 7, c: 45013},
{f: 11, c: 45021}, {f: 6, c: 45034}, {f: 2, c: 45042}, {f: 3, c: 45045},
{f: 7, c: 45049}, {f: 2, c: 45058}, {f: 7, c: 45061}, {f: 3, c: 45069},
{f: 3, c: 45073}, {f: 7, c: 45077}, {f: 10, c: 45086}, {f: 27, c: 45097},
{f: 2, c: 45126}, 45129, 45131, 45133, {f: 4, c: 45135}, 45142, 45144,
{f: 3, c: 45146}, {f: 30, c: 45150}, {f: 2, c: 45182}, {f: 3, c: 45185},
{f: 7, c: 45189}, 45198, 45200, {f: 6, c: 45202}, 45211, {f: 2, c: 45213},
{f: 5, c: 45219}, 45226, 45232, 45234, {f: 2, c: 45238}, {f: 3, c: 45241},
{f: 7, c: 45245}, 45254, {f: 6, c: 45258}, {f: 2, c: 45266},
{f: 3, c: 45269}, {f: 7, c: 45273}, {f: 4, c: 45281}, {f: 34, c: 45286},
45322, {f: 3, c: 45325}, 45329, {f: 4, c: 45332}, 45338, {f: 5, c: 45342},
{f: 2, c: 45350}, {f: 3, c: 45353}, {f: 7, c: 45357}, 45366,
{f: 6, c: 45370}, {f: 2, c: 45378}, {f: 3, c: 45381}, {f: 7, c: 45385},
{f: 2, c: 45394}, {f: 2, c: 45398}, {f: 3, c: 45401}, {f: 3, c: 45405},
{f: 23, c: 45409}, {f: 2, c: 45434}, {f: 3, c: 45437}, 45441,
{f: 5, c: 45443}, 45450, 45452, {f: 4, c: 45454}, {f: 3, c: 45461},
{f: 3, c: 45465}, {f: 11, c: 45469}, {f: 35, c: 45481}, {f: 3, c: 45517},
{f: 3, c: 45521}, {f: 7, c: 45525}, 45534, {f: 8, c: 45536},
{f: 2, c: 45546}, {f: 3, c: 45549}, {f: 8, c: 45553}, 45562, 45564,
{f: 6, c: 45566}, {f: 2, c: 45574}, {f: 2, c: 45577}, {f: 7, c: 45581},
45590, 45592, {f: 6, c: 45594}, {f: 19, c: 45601}, {f: 7, c: 45621},
{f: 27, c: 45629}, {f: 3, c: 45657}, {f: 3, c: 45661}, {f: 7, c: 45665},
{f: 10, c: 45674}, {f: 6, c: 45686}, {f: 7, c: 45693}, {f: 3, c: 45702},
{f: 6, c: 45706}, {f: 2, c: 45714}, {f: 3, c: 45717}, {f: 5, c: 45723},
45730, 45732, {f: 3, c: 45735}, 45739, {f: 3, c: 45741}, {f: 3, c: 45745},
{f: 19, c: 45749}, {f: 2, c: 45770}, {f: 3, c: 45773}, 45777,
{f: 5, c: 45779}, 45786, 45788, {f: 4, c: 45790}, 45795, 45799,
{f: 2, c: 45801}, {f: 3, c: 45808}, 45814, {f: 3, c: 45820},
{f: 2, c: 45826}, {f: 3, c: 45829}, {f: 7, c: 45833}, 45842,
{f: 6, c: 45846}, {f: 55, c: 45853}, 45911, {f: 2, c: 45913}, 45917,
{f: 4, c: 45920}, 45926, 45928, 45930, {f: 2, c: 45932}, 45935,
{f: 2, c: 45938}, {f: 3, c: 45941}, {f: 7, c: 45945}, 45954,
{f: 6, c: 45958}, {f: 3, c: 45965}, {f: 3, c: 45969}, {f: 11, c: 45973},
{f: 6, c: 45986}, {f: 3, c: 45993}, {f: 23, c: 45997}, {f: 2, c: 46022},
{f: 2, c: 46025}, 46029, 46031, {f: 3, c: 46033}, 46038, 46040, 46042,
46044, {f: 2, c: 46046}, {f: 3, c: 46049}, {f: 3, c: 46053},
{f: 19, c: 46057}, {f: 19, c: 46077}, {f: 7, c: 46097}, {f: 3, c: 46105},
{f: 3, c: 46109}, {f: 7, c: 46113}, 46122, {f: 8, c: 46124},
{f: 27, c: 46133}, {f: 2, c: 46162}, {f: 3, c: 46165}, {f: 7, c: 46169},
46178, 46180, {f: 6, c: 46182}, {f: 19, c: 46189}, {f: 7, c: 46209},
{f: 20, c: 46217}, {f: 6, c: 46238}, {f: 3, c: 46245}, {f: 3, c: 46249},
{f: 8, c: 46253}, 46262, 46264, {f: 6, c: 46266}, {f: 3, c: 46273},

{f: 3, c: 46277}, {f: 7, c: 46281}, {f: 4, c: 46289}, {f: 6, c: 46294},


{f: 2, c: 46302}, {f: 2, c: 46305}, 46309, {f: 5, c: 46311}, 46318, 46320,
{f: 6, c: 46322}, {f: 27, c: 46329}, {f: 2, c: 46358}, {f: 2, c: 46361},
{f: 7, c: 46365}, 46374, {f: 5, c: 46379}, {f: 2, c: 46386},
{f: 3, c: 46389}, {f: 7, c: 46393}, 46402, {f: 5, c: 46406},
{f: 2, c: 46414}, {f: 3, c: 46417}, {f: 7, c: 46421}, 46430,
{f: 62, c: 46434}, {f: 2, c: 46498}, {f: 3, c: 46501}, 46505,
{f: 4, c: 46508}, 46514, {f: 5, c: 46518}, {f: 2, c: 46526},
{f: 3, c: 46529}, {f: 7, c: 46533}, 46542, {f: 6, c: 46546},
{f: 19, c: 46553}, {f: 35, c: 46573}, {f: 2, c: 46610}, {f: 3, c: 46613},
{f: 12, c: 46617}, {f: 6, c: 46630}, {f: 7, c: 46637}, {f: 19, c: 46645},
{f: 27, c: 46665}, {f: 3, c: 46693}, {f: 51, c: 46697}, {f: 2, c: 46750},
{f: 3, c: 46753}, {f: 6, c: 46757}, {f: 4, c: 46765}, {f: 34, c: 46770},
{f: 27, c: 46805}, {f: 3, c: 46833}, {f: 3, c: 46837}, {f: 7, c: 46841},
{f: 3, c: 46850}, {f: 34, c: 46854}, {f: 2, c: 46890}, {f: 2, c: 46893},
{f: 7, c: 46897}, 46906, {f: 8, c: 46908}, {f: 3, c: 46917},
{f: 3, c: 46921}, {f: 7, c: 46925}, {f: 10, c: 46934}, {f: 3, c: 46945},
{f: 3, c: 46949}, {f: 7, c: 46953}, 46962, 46964, {f: 6, c: 46966},
{f: 2, c: 46974}, {f: 3, c: 46977}, {f: 7, c: 46981}, 46990,
{f: 3, c: 46995}, {f: 2, c: 47002}, {f: 3, c: 47005}, {f: 7, c: 47009},
47018, {f: 6, c: 47022}, {f: 2, c: 47030}, {f: 14, c: 47033}, 47048,
{f: 34, c: 47050}, {f: 2, c: 47086}, {f: 3, c: 47089}, {f: 7, c: 47093},
47102, {f: 5, c: 47106}, {f: 2, c: 47114}, {f: 3, c: 47117},
{f: 7, c: 47121}, 47130, 47132, {f: 6, c: 47134}, {f: 2, c: 47142},
{f: 3, c: 47145}, {f: 7, c: 47149}, 47158, {f: 6, c: 47162},
{f: 3, c: 47169}, {f: 12, c: 47173}, 47186, {f: 8, c: 47188},
{f: 2, c: 47198}, {f: 3, c: 47201}, {f: 7, c: 47205}, 47214, 47216,
{f: 6, c: 47218}, {f: 3, c: 47225}, {f: 16, c: 47229}, {f: 26, c: 47246},
{f: 7, c: 47273}, {f: 3, c: 47281}, {f: 3, c: 47285}, {f: 7, c: 47289},
47298, 47300, {f: 6, c: 47302}, {f: 3, c: 47309}, {f: 3, c: 47313},
{f: 8, c: 47317}, 47326, 47328, {f: 6, c: 47330}, {f: 2, c: 47338},
{f: 3, c: 47341}, {f: 7, c: 47345}, 47354, 47356, {f: 6, c: 47358},
{f: 19, c: 47365}, {f: 7, c: 47385}, {f: 27, c: 47393}, {f: 2, c: 47422},
{f: 3, c: 47425}, {f: 7, c: 47429}, {f: 2, c: 47437}, 47440,
{f: 6, c: 47442}, {f: 2, c: 47450}, {f: 3, c: 47453}, {f: 7, c: 47457},
47466, 47468, {f: 6, c: 47470}, {f: 2, c: 47478}, {f: 3, c: 47481},
{f: 7, c: 47485}, 47494, 47496, {f: 2, c: 47499}, {f: 29, c: 47503},
{f: 2, c: 47534}, {f: 3, c: 47537}, {f: 7, c: 47541}, 47550, 47552,
{f: 6, c: 47554}, {f: 2, c: 47562}, 47565, {f: 5, c: 47571}, 47578, 47580,
{f: 2, c: 47583}, 47586, {f: 2, c: 47590}, {f: 3, c: 47593},
{f: 7, c: 47597}, 47606, {f: 5, c: 47611}, {f: 6, c: 47618},
{f: 12, c: 47625}, {f: 34, c: 47638}, {f: 2, c: 47674}, {f: 3, c: 47677},
47681, {f: 5, c: 47683}, 47690, 47692, {f: 4, c: 47695}, {f: 2, c: 47702},
{f: 3, c: 47705}, {f: 7, c: 47709}, 47718, {f: 6, c: 47722},
{f: 2, c: 47730}, {f: 3, c: 47733}, {f: 10, c: 47737}, 47750,
{f: 4, c: 47752}, {f: 27, c: 47757}, 47786, {f: 3, c: 47789}, 47793,
{f: 5, c: 47795}, 47802, 47804, {f: 6, c: 47806}, {f: 3, c: 47813},
{f: 15, c: 47817}, {f: 34, c: 47834}, {f: 3, c: 47869}, {f: 3, c: 47873},
{f: 8, c: 47877}, 47886, 47888, {f: 6, c: 47890}, {f: 3, c: 47897},
{f: 3, c: 47901}, {f: 8, c: 47905}, 47914, {f: 8, c: 47916}, 47927,
{f: 2, c: 47929}, {f: 5, c: 47935}, 47942, 47944, {f: 3, c: 47946}, 47950,
{f: 3, c: 47953}, {f: 3, c: 47957}, {f: 8, c: 47961}, 47970,
{f: 8, c: 47972}, {f: 27, c: 47981}, {f: 3, c: 48009}, {f: 3, c: 48013},
{f: 19, c: 48017}, {f: 3, c: 48037}, {f: 3, c: 48041}, {f: 7, c: 48045},
{f: 2, c: 48053}, {f: 8, c: 48056}, {f: 3, c: 48065}, {f: 3, c: 48069},
{f: 7, c: 48073}, {f: 2, c: 48081}, {f: 36, c: 48084}, {f: 2, c: 48122},
{f: 2, c: 48125}, 48129, {f: 5, c: 48131}, 48138, 48142, 48144,
{f: 2, c: 48146}, {f: 2, c: 48153}, {f: 4, c: 48160}, 48166, 48168,
{f: 3, c: 48170}, {f: 2, c: 48174}, {f: 2, c: 48178}, {f: 3, c: 48181},
{f: 7, c: 48185}, 48194, {f: 3, c: 48198}, {f: 2, c: 48202},

{f: 2, c: 48206}, {f: 12, c: 48209}, {f: 38, c: 48222}, {f: 2, c: 48262},
{f: 2, c: 48265}, 48269, {f: 5, c: 48271}, 48278, 48280, {f: 5, c: 48283},
{f: 2, c: 48290}, {f: 2, c: 48293}, {f: 7, c: 48297}, 48306,
{f: 6, c: 48310}, {f: 2, c: 48318}, {f: 3, c: 48321}, {f: 8, c: 48325},
48334, {f: 3, c: 48338}, {f: 2, c: 48342}, {f: 3, c: 48345},
{f: 23, c: 48349}, 48375, {f: 3, c: 48377}, {f: 7, c: 48381}, 48390, 48392,
{f: 6, c: 48394}, {f: 3, c: 48401}, {f: 15, c: 48405}, {f: 7, c: 48421},
{f: 19, c: 48429}, {f: 7, c: 48449}, {f: 2, c: 48458}, {f: 3, c: 48461},
{f: 7, c: 48465}, {f: 10, c: 48474}, {f: 3, c: 48485}, {f: 23, c: 48489},
{f: 2, c: 48514}, {f: 2, c: 48517}, {f: 5, c: 48523}, 48530, 48532,
{f: 3, c: 48534}, 48539, {f: 7, c: 48541}, {f: 11, c: 48549},
{f: 7, c: 48561}, {f: 27, c: 48569}, {f: 2, c: 48598}, {f: 3, c: 48601},
{f: 12, c: 48605}, {f: 6, c: 48618}, {f: 3, c: 48625}, {f: 3, c: 48629},
{f: 7, c: 48633}, {f: 2, c: 48641}, 48644, {f: 6, c: 48646},
{f: 2, c: 48654}, {f: 3, c: 48657}, {f: 7, c: 48661}, 48670,
{f: 36, c: 48672}, {f: 2, c: 48710}, {f: 3, c: 48713}, 48717,
{f: 5, c: 48719}, 48726, 48728, {f: 4, c: 48732}, {f: 2, c: 48738},
{f: 3, c: 48741}, 48745, {f: 5, c: 48747}, 48754, {f: 5, c: 48758},
{f: 2, c: 48766}, {f: 3, c: 48769}, {f: 7, c: 48773}, 48782,
{f: 6, c: 48786}, {f: 14, c: 48794}, {f: 39, c: 48809}, {f: 2, c: 48850},
{f: 2, c: 48853}, {f: 7, c: 48857}, {f: 2, c: 48865}, {f: 6, c: 48870},
{f: 20, c: 48877}, {f: 6, c: 48898}, {f: 14, c: 48906}, 48922,
{f: 34, c: 48926}, {f: 2, c: 48962}, {f: 3, c: 48965}, {f: 7, c: 48969},
{f: 3, c: 48978}, {f: 62, c: 48982}, {f: 27, c: 49045}, {f: 20, c: 49073},
{f: 6, c: 49094}, {f: 2, c: 49102}, {f: 3, c: 49105}, {f: 7, c: 49109},
{f: 2, c: 49117}, 49120, {f: 90, c: 49122}, {f: 20, c: 49213},
{f: 6, c: 49234}, {f: 3, c: 49241}, {f: 3, c: 49245}, {f: 7, c: 49249},
{f: 38, c: 49258}, {f: 2, c: 49298}, {f: 3, c: 49301}, {f: 7, c: 49305},
49314, 49316, {f: 6, c: 49318}, 49326, {f: 2, c: 49329}, {f: 5, c: 49335},
49342, {f: 3, c: 49346}, {f: 2, c: 49350}, {f: 2, c: 49354},
{f: 3, c: 49357}, {f: 7, c: 49361}, 49370, {f: 6, c: 49374},
{f: 2, c: 49382}, {f: 3, c: 49385}, {f: 7, c: 49389}, 49398, 49400,
{f: 6, c: 49402}, {f: 3, c: 49409}, {f: 3, c: 49413}, {f: 7, c: 49417},
{f: 4, c: 49425}, {f: 6, c: 49430}, {f: 2, c: 49441}, 49445,
{f: 4, c: 49448}, 49454, {f: 4, c: 49458}, 49463, {f: 2, c: 49466},
{f: 3, c: 49469}, {f: 7, c: 49473}, 49482, {f: 6, c: 49486},
{f: 2, c: 49494}, {f: 3, c: 49497}, {f: 7, c: 49501}, 49510,
{f: 6, c: 49514}, {f: 3, c: 49521}, {f: 3, c: 49525}, {f: 12, c: 49529},
{f: 6, c: 49542}, 49551, {f: 3, c: 49553}, 49557, {f: 5, c: 49559}, 49566,
49568, {f: 3, c: 49570}, {f: 2, c: 49574}, {f: 2, c: 49578},
{f: 3, c: 49581}, {f: 12, c: 49585}, {f: 6, c: 49598}, {f: 3, c: 49605},
{f: 3, c: 49609}, {f: 7, c: 49613}, {f: 2, c: 49621}, {f: 7, c: 49625},
{f: 3, c: 49633}, {f: 3, c: 49637}, {f: 7, c: 49641}, 49650,
{f: 8, c: 49652}, {f: 2, c: 49662}, {f: 3, c: 49665}, {f: 7, c: 49669},
49678, 49680, {f: 6, c: 49682}, {f: 2, c: 49690}, {f: 2, c: 49693},
{f: 7, c: 49697}, 49706, 49708, 49710, 49712, 49715, {f: 19, c: 49717},
{f: 7, c: 49737}, {f: 2, c: 49746}, {f: 3, c: 49749}, {f: 7, c: 49753},
{f: 4, c: 49761}, {f: 6, c: 49766}, {f: 2, c: 49774}, {f: 3, c: 49777},
{f: 7, c: 49781}, 49790, 49792, {f: 6, c: 49794}, {f: 6, c: 49802},
{f: 7, c: 49809}, {f: 2, c: 49817}, 49820, {f: 6, c: 49822},
{f: 2, c: 49830}, {f: 3, c: 49833}, {f: 6, c: 49838}, 49846, 49848,
{f: 34, c: 49850}, {f: 2, c: 49886}, {f: 2, c: 49889}, {f: 6, c: 49893},
49902, 49904, {f: 4, c: 49906}, 49911, 49914, {f: 3, c: 49917},
{f: 7, c: 49921}, {f: 2, c: 49930}, {f: 5, c: 49934}, {f: 2, c: 49942},
{f: 3, c: 49945}, {f: 7, c: 49949}, {f: 2, c: 49958}, {f: 27, c: 49962},
{f: 34, c: 49990}, {f: 2, c: 50026}, {f: 3, c: 50029}, 50033,
{f: 5, c: 50035}, {f: 2, c: 50042}, {f: 6, c: 50046}, {f: 3, c: 50053},
{f: 3, c: 50057}, {f: 51, c: 50061}, {f: 23, c: 50113}, {f: 2, c: 50138},
{f: 2, c: 50141}, 50145, {f: 5, c: 50147}, {f: 3, c: 50154},
{f: 6, c: 50158}, {f: 2, c: 50166}, {f: 15, c: 50169}, {f: 7, c: 50185},

{f: 19, c: 50193}, {f: 7, c: 50213}, {f: 3, c: 50221}, {f: 3, c: 50225},


{f: 7, c: 50229}, {f: 10, c: 50238}, {f: 27, c: 50249}, {f: 2, c: 50278},
{f: 3, c: 50281}, {f: 7, c: 50285}, {f: 3, c: 50294}, {f: 6, c: 50298},
{f: 19, c: 50305}, {f: 7, c: 50325}, {f: 27, c: 50333}, {f: 3, c: 50361},
{f: 44, c: 50365}, {f: 6, c: 50410}, {f: 2, c: 50418}, {f: 3, c: 50421},
50425, {f: 4, c: 50427}, {f: 10, c: 50434}, {f: 3, c: 50445},
{f: 3, c: 50449}, {f: 7, c: 50453}, {f: 11, c: 50461}, {f: 2, c: 50474},
{f: 3, c: 50477}, {f: 7, c: 50481}, 50490, 50492, {f: 6, c: 50494},
{f: 2, c: 50502}, 50507, {f: 4, c: 50511}, 50518, {f: 3, c: 50522}, 50527,
{f: 2, c: 50530}, {f: 3, c: 50533}, {f: 7, c: 50537}, 50546,
{f: 6, c: 50550}, {f: 2, c: 50558}, {f: 3, c: 50561}, {f: 2, c: 50565},
{f: 4, c: 50568}, 50574, 50576, {f: 3, c: 50578}, 50582, {f: 3, c: 50585},
{f: 3, c: 50589}, {f: 8, c: 50593}, {f: 10, c: 50602}, {f: 2, c: 50614},
50618, {f: 5, c: 50623}, 50635, 50637, 50639, {f: 2, c: 50642},
{f: 3, c: 50645}, {f: 7, c: 50649}, 50658, 50660, {f: 6, c: 50662}, 50671,
{f: 3, c: 50673}, 50677, {f: 4, c: 50680}, {f: 3, c: 50690},
{f: 3, c: 50697}, {f: 3, c: 50701}, {f: 7, c: 50705}, 50714,
{f: 7, c: 50717}, {f: 2, c: 50726}, {f: 3, c: 50729}, 50735,
{f: 2, c: 50737}, 50742, 50744, 50746, {f: 4, c: 50748}, {f: 2, c: 50754},
{f: 3, c: 50757}, {f: 7, c: 50761}, 50770, {f: 6, c: 50774},
{f: 2, c: 50782}, {f: 11, c: 50785}, {f: 2, c: 50797}, 50800,
{f: 6, c: 50802}, {f: 2, c: 50810}, {f: 3, c: 50813}, {f: 7, c: 50817},
50826, 50828, {f: 6, c: 50830}, {f: 2, c: 50838}, {f: 3, c: 50841},
{f: 7, c: 50845}, 50854, 50856, {f: 6, c: 50858}, {f: 2, c: 50866},
{f: 3, c: 50869}, {f: 5, c: 50875}, 50882, 50884, {f: 6, c: 50886},
{f: 2, c: 50894}, {f: 3, c: 50897}, {f: 7, c: 50901}, {f: 2, c: 50910},
{f: 6, c: 50914}, {f: 2, c: 50922}, {f: 3, c: 50925}, {f: 7, c: 50929},
{f: 3, c: 50938}, {f: 6, c: 50942}, {f: 2, c: 50950}, {f: 3, c: 50953},
{f: 7, c: 50957}, 50966, 50968, {f: 6, c: 50970}, {f: 2, c: 50978},
{f: 3, c: 50981}, {f: 7, c: 50985}, 50994, 50996, 50998, {f: 4, c: 51000},
{f: 2, c: 51006}, {f: 3, c: 51009}, {f: 5, c: 51013}, 51019, 51022, 51024,
{f: 3, c: 51033}, {f: 3, c: 51037}, {f: 7, c: 51041}, {f: 2, c: 51049},
{f: 8, c: 51052}, {f: 2, c: 51062}, {f: 3, c: 51065}, {f: 4, c: 51071},
51078, {f: 3, c: 51083}, 51087, {f: 2, c: 51090}, 51093, 51097,
{f: 5, c: 51099}, 51106, {f: 5, c: 51111}, {f: 2, c: 51118},
{f: 3, c: 51121}, {f: 7, c: 51125}, 51134, {f: 6, c: 51138},
{f: 2, c: 51146}, 51149, 51151, {f: 7, c: 51153}, {f: 4, c: 51161},
{f: 6, c: 51166}, {f: 3, c: 51173}, {f: 3, c: 51177}, {f: 19, c: 51181},
{f: 2, c: 51202}, {f: 3, c: 51205}, 51209, {f: 5, c: 51211}, 51218, 51220,
{f: 5, c: 51223}, {f: 2, c: 51230}, {f: 3, c: 51233}, {f: 7, c: 51237},
51246, 51248, {f: 6, c: 51250}, {f: 3, c: 51257}, {f: 3, c: 51261},
{f: 7, c: 51265}, {f: 2, c: 51274}, {f: 6, c: 51278}, {f: 27, c: 51285},
{f: 2, c: 51314}, {f: 3, c: 51317}, 51321, {f: 5, c: 51323}, 51330, 51332,
{f: 3, c: 51336}, {f: 6, c: 51342}, {f: 8, c: 51349}, 51358, 51360,
{f: 6, c: 51362}, {f: 19, c: 51369}, {f: 6, c: 51390}, {f: 3, c: 51397},
{f: 3, c: 51401}, {f: 7, c: 51405}, 51414, 51416, {f: 6, c: 51418},
{f: 2, c: 51426}, {f: 16, c: 51429}, {f: 6, c: 51446}, {f: 2, c: 51454},
{f: 3, c: 51457}, {f: 5, c: 51463}, 51470, 51472, {f: 6, c: 51474},
{f: 19, c: 51481}, {f: 7, c: 51501}, {f: 27, c: 51509}, {f: 2, c: 51538},
{f: 3, c: 51541}, {f: 7, c: 51545}, 51554, {f: 8, c: 51556},
{f: 3, c: 51565}, {f: 3, c: 51569}, {f: 7, c: 51573}, {f: 11, c: 51581},
{f: 2, c: 51594}, {f: 3, c: 51597}, {f: 7, c: 51601}, 51610, 51612,
{f: 34, c: 51614}, {f: 2, c: 51650}, {f: 2, c: 51653}, 51657,
{f: 5, c: 51659}, 51666, 51668, {f: 2, c: 51671}, 51675, {f: 2, c: 51678},
51681, 51683, {f: 2, c: 51685}, {f: 4, c: 51688}, 51694, {f: 6, c: 51698},
{f: 2, c: 51706}, {f: 3, c: 51709}, {f: 7, c: 51713}, 51722,
{f: 6, c: 51726}, {f: 3, c: 51733}, {f: 16, c: 51737}, {f: 34, c: 51754},
{f: 2, c: 51790}, {f: 3, c: 51793}, {f: 7, c: 51797}, 51806,
{f: 6, c: 51810}, {f: 20, c: 51817}, {f: 6, c: 51838}, {f: 19, c: 51845},
{f: 35, c: 51865}, {f: 2, c: 51902}, {f: 3, c: 51905}, {f: 7, c: 51909},

51918, 51920, 51922, {f: 4, c: 51924}, {f: 6, c: 51930}, {f: 11, c: 51937},
{f: 7, c: 51949}, {f: 19, c: 51957}, {f: 7, c: 51977}, {f: 3, c: 51985},
{f: 3, c: 51989}, {f: 7, c: 51993}, {f: 31, c: 52002}, {f: 6, c: 52034},
{f: 2, c: 52042}, {f: 3, c: 52045}, {f: 7, c: 52049}, {f: 3, c: 52058},
{f: 6, c: 52062}, {f: 19, c: 52069}, {f: 34, c: 52090}, {f: 27, c: 52125},
{f: 27, c: 52153}, {f: 15, c: 52181}, {f: 2, c: 52197}, 52200,
{f: 34, c: 52202}, {f: 2, c: 52238}, {f: 3, c: 52241}, {f: 7, c: 52245},
{f: 3, c: 52254}, {f: 4, c: 52259}, {f: 2, c: 52266}, 52269, 52271,
{f: 7, c: 52273}, 52282, {f: 5, c: 52287}, {f: 2, c: 52294},
{f: 3, c: 52297}, {f: 7, c: 52301}, 52310, {f: 6, c: 52314},
{f: 3, c: 52321}, 52325, 52327, {f: 7, c: 52329}, {f: 4, c: 52337},
{f: 34, c: 52342}, {f: 2, c: 52378}, {f: 3, c: 52381}, {f: 7, c: 52385},
52394, {f: 6, c: 52398}, {f: 2, c: 52406}, {f: 3, c: 52409},
{f: 7, c: 52413}, 52422, 52424, {f: 6, c: 52426}, {f: 3, c: 52433},
{f: 15, c: 52437}, {f: 7, c: 52453}, {f: 3, c: 52461}, {f: 16, c: 52465},
{f: 6, c: 52482}, {f: 2, c: 52490}, {f: 3, c: 52493}, {f: 7, c: 52497},
52506, 52508, {f: 6, c: 52510}, {f: 3, c: 52517}, {f: 3, c: 52521},
{f: 12, c: 52525}, {f: 34, c: 52538}, {f: 3, c: 52573}, {f: 3, c: 52577},
{f: 7, c: 52581}, 52590, 52592, {f: 6, c: 52594}, {f: 15, c: 52601},
{f: 11, c: 52617}, {f: 2, c: 52630}, {f: 3, c: 52633}, {f: 7, c: 52637},
52646, 52648, {f: 6, c: 52650}, {f: 19, c: 52657}, {f: 7, c: 52677},
{f: 3, c: 52685}, {f: 23, c: 52689}, {f: 3, c: 52713}, {f: 3, c: 52717},
{f: 7, c: 52721}, 52730, 52732, {f: 6, c: 52734}, {f: 3, c: 52741},
{f: 3, c: 52745}, {f: 7, c: 52749}, {f: 4, c: 52757}, {f: 6, c: 52762},
{f: 2, c: 52770}, {f: 3, c: 52773}, {f: 7, c: 52777}, 52786, 52788,
{f: 34, c: 52790}, {f: 2, c: 52826}, {f: 2, c: 52829}, {f: 6, c: 52834},
52842, 52844, {f: 6, c: 52846}, {f: 2, c: 52854}, {f: 3, c: 52857},
{f: 7, c: 52861}, 52870, 52872, {f: 6, c: 52874}, {f: 2, c: 52882},
{f: 3, c: 52885}, {f: 7, c: 52889}, 52898, {f: 6, c: 52902},
{f: 19, c: 52910}, {f: 34, c: 52930}, {f: 2, c: 52966}, {f: 2, c: 52969},
{f: 7, c: 52973}, 52982, {f: 6, c: 52986}, {f: 2, c: 52994},
{f: 3, c: 52997}, {f: 7, c: 53001}, 53010, 53012, {f: 6, c: 53014},
{f: 3, c: 53021}, {f: 3, c: 53025}, {f: 7, c: 53029}, 53038,
{f: 6, c: 53042}, {f: 27, c: 53049}, {f: 2, c: 53078}, {f: 3, c: 53081},
{f: 7, c: 53085}, 53094, 53096, {f: 6, c: 53098}, {f: 2, c: 53106},
{f: 3, c: 53109}, {f: 7, c: 53113}, {f: 4, c: 53121}, {f: 6, c: 53126},
{f: 20, c: 53133}, {f: 6, c: 53154}, {f: 7, c: 53161}, {f: 19, c: 53169},
{f: 27, c: 53189}, {f: 2, c: 53218}, {f: 3, c: 53221}, {f: 7, c: 53225},
53234, 53236, {f: 6, c: 53238}, {f: 3, c: 53245}, {f: 3, c: 53249},
{f: 12, c: 53253}, {f: 6, c: 53266}, {f: 20, c: 53273}, {f: 6, c: 53294},
{f: 2, c: 53302}, {f: 3, c: 53305}, {f: 7, c: 53309}, 53318, 53320,
{f: 6, c: 53322}, {f: 3, c: 53329}, {f: 3, c: 53333}, {f: 7, c: 53337},
{f: 11, c: 53345}, {f: 2, c: 53358}, {f: 3, c: 53361}, {f: 7, c: 53365},
{f: 3, c: 53374}, {f: 34, c: 53378}, {f: 2, c: 53414}, {f: 3, c: 53417},
{f: 7, c: 53421}, 53430, 53432, {f: 6, c: 53434}, {f: 2, c: 53442},
{f: 3, c: 53445}, {f: 6, c: 53450}, 53458, {f: 6, c: 53462},
{f: 2, c: 53470}, {f: 3, c: 53473}, {f: 7, c: 53477}, 53486,
{f: 6, c: 53490}, {f: 20, c: 53497}, {f: 34, c: 53518}, {f: 2, c: 53554},
{f: 3, c: 53557}, 53561, {f: 5, c: 53563}, 53570, {f: 6, c: 53574},
{f: 2, c: 53582}, {f: 3, c: 53585}, {f: 7, c: 53589}, 53598, 53600,
{f: 6, c: 53602}, {f: 3, c: 53609}, {f: 15, c: 53613}, {f: 7, c: 53629},
{f: 3, c: 53637}, {f: 23, c: 53641}, {f: 2, c: 53666}, {f: 3, c: 53669},
{f: 7, c: 53673}, 53682, 53684, {f: 4, c: 53686}, 53691, {f: 3, c: 53693},
{f: 23, c: 53697}, {f: 27, c: 53721}, {f: 3, c: 53749}, {f: 14, c: 53753},
53768, {f: 6, c: 53770}, {f: 27, c: 53777}, {f: 2, c: 53806},
{f: 3, c: 53809}, {f: 7, c: 53813}, 53822, 53824, {f: 6, c: 53826},
{f: 19, c: 53833}, {f: 7, c: 53853}, {f: 27, c: 53861}, {f: 2, c: 53890},
{f: 3, c: 53893}, {f: 7, c: 53897}, {f: 3, c: 53906}, {f: 6, c: 53910},
{f: 3, c: 53917}, {f: 3, c: 53921}, {f: 7, c: 53925}, {f: 4, c: 53933},
{f: 6, c: 53938}, {f: 2, c: 53946}, {f: 2, c: 53949}, 53953,

{f: 5, c: 53955}, 53962, {f: 8, c: 53964}, {f: 3, c: 53973},


{f: 3, c: 53977}, {f: 7, c: 53981}, {f: 10, c: 53990}, {f: 2, c: 54002},
{f: 3, c: 54005}, {f: 7, c: 54009}, 54018, 54020, {f: 6, c: 54022}, 54031,
{f: 3, c: 54033}, 54037, {f: 5, c: 54039}, 54046, {f: 3, c: 54050},
{f: 2, c: 54054}, {f: 2, c: 54058}, {f: 3, c: 54061}, {f: 7, c: 54065},
54074, {f: 6, c: 54078}, {f: 54, c: 54086}, {f: 2, c: 54142},
{f: 3, c: 54145}, {f: 7, c: 54149}, 54158, {f: 6, c: 54162},
{f: 2, c: 54170}, {f: 3, c: 54173}, {f: 7, c: 54177}, 54186, 54188,
{f: 6, c: 54190}, {f: 3, c: 54197}, {f: 3, c: 54201}, {f: 7, c: 54205},
{f: 2, c: 54214}, {f: 6, c: 54218}, {f: 7, c: 54225}, {f: 8, c: 54233},
54242, {f: 8, c: 54244}, {f: 2, c: 54254}, {f: 3, c: 54257},
{f: 7, c: 54261}, 54270, 54272, {f: 6, c: 54274}, {f: 20, c: 54281},
{f: 34, c: 54302}, {f: 3, c: 54337}, {f: 23, c: 54341}, {f: 3, c: 54365},
{f: 3, c: 54369}, {f: 8, c: 54373}, 54382, {f: 8, c: 54384},
{f: 2, c: 54394}, {f: 2, c: 54397}, 54401, {f: 5, c: 54403}, 54410, 54412,
{f: 6, c: 54414}, {f: 20, c: 54421}, {f: 34, c: 54442}, {f: 3, c: 54477},
{f: 3, c: 54481}, {f: 7, c: 54485}, {f: 2, c: 54493}, {f: 8, c: 54496},
{f: 3, c: 54505}, {f: 3, c: 54509}, {f: 7, c: 54513}, {f: 2, c: 54521},
54524, {f: 6, c: 54526}, {f: 3, c: 54533}, {f: 3, c: 54537},
{f: 7, c: 54541}, 54550, {f: 36, c: 54552}, {f: 2, c: 54590},
{f: 3, c: 54593}, {f: 7, c: 54597}, 54606, 54608, {f: 6, c: 54610},
{f: 2, c: 54618}, {f: 3, c: 54621}, {f: 4, c: 54625}, {f: 2, c: 54630},
54634, 54636, {f: 6, c: 54638}, {f: 2, c: 54646}, {f: 3, c: 54649},
{f: 7, c: 54653}, 54662, {f: 6, c: 54666}, {f: 20, c: 54673},
{f: 34, c: 54694}, {f: 2, c: 54730}, {f: 3, c: 54733}, 54737,
{f: 5, c: 54739}, 54746, 54748, {f: 6, c: 54750}, {f: 2, c: 54758},
{f: 3, c: 54761}, {f: 7, c: 54765}, 54774, 54776, {f: 6, c: 54778},
{f: 2, c: 54786}, {f: 3, c: 54789}, {f: 7, c: 54793}, 54802,
{f: 6, c: 54806}, {f: 3, c: 54813}, {f: 3, c: 54817}, {f: 8, c: 54821},
{f: 10, c: 54830}, {f: 2, c: 54842}, {f: 3, c: 54845}, {f: 4, c: 54849},
{f: 2, c: 54854}, 54858, 54860, {f: 3, c: 54862}, {f: 2, c: 54866},
{f: 2, c: 54870}, {f: 3, c: 54873}, {f: 10, c: 54877}, 54888,
{f: 6, c: 54890}, {f: 2, c: 54898}, {f: 14, c: 54901}, 54916,
{f: 6, c: 54918}, {f: 2, c: 54926}, {f: 3, c: 54929}, {f: 8, c: 54933},
54942, 54944, {f: 6, c: 54946}, {f: 3, c: 54953}, {f: 3, c: 54957},
{f: 8, c: 54961}, 54970, {f: 8, c: 54972}, {f: 2, c: 54982},
{f: 3, c: 54985}, {f: 4, c: 54989}, {f: 2, c: 54994}, {f: 2, c: 54997},
55000, {f: 6, c: 55002}, {f: 3, c: 55009}, {f: 3, c: 55013},
{f: 7, c: 55017}, {f: 4, c: 55025}, {f: 6, c: 55030}, {f: 2, c: 55038},
{f: 3, c: 55041}, {f: 12, c: 55045}, {f: 6, c: 55058}, {f: 2, c: 55066},
{f: 3, c: 55069}, {f: 7, c: 55073}, 55082, 55084, {f: 6, c: 55086},
{f: 2, c: 55094}, {f: 3, c: 55097}, {f: 7, c: 55101}, {f: 2, c: 55109},
55112, {f: 6, c: 55114}, {f: 2, c: 55122}, 55125, {f: 6, c: 55130}, 55138,
55140, {f: 3, c: 55142}, {f: 2, c: 55146}, {f: 3, c: 55149},
{f: 3, c: 55153}, {f: 7, c: 55157}, {f: 3, c: 55166}, {f: 6, c: 55170},
{f: 2, c: 55178}, {f: 3, c: 55181}, {f: 7, c: 55185}, 55194, 55196,
{f: 6, c: 55198}],
'Adobe-CNS1': [{f: 95, c: 32}, {s: 3}, 12288, 65292, {f: 2, c: 12289}, 65294,
8226, 65307, 65306, 65311, 65281, 65072, 8230, 8229, 65104, 65380, 65106,
183, {f: 4, c: 65108}, 65372, 8211, 65073, 8212, {s: 4}, {f: 2, c: 65288},
{f: 2, c: 65077}, 65371, 65373, {f: 2, c: 65079}, {f: 2, c: 12308},
{f: 2, c: 65081}, {f: 2, c: 12304}, {f: 2, c: 65083}, {f: 2, c: 12298},
{f: 2, c: 65085}, {f: 2, c: 12296}, {f: 2, c: 65087}, {f: 2, c: 12300},
{f: 2, c: 65089}, {f: 2, c: 12302}, {f: 2, c: 65091}, {f: 6, c: 65113},
{f: 2, c: 8216}, {f: 2, c: 8220}, {f: 2, c: 12317}, 8245, 8242, 65283,
65286, 65290, 8251, 167, 12291, 9675, 9679, 9651, 9650, 9678, 9734, 9733,
9671, 9670, 9633, 9632, 9661, 9660, 12963, 8453, 8254, 0, 65343, 0,
{f: 2, c: 65097}, {f: 2, c: 65101}, {f: 2, c: 65099}, {f: 3, c: 65119},
65291, 65293, 215, 247, 177, 8730, 65308, 65310, 65309, {f: 2, c: 8806},
8800, 8734, 8786, 8801, {f: 5, c: 65122}, 8764, {f: 2, c: 8745}, 8869,

8736, 8735, 8895, 13266, 13265, 8747, 8750, 8757, 8756, 9792, 9794, 9793,
9737, 8593, 8595, 8594, 8592, {f: 2, c: 8598}, 8601, 8600, 8741, 8739, 0,
0, 65295, 65340, 65284, 165, 12306, {f: 2, c: 162}, 65285, 65312, 8451,
8457, {f: 3, c: 65129}, 13269, {f: 3, c: 13212}, 13262, 13217,
{f: 2, c: 13198}, 13252, 176, [20825, 58834], [20827, 58835],
[20830, 58837], [20829, 58836], 20833, 20835, 21991, [29929, 58044],
[31950, 58191], {f: 8, c: 9601}, 9615, 9614, 9613, 9612, 9611, 9610, 9609,
9532, 9524, 9516, 9508, 9500, 9620, 9472, 9474, 9621, 9484, 9488, 9492,
9496, {f: 2, c: 9581}, 9584, 9583, 9552, 9566, 9578, 9569, {f: 2, c: 9698},
9701, 9700, {f: 3, c: 9585}, {f: 10, c: 65296}, {f: 10, c: 8544},
{f: 9, c: 12321}, 0, [21316, 57443], 0, {f: 26, c: 65313},
{f: 26, c: 65345}, {f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945},
{f: 7, c: 963}, {f: 37, c: 12549}, 729, 714, 711, 715, [9312, 63153],
[9313, 63154], [9314, 63155], [9315, 63156], [9316, 63157], [9317, 63158],
[9318, 63159], [9319, 63160], [9320, 63161], [9321, 63162], [9332, 63163],
[9333, 63164], [9334, 63165], [9335, 63166], [9336, 63167], [9337, 63168],
[9338, 63169], [9339, 63170], [9340, 63171], [9341, 63172], [8560, 63173],
[8561, 63174], [8562, 63175], [8563, 63176], [8564, 63177], [8565, 63178],
[8566, 63179], [8567, 63180], [8568, 63181], [8569, 63182], [12033, 20008],
[12034, 20022, 63183], [12035, 20031, 63184], [12037, 20101, 63185],
[12039, 20128, 63186], [12044, 20866, 63187], [12045, 20886, 63188],
[12046, 20907, 63189], [12051, 21241, 63190], [12054, 21304, 63191],
[12057, 21353, 63192], [12059, 21430, 63193],
[12065, 12066, 22786, 22794, 63194], [12071, 23424, 63195],
[12078, 24027, 63196], [12083, 24186, 63197], [12084, 24191, 63198],
[12085, 24308], [12089, 24400, 63200], [12090, 24417, 63201],
[12097, 25908, 63202], [12102, 26080], [12135, 30098, 63204],
[12136, 30326], [12193, 36789, 63206], [12202, 38582], {f: 32, c: 9216},
9249, [12032, 19968], [12036, 20057], 19969, 19971, 20035, 20061, 20102,
[12038, 20108], [12040, 20154], [12041, 20799], [12042, 20837],
[12043, 20843], [12047, 20960], [12049, 20992], 20993, [12050, 21147],
[12052, 21269], [12055, 21313], [12056, 21340], [12060, 21448], 19977,
19979, 19976, 19978, 20011, 20024, 20961, 20037, 20040, 20063, 20062,
20110, 20129, [20800, 64012], 20995, 21242, 21315, 21449, [12061, 21475],
[12063, 22303], [12064, 22763], [12067, 22805], [12068, 22823],
[12069, 22899], [12070, 23376], 23377, 23379, [12072, 23544],
[12073, 23567], [12074, 23586], [12075, 23608], [12077, 23665], 24029,
[12079, 24037], [12080, 24049], {f: 2, c: 24050}, [12081, 24062],
[12082, 24178], [12086, 24318], [12087, 24331], [12088, 24339], 25165,
19985, 19984, 19981, 20013, 20016, 20025, 20043, 23609, 20104, 20113,
20117, 20114, 20116, 20130, 20161, 20160, 20163, {f: 2, c: 20166}, 20173,
{f: 2, c: 20170}, 20164, 20803, 20801, 20839, {f: 2, c: 20845}, 20844,
20887, 20982, {f: 3, c: 20998}, 21243, {f: 2, c: 21246}, 21270, 21305,
21320, 21319, 21317, 21342, 21380, 21451, 21450, 21453, 22764, 22825,
22827, 22826, 22829, 23380, 23569, 23588, 23610, 23663, 24052, 24187,
24319, {f: 2, c: 24340}, [12092, 24515], [12093, 25096], [12094, 25142],
[12095, 25163], 25166, [12096, 25903], [12098, 25991], [12099, 26007],
[12100, 26020], [12101, 26041], [12103, 26085], [12104, 26352],
[12105, 26376], [12106, 26408], [12107, 27424], [12108, 27490],
[12109, 27513], [12111, 27595], [12112, 27604], [12113, 27611],
[12114, 27663], [12116, 27700], [12117, 28779], [12118, 29226],
[12119, 29238], [12120, 29243], [12122, 29255], [12123, 29273],
[12124, 29275], [12125, 29356], 29579, 19993, 19990, 19989, 19988, 19992,
20027, 20045, 20047, 20046, 20197, 20184, {f: 4, c: 20180},
{f: 2, c: 20195}, 20185, 20190, 20805, 20804, {f: 2, c: 20873}, 20908,
{f: 2, c: 20985}, 20984, 21002, 21152, 21151, [21253, 57435], 21254, 21271,
21277, 20191, 21322, 21321, 21345, 21344, 21359, 21358, 21435, 21487,
21476, 21491, 21484, 21486, 21481, 21480, 21500, 21496, 21493, 21483,
21478, 21482, 21490, 21489, 21488, 21477, 21485, 21499, 22235, 22234,
22806, 22830, 22833, 22900, 22902, 23381, 23427, 23612, 24040, 24039,

24038, {f: 2, c: 24066}, 24179, 24188, 24321, 24344, 24343, 24517, 25098,
{f: 2, c: 25171}, 25170, 25169, 26021, 26086, 26414, 26412,
{f: 2, c: 26410}, 26413, 27491, 27597, 27665, 27664, 27704, 27713, 27712,
27710, 29359, [12126, 29572], [12127, 29577], [12128, 29916],
[12129, 29926], [12130, 29976], [12131, 29983], [12132, 29992], 29993,
[12133, 30000], {f: 3, c: 30001}, [12134, 30091], [12137, 30333],
[12138, 30382], [12139, 30399], [12140, 30446], [12141, 30683],
[12142, 30690], [12143, 30707], [12144, 31034], [12146, 31166],
[12147, 31348], [12148, 31435], {f: 2, c: 19998}, {f: 2, c: 20050}, 20073,
20121, 20132, 20134, 20133, 20223, 20233, 20249, 20234, 20245, 20237,
{f: 2, c: 20240}, 20239, 20210, 20214, 20219, 20208, 20211, 20221, 20225,
20235, 20809, 20807, 20806, 20808, 20840, 20849, 20877, 20912, 21015,
{f: 2, c: 21009}, 21006, 21014, 21155, 21256, 21281, 21280,
{f: 2, c: 21360}, 21513, 21519, 21516, 21514, 21520, 21505, 21515, 21508,
21521, 21517, 21512, 21507, 21518, 21510, 21522, 22240, 22238, 22237,
22323, 22320, 22312, 22317, 22316, 22319, 22313, {f: 2, c: 22809},
{f: 2, c: 22839}, 22916, 22904, 22915, 22909, 22905, 22914, 22913,
{f: 2, c: 23383}, {f: 2, c: 23431}, 23429, 23433, 23546, 23574, 23673,
24030, 24070, 24182, 24180, 24335, 24347, 24537, 24534, 25102,
{f: 2, c: 25100}, 25104, 25187, 25179, 25176, 25910, 26089, 26088,
{f: 2, c: 26092}, {f: 2, c: 26354}, 26377, 26429, 26420, 26417, 26421,
27425, 27492, 27515, 27670, 27741, 27735, 27737, {f: 2, c: 27743}, 27728,
27733, 27745, 27739, {f: 2, c: 27725}, 28784, 29279, 29277, 30334,
[12149, 31481], [12150, 31859], [12151, 31992], [12152, 32566],
[12154, 32650], [12155, 32701], [12156, 32769], 32771, [12157, 32780],
[12158, 32786], [12159, 32819], [12160, 32895], [12161, 32905],
{f: 2, c: 32907}, [12162, 33251], [12163, 33258], [12164, 33267],
[12165, 33276], [12166, 33292], [12167, 33307], [12168, 33311],
[12169, 33390], [12170, 33394], 33406, [12173, 34411], [12174, 34880],
[12175, 34892], [12176, 34915], 35199, 38433, 20018, 20136, 20301, 20303,
20295, 20311, 20318, 20276, 20315, 20309, 20272, {f: 2, c: 20304}, 20285,
20282, 20280, 20291, 20308, 20284, 20294, 20323, 20316, 20320, 20271,
20302, 20278, 20313, 20317, 20296, 20314, 20812, 20811, 20813, 20853,
{f: 2, c: 20918}, 21029, 21028, {f: 2, c: 21033}, 21032, 21163,
{f: 2, c: 21161}, 21164, 21283, 21363, 21365, 21533, 21549, 21534, 21566,
21542, 21582, 21543, 21574, 21571, 21555, 21576, 21570, 21531, 21545,
21578, 21561, 21563, 21560, 21550, {f: 2, c: 21557}, 21536, 21564, 21568,
21553, 21547, 21535, 21548, 22250, 22256, 22244, 22251, 22346, 22353,
22336, 22349, 22343, 22350, 22334, 22352, 22351, 22331, 22767, 22846,
22941, 22930, 22952, 22942, 22947, 22937, 22934, 22925, 22948, 22931,
22922, 22949, 23389, 23388, {f: 2, c: 23386}, 23436, 23435, 23439, 23596,
{f: 2, c: 23616}, 23615, 23614, {f: 2, c: 23696}, 23700, 23692, 24043,
24076, 24207, 24199, 24202, 24311, 24324, 24351, 24420, 24418, 24439,
24441, 24536, 24524, 24535, 24525, 24561, 24555, 24568, 24554, 25106,
25105, 25220, 25239, 25238, 25216, 25206, 25225, 25197, 25226, 25212,
25214, 25209, 25203, 25234, 25199, 25240, 25198, 25237, 25235, 25233,
25222, 25913, 25915, 25912, 26097, 26356, 26463, {f: 4, c: 26446}, 26460,
26454, [26462, 57801], 26441, 26438, 26464, 26451, 26455, 27493, 27599,
27714, 27742, 27801, 27777, {f: 2, c: 27784}, 27781, 27803, 27754, 27770,
27792, 27760, 27788, 27752, 27798, 27794, 27773, 27779, 27762, 27774,
27764, 27782, 27766, 27789, 27796, 27800, 27778, 28790, {f: 2, c: 28796},
28792, 29282, 29281, 29280, 29380, 29378, 29590, 29996, 29995,
{f: 2, c: 30007}, 30338, 30447, 30691, 31169, 31168, 31167, 31350, 31995,
32597, 32918, 32915, 32925, 32920, 32923, 32922, 32946, 33391, 33426,
33419, 33421, [12178, 35211], [12179, 35282], [12180, 35328],
[12181, 35895], [12182, 35910], [12183, 35925], [12185, 35997],
[12186, 36196], [12187, 36208], [12188, 36275], [12189, 36523],
[12190, 36554], [12191, 36763], [12192, 36784], 36802, 36806, 36805, 36804,
24033, [12194, 37009], 37026, 37034, 37030, 37027, [12195, 37193],
[12196, 37318], [12197, 37324], 38450, 38446, 38449, 38442, 38444, 20006,

20054, 20083, 20107, 20123, 20126, {f: 2, c: 20139}, 20335, 20381, 20365,
20339, 20351, 20332, 20379, 20363, 20358, 20355, 20336, 20341, 20360,
20329, 20347, 20374, 20350, 20367, 20369, 20346, 20820, 20818, 20821,
20841, 20855, 20854, 20856, 20925, 20989, 21051, 21048, 21047, 21050,
21040, 21038, 21046, 21057, 21182, 21179, 21330, 21332, 21331, 21329,
21350, {f: 3, c: 21367}, 21462, 21460, 21463, 21619, 21621, 21654, 21624,
21653, 21632, 21627, 21623, 21636, 21650, 21638, 21628, 21648, 21617,
21622, 21644, 21658, 21602, 21608, 21643, 21629, 21646, 22266, 22403,
22391, 22378, 22377, 22369, 22374, 22372, 22396, 22812, 22857,
{f: 2, c: 22855}, 22852, 22868, 22974, 22971, 22996, 22969, 22958, 22993,
22982, 22992, 22989, 22987, 22995, 22986, 22959, 22963, 22994, 22981,
23391, 23396, 23395, 23447, 23450, 23448, 23452, 23449, 23451, 23578,
23624, {f: 2, c: 23621}, 23735, 23713, 23736, 23721, 23723, 23729, 23731,
24088, 24090, 24086, 24085, 24091, 24081, 24184, 24218, 24215, 24220,
{f: 2, c: 24213}, 24310, {f: 2, c: 24358}, 24361, {f: 2, c: 24448}, 24447,
24444, 24541, 24544, 24573, 24565, 24575, 24591, 24596, 24623, 24629,
24598, 24618, 24597, 24609, 24615, 24617, 24619, 24603, 25110, 25109,
25151, 25150, 25152, 25215, 25289, 25292, 25284, 25279, 25282, 25273,
25298, 25307, 25259, {f: 2, c: 25299}, 25291, 25288, 25256, 25277, 25276,
[25296, 60582], 25305, 25287, 25293, 25269, 25306, 25265, 25304,
{f: 2, c: 25302}, 25286, 25260, [25294, 61010], 25918, 26023, 26044, 26106,
26132, 26131, 26124, 26118, 26114, 26126, 26112, 26127, 26133, 26122,
26119, 26381, 26379, 26477, 26507, 26517, 26481, 26524, 26483, 26487,
26503, 26525, 26519, {f: 2, c: 26479}, 26495, 26505, 26494, 26512, 26485,
26522, 26515, 26492, 26474, 26482, 27427, {f: 2, c: 27494}, 27519, 27667,
27675, 27875, 27880, 27891, 27825, 27852, 27877, 27827, {f: 2, c: 27837},
27836, 27874, 27819, 27861, 27859, 27832, 27844, 27833, 27841, 27822,
27863, 27845, 27889, 27839, 27835, 27873, 27867, 27850, 27820, 27887,
27868, 27862, 27872, 28821, 28814, 28818, 28810, 28825, {f: 2, c: 29228},
29240, 29256, 29287, 29289, 29376, 29390, 29401, 29399, 29392, 29609,
29608, 29599, 29611, 29605, 30013, 30109, {f: 2, c: 30105}, 30340, 30402,
30450, 30452, 30693, 30717, 31038, {f: 2, c: 31040}, 31177, 31176, 31354,
31353, 31482, 31998, 32596, 32652, 32651, [32773, 58236], 32954, 32933,
32930, 32945, 32929, 32939, 32937, 32948, 32938, 32943, 33253, 33278,
33293, 33459, 33437, 33433, 33453, 33469, 33439, 33465, 33457, 33452,
33445, 33455, 33464, 33443, 33456, 33470, 33463, 34382, 34417, 21021,
34920, 36555, 36814, 36820, 36817, 37045, 37048, 37041, 37046, 37319,
[12198, 37329], [12199, 38263], [12200, 38272], [12201, 38428], 38464,
38463, 38459, 38468, 38466, [12203, 38585], [12204, 38632], 38738,
[12206, 38750], 20127, {f: 2, c: 20141}, 20449, 20405, 20399, 20415, 20448,
20433, 20431, 20445, 20419, 20406, 20440, 20447, 20426, 20439, 20398,
20432, 20420, 20418, 20442, 20430, 20446, 20407, 20823, 20882, 20881,
20896, 21070, 21059, 21066, 21069, 21068, 21067, 21063, 21191, 21193,
21187, 21185, 21261, 21335, 21371, 21402, 21467, 21676, 21696, 21672,
21710, 21705, 21688, 21670, 21683, 21703, 21698, 21693, 21674, 21697,
21700, 21704, 21679, 21675, 21681, 21691, 21673, 21671, 21695, 22271,
22402, 22411, 22432, 22435, 22434, 22478, 22446, 22419, 22869, 22865,
22863, 22862, 22864, 23004, 23000, 23039, 23011, 23016, 23043, 23013,
23018, 23002, 23014, 23041, 23035, 23401, 23459, 23462, 23460, 23458,
23461, 23553, {f: 2, c: 23630}, 23629, 23627, 23769, 23762, 24055, 24093,
24101, 24095, 24189, 24224, 24230, 24314, 24328, 24365, 24421, 24456,
24453, {f: 2, c: 24458}, 24455, 24460, 24457, 24594, 24605, 24608, 24613,
24590, 24616, 24653, 24688, 24680, [24674, 60712], 24646, 24643, 24684,
24683, 24682, 24676, 25153, 25308, 25366, 25353, 25340, 25325, 25345,
25326, 25341, 25351, 25329, 25335, 25327, 25324, 25342, 25332, 25361,
25346, 25919, 25925, 26027, 26045, 26082, 26149, 26157, 26144, 26151,
26159, 26143, 26152, 26161, 26148, 26359, 26623, 26579, 26609, 26580,
26576, 26604, 26550, 26543, 26613, 26601, 26607, 26564, 26577, 26548,
26586, 26597, 26552, 26575, 26590, 26611, 26544, 26585, 26594, 26589,
26578, 27498, 27523, 27526, 27573, 27602, 27607, 27679, 27849, 27915,

27954, 27946, 27969, 27941, 27916, 27953, 27934, 27927, 27963,


{f: 2, c: 27965}, 27958, 27931, 27893, 27961, 27943, 27960, 27945, 27950,
27957, 27918, 27947, 28843, 28858, 28851, 28844, 28847, 28845, 28856,
28846, 28836, 29232, 29298, 29295, 29300, 29417, {f: 2, c: 29408}, 29623,
29642, 29627, 29618, 29645, 29632, 29619, 29978, 29997, 30031, 30028,
30030, 30027, 30123, {f: 2, c: 30116}, {f: 2, c: 30114}, 30328,
{f: 3, c: 30342}, 30408, 30406, 30403, 30405, 30465, 30457, 30456, 30473,
30475, 30462, 30460, 30471, 30684, 30722, 30740, {f: 2, c: 30732}, 31046,
31049, 31048, 31047, {f: 2, c: 31161}, {f: 2, c: 31185}, 31179, 31359,
31361, 31487, 31485, 31869, 32002, 32005, 32000, 32009, 32007, 32004,
32006, 32568, 32654, 32703, 32784, 32781, 32785, 32822, 32982, 32997,
32986, {f: 2, c: 32963}, 32972, 32993, 32987, 32974, 32990, 32996, 32989,
33268, 33314, 33511, 33539, 33541, 33507, 33499, 33510, 33540, 33509,
33538, 33545, 33490, 33495, 33521, 33537, 33500, 33492, 33489, 33502,
33491, 33503, 33519, 33542, 34384, 34425, 34427, 34426, 34893, 34923,
35201, 35284, 35336, {f: 2, c: 35330}, 35998, 36000, 36212, 36211, 36276,
36557, 36556, 36848, 36838, 36834, 36842, 36837, 36845, 36843, 36836,
36840, 37066, 37070, 37057, 37059, 37195, 37194, 37325, 38274, 38480,
{f: 3, c: 38475}, [12207, 38754], [12208, 38761], [12209, 38859],
[12210, 38893], [12211, 38899], [12212, 38913], [12213, 39080],
[12214, 39131], [12215, 39135], [12216, 39318], [12217, 39321], 20056,
20147, {f: 2, c: 20492}, 20515, 20463, 20518, 20517, 20472, [20521, 57375],
20502, 20486, 20540, 20511, 20506, 20498, 20497, 20474, 20480, 20500,
20520, 20465, 20513, 20491, 20505, 20504, 20467, 20462, 20525, 20522,
20478, 20523, 20489, 20860, {f: 2, c: 20900}, 20898, 20941, 20940, 20934,
20939, 21078, 21084, 21076, 21083, 21085, 21290, [21375, 57459], 21407,
21405, 21471, 21736, 21776, 21761, 21815, 21756, 21733, 21746, 21766,
21754, 21780, 21737, 21741, 21729, 21769, 21742, 21738, 21734, 21799,
21767, 21757, 21775, {f: 2, c: 22275}, 22466, 22484, 22475, 22467, 22537,
22799, {f: 2, c: 22871}, 22874, 23057, 23064, 23068, 23071, 23067, 23059,
23020, 23072, 23075, 23081, 23077, 23052, 23049, 23403, 23640, 23472,
23475, 23478, 23476, 23470, 23477, 23481, 23480, 23556, 23633, 23637,
23632, 23789, 23805, 23803, 23786, 23784, 23792, 23798, 23809, 23796,
24046, 24109, 24107, 24235, 24237, 24231, 24369, 24466, 24465, 24464,
24665, 24675, 24677, 24656, 24661, 24685, 24681, 24687, 24708, 24735,
24730, 24717, 24724, 24716, 24709, 24726, 25159, 25331, 25352, 25343,
25422, 25406, 25391, 25429, 25410, 25414, 25423, 25417, 25402, 25424,
25405, {f: 2, c: 25386}, 25384, 25421, 25420, {f: 2, c: 25928}, 26009,
26049, 26053, 26178, 26185, 26191, 26179, 26194, 26188, 26181, 26177,
26360, {f: 2, c: 26388}, 26391, 26657, 26680, 26696, 26694, 26707, 26681,
26690, 26708, 26665, 26803, 26647, 26700, 26705, 26685, 26612, 26704,
26688, 26684, 26691, 26666, 26693, 26643, 26648, 26689, 27530, 27529,
27575, 27683, {f: 2, c: 27687}, 27686, 27684, 27888, 28010, 28053, 28040,
28039, 28006, 28024, 28023, 27993, 28051, 28012, 28041, 28014, 27994,
28020, 28009, 28044, 28042, 28025, 28037, 28005, 28052, 28874, 28888,
28900, 28889, 28872, 28879, 29241, 29305, 29436, 29433, 29437, 29432,
29431, 29574, 29677, 29705, 29678, 29664, 29674, 29662, 30036, 30045,
30044, 30042, 30041, 30142, 30149, 30151, {f: 2, c: 30130}, 30141, 30140,
30137, 30146, 30136, 30347, 30384, 30410, {f: 2, c: 30413}, 30505,
{f: 2, c: 30495}, 30504, 30697, 30768, 30759, 30776, 30749, 30772, 30775,
30757, 30765, 30752, 30751, 30770, 31061, 31056, 31072, 31071, 31062,
31070, 31069, 31063, 31066, 31204, [31203, 60418], 31207, 31199, 31206,
31209, 31192, 31364, 31368, 31449, 31494, 31505, 31881, 32033, 32023,
32011, 32010, 32032, 32034, 32020, 32016, 32021, 32026, 32028, 32013,
32025, 32027, 32570, 32607, 32660, 32709, 32705, 32774, 32772, 32792,
32789, 32793, 32791, 32829, 32831, 33009, 33026, 33008, 33029, 33005,
33012, 33030, 33016, 33011, 33032, 33021, 33034, 33020, 33007, 33261,
33260, 33280, 33296, {f: 2, c: 33322}, 33320, 33324, 33467, 33579, 33618,
33620, 33610, 33592, 33616, 33609, 33589, 33588, 33615, 33586, 33593,
33590, 33559, 33600, 33585, 33576, 33603, 34388, 34442, 34474, 34451,

34468, 34473, 34444, 34467, 34460, 34928, 34935, {f: 2, c: 34945}, 34941,
34937, 35352, 35344, 35342, 35340, 35349, 35338, 35351, 35347, 35350,
35343, 35345, 35912, 35962, 35961, {f: 2, c: 36001}, [36215, 58442], 36524,
36562, 36564, 36559, 36785, 36865, 36870, 36855, 36864, 36858, 36852,
36867, 36861, 36869, 36856, 37013, 37089, 37085, 37090, 37202, 37197,
37196, 37336, 37341, 37335, 37340, 37337, 38275, {f: 2, c: 38498}, 38497,
38491, 38493, 38500, 38488, 38494, 38587, 39138, [12218, 39340],
[12219, 39592], [12220, 39640], [12222, 39717], [12224, 39730],
[12225, 39740], 20094, 20602, [20605, 57382], 20572, 20551, 20547, 20556,
20570, 20553, 20581, 20598, 20558, 20565, 20597, 20596, 20599, 20559,
20495, 20591, 20589, 20828, 20885, 20976, 21098, 21103, 21202, 21209,
21208, 21205, 21264, 21263, 21273, {f: 2, c: 21311}, 21310, 21443, 26364,
21830, 21866, 21862, 21828, 21854, 21857, 21827, 21834, 21809, 21846,
21839, 21845, 21807, 21860, 21816, 21806, 21852, 21804, 21859, 21811,
21825, 21847, 22280, 22283, 22281, 22495, 22533, 22538, 22534, 22496,
22500, 22522, 22530, 22581, 22519, 22521, 22816, 22882, 23094, 23105,
23113, 23142, 23146, 23104, 23100, 23138, 23130, 23110, 23114, 23408,
23495, 23493, 23492, 23490, 23487, 23494, 23561, 23560, 23559, 23648,
{f: 2, c: 23644}, 23815, 23814, 23822, 23835, 23830, 23842, 23825, 23849,
23828, 23833, 23844, 23847, 23831, 24034, 24120, 24118, 24115, 24119,
{f: 2, c: 24247}, 24246, 24245, 24254, 24373, 24375, 24407, 24428, 24425,
24427, 24471, 24473, 24478, 24472, 24481, 24480, 24476, 24703, 24739,
24713, 24736, 24744, 24779, 24756, 24806, 24765, 24773, 24763, 24757,
24796, 24764, 24792, 24789, 24774, 24799, 24760, 24794, 24775,
{f: 2, c: 25114}, 25160, 25504, 25511, 25458, 25494, 25506, 25509, 25463,
25447, 25496, 25514, 25457, 25513, 25481, 25475, 25499, 25451, 25512,
25476, 25480, 25497, 25505, 25516, 25490, 25487, 25472, 25467, 25449,
25448, 25466, 25949, 25942, 25937, 25945, 25943, 21855, 25935, 25944,
25941, 25940, 26012, 26011, 26028, 26063, {f: 2, c: 26059}, 26062, 26205,
26202, 26212, 26216, 26214, 26206, 26361, 21207, 26395, 26753, 26799,
26786, 26771, 26805, 26751, 26742, 26801, 26791, 26775, 26800, 26755,
26820, 26797, 26758, 26757, 26772, 26781, 26792, 26783, 26785, 26754,
27442, 27578, {f: 2, c: 27627}, 27691, 28046, 28092, 28147, 28121, 28082,
28129, 28108, 28132, 28155, 28154, 28165, 28103, 28107, 28079, 28113,
28078, 28126, 28153, 28088, 28151, 28149, 28101, 28114, 28186, 28085,
28122, 28139, 28120, 28138, 28145, 28142, 28136, 28102, 28100, 28074,
28140, 28095, 28134, 28921, {f: 2, c: 28937}, 28925, 28911, 29245, 29309,
29313, 29468, 29467, 29462, 29459, 29465, 29575, 29701, 29706, 29699,
29702, 29694, 29709, 29920, {f: 2, c: 29942}, 29980, 29986,
{f: 2, c: 30053}, 30050, 30064, 30095, {f: 2, c: 30164}, 30133, 30154,
30157, 30350, 30420, 30418, 30427, 30519, 30526, 30524, 30518, 30520,
30522, 30827, 30787, 30798, 31077, 31080, 31085, 31227, 31378, 31381,
31520, 31528, 31515, 31532, 31526, 31513, 31518, 31534, 31890, 31895,
31893, 32070, 32067, 32113, 32046, 32057, 32060, 32064, 32048, 32051,
32068, 32047, 32066, 32050, 32049, 32573, 32670, 32666, 32716, 32718,
32722, 32796, 32842, 32838, 33071, 33046, 33059, 33067, 33065, 33072,
33060, 33282, 33333, 33335, 33334, 33337, 33678, 33694, 33688, 33656,
33698, 33686, 33725, 33707, 33682, 33674, 33683, 33673, 33696, 33655,
{f: 2, c: 33659}, 33670, 33703, 34389, 24426, 34503, 34496, 34486, 34500,
34485, 34502, 34507, 34481, 34479, 34505, 34899, 34974, 34952, 34987,
34962, 34966, 34957, 34955, 35219, 35215, 35370, 35357, 35363, 35365,
35377, 35373, 35359, 35355, 35362, 35913, 35930, 36009, 36012, 36011,
36008, 36010, 36007, 36199, 36198, 36286, 36282, 36571, 36575, 36889,
36877, 36890, 36887, 36899, 36895, 36893, 36880, 36885, 36894, 36896,
36879, 36898, 36886, 36891, 36884, 37096, 37101, [37117, 58488], 37207,
37326, 37365, 37350, 37347, 37351, 37357, 37353, 38281, 38506, 38517,
38515, 38520, 38512, 38516, {f: 2, c: 38518}, 38508, 38592, 38634, 38633,
31456, 31455, {f: 2, c: 38914}, [12226, 39770], [12227, 40165],
[12228, 40565], [12229, 40575], [12230, 40613], [12231, 40635], 20642,
20621, 20613, 20633, 20625, 20608, 20630, 20632, 20634, 26368, 20977,

21106, {f: 2, c: 21108}, 21097, 21214, 21213, 21211, 21338, 21413, 21883,
21888, 21927, 21884, 21898, 21917, 21912, 21890, 21916, 21930, 21908,
21895, 21899, 21891, 21939, 21934, 21919, 21822, 21938, 21914, 21947,
21932, 21937, 21886, 21897, 21931, 21913, 22285, 22575, 22570, 22580,
22564, {f: 2, c: 22576}, 22561, 22557, 22560, {f: 2, c: 22777}, 22880,
[23159, 57587], 23194, 23167, 23186, 23195, 23207, 23411, 23409, 23506,
23500, 23507, 23504, {f: 2, c: 23562}, 23601, 23884, 23888, 23860, 23879,
24061, 24133, 24125, 24128, 24131, 24190, 24266, {f: 2, c: 24257}, 24260,
24380, 24429, {f: 2, c: 24489}, 24488, 24785, 24801, 24754, 24758, 24800,
24860, 24867, 24826, 24853, 24816, 24827, 24820, 24936, 24817, 24846,
24822, 24841, 24832, 24850, 25119, 25161, 25507, 25484, 25551, 25536,
25577, 25545, 25542, 25549, 25554, 25571, 25552, 25569, 25558,
{f: 2, c: 25581}, 25462, 25588, 25578, 25563, 25682, 25562, 25593, 25950,
25958, {f: 2, c: 25954}, 26001, 26000, 26031, 26222, 26224, [26228, 57786],
26230, 26223, 26257, 26234, 26238, 26231, {f: 2, c: 26366}, 26399, 26397,
26874, 26837, 26848, 26840, 26839, 26885, 26847, 26869, 26862, 26855,
26873, 26834, 26866, 26851, 26827, 26829, 26893, 26898, 26894, 26825,
26842, 26990, 26875, 27454, 27450, 27453, 27544, 27542, 27580, 27631,
{f: 2, c: 27694}, 27692, [28207, 57904], 28216, 28244, 28193, 28210, 28263,
28234, 28192, 28197, 28195, 28187, 28251, 28248, 28196, 28246, 28270,
28205, 28198, 28271, 28212, 28237, 28218, 28204, 28227, [28189, 57901],
28222, 28363, 28297, 28185, 28238, 28259, 28228, 28274, 28265, 28255,
{f: 2, c: 28953}, 28966, 28976, 28961, 28982, [29038, 57958], 28956, 29260,
29316, 29312, 29494, 29477, 29492, 29481, 29754, 29738, 29747, 29730,
29733, {f: 2, c: 29749}, 29748, 29743, 29723, 29734, 29736,
{f: 2, c: 29989}, 30059, 30058, 30178, 30171, 30179, 30169, 30168, 30174,
30176, {f: 2, c: 30331}, 30358, 30355, 30388, 30428, 30543, 30701, 30813,
30828, 30831, 31245, 31240, 31243, 31237, 31232, 31384, 31383, 31382,
31461, 31459, 31561, 31574, 31558, 31568, 31570, 31572, 31565, 31563,
31567, [31569, 60510], 31903, 31909, 32094, 32080, 32104, 32085, 32043,
32110, 32114, 32097, 32102, 32098, 32112, 32115, 21892, {f: 2, c: 32724},
32779, 32850, 32901, 33109, 33108, 33099, 33105, 33102, 33081, 33094,
33086, 33100, 33107, 33140, 33298, 33308, 33769, 33795, 33784, 33805,
33760, 33733, 33803, [33729, 58309], 33775, 33777, 33780, 33879, 33802,
33776, 33804, 33740, 33789, 33778, 33738, 33848, 33806, 33796, 33756,
33799, 33748, 33759, 34395, 34527, 34521, 34541, 34516, 34523, 34532,
34512, 34526, 34903, {f: 2, c: 35009}, 34993, 35203, 35222, 35387, 35424,
35413, 35422, 35388, 35393, 35412, 35419, 35408, 35398, 35380, 35386,
35382, 35414, 35937, 35970, 36015, 36028, 36019, 36029, 36033, 36027,
36032, 36020, 36023, 36022, 36031, 36024, 36234, 36229, 36225, 36302,
36317, 36299, 36314, 36305, 36300, 36315, 36294, 36603, 36600, 36604,
36764, 36910, 36917, 36913, 36920, 36914, 36918, 37122, 37109, 37129,
37118, 37219, 37221, 37327, {f: 2, c: 37396}, 37411, 37385, 37406, 37389,
37392, 37383, 37393, 38292, 38287, 38283, 38289, 38291, 38290, 38286,
38538, 38542, 38539, 38525, {f: 2, c: 38533}, 38541, 38514, 38532, 38593,
38597, 38596, {f: 2, c: 38598}, 38639, 38642, 38860, {f: 2, c: 38917},
38920, 39143, 39146, 39151, 39145, 39154, 39149, 39342, 39341,
[12232, 40643], [12233, 40653], [12234, 40657], 20098, 20653, 20661,
{f: 2, c: 20658}, 20677, 20670, 20652, 20663, 20667, 20655, 20679, 21119,
21111, 21117, 21215, 21222, 21220, {f: 2, c: 21218}, 21295, 21983, 21992,
21971, 21990, 21966, 21980, 21959, 21969, {f: 2, c: 21987}, 21999, 21978,
21985, {f: 2, c: 21957}, 21989, 21961, {f: 2, c: 22290}, 22622, 22609,
22616, 22615, 22618, 22612, 22635, 22604, 22637, 22602, 22626, 22610,
22603, 22887, 23233, 23241, 23244, 23230, 23229, 23228, 23219, 23234,
23218, 23913, 23919, 24140, 24185, 24265, 24264, 24338, 24409, 24492,
24494, 24858, 24847, 24904, 24863, 24819, 24859, 24825, 24833, 24840,
24910, 24908, 24900, 24909, 24894, 24884, 24871, 24845, 24838, 24887,
{f: 2, c: 25121}, 25619, 25662, 25630, 25642, 25645, 25661, 25644, 25615,
25628, 25620, 25613, 25654, {f: 2, c: 25622}, 25606, 25964, 26015, 26032,
26263, 26249, {f: 2, c: 26247}, 26262, 26244, 26264, 26253, 26371, 27028,

26989, 26970, 26999, 26976, 26964, 26997, 26928, 27010, 26954, 26984,
26987, 26974, 26963, 27001, 27014, 26973, 26979, 26971, 27463, 27506,
27584, 27583, 27603, 27645, 28322, 28335, 28371, 28342, 28354, 28304,
28317, 28359, 28357, 28325, 28312, 28348, 28346, 28331, 28369, 28310,
28316, 28356, 28372, 28330, 28327, 28340, 29006, 29017, 29033, 29028,
29001, 29031, 29020, 29036, 29030, 29004, 29029, 29022, 28998, 29032,
29014, 29242, 29266, 29495, 29509, 29503, 29502, 29807, 29786, 29781,
29791, 29790, 29761, 29759, 29785, 29787, [29788, 58019], 30070, 30072,
30208, 30192, 30209, 30194, 30193, 30202, 30207, 30196, 30195,
{f: 2, c: 30430}, 30555, 30571, 30566, 30558, 30563, 30585, 30570, 30572,
30556, 30565, 30568, 30562, 30702, 30862, 30896, {f: 2, c: 30871}, 30860,
30857, 30844, 30865, 30867, 30847, 31098, 31103, 31105, 33836, 31165,
31260, 31258, 31264, 31252, 31263, 31262, {f: 2, c: 31391}, 31607, 31680,
31584, 31598, 31591, 31921, 31923, 31925, 32147, 32121, 32145, 32129,
32143, 32091, 32622, {f: 2, c: 32617}, 32626, 32681, 32680, 32676, 32854,
32856, 32902, 32900, 33137, 33136, 33144, 33125, 33134, 33139, 33131,
{f: 2, c: 33145}, 33126, 33285, 33351, 33922, 33911, 33853, 33841, 33909,
33894, 33899, 33865, 33900, 33883, 33852, 33845, 33889, 33891, 33897,
33901, 33862, 34398, 34396, 34399, 34553, 34579, 34568, 34567, 34560,
34558, 34555, {f: 2, c: 34562}, 34566, 34570, 34905, 35039, 35028, 35033,
35036, 35032, 35037, 35041, 35018, 35029, 35026, 35228, 35299, 35435,
{f: 2, c: 35442}, 35430, 35433, 35440, 35463, 35452, 35427, 35488, 35441,
35461, 35437, 35426, 35438, 35436, 35449, 35451, 35390, 35432, 35938,
35978, 35977, 36042, {f: 2, c: 36039}, 36036, 36018, 36035, 36034, 36037,
36321, 36319, 36328, 36335, 36339, 36346, 36330, 36324, 36326, 36530,
36611, 36617, 36606, 36618, 36767, 36786, 36939, 36938, 36947, 36930,
36948, 36924, 36949, 36944, 36935, 36943, 36942, 36941, 36945, 36926,
36929, 37138, 37143, 37228, 37226, 37225, 37321, 37431, 37463, 37432,
37437, 37440, 37438, 37467, 37451, 37476, 37457, 37428, 37449, 37453,
37445, 37433, 37439, 37466, 38296, 38552, {f: 2, c: 38548}, 38605, 38603,
{f: 2, c: 38601}, 38647, 38651, 38649, 38646, 38742, 38772, 38774,
{f: 2, c: 38928}, 38931, 38922, 38930, 38924, 39164, 39156,
{f: 2, c: 39165}, 39347, 39345, 39348, 39649, 40169, 40578, [12237, 40718],
[12238, 40723], [12239, 40736], 20711, 20718, 20709, 20694, [20717, 60903],
20698, 20693, 20687, 20689, 20721, 20686, 20713, 20834, 20979, 21123,
21122, 21297, 21421, 22014, 22016, 22043, 22039, 22013, 22036, 22022,
22025, {f: 2, c: 22029}, 22007, 22038, 22047, 22024, 22032, 22006, 22296,
22294, 22645, 22654, 22659, 22675, 22666, 22649, 22661, 22653, 22781,
22821, 22818, 22820, 22890, 22889, 23265, 23270, 23273, 23255, 23254,
23256, 23267, 23413, 23518, 23527, 23521, {f: 2, c: 23525}, 23528, 23522,
23524, 23519, 23565, 23650, 23940, 23943, 24155, 24163, 24149, 24151,
24148, 24275, 24278, 24330, 24390, 24432, 24505, 24903, 24895, 24907,
24951, {f: 2, c: 24930}, 24927, 24922, 24920, 24949, 25130, 25735, 25688,
25684, 25764, 25720, 25695, 25722, 25681, 25703, 25652, 25709, 25723,
25970, 26017, 26071, 26070, 26274, 26280, 26269, 27036, 27048, 27029,
27073, 27054, 27091, 27083, 27035, 27063, 27067, 27051, 27060, 27088,
27085, 27053, 27084, 27046, 27075, 27043, 27465, 27468, 27699, 28467,
28436, 28414, 28435, 28404, 28457, 28478, 28448, 28460, 28431, 28418,
28450, 28415, 28399, 28422, 28465, 28472, 28466, 28451, 28437, 28459,
28463, 28552, 28458, 28396, 28417, 28402, 28364, 28407, 29076, 29081,
29053, 29066, 29060, 29074, 29246, 29330, 29334, 29508, 29520, 29796,
29795, 29802, 29808, 29805, 29956, 30097, 30247, 30221, 30219, 30217,
30227, 30433, 30435, 30596, 30589, 30591, 30561, 30913, 30879, 30887,
30899, 30889, 30883, {f: 2, c: 31118}, 31117, 31278, 31281, 31402, 31401,
31469, 31471, 31649, 31637, 31627, 31605, 31639, 31645, 31636, 31631,
[31672, 58170], 31623, 31620, 31929, {f: 2, c: 31933}, 32187, 32176, 32156,
{f: 2, c: 32189}, 32160, 32202, 32180, 32178, 32177, 32186, 32162, 32191,
32181, 32184, 32173, [32210, 58202], 32199, 32172, 32624, {f: 2, c: 32736},
32735, 32862, 32858, 32903, 33104, 33152, 33167, 33160, 33162, 33151,
33154, 33255, 33274, 33287, 33300, 33310, 33355, 33993, 33983, 33990,

33988,
33980,
34645,
35098,
35498,
36051,
36627,
36955,
37504,
38305,
38610,
39173,
40180,
20731,
{f: 3,
22079,
22656,
23291,
{f: 2,
24285,
24925,
24974,
25758,
25746,
{f: 2,
27166,
27153,
28518,
28516,
29096,
30079,
30436,
30910,
31407,
31692,
32227,
32687,
34074,
34085,
34649,
35093,
35529,
35918,
{f: 2,
36381,
36639,
36973,
37573,
37616,
38795,
39389,
{f: 2,
40617,
20757,
22121,
22134,
23566,
25032,
25794,
26308,

33945, 33950, 33970, 33948, 33995, 33976, 33984, 34003, 33936,


34001, 33994, 34623, 34588, 34619, 34594, 34597, 34612, 34584,
34615, 34601, 35059, 35074, 35060, 35065, 35064, 35069, 35048,
35055, 35494, 35468, 35486, 35491, 35469, 35489, 35475, 35492,
35493, 35496, 35480, 35473, 35482, 35495, 35946, 35981, 35980,
{f: 2, c: 36049}, 36203, 36249, 36245, 36348, 36628, 36626, 36629,
36771, 36960, 36952, 36956, 36963, 36953, 36958, 36962, 36957,
37145, 37144, 37150, 37237, 37240, 37239, 37236, 37496, 37548,
37509, 37528, 37526, 37499, 37523, 37532, 37544, 37500, 37521,
{f: 2, c: 38312}, 38307, 38309, 38308, 38553, 38556, 38555, 38604,
38656, 38780, 38789, 38902, {f: 2, c: 38935}, 39087, 39089, 39171,
39180, 39177, 39361, {f: 2, c: 39599}, 39654, {f: 2, c: 39745},
40182, 40179, 40636, [12240, 40763], [12241, 40778], 20740, 20736,
20725, 20729, 20738, {f: 2, c: 20744}, 20741, 20956,
c: 21127}, 21133, 21130, 21232, 21426, 22062, 22075, 22073, 22066,
22068, 22057, 22099, 22094, 22103, 22132, 22070, {f: 2, c: 22063},
22687, 22686, 22707, 22684, 22702, 22697, 22694, 22893, 23305,
23307, 23285, 23308, 23304, 23534, 23532, 23529, 23531,
c: 23652}, 23965, 23956, 24162, 24159, 24161, 24290, 24282, 24287,
24291, 24288, 24392, 24433, 24503, 24501, 24950, 24935, 24942,
24917, 24962, 24956, 24944, 24939, 24958, 24999, 24976, 25003,
25004, 24986, 24996, 24980, 25006, 25134, 25705, 25711, 25721,
25778, 25736, [25744, 57745], 25776, 25765, 25747, 25749, 25769,
25774, 25773, 25771, 25754, 25772, 25753, 25762, 25779, 25973,
c: 25975}, 26286, 26283, 26292, 26289, 27171, 27167, 27112, 27137,
27161, 27133, 27169, 27155, 27146, 27123, 27138, 27141, 27117,
27472, 27470, 27556, {f: 2, c: 27589}, 28479, 28540, 28548, 28497,
28500, 28550, 28525, 28507, 28536, 28526, 28558, 28538, 28528,
28567, 28504, 28373, 28527, 28512, 28511, 29087, 29100, 29105,
29270, 29339, 29518, 29527, 29801, 29835, 29827, 29822, 29824,
30240, 30249, 30239, 30244, 30246, {f: 2, c: 30241}, 30362, 30394,
30606, 30599, 30604, 30609, 30603, 30923, 30917, 30906, 30922,
30933, 30908, 30928, 31295, 31292, 31296, 31293, 31287, 31291,
31406, 31661, 31665, 31684, 31668, {f: 2, c: 31686}, 31681, 31648,
31946, 32224, 32244, 32239, 32251, 32216, 32236, 32221, 32232,
32218, 32222, 32233, 32158, 32217, 32242, 32249, 32629, 32631,
32745, 32806, {f: 3, c: 33179}, 33184, 33178, 33176, 34071, 34109,
34030, {f: 2, c: 34092}, 34067, 34065, 34083, 34081, 34068, 34028,
34047, 34054, 34690, 34676, 34678, 34656, 34662, 34680, 34664,
34647, 34636, 34643, 34907, 34909, 35088, 35079, {f: 2, c: 35090},
35082, 35516, 35538, 35527, 35524, 35477, 35531, 35576, 35506,
35522, 35519, 35504, 35542, 35533, 35510, 35513, 35547, 35916,
35948, 36064, 36062, 36070, 36068, {f: 2, c: 36076},
c: 36066}, 36060, 36074, 36065, 36205, 36255, 36259, 36395, 36368,
36386, 36367, 36393, 36383, 36385, 36382, 36538, 36637, 36635,
36649, 36646, 36650, 36636, 36638, 36645, 36969, 36974, 36968,
36983, 37168, 37165, 37159, 37169, 37255, 37257, 37259, 37251,
37563, 37559, 37610, 37604, 37569, 37555, 37564, 37586, 37575,
37554, 38317, 38321, 38660, {f: 2, c: 38662}, 38665, 38752, 38797,
38799, 38945, 38955, 38940, 39091, 39178, 39187, 39186, 39192,
39376, 39391, 39387, 39377, 39381, 39378, 39385, 39607,
c: 39662}, 39719, 39749, 39748, 39799, 39791, 40198, 40201, 40195,
40638, 40654, 22696, [12242, 40786], 20754, 20760, 20756, 20752,
20864, 20906, 20957, 21137, 21139, 21235, 22105, 22123, 22137,
22116, 22136, 22122, 22120, 22117, 22129, 22127, 22124, 22114,
22721, 22718, 22727, 22725, 22894, 23325, 23348, 23416, 23536,
24394, 25010, 24977, 25001, 24970, 25037, 25014, 25022, 25034,
25136, 25797, 25793, 25803, {f: 2, c: 25787}, 25818, 25796, 25799,
25805, 25791, 25810, 25812, 25790, 25972, 26310, 26313, 26297,
26311, 26296, 27197, 27192, 27194, 27225, 27243, 27224, 27193,

27204, 27234, 27233, 27211, 27207, 27189, 27231, 27208, 27481, 27511,
27653, 28610, 28593, 28577, 28611, 28580, 28609, 28583, 28595, 28608,
28601, [28598, 60318], 28582, 28576, 28596, 29118, 29129, 29136, 29138,
29128, 29141, 29113, 29134, 29145, 29148, {f: 2, c: 29123}, 29544, 29852,
29859, 29848, 29855, 29854, 29922, {f: 2, c: 29964}, 30260, 30264, 30266,
30439, 30437, 30624, {f: 2, c: 30622}, 30629, 30952, 30938, 30956, 30951,
31142, {f: 2, c: 31309}, 31302, 31308, 31307, 31418, 31705, 31761, 31689,
31716, 31707, 31713, 31721, 31718, {f: 2, c: 31957}, 32266, 32273, 32264,
32283, 32291, 32286, [32285, 58211], 32265, 32272, 32633, 32690,
{f: 2, c: 32752}, 32750, [32808, 58239], 33203, 33193, 33192, 33275, 33288,
{f: 2, c: 33368}, 34122, 34137, 34120, {f: 2, c: 34152}, 34115, 34121,
34157, 34154, 34142, 34691, 34719, 34718, 34722, 34701, 34913, 35114,
35122, 35109, 35115, 35105, 35242, [35238, 58391], 35558, 35578, 35563,
35569, 35584, 35548, 35559, 35566, 35582, {f: 2, c: 35585}, 35575, 35565,
35571, 35574, 35580, 35947, 35949, 35987, 36084, 36420, 36401, 36404,
36418, 36409, 36405, 36667, 36655, 36664, 36659, 36776, 36774, 36981,
36980, 36984, 36978, 36988, 36986, 37172, 37266, 37664, 37686, 37624,
37683, 37679, 37666, 37628, 37675, 37636, 37658, 37648, 37670, 37665,
37653, 37678, 37657, 38331, {f: 2, c: 38567}, 38570, 38613, 38670, 38673,
38678, 38669, 38675, 38671, 38747, [38748, 58565], 38758, 38808, 38960,
38968, 38971, 38967, 38957, 38969, 38948, 39184, 39208, 39198, 39195,
39201, 39194, 39405, 39394, 39409, 39608, 39612, 39675, 39661, 39720,
39825, 40213, 40227, 40230, 40232, 40210, 40219, 40664, 40660,
[12243, 40845], [12244, 40860], 20778, 20767, 20769, 20786, 21237, 22158,
22144, 22160, 22149, 22151, 22159, 22741, 22739, 22737, 22734, 23344,
23338, 23332, 23418, 23607, 23656, 23996, 23994, 23997, 23992, 24171,
24396, 24509, 25033, 25026, 25031, 25062, 25035, 25138, 25140, 25806,
25802, 25816, 25824, 25840, 25830, 25836, 25841, 25826, 25837,
{f: 2, c: 25986}, 26329, 26326, 27264, 27284, 27268, 27298, 27292, 27355,
27299, 27262, 27287, 27280, 27296, 27484, 27566, 27610, 27656, 28632,
28657, {f: 2, c: 28639}, 28635, 28644, 28651, 28655, 28544, 28652, 28641,
28649, 28629, 28654, 28656, 29159, [29151, 60361], 29166, 29158, 29157,
29165, 29164, 29172, 29152, 29237, 29254, 29552, 29554, 29865, 29872,
29862, 29864, 30278, 30274, 30284, 30442, 30643, 30634, 30640, 30636,
30631, 30637, 30703, 30967, 30970, 30964, 30959, 30977, 31143, 31146,
31319, 31423, 31751, 31757, 31742, 31735, 31756, 31712, 31968, 31964,
31966, 31970, 31967, 31961, 31965, 32302, 32318, 32326, 32311, 32306,
32323, 32299, 32317, 32305, 32325, 32321, 32308, 32313, 32328, 32309,
32319, 32303, 32580, 32755, 32764, {f: 2, c: 32881}, 32880, 32879, 32883,
33222, 33219, 33210, 33218, 33216, 33215, 33213, 33225, 33214, 33256,
33289, 33393, 34218, 34180, 34174, 34204, 34193, 34196, 34223, 34203,
34183, 34216, 34186, 34214, 34407, 34752, 34769, 34739, 34770, 34758,
34731, 34747, 34746, 34760, 34763, 35131, 35126, 35140, 35128, 35133,
35244, 35598, 35607, 35609, 35611, 35594, 35616, 35613, 35588, 35600,
35905, 35903, 35955, 36090, 36093, 36092, 36088, 36091, 36264, 36425,
36427, 36424, 36426, 36676, 36670, 36674, 36677, 36671, 36991, 36989,
36996, {f: 2, c: 36993}, 36992, 37177, 37283, 37278, 37276, 37709, 37762,
37672, 37749, 37706, 37733, 37707, 37656, 37758, 37740, 37723, 37744,
37722, 37716, {f: 3, c: 38346}, 38344, 38342, 38577, 38584, 38614, 38684,
38686, 38816, 38867, 38982, 39094, 39221, 39425, 39423, 39854, 39851,
39850, 39853, 40251, 40255, 40587, 40655, 40670, {f: 2, c: 40668}, 40667,
40766, 40779, 21474, 22165, 22190, 22745, 22744, 23352, 24413, 25059,
25139, 25844, 25842, 25854, 25862, {f: 2, c: 25850}, 25847, 26039, 26332,
26406, 27315, 27308, 27331, 27323, 27320, 27330, {f: 2, c: 27310}, 27487,
27512, 27567, 28681, 28683, 28670, 28678, 28666, 28689, 28687,
{f: 2, c: 29179}, 29182, 29176, 29559, 29557, 29863, 29887, 29973, 30294,
30296, 30290, 30653, 30655, {f: 2, c: 30651}, 30990, 31150,
{f: 2, c: 31329}, 31328, {f: 2, c: 31428}, 31787, 31783, 31786, 31774,
31779, 31777, 31975, {f: 2, c: 32340}, 32350, 32346, 32353, 32338, 32345,
32584, 32761, 32763, 32887, 32886, 33229, 33231, 33290, 34255, 34217,

34253,
35206,
36451,
37000,
37804,
38620,
38991,
39438,
39880,
22184,
25077,
28703,
29560,
31001,
32363,
33240,
34829,
35657,
36487,
37297,
37858,
38695,
39446,
40298,
22204,
25876,
29903,
31811,
33242,
{f: 2,
35691,
37891,
39479,
40801,
25086,
29211,
34327,
35700,
37934,
38706,
39631,
40687,
23423,
29568,
33247,
37192,
39253,
40407,
25898,
32404,
37988,
39633,
28766,
35731,
38854,
{f: 2,
34875,
40652,
36522,
38015,

34256, 34249, 34224, 34234, 34233, 34799, 34796, 34802, 34784,


35250, 35316, 35624, 35641, 35628, 35627, 35920, 36101, 36441,
36454, 36452, 36447, 36437, 36544, 36681, 36685, 36999, 36995,
{f: 2, c: 37291}, 37328, 37780, 37770, 37782, 37794, 37811, 37806,
37808, 37784, 37786, 37783, 38356, 38358, 38352, 38357, 38626,
38617, 38619, 38622, 38692, 38819, 38822, 38829, 38905, 38989,
38988, 38990, 38995, 39098, {f: 2, c: 39230}, 39229, 39214, 39333,
39617, 39683, 39686, 39759, 39758, 39757, 39882, 39881, 39933,
39872, 40273, 40285, 40288, 40672, 40725, 40748, 20787, 22181,
{f: 2, c: 22750}, 22754, 23541, 40848, 24300, 25074, 25079, 25078,
25856, 25871, 26336, 26333, 27365, 27357, 27354, 27347, 28699,
28712, 28698, 28701, 28693, 28696, 29190, 29197, 29272, 29346,
29562, 29885, 29898, 29923, 30087, 30086, 30303, 30305, 30663,
31153, 31339, 31337, {f: 2, c: 31806}, 31800, 31805, 31799, 31808,
32365, 32377, {f: 2, c: 32361}, 32371, 32645, 32694, 32697, 32696,
34281, 34269, 34282, 34261, {f: 2, c: 34276}, 34295, 34811, 34821,
34809, 34814, 35168, 35167, 35158, 35166, 35649, 35676, 35672,
35674, {f: 2, c: 35662}, 35654, 35673, 36104, 36106, 36476, 36466,
36470, 36460, 36474, 36468, 36692, 36686, 36781, {f: 2, c: 37002},
37294, 37857, 37841, 37855, 37827, 37832, {f: 2, c: 37852}, 37846,
37837, 37848, 37860, 37847, 37864, 38364, 38580, 38627, 38698,
38753, 38876, 38907, 39006, 39000, 39003, 39100, 39237, 39241,
39449, 39693, 39912, 39911, 39894, 39899, 40329, 40289, 40306,
40300, 40594, 40599, 40595, 40628, 21240, 22199, 22198, 22196,
22756, 23360, 23363, 23421, 23542, 24009, 25080, 25082, 25880,
25881, 26342, 26407, 27372, 28734, 28720, 28722, 29200, 29563,
30306, 30309, 31014, 31018, 31020, 31019, 31431, 31478, 31820,
31821, {f: 2, c: 31983}, 36782, 32381, 32380, 32386, 32588, 32768,
33382, 34299, 34297, 34321, 34298, 34310, 34315, 34311, 34314,
c: 34836}, 35172, 35258, 35320, 35696, 35692, 35686, 35695, 35679,
36111, 36109, 36489, 36481, 36485, 36482, 37300, 37323, 37912,
37885, 38369, 38704, 39108, 39250, 39249, 39336, 39467, 39472,
39477, 39955, 39949, 40569, 40629, 40680, 40751, 40799, 40803,
{f: 2, c: 20791}, 22209, 22208, 22210, 22804, 23660, 24013, 25084,
25885, 25884, 26005, 26345, 27387, 27396, 27386, 27570, 28748,
29351, 29910, 29908, 30313, 30675, 31824, 32399, 32396, 32700,
34349, 34330, 34851, 34850, 34849, 34847, 35178, 35180, 35261,
35703, 35709, 36115, 36490, 36493, 36491, 36703, 36783, 37306,
37939, 37941, 37946, 37944, 37938, 37931, 38370, {f: 2, c: 38712},
[38911, 58586], 39015, 39013, 39255, 39493, 39491, 39488, 39486,
39764, 39761, 39981, 39973, 40367, 40372, 40386, 40376, 40605,
40729, 40796, {f: 2, c: 40806}, 20796, 20795, 22216, 22218, 22217,
24020, 24018, 24398, 25087, 25892, 27402, 27489, 28753, 28760,
29924, 30090, 30318, 30316, 31155, 31840, 31839, 32894, 32893,
35186, 35183, 35324, 35712, {f: 2, c: 36118}, 36497, 36499, 36705,
37956, {f: 2, c: 37969}, {f: 2, c: 38717}, 38851, 38849, 39019,
39509, 39501, 39634, 39706, 40009, 39985, 39998, 39995, 40403,
40756, 40812, 40810, 40852, 22220, 24022, 25088, 25891, 25899,
26348, 27408, 29914, 31434, 31844, 31843, 31845, 32403, 32406,
33250, 34360, 34367, 34865, 35722, 37008, 37007, 37987, 37984,
38760, 39023, 39260, {f: 2, c: 39514}, 39511, {f: 2, c: 39635},
40020, 40023, 40022, 40421, 40607, 40692, 22225, 22761, 25900,
{f: 2, c: 30321}, [30679, 60226], 32592, 32648, 34870, 34873, 34914,
35730, 35734, 33399, 36123, 37312, 37994, 38722, 38728, 38724,
39024, 39519, 39714, 39768, 40031, {f: 2, c: 40441},
c: 40572}, 40711, 40823, 40818, 24307, 27414, 28771, 31852, 31854,
35264, 36513, 37313, 38002, 38000, 39025, 39262, 39638, 39715,
28772, 30682, 35738, 38007, 38857, 39522, 39525, 32412, 35740,
37317, {f: 2, c: 38013}, 38012, {f: 2, c: 40055}, 40695, 35924,
40474, 29224, 39530, 39729, 40475, 40478, 31858, 20034, 20060,

[12048, 20981], [12053, 21274], [12058, 21378], 19975, 19980, 20039, 20109,
[12062, 22231], [12076, 23662], [12091, 24435], 19983, 20871, 19982, 20014,
20115, 20162, 20169, 20168, 20888, 21244, 21356, 21433, 22304, 22787,
22828, [23568, 60417], 24063, 26081, [12110, 27571], 27596, [12115, 27668],
[12121, 29247], 20017, 20028, 20200, 20188, 20201, 20193, 20189, 20186,
21004, 21001, 21276, 21324, {f: 2, c: 22306}, 22807, 22831, 23425, 23428,
23570, 23611, 23668, 23667, 24068, 24192, 24194, 24521, 25097, 25168,
27669, 27702, 27715, 27711, 27707, 29358, 29360, 29578, [12145, 31160],
32906, 38430, 20238, 20248, 20268, 20213, 20244, 20209, 20224, 20215,
20232, 20253, 20226, 20229, 20258, 20243, 20228, 20212, 20242, 20913,
21011, 21008, 21158, 21282, 21279, 21325, 21386, 21511, 22241, 22239,
22318, 22314, 22324, 22844, 22912, 22908, 22917, 22907, 22910, 22903,
22911, 23382, 23573, 23589, 23676, {f: 2, c: 23674}, 23678, 24031,
[24181, 57646], 24196, 24322, 24346, 24436, 24533, 24532, 24527, 25180,
25182, 25188, 25185, 25190, 25186, 25177, 25184, 25178, 25189, 25911,
26095, 26094, 26430, 26425, 26424, 26427, 26426, 26431, 26428, 26419,
27672, 27718, 27730, 27740, 27727, [27722, 60796], 27732, {f: 2, c: 27723},
28785, 29278, {f: 2, c: 29364}, 29582, 29994, 30335, 31349, [12153, 32593],
[12171, 33400], 33404, 33408, 33405, 33407, [12172, 34381], [12177, 35198],
37017, [37015, 59347], 37016, 37019, 37012, 38434, 38436, 38432, 38435,
20310, 20283, 20322, 20297, 20307, 20324, 20286, 20327, 20306, 20319,
20289, 20312, 20269, 20275, 20287, 20321, 20879, 20921, 21020, 21022,
21025, {f: 2, c: 21165}, 21257, 21347, 21362, {f: 2, c: 21390}, 21552,
21559, 21546, 21588, 21573, 21529, 21532, 21541, 21528, 21565, 21583,
21569, 21544, 21540, 21575, 22254, 22247, 22245, 22337, 22341, 22348,
22345, 22347, 22354, 22790, 22848, 22950, 22936, 22944, 22935, 22926,
22946, 22928, 22927, 22951, 22945, 23438, 23442, 23592, 23594, 23693,
23695, 23688, 23691, 23689, 23698, 23690, 23686, 23699, 23701, 24032,
24074, 24078, 24203, 24201, 24204, 24200, 24205, 24325, 24349, 24440,
24438, 24530, 24529, 24528, 24557, 24552, 24558, 24563, 24545, 24548,
24547, 24570, 24559, 24567, 24571, 24576, 24564, 25146, 25219, 25228,
{f: 2, c: 25230}, 25236, 25223, 25201, 25211, 25210, 25200, 25217, 25224,
25207, 25213, 25202, 25204, 26096, 26100, 26099, 26098, 26101, 26437,
26439, 26457, 26453, 26444, 26440, 26461, 26445, 26458, 26443, 27600,
{f: 2, c: 27673}, 27768, 27751, 27755, 27780, 27787, 27791, 27761, 27759,
27753, 27802, 27757, 27783, 27797, [27804, 57900], 27750, 27763, 27749,
27771, 27790, 28788, 28794, 29283, 29375, 29373, 29379, 29382, 29377,
29370, 29381, 29589, 29591, {f: 2, c: 29587}, 29586, 30010, 30009,
{f: 2, c: 30100}, 30337, 31037, 32820, 32917, 32921, 32912, 32914, 32924,
33424, 33423, 33413, 33422, 33425, 33427, 33418, {f: 2, c: 33411},
[12184, 35960], 36809, 36799, 37023, 37025, 37029, 37022, 37031, 37024,
38448, 38440, 38447, 38445, 20019, 20376, 20348, 20357, 20349, 20352,
20359, 20342, 20340, 20361, 20356, 20343, 20300, 20375, 20330, 20378,
20345, 20353, 20344, 20368, 20380, 20372, 20382, 20370, 20354, 20373,
20331, 20334, 20894, 20924, 20926, 21045, {f: 2, c: 21042}, 21062, 21041,
21180, {f: 2, c: 21258}, 21308, 21394, 21396, 21639, 21631, 21633, 21649,
21634, 21640, 21611, 21626, 21630, 21605, 21612, 21620, 21606, 21645,
21615, 21601, 21600, 21656, 21603, 21607, 21604, 22263, 22265, 22383,
22386, 22381, 22379, 22385, 22384, 22390, 22400, 22389, 22395,
{f: 2, c: 22387}, 22370, 22376, 22397, 22796, 22853, 22965, 22970, 22991,
22990, 22962, 22988, 22977, 22966, 22972, 22979, 22998, 22961, 22973,
22976, 22984, 22964, 22983, 23394, 23397, 23443, 23445, 23620, 23623,
23726, 23716, 23712, 23733, 23727, 23720, 23724, 23711, 23715, 23725,
23714, 23722, 23719, 23709, 23717, 23734, 23728, 23718, 24087, 24084,
24089, 24360, {f: 3, c: 24354}, 24404, 24450, 24446, 24445, 24542, 24549,
24621, 24614, 24601, 24626, 24587, 24628, 24586, 24599, 24627, 24602,
24606, 24620, 24610, 24589, 24592, 24622, 24595, 24593, 24588, 24585,
24604, 25108, 25149, 25261, 25268, 25297, 25278, 25258, 25270, 25290,
25262, 25267, 25263, 25275, 25257, 25264, 25272, 25917, 26024, 26043,
26121, 26108, 26116, 26130, 26120, 26107, 26115, 26123, 26125, 26117,

26109,
26491,
26521,
27614,
27879,
27869,
27824,
28804,
29385,
29606,
30092,
30715,
31997,
33472,
33466,
34416,
36821,
38458,
20444,
20409,
21401,
21678,
21618,
22427,
22867,
23030,
23028,
23774,
23750,
24228,
24633,
24640,
25295,
25336,
25923,
26163,
26610,
26603,
26562,
26542,
27522,
27949,
27962,
27919,
28831,
{f: 2,
29407,
29622,
29643,
30472,
30726,
30739,
31182,
{f: 3,
{f: 2,
32976,
32998,
33536,
33548,
34423,

26129, 26128, 26358, 26378, 26501, 26476, 26510, 26514, 26486,


26520, 26502, 26500, 26484, 26509, 26508, 26490, 26527, 26513,
26499, 26493, 26497, {f: 2, c: 26488}, 26516, 27429, 27520, 27518,
27677, 27795, 27884, 27883, 27886, 27865, 27830, 27860, 27821,
27831, 27856, 27842, 27834, 27843, 27846, 27885, 27890, 27858,
27828, 27786, 27805, 27776, 27870, 27840, 27952, 27853, 27847,
27897, 27855, 27881, 27857, 28820, 28824, 28805, 28819, 28806,
28817, 28822, 28802, 28826, 28803, 29290, 29398, 29387, 29400,
29404, 29394, 29396, 29402, 29388, 29393, 29604, 29601, 29613,
29602, 29600, 29612, 29597, 29917, 29928, {f: 2, c: 30015}, 30014,
30104, 30383, 30451, 30449, 30448, 30453, 30712, 30716, 30713,
30714, 30711, 31042, 31039, 31173, 31352, 31355, 31483, 31861,
32821, 32911, 32942, 32931, 32952, 32949, 32941, 33312, 33440,
33451, 33434, 33432, 33435, 33461, 33447, 33454, 33468, 33438,
33460, 33448, 33441, 33449, 33474, 33444, 33475, 33462, 33442,
34415, {f: 2, c: 34413}, 35926, 36818, 36811, 36819, 36813, 36822,
36823, 37042, 37044, 37039, 37043, 37040, 38457, 38461, 38460,
38467, 20429, 20421, 20435, 20402, 20425, 20427, 20417, 20436,
20441, [20411, 60346], 20403, 20443, 20423, 20438, 20410, 20416,
20460, 21060, 21065, 21184, 21186, 21309, 21372, 21399, 21398,
21400, 21690, 21665, 21677, 21669, 21711, 21699, 33549, 21687,
21718, 21686, {f: 2, c: 21701}, 21664, 21616, 21692, 21666, 21694,
21726, 21680, 22453, {f: 2, c: 22430}, 22436, 22412, 22423, 22429,
22420, 22424, 22415, 22425, 22437, 22426, 22421, 22772, 22797,
23009, 23006, 23022, 23040, 23025, 23005, 23034, 23037, 23036,
23012, 23026, 23031, 23003, 23017, 23027, 23029, 23008, 23038,
23021, 23464, 23628, 23760, 23768, 23756, 23767, 23755, 23771,
23770, 23753, 23751, 23754, 23766, {f: 2, c: 23763}, 23759, 23752,
23758, 23775, 23800, 24057, {f: 3, c: 24097}, 24096, 24100, 24240,
24226, 24219, 24227, 24229, 24327, 24366, 24406, 24454, 24631,
24660, 24690, 24670, 24645, 24659, 24647, 24649, 24667, 24652,
24642, 24671, 24612, 24644, 24664, 24678, 24686, {f: 2, c: 25154},
25357, 25355, 25333, 25358, 25347, 25323, 25337, 25359, 25356,
25334, 25344, {f: 2, c: 25363}, 25338, 25365, 25339, 25328, 25921,
26026, 26047, 26166, 26145, 26162, 26165, 26140, 26150, 26146,
26155, 26170, 26141, 26164, 26169, 26158, {f: 2, c: 26383}, 26561,
26568, 26554, 26588, 26555, 26616, 26584, 26560, 26551, 26565,
26596, 26591, 26549, 26573, 26547, 26615, 26614, 26606, 26595,
26553, 26574, 26599, 26608, 26546, 26620, 26566, 26605, 26572,
26598, 26587, 26618, {f: 2, c: 26569}, 26563, 26602, 26571, 27432,
27524, 27574, 27606, 27608, 27616, {f: 2, c: 27680}, 27944, 27956,
27935, 27964, 27967, 27922, 27914, 27866, 27955, 27908, 27929,
27930, 27921, 27904, 27933, 27970, 27905, 27928, 27959, 27907,
27968, 27911, 27936, 27948, 27912, 27938, 27913, 27920, 28855,
28862, 28849, 28848, 28833, {f: 2, c: 28852}, 28841, 29249,
c: 29257}, 29292, 29296, 29299, 29294, 29386, 29412, 29416, 29419,
29418, 29414, 29411, 29573, 29644, 29634, 29640, 29637, 29625,
29621, 29620, 29675, 29631, 29639, 29630, 29635, 29638, 29624,
29932, 29934, 29998, {f: 2, c: 30023}, 30119, 30122, 30329, 30404,
{f: 3, c: 30467}, 30474, 30455, 30459, 30458, {f: 2, c: 30695},
{f: 2, c: 30737}, 30725, 30736, 30735, 30734, [30729, 58095], 30723,
31050, 31052, 31051, 31045, 31044, 31189, 31181, 31183, 31190,
31360, 31358, 31441, {f: 2, c: 31488}, 31866, {f: 2, c: 31864},
c: 31871}, 32003, 32008, 32001, 32600, 32657, 32653, 32702, 32775,
c: 32782}, 32788, 32823, 32984, 32967, 32992, 32977, 32968, 32962,
32965, 32995, 32985, 32988, 32970, 32981, 32969, 32975, 32983,
32973, 33279, 33313, 33428, 33497, 33534, 33529, 33543, 33512,
33493, 33594, 33515, 33494, 33524, 33516, 33505, 33522, 33525,
33531, 33526, 33520, 33514, 33508, 33504, 33530, 33523, 33517,
34420, 34428, 34419, 34881, 34894, 34919, 34922, 34921, 35283,

35332,
37077,
38479,
20528,
20508,
20938,
{f: 2,
21778,
21765,
{f: 2,
22456,
23062,
23463,
23799,
24368,
24705,
25158,
25401,
25389,
25926,
{f: 2,
26703,
26676,
26656,
27620,
27917,
28031,
28034,
28027,
28898,
28878,
29430,
29667,
29672,
30145,
30491,
30503,
30761,
31057,
31366,
31507,
31882,
32022,
32605,
33018,
33587,
33564,
33572,
33580,
34449,
34465,
34925,
34932,
36277,
36868,
37080,
37338,
20592,
20557,
{f: 2,

35335, 36210, 36835, 36833, 36846, 36832, 37105, 37053, 37055,


37061, 37054, 37063, 37067, 37064, [37332, 60294], 37331, 38484,
38481, 38483, 38474, 38478, 20510, 20485, 20487, 20499, 20514,
20507, 20469, 20468, 20531, 20535, 20524, {f: 2, c: 20470}, 20503,
20512, 20519, 20533, 20527, 20529, 20494, 20826, 20884, 20883,
{f: 2, c: 20932}, 20936, 20942, 21089, 21082, 21074,
c: 21086}, 21077, 21090, 21197, 21262, 21406, 21798, 21730, 21783,
21735, 21747, 21732, 21786, 21759, 21764, 21768, 21739, 21777,
21745, 21770, 21755, {f: 2, c: 21751}, 21728, 21774, 21763, 21771,
c: 22273}, 22476, 22578, 22485, 22482, 22458, 22470, 22461, 22460,
22454, 22463, 22471, 22480, 22457, 22465, 22798, 22858, 23065,
{f: 2, c: 23085}, 23061, 23055, 23063, 23050, 23070, 23091, 23404,
23469, 23468, 23555, 23638, 23636, 23788, 23807, 23790, 23793,
23808, 23801, 24105, 24104, 24232, 24238, 24234, 24236, 24371,
24423, 24669, 24666, 24679, 24641, 24738, 24712, 24704, 24722,
24733, 24707, 24725, 24731, 24727, 24711, 24732, 24718, 25113,
25330, 25360, 25430, 25388, {f: 2, c: 25412}, 25398, 25411, 25572,
25419, 25418, 25404, 25385, 25409, 25396, 25432, 25428, 25433,
25415, 25395, 25434, 25425, 25400, 25431, 25408, 25416, 25930,
26054, {f: 2, c: 26051}, 26050, 26186, 26207, 26183, 26193,
c: 26386}, 26655, 26650, 26697, {f: 2, c: 26674}, 26683, 26699,
26646, 26673, 26652, 26677, 26667, 26669, 26671, 26702, 26692,
26653, 26642, 26644, 26662, 26664, 26670, 26701, 26682, 26661,
27436, 27439, 27437, 27441, 27444, 27501, 32898, 27528, 27622,
27624, 27619, 27618, 27623, 27685, 28026, {f: 2, c: 28003}, 28022,
28001, 28050, 27992, 28002, 28013, 28015, 28049, 28045, 28143,
28038, 27998, [28007, 59078], 28000, 28055, 28016, 28028, 27999,
28056, 27951, 28008, 28043, 28030, 28032, 28036, 27926, 28035,
28029, 28021, 28048, 28892, 28883, 28881, 28893, 28875, 32569,
28887, 28882, 28894, 28896, 28884, 28877, {f: 3, c: 28869}, 28890,
28897, 29250, 29304, 29303, 29302, 29440, 29434, 29428, 29438,
29427, 29435, 29441, 29651, 29657, 29669, 29654, 29628, 29671,
29673, 29660, 29650, 29659, 29652, 29661, 29658, {f: 2, c: 29655},
{f: 2, c: 29918}, {f: 2, c: 29940}, 29985, 30043, 30047, 30128,
30139, 30148, 30144, 30143, 30134, 30138, 30346, 30409, 30493,
30480, 30483, 30482, 30499, 30481, 30485, {f: 2, c: 30489}, 30498,
30755, 30764, 30754, 30773, 30767, 30760, 30766, 30763, 30753,
30771, 30762, 30769, 31060, 31067, 31055, 31068, 31059, 31058,
{f: 2, c: 31211}, 31200, 31214, 31213, 31210, 31196, 31198, 31197,
31369, 31365, {f: 2, c: 31371}, 31370, 31367, 31448, 31504, 31492,
31493, 31503, 31496, 31498, 31502, 31497, 31506, 31876, 31889,
31884, 31880, 31885, 31877, 32030, 32029, 32017, 32014, 32024,
32019, 32031, 32018, 32015, 32012, 32604, 32609, 32606, 32608,
32603, 32662, 32658, 32707, 32706, 32704, 32790, 32830, 32825,
33010, 33017, 33013, 33025, 33019, 33024, 33281, 33327, 33317,
33581, 33604, 33561, 33617, 33573, 33622, 33599, 33601, 33574,
33570, 33602, 33614, 33563, 33578, 33544, 33596, 33613, 33558,
33568, 33591, 33583, 33577, 33607, 33605, 33612, 33619, 33566,
33611, 33575, 33608, 34387, 34386, 34466, 34472, 34454, 34445,
34462, 34439, 34455, 34438, 34443, 34458, 34437, 34469, 34457,
34471, 34453, 34456, 34446, 34461, 34448, 34452, {f: 2, c: 34883},
{f: 2, c: 34933}, 34930, 34944, 34929, 34943, 34927, 34947, 34942,
34940, 35346, 35911, 35927, 35963, 36004, 36003, 36214, 36216,
36279, 36278, 36561, 36563, 36862, 36853, 36866, 36863, 36859,
36860, 36854, 37078, 37088, {f: 2, c: 37081}, 37091, 37087, 37093,
37083, 37079, 37084, 37092, 37200, {f: 2, c: 37198}, 37333, 37346,
38492, 38495, 38588, 39139, [12221, 39647], [12223, 39727], 20095,
20586, 20577, 20574, 20576, 20563, 20555, 20573, 20594, 20552,
20545, 20571, 20554, 20578, 20501, 20549, 20575, 20585, 20587,
c: 20579}, 20550, 20544, 20590, 20595, 20567, 20561, 20944, 21099,

21101, 21100, 21102, 21206, 21203, 21293, 21404, {f: 2, c: 21877}, 21820,
21837, 21840, 21812, 21802, 21841, 21858, 21814, 21813, 21808, 21842,
21829, 21772, 21810, 21861, 21838, 21817, 21832, 21805, 21819, 21824,
21835, 22282, 22279, 22523, 22548, 22498, 22518, 22492, 22516, 22528,
22509, 22525, 22536, 22520, 22539, 22515, 22479, 22535, 22510, 22499,
22514, 22501, 22508, 22497, 22542, 22524, 22544, 22503, 22529, 22540,
22513, 22505, 22512, 22541, 22532, 22876, 23136, 23128, 23125,
[23143, 60437], 23134, 23096, 23093, 23149, 23120, 23135, 23141, 23148,
23123, 23140, 23127, 23107, 23133, 23122, 23108, 23131, 23112, 23182,
23102, 23117, 23097, 23116, 23152, 23145, 23111, 23121, 23126, 23106,
23132, 23410, 23406, 23489, 23488, 23641, 23838, 23819, 23837, 23834,
23840, 23820, 23848, 23821, 23846, 23845, 23823, 23856, 23826, 23843,
23839, 23854, 24126, 24116, 24241, 24244, 24249, {f: 2, c: 24242}, 24374,
24376, 24475, 24470, 24479, 24714, 24720, 24710, 24766, 24752, 24762,
{f: 2, c: 24787}, 24783, 24804, 24793, 24797, 24776, 24753, 24795, 24759,
24778, 24767, 24771, 24781, 24768, 25394, 25445, 25482, 25474, 25469,
25533, 25502, 25517, 25501, 25495, 25515, 25486, 25455, 25479, 25488,
25454, 25519, 25461, 25500, 25453, 25518, 25468, 25508, 25403, 25503,
25464, 25477, 25473, 25489, 25485, 25456, 25939, 26061, 26213, 26209,
26203, 26201, 26204, 26210, 26392, 26745, 26759, 26768, 26780,
{f: 2, c: 26733}, 26798, 26795, 26966, 26735, 26787, 26796, 26793, 26741,
26740, 26802, 26767, 26743, 26770, 26748, 26731, 26738, 26794, 26752,
26737, 26750, 26779, 26774, 26763, 26784, 26761, 26788, 26744, 26747,
26769, 26764, 26762, 26749, 27446, 27443, {f: 2, c: 27447}, 27537, 27535,
{f: 2, c: 27533}, 27532, 27690, 28096, 28075, 28084, 28083, 28276, 28076,
28137, 28130, 28087, 28150, 28116, 28160, 28104, 28128, 28127, 28118,
28094, 28133, {f: 2, c: 28124}, 28123, 28148, 28106, 28093, 28141, 28144,
28090, 28117, 28098, 28111, 28105, 28112, 28146, 28115, 28157, 28119,
28109, 28131, 28091, 28922, 28941, 28919, 28951, 28916, 28940, 28912,
28932, 28915, 28944, 28924, 28927, 28934, 28947, 28928, 28920, 28918,
28939, 28930, 28942, 29310, {f: 2, c: 29307}, 29311, 29469, 29463, 29447,
29457, 29464, 29450, 29448, 29439, 29455, 29470, 29576, 29686, 29688,
29685, 29700, 29697, 29693, 29703, 29696, 29690, 29692, 29695, 29708,
29707, 29684, 29704, 30052, 30051, 30158, 30162, 30159, {f: 2, c: 30155},
30161, 30160, 30351, 30345, 30419, 30521, 30511, 30509, {f: 2, c: 30513},
30516, 30515, 30525, 30501, 30523, 30517, 30792, 30802, 30793, 30797,
30794, 30796, 30758, 30789, 30800, 31076, 31079, {f: 2, c: 31081}, 31075,
31083, 31073, 31163, 31226, 31224, {f: 2, c: 31222}, 31375, 31380, 31376,
31541, 31547, 31540, 31525, 31536, 31522, 31524, 31539, 31512, 31530,
31517, 31537, 31531, 31533, 31535, 31538, 31544, 31514, 31523, 31892,
31896, 31894, 31907, 32053, 32061, 32056, 32054, 32058, 32069, 32044,
32041, 32065, 32071, {f: 2, c: 32062}, 32074, 32059, 32040, 32611, 32661,
{f: 2, c: 32668}, 32667, {f: 2, c: 32714}, 32717, {f: 2, c: 32720}, 32711,
32719, 32713, 32799, 32798, 32795, 32839, 32835, 32840, 33048, 33061,
33049, 33051, 33069, 33055, 33068, 33054, 33057, 33045, 33063, 33053,
33058, 33297, 33336, 33331, 33338, 33332, 33330, 33396, 33680, 33699,
33704, 33677, 33658, 33651, 33700, 33652, 33679, 33665, 33685, 33689,
33653, 33684, 33705, 33661, 33667, 33676, 33693, 33691, 33706, 33675,
33662, 33701, 33711, 33672, 33687, 33712, 33663, 33702, 33671, 33710,
33654, 34393, 34390, 34495, 34487, 34498, 34497, 34501, 34490, 34480,
34504, 34489, 34483, 34488, 34508, 34484, {f: 2, c: 34491}, 34499,
{f: 2, c: 34493}, 34898, 34953, 34965, 34984, 34978, 34986, 34970, 34961,
34977, 34975, 34968, 34983, 34969, 34971, 34967, 34980, 34988, 34956,
34963, 34958, 35202, 35286, 35289, 35285, 35376, 35367, 35372, 35358,
35897, 35899, {f: 2, c: 35932}, 35965, 36005, 36221, 36219, 36217, 36284,
36290, 36281, 36287, 36289, 36568, 36574, 36573, 36572, 36567,
{f: 2, c: 36576}, 36900, 36875, 36881, 36892, 36876, 36897, 37103, 37098,
37104, 37108, {f: 2, c: 37106}, 37076, {f: 2, c: 37099}, 37097, 37206,
37208, 37210, 37203, 37205, 37356, 37364, 37361, 37363, 37368, 37348,
37369, {f: 2, c: 37354}, 37367, 37352, 37358, 38266, 38278, 38280, 38524,

38509, 38507, 38513, 38511, 38591, 38762, 38916, 39141, 39319, 20635,
20629, 20628, 20638, 20619, 20643, 20611, 20620, 20622, 20637, 20584,
20636, 20626, 20610, 20615, 20831, 20948, 21266, 21265, 21412, 21415,
21905, 21928, 21925, 21933, 21879, 22085, 21922, 21907, 21896, 21903,
21941, 21889, 21923, 21906, 21924, 21885, 21900, 21926, 21887, 21909,
21921, 21902, 22284, 22569, 22583, 22553, 22558, 22567, 22563, 22568,
22517, 22600, 22565, 22556, 22555, 22579, 22591, 22582, 22574, 22585,
22584, 22573, 22572, 22587, 22881, 23215, 23188, 23199, 23162, 23202,
23198, 23160, 23206, 23164, 23205, 23212, 23189, 23214, 23095, 23172,
23178, 23191, 23171, 23179, 23209, 23163, 23165, 23180, 23196, 23183,
23187, 23197, 23530, 23501, 23499, 23508, 23505, 23498, 23502, 23564,
23600, 23863, 23875, 23915, 23873, 23883, 23871, 23861, 23889, 23886,
23893, 23859, 23866, 23890, 23869, 23857, 23897, 23874, 23865, 23881,
23864, 23868, 23858, 23862, 23872, 23877, 24132, 24129, [24408, 57673],
24486, 24485, 24491, 24777, 24761, 24780, 24802, 24782, 24772, 24852,
24818, 24842, 24854, 24837, 24821, 24851, 24824, 24828, 24830, 24769,
24835, 24856, 24861, 24848, 24831, 24836, 24843, 25162, 25492, 25521,
25520, 25550, 25573, 25576, 25583, 25539, 25757, 25587, 25546, 25568,
25590, 25557, 25586, 25589, 25697, 25567, 25534, 25565, 25564, 25540,
25560, 25555, 25538, 25543, 25548, 25547, 25544, 25584, 25559, 25561,
25906, 25959, 25962, 25956, 25948, 25960, 25957, 25996, {f: 2, c: 26013},
26030, 26064, 26066, 26236, 26220, 26235, 26240, 26225, 26233, 26218,
26226, 26369, 26892, 26835, 26884, 26844, 26922, 26860, 26858, 26865,
26895, 26838, 26871, 26859, 26852, 26870, 26899, 26896, 26867, 26849,
26887, 26828, 26888, 26992, 26804, 26897, 26863, 26822, 26900, 26872,
26832, 26877, 26876, 26856, 26891, 26890, 26903, 26830, 26824,
{f: 2, c: 26845}, 26854, 26868, 26833, 26886, 26836, 26857, 26901, 26917,
26823, 27449, 27451, 27455, 27452, 27540, 27543, 27545, 27541, 27581,
27632, {f: 2, c: 27634}, 27696, 28156, {f: 2, c: 28230}, 28191, 28233,
28296, {f: 2, c: 28220}, 28229, 28258, 28203, 28223, 28225, 28253, 28275,
28188, 28211, 28235, 28224, 28241, 28219, 28163, 28206, 28254, 28264,
28252, 28257, 28209, 28200, 28256, 28273, 28267, 28217, 28194, 28208,
28243, 28261, 28199, 28280, 28260, 28279, 28245, 28281, 28242, 28262,
{f: 2, c: 28213}, 28250, 28960, 28958, 28975, 28923, 28974, 28977, 28963,
28965, 28962, 28978, 28959, 28968, 28986, 28955, 29259, 29274,
{f: 2, c: 29320}, 29318, 29317, 29323, 29458, 29451, 29488, 29474, 29489,
29491, 29479, 29490, 29485, 29478, 29475, 29493, 29452, 29742, 29740,
29744, 29739, 29718, 29722, 29729, 29741, 29745, 29732, 29731, 29725,
29737, 29728, 29746, 29947, 29999, 30063, 30060, 30183, 30170, 30177,
30182, 30173, 30175, 30180, 30167, 30357, 30354, 30426, {f: 2, c: 30534},
30532, 30541, 30533, 30538, 30542, {f: 2, c: 30539}, 30686, 30700, 30816,
{f: 2, c: 30820}, 30812, 30829, 30833, 30826, 30830, 30832, 30825, 30824,
30814, 30818, 31092, 31091, 31090, 31088, 31234, 31242, 31235, 31244,
31236, 31385, 31462, 31460, 31562, 31559, 31556, 31560, 31564, 31566,
31552, 31576, 31557, 31906, 31902, 31912, 31905, 32088, 32111, 32099,
32083, 32086, 32103, 32106, 32079, 32109, 32092, 32107, 32082, 32084,
32105, 32081, 32095, 32078, {f: 2, c: 32574}, {f: 2, c: 32613}, 32674,
{f: 2, c: 32672}, 32727, 32849, {f: 2, c: 32847}, 33022, 32980, 33091,
33098, 33106, 33103, 33095, 33085, 33101, 33082, 33254, 33262,
{f: 3, c: 33271}, 33284, {f: 2, c: 33340}, 33343, 33397, 33595,
[33743, 60382], 33785, 33827, 33728, 33768, 33810, 33767, 33764, 33788,
33782, 33808, 33734, 33736, 33771, 33763, 33727, 33793, 33757, 33765,
33752, 33791, 33761, 33739, 33742, 33750, 33781, 33737, 33801,
[33807, 58332], 33758, 33809, 33798, 33730, 33779, 33749, 33786, 33735,
33745, 33770, 33811, 33690, 33731, 33772, 33774, 33732, 33787, 33751,
33762, 33819, 33755, 33790, 34520, 34530, 34534, 34515, 34531, 34522,
34538, 34525, 34539, 34524, 34540, 34537, 34519, 34536, 34513, 34888,
34902, 34901, 35002, 35031, 35001, 35000, 35008, 35006, 34998, 35004,
34999, 35005, 34994, 35073, 35017, 35221, 35224, 35223, 35293,
{f: 2, c: 35290}, 35406, 35405, 35385, 35417, 35392, {f: 2, c: 35415},

{f: 2, c: 35396}, 35410, 35400, 35409, 35402, 35404, 35407, 35935, 35969,
35968, 36026, 36030, 36016, 36025, 36021, 36228, 36224, 36233, 36312,
36307, 36301, 36295, 36310, 36316, 36303, 36309, 36313, 36296, 36311,
36293, 36591, 36599, 36602, 36601, 36582, 36590, 36581, 36597,
{f: 2, c: 36583}, 36598, 36587, 36593, 36588, 36596, 36585, 36909, 36916,
36911, 37126, 37164, [37124, 60367], 37119, 37116, 37128, 37113, 37115,
37121, 37120, 37127, 37125, 37123, 37217, 37220, 37215, 37218, 37216,
37377, 37386, 37413, 37379, 37402, 37414, 37391, 37388, 37376, 37394,
37375, 37373, 37382, 37380, 37415, 37378, 37404, 37412, 37401, 37399,
37381, 37398, 38267, 38285, 38284, 38288, 38535, 38526, {f: 2, c: 38536},
38531, 38528, 38594, 38600, 38595, 38641, 38640, 38764, 38768, 38766,
38919, 39081, 39147, 40166, [12235, 40697], {f: 2, c: 20099}, 20150, 20669,
20671, 20678, 20654, 20676, 20682, 20660, 20680, 20674, 20656, 20673,
20666, 20657, 20683, 20681, 20662, 20664, 20951, 21114, 21112,
{f: 2, c: 21115}, 21955, 21979, 21964, 21968, 21963, 21962, 21981,
[21952, 64013], 21972, 21956, 21993, 21951, 21970, 21901, 21967, 21973,
21986, 21974, 21960, 22002, 21965, 21977, 21954, 22292, 22611, 22632,
22628, 22607, 22605, 22601, 22639, 22613, 22606, 22621, 22617, 22629,
22619, 22589, 22627, 22641, 22780, 23239, 23236, 23243, 23226, 23224,
23217, 23221, 23216, 23231, 23240, 23227, 23238, 23223, 23232, 23242,
23220, 23222, 23245, 23225, 23184, 23510, {f: 2, c: 23512}, 23583, 23603,
23921, 23907, 23882, 23909, 23922, 23916, 23902, 23912, 23911, 23906,
24048, 24143, 24142, 24138, 24141, 24139, 24261, 24268, 24262, 24267,
24263, 24384, 24495, 24493, 24823, {f: 2, c: 24905}, 24875, 24901, 24886,
24882, 24878, 24902, 24879, 24911, 24873, 24896, 25120, 37224, 25123,
25125, 25124, 25541, 25585, 25579, 25616, 25618, 25609, 25632, 25636,
25651, 25667, 25631, 25621, 25624, 25657, 25655, {f: 2, c: 25634}, 25612,
25638, 25648, 25640, 25665, 25653, 25647, 25610, 25626, 25664, 25637,
25639, 25611, 25575, 25627, 25646, 25633, 25614, 25967, 26002, 26067,
26246, 26252, 26261, 26256, 26251, 26250, 26265, 26260, 26232, 26400,
26982, 26975, 26936, 26958, 26978, 26993, 26943, 26949, 26986, 26937,
26946, 26967, 26969, 27002, {f: 2, c: 26952}, 26933, 26988, 26931, 26941,
26981, 26864, 27000, 26932, 26985, 26944, 26991, 26948, 26998, 26968,
26945, 26996, 26956, 26939, 26955, 26935, 26972, 26959, 26961, 26930,
26962, 26927, 27003, 26940, 27462, 27461, 27459, 27458, 27464, 27457,
27547, {f: 2, c: 27643}, 27641, {f: 2, c: 27639}, 28315, 28374, 28360,
28303, 28352, 28319, {f: 2, c: 28307}, 28320, 28337, 28345, 28358, 28370,
28349, 28353, 28318, 28361, 28343, 28336, 28365, 28326, 28367, 28338,
28350, 28355, 28380, 28376, 28313, 28306, 28302, 28301, 28324, 28321,
28351, 28339, 28368, 28362, 28311, 28334, 28323, 28999, 29012, 29010,
29027, 29024, 28993, 29021, [29026, 61080], 29042, 29048, 29034, 29025,
28994, 29016, 28995, 29003, 29040, 29023, 29008, 29011, 28996, 29005,
29018, 29263, 29325, 29324, 29329, 29328, 29326, 29500, 29506, 29499,
29498, 29504, 29514, 29513, 29764, {f: 2, c: 29770}, 29778, 29777, 29783,
29760, {f: 2, c: 29775}, 29774, 29762, 29766, 29773, 29780, 29921, 29951,
29950, 29949, 29981, 30073, 30071, 27011, 30191, 30223, 30211, 30199,
30206, 30204, [30201, 60782], 30200, 30224, 30203, 30198, 30189, 30197,
30205, 30361, 30389, 30429, 30549, {f: 2, c: 30559}, 30546, 30550, 30554,
30569, 30567, 30548, 30553, 30573, 30688, 30855, 30874, 30868, 30863,
30852, 30869, {f: 2, c: 30853}, 30881, 30851, 30841, 30873, 30848, 30870,
30843, 31100, 31106, 31101, 31097, 31249, {f: 2, c: 31256}, 31250, 31255,
31253, 31266, 31251, 31259, 31248, 31395, 31394, 31390, 31467, 31590,
31588, 31597, 31604, 31593, 31602, 31589, 31603, 31601, 31600, 31585,
31608, 31606, 31587, 31922, 31924, 31919, 32136, 32134, 32128, 32141,
32127, 32133, 32122, 32142, 32123, 32131, 32124, 32140, 32148, 32132,
32125, 32146, 32621, 32619, {f: 2, c: 32615}, 32620, 32678, 32677, 32679,
{f: 2, c: 32731}, 32801, 33124, 33120, 33143, 33116, 33129, 33115, 33122,
33138, 26401, 33118, 33142, 33127, 33135, 33092, 33121, 33309, 33353,
33348, 33344, 33346, 33349, 34033, 33855, 33878, 33910, 33913, 33935,
33933, 33893, 33873, 33856, 33926, 33895, 33840, 33869, 33917, 33882,

33881,
33859,
33887,
33863,
33872,
34574,
35038,
35297,
35447,
35914,
{f: 2,
36240,
36322,
{f: 2,
37136,
37448,
37450,
37488,
37426,
38650,
{f: 2,
39595,
20695,
20719,
22055,
22010,
22657,
22664,
23274,
23261,
23933,
23949,
24284,
24872,
24948,
25127,
25725,
25696,
26016,
27040,
27021,
27082,
27024,
{f: 2,
28411,
28397,
28469,
28412,
29056,
29335,
29813,
30216,
30594,
30888,
{f: 2,
31275,
31624,
31621,
32167,
32196,

33908, 33907, 33885, 34055, 33886, 33847, 33850, 33844, 33914,


33912, 33842, 33861, 33833, 33753, 33867, 33839, 33858, 33837,
33904, 33849, 33870, 33868, 33874, 33903, 33989, 33934, 33851,
33846, 33843, 33896, 33918, 33860, 33835, 33888, 33876, 33902,
34571, 34564, 34551, 34572, 34554, 34518, 34549, 34637, 34552,
34569, 34561, 34550, 34573, 34565, 35030, 35019, {f: 2, c: 35021},
35035, 35034, 35020, 35024, 35205, 35227, 35295, 35301, 35300,
35296, 35298, 35292, 35302, 35446, 35462, 35455, 35425, 35391,
35458, 35460, 35445, 35459, 35457, 35444, 35450, 35900, 35915,
35941, 35940, 35942, 35974, {f: 2, c: 35972}, 36044,
c: 36200}, 36241, 36236, {f: 2, c: 36238}, 36237, {f: 2, c: 36243},
36242, 36336, 36320, 36332, 36337, 36334, 36304, 36329, 36323,
36327, 36338, 36331, 36340, 36614, 36607, 36609, 36608, 36613,
c: 36615}, 36610, [36619, 60507], 36946, 36927, 36932, 36937, 36925,
37133, 37135, 37137, 37142, 37140, 37131, 37134, {f: 2, c: 37230},
37458, 37424, 37434, 37478, 37427, 37477, 37470, 37507, 37422,
37446, 37485, 37484, 37455, 37472, 37479, 37487, 37430, 37473,
37425, 37460, 37475, 37456, 37490, 37454, 37459, 37452, 37462,
38303, 38300, 38302, 38299, {f: 2, c: 38546}, 38545, 38551, 38606,
38653, 38648, 38645, 38771, {f: 2, c: 38775}, 38770, 38927,
c: 38925}, 39084, 39158, 39161, 39343, 39346, 39344, 39349, 39597,
39771, 40170, 40173, 40167, 40576, [12236, 40701], 20710, 20692,
20712, 20723, 20699, 20714, 20701, 20708, 20691, 20716, 20720,
20707, 20704, 20952, {f: 2, c: 21120}, 21225, 21227, 21296, 21420,
22037, 22028, 22034, 22012, 22031, 22044, 22017, 22035, 22018,
22045, 22020, 22015, 22009, 22665, 22652, 22672, 22680, 22662,
22655, 22644, 22667, 22650, 22663, 22673, 22670, 22646, 22658,
22651, 22676, 22671, 22782, 22891, 23260, 23278, 23269, 23253,
23258, 23277, 23275, 23283, 23266, 23264, 23259, 23276, 23262,
23257, 23272, 23263, 23415, 23520, 23523, 23651, 23938, 23936,
23942, 23930, 23937, 23927, 23946, 23945, 23944, 23934, 23932,
23929, 23935, {f: 2, c: 24152}, 24147, 24280, 24273, 24279, 24270,
24277, 24281, 24274, 24276, 24388, 24387, 24431, 24502, 24876,
24897, 24926, 24945, 24947, {f: 2, c: 24914}, 24946, 24940, 24960,
24916, 24954, 24923, 24933, 24891, 24938, 24929, 24918, 25129,
25131, 25643, 25677, 25691, 25693, 25716, 25718, {f: 2, c: 25714},
25717, 25702, 25766, 25678, 25730, 25694, 25692, 25675, 25683,
25680, 25727, 25663, 25708, 25707, 25689, 25701, 25719, 25971,
26273, 26272, 26271, 26373, 26372, 26402, 27057, 27062, 27081,
27086, 27030, 27056, 27052, 27068, 27025, 27033, 27022, 27047,
27049, 27070, 27055, 27071, 27076, 27069, 27044, 27092, 27065,
27034, 27087, 27059, 27027, 27050, 27041, 27038, 27097, 27031,
27074, 27061, 27045, 27078, 27466, 27469, 27467, {f: 3, c: 27550},
c: 27587}, 27646, 28366, 28405, 28401, 28419, 28453, 28408, 28471,
28462, 28425, 28494, {f: 2, c: 28441}, 28455, 28440, 28475, 28434,
28426, 28470, 28531, 28409, 28398, 28461, 28480, 28464, 28476,
28395, 28423, 28430, 28483, 28421, 28413, 28406, 28473, 28444,
28474, 28447, 28429, 28446, 28424, 28449, 29063, 29072, 29065,
29061, 29058, 29071, 29051, 29062, 29057, 29079, 29252, 29267,
29333, 29331, 29507, 29517, 29521, 29516, 29794, 29811, 29809,
29810, 29799, 29806, 29952, {f: 2, c: 29954}, 30077, 30096, 30230,
30220, 30229, 30225, 30218, 30228, 30392, 30593, 30588, 30597,
30574, 30592, 30575, 30590, 30595, 30898, 30890, 30900, 30893,
30846, 30891, 30878, 30885, 30880, 30892, 30882, 30884, 31128,
c: 31114}, 31126, 31125, 31124, 31123, 31127, 31112, 31122, 31120,
31306, 31280, 31279, 31272, 31270, 31400, {f: 2, c: 31403}, 31470,
31644, 31626, 31633, 31632, 31638, 31629, 31628, 31643, 31630,
31640, 21124, 31641, 31652, 31618, 31931, 31935, 31932, 31930,
32183, 32194, 32163, 32170, 32193, 32192, 32197, 32157, 32206,
32198, {f: 2, c: 32203}, 32175, 32185, 32150, 32188, 32159, 32166,

32174,
32861,
33943,
33977,
33979,
34006,
33937,
34585,
34605,
34596,
35054,
35230,
35901,
36365,
{f: 2,
37146,
37494,
37497,
37512,
37533,
38787,
{f: 2,
39354,
{f: 2,
20784,
20746,
22090,
22072,
22700,
23288,
23967,
24169,
24971,
25005,
25712,
25763,
{f: 2,
27142,
27106,
27200,
27173,
27554,
28614,
28534,
28509,
28543,
29088,
29084,
29531,
29821,
30238,
30363,
30926,
31138,
31678,
31947,
32246,
32747,
33173,
33361,

32169, 32161, 32201, 32627, {f: 2, c: 32738}, 32741, 32734, 32804,


32860, 33161, 33158, 33155, 33159, 33165, 33164, 33163, 33301,
33956, 33953, 33951, 33978, 33998, 33986, 33964, 33966, 33963,
33972, 33985, 33997, 33962, 33946, 33969, 34000, 33949, 33959,
33954, 33940, 33991, 33996, 33947, 33961, 33967, [33960, 58327],
33944, 33974, 33999, 33952, 34007, 34004, 34002, 34011, 33968,
34401, 34611, 34595, 34600, 34667, 34624, 34606, 34590, 34593,
34587, 34627, 34604, 34625, 34622, 34630, 34592, 34610, 34602,
34620, 34578, 34618, 34609, 34613, 34626, {f: 2, c: 34598}, 34616,
34586, 34608, 34577, 35063, 35047, {f: 2, c: 35057}, 35066, 35070,
35068, 35062, 35067, 35056, 35052, 35051, 35229, 35233, 35231,
35305, 35307, 35304, 35499, 35481, 35467, 35474, 35471, 35478,
{f: 2, c: 35944}, 36053, 36047, 36055, 36246, 36361, 36354, 36351,
36349, 36362, 36355, 36359, 36358, 36357, 36350, 36352, 36356,
c: 36624}, 36622, 36621, 37155, 37148, 37152, 37154, 37151, 37149,
37156, 37153, 37147, 37242, 37234, 37241, 37235, 37541, 37540,
37531, 37498, 37536, 37524, 37546, 37517, 37542, 37530, 37547,
37527, 37503, 37539, 37614, 37518, 37506, 37525, 37538, 37501,
37537, 37514, 37510, 37516, 37529, 37543, 37502, 37511, 37545,
37515, 37421, 38558, 38561, 38655, 38744, 38781, 38778, 38782,
38784, 38786, 38779, 38788, 38785, 38783, 38862, 38861, 38934,
c: 39085}, 39170, 39168, 39175, 39325, 39324, 39363, 39353, 39355,
39362, 39357, 39367, 39601, 39651, 39655, {f: 2, c: 39742},
c: 39776}, 39775, {f: 2, c: 40177}, 40181, 40615, 20735, 20739,
20728, {f: 2, c: 20742}, 20726, 20734, {f: 2, c: 20747}, 20733,
{f: 2, c: 21131}, 21233, 21231, 22088, 22082, 22092, 22069, 22081,
22089, 22086, 22104, 22106, 22080, 22067, 22077, 22060, 22078,
22058, 22074, 22298, 22699, 22685, 22705, 22688, 22691, 22703,
22693, 22689, 22783, 23295, 23284, 23293, 23287, 23286, 23299,
23298, 23289, 23297, 23303, 23301, 23311, 23655, 23961, 23959,
23954, 23970, 23955, 23957, 23968, 23964, 23969, 23962, 23966,
24157, 24160, 24156, 32243, 24283, 24286, 24289, 24393, 24498,
24963, 24953, 25009, 25008, 24994, 24969, 24987, 24979, 25007,
24991, 24978, 25002, 24993, 24973, 24934, 25011, 25133, 25710,
25750, 25760, 25733, 25751, 25756, 25743, 25739, 25738, 25740,
25759, 25704, 25777, 25752, 25974, 25978, 25977, 25979,
c: 26034}, 26293, 26288, 26281, 26290, 26295, 26282, 26287, 27136,
27159, 27109, 27128, 27157, 27121, 27108, 27168, 27135, 27116,
27163, 27165, 27134, 27175, 27122, 27118, 27156, 27127, 27111,
27144, 27110, 27131, 27149, 27132, 27115, 27145, 27140, 27160,
27151, 27126, 27174, 27143, 27124, 27158, 27473, 27557, 27555,
27558, 27649, 27648, 27647, 27650, 28481, 28454, 28542, 28551,
28562, 28557, 28553, 28556, 28514, 28495, 28549, 28506, 28566,
28524, 28546, 28501, 28530, 28498, 28496, 28503, 28564, 28563,
28416, 28513, 28523, 28541, 28519, 28560, 28499, 28555, 28521,
28565, 28515, 28535, 28522, 28539, 29106, 29103, 29083, 29104,
29082, 29097, 29109, 29085, 29093, 29086, 29092, 29089, 29098,
29095, 29107, 29336, 29338, 29528, 29522, {f: 3, c: 29534}, 29533,
29537, 29530, 29529, 29538, 29831, {f: 2, c: 29833}, 29830, 29825,
29829, 29832, 29820, [29817, 58868], 29960, 29959, 30078, 30245,
30233, 30237, 30236, 30243, 30234, 30248, 30235, {f: 3, c: 30364},
30605, 30607, 30601, 30600, 30925, 30907, 30927, 30924, 30929,
30932, 30920, {f: 2, c: 30915}, 30921, 31130, 31137, 31136, 31132,
[31131, 59175], 27510, 31289, 31410, 31412, 31411, 31671, 31691,
31660, 31694, 31663, 31673, 31690, 31669, 31941, 31944, 31948,
32247, 32219, 32234, 32231, 32215, 32225, 32259, 32250, 32230,
32241, 32240, 32238, 32223, 32630, 32684, 32688, 32685, 32749,
32746, 32748, 32742, 32744, 32868, 32871, 33187, 33183, 33182,
33186, 33177, 33175, 33302, 33359, 33363, 33362, 33360, 33358,
34084, 34107, 34063, 34048, 34089, 34062, 34057, 34061, 34079,

34058,
34034,
34046,
{f: 2,
34095,
34651,
34655,
34677,
{f: 3,
35309,
35515,
35902,
36256,
36379,
36380,
{f: 2,
{f: 2,
{f: 2,
37558,
37570,
37598,
38316,
38746,
38952,
{f: 2,
39369,
39667,
39797,
40199,
{f: 2,
22128,
22300,
23319,
23322,
23982,
24175,
25000,
24972,
25843,
{f: 2,
27209,
27176,
27247,
27477,
27654,
28605,
28623,
29125,
29127,
{f: 2,
29823,
30253,
30618,
30941,
{f: 2,
31415,
31700,
{f: 2,
32270,
32293,

34087, 34076, 34043, 34091, 34042, 34056, 34060, 34036, 34090,


34069, 34039, 34027, 34035, 34044, 34066, 34026, 34025, 34070,
34088, 34077, 34094, 34050, 34045, 34078, 34038, 34097, 34086,
c: 34023}, 34032, 34031, 34041, 34072, 34080, 34096, 34059, 34073,
34402, 34646, {f: 2, c: 34659}, 34679, 34785, 34675, 34648, 34644,
34642, 34657, 34650, 34641, 34654, 34669, 34666, 34640, 34638,
34653, 34671, 34668, 34682, 34670, 34652, 34661, 34639, 34683,
34658, 34663, 34665, 34906, 35077, 35084, 35092, 35083,
c: 35095}, 35078, 35094, 35089, 35086, 35081, 35234, 35236, 35235,
35312, 35308, 35535, 35526, 35512, 35539, 35537, {f: 2, c: 35540},
35543, 35518, 35520, 35525, 35544, 35523, 35514, 35517, 35545,
35917, 35983, 36069, 36063, 36057, 36072, 36058, 36061, 36071,
36252, 36257, 36251, 36384, 36387, 36389, 36388, 36398, 36373,
36374, 36369, 36377, {f: 2, c: 36390}, 36372, 36370, 36376, 36371,
36375, 36378, 36652, 36644, 36632, 36634, 36640, 36643,
c: 36630}, 36979, 36976, 36975, 36967, 36971, 37167, 37163,
c: 37161}, 37170, 37158, 37166, {f: 2, c: 37253}, 37258,
c: 37249}, 37252, 37248, 37584, {f: 2, c: 37571}, 37568, 37593,
37583, 37617, 37599, 37592, 37609, 37591, 37597, 37580, 37615,
37608, 37578, 37576, 37582, 37606, 37581, 37589, 37577, 37600,
37607, 37585, 37587, 37557, 37601, 37669, 37574, 37556, 38268,
38315, 38318, 38320, 38564, 38562, 38611, 38661, 38664, 38658,
38794, 38798, 38792, 38864, 38863, 38942, 38941, 38950, 38953,
38944, 38939, 38951, 39090, 39176, 39162, 39185, 39188,
c: 39190}, 39189, 39388, 39373, 39375, {f: 2, c: 39379}, 39374,
[39382, 60270], 39384, 39371, 39383, 39372, 39603, 39660, 39659,
39666, 39665, 39750, 39747, 39783, 39796, 39793, 39782, 39798,
39792, 39784, 39780, 39788, 40188, 40186, 40189, 40191, 40183,
40192, 40185, 40187, 40200, 40197, 40196, 40579, 40659,
c: 40719}, 20764, 20755, 20759, 20762, 20753, 20958, 21300, 21473,
22112, 22126, 22131, 22118, 22115, 22125, 22130, 22110, 22135,
22299, 22728, 22717, 22729, 22719, 22714, 22722, 22716, 22726,
23321, 23323, 23329, 23316, 23315, 23312, 23318, [23336, 59539],
23328, 23326, 23535, 23980, 23985, 23977, 23975, 23989, 23984,
23978, 23976, 23986, 23981, 23983, 23988, {f: 2, c: 24167}, 24166,
24297, 24295, 24294, 24296, 24293, 24395, 24508, 24507, 24989,
24982, 25029, 25012, 25030, 25025, 25036, 25018, 25023, 25016,
25815, 25814, 25808, 25807, 25801, 25789, 25737, 25795, 25819,
25817, 25907, 25983, 25980, 26018, 26312, 26302, 26304,
c: 26314}, 26319, 26301, 26299, 26298, 26316, 26403, 27188, 27238,
27239, 27186, 27240, 27198, 27229, 27245, 27254, 27227, 27217,
27226, 27195, 27199, 27201, 27242, 27236, 27216, 27215, 27220,
27241, 27232, 27196, 27230, 27222, 27221, {f: 2, c: 27213}, 27206,
27476, 27478, 27559, {f: 2, c: 27562}, 27592, 27591, 27652, 27651,
28589, 28619, 28579, 28615, 28604, 28622, 28616, 28510, 28612,
28574, 28618, 28584, 28676, 28581, 28590, 28602, 28588, 28586,
28607, 28600, 28578, 28617, 28587, 28621, 28591, 28594, 28592,
29122, 29119, 29112, 29142, {f: 2, c: 29120}, 29131, 29140, 29130,
29135, 29117, 29144, 29116, 29126, {f: 2, c: 29146},
c: 29341}, 29545, {f: 2, c: 29542}, 29548, 29541, 29547, 29546,
29850, 29856, 29844, 29842, 29845, 29857, 29963, 30080, 30255,
30257, 30269, 30259, 30268, 30261, 30258, 30256, 30395, 30438,
30621, 30625, 30620, 30619, {f: 2, c: 30626}, 30613, 30617, 30615,
30953, 30949, 30954, 30942, 30947, 30939, {f: 2, c: 30945}, 30957,
c: 30943}, 31140, 31300, 31304, 31303, 31414, 31416, 31413, 31409,
31710, 31715, 31719, 31709, 31701, 31717, 31706, 31720, 31737,
31722, 31714, 31708, 31723, 31704, 31711, 31954, 31956, 31959,
c: 31952}, 32274, 32289, 32279, 32268, {f: 2, c: 32287}, 32275,
32284, 32277, 32282, 32290, 32267, 32271, 32278, 32269, 32276,
32292, 32579, {f: 2, c: 32635}, 32634, 32689, 32751, 32810, 32809,

32876,
33202,
34131,
34119,
34144,
34724,
34681,
34714,
35113,
{f: 2,
35560,
36080,
36421,
36654,
37114,
37671,
37667,
37651,
37674,
38349,
38667,
38962,
39408,
39674,
39810,
40224,
40584,
40765,
{f: 2,
22740,
23343,
25013,
25827,
27286,
27278,
27276,
28636,
29169,
29874,
29967,
30642,
{f: 2,
31324,
31759,
31753,
31754,
32320,
32639,
33221,
34215,
34172,
34201,
34192,
34741,
34762,
35132,
{f: 2,
35602,
35952,
36435,

33201, 33190, 33198, 33209, 33205, 33195, 33200, 33196, 33204,


33207, 33191, 33266, {f: 3, c: 33365}, 34134, 34117, 34155, 34125,
34145, 34136, 34112, 34118, 34148, 34113, 34146, 34116, 34129,
34147, 34110, 34139, 34161, 34126, 34158, 34165, 34133, 34151,
34188, 34150, 34141, 34132, 34149, 34156, 34403, 34405, 34404,
34715, 34703, 34711, 34707, 34706, 34696, 34689, 34710, 34712,
34695, 34723, 34693, {f: 2, c: 34704}, 34717, 34692, 34708, 34716,
34697, 35102, 35110, 35120, {f: 2, c: 35117}, 35111, 35121, 35106,
35107, 35119, 35116, 35103, 35313, 35552, 35554, 35570,
c: 35572}, 35549, 35604, 35556, 35551, 35568, 35528, 35550, 35553,
35583, 35567, 35579, {f: 2, c: 35985}, 35984, 36085, 36078, 36081,
36083, 36204, 36206, 36261, 36263, 36403, 36414, 36408, 36416,
36406, {f: 2, c: 36412}, 36417, 36400, 36415, 36541, [36662, 60329],
36661, 36658, 36665, 36663, 36660, 36982, 36985, 36987, 36998,
37171, {f: 2, c: 37173}, 37267, {f: 2, c: 37264}, 37261, 37263,
37662, 37640, 37663, 37638, 37647, 37754, 37688, 37692, 37659,
37650, 37633, 37702, 37677, 37646, 37645, 37579, 37661, 37626,
37625, 37623, 37684, 37634, 37668, 37631, 37673, 37689, 37685,
37652, 37644, 37643, 37630, 37641, 37632, 37627, 37654, 38332,
38334, {f: 2, c: 38329}, 38326, 38335, 38325, 38333, 38569, 38612,
38674, 38672, 38809, 38807, 38804, 38896, 38904, 38965, 38959,
39204, 39199, 39207, 39209, 39326, 39406, 39404, 39397, 39396,
39395, 39402, 39401, 39399, 39609, 39615, 39604, 39611, 39670,
39673, 39671, 39731, 39808, 39813, 39815, 39804, 39806, 39803,
39827, 39826, 39824, 39802, 39829, 39805, 39816, 40229, 40215,
40222, 40212, 40233, 40221, 40216, 40226, 40208, 40217, 40223,
{f: 2, c: 40582}, 40622, 40621, {f: 2, c: 40661}, 40698, 40722,
20774, 20773, 20770, 20772, 20768, 20777, 21236, 22163,
c: 22156}, 22150, 22148, 22147, 22142, 22146, 22143, 22145, 22742,
22735, 22738, 23341, 23333, 23346, 23331, 23340, 23335, 23334,
23342, 23419, {f: 2, c: 23537}, 23991, 24172, 24170, 24510, 25027,
25020, 25063, 25056, 25061, 25060, 25064, 25054, 25839, 25833,
25835, 25828, 25832, 25985, 25984, 26038, 26074, 26322, 27277,
27265, 27301, 27273, 27295, 27291, 27297, 27294, 27271, 27283,
27285, 27267, 27304, 27300, 27281, 27263, 27302, 27290, 27269,
27282, 27483, 27565, 27657, 28620, 28585, 28660, 28628, 28643,
28653, 28647, 28646, 28638, 28658, 28637, 28642, 28648, 29153,
29160, 29170, 29156, 29168, 29154, 29555, {f: 2, c: 29550}, 29847,
29867, 29840, 29866, 29869, 29873, 29861, 29871, {f: 3, c: 29968},
30084, 30275, {f: 2, c: 30280}, 30279, 30372, 30441, 30645, 30635,
30647, 30646, 30644, 30641, 30632, 30704, 30963, 30973, 30978,
c: 30971}, 30975, 30962, 30981, 30969, 30974, 30980, 31147, 31144,
31323, 31318, 31320, 31316, 31322, 31422, {f: 2, c: 31424}, 31749,
31730, 31744, 31743, 31739, 31758, 31732, 31755, 31731, 31746,
31747, 31745, 31736, 31741, [31750, 58176], {f: 2, c: 31728}, 31760,
31976, 32301, 32316, 32322, 32307, 38984, 32312, 32298, 32329,
32327, 32297, 32332, 32304, 32315, 32310, 32324, 32314, 32581,
32638, 32637, 32756, 32754, 32812, 33211, 33220, 33228, 33226,
33223, 33212, 33257, 33371, 33370, 33372, 34179, 34176, 34191,
34197, 34208, 34187, 34211, 34171, 34212, 34202, 34206, 34167,
34185, 34209, 34170, 34168, 34135, 34190, 34198, 34182, 34189,
34205, 34177, 34210, 34178, 34184, 34181, 34169, 34166, 34200,
34207, 34408, 34750, 34730, 34733, 34757, 34736, 34732, 34745,
34748, 34734, 34761, 34755, 34754, 34764, 34743, 34735, 34756,
34740, 34742, 34751, 34744, 34749, 34782, 34738, 35125, 35123,
35134, 35137, 35154, 35127, 35138, 35245, 35247, 35246,
c: 35314}, 35614, 35608, 35606, 35601, 35589, 35595, 35618, 35599,
35605, 35591, 35597, 35592, 35590, 35612, 35603, 35610, 35919,
35954, 35953, 35951, 35989, 35988, 36089, 36207, 36430, 36429,
36432, 36428, 36423, 36675, 36672, 36997, 36990, 37176, 37274,

37282, 37275, 37273, 37279, 37281, 37277, 37280, 37793, 37763, 37807,
37732, 37718, 37703, 37756, 37720, 37724, 37750, 37705, {f: 2, c: 37712},
37728, 37741, 37775, 37708, 37738, 37753, 37719, 37717, 37714, 37711,
37745, 37751, 37755, 37729, 37726, 37731, 37735, 37710, 37721, 38343,
38336, 38345, 38339, 38341, 38327, 38574, 38576, 38572, 38688, 38687,
38680, 38685, 38681, 38810, 38817, 38812, 38814, 38813, 38869, 38868,
38897, 38977, 38980, 38986, 38985, 38981, 38979, 39205, {f: 2, c: 39211},
39210, 39219, 39218, 39215, 39213, 39217, 39216, 39320, 39331, 39329,
39426, 39418, 39412, 39415, 39417, 39416, 39414, 39419, {f: 2, c: 39421},
39420, 39427, 39614, 39678, 39677, 39681, 39676, 39752, 39834, 39848,
39838, 39835, 39846, 39841, 39845, 39844, 39814, 39842, 39840, 39855,
40243, 40257, 40295, 40246, {f: 2, c: 40238}, 40241, 40248, 40240, 40261,
{f: 2, c: 40258}, 40254, 40247, 40256, 40253, 32757, 40237, 40586, 40585,
40589, 40624, 40648, 40666, 40699, 40703, 40740, 40739, 40738, 40788,
[12245, 40864], 20785, {f: 2, c: 20781}, 22168, 22172, 22167, 22170, 22173,
22169, 22896, 23356, {f: 2, c: 23657}, 24000, {f: 2, c: 24173}, 25048,
25055, {f: 2, c: 25069}, 25073, 25066, 25072, 25067, 25046, 25065, 25855,
25860, 25853, 25848, 25857, 25859, 25852, 26004, 26075, {f: 2, c: 26330},
26328, 27333, 27321, 27325, 27361, 27334, 27322, {f: 2, c: 27318}, 27335,
27316, 27309, 27486, 27593, 27659, 28679, {f: 2, c: 28684}, 28673, 28677,
28692, 28686, {f: 2, c: 28671}, 28667, 28710, 28668, 28663, 28682,
[29185, 60224], 29183, 29177, 29187, 29181, 29558, 29880, 29888, 29877,
29889, 29886, 29878, 29883, 29890, 29972, 29971, 30300, 30308, 30297,
30288, 30291, 30295, 30298, 30374, 30397, 30444, 30658, 30650, 30988,
{f: 2, c: 30995}, 30985, 30992, 30994, 30993, 31149, 31148, 31327, 31772,
31785, 31769, 31776, 31775, 31789, 31773, 31782, 31784, 31778, 31781,
31792, 32348, 32336, 32342, 32355, 32344, 32354, 32351, 32337, 32352,
32343, 32339, 32693, 32691, {f: 2, c: 32759}, 32885, {f: 2, c: 33233},
33232, 33375, 33374, 34228, 34246, 34240, 34243, 34242, 34227, 34229,
34237, 34247, 34244, 34239, 34251, 34254, 34248, 34245, 34225, 34230,
34258, 34340, 34232, 34231, 34238, 34409, 34791, 34790, 34786, 34779,
34795, 34794, 34789, 34783, 34803, 34788, 34772, 34780, 34771, 34797,
34776, 34787, 34775, 34777, 34817, 34804, 34792, 34781, 35155, 35147,
35151, 35148, 35142, {f: 2, c: 35152}, 35145, 35626, 35623, 35619, 35635,
35632, 35637, 35655, 35631, 35644, 35646, 35633, 35621, 35639, 35622,
35638, 35630, 35620, 35643, 35645, 35642, 35906, 35957, 35993, 35992,
35991, 36094, 36100, 36098, 36096, 36444, 36450, 36448, 36439, 36438,
36446, 36453, 36455, 36443, 36442, 36449, 36445, 36457, 36436,
{f: 3, c: 36678}, 36683, 37160, {f: 2, c: 37178}, 37182, 37288, 37285,
37287, 37295, 37290, 37813, 37772, 37778, 37815, 37787, 37789, 37769,
37799, 37774, 37802, 37790, 37798, 37781, 37768, 37785, 37791, 37760,
37773, 37809, 37777, 37810, 37796, 37800, 37812, 37795, {f: 2, c: 38354},
38353, 38579, 38615, 38618, 24002, 38623, 38616, 38621, 38691, 38690,
38693, 38828, 38830, 38824, 38827, 38820, 38826, 38818, 38821, 38871,
38873, 38870, 38872, 38906, {f: 3, c: 38992}, 39096, 39233, 39228, 39226,
39439, 39435, 39433, 39437, 39428, 39441, 39434, 39429, 39431, 39430,
39616, 39644, 39688, {f: 2, c: 39684}, 39721, 39733, 39754, 39756, 39755,
39879, 39878, 39875, 39871, 39873, 39861, 39864, 39891, 39862, 39876,
39865, 39869, 40284, 40275, 40271, 40266, 40283, 40267, 40281, 40278,
40268, 40279, 40274, 40276, 40287, 40280, 40282, 40590, 40588, 40671,
40705, 40704, [40726, 58693], 40741, 40747, 40746, 40745, 40744, 40780,
40789, {f: 2, c: 20788}, 21142, 21239, 21428, 22187, 22189,
{f: 2, c: 22182}, 22186, 22188, 22746, 22749, 22747, 22802,
{f: 3, c: 23357}, 24003, 24176, 24511, 25083, 25863, 25872, 25869, 25865,
25868, 25870, 25988, 26078, 26077, 26334, 27367, 27360, 27340, 27345,
27353, 27339, 27359, 27356, 27344, 27371, 27343, 27341, 27358, 27488,
27568, 27660, 28697, 28711, 28704, 28694, 28715, {f: 3, c: 28705}, 28713,
28695, 28708, 28700, 29196, 29194, 29191, 29186, 29189, {f: 2, c: 29349},
29348, 29347, 29345, 29899, 29893, 29879, 29891, 29974, 30304,
{f: 2, c: 30665}, 30660, 30705, 31005, 31003, 31009, 31004, 30999, 31006,

31152,
32374,
32587,
33291,
34266,
34288,
34825,
{f: 2,
35254,
35669,
{f: 2,
36458,
37184,
37881,
37845,
38625,
{f: 3,
39240,
39451,
39690,
39906,
39898,
{f: 2,
40307,
40640,
22194,
{f: 2,
{f: 2,
{f: 2,
28735,
29352,
{f: 2,
31017,
31813,
33241,
34308,
34838,
35685,
36693,
37899,
37913,
37897,
38366,
39008,
39244,
39470,
39944,
39956,
40352,
40355,
40676,
40849,
24011,
{f: 2,
29209,
31986,
32816,
34350,
34852,
35704,

{f: 2, c: 31335}, 31795, 31804, 31801, 31788, 31803, 31980, 31978,


32373, 32376, 32368, 32375, 32367, 32378, 32370, 32372, 32360,
32586, 32643, 32646, 32695, {f: 2, c: 32765}, 32888, 33239, 33237,
33380, 33377, 33379, 34283, 34289, 34285, 34265, 34273, 34280,
34263, 34284, 34290, 34296, 34264, 34271, 34275, 34268, 34257,
34278, 34287, 34270, 34274, 34816, 34810, 34819, {f: 2, c: 34806},
34828, 34827, 34822, 34812, 34824, 34815, 34826, 34818, 35170,
c: 35162}, 35159, 35169, 35164, 35160, 35165, 35161, 35208, 35255,
35318, 35664, 35656, 35658, 35648, 35667, 35670, 35668, 35659,
35665, 35650, 35666, 35671, 35907, 35959, 35958, 35994,
c: 36102}, 36105, 36268, 36266, 36269, 36267, 36461, 36472, 36467,
36463, 36475, 36546, 36690, 36689, {f: 2, c: 36687}, 36691, 36788,
37183, 37296, 37293, 37854, 37831, 37839, 37826, 37850, 37840,
37868, 37836, 37849, 37801, 37862, 37834, 37844, 37870, 37859,
37828, 37838, 37824, 37842, 37797, 37863, 38269, {f: 2, c: 38362},
38697, {f: 2, c: 38699}, 38696, 38694, 38835, 38839, 38838,
c: 38877}, 39004, 39001, 39005, 38999, 39103, 39101, 39099, 39102,
39239, 39235, {f: 2, c: 39334}, 39450, 39445, 39461, 39453, 39460,
39458, 39456, 39463, 39459, 39454, 39452, 39444, 39618, 39691,
39694, 39692, 39735, {f: 2, c: 39914}, 39904, 39902, 39908, 39910,
39920, 39892, 39895, 39916, 39900, 39897, 39909, 39893, 39905,
40311, 40321, 40330, 40324, 40328, 40305, 40320, 40312, 40326,
c: 40331}, 40317, 40299, {f: 2, c: 40308}, 40304, 40297, 40325,
40315, 40322, 40303, 40313, 40319, 40327, 40296, 40596, 40593,
40700, 40749, {f: 2, c: 40768}, 40781, {f: 3, c: 40790}, 21303,
22197, 22195, 22755, 23365, {f: 2, c: 24006}, {f: 2, c: 24302},
c: 24512}, 25081, 25879, 25878, 25877, 25875, 26079, 26344,
c: 26339}, 27379, 27376, 27370, 27368, 27385, 27377,
c: 27374}, 28732, 28725, 28719, 28727, 28724, 28721, 28738, 28728,
28730, 28729, 28714, 28736, 28731, 28723, 28737, {f: 2, c: 29203},
29565, 29564, 29882, 30379, 30378, 30398, 30445, 30668,
c: 30670}, 30669, 30706, 31013, 31011, {f: 2, c: 31015}, 31012,
31154, 31342, {f: 2, c: 31340}, 31479, 31817, 31816, 31818, 31815,
31982, 32379, 32382, 32385, 32384, 32698, 32767, 32889, 33243,
{f: 2, c: 33384}, 34338, 34303, 34305, 34302, 34331, 34304, 34294,
34313, 34309, 34316, 34301, 34841, {f: 2, c: 34832}, 34839, 34835,
35171, 35174, 35257, 35319, 35680, 35690, 35677, 35688, 35683,
35687, 35693, 36270, 36486, 36488, 36484, 36697, {f: 2, c: 36694},
36696, 36698, 37005, 37187, 37185, 37303, 37301, {f: 2, c: 37298},
37907, 37883, 37920, 37903, 37908, 37886, 37909, 37904, 37928,
37901, 37877, 37888, 37879, 37895, 37902, 37910, 37906, 37882,
37880, 37948, 37898, 37887, 37884, 37900, 37878, 37905, 37894,
38368, 38367, {f: 2, c: 38702}, 38841, 38843, {f: 2, c: 38909},
{f: 2, c: 39010}, 39007, {f: 2, c: 39105}, 39248, 39246, 39257,
39243, 39251, 39474, 39476, 39473, 39468, 39466, 39478, 39465,
39480, 39469, 39623, 39626, 39622, 39696, 39698, 39697, 39947,
39927, 39941, 39954, 39928, 40000, 39943, 39950, 39942, 39959,
39945, 40351, 40345, 40356, 40349, 40338, 40344, 40336, 40347,
40340, 40348, 40362, 40343, 40353, 40346, 40354, 40360, 40350,
40383, 40361, 40342, {f: 2, c: 40358}, 40601, 40603, 40602, 40677,
40679, 40678, 40752, 40750, 40795, 40800, 40798, 40797, 40793,
20794, 20793, 21144, 21143, 22211, {f: 2, c: 22205}, 23368, 23367,
24015, 24305, 25085, 25883, 27394, 27388, 27395, 27384, 27392,
c: 28739}, 28746, {f: 2, c: 28744}, {f: 2, c: 28741}, 29213, 29210,
29566, 29975, 30314, 30672, 31021, 31025, 31023, 31828, 31827,
32394, [32391, 60229], 32392, 32395, 32390, 32397, 32589, 32699,
33245, 34328, 34346, 34342, 34335, 34339, 34332, 34329, 34343,
34337, 34336, 34345, 34334, 34341, 34857, 34845, 34843, 34848,
34844, 34859, 34890, 35181, 35177, 35182, 35179, 35322, 35705,
35653, {f: 2, c: 35706}, 36112, 36116, 36271, 36494, 36492, 36702,

36699, 36701, 37190, {f: 2, c: 37188}, 37305, 37951, 37947, 37942, 37929,
37949, 37936, 37945, 37930, 37943, 37932, 37952, 37937, 38373, 38372,
38371, 38709, 38714, 38847, 38881, 39012, 39113, 39110, 39104, 39256,
39254, 39481, 39485, 39494, 39492, 39490, 39489, 39482, 39487, 39629,
39701, {f: 2, c: 39703}, 39702, 39738, 39762, 39979, 39965, 39964, 39980,
39971, {f: 2, c: 39976}, 39972, 39969, 40375, 40374, 40380, 40385, 40391,
40394, 40399, 40382, 40389, 40387, 40379, 40373, 40398, {f: 2, c: 40377},
40364, 40392, 40369, 40365, 40396, 40371, 40397, 40370, 40570, 40604,
40683, 40686, 40685, 40731, 40728, 40730, 40753, 40782, 40805, 40804,
40850, 20153, 22214, 22213, 22219, 22897, {f: 2, c: 23371}, 24021, 24017,
24306, 25889, 25888, 25894, 25890, 27403, {f: 2, c: 27400}, 27661,
{f: 3, c: 28757}, 28754, {f: 2, c: 29214}, 29353, 29567, 29912, 29909,
29913, 29911, 30317, 30381, 31029, 31156, {f: 2, c: 31344}, 31831, 31836,
31833, 31835, 31834, 31988, 31985, 32401, 32591, 32647, 33246, 33387,
{f: 2, c: 34356}, 34355, 34348, 34354, 34358, 34860, 34856, 34854, 34858,
34853, 35185, 35263, 35262, 35323, 35710, 35716, 35714, 35718, 35717,
35711, 36117, 36501, 36500, 36506, 36498, 36496, {f: 2, c: 36502}, 36704,
36706, 37191, 37964, 37968, {f: 2, c: 37962}, 37967, 37959, 37957,
{f: 2, c: 37960}, 37958, 38719, 38883, 39018, 39017, 39115, 39252, 39259,
39502, {f: 2, c: 39507}, 39500, 39503, 39496, 39498, 39497, 39506, 39504,
39632, 39705, 39723, 39739, 39766, 39765, 40006, 40008, 39999, 40004,
39993, 39987, 40001, 39996, 39991, 39988, 39986, 39997, 39990, 40411,
40402, 40414, 40410, 40395, 40400, 40412, 40401, 40415, 40425, 40409,
40408, 40406, 40437, 40405, 40413, 40630, 40688, 40757, 40755, 40754,
40770, 40811, 40853, 40866, 20797, 21145, 22760, 22759, 22898, 23373,
24024, 34863, 24399, 25089, {f: 2, c: 25091}, 25897, 25893, 26006, 26347,
{f: 2, c: 27409}, 27407, 27594, 28763, 28762, 29218, 29570, 29569, 29571,
30320, 30676, 31847, 31846, 32405, 33388, 34362, 34368, 34361, 34364,
34353, 34363, 34366, 34864, 34866, 34862, 34867, 35190, 35188, 35187,
35326, 35724, 35726, 35723, 35720, 35909, 36121, 36504, 36708, 36707,
37308, 37986, 37973, 37981, 37975, 37982, {f: 2, c: 38852}, 38912, 39510,
39513, {f: 3, c: 39710}, 40018, 40024, 40016, 40010, 40013, 40011, 40021,
40025, 40012, 40014, 40443, 40439, 40431, 40419, 40427, 40440, 40420,
40438, 40417, 40430, 40422, 40434, [40432, 60370], 40418, 40428, 40436,
40435, 40424, 40429, 40642, 40656, {f: 2, c: 40690}, 40710, 40732, 40760,
40759, 40758, 40771, 40783, 40817, 40816, {f: 2, c: 40814}, 22227, 22221,
23374, 23661, 25901, {f: 2, c: 26349}, 27411, 28767, 28769, 28765, 28768,
29219, 29915, 29925, 30677, 31032, 31159, 31158, 31850, 32407, 32649,
33389, 34371, 34872, 34871, 34869, 34891, {f: 2, c: 35732},
{f: 3, c: 36510}, 36509, 37310, 37309, 37314, 37995, {f: 2, c: 37992},
38629, 38726, 38723, 38727, 38855, 38885, 39518, 39637, 39769, 40035,
40039, 40038, 40034, 40030, 40032, 40450, 40446, 40455, 40451, 40454,
40453, {f: 2, c: 40448}, 40457, 40447, 40445, 40452, 40608, 40734, 40774,
{f: 3, c: 40820}, 22228, 25902, 26040, {f: 2, c: 27416}, 27415, 27418,
28770, 29222, 29354, {f: 2, c: 30680}, 31033, 31849, 31851, 31990, 32410,
32408, 32411, 32409, {f: 2, c: 33248}, {f: 3, c: 34374}, {f: 2, c: 35193},
35196, 35195, 35327, {f: 2, c: 35736}, 36517, 36516, 36515, 37998, 37997,
37999, 38001, 38003, 38729, 39026, 39263, 40040, 40046, 40045, 40459,
40461, 40464, 40463, 40466, 40465, 40609, 40693, 40713, 40775, 40824,
40827, 40826, 40825, 22302, 28774, 31855, 34876, 36274, 36518, 37315,
38004, 38008, 38006, 38005, 39520, [39726, 60830], 40052, 40051, 40049,
40053, 40468, 40467, 40694, 40714, 40868, 28776, 28773, 31991, 34410,
34878, 34877, 34879, 35742, 35996, 36521, 36553, 38731, {f: 2, c: 39027},
39116, 39265, 39339, 39524, {f: 2, c: 39526}, 39716, 40469, 40471, 40776,
25095, 27422, 29223, 34380, 36520, 38018, {f: 2, c: 38016}, 39529, 39528,
40473, 34379, 35743, 38019, 40057, 40631, 30325, 39531, 40058, 40477,
{f: 2, c: 28777}, 29225, 40612, 40830, 40777, 40856, {s: 97}, 65075, 0,
65076, 65103, [168, 776, 63208], [710, 63209, 65342], [12541, 63210],
[12542, 63211], [12445, 63212], [12446, 63213], 0, [12293, 63216],
[12294, 63217], [12295, 63218], [12540, 63219], [63220, 65339],

[63221, 65341], [10045, 63222], [12353, 63223], [12354, 63224],


[12355, 63225], [12356, 63226], [12357, 63227], [12358, 63228],
[12359, 63229], [12360, 63230], [12361, 63231], [12362, 63232],
[12363, 63233], [12364, 63234], [12365, 63235], [12366, 63236],
[12367, 63237], [12368, 63238], [12369, 63239], [12370, 63240],
[12371, 63241], [12372, 63242], [12373, 63243], [12374, 63244],
[12375, 63245], [12376, 63246], [12377, 63247], [12378, 63248],
[12379, 63249], [12380, 63250], [12381, 63251], [12382, 63252],
[12383, 63253], [12384, 63254], [12385, 63255], [12386, 63256],
[12387, 63257], [12388, 63258], [12389, 63259], [12390, 63260],
[12391, 63261], [12392, 63262], [12393, 63263], [12394, 63264],
[12395, 63265], [12396, 63266], [12397, 63267], [12398, 63268],
[12399, 63269], [12400, 63270], [12401, 63271], [12402, 63272],
[12403, 63273], [12404, 63274], [12405, 63275], [12406, 63276],
[12407, 63277], [12408, 63278], [12409, 63279], [12410, 63280],
[12411, 63281], [12412, 63282], [12413, 63283], [12414, 63284],
[12415, 63285], [12416, 63286], [12417, 63287], [12418, 63288],
[12419, 63289], [12420, 63290], [12421, 63291], [12422, 63292],
[12423, 63293], [12424, 63294], [12425, 63295], [12426, 63296],
[12427, 63297], [12428, 63298], [12429, 63299], [12430, 63300],
[12431, 63301], [12432, 63302], [12433, 63303], [12434, 63304],
[12435, 63305], [12449, 63306], [12450, 63307], [12451, 63308],
[12452, 63309], [12453, 63310], [12454, 63311], [12455, 63312],
[12456, 63313], [12457, 63314], [12458, 63315], [12459, 63316],
[12460, 63317], [12461, 63318], [12462, 63319], [12463, 63320],
[12464, 63321], [12465, 63322], [12466, 63323], [12467, 63324],
[12468, 63325], [12469, 63326], [12470, 63327], [12471, 63328],
[12472, 63329], [12473, 63330], [12474, 63331], [12475, 63332],
[12476, 63333], [12477, 63334], [12478, 63335], [12479, 63336],
[12480, 63337], [12481, 63338], [12482, 63339], [12483, 63340],
[12484, 63341], [12485, 63342], [12486, 63343], [12487, 63344],
[12488, 63345], [12489, 63346], [12490, 63347], [12491, 63348],
[12492, 63349], [12493, 63350], [12494, 63351], [12495, 63352],
[12496, 63353], [12497, 63354], [12498, 63355], [12499, 63356],
[12500, 63357], [12501, 63358], [12502, 63359], [12503, 63360],
[12504, 63361], [12505, 63362], [12506, 63363], [12507, 63364],
[12508, 63365], [12509, 63366], [12510, 63367], [12511, 63368],
[12512, 63369], [12513, 63370], [12514, 63371], [12515, 63372],
[12516, 63373], [12517, 63374], [12518, 63375], [12519, 63376],
[12520, 63377], [12521, 63378], [12522, 63379], [12523, 63380],
[12524, 63381], [12525, 63382], [12526, 63383], [12527, 63384],
[12528, 63385], [12529, 63386], [12530, 63387], [12531, 63388],
[12532, 63389], [12533, 63390], [12534, 63391], [1040, 63392],
[1041, 63393], [1042, 63394], [1043, 63395], [1044, 63396], [1045, 63397],
[1025, 63398], [1046, 63399], [1047, 63400], [1048, 63401], [1049, 63402],
[1050, 63403], [1051, 63404], [1052, 63405], [1053, 63406], [1054, 63407],
[1055, 63408], [1056, 63409], [1057, 63410], [1058, 63411], [1059, 63412],
[1060, 63413], [1061, 63414], [1062, 63415], [1063, 63416], [1064, 63417],
[1065, 63418], [1066, 63419], [1067, 63420], [1068, 63421], [1069, 63422],
[1070, 63423], [1071, 63424], [1072, 63425], [1073, 63426], [1074, 63427],
[1075, 63428], [1076, 63429], [1077, 63430], [1105, 63431], [1078, 63432],
[1079, 63433], [1080, 63434], [1081, 63435], [1082, 63436], [1083, 63437],
[1084, 63438], [1085, 63439], [1086, 63440], [1087, 63441], [1088, 63442],
[1089, 63443], [1090, 63444], [1091, 63445], [1092, 63446], [1093, 63447],
[1094, 63448], [1095, 63449], [1096, 63450], [1097, 63451], [1098, 63452],
[1099, 63453], [1100, 63454], [1101, 63455], [1102, 63456], [1103, 63457],
[8679, 63458], [8632, 63459], [8633, 63460], [20033, 63461],
[63462, 131276], [20058, 63463], [63464, 131210], [20994, 63465],
[17553, 63466], 63467, [20872, 63468], [13853, 63469], [63470, 161287],
{s: 40}, [172, 63511, 65506], [63512, 65508], [63513, 65287],

[63514, 65282], [12849, 63515], [8470, 63516], [8481, 63517], 30849,


[37561, 58501], 35023, 22715, 24658, 31911, 23290, 9556, 9574, 9559, 9568,
9580, 9571, 9562, 9577, 9565, 9554, 9572, 9557, {s: 3}, 9560, 9575, 9563,
9555, 9573, 9558, 9567, 9579, 9570, 9561, 9576, 9564, 9553, {s: 5}, 9619,
{s: 26}, [58129, 147159], [22462, 58130], [58131, 159443], [28990, 58132],
[58133, 153568], [27042, 58135], [58136, 166889], [23412, 58137],
[31305, 58138], [58139, 153825], [58140, 169177], [31333, 58141],
[31357, 58142], [58143, 154028], [31419, 58144], [31408, 58145],
[31426, 58146], [31427, 58147], [29137, 58148], [58149, 156813],
[16842, 58150], [31450, 58151], [31453, 58152], [31466, 58153],
[16879, 58154], [21682, 58155], [58156, 154625], [31499, 58157],
[31573, 58158], [31529, 58159], [58160, 152334], [58161, 154878],
[31650, 58162], [31599, 58163], [33692, 58164], [58165, 154548],
[58166, 158847], [31696, 58167], [33825, 58168], [31634, 58169], 0,
[58171, 154912], 0, [33938, 58174], [31738, 58175], 0, [31797, 58177],
[58178, 154817], [31812, 58179], [31875, 58180], [58181, 149634],
[31910, 58182], [58184, 148856], [31945, 58185], [31943, 58186],
[31974, 58187], 0, [31987, 58189], [31989, 58190], [32359, 58192],
[17693, 58193], [58194, 159300], [32093, 58195], [58196, 159446],
[32137, 58198], [32171, 58199], [28981, 58200], [32179, 58201], 32214,
[58203, 147543], [58204, 155689], [32228, 58205], [15635, 58206],
[32245, 58207], [58208, 137209], [32229, 58209], [58210, 164717], 0,
[58212, 155937], [58213, 155994], [32366, 58214], 0, [17195, 58216],
[37996, 58217], [32295, 58218], [32576, 58219], [32577, 58220],
[32583, 58221], [31030, 58222], [58223, 156368], [39393, 58224],
[32663, 58225], [58226, 156497], [32675, 58227], [58228, 136801],
[58229, 131176], [17756, 58230], [58231, 145254], [58233, 164666],
[32762, 58234], [58235, 156809], 0, [32776, 58237], [32797, 58238], 0,
[32815, 58240], [58241, 172167], [58242, 158915], [32827, 58243],
[32828, 58244], [32865, 58245], [58246, 141076], [18825, 58247],
[58248, 157222], [58249, 146915], [58250, 157416], [26405, 58251],
[32935, 58252], [58253, 166472], [33031, 58254], [33050, 58255],
[22704, 58256], [58257, 141046], [27775, 58258], [58259, 156824],
[25831, 58261], [58262, 136330], [33304, 58263], [58264, 137310],
[27219, 58265], [58266, 150117], [58267, 150165], [17530, 58268],
[33321, 58269], [58271, 158290], [58272, 146814], [20473, 58273],
[58274, 136445], [34018, 58275], [33634, 58276], 0, [58278, 149927],
[58279, 144688], [58280, 137075], [58281, 146936], [33450, 58282],
[26907, 58283], [58284, 194964], [16859, 58285], [34123, 58286],
[33488, 58287], [33562, 58288], [58289, 134678], [58290, 137140],
[14017, 58291], [58292, 143741], [58293, 144730], [33403, 58294],
[33506, 58295], [33560, 58296], [58297, 147083], [58298, 159139],
[58299, 158469], [58300, 158615], [58301, 144846], [15807, 58302],
[33565, 58303], [21996, 58304], [33669, 58305], [17675, 58306],
[58307, 159141], [33708, 58308], 0, [33747, 58310], [58312, 159444],
[27223, 58313], [34138, 58314], [13462, 58315], [58316, 159298],
[33880, 58318], [58319, 154596], [33905, 58320], [15827, 58321],
[17636, 58322], [27303, 58323], [33866, 58324], [31064, 58326], 0,
[58328, 158614], [58329, 159351], [58330, 159299], [34014, 58331], 0,
[33681, 58333], [17568, 58334], [33939, 58335], [34020, 58336],
[58337, 154769], [16960, 58338], [58339, 154816], [17731, 58340],
[34100, 58341], [23282, 58342], 0, [17703, 58344], [34163, 58345],
[17686, 58346], [26559, 58347], [34326, 58348], [58349, 165413],
[58350, 165435], [34241, 58351], [58352, 159880], [34306, 58353],
[58354, 136578], [58355, 159949], [58356, 194994], [17770, 58357],
[34344, 58358], [13896, 58359], [58360, 137378], [21495, 58361],
[58362, 160666], [34430, 58363], 0, [58365, 172280], [34798, 58366],
[58367, 142375], [34737, 58368], [34778, 58369], [34831, 58370, 60990],
[22113, 58371], [34412, 58372], [26710, 58373], [17935, 58374],
[34885, 58375], [34886, 58376], [58377, 161248], [58378, 146873],

[58379,
[34996,
[35207,
[35303,
[30611,
[31465,
[29052,
[58413,
[58418,
[58422,
[58426,
[58430,
[36114,
[28764,
[58444,
[58448,
[36534,
[36653,
[37635,
[58465,
[58469,
[58476,
[36961,
[58484,
[37223,
[58494,
[37441,
[58503,
[37676,
[23235,
[37444,
[37747,
[38310,
[17081,
[18911,
[16748,
[30965,
[18849,
[58550,
[58554,
[18959,
[28789,
[38743,
[37925,
[38793,
[38848,
[38894,
[58588,
[38963,
[58596,
[58600,
[39111,
[21936,
[37752,
[58616,
[39483,
[14020,
[39650,
[39700,
[39732,

161252], [34910, 58380], [34972, 58381], [18011, 58382],


58383], [34997, 58384], [35013, 58386], [58388, 161551],
58389], {s: 3}, [35239, 58393], [35260, 58394], [58395, 166437],
58396], [58397, 162084], [58398, 162493], [35484, 58399],
58400], [37374, 58401], [35472, 58402], [58403, 162393],
58404], [58405, 162618], [18195, 58407], [58408, 162616],
58409], [35596, 58410], [35615, 58411], [58412, 152624],
152933], [35647, 58414], 0, [35661, 58416], [35497, 58417],
150138], [35728, 58419], [35739, 58420], [35503, 58421],
136927], [17941, 58423], [34895, 58424], [35995, 58425],
163156], [58427, 163215], [58428, 195028], [14117, 58429],
163155], [36054, 58431], [58432, 163224], [58433, 163261],
58434], [36099, 58435], [58436, 137488], [36059, 58437],
58438], [36113, 58439], [16080, 58441], 0, [36265, 58443],
163842], [58445, 135188], [58446, 149898], [15228, 58447],
164284], [58449, 160012], [31463, 58450], [36525, 58451],
58452], [36547, 58453], [37588, 58454], [36633, 58455],
58456], [58457, 164709], [58458, 164882], [36773, 58459],
58460], [58461, 172703], [58462, 133712], [36787, 58463], 0,
166366], [58466, 165181], [58467, 146875], [24312, 58468],
143970], [36857, 58470], 0, [58474, 140069], [14720, 58475],
159447], [36919, 58477], [58478, 165180], [58479, 162494],
58480], [58481, 165228], [58482, 165387], [37032, 58483],
165651], [37060, 58485], [58486, 165606], [37038, 58487], 0,
58489], [37289, 58491], [37316, 58492], [31916, 58493],
166195], [58495, 138889], [37390, 58496], [27807, 58497],
58498], [37474, 58499], [58500, 153017], [58502, 166598],
146587], [58504, 166668], [58505, 153051], [58506, 134449],
58507], [37739, 58508], [58509, 166625], [58510, 166891],
58512], [58513, 166626], [58514, 166629], [18789, 58515],
58516], [58517, 166892], [58518, 166969], [58519, 166911],
58520], [37979, 58521], [36540, 58522], [38277, 58523],
58524], [37926, 58525], [38304, 58526], [28662, 58527],
58528], [58530, 165592], [58531, 135804], [58532, 146990],
58533], [27676, 58534], [38523, 58535], [38550, 58536],
58537], [38563, 58538], [58539, 159445], [25050, 58540], 58541,
58542], [58543, 166624], [38589, 58544], [21452, 58545],
58546], [58547, 158904], [58548, 131700], [58549, 156688],
168111], [58551, 168165], [58552, 150225], [58553, 137493],
144138], [38705, 58555], [34370, 58556], [38710, 58557],
58558], [17725, 58559], [17797, 58560], [58561, 150249],
58562], [23361, 58563], [38683, 58564], 0, [58566, 168405],
58567], [23370, 58568], [58569, 168427], [38751, 58570],
58571], [20688, 58572], [58573, 143543], [58574, 143548],
58575], [38815, 58576], [38833, 58577], [38846, 58578],
58579], [38866, 58580], [38880, 58581], [58582, 152684],
58583], [29724, 58584], [58585, 169011], 0, [38901, 58587],
168989], [58589, 162170], [19153, 58590], [38964, 58591],
58592], [38987, 58593], [39014, 58594], [15118, 58595],
160117], [15697, 58597], [58598, 132656], [58599, 147804],
153350], [39114, 58601], [39095, 58602], [39112, 58603],
58604], [19199, 58605], [58606, 159015], [58607, 136915],
58608], [39137, 58609], [39142, 58610], [39148, 58611],
58612], [39225, 58613], [58614, 150057], [19314, 58615],
170071], [58617, 170245], [39413, 58618], [39436, 58619],
58620], [39440, 58621], [39512, 58622], [58623, 153381],
58624], [58625, 168113], [58626, 170965], [39648, 58627],
58628], [58629, 170757], [39668, 58630], [19470, 58631],
58632], [39725, 58633], [58634, 165376], [20532, 58635],
58636], [14531, 58638], [58639, 143485], [39760, 58640],

[39744,
[39822,
[58650,
[58654,
[40318,
[40388,
[58668,
[40592,
[19764,
[40641,
[20274,
[40712,
[40727,
[40773,
[33919,
[29206,
[29047,
[29598,
[58718,
[58722,
[58726,
[30578,
[58734,
[58738,
[58742,
[58746,
[58750,
[58754,
[58758,
[58763,
[58767,
[58771,
[15381,
[26640,
[58783,
[22174,
[58791,
[20216,
[20156,
[58805,
[14745,
[20265,
[35546,
[20749,
[58825,
[20609,
[20732,
[58841,
[20904,
[58849,
[58853,
[58857,
[58862,
[27089,
[29716,
[58875,
[29199,
[21709,
[38644,
[13886,

58641], [58642, 171326], [23109, 58643], [58644, 137315],


58645], [39938, 58647], [39935, 58648], [39948, 58649],
171624], [40404, 58651], [58652, 171959], [58653, 172434],
172459], [58655, 172257], [58656, 172323], [58657, 172511],
58658], [40323, 58659], [58660, 172340], [40462, 58661],
58663], [58665, 172435], [58666, 172576], [58667, 137531],
172595], [40249, 58669], [58670, 172217], [58671, 172724],
58672], [40597, 58673], [40606, 58674], [40610, 58675],
58676], [40618, 58677], [40623, 58678], [58679, 148324],
58680], [15200, 58681], [14821, 58682], [15645, 58683],
58684], [14270, 58685], [58686, 166955], [40706, 58687],
58688], [19350, 58689], [37924, 58690], [58691, 159138],
58692, 60836], 0, [40761, 58694], [22175, 58695], [22154, 58696],
58697], [39352, 58698], [58699, 168075], [38898, 58700],
58701], 0, [40809, 58703], [31452, 58704], [40846, 58705],
58706], [19390, 58707], [58708, 149877], [58709, 149947],
58710], [58711, 150008], [58712, 148296], [58713, 150097],
58714], [58715, 166874], [58716, 137466], [31135, 58717],
166270], [58719, 167478], [37737, 58720], [37875, 58721],
166468], [37612, 58723], [37761, 58724], [37835, 58725],
166252], [58727, 148665], [29207, 58728], [16107, 58729],
58730], [31299, 58731], [28880, 58732], [58733, 148595],
148472], [29054, 58735], [58736, 137199], [28835, 58737],
137406], [58739, 144793], [16071, 58740], [58741, 137349],
152623], [58743, 137208], [14114, 58744], [58745, 136955],
137273], [14049, 58747], [58748, 137076], [58749, 137425],
155467], [14115, 58751], [58752, 136896], [22363, 58753],
150053], [58755, 136190], [58756, 135848], [58757, 136134],
136374], [34051, 58759, 58761], [58760, 145062], 0, [33877, 58762],
149908], [58764, 160101], [58765, 146993], [58766, 152924],
147195], [58768, 159826], [17652, 58769], [58770, 145134],
170397], [58772, 159526], [26617, 58773], [14131, 58774],
58775], [15847, 58776], [22636, 58777], [58778, 137506],
58779], [16471, 58780], [58781, 145215], [58782, 147681],
147595], [58784, 147727], [58785, 158753], [21707, 58786],
58787], [58788, 157361], [22162, 58789], [58790, 135135],
134056], [58792, 134669], 0, [58794, 166675], [37788, 58795],
58796], [20779, 58797], [14361, 58798], [58799, 148534],
58800], [58801, 132197], 0, [20299, 58803], [20362, 58804],
153169], [23144, 58806], [58807, 131499], [58808, 132043],
58809], [58810, 131850], [58811, 132116], [13365, 58812],
58813], [58814, 131776], [58815, 167603], [58816, 131701],
58817], [58818, 131596], [20120, 58819], [20685, 58820],
58821], [20386, 58822], [20227, 58823], [58824, 150030],
147082], [20290, 58826], [20526, 58827], [20588, 58828],
58829], [20428, 58830], [20453, 58831], [20568, 58832],
58833], [28278, 58838], [58839, 144789], [58840, 147001],
147135], [28018, 58842], [58843, 137348], [58844, 147081],
58845], [20931, 58846], [58847, 132576], [17629, 58848],
132259], [58850, 132242], [58851, 132241], [36218, 58852],
166556], [58854, 132878], [21081, 58855], [21156, 58856],
133235], [21217, 58858], 0, [18042, 58860], [29068, 58861],
148364], [58863, 134176], [58864, 149932], [58865, 135396],
58866], [58867, 134685], 0, [16094, 58869], [29849, 58870],
58871], [29782, 58872], [29592, 58873], [19342, 58874],
150204], [58876, 147597], [21456, 58877], [13700, 58878],
58879], [58880, 147657], [21940, 58881], [58882, 131909],
58883], [58884, 134086], [22301, 58885], [37469, 58886],
58887], [22493, 58889], [22413, 58890], [22399, 58891],
58892], [22731, 58893], [23193, 58894], [58895, 166470],

[58896,
[22968,
[58905,
[14069,
[58913,
[37856,
[18802,
[14240,
[24136,
[24269,
[14081,
[14035,
[58945,
[58949,
[23364,
[58958,
[58962,
[25024,
[24985,
[58974,
[58978,
[58982,
[25782,
[58991,
[25963,
[58999,
[59003,
[59007,
[59012,
[59016,
[59020,
[59024,
[19347,
[26211,
[59036,
[15257,
[15254,
[27326,
[27218,
[25873,
[27258,
[37792,
[37513,
[28069,
[28164,
[22599,
[59089,
[29319,
[20857,
[59101,
[59105,
[59109,
[29900,
[17567,
[16227,
[30037,
[59130,
[15821,
[59138,
[59142,

136954], [58897, 137071], [58898, 136976], [23084, 58899],


58900], [23166, 58902], [23247, 58903], [23058, 58904],
153926], [58906, 137715], [58907, 137313], [58908, 148117],
58909], [27909, 58910], [29763, 58911], [23073, 58912],
155267], [23169, 58914], [58915, 166871], [58916, 132115],
58917], [29836, 58918], [58919, 135939], [28933, 58920],
58921], [37896, 58922], [58923, 166395], [37821, 58924],
58925], [23582, 58926], [23710, 58927], [24158, 58928],
58929], [58930, 137622], [58931, 137596], [58932, 146158],
58933], [23375, 58934], [58935, 137475], [58936, 137476],
58937], [58938, 137376], [14045, 58939], [58940, 136958],
58941], [33066, 58942], [58943, 166471], [58944, 138682],
144498], [58946, 166312], [24332, 58947, 60916], [24334, 58948],
137511], [58950, 137131], [23147, 58951], [58952, 137019],
58953], [58955, 161277], [34912, 58956], [24702, 58957],
141408], [58959, 140843], [24539, 58960], [16056, 58961],
140719], [58963, 140734], [58964, 168072], [58965, 159603],
58966], [58967, 131134], [58968, 131142], [58969, 140827],
58970], [24984, 58971], [24693, 58972], [58973, 142491],
142599], [58975, 149204], [58976, 168269], [25713, 58977],
149093], [58979, 142186], [14889, 58980], [58981, 142114],
144464], [58983, 170218], [58984, 142968], [25399, 58985],
58987], [25393, 58988], [25553, 58989], [58990, 149987],
142695], [25252, 58992], [58993, 142497], [25659, 58994],
58995], [26994, 58996], [15348, 58997], [58998, 143502],
144045], [59000, 149897], [59001, 144043], [21773, 59002],
144096], [59004, 137433], [59005, 169023], [26318, 59006],
144009], [59008, 143795], [15072, 59009], [59011, 152964],
166690], [59013, 152975], [59014, 136956], [59015, 152923],
152613], [30958, 59017], [59018, 143619], [59019, 137258],
143924], [13412, 59021], [59022, 143887], [59023, 143746],
148169], [26254, 59025], [59026, 159012], [26219, 59027],
59028], [26160, 59029], [59030, 161904], [59031, 138731],
59032], [59033, 144082], [59034, 144097], [26142, 59035],
153714], [14545, 59037], [59038, 145466], [59039, 145340],
59040], [59041, 145314], [59042, 144382], [29904, 59043],
59044], [59046, 149034], [26806, 59047], 0, [15300, 59049],
59050], [59052, 145365], [59053, 148615], [27187, 59054],
59055], [27337, 59056], [27397, 59057], [59058, 137490],
59059], [26776, 59060], [27212, 59061], [15319, 59062],
59063], [27479, 59064], [59065, 147392], [59066, 146586],
59067], [37618, 59068], [59069, 166890], [59070, 166603],
59071], [59072, 163870], [59073, 166364], [37991, 59074],
59075], [28427, 59076], 0, [59079, 147327], [15759, 59080],
59081], [59082, 147516], [23101, 59083], [28170, 59084],
59085], [27940, 59086], [30786, 59087], [28987, 59088],
148250], [59090, 148086], [28913, 59091], [29264, 59092, 61085],
59093], [29332, 59094], [59095, 149391], [59096, 149285],
59097], [59098, 150180], [59099, 132587], [29818, 59100],
147192], [59102, 144991], [59103, 150090], [59104, 149783],
155617], [16134, 59106], [16049, 59107], [59108, 150239],
166947], [59110, 147253], [24743, 59111], [16115, 59112],
59113], [29756, 59114], [37767, 59115], [29751, 59116],
59117], [59118, 159210], [17745, 59119], [30083, 59120],
59121], [59122, 150745], [59123, 150790], [16216, 59124],
59125], [30323, 59126], [59127, 173510], 0, [29800, 59129, 61070],
166604], [59131, 149931], [59132, 149902], [15099, 59133],
59134], [59135, 150094], [16127, 59136], [59137, 149957],
149747], [37370, 59139], [22322, 59140], [37698, 59141],
166627], [59143, 137316], [20703, 59144], [59145, 152097],

[59146,
[30479,
[14942,
[16063,
[59162,
[30750,
[29648,
[16654,
[31290,
[16690,
[59188,
[13719,
[59196,
[59200,
[59204,
[31486,
[16913,
[31949,
[31868,
[32263,
[59228,
[17002,
[59236,
[59240,
[59245,
[39398,
[59253,
[59258,
[33079,
[33090,
[33378,
[59275,
[16767,
[23268,
[59287,
[34926,
[35046,
[35156,
[59303,
[33955,
[35389,
[37419,
[28868,
[36073,
[23024,
[59332,
[27736,
[28537,
[14005,
[18694,
[16482,
[59357,
[38311,
[29765,
[59369,
[59373,
[59377,
[29803,
[26695,
[37736,

152039], [30584, 59147], [59148, 143922], [30478, 59149],


59150], [30587, 59151], [59152, 149143], [59153, 145281],
59154], [59155, 149744], [29752, 59156], [29851, 59157],
59158], [59159, 150202], [59160, 150215], [16584, 59161],
150166], [59163, 156078], [37639, 59164], [59165, 152961],
59166], [30861, 59167], [30856, 59168], [30930, 59169],
59170], [31065, 59171], [59172, 161601], [59173, 153315],
59174], 0, 0, [31141, 59177], [27181, 59178], [59179, 147194],
59180], [31220, 59181], [16750, 59182], [59183, 136934],
59184], [37429, 59185], [31217, 59186], [59187, 134476],
149900], [59189, 131737], [59190, 146874], [59191, 137070],
59192], [21867, 59193], [13680, 59194], [13994, 59195],
131540], [59197, 134157], [31458, 59198], [23129, 59199],
141045], [59201, 154287], [59202, 154268], [23053, 59203],
131675], [30960, 59205], [23082, 59206], [59207, 154566],
59208], [16889, 59209], [31837, 59210], [31853, 59211],
59212], [59213, 154547], [59214, 155324], [59215, 155302],
59216], [59217, 150009], [59218, 137136], [31886, 59219],
59220], [31918, 59221], [27314, 59222], [32220, 59223],
59224], [32211, 59225], [32590, 59226], [59227, 156257],
155996], [59229, 162632], [32151, 59230], [59231, 155266],
59232], [59233, 158581], [59234, 133398], [26582, 59235],
131150], [59237, 144847], [22468, 59238], [59239, 156690],
156664], [32733, 59242], [31527, 59243], [59244, 133164],
154345], [59246, 154947], [31500, 59247], [59248, 155150],
59249], [34373, 59250], [39523, 59251], [27164, 59252],
144447], [59255, 150007], [59256, 157101], [39455, 59257],
157088], 0, [59260, 160039], [59261, 158929], [17642, 59262],
59263], [17410, 59264], [32966, 59265], [33033, 59266],
59267], [59268, 157620], [39107, 59269], [59270, 158274],
59271], [33381, 59272], [59273, 158289], [33875, 59274],
159143], [34320, 59276], [59277, 160283], [23174, 59278],
59279], [59280, 137280], [23339, 59281], [59282, 137377],
59283], [59284, 137432], [34464, 59285], [59286, 195004],
146831], [34861, 59288], [59289, 160802], [23042, 59290],
59291], [20293, 59292], [34951, 59293], [35007, 59294],
59295], [35173, 59296], [35149, 59297], [59298, 153219],
59299], [59300, 161669], [59301, 161668], [59302, 166901],
166873], [59304, 166812], [59305, 166393], [16045, 59306],
59307], [18165, 59308], [18127, 59309], [14322, 59310],
59311], [35356, 59312], [59313, 169032], [24397, 59314],
59315], [59316, 148100], [26068, 59317], [28969, 59318],
59319], [59320, 137285], [40301, 59321], [35999, 59322],
59323], [59324, 163292], [22938, 59325], [30659, 59326],
59327], [14036, 59329], [36394, 59330], [36519, 59331],
150537], [36656, 59333], [36682, 59334], [17140, 59335],
59336], [28603, 59337], [59338, 140065], [18587, 59339],
59340], [28299, 59341], [59342, 137178], [39913, 59343],
59344], [59345, 149807], [37051, 59346], 0, [21873, 59348],
59349], [37307, 59350], [37892, 59351], [59352, 166475],
59353], [59354, 166652], [37927, 59355], [59356, 166941],
166971], [34021, 59358], [35371, 59359], [38297, 59360],
59361], [38295, 59362], [38294, 59363], [59364, 167220],
59365], [16066, 59366], [59367, 149759], [59368, 150082],
148458], [16103, 59370], [59371, 143909], [38543, 59372],
167655], [59374, 167526], [59375, 167525], [16076, 59376],
149997], [59378, 150136], [59379, 147438], [29714, 59380],
59381], [16124, 59382], [38721, 59383], [59384, 168112],
59385], [18973, 59386], [59387, 168083], [59388, 153567], 0,
59390], [59391, 166281], [59392, 166950], [59393, 166703],

[59394,
[18748,
[39224,
[59407,
[59411,
[59415,
[16128,
[39227,
[19311,
[59432,
[39471,
[39356,
[22642,
[59448,
[26821,
[24912,
[40015,
[39952,
[39839,
[19630,
[40204,
[59480,
[59484,
[59488,
[34286,
[31202,
[15714,
[59505,
[20452,
[30781,
[59517,
[20338,
[21524,
[22410,
[13487,
[59538,
[23246,
[14124,
[37816,
[59555,
[59559,
[32168,
[59567,
[16105,
[16097,
[29691,
[59583,
[59587,
[59591,
[59595,
[37766,
[59603,
[22180,
[21762,
[59615,
[37889,
[22960,
[23201,
[37471,
[37748,

156606], [37562, 59395], [23313, 59396], [35689, 59397],


59398], [29689, 59399], [59400, 147995], [38811, 59401], 0,
59403], [59404, 134950], [24001, 59405], [59406, 166853],
150194], [38943, 59408], [59409, 169178], [37622, 59410],
169431], [37349, 59412], [17600, 59413], [59414, 166736],
150119], [59416, 166756], [39132, 59417], [59418, 166469],
59419], [37418, 59420], [18725, 59421], [33812, 59422],
59423], [39245, 59424], [59425, 162566], [15869, 59426], 0,
59428], [39338, 59429], [39516, 59430], [59431, 166757],
153800], [27279, 59433], [39457, 59434], [23294, 59435],
59436], [59437, 170225], [19344, 59438], [59439, 170312],
59440], [19389, 59441], [19351, 59442], [37757, 59443],
59444], [59445, 135938], [22562, 59446], [59447, 149944],
136424], [30788, 59449], [59450, 141087], [59451, 146872],
59452], [15741, 59453], [37976, 59454], [14631, 59455],
59456], [59457, 141185], [59458, 141675], [24839, 59459],
59460], [40019, 59461], [40059, 59462], [39989, 59463],
59464], [39807, 59465], [39887, 59466], [59467, 171565],
59468], [59469, 172533], [59470, 172286], [40225, 59471],
59472], [59473, 147716], [40472, 59474], [19632, 59475],
59476], [59477, 172468], [59478, 172269], [59479, 172275],
170287], [40357, 59481], [33981, 59482], [59483, 159250],
159711], [59485, 158594], [34300, 59486], [17715, 59487],
159140], [59489, 159364], [59490, 159216], [33824, 59491],
59492], [59493, 159232], [59494, 145367], [59495, 155748],
59496], [59497, 144796], [59498, 144960], [59500, 149982],
59501], [37851, 59502], [37566, 59503], [37704, 59504],
131775], [30905, 59506], [37495, 59507], [37965, 59508],
59509], [13376, 59510], [36964, 59511], [59512, 152925],
59513], [30804, 59514], [30902, 59515], [30795, 59516],
137047], [59518, 143817], [59519, 149825], [13978, 59520],
59521], [28634, 59522], [28633, 59523], 0, [28702, 59524, 59525],
59526], [59527, 147893], [22459, 59528], [22771, 59529],
59530], [40214, 59531], [22487, 59532], [28980, 59533],
59534], [59535, 147884], [29163, 59536], [59537, 158784],
151447], 0, [59540, 137141], [59541, 166473], [24844, 59542],
59543], [23051, 59544], [17084, 59545], [59546, 148616],
59547], [19323, 59548], [59549, 166396], [37819, 59550],
59551], [59552, 137430], [59553, 134941], [33906, 59554],
158912], [59556, 136211], [59557, 148218], [59558, 142374],
148417], [22932, 59560], [59561, 146871], [59562, 157505],
59563], [59564, 155995], [59565, 155812], [59566, 149945],
149899], [59568, 166394], [37605, 59569], [29666, 59570],
59571], [29876, 59572], [59573, 166755], [59574, 137375],
59575], [59576, 150195], [27352, 59577], [29683, 59578],
59579], [16086, 59580], [59581, 150078], [59582, 150164],
137177], [59584, 150118], [59585, 132007], [59586, 136228],
149989], [29768, 59588], [59589, 149782], [28837, 59590],
149878], [37508, 59592], [29670, 59593], [37727, 59594],
132350], [37681, 59596], [59597, 166606], [59598, 166422],
59599], [59600, 166887], [59601, 153045], [18741, 59602],
166530], [29035, 59604], [59605, 149827], [59606, 134399],
59607], [59608, 132634], [59609, 134123], [59610, 134328],
59611], [31172, 59612], [59613, 137210], [32254, 59614],
136898], [59616, 150096], [59617, 137298], [17710, 59618],
59619], [14090, 59620], [59621, 166592], [59622, 149933],
59623], [59624, 137407], [59625, 137347], [59626, 160900],
59627], [14050, 59628], [59629, 146779], [14000, 59630],
59631], [23161, 59632], [59633, 166529], [59634, 137314],
59635], [15565, 59636], [59637, 133812], [19094, 59638],

[14730,
[59643,
[28175,
[59651,
[59655,
[15727,
[13512,
[22980,
[59671,
[14038,
[59679,
[26809,
[59687,
[59691,
[59695,
[59699,
[33597,
[59709,
[59713,
[59717,
[14023,
[59725,
[27179,
[59733,
[20400,
[59741,
[59745,
[27871,
[59764,
[59790,
[27810,
[23646,
[36795,
[15820,
[33446,
[39364,
[24808,
[31432,
[21610,
[39983,
[26398,
[25283,
[36768,
[24497,
[60225,
[60235,
[18640,
[60250,
[22943,
[14747,
[60267,
[60276,
[29041,
[60293,
[60303,
[18300,
[36950,
[60328,
[60335,
[60342,

59639], [20724, 59640], [15721, 59641], [15692, 59642],


136092], [29045, 59644], [17147, 59645], [59646, 164376],
59647], [59648, 168164], [17643, 59649], [27991, 59650],
163407], [28775, 59652], [27823, 59653], [15574, 59654],
147437], [59656, 146989], [28162, 59657], [28428, 59658],
59659], [59660, 132085], [30033, 59661], [14012, 59662],
59663], [18048, 59664], [16090, 59665], [18545, 59666],
59667], [37486, 59668], [18750, 59669], [36673, 59670],
166940], [59672, 158656], [22546, 59673], [22472, 59674],
59675], [59676, 136274], [28926, 59677], [59678, 148322],
150129], [59680, 143331], [59681, 135856], [59682, 140221],
59683], [26983, 59684], [59685, 136088], [59686, 144613],
162804], [59688, 145119], [59689, 166531], [59690, 145366],
144378], [59692, 150687], [27162, 59693], [59694, 145069],
158903], [33854, 59696], [17631, 59697], [17614, 59698],
159014], [59700, 159057], [59701, 158850], [59702, 159710], 0, 0,
59705], [59706, 137018], [33773, 59707], [59708, 158848],
159827], [59710, 137179], [22921, 59711], [23170, 59712],
137139], [23137, 59714], [23153, 59715], [59716, 137477],
147964], [14125, 59718], [23023, 59719], [59720, 137020],
59721], [29070, 59722], [37776, 59723], [26266, 59724],
148133], [23150, 59726], [23083, 59727], [59728, 148115],
59729], [59730, 147193], [59731, 161590], [59732, 148571],
148170], [28957, 59734], [59735, 148057], [59736, 166369],
59737], [59738, 159016], [23746, 59739], [59740, 148686],
163405], [59742, 148413], [27148, 59743], [59744, 148054],
135940], 0, [28979, 59747], [59748, 148457], [15781, 59749],
59750], [59751, 194597], [23019, 59754], [24412, 59757],
144128], [31955, 59776], [59783, 162548], [59786, 153334],
162584], [36972, 59791], [33270, 59795], [30476, 59797],
59799], [22269, 59800], [22633, 59828], [26465, 59832],
59838], [22770, 59841], [28857, 59843], [26627, 59853],
59859], [36796, 59861], [20001, 59871], [31545, 59898],
59902], [29482, 57990, 59909], [30048, 59912], [22586, 59920],
59932], [27018, 59940], [24803, 59944], [20206, 59984],
60002], [40639, 60023], [21249, 60025], [26528, 60038],
60046], [20916, 60053], [31363, 60064], [39994, 60075],
60093], [26906, 60098], [22956, 60100], [22592, 60102],
60114], [24807, 60123], [22138, 60125], [26965, 60132],
60133], [34725, 60134], [23584, 60141], [24075, 60143],
60147], [33965, 60157], [35713, 60161], [20088, 60166],
60176], [26709, 60180], 0, [33533, 60190], [35237, 60194],
60196], [38840, 60198], [38983, 60200], [39613, 60201],
60218], [26184, 60219], [26303, 60220], [60221, 162425], 0,
149946], 0, 0, [60230, 131910], [26382, 60232], [26904, 60233],
161367], [60236, 155618], [60239, 161278], [60240, 139418],
60241], [19128, 60242], [60244, 166554], [60247, 147515],
150085], [60251, 132554], [20946, 60252], [60253, 132625],
60254], [60255, 138920], [15294, 60256], [60257, 146687],
60262], [60264, 165352], [60265, 170441], [14178, 60266],
139715], [35678, 60268], [60269, 166734], 0, [29193, 60274],
134264], [60280, 132985], [36570, 60281], [21135, 60283],
60285], [60288, 147274], [60289, 150183], [21948, 60290],
158546], [13427, 60295], [60297, 161330], [18200, 60299],
149823], [20582, 60305], [13563, 60306], [60307, 144332], 0,
60310], [60311, 166216], [60315, 138640], 0, [60320, 162834],
60321], [60323, 151450], [35682, 60324], [23899, 60327],
158711], 0, [60331, 137500], [35562, 60332], [60333, 150006],
147439], [19392, 60337], [60340, 141083], [37989, 60341],
153569], [24981, 60343], [23079, 60344], [60345, 194765], 0,

[60348,
[28047,
[31554,
[39462,
[31107,
[30011,
[60391,
[37680,
[34855,
[60411,
[14756,
[60422,
[14753,
[29101,
[60439,
[31102,
[60452,
[26678,
[60461,
[22293,
[60471,
[60475,
[60482,
[37461,
[22155,
[17673,
[13540,
[60565,
[22207,
[25904,
[19581,
[22901,
[40286,
[30286,
[33096,
[33816,
[22083,
[22021,
[13869,
[21655,
[24272,
[40619,
[38765,
[37238,
[21865,
[20890,
[21581,
[36397,
[34820,
[17644,
[37232,
[18254,
[25887,
[60713,
[40272,
[14812,
[14930,
[39917,
[60754,
[36872,

148769], [20074, 60350], [60351, 149812], [38486, 60352],


60353], [60354, 158909], [35191, 60356], [60359, 156689], 0,
60363], [60364, 168128], [60365, 133649], 0, [31301, 60369],
60372], [13919, 60374], [60375, 156777], [60376, 131105],
60377], [23852, 60380], [60381, 144665], 0, [18128, 60384],
60386], [34917, 60387], [22710, 60389], [14108, 60390],
140685], [15444, 60394], [37505, 60397], [60398, 139642],
60400], [60402, 149968], [27705, 60403], [60406, 134904],
60407], [35061, 60408], [60409, 141606], [60410, 164979],
137137], [28344, 60412], [60413, 150058], [60414, 137248],
60415], 0, 0, [17727, 60419], [26294, 60420], [60421, 171181],
170148], [35139, 60423], [16607, 60427], [60428, 136714],
60429], [60430, 145199], [60431, 164072], [60432, 136133],
60433], [33638, 60434], [60436, 168360], 0, [19639, 60438],
159919], [60440, 166315], [60445, 147834], [31555, 60446],
60447], [28597, 60449], [60450, 172767], [27139, 60451],
164632], [21410, 60453], [60454, 159239], [37823, 60455],
60456], [38749, 59389, 60457], [60458, 164207], [60460, 158133],
136173], [60462, 143919], [23941, 60464], [60465, 166960],
60467], [38947, 60468], [60469, 166217], [23979, 60470],
149896], [26046, 60472], [27093, 60473], [21458, 60474],
150181], [60476, 147329], [15377, 60477], [26422, 60478],
139169], [13770, 60490], [18682, 60493], 0, [30728, 60496],
60497], [17394, 60499], [17375, 60501], [23032, 60505], 0,
60518], [60520, 169449], [36882, 60541], [21953, 60546],
60551], [32383, 60552], [28502, 60553], [27313, 60554],
60556], [60558, 161949], [14138, 60559], 0, [60562, 163876],
162366], [15851, 60567], [60569, 146615], [60574, 156248],
60575], [36366, 60577], [23405, 60578], [25566, 60581], 0,
60585], [22061, 60586], [21530, 60588], [60591, 171416],
60592], [22050, 60593], [22046, 60594], [32585, 60595],
60597], [60598, 146752], [34672, 60599], [33047, 60604],
60605], [36120, 60606], [30267, 60607], [40005, 60608],
60609], [30649, 60610], [37701, 60611], [21554, 60612],
60613], [33527, 60614], [22053, 60615], [33074, 60616],
60617], [32957, 60618], [21994, 60619], [31074, 60620],
60621], [21526, 60622], [60623, 134813], [13774, 60624],
57509, 60625], [22001, 60626], [26353, 60627], [60628, 164578],
60629], [30004, 60630], [22000, 60631], [21946, 60632],
60633], [21874, 60634], [60635, 134209], [60636, 134294],
57652, 60637], [60639, 134774], [60640, 142434], [60641, 134818],
60642], [32090, 60643], 0, [60645, 135285], [25245, 60646],
60647], [21652, 60648], [36045, 60649], [29174, 60650],
60651], [25596, 60652], [25529, 60653], [25598, 60654],
60655], [60656, 142147], [40050, 60657], [60658, 143027],
60659], [13535, 60660], [60661, 134567], [20903, 60662],
60663], [21790, 60664], [21779, 60665], [30310, 60666],
60667], [60668, 157834], [30129, 60669], [32950, 60670],
60671], 0, [35015, 60673], [33206, 60674], [33820, 60675],
60677], [29444, 60678], [33547, 60681], [22139, 60683],
60690], [37384, 60692], [60696, 134905], [29286, 60697],
60699], [60701, 163833], [16634, 60703], [40029, 60704],
60705], [18675, 60707], [60708, 149472], [60709, 171388], 0,
161187], 60715, [60716, 155720], [29091, 60718], [32398, 60719],
60720], [13687, 60723], [27826, 60725], [21351, 60726],
60728], [60731, 149016], [33325, 60734], [21579, 60735], 60739,
60740], [29556, 60742], [60743, 171692], [19721, 60744],
60745], 0, [19547, 60748], [60751, 171998], [33884, 60752],
160434], [25390, 60757], [32037, 60758], [14890, 60761],
60762], [21196, 60763], [15988, 60764], [13946, 60765],

[17897, 60766], [60767, 132238], [30272, 60768], [23280, 60769],


[60770, 134838], [30842, 60771], [18358, 60772], [22695, 60773],
[16575, 60774], [22140, 60775], [39819, 60776], [23924, 60777],
[30292, 60778], [60779, 173108], [40581, 60780], [19681, 60781], 0,
[14331, 60783], [24857, 60784], [60786, 148466], 60787, [22109, 60788],
[60792, 171526], [21044, 60793], [13741, 60795], 0, [40316, 60797],
[31830, 60798], [39737, 60799], [22494, 60800], [23635, 60802],
[25811, 60803], [60804, 169168], [60805, 156469], [34477, 60807],
[60808, 134440], [60811, 134513], 60812, [20990, 60813], [60814, 139023],
[23950, 60815], [38659, 60816], [60817, 138705], [40577, 60818],
[36940, 60819], [31519, 60820], [39682, 60821], [23761, 60822],
[31651, 60823], [25192, 60824], [25397, 60825], [39679, 60826],
[31695, 60827], [39722, 60828], [31870, 60829], 0, [31810, 60831],
[31878, 60832], [39957, 60833], [31740, 60834], [39689, 60835], 0, 39982,
[40794, 60839], [21875, 60840], [23491, 60841], [20477, 60842],
[40600, 60843], [20466, 60844], [21088, 60845], [21201, 60847],
[22375, 60848], [20566, 60849], [22967, 60850], [24082, 60851],
[38856, 60852], [40363, 60853], [36700, 60854], [21609, 60855],
[38836, 60856], [39232, 60857], [38842, 60858], [21292, 60859],
[24880, 60860], [26924, 60861], [21466, 60862], [39946, 60863],
[40194, 60864], [19515, 60865], [38465, 60866], [27008, 60867],
[20646, 60868], [30022, 60869], [60870, 137069], [39386, 60871],
[21107, 60872], 60873, [37209, 60874], [38529, 60875], [37212, 60876],
60877, [37201, 60878], [60879, 167575], [25471, 60880], [27338, 60882],
[22033, 60883], [37262, 60884], [30074, 60885], [25221, 60886],
[29519, 60888], [31856, 60889], [60890, 154657], 60892, [30422, 60894],
[39837, 60895], [20010, 60896], [60897, 134356], [33726, 60898],
[34882, 60899], 60900, [23626, 60901], [27072, 60902], 0, 0,
[21023, 60905], [24053, 60906], [20174, 60907], [27697, 60908],
[60909, 131570], [20281, 60910], [21660, 60911], 0, [21146, 60913],
[36226, 60914], [13822, 60915], 0, [13811, 60917], 60918, [27474, 60919],
[37244, 60920], [40869, 60921], [39831, 60922], [38958, 60923],
[39092, 60924], [39610, 60925], [40616, 60926], [40580, 60927],
[31508, 60929], 60930, [27642, 60931], [34840, 60932], [32632, 60933],
60934, [22048, 60935], [60936, 173642], [36471, 60937], [40787, 60938],
60939, [36308, 60940], [36431, 60941], [40476, 60942], [36353, 60943],
[25218, 60944], [60945, 164733], [36392, 60946], [36469, 60947],
[31443, 60948], [31294, 60950], [30936, 60951], [27882, 60952],
[35431, 60953], [30215, 60954], [40742, 60956], [27854, 60957],
[34774, 60958], [30147, 60959], [60960, 172722], [30803, 60961],
[36108, 60963], [29410, 60964], [29553, 60965], [35629, 60966],
[29442, 60967], [29937, 60968], [36075, 60969], [60970, 150203],
[34351, 60971], [24506, 60972], [34976, 60973], [17591, 60974], 60975,
[60977, 159237], 60978, [35454, 60979], [60980, 140571], 60981,
[24829, 60982], [30311, 60983], [39639, 60984], [40260, 60985],
[37742, 58859, 60986], [39823, 60987], [34805, 60988], 60989, 0,
[36087, 60991], [29484, 60992], [38689, 60993], [39856, 60994],
[13782, 60995], [29362, 60996], [19463, 60997], [31825, 60998],
[39242, 60999], [24921, 61001], [19460, 61002], [40598, 61003],
[24957, 61004], 61005, [22367, 61006], [24943, 61007], [25254, 61008],
[25145, 61009], 0, [14940, 61011], [25058, 61012], [21418, 61013],
[25444, 61015], [26626, 61016], [13778, 61017], [23895, 61018],
[36826, 61020], [61021, 167481], 61022, [20697, 61023], [30982, 61025],
[21298, 61026], [38456, 61027], [61028, 134971], [16485, 61029], 61030,
[30718, 61031], 61032, [31938, 61033], [61034, 155418], [31962, 61035],
[31277, 61036], [32870, 61037], [32867, 61038], [32077, 61039],
[29957, 61040], [29938, 61041], [35220, 61042], [33306, 61043],
[26380, 61044], [32866, 61045], [61046, 160902], [32859, 61047],
[29936, 61048], [33027, 61049], [30500, 61050], [35209, 61051],
[61052, 157644], [30035, 61053], [34729, 61055], [34766, 61056],

[33224,
[35651,
[27058,
[28089,
[15835,
[15569,
[24809,
[57346,
[29679,
[57354,
[57358,
[57362,
[57366,
[57370,
[57374,
[57379,
[13434,
[33814,
[57392,
[57396,
[57400,
[57404,
[20937,
[20947,
[33741,
[21003,
[21079,
[31765,
[57434,
[57439,
[57444,
[29653,
[57452,
[21364,
[57461,
[21408,
[57469,
[21445,
[21465,
[57481,
[21523,
[27995,
[21853,
[57497,
[57501,
[21551,
[57510,
[26291,
[57518,
[30961,
[22272,
[13859,
[27758,
[57539,
[57543,
[22698,
[57552,
[57556,
[22815,
[57564,

61057], [34700, 61058], [35401, 61059], [36013, 61060],


61061], [30507, 61062], [29944, 61063], [34010, 61064],
61066], [36262, 61067], 61068, [35241, 58392, 61069], 0,
61071], [34753, 61072], [61073, 147473], [29927, 61074],
61075], [29046, 61076], [24740, 57702, 61077], [24988, 61078],
61079], 0, [24695, 61081], 61082, [32625, 61083], 0,
61086], [19326, 61087], [57344, 132423], [37595, 57345],
132575], [57347, 147397], [34124, 57348], [17077, 57349],
57350], [20917, 57351], [13897, 57352], [57353, 149826],
166372], [37700, 57355], [57356, 137691], [33518, 57357],
146632], [30780, 57359], [26436, 57360], [25311, 57361],
149811], [57363, 166314], [57364, 131744], [57365, 158643],
135941], [20395, 57367], [57368, 140525], [20488, 57369],
159017], [57371, 162436], [57372, 144896], [57373, 150193],
140563], 0, [57376, 131966], [24484, 57377], [57378, 131968],
131911], [28379, 57380], [57381, 132127], 20702, [20737, 57383],
57384], [20750, 57385], [39020, 57386], [14147, 57387],
57388], [57389, 149924], [57390, 132231], [20832, 57391],
144308], [20842, 57393], [57394, 134143], [57395, 139516],
131813], [57397, 140592], [57398, 132494], [57399, 143923],
137603], [23426, 57401], [34685, 57402], [57403, 132531],
146585], [20914, 57405], [20920, 57406], [40244, 57407],
57408], [20943, 57409], [20945, 57410], [15580, 57411],
57412], [57413, 150182], [20915, 57414], 0, 0, [20973, 57417],
57418], [26942, 57419], [57420, 145197], [24443, 57421],
57422], [21030, 57423], [21052, 57424], [21173, 57425],
57426], [21140, 57427], [21177, 57428], [21189, 57429],
57430], [34114, 57431], [21216, 57432], [34317, 57433],
158483], 0, [57436, 166622], [21833, 57437], [28377, 57438],
147328], [57440, 133460], [57441, 147436], [21299, 57442], 0,
134114], [27851, 57445], [57446, 136998], [26651, 57447],
57448], [24650, 57449], [16042, 57450], [14540, 57451],
136936], [29149, 57453], [17570, 57454], [21357, 57455],
57456], [57457, 165547], [21374, 57458], 0, [57460, 136598],
136723], [30694, 57462], [21395, 57463], [57464, 166555],
57465], [21419, 57466], [21422, 57467], [29607, 57468],
153458], [16217, 57470], [29596, 57471], [21441, 57472],
57473], [27721, 57474], [20041, 57475], [22526, 57476],
57477], [15019, 57478], [57479, 134031], [21472, 57480],
147435], [57482, 142755], [21494, 57483], [57484, 134263],
57485], [28793, 57486], [21803, 57487], [26199, 57488],
57489], [21613, 57490], [57491, 158547], [57492, 134516],
57493], [21647, 57494], [21668, 57495], [18342, 57496],
136973], [57498, 134877], [15796, 57499], [57500, 134477],
166332], [57502, 140952], [21831, 57503], [19693, 57504],
57505], [29719, 57506], [21894, 57507], [21929, 57508], 0,
137431], [57511, 147514], [17746, 57512], [57513, 148533],
57514], [57515, 135348], [22071, 57516], [26317, 57517],
144010], [26276, 57519], 0, [22093, 57521], [22095, 57522],
57523], [22257, 57524], [38791, 57525], [21502, 57526],
57527], [22255, 57528], [22253, 57529], [57530, 166758],
57531], [57532, 135759], [22342, 57533], [57534, 147877],
57535], [28811, 57536], [22338, 57537], [14001, 57538],
158846], [22502, 57540], [57541, 136214], [22531, 57542],
136276], [57544, 148323], [22566, 57545], [57546, 150517], 0,
57548], [13665, 57549], [22752, 57550], [22748, 57551],
135740], [22779, 57553], [23551, 57554], [22339, 57555],
172368], [57557, 148088], [37843, 57558], [13729, 57559],
57560], [26790, 57561], [14019, 57562], [28249, 57563],
136766], [23076, 57565], 0, [57567, 136850], [34053, 57568],

[22985,
[57573,
[57577,
[23033,
[14054,
[29797,
[57595,
[21200,
[57603,
[23509,
[23539,
[57616,
[57620,
[23685,
[57628,
[23878,
[33532,
[57640,
[24110,
[21414,
[24073,
[14496,
[24333,
[57669,
[57674,
[37696,
[15711,
[57687,
[24625,
[13881,
[15936,
[57706,
[24932,
[24961,
[23466,
[57723,
[57727,
[25886,
[57735,
[57739,
[57743,
[57750,
[14950,
[28438,
[25965,
[19255,
[26083,
[57776,
[57780,
[57784,
[57790,
[39332,
[27130,
[57804,
[26658,
[57812,
[27105,
[26819,
[14849,
[26977,

57569], [57570, 134478], [57571, 158849], [57572, 159018],


137180], [23001, 57574], [57575, 137211], [57576, 137138],
159142], [28017, 57578], [57579, 137256], [57580, 136917],
57581], [57582, 159301], [23211, 57583], [23139, 57584],
57585], [57586, 149929], 0, [14088, 57588], [23190, 57589],
57590], [23251, 57591], [57592, 159649], [57593, 140628],
137489], [14130, 57596], [57597, 136888], [24195, 57598],
57599], [23414, 57600], [25992, 57601], [23420, 57602],
162318], [16388, 57604], [18525, 57605], [57606, 131588],
57607], [57609, 137780], [57610, 154060], [57611, 132517],
57612], [23453, 57613], [19728, 57614], [23557, 57615],
138052], [23571, 57617], [29646, 57618], [23572, 57619],
138405], [57621, 158504], [23625, 57622], [18653, 57623],
57624], [23785, 57625], [23791, 57626], [23947, 57627],
138745], [57629, 138807], [23824, 57630], [23832, 57631],
57632], [57633, 138916], [23738, 57634], [24023, 57635],
57636], [14381, 57637], [57638, 149761], [57639, 139337],
139635], [33415, 57641], [14390, 57642], [15298, 57643],
57644], [27274, 57645], 0, 57647, [57648, 148668], [57649, 134355],
57650], [20151, 57651], 0, [21416, 57653], [57654, 137073],
57655], 57656, [57657, 164994], [24313, 57658], [24315, 57659],
57660], [24316, 57661], [26686, 57662], [37915, 57663],
57664], [57665, 131521], [57666, 194708], [15070, 57667],
135994], [24378, 57670], [57671, 157832], [57672, 140240],
140401], [24419, 57675], [57677, 159342], [24434, 57678],
57679], [57680, 166454], [24487, 57681], [23990, 57682],
57683], [57684, 152144], [57685, 139114], [57686, 159992],
140904], [37334, 57688], [57689, 131742], [57690, 166441],
57691], [26245, 57692], [14691, 57694], [15815, 57695],
57696], [22416, 57697], [57698, 141236], [31089, 57699],
57700], [24734, 57701], 0, 0, [57704, 149890], [57705, 149903],
162387], [29860, 57707], [20705, 57708], [23200, 57709],
57710], [24898, 57712], [57713, 194726], [57714, 159442],
57715], [20980, 57716], [57717, 132694], [24967, 57718],
57719], [57720, 147383], [57721, 141407], [25043, 57722],
166813], [57724, 170333], [25040, 57725], [14642, 57726],
141696], [57728, 141505], [24611, 57729], [24924, 57730],
57731], [25483, 57732], [57733, 131352], [25285, 57734],
137072], [25301, 57736], [57737, 142861], [25452, 57738],
149983], [14871, 57740], [25656, 57741], [25592, 57742],
136078], [57744, 137212], [28554, 57746], [57747, 142902], 0,
153373], [25825, 57751], [25829, 57752], [38011, 57753],
57754], [25658, 57755], [14935, 57756], [25933, 57757],
57758], [57759, 150056], [57760, 150051], [25989, 57761],
57762], [25951, 57763], 0, [26037, 57765], [57766, 149824],
57767], [26065, 57768], [16600, 57769], [57770, 137257], 57771,
57772], [24543, 57773], [57774, 144384], [26136, 57775],
143863], [57777, 143864], [26180, 57778], [57779, 143780],
143781], [26187, 57781], [57782, 134773], [26215, 57783],
152038], [26227, 57785], 0, [57788, 143921], [57789, 165364],
143816], [57791, 152339], [30661, 57792], [57793, 141559],
57794], [26370, 57795], [57796, 148380], [57797, 150049],
57799], [57800, 145346], 0, [26471, 57802], [26466, 57803],
147917], [57805, 168173], [26583, 57806], [17641, 57807],
57808], [28240, 57809], [37436, 57810], [26625, 57811],
144358], [57813, 159136], [26717, 57814], [57815, 144495],
57816], [27147, 57817], [57818, 166623], [26995, 57819],
57820], [57821, 144845], [26881, 57822], [26880, 57823],
57825], [57826, 144956], [15232, 57827], [26540, 57828],
57829], [57830, 166474], [17148, 57831], [26934, 57832],

[27032,
[20624,
[27205,
[26545,
[27421,
[27508,
[57858,
[27617,
[57866,
[33318,
[57874,
[57878,
[39811,
[26679,
[28054,
[57894,
[57898,
[57905,
[28239,
[14093,
[57917,
[28484,
[57925,
[28627,
[57933,
[57937,
[28747,
[28885,
[15848,
[28971,
[57960,
[28972,
[29114,
[37954,
[29220,
[29248,
[29271,
[28477,
[57993,
[29486,
[58001,
[58005,
[58009,
[29717,
[16087,
[29767,
[29804,
[29826,
[58036,
[58040,
[29982,
[58049,
[30055,
[58057,
[30132,
[30287,
[33263,
[30369,
[58078,
[58082,

57833], [15265, 57834], [57835, 132041], [33635, 57836],


57837], [27129, 57838], [57839, 144985], [57840, 139562],
57841], [57842, 145155], [27293, 57843], [15347, 57844],
57845], [27336, 57846], [57847, 168348], [15373, 57848],
57849], [57850, 133411], [24798, 57851, 60308], [27445, 57852],
57853], [57854, 141261], [28341, 57855], [57856, 146139], 0,
137560], [14144, 57859], [21537, 57860], [57861, 146266],
57862], [57863, 147196], [27612, 57864], [27703, 57865],
140427], [57867, 149745], [57868, 158545], [27738, 57869],
57870], [27769, 57871], [57872, 146876], [17605, 57873],
146877], [57875, 147876], [57876, 149772], [57877, 149760],
146633], [14053, 57879], [15595, 57880], [57881, 134450],
57882], [57883, 143865], [57884, 140433], [32655, 57885],
57886], [57887, 159013], [57888, 159137], [57889, 159211],
57890], [27996, 57891], [28284, 57892], [28420, 57893],
149887], [57895, 147589], [57896, 159346], [34099, 57897],
159604], [20935, 57899], 0, 0, [33838, 57902], [57903, 166689], 0,
146991], [29779, 57906], [57907, 147330], [31180, 57908],
57909], [23185, 57910], [57911, 143435], [28664, 57912],
57913], [28573, 57914], [57915, 146992], [28410, 57916],
136343], [57918, 147517], [17749, 57919], [37872, 57920],
57921], [28508, 57922], [15694, 57923], [28532, 57924],
168304], [15675, 57926], [28575, 57927], [57928, 147780],
57929], [57930, 147601], [57931, 147797], [57932, 147513],
147440], [57934, 147380], [57935, 147775], [20959, 57936],
147798], [57938, 147799], [57939, 147776], [57940, 156125],
57941], [28798, 57942], [28839, 57943], 0, [28876, 57945],
57946], [28886, 57947], [28895, 57948], [16644, 57949],
57950], [29108, 57951], [29078, 57952], [57953, 148087],
57954], [28997, 57955], [23176, 57956], [29002, 57957], 0,
148325], [29007, 57961], [37730, 57962], [57963, 148161],
57964], [57965, 148570], [57966, 150055], [57967, 150050],
57968], [57969, 166888], [28861, 57970], [29198, 57971],
57972], [29205, 57973], [22801, 57974], [37955, 57975],
57976], [37697, 57977], [57978, 153093], [29230, 57979],
57980], [57981, 149876], [26813, 57982], [29269, 57983],
57984], [15957, 57985], [57986, 143428], [26637, 57987],
57988], [29314, 57989], 0, [29483, 57991], [57992, 149539],
165931], [18669, 57994], [57995, 165892], [29480, 57996],
57997], [29647, 57998], [29610, 57999], [58000, 134202],
158254], [29641, 58002], [29769, 58003], [58004, 147938],
136935], [58006, 150052], [26147, 58007], [14021, 58008],
149943], [58010, 149901], [58011, 150011], [29687, 58012],
58013], [26883, 58014], [58015, 150054], [29753, 58016],
58018], 0, [58020, 141485], [29792, 58021], [58022, 167602],
58023], [29668, 58024], [29814, 58025], [33721, 58026],
58027], [29812, 58029], [37873, 58030], [27180, 58031],
58032], [18771, 58033], [58034, 150156], [58035, 147807],
150137], [58037, 166799], [23366, 58038], [58039, 166915],
137374], [29896, 58041], [58042, 137608], [29966, 58043],
58045], [58046, 167641], [58047, 137803], [23511, 58048],
167596], [37765, 58050], [30029, 58051], [30026, 58052],
58053], [30062, 58054], [58055, 151426], [16132, 58056],
150803], [30094, 58058], [29789, 58059], [30110, 58060],
58061], [30210, 58062], [30252, 58063], [30289, 58064],
58065], [30319, 58066], 58067, [58068, 156661], [30352, 58069],
58070], [14328, 58071], [58072, 157969], [58073, 157966],
58074], [30373, 58075], [30391, 58076], [30412, 58077],
159647], [33890, 58079], [58080, 151709], [58081, 151933],
138780], [30494, 58083], [30502, 58084], [30528, 58085],

[25775, 58086], [58087, 152096], [30552, 58088], [58089, 144044],


[30639, 58090], [58091, 166244], [58092, 166248], [58093, 136897],
[30708, 58094], 0, [26826, 58098], [30895, 58099], [30919, 58100],
[30931, 58101], [38565, 58102], [31022, 58103], [58104, 153056],
[30935, 58105], [31028, 58106], [30897, 58107], [58108, 161292],
[36792, 58109], [34948, 58110], [58113, 140828], [31110, 58114],
[35072, 58115], [26882, 58116], [31104, 58117], [58118, 153687],
[31133, 58119], [58120, 162617], [31036, 58121], [31145, 58122],
[28202, 58123], [58124, 160038], [16040, 58125], [31174, 58126],
[58127, 168205], [31188, 58128], 0, [21797, 62526], 0, [62528, 134210],
[62529, 134421], [62530, 151851], [21904, 62531], [62532, 142534],
[14828, 62533], [62534, 131905], [36422, 62535], [62536, 150968],
[62537, 169189], 0, [62539, 164030], [30586, 62540], [62541, 142392],
[14900, 62542], [18389, 62543], [62544, 164189], [62545, 158194],
[62546, 151018], [25821, 62547], [62548, 134524], [62549, 135092],
[62550, 134357], 0, [25741, 62552], [36478, 62553], [62554, 134806], 0,
[62556, 135012], [62557, 142505], [62558, 164438], [62559, 148691], 0,
[62561, 134470], [62562, 170573], [62563, 164073], [18420, 62564],
[62565, 151207], [62566, 142530], [39602, 62567], [14951, 62568],
[62569, 169460], [16365, 62570], [13574, 62571], [62572, 152263],
[62573, 169940], 0, [62575, 142660], [40302, 62576], [38933, 62577], 0,
[17369, 62579], 0, [25780, 62581], [21731, 62582], 0, [62584, 142282], 0,
[14843, 62586], 0, [62588, 157402], [62589, 157462], [62590, 162208],
[25834, 62591], [62592, 151634], [62593, 134211], [36456, 62594], 0,
[62596, 166732], [62597, 132913], 0, [18443, 62599], [62600, 131497],
[16378, 62601], [22643, 62602], [62603, 142733], 0, [62605, 148936],
[62606, 132348], [62607, 155799], [62608, 134988], 0, [21881, 62610], 0,
[17338, 62612], 0, [19124, 62614], [62615, 141926], [62616, 135325],
[33194, 62617], [39157, 62618], [62619, 134556], [25465, 62620],
[14846, 62621], [62622, 141173], [36288, 62623], [22177, 62624],
[25724, 62625], [15939, 62626], 0, [62628, 173569], [62629, 134665],
[62630, 142031], 0, 0, [62633, 135368], [62634, 145858], [14738, 62635],
[14854, 62636], [62637, 164507], [13688, 62638], [62639, 155209],
[62640, 139463], 0, 0, [62643, 142514], [62644, 169760], [13500, 62645],
[27709, 62646], [62647, 151099], 0, 0, [62650, 161140], [62651, 142987],
[62652, 139784], [62653, 173659], [62654, 167117], [62655, 134778],
[62656, 134196], [62683, 161337], [62684, 142286], [62687, 142417],
[14872, 62689], [62691, 135367], [62693, 173618], [62695, 167122],
[62696, 167321], [62697, 167114], [38314, 62698], 0, [62706, 161630],
[28992, 62708], 0, [20822, 62385], 0, [20616, 62487], 0, [13459, 62489],
[20870, 62491], [24130, 63037], [20997, 62495], [21031, 62436],
[21113, 62497], 0, [13651, 62504], [21442, 62505], [21343, 62715], 0,
[21823, 62520], 0, [21976, 59986], [13789, 62722], [22049, 63067], 0,
[22100, 60044], [60148, 135291], 0, [60153, 135379], 0, [61095, 135934], 0,
0, [14265, 60104], [23745, 61099], [23829, 63066], [23894, 63030],
[14392, 63036], [20097, 62477], [24253, 63038], [14612, 63042],
[25017, 63050], [25232, 63054], [25368, 63056], [25690, 63063],
[25745, 62381], [33133, 62709], [33156, 59922], [33171, 59924],
[26624, 63080], [15292, 63093], [29327, 60517], [29389, 59781], 0,
[29497, 59785], [30018, 59811], [30172, 59817], [16320, 59818],
[60278, 151205], [16343, 59820], 0, 30336, [30348, 59824, 151388],
[16552, 59845], [30777, 59846], [16643, 59855], [31377, 59863],
[31771, 59876], [31981, 59884], [32659, 62658], [32686, 59892], 0,
[33535, 59936], [22623, 59981], [34482, 59960], 0, [34699, 59963],
[35143, 59969], 0, [35369, 59972], 0, [36465, 59988], [60484, 164233],
[36528, 59990], 0, [37214, 62443], [37260, 62441], [39182, 60051],
[39196, 60054], 0, 0, [39809, 60066], [40384, 60080], [40339, 60078],
[40620, 60085], [19857, 60540], 0, 37818, [40571, 60084], [28809, 63148],
[29512, 59788], 0, [31129, 59858], [36791, 59997], 0, [39234, 60056],
{s: 193}, 8364, {s: 4}, [12443, 63518], [12444, 63519], [11904, 63520],

{f: 5, c: 62211}, [62216, 131340], 62217, [62218, 131281], [62219, 131277],


{f: 2, c: 62220}, [62222, 131275], [62223, 139240], 62224, [62225, 131274],
{f: 4, c: 62226}, [62230, 131342], {f: 2, c: 62231}, {f: 2, c: 62776},
[62778, 138177], [62779, 194680], [12205, 38737, 62780], [62781, 131206],
[20059, 62782], [20155, 62783], [13630, 62784], [23587, 62785],
[24401, 62786], [24516, 62787], [14586, 62788], [25164, 62789],
[25909, 62790], [27514, 62791], [27701, 62792], [27706, 62793],
[28780, 62794], [29227, 62795], [20012, 62796], [29357, 62797],
[62798, 149737], [32594, 62799], [31035, 62800], [31993, 62801],
[32595, 62802], [62803, 156266], [13505, 62804], [62806, 156491],
[32770, 62807], [32896, 62808], [62809, 157202], [62810, 158033],
[21341, 62811], [34916, 62812], [35265, 62813], [62814, 161970],
[35744, 62815], [36125, 62816], [38021, 62817], [38264, 62818],
[38271, 62819], [38376, 62820], [62821, 167439], [38886, 62822],
[39029, 62823], [39118, 62824], [39134, 62825], [39267, 62826],
[62827, 170000], [40060, 62828], [40479, 62829], [40644, 62830],
[27503, 62831], [62832, 63751], [20023, 62833], [62834, 131207],
[38429, 62835], [25143, 62836], [38050, 62837], [11908, 63521],
[11910, 63522], [11911, 63523], [11912, 63524], [11914, 63525],
[11916, 63526], [11917, 63527], [11925, 63528], [11932, 63529],
[11941, 63531], [11943, 63532], [11946, 63533], [11948, 63534],
[11950, 63535], [11958, 63536], [11964, 63537], [11966, 63538],
[11978, 63540], [11980, 63541], [11981, 63542], [11983, 63543],
[11990, 63544], [11991, 63545], [11998, 63546], [62368, 172969],
[62369, 135493], [25866, 62371], [20029, 62374], [28381, 62375],
[40270, 62376], [37343, 62377], [62380, 161589], [20250, 62382],
[20264, 62383], [20392, 62384], [20852, 62386], [20892, 62387],
[20964, 62388], [21153, 62389], [21160, 62390], [21307, 62391],
[21326, 62392], [21457, 62393], [21464, 62394], [22242, 62395],
[22768, 62396], [22788, 62397], [22791, 62398], [22834, 62399],
[22836, 62400], [23398, 62401], [23454, 62402], [23455, 62403],
[23706, 62404], [24198, 62405], [24635, 62406], [25993, 62407],
[26622, 62408], [26628, 62409], [26725, 62410], [27982, 62411],
[28860, 62412], [30005, 62413], [32420, 62414], [32428, 62415],
[32442, 62416], [32455, 62417], [32463, 62418], [32479, 62419],
[32518, 62420], [32567, 62421], [33402, 62422], [33487, 62423],
[33647, 62424], [35270, 62425], [35774, 62426], [35810, 62427],
[36710, 62428], [36711, 62429], [36718, 62430], [29713, 62431],
[31996, 62432], [32205, 62433], [26950, 62434], [31433, 62435],
[30904, 62442], [32956, 62444], [36107, 62446], [33014, 62447],
[62448, 133607], [32927, 62451], [40647, 62452], [19661, 62453],
[40393, 62454], [40460, 62455], [19518, 62456], [62457, 171510],
[62458, 159758], [40458, 62459], [62460, 172339], [13761, 62461],
[28314, 62463], [33342, 62464], [29977, 62465], [18705, 62467],
[39532, 62468], [39567, 62469], [40857, 62470], [31111, 62471],
[62472, 164972], [62473, 138698], [62474, 132560], [62475, 142054],
[20004, 62476], [20096, 62478], [20103, 62479], [20159, 62480],
[20203, 62481], [20279, 62482], [13388, 62483], [20413, 62484],
[15944, 62485], [20483, 62486], [13437, 62488], [13477, 62490],
[22789, 62492], [20955, 62493], [20988, 62494], [20105, 62496],
[21136, 62498], [21287, 62499], [13767, 62500], [21417, 62501],
[13649, 62502], [21424, 62503], [21539, 62506], [13677, 62507],
[13682, 62508], [13953, 62509], [21651, 62510], [21667, 62511],
[21684, 62512], [21689, 62513], [21712, 62514], [21743, 62515],
[21784, 62516], [21795, 62517], [21800, 62518], [13720, 62519],
[13733, 62521], [13759, 62522], [21975, 62523], [13765, 62524],
[62525, 163204], [16467, 62538], [62551, 135412], [62555, 134155],
[62574, 161992], [62580, 155813], [62583, 142668], [62585, 135287],
[62587, 135279], [62595, 139681], [62609, 134550], [16571, 62611],
[62631, 142537], [22098, 62641], [62642, 134961], [62657, 157724],

[62659,
[62663,
[16275,
[62671,
[62676,
[25650,
[62686,
[62694,
[62703,
[33004,
[14231,
[62719,
[13833,
[62728,
[62732,
[62736,
[62740,
[62744,
[62748,
[62752,
[62756,
[21096,
[23400,
[18919,
[62772,
[23870,
[23972,
[24451,
[24791,
[25015,
[25317,
[25570,
[25792,
[15037,
[26258,
[26532,
[15218,
[26947,
[27013,
[27252,
[27289,
[27348,
[27626,
[27906,
[15599,
[28184,
[28347,
[28392,
[15686,
[15722,
[15754,
[28756,
[17345,
[15789,
[29837,
[58270,
[58325,
[30583,
[58440,
[58473,

135375], [62660, 141315], [62661, 141625], [13819, 62662],


152035], [62664, 134796], [62665, 135053], [62666, 134826],
62667], [62668, 134960], [62669, 134471], [62670, 135503],
134732], [62673, 134827], [62674, 134057], [62675, 134472],
135360], [62677, 135485], [16377, 62678], [62679, 140950],
62680], [62681, 135085], [62682, 144372], [62685, 134526],
134527], [62688, 142421], [62690, 134808], [62692, 134958],
158544], [21708, 62699], [33476, 62700], [21945, 62701],
171715], [39974, 62704], [39606, 62705], [62707, 142830],
62710], [23580, 62711], [62712, 157042], [33076, 62713],
62714], [62716, 164029], [37302, 62717], [62718, 134906],
134671], [62720, 134775], [62721, 134907], [62723, 151019],
62724], [62725, 134358], [22191, 62726], [62727, 141237],
135369], [62729, 134672], [62730, 134776], [62731, 135288],
135496], [62733, 164359], [62734, 136277], [62735, 134777],
151120], [62737, 142756], [23124, 62738], [62739, 135197],
135198], [62741, 135413], [62742, 135414], [22428, 62743],
134673], [62745, 161428], [62746, 164557], [62747, 135093],
134779], [62749, 151934], [14083, 62750], [62751, 135094],
135552], [62753, 152280], [62754, 172733], [62755, 149978],
137274], [62757, 147831], [62758, 164476], [22681, 62759],
62760], [13850, 62761], [62762, 153405], [31666, 62763],
62764], [18432, 62765], [19244, 62766], [40743, 62767],
62768], [39967, 62769], [39821, 62770], [62771, 154484],
143677], [22011, 62773], [13810, 62774], [22153, 62775],
63028], [23880, 63029], [15868, 63031], [14351, 63032],
63033], [23993, 63034], [14368, 63035], [24357, 63039],
63040], [14600, 63041], [14655, 63043], [14669, 63044],
63045], [24893, 63046], [23781, 63047], [14729, 63048],
63049], [25039, 63051], [14776, 63052], [25132, 63053],
63055], [14840, 63057], [22193, 63058], [14851, 63059],
63060], [25595, 63061], [25607, 63062], [14923, 63064],
63065], [40863, 63068], [14999, 63069], [25990, 63070],
63071], [26111, 63072], [26195, 63073], [15090, 63074],
63075], [15138, 63076], [26390, 63077], [15170, 63078],
63079], [15192, 63081], [26698, 63082], [26756, 63083],
63084], [15217, 63085], [15227, 63086], [26889, 63087],
63088], [29276, 63089], [26980, 63090], [27039, 63091],
63092], [27094, 63094], [15325, 63095], [27237, 63096],
63097], [27249, 63098], [27266, 63099], [15340, 63100],
63101], [15346, 63102], [27307, 63103], [27317, 63104],
63105], [27382, 63106], [27521, 63107], [27585, 63108],
63109], [27765, 63110], [27818, 63111], [15563, 63112],
63113], [27910, 63114], [27942, 63115], [28033, 63116],
63117], [28068, 63118], [28081, 63119], [28181, 63120],
63121], [28201, 63122], [28294, 63123], [63124, 166336],
63125], [28386, 63126], [28378, 63127], [40831, 63128],
63129], [28393, 63130], [28452, 63131], [28468, 63132],
63133], [63134, 147265], [28545, 63135], [28606, 63136],
63137], [15733, 63138], [29111, 63139], [23705, 63140],
63141], [28716, 63142], [15761, 63143], [28752, 63144],
63145], [28783, 63146], [28799, 63147], [63149, 131877],
63150], [13809, 63151], [63152, 134872], [13902, 58134],
58172], [58173, 154725], [26237, 58183], [31860, 58188],
58197], [32402, 58215], [17667, 58232], [58260, 151480],
133901], [58277, 158474], [13438, 58311], [58317, 143087],
146613], [58343, 159385], [34673, 58364], [25537, 58385],
58387], [35210, 58390], [58406, 147343], [35660, 58415],
150729], [18730, 58464], [58471, 172052], [58472, 165564],
165121], [15088, 58490], [28815, 58511], [58529, 140922],

[58637,
[40802,
[37519,
[26511,
[15129,
[33920,
[18733,
[59752,
[59758,
[21637,
[59767,
[59771,
[29583,
[32743,
[16041,
[16074,
[29727,
[16122,
[30061,
[30152,
[30330,
[16413,
[13787,
[30654,
[30791,
[59851,
[31121,
[31420,
[31451,
[31611,
[31867,
[17044,
[32207,
[32692,
[32805,
[22452,
[17389,
[33044,
[33113,
[17445,
[33217,
[33398,
[33623,
[33892,
[34017,
[34130,
[34272,
[34543,
[34990,
[59971,
[35921,
[18328,
[22356,
[36578,
[36801,
[18605,
[37416,
[37550,
[37619,
[37764,

158120], [58646, 148043], [26760, 58662], [58664, 139611],


58702], [37830, 58793], [58802, 131967], [37734, 58888],
58901], [34324, 58954], [58986, 173147], [16784, 59010],
59045], [26654, 59048], [14435, 59051], [59077, 149996],
59128], [33942, 59176], [59241, 149858], [14818, 59254],
59259], [17262, 59328], [38769, 59402], [39323, 59427],
59499], [28439, 59703], [59704, 160009], [28838, 59746],
150095], [32357, 59753], [23855, 59755], [15859, 59756],
150109], [59759, 137183], [32164, 59760], [33830, 59761],
59762], [59763, 146170], [59765, 131604], [22398, 59766],
133333], [59768, 132633], [16357, 59769], [59770, 139166],
172726], [28675, 59772], [59773, 168283], [23920, 59774],
59775], [59777, 166489], [59778, 168992], [20424, 59779],
59780], [29456, 59782], [29496, 59784], [29505, 59787],
59789], [29173, 59792], [59793, 149746], [29665, 59794],
59796], [16081, 59798], [29721, 59801], [29726, 59802],
59803], [16098, 59804], [16112, 59805], [16116, 59806],
59807], [29907, 59808], [16142, 59809], [16211, 59810],
59812], [30066, 59813], [30093, 59814], [16252, 59815],
59816], [30285, 59819], [30324, 59821], [16348, 59822],
59823], [29064, 59825], [22051, 59826], [35200, 59827],
59829], [30531, 59830], [16441, 59831], [16453, 59833],
59834], [30616, 59835], [16490, 59836], [16495, 59837],
59839], [30667, 59840], [30744, 59842], [30748, 59844],
59847], [30801, 59848], [30822, 59849], [33864, 59850],
152885], [31027, 59852], [31026, 59854], [16649, 59856],
59857], [31238, 59860], [16743, 59862], [16818, 59864],
59865], [33401, 59866], [16836, 59867], [31439, 59868],
59869], [16847, 59870], [31586, 59872], [31596, 59873],
59874], [31762, 59875], [16992, 59877], [17018, 59878],
59879], [31900, 59880], [17036, 59881], [31928, 59882],
59883], [36755, 59885], [28864, 59886], [59887, 134351],
59888], [32212, 59889], [32208, 59890], [32253, 59891],
59893], [29343, 59894], [17303, 59895], [32800, 59896],
59897], [32814, 59899], [32817, 59900], [32852, 59901],
59903], [28832, 59904], [32951, 59905], [33001, 59906],
59907], [33036, 59908], [33038, 59910], [33042, 59911],
59913], [17409, 59914], [15161, 59915], [33110, 59916],
59917], [33114, 59918], [17427, 59919], [33148, 59921],
59923], [17453, 59925], [33189, 59926], [22511, 59927],
59928], [33252, 59929], [33364, 59930], [17551, 59931],
59933], [33482, 59934], [33496, 59935], [17584, 59937],
59938], [38505, 59939], [33797, 59941], [28917, 59942],
59943], [33928, 59945], [17668, 59946], [33982, 59947],
59948], [34040, 59949], [34064, 59950], [34104, 59951],
59952], [17723, 59953], [34159, 59954], [34160, 59955],
59956], [17783, 59957], [34418, 59958], [34450, 59959],
59961], [38469, 59962], [17926, 59964], [17943, 59965],
59966], [35071, 59967], [35108, 59968], [35217, 59970],
162151], [35384, 59973], [35476, 59974], [35508, 59975],
59976], [36052, 59977], [36082, 59978], [36124, 59979],
59980], [36291, 59982], [18413, 59983], [36410, 59985],
59987], [22005, 59989], [18487, 59991], [36558, 59992],
59993], [36580, 59994], [36589, 59995], [36594, 59996],
59998], [36810, 59999], [36812, 60000], [36915, 60001],
60003], [39136, 60004], [37395, 60005], [18718, 60006],
60007], [37464, 60008], [37483, 60009], [37553, 60010],
60011], [37567, 60012], [37603, 60013], [37611, 60014],
60015], [37620, 60016], [37629, 60017], [37699, 60018],
60019], [37805, 60020], [18757, 60021], [18769, 60022],

[37911,
[18794,
[38306,
[18917,
[38834,
[19225,
[39223,
[39365,
[39785,
[19565,
[40265,
[40444,
[40637,
[40689,
[60096,
[38081,
[60108,
[60112,
[21662,
[60121,
[60127,
[60131,
[60138,
[60144,
[60150,
[60155,
[60160,
[60165,
[60170,
[60174,
[29080,
[60184,
[60188,
[60193,
[60202,
[60207,
[60211,
[60215,
[60223,
[60234,
[60245,
[60258,
[60263,
[60275,
[22335,
[60292,
[60301,
[60312,
[29009,
[60326,
[60338,
[13848,
[60362,
[60373,
[60385,
[60395,
[38047,
[60425,
[60442,
[60459,

60024], [37917, 60026], [37933, 60027], [37950, 60028],


60029], [37972, 60030], [38009, 60031], [38189, 60032],
60033], [18855, 60034], [38388, 60035], [38451, 60036],
60037], [18980, 60039], [38720, 60040], [18997, 60041],
60042], [38850, 60043], [19172, 60045], [39097, 60047],
60048], [39153, 60049], [22596, 60050], [39193, 60052],
60055], [39261, 60057], [39266, 60058], [19312, 60059],
60060], [19357, 60061], [39484, 60062], [39695, 60063],
60065], [39901, 60067], [39921, 60068], [39924, 60069],
60070], [39968, 60071], [14191, 60072], [60073, 138178],
60074], [40702, 60076], [22096, 60077], [40381, 60079],
60081], [38134, 60082], [36790, 60083], [40625, 60086],
60087], [40646, 60088], [38108, 60089], [40674, 60090],
60091], [40696, 60092], [40772, 60094], [60095, 131220],
131767], [60097, 132000], [38083, 60099], [60101, 132311],
60103], [60105, 132565], [60106, 132629], [60107, 132726],
136890], [22359, 60109], [29043, 60110], [60111, 133826],
133837], [60113, 134079], [60115, 194619], [60116, 134091],
60117], [60118, 134139], [60119, 134203], [60120, 134227],
134245], [60122, 134268], [60124, 134285], [60126, 134325],
134365], [60128, 134381], [60129, 134511], [60130, 134578],
134600], [60135, 134660], [60136, 134670], [60137, 134871],
135056], [60139, 134957], [60140, 134771], [60142, 135100],
135260], [60145, 135247], [60146, 135286], [60149, 135304],
135318], [13895, 60151], [60152, 135359], [60154, 135471],
135483], [21348, 60156], [60158, 135907], [60159, 136053],
135990], [60162, 136567], [60163, 136729], [60164, 137155],
137159], [28859, 60167], [60168, 137261], [60169, 137578],
137773], [60171, 137797], [60172, 138282], [60173, 138352],
138412], [60175, 138952], [60177, 138965], [60178, 139029],
60179], [60181, 139333], [27113, 60182], [14024, 60183],
139900], [60185, 140247], [60186, 140282], [60187, 141098],
141425], [60189, 141647], [60191, 141671], [60192, 141715],
142037], [60195, 142056], [60197, 142094], [60199, 142143],
142412], [60204, 142472], [60205, 142519], [60206, 154600],
142600], [60208, 142610], [60209, 142775], [60210, 142741],
142914], [60212, 143220], [60213, 143308], [60214, 143411],
143462], [60216, 144159], [60217, 144350], [60222, 144743],
144883], [60227, 144922], [60228, 145174], [22709, 60231],
146087], [60237, 146961], [60238, 147129], [60243, 147737],
148206], [60246, 148237], [60248, 148276], [60249, 148374],
148484], [60259, 148694], [22408, 60260], [60261, 149108],
149295], [60271, 149522], [60272, 149755], [60273, 150037],
150208], [22885, 60277], [60279, 151430], [60282, 151596],
60284], [60286, 152217], [60287, 152601], [60291, 152646],
152686], [60296, 152895], [60298, 152926], [60300, 152930],
152934], [60302, 153543], [60304, 153693], [60309, 153859],
154286], [60313, 154505], [60314, 154630], [22433, 60316],
60317], [60319, 155906], [60322, 156082], [60325, 156674],
156746], [60330, 156804], [60334, 156808], [60336, 156946],
157119], [60339, 157365], [22201, 60347], [60349, 157436],
60355], [60357, 157593], [60358, 157806], [60360, 157790],
157895], [60366, 157990], [60368, 158009], [60371, 158202],
158253], [60378, 158260], [60379, 158555], [60383, 158621],
158884], [60388, 159150], [60392, 159819], [60393, 160205],
160384], [60396, 160389], [60399, 160395], [60401, 160486],
60404], [60405, 160848], [14009, 60416], [60424, 161740],
161880], [22230, 60426], [60435, 162269], [60441, 162301],
162314], [60443, 162571], [60444, 163174], [60448, 163849],
163875], [60463, 163912], [60466, 163971], [60479, 163984],

[60480, 164084], [60481, 164142], [60483, 164175], [60485, 164271],


[60486, 164378], [60487, 164614], [60488, 164655], [60489, 164746],
[60491, 164968], [60492, 165546], [25574, 60494], [60495, 166230],
[60498, 166328], [60500, 166375], [60502, 166376], [60503, 166726],
[60504, 166868], [60506, 166921], [60508, 167877], [60509, 168172],
[60511, 168208], [60512, 168252], [15863, 60513], [60514, 168286],
[60515, 150218], [36816, 60516], [60519, 169191], [60521, 169392],
[60522, 169400], [60523, 169778], [60524, 170193], [60525, 170313],
[60526, 170346], [60527, 170435], [60528, 170536], [60529, 170766],
[60530, 171354], [60531, 171419], [32415, 60532], [60533, 171768],
[60534, 171811], [19620, 60535], [38215, 60536], [60537, 172691],
[29090, 60538], [60539, 172799], [60542, 173515], [19868, 60543],
[60544, 134300], [36798, 60545], [36794, 60547], [60548, 140464],
[36793, 60549], [60550, 150163], [20202, 60555], [60557, 166700],
[36480, 60560], [60561, 137205], [60563, 166764], [60564, 166809],
[60566, 157359], [60568, 161365], [60570, 153141], [60571, 153942],
[20122, 60572], [60573, 155265], [60576, 134765], [60579, 147080],
[60580, 150686], [60583, 137206], [60584, 137339], [60587, 154698],
[60589, 152337], [15814, 60590], [60596, 155352], [19996, 60600],
[60601, 135146], [60602, 134473], [60603, 145082], [60638, 151880],
[21982, 60644], [34694, 60672], [60676, 135361], [60679, 149254],
[23440, 60680], [60682, 157843], [60684, 141044], [60685, 163119],
[60686, 147875], [60687, 163187], [60688, 159440], [60689, 160438],
[60691, 135641], [60693, 146684], [60694, 173737], [60695, 134828],
[60698, 138402], [60700, 151490], [60702, 135147], [60706, 142752],
[60710, 135148], [60711, 134666], [60714, 135149], [60717, 135559],
[19994, 60721], [19972, 60722], [23309, 60724], [13996, 60727],
[21373, 60729], [13989, 60730], [22682, 60732], [60733, 150382],
[22442, 60736], [60737, 154261], [60738, 133497], [60741, 140389],
[60746, 146686], [60747, 171824], [60749, 151465], [60750, 169374],
[60753, 146870], [60755, 157619], [60756, 145184], [60759, 147191],
[60760, 146988], [60785, 143578], [60789, 135849], [22439, 60790],
[60791, 149859], [60794, 159918], [60801, 137068], [60806, 160100],
[60809, 159010], [60810, 150242], [39963, 60837], [60838, 149822],
[15878, 60846], [60881, 159011], [60887, 132092], [60891, 146685],
[60893, 149785], [22394, 60904], [21722, 60912], [29050, 60928],
[60949, 150135], [60955, 166490], [60962, 194624], [60976, 137275],
[61000, 155993], [61014, 144373], [61019, 166850], [61024, 138566],
[61054, 159441], [13877, 61065], [61084, 166701], [21024, 61088],
[15384, 61089], [61090, 146631], [61091, 155351], [61092, 161366],
[61093, 152881], [61094, 137540], [61096, 170243], [61097, 159196],
[61098, 159917], [61100, 156077], [61101, 166415], [61102, 145015],
[61103, 131310], [61104, 157766], [61105, 151310], [17762, 61106],
[23327, 61107], [61108, 156492], [40784, 61109], [40614, 61110],
[61111, 156267], [20962, 57415], [21314, 57416], [26285, 57520],
[22620, 57547], [21843, 57566], [15749, 57594], [24928, 57608],
[18606, 57668], [38845, 57676], [57693, 137335], [24755, 57703],
[33828, 57711], [38932, 57748], [57749, 147596], [57764, 143486],
[57787, 138813], [15147, 57798], [15666, 57824], [57857, 132021],
[28801, 57944], [23708, 57959], [58017, 132547], [14128, 58028],
[58096, 136054], [58097, 150034], [58111, 166699], [58112, 155779],
[256, 62233], [193, 62234], [461, 62235], [192, 62236], [274, 62237],
[201, 62238], [282, 62239], [200, 62240], [332, 62241], [211, 62242],
[465, 62243], [210, 62244], 62245, [7870, 62246], 62247, [7872, 62248],
[202, 62249], [257, 62250], [225, 62251], [462, 62252], [224, 62253],
[593, 62254], [275, 62255], [233, 62256], [283, 62257], [232, 62258],
[299, 62259], [237, 62260], [464, 62261], [236, 62262], [333, 62263],
[243, 62264], [466, 62265], [242, 62266], [363, 62267], [250, 62268],
[468, 62269], [249, 62270], [470, 62271], [472, 62272], [474, 62273],
[476, 62274], [252, 62275], 62276, [7871, 62277], 62278, [7873, 62279],

[234, 62280], [609, 62281], [643, 63551], [592, 63552], [603, 63553],
[596, 63554], [629, 63555], [339, 63556], [248, 63557], [331, 63558],
[650, 63559], [618, 63560], {f: 2, c: 62282}, [11933, 63530],
[11974, 63539], [12003, 63547], 20539, 28158, [62841, 171123], 62842,
[15817, 62843], 34959, [62845, 147790], 28791, 23797, [19232, 62848],
[62849, 152013], [13657, 62850], [62851, 154928], 24866, [62853, 166450],
36775, 37366, 29073, 26393, 29626, [62859, 144001], [62860, 172295],
[15499, 62861], [62862, 137600], [19216, 62863], 30948, 29698, 20910,
[62867, 165647], [16393, 62868], 27235, [62870, 172730], [16931, 62871],
34319, 31274, [62875, 170311], [62876, 166634], 38741, 28749, 21284,
[62880, 139390], 37876, 30425, [62883, 166371], 62884, 30685, 20131, 20464,
20668, 20015, 20247, 62891, 21556, 32139, 22674, 22736, [62896, 138678],
24210, 24217, 24514, [62900, 141074], 25995, [62902, 144377], 26905, 27203,
[62905, 146531], 27903, 29184, [62909, 148741], 29580, [16091, 62911],
[62912, 150035], 23317, 29881, 35715, [62916, 154788], [62917, 153237],
31379, 31724, 31939, 32364, 33528, 34199, 62924, 34960, 62926, 36537,
62928, 36815, 34143, 39392, 37409, 62933, [62934, 167353], [62935, 136255],
[16497, 62936], [17058, 62937], 23066, 39016, 26475, [17014, 62944], 22333,
34262, [62948, 149883], 33471, [62950, 160013], [19585, 62951],
[62952, 159092], 23931, [62954, 158485], [62955, 159678], {f: 2, c: 62956},
23446, 62959, 32347],
'Adobe-GB1': [{f: 95, c: 32}, {f: 3, c: 12288}, [183, 12539], 713, 711, 168,
12291, 12293, 8212, 65374, 8214, [8230, 8943], {f: 2, c: 8216},
{f: 2, c: 8220}, {f: 2, c: 12308}, {f: 8, c: 12296}, {f: 2, c: 12310},
{f: 2, c: 12304}, 177, 215, 247, 8758, {f: 2, c: 8743}, 8721, 8719, 8746,
8745, 8712, 8759, 8730, 8869, 8741, 8736, 8978, 8857, 8747, 8750, 8801,
8780, 8776, 8765, 8733, 8800, {f: 2, c: 8814}, {f: 2, c: 8804}, 8734, 8757,
8756, 9794, 9792, 176, {f: 2, c: 8242}, 8451, 65284, 164, {f: 2, c: 65504},
8240, 167, 8470, 9734, 9733, 9675, 9679, 9678, 9671, 9670, 9633, 9632,
9651, 9650, 8251, 8594, {f: 2, c: 8592}, 8595, 12307, {f: 20, c: 9352},
{f: 20, c: 9332}, {f: 10, c: 9312}, {f: 10, c: 12832}, {f: 12, c: 8544},
{f: 3, c: 65281}, 65509, {f: 89, c: 65285}, 65507, {f: 83, c: 12353},
{f: 86, c: 12449}, {f: 17, c: 913}, {f: 7, c: 931}, {f: 17, c: 945},
{f: 7, c: 963}, {f: 7, c: 59277}, {f: 2, c: 65077}, {f: 2, c: 65081},
{f: 2, c: 65087}, {f: 2, c: 65085}, {f: 4, c: 65089}, {f: 2, c: 59284},
{f: 2, c: 65083}, {f: 2, c: 65079}, 65073, 59286, {f: 2, c: 65075},
{f: 6, c: 1040}, 1025, {f: 32, c: 1046}, 1105, {f: 26, c: 1078}, 257, 225,
462, 224, 275, 233, 283, 232, 299, 237, 464, 236, 333, 243, 466, 242, 363,
250, 468, 249, 470, 472, 474, 476, 252, 234, 593, 7743, 324, 328, 505, 609,
{f: 37, c: 12549}, 0, {f: 76, c: 9472}, {s: 126}, 21834, 38463, 22467,
25384, 21710, 21769, 21696, 30353, 30284, 34108, 30702, 33406, 30861,
29233, 38552, 38797, 27688, 23433, 20474, 25353, 26263, 23736, 33018,
26696, 32942, 26114, 30414, 20985, 25942, 29100, 32753, 34948, 20658,
22885, 25034, 28595, 33453, 25420, 25170, 21485, 21543, 31494,
[12043, 20843], 30116, 24052, 25300, 36299, 38774, 25226, 32793, 22365,
38712, 32610, 29240, [12137, 30333], 26575, 30334, 25670, 20336, 36133,
25308, 31255, 26001, 29677, 25644, 25203, 33324, 39041, 26495, 29256,
25198, 25292, 20276, 29923, 21322, 21150, 32458, 37030, 24110, 26758,
27036, 33152, 32465, 26834, 30917, 34444, 38225, 20621, 35876, 33502,
32990, 21253, 35090, 21093, 34180, 38649, 20445, 22561, 39281, 23453,
25265, 25253, 26292, 35961, 40077, 29190, 26479, 30865, 24754, 21329,
21271, 36744, 32972, 36125, 38049, 20493, 29384, 22791, 24811, 28953,
34987, 22868, 33519, 26412, 31528, 23849, 32503, 29997, 27893, 36454,
36856, 36924, [12240, 40763], [12112, 27604], 37145, 31508, 24444, 30887,
34006, 34109, 27605, 27609, 27606, 24065, 24199, 30201, 38381, 25949,
24330, 24517, 36767, 22721, 33218, 36991, 38491, 38829, 36793, 32534,
36140, 25153, 20415, 21464, 21342, {f: 2, c: 36776}, 36779, 36941, 26631,
24426, 33176, 34920, 40150, 24971, 21035, 30250, 24428, 25996, 28626,
28392, 23486, 25672, 20853, 20912, 26564, 19993, 31177, 39292, 28851,
30149, 24182, 29627, 33760, 25773, 25320, 38069, 27874, 21338, 21187,

25615, 38082, 31636, 20271, 24091, 33334, 33046, 33162, 28196, 27850,
39539, 25429, [12056, 21340], 21754, 34917, 22496, 19981, 24067, 27493,
31807, 37096, 24598, 25830, 29468, 35009, 26448, 25165, 36130, 30572,
36393, 37319, 24425, 33756, 34081, 39184, 21442, 34453, 27531, 24813,
24808, 28799, 33485, 33329, 20179, 27815, 34255, 25805, 31961, 27133,
26361, 33609, 21397, 31574, 20391, 20876, 27979, 23618, 36461, 25554,
21449, 33580, 33590, 26597, 30900, 25661, 23519, 23700, 24046, 35815,
25286, 26612, 35962, 25600, 25530, 34633, 39307, 35863, 32544, 38130,
20135, 38416, 39076, 26124, 29462, 22330, 23581, 24120, 38271, 20607,
32928, [12058, 21378], 25950, 30021, 21809, 20513, 36229, 25220, 38046,
26397, 22066, 28526, 24034, 21557, 28818, 36710, 25199, 25764, 25507,
24443, 28552, 37108, [12162, 33251], [12192, 36784], 23576, 26216, 24561,
27785, 38472, 36225, 34924, 25745, 31216, 22478, 27225, 25104, 21576,
20056, 31243, 24809, 28548, 35802, 25215, 36894, 39563, 31204, 21507,
30196, 25345, 21273, 27744, 36831, 24347, 39536, 32827, 40831, 20360,
23610, [12186, 36196], 32709, 26021, 28861, 20805, 20914, [12173, 34411],
23815, 23456, 25277, 37228, 30068, 36364, 31264, 24833, 31609, 20167,
32504, 30597, 19985, 33261, 21021, 20986, 27249, 21416, 36487, 38148,
38607, 28353, 38500, 26970, 30784, 20648, 30679, 25616, 35302, 22788,
25571, 24029, 31359, 26941, 20256, 33337, 21912, 20018, 30126, 31383,
24162, 24202, 38383, 21019, 21561, 28810, 25462, 38180, 22402, 26149,
26943, 37255, 21767, 28147, 32431, 34850, 25139, 32496, 30133, 33576,
30913, 38604, 36766, 24904, 29943, 35789, 27492, 21050, 36176, 27425,
32874, 33905, 22257, 21254, 20174, 19995, 20945, 31895, 37259, 31751,
20419, 36479, 31713, 31388, 25703, 23828, 20652, 33030, 30209, 31929,
28140, 32736, 26449, 23384, [12072, 23544], 30923, 25774, 25619, 25514,
25387, 38169, 25645, 36798, 31572, 30249, 25171, [12068, 22823], 21574,
[12109, 27513], 20643, 25140, 24102, 27526, 20195, 36151, 34955, 24453,
36910, 24608, 32829, 25285, 20025, 21333, 37112, 25528, 32966, 26086,
27694, 20294, 24814, 28129, 35806, 24377, 34507, 24403, 25377, 20826,
33633, 26723, [12049, 20992], 25443, 36424, 20498, 23707, 31095, 23548,
21040, 31291, 24764, 36947, 30423, 24503, 24471, 30340, 36460, 28783,
30331, 31561, 30634, 20979, 37011, 22564, 20302, 28404, 36842, 25932,
31515, 29380, 28068, 32735, 23265, 25269, 24213, 22320, 33922, 31532,
24093, 24351, 36882, 32532, 39072, 25474, 28359, 30872, 28857, 20856,
38747, 22443, 30005, 20291, 30008, 24215, 24806, 22880, 28096, 27583,
30857, 21500, 38613, 20939, 20993, 25481, 21514, 38035, 35843, 36300,
29241, 30879, 34678, 36845, 35853, 21472, 19969, 30447, 21486, 38025,
39030, [12237, 40718], 38189, 23450, 35746, 20002, 19996, 20908, 33891,
25026, 21160, 26635, 20375, 24683, 20923, 27934, 20828, 25238,
[12099, 26007], 38497, [12182, 35910], 36887, 30168, 37117, 30563, 27602,
29322, 29420, 35835, 22581, 30585, 36172, 26460, 38208, 32922, 24230,
28193, 22930, 31471, 30701, 38203, 27573, 26029, 32526, 22534, 20817,
38431, 23545, 22697, 21544, 36466, 25958, 39039, 22244, 38045, 30462,
36929, 25479, 21702, 22810, 22842, 22427, 36530, 26421, 36346, 33333,
21057, 24816, 22549, 34558, 23784, 40517, 20420, 39069, 35769, 23077,
24694, 21380, 25212, 36943, 37122, 39295, 24681, [12157, 32780],
[12041, 20799], [12159, 32819], 23572, 39285, 27953, [12038, 20108], 36144,
21457, 32602, 31567, 20240, 20047, 38400, 27861, 29648, 34281, 24070,
30058, 32763, 27146, 30718, 38034, 32321, 20961, 28902, 21453, 36820,
33539, 36137, 29359, 39277, 27867, 22346, 33459, [12101, 26041], 32938,
25151, 38450, 22952, 20223, 35775, 32442, 25918, 33778, [12206, 38750],
21857, 39134, 32933, 21290, 35837, 21536, 32954, 24223, 27832, 36153,
33452, 37210, 21545, 27675, 20998, 32439, 22367, 28954, 27774, 31881,
22859, 20221, 24575, 24868, 31914, 20016, 23553, 26539, 34562, 23792,
38155, 39118, 30127, 28925, 36898, 20911, 32541, 35773, 22857, 20964,
20315, 21542, 22827, 25975, 32932, 23413, 25206, 25282, 36752, 24133,
27679, 31526, 20239, 20440, 26381, 28014, 28074, 31119, 34993, 24343,
29995, 25242, 36741, 20463, 37340, 26023, 33071, 33105, 24220, 33104,
36212, 21103, 35206, 36171, 22797, 20613, 20184, [12201, 38428],

[12119, 29238], 33145, 36127, 23500, 35747, 38468, 22919, 32538, 21648,
22134, 22030, 35813, 25913, 27010, 38041, 30422, 28297, [12082, 24178],
[12130, 29976], 26438, 26577, 31487, 32925, 36214, 24863, 31174, 25954,
36195, 20872, 21018, 38050, 32568, 32923, 32434, 23703, 28207, 26464,
31705, 30347, [12220, 39640], 33167, 32660, 31957, 25630, 38224, 31295,
21578, 21733, 27468, 25601, [12093, 25096], 40509, 33011, 30105, 21106,
[12208, 38761], 33883, 26684, 34532, 38401, 38548, 38124, 20010, 21508,
32473, 26681, 36319, 32789, 26356, 24218, 32697, 22466, 32831, 26775,
[12079, 24037], 25915, 21151, 24685, 40858, 20379, 36524, 20844, 23467,
[12088, 24339], 24041, 27742, 25329, 36129, 20849, 38057, 21246, 27807,
33503, 29399, 22434, 26500, 36141, 22815, 36764, 33735, 21653, 31629,
20272, 27837, 23396, 22993, [12238, 40723], 21476, 34506, [12219, 39592],
[12181, 35895], 32929, 25925, 39038, 22266, 38599, 21038, [12128, 29916],
21072, 23521, 25346, 35074, 20054, 25296, 24618, 26874, 20851, 23448,
20896, 35266, 31649, 39302, 32592, 24815, 28748, 36143, 20809,
[12084, 24191], 36891, 29808, 35268, 22317, 30789, 24402, 40863, 38394,
36712, [12225, 39740], 35809, 30328, 26690, 26588, 36330, 36149, 21053,
36746, 28378, 26829, 38149, 37101, 22269, 26524, 35065, 36807, 21704,
39608, 23401, 28023, 27686, 20133, 23475, 39559, 37219, 25000, 37039,
38889, 21547, 28085, 23506, 20989, 21898, 32597, 32752, 25788, 25421,
26097, 25022, 24717, 28938, 27735, 27721, 22831, 26477, 33322, 22741,
22158, 35946, 27627, 37085, 22909, 32791, 21495, 28009, 21621, 21917,
33655, 33743, 26680, [12146, 31166], 21644, 20309, 21512, 30418, 35977,
38402, 27827, 28088, 36203, 35088, 40548, 36154, 22079, [12234, 40657],
30165, 24456, 29408, 24680, 21756, 20136, 27178, 34913, 24658, 36720,
21700, 28888, 34425, 40511, 27946, 23439, 24344, 32418, 21897, 20399,
29492, 21564, 21402, 20505, 21518, 21628, 20046, 24573, 29786, 22774,
33899, 32993, 34676, 29392, 31946, 28246, 24359, 34382, 21804, 25252,
20114, 27818, 25143, 33457, 21719, 21326, 29502, 28369, 30011, 21010,
21270, 35805, 27088, 24458, 24576, 28142, 22351, 27426, 29615, 26707,
36824, 32531, 25442, 24739, 21796, 30186, 35938, 28949, 28067, 23462,
24187, 33618, 24908, 40644, 30970, 34647, 31783, 30343, 20976, 24822,
29004, 26179, 24140, 24653, 35854, 28784, 25381, 36745, 24509, 24674,
34516, 22238, 27585, 24724, 24935, 21321, 24800, 26214, 36159, 31229,
20250, 28905, 27719, 35763, 35826, 32472, 33636, 26127, 23130, 39746,
27985, 28151, 35905, 27963, 20249, [12117, 28779], 33719, 25110, 24785,
38669, 36135, 31096, 20987, 22334, 22522, 26426, 30072, 31293, 31215,
31637, 32908, 39269, 36857, 28608, 35749, 40481, 23020, 32489, 32521,
21513, 26497, 26840, 36753, 31821, 38598, 21450, 24613, 30142, 27762,
21363, 23241, 32423, 25380, [12047, 20960], 33034, [12080, 24049], 34015,
25216, 20864, 23395, 20238, 31085, 21058, 24760, 27982, 23492, 23490,
35745, 35760, 26082, 24524, 38469, 22931, 32487, 32426, 22025, 26551,
22841, 20339, 23478, 21152, 33626, 39050, 36158, 30002, 38078, 20551,
31292, 20215, 26550, 39550, 23233, 27516, 30417, 22362, 23574, 31546,
38388, 29006, 20860, 32937, 33392, 22904, 32516, 33575, 26816, 26604,
30897, 30839, 25315, 25441, 31616, 20461, 21098, 20943, 33616, 27099,
37492, 36341, 36145, 35265, 38190, 31661, 20214, 20581, 33328, 21073,
39279, 28176, 28293, 28071, 24314, 20725, 23004, 23558, 27974, 27743,
30086, 33931, 26728, 22870, 35762, 21280, 37233, 38477, 34121, 26898,
30977, 28966, 33014, 20132, 37066, 27975, 39556, 23047, 22204, 25605,
38128, 30699, 20389, 33050, 29409, [12179, 35282], 39290, 32564, 32478,
21119, 25945, 37237, 36735, 36739, 21483, 31382, 25581, 25509, 30342,
31224, 34903, 38454, 25130, 21163, 33410, 26708, 26480, 25463, 30571,
31469, 27905, 32467, 35299, 22992, 25106, 34249, 33445, 30028, 20511,
20171, 30117, 35819, 23626, [12081, 24062], 31563, [12100, 26020],
[12198, 37329], 20170, 27941, 35167, 32039, 38182, 20165, 35880, 36827,
38771, 26187, 31105, 36817, 28908, 28024, 23613, 21170, 33606, 20834,
33550, 30555, 26230, 40120, 20140, 24778, 31934, 31923, 32463, 20117,
35686, 26223, 39048, 38745, 22659, 25964, 38236, 24452, 30153, 38742,
31455, 31454, 20928, 28847, 31384, 25578, 31350, 32416, 29590,

[12210, 38893], 20037, 28792, 20061, 37202, 21417, 25937, 26087,


[12165, 33276], 33285, 21646, 23601, 30106, 38816, 25304, 29401, 30141,
23621, 39545, 33738, 23616, 21632, 30697, 20030, 27822, 32858, 25298,
25454, 24040, 20855, 36317, 36382, 38191, 20465, 21477, 24807, 28844,
21095, 25424, 40515, 23071, 20518, 30519, 21367, 32482, 25733, 25899,
25225, 25496, 20500, 29237, 35273, 20915, 35776, 32477, 22343, 33740,
38055, 20891, 21531, 23803, 20426, 31459, 27994, 37089, 39567, 21888,
21654, 21345, 21679, 24320, 25577, 26999, 20975, 24936, 21002, 22570,
21208, 22350, 30733, 30475, 24247, 24951, 31968, 25179, 25239, 20130,
28821, 32771, 25335, 28900, 38752, 22391, 33499, 26607, 26869, 30933,
39063, 31185, 22771, 21683, 21487, 28212, 20811, 21051, 23458, 35838,
32943, 21827, 22438, 24691, 22353, 21549, 31354, 24656, 23380, 25511,
25248, [12061, 21475], 25187, 23495, 26543, 21741, 31391, 33510, 37239,
24211, 35044, 22840, 22446, 25358, 36328, 33007, 22359, 31607, 20393,
24555, 23485, 27454, 21281, 31568, 29378, 26694, 30719, 30518, 26103,
20917, 20111, 30420, 23743, 31397, 33909, 22862, 39745, 20608, 39304,
24871, 28291, 22372, 26118, 25414, 22256, 25324, 25193, 24275, 38420,
22403, 25289, 21895, 34593, 33098, 36771, 21862, 33713, 26469, 36182,
34013, 23146, 26639, 25318, 31726, 38417, 20848, 28572, 35888, 25597,
35272, 25042, 32518, 28866, 28389, 29701, 27028, 29436, 24266, 37070,
26391, 28010, 25438, 21171, 29282, [12156, 32769], 20332, 23013, 37226,
28889, 28061, 21202, 20048, 38647, 38253, 34174, 30922, 32047, 20769,
22418, 25794, 32907, 31867, 27882, 26865, 26974, 20919, 21400, 26792,
29313, 40654, 31729, 29432, 31163, 28435, 29702, 26446, [12197, 37324],
40100, 31036, 33673, 33620, 21519, 26647, 20029, 21385, 21169, 30782,
21382, 21033, 20616, 20363, 20432, 30178, [12148, 31435], 31890, 27813,
[12202, 38582], [12050, 21147], 29827, 21737, 20457, 32852, 33714, 36830,
38256, 24265, 24604, 28063, 24088, 25947, 33080, 38142, 24651, 28860,
32451, 31918, 20937, 26753, 31921, 33391, 20004, 36742, 37327, 26238,
20142, 35845, 25769, 32842, 20698, 30103, 29134, 23525, 36797, 28518,
20102, 25730, 38243, 24278, 26009, 21015, 35010, 28872, 21155, 29454,
29747, 26519, 30967, 38678, 20020, 37051, 40158, 28107, 20955, 36161,
21533, 25294, 29618, 33777, 38646, 40836, 38083, 20278, 32666, 20940,
28789, 38517, 23725, 39046, 21478, 20196, 28316, 29705, 27060, 30827,
39311, 30041, 21016, 30244, 27969, 26611, 20845, 40857, 32843, 21657,
31548, 31423, 38534, 22404, 25314, 38471, 27004, 23044, 25602, 31699,
28431, 38475, 33446, 21346, 39045, 24208, 28809, 25523, 21348, 34383,
40065, 40595, 30860, 38706, 36335, 36162, [12229, 40575], 28510, 31108,
24405, 38470, 25134, 39540, 21525, 38109, 20387, 26053, 23653, 23649,
32533, 34385, 27695, 24459, 29575, 28388, 32511, 23782, 25371, 23402,
28390, 21365, 20081, 25504, 30053, 25249, 36718, 20262, 20177, 27814,
32438, 35770, 33821, 34746, 32599, 36923, 38179, 31657, 39585, 35064,
33853, 27931, 39558, 32476, 22920, [12231, 40635], 29595, 30721, 34434,
39532, 39554, 22043, 21527, 22475, 20080, 40614, 21334, 36808, 33033,
30610, 39314, 34542, 28385, 34067, 26364, 24930, 28459, 35881, 33426,
33579, 30450, 27667, 24537, 33725, 29483, 33541, 38170, [12113, 27611],
[12141, 30683], 38086, 21359, 33538, 20882, 24125, 35980, 36152, 20040,
29611, 26522, 26757, 37238, 38665, 29028, 27809, 30473, 23186, 38209,
27599, 32654, 26151, 23504, 22969, 23194, 38376, 38391, 20204, 33804,
33945, 27308, 30431, 38192, 29467, 26790, 23391, 30511, 37274, 38753,
31964, 36855, 35868, 24357, [12150, 31859], 31192, 35269, 27852, 34588,
23494, 24130, 26825, 30496, 32501, 20885, 20813, 21193, 23081, 32517,
[12207, 38754], 33495, 25551, 30596, 34256, 31186, 28218, 24217, 22937,
34065, 28781, 27665, 25279, [12139, 30399], 25935, 24751, 38397, 26126,
34719, 40483, 38125, 21517, 21629, 35884, {f: 2, c: 25720}, 34321, 27169,
33180, 30952, 25705, 39764, 25273, 26411, 33707, 22696, 40664, 27819,
28448, 23518, 38476, 35851, 29279, 26576, 25287, 29281, 20137, 22982,
27597, 22675, 26286, 24149, 21215, 24917, [12106, 26408], [12140, 30446],
30566, 29287, 31302, 25343, 21738, 21584, 38048, 37027, 23068, 32435,
27670, 20035, 22902, 32784, 22856, 21335, 30007, 38590, 22218, 25376,

33041, 24700, 38393, 28118, 21602, 39297, 20869, 23273, 33021, 22958,
38675, 20522, 27877, 23612, 25311, 20320, 21311, 33147, 36870, 28346,
34091, 25288, 24180, 30910, 25781, 25467, 24565, 23064, 37247, 40479,
23615, 25423, 32834, 23421, 21870, 38218, 38221, 28037, 24744, 26592,
29406, 20957, 23425, 25319, 27870, [12124, 29275], 25197, 38062, 32445,
33043, 27987, 20892, 24324, 22900, 21162, 24594, [12069, 22899], 26262,
34384, 30111, 25386, 25062, 31983, 35834, 21734, 27431, 40485, 27572,
34261, 21589, 20598, 27812, 21866, 36276, 29228, 24085, 24597, 29750,
25293, 25490, 29260, 24472, 28227, 27966, 25856, 28504, 30424, 30928,
30460, 30036, 21028, 21467, 20051, 24222, 26049, 32810, 32982, 25243,
21638, 21032, 28846, 34957, 36305, 27873, 21624, 32986, 22521, 35060,
36180, 38506, 37197, 20329, 27803, 21943, 30406, 30768, 25256, 28921,
28558, 24429, 34028, 26842, 30844, 31735, 33192, 26379, 40527, 25447,
30896, 22383, 30738, 38713, 25209, 25259, 21128, 29749, 27607, 21860,
33086, 30130, [12138, 30382], 21305, 30174, 20731, 23617, 35692, 31687,
20559, [12122, 29255], 39575, 39128, 28418, 29922, 31080, 25735, 30629,
25340, 39057, 36139, 21697, 32856, 20050, 22378, 33529, 33805, 24179,
20973, 29942, 35780, 23631, 22369, 27900, 39047, 23110, 30772, 39748,
36843, 31893, 21078, 25169, 38138, 20166, 33670, 33889, 33769, 33970,
22484, 26420, 22275, 26222, 28006, 35889, 26333, 28689, 26399, 27450,
26646, 25114, 22971, 19971, 20932, 28422, 26578, 27791, 20854, 26827,
22855, 27495, 30054, 23822, 33040, 40784, 26071, 31048, 31041, 39569,
36215, 23682, 20062, 20225, 21551, 22865, 30732, 22120, [12115, 27668],
36804, 24323, 27773, 27875, 35755, 25488, 24688, 27965, 29301, 25190,
38030, 38085, 21315, 36801, 31614, 20191, 35878, 20094, 40660, 38065,
38067, 21069, 28508, 36963, 27973, 35892, 22545, 23884, [12107, 27424],
27465, 26538, 21595, 33108, 32652, 22681, 34103, 24378, 25250, 27207,
38201, 25970, 24708, 26725, 30631, 20052, 20392, 24039, 38808, 25772,
32728, 23789, 20431, 31373, 20999, 33540, 19988, 24623, 31363, 38054,
20405, 20146, 31206, 29748, 21220, 33465, 25810, 31165, 23517, 27777,
38738, 36731, 27682, 20542, 21375, 28165, 25806, 26228, 27696, 24773,
39031, 35831, 24198, 29756, 31351, 31179, 19992, 37041, 29699, 27714,
22234, 37195, 27845, 36235, 21306, 34502, 26354, 36527, 23624, 39537,
28192, 21462, 23094, 40843, 36259, 21435, 22280, 39079, 26435, 37275,
27849, 20840, 30154, 25331, [12125, 29356], 21048, 21149, 32570, 28820,
30264, 21364, 40522, 27063, 30830, 38592, 35033, 32676, 28982, 29123,
20873, 26579, 29924, 22756, 25880, 22199, 35753, 39286, 25200, 32469,
24825, 28909, 22764, 20161, [12040, 20154], 24525, 38887, 20219, 35748,
20995, 22922, 32427, 25172, 20173, [12103, 26085], 25102, 33592, 33993,
33635, 34701, 29076, 28342, 23481, 32466, 20887, 25545, 26580,
[12161, 32905], 33593, 34837, 20754, 23418, 22914, 36785, 20083, 27741,
[12042, 20837], 35109, 36719, 38446, 34122, 29790, 38160, 38384, 28070,
33509, 24369, 25746, 27922, 33832, 33134, 40131, 22622, 36187, 19977,
21441, 20254, 25955, 26705, 21971, 20007, 25620, 39578, 25195, 23234,
29791, [12170, 33394], 28073, 26862, 20711, 33678, 30722, 26432, 21049,
27801, 32433, 20667, 21861, 29022, 31579, 26194, 29642, 33515, 26441,
[12077, 23665], 21024, 29053, 34923, 38378, 38485, 25797, 36193, 33203,
21892, 27733, 25159, 32558, 22674, 20260, 21830, 36175, 26188, 19978,
23578, 35059, 26786, 25422, 31245, 28903, 33421, 21242, 38902, 23569,
21736, 37045, 32461, 22882, 36170, 34503, [12166, 33292], 33293, 36198,
25668, 23556, 24913, 28041, 31038, 35774, 30775, 30003, 21627, 20280,
[12189, 36523], 28145, 23072, 32453, 31070, 27784, 23457, 23158, 29978,
32958, 24910, 28183, 22768, [12131, 29983], 29989, 29298, 21319, 32499,
30465, 30427, 21097, 32988, 22307, 24072, 22833, 29422, 26045, 28287,
35799, [12075, 23608], 34417, [12055, 21313], [12143, 30707], 25342, 26102,
20160, [12215, 39135], 34432, 23454, 35782, 21490, [12142, 30690], 20351,
23630, 39542, 22987, 24335, [12144, 31034], [12064, 22763], 19990, 26623,
20107, 25325, 35475, 36893, 21183, 26159, 21980, 22124, 36866, 20181,
20365, 37322, 39280, [12114, 27663], 24066, 24643, 23460, 35270, 35797,
25910, [12095, 25163], [12216, 39318], 23432, 23551, 25480, 21806, 21463,

30246, 20861, 34092, 26530, 26803, 27530, 25234, 36755, 21460, 33298,
28113, 30095, 20070, 36174, 23408, 29087, 34223, 26257, 26329, 32626,
34560, [12233, 40653], [12239, 40736], 23646, 26415, 36848, 26641, 26463,
25101, 31446, 22661, 24246, 25968, 28465, 24661, 21047, 32781, 25684,
34928, 29993, 24069, 26643, 25332, 38684, 21452, 29245, 35841,
[12116, 27700], 30561, 31246, 21550, 30636, 39034, 33308, 35828, 30805,
26388, 28865, 26031, 25749, 22070, 24605, 31169, 21496, 19997, 27515,
32902, 23546, 21987, 22235, 20282, 20284, 39282, 24051, 26494, 32824,
24578, 39042, 36865, 23435, 35772, 35829, 25628, 33368, 25822, 22013,
33487, 37221, 20439, 32032, 36895, 31903, 20723, 22609, 28335, 23487,
35785, 32899, 37240, 33948, 31639, 34429, 38539, 38543, 32485, 39635,
30862, 23681, 31319, 36930, 38567, 31071, 23385, 25439, 31499, 34001,
26797, 21766, 32553, 29712, 32034, 38145, 25152, 22604, 20182, 23427,
22905, 22612, 29549, 25374, 36427, 36367, 32974, 33492, 25260, 21488,
27888, 37214, 22826, 24577, 27760, 22349, 25674, 36138, 30251, 28393,
22363, 27264, 30192, 28525, 35885, 35848, 22374, 27631, 34962, 30899,
25506, 21497, 28845, 27748, 22616, 25642, 22530, 26848, 33179, 21776,
31958, 20504, 36538, 28108, 36255, 28907, 25487, 28059, 28372, 32486,
33796, 26691, 36867, 28120, 38518, 35752, 22871, 29305, 34276, 33150,
30140, 35466, 26799, 21076, 36386, 38161, 25552, 39064, 36420, 21884,
20307, 26367, 22159, 24789, 28053, 21059, 23625, 22825, 28155, 22635,
[12133, 30000], 29980, 24684, 33300, 33094, 25361, 26465, 36834, 30522,
36339, 36148, 38081, 24086, 21381, 21548, 28867, 27712, 24311, 20572,
20141, 24237, 25402, 33351, 36890, 26704, 37230, 30643, 21516, 38108,
24420, 31461, 26742, 25413, 31570, 32479, 30171, 20599, 25237, 22836,
36879, 20984, 31171, 31361, 22270, 24466, 36884, 28034, 23648,
[12063, 22303], 21520, 20820, 28237, 22242, 25512, 39059, 33151, 34581,
35114, 36864, 21534, 23663, 33216, 25302, 25176, 33073, 40501, 38464,
39534, 39548, 26925, 22949, 25299, 21822, 25366, 21703, 34521, 27964,
23043, [12129, 29926], 34972, 27498, 22806, 35916, 24367, 28286, 29609,
39037, 20024, 28919, 23436, 30871, 25405, 26202, 30358, 24779, 23451,
23113, 19975, 33109, 27754, 29579, 20129, 26505, [12153, 32593], 24448,
26106, 26395, 24536, 22916, 23041, 24013, 24494, 21361, 38886, 36829,
26693, 22260, 21807, 24799, 20026, 28493, 32500, 33479, 33806, 22996,
20255, 20266, 23614, 32428, 26410, 34074, 21619, 30031, 32963, 21890,
39759, 20301, 28205, 35859, 23561, 24944, 21355, 30239, 28201, 34442,
[12098, 25991], 38395, 32441, 21563, 31283, 32010, 38382, 21985, 32705,
29934, 25373, 34583, 28065, 31389, 25105, 26017, 21351, 25569, 27779,
24043, 21596, 38056, 20044, 27745, 35820, 23627, [12102, 26080], 33436,
26791, 21566, 21556, [12111, 27595], 27494, 20116, 25410, 21320, 33310,
20237, 20398, 22366, 25098, 38654, 26212, 29289, 21247, 21153, 24735,
35823, 26132, 29081, 26512, 35199, 30802, 30717, 26224, 22075, 21560,
38177, 29306, 31232, 24687, 24076, 24713, 33181, [12067, 22805], 24796,
29060, 28911, 28330, 27728, 29312, 27268, 34989, 24109, 20064, 23219,
21916, 38115, 27927, 31995, 38553, 25103, 32454, 30606, 34430, 21283,
38686, 36758, 26247, 23777, 20384, 29421, 19979, 21414, 22799, 21523,
25472, 38184, 20808, 20185, 40092, 32420, 21688, 36132, 34900, 33335,
38386, 28046, 24358, 23244, 26174, 38505, 29616, 29486, 21439, 33146,
39301, 32673, 23466, 38519, 38480, 32447, 30456, 21410, 38262,
[12217, 39321], 31665, 35140, 28248, 20065, 32724, 31077, 35814, 24819,
21709, 20139, 39033, 24055, 27233, 20687, 21521, 35937, 33831, 30813,
38660, 21066, 21742, 22179, 38144, 28040, 23477, 28102, 26195,
[12073, 23567], 23389, 26657, 32918, 21880, 31505, 25928, 26964, 20123,
27463, 34638, 38795, 21327, 25375, 25658, 37034, 26012, 32961, 35856,
20889, 26800, 21368, 34809, 25032, 27844, 27899, 35874, 23633, 34218,
33455, 38156, 27427, [12191, 36763], 26032, 24571, [12092, 24515], 20449,
34885, 26143, 33125, 29481, 24826, 20852, 21009, 22411, 24418, 37026,
[12175, 34892], 37266, 24184, 26447, 24615, 22995, 20804, 20982, 33016,
21256, 27769, 38596, 29066, 20241, 20462, 32670, 26429, 21957, 38152,
31168, 34966, 32483, 22687, 25100, 38656, 34394, 22040, 39035, 24464,

35768, 33988, 37207, 21465, 26093, 24207, 30044, 24676, 32110, 23167,
32490, 32493, 36713, 21927, 23459, 24748, 26059, [12126, 29572], 36873,
30307, 30505, 32474, 38772, 34203, 23398, [12147, 31348], 38634,
[12174, 34880], 21195, 29071, 24490, 26092, 35810, 23547, 39535, 24033,
27529, 27739, 35757, 35759, 36874, 36805, 21387, 25276, 40486, 40493,
21568, 20011, 33469, [12123, 29273], 34460, 23830, 34905, 28079, 38597,
21713, 20122, 35766, 28937, 21693, 38409, 28895, 28153, 30416, 20005,
30740, 34578, 23721, 24310, [12180, 35328], 39068, 38414, 28814, 27839,
22852, 25513, 30524, 34893, 28436, 33395, 22576, 29141, 21388, 30746,
38593, 21761, 24422, 28976, 23476, 35866, 39564, 27523, 22830, 40495,
31207, 26472, 25196, 20335, 30113, [12154, 32650], 27915, 38451, 27687,
20208, 30162, 20859, 26679, 28478, 36992, 33136, 22934, 29814, 25671,
23591, 36965, 31377, 35875, 23002, 21676, 33280, 33647, 35201, 32768,
26928, 22094, 32822, 29239, 37326, 20918, 20063, 39029, 25494, 19994,
21494, 26355, 33099, 22812, 28082, [12032, 19968], 22777, 21307, 25558,
38129, 20381, 20234, [12176, 34915], 39056, 22839, 36951, 31227, 20202,
33008, 30097, 27778, 23452, 23016, 24413, 26885, 34433, 20506, 24050,
[12036, 20057], 30691, 20197, 33402, 25233, 26131, [12194, 37009], 23673,
20159, 24441, 33222, 36920, 32900, 30123, 20134, 35028, 24847, 27589,
24518, 20041, 30410, 28322, 35811, 35758, 35850, 35793, 24322, 32764,
32716, 32462, 33589, 33643, 22240, 27575, [12211, 38899], 38452, 23035,
21535, 38134, 28139, 23493, 39278, 23609, 24341, 38544, 21360, 33521,
27185, 23156, 40560, 24212, 32552, 33721, {f: 2, c: 33828}, 33639, 34631,
36814, 36194, 30408, 24433, 39062, 30828, 26144, 21727, 25317, 20323,
33219, 30152, 24248, 38605, 36362, 34553, 21647, 27891, 28044, 27704,
24703, 21191, [12132, 29992], 24189, 20248, 24736, 24551, 23588, 30001,
37038, 38080, 29369, 27833, 28216, [12195, 37193], 26377, 21451, 21491,
20305, 37321, 35825, [12060, 21448], 24188, 36802, 28132, 20110, 30402,
27014, 34398, 24858, 33286, 20313, 20446, 36926, 40060, 24841, 28189,
28180, 38533, 20104, 23089, [12204, 38632], 19982, 23679, 31161, 23431,
35821, [12155, 32701], [12127, 29577], 22495, 33419, 37057, 21505, 36935,
21947, 23786, 24481, 24840, 27442, 29425, 32946, 35465, 28020, 23507,
35029, 39044, 35947, 39533, 40499, 28170, 20900, 20803, 22435, 34945,
21407, 25588, 36757, 22253, 21592, 22278, 29503, 28304, 32536, 36828,
33489, 24895, 24616, 38498, [12104, 26352], 32422, 36234, 36291, 38053,
23731, 31908, [12105, 26376], 24742, 38405, 32792, 20113, 37095, 21248,
38504, 20801, 36816, 34164, 37213, 26197, 38901, 23381, 21277, 30776,
26434, 26685, 21705, 28798, 23472, 36733, 20877, 22312, 21681, 25874,
26242, 36190, 36163, 33039, 33900, 36973, 31967, 20991, 34299, 26531,
26089, 28577, 34468, 36481, 22122, 36896, 30338, 28790, 29157, 36131,
25321, 21017, 27901, 36156, 24590, 22686, 24974, 26366, 36192, 25166,
21939, 28195, 26413, 36711, 38113, 38392, 30504, 26629, 27048, 21643,
20045, 28856, 35784, 25688, 25995, 23429, 31364, 20538, 23528, 30651,
27617, 35449, 31896, 27838, 30415, 26025, 36759, 23853, 23637, 34360,
26632, 21344, 25112, 31449, 28251, 32509, 27167, 31456, 24432, 28467,
24352, 25484, 28072, 26454, 19976, 24080, 36134, 20183, 32960, 30260,
38556, 25307, 26157, 25214, 27836, 36213, 29031, 32617, 20806, 32903,
21484, 36974, 25240, 21746, 34544, 36761, 32773, 38167, 34071, 36825,
27993, 29645, 26015, 30495, 29956, 30759, 33275, 36126, 38024, 20390,
26517, 30137, 35786, 38663, 25391, 38215, 38453, 33976, 25379, 30529,
24449, 29424, 20105, 24596, 25972, 25327, 27491, 25919, 24103, 30151,
37073, 35777, 33437, 26525, [12096, 25903], 21553, 34584, 30693, 32930,
33026, 27713, 20043, 32455, 32844, 30452, 26893, 27542, 25191, 20540,
20356, 22336, 25351, [12108, 27490], 36286, 21482, 26088, 32440, 24535,
25370, 25527, [12164, 33267], 33268, 32622, 24092, 23769, 21046, 26234,
31209, 31258, 36136, 28825, 30164, 28382, 27835, 31378, 20013, 30405,
24544, 38047, 34935, 32456, 31181, 32959, 37325, 20210, 20247,
[12168, 33311], 21608, 24030, 27954, 35788, 31909, 36724, 32920, 24090,
21650, 30385, 23449, 26172, 39588, 29664, 26666, 34523, 26417, 29482,
35832, 35803, 36880, [12149, 31481], 28891, 29038, 25284, 30633, 22065,

20027, 33879, 26609, 21161, 34496, 36142, 38136, 31569, 20303, 27880,
31069, 39547, 25235, [12118, 29226], 25341, 19987, 30742, 36716, 25776,
36186, 31686, 26729, 24196, 35013, 22918, 25758, 22766, 29366, 26894,
38181, 36861, 36184, 22368, 32512, 35846, 20934, 25417, 25305, 21331,
26700, 29730, 33537, 37196, 21828, 30528, 28796, 27978, 20857, 21672,
36164, 23039, 28363, 28100, 23388, 32043, 20180, 31869, 28371,
[12070, 23376], [12163, 33258], 28173, 23383, 39683, 26837, 36394, 23447,
32508, 24635, 32437, 37049, [12187, 36208], 22863, 25549, 31199,
[12188, 36275], 21330, 26063, 31062, 35781, 38459, 32452, 38075, 32386,
22068, 37257, 26368, 32618, 23562, 36981, 26152, 24038, 20304, 26590,
20570, 20316, 22352, 24231, 20109, 19980, 20800, 19984, 24319, 21317,
19989, 20120, 19998, [12224, 39730], 23404, 22121, [12033, 20008], 31162,
[12035, 20031], [12052, 21269], 20039, 22829, [12120, 29243], 21358, 27664,
22239, 32996, 39319, 27603, 30590, 40727, [12034, 20022], 20127, 40720,
20060, 20073, 20115, 33416, 23387, 21868, 22031, 20164, 21389, 21405,
21411, 21413, 21422, 38757, 36189, [12053, 21274], 21493, 21286, 21294,
21310, 36188, 21350, 21347, 20994, 21000, 21006, 21037, 21043,
{f: 2, c: 21055}, 21068, 21086, 21089, 21084, 33967, 21117, 21122, 21121,
21136, 21139, [12044, 20866], 32596, 20155, 20163, 20169, 20162, 20200,
20193, 20203, 20190, 20251, 20211, 20258, 20324, 20213, 20261, 20263,
20233, 20267, 20318, 20327, 25912, 20314, 20317, 20319, 20311, 20274,
20285, 20342, 20340, 20369, 20361, 20355, 20367, 20350, 20347, 20394,
20348, 20396, 20372, 20454, 20456, 20458, 20421, 20442, 20451, 20444,
20433, 20447, 20472, 20521, 20556, 20467, 20524, 20495, 20526, 20525,
20478, 20508, 20492, 20517, 20520, 20606, 20547, 20565, 20552, 20558,
20588, 20603, 20645, 20647, 20649, 20666, 20694, 20742, 20717, 20716,
20710, 20718, 20743, 20747, 20189, 27709, 20312, 20325, 20430,
[12245, 40864], 27718, 31860, 20846, 24061, 40649, 39320, 20865, 22804,
[12051, 21241], 21261, 35335, 21264, 20971, 22809, 20821, [12039, 20128],
20822, 20147, 34926, 34980, 20149, 33044, 35026, 31104, 23348, 34819,
32696, [12046, 20907], 20913, 20925, 20924, 20935, [12045, 20886], 20898,
20901, 35744, {f: 2, c: 35750}, 35754, {f: 2, c: 35764}, 35767,
{f: 2, c: 35778}, 35787, 35791, 35790, {f: 3, c: 35794}, 35798,
{f: 2, c: 35800}, 35804, {f: 2, c: 35807}, 35812, {f: 2, c: 35816}, 35822,
35824, 35827, 35830, 35833, 35836, {f: 2, c: 35839}, 35842, 35844, 35847,
35852, 35855, {f: 2, c: 35857}, {f: 3, c: 35860}, 35865, 35867, 35864,
35869, {f: 3, c: 35871}, 35877, 35879, {f: 2, c: 35882}, {f: 2, c: 35886},
{f: 2, c: 35890}, {f: 2, c: 35893}, [12057, 21353], 21370, 38429, 38434,
38433, 38449, 38442, 38461, 38460, 38466, 38473, 38484, 38495, 38503,
38508, 38514, 38516, 38536, 38541, 38551, 38576, 37015, 37019, 37021,
37017, 37036, 37025, 37044, 37043, 37046, 37050, 37048, 37040, 37071,
37061, 37054, 37072, 37060, 37063, 37075, 37094, 37090, 37084, 37079,
37083, 37099, 37103, 37118, 37124, 37154, 37150, 37155, 37169, 37167,
37177, 37187, 37190, 21005, 22850, 21154, {f: 2, c: 21164}, 21182, 21759,
21200, 21206, 21232, 21471, 29166, 30669, [12085, 24308], [12048, 20981],
20988, [12223, 39727], [12059, 21430], 24321, 30042, 24047, 22348, 22441,
22433, 22654, 22716, 22725, 22737, 22313, 22316, 22314, 22323, 22329,
{f: 2, c: 22318}, 22364, 22331, 22338, 22377, 22405, 22379, 22406, 22396,
22395, 22376, 22381, 22390, 22387, 22445, 22436, 22412, 22450, 22479,
22439, 22452, 22419, 22432, 22485, 22488, 22490, 22489, 22482, 22456,
22516, 22511, 22520, 22500, 22493, 22539, 22541, 22525, 22509, 22528,
22558, 22553, 22596, 22560, 22629, 22636, 22657, 22665, 22682, 22656,
39336, 40729, 25087, 33401, 33405, 33407, 33423, 33418, 33448, 33412,
33422, 33425, 33431, 33433, 33451, 33464, 33470, 33456, 33480, 33482,
33507, 33432, 33463, 33454, {f: 2, c: 33483}, 33473, 33449, 33460, 33441,
33450, 33439, 33476, 33486, 33444, 33505, 33545, 33527, 33508, 33551,
33543, 33500, 33524, 33490, 33496, 33548, 33531, 33491, 33553, 33562,
33542, {f: 2, c: 33556}, 33504, 33493, 33564, 33617, {f: 2, c: 33627},
33544, 33682, 33596, 33588, 33585, 33691, 33630, 33583, 33615, 33607,
33603, 33631, 33600, 33559, 33632, 33581, 33594, 33587, 33638, 33637,

33640, 33563, 33641, 33644, 33642, {f: 2, c: 33645}, 33712, 33656,


{f: 2, c: 33715}, 33696, 33706, 33683, 33692, 33669, 33660, 33718, 33705,
33661, 33720, 33659, 33688, 33694, 33704, 33722, 33724, 33729, 33793,
33765, 33752, 22535, 33816, 33803, 33757, 33789, 33750, 33820, 33848,
33809, 33798, 33748, 33759, 33807, 33795, {f: 2, c: 33784}, 33770, 33733,
33728, 33830, 33776, 33761, 33884, 33873, 33882, 33881, 33907,
{f: 2, c: 33927}, 33914, 33929, 33912, 33852, 33862, 33897, 33910, 33932,
33934, 33841, 33901, 33985, 33997, 34000, 34022, 33981, 34003, 33994,
33983, 33978, 34016, 33953, 33977, 33972, 33943, 34021, 34019, 34060,
29965, 34104, 34032, 34105, 34079, 34106, 34134, 34107, 34047, 34044,
34137, 34120, 34152, 34148, 34142, 34170, 30626, 34115, 34162, 34171,
34212, 34216, 34183, 34191, 34169, 34222, 34204, 34181, 34233, 34231,
34224, 34259, 34241, 34268, 34303, 34343, 34309, 34345, 34326, 34364,
[12086, 24318], 24328, 22844, 22849, 32823, 22869, 22874, 22872, 21263,
[12074, 23586], 23589, 23596, 23604, 25164, 25194, 25247, 25275, 25290,
25306, 25303, 25326, 25378, 25334, 25401, 25419, 25411, 25517, 25590,
25457, 25466, 25486, 25524, 25453, 25516, 25482, 25449, 25518, 25532,
25586, 25592, 25568, 25599, 25540, 25566, 25550, 25682, 25542, 25534,
25669, 25665, 25611, 25627, 25632, 25612, 25638, 25633, 25694, 25732,
25709, 25750, 25722, {f: 2, c: 25783}, 25753, 25786, 25792, 25808, 25815,
25828, 25826, 25865, 25893, 25902, [12087, 24331], 24530, 29977, 24337,
21343, 21489, 21501, 21481, 21480, 21499, 21522, 21526, 21510, 21579,
{f: 3, c: 21586}, 21590, 21571, 21537, 21591, 21593, 21539, 21554, 21634,
21652, 21623, 21617, 21604, {f: 2, c: 21658}, 21636, 21622, 21606, 21661,
21712, 21677, 21698, 21684, 21714, 21671, 21670, {f: 2, c: 21715}, 21618,
21667, 21717, 21691, 21695, 21708, {f: 2, c: 21721}, 21724,
{f: 2, c: 21673}, 21668, 21725, 21711, 21726, 21787, 21735, 21792, 21757,
21780, 21747, {f: 2, c: 21794}, 21775, 21777, 21799, 21802, 21863, 21903,
21941, 21833, 21869, 21825, 21845, 21823, 21840, 21820, 21815, 21846,
{f: 3, c: 21877}, 21811, 21808, 21852, 21899, 21970, 21891, 21937, 21945,
21896, 21889, 21919, 21886, 21974, 21905, 21883, 21983, {f: 2, c: 21949},
21908, 21913, 21994, 22007, 21961, 22047, 21969, {f: 2, c: 21995}, 21972,
21990, 21981, 21956, 21999, 21989, {f: 2, c: 22002}, {f: 2, c: 21964},
21992, 22005, 21988, 36756, 22046, 22024, 22028, 22017, 22052, 22051,
22014, 22016, 22055, 22061, 22104, 22073, 22103, 22060, 22093, 22114,
22105, 22108, 22092, 22100, 22150, 22116, 22129, 22123, {f: 2, c: 22139},
22149, 22163, 22191, 22228, [12062, 22231], 22237, 22241, 22261, 22251,
22265, 22271, 22276, 22282, 22281, 22300, 24079, 24089, 24084, 24081,
24113, {f: 2, c: 24123}, 24119, 24132, 24148, 24155, 24158, 24161, 23692,
23674, 23693, 23696, 23702, 23688, {f: 2, c: 23704}, 23697, 23706, 23708,
23733, 23714, 23741, 23724, 23723, 23729, 23715, 23745, 23735, 23748,
23762, 23780, 23755, 23781, {f: 2, c: 23810}, 23847, 23846, 23854, 23844,
23838, 23814, 23835, 23896, 23870, 23860, 23869, 23916, 23899, 23919,
23901, 23915, 23883, 23882, 23913, 23924, 23938, 23961, 23965, 35955,
23991, 24005, [12091, 24435], 24439, 24450, 24455, 24457, 24460, 24469,
24473, 24476, 24488, 24493, 24501, 24508, 34914, [12090, 24417], 29357,
29360, 29364, {f: 2, c: 29367}, 29379, 29377, 29390, 29389, 29394, 29416,
29423, 29417, 29426, 29428, 29431, 29441, 29427, 29443, {f: 2, c: 29434},
29463, 29459, 29473, 29450, 29470, 29469, 29461, 29474, 29497, 29477,
29484, 29496, 29489, 29520, 29517, 29527, 29536, 29548, 29551, 29566,
[12167, 33307], 22821, 39143, 22820, [12065, 22786], 39267,
{f: 6, c: 39271}, 39284, 39287, 39293, 39296, 39300, 39303, 39306, 39309,
{f: 2, c: 39312}, {f: 3, c: 39315}, 24192, 24209, 24203, 24214, 24229,
24224, 24249, 24245, 24254, 24243, 36179, 24274, 24273, 24283, 24296,
24298, 33210, 24516, 24521, 24534, 24527, 24579, 24558, 24580, 24545,
24548, 24574, {f: 2, c: 24581}, 24554, 24557, 24568, 24601, 24629, 24614,
24603, 24591, 24589, 24617, 24619, 24586, 24639, 24609, {f: 2, c: 24696},
24699, 24698, 24642, 24682, 24701, 24726, 24730, 24749, 24733, 24707,
24722, 24716, 24731, 24812, 24763, 24753, 24797, 24792, 24774, 24794,
24756, 24864, 24870, 24853, 24867, 24820, 24832, 24846, 24875, 24906,

24949, 25004, 24980, 24999, 25015, 25044, 25077, 24541, 38579, 38377,
38379, 38385, 38387, {f: 2, c: 38389}, 38396, 38398, {f: 2, c: 38403},
38406, 38408, {f: 4, c: 38410}, 38415, 38418, {f: 3, c: 38421},
{f: 2, c: 38425}, 20012, [12121, 29247], 25109, 27701, 27732, 27740, 27722,
27811, 27781, 27792, 27796, 27788, {f: 2, c: 27752}, 27764, 27766, 27782,
27817, 27856, 27860, 27821, {f: 2, c: 27895}, 27889, 27863, 27826, 27872,
27862, 27898, 27883, 27886, 27825, 27859, 27887, 27902, 27961, 27943,
27916, 27971, 27976, 27911, 27908, 27929, 27918, 27947, 27981, 27950,
27957, 27930, 27983, 27986, 27988, 27955, 28049, 28015, 28062, 28064,
27998, {f: 2, c: 28051}, 27996, 28000, 28028, 28003, 28186, 28103, 28101,
28126, 28174, 28095, 28128, 28177, 28134, 28125, 28121, 28182, 28075,
28172, 28078, 28203, 28270, 28238, 28267, 28338, 28255, 28294,
{f: 2, c: 28243}, 28210, 28197, 28228, 28383, 28337, 28312, 28384, 28461,
28386, 28325, 28327, 28349, 28347, 28343, 28375, 28340, 28367, 28303,
28354, 28319, 28514, {f: 2, c: 28486}, 28452, 28437, 28409, 28463, 28470,
28491, 28532, 28458, 28425, 28457, 28553, 28557, 28556, 28536, 28530,
28540, 28538, 28625, 28617, 28583, 28601, 28598, 28610, 28641, 28654,
28638, 28640, 28655, 28698, 28707, 28699, 28729, 28725, 28751, 28766,
[12071, 23424], 23428, 23445, 23443, 23461, 23480, 29999, 39582, 25652,
23524, 23534, 35120, 23536, 36423, 35591, 36790, 36819, 36821, 36837,
36846, 36836, 36841, 36838, 36851, 36840, 36869, 36868, 36875, 36902,
36881, 36877, 36886, 36897, {f: 2, c: 36917}, 36909, 36911, 36932,
{f: 2, c: 36945}, 36944, 36968, 36952, 36962, 36955, 26297, 36980, 36989,
36994, 37000, 36995, 37003, [12089, 24400], 24407, 24406, 24408, 23611,
21675, 23632, 23641, 23409, 23651, 23654, 32700, 24362, 24361, 24365,
33396, 24380, 39739, [12076, 23662], 22913, 22915, 22925, {f: 2, c: 22953},
22947, 22935, 22986, 22955, 22942, 22948, 22994, 22962, 22959, 22999,
22974, {f: 2, c: 23045}, 23005, 23048, 23011, 23000, 23033, 23052, 23049,
23090, 23092, 23057, 23075, 23059, 23104, 23143, 23114, 23125, 23100,
23138, 23157, 33004, 23210, 23195, 23159, 23162, 23230, 23275, 23218,
23250, 23252, 23224, 23264, 23267, 23281, 23254, 23270, 23256, 23260,
23305, 23319, 23318, 23346, 23351, 23360, 23573, 23580, 23386, 23397,
23411, 23377, 23379, 23394, 39541, {f: 2, c: 39543}, 39546, 39551, 39549,
{f: 2, c: 39552}, 39557, 39560, 39562, 39568, {f: 2, c: 39570}, 39574,
39576, {f: 3, c: 39579}, {f: 2, c: 39583}, {f: 2, c: 39586}, 39589, 39591,
32415, 32417, 32419, 32421, {f: 2, c: 32424}, 32429, 32432, 32446,
{f: 3, c: 32448}, 32457, {f: 2, c: 32459}, 32464, 32468, 32471, 32475,
{f: 2, c: 32480}, 32488, 32491, {f: 2, c: 32494}, {f: 2, c: 32497}, 32525,
32502, {f: 2, c: 32506}, 32510, {f: 3, c: 32513}, {f: 2, c: 32519},
{f: 2, c: 32523}, 32527, {f: 2, c: 32529}, 32535, 32537, 32540, 32539,
32543, {f: 7, c: 32545}, {f: 4, c: 32554}, {f: 5, c: 32559}, 32565,
[12083, 24186], 30079, [12078, 24027], 30014, 37013, 29582, 29585, 29614,
29602, 29599, 29647, 29634, 29649, 29623, 29619, 29632, 29641, 29640,
29669, 29657, 39036, 29706, 29673, 29671, 29662, 29626, 29682, 29711,
29738, 29787, 29734, 29733, 29736, 29744, 29742, 29740, 29723, 29722,
29761, 29788, 29783, 29781, 29785, 29815, 29805, 29822, 29852, 29838,
{f: 2, c: 29824}, 29831, 29835, 29854, {f: 2, c: 29864}, 29840, 29863,
29906, 29882, {f: 3, c: 38890}, 26444, 26451, 26462, 26440, 26473, 26533,
26503, 26474, 26483, 26520, 26535, 26485, 26536, 26526, 26541, 26507,
26487, 26492, 26608, 26633, 26584, 26634, 26601, 26544, 26636, 26585,
26549, 26586, 26547, 26589, 26624, 26563, 26552, 26594, 26638, 26561,
26621, {f: 2, c: 26674}, {f: 2, c: 26720}, 26702, 26722, 26692, 26724,
26755, 26653, 26709, 26726, 26689, 26727, 26688, 26686, 26698, 26697,
26665, 26805, 26767, 26740, 26743, 26771, 26731, 26818, 26990, 26876,
{f: 2, c: 26911}, 26873, 26916, 26864, 26891, 26881, 26967, 26851, 26896,
26993, 26937, 26976, 26946, 26973, 27012, 26987, 27008, 27032, 27000,
26932, 27084, {f: 2, c: 27015}, 27086, 27017, 26982, 26979, 27001, 27035,
27047, 27067, 27051, 27053, 27092, 27057, 27073, 27082, 27103, 27029,
27104, 27021, 27135, 27183, 27117, {f: 2, c: 27159}, 27237, 27122, 27204,
27198, 27296, 27216, 27227, 27189, 27278, 27257, 27197, 27176, 27224,

27260, 27281, 27280, 27305, 27287, 27307, 29495, 29522, {f: 2, c: 27521},
27527, 27524, {f: 2, c: 27538}, 27533, {f: 2, c: 27546}, 27553, 27562,
36715, 36717, {f: 3, c: 36721}, {f: 2, c: 36725}, 36728, 36727,
{f: 2, c: 36729}, 36732, 36734, {f: 2, c: 36737}, 36740, 36743, 36747,
{f: 3, c: 36749}, 36760, 36762, 36558, 25099, 25111, 25115, 25119, 25122,
25121, 25125, 25124, 25132, 33255, 29935, 29940, 29951, 29967, 29969,
29971, [12097, 25908], {f: 3, c: 26094}, 26122, 26137, 26482, 26115, 26133,
26112, 28805, 26359, 26141, 26164, 26161, 26166, 26165, 32774, 26207,
26196, 26177, 26191, 26198, 26209, 26199, 26231, 26244, 26252, 26279,
26269, 26302, {f: 2, c: 26331}, 26342, 26345, {f: 2, c: 36146}, 36150,
36155, 36157, 36160, {f: 2, c: 36165}, {f: 2, c: 36168}, 36167, 36173,
36181, 36185, 35271, {f: 3, c: 35274}, {f: 4, c: 35278}, 29294, 29343,
29277, 29286, 29295, {f: 2, c: 29310}, 29316, 29323, 29325, 29327, 29330,
25352, 25394, 25520, 25663, 25816, 32772, 27626, 27635, 27645, 27637,
27641, 27653, 27655, 27654, 27661, 27669, {f: 3, c: 27672}, 27681, 27689,
27684, 27690, 27698, 25909, 25941, 25963, 29261, 29266, 29270, 29232,
34402, 21014, 32927, 32924, 32915, 32956, 26378, 32957, 32945, 32939,
32941, 32948, 32951, {f: 4, c: 32999}, 32987, 32962, 32964, 32985, 32973,
32983, 26384, 32989, 33003, 33009, 33012, 33005, {f: 2, c: 33037}, 33010,
33020, 26389, 33042, 35930, 33078, 33054, 33068, 33048, 33074, 33096,
33100, 33107, 33140, {f: 2, c: 33113}, 33137, 33120, 33129,
{f: 2, c: 33148}, 33133, 33127, 22605, 23221, 33160, 33154, 33169, 28373,
33187, 33194, 33228, 26406, 33226, 33211, 33217, 33190, 27428, 27447,
27449, 27459, 27462, 27481, {f: 3, c: 39121}, 39125, {f: 2, c: 39129},
[12110, 27571], 24384, 27586, 35315, 26000, 40785, 26003, 26044, 26054,
26052, 26051, 26060, 26062, 26066, 26070, 28800, 28828, 28822, 28829,
28859, 28864, 28855, 28843, 28849, 28904, 28874, 28944, 28947, 28950,
28975, 28977, 29043, 29020, 29032, 28997, 29042, 29002, 29048, 29050,
29080, 29107, 29109, 29096, 29088, 29152, 29140, 29159, 29177, 29213,
29224, 28780, 28952, 29030, 29113, 25150, 25149, 25155, {f: 2, c: 25160},
31035, 31040, 31046, 31049, {f: 2, c: 31067}, 31059, 31066, 31074, 31063,
31072, 31087, 31079, 31098, 31109, 31114, 31130, 31143, 31155, 24529,
24528, 24636, 24669, 24666, 24679, 24641, 24665, 24675, 24747, 24838,
24845, 24925, 25001, 24989, 25035, 25041, 25094, 32896, [12160, 32895],
27795, 27894, 28156, 30710, 30712, 30720, 30729, {f: 2, c: 30743}, 30737,
26027, 30765, {f: 2, c: 30748}, {f: 3, c: 30777}, 30751, 30780, 30757,
30764, 30755, 30761, 30798, 30829, {f: 2, c: 30806}, 30758, 30800, 30791,
30796, 30826, 30875, 30867, 30874, 30855, 30876, 30881, 30883, 30898,
30905, 30885, 30932, 30937, 30921, 30956, 30962, 30981, 30964, 30995,
31012, 31006, 31028, 40859, [12235, 40697], {f: 2, c: 40699}, 30449, 30468,
30477, 30457, {f: 2, c: 30471}, 30490, 30498, 30489, 30509, 30502, 30517,
30520, {f: 2, c: 30544}, 30535, 30531, 30554, 30568, 30562, 30565, 30591,
30605, 30589, 30592, 30604, 30609, {f: 2, c: 30623}, 30640, 30645, 30653,
30010, 30016, 30030, 30027, 30024, 30043, 30066, 30073, 30083, 32600,
32609, 32607, 35400, 32616, 32628, 32625, 32633, 32641, 32638, 30413,
30437, 34866, {f: 3, c: 38021}, 38027, 38026, {f: 2, c: 38028},
{f: 2, c: 38031}, 38036, 38039, 38037, {f: 3, c: 38042}, {f: 2, c: 38051},
38059, 38058, 38061, 38060, {f: 2, c: 38063}, 38066, 38068,
{f: 5, c: 38070}, {f: 2, c: 38076}, 38079, 38084, {f: 7, c: 38088},
{f: 3, c: 38096}, {f: 3, c: 38101}, 38105, 38104, 38107, {f: 3, c: 38110},
38114, {f: 2, c: 38116}, {f: 2, c: 38119}, 38122, 38121, 38123,
{f: 2, c: 38126}, {f: 3, c: 38131}, 38135, 38137, {f: 2, c: 38140}, 38143,
38147, 38146, {f: 2, c: 38150}, {f: 2, c: 38153}, {f: 3, c: 38157},
{f: 5, c: 38162}, 38168, 38171, {f: 3, c: 38173}, 38178, {f: 2, c: 38186},
38185, 38188, {f: 2, c: 38193}, 38196, {f: 3, c: 38198}, 38204,
{f: 2, c: 38206}, 38210, 38197, {f: 3, c: 38212}, 38217, 38220,
{f: 2, c: 38222}, {f: 3, c: 38226}, {f: 4, c: 38230}, 38235,
{f: 2, c: 38238}, 38237, {f: 2, c: 38241}, {f: 9, c: 38244}, 38255,
{f: 3, c: 38257}, 38202, 30695, 30700, 38601, 31189, 31213, 31203, 31211,
31238, 23879, 31235, 31234, 31262, 31252, 31289, 31287, 31313, 40655,

39333, 31344, 30344, 30350, 30355, 30361, 30372, 29918, 29920, 29996,
40480, 40482, {f: 5, c: 40488}, 40498, 40497, 40502, 40504, 40503,
{f: 2, c: 40505}, 40510, {f: 2, c: 40513}, 40516, {f: 4, c: 40518},
{f: 2, c: 40523}, 40526, 40529, 40533, 40535, {f: 3, c: 40538}, 40542,
40547, {f: 7, c: 40550}, 40561, 40557, 40563, [12135, 30098], 30100, 30102,
30112, 30109, 30124, 30115, {f: 2, c: 30131}, 30136, 30148, 30129, 30128,
30147, 30146, 30166, 30157, 30179, 30184, 30182, 30180, 30187, 30183,
30211, 30193, 30204, 30207, 30224, 30208, 30213, 30220, 30231, 30218,
30245, 30232, 30229, 30233, 30235, 30268, 30242, 30240, 30272, 30253,
30256, 30271, 30261, 30275, 30270, 30259, 30285, 30302, 30292, 30300,
30294, 30315, 30319, 32714, 31462, {f: 2, c: 31352}, 31360, 31366, 31368,
31381, 31398, 31392, 31404, 31400, 31405, 31411, 34916, 34921, 34930,
34941, 34943, 34946, 34978, 35014, 34999, 35004, 35017, 35042, 35022,
35043, 35045, 35057, 35098, 35068, 35048, 35070, 35056, 35105, 35097,
35091, 35099, 35082, 35124, 35115, 35126, 35137, 35174, 35195,
[12134, 30091], 32997, 30386, 30388, 30684, [12158, 32786], 32788, 32790,
32796, 32800, 32802, {f: 3, c: 32805}, 32809, 32808, 32817, 32779, 32821,
32835, 32838, 32845, 32850, 32873, 32881, 35203, 39032, 39040, 39043,
39049, {f: 2, c: 39052}, 39055, 39060, {f: 2, c: 39066}, {f: 2, c: 39070},
{f: 2, c: 39073}, {f: 2, c: 39077}, [12172, 34381], 34388, 34412, 34414,
34431, 34426, 34428, 34427, 34472, 34445, 34443, 34476, 34461, 34471,
34467, 34474, 34451, 34473, 34486, 34500, 34485, 34510, 34480, 34490,
34481, 34479, 34505, 34511, 34484, 34537, {f: 2, c: 34545}, 34541, 34547,
34512, 34579, 34526, 34548, 34527, 34520, 34513, 34563, 34567, 34552,
34568, 34570, 34573, 34569, 34595, 34619, 34590, 34597, 34606, 34586,
34622, 34632, 34612, 34609, 34601, 34615, 34623, 34690, 34594,
{f: 2, c: 34685}, 34683, 34656, 34672, 34636, 34670, 34699, 34643, 34659,
34684, 34660, 34649, 34661, 34707, 34735, 34728, 34770, 34758, 34696,
34693, 34733, 34711, 34691, 34731, 34789, 34732, 34741, 34739, 34763,
34771, 34749, 34769, 34752, 34762, 34779, 34794, 34784, 34798, 34838,
34835, 34814, 34826, 34843, 34849, 34873, 34876, [12152, 32566], 32578,
{f: 2, c: 32580}, 33296, 31482, 31485, 31496, {f: 2, c: 31491}, 31509,
31498, 31531, 31503, 31559, 31544, 31530, 31513, 31534, 31537, 31520,
31525, 31524, 31539, 31550, 31518, 31576, 31578, 31557, 31605, 31564,
31581, 31584, 31598, 31611, 31586, 31602, 31601, 31632, {f: 2, c: 31654},
31672, 31660, 31645, 31656, 31621, 31658, 31644, 31650, 31659, 31668,
31697, 31681, 31692, 31709, 31706, {f: 2, c: 31717}, 31722, 31756, 31742,
31740, 31759, 31766, 31755, 31775, 31786, 31782, 31800, 31809, 31808,
33278, {f: 2, c: 33281}, 33284, 33260, 34884, {f: 3, c: 33313}, 33325,
33327, 33320, 33323, 33336, 33339, {f: 2, c: 33331}, 33342, 33348, 33353,
33355, 33359, 33370, 33375, 33384, 34942, 34949, 34952, 35032, 35039,
35166, 32669, 32671, 32679, {f: 2, c: 32687}, 32690, 31868, 25929, 31889,
31901, 31900, 31902, 31906, 31922, {f: 2, c: 31932}, 31937, 31943,
{f: 2, c: 31948}, 31944, 31941, 31959, 31976, [12169, 33390], 26280, 32703,
32718, 32725, 32741, 32737, 32742, 32745, 32750, 32755, [12151, 31992],
32119, 32166, 32174, 32327, 32411, 40632, 40628, 36211, 36228, 36244,
36241, 36273, 36199, 36205, 35911, 35913, 37194, 37200, {f: 2, c: 37198},
37220, 37218, 37217, 37232, 37225, 37231, {f: 2, c: 37245}, 37234, 37236,
37241, 37260, 37253, 37264, 37261, 37265, {f: 2, c: 37282}, 37290,
{f: 3, c: 37293}, 37301, 37300, 37306, [12183, 35925], 40574, 36280, 36331,
36357, 36441, 36457, 36277, 36287, 36284, 36282, 36292, {f: 2, c: 36310},
36314, 36318, {f: 2, c: 36302}, 36315, 36294, 36332, {f: 2, c: 36343},
36323, 36345, 36347, 36324, 36361, 36349, 36372, 36381, 36383, 36396,
36398, 36387, 36399, 36410, 36416, 36409, 36405, 36413, 36401, 36425,
{f: 2, c: 36417}, {f: 2, c: 36433}, 36426, 36464, 36470, 36476, 36463,
36468, 36485, 36495, 36500, 36496, 36508, 36510, [12184, 35960], 35970,
35978, 35973, 35992, 35988, 26011, 35286, 35294, 35290, 35292, 35301,
35307, 35311, 35390, 35622, 38739, 38633, 38643, 38639, 38662, 38657,
38664, 38671, 38670, 38698, 38701, 38704, 38718, 40832, 40835,
{f: 6, c: 40837}, 40844, 40702, 40715, 40717, [12203, 38585],

{f: 2, c: 38588}, 38606, 38610, 30655, 38624, 37518, 37550, 37576, 37694,
37738, 37834, 37775, 37950, 37995, 40063, 40066, {f: 4, c: 40069}, 31267,
40075, 40078, {f: 3, c: 40080}, {f: 2, c: 40084}, {f: 2, c: 40090},
{f: 6, c: 40094}, {f: 5, c: 40101}, 40107, {f: 2, c: 40109},
{f: 8, c: 40112}, {f: 4, c: 40122}, {f: 4, c: 40132}, {f: 7, c: 40138},
{f: 3, c: 40147}, {f: 3, c: 40151}, {f: 2, c: 40156}, 40159, 40162, 38780,
38789, {f: 2, c: 38801}, 38804, 38831, 38827, 38819, 38834, 38836, 39601,
39600, 39607, 40536, 39606, 39610, 39612, 39617, 39616, 39621, 39618,
{f: 2, c: 39627}, 39633, 39749, 39747, 39751, 39753, 39752, 39757, 39761,
39144, 39181, 39214, 39253, 39252, [12221, 39647], 39649, 39654, 39663,
39659, 39675, 39661, 39673, 39688, 39695, 39699, 39711, 39715,
{f: 2, c: 40637}, 32315, 40578, {f: 2, c: 40583}, 40587, 40594, 37846,
40605, 40607, {f: 3, c: 40667}, 40672, 40671, 40674, 40681, 40679, 40677,
40682, 40687, 40738, 40748, 40751, 40761, 40759, {f: 2, c: 40765}, 40772,
12295, {s: 13}, 30362, 34297, 31001, 24859, 39599, 35158, 22761, 32631,
25850, 25943, 38930, 36774, 32070, 24171, 32129, 37770, 35607, 39165,
23542, 22577, 39825, 36649, [12185, 35997], 37575, 29437, 20633, 24970,
32179, 31558, 30050, 25987, 24163, 38281, 37002, 32232, 36022, 35722,
36783, 36782, 27161, 40009, 30303, 28693, 28657, 36051, 25839, 39173,
25765, 37474, 37457, 39361, 35036, 36001, 21443, 34870, 27544, 24922,
24920, 29158, 33980, 33369, 20489, 28356, 21408, 20596, 28204, 23652,
35435, 25881, 25723, 34796, 39262, 35730, 32399, 37855, 29987, 38369,
39019, 22580, 22039, [12199, 38263], 20767, 33144, 24288, 26274, 37396,
[12190, 36554], 24505, 22645, 38515, 35183, 31281, 25074, 35488, 39425,
36978, 39347, [12242, 40786], 29118, 34909, 34802, 23541, 30087, 36490,
31820, 32162, 37276, 37604, 38619, 30990, 20786, 35320, 34389, 20659,
30241, 38358, 21109, 37656, 32020, 32189, 36781, 35422, 36060, 32880,
24478, 21474, 36517, 31428, 37679, 36948, 24118, 36024, 25812, 21934,
37170, 25763, 33213, 24986, 35477, 24392, 30070, 25803, 40680, 34153,
27284, 25623, 23798, 31153, 23566, 29128, 37159, 25973, 28364, 36958,
32224, 39003, 40670, 22666, 38651, 28593, 37347, 35519, 35548, 37336,
38914, 37664, 35330, 26481, 21205, 26847, 20941, [12222, 39717], 29346,
29544, 35712, 36077, 37709, 37723, 26039, 32222, 38538, 23565, 22136,
38931, 37389, 22890, 22702, 40285, 38989, 35355, 24801, 39187, 20818,
29246, 39180, 36019, 30332, 32624, 38309, 31020, 37353, 29033, 31684,
36009, 39151, 35370, 32033, [12214, 39131], 35513, 24290, 36027, 32027,
22707, 22894, 24996, 31966, 35920, 26963, 37586, [12213, 39080], 30219,
39342, 32299, 35575, 40179, 33178, 36667, 25771, 36628, 36070, 24489,
36000, 35331, 23142, 32283, 35442, 37411, 33995, 24185, 36245, 36123,
23713, 21083, 37628, 32177, 23831, 37804, 25841, 40255, 38307, 37499,
20491, 32102, 40852, 38799, 36002, 37390, 28317, 27083, 36092, 34865,
39015, 21102, 38364, 35264, 39208, 24931, 36011, 24291, 35215, 27512,
[12244, 40860], 38312, 36556, 35437, 27331, 36020, 21130, 36645, 37707,
22283, 36942, 39405, 38867, 28450, 34399, 38305, 40372, 36032, 36703,
40251, 32005, 22778, 35703, 28396, 22057, 33775, 30059, 21123, 35441,
25079, 22750, 27489, 29872, 36996, 32233, 35594, 25582, 36637, 36036,
31330, 26371, 29172, 21295, 35569, 35496, 32362, 33911, 28222, 29554,
36008, 31117, 25802, 27231, 31309, 39249, 35663, 40388, 32318, 32221,
26997, 36655, 32026, 25824, 24190, 34186, 21137, 28639, 35336, 35352,
38555, 32380, 32000, 22846, 33698, 38960, 36040, 37440, 20729, 39381,
27570, 30435, 22533, 31627, 38291, 33393, 32216, 32365, 27298, 40572,
25536, 25791, 31777, 20745, 34214, 27323, 37970, 36368, 36068,
[12178, 35211], 37749, 33382, 21133, 39198, 28472, 28666, 28567, 23559,
28479, 34083, 27123, 22892, 35611, 37292, 33184, 28550, 39509, 23308,
25898, 37496, 30703, 20709, 39171, 32371, 32094, 36686, 36611, 38542,
31680, 28500, 32080, 35489, 32202, 37670, 20677, 35641, 36914, 29180,
30433, 21185, 33686, 39912, 39514, 32147, 38968, 37857, 24465, 30169,
31478, 31998, 33290, 39378, 33289, 25818, 37624, 25084, 21127, 40273,
32121, 35258, 35363, 32118, 37406, 36557, 39423, 38283, 20977, 38982,
27579, 35506, 22718, 25031, 25715, 24235, 35122, 35463, 22602, 20744,

23532, 31014, 26336, 34407, 24011, 31418, 39243, 28528, 25844, 38346,
34847, 33240, 33802, 20358, 36084, 34253, 27396, 25876, 31811, 38348,
34349, 28734, 35733, 25900, 35261, 25078, 32412, 29211, 28651, 25736,
21214, 28551, 27138, 37939, 22744, 39006, 31852, 38626, 28757, 35023,
39881, 31150, 40599, 21426, 21237, 31019, 27511, 28701, 38584, 20486,
32879, 34030, 36899, 37934, 24976, 28451, 31806, 25986, 33225, 37832,
25088, 29001, 32244, 31975, 20841, 36635, 35538, 30274, 36988, 37904,
29557, 33256, 37168, 40023, 36035, 40801, 37428, 38728, 23994, 38936,
39230, 21129, [12243, 40845], 32894, 22184, 31840, 22751, 25871, 38580,
27155, 23105, 25695, 31757, 34310, 30439, 39025, 24300, 29200, 25796,
28407, 34396, 39791, 36034, 37682, 38520, 39522, 37569, 23650, 32311,
24942, 28670, 32209, 24018, 25891, 23423, 28772, 20098, 25476, 36650,
20523, 20374, 28138, 32184, 35542, 34367, 32645, 37007, 38012, 31854,
39486, 39409, 32097, 23229, 29802, 30908, 34718, [12218, 39340], 39393,
21966, 36023, [12230, 40613], 36067, 36993, 30622, 39237, 34875, 28415,
35646, 37672, 37466, 36031, 37762, [12200, 38272], 24758, 20497, 37683,
22818, 35598, 24396, 35219, 32191, 32236, 24287, 28357, 25003, 38313,
40180, 37528, 35628, 35584, 30045, 37385, 32013, 38627, 25747, 33126,
24817, 39719, 39186, 25836, 33193, 25862, 37312, [12227, 40165], 32886,
22169, 38007, 37811, 27320, 29552, 23527, 25840, 28632, 37397, 32016,
33215, 28611, 36786, 30247, 35582, 27472, 40407, 27590, 22036, 28442,
30436, 40848, 36064, 22132, 40300, 39449, 39108, 38971, 36007, 34315,
24977, 35413, 28497, 38935, 25778, 37610, 20693, 27192, 35676, 33229,
[12241, 40778], 39438, 35912, 21843, 27683, 35350, 29309, 37370, 37467,
36983, 31805, 35609, 37666, 37463, 28154, 35700, 22649, 27085, 21958,
22715, 34196, 25654, 37740, 27211, 21932, 20689, 32761, 31429, 31434,
27453, 35242, 23522, 36629, 27691, 20670, 38915, 35531, 24950, 29898,
31406, 36264, 21312, 36544, 39493, 40818, 39028, 27402, 21240, 40306,
30906, 35731, 39250, 25854, 32350, 29105, 38860, 35469, 32009, 27054,
32104, 36575, 37613, 38287, 28516, 28753, 34217, 39955, 36093, 20632,
21930, 39479, 25475, 28544, 27578, 32023, 31721, 26348, 38275, 38493,
36109, 32341, 20663, 36062, 29138, 32057, 36050, 25448, 25885, 25086,
35373, 32051, 23529, 23352, 33102, 28402, 32882, 32361, 21213, 32854,
24107, 29509, 28629, 35433, 26178, 34645, 23526, 35672, 39387, 21218,
36969, 37323, 39166, 35222, 35430, 22781, 29560, 27166, 36664, 26360,
36118, 23660, 34899, 27193, 31466, 25976, 24101, 38617, 35504, 38918,
35500, 30889, 29197, 32114, 39164, 39686, 32883, 24939, 38924, 35359,
35494, 25851, 34311, 35380, 32901, 38614, 38568, 32143, 27506, 23403,
25613, 32302, 29795, 37782, 29562, 25787, 33274, 24907, 25892, 36010,
30321, 28760, 22727, 35674, 35527, 22022, 28271, 29145, 28644, 32295,
35342, 39472, 35588, 37563, 38988, 39636, 26781, 36028, 37941, 24307,
32893, 28916, 37509, 32113, 38957, 22294, 22615, 22296, 38973, 40213,
39345, 39389, 27234, 31402, 35178, 24398, 28771, 38929, 33836, 32178,
[12209, 38859], 36949, 22285, 29234, 28656, 32173, 33894, 20553, 20702,
32239, 35586, 34907, 32862, 32011, 31337, 21839, 25790, 34680, 28198,
31401, 21978, 37794, 28879, 35491, 28961, 34154, 22626, 38695, 21209,
35492, 37675, 29351, 35186, 32722, 37521, 25138, 32048, 34662, 36676,
23805, 20448, 29433, 22151, 37697, 39854, 32406, 36066, 37532, 38289,
39023, 38570, 29694, 29563, 32291, 39201, 25010, 32171, 38002, 37129,
35443, 38911, 38917, 34157, 22210, 37559, 26313, 22063, 21332, 25406,
33029, 35559, 23531, 28681, 35613, 37573, 37313, 33288, 37561, 32137,
38920, 35377, 32210, 32396, 36562, 25080, 36984, 30316, 32098, 23416,
21211, 35426, 23563, 39348, 35347, 35338, 36956, 22739, 40201, 40232,
21854, 20126, 35357, 38329, 40573, 22196, 38996, 38331, 33399, 21421,
30831, 35578, 39511, 40230, 26954, 25562, 30221, 38525, 30306, 39178,
27171, 22575, 35617, 34277, 29242, [12212, 38913], 26989, 33865, 37291,
37541, 38948, 36986, 20736, 34811, 34269, 20740, 25014, 32681, 35427,
35696, 35516, 35695, 32377, 34093, 38512, 37504, 39154, 38577, 27387,
23344, 40441, 25033, 32403, 29801, 34722, 29151, 29074, 34821, 36111,
31310, 21938, 25793, 20653, 30320, 36404, 20778, 24962, 37109, 37438,

29494,
39729,
22291,
38549,
36124,
36104,
36670,
36249,
38499,
25711,
35589,
36015,
35037,
28609,
21959,
21108,
20674,
33248,
35398,
35436,
35537,
35556,
35610,
38488,
24048,
22557,
34086,
34113,
40367,
34334,
25681,
22216,
22130,
22209,
23943,
24020,
39219,
39223,
25006,
24818,
38373,
38332,
28696,
28543,
28722,
23255,
23321,
39394,
39480,
{f: 2,
32060,
32186,
32217,
32265,
32306,
32408,
29914,
27355,
27292,
27315,

35480, 36671, 39192, [12226, 39770], 28417, 33287, 23996, 35486,


29508, 35709, 38928, 39341, 40219, 28149, 36677, 22290, 21729,
32227, 36960, 39000, 32004, 36493, 38000, 38322, 38642, 37142,
36939, 34292, 37270, 26248, 38620, 36617, 25890, 26283, 36106,
33247, 38015, 26839, 31432, 36012, 25799, 21063, 28580, 36042,
36555, 37720, 38296, 35408, 40779, 20661, 27656, 30430, 26028,
23940, 26855, 25136, 32187, 24373, 28466, 24115, 36076, 33081,
34756, 36685, 37754, 36889, 35998, 37341, 20597, 35386, 37806,
24128, 30309, 37165, 35657, 32340, 32887, 22519, 34937, 32025,
25842, 24159, 36074, 28399, 37912, 32066, 31278, 33131, 34886,
36600, 30394, 26205, 39519, 35576, 35461, 29165, 30682, 22225,
37956, 31689, 39376, 23560, 30938, 36681, 36090, 27137, 33674,
22941, 22767, 29376, 37648, 36101, 22684, 32180, 35524, 28310,
36039, 28460, 32156, 32317, 32305, 37138, 35419, 32068, 38013,
21401, 21428, 38760, 36107, 21293, 21297, 36094, 21060, 21132,
20660, 20480, 20630, 20757, 20738, 20756, 20796, 20791, 20712,
20795, 20752, 20794, 20681, 31988, 40652, 22213, 40172, 35131,
35329, 35344, 35340, 35349, 35635, 35406, 35365, 35393, 35382,
35412, 35416, 35410, 35462, 35460, 35455, 35440, 35452, 35445,
35438, 35533, 35554, 35425, 35482, 35493, {f: 2, c: 35473}, 35535,
35529, 35547, 35543, 35522, 35510, 35574, 35563, 35604, 35585,
35565, 35580, 35571, 35558, 35566, 35550, 35624, 35740, 35606,
35600, 35627, 35629, 35670, 35673, 35662, 35742, 35691, 35734,
37178, 37140, 37172, 37087, 37174, 37126, 37192, 33467, 21233,
22538, 22745, 22754, 22752, 22746, 22497, 22607, 22550, 22610,
22628, 34188, 34131, 34294, 33703, 33799, 34031, 33511, 34338,
22603, 29026, 34136, 34045, 34126, 34184, 34234, 29334, 28366,
34254, 34130, 33984, 33874, 33892, 33940, 33845, 34207, 34133,
33939, 32264, 34118, 34146, 34078, 39488, 34362, 37795, 34167,
34298, 34308, 34282, 34330, 22889, 23607, 25451, 25718, 25759,
25692, 25779, 25860, 25878, 25847, 25852, 25883, 22064, 22072,
22182, 21764, 21692, 22144, 22109, 22112, 22069, 22006, 22118,
22156, 22117, 22044, 22062, 21993, 22038, 22208, 22029, 22195,
22127, 36705, 22198, 22165, 22279, 24131, 24172, 24152, 24151,
23796, 23888, 23852, 23975, 23968, 23959, 23821, 23992, 23937,
24480, 29559, 29505, 29546, 29499, 29547, 29568, 29564, 39136,
39145, 39228, {f: 2, c: 39146}, 39149, 39156, 39177, 39185, 39195,
39231, 39235, {f: 3, c: 39240}, 39244, 39266, 24289, 36065, 25082,
24938, 24894, 24757, 24884, 25036, 24927, 25064, 24827, 24887,
24947, 24860, 24978, 38274, 38278, 38344, 38286, 38292, 38284,
38317, 38315, 39726, 38316, 38334, 38326, 39721, 38335, 38333,
38339, 38347, 38356, 38352, 38357, 38366, 28739, 28505, 28711,
28668, 28039, 28025, 28254, 28590, 28687, 28408, 28527, 28150,
28678, 28576, 28683, 28775, 28740, 28677, 28535, 28704, 28703,
28712, 28765, 39467, 36999, 36885, 37008, 23656, 24371, 23285,
23296, 23149, 23304, 23372, 23207, 23291, 23307, 23329, 23338,
39380, 39391, 39385, 39478, 39515, 39377, 39384, 39501, 39498,
39530, 39439, 39437, 39429, 39490, 39469, 39446, 39489, 39470,
{f: 2, c: 39491}, 39503, 39525, 39524, 31993, 32006, 32002,
c: 32007}, 32394, 32028, 32021, 32019, 32058, 32050, 32049, 32272,
32064, 32063, 32093, 32078, 32115, 32134, 32131, 32136, 32190,
32203, 32212, 32196, 32158, 32172, 32185, 32163, 32176, 32199,
32215, 32249, 32242, 32354, 32230, 32246, 32241, 32267, 32225,
32285, 32287, 32286, 32301, 32266, 32273, 32381, 32313, 32309,
32326, 32325, 32392, 32346, 32338, 32366, 32382, 32368, 32367,
29859, 29771, 29903, 38922, 29885, 29759, 29833, 29862, 29908,
38873, 38878, 38876, 27050, 27370, 26776, 26838, 27141, 26783,
27379, 27368, 27359, 27273, 26895, 27208, 26984, 27071, 27194,
27410, 27422, 27357, 27111, 27407, 27414, 27372, 27354, 27384,
27367, 27299, 27347, 27358, 27556, 27550, 27566, 27563, 27567,

36564, 36571, 36594, 36603, 36708, 36601, 36604, 36587, 36580, 36706,
36602, 36606, 36618, 36615, 36613, 36626, 36646, {f: 2, c: 36638}, 36636,
36659, 36678, 36692, 25108, 25127, 29964, 26311, 26308, 26249, 26326,
36033, 36016, 36026, 36029, 36100, 36018, 36037, 36112, 36049, 36058,
36053, 36075, 36071, 36091, 35224, 35244, 35233, 35263, 35238, 35247,
35250, 35255, 27647, 27660, 27692, 29272, 26407, 33110, 33242, 33051,
33214, 33121, 33231, 27487, {f: 2, c: 39086}, 39094, 39100, 39110, 39112,
36674, 40783, 26005, 29036, 29010, 29079, 29121, 29148, 29182, 31152,
31118, 31146, 25055, 24932, 25059, 25095, 28585, 30959, 30893, 30824,
30904, 31018, 31025, 30820, 30973, 30951, 30947, 40853, 30616, 30558,
30652, 32646, 32648, {f: 3, c: 37330}, 37337, 37335, 37333, 37367, 37351,
37348, 37702, 37365, 37369, 37384, 37414, 37445, 37393, 37392, 37377,
37415, 37380, 37413, 37376, 37434, 37478, 37431, 37427, 37461, 37437,
37432, 37470, {f: 2, c: 37484}, 37439, 37984, 37424, 37449, 37448, 37453,
37422, 37433, 37944, 37548, 37536, 37498, 37546, 37614, 37583, 37891,
37603, 37946, 37553, 37542, 37799, 37526, 37580, 37545, 37877, 37523,
37503, 37801, 37530, 37658, 37547, 37507, 37899, 37544, 37539, 37906,
37688, 37617, 37847, 37605, 37616, 37615, 37608, 37564, 37597, 37622,
{f: 2, c: 37926}, 37571, 37599, 37606, 37650, 37638, 37737, 37659, 37696,
37633, 37653, 37678, 37699, {f: 2, c: 37639}, 37663, 37657, 37733, 37703,
37750, 37716, 37732, 37802, 37744, 37764, 37860, 37848, 37928, 37767,
37836, 37784, 37816, 37823, 37798, 37808, 37813, 37964, 37858,
{f: 2, c: 37852}, 37837, 37854, 37827, 37831, 37841, 37908, 37917, 37879,
37989, 37907, 37997, 37920, 38009, 37881, 37913, 37962, 37938, 37951,
37972, 37987, 37758, 31329, 40169, 40182, 40199, 40198, 40227, 40327,
40469, 40221, 40223, 40421, 40239, 40409, 40240, 40258, 40478, 40275,
40477, 40288, 40274, 40435, 40284, 40289, 40339, 40298, 40303, 40329,
40344, 40346, 40384, 40357, 40361, 40386, 40380, 40474, 40403, 40410,
40431, 40422, 40434, 40440, 40460, 40442, 40475, 30308, 30296, 30311,
30210, {f: 2, c: 30278}, 30281, 30238, 30267, {f: 2, c: 30317}, 30313,
30322, 31431, 31414, 35168, 35123, 35165, 35143, 35128, 35172, 30392,
32814, 32812, 32889, 32885, 38919, {f: 2, c: 38926}, 38945, 38940, 28481,
38950, 38967, 38990, 38995, 39027, 39010, 39001, 39013, 39020, 39024,
34787, 34822, 34566, 34851, 34806, 34554, 34799, 34692, 34832, 34760,
34833, 34747, 34766, 32588, 31716, 31591, 31849, 31731, 31744, 31691,
31836, 31774, 31787, 31779, 31850, 31839, 33380, 33387, 35018, 32677,
31986, 31990, 31965, 32310, 40617, 36274, 37317, 37315, 40570, 36489,
36428, 36498, 36474, 36437, 36506, 36491, 36499, 36497, 36513, 36451,
36522, 36518, 35316, 35318, 38746, 38722, 38717, 38724, 40788, 40799,
40793, 40800, 40796, 40806, 40812, 40810, 40823, [12236, 40701], 40703,
40713, 35726, 38014, 37864, 39799, 39796, 39809, 39811, 39822, 40056,
31308, 39826, 40031, 39824, 39853, 39834, 39850, 39838, 40045, 39851,
39837, 40024, 39873, 40058, 39985, 39993, 39971, 39991, 39872, 39882,
39879, 39933, 39894, {f: 2, c: 39914}, 39905, 39908, 39911, 39901, 39906,
39920, 39899, 39924, 39892, 40029, 39944, 39952, 39949, 39954, 39945,
39935, 39968, 39986, 39981, 39976, 39973, 39977, 39987, 39998, 40008,
39995, 39989, 40005, 40022, 40020, 40018, 40039, 38851, 38845, 38857,
40379, 39631, 39638, 39637, 39768, 39758, 39255, 39260, 39714, 40695,
40690, 35180, 38342, 37686, 24390, 34068, 32404, 40803, 22137, 40725,
22081, 39662, 35079, 31296, 39091, 38308, 39693, 36852, 24409, 31339,
39138, 20642, 34193, 20760, 25458, 21067, 30543, 32397, 26310, 30637,
[12228, 40565], 22217, 40692, 28635, 25054, 30663, 28720, 40629, 34890,
38370, 38854, 31844, 32308, 38822, 40623, 22220, 39089, 27311, 32590,
31984, 20418, 32363, 40569, 22190, 39706, 33903, 31142, 31858, 39634,
38587, 32251, 35069, 30787, {f: 10, c: 8560}, {f: 2, c: 714}, 729, 8211,
8213, 8229, 8245, 8453, 8457, {f: 4, c: 8598}, 8725, 8735, 8739, 8786,
{f: 2, c: 8806}, 8895, {f: 36, c: 9552}, {f: 15, c: 9601}, {f: 3, c: 9619},
{f: 2, c: 9660}, {f: 4, c: 9698}, 9737, 8853, 12306, {f: 2, c: 12317},
{f: 9, c: 12321}, 12963, {f: 2, c: 13198}, {f: 3, c: 13212}, 13217, 13252,
13262, {f: 2, c: 13265}, 13269, 65072, 65506, 65508, 8481, 12849, 8208,

12540, {f: 2, c: 12443}, {f: 2, c: 12541}, 12294, {f: 2, c: 12445},


{f: 10, c: 65097}, {f: 4, c: 65108}, {f: 14, c: 65113}, {f: 4, c: 65128},
12350, {f: 12, c: 12272}, 19970, {f: 3, c: 19972}, 19983, 19986, 19991,
{f: 3, c: 19999}, 20003, 20006, 20009, {f: 2, c: 20014}, 20017, 20019,
20021, 20023, 20028, {f: 3, c: 20032}, 20036, 20038, 20042, 20049, 20053,
20055, {f: 2, c: 20058}, {f: 4, c: 20066}, {f: 2, c: 20071},
{f: 6, c: 20074}, 20082, {f: 10, c: 20084}, {f: 3, c: 20095},
{f: 2, c: 20099}, [12037, 20101], 20103, 20106, 20112, {f: 2, c: 20118},
20121, {f: 2, c: 20124}, 20131, 20138, {f: 3, c: 20143}, 20148,
{f: 4, c: 20150}, {f: 3, c: 20156}, 20168, 20172, {f: 2, c: 20175}, 20178,
{f: 3, c: 20186}, 20192, 20194, {f: 2, c: 20198}, 20201, {f: 3, c: 20205},
20209, 20212, {f: 3, c: 20216}, 20220, 20222, 20224, {f: 7, c: 20226},
{f: 2, c: 20235}, {f: 5, c: 20242}, {f: 2, c: 20252}, 20257, 20259,
{f: 2, c: 20264}, {f: 3, c: 20268}, 20273, 20275, 20277, 20279, 20281,
20283, {f: 5, c: 20286}, {f: 2, c: 20292}, {f: 6, c: 20295}, 20306, 20308,
20310, {f: 2, c: 20321}, 20326, 20328, {f: 2, c: 20330}, {f: 2, c: 20333},
{f: 2, c: 20337}, 20341, {f: 4, c: 20343}, 20349, {f: 3, c: 20352}, 20357,
20359, 20362, 20364, 20366, 20368, {f: 2, c: 20370}, 20373,
{f: 3, c: 20376}, 20380, {f: 2, c: 20382}, {f: 2, c: 20385}, 20388, 20395,
20397, {f: 5, c: 20400}, {f: 9, c: 20406}, {f: 2, c: 20416},
{f: 4, c: 20422}, {f: 3, c: 20427}, {f: 5, c: 20434}, 20441, 20443, 20450,
{f: 2, c: 20452}, 20455, {f: 2, c: 20459}, 20464, 20466, {f: 4, c: 20468},
20473, {f: 3, c: 20475}, 20479, {f: 5, c: 20481}, {f: 2, c: 20487}, 20490,
20494, 20496, 20499, {f: 3, c: 20501}, 20507, {f: 2, c: 20509}, 20512,
{f: 3, c: 20514}, 20519, {f: 11, c: 20527}, 20539, 20541, {f: 4, c: 20543},
{f: 3, c: 20548}, {f: 2, c: 20554}, 20557, {f: 5, c: 20560},
{f: 4, c: 20566}, 20571, {f: 8, c: 20573}, {f: 6, c: 20582},
{f: 7, c: 20589}, {f: 3, c: 20600}, {f: 2, c: 20604}, {f: 4, c: 20609},
{f: 2, c: 20614}, {f: 4, c: 20617}, {f: 8, c: 20622}, 20631,
{f: 8, c: 20634}, 20644, 20646, {f: 2, c: 20650}, {f: 4, c: 20654}, 20662,
{f: 2, c: 20664}, {f: 2, c: 20668}, {f: 3, c: 20671}, {f: 2, c: 20675},
{f: 3, c: 20678}, {f: 5, c: 20682}, 20688, {f: 3, c: 20690},
{f: 3, c: 20695}, {f: 3, c: 20699}, {f: 6, c: 20703}, {f: 3, c: 20713},
{f: 4, c: 20719}, 20724, {f: 3, c: 20726}, 20730, {f: 4, c: 20732}, 20737,
20739, 20741, 20746, {f: 4, c: 20748}, 20753, 20755, {f: 2, c: 20758},
{f: 6, c: 20761}, 20768, {f: 8, c: 20770}, {f: 7, c: 20779},
{f: 4, c: 20787}, {f: 2, c: 20792}, {f: 2, c: 20797}, 20802, 20807, 20810,
20812, {f: 3, c: 20814}, 20819, {f: 3, c: 20823}, 20827, {f: 5, c: 20829},
{f: 2, c: 20835}, {f: 2, c: 20838}, 20842, 20847, 20850, 20858,
{f: 2, c: 20862}, {f: 2, c: 20867}, {f: 2, c: 20870}, {f: 2, c: 20874},
{f: 4, c: 20878}, {f: 2, c: 20883}, 20888, 20890, {f: 3, c: 20893}, 20897,
20899, {f: 5, c: 20902}, {f: 2, c: 20909}, 20916, {f: 3, c: 20920},
{f: 2, c: 20926}, {f: 3, c: 20929}, 20933, 20936, 20938, 20942, 20944,
{f: 9, c: 20946}, 20956, {f: 2, c: 20958}, {f: 2, c: 20962},
{f: 6, c: 20965}, 20972, 20974, 20978, 20980, 20983, 20990,
{f: 2, c: 20996}, 21001, {f: 2, c: 21003}, {f: 2, c: 21007},
{f: 3, c: 21011}, 21020, {f: 2, c: 21022}, {f: 3, c: 21025},
{f: 3, c: 21029}, 21034, 21036, 21039, {f: 2, c: 21041}, {f: 2, c: 21044},
21052, 21054, {f: 2, c: 21061}, {f: 2, c: 21064}, {f: 2, c: 21070},
{f: 2, c: 21074}, 21077, {f: 4, c: 21079}, 21085, {f: 2, c: 21087},
{f: 3, c: 21090}, 21094, 21096, {f: 3, c: 21099}, {f: 2, c: 21104}, 21107,
{f: 7, c: 21110}, 21118, 21120, {f: 3, c: 21124}, 21131, {f: 2, c: 21134},
21138, {f: 7, c: 21140}, 21148, {f: 4, c: 21156}, {f: 3, c: 21166},
{f: 10, c: 21172}, 21184, 21186, {f: 3, c: 21188}, 21192, 21194,
{f: 4, c: 21196}, 21201, {f: 2, c: 21203}, 21207, 21210, 21212,
{f: 2, c: 21216}, 21219, {f: 11, c: 21221}, {f: 3, c: 21234},
{f: 2, c: 21238}, {f: 3, c: 21243}, {f: 4, c: 21249}, 21255,
{f: 4, c: 21257}, 21262, {f: 4, c: 21265}, 21272, {f: 2, c: 21275},
{f: 2, c: 21278}, 21282, {f: 2, c: 21284}, {f: 3, c: 21287},
{f: 2, c: 21291}, 21296, {f: 6, c: 21298}, [12054, 21304],

{f: 2, c: 21308}, 21314, 21316, 21318, {f: 3, c: 21323}, 21328,


{f: 2, c: 21336}, 21339, 21341, 21349, 21352, 21354, {f: 2, c: 21356},
21362, 21366, 21369, {f: 4, c: 21371}, {f: 2, c: 21376}, 21379,
{f: 2, c: 21383}, 21386, {f: 7, c: 21390}, {f: 2, c: 21398},
{f: 2, c: 21403}, 21406, 21409, 21412, 21415, {f: 3, c: 21418},
{f: 3, c: 21423}, 21427, 21429, {f: 4, c: 21431}, {f: 3, c: 21436}, 21440,
{f: 4, c: 21444}, {f: 3, c: 21454}, {f: 2, c: 21458}, 21461, 21466,
{f: 3, c: 21468}, 21473, 21479, 21492, 21498, {f: 3, c: 21502}, 21506,
21509, 21511, 21515, 21524, {f: 3, c: 21528}, 21532, 21538,
{f: 2, c: 21540}, 21546, 21552, 21555, {f: 2, c: 21558}, 21562, 21565,
21567, {f: 2, c: 21569}, {f: 2, c: 21572}, 21575, 21577, {f: 4, c: 21580},
21585, 21594, {f: 5, c: 21597}, 21603, 21605, 21607, {f: 8, c: 21609},
21620, {f: 2, c: 21625}, {f: 2, c: 21630}, 21633, 21635, 21637,
{f: 4, c: 21639}, 21645, 21649, 21651, {f: 2, c: 21655}, 21660,
{f: 5, c: 21662}, 21669, 21678, 21680, 21682, {f: 3, c: 21685},
{f: 2, c: 21689}, 21694, 21699, 21701, {f: 2, c: 21706}, 21718, 21720,
21723, 21728, {f: 3, c: 21730}, {f: 2, c: 21739}, {f: 3, c: 21743},
{f: 6, c: 21748}, 21755, 21758, 21760, {f: 2, c: 21762}, 21765, 21768,
{f: 5, c: 21770}, {f: 2, c: 21778}, {f: 6, c: 21781}, {f: 4, c: 21788},
21793, {f: 2, c: 21797}, {f: 2, c: 21800}, 21803, 21805, 21810,
{f: 3, c: 21812}, {f: 4, c: 21816}, 21821, 21824, 21826, 21829,
{f: 2, c: 21831}, {f: 4, c: 21835}, {f: 2, c: 21841}, 21844,
{f: 5, c: 21847}, 21853, {f: 2, c: 21855}, {f: 2, c: 21858},
{f: 2, c: 21864}, 21867, {f: 6, c: 21871}, {f: 2, c: 21881}, 21885, 21887,
{f: 2, c: 21893}, {f: 3, c: 21900}, 21904, {f: 2, c: 21906},
{f: 3, c: 21909}, {f: 2, c: 21914}, 21918, {f: 7, c: 21920},
{f: 2, c: 21928}, 21931, 21933, {f: 2, c: 21935}, 21940, 21942, 21944,
21946, 21948, {f: 5, c: 21951}, 21960, {f: 2, c: 21962}, {f: 2, c: 21967},
21973, {f: 3, c: 21975}, 21979, 21982, 21984, 21986, 21991,
{f: 2, c: 21997}, {f: 2, c: 22000}, 22004, {f: 5, c: 22008}, 22015,
{f: 4, c: 22018}, 22023, {f: 2, c: 22026}, {f: 4, c: 22032}, 22037,
{f: 2, c: 22041}, 22045, {f: 3, c: 22048}, {f: 2, c: 22053}, 22056,
{f: 2, c: 22058}, 22067, 22071, 22074, {f: 3, c: 22076}, 22080,
{f: 10, c: 22082}, {f: 5, c: 22095}, {f: 2, c: 22101}, {f: 2, c: 22106},
{f: 2, c: 22110}, 22113, 22115, 22119, {f: 2, c: 22125}, 22128, 22131,
22133, 22135, 22138, {f: 3, c: 22141}, {f: 4, c: 22145}, {f: 4, c: 22152},
22157, {f: 3, c: 22160}, 22164, {f: 3, c: 22166}, {f: 9, c: 22170},
{f: 2, c: 22180}, 22183, {f: 5, c: 22185}, {f: 3, c: 22192}, 22197,
{f: 4, c: 22200}, {f: 3, c: 22205}, {f: 2, c: 22211}, {f: 2, c: 22214},
22219, {f: 4, c: 22221}, {f: 2, c: 22226}, {f: 2, c: 22229},
{f: 2, c: 22232}, 22236, 22243, {f: 6, c: 22245}, 22252, {f: 2, c: 22254},
{f: 2, c: 22258}, {f: 3, c: 22262}, {f: 2, c: 22267}, {f: 3, c: 22272},
22277, 22284, {f: 4, c: 22286}, {f: 2, c: 22292}, 22295, {f: 3, c: 22297},
{f: 2, c: 22301}, {f: 3, c: 22304}, {f: 4, c: 22308}, 22315,
{f: 2, c: 22321}, {f: 5, c: 22324}, {f: 2, c: 22332}, 22335, 22337,
{f: 4, c: 22339}, {f: 2, c: 22344}, 22347, {f: 5, c: 22354},
{f: 2, c: 22360}, {f: 2, c: 22370}, 22373, 22375, 22380, 22382,
{f: 3, c: 22384}, {f: 2, c: 22388}, {f: 3, c: 22392}, {f: 5, c: 22397},
{f: 4, c: 22407}, {f: 5, c: 22413}, {f: 7, c: 22420}, {f: 4, c: 22428},
22437, 22440, 22442, 22444, {f: 3, c: 22447}, 22451, {f: 3, c: 22453},
{f: 9, c: 22457}, {f: 7, c: 22468}, {f: 2, c: 22476}, {f: 2, c: 22480},
22483, {f: 2, c: 22486}, {f: 2, c: 22491}, 22494, {f: 2, c: 22498},
{f: 8, c: 22501}, 22510, {f: 4, c: 22512}, {f: 2, c: 22517},
{f: 2, c: 22523}, {f: 2, c: 22526}, 22529, {f: 2, c: 22531},
{f: 2, c: 22536}, 22540, {f: 3, c: 22542}, {f: 3, c: 22546},
{f: 2, c: 22551}, {f: 3, c: 22554}, 22559, {f: 2, c: 22562},
{f: 5, c: 22565}, {f: 4, c: 22571}, {f: 2, c: 22578}, {f: 14, c: 22582},
{f: 5, c: 22597}, 22606, 22608, 22611, {f: 2, c: 22613}, {f: 5, c: 22617},
{f: 3, c: 22623}, 22627, {f: 5, c: 22630}, {f: 8, c: 22637},
{f: 3, c: 22646}, {f: 4, c: 22650}, 22655, 22658, 22660, {f: 3, c: 22662},

{f: 7, c: 22667}, {f: 5, c: 22676}, 22683, 22685, {f: 8, c: 22688},


{f: 4, c: 22698}, {f: 4, c: 22703}, {f: 7, c: 22708}, 22717,
{f: 2, c: 22719}, {f: 3, c: 22722}, 22726, {f: 9, c: 22728}, 22738, 22740,
{f: 2, c: 22742}, {f: 3, c: 22747}, 22753, 22755, {f: 4, c: 22757}, 22762,
22765, {f: 2, c: 22769}, {f: 2, c: 22772}, {f: 2, c: 22775},
{f: 2, c: 22779}, {f: 4, c: 22782}, 22787, {f: 2, c: 22789},
{f: 2, c: 22792}, [12066, 22794], {f: 2, c: 22795}, 22798,
{f: 4, c: 22800}, {f: 2, c: 22807}, 22811, {f: 2, c: 22813},
{f: 2, c: 22816}, 22819, 22822, 22824, 22828, 22832, {f: 2, c: 22834},
{f: 2, c: 22837}, 22843, 22845, {f: 2, c: 22847}, 22851, {f: 2, c: 22853},
22858, {f: 2, c: 22860}, 22864, {f: 2, c: 22866}, 22873, {f: 5, c: 22875},
22881, {f: 2, c: 22883}, {f: 3, c: 22886}, 22891, 22893, {f: 4, c: 22895},
22901, 22903, {f: 3, c: 22906}, {f: 3, c: 22910}, 22917, 22921,
{f: 2, c: 22923}, {f: 4, c: 22926}, {f: 2, c: 22932}, 22936,
{f: 3, c: 22938}, {f: 4, c: 22943}, {f: 2, c: 22950}, {f: 2, c: 22956},
{f: 2, c: 22960}, {f: 6, c: 22963}, 22970, {f: 2, c: 22972},
{f: 7, c: 22975}, {f: 3, c: 22983}, {f: 4, c: 22988}, {f: 2, c: 22997},
23001, 23003, {f: 5, c: 23006}, 23012, {f: 2, c: 23014}, {f: 3, c: 23017},
{f: 12, c: 23021}, 23034, {f: 3, c: 23036}, 23040, 23042, {f: 2, c: 23050},
{f: 4, c: 23053}, 23058, {f: 4, c: 23060}, {f: 3, c: 23065},
{f: 2, c: 23069}, {f: 2, c: 23073}, 23076, {f: 3, c: 23078},
{f: 7, c: 23082}, 23091, 23093, {f: 5, c: 23095}, {f: 3, c: 23101},
{f: 4, c: 23106}, {f: 2, c: 23111}, {f: 10, c: 23115}, {f: 4, c: 23126},
{f: 7, c: 23131}, {f: 3, c: 23139}, {f: 2, c: 23144}, {f: 2, c: 23147},
{f: 6, c: 23150}, {f: 2, c: 23160}, {f: 4, c: 23163}, {f: 18, c: 23168},
{f: 7, c: 23187}, {f: 11, c: 23196}, {f: 2, c: 23208}, {f: 7, c: 23211},
23220, {f: 2, c: 23222}, {f: 4, c: 23225}, {f: 2, c: 23231},
{f: 6, c: 23235}, {f: 2, c: 23242}, {f: 5, c: 23245}, 23251, 23253,
{f: 3, c: 23257}, {f: 3, c: 23261}, 23266, {f: 2, c: 23268},
{f: 2, c: 23271}, 23274, {f: 5, c: 23276}, {f: 3, c: 23282},
{f: 5, c: 23286}, {f: 4, c: 23292}, {f: 7, c: 23297}, 23306,
{f: 9, c: 23309}, 23320, {f: 7, c: 23322}, {f: 8, c: 23330},
{f: 5, c: 23339}, 23345, 23347, {f: 2, c: 23349}, {f: 7, c: 23353},
{f: 11, c: 23361}, {f: 3, c: 23373}, 23378, 23382, 23390, {f: 2, c: 23392},
{f: 2, c: 23399}, {f: 3, c: 23405}, 23410, 23412, {f: 2, c: 23414}, 23417,
{f: 2, c: 23419}, 23422, 23426, 23430, 23434, {f: 2, c: 23437},
{f: 3, c: 23440}, 23444, 23446, 23455, {f: 3, c: 23463}, {f: 4, c: 23468},
{f: 2, c: 23473}, 23479, {f: 3, c: 23482}, {f: 2, c: 23488}, 23491,
{f: 4, c: 23496}, {f: 3, c: 23501}, 23505, {f: 9, c: 23508}, 23520, 23523,
23530, 23533, 23535, {f: 4, c: 23537}, 23543, {f: 2, c: 23549}, 23552,
{f: 2, c: 23554}, 23557, 23564, 23568, {f: 2, c: 23570}, 23575, 23577,
23579, {f: 4, c: 23582}, 23587, 23590, {f: 4, c: 23592}, {f: 4, c: 23597},
{f: 2, c: 23602}, {f: 2, c: 23605}, {f: 2, c: 23619}, {f: 2, c: 23622},
{f: 2, c: 23628}, {f: 3, c: 23634}, {f: 3, c: 23638}, {f: 4, c: 23642},
23647, 23655, {f: 3, c: 23657}, 23661, 23664, {f: 7, c: 23666},
{f: 4, c: 23675}, 23680, {f: 5, c: 23683}, {f: 3, c: 23689},
{f: 2, c: 23694}, {f: 2, c: 23698}, 23701, {f: 4, c: 23709},
{f: 5, c: 23716}, 23722, {f: 3, c: 23726}, 23730, 23732, 23734,
{f: 4, c: 23737}, 23742, 23744, {f: 2, c: 23746}, {f: 6, c: 23749},
{f: 6, c: 23756}, {f: 6, c: 23763}, {f: 7, c: 23770}, {f: 2, c: 23778},
23783, 23785, {f: 2, c: 23787}, {f: 2, c: 23790}, {f: 3, c: 23793}, 23797,
{f: 4, c: 23799}, 23804, {f: 4, c: 23806}, {f: 2, c: 23812},
{f: 5, c: 23816}, {f: 5, c: 23823}, 23829, {f: 3, c: 23832},
{f: 2, c: 23836}, {f: 5, c: 23839}, 23845, 23848, {f: 2, c: 23850},
{f: 5, c: 23855}, {f: 8, c: 23861}, {f: 8, c: 23871}, {f: 2, c: 23880},
{f: 3, c: 23885}, {f: 7, c: 23889}, {f: 2, c: 23897}, 23900,
{f: 11, c: 23902}, 23914, {f: 2, c: 23917}, {f: 4, c: 23920},
{f: 12, c: 23925}, 23939, {f: 2, c: 23941}, {f: 15, c: 23944}, 23960,
{f: 3, c: 23962}, {f: 2, c: 23966}, {f: 6, c: 23969}, {f: 15, c: 23976},
23993, 23995, {f: 8, c: 23997}, {f: 5, c: 24006}, 24012, {f: 4, c: 24014},

24019,
{f: 2,
24068,
{f: 7,
{f: 2,
{f: 6,
{f: 2,
{f: 3,
24219,
24244,
{f: 2,
24297,
{f: 3,
{f: 2,
{f: 2,
{f: 3,
24401,
{f: 2,
24442,
24470,
{f: 6,
{f: 2,
{f: 3,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
{f: 5,
{f: 2,
{f: 2,
{f: 2,
{f: 4,
{f: 3,
{f: 2,
{f: 8,
{f: 2,
{f: 2,
{f: 3,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
{f: 2,
{f: 7,
{f: 2,
{f: 3,
{f: 4,
{f: 3,
{f: 2,
25113,
25133,
{f: 3,
{f: 2,
{f: 2,
25213,
{f: 3,
{f: 4,
{f: 2,
{f: 2,
{f: 4,

{f: 6, c: 24021}, 24028, {f: 2, c: 24031}, {f: 2, c: 24035}, 24042,


c: 24044}, {f: 2, c: 24053}, {f: 5, c: 24056}, {f: 2, c: 24063},
24071, {f: 3, c: 24073}, {f: 2, c: 24077}, {f: 2, c: 24082}, 24087,
c: 24094}, {f: 3, c: 24104}, 24108, {f: 2, c: 24111}, 24114,
c: 24116}, {f: 2, c: 24121}, {f: 2, c: 24126}, 24129,
c: 24134}, {f: 7, c: 24141}, 24150, {f: 2, c: 24153},
c: 24156}, 24160, {f: 7, c: 24164}, {f: 5, c: 24173}, 24181, 24183,
c: 24193}, 24197, {f: 2, c: 24200}, {f: 3, c: 24204}, 24210, 24216,
24221, {f: 4, c: 24225}, {f: 3, c: 24232}, 24236, {f: 5, c: 24238},
{f: 4, c: 24250}, {f: 10, c: 24255}, {f: 6, c: 24267},
c: 24276}, {f: 4, c: 24279}, {f: 3, c: 24284}, {f: 4, c: 24292},
24299, {f: 6, c: 24301}, 24309, {f: 2, c: 24312}, {f: 3, c: 24315},
c: 24325}, 24329, {f: 3, c: 24332}, 24336, 24338, 24340, 24342,
c: 24345}, {f: 3, c: 24348}, {f: 4, c: 24353}, 24360,
c: 24363}, 24366, 24368, 24370, 24372, {f: 3, c: 24374}, 24379,
c: 24381}, {f: 5, c: 24385}, 24391, {f: 3, c: 24393}, 24397, 24399,
24404, {f: 3, c: 24410}, {f: 3, c: 24414}, 24419, 24421,
c: 24423}, 24427, {f: 2, c: 24430}, 24434, {f: 3, c: 24436}, 24440,
{f: 3, c: 24445}, 24451, 24454, {f: 3, c: 24461}, {f: 2, c: 24467},
{f: 2, c: 24474}, 24477, 24479, {f: 6, c: 24482}, {f: 2, c: 24491},
c: 24495}, 24502, 24504, {f: 2, c: 24506}, {f: 5, c: 24510},
c: 24519}, {f: 2, c: 24522}, 24526, {f: 3, c: 24531},
c: 24538}, {f: 2, c: 24542}, {f: 2, c: 24546}, {f: 2, c: 24549},
c: 24552}, 24556, {f: 2, c: 24559}, {f: 3, c: 24562},
c: 24566}, {f: 2, c: 24569}, 24572, {f: 3, c: 24583},
c: 24587}, {f: 2, c: 24592}, 24595, {f: 2, c: 24599}, 24602,
c: 24606}, {f: 3, c: 24610}, {f: 3, c: 24620}, {f: 5, c: 24624},
c: 24630}, {f: 2, c: 24637}, 24640, {f: 7, c: 24644}, 24652,
c: 24654}, 24657, {f: 2, c: 24659}, {f: 3, c: 24662},
c: 24667}, {f: 4, c: 24670}, {f: 2, c: 24677}, 24686,
c: 24689}, {f: 2, c: 24692}, 24695, 24702, {f: 3, c: 24704},
c: 24709}, {f: 2, c: 24714}, {f: 4, c: 24718}, 24723, 24725,
c: 24727}, 24732, 24734, {f: 2, c: 24737}, {f: 2, c: 24740}, 24743,
c: 24745}, 24750, 24752, 24755, 24759, {f: 2, c: 24761},
c: 24765}, {f: 3, c: 24775}, {f: 5, c: 24780}, {f: 3, c: 24786},
c: 24790}, 24793, 24795, 24798, {f: 4, c: 24802}, 24810, 24821,
c: 24823}, {f: 4, c: 24828}, {f: 4, c: 24834}, 24839,
c: 24842}, {f: 5, c: 24848}, {f: 4, c: 24854}, {f: 2, c: 24861},
c: 24865}, 24869, {f: 3, c: 24872}, {f: 8, c: 24876},
c: 24885}, {f: 6, c: 24888}, {f: 8, c: 24896}, 24905, 24909,
c: 24911}, {f: 3, c: 24914}, {f: 2, c: 24918}, 24921,
c: 24923}, 24926, {f: 2, c: 24928}, {f: 2, c: 24933}, 24937,
c: 24940}, 24943, {f: 2, c: 24945}, 24948, {f: 10, c: 24952},
c: 24963}, {f: 2, c: 24972}, 24975, 24979, {f: 5, c: 24981},
c: 24987}, {f: 6, c: 24990}, {f: 2, c: 24997}, 25002, 25005,
c: 25007}, {f: 3, c: 25011}, {f: 6, c: 25016}, {f: 3, c: 25023},
c: 25027}, {f: 4, c: 25037}, 25043, {f: 9, c: 25045},
c: 25056}, {f: 2, c: 25060}, 25063, {f: 9, c: 25065},
c: 25075}, 25081, 25083, 25085, {f: 5, c: 25089}, 25097, 25107,
{f: 3, c: 25116}, 25120, 25123, 25126, {f: 2, c: 25128}, 25131,
25135, 25137, 25141, [12094, 25142], {f: 5, c: 25144}, 25154,
c: 25156}, 25162, {f: 2, c: 25167}, {f: 3, c: 25173},
c: 25177}, {f: 7, c: 25180}, {f: 2, c: 25188}, 25192,
c: 25201}, {f: 2, c: 25204}, {f: 2, c: 25207}, {f: 2, c: 25210},
{f: 3, c: 25217}, {f: 4, c: 25221}, {f: 6, c: 25227}, 25236, 25241,
c: 25244}, 25251, {f: 2, c: 25254}, {f: 2, c: 25257},
c: 25261}, {f: 3, c: 25266}, {f: 3, c: 25270}, 25274, 25278,
c: 25280}, 25283, 25291, 25295, 25297, 25301, {f: 2, c: 25309},
c: 25312}, 25316, {f: 2, c: 25322}, 25328, 25330, 25333,
c: 25336}, 25344, {f: 4, c: 25347}, {f: 4, c: 25354},

{f: 2, c: 25359}, {f: 4, c: 25362}, {f: 3, c: 25367}, 25372,


{f: 2, c: 25382}, 25385, {f: 3, c: 25388}, {f: 2, c: 25392},
{f: 6, c: 25395}, {f: 2, c: 25403}, {f: 3, c: 25407}, 25412,
{f: 2, c: 25415}, 25418, {f: 4, c: 25425}, {f: 8, c: 25430}, 25440,
{f: 3, c: 25444}, 25450, 25452, {f: 2, c: 25455}, {f: 3, c: 25459},
{f: 2, c: 25464}, {f: 4, c: 25468}, 25473, {f: 2, c: 25477}, 25483, 25485,
25489, {f: 3, c: 25491}, 25495, {f: 7, c: 25497}, 25505, 25508, 25510,
25515, 25519, {f: 2, c: 25521}, {f: 2, c: 25525}, 25529, 25531, 25533,
25535, {f: 3, c: 25537}, 25541, {f: 2, c: 25543}, {f: 3, c: 25546}, 25553,
{f: 3, c: 25555}, {f: 3, c: 25559}, {f: 3, c: 25563}, 25567, 25570,
{f: 5, c: 25572}, {f: 2, c: 25579}, {f: 3, c: 25583}, 25587, 25589, 25591,
{f: 4, c: 25593}, 25598, {f: 2, c: 25603}, {f: 5, c: 25606}, 25614,
{f: 2, c: 25617}, {f: 2, c: 25621}, {f: 3, c: 25624}, 25629, 25631,
{f: 4, c: 25634}, {f: 3, c: 25639}, 25643, {f: 6, c: 25646}, 25653,
{f: 3, c: 25655}, {f: 2, c: 25659}, 25662, 25664, {f: 2, c: 25666}, 25673,
{f: 6, c: 25675}, 25683, {f: 3, c: 25685}, {f: 3, c: 25689}, 25693,
{f: 7, c: 25696}, 25704, {f: 3, c: 25706}, 25710, {f: 3, c: 25712},
{f: 2, c: 25716}, 25719, {f: 6, c: 25724}, 25731, 25734, {f: 8, c: 25737},
25748, {f: 2, c: 25751}, {f: 4, c: 25754}, {f: 3, c: 25760},
{f: 3, c: 25766}, 25770, 25775, 25777, 25780, 25782, 25785, 25789, 25795,
25798, {f: 2, c: 25800}, 25804, 25807, 25809, 25811, {f: 2, c: 25813},
25817, {f: 3, c: 25819}, 25823, 25825, 25827, 25829, {f: 5, c: 25831},
{f: 2, c: 25837}, 25843, {f: 2, c: 25845}, {f: 2, c: 25848}, 25853, 25855,
{f: 3, c: 25857}, 25861, {f: 2, c: 25863}, {f: 5, c: 25866},
{f: 2, c: 25872}, 25875, 25877, 25879, 25882, 25884, {f: 4, c: 25886},
{f: 4, c: 25894}, 25901, {f: 4, c: 25904}, 25911, 25914, {f: 2, c: 25916},
{f: 5, c: 25920}, {f: 2, c: 25926}, {f: 2, c: 25930}, {f: 2, c: 25933},
25936, {f: 3, c: 25938}, 25944, 25946, 25948, {f: 3, c: 25951},
{f: 2, c: 25956}, {f: 4, c: 25959}, {f: 3, c: 25965}, 25969, 25971, 25974,
{f: 9, c: 25977}, {f: 3, c: 25988}, {f: 3, c: 25992}, {f: 3, c: 25997},
26002, 26004, 26006, 26008, 26010, {f: 2, c: 26013}, 26016,
{f: 2, c: 26018}, 26022, 26024, 26026, 26030, {f: 6, c: 26033}, 26040,
{f: 2, c: 26042}, {f: 3, c: 26046}, 26050, {f: 4, c: 26055}, 26061,
{f: 2, c: 26064}, {f: 3, c: 26067}, {f: 8, c: 26072}, 26081,
{f: 2, c: 26083}, {f: 2, c: 26090}, {f: 4, c: 26098}, {f: 2, c: 26104},
{f: 5, c: 26107}, 26113, {f: 2, c: 26116}, {f: 3, c: 26119}, 26123, 26125,
{f: 3, c: 26128}, {f: 3, c: 26134}, {f: 3, c: 26138}, 26142,
{f: 4, c: 26145}, 26150, {f: 4, c: 26153}, 26158, 26160, {f: 2, c: 26162},
{f: 5, c: 26167}, 26173, {f: 2, c: 26175}, {f: 7, c: 26180},
{f: 2, c: 26189}, {f: 2, c: 26192}, {f: 2, c: 26200}, {f: 2, c: 26203},
26206, 26208, {f: 2, c: 26210}, 26213, 26215, {f: 5, c: 26217},
{f: 3, c: 26225}, 26229, {f: 2, c: 26232}, {f: 3, c: 26235},
{f: 3, c: 26239}, 26243, {f: 2, c: 26245}, {f: 2, c: 26250},
{f: 4, c: 26253}, {f: 4, c: 26258}, {f: 5, c: 26264}, {f: 4, c: 26270},
{f: 4, c: 26275}, {f: 2, c: 26281}, {f: 2, c: 26284}, {f: 5, c: 26287},
{f: 4, c: 26293}, {f: 4, c: 26298}, {f: 5, c: 26303}, 26309, 26312,
{f: 12, c: 26314}, {f: 2, c: 26327}, 26330, {f: 2, c: 26334},
{f: 5, c: 26337}, {f: 2, c: 26343}, {f: 2, c: 26346}, {f: 3, c: 26349},
26353, {f: 2, c: 26357}, {f: 2, c: 26362}, 26365, {f: 2, c: 26369},
{f: 4, c: 26372}, 26380, {f: 2, c: 26382}, {f: 3, c: 26385}, 26390,
{f: 3, c: 26392}, 26396, 26398, {f: 6, c: 26400}, 26409, 26414, 26416,
{f: 2, c: 26418}, {f: 4, c: 26422}, {f: 2, c: 26427}, {f: 2, c: 26430},
26433, {f: 2, c: 26436}, 26439, {f: 2, c: 26442}, 26445, 26450,
{f: 2, c: 26452}, {f: 5, c: 26455}, 26461, {f: 3, c: 26466},
{f: 2, c: 26470}, {f: 2, c: 26475}, 26478, 26484, 26486, {f: 4, c: 26488},
26493, 26496, {f: 2, c: 26498}, {f: 2, c: 26501}, 26504, 26506,
{f: 4, c: 26508}, {f: 4, c: 26513}, 26518, 26521, 26523, {f: 3, c: 26527},
26532, 26534, 26537, 26540, 26542, {f: 2, c: 26545}, 26548,
{f: 8, c: 26553}, 26562, {f: 10, c: 26565}, {f: 3, c: 26581}, 26587, 26591,
26593, {f: 2, c: 26595}, {f: 3, c: 26598}, {f: 2, c: 26602},

{f: 2, c: 26605}, 26610, {f: 8, c: 26613}, 26622, {f: 4, c: 26625}, 26630,


26637, 26640, 26642, {f: 2, c: 26644}, {f: 5, c: 26648}, {f: 3, c: 26654},
{f: 7, c: 26658}, {f: 7, c: 26667}, {f: 3, c: 26676}, {f: 2, c: 26682},
26687, 26695, 26699, 26701, 26703, 26706, {f: 10, c: 26710}, 26730,
{f: 8, c: 26732}, 26741, {f: 9, c: 26744}, 26754, 26756, {f: 8, c: 26759},
{f: 3, c: 26768}, {f: 3, c: 26772}, {f: 4, c: 26777}, 26782,
{f: 2, c: 26784}, {f: 3, c: 26787}, {f: 4, c: 26793}, 26798,
{f: 2, c: 26801}, 26804, {f: 10, c: 26806}, 26817, {f: 6, c: 26819}, 26826,
26828, {f: 4, c: 26830}, {f: 2, c: 26835}, 26841, {f: 4, c: 26843},
{f: 2, c: 26849}, {f: 3, c: 26852}, {f: 6, c: 26856}, 26863,
{f: 3, c: 26866}, {f: 3, c: 26870}, 26875, {f: 4, c: 26877},
{f: 3, c: 26882}, {f: 5, c: 26886}, 26892, 26897, {f: 12, c: 26899},
{f: 3, c: 26913}, {f: 8, c: 26917}, {f: 2, c: 26926}, {f: 3, c: 26929},
{f: 4, c: 26933}, {f: 3, c: 26938}, 26942, {f: 2, c: 26944},
{f: 7, c: 26947}, {f: 8, c: 26955}, {f: 2, c: 26965}, {f: 2, c: 26968},
{f: 2, c: 26971}, 26975, {f: 2, c: 26977}, {f: 2, c: 26980}, 26983,
{f: 2, c: 26985}, 26988, {f: 2, c: 26991}, {f: 3, c: 26994}, 26998,
{f: 2, c: 27002}, {f: 3, c: 27005}, 27009, 27011, 27013, {f: 3, c: 27018},
{f: 6, c: 27022}, {f: 2, c: 27030}, {f: 2, c: 27033}, {f: 10, c: 27037},
27049, 27052, {f: 2, c: 27055}, {f: 2, c: 27058}, {f: 2, c: 27061},
{f: 3, c: 27064}, {f: 3, c: 27068}, 27072, {f: 8, c: 27074}, 27087,
{f: 3, c: 27089}, {f: 6, c: 27093}, {f: 3, c: 27100}, {f: 6, c: 27105},
{f: 5, c: 27112}, {f: 4, c: 27118}, {f: 9, c: 27124}, 27134, 27136,
{f: 2, c: 27139}, {f: 4, c: 27142}, {f: 8, c: 27147}, {f: 3, c: 27156},
{f: 4, c: 27162}, 27168, 27170, {f: 4, c: 27172}, 27177, {f: 4, c: 27179},
27184, {f: 3, c: 27186}, {f: 2, c: 27190}, {f: 2, c: 27195},
{f: 5, c: 27199}, {f: 2, c: 27205}, {f: 2, c: 27209}, {f: 4, c: 27212},
{f: 7, c: 27217}, 27226, {f: 3, c: 27228}, 27232, {f: 2, c: 27235},
{f: 11, c: 27238}, {f: 7, c: 27250}, {f: 2, c: 27258}, {f: 3, c: 27261},
{f: 3, c: 27265}, {f: 4, c: 27269}, {f: 4, c: 27274}, 27279,
{f: 2, c: 27282}, {f: 2, c: 27285}, {f: 4, c: 27288}, {f: 3, c: 27293},
27297, {f: 5, c: 27300}, 27306, {f: 2, c: 27309}, {f: 3, c: 27312},
{f: 4, c: 27316}, {f: 2, c: 27321}, {f: 7, c: 27324}, {f: 15, c: 27332},
{f: 6, c: 27348}, 27356, {f: 7, c: 27360}, 27369, 27371, {f: 6, c: 27373},
{f: 4, c: 27380}, {f: 2, c: 27385}, {f: 8, c: 27388}, {f: 5, c: 27397},
{f: 4, c: 27403}, {f: 2, c: 27408}, {f: 3, c: 27411}, {f: 7, c: 27415},
27423, {f: 2, c: 27429}, {f: 10, c: 27432}, {f: 4, c: 27443}, 27448,
{f: 2, c: 27451}, {f: 4, c: 27455}, {f: 2, c: 27460}, 27464,
{f: 2, c: 27466}, {f: 3, c: 27469}, {f: 8, c: 27473}, {f: 5, c: 27482},
27488, {f: 2, c: 27496}, {f: 7, c: 27499}, {f: 4, c: 27507}, 27514,
{f: 4, c: 27517}, 27525, 27528, 27532, {f: 4, c: 27534}, {f: 2, c: 27540},
27543, 27545, {f: 2, c: 27548}, {f: 2, c: 27551}, {f: 2, c: 27554},
{f: 5, c: 27557}, {f: 2, c: 27564}, {f: 2, c: 27568}, 27574,
{f: 2, c: 27576}, {f: 3, c: 27580}, 27584, {f: 2, c: 27587},
{f: 4, c: 27591}, 27596, 27598, {f: 2, c: 27600}, 27608, 27610,
{f: 5, c: 27612}, {f: 8, c: 27618}, {f: 3, c: 27628}, {f: 3, c: 27632},
27636, {f: 3, c: 27638}, {f: 3, c: 27642}, 27646, {f: 5, c: 27648},
{f: 3, c: 27657}, 27662, 27666, 27671, {f: 3, c: 27676}, 27680, 27685,
27693, 27697, 27699, {f: 2, c: 27702}, {f: 4, c: 27705}, {f: 2, c: 27710},
{f: 3, c: 27715}, 27720, {f: 5, c: 27723}, {f: 3, c: 27729}, 27734,
{f: 3, c: 27736}, {f: 2, c: 27746}, {f: 3, c: 27749}, {f: 5, c: 27755},
27761, 27763, 27765, {f: 2, c: 27767}, {f: 3, c: 27770}, {f: 2, c: 27775},
27780, 27783, {f: 2, c: 27786}, {f: 2, c: 27789}, {f: 2, c: 27793},
{f: 4, c: 27797}, 27802, {f: 3, c: 27804}, 27808, 27810, 27816, 27820,
{f: 2, c: 27823}, {f: 4, c: 27828}, 27834, {f: 4, c: 27840},
{f: 3, c: 27846}, 27851, {f: 3, c: 27853}, {f: 2, c: 27857},
{f: 3, c: 27864}, {f: 2, c: 27868}, 27871, 27876, {f: 2, c: 27878}, 27881,
{f: 2, c: 27884}, 27890, 27892, 27897, {f: 2, c: 27903}, {f: 2, c: 27906},
{f: 2, c: 27909}, {f: 3, c: 27912}, 27917, {f: 3, c: 27919},
{f: 4, c: 27923}, 27928, {f: 2, c: 27932}, {f: 6, c: 27935}, 27942,

{f: 2,
{f: 3,
27984,
{f: 2,
{f: 2,
28038,
28060,
{f: 2,
{f: 4,
{f: 2,
28148,
{f: 2,
{f: 2,
28211,
{f: 8,
{f: 2,
{f: 3,
{f: 5,
{f: 2,
28341,
{f: 3,
{f: 3,
{f: 2,
{f: 3,
{f: 4,
{f: 2,
{f: 3,
{f: 3,
{f: 6,
{f: 2,
{f: 8,
{f: 2,
{f: 2,
{f: 7,
{f: 2,
{f: 8,
{f: 3,
28702,
{f: 2,
{f: 7,
{f: 2,
{f: 3,
{f: 4,
28819,
{f: 3,
{f: 4,
{f: 4,
28920,
{f: 2,
{f: 8,
29003,
29027,
29049,
{f: 4,
{f: 5,
29106,
{f: 4,
{f: 3,
{f: 5,
29181,

c: 27944}, {f: 2, c: 27948}, {f: 2, c: 27951}, 27956,


c: 27958}, 27962, {f: 2, c: 27967}, 27970, 27972, 27977, 27980,
{f: 4, c: 27989}, 27995, 27997, 27999, {f: 2, c: 28001},
c: 28004}, {f: 2, c: 28007}, {f: 3, c: 28011}, {f: 4, c: 28016},
c: 28021}, {f: 2, c: 28026}, {f: 5, c: 28029}, {f: 2, c: 28035},
{f: 2, c: 28042}, 28045, {f: 2, c: 28047}, 28050, {f: 5, c: 28054},
28066, 28069, {f: 2, c: 28076}, {f: 2, c: 28080}, {f: 2, c: 28083},
c: 28086}, {f: 6, c: 28089}, {f: 3, c: 28097}, {f: 3, c: 28104},
c: 28109}, {f: 4, c: 28114}, 28119, {f: 3, c: 28122}, 28127,
c: 28130}, 28133, {f: 3, c: 28135}, 28141, {f: 2, c: 28143}, 28146,
28152, {f: 8, c: 28157}, {f: 4, c: 28166}, 28171, 28175,
c: 28178}, 28181, {f: 2, c: 28184}, {f: 2, c: 28187},
c: 28190}, 28194, {f: 2, c: 28199}, 28202, 28206, {f: 2, c: 28208},
{f: 3, c: 28213}, 28217, {f: 3, c: 28219}, {f: 4, c: 28223},
c: 28229}, {f: 4, c: 28239}, 28245, 28247, {f: 2, c: 28249},
c: 28252}, {f: 11, c: 28256}, {f: 2, c: 28268}, {f: 14, c: 28272},
c: 28288}, 28292, {f: 2, c: 28295}, {f: 5, c: 28298},
c: 28305}, 28311, {f: 3, c: 28313}, 28318, {f: 2, c: 28320},
c: 28323}, 28326, {f: 2, c: 28328}, {f: 4, c: 28331}, 28336, 28339,
{f: 2, c: 28344}, 28348, {f: 3, c: 28350}, 28355, 28358,
c: 28360}, 28365, 28368, 28370, 28374, {f: 2, c: 28376},
c: 28379}, 28387, 28391, {f: 2, c: 28394}, {f: 2, c: 28397},
c: 28400}, 28403, {f: 2, c: 28405}, {f: 5, c: 28410}, 28416,
c: 28419}, {f: 2, c: 28423}, {f: 5, c: 28426}, {f: 3, c: 28432},
c: 28438}, {f: 5, c: 28443}, 28449, {f: 4, c: 28453}, 28462, 28464,
c: 28468}, 28471, {f: 5, c: 28473}, 28480, {f: 4, c: 28482},
c: 28488}, 28492, {f: 3, c: 28494}, {f: 2, c: 28498},
c: 28501}, {f: 2, c: 28506}, 28509, {f: 3, c: 28511}, 28515, 28517,
c: 28519}, 28529, 28531, {f: 2, c: 28533}, 28537, 28539,
c: 28541}, {f: 3, c: 28545}, 28549, {f: 2, c: 28554},
c: 28559}, {f: 4, c: 28568}, {f: 3, c: 28573}, {f: 2, c: 28578},
c: 28581}, 28584, {f: 4, c: 28586}, {f: 2, c: 28591}, 28594,
c: 28596}, {f: 2, c: 28599}, {f: 6, c: 28602}, {f: 5, c: 28612},
c: 28618}, {f: 2, c: 28627}, {f: 2, c: 28630}, {f: 2, c: 28633},
c: 28636}, {f: 2, c: 28642}, {f: 6, c: 28645}, {f: 2, c: 28652},
c: 28658}, 28667, 28669, {f: 6, c: 28671}, {f: 2, c: 28679}, 28682,
c: 28684}, 28688, {f: 3, c: 28690}, {f: 2, c: 28694}, 28697, 28700,
{f: 2, c: 28705}, {f: 3, c: 28708}, {f: 7, c: 28713}, 28721,
c: 28723}, {f: 3, c: 28726}, {f: 4, c: 28730}, {f: 4, c: 28735},
c: 28741}, {f: 2, c: 28749}, 28752, {f: 3, c: 28754},
c: 28758}, {f: 4, c: 28761}, {f: 4, c: 28767}, {f: 2, c: 28773},
c: 28776}, 28782, {f: 4, c: 28785}, 28791, {f: 3, c: 28793}, 28797,
c: 28801}, {f: 3, c: 28806}, {f: 3, c: 28811}, {f: 3, c: 28815},
{f: 2, c: 28823}, {f: 2, c: 28826}, {f: 13, c: 28830}, 28848, 28850,
c: 28852}, 28858, {f: 2, c: 28862}, {f: 4, c: 28868}, 28873,
c: 28875}, {f: 8, c: 28880}, 28890, {f: 3, c: 28892},
c: 28896}, 28901, 28906, 28910, {f: 4, c: 28912}, {f: 2, c: 28917},
{f: 3, c: 28922}, {f: 11, c: 28926}, {f: 5, c: 28939},
c: 28945}, 28948, 28951, {f: 6, c: 28955}, {f: 4, c: 28962},
c: 28967}, {f: 4, c: 28978}, {f: 14, c: 28983}, {f: 3, c: 28998},
29005, {f: 3, c: 29007}, {f: 9, c: 29011}, 29021, {f: 3, c: 29023},
29029, {f: 2, c: 29034}, 29037, {f: 3, c: 29039}, {f: 4, c: 29044},
{f: 2, c: 29051}, {f: 6, c: 29054}, {f: 5, c: 29061},
c: 29067}, {f: 2, c: 29072}, 29075, {f: 2, c: 29077},
c: 29082}, {f: 7, c: 29089}, {f: 3, c: 29097}, {f: 4, c: 29101},
29108, {f: 3, c: 29110}, {f: 4, c: 29114}, {f: 2, c: 29119}, 29122,
c: 29124}, {f: 5, c: 29129}, {f: 3, c: 29135}, 29139,
c: 29142}, {f: 2, c: 29146}, {f: 2, c: 29149}, {f: 4, c: 29153},
c: 29160}, {f: 5, c: 29167}, {f: 4, c: 29173}, {f: 2, c: 29178},
{f: 7, c: 29183}, {f: 6, c: 29191}, {f: 2, c: 29198},

{f: 10, c: 29201}, 29212, {f: 10, c: 29214}, 29225, 29227,


{f: 3, c: 29229}, {f: 2, c: 29235}, 29244, {f: 7, c: 29248},
{f: 3, c: 29257}, {f: 4, c: 29262}, {f: 3, c: 29267}, 29271, 29274, 29276,
29278, 29280, {f: 3, c: 29283}, 29288, {f: 4, c: 29290}, {f: 2, c: 29296},
{f: 2, c: 29299}, {f: 3, c: 29302}, {f: 2, c: 29307}, {f: 2, c: 29314},
{f: 5, c: 29317}, 29324, 29326, {f: 2, c: 29328}, {f: 3, c: 29331},
{f: 8, c: 29335}, {f: 2, c: 29344}, {f: 4, c: 29347}, {f: 4, c: 29352},
29358, {f: 3, c: 29361}, 29365, {f: 6, c: 29370}, {f: 3, c: 29381},
{f: 4, c: 29385}, 29391, 29393, {f: 4, c: 29395}, 29400, {f: 4, c: 29402},
29407, {f: 6, c: 29410}, {f: 2, c: 29418}, {f: 2, c: 29429},
{f: 3, c: 29438}, 29442, {f: 6, c: 29444}, {f: 3, c: 29451},
{f: 4, c: 29455}, 29460, {f: 3, c: 29464}, {f: 2, c: 29471},
{f: 2, c: 29475}, {f: 3, c: 29478}, 29485, {f: 2, c: 29487},
{f: 2, c: 29490}, 29493, 29498, {f: 2, c: 29500}, 29504, {f: 2, c: 29506},
{f: 7, c: 29510}, {f: 2, c: 29518}, 29521, {f: 4, c: 29523},
{f: 8, c: 29528}, {f: 7, c: 29537}, 29545, 29550, 29553, {f: 2, c: 29555},
29558, 29561, 29565, 29567, {f: 3, c: 29569}, {f: 2, c: 29573}, 29576,
29578, {f: 2, c: 29580}, {f: 2, c: 29583}, {f: 4, c: 29586},
{f: 4, c: 29591}, {f: 3, c: 29596}, {f: 2, c: 29600}, {f: 6, c: 29603},
29610, {f: 2, c: 29612}, 29617, {f: 3, c: 29620}, {f: 2, c: 29624},
{f: 4, c: 29628}, 29633, {f: 5, c: 29635}, {f: 2, c: 29643}, 29646,
{f: 7, c: 29650}, {f: 4, c: 29658}, 29663, {f: 4, c: 29665}, 29670, 29672,
{f: 3, c: 29674}, {f: 4, c: 29678}, {f: 11, c: 29683}, {f: 4, c: 29695},
29700, {f: 2, c: 29703}, {f: 4, c: 29707}, {f: 9, c: 29713},
{f: 6, c: 29724}, {f: 2, c: 29731}, 29735, 29737, 29739, 29741, 29743,
{f: 2, c: 29745}, {f: 5, c: 29751}, {f: 2, c: 29757}, 29760,
{f: 9, c: 29762}, {f: 9, c: 29772}, 29782, 29784, 29789, {f: 3, c: 29792},
{f: 5, c: 29796}, {f: 2, c: 29803}, {f: 2, c: 29806}, {f: 5, c: 29809},
{f: 6, c: 29816}, 29823, 29826, {f: 3, c: 29828}, 29832, 29834,
{f: 2, c: 29836}, 29839, {f: 11, c: 29841}, 29853, {f: 4, c: 29855},
{f: 2, c: 29860}, {f: 6, c: 29866}, {f: 9, c: 29873}, {f: 2, c: 29883},
{f: 12, c: 29886}, {f: 4, c: 29899}, {f: 2, c: 29904}, 29907,
{f: 5, c: 29909}, 29915, 29917, 29919, 29921, 29925, {f: 7, c: 29927},
{f: 4, c: 29936}, 29941, {f: 7, c: 29944}, {f: 4, c: 29952},
{f: 7, c: 29957}, 29966, 29968, 29970, {f: 4, c: 29972}, 29979,
{f: 2, c: 29981}, {f: 3, c: 29984}, 29988, {f: 2, c: 29990}, 29994, 29998,
30004, 30006, 30009, {f: 2, c: 30012}, 30015, {f: 4, c: 30017},
{f: 2, c: 30022}, {f: 2, c: 30025}, 30029, {f: 4, c: 30032},
{f: 4, c: 30037}, {f: 4, c: 30046}, {f: 2, c: 30051}, {f: 3, c: 30055},
{f: 6, c: 30060}, 30067, 30069, 30071, {f: 5, c: 30074}, {f: 3, c: 30080},
{f: 2, c: 30084}, {f: 3, c: 30088}, {f: 3, c: 30092}, 30096, 30099, 30101,
30104, {f: 2, c: 30107}, 30110, 30114, {f: 5, c: 30118}, 30125,
{f: 2, c: 30134}, {f: 2, c: 30138}, {f: 3, c: 30143}, 30150,
{f: 2, c: 30155}, {f: 4, c: 30158}, 30163, 30167, 30170, {f: 2, c: 30172},
{f: 3, c: 30175}, 30181, 30185, {f: 4, c: 30188}, {f: 2, c: 30194},
{f: 4, c: 30197}, {f: 2, c: 30202}, {f: 2, c: 30205}, 30212,
{f: 4, c: 30214}, {f: 2, c: 30222}, {f: 4, c: 30225}, 30230, 30234,
{f: 2, c: 30236}, 30243, 30248, 30252, {f: 2, c: 30254}, {f: 2, c: 30257},
{f: 2, c: 30262}, {f: 2, c: 30265}, 30269, 30273, {f: 2, c: 30276}, 30280,
{f: 2, c: 30282}, {f: 6, c: 30286}, 30293, 30295, {f: 3, c: 30297}, 30301,
{f: 2, c: 30304}, 30310, 30312, 30314, {f: 3, c: 30323}, [12136, 30326],
30327, {f: 2, c: 30329}, {f: 3, c: 30335}, 30339, 30341, {f: 2, c: 30345},
{f: 2, c: 30348}, {f: 2, c: 30351}, 30354, {f: 2, c: 30356},
{f: 2, c: 30359}, {f: 9, c: 30363}, {f: 9, c: 30373}, {f: 2, c: 30383},
30387, {f: 3, c: 30389}, 30393, {f: 4, c: 30395}, {f: 2, c: 30400},
{f: 2, c: 30403}, 30407, 30409, {f: 2, c: 30411}, 30419, 30421,
{f: 2, c: 30425}, {f: 2, c: 30428}, 30432, 30434, 30438, {f: 6, c: 30440},
30448, 30451, {f: 3, c: 30453}, {f: 2, c: 30458}, 30461, {f: 2, c: 30463},
{f: 2, c: 30466}, {f: 2, c: 30469}, 30474, 30476, {f: 11, c: 30478},
{f: 4, c: 30491}, 30497, {f: 3, c: 30499}, 30503, {f: 3, c: 30506}, 30510,

{f: 5, c: 30512}, 30521, 30523, {f: 3, c: 30525}, 30530, {f: 3, c: 30532},


{f: 7, c: 30536}, {f: 8, c: 30546}, {f: 2, c: 30556}, {f: 2, c: 30559},
30564, 30567, {f: 2, c: 30569}, {f: 12, c: 30573}, {f: 3, c: 30586},
{f: 3, c: 30593}, {f: 6, c: 30598}, {f: 2, c: 30607}, {f: 5, c: 30611},
{f: 5, c: 30617}, 30625, {f: 2, c: 30627}, 30630, 30632, 30635,
{f: 2, c: 30638}, {f: 2, c: 30641}, 30644, {f: 5, c: 30646}, 30654,
{f: 7, c: 30656}, {f: 5, c: 30664}, {f: 9, c: 30670}, {f: 2, c: 30680},
{f: 5, c: 30685}, 30692, 30694, 30696, 30698, {f: 3, c: 30704},
{f: 2, c: 30708}, 30711, {f: 4, c: 30713}, {f: 6, c: 30723},
{f: 2, c: 30730}, {f: 3, c: 30734}, 30739, 30741, 30745, 30747, 30750,
{f: 3, c: 30752}, 30756, 30760, {f: 2, c: 30762}, {f: 2, c: 30766},
{f: 3, c: 30769}, {f: 2, c: 30773}, 30781, 30783, {f: 2, c: 30785}, 30788,
30790, {f: 4, c: 30792}, 30797, 30799, 30801, {f: 2, c: 30803},
{f: 5, c: 30808}, {f: 6, c: 30814}, {f: 3, c: 30821}, 30825,
{f: 7, c: 30832}, {f: 4, c: 30840}, {f: 10, c: 30845}, 30856,
{f: 2, c: 30858}, {f: 2, c: 30863}, 30866, {f: 3, c: 30868}, 30873,
{f: 2, c: 30877}, 30880, 30882, 30884, 30886, 30888, {f: 3, c: 30890},
{f: 2, c: 30894}, {f: 3, c: 30901}, 30907, 30909, {f: 2, c: 30911},
{f: 3, c: 30914}, {f: 3, c: 30918}, {f: 4, c: 30924}, {f: 3, c: 30929},
{f: 3, c: 30934}, {f: 8, c: 30939}, {f: 3, c: 30948}, {f: 3, c: 30953},
{f: 2, c: 30957}, {f: 2, c: 30960}, 30963, {f: 2, c: 30965},
{f: 2, c: 30968}, {f: 2, c: 30971}, {f: 3, c: 30974}, {f: 3, c: 30978},
{f: 8, c: 30982}, {f: 4, c: 30991}, {f: 5, c: 30996}, {f: 4, c: 31002},
{f: 5, c: 31007}, 31013, {f: 3, c: 31015}, {f: 4, c: 31021},
{f: 2, c: 31026}, {f: 5, c: 31029}, 31037, 31039, {f: 4, c: 31042}, 31047,
{f: 9, c: 31050}, {f: 2, c: 31060}, {f: 2, c: 31064}, 31073,
{f: 2, c: 31075}, 31078, {f: 4, c: 31081}, 31086, {f: 7, c: 31088}, 31097,
{f: 5, c: 31099}, {f: 2, c: 31106}, {f: 4, c: 31110}, {f: 2, c: 31115},
{f: 10, c: 31120}, {f: 11, c: 31131}, {f: 2, c: 31144}, {f: 3, c: 31147},
31151, 31154, {f: 4, c: 31156}, [12145, 31160], 31164, 31167, 31170,
{f: 2, c: 31172}, {f: 2, c: 31175}, 31178, 31180, {f: 3, c: 31182},
{f: 2, c: 31187}, {f: 2, c: 31190}, {f: 6, c: 31193}, {f: 3, c: 31200},
31205, 31208, 31210, 31212, 31214, {f: 7, c: 31217}, {f: 2, c: 31225},
31228, {f: 2, c: 31230}, 31233, {f: 2, c: 31236}, {f: 4, c: 31239}, 31244,
{f: 5, c: 31247}, {f: 2, c: 31253}, {f: 2, c: 31256}, {f: 3, c: 31259},
31263, {f: 2, c: 31265}, {f: 10, c: 31268}, {f: 2, c: 31279}, 31282,
{f: 3, c: 31284}, 31288, 31290, 31294, {f: 5, c: 31297}, {f: 5, c: 31303},
{f: 2, c: 31311}, {f: 5, c: 31314}, {f: 9, c: 31320}, {f: 6, c: 31331},
31338, {f: 4, c: 31340}, {f: 3, c: 31345}, 31349, {f: 4, c: 31355}, 31362,
31365, 31367, {f: 4, c: 31369}, {f: 3, c: 31374}, {f: 2, c: 31379},
{f: 3, c: 31385}, 31390, {f: 4, c: 31393}, 31399, 31403, {f: 4, c: 31407},
{f: 2, c: 31412}, {f: 3, c: 31415}, {f: 4, c: 31419}, {f: 4, c: 31424},
31430, 31433, {f: 10, c: 31436}, {f: 2, c: 31447}, {f: 4, c: 31450},
{f: 2, c: 31457}, 31460, {f: 3, c: 31463}, {f: 2, c: 31467}, 31470,
{f: 6, c: 31472}, {f: 2, c: 31479}, {f: 2, c: 31483}, 31486,
{f: 3, c: 31488}, 31493, 31495, 31497, {f: 3, c: 31500}, 31504,
{f: 2, c: 31506}, {f: 3, c: 31510}, 31514, {f: 2, c: 31516}, 31519,
{f: 3, c: 31521}, 31527, 31529, 31533, {f: 2, c: 31535}, 31538,
{f: 4, c: 31540}, 31545, 31547, 31549, {f: 6, c: 31551}, 31560, 31562,
{f: 2, c: 31565}, 31571, 31573, 31575, 31577, 31580, {f: 2, c: 31582},
31585, {f: 4, c: 31587}, {f: 6, c: 31592}, {f: 2, c: 31599},
{f: 2, c: 31603}, 31606, 31608, 31610, {f: 2, c: 31612}, 31615,
{f: 4, c: 31617}, {f: 5, c: 31622}, 31628, {f: 2, c: 31630},
{f: 3, c: 31633}, 31638, {f: 4, c: 31640}, {f: 3, c: 31646},
{f: 3, c: 31651}, {f: 3, c: 31662}, {f: 2, c: 31666}, {f: 3, c: 31669},
{f: 7, c: 31673}, {f: 2, c: 31682}, 31685, 31688, 31690, {f: 4, c: 31693},
31698, {f: 5, c: 31700}, {f: 2, c: 31707}, {f: 3, c: 31710},
{f: 2, c: 31714}, {f: 2, c: 31719}, {f: 3, c: 31723}, {f: 2, c: 31727},
31730, {f: 3, c: 31732}, {f: 4, c: 31736}, 31741, 31743, {f: 6, c: 31745},
{f: 3, c: 31752}, 31758, {f: 6, c: 31760}, {f: 7, c: 31767}, 31776, 31778,

{f: 2, c: 31780}, {f: 2, c: 31784}, {f: 12, c: 31788}, {f: 4, c: 31801},


31810, {f: 8, c: 31812}, {f: 14, c: 31822}, {f: 2, c: 31837},
{f: 3, c: 31841}, {f: 4, c: 31845}, 31851, 31853, {f: 3, c: 31855},
{f: 6, c: 31861}, {f: 11, c: 31870}, {f: 7, c: 31882}, {f: 2, c: 31891},
31894, {f: 3, c: 31897}, {f: 2, c: 31904}, 31907, {f: 4, c: 31910},
{f: 3, c: 31915}, {f: 2, c: 31919}, {f: 5, c: 31924}, {f: 2, c: 31930},
{f: 2, c: 31935}, {f: 3, c: 31938}, 31942, 31945, 31947, {f: 7, c: 31950},
31960, {f: 2, c: 31962}, {f: 6, c: 31969}, {f: 6, c: 31977}, 31985, 31987,
31989, 31991, 31994, {f: 2, c: 31996}, 31999, 32001, 32003, 32012,
{f: 2, c: 32014}, {f: 2, c: 32017}, 32022, 32024, {f: 3, c: 32029},
{f: 4, c: 32035}, {f: 3, c: 32040}, {f: 3, c: 32044}, {f: 5, c: 32052},
32059, {f: 2, c: 32061}, 32065, 32067, 32069, {f: 7, c: 32071}, 32079,
{f: 12, c: 32081}, {f: 2, c: 32095}, {f: 3, c: 32099}, 32103,
{f: 5, c: 32105}, {f: 2, c: 32111}, {f: 2, c: 32116}, 32120,
{f: 7, c: 32122}, 32130, {f: 2, c: 32132}, 32135, {f: 5, c: 32138},
{f: 3, c: 32144}, {f: 8, c: 32148}, 32157, {f: 3, c: 32159},
{f: 2, c: 32164}, {f: 4, c: 32167}, 32175, {f: 3, c: 32181}, 32188,
{f: 4, c: 32192}, {f: 2, c: 32197}, {f: 2, c: 32200}, {f: 5, c: 32204},
32211, {f: 2, c: 32213}, {f: 3, c: 32218}, 32223, 32226, {f: 2, c: 32228},
32231, {f: 2, c: 32234}, {f: 2, c: 32237}, 32240, 32243, 32245,
{f: 2, c: 32247}, 32250, {f: 12, c: 32252}, {f: 4, c: 32268},
{f: 9, c: 32274}, 32284, {f: 3, c: 32288}, {f: 3, c: 32292},
{f: 3, c: 32296}, 32300, {f: 2, c: 32303}, 32307, 32312, 32314, 32316,
{f: 2, c: 32319}, {f: 3, c: 32322}, {f: 10, c: 32328}, 32339,
{f: 4, c: 32342}, {f: 3, c: 32347}, {f: 3, c: 32351}, {f: 6, c: 32355},
32364, {f: 2, c: 32369}, {f: 5, c: 32372}, {f: 2, c: 32378},
{f: 3, c: 32383}, {f: 5, c: 32387}, 32393, 32395, 32398, {f: 3, c: 32400},
32405, 32407, {f: 2, c: 32409}, {f: 2, c: 32413}, 32430, 32436,
{f: 2, c: 32443}, 32470, 32484, 32492, 32505, 32522, 32528, 32542, 32567,
32569, {f: 7, c: 32571}, 32579, {f: 6, c: 32582}, 32589, 32591,
{f: 2, c: 32594}, 32598, 32601, {f: 4, c: 32603}, 32608, {f: 5, c: 32611},
{f: 3, c: 32619}, 32623, 32627, {f: 2, c: 32629}, 32632, {f: 4, c: 32634},
{f: 2, c: 32639}, {f: 3, c: 32642}, 32647, 32649, 32651, 32653,
{f: 5, c: 32655}, {f: 5, c: 32661}, {f: 2, c: 32667}, 32672,
{f: 2, c: 32674}, 32678, 32680, {f: 5, c: 32682}, 32689, {f: 5, c: 32691},
{f: 2, c: 32698}, 32702, 32704, {f: 3, c: 32706}, {f: 4, c: 32710}, 32715,
32717, {f: 3, c: 32719}, 32723, {f: 2, c: 32726}, {f: 6, c: 32729},
{f: 3, c: 32738}, {f: 2, c: 32743}, {f: 4, c: 32746}, 32751, 32754,
{f: 5, c: 32756}, 32762, {f: 3, c: 32765}, 32770, {f: 4, c: 32775},
{f: 2, c: 32782}, 32785, 32787, {f: 2, c: 32794}, {f: 3, c: 32797}, 32801,
{f: 2, c: 32803}, 32811, 32813, {f: 2, c: 32815}, 32818, 32820,
{f: 2, c: 32825}, 32828, 32830, {f: 2, c: 32832}, {f: 2, c: 32836},
{f: 3, c: 32839}, {f: 4, c: 32846}, 32851, 32853, 32855, 32857,
{f: 3, c: 32859}, {f: 10, c: 32863}, {f: 4, c: 32875}, 32884, 32888,
{f: 3, c: 32890}, {f: 2, c: 32897}, 32904, 32906, {f: 6, c: 32909},
{f: 2, c: 32916}, 32919, 32921, 32926, 32931, {f: 3, c: 32934}, 32940,
32944, 32947, {f: 2, c: 32949}, {f: 2, c: 32952}, 32955, 32965,
{f: 5, c: 32967}, {f: 7, c: 32975}, 32984, {f: 2, c: 32991},
{f: 2, c: 32994}, 32998, 33006, 33013, 33015, 33017, 33019,
{f: 4, c: 33022}, {f: 2, c: 33027}, {f: 2, c: 33031}, {f: 2, c: 33035},
33045, 33047, 33049, {f: 2, c: 33052}, {f: 13, c: 33055}, {f: 2, c: 33069},
33072, {f: 3, c: 33075}, 33079, {f: 4, c: 33082}, {f: 7, c: 33087}, 33095,
33097, 33101, 33103, 33106, {f: 2, c: 33111}, {f: 5, c: 33115},
{f: 3, c: 33122}, 33128, 33130, 33132, 33135, {f: 2, c: 33138},
{f: 3, c: 33141}, 33153, {f: 5, c: 33155}, 33161, {f: 4, c: 33163}, 33168,
{f: 6, c: 33170}, 33177, {f: 2, c: 33182}, {f: 2, c: 33185},
{f: 2, c: 33188}, 33191, {f: 8, c: 33195}, {f: 6, c: 33204}, 33212,
{f: 2, c: 33220}, {f: 2, c: 33223}, 33227, 33230, {f: 8, c: 33232}, 33241,
{f: 4, c: 33243}, {f: 2, c: 33249}, {f: 3, c: 33252}, 33257, 33259,
{f: 5, c: 33262}, {f: 5, c: 33269}, 33277, 33279, 33283, 33291,

{f: 2, c: 33294}, 33297, 33299, {f: 6, c: 33301}, 33309, 33312,


{f: 4, c: 33316}, 33321, 33326, 33330, 33338, {f: 2, c: 33340},
{f: 5, c: 33343}, {f: 2, c: 33349}, 33352, 33354, {f: 3, c: 33356},
{f: 8, c: 33360}, {f: 4, c: 33371}, {f: 4, c: 33376}, 33381, 33383,
{f: 2, c: 33385}, {f: 2, c: 33388}, {f: 2, c: 33397}, [12171, 33400],
{f: 2, c: 33403}, {f: 2, c: 33408}, 33411, {f: 3, c: 33413}, 33417, 33420,
33424, {f: 4, c: 33427}, {f: 2, c: 33434}, 33438, 33440, {f: 2, c: 33442},
33447, 33458, {f: 2, c: 33461}, 33466, 33468, {f: 2, c: 33471},
{f: 2, c: 33474}, {f: 2, c: 33477}, 33481, 33488, 33494, {f: 2, c: 33497},
33501, 33506, {f: 3, c: 33512}, {f: 3, c: 33516}, 33520, {f: 2, c: 33522},
{f: 2, c: 33525}, 33528, 33530, {f: 5, c: 33532}, {f: 2, c: 33546}, 33549,
33552, {f: 2, c: 33554}, 33558, {f: 2, c: 33560}, {f: 10, c: 33565},
{f: 2, c: 33577}, 33582, 33584, 33586, 33591, 33595, {f: 3, c: 33597},
{f: 2, c: 33601}, {f: 2, c: 33604}, 33608, {f: 5, c: 33610}, 33619,
{f: 5, c: 33621}, 33629, 33634, {f: 7, c: 33648}, {f: 2, c: 33657},
{f: 7, c: 33662}, {f: 2, c: 33671}, {f: 3, c: 33675}, {f: 3, c: 33679},
{f: 2, c: 33684}, 33687, {f: 2, c: 33689}, 33693, 33695, 33697,
{f: 4, c: 33699}, {f: 4, c: 33708}, 33717, 33723, {f: 2, c: 33726},
{f: 3, c: 33730}, 33734, {f: 2, c: 33736}, 33739, {f: 2, c: 33741},
{f: 4, c: 33744}, 33749, 33751, {f: 3, c: 33753}, 33758, {f: 3, c: 33762},
{f: 3, c: 33766}, {f: 4, c: 33771}, {f: 5, c: 33779}, {f: 3, c: 33786},
{f: 3, c: 33790}, 33794, 33797, {f: 2, c: 33800}, 33808, {f: 6, c: 33810},
{f: 3, c: 33817}, {f: 6, c: 33822}, {f: 3, c: 33833}, {f: 4, c: 33837},
{f: 3, c: 33842}, {f: 2, c: 33846}, {f: 3, c: 33849}, {f: 8, c: 33854},
{f: 2, c: 33863}, {f: 7, c: 33866}, {f: 4, c: 33875}, 33880,
{f: 4, c: 33885}, 33890, 33893, {f: 2, c: 33895}, 33898, 33902, 33904,
33906, 33908, 33913, {f: 7, c: 33915}, {f: 4, c: 33923}, 33930, 33933,
{f: 4, c: 33935}, {f: 2, c: 33941}, 33944, {f: 2, c: 33946},
{f: 4, c: 33949}, {f: 13, c: 33954}, {f: 2, c: 33968}, 33971,
{f: 3, c: 33973}, 33979, 33982, {f: 2, c: 33986}, {f: 4, c: 33989}, 33996,
{f: 2, c: 33998}, 34002, {f: 2, c: 34004}, {f: 6, c: 34007}, 34014,
{f: 2, c: 34017}, 34020, {f: 5, c: 34023}, 34029, {f: 11, c: 34033}, 34046,
{f: 12, c: 34048}, {f: 4, c: 34061}, 34066, {f: 2, c: 34069},
{f: 2, c: 34072}, {f: 3, c: 34075}, 34080, 34082, {f: 2, c: 34084},
{f: 4, c: 34087}, {f: 9, c: 34094}, {f: 3, c: 34110}, 34114,
{f: 2, c: 34116}, 34119, {f: 3, c: 34123}, {f: 3, c: 34127}, 34132, 34135,
{f: 4, c: 34138}, {f: 3, c: 34143}, 34147, {f: 3, c: 34149},
{f: 2, c: 34155}, {f: 4, c: 34158}, 34163, {f: 2, c: 34165}, 34168,
{f: 2, c: 34172}, {f: 5, c: 34175}, 34182, 34185, 34187, {f: 2, c: 34189},
34192, {f: 2, c: 34194}, {f: 6, c: 34197}, {f: 2, c: 34205},
{f: 4, c: 34208}, 34213, 34215, {f: 3, c: 34219}, {f: 6, c: 34225}, 34232,
{f: 6, c: 34235}, {f: 7, c: 34242}, {f: 3, c: 34250}, {f: 2, c: 34257},
34260, {f: 6, c: 34262}, {f: 6, c: 34270}, {f: 3, c: 34278},
{f: 9, c: 34283}, 34293, {f: 2, c: 34295}, {f: 3, c: 34300},
{f: 4, c: 34304}, {f: 3, c: 34312}, {f: 5, c: 34316}, {f: 4, c: 34322},
{f: 3, c: 34327}, {f: 3, c: 34331}, {f: 3, c: 34335}, {f: 4, c: 34339},
34344, {f: 3, c: 34346}, {f: 10, c: 34350}, 34361, 34363, {f: 2, c: 34365},
{f: 13, c: 34368}, {f: 2, c: 34386}, {f: 4, c: 34390}, 34395, 34397,
{f: 2, c: 34400}, {f: 4, c: 34403}, {f: 3, c: 34408}, 34413,
{f: 2, c: 34415}, {f: 7, c: 34418}, {f: 7, c: 34435}, {f: 5, c: 34446},
34452, {f: 6, c: 34454}, {f: 5, c: 34462}, {f: 2, c: 34469}, 34475,
{f: 2, c: 34477}, {f: 2, c: 34482}, {f: 3, c: 34487}, {f: 5, c: 34491},
{f: 3, c: 34497}, 34501, 34504, {f: 2, c: 34508}, {f: 2, c: 34514},
{f: 3, c: 34517}, 34522, {f: 2, c: 34524}, {f: 4, c: 34528},
{f: 4, c: 34533}, {f: 3, c: 34538}, 34543, {f: 3, c: 34549},
{f: 3, c: 34555}, 34559, 34561, {f: 2, c: 34564}, {f: 2, c: 34571},
{f: 4, c: 34574}, 34580, 34582, 34585, 34587, 34589, {f: 2, c: 34591},
34596, {f: 3, c: 34598}, {f: 4, c: 34602}, {f: 2, c: 34607},
{f: 2, c: 34610}, {f: 2, c: 34613}, {f: 3, c: 34616}, {f: 2, c: 34620},
{f: 7, c: 34624}, {f: 2, c: 34634}, 34637, {f: 4, c: 34639}, 34644, 34646,

34648, {f: 6, c: 34650}, {f: 2, c: 34657}, {f: 7, c: 34663}, 34671,


{f: 3, c: 34673}, 34677, 34679, {f: 2, c: 34681}, {f: 3, c: 34687},
{f: 2, c: 34694}, {f: 2, c: 34697}, 34700, {f: 5, c: 34702},
{f: 3, c: 34708}, {f: 6, c: 34712}, {f: 2, c: 34720}, {f: 5, c: 34723},
{f: 2, c: 34729}, 34734, {f: 3, c: 34736}, 34740, {f: 4, c: 34742}, 34748,
{f: 2, c: 34750}, {f: 3, c: 34753}, 34757, 34759, 34761, {f: 2, c: 34764},
{f: 2, c: 34767}, {f: 7, c: 34772}, {f: 4, c: 34780}, {f: 2, c: 34785},
34788, {f: 4, c: 34790}, 34795, 34797, {f: 2, c: 34800}, {f: 3, c: 34803},
{f: 2, c: 34807}, 34810, {f: 2, c: 34812}, {f: 4, c: 34815}, 34820,
{f: 3, c: 34823}, {f: 5, c: 34827}, 34834, 34836, {f: 4, c: 34839},
{f: 3, c: 34844}, 34848, {f: 13, c: 34852}, {f: 3, c: 34867},
{f: 2, c: 34871}, 34874, {f: 3, c: 34877}, {f: 3, c: 34881},
{f: 3, c: 34887}, 34891, {f: 5, c: 34894}, {f: 2, c: 34901}, 34904, 34906,
34908, {f: 3, c: 34910}, {f: 2, c: 34918}, 34922, 34925, 34927, 34929,
{f: 4, c: 34931}, 34936, {f: 3, c: 34938}, 34944, 34947, {f: 2, c: 34950},
{f: 2, c: 34953}, 34956, {f: 4, c: 34958}, {f: 3, c: 34963},
{f: 5, c: 34967}, {f: 5, c: 34973}, 34979, {f: 6, c: 34981}, 34988,
{f: 3, c: 34990}, {f: 5, c: 34994}, {f: 4, c: 35000}, {f: 4, c: 35005},
{f: 2, c: 35011}, {f: 2, c: 35015}, {f: 3, c: 35019}, {f: 2, c: 35024},
35027, {f: 2, c: 35030}, {f: 2, c: 35034}, 35038, {f: 2, c: 35040},
{f: 2, c: 35046}, {f: 7, c: 35049}, 35058, {f: 3, c: 35061},
{f: 2, c: 35066}, {f: 3, c: 35071}, {f: 4, c: 35075}, {f: 2, c: 35080},
{f: 5, c: 35083}, 35089, {f: 5, c: 35092}, {f: 5, c: 35100},
{f: 3, c: 35106}, {f: 4, c: 35110}, {f: 4, c: 35116}, 35121, 35125, 35127,
{f: 2, c: 35129}, {f: 5, c: 35132}, {f: 2, c: 35138}, {f: 2, c: 35141},
{f: 14, c: 35144}, {f: 6, c: 35159}, {f: 3, c: 35169}, 35173,
{f: 3, c: 35175}, 35179, {f: 2, c: 35181}, {f: 2, c: 35184},
{f: 8, c: 35187}, {f: 2, c: 35196}, [12177, 35198], 35200, 35202,
{f: 2, c: 35204}, {f: 4, c: 35207}, {f: 3, c: 35212}, {f: 3, c: 35216},
{f: 2, c: 35220}, 35223, {f: 8, c: 35225}, {f: 4, c: 35234},
{f: 3, c: 35239}, 35243, {f: 2, c: 35245}, {f: 2, c: 35248},
{f: 4, c: 35251}, {f: 2, c: 35256}, {f: 2, c: 35259}, 35262, 35267, 35277,
{f: 3, c: 35283}, {f: 3, c: 35287}, 35291, 35293, {f: 4, c: 35295}, 35300,
{f: 4, c: 35303}, {f: 3, c: 35308}, {f: 3, c: 35312}, 35317, 35319,
{f: 7, c: 35321}, {f: 3, c: 35332}, 35337, 35339, 35341, 35343,
{f: 2, c: 35345}, 35348, 35351, {f: 2, c: 35353}, 35356, 35358,
{f: 3, c: 35360}, 35364, {f: 4, c: 35366}, {f: 2, c: 35371},
{f: 3, c: 35374}, {f: 2, c: 35378}, 35381, {f: 3, c: 35383},
{f: 3, c: 35387}, {f: 2, c: 35391}, {f: 4, c: 35394}, 35399,
{f: 5, c: 35401}, 35407, 35409, 35411, {f: 2, c: 35414}, {f: 2, c: 35417},
{f: 2, c: 35420}, {f: 2, c: 35423}, {f: 2, c: 35428}, {f: 2, c: 35431},
35434, 35439, 35444, {f: 3, c: 35446}, {f: 2, c: 35450}, {f: 2, c: 35453},
{f: 4, c: 35456}, 35464, {f: 2, c: 35467}, {f: 3, c: 35470}, 35476,
{f: 2, c: 35478}, 35481, {f: 3, c: 35483}, 35487, 35490, 35495,
{f: 3, c: 35497}, {f: 3, c: 35501}, 35505, {f: 3, c: 35507},
{f: 2, c: 35511}, {f: 2, c: 35514}, {f: 2, c: 35517}, {f: 2, c: 35520},
35523, {f: 2, c: 35525}, 35528, 35530, 35532, 35534, 35536,
{f: 3, c: 35539}, {f: 3, c: 35544}, 35549, {f: 3, c: 35551}, 35555, 35557,
{f: 3, c: 35560}, 35564, {f: 2, c: 35567}, 35570, {f: 2, c: 35572}, 35577,
35579, 35581, 35583, 35587, 35590, {f: 2, c: 35592}, {f: 3, c: 35595},
35599, {f: 3, c: 35601}, 35605, 35608, 35612, {f: 3, c: 35614},
{f: 4, c: 35618}, 35623, {f: 2, c: 35625}, {f: 5, c: 35630},
{f: 5, c: 35636}, {f: 4, c: 35642}, {f: 10, c: 35647}, {f: 4, c: 35658},
{f: 6, c: 35664}, 35671, 35675, {f: 9, c: 35677}, {f: 4, c: 35687},
{f: 2, c: 35693}, {f: 3, c: 35697}, {f: 2, c: 35701}, {f: 5, c: 35704},
{f: 2, c: 35710}, {f: 9, c: 35713}, {f: 3, c: 35723}, {f: 3, c: 35727},
35732, {f: 5, c: 35735}, 35741, 35743, 35756, 35761, 35771, 35783, 35792,
35818, 35849, 35870, {f: 9, c: 35896}, {f: 4, c: 35906}, {f: 2, c: 35914},
{f: 3, c: 35917}, {f: 4, c: 35921}, {f: 4, c: 35926}, {f: 6, c: 35931},
{f: 7, c: 35939}, {f: 7, c: 35948}, {f: 4, c: 35956}, {f: 7, c: 35963},

{f: 2, c: 35971}, {f: 3, c: 35974}, 35979, {f: 7, c: 35981},


{f: 3, c: 35989}, {f: 4, c: 35993}, 35999, {f: 4, c: 36003},
{f: 2, c: 36013}, 36017, 36021, 36025, 36030, 36038, 36041,
{f: 6, c: 36043}, 36052, {f: 4, c: 36054}, 36059, 36061, 36063, 36069,
{f: 2, c: 36072}, {f: 6, c: 36078}, {f: 5, c: 36085}, {f: 5, c: 36095},
{f: 2, c: 36102}, 36105, 36108, 36110, {f: 5, c: 36113}, {f: 4, c: 36119},
36128, {f: 2, c: 36177}, 36183, 36191, 36197, {f: 3, c: 36200}, 36204,
{f: 2, c: 36206}, {f: 2, c: 36209}, {f: 9, c: 36216}, {f: 2, c: 36226},
{f: 4, c: 36230}, {f: 5, c: 36236}, {f: 2, c: 36242}, {f: 3, c: 36246},
{f: 5, c: 36250}, {f: 3, c: 36256}, {f: 4, c: 36260}, {f: 8, c: 36265},
{f: 2, c: 36278}, 36281, 36283, 36285, {f: 3, c: 36288}, 36293,
{f: 4, c: 36295}, 36301, 36304, {f: 4, c: 36306}, {f: 2, c: 36312}, 36316,
{f: 3, c: 36320}, {f: 3, c: 36325}, 36329, {f: 2, c: 36333},
{f: 3, c: 36336}, 36340, 36342, 36348, {f: 7, c: 36350}, {f: 3, c: 36358},
36363, {f: 2, c: 36365}, {f: 3, c: 36369}, {f: 8, c: 36373},
{f: 2, c: 36384}, {f: 5, c: 36388}, 36395, 36397, 36400, {f: 2, c: 36402},
{f: 3, c: 36406}, {f: 2, c: 36411}, {f: 2, c: 36414}, 36419,
{f: 2, c: 36421}, {f: 4, c: 36429}, {f: 2, c: 36435}, {f: 3, c: 36438},
{f: 9, c: 36442}, {f: 2, c: 36452}, {f: 2, c: 36455}, {f: 2, c: 36458},
36462, 36465, 36467, 36469, {f: 3, c: 36471}, 36475, {f: 2, c: 36477},
36480, {f: 3, c: 36482}, 36486, 36488, 36492, 36494, {f: 5, c: 36501},
36507, 36509, {f: 2, c: 36511}, {f: 3, c: 36514}, {f: 3, c: 36519},
{f: 2, c: 36525}, {f: 2, c: 36528}, {f: 7, c: 36531}, {f: 5, c: 36539},
{f: 9, c: 36545}, {f: 3, c: 36559}, 36563, {f: 6, c: 36565},
{f: 3, c: 36572}, {f: 4, c: 36576}, {f: 6, c: 36581}, {f: 6, c: 36588},
{f: 5, c: 36595}, 36605, {f: 4, c: 36607}, 36612, 36614, 36616,
{f: 7, c: 36619}, 36627, {f: 5, c: 36630}, {f: 5, c: 36640},
{f: 2, c: 36647}, {f: 4, c: 36651}, {f: 3, c: 36656}, {f: 4, c: 36660},
{f: 2, c: 36665}, {f: 2, c: 36668}, {f: 2, c: 36672}, 36675,
{f: 2, c: 36679}, {f: 3, c: 36682}, {f: 5, c: 36687}, {f: 10, c: 36693},
36704, 36707, 36709, 36714, 36736, 36748, 36754, 36765, {f: 3, c: 36768},
{f: 2, c: 36772}, 36775, 36778, 36780, {f: 2, c: 36787}, [12193, 36789],
{f: 2, c: 36791}, {f: 3, c: 36794}, {f: 2, c: 36799}, 36803, 36806,
{f: 5, c: 36809}, 36815, 36818, {f: 2, c: 36822}, 36826, {f: 2, c: 36832},
36835, 36839, 36844, 36847, {f: 2, c: 36849}, {f: 2, c: 36853},
{f: 3, c: 36858}, {f: 2, c: 36862}, {f: 2, c: 36871}, 36876, 36878, 36883,
36888, 36892, {f: 2, c: 36900}, {f: 6, c: 36903}, {f: 2, c: 36912},
{f: 2, c: 36915}, 36919, {f: 2, c: 36921}, 36925, {f: 2, c: 36927}, 36931,
{f: 2, c: 36933}, {f: 3, c: 36936}, 36940, 36950, {f: 2, c: 36953}, 36957,
36959, 36961, 36964, {f: 2, c: 36966}, {f: 3, c: 36970}, {f: 3, c: 36975},
36979, 36982, 36985, 36987, 36990, {f: 2, c: 36997}, 37001,
{f: 3, c: 37004}, 37010, 37012, 37014, 37016, 37018, 37020,
{f: 3, c: 37022}, {f: 2, c: 37028}, {f: 3, c: 37031}, 37035, 37037, 37042,
37047, {f: 2, c: 37052}, {f: 2, c: 37055}, {f: 2, c: 37058}, 37062,
{f: 2, c: 37064}, {f: 3, c: 37067}, 37074, {f: 3, c: 37076},
{f: 3, c: 37080}, 37086, 37088, {f: 3, c: 37091}, {f: 2, c: 37097}, 37100,
37102, {f: 4, c: 37104}, {f: 2, c: 37110}, {f: 4, c: 37113},
{f: 3, c: 37119}, 37123, 37125, {f: 2, c: 37127}, {f: 8, c: 37130}, 37139,
37141, {f: 2, c: 37143}, {f: 4, c: 37146}, {f: 3, c: 37151},
{f: 3, c: 37156}, {f: 5, c: 37160}, 37166, 37171, 37173, {f: 2, c: 37175},
{f: 8, c: 37179}, {f: 2, c: 37188}, 37191, 37201, {f: 4, c: 37203},
{f: 2, c: 37208}, {f: 2, c: 37211}, {f: 2, c: 37215}, {f: 3, c: 37222},
37227, 37229, 37235, {f: 3, c: 37242}, {f: 5, c: 37248}, 37254, 37256,
37258, {f: 2, c: 37262}, {f: 3, c: 37267}, {f: 3, c: 37271},
{f: 5, c: 37277}, {f: 6, c: 37284}, {f: 4, c: 37296}, {f: 4, c: 37302},
{f: 5, c: 37307}, 37314, 37316, [12196, 37318], 37320, 37328, 37334,
{f: 2, c: 37338}, {f: 5, c: 37342}, {f: 2, c: 37349}, 37352,
{f: 11, c: 37354}, 37366, 37368, {f: 5, c: 37371}, {f: 2, c: 37378},
{f: 3, c: 37381}, {f: 3, c: 37386}, 37391, {f: 2, c: 37394},
{f: 8, c: 37398}, {f: 4, c: 37407}, 37412, {f: 6, c: 37416}, 37423,

{f: 2, c: 37425}, {f: 2, c: 37429}, {f: 2, c: 37435}, {f: 4, c: 37441},


{f: 2, c: 37446}, {f: 3, c: 37450}, {f: 3, c: 37454}, {f: 3, c: 37458},
37462, {f: 2, c: 37464}, {f: 2, c: 37468}, {f: 3, c: 37471},
{f: 3, c: 37475}, {f: 5, c: 37479}, {f: 6, c: 37486}, {f: 3, c: 37493},
37497, {f: 3, c: 37500}, {f: 2, c: 37505}, 37508, {f: 8, c: 37510},
{f: 2, c: 37519}, 37522, {f: 2, c: 37524}, 37527, 37529, 37531,
{f: 3, c: 37533}, {f: 2, c: 37537}, 37540, 37543, 37549, {f: 2, c: 37551},
{f: 5, c: 37554}, 37560, 37562, {f: 4, c: 37565}, 37570, 37572, 37574,
{f: 3, c: 37577}, {f: 2, c: 37581}, {f: 2, c: 37584}, {f: 10, c: 37587},
37598, {f: 3, c: 37600}, 37607, 37609, {f: 2, c: 37611}, {f: 4, c: 37618},
37623, {f: 3, c: 37625}, {f: 4, c: 37629}, {f: 4, c: 37634},
{f: 7, c: 37641}, 37649, {f: 2, c: 37651}, {f: 2, c: 37654},
{f: 3, c: 37660}, 37665, {f: 3, c: 37667}, 37671, {f: 2, c: 37673},
{f: 2, c: 37676}, {f: 2, c: 37680}, {f: 2, c: 37684}, 37687,
{f: 5, c: 37689}, 37695, 37698, {f: 2, c: 37700}, {f: 3, c: 37704}, 37708,
{f: 6, c: 37710}, {f: 3, c: 37717}, {f: 2, c: 37721}, {f: 8, c: 37724},
{f: 3, c: 37734}, 37739, {f: 3, c: 37741}, {f: 4, c: 37745},
{f: 3, c: 37751}, {f: 3, c: 37755}, {f: 3, c: 37759}, 37763,
{f: 2, c: 37765}, {f: 2, c: 37768}, {f: 4, c: 37771}, {f: 6, c: 37776},
37783, {f: 9, c: 37785}, {f: 2, c: 37796}, 37800, 37803, 37805, 37807,
{f: 2, c: 37809}, 37812, {f: 2, c: 37814}, {f: 6, c: 37817},
{f: 3, c: 37824}, {f: 3, c: 37828}, 37833, 37835, {f: 3, c: 37838},
{f: 4, c: 37842}, {f: 3, c: 37849}, 37856, 37859, {f: 3, c: 37861},
{f: 12, c: 37865}, 37878, 37880, {f: 9, c: 37882}, {f: 7, c: 37892},
{f: 4, c: 37900}, 37905, {f: 3, c: 37909}, {f: 3, c: 37914},
{f: 2, c: 37918}, {f: 5, c: 37921}, {f: 5, c: 37929}, {f: 3, c: 37935},
37940, {f: 2, c: 37942}, 37945, {f: 3, c: 37947}, {f: 4, c: 37952},
{f: 5, c: 37957}, 37963, {f: 5, c: 37965}, 37971, {f: 11, c: 37973},
{f: 2, c: 37985}, 37988, {f: 5, c: 37990}, 37996, {f: 2, c: 37998}, 38001,
{f: 4, c: 38003}, 38008, {f: 2, c: 38010}, {f: 5, c: 38016}, 38033, 38038,
38040, 38087, 38095, {f: 2, c: 38099}, 38106, 38118, 38139, 38172, 38176,
38183, 38195, 38205, 38211, 38216, 38219, 38229, 38234, 38240, 38254,
{f: 2, c: 38260}, {f: 7, c: 38264}, 38273, {f: 2, c: 38276},
{f: 2, c: 38279}, 38282, 38285, 38288, 38290, {f: 3, c: 38293},
{f: 8, c: 38297}, 38306, {f: 2, c: 38310}, 38314, {f: 4, c: 38318},
{f: 3, c: 38323}, {f: 2, c: 38327}, 38330, {f: 3, c: 38336},
{f: 2, c: 38340}, 38343, 38345, {f: 3, c: 38349}, {f: 3, c: 38353},
{f: 5, c: 38359}, 38365, {f: 2, c: 38367}, {f: 2, c: 38371},
{f: 2, c: 38374}, 38380, 38399, 38407, 38419, 38424, 38427, 38430, 38432,
{f: 7, c: 38435}, {f: 3, c: 38443}, {f: 2, c: 38447}, {f: 4, c: 38455},
38462, 38465, 38467, 38474, {f: 2, c: 38478}, {f: 3, c: 38481},
{f: 2, c: 38486}, {f: 2, c: 38489}, 38492, 38494, 38496, {f: 2, c: 38501},
38507, {f: 3, c: 38509}, 38513, {f: 4, c: 38521}, {f: 7, c: 38526}, 38535,
38537, 38540, {f: 3, c: 38545}, 38550, 38554, {f: 10, c: 38557}, 38569,
{f: 5, c: 38571}, 38578, 38581, 38583, 38586, 38591, {f: 2, c: 38594},
38600, {f: 2, c: 38602}, {f: 2, c: 38608}, {f: 2, c: 38611},
{f: 2, c: 38615}, 38618, {f: 3, c: 38621}, 38625, {f: 4, c: 38628},
{f: 4, c: 38635}, {f: 2, c: 38640}, {f: 2, c: 38644}, 38648, 38650,
{f: 2, c: 38652}, 38655, {f: 2, c: 38658}, 38661, {f: 3, c: 38666},
{f: 3, c: 38672}, {f: 2, c: 38676}, {f: 5, c: 38679}, 38685,
{f: 8, c: 38687}, {f: 2, c: 38696}, {f: 2, c: 38699}, {f: 2, c: 38702},
38705, {f: 5, c: 38707}, {f: 3, c: 38714}, {f: 3, c: 38719}, 38723,
{f: 3, c: 38725}, {f: 8, c: 38729}, [12205, 38737], {f: 2, c: 38740},
{f: 2, c: 38743}, {f: 2, c: 38748}, 38751, {f: 2, c: 38755},
{f: 2, c: 38758}, {f: 9, c: 38762}, 38773, {f: 5, c: 38775},
{f: 8, c: 38781}, {f: 5, c: 38790}, 38796, 38798, 38800, 38803,
{f: 3, c: 38805}, {f: 7, c: 38809}, {f: 2, c: 38817}, {f: 2, c: 38820},
{f: 4, c: 38823}, 38828, 38830, {f: 2, c: 38832}, 38835, {f: 8, c: 38837},
{f: 5, c: 38846}, {f: 2, c: 38852}, {f: 2, c: 38855}, 38858,
{f: 6, c: 38861}, {f: 5, c: 38868}, {f: 2, c: 38874}, 38877,

{f: 7, c: 38879}, 38888, {f: 5, c: 38894}, 38900, {f: 8, c: 38903}, 38912,


38916, 38921, 38923, 38925, {f: 3, c: 38932}, {f: 3, c: 38937},
{f: 4, c: 38941}, {f: 2, c: 38946}, 38949, {f: 6, c: 38951},
{f: 2, c: 38958}, {f: 6, c: 38961}, {f: 2, c: 38969}, 38972,
{f: 8, c: 38974}, {f: 5, c: 38983}, {f: 4, c: 38991}, {f: 3, c: 38997},
39002, {f: 2, c: 39004}, {f: 3, c: 39007}, {f: 2, c: 39011}, 39014,
{f: 3, c: 39016}, {f: 2, c: 39021}, 39026, 39051, 39054, 39058, 39061,
39065, 39075, {f: 5, c: 39081}, 39088, 39090, {f: 2, c: 39092},
{f: 5, c: 39095}, {f: 7, c: 39101}, 39109, 39111, {f: 5, c: 39113},
{f: 2, c: 39119}, 39124, {f: 2, c: 39126}, {f: 2, c: 39132}, 39137,
{f: 4, c: 39139}, 39148, 39150, {f: 2, c: 39152}, 39155, {f: 7, c: 39157},
{f: 4, c: 39167}, 39172, {f: 3, c: 39174}, 39179, {f: 2, c: 39182},
{f: 4, c: 39188}, {f: 2, c: 39193}, {f: 2, c: 39196}, {f: 2, c: 39199},
{f: 6, c: 39202}, {f: 5, c: 39209}, {f: 4, c: 39215}, {f: 3, c: 39220},
{f: 4, c: 39224}, 39229, {f: 3, c: 39232}, 39236, {f: 2, c: 39238},
{f: 4, c: 39245}, 39251, 39254, {f: 4, c: 39256}, 39261, {f: 3, c: 39263},
39268, 39270, 39283, {f: 2, c: 39288}, 39291, 39294, {f: 2, c: 39298},
39305, 39308, 39310, {f: 11, c: 39322}, {f: 2, c: 39334}, {f: 3, c: 39337},
{f: 2, c: 39343}, 39346, {f: 12, c: 39349}, {f: 14, c: 39362}, 39379,
{f: 2, c: 39382}, 39386, 39388, 39390, 39392, {f: 10, c: 39395},
{f: 3, c: 39406}, {f: 13, c: 39410}, 39424, {f: 3, c: 39426},
{f: 7, c: 39430}, {f: 6, c: 39440}, {f: 2, c: 39447}, {f: 17, c: 39450},
39468, 39471, {f: 5, c: 39473}, {f: 5, c: 39481}, 39487, {f: 4, c: 39494},
{f: 2, c: 39499}, 39502, {f: 5, c: 39504}, 39510, {f: 2, c: 39512},
{f: 3, c: 39516}, {f: 2, c: 39520}, 39523, {f: 4, c: 39526}, 39531, 39538,
39555, 39561, {f: 2, c: 39565}, {f: 2, c: 39572}, 39577, 39590,
{f: 6, c: 39593}, {f: 4, c: 39602}, 39609, 39611, {f: 3, c: 39613},
{f: 2, c: 39619}, {f: 5, c: 39622}, {f: 2, c: 39629}, 39632, 39639,
{f: 6, c: 39641}, 39648, {f: 4, c: 39650}, {f: 4, c: 39655}, 39660,
{f: 9, c: 39664}, 39674, {f: 7, c: 39676}, {f: 2, c: 39684}, 39687,
{f: 4, c: 39689}, 39694, {f: 3, c: 39696}, {f: 6, c: 39700},
{f: 4, c: 39707}, {f: 2, c: 39712}, 39716, 39718, 39720, {f: 4, c: 39722},
39728, {f: 8, c: 39731}, {f: 4, c: 39741}, 39750, {f: 3, c: 39754}, 39760,
{f: 2, c: 39762}, {f: 3, c: 39765}, 39769, {f: 20, c: 39771},
{f: 4, c: 39792}, {f: 2, c: 39797}, {f: 9, c: 39800}, 39810,
{f: 10, c: 39812}, 39823, {f: 7, c: 39827}, {f: 2, c: 39835},
{f: 11, c: 39839}, 39852, {f: 17, c: 39855}, {f: 5, c: 39874}, 39880,
{f: 9, c: 39883}, 39893, {f: 4, c: 39895}, 39900, {f: 3, c: 39902}, 39907,
{f: 2, c: 39909}, 39913, {f: 4, c: 39916}, {f: 3, c: 39921},
{f: 8, c: 39925}, 39934, {f: 8, c: 39936}, {f: 3, c: 39946},
{f: 2, c: 39950}, 39953, {f: 12, c: 39956}, {f: 2, c: 39969}, 39972,
{f: 2, c: 39974}, {f: 3, c: 39978}, {f: 3, c: 39982}, 39988, 39990, 39992,
39994, {f: 2, c: 39996}, {f: 6, c: 39999}, {f: 2, c: 40006},
{f: 8, c: 40010}, 40019, 40021, {f: 4, c: 40025}, 40030, {f: 7, c: 40032},
{f: 5, c: 40040}, {f: 10, c: 40046}, 40057, 40059, {f: 2, c: 40061}, 40064,
{f: 2, c: 40067}, {f: 2, c: 40073}, 40076, 40079, 40083, {f: 4, c: 40086},
40093, 40106, 40108, 40111, 40121, {f: 5, c: 40126}, {f: 2, c: 40136},
{f: 2, c: 40145}, {f: 2, c: 40154}, {f: 2, c: 40160}, {f: 2, c: 40163},
{f: 3, c: 40166}, {f: 2, c: 40170}, {f: 6, c: 40173}, 40181,
{f: 15, c: 40183}, 40200, {f: 11, c: 40202}, {f: 5, c: 40214}, 40220,
40222, {f: 3, c: 40224}, {f: 2, c: 40228}, 40231, {f: 6, c: 40233},
{f: 10, c: 40241}, {f: 3, c: 40252}, {f: 2, c: 40256}, {f: 14, c: 40259},
{f: 8, c: 40276}, {f: 2, c: 40286}, {f: 8, c: 40290}, 40299,
{f: 2, c: 40301}, {f: 2, c: 40304}, {f: 20, c: 40307}, 40328,
{f: 9, c: 40330}, {f: 4, c: 40340}, 40345, {f: 10, c: 40347},
{f: 3, c: 40358}, {f: 5, c: 40362}, {f: 4, c: 40368}, {f: 6, c: 40373},
{f: 3, c: 40381}, 40385, 40387, {f: 14, c: 40389}, {f: 3, c: 40404}, 40408,
{f: 10, c: 40411}, {f: 8, c: 40423}, {f: 2, c: 40432}, {f: 4, c: 40436},
{f: 17, c: 40443}, {f: 8, c: 40461}, {f: 4, c: 40470}, 40476, 40484, 40487,
40494, 40496, 40500, {f: 2, c: 40507}, 40512, 40525, 40528,

{f: 3, c: 40530}, 40534, 40537, 40541, {f: 4, c: 40543}, 40549,


{f: 2, c: 40558}, 40562, 40564, {f: 3, c: 40566}, 40571, {f: 2, c: 40576},
{f: 4, c: 40579}, {f: 2, c: 40585}, {f: 6, c: 40588}, {f: 3, c: 40596},
{f: 5, c: 40600}, 40606, {f: 5, c: 40608}, {f: 2, c: 40615},
{f: 5, c: 40618}, {f: 4, c: 40624}, {f: 2, c: 40630}, {f: 2, c: 40633},
40636, {f: 4, c: 40639}, [12232, 40643], {f: 4, c: 40645},
{f: 2, c: 40650}, 40656, {f: 2, c: 40658}, {f: 3, c: 40661},
{f: 2, c: 40665}, 40673, {f: 2, c: 40675}, 40678, {f: 4, c: 40683},
{f: 2, c: 40688}, 40691, {f: 2, c: 40693}, 40696, 40698, {f: 9, c: 40704},
40714, 40716, 40719, {f: 2, c: 40721}, 40724, 40726, 40728,
{f: 6, c: 40730}, 40737, {f: 9, c: 40739}, {f: 2, c: 40749},
{f: 7, c: 40752}, 40760, 40762, 40764, {f: 5, c: 40767}, {f: 5, c: 40773},
{f: 3, c: 40780}, 40787, {f: 4, c: 40789}, {f: 2, c: 40794},
{f: 2, c: 40797}, 40802, {f: 2, c: 40804}, {f: 3, c: 40807}, 40811,
{f: 5, c: 40813}, {f: 4, c: 40819}, {f: 7, c: 40824}, {f: 2, c: 40833},
{f: 2, c: 40846}, {f: 3, c: 40849}, {f: 3, c: 40854}, {f: 2, c: 40861},
{f: 5, c: 40865}, 63788, {f: 3, c: 64013}, 64017, {f: 2, c: 64019}, 64024,
{f: 3, c: 64031}, {f: 2, c: 64035}, {f: 3, c: 64039}, 11905,
[59414, 131207], [59415, 131209], [59416, 131276], 11908, 13427, 13383,
11912, 11915, 59422, 13726, 13850, 13838, 11916, 11927, 14702, 14616,
59430, 14799, 14815, 14963, 14800, {f: 2, c: 59435}, 15182, 15470, 15584,
11943, [59441, 136663], 59442, 11946, 16470, 16735, 11950, 17207, 11955,
{f: 2, c: 11958}, [59451, 141711], 17329, 17324, 11963, 17373, 17622,
18017, 17996, [59459, 132361], 18211, 18217, 18300, 18317, 11978, 18759,
18810, 18813, {f: 2, c: 18818}, {f: 2, c: 18821}, 18847, 18843, 18871,
18870, [59476, 133533], [59477, 147966], 19619, {f: 3, c: 19615}, 19575,
19618, {f: 7, c: 19731}, 19886, 59492, {s: 226}, 8364, 165, 0, 0, 12351,
{s: 17}, 12436, {s: 14}, 12535, 12537, 12536, 12538, 0, {f: 3, c: 12339},
{f: 3, c: 12344}, {f: 3, c: 12586}, {f: 24, c: 12704}, 11904,
{f: 2, c: 11906}, {f: 3, c: 11909}, {f: 2, c: 11913}, {f: 10, c: 11917},
{f: 2, c: 11928}, {f: 12, c: 11931}, {f: 2, c: 11944}, {f: 3, c: 11947},
{f: 4, c: 11951}, {f: 2, c: 11956}, {f: 3, c: 11960}, {f: 14, c: 11964},
{f: 41, c: 11979}, {f: 71, c: 13312}, {f: 43, c: 13384},
{f: 298, c: 13428}, {f: 111, c: 13727}, {f: 11, c: 13839},
{f: 765, c: 13851}, {f: 85, c: 14617}, {f: 96, c: 14703},
{f: 14, c: 14801}, {f: 147, c: 14816}, {f: 218, c: 14964},
{f: 287, c: 15183}, {f: 113, c: 15471}, {f: 885, c: 15585},
{f: 264, c: 16471}, {f: 471, c: 16736}, {f: 116, c: 17208},
{f: 4, c: 17325}, {f: 43, c: 17330}, {f: 248, c: 17374},
{f: 373, c: 17623}, {f: 20, c: 17997}, {f: 193, c: 18018},
{f: 5, c: 18212}, {f: 82, c: 18218}, {f: 16, c: 18301}, {f: 441, c: 18318},
{f: 50, c: 18760}, {f: 2, c: 18811}, {f: 4, c: 18814}, 18820,
{f: 20, c: 18823}, {f: 3, c: 18844}, {f: 22, c: 18848}, {f: 703, c: 18872},
{f: 39, c: 19576}, {f: 111, c: 19620}, {f: 148, c: 19738},
{f: 7, c: 19887}]
};

var ColorSpace = (function ColorSpaceClosure() {


// Constructor should define this.numComps, this.defaultColor, this.name
function ColorSpace() {
error('should not call ColorSpace constructor');
}
ColorSpace.prototype = {
// Input: array of size numComps representing color component values
// Output: array of rgb values, each value ranging from [0.1]
getRgb: function ColorSpace_getRgb(color) {
error('Should not call ColorSpace.getRgb: ' + color);

},
// Input: Uint8Array of component values, each value scaled to [0,255]
// Output: Uint8Array of rgb values, each value scaled to [0,255]
getRgbBuffer: function ColorSpace_getRgbBuffer(input) {
error('Should not call ColorSpace.getRgbBuffer: ' + input);
}
};
ColorSpace.parse = function ColorSpace_parse(cs, xref, res) {
var IR = ColorSpace.parseToIR(cs, xref, res);
if (IR instanceof AlternateCS)
return IR;
return ColorSpace.fromIR(IR);
};
ColorSpace.fromIR = function ColorSpace_fromIR(IR) {
var name = isArray(IR) ? IR[0] : IR;
switch (name) {
case 'DeviceGrayCS':
return new DeviceGrayCS();
case 'DeviceRgbCS':
return new DeviceRgbCS();
case 'DeviceCmykCS':
return new DeviceCmykCS();
case 'PatternCS':
var basePatternCS = IR[1];
if (basePatternCS)
basePatternCS = ColorSpace.fromIR(basePatternCS);
return new PatternCS(basePatternCS);
case 'IndexedCS':
var baseIndexedCS = IR[1];
var hiVal = IR[2];
var lookup = IR[3];
return new IndexedCS(ColorSpace.fromIR(baseIndexedCS), hiVal, lookup);
case 'AlternateCS':
var numComps = IR[1];
var alt = IR[2];
var tintFnIR = IR[3];
return new AlternateCS(numComps, ColorSpace.fromIR(alt),
PDFFunction.fromIR(tintFnIR));
case 'LabCS':
var whitePoint = IR[1].WhitePoint;
var blackPoint = IR[1].BlackPoint;
var range = IR[1].Range;
return new LabCS(whitePoint, blackPoint, range);
default:
error('Unkown name ' + name);
}
return null;
};
ColorSpace.parseToIR = function ColorSpace_parseToIR(cs, xref, res) {
if (isName(cs)) {
var colorSpaces = res.get('ColorSpace');
if (isDict(colorSpaces)) {
var refcs = colorSpaces.get(cs.name);
if (refcs)

cs = refcs;
}
}
cs = xref.fetchIfRef(cs);
var mode;
if (isName(cs)) {
mode = cs.name;
this.mode = mode;
switch (mode) {
case 'DeviceGray':
case 'G':
return 'DeviceGrayCS';
case 'DeviceRGB':
case 'RGB':
return 'DeviceRgbCS';
case 'DeviceCMYK':
case 'CMYK':
return 'DeviceCmykCS';
case 'Pattern':
return ['PatternCS', null];
default:
error('unrecognized colorspace ' + mode);
}
} else if (isArray(cs)) {
mode = cs[0].name;
this.mode = mode;
switch (mode) {
case 'DeviceGray':
case 'G':
return 'DeviceGrayCS';
case 'DeviceRGB':
case 'RGB':
return 'DeviceRgbCS';
case 'DeviceCMYK':
case 'CMYK':
return 'DeviceCmykCS';
case 'CalGray':
return 'DeviceGrayCS';
case 'CalRGB':
return 'DeviceRgbCS';
case 'ICCBased':
var stream = xref.fetchIfRef(cs[1]);
var dict = stream.dict;
var numComps = dict.get('N');
if (numComps == 1)
return 'DeviceGrayCS';
if (numComps == 3)
return 'DeviceRgbCS';
if (numComps == 4)
return 'DeviceCmykCS';
break;
case 'Pattern':
var basePatternCS = cs[1];
if (basePatternCS)
basePatternCS = ColorSpace.parseToIR(basePatternCS, xref, res);
return ['PatternCS', basePatternCS];

case 'Indexed':
case 'I':
var baseIndexedCS = ColorSpace.parseToIR(cs[1], xref, res);
var hiVal = cs[2] + 1;
var lookup = xref.fetchIfRef(cs[3]);
if (isStream(lookup)) {
lookup = lookup.getBytes();
}
return ['IndexedCS', baseIndexedCS, hiVal, lookup];
case 'Separation':
case 'DeviceN':
var name = cs[1];
var numComps = 1;
if (isName(name))
numComps = 1;
else if (isArray(name))
numComps = name.length;
var alt = ColorSpace.parseToIR(cs[2], xref, res);
var tintFnIR = PDFFunction.getIR(xref, xref.fetchIfRef(cs[3]));
return ['AlternateCS', numComps, alt, tintFnIR];
case 'Lab':
var params = cs[1].getAll();
return ['LabCS', params];
default:
error('unimplemented color space object "' + mode + '"');
}
} else {
error('unrecognized color space object: "' + cs + '"');
}
return null;
};
/**
* Checks if a decode map matches the default decode map for a color space.
* This handles the general decode maps where there are two values per
* component. e.g. [0, 1, 0, 1, 0, 1] for a RGB color.
* This does not handle Lab, Indexed, or Pattern decode maps since they are
* slightly different.
* @param {Array} decode Decode map (usually from an image).
* @param {Number} n Number of components the color space has.
*/
ColorSpace.isDefaultDecode = function ColorSpace_isDefaultDecode(decode, n) {
if (!decode)
return true;
if (n * 2 !== decode.length) {
warn('The decode map is not the correct length');
return true;
}
for (var i = 0, ii = decode.length; i < ii; i += 2) {
if (decode[i] != 0 || decode[i + 1] != 1)
return false;
}
return true;
};
return ColorSpace;
})();
/**
* Alternate color space handles both Separation and DeviceN color spaces. A

* Separation color space is actually just a DeviceN with one color component.
* Both color spaces use a tinting function to convert colors to a base color
* space.
*/
var AlternateCS = (function AlternateCSClosure() {
function AlternateCS(numComps, base, tintFn) {
this.name = 'Alternate';
this.numComps = numComps;
this.defaultColor = [];
for (var i = 0; i < numComps; ++i)
this.defaultColor.push(1);
this.base = base;
this.tintFn = tintFn;
}
AlternateCS.prototype = {
getRgb: function AlternateCS_getRgb(color) {
var tinted = this.tintFn(color);
return this.base.getRgb(tinted);
},
getRgbBuffer: function AlternateCS_getRgbBuffer(input, bits) {
var tintFn = this.tintFn;
var base = this.base;
var scale = 1 / ((1 << bits) - 1);
var length = input.length;
var pos = 0;
var baseNumComps = base.numComps;
var baseBuf = new Uint8Array(baseNumComps * length);
var numComps = this.numComps;
var scaled = [];
for (var i = 0; i < length; i += numComps) {
for (var z = 0; z < numComps; ++z)
scaled[z] = input[i + z] * scale;
var tinted = tintFn(scaled);
for (var j = 0; j < baseNumComps; ++j)
baseBuf[pos++] = 255 * tinted[j];
}
return base.getRgbBuffer(baseBuf, 8);
},
isDefaultDecode: function AlternateCS_isDefaultDecode(decodeMap) {
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
}
};
return AlternateCS;
})();
var PatternCS = (function PatternCSClosure() {
function PatternCS(baseCS) {
this.name = 'Pattern';
this.base = baseCS;
}
PatternCS.prototype = {};
return PatternCS;
})();
var IndexedCS = (function IndexedCSClosure() {

function IndexedCS(base, highVal, lookup) {


this.name = 'Indexed';
this.numComps = 1;
this.defaultColor = [0];
this.base = base;
this.highVal = highVal;
var baseNumComps = base.numComps;
var length = baseNumComps * highVal;
var lookupArray;
if (isStream(lookup)) {
lookupArray = new Uint8Array(length);
var bytes = lookup.getBytes(length);
lookupArray.set(bytes);
} else if (isString(lookup)) {
lookupArray = new Uint8Array(length);
for (var i = 0; i < length; ++i)
lookupArray[i] = lookup.charCodeAt(i);
} else if (lookup instanceof Uint8Array) {
lookupArray = lookup;
} else {
error('Unrecognized lookup table: ' + lookup);
}
this.lookup = lookupArray;
}
IndexedCS.prototype = {
getRgb: function IndexedCS_getRgb(color) {
var numComps = this.base.numComps;
var start = color[0] * numComps;
var c = [];
for (var i = start, ii = start + numComps; i < ii; ++i)
c.push(this.lookup[i]);
return this.base.getRgb(c);
},
getRgbBuffer: function IndexedCS_getRgbBuffer(input) {
var base = this.base;
var numComps = base.numComps;
var lookup = this.lookup;
var length = input.length;
var baseBuf = new Uint8Array(length * numComps);
var baseBufPos = 0;
for (var i = 0; i < length; ++i) {
var lookupPos = input[i] * numComps;
for (var j = 0; j < numComps; ++j) {
baseBuf[baseBufPos++] = lookup[lookupPos + j];
}
}
return base.getRgbBuffer(baseBuf, 8);
},
isDefaultDecode: function IndexedCS_isDefaultDecode(decodeMap) {
// indexed color maps shouldn't be changed
return true;
}
};

return IndexedCS;
})();
var DeviceGrayCS = (function DeviceGrayCSClosure() {
function DeviceGrayCS() {
this.name = 'DeviceGray';
this.numComps = 1;
this.defaultColor = [0];
}
DeviceGrayCS.prototype = {
getRgb: function DeviceGrayCS_getRgb(color) {
var c = color[0];
return [c, c, c];
},
getRgbBuffer: function DeviceGrayCS_getRgbBuffer(input, bits) {
var scale = 255 / ((1 << bits) - 1);
var length = input.length;
var rgbBuf = new Uint8Array(length * 3);
for (var i = 0, j = 0; i < length; ++i) {
var c = (scale * input[i]) | 0;
rgbBuf[j++] = c;
rgbBuf[j++] = c;
rgbBuf[j++] = c;
}
return rgbBuf;
},
isDefaultDecode: function DeviceGrayCS_isDefaultDecode(decodeMap) {
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
}
};
return DeviceGrayCS;
})();
var DeviceRgbCS = (function DeviceRgbCSClosure() {
function DeviceRgbCS() {
this.name = 'DeviceRGB';
this.numComps = 3;
this.defaultColor = [0, 0, 0];
}
DeviceRgbCS.prototype = {
getRgb: function DeviceRgbCS_getRgb(color) {
return color;
},
getRgbBuffer: function DeviceRgbCS_getRgbBuffer(input, bits) {
if (bits == 8)
return input;
var scale = 255 / ((1 << bits) - 1);
var i, length = input.length;
var rgbBuf = new Uint8Array(length);
for (i = 0; i < length; ++i)
rgbBuf[i] = (scale * input[i]) | 0;
return rgbBuf;
},
isDefaultDecode: function DeviceRgbCS_isDefaultDecode(decodeMap) {
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
}
};
return DeviceRgbCS;
})();

var DeviceCmykCS = (function DeviceCmykCSClosure() {


// Sampled RGB colors from CMYK US Web Coated (SWOP) colorspace
var lut = new Uint8Array([
255, 255, 254, 221, 222, 223, 191, 193, 195, 161, 163, 166, 133, 136, 138,
105, 107, 109, 75, 75, 77, 35, 31, 32, 255, 252, 224, 226, 220, 198, 195,
191, 173, 164, 162, 147, 136, 134, 122, 107, 106, 96, 75, 74, 66, 33, 29,
24, 255, 249, 197, 229, 218, 174, 198, 190, 153, 166, 160, 129, 138, 133,
107, 108, 104, 83, 76, 73, 56, 33, 28, 15, 255, 247, 168, 232, 216, 149,
200, 188, 130, 168, 158, 110, 139, 131, 90, 110, 103, 70, 77, 72, 45, 32,
27, 4, 255, 245, 140, 234, 214, 124, 202, 186, 108, 170, 157, 91, 140, 130,
74, 110, 102, 56, 77, 71, 33, 31, 27, 0, 255, 243, 107, 235, 212, 95, 203,
184, 83, 171, 155, 69, 141, 129, 55, 111, 101, 40, 77, 70, 19, 29, 26, 0,
255, 241, 64, 237, 211, 59, 204, 183, 52, 171, 154, 42, 142, 128, 31, 111,
100, 16, 77, 69, 0, 27, 26, 0, 255, 240, 0, 238, 209, 0, 205, 182, 3, 172,
153, 0, 142, 127, 0, 112, 100, 0, 77, 69, 0, 26, 25, 0, 251, 225, 236, 218,
196, 207, 189, 171, 181, 160, 144, 154, 133, 120, 128, 105, 94, 101, 74, 64,
70, 35, 21, 25, 255, 222, 208, 222, 195, 184, 192, 169, 161, 162, 143, 136,
135, 118, 113, 106, 92, 88, 75, 63, 60, 34, 20, 17, 255, 220, 184, 225, 193,
162, 195, 168, 142, 164, 142, 120, 136, 117, 99, 107, 91, 77, 75, 62, 50,
33, 20, 8, 255, 218, 157, 227, 191, 139, 197, 166, 121, 165, 140, 102, 137,
116, 84, 108, 90, 64, 76, 61, 40, 32, 19, 0, 255, 216, 132, 229, 189, 116,
198, 165, 101, 167, 139, 85, 138, 115, 69, 109, 89, 51, 76, 61, 28, 31, 18,
0, 255, 214, 102, 230, 188, 90, 199, 163, 78, 167, 138, 65, 139, 114, 51,
109, 89, 35, 76, 60, 14, 29, 18, 0, 255, 213, 65, 232, 186, 58, 200, 162,
50, 168, 136, 39, 139, 113, 28, 110, 88, 12, 76, 60, 0, 27, 18, 0, 255, 212,
8, 232, 185, 13, 201, 161, 11, 169, 136, 3, 139, 112, 0, 110, 87, 0, 76, 59,
0, 26, 18, 0, 248, 197, 219, 216, 172, 192, 187, 150, 168, 158, 126, 143,
132, 104, 119, 104, 81, 93, 74, 54, 64, 35, 10, 19, 251, 195, 193, 219, 171,
171, 190, 149, 150, 161, 125, 127, 133, 103, 105, 106, 80, 81, 75, 53, 54,
34, 10, 10, 254, 193, 171, 221, 169, 151, 192, 148, 132, 162, 124, 112, 134,
102, 92, 106, 79, 70, 75, 52, 45, 34, 9, 1, 255, 191, 147, 223, 168, 130,
193, 146, 113, 163, 123, 95, 135, 101, 77, 107, 78, 58, 75, 52, 35, 32, 9,
0, 255, 190, 124, 225, 166, 109, 195, 145, 95, 164, 122, 79, 136, 100, 63,
107, 77, 46, 76, 51, 24, 31, 9, 0, 255, 188, 97, 226, 165, 85, 196, 143, 74,
165, 121, 60, 137, 99, 47, 108, 77, 31, 75, 51, 10, 29, 9, 0, 255, 187, 64,
227, 164, 56, 196, 142, 48, 165, 120, 37, 137, 98, 25, 108, 76, 9, 75, 50,
0, 28, 9, 0, 255, 186, 23, 228, 163, 21, 197, 142, 15, 166, 119, 5, 137, 98,
0, 108, 76, 0, 75, 50, 0, 27, 8, 0, 245, 168, 201, 214, 147, 177, 186, 128,
155, 157, 107, 131, 131, 88, 109, 104, 67, 85, 74, 42, 57, 35, 0, 12, 248,
166, 178, 216, 146, 157, 188, 127, 138, 159, 107, 116, 132, 87, 96, 105, 66,
74, 74, 41, 48, 35, 0, 3, 250, 165, 158, 218, 145, 139, 189, 126, 122, 160,
106, 103, 133, 86, 84, 105, 66, 64, 75, 41, 39, 33, 0, 0, 252, 164, 136,
220, 144, 120, 190, 125, 104, 161, 105, 87, 134, 86, 71, 106, 65, 52, 75,
41, 29, 32, 0, 0, 253, 162, 115, 221, 142, 101, 191, 124, 88, 161, 104, 72,
134, 85, 58, 106, 64, 41, 75, 40, 19, 31, 0, 0, 254, 161, 91, 222, 141, 80,
192, 123, 68, 162, 103, 55, 134, 84, 42, 106, 64, 26, 75, 40, 6, 29, 0, 0,
255, 160, 62, 223, 140, 54, 193, 122, 45, 162, 102, 34, 135, 83, 22, 106,
63, 5, 74, 40, 0, 28, 0, 0, 255, 159, 29, 223, 140, 25, 193, 121, 18, 163,
101, 7, 135, 83, 0, 107, 63, 0, 74, 40, 0, 28, 0, 0, 243, 142, 185, 212,
123, 163, 184, 107, 142, 156, 89, 120, 130, 72, 100, 104, 53, 77, 74, 29,
51, 35, 0, 4, 245, 140, 164, 214, 123, 145, 186, 106, 127, 157, 89, 107,
131, 72, 88, 104, 53, 67, 74, 29, 42, 34, 0, 0, 247, 139, 146, 215, 122,
129, 187, 106, 112, 158, 88, 94, 132, 71, 77, 104, 53, 57, 74, 29, 33, 33,
0, 0, 248, 138, 126, 217, 121, 111, 188, 105, 96, 159, 87, 80, 132, 70, 64,
105, 52, 47, 74, 29, 24, 31, 0, 0, 249, 137, 107, 218, 120, 94, 189, 104,
81, 159, 86, 66, 132, 70, 52, 105, 52, 36, 74, 29, 15, 30, 0, 0, 250, 136,
85, 218, 119, 74, 189, 103, 63, 160, 86, 51, 133, 69, 38, 105, 51, 22, 74,
29, 2, 29, 0, 0, 251, 135, 59, 219, 118, 51, 190, 102, 42, 160, 85, 31, 133,
69, 19, 105, 51, 3, 74, 29, 0, 29, 0, 0, 252, 134, 31, 219, 118, 26, 190,

102, 19, 160, 85, 7, 133, 69, 0, 105, 51, 0, 73, 29, 0, 28, 0, 0, 240, 113,
169, 210, 98, 149, 183, 84, 130, 155, 69, 110, 129, 54, 90, 103, 37, 70, 74,
11, 44, 32, 0, 1, 242, 111, 150, 212, 97, 132, 184, 84, 116, 156, 69, 97,
130, 54, 79, 103, 37, 60, 74, 12, 36, 31, 0, 0, 244, 111, 134, 213, 97, 118,
185, 83, 102, 157, 68, 86, 130, 54, 69, 104, 37, 51, 74, 13, 28, 30, 0, 0,
245, 110, 116, 214, 96, 102, 186, 83, 88, 157, 68, 73, 131, 53, 58, 104, 37,
41, 74, 14, 19, 29, 0, 0, 246, 110, 98, 215, 96, 86, 186, 82, 74, 157, 67,
60, 131, 53, 46, 104, 37, 30, 73, 14, 10, 28, 0, 0, 247, 109, 79, 215, 95,
69, 187, 82, 58, 158, 67, 46, 131, 53, 33, 104, 37, 18, 73, 15, 1, 28, 0, 0,
247, 108, 56, 216, 95, 48, 187, 82, 40, 158, 67, 29, 131, 53, 16, 104, 37,
0, 73, 15, 0, 27, 0, 0, 248, 108, 32, 216, 94, 27, 187, 81, 20, 158, 67, 8,
131, 53, 0, 104, 37, 0, 72, 16, 0, 27, 0, 0, 238, 78, 154, 208, 66, 135,
181, 55, 118, 154, 43, 99, 129, 30, 81, 103, 12, 62, 74, 0, 38, 27, 0, 0,
240, 77, 136, 210, 66, 120, 183, 56, 105, 155, 43, 88, 129, 30, 71, 103, 13,
53, 73, 0, 29, 26, 0, 0, 241, 77, 122, 211, 66, 107, 183, 56, 93, 155, 44,
77, 129, 31, 62, 103, 14, 44, 73, 0, 23, 26, 0, 0, 242, 77, 106, 211, 66,
92, 184, 56, 80, 155, 44, 65, 129, 31, 51, 103, 15, 35, 73, 0, 14, 25, 0, 0,
243, 77, 90, 212, 66, 79, 184, 56, 67, 156, 44, 54, 129, 32, 41, 103, 16,
25, 73, 0, 6, 25, 0, 0, 243, 77, 73, 213, 66, 63, 184, 56, 53, 156, 44, 41,
130, 32, 28, 103, 17, 13, 72, 0, 0, 25, 0, 0, 244, 77, 53, 213, 67, 45, 185,
56, 37, 156, 45, 26, 130, 33, 13, 103, 18, 0, 72, 0, 0, 25, 0, 0, 244, 77,
33, 213, 67, 28, 185, 57, 21, 156, 45, 9, 130, 33, 0, 103, 19, 0, 72, 0, 0,
24, 0, 0, 237, 13, 138, 207, 4, 122, 180, 0, 106, 153, 0, 89, 128, 0, 72,
102, 0, 54, 73, 0, 31, 21, 0, 0, 238, 16, 123, 208, 6, 108, 181, 0, 94, 154,
0, 78, 128, 0, 63, 102, 0, 46, 72, 0, 24, 21, 0, 0, 239, 20, 110, 209, 11,
96, 181, 1, 83, 154, 0, 69, 128, 0, 54, 102, 0, 38, 72, 0, 17, 22, 0, 0,
239, 23, 96, 209, 15, 84, 182, 5, 72, 154, 0, 58, 128, 0, 45, 102, 0, 29,
72, 0, 9, 22, 0, 0, 240, 26, 82, 210, 19, 71, 182, 10, 60, 154, 0, 48, 128,
0, 35, 102, 0, 20, 72, 0, 3, 22, 0, 0, 241, 27, 67, 210, 21, 58, 182, 14,
48, 154, 3, 37, 128, 0, 24, 102, 0, 8, 71, 0, 0, 22, 0, 0, 241, 29, 50, 210,
23, 42, 183, 17, 34, 154, 6, 23, 129, 0, 10, 102, 0, 0, 71, 0, 0, 22, 0, 0,
241, 30, 34, 211, 25, 28, 183, 19, 21, 155, 9, 10, 129, 0, 0, 102, 0, 0, 71,
0, 0, 22, 0, 0, 211, 239, 252, 184, 210, 221, 160, 183, 194, 135, 155, 164,
111, 128, 137, 87, 101, 109, 59, 70, 76, 22, 28, 32, 218, 237, 223, 190,
208, 196, 165, 181, 172, 139, 153, 146, 114, 127, 121, 89, 100, 95, 61, 69,
66, 21, 27, 25, 223, 235, 196, 195, 206, 174, 169, 179, 152, 142, 151, 129,
117, 126, 107, 91, 99, 83, 62, 68, 56, 20, 26, 17, 227, 232, 168, 198, 204,
149, 171, 177, 130, 144, 150, 110, 119, 124, 91, 93, 98, 70, 63, 68, 46, 20,
25, 6, 231, 230, 142, 201, 202, 125, 174, 176, 109, 146, 148, 92, 120, 123,
75, 94, 97, 57, 63, 67, 35, 19, 25, 0, 234, 229, 112, 203, 200, 98, 176,
174, 86, 147, 147, 71, 121, 122, 57, 94, 96, 42, 64, 66, 21, 17, 24, 0, 236,
227, 75, 205, 199, 66, 177, 173, 57, 148, 146, 47, 122, 121, 35, 95, 95, 21,
64, 65, 2, 14, 24, 0, 238, 226, 32, 207, 198, 30, 178, 172, 25, 149, 145,
17, 123, 120, 6, 95, 94, 0, 64, 65, 0, 11, 24, 0, 211, 211, 233, 184, 186,
206, 160, 162, 180, 135, 137, 153, 112, 113, 127, 88, 89, 100, 61, 60, 70,
23, 18, 26, 217, 209, 207, 190, 184, 183, 165, 161, 160, 139, 136, 136, 115,
112, 113, 90, 88, 88, 62, 59, 60, 23, 17, 19, 221, 208, 183, 193, 183, 162,
167, 159, 142, 141, 134, 120, 116, 111, 99, 91, 87, 77, 62, 59, 51, 22, 17,
10, 224, 206, 158, 196, 181, 139, 170, 157, 122, 143, 133, 103, 118, 110,
84, 92, 86, 64, 63, 58, 40, 22, 16, 0, 227, 204, 133, 198, 179, 118, 172,
156, 102, 144, 132, 86, 119, 109, 70, 93, 85, 52, 64, 57, 30, 20, 16, 0,
230, 203, 106, 200, 178, 93, 173, 155, 81, 145, 130, 67, 120, 108, 53, 94,
84, 37, 64, 57, 17, 17, 16, 0, 232, 201, 73, 202, 177, 64, 175, 154, 55,
146, 129, 44, 121, 107, 33, 94, 83, 18, 64, 56, 0, 15, 16, 0, 233, 201, 38,
203, 176, 32, 175, 153, 27, 147, 129, 18, 121, 106, 6, 94, 83, 0, 64, 56, 0,
13, 16, 0, 210, 186, 216, 184, 163, 191, 160, 143, 167, 136, 120, 142, 112,
99, 118, 88, 77, 93, 61, 50, 64, 24, 6, 21, 215, 184, 192, 189, 162, 170,
164, 141, 149, 138, 119, 126, 115, 98, 104, 90, 76, 81, 62, 50, 54, 24, 6,
12, 219, 183, 171, 192, 161, 151, 166, 140, 132, 140, 118, 112, 116, 97, 92,
91, 75, 71, 63, 49, 46, 23, 6, 3, 222, 181, 148, 194, 159, 130, 168, 139,

114, 142, 117, 95, 117, 96, 78, 92, 74, 59, 63, 49, 36, 22, 6, 0, 224, 180,
125, 196, 158, 110, 170, 138, 96, 143, 116, 80, 118, 95, 64, 92, 74, 47, 64,
48, 25, 20, 6, 0, 226, 178, 100, 197, 157, 88, 171, 136, 76, 144, 115, 62,
119, 94, 49, 93, 73, 33, 64, 48, 13, 18, 6, 0, 228, 177, 71, 199, 156, 62,
172, 135, 52, 144, 114, 41, 119, 94, 30, 93, 72, 14, 64, 47, 0, 16, 6, 0,
229, 177, 40, 200, 155, 34, 173, 135, 27, 145, 113, 18, 120, 93, 5, 93, 72,
0, 63, 47, 0, 15, 6, 0, 210, 159, 199, 184, 140, 176, 160, 122, 154, 136,
102, 131, 113, 84, 108, 89, 64, 85, 62, 39, 57, 25, 0, 14, 214, 158, 177,
188, 139, 157, 163, 121, 137, 138, 102, 116, 114, 83, 96, 90, 63, 74, 63,
38, 48, 25, 0, 5, 217, 157, 158, 190, 138, 139, 165, 120, 122, 139, 101,
103, 115, 82, 84, 91, 62, 64, 63, 38, 40, 23, 0, 0, 219, 156, 137, 192, 137,
120, 167, 119, 105, 140, 100, 88, 116, 82, 71, 91, 62, 53, 63, 38, 30, 22,
0, 0, 221, 155, 116, 193, 136, 102, 168, 118, 89, 141, 99, 73, 117, 81, 59,
92, 61, 42, 63, 38, 21, 20, 0, 0, 223, 153, 94, 195, 135, 82, 169, 117, 70,
142, 98, 57, 117, 80, 44, 92, 61, 29, 63, 37, 8, 18, 0, 0, 224, 153, 68,
196, 134, 58, 170, 116, 49, 143, 97, 38, 118, 80, 26, 92, 60, 11, 63, 37, 0,
17, 0, 0, 225, 152, 41, 197, 133, 34, 170, 116, 27, 143, 97, 17, 118, 79, 4,
92, 60, 0, 63, 37, 0, 16, 0, 0, 209, 134, 183, 183, 118, 162, 160, 102, 142,
136, 85, 120, 113, 69, 100, 89, 50, 77, 62, 26, 51, 23, 0, 6, 213, 133, 163,
187, 117, 144, 163, 102, 126, 137, 85, 107, 114, 68, 88, 90, 50, 67, 63, 26,
43, 22, 0, 1, 215, 133, 146, 188, 116, 129, 164, 101, 112, 139, 84, 94, 115,
68, 77, 91, 50, 58, 63, 27, 34, 20, 0, 0, 217, 132, 127, 190, 116, 111, 165,
100, 97, 139, 84, 81, 116, 67, 65, 91, 49, 48, 63, 27, 25, 19, 0, 0, 219,
131, 108, 191, 115, 95, 166, 100, 82, 140, 83, 68, 116, 67, 53, 91, 49, 37,
63, 27, 17, 17, 0, 0, 220, 130, 88, 192, 114, 76, 167, 99, 65, 141, 82, 53,
116, 66, 40, 91, 49, 24, 63, 27, 5, 16, 0, 0, 221, 129, 64, 193, 113, 55,
168, 98, 46, 141, 82, 35, 117, 66, 23, 91, 49, 7, 63, 27, 0, 14, 0, 0, 222,
129, 41, 194, 113, 34, 168, 98, 26, 141, 81, 16, 117, 66, 3, 92, 48, 0, 62,
27, 0, 13, 0, 0, 209, 108, 168, 183, 94, 148, 160, 81, 130, 135, 66, 110,
113, 51, 91, 89, 35, 70, 63, 8, 45, 18, 0, 1, 212, 107, 150, 186, 94, 132,
162, 81, 116, 137, 66, 97, 114, 52, 80, 90, 35, 60, 63, 9, 37, 16, 0, 0,
214, 107, 134, 187, 93, 118, 163, 80, 103, 138, 66, 86, 114, 51, 70, 90, 35,
52, 63, 10, 29, 15, 0, 0, 215, 106, 117, 188, 93, 103, 164, 80, 89, 138, 66,
74, 115, 51, 59, 90, 35, 42, 63, 11, 21, 13, 0, 0, 216, 106, 100, 189, 92,
88, 164, 79, 75, 139, 65, 62, 115, 51, 48, 91, 35, 32, 63, 12, 12, 12, 0, 0,
217, 105, 82, 190, 92, 71, 165, 79, 60, 139, 65, 48, 115, 51, 35, 91, 35,
20, 62, 13, 3, 11, 0, 0, 218, 105, 61, 191, 92, 52, 166, 79, 43, 140, 65,
32, 116, 51, 20, 91, 35, 3, 62, 14, 0, 10, 0, 0, 219, 104, 41, 192, 91, 34,
166, 78, 26, 140, 65, 15, 116, 51, 2, 91, 35, 0, 62, 14, 0, 10, 0, 0, 208,
76, 153, 183, 65, 135, 159, 54, 118, 135, 42, 99, 113, 29, 82, 89, 10, 62,
62, 0, 38, 10, 0, 0, 211, 76, 137, 185, 65, 121, 161, 55, 105, 136, 43, 88,
114, 30, 72, 90, 12, 54, 63, 0, 31, 9, 0, 0, 212, 76, 122, 186, 66, 108,
162, 55, 94, 137, 43, 78, 114, 30, 63, 90, 13, 45, 62, 0, 24, 9, 0, 0, 213,
76, 107, 187, 66, 94, 162, 55, 81, 137, 43, 67, 114, 31, 52, 90, 15, 36, 62,
0, 16, 8, 0, 0, 214, 76, 92, 188, 66, 80, 163, 55, 69, 138, 44, 56, 114, 31,
42, 90, 16, 27, 62, 0, 8, 8, 0, 0, 215, 76, 76, 188, 66, 65, 164, 55, 55,
138, 44, 43, 114, 32, 31, 90, 16, 16, 62, 0, 1, 7, 0, 0, 216, 76, 57, 189,
66, 49, 164, 56, 40, 138, 44, 29, 115, 32, 16, 90, 17, 1, 61, 0, 0, 7, 0, 0,
217, 76, 40, 190, 66, 33, 164, 56, 25, 138, 44, 14, 114, 33, 1, 90, 18, 0,
61, 0, 0, 7, 0, 0, 207, 26, 139, 182, 16, 122, 159, 3, 106, 135, 0, 89, 113,
0, 73, 89, 0, 55, 62, 0, 32, 4, 0, 0, 210, 27, 124, 184, 18, 109, 160, 7,
95, 136, 0, 79, 113, 0, 64, 90, 0, 47, 62, 0, 25, 4, 0, 0, 211, 30, 111,
185, 21, 98, 161, 11, 84, 136, 0, 70, 113, 0, 55, 90, 0, 39, 62, 0, 18, 4,
0, 0, 212, 32, 98, 185, 24, 85, 161, 15, 73, 136, 2, 60, 113, 0, 46, 90, 0,
30, 61, 0, 11, 4, 0, 0, 213, 34, 85, 186, 26, 73, 162, 17, 62, 137, 5, 50,
113, 0, 37, 89, 0, 22, 61, 0, 5, 4, 0, 0, 213, 35, 70, 187, 27, 60, 162, 19,
50, 137, 8, 39, 114, 0, 26, 89, 0, 11, 61, 0, 0, 4, 0, 0, 214, 35, 54, 187,
29, 45, 163, 21, 37, 137, 11, 26, 114, 0, 13, 89, 0, 0, 60, 0, 0, 4, 0, 0,
214, 35, 40, 188, 29, 32, 163, 22, 24, 137, 12, 13, 114, 0, 0, 89, 0, 0, 60,
0, 0, 4, 0, 0, 169, 226, 249, 148, 199, 219, 129, 173, 192, 108, 147, 163,

88, 122, 136, 68, 96, 108, 43, 66, 76, 4, 25, 33, 178, 224, 221, 156, 197,
195, 136, 172, 171, 114, 145, 145, 93, 121, 120, 71, 95, 95, 46, 65, 66, 4,
24, 25, 185, 222, 196, 162, 195, 173, 140, 170, 151, 117, 144, 128, 96, 119,
106, 74, 94, 83, 47, 65, 57, 4, 24, 18, 190, 220, 169, 166, 193, 149, 144,
168, 130, 120, 142, 110, 99, 118, 91, 76, 93, 70, 49, 64, 46, 3, 23, 8, 195,
218, 143, 170, 191, 126, 147, 167, 110, 123, 141, 93, 100, 117, 76, 77, 92,
58, 50, 63, 36, 3, 23, 0, 199, 216, 115, 173, 190, 101, 149, 165, 88, 125,
140, 74, 102, 116, 59, 78, 91, 43, 51, 63, 23, 0, 23, 0, 202, 215, 83, 176,
189, 72, 152, 164, 62, 126, 138, 51, 103, 115, 39, 79, 90, 25, 51, 62, 6, 0,
22, 0, 204, 214, 50, 178, 188, 43, 153, 163, 37, 127, 138, 28, 104, 114, 18,
80, 89, 3, 51, 62, 0, 0, 22, 0, 172, 200, 231, 152, 176, 204, 132, 154, 178,
111, 130, 152, 91, 108, 126, 70, 84, 100, 46, 57, 70, 9, 15, 27, 180, 198,
205, 158, 175, 182, 138, 153, 159, 116, 129, 135, 95, 107, 112, 73, 83, 88,
48, 56, 60, 8, 15, 20, 186, 197, 182, 163, 173, 161, 141, 151, 141, 119,
128, 119, 97, 106, 99, 75, 82, 77, 49, 55, 51, 8, 14, 11, 190, 195, 158,
166, 172, 139, 144, 150, 122, 121, 127, 103, 99, 105, 84, 77, 81, 65, 50,
55, 41, 8, 14, 2, 194, 193, 135, 169, 170, 119, 147, 148, 103, 123, 125, 87,
101, 104, 70, 78, 81, 53, 51, 54, 31, 5, 14, 0, 197, 192, 109, 172, 169, 96,
149, 147, 83, 124, 124, 69, 102, 103, 55, 79, 80, 39, 51, 54, 19, 2, 14, 0,
200, 191, 80, 174, 168, 69, 150, 146, 59, 126, 123, 48, 103, 102, 36, 79,
79, 22, 52, 53, 2, 0, 14, 0, 202, 190, 51, 176, 167, 43, 152, 145, 36, 127,
123, 27, 103, 101, 16, 80, 79, 1, 52, 53, 0, 0, 14, 0, 175, 176, 215, 154,
156, 190, 134, 136, 166, 113, 115, 141, 93, 94, 118, 72, 73, 93, 48, 47, 64,
12, 2, 22, 182, 175, 191, 160, 154, 169, 139, 135, 148, 117, 114, 126, 96,
94, 104, 75, 72, 81, 50, 47, 55, 12, 3, 14, 186, 174, 170, 163, 153, 151,
142, 134, 132, 119, 113, 111, 98, 93, 92, 76, 71, 71, 51, 46, 46, 11, 3, 5,
190, 172, 148, 166, 152, 130, 144, 132, 114, 121, 112, 96, 100, 92, 78, 77,
71, 59, 51, 46, 36, 9, 4, 0, 192, 171, 127, 169, 151, 111, 146, 131, 97,
123, 111, 81, 101, 91, 65, 78, 70, 48, 52, 45, 26, 6, 4, 0, 195, 170, 103,
171, 150, 90, 148, 130, 78, 124, 110, 64, 102, 90, 51, 79, 70, 35, 52, 45,
15, 3, 5, 0, 198, 169, 76, 173, 149, 66, 149, 129, 56, 125, 109, 45, 103,
89, 33, 79, 69, 18, 52, 45, 0, 1, 5, 0, 199, 168, 51, 174, 148, 43, 150,
129, 35, 126, 108, 26, 103, 89, 14, 80, 69, 0, 52, 45, 0, 0, 5, 0, 177, 151,
198, 156, 134, 175, 136, 117, 153, 115, 98, 130, 95, 80, 108, 74, 60, 85,
50, 36, 58, 11, 0, 15, 183, 150, 176, 161, 133, 156, 140, 116, 137, 118, 97,
116, 97, 79, 96, 76, 60, 74, 51, 36, 49, 11, 0, 6, 186, 150, 158, 163, 132,
139, 142, 115, 122, 120, 97, 103, 99, 79, 84, 77, 59, 64, 52, 36, 41, 9, 0,
1, 189, 148, 137, 166, 131, 121, 144, 114, 105, 121, 96, 88, 100, 78, 72,
78, 59, 54, 52, 36, 31, 7, 0, 0, 191, 147, 118, 168, 130, 103, 145, 113, 90,
122, 95, 75, 101, 77, 60, 78, 59, 43, 52, 35, 22, 5, 0, 0, 193, 147, 97,
169, 129, 84, 147, 112, 72, 123, 94, 59, 101, 77, 46, 79, 58, 31, 52, 35,
11, 4, 0, 0, 195, 146, 73, 171, 128, 62, 148, 111, 53, 124, 93, 41, 102, 76,
30, 79, 58, 15, 52, 35, 0, 3, 0, 0, 197, 145, 50, 172, 128, 42, 149, 111,
34, 125, 93, 24, 102, 76, 12, 79, 57, 0, 52, 35, 0, 2, 0, 0, 179, 128, 183,
157, 113, 162, 137, 98, 142, 116, 82, 120, 96, 66, 100, 75, 48, 78, 51, 24,
52, 5, 0, 8, 183, 128, 163, 161, 113, 144, 140, 98, 126, 119, 81, 107, 98,
65, 88, 76, 48, 68, 52, 24, 43, 6, 0, 1, 186, 127, 146, 163, 112, 129, 142,
97, 112, 120, 81, 95, 99, 65, 77, 77, 47, 58, 52, 24, 35, 4, 0, 0, 188, 126,
128, 165, 111, 112, 144, 96, 97, 121, 80, 81, 100, 65, 66, 78, 47, 48, 53,
24, 26, 3, 0, 0, 190, 126, 110, 167, 110, 96, 145, 96, 83, 122, 80, 69, 101,
64, 54, 78, 47, 38, 52, 25, 18, 2, 0, 0, 192, 125, 90, 168, 110, 79, 146,
95, 67, 123, 79, 54, 101, 64, 42, 79, 47, 26, 52, 25, 7, 2, 0, 0, 194, 124,
69, 170, 109, 59, 147, 95, 49, 123, 79, 38, 101, 63, 26, 79, 47, 11, 52, 25,
0, 1, 0, 0, 195, 124, 49, 171, 109, 40, 148, 94, 32, 124, 78, 22, 102, 63,
9, 79, 46, 0, 52, 25, 0, 1, 0, 0, 180, 104, 168, 158, 91, 148, 138, 78, 130,
117, 64, 110, 97, 49, 91, 76, 33, 70, 52, 7, 46, 2, 0, 1, 184, 103, 150,
162, 91, 133, 141, 78, 116, 119, 64, 98, 99, 50, 80, 77, 33, 61, 52, 8, 37,
2, 0, 0, 186, 103, 135, 163, 90, 119, 142, 78, 103, 120, 64, 87, 99, 50, 70,
78, 33, 52, 52, 10, 30, 1, 0, 0, 188, 103, 118, 165, 90, 103, 143, 77, 90,
121, 63, 75, 100, 49, 60, 78, 33, 43, 52, 11, 22, 1, 0, 0, 189, 102, 102,

166, 89, 89, 144, 77, 76, 121, 63, 63, 100, 49, 49, 78, 34, 33, 52, 12, 14,
0, 0, 0, 191, 102, 84, 167, 89, 73, 145, 77, 62, 122, 63, 50, 101, 49, 37,
78, 34, 22, 52, 13, 4, 0, 0, 0, 192, 101, 65, 168, 89, 55, 146, 76, 46, 123,
63, 35, 101, 49, 23, 78, 34, 7, 51, 13, 0, 0, 0, 0, 193, 101, 48, 169, 88,
39, 146, 76, 31, 123, 63, 20, 101, 49, 8, 78, 34, 0, 51, 14, 0, 0, 0, 0,
181, 75, 154, 159, 64, 136, 139, 54, 118, 118, 41, 100, 98, 28, 82, 77, 8,
63, 51, 0, 39, 0, 0, 0, 184, 75, 137, 162, 65, 121, 141, 54, 106, 119, 42,
89, 99, 29, 72, 77, 11, 54, 52, 0, 32, 0, 0, 0, 186, 75, 123, 163, 65, 109,
142, 54, 94, 120, 43, 79, 99, 30, 63, 78, 12, 46, 52, 0, 25, 0, 0, 0, 187,
76, 108, 164, 65, 95, 143, 55, 82, 121, 43, 68, 100, 31, 54, 78, 14, 37, 52,
0, 17, 0, 0, 0, 188, 76, 94, 165, 65, 82, 144, 55, 70, 121, 43, 57, 100, 31,
44, 78, 15, 28, 51, 0, 9, 0, 0, 0, 189, 75, 78, 166, 65, 68, 144, 55, 57,
121, 43, 45, 100, 31, 33, 78, 16, 18, 51, 0, 2, 0, 0, 0, 190, 75, 61, 167,
65, 52, 145, 55, 42, 122, 44, 31, 100, 32, 19, 78, 16, 4, 51, 0, 0, 0, 0, 0,
191, 75, 46, 168, 65, 37, 145, 55, 29, 122, 44, 18, 100, 32, 5, 78, 17, 0,
50, 0, 0, 0, 0, 0, 181, 35, 140, 160, 24, 123, 140, 12, 107, 118, 0, 90, 98,
0, 74, 77, 0, 56, 51, 0, 33, 0, 0, 0, 184, 34, 125, 162, 26, 110, 141, 15,
96, 120, 1, 80, 99, 0, 65, 78, 0, 48, 51, 0, 26, 0, 0, 0, 186, 36, 113, 163,
27, 99, 142, 18, 86, 120, 5, 71, 99, 0, 57, 78, 0, 40, 51, 0, 20, 0, 0, 0,
187, 38, 99, 164, 30, 87, 142, 21, 74, 120, 8, 61, 99, 0, 48, 78, 0, 32, 51,
0, 12, 0, 0, 0, 187, 39, 87, 164, 31, 75, 143, 22, 64, 120, 11, 51, 100, 0,
39, 78, 0, 24, 51, 0, 6, 0, 0, 0, 188, 40, 73, 165, 32, 62, 143, 24, 52,
121, 13, 40, 100, 0, 28, 78, 0, 14, 51, 0, 0, 0, 0, 0, 189, 40, 58, 166, 33,
48, 144, 25, 39, 121, 15, 28, 100, 1, 16, 78, 0, 2, 50, 0, 0, 0, 0, 0, 190,
40, 45, 166, 34, 36, 144, 26, 27, 121, 16, 17, 100, 3, 3, 77, 0, 0, 49, 0,
0, 0, 0, 0, 120, 213, 247, 106, 188, 217, 92, 164, 190, 76, 139, 162, 60,
115, 135, 43, 91, 107, 21, 62, 76, 0, 22, 34, 134, 211, 219, 118, 186, 193,
102, 162, 169, 84, 138, 144, 67, 114, 120, 49, 90, 95, 26, 62, 66, 0, 22,
26, 143, 209, 195, 125, 184, 172, 108, 161, 151, 90, 136, 128, 72, 113, 106,
53, 89, 83, 29, 61, 57, 0, 22, 19, 150, 207, 169, 131, 182, 149, 113, 159,
130, 94, 135, 110, 76, 112, 91, 56, 88, 71, 31, 60, 47, 0, 21, 9, 156, 205,
145, 136, 181, 127, 117, 158, 111, 97, 133, 94, 78, 111, 77, 58, 87, 59, 33,
60, 37, 0, 21, 0, 161, 204, 118, 141, 179, 104, 121, 156, 90, 100, 132, 75,
81, 110, 61, 60, 86, 45, 35, 59, 25, 0, 21, 0, 165, 203, 89, 144, 178, 77,
124, 155, 67, 102, 131, 55, 82, 109, 43, 62, 85, 29, 36, 59, 10, 0, 21, 0,
169, 202, 62, 147, 178, 53, 126, 155, 45, 104, 131, 36, 84, 108, 25, 62, 85,
11, 36, 58, 0, 0, 21, 0, 129, 189, 229, 114, 167, 202, 99, 146, 177, 83,
124, 151, 67, 102, 126, 49, 79, 99, 28, 53, 70, 0, 12, 28, 140, 188, 204,
124, 166, 180, 107, 145, 158, 89, 123, 134, 72, 101, 111, 54, 79, 88, 31,
53, 60, 0, 12, 21, 148, 186, 182, 130, 164, 161, 112, 144, 141, 93, 121,
119, 76, 100, 99, 56, 78, 77, 33, 52, 51, 0, 12, 13, 153, 184, 158, 134,
163, 140, 116, 142, 122, 97, 120, 103, 78, 99, 85, 59, 77, 65, 35, 52, 42,
0, 12, 3, 158, 183, 136, 138, 161, 120, 119, 141, 104, 99, 119, 87, 80, 98,
71, 60, 77, 54, 36, 51, 32, 0, 12, 0, 162, 182, 112, 142, 160, 98, 122, 140,
85, 102, 118, 70, 82, 97, 56, 62, 76, 41, 37, 51, 21, 0, 11, 0, 166, 181,
85, 145, 159, 74, 125, 139, 63, 103, 117, 51, 84, 97, 39, 63, 75, 25, 37,
51, 6, 0, 11, 0, 168, 180, 60, 147, 158, 51, 126, 138, 43, 105, 116, 34, 85,
96, 23, 64, 75, 8, 38, 50, 0, 0, 11, 0, 136, 167, 213, 120, 148, 188, 105,
129, 165, 88, 109, 140, 71, 90, 117, 54, 69, 92, 32, 44, 64, 0, 2, 23, 145,
166, 190, 128, 147, 168, 111, 128, 147, 93, 108, 125, 75, 89, 104, 57, 68,
81, 34, 44, 55, 0, 2, 15, 151, 165, 170, 133, 146, 150, 115, 127, 131, 96,
107, 111, 78, 88, 92, 59, 68, 71, 36, 43, 46, 0, 2, 6, 155, 163, 148, 136,
144, 131, 118, 126, 114, 99, 106, 96, 80, 87, 79, 61, 67, 60, 37, 43, 37, 0,
2, 0, 159, 162, 128, 140, 143, 112, 121, 125, 97, 101, 105, 82, 82, 87, 66,
62, 67, 49, 38, 43, 27, 0, 2, 0, 163, 161, 105, 142, 142, 92, 123, 124, 80,
103, 104, 66, 83, 86, 52, 63, 66, 37, 39, 43, 17, 0, 2, 0, 166, 160, 81,
145, 141, 70, 125, 123, 59, 104, 104, 48, 84, 85, 36, 64, 66, 21, 39, 42, 2,
0, 1, 0, 168, 160, 59, 147, 141, 50, 126, 122, 41, 105, 103, 32, 85, 85, 20,
64, 65, 6, 39, 42, 0, 0, 1, 0, 142, 144, 197, 125, 128, 174, 109, 111, 153,
92, 93, 130, 75, 76, 108, 57, 57, 85, 36, 33, 58, 0, 0, 16, 149, 143, 176,

131, 127, 156, 114, 110, 136, 96, 93, 116, 78, 75, 96, 60, 57, 74, 37, 33,
49, 0, 0, 7, 153, 142, 157, 135, 126, 139, 117, 110, 122, 98, 92, 103, 80,
75, 84, 61, 56, 65, 38, 33, 41, 0, 0, 1, 157, 142, 138, 138, 125, 121, 120,
109, 106, 100, 91, 89, 82, 74, 72, 62, 56, 54, 39, 33, 32, 0, 0, 0, 160,
141, 119, 140, 124, 105, 122, 108, 91, 102, 91, 76, 83, 74, 61, 63, 56, 44,
40, 33, 23, 0, 0, 0, 163, 140, 99, 143, 123, 86, 124, 107, 74, 103, 90, 61,
84, 73, 48, 64, 55, 32, 40, 33, 13, 0, 0, 0, 165, 139, 77, 145, 122, 66,
125, 107, 56, 104, 89, 44, 85, 73, 33, 65, 55, 18, 40, 33, 1, 0, 0, 0, 167,
139, 57, 146, 122, 48, 126, 106, 39, 105, 89, 29, 86, 72, 18, 65, 55, 3, 40,
33, 0, 0, 0, 0, 146, 123, 182, 129, 108, 161, 113, 94, 141, 95, 78, 120, 78,
62, 99, 60, 45, 78, 38, 21, 52, 0, 0, 9, 152, 122, 163, 134, 108, 144, 117,
94, 126, 98, 78, 107, 80, 62, 88, 61, 45, 68, 39, 22, 44, 0, 0, 1, 156, 122,
146, 137, 107, 129, 119, 93, 113, 100, 77, 95, 82, 62, 78, 63, 45, 59, 40,
22, 36, 0, 0, 0, 158, 121, 128, 139, 107, 113, 121, 92, 98, 101, 77, 82, 83,
62, 66, 64, 45, 49, 40, 23, 27, 0, 0, 0, 161, 120, 111, 141, 106, 97, 122,
92, 84, 103, 77, 70, 84, 62, 56, 64, 45, 40, 40, 23, 19, 0, 0, 0, 163, 120,
93, 143, 105, 81, 124, 91, 69, 104, 76, 56, 85, 61, 43, 65, 45, 28, 40, 24,
9, 0, 0, 0, 165, 119, 73, 145, 105, 62, 125, 91, 52, 105, 76, 41, 85, 61,
29, 65, 44, 15, 40, 24, 0, 0, 0, 0, 166, 119, 55, 146, 104, 46, 126, 90, 37,
105, 75, 27, 86, 61, 15, 65, 44, 0, 40, 24, 0, 0, 0, 0, 150, 100, 168, 132,
88, 148, 115, 75, 130, 97, 61, 110, 80, 47, 91, 62, 30, 71, 39, 7, 46, 0, 0,
2, 154, 100, 150, 136, 88, 133, 119, 75, 116, 100, 61, 98, 82, 47, 81, 63,
31, 62, 40, 9, 38, 0, 0, 0, 157, 100, 135, 138, 87, 119, 120, 75, 104, 101,
61, 87, 83, 48, 71, 64, 31, 53, 40, 10, 31, 0, 0, 0, 159, 99, 119, 140, 87,
104, 122, 75, 91, 102, 61, 75, 84, 48, 61, 64, 32, 44, 40, 11, 23, 0, 0, 0,
161, 99, 104, 141, 87, 90, 123, 74, 78, 103, 61, 64, 84, 48, 50, 65, 32, 35,
40, 12, 15, 0, 0, 0, 163, 99, 87, 143, 86, 75, 124, 74, 64, 104, 61, 52, 85,
47, 39, 65, 32, 24, 40, 13, 6, 0, 0, 0, 164, 98, 69, 144, 86, 58, 125, 74,
49, 104, 61, 38, 85, 47, 26, 65, 32, 11, 40, 13, 0, 0, 0, 0, 166, 98, 53,
145, 86, 44, 126, 74, 35, 105, 60, 25, 86, 47, 13, 65, 32, 0, 40, 14, 0, 0,
0, 0, 152, 75, 154, 134, 64, 136, 117, 53, 119, 99, 41, 101, 82, 27, 83, 63,
7, 64, 39, 0, 40, 0, 0, 0, 156, 74, 138, 138, 64, 122, 120, 53, 106, 101,
41, 90, 83, 28, 73, 64, 10, 55, 40, 0, 33, 0, 0, 0, 158, 74, 124, 139, 64,
110, 121, 54, 95, 102, 42, 80, 84, 29, 64, 65, 12, 47, 41, 0, 26, 0, 0, 0,
160, 75, 110, 140, 64, 96, 122, 54, 83, 103, 42, 69, 84, 30, 55, 65, 13, 39,
41, 0, 18, 0, 0, 0, 161, 75, 96, 142, 64, 83, 123, 54, 71, 103, 43, 58, 85,
30, 45, 65, 14, 30, 41, 0, 11, 0, 0, 0, 163, 75, 81, 143, 64, 70, 124, 54,
59, 104, 43, 47, 85, 31, 35, 65, 15, 20, 41, 0, 3, 0, 0, 0, 164, 74, 65,
144, 64, 55, 125, 54, 45, 104, 43, 34, 85, 31, 22, 66, 16, 7, 41, 0, 0, 0,
0, 0, 165, 74, 51, 145, 64, 42, 125, 54, 33, 105, 43, 22, 86, 32, 10, 65,
17, 0, 40, 0, 0, 0, 0, 0, 154, 41, 142, 136, 30, 124, 119, 19, 108, 101, 3,
91, 83, 0, 75, 64, 0, 57, 39, 0, 34, 0, 0, 0, 158, 40, 127, 139, 31, 112,
121, 21, 97, 102, 7, 81, 84, 0, 66, 65, 0, 49, 40, 0, 27, 0, 0, 0, 159, 41,
114, 140, 32, 100, 122, 23, 87, 103, 10, 72, 85, 0, 58, 65, 0, 42, 40, 0,
21, 0, 0, 0, 160, 43, 101, 141, 34, 88, 123, 25, 76, 103, 13, 62, 85, 0, 49,
65, 0, 33, 41, 0, 14, 0, 0, 0, 161, 44, 89, 142, 35, 77, 123, 26, 65, 103,
15, 53, 85, 1, 40, 65, 0, 25, 41, 0, 7, 0, 0, 0, 162, 44, 75, 143, 36, 64,
124, 28, 54, 104, 17, 42, 85, 3, 30, 65, 0, 16, 40, 0, 1, 0, 0, 0, 164, 45,
61, 144, 37, 51, 124, 29, 42, 104, 18, 31, 85, 4, 19, 65, 0, 4, 40, 0, 0, 0,
0, 0, 164, 45, 49, 144, 37, 40, 125, 29, 31, 105, 19, 20, 86, 6, 7, 65, 0,
0, 39, 0, 0, 0, 0, 0, 49, 202, 244, 45, 178, 215, 38, 156, 188, 28, 132,
160, 14, 110, 134, 0, 86, 107, 0, 59, 76, 0, 20, 34, 80, 200, 217, 70, 176,
192, 60, 154, 168, 47, 131, 143, 34, 109, 119, 16, 85, 94, 0, 58, 66, 0, 20,
27, 95, 198, 194, 84, 175, 171, 71, 153, 150, 57, 130, 127, 42, 108, 106,
25, 84, 83, 0, 58, 57, 0, 20, 19, 107, 196, 169, 93, 173, 149, 79, 151, 130,
64, 128, 110, 49, 106, 91, 32, 84, 71, 3, 57, 47, 0, 19, 10, 115, 195, 145,
100, 171, 128, 86, 150, 112, 69, 127, 94, 53, 105, 78, 36, 83, 59, 8, 57,
37, 0, 19, 1, 122, 193, 120, 107, 170, 106, 91, 149, 92, 74, 126, 77, 57,
104, 62, 39, 82, 46, 13, 56, 26, 0, 18, 0, 128, 192, 93, 112, 169, 81, 95,
148, 70, 77, 125, 58, 60, 104, 46, 42, 81, 31, 15, 56, 13, 0, 17, 0, 132,

191, 69, 115, 168, 60, 98, 147, 51, 79, 124, 41, 62, 103, 30, 43, 81, 17,
16, 56, 0, 0, 17, 0, 77, 180, 227, 69, 159, 200, 60, 139, 176, 48, 118, 150,
35, 97, 125, 20, 75, 99, 0, 50, 70, 0, 9, 29, 96, 178, 203, 85, 158, 179,
73, 138, 157, 59, 117, 133, 45, 96, 111, 29, 75, 87, 3, 50, 60, 0, 9, 21,
107, 177, 181, 94, 156, 160, 80, 137, 140, 65, 116, 119, 51, 96, 98, 34, 74,
77, 9, 49, 52, 0, 8, 14, 115, 175, 158, 101, 155, 140, 86, 135, 122, 71,
114, 103, 55, 95, 85, 38, 73, 65, 14, 49, 42, 0, 7, 4, 121, 174, 137, 106,
153, 120, 91, 134, 105, 74, 113, 88, 58, 94, 72, 41, 73, 54, 17, 49, 33, 0,
6, 0, 127, 173, 114, 111, 152, 100, 95, 133, 86, 78, 112, 72, 61, 93, 58,
43, 72, 42, 19, 48, 22, 0, 6, 0, 132, 172, 88, 115, 151, 77, 98, 132, 66,
80, 112, 54, 63, 92, 42, 45, 72, 28, 20, 48, 9, 0, 5, 0, 135, 171, 67, 118,
151, 57, 100, 131, 49, 82, 111, 39, 65, 92, 28, 46, 71, 13, 21, 48, 0, 0, 5,
0, 93, 159, 211, 83, 141, 187, 72, 123, 164, 59, 104, 140, 46, 85, 116, 31,
65, 92, 8, 41, 64, 0, 1, 23, 106, 158, 189, 94, 140, 167, 81, 122, 147, 67,
103, 124, 52, 85, 103, 36, 65, 81, 14, 41, 55, 0, 0, 15, 114, 157, 169, 100,
139, 150, 87, 121, 131, 71, 102, 111, 56, 84, 92, 40, 64, 71, 17, 41, 47, 0,
0, 7, 121, 156, 148, 106, 138, 131, 91, 120, 114, 75, 101, 96, 60, 83, 79,
43, 64, 60, 20, 40, 37, 0, 0, 1, 126, 155, 129, 110, 136, 113, 95, 119, 98,
78, 101, 82, 62, 83, 67, 45, 63, 50, 22, 40, 28, 0, 0, 0, 130, 154, 107,
114, 135, 94, 98, 118, 81, 81, 100, 67, 64, 82, 54, 46, 63, 38, 23, 40, 18,
0, 0, 0, 134, 153, 84, 117, 135, 73, 101, 117, 62, 83, 99, 51, 66, 81, 39,
48, 62, 24, 24, 40, 5, 0, 0, 0, 137, 152, 65, 119, 134, 55, 102, 117, 46,
84, 99, 36, 67, 81, 25, 48, 62, 11, 24, 40, 0, 0, 0, 0, 105, 138, 196, 93,
122, 173, 81, 106, 152, 67, 89, 129, 53, 72, 107, 38, 54, 84, 17, 30, 58, 0,
0, 17, 115, 137, 175, 101, 121, 155, 88, 106, 136, 73, 89, 115, 58, 72, 95,
42, 54, 74, 21, 31, 49, 0, 0, 8, 120, 136, 157, 106, 120, 139, 92, 105, 121,
76, 88, 103, 61, 71, 84, 44, 53, 65, 23, 31, 41, 0, 0, 1, 125, 135, 138,
110, 119, 122, 95, 104, 106, 79, 87, 89, 63, 71, 73, 46, 53, 55, 25, 31, 33,
0, 0, 0, 129, 134, 120, 113, 119, 105, 98, 103, 91, 81, 87, 76, 65, 71, 61,
48, 53, 45, 26, 31, 24, 0, 0, 0, 133, 134, 101, 116, 118, 88, 100, 103, 76,
83, 86, 62, 67, 70, 49, 49, 53, 34, 27, 31, 14, 0, 0, 0, 136, 133, 80, 119,
117, 69, 102, 102, 58, 85, 86, 47, 68, 70, 35, 50, 52, 20, 27, 31, 3, 0, 0,
0, 138, 133, 62, 121, 117, 52, 104, 102, 43, 86, 85, 33, 69, 69, 22, 50, 52,
7, 27, 31, 0, 0, 0, 0, 114, 118, 182, 100, 104, 161, 87, 90, 141, 73, 75,
120, 59, 59, 99, 43, 42, 78, 22, 20, 52, 0, 0, 10, 121, 117, 163, 106, 104,
144, 92, 90, 126, 77, 75, 107, 62, 59, 88, 46, 42, 68, 24, 21, 44, 0, 0, 2,
125, 117, 146, 110, 103, 129, 95, 89, 113, 79, 74, 95, 64, 59, 78, 47, 42,
59, 26, 21, 36, 0, 0, 0, 129, 116, 129, 113, 102, 113, 98, 89, 99, 82, 74,
83, 66, 59, 67, 49, 42, 50, 27, 22, 28, 0, 0, 0, 132, 116, 112, 116, 102,
98, 100, 88, 85, 83, 73, 71, 67, 59, 57, 50, 43, 41, 28, 22, 20, 0, 0, 0,
134, 115, 95, 118, 101, 82, 102, 88, 71, 85, 73, 58, 68, 59, 45, 51, 43, 30,
29, 22, 11, 0, 0, 0, 137, 115, 76, 120, 101, 65, 104, 87, 55, 86, 73, 44,
69, 58, 32, 51, 42, 18, 29, 22, 1, 0, 0, 0, 139, 114, 60, 122, 100, 50, 105,
87, 41, 87, 72, 31, 70, 58, 19, 51, 42, 4, 29, 22, 0, 0, 0, 0, 120, 97, 168,
106, 85, 149, 92, 73, 130, 77, 59, 110, 63, 45, 91, 47, 28, 71, 25, 6, 47,
0, 0, 3, 126, 97, 151, 111, 85, 133, 96, 73, 117, 80, 59, 98, 65, 46, 81,
48, 29, 62, 27, 7, 39, 0, 0, 0, 129, 97, 136, 113, 85, 120, 98, 73, 104, 82,
59, 88, 67, 46, 72, 50, 30, 54, 29, 8, 32, 0, 0, 0, 132, 96, 120, 116, 84,
105, 100, 72, 91, 84, 59, 76, 68, 46, 61, 51, 30, 45, 29, 9, 24, 0, 0, 0,
134, 96, 105, 117, 84, 92, 102, 72, 79, 85, 59, 65, 69, 46, 52, 51, 30, 36,
30, 10, 16, 0, 0, 0, 136, 96, 89, 119, 84, 77, 103, 72, 66, 86, 59, 53, 69,
46, 41, 52, 31, 26, 30, 11, 7, 0, 0, 0, 138, 95, 71, 121, 83, 61, 105, 72,
51, 87, 59, 40, 70, 46, 28, 52, 31, 14, 30, 11, 0, 0, 0, 0, 139, 95, 57,
122, 83, 47, 106, 71, 38, 88, 59, 28, 71, 46, 17, 52, 31, 2, 29, 12, 0, 0,
0, 0, 125, 74, 155, 110, 63, 137, 96, 52, 120, 81, 40, 101, 66, 27, 83, 49,
7, 64, 27, 0, 41, 0, 0, 0, 129, 73, 139, 114, 63, 123, 99, 53, 107, 83, 41,
90, 68, 28, 74, 51, 10, 56, 29, 0, 33, 0, 0, 0, 132, 74, 125, 116, 63, 110,
101, 53, 96, 84, 41, 80, 69, 29, 65, 51, 12, 48, 30, 0, 27, 0, 0, 0, 134,
74, 111, 118, 64, 97, 102, 53, 84, 85, 42, 70, 69, 29, 56, 52, 13, 40, 30,
0, 19, 0, 0, 0, 136, 74, 97, 119, 64, 85, 103, 53, 73, 86, 42, 60, 70, 30,

47, 52, 14, 31, 30, 0, 12, 0, 0, 0, 137, 74, 83, 121, 64, 71, 104, 54, 61,
87, 42, 49, 71, 30, 36, 53, 15, 22, 30, 0, 5, 0, 0, 0, 139, 74, 67, 122, 64,
57, 105, 54, 47, 88, 42, 36, 71, 31, 25, 53, 16, 9, 30, 0, 0, 0, 0, 0, 140,
73, 54, 123, 64, 45, 106, 54, 36, 88, 43, 26, 71, 31, 14, 53, 17, 1, 29, 0,
0, 0, 0, 0, 129, 44, 143, 114, 34, 126, 99, 24, 110, 84, 9, 92, 68, 0, 76,
51, 0, 58, 28, 0, 35, 0, 0, 0, 132, 44, 128, 117, 35, 113, 102, 25, 98, 85,
12, 82, 69, 0, 67, 52, 0, 50, 29, 0, 28, 0, 0, 0, 134, 45, 116, 118, 36,
102, 103, 27, 88, 86, 14, 73, 70, 0, 59, 52, 0, 43, 29, 0, 22, 0, 0, 0, 136,
46, 103, 119, 37, 90, 103, 28, 77, 87, 17, 64, 71, 1, 50, 53, 0, 35, 30, 0,
15, 0, 0, 0, 137, 47, 90, 120, 38, 78, 104, 29, 67, 87, 18, 54, 71, 3, 42,
53, 0, 27, 29, 0, 8, 0, 0, 0, 138, 47, 77, 121, 39, 66, 105, 30, 56, 88, 19,
44, 71, 5, 32, 53, 0, 18, 29, 0, 2, 0, 0, 0, 139, 48, 63, 122, 39, 53, 106,
31, 44, 88, 20, 33, 71, 7, 21, 53, 0, 6, 28, 0, 0, 0, 0, 0, 140, 48, 52,
123, 40, 42, 107, 31, 33, 89, 21, 23, 72, 8, 10, 53, 0, 0, 27, 0, 0, 0, 0,
0, 0, 192, 242, 0, 169, 213, 0, 148, 187, 0, 125, 159, 0, 104, 133, 0, 82,
106, 0, 56, 76, 0, 18, 34, 0, 189, 216, 0, 167, 190, 0, 147, 167, 0, 124,
142, 0, 103, 119, 0, 81, 94, 0, 55, 66, 0, 16, 27, 0, 188, 193, 0, 166, 170,
0, 145, 149, 0, 123, 127, 0, 102, 105, 0, 80, 83, 0, 55, 57, 0, 15, 20, 32,
186, 168, 27, 164, 149, 17, 144, 130, 0, 122, 110, 0, 101, 91, 0, 79, 71, 0,
55, 47, 0, 14, 11, 56, 184, 146, 47, 163, 129, 37, 142, 113, 23, 121, 95, 5,
100, 78, 0, 79, 60, 0, 54, 38, 0, 14, 2, 70, 183, 122, 60, 161, 107, 49,
141, 94, 35, 120, 79, 20, 100, 64, 0, 78, 48, 0, 54, 27, 0, 13, 0, 80, 182,
96, 69, 160, 84, 57, 140, 73, 43, 119, 61, 28, 99, 48, 6, 78, 34, 0, 53, 15,
0, 13, 0, 87, 181, 74, 75, 160, 65, 62, 140, 56, 47, 119, 46, 32, 98, 35,
12, 77, 21, 0, 53, 2, 0, 13, 0, 0, 171, 225, 0, 151, 199, 0, 132, 174, 0,
112, 149, 0, 92, 124, 0, 71, 98, 0, 47, 69, 0, 4, 29, 0, 169, 201, 0, 150,
178, 0, 131, 156, 0, 111, 133, 0, 92, 111, 0, 71, 87, 0, 47, 60, 0, 3, 22,
41, 168, 180, 36, 148, 159, 28, 130, 140, 15, 110, 118, 0, 91, 98, 0, 70,
77, 0, 46, 52, 0, 2, 14, 61, 166, 158, 53, 147, 139, 43, 129, 122, 31, 109,
103, 17, 90, 85, 0, 70, 66, 0, 46, 43, 0, 2, 5, 73, 165, 137, 64, 146, 121,
53, 128, 106, 40, 108, 89, 26, 89, 73, 6, 69, 55, 0, 46, 33, 0, 1, 0, 83,
164, 115, 72, 145, 101, 60, 127, 88, 46, 107, 73, 32, 89, 59, 14, 69, 43, 0,
46, 23, 0, 1, 0, 90, 163, 91, 78, 144, 80, 65, 126, 69, 51, 106, 57, 37, 88,
44, 19, 68, 30, 0, 45, 11, 0, 1, 0, 95, 163, 72, 82, 143, 62, 69, 125, 53,
54, 106, 43, 39, 88, 32, 22, 68, 18, 0, 45, 0, 0, 1, 0, 0, 152, 210, 0, 134,
186, 0, 117, 163, 0, 99, 139, 0, 81, 116, 0, 62, 92, 0, 38, 64, 0, 1, 24,
47, 151, 188, 42, 133, 167, 35, 117, 146, 24, 98, 124, 10, 81, 103, 0, 61,
81, 0, 38, 55, 0, 0, 16, 65, 150, 169, 57, 132, 149, 47, 116, 131, 36, 98,
111, 23, 80, 92, 4, 61, 71, 0, 38, 47, 0, 0, 7, 76, 148, 148, 67, 131, 131,
56, 115, 114, 44, 97, 96, 31, 79, 79, 14, 61, 61, 0, 38, 38, 0, 0, 1, 84,
147, 129, 74, 130, 114, 62, 114, 99, 49, 96, 83, 35, 79, 68, 19, 60, 50, 0,
37, 29, 0, 0, 0, 91, 146, 109, 80, 129, 95, 67, 113, 83, 53, 95, 69, 39, 78,
55, 23, 60, 39, 1, 37, 20, 0, 0, 0, 97, 146, 87, 84, 128, 76, 71, 112, 65,
57, 95, 53, 42, 78, 41, 26, 60, 26, 4, 37, 7, 0, 0, 0, 101, 145, 69, 88,
128, 59, 74, 112, 50, 59, 94, 40, 44, 77, 29, 27, 59, 15, 4, 37, 0, 0, 0, 0,
52, 132, 195, 47, 117, 172, 40, 102, 151, 30, 85, 129, 19, 69, 107, 2, 51,
84, 0, 28, 58, 0, 0, 18, 70, 131, 175, 61, 116, 155, 52, 101, 135, 41, 85,
115, 29, 68, 95, 13, 51, 74, 0, 28, 49, 0, 0, 9, 80, 130, 157, 70, 115, 139,
59, 100, 121, 47, 84, 103, 35, 68, 85, 19, 51, 65, 0, 28, 42, 0, 0, 1, 87,
130, 138, 76, 114, 122, 65, 100, 106, 52, 84, 89, 39, 68, 73, 24, 50, 55, 4,
28, 33, 0, 0, 0, 93, 129, 121, 81, 114, 106, 69, 99, 92, 56, 83, 77, 42, 67,
62, 27, 50, 46, 7, 29, 25, 0, 0, 0, 98, 128, 102, 86, 113, 89, 73, 98, 77,
59, 82, 64, 45, 67, 50, 29, 50, 35, 9, 29, 16, 0, 0, 0, 102, 127, 82, 89,
112, 71, 76, 98, 61, 61, 82, 49, 47, 66, 37, 31, 50, 23, 11, 29, 4, 0, 0, 0,
105, 127, 66, 92, 112, 56, 78, 97, 47, 63, 82, 37, 48, 66, 25, 32, 50, 11,
10, 29, 0, 0, 0, 0, 72, 114, 181, 63, 100, 160, 54, 87, 140, 44, 72, 119,
32, 57, 99, 18, 39, 78, 0, 18, 52, 0, 0, 11, 83, 113, 163, 73, 100, 144, 62,
86, 126, 50, 71, 107, 38, 57, 88, 24, 40, 68, 3, 19, 44, 0, 0, 3, 89, 113,
147, 78, 99, 129, 67, 86, 113, 55, 71, 95, 42, 57, 78, 27, 40, 60, 8, 19,
37, 0, 0, 0, 95, 112, 129, 83, 98, 114, 71, 85, 99, 58, 71, 83, 45, 56, 67,

30, 40, 50, 11, 20, 29, 0, 0, 0, 99, 111, 113, 86, 98, 99, 74, 85, 86, 60,
70, 72, 47, 56, 57, 31, 40, 41, 12, 20, 21, 0, 0, 0, 103, 111, 96, 90, 97,
84, 77, 84, 72, 63, 70, 59, 49, 56, 46, 33, 40, 31, 13, 21, 12, 0, 0, 0,
106, 110, 78, 93, 97, 67, 79, 84, 57, 64, 70, 46, 50, 56, 34, 34, 40, 19,
13, 21, 2, 0, 0, 0, 108, 110, 63, 95, 97, 53, 81, 84, 44, 66, 69, 34, 51,
56, 22, 35, 40, 7, 13, 21, 0, 0, 0, 0, 85, 94, 168, 74, 82, 149, 64, 70,
130, 53, 57, 110, 41, 43, 91, 27, 26, 71, 5, 5, 47, 0, 0, 4, 92, 94, 151,
81, 82, 134, 70, 70, 117, 57, 57, 99, 45, 44, 81, 30, 27, 62, 10, 7, 39, 0,
0, 0, 97, 94, 136, 85, 82, 120, 73, 70, 105, 60, 57, 88, 47, 44, 72, 32, 28,
54, 13, 8, 32, 0, 0, 0, 101, 94, 121, 88, 82, 106, 76, 70, 92, 62, 57, 77,
49, 44, 62, 34, 28, 45, 14, 9, 25, 0, 0, 0, 104, 93, 106, 91, 81, 93, 78,
70, 80, 64, 57, 66, 50, 44, 52, 35, 29, 37, 14, 10, 17, 0, 0, 0, 106, 93,
90, 93, 81, 78, 80, 69, 67, 66, 57, 55, 52, 44, 42, 36, 29, 27, 15, 11, 8,
0, 0, 0, 109, 92, 74, 96, 81, 63, 82, 69, 53, 67, 57, 42, 53, 44, 30, 36,
29, 16, 15, 11, 1, 0, 0, 0, 111, 92, 60, 97, 80, 50, 83, 69, 41, 68, 57, 31,
53, 44, 20, 37, 30, 5, 15, 11, 0, 0, 0, 0, 94, 73, 155, 82, 63, 137, 72, 52,
120, 59, 40, 102, 47, 26, 84, 32, 8, 65, 9, 0, 42, 0, 0, 0, 99, 73, 140, 87,
63, 124, 76, 52, 108, 62, 40, 91, 49, 27, 75, 34, 11, 57, 12, 0, 34, 0, 0,
0, 103, 73, 126, 90, 63, 111, 78, 53, 97, 64, 41, 81, 51, 28, 66, 35, 13,
49, 13, 0, 27, 0, 0, 0, 105, 73, 112, 92, 63, 98, 80, 53, 85, 66, 41, 71,
52, 29, 57, 36, 14, 41, 15, 0, 20, 0, 0, 0, 107, 73, 99, 94, 63, 86, 81, 53,
74, 67, 41, 61, 53, 29, 48, 37, 15, 32, 16, 0, 13, 0, 0, 0, 110, 73, 85, 96,
63, 73, 83, 53, 62, 68, 42, 50, 54, 30, 38, 38, 16, 23, 16, 1, 5, 0, 0, 0,
112, 73, 69, 98, 63, 59, 84, 53, 49, 69, 42, 38, 55, 30, 27, 38, 16, 12, 17,
1, 0, 0, 0, 0, 113, 73, 57, 99, 63, 47, 85, 53, 38, 70, 42, 28, 55, 30, 17,
38, 17, 3, 16, 2, 0, 0, 0, 0, 101, 47, 144, 88, 38, 127, 77, 27, 111, 64,
14, 94, 51, 0, 77, 35, 0, 59, 9, 0, 36, 0, 0, 0, 105, 47, 129, 92, 38, 114,
80, 28, 99, 66, 16, 83, 53, 0, 68, 37, 0, 51, 13, 0, 29, 0, 0, 0, 107, 48,
117, 94, 39, 103, 81, 29, 89, 67, 18, 74, 54, 2, 60, 38, 0, 44, 15, 0, 23,
0, 0, 0, 109, 49, 104, 95, 40, 91, 82, 31, 79, 68, 19, 65, 54, 5, 51, 39, 0,
36, 17, 0, 16, 0, 0, 0, 110, 50, 92, 97, 40, 80, 84, 31, 68, 69, 20, 56, 55,
7, 43, 39, 0, 28, 17, 0, 9, 0, 0, 0, 112, 50, 79, 98, 41, 68, 85, 32, 57,
70, 21, 46, 56, 8, 34, 40, 0, 20, 18, 0, 3, 0, 0, 0, 113, 50, 65, 100, 41,
55, 86, 33, 46, 71, 22, 35, 56, 10, 23, 40, 0, 8, 17, 0, 0, 0, 0, 0, 115,
50, 54, 101, 41, 44, 87, 33, 36, 71, 23, 25, 56, 11, 14, 40, 0, 1, 16, 0, 0,
0, 0, 0, 0, 182, 240, 0, 161, 212, 0, 141, 185, 0, 120, 158, 0, 99, 132, 0,
78, 106, 0, 53, 75, 0, 12, 35, 0, 180, 214, 0, 159, 189, 0, 140, 166, 0,
119, 141, 0, 99, 118, 0, 77, 94, 0, 53, 66, 0, 11, 28, 0, 179, 192, 0, 158,
169, 0, 138, 149, 0, 118, 126, 0, 98, 105, 0, 77, 83, 0, 52, 57, 0, 10, 21,
0, 177, 168, 0, 156, 149, 0, 137, 130, 0, 116, 110, 0, 97, 91, 0, 76, 71, 0,
52, 48, 0, 9, 12, 0, 175, 146, 0, 155, 129, 0, 136, 113, 0, 115, 96, 0, 96,
79, 0, 75, 60, 0, 51, 39, 0, 9, 3, 0, 174, 123, 0, 154, 109, 0, 135, 95, 0,
115, 80, 0, 95, 65, 0, 75, 49, 0, 51, 28, 0, 8, 0, 0, 173, 98, 0, 153, 87,
0, 134, 76, 0, 114, 63, 0, 95, 50, 0, 74, 35, 0, 51, 17, 0, 8, 0, 0, 172,
78, 0, 152, 70, 0, 134, 60, 0, 114, 49, 0, 94, 38, 0, 74, 24, 0, 51, 5, 0,
8, 0, 0, 163, 224, 0, 144, 198, 0, 126, 173, 0, 107, 148, 0, 88, 123, 0, 68,
98, 0, 44, 69, 0, 1, 29, 0, 162, 200, 0, 143, 177, 0, 125, 155, 0, 106, 132,
0, 88, 110, 0, 68, 87, 0, 44, 60, 0, 1, 22, 0, 160, 180, 0, 142, 159, 0,
124, 139, 0, 105, 118, 0, 87, 98, 0, 67, 77, 0, 44, 52, 0, 0, 15, 0, 159,
158, 0, 140, 139, 0, 123, 122, 0, 104, 103, 0, 86, 85, 0, 67, 66, 0, 43, 43,
0, 0, 5, 0, 157, 138, 0, 139, 121, 0, 122, 106, 0, 103, 89, 0, 85, 73, 0,
66, 56, 0, 43, 34, 0, 0, 0, 0, 156, 116, 0, 138, 102, 0, 121, 89, 0, 103,
75, 0, 85, 60, 0, 66, 44, 0, 43, 24, 0, 0, 0, 6, 155, 94, 2, 137, 82, 0,
120, 71, 0, 102, 59, 0, 84, 46, 0, 65, 32, 0, 43, 13, 0, 0, 0, 30, 155, 75,
23, 137, 66, 11, 120, 57, 0, 102, 46, 0, 84, 35, 0, 65, 20, 0, 43, 2, 0, 0,
0, 0, 145, 209, 0, 129, 185, 0, 112, 162, 0, 95, 138, 0, 77, 115, 0, 59, 91,
0, 35, 64, 0, 1, 24, 0, 144, 188, 0, 128, 166, 0, 112, 145, 0, 94, 124, 0,
77, 103, 0, 58, 81, 0, 35, 55, 0, 0, 16, 0, 143, 168, 0, 127, 149, 0, 111,
130, 0, 93, 111, 0, 77, 92, 0, 58, 71, 0, 35, 47, 0, 0, 8, 0, 142, 148, 0,
126, 131, 0, 110, 114, 0, 93, 97, 0, 76, 79, 0, 58, 61, 0, 35, 38, 0, 0, 1,

0, 141, 130, 0, 125, 114, 0, 109, 100, 0, 92, 84, 0, 75, 68, 0, 58, 51, 0,
35, 30, 0, 0, 0, 27, 140, 110, 22, 124, 97, 12, 108, 84, 0, 91, 70, 0, 75,
56, 0, 57, 40, 0, 35, 21, 0, 0, 0, 43, 139, 89, 36, 123, 78, 26, 108, 67,
12, 91, 55, 0, 74, 43, 0, 57, 28, 0, 35, 9, 0, 0, 0, 51, 139, 72, 43, 123,
63, 33, 107, 53, 20, 90, 43, 3, 74, 31, 0, 57, 18, 0, 35, 1, 0, 0, 0, 0,
127, 194, 0, 112, 172, 0, 98, 151, 0, 81, 128, 0, 66, 107, 0, 48, 84, 0, 26,
58, 0, 0, 18, 0, 126, 174, 0, 111, 154, 0, 97, 135, 0, 81, 115, 0, 65, 95,
0, 48, 74, 0, 26, 50, 0, 0, 9, 0, 125, 157, 0, 111, 139, 0, 96, 121, 0, 81,
103, 0, 65, 85, 0, 48, 65, 0, 27, 42, 0, 0, 2, 20, 125, 139, 17, 110, 122,
9, 96, 107, 0, 80, 90, 0, 65, 73, 0, 48, 56, 0, 27, 34, 0, 0, 0, 39, 124,
122, 33, 109, 107, 25, 95, 93, 13, 80, 78, 0, 65, 63, 0, 48, 46, 0, 27, 26,
0, 0, 0, 51, 123, 103, 43, 108, 90, 34, 94, 78, 23, 79, 65, 8, 64, 51, 0,
48, 36, 0, 27, 17, 0, 0, 0, 59, 122, 84, 51, 108, 73, 41, 94, 63, 29, 79,
51, 15, 64, 39, 0, 47, 24, 0, 27, 6, 0, 0, 0, 64, 122, 69, 55, 107, 59, 45,
94, 50, 32, 78, 39, 19, 64, 28, 0, 47, 14, 0, 27, 0, 0, 0, 0, 0, 110, 181,
0, 97, 160, 0, 83, 140, 0, 69, 119, 0, 54, 99, 0, 37, 78, 0, 16, 53, 0, 0,
12, 7, 109, 163, 8, 96, 144, 3, 83, 126, 0, 69, 107, 0, 54, 88, 0, 38, 68,
0, 17, 45, 0, 0, 3, 34, 109, 147, 30, 96, 129, 23, 83, 113, 13, 69, 95, 0,
54, 78, 0, 38, 60, 0, 18, 37, 0, 0, 0, 48, 108, 130, 41, 95, 114, 33, 82,
99, 23, 68, 84, 10, 54, 68, 0, 38, 51, 0, 18, 29, 0, 0, 0, 56, 108, 114, 49,
94, 100, 40, 82, 87, 29, 68, 72, 16, 54, 58, 0, 38, 42, 0, 18, 22, 0, 0, 0,
63, 107, 97, 55, 94, 85, 45, 81, 73, 34, 68, 60, 21, 54, 47, 5, 38, 32, 0,
18, 13, 0, 0, 0, 68, 106, 80, 59, 93, 69, 49, 81, 59, 37, 67, 47, 25, 54,
35, 9, 38, 21, 0, 18, 4, 0, 0, 0, 72, 106, 66, 63, 93, 56, 52, 81, 47, 40,
67, 36, 27, 53, 25, 11, 38, 11, 0, 18, 0, 0, 0, 0, 28, 92, 168, 24, 80, 149,
19, 68, 130, 11, 55, 111, 0, 41, 92, 0, 25, 71, 0, 6, 47, 0, 0, 5, 46, 92,
151, 40, 80, 134, 33, 68, 117, 24, 55, 99, 12, 42, 81, 0, 26, 63, 0, 7, 40,
0, 0, 0, 55, 91, 137, 48, 80, 121, 40, 68, 105, 30, 55, 89, 18, 42, 72, 2,
27, 55, 0, 8, 32, 0, 0, 0, 62, 91, 121, 54, 79, 107, 45, 68, 93, 34, 55, 77,
23, 42, 62, 7, 27, 46, 0, 8, 25, 0, 0, 0, 67, 91, 107, 58, 79, 93, 49, 68,
81, 38, 55, 67, 26, 42, 53, 12, 27, 37, 0, 8, 18, 0, 0, 0, 72, 90, 91, 62,
79, 79, 52, 67, 68, 41, 55, 56, 29, 42, 43, 15, 28, 28, 1, 9, 9, 0, 0, 0,
76, 90, 75, 66, 78, 65, 56, 67, 55, 43, 55, 44, 31, 42, 32, 17, 28, 18, 2,
9, 2, 0, 0, 0, 78, 90, 62, 68, 78, 52, 58, 67, 43, 45, 55, 33, 32, 42, 22,
19, 28, 7, 2, 9, 0, 0, 0, 0, 53, 72, 156, 46, 62, 138, 39, 51, 121, 30, 39,
102, 20, 25, 84, 2, 9, 65, 0, 0, 42, 0, 0, 0, 62, 72, 140, 55, 62, 124, 46,
52, 108, 36, 40, 91, 25, 27, 75, 9, 11, 57, 0, 0, 34, 0, 0, 0, 68, 72, 127,
59, 62, 112, 50, 52, 97, 39, 40, 82, 28, 27, 66, 13, 12, 49, 0, 0, 28, 0, 0,
0, 72, 73, 113, 63, 62, 99, 53, 52, 86, 42, 40, 71, 30, 28, 57, 17, 13, 41,
0, 0, 21, 0, 0, 0, 76, 72, 100, 66, 62, 87, 56, 52, 75, 44, 41, 62, 32, 29,
48, 19, 14, 33, 3, 0, 13, 0, 0, 0, 79, 72, 86, 69, 62, 74, 58, 52, 63, 46,
41, 51, 34, 29, 39, 21, 15, 24, 4, 1, 6, 0, 0, 0, 81, 72, 71, 71, 62, 61,
60, 52, 51, 48, 41, 40, 35, 29, 28, 22, 15, 13, 5, 1, 0, 0, 0, 0, 83, 72,
59, 73, 62, 49, 62, 52, 41, 49, 41, 31, 36, 30, 20, 22, 16, 5, 4, 2, 0, 0,
0, 0, 67, 49, 144, 59, 40, 128, 50, 30, 112, 40, 18, 95, 29, 2, 78, 13, 0,
60, 0, 0, 37, 0, 0, 0, 73, 50, 130, 64, 40, 115, 55, 31, 100, 44, 19, 84,
32, 4, 69, 18, 0, 52, 0, 0, 30, 0, 0, 0, 76, 50, 118, 67, 41, 104, 57, 32,
90, 46, 20, 75, 34, 7, 61, 20, 0, 45, 0, 0, 24, 0, 0, 0, 79, 51, 105, 69,
42, 92, 59, 33, 80, 47, 21, 66, 35, 9, 52, 22, 0, 37, 1, 0, 16, 0, 0, 0, 81,
52, 93, 71, 42, 81, 61, 33, 70, 49, 22, 57, 36, 11, 44, 23, 0, 29, 2, 0, 9,
0, 0, 0, 83, 52, 80, 73, 43, 69, 62, 34, 59, 50, 23, 47, 37, 12, 35, 23, 0,
21, 3, 0, 3, 0, 0, 0, 85, 52, 67, 75, 43, 57, 64, 34, 47, 51, 24, 36, 38,
13, 25, 24, 0, 10, 3, 0, 0, 0, 0, 0, 87, 52, 56, 76, 43, 46, 65, 34, 37, 52,
24, 27, 39, 14, 16, 24, 0, 2, 2, 0, 0, 0, 0, 0, 0, 174, 238, 0, 154, 210, 0,
135, 184, 0, 115, 157, 0, 95, 132, 0, 75, 105, 0, 50, 75, 0, 6, 35, 0, 172,
213, 0, 153, 188, 0, 134, 165, 0, 114, 141, 0, 94, 118, 0, 74, 93, 0, 50,
66, 0, 5, 28, 0, 171, 191, 0, 151, 169, 0, 133, 148, 0, 113, 126, 0, 94,
105, 0, 73, 83, 0, 50, 57, 0, 5, 21, 0, 169, 168, 0, 150, 148, 0, 131, 130,
0, 112, 110, 0, 93, 92, 0, 73, 71, 0, 49, 48, 0, 5, 13, 0, 167, 146, 0, 148,
130, 0, 130, 113, 0, 111, 96, 0, 92, 79, 0, 72, 61, 0, 49, 39, 0, 4, 3, 0,

166, 124, 0, 147, 110, 0, 129, 96, 0, 110, 81, 0, 92, 66, 0, 72, 49, 0, 49,
29, 0, 4, 0, 0, 165, 100, 0, 146, 89, 0, 129, 78, 0, 110, 65, 0, 91, 52, 0,
72, 37, 0, 49, 18, 0, 4, 0, 0, 164, 82, 0, 146, 73, 0, 128, 64, 0, 109, 52,
0, 91, 41, 0, 72, 26, 0, 49, 8, 0, 4, 0, 0, 157, 223, 0, 138, 197, 0, 121,
172, 0, 102, 147, 0, 84, 123, 0, 65, 98, 0, 41, 69, 0, 1, 30, 0, 155, 199,
0, 137, 176, 0, 120, 155, 0, 102, 132, 0, 84, 110, 0, 65, 87, 0, 41, 60, 0,
1, 22, 0, 154, 179, 0, 136, 158, 0, 119, 139, 0, 101, 118, 0, 83, 98, 0, 64,
77, 0, 41, 52, 0, 0, 15, 0, 152, 158, 0, 135, 139, 0, 118, 122, 0, 100, 103,
0, 83, 85, 0, 64, 66, 0, 41, 43, 0, 0, 6, 0, 151, 138, 0, 133, 122, 0, 117,
106, 0, 99, 90, 0, 82, 74, 0, 64, 56, 0, 41, 35, 0, 0, 0, 0, 150, 117, 0,
133, 103, 0, 116, 90, 0, 99, 76, 0, 82, 61, 0, 63, 45, 0, 41, 25, 0, 0, 0,
0, 149, 95, 0, 132, 84, 0, 116, 73, 0, 98, 61, 0, 81, 48, 0, 63, 33, 0, 41,
15, 0, 0, 0, 0, 148, 78, 0, 131, 69, 0, 115, 59, 0, 98, 49, 0, 81, 37, 0,
63, 23, 0, 40, 4, 0, 0, 0, 0, 140, 208, 0, 124, 184, 0, 108, 161, 0, 91,
137, 0, 74, 115, 0, 56, 91, 0, 33, 64, 0, 1, 24, 0, 139, 187, 0, 123, 165,
0, 107, 145, 0, 90, 123, 0, 74, 102, 0, 56, 80, 0, 33, 55, 0, 0, 17, 0, 138,
168, 0, 122, 149, 0, 106, 130, 0, 90, 110, 0, 73, 91, 0, 56, 71, 0, 33, 47,
0, 0, 8, 0, 136, 148, 0, 121, 131, 0, 105, 115, 0, 89, 97, 0, 73, 80, 0, 55,
61, 0, 33, 39, 0, 0, 1, 0, 135, 130, 0, 120, 115, 0, 105, 100, 0, 88, 84, 0,
72, 69, 0, 55, 52, 0, 33, 30, 0, 0, 0, 0, 135, 111, 0, 119, 98, 0, 104, 85,
0, 88, 71, 0, 72, 57, 0, 55, 41, 0, 33, 22, 0, 0, 0, 0, 134, 91, 0, 118, 80,
0, 103, 69, 0, 87, 57, 0, 72, 44, 0, 54, 30, 0, 33, 11, 0, 0, 0, 0, 133, 75,
0, 118, 65, 0, 103, 56, 0, 87, 45, 0, 71, 34, 0, 54, 20, 0, 33, 2, 0, 0, 0,
0, 123, 194, 0, 108, 171, 0, 94, 150, 0, 78, 128, 0, 63, 106, 0, 46, 84, 0,
24, 58, 0, 0, 19, 0, 122, 174, 0, 107, 154, 0, 93, 135, 0, 78, 114, 0, 63,
95, 0, 46, 74, 0, 25, 50, 0, 0, 10, 0, 121, 157, 0, 107, 139, 0, 93, 121, 0,
78, 103, 0, 63, 85, 0, 46, 65, 0, 25, 42, 0, 0, 2, 0, 120, 139, 0, 106, 122,
0, 92, 107, 0, 77, 90, 0, 62, 74, 0, 46, 56, 0, 25, 34, 0, 0, 0, 0, 119,
122, 0, 105, 107, 0, 91, 93, 0, 77, 78, 0, 62, 63, 0, 45, 47, 0, 25, 26, 0,
0, 0, 0, 119, 104, 0, 104, 91, 0, 91, 79, 0, 76, 66, 0, 62, 52, 0, 45, 37,
0, 25, 18, 0, 0, 0, 0, 118, 86, 0, 104, 75, 0, 90, 64, 0, 76, 52, 0, 61, 40,
0, 45, 26, 0, 25, 7, 0, 0, 0, 0, 118, 71, 0, 104, 61, 0, 90, 52, 0, 75, 42,
0, 61, 30, 0, 45, 17, 0, 24, 1, 0, 0, 0, 0, 107, 181, 0, 94, 160, 0, 81,
140, 0, 66, 119, 0, 52, 99, 0, 35, 78, 0, 15, 53, 0, 0, 13, 0, 106, 163, 0,
93, 144, 0, 80, 126, 0, 66, 107, 0, 52, 88, 0, 36, 68, 0, 15, 45, 0, 0, 4,
0, 106, 147, 0, 93, 130, 0, 80, 113, 0, 66, 96, 0, 52, 79, 0, 36, 60, 0, 16,
37, 0, 0, 0, 0, 105, 130, 0, 92, 115, 0, 79, 100, 0, 66, 84, 0, 52, 68, 0,
36, 51, 0, 16, 30, 0, 0, 0, 0, 104, 115, 0, 91, 101, 0, 79, 87, 0, 65, 73,
0, 52, 59, 0, 36, 43, 0, 16, 22, 0, 0, 0, 0, 104, 98, 0, 91, 86, 0, 79, 74,
0, 65, 61, 0, 52, 48, 0, 36, 33, 0, 16, 14, 0, 0, 0, 0, 103, 81, 0, 90, 70,
0, 78, 60, 0, 65, 49, 0, 52, 37, 0, 36, 22, 0, 16, 5, 0, 0, 0, 0, 103, 68,
0, 90, 58, 0, 78, 49, 0, 65, 38, 0, 51, 27, 0, 36, 13, 0, 16, 0, 0, 0, 0, 0,
90, 168, 0, 78, 149, 0, 67, 130, 0, 54, 111, 0, 40, 92, 0, 24, 72, 0, 6, 47,
0, 0, 6, 0, 90, 152, 0, 78, 134, 0, 67, 117, 0, 54, 99, 0, 40, 82, 0, 25,
63, 0, 6, 40, 0, 0, 0, 0, 89, 137, 0, 78, 121, 0, 66, 106, 0, 54, 89, 0, 41,
73, 0, 26, 55, 0, 7, 33, 0, 0, 0, 0, 89, 122, 0, 77, 107, 0, 66, 93, 0, 54,
78, 0, 41, 63, 0, 26, 46, 0, 7, 25, 0, 0, 0, 0, 89, 108, 0, 77, 94, 0, 66,
81, 0, 53, 68, 0, 41, 54, 0, 26, 38, 0, 8, 18, 0, 0, 0, 7, 88, 92, 4, 77,
80, 0, 66, 69, 0, 53, 57, 0, 41, 44, 0, 27, 29, 0, 8, 10, 0, 0, 0, 23, 88,
77, 19, 76, 66, 11, 65, 56, 0, 53, 45, 0, 41, 33, 0, 27, 19, 0, 8, 3, 0, 0,
0, 30, 88, 64, 26, 76, 54, 18, 65, 45, 4, 53, 35, 0, 41, 24, 0, 27, 9, 0, 8,
0, 0, 0, 0, 0, 72, 156, 0, 62, 138, 0, 51, 121, 0, 39, 103, 0, 26, 85, 0, 9,
66, 0, 0, 42, 0, 0, 0, 0, 72, 141, 0, 62, 125, 0, 51, 109, 0, 39, 92, 0, 27,
75, 0, 11, 57, 0, 0, 35, 0, 0, 0, 0, 72, 128, 0, 62, 113, 0, 51, 98, 0, 40,
82, 0, 27, 67, 0, 12, 50, 0, 1, 28, 0, 0, 0, 17, 72, 114, 13, 62, 100, 6,
51, 87, 0, 40, 72, 0, 28, 58, 0, 13, 42, 0, 1, 21, 0, 0, 0, 28, 72, 101, 23,
61, 88, 16, 51, 76, 4, 40, 62, 0, 28, 49, 0, 14, 34, 0, 1, 14, 0, 0, 0, 36,
72, 87, 30, 61, 75, 23, 51, 64, 12, 40, 52, 1, 28, 40, 0, 14, 25, 0, 1, 7,
0, 0, 0, 41, 71, 72, 35, 61, 62, 28, 51, 52, 17, 40, 41, 5, 28, 29, 0, 14,
15, 0, 0, 0, 0, 0, 0, 45, 71, 60, 39, 61, 51, 31, 51, 42, 20, 40, 32, 8, 29,

21, 0, 15, 6, 0, 0, 0, 0, 0, 0, 0, 51, 145, 0, 42, 129, 0, 33, 113, 0, 20,


96, 0, 5, 79, 0, 0, 60, 0, 0, 37, 0, 0, 0, 24, 52, 131, 21, 42, 116, 15, 33,
101, 5, 21, 85, 0, 7, 69, 0, 0, 52, 0, 1, 30, 0, 0, 0, 34, 52, 119, 29, 43,
105, 22, 33, 91, 12, 22, 76, 0, 8, 61, 0, 0, 45, 0, 1, 24, 0, 0, 0, 40, 53,
106, 34, 43, 93, 27, 34, 80, 17, 23, 67, 5, 9, 53, 0, 0, 37, 0, 0, 16, 0, 0,
0, 45, 53, 94, 38, 44, 82, 31, 34, 70, 20, 24, 58, 10, 11, 45, 0, 0, 29, 0,
0, 9, 0, 0, 0, 48, 53, 81, 42, 44, 70, 34, 35, 60, 24, 24, 48, 13, 12, 36,
0, 0, 21, 0, 0, 3, 0, 0, 0, 51, 53, 68, 45, 44, 58, 37, 35, 48, 26, 25, 37,
15, 13, 26, 2, 1, 11, 0, 0, 0, 0, 0, 0, 54, 54, 57, 47, 44, 47, 39, 35, 39,
28, 25, 29, 17, 13, 17, 4, 1, 3, 0, 0, 0, 0, 0, 0]);
function DeviceCmykCS() {
this.name = 'DeviceCMYK';
this.numComps = 4;
this.defaultColor = [0, 0, 0, 1];
}
DeviceCmykCS.prototype = {
getRgb: function DeviceCmykCS_getRgb(color) {
// using lut as in spline interpolation (see function.js)
var cubeVertices = 16; // 1 << number of colors
var cubeN = new Float32Array(cubeVertices);
var cubeVertex = new Uint32Array(cubeVertices);
for (var j = 0; j < cubeVertices; j++)
cubeN[j] = 1;
var k = 3, pos = 1;
var lutDomain = 7, lutStep = 8;
for (var i = 3; i >= 0; i--) {
var e = color[i] * lutDomain;
var e0 = e < lutDomain ? Math.floor(e) : e - 1; // e1 = e0 + 1;
var n0 = e0 + 1 - e; // (e1 - e) / (e1 - e0);
var n1 = e - e0; // (e - e0) / (e1 - e0);
var offset0 = e0 * k;
var offset1 = offset0 + k; // e1 * k
for (var j = 0; j < cubeVertices; j++) {
if (j & pos) {
cubeN[j] *= n1;
cubeVertex[j] += offset1;
} else {
cubeN[j] *= n0;
cubeVertex[j] += offset0;
}
}
k *= lutStep;
pos <<= 1;
}
var y = new Float32Array(3);
for (var j = 0; j < 3; ++j) {
var rj = 0;
for (var i = 0; i < cubeVertices; i++)
rj += lut[cubeVertex[i] + j] * cubeN[i];
y[j] = rj;
}
return [y[0] / 255, y[1] / 255, y[2] / 255];
},
getRgbBuffer: function DeviceCmykCS_getRgbBuffer(colorBuf, bits) {
var scale = 1 / ((1 << bits) - 1);

var
var
var
var

length = colorBuf.length / 4;
rgbBuf = new Uint8Array(length * 3);
rgbBufPos = 0;
colorBufPos = 0;

for (var i = 0; i < length; i++) {


var cmyk = [];
for (var j = 0; j < 4; ++j)
cmyk.push(scale * colorBuf[colorBufPos++]);
var rgb = this.getRgb(cmyk);
for (var j = 0; j < 3; ++j)
rgbBuf[rgbBufPos++] = Math.round(rgb[j] * 255);
}
return rgbBuf;
},
isDefaultDecode: function DeviceCmykCS_isDefaultDecode(decodeMap) {
return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
}
};
return DeviceCmykCS;
})();
//
// LabCS: Based on "PDF Reference, Sixth Ed", p.250
//
var LabCS = (function LabCSClosure() {
function LabCS(whitePoint, blackPoint, range) {
this.name = 'Lab';
this.numComps = 3;
this.defaultColor = [0, 0, 0];
if (!whitePoint)
error('WhitePoint missing - required for color space Lab');
blackPoint = blackPoint || [0, 0, 0];
range = range || [-100, 100, -100, 100];
// Translate args to spec variables
this.XW = whitePoint[0];
this.YW = whitePoint[1];
this.ZW = whitePoint[2];
this.amin = range[0];
this.amax = range[1];
this.bmin = range[2];
this.bmax = range[3];
// These are here just for completeness - the spec doesn't offer any
// formulas that use BlackPoint in Lab
this.XB = blackPoint[0];
this.YB = blackPoint[1];
this.ZB = blackPoint[2];
// Validate vars as per spec
if (this.XW < 0 || this.ZW < 0 || this.YW !== 1)
error('Invalid WhitePoint components, no fallback available');
if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
info('Invalid BlackPoint, falling back to default');

this.XB = this.YB = this.ZB = 0;


}
if (this.amin > this.amax || this.bmin > this.bmax) {
info('Invalid Range, falling back to defaults');
this.amin = -100;
this.amax = 100;
this.bmin = -100;
this.bmax = 100;
}
};
// Function g(x) from spec
function g(x) {
if (x >= 6 / 29)
return x * x * x;
else
return (108 / 841) * (x - 4 / 29);
}
LabCS.prototype = {
getRgb: function LabCS_getRgb(color) {
// Ls,as,bs <---> L*,a*,b* in the spec
var Ls = color[0], as = color[1], bs = color[2];
//
as
as
bs
bs

Adjust
= as >
= as <
= bs >
= bs <

limits of
this.amax
this.amin
this.bmax
this.bmin

'as' and 'bs'


? this.amax :
? this.amin :
? this.bmax :
? this.bmin :

as;
as;
bs;
bs;

// Computes intermediate variables X,Y,Z as per spec


var M = (Ls + 16) / 116;
var L = M + (as / 500);
var N = M - (bs / 200);
var X = this.XW * g(L);
var Y = this.YW * g(M);
var Z = this.ZW * g(N);
// XYZ to RGB 3x3 matrix, from:
// http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC18
var XYZtoRGB = [3.240479, -1.537150, -0.498535,
-0.969256, 1.875992, 0.041556,
0.055648, -0.204043, 1.057311];
return Util.apply3dTransform(XYZtoRGB, [X, Y, Z]);
},
getRgbBuffer: function LabCS_getRgbBuffer(input, bits) {
if (bits == 8)
return input;
var scale = 255 / ((1 << bits) - 1);
var i, length = input.length / 3;
var rgbBuf = new Uint8Array(length);
var j = 0;
for (i = 0; i < length; ++i) {
// Convert L*, a*, s* into RGB
var rgb = this.getRgb([input[i], input[i + 1], input[i + 2]]);
rgbBuf[j++] = rgb[0];
rgbBuf[j++] = rgb[1];

rgbBuf[j++] = rgb[2];
}
return rgbBuf;
},
isDefaultDecode: function LabCS_isDefaultDecode(decodeMap) {
// From Table 90 in Adobe's:
// "Document management - Portable document format", 1st ed, 2008
if (decodeMap[0] === 0 && decodeMap[1] === 100 &&
decodeMap[2] === this.amin && decodeMap[3] === this.amax &&
decodeMap[4] === this.bmin && decodeMap[5] === this.bmax)
return true;
else
return false;
}
};
return LabCS;
})();
var ARCFourCipher = (function ARCFourCipherClosure() {
function ARCFourCipher(key) {
this.a = 0;
this.b = 0;
var s = new Uint8Array(256);
var i, j = 0, tmp, keyLength = key.length;
for (i = 0; i < 256; ++i)
s[i] = i;
for (i = 0; i < 256; ++i) {
tmp = s[i];
j = (j + tmp + key[i % keyLength]) & 0xFF;
s[i] = s[j];
s[j] = tmp;
}
this.s = s;
}
ARCFourCipher.prototype = {
encryptBlock: function ARCFourCipher_encryptBlock(data) {
var i, n = data.length, tmp, tmp2;
var a = this.a, b = this.b, s = this.s;
var output = new Uint8Array(n);
for (i = 0; i < n; ++i) {
a = (a + 1) & 0xFF;
tmp = s[a];
b = (b + tmp) & 0xFF;
tmp2 = s[b];
s[a] = tmp2;
s[b] = tmp;
output[i] = data[i] ^ s[(tmp + tmp2) & 0xFF];
}
this.a = a;
this.b = b;
return output;
}
};
ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;
return ARCFourCipher;
})();

var calculateMD5 = (function calculateMD5Closure() {


var r = new Uint8Array([
7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12,
5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14,
4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11,
6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10,

17, 22,
20,
16, 23,
15, 21]);

var k = new Int32Array([


-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426,
-1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162,
1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632,
643717713, -373897302, -701558691, 38016083, -660478335, -405537848,
568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784,
1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556,
-1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222,
-722521979, 76029189, -640364487, -421815835, 530742520, -995338651,
-198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606,
-1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649,
-145523070, -1120210379, 718787259, -343485551]);
function hash(data, offset, length) {
var h0 = 1732584193, h1 = -271733879, h2 = -1732584194, h3 = 271733878;
// pre-processing
var paddedLength = (length + 72) & ~63; // data + 9 extra bytes
var padded = new Uint8Array(paddedLength);
var i, j, n;
for (i = 0; i < length; ++i)
padded[i] = data[offset++];
padded[i++] = 0x80;
n = paddedLength - 8;
while (i < n)
padded[i++] = 0;
padded[i++] = (length << 3) & 0xFF;
padded[i++] = (length >> 5) & 0xFF;
padded[i++] = (length >> 13) & 0xFF;
padded[i++] = (length >> 21) & 0xFF;
padded[i++] = (length >>> 29) & 0xFF;
padded[i++] = 0;
padded[i++] = 0;
padded[i++] = 0;
// chunking
// TODO ArrayBuffer ?
var w = new Int32Array(16);
for (i = 0; i < paddedLength;) {
for (j = 0; j < 16; ++j, i += 4) {
w[j] = (padded[i] | (padded[i + 1] << 8) |
(padded[i + 2] << 16) | (padded[i + 3] << 24));
}
var a = h0, b = h1, c = h2, d = h3, f, g;
for (j = 0; j < 64; ++j) {
if (j < 16) {
f = (b & c) | ((~b) & d);
g = j;
} else if (j < 32) {
f = (d & b) | ((~d) & c);
g = (5 * j + 1) & 15;
} else if (j < 48) {
f = b ^ c ^ d;
g = (3 * j + 5) & 15;

} else {
f = c ^ (b | (~d));
g = (7 * j) & 15;
}
var tmp = d, rotateArg = (a + f + k[j] + w[g]) | 0, rotate = r[j];
d = c;
c = b;
b = (b + ((rotateArg << rotate) | (rotateArg >>> (32 - rotate)))) | 0;
a = tmp;
}
h0
h1
h2
h3

=
=
=
=

}
return
h0
h1
h2
h3
]);

(h0
(h1
(h2
(h3

+
+
+
+

a)
b)
c)
d)

|
|
|
|

0;
0;
0;
0;

new Uint8Array([
& 0xFF, (h0 >> 8)
& 0xFF, (h1 >> 8)
& 0xFF, (h2 >> 8)
& 0xFF, (h3 >> 8)

&
&
&
&

0xFF,
0xFF,
0xFF,
0xFF,

(h0
(h1
(h2
(h3

>>
>>
>>
>>

16)
16)
16)
16)

&
&
&
&

0xFF,
0xFF,
0xFF,
0xFF,

(h0
(h1
(h2
(h3

>>>
>>>
>>>
>>>

24)
24)
24)
24)

&
&
&
&

0xFF,
0xFF,
0xFF,
0xFF

0x36,
0x35,
0xd3,
0x1d,
0x40,
0x63,
0x39,
0x66,
0x08,
0x2f,
0xef,
0x4a,
0x01,
0xab,
0xb3,
0xc2,
0xe8,
0x36,
0x35,
0xd3,

0x6c,
0x6a,
0xbd,
0x3a,
0x80,
0xc6,
0x72,
0xcc,
0x10,
0x5e,
0xc5,
0x94,
0x02,
0x4d,
0x7d,
0x9f,
0xcb,
0x6c,
0x6a,
0xbd,

}
return hash;
})();
var NullCipher = (function NullCipherClosure() {
function NullCipher() {
}
NullCipher.prototype = {
decryptBlock: function NullCipher_decryptBlock(data) {
return data;
}
};
return NullCipher;
})();
var AES128Cipher = (function AES128CipherClosure() {
var rcon = new Uint8Array([
0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6,
0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72,
0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc,
0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10,
0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e,
0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5,
0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94,
0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02,
0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d,
0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d,
0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f,
0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb,
0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c,
0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a,
0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd,
0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a,
0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6,
0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72,

0x1b,
0x97,
0xe4,
0x83,
0x20,
0xbc,
0x91,
0x33,
0x04,
0x9a,
0xfa,
0x25,
0x8d,
0xd8,
0xd4,
0x61,
0x74,
0x1b,
0x97,
0xe4,

0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a,
0x74, 0xe8, 0xcb, 0x8d]);
var s =
0x63,
0xfe,
0xad,
0x36,
0x04,
0xeb,
0x52,
0x20,
0xd0,
0x50,
0xbc,
0x5f,
0x60,
0xde,
0xc2,
0x8d,
0xba,
0x4b,
0x61,
0x69,
0x8c,
0xb0,

new Uint8Array([
0x7c, 0x77, 0x7b, 0xf2,
0xd7, 0xab, 0x76, 0xca,
0xd4, 0xa2, 0xaf, 0x9c,
0x3f, 0xf7, 0xcc, 0x34,
0xc7, 0x23, 0xc3, 0x18,
0x27, 0xb2, 0x75, 0x09,
0x3b, 0xd6, 0xb3, 0x29,
0xfc, 0xb1, 0x5b, 0x6a,
0xef, 0xaa, 0xfb, 0x43,
0x3c, 0x9f, 0xa8, 0x51,
0xb6, 0xda, 0x21, 0x10,
0x97, 0x44, 0x17, 0xc4,
0x81, 0x4f, 0xdc, 0x22,
0x5e, 0x0b, 0xdb, 0xe0,
0xd3, 0xac, 0x62, 0x91,
0xd5, 0x4e, 0xa9, 0x6c,
0x78, 0x25, 0x2e, 0x1c,
0xbd, 0x8b, 0x8a, 0x70,
0x35, 0x57, 0xb9, 0x86,
0xd9, 0x8e, 0x94, 0x9b,
0xa1, 0x89, 0x0d, 0xbf,
0x54, 0xbb, 0x16]);

0x6b,
0x82,
0xa4,
0xa5,
0x96,
0x83,
0xe3,
0xcb,
0x4d,
0xa3,
0xff,
0xa7,
0x2a,
0x32,
0x95,
0x56,
0xa6,
0x3e,
0xc1,
0x1e,
0xe6,

0x6f,
0xc9,
0x72,
0xe5,
0x05,
0x2c,
0x2f,
0xbe,
0x33,
0x40,
0xf3,
0x7e,
0x90,
0x3a,
0xe4,
0xf4,
0xb4,
0xb5,
0x1d,
0x87,
0x42,

0xc5,
0x7d,
0xc0,
0xf1,
0x9a,
0x1a,
0x84,
0x39,
0x85,
0x8f,
0xd2,
0x3d,
0x88,
0x0a,
0x79,
0xea,
0xc6,
0x66,
0x9e,
0xe9,
0x68,

0x30,
0xfa,
0xb7,
0x71,
0x07,
0x1b,
0x53,
0x4a,
0x45,
0x92,
0xcd,
0x64,
0x46,
0x49,
0xe7,
0x65,
0xe8,
0x48,
0xe1,
0xce,
0x41,

0x01,
0x59,
0xfd,
0xd8,
0x12,
0x6e,
0xd1,
0x4c,
0xf9,
0x9d,
0x0c,
0x5d,
0xee,
0x06,
0xc8,
0x7a,
0xdd,
0x03,
0xf8,
0x55,
0x99,

0x67,
0x47,
0x93,
0x31,
0x80,
0x5a,
0x00,
0x58,
0x02,
0x38,
0x13,
0x19,
0xb8,
0x24,
0x37,
0xae,
0x74,
0xf6,
0x98,
0x28,
0x2d,

0x2b,
0xf0,
0x26,
0x15,
0xe2,
0xa0,
0xed,
0xcf,
0x7f,
0xf5,
0xec,
0x73,
0x14,
0x5c,
0x6d,
0x08,
0x1f,
0x0e,
0x11,
0xdf,
0x0f,

var inv_s = new Uint8Array([


0x52, 0x09, 0x6a, 0xd5, 0x30,
0x81, 0xf3, 0xd7, 0xfb, 0x7c,
0x34, 0x8e, 0x43, 0x44, 0xc4,
0xa6, 0xc2, 0x23, 0x3d, 0xee,
0x08, 0x2e, 0xa1, 0x66, 0x28,
0x6d, 0x8b, 0xd1, 0x25, 0x72,
0xd4, 0xa4, 0x5c, 0xcc, 0x5d,
0xfd, 0xed, 0xb9, 0xda, 0x5e,
0x90, 0xd8, 0xab, 0x00, 0x8c,
0xb8, 0xb3, 0x45, 0x06, 0xd0,
0xc1, 0xaf, 0xbd, 0x03, 0x01,
0x4f, 0x67, 0xdc, 0xea, 0x97,
0x96, 0xac, 0x74, 0x22, 0xe7,
0x1c, 0x75, 0xdf, 0x6e, 0x47,
0x6f, 0xb7, 0x62, 0x0e, 0xaa,
0xc6, 0xd2, 0x79, 0x20, 0x9a,
0x1f, 0xdd, 0xa8, 0x33, 0x88,
0x27, 0x80, 0xec, 0x5f, 0x60,
0x2d, 0xe5, 0x7a, 0x9f, 0x93,
0xae, 0x2a, 0xf5, 0xb0, 0xc8,
0x17, 0x2b, 0x04, 0x7e, 0xba,
0x55, 0x21, 0x0c, 0x7d]);

0x36,
0xe3,
0xde,
0x4c,
0xd9,
0xf8,
0x65,
0x15,
0xbc,
0x2c,
0x13,
0xf2,
0xad,
0xf1,
0x18,
0xdb,
0x07,
0x51,
0xc9,
0xeb,
0x77,

0xa5,
0x39,
0xe9,
0x95,
0x24,
0xf6,
0xb6,
0x46,
0xd3,
0x1e,
0x8a,
0xcf,
0x35,
0x1a,
0xbe,
0xc0,
0xc7,
0x7f,
0x9c,
0xbb,
0xd6,

0x38,
0x82,
0xcb,
0x0b,
0xb2,
0x64,
0x92,
0x57,
0x0a,
0x8f,
0x6b,
0xce,
0x85,
0x71,
0x1b,
0xfe,
0x31,
0xa9,
0xef,
0x3c,
0x26,

0xbf,
0x9b,
0x54,
0x42,
0x76,
0x86,
0x6c,
0xa7,
0xf7,
0xca,
0x3a,
0xf0,
0xe2,
0x1d,
0xfc,
0x78,
0xb1,
0x19,
0xa0,
0x83,
0xe1,

0x40,
0x2f,
0x7b,
0xfa,
0x5b,
0x68,
0x70,
0x8d,
0xe4,
0x3f,
0x91,
0xb4,
0xf9,
0x29,
0x56,
0xcd,
0x12,
0xb5,
0xe0,
0x53,
0x69,

0xa3,
0xff,
0x94,
0xc3,
0xa2,
0x98,
0x48,
0x9d,
0x58,
0x0f,
0x11,
0xe6,
0x37,
0xc5,
0x3e,
0x5a,
0x10,
0x4a,
0x3b,
0x99,
0x14,

0x9e,
0x87,
0x32,
0x4e,
0x49,
0x16,
0x50,
0x84,
0x05,
0x02,
0x41,
0x73,
0xe8,
0x89,
0x4b,
0xf4,
0x59,
0x0d,
0x4d,
0x61,
0x63,

var mix = new


0x00000000,
0x24362e3a,
0x486c5c74,
0xfc82caa6,
0x90d8b8e8,
0xb4ee96d2,
0xe31f8f57,
0xb761c935,

Uint32Array([
0x0e090d0b, 0x1c121a16,
0x2a3f2331, 0x70486858,
0x4665517f, 0x547e4662,
0xf28bc7ad, 0xd8b4e49c,
0x9ed1b5e3, 0x8ccaa2fe,
0xbae79bd9, 0xdb3bbb7b,
0xed16825c, 0xff0d9541,
0xb968c43e, 0x9357e70f,

0x121b171d,
0x7e416553,
0x5a774b69,
0xd6bde997,
0x82c3aff5,
0xd532b670,
0xf104984a,
0x9d5eea04,

0x3824342c,
0x6c5a724e,
0xe090d0b0,
0xc4a6fe8a,
0xa8fc8cc4,
0xc729a16d,
0xab73d323,
0x8f45fd19,

0x362d3927,
0x62537f45,
0xee99ddbb,
0xcaaff381,
0xa6f581cf,
0xc920ac66,
0xa57ade28,
0x814cf012,

0x3bab6bcb,
0x1f9d45f1,
0x73c737bf,
0xb16477e0,
0xdd3e05ae,
0xf9082b94,
0x75c2896a,
0x21bccf08,
0x764dd68d,
0x527bf8b7,
0x3e218af9,
0x8acf1c2b,
0xe6956e65,
0xc2a3405f,
0x79c8eedb,
0x2db6a8b9,
0xa17c0a47,
0x854a247d,
0xe9105633,
0x86c57b9a,
0xea9f09d4,
0xcea927ee,
0x42638510,
0x161dc372,
0xec9ab701,
0xc8ac993b,
0xa4f6eb75,
0x10187da7,
0x7c420fe9,
0x587421d3,
0x0f853856,
0x5bfb7e34,
0xd731dcca,
0xf307f2f0,
0x9f5d80be,

0x35a266c0,
0x119448fa,
0x7dce3ab4,
0xbf6d7aeb,
0xd33708a5,
0xf701269f,
0x7bcb8461,
0x2fb5c203,
0x7844db86,
0x5c72f5bc,
0x302887f2,
0x84c61120,
0xe89c636e,
0xccaa4d54,
0x77c1e3d0,
0x23bfa5b2,
0xaf75074c,
0x8b432976,
0xe7195b38,
0x88cc7691,
0xe49604df,
0xc0a02ae5,
0x4c6a881b,
0x1814ce79,
0xe293ba0a,
0xc6a59430,
0xaaffe67e,
0x1e1170ac,
0x724b02e2,
0x567d2cd8,
0x018c355d,
0x55f2733f,
0xd938d1c1,
0xfd0efffb,
0x91548db5,

0x27b971dd,
0x4be30393,
0x6fd52da9,
0x955259da,
0xc12c1fb8,
0x4de6bd46,
0x69d0937c,
0x058ae132,
0x6a5fcc9b,
0x0605bed5,
0x223390ef,
0xaef93211,
0xfa877473,
0x41ecdaf7,
0x65daf4cd,
0x09808683,
0xbd6e1051,
0xd134621f,
0xf5024c25,
0xa2f355a0,
0xf68d13c2,
0x7a47b13c,
0x5e719f06,
0x322bed48,
0xf088ad17,
0x9cd2df59,
0xb8e4f163,
0x342e539d,
0x605015ff,
0x37a10c7a,
0x13972240,
0x7fcd500e,
0xcb23c6dc,
0xa779b492,
0x834f9aa8,

0x29b07cd6, 0x038f5fe7,
0x45ea0e98, 0x57f11985,
0x61dc20a2, 0xad766df6,
0x9b5b54d1, 0x894043cc,
0xcf2512b3, 0xe51a3182,
0x43efb04d, 0x51f4a750,
0x67d99e77, 0x3daed51e,
0x0b83ec39, 0x1998fb24,
0x6456c190, 0x4e69e2a1,
0x080cb3de, 0x1a17a4c3,
0x2c3a9de4, 0x96dd063d,
0xa0f03f1a, 0xb2eb2807,
0xf48e7978, 0xdeb15a49,
0x4fe5d7fc, 0x5dfec0e1,
0x6bd3f9c6, 0x31a4b2af,
0x07898b88, 0x15929c95,
0xb3671d5a, 0x99583e6b,
0xdf3d6f14, 0xcd267809,
0xfb0b412e, 0x9ad7618c,
0xacfa58ab, 0xbee14fb6,
0xf8841ec9, 0xd2bb3df8,
0x744ebc37, 0x6655ab2a,
0x5078920d, 0x0a0fd964,
0x3c22e043, 0x2e39f75e,
0xfe81a01c, 0xd4be832d,
0x92dbd252, 0x80c0c54f,
0xb6edfc68, 0x0c0a67b1,
0x3a275e96, 0x283c498b,
0x6e5918f4, 0x44663bc5,
0x39a80171, 0x2bb3166c,
0x1d9e2f4b, 0x47e96422,
0x71c45d05, 0x63df4a18,
0xc52acbd7, 0xef15e8e6,
0xa970b999, 0xbb6bae84,
0x8d4697a3]);

function expandKey128(cipherKey) {
var b = 176, result = new Uint8Array(b);
result.set(cipherKey);
for (var j = 16, i = 1; j < b; ++i) {
// RotWord
var t1 = result[j - 3], t2 = result[j - 2],
t3 = result[j - 1], t4 = result[j - 4];
// SubWord
t1 = s[t1]; t2 = s[t2]; t3 = s[t3]; t4 = s[t4];
// Rcon
t1 = t1 ^ rcon[i];
for (var n = 0; n < 4; ++n) {
result[j] = (t1 ^= result[j - 16]); j++;
result[j] = (t2 ^= result[j - 16]); j++;
result[j] = (t3 ^= result[j - 16]); j++;
result[j] = (t4 ^= result[j - 16]); j++;
}
}
return result;
}
function decrypt128(input, key) {
var state = new Uint8Array(16);
state.set(input);

0x0d8652ec,
0x59f8148e,
0xa37f60fd,
0x87494ec7,
0xeb133c89,
0x5ffdaa5b,
0x33a7d815,
0x1791f62f,
0x4060efaa,
0x141ea9c8,
0x98d40b36,
0xbce2250c,
0xd0b85742,
0x53f7cdea,
0x3fadbfa4,
0x1b9b919e,
0x97513360,
0xc32f7502,
0x94de6c87,
0xb0e842bd,
0xdcb230f3,
0x685ca621,
0x0406d46f,
0x2030fa55,
0xdab78e26,
0x8ec9c844,
0x02036aba,
0x26354480,
0x4a6f36ce,
0x25ba1b67,
0x49e06929,
0x6dd64713,
0xe11ce5ed,
0xb562a38f,

var i, j, k;
var t, u, v;
// AddRoundKey
for (j = 0, k = 160; j < 16; ++j, ++k)
state[j] ^= key[k];
for (i = 9; i >= 1; --i) {
// InvShiftRows
t = state[13]; state[13] = state[9]; state[9] = state[5];
state[5] = state[1]; state[1] = t;
t = state[14]; u = state[10]; state[14] = state[6];
state[10] = state[2]; state[6] = t; state[2] = u;
t = state[15]; u = state[11]; v = state[7]; state[15] = state[3];
state[11] = t; state[7] = u; state[3] = v;
// InvSubBytes
for (j = 0; j < 16; ++j)
state[j] = inv_s[state[j]];
// AddRoundKey
for (j = 0, k = i * 16; j < 16; ++j, ++k)
state[j] ^= key[k];
// InvMixColumns
for (j = 0; j < 16; j += 4) {
var s0 = mix[state[j]], s1 = mix[state[j + 1]],
s2 = mix[state[j + 2]], s3 = mix[state[j + 3]];
t = (s0 ^ (s1 >>> 8) ^ (s1 << 24) ^ (s2 >>> 16) ^ (s2 << 16) ^
(s3 >>> 24) ^ (s3 << 8));
state[j] = (t >>> 24) & 0xFF;
state[j + 1] = (t >> 16) & 0xFF;
state[j + 2] = (t >> 8) & 0xFF;
state[j + 3] = t & 0xFF;
}
}
// InvShiftRows
t = state[13]; state[13] = state[9]; state[9] = state[5];
state[5] = state[1]; state[1] = t;
t = state[14]; u = state[10]; state[14] = state[6];
state[10] = state[2]; state[6] = t; state[2] = u;
t = state[15]; u = state[11]; v = state[7]; state[15] = state[3];
state[11] = t; state[7] = u; state[3] = v;
for (j = 0; j < 16; ++j) {
// InvSubBytes
state[j] = inv_s[state[j]];
// AddRoundKey
state[j] ^= key[j];
}
return state;
}
function AES128Cipher(key) {
this.key = expandKey128(key);
this.buffer = new Uint8Array(16);
this.bufferPosition = 0;
}
function decryptBlock2(data) {
var i, j, ii, sourceLength = data.length,
buffer = this.buffer, bufferLength = this.bufferPosition,
result = [], iv = this.iv;
for (i = 0; i < sourceLength; ++i) {
buffer[bufferLength] = data[i];
++bufferLength;

if (bufferLength < 16)


continue;
// buffer is full, decrypting
var plain = decrypt128(buffer, this.key);
// xor-ing the IV vector to get plain text
for (j = 0; j < 16; ++j)
plain[j] ^= iv[j];
iv = buffer;
result.push(plain);
buffer = new Uint8Array(16);
bufferLength = 0;
}
// saving incomplete buffer
this.buffer = buffer;
this.bufferLength = bufferLength;
this.iv = iv;
if (result.length == 0)
return new Uint8Array([]);
if (result.length == 1)
return result[0];
// combining plain text blocks into one
var output = new Uint8Array(16 * result.length);
for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16)
output.set(result[i], j);
return output;
}
AES128Cipher.prototype = {
decryptBlock: function AES128Cipher_decryptBlock(data) {
var i, sourceLength = data.length;
var buffer = this.buffer, bufferLength = this.bufferPosition;
// waiting for IV values -- they are at the start of the stream
for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength)
buffer[bufferLength] = data[i];
if (bufferLength < 16) {
// need more data
this.bufferLength = bufferLength;
return new Uint8Array([]);
}
this.iv = buffer;
this.buffer = new Uint8Array(16);
this.bufferLength = 0;
// starting decryption
this.decryptBlock = decryptBlock2;
return this.decryptBlock(data.subarray(16));
}
};
return AES128Cipher;
})();
var CipherTransform = (function CipherTransformClosure() {
function CipherTransform(stringCipherConstructor, streamCipherConstructor) {
this.stringCipherConstructor = stringCipherConstructor;
this.streamCipherConstructor = streamCipherConstructor;
}
CipherTransform.prototype = {
createStream: function CipherTransform_createStream(stream) {
var cipher = new this.streamCipherConstructor();
return new DecryptStream(stream,

function cipherTransformDecryptStream(data) {
return cipher.decryptBlock(data);
}
);
},
decryptString: function CipherTransform_decryptString(s) {
var cipher = new this.stringCipherConstructor();
var data = stringToBytes(s);
data = cipher.decryptBlock(data);
return bytesToString(data);
}
};
return CipherTransform;
})();
var CipherTransformFactory = (function CipherTransformFactoryClosure() {
var defaultPasswordBytes = new Uint8Array([
0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41,
0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,
0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80,
0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);
function prepareKeyData(fileId, password, ownerPassword, userPassword,
flags, revision, keyLength, encryptMetadata) {
var hashData = new Uint8Array(100), i = 0, j, n;
if (password) {
n = Math.min(32, password.length);
for (; i < n; ++i)
hashData[i] = password[i];
}
j = 0;
while (i < 32) {
hashData[i++] = defaultPasswordBytes[j++];
}
// as now the padded password in the hashData[0..i]
for (j = 0, n = ownerPassword.length; j < n; ++j)
hashData[i++] = ownerPassword[j];
hashData[i++] = flags & 0xFF;
hashData[i++] = (flags >> 8) & 0xFF;
hashData[i++] = (flags >> 16) & 0xFF;
hashData[i++] = (flags >>> 24) & 0xFF;
for (j = 0, n = fileId.length; j < n; ++j)
hashData[i++] = fileId[j];
if (revision >= 4 && !encryptMetadata) {
hashData[i++] = 0xFF;
hashData[i++] = 0xFF;
hashData[i++] = 0xFF;
hashData[i++] = 0xFF;
}
var hash = calculateMD5(hashData, 0, i);
var keyLengthInBytes = keyLength >> 3;
if (revision >= 3) {
for (j = 0; j < 50; ++j) {
hash = calculateMD5(hash, 0, keyLengthInBytes);
}
}
var encryptionKey = hash.subarray(0, keyLengthInBytes);
var cipher, checkData;
if (revision >= 3) {

for (i = 0; i < 32; ++i)


hashData[i] = defaultPasswordBytes[i];
for (j = 0, n = fileId.length; j < n; ++j)
hashData[i++] = fileId[j];
cipher = new ARCFourCipher(encryptionKey);
var checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));
n = encryptionKey.length;
var derivedKey = new Uint8Array(n), k;
for (j = 1; j <= 19; ++j) {
for (k = 0; k < n; ++k)
derivedKey[k] = encryptionKey[k] ^ j;
cipher = new ARCFourCipher(derivedKey);
checkData = cipher.encryptBlock(checkData);
}
for (j = 0, n = checkData.length; j < n; ++j) {
if (userPassword[j] != checkData[j])
return null;
}
} else {
cipher = new ARCFourCipher(encryptionKey);
checkData = cipher.encryptBlock(defaultPasswordBytes);
for (j = 0, n = checkData.length; j < n; ++j) {
if (userPassword[j] != checkData[j])
return null;
}
}
return encryptionKey;
}
function decodeUserPassword(password, ownerPassword, revision, keyLength) {
var hashData = new Uint8Array(32), i = 0, j, n;
n = Math.min(32, password.length);
for (; i < n; ++i)
hashData[i] = password[i];
j = 0;
while (i < 32) {
hashData[i++] = defaultPasswordBytes[j++];
}
var hash = calculateMD5(hashData, 0, i);
var keyLengthInBytes = keyLength >> 3;
if (revision >= 3) {
for (j = 0; j < 50; ++j) {
hash = calculateMD5(hash, 0, hash.length);
}
}
var cipher, userPassword;
if (revision >= 3) {
userPassword = ownerPassword;
var derivedKey = new Uint8Array(keyLengthInBytes), k;
for (j = 19; j >= 0; j--) {
for (k = 0; k < keyLengthInBytes; ++k)
derivedKey[k] = hash[k] ^ j;
cipher = new ARCFourCipher(derivedKey);
userPassword = cipher.encryptBlock(userPassword);
}
} else {
cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));
userPassword = cipher.encryptBlock(ownerPassword);
}
return userPassword;

}
var identityName = new Name('Identity');
function CipherTransformFactory(dict, fileId, password) {
var filter = dict.get('Filter');
if (!isName(filter) || filter.name != 'Standard')
error('unknown encryption method');
this.dict = dict;
var algorithm = dict.get('V');
if (!isInt(algorithm) ||
(algorithm != 1 && algorithm != 2 && algorithm != 4))
error('unsupported encryption algorithm');
this.algorithm = algorithm;
var keyLength = dict.get('Length') || 40;
if (!isInt(keyLength) ||
keyLength < 40 || (keyLength % 8) != 0)
error('invalid key length');
// prepare keys
var ownerPassword = stringToBytes(dict.get('O'));
var userPassword = stringToBytes(dict.get('U'));
var flags = dict.get('P');
var revision = dict.get('R');
var encryptMetadata = algorithm == 4 && // meaningful when V is 4
dict.get('EncryptMetadata') !== false; // makes true as default value
this.encryptMetadata = encryptMetadata;
var fileIdBytes = stringToBytes(fileId);
var passwordBytes;
if (password)
passwordBytes = stringToBytes(password);
var encryptionKey = prepareKeyData(fileIdBytes, passwordBytes,
ownerPassword, userPassword, flags,
revision, keyLength, encryptMetadata);
if (!encryptionKey && !password) {
throw new PasswordException('No password given', 'needpassword');
} else if (!encryptionKey && password) {
// Attempting use the password as an owner password
var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword,
revision, keyLength);
encryptionKey = prepareKeyData(fileIdBytes, decodedPassword,
ownerPassword, userPassword, flags,
revision, keyLength, encryptMetadata);
}
if (!encryptionKey)
throw new PasswordException('Incorrect Password', 'incorrectpassword');
this.encryptionKey = encryptionKey;
if (algorithm == 4) {
this.cf = dict.get('CF');
this.stmf = dict.get('StmF') || identityName;
this.strf = dict.get('StrF') || identityName;
this.eff = dict.get('EFF') || this.strf;
}
}
function buildObjectKey(num, gen, encryptionKey, isAes) {

var key = new Uint8Array(encryptionKey.length + 9), i, n;


for (i = 0, n = encryptionKey.length; i < n; ++i)
key[i] = encryptionKey[i];
key[i++] = num & 0xFF;
key[i++] = (num >> 8) & 0xFF;
key[i++] = (num >> 16) & 0xFF;
key[i++] = gen & 0xFF;
key[i++] = (gen >> 8) & 0xFF;
if (isAes) {
key[i++] = 0x73;
key[i++] = 0x41;
key[i++] = 0x6C;
key[i++] = 0x54;
}
var hash = calculateMD5(key, 0, i);
return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));
}
function buildCipherConstructor(cf, name, num, gen, key) {
var cryptFilter = cf.get(name.name);
var cfm;
if (cryptFilter != null)
cfm = cryptFilter.get('CFM');
if (!cfm || cfm.name == 'None') {
return function cipherTransformFactoryBuildCipherConstructorNone() {
return new NullCipher();
};
}
if ('V2' == cfm.name) {
return function cipherTransformFactoryBuildCipherConstructorV2() {
return new ARCFourCipher(
buildObjectKey(num, gen, key, false));
};
}
if ('AESV2' == cfm.name) {
return function cipherTransformFactoryBuildCipherConstructorAESV2() {
return new AES128Cipher(
buildObjectKey(num, gen, key, true));
};
}
error('Unknown crypto method');
}
CipherTransformFactory.prototype = {
createCipherTransform:
function CipherTransformFactory_createCipherTransform(num, gen) {
if (this.algorithm == 4) {
return new CipherTransform(
buildCipherConstructor(this.cf, this.stmf,
num, gen, this.encryptionKey),
buildCipherConstructor(this.cf, this.strf,
num, gen, this.encryptionKey));
}
// algorithms 1 and 2
var key = buildObjectKey(num, gen, this.encryptionKey, false);
var cipherConstructor = function buildCipherCipherConstructor() {
return new ARCFourCipher(key);
};
return new CipherTransform(cipherConstructor, cipherConstructor);
}

};
return CipherTransformFactory;
})();

var PartialEvaluator = (function PartialEvaluatorClosure() {


function PartialEvaluator(xref, handler, pageIndex, uniquePrefix) {
this.state = new EvalState();
this.stateStack = [];
this.xref = xref;
this.handler = handler;
this.pageIndex = pageIndex;
this.uniquePrefix = uniquePrefix;
this.objIdCounter = 0;
this.fontIdCounter = 0;
}
var OP_MAP = {
// Graphics state
w: 'setLineWidth',
J: 'setLineCap',
j: 'setLineJoin',
M: 'setMiterLimit',
d: 'setDash',
ri: 'setRenderingIntent',
i: 'setFlatness',
gs: 'setGState',
q: 'save',
Q: 'restore',
cm: 'transform',
// Path
m: 'moveTo',
l: 'lineTo',
c: 'curveTo',
v: 'curveTo2',
y: 'curveTo3',
h: 'closePath',
re: 'rectangle',
S: 'stroke',
s: 'closeStroke',
f: 'fill',
F: 'fill',
'f*': 'eoFill',
B: 'fillStroke',
'B*': 'eoFillStroke',
b: 'closeFillStroke',
'b*': 'closeEOFillStroke',
n: 'endPath',
// Clipping
W: 'clip',
'W*': 'eoClip',
// Text
BT: 'beginText',
ET: 'endText',

Tc: 'setCharSpacing',
Tw: 'setWordSpacing',
Tz: 'setHScale',
TL: 'setLeading',
Tf: 'setFont',
Tr: 'setTextRenderingMode',
Ts: 'setTextRise',
Td: 'moveText',
TD: 'setLeadingMoveText',
Tm: 'setTextMatrix',
'T*': 'nextLine',
Tj: 'showText',
TJ: 'showSpacedText',
"'": 'nextLineShowText',
'"': 'nextLineSetSpacingShowText',
// Type3 fonts
d0: 'setCharWidth',
d1: 'setCharWidthAndBounds',
// Color
CS: 'setStrokeColorSpace',
cs: 'setFillColorSpace',
SC: 'setStrokeColor',
SCN: 'setStrokeColorN',
sc: 'setFillColor',
scn: 'setFillColorN',
G: 'setStrokeGray',
g: 'setFillGray',
RG: 'setStrokeRGBColor',
rg: 'setFillRGBColor',
K: 'setStrokeCMYKColor',
k: 'setFillCMYKColor',
// Shading
sh: 'shadingFill',
// Images
BI: 'beginInlineImage',
ID: 'beginImageData',
EI: 'endInlineImage',
// XObjects
Do: 'paintXObject',
// Marked content
MP: 'markPoint',
DP: 'markPointProps',
BMC: 'beginMarkedContent',
BDC: 'beginMarkedContentProps',
EMC: 'endMarkedContent',
// Compatibility
BX: 'beginCompat',
EX: 'endCompat',
// (reserved partial commands for the lexer)
BM: null,
BD: null,
'true': null,

fa: null,
fal: null,
fals: null,
'false': null,
nu: null,
nul: null,
'null': null
};
PartialEvaluator.prototype = {
loadFont: function PartialEvaluator_loadFont(fontName, font, xref,
resources, dependency) {
var fontRes = resources.get('Font');
assert(fontRes, 'fontRes not available');
++this.fontIdCounter;
font = xref.fetchIfRef(font) || fontRes.get(fontName);
if (!isDict(font)) {
return {
translated: new ErrorFont('Font ' + fontName + ' is not available'),
loadedName: 'g_font_' + this.uniquePrefix + this.fontIdCounter
};
}
var loadedName = font.loadedName;
if (!loadedName) {
// keep track of each font we translated so the caller can
// load them asynchronously before calling display on a page
loadedName = 'g_font_' + this.uniquePrefix + this.fontIdCounter;
font.loadedName = loadedName;
var translated;
try {
translated = this.translateFont(font, xref, resources,
dependency);
} catch (e) {
translated = new ErrorFont(e instanceof Error ? e.message : e);
}
font.translated = translated;
var data = translated;
if (data.loadCharProcs) {
delete data.loadCharProcs;
var charProcs = font.get('CharProcs').getAll();
var fontResources = font.get('Resources') || resources;
var charProcOperatorList = {};
for (var key in charProcs) {
var glyphStream = charProcs[key];
charProcOperatorList[key] =
this.getOperatorList(glyphStream, fontResources, dependency);
}
data.charProcOperatorList = charProcOperatorList;
}
}
return font;
},

getOperatorList: function PartialEvaluator_getOperatorList(stream,


resources,
dependency,
queue) {
var
var
var
var
var

self = this;
xref = this.xref;
handler = this.handler;
pageIndex = this.pageIndex;
uniquePrefix = this.uniquePrefix || '';

function insertDependency(depList) {
fnArray.push('dependency');
argsArray.push(depList);
for (var i = 0, ii = depList.length; i < ii; i++) {
var dep = depList[i];
if (dependency.indexOf(dep) == -1) {
dependency.push(depList[i]);
}
}
}
function handleSetFont(fontName, font) {
font = self.loadFont(fontName, font, xref, resources, dependency);
var loadedName = font.loadedName;
if (!font.sent) {
var data = font.translated.exportData();
handler.send('commonobj', [
loadedName,
'Font',
data
]);
font.sent = true;
}
// Ensure the font is ready before the font is set
// and later on used for drawing.
// OPTIMIZE: This should get insert to the operatorList only once per
// page.
insertDependency([loadedName]);
return loadedName;
}
function buildPaintImageXObject(image, inline) {
var dict = image.dict;
var w = dict.get('Width', 'W');
var h = dict.get('Height', 'H');
var imageMask = dict.get('ImageMask', 'IM') || false;
if (imageMask) {
// This depends on a tmpCanvas beeing filled with the
// current fillStyle, such that processing the pixel
// data can't be done here. Instead of creating a
// complete PDFImage, only read the information needed
// for later.
var width = dict.get('Width', 'W');
var height = dict.get('Height', 'H');

var
var
var
var

bitStrideLength = (width + 7) >> 3;


imgArray = image.getBytes(bitStrideLength * height);
decode = dict.get('Decode', 'D');
inverseDecode = !!decode && decode[0] > 0;

fn = 'paintImageMaskXObject';
args = [imgArray, inverseDecode, width, height];
return;
}
// If there is no imageMask, create the PDFImage and a lot
// of image processing can be done here.
var objId = 'img_' + uniquePrefix + (++self.objIdCounter);
insertDependency([objId]);
args = [objId, w, h];
var softMask = dict.get('SMask', 'SM') || false;
var mask = dict.get('Mask') || false;
if (!softMask && !mask && image instanceof JpegStream &&
image.isNativelySupported(xref, resources)) {
// These JPEGs don't need any more processing so we can just send it.
fn = 'paintJpegXObject';
handler.send('obj', [objId, pageIndex, 'JpegStream', image.getIR()]);
return;
}
fn = 'paintImageXObject';
PDFImage.buildImage(function(imageObj) {
var drawWidth = imageObj.drawWidth;
var drawHeight = imageObj.drawHeight;
var imgData = {
width: drawWidth,
height: drawHeight,
data: new Uint8Array(drawWidth * drawHeight * 4)
};
var pixels = imgData.data;
imageObj.fillRgbaBuffer(pixels, drawWidth, drawHeight);
handler.send('obj', [objId, pageIndex, 'Image', imgData]);
}, handler, xref, resources, image, inline);
}
if (!queue)
queue = {};
if (!queue.argsArray) {
queue.argsArray = [];
}
if (!queue.fnArray) {
queue.fnArray = [];
}
var fnArray = queue.fnArray, argsArray = queue.argsArray;
var dependencyArray = dependency || [];
resources = resources || new Dict();
var xobjs = resources.get('XObject') || new Dict();
var patterns = resources.get('Pattern') || new Dict();
var parser = new Parser(new Lexer(stream, OP_MAP), false, xref);

var res = resources;


var args = [], obj;
var TILING_PATTERN = 1, SHADING_PATTERN = 2;
while (true) {
obj = parser.getObj();
if (isEOF(obj))
break;
if (isCmd(obj)) {
var cmd = obj.cmd;
var fn = OP_MAP[cmd];
assertWellFormed(fn, 'Unknown command "' + cmd + '"');
// TODO figure out how to type-check vararg functions
if ((cmd == 'SCN' || cmd == 'scn') && !args[args.length - 1].code) {
// compile tiling patterns
var patternName = args[args.length - 1];
// SCN/scn applies patterns along with normal colors
if (isName(patternName)) {
var pattern = patterns.get(patternName.name);
if (pattern) {
var dict = isStream(pattern) ? pattern.dict : pattern;
var typeNum = dict.get('PatternType');
if (typeNum == TILING_PATTERN) {
// Create an IR of the pattern code.
var depIdx = dependencyArray.length;
var operatorList = this.getOperatorList(pattern,
dict.get('Resources') || resources, dependencyArray);
// Add the dependencies that are required to execute the
// operatorList.
insertDependency(dependencyArray.slice(depIdx));
args = TilingPattern.getIR(operatorList, dict, args);
}
else if (typeNum == SHADING_PATTERN) {
var shading = dict.get('Shading');
var matrix = dict.get('Matrix');
var pattern = Pattern.parseShading(shading, matrix, xref,
res);
args = pattern.getIR();
} else {
error('Unkown PatternType ' + typeNum);
}
}
}
} else if (cmd == 'Do' && !args[0].code) {
// eagerly compile XForm objects
var name = args[0].name;
var xobj = xobjs.get(name);
if (xobj) {
assertWellFormed(isStream(xobj), 'XObject should be a stream');
var type = xobj.dict.get('Subtype');
assertWellFormed(
isName(type),
'XObject should have a Name subtype'
);

if ('Form' == type.name) {
var matrix = xobj.dict.get('Matrix');
var bbox = xobj.dict.get('BBox');
fnArray.push('paintFormXObjectBegin');
argsArray.push([matrix, bbox]);
// This adds the operatorList of the xObj to the current queue.
var depIdx = dependencyArray.length;
// Pass in the current `queue` object. That means the `fnArray`
// and the `argsArray` in this scope is reused and new commands
// are added to them.
this.getOperatorList(xobj,
xobj.dict.get('Resources') || resources,
dependencyArray, queue);
// Add the dependencies that are required to execute the
// operatorList.
insertDependency(dependencyArray.slice(depIdx));
fn = 'paintFormXObjectEnd';
args = [];
} else if ('Image' == type.name) {
buildPaintImageXObject(xobj, false);
} else {
error('Unhandled XObject subtype ' + type.name);
}
}
} else if (cmd == 'Tf') { // eagerly collect all fonts
args[0] = handleSetFont(args[0].name);
} else if (cmd == 'EI') {
buildPaintImageXObject(args[0], true);
}
switch (fn) {
// Parse the ColorSpace data to a raw format.
case 'setFillColorSpace':
case 'setStrokeColorSpace':
args = [ColorSpace.parseToIR(args[0], xref, resources)];
break;
case 'shadingFill':
var shadingRes = res.get('Shading');
if (!shadingRes)
error('No shading resource found');
var shading = shadingRes.get(args[0].name);
if (!shading)
error('No shading object found');
var shadingFill = Pattern.parseShading(shading, null, xref, res);
var patternIR = shadingFill.getIR();
args = [patternIR];
fn = 'shadingFill';
break;
case 'setGState':
var dictName = args[0];
var extGState = resources.get('ExtGState');

if (!isDict(extGState) || !extGState.has(dictName.name))
break;
var gsState = extGState.get(dictName.name);
// This array holds the converted/processed state data.
var gsStateObj = [];
gsState.forEach(
function canvasGraphicsSetGStateForEach(key, value) {
switch (key) {
case 'Type':
break;
case 'LW':
case 'LC':
case 'LJ':
case 'ML':
case 'D':
case 'RI':
case 'FL':
case 'CA':
case 'ca':
gsStateObj.push([key, value]);
break;
case 'Font':
gsStateObj.push([
'Font',
handleSetFont(null, value[0]),
value[1]
]);
break;
case 'BM':
// We support the default so don't trigger the TODO.
if (!isName(value) || value.name != 'Normal')
TODO('graphic state operator ' + key);
break;
case 'SMask':
// We support the default so don't trigger the TODO.
if (!isName(value) || value.name != 'None')
TODO('graphic state operator ' + key);
break;
// Only generate info log messages for the following since
// they are unlikey to have a big impact on the rendering.
case 'OP':
case 'op':
case 'OPM':
case 'BG':
case 'BG2':
case 'UCR':
case 'UCR2':
case 'TR':
case 'TR2':
case 'HT':
case 'SM':
case 'SA':
case 'AIS':
case 'TK':
// TODO implement these operators.
info('graphic state operator ' + key);
break;

default:
info('Unknown graphic state operator ' + key);
break;
}
}
);
args = [gsStateObj];
break;
} // switch
fnArray.push(fn);
argsArray.push(args);
args = [];
} else if (obj != null) {
assertWellFormed(args.length <= 33, 'Too many arguments');
args.push(obj instanceof Dict ? obj.getAll() : obj);
}
}
return queue;
},
getTextContent: function PartialEvaluator_getTextContent(
stream, resources, state) {
var bidiTexts;
var SPACE_FACTOR = 0.35;
var MULTI_SPACE_FACTOR = 1.5;
if (!state) {
bidiTexts = [];
state = {
bidiTexts: bidiTexts
};
} else {
bidiTexts = state.bidiTexts;
}
var self = this;
var xref = this.xref;
function handleSetFont(fontName, fontRef) {
return self.loadFont(fontName, fontRef, xref, resources, null);
}
resources = xref.fetchIfRef(resources) || new Dict();
// The xobj is parsed iff it's needed, e.g. if there is a `DO` cmd.
var xobjs = null;
var parser = new Parser(new Lexer(stream), false);
var res = resources;
var args = [], obj;
var chunk = '';
var font = null;
while (!isEOF(obj = parser.getObj())) {
if (isCmd(obj)) {
var cmd = obj.cmd;
switch (cmd) {
// TODO: Add support for SAVE/RESTORE and XFORM here.
case 'Tf':

font = handleSetFont(args[0].name).translated;
break;
case 'TJ':
var items = args[0];
for (var j = 0, jj = items.length; j < jj; j++) {
if (typeof items[j] === 'string') {
chunk += fontCharsToUnicode(items[j], font);
} else if (items[j] < 0 && font.spaceWidth > 0) {
var fakeSpaces = -items[j] / font.spaceWidth;
if (fakeSpaces > MULTI_SPACE_FACTOR) {
fakeSpaces = Math.round(fakeSpaces);
while (fakeSpaces--) {
chunk += ' ';
}
} else if (fakeSpaces > SPACE_FACTOR) {
chunk += ' ';
}
}
}
break;
case 'Tj':
chunk += fontCharsToUnicode(args[0], font);
break;
case "'":
// For search, adding a extra white space for line breaks would be
// better here, but that causes too much spaces in the
// text-selection divs.
chunk += fontCharsToUnicode(args[0], font);
break;
case '"':
// Note comment in "'"
chunk += fontCharsToUnicode(args[2], font);
break;
case 'Do':
// Set the chunk such that the following if won't add something
// to the state.
chunk = '';
if (args[0].code) {
break;
}
if (!xobjs) {
xobjs = resources.get('XObject') || new Dict();
}
var name = args[0].name;
var xobj = xobjs.get(name);
if (!xobj)
break;
assertWellFormed(isStream(xobj), 'XObject should be a stream');
var type = xobj.dict.get('Subtype');
assertWellFormed(
isName(type),
'XObject should have a Name subtype'
);
if ('Form' !== type.name)
break;

state = this.getTextContent(
xobj,
xobj.dict.get('Resources') || resources,
state
);
break;
case 'gs':
var dictName = args[0];
var extGState = resources.get('ExtGState');
if (!isDict(extGState) || !extGState.has(dictName.name))
break;
var gsState = extGState.get(dictName.name);
for (var i = 0; i < gsState.length; i++) {
if (gsState[i] === 'Font') {
font = handleSetFont(args[0].name).translated;
}
}
break;
} // switch
if (chunk !== '') {
bidiTexts.push(PDFJS.bidi(chunk, -1));
chunk = '';
}
args = [];
} else if (obj != null) {
assertWellFormed(args.length <= 33, 'Too many arguments');
args.push(obj);
}
} // while
return state;
},
extractDataStructures: function
partialEvaluatorExtractDataStructures(dict, baseDict,
xref, properties) {
// 9.10.2
var toUnicode = dict.get('ToUnicode') ||
baseDict.get('ToUnicode');
if (toUnicode)
properties.toUnicode = this.readToUnicode(toUnicode, xref, properties);
if (properties.composite) {
// CIDSystemInfo helps to match CID to glyphs
var cidSystemInfo = dict.get('CIDSystemInfo');
if (isDict(cidSystemInfo)) {
properties.cidSystemInfo = {
registry: cidSystemInfo.get('Registry'),
ordering: cidSystemInfo.get('Ordering'),
supplement: cidSystemInfo.get('Supplement')
};
}

var cidEncoding = baseDict.get('Encoding');


if (isName(cidEncoding))
properties.cidEncoding = cidEncoding.name;
var cidToGidMap = dict.get('CIDToGIDMap');
if (isStream(cidToGidMap))
properties.cidToGidMap = this.readCidToGidMap(cidToGidMap);
}
var flags = properties.flags;
var differences = [];
var baseEncoding = Encodings.StandardEncoding;
// The Symbolic attribute can be misused for regular fonts
// Heuristic: we have to check if the font is a standard one also
if (!!(flags & FontFlags.Symbolic)) {
baseEncoding = !properties.file ? Encodings.symbolsEncoding :
Encodings.MacRomanEncoding;
}
var hasEncoding = dict.has('Encoding');
if (hasEncoding) {
var encoding = dict.get('Encoding');
if (isDict(encoding)) {
var baseName = encoding.get('BaseEncoding');
if (baseName)
baseEncoding = Encodings[baseName.name];
else
hasEncoding = false; // base encoding was not provided
// Load the differences between the base and original
if (encoding.has('Differences')) {
var diffEncoding = encoding.get('Differences');
var index = 0;
for (var j = 0, jj = diffEncoding.length; j < jj; j++) {
var data = diffEncoding[j];
if (isNum(data))
index = data;
else
differences[index++] = data.name;
}
}
} else if (isName(encoding)) {
baseEncoding = Encodings[encoding.name];
} else {
error('Encoding is not a Name nor a Dict');
}
}
properties.differences = differences;
properties.baseEncoding = baseEncoding;
properties.hasEncoding = hasEncoding;
},
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode, xref,
properties) {
var cmapObj = toUnicode;
var charToUnicode = [];
if (isName(cmapObj)) {
var isIdentityMap = cmapObj.name.substr(0, 9) == 'Identity-';
if (!isIdentityMap)
error('ToUnicode file cmap translation not implemented');

} else if (isStream(cmapObj)) {
var tokens = [];
var token = '';
var beginArrayToken = {};
var cmap = cmapObj.getBytes(cmapObj.length);
for (var i = 0, ii = cmap.length; i < ii; i++) {
var octet = cmap[i];
if (octet == 0x20 || octet == 0x0D || octet == 0x0A ||
octet == 0x3C || octet == 0x5B || octet == 0x5D) {
switch (token) {
case 'usecmap':
error('usecmap is not implemented');
break;
case 'beginbfchar':
case 'beginbfrange':
case 'begincidchar':
case 'begincidrange':
token = '';
tokens = [];
break;
case 'endcidrange':
case 'endbfrange':
for (var j = 0, jj = tokens.length; j < jj; j += 3) {
var startRange = tokens[j];
var endRange = tokens[j + 1];
var code = tokens[j + 2];
if (code == 0xFFFF) {
// CMap is broken, assuming code == startRange
code = startRange;
}
if (isArray(code)) {
var codeindex = 0;
while (startRange <= endRange) {
charToUnicode[startRange] = code[codeindex++];
++startRange;
}
} else {
while (startRange <= endRange) {
charToUnicode[startRange] = code++;
++startRange;
}
}
}
break;
case 'endcidchar':
case 'endbfchar':
for (var j = 0, jj = tokens.length; j < jj; j += 2) {
var index = tokens[j];
var code = tokens[j + 1];
charToUnicode[index] = code;
}
break;
case '':
break;

default:
if (token[0] >= '0' && token[0] <= '9')
token = parseInt(token, 10); // a number
tokens.push(token);
token = '';
}
switch (octet) {
case 0x5B:
// begin list parsing
tokens.push(beginArrayToken);
break;
case 0x5D:
// collect array items
var items = [], item;
while (tokens.length &&
(item = tokens.pop()) != beginArrayToken)
items.unshift(item);
tokens.push(items);
break;
}
} else if (octet == 0x3E) {
if (token.length) {
// Heuristic: guessing chars size by checking numbers sizes
// in the CMap entries.
if (token.length == 2 && properties.composite)
properties.wideChars = false;
if (token.length <= 4) {
// parsing hex number
tokens.push(parseInt(token, 16));
token = '';
} else {
// parsing hex UTF-16BE numbers
var str = [];
for (var k = 0, kk = token.length; k < kk; k += 4) {
var b = parseInt(token.substr(k, 4), 16);
if (b <= 0x10) {
k += 4;
b = (b << 16) | parseInt(token.substr(k, 4), 16);
b -= 0x10000;
str.push(0xD800 | (b >> 10));
str.push(0xDC00 | (b & 0x3FF));
break;
}
str.push(b);
}
tokens.push(String.fromCharCode.apply(String, str));
token = '';
}
}
} else {
token += String.fromCharCode(octet);
}
}
}
return charToUnicode;
},
readCidToGidMap: function PartialEvaluator_readCidToGidMap(cidToGidStream) {
// Extract the encoding from the CIDToGIDMap
var glyphsData = cidToGidStream.getBytes();

// Set encoding 0 to later verify the font has an encoding


var result = [];
for (var j = 0, jj = glyphsData.length; j < jj; j++) {
var glyphID = (glyphsData[j++] << 8) | glyphsData[j];
if (glyphID == 0)
continue;
var code = j >> 1;
result[code] = glyphID;
}
return result;
},
extractWidths: function PartialEvaluator_extractWidths(dict,
xref,
descriptor,
properties) {
var glyphsWidths = [];
var defaultWidth = 0;
if (properties.composite) {
defaultWidth = dict.get('DW') || 1000;
var widths = dict.get('W');
if (widths) {
var start = 0, end = 0;
for (var i = 0, ii = widths.length; i < ii; i++) {
var code = xref.fetchIfRef(widths[i]);
if (isArray(code)) {
for (var j = 0, jj = code.length; j < jj; j++)
glyphsWidths[start++] = code[j];
start = 0;
} else if (start) {
var width = widths[++i];
for (var j = start; j <= code; j++)
glyphsWidths[j] = width;
start = 0;
} else {
start = code;
}
}
}
} else {
var firstChar = properties.firstChar;
var widths = dict.get('Widths');
if (widths) {
var j = firstChar;
for (var i = 0, ii = widths.length; i < ii; i++)
glyphsWidths[j++] = widths[i];
defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;
} else {
// Trying get the BaseFont metrics (see comment above).
var baseFontName = dict.get('BaseFont');
if (isName(baseFontName)) {
var metrics = this.getBaseFontMetrics(baseFontName.name);
glyphsWidths = metrics.widths;
defaultWidth = metrics.defaultWidth;
}
}

}
// Heuristic: detection of monospace font by checking all non-zero widths
var isMonospace = true, firstWidth = defaultWidth;
for (var glyph in glyphsWidths) {
var glyphWidth = glyphsWidths[glyph];
if (!glyphWidth)
continue;
if (!firstWidth) {
firstWidth = glyphWidth;
continue;
}
if (firstWidth != glyphWidth) {
isMonospace = false;
break;
}
}
if (isMonospace)
properties.flags |= FontFlags.FixedPitch;
properties.defaultWidth = defaultWidth;
properties.widths = glyphsWidths;
},
getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {
var defaultWidth = 0, widths = [], monospace = false;
var glyphWidths = Metrics[stdFontMap[name] || name];
if (isNum(glyphWidths)) {
defaultWidth = glyphWidths;
monospace = true;
} else {
widths = glyphWidths;
}
return {
defaultWidth: defaultWidth,
monospace: monospace,
widths: widths
};
},
translateFont: function PartialEvaluator_translateFont(dict,
xref,
resources,
dependency) {
var baseDict = dict;
var type = dict.get('Subtype');
assertWellFormed(isName(type), 'invalid font Subtype');
var composite = false;
if (type.name == 'Type0') {
// If font is a composite
// - get the descendant font
// - set the type according to the descendant font
// - get the FontDescriptor from the descendant font
var df = dict.get('DescendantFonts');
if (!df)
error('Descendant fonts are not specified');
dict = isArray(df) ? xref.fetchIfRef(df[0]) : df;

type = dict.get('Subtype');
assertWellFormed(isName(type), 'invalid font Subtype');
composite = true;
}
var maxCharIndex = composite ? 0xFFFF : 0xFF;
var descriptor = dict.get('FontDescriptor');
if (!descriptor) {
if (type.name == 'Type3') {
// FontDescriptor is only required for Type3 fonts when the document
// is a tagged pdf. Create a barbebones one to get by.
descriptor = new Dict();
descriptor.set('FontName', new Name(type.name));
} else {
// Before PDF 1.5 if the font was one of the base 14 fonts, having a
// FontDescriptor was not required.
// This case is here for compatibility.
var baseFontName = dict.get('BaseFont');
if (!isName(baseFontName))
error('Base font is not specified');
// Using base font name as a font name.
baseFontName = baseFontName.name.replace(/[,_]/g, '-');
var metrics = this.getBaseFontMetrics(baseFontName);
// Simulating descriptor flags attribute
var fontNameWoStyle = baseFontName.split('-')[0];
var flags = (serifFonts[fontNameWoStyle] ||
(fontNameWoStyle.search(/serif/gi) != -1) ? FontFlags.Serif : 0) |
(metrics.monospace ? FontFlags.FixedPitch : 0) |
(symbolsFonts[fontNameWoStyle] ? FontFlags.Symbolic :
FontFlags.Nonsymbolic);
var properties = {
type: type.name,
widths: metrics.widths,
defaultWidth: metrics.defaultWidth,
flags: flags,
firstChar: 0,
lastChar: maxCharIndex
};
this.extractDataStructures(dict, dict, xref, properties);
return new Font(baseFontName, null, properties);
}
}
// According to the spec if 'FontDescriptor' is declared, 'FirstChar',
// 'LastChar' and 'Widths' should exist too, but some PDF encoders seem
// to ignore this rule when a variant of a standart font is used.
// TODO Fill the width array depending on which of the base font this is
// a variant.
var firstChar = dict.get('FirstChar') || 0;
var lastChar = dict.get('LastChar') || maxCharIndex;
var fontName = descriptor.get('FontName');
// Some bad pdf's have a string as the font name.
if (isString(fontName))
fontName = new Name(fontName);
assertWellFormed(isName(fontName), 'invalid font name');

var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');


if (fontFile) {
if (fontFile.dict) {
var subtype = fontFile.dict.get('Subtype');
if (subtype)
subtype = subtype.name;
var length1 = fontFile.dict.get('Length1');
var length2 = fontFile.dict.get('Length2');
}
}
var properties = {
type: type.name,
subtype: subtype,
file: fontFile,
length1: length1,
length2: length2,
loadedName: baseDict.loadedName,
composite: composite,
wideChars: composite,
fixedPitch: false,
fontMatrix: dict.get('FontMatrix') || IDENTITY_MATRIX,
firstChar: firstChar || 0,
lastChar: lastChar || maxCharIndex,
bbox: descriptor.get('FontBBox'),
ascent: descriptor.get('Ascent'),
descent: descriptor.get('Descent'),
xHeight: descriptor.get('XHeight'),
capHeight: descriptor.get('CapHeight'),
flags: descriptor.get('Flags'),
italicAngle: descriptor.get('ItalicAngle'),
coded: false
};
this.extractWidths(dict, xref, descriptor, properties);
this.extractDataStructures(dict, baseDict, xref, properties);
if (type.name === 'Type3') {
properties.coded = true;
}
return new Font(fontName.name, fontFile, properties);
}
};
return PartialEvaluator;
})();
var EvalState = (function EvalStateClosure() {
function EvalState() {
// Are soft masks and alpha values shapes or opacities?
this.alphaIsShape = false;
this.fontSize = 0;
this.textMatrix = IDENTITY_MATRIX;
this.leading = 0;
// Start of text line (in text coordinates)
this.lineX = 0;
this.lineY = 0;

// Character and word spacing


this.charSpacing = 0;
this.wordSpacing = 0;
this.textHScale = 1;
// Color spaces
this.fillColorSpace = null;
this.strokeColorSpace = null;
}
EvalState.prototype = {
};
return EvalState;
})();

// Unicode Private Use Area


var CMAP_GLYPH_OFFSET = 0xE000;
var GLYPH_AREA_SIZE = 0x1900;
var SYMBOLIC_FONT_GLYPH_OFFSET = 0xF000;
// PDF Glyph Space Units are one Thousandth of a TextSpace Unit
// except for Type 3 fonts
var PDF_GLYPH_SPACE_UNITS = 1000;
// Until hinting is fully supported this constant can be used
var HINTING_ENABLED = false;
var FontFlags = {
FixedPitch: 1,
Serif: 2,
Symbolic: 4,
Script: 8,
Nonsymbolic: 32,
Italic: 64,
AllCap: 65536,
SmallCap: 131072,
ForceBold: 262144
};
var Encodings = {
ExpertEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle',
'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior',
'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma',
'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle',
'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle',
'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon',
'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior',
'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior',
'esuperior', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior',
'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior',
'', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '',
'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall',
'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall',
'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall',
'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall',
'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary',
'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',

'', '', '', '', '', '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall',


'', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall',
'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '',
'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall',
'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters',
'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths',
'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior',
'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior',
'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior',
'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior',
'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior',
'seveninferior', 'eightinferior', 'nineinferior', 'centinferior',
'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall',
'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall',
'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall',
'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall',
'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall',
'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall',
'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall',
'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall',
'Ydieresissmall'],
MacExpertEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclamsmall', 'Hungarumlautsmall', 'centoldstyle',
'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall',
'parenleftsuperior', 'parenrightsuperior', 'twodotenleader',
'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle',
'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle',
'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle',
'nineoldstyle', 'colon', 'semicolon', '', 'threequartersemdash', '',
'questionsmall', '', '', '', '', 'Ethsmall', '', '', 'onequarter',
'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths',
'seveneighths', 'onethird', 'twothirds', '', '', '', '', '', '', 'ff',
'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior',
'Circumflexsmall', 'hypheninferior', 'Gravesmall', 'Asmall', 'Bsmall',
'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall',
'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall',
'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall',
'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah',
'Tildesmall', '', '', 'asuperior', 'centsuperior', '', '', '', '',
'Aacutesmall', 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall',
'Atildesmall', 'Aringsmall', 'Ccedillasmall', 'Eacutesmall', 'Egravesmall',
'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 'Igravesmall',
'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall',
'Ogravesmall', 'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall',
'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 'Udieresissmall', '',
'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior',
'eightinferior', 'seveninferior', 'Scaronsmall', '', 'centinferior',
'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 'osuperior',
'fiveinferior', '', 'commainferior', 'periodinferior', 'Yacutesmall', '',
'dollarinferior', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior',
'Zcaronsmall', 'AEsmall', 'Oslashsmall', 'questiondownsmall',
'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 'Cedillasmall', '',
'', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', '',
'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', 'twosuperior',
'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior',
'sevensuperior', 'ninesuperior', 'zerosuperior', '', 'esuperior',
'rsuperior', 'tsuperior', '', '', 'isuperior', 'ssuperior', 'dsuperior',
'', '', '', '', '', 'lsuperior', 'Ogoneksmall', 'Brevesmall',
'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', 'commasuperior',

'periodsuperior', 'Dotaccentsmall', 'Ringsmall'],


MacRomanEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent',
'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus',
'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three',
'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon',
'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright',
'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '',
'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis',
'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde',
'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis',
'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute',
'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave',
'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling',
'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright',
'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity',
'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff',
'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine',
'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot',
'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft',
'guillemotright', 'ellipsis', '', 'Agrave', 'Atilde', 'Otilde', 'OE',
'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft',
'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction',
'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl',
'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand',
'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute',
'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple',
'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex',
'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut',
'ogonek', 'caron'],
StandardEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent',
'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus',
'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three',
'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon',
'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright',
'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdown',
'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency',
'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft',
'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl',
'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase',
'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis',
'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex',
'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla',
'', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '',
'', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae',
'', '', '', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls'],

WinAnsiEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent',
'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus',
'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three',
'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon',
'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright',
'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde',
'bullet', 'Euro', 'bullet', 'quotesinglbase', 'florin', 'quotedblbase',
'ellipsis', 'dagger', 'daggerdbl', 'circumflex', 'perthousand', 'Scaron',
'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', 'quoteleft',
'quoteright', 'quotedblleft', 'quotedblright', 'bullet', 'endash',
'emdash', 'tilde', 'trademark', 'scaron', 'guilsinglright', 'oe', 'bullet',
'zcaron', 'Ydieresis', '', 'exclamdown', 'cent', 'sterling',
'currency', 'yen', 'brokenbar', 'section', 'dieresis', 'copyright',
'ordfeminine', 'guillemotleft', 'logicalnot', 'hyphen', 'registered',
'macron', 'degree', 'plusminus', 'twosuperior', 'threesuperior', 'acute',
'mu', 'paragraph', 'periodcentered', 'cedilla', 'onesuperior',
'ordmasculine', 'guillemotright', 'onequarter', 'onehalf', 'threequarters',
'questiondown', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis',
'Aring', 'AE', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve',
'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', 'Oslash',
'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'Thorn',
'germandbls', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis',
'aring', 'ae', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis',
'igrave', 'iacute', 'icircumflex', 'idieresis', 'eth', 'ntilde', 'ograve',
'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash',
'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn',
'ydieresis'],
symbolsEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'exclam', 'universal', 'numbersign', 'existential', 'percent',
'ampersand', 'suchthat', 'parenleft', 'parenright', 'asteriskmath', 'plus',
'comma', 'minus', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four',
'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less',
'equal', 'greater', 'question', 'congruent', 'Alpha', 'Beta', 'Chi',
'Delta', 'Epsilon', 'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa',
'Lambda', 'Mu', 'Nu', 'Omicron', 'Pi', 'Theta', 'Rho', 'Sigma', 'Tau',
'Upsilon', 'sigma1', 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft',
'therefore', 'bracketright', 'perpendicular', 'underscore', 'radicalex',
'alpha', 'beta', 'chi', 'delta', 'epsilon', 'phi', 'gamma', 'eta', 'iota',
'phi1', 'kappa', 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho',
'sigma', 'tau', 'upsilon', 'omega1', 'omega', 'xi', 'psi', 'zeta',
'braceleft', 'bar', 'braceright', 'similar', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', 'Euro', 'Upsilon1', 'minute', 'lessequal',
'fraction', 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade',
'arrowboth', 'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree',
'plusminus', 'second', 'greaterequal', 'multiply', 'proportional',
'partialdiff', 'bullet', 'divide', 'notequal', 'equivalence',
'approxequal', 'ellipsis', 'arrowvertex', 'arrowhorizex', 'carriagereturn',
'aleph', 'Ifraktur', 'Rfraktur', 'weierstrass', 'circlemultiply',
'circleplus', 'emptyset', 'intersection', 'union', 'propersuperset',
'reflexsuperset', 'notsubset', 'propersubset', 'reflexsubset', 'element',
'notelement', 'angle', 'gradient', 'registerserif', 'copyrightserif',

'trademarkserif', 'product', 'radical', 'dotmath', 'logicalnot',


'logicaland', 'logicalor', 'arrowdblboth', 'arrowdblleft', 'arrowdblup',
'arrowdblright', 'arrowdbldown', 'lozenge', 'angleleft', 'registersans',
'copyrightsans', 'trademarksans', 'summation', 'parenlefttp',
'parenleftex', 'parenleftbt', 'bracketlefttp', 'bracketleftex',
'bracketleftbt', 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex',
'', 'angleright', 'integral', 'integraltp', 'integralex', 'integralbt',
'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp',
'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid',
'bracerightbt'],
zapfDingbatsEncoding: ['', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'space', 'a1', 'a2', 'a202', 'a3', 'a4', 'a5', 'a119', 'a118', 'a117',
'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a105', 'a17', 'a18', 'a19',
'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a6', 'a7',
'a8', 'a9', 'a10', 'a29', 'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36',
'a37', 'a38', 'a39', 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46',
'a47', 'a48', 'a49', 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56',
'a57', 'a58', 'a59', 'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66',
'a67', 'a68', 'a69', 'a70', 'a71', 'a72', 'a73', 'a74', 'a203', 'a75',
'a204', 'a76', 'a77', 'a78', 'a79', 'a81', 'a82', 'a83', 'a84', 'a97',
'a98', 'a99', 'a100', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', '', 'a101', 'a102', 'a103', 'a104', 'a106', 'a107', 'a108', 'a112',
'a111', 'a110', 'a109', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125',
'a126', 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134',
'a135', 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143',
'a144', 'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152',
'a153', 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161',
'a163', 'a164', 'a196', 'a165', 'a192', 'a166', 'a167', 'a168', 'a169',
'a170', 'a171', 'a172', 'a173', 'a162', 'a174', 'a175', 'a176', 'a177',
'a178', 'a179', 'a193', 'a180', 'a199', 'a181', 'a200', 'a182', '', 'a201',
'a183', 'a184', 'a197', 'a185', 'a194', 'a198', 'a186', 'a195', 'a187',
'a188', 'a189', 'a190', 'a191']
};
/**
* Hold a map of decoded fonts and of the standard fourteen Type1
* fonts and their acronyms.
*/
var stdFontMap = {
'ArialNarrow': 'Helvetica',
'ArialNarrow-Bold': 'Helvetica-Bold',
'ArialNarrow-BoldItalic': 'Helvetica-BoldOblique',
'ArialNarrow-Italic': 'Helvetica-Oblique',
'ArialBlack': 'Helvetica',
'ArialBlack-Bold': 'Helvetica-Bold',
'ArialBlack-BoldItalic': 'Helvetica-BoldOblique',
'ArialBlack-Italic': 'Helvetica-Oblique',
'Arial': 'Helvetica',
'Arial-Bold': 'Helvetica-Bold',
'Arial-BoldItalic': 'Helvetica-BoldOblique',
'Arial-Italic': 'Helvetica-Oblique',
'Arial-BoldItalicMT': 'Helvetica-BoldOblique',
'Arial-BoldMT': 'Helvetica-Bold',
'Arial-ItalicMT': 'Helvetica-Oblique',
'ArialMT': 'Helvetica',
'Courier-Bold': 'Courier-Bold',
'Courier-BoldItalic': 'Courier-BoldOblique',
'Courier-Italic': 'Courier-Oblique',

'CourierNew': 'Courier',
'CourierNew-Bold': 'Courier-Bold',
'CourierNew-BoldItalic': 'Courier-BoldOblique',
'CourierNew-Italic': 'Courier-Oblique',
'CourierNewPS-BoldItalicMT': 'Courier-BoldOblique',
'CourierNewPS-BoldMT': 'Courier-Bold',
'CourierNewPS-ItalicMT': 'Courier-Oblique',
'CourierNewPSMT': 'Courier',
'Helvetica-Bold': 'Helvetica-Bold',
'Helvetica-BoldItalic': 'Helvetica-BoldOblique',
'Helvetica-Italic': 'Helvetica-Oblique',
'Symbol-Bold': 'Symbol',
'Symbol-BoldItalic': 'Symbol',
'Symbol-Italic': 'Symbol',
'TimesNewRoman': 'Times-Roman',
'TimesNewRoman-Bold': 'Times-Bold',
'TimesNewRoman-BoldItalic': 'Times-BoldItalic',
'TimesNewRoman-Italic': 'Times-Italic',
'TimesNewRomanPS': 'Times-Roman',
'TimesNewRomanPS-Bold': 'Times-Bold',
'TimesNewRomanPS-BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPS-BoldItalicMT': 'Times-BoldItalic',
'TimesNewRomanPS-BoldMT': 'Times-Bold',
'TimesNewRomanPS-Italic': 'Times-Italic',
'TimesNewRomanPS-ItalicMT': 'Times-Italic',
'TimesNewRomanPSMT': 'Times-Roman',
'TimesNewRomanPSMT-Bold': 'Times-Bold',
'TimesNewRomanPSMT-BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPSMT-Italic': 'Times-Italic'
};
/**
* Holds the map of the non-standard fonts that might be included as a standard
* fonts without glyph data.
*/
var nonStdFontMap = {
'ComicSansMS': 'Comic Sans MS',
'ComicSansMS-Bold': 'Comic Sans MS-Bold',
'ComicSansMS-BoldItalic': 'Comic Sans MS-BoldItalic',
'ComicSansMS-Italic': 'Comic Sans MS-Italic',
'LucidaConsole': 'Courier',
'LucidaConsole-Bold': 'Courier-Bold',
'LucidaConsole-BoldItalic': 'Courier-BoldOblique',
'LucidaConsole-Italic': 'Courier-Oblique'
};
var serifFonts = {
'Adobe Jenson': true, 'Adobe Text': true, 'Albertus': true,
'Aldus': true, 'Alexandria': true, 'Algerian': true,
'American Typewriter': true, 'Antiqua': true, 'Apex': true,
'Arno': true, 'Aster': true, 'Aurora': true,
'Baskerville': true, 'Bell': true, 'Bembo': true,
'Bembo Schoolbook': true, 'Benguiat': true, 'Berkeley Old Style': true,
'Bernhard Modern': true, 'Berthold City': true, 'Bodoni': true,
'Bauer Bodoni': true, 'Book Antiqua': true, 'Bookman': true,
'Bordeaux Roman': true, 'Californian FB': true, 'Calisto': true,
'Calvert': true, 'Capitals': true, 'Cambria': true,
'Cartier': true, 'Caslon': true, 'Catull': true,
'Centaur': true, 'Century Old Style': true, 'Century Schoolbook': true,
'Chaparral': true, 'Charis SIL': true, 'Cheltenham': true,

'Cholla Slab': true, 'Clarendon': true, 'Clearface': true,


'Cochin': true, 'Colonna': true, 'Computer Modern': true,
'Concrete Roman': true, 'Constantia': true, 'Cooper Black': true,
'Corona': true, 'Ecotype': true, 'Egyptienne': true,
'Elephant': true, 'Excelsior': true, 'Fairfield': true,
'FF Scala': true, 'Folkard': true, 'Footlight': true,
'FreeSerif': true, 'Friz Quadrata': true, 'Garamond': true,
'Gentium': true, 'Georgia': true, 'Gloucester': true,
'Goudy Old Style': true, 'Goudy Schoolbook': true, 'Goudy Pro Font': true,
'Granjon': true, 'Guardian Egyptian': true, 'Heather': true,
'Hercules': true, 'High Tower Text': true, 'Hiroshige': true,
'Hoefler Text': true, 'Humana Serif': true, 'Imprint': true,
'Ionic No. 5': true, 'Janson': true, 'Joanna': true,
'Korinna': true, 'Lexicon': true, 'Liberation Serif': true,
'Linux Libertine': true, 'Literaturnaya': true, 'Lucida': true,
'Lucida Bright': true, 'Melior': true, 'Memphis': true,
'Miller': true, 'Minion': true, 'Modern': true,
'Mona Lisa': true, 'Mrs Eaves': true, 'MS Serif': true,
'Museo Slab': true, 'New York': true, 'Nimbus Roman': true,
'NPS Rawlinson Roadway': true, 'Palatino': true, 'Perpetua': true,
'Plantin': true, 'Plantin Schoolbook': true, 'Playbill': true,
'Poor Richard': true, 'Rawlinson Roadway': true, 'Renault': true,
'Requiem': true, 'Rockwell': true, 'Roman': true,
'Rotis Serif': true, 'Sabon': true, 'Scala': true,
'Seagull': true, 'Sistina': true, 'Souvenir': true,
'STIX': true, 'Stone Informal': true, 'Stone Serif': true,
'Sylfaen': true, 'Times': true, 'Trajan': true,
'Trinit': true, 'Trump Mediaeval': true, 'Utopia': true,
'Vale Type': true, 'Bitstream Vera': true, 'Vera Serif': true,
'Versailles': true, 'Wanted': true, 'Weiss': true,
'Wide Latin': true, 'Windsor': true, 'XITS': true
};
var symbolsFonts = {
'Dingbats': true, 'Symbol': true, 'ZapfDingbats': true
};
var CMapConverterList = {
'H': jis7ToUnicode,
'V': jis7ToUnicode,
'EUC-H': eucjpToUnicode,
'EUC-V': eucjpToUnicode,
'90ms-RKSJ-H': sjisToUnicode,
'90ms-RKSJ-V': sjisToUnicode,
'90msp-RKSJ-H': sjisToUnicode,
'90msp-RKSJ-V': sjisToUnicode
};
var decodeBytes;
if (typeof TextDecoder !== 'undefined') {
decodeBytes = function(bytes, encoding) {
return new TextDecoder(encoding).decode(bytes);
};
} else if (typeof FileReaderSync !== 'undefined') {
decodeBytes = function(bytes, encoding) {
return new FileReaderSync().readAsText(new Blob([bytes]), encoding);
};
} else {
// Clear the list so that decodeBytes will never be called.
CMapConverterList = {};

}
function jis7ToUnicode(str) {
var bytes = stringToBytes(str);
var length = bytes.length;
for (var i = 0; i < length; ++i) {
bytes[i] |= 0x80;
}
return decodeBytes(bytes, 'euc-jp');
}
function eucjpToUnicode(str) {
return decodeBytes(stringToBytes(str), 'euc-jp');
}
function sjisToUnicode(str) {
return decodeBytes(stringToBytes(str), 'shift_jis');
}
// Some characters, e.g. copyrightserif, mapped to the private use area and
// might not be displayed using standard fonts. Mapping/hacking well-known chars
// to the similar equivalents in the normal characters range.
function mapPrivateUseChars(code) {
switch (code) {
case 0xF8E9: // copyrightsans
case 0xF6D9: // copyrightserif
return 0x00A9; // copyright
default:
return code;
}
}
var FontLoader = {
bind: function fontLoaderBind(fonts, callback) {
assert(!isWorker, 'bind() shall be called from main thread');
for (var i = 0, ii = fonts.length; i < ii; i++) {
var font = fonts[i];
if (font.attached)
continue;
font.attached = true;
font.bindDOM()
}
setTimeout(callback);
}
};
var
{
{
{
{
{
{
{
{
{
{

UnicodeRanges = [
'begin': 0x0000, 'end':
'begin': 0x0080, 'end':
'begin': 0x0100, 'end':
'begin': 0x0180, 'end':
'begin': 0x0250, 'end':
'begin': 0x02B0, 'end':
'begin': 0x0300, 'end':
'begin': 0x0370, 'end':
'begin': 0x2C80, 'end':
'begin': 0x0400, 'end':

0x007F
0x00FF
0x017F
0x024F
0x02AF
0x02FF
0x036F
0x03FF
0x2CFF
0x04FF

},
},
},
},
},
},
},
},
},
},

//
//
//
//
//
//
//
//
//
//

Basic Latin
Latin-1 Supplement
Latin Extended-A
Latin Extended-B
IPA Extensions
Spacing Modifier Letters
Combining Diacritical Marks
Greek and Coptic
Coptic
Cyrillic

{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{

'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':

0x0530, 'end': 0x058F }, // Armenian


0x0590, 'end': 0x05FF }, // Hebrew
0xA500, 'end': 0xA63F }, // Vai
0x0600, 'end': 0x06FF }, // Arabic
0x07C0, 'end': 0x07FF }, // NKo
0x0900, 'end': 0x097F }, // Devanagari
0x0980, 'end': 0x09FF }, // Bengali
0x0A00, 'end': 0x0A7F }, // Gurmukhi
0x0A80, 'end': 0x0AFF }, // Gujarati
0x0B00, 'end': 0x0B7F }, // Oriya
0x0B80, 'end': 0x0BFF }, // Tamil
0x0C00, 'end': 0x0C7F }, // Telugu
0x0C80, 'end': 0x0CFF }, // Kannada
0x0D00, 'end': 0x0D7F }, // Malayalam
0x0E00, 'end': 0x0E7F }, // Thai
0x0E80, 'end': 0x0EFF }, // Lao
0x10A0, 'end': 0x10FF }, // Georgian
0x1B00, 'end': 0x1B7F }, // Balinese
0x1100, 'end': 0x11FF }, // Hangul Jamo
0x1E00, 'end': 0x1EFF }, // Latin Extended Additional
0x1F00, 'end': 0x1FFF }, // Greek Extended
0x2000, 'end': 0x206F }, // General Punctuation
0x2070, 'end': 0x209F }, // Superscripts And Subscripts
0x20A0, 'end': 0x20CF }, // Currency Symbol
0x20D0, 'end': 0x20FF }, // Combining Diacritical Marks For Symbols
0x2100, 'end': 0x214F }, // Letterlike Symbols
0x2150, 'end': 0x218F }, // Number Forms
0x2190, 'end': 0x21FF }, // Arrows
0x2200, 'end': 0x22FF }, // Mathematical Operators
0x2300, 'end': 0x23FF }, // Miscellaneous Technical
0x2400, 'end': 0x243F }, // Control Pictures
0x2440, 'end': 0x245F }, // Optical Character Recognition
0x2460, 'end': 0x24FF }, // Enclosed Alphanumerics
0x2500, 'end': 0x257F }, // Box Drawing
0x2580, 'end': 0x259F }, // Block Elements
0x25A0, 'end': 0x25FF }, // Geometric Shapes
0x2600, 'end': 0x26FF }, // Miscellaneous Symbols
0x2700, 'end': 0x27BF }, // Dingbats
0x3000, 'end': 0x303F }, // CJK Symbols And Punctuation
0x3040, 'end': 0x309F }, // Hiragana
0x30A0, 'end': 0x30FF }, // Katakana
0x3100, 'end': 0x312F }, // Bopomofo
0x3130, 'end': 0x318F }, // Hangul Compatibility Jamo
0xA840, 'end': 0xA87F }, // Phags-pa
0x3200, 'end': 0x32FF }, // Enclosed CJK Letters And Months
0x3300, 'end': 0x33FF }, // CJK Compatibility
0xAC00, 'end': 0xD7AF }, // Hangul Syllables
0xD800, 'end': 0xDFFF }, // Non-Plane 0 *
0x10900, 'end': 0x1091F }, // Phoenicia
0x4E00, 'end': 0x9FFF }, // CJK Unified Ideographs
0xE000, 'end': 0xF8FF }, // Private Use Area (plane 0)
0x31C0, 'end': 0x31EF }, // CJK Strokes
0xFB00, 'end': 0xFB4F }, // Alphabetic Presentation Forms
0xFB50, 'end': 0xFDFF }, // Arabic Presentation Forms-A
0xFE20, 'end': 0xFE2F }, // Combining Half Marks
0xFE10, 'end': 0xFE1F }, // Vertical Forms
0xFE50, 'end': 0xFE6F }, // Small Form Variants
0xFE70, 'end': 0xFEFF }, // Arabic Presentation Forms-B
0xFF00, 'end': 0xFFEF }, // Halfwidth And Fullwidth Forms
0xFFF0, 'end': 0xFFFF }, // Specials

{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{

'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':
'begin':

0x0F00, 'end': 0x0FFF }, // Tibetan


0x0700, 'end': 0x074F }, // Syriac
0x0780, 'end': 0x07BF }, // Thaana
0x0D80, 'end': 0x0DFF }, // Sinhala
0x1000, 'end': 0x109F }, // Myanmar
0x1200, 'end': 0x137F }, // Ethiopic
0x13A0, 'end': 0x13FF }, // Cherokee
0x1400, 'end': 0x167F }, // Unified Canadian Aboriginal Syllabics
0x1680, 'end': 0x169F }, // Ogham<