@speclynx/apidom-parser-adapter-openapi-json-3-1 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomParserAdapterOpenApiJson3_1=t():e.apidomParserAdapterOpenApiJson3_1=t()}(self,()=>(()=>{"use strict";var __webpack_modules__={733:(e,t,s)=>{s.r(t),s.d(t,{default:()=>r});const r=s.p+"9786785aaddf11f37840fad896531940.wasm"},994:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{TM:()=>Language,iX:()=>Parser});var __defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,"name",{value:t,configurable:!0}),SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol("INTERNAL"),C;function assertInternal(e){if(e!==INTERNAL)throw new Error("Illegal constructor")}function isPoint(e){return!!e&&"number"==typeof e.row&&"number"==typeof e.column}function setModule(e){C=e}__name(assertInternal,"assertInternal"),__name(isPoint,"isPoint"),__name(setModule,"setModule");var LookaheadIterator=class{static{__name(this,"LookaheadIterator")}0=0;language;constructor(e,t,s){assertInternal(e),this[0]=t,this.language=s}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||"ERROR"}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return!!C._ts_lookahead_iterator_reset(this[0],e[0],t)&&(this.language=e,!0)}resetState(e){return Boolean(C._ts_lookahead_iterator_reset_state(this[0],e))}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:""},"next")}}};function getText(e,t,s,r){const i=s-t;let n=e.textCallback(t,r);if(n){for(t+=n.length;t<s;){const s=e.textCallback(t,r);if(!(s&&s.length>0))break;t+=s.length,n+=s}t>s&&(n=n.slice(0,i))}return n??""}__name(getText,"getText");var Tree=class e{static{__name(this,"Tree")}0=0;textCallback;language;constructor(e,t,s,r){assertInternal(e),this[0]=t,this.language=s,this.textCallback=r}copy(){const t=C._ts_tree_copy(this[0]);return new e(INTERNAL,t,this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),marshalPoint(s+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw new TypeError("Argument must be a Tree");C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);const s=C.getValue(TRANSFER_BUFFER,"i32"),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),i=new Array(s);if(s>0){let e=r;for(let t=0;t<s;t++)i[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return i}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return s}},TreeCursor=class e{static{__name(this,"TreeCursor")}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){const t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||"ERROR"}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),1===C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])}get nodeIsMissing(){return marshalTreeCursor(this),1===C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])}get nodeText(){marshalTreeCursor(this);const e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);const s=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,s)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoLastChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoParent(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoNextSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoPreviousSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,"i32");const t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===t}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);const t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===t}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node=class{static{__name(this,"Node")}0=0;_children;_namedChildren;constructor(e,{id:t,tree:s,startIndex:r,startPosition:i,other:n}){assertInternal(e),this[0]=n,this.id=t,this.tree=s,this.startIndex=r,this.startPosition=i}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||"ERROR"}get grammarType(){return this.tree.language.types[this.grammarId]||"ERROR"}get isNamed(){return marshalNode(this),1===C._ts_node_is_named_wasm(this.tree[0])}get isExtra(){return marshalNode(this),1===C._ts_node_is_extra_wasm(this.tree[0])}get isError(){return marshalNode(this),1===C._ts_node_is_error_wasm(this.tree[0])}get isMissing(){return marshalNode(this),1===C._ts_node_is_missing_wasm(this.tree[0])}get hasChanges(){return marshalNode(this),1===C._ts_node_has_changes_wasm(this.tree[0])}get hasError(){return marshalNode(this),1===C._ts_node_has_error_wasm(this.tree[0])}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){const t=this.tree.language.fields.indexOf(e);return-1!==t?this.childForFieldId(t):null}fieldNameForChild(e){marshalNode(this);const t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);const t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){const t=this.tree.language.fields.indexOf(e);return-1!==t&&0!==t?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);const t=C.getValue(TRANSFER_BUFFER,"i32"),s=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(t);if(t>0){let e=s;for(let s=0;s<t;s++)r[s]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(s)}return r}firstChildForIndex(e){marshalNode(this);const t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,"i32"),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);const t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,"i32"),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._children=new Array(e),e>0){let s=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,s),s+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._namedChildren=new Array(e),e>0){let s=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,s),s+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,s=ZERO_POINT){Array.isArray(e)||(e=[e]);const r=[],i=this.tree.language.types;for(const t of e)"ERROR"==t&&r.push(65535);for(let t=0,s=i.length;t<s;t++)e.includes(i[t])&&r.push(t);const n=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(n+e*SIZE_OF_INT,r[e],"i32");marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],n,r.length,t.row,t.column,s.row,s.column);const o=C.getValue(TRANSFER_BUFFER,"i32"),a=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),c=new Array(o);if(o>0){let e=a;for(let t=0;t<o;t++)c[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(a),C._free(n),c}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),C.setValue(s+SIZE_OF_INT,t,"i32"),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),C.setValue(s+SIZE_OF_INT,t,"i32"),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(s,e),marshalPoint(s+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(s,e),marshalPoint(s+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){let t,s;this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex),this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,s=this.startPosition.column):(t=0,s=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(s=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=s):this.startPosition.column+=s}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);const e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,s,r,i){for(let n=0,o=i.length;n<o;n++){const o=C.getValue(s,"i32"),a=unmarshalNode(t,s+=SIZE_OF_INT);s+=SIZE_OF_NODE,i[n]={patternIndex:r,name:e.captureNames[o],node:a}}return s}function marshalNode(e,t=0){let s=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(s,e.id,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startIndex,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startPosition.row,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startPosition.column,"i32"),s+=SIZE_OF_INT,C.setValue(s,e[0],"i32")}function unmarshalNode(e,t=TRANSFER_BUFFER){const s=C.getValue(t,"i32");if(t+=SIZE_OF_INT,0===s)return null;const r=C.getValue(t,"i32");t+=SIZE_OF_INT;const i=C.getValue(t,"i32");t+=SIZE_OF_INT;const n=C.getValue(t,"i32");t+=SIZE_OF_INT;const o=C.getValue(t,"i32");return new Node(INTERNAL,{id:s,tree:e,startIndex:r,startPosition:{row:i,column:n},other:o})}function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],"i32"),C.setValue(t+1*SIZE_OF_INT,e[1],"i32"),C.setValue(t+2*SIZE_OF_INT,e[2],"i32"),C.setValue(t+3*SIZE_OF_INT,e[3],"i32")}function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,"i32"),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,"i32"),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,"i32")}function marshalPoint(e,t){C.setValue(e,t.row,"i32"),C.setValue(e+SIZE_OF_INT,t.column,"i32")}function unmarshalPoint(e){return{row:C.getValue(e,"i32")>>>0,column:C.getValue(e+SIZE_OF_INT,"i32")>>>0}}function marshalRange(e,t){marshalPoint(e,t.startPosition),marshalPoint(e+=SIZE_OF_POINT,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,"i32"),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,"i32"),e+=SIZE_OF_INT}function unmarshalRange(e){const t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,"i32")>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,"i32")>>>0,t}function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),marshalPoint(t+=SIZE_OF_POINT,e.oldEndPosition),marshalPoint(t+=SIZE_OF_POINT,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,"i32"),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,"i32"),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,"i32"),t+=SIZE_OF_INT}function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,"i32"),minor_version:C.getValue(e+=SIZE_OF_INT,"i32"),patch_version:C.getValue(e+=SIZE_OF_INT,"i32")}}__name(unmarshalCaptures,"unmarshalCaptures"),__name(marshalNode,"marshalNode"),__name(unmarshalNode,"unmarshalNode"),__name(marshalTreeCursor,"marshalTreeCursor"),__name(unmarshalTreeCursor,"unmarshalTreeCursor"),__name(marshalPoint,"marshalPoint"),__name(unmarshalPoint,"unmarshalPoint"),__name(marshalRange,"marshalRange"),__name(unmarshalRange,"unmarshalRange"),__name(marshalEdit,"marshalEdit"),__name(unmarshalLanguageMetadata,"unmarshalLanguageMetadata");var PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>"capture"===e.type,"isCaptureStep"),isStringStep=__name(e=>"string"===e.type,"isStringStep"),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,s,r,i){super(e.formatMessage(t,s)),this.kind=t,this.info=s,this.index=r,this.length=i,this.name="QueryError"}static{__name(this,"QueryError")}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,s,r){if(3!==e.length)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}"`);const i="eq?"===s||"any-eq?"===s,n=!s.startsWith("any-");if(isCaptureStep(e[2])){const s=e[1].name,o=e[2].name;r[t].push(e=>{const t=[],r=[];for(const i of e)i.name===s&&t.push(i.node),i.name===o&&r.push(i.node);const a=__name((e,t,s)=>s?e.text===t.text:e.text!==t.text,"compare");return n?t.every(e=>r.some(t=>a(e,t,i))):t.some(e=>r.some(t=>a(e,t,i)))})}else{const s=e[1].name,o=e[2].value,a=__name(e=>e.text===o,"matches"),c=__name(e=>e.text!==o,"doesNotMatch");r[t].push(e=>{const t=[];for(const r of e)r.name===s&&t.push(r.node);const r=i?a:c;return n?t.every(r):t.some(r)})}}function parseMatchPredicate(e,t,s,r){if(3!==e.length)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 2, got ${e.length-1}.`);if("capture"!==e[1].type)throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}".`);if("string"!==e[2].type)throw new Error(`Second argument of \`#${s}\` predicate must be a string. Got @${e[2].name}.`);const i="match?"===s||"any-match?"===s,n=!s.startsWith("any-"),o=e[1].name,a=new RegExp(e[2].value);r[t].push(e=>{const t=[];for(const s of e)s.name===o&&t.push(s.node.text);const s=__name((e,t)=>t?a.test(e):!a.test(e),"test");return 0===t.length?!i:n?t.every(e=>s(e,i)):t.some(e=>s(e,i))})}function parseAnyOfPredicate(e,t,s,r){if(e.length<2)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected at least 1. Got ${e.length-1}.`);if("capture"!==e[1].type)throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}".`);const i="any-of?"===s,n=e[1].name,o=e.slice(2);if(!o.every(isStringStep))throw new Error(`Arguments to \`#${s}\` predicate must be strings.".`);const a=o.map(e=>e.value);r[t].push(e=>{const t=[];for(const s of e)s.name===n&&t.push(s.node.text);return 0===t.length?!i:t.every(e=>a.includes(e))===i})}function parseIsPredicate(e,t,s,r,i){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw new Error(`Arguments to \`#${s}\` predicate must be strings.".`);const n="is?"===s?r:i;n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}function parseSetDirective(e,t,s){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw new Error('Arguments to `#set!` predicate must be strings.".');s[t]||(s[t]={}),s[t][e[1].value]=e[2]?.value??null}function parsePattern(e,t,s,r,i,n,o,a,c,l,_){if(t===PREDICATE_STEP_TYPE_CAPTURE){const e=r[s];n.push({type:"capture",name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)n.push({type:"string",value:i[s]});else if(n.length>0){if("string"!==n[0].type)throw new Error("Predicates must begin with a literal value");const t=n[0].value;switch(t){case"any-not-eq?":case"not-eq?":case"any-eq?":case"eq?":parseAnyPredicate(n,e,t,o);break;case"any-not-match?":case"not-match?":case"any-match?":case"match?":parseMatchPredicate(n,e,t,o);break;case"not-any-of?":case"any-of?":parseAnyOfPredicate(n,e,t,o);break;case"is?":case"is-not?":parseIsPredicate(n,e,t,l,_);break;case"set!":parseSetDirective(n,e,c);break;default:a[e].push({operator:t,operands:n.slice(1)})}n.length=0}}__name(parseAnyPredicate,"parseAnyPredicate"),__name(parseMatchPredicate,"parseMatchPredicate"),__name(parseAnyOfPredicate,"parseAnyOfPredicate"),__name(parseIsPredicate,"parseIsPredicate"),__name(parseSetDirective,"parseSetDirective"),__name(parsePattern,"parsePattern");var Query=class{static{__name(this,"Query")}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){const s=C.lengthBytesUTF8(t),r=C._malloc(s+1);C.stringToUTF8(t,r,s+1);const i=C._ts_query_new(e[0],r,s,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!i){const e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=C.getValue(TRANSFER_BUFFER,"i32"),i=C.UTF8ToString(r,s).length,n=t.slice(i,i+100).split("\n")[0],o=n.match(QUERY_WORD_REGEX)?.[0]??"";switch(C._free(r),e){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${i}: '${n}'...`},i,0);case QueryErrorKind.NodeName:case QueryErrorKind.FieldName:case QueryErrorKind.CaptureName:throw new QueryError(e,{word:o},i,o.length);case QueryErrorKind.PatternStructure:throw new QueryError(e,{suffix:`${i}: '${n}'...`},i,0)}}const n=C._ts_query_string_count(i),o=C._ts_query_capture_count(i),a=C._ts_query_pattern_count(i),c=new Array(o),l=new Array(a),_=new Array(n);for(let e=0;e<o;e++){const t=C._ts_query_capture_name_for_id(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");c[e]=C.UTF8ToString(t,s)}for(let e=0;e<a;e++){const t=new Array(o);for(let s=0;s<o;s++){const r=C._ts_query_capture_quantifier_for_id(i,e,s);t[s]=r}l[e]=t}for(let e=0;e<n;e++){const t=C._ts_query_string_value_for_id(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");_[e]=C.UTF8ToString(t,s)}const m=new Array(a),u=new Array(a),p=new Array(a),d=new Array(a),h=new Array(a);for(let e=0;e<a;e++){const t=C._ts_query_predicates_for_pattern(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");d[e]=[],h[e]=[];const r=new Array;let n=t;for(let t=0;t<s;t++){const t=C.getValue(n,"i32");n+=SIZE_OF_INT;const s=C.getValue(n,"i32");n+=SIZE_OF_INT,parsePattern(e,t,s,c,_,r,h,d,m,u,p)}Object.freeze(h[e]),Object.freeze(d[e]),Object.freeze(m[e]),Object.freeze(u[e]),Object.freeze(p[e])}C._free(r),this[0]=i,this.captureNames=c,this.captureQuantifiers=l,this.textPredicates=h,this.predicates=d,this.setProperties=m,this.assertedProperties=u,this.refutedProperties=p,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(e,t={}){const s=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,i=t.startIndex??0,n=t.endIndex??0,o=t.matchLimit??4294967295,a=t.maxStartDepth??4294967295,c=t.timeoutMicros??0,l=t.progressCallback;if("number"!=typeof o)throw new Error("Arguments must be numbers");if(this.matchLimit=o,0!==n&&i>n)throw new Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(s.row>r.row||s.row===r.row&&s.column>r.column))throw new Error("`startPosition` cannot be greater than `endPosition`");l&&(C.currentQueryProgressCallback=l),marshalNode(e),C._ts_query_matches_wasm(this[0],e.tree[0],s.row,s.column,r.row,r.column,i,n,o,a,c);const _=C.getValue(TRANSFER_BUFFER,"i32"),m=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),u=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),p=new Array(_);this.exceededMatchLimit=Boolean(u);let d=0,h=m;for(let t=0;t<_;t++){const t=C.getValue(h,"i32");h+=SIZE_OF_INT;const s=C.getValue(h,"i32");h+=SIZE_OF_INT;const r=new Array(s);if(h=unmarshalCaptures(this,e.tree,h,t,r),this.textPredicates[t].every(e=>e(r))){p[d]={pattern:t,patternIndex:t,captures:r};const e=this.setProperties[t];p[d].setProperties=e;const s=this.assertedProperties[t];p[d].assertedProperties=s;const i=this.refutedProperties[t];p[d].refutedProperties=i,d++}}return p.length=d,C._free(m),C.currentQueryProgressCallback=null,p}captures(e,t={}){const s=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,i=t.startIndex??0,n=t.endIndex??0,o=t.matchLimit??4294967295,a=t.maxStartDepth??4294967295,c=t.timeoutMicros??0,l=t.progressCallback;if("number"!=typeof o)throw new Error("Arguments must be numbers");if(this.matchLimit=o,0!==n&&i>n)throw new Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(s.row>r.row||s.row===r.row&&s.column>r.column))throw new Error("`startPosition` cannot be greater than `endPosition`");l&&(C.currentQueryProgressCallback=l),marshalNode(e),C._ts_query_captures_wasm(this[0],e.tree[0],s.row,s.column,r.row,r.column,i,n,o,a,c);const _=C.getValue(TRANSFER_BUFFER,"i32"),m=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),u=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),p=new Array;this.exceededMatchLimit=Boolean(u);const d=new Array;let h=m;for(let t=0;t<_;t++){const t=C.getValue(h,"i32");h+=SIZE_OF_INT;const s=C.getValue(h,"i32");h+=SIZE_OF_INT;const r=C.getValue(h,"i32");if(h+=SIZE_OF_INT,d.length=s,h=unmarshalCaptures(this,e.tree,h,t,d),this.textPredicates[t].every(e=>e(d))){const e=d[r],s=this.setProperties[t];e.setProperties=s;const i=this.assertedProperties[t];e.assertedProperties=i;const n=this.refutedProperties[t];e.refutedProperties=n,p.push(e)}}return C._free(m),C.currentQueryProgressCallback=null,p}predicatesForPattern(e){return this.predicates[e]}disableCapture(e){const t=C.lengthBytesUTF8(e),s=C._malloc(t+1);C.stringToUTF8(e,s,t+1),C._ts_query_disable_capture(this[0],s,t),C._free(s)}disablePattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],e)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],e)}endIndexForPattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],e)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(e){return this.captureNames.indexOf(e)}isPatternRooted(e){return 1===C._ts_query_is_pattern_rooted(this[0],e)}isPatternNonLocal(e){return 1===C._ts_query_is_pattern_non_local(this[0],e)}isPatternGuaranteedAtStep(e){return 1===C._ts_query_is_pattern_guaranteed_at_step(this[0],e)}},LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,"Language")}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=new Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=new Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){const t=C._ts_language_field_name_for_id(this[0],e);this.fields[e]=0!==t?C.UTF8ToString(t):null}}get name(){const e=C._ts_language_name(this[0]);return 0===e?null:C.UTF8ToString(e)}get version(){return C._ts_language_version(this[0])}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){C._ts_language_metadata(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");return 0===e?null:unmarshalLanguageMetadata(t)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){const t=this.fields.indexOf(e);return-1!==t?t:null}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){const s=C.lengthBytesUTF8(e),r=C._malloc(s+1);C.stringToUTF8(e,r,s+1);const i=C._ts_language_symbol_for_name(this[0],r,s,t?1:0);return C._free(r),i||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){const t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=C.getValue(r,"i16"),r+=SIZE_OF_SHORT}return s}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);const t=C.getValue(TRANSFER_BUFFER,"i32"),s=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(t);if(t>0){let e=s;for(let s=0;s<t;s++)r[s]=C.getValue(e,"i16"),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){const t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}query(e){return console.warn("Language.query is deprecated. Use new Query(language, source) instead."),new Query(this,e)}static async load(t){let s;if(t instanceof Uint8Array)s=Promise.resolve(t);else if(globalThis.process?.versions.node){s=(await __webpack_require__.e(167).then(__webpack_require__.t.bind(__webpack_require__,167,19))).readFile(t)}else s=fetch(t).then(e=>e.arrayBuffer().then(t=>{if(e.ok)return new Uint8Array(t);{const s=new TextDecoder("utf-8").decode(t);throw new Error(`Language.load failed with status ${e.status}.\n\n${s}`)}}));const r=await C.loadWebAssemblyModule(await s,{loadAsync:!0}),i=Object.keys(r),n=i.find(e=>LANGUAGE_FUNCTION_REGEX.test(e)&&!e.includes("external_scanner_"));if(!n)throw console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(i,null,2)}`),new Error("Language.load failed: no language function found in WASM file");const o=r[n]();return new e(INTERNAL,o)}},Module2=(()=>{var _scriptName="file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js";return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="undefined"!=typeof WorkerGlobalScope,ENVIRONMENT_IS_NODE="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){const{createRequire:e}=await __webpack_require__.e(451).then(__webpack_require__.t.bind(__webpack_require__,451,19));var require=e("file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js")}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=__name((e,t)=>{throw t},"quit_"),scriptDirectory="",readAsync,readBinary;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}if(__name(locateFile,"locateFile"),ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");"file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js".startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath("file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js"))+"/"),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),"readBinary"),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:"utf8")),"readAsync"),!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},"quit_")}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:"undefined"!=typeof document&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory=scriptDirectory.startsWith("blob:")?"":scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)},"readBinary")),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,s)=>{var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?t(r.response):s(r.status)},r.onerror=s,r.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)},"readAsync"));var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64,HEAP_DATA_VIEW;function assert(e,t){e||abort(t)}__name(assert,"assert");var runtimeInitialized=!1,isFileURI=__name(e=>e.startsWith("file://"),"isFileURI");function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e)}if(__name(updateMemoryViews,"updateMemoryViews"),Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}function preMain(){}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(preRun,"preRun"),__name(initRuntime,"initRuntime"),__name(preMain,"preMain"),__name(postRun,"postRun");var runDependencies=0,dependenciesFulfilled=null,wasmBinaryFile;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),0==runDependencies&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){Module.onAbort?.(e),err(e="Aborted("+e+")"),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject(t),t}function findWasmBinary(){return Module.locateFile?locateFile("tree-sitter.wasm"):new URL(__webpack_require__(733),__webpack_require__.b).href}function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var s=await getWasmBinary(e);return await WebAssembly.instantiate(s,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}async function instantiateAsync(e,t,s){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(r,s)}catch(e){err(`wasm streaming compile failed: ${e}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(t,s)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var s=getDylinkMetadata(t);return s.neededDynlibs&&(dynamicLibraries=s.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}function t(t){return e(t.instance,t.module)}__name(e,"receiveInstance"),addRunDependency("wasm-instantiate"),__name(t,"receiveInstantiationResult");var s=getWasmImports();if(Module.instantiateWasm)return new Promise((t,r)=>{Module.instantiateWasm(s,(s,r)=>{e(s,r),t(s.exports)})});wasmBinaryFile??=findWasmBinary();try{return t(await instantiateAsync(wasmBinary,wasmBinaryFile,s))}catch(e){return readyPromiseReject(e),Promise.reject(e)}}__name(getUniqueRunDependency,"getUniqueRunDependency"),__name(addRunDependency,"addRunDependency"),__name(removeRunDependency,"removeRunDependency"),__name(abort,"abort"),__name(findWasmBinary,"findWasmBinary"),__name(getBinarySync,"getBinarySync"),__name(getWasmBinary,"getWasmBinary"),__name(instantiateArrayBuffer,"instantiateArrayBuffer"),__name(instantiateAsync,"instantiateAsync"),__name(getWasmImports,"getWasmImports"),__name(createWasm,"createWasm");var ASM_CONSTS={};class ExitStatus{static{__name(this,"ExitStatus")}name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var s=GOT[t];return s||(s=GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(t)||(s.required=!0),s}},LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),"LE_HEAP_LOAD_F32"),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),"LE_HEAP_LOAD_F64"),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),"LE_HEAP_LOAD_I16"),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),"LE_HEAP_LOAD_I32"),LE_HEAP_LOAD_U16=__name(e=>HEAP_DATA_VIEW.getUint16(e,!0),"LE_HEAP_LOAD_U16"),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),"LE_HEAP_LOAD_U32"),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),"LE_HEAP_STORE_F32"),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),"LE_HEAP_STORE_F64"),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),"LE_HEAP_STORE_I16"),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),"LE_HEAP_STORE_I32"),LE_HEAP_STORE_U16=__name((e,t)=>HEAP_DATA_VIEW.setUint16(e,t,!0),"LE_HEAP_STORE_U16"),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),"LE_HEAP_STORE_U32"),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},"callRuntimeCallbacks"),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.unshift(e),"addOnPostRun"),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.unshift(e),"addOnPreRun"),UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=__name((e,t=0,s=NaN)=>{for(var r=t+s,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,i));for(var n="";t<i;){var o=e[t++];if(128&o){var a=63&e[t++];if(192!=(224&o)){var c=63&e[t++];if((o=224==(240&o)?(15&o)<<12|a<<6|c:(7&o)<<18|a<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(o);else{var l=o-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&o)<<6|a)}else n+=String.fromCharCode(o)}return n},"UTF8ArrayToString"),getDylinkMetadata=__name(e=>{var t=0,s=0;function r(){return e[t++]}function i(){for(var s=0,r=1;;){var i=e[t++];if(s+=(127&i)*r,r*=128,!(128&i))break}return s}function n(){var s=i();return UTF8ArrayToString(e,(t+=s)-s,s)}function o(e,t){if(e)throw new Error(t)}__name(r,"getU8"),__name(i,"getLEB"),__name(n,"getString"),__name(o,"failIf");var a="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,a);0===c.length&&(a="dylink",c=WebAssembly.Module.customSections(e,a)),o(0===c.length,"need dylink section"),s=(e=new Uint8Array(c[0])).length}else{var l=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);o(!(1836278016==l[0]||6386541==l[0]),"need to see wasm magic number"),o(0!==e[8],"need the dylink section to be first"),t=9;var _=i();s=t+_,a=n()}var m={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if("dylink"==a){m.memorySize=i(),m.memoryAlign=i(),m.tableSize=i(),m.tableAlign=i();for(var u=i(),p=0;p<u;++p){var d=n();m.neededDynlibs.push(d)}}else{o("dylink.0"!==a);for(;t<s;){var h=r(),f=i();if(1===h)m.memorySize=i(),m.memoryAlign=i(),m.tableSize=i(),m.tableAlign=i();else if(2===h)for(u=i(),p=0;p<u;++p)d=n(),m.neededDynlibs.push(d);else if(3===h)for(var g=i();g--;){var y=n();256&i()&&m.tlsExports.add(y)}else if(4===h)for(g=i();g--;){n(),y=n();1==(3&i())&&m.weakImports.add(y)}else t+=f}}return m},"getDylinkMetadata");function getValue(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return HEAP8[e];case"i16":return LE_HEAP_LOAD_I16(2*(e>>1));case"i32":return LE_HEAP_LOAD_I32(4*(e>>2));case"i64":return HEAP64[e>>3];case"float":return LE_HEAP_LOAD_F32(4*(e>>2));case"double":return LE_HEAP_LOAD_F64(8*(e>>3));case"*":return LE_HEAP_LOAD_U32(4*(e>>2));default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,"getValue");var newDSO=__name((e,t,s)=>{var r={refcount:1/0,name:e,exports:s,global:!0};return LDSO.loadedLibsByName[e]=r,null!=t&&(LDSO.loadedLibsByHandle[t]=r),r},"newDSO"),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=78224,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,"alignMemory"),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,s=t+alignMemory(e,16);return ___heap_base=s,GOT.__heap_base.value=s,t},"getMemory"),isInternalSym=__name(e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),"isInternalSym"),uleb128Encode=__name((e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},"uleb128Encode"),sigToWasmTypes=__name(e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},s={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},r=1;r<e.length;++r)s.parameters.push(t[e[r]]);return s},"sigToWasmTypes"),generateFuncType=__name((e,t)=>{var s=e.slice(0,1),r=e.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};t.push(96),uleb128Encode(r.length,t);for(var n=0;n<r.length;++n)t.push(i[r[n]]);"v"==s?t.push(0):t.push(1,i[s])},"generateFuncType"),convertJsFunctionToWasm=__name((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(sigToWasmTypes(t),e);var s=[1];generateFuncType(t,s);var r=[0,97,115,109,1,0,0,0,1];uleb128Encode(s.length,r),r.push(...s),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var i=new WebAssembly.Module(new Uint8Array(r));return new WebAssembly.Instance(i,{e:{f:e}}).exports.f},"convertJsFunctionToWasm"),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:"anyfunc"}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(e>=wasmTableMirror.length&&(wasmTableMirror.length=e+1),wasmTableMirror[e]=t=wasmTable.get(e)),t},"getWasmTableEntry"),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var s=e;s<e+t;s++){var r=getWasmTableEntry(s);r&&functionsInTableMap.set(r,s)}},"updateTableMap"),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),"getFunctionAddress"),freeTableIndexes=[],getEmptyTableSlot=__name(()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1},"getEmptyTableSlot"),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},"setWasmTableEntry"),addFunction=__name((e,t)=>{var s=getFunctionAddress(e);if(s)return s;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(s){if(!(s instanceof TypeError))throw s;var i=convertJsFunctionToWasm(e,t);setWasmTableEntry(r,i)}return functionsInTableMap.set(e,r),r},"addFunction"),updateGOT=__name((e,t)=>{for(var s in e)if(!isInternalSym(s)){var r=e[s];GOT[s]||=new WebAssembly.Global({value:"i32",mutable:!0}),(t||0==GOT[s].value)&&("function"==typeof r?GOT[s].value=addFunction(r):"number"==typeof r?GOT[s].value=r:err(`unhandled export type for '${s}': ${typeof r}`))}},"updateGOT"),relocateExports=__name((e,t,s)=>{var r={};for(var i in e){var n=e[i];"object"==typeof n&&(n=n.value),"number"==typeof n&&(n+=t),r[i]=n}return updateGOT(r,s),r},"relocateExports"),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},"isSymbolDefined"),dynCall=__name((e,t,s=[])=>getWasmTableEntry(t)(...s),"dynCall"),stackSave=__name(()=>_emscripten_stack_get_current(),"stackSave"),stackRestore=__name(e=>__emscripten_stack_restore(e),"stackRestore"),createInvokeFunction=__name(e=>(t,...s)=>{var r=stackSave();try{return dynCall(e,t,s)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),"j"==e[0])return 0n}},"createInvokeFunction"),resolveGlobalSymbol=__name((e,t=!1)=>{var s;return isSymbolDefined(e)?s=wasmImports[e]:e.startsWith("invoke_")&&(s=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:s,name:e}},"resolveGlobalSymbol"),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.unshift(e),"addOnPostCtor"),UTF8ToString=__name((e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"","UTF8ToString"),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0,moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||(t=moduleExports[e]),t}handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32(4*(handle+12>>2),memoryBase),LE_HEAP_STORE_I32(4*(handle+16>>2),metadata.memorySize),LE_HEAP_STORE_U32(4*(handle+20>>2),tableBase),LE_HEAP_STORE_I32(4*(handle+24>>2),metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize),__name(resolveSymbol,"resolveSymbol");var proxyHandler={get(e,t){switch(t){case"__memory_base":return memoryBase;case"__table_base":return tableBase}var s;if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];t in e||(e[t]=(...e)=>(s||=resolveSymbol(t),s(...e)));return e[t]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&-1!=body.indexOf("$"+arity);arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols(),__name(addEmAsm,"addEmAsm"),"__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),"void"!=cSig)for(var i in cSig=cSig.split(","),cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,"addEmJs"),moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,"postInstantiation"),flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return currentModuleWeakSymbols=metadata.weakImports,__name(loadModule,"loadModule"),flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},"loadWebAssemblyModule"),mergeLibSymbols=__name((e,t)=>{for(var[s,r]of Object.entries(e)){const e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},"setImport");e(s);const t="__main_argc_argv";"main"==s&&e(t),s==t&&e("main")}},"mergeLibSymbols"),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},"asyncLoad");function loadDynamicLibrary(e,t={global:!0,nodelete:!0},s,r){var i=LDSO.loadedLibsByName[e];if(i)return t.global?i.global||(i.global=!0,mergeLibSymbols(i.exports,e)):s&&Object.assign(s,i.exports),t.nodelete&&i.refcount!==1/0&&(i.refcount=1/0),i.refcount++,r&&(LDSO.loadedLibsByHandle[r]=i),!t.loadAsync||Promise.resolve(!0);function n(){if(r){var s=LE_HEAP_LOAD_U32(4*(r+28>>2)),i=LE_HEAP_LOAD_U32(4*(r+32>>2));if(s&&i){var n=HEAP8.slice(s,s+i);return t.loadAsync?Promise.resolve(n):n}}var o=locateFile(e);if(t.loadAsync)return asyncLoad(o);if(!readBinary)throw new Error(`${o}: file not found, and synchronous loading of external files is not available`);return readBinary(o)}function o(){return t.loadAsync?n().then(i=>loadWebAssemblyModule(i,t,e,s,r)):loadWebAssemblyModule(n(),t,e,s,r)}function a(t){i.global?mergeLibSymbols(t,e):s&&Object.assign(s,t),i.exports=t}return(i=newDSO(e,r,"loading")).refcount=t.nodelete?1/0:1,i.global=t.global,__name(n,"loadLibData"),__name(o,"getExports"),__name(a,"moduleLoaded"),t.loadAsync?o().then(e=>(a(e),!0)):(a(o()),!0)}__name(loadDynamicLibrary,"loadDynamicLibrary");var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(0==t.value){var s=resolveGlobalSymbol(e,!0).sym;if(!s&&!t.required)continue;if("function"==typeof s)t.value=addFunction(s,s.sig);else{if("number"!=typeof s)throw new Error(`bad export type for '${e}': ${typeof s}`);t.value=s}}},"reportUndefinedSymbols"),loadDylibs=__name(()=>{dynamicLibraries.length?(addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})):reportUndefinedSymbols()},"loadDylibs"),noExitRuntime=Module.noExitRuntime||!0;function setValue(e,t,s="i8"){switch(s.endsWith("*")&&(s="*"),s){case"i1":case"i8":HEAP8[e]=t;break;case"i16":LE_HEAP_STORE_I16(2*(e>>1),t);break;case"i32":LE_HEAP_STORE_I32(4*(e>>2),t);break;case"i64":HEAP64[e>>3]=BigInt(t);break;case"float":LE_HEAP_STORE_F32(4*(e>>2),t);break;case"double":LE_HEAP_STORE_F64(8*(e>>3),t);break;case"*":LE_HEAP_STORE_U32(4*(e>>2),t);break;default:abort(`invalid type for setValue: ${s}`)}}__name(setValue,"setValue");var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},78224),___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=__name(()=>abort(""),"__abort_js");__abort_js.sig="v";var _emscripten_get_now=__name(()=>performance.now(),"_emscripten_get_now");_emscripten_get_now.sig="d";var _emscripten_date_now=__name(()=>Date.now(),"_emscripten_date_now");_emscripten_date_now.sig="d";var nowIsMonotonic=1,checkWasiClock=__name(e=>e>=0&&e<=3,"checkWasiClock"),INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),"bigintToI53Checked");function _clock_time_get(e,t,s){if(t=bigintToI53Checked(t),!checkWasiClock(e))return 28;var r;if(0===e)r=_emscripten_date_now();else{if(!nowIsMonotonic)return 52;r=_emscripten_get_now()}var i=Math.round(1e3*r*1e3);return HEAP64[s>>3]=BigInt(i),0}__name(_clock_time_get,"_clock_time_get"),_clock_time_get.sig="iijp";var getHeapMax=__name(()=>2147483648,"getHeapMax"),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(e){}},"growMemory"),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var s=getHeapMax();if(e>s)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var n=Math.min(s,alignMemory(Math.max(e,i),65536));if(growMemory(n))return!0}return!1},"_emscripten_resize_heap");_emscripten_resize_heap.sig="ip";var _fd_close=__name(e=>52,"_fd_close");function _fd_seek(e,t,s,r){return t=bigintToI53Checked(t),70}_fd_close.sig="ii",__name(_fd_seek,"_fd_seek"),_fd_seek.sig="iijip";var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var s=printCharBuffers[e];0===t||10===t?((1===e?out:err)(UTF8ArrayToString(s)),s.length=0):s.push(t)},"printChar"),flush_NO_FILESYSTEM=__name(()=>{printCharBuffers[1].length&&printChar(1,10),printCharBuffers[2].length&&printChar(2,10)},"flush_NO_FILESYSTEM"),SYSCALLS={varargs:void 0,getStr:e=>UTF8ToString(e)},_fd_write=__name((e,t,s,r)=>{for(var i=0,n=0;n<s;n++){var o=LE_HEAP_LOAD_U32(4*(t>>2)),a=LE_HEAP_LOAD_U32(4*(t+4>>2));t+=8;for(var c=0;c<a;c++)printChar(e,HEAPU8[o+c]);i+=a}return LE_HEAP_STORE_U32(4*(r>>2),i),0},"_fd_write");function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){const s=UTF8ToString(t);Module.currentLogCallback(s,0!==e)}}function _tree_sitter_parse_callback(e,t,s,r,i){const n=Module.currentParseCallback(t,{row:s,column:r});"string"==typeof n?(setValue(i,n.length,"i32"),stringToUTF16(n,e,10240)):setValue(i,0,"i32")}function _tree_sitter_progress_callback(e,t){return!!Module.currentProgressCallback&&Module.currentProgressCallback({currentOffset:e,hasError:t})}function _tree_sitter_query_progress_callback(e){return!!Module.currentQueryProgressCallback&&Module.currentQueryProgressCallback({currentOffset:e})}_fd_write.sig="iippp",__name(_tree_sitter_log_callback,"_tree_sitter_log_callback"),__name(_tree_sitter_parse_callback,"_tree_sitter_parse_callback"),__name(_tree_sitter_progress_callback,"_tree_sitter_progress_callback"),__name(_tree_sitter_query_progress_callback,"_tree_sitter_query_progress_callback");var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,"keepRuntimeAlive"),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},"_proc_exit");_proc_exit.sig="vi";var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},"exitJS"),handleException=__name(e=>{if(e instanceof ExitStatus||"unwind"==e)return EXITSTATUS;quit_(1,e)},"handleException"),lengthBytesUTF8=__name(e=>{for(var t=0,s=0;s<e.length;++s){var r=e.charCodeAt(s);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++s):t+=3}return t},"lengthBytesUTF8"),stringToUTF8Array=__name((e,t,s,r)=>{if(!(r>0))return 0;for(var i=s,n=s+r-1,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(s>=n)break;t[s++]=a}else if(a<=2047){if(s+1>=n)break;t[s++]=192|a>>6,t[s++]=128|63&a}else if(a<=65535){if(s+2>=n)break;t[s++]=224|a>>12,t[s++]=128|a>>6&63,t[s++]=128|63&a}else{if(s+3>=n)break;t[s++]=240|a>>18,t[s++]=128|a>>12&63,t[s++]=128|a>>6&63,t[s++]=128|63&a}}return t[s]=0,s-i},"stringToUTF8Array"),stringToUTF8=__name((e,t,s)=>stringToUTF8Array(e,HEAPU8,t,s),"stringToUTF8"),stackAlloc=__name(e=>__emscripten_stack_alloc(e),"stackAlloc"),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,s=stackAlloc(t);return stringToUTF8(e,s,t),s},"stringToUTF8OnStack"),AsciiToString=__name(e=>{for(var t="";;){var s=HEAPU8[e++];if(!s)return t;t+=String.fromCharCode(s)}},"AsciiToString"),stringToUTF16=__name((e,t,s)=>{if(s??=2147483647,s<2)return 0;for(var r=t,i=(s-=2)<2*e.length?s/2:e.length,n=0;n<i;++n){var o=e.charCodeAt(n);LE_HEAP_STORE_I16(2*(t>>1),o),t+=2}return LE_HEAP_STORE_I16(2*(t>>1),0),t-r},"stringToUTF16"),wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,clock_time_get:_clock_time_get,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback},wasmExports=await createWasm(),___wasm_call_ctors=wasmExports.__wasm_call_ctors,_malloc=Module._malloc=wasmExports.malloc,_calloc=Module._calloc=wasmExports.calloc,_realloc=Module._realloc=wasmExports.realloc,_free=Module._free=wasmExports.free,_memcmp=Module._memcmp=wasmExports.memcmp,_ts_language_symbol_count=Module._ts_language_symbol_count=wasmExports.ts_language_symbol_count,_ts_language_state_count=Module._ts_language_state_count=wasmExports.ts_language_state_count,_ts_language_version=Module._ts_language_version=wasmExports.ts_language_version,_ts_language_abi_version=Module._ts_language_abi_version=wasmExports.ts_language_abi_version,_ts_language_metadata=Module._ts_language_metadata=wasmExports.ts_language_metadata,_ts_language_name=Module._ts_language_name=wasmExports.ts_language_name,_ts_language_field_count=Module._ts_language_field_count=wasmExports.ts_language_field_count,_ts_language_next_state=Module._ts_language_next_state=wasmExports.ts_language_next_state,_ts_language_symbol_name=Module._ts_language_symbol_name=wasmExports.ts_language_symbol_name,_ts_language_symbol_for_name=Module._ts_language_symbol_for_name=wasmExports.ts_language_symbol_for_name,_strncmp=Module._strncmp=wasmExports.strncmp,_ts_language_symbol_type=Module._ts_language_symbol_type=wasmExports.ts_language_symbol_type,_ts_language_field_name_for_id=Module._ts_language_field_name_for_id=wasmExports.ts_language_field_name_for_id,_ts_lookahead_iterator_new=Module._ts_lookahead_iterator_new=wasmExports.ts_lookahead_iterator_new,_ts_lookahead_iterator_delete=Module._ts_lookahead_iterator_delete=wasmExports.ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state=Module._ts_lookahead_iterator_reset_state=wasmExports.ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset=Module._ts_lookahead_iterator_reset=wasmExports.ts_lookahead_iterator_reset,_ts_lookahead_iterator_next=Module._ts_lookahead_iterator_next=wasmExports.ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol=Module._ts_lookahead_iterator_current_symbol=wasmExports.ts_lookahead_iterator_current_symbol,_ts_parser_delete=Module._ts_parser_delete=wasmExports.ts_parser_delete,_ts_parser_reset=Module._ts_parser_reset=wasmExports.ts_parser_reset,_ts_parser_set_language=Module._ts_parser_set_language=wasmExports.ts_parser_set_language,_ts_parser_timeout_micros=Module._ts_parser_timeout_micros=wasmExports.ts_parser_timeout_micros,_ts_parser_set_timeout_micros=Module._ts_parser_set_timeout_micros=wasmExports.ts_parser_set_timeout_micros,_ts_parser_set_included_ranges=Module._ts_parser_set_included_ranges=wasmExports.ts_parser_set_included_ranges,_ts_query_new=Module._ts_query_new=wasmExports.ts_query_new,_ts_query_delete=Module._ts_query_delete=wasmExports.ts_query_delete,_iswspace=Module._iswspace=wasmExports.iswspace,_iswalnum=Module._iswalnum=wasmExports.iswalnum,_ts_query_pattern_count=Module._ts_query_pattern_count=wasmExports.ts_query_pattern_count,_ts_query_capture_count=Module._ts_query_capture_count=wasmExports.ts_query_capture_count,_ts_query_string_count=Module._ts_query_string_count=wasmExports.ts_query_string_count,_ts_query_capture_name_for_id=Module._ts_query_capture_name_for_id=wasmExports.ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id=Module._ts_query_capture_quantifier_for_id=wasmExports.ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id=Module._ts_query_string_value_for_id=wasmExports.ts_query_string_value_for_id,_ts_query_predicates_for_pattern=Module._ts_query_predicates_for_pattern=wasmExports.ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern=Module._ts_query_start_byte_for_pattern=wasmExports.ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern=Module._ts_query_end_byte_for_pattern=wasmExports.ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted=Module._ts_query_is_pattern_rooted=wasmExports.ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local=Module._ts_query_is_pattern_non_local=wasmExports.ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step=Module._ts_query_is_pattern_guaranteed_at_step=wasmExports.ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture=Module._ts_query_disable_capture=wasmExports.ts_query_disable_capture,_ts_query_disable_pattern=Module._ts_query_disable_pattern=wasmExports.ts_query_disable_pattern,_ts_tree_copy=Module._ts_tree_copy=wasmExports.ts_tree_copy,_ts_tree_delete=Module._ts_tree_delete=wasmExports.ts_tree_delete,_ts_init=Module._ts_init=wasmExports.ts_init,_ts_parser_new_wasm=Module._ts_parser_new_wasm=wasmExports.ts_parser_new_wasm,_ts_parser_enable_logger_wasm=Module._ts_parser_enable_logger_wasm=wasmExports.ts_parser_enable_logger_wasm,_ts_parser_parse_wasm=Module._ts_parser_parse_wasm=wasmExports.ts_parser_parse_wasm,_ts_parser_included_ranges_wasm=Module._ts_parser_included_ranges_wasm=wasmExports.ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm=Module._ts_language_type_is_named_wasm=wasmExports.ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm=Module._ts_language_type_is_visible_wasm=wasmExports.ts_language_type_is_visible_wasm,_ts_language_supertypes_wasm=Module._ts_language_supertypes_wasm=wasmExports.ts_language_supertypes_wasm,_ts_language_subtypes_wasm=Module._ts_language_subtypes_wasm=wasmExports.ts_language_subtypes_wasm,_ts_tree_root_node_wasm=Module._ts_tree_root_node_wasm=wasmExports.ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm=Module._ts_tree_root_node_with_offset_wasm=wasmExports.ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm=Module._ts_tree_edit_wasm=wasmExports.ts_tree_edit_wasm,_ts_tree_included_ranges_wasm=Module._ts_tree_included_ranges_wasm=wasmExports.ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm=Module._ts_tree_get_changed_ranges_wasm=wasmExports.ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm=Module._ts_tree_cursor_new_wasm=wasmExports.ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm=Module._ts_tree_cursor_copy_wasm=wasmExports.ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm=Module._ts_tree_cursor_delete_wasm=wasmExports.ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm=Module._ts_tree_cursor_reset_wasm=wasmExports.ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm=Module._ts_tree_cursor_reset_to_wasm=wasmExports.ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm=Module._ts_tree_cursor_goto_first_child_wasm=wasmExports.ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm=Module._ts_tree_cursor_goto_last_child_wasm=wasmExports.ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm=Module._ts_tree_cursor_goto_first_child_for_index_wasm=wasmExports.ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm=Module._ts_tree_cursor_goto_first_child_for_position_wasm=wasmExports.ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm=Module._ts_tree_cursor_goto_next_sibling_wasm=wasmExports.ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm=Module._ts_tree_cursor_goto_previous_sibling_wasm=wasmExports.ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm=Module._ts_tree_cursor_goto_descendant_wasm=wasmExports.ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm=Module._ts_tree_cursor_goto_parent_wasm=wasmExports.ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm=Module._ts_tree_cursor_current_node_type_id_wasm=wasmExports.ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm=Module._ts_tree_cursor_current_node_state_id_wasm=wasmExports.ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm=Module._ts_tree_cursor_current_node_is_named_wasm=wasmExports.ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm=Module._ts_tree_cursor_current_node_is_missing_wasm=wasmExports.ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm=Module._ts_tree_cursor_current_node_id_wasm=wasmExports.ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm=Module._ts_tree_cursor_start_position_wasm=wasmExports.ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm=Module._ts_tree_cursor_end_position_wasm=wasmExports.ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm=Module._ts_tree_cursor_start_index_wasm=wasmExports.ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm=Module._ts_tree_cursor_end_index_wasm=wasmExports.ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm=Module._ts_tree_cursor_current_field_id_wasm=wasmExports.ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm=Module._ts_tree_cursor_current_depth_wasm=wasmExports.ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm=Module._ts_tree_cursor_current_descendant_index_wasm=wasmExports.ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm=Module._ts_tree_cursor_current_node_wasm=wasmExports.ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm=Module._ts_node_symbol_wasm=wasmExports.ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm=Module._ts_node_field_name_for_child_wasm=wasmExports.ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm=Module._ts_node_field_name_for_named_child_wasm=wasmExports.ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm=Module._ts_node_children_by_field_id_wasm=wasmExports.ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm=Module._ts_node_first_child_for_byte_wasm=wasmExports.ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm=Module._ts_node_first_named_child_for_byte_wasm=wasmExports.ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm=Module._ts_node_grammar_symbol_wasm=wasmExports.ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm=Module._ts_node_child_count_wasm=wasmExports.ts_node_child_count_wasm,_ts_node_named_child_count_wasm=Module._ts_node_named_child_count_wasm=wasmExports.ts_node_named_child_count_wasm,_ts_node_child_wasm=Module._ts_node_child_wasm=wasmExports.ts_node_child_wasm,_ts_node_named_child_wasm=Module._ts_node_named_child_wasm=wasmExports.ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm=Module._ts_node_child_by_field_id_wasm=wasmExports.ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm=Module._ts_node_next_sibling_wasm=wasmExports.ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm=Module._ts_node_prev_sibling_wasm=wasmExports.ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm=Module._ts_node_next_named_sibling_wasm=wasmExports.ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm=Module._ts_node_prev_named_sibling_wasm=wasmExports.ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm=Module._ts_node_descendant_count_wasm=wasmExports.ts_node_descendant_count_wasm,_ts_node_parent_wasm=Module._ts_node_parent_wasm=wasmExports.ts_node_parent_wasm,_ts_node_child_with_descendant_wasm=Module._ts_node_child_with_descendant_wasm=wasmExports.ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm=Module._ts_node_descendant_for_index_wasm=wasmExports.ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm=Module._ts_node_named_descendant_for_index_wasm=wasmExports.ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm=Module._ts_node_descendant_for_position_wasm=wasmExports.ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm=Module._ts_node_named_descendant_for_position_wasm=wasmExports.ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm=Module._ts_node_start_point_wasm=wasmExports.ts_node_start_point_wasm,_ts_node_end_point_wasm=Module._ts_node_end_point_wasm=wasmExports.ts_node_end_point_wasm,_ts_node_start_index_wasm=Module._ts_node_start_index_wasm=wasmExports.ts_node_start_index_wasm,_ts_node_end_index_wasm=Module._ts_node_end_index_wasm=wasmExports.ts_node_end_index_wasm,_ts_node_to_string_wasm=Module._ts_node_to_string_wasm=wasmExports.ts_node_to_string_wasm,_ts_node_children_wasm=Module._ts_node_children_wasm=wasmExports.ts_node_children_wasm,_ts_node_named_children_wasm=Module._ts_node_named_children_wasm=wasmExports.ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm=Module._ts_node_descendants_of_type_wasm=wasmExports.ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm=Module._ts_node_is_named_wasm=wasmExports.ts_node_is_named_wasm,_ts_node_has_changes_wasm=Module._ts_node_has_changes_wasm=wasmExports.ts_node_has_changes_wasm,_ts_node_has_error_wasm=Module._ts_node_has_error_wasm=wasmExports.ts_node_has_error_wasm,_ts_node_is_error_wasm=Module._ts_node_is_error_wasm=wasmExports.ts_node_is_error_wasm,_ts_node_is_missing_wasm=Module._ts_node_is_missing_wasm=wasmExports.ts_node_is_missing_wasm,_ts_node_is_extra_wasm=Module._ts_node_is_extra_wasm=wasmExports.ts_node_is_extra_wasm,_ts_node_parse_state_wasm=Module._ts_node_parse_state_wasm=wasmExports.ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm=Module._ts_node_next_parse_state_wasm=wasmExports.ts_node_next_parse_state_wasm,_ts_query_matches_wasm=Module._ts_query_matches_wasm=wasmExports.ts_query_matches_wasm,_ts_query_captures_wasm=Module._ts_query_captures_wasm=wasmExports.ts_query_captures_wasm,_memset=Module._memset=wasmExports.memset,_memcpy=Module._memcpy=wasmExports.memcpy,_memmove=Module._memmove=wasmExports.memmove,_iswalpha=Module._iswalpha=wasmExports.iswalpha,_iswblank=Module._iswblank=wasmExports.iswblank,_iswdigit=Module._iswdigit=wasmExports.iswdigit,_iswlower=Module._iswlower=wasmExports.iswlower,_iswupper=Module._iswupper=wasmExports.iswupper,_iswxdigit=Module._iswxdigit=wasmExports.iswxdigit,_memchr=Module._memchr=wasmExports.memchr,_strlen=Module._strlen=wasmExports.strlen,_strcmp=Module._strcmp=wasmExports.strcmp,_strncat=Module._strncat=wasmExports.strncat,_strncpy=Module._strncpy=wasmExports.strncpy,_towlower=Module._towlower=wasmExports.towlower,_towupper=Module._towupper=wasmExports.towupper,_setThrew=wasmExports.setThrew,__emscripten_stack_restore=wasmExports._emscripten_stack_restore,__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc,_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current,___wasm_apply_data_relocs=wasmExports.__wasm_apply_data_relocs;function callMain(e=[]){var t=resolveGlobalSymbol("main").sym;if(t){e.unshift(thisProgram);var s=e.length,r=stackAlloc(4*(s+1)),i=r;e.forEach(e=>{LE_HEAP_STORE_U32(4*(i>>2),stringToUTF8OnStack(e)),i+=4}),LE_HEAP_STORE_U32(4*(i>>2),0);try{var n=t(s,r);return exitJS(n,!0),n}catch(e){return handleException(e)}}}function run(e=arguments_){function t(){(Module.calledRun=!0,ABORT)||(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}runDependencies>0?dependenciesFulfilled=run:(preRun(),runDependencies>0?dependenciesFulfilled=run:(__name(t,"doRun"),Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),t()},1)):t()))}if(Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,__name(callMain,"callMain"),__name(run,"run"),Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();return run(),moduleRtn=readyPromise,moduleRtn}})(),tree_sitter_default=Module2,Module3=null,TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION;async function initializeBinding(e){return Module3||(Module3=await tree_sitter_default(e)),Module3}function checkModule(){return!!Module3}__name(initializeBinding,"initializeBinding"),__name(checkModule,"checkModule");var Parser=class{static{__name(this,"Parser")}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,"i32"),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}constructor(){this.initialize()}initialize(){if(!checkModule())throw new Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,"i32"),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(e){if(e.constructor!==Language)throw new Error("Argument must be a Language");{t=e[0];const s=C._ts_language_version(t);if(s<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<s)throw new Error(`Incompatible language version ${s}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}}else t=0,this.language=null;return C._ts_parser_set_language(this[0],t),this}parse(e,t,s){if("string"==typeof e)C.currentParseCallback=t=>e.slice(t);else{if("function"!=typeof e)throw new Error("Argument must be a string or a function");C.currentParseCallback=e}C.currentProgressCallback=s?.progressCallback?s.progressCallback:null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,i=0;if(s?.includedRanges){r=s.includedRanges.length,i=C._calloc(r,SIZE_OF_RANGE);let e=i;for(let t=0;t<r;t++)marshalRange(e,s.includedRanges[t]),e+=SIZE_OF_RANGE}const n=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,i,r);if(!n)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw new Error("Parser must have a language to parse");const o=new Tree(INTERNAL,n,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,o}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return s}getTimeoutMicros(){return C._ts_parser_timeout_micros(this[0])}setTimeoutMicros(e){C._ts_parser_set_timeout_micros(this[0],0,e)}setLogger(e){if(e){if("function"!=typeof e)throw new Error("Logger callback must be a function");this.logCallback=e}else this.logCallback=null;return this}getLogger(){return this.logCallback}}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.m=__webpack_modules__,getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var s=Object.create(null);__webpack_require__.r(s);var r={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~leafPrototypes.indexOf(i);i=getProto(i))Object.getOwnPropertyNames(i).forEach(t=>r[t]=()=>e[t]);return r.default=()=>e,__webpack_require__.d(s,r),s},__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,s)=>(__webpack_require__.f[s](e,t),t),[])),__webpack_require__.u=e=>e+".apidom-parser-adapter-openapi-json-3-1.browser.min.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="apidomParserAdapterOpenApiJson3_1:",__webpack_require__.l=(e,t,s,r)=>{if(inProgress[e])inProgress[e].push(t);else{var i,n;if(void 0!==s)for(var o=document.getElementsByTagName("script"),a=0;a<o.length;a++){var c=o[a];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==dataWebpackPrefix+s){i=c;break}}i||(n=!0,(i=document.createElement("script")).charset="utf-8",__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",dataWebpackPrefix+s),i.src=e),inProgress[e]=[t];var l=(t,s)=>{i.onerror=i.onload=null,clearTimeout(_);var r=inProgress[e];if(delete inProgress[e],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach(e=>e(s)),t)return t(s)},_=setTimeout(l.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),n&&document.head.appendChild(i)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{__webpack_require__.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={792:0};__webpack_require__.f.j=(t,s)=>{var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var i=new Promise((s,i)=>r=e[t]=[s,i]);s.push(r[2]=i);var n=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(n,s=>{if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=s&&("load"===s.type?"missing":s.type),n=s&&s.target&&s.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+n+")",o.name="ChunkLoadError",o.type=i,o.request=n,r[1](o)}},"chunk-"+t,t)}};var t=(t,s)=>{var r,i,[n,o,a]=s,c=0;if(n.some(t=>0!==e[t])){for(r in o)__webpack_require__.o(o,r)&&(__webpack_require__.m[r]=o[r]);if(a)a(__webpack_require__)}for(t&&t(s);c<n.length;c++)i=n[c],__webpack_require__.o(e,i)&&e[i]&&e[i][0](),e[i]=0},s=self.webpackChunkapidomParserAdapterOpenApiJson3_1=self.webpackChunkapidomParserAdapterOpenApiJson3_1||[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{detect:()=>src_adapter_detect,detectionRegExp:()=>src_adapter_detectionRegExp,mediaTypes:()=>src_media_types_0,namespace:()=>adapter_namespace,parse:()=>src_adapter_parse});var apidom_ns_openapi_3_1_src_predicates_namespaceObject={};__webpack_require__.r(apidom_ns_openapi_3_1_src_predicates_namespaceObject),__webpack_require__.d(apidom_ns_openapi_3_1_src_predicates_namespaceObject,{isBooleanJsonSchemaElement:()=>predicates_isBooleanJsonSchemaElement,isCallbackElement:()=>predicates_isCallbackElement,isComponentsElement:()=>predicates_isComponentsElement,isContactElement:()=>predicates_isContactElement,isExampleElement:()=>predicates_isExampleElement,isExternalDocumentationElement:()=>predicates_isExternalDocumentationElement,isHeaderElement:()=>predicates_isHeaderElement,isInfoElement:()=>predicates_isInfoElement,isJsonSchemaDialectElement:()=>isJsonSchemaDialectElement,isLicenseElement:()=>predicates_isLicenseElement,isLinkElement:()=>src_predicates_isLinkElement,isMediaTypeElement:()=>predicates_isMediaTypeElement,isOpenApi3_1Element:()=>isOpenApi3_1Element,isOpenapiElement:()=>predicates_isOpenapiElement,isOperationElement:()=>predicates_isOperationElement,isParameterElement:()=>predicates_isParameterElement,isPathItemElement:()=>predicates_isPathItemElement,isPathItemElementExternal:()=>isPathItemElementExternal,isPathsElement:()=>predicates_isPathsElement,isReferenceElement:()=>predicates_isReferenceElement,isReferenceElementExternal:()=>isReferenceElementExternal,isRequestBodyElement:()=>predicates_isRequestBodyElement,isResponseElement:()=>predicates_isResponseElement,isResponsesElement:()=>predicates_isResponsesElement,isSchemaElement:()=>predicates_isSchemaElement,isSecurityRequirementElement:()=>predicates_isSecurityRequirementElement,isSecuritySchemeElement:()=>predicates_isSecuritySchemeElement,isServerElement:()=>predicates_isServerElement,isServerVariableElement:()=>predicates_isServerVariableElement});var apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject={};function _isPlaceholder(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function _curry1(e){return function t(s){return 0===arguments.length||_isPlaceholder(s)?t:e.apply(this,arguments)}}function _curry2(e){return function t(s,r){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(s)?t:_curry1(function(t){return e(s,t)});default:return _isPlaceholder(s)&&_isPlaceholder(r)?t:_isPlaceholder(s)?_curry1(function(t){return e(t,r)}):_isPlaceholder(r)?_curry1(function(t){return e(s,t)}):e(s,r)}}}function _curry3(e){return function t(s,r,i){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(s)?t:_curry2(function(t,r){return e(s,t,r)});case 2:return _isPlaceholder(s)&&_isPlaceholder(r)?t:_isPlaceholder(s)?_curry2(function(t,s){return e(t,r,s)}):_isPlaceholder(r)?_curry2(function(t,r){return e(s,t,r)}):_curry1(function(t){return e(s,r,t)});default:return _isPlaceholder(s)&&_isPlaceholder(r)&&_isPlaceholder(i)?t:_isPlaceholder(s)&&_isPlaceholder(r)?_curry2(function(t,s){return e(t,s,i)}):_isPlaceholder(s)&&_isPlaceholder(i)?_curry2(function(t,s){return e(t,r,s)}):_isPlaceholder(r)&&_isPlaceholder(i)?_curry2(function(t,r){return e(s,t,r)}):_isPlaceholder(s)?_curry1(function(t){return e(t,r,i)}):_isPlaceholder(r)?_curry1(function(t){return e(s,t,i)}):_isPlaceholder(i)?_curry1(function(t){return e(s,r,t)}):e(s,r,i)}}}__webpack_require__.r(apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject),__webpack_require__.d(apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject,{isOpenApiExtension:()=>predicates_isOpenApiExtension,isReferenceLikeElement:()=>predicates_isReferenceLikeElement,isServerLikeElement:()=>predicates_isServerLikeElement,isTagLikeElement:()=>predicates_isTagLikeElement});var defaultTo=_curry2(function(e,t){return null==t||t!=t?e:t});const es_defaultTo=defaultTo,_isInteger=Number.isInteger||function(e){return(e|0)===e};function _nth(e,t){return t[e<0?t.length+e:e]}function _prop(e,t){if(null!=t)return _isInteger(e)?_nth(e,t):t[e]}const internal_prop=_prop;var prop=_curry2(internal_prop);const es_prop=prop;var propOr=_curry3(function(e,t,s){return es_defaultTo(e,es_prop(t,s))});const es_propOr=propOr;var omit=_curry2(function(e,t){for(var s={},r={},i=0,n=e.length;i<n;)r[e[i]]=1,i+=1;for(var o in t)r.hasOwnProperty(o)||(s[o]=t[o]);return s});const es_omit=omit;function _arrayReduce(e,t,s){for(var r=0,i=s.length;r<i;)t=e(t,s[r]),r+=1;return t}function _concat(e,t){var s;t=t||[];var r=(e=e||[]).length,i=t.length,n=[];for(s=0;s<r;)n[n.length]=e[s],s+=1;for(s=0;s<i;)n[n.length]=t[s],s+=1;return n}const _isArray=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function _isString(e){return"[object String]"===Object.prototype.toString.call(e)}var _isArrayLike=_curry1(function(e){return!!_isArray(e)||!!e&&("object"==typeof e&&(!_isString(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});const internal_isArrayLike=_isArrayLike;var symIterator="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function _createReduce(e,t,s){return function(r,i,n){if(internal_isArrayLike(n))return e(r,i,n);if(null==n)return i;if("function"==typeof n["fantasy-land/reduce"])return t(r,i,n,"fantasy-land/reduce");if(null!=n[symIterator])return s(r,i,n[symIterator]());if("function"==typeof n.next)return s(r,i,n);if("function"==typeof n.reduce)return t(r,i,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function _iterableReduce(e,t,s){for(var r=s.next();!r.done;)t=e(t,r.value),r=s.next();return t}function _methodReduce(e,t,s,r){return s[r](e,t)}var _reduce=_createReduce(_arrayReduce,_methodReduce,_iterableReduce);const internal_reduce=_reduce;function _isTransformer(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function _dispatchable(e,t,s){return function(){if(0===arguments.length)return s();var r=arguments[arguments.length-1];if(!_isArray(r)){for(var i=0;i<e.length;){if("function"==typeof r[e[i]])return r[e[i]].apply(r,Array.prototype.slice.call(arguments,0,-1));i+=1}if(_isTransformer(r))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(r)}return s.apply(this,arguments)}}function _map(e,t){for(var s=0,r=t.length,i=Array(r);s<r;)i[s]=e(t[s]),s+=1;return i}const _xfBase={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}};var XMap=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),_xmap=function(e){return function(t){return new XMap(e,t)}};const internal_xmap=_xmap;function _arity(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,s){return t.apply(this,arguments)};case 3:return function(e,s,r){return t.apply(this,arguments)};case 4:return function(e,s,r,i){return t.apply(this,arguments)};case 5:return function(e,s,r,i,n){return t.apply(this,arguments)};case 6:return function(e,s,r,i,n,o){return t.apply(this,arguments)};case 7:return function(e,s,r,i,n,o,a){return t.apply(this,arguments)};case 8:return function(e,s,r,i,n,o,a,c){return t.apply(this,arguments)};case 9:return function(e,s,r,i,n,o,a,c,l){return t.apply(this,arguments)};case 10:return function(e,s,r,i,n,o,a,c,l,_){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function _curryN(e,t,s){return function(){for(var r=[],i=0,n=e,o=0,a=!1;o<t.length||i<arguments.length;){var c;o<t.length&&(!_isPlaceholder(t[o])||i>=arguments.length)?c=t[o]:(c=arguments[i],i+=1),r[o]=c,_isPlaceholder(c)?a=!0:n-=1,o+=1}return!a&&n<=0?s.apply(this,r):_arity(Math.max(0,n),_curryN(e,r,s))}}var curryN=_curry2(function(e,t){return 1===e?_curry1(t):_arity(e,_curryN(e,[],t))});const es_curryN=curryN;function _has(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var _isArguments_toString=Object.prototype.toString,_isArguments=function(){return"[object Arguments]"===_isArguments_toString.call(arguments)?function(e){return"[object Arguments]"===_isArguments_toString.call(e)}:function(e){return _has("callee",e)}}();const internal_isArguments=_isArguments;var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hasArgsEnumBug=function(){return arguments.propertyIsEnumerable("length")}(),contains=function(e,t){for(var s=0;s<e.length;){if(e[s]===t)return!0;s+=1}return!1},keys="function"!=typeof Object.keys||hasArgsEnumBug?_curry1(function(e){if(Object(e)!==e)return[];var t,s,r=[],i=hasArgsEnumBug&&internal_isArguments(e);for(t in e)!_has(t,e)||i&&"length"===t||(r[r.length]=t);if(hasEnumBug)for(s=nonEnumerableProps.length-1;s>=0;)_has(t=nonEnumerableProps[s],e)&&!contains(r,t)&&(r[r.length]=t),s-=1;return r}):_curry1(function(e){return Object(e)!==e?[]:Object.keys(e)});const es_keys=keys;var map=_curry2(_dispatchable(["fantasy-land/map","map"],internal_xmap,function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return es_curryN(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return _arrayReduce(function(s,r){return s[r]=e(t[r]),s},{},es_keys(t));default:return _map(e,t)}}));const es_map=map;var ap=_curry2(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(s){return e(s)(t(s))}:internal_reduce(function(e,s){return _concat(e,es_map(s,t))},[],e)});const es_ap=ap;var liftN=_curry2(function(e,t){var s=es_curryN(e,t);return es_curryN(e,function(){return _arrayReduce(es_ap,es_map(s,arguments[0]),Array.prototype.slice.call(arguments,1))})});const es_liftN=liftN;var lift=_curry1(function(e){return es_liftN(e.length,e)});const es_lift=lift;var not=_curry1(function(e){return!e});const es_not=not;var complement=es_lift(es_not);const es_complement=complement;function _arrayFromIterator(e){for(var t,s=[];!(t=e.next()).done;)s.push(t.value);return s}function _includesWith(e,t,s){for(var r=0,i=s.length;r<i;){if(e(t,s[r]))return!0;r+=1}return!1}function _functionName(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}function _objectIs(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}const internal_objectIs="function"==typeof Object.is?Object.is:_objectIs;var type=_curry1(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});const es_type=type;function _uniqContentEquals(e,t,s,r){var i=_arrayFromIterator(e);function n(e,t){return _equals(e,t,s.slice(),r.slice())}return!_includesWith(function(e,t){return!_includesWith(n,t,e)},_arrayFromIterator(t),i)}function _equals(e,t,s,r){if(internal_objectIs(e,t))return!0;var i=es_type(e);if(i!==es_type(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(i){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===_functionName(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!internal_objectIs(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!internal_objectIs(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var n=s.length-1;n>=0;){if(s[n]===e)return r[n]===t;n-=1}switch(i){case"Map":return e.size===t.size&&_uniqContentEquals(e.entries(),t.entries(),s.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&_uniqContentEquals(e.values(),t.values(),s.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=es_keys(e);if(o.length!==es_keys(t).length)return!1;var a=s.concat([e]),c=r.concat([t]);for(n=o.length-1;n>=0;){var l=o[n];if(!_has(l,t)||!_equals(t[l],e[l],a,c))return!1;n-=1}return!0}var equals=_curry2(function(e,t){return _equals(e,t,[],[])});const es_equals=equals;var always=_curry1(function(e){return function(){return e}});const es_always=always;var stubUndefined=es_always(void 0);const es_stubUndefined=stubUndefined;var isUndefined=es_equals(es_stubUndefined());const es_isUndefined=isUndefined;var isNotUndefined=es_complement(es_isUndefined);const es_isNotUndefined=isNotUndefined;class KeyValuePair{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}}const src_KeyValuePair=KeyValuePair;class ObjectSlice{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(s=>{const r=s.value,i=s.key;if(void 0===r||void 0===i)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,r,i,s):e(r,i,s)})}filter(e,t){const s=this.elements.filter(s=>{const r=s.value,i=s.key;return void 0!==r&&void 0!==i&&(void 0!==t?e.call(t,r,i,s):e(r,i,s))});return new ObjectSlice(s)}reject(e,t){const s=[];for(const r of this.elements){const i=r.value,n=r.key;void 0!==i&&void 0!==n&&(e.call(t,i,n,r)||s.push(r))}return new ObjectSlice(s)}forEach(e,t){this.elements.forEach((s,r)=>{const i=s.value,n=s.key;void 0!==i&&void 0!==n&&(void 0!==t?e.call(t,i,n,s,r):e(i,n,s,r))})}find(e,t){return this.elements.find(s=>{const r=s.value,i=s.key;return void 0!==r&&void 0!==i&&(void 0!==t?e.call(t,r,i,s):e(r,i,s))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const src_ObjectSlice=ObjectSlice;class Element{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,s){void 0!==t&&(this.meta=t),void 0!==s&&(this.attributes=s),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof Element)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof src_KeyValuePair)this._content=e;else if(e instanceof src_ObjectSlice)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof Element?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof Element?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof src_KeyValuePair){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof Element?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof Element||e instanceof src_KeyValuePair?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){return es_equals(this.toValue(),e)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const s=new this.RefElement(t);return"string"==typeof e&&(s.path=this.refract(e)),s}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const primitives_Element=Element;class StringElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}}const primitives_StringElement=StringElement;class SourceMapElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:s,startOffset:r,endLine:i,endCharacter:n,endOffset:o}=e;if("number"!=typeof t||"number"!=typeof s||"number"!=typeof r||"number"!=typeof i||"number"!=typeof n||"number"!=typeof o)return;const a=packSourceMap([t,s,r,i,n,o]),c=new SourceMapElement(a);return c.startLine=t,c.startCharacter=s,c.startOffset=r,c.endLine=i,c.endCharacter=n,c.endOffset=o,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=unpackSourceMap(this.content))}}const BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function vlqEncodeInt(e){let t=e>>>0,s="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),s+=BASE64[e]}while(0!==t);return s}function vlqDecodeInt(e,t=0){let s=0,r=0,i=t;for(;;){const t=e[i++],n=BASE64.indexOf(t);if(-1===n)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(s|=(31&n)<<r,r+=5,!!!(32&n))break}return{value:s>>>0,next:i}}function packSourceMap(e){return"sm1:"+e.map(vlqEncodeInt).join("")}function unpackSourceMap(e){const t=e.startsWith("sm1:")?e.slice(4):e,s=[];let r=0;for(let e=0;e<6;e++){const e=vlqDecodeInt(t,r);s.push(e.value),r=e.next}return s}const SourceMap=SourceMapElement;class JSONSerialiser{namespace;constructor(e){this.namespace=e||new this.Namespace}serialise(e){if(!(e instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${e}\` is not an Element instance`);const t={element:e.element};if(e.isMetaEmpty||(t.meta=this.serialiseObject(e.meta)),e.isAttributesEmpty||(t.attributes=this.serialiseObject(e.attributes)),!(e instanceof SourceMap)){const s=SourceMap.from(e);s&&(t.meta||(t.meta={}),t.meta.__mappings__=this.serialise(s))}const s=this.serialiseContent(e.content);return void 0!==s&&(t.content=s),t}deserialise(e){if(!e.element)throw new Error("Given value is not an object containing an element name");const t=new(this.namespace.getElementClass(e.element));let s;t.element!==e.element&&(t.element=e.element);let r=e.meta;if(e.meta?.__mappings__){const{__mappings__:t,...i}=e.meta;s=t,r=Object.keys(i).length>0?i:void 0}if(r&&this.deserialiseObject(r,t.meta),s){this.deserialise(s).applyTo(t)}e.attributes&&this.deserialiseObject(e.attributes,t.attributes);const i=this.deserialiseContent(e.content);return void 0===i&&null!==t.content||(t.content=i),t}serialiseContent(e){if(e instanceof this.namespace.elements.Element)return this.serialise(e);if(e instanceof this.namespace.KeyValuePair){const t=e,s={key:this.serialise(t.key)};return t.value&&(s.value=this.serialise(t.value)),s}if(e&&Array.isArray(e)){if(0===e.length)return;return e.map(e=>this.serialise(e))}return e}deserialiseContent(e){if(e){if(e.element)return this.deserialise(e);if(e.key){const t=new this.namespace.KeyValuePair(this.deserialise(e.key));return e.value&&(t.value=this.deserialise(e.value)),t}if(Array.isArray(e))return e.map(e=>this.deserialise(e))}return e}serialiseObject(e){const t={};if(e.forEach((e,s)=>{e&&(t[s.toValue()]=this.serialise(e))}),0!==Object.keys(t).length)return t}deserialiseObject(e,t){Object.keys(e).forEach(s=>{t.set(s,this.deserialise(e[s]))})}}const serialisers_JSONSerialiser=JSONSerialiser;class NullElement extends primitives_Element{constructor(e,t,s){super(e??null,t,s),this.element="null"}primitive(){return"null"}set(e){throw new Error("Cannot set the value of null")}}const primitives_NullElement=NullElement;class NumberElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="number"}primitive(){return"number"}}const primitives_NumberElement=NumberElement;class BooleanElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="boolean"}primitive(){return"boolean"}}const primitives_BooleanElement=BooleanElement;class CollectionElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const s=t||{},r=!!s.recursive,i=void 0===s.results?[]:s.results;for(let t=0;t<this._content.length;t+=1){const s=this._content[t],n=s;r&&"function"==typeof n.findElements&&n.findElements(e,{results:i,recursive:r}),e(s,t,void 0)&&i.push(s)}return i}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const s=t.classes;return"function"==typeof s.includes&&s.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const primitives_CollectionElement=CollectionElement;class ArrayElement extends primitives_CollectionElement{constructor(e,t,s){super(e||[],t,s),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const s=[];for(const r of this._content){const i=e.call(t,r);i&&s.push(i)}return s}filter(e,t){const s=this._content.filter(e,t);return new this.constructor(s)}reject(e,t){const s=[];for(const r of this._content)e.call(t,r)||s.push(r);return new this.constructor(s)}reduce(e,t){let s,r;void 0!==t?(s=0,r=this.refract(t)):(s=1,r=this.first);for(let t=s;t<this.length;t+=1){const s=e(r,this._content[t],t,this);r=void 0===s?s:this.refract(s)}return r}forEach(e,t){this._content.forEach((s,r)=>{e.call(t,s,r)})}empty(){return new this.constructor([])}}const primitives_ArrayElement=ArrayElement;class MemberElement extends primitives_Element{constructor(e,t,s,r){super(new src_KeyValuePair,s,r),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}}const primitives_MemberElement=MemberElement;class ObjectElement extends primitives_CollectionElement{constructor(e,t,s){super(e||[],t,s),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(s=>s.key.toValue()!==e||(t=s,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const s=this.getMember(e);s?s.value=t:this._content.push(new primitives_MemberElement(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(s=>e.call(t,s.value,s.key,s))}compactMap(e,t){const s=[];return this.forEach((r,i,n)=>{const o=e.call(t,r,i,n);o&&s.push(o)}),s}filter(e,t){return new src_ObjectSlice(this._content).filter(e,t)}reject(e,t){const s=[];for(const r of this._content)e.call(t,r.value,r.key,r)||s.push(r);return new src_ObjectSlice(s)}forEach(e,t){this._content.forEach(s=>e.call(t,s.value,s.key,s))}reduce(e,t){let s,r;void 0!==t?(s=0,r=this.refract(t)):(s=1,r=this._content[0]?.value);for(let t=s;t<this._content.length;t+=1){const s=this._content[t],i=e(r,s.value,s.key,s,this);r=void 0===i?i:this.refract(i)}return r}empty(){return new this.constructor([])}}const primitives_ObjectElement=ObjectElement;class RefElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s),this.element="ref",this.path||(this.path="element")}get path(){if(this.hasAttributesProperty("path"))return this.attributes.get("path")}set path(e){this.attributes.set("path",e)}}const elements_RefElement=RefElement;class LinkElement_LinkElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s),this.element="link"}get relation(){if(this.hasAttributesProperty("relation"))return this.attributes.get("relation")}set relation(e){this.attributes.set("relation",e)}get href(){if(this.hasAttributesProperty("href"))return this.attributes.get("href")}set href(e){this.attributes.set("href",e)}}const elements_LinkElement=LinkElement_LinkElement,isNull=e=>null===e,isString=e=>"string"==typeof e,isNumber=e=>"number"==typeof e,isBoolean=e=>"boolean"==typeof e,isObject=e=>null!==e&&"object"==typeof e;class Namespace{elementMap={};elementDetection=[];Element;KeyValuePair;_elements;_attributeElementKeys=[];_attributeElementArrayKeys=[];constructor(e){this.Element=primitives_Element,this.KeyValuePair=src_KeyValuePair,e&&e.noDefault||this.useDefault()}use(e){return e.namespace&&e.namespace({base:this}),e.load&&e.load({base:this}),this}useDefault(){return this.register("null",primitives_NullElement).register("string",primitives_StringElement).register("number",primitives_NumberElement).register("boolean",primitives_BooleanElement).register("array",primitives_ArrayElement).register("object",primitives_ObjectElement).register("member",primitives_MemberElement).register("ref",elements_RefElement).register("link",elements_LinkElement).register("sourceMap",SourceMap),this.detect(isNull,primitives_NullElement,!1).detect(isString,primitives_StringElement,!1).detect(isNumber,primitives_NumberElement,!1).detect(isBoolean,primitives_BooleanElement,!1).detect(Array.isArray,primitives_ArrayElement,!1).detect(isObject,primitives_ObjectElement,!1),this}register(e,t){return this._elements=void 0,this.elementMap[e]=t,this}unregister(e){return this._elements=void 0,delete this.elementMap[e],this}detect(e,t,s){return void 0===s||s?this.elementDetection.unshift([e,t]):this.elementDetection.push([e,t]),this}toElement(e){if(e instanceof this.Element)return e;let t;for(const[s,r]of this.elementDetection)if(s(e)){t=new r(e);break}return t}getElementClass(e){const t=this.elementMap[e];return void 0===t?this.Element:t}fromRefract(e){return this.serialiser.deserialise(e)}toRefract(e){return this.serialiser.serialise(e)}get elements(){return void 0===this._elements&&(this._elements={Element:this.Element},Object.keys(this.elementMap).forEach(e=>{const t=e[0].toUpperCase()+e.substring(1);this._elements[t]=this.elementMap[e]})),this._elements}get serialiser(){return new serialisers_JSONSerialiser(this)}}serialisers_JSONSerialiser.prototype.Namespace=Namespace;const src_Namespace=Namespace;class ApiDOMAggregateError extends AggregateError{constructor(e,t,s){super(e,t,s),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const src_ApiDOMAggregateError=ApiDOMAggregateError;class ApiDOMError extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(src_ApiDOMAggregateError,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const src_ApiDOMError=ApiDOMError;function refractArrayItem(e){return void 0===e?new primitives_NullElement:refract(e)}function refract(e){if(e instanceof primitives_Element)return e;if("string"==typeof e)return new primitives_StringElement(e);if("number"==typeof e)return new primitives_NumberElement(e);if("boolean"==typeof e)return new primitives_BooleanElement(e);if(null===e)return new primitives_NullElement;if(Array.isArray(e))return new primitives_ArrayElement(e.map(refractArrayItem));if("object"==typeof e)return new primitives_ObjectElement(e);throw new Error("Cannot refract value of type "+typeof e)}primitives_Element.prototype.ObjectElement=primitives_ObjectElement,primitives_Element.prototype.ArrayElement=primitives_ArrayElement,primitives_Element.prototype.RefElement=elements_RefElement,primitives_Element.prototype.MemberElement=primitives_MemberElement,primitives_Element.prototype.refract=refract;const isElement=e=>e instanceof primitives_Element,isStringElement=e=>e instanceof primitives_StringElement,isNumberElement=e=>e instanceof primitives_NumberElement,isNullElement=e=>e instanceof primitives_NullElement,primitives_isBooleanElement=e=>e instanceof primitives_BooleanElement,isArrayElement=e=>e instanceof primitives_ArrayElement,isObjectElement=e=>e instanceof primitives_ObjectElement,isMemberElement=e=>e instanceof primitives_MemberElement,isPrimitiveElement=e=>isObjectElement(e)&&"object"===e.element||isArrayElement(e)&&"array"===e.element||primitives_isBooleanElement(e)&&"boolean"===e.element||isNumberElement(e)&&"number"===e.element||isStringElement(e)&&"string"===e.element||isNullElement(e)&&"null"===e.element||isMemberElement(e)&&"member"===e.element,hasElementSourceMap=e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset,includesSymbols=(e,t)=>{if(0===t.length)return!0;if(!e.hasAttributesProperty("symbols"))return!1;const s=e.attributes.get("symbols");return!!isArrayElement(s)&&t.every(e=>s.includes(e))},predicates_includesClasses=(e,t)=>0===t.length||!!isElement(e)&&(!e.isMetaEmpty&&(!!e.hasMetaProperty("classes")&&t.every(t=>e.classes.includes(t))));class ParseResultElement extends primitives_ArrayElement{constructor(e,t,s){super(e,t,s),this.element="parseResult"}get api(){return this.filter(e=>predicates_includesClasses(e,["api"])).first}get results(){return this.filter(e=>predicates_includesClasses(e,["result"]))}get result(){return this.results.first}get annotations(){return this.filter(e=>"annotation"===e.element)}get warnings(){return this.filter(e=>"annotation"===e.element&&predicates_includesClasses(e,["warning"]))}get errors(){return this.filter(e=>"annotation"===e.element&&predicates_includesClasses(e,["error"]))}get isEmpty(){return 0===this.reject(e=>"annotation"===e.element).length}replaceResult(e){const{result:t}=this;if(void 0===t)return!1;const s=this._content,r=s.findIndex(e=>e===t);return-1!==r&&(s[r]=e,!0)}}const ParseResult=ParseResultElement,detect=async e=>{try{return JSON.parse(e),!0}catch{return!1}},native_parse=async e=>{const t=refract(JSON.parse(e)),s=new ParseResult;return t.classes.push("result"),s.push(t),s};var tree_sitter=__webpack_require__(994);const treeSitter=new Uint8Array([0,97,115,109,1,0,0,0,0,16,8,100,121,108,105,110,107,46,48,1,5,140,91,4,30,0,1,191,1,26,96,1,127,1,127,96,2,127,127,1,127,96,1,127,0,96,3,127,127,127,0,96,3,127,127,127,1,127,96,2,127,127,0,96,4,127,127,127,127,1,127,96,5,127,127,127,127,127,0,96,0,0,96,4,127,127,127,127,0,96,5,127,127,127,127,127,1,127,96,0,1,127,96,8,127,127,127,127,127,127,127,127,1,127,96,7,127,127,127,127,127,127,127,0,96,11,127,127,127,127,127,127,127,127,127,127,127,0,96,6,127,124,127,127,127,127,1,127,96,3,127,126,127,1,127,96,4,127,126,127,127,1,127,96,1,127,1,126,96,2,127,126,0,96,6,127,127,127,127,127,127,0,96,4,127,127,127,127,1,126,96,3,127,126,127,1,126,96,2,124,127,1,124,96,7,127,127,127,127,127,127,127,1,127,96,2,126,127,1,127,2,212,3,16,3,101,110,118,24,116,114,101,101,95,115,105,116,116,101,114,95,108,111,103,95,99,97,108,108,98,97,99,107,0,5,3,101,110,118,26,116,114,101,101,95,115,105,116,116,101,114,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,0,7,3,101,110,118,29,116,114,101,101,95,115,105,116,116,101,114,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,0,1,3,101,110,118,35,116,114,101,101,95,115,105,116,116,101,114,95,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,0,0,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,8,102,100,95,99,108,111,115,101,0,0,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,8,102,100,95,119,114,105,116,101,0,6,3,101,110,118,9,95,97,98,111,114,116,95,106,115,0,8,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,14,99,108,111,99,107,95,116,105,109,101,95,103,101,116,0,16,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,7,102,100,95,115,101,101,107,0,17,3,101,110,118,22,101,109,115,99,114,105,112,116,101,110,95,114,101,115,105,122,101,95,104,101,97,112,0,0,3,101,110,118,15,95,95,115,116,97,99,107,95,112,111,105,110,116,101,114,3,127,1,3,101,110,118,13,95,95,109,101,109,111,114,121,95,98,97,115,101,3,127,0,3,101,110,118,12,95,95,116,97,98,108,101,95,98,97,115,101,3,127,0,7,71,79,84,46,109,101,109,11,95,95,104,101,97,112,95,98,97,115,101,3,127,1,3,101,110,118,6,109,101,109,111,114,121,2,1,128,4,128,128,2,3,101,110,118,25,95,95,105,110,100,105,114,101,99,116,95,102,117,110,99,116,105,111,110,95,116,97,98,108,101,1,112,0,30,3,151,2,149,2,8,8,8,0,1,1,7,1,2,0,0,0,0,0,0,4,1,6,1,1,4,1,2,1,4,0,0,3,0,0,0,2,5,5,2,0,5,0,12,0,0,3,9,3,3,3,1,9,7,13,5,2,2,2,1,3,18,19,4,7,3,5,3,4,1,20,9,3,6,2,1,3,12,3,7,10,0,2,10,9,2,2,2,5,1,4,0,0,0,4,4,4,4,1,1,1,1,1,3,5,11,3,5,3,1,1,5,9,10,0,4,1,4,1,1,1,1,5,5,7,5,0,0,21,0,4,0,5,0,0,2,4,4,4,4,4,3,4,11,8,5,3,10,6,0,2,1,1,2,5,2,2,2,2,5,2,2,2,2,5,0,0,0,0,0,0,5,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,1,1,5,2,2,0,0,0,5,5,5,2,2,2,2,0,2,2,2,2,2,2,2,2,0,0,0,2,2,13,0,0,0,0,0,0,0,0,14,0,14,0,22,4,8,2,4,0,5,5,4,4,5,0,0,0,4,6,0,4,4,23,24,3,0,9,25,7,15,5,6,4,1,0,2,1,5,1,0,5,0,1,0,0,2,0,11,0,0,4,0,4,4,0,1,6,57,8,127,1,65,184,211,0,11,127,1,65,176,211,0,11,127,1,65,188,211,0,11,127,1,65,180,211,0,11,127,1,65,240,212,0,11,127,1,65,128,213,0,11,127,1,65,132,219,0,11,127,1,65,136,219,0,11,7,161,33,153,1,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,0,10,6,109,97,108,108,111,99,0,137,2,6,99,97,108,108,111,99,0,141,2,7,114,101,97,108,108,111,99,0,139,2,4,102,114,101,101,0,138,2,6,109,101,109,99,109,112,0,248,1,24,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,99,111,117,110,116,0,19,23,116,115,95,108,97,110,103,117,97,103,101,95,115,116,97,116,101,95,99,111,117,110,116,0,20,19,116,115,95,108,97,110,103,117,97,103,101,95,118,101,114,115,105,111,110,0,21,23,116,115,95,108,97,110,103,117,97,103,101,95,97,98,105,95,118,101,114,115,105,111,110,0,21,20,116,115,95,108,97,110,103,117,97,103,101,95,109,101,116,97,100,97,116,97,0,22,16,116,115,95,108,97,110,103,117,97,103,101,95,110,97,109,101,0,23,23,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,99,111,117,110,116,0,24,22,116,115,95,108,97,110,103,117,97,103,101,95,110,101,120,116,95,115,116,97,116,101,0,25,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,110,97,109,101,0,26,27,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,102,111,114,95,110,97,109,101,0,27,7,115,116,114,110,99,109,112,0,251,1,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,116,121,112,101,0,28,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,105,100,0,29,25,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,119,0,31,28,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,100,101,108,101,116,101,0,32,33,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,95,115,116,97,116,101,0,33,27,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,0,34,26,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,0,35,36,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,99,117,114,114,101,110,116,95,115,121,109,98,111,108,0,36,16,116,115,95,112,97,114,115,101,114,95,100,101,108,101,116,101,0,62,15,116,115,95,112,97,114,115,101,114,95,114,101,115,101,116,0,63,22,116,115,95,112,97,114,115,101,114,95,115,101,116,95,108,97,110,103,117,97,103,101,0,64,24,116,115,95,112,97,114,115,101,114,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,0,66,28,116,115,95,112,97,114,115,101,114,95,115,101,116,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,0,67,29,116,115,95,112,97,114,115,101,114,95,115,101,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,0,68,12,116,115,95,113,117,101,114,121,95,110,101,119,0,85,15,116,115,95,113,117,101,114,121,95,100,101,108,101,116,101,0,90,8,105,115,119,115,112,97,99,101,0,247,1,8,105,115,119,97,108,110,117,109,0,245,1,22,116,115,95,113,117,101,114,121,95,112,97,116,116,101,114,110,95,99,111,117,110,116,0,96,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,99,111,117,110,116,0,97,21,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,99,111,117,110,116,0,98,28,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,110,97,109,101,95,102,111,114,95,105,100,0,99,34,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,95,102,111,114,95,105,100,0,100,28,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,118,97,108,117,101,95,102,111,114,95,105,100,0,101,31,116,115,95,113,117,101,114,121,95,112,114,101,100,105,99,97,116,101,115,95,102,111,114,95,112,97,116,116,101,114,110,0,102,31,116,115,95,113,117,101,114,121,95,115,116,97,114,116,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,0,103,29,116,115,95,113,117,101,114,121,95,101,110,100,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,0,104,26,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,114,111,111,116,101,100,0,105,29,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,110,111,110,95,108,111,99,97,108,0,106,38,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,103,117,97,114,97,110,116,101,101,100,95,97,116,95,115,116,101,112,0,107,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,99,97,112,116,117,114,101,0,108,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,112,97,116,116,101,114,110,0,109,12,116,115,95,116,114,101,101,95,99,111,112,121,0,139,1,14,116,115,95,116,114,101,101,95,100,101,108,101,116,101,0,140,1,7,116,115,95,105,110,105,116,0,148,1,18,116,115,95,112,97,114,115,101,114,95,110,101,119,95,119,97,115,109,0,149,1,28,116,115,95,112,97,114,115,101,114,95,101,110,97,98,108,101,95,108,111,103,103,101,114,95,119,97,115,109,0,150,1,20,116,115,95,112,97,114,115,101,114,95,112,97,114,115,101,95,119,97,115,109,0,152,1,30,116,115,95,112,97,114,115,101,114,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,155,1,30,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,156,1,32,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,118,105,115,105,98,108,101,95,119,97,115,109,0,157,1,27,116,115,95,108,97,110,103,117,97,103,101,95,115,117,112,101,114,116,121,112,101,115,95,119,97,115,109,0,158,1,25,116,115,95,108,97,110,103,117,97,103,101,95,115,117,98,116,121,112,101,115,95,119,97,115,109,0,159,1,22,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,97,115,109,0,160,1,34,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,105,116,104,95,111,102,102,115,101,116,95,119,97,115,109,0,161,1,17,116,115,95,116,114,101,101,95,101,100,105,116,95,119,97,115,109,0,162,1,28,116,115,95,116,114,101,101,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,163,1,31,116,115,95,116,114,101,101,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,164,1,23,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,95,119,97,115,109,0,165,1,24,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,111,112,121,95,119,97,115,109,0,166,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,100,101,108,101,116,101,95,119,97,115,109,0,167,1,25,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,119,97,115,109,0,168,1,28,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,116,111,95,119,97,115,109,0,169,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,119,97,115,109,0,170,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,119,97,115,109,0,171,1,46,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,172,1,49,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,173,1,37,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,0,174,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,114,101,118,105,111,117,115,95,115,105,98,108,105,110,103,95,119,97,115,109,0,175,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,0,176,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,95,119,97,115,109,0,177,1,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,116,121,112,101,95,105,100,95,119,97,115,109,0,178,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,115,116,97,116,101,95,105,100,95,119,97,115,109,0,179,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,180,1,43,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,0,181,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,100,95,119,97,115,109,0,182,1,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,183,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,184,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,0,185,1,29,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,0,186,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,187,1,33,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,112,116,104,95,119,97,115,109,0,188,1,44,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,115,99,101,110,100,97,110,116,95,105,110,100,101,120,95,119,97,115,109,0,189,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,119,97,115,109,0,190,1,19,116,115,95,110,111,100,101,95,115,121,109,98,111,108,95,119,97,115,109,0,191,1,33,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,99,104,105,108,100,95,119,97,115,109,0,192,1,39,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,0,193,1,33,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,194,1,33,116,115,95,110,111,100,101,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,0,195,1,39,116,115,95,110,111,100,101,95,102,105,114,115,116,95,110,97,109,101,100,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,0,196,1,27,116,115,95,110,111,100,101,95,103,114,97,109,109,97,114,95,115,121,109,98,111,108,95,119,97,115,109,0,197,1,24,116,115,95,110,111,100,101,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,0,198,1,30,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,0,199,1,18,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,97,115,109,0,200,1,24,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,0,201,1,30,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,202,1,25,116,115,95,110,111,100,101,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,0,203,1,25,116,115,95,110,111,100,101,95,112,114,101,118,95,115,105,98,108,105,110,103,95,119,97,115,109,0,204,1,31,116,115,95,110,111,100,101,95,110,101,120,116,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,0,205,1,31,116,115,95,110,111,100,101,95,112,114,101,118,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,0,206,1,29,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,99,111,117,110,116,95,119,97,115,109,0,207,1,19,116,115,95,110,111,100,101,95,112,97,114,101,110,116,95,119,97,115,109,0,208,1,34,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,0,209,1,33,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,210,1,39,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,211,1,36,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,212,1,42,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,213,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,112,111,105,110,116,95,119,97,115,109,0,214,1,22,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,95,119,97,115,109,0,215,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,0,216,1,22,116,115,95,110,111,100,101,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,0,217,1,22,116,115,95,110,111,100,101,95,116,111,95,115,116,114,105,110,103,95,119,97,115,109,0,218,1,21,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,119,97,115,109,0,219,1,27,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,114,101,110,95,119,97,115,109,0,220,1,32,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,115,95,111,102,95,116,121,112,101,95,119,97,115,109,0,221,1,21,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,222,1,24,116,115,95,110,111,100,101,95,104,97,115,95,99,104,97,110,103,101,115,95,119,97,115,109,0,223,1,22,116,115,95,110,111,100,101,95,104,97,115,95,101,114,114,111,114,95,119,97,115,109,0,224,1,21,116,115,95,110,111,100,101,95,105,115,95,101,114,114,111,114,95,119,97,115,109,0,225,1,23,116,115,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,0,226,1,21,116,115,95,110,111,100,101,95,105,115,95,101,120,116,114,97,95,119,97,115,109,0,227,1,24,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,0,228,1,29,116,115,95,110,111,100,101,95,110,101,120,116,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,0,229,1,21,116,115,95,113,117,101,114,121,95,109,97,116,99,104,101,115,95,119,97,115,109,0,230,1,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,115,95,119,97,115,109,0,232,1,6,109,101,109,115,101,116,0,238,1,6,109,101,109,99,112,121,0,242,1,7,109,101,109,109,111,118,101,0,155,2,8,105,115,119,97,108,112,104,97,0,246,1,8,105,115,119,98,108,97,110,107,0,152,2,8,105,115,119,100,105,103,105,116,0,147,2,8,105,115,119,108,111,119,101,114,0,151,2,8,105,115,119,117,112,112,101,114,0,154,2,9,105,115,119,120,100,105,103,105,116,0,157,2,6,109,101,109,99,104,114,0,252,1,6,115,116,114,108,101,110,0,250,1,6,115,116,114,99,109,112,0,158,2,7,115,116,114,110,99,97,116,0,153,2,7,115,116,114,110,99,112,121,0,156,2,8,116,111,119,108,111,119,101,114,0,144,2,8,116,111,119,117,112,112,101,114,0,146,2,8,115,101,116,84,104,114,101,119,0,143,2,25,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,114,101,115,116,111,114,101,0,148,2,23,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,97,108,108,111,99,0,149,2,28,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,103,101,116,95,99,117,114,114,101,110,116,0,150,2,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,0,11,8,1,12,9,51,1,0,35,2,11,30,37,38,39,40,41,42,74,123,125,124,126,120,135,1,13,14,15,138,2,141,1,142,1,143,1,151,1,153,1,154,1,231,1,233,1,235,1,234,1,132,2,133,2,135,2,12,1,1,10,140,139,11,149,2,32,1,2,127,35,1,34,0,65,132,214,0,106,34,1,32,0,65,236,213,0,106,54,2,96,32,1,65,42,54,2,24,11,228,1,0,35,1,65,176,211,0,106,35,2,65,13,106,54,2,0,35,1,65,180,211,0,106,35,2,65,14,106,54,2,0,35,1,65,184,211,0,106,35,2,65,15,106,54,2,0,35,1,65,188,211,0,106,35,2,65,16,106,54,2,0,35,1,65,192,211,0,106,35,2,65,17,106,54,2,0,35,1,65,196,211,0,106,35,2,65,18,106,54,2,0,35,1,65,200,211,0,106,35,2,65,19,106,54,2,0,35,1,65,208,211,0,106,35,2,65,22,106,54,2,0,35,1,65,220,211,0,106,35,2,65,23,106,54,2,0,35,1,65,236,211,0,106,35,2,65,24,106,54,2,0,35,1,65,132,212,0,106,35,2,65,25,106,54,2,0,35,1,65,136,212,0,106,35,2,65,26,106,54,2,0,35,1,65,140,212,0,106,35,1,65,148,215,0,106,54,2,0,35,1,65,240,212,0,106,35,1,65,224,211,0,106,54,2,0,35,1,65,244,212,0,106,35,3,54,2,0,11,88,1,1,127,35,1,65,184,211,0,106,36,4,35,1,65,176,211,0,106,36,5,35,1,65,188,211,0,106,36,6,35,1,65,180,211,0,106,36,7,35,1,65,240,212,0,106,36,8,35,1,65,128,213,0,106,34,0,36,9,35,1,65,132,219,0,106,36,10,35,1,65,136,219,0,106,36,11,32,0,65,0,65,140,6,252,11,0,11,29,1,1,127,32,0,16,137,2,33,1,2,64,32,0,69,13,0,32,1,13,0,16,236,1,0,11,32,1,11,29,0,32,0,32,1,16,141,2,33,1,2,64,32,0,69,13,0,32,1,13,0,16,236,1,0,11,32,1,11,29,0,32,0,32,1,16,139,2,33,0,2,64,32,1,69,13,0,32,0,13,0,16,236,1,0,11,32,0,11,219,7,2,12,127,3,126,32,1,32,3,114,4,64,32,1,65,0,71,33,6,32,3,65,0,71,33,7,3,64,32,0,32,10,65,24,108,106,33,5,2,127,32,11,65,1,113,34,14,4,64,32,5,41,2,8,33,18,32,5,40,2,20,12,1,11,32,6,65,1,113,69,4,64,66,127,33,18,65,127,12,1,11,32,5,41,2,0,33,18,32,5,40,2,16,11,33,5,32,2,32,13,65,24,108,106,33,6,2,64,32,5,2,127,32,12,65,1,113,34,15,4,64,32,6,41,2,8,33,17,32,6,40,2,20,12,1,11,32,7,65,1,113,69,4,64,66,127,33,17,65,127,12,1,11,32,6,41,2,0,33,17,32,6,40,2,16,11,34,6,73,4,64,2,64,32,14,32,15,70,13,0,2,64,32,4,40,2,4,34,6,69,13,0,32,9,32,4,40,2,0,32,6,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,5,54,2,0,32,7,65,16,107,32,18,55,2,0,12,1,11,32,5,32,9,77,13,0,32,4,40,2,0,33,8,32,4,32,6,65,1,106,34,7,32,4,40,2,8,34,15,75,4,127,65,8,32,15,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,7,65,24,108,33,6,2,127,32,8,4,64,32,8,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,8,32,4,32,7,54,2,8,32,4,32,8,54,2,0,32,4,40,2,4,34,6,65,1,106,5,32,7,11,54,2,4,32,8,32,6,65,24,108,106,34,6,32,5,54,2,20,32,6,32,9,54,2,16,32,6,32,18,55,2,8,32,6,32,19,55,2,0,11,32,11,65,1,115,33,11,32,10,32,14,106,33,10,12,1,11,32,11,32,12,115,33,7,2,64,32,5,32,6,75,4,64,2,64,32,7,65,1,113,69,13,0,2,64,32,4,40,2,4,34,5,69,13,0,32,9,32,4,40,2,0,32,5,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,6,54,2,0,32,7,65,16,107,32,17,55,2,0,12,1,11,32,6,32,9,77,13,0,32,4,40,2,0,33,8,32,4,32,5,65,1,106,34,7,32,4,40,2,8,34,14,75,4,127,65,8,32,14,65,1,116,34,5,32,7,32,5,32,7,75,27,34,5,32,5,65,8,77,27,34,7,65,24,108,33,5,2,127,32,8,4,64,32,8,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,8,32,4,32,7,54,2,8,32,4,32,8,54,2,0,32,4,40,2,4,34,5,65,1,106,5,32,7,11,54,2,4,32,8,32,5,65,24,108,106,34,5,32,6,54,2,20,32,5,32,9,54,2,16,32,5,32,17,55,2,8,32,5,32,19,55,2,0,11,32,12,65,1,115,33,12,12,1,11,2,64,32,7,65,1,113,69,13,0,2,64,32,4,40,2,4,34,5,69,13,0,32,9,32,4,40,2,0,32,5,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,6,54,2,0,32,7,65,16,107,32,17,55,2,0,12,1,11,32,6,32,9,77,13,0,32,4,40,2,0,33,7,32,4,32,5,65,1,106,34,8,32,4,40,2,8,34,16,75,4,127,65,8,32,16,65,1,116,34,5,32,8,32,5,32,8,75,27,34,5,32,5,65,8,77,27,34,8,65,24,108,33,5,2,127,32,7,4,64,32,7,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,7,32,4,32,8,54,2,8,32,4,32,7,54,2,0,32,4,40,2,4,34,5,65,1,106,5,32,8,11,54,2,4,32,7,32,5,65,24,108,106,34,5,32,6,54,2,20,32,5,32,9,54,2,16,32,5,32,17,55,2,8,32,5,32,19,55,2,0,11,32,12,65,1,115,33,12,32,11,65,1,115,33,11,32,10,32,14,106,33,10,11,32,13,32,15,106,33,13,32,6,33,5,32,17,33,18,11,32,3,32,13,75,33,7,32,18,33,19,32,5,33,9,32,1,32,10,75,34,6,13,0,32,7,13,0,11,11,11,223,6,2,15,127,2,126,2,64,32,0,45,0,28,13,0,32,0,40,2,4,34,7,32,0,40,2,8,34,8,65,28,108,106,65,28,107,40,2,0,34,11,40,0,0,34,3,65,1,113,13,0,3,64,32,3,40,2,36,34,15,69,4,64,65,0,15,11,32,7,32,8,65,28,108,106,34,3,65,20,107,41,2,0,33,17,32,3,65,24,107,40,2,0,33,3,65,0,33,12,65,0,33,9,2,64,3,64,65,0,33,6,2,127,2,64,2,64,32,11,45,0,0,65,1,113,4,127,65,0,5,32,11,40,2,0,34,2,32,2,40,2,36,65,3,116,107,11,32,9,65,3,116,106,34,6,40,0,0,34,5,65,1,113,69,4,64,32,5,40,2,4,32,3,106,34,10,32,5,40,2,16,106,34,2,32,1,75,13,1,32,5,40,2,24,65,0,32,5,40,2,12,65,0,32,17,66,32,136,167,32,5,40,2,8,34,4,27,106,32,5,40,2,20,34,3,27,106,173,66,32,134,32,3,32,4,32,17,167,106,106,173,132,33,17,32,5,47,1,44,34,3,65,4,113,69,33,13,2,64,32,3,65,192,0,113,69,13,0,32,6,40,0,4,33,14,32,5,40,2,36,34,4,4,64,3,64,32,5,32,4,65,3,116,107,33,16,32,4,33,6,3,64,2,64,2,64,32,16,32,6,65,1,107,34,6,65,3,116,106,34,10,40,2,0,34,3,65,1,113,13,0,32,3,45,0,44,65,192,0,113,69,13,0,32,3,40,2,36,33,4,32,10,40,2,4,33,14,32,3,33,5,12,1,11,32,6,13,1,11,11,32,4,13,0,11,32,5,69,13,1,11,32,0,32,14,54,2,36,32,0,32,5,54,2,32,11,32,2,12,3,11,32,3,32,6,45,0,6,106,34,10,32,6,45,0,7,34,4,106,34,2,32,1,77,13,1,11,32,0,32,8,65,1,106,34,4,32,0,40,2,12,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,4,32,2,32,4,75,27,34,2,32,2,65,8,77,27,34,2,65,28,108,33,4,2,127,32,7,4,64,32,7,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,7,32,0,32,2,54,2,12,32,0,32,7,54,2,4,32,0,40,2,8,34,8,65,1,106,5,32,4,11,54,2,8,32,7,32,8,65,28,108,106,34,2,65,0,54,2,24,32,2,32,12,54,2,20,32,2,32,9,54,2,16,32,2,32,17,55,2,8,32,2,32,3,54,2,4,32,2,32,6,54,2,0,32,0,40,2,4,34,7,32,0,40,2,8,34,8,65,28,108,106,34,2,65,8,107,40,2,0,33,5,2,127,32,2,65,28,107,40,2,0,34,11,40,0,0,34,3,65,1,113,34,6,4,64,32,3,65,1,118,65,1,113,12,1,11,32,3,47,1,44,65,1,113,11,69,4,64,32,8,65,2,73,13,4,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,4,69,13,4,32,0,40,2,20,34,2,40,2,84,32,2,47,1,36,32,4,108,65,1,116,106,32,5,65,1,116,106,47,1,0,69,13,4,11,32,1,32,10,73,4,64,32,0,65,1,58,0,28,65,1,15,11,32,0,32,0,40,2,24,65,1,106,54,2,24,65,1,15,11,32,6,45,0,4,65,0,32,17,66,32,136,167,32,6,49,0,5,66,15,131,34,18,167,27,106,32,4,106,173,66,32,134,32,17,32,18,124,66,255,255,255,255,15,131,132,33,17,32,5,65,127,115,65,3,118,65,1,113,33,13,32,2,11,33,3,32,12,32,13,106,33,12,32,9,65,1,106,34,9,32,15,71,13,0,11,65,0,15,11,32,6,69,13,0,11,11,65,0,11,198,8,1,17,127,2,64,32,0,45,0,28,69,4,64,32,0,40,2,8,33,4,32,0,40,2,4,33,6,2,64,3,64,2,64,2,127,32,6,32,4,34,8,65,28,108,106,34,2,65,28,107,40,2,0,34,5,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,8,65,2,73,13,1,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,3,40,2,84,32,3,47,1,36,32,1,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,0,32,0,40,2,24,65,1,107,54,2,24,11,32,0,32,8,65,1,107,34,4,54,2,8,32,4,69,13,1,32,6,32,4,65,28,108,106,34,1,40,2,20,33,13,32,1,40,2,12,33,14,32,1,40,2,8,33,15,32,1,40,2,4,33,16,32,1,40,2,16,33,10,32,1,65,28,107,40,2,0,33,11,2,64,32,5,40,0,0,34,2,65,1,113,13,0,32,2,45,0,44,65,192,0,113,69,13,0,32,5,40,0,4,33,9,32,2,40,2,36,34,3,4,64,3,64,32,2,32,3,65,3,116,107,33,12,32,3,33,1,3,64,2,64,2,64,32,12,32,1,65,1,107,34,1,65,3,116,106,34,17,40,2,0,34,7,65,1,113,13,0,32,7,45,0,44,65,192,0,113,69,13,0,32,7,40,2,36,33,3,32,17,40,2,4,33,9,32,7,33,2,12,1,11,32,1,13,1,11,11,32,3,13,0,11,32,2,69,13,1,11,32,0,32,9,54,2,36,32,0,32,2,54,2,32,11,32,11,40,0,0,34,7,65,1,113,13,0,32,7,40,2,36,34,12,32,10,65,1,106,34,10,77,13,0,11,2,64,32,5,40,0,0,34,1,65,1,113,4,64,32,5,45,0,7,34,2,32,5,45,0,6,106,33,9,32,5,45,0,5,65,15,113,33,3,32,5,45,0,4,33,5,12,1,11,65,0,32,1,40,2,12,32,1,40,2,20,34,2,27,33,5,32,1,40,2,16,32,1,40,2,4,106,33,9,32,2,32,1,40,2,8,106,33,3,32,1,40,2,24,33,2,11,32,1,65,1,113,4,127,32,1,65,3,118,65,1,113,5,32,1,47,1,44,65,2,118,65,1,113,11,33,11,32,0,40,2,12,34,1,32,8,73,4,64,65,8,32,1,65,1,116,34,1,32,8,32,1,32,8,75,27,34,1,32,1,65,8,77,27,34,4,65,28,108,33,1,2,127,32,6,4,64,32,6,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,6,32,0,32,4,54,2,12,32,0,32,6,54,2,4,32,0,40,2,8,33,4,11,32,0,32,4,65,1,106,54,2,8,32,6,32,4,65,28,108,106,34,1,65,0,54,2,24,32,1,32,13,32,11,69,106,54,2,20,32,1,32,10,54,2,16,32,1,32,3,32,15,106,173,32,2,32,5,106,65,0,32,14,32,3,27,106,173,66,32,134,132,55,2,8,32,1,32,9,32,16,106,54,2,4,32,1,32,7,32,12,65,3,116,107,32,10,65,3,116,106,34,2,54,2,0,2,64,2,127,32,0,40,2,4,32,0,40,2,8,34,4,65,28,108,106,34,3,65,28,107,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,4,65,2,73,13,1,32,3,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,4,40,2,84,32,4,47,1,36,32,1,108,65,1,116,106,32,3,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,2,127,32,2,40,0,0,34,1,65,1,113,4,64,32,2,45,0,6,12,1,11,32,1,40,2,4,11,4,64,32,0,65,1,58,0,28,15,11,12,3,11,32,0,65,0,16,17,26,11,15,11,32,0,65,0,58,0,28,2,64,2,127,32,0,40,2,4,32,0,40,2,8,34,3,65,28,108,106,34,2,65,28,107,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,3,65,2,73,13,1,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,3,40,2,84,32,3,47,1,36,32,1,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,12,1,11,32,0,65,0,16,17,26,15,11,32,0,32,0,40,2,24,65,1,106,54,2,24,11,13,0,32,0,40,2,8,32,0,40,2,4,106,11,7,0,32,0,40,2,20,11,7,0,32,0,40,2,0,11,19,0,32,0,65,164,1,106,65,0,32,0,40,2,0,65,14,75,27,11,24,1,1,127,32,0,40,2,0,65,15,79,4,127,32,0,40,2,136,1,5,65,0,11,11,7,0,32,0,40,2,32,11,227,3,1,8,127,2,64,32,2,65,253,255,3,75,13,0,32,0,40,2,24,33,4,32,2,32,0,40,2,12,73,4,64,2,64,2,64,32,1,32,4,79,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,4,47,1,0,34,7,69,4,64,12,3,11,32,4,65,2,106,33,4,3,64,32,4,65,4,106,33,3,32,4,47,1,2,34,10,4,127,32,3,32,10,65,1,116,106,33,8,65,0,33,6,3,64,32,3,47,1,0,32,2,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,10,71,13,0,11,32,8,5,32,3,11,33,4,65,0,33,3,32,9,65,1,106,34,9,32,7,71,13,0,11,12,2,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,32,2,65,1,116,106,47,1,0,33,3,12,1,11,32,4,47,1,0,33,3,11,32,0,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,0,69,13,1,32,2,32,0,65,3,116,106,34,0,45,0,0,13,1,32,1,32,0,65,8,106,34,0,65,6,107,47,1,0,32,0,65,4,107,45,0,0,65,1,113,27,33,5,12,1,11,2,64,32,1,32,4,79,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,0,47,1,0,34,8,69,13,2,32,0,65,2,106,33,0,65,0,33,1,3,64,32,0,65,4,106,33,3,32,0,47,1,2,34,7,4,127,32,3,32,7,65,1,116,106,33,4,65,0,33,6,3,64,32,3,47,1,0,32,2,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,7,71,13,0,11,32,4,5,32,3,11,33,0,32,1,65,1,106,34,1,32,8,71,13,0,11,12,2,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,32,2,65,1,116,106,47,1,0,33,5,12,1,11,32,0,47,1,0,33,5,11,32,5,65,255,255,3,113,11,78,1,1,127,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,15,11,65,0,33,2,32,0,40,2,8,32,0,40,2,4,106,32,1,77,13,0,32,0,40,2,56,32,1,65,2,116,106,40,2,0,33,2,11,32,2,11,214,1,1,5,127,2,127,2,64,32,3,69,13,0,32,1,35,1,65,171,10,106,32,2,16,251,1,13,0,65,255,255,3,12,1,11,32,0,40,2,8,32,0,40,2,4,106,65,255,255,3,113,34,8,4,64,3,64,2,64,32,6,65,255,255,3,113,65,254,255,3,70,13,0,32,0,40,2,72,32,4,65,3,108,106,34,5,45,0,1,33,7,2,64,32,5,45,0,0,65,1,113,69,4,64,32,5,45,0,2,65,1,113,69,13,2,32,3,32,7,70,13,1,12,2,11,32,3,32,7,71,13,1,11,32,0,40,2,56,32,4,65,2,116,106,40,2,0,34,5,32,1,32,2,16,251,1,13,0,32,2,32,5,106,45,0,0,13,0,32,0,40,2,76,32,4,65,1,116,106,47,1,0,12,3,11,32,6,65,1,106,34,6,65,255,255,3,113,34,4,32,8,73,13,0,11,11,65,0,11,65,255,255,3,113,11,79,1,1,127,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,65,3,15,11,32,0,40,2,72,32,1,65,3,108,106,34,0,45,0,0,65,1,113,4,64,32,0,45,0,1,65,127,115,65,1,113,15,11,65,2,65,3,32,0,45,0,2,65,1,113,27,33,2,11,32,2,11,42,1,2,127,2,64,32,0,40,2,32,34,3,69,13,0,32,1,32,3,75,13,0,32,0,40,2,60,32,1,65,2,116,106,40,2,0,33,2,11,32,2,11,111,1,4,127,2,64,32,0,47,1,32,34,5,69,13,0,32,0,40,2,60,33,6,65,1,33,0,65,1,33,3,3,64,2,64,2,64,32,1,32,6,32,0,65,2,116,106,40,2,0,34,0,32,2,16,251,1,65,1,106,14,2,3,0,1,11,32,0,32,2,106,45,0,0,13,0,32,3,33,4,12,2,11,32,3,65,1,106,34,3,65,255,255,3,113,34,0,32,5,77,13,0,11,11,32,4,65,255,255,3,113,11,186,1,1,5,127,32,1,32,0,40,2,20,73,4,64,65,36,35,5,40,2,0,17,0,0,33,2,2,127,32,0,40,2,24,34,4,32,1,77,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,3,65,2,106,33,5,32,3,47,1,0,12,1,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,65,2,107,33,3,65,0,11,33,6,32,2,65,0,54,0,21,32,2,32,6,59,1,18,32,2,65,0,59,1,16,32,2,65,0,54,2,12,32,2,32,5,54,2,8,32,2,32,3,54,2,4,32,2,32,0,54,2,0,32,2,66,255,255,3,55,2,28,32,2,32,1,32,4,79,58,0,20,32,2,65,0,54,0,24,11,32,2,11,12,0,32,0,35,6,40,2,0,17,2,0,11,177,1,1,5,127,32,1,32,0,40,2,0,34,2,40,2,20,34,5,73,4,64,2,127,32,2,40,2,24,34,3,32,1,77,4,64,32,2,40,2,44,32,2,40,2,48,32,1,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,2,65,2,106,33,4,32,2,47,1,0,12,1,11,32,2,40,2,40,32,2,40,2,4,32,1,108,65,1,116,106,65,2,107,33,2,65,0,11,33,6,32,0,65,0,54,0,21,32,0,32,6,59,1,18,32,0,65,0,59,1,16,32,0,65,0,54,2,12,32,0,32,4,54,2,8,32,0,32,2,54,2,4,32,0,66,255,255,3,55,2,28,32,0,32,1,32,3,79,58,0,20,32,0,65,0,54,0,24,11,32,1,32,5,73,11,179,1,1,5,127,32,2,32,1,40,2,20,34,6,73,4,64,2,127,32,1,40,2,24,34,4,32,2,77,4,64,32,1,40,2,44,32,1,40,2,48,32,2,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,3,65,2,106,33,5,32,3,47,1,0,12,1,11,32,1,40,2,40,32,1,40,2,4,32,2,108,65,1,116,106,65,2,107,33,3,65,0,11,33,7,32,0,65,0,54,0,21,32,0,32,7,59,1,18,32,0,65,0,59,1,16,32,0,65,0,54,2,12,32,0,32,5,54,2,8,32,0,32,3,54,2,4,32,0,32,1,54,2,0,32,0,66,255,255,3,55,2,28,32,0,32,2,32,4,79,58,0,20,32,0,65,0,54,0,24,11,32,2,32,6,73,11,188,2,1,6,127,2,64,2,64,2,64,32,0,45,0,20,69,4,64,32,0,47,1,28,33,3,32,0,40,2,4,33,1,32,0,40,2,0,34,4,40,2,4,33,6,3,64,32,0,32,3,65,1,106,34,3,59,1,28,32,1,65,2,106,33,1,32,6,32,3,65,255,255,3,113,34,5,77,13,2,32,0,32,1,47,1,0,34,2,59,1,14,32,2,69,13,0,11,32,0,32,1,54,2,4,12,3,11,32,0,32,0,40,2,4,34,1,65,2,106,34,2,54,2,4,32,0,40,2,8,32,2,70,4,64,32,0,47,1,18,34,2,69,13,2,32,0,32,2,65,1,107,59,1,18,32,1,47,1,2,33,2,32,0,32,1,65,6,106,34,3,54,2,4,32,0,32,2,59,1,14,32,0,32,3,32,1,47,1,4,65,1,116,106,54,2,8,32,0,32,1,47,1,6,34,5,59,1,28,32,0,40,2,0,33,4,12,3,11,32,0,32,2,47,1,0,59,1,28,65,1,15,11,32,0,32,1,54,2,4,11,65,0,15,11,32,5,32,4,40,2,12,73,4,64,32,4,40,2,52,32,2,65,3,116,106,34,1,45,0,0,33,2,32,0,65,0,59,1,30,32,0,32,1,65,8,106,54,2,24,32,0,32,2,59,1,32,65,1,15,11,32,0,32,2,59,1,30,32,0,65,0,59,1,32,65,1,11,7,0,32,0,47,1,28,11,74,1,1,127,35,0,65,16,107,34,3,36,0,32,3,32,2,54,2,12,32,0,40,2,96,4,64,32,0,65,132,1,106,34,2,65,128,8,32,1,32,3,40,2,12,16,134,2,26,32,0,40,2,92,65,1,32,2,32,0,40,2,96,17,3,0,11,32,3,65,16,106,36,0,11,13,0,32,0,40,2,104,32,0,40,2,100,70,11,43,1,2,127,32,0,40,2,104,34,2,32,0,40,2,100,73,4,127,32,0,40,2,32,32,0,40,2,68,32,2,65,24,108,106,40,2,16,70,5,65,0,11,11,254,5,2,9,127,1,126,35,0,65,16,107,34,5,36,0,32,0,65,1,58,0,120,2,64,32,0,45,0,128,1,13,0,32,0,40,2,32,34,8,32,0,40,2,40,34,3,107,33,1,32,0,40,2,36,33,4,32,3,4,64,32,0,65,0,54,2,124,32,0,65,0,58,0,128,1,11,32,0,65,0,54,2,40,32,0,32,4,54,2,36,32,0,32,1,54,2,32,32,0,40,2,68,33,6,2,64,2,127,32,0,40,2,100,34,4,4,64,3,64,2,64,32,6,32,2,65,24,108,106,34,7,40,2,20,34,9,32,1,77,13,0,32,9,32,7,40,2,16,34,3,77,13,0,32,1,32,3,77,4,64,32,0,32,7,41,2,0,55,2,36,32,0,32,3,54,2,32,32,3,33,1,11,32,0,32,2,54,2,104,65,0,33,2,32,0,40,2,72,69,13,4,32,0,40,2,108,34,3,32,1,77,4,64,32,1,32,0,40,2,112,32,3,106,73,13,5,11,32,0,65,0,54,2,72,65,0,12,3,11,32,2,65,1,106,34,2,32,4,71,13,0,11,11,32,0,32,4,54,2,104,32,6,32,4,65,24,108,106,34,3,65,4,107,40,2,0,33,1,32,3,65,16,107,41,2,0,33,10,32,0,65,0,54,2,72,32,0,32,10,55,2,36,32,0,32,1,54,2,32,65,1,11,33,2,32,0,65,0,54,2,112,11,32,0,65,1,58,0,128,1,32,0,65,0,54,2,0,32,0,32,2,54,2,116,32,0,65,0,54,2,124,32,0,32,1,54,2,108,32,0,40,2,80,33,3,32,0,40,2,76,33,2,32,5,32,0,41,2,36,55,3,8,32,0,32,2,32,1,32,5,65,8,106,32,0,65,240,0,106,34,4,32,3,17,6,0,34,2,54,2,72,32,0,40,2,112,34,1,69,4,64,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,12,1,11,32,0,40,2,104,32,0,40,2,100,70,13,0,2,64,32,0,40,2,32,32,0,40,2,108,107,34,3,32,1,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,1,11,32,0,32,2,32,3,106,32,1,32,3,107,34,1,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,3,65,2,116,106,32,0,65,216,0,106,32,3,65,3,73,27,40,2,0,34,3,17,4,0,54,2,116,32,0,40,2,0,33,2,2,64,32,1,65,3,75,13,0,32,2,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,6,32,5,32,0,41,2,36,55,3,0,32,0,32,6,32,1,32,5,32,4,32,2,17,6,0,34,2,54,2,72,32,0,32,0,40,2,112,34,1,4,127,32,2,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,1,32,0,32,3,17,4,0,54,2,116,32,0,40,2,0,33,2,11,32,2,65,127,71,13,0,32,0,65,1,54,2,116,11,3,64,32,0,40,2,32,32,8,79,13,1,32,0,40,2,104,32,0,40,2,100,70,13,1,32,0,40,2,72,69,13,1,32,0,65,0,16,43,32,0,40,2,104,32,0,40,2,100,71,13,0,11,11,32,0,40,2,124,33,0,32,5,65,16,106,36,0,32,0,11,105,1,2,127,2,64,32,0,40,2,104,34,1,32,0,40,2,100,70,13,0,32,1,69,13,0,32,0,40,2,32,32,0,40,2,68,32,1,65,24,108,106,34,1,40,2,16,71,13,0,32,1,65,4,107,40,2,0,33,2,32,0,32,1,65,16,107,41,2,0,55,2,60,32,0,32,2,54,2,56,15,11,32,0,32,0,41,2,32,55,2,56,32,0,65,64,107,32,0,40,2,40,54,2,0,11,194,1,1,3,127,35,0,65,32,107,34,3,36,0,32,0,40,2,72,4,64,32,0,40,2,96,33,2,2,64,32,1,4,64,32,2,69,13,1,32,3,32,0,40,2,0,34,2,54,2,0,32,0,65,132,1,106,34,4,65,128,8,35,1,65,154,11,65,253,8,32,2,65,32,107,65,223,0,73,27,106,32,3,16,249,1,26,32,0,40,2,92,65,1,32,4,32,0,40,2,96,17,3,0,12,1,11,32,2,69,13,0,32,3,32,0,40,2,0,34,2,54,2,16,32,0,65,132,1,106,34,4,65,128,8,35,1,65,174,11,65,143,9,32,2,65,32,107,65,223,0,73,27,106,32,3,65,16,106,16,249,1,26,32,0,40,2,92,65,1,32,4,32,0,40,2,96,17,3,0,11,32,0,32,1,16,43,11,32,3,65,32,106,36,0,11,212,5,2,5,127,1,126,35,0,65,16,107,34,5,36,0,2,64,32,0,40,2,116,34,2,69,4,64,32,0,40,2,32,33,3,12,1,11,2,64,32,0,40,2,0,34,3,65,10,70,4,64,32,0,65,1,58,0,128,1,32,0,65,0,54,2,40,32,0,65,0,54,2,124,32,0,32,0,40,2,36,65,1,106,54,2,36,32,0,40,2,32,33,4,12,1,11,2,64,32,0,40,2,32,34,4,69,32,3,65,255,253,3,70,113,13,0,32,0,45,0,128,1,65,1,71,13,0,32,0,32,0,40,2,124,65,1,106,54,2,124,11,32,0,32,0,40,2,40,32,2,106,54,2,40,11,32,0,32,2,32,4,106,34,3,54,2,32,11,32,0,40,2,68,32,0,40,2,104,34,4,65,24,108,106,33,2,3,64,2,64,2,64,32,2,40,2,20,34,6,32,3,75,4,64,32,6,32,2,40,2,16,71,13,1,11,32,0,40,2,100,34,6,32,4,75,4,64,32,0,32,4,65,1,106,34,4,54,2,104,11,32,4,32,6,73,13,1,65,0,33,2,11,32,1,4,64,32,0,32,0,41,2,32,55,2,44,32,0,32,0,40,2,40,54,2,52,11,2,64,32,2,4,64,2,64,32,0,40,2,108,34,1,32,3,77,4,64,32,3,32,0,40,2,112,34,2,32,1,106,73,13,1,11,32,0,32,3,54,2,108,32,0,40,2,80,33,1,32,0,40,2,76,33,2,32,5,32,0,41,2,36,55,3,8,32,0,32,2,32,3,32,5,65,8,106,32,0,65,240,0,106,32,1,17,6,0,54,2,72,32,0,40,2,112,34,2,13,0,65,0,33,2,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,11,32,0,40,2,32,32,0,40,2,108,107,34,1,32,2,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,2,11,32,0,32,0,40,2,72,32,1,106,32,2,32,1,107,34,1,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,2,65,2,116,106,32,0,65,216,0,106,32,2,65,3,73,27,40,2,0,34,4,17,4,0,54,2,116,32,0,40,2,0,33,2,2,64,32,1,65,3,75,13,0,32,2,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,3,32,5,32,0,41,2,36,55,3,0,32,0,32,3,32,1,32,5,32,0,65,240,0,106,32,2,17,6,0,34,2,54,2,72,32,0,32,0,40,2,112,34,1,4,127,32,2,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,1,32,0,32,4,17,4,0,54,2,116,32,0,40,2,0,33,2,11,32,2,65,127,71,13,1,32,0,65,1,54,2,116,12,1,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,32,0,65,1,54,2,116,32,0,65,0,54,2,0,11,32,5,65,16,106,36,0,15,11,32,2,41,2,24,33,7,32,0,32,2,40,2,40,34,3,54,2,32,32,0,32,7,55,2,36,32,2,65,24,106,33,2,12,0,11,0,11,185,4,1,6,127,35,0,65,32,107,34,3,36,0,32,0,65,0,58,0,120,32,0,65,0,59,1,4,32,0,32,0,41,2,32,55,2,44,32,0,32,0,40,2,40,54,2,52,32,0,35,1,65,240,11,106,34,1,41,2,0,55,2,56,32,0,65,64,107,32,1,40,2,8,54,2,0,2,64,32,0,40,2,104,32,0,40,2,100,70,13,0,32,0,65,240,0,106,33,4,2,64,32,0,40,2,112,34,1,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,5,32,3,32,0,41,2,36,55,3,24,32,0,32,5,32,1,32,3,65,24,106,32,4,32,2,17,6,0,54,2,72,32,0,40,2,112,34,1,13,0,65,0,33,1,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,11,2,64,32,0,40,2,116,13,0,32,0,40,2,32,32,0,40,2,108,107,34,2,32,1,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,1,11,32,0,32,0,40,2,72,32,2,106,32,1,32,2,107,34,2,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,1,65,2,116,106,32,0,65,216,0,106,32,1,65,3,73,27,40,2,0,34,5,17,4,0,54,2,116,32,0,40,2,0,33,1,2,64,32,2,65,3,75,13,0,32,1,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,6,32,3,32,0,41,2,36,55,3,16,32,0,32,6,32,1,32,3,65,16,106,32,4,32,2,17,6,0,34,1,54,2,72,32,0,32,0,40,2,112,34,4,4,127,32,1,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,4,32,0,32,5,17,4,0,54,2,116,32,0,40,2,0,33,1,11,32,1,65,127,71,13,0,32,0,65,1,54,2,116,11,32,0,40,2,32,13,0,2,64,32,0,40,2,0,65,255,253,3,71,13,0,32,0,40,2,72,69,13,0,32,0,40,2,96,4,64,32,3,65,255,253,3,54,2,0,32,0,65,132,1,106,34,1,65,128,8,35,1,65,253,8,106,32,3,16,249,1,26,32,0,40,2,92,65,1,32,1,32,0,40,2,96,17,3,0,11,32,0,65,1,16,43,11,32,0,65,0,54,2,124,32,0,65,1,58,0,128,1,11,32,3,65,32,106,36,0,11,50,2,1,127,1,126,32,0,40,2,0,33,1,32,0,40,2,16,41,2,0,34,2,167,34,0,65,1,113,4,64,32,2,66,56,136,167,32,1,106,15,11,32,0,40,2,16,32,1,106,11,94,2,1,126,2,127,32,1,40,2,8,33,3,32,1,40,2,4,33,4,32,0,32,4,2,126,32,1,40,2,16,41,2,0,34,2,167,34,1,65,1,113,4,64,32,2,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,1,41,2,20,11,34,2,167,34,1,106,54,2,0,32,0,32,2,66,32,136,167,65,0,32,3,32,1,27,106,54,2,4,11,112,1,2,127,65,255,255,3,33,2,2,64,2,64,32,0,40,2,12,34,1,65,255,255,3,113,69,4,64,32,0,40,2,16,40,2,0,34,1,65,1,113,4,64,32,1,65,128,254,3,113,65,8,118,33,1,12,2,11,32,1,47,1,40,33,1,11,32,1,65,255,255,3,113,65,255,255,3,70,13,1,11,32,0,40,2,20,40,2,8,40,2,76,32,1,65,255,255,3,113,65,1,116,106,47,1,0,33,2,11,32,2,11,233,12,2,10,127,1,126,35,0,65,160,1,107,34,10,36,0,2,127,32,0,40,2,0,34,8,69,4,64,32,1,32,2,35,1,65,253,10,106,65,0,16,249,1,12,1,11,32,8,65,8,118,33,12,2,127,2,64,2,64,2,64,2,64,2,64,32,4,13,0,32,8,65,1,113,4,127,32,8,65,5,118,65,1,113,5,32,8,47,1,44,65,9,118,65,1,113,11,13,0,2,64,2,64,2,64,32,5,69,4,64,32,8,65,1,113,69,13,1,32,8,65,2,113,69,13,5,32,8,65,2,118,65,1,113,13,4,12,5,11,32,6,69,13,1,12,3,11,32,8,47,1,44,34,9,65,1,113,13,1,12,3,11,32,7,35,1,65,161,10,106,71,13,3,12,5,11,32,9,65,1,118,65,1,113,69,13,1,11,2,127,32,1,32,7,35,1,65,161,10,106,70,13,0,26,32,1,32,2,35,1,65,233,11,106,65,0,16,249,1,32,1,106,34,9,32,7,69,13,0,26,32,10,32,7,54,2,96,32,9,32,1,32,2,65,1,75,27,32,2,35,1,65,230,11,106,32,10,65,224,0,106,16,249,1,32,9,106,11,33,9,2,64,32,8,65,1,113,69,4,64,2,64,32,8,47,1,40,34,12,65,255,255,3,71,13,0,32,8,40,2,36,13,0,32,8,40,2,16,69,13,0,32,9,32,1,32,2,65,1,75,34,5,27,32,2,35,1,65,217,11,106,65,0,16,249,1,32,9,106,34,9,32,1,32,5,27,33,5,65,1,33,14,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,8,40,2,48,34,6,65,1,106,14,15,0,1,5,5,5,5,5,5,5,5,3,2,5,5,4,5,11,32,5,32,2,35,1,65,193,10,106,65,0,16,249,1,12,5,11,32,5,32,2,35,1,65,197,11,106,65,0,16,249,1,12,4,11,32,5,32,2,35,1,65,149,11,106,65,0,16,249,1,12,3,11,32,5,32,2,35,1,65,139,11,106,65,0,16,249,1,12,2,11,32,5,32,2,35,1,65,144,11,106,65,0,16,249,1,12,1,11,32,6,65,32,107,65,222,0,77,4,64,32,10,32,6,54,2,64,32,5,32,2,35,1,65,192,11,106,32,10,65,64,107,16,249,1,12,1,11,32,10,32,6,54,2,80,32,5,32,2,35,1,65,236,9,106,32,10,65,208,0,106,16,249,1,11,32,9,106,12,7,11,32,5,32,12,32,5,27,33,5,12,1,11,32,5,13,0,32,12,65,255,1,113,33,5,11,35,1,65,171,10,106,33,13,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,13,12,1,11,65,0,33,13,32,3,40,2,8,32,3,40,2,4,106,32,5,77,13,0,32,3,40,2,56,32,5,65,2,116,106,40,2,0,33,13,11,65,1,33,14,32,9,32,1,32,2,65,1,75,27,33,12,32,8,65,1,113,4,127,32,8,65,5,118,65,1,113,5,32,8,47,1,44,65,9,118,65,1,113,11,4,64,32,12,32,2,35,1,65,207,11,106,65,0,16,249,1,32,9,106,33,5,2,64,32,6,69,4,64,32,8,65,1,113,4,127,32,8,65,2,118,65,1,113,5,32,8,47,1,44,65,1,118,65,1,113,11,69,13,1,11,32,10,32,13,54,2,32,32,5,32,1,32,2,65,1,75,27,32,2,35,1,65,223,7,106,32,10,65,32,106,16,249,1,32,5,106,12,6,11,32,10,32,13,54,2,48,32,5,32,1,32,2,65,1,75,27,32,2,35,1,65,202,11,106,32,10,65,48,106,16,249,1,32,5,106,12,5,11,32,10,32,13,54,2,16,32,12,32,2,35,1,65,222,7,106,32,10,65,16,106,16,249,1,32,9,106,12,4,11,32,7,35,1,65,161,10,106,70,13,1,11,32,1,12,2,11,32,8,65,1,113,4,64,32,12,65,255,1,113,33,5,12,1,11,32,8,47,1,40,33,5,11,35,1,65,171,10,106,33,9,2,64,2,64,2,64,32,5,65,255,255,3,113,34,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,9,12,1,11,65,0,33,9,32,3,40,2,8,32,3,40,2,4,106,32,5,77,13,0,32,3,40,2,56,32,5,65,2,116,106,40,2,0,33,9,11,2,127,2,127,2,64,32,8,65,1,113,69,4,64,32,8,40,2,36,69,13,1,32,10,32,9,54,2,144,1,32,1,32,2,35,1,65,222,7,106,32,10,65,144,1,106,16,249,1,32,1,106,12,3,11,32,8,65,2,118,65,1,113,12,1,11,32,8,47,1,44,65,1,118,65,1,113,11,4,64,32,10,32,9,54,2,128,1,32,1,32,2,35,1,65,241,10,106,32,10,65,128,1,106,16,249,1,32,1,106,12,1,11,32,10,32,9,54,2,112,32,1,32,2,35,1,65,132,11,106,32,10,65,240,0,106,16,249,1,32,1,106,11,11,33,9,2,64,32,0,45,0,0,65,1,113,13,0,32,0,40,2,0,34,11,40,2,36,34,6,69,13,0,32,11,47,1,66,34,8,4,64,32,3,40,2,84,32,3,47,1,36,32,8,108,65,1,116,106,33,15,11,65,0,33,5,32,3,40,2,32,4,64,32,3,40,2,68,32,3,40,2,64,32,8,65,2,116,106,34,5,47,1,0,65,2,116,106,34,16,32,5,47,1,2,65,2,116,106,33,5,11,65,0,32,7,32,14,27,33,12,65,0,33,7,65,0,33,13,3,64,32,10,32,11,32,6,65,3,116,107,32,13,65,3,116,106,41,2,0,34,18,55,3,152,1,2,127,2,127,32,18,167,34,6,65,1,113,4,64,32,6,65,3,118,65,1,113,12,1,11,32,6,47,1,44,65,2,118,65,1,113,11,4,64,32,10,32,10,41,3,152,1,55,3,8,32,10,65,8,106,32,9,32,1,32,2,65,1,75,27,32,2,32,3,32,4,65,0,65,0,65,0,16,48,12,1,11,2,127,32,15,69,4,64,65,0,33,6,65,0,12,1,11,32,15,32,7,65,1,116,106,47,1,0,34,6,65,2,106,65,255,255,3,113,65,3,79,4,64,32,3,40,2,72,32,6,65,3,108,106,45,0,1,65,0,71,12,1,11,32,6,11,33,17,2,127,32,12,32,16,34,11,32,5,79,13,0,26,3,64,2,64,32,11,45,0,3,13,0,32,7,32,11,45,0,2,71,13,0,32,3,40,2,60,32,11,47,1,0,65,2,116,106,40,2,0,12,2,11,32,11,65,4,106,34,11,32,5,73,13,0,11,32,12,11,33,8,32,10,32,10,41,3,152,1,55,3,0,32,7,65,1,106,33,7,32,10,32,9,32,1,32,2,65,1,75,27,32,2,32,3,32,4,32,6,32,17,65,1,113,32,8,16,48,11,32,9,106,33,9,32,13,65,1,106,34,13,32,0,40,2,0,34,11,40,2,36,34,6,73,13,0,11,11,32,14,4,127,32,9,32,1,32,2,65,1,75,27,32,2,35,1,65,137,11,106,65,0,16,249,1,32,9,106,5,32,9,11,32,1,107,11,33,11,32,10,65,160,1,106,36,0,32,11,11,106,1,2,127,2,64,32,0,47,1,12,34,1,4,64,65,1,33,2,2,64,2,64,32,1,65,254,255,3,107,14,2,0,3,1,11,65,0,15,11,32,0,40,2,20,40,2,8,40,2,72,32,1,65,3,108,106,45,0,1,65,0,71,15,11,32,0,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,2,118,65,1,113,15,11,32,0,47,1,44,65,1,118,65,1,113,33,2,11,32,2,11,46,1,1,127,35,0,65,16,107,34,1,32,0,40,2,16,40,2,0,34,0,54,2,12,32,1,65,12,106,65,2,114,32,0,65,42,106,32,0,65,1,113,27,47,1,0,11,229,9,2,22,127,1,126,35,0,65,128,1,107,34,4,36,0,32,2,40,2,0,34,22,2,127,32,2,40,2,16,34,23,41,2,0,34,25,167,34,6,65,1,113,4,64,32,25,66,56,136,167,12,1,11,32,6,40,2,16,11,34,18,106,33,13,32,1,40,2,8,33,6,32,1,40,2,4,33,14,32,1,40,2,20,33,20,32,1,40,2,0,33,11,32,1,40,2,16,40,2,0,33,3,2,64,2,64,2,64,2,64,3,64,32,3,65,1,113,13,3,32,3,40,2,36,69,13,3,32,3,47,1,66,34,7,4,127,32,20,40,2,8,34,8,40,2,84,32,8,47,1,36,32,7,108,65,1,116,106,5,65,0,11,33,19,32,3,40,2,36,34,21,69,13,3,2,127,32,3,32,21,65,3,116,107,34,15,40,0,0,34,7,65,1,113,69,4,64,32,7,47,1,44,65,2,118,65,1,113,12,1,11,32,7,65,3,118,65,1,113,11,34,3,69,33,16,65,0,33,12,2,64,32,3,13,0,32,19,69,13,0,32,19,47,1,0,33,12,65,1,33,16,11,32,1,32,20,54,2,20,32,1,32,15,54,2,16,32,1,32,12,54,2,12,32,1,32,6,54,2,8,32,1,32,14,54,2,4,32,1,32,11,54,2,0,2,127,32,15,40,0,0,34,5,65,1,113,34,17,69,4,64,65,0,32,6,32,5,40,2,20,34,7,27,33,8,32,5,40,2,24,33,9,32,5,40,2,16,33,3,32,7,32,14,106,12,1,11,32,15,45,0,7,34,3,33,9,32,6,33,8,32,14,11,33,7,32,11,32,22,75,13,3,32,15,32,23,70,13,2,32,3,32,11,106,33,10,2,64,2,64,2,64,2,64,2,64,2,64,32,18,13,0,32,10,32,13,73,13,0,32,17,13,1,32,5,40,2,36,69,13,1,32,5,40,2,48,69,13,1,32,4,32,1,41,2,8,55,3,88,32,4,32,1,41,2,16,55,3,96,32,4,32,1,41,2,0,55,3,80,32,4,65,64,107,32,2,41,2,8,55,3,0,32,4,32,2,41,2,16,55,3,72,32,4,32,2,41,2,0,55,3,56,32,4,65,232,0,106,32,4,65,208,0,106,32,4,65,56,106,16,51,32,4,40,2,120,69,13,1,12,7,11,32,18,13,1,11,32,10,32,13,75,13,1,12,2,11,32,10,32,13,73,13,1,11,32,15,40,2,0,34,3,65,1,113,13,0,32,3,40,2,36,69,13,0,32,3,40,2,48,13,1,11,65,1,33,17,32,21,65,1,70,13,4,32,8,32,9,106,33,6,3,64,65,0,33,12,2,127,32,15,32,17,65,3,116,106,34,3,40,0,0,34,9,65,1,113,34,8,4,64,32,9,65,3,118,65,1,113,12,1,11,32,9,47,1,44,65,2,118,65,1,113,11,69,4,64,32,19,4,127,32,19,32,16,65,1,116,106,47,1,0,5,65,0,11,33,12,32,16,65,1,106,33,16,11,2,127,32,8,4,64,32,3,45,0,5,65,15,113,33,5,32,3,45,0,6,33,11,32,3,45,0,4,12,1,11,32,9,40,2,8,33,5,32,9,40,2,4,33,11,32,9,40,2,12,11,33,8,32,1,32,20,54,2,20,32,1,32,3,54,2,16,32,1,32,12,54,2,12,32,1,32,5,32,7,106,34,14,54,2,4,32,1,32,10,32,11,106,34,11,54,2,0,32,1,65,0,32,6,32,5,27,32,8,106,34,6,54,2,8,2,127,32,3,40,0,0,34,5,65,1,113,34,24,4,64,32,3,45,0,7,34,10,33,8,32,6,33,9,32,14,12,1,11,65,0,32,6,32,5,40,2,20,34,7,27,33,9,32,5,40,2,24,33,8,32,5,40,2,16,33,10,32,7,32,14,106,11,33,7,32,11,32,22,75,13,5,32,3,32,23,70,13,4,32,10,32,11,106,33,10,2,64,2,64,2,64,2,64,2,64,32,18,13,0,32,10,32,13,73,13,0,32,24,13,1,32,5,40,2,36,69,13,1,32,5,40,2,48,69,13,1,32,4,32,1,41,2,8,55,3,40,32,4,32,1,41,2,16,55,3,48,32,4,32,1,41,2,0,55,3,32,32,4,32,2,41,2,8,55,3,16,32,4,32,2,41,2,16,55,3,24,32,4,32,2,41,2,0,55,3,8,32,4,65,232,0,106,32,4,65,32,106,32,4,65,8,106,16,51,32,4,40,2,120,69,13,1,12,8,11,32,18,13,1,11,32,10,32,13,75,13,1,12,2,11,32,10,32,13,73,13,1,11,32,3,40,2,0,34,3,65,1,113,13,0,32,3,40,2,36,69,13,0,32,3,40,2,48,13,2,11,32,8,32,9,106,33,6,32,17,65,1,106,34,17,32,21,71,13,0,11,12,4,11,32,3,45,0,44,65,1,113,32,12,114,69,13,0,11,32,0,32,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,3,11,32,0,32,1,32,1,32,4,65,232,0,106,32,12,27,32,5,47,1,44,65,1,113,27,34,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,2,11,32,0,32,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,1,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,32,4,65,128,1,106,36,0,11,185,6,1,18,127,2,64,32,1,40,2,16,40,2,0,34,9,65,1,113,13,0,65,48,65,52,32,3,27,33,20,32,1,40,2,20,33,14,32,1,40,2,0,33,4,32,1,40,2,4,33,5,32,1,40,2,8,33,10,3,64,32,9,40,2,36,69,13,1,65,0,33,1,65,0,33,17,32,9,47,1,66,34,13,4,64,32,14,40,2,8,34,6,40,2,84,32,6,47,1,36,32,13,108,65,1,116,106,33,17,11,32,9,40,2,36,34,19,69,13,1,32,9,32,19,65,3,116,107,33,21,32,4,33,9,32,5,33,6,32,10,33,13,65,0,33,18,65,0,33,15,2,64,3,64,65,0,33,12,2,127,32,21,32,1,65,3,116,106,34,11,40,0,0,34,7,65,1,113,34,10,4,64,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,65,2,118,65,1,113,11,69,4,64,32,17,4,127,32,17,32,18,65,1,116,106,47,1,0,5,65,0,11,33,12,32,18,65,1,106,33,18,11,2,127,32,1,69,4,64,32,9,33,4,32,13,33,10,32,6,12,1,11,2,127,32,10,4,64,32,11,45,0,4,33,4,32,11,45,0,6,33,16,32,11,45,0,5,65,15,113,12,1,11,32,7,40,2,12,33,4,32,7,40,2,4,33,16,32,7,40,2,8,11,33,5,65,0,32,13,32,5,27,32,4,106,33,10,32,9,32,16,106,33,4,32,5,32,6,106,11,33,5,2,127,2,64,2,64,2,64,2,127,2,64,32,11,40,0,0,34,8,65,1,113,34,7,4,64,32,1,65,1,106,33,1,32,10,32,11,45,0,7,34,6,106,33,13,32,4,32,6,106,33,9,32,3,13,1,32,5,33,6,12,3,11,32,8,40,2,24,65,0,32,10,32,8,40,2,20,34,6,27,106,33,13,32,1,65,1,106,33,1,32,8,40,2,16,32,4,106,33,9,32,5,32,6,106,33,6,32,3,69,13,2,32,8,47,1,44,65,1,113,12,1,11,32,5,33,6,32,8,65,1,118,65,1,113,11,32,12,114,13,1,12,2,11,2,64,32,12,65,254,255,3,107,14,2,2,1,0,11,32,12,69,4,64,32,7,4,64,32,8,65,2,113,69,13,3,32,8,65,2,118,65,1,113,69,13,3,12,2,11,32,8,47,1,44,34,7,65,1,113,69,13,2,32,7,65,1,118,65,1,113,69,13,2,12,1,11,32,14,40,2,8,40,2,72,32,12,65,3,108,106,45,0,1,65,1,113,69,13,1,11,32,15,65,1,106,32,2,32,15,71,13,1,26,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,15,11,65,0,33,16,2,64,32,11,40,2,0,34,8,65,1,113,13,0,32,8,40,2,36,69,13,0,32,2,32,15,107,34,7,32,8,32,20,106,40,2,0,34,16,73,13,3,11,32,15,32,16,106,11,33,15,32,1,32,19,71,13,0,11,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,12,2,11,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,32,7,33,2,32,11,40,2,0,34,9,65,1,113,69,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,194,8,2,20,127,1,126,35,0,65,224,0,107,34,3,36,0,2,64,2,64,32,2,69,13,0,32,1,40,2,16,40,2,0,34,5,65,1,113,13,0,3,64,32,5,40,2,36,34,17,69,13,1,32,5,40,2,48,69,13,1,2,64,2,64,32,1,40,2,20,34,18,40,2,8,34,4,40,2,32,69,13,0,32,4,40,2,64,32,5,47,1,66,34,12,65,2,116,106,34,6,47,1,2,34,8,69,13,0,32,4,40,2,68,32,6,47,1,0,65,2,116,106,34,6,32,8,65,2,116,106,33,13,2,64,3,64,32,6,47,1,0,32,2,79,13,1,32,6,65,4,106,34,6,32,13,71,13,0,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,5,11,2,64,3,64,32,13,65,4,107,34,8,47,1,0,32,2,77,13,1,32,8,34,13,32,6,71,13,0,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,5,11,32,12,4,127,32,4,40,2,84,32,4,47,1,36,32,12,108,65,1,116,106,5,65,0,11,33,20,32,5,4,64,32,5,32,17,65,3,116,107,33,22,32,1,40,2,0,33,7,32,1,40,2,4,33,14,32,1,40,2,8,33,9,65,0,33,5,65,0,33,15,3,64,32,6,34,8,65,4,106,33,6,2,64,2,64,2,64,2,64,3,64,65,0,33,16,2,127,32,22,32,5,65,3,116,106,34,10,40,0,0,34,4,65,1,113,34,19,4,64,32,4,65,3,118,65,1,113,12,1,11,32,4,47,1,44,65,2,118,65,1,113,11,69,4,64,32,20,4,127,32,20,32,15,65,1,116,106,47,1,0,5,65,0,11,33,16,32,15,65,1,106,33,15,11,32,5,4,64,2,127,32,19,4,64,32,10,45,0,4,33,11,32,10,45,0,6,33,21,32,10,45,0,5,65,15,113,12,1,11,32,4,40,2,12,33,11,32,4,40,2,4,33,21,32,4,40,2,8,11,33,12,65,0,32,9,32,12,27,32,11,106,33,9,32,12,32,14,106,33,14,32,7,32,21,106,33,7,11,32,3,32,16,54,2,84,32,3,32,9,54,2,80,32,3,32,14,54,2,76,32,3,32,7,54,2,72,32,5,65,1,106,33,5,2,127,32,19,4,64,32,9,32,10,45,0,7,34,11,106,33,9,32,7,32,11,106,33,7,32,4,65,3,118,65,1,113,12,1,11,32,4,40,2,24,65,0,32,9,32,4,40,2,20,34,11,27,106,33,9,32,4,40,2,16,32,7,106,33,7,32,11,32,14,106,33,14,32,4,47,1,44,65,2,118,65,1,113,11,13,1,32,8,45,0,2,32,15,65,1,107,75,4,64,32,5,32,17,70,13,5,12,1,11,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,32,8,45,0,3,65,1,70,4,64,32,6,32,13,70,13,8,32,3,32,3,41,3,80,55,3,8,32,3,32,3,41,3,88,55,3,16,32,3,32,3,41,3,72,55,3,0,32,3,65,48,106,32,3,32,2,16,53,32,3,40,2,64,69,13,3,32,0,32,3,41,2,48,55,2,0,32,0,32,3,65,64,107,41,2,0,55,2,16,32,0,32,3,41,2,56,55,2,8,12,11,11,2,64,2,64,32,19,4,64,32,4,65,2,113,32,16,114,13,1,12,4,11,32,4,45,0,44,65,1,113,13,0,32,16,69,13,1,11,32,0,32,3,41,3,72,55,2,0,32,0,32,3,41,3,88,55,2,16,32,0,32,3,41,3,80,55,2,8,12,11,11,32,4,40,2,36,69,13,1,32,4,40,2,48,69,13,1,32,3,32,3,41,3,88,55,3,40,32,3,32,3,41,3,80,55,3,32,32,3,32,3,41,3,72,55,3,24,32,0,32,3,65,24,106,65,0,65,1,16,52,12,10,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,32,8,33,6,12,1,11,32,6,32,13,71,13,0,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,8,11,32,5,32,17,71,13,1,11,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,4,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,3,11,32,1,32,3,41,3,72,55,2,0,32,1,32,3,41,3,88,34,23,55,2,16,32,1,32,3,41,3,80,55,2,8,32,23,167,40,2,0,34,5,65,1,113,69,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,32,3,65,224,0,106,36,0,11,216,10,2,34,127,2,126,35,0,65,144,1,107,34,3,36,0,2,127,32,1,40,2,16,41,2,0,34,37,167,34,30,65,1,113,4,64,32,37,66,56,136,167,12,1,11,32,30,40,2,16,11,33,31,32,1,40,2,16,33,6,2,127,32,1,40,2,20,34,4,40,0,0,34,5,65,1,113,4,64,32,4,45,0,4,33,11,32,4,45,0,6,33,12,32,4,45,0,5,65,15,113,12,1,11,32,5,40,2,12,33,11,32,5,40,2,4,33,12,32,5,40,2,8,11,33,15,32,1,40,2,0,33,23,32,3,32,4,54,2,140,1,32,3,32,4,54,2,136,1,32,3,65,0,54,2,132,1,32,3,32,11,54,2,128,1,32,3,32,15,54,2,124,32,3,32,12,54,2,120,2,64,2,64,2,64,32,4,32,6,70,13,0,32,3,32,3,41,2,128,1,55,3,80,32,3,32,3,41,2,136,1,55,3,88,32,3,32,3,41,2,120,55,3,72,32,3,32,1,41,2,8,55,3,56,32,3,65,64,107,32,1,41,2,16,55,3,0,32,3,32,1,41,2,0,55,3,48,32,3,65,224,0,106,32,3,65,200,0,106,32,3,65,48,106,16,51,2,127,2,64,32,3,40,2,112,34,5,32,6,70,13,0,32,5,69,13,0,3,64,2,64,32,3,32,3,41,2,112,34,37,55,3,136,1,32,3,32,3,41,2,104,34,38,55,3,128,1,32,3,32,38,55,3,32,32,3,32,37,55,3,40,32,3,32,3,41,2,96,34,37,55,3,120,32,3,32,37,55,3,24,32,3,32,1,41,2,8,55,3,8,32,3,32,1,41,2,16,55,3,16,32,3,32,1,41,2,0,55,3,0,32,3,65,224,0,106,32,3,65,24,106,32,3,16,51,32,3,40,2,112,34,5,32,6,70,13,0,32,5,13,1,11,11,32,3,40,2,136,1,34,4,69,13,2,32,3,40,2,128,1,33,11,32,3,40,2,124,33,15,32,3,40,2,120,33,12,32,3,40,2,140,1,12,1,11,32,4,11,33,19,32,23,32,31,106,33,33,65,48,65,52,32,2,27,33,34,3,64,32,19,33,18,65,0,33,13,65,0,33,16,65,0,33,14,65,0,33,20,2,64,2,127,2,64,2,64,2,64,2,127,65,0,32,4,40,2,0,34,6,65,1,113,13,0,26,32,6,40,2,36,69,4,64,65,0,12,1,11,32,6,47,1,66,34,1,4,64,32,18,40,2,8,34,5,40,2,84,32,5,47,1,36,32,1,108,65,1,116,106,33,20,11,32,12,33,13,32,15,33,16,32,11,33,14,32,6,11,34,1,4,64,65,0,33,21,65,0,32,1,32,1,40,2,36,34,35,65,3,116,107,32,1,65,1,113,27,33,36,65,0,33,1,65,0,33,19,65,0,33,4,65,0,33,11,65,0,33,15,65,0,33,12,2,64,3,64,32,1,32,35,70,13,1,65,0,33,17,2,127,32,36,32,1,65,3,116,106,34,10,40,0,0,34,7,65,1,113,34,22,4,64,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,65,2,118,65,1,113,11,69,4,64,32,20,4,127,32,20,32,21,65,1,116,106,47,1,0,5,65,0,11,33,17,32,21,65,1,106,33,21,11,2,127,32,1,69,4,64,32,14,33,6,32,16,33,5,32,13,12,1,11,2,127,32,22,4,64,32,10,45,0,5,65,15,113,33,8,32,10,45,0,6,33,9,32,10,45,0,4,12,1,11,32,7,40,2,8,33,8,32,7,40,2,4,33,9,32,7,40,2,12,11,65,0,32,14,32,8,27,106,33,6,32,8,32,16,106,33,5,32,9,32,13,106,11,33,8,2,127,32,22,4,64,32,10,45,0,7,34,13,33,14,32,6,33,9,32,5,12,1,11,65,0,32,6,32,7,40,2,20,34,16,27,33,9,32,7,40,2,24,33,14,32,7,40,2,16,33,13,32,5,32,16,106,11,33,16,32,1,65,1,106,33,1,32,9,32,14,106,33,14,32,8,32,13,106,34,13,32,33,77,13,0,32,8,32,23,77,32,8,32,23,73,32,31,27,65,1,70,4,64,32,7,32,30,70,13,1,32,18,33,19,32,10,33,4,32,6,33,11,32,5,33,15,32,8,33,12,12,1,11,2,64,32,2,4,64,32,22,4,127,32,7,65,1,118,65,1,113,5,32,7,47,1,44,65,1,113,11,32,17,114,69,13,1,12,7,11,2,64,32,17,65,254,255,3,107,14,2,1,7,0,11,32,17,69,4,64,32,22,4,64,32,7,65,2,113,69,13,2,32,7,65,2,118,65,1,113,13,8,12,2,11,32,7,47,1,44,34,9,65,1,113,69,13,1,32,9,65,1,118,65,1,113,13,7,12,1,11,32,18,40,2,8,40,2,72,32,17,65,3,108,106,45,0,1,65,1,113,13,6,11,32,10,40,2,0,34,9,65,1,113,13,0,32,9,40,2,36,69,13,0,32,9,32,34,106,40,2,0,69,13,0,11,32,4,13,2,32,10,33,4,32,18,33,19,32,6,33,11,32,5,33,15,32,8,33,12,12,6,11,32,4,13,5,11,32,24,13,1,65,0,33,24,32,26,33,4,32,25,33,19,32,27,33,11,32,28,33,15,32,29,33,12,12,4,11,65,0,12,2,11,32,0,32,25,54,2,20,32,0,32,26,54,2,16,32,0,32,32,54,2,12,32,0,32,27,54,2,8,32,0,32,28,54,2,4,32,0,32,29,54,2,0,12,6,11,32,4,69,13,4,65,1,11,33,24,32,8,33,29,32,5,33,28,32,6,33,27,32,17,33,32,32,10,33,26,32,18,33,25,11,32,4,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,1,11,32,0,32,18,54,2,20,32,0,32,10,54,2,16,32,0,32,17,54,2,12,32,0,32,6,54,2,8,32,0,32,5,54,2,4,32,0,32,8,54,2,0,11,32,3,65,144,1,106,36,0,11,234,16,2,41,127,2,126,35,0,65,192,1,107,34,3,36,0,32,3,32,1,40,2,16,34,39,41,2,0,34,44,55,3,136,1,32,44,66,56,136,33,45,32,44,167,34,4,65,1,113,4,127,32,45,167,32,44,66,48,136,167,65,255,1,113,106,5,32,4,40,2,16,32,4,40,2,4,106,11,33,40,32,4,65,1,113,4,127,32,45,167,5,32,4,40,2,16,11,33,17,32,1,40,2,16,33,5,2,127,32,1,40,2,20,34,8,40,0,0,34,9,65,1,113,4,64,32,8,45,0,5,65,15,113,33,6,32,8,45,0,6,33,10,32,8,45,0,4,12,1,11,32,9,40,2,8,33,6,32,9,40,2,4,33,10,32,9,40,2,12,11,33,4,32,1,40,2,0,33,9,32,3,32,8,54,2,188,1,32,3,32,8,54,2,184,1,32,3,65,0,54,2,180,1,32,3,32,4,54,2,176,1,32,3,32,6,54,2,172,1,32,3,32,10,54,2,168,1,2,64,2,64,2,64,32,5,32,8,70,13,0,32,3,32,3,41,2,176,1,55,3,112,32,3,32,3,41,2,184,1,55,3,120,32,3,32,3,41,2,168,1,55,3,104,32,3,32,1,41,2,8,55,3,88,32,3,32,1,41,2,16,55,3,96,32,3,32,1,41,2,0,55,3,80,32,3,65,144,1,106,32,3,65,232,0,106,32,3,65,208,0,106,16,51,2,127,2,64,32,3,40,2,160,1,34,12,32,5,70,13,0,32,12,69,13,0,3,64,2,64,32,3,32,3,41,2,160,1,34,44,55,3,184,1,32,3,32,3,41,2,152,1,34,45,55,3,176,1,32,3,65,64,107,32,45,55,3,0,32,3,32,44,55,3,72,32,3,32,3,41,2,144,1,34,44,55,3,168,1,32,3,32,44,55,3,56,32,3,32,1,41,2,8,55,3,40,32,3,32,1,41,2,16,55,3,48,32,3,32,1,41,2,0,55,3,32,32,3,65,144,1,106,32,3,65,56,106,32,3,65,32,106,16,51,32,3,40,2,160,1,34,4,32,5,70,13,0,32,4,13,1,11,11,32,3,40,2,184,1,34,8,69,13,2,32,3,40,2,176,1,33,4,32,3,40,2,172,1,33,6,32,3,40,2,168,1,33,10,32,3,40,2,188,1,12,1,11,32,8,11,33,12,32,9,32,17,106,33,27,65,48,65,52,32,2,27,33,41,65,0,33,17,3,64,2,64,2,64,32,8,40,2,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,65,0,33,7,65,0,33,18,32,1,47,1,66,34,5,4,64,32,12,40,2,8,34,9,40,2,84,32,9,47,1,36,32,5,108,65,1,116,106,33,18,11,2,64,2,64,32,1,40,2,36,34,35,69,13,0,2,127,32,1,32,35,65,3,116,107,34,8,40,0,0,34,1,65,1,113,34,5,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,7,69,33,19,65,0,33,11,2,64,32,7,13,0,32,18,69,13,0,32,18,47,1,0,33,11,65,1,33,19,11,2,127,32,5,69,4,64,65,0,32,4,32,1,40,2,20,34,5,27,33,14,32,5,32,6,106,33,36,32,1,40,2,16,33,7,32,1,40,2,24,12,1,11,32,6,33,36,32,4,33,14,32,8,45,0,7,34,7,11,33,15,32,8,32,39,70,4,64,65,0,33,7,12,1,11,2,64,2,64,32,7,32,10,106,34,32,32,27,75,13,0,32,27,32,32,70,4,64,32,40,13,1,32,3,32,8,41,2,0,34,44,55,3,24,32,3,32,44,55,3,128,1,32,3,32,3,41,3,136,1,55,3,16,32,3,65,24,106,32,3,65,16,106,16,56,13,1,32,8,40,2,0,33,1,11,2,64,2,64,2,64,32,2,69,4,64,65,1,33,7,32,8,33,5,32,12,33,9,2,64,32,11,65,254,255,3,107,14,2,2,4,0,11,32,11,69,4,64,2,127,32,1,65,1,113,69,4,64,32,1,47,1,44,34,1,65,1,113,69,13,4,32,1,65,1,118,65,1,113,12,1,11,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,11,69,13,2,12,3,11,32,12,40,2,8,40,2,72,32,11,65,3,108,106,45,0,1,65,1,113,13,2,12,1,11,65,1,33,7,2,127,32,1,65,1,113,69,4,64,32,1,47,1,44,65,1,113,12,1,11,32,1,65,1,118,65,1,113,11,32,11,114,13,1,11,2,64,32,8,40,2,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,65,0,33,7,32,1,32,41,106,40,2,0,13,1,65,0,33,10,65,0,33,6,65,0,33,4,65,0,33,11,65,0,33,5,65,0,33,9,12,2,11,65,0,33,10,65,0,33,6,65,0,33,4,65,0,33,11,65,0,33,5,65,0,33,9,65,0,33,7,12,1,11,32,8,33,5,32,12,33,9,11,65,1,33,37,32,35,65,1,70,13,3,32,14,32,15,106,33,16,3,64,32,7,33,20,32,9,33,21,32,5,33,14,32,11,33,22,32,4,33,23,32,6,33,24,32,10,33,25,65,0,33,15,2,127,32,8,32,37,65,3,116,106,34,13,40,0,0,34,1,65,1,113,34,6,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,18,4,127,32,18,32,19,65,1,116,106,47,1,0,5,65,0,11,33,15,32,19,65,1,106,33,19,11,2,127,32,6,4,64,32,13,45,0,4,33,10,32,13,45,0,6,33,7,32,13,45,0,5,65,15,113,12,1,11,32,1,40,2,12,33,10,32,1,40,2,4,33,7,32,1,40,2,8,11,33,4,65,0,32,16,32,4,27,32,10,106,33,16,32,4,32,36,106,33,26,2,127,32,6,4,64,32,13,45,0,7,34,6,33,42,32,16,33,43,32,26,12,1,11,65,0,32,16,32,1,40,2,20,34,4,27,33,43,32,1,40,2,24,33,42,32,1,40,2,16,33,6,32,4,32,26,106,11,33,36,32,13,32,39,70,4,64,32,20,33,7,32,21,33,9,32,14,33,5,32,22,33,11,32,23,33,4,32,24,33,6,32,25,33,10,12,5,11,2,64,32,6,32,7,32,32,106,34,38,106,34,32,32,27,75,13,0,32,27,32,32,70,4,64,32,40,13,1,32,3,32,13,41,2,0,34,44,55,3,8,32,3,32,44,55,3,128,1,32,3,32,3,41,3,136,1,55,3,0,32,3,65,8,106,32,3,16,56,13,1,32,13,40,2,0,33,1,11,2,64,2,64,2,64,2,64,32,2,4,64,65,1,33,7,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,15,114,69,13,1,12,2,11,65,1,33,7,32,38,33,10,32,26,33,6,32,16,33,4,32,15,33,11,32,13,33,5,32,12,33,9,2,64,32,15,65,254,255,3,107,14,2,1,4,0,11,2,64,32,15,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,2,32,1,65,2,118,65,1,113,69,13,2,12,3,11,32,12,40,2,8,40,2,72,32,15,65,3,108,106,45,0,1,65,1,113,69,13,1,12,2,11,32,1,47,1,44,34,1,65,1,113,69,13,0,32,1,65,1,118,65,1,113,13,1,11,32,13,40,2,0,34,1,65,1,113,13,1,32,1,40,2,36,69,13,1,32,25,33,10,32,24,33,6,32,23,33,4,32,22,33,11,32,14,33,5,32,21,33,9,32,20,33,7,32,1,32,41,106,40,2,0,69,13,2,65,0,33,7,11,32,38,33,10,32,26,33,6,32,16,33,4,32,15,33,11,32,13,33,5,32,12,33,9,12,1,11,32,25,33,10,32,24,33,6,32,23,33,4,32,22,33,11,32,14,33,5,32,21,33,9,32,20,33,7,11,32,42,32,43,106,33,16,32,37,65,1,106,34,37,32,35,71,13,1,12,5,11,11,32,38,33,10,32,16,33,4,32,26,33,6,32,13,33,8,12,1,11,65,0,33,25,65,0,33,24,65,0,33,23,65,0,33,22,65,0,33,14,65,0,33,21,65,0,33,20,11,32,14,69,13,3,32,25,33,31,32,24,33,30,32,23,33,29,32,22,33,34,32,14,33,28,32,21,33,17,32,20,33,33,12,3,11,65,0,33,9,65,0,33,5,65,0,33,11,65,0,33,4,65,0,33,6,65,0,33,10,11,32,7,65,1,113,4,64,32,0,32,9,54,2,20,32,0,32,5,54,2,16,32,0,32,11,54,2,12,32,0,32,4,54,2,8,32,0,32,6,54,2,4,32,0,32,10,54,2,0,12,6,11,32,5,69,13,0,32,9,33,12,32,5,33,8,12,1,11,32,33,65,1,113,13,3,65,0,33,34,32,17,33,12,32,28,33,8,32,29,33,4,32,30,33,6,32,31,33,10,65,0,33,31,65,0,33,30,65,0,33,29,65,0,33,28,65,0,33,17,65,0,33,33,11,32,8,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,1,11,32,0,32,17,54,2,20,32,0,32,28,54,2,16,32,0,32,34,54,2,12,32,0,32,29,54,2,8,32,0,32,30,54,2,4,32,0,32,31,54,2,0,11,32,3,65,192,1,106,36,0,11,201,1,2,6,127,1,126,35,0,65,32,107,34,2,36,0,32,0,40,2,0,33,4,32,0,45,0,0,65,1,113,69,4,64,32,4,40,2,36,33,3,11,32,1,40,2,0,33,6,3,64,2,64,32,3,65,0,71,33,5,32,3,69,13,0,32,2,32,4,32,4,40,2,36,65,3,116,107,32,3,65,1,107,34,3,65,3,116,106,41,2,0,34,8,55,3,24,32,8,167,34,0,65,1,113,4,127,32,8,66,56,136,167,32,8,66,48,136,167,65,255,1,113,106,5,32,0,40,2,16,32,0,40,2,4,106,11,69,34,7,32,0,32,6,71,113,69,4,64,32,7,33,5,12,1,11,32,2,32,2,41,3,24,55,3,16,32,2,32,1,41,2,0,55,3,8,32,2,65,16,106,32,2,65,8,106,16,56,69,13,1,11,11,32,2,65,32,106,36,0,32,5,11,203,6,2,23,127,1,126,32,1,40,2,20,33,17,32,1,40,2,16,33,6,32,1,40,2,8,33,7,32,1,40,2,4,33,8,32,1,40,2,0,33,4,2,64,3,64,32,27,66,32,136,167,33,20,32,27,167,33,21,3,64,65,0,33,1,65,0,33,9,65,0,33,10,65,0,33,14,65,0,33,12,2,127,65,0,32,6,40,2,0,34,11,65,1,113,13,0,26,32,11,40,2,36,69,4,64,65,0,12,1,11,32,11,47,1,66,34,5,4,64,32,17,40,2,8,34,9,40,2,84,32,9,47,1,36,32,5,108,65,1,116,106,33,14,11,32,8,33,9,32,7,33,10,32,11,33,12,32,4,11,33,5,65,0,33,11,3,64,2,64,32,12,69,13,0,32,1,32,12,65,36,106,40,2,0,34,6,70,13,0,3,64,65,0,33,15,2,127,32,1,65,3,116,65,0,32,12,32,6,65,3,116,107,32,12,65,1,113,27,106,34,6,40,0,0,34,4,65,1,113,34,8,4,64,32,4,65,3,118,65,1,113,12,1,11,32,4,47,1,44,65,2,118,65,1,113,11,69,4,64,32,14,4,127,32,14,32,11,65,1,116,106,47,1,0,5,65,0,11,33,15,32,11,65,1,106,33,11,11,2,127,32,1,69,4,64,32,5,33,4,32,10,33,7,32,9,12,1,11,2,127,32,8,4,64,32,6,45,0,5,65,15,113,33,8,32,6,45,0,4,33,7,32,6,45,0,6,12,1,11,32,4,40,2,12,33,7,32,4,40,2,8,33,8,32,4,40,2,4,11,33,4,65,0,32,10,32,8,27,32,7,106,33,7,32,4,32,5,106,33,4,32,8,32,9,106,11,33,8,32,0,32,17,54,2,20,32,0,32,6,54,2,16,32,0,32,15,54,2,12,32,0,32,7,54,2,8,32,0,32,8,54,2,4,32,0,32,4,54,2,0,2,127,32,6,40,0,0,34,5,65,1,113,4,64,32,6,45,0,7,34,5,33,10,32,7,33,16,32,8,12,1,11,65,0,32,7,32,5,40,2,20,34,9,27,33,16,32,5,40,2,24,33,10,32,5,40,2,16,33,5,32,8,32,9,106,11,33,9,32,1,65,1,106,33,1,32,10,32,16,106,33,10,32,4,32,5,106,33,5,2,64,2,127,32,6,41,2,0,34,27,167,34,13,65,1,113,34,19,4,64,32,27,66,56,136,167,12,1,11,32,13,40,2,16,11,32,4,106,32,2,77,13,0,2,64,32,3,4,64,32,19,4,127,32,13,65,1,118,65,1,113,5,32,13,47,1,44,65,1,113,11,32,15,114,69,13,1,12,8,11,2,64,32,15,65,254,255,3,107,14,2,1,8,0,11,32,15,69,4,64,32,19,4,64,32,13,65,2,113,69,13,2,32,13,65,2,118,65,1,113,69,13,2,12,9,11,32,13,47,1,44,34,16,65,1,113,69,13,1,32,16,65,1,118,65,1,113,69,13,1,12,8,11,32,17,40,2,8,40,2,72,32,15,65,3,108,106,45,0,1,65,1,113,13,7,11,32,19,13,0,32,13,40,2,36,34,16,69,13,0,32,13,40,2,48,69,13,0,32,1,32,16,79,13,4,32,9,173,32,10,173,66,32,134,132,33,27,65,1,33,18,32,12,33,22,32,5,33,23,32,1,33,24,32,11,33,25,32,14,33,26,12,5,11,32,1,32,12,40,2,36,34,6,71,13,0,11,11,32,18,33,7,65,0,33,18,32,23,33,5,32,21,33,9,32,20,33,10,32,24,33,1,32,25,33,11,32,26,33,14,32,22,33,12,32,7,13,0,11,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,11,230,6,1,16,127,32,2,32,3,75,4,64,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,15,11,32,1,65,8,106,40,2,0,33,8,32,1,65,16,106,40,2,0,33,5,32,1,40,2,20,33,19,32,1,40,2,4,33,11,32,1,40,2,0,33,9,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,32,0,32,1,41,2,0,55,2,0,2,64,32,5,40,2,0,34,1,65,1,113,13,0,3,64,32,1,40,2,36,69,13,1,32,1,47,1,66,34,12,4,127,32,19,40,2,8,34,5,40,2,84,32,5,47,1,36,32,12,108,65,1,116,106,5,65,0,11,33,18,32,1,40,2,36,34,20,69,13,1,2,127,32,1,32,20,65,3,116,107,34,12,40,0,0,34,1,65,1,113,34,5,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,7,69,33,14,65,0,33,10,2,64,32,7,13,0,32,18,69,13,0,32,18,47,1,0,33,10,65,1,33,14,11,2,127,32,5,69,4,64,65,0,32,8,32,1,40,2,20,34,5,27,33,13,32,1,40,2,24,33,6,32,1,40,2,16,33,7,32,5,32,11,106,12,1,11,32,12,45,0,7,34,7,33,6,32,8,33,13,32,11,11,33,5,2,64,2,64,32,7,32,9,106,34,15,32,3,73,13,0,32,7,69,4,64,32,12,33,6,12,2,11,32,2,32,15,79,13,0,32,12,33,6,12,1,11,65,1,33,7,32,20,65,1,70,13,2,32,6,32,13,106,33,8,3,64,65,0,33,10,2,127,32,12,32,7,65,3,116,106,34,6,40,0,0,34,1,65,1,113,34,16,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,18,4,127,32,18,32,14,65,1,116,106,47,1,0,5,65,0,11,33,10,32,14,65,1,106,33,14,11,2,127,32,7,69,4,64,32,5,33,11,32,15,12,1,11,2,127,32,16,4,64,32,6,45,0,5,65,15,113,33,9,32,6,45,0,6,33,17,32,6,45,0,4,12,1,11,32,1,40,2,8,33,9,32,1,40,2,4,33,17,32,1,40,2,12,11,65,0,32,8,32,9,27,106,33,8,32,5,32,9,106,33,11,32,15,32,17,106,11,33,9,2,127,32,16,4,64,32,6,45,0,7,34,13,33,17,32,8,33,16,32,11,12,1,11,65,0,32,8,32,1,40,2,20,34,5,27,33,16,32,1,40,2,24,33,17,32,1,40,2,16,33,13,32,5,32,11,106,11,33,5,32,3,32,9,32,13,106,34,15,77,4,64,32,13,69,13,2,32,2,32,15,73,13,2,11,32,16,32,17,106,33,8,32,7,65,1,106,34,7,32,20,71,13,0,11,12,2,11,32,2,32,9,73,13,1,2,64,2,64,32,4,4,64,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,10,114,13,1,12,2,11,2,64,32,10,65,254,255,3,107,14,2,2,1,0,11,2,64,32,10,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,13,2,12,3,11,32,19,40,2,8,40,2,72,32,10,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,1,47,1,44,34,1,65,1,113,69,13,1,32,1,65,1,118,65,1,113,69,13,1,11,32,0,32,19,54,2,20,32,0,32,6,54,2,16,32,0,32,10,54,2,12,32,0,32,8,54,2,8,32,0,32,11,54,2,4,32,0,32,9,54,2,0,11,32,6,40,2,0,34,1,65,1,113,69,13,0,11,11,11,228,7,1,15,127,2,64,32,2,32,4,77,4,64,32,2,32,4,71,13,1,32,3,32,5,77,13,1,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,15,11,32,1,65,8,106,40,2,0,33,10,32,1,65,16,106,40,2,0,33,7,32,1,40,2,20,33,20,32,1,40,2,4,33,8,32,1,40,2,0,33,14,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,32,0,32,1,41,2,0,55,2,0,2,64,32,7,40,2,0,34,1,65,1,113,13,0,3,64,32,1,40,2,36,69,13,1,32,1,47,1,66,34,15,4,127,32,20,40,2,8,34,7,40,2,84,32,7,47,1,36,32,15,108,65,1,116,106,5,65,0,11,33,19,32,1,40,2,36,34,21,69,13,1,2,127,32,1,32,21,65,3,116,107,34,16,40,0,0,34,1,65,1,113,34,7,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,11,69,33,17,65,0,33,12,2,64,32,11,13,0,32,19,69,13,0,32,19,47,1,0,33,12,65,1,33,17,11,2,127,32,7,69,4,64,65,0,32,10,32,1,40,2,20,34,7,27,33,11,32,1,40,2,24,33,9,32,1,40,2,16,33,13,32,7,32,8,106,12,1,11,32,16,45,0,7,34,13,33,9,32,10,33,11,32,8,11,33,7,32,9,32,11,106,33,9,2,64,2,64,32,4,32,7,75,13,0,32,4,32,7,70,32,5,32,9,75,113,13,0,32,7,32,8,70,32,9,32,10,70,113,69,4,64,32,2,32,7,71,13,2,32,3,32,9,79,13,1,12,2,11,32,2,32,8,71,13,1,32,3,32,10,77,13,1,11,65,1,33,11,32,21,65,1,70,13,2,32,13,32,14,106,33,14,3,64,65,0,33,12,2,127,32,16,32,11,65,3,116,106,34,15,40,0,0,34,1,65,1,113,34,13,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,19,4,127,32,19,32,17,65,1,116,106,47,1,0,5,65,0,11,33,12,32,17,65,1,106,33,17,11,2,127,32,11,69,4,64,32,9,33,10,32,7,12,1,11,2,127,32,13,4,64,32,15,45,0,5,65,15,113,33,8,32,15,45,0,6,33,18,32,15,45,0,4,12,1,11,32,1,40,2,8,33,8,32,1,40,2,4,33,18,32,1,40,2,12,11,65,0,32,9,32,8,27,106,33,10,32,14,32,18,106,33,14,32,7,32,8,106,11,33,8,2,127,32,13,4,64,32,15,45,0,7,34,18,33,9,32,10,33,13,32,8,12,1,11,65,0,32,10,32,1,40,2,20,34,7,27,33,13,32,1,40,2,24,33,9,32,1,40,2,16,33,18,32,7,32,8,106,11,33,7,32,9,32,13,106,33,9,2,64,32,4,32,7,75,13,0,32,4,32,7,70,32,5,32,9,75,113,13,0,2,64,2,64,32,7,32,8,71,13,0,32,9,32,10,71,13,0,32,2,32,8,71,13,1,32,3,32,10,77,13,1,12,2,11,32,2,32,7,71,13,0,32,3,32,9,79,13,1,11,32,15,33,16,12,2,11,32,14,32,18,106,33,14,32,11,65,1,106,34,11,32,21,71,13,0,11,12,2,11,32,2,32,8,73,13,1,32,2,32,8,70,32,3,32,10,73,113,13,1,2,64,2,64,32,6,4,64,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,12,114,13,1,12,2,11,2,64,32,12,65,254,255,3,107,14,2,2,1,0,11,2,64,32,12,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,13,2,12,3,11,32,20,40,2,8,40,2,72,32,12,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,1,47,1,44,34,1,65,1,113,69,13,1,32,1,65,1,118,65,1,113,69,13,1,11,32,0,32,20,54,2,20,32,0,32,16,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,8,54,2,4,32,0,32,14,54,2,0,11,32,16,40,2,0,34,1,65,1,113,69,13,0,11,11,11,209,5,2,7,127,1,126,2,64,32,1,45,0,0,65,1,113,13,0,32,0,65,0,54,2,16,32,1,40,2,0,34,2,40,2,0,26,32,2,32,2,40,2,0,34,2,65,1,107,54,2,0,32,2,65,1,70,4,64,32,0,40,2,12,33,2,32,0,32,0,40,2,16,34,3,65,1,106,34,4,32,0,40,2,20,34,5,75,4,127,65,8,32,5,65,1,116,34,3,32,4,32,3,32,4,75,27,34,3,32,3,65,8,77,27,34,4,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,0,32,4,54,2,20,32,0,32,2,54,2,12,32,0,40,2,16,34,3,65,1,106,5,32,4,11,54,2,16,32,2,32,3,65,3,116,106,32,1,41,2,0,55,2,0,11,32,0,40,2,16,34,1,69,13,0,3,64,32,0,32,1,65,1,107,34,1,54,2,16,2,64,32,0,40,2,12,32,1,65,3,116,106,40,2,0,34,4,40,2,36,34,2,4,64,65,0,33,1,65,0,32,4,32,2,65,3,116,107,34,6,32,4,65,1,113,27,33,7,3,64,2,64,32,6,32,1,65,3,116,106,41,2,0,34,9,167,34,2,65,1,113,13,0,32,2,32,2,40,2,0,34,2,65,1,107,54,2,0,32,2,65,1,71,13,0,32,0,40,2,12,33,2,32,0,32,0,40,2,16,34,3,65,1,106,34,5,32,0,40,2,20,34,8,75,4,127,65,8,32,8,65,1,116,34,3,32,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,5,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,20,32,0,32,2,54,2,12,32,0,40,2,16,34,3,65,1,106,5,32,5,11,54,2,16,32,2,32,3,65,3,116,106,32,9,55,2,0,11,32,1,65,1,106,34,1,32,4,40,2,36,73,13,0,11,32,7,35,6,40,2,0,17,2,0,12,1,11,2,64,32,4,45,0,44,65,192,0,113,69,13,0,32,4,40,2,72,65,25,73,13,0,32,4,40,2,48,35,6,40,2,0,17,2,0,11,2,64,32,0,40,2,8,34,2,69,13,0,32,0,40,2,4,34,5,65,1,106,34,1,65,32,75,13,0,32,0,40,2,0,33,3,32,0,32,1,32,2,75,4,127,65,8,32,2,65,1,116,34,2,32,1,32,1,32,2,73,27,34,1,32,1,65,8,77,27,34,2,65,3,116,33,1,2,127,32,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,1,11,54,2,4,32,3,32,5,65,3,116,106,34,1,65,0,54,2,4,32,1,32,4,54,2,0,12,1,11,32,4,35,6,40,2,0,17,2,0,11,32,0,40,2,16,34,1,13,0,11,11,11,244,2,1,7,127,35,0,65,16,107,34,3,36,0,32,0,40,2,48,34,1,4,64,32,1,32,1,40,2,148,1,65,1,106,54,2,148,1,11,32,0,40,2,4,34,1,4,64,32,0,65,36,106,33,6,3,64,32,0,40,2,0,32,4,65,5,116,106,34,2,40,2,0,4,64,32,0,40,2,52,33,5,32,2,40,2,12,4,64,32,3,32,2,41,2,12,55,3,8,32,5,32,3,65,8,106,16,60,11,32,2,40,2,20,4,64,32,3,32,2,41,2,20,55,3,0,32,5,32,3,16,60,11,32,2,40,2,4,34,1,4,64,32,1,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,1,65,0,54,2,8,32,1,66,0,55,2,0,32,2,40,2,4,5,32,1,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,6,32,5,16,65,32,0,40,2,4,33,1,11,32,4,65,1,106,34,4,32,1,73,13,0,11,11,32,0,65,0,54,2,4,32,0,40,2,0,33,1,32,0,32,0,40,2,8,4,127,65,0,5,2,127,32,1,4,64,32,1,65,128,2,35,4,40,2,0,17,1,0,12,1,11,65,128,2,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,11,34,4,65,1,106,54,2,4,32,0,40,2,48,33,2,32,1,32,4,65,5,116,106,34,0,66,0,55,2,4,32,0,32,2,54,2,0,32,0,66,0,55,2,12,32,0,66,0,55,2,20,32,0,65,0,54,2,28,32,3,65,16,106,36,0,11,235,7,1,10,127,35,0,65,32,107,34,4,36,0,32,0,4,64,32,0,16,63,32,0,65,0,54,2,160,9,32,0,40,2,132,9,33,1,35,0,65,16,107,34,6,36,0,32,1,40,2,12,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,20,32,1,66,0,55,2,12,11,32,1,40,2,24,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,32,32,1,66,0,55,2,24,11,32,1,40,2,48,32,1,65,36,106,34,8,32,1,40,2,52,16,65,32,1,40,2,4,34,3,4,64,3,64,32,1,40,2,0,32,5,65,5,116,106,34,2,40,2,0,4,64,32,1,40,2,52,33,7,32,2,40,2,12,4,64,32,6,32,2,41,2,12,55,3,8,32,7,32,6,65,8,106,16,60,11,32,2,40,2,20,4,64,32,6,32,2,41,2,20,55,3,0,32,7,32,6,16,60,11,32,2,40,2,4,34,3,4,64,32,3,40,2,0,34,10,4,127,32,10,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,2,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,8,32,7,16,65,32,1,40,2,4,33,3,11,32,5,65,1,106,34,5,32,3,73,13,0,11,11,65,0,33,3,32,1,65,0,54,2,4,2,64,32,1,40,2,36,34,5,69,13,0,32,1,40,2,40,4,64,3,64,32,1,40,2,36,32,3,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,3,65,1,106,34,3,32,1,40,2,40,73,13,0,11,32,8,40,2,0,34,5,69,13,1,11,32,5,35,6,40,2,0,17,2,0,32,1,65,0,54,2,44,32,1,66,0,55,2,36,11,32,1,40,2,0,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,8,32,1,66,0,55,2,0,11,32,1,35,6,40,2,0,17,2,0,32,6,65,16,106,36,0,32,0,40,2,168,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,176,9,32,0,66,0,55,2,168,9,11,32,0,40,2,188,10,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,196,10,32,0,66,0,55,2,188,10,11,32,0,40,2,180,10,4,64,32,4,32,0,65,180,10,106,41,2,0,55,3,24,32,0,65,136,9,106,32,4,65,24,106,16,60,32,0,66,0,55,2,180,10,11,32,0,40,2,68,35,6,40,2,0,17,2,0,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,4,32,1,41,2,0,55,3,16,32,0,65,136,9,106,32,4,65,16,106,16,60,11,32,0,40,2,232,9,4,64,32,4,32,0,65,232,9,106,41,2,0,55,3,8,32,0,65,136,9,106,32,4,65,8,106,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,2,64,32,0,40,2,136,9,34,1,69,13,0,32,0,40,2,140,9,4,64,3,64,32,0,40,2,136,9,32,9,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,9,65,1,106,34,9,32,0,40,2,140,9,73,13,0,11,32,0,40,2,136,9,34,1,69,13,1,11,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,144,9,32,0,66,0,55,2,136,9,11,32,0,40,2,148,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,156,9,32,0,66,0,55,2,148,9,11,32,0,40,2,244,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,252,9,32,0,66,0,55,2,244,9,11,32,0,40,2,188,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,196,9,32,0,66,0,55,2,188,9,11,32,0,40,2,200,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,208,9,32,0,66,0,55,2,200,9,11,32,0,40,2,212,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,220,9,32,0,66,0,55,2,212,9,11,32,0,35,6,40,2,0,17,2,0,11,32,4,65,32,106,36,0,11,217,4,2,7,127,1,126,35,0,65,32,107,34,2,36,0,2,64,32,0,40,2,160,9,34,1,69,13,0,32,0,40,2,136,10,34,3,69,13,0,32,1,40,2,116,34,1,69,13,0,32,3,32,1,17,2,0,11,32,0,65,0,54,2,136,10,32,0,40,2,180,10,4,64,32,2,32,0,65,180,10,106,41,2,0,55,3,24,32,0,65,136,9,106,32,2,65,24,106,16,60,32,0,66,0,55,2,180,10,11,32,0,66,0,55,2,128,10,32,0,65,0,54,2,248,9,32,0,40,2,32,4,64,65,0,33,1,32,0,65,0,54,2,124,32,0,65,0,58,0,128,1,32,0,66,0,55,2,36,32,0,65,0,54,2,32,32,0,40,2,68,33,5,2,64,32,0,40,2,100,34,3,4,64,3,64,2,64,32,5,32,1,65,24,108,106,34,6,40,2,20,34,7,69,13,0,32,7,32,6,40,2,16,34,4,77,13,0,32,6,41,2,0,33,8,32,0,32,1,54,2,104,32,0,32,8,55,2,36,32,0,32,4,54,2,32,65,0,33,1,32,0,40,2,72,69,13,3,32,0,40,2,108,34,3,32,4,77,4,64,32,4,32,0,40,2,112,32,3,106,73,13,4,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,3,11,32,1,65,1,106,34,1,32,3,71,13,0,11,11,32,0,32,3,54,2,104,32,5,32,3,65,24,108,106,34,1,65,4,107,40,2,0,33,3,32,1,65,16,107,41,2,0,33,8,32,0,65,0,54,2,72,32,0,32,8,55,2,36,32,0,32,3,54,2,32,32,0,66,0,55,2,108,65,1,33,1,11,32,0,65,0,54,2,0,32,0,32,1,54,2,116,11,32,0,40,2,132,9,16,61,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,2,32,1,41,2,0,55,3,16,32,0,65,136,9,106,32,2,65,16,106,16,60,11,32,0,40,2,232,9,4,64,32,2,32,0,65,232,9,106,41,2,0,55,3,8,32,0,65,136,9,106,32,2,65,8,106,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,32,0,40,2,180,9,4,64,32,2,32,0,65,180,9,106,41,2,0,55,3,0,32,0,65,136,9,106,32,2,16,60,32,0,66,0,55,2,180,9,11,32,0,65,0,58,0,226,10,32,0,65,0,54,2,168,10,32,0,65,0,59,1,224,10,32,0,66,0,55,3,208,10,32,0,66,0,55,3,200,10,32,0,65,216,10,106,65,0,54,2,0,32,2,65,32,106,36,0,11,51,1,1,127,32,0,16,63,32,0,65,0,54,2,160,9,2,64,32,1,4,64,32,1,40,2,0,65,16,107,65,125,73,13,1,11,32,0,32,1,54,2,160,9,65,1,33,2,11,32,2,11,248,2,1,5,127,35,0,65,32,107,34,3,36,0,3,64,2,64,32,0,32,0,40,2,148,1,65,1,107,34,5,54,2,148,1,32,5,13,0,32,0,47,1,144,1,34,5,4,127,32,5,65,1,107,34,5,4,64,32,0,65,16,106,33,6,3,64,32,3,32,6,32,5,65,4,116,106,34,4,41,2,8,55,3,24,32,3,32,4,41,2,0,55,3,16,32,3,40,2,20,4,64,32,3,32,3,41,2,20,55,3,8,32,2,32,3,65,8,106,16,60,11,32,3,40,2,16,32,1,32,2,16,65,32,5,65,1,107,34,5,13,0,11,11,32,3,32,0,41,2,24,55,3,24,32,3,32,0,41,2,16,55,3,16,32,3,40,2,20,4,64,32,3,32,3,41,2,20,55,3,0,32,2,32,3,16,60,11,32,0,40,2,16,5,65,0,11,33,5,2,64,32,1,40,2,4,34,4,65,49,77,4,64,32,1,40,2,0,33,6,32,1,40,2,8,34,7,32,4,77,4,64,65,8,32,7,65,1,116,34,7,32,4,65,1,106,34,4,32,4,32,7,73,27,34,4,32,4,65,8,77,27,34,7,65,2,116,33,4,2,127,32,6,4,64,32,6,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,6,32,1,32,7,54,2,8,32,1,32,6,54,2,0,32,1,40,2,4,33,4,11,32,1,32,4,65,1,106,54,2,4,32,6,32,4,65,2,116,106,32,0,54,2,0,12,1,11,32,0,35,6,40,2,0,17,2,0,11,32,5,34,0,13,1,11,11,32,3,65,32,106,36,0,11,8,0,32,0,41,3,160,10,11,10,0,32,0,32,1,55,3,160,10,11,138,3,2,5,127,1,126,35,1,65,252,11,106,33,5,65,1,33,4,2,64,2,64,32,1,69,13,0,32,2,69,13,0,65,0,33,5,3,64,65,0,33,4,32,5,32,1,32,3,65,24,108,106,34,6,40,2,16,34,7,75,13,2,32,6,40,2,20,34,5,32,7,73,13,2,32,3,65,1,106,34,3,32,2,71,13,0,11,32,2,33,4,32,1,33,5,11,32,0,32,0,40,2,68,32,4,65,24,108,34,1,35,4,40,2,0,17,1,0,34,2,54,2,68,32,1,4,64,32,2,32,5,32,1,252,10,0,0,11,32,0,32,4,54,2,100,32,0,40,2,68,33,5,32,0,40,0,32,33,1,65,0,33,3,2,64,3,64,2,64,32,5,32,3,65,24,108,106,34,6,40,2,20,34,7,32,1,77,13,0,32,7,32,6,40,2,16,34,2,77,13,0,32,1,32,2,77,4,64,32,0,32,6,41,2,0,55,2,36,32,0,32,2,54,2,32,32,2,33,1,11,32,0,32,3,54,2,104,65,0,33,3,32,0,40,2,72,69,13,2,32,0,40,2,108,34,2,32,1,77,4,64,32,1,32,0,40,2,112,32,2,106,73,13,3,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,2,11,32,3,65,1,106,34,3,32,4,71,13,0,11,32,0,32,4,54,2,104,32,5,32,4,65,24,108,106,34,1,65,4,107,40,2,0,33,2,32,1,65,16,107,41,2,0,33,8,32,0,65,0,54,2,72,32,0,32,8,55,2,36,32,0,32,2,54,2,32,32,0,66,0,55,2,108,65,1,33,3,11,32,0,65,0,54,2,0,32,0,32,3,54,2,116,65,1,33,4,11,32,4,11,248,3,1,5,127,35,1,65,171,10,106,33,5,2,64,2,64,2,64,32,3,2,127,32,0,40,0,0,34,6,65,1,113,4,64,32,6,65,128,254,3,113,65,8,118,12,1,11,32,6,47,1,40,11,32,3,27,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,5,12,1,11,65,0,33,5,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,5,11,3,64,2,64,2,64,2,64,2,64,2,64,2,64,32,5,45,0,0,34,3,14,35,5,3,3,3,3,3,3,3,3,1,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,11,35,1,65,139,8,106,32,4,16,244,1,32,5,65,1,106,33,5,12,5,11,35,1,65,154,3,106,32,4,16,244,1,32,5,65,1,106,33,5,12,4,11,32,3,65,220,0,70,13,1,11,32,3,192,32,4,16,241,1,32,5,65,1,106,33,5,12,2,11,65,220,0,32,4,16,241,1,32,5,44,0,0,32,4,16,241,1,32,5,65,1,106,33,5,12,1,11,11,2,64,32,0,40,0,0,34,3,65,1,113,13,0,32,3,40,2,36,34,9,69,13,0,32,3,47,1,66,32,2,47,1,36,108,33,3,65,0,33,6,3,64,65,0,33,7,2,64,2,127,32,0,45,0,0,65,1,113,4,127,65,0,5,32,0,40,2,0,34,5,32,5,40,2,36,65,3,116,107,11,32,6,65,3,116,106,34,5,40,0,0,34,8,65,1,113,4,64,32,8,65,3,118,65,1,113,12,1,11,32,8,47,1,44,65,2,118,65,1,113,11,13,0,32,3,69,13,0,32,2,40,2,84,32,3,65,1,116,106,47,1,0,33,7,32,3,65,1,106,33,3,11,32,5,32,1,32,2,32,7,32,4,16,69,2,127,32,5,40,0,0,34,7,65,1,113,4,64,32,5,45,0,6,32,5,45,0,7,106,12,1,11,32,7,40,2,16,32,7,40,2,4,106,11,32,1,106,33,1,32,6,65,1,106,34,6,32,9,71,13,0,11,11,11,173,9,1,14,127,35,0,65,48,107,34,6,36,0,32,0,40,2,32,65,31,77,4,64,2,127,32,0,40,2,24,34,3,4,64,32,3,65,128,6,35,4,40,2,0,17,1,0,12,1,11,65,128,6,35,5,40,2,0,17,0,0,11,33,3,32,0,65,32,54,2,32,32,0,32,3,54,2,24,11,65,0,33,3,32,0,65,0,54,2,28,35,8,33,5,2,64,32,0,40,2,4,34,4,69,13,0,32,2,32,5,40,2,0,32,2,27,33,10,3,64,32,0,40,2,0,32,3,65,5,116,106,34,7,40,2,28,65,2,71,4,64,32,0,40,2,24,33,4,32,0,32,0,40,2,28,34,2,65,1,106,34,5,32,0,40,2,32,34,8,75,4,127,65,8,32,8,65,1,116,34,2,32,5,32,2,32,5,75,27,34,2,32,2,65,8,77,27,34,5,65,24,108,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,32,32,0,32,4,54,2,24,32,0,40,2,28,34,2,65,1,106,5,32,5,11,54,2,28,32,6,65,0,54,2,40,32,6,66,0,55,3,32,32,6,66,0,55,3,24,32,4,32,2,65,24,108,106,34,2,32,7,40,2,0,54,2,0,32,2,32,6,40,2,40,54,2,20,32,2,32,6,41,3,32,55,2,12,32,2,32,6,41,3,24,55,2,4,32,0,40,2,4,33,4,11,32,3,65,1,106,34,3,32,4,73,13,0,11,32,0,40,2,28,34,4,69,13,0,65,1,33,3,65,0,33,2,65,0,33,5,3,64,2,64,65,0,33,11,65,1,33,7,32,3,69,13,0,3,64,32,11,65,24,108,34,13,32,0,40,2,24,106,34,3,40,2,0,33,8,32,6,32,3,40,2,20,54,2,16,32,6,32,3,41,2,12,55,3,8,32,6,32,3,41,2,4,55,3,0,65,0,33,3,2,64,32,2,4,64,3,64,32,5,32,3,65,2,116,106,40,2,0,32,8,70,13,2,32,3,65,1,106,34,3,32,2,71,13,0,11,11,32,8,69,13,0,32,8,47,1,144,1,4,64,32,8,65,16,106,33,14,65,0,33,7,3,64,32,14,32,7,65,4,116,106,34,3,40,2,0,33,15,2,64,32,3,40,2,4,34,4,69,13,0,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,4,65,128,254,3,113,65,8,118,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,1,40,2,8,32,1,40,2,4,106,32,4,77,13,0,32,1,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,3,64,2,64,2,64,2,64,2,64,2,64,32,3,45,0,0,34,4,14,35,6,4,4,4,4,4,4,4,4,3,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,0,11,32,4,65,220,0,71,13,3,11,65,220,0,32,10,16,241,1,32,3,44,0,0,32,10,16,241,1,32,3,65,1,106,33,3,12,3,11,35,1,65,139,8,106,32,10,16,244,1,32,3,65,1,106,33,3,12,2,11,35,1,65,154,3,106,32,10,16,244,1,32,3,65,1,106,33,3,12,1,11,32,4,192,32,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,127,32,7,69,4,64,32,0,40,2,24,32,13,106,12,1,11,32,0,40,2,24,33,3,32,0,32,0,40,2,28,34,9,65,1,106,34,4,32,0,40,2,32,34,16,75,4,127,65,8,32,16,65,1,116,34,9,32,4,32,4,32,9,73,27,34,4,32,4,65,8,77,27,34,9,65,24,108,33,4,2,127,32,3,4,64,32,3,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,3,32,0,32,9,54,2,32,32,0,32,3,54,2,24,32,0,40,2,28,34,9,65,1,106,5,32,4,11,54,2,28,32,3,32,9,65,24,108,106,34,3,32,8,54,2,0,32,3,32,6,40,2,16,54,2,20,32,3,32,6,41,3,8,55,2,12,32,3,32,6,41,3,0,55,2,4,32,0,40,2,24,32,0,40,2,28,65,24,108,106,65,24,107,11,32,15,54,2,0,32,7,65,1,106,34,7,32,8,47,1,144,1,73,13,0,11,11,2,64,32,2,65,1,106,34,3,32,12,77,13,0,65,8,32,12,65,1,116,34,4,32,3,32,3,32,4,73,27,34,4,32,4,65,8,77,27,34,12,65,2,116,33,4,32,5,4,64,32,5,32,4,35,4,40,2,0,17,1,0,33,5,12,1,11,32,4,35,5,40,2,0,17,0,0,33,5,11,32,5,32,2,65,2,116,106,32,8,54,2,0,32,0,40,2,28,33,4,65,0,33,7,32,3,33,2,11,32,11,65,1,106,34,11,32,4,73,13,0,11,32,4,33,3,32,7,65,1,113,69,13,1,11,11,32,5,69,13,0,32,5,35,6,40,2,0,17,2,0,11,32,6,65,48,106,36,0,11,232,1,1,6,127,35,0,65,16,107,34,4,36,0,32,0,40,2,0,34,2,32,1,65,5,116,34,6,106,34,3,40,2,0,4,64,32,0,40,2,52,33,5,32,3,40,2,12,4,64,32,4,32,3,41,2,12,55,3,8,32,5,32,4,65,8,106,16,60,11,32,3,40,2,20,4,64,32,4,32,3,41,2,20,55,3,0,32,5,32,4,16,60,11,32,3,40,2,4,34,2,4,64,32,2,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,3,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,3,40,2,0,32,0,65,36,106,32,5,16,65,32,0,40,2,0,33,2,11,32,0,40,2,4,32,1,65,127,115,106,65,5,116,34,1,4,64,32,2,32,6,106,34,2,32,2,65,32,106,32,1,252,10,0,0,11,32,0,32,0,40,2,4,65,1,107,54,2,4,32,4,65,16,106,36,0,11,149,10,2,19,127,1,126,35,0,65,32,107,34,11,36,0,2,64,32,1,40,2,0,34,6,32,0,70,13,0,32,0,47,1,144,1,34,14,4,64,32,0,65,16,106,33,15,32,1,40,2,4,34,5,65,48,106,33,16,32,5,65,32,113,33,17,32,5,65,3,118,65,1,113,33,18,32,5,65,128,254,3,113,65,8,118,33,19,32,1,45,0,11,33,20,32,1,45,0,10,33,21,3,64,2,64,2,64,32,15,32,4,65,4,116,106,34,12,40,0,4,34,7,32,5,70,13,0,32,7,69,13,1,32,5,69,13,1,32,19,33,3,32,7,65,1,113,34,9,4,127,32,7,65,128,254,3,113,65,8,118,5,32,7,47,1,40,11,65,255,255,3,113,32,5,65,1,113,34,13,4,127,32,3,5,32,5,47,1,40,11,65,255,255,3,113,71,13,1,32,12,45,0,11,33,10,32,12,45,0,10,33,3,2,64,2,64,2,64,32,9,4,64,32,7,65,32,113,13,1,12,3,11,32,7,45,0,45,65,2,113,13,0,32,7,40,2,32,69,13,1,11,2,64,32,13,4,64,32,17,69,13,1,12,4,11,32,5,45,0,45,65,2,113,13,3,32,5,40,2,32,13,3,11,32,9,13,1,11,32,7,40,2,4,33,3,11,32,21,33,8,32,13,4,127,32,8,5,32,5,40,2,4,11,32,3,71,13,1,32,20,33,3,32,9,4,127,32,10,5,32,7,40,2,16,11,32,13,4,127,32,3,5,32,5,40,2,16,11,71,13,1,65,0,33,3,65,0,33,10,32,9,4,127,65,0,5,32,7,40,2,36,11,32,13,4,127,65,0,5,32,5,40,2,36,11,71,13,1,32,18,33,3,32,9,4,127,32,7,65,3,118,65,1,113,5,32,7,47,1,44,65,2,118,65,1,113,11,32,13,4,127,32,3,5,32,5,47,1,44,65,2,118,65,1,113,11,71,13,1,35,1,33,3,35,1,33,8,2,127,32,3,65,148,12,106,32,9,13,0,26,35,1,65,148,12,106,32,7,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,7,65,48,106,32,7,40,2,36,27,11,34,3,40,2,24,33,9,2,64,2,127,32,8,65,148,12,106,32,13,13,0,26,35,1,65,148,12,106,32,5,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,16,32,5,40,2,36,27,11,34,10,40,2,24,34,8,65,25,79,4,64,32,8,32,9,71,13,3,32,3,40,2,0,33,3,32,10,40,2,0,33,10,12,1,11,32,8,32,9,71,13,2,11,32,3,32,10,32,8,16,248,1,13,1,11,32,6,32,12,40,2,0,34,3,70,4,64,65,0,33,3,2,127,65,0,32,5,65,1,113,13,0,26,65,0,32,5,40,2,36,69,13,0,26,32,5,40,2,60,11,33,4,2,64,32,7,65,1,113,13,0,32,7,40,2,36,69,13,0,32,7,40,2,60,33,3,11,32,3,32,4,78,13,4,32,5,65,1,113,69,4,64,32,5,32,5,40,2,0,65,1,106,54,2,0,32,5,40,2,0,26,32,1,40,2,0,33,6,11,32,11,32,12,41,2,4,55,3,8,32,2,32,11,65,8,106,16,60,32,12,32,1,41,2,4,34,22,55,2,4,32,6,40,2,160,1,33,2,65,0,33,4,2,64,32,22,167,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,60,33,4,11,32,0,32,2,32,4,106,54,2,160,1,12,4,11,32,3,47,1,0,32,6,47,1,0,71,13,0,32,3,40,2,4,32,6,40,2,4,71,13,0,32,3,40,2,152,1,32,6,40,2,152,1,71,13,0,32,6,47,1,144,1,4,64,32,6,65,16,106,33,1,65,0,33,4,3,64,32,12,40,2,0,33,3,32,11,32,1,32,4,65,4,116,106,34,8,41,2,8,55,3,24,32,11,32,8,41,2,0,55,3,16,32,3,32,11,65,16,106,32,2,16,72,32,4,65,1,106,34,4,32,6,47,1,144,1,73,13,0,11,11,32,6,40,2,160,1,33,4,32,5,4,64,65,0,33,2,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,2,11,32,2,32,4,106,33,4,11,32,4,32,0,40,2,160,1,76,13,3,32,0,32,4,54,2,160,1,12,3,11,32,4,65,1,106,34,4,32,14,71,13,0,11,32,14,65,8,70,13,1,11,32,6,4,64,32,6,32,6,40,2,148,1,65,1,106,54,2,148,1,11,32,6,40,2,160,1,33,2,32,6,40,2,156,1,33,3,32,0,32,14,65,1,106,59,1,144,1,32,0,32,14,65,4,116,106,34,8,32,1,41,2,8,55,2,24,32,8,32,1,41,2,0,55,2,16,32,1,40,2,4,34,4,4,64,32,4,65,1,113,69,4,64,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,32,1,45,0,4,33,4,11,2,64,32,4,65,1,113,69,4,64,65,0,33,4,65,0,33,6,32,1,40,2,4,34,1,40,2,36,34,8,4,64,32,1,40,2,56,33,6,11,32,6,32,1,47,1,44,65,1,113,106,32,1,47,1,40,65,254,255,3,70,106,33,6,32,8,69,13,1,32,1,40,2,60,33,4,12,1,11,32,4,65,1,118,65,1,113,33,6,65,0,33,4,11,32,3,32,6,106,33,3,32,2,32,4,106,33,2,11,32,0,40,2,156,1,32,3,73,4,64,32,0,32,3,54,2,156,1,11,32,2,32,0,40,2,160,1,76,13,0,32,0,32,2,54,2,160,1,11,32,11,65,32,106,36,0,11,135,11,1,23,127,35,0,65,16,107,34,15,36,0,32,0,40,2,132,9,34,7,40,2,4,34,18,32,1,75,4,64,65,1,32,2,32,2,65,1,77,27,33,22,32,2,65,1,106,33,23,32,18,33,17,32,1,33,8,3,64,32,7,40,2,0,33,12,2,64,32,8,32,18,75,4,64,32,12,32,8,65,5,116,106,33,13,32,18,33,3,3,64,2,64,32,12,32,3,65,5,116,106,34,9,40,2,28,13,0,32,13,40,2,28,13,0,32,9,40,2,0,34,10,47,1,0,34,20,32,13,40,2,0,34,5,47,1,0,71,13,0,32,10,40,2,4,32,5,40,2,4,71,13,0,32,10,40,2,152,1,32,5,40,2,152,1,71,13,0,35,1,33,11,32,13,40,0,12,33,6,2,127,32,11,65,148,12,106,32,9,40,0,12,34,4,69,13,0,26,35,1,65,148,12,106,32,4,65,1,113,13,0,26,35,1,65,148,12,106,32,4,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,4,65,48,106,32,4,40,2,36,27,11,33,4,35,1,33,11,32,4,40,2,24,33,14,2,64,2,127,32,11,65,148,12,106,32,6,69,13,0,26,35,1,65,148,12,106,32,6,65,1,113,13,0,26,35,1,65,148,12,106,32,6,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,6,65,48,106,32,6,40,2,36,27,11,34,11,40,2,24,34,6,65,25,79,4,64,32,6,32,14,71,13,2,32,4,40,2,0,33,4,32,11,40,2,0,33,11,12,1,11,32,6,32,14,71,13,1,11,32,4,32,11,32,6,16,248,1,13,0,32,5,47,1,144,1,4,127,65,0,33,3,3,64,32,7,40,2,52,33,4,32,9,40,2,0,33,17,32,15,32,5,32,3,65,4,116,106,34,5,41,2,24,55,3,8,32,15,32,5,41,2,16,55,3,0,32,17,32,15,32,4,16,72,32,3,65,1,106,34,3,32,13,40,2,0,34,5,47,1,144,1,73,13,0,11,32,9,40,2,0,34,10,47,1,0,5,32,20,11,69,4,64,32,9,32,10,40,2,156,1,54,2,8,11,32,7,32,8,16,71,12,3,11,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,12,32,8,65,5,116,106,40,2,0,47,1,0,33,13,32,0,65,0,54,2,172,9,32,23,33,3,2,127,2,64,32,2,34,4,4,127,32,3,5,65,1,33,4,32,0,40,2,160,9,40,2,12,11,65,255,255,3,113,34,20,32,4,77,13,0,65,0,33,11,32,22,33,9,3,64,2,64,32,9,65,253,255,3,75,13,0,2,64,2,64,32,0,40,2,160,9,34,7,40,2,24,34,3,32,13,77,4,64,32,7,40,2,44,32,7,40,2,48,32,13,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,14,69,4,64,65,0,33,3,12,3,11,32,3,65,2,106,33,5,65,0,33,10,3,64,32,5,65,4,106,33,3,32,5,47,1,2,34,12,4,127,32,3,32,12,65,1,116,106,33,6,65,0,33,4,3,64,32,9,32,3,47,1,0,70,13,4,32,3,65,2,106,33,3,32,4,65,1,106,34,4,32,12,71,13,0,11,32,6,5,32,3,11,33,5,65,0,33,3,32,10,65,1,106,34,10,32,14,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,13,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,3,12,1,11,32,5,47,1,0,33,3,11,32,7,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,3,45,0,0,34,14,69,13,0,32,3,65,8,106,33,24,65,0,33,6,3,64,32,24,32,6,65,3,116,106,34,3,46,1,4,33,10,2,64,2,64,2,64,32,3,45,0,0,14,4,0,1,2,0,2,11,32,10,65,128,2,113,69,32,10,65,1,115,113,32,11,114,33,11,12,1,11,32,3,45,0,1,34,7,69,13,0,32,3,47,1,6,33,25,32,3,47,1,2,33,12,32,0,40,2,168,9,33,4,65,0,33,3,32,0,40,2,172,9,34,5,4,64,3,64,32,12,32,4,32,3,65,4,116,106,34,21,47,1,4,70,4,64,32,21,40,2,0,32,7,70,13,3,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,0,32,5,65,1,106,34,3,32,0,40,2,176,9,34,21,75,4,127,65,8,32,21,65,1,116,34,5,32,3,32,3,32,5,73,27,34,3,32,3,65,8,77,27,34,5,65,4,116,33,3,2,127,32,4,4,64,32,4,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,176,9,32,0,32,4,54,2,168,9,32,0,40,2,172,9,34,5,65,1,106,5,32,3,11,54,2,172,9,32,4,32,5,65,4,116,106,34,3,65,0,59,1,14,32,3,32,25,59,1,12,32,3,32,10,54,2,8,32,3,65,0,59,1,6,32,3,32,12,59,1,4,32,3,32,7,54,2,0,11,32,6,65,1,106,34,6,32,14,71,13,0,11,11,32,20,32,9,65,1,106,34,9,65,255,255,3,113,71,13,0,11,65,0,33,4,2,64,32,0,40,2,172,9,69,4,64,65,127,33,6,12,1,11,3,64,32,0,32,8,32,0,40,2,168,9,32,4,65,4,116,106,34,3,47,1,4,32,3,40,2,0,32,3,40,2,8,32,3,47,1,12,65,1,65,0,16,82,33,6,32,4,65,1,106,34,3,33,4,32,3,32,0,40,2,172,9,73,13,0,11,11,65,1,32,11,65,1,113,13,1,26,32,6,65,127,70,13,0,32,19,65,5,75,13,0,32,0,40,2,132,9,32,6,32,8,16,83,12,2,11,32,2,4,64,32,0,40,2,132,9,32,8,16,71,11,32,16,11,33,3,32,17,32,8,65,1,106,32,1,32,8,70,27,33,8,32,3,33,16,11,32,19,65,1,106,33,19,32,8,32,0,40,2,132,9,34,7,40,2,4,34,17,73,13,0,11,11,32,15,65,16,106,36,0,32,16,65,1,113,11,172,2,1,8,127,32,1,40,2,16,34,6,32,0,40,2,4,75,4,64,65,1,15,11,32,1,40,2,0,34,4,47,1,0,33,8,32,0,40,2,0,34,3,40,2,4,34,5,33,2,2,64,3,64,32,2,69,13,1,32,3,40,2,0,32,2,65,1,107,34,2,65,20,108,106,34,7,40,2,12,34,9,32,6,73,13,1,32,6,32,9,71,13,0,32,7,47,1,16,32,8,71,13,0,11,65,0,15,11,32,5,65,1,106,34,2,32,3,40,2,8,34,7,75,4,64,65,8,32,7,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,34,4,65,20,108,33,2,2,127,32,3,40,2,0,34,5,4,64,32,5,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,2,32,3,32,4,54,2,8,32,3,32,2,54,2,0,32,1,40,2,0,33,4,32,0,40,2,0,34,3,40,2,4,34,5,65,1,106,33,2,11,32,3,32,2,54,2,4,32,4,40,2,12,33,1,32,3,40,2,0,32,5,65,20,108,106,34,0,32,4,41,2,4,55,2,0,32,0,65,0,59,1,18,32,0,32,8,59,1,16,32,0,32,6,54,2,12,32,0,32,1,54,2,8,65,0,11,131,21,2,19,127,1,126,35,0,65,48,107,34,13,36,0,32,1,65,0,54,2,28,32,1,65,0,54,2,16,32,1,40,2,0,33,8,32,13,65,0,58,0,46,32,13,65,0,59,1,44,32,8,32,2,65,5,116,106,40,2,0,33,12,2,64,32,5,65,0,72,4,64,12,1,11,32,5,65,255,255,255,255,1,113,65,247,255,255,255,1,70,13,0,32,5,65,9,106,34,8,65,255,255,255,255,1,113,33,10,32,8,65,3,116,35,5,40,2,0,17,0,0,33,9,32,1,40,2,28,33,6,11,32,1,40,2,24,33,7,32,1,32,6,65,1,106,34,8,32,1,40,2,32,34,11,75,4,127,65,8,32,11,65,1,116,34,6,32,8,32,6,32,8,75,27,34,8,32,8,65,8,77,27,34,6,65,24,108,33,8,2,127,32,7,4,64,32,7,32,8,35,4,40,2,0,17,1,0,12,1,11,32,8,35,5,40,2,0,17,0,0,11,33,7,32,1,32,6,54,2,32,32,1,32,7,54,2,24,32,1,40,2,28,34,6,65,1,106,5,32,8,11,54,2,28,32,7,32,6,65,24,108,106,34,8,65,1,58,0,20,32,8,65,0,54,2,16,32,8,32,10,54,2,12,32,8,65,0,54,2,8,32,8,32,9,54,2,4,32,8,32,12,54,2,0,32,8,32,13,45,0,46,58,0,23,32,8,32,13,47,1,44,59,0,21,32,1,40,2,28,34,20,4,64,32,2,65,5,116,33,23,3,64,32,17,65,24,108,34,21,32,1,40,2,24,106,34,11,40,2,0,33,14,32,4,32,11,32,3,17,1,0,34,2,65,2,113,33,18,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,2,65,1,113,69,4,64,32,14,47,1,144,1,33,2,32,18,69,13,4,32,11,40,2,12,33,16,32,11,40,2,8,33,12,32,11,40,2,4,33,7,32,2,13,1,65,1,33,15,12,2,11,32,18,69,13,6,32,11,40,2,12,33,16,32,11,40,2,8,33,12,32,11,40,2,4,33,7,65,1,33,15,12,1,11,32,16,69,4,64,65,0,33,16,65,0,33,15,12,1,11,32,16,65,8,35,7,40,2,0,17,1,0,33,8,32,12,65,3,116,34,2,4,64,32,8,32,7,32,2,252,10,0,0,11,32,12,69,4,64,65,0,33,15,65,0,33,12,12,2,11,65,0,33,15,65,0,33,6,32,12,65,1,71,4,64,32,12,65,126,113,33,7,65,0,33,9,3,64,32,8,32,6,65,3,116,106,34,10,40,0,0,34,2,65,1,113,69,4,64,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,10,40,0,8,34,2,65,1,113,69,4,64,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,6,65,2,106,33,6,32,9,65,2,106,34,9,32,7,71,13,0,11,11,2,64,32,12,65,1,113,69,13,0,32,8,32,6,65,3,116,106,40,0,0,34,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,8,33,7,11,2,64,32,12,65,2,73,13,0,32,7,32,12,65,3,116,106,33,2,65,0,33,6,32,12,65,1,118,34,8,65,1,71,4,64,32,8,65,254,255,255,255,7,113,33,9,65,0,33,10,3,64,32,7,32,6,65,3,116,106,34,8,41,2,0,33,25,32,8,32,2,32,6,65,127,115,65,3,116,106,34,19,41,2,0,55,2,0,32,19,32,25,55,2,0,32,8,41,2,8,33,25,32,8,32,2,32,6,65,254,255,255,255,1,115,65,3,116,106,34,8,41,2,0,55,2,8,32,8,32,25,55,2,0,32,6,65,2,106,33,6,32,10,65,2,106,34,10,32,9,71,13,0,11,11,32,12,65,2,113,69,13,0,32,7,32,6,65,3,116,106,34,8,41,2,0,33,25,32,8,32,2,32,6,65,127,115,65,3,116,106,34,2,41,2,0,55,2,0,32,2,32,25,55,2,0,11,32,7,33,8,11,32,1,40,2,16,34,7,33,2,2,64,3,64,32,2,34,10,69,13,1,32,1,40,2,0,32,1,40,2,12,34,9,32,2,65,1,107,34,2,65,4,116,106,40,2,12,34,6,65,5,116,106,40,2,0,32,14,71,13,0,11,32,7,65,1,106,34,2,32,1,40,2,20,75,4,64,32,9,32,2,65,4,116,35,4,40,2,0,17,1,0,33,9,32,1,32,2,54,2,20,32,1,32,9,54,2,12,32,1,40,2,16,33,7,11,32,10,65,4,116,33,2,2,64,32,7,32,10,77,13,0,32,7,32,10,107,65,4,116,34,7,69,13,0,32,2,32,9,106,34,10,65,16,106,32,10,32,7,252,10,0,0,11,32,2,32,9,106,34,2,32,6,54,0,12,32,2,32,16,54,0,8,32,2,32,12,54,0,4,32,2,32,8,54,0,0,32,1,32,1,40,2,16,65,1,106,54,2,16,32,15,69,13,2,12,3,11,32,1,40,2,0,34,6,32,23,106,34,7,40,2,16,33,19,32,7,40,2,12,33,2,32,7,40,2,8,33,22,32,1,32,1,40,2,4,34,10,65,1,106,34,9,32,1,40,2,8,34,7,75,4,127,32,6,65,8,32,7,65,1,116,34,7,32,9,32,7,32,9,75,27,34,7,32,7,65,8,77,27,34,7,65,5,116,35,4,40,2,0,17,1,0,33,6,32,1,32,7,54,2,8,32,1,32,6,54,2,0,32,1,40,2,4,34,10,65,1,106,5,32,9,11,54,2,4,32,6,32,10,65,5,116,106,34,7,65,0,54,2,28,32,7,66,0,55,2,20,32,7,32,19,54,2,16,32,7,32,2,54,2,12,32,7,32,22,54,2,8,32,7,65,0,54,2,4,32,7,32,14,54,2,0,32,14,4,64,32,14,32,14,40,2,148,1,65,1,106,54,2,148,1,11,2,64,32,2,69,13,0,32,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,1,40,2,4,65,1,107,33,7,32,1,40,2,12,33,6,32,1,32,1,40,2,16,34,9,65,1,106,34,2,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,10,32,2,32,2,32,10,73,27,34,2,32,2,65,8,77,27,34,10,65,4,116,33,2,2,127,32,6,4,64,32,6,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,6,32,1,32,10,54,2,20,32,1,32,6,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,2,11,54,2,16,32,6,32,9,65,4,116,106,34,2,32,7,54,2,12,32,2,32,16,54,2,8,32,2,32,12,54,2,4,32,2,32,8,54,2,0,32,15,13,2,12,1,11,32,2,69,13,2,11,32,14,47,1,144,1,34,6,4,64,32,14,65,16,106,33,19,65,1,33,7,3,64,2,64,2,127,32,6,32,7,34,10,70,4,64,32,14,45,0,28,33,16,32,14,40,2,24,33,18,32,14,40,2,20,33,9,32,14,40,2,16,33,12,32,1,40,2,24,32,21,106,12,1,11,32,1,40,2,28,34,6,65,63,75,13,1,32,19,32,10,65,4,116,106,34,2,45,0,12,33,16,32,2,40,2,8,33,18,32,2,40,2,4,33,9,32,2,40,2,0,33,12,32,13,32,1,40,2,24,34,7,32,21,106,34,2,41,2,16,55,3,32,32,13,32,2,41,2,8,55,3,24,32,13,32,2,41,2,0,55,3,16,32,6,65,1,106,33,2,32,1,32,1,40,2,32,34,8,32,6,77,4,127,32,7,65,8,32,8,65,1,116,34,8,32,2,32,2,32,8,73,27,34,2,32,2,65,8,77,27,34,2,65,24,108,35,4,40,2,0,17,1,0,33,7,32,1,32,2,54,2,32,32,1,32,7,54,2,24,32,1,40,2,28,34,6,65,1,106,5,32,2,11,54,2,28,32,7,32,6,65,24,108,106,34,2,32,13,41,3,16,55,2,0,32,2,32,13,41,3,32,55,2,16,32,2,32,13,41,3,24,55,2,8,2,64,32,1,40,2,24,32,1,40,2,28,65,24,108,106,34,15,65,12,107,40,0,0,34,8,69,13,0,32,15,65,16,107,40,0,0,33,2,32,15,65,20,107,34,7,40,0,0,33,6,32,7,32,8,65,8,35,7,40,2,0,17,1,0,34,8,54,2,0,32,2,65,3,116,34,11,4,64,32,8,32,6,32,11,252,10,0,0,11,32,2,69,13,0,65,0,33,6,32,2,65,1,71,4,64,32,2,65,126,113,33,22,65,0,33,8,3,64,32,6,65,3,116,34,24,32,7,40,2,0,106,40,0,0,34,11,65,1,113,69,4,64,32,11,32,11,40,2,0,65,1,106,54,2,0,32,11,40,2,0,26,11,32,7,40,2,0,32,24,106,40,0,8,34,11,65,1,113,69,4,64,32,11,32,11,40,2,0,65,1,106,54,2,0,32,11,40,2,0,26,11,32,6,65,2,106,33,6,32,8,65,2,106,34,8,32,22,71,13,0,11,11,32,2,65,1,113,69,13,0,32,7,40,2,0,32,6,65,3,116,106,40,0,0,34,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,15,65,24,107,11,34,6,32,12,54,2,0,2,64,2,127,2,64,32,9,4,64,2,64,32,5,65,0,78,4,64,32,6,40,2,4,33,7,32,6,32,6,40,2,8,34,8,65,1,106,34,2,32,6,40,2,12,34,12,75,4,127,65,8,32,12,65,1,116,34,8,32,2,32,2,32,8,73,27,34,2,32,2,65,8,77,27,34,8,65,3,116,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,6,32,8,54,2,12,32,6,32,7,54,2,4,32,6,40,2,8,34,8,65,1,106,5,32,2,11,54,2,8,32,7,32,8,65,3,116,106,34,2,32,18,54,2,4,32,2,32,9,54,2,0,32,9,65,1,113,13,1,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,12,3,11,32,9,65,1,113,69,13,2,11,32,9,65,3,118,65,1,113,12,2,11,32,6,32,6,40,2,16,65,1,106,54,2,16,12,2,11,32,9,47,1,44,65,2,118,65,1,113,11,13,1,32,6,32,6,40,2,16,65,1,106,54,2,16,32,16,65,1,113,13,1,11,32,6,65,0,58,0,20,11,32,10,65,1,106,33,7,32,10,32,14,47,1,144,1,34,6,73,13,0,11,11,32,17,65,1,106,33,17,12,3,11,32,18,13,1,11,32,11,40,2,8,4,64,32,1,40,2,52,33,2,65,0,33,6,3,64,32,13,32,11,40,2,4,32,6,65,3,116,106,41,2,0,55,3,8,32,2,32,13,65,8,106,16,60,32,6,65,1,106,34,6,32,11,40,2,8,73,13,0,11,11,32,11,65,0,54,2,8,32,11,40,2,4,34,2,69,13,0,32,2,35,6,40,2,0,17,2,0,32,11,65,0,54,2,12,32,11,66,0,55,2,4,11,32,1,40,2,28,32,17,65,127,115,106,65,24,108,34,2,4,64,32,1,40,2,24,32,21,106,34,8,32,8,65,24,106,32,2,252,10,0,0,11,32,1,32,1,40,2,28,65,1,107,54,2,28,32,20,65,1,107,33,20,11,32,17,32,20,73,13,0,65,0,33,17,32,1,40,2,28,34,20,13,0,11,11,32,0,32,1,41,2,12,55,2,0,32,0,32,1,40,2,20,54,2,8,32,13,65,48,106,36,0,11,217,5,2,9,127,1,126,35,0,65,32,107,34,7,36,0,32,3,40,2,4,34,5,4,127,32,3,40,2,0,32,5,65,4,116,106,34,5,65,16,107,40,2,0,33,4,32,5,65,12,107,40,2,0,5,65,0,11,33,5,2,64,32,4,65,1,113,13,0,2,64,2,64,32,4,40,2,36,69,13,0,32,0,65,132,1,106,33,9,3,64,32,4,47,1,42,32,2,70,13,1,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,4,65,1,113,4,127,32,4,65,128,254,3,113,65,8,118,5,32,4,47,1,40,11,33,6,32,0,40,2,160,9,33,5,35,1,65,171,10,106,33,4,2,64,2,64,2,64,32,6,65,255,255,3,113,34,6,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,4,12,1,11,65,0,33,4,32,5,40,2,8,32,5,40,2,4,106,32,6,77,13,0,32,5,40,2,56,32,6,65,2,116,106,40,2,0,33,4,11,32,7,32,4,54,2,16,32,9,65,128,8,35,1,65,249,3,106,32,7,65,16,106,16,249,1,26,32,0,40,2,96,34,5,4,64,32,0,40,2,92,65,0,32,9,32,5,17,3,0,11,32,9,33,5,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,5,45,0,0,34,4,65,34,70,13,0,32,4,65,220,0,70,13,0,32,4,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,5,45,0,0,33,4,11,32,4,192,32,0,40,2,140,10,16,241,1,32,5,65,1,106,33,5,12,0,11,0,11,2,64,32,3,40,2,0,34,6,32,3,40,2,4,34,4,65,4,116,106,34,8,65,16,107,40,2,0,34,5,65,1,113,13,0,32,5,40,2,36,34,10,69,13,0,32,8,65,4,107,40,2,0,33,11,32,3,32,4,65,1,106,34,8,32,3,40,2,8,34,12,75,4,127,32,6,65,8,32,12,65,1,116,34,4,32,8,32,4,32,8,75,27,34,4,32,4,65,8,77,27,34,4,65,4,116,35,4,40,2,0,17,1,0,33,6,32,3,32,4,54,2,8,32,3,32,6,54,2,0,32,5,40,2,36,33,10,32,3,40,2,4,34,4,65,1,106,5,32,8,11,54,2,4,32,5,32,10,65,3,116,107,41,2,0,33,13,32,6,32,4,65,4,116,106,34,5,32,11,54,2,12,32,5,65,0,54,2,8,32,5,32,13,55,2,0,32,3,40,2,4,33,4,11,2,127,32,4,69,4,64,65,0,33,4,65,0,12,1,11,32,3,40,2,0,32,4,65,4,116,106,34,5,65,16,107,40,2,0,33,4,32,5,65,12,107,40,2,0,11,33,5,32,4,65,1,113,13,2,65,1,33,6,32,4,40,2,36,13,0,11,11,32,6,65,1,113,69,13,1,11,32,7,32,1,41,2,0,55,3,8,32,0,65,136,9,106,32,7,65,8,106,16,60,32,1,32,5,54,2,4,32,1,32,4,54,2,0,32,4,65,1,113,13,0,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,11,32,7,65,32,106,36,0,11,157,51,2,27,127,2,126,35,0,65,192,2,107,34,4,36,0,32,0,40,2,132,9,34,5,40,2,0,32,1,65,5,116,106,34,7,40,2,0,34,3,40,2,8,33,24,32,3,40,2,4,33,20,32,5,40,2,4,33,12,32,3,40,2,156,1,34,14,32,7,40,2,8,34,15,73,4,64,32,7,32,14,54,2,8,32,14,33,15,11,32,7,40,2,4,33,16,32,3,40,2,152,1,33,17,2,64,32,7,40,2,28,65,1,71,4,64,32,3,47,1,0,13,1,32,3,40,2,20,13,1,11,32,17,65,244,3,106,33,17,11,2,64,32,16,69,13,0,32,2,45,0,0,65,1,113,69,4,64,32,2,40,2,0,47,1,40,65,255,255,3,70,13,1,11,32,16,40,2,4,69,13,0,32,0,65,188,9,106,33,25,32,0,65,136,9,106,33,21,32,17,32,20,106,33,26,32,14,32,15,71,33,27,3,64,2,64,2,64,32,16,40,2,0,32,22,65,20,108,106,34,3,47,1,16,34,9,69,13,0,32,3,40,2,0,34,5,32,20,70,13,0,32,3,40,2,12,33,7,32,3,40,2,4,33,6,32,12,4,64,32,0,40,2,132,9,40,2,0,33,8,65,0,33,3,3,64,32,9,32,8,32,3,65,5,116,106,40,2,0,34,10,47,1,0,70,4,64,32,10,40,2,4,32,20,70,13,3,11,32,3,65,1,106,34,3,32,12,71,13,0,11,11,32,0,32,1,32,26,32,5,107,32,7,65,228,0,108,106,32,24,32,6,107,65,30,108,106,16,145,1,13,1,2,127,32,2,45,0,0,65,1,113,4,64,32,2,45,0,1,12,1,11,32,2,40,2,0,47,1,40,11,33,8,2,64,32,0,40,2,160,9,34,3,40,2,24,34,5,32,9,77,4,64,32,3,40,2,44,32,3,40,2,48,32,9,32,5,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,13,69,13,2,32,3,65,2,106,33,5,65,0,33,10,3,64,32,5,65,4,106,33,3,32,5,47,1,2,34,11,4,127,32,3,32,11,65,1,116,106,33,18,65,0,33,6,3,64,32,3,47,1,0,32,8,65,255,255,3,113,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,11,71,13,0,11,32,18,5,32,3,11,33,5,32,10,65,1,106,34,10,32,13,71,13,0,11,12,2,11,32,3,40,2,40,32,3,40,2,4,32,9,108,65,1,116,106,32,8,65,255,255,3,113,65,1,116,106,33,5,11,32,5,47,1,0,69,13,0,32,0,40,2,132,9,33,3,32,4,32,7,32,27,106,34,18,54,2,160,2,32,4,65,200,1,106,32,3,32,1,35,2,65,7,106,32,4,65,160,2,106,32,18,16,75,32,4,40,2,204,1,34,7,69,13,0,65,0,33,13,65,127,33,11,3,64,32,4,32,4,40,2,200,1,32,13,65,4,116,106,34,5,41,2,8,55,3,192,1,32,4,32,5,41,2,0,55,3,184,1,2,64,2,64,32,11,32,4,40,2,196,1,34,6,70,4,64,65,0,33,3,32,4,40,2,184,1,33,6,32,4,40,2,188,1,34,8,4,64,3,64,32,4,32,6,32,3,65,3,116,106,41,2,0,55,3,136,1,32,21,32,4,65,136,1,106,16,60,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,6,4,64,32,6,35,6,40,2,0,17,2,0,11,32,7,32,13,65,127,115,106,65,4,116,34,3,69,13,1,32,5,32,5,65,16,106,32,3,252,10,0,0,12,1,11,32,9,32,0,40,2,132,9,34,8,40,2,0,32,6,65,5,116,106,34,10,40,2,0,34,3,47,1,0,71,4,64,32,10,65,2,54,2,28,65,0,33,3,32,4,40,2,184,1,33,6,32,4,40,2,188,1,34,8,4,64,3,64,32,4,32,6,32,3,65,3,116,106,41,2,0,55,3,168,1,32,21,32,4,65,168,1,106,16,60,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,6,4,64,32,6,35,6,40,2,0,17,2,0,32,4,65,0,54,2,184,1,11,32,7,32,13,65,127,115,106,65,4,116,34,3,69,13,1,32,5,32,5,65,16,106,32,3,252,10,0,0,12,1,11,2,64,32,3,47,1,144,1,34,5,69,13,0,32,3,65,20,106,33,10,65,0,33,3,3,64,2,64,32,10,32,3,65,4,116,106,40,2,0,34,7,69,13,0,32,7,65,1,113,13,0,32,7,47,1,40,65,255,255,3,71,13,0,32,4,65,0,58,0,136,2,32,4,65,160,2,106,32,8,32,6,35,2,65,8,106,32,4,65,136,2,106,65,1,16,75,32,4,40,2,164,2,69,13,2,32,8,32,4,40,2,160,2,34,3,40,2,12,32,6,16,83,32,3,40,2,4,34,19,69,13,2,2,64,32,3,40,2,0,34,8,40,2,0,34,6,65,1,113,13,0,32,6,40,2,36,34,7,69,13,0,32,4,40,2,184,1,33,5,32,4,40,2,188,1,34,10,32,7,106,34,3,32,4,40,2,192,1,75,4,64,32,3,65,3,116,33,11,2,127,32,5,4,64,32,5,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,5,32,4,32,3,54,2,192,1,32,4,32,5,54,2,184,1,11,32,7,65,3,116,33,3,2,64,32,10,69,13,0,32,10,65,3,116,34,10,69,13,0,32,3,32,5,106,32,5,32,10,252,10,0,0,11,32,3,4,64,32,5,32,6,32,3,107,32,3,252,10,0,0,11,32,4,32,4,40,2,188,1,32,7,106,54,2,188,1,65,0,33,3,32,7,65,1,71,4,64,32,7,65,126,113,33,10,65,0,33,5,3,64,32,3,65,3,116,34,11,32,4,40,2,184,1,106,40,0,0,34,6,65,1,113,69,4,64,32,6,32,6,40,2,0,65,1,106,54,2,0,32,6,40,2,0,26,11,32,4,40,2,184,1,32,11,106,40,0,8,34,6,65,1,113,69,4,64,32,6,32,6,40,2,0,65,1,106,54,2,0,32,6,40,2,0,26,11,32,3,65,2,106,33,3,32,5,65,2,106,34,5,32,10,71,13,0,11,11,32,7,65,1,113,69,13,0,32,4,40,2,184,1,32,3,65,3,116,106,40,0,0,34,3,65,1,113,13,0,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,11,65,0,33,3,3,64,32,4,32,8,32,3,65,3,116,106,41,2,0,55,3,160,1,32,21,32,4,65,160,1,106,16,60,32,3,65,1,106,34,3,32,19,71,13,0,11,32,8,35,6,40,2,0,17,2,0,12,2,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,4,65,184,1,106,32,25,16,127,2,64,32,4,40,2,188,1,34,3,4,64,32,0,40,2,160,9,33,5,32,4,40,2,184,1,33,6,32,3,65,3,116,34,8,65,204,0,106,34,7,32,4,40,2,192,1,65,3,116,75,4,64,32,6,32,7,35,4,40,2,0,17,1,0,33,6,32,4,32,7,65,3,118,54,2,192,1,32,4,32,6,54,2,184,1,11,32,4,66,0,55,3,184,2,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,1,54,2,244,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,130,2,32,4,66,0,55,3,136,2,32,4,66,0,55,3,224,1,32,4,65,255,255,3,59,1,132,2,32,4,65,27,59,1,236,1,32,4,65,0,59,1,234,1,32,4,32,3,54,2,240,1,32,6,32,8,106,34,3,32,4,40,2,244,1,54,2,0,32,3,32,4,41,3,184,2,55,2,28,32,3,32,4,41,3,176,2,55,2,20,32,3,32,4,41,3,168,2,55,2,12,32,3,32,4,41,3,160,2,55,2,4,32,3,32,4,40,2,240,1,54,2,36,32,3,32,4,47,1,132,2,59,1,40,32,3,32,4,47,1,130,2,59,1,42,32,3,32,4,47,1,236,1,59,1,44,32,3,32,4,40,2,152,2,54,1,62,32,3,32,4,41,3,144,2,55,1,54,32,3,32,4,41,3,136,2,55,1,46,32,3,32,4,47,1,234,1,59,1,66,32,3,32,4,41,3,224,1,55,2,68,32,4,65,0,54,2,220,1,32,4,32,3,54,2,216,1,32,4,32,4,41,3,216,1,55,3,152,1,32,4,65,152,1,106,32,5,16,128,1,32,3,32,3,47,1,44,65,4,114,59,1,44,32,4,32,4,41,3,216,1,34,30,55,3,160,2,32,0,40,2,132,9,33,3,32,4,32,30,55,3,144,1,32,3,32,4,40,2,196,1,32,4,65,144,1,106,65,0,32,9,16,84,12,1,11,32,4,40,2,184,1,34,3,69,13,0,32,3,35,6,40,2,0,17,2,0,32,4,65,0,54,2,192,1,32,4,66,0,55,3,184,1,11,65,0,33,7,32,4,40,2,196,1,33,11,32,0,40,2,192,9,4,64,3,64,32,0,40,2,188,9,32,7,65,3,116,106,41,2,0,33,30,32,0,40,2,132,9,34,3,40,2,0,32,11,65,5,116,106,34,19,40,2,0,33,6,2,127,32,3,40,2,40,34,5,4,64,32,3,32,5,65,1,107,34,5,54,2,40,32,3,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,3,32,9,59,1,0,32,3,65,2,106,65,0,65,146,1,252,11,0,32,30,167,33,5,32,3,66,0,55,2,152,1,32,3,65,1,54,2,148,1,32,3,65,0,54,2,160,1,2,64,32,3,2,127,2,64,2,64,32,6,4,64,32,3,32,30,55,2,20,32,3,32,6,54,2,16,32,3,65,1,59,1,144,1,32,3,32,6,41,2,4,55,2,4,32,3,32,6,40,2,12,54,2,12,32,3,32,6,40,2,152,1,34,8,54,2,152,1,32,3,32,6,40,2,160,1,34,28,54,2,160,1,32,3,32,6,40,2,156,1,34,6,54,2,156,1,32,5,69,13,1,32,5,65,1,113,34,29,13,2,32,3,32,5,45,0,45,65,2,113,4,127,65,226,4,5,32,5,40,2,32,11,32,8,106,54,2,152,1,65,0,32,5,40,2,12,32,5,40,2,20,34,8,27,33,23,32,8,32,5,40,2,8,106,33,10,32,5,40,2,24,33,8,32,5,40,2,16,32,5,40,2,4,106,12,3,11,32,3,66,0,55,2,4,65,0,33,6,32,3,65,0,54,2,12,32,5,13,3,11,32,19,32,6,54,2,8,12,2,11,32,3,32,8,32,5,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,30,66,32,136,167,65,255,1,113,33,23,32,30,66,40,136,167,65,15,113,33,10,32,30,66,56,136,167,34,8,32,30,66,48,136,167,65,255,1,113,106,11,32,3,40,0,4,106,54,2,4,32,3,32,3,40,0,8,32,10,106,173,32,8,32,23,106,65,0,32,3,40,0,12,32,10,27,106,173,66,32,134,132,55,2,8,2,64,32,29,69,4,64,65,0,33,10,32,3,32,5,40,2,36,34,8,4,127,32,5,40,2,56,5,65,0,11,32,6,106,32,5,47,1,44,65,1,113,106,32,5,47,1,40,65,254,255,3,70,106,54,2,156,1,32,8,69,13,1,32,5,40,2,60,33,10,12,1,11,32,3,32,6,32,5,65,1,118,65,1,113,106,54,2,156,1,65,0,33,10,11,32,3,32,10,32,28,106,54,2,160,1,11,32,19,32,3,54,2,0,32,7,65,1,106,34,7,32,0,40,2,192,9,73,13,0,11,11,32,13,65,1,106,33,13,32,4,40,2,204,1,33,7,12,1,11,32,4,32,7,65,1,107,34,7,54,2,204,1,11,32,7,32,13,75,13,0,11,32,11,65,127,70,13,0,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,9,12,4,11,32,4,32,18,54,2,132,1,32,4,32,9,54,2,128,1,32,0,65,132,1,106,34,3,65,128,8,35,1,65,248,1,106,32,4,65,128,1,106,16,249,1,26,32,0,40,2,96,34,7,4,64,32,0,40,2,92,65,0,32,3,32,7,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,9,12,4,11,3,64,2,64,2,64,2,64,32,3,45,0,0,34,6,65,34,70,13,0,32,6,65,220,0,70,13,0,32,6,13,1,32,0,40,2,140,10,34,3,13,2,65,1,33,9,12,7,11,65,220,0,32,0,40,2,140,10,16,241,1,32,3,45,0,0,33,6,11,32,6,192,32,0,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,1,11,11,32,0,40,2,132,9,32,0,40,2,160,9,32,3,16,70,65,1,33,9,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,12,3,11,32,22,65,1,106,34,22,32,16,40,2,4,73,13,1,11,11,65,0,33,9,11,32,0,40,2,132,9,34,3,40,2,4,34,6,32,12,75,4,64,32,0,65,132,1,106,33,7,3,64,2,64,32,3,40,2,0,32,12,65,5,116,106,40,2,28,69,13,0,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,4,32,12,54,2,112,32,7,65,128,8,35,1,65,205,0,106,32,4,65,240,0,106,16,249,1,26,32,0,40,2,96,34,3,4,64,32,0,40,2,92,65,0,32,7,32,3,17,3,0,11,32,7,33,6,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,6,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,6,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,6,65,1,106,33,6,12,0,11,0,11,32,0,40,2,132,9,32,12,16,71,32,12,65,1,107,33,12,32,0,40,2,132,9,33,3,32,0,40,2,140,10,34,5,69,13,0,32,3,32,0,40,2,160,9,32,5,16,70,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,32,0,40,2,132,9,33,3,11,32,12,65,1,106,34,12,32,3,40,2,4,34,6,73,13,0,11,11,2,64,2,64,2,64,2,64,2,127,32,2,45,0,0,34,7,65,1,113,4,64,32,2,45,0,1,12,1,11,32,2,40,2,0,47,1,40,11,65,255,255,3,113,4,64,32,9,69,13,2,32,6,65,7,73,13,1,32,3,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,24,32,0,65,136,9,106,32,4,65,24,106,16,60,12,4,11,2,64,32,0,40,2,96,34,3,69,4,64,32,0,40,2,140,10,69,13,4,32,0,35,1,65,168,8,106,34,3,41,0,0,55,0,132,1,32,0,32,3,40,0,8,54,0,140,1,32,0,65,132,1,106,33,6,12,1,11,32,0,35,1,65,168,8,106,34,7,41,0,0,55,0,132,1,32,0,32,7,40,0,8,54,0,140,1,32,0,40,2,92,65,0,32,0,65,132,1,106,34,6,32,3,17,3,0,32,0,40,2,140,10,69,13,3,11,3,64,2,64,2,64,32,6,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,6,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,6,65,1,106,33,6,12,0,11,0,11,32,7,65,1,113,13,0,32,2,40,2,0,45,0,44,65,128,1,113,69,13,0,32,3,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,104,32,0,65,136,9,106,32,4,65,232,0,106,16,60,12,2,11,32,17,65,228,0,106,33,3,2,127,32,2,40,2,0,34,7,65,1,113,4,64,32,2,45,0,6,32,2,45,0,7,106,33,9,32,2,45,0,5,65,15,113,12,1,11,32,7,40,2,16,32,7,40,2,4,106,33,9,32,7,40,2,20,32,7,40,2,8,106,11,33,5,32,0,32,1,32,3,32,9,106,32,5,65,30,108,106,16,145,1,4,64,32,0,40,2,132,9,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,32,32,0,65,136,9,106,32,4,65,32,106,16,60,12,2,11,32,7,65,8,118,33,11,32,0,40,2,160,9,33,5,2,64,2,64,32,7,65,1,113,4,64,32,11,65,255,1,113,33,9,12,1,11,32,7,47,1,40,34,9,65,253,255,3,75,13,1,11,2,64,2,64,32,5,40,2,24,34,3,65,1,77,4,64,32,5,40,2,44,32,5,40,2,48,65,1,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,13,69,4,64,65,0,33,3,12,3,11,32,3,65,2,106,33,8,65,0,33,10,3,64,32,8,65,4,106,33,3,32,8,47,1,2,34,12,4,127,32,3,32,12,65,1,116,106,33,16,65,0,33,6,3,64,32,3,47,1,0,32,9,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,12,71,13,0,11,32,16,5,32,3,11,33,8,65,0,33,3,32,10,65,1,106,34,10,32,13,71,13,0,11,12,2,11,32,5,40,2,40,32,5,40,2,4,65,1,116,106,32,9,65,1,116,106,47,1,0,33,3,12,1,11,32,8,47,1,0,33,3,11,32,5,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,3,45,0,0,34,5,69,13,0,32,3,32,5,65,3,116,106,34,3,45,0,0,13,0,32,3,45,0,4,65,1,71,13,0,32,4,32,2,41,2,0,34,30,55,3,136,2,32,30,66,32,136,33,31,2,64,32,30,167,34,5,65,1,113,4,64,32,5,33,7,12,1,11,32,5,34,7,40,2,0,65,1,70,13,0,32,5,40,2,36,65,3,116,65,204,0,106,34,3,35,5,40,2,0,17,0,0,33,6,32,3,4,64,32,6,32,5,32,5,40,2,36,65,3,116,107,32,3,252,10,0,0,11,32,0,65,136,9,106,33,10,32,6,32,5,40,2,36,34,9,65,3,116,106,33,7,2,64,32,9,4,64,65,0,33,3,3,64,32,6,32,3,65,3,116,106,40,0,0,34,8,65,1,113,69,4,64,32,8,32,8,40,2,0,65,1,106,54,2,0,32,8,40,2,0,26,32,5,40,2,36,33,9,11,32,3,65,1,106,34,3,32,9,73,13,0,11,12,1,11,32,5,45,0,44,65,192,0,113,69,13,0,32,5,40,2,48,33,3,32,4,32,5,41,2,68,55,3,176,2,32,4,32,5,41,2,60,55,3,168,2,32,4,32,5,41,2,52,55,3,160,2,2,64,32,5,40,2,72,34,6,65,25,73,13,0,32,6,35,5,40,2,0,17,0,0,33,3,32,5,40,2,72,34,6,69,13,0,32,3,32,5,40,2,48,32,6,252,10,0,0,11,32,7,32,3,54,2,48,32,7,32,4,41,3,160,2,55,2,52,32,7,32,4,41,3,168,2,55,2,60,32,7,32,4,41,3,176,2,55,2,68,11,32,7,65,1,54,2,0,32,4,32,4,41,3,136,2,55,3,96,32,10,32,4,65,224,0,106,16,60,66,0,33,31,11,2,64,32,7,65,1,113,4,64,32,7,65,8,114,33,7,12,1,11,32,7,32,7,47,1,44,65,4,114,59,1,44,11,32,2,32,7,173,34,30,32,31,66,32,134,132,55,2,0,32,30,66,8,136,167,33,11,11,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,0,65,132,1,106,33,3,32,0,40,2,160,9,33,5,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,7,65,1,113,4,127,32,11,65,255,1,113,5,32,7,47,1,40,11,65,255,255,3,113,34,7,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,5,40,2,8,32,5,40,2,4,106,32,7,77,13,0,32,5,40,2,56,32,7,65,2,116,106,40,2,0,33,6,11,32,4,32,6,54,2,80,32,3,65,128,8,35,1,65,193,5,106,32,4,65,208,0,106,16,249,1,26,32,0,40,2,96,34,7,4,64,32,0,40,2,92,65,0,32,3,32,7,17,3,0,11,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,6,65,34,70,13,0,32,6,65,220,0,70,13,0,32,6,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,3,45,0,0,33,6,11,32,6,192,32,0,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,65,8,35,5,40,2,0,17,0,0,34,3,32,2,41,2,0,34,30,55,2,0,32,0,40,2,160,9,33,7,32,3,65,212,0,35,4,40,2,0,17,1,0,33,3,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,24,59,1,132,2,32,4,66,0,55,3,184,2,32,4,65,1,54,2,224,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,240,1,32,4,66,0,55,3,136,2,32,4,66,0,55,3,184,1,32,4,65,1,54,2,216,1,32,4,65,254,255,3,59,1,244,1,32,4,65,0,59,1,130,2,32,3,32,4,40,2,224,1,54,2,8,32,3,32,4,41,3,184,2,55,2,36,32,3,32,4,41,3,176,2,55,2,28,32,3,32,4,41,3,168,2,55,2,20,32,3,32,4,41,3,160,2,55,2,12,32,3,32,4,40,2,216,1,54,2,44,32,3,32,4,47,1,244,1,59,1,48,32,3,32,4,47,1,240,1,59,1,50,32,3,32,4,47,1,132,2,59,1,52,32,3,32,4,40,2,152,2,54,1,70,32,3,32,4,41,3,144,2,55,1,62,32,3,32,4,41,3,136,2,55,1,54,32,3,32,4,47,1,130,2,59,1,74,32,3,32,4,41,3,184,1,55,2,76,32,4,65,0,54,2,204,1,32,4,32,3,65,8,106,54,2,200,1,32,4,32,4,41,3,200,1,55,3,72,32,4,65,200,0,106,32,7,16,128,1,2,64,2,64,32,14,32,15,70,4,64,32,0,40,2,132,9,33,3,32,4,32,4,41,3,200,1,34,31,55,3,176,1,32,4,32,31,55,3,48,32,3,32,1,32,4,65,48,106,65,0,65,0,16,84,32,30,167,65,1,113,69,13,1,12,2,11,32,0,40,2,132,9,33,3,32,4,65,1,54,2,136,2,32,4,65,160,2,106,32,3,32,1,35,2,65,7,106,32,4,65,136,2,106,65,1,16,75,32,4,40,2,160,2,33,5,2,64,32,4,40,2,164,2,34,6,65,1,77,4,64,32,5,40,2,12,33,7,32,0,40,2,132,9,33,3,12,1,11,32,0,65,136,9,106,33,8,65,1,33,9,3,64,65,0,33,3,32,5,32,9,65,4,116,106,34,7,40,2,4,4,64,3,64,32,4,32,7,40,2,0,32,3,65,3,116,106,41,2,0,55,3,64,32,8,32,4,65,64,107,16,60,32,3,65,1,106,34,3,32,7,40,2,4,73,13,0,11,11,32,7,65,0,54,2,4,32,7,40,2,0,34,3,4,64,32,3,35,6,40,2,0,17,2,0,32,7,65,0,54,2,8,32,7,66,0,55,2,0,11,32,9,65,1,106,34,9,32,6,71,13,0,11,32,5,40,2,12,34,7,65,1,106,34,6,32,0,40,2,132,9,34,3,40,2,4,79,13,0,3,64,32,3,32,6,16,71,32,5,40,2,12,34,7,65,1,106,34,6,32,0,40,2,132,9,34,3,40,2,4,73,13,0,11,11,32,3,32,7,32,1,16,83,32,5,40,2,0,33,3,32,5,32,5,40,2,4,34,7,65,1,106,34,6,32,5,40,2,8,34,8,75,4,127,65,8,32,8,65,1,116,34,7,32,6,32,6,32,7,73,27,34,7,32,7,65,8,77,27,34,6,65,3,116,33,7,2,127,32,3,4,64,32,3,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,3,32,5,32,6,54,2,8,32,5,32,3,54,2,0,32,5,40,2,4,34,7,65,1,106,5,32,6,11,54,2,4,32,3,32,7,65,3,116,106,32,4,41,3,200,1,55,2,0,32,4,65,136,2,106,65,254,255,3,32,5,65,0,32,0,40,2,160,9,16,129,1,32,4,32,4,41,3,136,2,34,30,55,3,200,1,32,2,45,0,0,33,3,32,0,40,2,132,9,33,7,32,4,32,30,55,3,56,32,4,32,30,55,3,176,1,32,7,32,1,32,4,65,56,106,65,0,65,0,16,84,32,3,65,1,113,13,1,11,32,2,40,2,0,34,5,45,0,44,65,192,0,113,69,13,0,32,0,40,2,132,9,33,6,2,64,32,5,65,1,113,69,4,64,32,2,40,2,4,33,8,2,127,32,5,40,2,36,34,7,4,64,3,64,32,5,32,7,65,3,116,107,33,14,32,7,33,3,3,64,2,64,2,64,32,14,32,3,65,1,107,34,3,65,3,116,106,34,15,40,2,0,34,2,65,1,113,13,0,32,2,45,0,44,65,192,0,113,69,13,0,32,2,40,2,36,33,7,32,15,40,2,4,33,8,32,2,33,5,12,1,11,32,3,13,1,11,11,32,7,13,0,11,32,6,40,2,0,34,3,32,5,13,1,26,65,0,33,5,12,3,11,32,6,40,2,0,11,33,3,32,5,65,1,113,13,1,32,5,32,5,40,2,0,65,1,106,54,2,0,32,5,40,2,0,26,12,1,11,32,6,40,2,0,33,3,65,0,33,5,65,0,33,8,11,32,3,32,1,65,5,116,106,34,1,40,2,12,4,64,32,6,40,2,52,33,2,32,4,32,1,41,2,12,55,3,40,32,2,32,4,65,40,106,16,60,11,32,1,32,8,54,2,16,32,1,32,5,54,2,12,11,2,64,32,0,40,2,132,9,34,1,40,2,4,34,2,69,4,64,65,1,33,3,12,1,11,32,1,40,2,0,33,7,65,0,33,6,3,64,32,7,32,6,65,5,116,106,34,1,40,2,28,33,3,32,1,40,2,0,34,5,40,2,156,1,34,8,32,1,40,2,8,73,4,64,32,1,32,8,54,2,8,11,2,64,32,3,65,1,70,13,0,32,5,47,1,0,69,13,0,65,0,33,3,12,2,11,65,1,33,3,32,6,65,1,106,34,6,32,2,71,13,0,11,11,32,0,32,3,58,0,226,10,12,1,11,32,0,40,2,160,9,33,7,65,0,65,204,0,35,4,40,2,0,17,1,0,33,3,32,4,66,0,55,3,184,2,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,1,54,2,200,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,244,1,32,4,66,0,55,3,136,2,32,4,66,0,55,3,184,1,32,4,65,0,54,2,224,1,32,4,65,255,255,3,59,1,216,1,32,4,65,27,59,1,240,1,32,4,65,0,59,1,132,2,32,3,32,4,40,2,200,1,54,2,0,32,3,32,4,41,3,184,2,55,2,28,32,3,32,4,41,3,176,2,55,2,20,32,3,32,4,41,3,168,2,55,2,12,32,3,32,4,41,3,160,2,55,2,4,32,3,32,4,40,2,224,1,54,2,36,32,3,32,4,47,1,216,1,59,1,40,32,3,32,4,47,1,244,1,59,1,42,32,3,32,4,47,1,240,1,59,1,44,32,3,32,4,40,2,152,2,54,1,62,32,3,32,4,41,3,144,2,55,1,54,32,3,32,4,41,3,136,2,55,1,46,32,3,32,4,47,1,132,2,59,1,66,32,3,32,4,41,3,184,1,55,2,68,32,4,65,0,54,2,252,1,32,4,32,3,54,2,248,1,32,4,32,4,41,2,248,1,55,3,16,32,4,65,16,106,32,7,16,128,1,32,3,32,3,47,1,44,65,251,255,3,113,59,1,44,32,0,40,2,132,9,33,3,32,4,32,4,41,2,248,1,55,3,8,32,3,32,1,32,4,65,8,106,65,0,65,1,16,84,32,4,32,2,41,2,0,55,3,0,32,0,32,1,32,4,16,81,11,32,4,65,192,2,106,36,0,11,195,3,1,7,127,35,0,65,16,107,34,4,36,0,2,127,32,2,45,0,0,34,7,65,1,113,69,4,64,32,2,40,2,0,34,5,65,196,0,65,40,32,5,40,2,36,34,6,27,106,47,1,0,33,8,32,5,65,42,106,32,6,69,13,1,26,32,5,65,198,0,106,12,1,11,32,2,45,0,1,33,8,32,2,65,2,106,11,47,1,0,33,6,32,0,40,2,160,9,34,10,40,2,88,33,0,2,64,32,10,40,2,0,65,14,77,4,64,32,0,32,1,65,2,116,106,34,9,47,1,0,33,5,32,9,47,1,2,33,9,32,4,65,0,59,1,12,32,4,32,9,59,1,10,32,4,32,5,59,1,8,32,0,32,6,65,2,116,106,40,1,0,33,0,32,4,65,0,59,1,4,32,4,32,0,54,2,0,12,1,11,32,4,32,0,32,1,65,6,108,106,34,5,47,1,4,59,1,12,32,4,32,5,40,1,0,34,5,54,2,8,32,4,32,0,32,6,65,6,108,106,34,0,47,1,4,59,1,4,32,4,32,0,40,1,0,54,2,0,11,2,64,32,5,65,255,255,3,113,65,255,255,3,70,4,64,65,0,33,0,12,1,11,2,64,32,3,40,2,4,69,13,0,32,4,32,4,65,8,106,65,6,16,248,1,13,0,32,10,47,1,100,32,8,71,4,64,65,1,33,0,12,2,11,32,7,65,1,113,4,127,32,7,65,6,118,65,1,113,5,32,2,40,2,0,47,1,44,65,10,118,65,1,113,11,13,0,65,1,33,0,32,2,65,2,106,32,2,40,2,0,65,42,106,32,7,65,1,113,27,47,1,0,32,1,70,13,1,11,2,127,32,2,40,2,0,34,0,65,1,113,4,64,32,2,45,0,7,12,1,11,32,0,40,2,16,11,33,2,65,0,33,0,32,8,69,32,2,65,0,71,114,69,13,0,32,4,47,1,10,13,0,32,3,45,0,8,33,0,11,32,4,65,16,106,36,0,32,0,65,1,113,11,216,3,2,11,127,1,126,32,0,40,2,0,34,6,32,0,40,2,4,34,1,65,4,116,106,34,2,65,4,107,40,2,0,33,9,32,2,65,9,107,45,0,0,33,4,32,2,65,10,107,45,0,0,33,5,2,64,32,2,65,16,107,40,2,0,34,3,65,1,113,4,64,32,4,32,5,106,33,7,12,1,11,32,3,40,2,16,32,3,40,2,4,106,33,7,32,3,45,0,44,65,192,0,113,69,13,0,32,2,65,12,107,47,1,0,32,5,65,16,116,114,32,4,65,24,116,114,33,8,32,3,40,2,36,34,4,4,64,3,64,32,3,32,4,65,3,116,107,33,10,32,4,33,2,3,64,2,64,2,64,32,10,32,2,65,1,107,34,2,65,3,116,106,34,11,40,2,0,34,5,65,1,113,13,0,32,5,45,0,44,65,192,0,113,69,13,0,32,5,40,2,36,33,4,32,11,40,2,4,33,8,32,5,33,3,12,1,11,32,2,13,1,11,11,32,4,13,0,11,11,32,0,32,8,54,2,16,32,0,32,3,54,2,12,11,32,6,65,32,107,33,8,32,7,32,9,106,33,7,2,64,3,64,32,0,32,1,34,3,65,1,107,34,1,54,2,4,32,1,69,13,1,32,6,32,1,65,4,116,106,40,2,8,65,1,106,33,4,65,0,33,2,32,8,32,3,65,4,116,106,40,2,0,34,5,65,1,113,4,127,65,0,5,32,5,40,2,36,11,32,4,77,13,0,11,32,0,40,2,8,34,2,32,3,73,4,64,32,6,65,8,32,2,65,1,116,34,1,32,3,32,1,32,3,75,27,34,1,32,1,65,8,77,27,34,1,65,4,116,35,4,40,2,0,17,1,0,33,6,32,0,32,1,54,2,8,32,0,32,6,54,2,0,32,0,40,2,4,33,1,11,32,0,32,1,65,1,106,54,2,4,32,5,32,5,40,2,36,65,3,116,107,32,4,65,3,116,106,41,2,0,33,12,32,6,32,1,65,4,116,106,34,0,32,7,54,2,12,32,0,32,4,54,2,8,32,0,32,12,55,2,0,11,11,185,19,2,24,127,1,126,35,0,65,48,107,34,9,36,0,32,9,65,36,106,32,0,40,2,132,9,34,2,32,1,35,2,65,9,106,65,0,65,0,16,75,2,127,32,9,40,2,40,34,21,4,64,32,0,65,132,1,106,33,16,32,0,65,136,9,106,33,22,3,64,32,2,32,9,40,2,36,34,2,40,2,12,32,1,16,83,32,2,32,1,54,2,12,65,0,33,17,65,0,33,15,3,64,32,9,40,2,36,32,17,65,4,116,106,34,2,40,2,4,33,18,32,2,40,2,12,65,5,116,34,19,32,0,40,2,132,9,40,2,0,106,40,2,0,47,1,0,33,6,32,9,32,2,40,2,0,34,20,41,2,0,34,26,55,3,24,2,64,32,26,167,34,2,65,1,113,13,0,65,0,33,12,32,2,40,2,36,34,23,69,13,0,3,64,32,6,33,4,32,9,40,2,24,34,2,32,2,40,2,36,65,3,116,107,32,12,65,3,116,106,34,2,40,2,4,33,10,2,64,2,64,2,64,2,64,32,2,40,2,0,34,3,65,1,113,34,14,69,4,64,65,0,33,6,32,3,40,2,36,65,0,71,33,15,32,3,47,1,40,34,8,65,255,255,3,70,13,3,32,3,45,0,44,65,4,113,69,13,1,32,4,33,6,12,3,11,65,0,33,15,32,3,65,8,113,13,3,32,3,65,128,254,3,113,65,8,118,33,8,12,1,11,32,8,65,254,255,3,70,13,1,11,32,4,65,255,255,3,113,33,2,32,0,40,2,160,9,34,7,40,2,24,33,6,2,64,32,8,32,7,40,2,12,73,4,64,2,64,2,64,32,2,32,6,79,4,64,32,7,40,2,44,32,7,40,2,48,32,2,32,6,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,24,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,5,65,0,33,11,3,64,32,5,65,4,106,33,2,32,5,47,1,2,34,13,4,127,32,2,32,13,65,1,116,106,33,25,65,0,33,6,3,64,32,2,47,1,0,32,8,70,13,4,32,2,65,2,106,33,2,32,6,65,1,106,34,6,32,13,71,13,0,11,32,25,5,32,2,11,33,5,65,0,33,2,32,11,65,1,106,34,11,32,24,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,2,108,65,1,116,106,32,8,65,1,116,106,47,1,0,33,2,12,1,11,32,5,47,1,0,33,2,11,65,0,33,6,32,7,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,5,69,13,1,32,2,32,5,65,3,116,106,34,2,45,0,0,13,1,32,4,32,2,65,8,106,34,2,65,6,107,47,1,0,32,2,65,4,107,45,0,0,65,1,113,27,33,6,12,1,11,2,64,32,2,32,6,79,4,64,32,7,40,2,44,32,7,40,2,48,32,2,32,6,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,11,69,4,64,65,0,33,6,12,3,11,32,2,65,2,106,33,7,65,0,33,4,3,64,32,7,65,4,106,33,2,32,7,47,1,2,34,5,4,127,32,2,32,5,65,1,116,106,33,13,65,0,33,6,3,64,32,2,47,1,0,32,8,70,13,4,32,2,65,2,106,33,2,32,6,65,1,106,34,6,32,5,71,13,0,11,32,13,5,32,2,11,33,7,65,0,33,6,32,4,65,1,106,34,4,32,11,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,2,108,65,1,116,106,32,8,65,1,116,106,47,1,0,33,6,12,1,11,32,7,47,1,0,33,6,11,32,14,13,1,11,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,11,32,0,40,2,132,9,34,2,40,2,0,32,19,106,34,7,40,2,0,33,4,2,127,32,2,40,2,40,34,5,4,64,32,2,32,5,65,1,107,34,5,54,2,40,32,2,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,32,6,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,2,66,0,55,2,152,1,32,2,65,1,54,2,148,1,32,2,65,0,54,2,160,1,2,64,2,127,2,64,2,64,32,4,4,64,32,2,65,0,59,0,29,32,2,32,15,58,0,28,32,2,32,3,173,32,10,173,66,32,134,132,55,2,20,32,2,32,4,54,2,16,32,2,65,1,59,1,144,1,32,2,65,0,58,0,31,32,2,32,4,41,2,4,55,2,4,32,2,32,4,40,2,12,54,2,12,32,2,32,4,40,2,152,1,34,5,54,2,152,1,32,2,32,4,40,2,160,1,34,13,54,2,160,1,32,2,32,4,40,2,156,1,34,8,54,2,156,1,32,3,69,13,1,32,14,13,2,32,2,32,3,45,0,45,65,2,113,4,127,65,226,4,5,32,3,40,2,32,11,32,5,106,54,2,152,1,65,0,32,3,40,2,12,32,3,40,2,20,34,10,27,33,5,32,3,40,2,16,32,3,40,2,4,106,33,4,32,3,40,2,24,33,11,32,10,32,3,40,2,8,106,12,3,11,32,2,66,0,55,2,4,65,0,33,8,32,2,65,0,54,2,12,32,3,13,3,11,32,7,32,8,54,2,8,12,2,11,32,2,32,5,32,3,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,10,65,255,1,113,33,5,32,10,65,24,118,34,11,32,10,65,16,118,65,255,1,113,106,33,4,32,10,65,8,118,65,15,113,11,33,10,32,2,32,2,40,0,4,32,4,106,54,2,4,32,2,32,2,40,0,8,32,10,106,173,32,5,32,11,106,65,0,32,2,40,0,12,32,10,27,106,173,66,32,134,132,55,2,8,2,64,32,14,69,4,64,65,0,33,4,32,2,32,3,40,2,36,34,5,4,127,32,3,40,2,56,5,65,0,11,32,8,106,32,3,47,1,44,65,1,113,106,32,3,47,1,40,65,254,255,3,70,106,54,2,156,1,32,5,69,13,1,32,3,40,2,60,33,4,12,1,11,32,2,32,8,32,3,65,1,118,65,1,113,106,54,2,156,1,65,0,33,4,11,32,2,32,4,32,13,106,54,2,160,1,11,32,7,32,2,54,2,0,32,12,65,1,106,34,12,32,23,71,13,0,11,11,65,1,33,12,32,18,65,1,75,4,64,3,64,32,20,32,12,65,3,116,106,41,2,0,33,26,32,0,40,2,132,9,34,2,40,2,0,32,19,106,34,10,40,2,0,33,4,2,127,32,2,40,2,40,34,5,4,64,32,2,32,5,65,1,107,34,5,54,2,40,32,2,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,32,6,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,26,167,33,3,32,2,66,0,55,2,152,1,32,2,65,1,54,2,148,1,32,2,65,0,54,2,160,1,2,64,32,2,2,127,2,64,2,64,32,4,4,64,32,2,65,0,54,2,28,32,2,32,26,55,2,20,32,2,32,4,54,2,16,32,2,65,1,59,1,144,1,32,2,32,4,41,2,4,55,2,4,32,2,32,4,40,2,12,54,2,12,32,2,32,4,40,2,152,1,34,5,54,2,152,1,32,2,32,4,40,2,160,1,34,11,54,2,160,1,32,2,32,4,40,2,156,1,34,4,54,2,156,1,32,3,69,13,1,32,3,65,1,113,34,14,13,2,32,2,32,3,45,0,45,65,2,113,4,127,65,226,4,5,32,3,40,2,32,11,32,5,106,54,2,152,1,65,0,32,3,40,2,12,32,3,40,2,20,34,5,27,33,7,32,5,32,3,40,2,8,106,33,8,32,3,40,2,24,33,5,32,3,40,2,16,32,3,40,2,4,106,12,3,11,32,2,66,0,55,2,4,65,0,33,4,32,2,65,0,54,2,12,32,3,13,3,11,32,10,32,4,54,2,8,12,2,11,32,2,32,5,32,3,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,26,66,32,136,167,65,255,1,113,33,7,32,26,66,40,136,167,65,15,113,33,8,32,26,66,56,136,167,34,5,32,26,66,48,136,167,65,255,1,113,106,11,32,2,40,0,4,106,54,2,4,32,2,32,2,40,0,8,32,8,106,173,32,5,32,7,106,65,0,32,2,40,0,12,32,8,27,106,173,66,32,134,132,55,2,8,2,64,32,14,69,4,64,65,0,33,8,32,2,32,3,40,2,36,34,5,4,127,32,3,40,2,56,5,65,0,11,32,4,106,32,3,47,1,44,65,1,113,106,32,3,47,1,40,65,254,255,3,70,106,54,2,156,1,32,5,69,13,1,32,3,40,2,60,33,8,12,1,11,32,2,32,4,32,3,65,1,118,65,1,113,106,54,2,156,1,65,0,33,8,11,32,2,32,8,32,11,106,54,2,160,1,11,32,10,32,2,54,2,0,32,12,65,1,106,34,12,32,18,71,13,0,11,11,32,9,32,9,41,3,24,55,3,16,32,22,32,9,65,16,106,16,60,32,20,35,6,40,2,0,17,2,0,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,0,40,2,160,9,33,6,35,1,65,171,10,106,33,2,2,64,2,64,2,64,2,127,32,9,45,0,24,65,1,113,4,64,32,9,45,0,25,12,1,11,32,9,40,2,24,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,6,40,2,8,32,6,40,2,4,106,32,4,77,13,0,32,6,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,9,32,2,54,2,0,32,16,65,128,8,35,1,65,165,7,106,32,9,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,16,32,2,17,3,0,11,32,16,33,4,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,4,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,32,0,40,2,140,10,34,2,69,13,3,32,0,40,2,132,9,32,0,40,2,160,9,32,2,16,70,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,4,45,0,0,33,2,11,32,2,192,32,0,40,2,140,10,16,241,1,32,4,65,1,106,33,4,12,0,11,0,11,32,17,65,1,106,34,17,32,9,40,2,40,73,13,0,11,65,1,32,15,69,13,2,26,32,9,65,36,106,32,0,40,2,132,9,34,2,32,1,35,2,65,9,106,65,0,65,0,16,75,32,9,40,2,40,13,0,11,11,32,21,65,0,71,11,33,0,32,9,65,48,106,36,0,32,0,11,151,10,2,17,127,1,126,35,0,65,192,1,107,34,3,36,0,32,0,40,2,132,9,33,5,32,3,32,2,41,2,0,55,3,56,32,5,32,1,32,3,65,56,106,65,0,65,1,16,84,32,3,65,220,0,106,32,0,40,2,132,9,32,1,35,2,65,10,106,65,0,65,0,16,75,32,3,40,2,96,4,64,32,0,65,180,9,106,33,14,32,0,65,136,9,106,33,15,3,64,32,3,40,2,92,32,16,65,4,116,106,34,5,40,2,8,33,11,32,5,40,2,4,33,2,32,5,40,2,0,33,7,32,3,66,0,55,3,80,66,0,33,20,2,64,32,2,34,5,69,13,0,3,64,32,3,32,7,32,5,65,1,107,34,8,65,3,116,34,17,106,41,2,0,34,20,55,3,72,2,64,2,64,32,20,167,34,4,65,1,113,4,64,32,20,66,8,131,66,0,82,13,2,65,0,33,10,65,1,33,12,65,0,33,6,12,1,11,32,4,45,0,44,65,4,113,13,1,32,4,32,4,40,2,36,34,6,65,3,116,107,33,10,32,6,69,4,64,65,0,33,6,65,1,33,12,12,1,11,65,0,33,12,65,0,33,4,32,6,65,1,71,4,64,32,6,65,126,113,33,18,65,0,33,13,3,64,32,10,32,4,65,3,116,106,34,19,40,0,0,34,9,65,1,113,69,4,64,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,11,32,19,40,0,8,34,9,65,1,113,69,4,64,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,11,32,4,65,2,106,33,4,32,13,65,2,106,34,13,32,18,71,13,0,11,11,32,6,65,1,113,69,13,0,32,10,32,4,65,3,116,106,40,0,0,34,4,65,1,113,13,0,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,11,32,11,32,2,32,6,106,65,1,107,34,4,73,4,64,32,4,65,3,116,33,11,2,127,32,7,4,64,32,7,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,7,32,4,33,11,11,2,64,32,2,32,5,77,13,0,32,2,32,5,107,65,3,116,34,2,69,13,0,32,7,32,6,32,8,106,65,3,116,106,32,7,32,5,65,3,116,106,32,2,252,10,0,0,11,2,64,32,12,13,0,32,6,65,3,116,33,2,32,7,32,17,106,33,5,32,10,4,64,32,2,69,13,1,32,5,32,10,32,2,252,10,0,0,12,1,11,32,2,69,13,0,32,5,65,0,32,2,252,11,0,11,2,127,32,3,45,0,72,65,1,113,4,64,32,3,40,2,72,33,8,32,3,45,0,73,12,1,11,32,3,40,2,72,34,8,47,1,40,11,33,2,65,1,33,5,32,0,40,2,160,9,33,6,32,8,47,1,66,33,9,65,2,33,8,2,64,2,64,2,64,32,2,65,255,255,3,113,34,10,65,254,255,3,107,14,2,0,2,1,11,65,0,33,8,65,0,33,5,12,1,11,32,6,40,2,72,32,10,65,3,108,106,34,8,45,0,0,65,229,0,113,33,5,32,8,45,0,1,65,1,116,33,8,11,32,4,65,3,116,34,12,65,204,0,106,34,13,32,11,65,3,116,75,4,64,32,7,32,13,35,4,40,2,0,17,1,0,33,7,11,32,3,66,0,55,3,176,1,32,3,66,0,55,3,168,1,32,3,66,0,55,3,160,1,32,3,66,0,55,3,128,1,32,3,65,0,54,2,136,1,32,3,65,1,54,2,188,1,32,3,66,0,55,3,152,1,32,3,65,0,59,1,142,1,32,3,66,0,55,3,120,32,3,66,0,55,3,104,32,3,32,9,59,1,118,32,3,32,2,59,1,144,1,32,3,32,5,32,8,114,65,255,1,113,65,24,65,0,32,10,65,253,255,3,75,27,114,59,1,140,1,32,3,32,4,54,2,148,1,32,7,32,12,106,34,2,32,3,40,2,188,1,54,2,0,32,2,32,3,41,3,176,1,55,2,28,32,2,32,3,41,3,168,1,55,2,20,32,2,32,3,41,3,160,1,55,2,12,32,2,32,3,41,3,152,1,55,2,4,32,2,32,3,40,2,148,1,54,2,36,32,2,32,3,47,1,144,1,59,1,40,32,2,32,3,47,1,142,1,59,1,42,32,2,32,3,47,1,140,1,59,1,44,32,2,32,3,40,2,136,1,54,1,62,32,2,32,3,41,3,128,1,55,1,54,32,2,32,3,41,3,120,55,1,46,32,2,32,3,47,1,118,59,1,66,32,2,32,3,41,3,104,55,2,68,32,3,65,0,54,2,68,32,3,32,2,54,2,64,32,3,32,3,41,3,64,55,3,48,32,3,65,48,106,32,6,16,128,1,32,3,32,3,41,3,64,34,20,55,3,80,32,3,32,3,41,3,72,55,3,40,32,15,32,3,65,40,106,16,60,12,2,11,32,8,34,5,13,0,11,66,0,33,20,11,32,0,32,0,40,2,168,10,65,1,106,54,2,168,10,2,64,2,64,32,0,40,2,180,9,4,64,32,3,32,14,41,2,0,55,3,32,32,3,32,3,41,3,80,55,3,24,32,0,32,3,65,32,106,32,3,65,24,106,16,144,1,69,13,1,32,3,32,14,41,2,0,55,3,8,32,15,32,3,65,8,106,16,60,11,32,14,32,20,55,2,0,12,1,11,32,3,32,3,41,3,80,55,3,16,32,15,32,3,65,16,106,16,60,11,32,16,65,1,106,34,16,32,3,40,2,96,73,13,0,11,11,32,0,40,2,132,9,32,3,40,2,92,40,2,12,16,71,32,0,40,2,132,9,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,3,65,192,1,106,36,0,11,234,32,2,26,127,1,126,35,0,65,128,2,107,34,8,36,0,32,0,40,2,132,9,34,9,40,2,4,33,29,32,8,32,3,54,2,216,1,32,8,65,132,1,106,32,9,32,1,35,2,65,7,106,32,8,65,216,1,106,32,3,16,75,32,0,40,2,132,9,34,3,40,2,4,34,11,4,127,32,3,40,2,0,33,18,65,0,33,9,65,0,33,3,32,11,65,4,79,4,64,32,11,65,124,113,33,12,3,64,32,9,32,18,32,3,65,5,116,106,34,17,40,2,28,65,2,70,106,32,17,40,2,60,65,2,70,106,32,17,40,2,92,65,2,70,106,32,17,40,2,124,65,2,70,106,33,9,32,3,65,4,106,33,3,32,13,65,4,106,34,13,32,12,71,13,0,11,11,32,11,65,3,113,34,17,4,64,3,64,32,9,32,18,32,3,65,5,116,106,40,2,28,65,2,70,106,33,9,32,3,65,1,106,33,3,32,10,65,1,106,34,10,32,17,71,13,0,11,11,32,9,65,10,106,5,65,10,11,33,30,32,8,40,2,136,1,34,14,4,64,65,24,65,0,32,2,65,253,255,3,75,27,33,31,32,0,65,132,1,106,33,18,32,0,65,136,9,106,33,23,32,0,65,200,9,106,33,28,32,0,65,188,9,106,33,24,32,2,65,3,108,33,32,65,0,33,17,3,64,32,8,40,2,132,1,34,11,32,17,65,4,116,106,34,3,40,2,4,33,10,32,3,40,2,0,33,9,2,64,32,30,32,3,40,2,12,34,21,32,25,107,34,26,73,4,64,32,0,40,2,132,9,32,26,16,71,65,0,33,3,32,10,4,64,3,64,32,8,32,9,32,3,65,3,116,106,41,2,0,55,3,8,32,23,32,8,65,8,106,16,60,32,3,65,1,106,34,3,32,10,71,13,0,11,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,25,65,1,106,33,25,32,17,65,1,106,34,3,32,14,79,13,1,3,64,32,3,33,10,2,64,2,64,32,0,40,2,96,34,9,69,4,64,32,0,40,2,140,10,69,13,2,32,18,35,1,34,3,41,0,157,3,55,0,0,32,18,32,3,41,0,188,3,55,0,31,32,18,32,3,41,0,181,3,55,0,24,32,18,32,3,41,0,173,3,55,0,16,32,18,32,3,41,0,165,3,55,0,8,12,1,11,32,18,35,1,34,3,41,0,157,3,55,0,0,32,18,32,3,41,0,188,3,55,0,31,32,18,32,3,41,0,181,3,55,0,24,32,18,32,3,41,0,173,3,55,0,16,32,18,32,3,41,0,165,3,55,0,8,32,0,40,2,92,65,0,32,18,32,9,17,3,0,32,0,40,2,140,10,69,13,1,11,32,18,33,9,3,64,2,64,2,64,32,9,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,9,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,9,65,1,106,33,9,12,0,11,0,11,32,11,32,10,65,4,116,106,34,13,40,2,12,32,21,71,13,2,32,13,40,2,0,33,9,65,0,33,3,32,13,40,2,4,34,17,4,64,3,64,32,8,32,9,32,3,65,3,116,106,41,2,0,55,3,0,32,23,32,8,16,60,32,3,65,1,106,34,3,32,17,71,13,0,11,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,10,34,17,65,1,106,34,3,32,14,71,13,0,11,12,1,11,32,8,32,3,40,2,8,54,2,128,1,32,8,32,10,54,2,124,32,8,32,9,54,2,120,32,8,65,248,0,106,34,3,32,24,16,127,32,8,65,240,0,106,32,2,32,3,32,5,32,0,40,2,160,9,16,129,1,2,64,32,17,65,1,106,34,9,32,14,79,13,0,32,8,40,2,132,1,32,9,65,4,116,106,34,3,40,2,12,32,21,71,13,0,3,64,32,9,33,17,32,3,40,2,8,33,22,32,3,40,2,4,33,13,32,3,40,2,0,33,12,32,0,65,0,54,2,204,9,2,64,32,13,34,10,69,4,64,32,8,32,8,41,3,112,55,3,144,1,32,0,40,2,212,9,33,9,65,0,33,10,65,0,33,3,12,1,11,2,64,2,127,3,64,32,0,40,2,204,9,34,9,2,127,32,12,32,10,65,3,116,106,34,3,65,8,107,40,2,0,34,11,65,1,113,4,64,32,11,65,3,118,65,1,113,12,1,11,32,11,47,1,44,65,2,118,65,1,113,11,69,13,1,26,32,3,65,4,107,40,2,0,33,15,32,0,40,2,200,9,33,3,32,0,32,9,65,1,106,34,14,32,0,40,2,208,9,34,16,75,4,127,65,8,32,16,65,1,116,34,9,32,14,32,9,32,14,75,27,34,9,32,9,65,8,77,27,34,14,65,3,116,33,9,2,127,32,3,4,64,32,3,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,3,32,0,32,14,54,2,208,9,32,0,32,3,54,2,200,9,32,0,40,2,204,9,34,9,65,1,106,5,32,14,11,54,2,204,9,32,3,32,9,65,3,116,106,34,3,32,15,54,2,4,32,3,32,11,54,2,0,32,10,65,1,107,34,10,13,0,11,65,0,33,10,32,0,40,2,204,9,11,34,9,65,2,73,13,0,65,0,33,3,32,9,65,1,118,34,11,65,1,71,4,64,32,11,65,254,255,255,255,7,113,33,14,65,0,33,11,3,64,32,0,40,2,200,9,34,15,32,3,65,3,116,34,16,106,34,19,41,2,0,33,34,32,19,32,15,32,0,40,2,204,9,32,3,65,127,115,106,65,3,116,34,19,106,41,2,0,55,2,0,32,0,40,2,200,9,32,19,106,32,34,55,2,0,32,0,40,2,200,9,34,15,32,16,106,34,16,41,2,8,33,34,32,16,32,15,32,0,40,2,204,9,32,3,65,254,255,255,255,1,115,106,65,3,116,34,16,106,41,2,0,55,2,8,32,0,40,2,200,9,32,16,106,32,34,55,2,0,32,3,65,2,106,33,3,32,11,65,2,106,34,11,32,14,71,13,0,11,11,32,9,65,2,113,69,13,0,32,0,40,2,200,9,34,9,32,3,65,3,116,106,34,11,41,2,0,33,34,32,11,32,9,32,0,40,2,204,9,32,3,65,127,115,106,65,3,116,34,3,106,41,2,0,55,2,0,32,0,40,2,200,9,32,3,106,32,34,55,2,0,11,32,8,32,8,41,3,112,55,3,144,1,32,0,40,2,212,9,33,9,32,0,40,2,220,9,32,10,79,4,64,32,10,65,3,116,33,3,12,1,11,32,10,65,3,116,33,3,2,127,32,9,4,64,32,9,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,9,32,0,32,10,54,2,220,9,32,0,32,9,54,2,212,9,11,32,0,32,10,54,2,216,9,32,3,4,64,32,9,32,12,32,3,252,10,0,0,11,65,1,33,9,32,0,40,2,160,9,33,14,65,2,33,15,2,64,2,64,2,64,2,127,32,8,45,0,144,1,65,1,113,4,64,32,8,45,0,145,1,12,1,11,32,8,40,2,144,1,47,1,40,11,34,20,65,255,255,3,113,34,16,65,254,255,3,107,14,2,0,2,1,11,65,0,33,15,65,0,33,9,12,1,11,32,14,40,2,72,32,16,65,3,108,106,34,3,45,0,0,65,229,0,113,33,9,32,3,45,0,1,65,1,116,33,15,11,32,0,40,2,212,9,33,3,32,0,40,2,216,9,34,11,65,3,116,65,204,0,106,34,19,32,0,40,2,220,9,65,3,116,75,4,64,32,3,32,19,35,4,40,2,0,17,1,0,33,3,32,0,32,19,65,3,118,54,2,220,9,32,0,32,3,54,2,212,9,32,0,40,2,216,9,33,11,11,32,8,66,0,55,3,240,1,32,8,66,0,55,3,232,1,32,8,66,0,55,3,224,1,32,8,66,0,55,3,184,1,32,8,65,0,54,2,192,1,32,8,65,1,54,2,252,1,32,8,66,0,55,3,216,1,32,8,65,0,59,1,204,1,32,8,66,0,55,3,176,1,32,8,66,0,55,3,160,1,32,8,65,0,59,1,174,1,32,8,32,20,59,1,208,1,32,8,32,9,32,15,114,65,255,1,113,65,24,65,0,32,16,65,253,255,3,75,27,114,59,1,200,1,32,8,32,11,54,2,212,1,32,3,32,11,65,3,116,106,34,3,32,8,40,2,252,1,54,2,0,32,3,32,8,41,3,240,1,55,2,28,32,3,32,8,41,3,232,1,55,2,20,32,3,32,8,41,3,224,1,55,2,12,32,3,32,8,41,3,216,1,55,2,4,32,3,32,8,40,2,212,1,54,2,36,32,3,32,8,47,1,208,1,59,1,40,32,3,32,8,47,1,204,1,59,1,42,32,3,32,8,47,1,200,1,59,1,44,32,3,32,8,40,2,192,1,54,1,62,32,3,32,8,41,3,184,1,55,1,54,32,3,32,8,41,3,176,1,55,1,46,32,3,32,8,47,1,174,1,59,1,66,32,3,32,8,41,3,160,1,55,2,68,32,8,65,0,54,2,156,1,32,8,32,3,54,2,152,1,32,8,32,8,41,2,152,1,55,3,88,32,8,65,216,0,106,32,14,16,128,1,32,8,32,8,41,3,144,1,55,3,80,32,8,32,8,41,2,152,1,55,3,72,2,64,32,0,32,8,65,208,0,106,32,8,65,200,0,106,16,144,1,4,64,65,0,33,3,32,0,40,2,192,9,4,64,3,64,32,8,32,0,40,2,188,9,32,3,65,3,116,106,41,2,0,55,3,56,32,23,32,8,65,56,106,16,60,32,3,65,1,106,34,3,32,0,40,2,192,9,73,13,0,11,11,32,0,65,0,54,2,192,9,32,8,32,8,41,3,112,34,34,55,3,104,32,8,32,34,55,3,48,32,23,32,8,65,48,106,16,60,32,8,32,28,40,2,8,54,2,224,1,32,8,32,28,41,2,0,55,3,216,1,32,28,32,24,40,2,8,54,2,8,32,28,32,24,41,2,0,55,2,0,32,24,32,8,40,2,224,1,54,2,8,32,24,32,8,41,3,216,1,55,2,0,65,1,33,3,32,0,40,2,160,9,33,9,65,2,33,11,2,64,2,64,2,64,32,2,65,254,255,3,107,14,2,0,2,1,11,65,0,33,11,65,0,33,3,12,1,11,32,9,40,2,72,32,32,106,34,13,45,0,0,65,229,0,113,33,3,32,13,45,0,1,65,1,116,33,11,11,32,10,65,3,116,34,13,65,204,0,106,34,14,32,22,65,3,116,75,4,64,32,12,32,14,35,4,40,2,0,17,1,0,33,12,11,32,8,66,0,55,3,240,1,32,8,66,0,55,3,232,1,32,8,66,0,55,3,224,1,32,8,66,0,55,3,184,1,32,8,65,0,54,2,192,1,32,8,65,1,54,2,144,1,32,8,66,0,55,3,216,1,32,8,65,0,59,1,208,1,32,8,66,0,55,3,176,1,32,8,66,0,55,3,160,1,32,8,32,2,59,1,212,1,32,8,32,5,59,1,200,1,32,8,32,31,32,3,32,11,114,65,255,1,113,114,59,1,204,1,32,8,32,10,54,2,252,1,32,12,32,13,106,34,3,32,8,40,2,144,1,54,2,0,32,3,32,8,41,3,240,1,55,2,28,32,3,32,8,41,3,232,1,55,2,20,32,3,32,8,41,3,224,1,55,2,12,32,3,32,8,41,3,216,1,55,2,4,32,3,32,8,40,2,252,1,54,2,36,32,3,32,8,47,1,212,1,59,1,40,32,3,32,8,47,1,208,1,59,1,42,32,3,32,8,47,1,204,1,59,1,44,32,3,32,8,40,2,192,1,54,1,62,32,3,32,8,41,3,184,1,55,1,54,32,3,32,8,41,3,176,1,55,1,46,32,3,32,8,47,1,200,1,59,1,66,32,3,32,8,41,3,160,1,55,2,68,32,8,65,0,54,2,156,1,32,8,32,3,54,2,152,1,32,8,32,8,41,3,152,1,55,3,40,32,8,65,40,106,32,9,16,128,1,32,8,32,8,41,3,152,1,55,3,112,12,1,11,65,0,33,3,32,0,65,0,54,2,204,9,32,13,4,64,3,64,32,8,32,12,32,3,65,3,116,106,41,2,0,55,3,64,32,23,32,8,65,64,107,16,60,32,3,65,1,106,34,3,32,13,71,13,0,11,11,32,12,69,13,0,32,12,35,6,40,2,0,17,2,0,11,32,17,65,1,106,34,9,32,8,40,2,136,1,34,14,79,13,1,32,8,40,2,132,1,32,9,65,4,116,106,34,3,40,2,12,32,21,70,13,0,11,11,32,0,40,2,160,9,32,26,65,5,116,34,19,32,0,40,2,132,9,40,2,0,106,40,2,0,47,1,0,34,9,32,2,16,25,33,13,2,64,32,7,69,13,0,32,9,32,13,71,13,0,32,8,40,2,112,34,3,32,3,47,1,44,65,4,114,59,1,44,11,32,8,40,2,112,33,3,2,64,2,64,32,6,13,0,32,14,65,1,75,13,0,32,29,65,2,73,13,1,11,32,3,32,3,47,1,44,65,24,114,59,1,44,65,255,255,3,33,9,11,32,3,32,9,59,1,42,32,3,32,3,40,2,60,32,4,106,54,2,60,32,0,40,2,132,9,33,3,32,8,32,8,41,3,112,34,34,55,3,96,32,8,32,34,55,3,32,65,0,33,11,32,3,32,26,32,8,65,32,106,65,0,32,13,16,84,32,0,40,2,192,9,4,64,3,64,32,0,40,2,188,9,32,11,65,3,116,106,41,0,0,33,34,32,0,40,2,132,9,34,3,40,2,0,32,19,106,34,22,40,2,0,33,9,2,127,32,3,40,2,40,34,10,4,64,32,3,32,10,65,1,107,34,10,54,2,40,32,3,40,2,36,32,10,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,3,32,13,59,1,0,32,3,65,2,106,65,0,65,146,1,252,11,0,32,34,167,33,10,32,3,66,0,55,2,152,1,32,3,65,1,54,2,148,1,32,3,65,0,54,2,160,1,2,64,2,127,2,64,2,64,32,9,4,64,32,3,65,0,54,2,28,32,3,32,34,55,2,20,32,3,32,9,54,2,16,32,3,65,1,59,1,144,1,32,3,32,9,41,2,4,55,2,4,32,3,32,9,40,2,12,54,2,12,32,3,32,9,40,2,152,1,34,12,54,2,152,1,32,3,32,9,40,2,160,1,34,33,54,2,160,1,32,3,32,9,40,2,156,1,34,9,54,2,156,1,32,10,69,13,1,32,10,65,1,113,34,27,13,2,32,3,32,10,45,0,45,65,2,113,4,127,65,226,4,5,32,10,40,2,32,11,32,12,106,54,2,152,1,65,0,32,10,40,2,12,32,10,40,2,20,34,20,27,33,16,32,10,40,2,16,32,10,40,2,4,106,33,15,32,10,40,2,24,33,12,32,20,32,10,40,2,8,106,12,3,11,32,3,66,0,55,2,4,65,0,33,9,32,3,65,0,54,2,12,32,10,13,3,11,32,22,32,9,54,2,8,12,2,11,32,3,32,12,32,10,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,34,66,32,136,167,65,255,1,113,33,16,32,34,66,56,136,167,34,12,32,34,66,48,136,167,65,255,1,113,106,33,15,32,34,66,40,136,167,65,15,113,11,33,20,32,3,32,3,40,0,4,32,15,106,54,2,4,32,3,32,3,40,0,8,32,20,106,173,32,12,32,16,106,65,0,32,3,40,0,12,32,20,27,106,173,66,32,134,132,55,2,8,2,64,32,27,69,4,64,65,0,33,12,32,3,32,10,40,2,36,34,15,4,127,32,10,40,2,56,5,65,0,11,32,9,106,32,10,47,1,44,65,1,113,106,32,10,47,1,40,65,254,255,3,70,106,54,2,156,1,32,15,69,13,1,32,10,40,2,60,33,12,12,1,11,32,3,32,9,32,10,65,1,118,65,1,113,106,54,2,156,1,65,0,33,12,11,32,3,32,12,32,33,106,54,2,160,1,11,32,22,32,3,54,2,0,32,11,65,1,106,34,11,32,0,40,2,192,9,73,13,0,11,11,65,0,33,3,32,21,32,25,70,13,0,3,64,2,64,32,1,32,3,70,13,0,32,0,40,2,132,9,34,21,40,2,0,34,9,32,3,65,5,116,106,34,10,40,2,28,13,0,32,9,32,19,106,34,15,40,2,28,13,0,32,10,40,2,0,34,12,47,1,0,34,20,32,15,40,2,0,34,13,47,1,0,71,13,0,32,12,40,2,4,32,13,40,2,4,71,13,0,32,12,40,2,152,1,32,13,40,2,152,1,71,13,0,32,15,40,0,12,33,9,2,127,35,1,65,148,12,106,34,27,32,10,40,0,12,34,11,69,13,0,26,32,27,32,11,65,1,113,13,0,26,32,27,32,11,45,0,44,65,192,0,113,69,13,0,26,32,27,32,11,65,48,106,32,11,40,2,36,27,11,34,16,40,2,24,33,22,2,64,2,127,35,1,65,148,12,106,34,11,32,9,69,13,0,26,32,11,32,9,65,1,113,13,0,26,32,11,32,9,45,0,44,65,192,0,113,69,13,0,26,32,11,32,9,65,48,106,32,9,40,2,36,27,11,34,9,40,2,24,34,11,65,25,79,4,64,32,11,32,22,71,13,2,32,16,40,2,0,33,16,32,9,40,2,0,33,9,12,1,11,32,11,32,22,71,13,1,11,32,16,32,9,32,11,16,248,1,13,0,32,13,47,1,144,1,4,127,65,0,33,3,3,64,32,21,40,2,52,33,9,32,10,40,2,0,33,11,32,8,32,13,32,3,65,4,116,106,34,13,41,2,24,55,3,24,32,8,32,13,41,2,16,55,3,16,32,11,32,8,65,16,106,32,9,16,72,32,3,65,1,106,34,3,32,15,40,2,0,34,13,47,1,144,1,73,13,0,11,32,10,40,2,0,34,12,47,1,0,5,32,20,11,65,255,255,3,113,69,4,64,32,10,32,12,40,2,156,1,54,2,8,11,32,21,32,26,16,71,32,25,65,1,106,33,25,12,2,11,32,3,65,1,106,34,3,32,26,71,13,0,11,11,32,17,65,1,106,34,17,32,14,73,13,0,11,32,0,40,2,132,9,40,2,4,33,11,11,32,8,65,128,2,106,36,0,65,127,32,29,32,11,32,29,77,27,11,193,2,1,5,127,35,0,65,16,107,34,5,36,0,32,1,32,2,71,4,64,32,0,40,2,0,34,3,32,1,65,5,116,106,33,4,2,64,32,3,32,2,65,5,116,106,34,2,40,2,4,34,3,69,13,0,32,4,40,2,4,13,0,32,4,32,3,54,2,4,32,2,65,0,54,2,4,11,32,2,40,2,0,4,64,32,0,40,2,52,33,6,32,2,40,2,12,4,64,32,5,32,2,41,2,12,55,3,8,32,6,32,5,65,8,106,16,60,11,32,2,40,2,20,4,64,32,5,32,2,41,2,20,55,3,0,32,6,32,5,16,60,11,32,2,40,2,4,34,3,4,64,32,3,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,2,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,0,65,36,106,32,6,16,65,11,32,2,32,4,41,2,0,55,2,0,32,2,32,4,41,2,24,55,2,24,32,2,32,4,41,2,16,55,2,16,32,2,32,4,41,2,8,55,2,8,32,0,40,2,4,32,1,65,127,115,106,65,5,116,34,2,4,64,32,0,40,2,0,32,1,65,5,116,106,34,1,32,1,65,32,106,32,2,252,10,0,0,11,32,0,32,0,40,2,4,65,1,107,54,2,4,11,32,5,65,16,106,36,0,11,222,4,2,1,126,4,127,32,0,40,2,0,32,1,65,5,116,106,34,6,40,2,0,33,1,32,2,41,2,0,33,5,2,127,32,0,40,2,40,34,2,4,64,32,0,32,2,65,1,107,34,2,54,2,40,32,0,40,2,36,32,2,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,0,32,4,59,1,0,32,0,65,2,106,65,0,65,146,1,252,11,0,32,5,167,33,2,32,0,66,0,55,2,152,1,32,0,65,1,54,2,148,1,32,0,65,0,54,2,160,1,32,0,2,127,2,64,2,64,2,64,32,1,4,64,32,0,65,0,59,0,29,32,0,32,3,58,0,28,32,0,32,5,55,2,20,32,0,32,1,54,2,16,32,0,65,1,59,1,144,1,32,0,65,0,58,0,31,32,0,32,1,41,2,4,55,2,4,32,0,32,1,40,2,12,54,2,12,32,0,32,1,40,2,152,1,34,4,54,2,152,1,32,0,32,1,40,2,160,1,34,9,54,2,160,1,32,0,32,1,40,2,156,1,34,1,54,2,156,1,32,2,69,13,1,32,2,65,1,113,13,3,65,226,4,33,3,32,0,32,2,45,0,45,65,2,113,4,127,65,226,4,5,32,2,40,2,32,11,32,4,106,54,2,152,1,65,0,32,2,40,2,12,32,2,40,2,20,34,4,27,33,7,32,4,32,2,40,2,8,106,33,4,32,2,40,2,24,33,8,32,2,40,2,16,32,2,40,2,4,106,12,4,11,32,0,66,0,55,2,4,65,0,33,1,32,0,65,0,54,2,12,32,2,13,1,11,32,6,32,1,54,2,8,11,32,6,32,0,54,2,0,15,11,32,0,32,4,32,2,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,5,66,32,136,167,65,255,1,113,33,7,32,5,66,40,136,167,65,15,113,33,4,32,5,66,56,136,167,34,8,32,5,66,48,136,167,65,255,1,113,106,11,32,0,40,0,4,106,54,2,4,65,0,33,3,32,0,32,0,40,0,8,32,4,106,173,32,7,32,8,106,65,0,32,0,40,0,12,32,4,27,106,173,66,32,134,132,55,2,8,32,0,2,127,32,2,65,1,113,69,4,64,32,0,32,2,40,2,36,34,4,4,127,32,2,40,2,56,5,65,0,11,32,1,106,32,2,47,1,44,65,1,113,106,32,2,47,1,40,65,254,255,3,70,106,54,2,156,1,65,0,32,4,69,13,1,26,32,2,40,2,60,12,1,11,32,0,32,1,32,2,65,1,118,65,1,113,106,54,2,156,1,65,0,11,32,9,106,54,2,160,1,32,6,32,0,54,2,0,11,166,81,1,28,127,35,0,65,240,0,107,34,7,36,0,2,64,2,64,32,0,4,64,32,0,40,2,0,65,16,107,65,124,75,13,1,11,32,4,65,6,54,2,0,12,1,11,65,164,1,35,5,34,19,40,2,0,17,0,0,34,9,65,0,65,156,1,252,11,0,32,9,65,0,54,2,160,1,32,9,32,0,54,2,156,1,65,16,32,19,40,2,0,17,0,0,33,19,32,9,65,8,54,2,128,1,32,9,32,19,54,2,120,32,9,32,9,40,2,124,34,0,65,1,106,54,2,124,32,19,32,0,65,1,116,106,65,0,59,1,0,32,7,66,0,55,2,24,32,7,32,1,32,2,106,54,2,20,32,7,32,1,54,2,16,32,7,32,1,54,2,12,32,7,65,12,106,34,0,16,86,26,32,0,16,87,2,64,2,64,32,7,40,2,12,34,8,32,7,40,2,20,79,4,64,32,9,40,2,76,33,1,12,1,11,3,64,32,9,40,2,96,33,1,32,9,40,2,88,33,6,32,9,40,2,64,33,0,2,64,32,9,40,2,100,34,19,65,1,106,34,2,32,9,40,2,104,34,5,77,4,64,32,19,33,13,12,1,11,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,28,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,104,32,9,32,1,54,2,96,32,9,40,2,100,34,13,65,1,106,33,2,32,7,40,2,12,33,8,11,32,9,32,2,54,2,100,32,7,65,0,58,0,10,32,7,65,0,59,1,8,32,7,40,2,16,33,2,32,1,32,13,65,28,108,106,34,1,65,0,58,0,24,32,1,65,0,54,2,20,32,1,65,0,54,2,12,32,1,32,6,54,2,8,32,1,65,0,54,2,4,32,1,32,0,54,2,0,32,1,32,8,32,2,107,54,2,16,32,1,32,7,47,1,8,59,0,25,32,1,32,7,45,0,10,58,0,27,32,7,65,0,54,2,40,32,7,66,0,55,2,32,32,4,32,9,32,7,65,12,106,65,0,65,0,32,7,65,32,106,16,88,54,2,0,32,9,40,2,60,33,1,32,9,32,9,40,2,64,34,8,65,1,106,34,2,32,9,40,2,68,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,20,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,68,32,9,32,1,54,2,60,32,9,40,2,64,34,8,65,1,106,5,32,2,11,54,2,64,32,7,65,255,255,3,59,1,4,32,7,65,127,54,2,0,32,1,32,8,65,20,108,106,34,1,65,0,54,1,2,32,1,65,0,59,1,0,32,1,32,7,40,2,0,54,1,6,32,1,32,7,47,1,4,59,1,10,32,1,66,255,255,255,255,15,55,1,12,32,9,40,2,96,32,9,40,2,100,65,28,108,106,34,1,65,24,107,32,9,40,2,64,32,0,107,54,2,0,32,1,65,16,107,32,9,40,2,88,32,6,107,54,2,0,32,1,65,8,107,32,7,40,2,12,32,7,40,2,16,107,34,2,54,2,0,32,4,40,2,0,34,1,4,64,32,1,65,127,70,4,64,32,4,65,1,54,2,0,11,32,3,32,2,54,2,0,32,7,40,2,32,34,0,69,13,3,32,0,35,6,40,2,0,17,2,0,12,3,11,32,9,40,2,48,33,1,32,9,32,9,40,2,52,34,8,65,1,106,34,2,32,9,40,2,56,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,12,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,56,32,9,32,1,54,2,48,32,9,40,2,52,34,8,65,1,106,5,32,2,11,54,2,52,32,1,32,8,65,12,108,106,34,1,32,7,41,2,32,55,2,0,32,1,32,7,40,2,40,54,2,8,65,255,255,3,33,8,3,64,2,127,2,64,32,9,40,2,60,34,12,32,0,65,20,108,106,34,1,47,1,0,13,0,32,1,47,1,12,13,0,32,1,47,1,4,13,0,32,12,32,0,65,1,106,34,11,65,20,108,106,34,15,47,1,0,69,13,0,32,15,47,1,12,65,1,71,13,0,32,15,45,0,18,65,2,113,13,0,32,1,47,1,14,12,1,11,32,1,33,15,32,0,33,11,32,8,11,33,10,32,9,40,2,64,33,5,32,15,47,1,12,34,2,69,33,16,32,11,33,0,2,64,3,64,32,0,65,1,106,34,0,32,5,79,13,1,32,12,32,0,65,20,108,106,34,1,45,0,18,65,16,113,13,1,32,1,47,1,12,32,2,71,13,0,11,65,0,33,16,11,32,15,47,1,0,33,17,2,64,32,9,40,2,76,34,5,32,9,47,1,160,1,34,0,107,34,1,69,4,64,32,9,40,2,72,33,8,12,1,11,32,9,40,2,72,33,8,32,1,65,1,71,4,64,3,64,32,1,65,1,118,34,6,32,0,106,34,2,32,0,32,17,32,12,32,8,32,2,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,27,33,0,32,1,32,6,107,34,1,65,1,75,13,0,11,11,32,0,32,17,32,12,32,8,32,0,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,106,33,0,11,2,64,32,0,32,5,79,13,0,3,64,32,12,32,8,32,0,65,6,108,106,34,1,47,1,0,65,20,108,106,47,1,0,32,17,71,13,1,32,1,47,1,2,32,19,65,255,255,3,113,79,13,1,32,0,65,1,106,34,0,32,5,71,13,0,11,32,5,33,0,11,32,5,65,1,106,34,2,32,9,40,2,80,75,4,64,32,2,65,6,108,33,1,2,127,32,8,4,64,32,8,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,8,32,9,32,2,54,2,80,32,9,32,8,54,2,72,32,9,40,2,76,33,5,11,32,0,65,6,108,33,2,2,64,32,0,32,5,79,13,0,32,5,32,0,107,65,6,108,34,1,69,13,0,32,2,32,8,106,34,0,65,6,106,32,0,32,1,252,10,0,0,11,32,2,32,8,106,34,0,65,0,58,0,5,32,0,32,16,58,0,4,32,0,32,19,59,0,2,32,0,32,11,59,0,0,32,9,32,9,40,2,76,65,1,106,34,1,54,2,76,32,15,47,1,0,69,4,64,32,9,32,9,47,1,160,1,65,1,106,59,1,160,1,11,32,15,47,1,14,34,0,65,255,255,3,71,4,64,32,10,33,8,12,1,11,65,255,255,3,33,8,32,10,65,255,255,3,113,34,0,65,255,255,3,71,13,0,11,32,7,40,2,12,34,8,32,7,40,2,20,73,13,0,11,11,65,0,33,19,2,64,32,1,69,4,64,12,1,11,65,0,33,0,65,0,33,8,3,64,2,64,32,9,40,2,72,32,0,65,6,108,106,34,2,45,0,4,13,0,32,9,40,2,60,32,2,47,1,0,65,20,108,106,47,1,0,69,13,0,2,64,32,26,65,1,106,34,2,32,8,77,13,0,65,8,32,8,65,1,116,34,1,32,2,32,1,32,2,75,27,34,1,32,1,65,8,77,27,34,8,65,1,116,33,1,32,24,4,64,32,24,32,1,35,4,40,2,0,17,1,0,33,24,12,1,11,32,1,35,5,40,2,0,17,0,0,33,24,11,32,24,32,26,65,1,116,106,32,0,59,1,0,32,9,40,2,76,33,1,32,2,33,26,11,32,0,65,1,106,34,0,32,1,73,13,0,11,11,2,64,2,64,32,9,40,2,64,69,4,64,65,1,33,32,12,1,11,65,0,33,10,65,0,33,11,3,64,2,127,32,9,40,2,60,32,19,65,20,108,106,34,12,47,1,12,34,17,65,255,255,3,70,4,64,32,12,32,12,47,1,18,65,128,3,114,59,1,18,32,19,65,1,106,12,1,11,32,12,32,12,47,1,18,34,5,65,191,127,113,65,192,0,65,0,32,12,47,1,6,65,255,255,3,71,27,114,34,6,59,1,18,32,19,65,1,106,34,0,32,9,40,2,64,34,8,79,4,64,32,0,12,1,11,32,0,33,1,2,64,2,64,32,12,47,1,0,4,64,32,0,32,9,40,2,60,32,0,65,20,108,106,34,6,47,1,12,34,2,65,255,255,3,70,13,3,26,32,0,32,2,32,17,77,13,3,26,32,6,47,1,6,65,255,255,3,71,4,64,32,12,32,5,65,192,0,114,59,1,18,11,32,6,32,6,47,1,18,65,128,3,114,59,1,18,2,64,32,19,65,2,106,34,2,32,9,40,2,64,79,13,0,3,64,32,9,40,2,60,32,2,65,20,108,106,34,5,47,1,12,34,1,65,255,255,3,70,13,1,32,1,32,12,47,1,12,77,13,1,32,5,47,1,6,65,255,255,3,71,4,64,32,12,32,12,47,1,18,65,192,0,114,59,1,18,11,32,5,32,5,47,1,18,65,128,3,114,59,1,18,32,2,65,1,106,34,2,32,9,40,2,64,73,13,0,11,11,32,11,65,1,106,34,1,32,14,77,13,2,65,8,32,14,65,1,116,34,2,32,1,32,1,32,2,73,27,34,2,32,2,65,8,77,27,34,14,65,2,116,33,2,32,10,69,13,1,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,2,11,3,64,32,0,32,9,40,2,60,32,1,65,20,108,106,34,19,47,1,12,34,2,65,255,255,3,70,13,3,26,32,0,32,2,32,17,77,13,3,26,32,19,47,1,6,65,255,255,3,71,4,64,32,12,32,6,65,192,0,114,34,6,59,1,18,32,9,40,2,64,33,8,11,32,1,65,1,106,34,1,32,8,73,13,0,11,32,0,12,2,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,11,65,2,116,106,32,19,54,2,0,32,1,33,11,32,0,11,33,19,32,19,32,9,40,2,64,73,13,0,11,32,11,69,4,64,65,1,33,32,32,10,33,19,12,1,11,65,0,33,13,65,0,33,12,65,0,33,5,3,64,32,9,40,2,60,32,10,32,27,65,2,116,106,40,2,0,65,20,108,106,47,1,0,33,6,65,0,33,0,32,7,65,0,59,1,56,32,7,66,0,55,3,48,32,7,66,0,55,3,40,32,7,66,0,55,3,32,32,12,34,1,33,2,2,64,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,6,32,13,32,0,65,28,108,106,47,1,0,34,1,70,13,1,32,0,32,1,32,6,73,106,33,2,11,32,5,32,12,65,1,106,34,0,73,4,64,32,0,65,28,108,33,1,2,127,32,13,4,64,32,13,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,13,32,0,33,5,11,32,2,65,28,108,33,19,2,64,32,2,32,12,79,13,0,32,12,32,2,107,65,28,108,34,2,69,13,0,32,13,32,19,106,34,1,65,28,106,32,1,32,2,252,10,0,0,11,32,13,32,19,106,34,1,32,6,59,0,0,32,1,32,7,41,3,32,55,0,2,32,1,32,7,41,3,40,55,0,10,32,1,32,7,41,3,48,55,0,18,32,1,32,7,47,1,56,59,0,26,32,0,33,12,11,32,27,65,1,106,34,27,32,11,71,13,0,11,32,10,33,19,32,11,33,27,12,1,11,65,0,33,5,65,0,33,12,65,0,33,13,11,32,9,40,2,156,1,34,6,47,1,4,32,6,47,1,12,34,8,75,4,64,3,64,2,64,32,8,65,254,255,3,71,4,64,32,6,40,2,72,32,8,65,3,108,106,45,0,0,65,1,113,13,1,11,65,0,33,0,32,7,65,0,59,1,56,32,7,66,0,55,3,48,32,7,66,0,55,3,40,32,7,66,0,55,3,32,32,12,34,1,33,2,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,8,32,13,32,0,65,28,108,106,47,1,0,73,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,8,32,13,32,0,65,28,108,106,47,1,0,34,1,70,13,1,32,0,32,1,32,8,73,106,33,2,11,32,5,32,12,65,1,106,34,0,73,4,64,32,0,65,28,108,33,1,2,127,32,13,4,64,32,13,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,13,32,0,33,5,11,32,2,65,28,108,33,6,2,64,32,2,32,12,79,13,0,32,12,32,2,107,65,28,108,34,2,69,13,0,32,6,32,13,106,34,1,65,28,106,32,1,32,2,252,10,0,0,11,32,6,32,13,106,34,1,32,8,59,0,0,32,1,32,7,47,1,56,59,0,26,32,1,32,7,41,3,48,55,0,18,32,1,32,7,41,3,40,55,0,10,32,1,32,7,41,3,32,55,0,2,32,9,40,2,156,1,33,6,32,0,33,12,11,32,8,65,1,106,34,8,32,6,47,1,4,73,13,0,11,11,32,6,40,2,20,65,129,2,108,65,2,35,7,40,2,0,17,1,0,33,30,32,9,40,2,156,1,34,18,47,1,20,65,254,255,3,113,4,64,65,1,33,15,3,64,2,127,32,18,40,2,24,34,31,32,15,77,4,64,32,18,40,2,44,32,18,40,2,48,32,15,32,31,107,65,2,116,106,40,2,0,65,1,116,106,34,6,65,2,106,33,25,32,6,47,1,0,12,1,11,32,18,40,2,40,32,18,40,2,4,32,15,108,65,1,116,106,65,2,107,33,6,65,0,33,25,65,0,11,33,23,65,0,33,20,65,255,255,3,33,16,65,0,33,17,65,0,33,28,3,64,2,64,2,64,2,64,2,64,2,64,2,64,32,15,32,31,73,4,64,32,18,40,2,4,33,1,3,64,32,1,32,16,65,1,106,34,16,65,255,255,3,113,34,0,77,13,7,32,6,47,1,2,33,5,32,6,65,2,106,34,11,33,6,32,5,69,13,0,11,12,1,11,32,6,65,2,106,34,11,32,25,71,13,1,32,23,65,255,255,3,113,69,13,5,32,6,65,6,106,34,11,32,6,47,1,4,65,1,116,106,33,25,32,23,65,1,107,33,23,32,6,47,1,2,33,5,32,6,47,1,6,34,16,33,0,11,32,18,40,2,12,32,0,75,13,1,32,11,33,6,12,3,11,32,11,47,1,0,33,16,12,1,11,32,18,40,2,52,32,5,65,255,255,3,113,65,3,116,106,34,0,65,8,106,33,28,32,0,45,0,0,33,20,65,0,33,17,11,32,20,65,255,255,3,113,34,14,69,4,64,32,11,33,6,32,17,33,5,12,1,11,65,0,33,10,3,64,2,64,2,64,2,64,32,28,32,10,65,3,116,106,34,22,45,0,0,14,2,1,0,2,11,32,9,40,2,156,1,34,0,40,2,76,32,22,47,1,2,34,29,65,1,116,106,34,6,65,2,106,33,5,2,64,32,0,40,2,80,34,21,47,1,0,34,2,65,1,107,65,255,255,3,113,32,29,79,13,0,32,21,65,2,106,33,1,65,0,33,0,3,64,2,64,32,0,65,2,106,33,8,32,1,32,0,65,1,116,106,47,1,0,33,0,32,2,65,255,255,3,113,32,29,70,13,0,32,29,32,21,32,0,32,8,106,34,0,65,1,116,106,47,1,0,34,2,65,1,107,65,255,255,3,113,75,13,1,12,2,11,11,32,21,32,8,65,1,116,106,34,6,32,6,32,0,65,1,116,106,34,5,79,13,2,11,32,12,69,13,1,3,64,32,6,47,1,0,33,8,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,8,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,2,64,32,13,32,0,65,28,108,106,34,21,47,1,0,32,8,71,13,0,32,21,40,2,16,33,1,32,21,40,2,20,34,2,4,64,32,15,32,1,32,2,65,6,108,106,65,6,107,47,1,0,70,13,1,11,32,21,32,2,65,1,106,34,8,32,21,40,2,24,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,8,32,0,32,8,75,27,34,0,32,0,65,8,77,27,34,0,65,6,108,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,21,32,0,54,2,24,32,21,32,1,54,2,16,32,21,40,2,20,34,2,65,1,106,5,32,8,11,54,2,20,32,22,45,0,1,33,8,32,22,47,1,6,33,0,32,1,32,2,65,6,108,106,34,1,65,0,58,0,5,32,1,32,0,59,1,2,32,1,32,15,59,1,0,32,1,32,8,65,128,1,114,58,0,4,11,32,6,65,2,106,34,6,32,5,73,13,0,11,12,1,11,32,22,45,0,4,13,0,32,30,32,22,47,1,2,65,130,4,108,106,34,1,47,1,0,34,0,4,64,32,0,65,255,1,75,13,1,32,15,32,1,32,0,65,1,116,106,47,1,0,70,13,1,11,32,1,32,0,65,1,106,34,0,59,1,0,32,1,32,0,65,255,255,3,113,65,1,116,106,32,15,59,1,0,11,32,10,65,1,106,34,10,32,14,71,13,0,11,32,11,33,6,12,2,11,65,0,33,20,65,0,33,17,32,5,65,255,255,3,113,34,0,69,13,1,2,64,32,0,32,15,70,13,0,32,30,32,0,65,130,4,108,106,34,1,47,1,0,34,0,4,64,32,0,65,255,1,75,13,1,32,15,32,1,32,0,65,1,116,106,47,1,0,70,13,1,11,32,1,32,0,65,1,106,34,0,59,1,0,32,1,32,0,65,255,255,3,113,65,1,116,106,32,15,59,1,0,11,32,9,40,2,156,1,34,0,40,2,0,65,14,79,4,64,32,5,33,17,32,15,32,0,40,2,132,1,32,15,65,1,116,106,47,1,0,71,13,2,11,32,0,40,2,76,32,16,65,255,255,3,113,34,17,65,1,116,106,34,14,65,2,106,33,11,2,64,32,0,40,2,80,34,8,47,1,0,34,2,65,1,107,65,255,255,3,113,32,17,79,13,0,32,8,65,2,106,33,1,65,0,33,0,3,64,2,64,32,0,65,2,106,33,10,32,1,32,0,65,1,116,106,47,1,0,33,0,32,2,65,255,255,3,113,32,17,70,13,0,32,17,32,8,32,0,32,10,106,34,0,65,1,116,106,47,1,0,34,2,65,1,107,65,255,255,3,113,75,13,1,12,2,11,11,32,5,33,17,32,8,32,10,65,1,116,106,34,14,32,14,32,0,65,1,116,106,34,11,79,13,2,11,32,5,33,17,32,12,69,13,1,3,64,32,14,47,1,0,33,5,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,5,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,2,64,32,5,32,13,32,0,65,28,108,106,34,5,47,1,0,71,13,0,32,5,40,2,4,33,1,32,5,40,2,8,34,2,4,64,32,15,32,1,32,2,65,1,116,106,65,2,107,47,1,0,70,13,1,11,32,5,32,2,65,1,106,34,8,32,5,40,2,12,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,8,32,0,32,8,75,27,34,0,32,0,65,8,77,27,34,0,65,1,116,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,5,32,0,54,2,12,32,5,32,1,54,2,4,32,5,40,2,8,34,2,65,1,106,5,32,8,11,54,2,8,32,1,32,2,65,1,116,106,32,15,59,1,0,11,32,14,65,2,106,34,14,32,11,73,13,0,11,12,1,11,11,32,15,65,1,106,34,15,32,9,40,2,156,1,34,18,47,1,20,73,13,0,11,11,2,64,32,12,69,4,64,65,0,33,12,65,0,33,20,12,1,11,32,13,65,28,106,33,21,65,0,33,25,65,0,33,0,65,0,33,20,3,64,2,64,32,13,32,25,65,28,108,34,2,106,34,16,40,2,20,34,18,69,4,64,32,16,40,2,4,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,16,65,0,54,2,12,32,16,66,0,55,2,4,11,32,12,32,25,65,127,115,106,65,28,108,34,1,4,64,32,16,32,2,32,21,106,32,1,252,10,0,0,11,32,12,65,1,107,33,12,12,1,11,32,18,65,6,108,33,1,2,64,2,64,2,64,32,0,32,18,79,4,64,32,1,69,13,1,32,20,32,16,40,2,16,32,1,252,10,0,0,12,1,11,2,127,32,20,4,64,32,20,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,20,32,16,40,2,20,34,1,65,6,108,34,0,4,64,32,20,32,16,40,2,16,32,0,252,10,0,0,11,32,1,69,13,2,12,1,11,32,18,33,1,32,0,33,18,11,3,64,2,64,32,20,32,1,65,1,107,34,17,65,6,108,106,34,2,45,0,4,34,1,65,254,0,113,69,4,64,32,17,33,1,12,1,11,32,30,32,2,47,1,0,65,130,4,108,106,34,0,47,1,0,34,31,69,4,64,32,17,33,1,12,1,11,32,2,47,1,2,33,5,32,0,65,2,106,33,14,32,1,65,1,107,65,255,0,113,33,22,65,0,33,28,3,64,32,14,32,28,65,1,116,106,47,1,0,33,23,32,16,40,2,16,33,8,65,0,33,2,32,16,40,2,20,34,10,33,0,2,64,2,64,2,64,2,64,32,10,34,1,14,2,2,1,0,11,3,64,2,64,2,64,32,23,32,8,32,0,65,1,118,34,15,32,2,106,34,1,65,6,108,106,34,29,47,1,0,34,6,75,13,0,32,6,32,23,75,13,1,32,29,45,0,4,34,11,65,255,0,113,34,6,32,22,73,13,0,32,11,192,65,0,72,13,1,32,6,32,22,75,13,1,32,5,32,29,47,1,2,34,6,75,13,0,32,5,32,6,73,13,1,11,32,1,33,2,11,32,0,32,15,107,34,0,65,1,75,13,0,11,11,2,64,2,64,32,23,32,8,32,2,65,6,108,106,34,6,47,1,0,34,0,75,13,0,32,0,32,23,75,4,64,32,2,33,1,12,3,11,32,6,45,0,4,34,1,65,255,0,113,34,0,32,22,73,13,0,32,1,192,65,0,72,4,64,32,2,33,1,12,3,11,32,0,32,22,75,4,64,32,2,33,1,12,3,11,32,5,32,6,47,1,2,34,0,77,13,1,11,32,2,65,1,106,33,1,12,1,11,32,2,33,1,32,0,32,5,75,13,0,32,17,33,1,12,1,11,32,10,65,1,106,34,2,32,16,40,2,24,75,4,64,32,2,65,6,108,33,0,2,127,32,8,4,64,32,8,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,8,32,16,32,2,54,2,24,32,16,32,8,54,2,16,32,16,40,2,20,33,10,11,32,1,65,6,108,33,2,2,64,32,1,32,10,79,13,0,32,10,32,1,107,65,6,108,34,1,69,13,0,32,2,32,8,106,34,0,65,6,106,32,0,32,1,252,10,0,0,11,32,2,32,8,106,34,0,65,0,58,0,5,32,0,32,22,58,0,4,32,0,32,5,59,0,2,32,0,32,23,59,0,0,32,16,32,16,40,2,20,65,1,106,54,2,20,2,64,32,17,65,1,106,34,1,32,18,77,13,0,65,8,32,18,65,1,116,34,0,32,1,32,0,32,1,75,27,34,0,32,0,65,8,77,27,34,18,65,6,108,33,0,32,20,4,64,32,20,32,0,35,4,40,2,0,17,1,0,33,20,12,1,11,32,0,35,5,40,2,0,17,0,0,33,20,11,32,20,32,17,65,6,108,106,34,0,65,0,58,0,5,32,0,32,22,58,0,4,32,0,32,5,59,1,2,32,0,32,23,59,1,0,32,1,33,17,11,32,28,65,1,106,34,28,32,31,71,13,0,11,11,32,1,13,0,11,11,32,25,65,1,106,33,25,32,18,33,0,11,32,12,32,25,75,13,0,11,11,32,7,65,32,106,65,0,65,204,0,252,11,0,65,1,33,17,2,64,32,32,13,0,65,0,33,16,32,3,2,127,3,64,2,64,2,64,32,9,40,2,60,32,19,32,16,65,2,116,106,47,1,0,34,15,65,20,108,106,34,5,47,1,0,34,14,65,255,255,3,70,13,0,2,64,32,12,4,64,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,14,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,13,32,0,65,28,108,106,47,1,0,34,17,32,14,70,13,1,11,32,15,65,1,106,33,5,32,9,40,2,108,33,6,65,0,33,1,2,64,2,64,2,64,32,9,40,2,112,34,0,14,2,2,1,0,11,3,64,32,1,32,0,65,1,118,34,2,32,1,106,34,1,32,5,32,6,32,1,65,3,116,106,47,1,4,73,27,33,1,32,0,32,2,107,34,0,65,1,75,13,0,11,11,32,1,32,5,32,6,32,1,65,3,116,106,47,1,4,34,0,71,32,0,32,15,77,113,106,33,0,11,32,6,32,0,65,3,116,106,12,4,11,32,5,47,1,12,33,18,32,7,40,2,68,33,1,32,7,40,2,32,33,11,32,7,40,2,36,34,10,32,7,40,2,72,34,6,106,34,2,32,7,40,2,76,34,5,75,4,64,32,2,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,2,54,2,76,32,7,32,1,54,2,68,32,2,33,5,11,2,64,32,10,69,13,0,32,10,65,2,116,33,10,32,1,32,6,65,2,116,106,33,6,32,11,4,64,32,10,69,13,1,32,6,32,11,32,10,252,10,0,0,12,1,11,32,10,69,13,0,32,6,65,0,32,10,252,11,0,11,32,7,65,0,54,2,36,32,7,40,2,56,33,10,32,5,32,7,40,2,60,34,6,32,2,106,34,11,73,4,64,32,11,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,11,54,2,76,32,7,32,1,54,2,68,11,32,14,32,17,75,32,0,106,33,0,2,64,32,6,69,13,0,32,6,65,2,116,33,5,32,1,32,2,65,2,116,106,33,1,32,10,4,64,32,5,69,13,1,32,1,32,10,32,5,252,10,0,0,12,1,11,32,5,69,13,0,32,1,65,0,32,5,252,11,0,11,32,7,65,0,54,2,60,32,7,32,11,54,2,72,32,13,32,0,65,28,108,106,34,11,40,2,8,4,64,32,15,65,1,106,33,17,65,0,33,2,3,64,32,11,40,2,4,32,2,65,1,116,106,47,1,0,33,1,2,127,32,7,40,2,72,34,0,4,64,32,7,32,0,65,1,107,34,0,54,2,72,32,7,40,2,68,32,0,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,0,66,0,55,1,4,32,0,32,14,59,1,2,32,0,32,1,59,1,0,32,0,32,14,59,1,68,32,0,32,17,59,1,66,32,0,65,1,59,1,64,32,0,66,0,55,1,12,32,0,66,0,55,1,20,32,0,66,0,55,1,28,32,0,66,0,55,1,36,32,0,66,0,55,1,44,32,0,66,0,55,1,52,32,0,65,0,54,1,60,32,7,40,2,32,33,1,32,7,40,2,36,34,6,65,1,106,34,8,32,7,40,2,40,34,5,75,4,64,65,8,32,5,65,1,116,34,5,32,8,32,5,32,8,75,27,34,5,32,5,65,8,77,27,34,5,65,2,116,33,10,2,127,32,1,4,64,32,1,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,1,32,7,32,5,54,2,40,32,7,32,1,54,2,32,11,32,7,32,8,54,2,36,32,1,32,6,65,2,116,106,32,0,54,2,0,32,2,65,1,106,34,2,32,11,40,2,8,73,13,0,11,11,32,7,65,0,58,0,104,32,9,32,13,32,12,32,7,65,32,106,16,89,32,7,45,0,104,65,1,70,4,64,32,15,65,1,106,34,0,32,9,40,2,64,34,8,79,13,1,3,64,32,9,40,2,60,32,0,65,20,108,106,34,2,47,1,12,34,1,32,18,77,13,2,32,1,65,255,255,3,70,13,2,32,2,47,1,18,34,1,65,16,113,69,4,64,32,2,32,1,65,239,252,3,113,59,1,18,32,9,40,2,64,33,8,11,32,0,65,1,106,34,0,32,8,73,13,0,11,12,1,11,32,7,40,2,84,33,8,32,7,40,2,96,69,13,1,65,0,33,0,32,8,69,13,0,3,64,2,64,32,9,40,2,60,32,7,40,2,80,32,0,65,1,116,106,47,1,0,65,20,108,106,34,2,47,1,12,34,1,65,255,255,3,70,13,0,32,1,32,18,77,13,0,32,2,47,1,18,34,1,65,16,113,13,0,32,2,32,1,65,239,252,3,113,59,1,18,32,7,40,2,84,33,8,11,32,0,65,1,106,34,0,32,8,73,13,0,11,11,65,1,33,17,32,16,65,1,106,34,16,32,27,71,13,1,12,3,11,11,32,7,40,2,80,32,8,65,1,116,106,65,2,107,47,1,0,33,6,32,9,40,2,108,33,17,65,0,33,0,32,9,40,2,112,34,5,33,1,2,64,2,64,2,64,32,5,34,2,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,17,32,0,65,3,116,106,47,1,4,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,0,32,17,32,0,65,3,116,106,47,1,4,32,6,73,106,33,2,11,32,17,32,2,32,5,65,1,107,32,2,32,5,73,27,65,3,116,106,11,40,2,0,54,2,0,65,0,33,17,11,65,0,33,16,2,64,32,9,40,2,100,69,4,64,65,0,33,14,12,1,11,65,0,33,10,65,0,33,14,3,64,65,0,33,6,2,64,32,9,40,2,96,32,16,65,28,108,106,34,8,40,2,8,34,5,32,5,32,8,40,2,12,106,34,3,79,13,0,3,64,2,64,32,9,40,2,84,32,5,65,3,116,106,34,0,40,2,0,65,1,71,13,0,32,0,40,2,4,33,18,65,0,33,0,32,6,34,1,33,2,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,18,65,255,255,3,113,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,14,32,0,65,1,116,106,47,1,0,34,2,32,18,65,255,255,3,113,34,1,70,13,1,32,0,32,1,32,2,75,106,33,2,11,32,10,32,6,65,1,106,34,0,73,4,64,32,0,65,1,116,33,1,2,127,32,14,4,64,32,14,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,14,32,0,33,10,11,32,2,65,1,116,33,11,2,64,32,2,32,6,79,13,0,32,6,32,2,107,65,1,116,34,2,69,13,0,32,11,32,14,106,34,1,65,2,106,32,1,32,2,252,10,0,0,11,32,11,32,14,106,32,18,59,0,0,32,0,33,6,11,32,5,65,1,106,34,5,32,3,71,13,0,11,32,8,40,2,0,34,5,32,5,32,8,40,2,4,106,34,11,79,13,0,32,6,69,13,0,32,6,65,1,71,4,64,3,64,65,0,33,0,32,6,33,1,2,64,32,9,40,2,60,32,5,65,20,108,106,34,18,47,1,6,34,3,65,255,255,3,70,13,0,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,2,64,32,14,32,0,65,1,116,106,47,1,0,32,3,70,13,0,65,0,33,0,32,6,33,1,32,18,47,1,8,34,3,65,255,255,3,70,13,1,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,32,14,32,0,65,1,116,106,47,1,0,32,3,70,13,0,65,0,33,0,32,6,33,1,32,18,47,1,10,34,3,65,255,255,3,70,13,1,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,32,14,32,0,65,1,116,106,47,1,0,32,3,71,13,1,11,32,18,32,18,47,1,18,65,255,254,3,113,59,1,18,11,32,5,65,1,106,34,5,32,11,71,13,0,12,2,11,0,11,3,64,2,64,32,9,40,2,60,32,5,65,20,108,106,34,2,47,1,6,34,0,65,255,255,3,70,13,0,2,64,32,14,47,1,0,34,1,32,0,70,13,0,32,2,47,1,8,34,0,65,255,255,3,70,13,1,32,0,32,1,70,13,0,32,2,47,1,10,34,0,65,255,255,3,70,13,1,32,0,32,1,71,13,1,11,32,2,32,2,47,1,18,65,255,254,3,113,59,1,18,11,32,5,65,1,106,34,5,32,11,71,13,0,11,11,32,16,65,1,106,34,16,32,9,40,2,100,73,13,0,11,11,2,64,32,9,40,2,64,69,13,0,3,64,65,1,33,6,32,9,40,2,64,34,2,65,1,107,34,0,69,13,1,3,64,32,2,33,1,2,64,32,9,40,2,60,34,5,32,0,34,2,65,20,108,106,34,3,47,1,12,65,255,255,3,70,13,0,32,3,45,0,18,65,128,1,113,13,0,3,64,2,64,32,5,32,0,65,20,108,106,47,1,14,34,0,65,255,255,3,70,13,0,32,0,32,2,73,13,0,32,5,32,0,65,20,108,106,45,0,18,65,128,1,113,69,13,1,12,2,11,11,32,5,32,1,65,20,108,106,34,1,65,22,107,34,0,47,1,0,34,3,65,16,113,13,0,32,3,65,128,1,113,69,13,0,32,1,65,28,107,47,1,0,65,255,255,3,70,13,0,32,0,32,3,65,239,254,3,113,59,1,0,65,0,33,6,11,32,2,65,1,107,34,0,13,0,11,32,6,65,1,113,69,13,0,11,11,32,7,65,0,58,0,104,32,26,4,64,65,0,33,16,3,64,32,24,32,16,65,1,116,106,47,1,0,33,5,32,9,40,2,72,33,3,32,7,40,2,68,33,0,32,7,40,2,32,33,11,32,7,40,2,36,34,10,32,7,40,2,72,34,2,106,34,1,32,7,40,2,76,34,8,75,4,64,32,1,65,2,116,33,6,2,127,32,0,4,64,32,0,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,0,32,7,32,1,54,2,76,32,7,32,0,54,2,68,32,1,33,8,11,2,64,32,10,69,13,0,32,10,65,2,116,33,6,32,0,32,2,65,2,116,106,33,2,32,11,4,64,32,6,69,13,1,32,2,32,11,32,6,252,10,0,0,12,1,11,32,6,69,13,0,32,2,65,0,32,6,252,11,0,11,32,7,65,0,54,2,36,32,7,40,2,56,33,10,32,8,32,7,40,2,60,34,6,32,1,106,34,11,73,4,64,32,11,65,2,116,33,2,2,127,32,0,4,64,32,0,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,0,32,7,32,11,54,2,76,32,7,32,0,54,2,68,11,32,5,65,6,108,33,2,2,64,32,6,69,13,0,32,6,65,2,116,33,5,32,0,32,1,65,2,116,106,33,0,32,10,4,64,32,5,69,13,1,32,0,32,10,32,5,252,10,0,0,12,1,11,32,5,69,13,0,32,0,65,0,32,5,252,11,0,11,32,2,32,3,106,33,6,65,0,33,10,32,7,65,0,54,2,60,32,7,32,11,54,2,72,32,12,4,64,3,64,2,64,2,64,2,64,32,13,32,10,65,28,108,106,34,18,47,1,0,34,0,65,254,255,3,107,14,2,1,2,0,11,32,9,40,2,156,1,40,2,72,32,0,65,3,108,106,34,0,45,0,0,65,1,113,13,1,32,0,45,0,1,65,1,113,13,1,11,32,18,40,2,8,69,13,0,65,0,33,8,3,64,32,18,40,2,4,32,8,65,1,116,106,47,1,0,33,2,32,6,47,1,0,33,1,32,18,47,1,0,33,3,2,127,32,7,40,2,72,34,0,4,64,32,7,32,0,65,1,107,34,0,54,2,72,32,7,40,2,68,32,0,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,0,66,0,55,1,4,32,0,32,3,59,1,2,32,0,32,2,59,1,0,32,0,32,3,59,1,68,32,0,32,1,59,1,66,32,0,65,1,59,1,64,32,0,66,0,55,1,12,32,0,66,0,55,1,20,32,0,66,0,55,1,28,32,0,66,0,55,1,36,32,0,66,0,55,1,44,32,0,66,0,55,1,52,32,0,65,0,54,1,60,32,7,40,2,32,33,1,32,7,40,2,36,34,3,65,1,106,34,11,32,7,40,2,40,34,2,75,4,64,65,8,32,2,65,1,116,34,2,32,11,32,2,32,11,75,27,34,2,32,2,65,8,77,27,34,2,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,2,54,2,40,32,7,32,1,54,2,32,11,32,7,32,11,54,2,36,32,1,32,3,65,2,116,106,32,0,54,2,0,32,8,65,1,106,34,8,32,18,40,2,8,73,13,0,11,11,32,10,65,1,106,34,10,32,12,71,13,0,11,11,32,9,32,13,32,12,32,7,65,32,106,16,89,32,7,40,2,96,34,11,4,64,32,9,40,2,96,32,6,47,1,2,65,28,108,106,65,1,58,0,24,32,9,40,2,148,1,33,5,65,0,33,15,3,64,32,7,40,2,92,32,15,65,1,116,106,47,1,0,33,6,32,9,40,2,144,1,33,8,65,0,33,0,32,5,34,1,33,2,2,64,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,8,32,0,65,1,116,106,47,1,0,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,6,32,8,32,0,65,1,116,106,47,1,0,34,1,70,13,1,32,0,32,1,32,6,73,106,33,2,11,32,2,65,1,116,33,3,32,5,65,1,106,34,1,32,9,40,2,152,1,75,4,64,32,1,65,1,116,33,0,2,127,32,8,4,64,32,8,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,8,32,9,32,1,54,2,152,1,32,9,32,8,54,2,144,1,32,9,40,2,148,1,33,5,11,2,64,32,2,32,5,79,13,0,32,5,32,2,107,65,1,116,34,1,69,13,0,32,3,32,8,106,34,0,65,2,106,32,0,32,1,252,10,0,0,11,32,3,32,8,106,32,6,59,0,0,32,9,32,9,40,2,148,1,65,1,106,34,5,54,2,148,1,32,7,40,2,96,33,11,11,32,15,65,1,106,34,15,32,11,73,13,0,11,11,32,16,65,1,106,34,16,32,26,71,13,0,11,11,2,64,2,64,32,12,4,64,65,0,33,1,3,64,32,13,32,1,65,28,108,106,34,2,40,2,4,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,12,32,2,66,0,55,2,4,11,32,2,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,24,32,2,66,0,55,2,16,11,32,1,65,1,106,34,1,32,12,71,13,0,11,12,1,11,32,13,69,13,1,11,32,13,35,6,40,2,0,17,2,0,11,32,7,40,2,32,33,6,2,64,2,64,32,7,40,2,36,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,32,11,32,7,40,2,44,33,6,2,64,2,64,32,7,40,2,48,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,44,11,32,7,40,2,56,33,6,2,64,2,64,32,7,40,2,60,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,56,11,32,7,40,2,68,33,6,2,64,2,64,32,7,40,2,72,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,11,32,7,40,2,80,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,92,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,20,4,64,32,20,35,6,40,2,0,17,2,0,11,32,24,4,64,32,24,35,6,40,2,0,17,2,0,11,32,19,4,64,32,19,35,6,40,2,0,17,2,0,11,32,14,4,64,32,14,35,6,40,2,0,17,2,0,11,32,30,35,6,40,2,0,17,2,0,32,17,69,4,64,32,4,65,5,54,2,0,12,1,11,32,9,40,2,132,1,34,0,69,13,1,32,0,35,6,40,2,0,17,2,0,32,9,65,0,54,2,140,1,32,9,66,0,55,2,132,1,12,1,11,32,9,16,90,65,0,33,9,11,32,7,65,240,0,106,36,0,32,9,11,153,3,1,7,127,32,0,32,0,40,2,0,32,0,45,0,16,106,34,3,54,2,0,2,64,32,0,40,2,8,34,5,32,3,75,4,64,32,0,32,3,44,0,0,34,1,65,255,1,113,34,2,54,2,12,65,1,33,4,32,1,65,0,72,4,64,2,64,32,5,32,3,107,34,6,65,1,70,13,0,2,64,32,1,65,96,79,4,64,2,64,32,1,65,111,77,4,64,32,0,32,2,65,15,113,34,2,54,2,12,35,1,65,222,10,106,32,2,106,45,0,0,32,3,45,0,1,34,1,65,5,118,118,65,1,113,69,13,4,32,1,65,63,113,33,7,65,2,33,1,12,1,11,32,0,32,2,65,240,1,107,34,2,54,2,12,32,1,65,116,75,13,3,35,1,65,176,12,106,32,3,45,0,1,34,1,65,4,118,106,44,0,0,32,2,118,65,1,113,69,13,3,32,0,32,1,65,63,113,32,2,65,6,116,114,34,2,54,2,12,65,2,33,4,32,6,65,2,70,13,3,65,3,33,1,32,3,45,0,2,65,128,127,115,34,7,65,255,1,113,65,63,75,13,3,11,32,0,32,7,65,255,1,113,32,2,65,6,116,114,34,2,54,2,12,32,6,34,4,32,1,71,13,1,12,2,11,32,1,65,66,73,13,1,32,0,32,2,65,31,113,34,2,54,2,12,65,1,33,1,11,32,1,32,3,106,45,0,0,65,128,127,115,65,255,1,113,34,4,65,63,77,13,3,32,1,33,4,11,32,0,65,127,54,2,12,11,32,0,32,4,58,0,16,32,3,32,5,73,15,11,32,0,65,0,54,2,12,32,0,65,0,58,0,16,32,3,32,5,73,15,11,32,0,32,2,65,6,116,32,4,114,54,2,12,32,0,32,1,65,1,106,58,0,16,32,3,32,5,73,11,220,3,1,6,127,3,64,32,0,40,2,12,16,247,1,4,64,32,0,16,86,26,12,1,11,32,0,40,2,12,65,59,70,4,64,32,0,16,86,26,32,0,40,2,12,33,1,3,64,2,64,32,1,14,11,3,0,0,0,0,0,0,0,0,0,3,0,11,32,0,32,0,40,2,0,32,0,45,0,16,106,34,4,54,2,0,32,0,2,127,2,64,32,0,40,2,8,34,5,32,4,75,4,64,32,0,32,4,44,0,0,34,2,65,255,1,113,34,1,54,2,12,65,1,32,2,65,0,78,13,2,26,65,1,33,3,2,64,32,5,32,4,107,34,5,65,1,70,13,0,2,64,32,2,65,96,79,4,64,2,64,32,2,65,111,77,4,64,32,0,32,1,65,15,113,34,1,54,2,12,35,1,65,222,10,106,32,1,106,45,0,0,32,4,45,0,1,34,2,65,5,118,118,65,1,113,69,13,4,32,2,65,63,113,33,6,65,2,33,2,12,1,11,32,0,32,1,65,240,1,107,34,1,54,2,12,32,2,65,116,75,13,3,35,1,65,176,12,106,32,4,45,0,1,34,2,65,4,118,106,44,0,0,32,1,118,65,1,113,69,13,3,32,0,32,2,65,63,113,32,1,65,6,116,114,34,1,54,2,12,65,2,33,3,32,5,65,2,70,13,3,65,3,33,2,32,4,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,0,32,6,65,255,1,113,32,1,65,6,116,114,34,1,54,2,12,32,5,34,3,32,2,71,13,1,12,2,11,32,2,65,66,73,13,1,32,0,32,1,65,31,113,34,1,54,2,12,65,1,33,2,11,32,2,32,4,106,45,0,0,65,128,127,115,65,255,1,113,34,3,65,63,77,13,2,32,2,33,3,11,65,127,33,1,32,0,65,127,54,2,12,32,0,32,3,58,0,16,12,3,11,32,0,65,0,54,2,12,32,0,65,0,58,0,16,12,4,11,32,0,32,1,65,6,116,32,3,114,34,1,54,2,12,32,2,65,1,106,11,58,0,16,12,0,11,0,11,11,11,133,53,2,14,127,1,126,35,0,65,32,107,34,8,36,0,65,1,33,5,2,64,32,1,40,2,12,34,6,69,13,0,32,6,65,221,0,71,32,6,65,41,71,113,69,4,64,65,127,33,5,12,1,11,32,0,40,2,108,33,10,32,0,40,2,64,33,15,2,64,32,0,40,2,112,34,12,4,64,32,15,32,10,32,12,65,3,116,106,65,4,107,47,1,0,70,13,1,11,32,0,32,12,65,1,106,34,7,32,0,40,2,116,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,3,116,33,7,2,127,32,10,4,64,32,10,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,10,32,0,32,6,54,2,116,32,0,32,10,54,2,108,32,0,40,2,112,34,12,65,1,106,5,32,7,11,54,2,112,32,1,40,2,4,33,7,32,1,40,2,0,33,6,32,10,32,12,65,3,116,106,34,9,65,0,59,1,6,32,9,32,15,59,1,4,32,9,32,6,32,7,107,54,2,0,32,1,40,2,12,33,6,11,32,0,65,60,106,33,18,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,6,65,34,107,14,7,2,1,1,1,1,1,4,0,11,2,64,32,6,65,219,0,107,14,5,0,1,1,1,3,1,11,32,1,16,86,26,32,1,16,87,32,8,65,0,54,2,24,32,8,66,0,55,2,16,65,127,33,14,65,0,33,7,3,64,32,0,40,2,64,33,12,2,64,2,64,2,64,2,64,32,0,32,1,32,2,32,3,32,8,65,16,106,16,88,34,5,4,64,2,64,32,5,65,127,71,13,0,65,1,33,5,32,7,69,13,0,32,1,40,2,12,65,221,0,70,13,2,11,32,8,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,16,69,13,13,32,16,35,6,40,2,0,17,2,0,12,13,11,32,12,32,15,70,4,64,32,4,65,0,54,2,4,32,4,40,2,0,33,6,32,8,40,2,16,33,9,2,64,2,64,32,8,40,2,20,34,11,32,4,40,2,8,75,4,64,2,127,32,6,4,64,32,6,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,6,32,4,32,11,54,2,8,32,4,32,6,54,2,0,32,4,40,2,4,34,5,69,13,1,32,5,69,13,1,32,6,32,11,106,32,6,32,5,252,10,0,0,12,1,11,32,11,69,13,1,11,32,9,4,64,32,11,69,13,1,32,6,32,9,32,11,252,10,0,0,12,1,11,32,11,69,13,0,32,6,65,0,32,11,252,11,0,11,32,4,32,4,40,2,4,32,11,106,54,2,4,12,4,11,2,64,32,4,40,2,4,34,5,32,8,40,2,20,34,6,73,4,64,32,4,40,2,0,33,10,32,4,40,2,8,34,9,32,6,73,4,64,65,8,32,9,65,1,116,34,5,32,6,32,5,32,6,75,27,34,5,32,5,65,8,77,27,33,5,2,127,32,10,4,64,32,10,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,10,32,4,32,5,54,2,8,32,4,32,10,54,2,0,32,4,40,2,4,33,5,11,32,6,32,5,107,34,9,4,64,32,5,32,10,106,65,0,32,9,252,11,0,11,32,4,32,6,54,2,4,12,1,11,32,6,69,13,3,11,65,0,33,5,32,8,40,2,16,33,11,3,64,32,5,32,11,106,45,0,0,33,13,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,4,40,2,0,32,5,106,34,9,45,0,0,34,10,14,5,1,2,6,3,0,5,11,32,13,65,5,73,13,3,12,4,11,32,13,65,5,79,13,3,66,128,130,136,136,32,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,4,11,32,13,65,5,79,13,2,66,129,130,136,136,32,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,3,11,32,13,65,5,79,13,1,66,129,130,136,152,192,0,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,2,11,66,130,132,136,160,192,0,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,1,11,65,0,33,10,11,32,9,32,10,58,0,0,32,6,32,5,65,1,106,34,5,71,13,0,11,12,1,11,32,1,16,86,26,32,0,32,0,40,2,64,65,1,107,54,2,64,32,7,65,1,71,4,64,65,0,33,5,3,64,32,0,40,2,60,34,6,32,16,32,5,65,2,116,106,40,2,0,65,20,108,106,32,16,32,5,65,1,106,34,5,65,2,116,106,40,2,0,34,3,59,1,14,32,6,32,3,65,20,108,106,34,3,65,6,107,32,0,40,2,64,59,1,0,32,3,65,2,107,34,3,32,3,47,1,0,65,16,114,59,1,0,32,5,32,14,71,13,0,11,11,32,8,40,2,16,34,3,4,64,32,3,35,6,40,2,0,17,2,0,11,32,16,69,13,8,32,16,35,6,40,2,0,17,2,0,12,8,11,32,4,40,2,4,33,5,11,32,5,32,6,77,13,0,3,64,32,4,40,2,0,32,6,106,34,5,66,128,130,136,136,32,32,5,49,0,0,34,19,66,3,134,136,167,65,0,32,19,66,5,84,27,58,0,0,32,6,65,1,106,34,6,32,4,40,2,4,73,13,0,11,11,2,64,32,7,65,1,106,34,6,32,17,77,13,0,65,8,32,17,65,1,116,34,5,32,6,32,5,32,6,75,27,34,5,32,5,65,8,77,27,34,17,65,2,116,33,5,32,16,4,64,32,16,32,5,35,4,40,2,0,17,1,0,33,16,12,1,11,32,5,35,5,40,2,0,17,0,0,33,16,11,32,16,32,7,65,2,116,106,32,12,54,2,0,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,12,65,1,106,34,9,32,0,40,2,68,34,7,75,4,127,65,8,32,7,65,1,116,34,7,32,9,32,7,32,9,75,27,34,7,32,7,65,8,77,27,34,7,65,20,108,33,9,2,127,32,5,4,64,32,5,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,5,32,0,32,7,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,12,65,1,106,5,32,9,11,54,2,64,32,8,65,255,255,3,59,1,8,32,8,65,127,54,2,4,32,5,32,12,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,4,54,1,6,32,5,32,8,47,1,8,59,1,10,32,5,65,0,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,8,65,0,54,2,20,32,14,65,1,106,33,14,32,6,33,7,12,0,11,0,11,2,64,32,6,16,245,1,13,0,32,1,40,2,12,34,6,65,223,0,70,13,0,32,6,65,45,71,13,7,11,32,1,40,2,0,33,9,32,1,16,92,32,1,40,2,0,33,6,32,1,16,87,32,1,40,2,12,65,58,71,4,64,32,1,65,0,58,0,16,32,1,32,9,54,2,0,32,1,16,86,26,12,7,11,32,1,16,86,26,32,1,16,87,32,8,65,0,54,2,24,32,8,66,0,55,2,16,32,0,32,1,32,2,32,3,32,8,65,16,106,16,88,34,3,4,64,32,8,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,65,1,32,3,32,3,65,127,70,27,33,5,12,7,11,32,0,40,2,156,1,32,9,32,6,32,9,107,16,30,34,7,69,4,64,32,1,32,9,54,2,0,65,3,33,5,12,7,11,32,18,40,2,0,33,5,32,15,33,6,3,64,2,64,32,5,32,6,65,20,108,106,34,3,32,7,59,1,4,32,3,47,1,14,34,3,65,255,255,3,70,13,0,32,3,32,6,77,13,0,32,3,34,6,32,0,40,2,64,73,13,1,11,11,32,4,32,8,65,16,106,16,93,32,8,40,2,16,34,3,69,13,3,32,3,35,6,40,2,0,17,2,0,12,3,11,32,1,40,2,0,33,7,32,0,32,1,16,94,13,5,32,0,40,2,156,1,32,0,40,2,132,1,32,0,40,2,136,1,65,0,16,27,34,6,69,4,64,32,1,65,0,58,0,16,32,1,32,7,65,1,106,54,2,0,32,1,16,86,26,65,2,33,5,12,6,11,32,18,16,91,32,0,32,0,40,2,64,34,5,65,1,106,54,2,64,32,0,40,2,60,32,5,65,20,108,106,34,5,66,128,128,128,128,112,55,1,2,32,5,32,6,59,1,0,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,5,65,255,255,3,59,1,10,12,2,11,32,1,16,86,26,32,1,16,87,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,10,65,1,106,34,7,32,0,40,2,68,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,20,108,33,7,2,127,32,5,4,64,32,5,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,5,32,0,32,6,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,7,11,54,2,64,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,5,32,10,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,16,54,1,6,32,5,32,8,47,1,20,59,1,10,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,12,1,11,32,1,16,86,26,32,1,16,87,2,64,2,64,2,64,2,64,32,1,40,2,12,34,6,65,34,107,14,13,1,2,3,3,3,3,1,3,3,3,3,3,2,0,11,32,6,65,219,0,71,13,2,11,32,8,65,0,54,2,24,32,8,66,0,55,2,16,2,64,2,64,2,64,2,64,32,0,32,1,32,2,32,6,65,46,70,4,127,32,1,16,86,26,32,1,16,87,65,1,5,32,3,11,32,8,65,16,106,16,88,34,5,65,1,106,14,2,1,0,2,11,3,64,32,4,32,8,65,16,106,16,93,32,8,65,0,54,2,20,32,1,40,2,12,34,3,65,46,70,4,64,32,1,16,86,26,32,1,16,87,11,32,0,32,1,32,2,32,3,65,46,70,32,8,65,16,106,16,88,34,5,69,13,0,11,32,5,65,127,71,13,1,11,65,1,33,5,32,1,40,2,12,65,41,70,13,1,11,32,8,40,2,16,34,0,69,13,6,32,0,35,6,40,2,0,17,2,0,12,6,11,32,1,16,86,26,32,8,40,2,16,34,3,69,13,2,32,3,35,6,40,2,0,17,2,0,12,2,11,32,1,16,86,26,2,127,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,1,11,32,1,40,2,0,33,2,32,1,16,92,32,0,65,24,106,34,15,32,2,32,1,40,2,0,32,2,107,16,95,33,3,32,0,40,2,84,33,7,32,0,32,0,40,2,88,34,4,65,1,106,34,5,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,5,32,2,32,5,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,4,2,127,32,7,4,64,32,7,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,7,32,0,32,2,54,2,92,32,0,32,7,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,5,11,54,2,88,32,7,32,4,65,3,116,106,34,2,32,3,54,2,4,32,2,65,2,54,2,0,32,1,16,87,3,64,2,64,2,64,2,127,2,64,2,64,2,64,2,64,32,1,40,2,12,34,2,65,34,107,14,8,1,3,3,3,3,3,3,0,2,11,32,1,16,86,26,32,1,16,87,32,0,40,2,84,33,7,32,0,32,0,40,2,88,34,5,65,1,106,34,2,32,0,40,2,92,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,2,32,1,32,2,75,27,34,1,32,1,65,8,77,27,34,1,65,3,116,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,0,32,1,54,2,92,32,0,32,7,54,2,84,32,0,40,2,88,34,5,65,1,106,5,32,2,11,54,2,88,32,7,32,5,65,3,116,106,66,0,55,2,0,65,0,12,7,11,65,1,32,0,32,1,16,94,13,6,26,32,15,32,0,40,2,132,1,32,0,40,2,136,1,16,95,12,2,11,32,2,65,192,0,70,13,2,11,2,64,32,2,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,5,11,32,1,40,2,0,33,2,32,1,16,92,32,15,32,2,32,1,40,2,0,32,2,107,16,95,11,33,7,32,0,40,2,84,33,5,32,0,32,0,40,2,88,34,4,65,1,106,34,3,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,5,4,64,32,5,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,5,32,0,32,2,54,2,92,32,0,32,5,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,3,11,54,2,88,32,5,32,4,65,3,116,106,34,5,65,2,54,2,0,12,1,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,3,11,32,1,40,2,0,33,6,32,1,16,92,2,64,2,64,32,0,40,2,16,34,4,69,13,0,32,1,40,2,0,32,6,107,33,5,32,0,40,2,12,33,3,65,0,33,7,3,64,2,64,32,5,32,3,32,7,65,3,116,106,34,2,40,2,4,70,4,64,32,0,40,2,0,32,2,40,2,0,106,32,6,32,5,16,251,1,69,13,1,11,32,7,65,1,106,34,7,32,4,71,13,1,12,2,11,11,32,7,65,127,71,13,1,11,32,1,65,0,58,0,16,32,1,32,6,54,2,0,32,1,16,86,26,65,4,12,3,11,32,0,40,2,84,33,5,32,0,32,0,40,2,88,34,4,65,1,106,34,3,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,5,4,64,32,5,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,5,32,0,32,2,54,2,92,32,0,32,5,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,3,11,54,2,88,32,5,32,4,65,3,116,106,34,5,65,1,54,2,0,11,32,5,32,7,54,2,4,32,1,16,87,12,0,11,0,11,33,5,12,4,11,32,1,40,2,0,33,11,2,64,32,6,16,245,1,13,0,32,1,40,2,12,34,6,65,223,0,70,13,0,32,6,65,45,71,13,4,11,32,1,16,92,2,64,2,64,32,1,40,2,0,32,11,107,34,5,65,1,70,4,64,65,0,33,12,65,0,33,6,32,11,45,0,0,65,223,0,70,13,1,11,32,11,35,1,65,181,10,106,32,5,16,251,1,69,4,64,32,1,16,87,2,64,2,64,2,64,32,1,40,2,12,16,245,1,13,0,65,0,33,6,65,1,33,12,2,64,32,1,40,2,12,34,5,65,34,107,14,12,2,3,3,3,3,3,3,5,3,3,3,1,0,11,32,5,65,223,0,71,13,2,11,32,1,40,2,0,33,5,32,1,16,92,65,1,33,12,32,0,40,2,156,1,32,5,32,1,40,2,0,32,5,107,65,1,16,27,34,6,13,3,32,1,65,0,58,0,16,32,1,32,5,54,2,0,32,1,16,86,26,65,2,33,5,12,8,11,32,1,40,2,0,33,5,32,0,32,1,16,94,4,64,65,1,33,5,12,8,11,32,0,40,2,156,1,32,0,40,2,132,1,32,0,40,2,136,1,65,0,16,27,34,6,13,2,32,1,65,0,58,0,16,32,1,32,5,65,1,106,54,2,0,32,1,16,86,26,65,2,33,5,12,7,11,32,1,65,0,58,0,16,32,1,16,86,26,65,1,33,5,12,6,11,32,0,40,2,156,1,32,11,32,5,65,1,16,27,34,6,69,13,1,65,0,33,12,11,32,18,16,91,32,0,32,0,40,2,64,34,5,65,1,106,54,2,64,32,0,40,2,60,32,5,65,20,108,106,34,5,66,128,128,128,128,112,55,1,2,32,5,32,6,59,1,0,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,5,65,255,255,3,59,1,10,32,0,40,2,60,32,0,40,2,64,65,20,108,106,34,5,65,20,107,33,7,2,64,32,6,65,253,255,3,75,13,0,32,0,40,2,156,1,40,2,72,32,6,65,3,108,106,45,0,2,65,1,113,69,13,0,32,5,65,18,107,32,7,47,1,0,59,1,0,32,7,65,0,59,1,0,11,32,12,4,64,32,5,65,2,107,34,3,32,3,47,1,0,65,128,4,114,59,1,0,11,32,6,69,4,64,32,5,65,2,107,34,3,32,3,47,1,0,65,1,114,59,1,0,11,32,1,16,87,2,64,32,1,40,2,12,65,47,70,4,64,32,5,65,18,107,34,5,47,1,0,69,4,64,32,1,65,0,58,0,16,32,1,32,11,65,1,107,54,2,0,32,1,16,86,26,65,5,33,5,12,7,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,3,65,223,0,70,13,0,32,3,65,45,70,13,0,65,1,33,5,12,7,11,32,1,40,2,0,33,3,32,1,16,92,32,7,32,0,40,2,156,1,34,9,32,3,32,1,40,2,0,32,3,107,65,1,16,27,34,7,59,1,0,32,7,69,4,64,32,1,65,0,58,0,16,32,1,32,3,54,2,0,32,1,16,86,26,65,2,33,5,12,7,11,2,64,32,9,40,2,0,65,15,73,13,0,32,5,47,1,0,34,3,65,253,255,3,75,13,2,32,9,40,2,72,32,3,65,3,108,106,45,0,2,65,1,113,69,13,2,32,9,40,2,156,1,32,3,65,2,116,106,34,3,47,1,2,34,6,69,13,2,32,9,40,2,160,1,32,3,47,1,0,65,1,116,106,33,3,65,0,33,5,3,64,32,3,32,5,65,1,116,106,47,1,0,32,7,70,13,1,32,6,32,5,65,1,106,34,5,71,13,0,11,12,2,11,32,1,16,87,11,32,8,65,0,54,2,12,32,8,66,0,55,2,4,32,2,65,1,106,33,9,65,0,33,3,65,0,33,12,3,64,32,3,65,255,255,3,113,34,7,65,7,75,33,6,3,64,65,0,33,10,2,64,2,64,2,64,32,1,40,2,12,65,33,107,14,14,0,2,2,2,2,2,2,2,2,2,2,2,2,1,2,11,32,1,16,86,26,32,1,16,87,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,5,65,45,70,13,0,32,5,65,223,0,71,13,8,11,32,1,40,2,0,33,11,32,1,16,92,32,1,40,2,0,33,5,32,1,16,87,32,0,40,2,156,1,32,11,32,5,32,11,107,16,30,34,5,69,4,64,32,1,32,11,54,2,0,65,3,33,5,12,9,11,32,6,13,2,32,8,65,16,106,32,7,65,1,116,106,32,5,59,1,0,32,3,65,1,106,33,3,12,3,11,32,1,16,86,26,32,1,16,87,65,1,33,10,11,32,0,47,1,64,33,11,32,0,32,1,32,9,32,10,32,8,65,4,106,16,88,34,5,4,64,32,5,65,127,71,13,7,65,1,33,5,32,1,40,2,12,65,41,71,13,7,2,64,32,10,69,13,0,32,12,65,255,255,3,113,34,5,69,13,7,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,70,13,0,32,0,40,2,64,32,5,77,13,0,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,70,13,0,3,64,32,5,65,255,255,3,113,34,5,32,0,40,2,64,79,13,1,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,71,13,0,11,11,32,3,65,255,255,3,113,34,3,4,64,2,64,32,8,65,16,106,33,9,65,0,33,11,65,0,33,7,32,0,40,2,60,32,15,65,255,255,3,113,65,20,108,106,33,6,32,0,40,2,120,33,12,2,64,32,0,40,2,124,34,17,4,64,3,64,2,127,32,12,32,14,65,1,116,106,47,1,0,34,5,69,4,64,32,3,32,13,70,13,4,32,14,65,1,106,33,7,65,0,33,11,65,0,12,1,11,32,3,32,13,77,4,64,65,1,33,11,65,0,12,1,11,65,0,32,13,65,1,106,32,5,32,9,32,13,65,1,116,106,47,1,0,71,32,11,114,34,11,65,1,113,27,11,33,13,32,14,65,1,106,34,14,32,17,71,13,0,11,11,32,6,32,17,59,1,16,2,64,2,64,32,3,32,17,106,34,6,32,0,40,2,128,1,75,4,64,32,6,65,1,116,33,5,2,127,32,12,4,64,32,12,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,12,32,0,32,6,54,2,128,1,32,0,32,12,54,2,120,32,0,40,2,124,34,5,32,17,75,13,1,11,32,17,65,1,116,33,13,12,1,11,32,17,65,1,116,33,13,32,5,32,17,107,65,1,116,34,5,69,13,0,32,12,32,6,65,1,116,106,32,12,32,13,106,32,5,252,10,0,0,11,32,3,65,1,116,34,5,4,64,32,12,32,13,106,32,9,32,5,252,10,0,0,11,32,0,32,0,40,2,124,32,3,106,34,13,54,2,124,32,0,40,2,120,33,14,32,0,32,13,65,1,106,34,5,32,0,40,2,128,1,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,3,65,1,116,33,5,2,127,32,14,4,64,32,14,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,14,32,0,32,3,54,2,128,1,32,0,32,14,54,2,120,32,0,40,2,124,34,13,65,1,106,5,32,5,11,54,2,124,32,14,32,13,65,1,116,106,65,0,59,1,0,12,1,11,32,6,32,7,59,1,16,11,11,32,1,16,86,26,32,8,40,2,4,34,3,69,13,5,32,3,35,6,40,2,0,17,2,0,12,5,5,32,0,40,2,64,33,5,32,4,32,8,65,4,106,16,93,32,8,65,0,54,2,8,32,11,32,5,32,11,70,107,33,12,12,1,11,0,11,0,11,0,11,32,1,65,0,58,0,16,32,1,32,11,65,1,107,54,2,0,32,1,16,86,26,65,5,33,5,12,4,11,32,1,65,0,58,0,16,32,1,32,11,54,2,0,32,1,16,86,26,65,2,33,5,12,3,11,32,1,16,87,65,3,33,3,3,64,2,64,32,1,40,2,12,34,5,65,192,0,71,4,64,2,64,2,64,2,64,32,5,65,42,107,14,22,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,4,11,32,1,16,86,26,32,1,16,87,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,0,40,2,60,33,5,65,4,65,2,32,3,65,2,75,27,33,3,32,0,32,0,40,2,64,34,10,65,1,106,34,7,32,0,40,2,68,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,20,108,33,7,2,127,32,5,4,64,32,5,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,5,32,0,32,6,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,7,11,54,2,64,32,5,32,10,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,16,54,1,6,32,5,32,8,47,1,20,59,1,10,32,5,65,128,128,160,1,54,1,16,32,5,32,15,59,1,14,32,5,32,2,59,1,12,12,4,11,32,1,16,86,26,32,1,16,87,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,10,65,1,106,34,6,32,0,40,2,68,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,3,65,20,108,33,6,2,127,32,5,4,64,32,5,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,6,11,54,2,64,32,5,32,10,65,20,108,106,34,3,65,0,54,1,2,32,3,65,0,59,1,0,32,3,32,8,40,2,16,54,1,6,32,3,32,8,47,1,20,59,1,10,32,3,65,128,128,160,1,54,1,16,32,3,32,15,59,1,14,32,3,32,2,59,1,12,32,0,40,2,64,34,9,65,1,107,33,7,32,0,40,2,60,33,6,32,15,33,5,3,64,32,6,32,5,65,20,108,106,34,3,47,1,14,34,5,65,255,255,3,71,32,5,32,7,73,113,13,0,11,32,3,32,9,59,1,14,65,2,33,3,12,3,11,32,1,16,86,26,32,1,16,87,35,1,65,196,12,106,32,3,65,2,116,106,40,2,0,33,3,32,0,40,2,64,33,9,32,0,40,2,60,33,7,32,15,33,5,3,64,32,7,32,5,65,20,108,106,34,6,47,1,14,34,5,65,255,255,3,71,32,5,32,9,73,113,13,0,11,32,6,32,9,59,1,14,12,2,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,5,65,223,0,70,13,0,32,5,65,45,70,13,0,65,1,33,5,12,5,11,32,1,40,2,0,33,6,32,1,16,92,32,1,40,2,0,33,5,32,1,16,87,32,0,32,6,32,5,32,6,107,16,95,33,9,32,9,32,4,40,2,4,34,5,79,4,64,32,4,40,2,0,33,10,32,9,65,1,106,34,7,32,9,32,4,40,2,8,34,6,79,4,64,65,8,32,6,65,1,116,34,5,32,7,32,5,32,7,75,27,34,5,32,5,65,8,77,27,33,5,2,127,32,10,4,64,32,10,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,10,32,4,32,5,54,2,8,32,4,32,10,54,2,0,32,4,40,2,4,33,5,11,32,5,107,34,6,4,64,32,5,32,10,106,65,0,32,6,252,11,0,11,32,4,32,7,54,2,4,11,32,4,40,2,0,32,9,106,34,5,66,131,136,144,160,192,0,32,5,49,0,0,34,19,66,3,134,136,167,65,0,32,19,66,5,84,27,58,0,0,32,18,40,2,0,33,7,32,15,33,6,3,64,2,64,2,127,32,7,32,6,65,20,108,106,34,5,47,1,6,65,255,255,3,70,4,64,32,5,65,6,106,12,1,11,32,5,65,8,106,32,5,47,1,8,65,255,255,3,70,13,0,26,32,5,47,1,10,65,255,255,3,71,13,1,32,5,65,10,106,11,32,9,59,1,0,11,32,5,47,1,14,34,5,65,255,255,3,70,13,2,32,5,32,6,77,13,2,32,5,34,6,32,0,40,2,64,73,13,0,11,12,1,11,11,32,4,47,1,4,69,4,64,65,0,33,5,12,3,11,2,64,2,64,32,3,65,2,107,14,3,0,1,0,1,11,65,4,65,2,32,3,65,3,107,65,2,73,27,33,0,65,0,33,6,3,64,65,0,33,5,2,64,2,64,2,64,2,64,32,4,40,2,0,32,6,106,34,1,45,0,0,65,1,107,14,4,1,1,0,2,3,11,32,3,33,5,12,2,11,65,2,33,5,12,1,11,32,0,33,5,11,32,1,32,5,58,0,0,65,0,33,5,32,6,65,1,106,34,6,32,4,47,1,4,73,13,0,11,12,3,11,65,4,65,2,32,3,65,3,107,65,2,73,27,33,1,65,0,33,6,3,64,65,0,33,5,2,64,2,64,2,64,2,64,32,4,40,2,0,32,6,106,34,2,45,0,0,34,0,65,1,107,14,4,1,1,0,2,3,11,32,3,33,5,12,2,11,32,0,33,5,12,1,11,32,1,33,5,11,32,2,32,5,58,0,0,65,0,33,5,32,6,65,1,106,34,6,32,4,47,1,4,73,13,0,11,12,2,11,65,1,33,5,11,32,8,40,2,4,34,0,69,13,0,32,0,35,6,40,2,0,17,2,0,11,32,8,65,32,106,36,0,32,5,11,153,27,1,39,127,35,0,65,208,0,107,34,11,36,0,32,3,65,0,54,2,64,32,3,65,0,54,2,52,32,3,65,24,106,33,25,32,3,65,36,106,33,31,32,3,65,12,106,33,18,2,64,3,64,2,64,32,3,40,2,4,69,4,64,32,3,40,2,28,69,13,3,32,35,32,3,40,2,52,34,35,79,13,3,32,11,32,3,40,2,8,54,2,16,32,11,32,3,41,2,0,55,3,8,32,3,32,25,40,2,8,54,2,8,32,3,32,25,41,2,0,55,2,0,32,25,32,11,40,2,16,54,2,8,32,25,32,11,41,3,8,55,2,0,32,32,65,1,106,33,32,12,1,11,32,3,40,2,36,33,4,32,3,40,2,12,33,13,2,64,32,3,40,2,16,34,6,32,3,40,2,40,34,5,106,34,7,32,3,40,2,44,77,13,0,32,7,65,2,116,33,8,2,127,32,4,4,64,32,4,32,8,35,4,40,2,0,17,1,0,12,1,11,32,8,35,5,40,2,0,17,0,0,11,33,4,32,3,32,7,54,2,44,32,3,32,4,54,2,36,32,3,40,2,40,34,7,32,5,77,13,0,32,7,32,5,107,65,2,116,34,7,69,13,0,32,4,32,8,106,32,4,32,5,65,2,116,106,32,7,252,10,0,0,11,2,64,32,6,69,13,0,32,6,65,2,116,33,8,32,4,32,5,65,2,116,106,33,4,32,13,4,64,32,8,69,13,1,32,4,32,13,32,8,252,10,0,0,12,1,11,32,8,69,13,0,32,4,65,0,32,8,252,11,0,11,65,0,33,4,32,3,65,0,54,2,16,32,3,32,3,40,2,40,32,6,106,54,2,40,65,0,33,19,2,64,32,3,40,2,4,34,13,69,13,0,3,64,32,3,40,2,0,32,19,65,2,116,106,40,2,0,33,14,2,64,2,127,2,64,32,4,69,4,64,32,14,47,1,64,33,6,12,1,11,2,64,2,64,2,64,32,14,47,1,64,34,6,32,18,40,2,0,32,4,65,2,116,106,65,4,107,40,2,0,34,7,47,1,64,34,10,73,13,0,32,6,4,64,65,0,33,4,3,64,32,4,32,10,70,13,3,32,14,32,4,65,3,116,34,8,106,34,5,47,1,4,34,15,32,7,32,8,106,34,8,47,1,4,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,2,34,15,32,8,47,1,2,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,0,34,15,32,8,47,1,0,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,6,65,255,255,1,113,34,5,32,8,47,1,6,65,255,255,1,113,34,8,73,13,3,32,5,32,8,75,13,2,32,4,65,1,106,34,4,32,6,71,13,0,11,11,32,14,47,1,66,34,4,32,7,47,1,66,34,5,73,13,3,32,4,32,5,77,13,2,11,32,13,32,19,77,13,6,3,64,32,3,40,2,0,32,19,65,2,116,106,40,2,0,33,4,2,127,32,3,40,2,40,34,5,4,64,32,3,32,5,65,1,107,34,5,54,2,40,32,3,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,7,32,4,65,198,0,252,10,0,0,32,3,40,2,12,33,4,32,3,32,3,40,2,16,34,6,65,1,106,34,5,32,3,40,2,20,34,8,75,4,127,65,8,32,8,65,1,116,34,8,32,5,32,5,32,8,73,27,34,5,32,5,65,8,77,27,34,8,65,2,116,33,5,2,127,32,4,4,64,32,4,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,4,32,3,32,8,54,2,20,32,3,32,4,54,2,12,32,3,40,2,16,34,6,65,1,106,5,32,5,11,54,2,16,32,4,32,6,65,2,116,106,32,7,54,2,0,32,19,65,1,106,34,19,32,3,40,2,4,73,13,0,11,12,6,11,32,6,65,3,116,32,14,106,65,8,107,12,2,11,32,18,32,31,32,14,16,146,1,12,2,11,32,6,65,3,116,32,14,106,65,8,107,32,14,32,6,65,255,255,3,113,27,11,33,9,32,2,69,13,0,32,9,47,1,2,33,8,65,0,33,4,32,2,34,5,65,2,79,4,64,3,64,32,4,32,4,32,5,65,1,118,34,6,106,34,4,32,1,32,4,65,28,108,106,47,1,0,32,8,75,27,33,4,32,5,32,6,107,34,5,65,1,75,13,0,11,11,32,8,32,1,32,4,65,28,108,106,47,1,0,34,5,71,13,0,32,9,47,1,6,33,6,32,14,47,1,66,65,20,108,33,7,32,9,47,1,4,33,27,32,4,32,5,32,8,73,106,33,4,2,127,32,9,47,1,0,34,23,32,0,40,2,156,1,34,20,40,2,24,34,37,79,4,64,32,20,40,2,44,32,20,40,2,48,32,23,32,37,107,65,2,116,106,40,2,0,65,1,116,106,34,13,65,2,106,33,33,32,13,47,1,0,12,1,11,32,20,40,2,40,32,20,40,2,4,32,23,108,65,1,116,106,65,2,107,33,13,65,0,33,33,65,0,11,33,34,32,6,65,255,255,1,113,33,40,32,0,40,2,60,32,7,106,33,21,32,27,65,1,106,33,17,32,1,32,4,65,28,108,106,33,28,65,0,33,38,65,255,255,3,33,24,32,27,65,1,116,33,41,65,0,33,8,65,0,33,29,3,64,2,64,2,64,2,127,2,64,2,64,2,64,32,23,32,37,73,4,64,32,20,40,2,4,33,8,3,64,32,8,32,24,65,1,106,34,24,65,255,255,3,113,34,5,77,13,9,32,13,47,1,2,33,4,32,13,65,2,106,34,6,33,13,32,4,69,13,0,11,12,1,11,32,13,65,2,106,34,4,32,33,71,13,1,32,34,65,255,255,3,113,69,13,7,32,13,65,6,106,34,6,32,13,47,1,4,65,1,116,106,33,33,32,34,65,1,107,33,34,32,13,47,1,2,33,4,32,13,47,1,6,34,24,33,5,11,32,20,40,2,12,32,5,75,13,1,32,6,33,13,12,3,11,32,4,47,1,0,33,24,32,4,12,1,11,32,20,40,2,52,32,4,65,255,255,3,113,65,3,116,106,34,4,65,8,106,33,38,32,4,45,0,0,33,29,65,0,33,8,32,6,11,33,13,32,29,69,4,64,32,8,33,4,12,1,11,32,38,32,29,65,3,116,106,34,4,65,8,107,45,0,0,13,2,32,4,65,4,107,45,0,0,4,64,32,8,33,4,32,27,33,5,32,23,33,15,12,2,11,32,4,65,6,107,47,1,0,33,15,32,8,33,4,32,17,33,5,12,1,11,65,0,33,8,65,0,33,29,32,17,33,5,32,4,33,15,32,4,65,255,255,3,113,69,13,1,11,32,4,33,8,32,5,65,255,0,113,33,26,2,64,32,28,40,2,20,34,5,69,4,64,65,0,33,16,12,1,11,32,28,40,2,16,33,7,65,0,33,16,32,5,34,4,65,1,71,4,64,3,64,2,64,2,64,32,7,32,16,32,4,65,1,118,34,12,106,34,6,65,6,108,106,34,10,47,1,0,34,9,32,15,65,255,255,3,113,34,22,73,13,0,32,9,32,22,75,13,1,32,10,45,0,4,34,9,65,255,0,113,34,22,32,26,73,13,0,32,9,192,65,0,72,13,1,32,22,32,26,75,13,1,32,10,47,1,2,13,1,11,32,6,33,16,11,32,4,32,12,107,34,4,65,1,75,13,0,11,11,32,7,32,16,65,6,108,106,34,4,47,1,0,34,6,32,15,65,255,255,3,113,34,7,79,4,64,32,6,32,7,75,13,1,32,4,45,0,4,65,255,0,113,32,26,79,13,1,11,32,16,65,1,106,33,16,11,32,5,32,16,77,13,0,32,24,65,255,255,3,113,33,22,3,64,32,16,65,6,108,33,4,32,16,65,1,106,33,16,32,15,65,255,255,3,113,34,42,32,4,32,28,40,2,16,106,34,4,47,1,0,71,13,1,32,4,45,0,4,34,5,192,33,9,32,5,65,255,0,113,32,26,71,13,1,32,0,40,2,156,1,33,10,2,64,32,4,47,1,2,34,4,4,64,32,10,40,2,84,32,10,47,1,36,32,4,108,65,1,116,106,32,41,106,47,1,0,34,7,13,1,11,65,0,33,7,32,10,40,2,72,32,22,65,3,108,106,45,0,0,65,1,71,13,0,32,10,40,2,76,32,22,65,1,116,106,47,1,0,33,7,11,2,64,32,40,34,12,13,0,65,0,33,12,32,10,40,2,32,69,13,0,32,10,40,2,64,32,4,65,2,116,106,34,4,47,1,2,34,5,69,13,0,32,10,40,2,68,32,4,47,1,0,65,2,116,106,34,4,32,5,65,2,116,106,33,5,3,64,2,64,32,4,45,0,3,13,0,32,27,32,4,45,0,2,71,13,0,32,4,47,1,0,33,12,12,2,11,32,4,65,4,106,34,4,32,5,71,13,0,11,11,32,11,65,8,106,34,39,32,14,65,198,0,252,10,0,0,32,11,47,1,72,34,5,65,3,116,34,30,32,11,106,34,4,32,39,32,5,27,34,6,32,15,59,1,0,32,6,32,26,59,1,4,32,9,65,0,72,4,64,32,4,32,39,32,5,27,34,9,32,9,47,1,6,65,128,128,2,114,59,1,6,11,2,64,2,64,2,64,2,64,2,127,65,1,32,21,47,1,0,34,9,65,255,255,3,70,13,0,26,2,64,32,7,4,64,2,127,32,9,69,4,64,65,1,32,21,47,1,18,65,1,113,69,13,1,26,32,10,40,2,72,32,7,65,3,108,106,45,0,1,12,1,11,32,7,32,9,70,11,32,21,47,1,4,34,4,69,32,4,32,12,65,255,255,3,113,70,114,113,33,4,32,21,47,1,2,34,10,69,13,1,65,0,34,7,32,14,47,1,64,34,12,69,13,2,26,3,64,32,14,32,7,65,3,116,106,47,1,2,32,10,70,13,2,32,7,65,1,106,34,7,32,12,71,13,0,11,65,0,12,2,11,65,0,32,22,32,10,40,2,12,73,13,1,26,32,4,32,11,65,8,106,32,5,27,46,1,6,65,0,78,4,64,32,5,65,7,79,4,64,32,3,65,1,58,0,72,12,7,11,32,11,32,5,65,1,106,59,1,72,32,11,65,8,106,32,30,106,33,6,11,65,0,33,9,32,6,65,0,59,1,4,32,6,32,24,59,1,2,32,6,32,23,59,1,0,32,6,32,12,65,255,255,1,113,59,1,6,65,0,33,7,32,11,47,1,72,34,5,69,13,3,3,64,2,64,32,7,69,13,0,32,11,65,8,106,32,7,65,3,116,106,47,1,2,33,10,65,0,33,4,3,64,32,10,32,11,65,8,106,32,4,65,3,116,106,47,1,2,71,4,64,32,7,32,4,65,1,106,34,4,71,13,1,12,2,11,11,32,9,65,1,106,33,9,11,32,7,65,1,106,34,7,32,5,71,13,0,11,32,9,32,32,75,13,2,65,0,12,1,11,32,4,11,33,7,2,64,32,5,69,13,0,3,64,32,6,46,1,6,65,0,78,13,1,32,11,32,5,65,1,107,34,5,59,1,72,32,11,32,5,65,255,255,3,113,34,4,65,3,116,106,33,6,32,4,13,0,11,11,32,7,69,13,1,32,0,40,2,60,33,5,32,11,47,1,74,33,4,3,64,32,5,32,4,65,1,106,34,4,65,255,255,3,113,65,20,108,106,34,7,47,1,12,34,6,65,255,255,3,71,4,64,32,6,32,21,47,1,12,75,13,1,11,11,32,11,32,4,59,1,74,65,1,33,30,12,2,11,32,25,32,31,32,11,65,8,106,16,146,1,12,2,11,65,0,33,30,32,21,33,7,32,23,32,42,70,13,1,11,3,64,32,7,47,1,18,34,4,65,8,113,4,64,32,11,32,11,47,1,74,65,1,106,59,1,74,32,7,65,20,106,33,7,12,1,11,2,64,32,4,65,16,113,13,0,32,0,40,2,60,32,11,47,1,74,34,9,65,20,108,106,47,1,12,32,21,47,1,12,71,4,64,32,3,40,2,60,33,9,32,3,40,2,64,34,10,4,127,32,14,47,1,68,33,6,65,0,33,4,32,10,34,5,65,1,71,4,64,3,64,32,4,32,5,65,1,118,34,12,32,4,106,34,4,32,9,32,4,65,1,116,106,47,1,0,32,6,75,27,33,4,32,5,32,12,107,34,5,65,1,75,13,0,11,11,32,6,32,9,32,4,65,1,116,106,47,1,0,34,5,70,13,2,32,4,32,5,32,6,73,106,5,65,0,11,33,4,32,10,65,1,106,34,5,32,3,40,2,68,75,4,64,32,5,65,1,116,33,6,2,127,32,9,4,64,32,9,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,9,32,3,32,5,54,2,68,32,3,32,9,54,2,60,32,3,40,2,64,33,10,11,32,4,65,1,116,33,5,2,64,32,4,32,10,79,13,0,32,10,32,4,107,65,1,116,34,4,69,13,0,32,5,32,9,106,34,6,65,2,106,32,6,32,4,252,10,0,0,11,32,5,32,9,106,32,14,47,0,68,59,0,0,32,3,32,3,40,2,64,65,1,106,54,2,64,12,1,11,32,11,47,1,72,69,4,64,32,3,40,2,48,33,12,65,0,33,4,32,3,40,2,52,34,10,33,5,2,64,2,64,2,64,32,10,34,6,14,2,2,1,0,11,3,64,32,4,32,5,65,1,118,34,6,32,4,106,34,4,32,12,32,4,65,1,116,106,47,1,0,32,9,75,27,33,4,32,5,32,6,107,34,5,65,1,75,13,0,11,11,32,12,32,4,65,1,116,106,47,1,0,34,5,32,9,70,13,2,32,4,32,5,32,9,73,106,33,6,11,32,10,65,1,106,34,4,32,3,40,2,56,75,4,64,32,4,65,1,116,33,5,2,127,32,12,4,64,32,12,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,12,32,3,32,4,54,2,56,32,3,32,12,54,2,48,32,3,40,2,52,33,10,11,32,6,65,1,116,33,4,2,64,32,6,32,10,79,13,0,32,10,32,6,107,65,1,116,34,5,69,13,0,32,4,32,12,106,34,6,65,2,106,32,6,32,5,252,10,0,0,11,32,4,32,12,106,32,9,59,0,0,32,3,32,3,40,2,52,65,1,106,54,2,52,12,1,11,32,18,32,31,32,11,65,8,106,16,146,1,11,32,30,69,13,1,32,7,47,1,14,34,4,65,255,255,3,70,13,1,32,4,32,11,47,1,74,77,13,1,32,11,32,4,59,1,74,32,0,40,2,60,32,4,65,20,108,106,33,7,12,0,11,0,11,32,28,40,2,20,32,16,75,13,0,11,12,0,11,0,11,32,19,65,1,106,34,19,32,3,40,2,4,34,13,79,13,1,32,3,40,2,16,33,4,12,0,11,0,11,32,11,32,3,40,2,8,54,2,16,32,11,32,3,41,2,0,55,3,8,32,3,32,18,40,2,8,54,2,8,32,3,32,18,41,2,0,55,2,0,32,18,32,11,40,2,16,54,2,8,32,18,32,11,41,3,8,55,2,0,11,32,36,65,1,106,34,36,65,128,2,71,13,0,11,32,3,65,1,58,0,72,11,32,11,65,208,0,106,36,0,11,165,4,1,4,127,32,0,4,64,32,0,40,2,60,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,68,32,0,66,0,55,2,60,11,32,0,40,2,72,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,80,32,0,66,0,55,2,72,11,32,0,40,2,84,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,92,32,0,66,0,55,2,84,11,32,0,40,2,96,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,104,32,0,66,0,55,2,96,11,32,0,40,2,108,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,116,32,0,66,0,55,2,108,11,32,0,40,2,132,1,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,140,1,32,0,66,0,55,2,132,1,11,32,0,40,2,120,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,128,1,32,0,66,0,55,2,120,11,32,0,40,2,144,1,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,152,1,32,0,66,0,55,2,144,1,11,32,0,40,2,0,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,8,32,0,66,0,55,2,0,11,32,0,40,2,12,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,20,32,0,66,0,55,2,12,11,32,0,40,2,24,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,32,32,0,66,0,55,2,24,11,32,0,40,2,36,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,44,32,0,66,0,55,2,36,11,32,0,40,2,52,34,2,4,64,65,0,33,1,3,64,32,0,40,2,48,32,1,65,12,108,106,34,3,40,2,0,34,4,4,64,32,4,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,0,40,2,52,33,2,11,32,1,65,1,106,34,1,32,2,73,13,0,11,11,32,0,40,2,48,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,56,32,0,66,0,55,2,48,11,32,0,35,6,40,2,0,17,2,0,11,11,110,1,3,127,32,0,40,2,4,65,1,106,34,1,32,0,40,2,8,34,2,75,4,64,65,8,32,2,65,1,116,34,2,32,1,32,1,32,2,73,27,34,1,32,1,65,8,77,27,34,2,65,20,108,33,1,2,127,32,0,40,2,0,34,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,1,32,0,32,2,54,2,8,32,0,32,1,54,2,0,11,11,203,3,1,6,127,3,64,32,0,32,0,40,2,0,32,0,45,0,16,106,34,4,54,2,0,2,64,2,64,32,0,40,2,8,34,5,32,4,75,4,64,32,0,32,4,44,0,0,34,1,65,255,1,113,34,2,54,2,12,65,1,33,3,32,1,65,0,72,4,64,2,64,32,5,32,4,107,34,5,65,1,70,13,0,2,64,32,1,65,96,79,4,64,2,64,32,1,65,111,77,4,64,32,0,32,2,65,15,113,34,2,54,2,12,35,1,65,222,10,106,32,2,106,45,0,0,32,4,45,0,1,34,1,65,5,118,118,65,1,113,69,13,4,32,1,65,63,113,33,6,65,2,33,1,12,1,11,32,0,32,2,65,240,1,107,34,2,54,2,12,32,1,65,116,75,13,3,35,1,65,176,12,106,32,4,45,0,1,34,1,65,4,118,106,44,0,0,32,2,118,65,1,113,69,13,3,32,0,32,1,65,63,113,32,2,65,6,116,114,34,2,54,2,12,65,2,33,3,32,5,65,2,70,13,3,65,3,33,1,32,4,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,0,32,6,65,255,1,113,32,2,65,6,116,114,34,2,54,2,12,32,5,34,3,32,1,71,13,1,12,2,11,32,1,65,66,73,13,1,32,0,32,2,65,31,113,34,2,54,2,12,65,1,33,1,11,32,1,32,4,106,45,0,0,65,128,127,115,65,255,1,113,34,3,65,63,77,13,3,32,1,33,3,11,32,0,65,127,54,2,12,65,127,33,2,11,32,0,32,3,58,0,16,12,2,11,65,0,33,2,32,0,65,0,54,2,12,32,0,65,0,58,0,16,12,1,11,32,0,32,2,65,6,116,32,3,114,34,2,54,2,12,32,0,32,1,65,1,106,58,0,16,11,32,2,16,245,1,13,0,32,0,40,2,12,34,3,65,33,107,34,1,65,30,77,65,0,65,1,32,1,116,65,129,224,128,128,4,113,27,13,0,32,3,65,223,0,70,13,0,11,11,250,2,1,4,127,32,0,40,2,4,34,3,32,1,40,2,4,34,2,73,4,64,32,0,40,2,0,33,4,32,0,40,2,8,34,5,32,2,73,4,127,65,8,32,5,65,1,116,34,3,32,2,32,2,32,3,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,2,54,2,8,32,0,32,4,54,2,0,32,0,40,2,4,33,3,32,1,40,2,4,5,32,2,11,32,3,107,34,2,4,64,32,3,32,4,106,65,0,32,2,252,11,0,11,32,0,32,1,40,2,4,34,2,54,2,4,11,32,2,65,255,255,3,113,4,64,65,0,33,3,65,0,33,4,3,64,32,1,40,2,0,32,3,106,45,0,0,33,2,2,64,2,64,2,64,2,64,2,64,2,64,32,0,40,2,0,32,3,106,34,3,45,0,0,14,5,5,1,2,3,0,4,11,65,4,33,2,12,4,11,32,2,65,255,1,113,65,5,79,13,2,66,129,132,136,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,3,11,32,2,65,255,1,113,65,5,79,13,1,66,130,132,136,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,2,11,32,2,65,255,1,113,65,5,79,13,0,66,131,136,144,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,1,11,65,0,33,2,11,32,3,32,2,58,0,0,32,4,65,1,106,34,4,65,255,255,3,113,34,3,32,1,47,1,4,73,13,0,11,11,11,218,10,1,8,127,65,1,33,3,32,1,40,2,12,65,34,70,4,64,32,1,40,2,0,33,8,32,1,16,86,26,32,1,40,2,0,33,2,32,0,65,0,54,2,136,1,2,127,3,64,2,64,32,1,40,2,12,33,3,2,127,2,64,2,64,32,4,65,1,113,4,64,32,0,40,2,136,1,33,4,2,64,2,64,2,64,2,64,2,64,32,3,65,238,0,107,14,7,0,4,4,4,1,4,2,3,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,10,58,0,0,12,6,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,13,58,0,0,12,5,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,9,58,0,0,12,4,11,32,3,65,48,70,13,2,11,32,0,40,2,132,1,33,2,32,1,40,2,0,33,6,2,64,32,4,32,1,45,0,16,34,3,106,34,5,32,0,40,2,140,1,77,13,0,2,127,32,2,4,64,32,2,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,140,1,32,0,32,2,54,2,132,1,32,0,40,2,136,1,34,5,32,4,77,13,0,32,5,32,4,107,34,5,69,13,0,32,2,32,4,106,34,7,32,3,106,32,7,32,5,252,10,0,0,11,2,64,32,3,69,34,5,13,0,32,2,32,4,106,33,2,32,6,4,64,32,5,13,1,32,2,32,6,32,3,252,10,0,0,12,1,11,32,3,69,13,0,32,2,65,0,32,3,252,11,0,11,32,0,32,0,40,2,136,1,32,3,106,54,2,136,1,12,2,11,2,64,2,64,2,127,2,64,32,3,65,220,0,71,4,64,32,3,65,10,70,13,4,65,0,32,3,65,34,71,13,7,26,32,0,40,2,132,1,33,3,32,1,40,2,0,34,8,32,2,107,34,4,32,0,40,2,136,1,34,5,106,34,6,32,0,40,2,140,1,77,13,3,32,3,69,13,1,32,3,32,6,35,4,40,2,0,17,1,0,12,2,11,32,0,40,2,132,1,33,3,2,64,32,1,40,2,0,34,7,32,2,107,34,4,32,0,40,2,136,1,34,5,106,34,6,32,0,40,2,140,1,77,13,0,2,127,32,3,4,64,32,3,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,6,32,5,77,13,0,32,6,32,5,107,34,6,69,13,0,32,3,32,5,106,34,9,32,4,106,32,9,32,6,252,10,0,0,11,2,64,32,2,32,7,70,13,0,32,3,32,5,106,33,3,32,2,4,64,32,4,69,13,1,32,3,32,2,32,4,252,10,0,0,12,1,11,32,4,69,13,0,32,3,65,0,32,4,252,11,0,11,32,0,32,0,40,2,136,1,32,4,106,54,2,136,1,32,1,40,2,0,65,1,106,33,2,65,1,12,6,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,6,32,5,77,13,0,32,6,32,5,107,34,6,69,13,0,32,3,32,5,106,34,7,32,4,106,32,7,32,6,252,10,0,0,11,2,64,32,2,32,8,70,13,0,32,3,32,5,106,33,3,32,2,4,64,32,4,69,13,1,32,3,32,2,32,4,252,10,0,0,12,1,11,32,4,69,13,0,32,3,65,0,32,4,252,11,0,11,32,0,32,0,40,2,136,1,32,4,106,54,2,136,1,65,0,12,6,11,12,3,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,0,58,0,0,11,32,1,40,2,0,32,1,45,0,16,106,33,2,65,0,11,33,4,32,1,16,86,13,1,11,11,32,1,65,0,58,0,16,32,1,32,8,54,2,0,65,1,11,33,3,32,1,16,86,26,11,32,3,11,206,3,1,5,127,2,64,2,64,32,0,40,2,16,34,4,69,13,0,32,0,40,2,12,33,6,3,64,2,64,32,2,32,6,32,3,65,3,116,106,34,5,40,2,4,70,4,64,32,0,40,2,0,32,5,40,2,0,106,32,1,32,2,16,251,1,69,13,1,11,32,3,65,1,106,34,3,32,4,71,13,1,12,2,11,11,32,3,65,0,78,13,1,11,32,0,40,2,0,33,3,32,0,40,2,4,33,6,32,2,65,1,106,34,5,4,64,32,5,32,6,106,34,4,32,0,40,2,8,34,7,77,4,127,32,6,5,65,8,32,7,65,1,116,34,7,32,4,32,4,32,7,73,27,34,4,32,4,65,8,77,27,33,4,2,127,32,3,4,64,32,3,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,11,33,4,32,5,4,64,32,3,32,4,106,65,0,32,5,252,11,0,11,32,0,32,0,40,2,4,32,5,106,54,2,4,32,0,40,2,0,33,3,11,32,2,4,64,32,3,32,6,106,32,1,32,2,252,10,0,0,11,32,0,40,2,0,32,0,40,2,4,106,65,1,107,65,0,58,0,0,32,0,40,2,12,33,3,32,0,32,0,40,2,16,34,4,65,1,106,34,1,32,0,40,2,20,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,1,32,1,32,4,73,27,34,1,32,1,65,8,77,27,34,4,65,3,116,33,1,2,127,32,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,20,32,0,32,3,54,2,12,32,0,40,2,16,34,4,65,1,106,5,32,1,11,54,2,16,32,3,32,4,65,3,116,106,34,1,32,2,54,2,4,32,1,32,6,54,2,0,32,0,47,1,16,65,1,107,33,3,11,32,3,65,255,255,3,113,11,7,0,32,0,40,2,100,11,7,0,32,0,40,2,16,11,7,0,32,0,40,2,40,11,49,1,1,127,32,0,40,2,12,32,1,65,255,255,3,113,65,3,116,106,34,1,40,2,0,33,3,32,0,40,2,0,33,0,32,2,32,1,40,2,4,54,2,0,32,0,32,3,106,11,47,1,1,127,32,2,65,255,255,3,113,34,2,32,0,40,2,48,32,1,65,12,108,106,34,0,40,2,4,73,4,127,32,0,40,2,0,32,2,106,45,0,0,5,65,0,11,11,49,1,1,127,32,0,40,2,36,32,1,65,255,255,3,113,65,3,116,106,34,1,40,2,0,33,3,32,0,40,2,24,33,0,32,2,32,1,40,2,4,54,2,0,32,0,32,3,106,11,54,1,1,127,32,0,40,2,96,32,1,65,28,108,106,34,1,40,2,8,33,3,32,2,32,1,40,2,12,34,1,54,2,0,32,1,69,4,64,65,0,15,11,32,0,40,2,84,32,3,65,3,116,106,11,16,0,32,0,40,2,96,32,1,65,28,108,106,40,2,16,11,16,0,32,0,40,2,96,32,1,65,28,108,106,40,2,20,11,80,1,3,127,32,0,40,2,76,34,2,69,4,64,65,1,15,11,32,0,40,2,72,33,3,65,0,33,0,3,64,2,64,32,1,32,3,32,0,65,6,108,106,34,4,47,1,2,71,13,0,32,4,45,0,4,65,1,70,13,0,65,0,15,11,32,0,65,1,106,34,0,32,2,71,13,0,11,65,1,11,35,1,1,127,32,0,40,2,100,32,1,75,4,127,32,0,40,2,96,32,1,65,28,108,106,45,0,24,5,65,0,11,65,1,113,11,120,1,4,127,32,0,40,2,112,34,4,69,4,64,65,0,15,11,65,127,33,2,32,1,32,0,40,2,108,34,3,40,2,0,79,4,64,65,0,33,2,3,64,32,4,32,2,34,5,65,1,106,34,2,71,4,64,32,3,32,2,65,3,116,106,40,2,0,32,1,77,13,1,11,11,32,3,32,5,65,3,116,106,47,1,4,33,2,11,32,0,40,2,64,32,2,77,4,64,65,0,15,11,32,0,40,2,60,32,2,65,20,108,106,45,0,18,65,7,118,11,179,2,1,6,127,2,64,32,0,40,2,16,34,4,69,13,0,32,0,40,2,12,33,5,3,64,2,64,32,2,32,5,32,3,65,3,116,106,34,6,40,2,4,70,4,64,32,0,40,2,0,32,6,40,2,0,106,32,1,32,2,16,251,1,69,13,1,11,32,3,65,1,106,34,3,32,4,71,13,1,12,2,11,11,32,3,65,127,70,13,0,32,0,40,2,64,34,5,69,13,0,32,0,40,2,60,33,6,65,0,33,2,32,3,65,255,255,3,113,33,1,3,64,65,0,33,3,32,6,32,2,65,20,108,106,34,0,65,6,106,34,7,33,4,2,64,2,64,32,0,47,1,6,34,8,32,1,70,13,0,32,1,32,0,47,1,8,70,4,64,32,0,65,8,106,33,4,65,1,33,3,12,1,11,32,0,47,1,10,32,1,71,13,1,32,0,65,255,255,3,59,1,10,12,1,11,32,4,65,255,255,3,59,1,0,32,3,65,1,116,32,7,106,34,3,65,2,106,47,1,0,34,4,65,255,255,3,70,13,0,32,3,32,4,59,1,0,32,3,65,255,255,3,59,1,2,32,1,32,8,71,13,0,32,0,47,1,10,34,3,65,255,255,3,70,13,0,32,0,65,255,255,3,59,1,10,32,0,32,3,59,1,8,11,32,2,65,1,106,34,2,32,5,71,13,0,11,11,11,102,1,3,127,32,0,40,2,76,34,3,4,64,3,64,32,0,40,2,72,32,2,65,6,108,106,34,4,47,1,2,32,1,70,4,64,32,3,32,2,65,127,115,106,65,6,108,34,3,4,64,32,4,32,4,65,6,106,32,3,252,10,0,0,11,32,0,32,0,40,2,76,65,1,107,34,3,54,2,76,32,2,65,1,107,33,2,11,32,2,65,1,106,34,2,32,3,73,13,0,11,11,11,223,1,1,2,127,65,168,1,35,5,34,1,40,2,0,17,0,0,34,0,65,0,65,200,0,252,11,0,32,0,66,0,55,3,112,32,0,66,127,55,3,104,32,0,66,0,55,3,96,32,0,66,128,128,128,128,112,55,3,88,32,0,66,128,128,128,128,112,55,3,80,32,0,66,255,255,255,255,15,55,3,72,32,0,66,0,55,3,120,32,0,66,0,55,3,128,1,32,0,66,0,55,3,136,1,32,0,66,0,55,3,144,1,32,0,66,0,55,3,152,1,32,0,66,0,55,3,160,1,65,128,1,32,1,40,2,0,17,0,0,33,1,32,0,65,8,54,2,32,32,0,32,1,54,2,24,32,0,40,2,44,65,7,77,4,64,2,127,32,0,40,2,36,34,1,4,64,32,1,65,128,1,35,4,40,2,0,17,1,0,12,1,11,65,128,1,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,44,32,0,32,1,54,2,36,11,32,0,11,181,5,2,6,127,2,126,35,0,65,16,107,34,5,36,0,32,0,65,0,54,2,40,32,0,65,0,54,2,28,32,2,40,2,16,33,6,32,2,40,2,8,33,7,32,2,40,2,4,33,4,32,2,40,2,0,33,8,32,2,40,2,20,33,3,32,0,32,2,40,2,12,59,1,20,32,0,32,3,54,2,4,32,0,65,0,54,2,12,32,0,40,2,8,33,2,32,0,32,0,40,2,16,4,127,65,0,5,2,127,32,2,4,64,32,2,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,2,32,0,65,8,54,2,16,32,0,32,2,54,2,8,32,0,40,2,12,11,34,3,65,1,106,54,2,12,32,2,32,3,65,28,108,106,34,2,65,0,54,2,24,32,2,66,0,55,2,16,32,2,32,7,54,2,12,32,2,32,4,54,2,8,32,2,32,8,54,2,4,32,2,32,6,54,2,0,2,64,32,0,40,2,52,34,6,65,255,255,3,113,34,4,69,13,0,32,0,40,2,48,33,3,65,0,33,7,65,0,33,2,32,4,65,8,79,4,64,32,6,65,248,255,3,113,33,8,65,0,33,4,3,64,32,3,32,2,65,12,108,106,65,127,54,2,4,32,3,32,2,65,1,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,2,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,3,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,4,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,5,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,6,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,7,114,65,12,108,106,65,127,54,2,4,32,2,65,8,106,33,2,32,4,65,8,106,34,4,32,8,71,13,0,11,11,32,6,65,7,113,34,4,69,13,0,3,64,32,3,32,2,65,12,108,106,65,127,54,2,4,32,2,65,1,106,33,2,32,7,65,1,106,34,7,32,4,71,13,0,11,11,32,0,65,1,58,0,160,1,32,0,32,6,54,2,76,32,0,65,0,54,2,112,32,0,65,0,59,0,161,1,32,0,65,0,54,2,80,32,0,65,0,58,0,163,1,32,0,32,1,54,2,0,32,0,65,0,54,2,156,1,2,64,32,0,41,3,136,1,66,0,82,4,64,32,5,16,237,1,32,5,41,3,0,33,10,32,5,40,2,8,33,1,32,0,32,5,40,2,12,54,2,132,1,32,0,32,1,32,0,41,3,136,1,34,9,32,9,66,192,132,61,128,34,9,66,192,132,61,126,125,167,65,232,7,108,106,34,1,65,128,148,235,220,3,107,32,1,32,1,65,255,147,235,220,3,74,34,1,27,54,2,128,1,32,0,32,1,173,32,9,32,10,124,124,55,3,120,12,1,11,32,0,65,248,0,106,34,1,66,0,55,3,0,32,1,66,0,55,3,8,11,32,0,65,0,54,2,152,1,32,0,66,0,55,3,144,1,32,5,65,16,106,36,0,11,196,1,1,5,127,32,1,40,2,16,33,3,32,1,40,2,8,33,4,32,1,40,2,4,33,5,32,1,40,2,0,33,6,32,1,40,2,20,33,2,32,0,32,1,40,2,12,59,1,16,32,0,32,2,54,2,0,32,0,65,0,54,2,8,32,0,40,2,4,33,1,32,0,32,0,40,2,12,4,127,65,0,5,2,127,32,1,4,64,32,1,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,12,32,0,32,1,54,2,4,32,0,40,2,8,11,34,2,65,1,106,54,2,8,32,1,32,2,65,28,108,106,34,0,65,0,54,2,24,32,0,66,0,55,2,16,32,0,32,4,54,2,12,32,0,32,5,54,2,8,32,0,32,6,54,2,4,32,0,32,3,54,2,0,11,87,1,3,127,2,64,2,64,32,2,40,2,0,34,3,32,2,40,2,4,34,4,114,69,4,64,32,2,66,127,55,2,0,12,1,11,32,1,40,2,0,34,5,32,3,75,13,1,32,3,32,5,71,13,0,32,1,40,2,4,32,4,75,13,1,11,32,0,32,1,41,2,0,55,3,96,32,0,32,2,41,2,0,55,3,104,11,11,223,1,1,3,127,2,127,32,0,40,2,40,69,4,64,65,0,32,0,65,0,16,115,69,13,1,26,11,32,0,40,2,36,34,3,40,2,0,34,2,65,127,70,4,64,32,0,32,0,40,2,112,34,2,65,1,106,54,2,112,32,3,32,2,54,2,0,11,32,1,32,2,54,2,0,32,1,32,3,47,1,12,59,1,4,2,64,32,3,47,1,4,34,2,32,0,40,2,52,79,4,64,32,0,40,2,64,33,2,32,0,40,2,60,33,4,12,1,11,32,0,40,2,48,32,2,65,12,108,106,34,4,40,2,4,33,2,32,4,65,127,54,2,4,32,4,40,2,0,33,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,1,32,2,59,1,6,32,1,32,4,54,2,8,32,0,40,2,40,65,4,116,65,16,107,34,1,4,64,32,3,32,3,65,16,106,32,1,252,10,0,0,11,32,0,32,0,40,2,40,65,1,107,54,2,40,65,1,11,11,202,68,2,30,127,2,126,35,0,65,208,1,107,34,7,36,0,32,0,65,60,106,33,28,32,0,65,4,106,33,21,32,0,65,148,1,106,33,29,3,64,2,64,32,0,45,0,162,1,34,6,65,1,71,13,0,32,0,40,2,28,34,4,69,13,0,32,0,40,2,52,33,3,32,0,40,2,24,33,5,2,64,32,4,34,2,65,1,113,69,13,0,32,0,32,2,65,1,107,34,2,54,2,28,32,3,32,5,32,2,65,4,116,106,47,1,4,34,9,77,13,0,32,0,40,2,48,32,9,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,4,65,1,70,13,0,3,64,32,0,32,2,65,1,107,34,4,54,2,28,32,5,32,4,65,4,116,106,47,1,4,34,4,32,3,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,32,2,65,2,107,34,2,54,2,28,32,5,32,2,65,4,116,106,47,1,4,34,4,32,3,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,2,13,0,11,11,32,0,32,0,40,2,156,1,65,1,106,34,2,65,0,32,2,65,228,0,71,27,34,4,54,2,156,1,2,64,32,0,40,2,144,1,34,2,69,13,0,32,2,40,2,4,69,13,0,32,0,32,0,40,2,8,32,0,40,2,12,65,28,108,106,65,24,107,40,0,0,54,2,152,1,11,2,64,2,64,32,6,32,14,114,65,1,113,13,0,32,4,13,1,2,64,32,0,41,3,120,80,4,64,32,0,40,2,128,1,69,13,1,11,32,7,65,184,1,106,16,237,1,65,0,33,14,32,7,41,3,184,1,34,32,32,0,41,3,120,34,33,85,13,1,32,32,32,33,89,4,64,32,7,40,2,192,1,32,0,40,2,128,1,74,13,2,11,32,0,40,2,144,1,33,2,11,32,2,69,13,1,32,2,40,2,4,34,2,69,13,1,32,29,32,2,17,0,0,69,13,1,65,0,33,14,11,32,7,65,208,1,106,36,0,32,14,65,1,113,15,11,2,64,32,0,2,127,2,64,32,0,45,0,161,1,65,1,70,4,64,65,0,33,14,32,0,45,0,160,1,65,1,71,13,3,65,0,33,8,65,0,33,2,65,0,32,0,40,2,28,34,9,69,13,2,26,3,64,2,64,2,64,32,0,40,2,0,40,2,60,32,0,40,2,24,34,4,32,2,65,4,116,106,34,3,47,1,10,65,20,108,106,47,1,12,34,5,65,255,255,3,70,4,64,32,0,40,2,80,34,5,32,3,47,1,8,79,65,0,32,5,27,13,1,32,0,40,2,36,33,4,32,0,32,0,40,2,40,34,6,65,1,106,34,5,32,0,40,2,44,34,20,75,4,127,65,8,32,20,65,1,116,34,6,32,5,32,5,32,6,73,27,34,5,32,5,65,8,77,27,34,6,65,4,116,33,5,2,127,32,4,4,64,32,4,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,4,32,0,32,6,54,2,44,32,0,32,4,54,2,36,32,0,40,2,40,34,6,65,1,106,5,32,5,11,54,2,40,32,4,32,6,65,4,116,106,34,4,32,3,41,2,0,55,2,0,32,4,32,3,41,2,8,55,2,8,65,1,33,14,32,8,65,1,106,33,8,12,2,11,32,0,40,2,80,32,3,47,1,8,32,5,106,79,13,0,32,3,47,1,4,34,4,32,0,40,2,52,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,8,65,1,106,33,8,12,1,11,32,8,69,4,64,65,0,33,8,12,1,11,32,4,32,2,32,8,107,65,4,116,106,34,4,32,3,41,2,0,55,2,0,32,4,32,3,41,2,8,55,2,8,11,32,9,32,2,65,1,106,34,2,71,13,0,11,12,1,11,65,0,33,10,2,127,65,0,2,127,32,0,40,2,8,34,4,32,0,40,2,12,34,3,65,28,108,106,34,2,65,28,107,40,2,0,34,11,40,0,0,34,5,65,1,113,4,64,32,5,65,3,118,65,1,113,12,1,11,32,5,47,1,44,65,2,118,65,1,113,11,13,0,26,32,3,65,2,73,4,64,32,0,47,1,20,12,1,11,65,0,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,5,69,13,0,26,32,21,40,2,0,40,2,8,34,6,40,2,84,32,6,47,1,36,32,5,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,11,33,5,32,2,65,24,107,40,0,0,33,20,32,2,65,20,107,40,0,0,33,14,32,2,65,16,107,40,0,0,33,15,32,7,32,21,40,2,0,34,12,54,2,180,1,32,7,32,11,54,2,176,1,32,7,32,5,65,255,255,3,113,34,16,54,2,172,1,32,7,32,15,54,2,168,1,32,7,32,14,54,2,164,1,32,7,32,20,54,2,160,1,2,127,32,3,65,2,72,4,64,65,0,33,6,65,0,33,13,65,0,33,9,65,0,33,8,65,0,12,1,11,65,0,33,6,2,64,32,3,65,2,107,34,2,69,13,0,3,64,2,64,32,4,32,2,65,28,108,106,34,3,65,28,107,40,2,0,40,2,0,47,1,66,34,9,69,13,0,32,12,40,2,8,34,10,40,2,84,32,10,47,1,36,32,9,108,65,1,116,106,32,3,40,2,20,65,1,116,106,47,1,0,34,9,69,13,0,32,3,33,4,32,9,33,6,12,2,11,2,127,32,3,40,2,0,40,0,0,34,9,65,1,113,4,64,32,9,65,1,118,65,1,113,12,1,11,32,9,47,1,44,65,1,113,11,69,4,64,32,2,65,1,107,34,2,69,13,2,12,1,11,11,32,3,33,4,11,32,4,40,0,12,33,13,32,4,40,0,8,33,9,32,4,40,0,4,33,8,32,12,33,10,32,4,40,2,0,11,33,19,2,127,32,11,41,2,0,34,33,167,34,2,65,1,113,34,3,4,64,32,33,66,24,136,66,128,128,128,128,240,31,131,33,32,32,20,32,33,66,56,136,167,106,12,1,11,32,2,41,2,20,33,32,32,2,40,2,16,32,20,106,11,33,4,2,64,2,64,2,64,2,64,2,64,2,127,32,19,69,4,64,32,0,40,2,88,33,11,65,0,12,1,11,2,127,65,1,32,9,2,126,2,64,2,64,32,19,41,2,0,34,33,167,34,17,65,1,113,4,64,32,0,40,2,88,34,11,32,8,32,33,66,56,136,167,106,73,13,1,65,1,12,4,11,32,0,40,2,88,34,11,32,17,40,2,16,32,8,106,73,13,1,65,1,12,3,11,32,33,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,17,41,2,20,11,34,33,167,34,17,106,34,18,32,0,40,2,96,34,23,73,13,0,26,32,18,32,23,70,32,0,40,2,100,32,33,66,32,136,167,65,0,32,13,32,17,27,106,79,113,11,33,17,2,64,32,8,32,0,40,2,92,79,13,0,32,9,32,0,40,2,104,34,8,75,13,0,32,8,32,9,70,32,13,32,0,40,2,108,79,113,34,9,32,17,69,13,1,26,65,0,33,17,65,1,33,8,12,3,11,65,1,33,8,32,17,13,1,65,1,11,33,9,65,0,33,8,32,4,32,11,73,4,64,65,0,33,17,12,2,11,32,14,32,32,167,34,17,106,34,13,32,0,40,2,96,34,18,73,4,64,65,0,33,17,32,9,69,13,4,65,1,33,4,12,5,11,32,13,32,18,70,32,32,66,32,136,167,65,0,32,15,32,17,27,106,34,23,32,0,40,2,100,34,24,73,113,34,25,69,33,17,32,25,13,1,32,4,32,20,70,13,1,32,4,32,11,70,4,64,65,0,33,17,12,2,11,32,9,13,2,32,13,32,18,71,32,23,32,24,71,114,33,17,12,3,11,65,0,33,17,65,1,33,4,12,3,11,32,9,69,13,1,11,65,1,33,4,65,0,33,17,12,1,11,32,0,40,2,92,32,20,77,4,64,65,0,33,17,65,0,33,4,12,1,11,65,0,33,4,32,0,40,2,104,34,9,32,14,79,4,127,32,9,32,14,71,32,15,32,0,40,2,108,73,114,5,65,0,11,32,17,113,33,17,11,65,0,33,14,2,64,32,0,45,0,160,1,65,1,71,13,0,2,127,2,64,32,16,69,4,64,32,3,4,64,32,2,65,128,254,3,113,65,8,118,33,5,12,2,11,32,2,47,1,40,33,5,11,65,255,255,3,32,5,65,255,255,3,113,65,255,255,3,70,13,1,26,11,32,12,40,2,8,40,2,76,32,5,65,255,255,3,113,65,1,116,106,47,1,0,11,33,26,65,1,33,20,2,64,2,64,2,64,32,16,65,254,255,3,107,14,2,0,2,1,11,65,0,33,20,12,1,11,32,16,4,64,32,12,40,2,8,40,2,72,32,16,65,3,108,106,45,0,1,65,0,71,33,20,12,1,11,32,3,4,64,32,2,65,2,118,65,1,113,33,20,12,1,11,32,2,47,1,44,65,1,118,65,1,113,33,20,11,32,3,4,127,32,2,65,5,118,65,1,113,5,32,2,47,1,44,65,9,118,65,1,113,11,33,23,32,7,66,0,55,3,136,1,32,7,66,0,55,3,128,1,32,7,65,8,54,2,124,32,7,65,128,1,106,33,22,32,7,40,2,124,33,27,32,7,65,0,59,1,154,1,32,7,65,0,54,2,124,32,7,65,0,58,0,159,1,32,7,65,0,58,0,158,1,32,7,65,0,58,0,157,1,2,64,32,21,40,2,8,34,3,65,1,107,34,2,69,13,0,32,21,40,2,4,34,30,65,56,107,33,31,32,21,40,2,0,40,2,8,33,13,3,64,32,3,33,9,32,30,32,2,34,3,65,28,108,106,33,12,32,31,32,9,65,28,108,106,40,2,0,34,15,40,2,0,47,1,66,34,2,4,127,32,13,40,2,84,32,13,47,1,36,32,2,108,65,1,116,106,5,65,0,11,33,16,2,64,2,64,2,127,32,12,40,2,0,34,24,40,0,0,34,2,65,1,113,34,11,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,13,0,32,16,69,13,0,32,16,32,12,40,2,20,65,1,116,106,47,1,0,34,5,13,1,11,32,11,4,64,32,2,65,128,254,3,113,65,8,118,33,5,12,1,11,32,2,47,1,40,33,5,11,65,0,33,11,65,0,33,2,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,2,1,0,11,32,13,40,2,72,32,5,65,3,108,106,34,2,45,0,0,65,1,115,33,11,32,2,45,0,2,33,2,11,32,11,65,1,113,69,32,21,40,2,8,32,9,71,113,13,2,32,2,32,14,32,27,73,113,69,13,0,32,22,32,14,65,1,116,106,32,5,59,1,0,32,7,32,14,65,1,106,34,14,54,2,124,11,2,64,32,7,45,0,159,1,13,0,32,15,40,2,0,40,2,36,33,25,2,127,32,24,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,33,2,32,12,40,2,16,65,1,106,34,5,32,25,79,13,0,32,12,40,2,20,32,2,69,106,33,11,3,64,2,64,2,64,2,127,32,15,40,2,0,34,2,32,2,40,2,36,65,3,116,107,32,5,65,3,116,106,40,2,0,34,9,65,1,113,34,18,4,64,32,9,65,3,118,65,1,113,12,1,11,32,9,47,1,44,65,2,118,65,1,113,11,13,0,32,16,69,13,0,32,16,32,11,65,1,116,106,47,1,0,34,2,13,1,11,32,18,4,64,32,9,65,128,254,3,113,65,8,118,33,2,12,1,11,32,9,47,1,40,33,2,11,32,11,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,2,65,254,255,3,107,14,2,1,3,0,11,32,13,40,2,72,32,2,65,3,108,106,34,2,45,0,0,65,1,113,69,13,0,32,2,45,0,1,33,2,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,7,32,2,65,1,113,13,3,32,18,69,13,1,12,4,11,32,18,13,3,32,9,40,2,36,69,13,0,32,9,40,2,48,69,13,0,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,6,32,9,40,2,52,13,2,11,32,9,47,1,44,65,2,118,65,1,113,12,3,11,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,4,11,32,7,65,1,58,0,158,1,12,3,11,32,9,65,3,118,65,1,113,11,69,106,33,11,32,5,65,1,106,34,5,32,25,71,13,0,11,11,2,64,2,127,32,24,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,13,0,32,13,40,2,32,69,13,0,32,13,40,2,68,32,13,40,2,64,32,15,40,2,0,47,1,66,65,2,116,106,34,5,47,1,0,65,2,116,106,34,2,32,5,47,1,2,34,9,65,2,116,106,33,11,32,7,47,1,154,1,34,5,69,4,64,32,9,69,13,1,32,2,33,5,3,64,2,64,32,5,45,0,3,69,4,64,32,12,40,2,20,32,5,45,0,2,70,13,1,11,32,5,65,4,106,34,5,32,11,73,13,1,12,3,11,11,32,7,32,5,47,1,0,34,5,59,1,154,1,32,5,69,13,1,11,32,9,69,13,0,3,64,2,64,32,2,47,1,0,32,5,71,13,0,32,12,40,2,20,32,2,45,0,2,79,13,0,32,7,65,1,58,0,157,1,12,2,11,32,2,65,4,106,34,2,32,11,73,13,0,11,11,32,3,65,1,107,34,2,13,0,11,11,2,127,65,0,32,19,69,13,0,26,2,64,32,6,69,4,64,32,19,40,2,0,34,2,65,1,113,4,64,32,2,65,128,254,3,113,65,8,118,33,6,12,2,11,32,2,47,1,40,33,6,11,32,6,65,255,255,3,113,65,255,255,3,71,13,0,65,1,12,1,11,32,10,40,2,8,40,2,76,32,6,65,255,255,3,113,65,1,116,106,47,1,0,65,255,255,3,70,11,33,6,32,4,32,8,114,33,9,32,0,40,2,0,34,2,47,1,160,1,33,8,2,64,32,26,65,255,255,3,113,34,13,65,255,255,3,70,34,24,13,0,32,8,65,255,255,3,113,69,4,64,65,0,33,8,12,1,11,65,0,33,3,32,7,40,2,124,33,10,32,7,47,1,154,1,33,12,32,6,32,9,114,65,1,113,33,11,3,64,32,2,40,2,60,32,2,40,2,72,32,3,65,6,108,106,34,4,47,1,0,65,20,108,106,34,5,47,1,12,33,8,32,0,40,2,80,33,14,2,64,2,64,32,4,45,0,4,65,1,70,4,64,32,17,13,1,12,2,11,32,11,13,1,11,32,5,47,1,4,34,16,65,0,32,12,32,16,71,27,13,0,65,0,32,5,47,1,2,32,10,27,13,0,32,0,40,2,84,32,14,32,8,107,73,13,0,32,0,32,4,16,116,32,0,40,2,0,33,2,11,32,3,65,1,106,34,3,32,2,47,1,160,1,34,8,73,13,0,11,11,2,64,32,2,40,2,76,34,10,32,8,65,255,255,3,113,34,3,107,34,8,69,13,0,32,2,40,2,60,33,4,32,2,40,2,72,33,5,32,8,65,1,71,4,64,3,64,32,8,65,1,118,34,12,32,3,106,34,11,32,3,32,13,32,4,32,5,32,11,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,27,33,3,32,8,32,12,107,34,8,65,1,75,13,0,11,11,2,64,32,13,32,4,32,5,32,3,65,6,108,106,47,1,0,65,20,108,106,47,1,0,34,8,77,13,0,32,3,65,1,106,34,3,32,10,79,13,0,32,4,32,5,32,3,65,6,108,106,47,1,0,65,20,108,106,47,1,0,33,8,11,32,13,32,8,65,255,255,3,113,71,13,0,32,0,40,2,80,32,4,32,5,32,3,65,6,108,106,34,8,47,1,0,65,20,108,106,34,4,47,1,12,107,33,5,32,7,47,1,154,1,33,10,32,6,32,9,114,65,1,113,33,6,3,64,2,64,2,64,32,8,45,0,4,65,1,70,4,64,32,17,13,1,12,2,11,32,6,13,1,11,32,4,47,1,4,34,4,65,0,32,4,32,10,71,27,13,0,32,5,32,0,40,2,84,75,13,0,32,0,32,8,16,116,32,0,40,2,0,33,2,11,32,3,65,1,106,34,3,32,2,40,2,76,70,13,1,32,2,40,2,60,32,2,40,2,72,32,3,65,6,108,106,34,8,47,1,0,65,20,108,106,34,4,47,1,0,32,13,70,13,0,11,11,32,0,40,2,28,69,4,64,65,0,33,14,12,1,11,32,20,65,1,115,33,25,32,13,65,255,255,3,71,33,26,65,0,33,14,65,0,33,9,3,64,32,7,32,9,65,4,116,34,15,32,0,40,2,24,106,34,4,54,2,120,32,0,40,2,0,40,2,60,33,3,32,4,32,4,47,1,14,34,12,65,255,191,127,113,34,11,59,1,14,65,1,33,2,32,0,40,2,80,32,3,32,4,47,1,10,65,20,108,34,8,106,34,10,47,1,12,32,4,47,1,8,106,70,4,127,2,127,32,10,47,1,0,34,2,69,4,64,32,10,47,1,18,34,6,65,128,4,113,65,9,118,34,2,32,24,114,32,20,114,65,1,113,4,64,32,23,32,26,32,2,27,12,2,11,32,6,65,1,115,12,1,11,32,10,47,1,18,33,6,65,0,32,2,32,13,71,13,0,26,32,6,65,128,4,113,69,32,23,65,0,71,114,11,33,5,32,6,65,4,113,4,64,32,7,45,0,158,1,65,1,115,32,5,113,33,5,11,32,12,65,128,32,113,69,32,6,65,2,113,69,32,25,114,113,33,2,2,127,2,64,32,10,47,1,2,34,12,69,13,0,65,0,34,3,32,7,40,2,124,34,16,69,13,1,26,3,64,32,7,65,128,1,106,32,3,65,1,116,106,47,1,0,32,12,70,13,1,32,3,65,1,106,34,3,32,16,71,13,0,11,65,0,12,1,11,32,5,11,33,3,32,2,32,7,45,0,159,1,113,33,5,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,10,47,1,4,34,2,4,64,32,2,32,7,47,1,154,1,71,13,1,32,7,45,0,157,1,32,5,113,33,5,11,32,10,47,1,16,34,2,69,13,1,12,2,11,65,0,33,3,32,10,47,1,16,34,2,13,1,32,5,69,13,4,65,0,33,12,12,6,11,32,3,65,1,113,13,1,12,2,11,32,0,40,2,0,40,2,120,32,2,65,1,116,106,33,2,3,64,32,2,47,1,0,34,12,4,64,32,7,65,64,107,32,7,41,2,176,1,55,3,0,32,7,32,7,41,2,168,1,55,3,56,32,7,32,7,41,2,160,1,55,3,48,32,7,65,224,0,106,32,7,65,48,106,32,12,16,53,32,2,65,2,106,33,2,32,7,40,2,112,69,13,1,12,3,11,11,32,3,65,1,113,69,13,1,11,65,0,33,12,2,64,32,5,65,1,113,69,13,0,2,64,32,6,65,192,0,113,13,0,32,0,40,2,0,40,2,60,32,8,106,34,2,47,1,32,34,3,65,255,255,3,70,13,1,32,3,32,2,47,1,12,77,13,1,32,2,45,0,39,65,1,113,69,13,0,32,2,47,1,0,13,1,11,35,0,65,16,107,34,4,36,0,32,0,40,2,24,33,2,32,4,32,7,40,2,120,34,5,41,2,8,55,3,8,32,4,32,5,41,2,0,55,3,0,32,5,32,2,107,34,8,65,4,117,33,11,32,4,65,255,255,3,54,2,4,2,127,32,5,40,2,4,65,255,255,3,71,4,64,65,0,32,0,32,4,32,11,16,147,1,34,2,69,13,1,26,32,2,40,2,0,33,3,32,5,47,1,4,34,5,32,0,40,2,52,79,4,127,32,0,65,60,106,5,32,0,40,2,48,32,5,65,12,108,106,11,34,5,40,2,0,33,16,2,64,32,5,40,2,4,34,12,32,2,40,2,4,34,5,106,34,19,32,2,40,2,8,77,13,0,32,19,65,28,108,33,6,2,127,32,3,4,64,32,3,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,2,32,19,54,2,8,32,2,32,3,54,2,0,32,2,40,2,4,34,19,32,5,77,13,0,32,19,32,5,107,65,28,108,34,19,69,13,0,32,3,32,6,106,32,3,32,5,65,28,108,106,32,19,252,10,0,0,11,2,64,32,12,69,13,0,32,12,65,28,108,33,6,32,3,32,5,65,28,108,106,33,3,32,16,4,64,32,6,69,13,1,32,3,32,16,32,6,252,10,0,0,12,1,11,32,6,69,13,0,32,3,65,0,32,6,252,11,0,11,32,2,32,2,40,2,4,32,12,106,54,2,4,32,0,40,2,24,33,2,11,32,0,40,2,28,34,5,65,1,106,34,3,32,0,40,2,32,75,4,64,32,3,65,4,116,33,5,2,127,32,2,4,64,32,2,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,2,32,0,32,3,54,2,32,32,0,32,2,54,2,24,32,0,40,2,28,33,5,11,2,64,32,11,65,1,106,34,3,32,5,79,4,64,32,3,65,4,116,33,6,12,1,11,32,3,65,4,116,33,6,32,5,32,3,107,65,4,116,34,5,69,13,0,32,2,32,8,106,65,32,106,32,2,32,6,106,32,5,252,10,0,0,11,32,2,32,6,106,34,2,32,4,41,3,0,55,0,0,32,2,32,4,41,3,8,55,0,8,32,0,32,0,40,2,28,65,1,106,54,2,28,32,7,32,0,40,2,24,32,8,106,54,2,120,32,0,40,2,24,32,3,65,4,116,106,11,33,2,32,4,65,16,106,36,0,32,2,65,0,71,33,12,32,7,40,2,120,34,4,47,1,14,33,11,11,2,64,32,11,193,65,0,78,13,0,2,64,32,0,40,2,12,34,2,65,2,78,4,64,32,0,40,2,8,33,5,2,64,32,2,65,2,107,34,2,69,4,64,65,0,33,6,12,1,11,3,64,2,64,32,5,32,2,65,28,108,106,34,3,65,28,107,40,2,0,40,2,0,47,1,66,34,6,4,64,32,21,40,2,0,40,2,8,34,8,40,2,84,32,8,47,1,36,32,6,108,65,1,116,106,32,3,40,2,20,65,1,116,106,47,1,0,34,6,13,1,11,65,0,33,6,2,127,32,3,40,2,0,40,0,0,34,8,65,1,113,4,64,32,8,65,1,118,65,1,113,12,1,11,32,8,47,1,44,65,1,113,11,13,0,32,2,65,1,107,34,2,13,1,12,2,11,11,32,3,33,5,11,32,5,41,0,4,33,32,32,5,40,0,12,33,3,32,5,40,2,0,33,2,32,7,32,21,40,2,0,54,2,92,32,7,32,2,54,2,88,32,7,32,6,54,2,84,32,7,32,3,54,2,80,32,7,32,32,55,2,72,32,2,13,1,11,32,4,32,11,65,128,128,1,114,59,1,14,12,1,11,32,4,32,11,65,255,255,1,113,59,1,14,32,10,33,3,3,64,32,3,34,2,65,20,107,33,3,32,2,65,2,107,45,0,0,65,24,113,13,0,32,2,65,8,107,47,1,0,13,0,11,32,2,65,14,107,47,1,0,65,255,255,3,70,13,0,32,7,32,7,41,2,88,55,3,40,32,7,32,7,41,2,80,55,3,32,32,7,32,7,41,2,72,55,3,24,32,0,32,4,32,3,32,7,65,24,106,16,117,11,32,10,47,1,6,65,255,255,3,71,4,64,32,7,32,7,41,2,176,1,55,3,16,32,7,32,7,41,2,168,1,55,3,8,32,7,32,7,41,2,160,1,55,3,0,32,0,32,4,32,10,32,7,16,117,11,32,4,47,1,14,34,2,65,128,128,1,113,13,2,32,4,32,4,47,1,10,65,1,106,34,3,59,1,10,32,0,40,2,0,40,2,60,32,3,65,255,255,3,113,65,20,108,106,33,3,32,4,2,127,2,64,32,10,47,1,0,13,0,32,10,47,1,18,65,1,113,13,0,32,3,45,0,18,65,2,113,69,13,0,32,2,65,128,32,114,12,1,11,32,2,65,255,223,2,113,11,59,1,14,32,1,4,64,32,3,45,0,18,65,7,118,32,14,114,33,14,11,32,9,65,127,70,4,64,65,127,33,9,12,4,11,32,9,65,1,106,33,11,32,9,33,2,3,64,2,64,2,64,32,0,40,2,0,40,2,60,32,0,40,2,24,34,3,32,2,65,4,116,34,22,106,34,8,47,1,10,34,4,65,20,108,106,34,16,47,1,14,34,5,65,255,255,3,70,4,64,32,2,33,5,12,1,11,32,16,47,1,18,34,6,65,16,113,4,64,32,8,32,5,59,1,10,12,2,11,32,2,33,5,32,6,65,8,113,4,64,32,8,32,4,65,1,106,59,1,10,32,2,65,1,107,33,5,11,65,255,255,3,33,4,32,8,41,2,8,33,32,32,8,40,2,0,33,27,32,8,40,2,4,65,255,255,3,71,4,64,32,0,40,2,52,34,10,65,255,255,3,113,33,4,2,64,2,64,2,64,2,64,32,0,40,2,76,34,19,69,13,0,32,4,69,13,0,32,0,40,2,48,33,6,65,0,33,3,3,64,32,6,32,3,65,12,108,106,34,15,40,2,4,65,127,70,13,2,32,3,65,1,106,34,3,32,4,71,13,0,11,11,32,0,40,2,72,32,10,75,4,64,32,0,40,2,48,33,6,32,0,40,2,56,34,3,32,10,77,4,64,65,8,32,3,65,1,116,34,3,32,10,65,1,106,34,10,32,3,32,10,75,27,34,3,32,3,65,8,77,27,34,10,65,12,108,33,3,2,127,32,6,4,64,32,6,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,6,32,0,32,10,54,2,56,32,0,32,6,54,2,48,32,0,40,2,52,33,10,11,32,0,32,10,65,1,106,54,2,52,32,6,32,10,65,12,108,106,34,3,65,0,54,2,8,32,3,66,0,55,2,0,32,4,65,255,255,3,71,13,2,11,32,0,65,1,58,0,163,1,65,0,33,3,65,255,255,3,33,4,32,0,32,7,65,200,0,106,32,7,65,204,1,106,32,7,65,200,1,106,65,0,16,118,69,13,2,32,7,40,2,72,34,6,32,2,70,13,2,32,0,40,2,24,32,6,65,4,116,106,34,3,40,2,4,33,4,32,3,65,255,255,3,54,2,4,32,3,32,3,47,1,14,65,128,128,1,114,59,1,14,32,0,40,2,48,32,4,65,255,255,3,113,65,12,108,106,34,3,65,0,54,2,4,12,2,11,32,15,65,0,54,2,4,32,0,32,19,65,1,107,54,2,76,32,3,65,255,255,3,113,33,4,11,32,6,32,4,65,12,108,106,33,3,11,32,3,69,13,1,32,28,33,6,32,8,47,1,4,34,10,32,0,40,2,52,73,4,64,32,0,40,2,48,32,10,65,12,108,106,33,6,11,32,3,40,2,0,33,8,32,6,40,2,0,33,15,2,64,32,6,40,2,4,34,19,32,3,40,2,4,34,6,106,34,18,32,3,40,2,8,77,13,0,32,18,65,28,108,33,10,2,127,32,8,4,64,32,8,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,8,32,3,32,18,54,2,8,32,3,32,8,54,2,0,32,3,40,2,4,34,18,32,6,77,13,0,32,18,32,6,107,65,28,108,34,18,69,13,0,32,8,32,10,106,32,8,32,6,65,28,108,106,32,18,252,10,0,0,11,2,64,32,19,69,13,0,32,19,65,28,108,33,10,32,8,32,6,65,28,108,106,33,6,32,15,4,64,32,10,69,13,1,32,6,32,15,32,10,252,10,0,0,12,1,11,32,10,69,13,0,32,6,65,0,32,10,252,11,0,11,32,3,32,3,40,2,4,32,19,106,54,2,4,32,0,40,2,24,33,3,11,32,0,40,2,28,34,8,65,1,106,34,6,32,0,40,2,32,75,4,64,32,6,65,4,116,33,10,2,127,32,3,4,64,32,3,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,32,32,0,32,3,54,2,24,32,0,40,2,28,33,8,11,2,64,32,2,65,1,106,34,2,32,8,79,4,64,32,2,65,4,116,33,6,12,1,11,32,2,65,4,116,33,6,32,8,32,2,107,65,4,116,34,10,69,13,0,32,3,32,22,106,65,32,106,32,3,32,6,106,32,10,252,10,0,0,11,32,3,32,6,106,34,3,32,32,55,0,8,32,3,32,4,54,0,4,32,3,32,27,54,0,0,32,0,32,0,40,2,28,65,1,106,54,2,28,32,0,40,2,24,34,4,69,13,0,32,4,32,2,65,4,116,106,34,2,32,16,47,1,14,59,1,10,32,12,65,1,106,33,12,32,11,65,1,106,33,11,32,16,45,0,18,65,32,113,69,13,0,32,2,32,2,47,1,14,65,128,32,114,59,1,14,11,32,5,65,1,106,33,2,11,32,2,32,11,73,13,0,11,12,3,11,32,5,65,1,113,69,13,0,65,0,33,12,12,2,11,65,0,33,12,32,4,47,1,4,34,2,32,0,40,2,52,79,13,0,32,0,40,2,48,32,2,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,40,2,28,32,9,65,127,115,106,65,4,116,34,2,4,64,32,0,40,2,24,32,15,106,34,4,32,4,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,32,9,65,1,107,33,9,11,32,12,65,1,106,5,65,1,11,32,9,106,34,9,32,0,40,2,28,34,10,73,13,0,11,65,0,33,5,32,10,69,13,0,3,64,2,64,32,5,65,4,116,34,23,32,0,40,2,24,106,34,6,45,0,15,65,192,0,113,69,4,64,2,64,2,64,32,5,34,20,65,1,106,34,13,32,10,79,13,0,3,64,32,0,40,2,24,34,24,32,13,65,4,116,106,34,8,47,1,8,32,6,47,1,8,71,13,1,32,8,47,1,12,32,6,47,1,12,71,13,1,32,28,33,9,32,0,40,2,52,34,2,32,6,47,1,4,34,4,75,4,64,32,0,40,2,48,32,4,65,12,108,106,33,9,11,32,28,33,4,32,2,32,8,47,1,4,34,16,77,34,25,69,4,64,32,0,40,2,48,32,16,65,12,108,106,33,4,11,65,1,33,12,32,7,65,1,58,0,204,1,32,7,65,1,58,0,72,32,4,40,2,4,33,19,65,0,33,3,2,64,2,64,2,64,2,64,32,9,40,2,4,34,26,4,64,65,1,33,11,65,0,33,2,3,64,2,64,2,64,32,3,32,19,73,4,64,2,64,2,64,32,9,40,2,0,32,2,65,28,108,106,34,15,40,2,16,34,22,32,4,40,2,0,32,3,65,28,108,106,34,18,40,2,16,34,27,70,4,64,32,15,40,2,24,32,18,40,2,24,71,13,1,32,3,65,1,106,33,3,32,2,65,1,106,33,2,12,5,11,32,15,40,0,0,34,15,32,18,40,0,0,34,18,73,13,3,32,15,32,18,77,4,64,2,127,32,22,41,2,0,34,32,167,34,22,65,1,113,4,64,32,32,66,56,136,167,12,1,11,32,22,40,2,16,11,32,15,106,33,15,32,15,2,127,32,27,41,2,0,34,32,167,34,22,65,1,113,4,64,32,32,66,56,136,167,12,1,11,32,22,40,2,16,11,32,18,106,34,18,75,13,4,32,15,32,18,79,13,1,11,12,1,11,32,2,65,1,106,33,2,65,0,33,11,11,32,3,65,1,106,33,3,65,0,33,12,12,2,11,32,7,32,11,58,0,204,1,32,7,32,12,58,0,72,32,7,65,204,1,106,33,2,12,4,11,32,2,65,1,106,33,2,65,0,33,11,11,32,2,32,26,73,13,0,11,32,7,32,11,58,0,204,1,32,7,32,12,58,0,72,11,32,7,65,200,0,106,33,2,32,3,32,19,73,13,0,32,12,65,1,113,13,1,12,2,11,32,2,65,0,58,0,0,32,7,45,0,72,65,1,113,69,13,1,11,32,6,47,1,10,32,8,47,1,10,70,4,64,32,25,69,4,64,32,0,40,2,48,32,16,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,10,32,20,107,65,4,116,65,32,107,34,2,4,64,32,8,32,24,32,20,65,4,116,106,65,32,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,12,2,11,32,8,32,8,47,1,14,65,128,192,0,114,59,1,14,11,32,7,45,0,204,1,65,1,70,4,64,32,6,47,1,10,32,8,47,1,10,70,4,64,32,6,47,1,4,34,2,32,0,40,2,52,73,4,64,32,0,40,2,48,32,2,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,40,2,28,32,5,65,127,115,106,65,4,116,34,2,4,64,32,0,40,2,24,32,23,106,34,4,32,4,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,32,5,65,1,107,33,5,12,5,11,32,6,32,6,47,1,14,65,128,192,0,114,59,1,14,11,32,13,33,20,11,32,20,65,1,106,34,13,32,0,40,2,28,34,10,73,13,0,11,11,32,0,40,2,0,40,2,60,32,6,47,1,10,65,20,108,106,47,1,12,65,255,255,3,71,13,0,32,6,45,0,15,65,32,113,13,0,32,0,40,2,36,33,2,32,0,32,0,40,2,40,34,8,65,1,106,34,4,32,0,40,2,44,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,4,32,3,32,4,75,27,34,4,32,4,65,8,77,27,34,3,65,4,116,33,4,2,127,32,2,4,64,32,2,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,2,32,0,32,3,54,2,44,32,0,32,2,54,2,36,32,0,40,2,40,34,8,65,1,106,5,32,4,11,54,2,40,32,2,32,8,65,4,116,106,34,2,32,6,41,2,0,55,2,0,32,2,32,6,41,2,8,55,2,8,32,0,40,2,28,32,6,32,0,40,2,24,107,65,127,115,65,4,118,106,65,4,116,34,2,4,64,32,6,32,6,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,32,5,65,1,107,33,5,65,1,33,14,11,32,5,65,1,106,33,5,12,1,11,32,10,32,5,65,127,115,106,65,4,116,34,2,4,64,32,6,32,6,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,11,32,5,32,10,73,13,0,11,11,2,64,2,64,2,64,2,64,32,17,4,64,32,0,40,2,80,32,0,40,2,84,73,13,1,11,32,0,40,2,28,34,4,4,64,32,0,40,2,24,33,3,32,0,40,2,0,40,2,60,33,5,65,0,33,2,3,64,32,5,32,3,32,2,65,4,116,106,34,6,47,1,10,65,20,108,106,47,1,12,34,9,65,255,255,3,71,4,64,32,0,40,2,80,32,6,47,1,8,32,9,106,73,13,3,11,32,2,65,1,106,34,2,32,4,71,13,0,11,11,32,0,40,2,80,32,0,40,2,84,79,13,1,32,0,45,0,160,1,13,1,32,0,40,2,8,32,0,40,2,12,65,28,108,106,65,28,107,40,2,0,40,2,0,34,2,65,1,113,13,0,32,2,47,1,44,34,4,65,2,113,13,0,32,4,65,1,113,13,0,32,2,40,2,36,69,13,0,2,64,2,64,2,64,32,0,40,2,0,34,4,40,2,148,1,34,3,14,2,4,0,1,11,32,2,47,1,40,33,9,32,4,40,2,144,1,33,4,65,0,33,2,12,1,11,32,2,47,1,40,33,9,32,4,40,2,144,1,33,4,65,0,33,2,3,64,32,2,32,3,65,1,118,34,5,32,2,106,34,2,32,4,32,2,65,1,116,106,47,1,0,32,9,65,255,255,3,113,75,27,33,2,32,3,32,5,107,34,3,65,1,75,13,0,11,11,32,4,32,2,65,1,116,106,47,1,0,32,9,65,255,255,3,113,71,13,1,11,65,0,33,2,32,21,16,119,65,1,107,14,2,2,1,0,11,32,0,65,1,58,0,161,1,12,5,11,65,1,33,2,32,0,32,0,40,2,80,65,1,106,54,2,80,11,32,0,32,2,58,0,160,1,12,3,11,32,0,40,2,28,32,8,107,11,54,2,28,11,2,64,2,64,2,64,32,21,35,2,65,11,106,16,121,65,1,107,14,2,1,0,2,11,32,0,45,0,160,1,69,4,64,32,0,65,1,58,0,160,1,32,0,32,0,40,2,80,65,1,106,54,2,80,11,32,0,65,0,58,0,161,1,12,2,11,32,0,45,0,160,1,65,1,70,4,64,32,0,65,0,58,0,160,1,32,0,32,0,40,2,80,65,1,107,54,2,80,11,32,0,65,0,58,0,161,1,12,1,11,32,0,40,2,12,34,4,65,1,107,34,2,4,64,2,64,32,4,65,2,107,34,3,4,64,32,0,40,2,8,33,6,3,64,32,2,33,4,2,64,2,127,32,6,32,3,34,2,65,28,108,106,34,5,40,2,0,40,0,0,34,3,65,1,113,4,64,32,3,65,2,113,13,5,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,34,3,65,1,113,13,4,32,3,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,21,40,2,0,40,2,8,34,9,40,2,84,32,9,47,1,36,32,3,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,3,11,32,2,65,1,107,34,3,13,0,11,11,65,1,33,4,11,32,0,32,4,54,2,12,32,0,32,0,40,2,80,65,1,107,54,2,80,5,32,0,65,1,58,0,162,1,11,12,0,11,0,11,243,2,1,9,127,32,0,40,2,80,32,0,40,2,0,40,2,60,32,1,47,1,0,34,9,65,20,108,106,47,1,12,34,6,107,33,7,2,64,2,64,2,64,32,0,40,2,28,34,2,69,4,64,32,0,40,2,24,33,4,12,1,11,32,0,40,2,24,33,4,32,2,33,3,3,64,32,7,32,4,32,3,65,4,116,106,34,5,65,8,107,47,1,0,34,8,75,13,2,32,7,32,8,70,4,64,32,5,65,4,107,47,1,0,34,8,32,1,47,1,2,34,10,70,4,64,32,5,65,6,107,47,1,0,32,9,70,13,5,11,32,8,32,10,77,13,3,11,32,3,65,1,107,34,3,13,0,11,11,65,0,33,3,11,32,1,47,1,2,33,5,32,2,65,1,106,34,1,32,0,40,2,32,75,4,64,32,1,65,4,116,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,1,54,2,32,32,0,32,4,54,2,24,32,0,40,2,28,33,2,11,65,128,160,126,65,128,32,32,6,65,1,70,27,33,6,32,3,65,4,116,33,1,2,64,32,2,32,3,77,13,0,32,2,32,3,107,65,4,116,34,3,69,13,0,32,1,32,4,106,34,2,65,16,106,32,2,32,3,252,10,0,0,11,32,1,32,4,106,34,1,32,6,59,0,14,32,1,32,5,59,0,12,32,1,32,9,59,0,10,32,1,32,7,59,0,8,32,1,66,255,255,255,255,255,255,63,55,0,0,32,0,32,0,40,2,28,65,1,106,54,2,28,11,11,254,4,2,4,127,2,126,2,64,2,64,32,1,45,0,15,65,192,0,113,13,0,32,0,32,1,65,127,16,147,1,34,0,69,13,1,32,2,47,1,6,34,6,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,5,65,1,106,34,4,32,0,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,1,4,64,32,1,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,1,32,0,32,5,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,4,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,5,65,28,108,106,34,1,32,3,41,2,0,55,2,0,32,1,32,6,54,2,24,32,1,32,9,55,2,16,32,1,32,8,55,2,8,32,2,47,1,8,34,6,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,5,65,1,106,34,4,32,0,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,1,4,64,32,1,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,1,32,0,32,5,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,4,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,5,65,28,108,106,34,1,32,3,41,2,0,55,2,0,32,1,32,6,54,2,24,32,1,32,9,55,2,16,32,1,32,8,55,2,8,32,2,47,1,10,34,5,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,4,65,1,106,34,2,32,0,40,2,8,34,6,75,4,127,65,8,32,6,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,34,4,65,28,108,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,0,32,4,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,4,65,1,106,5,32,2,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,4,65,28,108,106,34,0,32,3,41,2,0,55,2,0,32,0,32,5,54,2,24,32,0,32,9,55,2,16,32,0,32,8,55,2,8,11,15,11,32,1,32,1,47,1,14,65,128,128,1,114,59,1,14,11,208,3,2,10,127,1,126,32,1,65,127,54,2,0,32,2,65,127,54,2,0,32,3,65,127,54,2,0,2,64,32,0,40,2,28,69,4,64,12,1,11,32,0,65,60,106,33,12,3,64,2,64,32,0,40,2,24,32,8,65,4,116,106,34,9,47,1,14,34,7,65,128,128,1,113,13,0,32,12,33,6,32,9,47,1,4,34,5,32,0,40,2,52,73,4,64,32,0,40,2,48,32,5,65,12,108,106,33,6,11,32,7,65,255,31,113,34,5,32,6,40,2,4,79,13,0,32,6,40,2,0,32,5,65,28,108,106,34,5,40,2,8,33,13,32,5,40,2,4,33,11,32,5,40,2,0,33,6,2,64,2,64,32,11,2,126,32,5,40,2,16,41,2,0,34,15,167,34,5,65,1,113,4,64,32,0,40,2,88,32,6,32,15,66,56,136,167,106,79,13,2,32,15,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,0,40,2,88,32,5,40,2,16,32,6,106,79,13,1,32,5,41,2,20,11,34,15,167,34,5,106,34,11,32,0,40,2,96,34,14,73,13,0,32,11,32,14,71,13,1,32,0,40,2,100,32,15,66,32,136,167,65,0,32,13,32,5,27,106,73,13,1,11,32,9,32,7,65,1,106,65,255,31,113,32,7,65,128,224,2,113,114,59,1,14,32,8,65,1,107,33,8,12,1,11,2,64,2,64,32,10,69,13,0,32,6,32,2,40,2,0,34,7,73,13,0,32,6,32,7,71,13,1,32,3,40,2,0,32,9,47,1,12,77,13,1,11,32,0,40,2,0,40,2,60,32,9,47,1,10,65,20,108,106,47,1,18,33,7,2,64,32,4,4,64,32,4,32,7,65,130,1,113,65,128,1,70,58,0,0,12,1,11,32,7,65,128,1,113,13,2,11,32,1,32,8,54,2,0,32,2,32,6,54,2,0,32,3,32,9,47,1,12,54,2,0,11,65,1,33,10,11,32,8,65,1,106,34,8,32,0,40,2,28,73,13,0,11,11,32,10,11,243,5,2,11,127,1,126,35,0,65,208,0,107,34,2,36,0,2,64,2,64,32,0,40,2,4,34,5,32,0,40,2,8,34,3,65,28,108,106,34,8,65,28,107,40,2,0,34,9,40,0,0,34,6,65,1,113,69,4,64,32,6,40,2,36,13,1,11,32,2,66,0,55,3,8,32,0,40,2,0,33,1,32,2,66,0,55,2,28,32,2,66,0,55,2,36,32,2,65,0,54,2,44,32,2,66,0,55,2,20,32,2,32,1,54,2,16,12,1,11,32,0,40,2,0,34,10,40,2,8,33,4,32,6,47,1,66,34,1,4,127,32,4,40,2,84,32,4,47,1,36,32,1,108,65,1,116,106,5,65,0,11,33,11,32,8,65,4,107,40,2,0,33,1,2,64,2,64,32,3,65,1,107,34,7,69,13,0,32,6,47,1,44,34,6,65,1,113,13,0,32,6,65,4,113,13,1,32,5,32,7,65,28,108,106,34,6,65,28,107,40,2,0,40,2,0,47,1,66,34,7,69,13,1,32,1,32,4,40,2,84,32,4,47,1,36,32,7,108,65,1,116,106,32,6,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,1,12,1,11,32,1,65,1,106,33,1,11,32,9,41,2,0,33,12,32,2,32,10,54,2,16,32,2,32,12,55,3,8,32,2,32,8,65,24,107,34,4,40,2,8,54,2,28,32,2,32,4,41,2,0,55,2,20,32,2,32,11,54,2,44,32,2,32,1,54,2,40,32,2,66,0,55,3,32,11,65,0,33,4,2,64,32,2,65,8,106,32,2,65,48,106,32,2,65,207,0,106,16,120,69,13,0,2,64,3,64,32,2,45,0,79,65,1,70,4,64,32,0,32,3,65,1,106,34,1,32,0,40,2,12,34,4,75,4,127,65,8,32,4,65,1,116,34,3,32,1,32,1,32,3,73,27,34,1,32,1,65,8,77,27,34,3,65,28,108,33,1,2,127,32,5,4,64,32,5,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,12,32,0,32,5,54,2,4,32,0,40,2,8,34,3,65,1,106,5,32,1,11,54,2,8,65,2,33,4,12,2,11,2,64,2,64,32,2,40,2,48,40,0,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,48,13,1,11,32,2,65,8,106,32,2,65,48,106,32,2,65,207,0,106,16,120,13,1,12,3,11,11,65,1,33,4,32,0,32,3,65,1,106,34,1,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,3,32,1,32,1,32,3,73,27,34,1,32,1,65,8,77,27,34,3,65,28,108,33,1,2,127,32,5,4,64,32,5,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,12,32,0,32,5,54,2,4,32,0,40,2,8,34,3,65,1,106,5,32,1,11,54,2,8,11,32,5,32,3,65,28,108,106,34,1,32,2,41,2,48,55,2,0,32,1,32,2,40,2,72,54,2,24,32,1,32,2,65,64,107,41,2,0,55,2,16,32,1,32,2,41,2,56,55,2,8,11,32,2,65,208,0,106,36,0,32,4,11,241,4,2,6,127,1,126,35,0,65,16,107,33,4,2,64,32,0,40,2,0,34,3,69,13,0,32,0,40,2,24,34,6,32,3,40,2,36,34,7,70,13,0,32,4,32,0,40,2,20,54,2,8,32,4,32,0,41,2,12,55,3,0,32,0,41,2,28,33,9,32,1,32,6,65,3,116,65,0,32,3,32,7,65,3,116,107,32,3,65,1,113,27,106,34,5,54,2,0,32,1,32,4,41,3,0,55,2,4,32,1,32,4,40,2,8,54,2,12,32,1,32,9,55,2,20,32,1,32,6,54,2,16,32,2,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,34,4,58,0,0,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,0,40,2,28,33,1,32,0,40,2,36,34,3,4,64,32,2,32,3,32,1,65,1,116,106,47,1,0,32,4,114,65,0,71,34,4,58,0,0,11,32,0,32,1,65,1,106,54,2,28,32,5,40,0,0,33,1,11,65,0,33,3,2,64,32,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,56,33,3,11,32,0,32,0,40,2,32,32,3,106,32,4,106,54,2,32,32,0,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,0,65,20,106,33,6,32,0,65,16,106,33,7,32,0,40,0,20,33,8,32,0,40,0,16,33,3,32,5,45,0,7,34,2,32,0,40,0,12,106,12,1,11,65,0,32,0,40,0,20,32,1,40,2,20,34,2,27,33,8,32,0,65,20,106,33,6,32,0,65,16,106,33,7,32,0,40,0,16,32,2,106,33,3,32,1,40,2,24,33,2,32,0,40,0,12,32,1,40,2,16,106,11,34,4,54,2,12,65,1,33,5,32,0,32,0,40,2,24,65,1,106,34,1,54,2,24,32,0,32,3,173,32,2,32,8,106,173,66,32,134,132,55,2,16,32,1,32,0,40,2,0,34,2,40,2,36,34,8,79,13,0,32,6,40,0,0,33,6,32,0,2,127,32,2,32,8,65,3,116,107,32,1,65,3,116,106,41,2,0,34,9,167,34,1,65,1,113,4,64,32,9,66,32,136,167,65,255,1,113,33,2,32,9,66,40,136,167,65,15,113,33,0,32,9,66,48,136,167,65,255,1,113,12,1,11,32,1,40,2,12,33,2,32,1,40,2,8,33,0,32,1,40,2,4,11,32,4,106,54,2,12,32,7,32,0,32,3,106,173,65,0,32,6,32,0,27,32,2,106,173,66,32,134,132,55,2,0,11,32,5,11,170,6,2,7,127,1,126,35,0,65,208,0,107,34,3,36,0,2,64,2,64,32,0,40,2,8,34,4,65,2,73,13,0,32,3,65,52,106,33,5,32,3,65,20,106,33,6,32,4,33,2,3,64,32,0,32,2,65,1,107,34,2,54,2,8,32,3,32,0,40,2,4,32,2,65,28,108,106,34,2,40,2,24,54,2,72,32,3,65,64,107,32,2,41,2,16,55,3,0,32,3,32,2,41,2,8,55,3,56,32,3,32,2,41,2,0,55,3,48,2,64,2,64,32,2,65,28,107,40,2,0,34,7,40,0,0,34,2,65,1,113,69,4,64,32,2,40,2,36,13,1,11,32,3,66,0,55,3,8,32,0,40,2,0,33,2,32,3,65,0,54,2,44,32,3,32,2,54,2,16,12,1,11,32,0,40,2,0,33,8,32,7,41,2,0,33,9,32,3,32,2,47,1,66,34,2,4,127,32,8,40,2,8,34,7,40,2,84,32,7,47,1,36,32,2,108,65,1,116,106,5,65,0,11,54,2,44,32,3,32,8,54,2,16,32,3,32,9,55,3,8,11,32,3,32,3,41,3,64,55,3,32,32,6,32,5,40,2,8,54,2,8,32,6,32,5,41,2,0,55,2,0,32,3,32,3,40,2,72,54,2,40,32,3,65,0,58,0,7,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,26,32,3,45,0,7,65,1,70,4,64,32,0,40,2,8,65,1,106,32,4,73,13,2,11,2,64,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,69,13,0,2,127,3,64,32,3,45,0,7,65,1,70,4,64,32,0,40,2,4,33,2,32,0,32,0,40,2,8,34,4,65,1,106,34,1,32,0,40,2,12,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,1,32,1,32,4,73,27,34,1,32,1,65,8,77,27,34,4,65,28,108,33,1,2,127,32,2,4,64,32,2,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,2,32,0,32,4,54,2,12,32,0,32,2,54,2,4,32,0,40,2,8,34,4,65,1,106,5,32,1,11,54,2,8,65,2,33,1,32,2,32,4,65,28,108,106,12,2,11,2,64,2,64,32,3,40,2,48,40,0,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,13,1,11,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,69,13,3,12,1,11,11,65,1,33,1,32,0,40,2,4,33,2,32,0,32,0,40,2,8,34,5,65,1,106,34,4,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,2,4,64,32,2,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,12,32,0,32,2,54,2,4,32,0,40,2,8,34,5,65,1,106,5,32,4,11,54,2,8,32,2,32,5,65,28,108,106,11,34,2,32,3,41,3,48,55,2,0,32,2,32,3,40,2,72,54,2,24,32,2,32,3,65,64,107,41,3,0,55,2,16,32,2,32,3,41,3,56,55,2,8,12,3,11,32,0,40,2,8,34,2,65,2,79,13,0,11,11,32,0,32,4,54,2,8,65,0,33,1,11,32,3,65,208,0,106,36,0,32,1,11,189,7,2,17,127,1,126,35,0,65,16,107,34,7,36,0,32,0,65,60,106,33,11,2,127,3,64,32,7,65,0,58,0,3,32,0,32,7,65,4,106,32,7,65,12,106,32,7,65,8,106,32,7,65,3,106,16,118,33,18,2,64,2,64,32,0,40,2,40,34,12,4,64,65,0,33,3,32,7,40,2,12,33,15,32,7,40,2,8,33,17,65,0,33,8,3,64,2,64,2,64,2,64,2,64,32,0,40,2,36,34,9,32,8,65,4,116,34,13,106,34,4,47,1,4,34,5,32,0,40,2,52,73,4,64,32,4,47,1,14,34,16,65,255,31,113,34,6,32,0,40,2,48,34,14,32,5,65,12,108,34,10,106,34,5,40,2,4,79,13,1,32,4,65,14,106,33,13,12,3,11,32,4,47,1,14,34,16,65,255,31,113,34,6,32,0,40,2,64,79,13,1,32,4,65,14,106,33,13,32,11,33,5,12,2,11,32,10,32,14,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,12,32,8,65,127,115,106,65,4,116,34,4,4,64,32,9,32,13,106,34,5,32,5,65,16,106,32,4,252,10,0,0,11,32,0,32,0,40,2,40,65,1,107,34,12,54,2,40,12,1,11,32,5,40,2,0,32,6,65,28,108,106,34,6,40,2,8,33,14,32,6,40,2,4,33,9,32,6,40,2,0,33,5,2,127,65,1,32,9,2,126,2,64,2,64,32,6,40,2,16,41,2,0,34,20,167,34,6,65,1,113,4,64,32,0,40,2,88,32,5,32,20,66,56,136,167,106,73,13,1,65,1,12,4,11,32,0,40,2,88,32,6,40,2,16,32,5,106,73,13,1,65,1,12,3,11,32,20,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,6,41,2,20,11,34,20,167,34,6,106,34,10,32,0,40,2,96,34,19,73,13,0,26,32,10,32,19,70,32,0,40,2,100,32,20,66,32,136,167,65,0,32,14,32,6,27,106,79,113,11,33,6,2,64,2,64,32,5,32,0,40,2,92,79,13,0,32,9,32,0,40,2,104,34,10,75,13,0,32,6,32,9,32,10,70,32,14,32,0,40,2,108,79,113,114,65,1,71,13,1,11,32,13,32,16,65,1,106,65,255,31,113,32,16,65,128,224,3,113,114,59,1,0,32,0,40,2,40,33,12,12,1,11,2,64,2,127,32,5,32,15,73,4,64,32,4,47,1,12,12,1,11,32,5,32,15,71,13,1,32,17,32,4,47,1,12,34,6,77,13,1,32,6,11,33,17,32,5,33,15,32,4,33,3,11,32,8,65,1,106,33,8,11,32,8,32,12,73,13,0,11,32,3,13,1,11,32,7,45,0,3,65,1,71,13,1,32,0,40,2,24,34,3,69,13,1,32,3,32,7,40,2,4,65,4,116,106,33,3,11,32,3,40,2,0,34,8,65,127,70,4,64,32,0,32,0,40,2,112,34,8,65,1,106,54,2,112,32,3,32,8,54,2,0,11,32,1,32,8,54,2,0,32,1,32,3,47,1,12,59,1,4,32,3,47,1,4,34,4,32,0,40,2,52,73,4,64,32,0,40,2,48,32,4,65,12,108,106,33,11,11,32,1,32,11,40,2,0,54,2,8,32,1,32,11,40,2,4,59,1,6,32,2,32,3,47,1,14,65,255,31,113,54,2,0,32,3,32,3,47,1,14,34,1,65,1,106,65,255,31,113,32,1,65,128,224,3,113,114,59,1,14,65,1,12,2,11,2,64,32,0,40,2,76,13,0,32,0,40,2,52,34,3,32,0,40,2,72,79,32,18,113,69,13,0,32,3,32,0,40,2,24,32,7,40,2,4,34,4,65,4,116,106,34,3,47,1,4,34,5,75,4,64,32,0,40,2,48,32,5,65,12,108,106,65,127,54,2,4,32,0,65,1,54,2,76,11,32,0,40,2,28,32,4,65,127,115,106,65,4,116,34,4,4,64,32,3,32,3,65,16,106,32,4,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,11,32,0,65,1,16,115,13,0,32,0,40,2,40,13,0,11,65,0,11,33,0,32,7,65,16,106,36,0,32,0,11,18,0,65,3,65,0,32,1,40,2,16,32,0,40,2,0,70,27,11,24,0,32,1,40,2,16,69,4,64,65,0,15,11,65,3,65,1,32,1,45,0,20,27,11,74,1,1,127,32,1,40,2,8,69,4,64,65,0,15,11,32,0,45,0,0,4,64,65,1,15,11,65,1,33,2,2,64,32,1,40,2,4,40,0,0,34,1,65,1,113,13,0,32,1,47,1,40,65,255,255,3,71,13,0,32,0,65,1,58,0,0,65,3,33,2,11,32,2,11,16,0,65,0,65,2,32,1,40,2,0,47,1,144,1,27,11,138,4,2,6,127,1,126,32,1,65,0,54,2,4,2,64,32,0,40,2,4,34,2,69,13,0,3,64,2,127,32,0,40,2,0,32,2,65,3,116,106,34,4,65,8,107,40,2,0,34,6,65,1,113,4,64,32,6,65,3,118,65,1,113,12,1,11,32,6,47,1,44,65,2,118,65,1,113,11,4,64,32,4,65,4,107,40,2,0,33,5,32,0,32,2,65,1,107,54,2,4,32,1,40,2,0,33,2,32,1,32,1,40,2,4,34,4,65,1,106,34,3,32,1,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,4,32,3,32,3,32,4,73,27,34,3,32,3,65,8,77,27,34,4,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,4,54,2,8,32,1,32,2,54,2,0,32,1,40,2,4,34,4,65,1,106,5,32,3,11,54,2,4,32,2,32,4,65,3,116,106,34,2,32,5,54,2,4,32,2,32,6,54,2,0,32,0,40,2,4,34,2,13,1,11,11,32,1,40,2,4,34,0,65,2,73,13,0,65,0,33,2,32,0,65,1,118,34,3,65,1,71,4,64,32,3,65,254,255,255,255,7,113,33,6,65,0,33,3,3,64,32,1,40,2,0,34,4,32,2,65,3,116,34,5,106,34,7,41,2,0,33,8,32,7,32,4,32,1,40,2,4,32,2,65,127,115,106,65,3,116,34,7,106,41,2,0,55,2,0,32,1,40,2,0,32,7,106,32,8,55,2,0,32,1,40,2,0,34,4,32,5,106,34,5,65,8,106,41,2,0,33,8,32,5,32,4,32,1,40,2,4,32,2,65,254,255,255,255,1,115,106,65,3,116,34,5,106,41,2,0,55,2,8,32,1,40,2,0,32,5,106,32,8,55,2,0,32,2,65,2,106,33,2,32,3,65,2,106,34,3,32,6,71,13,0,11,11,32,0,65,2,113,69,13,0,32,1,40,2,0,34,0,32,2,65,3,116,106,34,3,41,2,0,33,8,32,3,32,0,32,1,40,2,4,32,2,65,127,115,106,65,3,116,34,2,106,41,2,0,55,2,0,32,1,40,2,0,32,2,106,32,8,55,2,0,11,11,144,14,1,15,127,32,0,40,2,0,34,2,65,0,54,2,48,32,2,66,0,55,2,52,32,2,65,0,59,1,64,32,2,65,0,54,2,32,32,2,65,0,54,2,60,32,2,32,2,47,1,44,65,191,252,3,113,59,1,44,32,2,47,1,66,34,5,4,64,32,1,40,2,84,32,1,47,1,36,32,5,108,65,1,116,106,33,11,11,32,2,32,2,40,2,36,34,5,65,3,116,107,33,12,2,64,32,5,69,4,64,12,1,11,65,0,32,12,32,2,65,1,113,27,33,15,3,64,32,15,32,9,65,3,116,106,34,3,47,1,6,33,5,32,3,47,1,4,33,6,32,3,40,2,0,33,4,32,13,2,127,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,64,2,127,32,2,2,127,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,127,2,64,2,64,32,2,40,2,20,34,16,69,4,64,32,4,65,1,113,13,2,32,4,45,0,45,65,1,113,69,13,1,32,2,32,2,47,1,44,65,128,2,114,59,1,44,12,1,11,32,4,65,1,113,13,1,11,32,4,45,0,44,65,128,1,113,4,64,32,2,32,2,47,1,44,65,128,1,114,59,1,44,11,32,4,40,2,12,33,5,32,4,40,2,8,33,7,32,4,40,2,4,33,3,32,9,69,13,3,65,0,32,5,32,4,40,2,20,34,10,27,33,14,32,4,40,2,16,32,3,106,33,5,32,7,32,10,106,33,3,32,4,40,2,24,33,7,65,0,12,1,11,32,5,65,255,1,113,33,7,32,9,69,4,64,32,2,65,0,54,2,20,32,2,32,7,54,2,4,32,2,32,6,65,255,1,113,54,2,12,32,2,32,5,65,8,118,34,3,54,2,24,32,2,32,3,54,2,16,32,2,32,6,65,8,118,65,15,113,54,2,8,32,3,32,7,106,33,5,12,2,11,32,6,65,255,1,113,33,14,32,6,65,8,118,65,15,113,33,3,32,7,32,5,65,8,118,34,7,106,33,5,65,1,11,33,10,32,2,32,2,40,0,16,32,5,106,34,5,54,2,16,32,2,32,3,32,16,106,173,32,7,32,14,106,65,0,32,2,40,0,24,32,3,27,106,173,66,32,134,132,55,2,20,32,5,32,2,40,2,4,106,34,5,32,10,69,13,2,26,11,32,2,32,2,40,2,32,32,4,65,26,116,65,31,117,65,226,4,113,106,34,3,54,2,32,32,5,32,6,65,128,224,3,113,65,12,118,106,34,5,32,8,32,5,32,8,75,27,33,8,32,4,65,8,113,33,6,32,2,47,1,40,65,254,255,3,73,13,3,32,6,13,3,32,4,65,2,113,13,2,32,2,40,2,56,33,3,12,4,11,32,2,32,5,54,2,12,32,2,32,7,54,2,8,32,2,32,3,54,2,4,32,4,40,2,16,33,5,32,2,32,4,41,2,20,55,2,20,32,2,32,5,54,2,16,32,3,32,5,106,11,33,5,32,4,40,2,28,33,6,32,4,47,1,40,34,7,65,254,255,3,71,4,64,65,226,4,33,3,32,2,32,4,45,0,45,65,2,113,4,127,65,226,4,5,32,4,40,2,32,11,32,2,40,2,32,106,54,2,32,11,32,5,32,6,106,33,6,2,64,2,127,32,4,40,2,36,34,5,32,2,47,1,40,65,254,255,3,73,13,0,26,32,5,34,3,32,4,47,1,44,34,10,65,4,113,13,0,26,2,64,2,64,32,3,69,32,7,65,255,255,3,70,113,13,0,32,10,65,1,113,13,1,32,3,69,13,0,32,2,32,2,40,2,32,32,4,40,2,48,65,228,0,108,106,54,2,32,32,4,65,36,106,33,7,12,7,11,32,4,65,36,106,33,7,65,0,33,5,12,2,11,32,2,32,2,40,2,32,65,228,0,106,54,2,32,32,4,40,2,36,11,33,3,32,4,65,36,106,33,7,32,3,13,4,11,65,0,12,4,11,32,2,32,3,65,228,0,106,54,2,32,11,32,2,40,2,56,33,3,65,0,33,5,32,6,13,5,11,32,4,65,128,254,3,113,65,8,118,33,7,65,0,33,5,65,1,12,2,11,32,4,40,2,60,11,32,2,40,2,60,106,54,2,60,32,6,32,8,32,6,32,8,75,27,33,8,32,2,32,7,40,2,0,4,127,32,4,40,2,56,5,65,0,11,32,2,40,2,56,106,34,3,54,2,56,32,4,47,1,44,34,6,65,4,113,13,1,32,4,47,1,40,33,7,65,0,11,33,6,2,64,32,7,65,255,255,3,113,69,13,0,32,11,69,13,0,32,11,32,13,65,1,116,106,34,7,47,1,0,69,13,0,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,2,64,2,64,32,7,47,1,0,34,3,65,254,255,3,107,14,2,8,1,0,11,32,1,40,2,72,32,3,65,3,108,106,45,0,1,65,1,113,69,13,7,11,32,2,32,2,40,2,52,65,1,106,54,2,52,32,6,69,13,7,12,8,11,32,6,13,1,32,4,47,1,44,33,6,11,32,6,65,1,113,13,1,65,0,33,6,12,3,11,65,1,33,6,32,4,65,2,113,69,13,2,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,32,4,65,2,118,65,1,113,12,1,11,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,65,0,33,6,32,4,47,1,44,65,1,118,65,1,113,11,69,13,1,32,2,32,2,40,2,52,65,1,106,54,2,52,32,6,13,3,12,2,11,32,5,69,13,0,32,2,32,2,40,2,48,32,4,40,2,48,106,54,2,48,32,2,32,2,40,2,52,32,4,40,2,52,106,54,2,52,11,32,6,13,1,11,32,4,45,0,44,65,192,0,113,4,64,32,2,32,2,47,1,44,65,192,0,114,59,1,44,11,32,4,47,1,40,65,255,255,3,70,4,64,32,2,65,255,255,3,59,1,42,32,2,32,2,47,1,44,65,24,114,59,1,44,11,32,4,47,1,44,65,2,118,65,1,113,12,1,11,32,4,65,3,118,65,1,113,11,69,106,33,13,32,9,65,1,106,34,9,32,0,40,2,0,34,2,40,2,36,34,3,73,13,0,11,11,32,2,32,8,32,2,40,2,16,34,0,32,2,40,2,4,106,107,54,2,28,32,2,47,1,40,34,5,65,253,255,3,75,4,64,32,2,32,2,40,2,32,32,0,32,2,40,2,20,65,30,108,106,106,65,244,3,106,54,2,32,11,2,64,32,3,69,13,0,32,12,32,3,65,3,116,106,65,8,107,40,2,0,33,1,2,64,32,12,40,2,0,34,0,65,1,113,69,4,64,32,2,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,59,1,68,32,2,32,0,65,198,0,65,42,32,0,40,2,36,27,106,47,1,0,59,1,70,32,0,45,0,44,65,8,113,69,13,1,32,2,32,2,47,1,44,65,8,114,59,1,44,12,1,11,32,2,32,0,65,16,118,59,1,70,32,2,32,0,65,128,254,3,113,65,8,118,59,1,68,11,2,64,32,1,65,1,113,13,0,32,1,45,0,44,65,16,113,69,13,0,32,2,32,2,47,1,44,65,16,114,59,1,44,11,32,3,65,1,70,13,0,32,2,47,1,44,34,3,65,2,113,13,0,32,3,65,1,113,13,0,2,64,2,64,32,0,65,1,113,4,64,32,5,32,0,65,128,254,3,113,65,8,118,71,13,3,65,1,33,3,32,1,65,1,113,13,2,32,1,47,1,64,33,3,12,1,11,32,0,47,1,40,32,5,71,13,2,65,1,33,3,32,0,47,1,64,33,0,2,64,32,1,65,1,113,4,64,32,0,13,1,12,3,11,32,0,32,1,47,1,64,34,3,77,13,1,11,32,0,65,1,106,33,3,12,1,11,32,3,65,1,106,33,3,11,32,2,32,3,59,1,64,11,11,212,3,1,6,127,35,0,65,224,0,107,34,5,36,0,65,1,33,8,65,2,33,9,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,65,0,33,9,65,0,33,8,12,1,11,32,4,40,2,72,32,1,65,3,108,106,34,6,45,0,0,65,229,0,113,33,8,32,6,45,0,1,65,1,116,33,9,11,32,2,40,2,0,33,6,32,2,40,2,4,34,7,65,3,116,65,204,0,106,34,10,32,2,40,2,8,65,3,116,75,4,64,32,6,32,10,35,4,40,2,0,17,1,0,33,6,32,2,32,10,65,3,118,54,2,8,32,2,32,6,54,2,0,32,2,40,2,4,33,7,11,32,5,66,0,55,3,80,32,5,66,0,55,3,72,32,5,65,64,107,34,2,66,0,55,3,0,32,5,66,0,55,3,32,32,5,65,0,54,2,40,32,5,65,1,54,2,92,32,5,66,0,55,3,56,32,5,65,0,59,1,46,32,5,66,0,55,3,24,32,5,66,0,55,3,8,32,5,32,3,59,1,22,32,5,32,1,59,1,48,32,5,32,8,32,9,114,65,255,1,113,65,24,65,0,32,1,65,253,255,3,75,27,114,59,1,44,32,5,32,7,54,2,52,32,6,32,7,65,3,116,106,34,1,32,5,40,2,92,54,2,0,32,1,32,5,41,3,80,55,2,28,32,1,32,5,41,3,72,55,2,20,32,1,32,2,41,3,0,55,2,12,32,1,32,5,41,3,56,55,2,4,32,1,32,5,40,2,52,54,2,36,32,1,32,5,47,1,48,59,1,40,32,1,32,5,47,1,46,59,1,42,32,1,32,5,47,1,44,59,1,44,32,1,32,5,40,2,40,54,1,62,32,1,32,5,41,3,32,55,1,54,32,1,32,5,41,3,24,55,1,46,32,1,32,5,47,1,22,59,1,66,32,1,32,5,41,3,8,55,2,68,32,0,65,0,54,2,4,32,0,32,1,54,2,0,32,5,32,0,41,2,0,55,3,0,32,5,32,4,16,128,1,32,5,65,224,0,106,36,0,11,135,1,1,5,127,32,0,65,0,54,2,16,32,1,40,2,16,33,2,32,1,40,2,0,33,3,32,1,40,2,4,33,4,32,1,40,2,8,33,5,32,1,40,2,20,33,6,32,0,32,1,40,2,12,59,1,16,32,0,32,6,54,2,0,32,0,65,224,1,35,5,40,2,0,17,0,0,34,1,54,2,4,32,0,66,129,128,128,128,128,1,55,2,8,32,1,65,0,54,2,24,32,1,66,0,55,2,16,32,1,32,5,54,2,12,32,1,32,4,54,2,8,32,1,32,3,54,2,4,32,1,32,2,54,2,0,11,23,1,2,127,3,64,32,0,16,119,34,2,65,1,70,13,0,11,32,2,65,2,70,11,144,5,2,11,127,1,126,35,0,65,224,0,107,34,1,36,0,2,64,32,0,40,2,4,34,7,32,0,40,2,8,34,5,65,28,108,106,34,6,65,28,107,40,2,0,34,9,40,0,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,0,40,2,0,34,10,40,2,8,33,4,32,2,47,1,66,34,3,4,127,32,4,40,2,84,32,4,47,1,36,32,3,108,65,1,116,106,5,65,0,11,33,11,32,6,65,4,107,40,2,0,33,3,2,64,2,64,32,5,65,1,107,34,8,69,13,0,32,2,47,1,44,34,2,65,1,113,13,0,32,2,65,4,113,13,1,32,7,32,8,65,28,108,106,34,2,65,28,107,40,2,0,40,2,0,47,1,66,34,8,69,13,1,32,3,32,4,40,2,84,32,4,47,1,36,32,8,108,65,1,116,106,32,2,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,3,12,1,11,32,3,65,1,106,33,3,11,32,9,41,2,0,33,12,32,1,32,10,54,2,32,32,1,32,12,55,3,24,32,1,32,6,65,24,107,34,4,40,2,8,54,2,44,32,1,32,4,41,2,0,55,2,36,32,1,32,11,54,2,60,32,1,32,3,54,2,56,32,1,66,0,55,3,48,65,0,33,3,32,12,167,34,4,69,13,0,32,4,40,2,36,69,13,0,32,1,66,0,55,3,16,32,1,66,0,55,3,8,32,1,66,0,55,3,0,32,1,65,24,106,32,1,65,64,107,32,1,65,223,0,106,16,120,69,4,64,12,1,11,65,0,33,4,3,64,32,1,40,2,64,33,2,2,64,32,1,45,0,95,4,127,65,2,5,32,2,40,0,0,34,6,65,1,113,13,1,32,6,40,2,36,69,13,1,32,6,40,2,48,69,13,1,65,1,11,33,3,32,1,32,1,41,2,84,55,3,16,32,1,32,1,41,2,76,55,3,8,32,1,32,1,41,2,68,55,3,0,32,2,33,4,11,32,1,65,24,106,32,1,65,64,107,32,1,65,223,0,106,16,120,13,0,11,32,4,69,4,64,65,0,33,3,12,1,11,32,0,32,5,65,1,106,34,2,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,5,65,28,108,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,0,32,5,54,2,12,32,0,32,7,54,2,4,32,0,40,2,8,34,5,65,1,106,5,32,2,11,54,2,8,32,7,32,5,65,28,108,106,34,0,32,4,54,2,0,32,0,32,1,41,3,0,55,2,4,32,0,32,1,41,3,8,55,2,12,32,0,32,1,41,3,16,55,2,20,11,32,1,65,224,0,106,36,0,32,3,11,211,9,2,29,127,1,126,2,64,32,0,40,2,4,34,8,32,0,40,2,8,34,27,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,4,65,1,113,13,0,32,27,33,13,3,64,32,4,40,2,36,69,13,1,32,0,40,2,0,40,2,8,33,10,32,4,47,1,66,34,5,4,127,32,10,40,2,84,32,10,47,1,36,32,5,108,65,1,116,106,5,65,0,11,33,28,32,9,65,4,107,40,2,0,33,15,2,64,2,64,32,13,65,1,107,34,5,69,13,0,32,4,47,1,44,34,11,65,1,113,13,0,32,11,65,4,113,13,1,32,8,32,5,65,28,108,106,34,5,65,28,107,40,2,0,40,2,0,47,1,66,34,11,69,13,1,32,15,32,10,40,2,84,32,10,47,1,36,32,11,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,15,12,1,11,32,15,65,1,106,33,15,11,32,4,40,2,36,34,24,69,13,1,65,0,32,4,32,24,65,3,116,107,34,31,32,4,65,1,113,27,33,32,32,9,65,24,107,40,2,0,33,12,32,9,65,20,107,40,2,0,33,5,32,9,65,16,107,40,2,0,33,4,65,0,33,6,65,0,33,29,3,64,32,15,33,22,32,29,33,11,32,4,33,9,32,5,33,10,32,12,33,19,2,127,32,32,32,6,34,25,65,3,116,106,34,23,40,0,0,34,7,65,1,113,34,26,4,64,32,7,65,2,113,65,1,118,34,20,33,6,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,34,20,65,1,113,33,6,32,20,65,2,118,65,1,113,11,4,127,32,11,5,32,28,4,64,32,28,32,11,65,1,116,106,47,1,0,32,6,114,65,0,71,34,20,33,6,11,32,11,65,1,106,11,33,29,2,127,2,127,2,64,32,26,69,4,64,32,7,40,2,36,13,1,65,0,12,2,11,32,6,32,22,106,33,15,32,23,45,0,7,34,6,33,12,32,9,33,4,32,10,12,2,11,32,7,40,2,56,11,33,12,65,0,32,9,32,7,40,2,20,34,5,27,33,4,32,6,32,22,106,32,12,106,33,15,32,7,40,2,24,33,12,32,7,40,2,16,33,6,32,5,32,10,106,11,33,5,32,4,32,12,106,33,4,32,6,32,19,106,33,12,32,24,32,25,65,1,106,34,6,75,4,64,2,127,32,31,32,6,65,3,116,106,41,2,0,34,33,167,34,14,65,1,113,4,64,32,33,66,32,136,167,65,255,1,113,33,21,32,33,66,48,136,167,65,255,1,113,33,16,32,33,66,40,136,167,65,15,113,12,1,11,32,14,40,2,12,33,21,32,14,40,2,4,33,16,32,14,40,2,8,11,34,17,32,5,106,33,5,32,12,32,16,106,33,12,65,0,32,4,32,17,27,32,21,106,33,4,11,2,127,32,26,4,64,32,19,32,23,45,0,7,34,30,106,33,21,32,9,33,17,32,10,12,1,11,65,0,32,9,32,7,40,2,20,34,14,27,33,17,32,7,40,2,16,32,19,106,33,21,32,7,40,2,24,33,30,32,10,32,14,106,11,33,14,65,0,33,16,2,127,65,0,32,1,32,21,79,13,0,26,65,1,32,2,32,14,73,13,0,26,32,2,32,14,70,32,17,32,30,106,32,3,75,113,11,33,17,2,64,32,26,13,0,32,7,40,2,36,69,13,0,32,7,40,2,48,33,16,11,2,64,32,17,4,64,32,20,65,1,113,4,64,32,0,32,13,65,1,106,34,4,32,0,40,2,12,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,4,32,1,32,4,75,27,34,1,32,1,65,8,77,27,34,2,65,28,108,33,1,2,127,32,8,4,64,32,8,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,8,32,0,32,2,54,2,12,32,0,32,8,54,2,4,32,0,40,2,8,34,13,65,1,106,5,32,4,11,54,2,8,32,8,32,13,65,28,108,106,34,0,32,22,54,2,24,32,0,32,11,54,2,20,32,0,32,25,54,2,16,32,0,32,9,54,2,12,32,0,32,10,54,2,8,32,0,32,19,54,2,4,32,0,32,23,54,2,0,32,18,173,15,11,32,16,69,13,1,32,0,32,13,65,1,106,34,4,32,0,40,2,12,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,8,4,64,32,8,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,8,32,0,32,5,54,2,12,32,0,32,8,54,2,4,32,0,40,2,8,34,13,65,1,106,5,32,4,11,54,2,8,32,8,32,13,65,28,108,106,34,4,32,22,54,2,24,32,4,32,11,54,2,20,32,4,32,25,54,2,16,32,4,32,9,54,2,12,32,4,32,10,54,2,8,32,4,32,19,54,2,4,32,4,32,23,54,2,0,32,0,40,2,4,34,8,32,0,40,2,8,34,13,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,4,65,1,113,69,13,3,12,4,11,32,20,65,1,113,4,64,32,18,65,1,106,33,18,12,1,11,32,16,32,18,106,33,18,11,32,6,32,24,71,13,0,11,11,11,32,0,32,27,54,2,8,66,127,11,54,1,1,127,65,1,33,1,2,64,2,64,2,64,32,0,35,2,65,11,106,16,121,65,1,107,14,2,0,2,1,11,3,64,32,0,16,119,65,1,70,13,0,11,12,1,11,65,0,33,1,11,32,1,11,192,4,2,7,127,1,126,35,0,65,16,107,33,3,2,64,32,0,40,2,0,34,5,69,13,0,32,0,40,2,24,34,6,65,255,1,113,65,255,1,70,13,0,32,5,65,1,113,69,4,64,32,5,32,5,40,2,36,65,3,116,107,33,4,11,32,3,32,0,40,2,20,54,2,8,32,3,32,0,41,2,12,55,3,0,32,0,40,2,28,33,5,32,1,32,4,32,6,65,3,116,106,34,4,54,2,0,32,1,32,3,40,2,8,54,2,12,32,1,32,3,41,3,0,55,2,4,32,1,65,0,54,2,24,32,1,32,5,54,2,20,32,1,32,6,54,2,16,32,2,2,127,32,4,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,34,1,58,0,0,2,127,32,4,40,0,0,34,3,65,1,113,4,64,32,4,45,0,5,65,15,113,33,5,32,3,65,8,113,65,3,118,33,6,32,4,45,0,4,33,7,32,4,45,0,6,12,1,11,32,3,45,0,44,65,4,113,65,2,118,33,6,32,3,40,2,12,33,7,32,3,40,2,8,33,5,32,3,40,2,4,11,33,3,32,0,32,0,40,2,24,65,1,107,34,8,54,2,24,65,1,33,4,32,0,65,1,32,0,40,0,20,34,9,32,7,107,32,0,40,0,12,34,7,69,32,9,65,0,71,113,32,5,65,0,71,114,34,5,27,54,2,20,32,0,65,0,32,0,40,0,16,32,5,27,54,2,16,32,0,65,0,32,7,32,3,107,32,5,27,54,2,12,2,64,32,6,13,0,32,0,40,2,36,34,3,69,13,0,32,2,32,1,32,3,32,0,40,2,28,34,1,65,1,116,106,47,1,0,114,65,0,71,58,0,0,32,1,69,13,0,32,0,32,1,65,1,107,54,2,28,11,32,8,32,0,40,2,0,34,1,40,2,36,34,2,79,13,0,2,127,32,1,32,2,65,3,116,107,32,8,65,3,116,106,41,2,0,34,10,167,34,2,65,1,113,4,64,65,0,33,3,32,10,66,56,136,167,34,1,12,1,11,32,2,40,2,20,65,0,71,33,3,32,2,40,2,24,33,1,32,2,40,2,16,11,33,2,32,0,65,1,32,0,40,0,20,34,5,32,1,107,32,3,32,0,40,0,12,34,6,69,32,5,65,0,71,113,114,34,1,27,54,2,20,32,0,65,0,32,0,40,0,16,32,1,27,54,2,16,32,0,65,0,32,6,32,2,107,32,1,27,54,2,12,11,32,4,11,211,1,1,7,127,32,0,40,2,8,34,2,65,1,107,34,4,4,64,2,64,32,2,65,2,107,34,1,69,4,64,65,1,33,3,12,1,11,32,0,40,2,4,33,6,32,4,33,2,3,64,32,2,33,3,2,64,2,127,32,6,32,1,34,2,65,28,108,106,34,5,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,2,113,13,4,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,34,1,65,1,113,13,3,32,1,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,1,69,13,0,32,0,40,2,0,40,2,8,34,7,40,2,84,32,7,47,1,36,32,1,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,2,11,32,2,65,1,107,34,1,13,0,11,65,1,33,3,11,32,0,32,3,54,2,8,11,32,4,65,0,71,11,216,1,2,5,127,1,126,2,127,32,1,40,2,4,32,1,40,2,8,34,5,65,28,108,106,34,3,65,28,107,40,2,0,34,6,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,33,4,65,0,33,2,2,64,32,4,13,0,32,5,65,2,73,4,64,32,1,47,1,16,33,2,12,1,11,32,3,65,56,107,40,2,0,40,2,0,47,1,66,34,4,69,13,0,32,1,40,2,0,40,2,8,34,2,40,2,84,32,2,47,1,36,32,4,108,65,1,116,106,32,3,65,8,107,40,2,0,65,1,116,106,47,1,0,33,2,11,32,3,65,24,107,41,0,0,33,7,32,3,65,16,107,40,0,0,33,3,32,0,32,1,40,2,0,54,2,20,32,0,32,6,54,2,16,32,0,32,2,54,2,12,32,0,32,3,54,2,8,32,0,32,7,55,2,0,11,245,2,1,11,127,2,64,32,0,40,2,8,34,7,65,1,107,34,1,69,13,0,32,0,40,2,4,34,8,65,56,107,33,9,32,7,33,4,3,64,32,4,33,2,32,8,32,1,34,4,65,28,108,106,34,5,40,2,0,40,0,0,33,1,2,127,2,64,2,64,32,2,32,7,70,4,64,32,1,65,1,113,13,1,12,2,11,2,64,2,127,32,1,65,1,113,34,10,4,64,32,1,65,2,113,13,7,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,34,3,65,1,113,13,6,32,3,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,0,40,2,0,40,2,8,34,11,40,2,84,32,11,47,1,36,32,3,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,5,11,32,10,69,13,1,11,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,13,1,2,64,32,0,40,2,0,40,2,8,34,1,40,2,32,69,13,0,32,1,40,2,64,32,9,32,2,65,28,108,106,40,2,0,40,2,0,47,1,66,65,2,116,106,34,2,47,1,2,34,3,69,13,0,32,1,40,2,68,32,2,47,1,0,65,2,116,106,34,1,32,3,65,2,116,106,33,2,3,64,2,64,32,1,45,0,3,69,4,64,32,5,40,2,20,32,1,45,0,2,70,13,1,11,32,2,32,1,65,4,106,34,1,75,13,1,12,2,11,11,32,1,47,1,0,33,6,12,2,11,32,4,65,1,107,34,1,13,0,11,11,32,6,11,139,1,2,4,127,1,126,32,0,40,0,0,34,1,65,1,113,69,4,64,32,1,32,1,40,2,0,65,1,106,54,2,0,32,1,40,2,0,26,11,32,0,40,2,12,33,3,32,0,40,2,16,33,1,32,0,41,0,0,33,5,32,0,40,2,8,33,2,65,20,35,5,40,2,0,17,0,0,34,0,32,2,54,2,8,32,0,32,5,55,2,0,32,0,32,1,65,24,35,7,40,2,0,17,1,0,34,2,54,2,12,32,1,65,24,108,34,4,4,64,32,2,32,3,32,4,252,10,0,0,11,32,0,32,1,54,2,16,32,0,11,165,2,1,9,127,35,0,65,32,107,34,2,36,0,32,0,4,64,32,2,66,0,55,3,24,32,2,66,0,55,3,16,32,2,66,0,55,3,8,32,2,32,0,41,2,0,55,3,0,32,2,65,8,106,32,2,16,60,32,2,40,2,8,34,4,4,64,2,64,32,2,40,2,12,34,3,69,13,0,32,3,65,4,79,4,64,32,3,65,124,113,33,9,3,64,32,4,32,1,65,3,116,106,34,5,40,2,0,35,6,34,6,40,2,0,17,2,0,32,5,40,2,8,32,6,40,2,0,17,2,0,32,5,40,2,16,32,6,40,2,0,17,2,0,32,5,40,2,24,32,6,40,2,0,17,2,0,32,1,65,4,106,33,1,32,8,65,4,106,34,8,32,9,71,13,0,11,11,32,3,65,3,113,34,3,69,13,0,3,64,32,4,32,1,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,1,65,1,106,33,1,32,7,65,1,106,34,7,32,3,71,13,0,11,11,32,4,35,6,40,2,0,17,2,0,11,32,2,40,2,20,34,1,4,64,32,1,35,6,40,2,0,17,2,0,11,32,0,40,2,12,35,6,34,1,40,2,0,17,2,0,32,0,32,1,40,2,0,17,2,0,11,32,2,65,32,106,36,0,11,205,2,1,4,127,32,2,32,0,44,0,0,34,3,65,255,1,113,34,4,54,2,0,65,1,33,5,2,64,32,3,65,0,72,4,64,2,64,32,1,65,1,70,13,0,2,64,32,3,65,96,79,4,64,2,64,32,3,65,111,77,4,64,32,2,32,4,65,15,113,34,4,54,2,0,35,1,65,222,10,106,32,4,106,45,0,0,32,0,45,0,1,34,3,65,5,118,118,65,1,113,69,13,4,32,3,65,63,113,33,6,65,2,33,3,12,1,11,32,2,32,4,65,240,1,107,34,4,54,2,0,32,3,65,116,75,13,3,35,1,65,176,12,106,32,0,45,0,1,34,3,65,4,118,106,44,0,0,32,4,118,65,1,113,69,13,3,32,2,32,3,65,63,113,32,4,65,6,116,114,34,4,54,2,0,65,2,33,5,32,1,65,2,70,13,3,65,3,33,3,32,0,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,2,32,6,65,255,1,113,32,4,65,6,116,114,34,4,54,2,0,32,3,32,1,34,5,71,13,1,12,2,11,32,3,65,66,73,13,1,32,2,32,4,65,31,113,34,4,54,2,0,65,1,33,3,11,32,0,32,3,106,45,0,0,65,128,127,115,65,255,1,113,34,0,65,63,77,13,2,32,3,33,5,11,32,2,65,127,54,2,0,11,32,5,15,11,32,2,32,4,65,6,116,32,0,114,54,2,0,32,3,65,1,106,11,88,1,2,127,32,2,32,0,47,1,0,34,3,54,2,0,65,2,33,4,2,64,32,1,65,1,70,13,0,32,3,65,128,248,3,113,65,128,176,3,71,13,0,32,0,47,1,2,34,0,65,128,248,3,113,65,128,184,3,71,13,0,32,2,32,3,65,10,116,32,0,106,65,128,184,255,26,107,54,2,0,65,4,33,4,11,32,4,11,106,1,3,127,32,2,32,0,47,1,0,34,3,65,8,116,32,3,65,8,118,114,34,4,65,255,255,3,113,34,5,54,2,0,65,2,33,3,2,64,32,1,65,1,70,13,0,32,4,65,128,248,3,113,65,128,176,3,71,13,0,32,0,47,1,2,34,0,65,128,248,3,113,65,128,184,3,71,13,0,32,2,32,5,65,10,116,32,0,106,65,128,184,255,26,107,54,2,0,65,4,33,3,11,32,3,11,208,31,2,12,127,3,126,35,0,65,128,1,107,34,7,36,0,2,64,32,1,40,2,0,34,5,69,4,64,65,1,33,8,12,1,11,32,2,40,2,0,34,4,69,13,0,2,127,32,4,65,26,116,65,31,117,65,226,4,113,32,4,65,1,113,13,0,26,65,226,4,32,4,45,0,45,65,2,113,13,0,26,32,4,40,2,32,11,33,6,32,5,65,8,118,33,12,32,4,65,8,118,33,13,2,64,2,64,2,64,32,5,65,1,113,69,4,64,32,5,45,0,45,65,2,113,69,4,64,32,6,32,5,40,2,32,34,3,73,13,2,12,4,11,65,226,4,33,3,32,6,65,226,4,73,13,1,12,3,11,32,5,65,32,113,34,3,69,13,1,32,6,65,225,4,75,13,1,11,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,8,12,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,2,40,2,8,32,2,40,2,4,106,32,1,77,13,0,32,2,40,2,56,32,1,65,2,116,106,40,2,0,33,6,11,32,0,65,132,1,106,33,1,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,4,32,7,32,6,54,2,0,32,1,65,128,8,35,1,65,143,4,106,32,7,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,8,12,3,11,65,1,33,8,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,226,4,65,0,32,3,27,33,3,11,2,64,2,64,2,64,32,4,65,1,113,69,4,64,32,4,45,0,45,65,2,113,4,127,65,226,4,5,32,4,40,2,32,11,32,3,75,13,1,32,4,40,2,36,13,2,12,3,11,32,4,65,32,113,69,13,2,32,3,65,225,4,75,13,2,11,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,1,77,13,0,32,2,40,2,56,32,1,65,2,116,106,40,2,0,33,3,11,32,0,65,132,1,106,33,1,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,6,11,32,7,32,6,54,2,20,32,7,32,3,54,2,16,32,1,65,128,8,35,1,65,143,4,106,32,7,65,16,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,13,2,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,4,40,2,60,33,10,11,2,64,2,64,2,64,2,64,32,5,65,1,113,69,4,64,32,5,40,2,36,13,1,65,0,33,3,32,10,65,0,74,13,2,12,4,11,32,10,65,0,74,13,1,65,0,33,3,12,3,11,32,10,32,5,40,2,60,76,13,1,11,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,8,12,3,11,32,0,40,2,160,9,33,1,35,1,65,171,10,106,33,8,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,2,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,8,12,1,11,65,0,33,8,32,1,40,2,8,32,1,40,2,4,106,32,2,77,13,0,32,1,40,2,56,32,2,65,2,116,106,40,2,0,33,8,11,65,0,33,2,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,2,11,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,1,40,2,8,32,1,40,2,4,106,32,3,77,13,0,32,1,40,2,56,32,3,65,2,116,106,40,2,0,33,6,11,32,0,65,132,1,106,33,1,65,0,33,10,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,10,11,32,7,32,10,54,2,44,32,7,32,6,54,2,40,32,7,32,2,54,2,36,32,7,32,8,54,2,32,32,1,65,128,8,35,1,65,164,9,106,32,7,65,32,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,8,12,3,11,65,1,33,8,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,5,40,2,60,33,3,11,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,8,11,32,3,32,8,74,4,64,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,2,11,32,0,40,2,160,9,33,1,35,1,65,171,10,106,33,8,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,2,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,8,12,1,11,65,0,33,8,32,1,40,2,8,32,1,40,2,4,106,32,2,77,13,0,32,1,40,2,56,32,2,65,2,116,106,40,2,0,33,8,11,65,0,33,2,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,1,40,2,8,32,1,40,2,4,106,32,5,77,13,0,32,1,40,2,56,32,5,65,2,116,106,40,2,0,33,3,11,32,0,65,132,1,106,33,1,65,0,33,10,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,10,11,32,7,32,10,54,2,60,32,7,32,3,54,2,56,32,7,32,2,54,2,52,32,7,32,8,54,2,48,32,1,65,128,8,35,1,65,164,9,106,32,7,65,48,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,65,0,33,8,32,0,40,2,140,10,69,13,1,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,4,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,8,2,64,32,5,65,1,113,4,64,32,5,65,32,113,69,13,1,12,2,11,32,5,45,0,45,65,2,113,13,1,32,5,40,2,32,13,1,11,32,7,32,1,41,2,0,55,3,120,32,7,32,2,41,2,0,55,3,112,2,127,32,0,65,136,9,106,34,1,40,2,12,33,2,32,1,32,1,40,2,16,34,3,65,1,106,34,6,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,6,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,6,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,3,65,1,106,5,32,6,11,54,2,16,32,2,32,3,65,3,116,106,32,7,41,2,120,55,2,0,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,3,65,1,106,34,6,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,6,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,6,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,3,65,1,106,5,32,6,11,54,2,16,32,2,32,3,65,3,116,106,32,7,41,2,112,55,2,0,65,0,32,1,40,2,16,34,2,69,13,0,26,3,64,32,1,32,2,65,1,107,34,3,54,2,16,32,1,40,2,12,34,6,32,3,65,3,116,106,41,2,0,33,16,32,1,32,2,65,2,107,34,2,54,2,16,32,6,32,2,65,3,116,106,41,2,0,34,17,66,8,136,33,15,32,16,167,33,6,32,17,167,34,10,65,1,113,34,9,4,127,32,15,167,65,255,1,113,5,32,10,47,1,40,11,33,11,2,64,2,64,2,127,2,64,32,6,65,1,113,34,14,4,64,32,6,65,128,254,3,113,65,8,118,34,3,32,11,65,255,255,3,113,77,13,1,65,127,12,2,11,32,6,47,1,40,34,3,32,11,65,255,255,3,113,77,13,0,65,127,12,1,11,2,64,2,127,32,9,4,64,65,0,32,3,32,15,167,65,255,1,113,79,13,1,26,12,2,11,32,3,32,10,47,1,40,73,13,1,32,10,40,2,36,11,33,3,65,0,33,11,2,64,32,14,13,0,32,3,32,6,40,2,36,34,11,79,13,0,65,127,12,2,11,32,9,13,3,32,11,32,10,40,2,36,34,3,79,13,2,11,65,1,11,33,2,32,1,65,0,54,2,16,32,2,12,3,11,32,3,69,13,0,3,64,32,3,65,1,107,34,3,65,3,116,34,2,32,6,32,6,40,2,36,65,3,116,107,106,41,2,0,33,15,32,10,32,10,40,2,36,65,3,116,107,32,2,106,41,2,0,33,16,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,9,65,1,106,34,11,32,1,40,2,20,34,14,75,4,127,65,8,32,14,65,1,116,34,9,32,11,32,9,32,11,75,27,34,9,32,9,65,8,77,27,34,11,65,3,116,33,9,2,127,32,2,4,64,32,2,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,2,32,1,32,11,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,11,11,54,2,16,32,2,32,9,65,3,116,106,32,16,55,2,0,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,9,65,1,106,34,11,32,1,40,2,20,34,14,75,4,127,65,8,32,14,65,1,116,34,9,32,11,32,9,32,11,75,27,34,9,32,9,65,8,77,27,34,11,65,3,116,33,9,2,127,32,2,4,64,32,2,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,2,32,1,32,11,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,11,11,54,2,16,32,2,32,9,65,3,116,106,32,15,55,2,0,32,3,13,0,11,32,1,40,2,16,33,2,11,32,2,13,0,11,65,0,11,33,2,32,0,40,2,96,33,1,2,127,2,64,2,64,2,64,2,64,32,2,65,1,106,14,3,0,2,1,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,5,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,5,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,84,32,7,32,1,54,2,80,32,5,65,128,8,35,1,65,190,4,106,32,7,65,208,0,106,16,249,1,26,12,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,12,4,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,8,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,100,32,7,32,1,54,2,96,32,8,65,128,8,35,1,65,190,4,106,32,7,65,224,0,106,16,249,1,26,65,1,12,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,5,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,68,32,7,32,1,54,2,64,32,5,65,128,8,35,1,65,231,4,106,32,7,65,64,107,16,249,1,26,11,65,0,11,33,8,32,0,40,2,96,34,1,4,64,32,0,40,2,92,65,0,32,0,65,132,1,106,32,1,17,3,0,11,2,64,32,0,40,2,140,10,69,13,0,32,0,65,132,1,106,33,1,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,11,32,7,65,128,1,106,36,0,32,8,11,211,4,1,14,127,2,64,32,0,40,2,180,9,34,3,69,13,0,2,127,32,3,65,26,116,65,31,117,65,226,4,113,32,3,65,1,113,13,0,26,65,226,4,32,3,45,0,45,65,2,113,13,0,26,32,3,40,2,32,11,32,2,75,13,0,65,1,15,11,32,0,40,2,132,9,34,0,40,2,0,34,12,32,1,65,5,116,106,34,8,40,2,0,34,9,40,2,4,33,11,32,9,40,2,156,1,34,5,32,8,40,2,8,73,4,64,32,8,32,5,54,2,8,11,2,64,32,0,40,2,4,34,13,4,64,32,9,40,2,160,1,33,14,65,0,33,0,3,64,2,64,32,0,32,1,70,13,0,32,12,32,0,65,5,116,106,34,6,40,2,28,13,0,32,6,40,2,0,34,4,40,2,4,34,15,32,11,73,13,0,32,4,40,2,152,1,34,10,33,7,32,4,47,1,0,69,4,64,32,10,32,10,65,244,3,106,32,4,40,2,20,27,33,7,11,32,4,40,2,156,1,34,5,32,6,40,2,8,34,3,73,4,64,32,6,32,5,54,2,8,32,5,33,3,11,32,4,47,1,0,34,16,69,13,0,32,2,32,7,73,13,0,2,64,32,2,32,7,75,4,64,65,1,33,4,32,5,32,3,107,65,1,106,32,2,32,7,107,108,65,136,14,77,13,1,12,5,11,32,4,40,2,160,1,32,14,76,13,1,11,32,8,40,2,28,13,0,32,16,32,9,47,1,0,71,13,0,32,11,32,15,71,13,0,32,10,32,9,40,2,152,1,71,13,0,35,1,33,4,32,8,40,0,12,33,3,2,127,32,4,65,148,12,106,32,6,40,0,12,34,5,69,13,0,26,35,1,65,148,12,106,32,5,65,1,113,13,0,26,35,1,65,148,12,106,32,5,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,5,65,48,106,32,5,40,2,36,27,11,33,5,35,1,33,4,32,5,40,2,24,33,6,2,64,2,127,32,4,65,148,12,106,32,3,69,13,0,26,35,1,65,148,12,106,32,3,65,1,113,13,0,26,35,1,65,148,12,106,32,3,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,3,65,48,106,32,3,40,2,36,27,11,34,4,40,2,24,34,3,65,25,79,4,64,32,3,32,6,71,13,2,32,5,40,2,0,33,5,32,4,40,2,0,33,4,12,1,11,32,3,32,6,71,13,1,11,32,5,32,4,32,3,16,248,1,13,0,65,1,15,11,32,0,65,1,106,34,0,32,13,71,13,0,11,11,65,0,33,4,11,32,4,11,205,5,1,13,127,2,64,2,64,32,0,40,2,4,34,5,69,4,64,12,1,11,32,2,47,1,64,33,13,32,0,40,2,0,33,9,32,5,65,1,71,4,64,3,64,2,64,32,9,32,6,32,5,65,1,118,34,15,106,34,4,65,2,116,106,40,2,0,34,10,47,1,64,34,14,32,13,73,13,0,65,0,33,3,2,64,32,14,4,64,3,64,32,3,32,13,70,13,2,32,10,32,3,65,3,116,34,7,106,34,8,47,1,4,34,11,32,2,32,7,106,34,7,47,1,4,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,2,34,11,32,7,47,1,2,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,0,34,11,32,7,47,1,0,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,6,65,255,255,1,113,34,8,32,7,47,1,6,65,255,255,1,113,34,7,73,13,2,32,7,32,8,73,13,3,32,3,65,1,106,34,3,32,14,71,13,0,11,11,32,10,47,1,66,34,3,32,2,47,1,66,34,8,73,13,0,32,3,32,8,75,13,1,11,32,4,33,6,11,32,5,32,15,107,34,5,65,1,75,13,0,11,11,32,9,32,6,65,2,116,106,40,2,0,34,8,47,1,64,34,7,32,13,73,13,0,2,64,2,64,32,7,4,64,65,0,33,3,3,64,32,3,32,13,70,13,2,32,8,32,3,65,3,116,34,5,106,34,4,47,1,4,34,9,32,2,32,5,106,34,5,47,1,4,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,2,34,9,32,5,47,1,2,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,0,34,9,32,5,47,1,0,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,6,65,255,255,1,113,34,4,32,5,47,1,6,65,255,255,1,113,34,5,73,13,2,32,4,32,5,75,13,4,32,3,65,1,106,34,3,32,7,71,13,0,11,11,32,8,47,1,66,34,4,32,2,47,1,66,34,3,79,13,1,11,32,6,65,1,106,33,6,12,1,11,32,3,32,4,79,13,1,11,2,127,32,1,40,2,4,34,4,4,64,32,1,32,4,65,1,107,34,4,54,2,4,32,1,40,2,0,32,4,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,1,32,2,65,198,0,252,10,0,0,32,0,40,2,0,33,3,32,0,40,2,4,34,2,65,1,106,34,4,32,0,40,2,8,75,4,64,32,4,65,2,116,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,33,2,11,32,6,65,2,116,33,4,2,64,32,2,32,6,77,13,0,32,2,32,6,107,65,2,116,34,2,69,13,0,32,3,32,4,106,34,6,65,4,106,32,6,32,2,252,10,0,0,11,32,3,32,4,106,32,1,54,0,0,32,0,32,0,40,2,4,65,1,106,54,2,4,11,11,231,3,1,8,127,35,0,65,16,107,34,7,36,0,2,64,2,64,32,1,40,2,4,34,4,65,255,255,3,71,4,64,32,4,65,255,255,3,113,33,6,32,0,40,2,48,33,4,12,1,11,32,0,40,2,52,34,5,65,255,255,3,113,33,6,2,64,2,64,32,0,40,2,76,34,8,69,13,0,32,6,69,13,0,32,5,65,255,255,3,113,33,9,32,0,40,2,48,33,4,3,64,32,4,32,3,65,12,108,106,34,10,40,2,4,65,127,70,13,2,32,3,65,1,106,34,3,32,9,71,13,0,11,11,2,64,32,0,40,2,72,32,5,77,4,64,32,1,65,255,255,3,54,2,4,12,1,11,32,0,40,2,48,33,4,32,0,40,2,56,34,3,32,5,77,4,64,65,8,32,3,65,1,116,34,3,32,5,65,1,106,34,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,5,65,12,108,33,3,2,127,32,4,4,64,32,4,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,56,32,0,32,4,54,2,48,32,0,40,2,52,33,5,11,32,0,32,5,65,1,106,54,2,52,32,4,32,5,65,12,108,106,34,3,65,0,54,2,8,32,3,66,0,55,2,0,32,1,32,6,54,2,4,32,6,65,255,255,3,71,13,2,11,32,0,65,1,58,0,163,1,65,0,33,3,32,0,32,7,65,12,106,32,7,65,8,106,32,7,65,4,106,65,0,16,118,69,13,2,32,2,32,7,40,2,12,34,2,70,13,2,32,1,32,0,40,2,24,32,2,65,4,116,106,34,2,40,2,4,54,2,4,32,2,65,255,255,3,54,2,4,32,2,32,2,47,1,14,65,128,128,1,114,59,1,14,32,0,40,2,48,32,1,47,1,4,65,12,108,106,34,3,65,0,54,2,4,12,2,11,32,10,65,0,54,2,4,32,0,32,8,65,1,107,54,2,76,32,1,32,3,65,255,255,3,113,34,6,54,2,4,11,32,4,32,6,65,12,108,106,33,3,11,32,7,65,16,106,36,0,32,3,11,20,1,1,127,35,9,34,0,66,143,128,128,128,208,1,55,3,0,32,0,11,249,8,2,7,127,1,126,35,9,33,6,35,0,65,16,107,34,5,36,0,65,1,65,232,10,35,7,40,2,0,17,1,0,34,0,35,2,34,1,54,2,28,32,0,32,1,65,1,106,54,2,24,32,0,32,1,65,2,106,54,2,20,32,0,32,1,65,3,106,54,2,16,32,0,32,1,65,4,106,54,2,12,32,0,32,1,65,5,106,54,2,8,32,0,66,0,55,2,0,32,0,65,32,106,65,0,65,228,8,252,11,0,32,0,65,0,65,24,35,4,40,2,0,17,1,0,34,1,54,2,68,32,1,35,1,65,252,11,106,34,2,41,2,16,55,2,16,32,1,32,2,41,2,8,55,2,8,32,1,32,2,41,2,0,55,2,0,32,0,65,1,54,2,100,2,64,2,64,32,0,40,2,68,34,4,40,2,20,34,3,32,0,40,0,32,34,1,77,13,0,32,3,32,4,40,2,16,34,2,77,13,0,32,1,32,2,77,4,64,32,0,32,4,41,2,0,55,2,36,32,0,32,2,54,2,32,32,2,33,1,11,65,0,33,2,32,0,65,0,54,2,104,32,0,40,2,72,69,13,1,32,0,40,2,108,34,4,32,1,77,4,64,32,1,32,0,40,2,112,32,4,106,73,13,2,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,1,11,65,1,33,2,32,0,65,1,54,2,104,32,4,41,2,8,33,7,32,0,65,0,54,2,72,32,0,32,7,55,2,36,32,0,32,3,54,2,32,32,0,66,0,55,2,108,11,32,0,65,0,54,2,176,9,32,0,65,0,54,2,0,32,0,32,2,54,2,116,32,0,66,0,55,3,168,9,65,192,0,35,5,34,1,40,2,0,17,0,0,33,2,32,0,65,4,54,2,176,9,32,0,32,2,54,2,168,9,65,128,2,32,1,40,2,0,17,0,0,33,1,32,0,66,0,55,2,148,9,32,0,66,128,128,128,128,128,4,55,2,140,9,32,0,32,1,54,2,136,9,32,0,65,156,9,106,65,0,54,2,0,32,0,65,136,9,106,34,4,33,2,65,1,65,56,35,7,40,2,0,17,1,0,34,1,66,0,55,2,0,32,1,66,0,55,2,40,32,1,66,0,55,2,32,32,1,66,0,55,2,24,32,1,66,0,55,2,16,32,1,66,0,55,2,8,65,128,1,35,5,40,2,0,17,0,0,33,3,32,1,65,4,54,2,8,32,1,32,3,54,2,0,32,1,40,2,20,65,3,77,4,64,2,127,32,1,40,2,12,34,3,4,64,32,3,65,192,0,35,4,40,2,0,17,1,0,12,1,11,65,192,0,35,5,40,2,0,17,0,0,11,33,3,32,1,65,4,54,2,20,32,1,32,3,54,2,12,11,32,1,40,2,32,65,3,77,4,64,2,127,32,1,40,2,24,34,3,4,64,32,3,65,224,0,35,4,40,2,0,17,1,0,12,1,11,65,224,0,35,5,40,2,0,17,0,0,11,33,3,32,1,65,4,54,2,32,32,1,32,3,54,2,24,11,32,1,40,2,44,65,49,77,4,64,2,127,32,1,40,2,36,34,3,4,64,32,3,65,200,1,35,4,40,2,0,17,1,0,12,1,11,65,200,1,35,5,40,2,0,17,0,0,11,33,3,32,1,65,50,54,2,44,32,1,32,3,54,2,36,11,32,1,32,2,54,2,52,2,127,32,1,40,2,40,34,2,4,64,32,1,32,2,65,1,107,34,2,54,2,40,32,1,40,2,36,32,2,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,65,1,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,2,66,0,55,2,4,32,2,65,1,54,2,148,1,32,2,65,0,54,2,12,32,2,66,0,55,2,152,1,32,2,65,0,54,2,160,1,32,1,32,2,54,2,48,32,1,16,61,32,0,66,0,55,2,244,9,32,0,66,0,55,2,180,9,32,0,32,1,54,2,132,9,32,0,65,252,9,106,66,0,55,2,0,32,0,65,132,10,106,65,0,54,2,0,32,0,66,0,55,3,160,10,32,0,65,0,58,0,226,10,32,0,65,0,54,2,160,9,32,0,65,0,59,1,224,10,32,0,66,0,55,3,144,10,32,0,66,0,55,3,136,10,32,0,65,152,10,106,66,0,55,3,0,32,0,65,0,54,2,220,10,32,0,66,0,55,2,172,10,32,0,65,196,10,106,65,0,54,2,0,32,0,65,188,10,106,66,0,55,2,0,32,0,66,0,55,2,180,10,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,5,32,1,41,2,0,55,3,8,32,4,32,5,65,8,106,16,60,11,32,0,40,2,232,9,4,64,32,5,32,0,65,232,9,106,41,2,0,55,3,0,32,4,32,5,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,32,5,65,16,106,36,0,32,6,65,128,208,0,65,1,16,141,2,54,2,4,32,6,32,0,54,2,0,11,62,1,1,127,35,0,65,16,107,34,2,36,0,32,2,32,0,54,2,8,32,2,35,2,65,20,106,65,0,32,1,27,54,2,12,32,2,32,2,41,2,8,55,3,0,32,0,32,2,41,2,0,55,2,92,32,2,65,16,106,36,0,11,11,0,32,1,65,1,70,32,2,16,0,11,218,216,1,2,51,127,3,126,35,0,65,48,107,34,31,36,0,32,31,66,1,55,2,40,32,31,32,1,54,2,32,32,31,35,2,65,21,106,54,2,36,2,64,32,4,4,64,32,4,65,1,71,4,64,32,4,65,126,113,33,1,3,64,32,3,32,8,65,24,108,106,34,9,32,9,40,2,16,65,1,116,54,2,16,32,9,32,9,40,2,20,65,1,116,54,2,20,32,9,32,9,40,2,4,65,1,116,54,2,4,32,9,32,9,40,2,12,65,1,116,54,2,12,32,3,32,8,65,1,114,65,24,108,106,34,9,32,9,40,2,16,65,1,116,54,2,16,32,9,32,9,40,2,20,65,1,116,54,2,20,32,9,32,9,40,2,4,65,1,116,54,2,4,32,9,32,9,40,2,12,65,1,116,54,2,12,32,8,65,2,106,33,8,32,7,65,2,106,34,7,32,1,71,13,0,11,11,32,4,65,1,113,4,64,32,3,32,8,65,24,108,106,34,1,32,1,40,2,16,65,1,116,54,2,16,32,1,32,1,40,2,20,65,1,116,54,2,20,32,1,32,1,40,2,4,65,1,116,54,2,4,32,1,32,1,40,2,12,65,1,116,54,2,12,11,32,0,32,3,32,4,16,68,26,32,3,16,138,2,12,1,11,32,0,65,0,65,0,16,68,26,11,32,31,32,31,41,2,40,55,3,24,32,31,32,31,41,2,32,55,3,16,32,31,35,1,65,204,211,0,106,41,2,0,55,3,8,35,0,65,16,107,34,37,36,0,32,0,32,31,41,2,8,34,56,62,2,208,10,32,0,32,56,55,3,200,10,32,37,32,31,41,2,24,55,3,8,32,37,32,31,41,2,16,55,3,0,65,0,33,1,35,0,65,160,2,107,34,10,36,0,2,64,32,0,34,5,40,2,160,9,69,13,0,32,37,40,2,4,69,13,0,32,5,32,37,41,2,0,55,2,76,32,5,32,37,41,2,8,55,2,84,32,5,65,0,54,2,72,32,5,66,0,55,2,108,32,5,40,2,68,33,8,2,127,32,5,40,2,100,34,9,4,64,32,5,40,0,32,33,7,3,64,2,64,32,8,32,1,65,24,108,106,34,4,40,2,20,34,0,32,7,77,13,0,32,0,32,4,40,2,16,34,3,77,13,0,32,3,32,7,79,4,64,32,5,32,4,41,2,0,55,2,36,32,5,32,3,54,2,32,11,32,5,32,1,54,2,104,65,0,12,3,11,32,1,65,1,106,34,1,32,9,71,13,0,11,11,32,5,32,9,54,2,104,32,8,32,9,65,24,108,106,34,1,65,4,107,40,2,0,33,0,32,1,65,16,107,41,2,0,33,56,32,5,65,0,54,2,72,32,5,32,56,55,2,36,32,5,32,0,54,2,32,32,5,66,0,55,2,108,65,1,11,33,0,32,5,65,0,54,2,220,10,32,5,65,0,54,2,192,10,32,5,65,0,54,2,0,32,5,32,0,54,2,116,32,5,65,0,54,2,172,10,2,64,32,5,41,3,160,10,66,0,82,4,64,32,10,65,176,1,106,16,237,1,32,10,41,3,176,1,33,57,32,10,40,2,184,1,33,0,32,5,32,10,40,2,188,1,54,2,156,10,32,5,32,0,32,5,41,3,160,10,34,56,32,56,66,192,132,61,128,34,56,66,192,132,61,126,125,167,65,232,7,108,106,34,0,65,128,148,235,220,3,107,32,0,32,0,65,255,147,235,220,3,74,34,0,27,54,2,152,10,32,5,32,0,173,32,56,32,57,124,124,55,3,144,10,12,1,11,32,5,65,144,10,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,11,32,5,65,188,10,106,33,54,2,64,2,64,2,64,2,64,2,64,32,5,45,0,225,10,13,0,32,5,40,2,136,10,13,0,32,5,40,2,132,9,40,2,0,34,3,40,2,0,34,0,47,1,0,65,1,71,13,0,32,0,40,2,156,1,34,1,32,3,40,2,8,34,0,73,4,64,32,3,32,1,54,2,8,12,2,11,32,0,32,1,70,13,1,11,2,64,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,65,153,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,41,0,7,55,0,139,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,153,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,41,0,7,55,0,139,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,45,0,225,10,69,13,1,12,2,11,2,64,32,5,40,2,160,9,34,0,69,13,0,32,0,40,2,104,69,13,0,32,0,40,2,112,34,0,69,13,0,32,5,32,0,17,11,0,54,2,136,10,11,65,0,33,1,32,5,45,0,224,10,13,2,32,2,4,64,32,2,40,0,0,34,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,11,32,5,32,2,41,2,0,55,2,180,10,32,2,40,2,12,32,2,40,2,16,32,5,40,2,68,32,5,40,2,100,32,54,16,16,32,2,41,2,0,33,56,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,32,5,40,2,244,9,33,2,32,5,40,2,252,9,69,4,64,2,127,32,2,4,64,32,2,65,128,1,35,4,40,2,0,17,1,0,12,1,11,65,128,1,35,5,40,2,0,17,0,0,11,33,2,32,5,65,8,54,2,252,9,32,5,32,2,54,2,244,9,32,5,40,2,248,9,33,1,11,32,5,32,1,65,1,106,54,2,248,9,32,2,32,1,65,4,116,106,34,0,66,0,55,2,8,32,0,32,56,55,2,0,2,64,2,64,32,5,40,2,244,9,34,2,32,5,40,2,248,9,34,19,65,4,116,106,34,0,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,4,69,13,0,32,0,65,4,107,40,2,0,33,1,32,5,32,19,65,1,106,34,3,32,5,40,2,252,9,34,0,75,4,127,32,2,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,4,116,35,4,40,2,0,17,1,0,33,2,32,5,32,0,54,2,252,9,32,5,32,2,54,2,244,9,32,7,40,2,36,33,4,32,5,40,2,248,9,34,19,65,1,106,5,32,3,11,54,2,248,9,32,7,32,4,65,3,116,107,41,2,0,33,56,32,2,32,19,65,4,116,106,34,0,32,1,54,2,12,32,0,65,0,54,2,8,32,0,32,56,55,2,0,12,1,11,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,11,2,64,2,64,2,64,32,5,40,2,96,34,0,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,34,0,41,0,137,3,55,0,132,1,32,5,32,0,45,0,153,3,58,0,148,1,32,5,32,0,41,0,145,3,55,0,140,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,34,1,41,0,137,3,55,0,132,1,32,5,32,1,45,0,153,3,58,0,148,1,32,5,32,1,41,0,145,3,55,0,140,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,0,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,65,140,10,106,33,19,32,5,40,2,140,10,34,1,69,13,4,32,5,40,2,160,9,33,0,32,10,32,5,41,0,180,10,55,3,200,1,32,10,65,200,1,106,65,0,32,0,65,0,32,1,16,69,65,10,32,5,40,2,140,10,16,241,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,140,10,106,33,19,11,32,5,40,2,192,10,69,13,1,32,5,65,132,1,106,33,0,3,64,32,5,40,2,188,10,33,1,2,64,32,5,40,2,96,69,4,64,32,19,40,2,0,69,13,1,11,32,10,32,1,32,13,65,24,108,106,41,2,16,55,3,160,1,32,0,65,128,8,35,1,65,225,2,106,32,10,65,160,1,106,16,249,1,26,32,5,40,2,96,34,1,4,64,32,5,40,2,92,65,0,32,0,32,1,17,3,0,11,32,0,33,2,32,19,40,2,0,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,19,40,2,0,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,19,40,2,0,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,13,65,1,106,34,13,32,5,40,2,192,10,73,13,0,11,12,1,11,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,65,184,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,47,0,8,59,0,140,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,184,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,47,0,8,59,0,140,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,69,13,3,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,244,9,106,33,55,32,5,65,132,1,106,33,24,3,64,2,64,32,5,40,2,132,9,34,1,40,2,4,34,0,69,4,64,65,1,33,13,65,127,33,29,12,1,11,32,0,65,1,70,33,13,32,1,40,2,0,33,2,65,0,33,19,2,64,2,64,3,64,2,64,32,2,32,19,65,5,116,34,33,106,40,2,28,13,0,3,64,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,32,2,32,33,106,40,2,0,34,0,41,2,8,33,56,32,0,47,1,0,33,0,32,10,32,1,40,2,4,54,2,132,1,32,10,32,0,54,2,136,1,32,10,32,56,55,2,140,1,32,10,32,19,54,2,128,1,32,24,65,128,8,35,1,65,185,1,106,32,10,65,128,1,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,32,24,33,2,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,35,0,65,224,3,107,34,6,36,0,32,19,65,5,116,34,17,32,5,40,2,132,9,40,2,0,106,34,0,40,2,16,33,45,32,0,40,2,12,33,26,32,0,40,2,0,34,0,40,2,4,33,39,32,0,47,1,0,33,16,32,6,66,0,55,3,248,2,32,6,65,0,54,2,240,2,32,6,66,0,55,3,232,2,2,64,2,64,2,64,32,13,65,1,113,69,13,0,2,64,32,5,40,2,248,9,34,2,69,13,0,32,5,65,244,9,106,33,21,32,5,65,132,1,106,33,1,32,26,65,48,106,33,18,32,26,69,32,26,114,65,1,113,33,9,3,64,32,21,40,2,0,32,2,65,4,116,106,34,2,65,16,107,40,2,0,34,0,69,13,1,32,0,65,8,118,33,14,32,2,65,12,107,40,2,0,33,3,32,2,65,4,107,40,2,0,33,15,2,127,32,0,65,1,113,34,11,4,64,32,3,65,16,118,65,255,1,113,32,3,65,24,118,106,33,12,32,14,65,255,1,113,12,1,11,32,0,40,2,16,32,0,40,2,4,106,33,12,32,0,47,1,40,11,33,2,32,15,32,39,75,4,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,3,11,32,5,40,2,160,9,33,3,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,3,40,2,8,32,3,40,2,4,106,32,0,77,13,0,32,3,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,144,2,32,1,65,128,8,35,1,65,235,6,106,32,6,65,144,2,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,2,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,5,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,12,32,15,106,65,127,32,2,65,255,255,3,113,27,33,8,2,64,2,64,2,64,32,15,32,39,73,4,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,3,77,13,0,32,4,40,2,56,32,3,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,160,2,32,1,65,128,8,35,1,65,206,6,106,32,6,65,160,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,127,35,1,65,148,12,106,34,2,32,5,40,0,128,10,34,4,69,13,0,26,32,2,32,4,65,1,113,13,0,26,32,2,32,4,45,0,44,65,192,0,113,69,13,0,26,32,2,32,4,65,48,106,32,4,40,2,36,27,11,34,12,40,2,24,33,4,2,64,2,64,2,64,2,127,35,1,65,148,12,106,34,2,32,9,13,0,26,32,2,32,26,45,0,44,65,192,0,113,69,13,0,26,32,2,32,18,32,26,40,2,36,27,11,34,25,40,2,24,34,2,65,25,79,4,64,32,2,32,4,71,13,2,32,12,40,2,0,33,12,32,25,40,2,0,33,25,12,1,11,32,2,32,4,71,13,1,11,32,12,32,25,32,2,16,248,1,69,13,1,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,3,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,3,77,13,0,32,4,40,2,56,32,3,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,224,2,32,1,65,128,8,35,1,65,252,5,106,32,6,65,224,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,2,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,5,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,64,2,64,2,127,2,64,2,64,2,64,32,11,4,64,32,0,65,16,113,69,13,1,35,1,65,196,3,106,12,4,11,35,1,65,196,3,106,32,0,47,1,44,34,2,65,32,113,13,3,26,32,0,47,1,40,65,255,255,3,71,13,1,35,1,65,226,7,106,12,3,11,32,0,65,32,113,69,13,1,35,1,65,142,8,106,12,2,11,35,1,65,142,8,106,32,2,65,128,4,113,13,1,26,32,2,65,24,113,69,13,0,35,1,65,208,8,106,12,1,11,32,5,40,2,220,10,34,12,32,5,40,2,192,10,34,7,79,13,1,32,5,40,2,188,10,33,4,3,64,32,15,32,4,32,12,65,24,108,106,34,2,40,2,20,79,4,64,32,7,32,12,65,1,106,34,12,71,13,1,12,3,11,11,32,2,40,2,16,32,8,79,13,1,35,1,65,219,8,106,11,33,3,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,7,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,7,40,2,8,32,7,40,2,4,106,32,4,77,13,0,32,7,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,180,2,32,6,32,3,54,2,176,2,32,1,65,128,8,35,1,65,138,7,106,32,6,65,176,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,6,32,3,54,2,148,3,32,6,32,0,54,2,144,3,32,6,2,127,2,64,32,0,65,1,113,4,64,32,14,65,255,1,113,33,12,12,1,11,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,34,12,65,254,255,3,73,13,0,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,1,11,2,64,2,64,32,5,40,2,160,9,34,17,40,2,24,34,2,32,16,77,4,64,32,17,40,2,44,32,17,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,9,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,4,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,18,4,127,32,2,32,18,65,1,116,106,33,7,65,0,33,8,3,64,32,2,47,1,0,32,12,70,13,4,32,2,65,2,106,33,2,32,8,65,1,106,34,8,32,18,71,13,0,11,32,7,5,32,2,11,33,11,65,0,33,2,32,4,65,1,106,34,4,32,9,71,13,0,11,12,2,11,32,17,40,2,40,32,17,40,2,4,32,16,108,65,1,116,106,32,12,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,17,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,32,6,32,6,41,2,144,3,55,3,216,2,32,5,32,16,32,6,65,216,2,106,32,6,65,232,2,106,16,78,33,2,32,5,40,2,96,33,4,2,64,32,2,69,4,64,32,4,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,0,77,13,0,32,4,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,12,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,4,40,2,8,32,4,40,2,4,106,32,12,77,13,0,32,4,40,2,56,32,12,65,2,116,106,40,2,0,33,3,11,32,6,32,3,54,2,212,2,32,6,32,2,54,2,208,2,32,1,65,128,8,35,1,65,145,5,106,32,6,65,208,2,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,2,64,32,4,69,4,64,32,5,40,2,140,10,69,13,1,11,32,5,40,2,160,9,33,7,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,7,40,2,8,32,7,40,2,4,106,32,4,77,13,0,32,7,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,192,2,32,1,65,128,8,35,1,65,185,6,106,32,6,65,192,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,46,32,0,65,1,113,13,8,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,32,6,32,6,40,2,148,3,54,2,252,2,32,6,32,6,40,2,144,3,34,0,54,2,248,2,32,0,13,9,12,7,11,2,64,32,5,40,2,244,9,34,1,32,5,40,2,248,9,34,3,65,4,116,106,34,0,65,16,107,40,2,0,34,2,65,1,113,13,0,3,64,32,2,40,2,36,34,8,69,13,1,32,0,65,4,107,40,2,0,33,4,32,5,32,3,65,1,106,34,7,32,5,40,2,252,9,34,0,75,4,127,32,1,65,8,32,0,65,1,116,34,0,32,7,32,0,32,7,75,27,34,0,32,0,65,8,77,27,34,0,65,4,116,35,4,40,2,0,17,1,0,33,1,32,5,32,0,54,2,252,9,32,5,32,1,54,2,244,9,32,2,40,2,36,33,8,32,5,40,2,248,9,34,3,65,1,106,5,32,7,11,54,2,248,9,32,2,32,8,65,3,116,107,41,2,0,33,56,32,1,32,3,65,4,116,106,34,0,32,4,54,2,12,32,0,65,0,54,2,8,32,0,32,56,55,2,0,32,5,40,2,244,9,34,1,32,5,40,2,248,9,34,3,65,4,116,106,34,0,65,16,107,40,2,0,34,2,65,1,113,69,13,0,11,11,32,21,16,79,12,5,11,2,64,32,5,40,2,244,9,34,3,32,5,40,2,248,9,34,8,65,4,116,106,34,2,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,11,69,13,0,32,2,65,4,107,40,2,0,33,4,32,8,65,1,106,34,12,32,5,40,2,252,9,34,2,75,4,64,32,3,65,8,32,2,65,1,116,34,2,32,12,32,2,32,12,75,27,34,2,32,2,65,8,77,27,34,2,65,4,116,35,4,40,2,0,17,1,0,33,3,32,5,32,2,54,2,252,9,32,5,32,3,54,2,244,9,32,5,40,2,248,9,34,8,65,1,106,33,12,32,7,40,2,36,33,11,11,32,5,32,12,54,2,248,9,32,7,32,11,65,3,116,107,41,2,0,33,56,32,3,32,8,65,4,116,106,34,2,32,4,54,2,12,32,2,65,0,54,2,8,32,2,32,56,55,2,0,12,3,11,32,21,16,79,32,5,32,19,16,80,26,32,5,40,2,132,9,40,2,0,32,17,106,40,2,0,47,1,0,33,16,12,2,11,32,8,32,39,77,13,0,32,5,40,2,244,9,34,3,32,5,40,2,248,9,34,8,65,4,116,106,34,2,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,11,69,13,0,32,2,65,4,107,40,2,0,33,4,32,8,65,1,106,34,12,32,5,40,2,252,9,34,2,75,4,64,32,3,65,8,32,2,65,1,116,34,2,32,12,32,2,32,12,75,27,34,2,32,2,65,8,77,27,34,2,65,4,116,35,4,40,2,0,17,1,0,33,3,32,5,32,2,54,2,252,9,32,5,32,3,54,2,244,9,32,5,40,2,248,9,34,8,65,1,106,33,12,32,7,40,2,36,33,11,11,32,5,32,12,54,2,248,9,32,7,32,11,65,3,116,107,41,2,0,33,56,32,3,32,8,65,4,116,106,34,2,32,4,54,2,12,32,2,65,0,54,2,8,32,2,32,56,55,2,0,12,1,11,32,21,16,79,11,32,5,40,2,248,9,34,2,13,0,11,32,6,32,0,54,2,144,3,11,32,6,66,0,55,3,248,2,11,2,64,32,5,40,2,224,9,34,7,69,4,64,65,0,33,0,12,1,11,65,0,33,0,32,5,40,2,240,9,32,39,71,13,0,2,127,35,1,65,148,12,106,34,0,32,5,40,0,232,9,34,1,69,13,0,26,32,0,32,1,65,1,113,13,0,26,32,0,32,1,45,0,44,65,192,0,113,69,13,0,26,32,0,32,1,65,48,106,32,1,40,2,36,27,11,34,3,40,2,24,33,2,2,64,2,127,35,1,65,148,12,106,34,0,32,26,69,13,0,26,32,0,32,26,65,1,113,13,0,26,32,0,32,26,45,0,44,65,192,0,113,69,13,0,26,32,0,32,26,65,48,106,32,26,40,2,36,27,11,34,1,40,2,24,34,4,65,25,79,4,64,65,0,33,0,32,2,32,4,71,13,2,32,3,40,2,0,33,3,32,1,40,2,0,33,1,12,1,11,65,0,33,0,32,2,32,4,71,13,1,11,32,3,32,1,32,4,16,248,1,13,0,32,5,65,224,9,106,33,8,32,5,40,2,160,9,33,9,32,6,2,127,2,64,32,7,65,1,113,4,64,32,7,65,128,254,3,113,65,8,118,33,1,12,1,11,32,7,47,1,40,34,1,65,254,255,3,73,13,0,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,1,11,2,64,2,64,32,9,40,2,24,34,0,32,16,77,4,64,32,9,40,2,44,32,9,40,2,48,32,16,32,0,107,65,2,116,106,40,2,0,65,1,116,106,34,0,47,1,0,34,4,69,4,64,65,0,33,2,12,3,11,32,0,65,2,106,33,12,65,0,33,11,3,64,32,12,65,4,106,33,2,32,12,47,1,2,34,7,4,127,32,2,32,7,65,1,116,106,33,0,65,0,33,3,3,64,32,2,47,1,0,32,1,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,7,71,13,0,11,32,0,5,32,2,11,33,12,65,0,33,2,32,11,65,1,106,34,11,32,4,71,13,0,11,12,2,11,32,9,40,2,40,32,9,40,2,4,32,16,108,65,1,116,106,32,1,65,1,116,106,47,1,0,33,2,12,1,11,32,12,47,1,0,33,2,11,32,6,32,9,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,0,45,0,0,54,2,236,2,32,6,32,0,45,0,1,58,0,240,2,32,0,65,8,106,11,54,2,232,2,32,6,32,8,41,2,0,55,3,136,2,65,0,33,46,32,5,32,16,32,6,65,136,2,106,32,6,65,232,2,106,16,78,69,4,64,65,0,33,0,65,0,33,3,12,2,11,32,8,40,0,0,34,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,32,8,40,2,0,33,0,11,32,5,40,2,228,9,33,3,12,1,11,65,0,33,3,65,0,33,46,11,32,6,32,3,54,2,252,2,32,6,32,0,54,2,248,2,11,32,5,65,208,10,106,33,28,32,5,65,232,9,106,33,34,32,5,65,224,9,106,33,35,32,5,65,136,9,106,33,32,32,5,65,132,1,106,33,1,32,0,65,8,118,33,18,32,0,69,33,2,32,26,69,32,26,114,65,1,113,33,22,32,19,65,5,116,33,47,32,5,65,64,107,33,50,32,5,65,152,10,106,33,40,2,64,3,64,32,16,69,33,17,32,16,65,6,108,33,51,32,16,65,2,116,33,23,2,64,32,6,2,127,2,64,3,64,2,64,2,64,32,2,65,1,113,4,64,2,64,2,64,32,5,40,2,160,9,34,0,40,2,88,32,23,32,51,32,0,40,2,0,65,15,73,27,106,34,0,47,1,0,34,4,65,255,255,3,70,4,64,2,64,2,64,32,5,40,2,96,34,0,69,4,64,32,5,40,2,140,10,13,1,65,0,33,2,12,4,11,32,1,35,1,65,251,9,106,34,2,41,0,0,55,0,0,32,1,32,2,41,0,30,55,0,30,32,1,32,2,41,0,24,55,0,24,32,1,32,2,41,0,16,55,0,16,32,1,32,2,41,0,8,55,0,8,65,0,33,2,32,5,40,2,92,65,0,32,1,32,0,17,3,0,32,5,40,2,140,10,69,13,3,12,1,11,32,1,35,1,65,251,9,106,34,0,41,0,0,55,0,0,32,1,32,0,41,0,30,55,0,30,32,1,32,0,41,0,24,55,0,24,32,1,32,0,41,0,16,55,0,16,32,1,32,0,41,0,8,55,0,8,11,32,1,33,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,69,13,4,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,0,47,1,2,33,25,32,5,40,2,132,9,40,2,0,32,47,106,34,0,40,2,12,33,36,32,0,40,2,0,34,0,41,2,8,33,58,32,0,40,2,4,34,7,33,0,32,5,40,2,32,32,7,71,4,64,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,58,55,2,36,32,5,32,7,54,2,32,32,5,40,2,68,33,9,2,64,2,127,32,5,40,2,100,34,11,4,64,3,64,2,64,32,9,32,2,65,24,108,106,34,8,40,2,20,34,0,32,7,77,13,0,32,0,32,8,40,2,16,34,3,77,13,0,32,3,32,7,34,0,79,4,64,32,5,32,8,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,11,71,13,0,11,11,32,5,32,11,54,2,104,32,9,32,11,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,32,36,65,48,106,33,52,65,0,33,11,32,36,69,32,36,114,65,1,113,33,15,65,0,33,9,65,0,33,42,65,0,33,30,65,0,33,48,65,0,33,43,65,0,33,44,65,0,33,27,65,0,33,14,65,0,33,49,32,17,33,18,2,127,2,64,2,64,2,64,2,127,3,64,2,64,32,5,40,2,96,33,2,32,5,40,2,40,33,53,32,5,40,2,36,33,29,2,64,32,25,4,127,32,5,41,2,124,33,57,2,64,32,2,69,4,64,32,5,40,2,140,10,69,13,1,11,32,6,32,53,54,2,248,1,32,6,32,29,54,2,244,1,32,6,32,25,54,2,240,1,32,1,65,128,8,35,1,65,231,0,106,32,6,65,240,1,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,16,44,65,0,33,2,32,5,40,2,136,10,2,127,32,36,69,4,64,65,0,33,12,65,0,12,1,11,32,52,32,36,40,2,72,34,12,65,25,73,13,0,26,32,52,40,2,0,11,32,12,32,5,40,2,160,9,40,2,128,1,17,3,0,32,5,40,2,136,10,32,5,32,5,40,2,160,9,34,3,40,2,104,32,3,40,2,16,32,25,108,106,32,3,40,2,120,17,4,0,33,3,32,5,45,0,224,10,13,9,2,64,32,5,40,2,56,34,2,13,0,32,50,40,2,0,69,13,0,2,64,32,5,40,2,104,34,2,32,5,40,2,100,70,13,0,32,2,69,13,0,32,5,40,2,32,32,5,40,2,68,32,2,65,24,108,106,34,8,40,2,16,71,13,0,32,8,65,4,107,40,2,0,33,2,32,5,32,8,65,16,107,41,2,0,55,2,60,32,5,32,2,54,2,56,12,1,11,32,5,32,5,41,2,32,34,56,55,2,56,32,5,32,5,40,2,40,54,2,64,32,56,167,33,2,11,32,5,40,2,44,32,2,75,4,64,32,5,32,5,41,2,56,55,2,44,32,5,32,5,40,2,64,54,2,52,11,32,5,40,2,32,65,5,65,1,32,5,40,2,0,65,127,70,27,106,34,2,32,11,32,2,32,11,75,27,33,11,2,64,32,3,69,13,0,32,5,40,2,136,10,32,1,32,5,40,2,160,9,40,2,124,17,1,0,33,27,32,27,2,127,35,1,65,148,12,106,34,2,32,15,13,0,26,32,2,32,36,45,0,44,65,192,0,113,69,13,0,26,32,2,32,52,32,36,40,2,36,27,11,34,2,40,2,24,71,4,64,65,1,33,3,12,4,11,32,27,65,25,79,4,127,32,2,40,2,0,5,32,2,11,32,1,32,27,16,248,1,34,2,65,0,71,33,3,32,5,40,2,56,32,0,75,13,3,32,2,13,3,32,5,40,2,160,9,34,20,32,16,32,20,40,2,108,32,5,47,1,4,65,1,116,106,47,1,0,34,21,16,25,33,12,2,64,32,18,65,1,113,13,0,2,64,32,5,40,2,132,9,40,2,0,32,47,106,34,8,40,2,0,34,2,40,2,152,1,69,13,0,3,64,32,2,47,1,144,1,69,13,2,32,2,40,2,20,34,41,69,13,2,2,127,32,41,65,1,113,34,3,4,64,32,2,45,0,27,32,2,47,1,24,32,2,45,0,26,65,16,116,114,65,128,128,252,7,113,65,16,118,106,12,1,11,32,41,40,2,16,32,41,40,2,4,106,11,13,1,32,2,40,2,156,1,32,8,40,2,8,77,13,2,2,64,32,3,4,64,32,41,65,32,113,69,13,1,12,4,11,32,41,45,0,45,65,2,113,13,3,32,41,40,2,32,13,3,11,32,2,40,2,16,34,2,13,0,11,12,1,11,32,12,32,16,70,13,0,65,0,33,3,12,4,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,21,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,20,40,2,8,32,20,40,2,4,106,32,21,77,13,0,32,20,40,2,56,32,21,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,224,1,32,1,65,128,8,35,1,65,214,5,106,32,6,65,224,1,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,40,2,32,32,0,71,4,64,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,0,54,2,32,32,5,32,29,173,32,53,173,66,32,134,132,55,2,36,32,5,40,2,68,33,21,2,64,2,127,32,5,40,2,100,34,20,4,64,3,64,2,64,32,21,32,2,65,24,108,106,34,12,40,2,20,34,8,32,0,77,13,0,32,8,32,12,40,2,16,34,3,77,13,0,32,0,32,3,77,4,64,32,5,32,12,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,20,71,13,0,11,11,32,5,32,20,54,2,104,32,21,32,20,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,32,5,32,57,55,2,124,32,5,40,2,96,5,32,2,11,69,4,64,32,5,40,2,140,10,69,13,1,11,32,6,32,53,54,2,216,1,32,6,32,29,54,2,212,1,32,6,32,4,65,255,255,3,113,54,2,208,1,32,1,65,128,8,35,1,65,144,1,106,32,6,65,208,1,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,16,44,32,5,32,4,65,255,255,3,113,32,5,40,2,160,9,40,2,92,17,1,0,33,8,2,64,32,5,40,2,56,34,2,13,0,32,50,40,2,0,69,13,0,2,64,32,5,40,2,104,34,0,32,5,40,2,100,70,13,0,32,0,69,13,0,32,5,40,2,32,32,5,40,2,68,32,0,65,24,108,106,34,0,40,2,16,71,13,0,32,0,65,4,107,40,2,0,33,2,32,5,32,0,65,16,107,41,2,0,55,2,60,32,5,32,2,54,2,56,12,1,11,32,5,32,5,41,2,32,34,56,55,2,56,32,5,32,5,40,2,40,54,2,64,32,56,167,33,2,11,32,5,40,2,44,32,2,75,4,64,32,5,32,5,41,2,56,55,2,44,32,5,32,5,40,2,64,54,2,52,11,32,5,40,2,32,34,0,65,5,65,1,32,5,40,2,0,65,127,70,27,106,34,3,32,11,32,3,32,11,75,27,33,11,2,64,2,64,32,8,69,4,64,32,18,65,1,113,69,4,64,32,0,32,7,70,33,2,32,5,40,2,160,9,40,2,88,34,0,47,1,2,33,25,32,0,47,1,0,33,4,65,1,33,18,32,7,33,0,32,2,13,5,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,58,55,2,36,32,5,32,0,54,2,32,32,5,40,2,68,33,12,2,64,2,127,32,5,40,2,100,34,21,4,64,3,64,2,64,32,12,32,2,65,24,108,106,34,8,40,2,20,34,0,32,7,77,13,0,32,0,32,8,40,2,16,34,3,77,13,0,32,3,32,7,34,0,79,4,64,32,5,32,8,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,21,71,13,0,11,11,32,5,32,21,54,2,104,32,12,32,21,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,12,5,11,32,49,13,2,2,64,32,5,40,2,96,34,2,69,4,64,32,5,40,2,140,10,69,13,3,32,1,35,1,34,2,65,235,7,106,34,0,41,0,0,55,0,0,32,1,32,0,40,0,24,54,0,24,32,1,32,2,41,0,251,7,55,0,16,32,1,32,2,41,0,243,7,55,0,8,12,1,11,32,1,35,1,34,3,65,235,7,106,34,0,41,0,0,55,0,0,32,1,32,0,40,0,24,54,0,24,32,1,32,3,41,0,251,7,55,0,16,32,1,32,3,41,0,243,7,55,0,8,32,5,40,2,92,65,0,32,1,32,2,17,3,0,32,5,40,2,140,10,69,13,2,11,32,1,33,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,65,0,33,12,65,0,33,25,65,0,32,49,69,13,4,26,12,5,11,32,5,40,2,32,33,0,32,5,40,2,0,33,14,32,5,40,2,44,34,9,33,48,32,5,40,2,52,34,42,33,43,32,5,40,2,48,34,30,33,44,11,32,0,32,9,70,4,64,32,5,32,5,40,2,24,17,0,0,4,64,32,5,65,255,255,3,59,1,4,32,0,33,9,12,5,11,32,5,65,0,32,5,40,2,8,17,5,0,32,5,40,2,32,33,0,11,32,5,40,2,40,33,43,32,5,40,2,36,33,44,65,1,33,49,32,0,33,9,65,1,33,18,12,1,11,11,32,49,13,1,65,128,1,65,0,32,3,27,33,25,32,5,40,0,56,33,2,32,5,45,0,120,33,12,65,1,11,33,15,32,5,47,1,4,33,4,32,5,40,0,48,33,18,32,5,40,0,52,33,9,32,6,32,5,40,0,44,34,0,32,7,107,34,3,65,0,32,0,32,3,79,27,54,2,144,3,32,6,32,9,32,9,32,58,66,32,136,167,107,34,3,65,0,32,3,32,9,77,27,32,18,32,58,167,34,3,75,27,173,66,32,134,32,18,32,3,107,34,3,65,0,32,3,32,18,77,27,173,132,55,2,148,3,32,50,40,0,0,33,8,32,5,40,0,60,33,7,32,6,32,2,32,0,107,34,3,65,0,32,2,32,3,79,27,54,2,128,3,32,6,32,7,32,18,107,34,3,65,0,32,3,32,7,77,27,173,32,8,32,8,32,9,107,34,3,65,0,32,3,32,8,77,27,32,7,32,18,75,27,173,66,32,134,132,55,2,132,3,32,11,32,2,107,33,7,32,5,40,2,160,9,33,3,32,15,69,13,1,32,3,40,2,108,32,4,65,1,116,106,47,1,0,33,4,65,0,33,11,12,2,11,32,44,32,30,107,34,0,65,0,32,0,32,44,77,27,173,32,43,32,43,32,42,107,34,0,65,0,32,0,32,43,77,27,32,30,32,44,73,27,173,66,32,134,132,33,57,32,42,32,42,32,58,66,32,136,167,107,34,0,65,0,32,0,32,42,77,27,32,30,32,58,167,34,0,75,27,173,66,32,134,32,30,32,0,107,34,0,65,0,32,0,32,30,77,27,173,132,33,56,32,9,32,48,107,34,0,65,0,32,0,32,9,77,27,33,8,32,48,32,7,107,34,0,65,0,32,0,32,48,77,27,33,4,32,11,32,9,107,33,3,2,127,32,5,40,2,140,9,34,0,4,64,32,5,32,0,65,1,107,34,0,54,2,140,9,32,5,40,2,136,9,32,0,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,0,32,6,66,0,55,3,152,3,32,6,66,0,55,3,160,3,65,0,33,2,32,6,65,0,54,2,168,3,32,6,65,1,54,2,212,3,32,6,32,4,54,2,208,3,32,6,32,56,55,3,128,3,32,6,32,8,54,2,200,3,32,6,32,57,55,3,216,3,32,6,32,3,54,2,196,3,32,6,65,0,54,2,192,3,32,6,65,0,54,2,188,3,32,6,65,255,255,3,59,1,184,3,32,6,32,16,59,1,182,3,32,6,65,3,59,1,180,3,32,6,65,0,59,1,178,3,32,6,66,0,55,3,144,3,32,0,32,6,40,2,212,3,54,2,0,32,0,32,6,40,2,208,3,54,2,4,32,0,32,6,41,3,128,3,55,2,8,32,0,32,6,40,2,200,3,54,2,16,32,0,32,6,41,3,216,3,55,2,20,32,0,32,6,40,2,196,3,54,2,28,32,0,32,6,40,2,192,3,54,2,32,32,0,32,6,40,2,188,3,54,2,36,32,0,32,6,47,1,184,3,59,1,40,32,0,32,6,47,1,182,3,59,1,42,32,0,32,6,47,1,180,3,34,3,59,1,44,32,0,32,6,47,1,178,3,59,1,46,32,0,32,6,40,2,168,3,54,2,72,32,0,65,64,107,32,6,41,3,160,3,55,2,0,32,0,32,6,41,3,152,3,55,2,56,32,0,32,6,41,3,144,3,55,2,48,32,0,32,14,54,2,48,32,0,32,3,65,24,114,59,1,44,65,0,33,4,65,0,33,12,32,0,33,7,32,0,65,8,118,12,2,11,65,0,33,11,32,4,69,13,0,32,4,32,3,47,1,100,71,13,0,32,5,40,2,32,32,0,71,4,64,65,0,33,3,32,5,65,0,58,0,128,1,32,5,65,0,54,2,124,32,5,32,0,54,2,32,32,5,32,5,41,0,48,55,2,36,32,5,40,2,68,33,21,2,64,2,127,32,5,40,2,100,34,14,4,64,3,64,2,64,32,21,32,3,65,24,108,106,34,18,40,2,20,34,9,32,0,77,13,0,32,9,32,18,40,2,16,34,8,77,13,0,32,0,32,8,77,4,64,32,5,32,18,41,2,0,55,2,36,32,5,32,8,54,2,32,32,8,33,0,11,32,5,32,3,54,2,104,32,5,40,2,72,69,4,64,65,0,33,3,12,5,11,65,0,32,0,32,5,40,2,108,34,8,73,13,3,26,65,0,34,3,32,0,32,5,40,2,112,32,8,106,79,13,3,26,12,4,11,32,3,65,1,106,34,3,32,14,71,13,0,11,11,32,5,32,14,54,2,104,32,21,32,14,65,24,108,106,34,3,65,4,107,40,2,0,33,0,32,5,32,3,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,3,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,3,54,2,116,11,32,5,16,44,32,5,65,0,32,5,40,2,160,9,40,2,96,17,1,0,69,4,64,32,5,40,2,160,9,33,3,12,1,11,32,5,40,2,160,9,33,3,65,1,33,11,32,5,40,2,56,32,2,71,13,0,32,5,47,1,4,33,0,2,64,2,64,32,3,40,2,24,34,2,32,16,77,4,64,32,3,40,2,44,32,3,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,14,69,13,2,32,2,65,2,106,33,18,65,0,33,8,3,64,32,18,65,4,106,33,2,32,18,47,1,2,34,20,4,127,32,2,32,20,65,1,116,106,33,21,65,0,33,9,3,64,32,2,47,1,0,32,0,70,13,4,32,2,65,2,106,33,2,32,9,65,1,106,34,9,32,20,71,13,0,11,32,21,5,32,2,11,33,18,32,8,65,1,106,34,8,32,14,71,13,0,11,12,2,11,32,3,40,2,40,32,3,40,2,4,32,16,108,65,1,116,106,32,0,65,1,116,106,33,18,11,32,18,47,1,0,69,13,0,32,0,33,4,12,1,11,32,3,40,2,0,65,15,73,13,0,32,3,40,2,88,32,51,106,47,1,4,34,2,69,13,0,32,3,47,1,144,1,34,8,69,13,0,32,8,32,2,32,8,108,34,2,106,33,18,32,3,40,2,140,1,33,9,3,64,32,0,32,9,32,2,65,1,116,106,47,1,0,34,8,70,4,64,32,0,33,4,12,2,11,32,8,69,13,1,32,2,65,1,106,34,2,32,18,73,13,0,11,11,32,6,32,6,40,2,152,3,54,2,200,1,32,6,32,6,40,2,136,3,54,2,184,1,32,6,32,6,41,2,144,3,55,3,192,1,32,6,32,6,41,2,128,3,55,3,176,1,32,7,33,0,32,12,65,1,113,33,12,65,0,33,18,35,0,65,224,0,107,34,14,36,0,65,1,33,7,65,1,33,9,2,64,2,64,2,64,2,64,32,4,65,255,255,3,113,34,21,65,254,255,3,107,14,2,1,2,0,11,32,3,40,2,72,32,21,65,3,108,106,34,2,45,0,1,33,9,32,2,45,0,0,33,7,32,21,69,33,18,32,21,65,255,1,75,13,1,32,15,13,1,32,0,65,15,75,13,1,32,6,40,2,192,1,34,8,65,254,1,75,13,1,32,6,40,2,196,1,34,4,65,15,75,13,1,32,6,40,2,200,1,34,3,65,254,1,75,13,1,32,6,40,2,176,1,34,2,65,254,1,75,13,1,32,6,40,2,180,1,13,1,32,6,40,2,184,1,65,254,1,75,13,1,32,6,32,2,58,0,223,3,32,6,32,8,58,0,222,3,32,6,32,3,58,0,220,3,32,6,32,16,59,1,218,3,32,6,32,21,58,0,217,3,32,6,32,4,65,15,113,32,0,65,4,116,114,58,0,221,3,32,6,32,9,65,2,116,65,0,65,8,32,21,27,106,65,192,0,65,0,32,11,27,106,32,7,65,1,116,106,65,1,114,58,0,216,3,12,2,11,65,0,33,7,65,0,33,9,11,2,127,32,32,40,2,4,34,2,4,64,32,32,32,2,65,1,107,34,2,54,2,4,32,32,40,2,0,32,2,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,2,32,14,65,1,54,2,92,32,14,32,6,40,2,200,1,54,2,88,32,14,32,6,41,2,192,1,55,3,80,32,14,32,6,40,2,184,1,54,2,72,32,6,41,2,176,1,33,56,32,14,66,0,55,3,16,32,14,66,0,55,3,24,32,14,65,0,54,2,32,32,14,32,56,55,3,64,32,14,32,0,54,2,60,32,14,65,0,54,2,56,32,14,65,0,54,2,52,32,14,32,21,59,1,48,32,14,32,16,59,1,46,32,14,65,0,59,1,42,32,14,66,0,55,3,8,32,14,32,9,65,1,116,32,7,106,65,255,1,113,65,128,2,65,0,32,12,27,65,192,0,65,0,32,15,27,114,65,128,8,65,0,32,11,27,114,65,4,65,0,32,18,27,114,114,59,1,44,32,2,32,14,40,2,92,54,2,0,32,2,32,14,40,2,88,54,2,12,32,2,32,14,41,3,80,55,2,4,32,2,32,14,40,2,72,54,2,24,32,2,32,14,41,3,64,55,2,16,32,2,32,14,40,2,60,54,2,28,32,2,32,14,40,2,56,54,2,32,32,2,32,14,40,2,52,54,2,36,32,2,32,14,47,1,48,59,1,40,32,2,32,14,47,1,46,59,1,42,32,2,32,14,47,1,44,59,1,44,32,2,32,14,47,1,42,59,1,46,32,2,32,14,40,2,32,54,2,72,32,2,65,64,107,32,14,41,3,24,55,2,0,32,2,32,14,41,3,16,55,2,56,32,2,32,14,41,3,8,55,2,48,32,6,65,0,54,2,220,3,32,6,32,2,54,2,216,3,11,32,14,65,224,0,106,36,0,32,6,41,3,216,3,34,56,66,48,136,167,33,3,32,6,40,2,220,3,33,2,32,6,40,2,216,3,33,0,32,56,167,33,7,32,15,4,64,32,7,32,27,54,2,72,32,7,65,48,106,33,8,32,27,65,25,79,4,64,32,8,32,27,35,5,40,2,0,17,0,0,34,8,54,2,0,11,32,27,4,64,32,8,32,1,32,27,252,10,0,0,11,32,7,32,7,47,1,44,65,255,254,3,113,32,25,114,59,1,44,11,32,56,66,56,136,167,33,12,32,3,65,255,1,113,33,4,32,56,66,8,136,167,11,33,3,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,8,35,1,65,171,10,106,33,11,2,64,2,64,2,64,32,7,65,1,113,4,127,32,3,65,255,1,113,5,32,7,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,11,12,1,11,32,8,40,2,56,32,3,65,2,116,106,40,2,0,33,11,11,32,1,35,1,65,201,10,106,34,3,41,0,0,55,0,0,32,1,32,3,41,0,13,55,0,13,32,1,32,3,41,0,8,55,0,8,65,0,33,8,65,20,33,3,2,64,32,11,45,0,0,34,9,69,13,0,3,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,9,65,255,1,113,34,18,65,9,107,14,5,0,1,2,3,4,5,11,32,1,32,3,106,65,220,232,1,59,0,0,32,3,65,2,106,12,5,11,32,1,32,3,106,65,220,220,1,59,0,0,32,3,65,2,106,12,4,11,32,1,32,3,106,65,220,236,1,59,0,0,32,3,65,2,106,12,3,11,32,1,32,3,106,65,220,204,1,59,0,0,32,3,65,2,106,12,2,11,32,1,32,3,106,65,220,228,1,59,0,0,32,3,65,2,106,12,1,11,32,18,65,220,0,70,4,64,32,1,32,3,106,65,220,184,1,59,0,0,32,3,65,2,106,12,1,11,32,1,32,3,106,32,9,58,0,0,32,3,65,1,106,11,33,3,32,11,32,8,65,1,106,34,8,106,45,0,0,34,9,69,13,1,32,3,65,128,8,72,13,0,11,11,65,128,8,32,3,107,33,8,32,1,32,3,106,33,3,32,6,32,7,65,1,113,4,127,32,4,32,12,106,5,32,7,40,2,16,32,7,40,2,4,106,11,54,2,160,1,32,3,32,8,35,1,65,159,2,106,32,6,65,160,1,106,16,249,1,26,32,5,40,2,96,34,3,4,64,32,5,40,2,92,65,0,32,1,32,3,17,3,0,11,32,1,33,9,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,9,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,69,13,4,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,9,45,0,0,33,3,11,32,3,192,32,5,40,2,140,10,16,241,1,32,9,65,1,106,33,9,12,0,11,0,11,65,0,33,0,11,32,6,32,2,54,2,252,2,32,6,32,0,54,2,248,2,32,5,45,0,224,10,13,1,32,6,2,127,2,64,32,0,4,64,32,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,11,32,22,69,4,64,32,26,32,26,40,2,0,65,1,106,54,2,0,32,26,40,2,0,26,11,32,35,40,2,0,4,64,32,6,32,35,41,2,0,55,3,152,1,32,32,32,6,65,152,1,106,16,60,11,32,34,40,2,0,4,64,32,6,32,34,41,2,0,55,3,144,1,32,32,32,6,65,144,1,106,16,60,11,32,5,32,39,54,2,240,9,32,5,32,2,54,2,228,9,32,5,32,0,54,2,224,9,32,5,32,45,54,2,236,9,32,5,32,26,54,2,232,9,32,5,40,2,160,9,33,15,32,6,45,0,248,2,34,0,65,1,113,4,64,32,6,45,0,249,2,34,18,33,9,12,2,11,32,6,40,2,248,2,34,0,65,8,118,33,18,32,0,47,1,40,34,9,65,254,255,3,73,13,1,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,2,11,32,0,65,8,118,33,18,2,64,2,64,32,5,40,2,160,9,34,9,40,2,24,34,2,32,16,77,4,64,32,9,40,2,44,32,9,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,7,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,12,65,0,33,11,3,64,32,12,65,4,106,33,2,32,12,47,1,2,34,8,4,127,32,2,32,8,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,69,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,8,71,13,0,11,32,4,5,32,2,11,33,12,65,0,33,2,32,11,65,1,106,34,11,32,7,71,13,0,11,12,2,11,32,9,40,2,40,32,9,40,2,4,32,16,108,65,1,116,106,47,1,0,33,2,12,1,11,32,12,47,1,0,33,2,11,32,6,32,9,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,12,1,11,2,64,2,64,32,15,40,2,24,34,2,32,16,77,4,64,32,15,40,2,44,32,15,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,8,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,12,4,127,32,2,32,12,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,12,71,13,0,11,32,4,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,8,71,13,0,11,12,2,11,32,15,40,2,40,32,15,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,15,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,11,32,5,32,39,54,2,212,10,32,5,32,5,45,0,226,10,58,0,216,10,32,5,32,5,40,2,172,10,65,1,106,34,2,65,0,32,2,65,227,0,77,27,34,2,54,2,172,10,32,2,13,1,2,64,32,5,40,2,176,10,34,2,4,64,32,2,40,2,0,13,1,11,2,64,32,5,41,3,144,10,80,4,64,32,40,40,2,0,69,13,1,11,32,6,65,144,3,106,16,237,1,32,6,41,3,144,3,34,57,32,5,41,3,144,10,34,56,85,13,1,32,56,32,57,85,13,0,32,6,40,2,152,3,32,40,40,2,0,74,13,1,11,32,5,40,2,204,10,34,2,69,13,2,32,28,32,2,17,0,0,69,13,2,11,32,6,40,2,248,2,69,13,0,32,6,32,6,41,3,248,2,55,3,136,1,32,32,32,6,65,136,1,106,16,60,11,65,0,33,2,12,6,11,2,64,32,6,40,2,236,2,34,15,69,13,0,32,6,40,2,248,2,34,0,65,8,118,33,18,65,0,33,3,65,127,33,12,32,6,40,2,232,2,33,7,65,0,33,9,3,64,32,7,32,9,65,3,116,106,34,2,46,1,4,33,21,32,2,47,1,2,33,8,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,2,45,0,0,14,4,0,1,2,3,6,11,32,21,65,128,2,113,13,5,32,5,40,2,96,33,3,32,21,65,1,113,4,64,2,64,32,3,69,4,64,32,16,33,8,32,5,40,2,140,10,69,13,14,32,1,35,1,65,239,9,106,34,2,41,0,0,55,0,0,32,1,32,2,40,0,8,54,0,8,12,1,11,32,1,35,1,65,239,9,106,34,2,41,0,0,55,0,0,32,1,32,2,40,0,8,54,0,8,32,5,40,2,92,65,0,32,1,32,3,17,3,0,32,16,33,8,32,5,40,2,140,10,69,13,13,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,32,16,33,8,12,15,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,3,69,4,64,32,5,40,2,140,10,69,13,12,11,32,6,32,8,54,2,96,32,1,65,128,8,35,1,65,169,2,106,32,6,65,224,0,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,5,40,2,140,10,69,13,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,69,13,14,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,2,47,1,6,33,4,32,2,45,0,1,33,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,4,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,8,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,5,40,2,160,9,34,3,40,2,8,32,3,40,2,4,106,32,8,77,13,0,32,3,40,2,56,32,8,65,2,116,106,40,2,0,33,2,11,32,6,32,11,54,2,116,32,6,32,2,54,2,112,32,1,65,128,8,35,1,65,29,106,32,6,65,240,0,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,6,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,64,32,5,40,2,96,34,2,69,4,64,32,5,40,2,140,10,69,13,3,32,1,35,1,34,0,40,0,130,3,54,0,0,32,1,32,0,40,0,133,3,54,0,3,12,1,11,32,1,35,1,34,0,40,0,130,3,54,0,0,32,1,32,0,40,0,133,3,54,0,3,32,5,40,2,92,65,0,32,1,32,2,17,3,0,32,5,40,2,140,10,69,13,2,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,2,2,64,32,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,5,32,6,65,248,2,106,65,0,32,5,65,244,9,106,16,76,11,32,6,32,6,41,3,248,2,55,3,128,1,32,5,32,19,32,6,65,128,1,106,16,77,32,46,69,13,10,32,5,65,244,9,106,16,79,12,10,11,32,6,32,6,41,3,248,2,55,3,120,32,5,32,19,32,6,65,248,0,106,16,81,65,1,33,2,12,9,11,65,1,33,3,32,12,32,5,32,19,32,8,32,11,32,21,32,4,32,15,65,1,71,32,0,69,16,82,34,2,32,2,65,127,70,27,33,12,11,32,9,65,1,106,34,9,32,15,71,13,0,11,32,12,65,127,71,4,64,32,5,40,2,132,9,32,12,32,19,16,83,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,32,6,40,2,248,2,34,0,65,8,118,33,18,32,5,40,2,132,9,40,2,0,32,47,106,40,2,0,47,1,0,33,16,65,1,33,2,32,0,69,13,6,32,5,40,2,160,9,33,17,32,0,65,1,113,4,64,32,18,65,255,1,113,33,9,12,4,11,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,34,9,65,254,255,3,73,13,3,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,4,11,32,3,65,1,113,69,13,0,32,6,40,2,248,2,4,64,32,6,32,6,41,3,248,2,55,3,48,32,32,32,6,65,48,106,16,60,11,32,5,40,2,132,9,40,2,0,32,19,65,5,116,106,65,2,54,2,28,65,1,33,2,12,6,11,2,64,2,64,2,64,32,0,65,1,113,34,21,4,64,65,1,33,2,32,0,65,192,0,113,13,1,32,0,33,4,12,3,11,32,6,40,2,248,2,34,4,65,8,118,33,18,65,0,33,2,32,4,45,0,45,65,4,113,69,13,2,32,4,47,1,40,34,8,32,5,40,2,160,9,34,12,47,1,100,34,9,71,13,1,12,2,11,32,5,40,2,160,9,34,12,47,1,100,34,9,32,18,65,255,1,113,70,4,64,32,0,33,4,12,2,11,32,18,65,255,1,113,33,8,32,0,33,4,11,2,64,32,12,40,2,0,65,15,73,13,0,32,12,40,2,88,32,51,106,47,1,4,34,2,69,13,0,32,12,47,1,144,1,34,3,69,13,0,32,3,32,2,32,3,108,34,2,106,33,11,32,12,40,2,140,1,33,7,3,64,32,8,32,7,32,2,65,1,116,106,47,1,0,34,3,70,4,64,32,0,33,2,12,3,11,32,3,69,13,1,32,2,65,1,106,34,2,32,11,73,13,0,11,11,32,9,65,254,255,3,79,4,64,32,6,65,0,58,0,240,2,32,6,66,0,55,3,232,2,32,0,33,2,12,1,11,2,64,2,64,32,12,40,2,24,34,2,32,16,77,4,64,32,12,40,2,44,32,12,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,15,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,14,4,127,32,2,32,14,65,1,116,106,33,8,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,14,71,13,0,11,32,8,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,15,71,13,0,11,12,2,11,32,12,40,2,40,32,12,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,12,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,7,45,0,0,34,3,54,2,236,2,32,7,45,0,1,33,2,32,6,32,7,65,8,106,54,2,232,2,32,6,32,2,58,0,240,2,32,3,69,4,64,32,0,33,2,12,1,11,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,21,4,127,32,18,65,255,1,113,5,32,6,40,2,248,2,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,12,40,2,8,32,12,40,2,4,106,32,0,77,13,0,32,12,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,9,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,12,40,2,8,32,12,40,2,4,106,32,9,77,13,0,32,12,40,2,56,32,9,65,2,116,106,40,2,0,33,3,11,32,6,32,3,54,2,36,32,6,32,2,54,2,32,32,1,65,128,8,35,1,65,208,3,106,32,6,65,32,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,6,32,6,41,3,248,2,34,56,55,3,128,3,32,56,66,32,136,33,57,2,64,32,56,167,34,3,65,1,113,4,64,32,3,33,0,12,1,11,32,3,34,0,40,2,0,65,1,70,13,0,32,0,40,2,36,65,3,116,65,204,0,106,34,2,35,5,40,2,0,17,0,0,33,7,32,2,4,64,32,7,32,0,32,0,40,2,36,65,3,116,107,32,2,252,10,0,0,11,32,7,32,3,40,2,36,34,9,65,3,116,106,33,0,65,0,33,2,2,64,32,9,4,64,3,64,32,7,32,2,65,3,116,106,40,0,0,34,4,65,1,113,69,4,64,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,32,3,40,2,36,33,9,11,32,2,65,1,106,34,2,32,9,73,13,0,12,2,11,0,11,32,3,45,0,44,65,192,0,113,69,13,0,32,3,40,2,48,33,2,32,6,32,3,41,2,68,55,3,160,3,32,6,32,3,41,2,60,55,3,152,3,32,6,32,3,41,2,52,55,3,144,3,2,64,32,3,40,2,72,34,4,65,25,73,13,0,32,4,35,5,40,2,0,17,0,0,33,2,32,3,40,2,72,34,4,69,13,0,32,2,32,3,40,2,48,32,4,252,10,0,0,11,32,0,32,2,54,2,48,32,0,32,6,41,3,144,3,55,2,52,32,0,32,6,41,3,152,3,55,2,60,32,0,32,6,41,3,160,3,55,2,68,11,32,0,65,1,54,2,0,32,6,32,6,41,3,128,3,55,3,24,32,32,32,6,65,24,106,16,60,66,0,33,57,11,65,1,33,2,65,1,33,3,2,64,2,64,2,64,32,5,40,2,160,9,34,4,47,1,100,34,7,65,254,255,3,107,14,2,0,2,1,11,65,0,33,2,65,0,33,3,12,1,11,32,4,40,2,72,32,7,65,3,108,106,34,3,45,0,1,33,2,32,3,45,0,0,33,3,11,2,64,32,0,65,1,113,4,64,32,0,65,249,1,113,32,2,65,2,116,114,32,3,65,1,116,106,65,255,1,113,32,0,65,128,128,124,113,32,7,65,8,116,65,128,254,3,113,114,114,33,0,12,1,11,32,0,32,7,59,1,40,32,0,32,0,47,1,44,65,252,255,3,113,32,3,32,2,65,1,116,114,65,255,1,113,114,59,1,44,11,32,6,32,0,173,34,56,32,57,66,32,134,132,55,3,248,2,32,56,66,8,136,167,33,18,65,0,33,2,12,1,11,11,32,5,32,19,16,80,4,64,32,5,40,2,132,9,40,2,0,32,47,106,40,2,0,47,1,0,33,16,32,6,32,6,41,3,248,2,55,3,8,32,32,32,6,65,8,106,16,60,65,1,33,2,32,4,33,0,12,4,11,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,32,2,65,1,113,4,127,32,18,65,255,1,113,5,32,6,40,2,248,2,47,1,40,11,33,0,32,5,40,2,160,9,33,3,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,3,40,2,8,32,3,40,2,4,106,32,0,77,13,0,32,3,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,16,32,1,65,128,8,35,1,65,196,7,106,32,6,65,16,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,5,40,2,132,9,40,2,0,32,19,65,5,116,106,34,0,32,6,41,3,248,2,55,2,20,65,1,33,2,32,0,65,1,54,2,28,32,0,32,0,40,2,0,40,2,156,1,54,2,8,12,4,11,2,64,2,64,32,17,40,2,24,34,2,32,16,77,4,64,32,17,40,2,44,32,17,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,8,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,12,4,127,32,2,32,12,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,12,71,13,0,11,32,4,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,8,71,13,0,11,12,2,11,32,17,40,2,40,32,17,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,17,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,65,0,33,2,12,1,11,11,2,64,32,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,5,32,6,65,248,2,106,32,16,32,5,65,244,9,106,16,76,32,5,40,2,160,9,32,16,2,127,32,6,45,0,248,2,65,1,113,4,64,32,6,40,2,248,2,33,0,32,6,45,0,249,2,12,1,11,32,6,40,2,248,2,34,0,47,1,40,11,65,255,255,3,113,16,25,33,8,11,32,6,40,2,252,2,33,11,2,64,2,64,2,64,2,64,32,0,65,1,113,4,64,32,6,32,0,173,34,56,32,11,173,66,32,134,132,55,3,216,3,32,56,66,8,131,80,32,21,65,1,113,70,13,1,32,5,40,2,132,9,33,0,32,6,32,6,41,3,216,3,55,3,56,32,0,32,19,32,6,65,56,106,65,0,32,8,65,255,255,3,113,16,84,12,4,11,32,0,40,2,36,33,2,32,6,32,0,173,32,11,173,66,32,134,132,34,56,55,3,216,3,2,64,32,0,45,0,44,65,4,113,69,32,21,115,65,1,113,13,0,32,2,13,0,32,2,65,0,71,33,25,32,6,32,56,55,3,128,3,32,0,40,2,0,65,1,70,4,64,32,0,33,7,12,3,11,32,0,40,2,36,65,3,116,65,204,0,106,34,1,35,5,40,2,0,17,0,0,33,4,32,1,4,64,32,4,32,0,32,0,40,2,36,65,3,116,107,32,1,252,10,0,0,11,32,4,32,0,40,2,36,34,1,65,3,116,106,33,7,2,64,32,1,4,64,65,0,33,2,3,64,32,4,32,2,65,3,116,106,40,0,0,34,3,65,1,113,69,4,64,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,32,0,40,2,36,33,1,11,32,2,65,1,106,34,2,32,1,73,13,0,11,12,1,11,32,0,45,0,44,65,192,0,113,69,13,0,32,0,40,2,48,33,2,32,6,32,0,41,2,68,55,3,160,3,32,6,32,0,41,2,60,55,3,152,3,32,6,32,0,41,2,52,55,3,144,3,2,64,32,0,40,2,72,34,1,65,25,73,13,0,32,1,35,5,40,2,0,17,0,0,33,2,32,0,40,2,72,34,1,69,13,0,32,2,32,0,40,2,48,32,1,252,10,0,0,11,32,7,32,2,54,2,48,32,7,32,6,41,3,144,3,55,2,52,32,7,32,6,41,3,152,3,55,2,60,32,7,32,6,41,3,160,3,55,2,68,11,32,7,65,1,54,2,0,32,6,32,6,41,3,128,3,55,3,88,32,32,32,6,65,216,0,106,16,60,65,0,33,11,32,7,33,0,12,2,11,32,5,40,2,132,9,33,1,32,6,32,6,41,3,216,3,55,3,80,32,1,32,19,32,6,65,208,0,106,32,2,65,0,71,32,8,65,255,255,3,113,16,84,12,2,11,65,0,33,25,32,0,33,7,11,32,6,32,7,65,1,113,4,127,32,7,65,119,113,65,8,65,0,32,21,65,1,113,27,114,5,32,0,32,0,47,1,44,65,251,255,3,113,65,4,65,0,32,21,65,1,113,27,114,59,1,44,32,7,11,34,0,173,32,11,173,66,32,134,132,34,56,55,3,216,3,32,5,40,2,132,9,33,1,32,6,32,56,55,3,72,32,1,32,19,32,6,65,200,0,106,32,25,32,8,65,255,255,3,113,16,84,32,7,65,1,113,13,1,11,32,0,45,0,44,65,192,0,113,69,13,0,32,5,40,2,132,9,33,7,2,64,32,0,65,1,113,69,4,64,2,127,32,0,40,2,36,34,8,4,64,3,64,32,0,32,8,65,3,116,107,33,4,32,8,33,2,3,64,2,64,2,64,32,4,32,2,65,1,107,34,2,65,3,116,106,34,3,40,2,0,34,1,65,1,113,13,0,32,1,45,0,44,65,192,0,113,69,13,0,32,1,40,2,36,33,8,32,3,40,2,4,33,11,32,1,33,0,12,1,11,32,2,13,1,11,11,32,8,13,0,11,32,7,40,2,0,34,2,32,0,13,1,26,65,0,33,0,12,3,11,32,7,40,2,0,11,33,2,32,0,65,1,113,13,1,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,12,1,11,32,7,40,2,0,33,2,65,0,33,0,65,0,33,11,11,32,2,32,19,65,5,116,106,34,2,40,2,12,4,64,32,7,40,2,52,33,1,32,6,32,2,41,2,12,55,3,64,32,1,32,6,65,64,107,16,60,11,32,2,32,11,54,2,16,32,2,32,0,54,2,12,11,65,1,33,2,32,46,69,13,0,32,5,65,244,9,106,16,79,11,32,6,65,224,3,106,36,0,32,2,69,13,3,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,2,64,32,5,40,2,132,9,34,1,40,2,0,34,2,32,33,106,34,0,40,2,0,40,2,4,34,18,32,38,75,13,0,32,18,32,38,70,32,19,65,0,71,113,13,0,32,0,40,2,28,13,2,12,1,11,11,32,18,33,38,11,65,0,33,13,32,19,65,1,106,34,19,32,1,40,2,4,34,0,73,13,0,11,65,127,33,29,65,0,33,30,32,0,69,4,64,65,1,33,13,12,3,11,3,64,2,64,32,1,40,2,0,32,13,65,5,116,106,34,7,40,2,28,34,3,65,2,70,4,64,32,1,32,13,16,71,12,1,11,32,7,40,2,0,34,8,40,2,152,1,33,1,2,64,32,3,65,1,70,34,4,69,4,64,32,8,47,1,0,13,1,32,8,40,2,20,13,1,11,32,1,65,244,3,106,33,1,11,32,8,40,2,156,1,34,2,32,7,40,2,8,34,0,73,4,64,32,7,32,2,54,2,8,32,2,33,0,11,32,8,40,2,160,1,33,11,32,3,65,1,70,4,127,65,1,5,32,1,32,29,32,1,32,29,73,27,32,29,32,8,47,1,0,34,3,27,33,29,32,3,69,11,33,15,32,13,69,4,64,65,1,33,13,12,1,11,32,1,65,228,0,106,32,1,32,4,27,33,14,32,2,32,0,107,65,1,106,33,16,65,0,33,19,3,64,32,5,40,2,132,9,34,23,40,2,0,34,7,32,19,65,5,116,34,17,106,34,22,40,2,0,34,2,40,2,152,1,33,1,2,64,32,22,40,2,28,34,12,65,1,70,34,8,69,4,64,32,1,33,4,32,2,47,1,0,13,1,32,2,40,2,20,13,1,11,32,1,65,244,3,106,33,4,11,32,2,40,2,156,1,34,0,32,22,40,2,8,34,9,73,4,64,32,22,32,0,54,2,8,32,0,33,9,11,32,4,65,228,0,106,32,4,32,8,27,33,21,32,2,40,2,160,1,33,3,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,8,13,0,32,2,47,1,0,69,13,0,32,15,69,13,1,32,4,32,14,73,13,2,12,7,11,32,15,13,0,32,14,32,21,79,13,3,12,4,11,32,14,32,21,77,4,64,32,14,32,21,79,13,2,32,21,32,14,107,32,16,108,65,136,14,75,13,4,12,3,11,32,0,32,9,107,65,1,106,32,14,32,21,107,108,65,137,14,73,13,5,11,32,7,32,13,65,5,116,34,2,106,34,4,40,2,0,4,64,32,23,40,2,52,33,1,32,4,40,2,12,4,64,32,10,32,4,41,2,12,55,3,88,32,1,32,10,65,216,0,106,16,60,11,32,4,40,2,20,4,64,32,10,32,4,41,2,20,55,3,80,32,1,32,10,65,208,0,106,16,60,11,32,4,40,2,4,34,3,4,64,32,3,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,4,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,4,40,2,0,32,23,65,36,106,32,1,16,65,32,23,40,2,0,33,7,11,32,23,40,2,4,32,13,65,127,115,106,65,5,116,34,1,4,64,32,2,32,7,106,34,0,32,0,65,32,106,32,1,252,10,0,0,11,32,23,32,23,40,2,4,65,1,107,54,2,4,12,6,11,32,3,32,11,78,13,3,11,32,7,32,13,65,5,116,106,33,9,2,64,32,12,13,0,32,9,40,2,28,13,0,32,2,47,1,0,34,3,32,9,40,2,0,34,0,47,1,0,71,13,0,32,2,40,2,4,32,0,40,2,4,71,13,0,32,1,32,0,40,2,152,1,71,13,0,32,9,40,0,12,33,8,2,127,35,1,65,148,12,106,34,1,32,22,40,0,12,34,4,69,13,0,26,32,1,32,4,65,1,113,13,0,26,32,1,32,4,45,0,44,65,192,0,113,69,13,0,26,32,1,32,4,65,48,106,32,4,40,2,36,27,11,34,7,40,2,24,33,1,2,64,2,127,35,1,65,148,12,106,34,4,32,8,69,13,0,26,32,4,32,8,65,1,113,13,0,26,32,4,32,8,45,0,44,65,192,0,113,69,13,0,26,32,4,32,8,65,48,106,32,8,40,2,36,27,11,34,8,40,2,24,34,4,65,25,79,4,64,32,1,32,4,71,13,2,32,7,40,2,0,33,7,32,8,40,2,0,33,8,12,1,11,32,1,32,4,71,13,1,11,32,7,32,8,32,4,16,248,1,13,0,32,0,47,1,144,1,4,127,65,0,33,2,3,64,32,23,40,2,52,33,3,32,22,40,2,0,33,1,32,10,32,0,32,2,65,4,116,106,34,0,41,2,24,55,3,120,32,10,32,0,41,2,16,55,3,112,32,1,32,10,65,240,0,106,32,3,16,72,32,2,65,1,106,34,2,32,9,40,2,0,34,0,47,1,144,1,73,13,0,11,32,22,40,2,0,34,2,47,1,0,5,32,3,11,65,255,255,3,113,13,4,32,22,32,2,40,2,156,1,54,2,8,32,23,32,13,16,71,12,5,11,32,10,32,9,41,2,24,55,3,224,1,32,10,32,9,41,2,16,55,3,216,1,32,10,32,9,41,2,8,55,3,208,1,32,10,32,9,41,2,0,55,3,200,1,32,9,32,22,41,2,0,55,2,0,32,9,32,22,41,2,8,55,2,8,32,9,32,22,41,2,16,55,2,16,32,9,32,22,41,2,24,55,2,24,32,23,40,2,0,32,17,106,34,0,32,10,41,3,200,1,55,2,0,32,0,32,10,41,3,208,1,55,2,8,32,0,32,10,41,3,216,1,55,2,16,32,0,32,10,41,3,224,1,55,2,24,12,1,11,32,23,40,2,52,33,1,32,22,40,2,12,4,64,32,10,32,22,41,2,12,55,3,104,32,1,32,10,65,232,0,106,16,60,11,32,22,40,2,20,4,64,32,10,32,22,41,2,20,55,3,96,32,1,32,10,65,224,0,106,16,60,11,32,22,40,2,4,34,2,4,64,32,2,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,22,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,22,40,2,0,32,23,65,36,106,32,1,16,65,32,23,40,2,4,32,19,65,127,115,106,65,5,116,34,1,4,64,32,23,40,2,0,32,17,106,34,0,32,0,65,32,106,32,1,252,10,0,0,11,32,23,32,23,40,2,4,65,1,107,54,2,4,32,19,65,1,107,33,19,32,13,65,1,107,33,13,11,65,1,33,30,12,3,11,32,12,13,2,32,7,32,13,65,5,116,106,34,9,40,2,28,13,2,32,2,47,1,0,34,3,32,9,40,2,0,34,0,47,1,0,71,13,2,32,2,40,2,4,32,0,40,2,4,71,13,2,32,1,32,0,40,2,152,1,71,13,2,32,9,40,0,12,33,8,2,127,35,1,65,148,12,106,34,1,32,22,40,0,12,34,4,69,13,0,26,32,1,32,4,65,1,113,13,0,26,32,1,32,4,45,0,44,65,192,0,113,69,13,0,26,32,1,32,4,65,48,106,32,4,40,2,36,27,11,34,7,40,2,24,33,1,2,64,2,127,35,1,65,148,12,106,34,4,32,8,69,13,0,26,32,4,32,8,65,1,113,13,0,26,32,4,32,8,45,0,44,65,192,0,113,69,13,0,26,32,4,32,8,65,48,106,32,8,40,2,36,27,11,34,8,40,2,24,34,4,65,25,79,4,64,32,1,32,4,71,13,4,32,7,40,2,0,33,7,32,8,40,2,0,33,8,12,1,11,32,1,32,4,71,13,3,11,32,7,32,8,32,4,16,248,1,13,2,32,0,47,1,144,1,4,127,65,0,33,2,3,64,32,23,40,2,52,33,3,32,22,40,2,0,33,1,32,10,32,0,32,2,65,4,116,106,34,0,41,2,24,55,3,72,32,10,32,0,41,2,16,55,3,64,32,1,32,10,65,64,107,32,3,16,72,32,2,65,1,106,34,2,32,9,40,2,0,34,0,47,1,144,1,73,13,0,11,32,22,40,2,0,34,2,47,1,0,5,32,3,11,65,255,255,3,113,13,0,32,22,32,2,40,2,156,1,54,2,8,11,32,23,32,13,16,71,11,65,1,33,30,32,13,65,1,107,34,13,33,19,11,32,19,65,1,106,34,19,32,13,73,13,0,11,32,13,65,1,106,33,13,11,32,13,32,5,40,2,132,9,34,1,40,2,4,34,33,73,13,0,11,32,33,65,6,75,4,64,3,64,32,1,65,6,16,71,32,5,40,2,132,9,34,1,40,2,4,34,33,65,6,75,13,0,11,65,1,33,30,11,65,0,33,16,65,0,33,2,32,33,4,64,3,64,2,64,32,16,65,5,116,34,34,32,5,40,2,132,9,34,0,40,2,0,106,40,2,28,65,1,71,4,64,65,1,33,2,12,1,11,2,64,2,64,32,2,65,1,113,13,0,32,5,40,2,168,10,65,5,75,13,0,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,10,32,16,54,2,48,32,24,65,128,8,35,1,65,59,106,32,10,65,48,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,32,24,33,2,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,0,32,16,16,71,32,33,65,1,107,33,33,32,16,65,1,107,33,16,65,1,33,30,12,1,11,32,5,40,2,132,9,40,2,0,32,34,106,34,1,40,2,0,34,0,40,2,152,1,33,29,2,64,32,1,40,2,28,65,1,71,4,64,32,0,47,1,0,13,1,32,0,40,2,20,13,1,11,32,29,65,244,3,106,33,29,11,32,1,65,0,54,2,28,32,1,41,2,20,33,56,32,1,66,0,55,2,20,32,10,32,56,55,3,192,1,32,5,40,2,132,9,40,2,4,33,12,32,5,32,16,65,0,16,73,26,32,56,167,33,3,32,5,40,2,132,9,34,2,40,2,4,34,40,32,16,75,4,64,32,2,40,2,0,32,34,106,40,2,0,34,0,40,2,4,33,11,32,0,41,2,8,34,57,66,32,136,167,33,22,32,56,66,8,136,167,33,25,32,57,167,33,45,65,0,33,27,32,3,33,0,32,16,33,7,3,64,2,64,32,27,4,64,65,1,33,27,12,1,11,65,0,33,27,32,5,40,2,160,9,34,4,47,1,12,65,254,255,3,113,69,13,0,32,7,65,5,116,34,23,32,5,40,2,132,9,40,2,0,106,40,2,0,47,1,0,33,35,65,1,33,19,3,64,2,64,2,64,32,19,65,253,255,3,75,13,0,2,64,2,64,32,4,40,2,24,34,28,32,35,77,4,64,32,4,40,2,44,32,4,40,2,48,32,35,32,28,107,65,2,116,106,40,2,0,65,1,116,106,34,1,47,1,0,34,17,69,4,64,65,0,33,1,12,3,11,32,1,65,2,106,33,13,65,0,33,8,3,64,32,13,65,4,106,33,1,32,13,47,1,2,34,15,4,127,32,1,32,15,65,1,116,106,33,9,65,0,33,2,3,64,32,19,32,1,47,1,0,70,13,4,32,1,65,2,106,33,1,32,2,65,1,106,34,2,32,15,71,13,0,11,32,9,5,32,1,11,33,13,65,0,33,1,32,8,65,1,106,34,8,32,17,71,13,0,11,12,2,11,32,4,40,2,40,32,4,40,2,4,32,35,108,65,1,116,106,32,19,65,1,116,106,47,1,0,33,1,12,1,11,32,13,47,1,0,33,1,11,32,4,40,2,52,34,21,32,1,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,1,69,13,0,32,2,32,1,65,3,116,106,34,1,45,0,0,13,0,32,35,32,1,65,8,106,34,1,65,6,107,47,1,0,32,1,65,4,107,45,0,0,65,1,113,27,34,14,65,255,255,3,113,34,1,69,13,0,32,1,32,35,70,13,0,2,64,2,64,32,0,65,1,113,4,64,32,25,65,255,1,113,33,13,65,1,33,0,12,1,11,32,10,40,2,192,1,34,3,65,8,118,33,25,65,196,0,65,40,32,3,34,0,40,2,36,27,32,0,106,47,1,0,34,13,65,253,255,3,75,13,1,11,2,64,2,64,32,1,32,28,79,4,64,32,4,40,2,44,32,4,40,2,48,32,1,32,28,107,65,2,116,106,40,2,0,65,1,116,106,34,1,47,1,0,34,15,69,4,64,65,0,33,1,12,3,11,32,1,65,2,106,33,8,65,0,33,9,3,64,32,8,65,4,106,33,1,32,8,47,1,2,34,28,4,127,32,1,32,28,65,1,116,106,33,17,65,0,33,2,3,64,32,1,47,1,0,32,13,70,13,4,32,1,65,2,106,33,1,32,2,65,1,106,34,2,32,28,71,13,0,11,32,17,5,32,1,11,33,8,65,0,33,1,32,9,65,1,106,34,9,32,15,71,13,0,11,12,2,11,32,4,40,2,40,32,4,40,2,4,32,1,108,65,1,116,106,32,13,65,1,116,106,47,1,0,33,1,12,1,11,32,8,47,1,0,33,1,11,32,21,32,1,65,255,255,3,113,65,3,116,106,34,1,45,0,0,69,13,1,32,1,45,0,8,65,1,71,13,1,2,64,32,5,40,2,32,32,11,70,4,64,32,5,40,2,100,33,4,32,5,40,2,104,33,1,32,11,33,13,12,1,11,65,0,33,1,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,57,55,2,36,32,5,32,11,54,2,32,32,5,40,2,68,33,8,2,64,2,127,32,5,40,2,100,34,4,4,64,3,64,2,64,32,8,32,1,65,24,108,106,34,3,40,2,20,34,2,32,11,77,13,0,32,2,32,3,40,2,16,34,0,77,13,0,32,0,32,11,34,13,79,4,64,32,5,32,3,41,2,0,55,2,36,32,5,32,0,54,2,32,32,0,33,13,11,32,5,32,1,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,13,32,5,40,2,108,34,0,73,13,3,26,65,0,34,2,32,13,32,5,40,2,112,32,0,106,79,13,3,26,12,4,11,32,1,65,1,106,34,1,32,4,71,13,0,11,11,32,5,32,4,54,2,104,32,8,32,4,65,24,108,106,34,0,65,4,107,40,2,0,33,13,32,5,32,0,65,16,107,41,2,0,55,2,36,32,5,32,13,54,2,32,32,4,33,1,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,2,127,2,64,32,1,32,4,70,13,0,32,1,69,13,0,32,13,32,5,40,2,68,32,1,65,24,108,106,34,0,40,2,16,71,13,0,32,0,65,4,107,40,2,0,33,3,32,5,32,0,65,16,107,41,2,0,34,56,55,2,60,32,5,32,3,54,2,56,32,56,66,32,136,167,33,13,32,56,167,12,1,11,32,5,32,5,41,2,32,55,2,56,32,5,32,5,40,2,40,54,2,64,32,5,40,0,64,33,13,32,5,40,0,56,33,3,32,5,40,0,60,11,33,4,2,127,32,10,40,2,192,1,34,0,65,1,113,4,64,32,10,45,0,197,1,65,4,118,33,8,32,10,45,0,198,1,32,10,45,0,199,1,106,12,1,11,32,0,40,2,28,33,8,32,0,40,2,16,32,0,40,2,4,106,11,33,21,32,10,32,5,40,2,132,9,34,20,40,2,0,34,9,32,23,106,34,0,41,2,24,55,3,224,1,32,10,32,0,41,2,16,55,3,216,1,32,10,32,0,41,2,8,55,3,208,1,32,10,32,0,41,2,0,55,3,200,1,32,20,32,20,40,2,4,34,1,65,1,106,34,2,32,20,40,2,8,34,0,75,4,127,32,9,65,8,32,0,65,1,116,34,0,32,2,32,0,32,2,75,27,34,0,32,0,65,8,77,27,34,0,65,5,116,35,4,40,2,0,17,1,0,33,9,32,20,32,0,54,2,8,32,20,32,9,54,2,0,32,20,40,2,4,34,1,65,1,106,5,32,2,11,54,2,4,32,9,32,1,65,5,116,106,34,0,32,10,41,3,200,1,55,2,0,32,0,32,10,41,3,224,1,55,2,24,32,0,32,10,41,3,216,1,55,2,16,32,0,32,10,41,3,208,1,55,2,8,32,20,40,2,0,32,20,40,2,4,34,9,65,5,116,106,34,28,65,32,107,40,2,0,34,0,4,64,32,0,32,0,40,2,148,1,65,1,106,54,2,148,1,11,32,13,32,22,107,34,0,65,0,32,0,32,13,77,27,33,15,32,4,32,45,75,33,17,32,4,32,4,32,45,107,34,4,73,33,2,32,3,32,11,107,34,1,32,3,75,33,0,2,64,32,28,65,20,107,40,2,0,34,3,69,13,0,32,3,65,1,113,13,0,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,32,20,40,2,4,33,9,11,32,13,32,15,32,17,27,33,20,65,0,32,4,32,2,27,33,17,65,0,32,1,32,0,27,33,4,32,8,32,21,106,33,3,32,28,65,28,107,65,0,54,2,0,65,1,33,2,65,1,33,13,2,126,2,64,2,64,2,64,32,19,65,254,255,3,107,34,15,14,2,1,2,0,11,32,5,40,2,160,9,40,2,72,32,19,65,3,108,106,34,0,45,0,1,33,13,32,0,45,0,0,33,2,32,19,65,255,1,75,13,1,32,4,65,254,1,75,13,1,32,17,65,15,75,13,1,32,20,65,254,1,75,13,1,32,3,65,15,75,13,1,32,13,65,2,116,32,2,65,1,116,106,65,1,114,65,255,1,113,32,19,65,8,116,114,33,1,32,3,65,12,116,32,17,65,8,116,114,32,4,65,16,116,114,32,20,114,173,66,32,134,12,2,11,65,0,33,2,65,0,33,13,11,32,17,173,32,20,173,66,32,134,132,33,56,2,127,32,5,40,2,140,9,34,0,4,64,32,5,32,0,65,1,107,34,0,54,2,140,9,32,5,40,2,136,9,32,0,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,1,32,10,66,0,55,3,208,1,32,10,66,0,55,3,216,1,32,10,65,0,54,2,224,1,32,10,32,4,54,2,144,2,32,10,32,56,55,3,152,2,32,10,65,0,54,2,136,2,32,10,65,0,54,2,132,2,32,10,65,0,54,2,128,2,32,10,32,3,54,2,252,1,32,10,65,0,54,2,248,1,32,10,65,0,54,2,244,1,32,10,32,19,59,1,240,1,32,10,65,0,59,1,238,1,32,10,65,0,59,1,234,1,32,10,66,0,55,3,200,1,32,10,65,1,54,2,148,2,32,10,32,13,65,1,116,32,2,106,65,255,1,113,59,1,236,1,32,1,32,10,40,2,148,2,54,2,0,32,1,32,10,40,2,144,2,54,2,4,32,1,32,10,41,3,152,2,55,2,8,32,1,32,10,40,2,136,2,54,2,16,32,1,32,10,40,2,132,2,54,2,20,32,1,32,10,40,2,128,2,54,2,24,32,1,32,10,40,2,252,1,54,2,28,32,1,32,10,40,2,248,1,54,2,32,32,1,32,10,40,2,244,1,54,2,36,32,1,32,10,47,1,240,1,59,1,40,32,1,32,10,47,1,238,1,59,1,42,32,1,32,10,47,1,236,1,59,1,44,32,1,32,10,47,1,234,1,59,1,46,32,1,32,10,40,2,224,1,54,2,72,32,1,65,64,107,32,10,41,3,216,1,55,2,0,32,1,32,10,41,3,208,1,55,2,56,32,1,32,10,41,3,200,1,55,2,48,66,0,11,33,56,32,9,65,1,107,33,28,2,64,32,1,65,1,113,4,64,32,1,65,32,114,33,1,12,1,11,32,1,32,1,47,1,44,65,128,4,114,59,1,44,11,32,28,65,5,116,34,17,32,5,40,2,132,9,34,2,40,2,0,106,34,9,40,2,0,33,3,2,127,32,2,40,2,40,34,0,4,64,32,2,32,0,65,1,107,34,0,54,2,40,32,2,40,2,36,32,0,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,20,32,14,59,1,0,32,20,65,2,106,65,0,65,146,1,252,11,0,32,20,66,0,55,2,152,1,32,20,65,1,54,2,148,1,32,20,65,0,54,2,160,1,2,64,2,127,2,64,32,3,4,64,32,20,32,56,32,1,173,132,55,2,20,32,20,32,3,54,2,16,32,20,65,1,59,1,144,1,32,20,32,3,41,2,4,55,2,4,32,20,32,3,40,2,12,54,2,12,32,20,32,3,40,2,152,1,34,0,54,2,152,1,32,20,32,3,40,2,160,1,34,4,54,2,160,1,32,20,32,3,40,2,156,1,34,21,54,2,156,1,32,1,65,1,113,34,3,13,1,32,20,32,1,45,0,45,65,2,113,4,127,65,226,4,5,32,1,40,2,32,11,32,0,106,54,2,152,1,65,0,32,1,40,2,12,32,1,40,2,20,34,2,27,33,0,32,1,40,2,16,32,1,40,2,4,106,33,8,32,2,32,1,40,2,8,106,33,13,32,1,40,2,24,12,2,11,32,20,66,0,55,2,4,32,20,65,0,54,2,12,12,2,11,32,20,32,0,32,1,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,56,66,48,136,167,32,56,66,56,136,167,106,33,8,32,56,66,32,136,167,65,255,1,113,33,0,32,56,66,40,136,167,65,15,113,33,13,65,0,11,33,2,32,20,32,20,40,0,4,32,8,106,54,2,4,32,20,32,20,40,0,8,32,13,106,173,32,0,32,2,106,65,0,32,20,40,0,12,32,13,27,106,173,66,32,134,132,55,2,8,2,64,32,3,69,4,64,65,0,33,13,32,20,32,1,40,2,36,34,0,4,127,32,1,40,2,56,5,65,0,11,32,21,106,32,1,47,1,44,65,1,113,106,32,1,47,1,40,65,254,255,3,70,106,54,2,156,1,32,0,69,13,1,32,1,40,2,60,33,13,12,1,11,32,20,32,21,32,1,65,1,118,65,1,113,106,54,2,156,1,65,0,33,13,11,32,20,32,4,32,13,106,54,2,160,1,11,32,9,32,20,54,2,0,32,5,32,28,2,127,32,10,45,0,192,1,65,1,113,4,64,65,1,33,3,32,10,45,0,193,1,34,25,12,1,11,32,10,40,2,192,1,34,3,65,8,118,33,25,32,3,40,2,36,69,4,64,32,3,47,1,40,12,1,11,32,3,47,1,68,11,65,255,255,3,113,16,73,13,2,32,5,40,2,160,9,33,4,11,32,3,33,0,11,32,19,65,1,106,34,19,32,4,47,1,12,73,13,1,12,2,11,11,2,64,2,64,32,5,40,2,96,13,0,32,5,40,2,140,10,13,0,65,1,33,27,12,1,11,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,15,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,5,40,2,160,9,34,0,40,2,8,32,0,40,2,4,106,32,19,77,13,0,32,0,40,2,56,32,19,65,2,116,106,40,2,0,33,1,11,32,10,32,5,40,2,132,9,40,2,0,32,17,106,40,2,0,47,1,0,54,2,36,32,10,32,1,54,2,32,32,24,65,128,8,35,1,65,184,2,106,32,10,65,32,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,65,1,33,27,32,24,33,2,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,69,13,3,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,3,33,0,11,32,5,40,2,132,9,34,2,40,2,0,32,7,65,5,116,106,34,4,40,2,0,33,8,2,127,32,2,40,2,40,34,1,4,64,32,2,32,1,65,1,107,34,1,54,2,40,32,2,40,2,36,32,1,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,1,65,0,65,148,1,252,11,0,32,1,66,0,55,2,152,1,32,1,65,1,54,2,148,1,32,1,65,0,54,2,160,1,2,64,32,8,4,64,32,1,66,0,55,2,20,32,1,32,8,54,2,16,32,1,65,1,59,1,144,1,32,1,65,0,54,2,28,32,1,32,8,41,2,4,55,2,4,32,1,32,8,40,2,12,54,2,12,32,1,32,8,40,2,152,1,54,2,152,1,32,1,32,8,40,2,160,1,54,2,160,1,32,1,32,8,40,2,156,1,34,2,54,2,156,1,12,1,11,32,1,66,0,55,2,4,65,0,33,2,32,1,65,0,54,2,12,11,32,4,32,1,54,2,0,32,4,32,2,54,2,8,32,12,32,7,65,1,106,32,7,32,16,70,27,34,7,32,40,73,13,0,11,32,5,40,2,132,9,33,2,11,2,64,32,12,32,40,79,13,0,32,12,33,1,32,2,40,2,0,32,34,106,40,2,28,13,0,3,64,2,64,32,5,40,2,132,9,34,9,40,2,0,34,0,32,34,106,34,15,40,2,28,13,0,32,0,32,12,65,5,116,106,34,17,40,2,28,13,0,32,15,40,2,0,34,13,47,1,0,34,2,32,17,40,2,0,34,4,47,1,0,71,13,0,32,13,40,2,4,32,4,40,2,4,71,13,0,32,13,40,2,152,1,32,4,40,2,152,1,71,13,0,32,17,40,0,12,33,11,2,127,35,1,65,148,12,106,34,0,32,15,40,0,12,34,7,69,13,0,26,32,0,32,7,65,1,113,13,0,26,32,0,32,7,45,0,44,65,192,0,113,69,13,0,26,32,0,32,7,65,48,106,32,7,40,2,36,27,11,34,8,40,2,24,33,7,2,64,2,127,35,1,65,148,12,106,34,0,32,11,69,13,0,26,32,0,32,11,65,1,113,13,0,26,32,0,32,11,45,0,44,65,192,0,113,69,13,0,26,32,0,32,11,65,48,106,32,11,40,2,36,27,11,34,0,40,2,24,34,11,65,25,79,4,64,32,7,32,11,71,13,2,32,8,40,2,0,33,8,32,0,40,2,0,33,0,12,1,11,32,7,32,11,71,13,1,11,32,8,32,0,32,11,16,248,1,13,0,32,4,47,1,144,1,4,127,65,0,33,13,3,64,32,9,40,2,52,33,7,32,15,40,2,0,33,2,32,10,32,4,32,13,65,4,116,106,34,0,41,2,24,55,3,24,32,10,32,0,41,2,16,55,3,16,32,2,32,10,65,16,106,32,7,16,72,32,13,65,1,106,34,13,32,17,40,2,0,34,4,47,1,144,1,73,13,0,11,32,15,40,2,0,34,13,47,1,0,5,32,2,11,65,255,255,3,113,69,4,64,32,15,32,13,40,2,156,1,54,2,8,11,32,9,32,12,16,71,11,32,1,65,1,106,34,1,32,40,71,13,0,11,32,5,40,2,132,9,33,2,11,65,12,35,5,40,2,0,17,0,0,33,0,32,10,65,16,54,2,156,2,32,10,32,0,54,2,152,2,32,0,65,0,54,2,8,32,0,66,0,55,2,0,32,10,65,200,1,106,32,2,32,16,35,2,65,6,106,32,10,65,152,2,106,65,127,16,75,32,2,40,2,0,32,34,106,34,0,33,1,32,0,40,2,4,34,2,4,64,32,2,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,1,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,1,32,10,40,2,152,2,54,2,4,2,64,32,3,65,1,113,13,0,32,10,40,2,192,1,40,2,36,69,13,0,32,5,32,10,65,192,1,106,65,0,32,55,16,76,11,32,10,32,10,41,3,192,1,55,3,8,32,5,32,16,32,10,65,8,106,16,77,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,65,1,33,2,11,32,16,65,1,106,34,16,32,33,73,13,0,11,11,65,0,33,13,32,30,69,13,2,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,3,32,24,35,1,65,194,8,106,34,0,41,0,0,55,0,0,32,24,32,0,45,0,8,58,0,8,12,2,11,32,24,35,1,65,194,8,106,34,0,41,0,0,55,0,0,32,24,32,0,45,0,8,58,0,8,32,5,40,2,92,65,0,32,24,32,1,17,3,0,32,5,40,2,140,10,13,1,12,2,11,65,0,33,1,32,5,45,0,224,10,13,4,12,5,11,32,24,33,2,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,40,2,140,10,34,0,69,13,3,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,2,64,32,5,40,2,180,9,34,0,69,13,0,2,127,32,0,65,26,116,65,31,117,65,226,4,113,32,0,65,1,113,13,0,26,65,226,4,32,0,45,0,45,65,2,113,13,0,26,32,0,40,2,32,11,32,29,79,13,0,32,5,40,2,132,9,16,61,12,2,11,2,64,32,5,40,2,220,10,34,1,32,5,40,2,192,10,34,2,79,13,0,32,54,40,2,0,33,0,3,64,32,0,32,1,65,24,108,106,40,2,20,32,18,75,13,1,32,5,32,1,65,1,106,34,1,54,2,220,10,32,1,32,2,71,13,0,11,11,32,13,69,13,0,11,11,2,64,32,5,45,0,225,10,13,0,32,5,41,2,180,9,33,56,32,5,65,0,54,2,152,9,32,56,167,34,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,0,40,2,0,65,1,71,13,0,32,5,40,2,148,9,33,2,65,0,33,1,32,5,40,2,156,9,69,4,64,2,127,32,2,4,64,32,2,65,192,0,35,4,40,2,0,17,1,0,12,1,11,65,192,0,35,5,40,2,0,17,0,0,11,33,2,32,5,65,8,54,2,156,9,32,5,32,2,54,2,148,9,32,5,40,2,152,9,33,1,11,32,5,32,1,65,1,106,54,2,152,9,32,2,32,1,65,3,116,106,32,56,55,2,0,11,2,126,2,64,2,64,32,5,40,2,152,9,4,64,32,5,65,148,9,106,33,15,32,5,65,208,10,106,33,9,32,5,65,152,10,106,33,18,3,64,32,5,32,5,40,2,172,10,65,1,106,34,0,65,0,32,0,65,227,0,77,27,34,0,54,2,172,10,2,64,32,0,13,0,32,5,40,2,176,10,34,0,4,64,32,0,40,2,0,13,4,11,2,64,32,5,41,3,144,10,80,4,64,32,18,40,2,0,69,13,1,11,32,10,65,200,1,106,16,237,1,32,10,41,3,200,1,34,57,32,5,41,3,144,10,34,56,85,13,4,32,56,32,57,85,13,0,32,10,40,2,208,1,32,18,40,2,0,74,13,4,11,32,5,40,2,204,10,34,0,69,13,0,32,9,32,0,17,0,0,13,3,11,32,10,32,5,40,2,148,9,32,5,40,2,152,9,34,2,65,3,116,106,65,8,107,41,2,0,34,56,55,3,152,2,2,64,32,56,167,34,12,47,1,64,69,13,0,32,12,65,8,107,40,2,0,33,1,32,12,32,12,40,2,36,65,3,116,107,40,2,0,34,0,65,1,113,4,127,65,0,5,32,0,47,1,64,11,32,1,65,1,113,4,127,65,0,5,32,1,47,1,64,11,107,34,1,65,2,72,13,0,3,64,32,5,40,2,160,9,33,24,32,10,32,10,41,3,152,2,55,3,0,35,0,65,48,107,34,17,36,0,32,15,40,2,4,33,8,32,17,32,10,41,2,0,34,56,55,3,40,2,64,32,1,34,0,65,1,118,34,1,69,13,0,32,56,167,34,3,47,1,40,33,16,2,64,32,3,40,2,0,65,1,75,13,0,32,3,40,2,36,34,2,65,2,73,13,0,32,3,32,2,65,3,116,107,34,3,41,2,0,34,56,167,34,7,65,1,113,13,0,32,7,40,2,36,34,2,65,2,73,13,0,32,7,40,2,0,65,1,75,13,0,32,7,47,1,40,32,16,71,13,0,32,7,32,2,65,3,116,107,34,2,40,2,0,34,13,65,1,113,13,0,32,13,40,2,36,65,2,73,13,0,32,2,40,2,4,33,4,32,13,40,2,0,65,1,75,13,0,32,13,47,1,40,32,16,71,13,0,32,3,32,13,173,32,4,173,66,32,134,132,55,2,0,32,7,32,7,40,2,36,65,3,116,107,32,13,65,8,107,34,2,41,2,0,55,2,0,32,2,32,56,55,2,0,65,1,33,38,32,15,40,2,0,33,11,32,15,32,15,40,2,4,34,7,65,1,106,34,3,32,15,40,2,8,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,11,4,64,32,11,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,11,32,15,32,2,54,2,8,32,15,32,11,54,2,0,32,15,40,2,4,34,7,65,1,106,5,32,3,11,54,2,4,32,11,32,7,65,3,116,106,32,17,41,3,40,55,2,0,32,17,32,4,54,2,44,32,17,32,13,54,2,40,32,1,65,1,70,13,0,3,64,32,13,40,2,0,65,1,75,13,1,32,13,40,2,36,34,2,65,2,73,13,1,32,13,32,2,65,3,116,107,34,3,41,2,0,34,56,167,34,7,65,1,113,13,1,32,7,40,2,36,34,2,65,2,73,13,1,32,7,40,2,0,65,1,75,13,1,32,7,47,1,40,32,16,71,13,1,32,7,32,2,65,3,116,107,34,2,40,2,0,34,13,65,1,113,13,1,32,13,40,2,36,65,2,73,13,1,32,2,40,2,4,33,4,32,13,40,2,0,65,1,75,13,1,32,13,47,1,40,32,16,71,13,1,32,3,32,13,173,32,4,173,66,32,134,132,55,2,0,32,7,32,7,40,2,36,65,3,116,107,32,13,65,8,107,34,2,41,2,0,55,2,0,32,2,32,56,55,2,0,32,15,40,2,0,33,11,32,15,32,15,40,2,4,34,7,65,1,106,34,3,32,15,40,2,8,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,11,4,64,32,11,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,11,32,15,32,2,54,2,8,32,15,32,11,54,2,0,32,15,40,2,4,34,7,65,1,106,5,32,3,11,54,2,4,32,11,32,7,65,3,116,106,32,17,41,3,40,55,2,0,32,17,32,4,54,2,44,32,17,32,13,54,2,40,32,38,65,1,106,34,38,32,1,71,13,0,11,11,32,15,40,2,4,34,13,32,8,77,13,0,3,64,32,15,32,13,65,1,107,34,2,54,2,4,32,17,32,15,40,2,0,32,2,65,3,116,106,41,2,0,34,56,55,3,40,32,17,32,56,167,34,2,32,2,40,2,36,65,3,116,107,41,2,0,34,56,55,3,32,32,17,32,56,167,65,8,107,41,2,0,34,56,55,3,16,32,17,32,56,55,3,24,32,17,65,16,106,32,24,16,128,1,32,17,32,17,41,3,32,55,3,8,32,17,65,8,106,32,24,16,128,1,32,17,32,17,41,3,40,55,3,0,32,17,32,24,16,128,1,32,15,40,2,4,34,13,32,8,75,13,0,11,11,32,17,65,48,106,36,0,32,5,32,5,40,2,172,10,65,16,32,1,32,1,65,16,77,27,65,4,118,65,255,1,113,106,34,2,65,0,32,2,65,227,0,77,27,34,2,54,2,172,10,2,64,32,2,13,0,32,5,40,2,176,10,34,2,4,64,32,2,40,2,0,13,6,11,2,64,32,5,41,3,144,10,80,4,64,32,18,40,2,0,69,13,1,11,32,10,65,200,1,106,16,237,1,32,10,41,3,200,1,34,57,32,5,41,3,144,10,34,56,85,13,6,32,56,32,57,85,13,0,32,10,40,2,208,1,32,18,40,2,0,74,13,6,11,32,5,40,2,204,10,34,2,69,13,0,32,9,32,2,17,0,0,13,5,11,32,0,65,3,75,13,0,11,32,5,40,2,152,9,33,2,11,32,5,32,2,65,1,107,34,0,54,2,152,9,32,12,40,2,36,34,2,4,127,65,0,33,1,3,64,2,64,32,12,32,2,65,3,116,107,32,1,65,3,116,106,41,2,0,34,56,167,34,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,0,40,2,0,65,1,71,13,0,32,5,40,2,148,9,33,2,32,5,32,5,40,2,152,9,34,4,65,1,106,34,3,32,5,40,2,156,9,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,5,32,0,54,2,156,9,32,5,32,2,54,2,148,9,32,5,40,2,152,9,34,4,65,1,106,5,32,3,11,54,2,152,9,32,2,32,4,65,3,116,106,32,56,55,2,0,32,12,40,2,36,33,2,11,32,1,65,1,106,34,1,32,2,73,13,0,11,32,5,40,2,152,9,5,32,0,11,13,0,11,11,32,5,65,0,58,0,225,10,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,3,32,5,35,1,65,203,8,106,34,0,40,0,0,54,0,132,1,32,5,32,0,45,0,4,58,0,136,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,203,8,106,34,0,40,0,0,54,0,132,1,32,5,32,0,45,0,4,58,0,136,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,2,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,40,2,160,9,33,19,32,5,41,0,180,9,34,56,32,5,40,2,140,10,34,0,69,13,5,26,32,10,32,56,55,3,200,1,32,10,65,200,1,106,65,0,32,19,65,0,32,0,16,69,65,10,32,5,40,2,140,10,16,241,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,1,58,0,225,10,65,0,33,1,12,3,11,32,5,40,2,160,9,33,19,32,5,41,0,180,9,11,33,56,32,5,40,2,68,33,3,32,5,40,2,100,33,4,65,20,35,5,40,2,0,17,0,0,34,1,32,19,54,2,8,32,1,32,56,55,2,0,32,1,32,4,65,24,35,7,40,2,0,17,1,0,34,2,54,2,12,32,4,65,24,108,34,0,4,64,32,2,32,3,32,0,252,10,0,0,11,32,1,32,4,54,2,16,32,5,66,0,55,2,180,9,32,5,16,63,12,1,11,32,5,16,63,11,32,10,65,160,2,106,36,0,32,5,66,0,55,3,200,10,32,37,65,16,106,36,0,32,31,65,48,106,36,0,32,1,11,55,0,32,0,32,1,65,1,118,32,2,40,2,0,32,2,40,2,4,65,1,118,32,3,16,1,32,3,65,254,207,0,32,3,40,2,0,65,1,116,34,1,32,1,65,255,207,0,75,27,54,2,0,32,0,11,14,0,32,0,40,2,4,32,0,45,0,8,16,2,11,204,2,1,6,127,35,0,65,16,107,34,4,36,0,32,4,65,0,54,2,12,32,4,32,0,40,2,100,54,2,12,32,0,40,2,68,33,1,32,4,40,2,12,34,2,65,24,108,34,0,16,137,2,33,3,32,0,4,64,32,3,32,1,32,0,252,10,0,0,11,2,64,32,2,69,13,0,65,0,33,1,32,2,65,1,71,4,64,32,2,65,126,113,33,5,3,64,32,3,32,1,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,3,32,1,65,1,114,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,1,65,2,106,33,1,32,6,65,2,106,34,6,32,5,71,13,0,11,11,32,2,65,1,113,69,13,0,32,3,32,1,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,11,35,9,34,0,32,3,54,2,4,32,0,32,2,54,2,0,32,4,65,16,106,36,0,11,9,0,32,0,32,1,16,28,69,11,11,0,32,0,32,1,16,28,65,2,73,11,72,1,3,127,35,0,65,16,107,34,1,36,0,32,1,32,0,40,2,0,65,15,79,4,127,32,0,40,2,152,1,33,2,32,0,40,2,148,1,5,65,0,11,54,2,12,35,9,34,3,32,2,54,2,4,32,3,32,1,40,2,12,54,2,0,32,1,65,16,106,36,0,11,136,1,1,3,127,35,0,65,16,107,34,2,36,0,35,9,34,3,2,127,2,64,2,64,32,1,65,253,255,3,75,13,0,32,0,40,2,0,65,15,73,13,0,32,0,40,2,72,32,1,65,3,108,106,45,0,2,65,1,113,13,1,11,32,2,65,0,54,2,12,65,0,12,1,11,32,0,40,2,156,1,32,1,65,2,116,106,34,1,47,1,0,33,4,32,2,32,1,47,1,2,54,2,12,32,0,40,2,160,1,32,4,65,1,116,106,11,54,2,4,32,3,32,2,40,2,12,54,2,0,32,2,65,16,106,36,0,11,181,1,1,4,127,35,0,65,32,107,34,1,36,0,2,127,32,0,40,0,0,34,2,65,1,113,4,64,32,0,45,0,5,65,15,113,33,3,32,0,45,0,4,33,4,32,0,45,0,6,12,1,11,32,2,40,2,12,33,4,32,2,40,2,8,33,3,32,2,40,2,4,11,33,2,32,1,32,0,54,2,28,32,1,32,0,54,2,24,32,1,65,0,54,2,20,32,1,32,4,54,2,16,32,1,32,3,54,2,12,32,1,32,2,54,2,8,35,9,34,0,32,1,40,2,20,54,2,16,32,0,32,1,40,2,12,54,2,8,32,0,32,1,40,2,24,54,2,0,32,0,32,1,40,2,16,65,1,118,54,2,12,32,0,32,1,40,2,8,65,1,118,54,2,4,32,1,65,32,106,36,0,11,128,2,2,6,127,1,126,35,0,65,48,107,34,1,36,0,35,9,34,2,40,2,20,33,3,32,1,32,2,40,2,28,65,1,116,54,2,44,32,1,32,2,40,2,24,54,2,40,32,1,32,1,41,2,40,55,3,8,32,3,65,1,116,33,6,32,1,41,2,8,33,7,2,127,32,0,40,0,0,34,3,65,1,113,4,64,32,0,45,0,5,65,15,113,33,4,32,0,45,0,4,33,5,32,0,45,0,6,12,1,11,32,3,40,2,12,33,5,32,3,40,2,8,33,4,32,3,40,2,4,11,33,3,32,1,32,0,54,2,36,32,1,32,0,54,2,32,32,1,65,0,54,2,28,32,1,32,3,32,6,106,54,2,16,32,1,32,4,32,7,167,106,54,2,20,32,1,65,0,32,7,66,32,136,167,32,4,27,32,5,106,54,2,24,32,2,32,1,40,2,28,54,2,16,32,2,32,1,40,2,20,54,2,8,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,24,65,1,118,54,2,12,32,2,32,1,40,2,16,65,1,118,54,2,4,32,1,65,48,106,36,0,11,148,25,2,32,127,6,126,35,0,65,48,107,34,5,36,0,32,5,35,9,34,3,40,2,24,65,1,116,54,2,12,32,5,32,3,40,2,28,65,1,116,54,2,16,32,5,32,3,40,2,32,65,1,116,54,2,20,32,5,32,3,53,2,0,32,3,53,2,4,66,33,134,132,55,2,24,32,5,32,3,53,2,8,32,3,53,2,12,66,33,134,132,55,2,32,32,5,32,3,53,2,16,32,3,53,2,20,66,33,134,132,55,2,40,35,0,65,48,107,34,12,36,0,32,0,34,23,40,2,16,4,64,3,64,2,64,32,23,40,2,12,32,4,65,24,108,106,34,0,40,2,20,34,3,32,5,40,2,16,34,2,79,4,64,32,3,65,127,70,13,1,32,0,32,5,40,2,20,32,3,32,2,107,106,34,2,54,2,20,32,0,32,0,40,2,12,34,3,32,5,40,2,44,32,3,32,5,40,2,36,107,34,1,65,0,32,1,32,3,77,27,106,32,0,40,2,8,34,3,32,5,40,2,32,34,1,75,27,173,66,32,134,32,5,40,2,40,32,3,32,1,107,34,1,65,0,32,1,32,3,77,27,106,173,132,55,2,8,32,2,32,5,40,2,20,79,13,1,32,0,66,127,55,2,8,32,0,65,127,54,2,20,12,1,11,32,3,32,5,40,2,12,34,2,77,13,0,32,0,32,2,54,2,20,32,0,32,5,41,2,24,55,2,8,11,2,64,32,0,40,2,16,34,3,32,5,40,2,16,34,2,79,4,64,32,0,32,5,40,2,20,32,3,32,2,107,106,34,2,54,2,16,32,0,32,0,40,2,4,34,3,32,5,40,2,44,32,3,32,5,40,2,36,107,34,1,65,0,32,1,32,3,77,27,106,32,0,40,2,0,34,3,32,5,40,2,32,34,1,75,27,173,66,32,134,32,5,40,2,40,32,3,32,1,107,34,1,65,0,32,1,32,3,77,27,106,173,132,55,2,0,32,2,32,5,40,2,20,79,13,1,32,0,66,127,55,2,0,32,0,65,127,54,2,16,12,1,11,32,3,32,5,40,2,12,34,2,77,13,0,32,0,32,2,54,2,16,32,0,32,5,41,2,24,55,2,0,11,32,4,65,1,106,34,4,32,23,40,2,16,73,13,0,11,11,32,12,66,0,55,3,40,32,12,66,0,55,3,32,32,12,66,0,55,3,24,32,12,32,23,41,2,0,55,3,8,32,12,65,24,106,33,24,35,0,65,48,107,34,15,36,0,65,192,2,35,5,40,2,0,17,0,0,33,9,32,5,40,2,12,33,0,32,5,41,2,24,33,36,32,5,40,2,16,33,3,32,5,41,2,32,33,35,32,5,40,2,20,33,2,32,9,32,5,41,2,40,55,2,32,32,9,32,2,54,2,28,32,9,32,35,55,2,20,32,9,32,3,54,2,16,32,9,32,36,55,2,8,32,9,32,0,54,2,4,32,9,32,12,65,8,106,54,2,0,65,1,33,0,65,8,33,25,3,64,2,126,32,9,32,0,65,1,107,34,3,65,40,108,106,34,2,40,2,0,34,19,40,0,0,34,1,65,1,113,34,10,4,64,32,19,45,0,7,34,0,173,66,32,134,33,34,32,19,45,0,6,33,6,65,1,33,26,32,19,45,0,5,34,17,65,15,113,173,32,19,49,0,4,66,32,134,132,12,1,11,32,1,45,0,45,65,1,113,69,33,26,32,1,40,2,4,33,6,32,19,45,0,5,33,17,32,1,41,2,20,33,34,32,1,40,2,16,33,0,32,1,41,2,8,11,33,33,32,0,32,6,106,33,4,2,64,32,2,40,2,4,34,11,32,4,32,10,4,127,32,17,65,240,1,113,65,4,118,5,32,1,40,2,28,11,34,17,106,34,1,75,4,64,32,3,33,0,12,1,11,32,2,41,2,32,33,35,32,2,40,2,28,33,10,32,2,40,2,24,33,18,32,2,40,2,20,33,16,32,2,41,2,8,33,38,2,64,32,2,40,2,16,34,14,32,11,71,13,0,32,10,32,11,71,13,0,32,1,32,11,71,13,0,32,3,33,0,12,1,11,32,33,66,32,136,167,33,1,32,35,66,32,136,167,33,22,32,33,167,33,2,2,127,32,6,32,14,79,4,64,32,35,167,32,2,32,16,107,34,4,65,0,32,2,32,4,79,27,106,173,32,1,32,1,32,18,107,34,4,65,0,32,1,32,4,79,27,32,22,106,32,2,32,16,75,27,173,66,32,134,132,33,33,32,10,32,14,107,32,6,106,33,6,32,0,12,1,11,32,34,167,33,13,32,34,66,32,136,167,33,7,32,6,32,11,75,4,64,32,14,32,6,107,33,4,66,0,33,34,32,10,33,6,32,35,33,33,65,0,32,0,32,4,65,0,32,4,32,14,77,27,34,4,77,13,1,26,32,7,32,7,32,18,32,18,32,1,107,34,1,65,0,32,1,32,18,77,27,32,2,32,16,73,27,107,34,1,65,0,32,1,32,7,77,27,32,13,32,16,32,2,107,34,2,65,0,32,2,32,16,77,27,34,2,75,27,173,66,32,134,32,13,32,2,107,34,2,65,0,32,2,32,13,77,27,173,132,33,34,32,0,32,4,107,12,1,11,2,64,32,4,32,11,75,13,0,32,4,32,11,70,32,11,32,14,70,113,13,0,32,0,12,1,11,65,0,33,8,32,10,32,6,107,34,0,65,0,32,0,32,10,77,27,33,20,32,22,32,22,32,1,107,34,0,65,0,32,0,32,22,77,27,32,35,167,34,0,32,2,75,27,33,21,32,0,32,2,107,34,2,65,0,32,0,32,2,79,27,33,2,66,0,33,37,32,4,32,14,75,4,64,65,0,32,1,32,13,27,32,7,106,34,0,32,0,32,18,107,34,1,65,0,32,0,32,1,79,27,32,33,32,34,124,167,34,0,32,16,75,27,173,66,32,134,32,0,32,16,107,34,1,65,0,32,0,32,1,79,27,173,132,33,37,32,4,32,14,107,33,8,11,32,37,66,32,136,167,65,0,32,21,32,37,167,34,0,27,106,173,66,32,134,32,0,32,2,106,173,132,33,34,32,8,32,20,106,11,33,8,32,15,32,19,41,0,0,34,36,55,3,16,32,36,66,32,136,167,33,0,2,64,32,36,167,34,4,65,1,113,4,64,32,4,33,2,12,1,11,32,4,34,2,40,2,0,65,1,70,13,0,32,2,40,2,36,65,3,116,65,204,0,106,34,0,35,5,40,2,0,17,0,0,33,13,32,0,4,64,32,13,32,2,32,2,40,2,36,65,3,116,107,32,0,252,10,0,0,11,32,13,32,4,40,2,36,34,0,65,3,116,106,33,2,65,0,33,1,2,64,32,0,4,64,3,64,32,13,32,1,65,3,116,106,40,0,0,34,7,65,1,113,69,4,64,32,7,32,7,40,2,0,65,1,106,54,2,0,32,7,40,2,0,26,32,4,40,2,36,33,0,11,32,1,65,1,106,34,1,32,0,73,13,0,12,2,11,0,11,32,4,45,0,44,65,192,0,113,69,13,0,32,4,40,2,48,33,1,32,15,32,4,41,2,68,55,3,40,32,15,32,4,41,2,60,55,3,32,32,15,32,4,41,2,52,55,3,24,2,64,32,4,40,2,72,34,0,65,25,73,13,0,32,0,35,5,40,2,0,17,0,0,33,1,32,4,40,2,72,34,0,69,13,0,32,1,32,4,40,2,48,32,0,252,10,0,0,11,32,2,32,1,54,2,48,32,2,32,15,41,3,24,55,2,52,32,2,32,15,41,3,32,55,2,60,32,2,32,15,41,3,40,55,2,68,11,32,2,65,1,54,2,0,32,15,32,15,41,3,16,55,3,8,32,24,32,15,65,8,106,16,60,65,0,33,0,11,2,64,2,64,32,2,65,1,113,4,64,2,64,32,17,65,15,75,13,0,32,6,65,254,1,75,13,0,32,33,66,255,255,255,255,239,31,86,13,0,32,33,66,240,255,255,255,15,131,66,0,82,13,0,32,8,65,254,1,75,13,0,32,34,66,255,255,255,255,239,31,86,13,0,32,34,66,255,255,255,255,15,131,66,0,82,13,0,32,33,66,32,136,167,32,33,167,65,8,116,65,128,30,113,32,0,65,128,224,3,113,114,32,6,65,16,116,114,114,32,8,65,24,116,114,33,0,12,2,11,2,127,32,24,40,2,4,34,1,4,64,32,24,32,1,65,1,107,34,1,54,2,4,32,24,40,2,0,32,1,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,34,1,66,0,55,2,32,32,1,32,17,54,2,28,32,1,32,34,55,2,20,32,1,32,8,54,2,16,32,1,32,33,55,2,8,32,1,32,6,54,2,4,32,1,65,1,54,2,0,32,1,32,2,65,16,118,59,1,42,32,1,32,2,65,128,254,3,113,65,8,118,59,1,40,32,1,32,1,47,1,44,65,128,241,3,113,32,2,65,4,116,34,4,65,128,4,113,32,2,65,1,118,65,7,113,114,32,4,65,128,8,113,114,114,59,1,44,12,2,11,32,2,32,34,55,2,20,32,2,32,8,54,2,16,32,2,32,33,55,2,8,32,2,32,6,54,2,4,11,32,2,33,1,11,2,64,32,1,65,1,113,4,64,32,1,65,16,114,33,1,12,1,11,32,1,32,1,47,1,44,65,32,114,59,1,44,11,32,19,32,1,173,32,0,173,66,32,134,132,55,2,0,32,1,65,1,113,4,64,32,3,33,0,12,1,11,32,1,40,2,36,34,32,69,4,64,32,3,33,0,12,1,11,32,38,66,32,136,167,33,27,32,38,167,33,28,32,33,167,33,29,66,0,33,33,65,0,33,2,65,0,33,1,3,64,32,19,40,2,0,34,0,32,0,40,2,36,65,3,116,107,32,2,65,3,116,106,34,20,45,0,5,33,4,2,127,32,20,40,0,0,34,0,65,1,113,34,6,4,64,32,4,65,15,113,33,17,32,20,45,0,4,33,30,32,20,45,0,7,34,31,32,20,45,0,6,106,12,1,11,65,0,32,0,40,2,12,32,0,40,2,20,34,8,27,33,30,32,8,32,0,40,2,8,106,33,17,32,0,40,2,24,33,31,32,0,40,2,16,32,0,40,2,4,106,11,34,8,32,1,106,33,13,32,33,66,32,136,167,33,21,32,33,167,33,7,2,64,32,11,32,6,4,127,32,4,65,240,1,113,65,4,118,5,32,0,40,2,28,11,32,13,106,75,4,64,32,3,33,0,12,1,11,2,64,2,64,32,1,32,14,77,4,64,32,2,69,13,2,32,1,32,14,71,13,2,32,8,69,13,2,32,26,32,7,32,29,75,114,13,1,12,2,11,32,26,32,7,32,29,75,114,69,13,1,11,32,6,4,64,32,3,33,0,12,4,11,32,0,45,0,45,65,1,113,69,4,64,32,3,33,0,12,4,11,32,18,32,22,70,4,64,32,3,33,0,12,4,11,32,7,32,16,77,13,0,32,3,33,0,12,3,11,66,0,33,34,65,0,33,4,65,0,33,8,66,0,33,33,32,1,32,11,73,4,64,32,11,32,1,107,33,8,32,28,32,7,107,34,0,65,0,32,0,32,28,77,27,173,32,27,32,27,32,21,107,34,0,65,0,32,0,32,27,77,27,32,7,32,28,73,27,173,66,32,134,132,33,33,11,32,1,32,14,73,4,64,32,16,32,7,107,34,0,65,0,32,0,32,16,77,27,173,32,18,32,18,32,21,107,34,0,65,0,32,0,32,18,77,27,32,7,32,16,73,27,173,66,32,134,132,33,34,32,14,32,1,107,33,4,11,2,127,32,1,32,10,79,4,64,66,0,33,37,65,0,12,1,11,32,35,66,32,136,167,34,0,32,0,32,21,107,34,6,65,0,32,0,32,6,79,27,32,35,167,34,0,32,7,75,27,173,66,32,134,32,0,32,7,107,34,6,65,0,32,0,32,6,79,27,173,132,33,37,32,10,32,1,107,11,33,6,2,127,32,11,32,13,73,4,64,32,38,33,36,32,11,12,1,11,32,38,33,36,32,11,32,11,32,13,70,32,11,32,14,70,113,13,0,26,32,35,33,36,32,8,34,4,33,6,32,33,34,34,33,37,32,10,11,33,10,2,64,32,3,65,1,106,34,0,32,25,77,13,0,65,8,32,25,65,1,116,34,1,32,0,32,0,32,1,73,27,34,1,32,1,65,8,77,27,34,25,65,40,108,33,1,32,9,4,64,32,9,32,1,35,4,40,2,0,17,1,0,33,9,12,1,11,32,1,35,5,40,2,0,17,0,0,33,9,11,32,9,32,3,65,40,108,106,34,3,32,37,55,2,32,32,3,32,6,54,2,28,32,3,32,34,55,2,20,32,3,32,4,54,2,16,32,3,32,33,55,2,8,32,3,32,8,54,2,4,32,3,32,20,54,2,0,32,0,33,3,32,36,33,35,11,32,7,32,17,106,173,32,30,32,31,106,65,0,32,21,32,17,27,106,173,66,32,134,132,33,33,32,13,33,1,32,2,65,1,106,34,2,32,32,71,13,0,11,11,32,0,13,0,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,12,32,12,41,2,8,55,2,16,32,15,65,48,106,36,0,32,23,32,12,41,3,16,55,2,0,32,12,40,2,24,34,1,4,64,2,64,32,12,40,2,28,34,4,69,13,0,65,0,33,2,65,0,33,3,32,4,65,4,79,4,64,32,4,65,124,113,33,8,65,0,33,0,3,64,32,1,32,3,65,3,116,106,34,6,40,2,0,35,6,34,10,40,2,0,17,2,0,32,6,40,2,8,32,10,40,2,0,17,2,0,32,6,40,2,16,32,10,40,2,0,17,2,0,32,6,40,2,24,32,10,40,2,0,17,2,0,32,3,65,4,106,33,3,32,0,65,4,106,34,0,32,8,71,13,0,11,11,32,4,65,3,113,34,0,69,13,0,3,64,32,1,32,3,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,3,65,1,106,33,3,32,2,65,1,106,34,2,32,0,71,13,0,11,11,32,1,35,6,40,2,0,17,2,0,11,32,12,40,2,36,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,12,65,48,106,36,0,32,5,65,48,106,36,0,11,180,1,1,4,127,35,0,65,16,107,34,3,36,0,32,3,32,0,40,2,16,34,1,54,2,12,32,1,65,24,35,7,40,2,0,17,1,0,33,1,32,0,40,2,16,65,24,108,34,4,4,64,32,1,32,0,40,2,12,32,4,252,10,0,0,11,32,3,40,2,12,4,64,3,64,32,1,32,2,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,2,65,1,106,34,2,32,3,40,2,12,34,0,73,13,0,11,32,0,33,2,11,35,9,34,0,32,1,54,2,4,32,0,32,2,54,2,0,32,3,65,16,106,36,0,11,216,48,2,27,127,3,126,35,0,65,16,107,34,24,36,0,35,0,65,64,106,34,7,36,0,32,7,65,0,54,2,60,32,7,66,0,55,2,36,32,7,66,0,55,2,28,2,127,32,0,40,0,0,34,2,65,1,113,4,64,32,0,45,0,4,33,12,32,0,45,0,6,33,13,32,0,45,0,5,65,15,113,12,1,11,32,2,40,2,12,33,12,32,2,40,2,4,33,13,32,2,40,2,8,11,33,8,32,7,65,0,59,1,60,32,7,32,0,54,2,44,32,7,65,224,1,35,5,40,2,0,17,0,0,34,2,54,2,48,32,7,66,129,128,128,128,128,1,55,2,52,32,2,65,0,54,2,24,32,2,66,0,55,2,16,32,2,32,12,54,2,12,32,2,32,8,54,2,8,32,2,32,13,54,2,4,32,2,32,0,54,2,0,2,127,32,1,40,0,0,34,2,65,1,113,4,64,32,1,45,0,4,33,12,32,1,45,0,6,33,13,32,1,45,0,5,65,15,113,12,1,11,32,2,40,2,12,33,12,32,2,40,2,4,33,13,32,2,40,2,8,11,33,2,32,7,65,0,59,1,40,32,7,32,1,54,2,24,32,7,40,2,28,33,8,32,7,40,2,36,69,4,64,2,127,32,8,4,64,32,8,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,8,32,7,65,8,54,2,36,32,7,32,8,54,2,28,11,32,7,65,1,54,2,32,32,8,65,0,54,2,24,32,8,66,0,55,2,16,32,8,32,12,54,2,12,32,8,32,2,54,2,8,32,8,32,13,54,2,4,32,8,32,1,54,2,0,32,7,65,0,54,2,16,32,7,66,0,55,3,8,32,0,40,2,12,32,0,40,2,16,32,1,40,2,12,32,1,40,2,16,32,7,65,8,106,16,16,32,0,34,19,40,2,8,33,2,35,0,65,224,0,107,34,5,36,0,32,7,65,0,54,2,52,32,7,40,2,48,33,0,32,7,32,7,40,2,56,4,127,65,0,5,2,127,32,0,4,64,32,0,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,0,32,7,65,8,54,2,56,32,7,32,0,54,2,48,32,7,40,2,52,11,34,8,65,1,106,54,2,52,32,5,65,0,54,2,8,32,5,66,0,55,3,0,32,0,32,8,65,28,108,106,34,0,32,19,54,2,0,32,0,32,5,41,3,0,55,2,4,32,0,32,5,40,2,8,54,2,12,32,0,65,0,54,2,24,32,0,66,0,55,2,16,32,5,32,7,40,2,60,54,2,56,32,5,32,7,41,2,52,55,3,48,32,7,41,2,44,33,29,32,5,65,0,54,2,76,32,5,32,29,55,3,40,32,5,66,0,55,2,68,32,5,65,1,54,2,64,32,5,32,2,54,2,60,32,7,65,0,54,2,32,32,7,40,2,28,33,0,32,7,40,2,36,69,4,64,2,127,32,0,4,64,32,0,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,0,32,7,65,8,54,2,36,32,7,32,0,54,2,28,32,7,40,2,32,33,4,11,32,7,32,4,65,1,106,54,2,32,32,5,65,0,54,2,88,32,5,66,0,55,3,80,32,0,32,4,65,28,108,106,34,0,32,1,34,22,54,2,0,32,0,32,5,41,3,80,55,2,4,32,0,32,5,40,2,88,54,2,12,32,0,65,0,54,2,24,32,0,66,0,55,2,16,32,5,32,7,40,2,40,54,2,16,32,5,32,7,41,2,32,55,3,8,32,7,41,2,24,33,29,32,5,65,0,54,2,36,32,5,32,29,55,3,0,32,5,66,0,55,2,28,32,5,65,1,54,2,24,32,5,32,2,54,2,20,32,5,40,2,44,32,5,40,2,48,34,11,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,12,32,0,65,24,107,40,2,0,33,8,2,64,32,5,45,0,68,65,1,70,4,64,32,12,173,32,2,173,66,32,134,132,33,30,12,1,11,32,12,2,127,32,0,65,28,107,40,2,0,34,0,40,0,0,34,1,65,1,113,4,64,32,0,45,0,4,33,13,32,0,45,0,6,33,3,32,0,45,0,5,65,15,113,12,1,11,32,1,40,2,12,33,13,32,1,40,2,4,33,3,32,1,40,2,8,11,34,0,106,173,65,0,32,2,32,0,27,32,13,106,173,66,32,134,132,33,30,32,3,32,8,106,33,8,11,32,5,40,2,4,32,5,40,2,8,34,15,65,28,108,106,34,0,65,16,107,40,2,0,33,12,32,0,65,20,107,40,2,0,33,13,32,0,65,24,107,40,2,0,33,4,2,127,32,0,65,28,107,40,2,0,34,1,40,0,0,34,2,65,1,113,4,64,32,1,45,0,5,65,15,113,33,0,32,1,45,0,4,33,6,32,1,45,0,6,12,1,11,32,2,40,2,12,33,6,32,2,40,2,8,33,0,32,2,40,2,4,11,33,1,32,0,32,13,106,173,65,0,32,12,32,0,27,32,6,106,173,66,32,134,132,33,29,2,127,2,64,32,1,32,4,106,34,2,32,8,75,4,64,32,30,33,31,32,29,33,30,32,8,33,0,32,2,33,8,12,1,11,32,29,33,31,65,0,32,8,32,2,34,0,77,13,1,26,11,65,192,1,35,5,40,2,0,17,0,0,34,10,32,8,54,2,20,32,10,32,0,54,2,16,32,10,32,30,55,2,8,32,10,32,31,55,2,0,65,8,33,17,32,30,33,29,32,8,33,2,65,1,11,33,12,65,0,33,13,3,64,32,11,65,1,107,33,4,2,127,2,64,2,64,2,64,32,5,45,0,68,34,16,65,1,70,4,64,32,4,13,1,12,3,11,32,11,69,13,2,12,1,11,32,11,65,2,107,33,4,11,32,5,40,2,60,33,6,32,5,40,2,44,33,9,3,64,32,9,32,4,34,0,65,28,108,106,34,1,40,2,0,33,14,65,0,33,4,2,64,32,0,69,13,0,32,1,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,6,40,2,84,32,6,47,1,36,32,3,108,65,1,116,106,32,1,40,2,20,65,1,116,106,47,1,0,33,4,11,2,64,2,127,32,14,40,0,0,34,3,65,1,113,4,64,32,3,65,1,118,65,1,113,12,1,11,32,3,47,1,44,65,1,113,11,13,0,32,4,65,255,255,3,113,13,0,32,0,65,1,107,33,4,32,0,69,13,2,12,1,11,11,32,3,65,8,118,33,9,32,14,45,0,7,33,20,32,1,40,2,4,12,1,11,65,0,33,3,65,0,33,9,65,0,33,20,65,0,33,4,65,0,11,33,27,32,15,65,1,107,33,1,2,127,2,64,2,64,2,64,32,5,45,0,28,34,25,65,1,70,4,64,32,1,13,1,12,3,11,32,15,69,13,2,12,1,11,32,15,65,2,107,33,1,11,32,5,40,2,20,33,18,32,5,40,2,4,33,26,3,64,32,26,32,1,34,0,65,28,108,106,34,14,40,2,0,33,21,65,0,33,1,2,64,32,0,69,13,0,32,14,65,28,107,40,2,0,40,2,0,47,1,66,34,6,69,13,0,32,18,40,2,84,32,18,47,1,36,32,6,108,65,1,116,106,32,14,40,2,20,65,1,116,106,47,1,0,33,1,11,2,64,2,127,32,21,40,0,0,34,6,65,1,113,4,64,32,6,65,1,118,65,1,113,12,1,11,32,6,47,1,44,65,1,113,11,13,0,32,1,65,255,255,3,113,13,0,32,0,65,1,107,33,1,32,0,69,13,2,12,1,11,11,32,6,65,8,118,33,0,32,21,45,0,7,33,18,32,14,40,2,4,12,1,11,65,0,33,6,65,0,33,0,65,0,33,18,65,0,33,1,65,0,11,33,26,32,3,65,1,113,34,14,4,127,32,9,65,255,1,113,5,32,3,47,1,40,11,33,28,2,127,2,64,2,64,2,64,2,64,2,64,2,127,32,6,65,1,113,34,21,69,4,64,32,3,65,0,71,33,9,32,6,47,1,40,33,0,65,1,12,1,11,32,3,32,6,114,69,13,3,32,3,65,0,71,33,9,32,0,65,255,1,113,33,0,32,6,65,0,71,11,69,13,0,32,9,69,13,0,32,4,65,255,255,3,113,32,1,65,255,255,3,113,71,13,0,32,28,65,255,255,3,113,34,4,32,0,65,255,255,3,113,71,13,0,32,3,65,1,113,69,4,64,32,3,40,2,16,33,20,11,32,6,65,1,113,69,4,64,32,6,40,2,16,33,18,11,32,14,4,127,32,3,65,16,118,5,32,3,47,1,42,11,33,0,32,21,4,127,32,6,65,16,118,5,32,6,47,1,42,11,33,15,65,0,33,9,65,0,33,1,32,14,69,4,64,32,3,45,0,44,65,192,0,113,65,6,118,33,1,11,32,21,69,4,64,32,6,45,0,44,65,192,0,113,65,6,118,33,9,11,2,127,32,3,65,26,116,65,31,117,65,226,4,113,32,14,13,0,26,65,226,4,32,3,45,0,45,65,2,113,13,0,26,32,3,40,2,32,11,33,25,2,127,32,6,65,26,116,65,31,117,65,226,4,113,32,21,13,0,26,65,226,4,32,6,45,0,45,65,2,113,13,0,26,32,6,40,2,32,11,33,6,32,26,32,27,71,13,3,32,4,65,255,255,3,70,13,3,32,18,32,20,71,13,3,32,0,65,255,255,3,113,34,0,65,255,255,3,70,13,3,32,15,65,255,255,3,113,34,4,65,255,255,3,70,13,3,32,0,69,32,4,69,115,13,3,32,6,32,25,71,13,3,32,1,32,9,115,13,3,32,14,4,127,32,3,65,4,118,65,1,113,5,32,3,47,1,44,65,5,118,65,1,113,11,13,3,32,1,69,13,2,2,127,35,1,65,148,12,106,34,1,32,5,40,2,72,34,0,69,13,0,26,32,1,32,0,65,1,113,13,0,26,32,1,32,0,45,0,44,65,192,0,113,69,13,0,26,32,1,32,0,65,48,106,32,0,40,2,36,27,11,34,0,40,2,24,33,3,2,127,35,1,65,148,12,106,34,4,32,5,40,2,32,34,1,69,13,0,26,32,4,32,1,65,1,113,13,0,26,32,4,32,1,45,0,44,65,192,0,113,69,13,0,26,32,4,32,1,65,48,106,32,1,40,2,36,27,11,34,4,40,2,24,34,1,65,25,79,4,64,32,1,32,3,71,13,4,32,0,40,2,0,33,0,32,4,40,2,0,33,4,12,2,11,32,1,32,3,70,13,1,12,3,11,32,5,40,2,44,32,11,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,3,32,0,65,24,107,40,2,0,33,9,32,5,40,2,4,32,15,65,28,108,106,34,6,65,16,107,40,2,0,33,11,32,6,65,20,107,40,2,0,33,15,32,6,65,24,107,40,2,0,33,14,2,126,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,4,40,0,0,34,1,65,1,113,4,64,32,9,32,4,45,0,6,106,33,0,32,3,32,4,45,0,5,65,15,113,34,1,106,33,3,32,4,45,0,4,65,0,32,2,32,1,27,106,33,2,32,16,13,1,32,0,32,4,45,0,7,34,4,106,12,3,11,32,1,40,2,12,65,0,32,2,32,1,40,2,8,34,0,27,106,33,2,32,0,32,3,106,33,3,32,1,40,2,4,32,9,106,33,0,32,16,69,13,1,11,32,3,173,32,2,173,66,32,134,132,12,2,11,65,0,32,2,32,1,40,2,20,34,4,27,33,2,32,3,32,4,106,33,3,32,1,40,2,24,33,4,32,1,40,2,16,32,0,106,11,33,0,32,3,173,32,2,32,4,106,173,66,32,134,132,11,2,126,2,127,2,64,2,64,32,6,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,14,32,1,45,0,6,106,33,4,32,15,32,1,45,0,5,65,15,113,34,3,106,33,2,32,1,45,0,4,65,0,32,11,32,3,27,106,33,6,32,25,13,1,32,4,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,11,32,3,40,2,8,34,1,27,106,33,6,32,1,32,15,106,33,2,32,3,40,2,4,32,14,106,33,4,32,25,69,13,1,11,32,2,173,32,6,173,66,32,134,132,12,2,11,65,0,32,6,32,3,40,2,20,34,1,27,33,6,32,1,32,2,106,33,2,32,3,40,2,24,33,1,32,3,40,2,16,32,4,106,11,33,4,32,2,173,32,1,32,6,106,173,66,32,134,132,11,32,0,32,4,73,34,1,27,33,29,32,0,32,4,32,1,27,33,2,12,3,11,32,0,32,4,32,1,16,248,1,13,1,11,32,5,40,2,44,32,11,65,28,108,106,34,4,65,24,107,40,2,0,33,6,2,127,32,4,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,34,11,4,64,32,6,32,1,45,0,6,106,34,0,32,16,13,1,26,32,0,32,1,45,0,7,106,12,1,11,32,3,40,2,4,32,6,106,34,0,32,16,13,0,26,32,3,40,2,16,32,0,106,11,33,9,2,64,32,13,32,7,40,2,12,34,15,79,13,0,32,7,40,2,8,33,14,32,13,33,0,3,64,32,8,32,14,32,0,65,24,108,106,34,20,40,2,20,79,4,64,32,15,32,0,65,1,106,34,0,71,13,1,12,2,11,11,32,20,40,2,16,32,9,73,13,1,11,32,4,65,16,107,40,2,0,33,9,32,4,65,20,107,40,2,0,33,0,2,127,2,64,2,64,32,11,4,64,32,6,32,1,45,0,6,106,33,2,32,0,32,1,45,0,5,65,15,113,34,4,106,33,0,32,1,45,0,4,65,0,32,9,32,4,27,106,33,4,32,16,13,1,32,2,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,9,32,3,40,2,8,34,1,27,106,33,4,32,0,32,1,106,33,0,32,3,40,2,4,32,6,106,33,2,32,16,69,13,1,11,32,0,173,32,4,173,66,32,134,132,33,29,65,0,12,4,11,65,0,32,4,32,3,40,2,20,34,1,27,33,4,32,0,32,1,106,33,0,32,3,40,2,24,33,1,32,3,40,2,16,32,2,106,11,33,2,32,0,173,32,1,32,4,106,173,66,32,134,132,33,29,65,0,12,2,11,32,5,65,40,106,32,8,16,17,33,1,32,5,32,8,16,17,33,0,32,1,4,64,65,0,32,0,13,2,26,32,5,40,2,44,32,5,40,2,48,65,28,108,106,34,0,65,16,107,40,2,0,33,3,32,0,65,20,107,40,2,0,33,1,32,0,65,24,107,40,2,0,33,2,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,0,40,0,0,34,4,65,1,113,4,64,32,2,32,0,45,0,6,106,33,2,32,1,32,0,45,0,5,65,15,113,34,4,106,33,1,32,0,45,0,4,65,0,32,3,32,4,27,106,33,3,32,5,45,0,68,13,1,32,2,32,0,45,0,7,34,0,106,12,3,11,32,4,40,2,12,65,0,32,3,32,4,40,2,8,34,0,27,106,33,3,32,0,32,1,106,33,1,32,4,40,2,4,32,2,106,33,2,32,5,45,0,68,65,1,71,13,1,11,32,1,173,32,3,173,66,32,134,132,33,29,12,3,11,65,0,32,3,32,4,40,2,20,34,0,27,33,3,32,0,32,1,106,33,1,32,4,40,2,24,33,0,32,4,40,2,16,32,2,106,11,33,2,32,1,173,32,0,32,3,106,173,66,32,134,132,33,29,12,1,11,32,0,4,64,32,5,40,2,4,32,5,40,2,8,65,28,108,106,34,0,65,16,107,40,2,0,33,3,32,0,65,20,107,40,2,0,33,1,32,0,65,24,107,40,2,0,33,2,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,0,40,0,0,34,4,65,1,113,4,64,32,2,32,0,45,0,6,106,33,2,32,1,32,0,45,0,5,65,15,113,34,4,106,33,1,32,0,45,0,4,65,0,32,3,32,4,27,106,33,3,32,5,45,0,28,13,1,32,2,32,0,45,0,7,34,0,106,12,3,11,32,4,40,2,12,65,0,32,3,32,4,40,2,8,34,0,27,106,33,3,32,0,32,1,106,33,1,32,4,40,2,4,32,2,106,33,2,32,5,45,0,28,65,1,71,13,1,11,32,1,173,32,3,173,66,32,134,132,33,29,12,3,11,65,0,32,3,32,4,40,2,20,34,0,27,33,3,32,0,32,1,106,33,1,32,4,40,2,24,33,0,32,4,40,2,16,32,2,106,11,33,2,32,1,173,32,0,32,3,106,173,66,32,134,132,33,29,12,1,11,32,5,40,2,44,32,5,40,2,48,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,3,32,0,65,24,107,40,2,0,33,9,32,5,40,2,4,32,5,40,2,8,65,28,108,106,34,6,65,16,107,40,2,0,33,11,32,6,65,20,107,40,2,0,33,16,32,6,65,24,107,40,2,0,33,15,2,126,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,4,40,0,0,34,1,65,1,113,4,64,32,9,32,4,45,0,6,106,33,0,32,3,32,4,45,0,5,65,15,113,34,1,106,33,3,32,4,45,0,4,65,0,32,2,32,1,27,106,33,2,32,5,45,0,68,13,1,32,0,32,4,45,0,7,34,4,106,12,3,11,32,1,40,2,12,65,0,32,2,32,1,40,2,8,34,0,27,106,33,2,32,0,32,3,106,33,3,32,1,40,2,4,32,9,106,33,0,32,5,45,0,68,65,1,71,13,1,11,32,3,173,32,2,173,66,32,134,132,12,2,11,65,0,32,2,32,1,40,2,20,34,4,27,33,2,32,3,32,4,106,33,3,32,1,40,2,24,33,4,32,1,40,2,16,32,0,106,11,33,0,32,3,173,32,2,32,4,106,173,66,32,134,132,11,2,126,2,127,2,64,2,64,32,6,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,15,32,1,45,0,6,106,33,4,32,16,32,1,45,0,5,65,15,113,34,3,106,33,2,32,1,45,0,4,65,0,32,11,32,3,27,106,33,6,32,5,45,0,28,13,1,32,4,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,11,32,3,40,2,8,34,1,27,106,33,6,32,1,32,16,106,33,2,32,3,40,2,4,32,15,106,33,4,32,5,45,0,28,65,1,71,13,1,11,32,2,173,32,6,173,66,32,134,132,12,2,11,65,0,32,6,32,3,40,2,20,34,1,27,33,6,32,1,32,2,106,33,2,32,3,40,2,24,33,1,32,3,40,2,16,32,4,106,11,33,4,32,2,173,32,1,32,6,106,173,66,32,134,132,11,32,0,32,4,73,34,1,27,33,29,32,0,32,4,32,1,27,33,2,65,0,12,1,11,65,1,11,33,15,65,0,33,4,2,64,32,5,40,2,48,34,0,69,13,0,3,64,32,5,40,2,44,32,0,34,4,65,28,108,106,34,1,65,24,107,40,2,0,33,0,2,127,32,1,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,0,32,1,45,0,6,106,34,0,32,5,45,0,68,13,1,26,32,0,32,1,45,0,7,106,12,1,11,32,3,40,2,4,32,0,106,34,0,32,5,45,0,68,13,0,26,32,3,40,2,16,32,0,106,11,32,2,75,13,1,32,5,65,40,106,16,18,32,5,40,2,48,34,0,13,0,11,65,0,33,4,11,2,64,3,64,32,5,40,2,8,34,0,4,64,32,5,40,2,4,32,0,65,28,108,106,34,3,65,24,107,40,2,0,33,1,2,127,32,3,65,28,107,40,2,0,34,3,40,0,0,34,6,65,1,113,4,64,32,1,32,3,45,0,6,106,34,1,32,5,45,0,28,13,1,26,32,1,32,3,45,0,7,106,12,1,11,32,6,40,2,4,32,1,106,34,1,32,5,45,0,28,13,0,26,32,6,40,2,16,32,1,106,11,32,2,75,13,2,32,5,16,18,12,1,11,11,65,0,33,0,11,32,5,45,0,68,33,6,32,5,40,2,64,34,1,32,5,40,2,24,34,3,75,4,64,32,5,40,2,60,33,11,32,5,40,2,44,33,14,3,64,32,4,4,127,2,64,2,127,32,14,32,4,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,16,65,1,113,4,64,32,16,65,1,118,65,1,113,12,1,11,32,16,47,1,44,65,1,113,11,69,4,64,32,4,65,1,70,13,1,32,9,65,56,107,40,2,0,40,2,0,47,1,66,34,16,69,13,1,32,11,40,2,84,32,11,47,1,36,32,16,108,65,1,116,106,32,9,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,1,32,6,65,127,115,65,1,113,107,33,1,11,65,0,32,6,32,9,65,12,107,40,2,0,27,33,6,32,4,65,1,107,5,65,0,11,33,4,32,1,32,3,75,13,0,11,11,32,5,32,6,58,0,68,32,5,32,4,54,2,48,32,5,32,1,54,2,64,32,5,45,0,28,33,4,32,1,32,3,73,4,64,32,5,40,2,20,33,9,32,5,40,2,4,33,16,3,64,32,0,4,127,2,64,2,127,32,16,32,0,65,28,108,106,34,6,65,28,107,40,2,0,40,0,0,34,11,65,1,113,4,64,32,11,65,1,118,65,1,113,12,1,11,32,11,47,1,44,65,1,113,11,69,4,64,32,0,65,1,70,13,1,32,6,65,56,107,40,2,0,40,2,0,47,1,66,34,11,69,13,1,32,9,40,2,84,32,9,47,1,36,32,11,108,65,1,116,106,32,6,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,3,32,4,65,127,115,65,1,113,107,33,3,11,65,0,32,4,32,6,65,12,107,40,2,0,27,33,4,32,0,65,1,107,5,65,0,11,33,0,32,1,32,3,73,13,0,11,11,32,5,32,4,58,0,28,32,5,32,0,54,2,8,32,5,32,3,54,2,24,2,64,32,15,69,4,64,32,12,33,1,12,1,11,2,64,32,12,69,13,0,32,8,32,10,32,12,65,24,108,106,34,0,65,4,107,34,1,40,2,0,75,13,0,32,1,32,2,54,2,0,32,0,65,16,107,32,29,55,2,0,32,12,33,1,12,1,11,32,2,32,8,77,4,64,32,12,33,1,12,1,11,2,64,32,12,65,1,106,34,1,32,17,77,13,0,65,8,32,17,65,1,116,34,0,32,1,32,0,32,1,75,27,34,0,32,0,65,8,77,27,34,17,65,24,108,33,0,32,10,4,64,32,10,32,0,35,4,40,2,0,17,1,0,33,10,12,1,11,32,0,35,5,40,2,0,17,0,0,33,10,11,32,10,32,12,65,24,108,106,34,0,32,2,54,2,20,32,0,32,8,54,2,16,32,0,32,29,55,2,8,32,0,32,30,55,2,0,11,32,13,32,7,40,2,12,34,0,32,0,32,13,73,27,33,8,3,64,2,64,32,8,32,13,34,0,70,4,64,32,8,33,0,12,1,11,32,0,65,1,106,33,13,32,7,40,2,8,32,0,65,24,108,106,40,2,20,32,2,77,13,1,11,11,32,5,40,2,48,34,11,4,64,32,2,33,8,32,29,33,30,32,1,33,12,32,0,33,13,32,5,40,2,8,34,15,13,1,11,11,2,127,32,19,40,0,0,34,8,65,1,113,4,64,32,19,45,0,5,65,15,113,33,3,32,19,45,0,4,33,2,32,19,45,0,7,34,0,32,19,45,0,6,106,12,1,11,65,0,32,8,40,2,12,32,8,40,2,20,34,0,27,33,2,32,0,32,8,40,2,8,106,33,3,32,8,40,2,24,33,0,32,8,40,2,16,32,8,40,2,4,106,11,33,8,32,3,173,32,0,32,2,106,173,66,32,134,132,33,29,2,127,32,22,40,0,0,34,2,65,1,113,4,64,32,22,45,0,7,34,0,32,22,45,0,6,106,33,3,32,22,45,0,4,33,13,32,22,45,0,5,65,15,113,12,1,11,65,0,32,2,40,2,12,32,2,40,2,20,34,12,27,33,13,32,2,40,2,16,32,2,40,2,4,106,33,3,32,2,40,2,24,33,0,32,12,32,2,40,2,8,106,11,173,32,0,32,13,106,173,66,32,134,132,33,30,2,64,32,3,32,8,75,4,64,2,64,32,1,69,13,0,32,8,32,10,32,1,65,24,108,106,34,0,65,4,107,34,2,40,2,0,75,13,0,32,2,32,3,54,2,0,32,0,65,16,107,32,30,55,2,0,32,1,33,0,12,2,11,2,64,32,1,65,1,106,34,0,32,17,77,13,0,65,8,32,17,65,1,116,34,2,32,0,32,0,32,2,73,27,34,2,32,2,65,8,77,27,65,24,108,33,2,32,10,4,64,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,1,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,1,65,24,108,106,34,1,32,3,54,2,20,32,1,32,8,54,2,16,32,1,32,30,55,2,8,32,1,32,29,55,2,0,12,1,11,32,3,32,8,79,4,64,32,1,33,0,12,1,11,2,64,32,1,69,13,0,32,3,32,10,32,1,65,24,108,106,34,0,65,4,107,34,2,40,2,0,75,13,0,32,2,32,8,54,2,0,32,0,65,16,107,32,29,55,2,0,32,1,33,0,12,1,11,2,64,32,1,65,1,106,34,0,32,17,77,13,0,65,8,32,17,65,1,116,34,2,32,0,32,0,32,2,73,27,34,2,32,2,65,8,77,27,65,24,108,33,2,32,10,4,64,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,1,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,1,65,24,108,106,34,1,32,8,54,2,20,32,1,32,3,54,2,16,32,1,32,29,55,2,8,32,1,32,30,55,2,0,11,32,7,32,5,41,3,40,55,2,44,32,7,32,5,40,2,56,54,2,60,32,7,32,5,41,3,48,55,2,52,32,7,32,5,40,2,16,54,2,40,32,7,32,5,41,3,8,55,2,32,32,7,32,5,41,3,0,55,2,24,32,7,32,10,54,2,4,32,5,65,224,0,106,36,0,32,24,32,0,54,2,12,32,7,40,2,8,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,48,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,28,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,4,33,0,32,7,65,64,107,36,0,32,0,33,1,32,24,40,2,12,4,64,3,64,32,1,32,23,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,23,65,1,106,34,23,32,24,40,2,12,34,0,73,13,0,11,32,0,33,23,11,35,9,34,0,32,1,54,2,4,32,0,32,23,54,2,0,32,24,65,16,106,36,0,11,155,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,1,65,36,106,32,1,65,8,106,16,130,1,32,2,32,1,41,2,40,55,3,0,32,2,32,1,41,2,48,55,3,8,32,1,65,208,0,106,36,0,11,218,1,1,5,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,3,41,3,0,55,2,32,32,1,32,3,41,3,8,55,2,40,32,1,65,0,54,2,24,32,1,32,1,40,2,28,54,2,8,32,1,47,1,44,33,0,32,1,65,0,54,2,20,32,1,32,0,59,1,24,32,1,65,0,54,2,12,2,64,2,64,32,1,40,2,36,34,0,69,13,0,32,1,40,2,32,33,5,32,0,65,28,108,34,2,35,5,40,2,0,17,0,0,33,4,32,1,32,0,54,2,20,32,1,32,4,54,2,12,32,5,4,64,32,2,69,13,1,32,4,32,5,32,2,252,10,0,0,32,1,32,0,54,2,16,12,2,11,32,2,69,13,0,32,4,65,0,32,2,252,11,0,11,32,1,32,0,54,2,16,11,32,3,32,1,41,2,12,55,3,0,32,3,32,1,41,2,20,55,3,8,32,1,65,48,106,36,0,11,83,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,1,65,0,54,2,24,32,1,66,0,55,2,16,11,32,1,65,32,106,36,0,11,217,1,2,8,127,1,126,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,2,40,2,32,33,4,32,2,41,3,24,33,9,32,2,40,2,20,33,5,32,2,40,2,4,33,6,32,2,40,2,8,33,7,32,2,40,2,16,33,8,32,1,32,1,41,2,72,55,3,24,32,1,32,8,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,7,54,2,60,32,1,32,6,65,1,116,54,2,56,32,1,32,5,54,2,40,32,1,32,9,55,2,44,32,1,32,4,54,2,52,32,1,32,0,54,2,36,32,1,32,1,41,2,56,55,3,8,32,1,65,36,106,32,1,65,8,106,16,112,32,2,32,1,41,2,40,55,3,0,32,2,32,1,41,2,48,55,3,8,32,1,65,208,0,106,36,0,11,189,2,1,4,127,35,0,65,48,107,34,2,36,0,32,2,32,0,54,2,28,32,2,35,9,34,4,41,3,0,55,2,32,32,2,32,4,41,3,8,55,2,40,32,2,32,4,41,3,16,55,2,12,32,2,32,4,41,3,24,55,2,20,32,2,32,1,54,2,8,32,2,32,2,40,2,8,54,2,28,32,2,47,1,24,33,0,32,2,65,0,54,2,36,32,2,32,0,59,1,44,32,2,40,2,32,33,0,32,2,40,2,12,33,5,2,64,2,64,32,2,40,2,16,34,1,32,2,40,2,40,75,4,64,32,1,65,28,108,33,3,2,127,32,0,4,64,32,0,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,0,32,2,32,1,54,2,40,32,2,32,0,54,2,32,32,2,40,2,36,34,3,69,13,1,32,3,65,28,108,34,3,69,13,1,32,0,32,1,65,28,108,106,32,0,32,3,252,10,0,0,12,1,11,32,1,69,13,1,11,32,1,65,28,108,33,3,32,5,4,64,32,3,69,13,1,32,0,32,5,32,3,252,10,0,0,12,1,11,32,3,69,13,0,32,0,65,0,32,3,252,11,0,11,32,2,32,2,40,2,36,32,1,106,54,2,36,32,4,32,2,41,2,32,55,3,0,32,4,32,2,41,2,40,55,3,8,32,2,65,48,106,36,0,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,131,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,100,1,3,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,33,2,3,64,32,2,16,132,1,34,3,65,1,70,13,0,11,32,3,65,2,70,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,107,2,2,127,1,126,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,40,2,0,54,2,16,32,1,32,0,41,2,4,55,2,20,32,1,32,0,40,2,12,34,2,54,2,28,32,1,65,12,106,32,2,65,1,116,65,0,65,0,16,133,1,33,3,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,3,66,0,82,11,140,1,2,2,127,1,126,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,40,2,0,54,2,32,32,1,32,0,41,2,4,55,2,36,32,1,32,0,40,2,12,34,2,54,2,44,32,1,32,0,40,2,16,65,1,116,54,2,24,32,1,32,2,54,2,20,32,1,32,1,41,2,20,55,3,8,32,1,65,28,106,65,0,32,1,40,2,8,32,1,40,2,12,16,133,1,33,3,32,0,32,1,41,2,32,55,3,0,32,0,32,1,41,2,40,55,3,8,32,1,65,48,106,36,0,32,3,66,0,82,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,134,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,248,4,2,13,127,1,126,35,0,65,32,107,34,6,36,0,32,6,32,0,54,2,12,32,6,35,9,34,9,41,3,0,55,2,16,32,6,32,9,41,3,8,55,2,24,65,1,33,11,2,64,32,6,65,12,106,34,10,35,2,65,12,106,16,121,34,13,69,13,0,32,10,40,2,4,32,10,40,2,8,65,28,108,106,34,0,65,24,107,34,2,40,2,0,13,0,32,0,65,16,107,40,2,0,69,13,0,32,0,65,12,107,40,2,0,33,7,32,0,65,56,107,40,2,0,34,1,45,0,0,65,1,113,69,4,64,32,1,40,2,0,34,1,32,1,40,2,36,65,3,116,107,33,3,11,32,0,65,48,107,41,2,0,33,14,32,0,65,52,107,40,2,0,33,1,32,2,32,7,4,127,2,127,32,3,40,0,0,34,2,65,1,113,4,64,32,1,32,3,45,0,7,34,2,106,33,8,32,14,66,32,136,167,33,4,32,14,167,12,1,11,65,0,32,14,66,32,136,167,32,2,40,2,20,34,5,27,33,4,32,2,40,2,16,32,1,106,33,8,32,2,40,2,24,33,2,32,5,32,14,167,106,11,173,32,2,32,4,106,173,66,32,134,132,33,14,65,1,33,2,32,7,65,1,71,4,64,3,64,2,64,32,3,32,2,65,3,116,106,34,4,40,0,0,34,1,65,1,113,4,64,32,4,45,0,7,34,1,32,4,45,0,6,106,33,12,32,4,45,0,5,65,15,113,33,5,32,4,45,0,4,33,4,12,1,11,65,0,32,1,40,2,12,32,1,40,2,20,34,5,27,33,4,32,1,40,2,16,32,1,40,2,4,106,33,12,32,5,32,1,40,2,8,106,33,5,32,1,40,2,24,33,1,11,32,5,32,14,167,106,173,32,1,32,4,106,65,0,32,14,66,32,136,167,32,5,27,106,173,66,32,134,132,33,14,32,8,32,12,106,33,8,32,2,65,1,106,34,2,32,7,71,13,0,11,11,2,127,32,3,32,7,65,3,116,106,34,2,40,0,0,34,3,65,1,113,4,64,32,2,45,0,5,65,15,113,33,1,32,2,45,0,4,33,5,32,2,45,0,6,12,1,11,32,3,40,2,12,33,5,32,3,40,2,8,33,1,32,3,40,2,4,11,33,2,32,1,32,14,167,106,173,65,0,32,14,66,32,136,167,32,1,27,32,5,106,173,66,32,134,132,33,14,32,2,32,8,106,5,32,1,11,54,2,0,32,0,65,20,107,32,14,55,2,0,11,2,64,2,64,2,64,32,13,65,1,107,14,2,0,2,1,11,3,64,32,10,16,132,1,65,1,70,13,0,11,12,1,11,65,0,33,11,11,32,9,32,6,41,2,16,55,3,0,32,9,32,6,41,2,24,55,3,8,32,6,65,32,106,36,0,32,11,11,196,9,2,24,127,1,126,35,0,65,32,107,34,4,36,0,32,4,32,0,54,2,12,32,4,35,9,34,16,41,3,0,55,2,16,32,4,32,16,41,3,8,55,2,24,32,1,33,12,32,4,40,2,20,33,0,32,4,40,2,16,33,8,3,64,32,8,32,0,65,1,107,34,6,65,28,108,106,34,9,40,2,24,33,2,32,9,40,2,0,40,0,0,33,7,2,64,2,64,32,6,69,4,64,65,1,33,1,32,7,65,1,113,69,13,1,65,0,33,5,12,2,11,2,64,2,127,32,7,65,1,113,34,3,4,64,32,7,65,2,113,4,64,65,0,33,5,65,1,33,1,12,5,11,32,7,65,3,118,65,1,113,12,1,11,65,1,33,1,32,7,47,1,44,34,5,65,1,113,13,2,32,5,65,2,118,65,1,113,11,13,0,32,9,65,28,107,40,2,0,40,2,0,47,1,66,34,1,69,13,0,65,0,33,5,32,4,40,2,12,40,2,8,34,10,40,2,84,32,10,47,1,36,32,1,108,65,1,116,106,32,9,40,2,20,65,1,116,106,47,1,0,65,0,71,33,1,32,3,69,13,1,12,2,11,65,0,33,1,65,0,33,5,32,3,13,1,11,32,7,40,2,36,69,4,64,65,0,33,5,12,1,11,32,7,40,2,56,33,5,11,2,64,2,64,32,2,32,12,75,13,0,32,1,32,2,106,32,5,106,32,12,77,13,0,3,64,32,4,40,2,16,34,11,32,4,40,2,20,34,14,65,28,108,106,34,6,65,28,107,40,2,0,40,0,0,34,0,65,1,113,34,7,13,2,32,0,40,2,36,69,13,2,32,4,40,2,12,40,2,8,33,1,32,0,47,1,66,34,5,4,127,32,1,40,2,84,32,1,47,1,36,32,5,108,65,1,116,106,5,65,0,11,33,18,32,6,65,4,107,40,2,0,33,2,2,64,2,64,32,14,65,1,107,34,5,69,13,0,32,0,47,1,44,34,9,65,1,113,13,0,32,9,65,4,113,13,1,32,11,32,5,65,28,108,106,34,5,65,28,107,40,2,0,40,2,0,47,1,66,34,9,69,13,1,32,2,32,1,40,2,84,32,1,47,1,36,32,9,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,2,12,1,11,32,2,65,1,106,33,2,11,32,2,32,12,75,13,2,65,0,33,1,65,0,32,0,32,0,40,2,36,34,19,65,3,116,107,34,24,32,7,27,33,25,32,6,65,24,107,40,2,0,33,3,32,6,65,20,107,40,2,0,33,0,32,6,65,16,107,40,2,0,33,8,65,0,33,9,3,64,32,2,33,10,32,9,33,6,32,8,33,7,32,0,33,5,32,3,33,20,32,1,34,21,32,19,70,13,3,2,127,32,25,32,1,65,3,116,106,34,22,40,0,0,34,3,65,1,113,34,0,4,64,32,3,65,2,113,65,1,118,34,15,33,2,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,34,15,65,1,113,33,2,32,15,65,2,118,65,1,113,11,4,127,32,6,5,32,18,4,64,32,18,32,6,65,1,116,106,47,1,0,32,2,114,65,0,71,34,15,33,2,11,32,6,65,1,106,11,33,9,2,64,2,127,2,64,32,0,69,4,64,32,3,40,2,36,13,1,65,0,12,2,11,32,2,32,10,106,33,2,32,5,33,0,32,22,45,0,7,34,3,33,8,32,7,33,1,12,2,11,32,3,40,2,56,11,33,0,65,0,32,7,32,3,40,2,20,34,8,27,33,1,32,2,32,10,106,32,0,106,33,2,32,5,32,8,106,33,0,32,3,40,2,24,33,8,32,3,40,2,16,33,3,11,32,1,32,8,106,33,8,32,3,32,20,106,33,3,32,19,32,21,65,1,106,34,1,75,4,64,2,127,32,24,32,1,65,3,116,106,41,2,0,34,26,167,34,13,65,1,113,4,64,32,26,66,32,136,167,65,255,1,113,33,23,32,26,66,40,136,167,65,15,113,33,17,32,26,66,48,136,167,65,255,1,113,12,1,11,32,13,40,2,12,33,23,32,13,40,2,8,33,17,32,13,40,2,4,11,33,13,65,0,32,8,32,17,27,32,23,106,33,8,32,3,32,13,106,33,3,32,0,32,17,106,33,0,11,32,2,32,12,77,13,0,11,32,4,32,14,65,1,106,34,0,32,4,40,2,24,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,0,32,0,32,1,73,27,34,0,32,0,65,8,77,27,34,1,65,28,108,33,0,2,127,32,11,4,64,32,11,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,11,32,4,32,1,54,2,24,32,4,32,11,54,2,16,32,4,40,2,20,34,14,65,1,106,5,32,0,11,54,2,20,32,11,32,14,65,28,108,106,34,0,32,10,54,2,24,32,0,32,6,54,2,20,32,0,32,21,54,2,16,32,0,32,7,54,2,12,32,0,32,5,54,2,8,32,0,32,20,54,2,4,32,0,32,22,54,2,0,32,15,32,10,32,12,70,113,69,13,0,11,12,1,11,32,0,65,2,73,13,0,32,4,32,6,54,2,20,32,6,33,0,12,1,11,11,32,16,32,4,41,2,16,55,3,0,32,16,32,4,41,2,24,55,3,8,32,4,65,32,106,36,0,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,136,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,47,33,0,32,1,65,208,0,106,36,0,32,0,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,50,33,0,32,1,65,208,0,106,36,0,32,0,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,49,33,0,32,1,65,208,0,106,36,0,32,0,11,138,1,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,2,127,32,1,40,2,24,40,2,0,34,0,65,1,113,4,64,32,0,65,5,118,65,1,113,12,1,11,32,0,47,1,44,65,9,118,65,1,113,11,33,0,32,1,65,208,0,106,36,0,32,0,11,71,1,1,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,41,3,0,55,2,32,32,1,32,0,41,3,8,55,2,40,32,1,65,4,106,32,1,65,28,106,16,137,1,32,1,40,2,20,33,0,32,1,65,48,106,36,0,32,0,11,137,1,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,16,32,1,32,1,41,2,44,55,3,8,32,1,32,1,41,2,36,55,3,0,32,1,32,1,40,2,4,54,2,28,32,1,32,1,40,2,8,54,2,32,32,0,32,1,40,2,28,54,2,0,32,0,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,126,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,16,32,1,32,1,41,2,44,55,3,8,32,1,32,1,41,2,36,55,3,0,32,1,65,28,106,32,1,16,46,32,0,32,1,40,2,28,54,2,0,32,0,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,106,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,40,2,8,33,0,32,1,65,208,0,106,36,0,32,0,65,1,118,11,108,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,45,33,0,32,1,65,208,0,106,36,0,32,0,65,1,118,11,61,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,138,1,33,0,32,1,65,32,106,36,0,32,0,11,243,1,1,7,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,65,0,33,0,32,1,40,2,20,34,5,65,2,79,4,64,32,1,40,2,16,33,6,65,1,33,3,3,64,2,64,2,127,2,64,2,64,32,6,32,3,65,28,108,106,34,4,40,2,0,40,0,0,34,2,65,1,113,4,64,32,2,65,2,113,13,1,32,2,65,3,118,65,1,113,12,3,11,32,2,47,1,44,34,2,65,1,113,69,13,1,11,32,0,65,1,106,33,0,12,2,11,32,2,65,2,118,65,1,113,11,13,0,32,4,65,28,107,40,2,0,40,2,0,47,1,66,34,2,69,13,0,32,0,32,1,40,2,12,40,2,8,34,7,40,2,84,32,7,47,1,36,32,2,108,65,1,116,106,32,4,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,0,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,1,65,32,106,36,0,32,0,11,73,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,40,2,16,32,1,40,2,20,65,28,108,106,65,4,107,40,2,0,33,0,32,1,65,32,106,36,0,32,0,11,118,1,1,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,41,3,0,55,2,32,32,1,32,0,41,3,8,55,2,40,32,1,65,4,106,32,1,65,28,106,16,137,1,32,0,32,1,40,2,16,54,2,16,32,0,32,1,40,2,8,54,2,8,32,0,32,1,40,2,20,54,2,0,32,0,32,1,40,2,12,65,1,118,54,2,12,32,0,32,1,40,2,4,65,1,118,54,2,4,32,1,65,48,106,36,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,47,33,0,32,1,65,48,106,36,0,32,0,11,171,7,1,13,127,35,0,65,48,107,34,3,36,0,32,3,35,9,34,4,40,2,0,54,2,40,32,3,32,4,40,2,12,65,1,116,54,2,32,32,3,32,0,54,2,44,32,3,32,3,41,2,40,55,3,16,32,3,32,4,40,2,16,54,2,36,32,3,32,3,41,2,32,55,3,8,32,3,32,4,40,2,8,54,2,28,32,3,32,4,40,2,4,65,1,116,54,2,24,32,3,32,3,41,2,24,55,3,0,2,127,2,64,32,3,40,2,16,34,0,40,2,0,34,2,65,1,113,13,0,32,3,40,2,20,33,12,3,64,32,0,33,4,32,2,40,2,36,69,13,1,65,0,33,9,32,2,47,1,66,34,0,4,64,32,12,40,2,8,34,5,40,2,84,32,5,47,1,36,32,0,108,65,1,116,106,33,9,11,32,2,40,2,36,34,13,69,13,1,2,127,32,2,32,13,65,3,116,107,34,0,40,0,0,34,2,65,1,113,34,5,69,4,64,32,2,47,1,44,65,2,118,65,1,113,12,1,11,32,2,65,3,118,65,1,113,11,34,7,69,33,8,65,0,33,6,2,64,32,7,13,0,32,9,69,13,0,32,9,47,1,0,65,0,71,33,6,65,1,33,8,11,2,64,2,64,2,64,2,127,32,5,69,4,64,32,2,47,1,44,65,1,113,12,1,11,32,2,65,1,118,65,1,113,11,32,6,114,65,1,113,69,4,64,65,0,33,6,32,0,40,2,0,34,5,65,1,113,13,1,32,5,40,2,36,69,13,1,32,1,32,5,40,2,48,34,6,79,13,1,12,2,11,65,1,33,6,32,1,69,13,2,11,65,1,33,14,32,13,65,1,70,13,3,3,64,65,0,33,7,2,127,32,0,32,14,65,3,116,106,34,5,40,0,0,34,2,65,1,113,34,11,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,69,4,64,32,9,4,127,32,9,32,8,65,1,116,106,47,1,0,65,0,71,5,65,0,11,33,7,32,8,65,1,106,33,8,11,2,127,32,11,4,127,32,2,65,1,118,65,1,113,5,32,2,47,1,44,65,1,113,11,32,7,114,4,64,32,1,32,6,70,13,4,32,6,65,1,106,12,1,11,65,0,33,2,2,64,32,5,40,2,0,34,11,65,1,113,13,0,32,11,40,2,36,69,13,0,32,1,32,6,107,34,7,32,11,40,2,48,34,2,79,13,0,32,5,33,0,32,7,33,1,12,3,11,32,2,32,6,106,11,33,6,32,14,65,1,106,34,14,32,13,71,13,0,11,12,3,11,2,127,65,0,32,12,40,2,8,34,5,40,2,32,69,13,0,26,65,0,32,5,40,2,64,32,4,40,2,0,47,1,66,65,2,116,106,34,4,47,1,2,34,7,69,13,0,26,32,8,65,1,107,33,6,32,5,40,2,68,32,4,47,1,0,65,2,116,106,34,2,32,7,65,2,116,106,33,4,3,64,2,64,32,2,45,0,3,13,0,32,6,32,2,45,0,2,71,13,0,32,5,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,12,2,11,32,2,65,4,106,34,2,32,4,71,13,0,11,65,0,11,34,4,32,10,32,4,27,33,10,32,0,40,2,0,34,2,65,1,113,69,13,1,12,2,11,11,32,2,65,1,113,4,127,32,2,65,3,118,65,1,113,5,32,2,47,1,44,65,2,118,65,1,113,11,13,0,2,64,32,12,40,2,8,34,0,40,2,32,69,13,0,32,0,40,2,64,32,4,40,2,0,47,1,66,65,2,116,106,34,1,47,1,2,34,4,69,13,0,32,8,65,1,107,33,5,32,0,40,2,68,32,1,47,1,0,65,2,116,106,34,2,32,4,65,2,116,106,33,1,3,64,2,64,32,2,45,0,3,13,0,32,5,32,2,45,0,2,71,13,0,32,0,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,34,0,32,10,32,0,27,12,4,11,32,2,65,4,106,34,2,32,1,71,13,0,11,11,32,10,12,1,11,65,0,11,33,0,32,3,65,48,106,36,0,32,0,11,177,8,1,13,127,35,0,65,48,107,34,6,36,0,32,6,35,9,34,7,40,2,0,54,2,40,32,6,32,7,40,2,12,65,1,116,54,2,32,32,6,32,0,54,2,44,32,6,32,6,41,2,40,55,3,16,32,6,32,7,40,2,16,54,2,36,32,6,32,6,41,2,32,55,3,8,32,6,32,7,40,2,8,54,2,28,32,6,32,7,40,2,4,65,1,116,54,2,24,32,6,32,6,41,2,24,55,3,0,2,127,2,64,32,6,40,2,16,34,0,40,2,0,34,2,65,1,113,13,0,32,6,40,2,20,33,11,3,64,32,0,33,7,32,2,40,2,36,69,13,1,65,0,33,10,32,2,47,1,66,34,0,4,64,32,11,40,2,8,34,4,40,2,84,32,4,47,1,36,32,0,108,65,1,116,106,33,10,11,32,2,40,2,36,34,14,69,13,1,2,127,32,2,32,14,65,3,116,107,34,0,40,0,0,34,3,65,1,113,34,4,69,4,64,32,3,47,1,44,65,2,118,65,1,113,12,1,11,32,3,65,3,118,65,1,113,11,34,2,69,33,8,65,0,33,5,2,64,32,2,13,0,32,10,69,13,0,32,10,47,1,0,33,5,65,1,33,8,11,2,64,2,64,2,64,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,1,2,0,11,32,5,69,4,64,32,4,69,4,64,32,3,47,1,44,34,4,65,1,113,69,13,2,32,4,65,1,118,65,1,113,69,13,2,12,3,11,32,3,65,2,113,69,13,1,32,3,65,2,118,65,1,113,13,2,12,1,11,32,11,40,2,8,40,2,72,32,5,65,3,108,106,45,0,1,65,1,113,13,1,11,65,0,33,9,32,0,40,2,0,34,4,65,1,113,13,1,32,4,40,2,36,69,13,1,32,1,32,4,40,2,52,34,9,73,13,2,12,1,11,65,1,33,9,32,1,69,13,2,11,65,1,33,2,32,14,65,1,70,13,3,3,64,65,0,33,5,2,127,32,0,32,2,65,3,116,106,34,4,40,0,0,34,3,65,1,113,34,13,4,64,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,65,2,118,65,1,113,11,69,4,64,32,10,4,127,32,10,32,8,65,1,116,106,47,1,0,5,65,0,11,33,5,32,8,65,1,106,33,8,11,2,127,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,2,1,0,11,2,64,32,5,69,4,64,32,13,69,13,1,32,3,65,2,113,69,13,3,32,3,65,2,118,65,1,113,13,2,12,3,11,32,11,40,2,8,40,2,72,32,5,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,3,47,1,44,34,5,65,1,113,69,13,1,32,5,65,1,118,65,1,113,69,13,1,11,32,1,32,9,70,13,4,32,9,65,1,106,12,1,11,65,0,33,5,2,64,32,4,40,2,0,34,13,65,1,113,13,0,32,13,40,2,36,69,13,0,32,1,32,9,107,34,3,32,13,40,2,52,34,5,79,13,0,32,4,33,0,32,3,33,1,12,3,11,32,5,32,9,106,11,33,9,32,2,65,1,106,34,2,32,14,71,13,0,11,12,3,11,2,127,65,0,32,11,40,2,8,34,4,40,2,32,69,13,0,26,65,0,32,4,40,2,64,32,7,40,2,0,47,1,66,65,2,116,106,34,7,47,1,2,34,3,69,13,0,26,32,8,65,1,107,33,5,32,4,40,2,68,32,7,47,1,0,65,2,116,106,34,2,32,3,65,2,116,106,33,7,3,64,2,64,32,2,45,0,3,13,0,32,5,32,2,45,0,2,71,13,0,32,4,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,12,2,11,32,2,65,4,106,34,2,32,7,71,13,0,11,65,0,11,34,7,32,12,32,7,27,33,12,32,0,40,2,0,34,2,65,1,113,69,13,1,12,2,11,11,32,3,65,1,113,4,127,32,3,65,3,118,65,1,113,5,32,3,47,1,44,65,2,118,65,1,113,11,13,0,2,64,32,11,40,2,8,34,0,40,2,32,69,13,0,32,0,40,2,64,32,7,40,2,0,47,1,66,65,2,116,106,34,1,47,1,2,34,7,69,13,0,32,8,65,1,107,33,4,32,0,40,2,68,32,1,47,1,0,65,2,116,106,34,2,32,7,65,2,116,106,33,1,3,64,2,64,32,2,45,0,3,13,0,32,4,32,2,45,0,2,71,13,0,32,0,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,34,0,32,12,32,0,27,12,4,11,32,2,65,4,106,34,2,32,1,71,13,0,11,11,32,12,12,1,11,65,0,11,33,0,32,6,65,48,106,36,0,32,0,11,147,4,1,9,127,35,0,65,128,1,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,120,32,2,32,3,40,2,12,65,1,116,54,2,112,32,2,32,0,54,2,124,32,2,32,2,41,2,120,55,3,48,32,2,32,3,40,2,16,54,2,116,32,2,32,2,41,2,112,55,3,40,32,2,32,3,40,2,8,54,2,108,32,2,32,3,40,2,4,65,1,116,54,2,104,32,2,32,2,41,2,104,55,3,32,32,2,65,212,0,106,32,2,65,32,106,16,130,1,2,64,32,1,69,4,64,65,0,33,3,12,1,11,32,2,32,2,41,2,120,55,3,24,32,2,32,2,41,2,112,55,3,16,32,2,32,2,41,2,104,55,3,8,32,2,65,212,0,106,34,0,32,2,65,8,106,16,112,32,0,16,131,1,26,65,0,33,0,65,0,33,3,3,64,32,3,33,4,2,64,3,64,32,2,65,212,0,106,34,3,16,138,1,32,1,70,13,1,32,3,16,134,1,13,0,11,32,4,33,3,12,2,11,32,2,65,60,106,32,2,65,212,0,106,34,3,16,137,1,32,3,16,134,1,33,7,2,64,32,4,65,5,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,6,32,5,4,64,32,5,32,6,35,4,40,2,0,17,1,0,33,5,12,1,11,32,6,35,5,40,2,0,17,0,0,33,5,11,32,5,32,4,65,2,116,106,34,4,66,0,55,2,0,32,4,65,0,54,2,16,32,4,66,0,55,2,8,32,2,40,2,60,33,6,32,2,40,2,68,33,8,32,2,40,2,76,33,9,32,2,40,2,64,33,10,32,5,32,3,65,2,116,106,34,4,65,4,107,32,2,40,2,72,54,2,0,32,4,65,12,107,32,10,54,2,0,32,4,65,20,107,32,9,54,2,0,32,4,65,8,107,32,8,65,1,118,54,2,0,32,4,65,16,107,32,6,65,1,118,54,2,0,32,7,13,0,11,11,32,2,40,2,88,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,96,32,2,66,0,55,2,88,11,35,9,34,0,32,5,54,2,4,32,0,32,3,65,5,110,54,2,0,32,2,65,128,1,106,36,0,11,250,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,65,1,16,57,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,250,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,65,0,16,57,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,160,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,128,254,3,113,65,8,118,12,1,11,32,0,47,1,40,11,65,255,255,3,113,33,0,32,1,65,48,106,36,0,32,0,11,154,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,0,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,33,0,11,32,1,65,48,106,36,0,32,0,11,154,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,0,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,52,33,0,11,32,1,65,48,106,36,0,32,0,11,240,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,2,41,2,24,55,3,24,32,0,32,2,41,2,16,55,3,16,32,0,32,2,41,2,8,55,3,8,32,2,65,32,106,32,0,65,8,106,32,1,65,1,16,52,32,0,65,32,106,36,0,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,240,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,2,41,2,24,55,3,24,32,0,32,2,41,2,16,55,3,16,32,0,32,2,41,2,8,55,3,8,32,2,65,32,106,32,0,65,8,106,32,1,65,0,16,52,32,0,65,32,106,36,0,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,197,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,32,2,65,32,106,32,2,65,8,106,32,1,65,255,255,3,113,16,53,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,1,16,54,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,1,16,55,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,0,16,54,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,0,16,55,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,157,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,1,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,56,65,1,106,33,0,11,32,1,65,48,106,36,0,32,0,11,224,4,2,6,127,2,126,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,3,40,2,0,54,2,72,32,1,65,64,107,34,2,32,3,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,3,40,2,16,54,2,68,32,1,32,2,41,2,0,55,3,16,32,1,32,3,40,2,8,54,2,60,32,1,32,3,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,144,1,107,34,0,36,0,2,127,32,1,40,2,28,34,2,40,0,0,34,4,65,1,113,4,64,32,2,45,0,5,65,15,113,33,5,32,2,45,0,4,33,6,32,2,45,0,6,12,1,11,32,4,40,2,12,33,6,32,4,40,2,8,33,5,32,4,40,2,4,11,33,4,32,0,32,2,54,2,140,1,32,0,32,2,54,2,136,1,32,0,65,0,54,2,132,1,32,0,32,6,54,2,128,1,32,0,32,5,54,2,124,32,0,32,4,54,2,120,2,64,32,2,32,1,40,2,24,34,4,71,4,64,32,0,32,0,41,2,128,1,55,3,80,32,0,32,0,41,2,136,1,55,3,88,32,0,32,0,41,2,120,55,3,72,32,0,32,1,41,2,16,55,3,56,32,0,65,64,107,32,1,41,2,24,55,3,0,32,0,32,1,41,2,8,55,3,48,32,0,65,224,0,106,32,0,65,200,0,106,32,0,65,48,106,16,51,2,64,32,0,40,2,112,34,2,32,4,70,13,0,32,2,69,13,0,3,64,32,0,32,0,41,2,112,34,7,55,3,136,1,32,0,32,0,41,2,104,34,8,55,3,128,1,32,0,32,8,55,3,32,32,0,32,7,55,3,40,32,0,32,0,41,2,96,34,7,55,3,120,32,0,32,7,55,3,24,32,0,32,1,41,2,16,55,3,8,32,0,32,1,41,2,24,55,3,16,32,0,32,1,41,2,8,55,3,0,32,0,65,224,0,106,32,0,65,24,106,32,0,16,51,32,0,40,2,112,34,2,32,4,70,13,1,32,2,13,0,11,11,32,1,32,0,41,3,120,55,2,32,32,1,32,0,41,3,136,1,55,2,48,32,1,32,0,41,3,128,1,55,2,40,12,1,11,32,1,66,0,55,2,32,32,1,66,0,55,2,48,32,1,66,0,55,2,40,11,32,0,65,144,1,106,36,0,32,3,32,1,40,2,44,54,2,16,32,3,32,1,40,2,36,54,2,8,32,3,32,1,40,2,48,54,2,0,32,3,32,1,40,2,40,65,1,118,54,2,12,32,3,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,159,2,1,3,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,16,54,2,116,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,2,40,2,20,54,2,96,32,1,32,2,40,2,24,65,1,116,54,2,80,32,1,32,2,40,2,28,54,2,84,32,1,32,2,40,2,32,65,1,116,54,2,88,32,2,40,2,36,33,3,32,1,32,1,41,2,120,55,3,48,32,1,32,1,41,2,112,55,3,40,32,1,32,0,54,2,100,32,1,32,1,41,2,104,55,3,32,32,1,32,3,54,2,92,32,1,32,1,41,2,96,55,3,24,32,1,32,1,41,2,88,55,3,16,32,1,32,1,41,2,80,55,3,8,32,1,65,56,106,32,1,65,32,106,32,1,65,8,106,16,51,32,2,32,1,40,2,68,54,2,16,32,2,32,1,40,2,60,54,2,8,32,2,32,1,40,2,72,54,2,0,32,2,32,1,40,2,64,65,1,118,54,2,12,32,2,32,1,40,2,56,65,1,118,54,2,4,32,1,65,128,1,106,36,0,11,134,2,1,4,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,32,2,40,2,24,65,1,116,33,4,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,32,4,65,1,16,58,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,134,2,1,4,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,32,2,40,2,24,65,1,116,33,4,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,32,4,65,0,16,58,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,215,2,1,6,127,35,0,65,240,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,104,32,1,32,2,40,2,12,65,1,116,54,2,96,32,1,32,0,54,2,108,32,1,32,2,40,2,8,54,2,92,32,1,32,2,40,2,16,54,2,100,32,1,32,2,40,2,4,65,1,116,54,2,88,32,1,32,2,40,2,24,65,1,116,54,2,84,32,1,32,2,40,2,20,54,2,80,32,2,40,2,32,33,0,32,2,40,2,28,33,3,32,1,32,1,41,2,104,55,3,40,32,1,32,1,41,2,96,55,3,32,32,1,32,3,54,2,72,32,1,32,1,41,2,88,55,3,24,32,1,32,0,65,1,116,54,2,76,32,1,32,1,41,2,80,55,3,16,32,1,32,1,41,2,72,55,3,8,35,0,65,32,107,34,0,36,0,32,1,40,2,12,33,3,32,1,40,2,8,33,4,32,1,40,2,20,33,5,32,1,40,2,16,33,6,32,0,32,1,41,2,40,55,3,24,32,0,32,1,41,2,32,55,3,16,32,0,32,1,41,2,24,55,3,8,32,1,65,48,106,32,0,65,8,106,32,6,32,5,32,4,32,3,65,1,16,59,32,0,65,32,106,36,0,32,2,32,1,40,2,60,54,2,16,32,2,32,1,40,2,52,54,2,8,32,2,32,1,40,2,64,54,2,0,32,2,32,1,40,2,56,65,1,118,54,2,12,32,2,32,1,40,2,48,65,1,118,54,2,4,32,1,65,240,0,106,36,0,11,215,2,1,6,127,35,0,65,240,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,104,32,1,32,2,40,2,12,65,1,116,54,2,96,32,1,32,0,54,2,108,32,1,32,2,40,2,8,54,2,92,32,1,32,2,40,2,16,54,2,100,32,1,32,2,40,2,4,65,1,116,54,2,88,32,1,32,2,40,2,24,65,1,116,54,2,84,32,1,32,2,40,2,20,54,2,80,32,2,40,2,32,33,0,32,2,40,2,28,33,3,32,1,32,1,41,2,104,55,3,40,32,1,32,1,41,2,96,55,3,32,32,1,32,3,54,2,72,32,1,32,1,41,2,88,55,3,24,32,1,32,0,65,1,116,54,2,76,32,1,32,1,41,2,80,55,3,16,32,1,32,1,41,2,72,55,3,8,35,0,65,32,107,34,0,36,0,32,1,40,2,12,33,3,32,1,40,2,8,33,4,32,1,40,2,20,33,5,32,1,40,2,16,33,6,32,0,32,1,41,2,40,55,3,24,32,0,32,1,41,2,32,55,3,16,32,0,32,1,41,2,24,55,3,8,32,1,65,48,106,32,0,65,8,106,32,6,32,5,32,4,32,3,65,0,16,59,32,0,65,32,106,36,0,32,2,32,1,40,2,60,54,2,16,32,2,32,1,40,2,52,54,2,8,32,2,32,1,40,2,64,54,2,0,32,2,32,1,40,2,56,65,1,118,54,2,12,32,2,32,1,40,2,48,65,1,118,54,2,4,32,1,65,240,0,106,36,0,11,158,1,1,2,127,35,0,65,64,106,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,56,32,1,32,2,40,2,12,65,1,116,54,2,48,32,1,32,0,54,2,60,32,1,32,1,41,2,56,55,3,24,32,1,32,2,40,2,16,54,2,52,32,1,32,1,41,2,48,55,3,16,32,1,32,2,40,2,8,54,2,44,32,1,32,2,40,2,4,65,1,116,54,2,40,32,1,32,1,41,2,40,55,3,8,32,1,32,1,40,2,12,54,2,32,32,1,32,1,40,2,16,54,2,36,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,36,65,1,118,54,2,4,32,1,65,64,107,36,0,11,150,1,1,2,127,35,0,65,64,106,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,56,32,1,32,2,40,2,12,65,1,116,54,2,48,32,1,32,0,54,2,60,32,1,32,1,41,2,56,55,3,24,32,1,32,2,40,2,16,54,2,52,32,1,32,1,41,2,48,55,3,16,32,1,32,2,40,2,8,54,2,44,32,1,32,2,40,2,4,65,1,116,54,2,40,32,1,32,1,41,2,40,55,3,8,32,1,65,32,106,32,1,65,8,106,16,46,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,36,65,1,118,54,2,4,32,1,65,64,107,36,0,11,127,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,40,2,0,33,0,32,1,65,48,106,36,0,32,0,65,1,118,11,126,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,45,33,0,32,1,65,48,106,36,0,32,0,65,1,118,11,172,2,2,7,127,1,126,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,35,0,65,32,107,34,0,36,0,32,1,40,2,20,40,2,8,33,2,32,1,40,2,16,41,2,0,33,8,65,1,33,3,2,64,2,64,2,64,32,1,47,1,12,34,4,65,254,255,3,107,14,2,0,2,1,11,65,0,33,3,12,1,11,32,2,40,2,72,32,4,65,3,108,106,45,0,0,33,3,11,32,0,32,8,55,3,16,32,0,32,8,55,3,8,32,0,65,8,106,32,0,65,31,106,65,1,32,2,65,0,32,4,32,3,65,1,113,34,5,35,1,65,161,10,106,34,6,16,48,65,1,106,34,7,35,5,40,2,0,17,0,0,33,3,32,0,32,0,41,3,16,55,3,0,32,0,32,3,32,7,32,2,65,0,32,4,32,5,32,6,16,48,26,32,0,65,32,106,36,0,32,1,65,48,106,36,0,32,3,11,210,3,1,8,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,1,41,2,120,55,3,48,32,1,32,2,40,2,16,54,2,116,32,1,32,1,41,2,112,55,3,40,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,1,41,2,104,55,3,32,65,0,33,0,2,64,32,1,40,2,48,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,33,0,11,2,64,32,0,34,4,69,4,64,65,0,33,0,12,1,11,65,4,32,4,65,5,108,16,141,2,33,0,32,1,32,1,41,2,120,55,3,24,32,1,32,1,41,2,112,55,3,16,32,1,32,1,41,2,104,55,3,8,35,1,65,176,213,0,106,34,2,32,1,65,8,106,16,112,32,2,16,131,1,26,32,1,65,208,0,106,32,2,16,137,1,32,1,40,2,80,33,2,32,1,40,2,88,33,5,32,1,40,2,96,33,3,32,1,40,2,84,33,6,32,0,32,1,40,2,92,54,2,16,32,0,32,6,54,2,8,32,0,32,3,54,2,0,32,0,32,5,65,1,118,54,2,12,32,0,32,2,65,1,118,54,2,4,32,4,65,1,70,13,0,65,1,33,5,32,0,33,2,3,64,35,1,65,176,213,0,106,34,3,16,134,1,26,32,1,65,56,106,32,3,16,137,1,32,1,40,2,56,33,3,32,1,40,2,64,33,6,32,1,40,2,72,33,7,32,1,40,2,60,33,8,32,2,32,1,40,2,68,54,2,36,32,2,32,8,54,2,28,32,2,32,7,54,2,20,32,2,32,6,65,1,118,54,2,32,32,2,32,3,65,1,118,54,2,24,32,2,65,20,106,33,2,32,5,65,1,106,34,5,32,4,71,13,0,11,11,35,9,34,2,32,0,54,2,4,32,2,32,4,54,2,0,32,1,65,128,1,106,36,0,11,164,3,1,8,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,1,41,2,120,55,3,72,32,1,32,2,40,2,16,54,2,116,32,1,65,64,107,32,1,41,2,112,55,3,0,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,1,41,2,104,55,3,56,65,0,33,0,2,64,32,1,40,2,72,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,52,33,0,11,2,64,32,0,34,3,69,4,64,65,0,33,2,12,1,11,65,4,32,3,65,5,108,16,141,2,33,2,32,1,32,1,41,2,120,55,3,48,32,1,32,1,41,2,112,55,3,40,32,1,32,1,41,2,104,55,3,32,35,1,65,176,213,0,106,34,0,32,1,65,32,106,16,112,32,0,16,131,1,26,32,2,33,0,3,64,32,1,65,208,0,106,35,1,65,176,213,0,106,16,137,1,32,1,32,1,41,2,96,55,3,24,32,1,32,1,41,2,88,55,3,16,32,1,32,1,41,2,80,55,3,8,32,1,65,8,106,16,49,4,64,32,1,40,2,80,33,4,32,1,40,2,88,33,5,32,1,40,2,96,33,6,32,1,40,2,84,33,7,32,0,32,1,40,2,92,54,2,16,32,0,32,7,54,2,8,32,0,32,6,54,2,0,32,0,32,5,65,1,118,54,2,12,32,0,32,4,65,1,118,54,2,4,32,8,65,1,106,34,8,32,3,70,13,2,32,0,65,20,106,33,0,11,35,1,65,176,213,0,106,16,134,1,13,0,11,11,35,9,34,0,32,2,54,2,4,32,0,32,3,54,2,0,32,1,65,128,1,106,36,0,11,253,6,1,8,127,35,0,65,160,1,107,34,7,36,0,32,7,35,9,34,8,40,2,0,54,2,152,1,32,7,32,8,40,2,12,65,1,116,54,2,144,1,32,7,32,0,54,2,156,1,32,7,32,7,41,2,152,1,55,3,88,32,7,32,8,40,2,16,54,2,148,1,32,7,32,7,41,2,144,1,55,3,80,32,7,32,8,40,2,8,54,2,140,1,32,7,32,8,40,2,4,65,1,116,54,2,136,1,32,7,32,7,41,2,136,1,55,3,72,35,1,65,176,213,0,106,34,0,32,7,65,200,0,106,16,112,32,7,65,240,0,106,32,0,16,137,1,32,6,65,1,116,34,0,65,127,32,0,32,5,114,34,0,27,33,11,32,5,65,127,32,0,27,33,9,32,4,65,1,116,33,12,65,0,33,8,65,0,33,4,3,64,32,7,65,64,107,32,7,41,2,128,1,55,3,0,32,7,32,7,41,2,120,55,3,56,32,7,32,7,41,2,112,55,3,48,32,7,65,232,0,106,32,7,65,48,106,16,46,2,64,2,64,32,3,32,7,40,2,104,34,0,77,4,64,32,0,32,3,71,13,1,32,7,40,2,108,32,12,75,13,1,11,65,0,33,6,35,1,65,176,213,0,106,16,134,1,4,64,65,0,33,5,12,2,11,35,1,65,176,213,0,106,16,136,1,34,6,65,1,115,33,5,12,1,11,32,7,32,7,41,2,128,1,55,3,40,32,7,32,7,41,2,120,55,3,32,32,7,32,7,41,2,112,55,3,24,32,7,32,7,40,2,28,54,2,96,32,7,32,7,40,2,32,54,2,100,65,1,33,5,65,0,33,6,32,9,32,7,40,2,96,34,0,73,13,0,32,0,32,9,70,4,64,32,11,32,7,40,2,100,77,13,1,11,32,7,32,7,41,2,128,1,55,3,16,32,7,32,7,41,2,120,55,3,8,32,7,32,7,41,2,112,55,3,0,32,7,16,47,33,0,2,64,32,2,69,4,64,32,4,33,0,12,1,11,2,64,3,64,32,1,32,6,65,2,116,106,40,2,0,34,5,32,0,70,13,1,32,0,32,5,73,4,64,32,4,33,0,12,3,11,32,6,65,1,106,34,6,32,2,71,13,0,11,32,4,33,0,12,1,11,2,64,32,4,65,5,106,34,0,32,10,77,13,0,65,8,32,10,65,1,116,34,5,32,0,32,0,32,5,73,27,34,5,32,5,65,8,77,27,34,10,65,2,116,33,5,32,8,4,64,32,8,32,5,35,4,40,2,0,17,1,0,33,8,12,1,11,32,5,35,5,40,2,0,17,0,0,33,8,11,32,8,32,4,65,2,116,106,34,4,66,0,55,2,0,32,4,65,0,54,2,16,32,4,66,0,55,2,8,32,7,40,2,112,33,5,32,7,40,2,120,33,6,32,7,40,2,128,1,33,13,32,7,40,2,116,33,14,32,8,32,0,65,2,116,106,34,4,65,4,107,32,7,40,2,124,54,2,0,32,4,65,12,107,32,14,54,2,0,32,4,65,20,107,32,13,54,2,0,32,4,65,8,107,32,6,65,1,118,54,2,0,32,4,65,16,107,32,5,65,1,118,54,2,0,11,65,0,33,6,2,64,35,1,65,176,213,0,106,34,4,16,131,1,13,0,32,4,16,134,1,13,0,32,4,16,136,1,34,6,65,1,115,33,5,32,0,33,4,12,1,11,32,0,33,4,65,0,33,5,11,2,64,32,5,13,0,32,7,65,240,0,106,35,1,65,176,213,0,106,34,0,16,137,1,32,6,69,13,1,32,0,16,134,1,34,6,69,4,64,32,0,16,136,1,69,13,1,11,3,64,32,7,65,240,0,106,35,1,65,176,213,0,106,34,0,16,137,1,32,6,65,1,113,13,2,32,0,16,134,1,34,6,13,0,32,0,16,136,1,13,0,11,11,11,35,9,34,0,32,8,54,2,4,32,0,32,4,65,5,110,54,2,0,32,7,65,160,1,106,36,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,49,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,4,118,65,1,113,12,1,11,32,0,47,1,44,65,5,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,174,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,26,116,65,31,117,65,226,4,113,12,1,11,65,226,4,32,0,45,0,45,65,2,113,13,0,26,32,0,40,2,32,11,65,0,71,33,0,32,1,65,48,106,36,0,32,0,11,226,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,2,64,32,1,40,2,12,34,0,65,255,255,3,113,69,4,64,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,128,254,3,113,65,8,118,33,0,12,2,11,32,0,47,1,40,33,0,11,32,0,65,255,255,3,113,65,255,255,3,71,13,0,65,1,12,1,11,32,1,40,2,20,40,2,8,40,2,76,32,0,65,255,255,3,113,65,1,116,106,47,1,0,65,255,255,3,70,11,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,5,118,65,1,113,12,1,11,32,0,47,1,44,65,9,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,3,118,65,1,113,12,1,11,32,0,47,1,44,65,2,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,50,33,0,32,1,65,48,106,36,0,32,0,11,221,1,1,3,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,40,2,20,40,2,8,33,3,2,127,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,65,255,255,3,32,0,65,16,118,34,2,65,255,255,3,70,13,2,26,32,0,65,128,254,3,113,65,8,118,12,1,11,65,255,255,3,32,0,47,1,42,34,2,65,255,255,3,70,13,1,26,32,0,47,1,40,11,33,0,32,3,32,2,32,0,65,255,255,3,113,16,25,11,33,0,32,1,65,48,106,36,0,32,0,11,192,6,1,3,127,35,0,65,240,0,107,34,11,36,0,35,1,65,196,213,0,106,34,13,40,2,0,34,12,69,4,64,32,13,16,110,34,12,54,2,0,11,32,12,32,8,65,127,32,8,27,54,2,72,32,11,35,9,34,12,40,2,0,54,2,104,32,11,32,12,40,2,12,65,1,116,54,2,96,32,11,32,12,40,2,8,54,2,92,32,11,32,1,54,2,108,32,11,32,12,40,2,16,54,2,100,32,11,32,12,40,2,4,65,1,116,54,2,88,32,11,32,3,65,1,116,54,2,84,32,11,32,2,54,2,80,32,11,32,5,65,1,116,54,2,76,32,11,32,4,54,2,72,35,1,34,2,65,196,213,0,106,34,3,40,2,0,33,1,32,11,32,11,41,2,80,55,3,40,32,11,32,11,41,2,72,55,3,32,32,1,32,11,65,40,106,32,11,65,32,106,16,113,32,3,40,2,0,33,1,32,7,65,127,32,7,27,34,4,32,6,79,4,64,32,1,32,4,54,2,92,32,1,32,6,54,2,88,11,32,3,40,2,0,32,8,54,2,72,32,3,40,2,0,32,9,54,2,84,32,3,40,2,0,32,10,173,55,3,136,1,32,11,32,11,41,2,96,55,3,16,32,11,32,11,41,2,104,55,3,24,32,11,32,2,65,216,211,0,106,41,3,0,55,3,64,32,11,32,11,41,2,88,55,3,8,32,3,40,2,0,33,2,35,0,65,32,107,34,1,36,0,32,1,32,11,41,2,24,55,3,24,32,1,32,11,41,2,16,55,3,16,32,1,32,11,41,2,8,55,3,8,32,2,32,0,32,1,65,8,106,16,111,32,11,65,64,107,34,0,4,64,32,2,32,0,54,2,144,1,32,0,40,2,0,33,0,32,2,65,0,54,2,152,1,32,2,32,0,54,2,148,1,11,32,1,65,32,106,36,0,65,0,33,2,65,0,33,1,32,3,40,2,0,32,11,65,52,106,16,114,4,64,65,0,33,10,65,0,33,0,65,0,33,12,3,64,2,64,32,12,65,2,106,34,6,32,11,47,1,58,65,6,108,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,3,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,33,2,12,1,11,32,3,35,5,40,2,0,17,0,0,33,2,11,65,0,33,9,32,11,47,1,58,65,24,108,65,8,106,34,3,4,64,32,2,32,12,65,2,116,106,65,0,32,3,252,11,0,11,32,11,47,1,56,33,3,32,2,32,10,65,2,116,106,34,4,32,11,47,1,58,34,5,54,2,4,32,4,32,3,54,2,0,32,10,65,2,106,33,10,32,5,4,64,3,64,32,2,32,10,65,2,116,106,34,3,32,11,40,2,60,32,9,65,28,108,106,34,4,40,2,24,54,2,0,32,4,40,0,0,33,7,32,4,40,0,8,33,8,32,4,40,0,16,33,12,32,4,40,0,4,33,13,32,3,32,4,40,0,12,54,2,20,32,3,32,13,54,2,12,32,3,32,12,54,2,4,32,3,32,8,65,1,118,54,2,16,32,3,32,7,65,1,118,54,2,8,32,10,65,6,106,33,10,32,9,65,1,106,34,9,32,5,71,13,0,11,11,32,1,65,1,106,33,1,32,5,65,6,108,32,6,106,33,12,35,1,65,196,213,0,106,40,2,0,32,11,65,52,106,16,114,13,0,11,11,35,9,34,0,35,1,65,196,213,0,106,40,2,0,45,0,163,1,54,2,8,32,0,32,2,54,2,4,32,0,32,1,54,2,0,32,11,65,240,0,106,36,0,11,9,0,32,0,40,2,4,16,3,11,224,5,1,3,127,35,0,65,224,0,107,34,11,36,0,35,1,65,196,213,0,106,34,13,40,2,0,34,12,69,4,64,32,13,16,110,34,12,54,2,0,11,32,12,32,8,54,2,72,32,11,35,9,34,12,40,2,0,54,2,88,32,11,32,12,40,2,12,65,1,116,54,2,80,32,11,32,12,40,2,8,54,2,76,32,11,32,1,54,2,92,32,11,32,12,40,2,16,54,2,84,32,11,32,12,40,2,4,65,1,116,54,2,72,32,11,32,3,65,1,116,54,2,68,32,11,32,2,54,2,64,32,11,32,5,65,1,116,54,2,60,32,11,32,4,54,2,56,35,1,65,196,213,0,106,34,3,40,2,0,33,1,32,11,32,11,41,2,64,55,3,32,32,11,32,11,41,2,56,55,3,24,32,1,32,11,65,32,106,32,11,65,24,106,16,113,32,3,40,2,0,33,1,32,7,65,127,32,7,27,34,2,32,6,79,4,64,32,1,32,2,54,2,92,32,1,32,6,54,2,88,11,32,3,40,2,0,32,8,54,2,72,32,3,40,2,0,32,9,54,2,84,32,3,40,2,0,32,10,173,55,3,136,1,32,11,32,11,41,2,80,55,3,8,32,11,32,11,41,2,88,55,3,16,32,11,32,11,41,2,72,55,3,0,32,3,40,2,0,32,0,32,11,16,111,65,0,33,2,65,0,33,1,32,3,40,2,0,32,11,65,44,106,32,11,65,40,106,16,122,4,64,65,0,33,10,65,0,33,0,65,0,33,12,3,64,2,64,32,12,65,3,106,34,6,32,11,47,1,50,65,6,108,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,3,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,33,2,12,1,11,32,3,35,5,40,2,0,17,0,0,33,2,11,65,0,33,9,32,11,47,1,50,65,24,108,65,12,106,34,3,4,64,32,2,32,12,65,2,116,106,65,0,32,3,252,11,0,11,32,11,47,1,48,33,4,32,2,32,10,65,2,116,106,34,3,32,11,47,1,50,34,5,54,2,4,32,3,32,4,54,2,0,32,3,32,11,40,2,40,54,2,8,32,10,65,3,106,33,10,32,5,4,64,3,64,32,2,32,10,65,2,116,106,34,3,32,11,40,2,52,32,9,65,28,108,106,34,4,40,2,24,54,2,0,32,4,40,0,0,33,7,32,4,40,0,8,33,8,32,4,40,0,16,33,12,32,4,40,0,4,33,13,32,3,32,4,40,0,12,54,2,20,32,3,32,13,54,2,12,32,3,32,12,54,2,4,32,3,32,8,65,1,118,54,2,16,32,3,32,7,65,1,118,54,2,8,32,10,65,6,106,33,10,32,9,65,1,106,34,9,32,5,71,13,0,11,11,32,1,65,1,106,33,1,32,5,65,6,108,32,6,106,33,12,35,1,65,196,213,0,106,40,2,0,32,11,65,44,106,32,11,65,40,106,16,122,13,0,11,11,35,9,34,0,35,1,65,196,213,0,106,40,2,0,45,0,163,1,54,2,8,32,0,32,2,54,2,4,32,0,32,1,54,2,0,32,11,65,224,0,106,36,0,11,31,0,32,0,40,2,60,16,4,34,0,4,127,35,1,65,200,213,0,106,32,0,54,2,0,65,127,5,65,0,11,11,82,1,1,127,32,0,40,2,60,33,3,35,0,65,16,107,34,0,36,0,32,3,32,1,32,2,65,255,1,113,32,0,65,8,106,16,8,34,2,4,127,35,1,65,200,213,0,106,32,2,54,2,0,65,127,5,65,0,11,33,2,32,0,41,3,8,33,1,32,0,65,16,106,36,0,66,127,32,1,32,2,27,11,254,2,1,7,127,35,0,65,32,107,34,3,36,0,32,3,32,0,40,2,28,34,4,54,2,16,32,0,40,2,20,33,5,32,3,32,2,54,2,28,32,3,32,1,54,2,24,32,3,32,5,32,4,107,34,1,54,2,20,32,1,32,2,106,33,5,65,2,33,7,2,127,2,64,2,64,2,64,32,0,40,2,60,32,3,65,16,106,34,1,65,2,32,3,65,12,106,16,5,34,4,4,127,35,1,65,200,213,0,106,32,4,54,2,0,65,127,5,65,0,11,4,64,32,1,33,4,12,1,11,3,64,32,5,32,3,40,2,12,34,6,70,13,2,32,6,65,0,72,4,64,32,1,33,4,12,4,11,32,1,65,8,65,0,32,6,32,1,40,2,4,34,8,75,34,9,27,106,34,4,32,6,32,8,65,0,32,9,27,107,34,8,32,4,40,2,0,106,54,2,0,32,1,65,12,65,4,32,9,27,106,34,1,32,1,40,2,0,32,8,107,54,2,0,32,5,32,6,107,33,5,32,0,40,2,60,32,4,34,1,32,7,32,9,107,34,7,32,3,65,12,106,16,5,34,6,4,127,35,1,65,200,213,0,106,32,6,54,2,0,65,127,5,65,0,11,69,13,0,11,11,32,5,65,127,71,13,1,11,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,0,32,1,32,0,40,2,48,106,54,2,16,32,2,12,1,11,32,0,65,0,54,2,28,32,0,66,0,55,3,16,32,0,32,0,40,2,0,65,32,114,54,2,0,65,0,32,7,65,2,70,13,0,26,32,2,32,4,40,2,4,107,11,33,0,32,3,65,32,106,36,0,32,0,11,5,0,16,6,0,11,131,1,2,2,127,2,126,35,0,65,32,107,34,1,36,0,65,1,66,1,32,1,65,24,106,16,7,34,2,4,127,35,1,65,200,213,0,106,32,2,54,2,0,65,127,5,65,0,11,4,127,65,127,5,32,1,41,3,24,33,3,32,1,65,0,54,2,20,32,1,32,3,66,128,148,235,220,3,128,34,4,55,3,8,32,1,32,3,32,4,66,128,148,235,220,3,126,125,62,2,16,32,0,32,1,41,3,16,55,3,8,32,0,32,1,41,3,8,55,3,0,65,0,11,26,32,1,65,32,106,36,0,11,242,2,2,2,127,1,126,2,64,32,2,69,13,0,32,0,32,1,58,0,0,32,0,32,2,106,34,3,65,1,107,32,1,58,0,0,32,2,65,3,73,13,0,32,0,32,1,58,0,2,32,0,32,1,58,0,1,32,3,65,3,107,32,1,58,0,0,32,3,65,2,107,32,1,58,0,0,32,2,65,7,73,13,0,32,0,32,1,58,0,3,32,3,65,4,107,32,1,58,0,0,32,2,65,9,73,13,0,32,0,65,0,32,0,107,65,3,113,34,4,106,34,3,32,1,65,255,1,113,65,129,130,132,8,108,34,1,54,2,0,32,3,32,2,32,4,107,65,124,113,34,4,106,34,2,65,4,107,32,1,54,2,0,32,4,65,9,73,13,0,32,3,32,1,54,2,8,32,3,32,1,54,2,4,32,2,65,8,107,32,1,54,2,0,32,2,65,12,107,32,1,54,2,0,32,4,65,25,73,13,0,32,3,32,1,54,2,24,32,3,32,1,54,2,20,32,3,32,1,54,2,16,32,3,32,1,54,2,12,32,2,65,16,107,32,1,54,2,0,32,2,65,20,107,32,1,54,2,0,32,2,65,24,107,32,1,54,2,0,32,2,65,28,107,32,1,54,2,0,32,4,32,3,65,4,113,65,24,114,34,4,107,34,2,65,32,73,13,0,32,1,173,66,129,128,128,128,16,126,33,5,32,3,32,4,106,33,1,3,64,32,1,32,5,55,3,24,32,1,32,5,55,3,16,32,1,32,5,55,3,8,32,1,32,5,55,3,0,32,1,65,32,106,33,1,32,2,65,32,107,34,2,65,31,75,13,0,11,11,32,0,11,89,1,1,127,32,0,32,0,40,2,72,34,1,65,1,107,32,1,114,54,2,72,32,0,40,2,0,34,1,65,8,113,4,64,32,0,32,1,65,32,114,54,2,0,65,127,15,11,32,0,66,0,55,2,4,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,0,32,1,32,0,40,2,48,106,54,2,16,65,0,11,129,1,1,2,127,35,0,65,16,107,34,2,36,0,32,2,32,1,58,0,15,2,64,2,64,32,0,40,2,16,34,3,4,127,32,3,5,32,0,16,239,1,13,2,32,0,40,2,16,11,32,0,40,2,20,34,3,70,13,0,32,0,40,2,80,32,1,65,255,1,113,70,13,0,32,0,32,3,65,1,106,54,2,20,32,3,32,1,58,0,0,12,1,11,32,0,32,2,65,15,106,65,1,32,0,40,2,36,17,4,0,65,1,71,13,0,32,2,45,0,15,26,11,32,2,65,16,106,36,0,11,210,1,1,3,127,2,64,32,1,40,2,76,34,2,65,0,78,4,64,32,2,69,13,1,35,1,65,132,214,0,106,40,2,24,32,2,65,255,255,255,255,3,113,71,13,1,11,2,64,32,0,65,255,1,113,34,3,32,1,40,2,80,70,13,0,32,1,40,2,20,34,2,32,1,40,2,16,70,13,0,32,1,32,2,65,1,106,54,2,20,32,2,32,0,58,0,0,15,11,32,1,32,3,16,240,1,15,11,32,1,65,204,0,106,34,2,32,2,40,2,0,34,3,65,255,255,255,255,3,32,3,27,54,2,0,2,64,2,64,32,0,65,255,1,113,34,4,32,1,40,2,80,70,13,0,32,1,40,2,20,34,3,32,1,40,2,16,70,13,0,32,1,32,3,65,1,106,54,2,20,32,3,32,0,58,0,0,12,1,11,32,1,32,4,16,240,1,11,32,2,40,2,0,26,32,2,65,0,54,2,0,11,137,4,1,3,127,32,2,65,128,4,79,4,64,32,2,4,64,32,0,32,1,32,2,252,10,0,0,11,32,0,15,11,32,0,32,2,106,33,3,2,64,32,0,32,1,115,65,3,113,69,4,64,2,64,32,0,65,3,113,69,4,64,32,0,33,2,12,1,11,32,2,69,4,64,32,0,33,2,12,1,11,32,0,33,2,3,64,32,2,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,106,34,2,65,3,113,69,13,1,32,2,32,3,73,13,0,11,11,32,3,65,124,113,33,4,2,64,32,3,65,192,0,73,13,0,32,2,32,4,65,64,106,34,5,75,13,0,3,64,32,2,32,1,40,2,0,54,2,0,32,2,32,1,40,2,4,54,2,4,32,2,32,1,40,2,8,54,2,8,32,2,32,1,40,2,12,54,2,12,32,2,32,1,40,2,16,54,2,16,32,2,32,1,40,2,20,54,2,20,32,2,32,1,40,2,24,54,2,24,32,2,32,1,40,2,28,54,2,28,32,2,32,1,40,2,32,54,2,32,32,2,32,1,40,2,36,54,2,36,32,2,32,1,40,2,40,54,2,40,32,2,32,1,40,2,44,54,2,44,32,2,32,1,40,2,48,54,2,48,32,2,32,1,40,2,52,54,2,52,32,2,32,1,40,2,56,54,2,56,32,2,32,1,40,2,60,54,2,60,32,1,65,64,107,33,1,32,2,65,64,107,34,2,32,5,77,13,0,11,11,32,2,32,4,79,13,1,3,64,32,2,32,1,40,2,0,54,2,0,32,1,65,4,106,33,1,32,2,65,4,106,34,2,32,4,73,13,0,11,12,1,11,32,3,65,4,73,4,64,32,0,33,2,12,1,11,32,3,65,4,107,34,4,32,0,73,4,64,32,0,33,2,12,1,11,32,0,33,2,3,64,32,2,32,1,45,0,0,58,0,0,32,2,32,1,45,0,1,58,0,1,32,2,32,1,45,0,2,58,0,2,32,2,32,1,45,0,3,58,0,3,32,1,65,4,106,33,1,32,2,65,4,106,34,2,32,4,77,13,0,11,11,32,2,32,3,73,4,64,3,64,32,2,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,106,34,2,32,3,71,13,0,11,11,32,0,11,196,1,1,3,127,2,64,32,2,40,2,16,34,3,4,127,32,3,5,32,2,16,239,1,13,1,32,2,40,2,16,11,32,2,40,2,20,34,4,107,32,1,73,4,64,32,2,32,0,32,1,32,2,40,2,36,17,4,0,15,11,2,64,2,64,32,2,40,2,80,65,0,72,13,0,32,1,69,13,0,32,1,33,3,3,64,32,0,32,3,106,34,5,65,1,107,45,0,0,65,10,71,4,64,32,3,65,1,107,34,3,13,1,12,2,11,11,32,2,32,0,32,3,32,2,40,2,36,17,4,0,34,4,32,3,73,13,2,32,1,32,3,107,33,1,32,2,40,2,20,33,4,12,1,11,32,0,33,5,65,0,33,3,11,32,4,32,5,32,1,16,242,1,26,32,2,32,2,40,2,20,32,1,106,54,2,20,32,1,32,3,106,33,4,11,32,4,11,21,0,32,1,40,2,76,65,0,72,26,32,0,65,2,32,1,16,243,1,26,11,30,1,1,127,65,1,33,1,32,0,65,48,107,65,10,79,4,127,32,0,16,246,1,65,0,71,5,65,1,11,11,66,1,1,127,32,0,65,255,255,7,77,4,64,35,1,65,224,12,106,34,1,32,0,65,3,118,65,31,113,32,1,32,0,65,8,118,106,45,0,0,65,5,116,114,106,45,0,0,32,0,65,7,113,118,65,1,113,15,11,32,0,65,254,255,11,73,11,104,1,3,127,32,0,69,4,64,65,0,15,11,2,127,35,1,65,160,43,106,33,1,32,0,4,64,3,64,32,1,34,2,40,2,0,34,3,4,64,32,1,65,4,106,33,1,32,0,32,3,71,13,1,11,11,32,2,65,0,32,3,27,12,1,11,32,1,33,2,3,64,32,2,34,0,65,4,106,33,2,32,0,40,2,0,13,0,11,32,1,32,0,32,1,107,65,124,113,106,11,65,0,71,11,129,1,1,2,127,2,64,2,64,32,2,65,4,79,4,64,32,0,32,1,114,65,3,113,13,1,3,64,32,0,40,2,0,32,1,40,2,0,71,13,2,32,1,65,4,106,33,1,32,0,65,4,106,33,0,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,3,64,32,0,45,0,0,34,3,32,1,45,0,0,34,4,70,4,64,32,1,65,1,106,33,1,32,0,65,1,106,33,0,32,2,65,1,107,34,2,13,1,12,2,11,11,32,3,32,4,107,15,11,65,0,11,42,1,1,127,35,0,65,16,107,34,4,36,0,32,4,32,3,54,2,12,32,0,32,1,32,2,32,3,16,134,2,33,0,32,4,65,16,106,36,0,32,0,11,125,1,3,127,2,64,2,64,32,0,34,1,65,3,113,69,13,0,32,1,45,0,0,69,4,64,65,0,15,11,3,64,32,1,65,1,106,34,1,65,3,113,69,13,1,32,1,45,0,0,13,0,11,12,1,11,3,64,32,1,34,2,65,4,106,33,1,65,128,130,132,8,32,2,40,2,0,34,3,107,32,3,114,65,128,129,130,132,120,113,65,128,129,130,132,120,70,13,0,11,3,64,32,2,34,1,65,1,106,33,2,32,1,45,0,0,13,0,11,11,32,1,32,0,107,11,96,1,2,127,32,2,69,4,64,65,0,15,11,32,0,45,0,0,34,3,4,127,2,64,3,64,32,3,32,1,45,0,0,34,4,71,13,1,32,4,69,13,1,32,2,65,1,107,34,2,69,13,1,32,1,65,1,106,33,1,32,0,45,0,1,33,3,32,0,65,1,106,33,0,32,3,13,0,11,65,0,33,3,11,32,3,5,65,0,11,32,1,45,0,0,107,11,229,1,1,2,127,32,2,65,0,71,33,3,2,64,2,64,2,64,32,0,65,3,113,69,13,0,32,2,69,13,0,32,1,65,255,1,113,33,4,3,64,32,0,45,0,0,32,4,70,13,2,32,2,65,1,107,34,2,65,0,71,33,3,32,0,65,1,106,34,0,65,3,113,69,13,1,32,2,13,0,11,11,32,3,69,13,1,2,64,32,1,65,255,1,113,34,3,32,0,45,0,0,70,13,0,32,2,65,4,73,13,0,32,3,65,129,130,132,8,108,33,3,3,64,65,128,130,132,8,32,0,40,2,0,32,3,115,34,4,107,32,4,114,65,128,129,130,132,120,113,65,128,129,130,132,120,71,13,2,32,0,65,4,106,33,0,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,32,1,65,255,1,113,33,1,3,64,32,1,32,0,45,0,0,70,4,64,32,0,15,11,32,0,65,1,106,33,0,32,2,65,1,107,34,2,13,0,11,11,65,0,11,127,2,1,127,1,126,32,0,189,34,3,66,52,136,167,65,255,15,113,34,2,65,255,15,71,4,124,32,2,69,4,64,32,1,32,0,68,0,0,0,0,0,0,0,0,97,4,127,65,0,5,32,0,68,0,0,0,0,0,0,240,67,162,32,1,16,253,1,33,0,32,1,40,2,0,65,64,106,11,54,2,0,32,0,15,11,32,1,32,2,65,254,7,107,54,2,0,32,3,66,255,255,255,255,255,255,255,135,128,127,131,66,128,128,128,128,128,128,128,240,63,132,191,5,32,0,11,11,183,19,2,18,127,2,126,35,0,65,64,106,34,8,36,0,32,8,32,1,54,2,60,32,8,65,39,106,33,23,32,8,65,40,106,33,18,2,64,2,64,2,64,2,64,3,64,65,0,33,7,3,64,32,1,33,13,32,7,32,14,65,255,255,255,255,7,115,74,13,2,32,7,32,14,106,33,14,2,64,2,64,2,64,2,64,2,64,32,1,34,7,45,0,0,34,11,4,64,3,64,2,64,2,64,32,11,65,255,1,113,34,1,69,4,64,32,7,33,1,12,1,11,32,1,65,37,71,13,1,32,7,33,11,3,64,32,11,45,0,1,65,37,71,4,64,32,11,33,1,12,2,11,32,7,65,1,106,33,7,32,11,45,0,2,33,9,32,11,65,2,106,34,1,33,11,32,9,65,37,70,13,0,11,11,32,7,32,13,107,34,7,32,14,65,255,255,255,255,7,115,34,24,74,13,10,32,0,4,64,32,0,32,13,32,7,16,255,1,11,32,7,13,8,32,8,32,1,54,2,60,32,1,65,1,106,33,7,65,127,33,16,2,64,32,1,44,0,1,65,48,107,34,9,65,9,75,13,0,32,1,45,0,2,65,36,71,13,0,32,1,65,3,106,33,7,65,1,33,19,32,9,33,16,11,32,8,32,7,54,2,60,65,0,33,12,2,64,32,7,44,0,0,34,11,65,32,107,34,1,65,31,75,4,64,32,7,33,9,12,1,11,32,7,33,9,65,1,32,1,116,34,1,65,137,209,4,113,69,13,0,3,64,32,8,32,7,65,1,106,34,9,54,2,60,32,1,32,12,114,33,12,32,7,44,0,1,34,11,65,32,107,34,1,65,32,79,13,1,32,9,33,7,65,1,32,1,116,34,1,65,137,209,4,113,13,0,11,11,2,64,32,11,65,42,70,4,64,2,127,2,64,32,9,44,0,1,65,48,107,34,1,65,9,75,13,0,32,9,45,0,2,65,36,71,13,0,2,127,32,0,69,4,64,32,4,32,1,65,2,116,106,65,10,54,2,0,65,0,12,1,11,32,3,32,1,65,3,116,106,40,2,0,11,33,15,32,9,65,3,106,33,1,65,1,12,1,11,32,19,13,6,32,9,65,1,106,33,1,32,0,69,4,64,32,8,32,1,54,2,60,65,0,33,19,65,0,33,15,12,3,11,32,2,32,2,40,2,0,34,7,65,4,106,54,2,0,32,7,40,2,0,33,15,65,0,11,33,19,32,8,32,1,54,2,60,32,15,65,0,78,13,1,65,0,32,15,107,33,15,32,12,65,128,192,0,114,33,12,12,1,11,32,8,65,60,106,16,128,2,34,15,65,0,72,13,11,32,8,40,2,60,33,1,11,65,0,33,7,65,127,33,10,2,127,65,0,32,1,45,0,0,65,46,71,13,0,26,32,1,45,0,1,65,42,70,4,64,2,127,2,64,32,1,44,0,2,65,48,107,34,9,65,9,75,13,0,32,1,45,0,3,65,36,71,13,0,32,1,65,4,106,33,1,2,127,32,0,69,4,64,32,4,32,9,65,2,116,106,65,10,54,2,0,65,0,12,1,11,32,3,32,9,65,3,116,106,40,2,0,11,12,1,11,32,19,13,6,32,1,65,2,106,33,1,65,0,32,0,69,13,0,26,32,2,32,2,40,2,0,34,9,65,4,106,54,2,0,32,9,40,2,0,11,33,10,32,8,32,1,54,2,60,32,10,65,0,78,12,1,11,32,8,32,1,65,1,106,54,2,60,32,8,65,60,106,16,128,2,33,10,32,8,40,2,60,33,1,65,1,11,33,20,3,64,32,7,33,21,65,28,33,9,32,1,34,22,44,0,0,34,7,65,251,0,107,65,70,73,13,12,32,1,65,1,106,33,1,32,7,35,1,32,21,65,58,108,106,106,65,191,43,106,45,0,0,34,7,65,1,107,65,255,1,113,65,8,73,13,0,11,32,8,32,1,54,2,60,2,64,32,7,65,27,71,4,64,32,7,69,13,13,32,16,65,0,78,4,64,32,0,69,4,64,32,4,32,16,65,2,116,106,32,7,54,2,0,12,13,11,32,8,32,3,32,16,65,3,116,106,41,3,0,55,3,48,12,2,11,32,0,69,13,9,32,8,65,48,106,32,7,32,2,32,6,16,129,2,12,1,11,32,16,65,0,78,13,12,65,0,33,7,32,0,69,13,9,11,32,0,45,0,0,65,32,113,13,12,32,12,65,255,255,123,113,34,11,32,12,32,12,65,128,192,0,113,27,33,12,35,1,33,17,65,0,33,16,32,18,33,9,2,64,2,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,22,45,0,0,34,22,192,34,7,65,83,113,32,7,32,22,65,15,113,65,3,70,27,32,7,32,21,27,34,7,65,216,0,107,14,33,4,23,23,23,23,23,23,23,23,16,23,9,6,16,16,16,23,6,23,23,23,23,2,5,3,23,23,10,23,1,23,23,4,0,11,2,64,32,7,65,193,0,107,14,7,16,23,11,23,16,16,16,0,11,32,7,65,211,0,70,13,11,12,22,11,32,8,41,3,48,33,25,35,1,12,5,11,65,0,33,7,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,21,14,8,0,1,2,3,4,29,5,6,29,11,32,8,40,2,48,32,14,54,2,0,12,28,11,32,8,40,2,48,32,14,54,2,0,12,27,11,32,8,40,2,48,32,14,172,55,3,0,12,26,11,32,8,40,2,48,32,14,59,1,0,12,25,11,32,8,40,2,48,32,14,58,0,0,12,24,11,32,8,40,2,48,32,14,54,2,0,12,23,11,32,8,40,2,48,32,14,172,55,3,0,12,22,11,65,8,32,10,32,10,65,8,77,27,33,10,32,12,65,8,114,33,12,65,248,0,33,7,11,35,1,33,17,32,18,33,1,32,7,65,32,113,33,13,32,8,41,3,48,34,25,34,26,66,0,82,4,64,3,64,32,1,65,1,107,34,1,35,1,65,208,47,106,32,26,167,65,15,113,106,45,0,0,32,13,114,58,0,0,32,26,66,15,86,33,11,32,26,66,4,136,33,26,32,11,13,0,11,11,32,1,33,13,32,25,80,13,3,32,12,65,8,113,69,13,3,35,1,32,7,65,4,118,106,33,17,65,2,33,16,12,3,11,32,18,33,1,32,8,41,3,48,34,25,34,26,66,0,82,4,64,3,64,32,1,65,1,107,34,1,32,26,167,65,7,113,65,48,114,58,0,0,32,26,66,7,86,33,7,32,26,66,3,136,33,26,32,7,13,0,11,11,32,1,33,13,32,12,65,8,113,69,4,64,35,1,33,17,12,3,11,32,10,32,18,32,13,107,34,1,65,1,106,32,1,32,10,72,27,33,10,35,1,33,17,12,2,11,32,8,41,3,48,34,25,66,0,83,4,64,32,8,66,0,32,25,125,34,25,55,3,48,65,1,33,16,35,1,12,1,11,32,12,65,128,16,113,4,64,65,1,33,16,35,1,65,1,106,12,1,11,35,1,34,1,65,2,106,32,1,32,12,65,1,113,34,16,27,11,33,17,32,25,32,18,16,130,2,33,13,11,32,20,32,10,65,0,72,113,13,18,32,12,65,255,255,123,113,32,12,32,20,27,33,12,2,64,32,25,66,0,82,13,0,32,10,13,0,32,18,33,13,65,0,33,10,12,15,11,32,10,32,25,80,32,18,32,13,107,106,34,1,32,1,32,10,72,27,33,10,12,14,11,32,8,45,0,48,33,7,12,12,11,32,8,40,2,48,34,1,35,1,34,17,65,246,10,106,32,1,27,34,13,34,1,65,0,65,255,255,255,255,7,32,10,32,10,65,255,255,255,255,7,79,27,34,7,16,252,1,34,9,32,1,107,32,7,32,9,27,34,1,32,13,106,33,9,32,10,65,0,78,13,10,32,9,45,0,0,13,16,35,1,33,17,12,10,11,32,8,41,3,48,34,25,66,0,82,13,1,65,0,33,7,12,10,11,32,10,4,64,32,8,40,2,48,12,2,11,65,0,33,7,32,0,65,32,32,15,65,0,32,12,16,131,2,12,2,11,32,8,65,0,54,2,12,32,8,32,25,62,2,8,32,8,32,8,65,8,106,34,7,54,2,48,65,127,33,10,32,7,11,33,11,65,0,33,7,3,64,2,64,32,11,40,2,0,34,9,69,13,0,32,8,65,4,106,32,9,16,136,2,34,9,65,0,72,13,16,32,9,32,10,32,7,107,75,13,0,32,11,65,4,106,33,11,32,7,32,9,106,34,7,32,10,73,13,1,11,11,65,61,33,9,32,7,65,0,72,13,13,32,0,65,32,32,15,32,7,32,12,16,131,2,32,7,69,4,64,65,0,33,7,12,1,11,65,0,33,9,32,8,40,2,48,33,11,3,64,32,11,40,2,0,34,13,69,13,1,32,8,65,4,106,34,10,32,13,16,136,2,34,13,32,9,106,34,9,32,7,75,13,1,32,0,32,10,32,13,16,255,1,32,11,65,4,106,33,11,32,7,32,9,75,13,0,11,11,32,0,65,32,32,15,32,7,32,12,65,128,192,0,115,16,131,2,32,15,32,7,32,7,32,15,72,27,33,7,12,9,11,32,20,32,10,65,0,72,113,13,10,65,61,33,9,32,0,32,8,43,3,48,32,15,32,10,32,12,32,7,32,5,17,15,0,34,7,65,0,78,13,8,12,11,11,32,7,45,0,1,33,11,32,7,65,1,106,33,7,12,0,11,0,11,32,0,13,10,32,19,69,13,4,65,1,33,7,3,64,32,4,32,7,65,2,116,106,40,2,0,34,0,4,64,32,3,32,7,65,3,116,106,32,0,32,2,32,6,16,129,2,65,1,33,14,32,7,65,1,106,34,7,65,10,71,13,1,12,12,11,11,32,7,65,10,79,4,64,65,1,33,14,12,11,11,3,64,32,4,32,7,65,2,116,106,40,2,0,13,1,65,1,33,14,32,7,65,1,106,34,7,65,10,71,13,0,11,12,10,11,65,28,33,9,12,7,11,32,11,33,12,32,1,33,10,12,1,11,32,8,32,7,58,0,39,35,1,33,17,65,1,33,10,32,23,33,13,32,11,33,12,11,32,10,32,9,32,13,107,34,11,32,10,32,11,74,27,34,10,32,16,65,255,255,255,255,7,115,74,13,3,65,61,33,9,32,15,32,10,32,16,106,34,1,32,1,32,15,72,27,34,7,32,24,74,13,4,32,0,65,32,32,7,32,1,32,12,16,131,2,32,0,32,17,32,16,16,255,1,32,0,65,48,32,7,32,1,32,12,65,128,128,4,115,16,131,2,32,0,65,48,32,10,32,11,65,0,16,131,2,32,0,32,13,32,11,16,255,1,32,0,65,32,32,7,32,1,32,12,65,128,192,0,115,16,131,2,32,8,40,2,60,33,1,12,1,11,11,11,65,0,33,14,12,3,11,65,61,33,9,11,35,1,65,200,213,0,106,32,9,54,2,0,11,65,127,33,14,11,32,8,65,64,107,36,0,32,14,11,24,0,32,0,45,0,0,65,32,113,69,4,64,32,1,32,2,32,0,16,243,1,26,11,11,115,1,5,127,32,0,40,2,0,34,3,44,0,0,65,48,107,34,1,65,9,75,4,64,65,0,15,11,3,64,65,127,33,4,32,2,65,204,153,179,230,0,77,4,64,65,127,32,1,32,2,65,10,108,34,5,106,32,1,32,5,65,255,255,255,255,7,115,75,27,33,4,11,32,0,32,3,65,1,106,34,5,54,2,0,32,3,44,0,1,33,1,32,4,33,2,32,5,33,3,32,1,65,48,107,34,1,65,10,73,13,0,11,32,2,11,196,2,0,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,1,65,9,107,14,18,0,10,11,12,10,11,2,3,4,5,12,11,12,12,10,11,7,8,9,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,40,2,0,54,2,0,15,11,0,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,50,1,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,51,1,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,48,0,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,49,0,0,55,3,0,15,11,0,11,32,2,32,2,40,2,0,65,7,106,65,120,113,34,1,65,8,106,54,2,0,32,0,32,1,43,3,0,57,3,0,15,11,32,0,32,2,32,3,17,5,0,11,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,52,2,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,53,2,0,55,3,0,15,11,32,2,32,2,40,2,0,65,7,106,65,120,113,34,1,65,8,106,54,2,0,32,0,32,1,41,3,0,55,3,0,11,136,1,2,1,126,3,127,2,64,32,0,66,128,128,128,128,16,84,4,64,32,0,33,2,12,1,11,3,64,32,1,65,1,107,34,1,32,0,32,0,66,10,128,34,2,66,10,126,125,167,65,48,114,58,0,0,32,0,66,255,255,255,255,159,1,86,33,4,32,2,33,0,32,4,13,0,11,11,32,2,66,0,82,4,64,32,2,167,33,3,3,64,32,1,65,1,107,34,1,32,3,32,3,65,10,110,34,4,65,10,108,107,65,48,114,58,0,0,32,3,65,9,75,33,5,32,4,33,3,32,5,13,0,11,11,32,1,11,110,1,1,127,35,0,65,128,2,107,34,5,36,0,2,64,32,2,32,3,76,13,0,32,4,65,128,192,4,113,13,0,32,5,32,1,32,2,32,3,107,34,3,65,128,2,32,3,65,128,2,73,34,1,27,16,238,1,26,32,1,69,4,64,3,64,32,0,32,5,65,128,2,16,255,1,32,3,65,128,2,107,34,3,65,255,1,75,13,0,11,11,32,0,32,5,32,3,16,255,1,11,32,5,65,128,2,106,36,0,11,133,24,3,18,127,1,124,3,126,35,0,65,176,4,107,34,11,36,0,32,11,65,0,54,2,44,2,64,32,1,189,34,25,66,0,83,4,64,35,1,65,10,106,33,20,65,1,33,16,32,1,154,34,1,189,33,25,12,1,11,32,4,65,128,16,113,4,64,35,1,65,13,106,33,20,65,1,33,16,12,1,11,35,1,65,10,106,34,6,65,6,106,32,6,65,1,106,32,4,65,1,113,34,16,27,33,20,32,16,69,33,23,11,2,64,32,25,66,128,128,128,128,128,128,128,248,255,0,131,66,128,128,128,128,128,128,128,248,255,0,81,4,64,32,0,65,32,32,2,32,16,65,3,106,34,7,32,4,65,255,255,123,113,16,131,2,32,0,32,20,32,16,16,255,1,32,0,35,1,34,6,65,135,8,106,32,6,65,177,10,106,32,5,65,32,113,34,3,27,32,6,65,180,8,106,32,6,65,189,10,106,32,3,27,32,1,32,1,98,27,65,3,16,255,1,32,0,65,32,32,2,32,7,32,4,65,128,192,0,115,16,131,2,32,2,32,7,32,2,32,7,74,27,33,13,12,1,11,32,11,65,16,106,33,17,2,64,2,64,2,64,32,1,32,11,65,44,106,16,253,1,34,1,32,1,160,34,1,68,0,0,0,0,0,0,0,0,98,4,64,32,11,32,11,40,2,44,34,6,65,1,107,54,2,44,32,5,65,32,114,34,21,65,225,0,71,13,1,12,3,11,32,5,65,32,114,34,21,65,225,0,70,13,2,32,11,40,2,44,33,12,12,1,11,32,11,32,6,65,29,107,34,12,54,2,44,32,1,68,0,0,0,0,0,0,176,65,162,33,1,11,65,6,32,3,32,3,65,0,72,27,33,10,32,11,65,48,106,65,160,2,65,0,32,12,65,0,78,27,106,34,14,33,7,3,64,32,7,32,1,252,3,34,3,54,2,0,32,7,65,4,106,33,7,32,1,32,3,184,161,68,0,0,0,0,101,205,205,65,162,34,1,68,0,0,0,0,0,0,0,0,98,13,0,11,2,64,32,12,65,0,76,4,64,32,12,33,9,32,7,33,6,32,14,33,8,12,1,11,32,14,33,8,32,12,33,9,3,64,65,29,32,9,32,9,65,29,79,27,33,3,2,64,32,7,65,4,107,34,6,32,8,73,13,0,32,3,173,33,27,66,0,33,25,3,64,32,6,32,25,66,255,255,255,255,15,131,32,6,53,2,0,32,27,134,124,34,26,32,26,66,128,148,235,220,3,128,34,25,66,128,148,235,220,3,126,125,62,2,0,32,6,65,4,107,34,6,32,8,79,13,0,11,32,26,66,128,148,235,220,3,84,13,0,32,8,65,4,107,34,8,32,25,62,2,0,11,3,64,32,8,32,7,34,6,73,4,64,32,6,65,4,107,34,7,40,2,0,69,13,1,11,11,32,11,32,11,40,2,44,32,3,107,34,9,54,2,44,32,6,33,7,32,9,65,0,74,13,0,11,11,32,9,65,0,72,4,64,32,10,65,25,106,65,9,110,65,1,106,33,18,32,21,65,230,0,70,33,19,3,64,65,9,65,0,32,9,107,34,3,32,3,65,9,79,27,33,13,2,64,32,6,32,8,77,4,64,65,0,65,4,32,8,40,2,0,27,33,7,12,1,11,65,128,148,235,220,3,32,13,118,33,22,65,127,32,13,116,65,127,115,33,15,65,0,33,9,32,8,33,7,3,64,32,7,32,7,40,2,0,34,3,32,13,118,32,9,106,54,2,0,32,3,32,15,113,32,22,108,33,9,32,7,65,4,106,34,7,32,6,73,13,0,11,65,0,65,4,32,8,40,2,0,27,33,7,32,9,69,13,0,32,6,32,9,54,2,0,32,6,65,4,106,33,6,11,32,11,32,11,40,2,44,32,13,106,34,9,54,2,44,32,14,32,7,32,8,106,34,8,32,19,27,34,3,32,18,65,2,116,106,32,6,32,6,32,3,107,65,2,117,32,18,74,27,33,6,32,9,65,0,72,13,0,11,11,65,0,33,9,2,64,32,6,32,8,77,13,0,32,14,32,8,107,65,2,117,65,9,108,33,9,65,10,33,7,32,8,40,2,0,34,3,65,10,73,13,0,3,64,32,9,65,1,106,33,9,32,3,32,7,65,10,108,34,7,79,13,0,11,11,32,10,32,9,65,0,32,21,65,230,0,71,27,107,32,21,65,231,0,70,32,10,65,0,71,113,107,34,3,32,6,32,14,107,65,2,117,65,9,108,65,9,107,72,4,64,32,11,65,48,106,65,132,96,65,164,98,32,12,65,0,72,27,106,32,3,65,128,200,0,106,34,12,65,9,109,34,3,65,2,116,106,33,13,65,10,33,7,32,12,32,3,65,9,108,107,34,3,65,7,76,4,64,3,64,32,7,65,10,108,33,7,32,3,65,1,106,34,3,65,8,71,13,0,11,11,2,64,32,13,40,2,0,34,12,32,12,32,7,110,34,18,32,7,108,107,34,15,69,32,13,65,4,106,34,3,32,6,70,113,13,0,2,64,32,18,65,1,113,69,4,64,68,0,0,0,0,0,0,64,67,33,1,32,7,65,128,148,235,220,3,71,13,1,32,8,32,13,79,13,1,32,13,65,4,107,45,0,0,65,1,113,69,13,1,11,68,1,0,0,0,0,0,64,67,33,1,11,68,0,0,0,0,0,0,224,63,68,0,0,0,0,0,0,240,63,68,0,0,0,0,0,0,248,63,32,3,32,6,70,27,68,0,0,0,0,0,0,248,63,32,15,32,7,65,1,118,34,3,70,27,32,3,32,15,75,27,33,24,2,64,32,23,13,0,32,20,45,0,0,65,45,71,13,0,32,24,154,33,24,32,1,154,33,1,11,32,13,32,12,32,15,107,34,3,54,2,0,32,1,32,24,160,32,1,97,13,0,32,13,32,3,32,7,106,34,3,54,2,0,32,3,65,128,148,235,220,3,79,4,64,3,64,32,13,65,0,54,2,0,32,8,32,13,65,4,107,34,13,75,4,64,32,8,65,4,107,34,8,65,0,54,2,0,11,32,13,32,13,40,2,0,65,1,106,34,3,54,2,0,32,3,65,255,147,235,220,3,75,13,0,11,11,32,14,32,8,107,65,2,117,65,9,108,33,9,65,10,33,7,32,8,40,2,0,34,3,65,10,73,13,0,3,64,32,9,65,1,106,33,9,32,3,32,7,65,10,108,34,7,79,13,0,11,11,32,13,65,4,106,34,3,32,6,32,3,32,6,73,27,33,6,11,3,64,32,6,34,12,32,8,77,34,7,69,4,64,32,6,65,4,107,34,6,40,2,0,69,13,1,11,11,2,64,32,21,65,231,0,71,4,64,32,4,65,8,113,33,19,12,1,11,32,9,65,127,115,65,127,32,10,65,1,32,10,27,34,6,32,9,74,32,9,65,123,74,113,34,3,27,32,6,106,33,10,65,127,65,126,32,3,27,32,5,106,33,5,32,4,65,8,113,34,19,13,0,65,119,33,6,2,64,32,7,13,0,32,12,65,4,107,40,2,0,34,15,69,13,0,65,10,33,3,65,0,33,6,32,15,65,10,112,13,0,3,64,32,6,34,7,65,1,106,33,6,32,15,32,3,65,10,108,34,3,112,69,13,0,11,32,7,65,127,115,33,6,11,32,12,32,14,107,65,2,117,65,9,108,33,3,32,5,65,95,113,65,198,0,70,4,64,65,0,33,19,32,10,32,3,32,6,106,65,9,107,34,3,65,0,32,3,65,0,74,27,34,3,32,3,32,10,74,27,33,10,12,1,11,65,0,33,19,32,10,32,3,32,9,106,32,6,106,65,9,107,34,3,65,0,32,3,65,0,74,27,34,3,32,3,32,10,74,27,33,10,11,65,127,33,13,32,10,65,253,255,255,255,7,65,254,255,255,255,7,32,10,32,19,114,34,15,27,74,13,1,32,10,32,15,65,0,71,106,65,1,106,33,22,2,64,32,5,65,95,113,34,7,65,198,0,70,4,64,32,9,32,22,65,255,255,255,255,7,115,74,13,3,32,9,65,0,32,9,65,0,74,27,33,6,12,1,11,32,17,32,9,32,9,65,31,117,34,3,115,32,3,107,173,32,17,16,130,2,34,6,107,65,1,76,4,64,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,17,32,6,107,65,2,72,13,0,11,11,32,6,65,2,107,34,18,32,5,58,0,0,32,6,65,1,107,65,45,65,43,32,9,65,0,72,27,58,0,0,32,17,32,18,107,34,6,32,22,65,255,255,255,255,7,115,74,13,2,11,32,6,32,22,106,34,3,32,16,65,255,255,255,255,7,115,74,13,1,32,0,65,32,32,2,32,3,32,16,106,34,9,32,4,16,131,2,32,0,32,20,32,16,16,255,1,32,0,65,48,32,2,32,9,32,4,65,128,128,4,115,16,131,2,2,64,2,64,2,64,32,7,65,198,0,70,4,64,32,11,65,16,106,65,9,114,33,5,32,14,32,8,32,8,32,14,75,27,34,3,33,8,3,64,32,8,53,2,0,32,5,16,130,2,33,6,2,64,32,3,32,8,71,4,64,32,6,32,11,65,16,106,77,13,1,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,12,1,11,32,5,32,6,71,13,0,32,6,65,1,107,34,6,65,48,58,0,0,11,32,0,32,6,32,5,32,6,107,16,255,1,32,8,65,4,106,34,8,32,14,77,13,0,11,32,15,4,64,32,0,35,1,65,239,10,106,65,1,16,255,1,11,32,8,32,12,79,13,1,32,10,65,0,76,13,1,3,64,32,8,53,2,0,32,5,16,130,2,34,6,32,11,65,16,106,75,4,64,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,11,32,0,32,6,65,9,32,10,32,10,65,9,78,27,16,255,1,32,10,65,9,107,33,6,32,8,65,4,106,34,8,32,12,79,13,3,32,10,65,9,74,33,3,32,6,33,10,32,3,13,0,11,12,2,11,2,64,32,10,65,0,72,13,0,32,12,32,8,65,4,106,32,8,32,12,73,27,33,3,32,11,65,16,106,65,9,114,33,12,32,8,33,7,3,64,32,12,32,7,53,2,0,32,12,16,130,2,34,6,70,4,64,32,6,65,1,107,34,6,65,48,58,0,0,11,2,64,32,7,32,8,71,4,64,32,6,32,11,65,16,106,77,13,1,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,12,1,11,32,0,32,6,65,1,16,255,1,32,6,65,1,106,33,6,32,10,32,19,114,69,13,0,32,0,35,1,65,239,10,106,65,1,16,255,1,11,32,0,32,6,32,12,32,6,107,34,5,32,10,32,5,32,10,72,27,16,255,1,32,10,32,5,107,33,10,32,7,65,4,106,34,7,32,3,79,13,1,32,10,65,0,78,13,0,11,11,32,0,65,48,32,10,65,18,106,65,18,65,0,16,131,2,32,0,32,18,32,17,32,18,107,16,255,1,12,2,11,32,10,33,6,11,32,0,65,48,32,6,65,9,106,65,9,65,0,16,131,2,11,32,0,65,32,32,2,32,9,32,4,65,128,192,0,115,16,131,2,32,2,32,9,32,2,32,9,74,27,33,13,12,1,11,32,20,32,5,65,26,116,65,31,117,65,9,113,106,33,9,2,64,32,3,65,11,75,13,0,65,12,32,3,107,33,6,68,0,0,0,0,0,0,48,64,33,24,3,64,32,24,68,0,0,0,0,0,0,48,64,162,33,24,32,6,65,1,107,34,6,13,0,11,32,9,45,0,0,65,45,70,4,64,32,24,32,1,154,32,24,161,160,154,33,1,12,1,11,32,1,32,24,160,32,24,161,33,1,11,32,17,32,11,40,2,44,34,7,32,7,65,31,117,34,6,115,32,6,107,173,32,17,16,130,2,34,6,70,4,64,32,6,65,1,107,34,6,65,48,58,0,0,32,11,40,2,44,33,7,11,32,16,65,2,114,33,10,32,5,65,32,113,33,12,32,6,65,2,107,34,14,32,5,65,15,106,58,0,0,32,6,65,1,107,65,45,65,43,32,7,65,0,72,27,58,0,0,32,4,65,8,113,69,32,3,65,0,76,113,33,8,32,11,65,16,106,33,7,3,64,32,7,34,5,32,1,252,2,34,6,35,1,65,208,47,106,106,45,0,0,32,12,114,58,0,0,32,1,32,6,183,161,68,0,0,0,0,0,0,48,64,162,33,1,2,64,32,7,65,1,106,34,7,32,11,65,16,106,107,65,1,71,13,0,32,1,68,0,0,0,0,0,0,0,0,97,32,8,113,13,0,32,5,65,46,58,0,1,32,5,65,2,106,33,7,11,32,1,68,0,0,0,0,0,0,0,0,98,13,0,11,65,127,33,13,32,3,65,253,255,255,255,7,32,10,32,17,32,14,107,34,8,106,34,6,107,74,13,0,32,0,65,32,32,2,32,6,32,3,65,2,106,32,7,32,11,65,16,106,34,5,107,34,7,32,7,65,2,107,32,3,72,27,32,7,32,3,27,34,3,106,34,6,32,4,16,131,2,32,0,32,9,32,10,16,255,1,32,0,65,48,32,2,32,6,32,4,65,128,128,4,115,16,131,2,32,0,32,5,32,7,16,255,1,32,0,65,48,32,3,32,7,107,65,0,65,0,16,131,2,32,0,32,14,32,8,16,255,1,32,0,65,32,32,2,32,6,32,4,65,128,192,0,115,16,131,2,32,2,32,6,32,2,32,6,74,27,33,13,11,32,11,65,176,4,106,36,0,32,13,11,158,5,2,6,126,3,127,32,1,32,1,40,2,0,65,7,106,65,120,113,34,1,65,16,106,54,2,0,32,0,32,1,41,3,0,33,3,32,1,41,3,8,33,7,35,0,65,32,107,34,1,36,0,32,7,66,255,255,255,255,255,255,63,131,33,5,2,126,32,7,66,48,136,66,255,255,1,131,34,4,167,34,9,65,129,248,0,107,65,253,15,77,4,64,32,5,66,4,134,32,3,66,60,136,132,33,2,32,9,65,128,248,0,107,173,33,4,2,64,32,3,66,255,255,255,255,255,255,255,255,15,131,34,3,66,129,128,128,128,128,128,128,128,8,90,4,64,32,2,66,1,124,33,2,12,1,11,32,3,66,128,128,128,128,128,128,128,128,8,82,13,0,32,2,66,1,131,32,2,124,33,2,11,66,0,32,2,32,2,66,255,255,255,255,255,255,255,7,86,34,0,27,33,2,32,0,173,32,4,124,12,1,11,2,64,32,3,32,5,132,80,13,0,32,4,66,255,255,1,82,13,0,32,5,66,4,134,32,3,66,60,136,132,66,128,128,128,128,128,128,128,4,132,33,2,66,255,15,12,1,11,32,9,65,254,135,1,75,4,64,66,255,15,12,1,11,65,128,248,0,65,129,248,0,32,4,80,34,8,27,34,10,32,9,107,34,0,65,240,0,74,4,64,66,0,12,1,11,32,3,33,2,32,5,32,5,66,128,128,128,128,128,128,192,0,132,32,8,27,34,4,33,6,2,64,65,128,1,32,0,107,34,8,65,192,0,113,4,64,32,2,32,8,65,64,106,173,134,33,6,66,0,33,2,12,1,11,32,8,69,13,0,32,6,32,8,173,34,5,134,32,2,65,192,0,32,8,107,173,136,132,33,6,32,2,32,5,134,33,2,11,32,1,32,2,55,3,16,32,1,32,6,55,3,24,2,64,32,0,65,192,0,113,4,64,32,4,32,0,65,64,106,173,136,33,3,66,0,33,4,12,1,11,32,0,69,13,0,32,4,65,192,0,32,0,107,173,134,32,3,32,0,173,34,2,136,132,33,3,32,4,32,2,136,33,4,11,32,1,32,3,55,3,0,32,1,32,4,55,3,8,32,1,41,3,8,66,4,134,32,1,41,3,0,34,3,66,60,136,132,33,2,2,64,32,9,32,10,71,32,1,41,3,16,32,1,41,3,24,132,66,0,82,113,173,32,3,66,255,255,255,255,255,255,255,255,15,131,132,34,3,66,129,128,128,128,128,128,128,128,8,90,4,64,32,2,66,1,124,33,2,12,1,11,32,3,66,128,128,128,128,128,128,128,128,8,82,13,0,32,2,66,1,131,32,2,124,33,2,11,32,2,66,128,128,128,128,128,128,128,8,133,32,2,32,2,66,255,255,255,255,255,255,255,7,86,34,0,27,33,2,32,0,173,11,33,3,32,1,65,32,106,36,0,32,7,66,128,128,128,128,128,128,128,128,128,127,131,32,3,66,52,134,132,32,2,132,191,57,3,0,11,203,3,1,4,127,35,0,65,160,1,107,34,4,36,0,32,4,32,0,32,4,65,158,1,106,32,1,27,34,6,54,2,148,1,32,4,32,1,65,1,107,34,0,65,0,32,0,32,1,77,27,54,2,152,1,32,4,65,0,65,144,1,252,11,0,32,4,65,127,54,2,76,32,4,35,2,65,29,106,54,2,36,32,4,65,127,54,2,80,32,4,32,4,65,159,1,106,54,2,44,32,4,32,4,65,148,1,106,54,2,84,32,6,65,0,58,0,0,35,0,65,208,1,107,34,5,36,0,32,5,32,3,54,2,204,1,32,5,65,160,1,106,34,0,65,0,65,40,252,11,0,32,5,32,5,40,2,204,1,54,2,200,1,2,64,65,0,32,2,32,5,65,200,1,106,32,5,65,208,0,106,32,0,35,2,34,0,65,27,106,34,6,32,0,65,28,106,34,0,16,254,1,65,0,72,4,64,65,127,33,0,12,1,11,32,4,40,2,76,65,0,72,33,3,32,4,32,4,40,2,0,34,1,65,95,113,54,2,0,2,127,2,64,2,64,32,4,40,2,48,69,4,64,32,4,65,208,0,54,2,48,32,4,65,0,54,2,28,32,4,66,0,55,3,16,32,4,40,2,44,33,7,32,4,32,5,54,2,44,12,1,11,32,4,40,2,16,13,1,11,65,127,32,4,16,239,1,13,1,26,11,32,4,32,2,32,5,65,200,1,106,32,5,65,208,0,106,32,5,65,160,1,106,32,6,32,0,16,254,1,11,33,2,32,7,4,64,32,4,65,0,65,0,32,4,40,2,36,17,4,0,26,32,4,65,0,54,2,48,32,4,32,7,54,2,44,32,4,65,0,54,2,28,32,4,40,2,20,33,0,32,4,66,0,55,3,16,32,2,65,127,32,0,27,33,2,11,32,4,32,4,40,2,0,34,0,32,1,65,32,113,114,54,2,0,65,127,32,2,32,0,65,32,113,27,33,0,32,3,13,0,11,32,5,65,208,1,106,36,0,32,4,65,160,1,106,36,0,32,0,11,170,1,1,5,127,32,0,40,2,84,34,3,40,2,0,33,5,32,3,40,2,4,34,4,32,0,40,2,20,32,0,40,2,28,34,7,107,34,6,32,4,32,6,73,27,34,6,4,64,32,5,32,7,32,6,16,242,1,26,32,3,32,3,40,2,0,32,6,106,34,5,54,2,0,32,3,32,3,40,2,4,32,6,107,34,4,54,2,4,11,32,4,32,2,32,2,32,4,75,27,34,4,4,64,32,5,32,1,32,4,16,242,1,26,32,3,32,3,40,2,0,32,4,106,34,5,54,2,0,32,3,32,3,40,2,4,32,4,107,54,2,4,11,32,5,65,0,58,0,0,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,2,11,159,2,0,32,0,69,4,64,65,0,15,11,2,127,2,64,32,0,4,127,32,1,65,255,0,77,13,1,2,64,35,1,65,132,214,0,106,40,2,96,40,2,0,69,4,64,32,1,65,128,127,113,65,128,191,3,70,13,3,12,1,11,32,1,65,255,15,77,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,1,32,0,32,1,65,6,118,65,192,1,114,58,0,0,65,2,12,4,11,32,1,65,128,64,113,65,128,192,3,71,32,1,65,128,176,3,79,113,69,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,2,32,0,32,1,65,12,118,65,224,1,114,58,0,0,32,0,32,1,65,6,118,65,63,113,65,128,1,114,58,0,1,65,3,12,4,11,32,1,65,128,128,4,107,65,255,255,63,77,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,3,32,0,32,1,65,18,118,65,240,1,114,58,0,0,32,0,32,1,65,6,118,65,63,113,65,128,1,114,58,0,2,32,0,32,1,65,12,118,65,63,113,65,128,1,114,58,0,1,65,4,12,4,11,11,35,1,65,200,213,0,106,65,25,54,2,0,65,127,5,65,1,11,12,1,11,32,0,32,1,58,0,0,65,1,11,11,138,42,1,11,127,35,0,65,16,107,34,11,36,0,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,0,65,244,1,77,4,64,35,1,65,148,215,0,106,34,2,40,2,0,34,4,65,16,32,0,65,11,106,65,248,3,113,32,0,65,11,73,27,34,7,65,3,118,34,0,118,34,1,65,3,113,4,64,2,64,32,1,65,127,115,65,1,113,32,0,106,34,1,65,3,116,32,2,106,34,0,34,3,65,40,106,34,6,32,0,40,2,48,34,0,40,2,8,34,5,70,4,64,32,2,32,4,65,126,32,1,119,113,54,2,0,12,1,11,32,5,32,6,54,2,12,32,3,32,5,54,2,48,11,32,0,65,8,106,33,5,32,0,32,1,65,3,116,34,1,65,3,114,54,2,4,32,0,32,1,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,11,11,32,7,35,1,65,148,215,0,106,34,2,40,2,8,34,8,77,13,1,32,1,4,64,2,64,65,2,32,0,116,34,5,65,0,32,5,107,114,32,1,32,0,116,113,104,34,1,65,3,116,32,2,106,34,0,34,3,65,40,106,34,6,32,0,40,2,48,34,0,40,2,8,34,5,70,4,64,32,2,32,4,65,126,32,1,119,113,34,4,54,2,0,12,1,11,32,5,32,6,54,2,12,32,3,32,5,54,2,48,11,32,0,32,7,65,3,114,54,2,4,32,0,32,7,106,34,6,32,1,65,3,116,34,1,32,7,107,34,3,65,1,114,54,2,4,32,0,32,1,106,32,3,54,2,0,32,8,4,64,35,1,65,148,215,0,106,34,5,34,2,32,8,65,120,113,106,65,40,106,33,1,32,2,40,2,20,33,2,2,127,32,4,65,1,32,8,65,3,118,116,34,7,113,69,4,64,32,5,32,4,32,7,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,5,32,1,32,2,54,2,8,32,5,32,2,54,2,12,32,2,32,1,54,2,12,32,2,32,5,54,2,8,11,32,0,65,8,106,33,5,35,1,65,148,215,0,106,34,0,32,6,54,2,20,32,0,32,3,54,2,8,12,11,11,35,1,65,148,215,0,106,34,0,40,2,4,34,10,69,13,1,32,10,104,65,2,116,32,0,106,40,2,176,2,34,3,40,2,4,65,120,113,32,7,107,33,0,32,3,33,1,3,64,2,64,32,1,40,2,16,34,5,69,4,64,32,1,40,2,20,34,5,69,13,1,11,32,5,40,2,4,65,120,113,32,7,107,34,1,32,0,32,0,32,1,75,34,1,27,33,0,32,5,32,3,32,1,27,33,3,32,5,33,1,12,1,11,11,32,3,40,2,24,33,9,32,3,32,3,40,2,12,34,5,71,4,64,32,3,40,2,8,34,1,32,5,54,2,12,32,5,32,1,54,2,8,12,10,11,32,3,40,2,20,34,1,4,127,32,3,65,20,106,5,32,3,40,2,16,34,1,69,13,3,32,3,65,16,106,11,33,2,3,64,32,2,33,6,32,1,34,5,65,20,106,33,2,32,1,40,2,20,34,1,13,0,32,5,65,16,106,33,2,32,5,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,9,11,65,127,33,7,32,0,65,191,127,75,13,0,32,0,65,11,106,34,1,65,120,113,33,7,35,1,65,148,215,0,106,40,2,4,34,6,69,13,0,65,31,33,8,32,0,65,244,255,255,7,77,4,64,32,7,65,38,32,1,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,8,11,65,0,32,7,107,33,0,2,64,2,64,35,1,65,148,215,0,106,32,8,65,2,116,106,40,2,176,2,34,1,4,64,32,7,65,25,32,8,65,1,118,107,65,0,32,8,65,31,71,27,116,33,3,3,64,2,64,32,1,40,2,4,65,120,113,32,7,107,34,4,32,0,79,13,0,32,1,33,2,32,4,34,0,13,0,65,0,33,0,32,1,33,5,12,3,11,32,5,32,1,40,2,20,34,4,32,4,32,1,32,3,65,29,118,65,4,113,106,40,2,16,34,1,70,27,32,5,32,4,27,33,5,32,3,65,1,116,33,3,32,1,13,0,11,11,32,2,32,5,114,69,4,64,65,0,33,2,65,2,32,8,116,34,1,65,0,32,1,107,114,32,6,113,34,1,69,13,3,35,1,65,148,215,0,106,32,1,104,65,2,116,106,40,2,176,2,33,5,11,32,5,69,13,1,11,3,64,32,5,40,2,4,65,120,113,32,7,107,34,3,32,0,73,33,1,32,3,32,0,32,1,27,33,0,32,5,32,2,32,1,27,33,2,32,5,40,2,16,34,1,4,127,32,1,5,32,5,40,2,20,11,34,5,13,0,11,11,32,2,69,13,0,32,0,35,1,65,148,215,0,106,40,2,8,32,7,107,79,13,0,32,2,40,2,24,33,8,32,2,32,2,40,2,12,34,5,71,4,64,32,2,40,2,8,34,1,32,5,54,2,12,32,5,32,1,54,2,8,12,8,11,32,2,40,2,20,34,1,4,127,32,2,65,20,106,5,32,2,40,2,16,34,1,69,13,3,32,2,65,16,106,11,33,3,3,64,32,3,33,4,32,1,34,5,65,20,106,33,3,32,1,40,2,20,34,1,13,0,32,5,65,16,106,33,3,32,5,40,2,16,34,1,13,0,11,32,4,65,0,54,2,0,12,7,11,32,7,35,1,65,148,215,0,106,34,0,40,2,8,34,2,77,4,64,32,0,40,2,20,33,0,2,64,32,2,32,7,107,34,1,65,16,79,4,64,32,0,32,7,106,34,3,32,1,65,1,114,54,2,4,32,0,32,2,106,32,1,54,2,0,32,0,32,7,65,3,114,54,2,4,12,1,11,32,0,32,2,65,3,114,54,2,4,32,0,32,2,106,34,1,32,1,40,2,4,65,1,114,54,2,4,65,0,33,3,65,0,33,1,11,35,1,65,148,215,0,106,34,2,32,1,54,2,8,32,2,32,3,54,2,20,32,0,65,8,106,33,5,12,9,11,32,7,35,1,65,148,215,0,106,34,0,40,2,12,34,2,73,4,64,32,0,32,2,32,7,107,34,1,54,2,12,32,0,32,0,40,2,24,34,0,32,7,106,34,2,54,2,24,32,2,32,1,65,1,114,54,2,4,32,0,32,7,65,3,114,54,2,4,32,0,65,8,106,33,5,12,9,11,65,0,33,5,32,7,65,47,106,34,4,2,127,35,1,65,236,218,0,106,34,0,40,2,0,4,64,32,0,40,2,8,12,1,11,35,1,34,1,65,236,218,0,106,34,0,65,0,54,2,20,32,0,66,127,55,2,12,32,0,66,128,160,128,128,128,128,4,55,2,4,32,1,65,148,215,0,106,65,0,54,2,188,3,32,0,32,11,65,12,106,65,112,113,65,216,170,213,170,5,115,54,2,0,65,128,32,11,34,0,106,34,6,65,0,32,0,107,34,8,113,34,1,32,7,77,13,8,35,1,65,148,215,0,106,34,0,40,2,184,3,34,3,4,64,32,0,40,2,176,3,34,0,32,1,106,34,9,32,0,77,13,9,32,3,32,9,73,13,9,11,2,64,35,1,65,148,215,0,106,34,0,45,0,188,3,65,4,113,69,4,64,2,64,2,64,2,64,2,64,32,0,40,2,24,34,3,4,64,32,0,65,192,3,106,33,0,3,64,32,0,40,2,0,34,9,32,3,77,4,64,32,3,32,9,32,0,40,2,4,106,73,13,3,11,32,0,40,2,8,34,0,13,0,11,11,65,0,16,142,2,34,2,65,127,70,13,3,32,1,33,3,35,1,65,236,218,0,106,40,2,4,34,0,65,1,107,34,6,32,2,113,4,64,32,1,32,2,107,32,2,32,6,106,65,0,32,0,107,113,106,33,3,11,32,3,32,7,77,13,3,35,1,65,148,215,0,106,34,6,40,2,176,3,33,0,32,6,40,2,184,3,34,6,4,64,32,0,32,0,32,3,106,34,8,79,13,4,32,6,32,8,73,13,4,11,32,3,16,142,2,34,0,32,2,71,13,1,12,5,11,32,6,32,2,107,32,8,113,34,3,16,142,2,34,2,32,0,40,2,0,32,0,40,2,4,106,70,13,1,32,2,33,0,11,32,0,65,127,70,13,1,32,7,65,48,106,32,3,77,4,64,32,0,33,2,12,4,11,35,1,65,236,218,0,106,40,2,8,34,2,32,4,32,3,107,106,65,0,32,2,107,113,34,2,16,142,2,65,127,70,13,1,32,2,32,3,106,33,3,32,0,33,2,12,3,11,32,2,65,127,71,13,2,11,35,1,65,148,215,0,106,34,0,32,0,40,2,188,3,65,4,114,54,2,188,3,11,32,1,16,142,2,33,2,65,0,16,142,2,33,0,32,2,65,127,70,13,5,32,0,65,127,70,13,5,32,0,32,2,77,13,5,32,0,32,2,107,34,3,32,7,65,40,106,77,13,5,11,35,1,65,148,215,0,106,34,0,32,0,40,2,176,3,32,3,106,34,1,54,2,176,3,32,0,40,2,180,3,32,1,73,4,64,32,0,32,1,54,2,180,3,11,2,64,35,1,65,148,215,0,106,34,0,40,2,24,34,1,4,64,32,0,65,192,3,106,33,0,3,64,32,2,32,0,40,2,0,34,4,32,0,40,2,4,34,6,106,70,13,2,32,0,40,2,8,34,0,13,0,11,12,4,11,35,1,65,148,215,0,106,34,0,40,2,16,34,1,65,0,32,1,32,2,77,27,69,4,64,32,0,32,2,54,2,16,11,65,0,33,0,35,1,34,4,65,148,215,0,106,34,1,65,0,54,2,204,3,32,1,32,3,54,2,196,3,32,1,32,2,54,2,192,3,32,1,65,127,54,2,32,32,1,32,4,65,236,218,0,106,40,2,0,54,2,36,3,64,35,1,65,148,215,0,106,32,0,65,3,116,106,34,1,32,1,65,40,106,34,4,54,2,48,32,1,32,4,54,2,52,32,0,65,1,106,34,0,65,32,71,13,0,11,35,1,34,1,65,148,215,0,106,34,0,32,3,65,40,107,34,3,65,120,32,2,107,65,7,113,34,4,107,34,6,54,2,12,32,0,32,2,32,4,106,34,4,54,2,24,32,4,32,6,65,1,114,54,2,4,32,2,32,3,106,65,40,54,2,4,32,0,32,1,65,236,218,0,106,40,2,16,54,2,28,12,4,11,32,1,32,2,79,13,2,32,1,32,4,73,13,2,32,0,40,2,12,65,8,113,13,2,32,0,32,3,32,6,106,54,2,4,35,1,34,2,65,148,215,0,106,34,0,32,1,65,120,32,1,107,65,7,113,34,4,106,34,6,54,2,24,32,0,32,0,40,2,12,32,3,106,34,3,32,4,107,34,4,54,2,12,32,6,32,4,65,1,114,54,2,4,32,1,32,3,106,65,40,54,2,4,32,0,32,2,65,236,218,0,106,40,2,16,54,2,28,12,3,11,65,0,33,5,12,6,11,65,0,33,5,12,4,11,35,1,65,148,215,0,106,34,0,40,2,16,32,2,75,4,64,32,0,32,2,54,2,16,11,32,2,32,3,106,33,6,35,1,65,212,218,0,106,33,0,2,64,3,64,32,6,32,0,40,2,0,34,4,71,4,64,32,0,40,2,8,34,0,13,1,12,2,11,11,32,0,45,0,12,65,8,113,69,13,3,11,35,1,65,212,218,0,106,33,0,3,64,2,64,32,0,40,2,0,34,4,32,1,77,4,64,32,1,32,4,32,0,40,2,4,106,34,6,73,13,1,11,32,0,40,2,8,33,0,12,1,11,11,35,1,34,4,65,148,215,0,106,34,0,32,3,65,40,107,34,8,65,120,32,2,107,65,7,113,34,9,107,34,10,54,2,12,32,0,32,2,32,9,106,34,9,54,2,24,32,9,32,10,65,1,114,54,2,4,32,2,32,8,106,65,40,54,2,4,32,0,32,4,65,236,218,0,106,40,2,16,54,2,28,32,1,32,6,65,39,32,6,107,65,7,113,106,65,47,107,34,4,32,4,32,1,65,16,106,73,27,34,4,65,27,54,2,4,32,4,32,0,41,2,200,3,55,2,16,32,4,32,0,41,2,192,3,55,2,8,32,0,32,2,54,2,192,3,32,0,32,3,54,2,196,3,32,0,65,0,54,2,204,3,32,0,32,4,65,8,106,54,2,200,3,32,4,65,24,106,33,0,3,64,32,0,65,7,54,2,4,32,0,65,8,106,33,2,32,0,65,4,106,33,0,32,2,32,6,73,13,0,11,32,1,32,4,70,13,0,32,4,32,4,40,2,4,65,126,113,54,2,4,32,1,32,4,32,1,107,34,2,65,1,114,54,2,4,32,4,32,2,54,2,0,2,127,32,2,65,255,1,77,4,64,35,1,65,148,215,0,106,34,3,32,2,65,120,113,106,65,40,106,33,0,2,127,32,3,40,2,0,34,4,65,1,32,2,65,3,118,116,34,2,113,69,4,64,32,3,32,2,32,4,114,54,2,0,32,0,12,1,11,32,0,40,2,8,11,33,3,32,0,32,1,54,2,8,32,3,32,1,54,2,12,65,8,33,4,65,12,12,1,11,65,31,33,0,32,2,65,255,255,255,7,77,4,64,32,2,65,38,32,2,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,0,11,32,1,32,0,54,2,28,32,1,66,0,55,2,16,35,1,65,148,215,0,106,34,4,32,0,65,2,116,106,34,3,65,176,2,106,33,6,2,64,2,64,32,4,40,2,4,34,8,65,1,32,0,116,34,9,113,69,4,64,32,4,32,8,32,9,114,54,2,4,32,3,32,1,54,2,176,2,32,1,32,6,54,2,24,12,1,11,32,2,65,25,32,0,65,1,118,107,65,0,32,0,65,31,71,27,116,33,0,32,3,40,2,176,2,33,4,3,64,32,4,34,3,40,2,4,65,120,113,32,2,70,13,2,32,0,65,29,118,33,4,32,0,65,1,116,33,0,32,3,32,4,65,4,113,106,34,6,40,2,16,34,4,13,0,11,32,6,32,1,54,2,16,32,1,32,3,54,2,24,11,65,12,33,4,32,1,34,3,33,0,65,8,12,1,11,32,3,40,2,8,34,0,32,1,54,2,12,32,3,32,1,54,2,8,32,1,32,0,54,2,8,65,0,33,0,65,12,33,4,65,24,11,33,2,32,1,32,4,106,32,3,54,2,0,32,1,32,2,106,32,0,54,2,0,11,35,1,65,148,215,0,106,34,0,40,2,12,34,1,32,7,77,13,0,32,0,32,1,32,7,107,34,1,54,2,12,32,0,32,0,40,2,24,34,0,32,7,106,34,2,54,2,24,32,2,32,1,65,1,114,54,2,4,32,0,32,7,65,3,114,54,2,4,32,0,65,8,106,33,5,12,4,11,35,1,65,200,213,0,106,65,48,54,2,0,12,3,11,32,0,32,2,54,2,0,32,0,32,0,40,2,4,32,3,106,54,2,4,32,2,65,120,32,2,107,65,7,113,106,34,8,32,7,65,3,114,54,2,4,32,4,65,120,32,4,107,65,7,113,106,34,4,32,7,32,8,106,34,3,107,33,6,2,64,35,1,65,148,215,0,106,34,0,40,2,24,32,4,70,4,64,32,0,32,3,54,2,24,32,0,32,0,40,2,12,32,6,106,34,0,54,2,12,32,3,32,0,65,1,114,54,2,4,12,1,11,35,1,65,148,215,0,106,34,0,40,2,20,32,4,70,4,64,32,0,32,3,54,2,20,32,0,32,0,40,2,8,32,6,106,34,0,54,2,8,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,12,1,11,32,4,40,2,4,34,2,65,3,113,65,1,70,4,64,32,2,65,120,113,33,9,32,4,40,2,12,33,1,2,64,32,2,65,255,1,77,4,64,32,4,40,2,8,34,0,32,1,70,4,64,35,1,65,148,215,0,106,34,0,32,0,40,2,0,65,126,32,2,65,3,118,119,113,54,2,0,12,2,11,32,0,32,1,54,2,12,32,1,32,0,54,2,8,12,1,11,32,4,40,2,24,33,7,2,64,32,1,32,4,71,4,64,32,4,40,2,8,34,0,32,1,54,2,12,32,1,32,0,54,2,8,12,1,11,2,64,32,4,40,2,20,34,2,4,127,32,4,65,20,106,5,32,4,40,2,16,34,2,69,13,1,32,4,65,16,106,11,33,0,3,64,32,0,33,5,32,2,34,1,65,20,106,33,0,32,1,40,2,20,34,2,13,0,32,1,65,16,106,33,0,32,1,40,2,16,34,2,13,0,11,32,5,65,0,54,2,0,12,1,11,65,0,33,1,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,0,32,4,40,2,28,34,2,65,2,116,106,34,5,40,2,176,2,32,4,70,4,64,32,5,32,1,54,2,176,2,32,1,13,1,32,0,32,0,40,2,4,65,126,32,2,119,113,54,2,4,12,2,11,2,64,32,4,32,7,40,2,16,70,4,64,32,7,32,1,54,2,16,12,1,11,32,7,32,1,54,2,20,11,32,1,69,13,1,11,32,1,32,7,54,2,24,32,4,40,2,16,34,0,4,64,32,1,32,0,54,2,16,32,0,32,1,54,2,24,11,32,4,40,2,20,34,0,69,13,0,32,1,32,0,54,2,20,32,0,32,1,54,2,24,11,32,6,32,9,106,33,6,32,4,32,9,106,34,4,40,2,4,33,2,11,32,4,32,2,65,126,113,54,2,4,32,3,32,6,65,1,114,54,2,4,32,3,32,6,106,32,6,54,2,0,32,6,65,255,1,77,4,64,35,1,65,148,215,0,106,34,1,32,6,65,120,113,106,65,40,106,33,0,2,127,32,1,40,2,0,34,2,65,1,32,6,65,3,118,116,34,5,113,69,4,64,32,1,32,2,32,5,114,54,2,0,32,0,12,1,11,32,0,40,2,8,11,33,1,32,0,32,3,54,2,8,32,1,32,3,54,2,12,32,3,32,0,54,2,12,32,3,32,1,54,2,8,12,1,11,65,31,33,1,32,6,65,255,255,255,7,77,4,64,32,6,65,38,32,6,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,1,11,32,3,32,1,54,2,28,32,3,66,0,55,2,16,35,1,65,148,215,0,106,34,2,32,1,65,2,116,106,34,0,65,176,2,106,33,5,2,64,2,64,32,2,40,2,4,34,4,65,1,32,1,116,34,7,113,69,4,64,32,2,32,4,32,7,114,54,2,4,32,0,32,3,54,2,176,2,32,3,32,5,54,2,24,12,1,11,32,6,65,25,32,1,65,1,118,107,65,0,32,1,65,31,71,27,116,33,1,32,0,40,2,176,2,33,0,3,64,32,0,34,2,40,2,4,65,120,113,32,6,70,13,2,32,1,65,29,118,33,0,32,1,65,1,116,33,1,32,2,32,0,65,4,113,106,34,5,40,2,16,34,0,13,0,11,32,5,32,3,54,2,16,32,3,32,2,54,2,24,11,32,3,32,3,54,2,12,32,3,32,3,54,2,8,12,1,11,32,2,40,2,8,34,0,32,3,54,2,12,32,2,32,3,54,2,8,32,3,65,0,54,2,24,32,3,32,2,54,2,12,32,3,32,0,54,2,8,11,32,8,65,8,106,33,5,12,2,11,2,64,32,8,69,13,0,2,64,35,1,65,148,215,0,106,34,1,32,2,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,2,70,4,64,32,4,32,5,54,2,176,2,32,5,13,1,32,1,32,6,65,126,32,3,119,113,34,6,54,2,4,12,2,11,2,64,32,2,32,8,40,2,16,70,4,64,32,8,32,5,54,2,16,12,1,11,32,8,32,5,54,2,20,11,32,5,69,13,1,11,32,5,32,8,54,2,24,32,2,40,2,16,34,1,4,64,32,5,32,1,54,2,16,32,1,32,5,54,2,24,11,32,2,40,2,20,34,1,69,13,0,32,5,32,1,54,2,20,32,1,32,5,54,2,24,11,2,64,32,0,65,15,77,4,64,32,2,32,0,32,7,106,34,0,65,3,114,54,2,4,32,0,32,2,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,1,11,32,2,32,7,65,3,114,54,2,4,32,2,32,7,106,34,4,32,0,65,1,114,54,2,4,32,0,32,4,106,32,0,54,2,0,32,0,65,255,1,77,4,64,35,1,65,148,215,0,106,34,5,32,0,65,120,113,106,65,40,106,33,1,2,127,32,5,40,2,0,34,3,65,1,32,0,65,3,118,116,34,0,113,69,4,64,32,5,32,0,32,3,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,0,32,1,32,4,54,2,8,32,0,32,4,54,2,12,32,4,32,1,54,2,12,32,4,32,0,54,2,8,12,1,11,65,31,33,5,32,0,65,255,255,255,7,77,4,64,32,0,65,38,32,0,65,8,118,103,34,1,107,118,65,1,113,32,1,65,1,116,107,65,62,106,33,5,11,32,4,32,5,54,2,28,32,4,66,0,55,2,16,35,1,32,5,65,2,116,106,65,196,217,0,106,33,1,2,64,2,64,32,6,65,1,32,5,116,34,3,113,69,4,64,35,1,65,148,215,0,106,32,3,32,6,114,54,2,4,32,1,32,4,54,2,0,32,4,32,1,54,2,24,12,1,11,32,0,65,25,32,5,65,1,118,107,65,0,32,5,65,31,71,27,116,33,5,32,1,40,2,0,33,1,3,64,32,1,34,3,40,2,4,65,120,113,32,0,70,13,2,32,5,65,29,118,33,1,32,5,65,1,116,33,5,32,3,32,1,65,4,113,106,34,6,40,2,16,34,1,13,0,11,32,6,32,4,54,2,16,32,4,32,3,54,2,24,11,32,4,32,4,54,2,12,32,4,32,4,54,2,8,12,1,11,32,3,40,2,8,34,0,32,4,54,2,12,32,3,32,4,54,2,8,32,4,65,0,54,2,24,32,4,32,3,54,2,12,32,4,32,0,54,2,8,11,32,2,65,8,106,33,5,12,1,11,2,64,32,9,69,13,0,2,64,35,1,65,148,215,0,106,34,1,32,3,40,2,28,34,2,65,2,116,106,34,6,40,2,176,2,32,3,70,4,64,32,6,32,5,54,2,176,2,32,5,13,1,32,1,32,10,65,126,32,2,119,113,54,2,4,12,2,11,2,64,32,3,32,9,40,2,16,70,4,64,32,9,32,5,54,2,16,12,1,11,32,9,32,5,54,2,20,11,32,5,69,13,1,11,32,5,32,9,54,2,24,32,3,40,2,16,34,1,4,64,32,5,32,1,54,2,16,32,1,32,5,54,2,24,11,32,3,40,2,20,34,1,69,13,0,32,5,32,1,54,2,20,32,1,32,5,54,2,24,11,2,64,32,0,65,15,77,4,64,32,3,32,0,32,7,106,34,0,65,3,114,54,2,4,32,0,32,3,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,1,11,32,3,32,7,65,3,114,54,2,4,32,3,32,7,106,34,5,32,0,65,1,114,54,2,4,32,0,32,5,106,32,0,54,2,0,32,8,4,64,35,1,65,148,215,0,106,34,6,34,2,32,8,65,120,113,106,65,40,106,33,1,32,2,40,2,20,33,2,2,127,65,1,32,8,65,3,118,116,34,7,32,4,113,69,4,64,32,6,32,4,32,7,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,4,32,1,32,2,54,2,8,32,4,32,2,54,2,12,32,2,32,1,54,2,12,32,2,32,4,54,2,8,11,35,1,65,148,215,0,106,34,1,32,5,54,2,20,32,1,32,0,54,2,8,11,32,3,65,8,106,33,5,11,32,11,65,16,106,36,0,32,5,11,170,12,1,8,127,2,64,32,0,69,13,0,32,0,65,8,107,34,3,32,0,65,4,107,40,2,0,34,1,65,120,113,34,0,106,33,5,35,1,33,4,2,64,32,1,65,1,113,13,0,32,1,65,2,113,69,13,1,32,3,32,3,40,2,0,34,1,107,34,3,32,4,65,148,215,0,106,40,2,16,73,13,1,32,0,32,1,106,33,0,2,64,2,64,2,64,35,1,65,148,215,0,106,34,6,40,2,20,32,3,71,4,64,32,3,40,2,12,33,2,32,1,65,255,1,77,4,64,32,2,32,3,40,2,8,34,4,71,13,2,32,6,34,4,32,4,40,2,0,65,126,32,1,65,3,118,119,113,54,2,0,12,5,11,32,3,40,2,24,33,7,32,2,32,3,71,4,64,32,3,40,2,8,34,1,32,2,54,2,12,32,2,32,1,54,2,8,12,4,11,32,3,40,2,20,34,1,4,127,32,3,65,20,106,5,32,3,40,2,16,34,1,69,13,3,32,3,65,16,106,11,33,4,3,64,32,4,33,6,32,1,34,2,65,20,106,33,4,32,2,40,2,20,34,1,13,0,32,2,65,16,106,33,4,32,2,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,3,11,32,5,40,2,4,34,1,65,3,113,65,3,71,13,3,35,1,65,148,215,0,106,32,0,54,2,8,32,5,32,1,65,126,113,54,2,4,32,3,32,0,65,1,114,54,2,4,32,5,32,0,54,2,0,15,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,2,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,3,40,2,28,34,1,65,2,116,106,34,4,40,2,176,2,32,3,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,4,32,4,40,2,4,65,126,32,1,119,113,54,2,4,12,2,11,2,64,32,3,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,3,40,2,16,34,1,4,64,32,2,32,1,54,2,16,32,1,32,2,54,2,24,11,32,3,40,2,20,34,1,69,13,0,32,2,32,1,54,2,20,32,1,32,2,54,2,24,11,32,3,32,5,79,13,0,32,5,40,2,4,34,1,65,1,113,69,13,0,2,64,2,64,2,64,2,64,32,1,65,2,113,69,4,64,35,1,65,148,215,0,106,34,4,40,2,24,32,5,70,4,64,32,4,34,1,32,3,54,2,24,32,1,32,1,40,2,12,32,0,106,34,0,54,2,12,32,3,32,0,65,1,114,54,2,4,32,3,32,1,40,2,20,71,13,6,32,1,65,0,54,2,8,32,1,65,0,54,2,20,15,11,35,1,65,148,215,0,106,34,4,40,2,20,34,8,32,5,70,4,64,32,4,34,1,32,3,54,2,20,32,1,32,1,40,2,8,32,0,106,34,0,54,2,8,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,15,11,32,1,65,120,113,32,0,106,33,0,32,5,40,2,12,33,2,32,1,65,255,1,77,4,64,32,5,40,2,8,34,4,32,2,70,4,64,35,1,65,148,215,0,106,34,4,32,4,40,2,0,65,126,32,1,65,3,118,119,113,54,2,0,12,5,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,4,11,32,5,40,2,24,33,7,32,2,32,5,71,4,64,32,5,40,2,8,34,1,32,2,54,2,12,32,2,32,1,54,2,8,12,3,11,32,5,40,2,20,34,1,4,127,32,5,65,20,106,5,32,5,40,2,16,34,1,69,13,2,32,5,65,16,106,11,33,4,3,64,32,4,33,6,32,1,34,2,65,20,106,33,4,32,2,40,2,20,34,1,13,0,32,2,65,16,106,33,4,32,2,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,2,11,32,5,32,1,65,126,113,54,2,4,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,12,3,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,5,40,2,28,34,1,65,2,116,106,34,4,40,2,176,2,32,5,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,4,32,4,40,2,4,65,126,32,1,119,113,54,2,4,12,2,11,2,64,32,5,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,5,40,2,16,34,1,4,64,32,2,32,1,54,2,16,32,1,32,2,54,2,24,11,32,5,40,2,20,34,1,69,13,0,32,2,32,1,54,2,20,32,1,32,2,54,2,24,11,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,32,3,32,8,71,13,0,35,1,65,148,215,0,106,32,0,54,2,8,15,11,32,0,65,255,1,77,4,64,35,1,65,148,215,0,106,34,2,34,4,32,0,65,120,113,106,65,40,106,33,1,2,127,32,4,40,2,0,34,4,65,1,32,0,65,3,118,116,34,0,113,69,4,64,32,2,32,0,32,4,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,0,32,1,32,3,54,2,8,32,0,32,3,54,2,12,32,3,32,1,54,2,12,32,3,32,0,54,2,8,15,11,65,31,33,2,32,0,65,255,255,255,7,77,4,64,32,0,65,38,32,0,65,8,118,103,34,1,107,118,65,1,113,32,1,65,1,116,107,65,62,106,33,2,11,32,3,32,2,54,2,28,32,3,66,0,55,2,16,35,1,65,148,215,0,106,34,7,34,6,32,2,65,2,116,106,34,1,65,176,2,106,33,4,2,127,2,64,2,127,32,6,40,2,4,34,6,65,1,32,2,116,34,5,113,69,4,64,32,7,32,5,32,6,114,54,2,4,32,1,32,3,54,2,176,2,65,24,33,2,65,8,12,1,11,32,0,65,25,32,2,65,1,118,107,65,0,32,2,65,31,71,27,116,33,2,32,1,40,2,176,2,33,4,3,64,32,4,34,1,40,2,4,65,120,113,32,0,70,13,2,32,2,65,29,118,33,4,32,2,65,1,116,33,2,32,1,32,4,65,4,113,106,34,6,40,2,16,34,4,13,0,11,32,6,32,3,54,2,16,65,24,33,2,32,1,33,4,65,8,11,33,0,32,3,34,1,12,1,11,32,1,40,2,8,34,4,32,3,54,2,12,32,1,32,3,54,2,8,65,24,33,0,65,8,33,2,65,0,11,33,6,32,2,32,3,106,32,4,54,2,0,32,3,32,1,54,2,12,32,0,32,3,106,32,6,54,2,0,35,1,65,148,215,0,106,34,0,32,0,40,2,32,65,1,107,34,0,65,127,32,0,27,54,2,32,11,11,176,8,1,11,127,32,0,69,4,64,32,1,16,137,2,15,11,32,1,65,64,79,4,64,35,1,65,200,213,0,106,65,48,54,2,0,65,0,15,11,2,127,65,16,32,1,65,11,106,65,120,113,32,1,65,11,73,27,33,5,32,0,65,8,107,34,4,40,2,4,34,9,65,120,113,33,8,2,64,32,9,65,3,113,69,4,64,32,5,65,128,2,73,13,1,32,5,65,4,106,32,8,77,4,64,32,4,33,2,32,8,32,5,107,35,1,65,236,218,0,106,40,2,8,65,1,116,77,13,2,11,65,0,12,2,11,32,4,32,8,106,33,6,2,64,32,5,32,8,77,4,64,32,8,32,5,107,34,7,65,16,73,13,1,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,2,32,7,65,3,114,54,2,4,32,6,32,6,40,2,4,65,1,114,54,2,4,32,2,32,7,16,140,2,12,1,11,32,6,40,2,4,33,7,35,1,65,148,215,0,106,34,3,34,2,40,2,24,32,6,70,4,64,65,0,32,5,32,2,40,2,12,32,8,106,34,2,79,13,3,26,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,8,32,2,32,5,107,34,7,65,1,114,54,2,4,32,3,34,2,32,7,54,2,12,32,2,32,8,54,2,24,12,1,11,35,1,65,148,215,0,106,34,2,40,2,20,32,6,70,4,64,65,0,32,5,32,2,40,2,8,32,8,106,34,2,75,13,3,26,2,64,32,2,32,5,107,34,3,65,16,79,4,64,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,7,32,3,65,1,114,54,2,4,32,2,32,4,106,34,2,32,3,54,2,0,32,2,32,2,40,2,4,65,126,113,54,2,4,12,1,11,32,4,32,9,65,1,113,32,2,114,65,2,114,54,2,4,32,2,32,4,106,34,2,32,2,40,2,4,65,1,114,54,2,4,65,0,33,3,65,0,33,7,11,35,1,65,148,215,0,106,34,2,32,7,54,2,20,32,2,32,3,54,2,8,12,1,11,65,0,33,2,32,7,65,2,113,13,1,32,7,65,120,113,32,8,106,34,11,32,5,73,13,1,32,11,32,5,107,33,12,32,6,40,2,12,33,3,2,64,32,7,65,255,1,77,4,64,32,6,40,2,8,34,2,32,3,70,4,64,35,1,65,148,215,0,106,34,2,32,2,40,2,0,65,126,32,7,65,3,118,119,113,54,2,0,12,2,11,32,2,32,3,54,2,12,32,3,32,2,54,2,8,12,1,11,32,6,40,2,24,33,10,2,64,32,3,32,6,71,4,64,32,6,40,2,8,34,2,32,3,54,2,12,32,3,32,2,54,2,8,12,1,11,2,64,32,6,40,2,20,34,2,4,127,32,6,65,20,106,5,32,6,40,2,16,34,2,69,13,1,32,6,65,16,106,11,33,8,3,64,32,8,33,7,32,2,34,3,65,20,106,33,8,32,2,40,2,20,34,2,13,0,32,3,65,16,106,33,8,32,3,40,2,16,34,2,13,0,11,32,7,65,0,54,2,0,12,1,11,65,0,33,3,11,32,10,69,13,0,2,64,35,1,65,148,215,0,106,34,8,32,6,40,2,28,34,7,65,2,116,106,34,2,40,2,176,2,32,6,70,4,64,32,2,32,3,54,2,176,2,32,3,13,1,32,8,32,8,40,2,4,65,126,32,7,119,113,54,2,4,12,2,11,2,64,32,6,32,10,40,2,16,70,4,64,32,10,32,3,54,2,16,12,1,11,32,10,32,3,54,2,20,11,32,3,69,13,1,11,32,3,32,10,54,2,24,32,6,40,2,16,34,2,4,64,32,3,32,2,54,2,16,32,2,32,3,54,2,24,11,32,6,40,2,20,34,2,69,13,0,32,3,32,2,54,2,20,32,2,32,3,54,2,24,11,32,12,65,15,77,4,64,32,4,32,9,65,1,113,32,11,114,65,2,114,54,2,4,32,4,32,11,106,34,2,32,2,40,2,4,65,1,114,54,2,4,12,1,11,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,7,32,12,65,3,114,54,2,4,32,4,32,11,106,34,2,32,2,40,2,4,65,1,114,54,2,4,32,7,32,12,16,140,2,11,32,4,33,2,11,32,2,11,34,2,4,64,32,2,65,8,106,15,11,32,1,16,137,2,34,4,69,4,64,65,0,15,11,32,4,32,0,65,124,65,120,32,0,65,4,107,40,2,0,34,2,65,3,113,27,32,2,65,120,113,106,34,2,32,1,32,1,32,2,75,27,16,242,1,26,32,0,16,138,2,32,4,11,205,11,1,7,127,32,0,32,1,106,33,5,2,64,2,64,32,0,40,2,4,34,3,65,1,113,13,0,32,3,65,2,113,69,13,1,32,0,40,2,0,34,3,32,1,106,33,1,2,64,2,64,2,64,32,0,32,3,107,34,0,35,1,65,148,215,0,106,34,6,40,2,20,71,4,64,32,0,40,2,12,33,2,32,3,65,255,1,77,4,64,32,2,32,0,40,2,8,34,4,71,13,2,32,6,34,2,32,2,40,2,0,65,126,32,3,65,3,118,119,113,54,2,0,12,5,11,32,0,40,2,24,33,7,32,0,32,2,71,4,64,32,0,40,2,8,34,3,32,2,54,2,12,32,2,32,3,54,2,8,12,4,11,32,0,40,2,20,34,4,4,127,32,0,65,20,106,5,32,0,40,2,16,34,4,69,13,3,32,0,65,16,106,11,33,3,3,64,32,3,33,6,32,4,34,2,65,20,106,33,3,32,2,40,2,20,34,4,13,0,32,2,65,16,106,33,3,32,2,40,2,16,34,4,13,0,11,32,6,65,0,54,2,0,12,3,11,32,5,40,2,4,34,3,65,3,113,65,3,71,13,3,35,1,65,148,215,0,106,32,1,54,2,8,32,5,32,3,65,126,113,54,2,4,32,0,32,1,65,1,114,54,2,4,32,5,32,1,54,2,0,15,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,2,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,0,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,0,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,2,32,2,40,2,4,65,126,32,3,119,113,54,2,4,12,2,11,2,64,32,0,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,0,40,2,16,34,3,4,64,32,2,32,3,54,2,16,32,3,32,2,54,2,24,11,32,0,40,2,20,34,3,69,13,0,32,2,32,3,54,2,20,32,3,32,2,54,2,24,11,2,64,2,64,2,64,2,64,32,5,40,2,4,34,3,65,2,113,69,4,64,35,1,65,148,215,0,106,34,2,40,2,24,32,5,70,4,64,32,2,34,3,32,0,54,2,24,32,3,32,3,40,2,12,32,1,106,34,1,54,2,12,32,0,32,1,65,1,114,54,2,4,32,0,32,3,40,2,20,71,13,6,32,3,34,0,65,0,54,2,8,32,0,65,0,54,2,20,15,11,35,1,65,148,215,0,106,34,2,40,2,20,34,8,32,5,70,4,64,32,2,34,3,32,0,54,2,20,32,3,32,3,40,2,8,32,1,106,34,1,54,2,8,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,15,11,32,3,65,120,113,32,1,106,33,1,32,5,40,2,12,33,2,32,3,65,255,1,77,4,64,32,5,40,2,8,34,4,32,2,70,4,64,35,1,65,148,215,0,106,34,2,32,2,40,2,0,65,126,32,3,65,3,118,119,113,54,2,0,12,5,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,4,11,32,5,40,2,24,33,7,32,2,32,5,71,4,64,32,5,40,2,8,34,3,32,2,54,2,12,32,2,32,3,54,2,8,12,3,11,32,5,40,2,20,34,4,4,127,32,5,65,20,106,5,32,5,40,2,16,34,4,69,13,2,32,5,65,16,106,11,33,3,3,64,32,3,33,6,32,4,34,2,65,20,106,33,3,32,2,40,2,20,34,4,13,0,32,2,65,16,106,33,3,32,2,40,2,16,34,4,13,0,11,32,6,65,0,54,2,0,12,2,11,32,5,32,3,65,126,113,54,2,4,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,12,3,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,5,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,5,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,2,32,2,40,2,4,65,126,32,3,119,113,54,2,4,12,2,11,2,64,32,5,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,5,40,2,16,34,3,4,64,32,2,32,3,54,2,16,32,3,32,2,54,2,24,11,32,5,40,2,20,34,3,69,13,0,32,2,32,3,54,2,20,32,3,32,2,54,2,24,11,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,32,0,32,8,71,13,0,35,1,65,148,215,0,106,32,1,54,2,8,15,11,32,1,65,255,1,77,4,64,35,1,65,148,215,0,106,34,4,34,2,32,1,65,120,113,106,65,40,106,33,3,2,127,32,2,40,2,0,34,2,65,1,32,1,65,3,118,116,34,1,113,69,4,64,32,4,32,1,32,2,114,54,2,0,32,3,12,1,11,32,3,40,2,8,11,33,1,32,3,32,0,54,2,8,32,1,32,0,54,2,12,32,0,32,3,54,2,12,32,0,32,1,54,2,8,15,11,65,31,33,2,32,1,65,255,255,255,7,77,4,64,32,1,65,38,32,1,65,8,118,103,34,3,107,118,65,1,113,32,3,65,1,116,107,65,62,106,33,2,11,32,0,32,2,54,2,28,32,0,66,0,55,2,16,35,1,65,148,215,0,106,34,7,34,4,32,2,65,2,116,106,34,3,65,176,2,106,33,6,2,64,2,64,32,4,40,2,4,34,4,65,1,32,2,116,34,5,113,69,4,64,32,7,32,4,32,5,114,54,2,4,32,3,32,0,54,2,176,2,32,0,32,6,54,2,24,12,1,11,32,1,65,25,32,2,65,1,118,107,65,0,32,2,65,31,71,27,116,33,2,32,3,40,2,176,2,33,3,3,64,32,3,34,4,40,2,4,65,120,113,32,1,70,13,2,32,2,65,29,118,33,3,32,2,65,1,116,33,2,32,4,32,3,65,4,113,106,34,6,40,2,16,34,3,13,0,11,32,6,32,0,54,2,16,32,0,32,4,54,2,24,11,32,0,32,0,54,2,12,32,0,32,0,54,2,8,15,11,32,4,40,2,8,34,1,32,0,54,2,12,32,4,32,0,54,2,8,32,0,65,0,54,2,24,32,0,32,4,54,2,12,32,0,32,1,54,2,8,11,11,92,2,1,127,1,126,2,64,2,127,65,0,32,0,69,13,0,26,32,0,173,32,1,173,126,34,3,167,34,2,32,0,32,1,114,65,128,128,4,73,13,0,26,65,127,32,2,32,3,66,32,136,167,27,11,34,2,16,137,2,34,0,69,13,0,32,0,65,4,107,45,0,0,65,3,113,69,13,0,32,0,65,0,32,2,16,238,1,26,11,32,0,11,108,1,2,127,32,0,65,7,106,65,120,113,33,1,35,1,65,244,212,0,106,34,2,40,2,0,34,0,69,4,64,32,2,35,3,34,0,54,2,0,11,2,64,32,1,65,0,32,0,32,1,106,34,1,32,0,77,27,69,4,64,32,1,63,0,65,16,116,77,13,1,32,1,16,9,13,1,11,35,1,65,200,213,0,106,65,48,54,2,0,65,127,15,11,35,1,65,244,212,0,106,32,1,54,2,0,32,0,11,25,0,35,10,40,2,0,69,4,64,35,11,32,1,54,2,0,35,10,32,0,54,2,0,11,11,9,0,32,0,65,0,16,145,2,11,175,2,1,7,127,2,64,32,0,65,255,255,7,75,13,0,35,1,34,2,65,240,47,106,32,2,65,224,47,106,32,0,32,0,65,255,1,113,34,6,65,3,110,34,3,65,3,108,107,65,255,1,113,65,2,116,106,40,2,0,32,2,65,192,58,106,34,4,32,3,32,4,32,0,65,8,118,34,3,106,45,0,0,65,214,0,108,106,106,45,0,0,108,65,11,118,65,6,112,32,2,65,176,207,0,106,32,3,106,45,0,0,106,65,2,116,106,40,2,0,34,3,65,8,117,33,2,32,3,65,255,1,113,34,3,65,1,77,4,64,32,2,65,0,32,1,32,3,115,107,113,32,0,106,15,11,32,2,65,255,1,113,34,3,69,13,0,32,2,65,8,118,33,2,3,64,35,1,65,176,55,106,32,3,65,1,118,34,4,32,2,106,34,5,65,1,116,106,34,7,45,0,0,34,8,32,6,70,4,64,35,1,65,240,47,106,32,7,45,0,1,65,2,116,106,40,2,0,34,2,65,255,1,113,34,3,65,1,77,4,64,65,0,32,1,32,3,115,107,32,2,65,8,117,113,32,0,106,15,11,65,127,65,1,32,1,27,32,0,106,15,11,32,2,32,5,32,6,32,8,73,34,5,27,33,2,32,4,32,3,32,4,107,32,5,27,34,3,13,0,11,11,32,0,11,9,0,32,0,65,1,16,145,2,11,10,0,32,0,65,48,107,65,10,73,11,6,0,32,0,36,0,11,16,0,35,0,32,0,107,65,112,113,34,0,36,0,32,0,11,4,0,35,0,11,12,0,32,0,65,1,16,145,2,32,0,71,11,13,0,32,0,65,32,70,32,0,65,9,70,114,11,74,1,2,127,32,0,16,250,1,32,0,106,33,3,2,64,32,2,69,13,0,3,64,32,1,45,0,0,34,4,69,13,1,32,3,32,4,58,0,0,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,32,3,65,0,58,0,0,32,0,11,12,0,32,0,65,0,16,145,2,32,0,71,11,233,2,1,2,127,2,64,32,0,32,1,70,13,0,32,1,32,0,32,2,106,34,4,107,65,0,32,2,65,1,116,107,77,4,64,32,0,32,1,32,2,16,242,1,15,11,32,0,32,1,115,65,3,113,33,3,2,64,2,64,32,0,32,1,73,4,64,32,3,4,64,32,0,33,3,12,3,11,32,0,65,3,113,69,4,64,32,0,33,3,12,2,11,32,0,33,3,3,64,32,2,69,13,4,32,3,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,107,33,2,32,3,65,1,106,34,3,65,3,113,13,0,11,12,1,11,2,64,32,3,13,0,32,4,65,3,113,4,64,3,64,32,2,69,13,5,32,0,32,2,65,1,107,34,2,106,34,3,32,1,32,2,106,45,0,0,58,0,0,32,3,65,3,113,13,0,11,11,32,2,65,3,77,13,0,3,64,32,0,32,2,65,4,107,34,2,106,32,1,32,2,106,40,2,0,54,2,0,32,2,65,3,75,13,0,11,11,32,2,69,13,2,3,64,32,0,32,2,65,1,107,34,2,106,32,1,32,2,106,45,0,0,58,0,0,32,2,13,0,11,12,2,11,32,2,65,3,77,13,0,3,64,32,3,32,1,40,2,0,54,2,0,32,1,65,4,106,33,1,32,3,65,4,106,33,3,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,0,3,64,32,3,32,1,45,0,0,58,0,0,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,32,0,11,131,2,1,2,127,2,64,2,64,2,64,2,64,32,1,32,0,34,3,115,65,3,113,13,0,32,2,65,0,71,33,4,2,64,32,1,65,3,113,69,13,0,32,2,69,13,0,3,64,32,3,32,1,45,0,0,34,4,58,0,0,32,4,69,13,5,32,3,65,1,106,33,3,32,2,65,1,107,34,2,65,0,71,33,4,32,1,65,1,106,34,1,65,3,113,69,13,1,32,2,13,0,11,11,32,4,69,13,2,32,1,45,0,0,69,13,3,32,2,65,4,73,13,0,3,64,65,128,130,132,8,32,1,40,2,0,34,4,107,32,4,114,65,128,129,130,132,120,113,65,128,129,130,132,120,71,13,2,32,3,32,4,54,2,0,32,3,65,4,106,33,3,32,1,65,4,106,33,1,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,3,64,32,3,32,1,45,0,0,34,4,58,0,0,32,4,69,13,2,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,65,0,33,2,11,32,3,65,0,32,2,16,238,1,26,32,0,11,23,0,32,0,65,48,107,65,10,73,32,0,65,32,114,65,225,0,107,65,6,73,114,11,77,1,2,127,32,1,45,0,0,33,2,2,64,32,0,45,0,0,34,3,69,13,0,32,2,32,3,71,13,0,3,64,32,1,45,0,1,33,2,32,0,45,0,1,34,3,69,13,1,32,1,65,1,106,33,1,32,0,65,1,106,33,0,32,2,32,3,70,13,0,11,11,32,3,32,2,107,11,11,255,84,1,0,35,1,11,248,84,45,43,32,32,32,48,88,48,120,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,114,101,100,117,99,101,32,115,121,109,58,37,115,44,32,99,104,105,108,100,95,99,111,117,110,116,58,37,117,0,114,101,115,117,109,101,32,118,101,114,115,105,111,110,58,37,117,0,114,101,109,111,118,101,100,32,112,97,117,115,101,100,32,118,101,114,115,105,111,110,58,37,117,0,108,101,120,95,101,120,116,101,114,110,97,108,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,117,109,110,58,37,117,0,108,101,120,95,105,110,116,101,114,110,97,108,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,117,109,110,58,37,117,0,112,114,111,99,101,115,115,32,118,101,114,115,105,111,110,58,37,117,44,32,118,101,114,115,105,111,110,95,99,111,117,110,116,58,37,117,44,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,58,37,117,0,114,101,99,111,118,101,114,95,116,111,95,112,114,101,118,105,111,117,115,32,115,116,97,116,101,58,37,117,44,32,100,101,112,116,104,58,37,117,0,44,32,115,105,122,101,58,37,117,0,115,104,105,102,116,32,115,116,97,116,101,58,37,117,0,114,101,99,111,118,101,114,95,119,105,116,104,95,109,105,115,115,105,110,103,32,115,121,109,98,111,108,58,37,115,44,32,115,116,97,116,101,58,37,117,0,100,105,102,102,101,114,101,110,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,32,37,117,32,45,32,37,117,0,97,99,99,101,112,116,0,112,97,114,115,101,95,97,102,116,101,114,95,101,100,105,116,0,92,116,0,97,98,111,114,116,105,110,103,32,114,101,100,117,99,101,32,119,105,116,104,32,116,111,111,32,109,97,110,121,32,118,101,114,115,105,111,110,115,0,104,97,115,95,99,104,97,110,103,101,115,0,115,119,105,116,99,104,32,102,114,111,109,95,107,101,121,119,111,114,100,58,37,115,44,32,116,111,95,119,111,114,100,95,116,111,107,101,110,58,37,115,0,115,116,97,116,101,95,109,105,115,109,97,116,99,104,32,115,121,109,58,37,115,0,115,101,108,101,99,116,95,115,109,97,108,108,101,114,95,101,114,114,111,114,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,115,101,108,101,99,116,95,101,97,114,108,105,101,114,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,115,101,108,101,99,116,95,101,120,105,115,116,105,110,103,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,99,97,110,116,95,114,101,117,115,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,44,32,102,105,114,115,116,95,108,101,97,102,95,115,121,109,98,111,108,58,37,115,0,115,107,105,112,95,116,111,107,101,110,32,115,121,109,98,111,108,58,37,115,0,105,103,110,111,114,101,95,101,109,112,116,121,95,101,120,116,101,114,110,97,108,95,116,111,107,101,110,32,115,121,109,98,111,108,58,37,115,0,114,101,117,115,97,98,108,101,95,110,111,100,101,95,104,97,115,95,100,105,102,102,101,114,101,110,116,95,101,120,116,101,114,110,97,108,95,115,99,97,110,110,101,114,95,115,116,97,116,101,32,115,121,109,98,111,108,58,37,115,0,114,101,117,115,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,112,97,115,116,95,114,101,117,115,97,98,108,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,98,101,102,111,114,101,95,114,101,117,115,97,98,108,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,99,97,110,116,95,114,101,117,115,101,95,110,111,100,101,95,37,115,32,116,114,101,101,58,37,115,0,98,114,101,97,107,100,111,119,110,95,116,111,112,95,111,102,95,115,116,97,99,107,32,116,114,101,101,58,37,115,0,100,101,116,101,99,116,95,101,114,114,111,114,32,108,111,111,107,97,104,101,97,100,58,37,115,0,40,37,115,0,105,115,95,101,114,114,111,114,0,115,107,105,112,95,117,110,114,101,99,111,103,110,105,122,101,100,95,99,104,97,114,97,99,116,101,114,0,110,97,110,0,92,110,0,105,115,95,109,105,115,115,105,110,103,0,114,101,115,117,109,101,95,112,97,114,115,105,110,103,0,114,101,99,111,118,101,114,95,101,111,102,0,105,110,102,0,110,101,119,95,112,97,114,115,101,0,99,111,110,100,101,110,115,101,0,100,111,110,101,0,105,115,95,102,114,97,103,105,108,101,0,99,111,110,116,97,105,110,115,95,100,105,102,102,101,114,101,110,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,0,115,107,105,112,32,99,104,97,114,97,99,116,101,114,58,37,100,0,99,111,110,115,117,109,101,32,99,104,97,114,97,99,116,101,114,58,37,100,0,115,101,108,101,99,116,95,104,105,103,104,101,114,95,112,114,101,99,101,100,101,110,99,101,32,115,121,109,98,111,108,58,37,115,44,32,112,114,101,99,58,37,100,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,44,32,111,116,104,101,114,95,112,114,101,99,58,37,100,0,115,104,105,102,116,95,101,120,116,114,97,0,110,111,95,108,111,111,107,97,104,101,97,100,95,97,102,116,101,114,95,110,111,110,95,116,101,114,109,105,110,97,108,95,101,120,116,114,97,0,95,95,82,79,79,84,95,95,0,95,69,82,82,79,82,0,78,65,78,0,77,73,83,83,73,78,71,0,73,78,70,0,73,78,86,65,76,73,68,0,108,101,120,101,100,95,108,111,111,107,97,104,101,97,100,32,115,121,109,58,0,32,48,48,48,48,48,48,48,48,48,48,48,48,16,48,48,0,46,0,40,37,115,41,0,40,110,117,108,108,41,0,40,78,85,76,76,41,0,40,34,37,115,34,41,0,39,92,116,39,0,39,92,114,39,0,39,92,110,39,0,115,107,105,112,32,99,104,97,114,97,99,116,101,114,58,39,37,99,39,0,99,111,110,115,117,109,101,32,99,104,97,114,97,99,116,101,114,58,39,37,99,39,0,39,92,48,39,0,34,37,115,34,0,40,77,73,83,83,73,78,71,32,0,40,85,78,69,88,80,69,67,84,69,68,32,0,37,115,58,32,0,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,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,30,15,15,15,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,16,82,83,84,85,86,87,88,89,90,91,92,93,16,94,95,96,16,17,17,17,97,98,99,16,16,16,16,16,16,16,16,16,16,17,17,17,17,100,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,101,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,102,103,16,16,104,105,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,106,17,17,107,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,108,109,16,16,16,16,16,16,16,16,16,110,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,111,112,113,114,16,16,16,16,16,16,16,16,115,116,117,16,16,16,16,16,118,119,16,16,16,16,120,16,16,121,16,16,16,16,16,16,16,16,16,16,16,16,16,16,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,255,7,0,0,0,0,0,0,255,255,223,63,0,0,240,255,248,3,255,255,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,239,223,253,255,255,255,255,231,223,93,240,128,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,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,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,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,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,255,255,255,124,0,0,0,0,0,128,255,191,255,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,255,255,255,255,255,247,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,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,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,112,0,255,255,255,255,71,0,255,255,255,255,255,255,255,255,30,0,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,187,7,255,131,0,0,0,0,255,255,255,255,255,255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252,255,255,255,255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,255,3,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,255,255,127,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,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,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,255,255,255,127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,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,255,255,255,255,255,31,128,63,255,67,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,255,255,255,255,255,15,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,11,0,25,25,25,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,25,0,10,10,25,25,25,3,10,7,0,1,0,9,11,24,0,0,9,6,11,0,0,11,0,6,25,0,0,0,25,25,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,25,0,11,13,25,25,25,0,13,0,0,2,0,9,14,0,0,0,9,0,14,0,0,14,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,12,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,19,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,4,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,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,18,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,17,0,0,0,0,9,18,0,0,0,0,0,18,0,0,18,0,0,26,0,0,0,26,26,26,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,26,0,0,0,26,26,26,0,0,0,0,0,0,9,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,20,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,23,0,0,0,0,9,20,0,0,0,0,0,20,0,0,20,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,22,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,21,0,0,0,0,9,22,0,0,0,0,0,22,0,0,22,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,8,0,0,86,1,0,0,57,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,224,255,255,0,191,29,0,0,231,2,0,0,121,0,0,2,36,0,0,1,1,0,0,0,255,255,255,0,0,0,0,1,2,0,0,0,254,255,255,1,57,255,255,0,24,255,255,1,135,255,255,0,212,254,255,0,195,0,0,1,210,0,0,1,206,0,0,1,205,0,0,1,79,0,0,1,202,0,0,1,203,0,0,1,207,0,0,0,97,0,0,1,211,0,0,1,209,0,0,0,163,0,0,1,213,0,0,0,130,0,0,1,214,0,0,1,218,0,0,1,217,0,0,1,219,0,0,0,56,0,0,3,0,0,0,0,177,255,255,1,159,255,255,1,200,255,255,2,40,36,0,0,0,0,0,1,1,0,0,0,255,255,255,0,51,255,255,0,38,255,255,1,126,255,255,1,43,42,0,1,93,255,255,1,40,42,0,0,63,42,0,1,61,255,255,1,69,0,0,1,71,0,0,0,31,42,0,0,28,42,0,0,30,42,0,0,46,255,255,0,50,255,255,0,54,255,255,0,53,255,255,0,79,165,0,0,75,165,0,0,49,255,255,0,40,165,0,0,68,165,0,0,47,255,255,0,45,255,255,0,247,41,0,0,65,165,0,0,253,41,0,0,43,255,255,0,42,255,255,0,231,41,0,0,67,165,0,0,42,165,0,0,187,255,255,0,39,255,255,0,185,255,255,0,37,255,255,0,21,165,0,0,18,165,0,2,36,76,0,0,0,0,0,1,32,0,0,0,224,255,255,1,1,0,0,0,255,255,255,0,84,0,0,1,116,0,0,1,38,0,0,1,37,0,0,1,64,0,0,1,63,0,0,0,218,255,255,0,219,255,255,0,225,255,255,0,192,255,255,0,193,255,255,1,8,0,0,0,194,255,255,0,199,255,255,0,209,255,255,0,202,255,255,0,248,255,255,0,170,255,255,0,176,255,255,0,7,0,0,0,140,255,255,1,196,255,255,0,160,255,255,1,249,255,255,2,26,112,0,1,1,0,0,0,255,255,255,1,32,0,0,0,224,255,255,1,80,0,0,1,15,0,0,0,241,255,255,0,0,0,0,1,48,0,0,0,208,255,255,1,1,0,0,0,255,255,255,0,0,0,0,0,192,11,0,1,96,28,0,0,0,0,0,1,208,151,0,1,8,0,0,0,248,255,255,2,5,138,0,0,0,0,0,1,64,244,255,0,158,231,255,0,194,137,0,0,219,231,255,0,146,231,255,0,147,231,255,0,156,231,255,0,157,231,255,0,164,231,255,0,0,0,0,0,56,138,0,0,4,138,0,0,230,14,0,1,1,0,0,0,255,255,255,0,0,0,0,0,197,255,255,1,65,226,255,2,29,143,0,0,8,0,0,1,248,255,255,0,0,0,0,0,86,0,0,1,170,255,255,0,74,0,0,0,100,0,0,0,128,0,0,0,112,0,0,0,126,0,0,0,9,0,0,1,182,255,255,1,247,255,255,0,219,227,255,1,156,255,255,1,144,255,255,1,128,255,255,1,130,255,255,2,5,172,0,0,0,0,0,1,16,0,0,0,240,255,255,1,28,0,0,1,1,0,0,1,163,226,255,1,65,223,255,1,186,223,255,0,228,255,255,2,11,177,0,1,1,0,0,0,255,255,255,1,48,0,0,0,208,255,255,0,0,0,0,1,9,214,255,1,26,241,255,1,25,214,255,0,213,213,255,0,216,213,255,1,228,213,255,1,3,214,255,1,225,213,255,1,226,213,255,1,193,213,255,0,0,0,0,0,160,227,255,0,0,0,0,1,1,0,0,0,255,255,255,2,12,188,0,0,0,0,0,1,1,0,0,0,255,255,255,1,188,90,255,1,160,3,0,1,252,117,255,1,216,90,255,0,48,0,0,1,177,90,255,1,181,90,255,1,191,90,255,1,238,90,255,1,214,90,255,1,235,90,255,1,208,255,255,1,189,90,255,1,200,117,255,0,0,0,0,0,48,104,255,0,96,252,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,40,0,0,0,216,255,255,0,0,0,0,1,64,0,0,0,192,255,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,34,0,0,0,222,255,255,48,12,49,13,120,14,127,15,128,16,129,17,134,18,137,19,138,19,142,20,143,21,144,22,147,19,148,23,149,24,150,25,151,26,154,27,156,25,157,28,158,29,159,30,166,31,169,31,174,31,177,32,178,32,183,33,191,34,197,35,200,35,203,35,221,36,242,35,246,37,247,38,32,45,58,46,61,47,62,48,63,49,64,49,67,50,68,51,69,52,80,53,81,54,82,55,83,56,84,57,89,58,91,59,92,60,97,61,99,62,101,63,102,64,104,65,105,66,106,64,107,67,108,68,111,66,113,69,114,70,117,71,125,72,130,73,135,74,137,75,138,76,139,76,140,77,146,78,157,79,158,80,69,87,123,29,124,29,125,29,127,88,134,89,136,90,137,90,138,90,140,91,142,92,143,92,172,93,173,94,174,94,175,94,194,95,204,96,205,97,206,97,207,98,208,99,209,100,213,101,214,102,215,103,240,104,241,105,242,106,243,107,244,108,245,109,249,110,253,45,254,45,255,45,80,105,81,105,82,105,83,105,84,105,85,105,86,105,87,105,88,105,89,105,90,105,91,105,92,105,93,105,94,105,95,105,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,192,117,207,118,128,137,129,138,130,139,133,140,134,141,112,157,113,157,118,158,119,158,120,159,121,159,122,160,123,160,124,161,125,161,179,162,186,163,187,163,188,164,190,165,195,162,204,164,218,166,219,166,229,106,234,167,235,167,236,110,243,162,248,168,249,168,250,169,251,169,252,164,38,176,42,177,43,178,78,179,132,8,98,186,99,187,100,188,101,189,102,190,109,191,110,192,111,193,112,194,126,195,127,195,125,207,141,208,148,209,171,210,172,211,173,212,176,213,177,214,178,215,196,216,197,217,198,218,7,8,9,10,11,12,6,6,6,6,6,6,6,6,6,6,13,6,6,14,6,6,6,6,6,6,6,6,15,16,17,18,6,19,6,6,6,6,6,6,6,6,6,6,20,21,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,22,23,6,6,6,24,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,25,6,6,6,6,26,6,6,6,6,6,6,6,27,6,6,6,6,6,6,6,6,6,6,6,28,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,29,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,30,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,43,43,43,43,43,43,43,43,1,0,84,86,86,86,86,86,86,86,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,43,43,43,43,43,43,43,7,43,43,91,86,86,86,86,86,86,86,74,86,86,5,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,36,80,121,49,80,49,80,49,56,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,78,49,2,78,13,13,78,3,78,0,36,110,0,78,49,38,110,81,78,36,80,78,57,20,129,27,29,29,83,49,80,49,80,13,49,80,49,80,49,80,27,83,36,80,49,2,92,123,92,123,92,123,92,123,92,123,20,121,92,123,92,123,92,45,43,73,3,72,3,120,92,123,20,0,150,10,1,43,40,6,6,0,42,6,42,42,43,7,187,181,43,30,0,43,7,43,43,43,1,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,42,43,43,43,43,43,43,43,43,43,43,43,43,43,205,70,205,43,0,37,43,7,1,6,1,85,86,86,86,86,86,85,86,86,2,36,129,129,129,129,129,21,129,129,129,0,0,43,0,178,209,178,209,178,209,178,209,0,0,205,204,1,0,215,215,215,215,215,131,129,129,129,129,129,129,129,129,129,129,172,172,172,172,172,172,172,172,172,172,28,0,0,0,0,0,49,80,49,80,49,80,49,80,49,80,49,2,0,0,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,78,49,80,49,80,78,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,2,135,166,135,166,135,166,135,166,135,166,135,166,135,166,135,166,42,43,43,43,43,43,43,43,43,43,43,43,43,0,0,0,84,86,86,86,86,86,86,86,86,86,86,86,86,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,84,86,86,86,86,86,86,86,86,86,86,86,86,12,0,12,42,43,43,43,43,43,43,43,43,43,43,43,43,43,7,42,1,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,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,86,86,108,129,21,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,7,108,3,65,43,43,86,86,86,86,86,86,86,86,86,86,86,86,86,86,44,86,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,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,12,108,0,0,0,0,0,6,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,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,86,122,158,38,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,1,43,43,79,86,86,44,43,127,86,86,57,43,43,85,86,86,43,43,79,86,86,44,43,127,86,86,129,55,117,91,123,92,43,43,79,86,86,2,172,4,0,0,57,43,43,85,86,86,43,43,79,86,86,44,43,43,86,86,50,19,129,87,0,111,129,126,201,215,126,45,129,129,14,126,57,127,111,87,0,129,129,126,21,0,126,3,43,43,43,43,43,43,43,43,43,43,43,43,7,43,36,43,151,43,43,43,43,43,43,43,43,43,42,43,43,43,43,43,86,86,86,86,86,128,129,129,129,129,57,187,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,201,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,208,13,0,78,49,2,180,193,193,215,215,36,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,215,215,83,193,71,212,215,215,215,5,43,43,43,43,43,43,43,43,43,43,43,43,7,1,0,1,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,78,49,80,49,80,49,80,49,80,49,80,49,80,49,80,13,0,0,0,0,0,36,80,49,80,49,80,49,80,49,80,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,43,43,43,43,43,43,43,43,43,43,43,121,92,123,92,123,79,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,45,43,43,121,20,92,123,92,45,121,42,92,39,92,123,92,123,92,123,164,0,10,180,92,123,92,123,79,3,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,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,72,0,0,0,0,0,0,0,0,0,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,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,43,43,43,43,43,43,43,43,7,0,72,86,86,86,86,86,86,86,86,2,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,43,43,43,43,43,43,43,43,43,43,43,43,43,85,86,86,86,86,86,86,86,86,86,86,86,86,14,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,36,43,43,43,43,43,43,43,43,43,43,43,7,0,86,86,86,86,86,86,86,86,86,86,86,86,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,36,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,7,0,0,0,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,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,42,43,43,43,43,43,43,43,43,43,43,86,86,86,86,86,86,86,86,86,86,14,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,42,43,43,43,43,43,43,43,43,43,43,86,86,86,86,86,86,86,86,86,86,14,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,43,43,43,43,43,43,43,43,43,43,43,85,86,86,86,86,86,86,86,86,86,86,14,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,6,39,81,111,119,0,0,0,0,0,0,0,0,0,0,124,0,0,127,0,0,0,0,0,0,0,0,131,142,146,151,0,170,0,0,0,0,0,0,0,0,0,0,180,196,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,201,0,0,0,219,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,222,0,0,0,0,225,0,0,0,0,0,0,0,228,0,0,0,0,0,0,0,0,0,0,0,231,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,234,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,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,237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,26,0,0,0,148,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,224,41,0,0,0,0,0,0,0,139,59,4,110,97,109,101,0,17,16,116,114,101,101,45,115,105,116,116,101,114,46,119,97,115,109,1,154,56,159,2,0,24,116,114,101,101,95,115,105,116,116,101,114,95,108,111,103,95,99,97,108,108,98,97,99,107,1,26,116,114,101,101,95,115,105,116,116,101,114,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,2,29,116,114,101,101,95,115,105,116,116,101,114,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,3,35,116,114,101,101,95,115,105,116,116,101,114,95,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,4,15,95,95,119,97,115,105,95,102,100,95,99,108,111,115,101,5,15,95,95,119,97,115,105,95,102,100,95,119,114,105,116,101,6,9,95,97,98,111,114,116,95,106,115,7,21,95,95,119,97,115,105,95,99,108,111,99,107,95,116,105,109,101,95,103,101,116,8,14,95,95,119,97,115,105,95,102,100,95,115,101,101,107,9,22,101,109,115,99,114,105,112,116,101,110,95,114,101,115,105,122,101,95,104,101,97,112,10,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,11,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,12,12,95,95,119,97,115,109,95,115,116,97,114,116,13,17,116,115,95,109,97,108,108,111,99,95,100,101,102,97,117,108,116,14,17,116,115,95,99,97,108,108,111,99,95,100,101,102,97,117,108,116,15,18,116,115,95,114,101,97,108,108,111,99,95,100,101,102,97,117,108,116,16,33,116,115,95,114,97,110,103,101,95,97,114,114,97,121,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,17,16,105,116,101,114,97,116,111,114,95,100,101,115,99,101,110,100,18,16,105,116,101,114,97,116,111,114,95,97,100,118,97,110,99,101,19,24,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,99,111,117,110,116,20,23,116,115,95,108,97,110,103,117,97,103,101,95,115,116,97,116,101,95,99,111,117,110,116,21,19,116,115,95,108,97,110,103,117,97,103,101,95,118,101,114,115,105,111,110,22,20,116,115,95,108,97,110,103,117,97,103,101,95,109,101,116,97,100,97,116,97,23,16,116,115,95,108,97,110,103,117,97,103,101,95,110,97,109,101,24,23,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,99,111,117,110,116,25,22,116,115,95,108,97,110,103,117,97,103,101,95,110,101,120,116,95,115,116,97,116,101,26,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,110,97,109,101,27,27,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,102,111,114,95,110,97,109,101,28,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,116,121,112,101,29,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,105,100,30,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,105,100,95,102,111,114,95,110,97,109,101,31,25,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,119,32,28,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,100,101,108,101,116,101,33,33,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,95,115,116,97,116,101,34,27,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,35,26,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,36,36,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,99,117,114,114,101,110,116,95,115,121,109,98,111,108,37,13,116,115,95,108,101,120,101,114,95,95,108,111,103,38,13,116,115,95,108,101,120,101,114,95,95,101,111,102,39,36,116,115,95,108,101,120,101,114,95,95,105,115,95,97,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,95,115,116,97,114,116,40,20,116,115,95,108,101,120,101,114,95,95,103,101,116,95,99,111,108,117,109,110,41,18,116,115,95,108,101,120,101,114,95,95,109,97,114,107,95,101,110,100,42,17,116,115,95,108,101,120,101,114,95,95,97,100,118,97,110,99,101,43,20,116,115,95,108,101,120,101,114,95,95,100,111,95,97,100,118,97,110,99,101,44,14,116,115,95,108,101,120,101,114,95,115,116,97,114,116,45,16,116,115,95,110,111,100,101,95,101,110,100,95,98,121,116,101,46,17,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,47,14,116,115,95,110,111,100,101,95,115,121,109,98,111,108,48,27,116,115,95,115,117,98,116,114,101,101,95,95,119,114,105,116,101,95,116,111,95,115,116,114,105,110,103,49,16,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,50,19,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,51,29,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,52,14,116,115,95,110,111,100,101,95,95,99,104,105,108,100,53,25,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,54,21,116,115,95,110,111,100,101,95,95,110,101,120,116,95,115,105,98,108,105,110,103,55,21,116,115,95,110,111,100,101,95,95,112,114,101,118,95,115,105,98,108,105,110,103,56,40,116,115,95,115,117,98,116,114,101,101,95,104,97,115,95,116,114,97,105,108,105,110,103,95,101,109,112,116,121,95,100,101,115,99,101,110,100,97,110,116,57,29,116,115,95,110,111,100,101,95,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,58,34,116,115,95,110,111,100,101,95,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,98,121,116,101,95,114,97,110,103,101,59,35,116,115,95,110,111,100,101,95,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,105,110,116,95,114,97,110,103,101,60,18,116,115,95,115,117,98,116,114,101,101,95,114,101,108,101,97,115,101,61,14,116,115,95,115,116,97,99,107,95,99,108,101,97,114,62,16,116,115,95,112,97,114,115,101,114,95,100,101,108,101,116,101,63,15,116,115,95,112,97,114,115,101,114,95,114,101,115,101,116,64,22,116,115,95,112,97,114,115,101,114,95,115,101,116,95,108,97,110,103,117,97,103,101,65,18,115,116,97,99,107,95,110,111,100,101,95,114,101,108,101,97,115,101,66,24,116,115,95,112,97,114,115,101,114,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,67,28,116,115,95,112,97,114,115,101,114,95,115,101,116,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,68,29,116,115,95,112,97,114,115,101,114,95,115,101,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,69,27,116,115,95,115,117,98,116,114,101,101,95,95,112,114,105,110,116,95,100,111,116,95,103,114,97,112,104,70,24,116,115,95,115,116,97,99,107,95,112,114,105,110,116,95,100,111,116,95,103,114,97,112,104,71,23,116,115,95,115,116,97,99,107,95,114,101,109,111,118,101,95,118,101,114,115,105,111,110,72,19,115,116,97,99,107,95,110,111,100,101,95,97,100,100,95,108,105,110,107,73,38,116,115,95,112,97,114,115,101,114,95,95,100,111,95,97,108,108,95,112,111,116,101,110,116,105,97,108,95,114,101,100,117,99,116,105,111,110,115,74,24,115,117,109,109,97,114,105,122,101,95,115,116,97,99,107,95,99,97,108,108,98,97,99,107,75,11,115,116,97,99,107,95,95,105,116,101,114,76,30,116,115,95,112,97,114,115,101,114,95,95,98,114,101,97,107,100,111,119,110,95,108,111,111,107,97,104,101,97,100,77,18,116,115,95,112,97,114,115,101,114,95,95,114,101,99,111,118,101,114,78,31,116,115,95,112,97,114,115,101,114,95,95,99,97,110,95,114,101,117,115,101,95,102,105,114,115,116,95,108,101,97,102,79,21,114,101,117,115,97,98,108,101,95,110,111,100,101,95,97,100,118,97,110,99,101,80,33,116,115,95,112,97,114,115,101,114,95,95,98,114,101,97,107,100,111,119,110,95,116,111,112,95,111,102,95,115,116,97,99,107,81,17,116,115,95,112,97,114,115,101,114,95,95,97,99,99,101,112,116,82,17,116,115,95,112,97,114,115,101,114,95,95,114,101,100,117,99,101,83,25,116,115,95,115,116,97,99,107,95,114,101,110,117,109,98,101,114,95,118,101,114,115,105,111,110,84,13,116,115,95,115,116,97,99,107,95,112,117,115,104,85,12,116,115,95,113,117,101,114,121,95,110,101,119,86,14,115,116,114,101,97,109,95,97,100,118,97,110,99,101,87,22,115,116,114,101,97,109,95,115,107,105,112,95,119,104,105,116,101,115,112,97,99,101,88,23,116,115,95,113,117,101,114,121,95,95,112,97,114,115,101,95,112,97,116,116,101,114,110,89,26,116,115,95,113,117,101,114,121,95,95,112,101,114,102,111,114,109,95,97,110,97,108,121,115,105,115,90,15,116,115,95,113,117,101,114,121,95,100,101,108,101,116,101,91,12,95,97,114,114,97,121,95,95,103,114,111,119,92,22,115,116,114,101,97,109,95,115,99,97,110,95,105,100,101,110,116,105,102,105,101,114,93,27,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,115,95,97,100,100,95,97,108,108,94,30,116,115,95,113,117,101,114,121,95,95,112,97,114,115,101,95,115,116,114,105,110,103,95,108,105,116,101,114,97,108,95,24,115,121,109,98,111,108,95,116,97,98,108,101,95,105,110,115,101,114,116,95,110,97,109,101,96,22,116,115,95,113,117,101,114,121,95,112,97,116,116,101,114,110,95,99,111,117,110,116,97,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,99,111,117,110,116,98,21,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,99,111,117,110,116,99,28,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,110,97,109,101,95,102,111,114,95,105,100,100,34,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,95,102,111,114,95,105,100,101,28,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,118,97,108,117,101,95,102,111,114,95,105,100,102,31,116,115,95,113,117,101,114,121,95,112,114,101,100,105,99,97,116,101,115,95,102,111,114,95,112,97,116,116,101,114,110,103,31,116,115,95,113,117,101,114,121,95,115,116,97,114,116,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,104,29,116,115,95,113,117,101,114,121,95,101,110,100,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,105,26,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,114,111,111,116,101,100,106,29,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,110,111,110,95,108,111,99,97,108,107,38,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,103,117,97,114,97,110,116,101,101,100,95,97,116,95,115,116,101,112,108,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,99,97,112,116,117,114,101,109,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,112,97,116,116,101,114,110,110,19,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,119,111,20,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,101,120,101,99,112,20,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,113,31,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,115,101,116,95,112,111,105,110,116,95,114,97,110,103,101,114,26,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,120,116,95,109,97,116,99,104,115,24,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,97,100,118,97,110,99,101,116,26,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,97,100,100,95,115,116,97,116,101,117,24,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,99,97,112,116,117,114,101,118,42,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,102,105,114,115,116,95,105,110,95,112,114,111,103,114,101,115,115,95,99,97,112,116,117,114,101,119,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,105,110,116,101,114,110,97,108,120,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,104,105,108,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,121,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,115,105,98,108,105,110,103,95,105,110,116,101,114,110,97,108,122,28,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,120,116,95,99,97,112,116,117,114,101,123,18,112,111,112,95,99,111,117,110,116,95,99,97,108,108,98,97,99,107,124,20,112,111,112,95,112,101,110,100,105,110,103,95,99,97,108,108,98,97,99,107,125,18,112,111,112,95,101,114,114,111,114,95,99,97,108,108,98,97,99,107,126,16,112,111,112,95,97,108,108,95,99,97,108,108,98,97,99,107,127,39,116,115,95,115,117,98,116,114,101,101,95,97,114,114,97,121,95,114,101,109,111,118,101,95,116,114,97,105,108,105,110,103,95,101,120,116,114,97,115,128,1,29,116,115,95,115,117,98,116,114,101,101,95,115,117,109,109,97,114,105,122,101,95,99,104,105,108,100,114,101,110,129,1,19,116,115,95,115,117,98,116,114,101,101,95,110,101,119,95,110,111,100,101,130,1,18,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,131,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,132,1,39,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,105,110,116,101,114,110,97,108,133,1,50,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,97,110,100,95,112,111,105,110,116,134,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,135,1,38,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,104,105,108,100,95,105,116,101,114,97,116,111,114,95,112,114,101,118,105,111,117,115,136,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,137,1,27,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,138,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,139,1,12,116,115,95,116,114,101,101,95,99,111,112,121,140,1,14,116,115,95,116,114,101,101,95,100,101,108,101,116,101,141,1,14,116,115,95,100,101,99,111,100,101,95,117,116,102,56,142,1,18,116,115,95,100,101,99,111,100,101,95,117,116,102,49,54,95,108,101,143,1,18,116,115,95,100,101,99,111,100,101,95,117,116,102,49,54,95,98,101,144,1,22,116,115,95,112,97,114,115,101,114,95,95,115,101,108,101,99,116,95,116,114,101,101,145,1,32,116,115,95,112,97,114,115,101,114,95,95,98,101,116,116,101,114,95,118,101,114,115,105,111,110,95,101,120,105,115,116,115,146,1,33,97,110,97,108,121,115,105,115,95,115,116,97,116,101,95,115,101,116,95,95,105,110,115,101,114,116,95,115,111,114,116,101,100,147,1,35,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,112,114,101,112,97,114,101,95,116,111,95,99,97,112,116,117,114,101,148,1,7,116,115,95,105,110,105,116,149,1,18,116,115,95,112,97,114,115,101,114,95,110,101,119,95,119,97,115,109,150,1,28,116,115,95,112,97,114,115,101,114,95,101,110,97,98,108,101,95,108,111,103,103,101,114,95,119,97,115,109,151,1,17,99,97,108,108,95,108,111,103,95,99,97,108,108,98,97,99,107,152,1,20,116,115,95,112,97,114,115,101,114,95,112,97,114,115,101,95,119,97,115,109,153,1,19,99,97,108,108,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,154,1,17,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,155,1,30,116,115,95,112,97,114,115,101,114,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,156,1,30,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,157,1,32,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,118,105,115,105,98,108,101,95,119,97,115,109,158,1,27,116,115,95,108,97,110,103,117,97,103,101,95,115,117,112,101,114,116,121,112,101,115,95,119,97,115,109,159,1,25,116,115,95,108,97,110,103,117,97,103,101,95,115,117,98,116,121,112,101,115,95,119,97,115,109,160,1,22,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,97,115,109,161,1,34,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,105,116,104,95,111,102,102,115,101,116,95,119,97,115,109,162,1,17,116,115,95,116,114,101,101,95,101,100,105,116,95,119,97,115,109,163,1,28,116,115,95,116,114,101,101,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,164,1,31,116,115,95,116,114,101,101,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,95,119,97,115,109,165,1,23,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,95,119,97,115,109,166,1,24,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,111,112,121,95,119,97,115,109,167,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,100,101,108,101,116,101,95,119,97,115,109,168,1,25,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,119,97,115,109,169,1,28,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,116,111,95,119,97,115,109,170,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,119,97,115,109,171,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,119,97,115,109,172,1,46,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,173,1,49,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,174,1,37,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,175,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,114,101,118,105,111,117,115,95,115,105,98,108,105,110,103,95,119,97,115,109,176,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,177,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,95,119,97,115,109,178,1,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,116,121,112,101,95,105,100,95,119,97,115,109,179,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,115,116,97,116,101,95,105,100,95,119,97,115,109,180,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,181,1,43,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,182,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,100,95,119,97,115,109,183,1,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,112,111,115,105,116,105,111,110,95,119,97,115,109,184,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,112,111,115,105,116,105,111,110,95,119,97,115,109,185,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,186,1,29,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,187,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,95,119,97,115,109,188,1,33,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,112,116,104,95,119,97,115,109,189,1,44,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,115,99,101,110,100,97,110,116,95,105,110,100,101,120,95,119,97,115,109,190,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,119,97,115,109,191,1,19,116,115,95,110,111,100,101,95,115,121,109,98,111,108,95,119,97,115,109,192,1,33,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,99,104,105,108,100,95,119,97,115,109,193,1,39,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,194,1,33,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,195,1,33,116,115,95,110,111,100,101,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,196,1,39,116,115,95,110,111,100,101,95,102,105,114,115,116,95,110,97,109,101,100,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,197,1,27,116,115,95,110,111,100,101,95,103,114,97,109,109,97,114,95,115,121,109,98,111,108,95,119,97,115,109,198,1,24,116,115,95,110,111,100,101,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,199,1,30,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,200,1,18,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,97,115,109,201,1,24,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,202,1,30,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,203,1,25,116,115,95,110,111,100,101,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,204,1,25,116,115,95,110,111,100,101,95,112,114,101,118,95,115,105,98,108,105,110,103,95,119,97,115,109,205,1,31,116,115,95,110,111,100,101,95,110,101,120,116,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,206,1,31,116,115,95,110,111,100,101,95,112,114,101,118,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,207,1,29,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,99,111,117,110,116,95,119,97,115,109,208,1,19,116,115,95,110,111,100,101,95,112,97,114,101,110,116,95,119,97,115,109,209,1,34,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,210,1,33,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,211,1,39,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,212,1,36,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,213,1,42,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,214,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,112,111,105,110,116,95,119,97,115,109,215,1,22,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,95,119,97,115,109,216,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,217,1,22,116,115,95,110,111,100,101,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,218,1,22,116,115,95,110,111,100,101,95,116,111,95,115,116,114,105,110,103,95,119,97,115,109,219,1,21,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,119,97,115,109,220,1,27,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,114,101,110,95,119,97,115,109,221,1,32,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,115,95,111,102,95,116,121,112,101,95,119,97,115,109,222,1,21,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,223,1,24,116,115,95,110,111,100,101,95,104,97,115,95,99,104,97,110,103,101,115,95,119,97,115,109,224,1,22,116,115,95,110,111,100,101,95,104,97,115,95,101,114,114,111,114,95,119,97,115,109,225,1,21,116,115,95,110,111,100,101,95,105,115,95,101,114,114,111,114,95,119,97,115,109,226,1,23,116,115,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,227,1,21,116,115,95,110,111,100,101,95,105,115,95,101,120,116,114,97,95,119,97,115,109,228,1,24,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,229,1,29,116,115,95,110,111,100,101,95,110,101,120,116,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,230,1,21,116,115,95,113,117,101,114,121,95,109,97,116,99,104,101,115,95,119,97,115,109,231,1,23,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,232,1,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,115,95,119,97,115,109,233,1,13,95,95,115,116,100,105,111,95,99,108,111,115,101,234,1,12,95,95,115,116,100,105,111,95,115,101,101,107,235,1,13,95,95,115,116,100,105,111,95,119,114,105,116,101,236,1,5,97,98,111,114,116,237,1,15,95,95,99,108,111,99,107,95,103,101,116,116,105,109,101,238,1,8,95,95,109,101,109,115,101,116,239,1,9,95,95,116,111,119,114,105,116,101,240,1,10,95,95,111,118,101,114,102,108,111,119,241,1,7,100,111,95,112,117,116,99,242,1,8,95,95,109,101,109,99,112,121,243,1,9,95,95,102,119,114,105,116,101,120,244,1,6,102,119,114,105,116,101,245,1,8,105,115,119,97,108,110,117,109,246,1,8,105,115,119,97,108,112,104,97,247,1,8,105,115,119,115,112,97,99,101,248,1,6,109,101,109,99,109,112,249,1,8,115,110,112,114,105,110,116,102,250,1,6,115,116,114,108,101,110,251,1,7,115,116,114,110,99,109,112,252,1,6,109,101,109,99,104,114,253,1,5,102,114,101,120,112,254,1,11,112,114,105,110,116,102,95,99,111,114,101,255,1,3,111,117,116,128,2,6,103,101,116,105,110,116,129,2,7,112,111,112,95,97,114,103,130,2,5,102,109,116,95,117,131,2,3,112,97,100,132,2,6,102,109,116,95,102,112,133,2,19,112,111,112,95,97,114,103,95,108,111,110,103,95,100,111,117,98,108,101,134,2,9,118,115,110,112,114,105,110,116,102,135,2,8,115,110,95,119,114,105,116,101,136,2,6,119,99,116,111,109,98,137,2,8,100,108,109,97,108,108,111,99,138,2,6,100,108,102,114,101,101,139,2,9,100,108,114,101,97,108,108,111,99,140,2,13,100,105,115,112,111,115,101,95,99,104,117,110,107,141,2,8,100,108,99,97,108,108,111,99,142,2,4,115,98,114,107,143,2,8,115,101,116,84,104,114,101,119,144,2,8,116,111,119,108,111,119,101,114,145,2,7,99,97,115,101,109,97,112,146,2,8,116,111,119,117,112,112,101,114,147,2,8,105,115,119,100,105,103,105,116,148,2,25,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,114,101,115,116,111,114,101,149,2,23,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,97,108,108,111,99,150,2,28,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,103,101,116,95,99,117,114,114,101,110,116,151,2,8,105,115,119,108,111,119,101,114,152,2,8,105,115,119,98,108,97,110,107,153,2,7,115,116,114,110,99,97,116,154,2,8,105,115,119,117,112,112,101,114,155,2,7,109,101,109,109,111,118,101,156,2,7,115,116,114,110,99,112,121,157,2,9,105,115,119,120,100,105,103,105,116,158,2,6,115,116,114,99,109,112,7,201,2,12,0,15,95,95,115,116,97,99,107,95,112,111,105,110,116,101,114,1,13,95,95,109,101,109,111,114,121,95,98,97,115,101,2,12,95,95,116,97,98,108,101,95,98,97,115,101,3,11,95,95,104,101,97,112,95,98,97,115,101,4,36,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,114,101,97,108,108,111,99,5,35,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,109,97,108,108,111,99,6,33,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,102,114,101,101,7,35,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,99,97,108,108,111,99,8,24,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,115,116,100,101,114,114,9,33,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,84,82,65,78,83,70,69,82,95,66,85,70,70,69,82,10,27,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,95,95,84,72,82,69,87,95,95,11,30,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,95,95,116,104,114,101,119,86,97,108,117,101,9,8,1,0,5,46,100,97,116,97,0,39,16,115,111,117,114,99,101,77,97,112,112,105,110,103,85,82,76,21,46,116,114,101,101,45,115,105,116,116,101,114,46,119,97,115,109,46,109,97,112]),treeSitterJson=new Uint8Array([0,97,115,109,1,0,0,0,0,16,8,100,121,108,105,110,107,46,48,1,5,240,22,4,1,0,1,28,6,96,1,127,0,96,0,0,96,0,1,127,96,2,127,127,1,127,96,1,127,1,127,96,2,127,127,0,2,90,4,3,101,110,118,13,95,95,109,101,109,111,114,121,95,98,97,115,101,3,127,0,3,101,110,118,12,95,95,116,97,98,108,101,95,98,97,115,101,3,127,0,3,101,110,118,6,109,101,109,111,114,121,2,0,1,3,101,110,118,25,95,95,105,110,100,105,114,101,99,116,95,102,117,110,99,116,105,111,110,95,116,97,98,108,101,1,112,0,1,3,5,4,1,1,2,3,7,67,3,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,0,0,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,0,1,16,116,114,101,101,95,115,105,116,116,101,114,95,106,115,111,110,0,2,9,7,1,0,35,1,11,1,3,10,246,18,4,3,0,1,11,240,4,1,1,127,35,0,65,152,21,106,35,0,65,176,8,106,54,2,0,35,0,65,156,21,106,35,0,54,2,0,35,0,65,160,21,106,35,0,65,208,5,106,54,2,0,35,0,65,164,21,106,35,0,65,144,11,106,54,2,0,35,0,65,168,21,106,35,0,65,128,22,106,34,0,54,2,0,35,0,65,172,21,106,35,0,65,228,22,106,54,2,0,35,0,65,176,21,106,35,0,65,180,6,106,54,2,0,35,0,65,180,21,106,35,0,65,188,6,106,54,2,0,35,0,65,184,21,106,35,0,65,208,6,106,54,2,0,35,0,65,188,21,106,35,0,65,160,7,106,54,2,0,35,0,65,192,21,106,35,0,65,210,7,106,54,2,0,35,0,65,196,21,106,35,0,65,224,7,106,54,2,0,35,0,65,200,21,106,35,0,65,192,18,106,54,2,0,35,0,65,204,21,106,35,1,54,2,0,35,0,65,244,21,106,35,0,65,240,7,106,54,2,0,32,0,35,0,65,128,18,106,54,2,0,35,0,65,132,22,106,35,0,65,146,17,106,54,2,0,35,0,65,136,22,106,35,0,65,184,18,106,54,2,0,35,0,65,140,22,106,35,0,65,144,17,106,54,2,0,35,0,65,144,22,106,35,0,65,136,18,106,54,2,0,35,0,65,148,22,106,35,0,65,134,18,106,54,2,0,35,0,65,152,22,106,35,0,65,132,18,106,54,2,0,35,0,65,156,22,106,35,0,65,186,18,106,54,2,0,35,0,65,160,22,106,35,0,65,159,17,106,54,2,0,35,0,65,164,22,106,35,0,65,240,17,106,54,2,0,35,0,65,168,22,106,35,0,65,203,17,106,54,2,0,35,0,65,172,22,106,35,0,65,222,17,106,54,2,0,35,0,65,176,22,106,35,0,65,234,17,106,54,2,0,35,0,65,180,22,106,35,0,65,210,17,106,54,2,0,35,0,65,184,22,106,35,0,65,183,17,106,54,2,0,35,0,65,188,22,106,35,0,65,174,17,106,54,2,0,35,0,65,192,22,106,35,0,65,227,17,106,54,2,0,35,0,65,196,22,106,35,0,65,191,17,106,54,2,0,35,0,65,200,22,106,35,0,65,198,17,106,54,2,0,35,0,65,204,22,106,35,0,65,152,17,106,54,2,0,35,0,65,208,22,106,35,0,65,215,17,106,54,2,0,35,0,65,212,22,106,35,0,65,158,17,106,54,2,0,35,0,65,216,22,106,35,0,65,152,18,106,54,2,0,35,0,65,220,22,106,35,0,65,169,18,106,54,2,0,35,0,65,224,22,106,35,0,65,138,18,106,54,2,0,35,0,65,232,22,106,35,0,65,148,17,106,54,2,0,35,0,65,236,22,106,35,0,65,228,17,106,54,2,0,11,8,0,35,0,65,240,20,106,11,244,13,1,6,127,3,64,32,0,40,2,0,33,2,65,2,33,5,32,0,32,0,40,2,24,17,4,0,33,7,65,0,33,3,65,0,33,6,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,1,65,255,255,3,113,14,44,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,46,47,48,21,22,23,24,25,26,27,28,29,35,36,37,38,39,40,41,42,43,44,45,61,11,32,7,13,66,3,64,32,2,32,3,65,1,116,34,1,35,0,65,192,19,106,106,47,1,0,70,13,50,32,3,65,26,73,33,1,32,3,65,2,106,33,3,32,1,13,0,11,65,1,33,3,65,20,33,1,32,2,65,32,70,32,2,65,9,107,65,5,73,114,13,67,32,2,65,49,107,65,9,79,13,59,12,64,11,2,64,2,64,2,64,2,64,32,2,65,31,76,4,64,65,1,33,3,65,2,33,1,32,4,33,6,32,2,14,14,64,1,1,1,1,1,1,1,1,36,71,36,36,36,1,11,2,64,32,2,65,32,107,14,3,36,1,3,0,11,32,2,65,47,70,13,3,32,2,65,220,0,70,13,1,11,65,0,33,3,12,33,11,65,18,33,1,12,68,11,65,28,33,1,12,67,11,12,28,11,2,64,2,64,32,2,65,9,107,65,5,73,13,0,65,28,33,1,32,4,33,6,32,2,65,32,107,14,3,0,60,67,1,11,65,1,33,3,65,2,33,1,12,66,11,32,2,65,47,71,13,57,65,3,33,1,12,65,11,32,2,65,42,70,13,60,32,2,65,47,71,13,56,12,59,11,32,2,65,42,70,13,57,32,2,65,47,70,13,46,12,54,11,32,2,65,42,70,13,56,12,53,11,32,2,65,45,70,4,64,65,19,33,1,12,62,11,32,2,65,48,107,65,10,79,13,53,12,51,11,32,2,65,48,70,4,64,65,35,33,1,12,61,11,32,2,65,49,107,65,9,79,13,52,12,58,11,32,2,65,225,0,71,13,51,65,11,33,1,12,59,11,32,2,65,229,0,71,13,50,65,39,33,1,12,58,11,32,2,65,229,0,71,13,49,65,40,33,1,12,57,11,32,2,65,236,0,71,13,48,65,15,33,1,12,56,11,32,2,65,236,0,71,13,47,65,41,33,1,12,55,11,32,2,65,236,0,71,13,46,65,12,33,1,12,54,11,32,2,65,242,0,71,13,45,65,16,33,1,12,53,11,32,2,65,243,0,71,13,44,65,10,33,1,12,52,11,32,2,65,245,0,71,13,43,65,9,33,1,12,51,11,32,2,65,245,0,71,13,42,65,13,33,1,12,50,11,3,64,32,3,65,1,116,34,1,35,0,65,128,20,106,106,47,1,0,32,2,71,4,64,32,3,65,16,73,33,1,32,3,65,2,106,33,3,32,1,13,1,12,43,11,11,35,0,32,1,106,65,130,20,106,47,1,0,33,1,65,0,33,3,12,49,11,32,2,65,48,107,65,10,79,13,40,12,37,11,32,7,13,46,3,64,32,2,32,3,65,1,116,34,1,35,0,65,176,20,106,106,47,1,0,70,13,32,32,3,65,24,73,33,1,32,3,65,2,106,33,3,32,1,13,0,11,65,1,33,3,65,20,33,1,32,2,65,32,70,32,2,65,9,107,65,5,73,114,13,47,32,2,65,49,107,65,9,73,13,44,12,39,11,65,3,33,5,12,26,11,65,4,33,5,12,25,11,65,5,33,5,12,24,11,65,6,33,5,12,23,11,65,7,33,5,12,22,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,23,32,2,65,34,71,13,6,12,23,11,32,2,65,42,70,13,29,32,2,65,47,70,32,2,65,220,0,71,114,13,5,12,22,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,22,32,2,65,34,71,13,29,12,22,11,32,2,65,42,70,13,27,32,2,65,47,70,13,4,32,2,65,220,0,71,13,28,12,21,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,21,32,2,65,34,71,13,28,12,21,11,32,2,65,42,70,13,26,32,2,65,220,0,71,13,27,12,20,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,31,76,4,64,32,2,65,13,75,13,3,65,1,32,2,116,34,1,65,128,244,0,113,13,5,32,1,65,129,8,113,69,13,3,12,20,11,65,1,33,6,2,64,32,2,65,32,107,14,3,5,3,32,0,11,32,2,65,47,71,13,1,11,65,29,33,1,12,37,11,32,2,65,220,0,70,13,17,11,65,33,33,1,12,35,11,65,0,33,3,11,65,32,33,1,12,33,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,33,33,1,65,1,33,4,32,2,65,33,76,4,64,32,2,69,13,14,65,1,33,6,32,2,65,10,71,13,33,12,26,11,32,2,65,34,70,13,13,65,1,33,6,32,2,65,220,0,71,13,32,12,25,11,65,9,33,5,12,11,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,32,2,65,46,70,4,64,65,1,33,4,12,16,11,65,1,33,4,32,2,65,95,113,65,197,0,71,13,11,12,16,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,46,70,13,14,32,2,65,95,113,65,197,0,70,13,15,32,2,65,48,107,65,10,73,13,27,12,10,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,32,2,65,95,113,65,197,0,70,4,64,65,1,33,4,12,15,11,65,1,33,4,32,2,65,48,107,65,10,73,13,13,12,9,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,48,107,65,10,73,13,16,12,8,11,65,11,33,5,12,6,11,65,12,33,5,12,5,11,65,13,33,5,12,4,11,65,14,33,5,12,3,11,32,0,65,14,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,69,32,2,65,10,70,114,13,3,12,17,11,65,0,33,5,12,1,11,65,1,33,5,11,32,0,32,5,59,1,4,32,0,32,0,40,2,12,17,0,0,11,65,1,33,6,12,11,11,35,0,32,1,106,65,194,19,106,47,1,0,33,1,65,0,33,3,12,17,11,65,42,33,1,12,16,11,35,0,32,1,106,65,178,20,106,47,1,0,33,1,65,0,33,3,12,15,11,65,37,33,1,12,14,11,65,6,33,1,12,13,11,65,30,33,1,12,12,11,65,31,33,1,12,11,11,11,65,38,33,1,12,9,11,32,2,13,4,11,32,4,33,6,11,32,6,65,1,113,15,11,65,4,33,1,12,5,11,65,43,33,1,12,4,11,65,5,33,1,12,3,11,65,0,33,3,11,65,36,33,1,12,1,11,65,21,33,1,11,32,0,32,3,32,0,40,2,8,17,5,0,12,0,11,0,11,11,247,22,1,0,35,0,11,240,22,2,0,3,0,1,0,14,0,37,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,39,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,41,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,7,0,3,0,1,0,14,0,7,0,1,0,1,0,9,0,1,0,5,0,11,0,1,0,7,0,29,0,1,0,16,0,8,0,3,0,17,0,19,0,20,0,13,0,4,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,43,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,45,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,7,0,3,0,1,0,14,0,7,0,1,0,1,0,9,0,1,0,5,0,11,0,1,0,7,0,28,0,1,0,16,0,8,0,3,0,17,0,19,0,20,0,13,0,4,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,47,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,49,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,5,0,3,0,1,0,14,0,11,0,1,0,7,0,51,0,1,0,3,0,20,0,1,0,18,0,31,0,1,0,20,0,4,0,53,0,1,0,7,0,57,0,1,0,14,0,18,0,1,0,21,0,55,0,2,0,8,0,9,0,4,0,57,0,1,0,14,0,59,0,1,0,7,0,19,0,1,0,21,0,61,0,2,0,8,0,9,0,4,0,57,0,1,0,14,0,63,0,1,0,7,0,19,0,1,0,21,0,65,0,2,0,8,0,9,0,4,0,3,0,1,0,14,0,68,0,1,0,2,0,70,0,1,0,3,0,22,0,1,0,23,0,4,0,3,0,1,0,14,0,72,0,1,0,2,0,74,0,1,0,6,0,24,0,1,0,24,0,4,0,3,0,1,0,14,0,68,0,1,0,2,0,76,0,1,0,3,0,25,0,1,0,23,0,4,0,3,0,1,0,14,0,11,0,1,0,7,0,27,0,1,0,18,0,31,0,1,0,20,0,4,0,3,0,1,0,14,0,72,0,1,0,2,0,78,0,1,0,6,0,26,0,1,0,24,0,4,0,3,0,1,0,14,0,80,0,1,0,2,0,83,0,1,0,3,0,25,0,1,0,23,0,4,0,3,0,1,0,14,0,85,0,1,0,2,0,88,0,1,0,6,0,26,0,1,0,24,0,2,0,3,0,1,0,14,0,83,0,2,0,2,0,3,0,2,0,3,0,1,0,14,0,90,0,2,0,2,0,3,0,2,0,3,0,1,0,14,0,88,0,2,0,2,0,6,0,2,0,3,0,1,0,14,0,92,0,1,0,0,0,2,0,3,0,1,0,14,0,94,0,1,0,4,0,0,0,0,0,17,0,0,0,34,0,0,0,51,0,0,0,78,0,0,0,95,0,0,0,112,0,0,0,139,0,0,0,156,0,0,0,173,0,0,0,189,0,0,0,203,0,0,0,217,0,0,0,231,0,0,0,244,0,0,0,1,1,0,0,14,1,0,0,27,1,0,0,40,1,0,0,53,1,0,0,66,1,0,0,74,1,0,0,82,1,0,0,90,1,0,0,97,1,0,0,0,0,0,0,0,0,2,0,1,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,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,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,30,0,2,0,8,0,0,0,8,0,8,0,0,0,2,0,0,0,0,0,15,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,0,0,3,0,8,0,0,0,8,0,8,0,0,0,3,0,0,0,0,0,17,0,19,0,0,0,0,0,0,0,22,0,0,0,25,0,0,0,0,0,28,0,28,0,28,0,28,0,3,0,0,0,3,0,8,0,0,0,8,0,8,0,0,0,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,31,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,0,0,21,0,8,0,0,0,8,0,8,0,0,0,0,0,0,0,0,0,33,0,33,0,33,0,33,0,33,0,33,0,33,0,33,0,0,0,0,0,33,0,33,0,33,0,33,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,0,0,0,0,35,0,35,0,35,0,35,0,3,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,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,15,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,16,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,17,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,8,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,15,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,16,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,4,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,17,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,8,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,9,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,20,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,20,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,16,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,19,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,4,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,19,0,0,0,0,0,1,1,0,0,0,0,0,0,1,4,19,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,18,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,19,0,0,0,0,0,1,0,0,0,0,0,0,0,1,2,21,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,21,0,0,0,0,0,0,0,19,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,23,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,11,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,10,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,14,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,12,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,15,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,23,0,0,0,0,0,0,0,23,0,0,1,0,0,1,1,0,0,0,0,0,0,1,2,23,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,24,0,0,0,0,0,0,0,10,0,0,1,0,0,1,1,0,0,0,0,0,0,1,2,24,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,18,0,0,0,1,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,13,0,0,0,0,0,125,0,123,0,107,101,121,0,97,114,114,97,121,0,95,115,116,114,105,110,103,95,99,111,110,116,101,110,116,0,100,111,99,117,109,101,110,116,0,99,111,109,109,101,110,116,0,111,98,106,101,99,116,0,112,97,105,114,0,110,117,109,98,101,114,0,110,117,108,108,0,115,116,114,105,110,103,0,116,114,117,101,0,95,118,97,108,117,101,0,102,97,108,115,101,0,101,115,99,97,112,101,95,115,101,113,117,101,110,99,101,0,101,110,100,0,93,0,91,0,58,0,97,114,114,97,121,95,114,101,112,101,97,116,49,0,100,111,99,117,109,101,110,116,95,114,101,112,101,97,116,49,0,111,98,106,101,99,116,95,114,101,112,101,97,116,49,0,44,0,34,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,1,0,0,0,1,0,0,0,1,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,34,0,28,0,44,0,23,0,45,0,7,0,47,0,3,0,48,0,35,0,58,0,25,0,91,0,26,0,92,0,18,0,93,0,27,0,102,0,8,0,110,0,17,0,116,0,14,0,123,0,22,0,125,0,24,0,0,0,0,0,0,0,0,0,34,0,34,0,47,0,34,0,92,0,34,0,98,0,34,0,102,0,34,0,110,0,34,0,114,0,34,0,116,0,34,0,117,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,28,0,44,0,23,0,45,0,7,0,47,0,3,0,48,0,35,0,58,0,25,0,91,0,26,0,93,0,27,0,102,0,8,0,110,0,17,0,116,0,14,0,123,0,22,0,125,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,25,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,32,0,0,0,7,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,48,4,0,0,0,0,0,0,208,2,0,0,144,5,0,0,0,11,0,0,100,11,0,0,52,3,0,0,60,3,0,0,80,3,0,0,160,3,0,0,210,3,0,0,224,3,0,0,64,9,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,240,3,0,0,0,0,0,0,0,0,0,0,0,9,0,0,146,8,0,0,56,9,0,0,144,8,0,0,8,9,0,0,6,9,0,0,4,9,0,0,58,9,0,0,159,8,0,0,240,8,0,0,203,8,0,0,222,8,0,0,234,8,0,0,210,8,0,0,183,8,0,0,174,8,0,0,227,8,0,0,191,8,0,0,198,8,0,0,152,8,0,0,215,8,0,0,158,8,0,0,24,9,0,0,41,9,0,0,10,9,0,0,0,0,0,0,148,8,0,0,228,8,0,0]);let parser=null,parserInitLock=null;const analyze=async e=>{if(null===parser&&null===parserInitLock)parserInitLock=tree_sitter.iX.init({wasmBinary:treeSitter}).then(()=>tree_sitter.TM.load(treeSitterJson)).then(e=>{const t=new tree_sitter.iX;return t.setLanguage(e),t}).finally(()=>{parserInitLock=null}),parser=await parserInitLock;else if(null===parser&&null!==parserInitLock)parser=await parserInitLock;else if(null===parser)throw new src_ApiDOMError("Error while initializing web-tree-sitter and loading tree-sitter-json grammar.");return parser.parse(e)},lexical_analysis=analyze;class AnnotationElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="annotation"}get code(){if(this.hasAttributesProperty("code"))return this.attributes.get("code")}set code(e){this.attributes.set("code",e)}}const Annotation=AnnotationElement,getCursorInfo=e=>({type:e.nodeType,startPosition:e.startPosition,endPosition:e.endPosition,startIndex:e.startIndex,endIndex:e.endIndex,text:e.nodeText,isNamed:e.nodeIsNamed,isMissing:e.nodeIsMissing,hasError:e.currentNode.hasError,fieldName:e.currentFieldName}),maybeAddSourceMap=(e,t,s)=>{s.sourceMap&&(t.startLine=e.startPosition.row,t.startCharacter=e.startPosition.column,t.startOffset=e.startIndex,t.endLine=e.endPosition.row,t.endCharacter=e.endPosition.column,t.endOffset=e.endIndex)},transform=(e,t,s)=>{const r=getCursorInfo(e);if(!r.isNamed&&r.isMissing){const e=r.type||r.text,t=new Annotation(`(Missing ${e})`);return t.classes.push("warning"),maybeAddSourceMap(r,t,s),s.annotations.push(t),null}const i=t[r.type];return i?i(e,s):null},transformChildren=(e,t,s)=>{const r=[];if(e.gotoFirstChild()){do{const i=transform(e,t,s);null!==i&&r.push(i)}while(e.gotoNextSibling());e.gotoParent()}return r},createTransformers=e=>({document(t,s){const r=getCursorInfo(t),i=new ParseResult;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);const o=i.findElements(isPrimitiveElement);o.length>0&&o[0].classes.push("result");for(const e of s.annotations)i.push(e);return s.annotations=[],i},object(t,s){const r=getCursorInfo(t),i=new primitives_ObjectElement;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);return i},array(t,s){const r=getCursorInfo(t),i=new primitives_ArrayElement;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);return i},pair(t,s){const r=getCursorInfo(t);let i=null,n=null;if(t.gotoFirstChild()){do{const r=t.currentFieldName;"key"===r?i=transform(t,e,s):"value"===r?n=transform(t,e,s):"ERROR"===t.nodeType&&transform(t,e,s)}while(t.gotoNextSibling());t.gotoParent()}const o=new primitives_MemberElement(i??new primitives_StringElement(""),n??new primitives_StringElement(""));return maybeAddSourceMap(r,o,s),o},string(e,t){const s=getCursorInfo(e);let r;try{r=new primitives_StringElement(JSON.parse(s.text))}catch(e){r=new primitives_StringElement(s.text),e instanceof Error&&r.meta.set("jsonParse",{isError:!0,errorType:e.name,errorMessage:e.message})}return maybeAddSourceMap(s,r,t),r},number(e,t){const s=getCursorInfo(e),r=new primitives_NumberElement(Number(s.text));return maybeAddSourceMap(s,r,t),r},null(e,t){const s=getCursorInfo(e),r=new primitives_NullElement;return maybeAddSourceMap(s,r,t),r},true(e,t){const s=getCursorInfo(e),r=new primitives_BooleanElement(!0);return maybeAddSourceMap(s,r,t),r},false(e,t){const s=getCursorInfo(e),r=new primitives_BooleanElement(!1);return maybeAddSourceMap(s,r,t),r},ERROR(e,t){const s=getCursorInfo(e),r=!s.hasError?`(Unexpected ${s.text})`:`(Error ${s.text})`,i=new Annotation(r);return i.classes.push("error"),maybeAddSourceMap(s,i,t),t.annotations.push(i),null}}),transformers={};Object.assign(transformers,createTransformers(transformers));const syntactic_analysis_analyze=(e,{sourceMap:t=!1}={})=>{const s=e.walk(),r={sourceMap:t,annotations:[]},i=transform(s,transformers,r);if(null===i){const e=new ParseResult;for(const t of r.annotations)e.push(t);return e}return i},syntactic_analysis=syntactic_analysis_analyze,detectionRegExp=/(?<true>^\s*true\s*$)|(?<false>^\s*false\s*$)|(?<null>^\s*null\s*$)|(?<number>^\s*\d+\s*$)|(?<object>^\s*{\s*)|(?<array>^\s*\[\s*)|(?<string>^\s*"(((?=\\)\\(["\\/bfnrt]|u[0-9a-fA-F]{4}))|[^"\\\x00-\x1F\x7F])*"\s*$)/,tree_sitter_detect=async e=>{if(!detectionRegExp.test(e))return!1;let t=null;try{return t=await lexical_analysis(e),"ERROR"!==t.rootNode.type}catch{return!1}finally{t?.delete()}},tree_sitter_parse=async(e,{sourceMap:t=!1}={})=>{const s=await lexical_analysis(e);try{return syntactic_analysis(s,{sourceMap:t})}finally{s.delete()}},namespace=new src_Namespace,adapter_detectionRegExp=detectionRegExp,adapter_detect=async(e,{strict:t=!1}={})=>t?detect(e):tree_sitter_detect(e),adapter_parse=async(e,{sourceMap:t=!1,strict:s=!1}={})=>{if(s&&t)throw new src_ApiDOMError("Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.");return s?native_parse(e):tree_sitter_parse(e,{sourceMap:t})};var mapObjIndexed=_curry2(function(e,t){return _arrayReduce(function(s,r){return s[r]=e(t[r],r,t),s},{},es_keys(t))});const es_mapObjIndexed=mapObjIndexed;var isNil=_curry1(function(e){return null==e});const es_isNil=isNil;var hasPath=_curry2(function(e,t){if(0===e.length||es_isNil(t))return!1;for(var s=t,r=0;r<e.length;){if(es_isNil(s)||!_has(e[r],s))return!1;s=s[e[r]],r+=1}return!0});const es_hasPath=hasPath;var has=_curry2(function(e,t){return es_hasPath([e],t)});const es_has=has;var propSatisfies=_curry3(function(e,t,s){return e(es_prop(t,s))});const es_propSatisfies=propSatisfies;function _path(e,t){for(var s=t,r=0;r<e.length;r+=1){if(null==s)return;var i=e[r];s=_isInteger(i)?_nth(i,s):s[i]}return s}var path=_curry2(_path);const es_path=path;function _pipe(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function _xArrayReduce(e,t,s){for(var r=0,i=s.length;r<i;){if((t=e["@@transducer/step"](t,s[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}var bind=_curry2(function(e,t){return _arity(e.length,function(){return e.apply(t,arguments)})});const es_bind=bind;function _xIterableReduce(e,t,s){for(var r=s.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=s.next()}return e["@@transducer/result"](t)}function _xMethodReduce(e,t,s,r){return e["@@transducer/result"](s[r](es_bind(e["@@transducer/step"],e),t))}var _xReduce=_createReduce(_xArrayReduce,_xMethodReduce,_xIterableReduce);const internal_xReduce=_xReduce;var XWrap=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function _xwrap(e){return new XWrap(e)}var reduce=_curry3(function(e,t,s){return internal_xReduce("function"==typeof e?_xwrap(e):e,t,s)});const es_reduce=reduce;function _checkForMethod(e,t){return function(){var s=arguments.length;if(0===s)return t();var r=arguments[s-1];return _isArray(r)||"function"!=typeof r[e]?t.apply(this,arguments):r[e].apply(r,Array.prototype.slice.call(arguments,0,s-1))}}var slice=_curry3(_checkForMethod("slice",function(e,t,s){return Array.prototype.slice.call(s,e,t)}));const es_slice=slice;var tail=_curry1(_checkForMethod("tail",es_slice(1,1/0)));const es_tail=tail;function pipe(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return _arity(arguments[0].length,es_reduce(_pipe,arguments[0],es_tail(arguments)))}var identical=function(e,t){switch(arguments.length){case 0:return identical;case 1:return function t(s){return 0===arguments.length?t:internal_objectIs(e,s)};default:return internal_objectIs(e,t)}};const es_identical=identical;function _indexOf(e,t,s){var r,i;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;s<e.length;){if(0===(i=e[s])&&1/i===r)return s;s+=1}return-1}if(t!=t){for(;s<e.length;){if("number"==typeof(i=e[s])&&i!=i)return s;s+=1}return-1}return e.indexOf(t,s);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,s);case"object":if(null===t)return e.indexOf(t,s)}for(;s<e.length;){if(es_equals(e[s],t))return s;s+=1}return-1}function _includes(e,t){return _indexOf(t,e,0)>=0}function _quote(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var pad=function(e){return(e<10?"0":"")+e},_toISOString="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+pad(e.getUTCMonth()+1)+"-"+pad(e.getUTCDate())+"T"+pad(e.getUTCHours())+":"+pad(e.getUTCMinutes())+":"+pad(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};const internal_toISOString=_toISOString;function _complement(e){return function(){return!e.apply(this,arguments)}}function _filter(e,t){for(var s=0,r=t.length,i=[];s<r;)e(t[s])&&(i[i.length]=t[s]),s+=1;return i}function _filterMap(e,t){for(var s=new Map,r=t.entries(),i=r.next();!i.done;)e(i.value[1])&&s.set(i.value[0],i.value[1]),i=r.next();return s}function _isMap(e){return"[object Map]"===Object.prototype.toString.call(e)}function _isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}var XFilter=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function _xfilter(e){return function(t){return new XFilter(e,t)}}var filter=_curry2(_dispatchable(["fantasy-land/filter","filter"],_xfilter,function(e,t){return _isObject(t)?_arrayReduce(function(s,r){return e(t[r])&&(s[r]=t[r]),s},{},es_keys(t)):_isMap(t)?_filterMap(e,t):_filter(e,t)}));const es_filter=filter;var reject=_curry2(function(e,t){return es_filter(_complement(e),t)});const es_reject=reject;function _toString(e,t){var s=function(s){var r=t.concat([e]);return _includes(s,r)?"<Circular>":_toString(s,r)},r=function(e,t){return _map(function(t){return _quote(t)+": "+s(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+_map(s,e).join(", ")+"))";case"[object Array]":return"["+_map(s,e).concat(r(e,es_reject(function(e){return/^\d+$/.test(e)},es_keys(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+s(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?s(NaN):_quote(internal_toISOString(e)))+")";case"[object Map]":return"new Map("+s(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+s(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+s(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+s(e.valueOf())+")":_quote(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var i=e.toString();if("[object Object]"!==i)return i}return"{"+r(e,es_keys(e)).join(", ")+"}"}}var toString_toString=_curry1(function(e){return _toString(e,[])});const es_toString=toString_toString;var pathSatisfies=_curry3(function(e,t,s){return e(_path(t,s))});const es_pathSatisfies=pathSatisfies;function _isFunction(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}var and=_curry2(function(e,t){return e&&t});const es_and=and;var both=_curry2(function(e,t){return _isFunction(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:es_lift(es_and)(e,t)});const es_both=both;var isNull_isNull=es_equals(null);const es_isNull=isNull_isNull;var isNotNull=es_complement(es_isNull);const es_isNotNull=isNotNull;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}var isOfTypeObject=function(e){return"object"===_typeof(e)};const internal_isOfTypeObject=isOfTypeObject;var isObjLike=es_curryN(1,es_both(es_isNotNull,internal_isOfTypeObject));const es_isObjLike=isObjLike;var max=_curry2(function(e,t){if(e===t)return t;function s(e,t){if(e>t!=t>e)return t>e?t:e}var r=s(e,t);if(void 0!==r)return r;var i=s(typeof e,typeof t);if(void 0!==i)return i===typeof e?e:t;var n=es_toString(e),o=s(n,es_toString(t));return void 0!==o&&o===n?e:t});const es_max=max;var pluck=_curry2(function(e,t){return es_map(es_prop(e),t)});const es_pluck=pluck;var anyPass=_curry1(function(e){return es_curryN(es_reduce(es_max,0,es_pluck("length",e)),function(){for(var t=0,s=e.length;t<s;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});const es_anyPass=anyPass;var isGeneratorFunction=es_curryN(1,pipe(es_type,es_identical("GeneratorFunction")));const es_isGeneratorFunction=isGeneratorFunction;var isAsyncFunction=es_curryN(1,pipe(es_type,es_identical("AsyncFunction")));const es_isAsyncFunction=isAsyncFunction;var isFunction=es_anyPass([pipe(es_type,es_identical("Function")),es_isGeneratorFunction,es_isAsyncFunction]);const es_isFunction=isFunction;var isPlainObj_isObject=pipe(es_type,es_identical("Object")),isObjectConstructor=pipe(es_toString,es_equals(es_toString(Object))),hasObjectConstructor=es_pathSatisfies(es_both(es_isFunction,isObjectConstructor),["constructor"]),isPlainObj=es_curryN(1,function(e){if(!es_isObjLike(e)||!isPlainObj_isObject(e))return!1;var t=Object.getPrototypeOf(e);return!!es_isNull(t)||hasObjectConstructor(t)});const es_isPlainObj=isPlainObj;var isString_isString=es_curryN(1,pipe(es_type,es_identical("String")));const es_isString=isString_isString;var curry=_curry1(function(e){return es_curryN(e.length,e)});const es_curry=curry;var invoker=_curry2(function(e,t){return es_curryN(e+1,function(){var s=arguments[e];if(null!=s&&_isFunction(s[t]))return s[t].apply(s,Array.prototype.slice.call(arguments,0,e));throw new TypeError(es_toString(s)+' does not have a method named "'+t+'"')})});const es_invoker=invoker;var split=es_invoker(1,"split");const es_split=split;var XDropWhile=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){if(this.f){if(this.f(t))return e;this.f=null}return this.xf["@@transducer/step"](e,t)},e}();function _xdropWhile(e){return function(t){return new XDropWhile(e,t)}}var dropWhile=_curry2(_dispatchable(["dropWhile"],_xdropWhile,function(e,t){for(var s=0,r=t.length;s<r&&e(t[s]);)s+=1;return es_slice(s,1/0,t)}));const es_dropWhile=dropWhile;var join=es_invoker(1,"join");const es_join=join;var flip=_curry1(function(e){return es_curryN(e.length,function(t,s){var r=Array.prototype.slice.call(arguments,0);return r[0]=s,r[1]=t,e.apply(this,r)})});const es_flip=flip;var includes=_curry2(_includes);const es_includes=includes;var included=es_flip(es_includes);const es_included=included;var trimCharsStart=es_curry(function(e,t){return pipe(es_split(""),es_dropWhile(es_included(e)),es_join(""))(t)});const es_trimCharsStart=trimCharsStart,specCache=new WeakMap,resolveSpecification=e=>{if(specCache.has(e))return specCache.get(e);const t={},s=(e,r,i)=>("string"==typeof e.element&&(t[e.element]=e.$visitor?[...i,"$visitor"]:i),es_mapObjIndexed((e,t)=>{const n=[...i,t];if(es_isPlainObj(e)&&es_has("$ref",e)&&es_propSatisfies(es_isString,"$ref",e)){const t=es_path(["$ref"],e),s=es_trimCharsStart("#/",t);return es_path(s.split("/"),r)}return es_isPlainObj(e)?s(e,r,n):e},e)),r=s(e,e,[]);return r.elementMap=t,specCache.set(e,r),r};class Path{node;key;index;parent;parentPath;inList;#e=!1;#t=!1;#s=!1;#r=!1;#i;#n=!1;constructor(e,t,s,r,i){this.node=e,this.parent=t,this.parentPath=s,this.key=r,this.index=i&&"number"==typeof r?r:void 0,this.inList=i}get shouldSkip(){return this.#e}get shouldStop(){return this.#t}get removed(){return this.#s}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#e=!0}stop(){this.#t=!0}replaceWith(e){this.#n&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#r=!0,this.#i=e,this.node=e}remove(){this.#n&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#s=!0}_getReplacementNode(){return this.#i}_wasReplaced(){return this.#r}_reset(){this.#e=!1,this.#t=!1,this.#s=!1,this.#r=!1,this.#i=void 0}_markStale(){this.#n=!0}}class ApiDOMStructuredError extends src_ApiDOMError{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...s}=t;Object.assign(this,s)}}}const src_ApiDOMStructuredError=ApiDOMStructuredError;var or=_curry2(function(e,t){return e||t});const es_or=or;var either=_curry2(function(e,t){return _isFunction(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:es_lift(es_or)(e,t)});const es_either=either;var isObj=es_curryN(1,es_both(es_isNotNull,es_either(internal_isOfTypeObject,es_isFunction)));const es_isObj=isObj;var isPromise=es_curryN(1,es_both(es_isObj,pipe(es_toString,es_equals("[object Promise]"))));const es_isPromise=isPromise;class CloneError extends src_ApiDOMStructuredError{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}}const errors_CloneError=CloneError;class DeepCloneError extends errors_CloneError{}const errors_DeepCloneError=DeepCloneError;class ShallowCloneError extends errors_CloneError{}const errors_ShallowCloneError=ShallowCloneError,cloneDeepElement=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const i=cloneShallowElement(e);s.set(e,i);const{content:n}=e;return Array.isArray(n)?i.content=n.map(e=>cloneDeepElement(e,r)):isElement(n)?i.content=cloneDeepElement(n,r):i.content=n instanceof src_KeyValuePair?cloneDeepKeyValuePair(n,r):n,i},cloneDeepKeyValuePair=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const{key:i,value:n}=e,o=void 0!==i?cloneDeepElement(i,r):void 0,a=void 0!==n?cloneDeepElement(n,r):void 0,c=new src_KeyValuePair(o,a);return s.set(e,c),c},cloneDeepObjectSlice=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const i=[...e].map(e=>cloneDeepElement(e,r)),n=new src_ObjectSlice(i);return s.set(e,n),n},cloneDeep=(e,t={})=>{if(e instanceof src_KeyValuePair)return cloneDeepKeyValuePair(e,t);if(e instanceof src_ObjectSlice)return cloneDeepObjectSlice(e,t);if(isElement(e))return cloneDeepElement(e,t);throw new errors_DeepCloneError("Value provided to cloneDeep function couldn't be cloned",{value:e})};cloneDeep.safe=e=>{try{return cloneDeep(e)}catch{return e}};const cloneShallowKeyValuePair=e=>{const{key:t,value:s}=e;return new src_KeyValuePair(t,s)},cloneShallowObjectSlice=e=>{const t=[...e];return new src_ObjectSlice(t)},cloneShallowElement=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=cloneDeep(e.meta)),e.isAttributesEmpty||(t.attributes=cloneDeep(e.attributes)),hasElementSourceMap(e)&&SourceMap.transfer(e,t);const{content:s}=e;return isElement(s)?t.content=cloneShallowElement(s):Array.isArray(s)?t.content=[...s]:t.content=s instanceof src_KeyValuePair?cloneShallowKeyValuePair(s):s,t},cloneShallow=e=>{if(e instanceof src_KeyValuePair)return cloneShallowKeyValuePair(e);if(e instanceof src_ObjectSlice)return cloneShallowObjectSlice(e);if(isElement(e))return cloneShallowElement(e);throw new errors_ShallowCloneError("Value provided to cloneShallow function couldn't be cloned",{value:e})};cloneShallow.safe=e=>{try{return cloneShallow(e)}catch{return e}};const getNodeType=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},getNodePrimitiveType=e=>{const t=e.primitive();return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},isNode=e=>isElement(e),cloneNode=e=>cloneShallow(e),mutateNode=(e,t,s)=>{isMemberElement(e)?e.value=s:Array.isArray(e)?e[t]=null===s?void 0:s:null===s?delete e[t]:e[t]=s},getNodeKeys=e=>isMemberElement(e)?["key","value"]:isArrayElement(e)||isObjectElement(e)?["content"]:[],lookup=(e,t)=>{if(void 0!==e[t])return e[t];const s=t.length;for(const r in e){if(!r.includes("|"))continue;const i=r.indexOf(t);if(-1===i)continue;const n=0===i||"|"===r[i-1],o=i+s===r.length||"|"===r[i+s];if(n&&o)return e[r]}},getVisitFn=(e,t,s)=>{if(void 0===t)return null;const r=e,i=s?"leave":"enter",n=lookup(r,t);if(!s&&"function"==typeof n)return n;if(null!=n){const e=n[i];if("function"==typeof e)return e}const o=r[i];if("function"==typeof o)return o;if(null!=o){const e=lookup(o,t);if("function"==typeof e)return e}return null},mergeVisitors=(e,t={})=>{const{visitFnGetter:s=getVisitFn,nodeTypeGetter:r=getNodeType,exposeEdits:i=!1}=t,n=Symbol("internal-skip"),o=Symbol("break"),a=new Array(e.length).fill(n);return{enter(t){let c=t.node,l=!1;for(let _=0;_<e.length;_+=1)if(a[_]===n){const n=s(e[_],r(c),!1);if("function"==typeof n){const s=createPathProxy(t,c),r=n.call(e[_],s);if(es_isPromise(r))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:e[_],visitFn:n});if(s.shouldStop){a[_]=o;break}if(s.shouldSkip&&(a[_]=c),s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();if(!i)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==r){if(!i)return t.replaceWith(r),r;c=r,l=!0}}}if(l)return t.replaceWith(c),c},leave(t){const i=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===n){const n=s(e[c],r(i),!0);if("function"==typeof n){const s=createPathProxy(t,i),r=n.call(e[c],s);if(es_isPromise(r))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:e[c],visitFn:n});if(s.shouldStop){a[c]=o;break}if(s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else a[c]===i&&(a[c]=n)}}},mergeVisitorsAsync=(e,t={})=>{const{visitFnGetter:s=getVisitFn,nodeTypeGetter:r=getNodeType,exposeEdits:i=!1}=t,n=Symbol("internal-skip"),o=Symbol("break"),a=new Array(e.length).fill(n);return{async enter(t){let c=t.node,l=!1;for(let _=0;_<e.length;_+=1)if(a[_]===n){const n=s(e[_],r(c),!1);if("function"==typeof n){const s=createPathProxy(t,c),r=await n.call(e[_],s);if(s.shouldStop){a[_]=o;break}if(s.shouldSkip&&(a[_]=c),s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();if(!i)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==r){if(!i)return t.replaceWith(r),r;c=r,l=!0}}}if(l)return t.replaceWith(c),c},async leave(t){const i=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===n){const n=s(e[c],r(i),!0);if("function"==typeof n){const s=createPathProxy(t,i),r=await n.call(e[c],s);if(s.shouldStop){a[c]=o;break}if(s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else a[c]===i&&(a[c]=n)}}};function createPathProxy(e,t){return new Path(t,e.parent,e.parentPath,e.key,e.inList)}function*traverseGenerator(e,t,s){const{keyMap:r,state:i,nodeTypeGetter:n,nodePredicate:o,nodeCloneFn:a,detectCycles:c,mutable:l,mutationFn:_}=s,m="function"==typeof r;let u,p,d=Array.isArray(e),h=[e],f=-1,g=[],y=e,v=null,E=null;const b=[];do{f+=1;const e=f===h.length;let s;const S=e&&0!==g.length;if(e){if(s=0===b.length?void 0:v?.key,y=p,p=b.pop(),E=v?.parentPath?.parentPath??null,S)if(l)for(const[e,t]of g)_(y,e,t);else if(d){y=y.slice();let e=0;for(const[t,s]of g){const r=t-e;null===s?(y.splice(r,1),e+=1):y[r]=s}}else{y=a(y);for(const[e,t]of g)y[e]=t}if(void 0!==u){f=u.index,h=u.keys,g=u.edits;const e=u.inArray;if(E=u.parentPath,u=u.prev,S&&!l){const t=e?f:h[f];g.push([t,y])}d=e}}else if(void 0!==p&&(s=d?f:h[f],y=p[s],void 0===y))continue;if(!Array.isArray(y)){if(!o(y))throw new src_ApiDOMStructuredError(`Invalid AST Node: ${String(y)}`,{node:y});if(c&&b.includes(y))continue;v=new Path(y,p,E,s,d);const r=getVisitFn(t,n(y),e);if(r){for(const[e,s]of Object.entries(i))t[e]=s;const n=yield{visitFn:r,path:v,isLeaving:e};if(v.shouldStop)break;if(v.shouldSkip&&!e)continue;if(v.removed){if(g.push([s,null]),!e)continue}else if(v._wasReplaced()){const t=v._getReplacementNode();if(g.push([s,t]),!e){if(!o(t))continue;y=t}}else if(void 0!==n&&(g.push([s,n]),!e)){if(!o(n))continue;y=n}v._markStale()}}if(!e){if(u={inArray:d,index:f,keys:h,edits:g,parentPath:E,prev:u},d=Array.isArray(y),d)h=y;else if(m)h=r(y);else{const e=n(y);h=void 0!==e?r[e]??[]:[]}f=-1,g=[],void 0!==p&&b.push(p),p=y,E=v}}while(void 0!==u);return 0!==g.length?g.at(-1)[1]:e}mergeVisitors[Symbol.for("nodejs.util.promisify.custom")]=mergeVisitorsAsync;const traverse=(e,t,s={})=>{const r=traverseGenerator(e,t,{keyMap:s.keyMap??getNodeKeys,state:s.state??{},nodeTypeGetter:s.nodeTypeGetter??getNodeType,nodePredicate:s.nodePredicate??isNode,nodeCloneFn:s.nodeCloneFn??cloneNode,detectCycles:s.detectCycles??!0,mutable:s.mutable??!1,mutationFn:s.mutationFn??mutateNode});let i=r.next();for(;!i.done;){const e=i.value,s=e.visitFn.call(t,e.path);if(es_isPromise(s))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});i=r.next(s)}return i.value},traverseAsync=async(e,t,s={})=>{const r=traverseGenerator(e,t,{keyMap:s.keyMap??getNodeKeys,state:s.state??{},nodeTypeGetter:s.nodeTypeGetter??getNodeType,nodePredicate:s.nodePredicate??isNode,nodeCloneFn:s.nodeCloneFn??cloneNode,detectCycles:s.detectCycles??!0,mutable:s.mutable??!1,mutationFn:s.mutationFn??mutateNode});let i=r.next();for(;!i.done;){const e=i.value,s=await e.visitFn.call(t,e.path);i=r.next(s)}return i.value};traverse[Symbol.for("nodejs.util.promisify.custom")]=traverseAsync,Path.prototype.traverse=function(e,t){return traverse(this.node,e,t)},Path.prototype.traverseAsync=function(e,t){return traverseAsync(this.node,e,t)};var mergeWithKey=_curry3(function(e,t,s){var r,i={};for(r in s=s||{},t=t||{})_has(r,t)&&(i[r]=_has(r,s)?e(r,t[r],s[r]):t[r]);for(r in s)_has(r,s)&&!_has(r,i)&&(i[r]=s[r]);return i});const es_mergeWithKey=mergeWithKey;var mergeDeepWithKey=_curry3(function e(t,s,r){return es_mergeWithKey(function(s,r,i){return _isObject(r)&&_isObject(i)?e(t,r,i):t(s,r,i)},s,r)});const es_mergeDeepWithKey=mergeDeepWithKey;var mergeDeepRight=_curry2(function(e,t){return es_mergeDeepWithKey(function(e,t,s){return s},e,t)});const es_mergeDeepRight=mergeDeepRight;var init=es_slice(0,-1);const es_init=init;var apply=_curry2(function(e,t){return e.apply(this,t)});const es_apply=apply;var isNotFunction=es_complement(es_isFunction);const es_isNotFunction=isNotFunction;function _isTypedArray(e){var t=Object.prototype.toString.call(e);return"[object Uint8ClampedArray]"===t||"[object Int8Array]"===t||"[object Uint8Array]"===t||"[object Int16Array]"===t||"[object Uint16Array]"===t||"[object Int32Array]"===t||"[object Uint32Array]"===t||"[object Float32Array]"===t||"[object Float64Array]"===t||"[object BigInt64Array]"===t||"[object BigUint64Array]"===t}var empty=_curry1(function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:_isArray(e)?[]:_isString(e)?"":_isObject(e)?{}:internal_isArguments(e)?function(){return arguments}():_isTypedArray(e)?e.constructor.from(""):void 0});const es_empty=empty;var isEmpty=_curry1(function(e){return null!=e&&es_equals(e,es_empty(e))});const es_isEmpty=isEmpty;var isArray=es_curryN(1,es_isFunction(Array.isArray)?Array.isArray:pipe(es_type,es_identical("Array")));const es_isArray=isArray;var isEmptyArray=es_both(es_isArray,es_isEmpty);const es_isEmptyArray=isEmptyArray;var invokeArgs=es_curryN(3,function(e,t,s){var r=es_path(e,s),i=es_path(es_init(e),s);if(!es_isNotFunction(r)&&!es_isEmptyArray(e)){var n=es_bind(r,i);return es_apply(n,t)}});const es_invokeArgs=invokeArgs;class CommentElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="comment"}}const Comment=CommentElement,isLinkElement=e=>e instanceof elements_LinkElement,isRefElement=e=>e instanceof elements_RefElement,isAnnotationElement=e=>e instanceof Annotation,isCommentElement=e=>e instanceof Comment,isParseResultElement=e=>e instanceof ParseResult,isSourceMapElement=e=>e instanceof SourceMap,namespace_namespace=new src_Namespace,src_namespace=namespace_namespace,predicates={isElement,isStringElement,isNumberElement,isNullElement,isBooleanElement:primitives_isBooleanElement,isArrayElement,isObjectElement,isMemberElement,isPrimitiveElement,isLinkElement,isRefElement,isAnnotationElement,isCommentElement,isParseResultElement,isSourceMapElement,hasElementSourceMap,includesSymbols,includesClasses:predicates_includesClasses},createToolbox=()=>({predicates,namespace:src_namespace}),toolbox=createToolbox,defaultDispatchPluginsOptions={toolboxCreator:toolbox,visitorOptions:{exposeEdits:!0}},dispatchPluginsSync=(e,t,s={})=>{if(0===t.length)return e;const r=es_mergeDeepRight(defaultDispatchPluginsOptions,s),{toolboxCreator:i,visitorOptions:n}=r,o=i(),a=t.map(e=>e(o)),c=mergeVisitors(a.map(es_propOr({},"visitor")),n);a.forEach(es_invokeArgs(["pre"],[]));const l=traverse(e,c);return a.forEach(es_invokeArgs(["post"],[])),l},dispatchPluginsAsync=async(e,t,s={})=>{if(0===t.length)return e;const r=es_mergeDeepRight(defaultDispatchPluginsOptions,s),{toolboxCreator:i,visitorOptions:n}=r,o=i(),a=t.map(e=>e(o)),c=mergeVisitorsAsync(a.map(es_propOr({},"visitor")),n);await Promise.allSettled(a.map(es_invokeArgs(["pre"],[])));const l=await traverseAsync(e,c);return await Promise.allSettled(a.map(es_invokeArgs(["post"],[]))),l};dispatchPluginsSync[Symbol.for("nodejs.util.promisify.custom")]=dispatchPluginsAsync;const serializer=e=>{if(!isElement(e))return e;if(isStringElement(e)||isNumberElement(e)||primitives_isBooleanElement(e)||isNullElement(e))return e.toValue();const t=new WeakMap,s=e=>{if(!isElement(e))return e;if(isObjectElement(e)){if(t.has(e))return t.get(e);const r={};return t.set(e,r),e.forEach((e,t)=>{const i=s(t),n=s(e);"string"==typeof i&&(r[i]=n)}),r}if(isArrayElement(e)){if(t.has(e))return t.get(e);const r=[];return t.set(e,r),e.forEach(e=>r.push(s(e))),r}return isRefElement(e)?String(e.toValue()):isLinkElement(e)?isStringElement(e.href)?e.href.toValue():"":e.toValue()};return s(e)},serializers_value=serializer,emptyElement=e=>{const t=e.isMetaEmpty?void 0:cloneDeep(e.meta),s=e.isAttributesEmpty?void 0:cloneDeep(e.attributes);return new e.constructor(void 0,t,s)},cloneUnlessOtherwiseSpecified=(e,t)=>t.clone&&t.isMergeableElement(e)?deepmerge(emptyElement(e),e,t):e,getMergeFunction=(e,t)=>{if("function"!=typeof t.customMerge)return deepmerge;const s=t.customMerge(e,t);return"function"==typeof s?s:deepmerge},getMetaMergeFunction=e=>"function"!=typeof e.customMetaMerge?e=>cloneDeep(e):e.customMetaMerge,getAttributesMergeFunction=e=>"function"!=typeof e.customAttributesMerge?e=>cloneDeep(e):e.customAttributesMerge,mergeArrayElement=(e,t,s)=>new(0,e.constructor)(e.concat(t).map(e=>cloneUnlessOtherwiseSpecified(e,s))),mergeObjectElement=(e,t,s)=>{const r=isObjectElement(e)?emptyElement(e):emptyElement(t);return isObjectElement(e)&&e.forEach((e,t,i)=>{const n=cloneShallow(i);n.value=cloneUnlessOtherwiseSpecified(e,s),r.content.push(n)}),t.forEach((t,i,n)=>{const o=serializers_value(i);let a;if(isObjectElement(e)&&e.hasKey(o)&&s.isMergeableElement(t)){const r=e.get(o);a=cloneShallow(n),a.value=getMergeFunction(i,s)(r,t,s)}else a=cloneShallow(n),a.value=cloneUnlessOtherwiseSpecified(t,s);r.remove(o),r.content.push(a)}),r},defaultOptions={clone:!0,isMergeableElement:e=>isObjectElement(e)||isArrayElement(e),arrayElementMerge:mergeArrayElement,objectElementMerge:mergeObjectElement,customMerge:void 0,customMetaMerge:void 0,customAttributesMerge:void 0},deepmerge=(e,t,s)=>{const r={...defaultOptions,...s};r.isMergeableElement=r.isMergeableElement??defaultOptions.isMergeableElement,r.arrayElementMerge=r.arrayElementMerge??defaultOptions.arrayElementMerge,r.objectElementMerge=r.objectElementMerge??defaultOptions.objectElementMerge;const i=isArrayElement(t);if(!(i===isArrayElement(e)))return cloneUnlessOtherwiseSpecified(t,r);const n=i&&"function"==typeof r.arrayElementMerge?r.arrayElementMerge(e,t,r):r.objectElementMerge(e,t,r);return n.meta=getMetaMergeFunction(r)(e.meta,t.meta),n.attributes=getAttributesMergeFunction(r)(e.attributes,t.attributes),n};deepmerge.all=(e,t)=>{if(!Array.isArray(e))throw new TypeError("First argument of deepmerge should be an array.");return 0===e.length?new primitives_ObjectElement:e.reduce((e,s)=>deepmerge(e,s,t),emptyElement(e[0]))};const merge_deepmerge=deepmerge;class Visitor{element;constructor(e){Object.assign(this,e)}copyMetaAndAttributes(e,t){if(!e.isMetaEmpty||!t.isMetaEmpty){const s=t.isMetaEmpty?new primitives_ObjectElement:t.meta,r=e.isMetaEmpty?new primitives_ObjectElement:e.meta;t.meta=merge_deepmerge(s,r)}if(!e.isAttributesEmpty||!t.isAttributesEmpty){const s=t.isAttributesEmpty?new primitives_ObjectElement:t.attributes,r=e.isAttributesEmpty?new primitives_ObjectElement:e.attributes;t.attributes=merge_deepmerge(s,r)}SourceMap.transfer(e,t)}}const visitors_Visitor=Visitor;class FallbackVisitor extends visitors_Visitor{enter(e){this.element=cloneDeep(e.node),e.stop()}}const visitors_FallbackVisitor=FallbackVisitor;var allPass=_curry1(function(e){return es_curryN(es_reduce(es_max,0,es_pluck("length",e)),function(){for(var t=0,s=e.length;t<s;){if(!e[t].apply(this,arguments))return!1;t+=1}return!0})});const es_allPass=allPass;var isNotEmpty=_curry1(function(e){return!es_isEmpty(e)});const es_isNotEmpty=isNotEmpty;var isNotObj=es_complement(es_isObj);const es_isNotObj=isNotObj;var isNonEmptyString=es_allPass([es_isString,es_isNotObj,es_isNotEmpty]);const es_isNonEmptyString=isNonEmptyString;var pick=_curry2(function(e,t){for(var s={},r=0;r<e.length;)e[r]in t&&(s[e[r]]=t[e[r]]),r+=1;return s});const es_pick=pick;class SpecificationVisitor extends visitors_Visitor{specObj;passingOptionsNames=["specObj","parent"];constructor({specObj:e,...t}){super({...t}),this.specObj=e}retrievePassingOptions(){return es_pick(this.passingOptionsNames,this)}retrieveFixedFields(e){const t=es_path(["visitors",...e,"fixedFields"],this.specObj);return"object"==typeof t&&null!==t?Object.keys(t):[]}retrieveVisitor(e){return es_pathSatisfies(es_isFunction,["visitors",...e],this.specObj)?es_path(["visitors",...e],this.specObj):es_path(["visitors",...e,"$visitor"],this.specObj)}retrieveVisitorInstance(e,t={}){const s=this.retrievePassingOptions();return new(this.retrieveVisitor(e))({...s,...t})}toRefractedElement(e,t,s={}){const r=this.retrieveVisitorInstance(e,s);return r instanceof visitors_FallbackVisitor&&r?.constructor===visitors_FallbackVisitor?cloneDeep(t):(traverse(t,r,s),r.element)}}const visitors_SpecificationVisitor=SpecificationVisitor;class FixedFieldsVisitor extends visitors_SpecificationVisitor{specPath;ignoredFields;constructor({specPath:e,ignoredFields:t,...s}){super({...s}),this.specPath=e,this.ignoredFields=t||[]}ObjectElement(e){const t=e.node,s=this.specPath(t),r=this.retrieveFixedFields(s);t.forEach((e,t,i)=>{const n=serializers_value(t);if(isStringElement(t)&&r.includes(n)&&!this.ignoredFields.includes(n)){const r=this.toRefractedElement([...s,"fixedFields",n],e),o=new primitives_MemberElement(cloneDeep(t),r);this.copyMetaAndAttributes(i,o),o.classes.push("fixed-field"),this.element.content.push(o)}else this.ignoredFields.includes(n)||this.element.content.push(cloneDeep(i))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const generics_FixedFieldsVisitor=FixedFieldsVisitor,copyProps=(e,t,s=[])=>{const r=Object.getOwnPropertyDescriptors(t);for(let e of s)delete r[e];Object.defineProperties(e,r)},protoChain=(e,t=[e])=>{const s=Object.getPrototypeOf(e);return null===s?t:protoChain(s,[...t,s])},nearestCommonProto=(...e)=>{if(0===e.length)return;let t;const s=e.map(e=>protoChain(e));for(;s.every(e=>e.length>0);){const e=s.map(e=>e.pop()),r=e[0];if(!e.every(e=>e===r))break;t=r}return t},hardMixProtos=(e,t,s=[])=>{var r;const i=null!==(r=nearestCommonProto(...e))&&void 0!==r?r:Object.prototype,n=Object.create(i),o=protoChain(i);for(let t of e){let e=protoChain(t);for(let t=e.length-1;t>=0;t--){let r=e[t];-1===o.indexOf(r)&&(copyProps(n,r,["constructor",...s]),o.push(r))}}return n.constructor=t,n},unique=e=>e.filter((t,s)=>e.indexOf(t)==s),getIngredientWithProp=(e,t)=>{const s=t.map(e=>protoChain(e));let r=0,i=!0;for(;i;){i=!1;for(let n=t.length-1;n>=0;n--){const t=s[n][r];if(null!=t&&(i=!0,null!=Object.getOwnPropertyDescriptor(t,e)))return s[n][0]}r++}},proxyMix=(e,t=Object.prototype)=>new Proxy({},{getPrototypeOf:()=>t,setPrototypeOf(){throw Error("Cannot set prototype of Proxies created by ts-mixer")},getOwnPropertyDescriptor:(t,s)=>Object.getOwnPropertyDescriptor(getIngredientWithProp(s,e)||{},s),defineProperty(){throw new Error("Cannot define new properties on Proxies created by ts-mixer")},has:(s,r)=>void 0!==getIngredientWithProp(r,e)||void 0!==t[r],get:(s,r)=>(getIngredientWithProp(r,e)||t)[r],set(t,s,r){const i=getIngredientWithProp(s,e);if(void 0===i)throw new Error("Cannot set new properties on Proxies created by ts-mixer");return i[s]=r,!0},deleteProperty(){throw new Error("Cannot delete properties on Proxies created by ts-mixer")},ownKeys:()=>e.map(Object.getOwnPropertyNames).reduce((e,t)=>t.concat(e.filter(e=>t.indexOf(e)<0)))}),softMixProtos=(e,t)=>proxyMix([...e,{constructor:t}]),settings={initFunction:null,staticsStrategy:"copy",prototypeStrategy:"copy",decoratorInheritance:"deep"},mixins=new WeakMap,getMixinsForClass=e=>mixins.get(e),registerMixins=(e,t)=>mixins.set(e,t),hasMixin=(e,t)=>{if(e instanceof t)return!0;const s=e.constructor,r=new Set;let i=new Set;for(i.add(s);i.size>0;){if(i.has(t))return!0;i.forEach(e=>r.add(e));const e=new Set;i.forEach(t=>{var s;const n=null!==(s=mixins.get(t))&&void 0!==s?s:protoChain(t.prototype).map(e=>e.constructor).filter(e=>null!==e);n&&n.forEach(t=>{r.has(t)||i.has(t)||e.add(t)})}),i=e}return!1},mergeObjectsOfDecorators=(e,t)=>{var s,r;const i=unique([...Object.getOwnPropertyNames(e),...Object.getOwnPropertyNames(t)]),n={};for(let o of i)n[o]=unique([...null!==(s=null==e?void 0:e[o])&&void 0!==s?s:[],...null!==(r=null==t?void 0:t[o])&&void 0!==r?r:[]]);return n},mergePropertyAndMethodDecorators=(e,t)=>{var s,r,i,n;return{property:mergeObjectsOfDecorators(null!==(s=null==e?void 0:e.property)&&void 0!==s?s:{},null!==(r=null==t?void 0:t.property)&&void 0!==r?r:{}),method:mergeObjectsOfDecorators(null!==(i=null==e?void 0:e.method)&&void 0!==i?i:{},null!==(n=null==t?void 0:t.method)&&void 0!==n?n:{})}},mergeDecorators=(e,t)=>{var s,r,i,n,o,a;return{class:unique([...null!==(s=null==e?void 0:e.class)&&void 0!==s?s:[],...null!==(r=null==t?void 0:t.class)&&void 0!==r?r:[]]),static:mergePropertyAndMethodDecorators(null!==(i=null==e?void 0:e.static)&&void 0!==i?i:{},null!==(n=null==t?void 0:t.static)&&void 0!==n?n:{}),instance:mergePropertyAndMethodDecorators(null!==(o=null==e?void 0:e.instance)&&void 0!==o?o:{},null!==(a=null==t?void 0:t.instance)&&void 0!==a?a:{})}},decorators=new Map,findAllConstituentClasses=(...e)=>{var t;const s=new Set,r=new Set([...e]);for(;r.size>0;)for(let e of r){const i=[...protoChain(e.prototype).map(e=>e.constructor),...null!==(t=getMixinsForClass(e))&&void 0!==t?t:[]].filter(e=>!s.has(e));for(let e of i)r.add(e);s.add(e),r.delete(e)}return[...s]},deepDecoratorSearch=(...e)=>{const t=findAllConstituentClasses(...e).map(e=>decorators.get(e)).filter(e=>!!e);return 0==t.length?{}:1==t.length?t[0]:t.reduce((e,t)=>mergeDecorators(e,t))},directDecoratorSearch=(...e)=>{const t=e.map(e=>getDecoratorsForClass(e));return 0===t.length?{}:1===t.length?t[0]:t.reduce((e,t)=>mergeDecorators(e,t))},getDecoratorsForClass=e=>{let t=decorators.get(e);return t||(t={},decorators.set(e,t)),t},decorateClass=e=>t=>{const s=getDecoratorsForClass(t);let r=s.class;return r||(r=[],s.class=r),r.push(e),e(t)},decorateMember=e=>(t,s,...r)=>{var i,n,o;const a="function"==typeof t?"static":"instance",c="function"==typeof t[s]?"method":"property",l="static"===a?t:t.constructor,_=getDecoratorsForClass(l),m=null!==(i=null==_?void 0:_[a])&&void 0!==i?i:{};_[a]=m;let u=null!==(n=null==m?void 0:m[c])&&void 0!==n?n:{};m[c]=u;let p=null!==(o=null==u?void 0:u[s])&&void 0!==o?o:[];return u[s]=p,p.push(e),e(t,s,...r)},decorate=e=>(...t)=>1===t.length?decorateClass(e)(t[0]):decorateMember(e)(...t);function Mixin(...e){var t,s,r;const i=e.map(e=>e.prototype),n=settings.initFunction;if(null!==n){const e=i.map(e=>e[n]).filter(e=>"function"==typeof e),t=function(...t){for(let s of e)s.apply(this,t)},s={[n]:t};i.push(s)}function o(...t){for(const s of e)copyProps(this,new s(...t));null!==n&&"function"==typeof this[n]&&this[n].apply(this,t)}o.prototype="copy"===settings.prototypeStrategy?hardMixProtos(i,o):softMixProtos(i,o),Object.setPrototypeOf(o,"copy"===settings.staticsStrategy?hardMixProtos(e,null,["prototype"]):proxyMix(e,Function.prototype));let a=o;if("none"!==settings.decoratorInheritance){const i="deep"===settings.decoratorInheritance?deepDecoratorSearch(...e):directDecoratorSearch(...e);for(let e of null!==(t=null==i?void 0:i.class)&&void 0!==t?t:[]){const t=e(a);t&&(a=t)}applyPropAndMethodDecorators(null!==(s=null==i?void 0:i.static)&&void 0!==s?s:{},a),applyPropAndMethodDecorators(null!==(r=null==i?void 0:i.instance)&&void 0!==r?r:{},a.prototype)}return registerMixins(a,e),a}const applyPropAndMethodDecorators=(e,t)=>{const s=e.property,r=e.method;if(s)for(let e in s)for(let r of s[e])r(t,e);if(r)for(let e in r)for(let s of r[e])s(t,e,Object.getOwnPropertyDescriptor(t,e))},mix=(...e)=>t=>{const s=Mixin(...e.concat([t]));return Object.defineProperty(s,"name",{value:t.name,writable:!1}),s};var F=function(){return!1};const es_F=F;class PatternedFieldsVisitor extends visitors_SpecificationVisitor{specPath;ignoredFields;fieldPatternPredicate=es_F;constructor({specPath:e,ignoredFields:t,fieldPatternPredicate:s,...r}){super({...r}),this.specPath=e,this.ignoredFields=t||[],"function"==typeof s&&(this.fieldPatternPredicate=s)}ObjectElement(e){const t=e.node;t.forEach((e,t,s)=>{const r=serializers_value(t);if(!this.ignoredFields.includes(r)&&this.fieldPatternPredicate(r)){const r=this.specPath(e),i=this.toRefractedElement(r,e),n=new primitives_MemberElement(cloneDeep(t),i);this.copyMetaAndAttributes(s,n),n.classes.push("patterned-field"),this.element.content.push(n)}else this.ignoredFields.includes(r)||this.element.content.push(cloneDeep(s))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const generics_PatternedFieldsVisitor=PatternedFieldsVisitor;class MapVisitor extends generics_PatternedFieldsVisitor{constructor(e){super(e),this.fieldPatternPredicate=es_isNonEmptyString}}const generics_MapVisitor=MapVisitor;class ParentSchemaAwareVisitor{parent;constructor({parent:e}){this.parent=e}}const json_schema_ParentSchemaAwareVisitor=ParentSchemaAwareVisitor,JSONSchemaVisitorBase=Mixin(generics_FixedFieldsVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),JSONReferenceVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),LinkDescriptionVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),MediaVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),AllOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),AnyOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),OneOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),ItemsVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),LinksVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),DefinitionsVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),DependenciesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),PatternPropertiesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),PropertiesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor);class JSONSchema extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft4"}get idField(){return this.get("id")}set idField(e){this.set("id",e)}get $schema(){return this.get("$schema")}set $schema(e){this.set("$schema",e)}get multipleOf(){return this.get("multipleOf")}set multipleOf(e){this.set("multipleOf",e)}get maximum(){return this.get("maximum")}set maximum(e){this.set("maximum",e)}get exclusiveMaximum(){return this.get("exclusiveMaximum")}set exclusiveMaximum(e){this.set("exclusiveMaximum",e)}get minimum(){return this.get("minimum")}set minimum(e){this.set("minimum",e)}get exclusiveMinimum(){return this.get("exclusiveMinimum")}set exclusiveMinimum(e){this.set("exclusiveMinimum",e)}get maxLength(){return this.get("maxLength")}set maxLength(e){this.set("maxLength",e)}get minLength(){return this.get("minLength")}set minLength(e){this.set("minLength",e)}get pattern(){return this.get("pattern")}set pattern(e){this.set("pattern",e)}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get maxItems(){return this.get("maxItems")}set maxItems(e){this.set("maxItems",e)}get minItems(){return this.get("minItems")}set minItems(e){this.set("minItems",e)}get uniqueItems(){return this.get("uniqueItems")}set uniqueItems(e){this.set("uniqueItems",e)}get maxProperties(){return this.get("maxProperties")}set maxProperties(e){this.set("maxProperties",e)}get minProperties(){return this.get("minProperties")}set minProperties(e){this.set("minProperties",e)}get required(){return this.get("required")}set required(e){this.set("required",e)}get properties(){return this.get("properties")}set properties(e){this.set("properties",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get patternProperties(){return this.get("patternProperties")}set patternProperties(e){this.set("patternProperties",e)}get dependencies(){return this.get("dependencies")}set dependencies(e){this.set("dependencies",e)}get enum(){return this.get("enum")}set enum(e){this.set("enum",e)}get type(){return this.get("type")}set type(e){this.set("type",e)}get allOf(){return this.get("allOf")}set allOf(e){this.set("allOf",e)}get anyOf(){return this.get("anyOf")}set anyOf(e){this.set("anyOf",e)}get oneOf(){return this.get("oneOf")}set oneOf(e){this.set("oneOf",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get definitions(){return this.get("definitions")}set definitions(e){this.set("definitions",e)}get title(){return this.get("title")}set title(e){this.set("title",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get default(){return this.get("default")}set default(e){this.set("default",e)}get format(){return this.get("format")}set format(e){this.set("format",e)}get base(){return this.get("base")}set base(e){this.set("base",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}get media(){return this.get("media")}set media(e){this.set("media",e)}get readOnly(){return this.get("readOnly")}set readOnly(e){this.set("readOnly",e)}}const elements_JSONSchema=JSONSchema,isJSONSchemaElement=e=>e instanceof elements_JSONSchema,isJSONReferenceElement=e=>e instanceof JSONReferenceElement,isMediaElement=e=>e instanceof MediaElement,isLinkDescriptionElement=e=>e instanceof LinkDescriptionElement;class JSONSchemaVisitor extends JSONSchemaVisitorBase{constructor(e){super(e),this.element=new elements_JSONSchema,this.specPath=es_always(["document","objects","JSONSchema"])}get defaultDialectIdentifier(){return"http://json-schema.org/draft-04/schema#"}ObjectElement(e){const t=e.node;return this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e)}handleDialectIdentifier(e){if(es_isUndefined(this.parent)&&!isStringElement(e.get("$schema")))this.element.meta.set("inheritedDialectIdentifier",this.defaultDialectIdentifier);else if(isJSONSchemaElement(this.parent)&&!isStringElement(e.get("$schema"))){const e=es_defaultTo(serializers_value(this.parent.meta.get("inheritedDialectIdentifier")),serializers_value(this.parent.$schema));this.element.meta.set("inheritedDialectIdentifier",e)}}handleSchemaIdentifier(e,t="id"){const s=void 0!==this.parent?cloneDeep(this.parent.meta.get("ancestorsSchemaIdentifiers")??new primitives_ArrayElement):new primitives_ArrayElement,r=serializers_value(e.get(t));es_isNonEmptyString(r)&&s.push(r),this.element.meta.set("ancestorsSchemaIdentifiers",s)}}const json_schema=JSONSchemaVisitor,isJSONReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref");class ItemsVisitor extends ItemsVisitorBase{ObjectElement(e){const t=e.node,s=isJSONReferenceLikeElement(t)?["document","objects","JSONReference"]:["document","objects","JSONSchema"];this.element=this.toRefractedElement(s,t),e.stop()}ArrayElement(e){const t=e.node;this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-items"),t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_ItemsVisitor=ItemsVisitor;class RequiredVisitor extends visitors_FallbackVisitor{ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-required")}}const json_schema_RequiredVisitor=RequiredVisitor;class PropertiesVisitor extends PropertiesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-properties"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_PropertiesVisitor=PropertiesVisitor;class PatternPropertiesVisitor extends PatternPropertiesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-patternProperties"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_PatternPropertiesVisitor=PatternPropertiesVisitor;class DependenciesVisitor extends DependenciesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-dependencies"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_DependenciesVisitor=DependenciesVisitor;class EnumVisitor extends visitors_FallbackVisitor{ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-enum")}}const json_schema_EnumVisitor=EnumVisitor;class TypeVisitor extends visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("json-schema-type")}ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-type")}}const json_schema_TypeVisitor=TypeVisitor;class AllOfVisitor extends AllOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-allOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_AllOfVisitor=AllOfVisitor;class AnyOfVisitor extends AnyOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-anyOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_AnyOfVisitor=AnyOfVisitor;class OneOfVisitor extends OneOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-oneOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_OneOfVisitor=OneOfVisitor;class DefinitionsVisitor extends DefinitionsVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-definitions"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_DefinitionsVisitor=DefinitionsVisitor;class LinksVisitor extends LinksVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-links")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","LinkDescription"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_LinksVisitor=LinksVisitor;class JSONReference extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="JSONReference",this.classes.push("json-reference")}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}}const elements_JSONReference=JSONReference;class JSONReferenceVisitor extends JSONReferenceVisitorBase{constructor(e){super(e),this.element=new elements_JSONReference,this.specPath=es_always(["document","objects","JSONReference"])}ObjectElement(e){generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const json_reference=JSONReferenceVisitor;class $RefVisitor extends visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const json_reference_$RefVisitor=$RefVisitor;var T=function(){return!0};const es_T=T;var ifElse=_curry3(function(e,t,s){return es_curryN(Math.max(e.length,t.length,s.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):s.apply(this,arguments)})});const es_ifElse=ifElse;var comparator=_curry1(function(e){return function(t,s){return e(t,s)?-1:e(s,t)?1:0}});const es_comparator=comparator;var sort=_curry2(function(e,t){return Array.prototype.slice.call(t,0).sort(e)});const es_sort=sort;var head=_curry1(function(e){return _nth(0,e)});const es_head=head;function _reduced(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}var reduced=_curry1(_reduced);const es_reduced=reduced;var isNotNil=es_complement(es_isNil);const es_isNotNil=isNotNil;var isNonEmptyArray=es_both(es_isArray,es_isNotEmpty);const es_isNonEmptyArray=isNonEmptyArray;function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,r=Array(t);s<t;s++)r[s]=e[s];return r}var byArity=es_comparator(function(e,t){return e.length>t.length}),getMaxArity=pipe(es_sort(byArity),es_head,es_prop("length")),iteratorFn=es_curry(function(e,t,s){var r=s.apply(void 0,_toConsumableArray(e));return es_isNotNil(r)?es_reduced(r):t}),dispatchImpl=function(e){var t=getMaxArity(e);return es_curryN(t,function(){for(var t=arguments.length,s=new Array(t),r=0;r<t;r++)s[r]=arguments[r];return es_reduce(iteratorFn(s),void 0,e)})},dispatch=es_ifElse(es_isNonEmptyArray,dispatchImpl,es_stubUndefined);const es_dispatch=dispatch;class AlternatingVisitor extends visitors_SpecificationVisitor{alternator;constructor({alternator:e,...t}){super({...t}),this.alternator=e}enter(e){const t=e.node,s=this.alternator.map(({predicate:e,specPath:t})=>es_ifElse(e,es_always(t),es_stubUndefined)),r=es_dispatch(s)(t);this.element=this.toRefractedElement(r,t),e.stop()}}const generics_AlternatingVisitor=AlternatingVisitor;class SchemaOrReferenceVisitor extends generics_AlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isJSONReferenceLikeElement,specPath:["document","objects","JSONReference"]},{predicate:es_T,specPath:["document","objects","JSONSchema"]}]}}const JSONSchemaOrJSONReferenceVisitor=SchemaOrReferenceVisitor;class Media extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="media"}get binaryEncoding(){return this.get("binaryEncoding")}set binaryEncoding(e){this.set("binaryEncoding",e)}get type(){return this.get("type")}set type(e){this.set("type",e)}}const elements_Media=Media;class MediaVisitor extends MediaVisitorBase{constructor(e){super(e),this.element=new elements_Media,this.specPath=es_always(["document","objects","Media"])}}const media=MediaVisitor;class LinkDescription extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="linkDescription"}get href(){return this.get("href")}set href(e){this.set("href",e)}get rel(){return this.get("rel")}set rel(e){this.set("rel",e)}get title(){return this.get("title")}set title(e){this.set("title",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get mediaType(){return this.get("mediaType")}set mediaType(e){this.set("mediaType",e)}get method(){return this.get("method")}set method(e){this.set("method",e)}get encType(){return this.get("encType")}set encType(e){this.set("encType",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const elements_LinkDescription=LinkDescription;class LinkDescriptionVisitor extends LinkDescriptionVisitorBase{constructor(e){super(e),this.element=new elements_LinkDescription,this.specPath=es_always(["document","objects","LinkDescription"])}}const link_description=LinkDescriptionVisitor,specification={visitors:{value:visitors_FallbackVisitor,JSONSchemaOrJSONReferenceVisitor,document:{objects:{JSONSchema:{element:"jSONSchemaDraft4",$visitor:json_schema,fixedFields:{id:{$visitor:visitors_FallbackVisitor,alias:"idField"},$schema:{$ref:"#/visitors/value"},multipleOf:{$ref:"#/visitors/value"},maximum:{$ref:"#/visitors/value"},exclusiveMaximum:{$ref:"#/visitors/value"},minimum:{$ref:"#/visitors/value"},exclusiveMinimum:{$ref:"#/visitors/value"},maxLength:{$ref:"#/visitors/value"},minLength:{$ref:"#/visitors/value"},pattern:{$ref:"#/visitors/value"},additionalItems:JSONSchemaOrJSONReferenceVisitor,items:{$visitor:json_schema_ItemsVisitor,alias:"itemsField"},maxItems:{$ref:"#/visitors/value"},minItems:{$ref:"#/visitors/value"},uniqueItems:{$ref:"#/visitors/value"},maxProperties:{$ref:"#/visitors/value"},minProperties:{$ref:"#/visitors/value"},required:json_schema_RequiredVisitor,properties:json_schema_PropertiesVisitor,additionalProperties:JSONSchemaOrJSONReferenceVisitor,patternProperties:json_schema_PatternPropertiesVisitor,dependencies:json_schema_DependenciesVisitor,enum:json_schema_EnumVisitor,type:json_schema_TypeVisitor,allOf:json_schema_AllOfVisitor,anyOf:json_schema_AnyOfVisitor,oneOf:json_schema_OneOfVisitor,not:JSONSchemaOrJSONReferenceVisitor,definitions:json_schema_DefinitionsVisitor,title:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},default:{$ref:"#/visitors/value"},format:{$ref:"#/visitors/value"},base:{$ref:"#/visitors/value"},links:{$visitor:json_schema_LinksVisitor,alias:"linksField"},media:{$ref:"#/visitors/document/objects/Media"},readOnly:{$ref:"#/visitors/value"}}},JSONReference:{element:"jSONReference",$visitor:json_reference,fixedFields:{$ref:json_reference_$RefVisitor}},Media:{element:"media",$visitor:media,fixedFields:{binaryEncoding:{$ref:"#/visitors/value"},type:{$ref:"#/visitors/value"}}},LinkDescription:{element:"linkDescription",$visitor:link_description,fixedFields:{href:{$ref:"#/visitors/value"},rel:{$ref:"#/visitors/value"},title:{$ref:"#/visitors/value"},targetSchema:JSONSchemaOrJSONReferenceVisitor,mediaType:{$ref:"#/visitors/value"},method:{$ref:"#/visitors/value"},encType:{$ref:"#/visitors/value"},schema:JSONSchemaOrJSONReferenceVisitor}}}}}},refractor_specification=specification;class Visitor_Visitor{element;constructor(e={}){Object.assign(this,e)}copyMetaAndAttributes(e,t){if(!e.isMetaEmpty||!t.isMetaEmpty){const s=t.isMetaEmpty?new primitives_ObjectElement:t.meta,r=e.isMetaEmpty?new primitives_ObjectElement:e.meta;t.meta=merge_deepmerge(s,r)}if(!e.isAttributesEmpty||!t.isAttributesEmpty){const s=t.isAttributesEmpty?new primitives_ObjectElement:t.attributes,r=e.isAttributesEmpty?new primitives_ObjectElement:e.attributes;t.attributes=merge_deepmerge(s,r)}SourceMap.transfer(e,t)}}const refractor_visitors_Visitor=Visitor_Visitor;class FallbackVisitor_FallbackVisitor extends refractor_visitors_Visitor{enter(e){this.element=cloneDeep(e.node),e.stop()}}const refractor_visitors_FallbackVisitor=FallbackVisitor_FallbackVisitor;class SpecificationVisitor_SpecificationVisitor extends refractor_visitors_Visitor{specObj;passingOptionsNames=["specObj","openApiGenericElement","openApiSemanticElement"];openApiGenericElement;openApiSemanticElement;constructor({specObj:e,passingOptionsNames:t,openApiGenericElement:s,openApiSemanticElement:r,...i}){super({...i}),this.specObj=e,this.openApiGenericElement=s,this.openApiSemanticElement=r,Array.isArray(t)&&(this.passingOptionsNames=t)}retrievePassingOptions(){return es_pick(this.passingOptionsNames,this)}retrieveFixedFields(e){const t=es_path(["visitors",...e,"fixedFields"],this.specObj);return"object"==typeof t&&null!==t?Object.keys(t):[]}retrieveVisitor(e){return es_pathSatisfies(es_isFunction,["visitors",...e],this.specObj)?es_path(["visitors",...e],this.specObj):es_path(["visitors",...e,"$visitor"],this.specObj)}retrieveVisitorInstance(e,t={}){const s=this.retrievePassingOptions();return new(this.retrieveVisitor(e))({...s,...t})}toRefractedElement(e,t,s={}){const r=this.retrieveVisitorInstance(e,s);return r instanceof refractor_visitors_FallbackVisitor&&r?.constructor===refractor_visitors_FallbackVisitor?cloneDeep(t):(traverse(t,r,{nodeTypeGetter:getNodePrimitiveType}),r.element)}}const refractor_visitors_SpecificationVisitor=SpecificationVisitor_SpecificationVisitor;var XTake=function(){function e(e,t){this.xf=t,this.n=e,this.i=0}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){this.i+=1;var s=0===this.n?e:this.xf["@@transducer/step"](e,t);return this.n>=0&&this.i>=this.n?_reduced(s):s},e}();function _xtake(e){return function(t){return new XTake(e,t)}}var take=_curry2(_dispatchable(["take"],_xtake,function(e,t){return es_slice(0,e<0?1/0:e,t)}));const es_take=take;var startsWith=_curry2(function(e,t){return es_equals(es_take(e.length,t),e)});const es_startsWith=startsWith,isReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref"),isServerLikeElement=isObjectElement,isTagLikeElement=isObjectElement,isOpenApiExtension=e=>isStringElement(e.key)&&es_startsWith("x-",serializers_value(e.key));class FixedFieldsVisitor_FixedFieldsVisitor extends refractor_visitors_SpecificationVisitor{specPath;ignoredFields;canSupportSpecificationExtensions=!0;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:e,ignoredFields:t,canSupportSpecificationExtensions:s,specificationExtensionPredicate:r,...i}){super({...i}),this.specPath=e,this.ignoredFields=t||[],"boolean"==typeof s&&(this.canSupportSpecificationExtensions=s),"function"==typeof r&&(this.specificationExtensionPredicate=r)}ObjectElement(e){const t=e.node,s=this.specPath(t),r=this.retrieveFixedFields(s);t.forEach((e,t,i)=>{const n=serializers_value(t);if(isStringElement(t)&&r.includes(n)&&!this.ignoredFields.includes(n)){const r=this.toRefractedElement([...s,"fixedFields",n],e),o=new primitives_MemberElement(cloneDeep(t),r);this.copyMetaAndAttributes(i,o),o.classes.push("fixed-field"),this.element.content.push(o)}else if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(i)){const e=this.toRefractedElement(["document","extension"],i);this.element.content.push(e)}else this.ignoredFields.includes(n)||this.element.content.push(cloneDeep(i))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_generics_FixedFieldsVisitor=FixedFieldsVisitor_FixedFieldsVisitor;class PatternedFieldsVisitor_PatternedFieldsVisitor extends refractor_visitors_SpecificationVisitor{specPath;ignoredFields;fieldPatternPredicate=es_F;canSupportSpecificationExtensions=!1;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:e,ignoredFields:t,fieldPatternPredicate:s,canSupportSpecificationExtensions:r,specificationExtensionPredicate:i,...n}){super({...n}),this.specPath=e,this.ignoredFields=t||[],"function"==typeof s&&(this.fieldPatternPredicate=s),"boolean"==typeof r&&(this.canSupportSpecificationExtensions=r),"function"==typeof i&&(this.specificationExtensionPredicate=i)}ObjectElement(e){const t=e.node;t.forEach((e,t,s)=>{const r=serializers_value(t);if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(s)){const e=this.toRefractedElement(["document","extension"],s);this.element.content.push(e)}else if(!this.ignoredFields.includes(r)&&this.fieldPatternPredicate(r)){const r=this.specPath(e),i=this.toRefractedElement(r,e),n=new primitives_MemberElement(cloneDeep(t),i);this.copyMetaAndAttributes(s,n),n.classes.push("patterned-field"),this.element.content.push(n)}else this.ignoredFields.includes(r)||this.element.content.push(cloneDeep(s))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_generics_PatternedFieldsVisitor=PatternedFieldsVisitor_PatternedFieldsVisitor;class MapVisitor_MapVisitor extends visitors_generics_PatternedFieldsVisitor{constructor(e){super(e),this.fieldPatternPredicate=es_isNonEmptyString}}const visitors_generics_MapVisitor=MapVisitor_MapVisitor;class AlternatingVisitor_AlternatingVisitor extends refractor_visitors_SpecificationVisitor{alternator;constructor({alternator:e,...t}){super({...t}),this.alternator=e||[]}enter(e){const t=e.node,s=this.alternator.map(({predicate:e,specPath:t})=>es_ifElse(e,es_always(t),es_stubUndefined)),r=es_dispatch(s)(t);this.element=this.toRefractedElement(r,t),e.stop()}}const visitors_generics_AlternatingVisitor=AlternatingVisitor_AlternatingVisitor;var _Set=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!hasOrAdd(e,!0,this)},e.prototype.has=function(e){return hasOrAdd(e,!1,this)},e}();function hasOrAdd(e,t,s){var r,i=typeof e;switch(i){case"string":case"number":return 0===e&&1/e==-1/0?!!s._items["-0"]||(t&&(s._items["-0"]=!0),!1):null!==s._nativeSet?t?(r=s._nativeSet.size,s._nativeSet.add(e),s._nativeSet.size===r):s._nativeSet.has(e):i in s._items?e in s._items[i]||(t&&(s._items[i][e]=!0),!1):(t&&(s._items[i]={},s._items[i][e]=!0),!1);case"boolean":if(i in s._items){var n=e?1:0;return!!s._items[i][n]||(t&&(s._items[i][n]=!0),!1)}return t&&(s._items[i]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==s._nativeSet?t?(r=s._nativeSet.size,s._nativeSet.add(e),s._nativeSet.size===r):s._nativeSet.has(e):i in s._items?!!_includes(e,s._items[i])||(t&&s._items[i].push(e),!1):(t&&(s._items[i]=[e]),!1);case"undefined":return!!s._items[i]||(t&&(s._items[i]=!0),!1);case"object":if(null===e)return!!s._items.null||(t&&(s._items.null=!0),!1);default:return(i=Object.prototype.toString.call(e))in s._items?!!_includes(e,s._items[i])||(t&&s._items[i].push(e),!1):(t&&(s._items[i]=[e]),!1)}}const internal_Set=_Set;var difference=_curry2(function(e,t){for(var s=[],r=0,i=e.length,n=t.length,o=new internal_Set,a=0;a<n;a+=1)o.add(t[a]);for(;r<i;)o.add(e[r])&&(s[s.length]=e[r]),r+=1;return s});const es_difference=difference,MixedFieldsVisitorBase=Mixin(visitors_generics_FixedFieldsVisitor,visitors_generics_PatternedFieldsVisitor);class MixedFieldsVisitor extends MixedFieldsVisitorBase{specPathFixedFields;specPathPatternedFields;constructor({specPathFixedFields:e,specPathPatternedFields:t,...s}){super({...s}),this.specPathFixedFields=e,this.specPathPatternedFields=t}ObjectElement(e){const t=e.node,{specPath:s,ignoredFields:r}=this;try{this.specPath=this.specPathFixedFields;const s=this.retrieveFixedFields(this.specPath(t));this.ignoredFields=[...r,...es_difference(t.keys(),s)],visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.specPath=this.specPathPatternedFields,this.ignoredFields=s,visitors_generics_PatternedFieldsVisitor.prototype.ObjectElement.call(this,e);const i=t.keys();this.element.content.sort((e,t)=>i.indexOf(serializers_value(e.key))-i.indexOf(serializers_value(t.key)))}catch(e){throw this.specPath=s,e}e.stop()}}const generics_MixedFieldsVisitor=MixedFieldsVisitor,BaseSpecificationVisitor=Mixin(refractor_visitors_SpecificationVisitor,refractor_visitors_FallbackVisitor),BaseFixedFieldsVisitor=Mixin(visitors_generics_FixedFieldsVisitor,refractor_visitors_FallbackVisitor),BasePatternedFieldsVisitor=Mixin(visitors_generics_PatternedFieldsVisitor,refractor_visitors_FallbackVisitor),BaseMapVisitor=Mixin(visitors_generics_MapVisitor,refractor_visitors_FallbackVisitor),BaseAlternatingVisitor=Mixin(visitors_generics_AlternatingVisitor,refractor_visitors_FallbackVisitor),BaseMixedFieldsVisitor=Mixin(generics_MixedFieldsVisitor,refractor_visitors_FallbackVisitor);class OpenApi3_0 extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="openApi3_0",this.classes.push("api")}get openapi(){return this.get("openapi")}set openapi(e){this.set("openapi",e)}get info(){return this.get("info")}set info(e){this.set("info",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get paths(){return this.get("paths")}set paths(e){this.set("paths",e)}get components(){return this.get("components")}set components(e){this.set("components",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}}const elements_OpenApi3_0=OpenApi3_0;class OpenApi3_0Visitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OpenApi3_0,this.specPath=es_always(["document","objects","OpenApi"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e)}}const open_api_3_0=OpenApi3_0Visitor;class Openapi extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="openapi",this.classes.push("spec-version"),this.classes.push("version")}}const elements_Openapi=Openapi;class OpenapiVisitor extends BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new elements_Openapi(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_0_OpenapiVisitor=OpenapiVisitor;class SpecificationExtensionVisitor extends refractor_visitors_SpecificationVisitor{MemberElement(e){this.element=cloneDeep(e.node),this.element.classes.push("specification-extension"),e.stop()}}const visitors_SpecificationExtensionVisitor=SpecificationExtensionVisitor;class Info extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="info",this.classes.push("info")}get title(){return this.get("title")}set title(e){this.set("title",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get termsOfService(){return this.get("termsOfService")}set termsOfService(e){this.set("termsOfService",e)}get contact(){return this.get("contact")}set contact(e){this.set("contact",e)}get license(){return this.get("license")}set license(e){this.set("license",e)}get version(){return this.get("version")}set version(e){this.set("version",e)}}const elements_Info=Info;class InfoVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Info,this.specPath=es_always(["document","objects","Info"]),this.canSupportSpecificationExtensions=!0}}const info=InfoVisitor;class VersionVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("api-version"),this.element.classes.push("version")}}const info_VersionVisitor=VersionVisitor;class Contact extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="contact"}get name(){return this.get("name")}set name(e){this.set("name",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}get email(){return this.get("email")}set email(e){this.set("email",e)}}const elements_Contact=Contact;class ContactVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Contact,this.specPath=es_always(["document","objects","Contact"]),this.canSupportSpecificationExtensions=!0}}const contact=ContactVisitor;class License extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="license"}get name(){return this.get("name")}set name(e){this.set("name",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}}const elements_License=License;class LicenseVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_License,this.specPath=es_always(["document","objects","License"]),this.canSupportSpecificationExtensions=!0}}const license=LicenseVisitor;class Link extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="link"}get operationRef(){return this.get("operationRef")}set operationRef(e){this.set("operationRef",e)}get operationId(){return this.get("operationId")}set operationId(e){this.set("operationId",e)}get operation(){return isStringElement(this.operationRef)?this.operationRef?.meta.get("operation"):isStringElement(this.operationId)?this.operationId?.meta.get("operation"):void 0}set operation(e){this.set("operation",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get server(){return this.get("server")}set server(e){this.set("server",e)}}const elements_Link=Link;class LinkVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Link,this.specPath=es_always(["document","objects","Link"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),(isStringElement(this.element.operationId)||isStringElement(this.element.operationRef))&&this.element.classes.push("reference-element")}}const open_api_3_0_link=LinkVisitor;class OperationRefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const link_OperationRefVisitor=OperationRefVisitor;class OperationIdVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const link_OperationIdVisitor=OperationIdVisitor;class LinkParameters extends primitives_ObjectElement{static primaryClass="link-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(LinkParameters.primaryClass)}}const nces_LinkParameters=LinkParameters;class ParametersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_LinkParameters,this.specPath=es_always(["value"])}}const link_ParametersVisitor=ParametersVisitor;class Server extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="server"}get url(){return this.get("url")}set url(e){this.set("url",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get variables(){return this.get("variables")}set variables(e){this.set("variables",e)}}const elements_Server=Server;class ServerVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Server,this.specPath=es_always(["document","objects","Server"]),this.canSupportSpecificationExtensions=!0}}const server=ServerVisitor;class UrlVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("server-url")}}const server_UrlVisitor=UrlVisitor;class Servers extends primitives_ArrayElement{static primaryClass="servers";constructor(e,t,s){super(e,t,s),this.classes.push(Servers.primaryClass)}}const nces_Servers=Servers;class ServersVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Servers}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isServerLikeElement(e)?["document","objects","Server"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_ServersVisitor=ServersVisitor;class ServerVariable extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="serverVariable"}get enum(){return this.get("enum")}set enum(e){this.set("enum",e)}get default(){return this.get("default")}set default(e){this.set("default",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}}const elements_ServerVariable=ServerVariable;class ServerVariableVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_ServerVariable,this.specPath=es_always(["document","objects","ServerVariable"]),this.canSupportSpecificationExtensions=!0}}const server_variable=ServerVariableVisitor;class ServerVariables extends primitives_ObjectElement{static primaryClass="server-variables";constructor(e,t,s){super(e,t,s),this.classes.push(ServerVariables.primaryClass)}}const nces_ServerVariables=ServerVariables;class VariablesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ServerVariables,this.specPath=es_always(["document","objects","ServerVariable"])}}const server_VariablesVisitor=VariablesVisitor;class MediaType extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="mediaType"}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get encoding(){return this.get("encoding")}set encoding(e){this.set("encoding",e)}}const elements_MediaType=MediaType;class MediaTypeVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_MediaType,this.specPath=es_always(["document","objects","MediaType"]),this.canSupportSpecificationExtensions=!0}}const media_type=MediaTypeVisitor;class Header extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="header"}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get allowEmptyValue(){return this.get("allowEmptyValue")}set allowEmptyValue(e){this.set("allowEmptyValue",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowReserved(){return this.get("allowReserved")}set allowReserved(e){this.set("allowReserved",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}}Object.defineProperty(Header.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0});const elements_Header=Header;class Operation extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="operation"}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}set externalDocs(e){this.set("externalDocs",e)}get externalDocs(){return this.get("externalDocs")}get operationId(){return this.get("operationId")}set operationId(e){this.set("operationId",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}get responses(){return this.get("responses")}set responses(e){this.set("responses",e)}get callbacks(){return this.get("callbacks")}set callbacks(e){this.set("callbacks",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get servers(){return this.get("severs")}set servers(e){this.set("servers",e)}}const elements_Operation=Operation;class PathItem extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="pathItem"}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get getField(){return this.get("get")}set getField(e){this.set("get",e)}get put(){return this.get("put")}set put(e){this.set("put",e)}get post(){return this.get("post")}set post(e){this.set("post",e)}get deleteField(){return this.get("delete")}set deleteField(e){this.set("delete",e)}get options(){return this.get("options")}set options(e){this.set("options",e)}get head(){return this.get("head")}set head(e){this.set("head",e)}get patch(){return this.get("patch")}set patch(e){this.set("patch",e)}get trace(){return this.get("trace")}set trace(e){this.set("trace",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}}const elements_PathItem=PathItem;class Reference extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="reference",this.classes.push("openapi-reference")}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}}const elements_Reference=Reference;class Response extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="response"}get description(){return this.get("description")}set description(e){this.set("description",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}}const elements_Response=Response,isCallbackElement=e=>e instanceof CallbackElement,isComponentsElement=e=>e instanceof ComponentsElement,isContactElement=e=>e instanceof ContactElement,isExampleElement=e=>e instanceof ExampleElement,isExternalDocumentationElement=e=>e instanceof ExternalDocumentationElement,isHeaderElement=e=>e instanceof elements_Header,isInfoElement=e=>e instanceof InfoElement,isLicenseElement=e=>e instanceof LicenseElement,predicates_isLinkElement=e=>e instanceof LinkElement,isOpenapiElement=e=>e instanceof OpenapiElement,isOpenApi3_0Element=e=>e instanceof OpenApi3_0Element,isOperationElement=e=>e instanceof elements_Operation,isParameterElement=e=>e instanceof ParameterElement,isPathItemElement=e=>e instanceof elements_PathItem,isPathsElement=e=>e instanceof PathsElement,isReferenceElement=e=>e instanceof elements_Reference,isRequestBodyElement=e=>e instanceof RequestBodyElement,isResponseElement=e=>e instanceof elements_Response,isResponsesElement=e=>e instanceof ResponsesElement,isSchemaElement=e=>e instanceof SchemaElement,isBooleanJsonSchemaElement=e=>isBooleanElement(e)&&includesClasses(e,["boolean-json-schema"]),isSecurityRequirementElement=e=>e instanceof SecurityRequirementElement,isSecuritySchemeElement=e=>e instanceof SecuritySchemeElement,isServerElement=e=>e instanceof ServerElement,isServerVariableElement=e=>e instanceof ServerVariableElement,isMediaTypeElement=e=>e instanceof elements_MediaType,isServersElement=e=>e instanceof ServersElement;class SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const media_type_SchemaVisitor=SchemaVisitor;class ExamplesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("examples"),this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Example"],this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","example")})}}const open_api_3_0_ExamplesVisitor=ExamplesVisitor;class MediaTypeExamples extends primitives_ObjectElement{static primaryClass="media-type-examples";constructor(e,t,s){super(e,t,s),this.classes.push(MediaTypeExamples.primaryClass),this.classes.push("examples")}}const nces_MediaTypeExamples=MediaTypeExamples;class ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_MediaTypeExamples}}const media_type_ExamplesVisitor=ExamplesVisitor_ExamplesVisitor;class MediaTypeEncoding extends primitives_ObjectElement{static primaryClass="media-type-encoding";constructor(e,t,s){super(e,t,s),this.classes.push(MediaTypeEncoding.primaryClass)}}const nces_MediaTypeEncoding=MediaTypeEncoding;class EncodingVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_MediaTypeEncoding,this.specPath=es_always(["document","objects","Encoding"])}}const media_type_EncodingVisitor=EncodingVisitor;class SecurityRequirement extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="securityRequirement"}}const elements_SecurityRequirement=SecurityRequirement;class SecurityRequirementVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new elements_SecurityRequirement,this.specPath=es_always(["value"])}}const security_requirement=SecurityRequirementVisitor;class Security extends primitives_ArrayElement{static primaryClass="security";constructor(e,t,s){super(e,t,s),this.classes.push(Security.primaryClass)}}const nces_Security=Security;class SecurityVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Security}ArrayElement(e){const t=e.node;t.forEach(e=>{if(isObjectElement(e)){const t=this.toRefractedElement(["document","objects","SecurityRequirement"],e);this.element.push(t)}else this.element.push(cloneDeep(e))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_SecurityVisitor=SecurityVisitor;class Components extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="components"}get schemas(){return this.get("schemas")}set schemas(e){this.set("schemas",e)}get responses(){return this.get("responses")}set responses(e){this.set("responses",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get requestBodies(){return this.get("requestBodies")}set requestBodies(e){this.set("requestBodies",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get securitySchemes(){return this.get("securitySchemes")}set securitySchemes(e){this.set("securitySchemes",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}get callbacks(){return this.get("callbacks")}set callbacks(e){this.set("callbacks",e)}}const elements_Components=Components;class ComponentsVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Components,this.specPath=es_always(["document","objects","Components"]),this.canSupportSpecificationExtensions=!0}}const components=ComponentsVisitor;class Tag extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="tag"}get name(){return this.get("name")}set name(e){this.set("name",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}}const elements_Tag=Tag;class TagVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Tag,this.specPath=es_always(["document","objects","Tag"]),this.canSupportSpecificationExtensions=!0}}const tag=TagVisitor;class ReferenceVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Reference,this.specPath=es_always(["document","objects","Reference"]),this.canSupportSpecificationExtensions=!1}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const reference=ReferenceVisitor;class $RefVisitor_$RefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const reference_$RefVisitor=$RefVisitor_$RefVisitor;class Parameter extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="parameter"}get name(){return this.get("name")}set name(e){this.set("name",e)}get in(){return this.get("in")}set in(e){this.set("in",e)}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get allowEmptyValue(){return this.get("allowEmptyValue")}set allowEmptyValue(e){this.set("allowEmptyValue",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowReserved(){return this.get("allowReserved")}set allowReserved(e){this.set("allowReserved",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}}Object.defineProperty(Parameter.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0});const elements_Parameter=Parameter;class ParameterVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Parameter,this.specPath=es_always(["document","objects","Parameter"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))})}}const parameter=ParameterVisitor;class SchemaVisitor_SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const parameter_SchemaVisitor=SchemaVisitor_SchemaVisitor;class HeaderVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Header,this.specPath=es_always(["document","objects","Header"]),this.canSupportSpecificationExtensions=!0}}const header=HeaderVisitor;class header_SchemaVisitor_SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const header_SchemaVisitor=header_SchemaVisitor_SchemaVisitor;class HeaderExamples extends primitives_ObjectElement{static primaryClass="header-examples";constructor(e,t,s){super(e,t,s),this.classes.push(HeaderExamples.primaryClass),this.classes.push("examples")}}const nces_HeaderExamples=HeaderExamples;class header_ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_HeaderExamples}}const header_ExamplesVisitor=header_ExamplesVisitor_ExamplesVisitor;class ContentVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("content"),this.specPath=es_always(["document","objects","MediaType"])}}const open_api_3_0_ContentVisitor=ContentVisitor;class HeaderContent extends primitives_ObjectElement{static primaryClass="header-content";constructor(e,t,s){super(e,t,s),this.classes.push(HeaderContent.primaryClass),this.classes.push("content")}}const nces_HeaderContent=HeaderContent;class ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_HeaderContent}}const header_ContentVisitor=ContentVisitor_ContentVisitor;class UnsupportedOperationError extends src_ApiDOMError{}const src_UnsupportedOperationError=UnsupportedOperationError,resolvedSpec=resolveSpecification(refractor_specification),getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(elements_JSONSchema,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(elements_JSONReference,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.JSONReference.fixedFields),enumerable:!0}),Object.defineProperty(elements_Media,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.Media.fixedFields),enumerable:!0}),Object.defineProperty(elements_LinkDescription,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class Schema extends elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="schema",this.classes.push("json-schema-draft-4")}get idField(){throw new src_UnsupportedOperationError("idField getter in Schema class is not not supported.")}set idField(e){throw new src_UnsupportedOperationError("idField setter in Schema class is not not supported.")}get $schema(){throw new src_UnsupportedOperationError("$schema getter in Schema class is not not supported.")}set $schema(e){throw new src_UnsupportedOperationError("$schema setter in Schema class is not not supported.")}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get patternProperties(){throw new src_UnsupportedOperationError("patternProperties getter in Schema class is not not supported.")}set patternProperties(e){throw new src_UnsupportedOperationError("patternProperties setter in Schema class is not not supported.")}get dependencies(){throw new src_UnsupportedOperationError("dependencies getter in Schema class is not not supported.")}set dependencies(e){throw new src_UnsupportedOperationError("dependencies setter in Schema class is not not supported.")}get type(){return this.get("type")}set type(e){this.set("type",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get definitions(){throw new src_UnsupportedOperationError("definitions getter in Schema class is not not supported.")}set definitions(e){throw new src_UnsupportedOperationError("definitions setter in Schema class is not not supported.")}get base(){throw new src_UnsupportedOperationError("base getter in Schema class is not not supported.")}set base(e){throw new src_UnsupportedOperationError("base setter in Schema class is not not supported.")}get linksField(){throw new src_UnsupportedOperationError("linksField getter in Schema class is not not supported.")}set linksField(e){throw new src_UnsupportedOperationError("linksField setter in Schema class is not not supported.")}get media(){throw new src_UnsupportedOperationError("media getter in Schema class is not not supported.")}set media(e){throw new src_UnsupportedOperationError("media setter in Schema class is not not supported.")}get nullable(){return this.get("nullable")}set nullable(e){this.set("nullable",e)}get discriminator(){return this.get("discriminator")}set discriminator(e){this.set("discriminator",e)}get writeOnly(){return this.get("writeOnly")}set writeOnly(e){this.set("writeOnly",e)}get xml(){return this.get("xml")}set xml(e){this.set("xml",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get deprecated(){return this.get("deprecated")}set deprecated(e){this.set("deprecated",e)}}const elements_Schema=Schema;class schema_SchemaVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Schema,this.specPath=es_always(["document","objects","Schema"]),this.canSupportSpecificationExtensions=!0}}const schema=schema_SchemaVisitor,JSONSchemaAllOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.allOf;class AllOfVisitor_AllOfVisitor extends JSONSchemaAllOfVisitor{ArrayElement(e){JSONSchemaAllOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_AllOfVisitor=AllOfVisitor_AllOfVisitor,JSONSchemaAnyOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.anyOf;class AnyOfVisitor_AnyOfVisitor extends JSONSchemaAnyOfVisitor{ArrayElement(e){JSONSchemaAnyOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_AnyOfVisitor=AnyOfVisitor_AnyOfVisitor,JSONSchemaOneOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.oneOf;class OneOfVisitor_OneOfVisitor extends JSONSchemaOneOfVisitor{ArrayElement(e){JSONSchemaOneOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_OneOfVisitor=OneOfVisitor_OneOfVisitor;class ItemsVisitor_ItemsVisitor extends json_schema_ItemsVisitor{ObjectElement(e){json_schema_ItemsVisitor.prototype.ObjectElement.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}ArrayElement(e){this.enter(e)}}const schema_ItemsVisitor=ItemsVisitor_ItemsVisitor,JSONSchemaPropertiesVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.properties;class PropertiesVisitor_PropertiesVisitor extends JSONSchemaPropertiesVisitor{ObjectElement(e){JSONSchemaPropertiesVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_PropertiesVisitor=PropertiesVisitor_PropertiesVisitor,JSONSchemaTypeVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.type;class TypeVisitor_TypeVisitor extends JSONSchemaTypeVisitor{ArrayElement(e){this.enter(e)}}const schema_TypeVisitor=TypeVisitor_TypeVisitor,SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor=refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor;class SchemaOrReferenceVisitor_SchemaOrReferenceVisitor extends SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor{ObjectElement(e){SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const schema_SchemaOrReferenceVisitor=SchemaOrReferenceVisitor_SchemaOrReferenceVisitor;class Discriminator extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="discriminator"}get propertyName(){return this.get("propertyName")}set propertyName(e){this.set("propertyName",e)}get mapping(){return this.get("mapping")}set mapping(e){this.set("mapping",e)}}const elements_Discriminator=Discriminator;class DiscriminatorVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Discriminator,this.specPath=es_always(["document","objects","Discriminator"]),this.canSupportSpecificationExtensions=!1}}const distriminator=DiscriminatorVisitor;class DiscriminatorMapping extends primitives_ObjectElement{static primaryClass="discriminator-mapping";constructor(e,t,s){super(e,t,s),this.classes.push(DiscriminatorMapping.primaryClass)}}const nces_DiscriminatorMapping=DiscriminatorMapping;class MappingVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_DiscriminatorMapping,this.specPath=es_always(["value"])}}const distriminator_MappingVisitor=MappingVisitor;class Xml extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="xml"}get name(){return this.get("name")}set name(e){this.set("name",e)}get namespace(){return this.get("namespace")}set namespace(e){this.set("namespace",e)}get prefix(){return this.get("prefix")}set prefix(e){this.set("prefix",e)}get attribute(){return this.get("attribute")}set attribute(e){this.set("attribute",e)}get wrapped(){return this.get("wrapped")}set wrapped(e){this.set("wrapped",e)}}const elements_Xml=Xml;class XmlVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Xml,this.specPath=es_always(["document","objects","XML"]),this.canSupportSpecificationExtensions=!0}}const xml=XmlVisitor;class ParameterExamples extends primitives_ObjectElement{static primaryClass="parameter-examples";constructor(e,t,s){super(e,t,s),this.classes.push(ParameterExamples.primaryClass),this.classes.push("examples")}}const nces_ParameterExamples=ParameterExamples;class parameter_ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_ParameterExamples}}const parameter_ExamplesVisitor=parameter_ExamplesVisitor_ExamplesVisitor;class ParameterContent extends primitives_ObjectElement{static primaryClass="parameter-content";constructor(e,t,s){super(e,t,s),this.classes.push(ParameterContent.primaryClass),this.classes.push("content")}}const nces_ParameterContent=ParameterContent;class parameter_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_ParameterContent}}const parameter_ContentVisitor=parameter_ContentVisitor_ContentVisitor;class ComponentsSchemas extends primitives_ObjectElement{static primaryClass="components-schemas";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsSchemas.primaryClass)}}const nces_ComponentsSchemas=ComponentsSchemas;class SchemasVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSchemas,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Schema"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const components_SchemasVisitor=SchemasVisitor;class ComponentsResponses extends primitives_ObjectElement{static primaryClass="components-responses";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsResponses.primaryClass)}}const nces_ComponentsResponses=ComponentsResponses;class ResponsesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsResponses,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Response"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","response")}),this.element.filter(isResponseElement).forEach((e,t)=>{e.meta.set("http-status-code",serializers_value(t))})}}const components_ResponsesVisitor=ResponsesVisitor;class ComponentsParameters extends primitives_ObjectElement{static primaryClass="components-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsParameters.primaryClass),this.classes.push("parameters")}}const nces_ComponentsParameters=ComponentsParameters;class ParametersVisitor_ParametersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsParameters,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Parameter"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","parameter")})}}const components_ParametersVisitor=ParametersVisitor_ParametersVisitor;class ComponentsExamples extends primitives_ObjectElement{static primaryClass="components-examples";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsExamples.primaryClass),this.classes.push("examples")}}const nces_ComponentsExamples=ComponentsExamples;class components_ExamplesVisitor_ExamplesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsExamples,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Example"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","example")})}}const components_ExamplesVisitor=components_ExamplesVisitor_ExamplesVisitor;class ComponentsRequestBodies extends primitives_ObjectElement{static primaryClass="components-request-bodies";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsRequestBodies.primaryClass)}}const nces_ComponentsRequestBodies=ComponentsRequestBodies;class RequestBodiesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsRequestBodies,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","RequestBody"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","requestBody")})}}const components_RequestBodiesVisitor=RequestBodiesVisitor;class ComponentsHeaders extends primitives_ObjectElement{static primaryClass="components-headers";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsHeaders.primaryClass)}}const nces_ComponentsHeaders=ComponentsHeaders;class HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const components_HeadersVisitor=HeadersVisitor;class ComponentsSecuritySchemes extends primitives_ObjectElement{static primaryClass="components-security-schemes";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsSecuritySchemes.primaryClass)}}const nces_ComponentsSecuritySchemes=ComponentsSecuritySchemes;class SecuritySchemesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSecuritySchemes,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","SecurityScheme"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","securityScheme")})}}const components_SecuritySchemesVisitor=SecuritySchemesVisitor;class ComponentsLinks extends primitives_ObjectElement{static primaryClass="components-links";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsLinks.primaryClass)}}const nces_ComponentsLinks=ComponentsLinks;class LinksVisitor_LinksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsLinks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Link"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","link")})}}const components_LinksVisitor=LinksVisitor_LinksVisitor;class ComponentsCallbacks extends primitives_ObjectElement{static primaryClass="components-callbacks";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsCallbacks.primaryClass)}}const nces_ComponentsCallbacks=ComponentsCallbacks;class CallbacksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsCallbacks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Callback"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","callback")})}}const components_CallbacksVisitor=CallbacksVisitor;class Example extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="example"}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get value(){return this.get("value")}set value(e){this.set("value",e)}get externalValue(){return this.get("externalValue")}set externalValue(e){this.set("externalValue",e)}}const elements_Example=Example;class ExampleVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Example,this.specPath=es_always(["document","objects","Example"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.externalValue)&&this.element.classes.push("reference-element")}}const example=ExampleVisitor;class ExternalValueVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const example_ExternalValueVisitor=ExternalValueVisitor;class ExternalDocumentation extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="externalDocumentation"}get description(){return this.get("description")}set description(e){this.set("description",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}}const elements_ExternalDocumentation=ExternalDocumentation;class ExternalDocumentationVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_ExternalDocumentation,this.specPath=es_always(["document","objects","ExternalDocumentation"]),this.canSupportSpecificationExtensions=!0}}const external_documentation=ExternalDocumentationVisitor;class Encoding extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="encoding"}get contentType(){return this.get("contentType")}set contentType(e){this.set("contentType",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowedReserved(){return this.get("allowedReserved")}set allowedReserved(e){this.set("allowedReserved",e)}}const elements_Encoding=Encoding;class encoding_EncodingVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Encoding,this.specPath=es_always(["document","objects","Encoding"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.headers)&&this.element.headers.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const encoding=encoding_EncodingVisitor;class EncodingHeaders extends primitives_ObjectElement{static primaryClass="encoding-headers";constructor(e,t,s){super(e,t,s),this.classes.push(EncodingHeaders.primaryClass)}}const nces_EncodingHeaders=EncodingHeaders;class HeadersVisitor_HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_EncodingHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.forEach((e,t)=>{if(!isHeaderElement(e))return;const s=serializers_value(t);e.meta.set("headerName",s)})}}const encoding_HeadersVisitor=HeadersVisitor_HeadersVisitor;class Paths extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="paths"}}const elements_Paths=Paths;class PathsVisitor extends BasePatternedFieldsVisitor{constructor(e){super(e),this.element=new elements_Paths,this.specPath=es_always(["document","objects","PathItem"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=es_T}ObjectElement(e){BasePatternedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isPathItemElement).forEach((e,t)=>{t.classes.push("openapi-path-template"),t.classes.push("path-template"),e.meta.set("path",cloneDeep(t))})}}const paths=PathsVisitor;class RequestBody extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="requestBody"}get description(){return this.get("description")}set description(e){this.set("description",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}}const elements_RequestBody=RequestBody;class RequestBodyVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_RequestBody,this.specPath=es_always(["document","objects","RequestBody"])}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))})}}const request_body=RequestBodyVisitor;class RequestBodyContent extends primitives_ObjectElement{static primaryClass="request-body-content";constructor(e,t,s){super(e,t,s),this.classes.push(RequestBodyContent.primaryClass),this.classes.push("content")}}const nces_RequestBodyContent=RequestBodyContent;class request_body_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_RequestBodyContent}}const request_body_ContentVisitor=request_body_ContentVisitor_ContentVisitor;class Callback extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="callback"}}const elements_Callback=Callback;class CallbackVisitor extends BasePatternedFieldsVisitor{constructor(e){super(e),this.element=new elements_Callback,this.specPath=es_always(["document","objects","PathItem"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=e=>/{(?<expression>[^}]{1,2083})}/.test(String(e))}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isPathItemElement).forEach((e,t)=>{e.meta.set("runtime-expression",serializers_value(t))})}}const callback=CallbackVisitor;class ResponseVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Response,this.specPath=es_always(["document","objects","Response"])}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))}),isObjectElement(this.element.headers)&&this.element.headers.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const response=ResponseVisitor;class ResponseHeaders extends primitives_ObjectElement{static primaryClass="response-headers";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseHeaders.primaryClass)}}const nces_ResponseHeaders=ResponseHeaders;class response_HeadersVisitor_HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ResponseHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.forEach((e,t)=>{if(!isHeaderElement(e))return;const s=serializers_value(t);e.meta.set("header-name",s)})}}const response_HeadersVisitor=response_HeadersVisitor_HeadersVisitor;class ResponseContent extends primitives_ObjectElement{static primaryClass="response-content";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseContent.primaryClass),this.classes.push("content")}}const nces_ResponseContent=ResponseContent;class response_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_ResponseContent}}const response_ContentVisitor=response_ContentVisitor_ContentVisitor;class ResponseLinks extends primitives_ObjectElement{static primaryClass="response-links";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseLinks.primaryClass)}}const nces_ResponseLinks=ResponseLinks;class response_LinksVisitor_LinksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ResponseLinks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Link"]}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","link")})}}const response_LinksVisitor=response_LinksVisitor_LinksVisitor;function _isNumber(e){return"[object Number]"===Object.prototype.toString.call(e)}var range=_curry2(function(e,t){if(!_isNumber(e)||!_isNumber(t))throw new TypeError("Both arguments to range must be numbers");for(var s=e<t?Math.ceil(t-e):0,r=Array(s),i=0;i<s;)r[i]=i+e,i+=1;return r});const es_range=range;class Responses extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="responses"}get default(){return this.get("default")}set default(e){this.set("default",e)}}const elements_Responses=Responses;class responses_ResponsesVisitor extends BaseMixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Responses,this.specPathFixedFields=es_always(["document","objects","Responses"]),this.canSupportSpecificationExtensions=!0,this.specPathPatternedFields=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Response"],this.fieldPatternPredicate=e=>new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${es_range(100,600).join("|")})$`).test(String(e))}ObjectElement(e){BaseMixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","response")}),this.element.filter(isResponseElement).forEach((e,t)=>{const s=cloneDeep(t);this.fieldPatternPredicate(serializers_value(s))&&e.meta.set("http-status-code",s)})}}const responses=responses_ResponsesVisitor;class DefaultVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Response"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)?this.element.meta.set("referenced-element","response"):isResponseElement(this.element)&&this.element.meta.set("http-status-code","default")}}const responses_DefaultVisitor=DefaultVisitor;class OperationVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Operation,this.specPath=es_always(["document","objects","Operation"])}}const operation=OperationVisitor;class OperationTags extends primitives_ArrayElement{static primaryClass="operation-tags";constructor(e,t,s){super(e,t,s),this.classes.push(OperationTags.primaryClass)}}const nces_OperationTags=OperationTags;class TagsVisitor extends refractor_visitors_FallbackVisitor{constructor(e){super(e),this.element=new nces_OperationTags}ArrayElement(e){const t=e.node;this.element=this.element.concat(cloneDeep(t)),e.stop()}}const operation_TagsVisitor=TagsVisitor;class OperationParameters extends primitives_ArrayElement{static primaryClass="operation-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(OperationParameters.primaryClass),this.classes.push("parameters")}}const nces_OperationParameters=OperationParameters;class open_api_3_0_ParametersVisitor_ParametersVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("parameters")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Parameter"],s=this.toRefractedElement(t,e);isReferenceElement(s)&&s.meta.set("referenced-element","parameter"),this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_ParametersVisitor=open_api_3_0_ParametersVisitor_ParametersVisitor;class operation_ParametersVisitor_ParametersVisitor extends open_api_3_0_ParametersVisitor{constructor(e){super(e),this.element=new nces_OperationParameters}}const operation_ParametersVisitor=operation_ParametersVisitor_ParametersVisitor;class RequestBodyVisitor_RequestBodyVisitor extends visitors_generics_AlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","RequestBody"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","requestBody")}}const operation_RequestBodyVisitor=RequestBodyVisitor_RequestBodyVisitor;class OperationCallbacks extends primitives_ObjectElement{static primaryClass="operation-callbacks";constructor(e,t,s){super(e,t,s),this.classes.push(OperationCallbacks.primaryClass)}}const nces_OperationCallbacks=OperationCallbacks;class CallbacksVisitor_CallbacksVisitor extends BaseMapVisitor{specPath;constructor(e){super(e),this.element=new nces_OperationCallbacks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Callback"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","callback")})}}const operation_CallbacksVisitor=CallbacksVisitor_CallbacksVisitor;class OperationSecurity extends primitives_ArrayElement{static primaryClass="operation-security";constructor(e,t,s){super(e,t,s),this.classes.push(OperationSecurity.primaryClass),this.classes.push("security")}}const nces_OperationSecurity=OperationSecurity;class SecurityVisitor_SecurityVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_OperationSecurity}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isObjectElement(e)?["document","objects","SecurityRequirement"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const operation_SecurityVisitor=SecurityVisitor_SecurityVisitor;class OperationServers extends primitives_ArrayElement{static primaryClass="operation-servers";constructor(e,t,s){super(e,t,s),this.classes.push(OperationServers.primaryClass),this.classes.push("servers")}}const nces_OperationServers=OperationServers;class ServersVisitor_ServersVisitor extends open_api_3_0_ServersVisitor{constructor(e){super(e),this.element=new nces_OperationServers}}const operation_ServersVisitor=ServersVisitor_ServersVisitor;class PathItemVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_PathItem,this.specPath=es_always(["document","objects","PathItem"])}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isOperationElement).forEach((e,t)=>{const s=cloneDeep(t);s.content=serializers_value(s).toUpperCase(),e.meta.set("http-method",s)}),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const path_item=PathItemVisitor;class path_item_$RefVisitor_$RefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const path_item_$RefVisitor=path_item_$RefVisitor_$RefVisitor;class PathItemServers extends primitives_ArrayElement{static primaryClass="path-item-servers";constructor(e,t,s){super(e,t,s),this.classes.push(PathItemServers.primaryClass),this.classes.push("servers")}}const nces_PathItemServers=PathItemServers;class path_item_ServersVisitor_ServersVisitor extends open_api_3_0_ServersVisitor{constructor(e){super(e),this.element=new nces_PathItemServers}}const path_item_ServersVisitor=path_item_ServersVisitor_ServersVisitor;class PathItemParameters extends primitives_ArrayElement{static primaryClass="path-item-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(PathItemParameters.primaryClass),this.classes.push("parameters")}}const nces_PathItemParameters=PathItemParameters;class path_item_ParametersVisitor_ParametersVisitor extends open_api_3_0_ParametersVisitor{constructor(e){super(e),this.element=new nces_PathItemParameters}}const path_item_ParametersVisitor=path_item_ParametersVisitor_ParametersVisitor;class SecurityScheme extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="securityScheme"}get type(){return this.get("type")}set type(e){this.set("type",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get name(){return this.get("name")}set name(e){this.set("name",e)}get in(){return this.get("in")}set in(e){this.set("in",e)}get scheme(){return this.get("scheme")}set scheme(e){this.set("scheme",e)}get bearerFormat(){return this.get("bearerFormat")}set bearerFormat(e){this.set("bearerFormat",e)}get flows(){return this.get("flows")}set flows(e){this.set("flows",e)}get openIdConnectUrl(){return this.get("openIdConnectUrl")}set openIdConnectUrl(e){this.set("openIdConnectUrl",e)}}const elements_SecurityScheme=SecurityScheme;class SecuritySchemeVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_SecurityScheme,this.specPath=es_always(["document","objects","SecurityScheme"]),this.canSupportSpecificationExtensions=!0}}const security_scheme=SecuritySchemeVisitor;class OAuthFlows extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="oAuthFlows"}get implicit(){return this.get("implicit")}set implicit(e){this.set("implicit",e)}get password(){return this.get("password")}set password(e){this.set("password",e)}get clientCredentials(){return this.get("clientCredentials")}set clientCredentials(e){this.set("clientCredentials",e)}get authorizationCode(){return this.get("authorizationCode")}set authorizationCode(e){this.set("authorizationCode",e)}}const elements_OAuthFlows=OAuthFlows;class OAuthFlowsVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OAuthFlows,this.specPath=es_always(["document","objects","OAuthFlows"]),this.canSupportSpecificationExtensions=!0}}const oauth_flows=OAuthFlowsVisitor;class OAuthFlow extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="oAuthFlow"}get authorizationUrl(){return this.get("authorizationUrl")}set authorizationUrl(e){this.set("authorizationUrl",e)}get tokenUrl(){return this.get("tokenUrl")}set tokenUrl(e){this.set("tokenUrl",e)}get refreshUrl(){return this.get("refreshUrl")}set refreshUrl(e){this.set("refreshUrl",e)}get scopes(){return this.get("scopes")}set scopes(e){this.set("scopes",e)}}const elements_OAuthFlow=OAuthFlow;class OAuthFlowVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OAuthFlow,this.specPath=es_always(["document","objects","OAuthFlow"]),this.canSupportSpecificationExtensions=!0}}const oauth_flow=OAuthFlowVisitor;class OAuthFlowScopes extends primitives_ObjectElement{static primaryClass="oauth-flow-scopes";constructor(e,t,s){super(e,t,s),this.classes.push(OAuthFlowScopes.primaryClass)}}const nces_OAuthFlowScopes=OAuthFlowScopes;class ScopesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_OAuthFlowScopes,this.specPath=es_always(["value"])}}const oauth_flow_ScopesVisitor=ScopesVisitor;class Tags extends primitives_ArrayElement{static primaryClass="tags";constructor(e,t,s){super(e,t,s),this.classes.push(Tags.primaryClass)}}const nces_Tags=Tags;class TagsVisitor_TagsVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Tags}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isTagLikeElement(e)?["document","objects","Tag"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_TagsVisitor=TagsVisitor_TagsVisitor,{fixedFields:jsonSchemaFixedFields}=refractor_specification.visitors.document.objects.JSONSchema,specification_specification={visitors:{value:refractor_visitors_FallbackVisitor,document:{objects:{OpenApi:{$visitor:open_api_3_0,element:"openApi3_0",fixedFields:{openapi:open_api_3_0_OpenapiVisitor,info:{$ref:"#/visitors/document/objects/Info"},servers:open_api_3_0_ServersVisitor,paths:{$ref:"#/visitors/document/objects/Paths"},components:{$ref:"#/visitors/document/objects/Components"},security:open_api_3_0_SecurityVisitor,tags:open_api_3_0_TagsVisitor,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Info:{$visitor:info,element:"info",fixedFields:{title:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},termsOfService:{$ref:"#/visitors/value"},contact:{$ref:"#/visitors/document/objects/Contact"},license:{$ref:"#/visitors/document/objects/License"},version:info_VersionVisitor}},Contact:{$visitor:contact,element:"contact",fixedFields:{name:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"},email:{$ref:"#/visitors/value"}}},License:{$visitor:license,element:"license",fixedFields:{name:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"}}},Server:{$visitor:server,element:"server",fixedFields:{url:server_UrlVisitor,description:{$ref:"#/visitors/value"},variables:server_VariablesVisitor}},ServerVariable:{$visitor:server_variable,element:"serverVariable",fixedFields:{enum:{$ref:"#/visitors/value"},default:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"}}},Components:{$visitor:components,element:"components",fixedFields:{schemas:components_SchemasVisitor,responses:components_ResponsesVisitor,parameters:components_ParametersVisitor,examples:components_ExamplesVisitor,requestBodies:components_RequestBodiesVisitor,headers:components_HeadersVisitor,securitySchemes:components_SecuritySchemesVisitor,links:{$visitor:components_LinksVisitor,alias:"linksField"},callbacks:components_CallbacksVisitor}},Paths:{$visitor:paths,element:"paths"},PathItem:{$visitor:path_item,element:"pathItem",fixedFields:{$ref:path_item_$RefVisitor,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},get:{$ref:"#/visitors/document/objects/Operation",alias:"getField"},put:{$ref:"#/visitors/document/objects/Operation"},post:{$ref:"#/visitors/document/objects/Operation"},delete:{$ref:"#/visitors/document/objects/Operation",alias:"deleteField"},options:{$ref:"#/visitors/document/objects/Operation"},head:{$ref:"#/visitors/document/objects/Operation"},patch:{$ref:"#/visitors/document/objects/Operation"},trace:{$ref:"#/visitors/document/objects/Operation"},servers:path_item_ServersVisitor,parameters:path_item_ParametersVisitor}},Operation:{$visitor:operation,element:"operation",fixedFields:{tags:operation_TagsVisitor,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},operationId:{$ref:"#/visitors/value"},parameters:operation_ParametersVisitor,requestBody:operation_RequestBodyVisitor,responses:{$ref:"#/visitors/document/objects/Responses"},callbacks:operation_CallbacksVisitor,deprecated:{$ref:"#/visitors/value"},security:operation_SecurityVisitor,servers:operation_ServersVisitor}},ExternalDocumentation:{$visitor:external_documentation,element:"externalDocumentation",fixedFields:{description:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"}}},Parameter:{$visitor:parameter,element:"parameter",fixedFields:{name:{$ref:"#/visitors/value"},in:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},required:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"},allowEmptyValue:{$ref:"#/visitors/value"},style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"},schema:parameter_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:parameter_ExamplesVisitor,content:{$visitor:parameter_ContentVisitor,alias:"contentField"}}},RequestBody:{$visitor:request_body,element:"requestBody",fixedFields:{description:{$ref:"#/visitors/value"},content:{$visitor:request_body_ContentVisitor,alias:"contentField"},required:{$ref:"#/visitors/value"}}},MediaType:{$visitor:media_type,element:"mediaType",fixedFields:{schema:media_type_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:media_type_ExamplesVisitor,encoding:media_type_EncodingVisitor}},Encoding:{$visitor:encoding,element:"encoding",fixedFields:{contentType:{$ref:"#/visitors/value"},headers:encoding_HeadersVisitor,style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"}}},Responses:{$visitor:responses,element:"responses",fixedFields:{default:responses_DefaultVisitor}},Response:{$visitor:response,element:"response",fixedFields:{description:{$ref:"#/visitors/value"},headers:response_HeadersVisitor,content:{$visitor:response_ContentVisitor,alias:"contentField"},links:{$visitor:response_LinksVisitor,alias:"linksField"}}},Callback:{$visitor:callback,element:"callback"},Example:{$visitor:example,element:"example",fixedFields:{summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},value:{$ref:"#/visitors/value"},externalValue:example_ExternalValueVisitor}},Link:{$visitor:open_api_3_0_link,element:"link",fixedFields:{operationRef:link_OperationRefVisitor,operationId:link_OperationIdVisitor,parameters:link_ParametersVisitor,requestBody:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},server:{$ref:"#/visitors/document/objects/Server"}}},Header:{$visitor:header,element:"header",fixedFields:{description:{$ref:"#/visitors/value"},required:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"},allowEmptyValue:{$ref:"#/visitors/value"},style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"},schema:header_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:header_ExamplesVisitor,content:{$visitor:header_ContentVisitor,alias:"contentField"}}},Tag:{$visitor:tag,element:"tag",fixedFields:{name:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Reference:{$visitor:reference,element:"reference",fixedFields:{$ref:reference_$RefVisitor}},JSONSchema:{$ref:"#/visitors/document/objects/Schema"},JSONReference:{$ref:"#/visitors/document/objects/Reference"},Schema:{$visitor:schema,element:"schema",fixedFields:{title:jsonSchemaFixedFields.title,multipleOf:jsonSchemaFixedFields.multipleOf,maximum:jsonSchemaFixedFields.maximum,exclusiveMaximum:jsonSchemaFixedFields.exclusiveMaximum,minimum:jsonSchemaFixedFields.minimum,exclusiveMinimum:jsonSchemaFixedFields.exclusiveMinimum,maxLength:jsonSchemaFixedFields.maxLength,minLength:jsonSchemaFixedFields.minLength,pattern:jsonSchemaFixedFields.pattern,maxItems:jsonSchemaFixedFields.maxItems,minItems:jsonSchemaFixedFields.minItems,uniqueItems:jsonSchemaFixedFields.uniqueItems,maxProperties:jsonSchemaFixedFields.maxProperties,minProperties:jsonSchemaFixedFields.minProperties,required:jsonSchemaFixedFields.required,enum:jsonSchemaFixedFields.enum,type:schema_TypeVisitor,allOf:schema_AllOfVisitor,anyOf:schema_AnyOfVisitor,oneOf:schema_OneOfVisitor,not:schema_SchemaOrReferenceVisitor,items:{$visitor:schema_ItemsVisitor,alias:"itemsField"},properties:schema_PropertiesVisitor,additionalProperties:schema_SchemaOrReferenceVisitor,description:jsonSchemaFixedFields.description,format:jsonSchemaFixedFields.format,default:jsonSchemaFixedFields.default,nullable:{$ref:"#/visitors/value"},discriminator:{$ref:"#/visitors/document/objects/Discriminator"},writeOnly:{$ref:"#/visitors/value"},xml:{$ref:"#/visitors/document/objects/XML"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},example:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"}}},Discriminator:{$visitor:distriminator,element:"discriminator",fixedFields:{propertyName:{$ref:"#/visitors/value"},mapping:distriminator_MappingVisitor}},XML:{$visitor:xml,element:"xml",fixedFields:{name:{$ref:"#/visitors/value"},namespace:{$ref:"#/visitors/value"},prefix:{$ref:"#/visitors/value"},attribute:{$ref:"#/visitors/value"},wrapped:{$ref:"#/visitors/value"}}},SecurityScheme:{$visitor:security_scheme,element:"securityScheme",fixedFields:{type:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},name:{$ref:"#/visitors/value"},in:{$ref:"#/visitors/value"},scheme:{$ref:"#/visitors/value"},bearerFormat:{$ref:"#/visitors/value"},flows:{$ref:"#/visitors/document/objects/OAuthFlows"},openIdConnectUrl:{$ref:"#/visitors/value"}}},OAuthFlows:{$visitor:oauth_flows,element:"oAuthFlows",fixedFields:{implicit:{$ref:"#/visitors/document/objects/OAuthFlow"},password:{$ref:"#/visitors/document/objects/OAuthFlow"},clientCredentials:{$ref:"#/visitors/document/objects/OAuthFlow"},authorizationCode:{$ref:"#/visitors/document/objects/OAuthFlow"}}},OAuthFlow:{$visitor:oauth_flow,element:"oAuthFlow",fixedFields:{authorizationUrl:{$ref:"#/visitors/value"},tokenUrl:{$ref:"#/visitors/value"},refreshUrl:{$ref:"#/visitors/value"},scopes:oauth_flow_ScopesVisitor}},SecurityRequirement:{$visitor:security_requirement,element:"securityRequirement"}},extension:{$visitor:visitors_SpecificationExtensionVisitor}}}},src_refractor_specification=specification_specification;function _assoc(e,t,s){if(_isInteger(e)&&_isArray(s)){var r=e<0?s.length+e:e,i=[].concat(s);return i[r]=t,i}var n={};for(var o in s)n[o]=s[o];return n[e]=t,n}var assocPath=_curry3(function e(t,s,r){if(0===t.length)return s;var i=t[0];if(t.length>1){var n=internal_prop(i,r);(es_isNil(n)||"object"!=typeof n)&&(n=_isInteger(t[1])?[]:{}),s=e(Array.prototype.slice.call(t,1),s,n)}return _assoc(i,s,r)});const es_assocPath=assocPath;var remove=_curry3(function(e,t,s){var r=Array.prototype.slice.call(s,0);return r.splice(e,t),r});const es_remove=remove;function _dissoc(e,t){if(null==t)return t;if(_isInteger(e)&&_isArray(t))return es_remove(e,1,t);var s={};for(var r in t)s[r]=t[r];return delete s[e],s}var assoc=_curry3(function(e,t,s){return es_assocPath([e],t,s)});const es_assoc=assoc;function _shallowCloneObject(e,t){if(_isInteger(e)&&_isArray(t))return[].concat(t);var s={};for(var r in t)s[r]=t[r];return s}var dissocPath=_curry2(function e(t,s){if(null==s)return s;switch(t.length){case 0:return s;case 1:return _dissoc(t[0],s);default:var r=t[0],i=Array.prototype.slice.call(t,1);return null==s[r]?_shallowCloneObject(r,s):es_assoc(r,e(i,s[r]),s)}});const es_dissocPath=dissocPath;class JSONSchema_JSONSchema extends elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft6"}get idField(){throw new src_UnsupportedOperationError("id keyword from Core vocabulary has been renamed to $id.")}set idField(e){throw new src_UnsupportedOperationError("id keyword from Core vocabulary has been renamed to $id.")}get $id(){return this.get("$id")}set $id(e){this.set("$id",e)}get exclusiveMaximum(){return this.get("exclusiveMaximum")}set exclusiveMaximum(e){this.set("exclusiveMaximum",e)}get exclusiveMinimum(){return this.get("exclusiveMinimum")}set exclusiveMinimum(e){this.set("exclusiveMinimum",e)}get containsField(){return this.get("contains")}set containsField(e){this.set("contains",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get propertyNames(){return this.get("propertyNames")}set propertyNames(e){this.set("propertyNames",e)}get const(){return this.get("const")}set const(e){this.set("const",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}}const src_elements_JSONSchema=JSONSchema_JSONSchema;class json_schema_JSONSchemaVisitor extends json_schema{constructor(e){super(e),this.element=new src_elements_JSONSchema}get defaultDialectIdentifier(){return"http://json-schema.org/draft-06/schema#"}BooleanElement(e){this.enter(e),this.element.classes.push("boolean-json-schema")}handleSchemaIdentifier(e,t="$id"){return super.handleSchemaIdentifier(e,t)}}const visitors_json_schema=json_schema_JSONSchemaVisitor;class json_schema_ItemsVisitor_ItemsVisitor extends json_schema_ItemsVisitor{BooleanElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}}const visitors_json_schema_ItemsVisitor=json_schema_ItemsVisitor_ItemsVisitor;class json_schema_ExamplesVisitor_ExamplesVisitor extends visitors_FallbackVisitor{ArrayElement(e){this.enter(e),this.element.classes.push("json-schema-examples")}}const json_schema_ExamplesVisitor=json_schema_ExamplesVisitor_ExamplesVisitor;class LinkDescription_LinkDescription extends elements_LinkDescription{get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get schema(){throw new src_UnsupportedOperationError("schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.")}set schema(e){throw new src_UnsupportedOperationError("schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.")}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}get method(){throw new src_UnsupportedOperationError("method keyword from Hyper-Schema vocabulary has been removed.")}set method(e){throw new src_UnsupportedOperationError("method keyword from Hyper-Schema vocabulary has been removed.")}get encType(){throw new src_UnsupportedOperationError("encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.")}set encType(e){throw new src_UnsupportedOperationError("encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.")}get submissionEncType(){return this.get("submissionEncType")}set submissionEncType(e){this.set("submissionEncType",e)}}const src_elements_LinkDescription=LinkDescription_LinkDescription;class link_description_LinkDescriptionVisitor extends link_description{constructor(e){super(e),this.element=new src_elements_LinkDescription}}const json_schema_link_description=link_description_LinkDescriptionVisitor,refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchemaDraft6"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","id"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$id"],{$ref:"#/visitors/value"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],{$visitor:refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor,alias:"containsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],{$visitor:visitors_json_schema_ItemsVisitor,alias:"itemsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","const"],{$ref:"#/visitors/value"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","examples"],json_schema_ExamplesVisitor),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","schema"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","method"]),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","encType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionEncType"],{$ref:"#/visitors/value"}))(refractor_specification),apidom_ns_json_schema_draft_6_src_refractor_specification=refractor_specification_specification,inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_draft_6_src_refractor_specification),inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(src_elements_JSONSchema,"fixedFields",{get:()=>inspect_getFixedFields(inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(src_elements_LinkDescription,"fixedFields",{get:()=>inspect_getFixedFields(inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class elements_JSONSchema_JSONSchema extends src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft7"}get $comment(){return this.get("$comment")}set $comment(e){this.set("$comment",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get if(){return this.get("if")}set if(e){this.set("if",e)}get then(){return this.get("then")}set then(e){this.set("then",e)}get else(){return this.get("else")}set else(e){this.set("else",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get contentEncoding(){return this.get("contentEncoding")}set contentEncoding(e){this.set("contentEncoding",e)}get contentMediaType(){return this.get("contentMediaType")}set contentMediaType(e){this.set("contentMediaType",e)}get media(){throw new src_UnsupportedOperationError('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as "contentMediaType" / "contentEncoding"')}set media(e){throw new src_UnsupportedOperationError('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as "contentMediaType" / "contentEncoding"')}get writeOnly(){return this.get("writeOnly")}set writeOnly(e){this.set("writeOnly",e)}}const apidom_ns_json_schema_draft_7_src_elements_JSONSchema=elements_JSONSchema_JSONSchema;class visitors_json_schema_JSONSchemaVisitor extends visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_draft_7_src_elements_JSONSchema}get defaultDialectIdentifier(){return"http://json-schema.org/draft-07/schema#"}}const refractor_visitors_json_schema=visitors_json_schema_JSONSchemaVisitor;class elements_LinkDescription_LinkDescription extends src_elements_LinkDescription{get anchor(){return this.get("anchor")}set anchor(e){this.set("anchor",e)}get anchorPointer(){return this.get("anchorPointer")}set anchorPointer(e){this.set("anchorPointer",e)}get templatePointers(){return this.get("templatePointers")}set templatePointers(e){this.set("templatePointers",e)}get templateRequired(){return this.get("templateRequired")}set templateRequired(e){this.set("templateRequired",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get mediaType(){throw new src_UnsupportedOperationError("mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.")}set mediaType(e){throw new src_UnsupportedOperationError("mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.")}get targetMediaType(){return this.get("targetMediaType")}set targetMediaType(e){this.set("targetMediaType",e)}get targetHints(){return this.get("targetHints")}set targetHints(e){this.set("targetHints",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get $comment(){return this.get("$comment")}set $comment(e){this.set("$comment",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}get submissionEncType(){throw new src_UnsupportedOperationError("submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.")}set submissionEncType(e){throw new src_UnsupportedOperationError("submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.")}get submissionMediaType(){return this.get("submissionMediaType")}set submissionMediaType(e){this.set("submissionMediaType",e)}}const apidom_ns_json_schema_draft_7_src_elements_LinkDescription=elements_LinkDescription_LinkDescription;class json_schema_link_description_LinkDescriptionVisitor extends json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_draft_7_src_elements_LinkDescription}}const visitors_json_schema_link_description=json_schema_link_description_LinkDescriptionVisitor,src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchemaDraft7"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$comment"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","media"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentEncoding"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","writeOnly"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","anchor"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","anchorPointer"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","mediaType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetHints"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","description"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","$comment"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionEncType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value))(apidom_ns_json_schema_draft_6_src_refractor_specification),apidom_ns_json_schema_draft_7_src_refractor_specification=src_refractor_specification_specification,refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_draft_7_src_refractor_specification),refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_draft_7_src_elements_JSONSchema,"fixedFields",{get:()=>refractor_inspect_getFixedFields(refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_draft_7_src_elements_LinkDescription,"fixedFields",{get:()=>refractor_inspect_getFixedFields(refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class src_elements_JSONSchema_JSONSchema extends apidom_ns_json_schema_draft_7_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchema201909"}get $vocabulary(){return this.get("$vocabulary")}set $vocabulary(e){this.set("$vocabulary",e)}get $anchor(){return this.get("$anchor")}set $anchor(e){this.set("$anchor",e)}get $recursiveAnchor(){return this.get("$recursiveAnchor")}set $recursiveAnchor(e){this.set("$recursiveAnchor",e)}get $recursiveRef(){return this.get("$recursiveRef")}set $recursiveRef(e){this.set("$recursiveRef",e)}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}get $defs(){return this.get("$defs")}set $defs(e){this.set("$defs",e)}get definitions(){throw new src_UnsupportedOperationError("definitions keyword from Validation vocabulary has been renamed to $defs.")}set definitions(e){throw new src_UnsupportedOperationError("definitions keyword from Validation vocabulary has been renamed to $defs.")}get not(){return this.get("not")}set not(e){this.set("not",e)}get if(){return this.get("if")}set if(e){this.set("if",e)}get then(){return this.get("then")}set then(e){this.set("then",e)}get else(){return this.get("else")}set else(e){this.set("else",e)}get dependentSchemas(){return this.get("dependentSchemas")}set dependentSchemas(e){this.set("dependentSchemas",e)}get dependencies(){throw new src_UnsupportedOperationError("dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.")}set dependencies(e){throw new src_UnsupportedOperationError("dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.")}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get contains(){return this.get("contains")}set contains(e){this.set("contains",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get propertyNames(){return this.get("propertyNames")}set propertyNames(e){this.set("propertyNames",e)}get unevaluatedItems(){return this.get("unevaluatedItems")}set unevaluatedItems(e){this.set("unevaluatedItems",e)}get unevaluatedProperties(){return this.get("unevaluatedProperties")}set unevaluatedProperties(e){this.set("unevaluatedProperties",e)}get maxContains(){return this.get("maxContains")}set maxContains(e){this.set("maxContains",e)}get minContains(){return this.get("minContains")}set minContains(e){this.set("minContains",e)}get dependentRequired(){return this.get("dependentRequired")}set dependentRequired(e){this.set("dependentRequired",e)}get deprecated(){return this.get("deprecated")}set deprecated(e){this.set("deprecated",e)}get contentSchema(){return this.get("contentSchema")}set contentSchema(e){this.set("contentSchema",e)}}const apidom_ns_json_schema_2019_09_src_elements_JSONSchema=src_elements_JSONSchema_JSONSchema;class refractor_visitors_json_schema_JSONSchemaVisitor extends refractor_visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_2019_09_src_elements_JSONSchema}get defaultDialectIdentifier(){return"https://json-schema.org/draft/2019-09/schema"}ObjectElement(e){const t=e.node;this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&(this.element.classes.push("reference-element"),this.element.meta.set("referenced-element","schema"))}}const src_refractor_visitors_json_schema=refractor_visitors_json_schema_JSONSchemaVisitor;class $vocabularyVisitor extends visitors_FallbackVisitor{ObjectElement(e){this.enter(e),this.element.classes.push("json-schema-$vocabulary")}}const json_schema_$vocabularyVisitor=$vocabularyVisitor;class $refVisitor extends visitors_FallbackVisitor{StringElement(e){this.enter(e),this.element.classes.push("reference-value")}}const json_schema_$refVisitor=$refVisitor,BaseSchemaArrayVisitor=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),BaseSchemaMapVisitor=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor);class $defsVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-$defs"),this.specPath=es_always(["document","objects","JSONSchema"])}}const json_schema_$defsVisitor=$defsVisitor;class json_schema_AllOfVisitor_AllOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-allOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_AllOfVisitor=json_schema_AllOfVisitor_AllOfVisitor;class json_schema_AnyOfVisitor_AnyOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-anyOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_AnyOfVisitor=json_schema_AnyOfVisitor_AnyOfVisitor;class json_schema_OneOfVisitor_OneOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-oneOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_OneOfVisitor=json_schema_OneOfVisitor_OneOfVisitor;class DependentSchemasVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-dependentSchemas"),this.specPath=es_always(["document","objects","JSONSchema"])}}const json_schema_DependentSchemasVisitor=DependentSchemasVisitor;class visitors_json_schema_ItemsVisitor_ItemsVisitor extends BaseSchemaArrayVisitor{ObjectElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}ArrayElement(e){const t=e.node;this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-items"),t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}BooleanElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}}const refractor_visitors_json_schema_ItemsVisitor=visitors_json_schema_ItemsVisitor_ItemsVisitor;class json_schema_PropertiesVisitor_PropertiesVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-properties"),this.specPath=es_always(["document","objects","JSONSchema"])}}const visitors_json_schema_PropertiesVisitor=json_schema_PropertiesVisitor_PropertiesVisitor;class PatternPropertiesVisitor_PatternPropertiesVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-patternProperties"),this.specPath=es_always(["document","objects","JSONSchema"])}}const visitors_json_schema_PatternPropertiesVisitor=PatternPropertiesVisitor_PatternPropertiesVisitor;class DependentRequiredVisitor extends visitors_FallbackVisitor{ObjectElement(e){this.enter(e),this.element.classes.push("json-schema-dependentRequired")}}const json_schema_DependentRequiredVisitor=DependentRequiredVisitor;class src_elements_LinkDescription_LinkDescription extends apidom_ns_json_schema_draft_7_src_elements_LinkDescription{constructor(e,t,s){super(e,t,s),this.element="linkDescription"}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}}const apidom_ns_json_schema_2019_09_src_elements_LinkDescription=src_elements_LinkDescription_LinkDescription;class visitors_json_schema_link_description_LinkDescriptionVisitor extends visitors_json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_2019_09_src_elements_LinkDescription}}const refractor_visitors_json_schema_link_description=visitors_json_schema_link_description_LinkDescriptionVisitor,apidom_ns_json_schema_2019_09_src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchema201909"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$vocabulary"],json_schema_$vocabularyVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$anchor"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveAnchor"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveRef"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","JSONReference","$visitor"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$ref"],json_schema_$refVisitor),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","definitions"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$defs"],json_schema_$defsVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","allOf"],visitors_json_schema_AllOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","anyOf"],visitors_json_schema_AnyOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","oneOf"],visitors_json_schema_OneOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","not"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","dependencies"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","dependentSchemas"],json_schema_DependentSchemasVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],{$visitor:refractor_visitors_json_schema_ItemsVisitor,alias:"itemsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","properties"],visitors_json_schema_PropertiesVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","patternProperties"],visitors_json_schema_PatternPropertiesVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalProperties"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalItems"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedItems"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedProperties"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","maxContains"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","minContains"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","dependentRequired"],json_schema_DependentRequiredVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","deprecated"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","element"],"linkDescription"),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],refractor_visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],src_refractor_visitors_json_schema))(apidom_ns_json_schema_draft_7_src_refractor_specification),apidom_ns_json_schema_2019_09_src_refractor_specification=apidom_ns_json_schema_2019_09_src_refractor_specification_specification,src_refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_2019_09_src_refractor_specification),src_refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_2019_09_src_elements_JSONSchema,"fixedFields",{get:()=>src_refractor_inspect_getFixedFields(src_refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_2019_09_src_elements_LinkDescription,"fixedFields",{get:()=>src_refractor_inspect_getFixedFields(src_refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class apidom_ns_json_schema_2020_12_src_elements_JSONSchema_JSONSchema extends apidom_ns_json_schema_2019_09_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchema202012"}get $dynamicAnchor(){return this.get("$dynamicAnchor")}set $dynamicAnchor(e){this.set("$dynamicAnchor",e)}get $recursiveAnchor(){throw new src_UnsupportedOperationError("$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.")}set $recursiveAnchor(e){throw new src_UnsupportedOperationError("$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.")}get $dynamicRef(){return this.get("$dynamicRef")}set $dynamicRef(e){this.set("$dynamicRef",e)}get $recursiveRef(){throw new src_UnsupportedOperationError("$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.")}set $recursiveRef(e){throw new src_UnsupportedOperationError("$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.")}get prefixItems(){return this.get("prefixItems")}set prefixItems(e){this.set("prefixItems",e)}}const apidom_ns_json_schema_2020_12_src_elements_JSONSchema=apidom_ns_json_schema_2020_12_src_elements_JSONSchema_JSONSchema;class src_refractor_visitors_json_schema_JSONSchemaVisitor extends src_refractor_visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_2020_12_src_elements_JSONSchema}get defaultDialectIdentifier(){return"https://json-schema.org/draft/2020-12/schema"}}const apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema=src_refractor_visitors_json_schema_JSONSchemaVisitor;class PrefixItemsVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-prefixItems")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_PrefixItemsVisitor=PrefixItemsVisitor;class apidom_ns_json_schema_2020_12_src_elements_LinkDescription_LinkDescription extends apidom_ns_json_schema_2019_09_src_elements_LinkDescription{get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}}const apidom_ns_json_schema_2020_12_src_elements_LinkDescription=apidom_ns_json_schema_2020_12_src_elements_LinkDescription_LinkDescription;class refractor_visitors_json_schema_link_description_LinkDescriptionVisitor extends refractor_visitors_json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_2020_12_src_elements_LinkDescription}}const src_refractor_visitors_json_schema_link_description=refractor_visitors_json_schema_link_description_LinkDescriptionVisitor,apidom_ns_json_schema_2020_12_src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchema202012"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveAnchor"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$dynamicAnchor"],apidom_ns_json_schema_2019_09_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveRef"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$dynamicRef"],apidom_ns_json_schema_2019_09_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","not"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","prefixItems"],json_schema_PrefixItemsVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalProperties"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalItems"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedItems"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedProperties"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","element"],"linkDescription"),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],src_refractor_visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema))(apidom_ns_json_schema_2019_09_src_refractor_specification),apidom_ns_json_schema_2020_12_src_refractor_specification=apidom_ns_json_schema_2020_12_src_refractor_specification_specification;class OpenApi3_1 extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="openApi3_1",this.classes.push("api")}get openapi(){return this.get("openapi")}set openapi(e){this.set("openapi",e)}get info(){return this.get("info")}set info(e){this.set("info",e)}get jsonSchemaDialect(){return this.get("jsonSchemaDialect")}set jsonSchemaDialect(e){this.set("jsonSchemaDialect",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get paths(){return this.get("paths")}set paths(e){this.set("paths",e)}get components(){return this.get("components")}set components(e){this.set("components",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get webhooks(){return this.get("webhooks")}set webhooks(e){this.set("webhooks",e)}}const elements_OpenApi3_1=OpenApi3_1,bases_BaseSpecificationVisitor=Mixin(refractor_visitors_SpecificationVisitor,refractor_visitors_FallbackVisitor),bases_BaseFixedFieldsVisitor=Mixin(visitors_generics_FixedFieldsVisitor,refractor_visitors_FallbackVisitor),bases_BaseMapVisitor=Mixin(visitors_generics_MapVisitor,refractor_visitors_FallbackVisitor),BaseSchemaVisitor=Mixin(visitors_generics_FixedFieldsVisitor,json_schema_ParentSchemaAwareVisitor,refractor_visitors_FallbackVisitor);class OpenApi3_1Visitor extends bases_BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OpenApi3_1,this.specPath=es_always(["document","objects","OpenApi"]),this.canSupportSpecificationExtensions=!0,this.openApiSemanticElement=this.element}ObjectElement(e){const t=e.node;this.openApiGenericElement=t,visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e)}}const open_api_3_1=OpenApi3_1Visitor;class Info_Info extends elements_Info{get license(){return this.get("license")}set license(e){this.set("license",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}}const src_elements_Info=Info_Info,BaseInfoVisitor=src_refractor_specification.visitors.document.objects.Info.$visitor;class info_InfoVisitor extends BaseInfoVisitor{constructor(e){super(e),this.element=new src_elements_Info}}const open_api_3_1_info=info_InfoVisitor;class Contact_Contact extends elements_Contact{}const src_elements_Contact=Contact_Contact,BaseContactVisitor=src_refractor_specification.visitors.document.objects.Contact.$visitor;class contact_ContactVisitor extends BaseContactVisitor{constructor(e){super(e),this.element=new src_elements_Contact}}const open_api_3_1_contact=contact_ContactVisitor;class License_License extends elements_License{get identifier(){return this.get("identifier")}set identifier(e){this.set("identifier",e)}}const src_elements_License=License_License,BaseLicenseVisitor=src_refractor_specification.visitors.document.objects.License.$visitor;class license_LicenseVisitor extends BaseLicenseVisitor{constructor(e){super(e),this.element=new src_elements_License}}const open_api_3_1_license=license_LicenseVisitor;class Link_Link extends elements_Link{}const src_elements_Link=Link_Link,BaseLinkVisitor=src_refractor_specification.visitors.document.objects.Link.$visitor;class link_LinkVisitor extends BaseLinkVisitor{constructor(e){super(e),this.element=new src_elements_Link}}const open_api_3_1_link=link_LinkVisitor;class JsonSchemaDialect extends primitives_StringElement{static default=new JsonSchemaDialect("https://spec.openapis.org/oas/3.1/dialect/base");constructor(e,t,s){super(e,t,s),this.element="jsonSchemaDialect"}}const elements_JsonSchemaDialect=JsonSchemaDialect;class JsonSchemaDialectVisitor extends bases_BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new elements_JsonSchemaDialect(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_1_JsonSchemaDialectVisitor=JsonSchemaDialectVisitor;class Openapi_Openapi extends elements_Openapi{}const src_elements_Openapi=Openapi_Openapi;class OpenapiVisitor_OpenapiVisitor extends bases_BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new src_elements_Openapi(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_1_OpenapiVisitor=OpenapiVisitor_OpenapiVisitor;class Server_Server extends elements_Server{}const src_elements_Server=Server_Server,BaseServerVisitor=src_refractor_specification.visitors.document.objects.Server.$visitor;class server_ServerVisitor extends BaseServerVisitor{constructor(e){super(e),this.element=new src_elements_Server}}const open_api_3_1_server=server_ServerVisitor;class ServerVariable_ServerVariable extends elements_ServerVariable{}const src_elements_ServerVariable=ServerVariable_ServerVariable,BaseServerVariableVisitor=src_refractor_specification.visitors.document.objects.ServerVariable.$visitor;class server_variable_ServerVariableVisitor extends BaseServerVariableVisitor{constructor(e){super(e),this.element=new src_elements_ServerVariable}}const open_api_3_1_server_variable=server_variable_ServerVariableVisitor;class MediaType_MediaType extends elements_MediaType{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_MediaType=MediaType_MediaType,BaseMediaTypeVisitor=src_refractor_specification.visitors.document.objects.MediaType.$visitor;class media_type_MediaTypeVisitor extends BaseMediaTypeVisitor{constructor(e){super(e),this.element=new src_elements_MediaType}}const open_api_3_1_media_type=media_type_MediaTypeVisitor;class SecurityRequirement_SecurityRequirement extends elements_SecurityRequirement{}const src_elements_SecurityRequirement=SecurityRequirement_SecurityRequirement,BaseSecurityRequirementVisitor=src_refractor_specification.visitors.document.objects.SecurityRequirement.$visitor;class security_requirement_SecurityRequirementVisitor extends BaseSecurityRequirementVisitor{constructor(e){super(e),this.element=new src_elements_SecurityRequirement}}const open_api_3_1_security_requirement=security_requirement_SecurityRequirementVisitor;class Components_Components extends elements_Components{get pathItems(){return this.get("pathItems")}set pathItems(e){this.set("pathItems",e)}}const src_elements_Components=Components_Components,BaseComponentsVisitor=src_refractor_specification.visitors.document.objects.Components.$visitor;class components_ComponentsVisitor extends BaseComponentsVisitor{constructor(e){super(e),this.element=new src_elements_Components}}const open_api_3_1_components=components_ComponentsVisitor;class Tag_Tag extends elements_Tag{}const src_elements_Tag=Tag_Tag,BaseTagVisitor=src_refractor_specification.visitors.document.objects.Tag.$visitor;class tag_TagVisitor extends BaseTagVisitor{constructor(e){super(e),this.element=new src_elements_Tag}}const open_api_3_1_tag=tag_TagVisitor;class Reference_Reference extends elements_Reference{}Object.defineProperty(Reference_Reference.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0}),Object.defineProperty(Reference_Reference.prototype,"summary",{get(){return this.get("summary")},set(e){this.set("summary",e)},enumerable:!0});const src_elements_Reference=Reference_Reference,BaseReferenceVisitor=src_refractor_specification.visitors.document.objects.Reference.$visitor;class reference_ReferenceVisitor extends BaseReferenceVisitor{constructor(e){super(e),this.element=new src_elements_Reference}}const open_api_3_1_reference=reference_ReferenceVisitor;class Parameter_Parameter extends elements_Parameter{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_Parameter=Parameter_Parameter,BaseParameterVisitor=src_refractor_specification.visitors.document.objects.Parameter.$visitor;class parameter_ParameterVisitor extends BaseParameterVisitor{constructor(e){super(e),this.element=new src_elements_Parameter}}const open_api_3_1_parameter=parameter_ParameterVisitor;class Header_Header extends elements_Header{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_Header=Header_Header,BaseHeaderVisitor=src_refractor_specification.visitors.document.objects.Header.$visitor;class header_HeaderVisitor extends BaseHeaderVisitor{constructor(e){super(e),this.element=new src_elements_Header}}const open_api_3_1_header=header_HeaderVisitor;class Callback_Callback extends elements_Callback{}const src_elements_Callback=Callback_Callback;class Example_Example extends elements_Example{}const src_elements_Example=Example_Example;class ExternalDocumentation_ExternalDocumentation extends elements_ExternalDocumentation{}const src_elements_ExternalDocumentation=ExternalDocumentation_ExternalDocumentation;class Operation_Operation extends elements_Operation{get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}}const src_elements_Operation=Operation_Operation;class PathItem_PathItem extends elements_PathItem{get getField(){return this.get("get")}set getField(e){this.set("get",e)}get put(){return this.get("put")}set put(e){this.set("put",e)}get post(){return this.get("post")}set post(e){this.set("post",e)}get deleteField(){return this.get("delete")}set deleteField(e){this.set("delete",e)}get options(){return this.get("options")}set options(e){this.set("options",e)}get head(){return this.get("head")}set head(e){this.set("head",e)}get patch(){return this.get("patch")}set patch(e){this.set("patch",e)}get trace(){return this.get("trace")}set trace(e){this.set("trace",e)}}const src_elements_PathItem=PathItem_PathItem;class Paths_Paths extends elements_Paths{}const src_elements_Paths=Paths_Paths;class RequestBody_RequestBody extends elements_RequestBody{}const src_elements_RequestBody=RequestBody_RequestBody;class Response_Response extends elements_Response{}const src_elements_Response=Response_Response;class Responses_Responses extends elements_Responses{}const src_elements_Responses=Responses_Responses,apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_2020_12_src_refractor_specification),apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_2020_12_src_elements_JSONSchema,"fixedFields",{get:()=>apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields(apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_2020_12_src_elements_LinkDescription,"fixedFields",{get:()=>apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields(apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class Schema_Schema extends apidom_ns_json_schema_2020_12_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="schema"}get discriminator(){return this.get("discriminator")}set discriminator(e){this.set("discriminator",e)}get xml(){return this.get("xml")}set xml(e){this.set("xml",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}}const src_elements_Schema=Schema_Schema;class SecurityScheme_SecurityScheme extends elements_SecurityScheme{}const src_elements_SecurityScheme=SecurityScheme_SecurityScheme,predicates_isCallbackElement=e=>e instanceof src_elements_Callback,predicates_isComponentsElement=e=>e instanceof src_elements_Components,predicates_isContactElement=e=>e instanceof src_elements_Contact,predicates_isExampleElement=e=>e instanceof src_elements_Example,predicates_isExternalDocumentationElement=e=>e instanceof src_elements_ExternalDocumentation,predicates_isHeaderElement=e=>e instanceof src_elements_Header,predicates_isInfoElement=e=>e instanceof src_elements_Info,isJsonSchemaDialectElement=e=>e instanceof elements_JsonSchemaDialect,predicates_isLicenseElement=e=>e instanceof src_elements_License,src_predicates_isLinkElement=e=>e instanceof src_elements_Link,predicates_isOpenapiElement=e=>e instanceof src_elements_Openapi,isOpenApi3_1Element=e=>e instanceof elements_OpenApi3_1,predicates_isOperationElement=e=>e instanceof src_elements_Operation,predicates_isParameterElement=e=>e instanceof src_elements_Parameter,predicates_isPathItemElement=e=>e instanceof src_elements_PathItem,isPathItemElementExternal=e=>{if(!predicates_isPathItemElement(e))return!1;if(!isStringElement(e.$ref))return!1;const t=serializers_value(e.$ref);return"string"==typeof t&&t.length>0&&!t.startsWith("#")},predicates_isPathsElement=e=>e instanceof src_elements_Paths,predicates_isReferenceElement=e=>e instanceof src_elements_Reference,isReferenceElementExternal=e=>{if(!predicates_isReferenceElement(e))return!1;if(!isStringElement(e.$ref))return!1;const t=serializers_value(e.$ref);return"string"==typeof t&&t.length>0&&!t.startsWith("#")},predicates_isRequestBodyElement=e=>e instanceof src_elements_RequestBody,predicates_isResponseElement=e=>e instanceof src_elements_Response,predicates_isResponsesElement=e=>e instanceof src_elements_Responses,predicates_isSchemaElement=e=>e instanceof src_elements_Schema,predicates_isBooleanJsonSchemaElement=e=>primitives_isBooleanElement(e)&&predicates_includesClasses(e,["boolean-json-schema"]),predicates_isSecurityRequirementElement=e=>e instanceof src_elements_SecurityRequirement,predicates_isSecuritySchemeElement=e=>e instanceof src_elements_SecurityScheme,predicates_isServerElement=e=>e instanceof src_elements_Server,predicates_isServerVariableElement=e=>e instanceof src_elements_ServerVariable,predicates_isMediaTypeElement=e=>e instanceof src_elements_MediaType;class open_api_3_1_schema_SchemaVisitor extends BaseSchemaVisitor{constructor(e){super(e),this.element=new src_elements_Schema,this.specPath=es_always(["document","objects","Schema"]),this.canSupportSpecificationExtensions=!0,this.jsonSchemaDefaultDialect=elements_JsonSchemaDialect.default,this.passingOptionsNames.push("parent")}ObjectElement(e){const t=e.node;this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&(this.element.classes.push("reference-element"),this.element.meta.set("referenced-element","schema"))}BooleanElement(e){apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.BooleanElement.call(this,e)}get defaultDialectIdentifier(){let e;return e=void 0!==this.openApiSemanticElement&&isJsonSchemaDialectElement(this.openApiSemanticElement.jsonSchemaDialect)?serializers_value(this.openApiSemanticElement.jsonSchemaDialect):void 0!==this.openApiGenericElement&&isStringElement(this.openApiGenericElement.get("jsonSchemaDialect"))?serializers_value(this.openApiGenericElement.get("jsonSchemaDialect")):serializers_value(this.jsonSchemaDefaultDialect),e}handleDialectIdentifier(e){return apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.handleDialectIdentifier.call(this,e)}handleSchemaIdentifier(e){return apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.handleSchemaIdentifier.call(this,e)}}const open_api_3_1_schema=open_api_3_1_schema_SchemaVisitor;class $defsVisitor_$defsVisitor extends json_schema_$defsVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_$defsVisitor=$defsVisitor_$defsVisitor;class schema_AllOfVisitor_AllOfVisitor extends visitors_json_schema_AllOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_AllOfVisitor=schema_AllOfVisitor_AllOfVisitor;class schema_AnyOfVisitor_AnyOfVisitor extends visitors_json_schema_AnyOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_AnyOfVisitor=schema_AnyOfVisitor_AnyOfVisitor;class schema_OneOfVisitor_OneOfVisitor extends visitors_json_schema_OneOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_OneOfVisitor=schema_OneOfVisitor_OneOfVisitor;class DependentSchemasVisitor_DependentSchemasVisitor extends json_schema_DependentSchemasVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_DependentSchemasVisitor=DependentSchemasVisitor_DependentSchemasVisitor;class PrefixItemsVisitor_PrefixItemsVisitor extends json_schema_PrefixItemsVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_PrefixItemsVisitor=PrefixItemsVisitor_PrefixItemsVisitor;class schema_PropertiesVisitor_PropertiesVisitor extends visitors_json_schema_PropertiesVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_PropertiesVisitor=schema_PropertiesVisitor_PropertiesVisitor;class schema_PatternPropertiesVisitor_PatternPropertiesVisitor extends visitors_json_schema_PatternPropertiesVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_PatternPropertiesVisitor=schema_PatternPropertiesVisitor_PatternPropertiesVisitor;class Discriminator_Discriminator extends elements_Discriminator{}const src_elements_Discriminator=Discriminator_Discriminator,BaseDiscriminatorVisitor=src_refractor_specification.visitors.document.objects.Discriminator.$visitor;class distriminator_DiscriminatorVisitor extends BaseDiscriminatorVisitor{constructor(e){super(e),this.element=new src_elements_Discriminator,this.canSupportSpecificationExtensions=!0}}const open_api_3_1_distriminator=distriminator_DiscriminatorVisitor;class Xml_Xml extends elements_Xml{}const src_elements_Xml=Xml_Xml,BaseXMLVisitor=src_refractor_specification.visitors.document.objects.XML.$visitor;class xml_XmlVisitor extends BaseXMLVisitor{constructor(e){super(e),this.element=new src_elements_Xml}}const open_api_3_1_xml=xml_XmlVisitor;class SchemasVisitor_SchemasVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSchemas,this.specPath=es_always(["document","objects","Schema"])}}const open_api_3_1_components_SchemasVisitor=SchemasVisitor_SchemasVisitor;class ComponentsPathItems extends primitives_ObjectElement{static primaryClass="components-path-items";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsPathItems.primaryClass)}}const nces_ComponentsPathItems=ComponentsPathItems;class PathItemsVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsPathItems,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")})}}const components_PathItemsVisitor=PathItemsVisitor,BaseExampleVisitor=src_refractor_specification.visitors.document.objects.Example.$visitor;class example_ExampleVisitor extends BaseExampleVisitor{constructor(e){super(e),this.element=new src_elements_Example}}const open_api_3_1_example=example_ExampleVisitor,BaseExternalDocumentationVisitor=src_refractor_specification.visitors.document.objects.ExternalDocumentation.$visitor;class external_documentation_ExternalDocumentationVisitor extends BaseExternalDocumentationVisitor{constructor(e){super(e),this.element=new src_elements_ExternalDocumentation}}const open_api_3_1_external_documentation=external_documentation_ExternalDocumentationVisitor;class Encoding_Encoding extends elements_Encoding{}const src_elements_Encoding=Encoding_Encoding,BaseEncodingVisitor=src_refractor_specification.visitors.document.objects.Encoding.$visitor;class open_api_3_1_encoding_EncodingVisitor extends BaseEncodingVisitor{constructor(e){super(e),this.element=new src_elements_Encoding}}const open_api_3_1_encoding=open_api_3_1_encoding_EncodingVisitor,BasePathsVisitor=src_refractor_specification.visitors.document.objects.Paths.$visitor;class paths_PathsVisitor extends BasePathsVisitor{constructor(e){super(e),this.element=new src_elements_Paths}}const open_api_3_1_paths=paths_PathsVisitor,BaseRequestBodyVisitor=src_refractor_specification.visitors.document.objects.RequestBody.$visitor;class request_body_RequestBodyVisitor extends BaseRequestBodyVisitor{constructor(e){super(e),this.element=new src_elements_RequestBody}}const open_api_3_1_request_body=request_body_RequestBodyVisitor,BaseCallbackVisitor=src_refractor_specification.visitors.document.objects.Callback.$visitor;class callback_CallbackVisitor extends BaseCallbackVisitor{constructor(e){super(e),this.element=new src_elements_Callback,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){BaseCallbackVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")})}}const open_api_3_1_callback=callback_CallbackVisitor,BaseResponseVisitor=src_refractor_specification.visitors.document.objects.Response.$visitor;class response_ResponseVisitor extends BaseResponseVisitor{constructor(e){super(e),this.element=new src_elements_Response}}const open_api_3_1_response=response_ResponseVisitor,BaseResponsesVisitor=src_refractor_specification.visitors.document.objects.Responses.$visitor;class open_api_3_1_responses_ResponsesVisitor extends BaseResponsesVisitor{constructor(e){super(e),this.element=new src_elements_Responses}}const open_api_3_1_responses=open_api_3_1_responses_ResponsesVisitor,BaseOperationVisitor=src_refractor_specification.visitors.document.objects.Operation.$visitor;class operation_OperationVisitor extends BaseOperationVisitor{constructor(e){super(e),this.element=new src_elements_Operation}}const open_api_3_1_operation=operation_OperationVisitor,BasePathItemVisitor=src_refractor_specification.visitors.document.objects.PathItem.$visitor;class path_item_PathItemVisitor extends BasePathItemVisitor{constructor(e){super(e),this.element=new src_elements_PathItem}}const open_api_3_1_path_item=path_item_PathItemVisitor,BaseSecuritySchemeVisitor=src_refractor_specification.visitors.document.objects.SecurityScheme.$visitor;class security_scheme_SecuritySchemeVisitor extends BaseSecuritySchemeVisitor{constructor(e){super(e),this.element=new src_elements_SecurityScheme}}const open_api_3_1_security_scheme=security_scheme_SecuritySchemeVisitor;class OAuthFlows_OAuthFlows extends elements_OAuthFlows{}const src_elements_OAuthFlows=OAuthFlows_OAuthFlows,BaseOAuthFlowsVisitor=src_refractor_specification.visitors.document.objects.OAuthFlows.$visitor;class oauth_flows_OAuthFlowsVisitor extends BaseOAuthFlowsVisitor{constructor(e){super(e),this.element=new src_elements_OAuthFlows}}const open_api_3_1_oauth_flows=oauth_flows_OAuthFlowsVisitor;class OAuthFlow_OAuthFlow extends elements_OAuthFlow{}const src_elements_OAuthFlow=OAuthFlow_OAuthFlow,BaseOAuthFlowVisitor=src_refractor_specification.visitors.document.objects.OAuthFlow.$visitor;class oauth_flow_OAuthFlowVisitor extends BaseOAuthFlowVisitor{constructor(e){super(e),this.element=new src_elements_OAuthFlow}}const open_api_3_1_oauth_flow=oauth_flow_OAuthFlowVisitor;class Webhooks extends primitives_ObjectElement{static primaryClass="webhooks";constructor(e,t,s){super(e,t,s),this.classes.push(Webhooks.primaryClass)}}const nces_Webhooks=Webhooks;class WebhooksVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_Webhooks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")}),this.element.filter(predicates_isPathItemElement).forEach((e,t)=>{e.setMetaProperty("webhook-name",serializers_value(t))})}}const open_api_3_1_WebhooksVisitor=WebhooksVisitor,{JSONSchema:specification_JSONSchemaVisitor,LinkDescription:specification_LinkDescriptionVisitor}=apidom_ns_json_schema_2020_12_src_refractor_specification.visitors.document.objects,apidom_ns_openapi_3_1_src_refractor_specification_specification={visitors:{value:src_refractor_specification.visitors.value,document:{objects:{OpenApi:{element:"openApi3_1",$visitor:open_api_3_1,fixedFields:{openapi:{element:"openapi",$visitor:open_api_3_1_OpenapiVisitor},info:{$ref:"#/visitors/document/objects/Info"},jsonSchemaDialect:{element:"jsonSchemaDialect",$visitor:open_api_3_1_JsonSchemaDialectVisitor},servers:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.servers,paths:{$ref:"#/visitors/document/objects/Paths"},webhooks:open_api_3_1_WebhooksVisitor,components:{$ref:"#/visitors/document/objects/Components"},security:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.security,tags:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.tags,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Info:{element:"info",$visitor:open_api_3_1_info,fixedFields:{title:src_refractor_specification.visitors.document.objects.Info.fixedFields.title,description:src_refractor_specification.visitors.document.objects.Info.fixedFields.description,summary:{$ref:"#/visitors/value"},termsOfService:src_refractor_specification.visitors.document.objects.Info.fixedFields.termsOfService,contact:{$ref:"#/visitors/document/objects/Contact"},license:{$ref:"#/visitors/document/objects/License"},version:src_refractor_specification.visitors.document.objects.Info.fixedFields.version}},Contact:{element:"contact",$visitor:open_api_3_1_contact,fixedFields:{name:src_refractor_specification.visitors.document.objects.Contact.fixedFields.name,url:src_refractor_specification.visitors.document.objects.Contact.fixedFields.url,email:src_refractor_specification.visitors.document.objects.Contact.fixedFields.email}},License:{element:"license",$visitor:open_api_3_1_license,fixedFields:{name:src_refractor_specification.visitors.document.objects.License.fixedFields.name,identifier:{$ref:"#/visitors/value"},url:src_refractor_specification.visitors.document.objects.License.fixedFields.url}},Server:{element:"server",$visitor:open_api_3_1_server,fixedFields:{url:src_refractor_specification.visitors.document.objects.Server.fixedFields.url,description:src_refractor_specification.visitors.document.objects.Server.fixedFields.description,variables:src_refractor_specification.visitors.document.objects.Server.fixedFields.variables}},ServerVariable:{element:"serverVariable",$visitor:open_api_3_1_server_variable,fixedFields:{enum:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.enum,default:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.default,description:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.description}},Components:{element:"components",$visitor:open_api_3_1_components,fixedFields:{schemas:open_api_3_1_components_SchemasVisitor,responses:src_refractor_specification.visitors.document.objects.Components.fixedFields.responses,parameters:src_refractor_specification.visitors.document.objects.Components.fixedFields.parameters,examples:src_refractor_specification.visitors.document.objects.Components.fixedFields.examples,requestBodies:src_refractor_specification.visitors.document.objects.Components.fixedFields.requestBodies,headers:src_refractor_specification.visitors.document.objects.Components.fixedFields.headers,securitySchemes:src_refractor_specification.visitors.document.objects.Components.fixedFields.securitySchemes,links:src_refractor_specification.visitors.document.objects.Components.fixedFields.links,callbacks:src_refractor_specification.visitors.document.objects.Components.fixedFields.callbacks,pathItems:components_PathItemsVisitor}},Paths:{element:"paths",$visitor:open_api_3_1_paths},PathItem:{element:"pathItem",$visitor:open_api_3_1_path_item,fixedFields:{$ref:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.$ref,summary:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.description,get:{$ref:"#/visitors/document/objects/Operation",alias:"getField"},put:{$ref:"#/visitors/document/objects/Operation"},post:{$ref:"#/visitors/document/objects/Operation"},delete:{$ref:"#/visitors/document/objects/Operation",alias:"deleteField"},options:{$ref:"#/visitors/document/objects/Operation"},head:{$ref:"#/visitors/document/objects/Operation"},patch:{$ref:"#/visitors/document/objects/Operation"},trace:{$ref:"#/visitors/document/objects/Operation"},servers:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.servers,parameters:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.parameters}},Operation:{element:"operation",$visitor:open_api_3_1_operation,fixedFields:{tags:src_refractor_specification.visitors.document.objects.Operation.fixedFields.tags,summary:src_refractor_specification.visitors.document.objects.Operation.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.Operation.fixedFields.description,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},operationId:src_refractor_specification.visitors.document.objects.Operation.fixedFields.operationId,parameters:src_refractor_specification.visitors.document.objects.Operation.fixedFields.parameters,requestBody:src_refractor_specification.visitors.document.objects.Operation.fixedFields.requestBody,responses:{$ref:"#/visitors/document/objects/Responses"},callbacks:src_refractor_specification.visitors.document.objects.Operation.fixedFields.callbacks,deprecated:src_refractor_specification.visitors.document.objects.Operation.fixedFields.deprecated,security:src_refractor_specification.visitors.document.objects.Operation.fixedFields.security,servers:src_refractor_specification.visitors.document.objects.Operation.fixedFields.servers}},ExternalDocumentation:{element:"externalDocumentation",$visitor:open_api_3_1_external_documentation,fixedFields:{description:src_refractor_specification.visitors.document.objects.ExternalDocumentation.fixedFields.description,url:src_refractor_specification.visitors.document.objects.ExternalDocumentation.fixedFields.url}},Parameter:{element:"parameter",$visitor:open_api_3_1_parameter,fixedFields:{name:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.name,in:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.in,description:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.description,required:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.required,deprecated:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.deprecated,allowEmptyValue:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.allowEmptyValue,style:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.allowReserved,schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.examples,content:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.content}},RequestBody:{element:"requestBody",$visitor:open_api_3_1_request_body,fixedFields:{description:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.description,content:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.content,required:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.required}},MediaType:{element:"mediaType",$visitor:open_api_3_1_media_type,fixedFields:{schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.examples,encoding:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.encoding}},Encoding:{element:"encoding",$visitor:open_api_3_1_encoding,fixedFields:{contentType:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.contentType,headers:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.headers,style:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.allowReserved}},Responses:{element:"responses",$visitor:open_api_3_1_responses,fixedFields:{default:src_refractor_specification.visitors.document.objects.Responses.fixedFields.default}},Response:{element:"response",$visitor:open_api_3_1_response,fixedFields:{description:src_refractor_specification.visitors.document.objects.Response.fixedFields.description,headers:src_refractor_specification.visitors.document.objects.Response.fixedFields.headers,content:src_refractor_specification.visitors.document.objects.Response.fixedFields.content,links:src_refractor_specification.visitors.document.objects.Response.fixedFields.links}},Callback:{element:"callback",$visitor:open_api_3_1_callback},Example:{element:"example",$visitor:open_api_3_1_example,fixedFields:{summary:src_refractor_specification.visitors.document.objects.Example.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.Example.fixedFields.description,value:src_refractor_specification.visitors.document.objects.Example.fixedFields.value,externalValue:src_refractor_specification.visitors.document.objects.Example.fixedFields.externalValue}},Link:{element:"link",$visitor:open_api_3_1_link,fixedFields:{operationRef:src_refractor_specification.visitors.document.objects.Link.fixedFields.operationRef,operationId:src_refractor_specification.visitors.document.objects.Link.fixedFields.operationId,parameters:src_refractor_specification.visitors.document.objects.Link.fixedFields.parameters,requestBody:src_refractor_specification.visitors.document.objects.Link.fixedFields.requestBody,description:src_refractor_specification.visitors.document.objects.Link.fixedFields.description,server:{$ref:"#/visitors/document/objects/Server"}}},Header:{element:"header",$visitor:open_api_3_1_header,fixedFields:{description:src_refractor_specification.visitors.document.objects.Header.fixedFields.description,required:src_refractor_specification.visitors.document.objects.Header.fixedFields.required,deprecated:src_refractor_specification.visitors.document.objects.Header.fixedFields.deprecated,allowEmptyValue:src_refractor_specification.visitors.document.objects.Header.fixedFields.allowEmptyValue,style:src_refractor_specification.visitors.document.objects.Header.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Header.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Header.fixedFields.allowReserved,schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.Header.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.Header.fixedFields.examples,content:src_refractor_specification.visitors.document.objects.Header.fixedFields.content}},Tag:{element:"tag",$visitor:open_api_3_1_tag,fixedFields:{name:src_refractor_specification.visitors.document.objects.Tag.fixedFields.name,description:src_refractor_specification.visitors.document.objects.Tag.fixedFields.description,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Reference:{element:"reference",$visitor:open_api_3_1_reference,fixedFields:{$ref:src_refractor_specification.visitors.document.objects.Reference.fixedFields.$ref,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"}}},JSONSchema:{$ref:"#/visitors/document/objects/Schema"},LinkDescription:{...specification_LinkDescriptionVisitor},Schema:{element:"schema",$visitor:open_api_3_1_schema,fixedFields:{...specification_JSONSchemaVisitor.fixedFields,$defs:schema_$defsVisitor,allOf:open_api_3_1_schema_AllOfVisitor,anyOf:open_api_3_1_schema_AnyOfVisitor,oneOf:open_api_3_1_schema_OneOfVisitor,not:{$ref:"#/visitors/document/objects/Schema"},if:{$ref:"#/visitors/document/objects/Schema"},then:{$ref:"#/visitors/document/objects/Schema"},else:{$ref:"#/visitors/document/objects/Schema"},dependentSchemas:schema_DependentSchemasVisitor,prefixItems:schema_PrefixItemsVisitor,items:{$ref:"#/visitors/document/objects/Schema"},contains:{$ref:"#/visitors/document/objects/Schema"},properties:open_api_3_1_schema_PropertiesVisitor,patternProperties:schema_PatternPropertiesVisitor,additionalProperties:{$ref:"#/visitors/document/objects/Schema"},propertyNames:{$ref:"#/visitors/document/objects/Schema"},unevaluatedItems:{$ref:"#/visitors/document/objects/Schema"},unevaluatedProperties:{$ref:"#/visitors/document/objects/Schema"},contentSchema:{$ref:"#/visitors/document/objects/Schema"},discriminator:{$ref:"#/visitors/document/objects/Discriminator"},xml:{$ref:"#/visitors/document/objects/XML"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},example:{$ref:"#/visitors/value"}}},Discriminator:{element:"discriminator",$visitor:open_api_3_1_distriminator,fixedFields:{propertyName:src_refractor_specification.visitors.document.objects.Discriminator.fixedFields.propertyName,mapping:src_refractor_specification.visitors.document.objects.Discriminator.fixedFields.mapping}},XML:{element:"xml",$visitor:open_api_3_1_xml,fixedFields:{name:src_refractor_specification.visitors.document.objects.XML.fixedFields.name,namespace:src_refractor_specification.visitors.document.objects.XML.fixedFields.namespace,prefix:src_refractor_specification.visitors.document.objects.XML.fixedFields.prefix,attribute:src_refractor_specification.visitors.document.objects.XML.fixedFields.attribute,wrapped:src_refractor_specification.visitors.document.objects.XML.fixedFields.wrapped}},SecurityScheme:{element:"securityScheme",$visitor:open_api_3_1_security_scheme,fixedFields:{type:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.type,description:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.description,name:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.name,in:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.in,scheme:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.scheme,bearerFormat:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.bearerFormat,flows:{$ref:"#/visitors/document/objects/OAuthFlows"},openIdConnectUrl:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.openIdConnectUrl}},OAuthFlows:{element:"oAuthFlows",$visitor:open_api_3_1_oauth_flows,fixedFields:{implicit:{$ref:"#/visitors/document/objects/OAuthFlow"},password:{$ref:"#/visitors/document/objects/OAuthFlow"},clientCredentials:{$ref:"#/visitors/document/objects/OAuthFlow"},authorizationCode:{$ref:"#/visitors/document/objects/OAuthFlow"}}},OAuthFlow:{element:"oAuthFlow",$visitor:open_api_3_1_oauth_flow,fixedFields:{authorizationUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.authorizationUrl,tokenUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.tokenUrl,refreshUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.refreshUrl,scopes:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.scopes}},SecurityRequirement:{element:"securityRequirement",$visitor:open_api_3_1_security_requirement}},extension:{$visitor:src_refractor_specification.visitors.document.extension.$visitor}}}},apidom_ns_openapi_3_1_src_refractor_specification=apidom_ns_openapi_3_1_src_refractor_specification_specification,parser_Parser=function(){const e=identifiers,t=utilities,s=this,r="parser.js: Parser(): ";s.ast=void 0,s.stats=void 0,s.trace=void 0,s.callbacks=[];let i,n,o,a,c,l,_,m=0,u=0,p=0,d=0,h=0,f=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};s.parse=(g,y,E,b)=>{const S=`${r}parse(): `;m=0,u=0,p=0,d=0,h=0,i=void 0,n=void 0,o=void 0,a=void 0,f.refresh(),c=void 0,l=void 0,_=void 0,a=t.stringToChars(E),i=g.rules,n=g.udts;const x=y.toLowerCase();let w;for(const e in i)if(i.hasOwnProperty(e)&&x===i[e].lower){w=i[e].index;break}if(void 0===w)throw new Error(`${S}start rule name '${startRule}' not recognized`);(()=>{const e=`${r}initializeCallbacks(): `;let t,o;for(c=[],l=[],t=0;t<i.length;t+=1)c[t]=void 0;for(t=0;t<n.length;t+=1)l[t]=void 0;const a=[];for(t=0;t<i.length;t+=1)a.push(i[t].lower);for(t=0;t<n.length;t+=1)a.push(n[t].lower);for(const r in s.callbacks)if(s.callbacks.hasOwnProperty(r)){if(t=a.indexOf(r.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${r}' not a rule or udt name`);if(o=s.callbacks[r]?s.callbacks[r]:void 0,"function"!=typeof o&&void 0!==o)throw new Error(`${e}syntax callback[${r}] must be function reference or falsy)`);t<i.length?c[t]=o:l[t-i.length]=o}})(),s.trace&&s.trace.init(i,n,a),s.stats&&s.stats.init(i,n),s.ast&&s.ast.init(i,n,a),_=b,o=[{type:e.RNM,index:w}],v(0,0),o=void 0;let O=!1;switch(f.state){case e.ACTIVE:throw new Error(`${S}final state should never be 'ACTIVE'`);case e.NOMATCH:O=!1;break;case e.EMPTY:case e.MATCH:O=f.phraseLength===a.length;break;default:throw new Error("unrecognized state")}return{success:O,state:f.state,stateName:e.idName(f.state),length:a.length,matched:f.phraseLength,maxMatched:h,maxTreeDepth:p,nodeHits:d}};const g=(t,s,i,n)=>{if(s.phraseLength>i){let e=`${r}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${s.phraseLength}`,e+=` must be <= remaining chars: ${i}`,new Error(e)}switch(s.state){case e.ACTIVE:if(!n)throw new Error(`${r}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:s.phraseLength=0;break;case e.MATCH:0===s.phraseLength&&(s.state=e.EMPTY);break;case e.NOMATCH:s.phraseLength=0;break;default:throw new Error(`${r}opRNM(${t.name}): callback function return error. Unrecognized return state: ${s.state}`)}},y=(t,c)=>{let u,p,d;const h=o[t],g=n[h.index];f.UdtIndex=g.index,m||(d=s.ast&&s.ast.udtDefined(h.index),d&&(p=i.length+h.index,u=s.ast.getLength(),s.ast.down(p,g.name)));const y=a.length-c;l[h.index](f,a,c,_),((t,s,i)=>{if(s.phraseLength>i){let e=`${r}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${s.phraseLength}`,e+=` must be <= remaining chars: ${i}`,new Error(e)}switch(s.state){case e.ACTIVE:throw new Error(`${r}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);s.phraseLength=0;break;case e.MATCH:if(0===s.phraseLength){if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);s.state=e.EMPTY}break;case e.NOMATCH:s.phraseLength=0;break;default:throw new Error(`${r}opUDT(${t.name}): callback function return error. Unrecognized return state: ${s.state}`)}})(g,f,y),m||d&&(f.state===e.NOMATCH?s.ast.setLength(u):s.ast.up(p,g.name,c,f.phraseLength))},v=(t,n)=>{const l=`${r}opExecute(): `,E=o[t];switch(d+=1,u>p&&(p=u),u+=1,f.refresh(),s.trace&&s.trace.down(E,n),E.type){case e.ALT:((t,s)=>{const r=o[t];for(let t=0;t<r.children.length&&(v(r.children[t],s),f.state===e.NOMATCH);t+=1);})(t,n);break;case e.CAT:((t,r)=>{let i,n,a,c;const l=o[t];s.ast&&(n=s.ast.getLength()),i=!0,a=r,c=0;for(let t=0;t<l.children.length;t+=1){if(v(l.children[t],a),f.state===e.NOMATCH){i=!1;break}a+=f.phraseLength,c+=f.phraseLength}i?(f.state=0===c?e.EMPTY:e.MATCH,f.phraseLength=c):(f.state=e.NOMATCH,f.phraseLength=0,s.ast&&s.ast.setLength(n))})(t,n);break;case e.REP:((t,r)=>{let i,n,c,l;const _=o[t];if(0===_.max)return f.state=e.EMPTY,void(f.phraseLength=0);for(n=r,c=0,l=0,s.ast&&(i=s.ast.getLength());!(n>=a.length)&&(v(t+1,n),f.state!==e.NOMATCH)&&f.state!==e.EMPTY&&(l+=1,c+=f.phraseLength,n+=f.phraseLength,l!==_.max););f.state===e.EMPTY||l>=_.min?(f.state=0===c?e.EMPTY:e.MATCH,f.phraseLength=c):(f.state=e.NOMATCH,f.phraseLength=0,s.ast&&s.ast.setLength(i))})(t,n);break;case e.RNM:((t,r)=>{let n,l,u;const p=o[t],d=i[p.index],h=c[d.index];if(m||(l=s.ast&&s.ast.ruleDefined(p.index),l&&(n=s.ast.getLength(),s.ast.down(p.index,i[p.index].name))),h){const t=a.length-r;h(f,a,r,_),g(d,f,t,!0),f.state===e.ACTIVE&&(u=o,o=d.opcodes,v(0,r),o=u,h(f,a,r,_),g(d,f,t,!1))}else u=o,o=d.opcodes,v(0,r,f),o=u;m||l&&(f.state===e.NOMATCH?s.ast.setLength(n):s.ast.up(p.index,d.name,r,f.phraseLength))})(t,n);break;case e.TRG:((t,s)=>{const r=o[t];f.state=e.NOMATCH,s<a.length&&r.min<=a[s]&&a[s]<=r.max&&(f.state=e.MATCH,f.phraseLength=1)})(t,n);break;case e.TBS:((t,s)=>{const r=o[t],i=r.string.length;if(f.state=e.NOMATCH,s+i<=a.length){for(let e=0;e<i;e+=1)if(a[s+e]!==r.string[e])return;f.state=e.MATCH,f.phraseLength=i}})(t,n);break;case e.TLS:((t,s)=>{let r;const i=o[t];f.state=e.NOMATCH;const n=i.string.length;if(0!==n){if(s+n<=a.length){for(let e=0;e<n;e+=1)if(r=a[s+e],r>=65&&r<=90&&(r+=32),r!==i.string[e])return;f.state=e.MATCH,f.phraseLength=n}}else f.state=e.EMPTY})(t,n);break;case e.UDT:y(t,n);break;case e.AND:((t,s)=>{switch(m+=1,v(t+1,s),m-=1,f.phraseLength=0,f.state){case e.EMPTY:case e.MATCH:f.state=e.EMPTY;break;case e.NOMATCH:f.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${f.state}`)}})(t,n);break;case e.NOT:((t,s)=>{switch(m+=1,v(t+1,s),m-=1,f.phraseLength=0,f.state){case e.EMPTY:case e.MATCH:f.state=e.NOMATCH;break;case e.NOMATCH:f.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${f.state}`)}})(t,n);break;default:throw new Error(`${l}unrecognized operator`)}m||n+f.phraseLength>h&&(h=n+f.phraseLength),s.stats&&s.stats.collect(E,f),s.trace&&s.trace.up(E,f.state,n,f.phraseLength),u-=1}},Ast=function(){const e=identifiers,t=utilities,s=this;let r,i,n,o=0;const a=[],c=[],l=[];function _(e){let t="";for(;e-- >0;)t+=" ";return t}s.callbacks=[],s.init=(e,t,_)=>{let m;c.length=0,l.length=0,o=0,r=e,i=t,n=_;const u=[];for(m=0;m<r.length;m+=1)u.push(r[m].lower);for(m=0;m<i.length;m+=1)u.push(i[m].lower);for(o=r.length+i.length,m=0;m<o;m+=1)a[m]=void 0;for(const e in s.callbacks)if(s.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(m=u.indexOf(t),m<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);a[m]=s.callbacks[e]}},s.ruleDefined=e=>!!a[e],s.udtDefined=e=>!!a[r.length+e],s.down=(t,s)=>{const r=l.length;return c.push(r),l.push({name:s,thisIndex:r,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),r},s.up=(t,s,r,i)=>{const n=l.length,o=c.pop();return l.push({name:s,thisIndex:n,thatIndex:o,state:e.SEM_POST,callbackIndex:t,phraseIndex:r,phraseLength:i,stack:c.length}),l[o].thatIndex=n,l[o].phraseIndex=r,l[o].phraseLength=i,n},s.translate=t=>{let s,r;for(let i=0;i<l.length;i+=1)r=l[i],s=a[r.callbackIndex],s&&(r.state===e.SEM_PRE?s(e.SEM_PRE,n,r.phraseIndex,r.phraseLength,t):s&&s(e.SEM_POST,n,r.phraseIndex,r.phraseLength,t))},s.setLength=e=>{l.length=e,c.length=e>0?l[e-1].stack:0},s.getLength=()=>l.length,s.toXml=()=>{let s="",r=0;return s+='<?xml version="1.0" encoding="utf-8"?>\n',s+=`<root nodes="${l.length/2}" characters="${n.length}">\n`,s+="\x3c!-- input string --\x3e\n",s+=_(r+2),s+=t.charsToString(n),s+="\n",l.forEach(i=>{i.state===e.SEM_PRE?(r+=1,s+=_(r),s+=`<node name="${i.name}" index="${i.phraseIndex}" length="${i.phraseLength}">\n`,s+=_(r+2),s+=t.charsToString(n,i.phraseIndex,i.phraseLength),s+="\n"):(s+=_(r),s+=`</node>\x3c!-- name="${i.name}" --\x3e\n`,r-=1)}),s+="</root>\n",s}},parser_Trace=function(){const e=identifiers,t=utilities,s="parser.js: Trace(): ";let r,i,n,o="",a=0;const c=this,l=e=>{let t="",s=0;if(e>=0)for(;e--;)s+=1,5===s?(t+="|",s=0):t+=".";return t};c.init=(e,t,s)=>{i=e,n=t,r=s};const _=r=>{let o;switch(r.type){case e.ALT:o="ALT";break;case e.CAT:o="CAT";break;case e.REP:o=r.max===1/0?`REP(${r.min},inf)`:`REP(${r.min},${r.max})`;break;case e.RNM:o=`RNM(${i[r.index].name})`;break;case e.TRG:o=`TRG(${r.min},${r.max})`;break;case e.TBS:o=r.string.length>6?`TBS(${t.charsToString(r.string,0,3)}...)`:`TBS(${t.charsToString(r.string,0,6)})`;break;case e.TLS:o=r.string.length>6?`TLS(${t.charsToString(r.string,0,3)}...)`:`TLS(${t.charsToString(r.string,0,6)})`;break;case e.UDT:o=`UDT(${n[r.index].name})`;break;case e.AND:o="AND";break;case e.NOT:o="NOT";break;default:throw new Error(`${s}Trace: opName: unrecognized opcode`)}return o};c.down=(e,s)=>{const i=l(a),n=Math.min(100,r.length-s);let c=t.charsToString(r,s,n);n<r.length-s&&(c+="..."),c=`${i}|-|[${_(e)}]${c}\n`,o+=c,a+=1},c.up=(i,n,c,m)=>{const u=`${s}trace.up: `;a-=1;const p=l(a);let d,h,f;switch(n){case e.EMPTY:f="|E|",h="''";break;case e.MATCH:f="|M|",d=Math.min(100,m),h=d<m?`'${t.charsToString(r,c,d)}...'`:`'${t.charsToString(r,c,d)}'`;break;case e.NOMATCH:f="|N|",h="";break;default:throw new Error(`${u} unrecognized state`)}h=`${p}${f}[${_(i)}]${h}\n`,o+=h},c.displayTrace=()=>o},parser_Stats=function(){const e=identifiers;let t,s,r;const i=[],n=[],o=[];this.init=(e,r)=>{t=e,s=r,u()},this.collect=(t,s)=>{p(r,s.state,s.phraseLength),p(i[t.type],s.state,s.phraseLength),t.type===e.RNM&&p(n[t.index],s.state,s.phraseLength),t.type===e.UDT&&p(o[t.index],s.state,s.phraseLength)},this.displayStats=()=>{let t="";const s={match:0,empty:0,nomatch:0,total:0},r=(e,t,r,i,n)=>{s.match+=t,s.empty+=r,s.nomatch+=i,s.total+=n;return`${e} | ${a(t)} | ${a(r)} | ${a(i)} | ${a(n)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=r(" ALT",i[e.ALT].match,i[e.ALT].empty,i[e.ALT].nomatch,i[e.ALT].total),t+=r(" CAT",i[e.CAT].match,i[e.CAT].empty,i[e.CAT].nomatch,i[e.CAT].total),t+=r(" REP",i[e.REP].match,i[e.REP].empty,i[e.REP].nomatch,i[e.REP].total),t+=r(" RNM",i[e.RNM].match,i[e.RNM].empty,i[e.RNM].nomatch,i[e.RNM].total),t+=r(" TRG",i[e.TRG].match,i[e.TRG].empty,i[e.TRG].nomatch,i[e.TRG].total),t+=r(" TBS",i[e.TBS].match,i[e.TBS].empty,i[e.TBS].nomatch,i[e.TBS].total),t+=r(" TLS",i[e.TLS].match,i[e.TLS].empty,i[e.TLS].nomatch,i[e.TLS].total),t+=r(" UDT",i[e.UDT].match,i[e.UDT].empty,i[e.UDT].nomatch,i[e.UDT].total),t+=r(" AND",i[e.AND].match,i[e.AND].empty,i[e.AND].nomatch,i[e.AND].total),t+=r(" NOT",i[e.NOT].match,i[e.NOT].empty,i[e.NOT].nomatch,i[e.NOT].total),t+=r("TOTAL",s.match,s.empty,s.nomatch,s.total),t},this.displayHits=e=>{let t="";const s=(e,t,s,i,n)=>{r.match+=e,r.empty+=t,r.nomatch+=s,r.total+=i;return`| ${a(e)} | ${a(t)} | ${a(s)} | ${a(i)} | ${n}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(n.sort(c),o.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(n.sort(_),o.sort(_),t+=" RULES/UDTS BY INDEX\n"):(n.sort(l),o.sort(l),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<n.length;e+=1){let r=n[e];r.total&&(t+=s(r.match,r.empty,r.nomatch,r.total,r.name))}for(let e=0;e<o.length;e+=1){let r=o[e];r.total&&(t+=s(r.match,r.empty,r.nomatch,r.total,r.name))}return t};const a=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,l=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),_=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,m=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},u=()=>{i.length=0,r=new m,i[e.ALT]=new m,i[e.CAT]=new m,i[e.REP]=new m,i[e.RNM]=new m,i[e.TRG]=new m,i[e.TBS]=new m,i[e.TLS]=new m,i[e.UDT]=new m,i[e.AND]=new m,i[e.NOT]=new m,n.length=0;for(let e=0;e<t.length;e+=1)n.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(s.length>0){o.length=0;for(let e=0;e<s.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:s[e].name,lower:s[e].lower,index:s[e].index})}},p=(t,s)=>{switch(t.total+=1,s){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${s}`)}}},utilities={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,s)=>{let r=e;for(;!(void 0===t||t<0);){if(void 0===s){r=e.slice(t);break}if(s<=0)return"";r=e.slice(t,t+s);break}return String.fromCodePoint(...r)}},identifiers={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case identifiers.ALT:return"ALT";case identifiers.CAT:return"CAT";case identifiers.REP:return"REP";case identifiers.RNM:return"RNM";case identifiers.TRG:return"TRG";case identifiers.TBS:return"TBS";case identifiers.TLS:return"TLS";case identifiers.UDT:return"UDT";case identifiers.AND:return"AND";case identifiers.NOT:return"NOT";case identifiers.ACTIVE:return"ACTIVE";case identifiers.EMPTY:return"EMPTY";case identifiers.MATCH:return"MATCH";case identifiers.NOMATCH:return"NOMATCH";case identifiers.SEM_PRE:return"SEM_PRE";case identifiers.SEM_POST:return"SEM_POST";case identifiers.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function grammar(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class JSONPointerError extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...s}=t;Object.assign(this,s)}}}const errors_JSONPointerError=JSONPointerError;class JSONPointerParseError_JSONPointerParseError extends errors_JSONPointerError{}const errors_JSONPointerParseError=JSONPointerParseError_JSONPointerParseError,cst=e=>(t,s,r,i,n)=>{if("object"!=typeof n||null===n||Array.isArray(n))throw new errors_JSONPointerParseError("parser's user data must be an object");if(t===identifiers.SEM_PRE){const t={type:e,text:utilities.charsToString(s,r,i),start:r,length:i,children:[]};if(n.stack.length>0){n.stack[n.stack.length-1].children.push(t)}else n.root=t;n.stack.push(t)}t===identifiers.SEM_POST&&n.stack.pop()},callbacks_cst=cst;class CSTTranslator_CSTTranslator extends Ast{constructor(){super(),this.callbacks["json-pointer"]=callbacks_cst("json-pointer"),this.callbacks["reference-token"]=callbacks_cst("reference-token"),this.callbacks.slash=callbacks_cst("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}}const translators_CSTTranslator=null;class ASTTranslator_ASTTranslator extends(null){getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>unescape(e))}}const translators_ASTTranslator=null;class Trace_Trace extends(null){inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let s=-1;for(let r=0;r<e.length;r++){const i=e[r];if(i.includes("M|")){const e=i.match(/]'(.*)'$/);e&&e[1]&&(s=r)}if(r>s){const e=i.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new Expectations(...t)}}const trace_Trace=null,parse_grammar=new grammar,parse_parse=(e,{translator:t=new ASTTranslator,stats:s=!1,trace:r=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const i=new Parser;t&&(i.ast=t),s&&(i.stats=new Stats),r&&(i.trace=new Trace);const n=i.parse(parse_grammar,"json-pointer",e);return{result:n,tree:n.success&&t?i.ast.getTree():void 0,stats:i.stats,trace:i.trace}}catch(t){throw new JSONPointerParseError("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}},es_parse=null;class XMLTranslator extends(null){getTree(){return this.toXml()}}const translators_XMLTranslator=null,testJSONPointer=e=>{try{return parse(e,{translator:null}).result.success}catch{return!1}},json_pointer=null,reference_token_grammar=new grammar,reference_token_parser=new parser_Parser,testReferenceToken=e=>{if("string"!=typeof e)return!1;try{return reference_token_parser.parse(reference_token_grammar,"reference-token",e).success}catch{return!1}},reference_token=null,array_location_grammar=new grammar,array_location_parser=new parser_Parser,testArrayLocation=e=>{if("string"!=typeof e)return!1;try{return array_location_parser.parse(array_location_grammar,"array-location",e).success}catch{return!1}},array_location=null,array_index_grammar=new grammar,array_index_parser=new parser_Parser,array_index_testArrayIndex=e=>{if("string"!=typeof e)return!1;try{return array_index_parser.parse(array_index_grammar,"array-index",e).success}catch{return!1}},array_index=null,array_dash_grammar=new grammar,array_dash_parser=new parser_Parser,array_dash_testArrayDash=e=>{if("string"!=typeof e)return!1;try{return array_dash_parser.parse(array_dash_grammar,"array-dash",e).success}catch{return!1}},array_dash=null,escape_escape=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")},es_escape=escape_escape;class JSONPointerCompileError extends errors_JSONPointerError{}const errors_JSONPointerCompileError=JSONPointerCompileError,compile=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return es_escape(String(e))}).join("/")}`}catch(t){throw new errors_JSONPointerCompileError("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}},es_compile=compile;class EvaluationRealm_EvaluationRealm{name="";isArray(e){throw new errors_JSONPointerError("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new errors_JSONPointerError("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new errors_JSONPointerError("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new errors_JSONPointerError("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new errors_JSONPointerError("Realm.evaluate(node) must be implemented in a subclass")}}const realms_EvaluationRealm=EvaluationRealm_EvaluationRealm;class JSONPointerEvaluateError_JSONPointerEvaluateError extends errors_JSONPointerError{}const errors_JSONPointerEvaluateError=JSONPointerEvaluateError_JSONPointerEvaluateError;class JSONPointerIndexError_JSONPointerIndexError extends(null){}const errors_JSONPointerIndexError=null;class JSONEvaluationRealm extends(null){name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const s=Number(t),r=s>>>0;if(s!==r)throw new JSONPointerIndexError(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,s)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}}const json=null;class JSONPointerTypeError_JSONPointerTypeError extends(null){}const errors_JSONPointerTypeError=null;class JSONPointerKeyError_JSONPointerKeyError extends(null){}const errors_JSONPointerKeyError=null,evaluate=(e,t,{strictArrays:s=!0,strictObjects:r=!0,realm:i=new JSONRealm,trace:n=!0}={})=>{const{result:o,tree:a,trace:c}=parse(t,{trace:!!n}),l="object"==typeof n&&null!==n?new TraceBuilder(n,{jsonPointer:t,referenceTokens:a,strictArrays:s,strictObjects:r,realm:i,value:e}):null;try{let n;if(!o.success){let s=`Invalid JSON Pointer: "${t}". Syntax error at position ${o.maxMatched}`;throw s+=c?`, expected ${c.inferExpectations()}`:"",new JSONPointerEvaluateError(s,{jsonPointer:t,currentValue:e,realm:i.name})}return a.reduce((e,o,c)=>{if(i.isArray(e)){if(testArrayDash(o)){if(s)throw new JSONPointerIndexError(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,String(i.sizeOf(e))),null==l||l.step({referenceToken:o,input:e,output:n}),n}if(!testArrayIndex(o))throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});const r=Number(o);if(!Number.isSafeInteger(r))throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});if(!i.has(e,o)&&s)throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,o),null==l||l.step({referenceToken:o,input:e,output:n}),n}if(i.isObject(e)){if(!i.has(e,o)&&r)throw new JSONPointerKeyError(`Invalid object key "${o}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,o),null==l||l.step({referenceToken:o,input:e,output:n}),n}throw new JSONPointerTypeError(`Invalid reference token "${o}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name})},e)}catch(e){if(null==l||l.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof JSONPointerEvaluateError)throw e;throw new JSONPointerEvaluateError("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:a})}},es_evaluate=null;function _classPrivateMethodInitSpec(e,t){_checkPrivateRedeclaration(e,t),t.add(e)}function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _defineProperty(e,t,s){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var r=s.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}var _CompositeEvaluationRealm_brand=new WeakSet;class CompositeEvaluationRealm extends realms_EvaluationRealm{constructor(e){super(),_classPrivateMethodInitSpec(this,_CompositeEvaluationRealm_brand),_defineProperty(this,"name","composite"),_defineProperty(this,"realms",[]),this.realms=e}isArray(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).isArray(e)}isObject(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).isObject(e)}sizeOf(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).sizeOf(e)}has(e,t){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).has(e,t)}evaluate(e,t){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).evaluate(e,t)}}function _findRealm(e){for(const t of this.realms)if(t.isArray(e)||t.isObject(e))return t;throw new errors_JSONPointerEvaluateError("No suitable evaluation realm found for value",{currentValue:e})}const compose=(...e)=>new CompositeEvaluationRealm(e),realms_compose=null,predicates_isReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref"),predicates_isServerLikeElement=isObjectElement,predicates_isTagLikeElement=isObjectElement,predicates_isOpenApiExtension=e=>isStringElement(e.key)&&es_startsWith("x-",serializers_value(e.key)),openApi3_1={namespace:e=>{const{base:t}=e;return t.register("callback",src_elements_Callback),t.register("components",src_elements_Components),t.register("contact",src_elements_Contact),t.register("discriminator",src_elements_Discriminator),t.register("encoding",src_elements_Encoding),t.register("example",src_elements_Example),t.register("externalDocumentation",src_elements_ExternalDocumentation),t.register("header",src_elements_Header),t.register("info",src_elements_Info),t.register("jsonSchemaDialect",elements_JsonSchemaDialect),t.register("license",src_elements_License),t.register("link",src_elements_Link),t.register("mediaType",src_elements_MediaType),t.register("oAuthFlow",src_elements_OAuthFlow),t.register("oAuthFlows",src_elements_OAuthFlows),t.register("openapi",src_elements_Openapi),t.register("openApi3_1",elements_OpenApi3_1),t.register("operation",src_elements_Operation),t.register("parameter",src_elements_Parameter),t.register("pathItem",src_elements_PathItem),t.register("paths",src_elements_Paths),t.register("reference",src_elements_Reference),t.register("requestBody",src_elements_RequestBody),t.register("response",src_elements_Response),t.register("responses",src_elements_Responses),t.register("schema",src_elements_Schema),t.register("securityRequirement",src_elements_SecurityRequirement),t.register("securityScheme",src_elements_SecurityScheme),t.register("server",src_elements_Server),t.register("serverVariable",src_elements_ServerVariable),t.register("tag",src_elements_Tag),t.register("xml",src_elements_Xml),t}},apidom_ns_openapi_3_1_src_namespace=openApi3_1,ancestorLineageToJSONPointer=e=>{const t=e.reduce((t,s,r)=>{if(isMemberElement(s)){const e=String(serializers_value(s.key));t.push(e)}else if(isArrayElement(e[r-2])){const i=e[r-2],n=String(i.content?.indexOf(s)??-1);t.push(n)}return t},[]);return es_compile(t)},toolbox_createToolbox=()=>{const e=new src_Namespace,t={...apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject,...apidom_ns_openapi_3_1_src_predicates_namespaceObject,isStringElement,isArrayElement,isObjectElement};return e.use(apidom_ns_openapi_3_1_src_namespace),{predicates:t,ancestorLineageToJSONPointer,namespace:e}},refractor_toolbox=toolbox_createToolbox,refractor_refract=(e,{element:t="openApi3_1",plugins:s=[],specificationObj:r=apidom_ns_openapi_3_1_src_refractor_specification}={})=>{const i=refract(e),n=resolveSpecification(r),o=n.elementMap[t];if(!o)throw new Error(`Unknown element type: "${t}"`);const a=new(es_path(o,n))({specObj:n});return traverse(i,a,{nodeTypeGetter:getNodePrimitiveType}),dispatchPluginsSync(a.element,s,{toolboxCreator:refractor_toolbox})},refractOpenApi3_1=(e,t={})=>refractor_refract(e,{...t,element:"openApi3_1"}),refractInfo=(e,t={})=>refractor_refract(e,{...t,element:"info"}),refractContact=(e,t={})=>refractor_refract(e,{...t,element:"contact"}),refractLicense=(e,t={})=>refractor_refract(e,{...t,element:"license"}),refractServer=(e,t={})=>refractor_refract(e,{...t,element:"server"}),refractServerVariable=(e,t={})=>refractor_refract(e,{...t,element:"serverVariable"}),refractComponents=(e,t={})=>refractor_refract(e,{...t,element:"components"}),refractPaths=(e,t={})=>refractor_refract(e,{...t,element:"paths"}),refractPathItem=(e,t={})=>refractor_refract(e,{...t,element:"pathItem"}),refractOperation=(e,t={})=>refractor_refract(e,{...t,element:"operation"}),refractExternalDocumentation=(e,t={})=>refractor_refract(e,{...t,element:"externalDocumentation"}),refractParameter=(e,t={})=>refractor_refract(e,{...t,element:"parameter"}),refractRequestBody=(e,t={})=>refractor_refract(e,{...t,element:"requestBody"}),refractMediaType=(e,t={})=>refractor_refract(e,{...t,element:"mediaType"}),refractEncoding=(e,t={})=>refractor_refract(e,{...t,element:"encoding"}),refractResponses=(e,t={})=>refractor_refract(e,{...t,element:"responses"}),refractResponse=(e,t={})=>refractor_refract(e,{...t,element:"response"}),refractCallback=(e,t={})=>refractor_refract(e,{...t,element:"callback"}),refractExample=(e,t={})=>refractor_refract(e,{...t,element:"example"}),refractLink=(e,t={})=>refractor_refract(e,{...t,element:"link"}),refractHeader=(e,t={})=>refractor_refract(e,{...t,element:"header"}),refractTag=(e,t={})=>refractor_refract(e,{...t,element:"tag"}),refractReference=(e,t={})=>refractor_refract(e,{...t,element:"reference"}),refractSchema=(e,t={})=>refractor_refract(e,{...t,element:"schema"}),refractDiscriminator=(e,t={})=>refractor_refract(e,{...t,element:"discriminator"}),refractXml=(e,t={})=>refractor_refract(e,{...t,element:"xml"}),refractSecurityScheme=(e,t={})=>refractor_refract(e,{...t,element:"securityScheme"}),refractOAuthFlows=(e,t={})=>refractor_refract(e,{...t,element:"oAuthFlows"}),refractOAuthFlow=(e,t={})=>refractor_refract(e,{...t,element:"oAuthFlow"}),refractSecurityRequirement=(e,t={})=>refractor_refract(e,{...t,element:"securityRequirement"}),refractJsonSchemaDialect=(e,t={})=>refractor_refract(e,{...t,element:"jsonSchemaDialect"}),refractor=null;var last=_curry1(function(e){return _nth(-1,e)});const es_last=last;class NotImplementedError extends src_UnsupportedOperationError{}const src_NotImplementedError=NotImplementedError;class MediaTypes extends Array{unknownMediaType="application/octet-stream";filterByFormat(){throw new src_NotImplementedError("filterByFormat method in MediaTypes class is not yet implemented.")}findBy(){throw new src_NotImplementedError("findBy method in MediaTypes class is not yet implemented.")}latest(){throw new src_NotImplementedError("latest method in MediaTypes class is not yet implemented.")}}const media_types=MediaTypes;class OpenAPIMediaTypes extends media_types{filterByFormat(e="generic"){const t="generic"===e?"openapi;version":e;return this.filter(e=>e.includes(t))}findBy(e="3.1.2",t="generic"){const s="generic"===t?`vnd.oai.openapi;version=${e}`:`vnd.oai.openapi+${t};version=${e}`;return this.find(e=>e.includes(s))||this.unknownMediaType}latest(e="generic"){return es_last(this.filterByFormat(e))}}const mediaTypes=new OpenAPIMediaTypes("application/vnd.oai.openapi;version=3.1.0","application/vnd.oai.openapi+json;version=3.1.0","application/vnd.oai.openapi+yaml;version=3.1.0","application/vnd.oai.openapi;version=3.1.1","application/vnd.oai.openapi+json;version=3.1.1","application/vnd.oai.openapi+yaml;version=3.1.1","application/vnd.oai.openapi;version=3.1.2","application/vnd.oai.openapi+json;version=3.1.2","application/vnd.oai.openapi+yaml;version=3.1.2"),src_media_types=mediaTypes,jsonMediaTypes=new OpenAPIMediaTypes(...src_media_types.filterByFormat("generic"),...src_media_types.filterByFormat("json")),src_media_types_0=jsonMediaTypes,src_adapter_detectionRegExp=/"openapi"\s*:\s*"(?<version_json>3\.1\.(?:[1-9]\d*|0))"/,src_adapter_detect=async e=>src_adapter_detectionRegExp.test(e)&&await adapter_detect(e),src_adapter_parse=async(e,t={})=>{const s=es_propOr({},"refractorOpts",t),r=es_omit(["refractorOpts"],t),i=await adapter_parse(e,r),{result:n}=i;if(es_isNotUndefined(n)){const e=refractOpenApi3_1(n,s);e.classes.push("result"),i.replaceResult(e)}return i},adapter_namespace=(new src_Namespace).use(apidom_ns_openapi_3_1_src_namespace);return __webpack_exports__})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomParserAdapterOpenApiJson3_1=t():e.apidomParserAdapterOpenApiJson3_1=t()}(self,()=>(()=>{"use strict";var __webpack_modules__={733:(e,t,s)=>{s.r(t),s.d(t,{default:()=>r});const r=s.p+"9786785aaddf11f37840fad896531940.wasm"},994:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{TM:()=>Language,iX:()=>Parser});var __defProp=Object.defineProperty,__name=(e,t)=>__defProp(e,"name",{value:t,configurable:!0}),SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol("INTERNAL"),C;function assertInternal(e){if(e!==INTERNAL)throw new Error("Illegal constructor")}function isPoint(e){return!!e&&"number"==typeof e.row&&"number"==typeof e.column}function setModule(e){C=e}__name(assertInternal,"assertInternal"),__name(isPoint,"isPoint"),__name(setModule,"setModule");var LookaheadIterator=class{static{__name(this,"LookaheadIterator")}0=0;language;constructor(e,t,s){assertInternal(e),this[0]=t,this.language=s}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||"ERROR"}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(e,t){return!!C._ts_lookahead_iterator_reset(this[0],e[0],t)&&(this.language=e,!0)}resetState(e){return Boolean(C._ts_lookahead_iterator_reset_state(this[0],e))}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:""},"next")}}};function getText(e,t,s,r){const i=s-t;let n=e.textCallback(t,r);if(n){for(t+=n.length;t<s;){const s=e.textCallback(t,r);if(!(s&&s.length>0))break;t+=s.length,n+=s}t>s&&(n=n.slice(0,i))}return n??""}__name(getText,"getText");var Tree=class e{static{__name(this,"Tree")}0=0;textCallback;language;constructor(e,t,s,r){assertInternal(e),this[0]=t,this.language=s,this.textCallback=r}copy(){const t=C._ts_tree_copy(this[0]);return new e(INTERNAL,t,this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,t){const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),marshalPoint(s+SIZE_OF_INT,t),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(t){if(!(t instanceof e))throw new TypeError("Argument must be a Tree");C._ts_tree_get_changed_ranges_wasm(this[0],t[0]);const s=C.getValue(TRANSFER_BUFFER,"i32"),r=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),i=new Array(s);if(s>0){let e=r;for(let t=0;t<s;t++)i[t]=unmarshalRange(e),e+=SIZE_OF_RANGE;C._free(r)}return i}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return s}},TreeCursor=class e{static{__name(this,"TreeCursor")}0=0;1=0;2=0;3=0;tree;constructor(e,t){assertInternal(e),this.tree=t,unmarshalTreeCursor(this)}copy(){const t=new e(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(t),t}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||"ERROR"}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),1===C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])}get nodeIsMissing(){return marshalTreeCursor(this),1===C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])}get nodeText(){marshalTreeCursor(this);const e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),t=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);const s=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,t,s)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoLastChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoParent(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoNextSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoPreviousSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===e}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,"i32");const t=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===t}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);const t=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),1===t}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node=class{static{__name(this,"Node")}0=0;_children;_namedChildren;constructor(e,{id:t,tree:s,startIndex:r,startPosition:i,other:n}){assertInternal(e),this[0]=n,this.id=t,this.tree=s,this.startIndex=r,this.startPosition=i}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||"ERROR"}get grammarType(){return this.tree.language.types[this.grammarId]||"ERROR"}get isNamed(){return marshalNode(this),1===C._ts_node_is_named_wasm(this.tree[0])}get isExtra(){return marshalNode(this),1===C._ts_node_is_extra_wasm(this.tree[0])}get isError(){return marshalNode(this),1===C._ts_node_is_error_wasm(this.tree[0])}get isMissing(){return marshalNode(this),1===C._ts_node_is_missing_wasm(this.tree[0])}get hasChanges(){return marshalNode(this),1===C._ts_node_has_changes_wasm(this.tree[0])}get hasError(){return marshalNode(this),1===C._ts_node_has_error_wasm(this.tree[0])}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){const t=this.tree.language.fields.indexOf(e);return-1!==t?this.childForFieldId(t):null}fieldNameForChild(e){marshalNode(this);const t=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}fieldNameForNamedChild(e){marshalNode(this);const t=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return t?C.AsciiToString(t):null}childrenForFieldName(e){const t=this.tree.language.fields.indexOf(e);return-1!==t&&0!==t?this.childrenForFieldId(t):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);const t=C.getValue(TRANSFER_BUFFER,"i32"),s=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(t);if(t>0){let e=s;for(let s=0;s<t;s++)r[s]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE;C._free(s)}return r}firstChildForIndex(e){marshalNode(this);const t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,"i32"),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);const t=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(t,e,"i32"),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._children=new Array(e),e>0){let s=t;for(let t=0;t<e;t++)this._children[t]=unmarshalNode(this.tree,s),s+=SIZE_OF_NODE;C._free(t)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._namedChildren=new Array(e),e>0){let s=t;for(let t=0;t<e;t++)this._namedChildren[t]=unmarshalNode(this.tree,s),s+=SIZE_OF_NODE;C._free(t)}}return this._namedChildren}descendantsOfType(e,t=ZERO_POINT,s=ZERO_POINT){Array.isArray(e)||(e=[e]);const r=[],i=this.tree.language.types;for(const t of e)"ERROR"==t&&r.push(65535);for(let t=0,s=i.length;t<s;t++)e.includes(i[t])&&r.push(t);const n=C._malloc(SIZE_OF_INT*r.length);for(let e=0,t=r.length;e<t;e++)C.setValue(n+e*SIZE_OF_INT,r[e],"i32");marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],n,r.length,t.row,t.column,s.row,s.column);const o=C.getValue(TRANSFER_BUFFER,"i32"),a=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),c=new Array(o);if(o>0){let e=a;for(let t=0;t<o;t++)c[t]=unmarshalNode(this.tree,e),e+=SIZE_OF_NODE}return C._free(a),C._free(n),c}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),C.setValue(s+SIZE_OF_INT,t,"i32"),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(s,e,"i32"),C.setValue(s+SIZE_OF_INT,t,"i32"),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(s,e),marshalPoint(s+SIZE_OF_POINT,t),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,t=e){if(!isPoint(e)||!isPoint(t))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const s=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(s,e),marshalPoint(s+SIZE_OF_POINT,t),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){let t,s;this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex),this.startPosition.row>e.oldEndPosition.row?(t=this.startPosition.row-e.oldEndPosition.row,s=this.startPosition.column):(t=0,s=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(s=this.startPosition.column-e.oldEndPosition.column)),t>0?(this.startPosition.row+=t,this.startPosition.column=s):this.startPosition.column+=s}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);const e=C._ts_node_to_string_wasm(this.tree[0]),t=C.AsciiToString(e);return C._free(e),t}};function unmarshalCaptures(e,t,s,r,i){for(let n=0,o=i.length;n<o;n++){const o=C.getValue(s,"i32"),a=unmarshalNode(t,s+=SIZE_OF_INT);s+=SIZE_OF_NODE,i[n]={patternIndex:r,name:e.captureNames[o],node:a}}return s}function marshalNode(e,t=0){let s=TRANSFER_BUFFER+t*SIZE_OF_NODE;C.setValue(s,e.id,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startIndex,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startPosition.row,"i32"),s+=SIZE_OF_INT,C.setValue(s,e.startPosition.column,"i32"),s+=SIZE_OF_INT,C.setValue(s,e[0],"i32")}function unmarshalNode(e,t=TRANSFER_BUFFER){const s=C.getValue(t,"i32");if(t+=SIZE_OF_INT,0===s)return null;const r=C.getValue(t,"i32");t+=SIZE_OF_INT;const i=C.getValue(t,"i32");t+=SIZE_OF_INT;const n=C.getValue(t,"i32");t+=SIZE_OF_INT;const o=C.getValue(t,"i32");return new Node(INTERNAL,{id:s,tree:e,startIndex:r,startPosition:{row:i,column:n},other:o})}function marshalTreeCursor(e,t=TRANSFER_BUFFER){C.setValue(t+0*SIZE_OF_INT,e[0],"i32"),C.setValue(t+1*SIZE_OF_INT,e[1],"i32"),C.setValue(t+2*SIZE_OF_INT,e[2],"i32"),C.setValue(t+3*SIZE_OF_INT,e[3],"i32")}function unmarshalTreeCursor(e){e[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,"i32"),e[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,"i32"),e[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),e[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,"i32")}function marshalPoint(e,t){C.setValue(e,t.row,"i32"),C.setValue(e+SIZE_OF_INT,t.column,"i32")}function unmarshalPoint(e){return{row:C.getValue(e,"i32")>>>0,column:C.getValue(e+SIZE_OF_INT,"i32")>>>0}}function marshalRange(e,t){marshalPoint(e,t.startPosition),marshalPoint(e+=SIZE_OF_POINT,t.endPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,"i32"),e+=SIZE_OF_INT,C.setValue(e,t.endIndex,"i32"),e+=SIZE_OF_INT}function unmarshalRange(e){const t={};return t.startPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.endPosition=unmarshalPoint(e),e+=SIZE_OF_POINT,t.startIndex=C.getValue(e,"i32")>>>0,e+=SIZE_OF_INT,t.endIndex=C.getValue(e,"i32")>>>0,t}function marshalEdit(e,t=TRANSFER_BUFFER){marshalPoint(t,e.startPosition),marshalPoint(t+=SIZE_OF_POINT,e.oldEndPosition),marshalPoint(t+=SIZE_OF_POINT,e.newEndPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,"i32"),t+=SIZE_OF_INT,C.setValue(t,e.oldEndIndex,"i32"),t+=SIZE_OF_INT,C.setValue(t,e.newEndIndex,"i32"),t+=SIZE_OF_INT}function unmarshalLanguageMetadata(e){return{major_version:C.getValue(e,"i32"),minor_version:C.getValue(e+=SIZE_OF_INT,"i32"),patch_version:C.getValue(e+=SIZE_OF_INT,"i32")}}__name(unmarshalCaptures,"unmarshalCaptures"),__name(marshalNode,"marshalNode"),__name(unmarshalNode,"unmarshalNode"),__name(marshalTreeCursor,"marshalTreeCursor"),__name(unmarshalTreeCursor,"unmarshalTreeCursor"),__name(marshalPoint,"marshalPoint"),__name(unmarshalPoint,"unmarshalPoint"),__name(marshalRange,"marshalRange"),__name(unmarshalRange,"unmarshalRange"),__name(marshalEdit,"marshalEdit"),__name(unmarshalLanguageMetadata,"unmarshalLanguageMetadata");var PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,CaptureQuantifier={Zero:0,ZeroOrOne:1,ZeroOrMore:2,One:3,OneOrMore:4},isCaptureStep=__name(e=>"capture"===e.type,"isCaptureStep"),isStringStep=__name(e=>"string"===e.type,"isStringStep"),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class e extends Error{constructor(t,s,r,i){super(e.formatMessage(t,s)),this.kind=t,this.info=s,this.index=r,this.length=i,this.name="QueryError"}static{__name(this,"QueryError")}static formatMessage(e,t){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${t.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${t.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${t.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${t.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${t.suffix}`}}};function parseAnyPredicate(e,t,s,r){if(3!==e.length)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 2, got ${e.length-1}`);if(!isCaptureStep(e[1]))throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}"`);const i="eq?"===s||"any-eq?"===s,n=!s.startsWith("any-");if(isCaptureStep(e[2])){const s=e[1].name,o=e[2].name;r[t].push(e=>{const t=[],r=[];for(const i of e)i.name===s&&t.push(i.node),i.name===o&&r.push(i.node);const a=__name((e,t,s)=>s?e.text===t.text:e.text!==t.text,"compare");return n?t.every(e=>r.some(t=>a(e,t,i))):t.some(e=>r.some(t=>a(e,t,i)))})}else{const s=e[1].name,o=e[2].value,a=__name(e=>e.text===o,"matches"),c=__name(e=>e.text!==o,"doesNotMatch");r[t].push(e=>{const t=[];for(const r of e)r.name===s&&t.push(r.node);const r=i?a:c;return n?t.every(r):t.some(r)})}}function parseMatchPredicate(e,t,s,r){if(3!==e.length)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 2, got ${e.length-1}.`);if("capture"!==e[1].type)throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}".`);if("string"!==e[2].type)throw new Error(`Second argument of \`#${s}\` predicate must be a string. Got @${e[2].name}.`);const i="match?"===s||"any-match?"===s,n=!s.startsWith("any-"),o=e[1].name,a=new RegExp(e[2].value);r[t].push(e=>{const t=[];for(const s of e)s.name===o&&t.push(s.node.text);const s=__name((e,t)=>t?a.test(e):!a.test(e),"test");return 0===t.length?!i:n?t.every(e=>s(e,i)):t.some(e=>s(e,i))})}function parseAnyOfPredicate(e,t,s,r){if(e.length<2)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected at least 1. Got ${e.length-1}.`);if("capture"!==e[1].type)throw new Error(`First argument of \`#${s}\` predicate must be a capture. Got "${e[1].value}".`);const i="any-of?"===s,n=e[1].name,o=e.slice(2);if(!o.every(isStringStep))throw new Error(`Arguments to \`#${s}\` predicate must be strings.".`);const a=o.map(e=>e.value);r[t].push(e=>{const t=[];for(const s of e)s.name===n&&t.push(s.node.text);return 0===t.length?!i:t.every(e=>a.includes(e))===i})}function parseIsPredicate(e,t,s,r,i){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#${s}\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw new Error(`Arguments to \`#${s}\` predicate must be strings.".`);const n="is?"===s?r:i;n[t]||(n[t]={}),n[t][e[1].value]=e[2]?.value??null}function parseSetDirective(e,t,s){if(e.length<2||e.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${e.length-1}.`);if(!e.every(isStringStep))throw new Error('Arguments to `#set!` predicate must be strings.".');s[t]||(s[t]={}),s[t][e[1].value]=e[2]?.value??null}function parsePattern(e,t,s,r,i,n,o,a,c,l,_){if(t===PREDICATE_STEP_TYPE_CAPTURE){const e=r[s];n.push({type:"capture",name:e})}else if(t===PREDICATE_STEP_TYPE_STRING)n.push({type:"string",value:i[s]});else if(n.length>0){if("string"!==n[0].type)throw new Error("Predicates must begin with a literal value");const t=n[0].value;switch(t){case"any-not-eq?":case"not-eq?":case"any-eq?":case"eq?":parseAnyPredicate(n,e,t,o);break;case"any-not-match?":case"not-match?":case"any-match?":case"match?":parseMatchPredicate(n,e,t,o);break;case"not-any-of?":case"any-of?":parseAnyOfPredicate(n,e,t,o);break;case"is?":case"is-not?":parseIsPredicate(n,e,t,l,_);break;case"set!":parseSetDirective(n,e,c);break;default:a[e].push({operator:t,operands:n.slice(1)})}n.length=0}}__name(parseAnyPredicate,"parseAnyPredicate"),__name(parseMatchPredicate,"parseMatchPredicate"),__name(parseAnyOfPredicate,"parseAnyOfPredicate"),__name(parseIsPredicate,"parseIsPredicate"),__name(parseSetDirective,"parseSetDirective"),__name(parsePattern,"parsePattern");var Query=class{static{__name(this,"Query")}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(e,t){const s=C.lengthBytesUTF8(t),r=C._malloc(s+1);C.stringToUTF8(t,r,s+1);const i=C._ts_query_new(e[0],r,s,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!i){const e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=C.getValue(TRANSFER_BUFFER,"i32"),i=C.UTF8ToString(r,s).length,n=t.slice(i,i+100).split("\n")[0],o=n.match(QUERY_WORD_REGEX)?.[0]??"";switch(C._free(r),e){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${i}: '${n}'...`},i,0);case QueryErrorKind.NodeName:case QueryErrorKind.FieldName:case QueryErrorKind.CaptureName:throw new QueryError(e,{word:o},i,o.length);case QueryErrorKind.PatternStructure:throw new QueryError(e,{suffix:`${i}: '${n}'...`},i,0)}}const n=C._ts_query_string_count(i),o=C._ts_query_capture_count(i),a=C._ts_query_pattern_count(i),c=new Array(o),l=new Array(a),_=new Array(n);for(let e=0;e<o;e++){const t=C._ts_query_capture_name_for_id(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");c[e]=C.UTF8ToString(t,s)}for(let e=0;e<a;e++){const t=new Array(o);for(let s=0;s<o;s++){const r=C._ts_query_capture_quantifier_for_id(i,e,s);t[s]=r}l[e]=t}for(let e=0;e<n;e++){const t=C._ts_query_string_value_for_id(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");_[e]=C.UTF8ToString(t,s)}const m=new Array(a),p=new Array(a),u=new Array(a),d=new Array(a),h=new Array(a);for(let e=0;e<a;e++){const t=C._ts_query_predicates_for_pattern(i,e,TRANSFER_BUFFER),s=C.getValue(TRANSFER_BUFFER,"i32");d[e]=[],h[e]=[];const r=new Array;let n=t;for(let t=0;t<s;t++){const t=C.getValue(n,"i32");n+=SIZE_OF_INT;const s=C.getValue(n,"i32");n+=SIZE_OF_INT,parsePattern(e,t,s,c,_,r,h,d,m,p,u)}Object.freeze(h[e]),Object.freeze(d[e]),Object.freeze(m[e]),Object.freeze(p[e]),Object.freeze(u[e])}C._free(r),this[0]=i,this.captureNames=c,this.captureQuantifiers=l,this.textPredicates=h,this.predicates=d,this.setProperties=m,this.assertedProperties=p,this.refutedProperties=u,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(e,t={}){const s=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,i=t.startIndex??0,n=t.endIndex??0,o=t.matchLimit??4294967295,a=t.maxStartDepth??4294967295,c=t.timeoutMicros??0,l=t.progressCallback;if("number"!=typeof o)throw new Error("Arguments must be numbers");if(this.matchLimit=o,0!==n&&i>n)throw new Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(s.row>r.row||s.row===r.row&&s.column>r.column))throw new Error("`startPosition` cannot be greater than `endPosition`");l&&(C.currentQueryProgressCallback=l),marshalNode(e),C._ts_query_matches_wasm(this[0],e.tree[0],s.row,s.column,r.row,r.column,i,n,o,a,c);const _=C.getValue(TRANSFER_BUFFER,"i32"),m=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),p=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),u=new Array(_);this.exceededMatchLimit=Boolean(p);let d=0,h=m;for(let t=0;t<_;t++){const t=C.getValue(h,"i32");h+=SIZE_OF_INT;const s=C.getValue(h,"i32");h+=SIZE_OF_INT;const r=new Array(s);if(h=unmarshalCaptures(this,e.tree,h,t,r),this.textPredicates[t].every(e=>e(r))){u[d]={pattern:t,patternIndex:t,captures:r};const e=this.setProperties[t];u[d].setProperties=e;const s=this.assertedProperties[t];u[d].assertedProperties=s;const i=this.refutedProperties[t];u[d].refutedProperties=i,d++}}return u.length=d,C._free(m),C.currentQueryProgressCallback=null,u}captures(e,t={}){const s=t.startPosition??ZERO_POINT,r=t.endPosition??ZERO_POINT,i=t.startIndex??0,n=t.endIndex??0,o=t.matchLimit??4294967295,a=t.maxStartDepth??4294967295,c=t.timeoutMicros??0,l=t.progressCallback;if("number"!=typeof o)throw new Error("Arguments must be numbers");if(this.matchLimit=o,0!==n&&i>n)throw new Error("`startIndex` cannot be greater than `endIndex`");if(r!==ZERO_POINT&&(s.row>r.row||s.row===r.row&&s.column>r.column))throw new Error("`startPosition` cannot be greater than `endPosition`");l&&(C.currentQueryProgressCallback=l),marshalNode(e),C._ts_query_captures_wasm(this[0],e.tree[0],s.row,s.column,r.row,r.column,i,n,o,a,c);const _=C.getValue(TRANSFER_BUFFER,"i32"),m=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),p=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),u=new Array;this.exceededMatchLimit=Boolean(p);const d=new Array;let h=m;for(let t=0;t<_;t++){const t=C.getValue(h,"i32");h+=SIZE_OF_INT;const s=C.getValue(h,"i32");h+=SIZE_OF_INT;const r=C.getValue(h,"i32");if(h+=SIZE_OF_INT,d.length=s,h=unmarshalCaptures(this,e.tree,h,t,d),this.textPredicates[t].every(e=>e(d))){const e=d[r],s=this.setProperties[t];e.setProperties=s;const i=this.assertedProperties[t];e.assertedProperties=i;const n=this.refutedProperties[t];e.refutedProperties=n,u.push(e)}}return C._free(m),C.currentQueryProgressCallback=null,u}predicatesForPattern(e){return this.predicates[e]}disableCapture(e){const t=C.lengthBytesUTF8(e),s=C._malloc(t+1);C.stringToUTF8(e,s,t+1),C._ts_query_disable_capture(this[0],s,t),C._free(s)}disablePattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],e)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],e)}endIndexForPattern(e){if(e>=this.predicates.length)throw new Error(`Pattern index is ${e} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],e)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(e){return this.captureNames.indexOf(e)}isPatternRooted(e){return 1===C._ts_query_is_pattern_rooted(this[0],e)}isPatternNonLocal(e){return 1===C._ts_query_is_pattern_non_local(this[0],e)}isPatternGuaranteedAtStep(e){return 1===C._ts_query_is_pattern_guaranteed_at_step(this[0],e)}},LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class e{static{__name(this,"Language")}0=0;types;fields;constructor(e,t){assertInternal(e),this[0]=t,this.types=new Array(C._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e<t;e++)C._ts_language_symbol_type(this[0],e)<2&&(this.types[e]=C.UTF8ToString(C._ts_language_symbol_name(this[0],e)));this.fields=new Array(C._ts_language_field_count(this[0])+1);for(let e=0,t=this.fields.length;e<t;e++){const t=C._ts_language_field_name_for_id(this[0],e);this.fields[e]=0!==t?C.UTF8ToString(t):null}}get name(){const e=C._ts_language_name(this[0]);return 0===e?null:C.UTF8ToString(e)}get version(){return C._ts_language_version(this[0])}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){C._ts_language_metadata(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");return 0===e?null:unmarshalLanguageMetadata(t)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){const t=this.fields.indexOf(e);return-1!==t?t:null}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,t){const s=C.lengthBytesUTF8(e),r=C._malloc(s+1);C.stringToUTF8(e,r,s+1);const i=C._ts_language_symbol_for_name(this[0],r,s,t?1:0);return C._free(r),i||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){const t=C._ts_language_symbol_name(this[0],e);return t?C.UTF8ToString(t):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=C.getValue(r,"i16"),r+=SIZE_OF_SHORT}return s}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);const t=C.getValue(TRANSFER_BUFFER,"i32"),s=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(t);if(t>0){let e=s;for(let s=0;s<t;s++)r[s]=C.getValue(e,"i16"),e+=SIZE_OF_SHORT}return r}nextState(e,t){return C._ts_language_next_state(this[0],e,t)}lookaheadIterator(e){const t=C._ts_lookahead_iterator_new(this[0],e);return t?new LookaheadIterator(INTERNAL,t,this):null}query(e){return console.warn("Language.query is deprecated. Use new Query(language, source) instead."),new Query(this,e)}static async load(t){let s;if(t instanceof Uint8Array)s=Promise.resolve(t);else if(globalThis.process?.versions.node){s=(await __webpack_require__.e(167).then(__webpack_require__.t.bind(__webpack_require__,167,19))).readFile(t)}else s=fetch(t).then(e=>e.arrayBuffer().then(t=>{if(e.ok)return new Uint8Array(t);{const s=new TextDecoder("utf-8").decode(t);throw new Error(`Language.load failed with status ${e.status}.\n\n${s}`)}}));const r=await C.loadWebAssemblyModule(await s,{loadAsync:!0}),i=Object.keys(r),n=i.find(e=>LANGUAGE_FUNCTION_REGEX.test(e)&&!e.includes("external_scanner_"));if(!n)throw console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(i,null,2)}`),new Error("Language.load failed: no language function found in WASM file");const o=r[n]();return new e(INTERNAL,o)}},Module2=(()=>{var _scriptName="file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js";return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="undefined"!=typeof WorkerGlobalScope,ENVIRONMENT_IS_NODE="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){const{createRequire:e}=await __webpack_require__.e(451).then(__webpack_require__.t.bind(__webpack_require__,451,19));var require=e("file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js")}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=__name((e,t)=>{throw t},"quit_"),scriptDirectory="",readAsync,readBinary;function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}if(__name(locateFile,"locateFile"),ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");"file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js".startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath("file:///home/runner/work/apidom/apidom/node_modules/web-tree-sitter/tree-sitter.js"))+"/"),readBinary=__name(e=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e)),"readBinary"),readAsync=__name(async(e,t=!0)=>(e=isFileURI(e)?new URL(e):e,fs.readFileSync(e,t?void 0:"utf8")),"readAsync"),!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=__name((e,t)=>{throw process.exitCode=e,t},"quit_")}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:"undefined"!=typeof document&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory=scriptDirectory.startsWith("blob:")?"":scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=__name(e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)},"readBinary")),readAsync=__name(async e=>{if(isFileURI(e))return new Promise((t,s)=>{var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?t(r.response):s(r.status)},r.onerror=s,r.send(null)});var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)},"readAsync"));var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64,HEAP_DATA_VIEW;function assert(e,t){e||abort(t)}__name(assert,"assert");var runtimeInitialized=!1,isFileURI=__name(e=>e.startsWith("file://"),"isFileURI");function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(e),Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e)}if(__name(updateMemoryViews,"updateMemoryViews"),Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}function preMain(){}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(preRun,"preRun"),__name(initRuntime,"initRuntime"),__name(preMain,"preMain"),__name(postRun,"postRun");var runDependencies=0,dependenciesFulfilled=null,wasmBinaryFile;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),0==runDependencies&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){Module.onAbort?.(e),err(e="Aborted("+e+")"),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject(t),t}function findWasmBinary(){return Module.locateFile?locateFile("tree-sitter.wasm"):new URL(__webpack_require__(733),__webpack_require__.b).href}function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var s=await getWasmBinary(e);return await WebAssembly.instantiate(s,t)}catch(e){err(`failed to asynchronously prepare wasm: ${e}`),abort(e)}}async function instantiateAsync(e,t,s){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!isFileURI(t)&&!ENVIRONMENT_IS_NODE)try{var r=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(r,s)}catch(e){err(`wasm streaming compile failed: ${e}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(t,s)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function e(e,t){wasmExports=e.exports,wasmExports=relocateExports(wasmExports,1024);var s=getDylinkMetadata(t);return s.neededDynlibs&&(dynamicLibraries=s.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}function t(t){return e(t.instance,t.module)}__name(e,"receiveInstance"),addRunDependency("wasm-instantiate"),__name(t,"receiveInstantiationResult");var s=getWasmImports();if(Module.instantiateWasm)return new Promise((t,r)=>{Module.instantiateWasm(s,(s,r)=>{e(s,r),t(s.exports)})});wasmBinaryFile??=findWasmBinary();try{return t(await instantiateAsync(wasmBinary,wasmBinaryFile,s))}catch(e){return readyPromiseReject(e),Promise.reject(e)}}__name(getUniqueRunDependency,"getUniqueRunDependency"),__name(addRunDependency,"addRunDependency"),__name(removeRunDependency,"removeRunDependency"),__name(abort,"abort"),__name(findWasmBinary,"findWasmBinary"),__name(getBinarySync,"getBinarySync"),__name(getWasmBinary,"getWasmBinary"),__name(instantiateArrayBuffer,"instantiateArrayBuffer"),__name(instantiateAsync,"instantiateAsync"),__name(getWasmImports,"getWasmImports"),__name(createWasm,"createWasm");var ASM_CONSTS={};class ExitStatus{static{__name(this,"ExitStatus")}name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var s=GOT[t];return s||(s=GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(t)||(s.required=!0),s}},LE_HEAP_LOAD_F32=__name(e=>HEAP_DATA_VIEW.getFloat32(e,!0),"LE_HEAP_LOAD_F32"),LE_HEAP_LOAD_F64=__name(e=>HEAP_DATA_VIEW.getFloat64(e,!0),"LE_HEAP_LOAD_F64"),LE_HEAP_LOAD_I16=__name(e=>HEAP_DATA_VIEW.getInt16(e,!0),"LE_HEAP_LOAD_I16"),LE_HEAP_LOAD_I32=__name(e=>HEAP_DATA_VIEW.getInt32(e,!0),"LE_HEAP_LOAD_I32"),LE_HEAP_LOAD_U16=__name(e=>HEAP_DATA_VIEW.getUint16(e,!0),"LE_HEAP_LOAD_U16"),LE_HEAP_LOAD_U32=__name(e=>HEAP_DATA_VIEW.getUint32(e,!0),"LE_HEAP_LOAD_U32"),LE_HEAP_STORE_F32=__name((e,t)=>HEAP_DATA_VIEW.setFloat32(e,t,!0),"LE_HEAP_STORE_F32"),LE_HEAP_STORE_F64=__name((e,t)=>HEAP_DATA_VIEW.setFloat64(e,t,!0),"LE_HEAP_STORE_F64"),LE_HEAP_STORE_I16=__name((e,t)=>HEAP_DATA_VIEW.setInt16(e,t,!0),"LE_HEAP_STORE_I16"),LE_HEAP_STORE_I32=__name((e,t)=>HEAP_DATA_VIEW.setInt32(e,t,!0),"LE_HEAP_STORE_I32"),LE_HEAP_STORE_U16=__name((e,t)=>HEAP_DATA_VIEW.setUint16(e,t,!0),"LE_HEAP_STORE_U16"),LE_HEAP_STORE_U32=__name((e,t)=>HEAP_DATA_VIEW.setUint32(e,t,!0),"LE_HEAP_STORE_U32"),callRuntimeCallbacks=__name(e=>{for(;e.length>0;)e.shift()(Module)},"callRuntimeCallbacks"),onPostRuns=[],addOnPostRun=__name(e=>onPostRuns.unshift(e),"addOnPostRun"),onPreRuns=[],addOnPreRun=__name(e=>onPreRuns.unshift(e),"addOnPreRun"),UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=__name((e,t=0,s=NaN)=>{for(var r=t+s,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,i));for(var n="";t<i;){var o=e[t++];if(128&o){var a=63&e[t++];if(192!=(224&o)){var c=63&e[t++];if((o=224==(240&o)?(15&o)<<12|a<<6|c:(7&o)<<18|a<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(o);else{var l=o-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&o)<<6|a)}else n+=String.fromCharCode(o)}return n},"UTF8ArrayToString"),getDylinkMetadata=__name(e=>{var t=0,s=0;function r(){return e[t++]}function i(){for(var s=0,r=1;;){var i=e[t++];if(s+=(127&i)*r,r*=128,!(128&i))break}return s}function n(){var s=i();return UTF8ArrayToString(e,(t+=s)-s,s)}function o(e,t){if(e)throw new Error(t)}__name(r,"getU8"),__name(i,"getLEB"),__name(n,"getString"),__name(o,"failIf");var a="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,a);0===c.length&&(a="dylink",c=WebAssembly.Module.customSections(e,a)),o(0===c.length,"need dylink section"),s=(e=new Uint8Array(c[0])).length}else{var l=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer);o(!(1836278016==l[0]||6386541==l[0]),"need to see wasm magic number"),o(0!==e[8],"need the dylink section to be first"),t=9;var _=i();s=t+_,a=n()}var m={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if("dylink"==a){m.memorySize=i(),m.memoryAlign=i(),m.tableSize=i(),m.tableAlign=i();for(var p=i(),u=0;u<p;++u){var d=n();m.neededDynlibs.push(d)}}else{o("dylink.0"!==a);for(;t<s;){var h=r(),f=i();if(1===h)m.memorySize=i(),m.memoryAlign=i(),m.tableSize=i(),m.tableAlign=i();else if(2===h)for(p=i(),u=0;u<p;++u)d=n(),m.neededDynlibs.push(d);else if(3===h)for(var y=i();y--;){var g=n();256&i()&&m.tlsExports.add(g)}else if(4===h)for(y=i();y--;){n(),g=n();1==(3&i())&&m.weakImports.add(g)}else t+=f}}return m},"getDylinkMetadata");function getValue(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return HEAP8[e];case"i16":return LE_HEAP_LOAD_I16(2*(e>>1));case"i32":return LE_HEAP_LOAD_I32(4*(e>>2));case"i64":return HEAP64[e>>3];case"float":return LE_HEAP_LOAD_F32(4*(e>>2));case"double":return LE_HEAP_LOAD_F64(8*(e>>3));case"*":return LE_HEAP_LOAD_U32(4*(e>>2));default:abort(`invalid type for getValue: ${t}`)}}__name(getValue,"getValue");var newDSO=__name((e,t,s)=>{var r={refcount:1/0,name:e,exports:s,global:!0};return LDSO.loadedLibsByName[e]=r,null!=t&&(LDSO.loadedLibsByHandle[t]=r),r},"newDSO"),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=78224,alignMemory=__name((e,t)=>Math.ceil(e/t)*t,"alignMemory"),getMemory=__name(e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,s=t+alignMemory(e,16);return ___heap_base=s,GOT.__heap_base.value=s,t},"getMemory"),isInternalSym=__name(e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),"isInternalSym"),uleb128Encode=__name((e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},"uleb128Encode"),sigToWasmTypes=__name(e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},s={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},r=1;r<e.length;++r)s.parameters.push(t[e[r]]);return s},"sigToWasmTypes"),generateFuncType=__name((e,t)=>{var s=e.slice(0,1),r=e.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};t.push(96),uleb128Encode(r.length,t);for(var n=0;n<r.length;++n)t.push(i[r[n]]);"v"==s?t.push(0):t.push(1,i[s])},"generateFuncType"),convertJsFunctionToWasm=__name((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(sigToWasmTypes(t),e);var s=[1];generateFuncType(t,s);var r=[0,97,115,109,1,0,0,0,1];uleb128Encode(s.length,r),r.push(...s),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var i=new WebAssembly.Module(new Uint8Array(r));return new WebAssembly.Instance(i,{e:{f:e}}).exports.f},"convertJsFunctionToWasm"),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:"anyfunc"}),getWasmTableEntry=__name(e=>{var t=wasmTableMirror[e];return t||(e>=wasmTableMirror.length&&(wasmTableMirror.length=e+1),wasmTableMirror[e]=t=wasmTable.get(e)),t},"getWasmTableEntry"),updateTableMap=__name((e,t)=>{if(functionsInTableMap)for(var s=e;s<e+t;s++){var r=getWasmTableEntry(s);r&&functionsInTableMap.set(r,s)}},"updateTableMap"),functionsInTableMap,getFunctionAddress=__name(e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),"getFunctionAddress"),freeTableIndexes=[],getEmptyTableSlot=__name(()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1},"getEmptyTableSlot"),setWasmTableEntry=__name((e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},"setWasmTableEntry"),addFunction=__name((e,t)=>{var s=getFunctionAddress(e);if(s)return s;var r=getEmptyTableSlot();try{setWasmTableEntry(r,e)}catch(s){if(!(s instanceof TypeError))throw s;var i=convertJsFunctionToWasm(e,t);setWasmTableEntry(r,i)}return functionsInTableMap.set(e,r),r},"addFunction"),updateGOT=__name((e,t)=>{for(var s in e)if(!isInternalSym(s)){var r=e[s];GOT[s]||=new WebAssembly.Global({value:"i32",mutable:!0}),(t||0==GOT[s].value)&&("function"==typeof r?GOT[s].value=addFunction(r):"number"==typeof r?GOT[s].value=r:err(`unhandled export type for '${s}': ${typeof r}`))}},"updateGOT"),relocateExports=__name((e,t,s)=>{var r={};for(var i in e){var n=e[i];"object"==typeof n&&(n=n.value),"number"==typeof n&&(n+=t),r[i]=n}return updateGOT(r,s),r},"relocateExports"),isSymbolDefined=__name(e=>{var t=wasmImports[e];return!(!t||t.stub)},"isSymbolDefined"),dynCall=__name((e,t,s=[])=>getWasmTableEntry(t)(...s),"dynCall"),stackSave=__name(()=>_emscripten_stack_get_current(),"stackSave"),stackRestore=__name(e=>__emscripten_stack_restore(e),"stackRestore"),createInvokeFunction=__name(e=>(t,...s)=>{var r=stackSave();try{return dynCall(e,t,s)}catch(t){if(stackRestore(r),t!==t+0)throw t;if(_setThrew(1,0),"j"==e[0])return 0n}},"createInvokeFunction"),resolveGlobalSymbol=__name((e,t=!1)=>{var s;return isSymbolDefined(e)?s=wasmImports[e]:e.startsWith("invoke_")&&(s=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:s,name:e}},"resolveGlobalSymbol"),onPostCtors=[],addOnPostCtor=__name(e=>onPostCtors.unshift(e),"addOnPostCtor"),UTF8ToString=__name((e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"","UTF8ToString"),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0,moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||(t=moduleExports[e]),t}handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32(4*(handle+12>>2),memoryBase),LE_HEAP_STORE_I32(4*(handle+16>>2),metadata.memorySize),LE_HEAP_STORE_U32(4*(handle+20>>2),tableBase),LE_HEAP_STORE_I32(4*(handle+24>>2),metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize),__name(resolveSymbol,"resolveSymbol");var proxyHandler={get(e,t){switch(t){case"__memory_base":return memoryBase;case"__table_base":return tableBase}var s;if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];t in e||(e[t]=(...e)=>(s||=resolveSymbol(t),s(...e)));return e[t]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&-1!=body.indexOf("$"+arity);arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if(updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols(),__name(addEmAsm,"addEmAsm"),"__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),"void"!=cSig)for(var i in cSig=cSig.split(","),cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in __name(addEmJs,"addEmJs"),moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,"postInstantiation"),flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return currentModuleWeakSymbols=metadata.weakImports,__name(loadModule,"loadModule"),flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},"loadWebAssemblyModule"),mergeLibSymbols=__name((e,t)=>{for(var[s,r]of Object.entries(e)){const e=__name(e=>{isSymbolDefined(e)||(wasmImports[e]=r)},"setImport");e(s);const t="__main_argc_argv";"main"==s&&e(t),s==t&&e("main")}},"mergeLibSymbols"),asyncLoad=__name(async e=>{var t=await readAsync(e);return new Uint8Array(t)},"asyncLoad");function loadDynamicLibrary(e,t={global:!0,nodelete:!0},s,r){var i=LDSO.loadedLibsByName[e];if(i)return t.global?i.global||(i.global=!0,mergeLibSymbols(i.exports,e)):s&&Object.assign(s,i.exports),t.nodelete&&i.refcount!==1/0&&(i.refcount=1/0),i.refcount++,r&&(LDSO.loadedLibsByHandle[r]=i),!t.loadAsync||Promise.resolve(!0);function n(){if(r){var s=LE_HEAP_LOAD_U32(4*(r+28>>2)),i=LE_HEAP_LOAD_U32(4*(r+32>>2));if(s&&i){var n=HEAP8.slice(s,s+i);return t.loadAsync?Promise.resolve(n):n}}var o=locateFile(e);if(t.loadAsync)return asyncLoad(o);if(!readBinary)throw new Error(`${o}: file not found, and synchronous loading of external files is not available`);return readBinary(o)}function o(){return t.loadAsync?n().then(i=>loadWebAssemblyModule(i,t,e,s,r)):loadWebAssemblyModule(n(),t,e,s,r)}function a(t){i.global?mergeLibSymbols(t,e):s&&Object.assign(s,t),i.exports=t}return(i=newDSO(e,r,"loading")).refcount=t.nodelete?1/0:1,i.global=t.global,__name(n,"loadLibData"),__name(o,"getExports"),__name(a,"moduleLoaded"),t.loadAsync?o().then(e=>(a(e),!0)):(a(o()),!0)}__name(loadDynamicLibrary,"loadDynamicLibrary");var reportUndefinedSymbols=__name(()=>{for(var[e,t]of Object.entries(GOT))if(0==t.value){var s=resolveGlobalSymbol(e,!0).sym;if(!s&&!t.required)continue;if("function"==typeof s)t.value=addFunction(s,s.sig);else{if("number"!=typeof s)throw new Error(`bad export type for '${e}': ${typeof s}`);t.value=s}}},"reportUndefinedSymbols"),loadDylibs=__name(()=>{dynamicLibraries.length?(addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})):reportUndefinedSymbols()},"loadDylibs"),noExitRuntime=Module.noExitRuntime||!0;function setValue(e,t,s="i8"){switch(s.endsWith("*")&&(s="*"),s){case"i1":case"i8":HEAP8[e]=t;break;case"i16":LE_HEAP_STORE_I16(2*(e>>1),t);break;case"i32":LE_HEAP_STORE_I32(4*(e>>2),t);break;case"i64":HEAP64[e>>3]=BigInt(t);break;case"float":LE_HEAP_STORE_F32(4*(e>>2),t);break;case"double":LE_HEAP_STORE_F64(8*(e>>3),t);break;case"*":LE_HEAP_STORE_U32(4*(e>>2),t);break;default:abort(`invalid type for setValue: ${s}`)}}__name(setValue,"setValue");var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},78224),___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=__name(()=>abort(""),"__abort_js");__abort_js.sig="v";var _emscripten_get_now=__name(()=>performance.now(),"_emscripten_get_now");_emscripten_get_now.sig="d";var _emscripten_date_now=__name(()=>Date.now(),"_emscripten_date_now");_emscripten_date_now.sig="d";var nowIsMonotonic=1,checkWasiClock=__name(e=>e>=0&&e<=3,"checkWasiClock"),INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e),"bigintToI53Checked");function _clock_time_get(e,t,s){if(t=bigintToI53Checked(t),!checkWasiClock(e))return 28;var r;if(0===e)r=_emscripten_date_now();else{if(!nowIsMonotonic)return 52;r=_emscripten_get_now()}var i=Math.round(1e3*r*1e3);return HEAP64[s>>3]=BigInt(i),0}__name(_clock_time_get,"_clock_time_get"),_clock_time_get.sig="iijp";var getHeapMax=__name(()=>2147483648,"getHeapMax"),growMemory=__name(e=>{var t=(e-wasmMemory.buffer.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(e){}},"growMemory"),_emscripten_resize_heap=__name(e=>{var t=HEAPU8.length;e>>>=0;var s=getHeapMax();if(e>s)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var n=Math.min(s,alignMemory(Math.max(e,i),65536));if(growMemory(n))return!0}return!1},"_emscripten_resize_heap");_emscripten_resize_heap.sig="ip";var _fd_close=__name(e=>52,"_fd_close");function _fd_seek(e,t,s,r){return t=bigintToI53Checked(t),70}_fd_close.sig="ii",__name(_fd_seek,"_fd_seek"),_fd_seek.sig="iijip";var printCharBuffers=[null,[],[]],printChar=__name((e,t)=>{var s=printCharBuffers[e];0===t||10===t?((1===e?out:err)(UTF8ArrayToString(s)),s.length=0):s.push(t)},"printChar"),flush_NO_FILESYSTEM=__name(()=>{printCharBuffers[1].length&&printChar(1,10),printCharBuffers[2].length&&printChar(2,10)},"flush_NO_FILESYSTEM"),SYSCALLS={varargs:void 0,getStr:e=>UTF8ToString(e)},_fd_write=__name((e,t,s,r)=>{for(var i=0,n=0;n<s;n++){var o=LE_HEAP_LOAD_U32(4*(t>>2)),a=LE_HEAP_LOAD_U32(4*(t+4>>2));t+=8;for(var c=0;c<a;c++)printChar(e,HEAPU8[o+c]);i+=a}return LE_HEAP_STORE_U32(4*(r>>2),i),0},"_fd_write");function _tree_sitter_log_callback(e,t){if(Module.currentLogCallback){const s=UTF8ToString(t);Module.currentLogCallback(s,0!==e)}}function _tree_sitter_parse_callback(e,t,s,r,i){const n=Module.currentParseCallback(t,{row:s,column:r});"string"==typeof n?(setValue(i,n.length,"i32"),stringToUTF16(n,e,10240)):setValue(i,0,"i32")}function _tree_sitter_progress_callback(e,t){return!!Module.currentProgressCallback&&Module.currentProgressCallback({currentOffset:e,hasError:t})}function _tree_sitter_query_progress_callback(e){return!!Module.currentQueryProgressCallback&&Module.currentQueryProgressCallback({currentOffset:e})}_fd_write.sig="iippp",__name(_tree_sitter_log_callback,"_tree_sitter_log_callback"),__name(_tree_sitter_parse_callback,"_tree_sitter_parse_callback"),__name(_tree_sitter_progress_callback,"_tree_sitter_progress_callback"),__name(_tree_sitter_query_progress_callback,"_tree_sitter_query_progress_callback");var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,"keepRuntimeAlive"),_proc_exit=__name(e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))},"_proc_exit");_proc_exit.sig="vi";var exitJS=__name((e,t)=>{EXITSTATUS=e,_proc_exit(e)},"exitJS"),handleException=__name(e=>{if(e instanceof ExitStatus||"unwind"==e)return EXITSTATUS;quit_(1,e)},"handleException"),lengthBytesUTF8=__name(e=>{for(var t=0,s=0;s<e.length;++s){var r=e.charCodeAt(s);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++s):t+=3}return t},"lengthBytesUTF8"),stringToUTF8Array=__name((e,t,s,r)=>{if(!(r>0))return 0;for(var i=s,n=s+r-1,o=0;o<e.length;++o){var a=e.charCodeAt(o);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o);if(a<=127){if(s>=n)break;t[s++]=a}else if(a<=2047){if(s+1>=n)break;t[s++]=192|a>>6,t[s++]=128|63&a}else if(a<=65535){if(s+2>=n)break;t[s++]=224|a>>12,t[s++]=128|a>>6&63,t[s++]=128|63&a}else{if(s+3>=n)break;t[s++]=240|a>>18,t[s++]=128|a>>12&63,t[s++]=128|a>>6&63,t[s++]=128|63&a}}return t[s]=0,s-i},"stringToUTF8Array"),stringToUTF8=__name((e,t,s)=>stringToUTF8Array(e,HEAPU8,t,s),"stringToUTF8"),stackAlloc=__name(e=>__emscripten_stack_alloc(e),"stackAlloc"),stringToUTF8OnStack=__name(e=>{var t=lengthBytesUTF8(e)+1,s=stackAlloc(t);return stringToUTF8(e,s,t),s},"stringToUTF8OnStack"),AsciiToString=__name(e=>{for(var t="";;){var s=HEAPU8[e++];if(!s)return t;t+=String.fromCharCode(s)}},"AsciiToString"),stringToUTF16=__name((e,t,s)=>{if(s??=2147483647,s<2)return 0;for(var r=t,i=(s-=2)<2*e.length?s/2:e.length,n=0;n<i;++n){var o=e.charCodeAt(n);LE_HEAP_STORE_I16(2*(t>>1),o),t+=2}return LE_HEAP_STORE_I16(2*(t>>1),0),t-r},"stringToUTF16"),wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,clock_time_get:_clock_time_get,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback},wasmExports=await createWasm(),___wasm_call_ctors=wasmExports.__wasm_call_ctors,_malloc=Module._malloc=wasmExports.malloc,_calloc=Module._calloc=wasmExports.calloc,_realloc=Module._realloc=wasmExports.realloc,_free=Module._free=wasmExports.free,_memcmp=Module._memcmp=wasmExports.memcmp,_ts_language_symbol_count=Module._ts_language_symbol_count=wasmExports.ts_language_symbol_count,_ts_language_state_count=Module._ts_language_state_count=wasmExports.ts_language_state_count,_ts_language_version=Module._ts_language_version=wasmExports.ts_language_version,_ts_language_abi_version=Module._ts_language_abi_version=wasmExports.ts_language_abi_version,_ts_language_metadata=Module._ts_language_metadata=wasmExports.ts_language_metadata,_ts_language_name=Module._ts_language_name=wasmExports.ts_language_name,_ts_language_field_count=Module._ts_language_field_count=wasmExports.ts_language_field_count,_ts_language_next_state=Module._ts_language_next_state=wasmExports.ts_language_next_state,_ts_language_symbol_name=Module._ts_language_symbol_name=wasmExports.ts_language_symbol_name,_ts_language_symbol_for_name=Module._ts_language_symbol_for_name=wasmExports.ts_language_symbol_for_name,_strncmp=Module._strncmp=wasmExports.strncmp,_ts_language_symbol_type=Module._ts_language_symbol_type=wasmExports.ts_language_symbol_type,_ts_language_field_name_for_id=Module._ts_language_field_name_for_id=wasmExports.ts_language_field_name_for_id,_ts_lookahead_iterator_new=Module._ts_lookahead_iterator_new=wasmExports.ts_lookahead_iterator_new,_ts_lookahead_iterator_delete=Module._ts_lookahead_iterator_delete=wasmExports.ts_lookahead_iterator_delete,_ts_lookahead_iterator_reset_state=Module._ts_lookahead_iterator_reset_state=wasmExports.ts_lookahead_iterator_reset_state,_ts_lookahead_iterator_reset=Module._ts_lookahead_iterator_reset=wasmExports.ts_lookahead_iterator_reset,_ts_lookahead_iterator_next=Module._ts_lookahead_iterator_next=wasmExports.ts_lookahead_iterator_next,_ts_lookahead_iterator_current_symbol=Module._ts_lookahead_iterator_current_symbol=wasmExports.ts_lookahead_iterator_current_symbol,_ts_parser_delete=Module._ts_parser_delete=wasmExports.ts_parser_delete,_ts_parser_reset=Module._ts_parser_reset=wasmExports.ts_parser_reset,_ts_parser_set_language=Module._ts_parser_set_language=wasmExports.ts_parser_set_language,_ts_parser_timeout_micros=Module._ts_parser_timeout_micros=wasmExports.ts_parser_timeout_micros,_ts_parser_set_timeout_micros=Module._ts_parser_set_timeout_micros=wasmExports.ts_parser_set_timeout_micros,_ts_parser_set_included_ranges=Module._ts_parser_set_included_ranges=wasmExports.ts_parser_set_included_ranges,_ts_query_new=Module._ts_query_new=wasmExports.ts_query_new,_ts_query_delete=Module._ts_query_delete=wasmExports.ts_query_delete,_iswspace=Module._iswspace=wasmExports.iswspace,_iswalnum=Module._iswalnum=wasmExports.iswalnum,_ts_query_pattern_count=Module._ts_query_pattern_count=wasmExports.ts_query_pattern_count,_ts_query_capture_count=Module._ts_query_capture_count=wasmExports.ts_query_capture_count,_ts_query_string_count=Module._ts_query_string_count=wasmExports.ts_query_string_count,_ts_query_capture_name_for_id=Module._ts_query_capture_name_for_id=wasmExports.ts_query_capture_name_for_id,_ts_query_capture_quantifier_for_id=Module._ts_query_capture_quantifier_for_id=wasmExports.ts_query_capture_quantifier_for_id,_ts_query_string_value_for_id=Module._ts_query_string_value_for_id=wasmExports.ts_query_string_value_for_id,_ts_query_predicates_for_pattern=Module._ts_query_predicates_for_pattern=wasmExports.ts_query_predicates_for_pattern,_ts_query_start_byte_for_pattern=Module._ts_query_start_byte_for_pattern=wasmExports.ts_query_start_byte_for_pattern,_ts_query_end_byte_for_pattern=Module._ts_query_end_byte_for_pattern=wasmExports.ts_query_end_byte_for_pattern,_ts_query_is_pattern_rooted=Module._ts_query_is_pattern_rooted=wasmExports.ts_query_is_pattern_rooted,_ts_query_is_pattern_non_local=Module._ts_query_is_pattern_non_local=wasmExports.ts_query_is_pattern_non_local,_ts_query_is_pattern_guaranteed_at_step=Module._ts_query_is_pattern_guaranteed_at_step=wasmExports.ts_query_is_pattern_guaranteed_at_step,_ts_query_disable_capture=Module._ts_query_disable_capture=wasmExports.ts_query_disable_capture,_ts_query_disable_pattern=Module._ts_query_disable_pattern=wasmExports.ts_query_disable_pattern,_ts_tree_copy=Module._ts_tree_copy=wasmExports.ts_tree_copy,_ts_tree_delete=Module._ts_tree_delete=wasmExports.ts_tree_delete,_ts_init=Module._ts_init=wasmExports.ts_init,_ts_parser_new_wasm=Module._ts_parser_new_wasm=wasmExports.ts_parser_new_wasm,_ts_parser_enable_logger_wasm=Module._ts_parser_enable_logger_wasm=wasmExports.ts_parser_enable_logger_wasm,_ts_parser_parse_wasm=Module._ts_parser_parse_wasm=wasmExports.ts_parser_parse_wasm,_ts_parser_included_ranges_wasm=Module._ts_parser_included_ranges_wasm=wasmExports.ts_parser_included_ranges_wasm,_ts_language_type_is_named_wasm=Module._ts_language_type_is_named_wasm=wasmExports.ts_language_type_is_named_wasm,_ts_language_type_is_visible_wasm=Module._ts_language_type_is_visible_wasm=wasmExports.ts_language_type_is_visible_wasm,_ts_language_supertypes_wasm=Module._ts_language_supertypes_wasm=wasmExports.ts_language_supertypes_wasm,_ts_language_subtypes_wasm=Module._ts_language_subtypes_wasm=wasmExports.ts_language_subtypes_wasm,_ts_tree_root_node_wasm=Module._ts_tree_root_node_wasm=wasmExports.ts_tree_root_node_wasm,_ts_tree_root_node_with_offset_wasm=Module._ts_tree_root_node_with_offset_wasm=wasmExports.ts_tree_root_node_with_offset_wasm,_ts_tree_edit_wasm=Module._ts_tree_edit_wasm=wasmExports.ts_tree_edit_wasm,_ts_tree_included_ranges_wasm=Module._ts_tree_included_ranges_wasm=wasmExports.ts_tree_included_ranges_wasm,_ts_tree_get_changed_ranges_wasm=Module._ts_tree_get_changed_ranges_wasm=wasmExports.ts_tree_get_changed_ranges_wasm,_ts_tree_cursor_new_wasm=Module._ts_tree_cursor_new_wasm=wasmExports.ts_tree_cursor_new_wasm,_ts_tree_cursor_copy_wasm=Module._ts_tree_cursor_copy_wasm=wasmExports.ts_tree_cursor_copy_wasm,_ts_tree_cursor_delete_wasm=Module._ts_tree_cursor_delete_wasm=wasmExports.ts_tree_cursor_delete_wasm,_ts_tree_cursor_reset_wasm=Module._ts_tree_cursor_reset_wasm=wasmExports.ts_tree_cursor_reset_wasm,_ts_tree_cursor_reset_to_wasm=Module._ts_tree_cursor_reset_to_wasm=wasmExports.ts_tree_cursor_reset_to_wasm,_ts_tree_cursor_goto_first_child_wasm=Module._ts_tree_cursor_goto_first_child_wasm=wasmExports.ts_tree_cursor_goto_first_child_wasm,_ts_tree_cursor_goto_last_child_wasm=Module._ts_tree_cursor_goto_last_child_wasm=wasmExports.ts_tree_cursor_goto_last_child_wasm,_ts_tree_cursor_goto_first_child_for_index_wasm=Module._ts_tree_cursor_goto_first_child_for_index_wasm=wasmExports.ts_tree_cursor_goto_first_child_for_index_wasm,_ts_tree_cursor_goto_first_child_for_position_wasm=Module._ts_tree_cursor_goto_first_child_for_position_wasm=wasmExports.ts_tree_cursor_goto_first_child_for_position_wasm,_ts_tree_cursor_goto_next_sibling_wasm=Module._ts_tree_cursor_goto_next_sibling_wasm=wasmExports.ts_tree_cursor_goto_next_sibling_wasm,_ts_tree_cursor_goto_previous_sibling_wasm=Module._ts_tree_cursor_goto_previous_sibling_wasm=wasmExports.ts_tree_cursor_goto_previous_sibling_wasm,_ts_tree_cursor_goto_descendant_wasm=Module._ts_tree_cursor_goto_descendant_wasm=wasmExports.ts_tree_cursor_goto_descendant_wasm,_ts_tree_cursor_goto_parent_wasm=Module._ts_tree_cursor_goto_parent_wasm=wasmExports.ts_tree_cursor_goto_parent_wasm,_ts_tree_cursor_current_node_type_id_wasm=Module._ts_tree_cursor_current_node_type_id_wasm=wasmExports.ts_tree_cursor_current_node_type_id_wasm,_ts_tree_cursor_current_node_state_id_wasm=Module._ts_tree_cursor_current_node_state_id_wasm=wasmExports.ts_tree_cursor_current_node_state_id_wasm,_ts_tree_cursor_current_node_is_named_wasm=Module._ts_tree_cursor_current_node_is_named_wasm=wasmExports.ts_tree_cursor_current_node_is_named_wasm,_ts_tree_cursor_current_node_is_missing_wasm=Module._ts_tree_cursor_current_node_is_missing_wasm=wasmExports.ts_tree_cursor_current_node_is_missing_wasm,_ts_tree_cursor_current_node_id_wasm=Module._ts_tree_cursor_current_node_id_wasm=wasmExports.ts_tree_cursor_current_node_id_wasm,_ts_tree_cursor_start_position_wasm=Module._ts_tree_cursor_start_position_wasm=wasmExports.ts_tree_cursor_start_position_wasm,_ts_tree_cursor_end_position_wasm=Module._ts_tree_cursor_end_position_wasm=wasmExports.ts_tree_cursor_end_position_wasm,_ts_tree_cursor_start_index_wasm=Module._ts_tree_cursor_start_index_wasm=wasmExports.ts_tree_cursor_start_index_wasm,_ts_tree_cursor_end_index_wasm=Module._ts_tree_cursor_end_index_wasm=wasmExports.ts_tree_cursor_end_index_wasm,_ts_tree_cursor_current_field_id_wasm=Module._ts_tree_cursor_current_field_id_wasm=wasmExports.ts_tree_cursor_current_field_id_wasm,_ts_tree_cursor_current_depth_wasm=Module._ts_tree_cursor_current_depth_wasm=wasmExports.ts_tree_cursor_current_depth_wasm,_ts_tree_cursor_current_descendant_index_wasm=Module._ts_tree_cursor_current_descendant_index_wasm=wasmExports.ts_tree_cursor_current_descendant_index_wasm,_ts_tree_cursor_current_node_wasm=Module._ts_tree_cursor_current_node_wasm=wasmExports.ts_tree_cursor_current_node_wasm,_ts_node_symbol_wasm=Module._ts_node_symbol_wasm=wasmExports.ts_node_symbol_wasm,_ts_node_field_name_for_child_wasm=Module._ts_node_field_name_for_child_wasm=wasmExports.ts_node_field_name_for_child_wasm,_ts_node_field_name_for_named_child_wasm=Module._ts_node_field_name_for_named_child_wasm=wasmExports.ts_node_field_name_for_named_child_wasm,_ts_node_children_by_field_id_wasm=Module._ts_node_children_by_field_id_wasm=wasmExports.ts_node_children_by_field_id_wasm,_ts_node_first_child_for_byte_wasm=Module._ts_node_first_child_for_byte_wasm=wasmExports.ts_node_first_child_for_byte_wasm,_ts_node_first_named_child_for_byte_wasm=Module._ts_node_first_named_child_for_byte_wasm=wasmExports.ts_node_first_named_child_for_byte_wasm,_ts_node_grammar_symbol_wasm=Module._ts_node_grammar_symbol_wasm=wasmExports.ts_node_grammar_symbol_wasm,_ts_node_child_count_wasm=Module._ts_node_child_count_wasm=wasmExports.ts_node_child_count_wasm,_ts_node_named_child_count_wasm=Module._ts_node_named_child_count_wasm=wasmExports.ts_node_named_child_count_wasm,_ts_node_child_wasm=Module._ts_node_child_wasm=wasmExports.ts_node_child_wasm,_ts_node_named_child_wasm=Module._ts_node_named_child_wasm=wasmExports.ts_node_named_child_wasm,_ts_node_child_by_field_id_wasm=Module._ts_node_child_by_field_id_wasm=wasmExports.ts_node_child_by_field_id_wasm,_ts_node_next_sibling_wasm=Module._ts_node_next_sibling_wasm=wasmExports.ts_node_next_sibling_wasm,_ts_node_prev_sibling_wasm=Module._ts_node_prev_sibling_wasm=wasmExports.ts_node_prev_sibling_wasm,_ts_node_next_named_sibling_wasm=Module._ts_node_next_named_sibling_wasm=wasmExports.ts_node_next_named_sibling_wasm,_ts_node_prev_named_sibling_wasm=Module._ts_node_prev_named_sibling_wasm=wasmExports.ts_node_prev_named_sibling_wasm,_ts_node_descendant_count_wasm=Module._ts_node_descendant_count_wasm=wasmExports.ts_node_descendant_count_wasm,_ts_node_parent_wasm=Module._ts_node_parent_wasm=wasmExports.ts_node_parent_wasm,_ts_node_child_with_descendant_wasm=Module._ts_node_child_with_descendant_wasm=wasmExports.ts_node_child_with_descendant_wasm,_ts_node_descendant_for_index_wasm=Module._ts_node_descendant_for_index_wasm=wasmExports.ts_node_descendant_for_index_wasm,_ts_node_named_descendant_for_index_wasm=Module._ts_node_named_descendant_for_index_wasm=wasmExports.ts_node_named_descendant_for_index_wasm,_ts_node_descendant_for_position_wasm=Module._ts_node_descendant_for_position_wasm=wasmExports.ts_node_descendant_for_position_wasm,_ts_node_named_descendant_for_position_wasm=Module._ts_node_named_descendant_for_position_wasm=wasmExports.ts_node_named_descendant_for_position_wasm,_ts_node_start_point_wasm=Module._ts_node_start_point_wasm=wasmExports.ts_node_start_point_wasm,_ts_node_end_point_wasm=Module._ts_node_end_point_wasm=wasmExports.ts_node_end_point_wasm,_ts_node_start_index_wasm=Module._ts_node_start_index_wasm=wasmExports.ts_node_start_index_wasm,_ts_node_end_index_wasm=Module._ts_node_end_index_wasm=wasmExports.ts_node_end_index_wasm,_ts_node_to_string_wasm=Module._ts_node_to_string_wasm=wasmExports.ts_node_to_string_wasm,_ts_node_children_wasm=Module._ts_node_children_wasm=wasmExports.ts_node_children_wasm,_ts_node_named_children_wasm=Module._ts_node_named_children_wasm=wasmExports.ts_node_named_children_wasm,_ts_node_descendants_of_type_wasm=Module._ts_node_descendants_of_type_wasm=wasmExports.ts_node_descendants_of_type_wasm,_ts_node_is_named_wasm=Module._ts_node_is_named_wasm=wasmExports.ts_node_is_named_wasm,_ts_node_has_changes_wasm=Module._ts_node_has_changes_wasm=wasmExports.ts_node_has_changes_wasm,_ts_node_has_error_wasm=Module._ts_node_has_error_wasm=wasmExports.ts_node_has_error_wasm,_ts_node_is_error_wasm=Module._ts_node_is_error_wasm=wasmExports.ts_node_is_error_wasm,_ts_node_is_missing_wasm=Module._ts_node_is_missing_wasm=wasmExports.ts_node_is_missing_wasm,_ts_node_is_extra_wasm=Module._ts_node_is_extra_wasm=wasmExports.ts_node_is_extra_wasm,_ts_node_parse_state_wasm=Module._ts_node_parse_state_wasm=wasmExports.ts_node_parse_state_wasm,_ts_node_next_parse_state_wasm=Module._ts_node_next_parse_state_wasm=wasmExports.ts_node_next_parse_state_wasm,_ts_query_matches_wasm=Module._ts_query_matches_wasm=wasmExports.ts_query_matches_wasm,_ts_query_captures_wasm=Module._ts_query_captures_wasm=wasmExports.ts_query_captures_wasm,_memset=Module._memset=wasmExports.memset,_memcpy=Module._memcpy=wasmExports.memcpy,_memmove=Module._memmove=wasmExports.memmove,_iswalpha=Module._iswalpha=wasmExports.iswalpha,_iswblank=Module._iswblank=wasmExports.iswblank,_iswdigit=Module._iswdigit=wasmExports.iswdigit,_iswlower=Module._iswlower=wasmExports.iswlower,_iswupper=Module._iswupper=wasmExports.iswupper,_iswxdigit=Module._iswxdigit=wasmExports.iswxdigit,_memchr=Module._memchr=wasmExports.memchr,_strlen=Module._strlen=wasmExports.strlen,_strcmp=Module._strcmp=wasmExports.strcmp,_strncat=Module._strncat=wasmExports.strncat,_strncpy=Module._strncpy=wasmExports.strncpy,_towlower=Module._towlower=wasmExports.towlower,_towupper=Module._towupper=wasmExports.towupper,_setThrew=wasmExports.setThrew,__emscripten_stack_restore=wasmExports._emscripten_stack_restore,__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc,_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current,___wasm_apply_data_relocs=wasmExports.__wasm_apply_data_relocs;function callMain(e=[]){var t=resolveGlobalSymbol("main").sym;if(t){e.unshift(thisProgram);var s=e.length,r=stackAlloc(4*(s+1)),i=r;e.forEach(e=>{LE_HEAP_STORE_U32(4*(i>>2),stringToUTF8OnStack(e)),i+=4}),LE_HEAP_STORE_U32(4*(i>>2),0);try{var n=t(s,r);return exitJS(n,!0),n}catch(e){return handleException(e)}}}function run(e=arguments_){function t(){(Module.calledRun=!0,ABORT)||(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),Module.noInitialRun||callMain(e),postRun())}runDependencies>0?dependenciesFulfilled=run:(preRun(),runDependencies>0?dependenciesFulfilled=run:(__name(t,"doRun"),Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),t()},1)):t()))}if(Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,__name(callMain,"callMain"),__name(run,"run"),Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();return run(),moduleRtn=readyPromise,moduleRtn}})(),tree_sitter_default=Module2,Module3=null,TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION;async function initializeBinding(e){return Module3||(Module3=await tree_sitter_default(e)),Module3}function checkModule(){return!!Module3}__name(initializeBinding,"initializeBinding"),__name(checkModule,"checkModule");var Parser=class{static{__name(this,"Parser")}0=0;1=0;logCallback=null;language=null;static async init(e){setModule(await initializeBinding(e)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,"i32"),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}constructor(){this.initialize()}initialize(){if(!checkModule())throw new Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,"i32"),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(e){if(e.constructor!==Language)throw new Error("Argument must be a Language");{t=e[0];const s=C._ts_language_version(t);if(s<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<s)throw new Error(`Incompatible language version ${s}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=e}}else t=0,this.language=null;return C._ts_parser_set_language(this[0],t),this}parse(e,t,s){if("string"==typeof e)C.currentParseCallback=t=>e.slice(t);else{if("function"!=typeof e)throw new Error("Argument must be a string or a function");C.currentParseCallback=e}C.currentProgressCallback=s?.progressCallback?s.progressCallback:null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let r=0,i=0;if(s?.includedRanges){r=s.includedRanges.length,i=C._calloc(r,SIZE_OF_RANGE);let e=i;for(let t=0;t<r;t++)marshalRange(e,s.includedRanges[t]),e+=SIZE_OF_RANGE}const n=C._ts_parser_parse_wasm(this[0],this[1],t?t[0]:0,i,r);if(!n)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw new Error("Parser must have a language to parse");const o=new Tree(INTERNAL,n,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,o}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),t=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),s=new Array(e);if(e>0){let r=t;for(let t=0;t<e;t++)s[t]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(t)}return s}getTimeoutMicros(){return C._ts_parser_timeout_micros(this[0])}setTimeoutMicros(e){C._ts_parser_set_timeout_micros(this[0],0,e)}setLogger(e){if(e){if("function"!=typeof e)throw new Error("Logger callback must be a function");this.logCallback=e}else this.logCallback=null;return this}getLogger(){return this.logCallback}}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.m=__webpack_modules__,getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var s=Object.create(null);__webpack_require__.r(s);var r={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~leafPrototypes.indexOf(i);i=getProto(i))Object.getOwnPropertyNames(i).forEach(t=>r[t]=()=>e[t]);return r.default=()=>e,__webpack_require__.d(s,r),s},__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,s)=>(__webpack_require__.f[s](e,t),t),[])),__webpack_require__.u=e=>e+".apidom-parser-adapter-openapi-json-3-1.browser.min.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="apidomParserAdapterOpenApiJson3_1:",__webpack_require__.l=(e,t,s,r)=>{if(inProgress[e])inProgress[e].push(t);else{var i,n;if(void 0!==s)for(var o=document.getElementsByTagName("script"),a=0;a<o.length;a++){var c=o[a];if(c.getAttribute("src")==e||c.getAttribute("data-webpack")==dataWebpackPrefix+s){i=c;break}}i||(n=!0,(i=document.createElement("script")).charset="utf-8",__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",dataWebpackPrefix+s),i.src=e),inProgress[e]=[t];var l=(t,s)=>{i.onerror=i.onload=null,clearTimeout(_);var r=inProgress[e];if(delete inProgress[e],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach(e=>e(s)),t)return t(s)},_=setTimeout(l.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),n&&document.head.appendChild(i)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{__webpack_require__.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={792:0};__webpack_require__.f.j=(t,s)=>{var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var i=new Promise((s,i)=>r=e[t]=[s,i]);s.push(r[2]=i);var n=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(n,s=>{if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=s&&("load"===s.type?"missing":s.type),n=s&&s.target&&s.target.src;o.message="Loading chunk "+t+" failed.\n("+i+": "+n+")",o.name="ChunkLoadError",o.type=i,o.request=n,r[1](o)}},"chunk-"+t,t)}};var t=(t,s)=>{var r,i,[n,o,a]=s,c=0;if(n.some(t=>0!==e[t])){for(r in o)__webpack_require__.o(o,r)&&(__webpack_require__.m[r]=o[r]);if(a)a(__webpack_require__)}for(t&&t(s);c<n.length;c++)i=n[c],__webpack_require__.o(e,i)&&e[i]&&e[i][0](),e[i]=0},s=self.webpackChunkapidomParserAdapterOpenApiJson3_1=self.webpackChunkapidomParserAdapterOpenApiJson3_1||[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{detect:()=>src_adapter_detect,detectionRegExp:()=>src_adapter_detectionRegExp,mediaTypes:()=>src_media_types_0,namespace:()=>adapter_namespace,parse:()=>src_adapter_parse});var apidom_ns_openapi_3_1_src_predicates_namespaceObject={};__webpack_require__.r(apidom_ns_openapi_3_1_src_predicates_namespaceObject),__webpack_require__.d(apidom_ns_openapi_3_1_src_predicates_namespaceObject,{isBooleanJsonSchemaElement:()=>predicates_isBooleanJsonSchemaElement,isCallbackElement:()=>predicates_isCallbackElement,isComponentsElement:()=>predicates_isComponentsElement,isContactElement:()=>predicates_isContactElement,isExampleElement:()=>predicates_isExampleElement,isExternalDocumentationElement:()=>predicates_isExternalDocumentationElement,isHeaderElement:()=>predicates_isHeaderElement,isInfoElement:()=>predicates_isInfoElement,isJsonSchemaDialectElement:()=>isJsonSchemaDialectElement,isLicenseElement:()=>predicates_isLicenseElement,isLinkElement:()=>src_predicates_isLinkElement,isMediaTypeElement:()=>predicates_isMediaTypeElement,isOpenApi3_1Element:()=>isOpenApi3_1Element,isOpenapiElement:()=>predicates_isOpenapiElement,isOperationElement:()=>predicates_isOperationElement,isParameterElement:()=>predicates_isParameterElement,isPathItemElement:()=>predicates_isPathItemElement,isPathItemElementExternal:()=>isPathItemElementExternal,isPathsElement:()=>predicates_isPathsElement,isReferenceElement:()=>predicates_isReferenceElement,isReferenceElementExternal:()=>isReferenceElementExternal,isRequestBodyElement:()=>predicates_isRequestBodyElement,isResponseElement:()=>predicates_isResponseElement,isResponsesElement:()=>predicates_isResponsesElement,isSchemaElement:()=>predicates_isSchemaElement,isSecurityRequirementElement:()=>predicates_isSecurityRequirementElement,isSecuritySchemeElement:()=>predicates_isSecuritySchemeElement,isServerElement:()=>predicates_isServerElement,isServerVariableElement:()=>predicates_isServerVariableElement});var apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject={};function _isPlaceholder(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function _curry1(e){return function t(s){return 0===arguments.length||_isPlaceholder(s)?t:e.apply(this,arguments)}}function _curry2(e){return function t(s,r){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(s)?t:_curry1(function(t){return e(s,t)});default:return _isPlaceholder(s)&&_isPlaceholder(r)?t:_isPlaceholder(s)?_curry1(function(t){return e(t,r)}):_isPlaceholder(r)?_curry1(function(t){return e(s,t)}):e(s,r)}}}function _curry3(e){return function t(s,r,i){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(s)?t:_curry2(function(t,r){return e(s,t,r)});case 2:return _isPlaceholder(s)&&_isPlaceholder(r)?t:_isPlaceholder(s)?_curry2(function(t,s){return e(t,r,s)}):_isPlaceholder(r)?_curry2(function(t,r){return e(s,t,r)}):_curry1(function(t){return e(s,r,t)});default:return _isPlaceholder(s)&&_isPlaceholder(r)&&_isPlaceholder(i)?t:_isPlaceholder(s)&&_isPlaceholder(r)?_curry2(function(t,s){return e(t,s,i)}):_isPlaceholder(s)&&_isPlaceholder(i)?_curry2(function(t,s){return e(t,r,s)}):_isPlaceholder(r)&&_isPlaceholder(i)?_curry2(function(t,r){return e(s,t,r)}):_isPlaceholder(s)?_curry1(function(t){return e(t,r,i)}):_isPlaceholder(r)?_curry1(function(t){return e(s,t,i)}):_isPlaceholder(i)?_curry1(function(t){return e(s,r,t)}):e(s,r,i)}}}__webpack_require__.r(apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject),__webpack_require__.d(apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject,{isOpenApiExtension:()=>predicates_isOpenApiExtension,isReferenceLikeElement:()=>predicates_isReferenceLikeElement,isServerLikeElement:()=>predicates_isServerLikeElement,isTagLikeElement:()=>predicates_isTagLikeElement});var defaultTo=_curry2(function(e,t){return null==t||t!=t?e:t});const es_defaultTo=defaultTo,_isInteger=Number.isInteger||function(e){return(e|0)===e};function _nth(e,t){return t[e<0?t.length+e:e]}function _prop(e,t){if(null!=t)return _isInteger(e)?_nth(e,t):t[e]}const internal_prop=_prop;var prop=_curry2(internal_prop);const es_prop=prop;var propOr=_curry3(function(e,t,s){return es_defaultTo(e,es_prop(t,s))});const es_propOr=propOr;var omit=_curry2(function(e,t){for(var s={},r={},i=0,n=e.length;i<n;)r[e[i]]=1,i+=1;for(var o in t)r.hasOwnProperty(o)||(s[o]=t[o]);return s});const es_omit=omit;function _arrayReduce(e,t,s){for(var r=0,i=s.length;r<i;)t=e(t,s[r]),r+=1;return t}function _concat(e,t){var s;t=t||[];var r=(e=e||[]).length,i=t.length,n=[];for(s=0;s<r;)n[n.length]=e[s],s+=1;for(s=0;s<i;)n[n.length]=t[s],s+=1;return n}const _isArray=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function _isString(e){return"[object String]"===Object.prototype.toString.call(e)}var _isArrayLike=_curry1(function(e){return!!_isArray(e)||!!e&&("object"==typeof e&&(!_isString(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});const internal_isArrayLike=_isArrayLike;var symIterator="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function _createReduce(e,t,s){return function(r,i,n){if(internal_isArrayLike(n))return e(r,i,n);if(null==n)return i;if("function"==typeof n["fantasy-land/reduce"])return t(r,i,n,"fantasy-land/reduce");if(null!=n[symIterator])return s(r,i,n[symIterator]());if("function"==typeof n.next)return s(r,i,n);if("function"==typeof n.reduce)return t(r,i,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function _iterableReduce(e,t,s){for(var r=s.next();!r.done;)t=e(t,r.value),r=s.next();return t}function _methodReduce(e,t,s,r){return s[r](e,t)}var _reduce=_createReduce(_arrayReduce,_methodReduce,_iterableReduce);const internal_reduce=_reduce;function _isTransformer(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function _dispatchable(e,t,s){return function(){if(0===arguments.length)return s();var r=arguments[arguments.length-1];if(!_isArray(r)){for(var i=0;i<e.length;){if("function"==typeof r[e[i]])return r[e[i]].apply(r,Array.prototype.slice.call(arguments,0,-1));i+=1}if(_isTransformer(r))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(r)}return s.apply(this,arguments)}}function _map(e,t){for(var s=0,r=t.length,i=Array(r);s<r;)i[s]=e(t[s]),s+=1;return i}const _xfBase={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}};var XMap=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),_xmap=function(e){return function(t){return new XMap(e,t)}};const internal_xmap=_xmap;function _arity(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,s){return t.apply(this,arguments)};case 3:return function(e,s,r){return t.apply(this,arguments)};case 4:return function(e,s,r,i){return t.apply(this,arguments)};case 5:return function(e,s,r,i,n){return t.apply(this,arguments)};case 6:return function(e,s,r,i,n,o){return t.apply(this,arguments)};case 7:return function(e,s,r,i,n,o,a){return t.apply(this,arguments)};case 8:return function(e,s,r,i,n,o,a,c){return t.apply(this,arguments)};case 9:return function(e,s,r,i,n,o,a,c,l){return t.apply(this,arguments)};case 10:return function(e,s,r,i,n,o,a,c,l,_){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function _curryN(e,t,s){return function(){for(var r=[],i=0,n=e,o=0,a=!1;o<t.length||i<arguments.length;){var c;o<t.length&&(!_isPlaceholder(t[o])||i>=arguments.length)?c=t[o]:(c=arguments[i],i+=1),r[o]=c,_isPlaceholder(c)?a=!0:n-=1,o+=1}return!a&&n<=0?s.apply(this,r):_arity(Math.max(0,n),_curryN(e,r,s))}}var curryN=_curry2(function(e,t){return 1===e?_curry1(t):_arity(e,_curryN(e,[],t))});const es_curryN=curryN;function _has(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var _isArguments_toString=Object.prototype.toString,_isArguments=function(){return"[object Arguments]"===_isArguments_toString.call(arguments)?function(e){return"[object Arguments]"===_isArguments_toString.call(e)}:function(e){return _has("callee",e)}}();const internal_isArguments=_isArguments;var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hasArgsEnumBug=function(){return arguments.propertyIsEnumerable("length")}(),contains=function(e,t){for(var s=0;s<e.length;){if(e[s]===t)return!0;s+=1}return!1},keys="function"!=typeof Object.keys||hasArgsEnumBug?_curry1(function(e){if(Object(e)!==e)return[];var t,s,r=[],i=hasArgsEnumBug&&internal_isArguments(e);for(t in e)!_has(t,e)||i&&"length"===t||(r[r.length]=t);if(hasEnumBug)for(s=nonEnumerableProps.length-1;s>=0;)_has(t=nonEnumerableProps[s],e)&&!contains(r,t)&&(r[r.length]=t),s-=1;return r}):_curry1(function(e){return Object(e)!==e?[]:Object.keys(e)});const es_keys=keys;var map=_curry2(_dispatchable(["fantasy-land/map","map"],internal_xmap,function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return es_curryN(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return _arrayReduce(function(s,r){return s[r]=e(t[r]),s},{},es_keys(t));default:return _map(e,t)}}));const es_map=map;var ap=_curry2(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(s){return e(s)(t(s))}:internal_reduce(function(e,s){return _concat(e,es_map(s,t))},[],e)});const es_ap=ap;var liftN=_curry2(function(e,t){var s=es_curryN(e,t);return es_curryN(e,function(){return _arrayReduce(es_ap,es_map(s,arguments[0]),Array.prototype.slice.call(arguments,1))})});const es_liftN=liftN;var lift=_curry1(function(e){return es_liftN(e.length,e)});const es_lift=lift;var not=_curry1(function(e){return!e});const es_not=not;var complement=es_lift(es_not);const es_complement=complement;function _arrayFromIterator(e){for(var t,s=[];!(t=e.next()).done;)s.push(t.value);return s}function _includesWith(e,t,s){for(var r=0,i=s.length;r<i;){if(e(t,s[r]))return!0;r+=1}return!1}function _functionName(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}function _objectIs(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}const internal_objectIs="function"==typeof Object.is?Object.is:_objectIs;var type=_curry1(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});const es_type=type;function _uniqContentEquals(e,t,s,r){var i=_arrayFromIterator(e);function n(e,t){return _equals(e,t,s.slice(),r.slice())}return!_includesWith(function(e,t){return!_includesWith(n,t,e)},_arrayFromIterator(t),i)}function _equals(e,t,s,r){if(internal_objectIs(e,t))return!0;var i=es_type(e);if(i!==es_type(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(i){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===_functionName(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!internal_objectIs(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!internal_objectIs(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var n=s.length-1;n>=0;){if(s[n]===e)return r[n]===t;n-=1}switch(i){case"Map":return e.size===t.size&&_uniqContentEquals(e.entries(),t.entries(),s.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&_uniqContentEquals(e.values(),t.values(),s.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=es_keys(e);if(o.length!==es_keys(t).length)return!1;var a=s.concat([e]),c=r.concat([t]);for(n=o.length-1;n>=0;){var l=o[n];if(!_has(l,t)||!_equals(t[l],e[l],a,c))return!1;n-=1}return!0}var equals=_curry2(function(e,t){return _equals(e,t,[],[])});const es_equals=equals;var always=_curry1(function(e){return function(){return e}});const es_always=always;var stubUndefined=es_always(void 0);const es_stubUndefined=stubUndefined;var isUndefined=es_equals(es_stubUndefined());const es_isUndefined=isUndefined;var isNotUndefined=es_complement(es_isUndefined);const es_isNotUndefined=isNotUndefined;class KeyValuePair{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}}const src_KeyValuePair=KeyValuePair;class ObjectSlice{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(s=>{const r=s.value,i=s.key;if(void 0===r||void 0===i)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,r,i,s):e(r,i,s)})}filter(e,t){const s=this.elements.filter(s=>{const r=s.value,i=s.key;return void 0!==r&&void 0!==i&&(void 0!==t?e.call(t,r,i,s):e(r,i,s))});return new ObjectSlice(s)}reject(e,t){const s=[];for(const r of this.elements){const i=r.value,n=r.key;void 0!==i&&void 0!==n&&(e.call(t,i,n,r)||s.push(r))}return new ObjectSlice(s)}forEach(e,t){this.elements.forEach((s,r)=>{const i=s.value,n=s.key;void 0!==i&&void 0!==n&&(void 0!==t?e.call(t,i,n,s,r):e(i,n,s,r))})}find(e,t){return this.elements.find(s=>{const r=s.value,i=s.key;return void 0!==r&&void 0!==i&&(void 0!==t?e.call(t,r,i,s):e(r,i,s))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const src_ObjectSlice=ObjectSlice;class Element{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,s){void 0!==t&&(this.meta=t),void 0!==s&&(this.attributes=s),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof Element)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof src_KeyValuePair)this._content=e;else if(e instanceof src_ObjectSlice)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof Element?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof Element?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof src_KeyValuePair){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof Element?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof Element||e instanceof src_KeyValuePair?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){return es_equals(this.toValue(),e)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const s=new this.RefElement(t);return"string"==typeof e&&(s.path=this.refract(e)),s}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const primitives_Element=Element;class StringElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}}const primitives_StringElement=StringElement;class SourceMapElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:s,startOffset:r,endLine:i,endCharacter:n,endOffset:o}=e;if("number"!=typeof t||"number"!=typeof s||"number"!=typeof r||"number"!=typeof i||"number"!=typeof n||"number"!=typeof o)return;const a=packSourceMap([t,s,r,i,n,o]),c=new SourceMapElement(a);return c.startLine=t,c.startCharacter=s,c.startOffset=r,c.endLine=i,c.endCharacter=n,c.endOffset=o,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=unpackSourceMap(this.content))}}const BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function vlqEncodeInt(e){let t=e>>>0,s="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),s+=BASE64[e]}while(0!==t);return s}function vlqDecodeInt(e,t=0){let s=0,r=0,i=t;for(;;){const t=e[i++],n=BASE64.indexOf(t);if(-1===n)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(s|=(31&n)<<r,r+=5,!!!(32&n))break}return{value:s>>>0,next:i}}function packSourceMap(e){return"sm1:"+e.map(vlqEncodeInt).join("")}function unpackSourceMap(e){const t=e.startsWith("sm1:")?e.slice(4):e,s=[];let r=0;for(let e=0;e<6;e++){const e=vlqDecodeInt(t,r);s.push(e.value),r=e.next}return s}const SourceMap=SourceMapElement;class JSONSerialiser{namespace;constructor(e){this.namespace=e||new this.Namespace}serialise(e){if(!(e instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${e}\` is not an Element instance`);const t={element:e.element};if(e.isMetaEmpty||(t.meta=this.serialiseObject(e.meta)),e.isAttributesEmpty||(t.attributes=this.serialiseObject(e.attributes)),!(e instanceof SourceMap)){const s=SourceMap.from(e);s&&(t.meta||(t.meta={}),t.meta.__mappings__=this.serialise(s))}const s=this.serialiseContent(e.content);return void 0!==s&&(t.content=s),t}deserialise(e){if(!e.element)throw new Error("Given value is not an object containing an element name");const t=new(this.namespace.getElementClass(e.element));let s;t.element!==e.element&&(t.element=e.element);let r=e.meta;if(e.meta?.__mappings__){const{__mappings__:t,...i}=e.meta;s=t,r=Object.keys(i).length>0?i:void 0}if(r&&this.deserialiseObject(r,t.meta),s){this.deserialise(s).applyTo(t)}e.attributes&&this.deserialiseObject(e.attributes,t.attributes);const i=this.deserialiseContent(e.content);return void 0===i&&null!==t.content||(t.content=i),t}serialiseContent(e){if(e instanceof this.namespace.elements.Element)return this.serialise(e);if(e instanceof this.namespace.KeyValuePair){const t=e,s={key:this.serialise(t.key)};return t.value&&(s.value=this.serialise(t.value)),s}if(e&&Array.isArray(e)){if(0===e.length)return;return e.map(e=>this.serialise(e))}return e}deserialiseContent(e){if(e){if(e.element)return this.deserialise(e);if(e.key){const t=new this.namespace.KeyValuePair(this.deserialise(e.key));return e.value&&(t.value=this.deserialise(e.value)),t}if(Array.isArray(e))return e.map(e=>this.deserialise(e))}return e}serialiseObject(e){const t={};if(e.forEach((e,s)=>{e&&(t[s.toValue()]=this.serialise(e))}),0!==Object.keys(t).length)return t}deserialiseObject(e,t){Object.keys(e).forEach(s=>{t.set(s,this.deserialise(e[s]))})}}const serialisers_JSONSerialiser=JSONSerialiser;class NullElement extends primitives_Element{constructor(e,t,s){super(e??null,t,s),this.element="null"}primitive(){return"null"}set(e){throw new Error("Cannot set the value of null")}}const primitives_NullElement=NullElement;class NumberElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="number"}primitive(){return"number"}}const primitives_NumberElement=NumberElement;class BooleanElement extends primitives_Element{constructor(e,t,s){super(e,t,s),this.element="boolean"}primitive(){return"boolean"}}const primitives_BooleanElement=BooleanElement;class CollectionElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const s=t||{},r=!!s.recursive,i=void 0===s.results?[]:s.results;for(let t=0;t<this._content.length;t+=1){const s=this._content[t],n=s;r&&"function"==typeof n.findElements&&n.findElements(e,{results:i,recursive:r}),e(s,t,void 0)&&i.push(s)}return i}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const s=t.classes;return"function"==typeof s.includes&&s.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const primitives_CollectionElement=CollectionElement;class ArrayElement extends primitives_CollectionElement{constructor(e,t,s){super(e||[],t,s),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const s=[];for(const r of this._content){const i=e.call(t,r);i&&s.push(i)}return s}filter(e,t){const s=this._content.filter(e,t);return new this.constructor(s)}reject(e,t){const s=[];for(const r of this._content)e.call(t,r)||s.push(r);return new this.constructor(s)}reduce(e,t){let s,r;void 0!==t?(s=0,r=this.refract(t)):(s=1,r=this.first);for(let t=s;t<this.length;t+=1){const s=e(r,this._content[t],t,this);r=void 0===s?s:this.refract(s)}return r}forEach(e,t){this._content.forEach((s,r)=>{e.call(t,s,r)})}empty(){return new this.constructor([])}}const primitives_ArrayElement=ArrayElement;class MemberElement extends primitives_Element{constructor(e,t,s,r){super(new src_KeyValuePair,s,r),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}}const primitives_MemberElement=MemberElement;class ObjectElement extends primitives_CollectionElement{constructor(e,t,s){super(e||[],t,s),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(s=>s.key.toValue()!==e||(t=s,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const s=this.getMember(e);s?s.value=t:this._content.push(new primitives_MemberElement(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(s=>e.call(t,s.value,s.key,s))}compactMap(e,t){const s=[];return this.forEach((r,i,n)=>{const o=e.call(t,r,i,n);o&&s.push(o)}),s}filter(e,t){return new src_ObjectSlice(this._content).filter(e,t)}reject(e,t){const s=[];for(const r of this._content)e.call(t,r.value,r.key,r)||s.push(r);return new src_ObjectSlice(s)}forEach(e,t){this._content.forEach(s=>e.call(t,s.value,s.key,s))}reduce(e,t){let s,r;void 0!==t?(s=0,r=this.refract(t)):(s=1,r=this._content[0]?.value);for(let t=s;t<this._content.length;t+=1){const s=this._content[t],i=e(r,s.value,s.key,s,this);r=void 0===i?i:this.refract(i)}return r}empty(){return new this.constructor([])}}const primitives_ObjectElement=ObjectElement;class RefElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s),this.element="ref",this.path||(this.path="element")}get path(){if(this.hasAttributesProperty("path"))return this.attributes.get("path")}set path(e){this.attributes.set("path",e)}}const elements_RefElement=RefElement;class LinkElement_LinkElement extends primitives_Element{constructor(e,t,s){super(e||[],t,s),this.element="link"}get relation(){if(this.hasAttributesProperty("relation"))return this.attributes.get("relation")}set relation(e){this.attributes.set("relation",e)}get href(){if(this.hasAttributesProperty("href"))return this.attributes.get("href")}set href(e){this.attributes.set("href",e)}}const elements_LinkElement=LinkElement_LinkElement,isNull=e=>null===e,isString=e=>"string"==typeof e,isNumber=e=>"number"==typeof e,isBoolean=e=>"boolean"==typeof e,isObject=e=>null!==e&&"object"==typeof e;class Namespace{elementMap={};elementDetection=[];Element;KeyValuePair;_elements;_attributeElementKeys=[];_attributeElementArrayKeys=[];constructor(e){this.Element=primitives_Element,this.KeyValuePair=src_KeyValuePair,e&&e.noDefault||this.useDefault()}use(e){return e.namespace&&e.namespace({base:this}),e.load&&e.load({base:this}),this}useDefault(){return this.register("null",primitives_NullElement).register("string",primitives_StringElement).register("number",primitives_NumberElement).register("boolean",primitives_BooleanElement).register("array",primitives_ArrayElement).register("object",primitives_ObjectElement).register("member",primitives_MemberElement).register("ref",elements_RefElement).register("link",elements_LinkElement).register("sourceMap",SourceMap),this.detect(isNull,primitives_NullElement,!1).detect(isString,primitives_StringElement,!1).detect(isNumber,primitives_NumberElement,!1).detect(isBoolean,primitives_BooleanElement,!1).detect(Array.isArray,primitives_ArrayElement,!1).detect(isObject,primitives_ObjectElement,!1),this}register(e,t){return this._elements=void 0,this.elementMap[e]=t,this}unregister(e){return this._elements=void 0,delete this.elementMap[e],this}detect(e,t,s){return void 0===s||s?this.elementDetection.unshift([e,t]):this.elementDetection.push([e,t]),this}toElement(e){if(e instanceof this.Element)return e;let t;for(const[s,r]of this.elementDetection)if(s(e)){t=new r(e);break}return t}getElementClass(e){const t=this.elementMap[e];return void 0===t?this.Element:t}fromRefract(e){return this.serialiser.deserialise(e)}toRefract(e){return this.serialiser.serialise(e)}get elements(){return void 0===this._elements&&(this._elements={Element:this.Element},Object.keys(this.elementMap).forEach(e=>{const t=e[0].toUpperCase()+e.substring(1);this._elements[t]=this.elementMap[e]})),this._elements}get serialiser(){return new serialisers_JSONSerialiser(this)}}serialisers_JSONSerialiser.prototype.Namespace=Namespace;const src_Namespace=Namespace;class ApiDOMAggregateError extends AggregateError{constructor(e,t,s){super(e,t,s),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const src_ApiDOMAggregateError=ApiDOMAggregateError;class ApiDOMError extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(src_ApiDOMAggregateError,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const src_ApiDOMError=ApiDOMError;function refractArrayItem(e){return void 0===e?new primitives_NullElement:refract(e)}function refract(e){if(e instanceof primitives_Element)return e;if("string"==typeof e)return new primitives_StringElement(e);if("number"==typeof e)return new primitives_NumberElement(e);if("boolean"==typeof e)return new primitives_BooleanElement(e);if(null===e)return new primitives_NullElement;if(Array.isArray(e))return new primitives_ArrayElement(e.map(refractArrayItem));if("object"==typeof e)return new primitives_ObjectElement(e);throw new Error("Cannot refract value of type "+typeof e)}primitives_Element.prototype.ObjectElement=primitives_ObjectElement,primitives_Element.prototype.ArrayElement=primitives_ArrayElement,primitives_Element.prototype.RefElement=elements_RefElement,primitives_Element.prototype.MemberElement=primitives_MemberElement,primitives_Element.prototype.refract=refract;const isElement=e=>e instanceof primitives_Element,isStringElement=e=>e instanceof primitives_StringElement,isNumberElement=e=>e instanceof primitives_NumberElement,isNullElement=e=>e instanceof primitives_NullElement,primitives_isBooleanElement=e=>e instanceof primitives_BooleanElement,isArrayElement=e=>e instanceof primitives_ArrayElement,isObjectElement=e=>e instanceof primitives_ObjectElement,isMemberElement=e=>e instanceof primitives_MemberElement,isPrimitiveElement=e=>isObjectElement(e)&&"object"===e.element||isArrayElement(e)&&"array"===e.element||primitives_isBooleanElement(e)&&"boolean"===e.element||isNumberElement(e)&&"number"===e.element||isStringElement(e)&&"string"===e.element||isNullElement(e)&&"null"===e.element||isMemberElement(e)&&"member"===e.element,hasElementSourceMap=e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset,includesSymbols=(e,t)=>{if(0===t.length)return!0;if(!e.hasAttributesProperty("symbols"))return!1;const s=e.attributes.get("symbols");return!!isArrayElement(s)&&t.every(e=>s.includes(e))},predicates_includesClasses=(e,t)=>0===t.length||!!isElement(e)&&(!e.isMetaEmpty&&(!!e.hasMetaProperty("classes")&&t.every(t=>e.classes.includes(t))));class ParseResultElement extends primitives_ArrayElement{constructor(e,t,s){super(e,t,s),this.element="parseResult"}get api(){return this.filter(e=>predicates_includesClasses(e,["api"])).first}get results(){return this.filter(e=>predicates_includesClasses(e,["result"]))}get result(){return this.results.first}get annotations(){return this.filter(e=>"annotation"===e.element)}get warnings(){return this.filter(e=>"annotation"===e.element&&predicates_includesClasses(e,["warning"]))}get errors(){return this.filter(e=>"annotation"===e.element&&predicates_includesClasses(e,["error"]))}get isEmpty(){return 0===this.reject(e=>"annotation"===e.element).length}replaceResult(e){const{result:t}=this;if(void 0===t)return!1;const s=this._content,r=s.findIndex(e=>e===t);return-1!==r&&(s[r]=e,!0)}}const ParseResult=ParseResultElement,detect=async e=>{try{return JSON.parse(e),!0}catch{return!1}},native_parse=async e=>{const t=refract(JSON.parse(e)),s=new ParseResult;return t.classes.push("result"),s.push(t),s};var tree_sitter=__webpack_require__(994);const treeSitter=new Uint8Array([0,97,115,109,1,0,0,0,0,16,8,100,121,108,105,110,107,46,48,1,5,140,91,4,30,0,1,191,1,26,96,1,127,1,127,96,2,127,127,1,127,96,1,127,0,96,3,127,127,127,0,96,3,127,127,127,1,127,96,2,127,127,0,96,4,127,127,127,127,1,127,96,5,127,127,127,127,127,0,96,0,0,96,4,127,127,127,127,0,96,5,127,127,127,127,127,1,127,96,0,1,127,96,8,127,127,127,127,127,127,127,127,1,127,96,7,127,127,127,127,127,127,127,0,96,11,127,127,127,127,127,127,127,127,127,127,127,0,96,6,127,124,127,127,127,127,1,127,96,3,127,126,127,1,127,96,4,127,126,127,127,1,127,96,1,127,1,126,96,2,127,126,0,96,6,127,127,127,127,127,127,0,96,4,127,127,127,127,1,126,96,3,127,126,127,1,126,96,2,124,127,1,124,96,7,127,127,127,127,127,127,127,1,127,96,2,126,127,1,127,2,212,3,16,3,101,110,118,24,116,114,101,101,95,115,105,116,116,101,114,95,108,111,103,95,99,97,108,108,98,97,99,107,0,5,3,101,110,118,26,116,114,101,101,95,115,105,116,116,101,114,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,0,7,3,101,110,118,29,116,114,101,101,95,115,105,116,116,101,114,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,0,1,3,101,110,118,35,116,114,101,101,95,115,105,116,116,101,114,95,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,0,0,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,8,102,100,95,99,108,111,115,101,0,0,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,8,102,100,95,119,114,105,116,101,0,6,3,101,110,118,9,95,97,98,111,114,116,95,106,115,0,8,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,14,99,108,111,99,107,95,116,105,109,101,95,103,101,116,0,16,22,119,97,115,105,95,115,110,97,112,115,104,111,116,95,112,114,101,118,105,101,119,49,7,102,100,95,115,101,101,107,0,17,3,101,110,118,22,101,109,115,99,114,105,112,116,101,110,95,114,101,115,105,122,101,95,104,101,97,112,0,0,3,101,110,118,15,95,95,115,116,97,99,107,95,112,111,105,110,116,101,114,3,127,1,3,101,110,118,13,95,95,109,101,109,111,114,121,95,98,97,115,101,3,127,0,3,101,110,118,12,95,95,116,97,98,108,101,95,98,97,115,101,3,127,0,7,71,79,84,46,109,101,109,11,95,95,104,101,97,112,95,98,97,115,101,3,127,1,3,101,110,118,6,109,101,109,111,114,121,2,1,128,4,128,128,2,3,101,110,118,25,95,95,105,110,100,105,114,101,99,116,95,102,117,110,99,116,105,111,110,95,116,97,98,108,101,1,112,0,30,3,151,2,149,2,8,8,8,0,1,1,7,1,2,0,0,0,0,0,0,4,1,6,1,1,4,1,2,1,4,0,0,3,0,0,0,2,5,5,2,0,5,0,12,0,0,3,9,3,3,3,1,9,7,13,5,2,2,2,1,3,18,19,4,7,3,5,3,4,1,20,9,3,6,2,1,3,12,3,7,10,0,2,10,9,2,2,2,5,1,4,0,0,0,4,4,4,4,1,1,1,1,1,3,5,11,3,5,3,1,1,5,9,10,0,4,1,4,1,1,1,1,5,5,7,5,0,0,21,0,4,0,5,0,0,2,4,4,4,4,4,3,4,11,8,5,3,10,6,0,2,1,1,2,5,2,2,2,2,5,2,2,2,2,5,0,0,0,0,0,0,5,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,1,1,5,2,2,0,0,0,5,5,5,2,2,2,2,0,2,2,2,2,2,2,2,2,0,0,0,2,2,13,0,0,0,0,0,0,0,0,14,0,14,0,22,4,8,2,4,0,5,5,4,4,5,0,0,0,4,6,0,4,4,23,24,3,0,9,25,7,15,5,6,4,1,0,2,1,5,1,0,5,0,1,0,0,2,0,11,0,0,4,0,4,4,0,1,6,57,8,127,1,65,184,211,0,11,127,1,65,176,211,0,11,127,1,65,188,211,0,11,127,1,65,180,211,0,11,127,1,65,240,212,0,11,127,1,65,128,213,0,11,127,1,65,132,219,0,11,127,1,65,136,219,0,11,7,161,33,153,1,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,0,10,6,109,97,108,108,111,99,0,137,2,6,99,97,108,108,111,99,0,141,2,7,114,101,97,108,108,111,99,0,139,2,4,102,114,101,101,0,138,2,6,109,101,109,99,109,112,0,248,1,24,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,99,111,117,110,116,0,19,23,116,115,95,108,97,110,103,117,97,103,101,95,115,116,97,116,101,95,99,111,117,110,116,0,20,19,116,115,95,108,97,110,103,117,97,103,101,95,118,101,114,115,105,111,110,0,21,23,116,115,95,108,97,110,103,117,97,103,101,95,97,98,105,95,118,101,114,115,105,111,110,0,21,20,116,115,95,108,97,110,103,117,97,103,101,95,109,101,116,97,100,97,116,97,0,22,16,116,115,95,108,97,110,103,117,97,103,101,95,110,97,109,101,0,23,23,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,99,111,117,110,116,0,24,22,116,115,95,108,97,110,103,117,97,103,101,95,110,101,120,116,95,115,116,97,116,101,0,25,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,110,97,109,101,0,26,27,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,102,111,114,95,110,97,109,101,0,27,7,115,116,114,110,99,109,112,0,251,1,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,116,121,112,101,0,28,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,105,100,0,29,25,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,119,0,31,28,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,100,101,108,101,116,101,0,32,33,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,95,115,116,97,116,101,0,33,27,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,0,34,26,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,0,35,36,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,99,117,114,114,101,110,116,95,115,121,109,98,111,108,0,36,16,116,115,95,112,97,114,115,101,114,95,100,101,108,101,116,101,0,62,15,116,115,95,112,97,114,115,101,114,95,114,101,115,101,116,0,63,22,116,115,95,112,97,114,115,101,114,95,115,101,116,95,108,97,110,103,117,97,103,101,0,64,24,116,115,95,112,97,114,115,101,114,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,0,66,28,116,115,95,112,97,114,115,101,114,95,115,101,116,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,0,67,29,116,115,95,112,97,114,115,101,114,95,115,101,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,0,68,12,116,115,95,113,117,101,114,121,95,110,101,119,0,85,15,116,115,95,113,117,101,114,121,95,100,101,108,101,116,101,0,90,8,105,115,119,115,112,97,99,101,0,247,1,8,105,115,119,97,108,110,117,109,0,245,1,22,116,115,95,113,117,101,114,121,95,112,97,116,116,101,114,110,95,99,111,117,110,116,0,96,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,99,111,117,110,116,0,97,21,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,99,111,117,110,116,0,98,28,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,110,97,109,101,95,102,111,114,95,105,100,0,99,34,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,95,102,111,114,95,105,100,0,100,28,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,118,97,108,117,101,95,102,111,114,95,105,100,0,101,31,116,115,95,113,117,101,114,121,95,112,114,101,100,105,99,97,116,101,115,95,102,111,114,95,112,97,116,116,101,114,110,0,102,31,116,115,95,113,117,101,114,121,95,115,116,97,114,116,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,0,103,29,116,115,95,113,117,101,114,121,95,101,110,100,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,0,104,26,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,114,111,111,116,101,100,0,105,29,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,110,111,110,95,108,111,99,97,108,0,106,38,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,103,117,97,114,97,110,116,101,101,100,95,97,116,95,115,116,101,112,0,107,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,99,97,112,116,117,114,101,0,108,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,112,97,116,116,101,114,110,0,109,12,116,115,95,116,114,101,101,95,99,111,112,121,0,139,1,14,116,115,95,116,114,101,101,95,100,101,108,101,116,101,0,140,1,7,116,115,95,105,110,105,116,0,148,1,18,116,115,95,112,97,114,115,101,114,95,110,101,119,95,119,97,115,109,0,149,1,28,116,115,95,112,97,114,115,101,114,95,101,110,97,98,108,101,95,108,111,103,103,101,114,95,119,97,115,109,0,150,1,20,116,115,95,112,97,114,115,101,114,95,112,97,114,115,101,95,119,97,115,109,0,152,1,30,116,115,95,112,97,114,115,101,114,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,155,1,30,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,156,1,32,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,118,105,115,105,98,108,101,95,119,97,115,109,0,157,1,27,116,115,95,108,97,110,103,117,97,103,101,95,115,117,112,101,114,116,121,112,101,115,95,119,97,115,109,0,158,1,25,116,115,95,108,97,110,103,117,97,103,101,95,115,117,98,116,121,112,101,115,95,119,97,115,109,0,159,1,22,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,97,115,109,0,160,1,34,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,105,116,104,95,111,102,102,115,101,116,95,119,97,115,109,0,161,1,17,116,115,95,116,114,101,101,95,101,100,105,116,95,119,97,115,109,0,162,1,28,116,115,95,116,114,101,101,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,163,1,31,116,115,95,116,114,101,101,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,95,119,97,115,109,0,164,1,23,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,95,119,97,115,109,0,165,1,24,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,111,112,121,95,119,97,115,109,0,166,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,100,101,108,101,116,101,95,119,97,115,109,0,167,1,25,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,119,97,115,109,0,168,1,28,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,116,111,95,119,97,115,109,0,169,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,119,97,115,109,0,170,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,119,97,115,109,0,171,1,46,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,172,1,49,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,173,1,37,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,0,174,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,114,101,118,105,111,117,115,95,115,105,98,108,105,110,103,95,119,97,115,109,0,175,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,0,176,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,95,119,97,115,109,0,177,1,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,116,121,112,101,95,105,100,95,119,97,115,109,0,178,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,115,116,97,116,101,95,105,100,95,119,97,115,109,0,179,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,180,1,43,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,0,181,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,100,95,119,97,115,109,0,182,1,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,183,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,184,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,0,185,1,29,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,0,186,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,187,1,33,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,112,116,104,95,119,97,115,109,0,188,1,44,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,115,99,101,110,100,97,110,116,95,105,110,100,101,120,95,119,97,115,109,0,189,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,119,97,115,109,0,190,1,19,116,115,95,110,111,100,101,95,115,121,109,98,111,108,95,119,97,115,109,0,191,1,33,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,99,104,105,108,100,95,119,97,115,109,0,192,1,39,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,0,193,1,33,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,194,1,33,116,115,95,110,111,100,101,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,0,195,1,39,116,115,95,110,111,100,101,95,102,105,114,115,116,95,110,97,109,101,100,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,0,196,1,27,116,115,95,110,111,100,101,95,103,114,97,109,109,97,114,95,115,121,109,98,111,108,95,119,97,115,109,0,197,1,24,116,115,95,110,111,100,101,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,0,198,1,30,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,0,199,1,18,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,97,115,109,0,200,1,24,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,0,201,1,30,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,0,202,1,25,116,115,95,110,111,100,101,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,0,203,1,25,116,115,95,110,111,100,101,95,112,114,101,118,95,115,105,98,108,105,110,103,95,119,97,115,109,0,204,1,31,116,115,95,110,111,100,101,95,110,101,120,116,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,0,205,1,31,116,115,95,110,111,100,101,95,112,114,101,118,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,0,206,1,29,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,99,111,117,110,116,95,119,97,115,109,0,207,1,19,116,115,95,110,111,100,101,95,112,97,114,101,110,116,95,119,97,115,109,0,208,1,34,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,0,209,1,33,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,210,1,39,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,0,211,1,36,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,212,1,42,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,0,213,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,112,111,105,110,116,95,119,97,115,109,0,214,1,22,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,95,119,97,115,109,0,215,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,0,216,1,22,116,115,95,110,111,100,101,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,0,217,1,22,116,115,95,110,111,100,101,95,116,111,95,115,116,114,105,110,103,95,119,97,115,109,0,218,1,21,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,119,97,115,109,0,219,1,27,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,114,101,110,95,119,97,115,109,0,220,1,32,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,115,95,111,102,95,116,121,112,101,95,119,97,115,109,0,221,1,21,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,0,222,1,24,116,115,95,110,111,100,101,95,104,97,115,95,99,104,97,110,103,101,115,95,119,97,115,109,0,223,1,22,116,115,95,110,111,100,101,95,104,97,115,95,101,114,114,111,114,95,119,97,115,109,0,224,1,21,116,115,95,110,111,100,101,95,105,115,95,101,114,114,111,114,95,119,97,115,109,0,225,1,23,116,115,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,0,226,1,21,116,115,95,110,111,100,101,95,105,115,95,101,120,116,114,97,95,119,97,115,109,0,227,1,24,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,0,228,1,29,116,115,95,110,111,100,101,95,110,101,120,116,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,0,229,1,21,116,115,95,113,117,101,114,121,95,109,97,116,99,104,101,115,95,119,97,115,109,0,230,1,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,115,95,119,97,115,109,0,232,1,6,109,101,109,115,101,116,0,238,1,6,109,101,109,99,112,121,0,242,1,7,109,101,109,109,111,118,101,0,155,2,8,105,115,119,97,108,112,104,97,0,246,1,8,105,115,119,98,108,97,110,107,0,152,2,8,105,115,119,100,105,103,105,116,0,147,2,8,105,115,119,108,111,119,101,114,0,151,2,8,105,115,119,117,112,112,101,114,0,154,2,9,105,115,119,120,100,105,103,105,116,0,157,2,6,109,101,109,99,104,114,0,252,1,6,115,116,114,108,101,110,0,250,1,6,115,116,114,99,109,112,0,158,2,7,115,116,114,110,99,97,116,0,153,2,7,115,116,114,110,99,112,121,0,156,2,8,116,111,119,108,111,119,101,114,0,144,2,8,116,111,119,117,112,112,101,114,0,146,2,8,115,101,116,84,104,114,101,119,0,143,2,25,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,114,101,115,116,111,114,101,0,148,2,23,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,97,108,108,111,99,0,149,2,28,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,103,101,116,95,99,117,114,114,101,110,116,0,150,2,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,0,11,8,1,12,9,51,1,0,35,2,11,30,37,38,39,40,41,42,74,123,125,124,126,120,135,1,13,14,15,138,2,141,1,142,1,143,1,151,1,153,1,154,1,231,1,233,1,235,1,234,1,132,2,133,2,135,2,12,1,1,10,140,139,11,149,2,32,1,2,127,35,1,34,0,65,132,214,0,106,34,1,32,0,65,236,213,0,106,54,2,96,32,1,65,42,54,2,24,11,228,1,0,35,1,65,176,211,0,106,35,2,65,13,106,54,2,0,35,1,65,180,211,0,106,35,2,65,14,106,54,2,0,35,1,65,184,211,0,106,35,2,65,15,106,54,2,0,35,1,65,188,211,0,106,35,2,65,16,106,54,2,0,35,1,65,192,211,0,106,35,2,65,17,106,54,2,0,35,1,65,196,211,0,106,35,2,65,18,106,54,2,0,35,1,65,200,211,0,106,35,2,65,19,106,54,2,0,35,1,65,208,211,0,106,35,2,65,22,106,54,2,0,35,1,65,220,211,0,106,35,2,65,23,106,54,2,0,35,1,65,236,211,0,106,35,2,65,24,106,54,2,0,35,1,65,132,212,0,106,35,2,65,25,106,54,2,0,35,1,65,136,212,0,106,35,2,65,26,106,54,2,0,35,1,65,140,212,0,106,35,1,65,148,215,0,106,54,2,0,35,1,65,240,212,0,106,35,1,65,224,211,0,106,54,2,0,35,1,65,244,212,0,106,35,3,54,2,0,11,88,1,1,127,35,1,65,184,211,0,106,36,4,35,1,65,176,211,0,106,36,5,35,1,65,188,211,0,106,36,6,35,1,65,180,211,0,106,36,7,35,1,65,240,212,0,106,36,8,35,1,65,128,213,0,106,34,0,36,9,35,1,65,132,219,0,106,36,10,35,1,65,136,219,0,106,36,11,32,0,65,0,65,140,6,252,11,0,11,29,1,1,127,32,0,16,137,2,33,1,2,64,32,0,69,13,0,32,1,13,0,16,236,1,0,11,32,1,11,29,0,32,0,32,1,16,141,2,33,1,2,64,32,0,69,13,0,32,1,13,0,16,236,1,0,11,32,1,11,29,0,32,0,32,1,16,139,2,33,0,2,64,32,1,69,13,0,32,0,13,0,16,236,1,0,11,32,0,11,219,7,2,12,127,3,126,32,1,32,3,114,4,64,32,1,65,0,71,33,6,32,3,65,0,71,33,7,3,64,32,0,32,10,65,24,108,106,33,5,2,127,32,11,65,1,113,34,14,4,64,32,5,41,2,8,33,18,32,5,40,2,20,12,1,11,32,6,65,1,113,69,4,64,66,127,33,18,65,127,12,1,11,32,5,41,2,0,33,18,32,5,40,2,16,11,33,5,32,2,32,13,65,24,108,106,33,6,2,64,32,5,2,127,32,12,65,1,113,34,15,4,64,32,6,41,2,8,33,17,32,6,40,2,20,12,1,11,32,7,65,1,113,69,4,64,66,127,33,17,65,127,12,1,11,32,6,41,2,0,33,17,32,6,40,2,16,11,34,6,73,4,64,2,64,32,14,32,15,70,13,0,2,64,32,4,40,2,4,34,6,69,13,0,32,9,32,4,40,2,0,32,6,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,5,54,2,0,32,7,65,16,107,32,18,55,2,0,12,1,11,32,5,32,9,77,13,0,32,4,40,2,0,33,8,32,4,32,6,65,1,106,34,7,32,4,40,2,8,34,15,75,4,127,65,8,32,15,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,7,65,24,108,33,6,2,127,32,8,4,64,32,8,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,8,32,4,32,7,54,2,8,32,4,32,8,54,2,0,32,4,40,2,4,34,6,65,1,106,5,32,7,11,54,2,4,32,8,32,6,65,24,108,106,34,6,32,5,54,2,20,32,6,32,9,54,2,16,32,6,32,18,55,2,8,32,6,32,19,55,2,0,11,32,11,65,1,115,33,11,32,10,32,14,106,33,10,12,1,11,32,11,32,12,115,33,7,2,64,32,5,32,6,75,4,64,2,64,32,7,65,1,113,69,13,0,2,64,32,4,40,2,4,34,5,69,13,0,32,9,32,4,40,2,0,32,5,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,6,54,2,0,32,7,65,16,107,32,17,55,2,0,12,1,11,32,6,32,9,77,13,0,32,4,40,2,0,33,8,32,4,32,5,65,1,106,34,7,32,4,40,2,8,34,14,75,4,127,65,8,32,14,65,1,116,34,5,32,7,32,5,32,7,75,27,34,5,32,5,65,8,77,27,34,7,65,24,108,33,5,2,127,32,8,4,64,32,8,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,8,32,4,32,7,54,2,8,32,4,32,8,54,2,0,32,4,40,2,4,34,5,65,1,106,5,32,7,11,54,2,4,32,8,32,5,65,24,108,106,34,5,32,6,54,2,20,32,5,32,9,54,2,16,32,5,32,17,55,2,8,32,5,32,19,55,2,0,11,32,12,65,1,115,33,12,12,1,11,2,64,32,7,65,1,113,69,13,0,2,64,32,4,40,2,4,34,5,69,13,0,32,9,32,4,40,2,0,32,5,65,24,108,106,34,7,65,4,107,34,8,40,2,0,75,13,0,32,8,32,6,54,2,0,32,7,65,16,107,32,17,55,2,0,12,1,11,32,6,32,9,77,13,0,32,4,40,2,0,33,7,32,4,32,5,65,1,106,34,8,32,4,40,2,8,34,16,75,4,127,65,8,32,16,65,1,116,34,5,32,8,32,5,32,8,75,27,34,5,32,5,65,8,77,27,34,8,65,24,108,33,5,2,127,32,7,4,64,32,7,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,7,32,4,32,8,54,2,8,32,4,32,7,54,2,0,32,4,40,2,4,34,5,65,1,106,5,32,8,11,54,2,4,32,7,32,5,65,24,108,106,34,5,32,6,54,2,20,32,5,32,9,54,2,16,32,5,32,17,55,2,8,32,5,32,19,55,2,0,11,32,12,65,1,115,33,12,32,11,65,1,115,33,11,32,10,32,14,106,33,10,11,32,13,32,15,106,33,13,32,6,33,5,32,17,33,18,11,32,3,32,13,75,33,7,32,18,33,19,32,5,33,9,32,1,32,10,75,34,6,13,0,32,7,13,0,11,11,11,223,6,2,15,127,2,126,2,64,32,0,45,0,28,13,0,32,0,40,2,4,34,7,32,0,40,2,8,34,8,65,28,108,106,65,28,107,40,2,0,34,11,40,0,0,34,3,65,1,113,13,0,3,64,32,3,40,2,36,34,15,69,4,64,65,0,15,11,32,7,32,8,65,28,108,106,34,3,65,20,107,41,2,0,33,17,32,3,65,24,107,40,2,0,33,3,65,0,33,12,65,0,33,9,2,64,3,64,65,0,33,6,2,127,2,64,2,64,32,11,45,0,0,65,1,113,4,127,65,0,5,32,11,40,2,0,34,2,32,2,40,2,36,65,3,116,107,11,32,9,65,3,116,106,34,6,40,0,0,34,5,65,1,113,69,4,64,32,5,40,2,4,32,3,106,34,10,32,5,40,2,16,106,34,2,32,1,75,13,1,32,5,40,2,24,65,0,32,5,40,2,12,65,0,32,17,66,32,136,167,32,5,40,2,8,34,4,27,106,32,5,40,2,20,34,3,27,106,173,66,32,134,32,3,32,4,32,17,167,106,106,173,132,33,17,32,5,47,1,44,34,3,65,4,113,69,33,13,2,64,32,3,65,192,0,113,69,13,0,32,6,40,0,4,33,14,32,5,40,2,36,34,4,4,64,3,64,32,5,32,4,65,3,116,107,33,16,32,4,33,6,3,64,2,64,2,64,32,16,32,6,65,1,107,34,6,65,3,116,106,34,10,40,2,0,34,3,65,1,113,13,0,32,3,45,0,44,65,192,0,113,69,13,0,32,3,40,2,36,33,4,32,10,40,2,4,33,14,32,3,33,5,12,1,11,32,6,13,1,11,11,32,4,13,0,11,32,5,69,13,1,11,32,0,32,14,54,2,36,32,0,32,5,54,2,32,11,32,2,12,3,11,32,3,32,6,45,0,6,106,34,10,32,6,45,0,7,34,4,106,34,2,32,1,77,13,1,11,32,0,32,8,65,1,106,34,4,32,0,40,2,12,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,4,32,2,32,4,75,27,34,2,32,2,65,8,77,27,34,2,65,28,108,33,4,2,127,32,7,4,64,32,7,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,7,32,0,32,2,54,2,12,32,0,32,7,54,2,4,32,0,40,2,8,34,8,65,1,106,5,32,4,11,54,2,8,32,7,32,8,65,28,108,106,34,2,65,0,54,2,24,32,2,32,12,54,2,20,32,2,32,9,54,2,16,32,2,32,17,55,2,8,32,2,32,3,54,2,4,32,2,32,6,54,2,0,32,0,40,2,4,34,7,32,0,40,2,8,34,8,65,28,108,106,34,2,65,8,107,40,2,0,33,5,2,127,32,2,65,28,107,40,2,0,34,11,40,0,0,34,3,65,1,113,34,6,4,64,32,3,65,1,118,65,1,113,12,1,11,32,3,47,1,44,65,1,113,11,69,4,64,32,8,65,2,73,13,4,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,4,69,13,4,32,0,40,2,20,34,2,40,2,84,32,2,47,1,36,32,4,108,65,1,116,106,32,5,65,1,116,106,47,1,0,69,13,4,11,32,1,32,10,73,4,64,32,0,65,1,58,0,28,65,1,15,11,32,0,32,0,40,2,24,65,1,106,54,2,24,65,1,15,11,32,6,45,0,4,65,0,32,17,66,32,136,167,32,6,49,0,5,66,15,131,34,18,167,27,106,32,4,106,173,66,32,134,32,17,32,18,124,66,255,255,255,255,15,131,132,33,17,32,5,65,127,115,65,3,118,65,1,113,33,13,32,2,11,33,3,32,12,32,13,106,33,12,32,9,65,1,106,34,9,32,15,71,13,0,11,65,0,15,11,32,6,69,13,0,11,11,65,0,11,198,8,1,17,127,2,64,32,0,45,0,28,69,4,64,32,0,40,2,8,33,4,32,0,40,2,4,33,6,2,64,3,64,2,64,2,127,32,6,32,4,34,8,65,28,108,106,34,2,65,28,107,40,2,0,34,5,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,8,65,2,73,13,1,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,3,40,2,84,32,3,47,1,36,32,1,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,0,32,0,40,2,24,65,1,107,54,2,24,11,32,0,32,8,65,1,107,34,4,54,2,8,32,4,69,13,1,32,6,32,4,65,28,108,106,34,1,40,2,20,33,13,32,1,40,2,12,33,14,32,1,40,2,8,33,15,32,1,40,2,4,33,16,32,1,40,2,16,33,10,32,1,65,28,107,40,2,0,33,11,2,64,32,5,40,0,0,34,2,65,1,113,13,0,32,2,45,0,44,65,192,0,113,69,13,0,32,5,40,0,4,33,9,32,2,40,2,36,34,3,4,64,3,64,32,2,32,3,65,3,116,107,33,12,32,3,33,1,3,64,2,64,2,64,32,12,32,1,65,1,107,34,1,65,3,116,106,34,17,40,2,0,34,7,65,1,113,13,0,32,7,45,0,44,65,192,0,113,69,13,0,32,7,40,2,36,33,3,32,17,40,2,4,33,9,32,7,33,2,12,1,11,32,1,13,1,11,11,32,3,13,0,11,32,2,69,13,1,11,32,0,32,9,54,2,36,32,0,32,2,54,2,32,11,32,11,40,0,0,34,7,65,1,113,13,0,32,7,40,2,36,34,12,32,10,65,1,106,34,10,77,13,0,11,2,64,32,5,40,0,0,34,1,65,1,113,4,64,32,5,45,0,7,34,2,32,5,45,0,6,106,33,9,32,5,45,0,5,65,15,113,33,3,32,5,45,0,4,33,5,12,1,11,65,0,32,1,40,2,12,32,1,40,2,20,34,2,27,33,5,32,1,40,2,16,32,1,40,2,4,106,33,9,32,2,32,1,40,2,8,106,33,3,32,1,40,2,24,33,2,11,32,1,65,1,113,4,127,32,1,65,3,118,65,1,113,5,32,1,47,1,44,65,2,118,65,1,113,11,33,11,32,0,40,2,12,34,1,32,8,73,4,64,65,8,32,1,65,1,116,34,1,32,8,32,1,32,8,75,27,34,1,32,1,65,8,77,27,34,4,65,28,108,33,1,2,127,32,6,4,64,32,6,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,6,32,0,32,4,54,2,12,32,0,32,6,54,2,4,32,0,40,2,8,33,4,11,32,0,32,4,65,1,106,54,2,8,32,6,32,4,65,28,108,106,34,1,65,0,54,2,24,32,1,32,13,32,11,69,106,54,2,20,32,1,32,10,54,2,16,32,1,32,3,32,15,106,173,32,2,32,5,106,65,0,32,14,32,3,27,106,173,66,32,134,132,55,2,8,32,1,32,9,32,16,106,54,2,4,32,1,32,7,32,12,65,3,116,107,32,10,65,3,116,106,34,2,54,2,0,2,64,2,127,32,0,40,2,4,32,0,40,2,8,34,4,65,28,108,106,34,3,65,28,107,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,4,65,2,73,13,1,32,3,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,4,40,2,84,32,4,47,1,36,32,1,108,65,1,116,106,32,3,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,2,127,32,2,40,0,0,34,1,65,1,113,4,64,32,2,45,0,6,12,1,11,32,1,40,2,4,11,4,64,32,0,65,1,58,0,28,15,11,12,3,11,32,0,65,0,16,17,26,11,15,11,32,0,65,0,58,0,28,2,64,2,127,32,0,40,2,4,32,0,40,2,8,34,3,65,28,108,106,34,2,65,28,107,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,69,4,64,32,3,65,2,73,13,1,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,1,69,13,1,32,0,40,2,20,34,3,40,2,84,32,3,47,1,36,32,1,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,12,1,11,32,0,65,0,16,17,26,15,11,32,0,32,0,40,2,24,65,1,106,54,2,24,11,13,0,32,0,40,2,8,32,0,40,2,4,106,11,7,0,32,0,40,2,20,11,7,0,32,0,40,2,0,11,19,0,32,0,65,164,1,106,65,0,32,0,40,2,0,65,14,75,27,11,24,1,1,127,32,0,40,2,0,65,15,79,4,127,32,0,40,2,136,1,5,65,0,11,11,7,0,32,0,40,2,32,11,227,3,1,8,127,2,64,32,2,65,253,255,3,75,13,0,32,0,40,2,24,33,4,32,2,32,0,40,2,12,73,4,64,2,64,2,64,32,1,32,4,79,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,4,47,1,0,34,7,69,4,64,12,3,11,32,4,65,2,106,33,4,3,64,32,4,65,4,106,33,3,32,4,47,1,2,34,10,4,127,32,3,32,10,65,1,116,106,33,8,65,0,33,6,3,64,32,3,47,1,0,32,2,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,10,71,13,0,11,32,8,5,32,3,11,33,4,65,0,33,3,32,9,65,1,106,34,9,32,7,71,13,0,11,12,2,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,32,2,65,1,116,106,47,1,0,33,3,12,1,11,32,4,47,1,0,33,3,11,32,0,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,0,69,13,1,32,2,32,0,65,3,116,106,34,0,45,0,0,13,1,32,1,32,0,65,8,106,34,0,65,6,107,47,1,0,32,0,65,4,107,45,0,0,65,1,113,27,33,5,12,1,11,2,64,32,1,32,4,79,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,0,47,1,0,34,8,69,13,2,32,0,65,2,106,33,0,65,0,33,1,3,64,32,0,65,4,106,33,3,32,0,47,1,2,34,7,4,127,32,3,32,7,65,1,116,106,33,4,65,0,33,6,3,64,32,3,47,1,0,32,2,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,7,71,13,0,11,32,4,5,32,3,11,33,0,32,1,65,1,106,34,1,32,8,71,13,0,11,12,2,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,32,2,65,1,116,106,47,1,0,33,5,12,1,11,32,0,47,1,0,33,5,11,32,5,65,255,255,3,113,11,78,1,1,127,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,15,11,65,0,33,2,32,0,40,2,8,32,0,40,2,4,106,32,1,77,13,0,32,0,40,2,56,32,1,65,2,116,106,40,2,0,33,2,11,32,2,11,214,1,1,5,127,2,127,2,64,32,3,69,13,0,32,1,35,1,65,171,10,106,32,2,16,251,1,13,0,65,255,255,3,12,1,11,32,0,40,2,8,32,0,40,2,4,106,65,255,255,3,113,34,8,4,64,3,64,2,64,32,6,65,255,255,3,113,65,254,255,3,70,13,0,32,0,40,2,72,32,4,65,3,108,106,34,5,45,0,1,33,7,2,64,32,5,45,0,0,65,1,113,69,4,64,32,5,45,0,2,65,1,113,69,13,2,32,3,32,7,70,13,1,12,2,11,32,3,32,7,71,13,1,11,32,0,40,2,56,32,4,65,2,116,106,40,2,0,34,5,32,1,32,2,16,251,1,13,0,32,2,32,5,106,45,0,0,13,0,32,0,40,2,76,32,4,65,1,116,106,47,1,0,12,3,11,32,6,65,1,106,34,6,65,255,255,3,113,34,4,32,8,73,13,0,11,11,65,0,11,65,255,255,3,113,11,79,1,1,127,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,65,3,15,11,32,0,40,2,72,32,1,65,3,108,106,34,0,45,0,0,65,1,113,4,64,32,0,45,0,1,65,127,115,65,1,113,15,11,65,2,65,3,32,0,45,0,2,65,1,113,27,33,2,11,32,2,11,42,1,2,127,2,64,32,0,40,2,32,34,3,69,13,0,32,1,32,3,75,13,0,32,0,40,2,60,32,1,65,2,116,106,40,2,0,33,2,11,32,2,11,111,1,4,127,2,64,32,0,47,1,32,34,5,69,13,0,32,0,40,2,60,33,6,65,1,33,0,65,1,33,3,3,64,2,64,2,64,32,1,32,6,32,0,65,2,116,106,40,2,0,34,0,32,2,16,251,1,65,1,106,14,2,3,0,1,11,32,0,32,2,106,45,0,0,13,0,32,3,33,4,12,2,11,32,3,65,1,106,34,3,65,255,255,3,113,34,0,32,5,77,13,0,11,11,32,4,65,255,255,3,113,11,186,1,1,5,127,32,1,32,0,40,2,20,73,4,64,65,36,35,5,40,2,0,17,0,0,33,2,2,127,32,0,40,2,24,34,4,32,1,77,4,64,32,0,40,2,44,32,0,40,2,48,32,1,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,3,65,2,106,33,5,32,3,47,1,0,12,1,11,32,0,40,2,40,32,0,40,2,4,32,1,108,65,1,116,106,65,2,107,33,3,65,0,11,33,6,32,2,65,0,54,0,21,32,2,32,6,59,1,18,32,2,65,0,59,1,16,32,2,65,0,54,2,12,32,2,32,5,54,2,8,32,2,32,3,54,2,4,32,2,32,0,54,2,0,32,2,66,255,255,3,55,2,28,32,2,32,1,32,4,79,58,0,20,32,2,65,0,54,0,24,11,32,2,11,12,0,32,0,35,6,40,2,0,17,2,0,11,177,1,1,5,127,32,1,32,0,40,2,0,34,2,40,2,20,34,5,73,4,64,2,127,32,2,40,2,24,34,3,32,1,77,4,64,32,2,40,2,44,32,2,40,2,48,32,1,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,2,65,2,106,33,4,32,2,47,1,0,12,1,11,32,2,40,2,40,32,2,40,2,4,32,1,108,65,1,116,106,65,2,107,33,2,65,0,11,33,6,32,0,65,0,54,0,21,32,0,32,6,59,1,18,32,0,65,0,59,1,16,32,0,65,0,54,2,12,32,0,32,4,54,2,8,32,0,32,2,54,2,4,32,0,66,255,255,3,55,2,28,32,0,32,1,32,3,79,58,0,20,32,0,65,0,54,0,24,11,32,1,32,5,73,11,179,1,1,5,127,32,2,32,1,40,2,20,34,6,73,4,64,2,127,32,1,40,2,24,34,4,32,2,77,4,64,32,1,40,2,44,32,1,40,2,48,32,2,32,4,107,65,2,116,106,40,2,0,65,1,116,106,34,3,65,2,106,33,5,32,3,47,1,0,12,1,11,32,1,40,2,40,32,1,40,2,4,32,2,108,65,1,116,106,65,2,107,33,3,65,0,11,33,7,32,0,65,0,54,0,21,32,0,32,7,59,1,18,32,0,65,0,59,1,16,32,0,65,0,54,2,12,32,0,32,5,54,2,8,32,0,32,3,54,2,4,32,0,32,1,54,2,0,32,0,66,255,255,3,55,2,28,32,0,32,2,32,4,79,58,0,20,32,0,65,0,54,0,24,11,32,2,32,6,73,11,188,2,1,6,127,2,64,2,64,2,64,32,0,45,0,20,69,4,64,32,0,47,1,28,33,3,32,0,40,2,4,33,1,32,0,40,2,0,34,4,40,2,4,33,6,3,64,32,0,32,3,65,1,106,34,3,59,1,28,32,1,65,2,106,33,1,32,6,32,3,65,255,255,3,113,34,5,77,13,2,32,0,32,1,47,1,0,34,2,59,1,14,32,2,69,13,0,11,32,0,32,1,54,2,4,12,3,11,32,0,32,0,40,2,4,34,1,65,2,106,34,2,54,2,4,32,0,40,2,8,32,2,70,4,64,32,0,47,1,18,34,2,69,13,2,32,0,32,2,65,1,107,59,1,18,32,1,47,1,2,33,2,32,0,32,1,65,6,106,34,3,54,2,4,32,0,32,2,59,1,14,32,0,32,3,32,1,47,1,4,65,1,116,106,54,2,8,32,0,32,1,47,1,6,34,5,59,1,28,32,0,40,2,0,33,4,12,3,11,32,0,32,2,47,1,0,59,1,28,65,1,15,11,32,0,32,1,54,2,4,11,65,0,15,11,32,5,32,4,40,2,12,73,4,64,32,4,40,2,52,32,2,65,3,116,106,34,1,45,0,0,33,2,32,0,65,0,59,1,30,32,0,32,1,65,8,106,54,2,24,32,0,32,2,59,1,32,65,1,15,11,32,0,32,2,59,1,30,32,0,65,0,59,1,32,65,1,11,7,0,32,0,47,1,28,11,74,1,1,127,35,0,65,16,107,34,3,36,0,32,3,32,2,54,2,12,32,0,40,2,96,4,64,32,0,65,132,1,106,34,2,65,128,8,32,1,32,3,40,2,12,16,134,2,26,32,0,40,2,92,65,1,32,2,32,0,40,2,96,17,3,0,11,32,3,65,16,106,36,0,11,13,0,32,0,40,2,104,32,0,40,2,100,70,11,43,1,2,127,32,0,40,2,104,34,2,32,0,40,2,100,73,4,127,32,0,40,2,32,32,0,40,2,68,32,2,65,24,108,106,40,2,16,70,5,65,0,11,11,254,5,2,9,127,1,126,35,0,65,16,107,34,5,36,0,32,0,65,1,58,0,120,2,64,32,0,45,0,128,1,13,0,32,0,40,2,32,34,8,32,0,40,2,40,34,3,107,33,1,32,0,40,2,36,33,4,32,3,4,64,32,0,65,0,54,2,124,32,0,65,0,58,0,128,1,11,32,0,65,0,54,2,40,32,0,32,4,54,2,36,32,0,32,1,54,2,32,32,0,40,2,68,33,6,2,64,2,127,32,0,40,2,100,34,4,4,64,3,64,2,64,32,6,32,2,65,24,108,106,34,7,40,2,20,34,9,32,1,77,13,0,32,9,32,7,40,2,16,34,3,77,13,0,32,1,32,3,77,4,64,32,0,32,7,41,2,0,55,2,36,32,0,32,3,54,2,32,32,3,33,1,11,32,0,32,2,54,2,104,65,0,33,2,32,0,40,2,72,69,13,4,32,0,40,2,108,34,3,32,1,77,4,64,32,1,32,0,40,2,112,32,3,106,73,13,5,11,32,0,65,0,54,2,72,65,0,12,3,11,32,2,65,1,106,34,2,32,4,71,13,0,11,11,32,0,32,4,54,2,104,32,6,32,4,65,24,108,106,34,3,65,4,107,40,2,0,33,1,32,3,65,16,107,41,2,0,33,10,32,0,65,0,54,2,72,32,0,32,10,55,2,36,32,0,32,1,54,2,32,65,1,11,33,2,32,0,65,0,54,2,112,11,32,0,65,1,58,0,128,1,32,0,65,0,54,2,0,32,0,32,2,54,2,116,32,0,65,0,54,2,124,32,0,32,1,54,2,108,32,0,40,2,80,33,3,32,0,40,2,76,33,2,32,5,32,0,41,2,36,55,3,8,32,0,32,2,32,1,32,5,65,8,106,32,0,65,240,0,106,34,4,32,3,17,6,0,34,2,54,2,72,32,0,40,2,112,34,1,69,4,64,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,12,1,11,32,0,40,2,104,32,0,40,2,100,70,13,0,2,64,32,0,40,2,32,32,0,40,2,108,107,34,3,32,1,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,1,11,32,0,32,2,32,3,106,32,1,32,3,107,34,1,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,3,65,2,116,106,32,0,65,216,0,106,32,3,65,3,73,27,40,2,0,34,3,17,4,0,54,2,116,32,0,40,2,0,33,2,2,64,32,1,65,3,75,13,0,32,2,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,6,32,5,32,0,41,2,36,55,3,0,32,0,32,6,32,1,32,5,32,4,32,2,17,6,0,34,2,54,2,72,32,0,32,0,40,2,112,34,1,4,127,32,2,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,1,32,0,32,3,17,4,0,54,2,116,32,0,40,2,0,33,2,11,32,2,65,127,71,13,0,32,0,65,1,54,2,116,11,3,64,32,0,40,2,32,32,8,79,13,1,32,0,40,2,104,32,0,40,2,100,70,13,1,32,0,40,2,72,69,13,1,32,0,65,0,16,43,32,0,40,2,104,32,0,40,2,100,71,13,0,11,11,32,0,40,2,124,33,0,32,5,65,16,106,36,0,32,0,11,105,1,2,127,2,64,32,0,40,2,104,34,1,32,0,40,2,100,70,13,0,32,1,69,13,0,32,0,40,2,32,32,0,40,2,68,32,1,65,24,108,106,34,1,40,2,16,71,13,0,32,1,65,4,107,40,2,0,33,2,32,0,32,1,65,16,107,41,2,0,55,2,60,32,0,32,2,54,2,56,15,11,32,0,32,0,41,2,32,55,2,56,32,0,65,64,107,32,0,40,2,40,54,2,0,11,194,1,1,3,127,35,0,65,32,107,34,3,36,0,32,0,40,2,72,4,64,32,0,40,2,96,33,2,2,64,32,1,4,64,32,2,69,13,1,32,3,32,0,40,2,0,34,2,54,2,0,32,0,65,132,1,106,34,4,65,128,8,35,1,65,154,11,65,253,8,32,2,65,32,107,65,223,0,73,27,106,32,3,16,249,1,26,32,0,40,2,92,65,1,32,4,32,0,40,2,96,17,3,0,12,1,11,32,2,69,13,0,32,3,32,0,40,2,0,34,2,54,2,16,32,0,65,132,1,106,34,4,65,128,8,35,1,65,174,11,65,143,9,32,2,65,32,107,65,223,0,73,27,106,32,3,65,16,106,16,249,1,26,32,0,40,2,92,65,1,32,4,32,0,40,2,96,17,3,0,11,32,0,32,1,16,43,11,32,3,65,32,106,36,0,11,212,5,2,5,127,1,126,35,0,65,16,107,34,5,36,0,2,64,32,0,40,2,116,34,2,69,4,64,32,0,40,2,32,33,3,12,1,11,2,64,32,0,40,2,0,34,3,65,10,70,4,64,32,0,65,1,58,0,128,1,32,0,65,0,54,2,40,32,0,65,0,54,2,124,32,0,32,0,40,2,36,65,1,106,54,2,36,32,0,40,2,32,33,4,12,1,11,2,64,32,0,40,2,32,34,4,69,32,3,65,255,253,3,70,113,13,0,32,0,45,0,128,1,65,1,71,13,0,32,0,32,0,40,2,124,65,1,106,54,2,124,11,32,0,32,0,40,2,40,32,2,106,54,2,40,11,32,0,32,2,32,4,106,34,3,54,2,32,11,32,0,40,2,68,32,0,40,2,104,34,4,65,24,108,106,33,2,3,64,2,64,2,64,32,2,40,2,20,34,6,32,3,75,4,64,32,6,32,2,40,2,16,71,13,1,11,32,0,40,2,100,34,6,32,4,75,4,64,32,0,32,4,65,1,106,34,4,54,2,104,11,32,4,32,6,73,13,1,65,0,33,2,11,32,1,4,64,32,0,32,0,41,2,32,55,2,44,32,0,32,0,40,2,40,54,2,52,11,2,64,32,2,4,64,2,64,32,0,40,2,108,34,1,32,3,77,4,64,32,3,32,0,40,2,112,34,2,32,1,106,73,13,1,11,32,0,32,3,54,2,108,32,0,40,2,80,33,1,32,0,40,2,76,33,2,32,5,32,0,41,2,36,55,3,8,32,0,32,2,32,3,32,5,65,8,106,32,0,65,240,0,106,32,1,17,6,0,54,2,72,32,0,40,2,112,34,2,13,0,65,0,33,2,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,11,32,0,40,2,32,32,0,40,2,108,107,34,1,32,2,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,2,11,32,0,32,0,40,2,72,32,1,106,32,2,32,1,107,34,1,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,2,65,2,116,106,32,0,65,216,0,106,32,2,65,3,73,27,40,2,0,34,4,17,4,0,54,2,116,32,0,40,2,0,33,2,2,64,32,1,65,3,75,13,0,32,2,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,3,32,5,32,0,41,2,36,55,3,0,32,0,32,3,32,1,32,5,32,0,65,240,0,106,32,2,17,6,0,34,2,54,2,72,32,0,32,0,40,2,112,34,1,4,127,32,2,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,1,32,0,32,4,17,4,0,54,2,116,32,0,40,2,0,33,2,11,32,2,65,127,71,13,1,32,0,65,1,54,2,116,12,1,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,32,0,65,1,54,2,116,32,0,65,0,54,2,0,11,32,5,65,16,106,36,0,15,11,32,2,41,2,24,33,7,32,0,32,2,40,2,40,34,3,54,2,32,32,0,32,7,55,2,36,32,2,65,24,106,33,2,12,0,11,0,11,185,4,1,6,127,35,0,65,32,107,34,3,36,0,32,0,65,0,58,0,120,32,0,65,0,59,1,4,32,0,32,0,41,2,32,55,2,44,32,0,32,0,40,2,40,54,2,52,32,0,35,1,65,240,11,106,34,1,41,2,0,55,2,56,32,0,65,64,107,32,1,40,2,8,54,2,0,2,64,32,0,40,2,104,32,0,40,2,100,70,13,0,32,0,65,240,0,106,33,4,2,64,32,0,40,2,112,34,1,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,5,32,3,32,0,41,2,36,55,3,24,32,0,32,5,32,1,32,3,65,24,106,32,4,32,2,17,6,0,54,2,72,32,0,40,2,112,34,1,13,0,65,0,33,1,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,11,2,64,32,0,40,2,116,13,0,32,0,40,2,32,32,0,40,2,108,107,34,2,32,1,70,4,64,32,0,65,0,54,2,0,32,0,65,1,54,2,116,12,1,11,32,0,32,0,40,2,72,32,2,106,32,1,32,2,107,34,2,32,0,35,1,65,192,211,0,106,32,0,40,2,84,34,1,65,2,116,106,32,0,65,216,0,106,32,1,65,3,73,27,40,2,0,34,5,17,4,0,54,2,116,32,0,40,2,0,33,1,2,64,32,2,65,3,75,13,0,32,1,65,127,71,13,0,32,0,32,0,40,2,32,34,1,54,2,108,32,0,40,2,80,33,2,32,0,40,2,76,33,6,32,3,32,0,41,2,36,55,3,16,32,0,32,6,32,1,32,3,65,16,106,32,4,32,2,17,6,0,34,1,54,2,72,32,0,32,0,40,2,112,34,4,4,127,32,1,5,32,0,65,0,54,2,72,32,0,32,0,40,2,100,54,2,104,65,0,11,32,4,32,0,32,5,17,4,0,54,2,116,32,0,40,2,0,33,1,11,32,1,65,127,71,13,0,32,0,65,1,54,2,116,11,32,0,40,2,32,13,0,2,64,32,0,40,2,0,65,255,253,3,71,13,0,32,0,40,2,72,69,13,0,32,0,40,2,96,4,64,32,3,65,255,253,3,54,2,0,32,0,65,132,1,106,34,1,65,128,8,35,1,65,253,8,106,32,3,16,249,1,26,32,0,40,2,92,65,1,32,1,32,0,40,2,96,17,3,0,11,32,0,65,1,16,43,11,32,0,65,0,54,2,124,32,0,65,1,58,0,128,1,11,32,3,65,32,106,36,0,11,50,2,1,127,1,126,32,0,40,2,0,33,1,32,0,40,2,16,41,2,0,34,2,167,34,0,65,1,113,4,64,32,2,66,56,136,167,32,1,106,15,11,32,0,40,2,16,32,1,106,11,94,2,1,126,2,127,32,1,40,2,8,33,3,32,1,40,2,4,33,4,32,0,32,4,2,126,32,1,40,2,16,41,2,0,34,2,167,34,1,65,1,113,4,64,32,2,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,1,41,2,20,11,34,2,167,34,1,106,54,2,0,32,0,32,2,66,32,136,167,65,0,32,3,32,1,27,106,54,2,4,11,112,1,2,127,65,255,255,3,33,2,2,64,2,64,32,0,40,2,12,34,1,65,255,255,3,113,69,4,64,32,0,40,2,16,40,2,0,34,1,65,1,113,4,64,32,1,65,128,254,3,113,65,8,118,33,1,12,2,11,32,1,47,1,40,33,1,11,32,1,65,255,255,3,113,65,255,255,3,70,13,1,11,32,0,40,2,20,40,2,8,40,2,76,32,1,65,255,255,3,113,65,1,116,106,47,1,0,33,2,11,32,2,11,233,12,2,10,127,1,126,35,0,65,160,1,107,34,10,36,0,2,127,32,0,40,2,0,34,8,69,4,64,32,1,32,2,35,1,65,253,10,106,65,0,16,249,1,12,1,11,32,8,65,8,118,33,12,2,127,2,64,2,64,2,64,2,64,2,64,32,4,13,0,32,8,65,1,113,4,127,32,8,65,5,118,65,1,113,5,32,8,47,1,44,65,9,118,65,1,113,11,13,0,2,64,2,64,2,64,32,5,69,4,64,32,8,65,1,113,69,13,1,32,8,65,2,113,69,13,5,32,8,65,2,118,65,1,113,13,4,12,5,11,32,6,69,13,1,12,3,11,32,8,47,1,44,34,9,65,1,113,13,1,12,3,11,32,7,35,1,65,161,10,106,71,13,3,12,5,11,32,9,65,1,118,65,1,113,69,13,1,11,2,127,32,1,32,7,35,1,65,161,10,106,70,13,0,26,32,1,32,2,35,1,65,233,11,106,65,0,16,249,1,32,1,106,34,9,32,7,69,13,0,26,32,10,32,7,54,2,96,32,9,32,1,32,2,65,1,75,27,32,2,35,1,65,230,11,106,32,10,65,224,0,106,16,249,1,32,9,106,11,33,9,2,64,32,8,65,1,113,69,4,64,2,64,32,8,47,1,40,34,12,65,255,255,3,71,13,0,32,8,40,2,36,13,0,32,8,40,2,16,69,13,0,32,9,32,1,32,2,65,1,75,34,5,27,32,2,35,1,65,217,11,106,65,0,16,249,1,32,9,106,34,9,32,1,32,5,27,33,5,65,1,33,14,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,8,40,2,48,34,6,65,1,106,14,15,0,1,5,5,5,5,5,5,5,5,3,2,5,5,4,5,11,32,5,32,2,35,1,65,193,10,106,65,0,16,249,1,12,5,11,32,5,32,2,35,1,65,197,11,106,65,0,16,249,1,12,4,11,32,5,32,2,35,1,65,149,11,106,65,0,16,249,1,12,3,11,32,5,32,2,35,1,65,139,11,106,65,0,16,249,1,12,2,11,32,5,32,2,35,1,65,144,11,106,65,0,16,249,1,12,1,11,32,6,65,32,107,65,222,0,77,4,64,32,10,32,6,54,2,64,32,5,32,2,35,1,65,192,11,106,32,10,65,64,107,16,249,1,12,1,11,32,10,32,6,54,2,80,32,5,32,2,35,1,65,236,9,106,32,10,65,208,0,106,16,249,1,11,32,9,106,12,7,11,32,5,32,12,32,5,27,33,5,12,1,11,32,5,13,0,32,12,65,255,1,113,33,5,11,35,1,65,171,10,106,33,13,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,13,12,1,11,65,0,33,13,32,3,40,2,8,32,3,40,2,4,106,32,5,77,13,0,32,3,40,2,56,32,5,65,2,116,106,40,2,0,33,13,11,65,1,33,14,32,9,32,1,32,2,65,1,75,27,33,12,32,8,65,1,113,4,127,32,8,65,5,118,65,1,113,5,32,8,47,1,44,65,9,118,65,1,113,11,4,64,32,12,32,2,35,1,65,207,11,106,65,0,16,249,1,32,9,106,33,5,2,64,32,6,69,4,64,32,8,65,1,113,4,127,32,8,65,2,118,65,1,113,5,32,8,47,1,44,65,1,118,65,1,113,11,69,13,1,11,32,10,32,13,54,2,32,32,5,32,1,32,2,65,1,75,27,32,2,35,1,65,223,7,106,32,10,65,32,106,16,249,1,32,5,106,12,6,11,32,10,32,13,54,2,48,32,5,32,1,32,2,65,1,75,27,32,2,35,1,65,202,11,106,32,10,65,48,106,16,249,1,32,5,106,12,5,11,32,10,32,13,54,2,16,32,12,32,2,35,1,65,222,7,106,32,10,65,16,106,16,249,1,32,9,106,12,4,11,32,7,35,1,65,161,10,106,70,13,1,11,32,1,12,2,11,32,8,65,1,113,4,64,32,12,65,255,1,113,33,5,12,1,11,32,8,47,1,40,33,5,11,35,1,65,171,10,106,33,9,2,64,2,64,2,64,32,5,65,255,255,3,113,34,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,9,12,1,11,65,0,33,9,32,3,40,2,8,32,3,40,2,4,106,32,5,77,13,0,32,3,40,2,56,32,5,65,2,116,106,40,2,0,33,9,11,2,127,2,127,2,64,32,8,65,1,113,69,4,64,32,8,40,2,36,69,13,1,32,10,32,9,54,2,144,1,32,1,32,2,35,1,65,222,7,106,32,10,65,144,1,106,16,249,1,32,1,106,12,3,11,32,8,65,2,118,65,1,113,12,1,11,32,8,47,1,44,65,1,118,65,1,113,11,4,64,32,10,32,9,54,2,128,1,32,1,32,2,35,1,65,241,10,106,32,10,65,128,1,106,16,249,1,32,1,106,12,1,11,32,10,32,9,54,2,112,32,1,32,2,35,1,65,132,11,106,32,10,65,240,0,106,16,249,1,32,1,106,11,11,33,9,2,64,32,0,45,0,0,65,1,113,13,0,32,0,40,2,0,34,11,40,2,36,34,6,69,13,0,32,11,47,1,66,34,8,4,64,32,3,40,2,84,32,3,47,1,36,32,8,108,65,1,116,106,33,15,11,65,0,33,5,32,3,40,2,32,4,64,32,3,40,2,68,32,3,40,2,64,32,8,65,2,116,106,34,5,47,1,0,65,2,116,106,34,16,32,5,47,1,2,65,2,116,106,33,5,11,65,0,32,7,32,14,27,33,12,65,0,33,7,65,0,33,13,3,64,32,10,32,11,32,6,65,3,116,107,32,13,65,3,116,106,41,2,0,34,18,55,3,152,1,2,127,2,127,32,18,167,34,6,65,1,113,4,64,32,6,65,3,118,65,1,113,12,1,11,32,6,47,1,44,65,2,118,65,1,113,11,4,64,32,10,32,10,41,3,152,1,55,3,8,32,10,65,8,106,32,9,32,1,32,2,65,1,75,27,32,2,32,3,32,4,65,0,65,0,65,0,16,48,12,1,11,2,127,32,15,69,4,64,65,0,33,6,65,0,12,1,11,32,15,32,7,65,1,116,106,47,1,0,34,6,65,2,106,65,255,255,3,113,65,3,79,4,64,32,3,40,2,72,32,6,65,3,108,106,45,0,1,65,0,71,12,1,11,32,6,11,33,17,2,127,32,12,32,16,34,11,32,5,79,13,0,26,3,64,2,64,32,11,45,0,3,13,0,32,7,32,11,45,0,2,71,13,0,32,3,40,2,60,32,11,47,1,0,65,2,116,106,40,2,0,12,2,11,32,11,65,4,106,34,11,32,5,73,13,0,11,32,12,11,33,8,32,10,32,10,41,3,152,1,55,3,0,32,7,65,1,106,33,7,32,10,32,9,32,1,32,2,65,1,75,27,32,2,32,3,32,4,32,6,32,17,65,1,113,32,8,16,48,11,32,9,106,33,9,32,13,65,1,106,34,13,32,0,40,2,0,34,11,40,2,36,34,6,73,13,0,11,11,32,14,4,127,32,9,32,1,32,2,65,1,75,27,32,2,35,1,65,137,11,106,65,0,16,249,1,32,9,106,5,32,9,11,32,1,107,11,33,11,32,10,65,160,1,106,36,0,32,11,11,106,1,2,127,2,64,32,0,47,1,12,34,1,4,64,65,1,33,2,2,64,2,64,32,1,65,254,255,3,107,14,2,0,3,1,11,65,0,15,11,32,0,40,2,20,40,2,8,40,2,72,32,1,65,3,108,106,45,0,1,65,0,71,15,11,32,0,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,2,118,65,1,113,15,11,32,0,47,1,44,65,1,118,65,1,113,33,2,11,32,2,11,46,1,1,127,35,0,65,16,107,34,1,32,0,40,2,16,40,2,0,34,0,54,2,12,32,1,65,12,106,65,2,114,32,0,65,42,106,32,0,65,1,113,27,47,1,0,11,229,9,2,22,127,1,126,35,0,65,128,1,107,34,4,36,0,32,2,40,2,0,34,22,2,127,32,2,40,2,16,34,23,41,2,0,34,25,167,34,6,65,1,113,4,64,32,25,66,56,136,167,12,1,11,32,6,40,2,16,11,34,18,106,33,13,32,1,40,2,8,33,6,32,1,40,2,4,33,14,32,1,40,2,20,33,20,32,1,40,2,0,33,11,32,1,40,2,16,40,2,0,33,3,2,64,2,64,2,64,2,64,3,64,32,3,65,1,113,13,3,32,3,40,2,36,69,13,3,32,3,47,1,66,34,7,4,127,32,20,40,2,8,34,8,40,2,84,32,8,47,1,36,32,7,108,65,1,116,106,5,65,0,11,33,19,32,3,40,2,36,34,21,69,13,3,2,127,32,3,32,21,65,3,116,107,34,15,40,0,0,34,7,65,1,113,69,4,64,32,7,47,1,44,65,2,118,65,1,113,12,1,11,32,7,65,3,118,65,1,113,11,34,3,69,33,16,65,0,33,12,2,64,32,3,13,0,32,19,69,13,0,32,19,47,1,0,33,12,65,1,33,16,11,32,1,32,20,54,2,20,32,1,32,15,54,2,16,32,1,32,12,54,2,12,32,1,32,6,54,2,8,32,1,32,14,54,2,4,32,1,32,11,54,2,0,2,127,32,15,40,0,0,34,5,65,1,113,34,17,69,4,64,65,0,32,6,32,5,40,2,20,34,7,27,33,8,32,5,40,2,24,33,9,32,5,40,2,16,33,3,32,7,32,14,106,12,1,11,32,15,45,0,7,34,3,33,9,32,6,33,8,32,14,11,33,7,32,11,32,22,75,13,3,32,15,32,23,70,13,2,32,3,32,11,106,33,10,2,64,2,64,2,64,2,64,2,64,2,64,32,18,13,0,32,10,32,13,73,13,0,32,17,13,1,32,5,40,2,36,69,13,1,32,5,40,2,48,69,13,1,32,4,32,1,41,2,8,55,3,88,32,4,32,1,41,2,16,55,3,96,32,4,32,1,41,2,0,55,3,80,32,4,65,64,107,32,2,41,2,8,55,3,0,32,4,32,2,41,2,16,55,3,72,32,4,32,2,41,2,0,55,3,56,32,4,65,232,0,106,32,4,65,208,0,106,32,4,65,56,106,16,51,32,4,40,2,120,69,13,1,12,7,11,32,18,13,1,11,32,10,32,13,75,13,1,12,2,11,32,10,32,13,73,13,1,11,32,15,40,2,0,34,3,65,1,113,13,0,32,3,40,2,36,69,13,0,32,3,40,2,48,13,1,11,65,1,33,17,32,21,65,1,70,13,4,32,8,32,9,106,33,6,3,64,65,0,33,12,2,127,32,15,32,17,65,3,116,106,34,3,40,0,0,34,9,65,1,113,34,8,4,64,32,9,65,3,118,65,1,113,12,1,11,32,9,47,1,44,65,2,118,65,1,113,11,69,4,64,32,19,4,127,32,19,32,16,65,1,116,106,47,1,0,5,65,0,11,33,12,32,16,65,1,106,33,16,11,2,127,32,8,4,64,32,3,45,0,5,65,15,113,33,5,32,3,45,0,6,33,11,32,3,45,0,4,12,1,11,32,9,40,2,8,33,5,32,9,40,2,4,33,11,32,9,40,2,12,11,33,8,32,1,32,20,54,2,20,32,1,32,3,54,2,16,32,1,32,12,54,2,12,32,1,32,5,32,7,106,34,14,54,2,4,32,1,32,10,32,11,106,34,11,54,2,0,32,1,65,0,32,6,32,5,27,32,8,106,34,6,54,2,8,2,127,32,3,40,0,0,34,5,65,1,113,34,24,4,64,32,3,45,0,7,34,10,33,8,32,6,33,9,32,14,12,1,11,65,0,32,6,32,5,40,2,20,34,7,27,33,9,32,5,40,2,24,33,8,32,5,40,2,16,33,10,32,7,32,14,106,11,33,7,32,11,32,22,75,13,5,32,3,32,23,70,13,4,32,10,32,11,106,33,10,2,64,2,64,2,64,2,64,2,64,32,18,13,0,32,10,32,13,73,13,0,32,24,13,1,32,5,40,2,36,69,13,1,32,5,40,2,48,69,13,1,32,4,32,1,41,2,8,55,3,40,32,4,32,1,41,2,16,55,3,48,32,4,32,1,41,2,0,55,3,32,32,4,32,2,41,2,8,55,3,16,32,4,32,2,41,2,16,55,3,24,32,4,32,2,41,2,0,55,3,8,32,4,65,232,0,106,32,4,65,32,106,32,4,65,8,106,16,51,32,4,40,2,120,69,13,1,12,8,11,32,18,13,1,11,32,10,32,13,75,13,1,12,2,11,32,10,32,13,73,13,1,11,32,3,40,2,0,34,3,65,1,113,13,0,32,3,40,2,36,69,13,0,32,3,40,2,48,13,2,11,32,8,32,9,106,33,6,32,17,65,1,106,34,17,32,21,71,13,0,11,12,4,11,32,3,45,0,44,65,1,113,32,12,114,69,13,0,11,32,0,32,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,3,11,32,0,32,1,32,1,32,4,65,232,0,106,32,12,27,32,5,47,1,44,65,1,113,27,34,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,2,11,32,0,32,1,41,2,0,55,2,0,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,12,1,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,32,4,65,128,1,106,36,0,11,185,6,1,18,127,2,64,32,1,40,2,16,40,2,0,34,9,65,1,113,13,0,65,48,65,52,32,3,27,33,20,32,1,40,2,20,33,14,32,1,40,2,0,33,4,32,1,40,2,4,33,5,32,1,40,2,8,33,10,3,64,32,9,40,2,36,69,13,1,65,0,33,1,65,0,33,17,32,9,47,1,66,34,13,4,64,32,14,40,2,8,34,6,40,2,84,32,6,47,1,36,32,13,108,65,1,116,106,33,17,11,32,9,40,2,36,34,19,69,13,1,32,9,32,19,65,3,116,107,33,21,32,4,33,9,32,5,33,6,32,10,33,13,65,0,33,18,65,0,33,15,2,64,3,64,65,0,33,12,2,127,32,21,32,1,65,3,116,106,34,11,40,0,0,34,7,65,1,113,34,10,4,64,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,65,2,118,65,1,113,11,69,4,64,32,17,4,127,32,17,32,18,65,1,116,106,47,1,0,5,65,0,11,33,12,32,18,65,1,106,33,18,11,2,127,32,1,69,4,64,32,9,33,4,32,13,33,10,32,6,12,1,11,2,127,32,10,4,64,32,11,45,0,4,33,4,32,11,45,0,6,33,16,32,11,45,0,5,65,15,113,12,1,11,32,7,40,2,12,33,4,32,7,40,2,4,33,16,32,7,40,2,8,11,33,5,65,0,32,13,32,5,27,32,4,106,33,10,32,9,32,16,106,33,4,32,5,32,6,106,11,33,5,2,127,2,64,2,64,2,64,2,127,2,64,32,11,40,0,0,34,8,65,1,113,34,7,4,64,32,1,65,1,106,33,1,32,10,32,11,45,0,7,34,6,106,33,13,32,4,32,6,106,33,9,32,3,13,1,32,5,33,6,12,3,11,32,8,40,2,24,65,0,32,10,32,8,40,2,20,34,6,27,106,33,13,32,1,65,1,106,33,1,32,8,40,2,16,32,4,106,33,9,32,5,32,6,106,33,6,32,3,69,13,2,32,8,47,1,44,65,1,113,12,1,11,32,5,33,6,32,8,65,1,118,65,1,113,11,32,12,114,13,1,12,2,11,2,64,32,12,65,254,255,3,107,14,2,2,1,0,11,32,12,69,4,64,32,7,4,64,32,8,65,2,113,69,13,3,32,8,65,2,118,65,1,113,69,13,3,12,2,11,32,8,47,1,44,34,7,65,1,113,69,13,2,32,7,65,1,118,65,1,113,69,13,2,12,1,11,32,14,40,2,8,40,2,72,32,12,65,3,108,106,45,0,1,65,1,113,69,13,1,11,32,15,65,1,106,32,2,32,15,71,13,1,26,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,15,11,65,0,33,16,2,64,32,11,40,2,0,34,8,65,1,113,13,0,32,8,40,2,36,69,13,0,32,2,32,15,107,34,7,32,8,32,20,106,40,2,0,34,16,73,13,3,11,32,15,32,16,106,11,33,15,32,1,32,19,71,13,0,11,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,12,2,11,32,0,32,14,54,2,20,32,0,32,11,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,5,54,2,4,32,0,32,4,54,2,0,32,7,33,2,32,11,40,2,0,34,9,65,1,113,69,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,194,8,2,20,127,1,126,35,0,65,224,0,107,34,3,36,0,2,64,2,64,32,2,69,13,0,32,1,40,2,16,40,2,0,34,5,65,1,113,13,0,3,64,32,5,40,2,36,34,17,69,13,1,32,5,40,2,48,69,13,1,2,64,2,64,32,1,40,2,20,34,18,40,2,8,34,4,40,2,32,69,13,0,32,4,40,2,64,32,5,47,1,66,34,12,65,2,116,106,34,6,47,1,2,34,8,69,13,0,32,4,40,2,68,32,6,47,1,0,65,2,116,106,34,6,32,8,65,2,116,106,33,13,2,64,3,64,32,6,47,1,0,32,2,79,13,1,32,6,65,4,106,34,6,32,13,71,13,0,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,5,11,2,64,3,64,32,13,65,4,107,34,8,47,1,0,32,2,77,13,1,32,8,34,13,32,6,71,13,0,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,5,11,32,12,4,127,32,4,40,2,84,32,4,47,1,36,32,12,108,65,1,116,106,5,65,0,11,33,20,32,5,4,64,32,5,32,17,65,3,116,107,33,22,32,1,40,2,0,33,7,32,1,40,2,4,33,14,32,1,40,2,8,33,9,65,0,33,5,65,0,33,15,3,64,32,6,34,8,65,4,106,33,6,2,64,2,64,2,64,2,64,3,64,65,0,33,16,2,127,32,22,32,5,65,3,116,106,34,10,40,0,0,34,4,65,1,113,34,19,4,64,32,4,65,3,118,65,1,113,12,1,11,32,4,47,1,44,65,2,118,65,1,113,11,69,4,64,32,20,4,127,32,20,32,15,65,1,116,106,47,1,0,5,65,0,11,33,16,32,15,65,1,106,33,15,11,32,5,4,64,2,127,32,19,4,64,32,10,45,0,4,33,11,32,10,45,0,6,33,21,32,10,45,0,5,65,15,113,12,1,11,32,4,40,2,12,33,11,32,4,40,2,4,33,21,32,4,40,2,8,11,33,12,65,0,32,9,32,12,27,32,11,106,33,9,32,12,32,14,106,33,14,32,7,32,21,106,33,7,11,32,3,32,16,54,2,84,32,3,32,9,54,2,80,32,3,32,14,54,2,76,32,3,32,7,54,2,72,32,5,65,1,106,33,5,2,127,32,19,4,64,32,9,32,10,45,0,7,34,11,106,33,9,32,7,32,11,106,33,7,32,4,65,3,118,65,1,113,12,1,11,32,4,40,2,24,65,0,32,9,32,4,40,2,20,34,11,27,106,33,9,32,4,40,2,16,32,7,106,33,7,32,11,32,14,106,33,14,32,4,47,1,44,65,2,118,65,1,113,11,13,1,32,8,45,0,2,32,15,65,1,107,75,4,64,32,5,32,17,70,13,5,12,1,11,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,32,8,45,0,3,65,1,70,4,64,32,6,32,13,70,13,8,32,3,32,3,41,3,80,55,3,8,32,3,32,3,41,3,88,55,3,16,32,3,32,3,41,3,72,55,3,0,32,3,65,48,106,32,3,32,2,16,53,32,3,40,2,64,69,13,3,32,0,32,3,41,2,48,55,2,0,32,0,32,3,65,64,107,41,2,0,55,2,16,32,0,32,3,41,2,56,55,2,8,12,11,11,2,64,2,64,32,19,4,64,32,4,65,2,113,32,16,114,13,1,12,4,11,32,4,45,0,44,65,1,113,13,0,32,16,69,13,1,11,32,0,32,3,41,3,72,55,2,0,32,0,32,3,41,3,88,55,2,16,32,0,32,3,41,3,80,55,2,8,12,11,11,32,4,40,2,36,69,13,1,32,4,40,2,48,69,13,1,32,3,32,3,41,3,88,55,3,40,32,3,32,3,41,3,80,55,3,32,32,3,32,3,41,3,72,55,3,24,32,0,32,3,65,24,106,65,0,65,1,16,52,12,10,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,32,8,33,6,12,1,11,32,6,32,13,71,13,0,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,8,11,32,5,32,17,71,13,1,11,11,32,3,32,18,54,2,92,32,3,32,10,54,2,88,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,4,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,3,11,32,1,32,3,41,3,72,55,2,0,32,1,32,3,41,3,88,34,23,55,2,16,32,1,32,3,41,3,80,55,2,8,32,23,167,40,2,0,34,5,65,1,113,69,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,32,3,65,224,0,106,36,0,11,216,10,2,34,127,2,126,35,0,65,144,1,107,34,3,36,0,2,127,32,1,40,2,16,41,2,0,34,37,167,34,30,65,1,113,4,64,32,37,66,56,136,167,12,1,11,32,30,40,2,16,11,33,31,32,1,40,2,16,33,6,2,127,32,1,40,2,20,34,4,40,0,0,34,5,65,1,113,4,64,32,4,45,0,4,33,11,32,4,45,0,6,33,12,32,4,45,0,5,65,15,113,12,1,11,32,5,40,2,12,33,11,32,5,40,2,4,33,12,32,5,40,2,8,11,33,15,32,1,40,2,0,33,23,32,3,32,4,54,2,140,1,32,3,32,4,54,2,136,1,32,3,65,0,54,2,132,1,32,3,32,11,54,2,128,1,32,3,32,15,54,2,124,32,3,32,12,54,2,120,2,64,2,64,2,64,32,4,32,6,70,13,0,32,3,32,3,41,2,128,1,55,3,80,32,3,32,3,41,2,136,1,55,3,88,32,3,32,3,41,2,120,55,3,72,32,3,32,1,41,2,8,55,3,56,32,3,65,64,107,32,1,41,2,16,55,3,0,32,3,32,1,41,2,0,55,3,48,32,3,65,224,0,106,32,3,65,200,0,106,32,3,65,48,106,16,51,2,127,2,64,32,3,40,2,112,34,5,32,6,70,13,0,32,5,69,13,0,3,64,2,64,32,3,32,3,41,2,112,34,37,55,3,136,1,32,3,32,3,41,2,104,34,38,55,3,128,1,32,3,32,38,55,3,32,32,3,32,37,55,3,40,32,3,32,3,41,2,96,34,37,55,3,120,32,3,32,37,55,3,24,32,3,32,1,41,2,8,55,3,8,32,3,32,1,41,2,16,55,3,16,32,3,32,1,41,2,0,55,3,0,32,3,65,224,0,106,32,3,65,24,106,32,3,16,51,32,3,40,2,112,34,5,32,6,70,13,0,32,5,13,1,11,11,32,3,40,2,136,1,34,4,69,13,2,32,3,40,2,128,1,33,11,32,3,40,2,124,33,15,32,3,40,2,120,33,12,32,3,40,2,140,1,12,1,11,32,4,11,33,19,32,23,32,31,106,33,33,65,48,65,52,32,2,27,33,34,3,64,32,19,33,18,65,0,33,13,65,0,33,16,65,0,33,14,65,0,33,20,2,64,2,127,2,64,2,64,2,64,2,127,65,0,32,4,40,2,0,34,6,65,1,113,13,0,26,32,6,40,2,36,69,4,64,65,0,12,1,11,32,6,47,1,66,34,1,4,64,32,18,40,2,8,34,5,40,2,84,32,5,47,1,36,32,1,108,65,1,116,106,33,20,11,32,12,33,13,32,15,33,16,32,11,33,14,32,6,11,34,1,4,64,65,0,33,21,65,0,32,1,32,1,40,2,36,34,35,65,3,116,107,32,1,65,1,113,27,33,36,65,0,33,1,65,0,33,19,65,0,33,4,65,0,33,11,65,0,33,15,65,0,33,12,2,64,3,64,32,1,32,35,70,13,1,65,0,33,17,2,127,32,36,32,1,65,3,116,106,34,10,40,0,0,34,7,65,1,113,34,22,4,64,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,65,2,118,65,1,113,11,69,4,64,32,20,4,127,32,20,32,21,65,1,116,106,47,1,0,5,65,0,11,33,17,32,21,65,1,106,33,21,11,2,127,32,1,69,4,64,32,14,33,6,32,16,33,5,32,13,12,1,11,2,127,32,22,4,64,32,10,45,0,5,65,15,113,33,8,32,10,45,0,6,33,9,32,10,45,0,4,12,1,11,32,7,40,2,8,33,8,32,7,40,2,4,33,9,32,7,40,2,12,11,65,0,32,14,32,8,27,106,33,6,32,8,32,16,106,33,5,32,9,32,13,106,11,33,8,2,127,32,22,4,64,32,10,45,0,7,34,13,33,14,32,6,33,9,32,5,12,1,11,65,0,32,6,32,7,40,2,20,34,16,27,33,9,32,7,40,2,24,33,14,32,7,40,2,16,33,13,32,5,32,16,106,11,33,16,32,1,65,1,106,33,1,32,9,32,14,106,33,14,32,8,32,13,106,34,13,32,33,77,13,0,32,8,32,23,77,32,8,32,23,73,32,31,27,65,1,70,4,64,32,7,32,30,70,13,1,32,18,33,19,32,10,33,4,32,6,33,11,32,5,33,15,32,8,33,12,12,1,11,2,64,32,2,4,64,32,22,4,127,32,7,65,1,118,65,1,113,5,32,7,47,1,44,65,1,113,11,32,17,114,69,13,1,12,7,11,2,64,32,17,65,254,255,3,107,14,2,1,7,0,11,32,17,69,4,64,32,22,4,64,32,7,65,2,113,69,13,2,32,7,65,2,118,65,1,113,13,8,12,2,11,32,7,47,1,44,34,9,65,1,113,69,13,1,32,9,65,1,118,65,1,113,13,7,12,1,11,32,18,40,2,8,40,2,72,32,17,65,3,108,106,45,0,1,65,1,113,13,6,11,32,10,40,2,0,34,9,65,1,113,13,0,32,9,40,2,36,69,13,0,32,9,32,34,106,40,2,0,69,13,0,11,32,4,13,2,32,10,33,4,32,18,33,19,32,6,33,11,32,5,33,15,32,8,33,12,12,6,11,32,4,13,5,11,32,24,13,1,65,0,33,24,32,26,33,4,32,25,33,19,32,27,33,11,32,28,33,15,32,29,33,12,12,4,11,65,0,12,2,11,32,0,32,25,54,2,20,32,0,32,26,54,2,16,32,0,32,32,54,2,12,32,0,32,27,54,2,8,32,0,32,28,54,2,4,32,0,32,29,54,2,0,12,6,11,32,4,69,13,4,65,1,11,33,24,32,8,33,29,32,5,33,28,32,6,33,27,32,17,33,32,32,10,33,26,32,18,33,25,11,32,4,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,1,11,32,0,32,18,54,2,20,32,0,32,10,54,2,16,32,0,32,17,54,2,12,32,0,32,6,54,2,8,32,0,32,5,54,2,4,32,0,32,8,54,2,0,11,32,3,65,144,1,106,36,0,11,234,16,2,41,127,2,126,35,0,65,192,1,107,34,3,36,0,32,3,32,1,40,2,16,34,39,41,2,0,34,44,55,3,136,1,32,44,66,56,136,33,45,32,44,167,34,4,65,1,113,4,127,32,45,167,32,44,66,48,136,167,65,255,1,113,106,5,32,4,40,2,16,32,4,40,2,4,106,11,33,40,32,4,65,1,113,4,127,32,45,167,5,32,4,40,2,16,11,33,17,32,1,40,2,16,33,5,2,127,32,1,40,2,20,34,8,40,0,0,34,9,65,1,113,4,64,32,8,45,0,5,65,15,113,33,6,32,8,45,0,6,33,10,32,8,45,0,4,12,1,11,32,9,40,2,8,33,6,32,9,40,2,4,33,10,32,9,40,2,12,11,33,4,32,1,40,2,0,33,9,32,3,32,8,54,2,188,1,32,3,32,8,54,2,184,1,32,3,65,0,54,2,180,1,32,3,32,4,54,2,176,1,32,3,32,6,54,2,172,1,32,3,32,10,54,2,168,1,2,64,2,64,2,64,32,5,32,8,70,13,0,32,3,32,3,41,2,176,1,55,3,112,32,3,32,3,41,2,184,1,55,3,120,32,3,32,3,41,2,168,1,55,3,104,32,3,32,1,41,2,8,55,3,88,32,3,32,1,41,2,16,55,3,96,32,3,32,1,41,2,0,55,3,80,32,3,65,144,1,106,32,3,65,232,0,106,32,3,65,208,0,106,16,51,2,127,2,64,32,3,40,2,160,1,34,12,32,5,70,13,0,32,12,69,13,0,3,64,2,64,32,3,32,3,41,2,160,1,34,44,55,3,184,1,32,3,32,3,41,2,152,1,34,45,55,3,176,1,32,3,65,64,107,32,45,55,3,0,32,3,32,44,55,3,72,32,3,32,3,41,2,144,1,34,44,55,3,168,1,32,3,32,44,55,3,56,32,3,32,1,41,2,8,55,3,40,32,3,32,1,41,2,16,55,3,48,32,3,32,1,41,2,0,55,3,32,32,3,65,144,1,106,32,3,65,56,106,32,3,65,32,106,16,51,32,3,40,2,160,1,34,4,32,5,70,13,0,32,4,13,1,11,11,32,3,40,2,184,1,34,8,69,13,2,32,3,40,2,176,1,33,4,32,3,40,2,172,1,33,6,32,3,40,2,168,1,33,10,32,3,40,2,188,1,12,1,11,32,8,11,33,12,32,9,32,17,106,33,27,65,48,65,52,32,2,27,33,41,65,0,33,17,3,64,2,64,2,64,32,8,40,2,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,65,0,33,7,65,0,33,18,32,1,47,1,66,34,5,4,64,32,12,40,2,8,34,9,40,2,84,32,9,47,1,36,32,5,108,65,1,116,106,33,18,11,2,64,2,64,32,1,40,2,36,34,35,69,13,0,2,127,32,1,32,35,65,3,116,107,34,8,40,0,0,34,1,65,1,113,34,5,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,7,69,33,19,65,0,33,11,2,64,32,7,13,0,32,18,69,13,0,32,18,47,1,0,33,11,65,1,33,19,11,2,127,32,5,69,4,64,65,0,32,4,32,1,40,2,20,34,5,27,33,14,32,5,32,6,106,33,36,32,1,40,2,16,33,7,32,1,40,2,24,12,1,11,32,6,33,36,32,4,33,14,32,8,45,0,7,34,7,11,33,15,32,8,32,39,70,4,64,65,0,33,7,12,1,11,2,64,2,64,32,7,32,10,106,34,32,32,27,75,13,0,32,27,32,32,70,4,64,32,40,13,1,32,3,32,8,41,2,0,34,44,55,3,24,32,3,32,44,55,3,128,1,32,3,32,3,41,3,136,1,55,3,16,32,3,65,24,106,32,3,65,16,106,16,56,13,1,32,8,40,2,0,33,1,11,2,64,2,64,2,64,32,2,69,4,64,65,1,33,7,32,8,33,5,32,12,33,9,2,64,32,11,65,254,255,3,107,14,2,2,4,0,11,32,11,69,4,64,2,127,32,1,65,1,113,69,4,64,32,1,47,1,44,34,1,65,1,113,69,13,4,32,1,65,1,118,65,1,113,12,1,11,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,11,69,13,2,12,3,11,32,12,40,2,8,40,2,72,32,11,65,3,108,106,45,0,1,65,1,113,13,2,12,1,11,65,1,33,7,2,127,32,1,65,1,113,69,4,64,32,1,47,1,44,65,1,113,12,1,11,32,1,65,1,118,65,1,113,11,32,11,114,13,1,11,2,64,32,8,40,2,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,65,0,33,7,32,1,32,41,106,40,2,0,13,1,65,0,33,10,65,0,33,6,65,0,33,4,65,0,33,11,65,0,33,5,65,0,33,9,12,2,11,65,0,33,10,65,0,33,6,65,0,33,4,65,0,33,11,65,0,33,5,65,0,33,9,65,0,33,7,12,1,11,32,8,33,5,32,12,33,9,11,65,1,33,37,32,35,65,1,70,13,3,32,14,32,15,106,33,16,3,64,32,7,33,20,32,9,33,21,32,5,33,14,32,11,33,22,32,4,33,23,32,6,33,24,32,10,33,25,65,0,33,15,2,127,32,8,32,37,65,3,116,106,34,13,40,0,0,34,1,65,1,113,34,6,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,18,4,127,32,18,32,19,65,1,116,106,47,1,0,5,65,0,11,33,15,32,19,65,1,106,33,19,11,2,127,32,6,4,64,32,13,45,0,4,33,10,32,13,45,0,6,33,7,32,13,45,0,5,65,15,113,12,1,11,32,1,40,2,12,33,10,32,1,40,2,4,33,7,32,1,40,2,8,11,33,4,65,0,32,16,32,4,27,32,10,106,33,16,32,4,32,36,106,33,26,2,127,32,6,4,64,32,13,45,0,7,34,6,33,42,32,16,33,43,32,26,12,1,11,65,0,32,16,32,1,40,2,20,34,4,27,33,43,32,1,40,2,24,33,42,32,1,40,2,16,33,6,32,4,32,26,106,11,33,36,32,13,32,39,70,4,64,32,20,33,7,32,21,33,9,32,14,33,5,32,22,33,11,32,23,33,4,32,24,33,6,32,25,33,10,12,5,11,2,64,32,6,32,7,32,32,106,34,38,106,34,32,32,27,75,13,0,32,27,32,32,70,4,64,32,40,13,1,32,3,32,13,41,2,0,34,44,55,3,8,32,3,32,44,55,3,128,1,32,3,32,3,41,3,136,1,55,3,0,32,3,65,8,106,32,3,16,56,13,1,32,13,40,2,0,33,1,11,2,64,2,64,2,64,2,64,32,2,4,64,65,1,33,7,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,15,114,69,13,1,12,2,11,65,1,33,7,32,38,33,10,32,26,33,6,32,16,33,4,32,15,33,11,32,13,33,5,32,12,33,9,2,64,32,15,65,254,255,3,107,14,2,1,4,0,11,2,64,32,15,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,2,32,1,65,2,118,65,1,113,69,13,2,12,3,11,32,12,40,2,8,40,2,72,32,15,65,3,108,106,45,0,1,65,1,113,69,13,1,12,2,11,32,1,47,1,44,34,1,65,1,113,69,13,0,32,1,65,1,118,65,1,113,13,1,11,32,13,40,2,0,34,1,65,1,113,13,1,32,1,40,2,36,69,13,1,32,25,33,10,32,24,33,6,32,23,33,4,32,22,33,11,32,14,33,5,32,21,33,9,32,20,33,7,32,1,32,41,106,40,2,0,69,13,2,65,0,33,7,11,32,38,33,10,32,26,33,6,32,16,33,4,32,15,33,11,32,13,33,5,32,12,33,9,12,1,11,32,25,33,10,32,24,33,6,32,23,33,4,32,22,33,11,32,14,33,5,32,21,33,9,32,20,33,7,11,32,42,32,43,106,33,16,32,37,65,1,106,34,37,32,35,71,13,1,12,5,11,11,32,38,33,10,32,16,33,4,32,26,33,6,32,13,33,8,12,1,11,65,0,33,25,65,0,33,24,65,0,33,23,65,0,33,22,65,0,33,14,65,0,33,21,65,0,33,20,11,32,14,69,13,3,32,25,33,31,32,24,33,30,32,23,33,29,32,22,33,34,32,14,33,28,32,21,33,17,32,20,33,33,12,3,11,65,0,33,9,65,0,33,5,65,0,33,11,65,0,33,4,65,0,33,6,65,0,33,10,11,32,7,65,1,113,4,64,32,0,32,9,54,2,20,32,0,32,5,54,2,16,32,0,32,11,54,2,12,32,0,32,4,54,2,8,32,0,32,6,54,2,4,32,0,32,10,54,2,0,12,6,11,32,5,69,13,0,32,9,33,12,32,5,33,8,12,1,11,32,33,65,1,113,13,3,65,0,33,34,32,17,33,12,32,28,33,8,32,29,33,4,32,30,33,6,32,31,33,10,65,0,33,31,65,0,33,30,65,0,33,29,65,0,33,28,65,0,33,17,65,0,33,33,11,32,8,13,0,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,12,1,11,32,0,32,17,54,2,20,32,0,32,28,54,2,16,32,0,32,34,54,2,12,32,0,32,29,54,2,8,32,0,32,30,54,2,4,32,0,32,31,54,2,0,11,32,3,65,192,1,106,36,0,11,201,1,2,6,127,1,126,35,0,65,32,107,34,2,36,0,32,0,40,2,0,33,4,32,0,45,0,0,65,1,113,69,4,64,32,4,40,2,36,33,3,11,32,1,40,2,0,33,6,3,64,2,64,32,3,65,0,71,33,5,32,3,69,13,0,32,2,32,4,32,4,40,2,36,65,3,116,107,32,3,65,1,107,34,3,65,3,116,106,41,2,0,34,8,55,3,24,32,8,167,34,0,65,1,113,4,127,32,8,66,56,136,167,32,8,66,48,136,167,65,255,1,113,106,5,32,0,40,2,16,32,0,40,2,4,106,11,69,34,7,32,0,32,6,71,113,69,4,64,32,7,33,5,12,1,11,32,2,32,2,41,3,24,55,3,16,32,2,32,1,41,2,0,55,3,8,32,2,65,16,106,32,2,65,8,106,16,56,69,13,1,11,11,32,2,65,32,106,36,0,32,5,11,203,6,2,23,127,1,126,32,1,40,2,20,33,17,32,1,40,2,16,33,6,32,1,40,2,8,33,7,32,1,40,2,4,33,8,32,1,40,2,0,33,4,2,64,3,64,32,27,66,32,136,167,33,20,32,27,167,33,21,3,64,65,0,33,1,65,0,33,9,65,0,33,10,65,0,33,14,65,0,33,12,2,127,65,0,32,6,40,2,0,34,11,65,1,113,13,0,26,32,11,40,2,36,69,4,64,65,0,12,1,11,32,11,47,1,66,34,5,4,64,32,17,40,2,8,34,9,40,2,84,32,9,47,1,36,32,5,108,65,1,116,106,33,14,11,32,8,33,9,32,7,33,10,32,11,33,12,32,4,11,33,5,65,0,33,11,3,64,2,64,32,12,69,13,0,32,1,32,12,65,36,106,40,2,0,34,6,70,13,0,3,64,65,0,33,15,2,127,32,1,65,3,116,65,0,32,12,32,6,65,3,116,107,32,12,65,1,113,27,106,34,6,40,0,0,34,4,65,1,113,34,8,4,64,32,4,65,3,118,65,1,113,12,1,11,32,4,47,1,44,65,2,118,65,1,113,11,69,4,64,32,14,4,127,32,14,32,11,65,1,116,106,47,1,0,5,65,0,11,33,15,32,11,65,1,106,33,11,11,2,127,32,1,69,4,64,32,5,33,4,32,10,33,7,32,9,12,1,11,2,127,32,8,4,64,32,6,45,0,5,65,15,113,33,8,32,6,45,0,4,33,7,32,6,45,0,6,12,1,11,32,4,40,2,12,33,7,32,4,40,2,8,33,8,32,4,40,2,4,11,33,4,65,0,32,10,32,8,27,32,7,106,33,7,32,4,32,5,106,33,4,32,8,32,9,106,11,33,8,32,0,32,17,54,2,20,32,0,32,6,54,2,16,32,0,32,15,54,2,12,32,0,32,7,54,2,8,32,0,32,8,54,2,4,32,0,32,4,54,2,0,2,127,32,6,40,0,0,34,5,65,1,113,4,64,32,6,45,0,7,34,5,33,10,32,7,33,16,32,8,12,1,11,65,0,32,7,32,5,40,2,20,34,9,27,33,16,32,5,40,2,24,33,10,32,5,40,2,16,33,5,32,8,32,9,106,11,33,9,32,1,65,1,106,33,1,32,10,32,16,106,33,10,32,4,32,5,106,33,5,2,64,2,127,32,6,41,2,0,34,27,167,34,13,65,1,113,34,19,4,64,32,27,66,56,136,167,12,1,11,32,13,40,2,16,11,32,4,106,32,2,77,13,0,2,64,32,3,4,64,32,19,4,127,32,13,65,1,118,65,1,113,5,32,13,47,1,44,65,1,113,11,32,15,114,69,13,1,12,8,11,2,64,32,15,65,254,255,3,107,14,2,1,8,0,11,32,15,69,4,64,32,19,4,64,32,13,65,2,113,69,13,2,32,13,65,2,118,65,1,113,69,13,2,12,9,11,32,13,47,1,44,34,16,65,1,113,69,13,1,32,16,65,1,118,65,1,113,69,13,1,12,8,11,32,17,40,2,8,40,2,72,32,15,65,3,108,106,45,0,1,65,1,113,13,7,11,32,19,13,0,32,13,40,2,36,34,16,69,13,0,32,13,40,2,48,69,13,0,32,1,32,16,79,13,4,32,9,173,32,10,173,66,32,134,132,33,27,65,1,33,18,32,12,33,22,32,5,33,23,32,1,33,24,32,11,33,25,32,14,33,26,12,5,11,32,1,32,12,40,2,36,34,6,71,13,0,11,11,32,18,33,7,65,0,33,18,32,23,33,5,32,21,33,9,32,20,33,10,32,24,33,1,32,25,33,11,32,26,33,14,32,22,33,12,32,7,13,0,11,11,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,11,11,230,6,1,16,127,32,2,32,3,75,4,64,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,15,11,32,1,65,8,106,40,2,0,33,8,32,1,65,16,106,40,2,0,33,5,32,1,40,2,20,33,19,32,1,40,2,4,33,11,32,1,40,2,0,33,9,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,32,0,32,1,41,2,0,55,2,0,2,64,32,5,40,2,0,34,1,65,1,113,13,0,3,64,32,1,40,2,36,69,13,1,32,1,47,1,66,34,12,4,127,32,19,40,2,8,34,5,40,2,84,32,5,47,1,36,32,12,108,65,1,116,106,5,65,0,11,33,18,32,1,40,2,36,34,20,69,13,1,2,127,32,1,32,20,65,3,116,107,34,12,40,0,0,34,1,65,1,113,34,5,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,7,69,33,14,65,0,33,10,2,64,32,7,13,0,32,18,69,13,0,32,18,47,1,0,33,10,65,1,33,14,11,2,127,32,5,69,4,64,65,0,32,8,32,1,40,2,20,34,5,27,33,13,32,1,40,2,24,33,6,32,1,40,2,16,33,7,32,5,32,11,106,12,1,11,32,12,45,0,7,34,7,33,6,32,8,33,13,32,11,11,33,5,2,64,2,64,32,7,32,9,106,34,15,32,3,73,13,0,32,7,69,4,64,32,12,33,6,12,2,11,32,2,32,15,79,13,0,32,12,33,6,12,1,11,65,1,33,7,32,20,65,1,70,13,2,32,6,32,13,106,33,8,3,64,65,0,33,10,2,127,32,12,32,7,65,3,116,106,34,6,40,0,0,34,1,65,1,113,34,16,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,18,4,127,32,18,32,14,65,1,116,106,47,1,0,5,65,0,11,33,10,32,14,65,1,106,33,14,11,2,127,32,7,69,4,64,32,5,33,11,32,15,12,1,11,2,127,32,16,4,64,32,6,45,0,5,65,15,113,33,9,32,6,45,0,6,33,17,32,6,45,0,4,12,1,11,32,1,40,2,8,33,9,32,1,40,2,4,33,17,32,1,40,2,12,11,65,0,32,8,32,9,27,106,33,8,32,5,32,9,106,33,11,32,15,32,17,106,11,33,9,2,127,32,16,4,64,32,6,45,0,7,34,13,33,17,32,8,33,16,32,11,12,1,11,65,0,32,8,32,1,40,2,20,34,5,27,33,16,32,1,40,2,24,33,17,32,1,40,2,16,33,13,32,5,32,11,106,11,33,5,32,3,32,9,32,13,106,34,15,77,4,64,32,13,69,13,2,32,2,32,15,73,13,2,11,32,16,32,17,106,33,8,32,7,65,1,106,34,7,32,20,71,13,0,11,12,2,11,32,2,32,9,73,13,1,2,64,2,64,32,4,4,64,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,10,114,13,1,12,2,11,2,64,32,10,65,254,255,3,107,14,2,2,1,0,11,2,64,32,10,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,13,2,12,3,11,32,19,40,2,8,40,2,72,32,10,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,1,47,1,44,34,1,65,1,113,69,13,1,32,1,65,1,118,65,1,113,69,13,1,11,32,0,32,19,54,2,20,32,0,32,6,54,2,16,32,0,32,10,54,2,12,32,0,32,8,54,2,8,32,0,32,11,54,2,4,32,0,32,9,54,2,0,11,32,6,40,2,0,34,1,65,1,113,69,13,0,11,11,11,228,7,1,15,127,2,64,32,2,32,4,77,4,64,32,2,32,4,71,13,1,32,3,32,5,77,13,1,11,32,0,66,0,55,2,0,32,0,66,0,55,2,16,32,0,66,0,55,2,8,15,11,32,1,65,8,106,40,2,0,33,10,32,1,65,16,106,40,2,0,33,7,32,1,40,2,20,33,20,32,1,40,2,4,33,8,32,1,40,2,0,33,14,32,0,32,1,41,2,16,55,2,16,32,0,32,1,41,2,8,55,2,8,32,0,32,1,41,2,0,55,2,0,2,64,32,7,40,2,0,34,1,65,1,113,13,0,3,64,32,1,40,2,36,69,13,1,32,1,47,1,66,34,15,4,127,32,20,40,2,8,34,7,40,2,84,32,7,47,1,36,32,15,108,65,1,116,106,5,65,0,11,33,19,32,1,40,2,36,34,21,69,13,1,2,127,32,1,32,21,65,3,116,107,34,16,40,0,0,34,1,65,1,113,34,7,69,4,64,32,1,47,1,44,65,2,118,65,1,113,12,1,11,32,1,65,3,118,65,1,113,11,34,11,69,33,17,65,0,33,12,2,64,32,11,13,0,32,19,69,13,0,32,19,47,1,0,33,12,65,1,33,17,11,2,127,32,7,69,4,64,65,0,32,10,32,1,40,2,20,34,7,27,33,11,32,1,40,2,24,33,9,32,1,40,2,16,33,13,32,7,32,8,106,12,1,11,32,16,45,0,7,34,13,33,9,32,10,33,11,32,8,11,33,7,32,9,32,11,106,33,9,2,64,2,64,32,4,32,7,75,13,0,32,4,32,7,70,32,5,32,9,75,113,13,0,32,7,32,8,70,32,9,32,10,70,113,69,4,64,32,2,32,7,71,13,2,32,3,32,9,79,13,1,12,2,11,32,2,32,8,71,13,1,32,3,32,10,77,13,1,11,65,1,33,11,32,21,65,1,70,13,2,32,13,32,14,106,33,14,3,64,65,0,33,12,2,127,32,16,32,11,65,3,116,106,34,15,40,0,0,34,1,65,1,113,34,13,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,19,4,127,32,19,32,17,65,1,116,106,47,1,0,5,65,0,11,33,12,32,17,65,1,106,33,17,11,2,127,32,11,69,4,64,32,9,33,10,32,7,12,1,11,2,127,32,13,4,64,32,15,45,0,5,65,15,113,33,8,32,15,45,0,6,33,18,32,15,45,0,4,12,1,11,32,1,40,2,8,33,8,32,1,40,2,4,33,18,32,1,40,2,12,11,65,0,32,9,32,8,27,106,33,10,32,14,32,18,106,33,14,32,7,32,8,106,11,33,8,2,127,32,13,4,64,32,15,45,0,7,34,18,33,9,32,10,33,13,32,8,12,1,11,65,0,32,10,32,1,40,2,20,34,7,27,33,13,32,1,40,2,24,33,9,32,1,40,2,16,33,18,32,7,32,8,106,11,33,7,32,9,32,13,106,33,9,2,64,32,4,32,7,75,13,0,32,4,32,7,70,32,5,32,9,75,113,13,0,2,64,2,64,32,7,32,8,71,13,0,32,9,32,10,71,13,0,32,2,32,8,71,13,1,32,3,32,10,77,13,1,12,2,11,32,2,32,7,71,13,0,32,3,32,9,79,13,1,11,32,15,33,16,12,2,11,32,14,32,18,106,33,14,32,11,65,1,106,34,11,32,21,71,13,0,11,12,2,11,32,2,32,8,73,13,1,32,2,32,8,70,32,3,32,10,73,113,13,1,2,64,2,64,32,6,4,64,32,1,65,1,113,4,127,32,1,65,1,118,65,1,113,5,32,1,47,1,44,65,1,113,11,32,12,114,13,1,12,2,11,2,64,32,12,65,254,255,3,107,14,2,2,1,0,11,2,64,32,12,69,4,64,32,1,65,1,113,69,13,1,32,1,65,2,113,69,13,3,32,1,65,2,118,65,1,113,13,2,12,3,11,32,20,40,2,8,40,2,72,32,12,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,1,47,1,44,34,1,65,1,113,69,13,1,32,1,65,1,118,65,1,113,69,13,1,11,32,0,32,20,54,2,20,32,0,32,16,54,2,16,32,0,32,12,54,2,12,32,0,32,10,54,2,8,32,0,32,8,54,2,4,32,0,32,14,54,2,0,11,32,16,40,2,0,34,1,65,1,113,69,13,0,11,11,11,209,5,2,7,127,1,126,2,64,32,1,45,0,0,65,1,113,13,0,32,0,65,0,54,2,16,32,1,40,2,0,34,2,40,2,0,26,32,2,32,2,40,2,0,34,2,65,1,107,54,2,0,32,2,65,1,70,4,64,32,0,40,2,12,33,2,32,0,32,0,40,2,16,34,3,65,1,106,34,4,32,0,40,2,20,34,5,75,4,127,65,8,32,5,65,1,116,34,3,32,4,32,3,32,4,75,27,34,3,32,3,65,8,77,27,34,4,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,0,32,4,54,2,20,32,0,32,2,54,2,12,32,0,40,2,16,34,3,65,1,106,5,32,4,11,54,2,16,32,2,32,3,65,3,116,106,32,1,41,2,0,55,2,0,11,32,0,40,2,16,34,1,69,13,0,3,64,32,0,32,1,65,1,107,34,1,54,2,16,2,64,32,0,40,2,12,32,1,65,3,116,106,40,2,0,34,4,40,2,36,34,2,4,64,65,0,33,1,65,0,32,4,32,2,65,3,116,107,34,6,32,4,65,1,113,27,33,7,3,64,2,64,32,6,32,1,65,3,116,106,41,2,0,34,9,167,34,2,65,1,113,13,0,32,2,32,2,40,2,0,34,2,65,1,107,54,2,0,32,2,65,1,71,13,0,32,0,40,2,12,33,2,32,0,32,0,40,2,16,34,3,65,1,106,34,5,32,0,40,2,20,34,8,75,4,127,65,8,32,8,65,1,116,34,3,32,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,5,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,20,32,0,32,2,54,2,12,32,0,40,2,16,34,3,65,1,106,5,32,5,11,54,2,16,32,2,32,3,65,3,116,106,32,9,55,2,0,11,32,1,65,1,106,34,1,32,4,40,2,36,73,13,0,11,32,7,35,6,40,2,0,17,2,0,12,1,11,2,64,32,4,45,0,44,65,192,0,113,69,13,0,32,4,40,2,72,65,25,73,13,0,32,4,40,2,48,35,6,40,2,0,17,2,0,11,2,64,32,0,40,2,8,34,2,69,13,0,32,0,40,2,4,34,5,65,1,106,34,1,65,32,75,13,0,32,0,40,2,0,33,3,32,0,32,1,32,2,75,4,127,65,8,32,2,65,1,116,34,2,32,1,32,1,32,2,73,27,34,1,32,1,65,8,77,27,34,2,65,3,116,33,1,2,127,32,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,1,11,54,2,4,32,3,32,5,65,3,116,106,34,1,65,0,54,2,4,32,1,32,4,54,2,0,12,1,11,32,4,35,6,40,2,0,17,2,0,11,32,0,40,2,16,34,1,13,0,11,11,11,244,2,1,7,127,35,0,65,16,107,34,3,36,0,32,0,40,2,48,34,1,4,64,32,1,32,1,40,2,148,1,65,1,106,54,2,148,1,11,32,0,40,2,4,34,1,4,64,32,0,65,36,106,33,6,3,64,32,0,40,2,0,32,4,65,5,116,106,34,2,40,2,0,4,64,32,0,40,2,52,33,5,32,2,40,2,12,4,64,32,3,32,2,41,2,12,55,3,8,32,5,32,3,65,8,106,16,60,11,32,2,40,2,20,4,64,32,3,32,2,41,2,20,55,3,0,32,5,32,3,16,60,11,32,2,40,2,4,34,1,4,64,32,1,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,1,65,0,54,2,8,32,1,66,0,55,2,0,32,2,40,2,4,5,32,1,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,6,32,5,16,65,32,0,40,2,4,33,1,11,32,4,65,1,106,34,4,32,1,73,13,0,11,11,32,0,65,0,54,2,4,32,0,40,2,0,33,1,32,0,32,0,40,2,8,4,127,65,0,5,2,127,32,1,4,64,32,1,65,128,2,35,4,40,2,0,17,1,0,12,1,11,65,128,2,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,11,34,4,65,1,106,54,2,4,32,0,40,2,48,33,2,32,1,32,4,65,5,116,106,34,0,66,0,55,2,4,32,0,32,2,54,2,0,32,0,66,0,55,2,12,32,0,66,0,55,2,20,32,0,65,0,54,2,28,32,3,65,16,106,36,0,11,235,7,1,10,127,35,0,65,32,107,34,4,36,0,32,0,4,64,32,0,16,63,32,0,65,0,54,2,160,9,32,0,40,2,132,9,33,1,35,0,65,16,107,34,6,36,0,32,1,40,2,12,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,20,32,1,66,0,55,2,12,11,32,1,40,2,24,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,32,32,1,66,0,55,2,24,11,32,1,40,2,48,32,1,65,36,106,34,8,32,1,40,2,52,16,65,32,1,40,2,4,34,3,4,64,3,64,32,1,40,2,0,32,5,65,5,116,106,34,2,40,2,0,4,64,32,1,40,2,52,33,7,32,2,40,2,12,4,64,32,6,32,2,41,2,12,55,3,8,32,7,32,6,65,8,106,16,60,11,32,2,40,2,20,4,64,32,6,32,2,41,2,20,55,3,0,32,7,32,6,16,60,11,32,2,40,2,4,34,3,4,64,32,3,40,2,0,34,10,4,127,32,10,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,2,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,8,32,7,16,65,32,1,40,2,4,33,3,11,32,5,65,1,106,34,5,32,3,73,13,0,11,11,65,0,33,3,32,1,65,0,54,2,4,2,64,32,1,40,2,36,34,5,69,13,0,32,1,40,2,40,4,64,3,64,32,1,40,2,36,32,3,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,3,65,1,106,34,3,32,1,40,2,40,73,13,0,11,32,8,40,2,0,34,5,69,13,1,11,32,5,35,6,40,2,0,17,2,0,32,1,65,0,54,2,44,32,1,66,0,55,2,36,11,32,1,40,2,0,34,2,4,64,32,2,35,6,40,2,0,17,2,0,32,1,65,0,54,2,8,32,1,66,0,55,2,0,11,32,1,35,6,40,2,0,17,2,0,32,6,65,16,106,36,0,32,0,40,2,168,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,176,9,32,0,66,0,55,2,168,9,11,32,0,40,2,188,10,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,196,10,32,0,66,0,55,2,188,10,11,32,0,40,2,180,10,4,64,32,4,32,0,65,180,10,106,41,2,0,55,3,24,32,0,65,136,9,106,32,4,65,24,106,16,60,32,0,66,0,55,2,180,10,11,32,0,40,2,68,35,6,40,2,0,17,2,0,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,4,32,1,41,2,0,55,3,16,32,0,65,136,9,106,32,4,65,16,106,16,60,11,32,0,40,2,232,9,4,64,32,4,32,0,65,232,9,106,41,2,0,55,3,8,32,0,65,136,9,106,32,4,65,8,106,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,2,64,32,0,40,2,136,9,34,1,69,13,0,32,0,40,2,140,9,4,64,3,64,32,0,40,2,136,9,32,9,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,9,65,1,106,34,9,32,0,40,2,140,9,73,13,0,11,32,0,40,2,136,9,34,1,69,13,1,11,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,144,9,32,0,66,0,55,2,136,9,11,32,0,40,2,148,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,156,9,32,0,66,0,55,2,148,9,11,32,0,40,2,244,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,252,9,32,0,66,0,55,2,244,9,11,32,0,40,2,188,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,196,9,32,0,66,0,55,2,188,9,11,32,0,40,2,200,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,208,9,32,0,66,0,55,2,200,9,11,32,0,40,2,212,9,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,220,9,32,0,66,0,55,2,212,9,11,32,0,35,6,40,2,0,17,2,0,11,32,4,65,32,106,36,0,11,217,4,2,7,127,1,126,35,0,65,32,107,34,2,36,0,2,64,32,0,40,2,160,9,34,1,69,13,0,32,0,40,2,136,10,34,3,69,13,0,32,1,40,2,116,34,1,69,13,0,32,3,32,1,17,2,0,11,32,0,65,0,54,2,136,10,32,0,40,2,180,10,4,64,32,2,32,0,65,180,10,106,41,2,0,55,3,24,32,0,65,136,9,106,32,2,65,24,106,16,60,32,0,66,0,55,2,180,10,11,32,0,66,0,55,2,128,10,32,0,65,0,54,2,248,9,32,0,40,2,32,4,64,65,0,33,1,32,0,65,0,54,2,124,32,0,65,0,58,0,128,1,32,0,66,0,55,2,36,32,0,65,0,54,2,32,32,0,40,2,68,33,5,2,64,32,0,40,2,100,34,3,4,64,3,64,2,64,32,5,32,1,65,24,108,106,34,6,40,2,20,34,7,69,13,0,32,7,32,6,40,2,16,34,4,77,13,0,32,6,41,2,0,33,8,32,0,32,1,54,2,104,32,0,32,8,55,2,36,32,0,32,4,54,2,32,65,0,33,1,32,0,40,2,72,69,13,3,32,0,40,2,108,34,3,32,4,77,4,64,32,4,32,0,40,2,112,32,3,106,73,13,4,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,3,11,32,1,65,1,106,34,1,32,3,71,13,0,11,11,32,0,32,3,54,2,104,32,5,32,3,65,24,108,106,34,1,65,4,107,40,2,0,33,3,32,1,65,16,107,41,2,0,33,8,32,0,65,0,54,2,72,32,0,32,8,55,2,36,32,0,32,3,54,2,32,32,0,66,0,55,2,108,65,1,33,1,11,32,0,65,0,54,2,0,32,0,32,1,54,2,116,11,32,0,40,2,132,9,16,61,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,2,32,1,41,2,0,55,3,16,32,0,65,136,9,106,32,2,65,16,106,16,60,11,32,0,40,2,232,9,4,64,32,2,32,0,65,232,9,106,41,2,0,55,3,8,32,0,65,136,9,106,32,2,65,8,106,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,32,0,40,2,180,9,4,64,32,2,32,0,65,180,9,106,41,2,0,55,3,0,32,0,65,136,9,106,32,2,16,60,32,0,66,0,55,2,180,9,11,32,0,65,0,58,0,226,10,32,0,65,0,54,2,168,10,32,0,65,0,59,1,224,10,32,0,66,0,55,3,208,10,32,0,66,0,55,3,200,10,32,0,65,216,10,106,65,0,54,2,0,32,2,65,32,106,36,0,11,51,1,1,127,32,0,16,63,32,0,65,0,54,2,160,9,2,64,32,1,4,64,32,1,40,2,0,65,16,107,65,125,73,13,1,11,32,0,32,1,54,2,160,9,65,1,33,2,11,32,2,11,248,2,1,5,127,35,0,65,32,107,34,3,36,0,3,64,2,64,32,0,32,0,40,2,148,1,65,1,107,34,5,54,2,148,1,32,5,13,0,32,0,47,1,144,1,34,5,4,127,32,5,65,1,107,34,5,4,64,32,0,65,16,106,33,6,3,64,32,3,32,6,32,5,65,4,116,106,34,4,41,2,8,55,3,24,32,3,32,4,41,2,0,55,3,16,32,3,40,2,20,4,64,32,3,32,3,41,2,20,55,3,8,32,2,32,3,65,8,106,16,60,11,32,3,40,2,16,32,1,32,2,16,65,32,5,65,1,107,34,5,13,0,11,11,32,3,32,0,41,2,24,55,3,24,32,3,32,0,41,2,16,55,3,16,32,3,40,2,20,4,64,32,3,32,3,41,2,20,55,3,0,32,2,32,3,16,60,11,32,0,40,2,16,5,65,0,11,33,5,2,64,32,1,40,2,4,34,4,65,49,77,4,64,32,1,40,2,0,33,6,32,1,40,2,8,34,7,32,4,77,4,64,65,8,32,7,65,1,116,34,7,32,4,65,1,106,34,4,32,4,32,7,73,27,34,4,32,4,65,8,77,27,34,7,65,2,116,33,4,2,127,32,6,4,64,32,6,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,6,32,1,32,7,54,2,8,32,1,32,6,54,2,0,32,1,40,2,4,33,4,11,32,1,32,4,65,1,106,54,2,4,32,6,32,4,65,2,116,106,32,0,54,2,0,12,1,11,32,0,35,6,40,2,0,17,2,0,11,32,5,34,0,13,1,11,11,32,3,65,32,106,36,0,11,8,0,32,0,41,3,160,10,11,10,0,32,0,32,1,55,3,160,10,11,138,3,2,5,127,1,126,35,1,65,252,11,106,33,5,65,1,33,4,2,64,2,64,32,1,69,13,0,32,2,69,13,0,65,0,33,5,3,64,65,0,33,4,32,5,32,1,32,3,65,24,108,106,34,6,40,2,16,34,7,75,13,2,32,6,40,2,20,34,5,32,7,73,13,2,32,3,65,1,106,34,3,32,2,71,13,0,11,32,2,33,4,32,1,33,5,11,32,0,32,0,40,2,68,32,4,65,24,108,34,1,35,4,40,2,0,17,1,0,34,2,54,2,68,32,1,4,64,32,2,32,5,32,1,252,10,0,0,11,32,0,32,4,54,2,100,32,0,40,2,68,33,5,32,0,40,0,32,33,1,65,0,33,3,2,64,3,64,2,64,32,5,32,3,65,24,108,106,34,6,40,2,20,34,7,32,1,77,13,0,32,7,32,6,40,2,16,34,2,77,13,0,32,1,32,2,77,4,64,32,0,32,6,41,2,0,55,2,36,32,0,32,2,54,2,32,32,2,33,1,11,32,0,32,3,54,2,104,65,0,33,3,32,0,40,2,72,69,13,2,32,0,40,2,108,34,2,32,1,77,4,64,32,1,32,0,40,2,112,32,2,106,73,13,3,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,2,11,32,3,65,1,106,34,3,32,4,71,13,0,11,32,0,32,4,54,2,104,32,5,32,4,65,24,108,106,34,1,65,4,107,40,2,0,33,2,32,1,65,16,107,41,2,0,33,8,32,0,65,0,54,2,72,32,0,32,8,55,2,36,32,0,32,2,54,2,32,32,0,66,0,55,2,108,65,1,33,3,11,32,0,65,0,54,2,0,32,0,32,3,54,2,116,65,1,33,4,11,32,4,11,248,3,1,5,127,35,1,65,171,10,106,33,5,2,64,2,64,2,64,32,3,2,127,32,0,40,0,0,34,6,65,1,113,4,64,32,6,65,128,254,3,113,65,8,118,12,1,11,32,6,47,1,40,11,32,3,27,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,5,12,1,11,65,0,33,5,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,5,11,3,64,2,64,2,64,2,64,2,64,2,64,2,64,32,5,45,0,0,34,3,14,35,5,3,3,3,3,3,3,3,3,1,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,11,35,1,65,139,8,106,32,4,16,244,1,32,5,65,1,106,33,5,12,5,11,35,1,65,154,3,106,32,4,16,244,1,32,5,65,1,106,33,5,12,4,11,32,3,65,220,0,70,13,1,11,32,3,192,32,4,16,241,1,32,5,65,1,106,33,5,12,2,11,65,220,0,32,4,16,241,1,32,5,44,0,0,32,4,16,241,1,32,5,65,1,106,33,5,12,1,11,11,2,64,32,0,40,0,0,34,3,65,1,113,13,0,32,3,40,2,36,34,9,69,13,0,32,3,47,1,66,32,2,47,1,36,108,33,3,65,0,33,6,3,64,65,0,33,7,2,64,2,127,32,0,45,0,0,65,1,113,4,127,65,0,5,32,0,40,2,0,34,5,32,5,40,2,36,65,3,116,107,11,32,6,65,3,116,106,34,5,40,0,0,34,8,65,1,113,4,64,32,8,65,3,118,65,1,113,12,1,11,32,8,47,1,44,65,2,118,65,1,113,11,13,0,32,3,69,13,0,32,2,40,2,84,32,3,65,1,116,106,47,1,0,33,7,32,3,65,1,106,33,3,11,32,5,32,1,32,2,32,7,32,4,16,69,2,127,32,5,40,0,0,34,7,65,1,113,4,64,32,5,45,0,6,32,5,45,0,7,106,12,1,11,32,7,40,2,16,32,7,40,2,4,106,11,32,1,106,33,1,32,6,65,1,106,34,6,32,9,71,13,0,11,11,11,173,9,1,14,127,35,0,65,48,107,34,6,36,0,32,0,40,2,32,65,31,77,4,64,2,127,32,0,40,2,24,34,3,4,64,32,3,65,128,6,35,4,40,2,0,17,1,0,12,1,11,65,128,6,35,5,40,2,0,17,0,0,11,33,3,32,0,65,32,54,2,32,32,0,32,3,54,2,24,11,65,0,33,3,32,0,65,0,54,2,28,35,8,33,5,2,64,32,0,40,2,4,34,4,69,13,0,32,2,32,5,40,2,0,32,2,27,33,10,3,64,32,0,40,2,0,32,3,65,5,116,106,34,7,40,2,28,65,2,71,4,64,32,0,40,2,24,33,4,32,0,32,0,40,2,28,34,2,65,1,106,34,5,32,0,40,2,32,34,8,75,4,127,65,8,32,8,65,1,116,34,2,32,5,32,2,32,5,75,27,34,2,32,2,65,8,77,27,34,5,65,24,108,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,32,32,0,32,4,54,2,24,32,0,40,2,28,34,2,65,1,106,5,32,5,11,54,2,28,32,6,65,0,54,2,40,32,6,66,0,55,3,32,32,6,66,0,55,3,24,32,4,32,2,65,24,108,106,34,2,32,7,40,2,0,54,2,0,32,2,32,6,40,2,40,54,2,20,32,2,32,6,41,3,32,55,2,12,32,2,32,6,41,3,24,55,2,4,32,0,40,2,4,33,4,11,32,3,65,1,106,34,3,32,4,73,13,0,11,32,0,40,2,28,34,4,69,13,0,65,1,33,3,65,0,33,2,65,0,33,5,3,64,2,64,65,0,33,11,65,1,33,7,32,3,69,13,0,3,64,32,11,65,24,108,34,13,32,0,40,2,24,106,34,3,40,2,0,33,8,32,6,32,3,40,2,20,54,2,16,32,6,32,3,41,2,12,55,3,8,32,6,32,3,41,2,4,55,3,0,65,0,33,3,2,64,32,2,4,64,3,64,32,5,32,3,65,2,116,106,40,2,0,32,8,70,13,2,32,3,65,1,106,34,3,32,2,71,13,0,11,11,32,8,69,13,0,32,8,47,1,144,1,4,64,32,8,65,16,106,33,14,65,0,33,7,3,64,32,14,32,7,65,4,116,106,34,3,40,2,0,33,15,2,64,32,3,40,2,4,34,4,69,13,0,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,4,65,128,254,3,113,65,8,118,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,1,40,2,8,32,1,40,2,4,106,32,4,77,13,0,32,1,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,3,64,2,64,2,64,2,64,2,64,2,64,32,3,45,0,0,34,4,14,35,6,4,4,4,4,4,4,4,4,3,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,0,11,32,4,65,220,0,71,13,3,11,65,220,0,32,10,16,241,1,32,3,44,0,0,32,10,16,241,1,32,3,65,1,106,33,3,12,3,11,35,1,65,139,8,106,32,10,16,244,1,32,3,65,1,106,33,3,12,2,11,35,1,65,154,3,106,32,10,16,244,1,32,3,65,1,106,33,3,12,1,11,32,4,192,32,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,127,32,7,69,4,64,32,0,40,2,24,32,13,106,12,1,11,32,0,40,2,24,33,3,32,0,32,0,40,2,28,34,9,65,1,106,34,4,32,0,40,2,32,34,16,75,4,127,65,8,32,16,65,1,116,34,9,32,4,32,4,32,9,73,27,34,4,32,4,65,8,77,27,34,9,65,24,108,33,4,2,127,32,3,4,64,32,3,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,3,32,0,32,9,54,2,32,32,0,32,3,54,2,24,32,0,40,2,28,34,9,65,1,106,5,32,4,11,54,2,28,32,3,32,9,65,24,108,106,34,3,32,8,54,2,0,32,3,32,6,40,2,16,54,2,20,32,3,32,6,41,3,8,55,2,12,32,3,32,6,41,3,0,55,2,4,32,0,40,2,24,32,0,40,2,28,65,24,108,106,65,24,107,11,32,15,54,2,0,32,7,65,1,106,34,7,32,8,47,1,144,1,73,13,0,11,11,2,64,32,2,65,1,106,34,3,32,12,77,13,0,65,8,32,12,65,1,116,34,4,32,3,32,3,32,4,73,27,34,4,32,4,65,8,77,27,34,12,65,2,116,33,4,32,5,4,64,32,5,32,4,35,4,40,2,0,17,1,0,33,5,12,1,11,32,4,35,5,40,2,0,17,0,0,33,5,11,32,5,32,2,65,2,116,106,32,8,54,2,0,32,0,40,2,28,33,4,65,0,33,7,32,3,33,2,11,32,11,65,1,106,34,11,32,4,73,13,0,11,32,4,33,3,32,7,65,1,113,69,13,1,11,11,32,5,69,13,0,32,5,35,6,40,2,0,17,2,0,11,32,6,65,48,106,36,0,11,232,1,1,6,127,35,0,65,16,107,34,4,36,0,32,0,40,2,0,34,2,32,1,65,5,116,34,6,106,34,3,40,2,0,4,64,32,0,40,2,52,33,5,32,3,40,2,12,4,64,32,4,32,3,41,2,12,55,3,8,32,5,32,4,65,8,106,16,60,11,32,3,40,2,20,4,64,32,4,32,3,41,2,20,55,3,0,32,5,32,4,16,60,11,32,3,40,2,4,34,2,4,64,32,2,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,3,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,3,40,2,0,32,0,65,36,106,32,5,16,65,32,0,40,2,0,33,2,11,32,0,40,2,4,32,1,65,127,115,106,65,5,116,34,1,4,64,32,2,32,6,106,34,2,32,2,65,32,106,32,1,252,10,0,0,11,32,0,32,0,40,2,4,65,1,107,54,2,4,32,4,65,16,106,36,0,11,149,10,2,19,127,1,126,35,0,65,32,107,34,11,36,0,2,64,32,1,40,2,0,34,6,32,0,70,13,0,32,0,47,1,144,1,34,14,4,64,32,0,65,16,106,33,15,32,1,40,2,4,34,5,65,48,106,33,16,32,5,65,32,113,33,17,32,5,65,3,118,65,1,113,33,18,32,5,65,128,254,3,113,65,8,118,33,19,32,1,45,0,11,33,20,32,1,45,0,10,33,21,3,64,2,64,2,64,32,15,32,4,65,4,116,106,34,12,40,0,4,34,7,32,5,70,13,0,32,7,69,13,1,32,5,69,13,1,32,19,33,3,32,7,65,1,113,34,9,4,127,32,7,65,128,254,3,113,65,8,118,5,32,7,47,1,40,11,65,255,255,3,113,32,5,65,1,113,34,13,4,127,32,3,5,32,5,47,1,40,11,65,255,255,3,113,71,13,1,32,12,45,0,11,33,10,32,12,45,0,10,33,3,2,64,2,64,2,64,32,9,4,64,32,7,65,32,113,13,1,12,3,11,32,7,45,0,45,65,2,113,13,0,32,7,40,2,32,69,13,1,11,2,64,32,13,4,64,32,17,69,13,1,12,4,11,32,5,45,0,45,65,2,113,13,3,32,5,40,2,32,13,3,11,32,9,13,1,11,32,7,40,2,4,33,3,11,32,21,33,8,32,13,4,127,32,8,5,32,5,40,2,4,11,32,3,71,13,1,32,20,33,3,32,9,4,127,32,10,5,32,7,40,2,16,11,32,13,4,127,32,3,5,32,5,40,2,16,11,71,13,1,65,0,33,3,65,0,33,10,32,9,4,127,65,0,5,32,7,40,2,36,11,32,13,4,127,65,0,5,32,5,40,2,36,11,71,13,1,32,18,33,3,32,9,4,127,32,7,65,3,118,65,1,113,5,32,7,47,1,44,65,2,118,65,1,113,11,32,13,4,127,32,3,5,32,5,47,1,44,65,2,118,65,1,113,11,71,13,1,35,1,33,3,35,1,33,8,2,127,32,3,65,148,12,106,32,9,13,0,26,35,1,65,148,12,106,32,7,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,7,65,48,106,32,7,40,2,36,27,11,34,3,40,2,24,33,9,2,64,2,127,32,8,65,148,12,106,32,13,13,0,26,35,1,65,148,12,106,32,5,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,16,32,5,40,2,36,27,11,34,10,40,2,24,34,8,65,25,79,4,64,32,8,32,9,71,13,3,32,3,40,2,0,33,3,32,10,40,2,0,33,10,12,1,11,32,8,32,9,71,13,2,11,32,3,32,10,32,8,16,248,1,13,1,11,32,6,32,12,40,2,0,34,3,70,4,64,65,0,33,3,2,127,65,0,32,5,65,1,113,13,0,26,65,0,32,5,40,2,36,69,13,0,26,32,5,40,2,60,11,33,4,2,64,32,7,65,1,113,13,0,32,7,40,2,36,69,13,0,32,7,40,2,60,33,3,11,32,3,32,4,78,13,4,32,5,65,1,113,69,4,64,32,5,32,5,40,2,0,65,1,106,54,2,0,32,5,40,2,0,26,32,1,40,2,0,33,6,11,32,11,32,12,41,2,4,55,3,8,32,2,32,11,65,8,106,16,60,32,12,32,1,41,2,4,34,22,55,2,4,32,6,40,2,160,1,33,2,65,0,33,4,2,64,32,22,167,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,60,33,4,11,32,0,32,2,32,4,106,54,2,160,1,12,4,11,32,3,47,1,0,32,6,47,1,0,71,13,0,32,3,40,2,4,32,6,40,2,4,71,13,0,32,3,40,2,152,1,32,6,40,2,152,1,71,13,0,32,6,47,1,144,1,4,64,32,6,65,16,106,33,1,65,0,33,4,3,64,32,12,40,2,0,33,3,32,11,32,1,32,4,65,4,116,106,34,8,41,2,8,55,3,24,32,11,32,8,41,2,0,55,3,16,32,3,32,11,65,16,106,32,2,16,72,32,4,65,1,106,34,4,32,6,47,1,144,1,73,13,0,11,11,32,6,40,2,160,1,33,4,32,5,4,64,65,0,33,2,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,2,11,32,2,32,4,106,33,4,11,32,4,32,0,40,2,160,1,76,13,3,32,0,32,4,54,2,160,1,12,3,11,32,4,65,1,106,34,4,32,14,71,13,0,11,32,14,65,8,70,13,1,11,32,6,4,64,32,6,32,6,40,2,148,1,65,1,106,54,2,148,1,11,32,6,40,2,160,1,33,2,32,6,40,2,156,1,33,3,32,0,32,14,65,1,106,59,1,144,1,32,0,32,14,65,4,116,106,34,8,32,1,41,2,8,55,2,24,32,8,32,1,41,2,0,55,2,16,32,1,40,2,4,34,4,4,64,32,4,65,1,113,69,4,64,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,32,1,45,0,4,33,4,11,2,64,32,4,65,1,113,69,4,64,65,0,33,4,65,0,33,6,32,1,40,2,4,34,1,40,2,36,34,8,4,64,32,1,40,2,56,33,6,11,32,6,32,1,47,1,44,65,1,113,106,32,1,47,1,40,65,254,255,3,70,106,33,6,32,8,69,13,1,32,1,40,2,60,33,4,12,1,11,32,4,65,1,118,65,1,113,33,6,65,0,33,4,11,32,3,32,6,106,33,3,32,2,32,4,106,33,2,11,32,0,40,2,156,1,32,3,73,4,64,32,0,32,3,54,2,156,1,11,32,2,32,0,40,2,160,1,76,13,0,32,0,32,2,54,2,160,1,11,32,11,65,32,106,36,0,11,135,11,1,23,127,35,0,65,16,107,34,15,36,0,32,0,40,2,132,9,34,7,40,2,4,34,18,32,1,75,4,64,65,1,32,2,32,2,65,1,77,27,33,22,32,2,65,1,106,33,23,32,18,33,17,32,1,33,8,3,64,32,7,40,2,0,33,12,2,64,32,8,32,18,75,4,64,32,12,32,8,65,5,116,106,33,13,32,18,33,3,3,64,2,64,32,12,32,3,65,5,116,106,34,9,40,2,28,13,0,32,13,40,2,28,13,0,32,9,40,2,0,34,10,47,1,0,34,20,32,13,40,2,0,34,5,47,1,0,71,13,0,32,10,40,2,4,32,5,40,2,4,71,13,0,32,10,40,2,152,1,32,5,40,2,152,1,71,13,0,35,1,33,11,32,13,40,0,12,33,6,2,127,32,11,65,148,12,106,32,9,40,0,12,34,4,69,13,0,26,35,1,65,148,12,106,32,4,65,1,113,13,0,26,35,1,65,148,12,106,32,4,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,4,65,48,106,32,4,40,2,36,27,11,33,4,35,1,33,11,32,4,40,2,24,33,14,2,64,2,127,32,11,65,148,12,106,32,6,69,13,0,26,35,1,65,148,12,106,32,6,65,1,113,13,0,26,35,1,65,148,12,106,32,6,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,6,65,48,106,32,6,40,2,36,27,11,34,11,40,2,24,34,6,65,25,79,4,64,32,6,32,14,71,13,2,32,4,40,2,0,33,4,32,11,40,2,0,33,11,12,1,11,32,6,32,14,71,13,1,11,32,4,32,11,32,6,16,248,1,13,0,32,5,47,1,144,1,4,127,65,0,33,3,3,64,32,7,40,2,52,33,4,32,9,40,2,0,33,17,32,15,32,5,32,3,65,4,116,106,34,5,41,2,24,55,3,8,32,15,32,5,41,2,16,55,3,0,32,17,32,15,32,4,16,72,32,3,65,1,106,34,3,32,13,40,2,0,34,5,47,1,144,1,73,13,0,11,32,9,40,2,0,34,10,47,1,0,5,32,20,11,69,4,64,32,9,32,10,40,2,156,1,54,2,8,11,32,7,32,8,16,71,12,3,11,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,12,32,8,65,5,116,106,40,2,0,47,1,0,33,13,32,0,65,0,54,2,172,9,32,23,33,3,2,127,2,64,32,2,34,4,4,127,32,3,5,65,1,33,4,32,0,40,2,160,9,40,2,12,11,65,255,255,3,113,34,20,32,4,77,13,0,65,0,33,11,32,22,33,9,3,64,2,64,32,9,65,253,255,3,75,13,0,2,64,2,64,32,0,40,2,160,9,34,7,40,2,24,34,3,32,13,77,4,64,32,7,40,2,44,32,7,40,2,48,32,13,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,14,69,4,64,65,0,33,3,12,3,11,32,3,65,2,106,33,5,65,0,33,10,3,64,32,5,65,4,106,33,3,32,5,47,1,2,34,12,4,127,32,3,32,12,65,1,116,106,33,6,65,0,33,4,3,64,32,9,32,3,47,1,0,70,13,4,32,3,65,2,106,33,3,32,4,65,1,106,34,4,32,12,71,13,0,11,32,6,5,32,3,11,33,5,65,0,33,3,32,10,65,1,106,34,10,32,14,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,13,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,3,12,1,11,32,5,47,1,0,33,3,11,32,7,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,3,45,0,0,34,14,69,13,0,32,3,65,8,106,33,24,65,0,33,6,3,64,32,24,32,6,65,3,116,106,34,3,46,1,4,33,10,2,64,2,64,2,64,32,3,45,0,0,14,4,0,1,2,0,2,11,32,10,65,128,2,113,69,32,10,65,1,115,113,32,11,114,33,11,12,1,11,32,3,45,0,1,34,7,69,13,0,32,3,47,1,6,33,25,32,3,47,1,2,33,12,32,0,40,2,168,9,33,4,65,0,33,3,32,0,40,2,172,9,34,5,4,64,3,64,32,12,32,4,32,3,65,4,116,106,34,21,47,1,4,70,4,64,32,21,40,2,0,32,7,70,13,3,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,0,32,5,65,1,106,34,3,32,0,40,2,176,9,34,21,75,4,127,65,8,32,21,65,1,116,34,5,32,3,32,3,32,5,73,27,34,3,32,3,65,8,77,27,34,5,65,4,116,33,3,2,127,32,4,4,64,32,4,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,176,9,32,0,32,4,54,2,168,9,32,0,40,2,172,9,34,5,65,1,106,5,32,3,11,54,2,172,9,32,4,32,5,65,4,116,106,34,3,65,0,59,1,14,32,3,32,25,59,1,12,32,3,32,10,54,2,8,32,3,65,0,59,1,6,32,3,32,12,59,1,4,32,3,32,7,54,2,0,11,32,6,65,1,106,34,6,32,14,71,13,0,11,11,32,20,32,9,65,1,106,34,9,65,255,255,3,113,71,13,0,11,65,0,33,4,2,64,32,0,40,2,172,9,69,4,64,65,127,33,6,12,1,11,3,64,32,0,32,8,32,0,40,2,168,9,32,4,65,4,116,106,34,3,47,1,4,32,3,40,2,0,32,3,40,2,8,32,3,47,1,12,65,1,65,0,16,82,33,6,32,4,65,1,106,34,3,33,4,32,3,32,0,40,2,172,9,73,13,0,11,11,65,1,32,11,65,1,113,13,1,26,32,6,65,127,70,13,0,32,19,65,5,75,13,0,32,0,40,2,132,9,32,6,32,8,16,83,12,2,11,32,2,4,64,32,0,40,2,132,9,32,8,16,71,11,32,16,11,33,3,32,17,32,8,65,1,106,32,1,32,8,70,27,33,8,32,3,33,16,11,32,19,65,1,106,33,19,32,8,32,0,40,2,132,9,34,7,40,2,4,34,17,73,13,0,11,11,32,15,65,16,106,36,0,32,16,65,1,113,11,172,2,1,8,127,32,1,40,2,16,34,6,32,0,40,2,4,75,4,64,65,1,15,11,32,1,40,2,0,34,4,47,1,0,33,8,32,0,40,2,0,34,3,40,2,4,34,5,33,2,2,64,3,64,32,2,69,13,1,32,3,40,2,0,32,2,65,1,107,34,2,65,20,108,106,34,7,40,2,12,34,9,32,6,73,13,1,32,6,32,9,71,13,0,32,7,47,1,16,32,8,71,13,0,11,65,0,15,11,32,5,65,1,106,34,2,32,3,40,2,8,34,7,75,4,64,65,8,32,7,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,34,4,65,20,108,33,2,2,127,32,3,40,2,0,34,5,4,64,32,5,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,2,32,3,32,4,54,2,8,32,3,32,2,54,2,0,32,1,40,2,0,33,4,32,0,40,2,0,34,3,40,2,4,34,5,65,1,106,33,2,11,32,3,32,2,54,2,4,32,4,40,2,12,33,1,32,3,40,2,0,32,5,65,20,108,106,34,0,32,4,41,2,4,55,2,0,32,0,65,0,59,1,18,32,0,32,8,59,1,16,32,0,32,6,54,2,12,32,0,32,1,54,2,8,65,0,11,131,21,2,19,127,1,126,35,0,65,48,107,34,13,36,0,32,1,65,0,54,2,28,32,1,65,0,54,2,16,32,1,40,2,0,33,8,32,13,65,0,58,0,46,32,13,65,0,59,1,44,32,8,32,2,65,5,116,106,40,2,0,33,12,2,64,32,5,65,0,72,4,64,12,1,11,32,5,65,255,255,255,255,1,113,65,247,255,255,255,1,70,13,0,32,5,65,9,106,34,8,65,255,255,255,255,1,113,33,10,32,8,65,3,116,35,5,40,2,0,17,0,0,33,9,32,1,40,2,28,33,6,11,32,1,40,2,24,33,7,32,1,32,6,65,1,106,34,8,32,1,40,2,32,34,11,75,4,127,65,8,32,11,65,1,116,34,6,32,8,32,6,32,8,75,27,34,8,32,8,65,8,77,27,34,6,65,24,108,33,8,2,127,32,7,4,64,32,7,32,8,35,4,40,2,0,17,1,0,12,1,11,32,8,35,5,40,2,0,17,0,0,11,33,7,32,1,32,6,54,2,32,32,1,32,7,54,2,24,32,1,40,2,28,34,6,65,1,106,5,32,8,11,54,2,28,32,7,32,6,65,24,108,106,34,8,65,1,58,0,20,32,8,65,0,54,2,16,32,8,32,10,54,2,12,32,8,65,0,54,2,8,32,8,32,9,54,2,4,32,8,32,12,54,2,0,32,8,32,13,45,0,46,58,0,23,32,8,32,13,47,1,44,59,0,21,32,1,40,2,28,34,20,4,64,32,2,65,5,116,33,23,3,64,32,17,65,24,108,34,21,32,1,40,2,24,106,34,11,40,2,0,33,14,32,4,32,11,32,3,17,1,0,34,2,65,2,113,33,18,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,2,65,1,113,69,4,64,32,14,47,1,144,1,33,2,32,18,69,13,4,32,11,40,2,12,33,16,32,11,40,2,8,33,12,32,11,40,2,4,33,7,32,2,13,1,65,1,33,15,12,2,11,32,18,69,13,6,32,11,40,2,12,33,16,32,11,40,2,8,33,12,32,11,40,2,4,33,7,65,1,33,15,12,1,11,32,16,69,4,64,65,0,33,16,65,0,33,15,12,1,11,32,16,65,8,35,7,40,2,0,17,1,0,33,8,32,12,65,3,116,34,2,4,64,32,8,32,7,32,2,252,10,0,0,11,32,12,69,4,64,65,0,33,15,65,0,33,12,12,2,11,65,0,33,15,65,0,33,6,32,12,65,1,71,4,64,32,12,65,126,113,33,7,65,0,33,9,3,64,32,8,32,6,65,3,116,106,34,10,40,0,0,34,2,65,1,113,69,4,64,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,10,40,0,8,34,2,65,1,113,69,4,64,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,6,65,2,106,33,6,32,9,65,2,106,34,9,32,7,71,13,0,11,11,2,64,32,12,65,1,113,69,13,0,32,8,32,6,65,3,116,106,40,0,0,34,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,8,33,7,11,2,64,32,12,65,2,73,13,0,32,7,32,12,65,3,116,106,33,2,65,0,33,6,32,12,65,1,118,34,8,65,1,71,4,64,32,8,65,254,255,255,255,7,113,33,9,65,0,33,10,3,64,32,7,32,6,65,3,116,106,34,8,41,2,0,33,25,32,8,32,2,32,6,65,127,115,65,3,116,106,34,19,41,2,0,55,2,0,32,19,32,25,55,2,0,32,8,41,2,8,33,25,32,8,32,2,32,6,65,254,255,255,255,1,115,65,3,116,106,34,8,41,2,0,55,2,8,32,8,32,25,55,2,0,32,6,65,2,106,33,6,32,10,65,2,106,34,10,32,9,71,13,0,11,11,32,12,65,2,113,69,13,0,32,7,32,6,65,3,116,106,34,8,41,2,0,33,25,32,8,32,2,32,6,65,127,115,65,3,116,106,34,2,41,2,0,55,2,0,32,2,32,25,55,2,0,11,32,7,33,8,11,32,1,40,2,16,34,7,33,2,2,64,3,64,32,2,34,10,69,13,1,32,1,40,2,0,32,1,40,2,12,34,9,32,2,65,1,107,34,2,65,4,116,106,40,2,12,34,6,65,5,116,106,40,2,0,32,14,71,13,0,11,32,7,65,1,106,34,2,32,1,40,2,20,75,4,64,32,9,32,2,65,4,116,35,4,40,2,0,17,1,0,33,9,32,1,32,2,54,2,20,32,1,32,9,54,2,12,32,1,40,2,16,33,7,11,32,10,65,4,116,33,2,2,64,32,7,32,10,77,13,0,32,7,32,10,107,65,4,116,34,7,69,13,0,32,2,32,9,106,34,10,65,16,106,32,10,32,7,252,10,0,0,11,32,2,32,9,106,34,2,32,6,54,0,12,32,2,32,16,54,0,8,32,2,32,12,54,0,4,32,2,32,8,54,0,0,32,1,32,1,40,2,16,65,1,106,54,2,16,32,15,69,13,2,12,3,11,32,1,40,2,0,34,6,32,23,106,34,7,40,2,16,33,19,32,7,40,2,12,33,2,32,7,40,2,8,33,22,32,1,32,1,40,2,4,34,10,65,1,106,34,9,32,1,40,2,8,34,7,75,4,127,32,6,65,8,32,7,65,1,116,34,7,32,9,32,7,32,9,75,27,34,7,32,7,65,8,77,27,34,7,65,5,116,35,4,40,2,0,17,1,0,33,6,32,1,32,7,54,2,8,32,1,32,6,54,2,0,32,1,40,2,4,34,10,65,1,106,5,32,9,11,54,2,4,32,6,32,10,65,5,116,106,34,7,65,0,54,2,28,32,7,66,0,55,2,20,32,7,32,19,54,2,16,32,7,32,2,54,2,12,32,7,32,22,54,2,8,32,7,65,0,54,2,4,32,7,32,14,54,2,0,32,14,4,64,32,14,32,14,40,2,148,1,65,1,106,54,2,148,1,11,2,64,32,2,69,13,0,32,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,1,40,2,4,65,1,107,33,7,32,1,40,2,12,33,6,32,1,32,1,40,2,16,34,9,65,1,106,34,2,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,10,32,2,32,2,32,10,73,27,34,2,32,2,65,8,77,27,34,10,65,4,116,33,2,2,127,32,6,4,64,32,6,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,6,32,1,32,10,54,2,20,32,1,32,6,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,2,11,54,2,16,32,6,32,9,65,4,116,106,34,2,32,7,54,2,12,32,2,32,16,54,2,8,32,2,32,12,54,2,4,32,2,32,8,54,2,0,32,15,13,2,12,1,11,32,2,69,13,2,11,32,14,47,1,144,1,34,6,4,64,32,14,65,16,106,33,19,65,1,33,7,3,64,2,64,2,127,32,6,32,7,34,10,70,4,64,32,14,45,0,28,33,16,32,14,40,2,24,33,18,32,14,40,2,20,33,9,32,14,40,2,16,33,12,32,1,40,2,24,32,21,106,12,1,11,32,1,40,2,28,34,6,65,63,75,13,1,32,19,32,10,65,4,116,106,34,2,45,0,12,33,16,32,2,40,2,8,33,18,32,2,40,2,4,33,9,32,2,40,2,0,33,12,32,13,32,1,40,2,24,34,7,32,21,106,34,2,41,2,16,55,3,32,32,13,32,2,41,2,8,55,3,24,32,13,32,2,41,2,0,55,3,16,32,6,65,1,106,33,2,32,1,32,1,40,2,32,34,8,32,6,77,4,127,32,7,65,8,32,8,65,1,116,34,8,32,2,32,2,32,8,73,27,34,2,32,2,65,8,77,27,34,2,65,24,108,35,4,40,2,0,17,1,0,33,7,32,1,32,2,54,2,32,32,1,32,7,54,2,24,32,1,40,2,28,34,6,65,1,106,5,32,2,11,54,2,28,32,7,32,6,65,24,108,106,34,2,32,13,41,3,16,55,2,0,32,2,32,13,41,3,32,55,2,16,32,2,32,13,41,3,24,55,2,8,2,64,32,1,40,2,24,32,1,40,2,28,65,24,108,106,34,15,65,12,107,40,0,0,34,8,69,13,0,32,15,65,16,107,40,0,0,33,2,32,15,65,20,107,34,7,40,0,0,33,6,32,7,32,8,65,8,35,7,40,2,0,17,1,0,34,8,54,2,0,32,2,65,3,116,34,11,4,64,32,8,32,6,32,11,252,10,0,0,11,32,2,69,13,0,65,0,33,6,32,2,65,1,71,4,64,32,2,65,126,113,33,22,65,0,33,8,3,64,32,6,65,3,116,34,24,32,7,40,2,0,106,40,0,0,34,11,65,1,113,69,4,64,32,11,32,11,40,2,0,65,1,106,54,2,0,32,11,40,2,0,26,11,32,7,40,2,0,32,24,106,40,0,8,34,11,65,1,113,69,4,64,32,11,32,11,40,2,0,65,1,106,54,2,0,32,11,40,2,0,26,11,32,6,65,2,106,33,6,32,8,65,2,106,34,8,32,22,71,13,0,11,11,32,2,65,1,113,69,13,0,32,7,40,2,0,32,6,65,3,116,106,40,0,0,34,2,65,1,113,13,0,32,2,32,2,40,2,0,65,1,106,54,2,0,32,2,40,2,0,26,11,32,15,65,24,107,11,34,6,32,12,54,2,0,2,64,2,127,2,64,32,9,4,64,2,64,32,5,65,0,78,4,64,32,6,40,2,4,33,7,32,6,32,6,40,2,8,34,8,65,1,106,34,2,32,6,40,2,12,34,12,75,4,127,65,8,32,12,65,1,116,34,8,32,2,32,2,32,8,73,27,34,2,32,2,65,8,77,27,34,8,65,3,116,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,6,32,8,54,2,12,32,6,32,7,54,2,4,32,6,40,2,8,34,8,65,1,106,5,32,2,11,54,2,8,32,7,32,8,65,3,116,106,34,2,32,18,54,2,4,32,2,32,9,54,2,0,32,9,65,1,113,13,1,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,12,3,11,32,9,65,1,113,69,13,2,11,32,9,65,3,118,65,1,113,12,2,11,32,6,32,6,40,2,16,65,1,106,54,2,16,12,2,11,32,9,47,1,44,65,2,118,65,1,113,11,13,1,32,6,32,6,40,2,16,65,1,106,54,2,16,32,16,65,1,113,13,1,11,32,6,65,0,58,0,20,11,32,10,65,1,106,33,7,32,10,32,14,47,1,144,1,34,6,73,13,0,11,11,32,17,65,1,106,33,17,12,3,11,32,18,13,1,11,32,11,40,2,8,4,64,32,1,40,2,52,33,2,65,0,33,6,3,64,32,13,32,11,40,2,4,32,6,65,3,116,106,41,2,0,55,3,8,32,2,32,13,65,8,106,16,60,32,6,65,1,106,34,6,32,11,40,2,8,73,13,0,11,11,32,11,65,0,54,2,8,32,11,40,2,4,34,2,69,13,0,32,2,35,6,40,2,0,17,2,0,32,11,65,0,54,2,12,32,11,66,0,55,2,4,11,32,1,40,2,28,32,17,65,127,115,106,65,24,108,34,2,4,64,32,1,40,2,24,32,21,106,34,8,32,8,65,24,106,32,2,252,10,0,0,11,32,1,32,1,40,2,28,65,1,107,54,2,28,32,20,65,1,107,33,20,11,32,17,32,20,73,13,0,65,0,33,17,32,1,40,2,28,34,20,13,0,11,11,32,0,32,1,41,2,12,55,2,0,32,0,32,1,40,2,20,54,2,8,32,13,65,48,106,36,0,11,217,5,2,9,127,1,126,35,0,65,32,107,34,7,36,0,32,3,40,2,4,34,5,4,127,32,3,40,2,0,32,5,65,4,116,106,34,5,65,16,107,40,2,0,33,4,32,5,65,12,107,40,2,0,5,65,0,11,33,5,2,64,32,4,65,1,113,13,0,2,64,2,64,32,4,40,2,36,69,13,0,32,0,65,132,1,106,33,9,3,64,32,4,47,1,42,32,2,70,13,1,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,4,65,1,113,4,127,32,4,65,128,254,3,113,65,8,118,5,32,4,47,1,40,11,33,6,32,0,40,2,160,9,33,5,35,1,65,171,10,106,33,4,2,64,2,64,2,64,32,6,65,255,255,3,113,34,6,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,4,12,1,11,65,0,33,4,32,5,40,2,8,32,5,40,2,4,106,32,6,77,13,0,32,5,40,2,56,32,6,65,2,116,106,40,2,0,33,4,11,32,7,32,4,54,2,16,32,9,65,128,8,35,1,65,249,3,106,32,7,65,16,106,16,249,1,26,32,0,40,2,96,34,5,4,64,32,0,40,2,92,65,0,32,9,32,5,17,3,0,11,32,9,33,5,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,5,45,0,0,34,4,65,34,70,13,0,32,4,65,220,0,70,13,0,32,4,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,5,45,0,0,33,4,11,32,4,192,32,0,40,2,140,10,16,241,1,32,5,65,1,106,33,5,12,0,11,0,11,2,64,32,3,40,2,0,34,6,32,3,40,2,4,34,4,65,4,116,106,34,8,65,16,107,40,2,0,34,5,65,1,113,13,0,32,5,40,2,36,34,10,69,13,0,32,8,65,4,107,40,2,0,33,11,32,3,32,4,65,1,106,34,8,32,3,40,2,8,34,12,75,4,127,32,6,65,8,32,12,65,1,116,34,4,32,8,32,4,32,8,75,27,34,4,32,4,65,8,77,27,34,4,65,4,116,35,4,40,2,0,17,1,0,33,6,32,3,32,4,54,2,8,32,3,32,6,54,2,0,32,5,40,2,36,33,10,32,3,40,2,4,34,4,65,1,106,5,32,8,11,54,2,4,32,5,32,10,65,3,116,107,41,2,0,33,13,32,6,32,4,65,4,116,106,34,5,32,11,54,2,12,32,5,65,0,54,2,8,32,5,32,13,55,2,0,32,3,40,2,4,33,4,11,2,127,32,4,69,4,64,65,0,33,4,65,0,12,1,11,32,3,40,2,0,32,4,65,4,116,106,34,5,65,16,107,40,2,0,33,4,32,5,65,12,107,40,2,0,11,33,5,32,4,65,1,113,13,2,65,1,33,6,32,4,40,2,36,13,0,11,11,32,6,65,1,113,69,13,1,11,32,7,32,1,41,2,0,55,3,8,32,0,65,136,9,106,32,7,65,8,106,16,60,32,1,32,5,54,2,4,32,1,32,4,54,2,0,32,4,65,1,113,13,0,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,11,32,7,65,32,106,36,0,11,157,51,2,27,127,2,126,35,0,65,192,2,107,34,4,36,0,32,0,40,2,132,9,34,5,40,2,0,32,1,65,5,116,106,34,7,40,2,0,34,3,40,2,8,33,24,32,3,40,2,4,33,20,32,5,40,2,4,33,12,32,3,40,2,156,1,34,14,32,7,40,2,8,34,15,73,4,64,32,7,32,14,54,2,8,32,14,33,15,11,32,7,40,2,4,33,16,32,3,40,2,152,1,33,17,2,64,32,7,40,2,28,65,1,71,4,64,32,3,47,1,0,13,1,32,3,40,2,20,13,1,11,32,17,65,244,3,106,33,17,11,2,64,32,16,69,13,0,32,2,45,0,0,65,1,113,69,4,64,32,2,40,2,0,47,1,40,65,255,255,3,70,13,1,11,32,16,40,2,4,69,13,0,32,0,65,188,9,106,33,25,32,0,65,136,9,106,33,21,32,17,32,20,106,33,26,32,14,32,15,71,33,27,3,64,2,64,2,64,32,16,40,2,0,32,22,65,20,108,106,34,3,47,1,16,34,9,69,13,0,32,3,40,2,0,34,5,32,20,70,13,0,32,3,40,2,12,33,7,32,3,40,2,4,33,6,32,12,4,64,32,0,40,2,132,9,40,2,0,33,8,65,0,33,3,3,64,32,9,32,8,32,3,65,5,116,106,40,2,0,34,10,47,1,0,70,4,64,32,10,40,2,4,32,20,70,13,3,11,32,3,65,1,106,34,3,32,12,71,13,0,11,11,32,0,32,1,32,26,32,5,107,32,7,65,228,0,108,106,32,24,32,6,107,65,30,108,106,16,145,1,13,1,2,127,32,2,45,0,0,65,1,113,4,64,32,2,45,0,1,12,1,11,32,2,40,2,0,47,1,40,11,33,8,2,64,32,0,40,2,160,9,34,3,40,2,24,34,5,32,9,77,4,64,32,3,40,2,44,32,3,40,2,48,32,9,32,5,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,13,69,13,2,32,3,65,2,106,33,5,65,0,33,10,3,64,32,5,65,4,106,33,3,32,5,47,1,2,34,11,4,127,32,3,32,11,65,1,116,106,33,18,65,0,33,6,3,64,32,3,47,1,0,32,8,65,255,255,3,113,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,11,71,13,0,11,32,18,5,32,3,11,33,5,32,10,65,1,106,34,10,32,13,71,13,0,11,12,2,11,32,3,40,2,40,32,3,40,2,4,32,9,108,65,1,116,106,32,8,65,255,255,3,113,65,1,116,106,33,5,11,32,5,47,1,0,69,13,0,32,0,40,2,132,9,33,3,32,4,32,7,32,27,106,34,18,54,2,160,2,32,4,65,200,1,106,32,3,32,1,35,2,65,7,106,32,4,65,160,2,106,32,18,16,75,32,4,40,2,204,1,34,7,69,13,0,65,0,33,13,65,127,33,11,3,64,32,4,32,4,40,2,200,1,32,13,65,4,116,106,34,5,41,2,8,55,3,192,1,32,4,32,5,41,2,0,55,3,184,1,2,64,2,64,32,11,32,4,40,2,196,1,34,6,70,4,64,65,0,33,3,32,4,40,2,184,1,33,6,32,4,40,2,188,1,34,8,4,64,3,64,32,4,32,6,32,3,65,3,116,106,41,2,0,55,3,136,1,32,21,32,4,65,136,1,106,16,60,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,6,4,64,32,6,35,6,40,2,0,17,2,0,11,32,7,32,13,65,127,115,106,65,4,116,34,3,69,13,1,32,5,32,5,65,16,106,32,3,252,10,0,0,12,1,11,32,9,32,0,40,2,132,9,34,8,40,2,0,32,6,65,5,116,106,34,10,40,2,0,34,3,47,1,0,71,4,64,32,10,65,2,54,2,28,65,0,33,3,32,4,40,2,184,1,33,6,32,4,40,2,188,1,34,8,4,64,3,64,32,4,32,6,32,3,65,3,116,106,41,2,0,55,3,168,1,32,21,32,4,65,168,1,106,16,60,32,3,65,1,106,34,3,32,8,71,13,0,11,11,32,6,4,64,32,6,35,6,40,2,0,17,2,0,32,4,65,0,54,2,184,1,11,32,7,32,13,65,127,115,106,65,4,116,34,3,69,13,1,32,5,32,5,65,16,106,32,3,252,10,0,0,12,1,11,2,64,32,3,47,1,144,1,34,5,69,13,0,32,3,65,20,106,33,10,65,0,33,3,3,64,2,64,32,10,32,3,65,4,116,106,40,2,0,34,7,69,13,0,32,7,65,1,113,13,0,32,7,47,1,40,65,255,255,3,71,13,0,32,4,65,0,58,0,136,2,32,4,65,160,2,106,32,8,32,6,35,2,65,8,106,32,4,65,136,2,106,65,1,16,75,32,4,40,2,164,2,69,13,2,32,8,32,4,40,2,160,2,34,3,40,2,12,32,6,16,83,32,3,40,2,4,34,19,69,13,2,2,64,32,3,40,2,0,34,8,40,2,0,34,6,65,1,113,13,0,32,6,40,2,36,34,7,69,13,0,32,4,40,2,184,1,33,5,32,4,40,2,188,1,34,10,32,7,106,34,3,32,4,40,2,192,1,75,4,64,32,3,65,3,116,33,11,2,127,32,5,4,64,32,5,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,5,32,4,32,3,54,2,192,1,32,4,32,5,54,2,184,1,11,32,7,65,3,116,33,3,2,64,32,10,69,13,0,32,10,65,3,116,34,10,69,13,0,32,3,32,5,106,32,5,32,10,252,10,0,0,11,32,3,4,64,32,5,32,6,32,3,107,32,3,252,10,0,0,11,32,4,32,4,40,2,188,1,32,7,106,54,2,188,1,65,0,33,3,32,7,65,1,71,4,64,32,7,65,126,113,33,10,65,0,33,5,3,64,32,3,65,3,116,34,11,32,4,40,2,184,1,106,40,0,0,34,6,65,1,113,69,4,64,32,6,32,6,40,2,0,65,1,106,54,2,0,32,6,40,2,0,26,11,32,4,40,2,184,1,32,11,106,40,0,8,34,6,65,1,113,69,4,64,32,6,32,6,40,2,0,65,1,106,54,2,0,32,6,40,2,0,26,11,32,3,65,2,106,33,3,32,5,65,2,106,34,5,32,10,71,13,0,11,11,32,7,65,1,113,69,13,0,32,4,40,2,184,1,32,3,65,3,116,106,40,0,0,34,3,65,1,113,13,0,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,11,65,0,33,3,3,64,32,4,32,8,32,3,65,3,116,106,41,2,0,55,3,160,1,32,21,32,4,65,160,1,106,16,60,32,3,65,1,106,34,3,32,19,71,13,0,11,32,8,35,6,40,2,0,17,2,0,12,2,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,4,65,184,1,106,32,25,16,127,2,64,32,4,40,2,188,1,34,3,4,64,32,0,40,2,160,9,33,5,32,4,40,2,184,1,33,6,32,3,65,3,116,34,8,65,204,0,106,34,7,32,4,40,2,192,1,65,3,116,75,4,64,32,6,32,7,35,4,40,2,0,17,1,0,33,6,32,4,32,7,65,3,118,54,2,192,1,32,4,32,6,54,2,184,1,11,32,4,66,0,55,3,184,2,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,1,54,2,244,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,130,2,32,4,66,0,55,3,136,2,32,4,66,0,55,3,224,1,32,4,65,255,255,3,59,1,132,2,32,4,65,27,59,1,236,1,32,4,65,0,59,1,234,1,32,4,32,3,54,2,240,1,32,6,32,8,106,34,3,32,4,40,2,244,1,54,2,0,32,3,32,4,41,3,184,2,55,2,28,32,3,32,4,41,3,176,2,55,2,20,32,3,32,4,41,3,168,2,55,2,12,32,3,32,4,41,3,160,2,55,2,4,32,3,32,4,40,2,240,1,54,2,36,32,3,32,4,47,1,132,2,59,1,40,32,3,32,4,47,1,130,2,59,1,42,32,3,32,4,47,1,236,1,59,1,44,32,3,32,4,40,2,152,2,54,1,62,32,3,32,4,41,3,144,2,55,1,54,32,3,32,4,41,3,136,2,55,1,46,32,3,32,4,47,1,234,1,59,1,66,32,3,32,4,41,3,224,1,55,2,68,32,4,65,0,54,2,220,1,32,4,32,3,54,2,216,1,32,4,32,4,41,3,216,1,55,3,152,1,32,4,65,152,1,106,32,5,16,128,1,32,3,32,3,47,1,44,65,4,114,59,1,44,32,4,32,4,41,3,216,1,34,30,55,3,160,2,32,0,40,2,132,9,33,3,32,4,32,30,55,3,144,1,32,3,32,4,40,2,196,1,32,4,65,144,1,106,65,0,32,9,16,84,12,1,11,32,4,40,2,184,1,34,3,69,13,0,32,3,35,6,40,2,0,17,2,0,32,4,65,0,54,2,192,1,32,4,66,0,55,3,184,1,11,65,0,33,7,32,4,40,2,196,1,33,11,32,0,40,2,192,9,4,64,3,64,32,0,40,2,188,9,32,7,65,3,116,106,41,2,0,33,30,32,0,40,2,132,9,34,3,40,2,0,32,11,65,5,116,106,34,19,40,2,0,33,6,2,127,32,3,40,2,40,34,5,4,64,32,3,32,5,65,1,107,34,5,54,2,40,32,3,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,3,32,9,59,1,0,32,3,65,2,106,65,0,65,146,1,252,11,0,32,30,167,33,5,32,3,66,0,55,2,152,1,32,3,65,1,54,2,148,1,32,3,65,0,54,2,160,1,2,64,32,3,2,127,2,64,2,64,32,6,4,64,32,3,32,30,55,2,20,32,3,32,6,54,2,16,32,3,65,1,59,1,144,1,32,3,32,6,41,2,4,55,2,4,32,3,32,6,40,2,12,54,2,12,32,3,32,6,40,2,152,1,34,8,54,2,152,1,32,3,32,6,40,2,160,1,34,28,54,2,160,1,32,3,32,6,40,2,156,1,34,6,54,2,156,1,32,5,69,13,1,32,5,65,1,113,34,29,13,2,32,3,32,5,45,0,45,65,2,113,4,127,65,226,4,5,32,5,40,2,32,11,32,8,106,54,2,152,1,65,0,32,5,40,2,12,32,5,40,2,20,34,8,27,33,23,32,8,32,5,40,2,8,106,33,10,32,5,40,2,24,33,8,32,5,40,2,16,32,5,40,2,4,106,12,3,11,32,3,66,0,55,2,4,65,0,33,6,32,3,65,0,54,2,12,32,5,13,3,11,32,19,32,6,54,2,8,12,2,11,32,3,32,8,32,5,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,30,66,32,136,167,65,255,1,113,33,23,32,30,66,40,136,167,65,15,113,33,10,32,30,66,56,136,167,34,8,32,30,66,48,136,167,65,255,1,113,106,11,32,3,40,0,4,106,54,2,4,32,3,32,3,40,0,8,32,10,106,173,32,8,32,23,106,65,0,32,3,40,0,12,32,10,27,106,173,66,32,134,132,55,2,8,2,64,32,29,69,4,64,65,0,33,10,32,3,32,5,40,2,36,34,8,4,127,32,5,40,2,56,5,65,0,11,32,6,106,32,5,47,1,44,65,1,113,106,32,5,47,1,40,65,254,255,3,70,106,54,2,156,1,32,8,69,13,1,32,5,40,2,60,33,10,12,1,11,32,3,32,6,32,5,65,1,118,65,1,113,106,54,2,156,1,65,0,33,10,11,32,3,32,10,32,28,106,54,2,160,1,11,32,19,32,3,54,2,0,32,7,65,1,106,34,7,32,0,40,2,192,9,73,13,0,11,11,32,13,65,1,106,33,13,32,4,40,2,204,1,33,7,12,1,11,32,4,32,7,65,1,107,34,7,54,2,204,1,11,32,7,32,13,75,13,0,11,32,11,65,127,70,13,0,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,9,12,4,11,32,4,32,18,54,2,132,1,32,4,32,9,54,2,128,1,32,0,65,132,1,106,34,3,65,128,8,35,1,65,248,1,106,32,4,65,128,1,106,16,249,1,26,32,0,40,2,96,34,7,4,64,32,0,40,2,92,65,0,32,3,32,7,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,9,12,4,11,3,64,2,64,2,64,2,64,32,3,45,0,0,34,6,65,34,70,13,0,32,6,65,220,0,70,13,0,32,6,13,1,32,0,40,2,140,10,34,3,13,2,65,1,33,9,12,7,11,65,220,0,32,0,40,2,140,10,16,241,1,32,3,45,0,0,33,6,11,32,6,192,32,0,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,1,11,11,32,0,40,2,132,9,32,0,40,2,160,9,32,3,16,70,65,1,33,9,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,12,3,11,32,22,65,1,106,34,22,32,16,40,2,4,73,13,1,11,11,65,0,33,9,11,32,0,40,2,132,9,34,3,40,2,4,34,6,32,12,75,4,64,32,0,65,132,1,106,33,7,3,64,2,64,32,3,40,2,0,32,12,65,5,116,106,40,2,28,69,13,0,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,4,32,12,54,2,112,32,7,65,128,8,35,1,65,205,0,106,32,4,65,240,0,106,16,249,1,26,32,0,40,2,96,34,3,4,64,32,0,40,2,92,65,0,32,7,32,3,17,3,0,11,32,7,33,6,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,6,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,6,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,6,65,1,106,33,6,12,0,11,0,11,32,0,40,2,132,9,32,12,16,71,32,12,65,1,107,33,12,32,0,40,2,132,9,33,3,32,0,40,2,140,10,34,5,69,13,0,32,3,32,0,40,2,160,9,32,5,16,70,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,32,0,40,2,132,9,33,3,11,32,12,65,1,106,34,12,32,3,40,2,4,34,6,73,13,0,11,11,2,64,2,64,2,64,2,64,2,127,32,2,45,0,0,34,7,65,1,113,4,64,32,2,45,0,1,12,1,11,32,2,40,2,0,47,1,40,11,65,255,255,3,113,4,64,32,9,69,13,2,32,6,65,7,73,13,1,32,3,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,24,32,0,65,136,9,106,32,4,65,24,106,16,60,12,4,11,2,64,32,0,40,2,96,34,3,69,4,64,32,0,40,2,140,10,69,13,4,32,0,35,1,65,168,8,106,34,3,41,0,0,55,0,132,1,32,0,32,3,40,0,8,54,0,140,1,32,0,65,132,1,106,33,6,12,1,11,32,0,35,1,65,168,8,106,34,7,41,0,0,55,0,132,1,32,0,32,7,40,0,8,54,0,140,1,32,0,40,2,92,65,0,32,0,65,132,1,106,34,6,32,3,17,3,0,32,0,40,2,140,10,69,13,3,11,3,64,2,64,2,64,32,6,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,6,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,6,65,1,106,33,6,12,0,11,0,11,32,7,65,1,113,13,0,32,2,40,2,0,45,0,44,65,128,1,113,69,13,0,32,3,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,104,32,0,65,136,9,106,32,4,65,232,0,106,16,60,12,2,11,32,17,65,228,0,106,33,3,2,127,32,2,40,2,0,34,7,65,1,113,4,64,32,2,45,0,6,32,2,45,0,7,106,33,9,32,2,45,0,5,65,15,113,12,1,11,32,7,40,2,16,32,7,40,2,4,106,33,9,32,7,40,2,20,32,7,40,2,8,106,11,33,5,32,0,32,1,32,3,32,9,106,32,5,65,30,108,106,16,145,1,4,64,32,0,40,2,132,9,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,4,32,2,41,2,0,55,3,32,32,0,65,136,9,106,32,4,65,32,106,16,60,12,2,11,32,7,65,8,118,33,11,32,0,40,2,160,9,33,5,2,64,2,64,32,7,65,1,113,4,64,32,11,65,255,1,113,33,9,12,1,11,32,7,47,1,40,34,9,65,253,255,3,75,13,1,11,2,64,2,64,32,5,40,2,24,34,3,65,1,77,4,64,32,5,40,2,44,32,5,40,2,48,65,1,32,3,107,65,2,116,106,40,2,0,65,1,116,106,34,3,47,1,0,34,13,69,4,64,65,0,33,3,12,3,11,32,3,65,2,106,33,8,65,0,33,10,3,64,32,8,65,4,106,33,3,32,8,47,1,2,34,12,4,127,32,3,32,12,65,1,116,106,33,16,65,0,33,6,3,64,32,3,47,1,0,32,9,70,13,4,32,3,65,2,106,33,3,32,6,65,1,106,34,6,32,12,71,13,0,11,32,16,5,32,3,11,33,8,65,0,33,3,32,10,65,1,106,34,10,32,13,71,13,0,11,12,2,11,32,5,40,2,40,32,5,40,2,4,65,1,116,106,32,9,65,1,116,106,47,1,0,33,3,12,1,11,32,8,47,1,0,33,3,11,32,5,40,2,52,32,3,65,255,255,3,113,65,3,116,106,34,3,45,0,0,34,5,69,13,0,32,3,32,5,65,3,116,106,34,3,45,0,0,13,0,32,3,45,0,4,65,1,71,13,0,32,4,32,2,41,2,0,34,30,55,3,136,2,32,30,66,32,136,33,31,2,64,32,30,167,34,5,65,1,113,4,64,32,5,33,7,12,1,11,32,5,34,7,40,2,0,65,1,70,13,0,32,5,40,2,36,65,3,116,65,204,0,106,34,3,35,5,40,2,0,17,0,0,33,6,32,3,4,64,32,6,32,5,32,5,40,2,36,65,3,116,107,32,3,252,10,0,0,11,32,0,65,136,9,106,33,10,32,6,32,5,40,2,36,34,9,65,3,116,106,33,7,2,64,32,9,4,64,65,0,33,3,3,64,32,6,32,3,65,3,116,106,40,0,0,34,8,65,1,113,69,4,64,32,8,32,8,40,2,0,65,1,106,54,2,0,32,8,40,2,0,26,32,5,40,2,36,33,9,11,32,3,65,1,106,34,3,32,9,73,13,0,11,12,1,11,32,5,45,0,44,65,192,0,113,69,13,0,32,5,40,2,48,33,3,32,4,32,5,41,2,68,55,3,176,2,32,4,32,5,41,2,60,55,3,168,2,32,4,32,5,41,2,52,55,3,160,2,2,64,32,5,40,2,72,34,6,65,25,73,13,0,32,6,35,5,40,2,0,17,0,0,33,3,32,5,40,2,72,34,6,69,13,0,32,3,32,5,40,2,48,32,6,252,10,0,0,11,32,7,32,3,54,2,48,32,7,32,4,41,3,160,2,55,2,52,32,7,32,4,41,3,168,2,55,2,60,32,7,32,4,41,3,176,2,55,2,68,11,32,7,65,1,54,2,0,32,4,32,4,41,3,136,2,55,3,96,32,10,32,4,65,224,0,106,16,60,66,0,33,31,11,2,64,32,7,65,1,113,4,64,32,7,65,8,114,33,7,12,1,11,32,7,32,7,47,1,44,65,4,114,59,1,44,11,32,2,32,7,173,34,30,32,31,66,32,134,132,55,2,0,32,30,66,8,136,167,33,11,11,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,0,65,132,1,106,33,3,32,0,40,2,160,9,33,5,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,7,65,1,113,4,127,32,11,65,255,1,113,5,32,7,47,1,40,11,65,255,255,3,113,34,7,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,5,40,2,8,32,5,40,2,4,106,32,7,77,13,0,32,5,40,2,56,32,7,65,2,116,106,40,2,0,33,6,11,32,4,32,6,54,2,80,32,3,65,128,8,35,1,65,193,5,106,32,4,65,208,0,106,16,249,1,26,32,0,40,2,96,34,7,4,64,32,0,40,2,92,65,0,32,3,32,7,17,3,0,11,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,6,65,34,70,13,0,32,6,65,220,0,70,13,0,32,6,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,3,45,0,0,33,6,11,32,6,192,32,0,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,65,8,35,5,40,2,0,17,0,0,34,3,32,2,41,2,0,34,30,55,2,0,32,0,40,2,160,9,33,7,32,3,65,212,0,35,4,40,2,0,17,1,0,33,3,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,24,59,1,132,2,32,4,66,0,55,3,184,2,32,4,65,1,54,2,224,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,240,1,32,4,66,0,55,3,136,2,32,4,66,0,55,3,184,1,32,4,65,1,54,2,216,1,32,4,65,254,255,3,59,1,244,1,32,4,65,0,59,1,130,2,32,3,32,4,40,2,224,1,54,2,8,32,3,32,4,41,3,184,2,55,2,36,32,3,32,4,41,3,176,2,55,2,28,32,3,32,4,41,3,168,2,55,2,20,32,3,32,4,41,3,160,2,55,2,12,32,3,32,4,40,2,216,1,54,2,44,32,3,32,4,47,1,244,1,59,1,48,32,3,32,4,47,1,240,1,59,1,50,32,3,32,4,47,1,132,2,59,1,52,32,3,32,4,40,2,152,2,54,1,70,32,3,32,4,41,3,144,2,55,1,62,32,3,32,4,41,3,136,2,55,1,54,32,3,32,4,47,1,130,2,59,1,74,32,3,32,4,41,3,184,1,55,2,76,32,4,65,0,54,2,204,1,32,4,32,3,65,8,106,54,2,200,1,32,4,32,4,41,3,200,1,55,3,72,32,4,65,200,0,106,32,7,16,128,1,2,64,2,64,32,14,32,15,70,4,64,32,0,40,2,132,9,33,3,32,4,32,4,41,3,200,1,34,31,55,3,176,1,32,4,32,31,55,3,48,32,3,32,1,32,4,65,48,106,65,0,65,0,16,84,32,30,167,65,1,113,69,13,1,12,2,11,32,0,40,2,132,9,33,3,32,4,65,1,54,2,136,2,32,4,65,160,2,106,32,3,32,1,35,2,65,7,106,32,4,65,136,2,106,65,1,16,75,32,4,40,2,160,2,33,5,2,64,32,4,40,2,164,2,34,6,65,1,77,4,64,32,5,40,2,12,33,7,32,0,40,2,132,9,33,3,12,1,11,32,0,65,136,9,106,33,8,65,1,33,9,3,64,65,0,33,3,32,5,32,9,65,4,116,106,34,7,40,2,4,4,64,3,64,32,4,32,7,40,2,0,32,3,65,3,116,106,41,2,0,55,3,64,32,8,32,4,65,64,107,16,60,32,3,65,1,106,34,3,32,7,40,2,4,73,13,0,11,11,32,7,65,0,54,2,4,32,7,40,2,0,34,3,4,64,32,3,35,6,40,2,0,17,2,0,32,7,65,0,54,2,8,32,7,66,0,55,2,0,11,32,9,65,1,106,34,9,32,6,71,13,0,11,32,5,40,2,12,34,7,65,1,106,34,6,32,0,40,2,132,9,34,3,40,2,4,79,13,0,3,64,32,3,32,6,16,71,32,5,40,2,12,34,7,65,1,106,34,6,32,0,40,2,132,9,34,3,40,2,4,73,13,0,11,11,32,3,32,7,32,1,16,83,32,5,40,2,0,33,3,32,5,32,5,40,2,4,34,7,65,1,106,34,6,32,5,40,2,8,34,8,75,4,127,65,8,32,8,65,1,116,34,7,32,6,32,6,32,7,73,27,34,7,32,7,65,8,77,27,34,6,65,3,116,33,7,2,127,32,3,4,64,32,3,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,3,32,5,32,6,54,2,8,32,5,32,3,54,2,0,32,5,40,2,4,34,7,65,1,106,5,32,6,11,54,2,4,32,3,32,7,65,3,116,106,32,4,41,3,200,1,55,2,0,32,4,65,136,2,106,65,254,255,3,32,5,65,0,32,0,40,2,160,9,16,129,1,32,4,32,4,41,3,136,2,34,30,55,3,200,1,32,2,45,0,0,33,3,32,0,40,2,132,9,33,7,32,4,32,30,55,3,56,32,4,32,30,55,3,176,1,32,7,32,1,32,4,65,56,106,65,0,65,0,16,84,32,3,65,1,113,13,1,11,32,2,40,2,0,34,5,45,0,44,65,192,0,113,69,13,0,32,0,40,2,132,9,33,6,2,64,32,5,65,1,113,69,4,64,32,2,40,2,4,33,8,2,127,32,5,40,2,36,34,7,4,64,3,64,32,5,32,7,65,3,116,107,33,14,32,7,33,3,3,64,2,64,2,64,32,14,32,3,65,1,107,34,3,65,3,116,106,34,15,40,2,0,34,2,65,1,113,13,0,32,2,45,0,44,65,192,0,113,69,13,0,32,2,40,2,36,33,7,32,15,40,2,4,33,8,32,2,33,5,12,1,11,32,3,13,1,11,11,32,7,13,0,11,32,6,40,2,0,34,3,32,5,13,1,26,65,0,33,5,12,3,11,32,6,40,2,0,11,33,3,32,5,65,1,113,13,1,32,5,32,5,40,2,0,65,1,106,54,2,0,32,5,40,2,0,26,12,1,11,32,6,40,2,0,33,3,65,0,33,5,65,0,33,8,11,32,3,32,1,65,5,116,106,34,1,40,2,12,4,64,32,6,40,2,52,33,2,32,4,32,1,41,2,12,55,3,40,32,2,32,4,65,40,106,16,60,11,32,1,32,8,54,2,16,32,1,32,5,54,2,12,11,2,64,32,0,40,2,132,9,34,1,40,2,4,34,2,69,4,64,65,1,33,3,12,1,11,32,1,40,2,0,33,7,65,0,33,6,3,64,32,7,32,6,65,5,116,106,34,1,40,2,28,33,3,32,1,40,2,0,34,5,40,2,156,1,34,8,32,1,40,2,8,73,4,64,32,1,32,8,54,2,8,11,2,64,32,3,65,1,70,13,0,32,5,47,1,0,69,13,0,65,0,33,3,12,2,11,65,1,33,3,32,6,65,1,106,34,6,32,2,71,13,0,11,11,32,0,32,3,58,0,226,10,12,1,11,32,0,40,2,160,9,33,7,65,0,65,204,0,35,4,40,2,0,17,1,0,33,3,32,4,66,0,55,3,184,2,32,4,66,0,55,3,176,2,32,4,66,0,55,3,168,2,32,4,66,0,55,3,144,2,32,4,65,0,54,2,152,2,32,4,65,1,54,2,200,1,32,4,66,0,55,3,160,2,32,4,65,0,59,1,244,1,32,4,66,0,55,3,136,2,32,4,66,0,55,3,184,1,32,4,65,0,54,2,224,1,32,4,65,255,255,3,59,1,216,1,32,4,65,27,59,1,240,1,32,4,65,0,59,1,132,2,32,3,32,4,40,2,200,1,54,2,0,32,3,32,4,41,3,184,2,55,2,28,32,3,32,4,41,3,176,2,55,2,20,32,3,32,4,41,3,168,2,55,2,12,32,3,32,4,41,3,160,2,55,2,4,32,3,32,4,40,2,224,1,54,2,36,32,3,32,4,47,1,216,1,59,1,40,32,3,32,4,47,1,244,1,59,1,42,32,3,32,4,47,1,240,1,59,1,44,32,3,32,4,40,2,152,2,54,1,62,32,3,32,4,41,3,144,2,55,1,54,32,3,32,4,41,3,136,2,55,1,46,32,3,32,4,47,1,132,2,59,1,66,32,3,32,4,41,3,184,1,55,2,68,32,4,65,0,54,2,252,1,32,4,32,3,54,2,248,1,32,4,32,4,41,2,248,1,55,3,16,32,4,65,16,106,32,7,16,128,1,32,3,32,3,47,1,44,65,251,255,3,113,59,1,44,32,0,40,2,132,9,33,3,32,4,32,4,41,2,248,1,55,3,8,32,3,32,1,32,4,65,8,106,65,0,65,1,16,84,32,4,32,2,41,2,0,55,3,0,32,0,32,1,32,4,16,81,11,32,4,65,192,2,106,36,0,11,195,3,1,7,127,35,0,65,16,107,34,4,36,0,2,127,32,2,45,0,0,34,7,65,1,113,69,4,64,32,2,40,2,0,34,5,65,196,0,65,40,32,5,40,2,36,34,6,27,106,47,1,0,33,8,32,5,65,42,106,32,6,69,13,1,26,32,5,65,198,0,106,12,1,11,32,2,45,0,1,33,8,32,2,65,2,106,11,47,1,0,33,6,32,0,40,2,160,9,34,10,40,2,88,33,0,2,64,32,10,40,2,0,65,14,77,4,64,32,0,32,1,65,2,116,106,34,9,47,1,0,33,5,32,9,47,1,2,33,9,32,4,65,0,59,1,12,32,4,32,9,59,1,10,32,4,32,5,59,1,8,32,0,32,6,65,2,116,106,40,1,0,33,0,32,4,65,0,59,1,4,32,4,32,0,54,2,0,12,1,11,32,4,32,0,32,1,65,6,108,106,34,5,47,1,4,59,1,12,32,4,32,5,40,1,0,34,5,54,2,8,32,4,32,0,32,6,65,6,108,106,34,0,47,1,4,59,1,4,32,4,32,0,40,1,0,54,2,0,11,2,64,32,5,65,255,255,3,113,65,255,255,3,70,4,64,65,0,33,0,12,1,11,2,64,32,3,40,2,4,69,13,0,32,4,32,4,65,8,106,65,6,16,248,1,13,0,32,10,47,1,100,32,8,71,4,64,65,1,33,0,12,2,11,32,7,65,1,113,4,127,32,7,65,6,118,65,1,113,5,32,2,40,2,0,47,1,44,65,10,118,65,1,113,11,13,0,65,1,33,0,32,2,65,2,106,32,2,40,2,0,65,42,106,32,7,65,1,113,27,47,1,0,32,1,70,13,1,11,2,127,32,2,40,2,0,34,0,65,1,113,4,64,32,2,45,0,7,12,1,11,32,0,40,2,16,11,33,2,65,0,33,0,32,8,69,32,2,65,0,71,114,69,13,0,32,4,47,1,10,13,0,32,3,45,0,8,33,0,11,32,4,65,16,106,36,0,32,0,65,1,113,11,216,3,2,11,127,1,126,32,0,40,2,0,34,6,32,0,40,2,4,34,1,65,4,116,106,34,2,65,4,107,40,2,0,33,9,32,2,65,9,107,45,0,0,33,4,32,2,65,10,107,45,0,0,33,5,2,64,32,2,65,16,107,40,2,0,34,3,65,1,113,4,64,32,4,32,5,106,33,7,12,1,11,32,3,40,2,16,32,3,40,2,4,106,33,7,32,3,45,0,44,65,192,0,113,69,13,0,32,2,65,12,107,47,1,0,32,5,65,16,116,114,32,4,65,24,116,114,33,8,32,3,40,2,36,34,4,4,64,3,64,32,3,32,4,65,3,116,107,33,10,32,4,33,2,3,64,2,64,2,64,32,10,32,2,65,1,107,34,2,65,3,116,106,34,11,40,2,0,34,5,65,1,113,13,0,32,5,45,0,44,65,192,0,113,69,13,0,32,5,40,2,36,33,4,32,11,40,2,4,33,8,32,5,33,3,12,1,11,32,2,13,1,11,11,32,4,13,0,11,11,32,0,32,8,54,2,16,32,0,32,3,54,2,12,11,32,6,65,32,107,33,8,32,7,32,9,106,33,7,2,64,3,64,32,0,32,1,34,3,65,1,107,34,1,54,2,4,32,1,69,13,1,32,6,32,1,65,4,116,106,40,2,8,65,1,106,33,4,65,0,33,2,32,8,32,3,65,4,116,106,40,2,0,34,5,65,1,113,4,127,65,0,5,32,5,40,2,36,11,32,4,77,13,0,11,32,0,40,2,8,34,2,32,3,73,4,64,32,6,65,8,32,2,65,1,116,34,1,32,3,32,1,32,3,75,27,34,1,32,1,65,8,77,27,34,1,65,4,116,35,4,40,2,0,17,1,0,33,6,32,0,32,1,54,2,8,32,0,32,6,54,2,0,32,0,40,2,4,33,1,11,32,0,32,1,65,1,106,54,2,4,32,5,32,5,40,2,36,65,3,116,107,32,4,65,3,116,106,41,2,0,33,12,32,6,32,1,65,4,116,106,34,0,32,7,54,2,12,32,0,32,4,54,2,8,32,0,32,12,55,2,0,11,11,185,19,2,24,127,1,126,35,0,65,48,107,34,9,36,0,32,9,65,36,106,32,0,40,2,132,9,34,2,32,1,35,2,65,9,106,65,0,65,0,16,75,2,127,32,9,40,2,40,34,21,4,64,32,0,65,132,1,106,33,16,32,0,65,136,9,106,33,22,3,64,32,2,32,9,40,2,36,34,2,40,2,12,32,1,16,83,32,2,32,1,54,2,12,65,0,33,17,65,0,33,15,3,64,32,9,40,2,36,32,17,65,4,116,106,34,2,40,2,4,33,18,32,2,40,2,12,65,5,116,34,19,32,0,40,2,132,9,40,2,0,106,40,2,0,47,1,0,33,6,32,9,32,2,40,2,0,34,20,41,2,0,34,26,55,3,24,2,64,32,26,167,34,2,65,1,113,13,0,65,0,33,12,32,2,40,2,36,34,23,69,13,0,3,64,32,6,33,4,32,9,40,2,24,34,2,32,2,40,2,36,65,3,116,107,32,12,65,3,116,106,34,2,40,2,4,33,10,2,64,2,64,2,64,2,64,32,2,40,2,0,34,3,65,1,113,34,14,69,4,64,65,0,33,6,32,3,40,2,36,65,0,71,33,15,32,3,47,1,40,34,8,65,255,255,3,70,13,3,32,3,45,0,44,65,4,113,69,13,1,32,4,33,6,12,3,11,65,0,33,15,32,3,65,8,113,13,3,32,3,65,128,254,3,113,65,8,118,33,8,12,1,11,32,8,65,254,255,3,70,13,1,11,32,4,65,255,255,3,113,33,2,32,0,40,2,160,9,34,7,40,2,24,33,6,2,64,32,8,32,7,40,2,12,73,4,64,2,64,2,64,32,2,32,6,79,4,64,32,7,40,2,44,32,7,40,2,48,32,2,32,6,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,24,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,5,65,0,33,11,3,64,32,5,65,4,106,33,2,32,5,47,1,2,34,13,4,127,32,2,32,13,65,1,116,106,33,25,65,0,33,6,3,64,32,2,47,1,0,32,8,70,13,4,32,2,65,2,106,33,2,32,6,65,1,106,34,6,32,13,71,13,0,11,32,25,5,32,2,11,33,5,65,0,33,2,32,11,65,1,106,34,11,32,24,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,2,108,65,1,116,106,32,8,65,1,116,106,47,1,0,33,2,12,1,11,32,5,47,1,0,33,2,11,65,0,33,6,32,7,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,5,69,13,1,32,2,32,5,65,3,116,106,34,2,45,0,0,13,1,32,4,32,2,65,8,106,34,2,65,6,107,47,1,0,32,2,65,4,107,45,0,0,65,1,113,27,33,6,12,1,11,2,64,32,2,32,6,79,4,64,32,7,40,2,44,32,7,40,2,48,32,2,32,6,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,11,69,4,64,65,0,33,6,12,3,11,32,2,65,2,106,33,7,65,0,33,4,3,64,32,7,65,4,106,33,2,32,7,47,1,2,34,5,4,127,32,2,32,5,65,1,116,106,33,13,65,0,33,6,3,64,32,2,47,1,0,32,8,70,13,4,32,2,65,2,106,33,2,32,6,65,1,106,34,6,32,5,71,13,0,11,32,13,5,32,2,11,33,7,65,0,33,6,32,4,65,1,106,34,4,32,11,71,13,0,11,12,2,11,32,7,40,2,40,32,7,40,2,4,32,2,108,65,1,116,106,32,8,65,1,116,106,47,1,0,33,6,12,1,11,32,7,47,1,0,33,6,11,32,14,13,1,11,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,11,32,0,40,2,132,9,34,2,40,2,0,32,19,106,34,7,40,2,0,33,4,2,127,32,2,40,2,40,34,5,4,64,32,2,32,5,65,1,107,34,5,54,2,40,32,2,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,32,6,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,2,66,0,55,2,152,1,32,2,65,1,54,2,148,1,32,2,65,0,54,2,160,1,2,64,2,127,2,64,2,64,32,4,4,64,32,2,65,0,59,0,29,32,2,32,15,58,0,28,32,2,32,3,173,32,10,173,66,32,134,132,55,2,20,32,2,32,4,54,2,16,32,2,65,1,59,1,144,1,32,2,65,0,58,0,31,32,2,32,4,41,2,4,55,2,4,32,2,32,4,40,2,12,54,2,12,32,2,32,4,40,2,152,1,34,5,54,2,152,1,32,2,32,4,40,2,160,1,34,13,54,2,160,1,32,2,32,4,40,2,156,1,34,8,54,2,156,1,32,3,69,13,1,32,14,13,2,32,2,32,3,45,0,45,65,2,113,4,127,65,226,4,5,32,3,40,2,32,11,32,5,106,54,2,152,1,65,0,32,3,40,2,12,32,3,40,2,20,34,10,27,33,5,32,3,40,2,16,32,3,40,2,4,106,33,4,32,3,40,2,24,33,11,32,10,32,3,40,2,8,106,12,3,11,32,2,66,0,55,2,4,65,0,33,8,32,2,65,0,54,2,12,32,3,13,3,11,32,7,32,8,54,2,8,12,2,11,32,2,32,5,32,3,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,10,65,255,1,113,33,5,32,10,65,24,118,34,11,32,10,65,16,118,65,255,1,113,106,33,4,32,10,65,8,118,65,15,113,11,33,10,32,2,32,2,40,0,4,32,4,106,54,2,4,32,2,32,2,40,0,8,32,10,106,173,32,5,32,11,106,65,0,32,2,40,0,12,32,10,27,106,173,66,32,134,132,55,2,8,2,64,32,14,69,4,64,65,0,33,4,32,2,32,3,40,2,36,34,5,4,127,32,3,40,2,56,5,65,0,11,32,8,106,32,3,47,1,44,65,1,113,106,32,3,47,1,40,65,254,255,3,70,106,54,2,156,1,32,5,69,13,1,32,3,40,2,60,33,4,12,1,11,32,2,32,8,32,3,65,1,118,65,1,113,106,54,2,156,1,65,0,33,4,11,32,2,32,4,32,13,106,54,2,160,1,11,32,7,32,2,54,2,0,32,12,65,1,106,34,12,32,23,71,13,0,11,11,65,1,33,12,32,18,65,1,75,4,64,3,64,32,20,32,12,65,3,116,106,41,2,0,33,26,32,0,40,2,132,9,34,2,40,2,0,32,19,106,34,10,40,2,0,33,4,2,127,32,2,40,2,40,34,5,4,64,32,2,32,5,65,1,107,34,5,54,2,40,32,2,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,32,6,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,26,167,33,3,32,2,66,0,55,2,152,1,32,2,65,1,54,2,148,1,32,2,65,0,54,2,160,1,2,64,32,2,2,127,2,64,2,64,32,4,4,64,32,2,65,0,54,2,28,32,2,32,26,55,2,20,32,2,32,4,54,2,16,32,2,65,1,59,1,144,1,32,2,32,4,41,2,4,55,2,4,32,2,32,4,40,2,12,54,2,12,32,2,32,4,40,2,152,1,34,5,54,2,152,1,32,2,32,4,40,2,160,1,34,11,54,2,160,1,32,2,32,4,40,2,156,1,34,4,54,2,156,1,32,3,69,13,1,32,3,65,1,113,34,14,13,2,32,2,32,3,45,0,45,65,2,113,4,127,65,226,4,5,32,3,40,2,32,11,32,5,106,54,2,152,1,65,0,32,3,40,2,12,32,3,40,2,20,34,5,27,33,7,32,5,32,3,40,2,8,106,33,8,32,3,40,2,24,33,5,32,3,40,2,16,32,3,40,2,4,106,12,3,11,32,2,66,0,55,2,4,65,0,33,4,32,2,65,0,54,2,12,32,3,13,3,11,32,10,32,4,54,2,8,12,2,11,32,2,32,5,32,3,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,26,66,32,136,167,65,255,1,113,33,7,32,26,66,40,136,167,65,15,113,33,8,32,26,66,56,136,167,34,5,32,26,66,48,136,167,65,255,1,113,106,11,32,2,40,0,4,106,54,2,4,32,2,32,2,40,0,8,32,8,106,173,32,5,32,7,106,65,0,32,2,40,0,12,32,8,27,106,173,66,32,134,132,55,2,8,2,64,32,14,69,4,64,65,0,33,8,32,2,32,3,40,2,36,34,5,4,127,32,3,40,2,56,5,65,0,11,32,4,106,32,3,47,1,44,65,1,113,106,32,3,47,1,40,65,254,255,3,70,106,54,2,156,1,32,5,69,13,1,32,3,40,2,60,33,8,12,1,11,32,2,32,4,32,3,65,1,118,65,1,113,106,54,2,156,1,65,0,33,8,11,32,2,32,8,32,11,106,54,2,160,1,11,32,10,32,2,54,2,0,32,12,65,1,106,34,12,32,18,71,13,0,11,11,32,9,32,9,41,3,24,55,3,16,32,22,32,9,65,16,106,16,60,32,20,35,6,40,2,0,17,2,0,2,64,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,1,11,32,0,40,2,160,9,33,6,35,1,65,171,10,106,33,2,2,64,2,64,2,64,2,127,32,9,45,0,24,65,1,113,4,64,32,9,45,0,25,12,1,11,32,9,40,2,24,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,6,40,2,8,32,6,40,2,4,106,32,4,77,13,0,32,6,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,9,32,2,54,2,0,32,16,65,128,8,35,1,65,165,7,106,32,9,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,16,32,2,17,3,0,11,32,16,33,4,32,0,40,2,140,10,69,13,0,3,64,2,64,2,64,32,4,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,32,0,40,2,140,10,34,2,69,13,3,32,0,40,2,132,9,32,0,40,2,160,9,32,2,16,70,35,1,65,235,11,106,32,0,40,2,140,10,16,244,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,4,45,0,0,33,2,11,32,2,192,32,0,40,2,140,10,16,241,1,32,4,65,1,106,33,4,12,0,11,0,11,32,17,65,1,106,34,17,32,9,40,2,40,73,13,0,11,65,1,32,15,69,13,2,26,32,9,65,36,106,32,0,40,2,132,9,34,2,32,1,35,2,65,9,106,65,0,65,0,16,75,32,9,40,2,40,13,0,11,11,32,21,65,0,71,11,33,0,32,9,65,48,106,36,0,32,0,11,151,10,2,17,127,1,126,35,0,65,192,1,107,34,3,36,0,32,0,40,2,132,9,33,5,32,3,32,2,41,2,0,55,3,56,32,5,32,1,32,3,65,56,106,65,0,65,1,16,84,32,3,65,220,0,106,32,0,40,2,132,9,32,1,35,2,65,10,106,65,0,65,0,16,75,32,3,40,2,96,4,64,32,0,65,180,9,106,33,14,32,0,65,136,9,106,33,15,3,64,32,3,40,2,92,32,16,65,4,116,106,34,5,40,2,8,33,11,32,5,40,2,4,33,2,32,5,40,2,0,33,7,32,3,66,0,55,3,80,66,0,33,20,2,64,32,2,34,5,69,13,0,3,64,32,3,32,7,32,5,65,1,107,34,8,65,3,116,34,17,106,41,2,0,34,20,55,3,72,2,64,2,64,32,20,167,34,4,65,1,113,4,64,32,20,66,8,131,66,0,82,13,2,65,0,33,10,65,1,33,12,65,0,33,6,12,1,11,32,4,45,0,44,65,4,113,13,1,32,4,32,4,40,2,36,34,6,65,3,116,107,33,10,32,6,69,4,64,65,0,33,6,65,1,33,12,12,1,11,65,0,33,12,65,0,33,4,32,6,65,1,71,4,64,32,6,65,126,113,33,18,65,0,33,13,3,64,32,10,32,4,65,3,116,106,34,19,40,0,0,34,9,65,1,113,69,4,64,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,11,32,19,40,0,8,34,9,65,1,113,69,4,64,32,9,32,9,40,2,0,65,1,106,54,2,0,32,9,40,2,0,26,11,32,4,65,2,106,33,4,32,13,65,2,106,34,13,32,18,71,13,0,11,11,32,6,65,1,113,69,13,0,32,10,32,4,65,3,116,106,40,0,0,34,4,65,1,113,13,0,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,11,32,11,32,2,32,6,106,65,1,107,34,4,73,4,64,32,4,65,3,116,33,11,2,127,32,7,4,64,32,7,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,7,32,4,33,11,11,2,64,32,2,32,5,77,13,0,32,2,32,5,107,65,3,116,34,2,69,13,0,32,7,32,6,32,8,106,65,3,116,106,32,7,32,5,65,3,116,106,32,2,252,10,0,0,11,2,64,32,12,13,0,32,6,65,3,116,33,2,32,7,32,17,106,33,5,32,10,4,64,32,2,69,13,1,32,5,32,10,32,2,252,10,0,0,12,1,11,32,2,69,13,0,32,5,65,0,32,2,252,11,0,11,2,127,32,3,45,0,72,65,1,113,4,64,32,3,40,2,72,33,8,32,3,45,0,73,12,1,11,32,3,40,2,72,34,8,47,1,40,11,33,2,65,1,33,5,32,0,40,2,160,9,33,6,32,8,47,1,66,33,9,65,2,33,8,2,64,2,64,2,64,32,2,65,255,255,3,113,34,10,65,254,255,3,107,14,2,0,2,1,11,65,0,33,8,65,0,33,5,12,1,11,32,6,40,2,72,32,10,65,3,108,106,34,8,45,0,0,65,229,0,113,33,5,32,8,45,0,1,65,1,116,33,8,11,32,4,65,3,116,34,12,65,204,0,106,34,13,32,11,65,3,116,75,4,64,32,7,32,13,35,4,40,2,0,17,1,0,33,7,11,32,3,66,0,55,3,176,1,32,3,66,0,55,3,168,1,32,3,66,0,55,3,160,1,32,3,66,0,55,3,128,1,32,3,65,0,54,2,136,1,32,3,65,1,54,2,188,1,32,3,66,0,55,3,152,1,32,3,65,0,59,1,142,1,32,3,66,0,55,3,120,32,3,66,0,55,3,104,32,3,32,9,59,1,118,32,3,32,2,59,1,144,1,32,3,32,5,32,8,114,65,255,1,113,65,24,65,0,32,10,65,253,255,3,75,27,114,59,1,140,1,32,3,32,4,54,2,148,1,32,7,32,12,106,34,2,32,3,40,2,188,1,54,2,0,32,2,32,3,41,3,176,1,55,2,28,32,2,32,3,41,3,168,1,55,2,20,32,2,32,3,41,3,160,1,55,2,12,32,2,32,3,41,3,152,1,55,2,4,32,2,32,3,40,2,148,1,54,2,36,32,2,32,3,47,1,144,1,59,1,40,32,2,32,3,47,1,142,1,59,1,42,32,2,32,3,47,1,140,1,59,1,44,32,2,32,3,40,2,136,1,54,1,62,32,2,32,3,41,3,128,1,55,1,54,32,2,32,3,41,3,120,55,1,46,32,2,32,3,47,1,118,59,1,66,32,2,32,3,41,3,104,55,2,68,32,3,65,0,54,2,68,32,3,32,2,54,2,64,32,3,32,3,41,3,64,55,3,48,32,3,65,48,106,32,6,16,128,1,32,3,32,3,41,3,64,34,20,55,3,80,32,3,32,3,41,3,72,55,3,40,32,15,32,3,65,40,106,16,60,12,2,11,32,8,34,5,13,0,11,66,0,33,20,11,32,0,32,0,40,2,168,10,65,1,106,54,2,168,10,2,64,2,64,32,0,40,2,180,9,4,64,32,3,32,14,41,2,0,55,3,32,32,3,32,3,41,3,80,55,3,24,32,0,32,3,65,32,106,32,3,65,24,106,16,144,1,69,13,1,32,3,32,14,41,2,0,55,3,8,32,15,32,3,65,8,106,16,60,11,32,14,32,20,55,2,0,12,1,11,32,3,32,3,41,3,80,55,3,16,32,15,32,3,65,16,106,16,60,11,32,16,65,1,106,34,16,32,3,40,2,96,73,13,0,11,11,32,0,40,2,132,9,32,3,40,2,92,40,2,12,16,71,32,0,40,2,132,9,40,2,0,32,1,65,5,116,106,65,2,54,2,28,32,3,65,192,1,106,36,0,11,234,32,2,26,127,1,126,35,0,65,128,2,107,34,8,36,0,32,0,40,2,132,9,34,9,40,2,4,33,29,32,8,32,3,54,2,216,1,32,8,65,132,1,106,32,9,32,1,35,2,65,7,106,32,8,65,216,1,106,32,3,16,75,32,0,40,2,132,9,34,3,40,2,4,34,11,4,127,32,3,40,2,0,33,18,65,0,33,9,65,0,33,3,32,11,65,4,79,4,64,32,11,65,124,113,33,12,3,64,32,9,32,18,32,3,65,5,116,106,34,17,40,2,28,65,2,70,106,32,17,40,2,60,65,2,70,106,32,17,40,2,92,65,2,70,106,32,17,40,2,124,65,2,70,106,33,9,32,3,65,4,106,33,3,32,13,65,4,106,34,13,32,12,71,13,0,11,11,32,11,65,3,113,34,17,4,64,3,64,32,9,32,18,32,3,65,5,116,106,40,2,28,65,2,70,106,33,9,32,3,65,1,106,33,3,32,10,65,1,106,34,10,32,17,71,13,0,11,11,32,9,65,10,106,5,65,10,11,33,30,32,8,40,2,136,1,34,14,4,64,65,24,65,0,32,2,65,253,255,3,75,27,33,31,32,0,65,132,1,106,33,18,32,0,65,136,9,106,33,23,32,0,65,200,9,106,33,28,32,0,65,188,9,106,33,24,32,2,65,3,108,33,32,65,0,33,17,3,64,32,8,40,2,132,1,34,11,32,17,65,4,116,106,34,3,40,2,4,33,10,32,3,40,2,0,33,9,2,64,32,30,32,3,40,2,12,34,21,32,25,107,34,26,73,4,64,32,0,40,2,132,9,32,26,16,71,65,0,33,3,32,10,4,64,3,64,32,8,32,9,32,3,65,3,116,106,41,2,0,55,3,8,32,23,32,8,65,8,106,16,60,32,3,65,1,106,34,3,32,10,71,13,0,11,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,25,65,1,106,33,25,32,17,65,1,106,34,3,32,14,79,13,1,3,64,32,3,33,10,2,64,2,64,32,0,40,2,96,34,9,69,4,64,32,0,40,2,140,10,69,13,2,32,18,35,1,34,3,41,0,157,3,55,0,0,32,18,32,3,41,0,188,3,55,0,31,32,18,32,3,41,0,181,3,55,0,24,32,18,32,3,41,0,173,3,55,0,16,32,18,32,3,41,0,165,3,55,0,8,12,1,11,32,18,35,1,34,3,41,0,157,3,55,0,0,32,18,32,3,41,0,188,3,55,0,31,32,18,32,3,41,0,181,3,55,0,24,32,18,32,3,41,0,173,3,55,0,16,32,18,32,3,41,0,165,3,55,0,8,32,0,40,2,92,65,0,32,18,32,9,17,3,0,32,0,40,2,140,10,69,13,1,11,32,18,33,9,3,64,2,64,2,64,32,9,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,9,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,9,65,1,106,33,9,12,0,11,0,11,32,11,32,10,65,4,116,106,34,13,40,2,12,32,21,71,13,2,32,13,40,2,0,33,9,65,0,33,3,32,13,40,2,4,34,17,4,64,3,64,32,8,32,9,32,3,65,3,116,106,41,2,0,55,3,0,32,23,32,8,16,60,32,3,65,1,106,34,3,32,17,71,13,0,11,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,10,34,17,65,1,106,34,3,32,14,71,13,0,11,12,1,11,32,8,32,3,40,2,8,54,2,128,1,32,8,32,10,54,2,124,32,8,32,9,54,2,120,32,8,65,248,0,106,34,3,32,24,16,127,32,8,65,240,0,106,32,2,32,3,32,5,32,0,40,2,160,9,16,129,1,2,64,32,17,65,1,106,34,9,32,14,79,13,0,32,8,40,2,132,1,32,9,65,4,116,106,34,3,40,2,12,32,21,71,13,0,3,64,32,9,33,17,32,3,40,2,8,33,22,32,3,40,2,4,33,13,32,3,40,2,0,33,12,32,0,65,0,54,2,204,9,2,64,32,13,34,10,69,4,64,32,8,32,8,41,3,112,55,3,144,1,32,0,40,2,212,9,33,9,65,0,33,10,65,0,33,3,12,1,11,2,64,2,127,3,64,32,0,40,2,204,9,34,9,2,127,32,12,32,10,65,3,116,106,34,3,65,8,107,40,2,0,34,11,65,1,113,4,64,32,11,65,3,118,65,1,113,12,1,11,32,11,47,1,44,65,2,118,65,1,113,11,69,13,1,26,32,3,65,4,107,40,2,0,33,15,32,0,40,2,200,9,33,3,32,0,32,9,65,1,106,34,14,32,0,40,2,208,9,34,16,75,4,127,65,8,32,16,65,1,116,34,9,32,14,32,9,32,14,75,27,34,9,32,9,65,8,77,27,34,14,65,3,116,33,9,2,127,32,3,4,64,32,3,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,3,32,0,32,14,54,2,208,9,32,0,32,3,54,2,200,9,32,0,40,2,204,9,34,9,65,1,106,5,32,14,11,54,2,204,9,32,3,32,9,65,3,116,106,34,3,32,15,54,2,4,32,3,32,11,54,2,0,32,10,65,1,107,34,10,13,0,11,65,0,33,10,32,0,40,2,204,9,11,34,9,65,2,73,13,0,65,0,33,3,32,9,65,1,118,34,11,65,1,71,4,64,32,11,65,254,255,255,255,7,113,33,14,65,0,33,11,3,64,32,0,40,2,200,9,34,15,32,3,65,3,116,34,16,106,34,19,41,2,0,33,34,32,19,32,15,32,0,40,2,204,9,32,3,65,127,115,106,65,3,116,34,19,106,41,2,0,55,2,0,32,0,40,2,200,9,32,19,106,32,34,55,2,0,32,0,40,2,200,9,34,15,32,16,106,34,16,41,2,8,33,34,32,16,32,15,32,0,40,2,204,9,32,3,65,254,255,255,255,1,115,106,65,3,116,34,16,106,41,2,0,55,2,8,32,0,40,2,200,9,32,16,106,32,34,55,2,0,32,3,65,2,106,33,3,32,11,65,2,106,34,11,32,14,71,13,0,11,11,32,9,65,2,113,69,13,0,32,0,40,2,200,9,34,9,32,3,65,3,116,106,34,11,41,2,0,33,34,32,11,32,9,32,0,40,2,204,9,32,3,65,127,115,106,65,3,116,34,3,106,41,2,0,55,2,0,32,0,40,2,200,9,32,3,106,32,34,55,2,0,11,32,8,32,8,41,3,112,55,3,144,1,32,0,40,2,212,9,33,9,32,0,40,2,220,9,32,10,79,4,64,32,10,65,3,116,33,3,12,1,11,32,10,65,3,116,33,3,2,127,32,9,4,64,32,9,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,9,32,0,32,10,54,2,220,9,32,0,32,9,54,2,212,9,11,32,0,32,10,54,2,216,9,32,3,4,64,32,9,32,12,32,3,252,10,0,0,11,65,1,33,9,32,0,40,2,160,9,33,14,65,2,33,15,2,64,2,64,2,64,2,127,32,8,45,0,144,1,65,1,113,4,64,32,8,45,0,145,1,12,1,11,32,8,40,2,144,1,47,1,40,11,34,20,65,255,255,3,113,34,16,65,254,255,3,107,14,2,0,2,1,11,65,0,33,15,65,0,33,9,12,1,11,32,14,40,2,72,32,16,65,3,108,106,34,3,45,0,0,65,229,0,113,33,9,32,3,45,0,1,65,1,116,33,15,11,32,0,40,2,212,9,33,3,32,0,40,2,216,9,34,11,65,3,116,65,204,0,106,34,19,32,0,40,2,220,9,65,3,116,75,4,64,32,3,32,19,35,4,40,2,0,17,1,0,33,3,32,0,32,19,65,3,118,54,2,220,9,32,0,32,3,54,2,212,9,32,0,40,2,216,9,33,11,11,32,8,66,0,55,3,240,1,32,8,66,0,55,3,232,1,32,8,66,0,55,3,224,1,32,8,66,0,55,3,184,1,32,8,65,0,54,2,192,1,32,8,65,1,54,2,252,1,32,8,66,0,55,3,216,1,32,8,65,0,59,1,204,1,32,8,66,0,55,3,176,1,32,8,66,0,55,3,160,1,32,8,65,0,59,1,174,1,32,8,32,20,59,1,208,1,32,8,32,9,32,15,114,65,255,1,113,65,24,65,0,32,16,65,253,255,3,75,27,114,59,1,200,1,32,8,32,11,54,2,212,1,32,3,32,11,65,3,116,106,34,3,32,8,40,2,252,1,54,2,0,32,3,32,8,41,3,240,1,55,2,28,32,3,32,8,41,3,232,1,55,2,20,32,3,32,8,41,3,224,1,55,2,12,32,3,32,8,41,3,216,1,55,2,4,32,3,32,8,40,2,212,1,54,2,36,32,3,32,8,47,1,208,1,59,1,40,32,3,32,8,47,1,204,1,59,1,42,32,3,32,8,47,1,200,1,59,1,44,32,3,32,8,40,2,192,1,54,1,62,32,3,32,8,41,3,184,1,55,1,54,32,3,32,8,41,3,176,1,55,1,46,32,3,32,8,47,1,174,1,59,1,66,32,3,32,8,41,3,160,1,55,2,68,32,8,65,0,54,2,156,1,32,8,32,3,54,2,152,1,32,8,32,8,41,2,152,1,55,3,88,32,8,65,216,0,106,32,14,16,128,1,32,8,32,8,41,3,144,1,55,3,80,32,8,32,8,41,2,152,1,55,3,72,2,64,32,0,32,8,65,208,0,106,32,8,65,200,0,106,16,144,1,4,64,65,0,33,3,32,0,40,2,192,9,4,64,3,64,32,8,32,0,40,2,188,9,32,3,65,3,116,106,41,2,0,55,3,56,32,23,32,8,65,56,106,16,60,32,3,65,1,106,34,3,32,0,40,2,192,9,73,13,0,11,11,32,0,65,0,54,2,192,9,32,8,32,8,41,3,112,34,34,55,3,104,32,8,32,34,55,3,48,32,23,32,8,65,48,106,16,60,32,8,32,28,40,2,8,54,2,224,1,32,8,32,28,41,2,0,55,3,216,1,32,28,32,24,40,2,8,54,2,8,32,28,32,24,41,2,0,55,2,0,32,24,32,8,40,2,224,1,54,2,8,32,24,32,8,41,3,216,1,55,2,0,65,1,33,3,32,0,40,2,160,9,33,9,65,2,33,11,2,64,2,64,2,64,32,2,65,254,255,3,107,14,2,0,2,1,11,65,0,33,11,65,0,33,3,12,1,11,32,9,40,2,72,32,32,106,34,13,45,0,0,65,229,0,113,33,3,32,13,45,0,1,65,1,116,33,11,11,32,10,65,3,116,34,13,65,204,0,106,34,14,32,22,65,3,116,75,4,64,32,12,32,14,35,4,40,2,0,17,1,0,33,12,11,32,8,66,0,55,3,240,1,32,8,66,0,55,3,232,1,32,8,66,0,55,3,224,1,32,8,66,0,55,3,184,1,32,8,65,0,54,2,192,1,32,8,65,1,54,2,144,1,32,8,66,0,55,3,216,1,32,8,65,0,59,1,208,1,32,8,66,0,55,3,176,1,32,8,66,0,55,3,160,1,32,8,32,2,59,1,212,1,32,8,32,5,59,1,200,1,32,8,32,31,32,3,32,11,114,65,255,1,113,114,59,1,204,1,32,8,32,10,54,2,252,1,32,12,32,13,106,34,3,32,8,40,2,144,1,54,2,0,32,3,32,8,41,3,240,1,55,2,28,32,3,32,8,41,3,232,1,55,2,20,32,3,32,8,41,3,224,1,55,2,12,32,3,32,8,41,3,216,1,55,2,4,32,3,32,8,40,2,252,1,54,2,36,32,3,32,8,47,1,212,1,59,1,40,32,3,32,8,47,1,208,1,59,1,42,32,3,32,8,47,1,204,1,59,1,44,32,3,32,8,40,2,192,1,54,1,62,32,3,32,8,41,3,184,1,55,1,54,32,3,32,8,41,3,176,1,55,1,46,32,3,32,8,47,1,200,1,59,1,66,32,3,32,8,41,3,160,1,55,2,68,32,8,65,0,54,2,156,1,32,8,32,3,54,2,152,1,32,8,32,8,41,3,152,1,55,3,40,32,8,65,40,106,32,9,16,128,1,32,8,32,8,41,3,152,1,55,3,112,12,1,11,65,0,33,3,32,0,65,0,54,2,204,9,32,13,4,64,3,64,32,8,32,12,32,3,65,3,116,106,41,2,0,55,3,64,32,23,32,8,65,64,107,16,60,32,3,65,1,106,34,3,32,13,71,13,0,11,11,32,12,69,13,0,32,12,35,6,40,2,0,17,2,0,11,32,17,65,1,106,34,9,32,8,40,2,136,1,34,14,79,13,1,32,8,40,2,132,1,32,9,65,4,116,106,34,3,40,2,12,32,21,70,13,0,11,11,32,0,40,2,160,9,32,26,65,5,116,34,19,32,0,40,2,132,9,40,2,0,106,40,2,0,47,1,0,34,9,32,2,16,25,33,13,2,64,32,7,69,13,0,32,9,32,13,71,13,0,32,8,40,2,112,34,3,32,3,47,1,44,65,4,114,59,1,44,11,32,8,40,2,112,33,3,2,64,2,64,32,6,13,0,32,14,65,1,75,13,0,32,29,65,2,73,13,1,11,32,3,32,3,47,1,44,65,24,114,59,1,44,65,255,255,3,33,9,11,32,3,32,9,59,1,42,32,3,32,3,40,2,60,32,4,106,54,2,60,32,0,40,2,132,9,33,3,32,8,32,8,41,3,112,34,34,55,3,96,32,8,32,34,55,3,32,65,0,33,11,32,3,32,26,32,8,65,32,106,65,0,32,13,16,84,32,0,40,2,192,9,4,64,3,64,32,0,40,2,188,9,32,11,65,3,116,106,41,0,0,33,34,32,0,40,2,132,9,34,3,40,2,0,32,19,106,34,22,40,2,0,33,9,2,127,32,3,40,2,40,34,10,4,64,32,3,32,10,65,1,107,34,10,54,2,40,32,3,40,2,36,32,10,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,3,32,13,59,1,0,32,3,65,2,106,65,0,65,146,1,252,11,0,32,34,167,33,10,32,3,66,0,55,2,152,1,32,3,65,1,54,2,148,1,32,3,65,0,54,2,160,1,2,64,2,127,2,64,2,64,32,9,4,64,32,3,65,0,54,2,28,32,3,32,34,55,2,20,32,3,32,9,54,2,16,32,3,65,1,59,1,144,1,32,3,32,9,41,2,4,55,2,4,32,3,32,9,40,2,12,54,2,12,32,3,32,9,40,2,152,1,34,12,54,2,152,1,32,3,32,9,40,2,160,1,34,33,54,2,160,1,32,3,32,9,40,2,156,1,34,9,54,2,156,1,32,10,69,13,1,32,10,65,1,113,34,27,13,2,32,3,32,10,45,0,45,65,2,113,4,127,65,226,4,5,32,10,40,2,32,11,32,12,106,54,2,152,1,65,0,32,10,40,2,12,32,10,40,2,20,34,20,27,33,16,32,10,40,2,16,32,10,40,2,4,106,33,15,32,10,40,2,24,33,12,32,20,32,10,40,2,8,106,12,3,11,32,3,66,0,55,2,4,65,0,33,9,32,3,65,0,54,2,12,32,10,13,3,11,32,22,32,9,54,2,8,12,2,11,32,3,32,12,32,10,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,34,66,32,136,167,65,255,1,113,33,16,32,34,66,56,136,167,34,12,32,34,66,48,136,167,65,255,1,113,106,33,15,32,34,66,40,136,167,65,15,113,11,33,20,32,3,32,3,40,0,4,32,15,106,54,2,4,32,3,32,3,40,0,8,32,20,106,173,32,12,32,16,106,65,0,32,3,40,0,12,32,20,27,106,173,66,32,134,132,55,2,8,2,64,32,27,69,4,64,65,0,33,12,32,3,32,10,40,2,36,34,15,4,127,32,10,40,2,56,5,65,0,11,32,9,106,32,10,47,1,44,65,1,113,106,32,10,47,1,40,65,254,255,3,70,106,54,2,156,1,32,15,69,13,1,32,10,40,2,60,33,12,12,1,11,32,3,32,9,32,10,65,1,118,65,1,113,106,54,2,156,1,65,0,33,12,11,32,3,32,12,32,33,106,54,2,160,1,11,32,22,32,3,54,2,0,32,11,65,1,106,34,11,32,0,40,2,192,9,73,13,0,11,11,65,0,33,3,32,21,32,25,70,13,0,3,64,2,64,32,1,32,3,70,13,0,32,0,40,2,132,9,34,21,40,2,0,34,9,32,3,65,5,116,106,34,10,40,2,28,13,0,32,9,32,19,106,34,15,40,2,28,13,0,32,10,40,2,0,34,12,47,1,0,34,20,32,15,40,2,0,34,13,47,1,0,71,13,0,32,12,40,2,4,32,13,40,2,4,71,13,0,32,12,40,2,152,1,32,13,40,2,152,1,71,13,0,32,15,40,0,12,33,9,2,127,35,1,65,148,12,106,34,27,32,10,40,0,12,34,11,69,13,0,26,32,27,32,11,65,1,113,13,0,26,32,27,32,11,45,0,44,65,192,0,113,69,13,0,26,32,27,32,11,65,48,106,32,11,40,2,36,27,11,34,16,40,2,24,33,22,2,64,2,127,35,1,65,148,12,106,34,11,32,9,69,13,0,26,32,11,32,9,65,1,113,13,0,26,32,11,32,9,45,0,44,65,192,0,113,69,13,0,26,32,11,32,9,65,48,106,32,9,40,2,36,27,11,34,9,40,2,24,34,11,65,25,79,4,64,32,11,32,22,71,13,2,32,16,40,2,0,33,16,32,9,40,2,0,33,9,12,1,11,32,11,32,22,71,13,1,11,32,16,32,9,32,11,16,248,1,13,0,32,13,47,1,144,1,4,127,65,0,33,3,3,64,32,21,40,2,52,33,9,32,10,40,2,0,33,11,32,8,32,13,32,3,65,4,116,106,34,13,41,2,24,55,3,24,32,8,32,13,41,2,16,55,3,16,32,11,32,8,65,16,106,32,9,16,72,32,3,65,1,106,34,3,32,15,40,2,0,34,13,47,1,144,1,73,13,0,11,32,10,40,2,0,34,12,47,1,0,5,32,20,11,65,255,255,3,113,69,4,64,32,10,32,12,40,2,156,1,54,2,8,11,32,21,32,26,16,71,32,25,65,1,106,33,25,12,2,11,32,3,65,1,106,34,3,32,26,71,13,0,11,11,32,17,65,1,106,34,17,32,14,73,13,0,11,32,0,40,2,132,9,40,2,4,33,11,11,32,8,65,128,2,106,36,0,65,127,32,29,32,11,32,29,77,27,11,193,2,1,5,127,35,0,65,16,107,34,5,36,0,32,1,32,2,71,4,64,32,0,40,2,0,34,3,32,1,65,5,116,106,33,4,2,64,32,3,32,2,65,5,116,106,34,2,40,2,4,34,3,69,13,0,32,4,40,2,4,13,0,32,4,32,3,54,2,4,32,2,65,0,54,2,4,11,32,2,40,2,0,4,64,32,0,40,2,52,33,6,32,2,40,2,12,4,64,32,5,32,2,41,2,12,55,3,8,32,6,32,5,65,8,106,16,60,11,32,2,40,2,20,4,64,32,5,32,2,41,2,20,55,3,0,32,6,32,5,16,60,11,32,2,40,2,4,34,3,4,64,32,3,40,2,0,34,7,4,127,32,7,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,2,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,2,40,2,0,32,0,65,36,106,32,6,16,65,11,32,2,32,4,41,2,0,55,2,0,32,2,32,4,41,2,24,55,2,24,32,2,32,4,41,2,16,55,2,16,32,2,32,4,41,2,8,55,2,8,32,0,40,2,4,32,1,65,127,115,106,65,5,116,34,2,4,64,32,0,40,2,0,32,1,65,5,116,106,34,1,32,1,65,32,106,32,2,252,10,0,0,11,32,0,32,0,40,2,4,65,1,107,54,2,4,11,32,5,65,16,106,36,0,11,222,4,2,1,126,4,127,32,0,40,2,0,32,1,65,5,116,106,34,6,40,2,0,33,1,32,2,41,2,0,33,5,2,127,32,0,40,2,40,34,2,4,64,32,0,32,2,65,1,107,34,2,54,2,40,32,0,40,2,36,32,2,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,0,32,4,59,1,0,32,0,65,2,106,65,0,65,146,1,252,11,0,32,5,167,33,2,32,0,66,0,55,2,152,1,32,0,65,1,54,2,148,1,32,0,65,0,54,2,160,1,32,0,2,127,2,64,2,64,2,64,32,1,4,64,32,0,65,0,59,0,29,32,0,32,3,58,0,28,32,0,32,5,55,2,20,32,0,32,1,54,2,16,32,0,65,1,59,1,144,1,32,0,65,0,58,0,31,32,0,32,1,41,2,4,55,2,4,32,0,32,1,40,2,12,54,2,12,32,0,32,1,40,2,152,1,34,4,54,2,152,1,32,0,32,1,40,2,160,1,34,9,54,2,160,1,32,0,32,1,40,2,156,1,34,1,54,2,156,1,32,2,69,13,1,32,2,65,1,113,13,3,65,226,4,33,3,32,0,32,2,45,0,45,65,2,113,4,127,65,226,4,5,32,2,40,2,32,11,32,4,106,54,2,152,1,65,0,32,2,40,2,12,32,2,40,2,20,34,4,27,33,7,32,4,32,2,40,2,8,106,33,4,32,2,40,2,24,33,8,32,2,40,2,16,32,2,40,2,4,106,12,4,11,32,0,66,0,55,2,4,65,0,33,1,32,0,65,0,54,2,12,32,2,13,1,11,32,6,32,1,54,2,8,11,32,6,32,0,54,2,0,15,11,32,0,32,4,32,2,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,5,66,32,136,167,65,255,1,113,33,7,32,5,66,40,136,167,65,15,113,33,4,32,5,66,56,136,167,34,8,32,5,66,48,136,167,65,255,1,113,106,11,32,0,40,0,4,106,54,2,4,65,0,33,3,32,0,32,0,40,0,8,32,4,106,173,32,7,32,8,106,65,0,32,0,40,0,12,32,4,27,106,173,66,32,134,132,55,2,8,32,0,2,127,32,2,65,1,113,69,4,64,32,0,32,2,40,2,36,34,4,4,127,32,2,40,2,56,5,65,0,11,32,1,106,32,2,47,1,44,65,1,113,106,32,2,47,1,40,65,254,255,3,70,106,54,2,156,1,65,0,32,4,69,13,1,26,32,2,40,2,60,12,1,11,32,0,32,1,32,2,65,1,118,65,1,113,106,54,2,156,1,65,0,11,32,9,106,54,2,160,1,32,6,32,0,54,2,0,11,166,81,1,28,127,35,0,65,240,0,107,34,7,36,0,2,64,2,64,32,0,4,64,32,0,40,2,0,65,16,107,65,124,75,13,1,11,32,4,65,6,54,2,0,12,1,11,65,164,1,35,5,34,19,40,2,0,17,0,0,34,9,65,0,65,156,1,252,11,0,32,9,65,0,54,2,160,1,32,9,32,0,54,2,156,1,65,16,32,19,40,2,0,17,0,0,33,19,32,9,65,8,54,2,128,1,32,9,32,19,54,2,120,32,9,32,9,40,2,124,34,0,65,1,106,54,2,124,32,19,32,0,65,1,116,106,65,0,59,1,0,32,7,66,0,55,2,24,32,7,32,1,32,2,106,54,2,20,32,7,32,1,54,2,16,32,7,32,1,54,2,12,32,7,65,12,106,34,0,16,86,26,32,0,16,87,2,64,2,64,32,7,40,2,12,34,8,32,7,40,2,20,79,4,64,32,9,40,2,76,33,1,12,1,11,3,64,32,9,40,2,96,33,1,32,9,40,2,88,33,6,32,9,40,2,64,33,0,2,64,32,9,40,2,100,34,19,65,1,106,34,2,32,9,40,2,104,34,5,77,4,64,32,19,33,13,12,1,11,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,28,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,104,32,9,32,1,54,2,96,32,9,40,2,100,34,13,65,1,106,33,2,32,7,40,2,12,33,8,11,32,9,32,2,54,2,100,32,7,65,0,58,0,10,32,7,65,0,59,1,8,32,7,40,2,16,33,2,32,1,32,13,65,28,108,106,34,1,65,0,58,0,24,32,1,65,0,54,2,20,32,1,65,0,54,2,12,32,1,32,6,54,2,8,32,1,65,0,54,2,4,32,1,32,0,54,2,0,32,1,32,8,32,2,107,54,2,16,32,1,32,7,47,1,8,59,0,25,32,1,32,7,45,0,10,58,0,27,32,7,65,0,54,2,40,32,7,66,0,55,2,32,32,4,32,9,32,7,65,12,106,65,0,65,0,32,7,65,32,106,16,88,54,2,0,32,9,40,2,60,33,1,32,9,32,9,40,2,64,34,8,65,1,106,34,2,32,9,40,2,68,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,20,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,68,32,9,32,1,54,2,60,32,9,40,2,64,34,8,65,1,106,5,32,2,11,54,2,64,32,7,65,255,255,3,59,1,4,32,7,65,127,54,2,0,32,1,32,8,65,20,108,106,34,1,65,0,54,1,2,32,1,65,0,59,1,0,32,1,32,7,40,2,0,54,1,6,32,1,32,7,47,1,4,59,1,10,32,1,66,255,255,255,255,15,55,1,12,32,9,40,2,96,32,9,40,2,100,65,28,108,106,34,1,65,24,107,32,9,40,2,64,32,0,107,54,2,0,32,1,65,16,107,32,9,40,2,88,32,6,107,54,2,0,32,1,65,8,107,32,7,40,2,12,32,7,40,2,16,107,34,2,54,2,0,32,4,40,2,0,34,1,4,64,32,1,65,127,70,4,64,32,4,65,1,54,2,0,11,32,3,32,2,54,2,0,32,7,40,2,32,34,0,69,13,3,32,0,35,6,40,2,0,17,2,0,12,3,11,32,9,40,2,48,33,1,32,9,32,9,40,2,52,34,8,65,1,106,34,2,32,9,40,2,56,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,2,65,12,108,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,9,32,2,54,2,56,32,9,32,1,54,2,48,32,9,40,2,52,34,8,65,1,106,5,32,2,11,54,2,52,32,1,32,8,65,12,108,106,34,1,32,7,41,2,32,55,2,0,32,1,32,7,40,2,40,54,2,8,65,255,255,3,33,8,3,64,2,127,2,64,32,9,40,2,60,34,12,32,0,65,20,108,106,34,1,47,1,0,13,0,32,1,47,1,12,13,0,32,1,47,1,4,13,0,32,12,32,0,65,1,106,34,11,65,20,108,106,34,15,47,1,0,69,13,0,32,15,47,1,12,65,1,71,13,0,32,15,45,0,18,65,2,113,13,0,32,1,47,1,14,12,1,11,32,1,33,15,32,0,33,11,32,8,11,33,10,32,9,40,2,64,33,5,32,15,47,1,12,34,2,69,33,16,32,11,33,0,2,64,3,64,32,0,65,1,106,34,0,32,5,79,13,1,32,12,32,0,65,20,108,106,34,1,45,0,18,65,16,113,13,1,32,1,47,1,12,32,2,71,13,0,11,65,0,33,16,11,32,15,47,1,0,33,17,2,64,32,9,40,2,76,34,5,32,9,47,1,160,1,34,0,107,34,1,69,4,64,32,9,40,2,72,33,8,12,1,11,32,9,40,2,72,33,8,32,1,65,1,71,4,64,3,64,32,1,65,1,118,34,6,32,0,106,34,2,32,0,32,17,32,12,32,8,32,2,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,27,33,0,32,1,32,6,107,34,1,65,1,75,13,0,11,11,32,0,32,17,32,12,32,8,32,0,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,106,33,0,11,2,64,32,0,32,5,79,13,0,3,64,32,12,32,8,32,0,65,6,108,106,34,1,47,1,0,65,20,108,106,47,1,0,32,17,71,13,1,32,1,47,1,2,32,19,65,255,255,3,113,79,13,1,32,0,65,1,106,34,0,32,5,71,13,0,11,32,5,33,0,11,32,5,65,1,106,34,2,32,9,40,2,80,75,4,64,32,2,65,6,108,33,1,2,127,32,8,4,64,32,8,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,8,32,9,32,2,54,2,80,32,9,32,8,54,2,72,32,9,40,2,76,33,5,11,32,0,65,6,108,33,2,2,64,32,0,32,5,79,13,0,32,5,32,0,107,65,6,108,34,1,69,13,0,32,2,32,8,106,34,0,65,6,106,32,0,32,1,252,10,0,0,11,32,2,32,8,106,34,0,65,0,58,0,5,32,0,32,16,58,0,4,32,0,32,19,59,0,2,32,0,32,11,59,0,0,32,9,32,9,40,2,76,65,1,106,34,1,54,2,76,32,15,47,1,0,69,4,64,32,9,32,9,47,1,160,1,65,1,106,59,1,160,1,11,32,15,47,1,14,34,0,65,255,255,3,71,4,64,32,10,33,8,12,1,11,65,255,255,3,33,8,32,10,65,255,255,3,113,34,0,65,255,255,3,71,13,0,11,32,7,40,2,12,34,8,32,7,40,2,20,73,13,0,11,11,65,0,33,19,2,64,32,1,69,4,64,12,1,11,65,0,33,0,65,0,33,8,3,64,2,64,32,9,40,2,72,32,0,65,6,108,106,34,2,45,0,4,13,0,32,9,40,2,60,32,2,47,1,0,65,20,108,106,47,1,0,69,13,0,2,64,32,26,65,1,106,34,2,32,8,77,13,0,65,8,32,8,65,1,116,34,1,32,2,32,1,32,2,75,27,34,1,32,1,65,8,77,27,34,8,65,1,116,33,1,32,24,4,64,32,24,32,1,35,4,40,2,0,17,1,0,33,24,12,1,11,32,1,35,5,40,2,0,17,0,0,33,24,11,32,24,32,26,65,1,116,106,32,0,59,1,0,32,9,40,2,76,33,1,32,2,33,26,11,32,0,65,1,106,34,0,32,1,73,13,0,11,11,2,64,2,64,32,9,40,2,64,69,4,64,65,1,33,32,12,1,11,65,0,33,10,65,0,33,11,3,64,2,127,32,9,40,2,60,32,19,65,20,108,106,34,12,47,1,12,34,17,65,255,255,3,70,4,64,32,12,32,12,47,1,18,65,128,3,114,59,1,18,32,19,65,1,106,12,1,11,32,12,32,12,47,1,18,34,5,65,191,127,113,65,192,0,65,0,32,12,47,1,6,65,255,255,3,71,27,114,34,6,59,1,18,32,19,65,1,106,34,0,32,9,40,2,64,34,8,79,4,64,32,0,12,1,11,32,0,33,1,2,64,2,64,32,12,47,1,0,4,64,32,0,32,9,40,2,60,32,0,65,20,108,106,34,6,47,1,12,34,2,65,255,255,3,70,13,3,26,32,0,32,2,32,17,77,13,3,26,32,6,47,1,6,65,255,255,3,71,4,64,32,12,32,5,65,192,0,114,59,1,18,11,32,6,32,6,47,1,18,65,128,3,114,59,1,18,2,64,32,19,65,2,106,34,2,32,9,40,2,64,79,13,0,3,64,32,9,40,2,60,32,2,65,20,108,106,34,5,47,1,12,34,1,65,255,255,3,70,13,1,32,1,32,12,47,1,12,77,13,1,32,5,47,1,6,65,255,255,3,71,4,64,32,12,32,12,47,1,18,65,192,0,114,59,1,18,11,32,5,32,5,47,1,18,65,128,3,114,59,1,18,32,2,65,1,106,34,2,32,9,40,2,64,73,13,0,11,11,32,11,65,1,106,34,1,32,14,77,13,2,65,8,32,14,65,1,116,34,2,32,1,32,1,32,2,73,27,34,2,32,2,65,8,77,27,34,14,65,2,116,33,2,32,10,69,13,1,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,2,11,3,64,32,0,32,9,40,2,60,32,1,65,20,108,106,34,19,47,1,12,34,2,65,255,255,3,70,13,3,26,32,0,32,2,32,17,77,13,3,26,32,19,47,1,6,65,255,255,3,71,4,64,32,12,32,6,65,192,0,114,34,6,59,1,18,32,9,40,2,64,33,8,11,32,1,65,1,106,34,1,32,8,73,13,0,11,32,0,12,2,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,11,65,2,116,106,32,19,54,2,0,32,1,33,11,32,0,11,33,19,32,19,32,9,40,2,64,73,13,0,11,32,11,69,4,64,65,1,33,32,32,10,33,19,12,1,11,65,0,33,13,65,0,33,12,65,0,33,5,3,64,32,9,40,2,60,32,10,32,27,65,2,116,106,40,2,0,65,20,108,106,47,1,0,33,6,65,0,33,0,32,7,65,0,59,1,56,32,7,66,0,55,3,48,32,7,66,0,55,3,40,32,7,66,0,55,3,32,32,12,34,1,33,2,2,64,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,6,32,13,32,0,65,28,108,106,47,1,0,34,1,70,13,1,32,0,32,1,32,6,73,106,33,2,11,32,5,32,12,65,1,106,34,0,73,4,64,32,0,65,28,108,33,1,2,127,32,13,4,64,32,13,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,13,32,0,33,5,11,32,2,65,28,108,33,19,2,64,32,2,32,12,79,13,0,32,12,32,2,107,65,28,108,34,2,69,13,0,32,13,32,19,106,34,1,65,28,106,32,1,32,2,252,10,0,0,11,32,13,32,19,106,34,1,32,6,59,0,0,32,1,32,7,41,3,32,55,0,2,32,1,32,7,41,3,40,55,0,10,32,1,32,7,41,3,48,55,0,18,32,1,32,7,47,1,56,59,0,26,32,0,33,12,11,32,27,65,1,106,34,27,32,11,71,13,0,11,32,10,33,19,32,11,33,27,12,1,11,65,0,33,5,65,0,33,12,65,0,33,13,11,32,9,40,2,156,1,34,6,47,1,4,32,6,47,1,12,34,8,75,4,64,3,64,2,64,32,8,65,254,255,3,71,4,64,32,6,40,2,72,32,8,65,3,108,106,45,0,0,65,1,113,13,1,11,65,0,33,0,32,7,65,0,59,1,56,32,7,66,0,55,3,48,32,7,66,0,55,3,40,32,7,66,0,55,3,32,32,12,34,1,33,2,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,8,32,13,32,0,65,28,108,106,47,1,0,73,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,8,32,13,32,0,65,28,108,106,47,1,0,34,1,70,13,1,32,0,32,1,32,8,73,106,33,2,11,32,5,32,12,65,1,106,34,0,73,4,64,32,0,65,28,108,33,1,2,127,32,13,4,64,32,13,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,13,32,0,33,5,11,32,2,65,28,108,33,6,2,64,32,2,32,12,79,13,0,32,12,32,2,107,65,28,108,34,2,69,13,0,32,6,32,13,106,34,1,65,28,106,32,1,32,2,252,10,0,0,11,32,6,32,13,106,34,1,32,8,59,0,0,32,1,32,7,47,1,56,59,0,26,32,1,32,7,41,3,48,55,0,18,32,1,32,7,41,3,40,55,0,10,32,1,32,7,41,3,32,55,0,2,32,9,40,2,156,1,33,6,32,0,33,12,11,32,8,65,1,106,34,8,32,6,47,1,4,73,13,0,11,11,32,6,40,2,20,65,129,2,108,65,2,35,7,40,2,0,17,1,0,33,30,32,9,40,2,156,1,34,18,47,1,20,65,254,255,3,113,4,64,65,1,33,15,3,64,2,127,32,18,40,2,24,34,31,32,15,77,4,64,32,18,40,2,44,32,18,40,2,48,32,15,32,31,107,65,2,116,106,40,2,0,65,1,116,106,34,6,65,2,106,33,25,32,6,47,1,0,12,1,11,32,18,40,2,40,32,18,40,2,4,32,15,108,65,1,116,106,65,2,107,33,6,65,0,33,25,65,0,11,33,23,65,0,33,20,65,255,255,3,33,16,65,0,33,17,65,0,33,28,3,64,2,64,2,64,2,64,2,64,2,64,2,64,32,15,32,31,73,4,64,32,18,40,2,4,33,1,3,64,32,1,32,16,65,1,106,34,16,65,255,255,3,113,34,0,77,13,7,32,6,47,1,2,33,5,32,6,65,2,106,34,11,33,6,32,5,69,13,0,11,12,1,11,32,6,65,2,106,34,11,32,25,71,13,1,32,23,65,255,255,3,113,69,13,5,32,6,65,6,106,34,11,32,6,47,1,4,65,1,116,106,33,25,32,23,65,1,107,33,23,32,6,47,1,2,33,5,32,6,47,1,6,34,16,33,0,11,32,18,40,2,12,32,0,75,13,1,32,11,33,6,12,3,11,32,11,47,1,0,33,16,12,1,11,32,18,40,2,52,32,5,65,255,255,3,113,65,3,116,106,34,0,65,8,106,33,28,32,0,45,0,0,33,20,65,0,33,17,11,32,20,65,255,255,3,113,34,14,69,4,64,32,11,33,6,32,17,33,5,12,1,11,65,0,33,10,3,64,2,64,2,64,2,64,32,28,32,10,65,3,116,106,34,22,45,0,0,14,2,1,0,2,11,32,9,40,2,156,1,34,0,40,2,76,32,22,47,1,2,34,29,65,1,116,106,34,6,65,2,106,33,5,2,64,32,0,40,2,80,34,21,47,1,0,34,2,65,1,107,65,255,255,3,113,32,29,79,13,0,32,21,65,2,106,33,1,65,0,33,0,3,64,2,64,32,0,65,2,106,33,8,32,1,32,0,65,1,116,106,47,1,0,33,0,32,2,65,255,255,3,113,32,29,70,13,0,32,29,32,21,32,0,32,8,106,34,0,65,1,116,106,47,1,0,34,2,65,1,107,65,255,255,3,113,75,13,1,12,2,11,11,32,21,32,8,65,1,116,106,34,6,32,6,32,0,65,1,116,106,34,5,79,13,2,11,32,12,69,13,1,3,64,32,6,47,1,0,33,8,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,8,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,2,64,32,13,32,0,65,28,108,106,34,21,47,1,0,32,8,71,13,0,32,21,40,2,16,33,1,32,21,40,2,20,34,2,4,64,32,15,32,1,32,2,65,6,108,106,65,6,107,47,1,0,70,13,1,11,32,21,32,2,65,1,106,34,8,32,21,40,2,24,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,8,32,0,32,8,75,27,34,0,32,0,65,8,77,27,34,0,65,6,108,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,21,32,0,54,2,24,32,21,32,1,54,2,16,32,21,40,2,20,34,2,65,1,106,5,32,8,11,54,2,20,32,22,45,0,1,33,8,32,22,47,1,6,33,0,32,1,32,2,65,6,108,106,34,1,65,0,58,0,5,32,1,32,0,59,1,2,32,1,32,15,59,1,0,32,1,32,8,65,128,1,114,58,0,4,11,32,6,65,2,106,34,6,32,5,73,13,0,11,12,1,11,32,22,45,0,4,13,0,32,30,32,22,47,1,2,65,130,4,108,106,34,1,47,1,0,34,0,4,64,32,0,65,255,1,75,13,1,32,15,32,1,32,0,65,1,116,106,47,1,0,70,13,1,11,32,1,32,0,65,1,106,34,0,59,1,0,32,1,32,0,65,255,255,3,113,65,1,116,106,32,15,59,1,0,11,32,10,65,1,106,34,10,32,14,71,13,0,11,32,11,33,6,12,2,11,65,0,33,20,65,0,33,17,32,5,65,255,255,3,113,34,0,69,13,1,2,64,32,0,32,15,70,13,0,32,30,32,0,65,130,4,108,106,34,1,47,1,0,34,0,4,64,32,0,65,255,1,75,13,1,32,15,32,1,32,0,65,1,116,106,47,1,0,70,13,1,11,32,1,32,0,65,1,106,34,0,59,1,0,32,1,32,0,65,255,255,3,113,65,1,116,106,32,15,59,1,0,11,32,9,40,2,156,1,34,0,40,2,0,65,14,79,4,64,32,5,33,17,32,15,32,0,40,2,132,1,32,15,65,1,116,106,47,1,0,71,13,2,11,32,0,40,2,76,32,16,65,255,255,3,113,34,17,65,1,116,106,34,14,65,2,106,33,11,2,64,32,0,40,2,80,34,8,47,1,0,34,2,65,1,107,65,255,255,3,113,32,17,79,13,0,32,8,65,2,106,33,1,65,0,33,0,3,64,2,64,32,0,65,2,106,33,10,32,1,32,0,65,1,116,106,47,1,0,33,0,32,2,65,255,255,3,113,32,17,70,13,0,32,17,32,8,32,0,32,10,106,34,0,65,1,116,106,47,1,0,34,2,65,1,107,65,255,255,3,113,75,13,1,12,2,11,11,32,5,33,17,32,8,32,10,65,1,116,106,34,14,32,14,32,0,65,1,116,106,34,11,79,13,2,11,32,5,33,17,32,12,69,13,1,3,64,32,14,47,1,0,33,5,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,5,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,2,64,32,5,32,13,32,0,65,28,108,106,34,5,47,1,0,71,13,0,32,5,40,2,4,33,1,32,5,40,2,8,34,2,4,64,32,15,32,1,32,2,65,1,116,106,65,2,107,47,1,0,70,13,1,11,32,5,32,2,65,1,106,34,8,32,5,40,2,12,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,8,32,0,32,8,75,27,34,0,32,0,65,8,77,27,34,0,65,1,116,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,5,32,0,54,2,12,32,5,32,1,54,2,4,32,5,40,2,8,34,2,65,1,106,5,32,8,11,54,2,8,32,1,32,2,65,1,116,106,32,15,59,1,0,11,32,14,65,2,106,34,14,32,11,73,13,0,11,12,1,11,11,32,15,65,1,106,34,15,32,9,40,2,156,1,34,18,47,1,20,73,13,0,11,11,2,64,32,12,69,4,64,65,0,33,12,65,0,33,20,12,1,11,32,13,65,28,106,33,21,65,0,33,25,65,0,33,0,65,0,33,20,3,64,2,64,32,13,32,25,65,28,108,34,2,106,34,16,40,2,20,34,18,69,4,64,32,16,40,2,4,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,16,65,0,54,2,12,32,16,66,0,55,2,4,11,32,12,32,25,65,127,115,106,65,28,108,34,1,4,64,32,16,32,2,32,21,106,32,1,252,10,0,0,11,32,12,65,1,107,33,12,12,1,11,32,18,65,6,108,33,1,2,64,2,64,2,64,32,0,32,18,79,4,64,32,1,69,13,1,32,20,32,16,40,2,16,32,1,252,10,0,0,12,1,11,2,127,32,20,4,64,32,20,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,20,32,16,40,2,20,34,1,65,6,108,34,0,4,64,32,20,32,16,40,2,16,32,0,252,10,0,0,11,32,1,69,13,2,12,1,11,32,18,33,1,32,0,33,18,11,3,64,2,64,32,20,32,1,65,1,107,34,17,65,6,108,106,34,2,45,0,4,34,1,65,254,0,113,69,4,64,32,17,33,1,12,1,11,32,30,32,2,47,1,0,65,130,4,108,106,34,0,47,1,0,34,31,69,4,64,32,17,33,1,12,1,11,32,2,47,1,2,33,5,32,0,65,2,106,33,14,32,1,65,1,107,65,255,0,113,33,22,65,0,33,28,3,64,32,14,32,28,65,1,116,106,47,1,0,33,23,32,16,40,2,16,33,8,65,0,33,2,32,16,40,2,20,34,10,33,0,2,64,2,64,2,64,2,64,32,10,34,1,14,2,2,1,0,11,3,64,2,64,2,64,32,23,32,8,32,0,65,1,118,34,15,32,2,106,34,1,65,6,108,106,34,29,47,1,0,34,6,75,13,0,32,6,32,23,75,13,1,32,29,45,0,4,34,11,65,255,0,113,34,6,32,22,73,13,0,32,11,192,65,0,72,13,1,32,6,32,22,75,13,1,32,5,32,29,47,1,2,34,6,75,13,0,32,5,32,6,73,13,1,11,32,1,33,2,11,32,0,32,15,107,34,0,65,1,75,13,0,11,11,2,64,2,64,32,23,32,8,32,2,65,6,108,106,34,6,47,1,0,34,0,75,13,0,32,0,32,23,75,4,64,32,2,33,1,12,3,11,32,6,45,0,4,34,1,65,255,0,113,34,0,32,22,73,13,0,32,1,192,65,0,72,4,64,32,2,33,1,12,3,11,32,0,32,22,75,4,64,32,2,33,1,12,3,11,32,5,32,6,47,1,2,34,0,77,13,1,11,32,2,65,1,106,33,1,12,1,11,32,2,33,1,32,0,32,5,75,13,0,32,17,33,1,12,1,11,32,10,65,1,106,34,2,32,16,40,2,24,75,4,64,32,2,65,6,108,33,0,2,127,32,8,4,64,32,8,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,8,32,16,32,2,54,2,24,32,16,32,8,54,2,16,32,16,40,2,20,33,10,11,32,1,65,6,108,33,2,2,64,32,1,32,10,79,13,0,32,10,32,1,107,65,6,108,34,1,69,13,0,32,2,32,8,106,34,0,65,6,106,32,0,32,1,252,10,0,0,11,32,2,32,8,106,34,0,65,0,58,0,5,32,0,32,22,58,0,4,32,0,32,5,59,0,2,32,0,32,23,59,0,0,32,16,32,16,40,2,20,65,1,106,54,2,20,2,64,32,17,65,1,106,34,1,32,18,77,13,0,65,8,32,18,65,1,116,34,0,32,1,32,0,32,1,75,27,34,0,32,0,65,8,77,27,34,18,65,6,108,33,0,32,20,4,64,32,20,32,0,35,4,40,2,0,17,1,0,33,20,12,1,11,32,0,35,5,40,2,0,17,0,0,33,20,11,32,20,32,17,65,6,108,106,34,0,65,0,58,0,5,32,0,32,22,58,0,4,32,0,32,5,59,1,2,32,0,32,23,59,1,0,32,1,33,17,11,32,28,65,1,106,34,28,32,31,71,13,0,11,11,32,1,13,0,11,11,32,25,65,1,106,33,25,32,18,33,0,11,32,12,32,25,75,13,0,11,11,32,7,65,32,106,65,0,65,204,0,252,11,0,65,1,33,17,2,64,32,32,13,0,65,0,33,16,32,3,2,127,3,64,2,64,2,64,32,9,40,2,60,32,19,32,16,65,2,116,106,47,1,0,34,15,65,20,108,106,34,5,47,1,0,34,14,65,255,255,3,70,13,0,2,64,32,12,4,64,65,0,33,0,32,12,34,1,65,2,79,4,64,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,13,32,0,65,28,108,106,47,1,0,32,14,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,13,32,0,65,28,108,106,47,1,0,34,17,32,14,70,13,1,11,32,15,65,1,106,33,5,32,9,40,2,108,33,6,65,0,33,1,2,64,2,64,2,64,32,9,40,2,112,34,0,14,2,2,1,0,11,3,64,32,1,32,0,65,1,118,34,2,32,1,106,34,1,32,5,32,6,32,1,65,3,116,106,47,1,4,73,27,33,1,32,0,32,2,107,34,0,65,1,75,13,0,11,11,32,1,32,5,32,6,32,1,65,3,116,106,47,1,4,34,0,71,32,0,32,15,77,113,106,33,0,11,32,6,32,0,65,3,116,106,12,4,11,32,5,47,1,12,33,18,32,7,40,2,68,33,1,32,7,40,2,32,33,11,32,7,40,2,36,34,10,32,7,40,2,72,34,6,106,34,2,32,7,40,2,76,34,5,75,4,64,32,2,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,2,54,2,76,32,7,32,1,54,2,68,32,2,33,5,11,2,64,32,10,69,13,0,32,10,65,2,116,33,10,32,1,32,6,65,2,116,106,33,6,32,11,4,64,32,10,69,13,1,32,6,32,11,32,10,252,10,0,0,12,1,11,32,10,69,13,0,32,6,65,0,32,10,252,11,0,11,32,7,65,0,54,2,36,32,7,40,2,56,33,10,32,5,32,7,40,2,60,34,6,32,2,106,34,11,73,4,64,32,11,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,11,54,2,76,32,7,32,1,54,2,68,11,32,14,32,17,75,32,0,106,33,0,2,64,32,6,69,13,0,32,6,65,2,116,33,5,32,1,32,2,65,2,116,106,33,1,32,10,4,64,32,5,69,13,1,32,1,32,10,32,5,252,10,0,0,12,1,11,32,5,69,13,0,32,1,65,0,32,5,252,11,0,11,32,7,65,0,54,2,60,32,7,32,11,54,2,72,32,13,32,0,65,28,108,106,34,11,40,2,8,4,64,32,15,65,1,106,33,17,65,0,33,2,3,64,32,11,40,2,4,32,2,65,1,116,106,47,1,0,33,1,2,127,32,7,40,2,72,34,0,4,64,32,7,32,0,65,1,107,34,0,54,2,72,32,7,40,2,68,32,0,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,0,66,0,55,1,4,32,0,32,14,59,1,2,32,0,32,1,59,1,0,32,0,32,14,59,1,68,32,0,32,17,59,1,66,32,0,65,1,59,1,64,32,0,66,0,55,1,12,32,0,66,0,55,1,20,32,0,66,0,55,1,28,32,0,66,0,55,1,36,32,0,66,0,55,1,44,32,0,66,0,55,1,52,32,0,65,0,54,1,60,32,7,40,2,32,33,1,32,7,40,2,36,34,6,65,1,106,34,8,32,7,40,2,40,34,5,75,4,64,65,8,32,5,65,1,116,34,5,32,8,32,5,32,8,75,27,34,5,32,5,65,8,77,27,34,5,65,2,116,33,10,2,127,32,1,4,64,32,1,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,1,32,7,32,5,54,2,40,32,7,32,1,54,2,32,11,32,7,32,8,54,2,36,32,1,32,6,65,2,116,106,32,0,54,2,0,32,2,65,1,106,34,2,32,11,40,2,8,73,13,0,11,11,32,7,65,0,58,0,104,32,9,32,13,32,12,32,7,65,32,106,16,89,32,7,45,0,104,65,1,70,4,64,32,15,65,1,106,34,0,32,9,40,2,64,34,8,79,13,1,3,64,32,9,40,2,60,32,0,65,20,108,106,34,2,47,1,12,34,1,32,18,77,13,2,32,1,65,255,255,3,70,13,2,32,2,47,1,18,34,1,65,16,113,69,4,64,32,2,32,1,65,239,252,3,113,59,1,18,32,9,40,2,64,33,8,11,32,0,65,1,106,34,0,32,8,73,13,0,11,12,1,11,32,7,40,2,84,33,8,32,7,40,2,96,69,13,1,65,0,33,0,32,8,69,13,0,3,64,2,64,32,9,40,2,60,32,7,40,2,80,32,0,65,1,116,106,47,1,0,65,20,108,106,34,2,47,1,12,34,1,65,255,255,3,70,13,0,32,1,32,18,77,13,0,32,2,47,1,18,34,1,65,16,113,13,0,32,2,32,1,65,239,252,3,113,59,1,18,32,7,40,2,84,33,8,11,32,0,65,1,106,34,0,32,8,73,13,0,11,11,65,1,33,17,32,16,65,1,106,34,16,32,27,71,13,1,12,3,11,11,32,7,40,2,80,32,8,65,1,116,106,65,2,107,47,1,0,33,6,32,9,40,2,108,33,17,65,0,33,0,32,9,40,2,112,34,5,33,1,2,64,2,64,2,64,32,5,34,2,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,17,32,0,65,3,116,106,47,1,4,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,0,32,17,32,0,65,3,116,106,47,1,4,32,6,73,106,33,2,11,32,17,32,2,32,5,65,1,107,32,2,32,5,73,27,65,3,116,106,11,40,2,0,54,2,0,65,0,33,17,11,65,0,33,16,2,64,32,9,40,2,100,69,4,64,65,0,33,14,12,1,11,65,0,33,10,65,0,33,14,3,64,65,0,33,6,2,64,32,9,40,2,96,32,16,65,28,108,106,34,8,40,2,8,34,5,32,5,32,8,40,2,12,106,34,3,79,13,0,3,64,2,64,32,9,40,2,84,32,5,65,3,116,106,34,0,40,2,0,65,1,71,13,0,32,0,40,2,4,33,18,65,0,33,0,32,6,34,1,33,2,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,18,65,255,255,3,113,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,14,32,0,65,1,116,106,47,1,0,34,2,32,18,65,255,255,3,113,34,1,70,13,1,32,0,32,1,32,2,75,106,33,2,11,32,10,32,6,65,1,106,34,0,73,4,64,32,0,65,1,116,33,1,2,127,32,14,4,64,32,14,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,14,32,0,33,10,11,32,2,65,1,116,33,11,2,64,32,2,32,6,79,13,0,32,6,32,2,107,65,1,116,34,2,69,13,0,32,11,32,14,106,34,1,65,2,106,32,1,32,2,252,10,0,0,11,32,11,32,14,106,32,18,59,0,0,32,0,33,6,11,32,5,65,1,106,34,5,32,3,71,13,0,11,32,8,40,2,0,34,5,32,5,32,8,40,2,4,106,34,11,79,13,0,32,6,69,13,0,32,6,65,1,71,4,64,3,64,65,0,33,0,32,6,33,1,2,64,32,9,40,2,60,32,5,65,20,108,106,34,18,47,1,6,34,3,65,255,255,3,70,13,0,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,2,64,32,14,32,0,65,1,116,106,47,1,0,32,3,70,13,0,65,0,33,0,32,6,33,1,32,18,47,1,8,34,3,65,255,255,3,70,13,1,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,32,14,32,0,65,1,116,106,47,1,0,32,3,70,13,0,65,0,33,0,32,6,33,1,32,18,47,1,10,34,3,65,255,255,3,70,13,1,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,14,32,0,65,1,116,106,47,1,0,32,3,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,32,14,32,0,65,1,116,106,47,1,0,32,3,71,13,1,11,32,18,32,18,47,1,18,65,255,254,3,113,59,1,18,11,32,5,65,1,106,34,5,32,11,71,13,0,12,2,11,0,11,3,64,2,64,32,9,40,2,60,32,5,65,20,108,106,34,2,47,1,6,34,0,65,255,255,3,70,13,0,2,64,32,14,47,1,0,34,1,32,0,70,13,0,32,2,47,1,8,34,0,65,255,255,3,70,13,1,32,0,32,1,70,13,0,32,2,47,1,10,34,0,65,255,255,3,70,13,1,32,0,32,1,71,13,1,11,32,2,32,2,47,1,18,65,255,254,3,113,59,1,18,11,32,5,65,1,106,34,5,32,11,71,13,0,11,11,32,16,65,1,106,34,16,32,9,40,2,100,73,13,0,11,11,2,64,32,9,40,2,64,69,13,0,3,64,65,1,33,6,32,9,40,2,64,34,2,65,1,107,34,0,69,13,1,3,64,32,2,33,1,2,64,32,9,40,2,60,34,5,32,0,34,2,65,20,108,106,34,3,47,1,12,65,255,255,3,70,13,0,32,3,45,0,18,65,128,1,113,13,0,3,64,2,64,32,5,32,0,65,20,108,106,47,1,14,34,0,65,255,255,3,70,13,0,32,0,32,2,73,13,0,32,5,32,0,65,20,108,106,45,0,18,65,128,1,113,69,13,1,12,2,11,11,32,5,32,1,65,20,108,106,34,1,65,22,107,34,0,47,1,0,34,3,65,16,113,13,0,32,3,65,128,1,113,69,13,0,32,1,65,28,107,47,1,0,65,255,255,3,70,13,0,32,0,32,3,65,239,254,3,113,59,1,0,65,0,33,6,11,32,2,65,1,107,34,0,13,0,11,32,6,65,1,113,69,13,0,11,11,32,7,65,0,58,0,104,32,26,4,64,65,0,33,16,3,64,32,24,32,16,65,1,116,106,47,1,0,33,5,32,9,40,2,72,33,3,32,7,40,2,68,33,0,32,7,40,2,32,33,11,32,7,40,2,36,34,10,32,7,40,2,72,34,2,106,34,1,32,7,40,2,76,34,8,75,4,64,32,1,65,2,116,33,6,2,127,32,0,4,64,32,0,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,0,32,7,32,1,54,2,76,32,7,32,0,54,2,68,32,1,33,8,11,2,64,32,10,69,13,0,32,10,65,2,116,33,6,32,0,32,2,65,2,116,106,33,2,32,11,4,64,32,6,69,13,1,32,2,32,11,32,6,252,10,0,0,12,1,11,32,6,69,13,0,32,2,65,0,32,6,252,11,0,11,32,7,65,0,54,2,36,32,7,40,2,56,33,10,32,8,32,7,40,2,60,34,6,32,1,106,34,11,73,4,64,32,11,65,2,116,33,2,2,127,32,0,4,64,32,0,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,0,32,7,32,11,54,2,76,32,7,32,0,54,2,68,11,32,5,65,6,108,33,2,2,64,32,6,69,13,0,32,6,65,2,116,33,5,32,0,32,1,65,2,116,106,33,0,32,10,4,64,32,5,69,13,1,32,0,32,10,32,5,252,10,0,0,12,1,11,32,5,69,13,0,32,0,65,0,32,5,252,11,0,11,32,2,32,3,106,33,6,65,0,33,10,32,7,65,0,54,2,60,32,7,32,11,54,2,72,32,12,4,64,3,64,2,64,2,64,2,64,32,13,32,10,65,28,108,106,34,18,47,1,0,34,0,65,254,255,3,107,14,2,1,2,0,11,32,9,40,2,156,1,40,2,72,32,0,65,3,108,106,34,0,45,0,0,65,1,113,13,1,32,0,45,0,1,65,1,113,13,1,11,32,18,40,2,8,69,13,0,65,0,33,8,3,64,32,18,40,2,4,32,8,65,1,116,106,47,1,0,33,2,32,6,47,1,0,33,1,32,18,47,1,0,33,3,2,127,32,7,40,2,72,34,0,4,64,32,7,32,0,65,1,107,34,0,54,2,72,32,7,40,2,68,32,0,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,0,66,0,55,1,4,32,0,32,3,59,1,2,32,0,32,2,59,1,0,32,0,32,3,59,1,68,32,0,32,1,59,1,66,32,0,65,1,59,1,64,32,0,66,0,55,1,12,32,0,66,0,55,1,20,32,0,66,0,55,1,28,32,0,66,0,55,1,36,32,0,66,0,55,1,44,32,0,66,0,55,1,52,32,0,65,0,54,1,60,32,7,40,2,32,33,1,32,7,40,2,36,34,3,65,1,106,34,11,32,7,40,2,40,34,2,75,4,64,65,8,32,2,65,1,116,34,2,32,11,32,2,32,11,75,27,34,2,32,2,65,8,77,27,34,2,65,2,116,33,5,2,127,32,1,4,64,32,1,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,1,32,7,32,2,54,2,40,32,7,32,1,54,2,32,11,32,7,32,11,54,2,36,32,1,32,3,65,2,116,106,32,0,54,2,0,32,8,65,1,106,34,8,32,18,40,2,8,73,13,0,11,11,32,10,65,1,106,34,10,32,12,71,13,0,11,11,32,9,32,13,32,12,32,7,65,32,106,16,89,32,7,40,2,96,34,11,4,64,32,9,40,2,96,32,6,47,1,2,65,28,108,106,65,1,58,0,24,32,9,40,2,148,1,33,5,65,0,33,15,3,64,32,7,40,2,92,32,15,65,1,116,106,47,1,0,33,6,32,9,40,2,144,1,33,8,65,0,33,0,32,5,34,1,33,2,2,64,2,64,2,64,2,64,32,1,14,2,2,1,0,11,3,64,32,0,32,1,65,1,118,34,2,32,0,106,34,0,32,8,32,0,65,1,116,106,47,1,0,32,6,75,27,33,0,32,1,32,2,107,34,1,65,1,75,13,0,11,11,32,6,32,8,32,0,65,1,116,106,47,1,0,34,1,70,13,1,32,0,32,1,32,6,73,106,33,2,11,32,2,65,1,116,33,3,32,5,65,1,106,34,1,32,9,40,2,152,1,75,4,64,32,1,65,1,116,33,0,2,127,32,8,4,64,32,8,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,8,32,9,32,1,54,2,152,1,32,9,32,8,54,2,144,1,32,9,40,2,148,1,33,5,11,2,64,32,2,32,5,79,13,0,32,5,32,2,107,65,1,116,34,1,69,13,0,32,3,32,8,106,34,0,65,2,106,32,0,32,1,252,10,0,0,11,32,3,32,8,106,32,6,59,0,0,32,9,32,9,40,2,148,1,65,1,106,34,5,54,2,148,1,32,7,40,2,96,33,11,11,32,15,65,1,106,34,15,32,11,73,13,0,11,11,32,16,65,1,106,34,16,32,26,71,13,0,11,11,2,64,2,64,32,12,4,64,65,0,33,1,3,64,32,13,32,1,65,28,108,106,34,2,40,2,4,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,12,32,2,66,0,55,2,4,11,32,2,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,24,32,2,66,0,55,2,16,11,32,1,65,1,106,34,1,32,12,71,13,0,11,12,1,11,32,13,69,13,1,11,32,13,35,6,40,2,0,17,2,0,11,32,7,40,2,32,33,6,2,64,2,64,32,7,40,2,36,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,32,11,32,7,40,2,44,33,6,2,64,2,64,32,7,40,2,48,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,44,11,32,7,40,2,56,33,6,2,64,2,64,32,7,40,2,60,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,32,7,65,0,54,2,56,11,32,7,40,2,68,33,6,2,64,2,64,32,7,40,2,72,34,5,4,64,65,0,33,8,65,0,33,0,32,5,65,4,79,4,64,32,5,65,124,113,33,1,65,0,33,13,3,64,32,6,32,0,65,2,116,106,34,3,40,2,0,35,6,34,2,40,2,0,17,2,0,32,3,40,2,4,32,2,40,2,0,17,2,0,32,3,40,2,8,32,2,40,2,0,17,2,0,32,3,40,2,12,32,2,40,2,0,17,2,0,32,0,65,4,106,33,0,32,13,65,4,106,34,13,32,1,71,13,0,11,11,32,5,65,3,113,34,1,69,13,1,3,64,32,6,32,0,65,2,116,106,40,2,0,35,6,40,2,0,17,2,0,32,0,65,1,106,33,0,32,8,65,1,106,34,8,32,1,71,13,0,11,12,1,11,32,6,69,13,1,11,32,6,35,6,40,2,0,17,2,0,11,32,7,40,2,80,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,92,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,20,4,64,32,20,35,6,40,2,0,17,2,0,11,32,24,4,64,32,24,35,6,40,2,0,17,2,0,11,32,19,4,64,32,19,35,6,40,2,0,17,2,0,11,32,14,4,64,32,14,35,6,40,2,0,17,2,0,11,32,30,35,6,40,2,0,17,2,0,32,17,69,4,64,32,4,65,5,54,2,0,12,1,11,32,9,40,2,132,1,34,0,69,13,1,32,0,35,6,40,2,0,17,2,0,32,9,65,0,54,2,140,1,32,9,66,0,55,2,132,1,12,1,11,32,9,16,90,65,0,33,9,11,32,7,65,240,0,106,36,0,32,9,11,153,3,1,7,127,32,0,32,0,40,2,0,32,0,45,0,16,106,34,3,54,2,0,2,64,32,0,40,2,8,34,5,32,3,75,4,64,32,0,32,3,44,0,0,34,1,65,255,1,113,34,2,54,2,12,65,1,33,4,32,1,65,0,72,4,64,2,64,32,5,32,3,107,34,6,65,1,70,13,0,2,64,32,1,65,96,79,4,64,2,64,32,1,65,111,77,4,64,32,0,32,2,65,15,113,34,2,54,2,12,35,1,65,222,10,106,32,2,106,45,0,0,32,3,45,0,1,34,1,65,5,118,118,65,1,113,69,13,4,32,1,65,63,113,33,7,65,2,33,1,12,1,11,32,0,32,2,65,240,1,107,34,2,54,2,12,32,1,65,116,75,13,3,35,1,65,176,12,106,32,3,45,0,1,34,1,65,4,118,106,44,0,0,32,2,118,65,1,113,69,13,3,32,0,32,1,65,63,113,32,2,65,6,116,114,34,2,54,2,12,65,2,33,4,32,6,65,2,70,13,3,65,3,33,1,32,3,45,0,2,65,128,127,115,34,7,65,255,1,113,65,63,75,13,3,11,32,0,32,7,65,255,1,113,32,2,65,6,116,114,34,2,54,2,12,32,6,34,4,32,1,71,13,1,12,2,11,32,1,65,66,73,13,1,32,0,32,2,65,31,113,34,2,54,2,12,65,1,33,1,11,32,1,32,3,106,45,0,0,65,128,127,115,65,255,1,113,34,4,65,63,77,13,3,32,1,33,4,11,32,0,65,127,54,2,12,11,32,0,32,4,58,0,16,32,3,32,5,73,15,11,32,0,65,0,54,2,12,32,0,65,0,58,0,16,32,3,32,5,73,15,11,32,0,32,2,65,6,116,32,4,114,54,2,12,32,0,32,1,65,1,106,58,0,16,32,3,32,5,73,11,220,3,1,6,127,3,64,32,0,40,2,12,16,247,1,4,64,32,0,16,86,26,12,1,11,32,0,40,2,12,65,59,70,4,64,32,0,16,86,26,32,0,40,2,12,33,1,3,64,2,64,32,1,14,11,3,0,0,0,0,0,0,0,0,0,3,0,11,32,0,32,0,40,2,0,32,0,45,0,16,106,34,4,54,2,0,32,0,2,127,2,64,32,0,40,2,8,34,5,32,4,75,4,64,32,0,32,4,44,0,0,34,2,65,255,1,113,34,1,54,2,12,65,1,32,2,65,0,78,13,2,26,65,1,33,3,2,64,32,5,32,4,107,34,5,65,1,70,13,0,2,64,32,2,65,96,79,4,64,2,64,32,2,65,111,77,4,64,32,0,32,1,65,15,113,34,1,54,2,12,35,1,65,222,10,106,32,1,106,45,0,0,32,4,45,0,1,34,2,65,5,118,118,65,1,113,69,13,4,32,2,65,63,113,33,6,65,2,33,2,12,1,11,32,0,32,1,65,240,1,107,34,1,54,2,12,32,2,65,116,75,13,3,35,1,65,176,12,106,32,4,45,0,1,34,2,65,4,118,106,44,0,0,32,1,118,65,1,113,69,13,3,32,0,32,2,65,63,113,32,1,65,6,116,114,34,1,54,2,12,65,2,33,3,32,5,65,2,70,13,3,65,3,33,2,32,4,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,0,32,6,65,255,1,113,32,1,65,6,116,114,34,1,54,2,12,32,5,34,3,32,2,71,13,1,12,2,11,32,2,65,66,73,13,1,32,0,32,1,65,31,113,34,1,54,2,12,65,1,33,2,11,32,2,32,4,106,45,0,0,65,128,127,115,65,255,1,113,34,3,65,63,77,13,2,32,2,33,3,11,65,127,33,1,32,0,65,127,54,2,12,32,0,32,3,58,0,16,12,3,11,32,0,65,0,54,2,12,32,0,65,0,58,0,16,12,4,11,32,0,32,1,65,6,116,32,3,114,34,1,54,2,12,32,2,65,1,106,11,58,0,16,12,0,11,0,11,11,11,133,53,2,14,127,1,126,35,0,65,32,107,34,8,36,0,65,1,33,5,2,64,32,1,40,2,12,34,6,69,13,0,32,6,65,221,0,71,32,6,65,41,71,113,69,4,64,65,127,33,5,12,1,11,32,0,40,2,108,33,10,32,0,40,2,64,33,15,2,64,32,0,40,2,112,34,12,4,64,32,15,32,10,32,12,65,3,116,106,65,4,107,47,1,0,70,13,1,11,32,0,32,12,65,1,106,34,7,32,0,40,2,116,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,3,116,33,7,2,127,32,10,4,64,32,10,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,10,32,0,32,6,54,2,116,32,0,32,10,54,2,108,32,0,40,2,112,34,12,65,1,106,5,32,7,11,54,2,112,32,1,40,2,4,33,7,32,1,40,2,0,33,6,32,10,32,12,65,3,116,106,34,9,65,0,59,1,6,32,9,32,15,59,1,4,32,9,32,6,32,7,107,54,2,0,32,1,40,2,12,33,6,11,32,0,65,60,106,33,18,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,6,65,34,107,14,7,2,1,1,1,1,1,4,0,11,2,64,32,6,65,219,0,107,14,5,0,1,1,1,3,1,11,32,1,16,86,26,32,1,16,87,32,8,65,0,54,2,24,32,8,66,0,55,2,16,65,127,33,14,65,0,33,7,3,64,32,0,40,2,64,33,12,2,64,2,64,2,64,2,64,32,0,32,1,32,2,32,3,32,8,65,16,106,16,88,34,5,4,64,2,64,32,5,65,127,71,13,0,65,1,33,5,32,7,69,13,0,32,1,40,2,12,65,221,0,70,13,2,11,32,8,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,16,69,13,13,32,16,35,6,40,2,0,17,2,0,12,13,11,32,12,32,15,70,4,64,32,4,65,0,54,2,4,32,4,40,2,0,33,6,32,8,40,2,16,33,9,2,64,2,64,32,8,40,2,20,34,11,32,4,40,2,8,75,4,64,2,127,32,6,4,64,32,6,32,11,35,4,40,2,0,17,1,0,12,1,11,32,11,35,5,40,2,0,17,0,0,11,33,6,32,4,32,11,54,2,8,32,4,32,6,54,2,0,32,4,40,2,4,34,5,69,13,1,32,5,69,13,1,32,6,32,11,106,32,6,32,5,252,10,0,0,12,1,11,32,11,69,13,1,11,32,9,4,64,32,11,69,13,1,32,6,32,9,32,11,252,10,0,0,12,1,11,32,11,69,13,0,32,6,65,0,32,11,252,11,0,11,32,4,32,4,40,2,4,32,11,106,54,2,4,12,4,11,2,64,32,4,40,2,4,34,5,32,8,40,2,20,34,6,73,4,64,32,4,40,2,0,33,10,32,4,40,2,8,34,9,32,6,73,4,64,65,8,32,9,65,1,116,34,5,32,6,32,5,32,6,75,27,34,5,32,5,65,8,77,27,33,5,2,127,32,10,4,64,32,10,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,10,32,4,32,5,54,2,8,32,4,32,10,54,2,0,32,4,40,2,4,33,5,11,32,6,32,5,107,34,9,4,64,32,5,32,10,106,65,0,32,9,252,11,0,11,32,4,32,6,54,2,4,12,1,11,32,6,69,13,3,11,65,0,33,5,32,8,40,2,16,33,11,3,64,32,5,32,11,106,45,0,0,33,13,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,4,40,2,0,32,5,106,34,9,45,0,0,34,10,14,5,1,2,6,3,0,5,11,32,13,65,5,73,13,3,12,4,11,32,13,65,5,79,13,3,66,128,130,136,136,32,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,4,11,32,13,65,5,79,13,2,66,129,130,136,136,32,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,3,11,32,13,65,5,79,13,1,66,129,130,136,152,192,0,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,2,11,66,130,132,136,160,192,0,32,13,65,3,116,173,66,248,1,131,136,167,33,10,12,1,11,65,0,33,10,11,32,9,32,10,58,0,0,32,6,32,5,65,1,106,34,5,71,13,0,11,12,1,11,32,1,16,86,26,32,0,32,0,40,2,64,65,1,107,54,2,64,32,7,65,1,71,4,64,65,0,33,5,3,64,32,0,40,2,60,34,6,32,16,32,5,65,2,116,106,40,2,0,65,20,108,106,32,16,32,5,65,1,106,34,5,65,2,116,106,40,2,0,34,3,59,1,14,32,6,32,3,65,20,108,106,34,3,65,6,107,32,0,40,2,64,59,1,0,32,3,65,2,107,34,3,32,3,47,1,0,65,16,114,59,1,0,32,5,32,14,71,13,0,11,11,32,8,40,2,16,34,3,4,64,32,3,35,6,40,2,0,17,2,0,11,32,16,69,13,8,32,16,35,6,40,2,0,17,2,0,12,8,11,32,4,40,2,4,33,5,11,32,5,32,6,77,13,0,3,64,32,4,40,2,0,32,6,106,34,5,66,128,130,136,136,32,32,5,49,0,0,34,19,66,3,134,136,167,65,0,32,19,66,5,84,27,58,0,0,32,6,65,1,106,34,6,32,4,40,2,4,73,13,0,11,11,2,64,32,7,65,1,106,34,6,32,17,77,13,0,65,8,32,17,65,1,116,34,5,32,6,32,5,32,6,75,27,34,5,32,5,65,8,77,27,34,17,65,2,116,33,5,32,16,4,64,32,16,32,5,35,4,40,2,0,17,1,0,33,16,12,1,11,32,5,35,5,40,2,0,17,0,0,33,16,11,32,16,32,7,65,2,116,106,32,12,54,2,0,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,12,65,1,106,34,9,32,0,40,2,68,34,7,75,4,127,65,8,32,7,65,1,116,34,7,32,9,32,7,32,9,75,27,34,7,32,7,65,8,77,27,34,7,65,20,108,33,9,2,127,32,5,4,64,32,5,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,5,32,0,32,7,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,12,65,1,106,5,32,9,11,54,2,64,32,8,65,255,255,3,59,1,8,32,8,65,127,54,2,4,32,5,32,12,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,4,54,1,6,32,5,32,8,47,1,8,59,1,10,32,5,65,0,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,8,65,0,54,2,20,32,14,65,1,106,33,14,32,6,33,7,12,0,11,0,11,2,64,32,6,16,245,1,13,0,32,1,40,2,12,34,6,65,223,0,70,13,0,32,6,65,45,71,13,7,11,32,1,40,2,0,33,9,32,1,16,92,32,1,40,2,0,33,6,32,1,16,87,32,1,40,2,12,65,58,71,4,64,32,1,65,0,58,0,16,32,1,32,9,54,2,0,32,1,16,86,26,12,7,11,32,1,16,86,26,32,1,16,87,32,8,65,0,54,2,24,32,8,66,0,55,2,16,32,0,32,1,32,2,32,3,32,8,65,16,106,16,88,34,3,4,64,32,8,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,65,1,32,3,32,3,65,127,70,27,33,5,12,7,11,32,0,40,2,156,1,32,9,32,6,32,9,107,16,30,34,7,69,4,64,32,1,32,9,54,2,0,65,3,33,5,12,7,11,32,18,40,2,0,33,5,32,15,33,6,3,64,2,64,32,5,32,6,65,20,108,106,34,3,32,7,59,1,4,32,3,47,1,14,34,3,65,255,255,3,70,13,0,32,3,32,6,77,13,0,32,3,34,6,32,0,40,2,64,73,13,1,11,11,32,4,32,8,65,16,106,16,93,32,8,40,2,16,34,3,69,13,3,32,3,35,6,40,2,0,17,2,0,12,3,11,32,1,40,2,0,33,7,32,0,32,1,16,94,13,5,32,0,40,2,156,1,32,0,40,2,132,1,32,0,40,2,136,1,65,0,16,27,34,6,69,4,64,32,1,65,0,58,0,16,32,1,32,7,65,1,106,54,2,0,32,1,16,86,26,65,2,33,5,12,6,11,32,18,16,91,32,0,32,0,40,2,64,34,5,65,1,106,54,2,64,32,0,40,2,60,32,5,65,20,108,106,34,5,66,128,128,128,128,112,55,1,2,32,5,32,6,59,1,0,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,5,65,255,255,3,59,1,10,12,2,11,32,1,16,86,26,32,1,16,87,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,10,65,1,106,34,7,32,0,40,2,68,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,20,108,33,7,2,127,32,5,4,64,32,5,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,5,32,0,32,6,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,7,11,54,2,64,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,5,32,10,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,16,54,1,6,32,5,32,8,47,1,20,59,1,10,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,12,1,11,32,1,16,86,26,32,1,16,87,2,64,2,64,2,64,2,64,32,1,40,2,12,34,6,65,34,107,14,13,1,2,3,3,3,3,1,3,3,3,3,3,2,0,11,32,6,65,219,0,71,13,2,11,32,8,65,0,54,2,24,32,8,66,0,55,2,16,2,64,2,64,2,64,2,64,32,0,32,1,32,2,32,6,65,46,70,4,127,32,1,16,86,26,32,1,16,87,65,1,5,32,3,11,32,8,65,16,106,16,88,34,5,65,1,106,14,2,1,0,2,11,3,64,32,4,32,8,65,16,106,16,93,32,8,65,0,54,2,20,32,1,40,2,12,34,3,65,46,70,4,64,32,1,16,86,26,32,1,16,87,11,32,0,32,1,32,2,32,3,65,46,70,32,8,65,16,106,16,88,34,5,69,13,0,11,32,5,65,127,71,13,1,11,65,1,33,5,32,1,40,2,12,65,41,70,13,1,11,32,8,40,2,16,34,0,69,13,6,32,0,35,6,40,2,0,17,2,0,12,6,11,32,1,16,86,26,32,8,40,2,16,34,3,69,13,2,32,3,35,6,40,2,0,17,2,0,12,2,11,32,1,16,86,26,2,127,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,1,11,32,1,40,2,0,33,2,32,1,16,92,32,0,65,24,106,34,15,32,2,32,1,40,2,0,32,2,107,16,95,33,3,32,0,40,2,84,33,7,32,0,32,0,40,2,88,34,4,65,1,106,34,5,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,5,32,2,32,5,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,4,2,127,32,7,4,64,32,7,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,7,32,0,32,2,54,2,92,32,0,32,7,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,5,11,54,2,88,32,7,32,4,65,3,116,106,34,2,32,3,54,2,4,32,2,65,2,54,2,0,32,1,16,87,3,64,2,64,2,64,2,127,2,64,2,64,2,64,2,64,32,1,40,2,12,34,2,65,34,107,14,8,1,3,3,3,3,3,3,0,2,11,32,1,16,86,26,32,1,16,87,32,0,40,2,84,33,7,32,0,32,0,40,2,88,34,5,65,1,106,34,2,32,0,40,2,92,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,2,32,1,32,2,75,27,34,1,32,1,65,8,77,27,34,1,65,3,116,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,0,32,1,54,2,92,32,0,32,7,54,2,84,32,0,40,2,88,34,5,65,1,106,5,32,2,11,54,2,88,32,7,32,5,65,3,116,106,66,0,55,2,0,65,0,12,7,11,65,1,32,0,32,1,16,94,13,6,26,32,15,32,0,40,2,132,1,32,0,40,2,136,1,16,95,12,2,11,32,2,65,192,0,70,13,2,11,2,64,32,2,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,5,11,32,1,40,2,0,33,2,32,1,16,92,32,15,32,2,32,1,40,2,0,32,2,107,16,95,11,33,7,32,0,40,2,84,33,5,32,0,32,0,40,2,88,34,4,65,1,106,34,3,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,5,4,64,32,5,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,5,32,0,32,2,54,2,92,32,0,32,5,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,3,11,54,2,88,32,5,32,4,65,3,116,106,34,5,65,2,54,2,0,12,1,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,2,65,223,0,70,13,0,32,2,65,45,70,13,0,65,1,12,3,11,32,1,40,2,0,33,6,32,1,16,92,2,64,2,64,32,0,40,2,16,34,4,69,13,0,32,1,40,2,0,32,6,107,33,5,32,0,40,2,12,33,3,65,0,33,7,3,64,2,64,32,5,32,3,32,7,65,3,116,106,34,2,40,2,4,70,4,64,32,0,40,2,0,32,2,40,2,0,106,32,6,32,5,16,251,1,69,13,1,11,32,7,65,1,106,34,7,32,4,71,13,1,12,2,11,11,32,7,65,127,71,13,1,11,32,1,65,0,58,0,16,32,1,32,6,54,2,0,32,1,16,86,26,65,4,12,3,11,32,0,40,2,84,33,5,32,0,32,0,40,2,88,34,4,65,1,106,34,3,32,0,40,2,92,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,5,4,64,32,5,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,5,32,0,32,2,54,2,92,32,0,32,5,54,2,84,32,0,40,2,88,34,4,65,1,106,5,32,3,11,54,2,88,32,5,32,4,65,3,116,106,34,5,65,1,54,2,0,11,32,5,32,7,54,2,4,32,1,16,87,12,0,11,0,11,33,5,12,4,11,32,1,40,2,0,33,11,2,64,32,6,16,245,1,13,0,32,1,40,2,12,34,6,65,223,0,70,13,0,32,6,65,45,71,13,4,11,32,1,16,92,2,64,2,64,32,1,40,2,0,32,11,107,34,5,65,1,70,4,64,65,0,33,12,65,0,33,6,32,11,45,0,0,65,223,0,70,13,1,11,32,11,35,1,65,181,10,106,32,5,16,251,1,69,4,64,32,1,16,87,2,64,2,64,2,64,32,1,40,2,12,16,245,1,13,0,65,0,33,6,65,1,33,12,2,64,32,1,40,2,12,34,5,65,34,107,14,12,2,3,3,3,3,3,3,5,3,3,3,1,0,11,32,5,65,223,0,71,13,2,11,32,1,40,2,0,33,5,32,1,16,92,65,1,33,12,32,0,40,2,156,1,32,5,32,1,40,2,0,32,5,107,65,1,16,27,34,6,13,3,32,1,65,0,58,0,16,32,1,32,5,54,2,0,32,1,16,86,26,65,2,33,5,12,8,11,32,1,40,2,0,33,5,32,0,32,1,16,94,4,64,65,1,33,5,12,8,11,32,0,40,2,156,1,32,0,40,2,132,1,32,0,40,2,136,1,65,0,16,27,34,6,13,2,32,1,65,0,58,0,16,32,1,32,5,65,1,106,54,2,0,32,1,16,86,26,65,2,33,5,12,7,11,32,1,65,0,58,0,16,32,1,16,86,26,65,1,33,5,12,6,11,32,0,40,2,156,1,32,11,32,5,65,1,16,27,34,6,69,13,1,65,0,33,12,11,32,18,16,91,32,0,32,0,40,2,64,34,5,65,1,106,54,2,64,32,0,40,2,60,32,5,65,20,108,106,34,5,66,128,128,128,128,112,55,1,2,32,5,32,6,59,1,0,32,5,65,2,65,0,32,3,27,59,1,18,32,5,65,255,255,3,54,1,14,32,5,32,2,59,1,12,32,5,65,255,255,3,59,1,10,32,0,40,2,60,32,0,40,2,64,65,20,108,106,34,5,65,20,107,33,7,2,64,32,6,65,253,255,3,75,13,0,32,0,40,2,156,1,40,2,72,32,6,65,3,108,106,45,0,2,65,1,113,69,13,0,32,5,65,18,107,32,7,47,1,0,59,1,0,32,7,65,0,59,1,0,11,32,12,4,64,32,5,65,2,107,34,3,32,3,47,1,0,65,128,4,114,59,1,0,11,32,6,69,4,64,32,5,65,2,107,34,3,32,3,47,1,0,65,1,114,59,1,0,11,32,1,16,87,2,64,32,1,40,2,12,65,47,70,4,64,32,5,65,18,107,34,5,47,1,0,69,4,64,32,1,65,0,58,0,16,32,1,32,11,65,1,107,54,2,0,32,1,16,86,26,65,5,33,5,12,7,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,3,65,223,0,70,13,0,32,3,65,45,70,13,0,65,1,33,5,12,7,11,32,1,40,2,0,33,3,32,1,16,92,32,7,32,0,40,2,156,1,34,9,32,3,32,1,40,2,0,32,3,107,65,1,16,27,34,7,59,1,0,32,7,69,4,64,32,1,65,0,58,0,16,32,1,32,3,54,2,0,32,1,16,86,26,65,2,33,5,12,7,11,2,64,32,9,40,2,0,65,15,73,13,0,32,5,47,1,0,34,3,65,253,255,3,75,13,2,32,9,40,2,72,32,3,65,3,108,106,45,0,2,65,1,113,69,13,2,32,9,40,2,156,1,32,3,65,2,116,106,34,3,47,1,2,34,6,69,13,2,32,9,40,2,160,1,32,3,47,1,0,65,1,116,106,33,3,65,0,33,5,3,64,32,3,32,5,65,1,116,106,47,1,0,32,7,70,13,1,32,6,32,5,65,1,106,34,5,71,13,0,11,12,2,11,32,1,16,87,11,32,8,65,0,54,2,12,32,8,66,0,55,2,4,32,2,65,1,106,33,9,65,0,33,3,65,0,33,12,3,64,32,3,65,255,255,3,113,34,7,65,7,75,33,6,3,64,65,0,33,10,2,64,2,64,2,64,32,1,40,2,12,65,33,107,14,14,0,2,2,2,2,2,2,2,2,2,2,2,2,1,2,11,32,1,16,86,26,32,1,16,87,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,5,65,45,70,13,0,32,5,65,223,0,71,13,8,11,32,1,40,2,0,33,11,32,1,16,92,32,1,40,2,0,33,5,32,1,16,87,32,0,40,2,156,1,32,11,32,5,32,11,107,16,30,34,5,69,4,64,32,1,32,11,54,2,0,65,3,33,5,12,9,11,32,6,13,2,32,8,65,16,106,32,7,65,1,116,106,32,5,59,1,0,32,3,65,1,106,33,3,12,3,11,32,1,16,86,26,32,1,16,87,65,1,33,10,11,32,0,47,1,64,33,11,32,0,32,1,32,9,32,10,32,8,65,4,106,16,88,34,5,4,64,32,5,65,127,71,13,7,65,1,33,5,32,1,40,2,12,65,41,71,13,7,2,64,32,10,69,13,0,32,12,65,255,255,3,113,34,5,69,13,7,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,70,13,0,32,0,40,2,64,32,5,77,13,0,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,70,13,0,3,64,32,5,65,255,255,3,113,34,5,32,0,40,2,64,79,13,1,32,18,40,2,0,32,5,65,20,108,106,34,5,32,5,47,1,18,65,4,114,59,1,18,32,5,47,1,14,34,5,65,255,255,3,71,13,0,11,11,32,3,65,255,255,3,113,34,3,4,64,2,64,32,8,65,16,106,33,9,65,0,33,11,65,0,33,7,32,0,40,2,60,32,15,65,255,255,3,113,65,20,108,106,33,6,32,0,40,2,120,33,12,2,64,32,0,40,2,124,34,17,4,64,3,64,2,127,32,12,32,14,65,1,116,106,47,1,0,34,5,69,4,64,32,3,32,13,70,13,4,32,14,65,1,106,33,7,65,0,33,11,65,0,12,1,11,32,3,32,13,77,4,64,65,1,33,11,65,0,12,1,11,65,0,32,13,65,1,106,32,5,32,9,32,13,65,1,116,106,47,1,0,71,32,11,114,34,11,65,1,113,27,11,33,13,32,14,65,1,106,34,14,32,17,71,13,0,11,11,32,6,32,17,59,1,16,2,64,2,64,32,3,32,17,106,34,6,32,0,40,2,128,1,75,4,64,32,6,65,1,116,33,5,2,127,32,12,4,64,32,12,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,12,32,0,32,6,54,2,128,1,32,0,32,12,54,2,120,32,0,40,2,124,34,5,32,17,75,13,1,11,32,17,65,1,116,33,13,12,1,11,32,17,65,1,116,33,13,32,5,32,17,107,65,1,116,34,5,69,13,0,32,12,32,6,65,1,116,106,32,12,32,13,106,32,5,252,10,0,0,11,32,3,65,1,116,34,5,4,64,32,12,32,13,106,32,9,32,5,252,10,0,0,11,32,0,32,0,40,2,124,32,3,106,34,13,54,2,124,32,0,40,2,120,33,14,32,0,32,13,65,1,106,34,5,32,0,40,2,128,1,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,3,65,1,116,33,5,2,127,32,14,4,64,32,14,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,14,32,0,32,3,54,2,128,1,32,0,32,14,54,2,120,32,0,40,2,124,34,13,65,1,106,5,32,5,11,54,2,124,32,14,32,13,65,1,116,106,65,0,59,1,0,12,1,11,32,6,32,7,59,1,16,11,11,32,1,16,86,26,32,8,40,2,4,34,3,69,13,5,32,3,35,6,40,2,0,17,2,0,12,5,5,32,0,40,2,64,33,5,32,4,32,8,65,4,106,16,93,32,8,65,0,54,2,8,32,11,32,5,32,11,70,107,33,12,12,1,11,0,11,0,11,0,11,32,1,65,0,58,0,16,32,1,32,11,65,1,107,54,2,0,32,1,16,86,26,65,5,33,5,12,4,11,32,1,65,0,58,0,16,32,1,32,11,54,2,0,32,1,16,86,26,65,2,33,5,12,3,11,32,1,16,87,65,3,33,3,3,64,2,64,32,1,40,2,12,34,5,65,192,0,71,4,64,2,64,2,64,2,64,32,5,65,42,107,14,22,1,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,4,11,32,1,16,86,26,32,1,16,87,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,0,40,2,60,33,5,65,4,65,2,32,3,65,2,75,27,33,3,32,0,32,0,40,2,64,34,10,65,1,106,34,7,32,0,40,2,68,34,6,75,4,127,65,8,32,6,65,1,116,34,6,32,7,32,6,32,7,75,27,34,6,32,6,65,8,77,27,34,6,65,20,108,33,7,2,127,32,5,4,64,32,5,32,7,35,4,40,2,0,17,1,0,12,1,11,32,7,35,5,40,2,0,17,0,0,11,33,5,32,0,32,6,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,7,11,54,2,64,32,5,32,10,65,20,108,106,34,5,65,0,54,1,2,32,5,65,0,59,1,0,32,5,32,8,40,2,16,54,1,6,32,5,32,8,47,1,20,59,1,10,32,5,65,128,128,160,1,54,1,16,32,5,32,15,59,1,14,32,5,32,2,59,1,12,12,4,11,32,1,16,86,26,32,1,16,87,32,8,65,255,255,3,59,1,20,32,8,65,127,54,2,16,32,0,40,2,60,33,5,32,0,32,0,40,2,64,34,10,65,1,106,34,6,32,0,40,2,68,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,3,65,20,108,33,6,2,127,32,5,4,64,32,5,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,68,32,0,32,5,54,2,60,32,0,40,2,64,34,10,65,1,106,5,32,6,11,54,2,64,32,5,32,10,65,20,108,106,34,3,65,0,54,1,2,32,3,65,0,59,1,0,32,3,32,8,40,2,16,54,1,6,32,3,32,8,47,1,20,59,1,10,32,3,65,128,128,160,1,54,1,16,32,3,32,15,59,1,14,32,3,32,2,59,1,12,32,0,40,2,64,34,9,65,1,107,33,7,32,0,40,2,60,33,6,32,15,33,5,3,64,32,6,32,5,65,20,108,106,34,3,47,1,14,34,5,65,255,255,3,71,32,5,32,7,73,113,13,0,11,32,3,32,9,59,1,14,65,2,33,3,12,3,11,32,1,16,86,26,32,1,16,87,35,1,65,196,12,106,32,3,65,2,116,106,40,2,0,33,3,32,0,40,2,64,33,9,32,0,40,2,60,33,7,32,15,33,5,3,64,32,7,32,5,65,20,108,106,34,6,47,1,14,34,5,65,255,255,3,71,32,5,32,9,73,113,13,0,11,32,6,32,9,59,1,14,12,2,11,32,1,16,86,26,2,64,32,1,40,2,12,16,245,1,13,0,32,1,40,2,12,34,5,65,223,0,70,13,0,32,5,65,45,70,13,0,65,1,33,5,12,5,11,32,1,40,2,0,33,6,32,1,16,92,32,1,40,2,0,33,5,32,1,16,87,32,0,32,6,32,5,32,6,107,16,95,33,9,32,9,32,4,40,2,4,34,5,79,4,64,32,4,40,2,0,33,10,32,9,65,1,106,34,7,32,9,32,4,40,2,8,34,6,79,4,64,65,8,32,6,65,1,116,34,5,32,7,32,5,32,7,75,27,34,5,32,5,65,8,77,27,33,5,2,127,32,10,4,64,32,10,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,10,32,4,32,5,54,2,8,32,4,32,10,54,2,0,32,4,40,2,4,33,5,11,32,5,107,34,6,4,64,32,5,32,10,106,65,0,32,6,252,11,0,11,32,4,32,7,54,2,4,11,32,4,40,2,0,32,9,106,34,5,66,131,136,144,160,192,0,32,5,49,0,0,34,19,66,3,134,136,167,65,0,32,19,66,5,84,27,58,0,0,32,18,40,2,0,33,7,32,15,33,6,3,64,2,64,2,127,32,7,32,6,65,20,108,106,34,5,47,1,6,65,255,255,3,70,4,64,32,5,65,6,106,12,1,11,32,5,65,8,106,32,5,47,1,8,65,255,255,3,70,13,0,26,32,5,47,1,10,65,255,255,3,71,13,1,32,5,65,10,106,11,32,9,59,1,0,11,32,5,47,1,14,34,5,65,255,255,3,70,13,2,32,5,32,6,77,13,2,32,5,34,6,32,0,40,2,64,73,13,0,11,12,1,11,11,32,4,47,1,4,69,4,64,65,0,33,5,12,3,11,2,64,2,64,32,3,65,2,107,14,3,0,1,0,1,11,65,4,65,2,32,3,65,3,107,65,2,73,27,33,0,65,0,33,6,3,64,65,0,33,5,2,64,2,64,2,64,2,64,32,4,40,2,0,32,6,106,34,1,45,0,0,65,1,107,14,4,1,1,0,2,3,11,32,3,33,5,12,2,11,65,2,33,5,12,1,11,32,0,33,5,11,32,1,32,5,58,0,0,65,0,33,5,32,6,65,1,106,34,6,32,4,47,1,4,73,13,0,11,12,3,11,65,4,65,2,32,3,65,3,107,65,2,73,27,33,1,65,0,33,6,3,64,65,0,33,5,2,64,2,64,2,64,2,64,32,4,40,2,0,32,6,106,34,2,45,0,0,34,0,65,1,107,14,4,1,1,0,2,3,11,32,3,33,5,12,2,11,32,0,33,5,12,1,11,32,1,33,5,11,32,2,32,5,58,0,0,65,0,33,5,32,6,65,1,106,34,6,32,4,47,1,4,73,13,0,11,12,2,11,65,1,33,5,11,32,8,40,2,4,34,0,69,13,0,32,0,35,6,40,2,0,17,2,0,11,32,8,65,32,106,36,0,32,5,11,153,27,1,39,127,35,0,65,208,0,107,34,11,36,0,32,3,65,0,54,2,64,32,3,65,0,54,2,52,32,3,65,24,106,33,25,32,3,65,36,106,33,31,32,3,65,12,106,33,18,2,64,3,64,2,64,32,3,40,2,4,69,4,64,32,3,40,2,28,69,13,3,32,35,32,3,40,2,52,34,35,79,13,3,32,11,32,3,40,2,8,54,2,16,32,11,32,3,41,2,0,55,3,8,32,3,32,25,40,2,8,54,2,8,32,3,32,25,41,2,0,55,2,0,32,25,32,11,40,2,16,54,2,8,32,25,32,11,41,3,8,55,2,0,32,32,65,1,106,33,32,12,1,11,32,3,40,2,36,33,4,32,3,40,2,12,33,13,2,64,32,3,40,2,16,34,6,32,3,40,2,40,34,5,106,34,7,32,3,40,2,44,77,13,0,32,7,65,2,116,33,8,2,127,32,4,4,64,32,4,32,8,35,4,40,2,0,17,1,0,12,1,11,32,8,35,5,40,2,0,17,0,0,11,33,4,32,3,32,7,54,2,44,32,3,32,4,54,2,36,32,3,40,2,40,34,7,32,5,77,13,0,32,7,32,5,107,65,2,116,34,7,69,13,0,32,4,32,8,106,32,4,32,5,65,2,116,106,32,7,252,10,0,0,11,2,64,32,6,69,13,0,32,6,65,2,116,33,8,32,4,32,5,65,2,116,106,33,4,32,13,4,64,32,8,69,13,1,32,4,32,13,32,8,252,10,0,0,12,1,11,32,8,69,13,0,32,4,65,0,32,8,252,11,0,11,65,0,33,4,32,3,65,0,54,2,16,32,3,32,3,40,2,40,32,6,106,54,2,40,65,0,33,19,2,64,32,3,40,2,4,34,13,69,13,0,3,64,32,3,40,2,0,32,19,65,2,116,106,40,2,0,33,14,2,64,2,127,2,64,32,4,69,4,64,32,14,47,1,64,33,6,12,1,11,2,64,2,64,2,64,32,14,47,1,64,34,6,32,18,40,2,0,32,4,65,2,116,106,65,4,107,40,2,0,34,7,47,1,64,34,10,73,13,0,32,6,4,64,65,0,33,4,3,64,32,4,32,10,70,13,3,32,14,32,4,65,3,116,34,8,106,34,5,47,1,4,34,15,32,7,32,8,106,34,8,47,1,4,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,2,34,15,32,8,47,1,2,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,0,34,15,32,8,47,1,0,34,17,73,13,3,32,15,32,17,75,13,2,32,5,47,1,6,65,255,255,1,113,34,5,32,8,47,1,6,65,255,255,1,113,34,8,73,13,3,32,5,32,8,75,13,2,32,4,65,1,106,34,4,32,6,71,13,0,11,11,32,14,47,1,66,34,4,32,7,47,1,66,34,5,73,13,3,32,4,32,5,77,13,2,11,32,13,32,19,77,13,6,3,64,32,3,40,2,0,32,19,65,2,116,106,40,2,0,33,4,2,127,32,3,40,2,40,34,5,4,64,32,3,32,5,65,1,107,34,5,54,2,40,32,3,40,2,36,32,5,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,7,32,4,65,198,0,252,10,0,0,32,3,40,2,12,33,4,32,3,32,3,40,2,16,34,6,65,1,106,34,5,32,3,40,2,20,34,8,75,4,127,65,8,32,8,65,1,116,34,8,32,5,32,5,32,8,73,27,34,5,32,5,65,8,77,27,34,8,65,2,116,33,5,2,127,32,4,4,64,32,4,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,4,32,3,32,8,54,2,20,32,3,32,4,54,2,12,32,3,40,2,16,34,6,65,1,106,5,32,5,11,54,2,16,32,4,32,6,65,2,116,106,32,7,54,2,0,32,19,65,1,106,34,19,32,3,40,2,4,73,13,0,11,12,6,11,32,6,65,3,116,32,14,106,65,8,107,12,2,11,32,18,32,31,32,14,16,146,1,12,2,11,32,6,65,3,116,32,14,106,65,8,107,32,14,32,6,65,255,255,3,113,27,11,33,9,32,2,69,13,0,32,9,47,1,2,33,8,65,0,33,4,32,2,34,5,65,2,79,4,64,3,64,32,4,32,4,32,5,65,1,118,34,6,106,34,4,32,1,32,4,65,28,108,106,47,1,0,32,8,75,27,33,4,32,5,32,6,107,34,5,65,1,75,13,0,11,11,32,8,32,1,32,4,65,28,108,106,47,1,0,34,5,71,13,0,32,9,47,1,6,33,6,32,14,47,1,66,65,20,108,33,7,32,9,47,1,4,33,27,32,4,32,5,32,8,73,106,33,4,2,127,32,9,47,1,0,34,23,32,0,40,2,156,1,34,20,40,2,24,34,37,79,4,64,32,20,40,2,44,32,20,40,2,48,32,23,32,37,107,65,2,116,106,40,2,0,65,1,116,106,34,13,65,2,106,33,33,32,13,47,1,0,12,1,11,32,20,40,2,40,32,20,40,2,4,32,23,108,65,1,116,106,65,2,107,33,13,65,0,33,33,65,0,11,33,34,32,6,65,255,255,1,113,33,40,32,0,40,2,60,32,7,106,33,21,32,27,65,1,106,33,17,32,1,32,4,65,28,108,106,33,28,65,0,33,38,65,255,255,3,33,24,32,27,65,1,116,33,41,65,0,33,8,65,0,33,29,3,64,2,64,2,64,2,127,2,64,2,64,2,64,32,23,32,37,73,4,64,32,20,40,2,4,33,8,3,64,32,8,32,24,65,1,106,34,24,65,255,255,3,113,34,5,77,13,9,32,13,47,1,2,33,4,32,13,65,2,106,34,6,33,13,32,4,69,13,0,11,12,1,11,32,13,65,2,106,34,4,32,33,71,13,1,32,34,65,255,255,3,113,69,13,7,32,13,65,6,106,34,6,32,13,47,1,4,65,1,116,106,33,33,32,34,65,1,107,33,34,32,13,47,1,2,33,4,32,13,47,1,6,34,24,33,5,11,32,20,40,2,12,32,5,75,13,1,32,6,33,13,12,3,11,32,4,47,1,0,33,24,32,4,12,1,11,32,20,40,2,52,32,4,65,255,255,3,113,65,3,116,106,34,4,65,8,106,33,38,32,4,45,0,0,33,29,65,0,33,8,32,6,11,33,13,32,29,69,4,64,32,8,33,4,12,1,11,32,38,32,29,65,3,116,106,34,4,65,8,107,45,0,0,13,2,32,4,65,4,107,45,0,0,4,64,32,8,33,4,32,27,33,5,32,23,33,15,12,2,11,32,4,65,6,107,47,1,0,33,15,32,8,33,4,32,17,33,5,12,1,11,65,0,33,8,65,0,33,29,32,17,33,5,32,4,33,15,32,4,65,255,255,3,113,69,13,1,11,32,4,33,8,32,5,65,255,0,113,33,26,2,64,32,28,40,2,20,34,5,69,4,64,65,0,33,16,12,1,11,32,28,40,2,16,33,7,65,0,33,16,32,5,34,4,65,1,71,4,64,3,64,2,64,2,64,32,7,32,16,32,4,65,1,118,34,12,106,34,6,65,6,108,106,34,10,47,1,0,34,9,32,15,65,255,255,3,113,34,22,73,13,0,32,9,32,22,75,13,1,32,10,45,0,4,34,9,65,255,0,113,34,22,32,26,73,13,0,32,9,192,65,0,72,13,1,32,22,32,26,75,13,1,32,10,47,1,2,13,1,11,32,6,33,16,11,32,4,32,12,107,34,4,65,1,75,13,0,11,11,32,7,32,16,65,6,108,106,34,4,47,1,0,34,6,32,15,65,255,255,3,113,34,7,79,4,64,32,6,32,7,75,13,1,32,4,45,0,4,65,255,0,113,32,26,79,13,1,11,32,16,65,1,106,33,16,11,32,5,32,16,77,13,0,32,24,65,255,255,3,113,33,22,3,64,32,16,65,6,108,33,4,32,16,65,1,106,33,16,32,15,65,255,255,3,113,34,42,32,4,32,28,40,2,16,106,34,4,47,1,0,71,13,1,32,4,45,0,4,34,5,192,33,9,32,5,65,255,0,113,32,26,71,13,1,32,0,40,2,156,1,33,10,2,64,32,4,47,1,2,34,4,4,64,32,10,40,2,84,32,10,47,1,36,32,4,108,65,1,116,106,32,41,106,47,1,0,34,7,13,1,11,65,0,33,7,32,10,40,2,72,32,22,65,3,108,106,45,0,0,65,1,71,13,0,32,10,40,2,76,32,22,65,1,116,106,47,1,0,33,7,11,2,64,32,40,34,12,13,0,65,0,33,12,32,10,40,2,32,69,13,0,32,10,40,2,64,32,4,65,2,116,106,34,4,47,1,2,34,5,69,13,0,32,10,40,2,68,32,4,47,1,0,65,2,116,106,34,4,32,5,65,2,116,106,33,5,3,64,2,64,32,4,45,0,3,13,0,32,27,32,4,45,0,2,71,13,0,32,4,47,1,0,33,12,12,2,11,32,4,65,4,106,34,4,32,5,71,13,0,11,11,32,11,65,8,106,34,39,32,14,65,198,0,252,10,0,0,32,11,47,1,72,34,5,65,3,116,34,30,32,11,106,34,4,32,39,32,5,27,34,6,32,15,59,1,0,32,6,32,26,59,1,4,32,9,65,0,72,4,64,32,4,32,39,32,5,27,34,9,32,9,47,1,6,65,128,128,2,114,59,1,6,11,2,64,2,64,2,64,2,64,2,127,65,1,32,21,47,1,0,34,9,65,255,255,3,70,13,0,26,2,64,32,7,4,64,2,127,32,9,69,4,64,65,1,32,21,47,1,18,65,1,113,69,13,1,26,32,10,40,2,72,32,7,65,3,108,106,45,0,1,12,1,11,32,7,32,9,70,11,32,21,47,1,4,34,4,69,32,4,32,12,65,255,255,3,113,70,114,113,33,4,32,21,47,1,2,34,10,69,13,1,65,0,34,7,32,14,47,1,64,34,12,69,13,2,26,3,64,32,14,32,7,65,3,116,106,47,1,2,32,10,70,13,2,32,7,65,1,106,34,7,32,12,71,13,0,11,65,0,12,2,11,65,0,32,22,32,10,40,2,12,73,13,1,26,32,4,32,11,65,8,106,32,5,27,46,1,6,65,0,78,4,64,32,5,65,7,79,4,64,32,3,65,1,58,0,72,12,7,11,32,11,32,5,65,1,106,59,1,72,32,11,65,8,106,32,30,106,33,6,11,65,0,33,9,32,6,65,0,59,1,4,32,6,32,24,59,1,2,32,6,32,23,59,1,0,32,6,32,12,65,255,255,1,113,59,1,6,65,0,33,7,32,11,47,1,72,34,5,69,13,3,3,64,2,64,32,7,69,13,0,32,11,65,8,106,32,7,65,3,116,106,47,1,2,33,10,65,0,33,4,3,64,32,10,32,11,65,8,106,32,4,65,3,116,106,47,1,2,71,4,64,32,7,32,4,65,1,106,34,4,71,13,1,12,2,11,11,32,9,65,1,106,33,9,11,32,7,65,1,106,34,7,32,5,71,13,0,11,32,9,32,32,75,13,2,65,0,12,1,11,32,4,11,33,7,2,64,32,5,69,13,0,3,64,32,6,46,1,6,65,0,78,13,1,32,11,32,5,65,1,107,34,5,59,1,72,32,11,32,5,65,255,255,3,113,34,4,65,3,116,106,33,6,32,4,13,0,11,11,32,7,69,13,1,32,0,40,2,60,33,5,32,11,47,1,74,33,4,3,64,32,5,32,4,65,1,106,34,4,65,255,255,3,113,65,20,108,106,34,7,47,1,12,34,6,65,255,255,3,71,4,64,32,6,32,21,47,1,12,75,13,1,11,11,32,11,32,4,59,1,74,65,1,33,30,12,2,11,32,25,32,31,32,11,65,8,106,16,146,1,12,2,11,65,0,33,30,32,21,33,7,32,23,32,42,70,13,1,11,3,64,32,7,47,1,18,34,4,65,8,113,4,64,32,11,32,11,47,1,74,65,1,106,59,1,74,32,7,65,20,106,33,7,12,1,11,2,64,32,4,65,16,113,13,0,32,0,40,2,60,32,11,47,1,74,34,9,65,20,108,106,47,1,12,32,21,47,1,12,71,4,64,32,3,40,2,60,33,9,32,3,40,2,64,34,10,4,127,32,14,47,1,68,33,6,65,0,33,4,32,10,34,5,65,1,71,4,64,3,64,32,4,32,5,65,1,118,34,12,32,4,106,34,4,32,9,32,4,65,1,116,106,47,1,0,32,6,75,27,33,4,32,5,32,12,107,34,5,65,1,75,13,0,11,11,32,6,32,9,32,4,65,1,116,106,47,1,0,34,5,70,13,2,32,4,32,5,32,6,73,106,5,65,0,11,33,4,32,10,65,1,106,34,5,32,3,40,2,68,75,4,64,32,5,65,1,116,33,6,2,127,32,9,4,64,32,9,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,9,32,3,32,5,54,2,68,32,3,32,9,54,2,60,32,3,40,2,64,33,10,11,32,4,65,1,116,33,5,2,64,32,4,32,10,79,13,0,32,10,32,4,107,65,1,116,34,4,69,13,0,32,5,32,9,106,34,6,65,2,106,32,6,32,4,252,10,0,0,11,32,5,32,9,106,32,14,47,0,68,59,0,0,32,3,32,3,40,2,64,65,1,106,54,2,64,12,1,11,32,11,47,1,72,69,4,64,32,3,40,2,48,33,12,65,0,33,4,32,3,40,2,52,34,10,33,5,2,64,2,64,2,64,32,10,34,6,14,2,2,1,0,11,3,64,32,4,32,5,65,1,118,34,6,32,4,106,34,4,32,12,32,4,65,1,116,106,47,1,0,32,9,75,27,33,4,32,5,32,6,107,34,5,65,1,75,13,0,11,11,32,12,32,4,65,1,116,106,47,1,0,34,5,32,9,70,13,2,32,4,32,5,32,9,73,106,33,6,11,32,10,65,1,106,34,4,32,3,40,2,56,75,4,64,32,4,65,1,116,33,5,2,127,32,12,4,64,32,12,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,12,32,3,32,4,54,2,56,32,3,32,12,54,2,48,32,3,40,2,52,33,10,11,32,6,65,1,116,33,4,2,64,32,6,32,10,79,13,0,32,10,32,6,107,65,1,116,34,5,69,13,0,32,4,32,12,106,34,6,65,2,106,32,6,32,5,252,10,0,0,11,32,4,32,12,106,32,9,59,0,0,32,3,32,3,40,2,52,65,1,106,54,2,52,12,1,11,32,18,32,31,32,11,65,8,106,16,146,1,11,32,30,69,13,1,32,7,47,1,14,34,4,65,255,255,3,70,13,1,32,4,32,11,47,1,74,77,13,1,32,11,32,4,59,1,74,32,0,40,2,60,32,4,65,20,108,106,33,7,12,0,11,0,11,32,28,40,2,20,32,16,75,13,0,11,12,0,11,0,11,32,19,65,1,106,34,19,32,3,40,2,4,34,13,79,13,1,32,3,40,2,16,33,4,12,0,11,0,11,32,11,32,3,40,2,8,54,2,16,32,11,32,3,41,2,0,55,3,8,32,3,32,18,40,2,8,54,2,8,32,3,32,18,41,2,0,55,2,0,32,18,32,11,40,2,16,54,2,8,32,18,32,11,41,3,8,55,2,0,11,32,36,65,1,106,34,36,65,128,2,71,13,0,11,32,3,65,1,58,0,72,11,32,11,65,208,0,106,36,0,11,165,4,1,4,127,32,0,4,64,32,0,40,2,60,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,68,32,0,66,0,55,2,60,11,32,0,40,2,72,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,80,32,0,66,0,55,2,72,11,32,0,40,2,84,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,92,32,0,66,0,55,2,84,11,32,0,40,2,96,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,104,32,0,66,0,55,2,96,11,32,0,40,2,108,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,116,32,0,66,0,55,2,108,11,32,0,40,2,132,1,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,140,1,32,0,66,0,55,2,132,1,11,32,0,40,2,120,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,128,1,32,0,66,0,55,2,120,11,32,0,40,2,144,1,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,152,1,32,0,66,0,55,2,144,1,11,32,0,40,2,0,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,8,32,0,66,0,55,2,0,11,32,0,40,2,12,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,20,32,0,66,0,55,2,12,11,32,0,40,2,24,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,32,32,0,66,0,55,2,24,11,32,0,40,2,36,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,44,32,0,66,0,55,2,36,11,32,0,40,2,52,34,2,4,64,65,0,33,1,3,64,32,0,40,2,48,32,1,65,12,108,106,34,3,40,2,0,34,4,4,64,32,4,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,0,40,2,52,33,2,11,32,1,65,1,106,34,1,32,2,73,13,0,11,11,32,0,40,2,48,34,1,4,64,32,1,35,6,40,2,0,17,2,0,32,0,65,0,54,2,56,32,0,66,0,55,2,48,11,32,0,35,6,40,2,0,17,2,0,11,11,110,1,3,127,32,0,40,2,4,65,1,106,34,1,32,0,40,2,8,34,2,75,4,64,65,8,32,2,65,1,116,34,2,32,1,32,1,32,2,73,27,34,1,32,1,65,8,77,27,34,2,65,20,108,33,1,2,127,32,0,40,2,0,34,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,1,32,0,32,2,54,2,8,32,0,32,1,54,2,0,11,11,203,3,1,6,127,3,64,32,0,32,0,40,2,0,32,0,45,0,16,106,34,4,54,2,0,2,64,2,64,32,0,40,2,8,34,5,32,4,75,4,64,32,0,32,4,44,0,0,34,1,65,255,1,113,34,2,54,2,12,65,1,33,3,32,1,65,0,72,4,64,2,64,32,5,32,4,107,34,5,65,1,70,13,0,2,64,32,1,65,96,79,4,64,2,64,32,1,65,111,77,4,64,32,0,32,2,65,15,113,34,2,54,2,12,35,1,65,222,10,106,32,2,106,45,0,0,32,4,45,0,1,34,1,65,5,118,118,65,1,113,69,13,4,32,1,65,63,113,33,6,65,2,33,1,12,1,11,32,0,32,2,65,240,1,107,34,2,54,2,12,32,1,65,116,75,13,3,35,1,65,176,12,106,32,4,45,0,1,34,1,65,4,118,106,44,0,0,32,2,118,65,1,113,69,13,3,32,0,32,1,65,63,113,32,2,65,6,116,114,34,2,54,2,12,65,2,33,3,32,5,65,2,70,13,3,65,3,33,1,32,4,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,0,32,6,65,255,1,113,32,2,65,6,116,114,34,2,54,2,12,32,5,34,3,32,1,71,13,1,12,2,11,32,1,65,66,73,13,1,32,0,32,2,65,31,113,34,2,54,2,12,65,1,33,1,11,32,1,32,4,106,45,0,0,65,128,127,115,65,255,1,113,34,3,65,63,77,13,3,32,1,33,3,11,32,0,65,127,54,2,12,65,127,33,2,11,32,0,32,3,58,0,16,12,2,11,65,0,33,2,32,0,65,0,54,2,12,32,0,65,0,58,0,16,12,1,11,32,0,32,2,65,6,116,32,3,114,34,2,54,2,12,32,0,32,1,65,1,106,58,0,16,11,32,2,16,245,1,13,0,32,0,40,2,12,34,3,65,33,107,34,1,65,30,77,65,0,65,1,32,1,116,65,129,224,128,128,4,113,27,13,0,32,3,65,223,0,70,13,0,11,11,250,2,1,4,127,32,0,40,2,4,34,3,32,1,40,2,4,34,2,73,4,64,32,0,40,2,0,33,4,32,0,40,2,8,34,5,32,2,73,4,127,65,8,32,5,65,1,116,34,3,32,2,32,2,32,3,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,2,54,2,8,32,0,32,4,54,2,0,32,0,40,2,4,33,3,32,1,40,2,4,5,32,2,11,32,3,107,34,2,4,64,32,3,32,4,106,65,0,32,2,252,11,0,11,32,0,32,1,40,2,4,34,2,54,2,4,11,32,2,65,255,255,3,113,4,64,65,0,33,3,65,0,33,4,3,64,32,1,40,2,0,32,3,106,45,0,0,33,2,2,64,2,64,2,64,2,64,2,64,2,64,32,0,40,2,0,32,3,106,34,3,45,0,0,14,5,5,1,2,3,0,4,11,65,4,33,2,12,4,11,32,2,65,255,1,113,65,5,79,13,2,66,129,132,136,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,3,11,32,2,65,255,1,113,65,5,79,13,1,66,130,132,136,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,2,11,32,2,65,255,1,113,65,5,79,13,0,66,131,136,144,160,192,0,32,2,65,3,116,173,66,248,1,131,136,167,33,2,12,1,11,65,0,33,2,11,32,3,32,2,58,0,0,32,4,65,1,106,34,4,65,255,255,3,113,34,3,32,1,47,1,4,73,13,0,11,11,11,218,10,1,8,127,65,1,33,3,32,1,40,2,12,65,34,70,4,64,32,1,40,2,0,33,8,32,1,16,86,26,32,1,40,2,0,33,2,32,0,65,0,54,2,136,1,2,127,3,64,2,64,32,1,40,2,12,33,3,2,127,2,64,2,64,32,4,65,1,113,4,64,32,0,40,2,136,1,33,4,2,64,2,64,2,64,2,64,2,64,32,3,65,238,0,107,14,7,0,4,4,4,1,4,2,3,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,10,58,0,0,12,6,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,13,58,0,0,12,5,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,9,58,0,0,12,4,11,32,3,65,48,70,13,2,11,32,0,40,2,132,1,33,2,32,1,40,2,0,33,6,2,64,32,4,32,1,45,0,16,34,3,106,34,5,32,0,40,2,140,1,77,13,0,2,127,32,2,4,64,32,2,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,140,1,32,0,32,2,54,2,132,1,32,0,40,2,136,1,34,5,32,4,77,13,0,32,5,32,4,107,34,5,69,13,0,32,2,32,4,106,34,7,32,3,106,32,7,32,5,252,10,0,0,11,2,64,32,3,69,34,5,13,0,32,2,32,4,106,33,2,32,6,4,64,32,5,13,1,32,2,32,6,32,3,252,10,0,0,12,1,11,32,3,69,13,0,32,2,65,0,32,3,252,11,0,11,32,0,32,0,40,2,136,1,32,3,106,54,2,136,1,12,2,11,2,64,2,64,2,127,2,64,32,3,65,220,0,71,4,64,32,3,65,10,70,13,4,65,0,32,3,65,34,71,13,7,26,32,0,40,2,132,1,33,3,32,1,40,2,0,34,8,32,2,107,34,4,32,0,40,2,136,1,34,5,106,34,6,32,0,40,2,140,1,77,13,3,32,3,69,13,1,32,3,32,6,35,4,40,2,0,17,1,0,12,2,11,32,0,40,2,132,1,33,3,2,64,32,1,40,2,0,34,7,32,2,107,34,4,32,0,40,2,136,1,34,5,106,34,6,32,0,40,2,140,1,77,13,0,2,127,32,3,4,64,32,3,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,6,32,5,77,13,0,32,6,32,5,107,34,6,69,13,0,32,3,32,5,106,34,9,32,4,106,32,9,32,6,252,10,0,0,11,2,64,32,2,32,7,70,13,0,32,3,32,5,106,33,3,32,2,4,64,32,4,69,13,1,32,3,32,2,32,4,252,10,0,0,12,1,11,32,4,69,13,0,32,3,65,0,32,4,252,11,0,11,32,0,32,0,40,2,136,1,32,4,106,54,2,136,1,32,1,40,2,0,65,1,106,33,2,65,1,12,6,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,6,32,5,77,13,0,32,6,32,5,107,34,6,69,13,0,32,3,32,5,106,34,7,32,4,106,32,7,32,6,252,10,0,0,11,2,64,32,2,32,8,70,13,0,32,3,32,5,106,33,3,32,2,4,64,32,4,69,13,1,32,3,32,2,32,4,252,10,0,0,12,1,11,32,4,69,13,0,32,3,65,0,32,4,252,11,0,11,32,0,32,0,40,2,136,1,32,4,106,54,2,136,1,65,0,12,6,11,12,3,11,32,0,40,2,132,1,33,3,32,0,32,4,65,1,106,34,2,32,0,40,2,140,1,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,2,54,2,140,1,32,0,32,3,54,2,132,1,32,0,40,2,136,1,34,4,65,1,106,5,32,2,11,54,2,136,1,32,3,32,4,106,65,0,58,0,0,11,32,1,40,2,0,32,1,45,0,16,106,33,2,65,0,11,33,4,32,1,16,86,13,1,11,11,32,1,65,0,58,0,16,32,1,32,8,54,2,0,65,1,11,33,3,32,1,16,86,26,11,32,3,11,206,3,1,5,127,2,64,2,64,32,0,40,2,16,34,4,69,13,0,32,0,40,2,12,33,6,3,64,2,64,32,2,32,6,32,3,65,3,116,106,34,5,40,2,4,70,4,64,32,0,40,2,0,32,5,40,2,0,106,32,1,32,2,16,251,1,69,13,1,11,32,3,65,1,106,34,3,32,4,71,13,1,12,2,11,11,32,3,65,0,78,13,1,11,32,0,40,2,0,33,3,32,0,40,2,4,33,6,32,2,65,1,106,34,5,4,64,32,5,32,6,106,34,4,32,0,40,2,8,34,7,77,4,127,32,6,5,65,8,32,7,65,1,116,34,7,32,4,32,4,32,7,73,27,34,4,32,4,65,8,77,27,33,4,2,127,32,3,4,64,32,3,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,11,33,4,32,5,4,64,32,3,32,4,106,65,0,32,5,252,11,0,11,32,0,32,0,40,2,4,32,5,106,54,2,4,32,0,40,2,0,33,3,11,32,2,4,64,32,3,32,6,106,32,1,32,2,252,10,0,0,11,32,0,40,2,0,32,0,40,2,4,106,65,1,107,65,0,58,0,0,32,0,40,2,12,33,3,32,0,32,0,40,2,16,34,4,65,1,106,34,1,32,0,40,2,20,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,1,32,1,32,4,73,27,34,1,32,1,65,8,77,27,34,4,65,3,116,33,1,2,127,32,3,4,64,32,3,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,20,32,0,32,3,54,2,12,32,0,40,2,16,34,4,65,1,106,5,32,1,11,54,2,16,32,3,32,4,65,3,116,106,34,1,32,2,54,2,4,32,1,32,6,54,2,0,32,0,47,1,16,65,1,107,33,3,11,32,3,65,255,255,3,113,11,7,0,32,0,40,2,100,11,7,0,32,0,40,2,16,11,7,0,32,0,40,2,40,11,49,1,1,127,32,0,40,2,12,32,1,65,255,255,3,113,65,3,116,106,34,1,40,2,0,33,3,32,0,40,2,0,33,0,32,2,32,1,40,2,4,54,2,0,32,0,32,3,106,11,47,1,1,127,32,2,65,255,255,3,113,34,2,32,0,40,2,48,32,1,65,12,108,106,34,0,40,2,4,73,4,127,32,0,40,2,0,32,2,106,45,0,0,5,65,0,11,11,49,1,1,127,32,0,40,2,36,32,1,65,255,255,3,113,65,3,116,106,34,1,40,2,0,33,3,32,0,40,2,24,33,0,32,2,32,1,40,2,4,54,2,0,32,0,32,3,106,11,54,1,1,127,32,0,40,2,96,32,1,65,28,108,106,34,1,40,2,8,33,3,32,2,32,1,40,2,12,34,1,54,2,0,32,1,69,4,64,65,0,15,11,32,0,40,2,84,32,3,65,3,116,106,11,16,0,32,0,40,2,96,32,1,65,28,108,106,40,2,16,11,16,0,32,0,40,2,96,32,1,65,28,108,106,40,2,20,11,80,1,3,127,32,0,40,2,76,34,2,69,4,64,65,1,15,11,32,0,40,2,72,33,3,65,0,33,0,3,64,2,64,32,1,32,3,32,0,65,6,108,106,34,4,47,1,2,71,13,0,32,4,45,0,4,65,1,70,13,0,65,0,15,11,32,0,65,1,106,34,0,32,2,71,13,0,11,65,1,11,35,1,1,127,32,0,40,2,100,32,1,75,4,127,32,0,40,2,96,32,1,65,28,108,106,45,0,24,5,65,0,11,65,1,113,11,120,1,4,127,32,0,40,2,112,34,4,69,4,64,65,0,15,11,65,127,33,2,32,1,32,0,40,2,108,34,3,40,2,0,79,4,64,65,0,33,2,3,64,32,4,32,2,34,5,65,1,106,34,2,71,4,64,32,3,32,2,65,3,116,106,40,2,0,32,1,77,13,1,11,11,32,3,32,5,65,3,116,106,47,1,4,33,2,11,32,0,40,2,64,32,2,77,4,64,65,0,15,11,32,0,40,2,60,32,2,65,20,108,106,45,0,18,65,7,118,11,179,2,1,6,127,2,64,32,0,40,2,16,34,4,69,13,0,32,0,40,2,12,33,5,3,64,2,64,32,2,32,5,32,3,65,3,116,106,34,6,40,2,4,70,4,64,32,0,40,2,0,32,6,40,2,0,106,32,1,32,2,16,251,1,69,13,1,11,32,3,65,1,106,34,3,32,4,71,13,1,12,2,11,11,32,3,65,127,70,13,0,32,0,40,2,64,34,5,69,13,0,32,0,40,2,60,33,6,65,0,33,2,32,3,65,255,255,3,113,33,1,3,64,65,0,33,3,32,6,32,2,65,20,108,106,34,0,65,6,106,34,7,33,4,2,64,2,64,32,0,47,1,6,34,8,32,1,70,13,0,32,1,32,0,47,1,8,70,4,64,32,0,65,8,106,33,4,65,1,33,3,12,1,11,32,0,47,1,10,32,1,71,13,1,32,0,65,255,255,3,59,1,10,12,1,11,32,4,65,255,255,3,59,1,0,32,3,65,1,116,32,7,106,34,3,65,2,106,47,1,0,34,4,65,255,255,3,70,13,0,32,3,32,4,59,1,0,32,3,65,255,255,3,59,1,2,32,1,32,8,71,13,0,32,0,47,1,10,34,3,65,255,255,3,70,13,0,32,0,65,255,255,3,59,1,10,32,0,32,3,59,1,8,11,32,2,65,1,106,34,2,32,5,71,13,0,11,11,11,102,1,3,127,32,0,40,2,76,34,3,4,64,3,64,32,0,40,2,72,32,2,65,6,108,106,34,4,47,1,2,32,1,70,4,64,32,3,32,2,65,127,115,106,65,6,108,34,3,4,64,32,4,32,4,65,6,106,32,3,252,10,0,0,11,32,0,32,0,40,2,76,65,1,107,34,3,54,2,76,32,2,65,1,107,33,2,11,32,2,65,1,106,34,2,32,3,73,13,0,11,11,11,223,1,1,2,127,65,168,1,35,5,34,1,40,2,0,17,0,0,34,0,65,0,65,200,0,252,11,0,32,0,66,0,55,3,112,32,0,66,127,55,3,104,32,0,66,0,55,3,96,32,0,66,128,128,128,128,112,55,3,88,32,0,66,128,128,128,128,112,55,3,80,32,0,66,255,255,255,255,15,55,3,72,32,0,66,0,55,3,120,32,0,66,0,55,3,128,1,32,0,66,0,55,3,136,1,32,0,66,0,55,3,144,1,32,0,66,0,55,3,152,1,32,0,66,0,55,3,160,1,65,128,1,32,1,40,2,0,17,0,0,33,1,32,0,65,8,54,2,32,32,0,32,1,54,2,24,32,0,40,2,44,65,7,77,4,64,2,127,32,0,40,2,36,34,1,4,64,32,1,65,128,1,35,4,40,2,0,17,1,0,12,1,11,65,128,1,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,44,32,0,32,1,54,2,36,11,32,0,11,181,5,2,6,127,2,126,35,0,65,16,107,34,5,36,0,32,0,65,0,54,2,40,32,0,65,0,54,2,28,32,2,40,2,16,33,6,32,2,40,2,8,33,7,32,2,40,2,4,33,4,32,2,40,2,0,33,8,32,2,40,2,20,33,3,32,0,32,2,40,2,12,59,1,20,32,0,32,3,54,2,4,32,0,65,0,54,2,12,32,0,40,2,8,33,2,32,0,32,0,40,2,16,4,127,65,0,5,2,127,32,2,4,64,32,2,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,2,32,0,65,8,54,2,16,32,0,32,2,54,2,8,32,0,40,2,12,11,34,3,65,1,106,54,2,12,32,2,32,3,65,28,108,106,34,2,65,0,54,2,24,32,2,66,0,55,2,16,32,2,32,7,54,2,12,32,2,32,4,54,2,8,32,2,32,8,54,2,4,32,2,32,6,54,2,0,2,64,32,0,40,2,52,34,6,65,255,255,3,113,34,4,69,13,0,32,0,40,2,48,33,3,65,0,33,7,65,0,33,2,32,4,65,8,79,4,64,32,6,65,248,255,3,113,33,8,65,0,33,4,3,64,32,3,32,2,65,12,108,106,65,127,54,2,4,32,3,32,2,65,1,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,2,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,3,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,4,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,5,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,6,114,65,12,108,106,65,127,54,2,4,32,3,32,2,65,7,114,65,12,108,106,65,127,54,2,4,32,2,65,8,106,33,2,32,4,65,8,106,34,4,32,8,71,13,0,11,11,32,6,65,7,113,34,4,69,13,0,3,64,32,3,32,2,65,12,108,106,65,127,54,2,4,32,2,65,1,106,33,2,32,7,65,1,106,34,7,32,4,71,13,0,11,11,32,0,65,1,58,0,160,1,32,0,32,6,54,2,76,32,0,65,0,54,2,112,32,0,65,0,59,0,161,1,32,0,65,0,54,2,80,32,0,65,0,58,0,163,1,32,0,32,1,54,2,0,32,0,65,0,54,2,156,1,2,64,32,0,41,3,136,1,66,0,82,4,64,32,5,16,237,1,32,5,41,3,0,33,10,32,5,40,2,8,33,1,32,0,32,5,40,2,12,54,2,132,1,32,0,32,1,32,0,41,3,136,1,34,9,32,9,66,192,132,61,128,34,9,66,192,132,61,126,125,167,65,232,7,108,106,34,1,65,128,148,235,220,3,107,32,1,32,1,65,255,147,235,220,3,74,34,1,27,54,2,128,1,32,0,32,1,173,32,9,32,10,124,124,55,3,120,12,1,11,32,0,65,248,0,106,34,1,66,0,55,3,0,32,1,66,0,55,3,8,11,32,0,65,0,54,2,152,1,32,0,66,0,55,3,144,1,32,5,65,16,106,36,0,11,196,1,1,5,127,32,1,40,2,16,33,3,32,1,40,2,8,33,4,32,1,40,2,4,33,5,32,1,40,2,0,33,6,32,1,40,2,20,33,2,32,0,32,1,40,2,12,59,1,16,32,0,32,2,54,2,0,32,0,65,0,54,2,8,32,0,40,2,4,33,1,32,0,32,0,40,2,12,4,127,65,0,5,2,127,32,1,4,64,32,1,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,1,32,0,65,8,54,2,12,32,0,32,1,54,2,4,32,0,40,2,8,11,34,2,65,1,106,54,2,8,32,1,32,2,65,28,108,106,34,0,65,0,54,2,24,32,0,66,0,55,2,16,32,0,32,4,54,2,12,32,0,32,5,54,2,8,32,0,32,6,54,2,4,32,0,32,3,54,2,0,11,87,1,3,127,2,64,2,64,32,2,40,2,0,34,3,32,2,40,2,4,34,4,114,69,4,64,32,2,66,127,55,2,0,12,1,11,32,1,40,2,0,34,5,32,3,75,13,1,32,3,32,5,71,13,0,32,1,40,2,4,32,4,75,13,1,11,32,0,32,1,41,2,0,55,3,96,32,0,32,2,41,2,0,55,3,104,11,11,223,1,1,3,127,2,127,32,0,40,2,40,69,4,64,65,0,32,0,65,0,16,115,69,13,1,26,11,32,0,40,2,36,34,3,40,2,0,34,2,65,127,70,4,64,32,0,32,0,40,2,112,34,2,65,1,106,54,2,112,32,3,32,2,54,2,0,11,32,1,32,2,54,2,0,32,1,32,3,47,1,12,59,1,4,2,64,32,3,47,1,4,34,2,32,0,40,2,52,79,4,64,32,0,40,2,64,33,2,32,0,40,2,60,33,4,12,1,11,32,0,40,2,48,32,2,65,12,108,106,34,4,40,2,4,33,2,32,4,65,127,54,2,4,32,4,40,2,0,33,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,1,32,2,59,1,6,32,1,32,4,54,2,8,32,0,40,2,40,65,4,116,65,16,107,34,1,4,64,32,3,32,3,65,16,106,32,1,252,10,0,0,11,32,0,32,0,40,2,40,65,1,107,54,2,40,65,1,11,11,202,68,2,30,127,2,126,35,0,65,208,1,107,34,7,36,0,32,0,65,60,106,33,28,32,0,65,4,106,33,21,32,0,65,148,1,106,33,29,3,64,2,64,32,0,45,0,162,1,34,6,65,1,71,13,0,32,0,40,2,28,34,4,69,13,0,32,0,40,2,52,33,3,32,0,40,2,24,33,5,2,64,32,4,34,2,65,1,113,69,13,0,32,0,32,2,65,1,107,34,2,54,2,28,32,3,32,5,32,2,65,4,116,106,47,1,4,34,9,77,13,0,32,0,40,2,48,32,9,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,4,65,1,70,13,0,3,64,32,0,32,2,65,1,107,34,4,54,2,28,32,5,32,4,65,4,116,106,47,1,4,34,4,32,3,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,32,2,65,2,107,34,2,54,2,28,32,5,32,2,65,4,116,106,47,1,4,34,4,32,3,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,2,13,0,11,11,32,0,32,0,40,2,156,1,65,1,106,34,2,65,0,32,2,65,228,0,71,27,34,4,54,2,156,1,2,64,32,0,40,2,144,1,34,2,69,13,0,32,2,40,2,4,69,13,0,32,0,32,0,40,2,8,32,0,40,2,12,65,28,108,106,65,24,107,40,0,0,54,2,152,1,11,2,64,2,64,32,6,32,14,114,65,1,113,13,0,32,4,13,1,2,64,32,0,41,3,120,80,4,64,32,0,40,2,128,1,69,13,1,11,32,7,65,184,1,106,16,237,1,65,0,33,14,32,7,41,3,184,1,34,32,32,0,41,3,120,34,33,85,13,1,32,32,32,33,89,4,64,32,7,40,2,192,1,32,0,40,2,128,1,74,13,2,11,32,0,40,2,144,1,33,2,11,32,2,69,13,1,32,2,40,2,4,34,2,69,13,1,32,29,32,2,17,0,0,69,13,1,65,0,33,14,11,32,7,65,208,1,106,36,0,32,14,65,1,113,15,11,2,64,32,0,2,127,2,64,32,0,45,0,161,1,65,1,70,4,64,65,0,33,14,32,0,45,0,160,1,65,1,71,13,3,65,0,33,8,65,0,33,2,65,0,32,0,40,2,28,34,9,69,13,2,26,3,64,2,64,2,64,32,0,40,2,0,40,2,60,32,0,40,2,24,34,4,32,2,65,4,116,106,34,3,47,1,10,65,20,108,106,47,1,12,34,5,65,255,255,3,70,4,64,32,0,40,2,80,34,5,32,3,47,1,8,79,65,0,32,5,27,13,1,32,0,40,2,36,33,4,32,0,32,0,40,2,40,34,6,65,1,106,34,5,32,0,40,2,44,34,20,75,4,127,65,8,32,20,65,1,116,34,6,32,5,32,5,32,6,73,27,34,5,32,5,65,8,77,27,34,6,65,4,116,33,5,2,127,32,4,4,64,32,4,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,4,32,0,32,6,54,2,44,32,0,32,4,54,2,36,32,0,40,2,40,34,6,65,1,106,5,32,5,11,54,2,40,32,4,32,6,65,4,116,106,34,4,32,3,41,2,0,55,2,0,32,4,32,3,41,2,8,55,2,8,65,1,33,14,32,8,65,1,106,33,8,12,2,11,32,0,40,2,80,32,3,47,1,8,32,5,106,79,13,0,32,3,47,1,4,34,4,32,0,40,2,52,73,4,64,32,0,40,2,48,32,4,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,8,65,1,106,33,8,12,1,11,32,8,69,4,64,65,0,33,8,12,1,11,32,4,32,2,32,8,107,65,4,116,106,34,4,32,3,41,2,0,55,2,0,32,4,32,3,41,2,8,55,2,8,11,32,9,32,2,65,1,106,34,2,71,13,0,11,12,1,11,65,0,33,10,2,127,65,0,2,127,32,0,40,2,8,34,4,32,0,40,2,12,34,3,65,28,108,106,34,2,65,28,107,40,2,0,34,11,40,0,0,34,5,65,1,113,4,64,32,5,65,3,118,65,1,113,12,1,11,32,5,47,1,44,65,2,118,65,1,113,11,13,0,26,32,3,65,2,73,4,64,32,0,47,1,20,12,1,11,65,0,32,2,65,56,107,40,2,0,40,2,0,47,1,66,34,5,69,13,0,26,32,21,40,2,0,40,2,8,34,6,40,2,84,32,6,47,1,36,32,5,108,65,1,116,106,32,2,65,8,107,40,2,0,65,1,116,106,47,1,0,11,33,5,32,2,65,24,107,40,0,0,33,20,32,2,65,20,107,40,0,0,33,14,32,2,65,16,107,40,0,0,33,15,32,7,32,21,40,2,0,34,12,54,2,180,1,32,7,32,11,54,2,176,1,32,7,32,5,65,255,255,3,113,34,16,54,2,172,1,32,7,32,15,54,2,168,1,32,7,32,14,54,2,164,1,32,7,32,20,54,2,160,1,2,127,32,3,65,2,72,4,64,65,0,33,6,65,0,33,13,65,0,33,9,65,0,33,8,65,0,12,1,11,65,0,33,6,2,64,32,3,65,2,107,34,2,69,13,0,3,64,2,64,32,4,32,2,65,28,108,106,34,3,65,28,107,40,2,0,40,2,0,47,1,66,34,9,69,13,0,32,12,40,2,8,34,10,40,2,84,32,10,47,1,36,32,9,108,65,1,116,106,32,3,40,2,20,65,1,116,106,47,1,0,34,9,69,13,0,32,3,33,4,32,9,33,6,12,2,11,2,127,32,3,40,2,0,40,0,0,34,9,65,1,113,4,64,32,9,65,1,118,65,1,113,12,1,11,32,9,47,1,44,65,1,113,11,69,4,64,32,2,65,1,107,34,2,69,13,2,12,1,11,11,32,3,33,4,11,32,4,40,0,12,33,13,32,4,40,0,8,33,9,32,4,40,0,4,33,8,32,12,33,10,32,4,40,2,0,11,33,19,2,127,32,11,41,2,0,34,33,167,34,2,65,1,113,34,3,4,64,32,33,66,24,136,66,128,128,128,128,240,31,131,33,32,32,20,32,33,66,56,136,167,106,12,1,11,32,2,41,2,20,33,32,32,2,40,2,16,32,20,106,11,33,4,2,64,2,64,2,64,2,64,2,64,2,127,32,19,69,4,64,32,0,40,2,88,33,11,65,0,12,1,11,2,127,65,1,32,9,2,126,2,64,2,64,32,19,41,2,0,34,33,167,34,17,65,1,113,4,64,32,0,40,2,88,34,11,32,8,32,33,66,56,136,167,106,73,13,1,65,1,12,4,11,32,0,40,2,88,34,11,32,17,40,2,16,32,8,106,73,13,1,65,1,12,3,11,32,33,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,17,41,2,20,11,34,33,167,34,17,106,34,18,32,0,40,2,96,34,23,73,13,0,26,32,18,32,23,70,32,0,40,2,100,32,33,66,32,136,167,65,0,32,13,32,17,27,106,79,113,11,33,17,2,64,32,8,32,0,40,2,92,79,13,0,32,9,32,0,40,2,104,34,8,75,13,0,32,8,32,9,70,32,13,32,0,40,2,108,79,113,34,9,32,17,69,13,1,26,65,0,33,17,65,1,33,8,12,3,11,65,1,33,8,32,17,13,1,65,1,11,33,9,65,0,33,8,32,4,32,11,73,4,64,65,0,33,17,12,2,11,32,14,32,32,167,34,17,106,34,13,32,0,40,2,96,34,18,73,4,64,65,0,33,17,32,9,69,13,4,65,1,33,4,12,5,11,32,13,32,18,70,32,32,66,32,136,167,65,0,32,15,32,17,27,106,34,23,32,0,40,2,100,34,24,73,113,34,25,69,33,17,32,25,13,1,32,4,32,20,70,13,1,32,4,32,11,70,4,64,65,0,33,17,12,2,11,32,9,13,2,32,13,32,18,71,32,23,32,24,71,114,33,17,12,3,11,65,0,33,17,65,1,33,4,12,3,11,32,9,69,13,1,11,65,1,33,4,65,0,33,17,12,1,11,32,0,40,2,92,32,20,77,4,64,65,0,33,17,65,0,33,4,12,1,11,65,0,33,4,32,0,40,2,104,34,9,32,14,79,4,127,32,9,32,14,71,32,15,32,0,40,2,108,73,114,5,65,0,11,32,17,113,33,17,11,65,0,33,14,2,64,32,0,45,0,160,1,65,1,71,13,0,2,127,2,64,32,16,69,4,64,32,3,4,64,32,2,65,128,254,3,113,65,8,118,33,5,12,2,11,32,2,47,1,40,33,5,11,65,255,255,3,32,5,65,255,255,3,113,65,255,255,3,70,13,1,26,11,32,12,40,2,8,40,2,76,32,5,65,255,255,3,113,65,1,116,106,47,1,0,11,33,26,65,1,33,20,2,64,2,64,2,64,32,16,65,254,255,3,107,14,2,0,2,1,11,65,0,33,20,12,1,11,32,16,4,64,32,12,40,2,8,40,2,72,32,16,65,3,108,106,45,0,1,65,0,71,33,20,12,1,11,32,3,4,64,32,2,65,2,118,65,1,113,33,20,12,1,11,32,2,47,1,44,65,1,118,65,1,113,33,20,11,32,3,4,127,32,2,65,5,118,65,1,113,5,32,2,47,1,44,65,9,118,65,1,113,11,33,23,32,7,66,0,55,3,136,1,32,7,66,0,55,3,128,1,32,7,65,8,54,2,124,32,7,65,128,1,106,33,22,32,7,40,2,124,33,27,32,7,65,0,59,1,154,1,32,7,65,0,54,2,124,32,7,65,0,58,0,159,1,32,7,65,0,58,0,158,1,32,7,65,0,58,0,157,1,2,64,32,21,40,2,8,34,3,65,1,107,34,2,69,13,0,32,21,40,2,4,34,30,65,56,107,33,31,32,21,40,2,0,40,2,8,33,13,3,64,32,3,33,9,32,30,32,2,34,3,65,28,108,106,33,12,32,31,32,9,65,28,108,106,40,2,0,34,15,40,2,0,47,1,66,34,2,4,127,32,13,40,2,84,32,13,47,1,36,32,2,108,65,1,116,106,5,65,0,11,33,16,2,64,2,64,2,127,32,12,40,2,0,34,24,40,0,0,34,2,65,1,113,34,11,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,13,0,32,16,69,13,0,32,16,32,12,40,2,20,65,1,116,106,47,1,0,34,5,13,1,11,32,11,4,64,32,2,65,128,254,3,113,65,8,118,33,5,12,1,11,32,2,47,1,40,33,5,11,65,0,33,11,65,0,33,2,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,2,1,0,11,32,13,40,2,72,32,5,65,3,108,106,34,2,45,0,0,65,1,115,33,11,32,2,45,0,2,33,2,11,32,11,65,1,113,69,32,21,40,2,8,32,9,71,113,13,2,32,2,32,14,32,27,73,113,69,13,0,32,22,32,14,65,1,116,106,32,5,59,1,0,32,7,32,14,65,1,106,34,14,54,2,124,11,2,64,32,7,45,0,159,1,13,0,32,15,40,2,0,40,2,36,33,25,2,127,32,24,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,33,2,32,12,40,2,16,65,1,106,34,5,32,25,79,13,0,32,12,40,2,20,32,2,69,106,33,11,3,64,2,64,2,64,2,127,32,15,40,2,0,34,2,32,2,40,2,36,65,3,116,107,32,5,65,3,116,106,40,2,0,34,9,65,1,113,34,18,4,64,32,9,65,3,118,65,1,113,12,1,11,32,9,47,1,44,65,2,118,65,1,113,11,13,0,32,16,69,13,0,32,16,32,11,65,1,116,106,47,1,0,34,2,13,1,11,32,18,4,64,32,9,65,128,254,3,113,65,8,118,33,2,12,1,11,32,9,47,1,40,33,2,11,32,11,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,2,65,254,255,3,107,14,2,1,3,0,11,32,13,40,2,72,32,2,65,3,108,106,34,2,45,0,0,65,1,113,69,13,0,32,2,45,0,1,33,2,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,7,32,2,65,1,113,13,3,32,18,69,13,1,12,4,11,32,18,13,3,32,9,40,2,36,69,13,0,32,9,40,2,48,69,13,0,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,6,32,9,40,2,52,13,2,11,32,9,47,1,44,65,2,118,65,1,113,12,3,11,32,7,65,1,58,0,159,1,32,7,45,0,158,1,13,4,11,32,7,65,1,58,0,158,1,12,3,11,32,9,65,3,118,65,1,113,11,69,106,33,11,32,5,65,1,106,34,5,32,25,71,13,0,11,11,2,64,2,127,32,24,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,13,0,32,13,40,2,32,69,13,0,32,13,40,2,68,32,13,40,2,64,32,15,40,2,0,47,1,66,65,2,116,106,34,5,47,1,0,65,2,116,106,34,2,32,5,47,1,2,34,9,65,2,116,106,33,11,32,7,47,1,154,1,34,5,69,4,64,32,9,69,13,1,32,2,33,5,3,64,2,64,32,5,45,0,3,69,4,64,32,12,40,2,20,32,5,45,0,2,70,13,1,11,32,5,65,4,106,34,5,32,11,73,13,1,12,3,11,11,32,7,32,5,47,1,0,34,5,59,1,154,1,32,5,69,13,1,11,32,9,69,13,0,3,64,2,64,32,2,47,1,0,32,5,71,13,0,32,12,40,2,20,32,2,45,0,2,79,13,0,32,7,65,1,58,0,157,1,12,2,11,32,2,65,4,106,34,2,32,11,73,13,0,11,11,32,3,65,1,107,34,2,13,0,11,11,2,127,65,0,32,19,69,13,0,26,2,64,32,6,69,4,64,32,19,40,2,0,34,2,65,1,113,4,64,32,2,65,128,254,3,113,65,8,118,33,6,12,2,11,32,2,47,1,40,33,6,11,32,6,65,255,255,3,113,65,255,255,3,71,13,0,65,1,12,1,11,32,10,40,2,8,40,2,76,32,6,65,255,255,3,113,65,1,116,106,47,1,0,65,255,255,3,70,11,33,6,32,4,32,8,114,33,9,32,0,40,2,0,34,2,47,1,160,1,33,8,2,64,32,26,65,255,255,3,113,34,13,65,255,255,3,70,34,24,13,0,32,8,65,255,255,3,113,69,4,64,65,0,33,8,12,1,11,65,0,33,3,32,7,40,2,124,33,10,32,7,47,1,154,1,33,12,32,6,32,9,114,65,1,113,33,11,3,64,32,2,40,2,60,32,2,40,2,72,32,3,65,6,108,106,34,4,47,1,0,65,20,108,106,34,5,47,1,12,33,8,32,0,40,2,80,33,14,2,64,2,64,32,4,45,0,4,65,1,70,4,64,32,17,13,1,12,2,11,32,11,13,1,11,32,5,47,1,4,34,16,65,0,32,12,32,16,71,27,13,0,65,0,32,5,47,1,2,32,10,27,13,0,32,0,40,2,84,32,14,32,8,107,73,13,0,32,0,32,4,16,116,32,0,40,2,0,33,2,11,32,3,65,1,106,34,3,32,2,47,1,160,1,34,8,73,13,0,11,11,2,64,32,2,40,2,76,34,10,32,8,65,255,255,3,113,34,3,107,34,8,69,13,0,32,2,40,2,60,33,4,32,2,40,2,72,33,5,32,8,65,1,71,4,64,3,64,32,8,65,1,118,34,12,32,3,106,34,11,32,3,32,13,32,4,32,5,32,11,65,6,108,106,47,1,0,65,20,108,106,47,1,0,75,27,33,3,32,8,32,12,107,34,8,65,1,75,13,0,11,11,2,64,32,13,32,4,32,5,32,3,65,6,108,106,47,1,0,65,20,108,106,47,1,0,34,8,77,13,0,32,3,65,1,106,34,3,32,10,79,13,0,32,4,32,5,32,3,65,6,108,106,47,1,0,65,20,108,106,47,1,0,33,8,11,32,13,32,8,65,255,255,3,113,71,13,0,32,0,40,2,80,32,4,32,5,32,3,65,6,108,106,34,8,47,1,0,65,20,108,106,34,4,47,1,12,107,33,5,32,7,47,1,154,1,33,10,32,6,32,9,114,65,1,113,33,6,3,64,2,64,2,64,32,8,45,0,4,65,1,70,4,64,32,17,13,1,12,2,11,32,6,13,1,11,32,4,47,1,4,34,4,65,0,32,4,32,10,71,27,13,0,32,5,32,0,40,2,84,75,13,0,32,0,32,8,16,116,32,0,40,2,0,33,2,11,32,3,65,1,106,34,3,32,2,40,2,76,70,13,1,32,2,40,2,60,32,2,40,2,72,32,3,65,6,108,106,34,8,47,1,0,65,20,108,106,34,4,47,1,0,32,13,70,13,0,11,11,32,0,40,2,28,69,4,64,65,0,33,14,12,1,11,32,20,65,1,115,33,25,32,13,65,255,255,3,71,33,26,65,0,33,14,65,0,33,9,3,64,32,7,32,9,65,4,116,34,15,32,0,40,2,24,106,34,4,54,2,120,32,0,40,2,0,40,2,60,33,3,32,4,32,4,47,1,14,34,12,65,255,191,127,113,34,11,59,1,14,65,1,33,2,32,0,40,2,80,32,3,32,4,47,1,10,65,20,108,34,8,106,34,10,47,1,12,32,4,47,1,8,106,70,4,127,2,127,32,10,47,1,0,34,2,69,4,64,32,10,47,1,18,34,6,65,128,4,113,65,9,118,34,2,32,24,114,32,20,114,65,1,113,4,64,32,23,32,26,32,2,27,12,2,11,32,6,65,1,115,12,1,11,32,10,47,1,18,33,6,65,0,32,2,32,13,71,13,0,26,32,6,65,128,4,113,69,32,23,65,0,71,114,11,33,5,32,6,65,4,113,4,64,32,7,45,0,158,1,65,1,115,32,5,113,33,5,11,32,12,65,128,32,113,69,32,6,65,2,113,69,32,25,114,113,33,2,2,127,2,64,32,10,47,1,2,34,12,69,13,0,65,0,34,3,32,7,40,2,124,34,16,69,13,1,26,3,64,32,7,65,128,1,106,32,3,65,1,116,106,47,1,0,32,12,70,13,1,32,3,65,1,106,34,3,32,16,71,13,0,11,65,0,12,1,11,32,5,11,33,3,32,2,32,7,45,0,159,1,113,33,5,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,10,47,1,4,34,2,4,64,32,2,32,7,47,1,154,1,71,13,1,32,7,45,0,157,1,32,5,113,33,5,11,32,10,47,1,16,34,2,69,13,1,12,2,11,65,0,33,3,32,10,47,1,16,34,2,13,1,32,5,69,13,4,65,0,33,12,12,6,11,32,3,65,1,113,13,1,12,2,11,32,0,40,2,0,40,2,120,32,2,65,1,116,106,33,2,3,64,32,2,47,1,0,34,12,4,64,32,7,65,64,107,32,7,41,2,176,1,55,3,0,32,7,32,7,41,2,168,1,55,3,56,32,7,32,7,41,2,160,1,55,3,48,32,7,65,224,0,106,32,7,65,48,106,32,12,16,53,32,2,65,2,106,33,2,32,7,40,2,112,69,13,1,12,3,11,11,32,3,65,1,113,69,13,1,11,65,0,33,12,2,64,32,5,65,1,113,69,13,0,2,64,32,6,65,192,0,113,13,0,32,0,40,2,0,40,2,60,32,8,106,34,2,47,1,32,34,3,65,255,255,3,70,13,1,32,3,32,2,47,1,12,77,13,1,32,2,45,0,39,65,1,113,69,13,0,32,2,47,1,0,13,1,11,35,0,65,16,107,34,4,36,0,32,0,40,2,24,33,2,32,4,32,7,40,2,120,34,5,41,2,8,55,3,8,32,4,32,5,41,2,0,55,3,0,32,5,32,2,107,34,8,65,4,117,33,11,32,4,65,255,255,3,54,2,4,2,127,32,5,40,2,4,65,255,255,3,71,4,64,65,0,32,0,32,4,32,11,16,147,1,34,2,69,13,1,26,32,2,40,2,0,33,3,32,5,47,1,4,34,5,32,0,40,2,52,79,4,127,32,0,65,60,106,5,32,0,40,2,48,32,5,65,12,108,106,11,34,5,40,2,0,33,16,2,64,32,5,40,2,4,34,12,32,2,40,2,4,34,5,106,34,19,32,2,40,2,8,77,13,0,32,19,65,28,108,33,6,2,127,32,3,4,64,32,3,32,6,35,4,40,2,0,17,1,0,12,1,11,32,6,35,5,40,2,0,17,0,0,11,33,3,32,2,32,19,54,2,8,32,2,32,3,54,2,0,32,2,40,2,4,34,19,32,5,77,13,0,32,19,32,5,107,65,28,108,34,19,69,13,0,32,3,32,6,106,32,3,32,5,65,28,108,106,32,19,252,10,0,0,11,2,64,32,12,69,13,0,32,12,65,28,108,33,6,32,3,32,5,65,28,108,106,33,3,32,16,4,64,32,6,69,13,1,32,3,32,16,32,6,252,10,0,0,12,1,11,32,6,69,13,0,32,3,65,0,32,6,252,11,0,11,32,2,32,2,40,2,4,32,12,106,54,2,4,32,0,40,2,24,33,2,11,32,0,40,2,28,34,5,65,1,106,34,3,32,0,40,2,32,75,4,64,32,3,65,4,116,33,5,2,127,32,2,4,64,32,2,32,5,35,4,40,2,0,17,1,0,12,1,11,32,5,35,5,40,2,0,17,0,0,11,33,2,32,0,32,3,54,2,32,32,0,32,2,54,2,24,32,0,40,2,28,33,5,11,2,64,32,11,65,1,106,34,3,32,5,79,4,64,32,3,65,4,116,33,6,12,1,11,32,3,65,4,116,33,6,32,5,32,3,107,65,4,116,34,5,69,13,0,32,2,32,8,106,65,32,106,32,2,32,6,106,32,5,252,10,0,0,11,32,2,32,6,106,34,2,32,4,41,3,0,55,0,0,32,2,32,4,41,3,8,55,0,8,32,0,32,0,40,2,28,65,1,106,54,2,28,32,7,32,0,40,2,24,32,8,106,54,2,120,32,0,40,2,24,32,3,65,4,116,106,11,33,2,32,4,65,16,106,36,0,32,2,65,0,71,33,12,32,7,40,2,120,34,4,47,1,14,33,11,11,2,64,32,11,193,65,0,78,13,0,2,64,32,0,40,2,12,34,2,65,2,78,4,64,32,0,40,2,8,33,5,2,64,32,2,65,2,107,34,2,69,4,64,65,0,33,6,12,1,11,3,64,2,64,32,5,32,2,65,28,108,106,34,3,65,28,107,40,2,0,40,2,0,47,1,66,34,6,4,64,32,21,40,2,0,40,2,8,34,8,40,2,84,32,8,47,1,36,32,6,108,65,1,116,106,32,3,40,2,20,65,1,116,106,47,1,0,34,6,13,1,11,65,0,33,6,2,127,32,3,40,2,0,40,0,0,34,8,65,1,113,4,64,32,8,65,1,118,65,1,113,12,1,11,32,8,47,1,44,65,1,113,11,13,0,32,2,65,1,107,34,2,13,1,12,2,11,11,32,3,33,5,11,32,5,41,0,4,33,32,32,5,40,0,12,33,3,32,5,40,2,0,33,2,32,7,32,21,40,2,0,54,2,92,32,7,32,2,54,2,88,32,7,32,6,54,2,84,32,7,32,3,54,2,80,32,7,32,32,55,2,72,32,2,13,1,11,32,4,32,11,65,128,128,1,114,59,1,14,12,1,11,32,4,32,11,65,255,255,1,113,59,1,14,32,10,33,3,3,64,32,3,34,2,65,20,107,33,3,32,2,65,2,107,45,0,0,65,24,113,13,0,32,2,65,8,107,47,1,0,13,0,11,32,2,65,14,107,47,1,0,65,255,255,3,70,13,0,32,7,32,7,41,2,88,55,3,40,32,7,32,7,41,2,80,55,3,32,32,7,32,7,41,2,72,55,3,24,32,0,32,4,32,3,32,7,65,24,106,16,117,11,32,10,47,1,6,65,255,255,3,71,4,64,32,7,32,7,41,2,176,1,55,3,16,32,7,32,7,41,2,168,1,55,3,8,32,7,32,7,41,2,160,1,55,3,0,32,0,32,4,32,10,32,7,16,117,11,32,4,47,1,14,34,2,65,128,128,1,113,13,2,32,4,32,4,47,1,10,65,1,106,34,3,59,1,10,32,0,40,2,0,40,2,60,32,3,65,255,255,3,113,65,20,108,106,33,3,32,4,2,127,2,64,32,10,47,1,0,13,0,32,10,47,1,18,65,1,113,13,0,32,3,45,0,18,65,2,113,69,13,0,32,2,65,128,32,114,12,1,11,32,2,65,255,223,2,113,11,59,1,14,32,1,4,64,32,3,45,0,18,65,7,118,32,14,114,33,14,11,32,9,65,127,70,4,64,65,127,33,9,12,4,11,32,9,65,1,106,33,11,32,9,33,2,3,64,2,64,2,64,32,0,40,2,0,40,2,60,32,0,40,2,24,34,3,32,2,65,4,116,34,22,106,34,8,47,1,10,34,4,65,20,108,106,34,16,47,1,14,34,5,65,255,255,3,70,4,64,32,2,33,5,12,1,11,32,16,47,1,18,34,6,65,16,113,4,64,32,8,32,5,59,1,10,12,2,11,32,2,33,5,32,6,65,8,113,4,64,32,8,32,4,65,1,106,59,1,10,32,2,65,1,107,33,5,11,65,255,255,3,33,4,32,8,41,2,8,33,32,32,8,40,2,0,33,27,32,8,40,2,4,65,255,255,3,71,4,64,32,0,40,2,52,34,10,65,255,255,3,113,33,4,2,64,2,64,2,64,2,64,32,0,40,2,76,34,19,69,13,0,32,4,69,13,0,32,0,40,2,48,33,6,65,0,33,3,3,64,32,6,32,3,65,12,108,106,34,15,40,2,4,65,127,70,13,2,32,3,65,1,106,34,3,32,4,71,13,0,11,11,32,0,40,2,72,32,10,75,4,64,32,0,40,2,48,33,6,32,0,40,2,56,34,3,32,10,77,4,64,65,8,32,3,65,1,116,34,3,32,10,65,1,106,34,10,32,3,32,10,75,27,34,3,32,3,65,8,77,27,34,10,65,12,108,33,3,2,127,32,6,4,64,32,6,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,6,32,0,32,10,54,2,56,32,0,32,6,54,2,48,32,0,40,2,52,33,10,11,32,0,32,10,65,1,106,54,2,52,32,6,32,10,65,12,108,106,34,3,65,0,54,2,8,32,3,66,0,55,2,0,32,4,65,255,255,3,71,13,2,11,32,0,65,1,58,0,163,1,65,0,33,3,65,255,255,3,33,4,32,0,32,7,65,200,0,106,32,7,65,204,1,106,32,7,65,200,1,106,65,0,16,118,69,13,2,32,7,40,2,72,34,6,32,2,70,13,2,32,0,40,2,24,32,6,65,4,116,106,34,3,40,2,4,33,4,32,3,65,255,255,3,54,2,4,32,3,32,3,47,1,14,65,128,128,1,114,59,1,14,32,0,40,2,48,32,4,65,255,255,3,113,65,12,108,106,34,3,65,0,54,2,4,12,2,11,32,15,65,0,54,2,4,32,0,32,19,65,1,107,54,2,76,32,3,65,255,255,3,113,33,4,11,32,6,32,4,65,12,108,106,33,3,11,32,3,69,13,1,32,28,33,6,32,8,47,1,4,34,10,32,0,40,2,52,73,4,64,32,0,40,2,48,32,10,65,12,108,106,33,6,11,32,3,40,2,0,33,8,32,6,40,2,0,33,15,2,64,32,6,40,2,4,34,19,32,3,40,2,4,34,6,106,34,18,32,3,40,2,8,77,13,0,32,18,65,28,108,33,10,2,127,32,8,4,64,32,8,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,8,32,3,32,18,54,2,8,32,3,32,8,54,2,0,32,3,40,2,4,34,18,32,6,77,13,0,32,18,32,6,107,65,28,108,34,18,69,13,0,32,8,32,10,106,32,8,32,6,65,28,108,106,32,18,252,10,0,0,11,2,64,32,19,69,13,0,32,19,65,28,108,33,10,32,8,32,6,65,28,108,106,33,6,32,15,4,64,32,10,69,13,1,32,6,32,15,32,10,252,10,0,0,12,1,11,32,10,69,13,0,32,6,65,0,32,10,252,11,0,11,32,3,32,3,40,2,4,32,19,106,54,2,4,32,0,40,2,24,33,3,11,32,0,40,2,28,34,8,65,1,106,34,6,32,0,40,2,32,75,4,64,32,6,65,4,116,33,10,2,127,32,3,4,64,32,3,32,10,35,4,40,2,0,17,1,0,12,1,11,32,10,35,5,40,2,0,17,0,0,11,33,3,32,0,32,6,54,2,32,32,0,32,3,54,2,24,32,0,40,2,28,33,8,11,2,64,32,2,65,1,106,34,2,32,8,79,4,64,32,2,65,4,116,33,6,12,1,11,32,2,65,4,116,33,6,32,8,32,2,107,65,4,116,34,10,69,13,0,32,3,32,22,106,65,32,106,32,3,32,6,106,32,10,252,10,0,0,11,32,3,32,6,106,34,3,32,32,55,0,8,32,3,32,4,54,0,4,32,3,32,27,54,0,0,32,0,32,0,40,2,28,65,1,106,54,2,28,32,0,40,2,24,34,4,69,13,0,32,4,32,2,65,4,116,106,34,2,32,16,47,1,14,59,1,10,32,12,65,1,106,33,12,32,11,65,1,106,33,11,32,16,45,0,18,65,32,113,69,13,0,32,2,32,2,47,1,14,65,128,32,114,59,1,14,11,32,5,65,1,106,33,2,11,32,2,32,11,73,13,0,11,12,3,11,32,5,65,1,113,69,13,0,65,0,33,12,12,2,11,65,0,33,12,32,4,47,1,4,34,2,32,0,40,2,52,79,13,0,32,0,40,2,48,32,2,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,40,2,28,32,9,65,127,115,106,65,4,116,34,2,4,64,32,0,40,2,24,32,15,106,34,4,32,4,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,32,9,65,1,107,33,9,11,32,12,65,1,106,5,65,1,11,32,9,106,34,9,32,0,40,2,28,34,10,73,13,0,11,65,0,33,5,32,10,69,13,0,3,64,2,64,32,5,65,4,116,34,23,32,0,40,2,24,106,34,6,45,0,15,65,192,0,113,69,4,64,2,64,2,64,32,5,34,20,65,1,106,34,13,32,10,79,13,0,3,64,32,0,40,2,24,34,24,32,13,65,4,116,106,34,8,47,1,8,32,6,47,1,8,71,13,1,32,8,47,1,12,32,6,47,1,12,71,13,1,32,28,33,9,32,0,40,2,52,34,2,32,6,47,1,4,34,4,75,4,64,32,0,40,2,48,32,4,65,12,108,106,33,9,11,32,28,33,4,32,2,32,8,47,1,4,34,16,77,34,25,69,4,64,32,0,40,2,48,32,16,65,12,108,106,33,4,11,65,1,33,12,32,7,65,1,58,0,204,1,32,7,65,1,58,0,72,32,4,40,2,4,33,19,65,0,33,3,2,64,2,64,2,64,2,64,32,9,40,2,4,34,26,4,64,65,1,33,11,65,0,33,2,3,64,2,64,2,64,32,3,32,19,73,4,64,2,64,2,64,32,9,40,2,0,32,2,65,28,108,106,34,15,40,2,16,34,22,32,4,40,2,0,32,3,65,28,108,106,34,18,40,2,16,34,27,70,4,64,32,15,40,2,24,32,18,40,2,24,71,13,1,32,3,65,1,106,33,3,32,2,65,1,106,33,2,12,5,11,32,15,40,0,0,34,15,32,18,40,0,0,34,18,73,13,3,32,15,32,18,77,4,64,2,127,32,22,41,2,0,34,32,167,34,22,65,1,113,4,64,32,32,66,56,136,167,12,1,11,32,22,40,2,16,11,32,15,106,33,15,32,15,2,127,32,27,41,2,0,34,32,167,34,22,65,1,113,4,64,32,32,66,56,136,167,12,1,11,32,22,40,2,16,11,32,18,106,34,18,75,13,4,32,15,32,18,79,13,1,11,12,1,11,32,2,65,1,106,33,2,65,0,33,11,11,32,3,65,1,106,33,3,65,0,33,12,12,2,11,32,7,32,11,58,0,204,1,32,7,32,12,58,0,72,32,7,65,204,1,106,33,2,12,4,11,32,2,65,1,106,33,2,65,0,33,11,11,32,2,32,26,73,13,0,11,32,7,32,11,58,0,204,1,32,7,32,12,58,0,72,11,32,7,65,200,0,106,33,2,32,3,32,19,73,13,0,32,12,65,1,113,13,1,12,2,11,32,2,65,0,58,0,0,32,7,45,0,72,65,1,113,69,13,1,11,32,6,47,1,10,32,8,47,1,10,70,4,64,32,25,69,4,64,32,0,40,2,48,32,16,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,10,32,20,107,65,4,116,65,32,107,34,2,4,64,32,8,32,24,32,20,65,4,116,106,65,32,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,12,2,11,32,8,32,8,47,1,14,65,128,192,0,114,59,1,14,11,32,7,45,0,204,1,65,1,70,4,64,32,6,47,1,10,32,8,47,1,10,70,4,64,32,6,47,1,4,34,2,32,0,40,2,52,73,4,64,32,0,40,2,48,32,2,65,12,108,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,0,40,2,28,32,5,65,127,115,106,65,4,116,34,2,4,64,32,0,40,2,24,32,23,106,34,4,32,4,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,32,5,65,1,107,33,5,12,5,11,32,6,32,6,47,1,14,65,128,192,0,114,59,1,14,11,32,13,33,20,11,32,20,65,1,106,34,13,32,0,40,2,28,34,10,73,13,0,11,11,32,0,40,2,0,40,2,60,32,6,47,1,10,65,20,108,106,47,1,12,65,255,255,3,71,13,0,32,6,45,0,15,65,32,113,13,0,32,0,40,2,36,33,2,32,0,32,0,40,2,40,34,8,65,1,106,34,4,32,0,40,2,44,34,3,75,4,127,65,8,32,3,65,1,116,34,3,32,4,32,3,32,4,75,27,34,4,32,4,65,8,77,27,34,3,65,4,116,33,4,2,127,32,2,4,64,32,2,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,2,32,0,32,3,54,2,44,32,0,32,2,54,2,36,32,0,40,2,40,34,8,65,1,106,5,32,4,11,54,2,40,32,2,32,8,65,4,116,106,34,2,32,6,41,2,0,55,2,0,32,2,32,6,41,2,8,55,2,8,32,0,40,2,28,32,6,32,0,40,2,24,107,65,127,115,65,4,118,106,65,4,116,34,2,4,64,32,6,32,6,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,32,5,65,1,107,33,5,65,1,33,14,11,32,5,65,1,106,33,5,12,1,11,32,10,32,5,65,127,115,106,65,4,116,34,2,4,64,32,6,32,6,65,16,106,32,2,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,34,10,54,2,28,11,32,5,32,10,73,13,0,11,11,2,64,2,64,2,64,2,64,32,17,4,64,32,0,40,2,80,32,0,40,2,84,73,13,1,11,32,0,40,2,28,34,4,4,64,32,0,40,2,24,33,3,32,0,40,2,0,40,2,60,33,5,65,0,33,2,3,64,32,5,32,3,32,2,65,4,116,106,34,6,47,1,10,65,20,108,106,47,1,12,34,9,65,255,255,3,71,4,64,32,0,40,2,80,32,6,47,1,8,32,9,106,73,13,3,11,32,2,65,1,106,34,2,32,4,71,13,0,11,11,32,0,40,2,80,32,0,40,2,84,79,13,1,32,0,45,0,160,1,13,1,32,0,40,2,8,32,0,40,2,12,65,28,108,106,65,28,107,40,2,0,40,2,0,34,2,65,1,113,13,0,32,2,47,1,44,34,4,65,2,113,13,0,32,4,65,1,113,13,0,32,2,40,2,36,69,13,0,2,64,2,64,2,64,32,0,40,2,0,34,4,40,2,148,1,34,3,14,2,4,0,1,11,32,2,47,1,40,33,9,32,4,40,2,144,1,33,4,65,0,33,2,12,1,11,32,2,47,1,40,33,9,32,4,40,2,144,1,33,4,65,0,33,2,3,64,32,2,32,3,65,1,118,34,5,32,2,106,34,2,32,4,32,2,65,1,116,106,47,1,0,32,9,65,255,255,3,113,75,27,33,2,32,3,32,5,107,34,3,65,1,75,13,0,11,11,32,4,32,2,65,1,116,106,47,1,0,32,9,65,255,255,3,113,71,13,1,11,65,0,33,2,32,21,16,119,65,1,107,14,2,2,1,0,11,32,0,65,1,58,0,161,1,12,5,11,65,1,33,2,32,0,32,0,40,2,80,65,1,106,54,2,80,11,32,0,32,2,58,0,160,1,12,3,11,32,0,40,2,28,32,8,107,11,54,2,28,11,2,64,2,64,2,64,32,21,35,2,65,11,106,16,121,65,1,107,14,2,1,0,2,11,32,0,45,0,160,1,69,4,64,32,0,65,1,58,0,160,1,32,0,32,0,40,2,80,65,1,106,54,2,80,11,32,0,65,0,58,0,161,1,12,2,11,32,0,45,0,160,1,65,1,70,4,64,32,0,65,0,58,0,160,1,32,0,32,0,40,2,80,65,1,107,54,2,80,11,32,0,65,0,58,0,161,1,12,1,11,32,0,40,2,12,34,4,65,1,107,34,2,4,64,2,64,32,4,65,2,107,34,3,4,64,32,0,40,2,8,33,6,3,64,32,2,33,4,2,64,2,127,32,6,32,3,34,2,65,28,108,106,34,5,40,2,0,40,0,0,34,3,65,1,113,4,64,32,3,65,2,113,13,5,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,34,3,65,1,113,13,4,32,3,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,21,40,2,0,40,2,8,34,9,40,2,84,32,9,47,1,36,32,3,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,3,11,32,2,65,1,107,34,3,13,0,11,11,65,1,33,4,11,32,0,32,4,54,2,12,32,0,32,0,40,2,80,65,1,107,54,2,80,5,32,0,65,1,58,0,162,1,11,12,0,11,0,11,243,2,1,9,127,32,0,40,2,80,32,0,40,2,0,40,2,60,32,1,47,1,0,34,9,65,20,108,106,47,1,12,34,6,107,33,7,2,64,2,64,2,64,32,0,40,2,28,34,2,69,4,64,32,0,40,2,24,33,4,12,1,11,32,0,40,2,24,33,4,32,2,33,3,3,64,32,7,32,4,32,3,65,4,116,106,34,5,65,8,107,47,1,0,34,8,75,13,2,32,7,32,8,70,4,64,32,5,65,4,107,47,1,0,34,8,32,1,47,1,2,34,10,70,4,64,32,5,65,6,107,47,1,0,32,9,70,13,5,11,32,8,32,10,77,13,3,11,32,3,65,1,107,34,3,13,0,11,11,65,0,33,3,11,32,1,47,1,2,33,5,32,2,65,1,106,34,1,32,0,40,2,32,75,4,64,32,1,65,4,116,33,2,2,127,32,4,4,64,32,4,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,4,32,0,32,1,54,2,32,32,0,32,4,54,2,24,32,0,40,2,28,33,2,11,65,128,160,126,65,128,32,32,6,65,1,70,27,33,6,32,3,65,4,116,33,1,2,64,32,2,32,3,77,13,0,32,2,32,3,107,65,4,116,34,3,69,13,0,32,1,32,4,106,34,2,65,16,106,32,2,32,3,252,10,0,0,11,32,1,32,4,106,34,1,32,6,59,0,14,32,1,32,5,59,0,12,32,1,32,9,59,0,10,32,1,32,7,59,0,8,32,1,66,255,255,255,255,255,255,63,55,0,0,32,0,32,0,40,2,28,65,1,106,54,2,28,11,11,254,4,2,4,127,2,126,2,64,2,64,32,1,45,0,15,65,192,0,113,13,0,32,0,32,1,65,127,16,147,1,34,0,69,13,1,32,2,47,1,6,34,6,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,5,65,1,106,34,4,32,0,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,1,4,64,32,1,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,1,32,0,32,5,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,4,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,5,65,28,108,106,34,1,32,3,41,2,0,55,2,0,32,1,32,6,54,2,24,32,1,32,9,55,2,16,32,1,32,8,55,2,8,32,2,47,1,8,34,6,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,5,65,1,106,34,4,32,0,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,1,4,64,32,1,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,1,32,0,32,5,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,5,65,1,106,5,32,4,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,5,65,28,108,106,34,1,32,3,41,2,0,55,2,0,32,1,32,6,54,2,24,32,1,32,9,55,2,16,32,1,32,8,55,2,8,32,2,47,1,10,34,5,65,255,255,3,70,13,0,32,0,40,2,0,33,1,32,0,32,0,40,2,4,34,4,65,1,106,34,2,32,0,40,2,8,34,6,75,4,127,65,8,32,6,65,1,116,34,4,32,2,32,2,32,4,73,27,34,2,32,2,65,8,77,27,34,4,65,28,108,33,2,2,127,32,1,4,64,32,1,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,1,32,0,32,4,54,2,8,32,0,32,1,54,2,0,32,0,40,2,4,34,4,65,1,106,5,32,2,11,54,2,4,32,3,41,2,8,33,8,32,3,41,2,16,33,9,32,1,32,4,65,28,108,106,34,0,32,3,41,2,0,55,2,0,32,0,32,5,54,2,24,32,0,32,9,55,2,16,32,0,32,8,55,2,8,11,15,11,32,1,32,1,47,1,14,65,128,128,1,114,59,1,14,11,208,3,2,10,127,1,126,32,1,65,127,54,2,0,32,2,65,127,54,2,0,32,3,65,127,54,2,0,2,64,32,0,40,2,28,69,4,64,12,1,11,32,0,65,60,106,33,12,3,64,2,64,32,0,40,2,24,32,8,65,4,116,106,34,9,47,1,14,34,7,65,128,128,1,113,13,0,32,12,33,6,32,9,47,1,4,34,5,32,0,40,2,52,73,4,64,32,0,40,2,48,32,5,65,12,108,106,33,6,11,32,7,65,255,31,113,34,5,32,6,40,2,4,79,13,0,32,6,40,2,0,32,5,65,28,108,106,34,5,40,2,8,33,13,32,5,40,2,4,33,11,32,5,40,2,0,33,6,2,64,2,64,32,11,2,126,32,5,40,2,16,41,2,0,34,15,167,34,5,65,1,113,4,64,32,0,40,2,88,32,6,32,15,66,56,136,167,106,79,13,2,32,15,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,0,40,2,88,32,5,40,2,16,32,6,106,79,13,1,32,5,41,2,20,11,34,15,167,34,5,106,34,11,32,0,40,2,96,34,14,73,13,0,32,11,32,14,71,13,1,32,0,40,2,100,32,15,66,32,136,167,65,0,32,13,32,5,27,106,73,13,1,11,32,9,32,7,65,1,106,65,255,31,113,32,7,65,128,224,2,113,114,59,1,14,32,8,65,1,107,33,8,12,1,11,2,64,2,64,32,10,69,13,0,32,6,32,2,40,2,0,34,7,73,13,0,32,6,32,7,71,13,1,32,3,40,2,0,32,9,47,1,12,77,13,1,11,32,0,40,2,0,40,2,60,32,9,47,1,10,65,20,108,106,47,1,18,33,7,2,64,32,4,4,64,32,4,32,7,65,130,1,113,65,128,1,70,58,0,0,12,1,11,32,7,65,128,1,113,13,2,11,32,1,32,8,54,2,0,32,2,32,6,54,2,0,32,3,32,9,47,1,12,54,2,0,11,65,1,33,10,11,32,8,65,1,106,34,8,32,0,40,2,28,73,13,0,11,11,32,10,11,243,5,2,11,127,1,126,35,0,65,208,0,107,34,2,36,0,2,64,2,64,32,0,40,2,4,34,5,32,0,40,2,8,34,3,65,28,108,106,34,8,65,28,107,40,2,0,34,9,40,0,0,34,6,65,1,113,69,4,64,32,6,40,2,36,13,1,11,32,2,66,0,55,3,8,32,0,40,2,0,33,1,32,2,66,0,55,2,28,32,2,66,0,55,2,36,32,2,65,0,54,2,44,32,2,66,0,55,2,20,32,2,32,1,54,2,16,12,1,11,32,0,40,2,0,34,10,40,2,8,33,4,32,6,47,1,66,34,1,4,127,32,4,40,2,84,32,4,47,1,36,32,1,108,65,1,116,106,5,65,0,11,33,11,32,8,65,4,107,40,2,0,33,1,2,64,2,64,32,3,65,1,107,34,7,69,13,0,32,6,47,1,44,34,6,65,1,113,13,0,32,6,65,4,113,13,1,32,5,32,7,65,28,108,106,34,6,65,28,107,40,2,0,40,2,0,47,1,66,34,7,69,13,1,32,1,32,4,40,2,84,32,4,47,1,36,32,7,108,65,1,116,106,32,6,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,1,12,1,11,32,1,65,1,106,33,1,11,32,9,41,2,0,33,12,32,2,32,10,54,2,16,32,2,32,12,55,3,8,32,2,32,8,65,24,107,34,4,40,2,8,54,2,28,32,2,32,4,41,2,0,55,2,20,32,2,32,11,54,2,44,32,2,32,1,54,2,40,32,2,66,0,55,3,32,11,65,0,33,4,2,64,32,2,65,8,106,32,2,65,48,106,32,2,65,207,0,106,16,120,69,13,0,2,64,3,64,32,2,45,0,79,65,1,70,4,64,32,0,32,3,65,1,106,34,1,32,0,40,2,12,34,4,75,4,127,65,8,32,4,65,1,116,34,3,32,1,32,1,32,3,73,27,34,1,32,1,65,8,77,27,34,3,65,28,108,33,1,2,127,32,5,4,64,32,5,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,12,32,0,32,5,54,2,4,32,0,40,2,8,34,3,65,1,106,5,32,1,11,54,2,8,65,2,33,4,12,2,11,2,64,2,64,32,2,40,2,48,40,0,0,34,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,48,13,1,11,32,2,65,8,106,32,2,65,48,106,32,2,65,207,0,106,16,120,13,1,12,3,11,11,65,1,33,4,32,0,32,3,65,1,106,34,1,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,3,32,1,32,1,32,3,73,27,34,1,32,1,65,8,77,27,34,3,65,28,108,33,1,2,127,32,5,4,64,32,5,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,5,32,0,32,3,54,2,12,32,0,32,5,54,2,4,32,0,40,2,8,34,3,65,1,106,5,32,1,11,54,2,8,11,32,5,32,3,65,28,108,106,34,1,32,2,41,2,48,55,2,0,32,1,32,2,40,2,72,54,2,24,32,1,32,2,65,64,107,41,2,0,55,2,16,32,1,32,2,41,2,56,55,2,8,11,32,2,65,208,0,106,36,0,32,4,11,241,4,2,6,127,1,126,35,0,65,16,107,33,4,2,64,32,0,40,2,0,34,3,69,13,0,32,0,40,2,24,34,6,32,3,40,2,36,34,7,70,13,0,32,4,32,0,40,2,20,54,2,8,32,4,32,0,41,2,12,55,3,0,32,0,41,2,28,33,9,32,1,32,6,65,3,116,65,0,32,3,32,7,65,3,116,107,32,3,65,1,113,27,106,34,5,54,2,0,32,1,32,4,41,3,0,55,2,4,32,1,32,4,40,2,8,54,2,12,32,1,32,9,55,2,20,32,1,32,6,54,2,16,32,2,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,34,4,58,0,0,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,69,4,64,32,0,40,2,28,33,1,32,0,40,2,36,34,3,4,64,32,2,32,3,32,1,65,1,116,106,47,1,0,32,4,114,65,0,71,34,4,58,0,0,11,32,0,32,1,65,1,106,54,2,28,32,5,40,0,0,33,1,11,65,0,33,3,2,64,32,1,65,1,113,13,0,32,1,40,2,36,69,13,0,32,1,40,2,56,33,3,11,32,0,32,0,40,2,32,32,3,106,32,4,106,54,2,32,32,0,2,127,32,5,40,0,0,34,1,65,1,113,4,64,32,0,65,20,106,33,6,32,0,65,16,106,33,7,32,0,40,0,20,33,8,32,0,40,0,16,33,3,32,5,45,0,7,34,2,32,0,40,0,12,106,12,1,11,65,0,32,0,40,0,20,32,1,40,2,20,34,2,27,33,8,32,0,65,20,106,33,6,32,0,65,16,106,33,7,32,0,40,0,16,32,2,106,33,3,32,1,40,2,24,33,2,32,0,40,0,12,32,1,40,2,16,106,11,34,4,54,2,12,65,1,33,5,32,0,32,0,40,2,24,65,1,106,34,1,54,2,24,32,0,32,3,173,32,2,32,8,106,173,66,32,134,132,55,2,16,32,1,32,0,40,2,0,34,2,40,2,36,34,8,79,13,0,32,6,40,0,0,33,6,32,0,2,127,32,2,32,8,65,3,116,107,32,1,65,3,116,106,41,2,0,34,9,167,34,1,65,1,113,4,64,32,9,66,32,136,167,65,255,1,113,33,2,32,9,66,40,136,167,65,15,113,33,0,32,9,66,48,136,167,65,255,1,113,12,1,11,32,1,40,2,12,33,2,32,1,40,2,8,33,0,32,1,40,2,4,11,32,4,106,54,2,12,32,7,32,0,32,3,106,173,65,0,32,6,32,0,27,32,2,106,173,66,32,134,132,55,2,0,11,32,5,11,170,6,2,7,127,1,126,35,0,65,208,0,107,34,3,36,0,2,64,2,64,32,0,40,2,8,34,4,65,2,73,13,0,32,3,65,52,106,33,5,32,3,65,20,106,33,6,32,4,33,2,3,64,32,0,32,2,65,1,107,34,2,54,2,8,32,3,32,0,40,2,4,32,2,65,28,108,106,34,2,40,2,24,54,2,72,32,3,65,64,107,32,2,41,2,16,55,3,0,32,3,32,2,41,2,8,55,3,56,32,3,32,2,41,2,0,55,3,48,2,64,2,64,32,2,65,28,107,40,2,0,34,7,40,0,0,34,2,65,1,113,69,4,64,32,2,40,2,36,13,1,11,32,3,66,0,55,3,8,32,0,40,2,0,33,2,32,3,65,0,54,2,44,32,3,32,2,54,2,16,12,1,11,32,0,40,2,0,33,8,32,7,41,2,0,33,9,32,3,32,2,47,1,66,34,2,4,127,32,8,40,2,8,34,7,40,2,84,32,7,47,1,36,32,2,108,65,1,116,106,5,65,0,11,54,2,44,32,3,32,8,54,2,16,32,3,32,9,55,3,8,11,32,3,32,3,41,3,64,55,3,32,32,6,32,5,40,2,8,54,2,8,32,6,32,5,41,2,0,55,2,0,32,3,32,3,40,2,72,54,2,40,32,3,65,0,58,0,7,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,26,32,3,45,0,7,65,1,70,4,64,32,0,40,2,8,65,1,106,32,4,73,13,2,11,2,64,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,69,13,0,2,127,3,64,32,3,45,0,7,65,1,70,4,64,32,0,40,2,4,33,2,32,0,32,0,40,2,8,34,4,65,1,106,34,1,32,0,40,2,12,34,5,75,4,127,65,8,32,5,65,1,116,34,4,32,1,32,1,32,4,73,27,34,1,32,1,65,8,77,27,34,4,65,28,108,33,1,2,127,32,2,4,64,32,2,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,2,32,0,32,4,54,2,12,32,0,32,2,54,2,4,32,0,40,2,8,34,4,65,1,106,5,32,1,11,54,2,8,65,2,33,1,32,2,32,4,65,28,108,106,12,2,11,2,64,2,64,32,3,40,2,48,40,0,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,13,1,11,32,3,65,8,106,32,3,65,48,106,32,3,65,7,106,32,1,17,4,0,69,13,3,12,1,11,11,65,1,33,1,32,0,40,2,4,33,2,32,0,32,0,40,2,8,34,5,65,1,106,34,4,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,2,4,64,32,2,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,2,32,0,32,5,54,2,12,32,0,32,2,54,2,4,32,0,40,2,8,34,5,65,1,106,5,32,4,11,54,2,8,32,2,32,5,65,28,108,106,11,34,2,32,3,41,3,48,55,2,0,32,2,32,3,40,2,72,54,2,24,32,2,32,3,65,64,107,41,3,0,55,2,16,32,2,32,3,41,3,56,55,2,8,12,3,11,32,0,40,2,8,34,2,65,2,79,13,0,11,11,32,0,32,4,54,2,8,65,0,33,1,11,32,3,65,208,0,106,36,0,32,1,11,189,7,2,17,127,1,126,35,0,65,16,107,34,7,36,0,32,0,65,60,106,33,11,2,127,3,64,32,7,65,0,58,0,3,32,0,32,7,65,4,106,32,7,65,12,106,32,7,65,8,106,32,7,65,3,106,16,118,33,18,2,64,2,64,32,0,40,2,40,34,12,4,64,65,0,33,3,32,7,40,2,12,33,15,32,7,40,2,8,33,17,65,0,33,8,3,64,2,64,2,64,2,64,2,64,32,0,40,2,36,34,9,32,8,65,4,116,34,13,106,34,4,47,1,4,34,5,32,0,40,2,52,73,4,64,32,4,47,1,14,34,16,65,255,31,113,34,6,32,0,40,2,48,34,14,32,5,65,12,108,34,10,106,34,5,40,2,4,79,13,1,32,4,65,14,106,33,13,12,3,11,32,4,47,1,14,34,16,65,255,31,113,34,6,32,0,40,2,64,79,13,1,32,4,65,14,106,33,13,32,11,33,5,12,2,11,32,10,32,14,106,65,127,54,2,4,32,0,32,0,40,2,76,65,1,106,54,2,76,11,32,12,32,8,65,127,115,106,65,4,116,34,4,4,64,32,9,32,13,106,34,5,32,5,65,16,106,32,4,252,10,0,0,11,32,0,32,0,40,2,40,65,1,107,34,12,54,2,40,12,1,11,32,5,40,2,0,32,6,65,28,108,106,34,6,40,2,8,33,14,32,6,40,2,4,33,9,32,6,40,2,0,33,5,2,127,65,1,32,9,2,126,2,64,2,64,32,6,40,2,16,41,2,0,34,20,167,34,6,65,1,113,4,64,32,0,40,2,88,32,5,32,20,66,56,136,167,106,73,13,1,65,1,12,4,11,32,0,40,2,88,32,6,40,2,16,32,5,106,73,13,1,65,1,12,3,11,32,20,66,24,136,66,128,128,128,128,240,31,131,12,1,11,32,6,41,2,20,11,34,20,167,34,6,106,34,10,32,0,40,2,96,34,19,73,13,0,26,32,10,32,19,70,32,0,40,2,100,32,20,66,32,136,167,65,0,32,14,32,6,27,106,79,113,11,33,6,2,64,2,64,32,5,32,0,40,2,92,79,13,0,32,9,32,0,40,2,104,34,10,75,13,0,32,6,32,9,32,10,70,32,14,32,0,40,2,108,79,113,114,65,1,71,13,1,11,32,13,32,16,65,1,106,65,255,31,113,32,16,65,128,224,3,113,114,59,1,0,32,0,40,2,40,33,12,12,1,11,2,64,2,127,32,5,32,15,73,4,64,32,4,47,1,12,12,1,11,32,5,32,15,71,13,1,32,17,32,4,47,1,12,34,6,77,13,1,32,6,11,33,17,32,5,33,15,32,4,33,3,11,32,8,65,1,106,33,8,11,32,8,32,12,73,13,0,11,32,3,13,1,11,32,7,45,0,3,65,1,71,13,1,32,0,40,2,24,34,3,69,13,1,32,3,32,7,40,2,4,65,4,116,106,33,3,11,32,3,40,2,0,34,8,65,127,70,4,64,32,0,32,0,40,2,112,34,8,65,1,106,54,2,112,32,3,32,8,54,2,0,11,32,1,32,8,54,2,0,32,1,32,3,47,1,12,59,1,4,32,3,47,1,4,34,4,32,0,40,2,52,73,4,64,32,0,40,2,48,32,4,65,12,108,106,33,11,11,32,1,32,11,40,2,0,54,2,8,32,1,32,11,40,2,4,59,1,6,32,2,32,3,47,1,14,65,255,31,113,54,2,0,32,3,32,3,47,1,14,34,1,65,1,106,65,255,31,113,32,1,65,128,224,3,113,114,59,1,14,65,1,12,2,11,2,64,32,0,40,2,76,13,0,32,0,40,2,52,34,3,32,0,40,2,72,79,32,18,113,69,13,0,32,3,32,0,40,2,24,32,7,40,2,4,34,4,65,4,116,106,34,3,47,1,4,34,5,75,4,64,32,0,40,2,48,32,5,65,12,108,106,65,127,54,2,4,32,0,65,1,54,2,76,11,32,0,40,2,28,32,4,65,127,115,106,65,4,116,34,4,4,64,32,3,32,3,65,16,106,32,4,252,10,0,0,11,32,0,32,0,40,2,28,65,1,107,54,2,28,11,32,0,65,1,16,115,13,0,32,0,40,2,40,13,0,11,65,0,11,33,0,32,7,65,16,106,36,0,32,0,11,18,0,65,3,65,0,32,1,40,2,16,32,0,40,2,0,70,27,11,24,0,32,1,40,2,16,69,4,64,65,0,15,11,65,3,65,1,32,1,45,0,20,27,11,74,1,1,127,32,1,40,2,8,69,4,64,65,0,15,11,32,0,45,0,0,4,64,65,1,15,11,65,1,33,2,2,64,32,1,40,2,4,40,0,0,34,1,65,1,113,13,0,32,1,47,1,40,65,255,255,3,71,13,0,32,0,65,1,58,0,0,65,3,33,2,11,32,2,11,16,0,65,0,65,2,32,1,40,2,0,47,1,144,1,27,11,138,4,2,6,127,1,126,32,1,65,0,54,2,4,2,64,32,0,40,2,4,34,2,69,13,0,3,64,2,127,32,0,40,2,0,32,2,65,3,116,106,34,4,65,8,107,40,2,0,34,6,65,1,113,4,64,32,6,65,3,118,65,1,113,12,1,11,32,6,47,1,44,65,2,118,65,1,113,11,4,64,32,4,65,4,107,40,2,0,33,5,32,0,32,2,65,1,107,54,2,4,32,1,40,2,0,33,2,32,1,32,1,40,2,4,34,4,65,1,106,34,3,32,1,40,2,8,34,7,75,4,127,65,8,32,7,65,1,116,34,4,32,3,32,3,32,4,73,27,34,3,32,3,65,8,77,27,34,4,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,4,54,2,8,32,1,32,2,54,2,0,32,1,40,2,4,34,4,65,1,106,5,32,3,11,54,2,4,32,2,32,4,65,3,116,106,34,2,32,5,54,2,4,32,2,32,6,54,2,0,32,0,40,2,4,34,2,13,1,11,11,32,1,40,2,4,34,0,65,2,73,13,0,65,0,33,2,32,0,65,1,118,34,3,65,1,71,4,64,32,3,65,254,255,255,255,7,113,33,6,65,0,33,3,3,64,32,1,40,2,0,34,4,32,2,65,3,116,34,5,106,34,7,41,2,0,33,8,32,7,32,4,32,1,40,2,4,32,2,65,127,115,106,65,3,116,34,7,106,41,2,0,55,2,0,32,1,40,2,0,32,7,106,32,8,55,2,0,32,1,40,2,0,34,4,32,5,106,34,5,65,8,106,41,2,0,33,8,32,5,32,4,32,1,40,2,4,32,2,65,254,255,255,255,1,115,106,65,3,116,34,5,106,41,2,0,55,2,8,32,1,40,2,0,32,5,106,32,8,55,2,0,32,2,65,2,106,33,2,32,3,65,2,106,34,3,32,6,71,13,0,11,11,32,0,65,2,113,69,13,0,32,1,40,2,0,34,0,32,2,65,3,116,106,34,3,41,2,0,33,8,32,3,32,0,32,1,40,2,4,32,2,65,127,115,106,65,3,116,34,2,106,41,2,0,55,2,0,32,1,40,2,0,32,2,106,32,8,55,2,0,11,11,144,14,1,15,127,32,0,40,2,0,34,2,65,0,54,2,48,32,2,66,0,55,2,52,32,2,65,0,59,1,64,32,2,65,0,54,2,32,32,2,65,0,54,2,60,32,2,32,2,47,1,44,65,191,252,3,113,59,1,44,32,2,47,1,66,34,5,4,64,32,1,40,2,84,32,1,47,1,36,32,5,108,65,1,116,106,33,11,11,32,2,32,2,40,2,36,34,5,65,3,116,107,33,12,2,64,32,5,69,4,64,12,1,11,65,0,32,12,32,2,65,1,113,27,33,15,3,64,32,15,32,9,65,3,116,106,34,3,47,1,6,33,5,32,3,47,1,4,33,6,32,3,40,2,0,33,4,32,13,2,127,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,64,2,127,32,2,2,127,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,127,2,64,2,64,32,2,40,2,20,34,16,69,4,64,32,4,65,1,113,13,2,32,4,45,0,45,65,1,113,69,13,1,32,2,32,2,47,1,44,65,128,2,114,59,1,44,12,1,11,32,4,65,1,113,13,1,11,32,4,45,0,44,65,128,1,113,4,64,32,2,32,2,47,1,44,65,128,1,114,59,1,44,11,32,4,40,2,12,33,5,32,4,40,2,8,33,7,32,4,40,2,4,33,3,32,9,69,13,3,65,0,32,5,32,4,40,2,20,34,10,27,33,14,32,4,40,2,16,32,3,106,33,5,32,7,32,10,106,33,3,32,4,40,2,24,33,7,65,0,12,1,11,32,5,65,255,1,113,33,7,32,9,69,4,64,32,2,65,0,54,2,20,32,2,32,7,54,2,4,32,2,32,6,65,255,1,113,54,2,12,32,2,32,5,65,8,118,34,3,54,2,24,32,2,32,3,54,2,16,32,2,32,6,65,8,118,65,15,113,54,2,8,32,3,32,7,106,33,5,12,2,11,32,6,65,255,1,113,33,14,32,6,65,8,118,65,15,113,33,3,32,7,32,5,65,8,118,34,7,106,33,5,65,1,11,33,10,32,2,32,2,40,0,16,32,5,106,34,5,54,2,16,32,2,32,3,32,16,106,173,32,7,32,14,106,65,0,32,2,40,0,24,32,3,27,106,173,66,32,134,132,55,2,20,32,5,32,2,40,2,4,106,34,5,32,10,69,13,2,26,11,32,2,32,2,40,2,32,32,4,65,26,116,65,31,117,65,226,4,113,106,34,3,54,2,32,32,5,32,6,65,128,224,3,113,65,12,118,106,34,5,32,8,32,5,32,8,75,27,33,8,32,4,65,8,113,33,6,32,2,47,1,40,65,254,255,3,73,13,3,32,6,13,3,32,4,65,2,113,13,2,32,2,40,2,56,33,3,12,4,11,32,2,32,5,54,2,12,32,2,32,7,54,2,8,32,2,32,3,54,2,4,32,4,40,2,16,33,5,32,2,32,4,41,2,20,55,2,20,32,2,32,5,54,2,16,32,3,32,5,106,11,33,5,32,4,40,2,28,33,6,32,4,47,1,40,34,7,65,254,255,3,71,4,64,65,226,4,33,3,32,2,32,4,45,0,45,65,2,113,4,127,65,226,4,5,32,4,40,2,32,11,32,2,40,2,32,106,54,2,32,11,32,5,32,6,106,33,6,2,64,2,127,32,4,40,2,36,34,5,32,2,47,1,40,65,254,255,3,73,13,0,26,32,5,34,3,32,4,47,1,44,34,10,65,4,113,13,0,26,2,64,2,64,32,3,69,32,7,65,255,255,3,70,113,13,0,32,10,65,1,113,13,1,32,3,69,13,0,32,2,32,2,40,2,32,32,4,40,2,48,65,228,0,108,106,54,2,32,32,4,65,36,106,33,7,12,7,11,32,4,65,36,106,33,7,65,0,33,5,12,2,11,32,2,32,2,40,2,32,65,228,0,106,54,2,32,32,4,40,2,36,11,33,3,32,4,65,36,106,33,7,32,3,13,4,11,65,0,12,4,11,32,2,32,3,65,228,0,106,54,2,32,11,32,2,40,2,56,33,3,65,0,33,5,32,6,13,5,11,32,4,65,128,254,3,113,65,8,118,33,7,65,0,33,5,65,1,12,2,11,32,4,40,2,60,11,32,2,40,2,60,106,54,2,60,32,6,32,8,32,6,32,8,75,27,33,8,32,2,32,7,40,2,0,4,127,32,4,40,2,56,5,65,0,11,32,2,40,2,56,106,34,3,54,2,56,32,4,47,1,44,34,6,65,4,113,13,1,32,4,47,1,40,33,7,65,0,11,33,6,2,64,32,7,65,255,255,3,113,69,13,0,32,11,69,13,0,32,11,32,13,65,1,116,106,34,7,47,1,0,69,13,0,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,2,64,2,64,32,7,47,1,0,34,3,65,254,255,3,107,14,2,8,1,0,11,32,1,40,2,72,32,3,65,3,108,106,45,0,1,65,1,113,69,13,7,11,32,2,32,2,40,2,52,65,1,106,54,2,52,32,6,69,13,7,12,8,11,32,6,13,1,32,4,47,1,44,33,6,11,32,6,65,1,113,13,1,65,0,33,6,12,3,11,65,1,33,6,32,4,65,2,113,69,13,2,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,32,4,65,2,118,65,1,113,12,1,11,32,2,32,3,65,1,106,54,2,56,32,2,32,2,40,2,48,65,1,106,54,2,48,65,0,33,6,32,4,47,1,44,65,1,118,65,1,113,11,69,13,1,32,2,32,2,40,2,52,65,1,106,54,2,52,32,6,13,3,12,2,11,32,5,69,13,0,32,2,32,2,40,2,48,32,4,40,2,48,106,54,2,48,32,2,32,2,40,2,52,32,4,40,2,52,106,54,2,52,11,32,6,13,1,11,32,4,45,0,44,65,192,0,113,4,64,32,2,32,2,47,1,44,65,192,0,114,59,1,44,11,32,4,47,1,40,65,255,255,3,70,4,64,32,2,65,255,255,3,59,1,42,32,2,32,2,47,1,44,65,24,114,59,1,44,11,32,4,47,1,44,65,2,118,65,1,113,12,1,11,32,4,65,3,118,65,1,113,11,69,106,33,13,32,9,65,1,106,34,9,32,0,40,2,0,34,2,40,2,36,34,3,73,13,0,11,11,32,2,32,8,32,2,40,2,16,34,0,32,2,40,2,4,106,107,54,2,28,32,2,47,1,40,34,5,65,253,255,3,75,4,64,32,2,32,2,40,2,32,32,0,32,2,40,2,20,65,30,108,106,106,65,244,3,106,54,2,32,11,2,64,32,3,69,13,0,32,12,32,3,65,3,116,106,65,8,107,40,2,0,33,1,2,64,32,12,40,2,0,34,0,65,1,113,69,4,64,32,2,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,59,1,68,32,2,32,0,65,198,0,65,42,32,0,40,2,36,27,106,47,1,0,59,1,70,32,0,45,0,44,65,8,113,69,13,1,32,2,32,2,47,1,44,65,8,114,59,1,44,12,1,11,32,2,32,0,65,16,118,59,1,70,32,2,32,0,65,128,254,3,113,65,8,118,59,1,68,11,2,64,32,1,65,1,113,13,0,32,1,45,0,44,65,16,113,69,13,0,32,2,32,2,47,1,44,65,16,114,59,1,44,11,32,3,65,1,70,13,0,32,2,47,1,44,34,3,65,2,113,13,0,32,3,65,1,113,13,0,2,64,2,64,32,0,65,1,113,4,64,32,5,32,0,65,128,254,3,113,65,8,118,71,13,3,65,1,33,3,32,1,65,1,113,13,2,32,1,47,1,64,33,3,12,1,11,32,0,47,1,40,32,5,71,13,2,65,1,33,3,32,0,47,1,64,33,0,2,64,32,1,65,1,113,4,64,32,0,13,1,12,3,11,32,0,32,1,47,1,64,34,3,77,13,1,11,32,0,65,1,106,33,3,12,1,11,32,3,65,1,106,33,3,11,32,2,32,3,59,1,64,11,11,212,3,1,6,127,35,0,65,224,0,107,34,5,36,0,65,1,33,8,65,2,33,9,2,64,2,64,2,64,32,1,65,254,255,3,107,14,2,0,2,1,11,65,0,33,9,65,0,33,8,12,1,11,32,4,40,2,72,32,1,65,3,108,106,34,6,45,0,0,65,229,0,113,33,8,32,6,45,0,1,65,1,116,33,9,11,32,2,40,2,0,33,6,32,2,40,2,4,34,7,65,3,116,65,204,0,106,34,10,32,2,40,2,8,65,3,116,75,4,64,32,6,32,10,35,4,40,2,0,17,1,0,33,6,32,2,32,10,65,3,118,54,2,8,32,2,32,6,54,2,0,32,2,40,2,4,33,7,11,32,5,66,0,55,3,80,32,5,66,0,55,3,72,32,5,65,64,107,34,2,66,0,55,3,0,32,5,66,0,55,3,32,32,5,65,0,54,2,40,32,5,65,1,54,2,92,32,5,66,0,55,3,56,32,5,65,0,59,1,46,32,5,66,0,55,3,24,32,5,66,0,55,3,8,32,5,32,3,59,1,22,32,5,32,1,59,1,48,32,5,32,8,32,9,114,65,255,1,113,65,24,65,0,32,1,65,253,255,3,75,27,114,59,1,44,32,5,32,7,54,2,52,32,6,32,7,65,3,116,106,34,1,32,5,40,2,92,54,2,0,32,1,32,5,41,3,80,55,2,28,32,1,32,5,41,3,72,55,2,20,32,1,32,2,41,3,0,55,2,12,32,1,32,5,41,3,56,55,2,4,32,1,32,5,40,2,52,54,2,36,32,1,32,5,47,1,48,59,1,40,32,1,32,5,47,1,46,59,1,42,32,1,32,5,47,1,44,59,1,44,32,1,32,5,40,2,40,54,1,62,32,1,32,5,41,3,32,55,1,54,32,1,32,5,41,3,24,55,1,46,32,1,32,5,47,1,22,59,1,66,32,1,32,5,41,3,8,55,2,68,32,0,65,0,54,2,4,32,0,32,1,54,2,0,32,5,32,0,41,2,0,55,3,0,32,5,32,4,16,128,1,32,5,65,224,0,106,36,0,11,135,1,1,5,127,32,0,65,0,54,2,16,32,1,40,2,16,33,2,32,1,40,2,0,33,3,32,1,40,2,4,33,4,32,1,40,2,8,33,5,32,1,40,2,20,33,6,32,0,32,1,40,2,12,59,1,16,32,0,32,6,54,2,0,32,0,65,224,1,35,5,40,2,0,17,0,0,34,1,54,2,4,32,0,66,129,128,128,128,128,1,55,2,8,32,1,65,0,54,2,24,32,1,66,0,55,2,16,32,1,32,5,54,2,12,32,1,32,4,54,2,8,32,1,32,3,54,2,4,32,1,32,2,54,2,0,11,23,1,2,127,3,64,32,0,16,119,34,2,65,1,70,13,0,11,32,2,65,2,70,11,144,5,2,11,127,1,126,35,0,65,224,0,107,34,1,36,0,2,64,32,0,40,2,4,34,7,32,0,40,2,8,34,5,65,28,108,106,34,6,65,28,107,40,2,0,34,9,40,0,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,0,40,2,0,34,10,40,2,8,33,4,32,2,47,1,66,34,3,4,127,32,4,40,2,84,32,4,47,1,36,32,3,108,65,1,116,106,5,65,0,11,33,11,32,6,65,4,107,40,2,0,33,3,2,64,2,64,32,5,65,1,107,34,8,69,13,0,32,2,47,1,44,34,2,65,1,113,13,0,32,2,65,4,113,13,1,32,7,32,8,65,28,108,106,34,2,65,28,107,40,2,0,40,2,0,47,1,66,34,8,69,13,1,32,3,32,4,40,2,84,32,4,47,1,36,32,8,108,65,1,116,106,32,2,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,3,12,1,11,32,3,65,1,106,33,3,11,32,9,41,2,0,33,12,32,1,32,10,54,2,32,32,1,32,12,55,3,24,32,1,32,6,65,24,107,34,4,40,2,8,54,2,44,32,1,32,4,41,2,0,55,2,36,32,1,32,11,54,2,60,32,1,32,3,54,2,56,32,1,66,0,55,3,48,65,0,33,3,32,12,167,34,4,69,13,0,32,4,40,2,36,69,13,0,32,1,66,0,55,3,16,32,1,66,0,55,3,8,32,1,66,0,55,3,0,32,1,65,24,106,32,1,65,64,107,32,1,65,223,0,106,16,120,69,4,64,12,1,11,65,0,33,4,3,64,32,1,40,2,64,33,2,2,64,32,1,45,0,95,4,127,65,2,5,32,2,40,0,0,34,6,65,1,113,13,1,32,6,40,2,36,69,13,1,32,6,40,2,48,69,13,1,65,1,11,33,3,32,1,32,1,41,2,84,55,3,16,32,1,32,1,41,2,76,55,3,8,32,1,32,1,41,2,68,55,3,0,32,2,33,4,11,32,1,65,24,106,32,1,65,64,107,32,1,65,223,0,106,16,120,13,0,11,32,4,69,4,64,65,0,33,3,12,1,11,32,0,32,5,65,1,106,34,2,32,0,40,2,12,34,6,75,4,127,65,8,32,6,65,1,116,34,5,32,2,32,2,32,5,73,27,34,2,32,2,65,8,77,27,34,5,65,28,108,33,2,2,127,32,7,4,64,32,7,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,7,32,0,32,5,54,2,12,32,0,32,7,54,2,4,32,0,40,2,8,34,5,65,1,106,5,32,2,11,54,2,8,32,7,32,5,65,28,108,106,34,0,32,4,54,2,0,32,0,32,1,41,3,0,55,2,4,32,0,32,1,41,3,8,55,2,12,32,0,32,1,41,3,16,55,2,20,11,32,1,65,224,0,106,36,0,32,3,11,211,9,2,29,127,1,126,2,64,32,0,40,2,4,34,8,32,0,40,2,8,34,27,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,4,65,1,113,13,0,32,27,33,13,3,64,32,4,40,2,36,69,13,1,32,0,40,2,0,40,2,8,33,10,32,4,47,1,66,34,5,4,127,32,10,40,2,84,32,10,47,1,36,32,5,108,65,1,116,106,5,65,0,11,33,28,32,9,65,4,107,40,2,0,33,15,2,64,2,64,32,13,65,1,107,34,5,69,13,0,32,4,47,1,44,34,11,65,1,113,13,0,32,11,65,4,113,13,1,32,8,32,5,65,28,108,106,34,5,65,28,107,40,2,0,40,2,0,47,1,66,34,11,69,13,1,32,15,32,10,40,2,84,32,10,47,1,36,32,11,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,15,12,1,11,32,15,65,1,106,33,15,11,32,4,40,2,36,34,24,69,13,1,65,0,32,4,32,24,65,3,116,107,34,31,32,4,65,1,113,27,33,32,32,9,65,24,107,40,2,0,33,12,32,9,65,20,107,40,2,0,33,5,32,9,65,16,107,40,2,0,33,4,65,0,33,6,65,0,33,29,3,64,32,15,33,22,32,29,33,11,32,4,33,9,32,5,33,10,32,12,33,19,2,127,32,32,32,6,34,25,65,3,116,106,34,23,40,0,0,34,7,65,1,113,34,26,4,64,32,7,65,2,113,65,1,118,34,20,33,6,32,7,65,3,118,65,1,113,12,1,11,32,7,47,1,44,34,20,65,1,113,33,6,32,20,65,2,118,65,1,113,11,4,127,32,11,5,32,28,4,64,32,28,32,11,65,1,116,106,47,1,0,32,6,114,65,0,71,34,20,33,6,11,32,11,65,1,106,11,33,29,2,127,2,127,2,64,32,26,69,4,64,32,7,40,2,36,13,1,65,0,12,2,11,32,6,32,22,106,33,15,32,23,45,0,7,34,6,33,12,32,9,33,4,32,10,12,2,11,32,7,40,2,56,11,33,12,65,0,32,9,32,7,40,2,20,34,5,27,33,4,32,6,32,22,106,32,12,106,33,15,32,7,40,2,24,33,12,32,7,40,2,16,33,6,32,5,32,10,106,11,33,5,32,4,32,12,106,33,4,32,6,32,19,106,33,12,32,24,32,25,65,1,106,34,6,75,4,64,2,127,32,31,32,6,65,3,116,106,41,2,0,34,33,167,34,14,65,1,113,4,64,32,33,66,32,136,167,65,255,1,113,33,21,32,33,66,48,136,167,65,255,1,113,33,16,32,33,66,40,136,167,65,15,113,12,1,11,32,14,40,2,12,33,21,32,14,40,2,4,33,16,32,14,40,2,8,11,34,17,32,5,106,33,5,32,12,32,16,106,33,12,65,0,32,4,32,17,27,32,21,106,33,4,11,2,127,32,26,4,64,32,19,32,23,45,0,7,34,30,106,33,21,32,9,33,17,32,10,12,1,11,65,0,32,9,32,7,40,2,20,34,14,27,33,17,32,7,40,2,16,32,19,106,33,21,32,7,40,2,24,33,30,32,10,32,14,106,11,33,14,65,0,33,16,2,127,65,0,32,1,32,21,79,13,0,26,65,1,32,2,32,14,73,13,0,26,32,2,32,14,70,32,17,32,30,106,32,3,75,113,11,33,17,2,64,32,26,13,0,32,7,40,2,36,69,13,0,32,7,40,2,48,33,16,11,2,64,32,17,4,64,32,20,65,1,113,4,64,32,0,32,13,65,1,106,34,4,32,0,40,2,12,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,4,32,1,32,4,75,27,34,1,32,1,65,8,77,27,34,2,65,28,108,33,1,2,127,32,8,4,64,32,8,32,1,35,4,40,2,0,17,1,0,12,1,11,32,1,35,5,40,2,0,17,0,0,11,33,8,32,0,32,2,54,2,12,32,0,32,8,54,2,4,32,0,40,2,8,34,13,65,1,106,5,32,4,11,54,2,8,32,8,32,13,65,28,108,106,34,0,32,22,54,2,24,32,0,32,11,54,2,20,32,0,32,25,54,2,16,32,0,32,9,54,2,12,32,0,32,10,54,2,8,32,0,32,19,54,2,4,32,0,32,23,54,2,0,32,18,173,15,11,32,16,69,13,1,32,0,32,13,65,1,106,34,4,32,0,40,2,12,34,5,75,4,127,65,8,32,5,65,1,116,34,5,32,4,32,4,32,5,73,27,34,4,32,4,65,8,77,27,34,5,65,28,108,33,4,2,127,32,8,4,64,32,8,32,4,35,4,40,2,0,17,1,0,12,1,11,32,4,35,5,40,2,0,17,0,0,11,33,8,32,0,32,5,54,2,12,32,0,32,8,54,2,4,32,0,40,2,8,34,13,65,1,106,5,32,4,11,54,2,8,32,8,32,13,65,28,108,106,34,4,32,22,54,2,24,32,4,32,11,54,2,20,32,4,32,25,54,2,16,32,4,32,9,54,2,12,32,4,32,10,54,2,8,32,4,32,19,54,2,4,32,4,32,23,54,2,0,32,0,40,2,4,34,8,32,0,40,2,8,34,13,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,4,65,1,113,69,13,3,12,4,11,32,20,65,1,113,4,64,32,18,65,1,106,33,18,12,1,11,32,16,32,18,106,33,18,11,32,6,32,24,71,13,0,11,11,11,32,0,32,27,54,2,8,66,127,11,54,1,1,127,65,1,33,1,2,64,2,64,2,64,32,0,35,2,65,11,106,16,121,65,1,107,14,2,0,2,1,11,3,64,32,0,16,119,65,1,70,13,0,11,12,1,11,65,0,33,1,11,32,1,11,192,4,2,7,127,1,126,35,0,65,16,107,33,3,2,64,32,0,40,2,0,34,5,69,13,0,32,0,40,2,24,34,6,65,255,1,113,65,255,1,70,13,0,32,5,65,1,113,69,4,64,32,5,32,5,40,2,36,65,3,116,107,33,4,11,32,3,32,0,40,2,20,54,2,8,32,3,32,0,41,2,12,55,3,0,32,0,40,2,28,33,5,32,1,32,4,32,6,65,3,116,106,34,4,54,2,0,32,1,32,3,40,2,8,54,2,12,32,1,32,3,41,3,0,55,2,4,32,1,65,0,54,2,24,32,1,32,5,54,2,20,32,1,32,6,54,2,16,32,2,2,127,32,4,40,0,0,34,1,65,1,113,4,64,32,1,65,1,118,65,1,113,12,1,11,32,1,47,1,44,65,1,113,11,34,1,58,0,0,2,127,32,4,40,0,0,34,3,65,1,113,4,64,32,4,45,0,5,65,15,113,33,5,32,3,65,8,113,65,3,118,33,6,32,4,45,0,4,33,7,32,4,45,0,6,12,1,11,32,3,45,0,44,65,4,113,65,2,118,33,6,32,3,40,2,12,33,7,32,3,40,2,8,33,5,32,3,40,2,4,11,33,3,32,0,32,0,40,2,24,65,1,107,34,8,54,2,24,65,1,33,4,32,0,65,1,32,0,40,0,20,34,9,32,7,107,32,0,40,0,12,34,7,69,32,9,65,0,71,113,32,5,65,0,71,114,34,5,27,54,2,20,32,0,65,0,32,0,40,0,16,32,5,27,54,2,16,32,0,65,0,32,7,32,3,107,32,5,27,54,2,12,2,64,32,6,13,0,32,0,40,2,36,34,3,69,13,0,32,2,32,1,32,3,32,0,40,2,28,34,1,65,1,116,106,47,1,0,114,65,0,71,58,0,0,32,1,69,13,0,32,0,32,1,65,1,107,54,2,28,11,32,8,32,0,40,2,0,34,1,40,2,36,34,2,79,13,0,2,127,32,1,32,2,65,3,116,107,32,8,65,3,116,106,41,2,0,34,10,167,34,2,65,1,113,4,64,65,0,33,3,32,10,66,56,136,167,34,1,12,1,11,32,2,40,2,20,65,0,71,33,3,32,2,40,2,24,33,1,32,2,40,2,16,11,33,2,32,0,65,1,32,0,40,0,20,34,5,32,1,107,32,3,32,0,40,0,12,34,6,69,32,5,65,0,71,113,114,34,1,27,54,2,20,32,0,65,0,32,0,40,0,16,32,1,27,54,2,16,32,0,65,0,32,6,32,2,107,32,1,27,54,2,12,11,32,4,11,211,1,1,7,127,32,0,40,2,8,34,2,65,1,107,34,4,4,64,2,64,32,2,65,2,107,34,1,69,4,64,65,1,33,3,12,1,11,32,0,40,2,4,33,6,32,4,33,2,3,64,32,2,33,3,2,64,2,127,32,6,32,1,34,2,65,28,108,106,34,5,40,2,0,40,0,0,34,1,65,1,113,4,64,32,1,65,2,113,13,4,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,34,1,65,1,113,13,3,32,1,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,1,69,13,0,32,0,40,2,0,40,2,8,34,7,40,2,84,32,7,47,1,36,32,1,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,2,11,32,2,65,1,107,34,1,13,0,11,65,1,33,3,11,32,0,32,3,54,2,8,11,32,4,65,0,71,11,216,1,2,5,127,1,126,2,127,32,1,40,2,4,32,1,40,2,8,34,5,65,28,108,106,34,3,65,28,107,40,2,0,34,6,40,0,0,34,2,65,1,113,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,33,4,65,0,33,2,2,64,32,4,13,0,32,5,65,2,73,4,64,32,1,47,1,16,33,2,12,1,11,32,3,65,56,107,40,2,0,40,2,0,47,1,66,34,4,69,13,0,32,1,40,2,0,40,2,8,34,2,40,2,84,32,2,47,1,36,32,4,108,65,1,116,106,32,3,65,8,107,40,2,0,65,1,116,106,47,1,0,33,2,11,32,3,65,24,107,41,0,0,33,7,32,3,65,16,107,40,0,0,33,3,32,0,32,1,40,2,0,54,2,20,32,0,32,6,54,2,16,32,0,32,2,54,2,12,32,0,32,3,54,2,8,32,0,32,7,55,2,0,11,245,2,1,11,127,2,64,32,0,40,2,8,34,7,65,1,107,34,1,69,13,0,32,0,40,2,4,34,8,65,56,107,33,9,32,7,33,4,3,64,32,4,33,2,32,8,32,1,34,4,65,28,108,106,34,5,40,2,0,40,0,0,33,1,2,127,2,64,2,64,32,2,32,7,70,4,64,32,1,65,1,113,13,1,12,2,11,2,64,2,127,32,1,65,1,113,34,10,4,64,32,1,65,2,113,13,7,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,34,3,65,1,113,13,6,32,3,65,2,118,65,1,113,11,13,0,32,5,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,0,40,2,0,40,2,8,34,11,40,2,84,32,11,47,1,36,32,3,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,13,5,11,32,10,69,13,1,11,32,1,65,3,118,65,1,113,12,1,11,32,1,47,1,44,65,2,118,65,1,113,11,13,1,2,64,32,0,40,2,0,40,2,8,34,1,40,2,32,69,13,0,32,1,40,2,64,32,9,32,2,65,28,108,106,40,2,0,40,2,0,47,1,66,65,2,116,106,34,2,47,1,2,34,3,69,13,0,32,1,40,2,68,32,2,47,1,0,65,2,116,106,34,1,32,3,65,2,116,106,33,2,3,64,2,64,32,1,45,0,3,69,4,64,32,5,40,2,20,32,1,45,0,2,70,13,1,11,32,2,32,1,65,4,106,34,1,75,13,1,12,2,11,11,32,1,47,1,0,33,6,12,2,11,32,4,65,1,107,34,1,13,0,11,11,32,6,11,139,1,2,4,127,1,126,32,0,40,0,0,34,1,65,1,113,69,4,64,32,1,32,1,40,2,0,65,1,106,54,2,0,32,1,40,2,0,26,11,32,0,40,2,12,33,3,32,0,40,2,16,33,1,32,0,41,0,0,33,5,32,0,40,2,8,33,2,65,20,35,5,40,2,0,17,0,0,34,0,32,2,54,2,8,32,0,32,5,55,2,0,32,0,32,1,65,24,35,7,40,2,0,17,1,0,34,2,54,2,12,32,1,65,24,108,34,4,4,64,32,2,32,3,32,4,252,10,0,0,11,32,0,32,1,54,2,16,32,0,11,165,2,1,9,127,35,0,65,32,107,34,2,36,0,32,0,4,64,32,2,66,0,55,3,24,32,2,66,0,55,3,16,32,2,66,0,55,3,8,32,2,32,0,41,2,0,55,3,0,32,2,65,8,106,32,2,16,60,32,2,40,2,8,34,4,4,64,2,64,32,2,40,2,12,34,3,69,13,0,32,3,65,4,79,4,64,32,3,65,124,113,33,9,3,64,32,4,32,1,65,3,116,106,34,5,40,2,0,35,6,34,6,40,2,0,17,2,0,32,5,40,2,8,32,6,40,2,0,17,2,0,32,5,40,2,16,32,6,40,2,0,17,2,0,32,5,40,2,24,32,6,40,2,0,17,2,0,32,1,65,4,106,33,1,32,8,65,4,106,34,8,32,9,71,13,0,11,11,32,3,65,3,113,34,3,69,13,0,3,64,32,4,32,1,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,1,65,1,106,33,1,32,7,65,1,106,34,7,32,3,71,13,0,11,11,32,4,35,6,40,2,0,17,2,0,11,32,2,40,2,20,34,1,4,64,32,1,35,6,40,2,0,17,2,0,11,32,0,40,2,12,35,6,34,1,40,2,0,17,2,0,32,0,32,1,40,2,0,17,2,0,11,32,2,65,32,106,36,0,11,205,2,1,4,127,32,2,32,0,44,0,0,34,3,65,255,1,113,34,4,54,2,0,65,1,33,5,2,64,32,3,65,0,72,4,64,2,64,32,1,65,1,70,13,0,2,64,32,3,65,96,79,4,64,2,64,32,3,65,111,77,4,64,32,2,32,4,65,15,113,34,4,54,2,0,35,1,65,222,10,106,32,4,106,45,0,0,32,0,45,0,1,34,3,65,5,118,118,65,1,113,69,13,4,32,3,65,63,113,33,6,65,2,33,3,12,1,11,32,2,32,4,65,240,1,107,34,4,54,2,0,32,3,65,116,75,13,3,35,1,65,176,12,106,32,0,45,0,1,34,3,65,4,118,106,44,0,0,32,4,118,65,1,113,69,13,3,32,2,32,3,65,63,113,32,4,65,6,116,114,34,4,54,2,0,65,2,33,5,32,1,65,2,70,13,3,65,3,33,3,32,0,45,0,2,65,128,127,115,34,6,65,255,1,113,65,63,75,13,3,11,32,2,32,6,65,255,1,113,32,4,65,6,116,114,34,4,54,2,0,32,3,32,1,34,5,71,13,1,12,2,11,32,3,65,66,73,13,1,32,2,32,4,65,31,113,34,4,54,2,0,65,1,33,3,11,32,0,32,3,106,45,0,0,65,128,127,115,65,255,1,113,34,0,65,63,77,13,2,32,3,33,5,11,32,2,65,127,54,2,0,11,32,5,15,11,32,2,32,4,65,6,116,32,0,114,54,2,0,32,3,65,1,106,11,88,1,2,127,32,2,32,0,47,1,0,34,3,54,2,0,65,2,33,4,2,64,32,1,65,1,70,13,0,32,3,65,128,248,3,113,65,128,176,3,71,13,0,32,0,47,1,2,34,0,65,128,248,3,113,65,128,184,3,71,13,0,32,2,32,3,65,10,116,32,0,106,65,128,184,255,26,107,54,2,0,65,4,33,4,11,32,4,11,106,1,3,127,32,2,32,0,47,1,0,34,3,65,8,116,32,3,65,8,118,114,34,4,65,255,255,3,113,34,5,54,2,0,65,2,33,3,2,64,32,1,65,1,70,13,0,32,4,65,128,248,3,113,65,128,176,3,71,13,0,32,0,47,1,2,34,0,65,128,248,3,113,65,128,184,3,71,13,0,32,2,32,5,65,10,116,32,0,106,65,128,184,255,26,107,54,2,0,65,4,33,3,11,32,3,11,208,31,2,12,127,3,126,35,0,65,128,1,107,34,7,36,0,2,64,32,1,40,2,0,34,5,69,4,64,65,1,33,8,12,1,11,32,2,40,2,0,34,4,69,13,0,2,127,32,4,65,26,116,65,31,117,65,226,4,113,32,4,65,1,113,13,0,26,65,226,4,32,4,45,0,45,65,2,113,13,0,26,32,4,40,2,32,11,33,6,32,5,65,8,118,33,12,32,4,65,8,118,33,13,2,64,2,64,2,64,32,5,65,1,113,69,4,64,32,5,45,0,45,65,2,113,69,4,64,32,6,32,5,40,2,32,34,3,73,13,2,12,4,11,65,226,4,33,3,32,6,65,226,4,73,13,1,12,3,11,32,5,65,32,113,34,3,69,13,1,32,6,65,225,4,75,13,1,11,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,8,12,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,2,40,2,8,32,2,40,2,4,106,32,1,77,13,0,32,2,40,2,56,32,1,65,2,116,106,40,2,0,33,6,11,32,0,65,132,1,106,33,1,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,4,32,7,32,6,54,2,0,32,1,65,128,8,35,1,65,143,4,106,32,7,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,8,12,3,11,65,1,33,8,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,226,4,65,0,32,3,27,33,3,11,2,64,2,64,2,64,32,4,65,1,113,69,4,64,32,4,45,0,45,65,2,113,4,127,65,226,4,5,32,4,40,2,32,11,32,3,75,13,1,32,4,40,2,36,13,2,12,3,11,32,4,65,32,113,69,13,2,32,3,65,225,4,75,13,2,11,32,0,40,2,96,69,4,64,32,0,40,2,140,10,69,13,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,1,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,1,77,13,0,32,2,40,2,56,32,1,65,2,116,106,40,2,0,33,3,11,32,0,65,132,1,106,33,1,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,6,11,32,7,32,6,54,2,20,32,7,32,3,54,2,16,32,1,65,128,8,35,1,65,143,4,106,32,7,65,16,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,13,2,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,4,40,2,60,33,10,11,2,64,2,64,2,64,2,64,32,5,65,1,113,69,4,64,32,5,40,2,36,13,1,65,0,33,3,32,10,65,0,74,13,2,12,4,11,32,10,65,0,74,13,1,65,0,33,3,12,3,11,32,10,32,5,40,2,60,76,13,1,11,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,1,33,8,12,3,11,32,0,40,2,160,9,33,1,35,1,65,171,10,106,33,8,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,2,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,8,12,1,11,65,0,33,8,32,1,40,2,8,32,1,40,2,4,106,32,2,77,13,0,32,1,40,2,56,32,2,65,2,116,106,40,2,0,33,8,11,65,0,33,2,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,2,11,35,1,65,171,10,106,33,6,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,6,12,1,11,65,0,33,6,32,1,40,2,8,32,1,40,2,4,106,32,3,77,13,0,32,1,40,2,56,32,3,65,2,116,106,40,2,0,33,6,11,32,0,65,132,1,106,33,1,65,0,33,10,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,10,11,32,7,32,10,54,2,44,32,7,32,6,54,2,40,32,7,32,2,54,2,36,32,7,32,8,54,2,32,32,1,65,128,8,35,1,65,164,9,106,32,7,65,32,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,32,0,40,2,140,10,69,4,64,65,1,33,8,12,3,11,65,1,33,8,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,5,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,5,40,2,60,33,3,11,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,8,11,32,3,32,8,74,4,64,2,64,32,0,40,2,96,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,2,11,32,0,40,2,160,9,33,1,35,1,65,171,10,106,33,8,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,2,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,8,12,1,11,65,0,33,8,32,1,40,2,8,32,1,40,2,4,106,32,2,77,13,0,32,1,40,2,56,32,2,65,2,116,106,40,2,0,33,8,11,65,0,33,2,2,64,32,5,65,1,113,13,0,32,5,40,2,36,69,13,0,32,5,40,2,60,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,5,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,1,40,2,8,32,1,40,2,4,106,32,5,77,13,0,32,1,40,2,56,32,5,65,2,116,106,40,2,0,33,3,11,32,0,65,132,1,106,33,1,65,0,33,10,2,64,32,4,65,1,113,13,0,32,4,40,2,36,69,13,0,32,4,40,2,60,33,10,11,32,7,32,10,54,2,60,32,7,32,3,54,2,56,32,7,32,2,54,2,52,32,7,32,8,54,2,48,32,1,65,128,8,35,1,65,164,9,106,32,7,65,48,106,16,249,1,26,32,0,40,2,96,34,2,4,64,32,0,40,2,92,65,0,32,1,32,2,17,3,0,11,65,0,33,8,32,0,40,2,140,10,69,13,1,3,64,2,64,2,64,32,1,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,13,1,12,4,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,3,11,32,3,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,8,2,64,32,5,65,1,113,4,64,32,5,65,32,113,69,13,1,12,2,11,32,5,45,0,45,65,2,113,13,1,32,5,40,2,32,13,1,11,32,7,32,1,41,2,0,55,3,120,32,7,32,2,41,2,0,55,3,112,2,127,32,0,65,136,9,106,34,1,40,2,12,33,2,32,1,32,1,40,2,16,34,3,65,1,106,34,6,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,6,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,6,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,3,65,1,106,5,32,6,11,54,2,16,32,2,32,3,65,3,116,106,32,7,41,2,120,55,2,0,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,3,65,1,106,34,6,32,1,40,2,20,34,10,75,4,127,65,8,32,10,65,1,116,34,3,32,6,32,3,32,6,75,27,34,3,32,3,65,8,77,27,34,6,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,1,32,6,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,3,65,1,106,5,32,6,11,54,2,16,32,2,32,3,65,3,116,106,32,7,41,2,112,55,2,0,65,0,32,1,40,2,16,34,2,69,13,0,26,3,64,32,1,32,2,65,1,107,34,3,54,2,16,32,1,40,2,12,34,6,32,3,65,3,116,106,41,2,0,33,16,32,1,32,2,65,2,107,34,2,54,2,16,32,6,32,2,65,3,116,106,41,2,0,34,17,66,8,136,33,15,32,16,167,33,6,32,17,167,34,10,65,1,113,34,9,4,127,32,15,167,65,255,1,113,5,32,10,47,1,40,11,33,11,2,64,2,64,2,127,2,64,32,6,65,1,113,34,14,4,64,32,6,65,128,254,3,113,65,8,118,34,3,32,11,65,255,255,3,113,77,13,1,65,127,12,2,11,32,6,47,1,40,34,3,32,11,65,255,255,3,113,77,13,0,65,127,12,1,11,2,64,2,127,32,9,4,64,65,0,32,3,32,15,167,65,255,1,113,79,13,1,26,12,2,11,32,3,32,10,47,1,40,73,13,1,32,10,40,2,36,11,33,3,65,0,33,11,2,64,32,14,13,0,32,3,32,6,40,2,36,34,11,79,13,0,65,127,12,2,11,32,9,13,3,32,11,32,10,40,2,36,34,3,79,13,2,11,65,1,11,33,2,32,1,65,0,54,2,16,32,2,12,3,11,32,3,69,13,0,3,64,32,3,65,1,107,34,3,65,3,116,34,2,32,6,32,6,40,2,36,65,3,116,107,106,41,2,0,33,15,32,10,32,10,40,2,36,65,3,116,107,32,2,106,41,2,0,33,16,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,9,65,1,106,34,11,32,1,40,2,20,34,14,75,4,127,65,8,32,14,65,1,116,34,9,32,11,32,9,32,11,75,27,34,9,32,9,65,8,77,27,34,11,65,3,116,33,9,2,127,32,2,4,64,32,2,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,2,32,1,32,11,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,11,11,54,2,16,32,2,32,9,65,3,116,106,32,16,55,2,0,32,1,40,2,12,33,2,32,1,32,1,40,2,16,34,9,65,1,106,34,11,32,1,40,2,20,34,14,75,4,127,65,8,32,14,65,1,116,34,9,32,11,32,9,32,11,75,27,34,9,32,9,65,8,77,27,34,11,65,3,116,33,9,2,127,32,2,4,64,32,2,32,9,35,4,40,2,0,17,1,0,12,1,11,32,9,35,5,40,2,0,17,0,0,11,33,2,32,1,32,11,54,2,20,32,1,32,2,54,2,12,32,1,40,2,16,34,9,65,1,106,5,32,11,11,54,2,16,32,2,32,9,65,3,116,106,32,15,55,2,0,32,3,13,0,11,32,1,40,2,16,33,2,11,32,2,13,0,11,65,0,11,33,2,32,0,40,2,96,33,1,2,127,2,64,2,64,2,64,2,64,32,2,65,1,106,14,3,0,2,1,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,5,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,5,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,84,32,7,32,1,54,2,80,32,5,65,128,8,35,1,65,190,4,106,32,7,65,208,0,106,16,249,1,26,12,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,12,4,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,8,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,100,32,7,32,1,54,2,96,32,8,65,128,8,35,1,65,190,4,106,32,7,65,224,0,106,16,249,1,26,65,1,12,2,11,2,64,32,1,13,0,32,0,40,2,140,10,13,0,65,0,33,8,12,3,11,32,0,40,2,160,9,33,2,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,5,65,1,113,4,127,32,12,65,255,1,113,5,32,5,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,2,40,2,8,32,2,40,2,4,106,32,3,77,13,0,32,2,40,2,56,32,3,65,2,116,106,40,2,0,33,1,11,32,0,65,132,1,106,33,5,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,4,65,1,113,4,127,32,13,65,255,1,113,5,32,4,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,2,40,2,8,32,2,40,2,4,106,32,4,77,13,0,32,2,40,2,56,32,4,65,2,116,106,40,2,0,33,3,11,32,7,32,3,54,2,68,32,7,32,1,54,2,64,32,5,65,128,8,35,1,65,231,4,106,32,7,65,64,107,16,249,1,26,11,65,0,11,33,8,32,0,40,2,96,34,1,4,64,32,0,40,2,92,65,0,32,0,65,132,1,106,32,1,17,3,0,11,2,64,32,0,40,2,140,10,69,13,0,32,0,65,132,1,106,33,1,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,0,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,0,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,11,32,7,65,128,1,106,36,0,32,8,11,211,4,1,14,127,2,64,32,0,40,2,180,9,34,3,69,13,0,2,127,32,3,65,26,116,65,31,117,65,226,4,113,32,3,65,1,113,13,0,26,65,226,4,32,3,45,0,45,65,2,113,13,0,26,32,3,40,2,32,11,32,2,75,13,0,65,1,15,11,32,0,40,2,132,9,34,0,40,2,0,34,12,32,1,65,5,116,106,34,8,40,2,0,34,9,40,2,4,33,11,32,9,40,2,156,1,34,5,32,8,40,2,8,73,4,64,32,8,32,5,54,2,8,11,2,64,32,0,40,2,4,34,13,4,64,32,9,40,2,160,1,33,14,65,0,33,0,3,64,2,64,32,0,32,1,70,13,0,32,12,32,0,65,5,116,106,34,6,40,2,28,13,0,32,6,40,2,0,34,4,40,2,4,34,15,32,11,73,13,0,32,4,40,2,152,1,34,10,33,7,32,4,47,1,0,69,4,64,32,10,32,10,65,244,3,106,32,4,40,2,20,27,33,7,11,32,4,40,2,156,1,34,5,32,6,40,2,8,34,3,73,4,64,32,6,32,5,54,2,8,32,5,33,3,11,32,4,47,1,0,34,16,69,13,0,32,2,32,7,73,13,0,2,64,32,2,32,7,75,4,64,65,1,33,4,32,5,32,3,107,65,1,106,32,2,32,7,107,108,65,136,14,77,13,1,12,5,11,32,4,40,2,160,1,32,14,76,13,1,11,32,8,40,2,28,13,0,32,16,32,9,47,1,0,71,13,0,32,11,32,15,71,13,0,32,10,32,9,40,2,152,1,71,13,0,35,1,33,4,32,8,40,0,12,33,3,2,127,32,4,65,148,12,106,32,6,40,0,12,34,5,69,13,0,26,35,1,65,148,12,106,32,5,65,1,113,13,0,26,35,1,65,148,12,106,32,5,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,5,65,48,106,32,5,40,2,36,27,11,33,5,35,1,33,4,32,5,40,2,24,33,6,2,64,2,127,32,4,65,148,12,106,32,3,69,13,0,26,35,1,65,148,12,106,32,3,65,1,113,13,0,26,35,1,65,148,12,106,32,3,45,0,44,65,192,0,113,69,13,0,26,35,1,65,148,12,106,32,3,65,48,106,32,3,40,2,36,27,11,34,4,40,2,24,34,3,65,25,79,4,64,32,3,32,6,71,13,2,32,5,40,2,0,33,5,32,4,40,2,0,33,4,12,1,11,32,3,32,6,71,13,1,11,32,5,32,4,32,3,16,248,1,13,0,65,1,15,11,32,0,65,1,106,34,0,32,13,71,13,0,11,11,65,0,33,4,11,32,4,11,205,5,1,13,127,2,64,2,64,32,0,40,2,4,34,5,69,4,64,12,1,11,32,2,47,1,64,33,13,32,0,40,2,0,33,9,32,5,65,1,71,4,64,3,64,2,64,32,9,32,6,32,5,65,1,118,34,15,106,34,4,65,2,116,106,40,2,0,34,10,47,1,64,34,14,32,13,73,13,0,65,0,33,3,2,64,32,14,4,64,3,64,32,3,32,13,70,13,2,32,10,32,3,65,3,116,34,7,106,34,8,47,1,4,34,11,32,2,32,7,106,34,7,47,1,4,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,2,34,11,32,7,47,1,2,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,0,34,11,32,7,47,1,0,34,12,73,13,2,32,11,32,12,75,13,3,32,8,47,1,6,65,255,255,1,113,34,8,32,7,47,1,6,65,255,255,1,113,34,7,73,13,2,32,7,32,8,73,13,3,32,3,65,1,106,34,3,32,14,71,13,0,11,11,32,10,47,1,66,34,3,32,2,47,1,66,34,8,73,13,0,32,3,32,8,75,13,1,11,32,4,33,6,11,32,5,32,15,107,34,5,65,1,75,13,0,11,11,32,9,32,6,65,2,116,106,40,2,0,34,8,47,1,64,34,7,32,13,73,13,0,2,64,2,64,32,7,4,64,65,0,33,3,3,64,32,3,32,13,70,13,2,32,8,32,3,65,3,116,34,5,106,34,4,47,1,4,34,9,32,2,32,5,106,34,5,47,1,4,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,2,34,9,32,5,47,1,2,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,0,34,9,32,5,47,1,0,34,10,73,13,2,32,9,32,10,75,13,4,32,4,47,1,6,65,255,255,1,113,34,4,32,5,47,1,6,65,255,255,1,113,34,5,73,13,2,32,4,32,5,75,13,4,32,3,65,1,106,34,3,32,7,71,13,0,11,11,32,8,47,1,66,34,4,32,2,47,1,66,34,3,79,13,1,11,32,6,65,1,106,33,6,12,1,11,32,3,32,4,79,13,1,11,2,127,32,1,40,2,4,34,4,4,64,32,1,32,4,65,1,107,34,4,54,2,4,32,1,40,2,0,32,4,65,2,116,106,40,2,0,12,1,11,65,198,0,35,5,40,2,0,17,0,0,11,34,1,32,2,65,198,0,252,10,0,0,32,0,40,2,0,33,3,32,0,40,2,4,34,2,65,1,106,34,4,32,0,40,2,8,75,4,64,32,4,65,2,116,33,2,2,127,32,3,4,64,32,3,32,2,35,4,40,2,0,17,1,0,12,1,11,32,2,35,5,40,2,0,17,0,0,11,33,3,32,0,32,4,54,2,8,32,0,32,3,54,2,0,32,0,40,2,4,33,2,11,32,6,65,2,116,33,4,2,64,32,2,32,6,77,13,0,32,2,32,6,107,65,2,116,34,2,69,13,0,32,3,32,4,106,34,6,65,4,106,32,6,32,2,252,10,0,0,11,32,3,32,4,106,32,1,54,0,0,32,0,32,0,40,2,4,65,1,106,54,2,4,11,11,231,3,1,8,127,35,0,65,16,107,34,7,36,0,2,64,2,64,32,1,40,2,4,34,4,65,255,255,3,71,4,64,32,4,65,255,255,3,113,33,6,32,0,40,2,48,33,4,12,1,11,32,0,40,2,52,34,5,65,255,255,3,113,33,6,2,64,2,64,32,0,40,2,76,34,8,69,13,0,32,6,69,13,0,32,5,65,255,255,3,113,33,9,32,0,40,2,48,33,4,3,64,32,4,32,3,65,12,108,106,34,10,40,2,4,65,127,70,13,2,32,3,65,1,106,34,3,32,9,71,13,0,11,11,2,64,32,0,40,2,72,32,5,77,4,64,32,1,65,255,255,3,54,2,4,12,1,11,32,0,40,2,48,33,4,32,0,40,2,56,34,3,32,5,77,4,64,65,8,32,3,65,1,116,34,3,32,5,65,1,106,34,5,32,3,32,5,75,27,34,3,32,3,65,8,77,27,34,5,65,12,108,33,3,2,127,32,4,4,64,32,4,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,4,32,0,32,5,54,2,56,32,0,32,4,54,2,48,32,0,40,2,52,33,5,11,32,0,32,5,65,1,106,54,2,52,32,4,32,5,65,12,108,106,34,3,65,0,54,2,8,32,3,66,0,55,2,0,32,1,32,6,54,2,4,32,6,65,255,255,3,71,13,2,11,32,0,65,1,58,0,163,1,65,0,33,3,32,0,32,7,65,12,106,32,7,65,8,106,32,7,65,4,106,65,0,16,118,69,13,2,32,2,32,7,40,2,12,34,2,70,13,2,32,1,32,0,40,2,24,32,2,65,4,116,106,34,2,40,2,4,54,2,4,32,2,65,255,255,3,54,2,4,32,2,32,2,47,1,14,65,128,128,1,114,59,1,14,32,0,40,2,48,32,1,47,1,4,65,12,108,106,34,3,65,0,54,2,4,12,2,11,32,10,65,0,54,2,4,32,0,32,8,65,1,107,54,2,76,32,1,32,3,65,255,255,3,113,34,6,54,2,4,11,32,4,32,6,65,12,108,106,33,3,11,32,7,65,16,106,36,0,32,3,11,20,1,1,127,35,9,34,0,66,143,128,128,128,208,1,55,3,0,32,0,11,249,8,2,7,127,1,126,35,9,33,6,35,0,65,16,107,34,5,36,0,65,1,65,232,10,35,7,40,2,0,17,1,0,34,0,35,2,34,1,54,2,28,32,0,32,1,65,1,106,54,2,24,32,0,32,1,65,2,106,54,2,20,32,0,32,1,65,3,106,54,2,16,32,0,32,1,65,4,106,54,2,12,32,0,32,1,65,5,106,54,2,8,32,0,66,0,55,2,0,32,0,65,32,106,65,0,65,228,8,252,11,0,32,0,65,0,65,24,35,4,40,2,0,17,1,0,34,1,54,2,68,32,1,35,1,65,252,11,106,34,2,41,2,16,55,2,16,32,1,32,2,41,2,8,55,2,8,32,1,32,2,41,2,0,55,2,0,32,0,65,1,54,2,100,2,64,2,64,32,0,40,2,68,34,4,40,2,20,34,3,32,0,40,0,32,34,1,77,13,0,32,3,32,4,40,2,16,34,2,77,13,0,32,1,32,2,77,4,64,32,0,32,4,41,2,0,55,2,36,32,0,32,2,54,2,32,32,2,33,1,11,65,0,33,2,32,0,65,0,54,2,104,32,0,40,2,72,69,13,1,32,0,40,2,108,34,4,32,1,77,4,64,32,1,32,0,40,2,112,32,4,106,73,13,2,11,32,0,65,0,54,2,72,32,0,66,0,55,2,108,12,1,11,65,1,33,2,32,0,65,1,54,2,104,32,4,41,2,8,33,7,32,0,65,0,54,2,72,32,0,32,7,55,2,36,32,0,32,3,54,2,32,32,0,66,0,55,2,108,11,32,0,65,0,54,2,176,9,32,0,65,0,54,2,0,32,0,32,2,54,2,116,32,0,66,0,55,3,168,9,65,192,0,35,5,34,1,40,2,0,17,0,0,33,2,32,0,65,4,54,2,176,9,32,0,32,2,54,2,168,9,65,128,2,32,1,40,2,0,17,0,0,33,1,32,0,66,0,55,2,148,9,32,0,66,128,128,128,128,128,4,55,2,140,9,32,0,32,1,54,2,136,9,32,0,65,156,9,106,65,0,54,2,0,32,0,65,136,9,106,34,4,33,2,65,1,65,56,35,7,40,2,0,17,1,0,34,1,66,0,55,2,0,32,1,66,0,55,2,40,32,1,66,0,55,2,32,32,1,66,0,55,2,24,32,1,66,0,55,2,16,32,1,66,0,55,2,8,65,128,1,35,5,40,2,0,17,0,0,33,3,32,1,65,4,54,2,8,32,1,32,3,54,2,0,32,1,40,2,20,65,3,77,4,64,2,127,32,1,40,2,12,34,3,4,64,32,3,65,192,0,35,4,40,2,0,17,1,0,12,1,11,65,192,0,35,5,40,2,0,17,0,0,11,33,3,32,1,65,4,54,2,20,32,1,32,3,54,2,12,11,32,1,40,2,32,65,3,77,4,64,2,127,32,1,40,2,24,34,3,4,64,32,3,65,224,0,35,4,40,2,0,17,1,0,12,1,11,65,224,0,35,5,40,2,0,17,0,0,11,33,3,32,1,65,4,54,2,32,32,1,32,3,54,2,24,11,32,1,40,2,44,65,49,77,4,64,2,127,32,1,40,2,36,34,3,4,64,32,3,65,200,1,35,4,40,2,0,17,1,0,12,1,11,65,200,1,35,5,40,2,0,17,0,0,11,33,3,32,1,65,50,54,2,44,32,1,32,3,54,2,36,11,32,1,32,2,54,2,52,2,127,32,1,40,2,40,34,2,4,64,32,1,32,2,65,1,107,34,2,54,2,40,32,1,40,2,36,32,2,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,2,65,1,59,1,0,32,2,65,2,106,65,0,65,146,1,252,11,0,32,2,66,0,55,2,4,32,2,65,1,54,2,148,1,32,2,65,0,54,2,12,32,2,66,0,55,2,152,1,32,2,65,0,54,2,160,1,32,1,32,2,54,2,48,32,1,16,61,32,0,66,0,55,2,244,9,32,0,66,0,55,2,180,9,32,0,32,1,54,2,132,9,32,0,65,252,9,106,66,0,55,2,0,32,0,65,132,10,106,65,0,54,2,0,32,0,66,0,55,3,160,10,32,0,65,0,58,0,226,10,32,0,65,0,54,2,160,9,32,0,65,0,59,1,224,10,32,0,66,0,55,3,144,10,32,0,66,0,55,3,136,10,32,0,65,152,10,106,66,0,55,3,0,32,0,65,0,54,2,220,10,32,0,66,0,55,2,172,10,32,0,65,196,10,106,65,0,54,2,0,32,0,65,188,10,106,66,0,55,2,0,32,0,66,0,55,2,180,10,32,0,65,224,9,106,33,1,32,0,40,2,224,9,4,64,32,5,32,1,41,2,0,55,3,8,32,4,32,5,65,8,106,16,60,11,32,0,40,2,232,9,4,64,32,5,32,0,65,232,9,106,41,2,0,55,3,0,32,4,32,5,16,60,11,32,1,66,0,55,2,0,32,1,65,0,54,2,16,32,1,66,0,55,2,8,32,5,65,16,106,36,0,32,6,65,128,208,0,65,1,16,141,2,54,2,4,32,6,32,0,54,2,0,11,62,1,1,127,35,0,65,16,107,34,2,36,0,32,2,32,0,54,2,8,32,2,35,2,65,20,106,65,0,32,1,27,54,2,12,32,2,32,2,41,2,8,55,3,0,32,0,32,2,41,2,0,55,2,92,32,2,65,16,106,36,0,11,11,0,32,1,65,1,70,32,2,16,0,11,218,216,1,2,51,127,3,126,35,0,65,48,107,34,31,36,0,32,31,66,1,55,2,40,32,31,32,1,54,2,32,32,31,35,2,65,21,106,54,2,36,2,64,32,4,4,64,32,4,65,1,71,4,64,32,4,65,126,113,33,1,3,64,32,3,32,8,65,24,108,106,34,9,32,9,40,2,16,65,1,116,54,2,16,32,9,32,9,40,2,20,65,1,116,54,2,20,32,9,32,9,40,2,4,65,1,116,54,2,4,32,9,32,9,40,2,12,65,1,116,54,2,12,32,3,32,8,65,1,114,65,24,108,106,34,9,32,9,40,2,16,65,1,116,54,2,16,32,9,32,9,40,2,20,65,1,116,54,2,20,32,9,32,9,40,2,4,65,1,116,54,2,4,32,9,32,9,40,2,12,65,1,116,54,2,12,32,8,65,2,106,33,8,32,7,65,2,106,34,7,32,1,71,13,0,11,11,32,4,65,1,113,4,64,32,3,32,8,65,24,108,106,34,1,32,1,40,2,16,65,1,116,54,2,16,32,1,32,1,40,2,20,65,1,116,54,2,20,32,1,32,1,40,2,4,65,1,116,54,2,4,32,1,32,1,40,2,12,65,1,116,54,2,12,11,32,0,32,3,32,4,16,68,26,32,3,16,138,2,12,1,11,32,0,65,0,65,0,16,68,26,11,32,31,32,31,41,2,40,55,3,24,32,31,32,31,41,2,32,55,3,16,32,31,35,1,65,204,211,0,106,41,2,0,55,3,8,35,0,65,16,107,34,37,36,0,32,0,32,31,41,2,8,34,56,62,2,208,10,32,0,32,56,55,3,200,10,32,37,32,31,41,2,24,55,3,8,32,37,32,31,41,2,16,55,3,0,65,0,33,1,35,0,65,160,2,107,34,10,36,0,2,64,32,0,34,5,40,2,160,9,69,13,0,32,37,40,2,4,69,13,0,32,5,32,37,41,2,0,55,2,76,32,5,32,37,41,2,8,55,2,84,32,5,65,0,54,2,72,32,5,66,0,55,2,108,32,5,40,2,68,33,8,2,127,32,5,40,2,100,34,9,4,64,32,5,40,0,32,33,7,3,64,2,64,32,8,32,1,65,24,108,106,34,4,40,2,20,34,0,32,7,77,13,0,32,0,32,4,40,2,16,34,3,77,13,0,32,3,32,7,79,4,64,32,5,32,4,41,2,0,55,2,36,32,5,32,3,54,2,32,11,32,5,32,1,54,2,104,65,0,12,3,11,32,1,65,1,106,34,1,32,9,71,13,0,11,11,32,5,32,9,54,2,104,32,8,32,9,65,24,108,106,34,1,65,4,107,40,2,0,33,0,32,1,65,16,107,41,2,0,33,56,32,5,65,0,54,2,72,32,5,32,56,55,2,36,32,5,32,0,54,2,32,32,5,66,0,55,2,108,65,1,11,33,0,32,5,65,0,54,2,220,10,32,5,65,0,54,2,192,10,32,5,65,0,54,2,0,32,5,32,0,54,2,116,32,5,65,0,54,2,172,10,2,64,32,5,41,3,160,10,66,0,82,4,64,32,10,65,176,1,106,16,237,1,32,10,41,3,176,1,33,57,32,10,40,2,184,1,33,0,32,5,32,10,40,2,188,1,54,2,156,10,32,5,32,0,32,5,41,3,160,10,34,56,32,56,66,192,132,61,128,34,56,66,192,132,61,126,125,167,65,232,7,108,106,34,0,65,128,148,235,220,3,107,32,0,32,0,65,255,147,235,220,3,74,34,0,27,54,2,152,10,32,5,32,0,173,32,56,32,57,124,124,55,3,144,10,12,1,11,32,5,65,144,10,106,34,0,66,0,55,3,0,32,0,66,0,55,3,8,11,32,5,65,188,10,106,33,54,2,64,2,64,2,64,2,64,2,64,32,5,45,0,225,10,13,0,32,5,40,2,136,10,13,0,32,5,40,2,132,9,40,2,0,34,3,40,2,0,34,0,47,1,0,65,1,71,13,0,32,0,40,2,156,1,34,1,32,3,40,2,8,34,0,73,4,64,32,3,32,1,54,2,8,12,2,11,32,0,32,1,70,13,1,11,2,64,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,65,153,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,41,0,7,55,0,139,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,153,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,41,0,7,55,0,139,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,45,0,225,10,69,13,1,12,2,11,2,64,32,5,40,2,160,9,34,0,69,13,0,32,0,40,2,104,69,13,0,32,0,40,2,112,34,0,69,13,0,32,5,32,0,17,11,0,54,2,136,10,11,65,0,33,1,32,5,45,0,224,10,13,2,32,2,4,64,32,2,40,0,0,34,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,11,32,5,32,2,41,2,0,55,2,180,10,32,2,40,2,12,32,2,40,2,16,32,5,40,2,68,32,5,40,2,100,32,54,16,16,32,2,41,2,0,33,56,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,32,5,40,2,244,9,33,2,32,5,40,2,252,9,69,4,64,2,127,32,2,4,64,32,2,65,128,1,35,4,40,2,0,17,1,0,12,1,11,65,128,1,35,5,40,2,0,17,0,0,11,33,2,32,5,65,8,54,2,252,9,32,5,32,2,54,2,244,9,32,5,40,2,248,9,33,1,11,32,5,32,1,65,1,106,54,2,248,9,32,2,32,1,65,4,116,106,34,0,66,0,55,2,8,32,0,32,56,55,2,0,2,64,2,64,32,5,40,2,244,9,34,2,32,5,40,2,248,9,34,19,65,4,116,106,34,0,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,4,69,13,0,32,0,65,4,107,40,2,0,33,1,32,5,32,19,65,1,106,34,3,32,5,40,2,252,9,34,0,75,4,127,32,2,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,4,116,35,4,40,2,0,17,1,0,33,2,32,5,32,0,54,2,252,9,32,5,32,2,54,2,244,9,32,7,40,2,36,33,4,32,5,40,2,248,9,34,19,65,1,106,5,32,3,11,54,2,248,9,32,7,32,4,65,3,116,107,41,2,0,33,56,32,2,32,19,65,4,116,106,34,0,32,1,54,2,12,32,0,65,0,54,2,8,32,0,32,56,55,2,0,12,1,11,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,11,2,64,2,64,2,64,32,5,40,2,96,34,0,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,34,0,41,0,137,3,55,0,132,1,32,5,32,0,45,0,153,3,58,0,148,1,32,5,32,0,41,0,145,3,55,0,140,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,34,1,41,0,137,3,55,0,132,1,32,5,32,1,45,0,153,3,58,0,148,1,32,5,32,1,41,0,145,3,55,0,140,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,0,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,65,140,10,106,33,19,32,5,40,2,140,10,34,1,69,13,4,32,5,40,2,160,9,33,0,32,10,32,5,41,0,180,10,55,3,200,1,32,10,65,200,1,106,65,0,32,0,65,0,32,1,16,69,65,10,32,5,40,2,140,10,16,241,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,140,10,106,33,19,11,32,5,40,2,192,10,69,13,1,32,5,65,132,1,106,33,0,3,64,32,5,40,2,188,10,33,1,2,64,32,5,40,2,96,69,4,64,32,19,40,2,0,69,13,1,11,32,10,32,1,32,13,65,24,108,106,41,2,16,55,3,160,1,32,0,65,128,8,35,1,65,225,2,106,32,10,65,160,1,106,16,249,1,26,32,5,40,2,96,34,1,4,64,32,5,40,2,92,65,0,32,0,32,1,17,3,0,11,32,0,33,2,32,19,40,2,0,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,19,40,2,0,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,19,40,2,0,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,13,65,1,106,34,13,32,5,40,2,192,10,73,13,0,11,12,1,11,32,5,66,0,55,2,128,10,32,5,65,0,54,2,248,9,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,2,32,5,35,1,65,184,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,47,0,8,59,0,140,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,184,8,106,34,0,41,0,0,55,0,132,1,32,5,32,0,47,0,8,59,0,140,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,1,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,69,13,3,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,244,9,106,33,55,32,5,65,132,1,106,33,24,3,64,2,64,32,5,40,2,132,9,34,1,40,2,4,34,0,69,4,64,65,1,33,13,65,127,33,29,12,1,11,32,0,65,1,70,33,13,32,1,40,2,0,33,2,65,0,33,19,2,64,2,64,3,64,2,64,32,2,32,19,65,5,116,34,33,106,40,2,28,13,0,3,64,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,32,2,32,33,106,40,2,0,34,0,41,2,8,33,56,32,0,47,1,0,33,0,32,10,32,1,40,2,4,54,2,132,1,32,10,32,0,54,2,136,1,32,10,32,56,55,2,140,1,32,10,32,19,54,2,128,1,32,24,65,128,8,35,1,65,185,1,106,32,10,65,128,1,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,32,24,33,2,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,35,0,65,224,3,107,34,6,36,0,32,19,65,5,116,34,17,32,5,40,2,132,9,40,2,0,106,34,0,40,2,16,33,45,32,0,40,2,12,33,26,32,0,40,2,0,34,0,40,2,4,33,39,32,0,47,1,0,33,16,32,6,66,0,55,3,248,2,32,6,65,0,54,2,240,2,32,6,66,0,55,3,232,2,2,64,2,64,2,64,32,13,65,1,113,69,13,0,2,64,32,5,40,2,248,9,34,2,69,13,0,32,5,65,244,9,106,33,21,32,5,65,132,1,106,33,1,32,26,65,48,106,33,18,32,26,69,32,26,114,65,1,113,33,9,3,64,32,21,40,2,0,32,2,65,4,116,106,34,2,65,16,107,40,2,0,34,0,69,13,1,32,0,65,8,118,33,14,32,2,65,12,107,40,2,0,33,3,32,2,65,4,107,40,2,0,33,15,2,127,32,0,65,1,113,34,11,4,64,32,3,65,16,118,65,255,1,113,32,3,65,24,118,106,33,12,32,14,65,255,1,113,12,1,11,32,0,40,2,16,32,0,40,2,4,106,33,12,32,0,47,1,40,11,33,2,32,15,32,39,75,4,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,3,11,32,5,40,2,160,9,33,3,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,3,40,2,8,32,3,40,2,4,106,32,0,77,13,0,32,3,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,144,2,32,1,65,128,8,35,1,65,235,6,106,32,6,65,144,2,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,2,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,5,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,12,32,15,106,65,127,32,2,65,255,255,3,113,27,33,8,2,64,2,64,2,64,32,15,32,39,73,4,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,3,77,13,0,32,4,40,2,56,32,3,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,160,2,32,1,65,128,8,35,1,65,206,6,106,32,6,65,160,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,127,35,1,65,148,12,106,34,2,32,5,40,0,128,10,34,4,69,13,0,26,32,2,32,4,65,1,113,13,0,26,32,2,32,4,45,0,44,65,192,0,113,69,13,0,26,32,2,32,4,65,48,106,32,4,40,2,36,27,11,34,12,40,2,24,33,4,2,64,2,64,2,64,2,127,35,1,65,148,12,106,34,2,32,9,13,0,26,32,2,32,26,45,0,44,65,192,0,113,69,13,0,26,32,2,32,18,32,26,40,2,36,27,11,34,25,40,2,24,34,2,65,25,79,4,64,32,2,32,4,71,13,2,32,12,40,2,0,33,12,32,25,40,2,0,33,25,12,1,11,32,2,32,4,71,13,1,11,32,12,32,25,32,2,16,248,1,69,13,1,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,3,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,3,77,13,0,32,4,40,2,56,32,3,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,224,2,32,1,65,128,8,35,1,65,252,5,106,32,6,65,224,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,2,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,5,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,64,2,64,2,127,2,64,2,64,2,64,32,11,4,64,32,0,65,16,113,69,13,1,35,1,65,196,3,106,12,4,11,35,1,65,196,3,106,32,0,47,1,44,34,2,65,32,113,13,3,26,32,0,47,1,40,65,255,255,3,71,13,1,35,1,65,226,7,106,12,3,11,32,0,65,32,113,69,13,1,35,1,65,142,8,106,12,2,11,35,1,65,142,8,106,32,2,65,128,4,113,13,1,26,32,2,65,24,113,69,13,0,35,1,65,208,8,106,12,1,11,32,5,40,2,220,10,34,12,32,5,40,2,192,10,34,7,79,13,1,32,5,40,2,188,10,33,4,3,64,32,15,32,4,32,12,65,24,108,106,34,2,40,2,20,79,4,64,32,7,32,12,65,1,106,34,12,71,13,1,12,3,11,11,32,2,40,2,16,32,8,79,13,1,35,1,65,219,8,106,11,33,3,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,7,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,11,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,7,40,2,8,32,7,40,2,4,106,32,4,77,13,0,32,7,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,180,2,32,6,32,3,54,2,176,2,32,1,65,128,8,35,1,65,138,7,106,32,6,65,176,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,6,32,3,54,2,148,3,32,6,32,0,54,2,144,3,32,6,2,127,2,64,32,0,65,1,113,4,64,32,14,65,255,1,113,33,12,12,1,11,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,34,12,65,254,255,3,73,13,0,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,1,11,2,64,2,64,32,5,40,2,160,9,34,17,40,2,24,34,2,32,16,77,4,64,32,17,40,2,44,32,17,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,9,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,4,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,18,4,127,32,2,32,18,65,1,116,106,33,7,65,0,33,8,3,64,32,2,47,1,0,32,12,70,13,4,32,2,65,2,106,33,2,32,8,65,1,106,34,8,32,18,71,13,0,11,32,7,5,32,2,11,33,11,65,0,33,2,32,4,65,1,106,34,4,32,9,71,13,0,11,12,2,11,32,17,40,2,40,32,17,40,2,4,32,16,108,65,1,116,106,32,12,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,17,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,32,6,32,6,41,2,144,3,55,3,216,2,32,5,32,16,32,6,65,216,2,106,32,6,65,232,2,106,16,78,33,2,32,5,40,2,96,33,4,2,64,32,2,69,4,64,32,4,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,4,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,4,40,2,8,32,4,40,2,4,106,32,0,77,13,0,32,4,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,12,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,4,40,2,8,32,4,40,2,4,106,32,12,77,13,0,32,4,40,2,56,32,12,65,2,116,106,40,2,0,33,3,11,32,6,32,3,54,2,212,2,32,6,32,2,54,2,208,2,32,1,65,128,8,35,1,65,145,5,106,32,6,65,208,2,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,2,64,32,4,69,4,64,32,5,40,2,140,10,69,13,1,11,32,5,40,2,160,9,33,7,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,1,113,4,127,32,14,65,255,1,113,5,32,0,47,1,40,11,65,255,255,3,113,34,4,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,7,40,2,8,32,7,40,2,4,106,32,4,77,13,0,32,7,40,2,56,32,4,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,192,2,32,1,65,128,8,35,1,65,185,6,106,32,6,65,192,2,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,46,32,0,65,1,113,13,8,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,32,6,32,6,40,2,148,3,54,2,252,2,32,6,32,6,40,2,144,3,34,0,54,2,248,2,32,0,13,9,12,7,11,2,64,32,5,40,2,244,9,34,1,32,5,40,2,248,9,34,3,65,4,116,106,34,0,65,16,107,40,2,0,34,2,65,1,113,13,0,3,64,32,2,40,2,36,34,8,69,13,1,32,0,65,4,107,40,2,0,33,4,32,5,32,3,65,1,106,34,7,32,5,40,2,252,9,34,0,75,4,127,32,1,65,8,32,0,65,1,116,34,0,32,7,32,0,32,7,75,27,34,0,32,0,65,8,77,27,34,0,65,4,116,35,4,40,2,0,17,1,0,33,1,32,5,32,0,54,2,252,9,32,5,32,1,54,2,244,9,32,2,40,2,36,33,8,32,5,40,2,248,9,34,3,65,1,106,5,32,7,11,54,2,248,9,32,2,32,8,65,3,116,107,41,2,0,33,56,32,1,32,3,65,4,116,106,34,0,32,4,54,2,12,32,0,65,0,54,2,8,32,0,32,56,55,2,0,32,5,40,2,244,9,34,1,32,5,40,2,248,9,34,3,65,4,116,106,34,0,65,16,107,40,2,0,34,2,65,1,113,69,13,0,11,11,32,21,16,79,12,5,11,2,64,32,5,40,2,244,9,34,3,32,5,40,2,248,9,34,8,65,4,116,106,34,2,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,11,69,13,0,32,2,65,4,107,40,2,0,33,4,32,8,65,1,106,34,12,32,5,40,2,252,9,34,2,75,4,64,32,3,65,8,32,2,65,1,116,34,2,32,12,32,2,32,12,75,27,34,2,32,2,65,8,77,27,34,2,65,4,116,35,4,40,2,0,17,1,0,33,3,32,5,32,2,54,2,252,9,32,5,32,3,54,2,244,9,32,5,40,2,248,9,34,8,65,1,106,33,12,32,7,40,2,36,33,11,11,32,5,32,12,54,2,248,9,32,7,32,11,65,3,116,107,41,2,0,33,56,32,3,32,8,65,4,116,106,34,2,32,4,54,2,12,32,2,65,0,54,2,8,32,2,32,56,55,2,0,12,3,11,32,21,16,79,32,5,32,19,16,80,26,32,5,40,2,132,9,40,2,0,32,17,106,40,2,0,47,1,0,33,16,12,2,11,32,8,32,39,77,13,0,32,5,40,2,244,9,34,3,32,5,40,2,248,9,34,8,65,4,116,106,34,2,65,16,107,40,2,0,34,7,65,1,113,13,0,32,7,40,2,36,34,11,69,13,0,32,2,65,4,107,40,2,0,33,4,32,8,65,1,106,34,12,32,5,40,2,252,9,34,2,75,4,64,32,3,65,8,32,2,65,1,116,34,2,32,12,32,2,32,12,75,27,34,2,32,2,65,8,77,27,34,2,65,4,116,35,4,40,2,0,17,1,0,33,3,32,5,32,2,54,2,252,9,32,5,32,3,54,2,244,9,32,5,40,2,248,9,34,8,65,1,106,33,12,32,7,40,2,36,33,11,11,32,5,32,12,54,2,248,9,32,7,32,11,65,3,116,107,41,2,0,33,56,32,3,32,8,65,4,116,106,34,2,32,4,54,2,12,32,2,65,0,54,2,8,32,2,32,56,55,2,0,12,1,11,32,21,16,79,11,32,5,40,2,248,9,34,2,13,0,11,32,6,32,0,54,2,144,3,11,32,6,66,0,55,3,248,2,11,2,64,32,5,40,2,224,9,34,7,69,4,64,65,0,33,0,12,1,11,65,0,33,0,32,5,40,2,240,9,32,39,71,13,0,2,127,35,1,65,148,12,106,34,0,32,5,40,0,232,9,34,1,69,13,0,26,32,0,32,1,65,1,113,13,0,26,32,0,32,1,45,0,44,65,192,0,113,69,13,0,26,32,0,32,1,65,48,106,32,1,40,2,36,27,11,34,3,40,2,24,33,2,2,64,2,127,35,1,65,148,12,106,34,0,32,26,69,13,0,26,32,0,32,26,65,1,113,13,0,26,32,0,32,26,45,0,44,65,192,0,113,69,13,0,26,32,0,32,26,65,48,106,32,26,40,2,36,27,11,34,1,40,2,24,34,4,65,25,79,4,64,65,0,33,0,32,2,32,4,71,13,2,32,3,40,2,0,33,3,32,1,40,2,0,33,1,12,1,11,65,0,33,0,32,2,32,4,71,13,1,11,32,3,32,1,32,4,16,248,1,13,0,32,5,65,224,9,106,33,8,32,5,40,2,160,9,33,9,32,6,2,127,2,64,32,7,65,1,113,4,64,32,7,65,128,254,3,113,65,8,118,33,1,12,1,11,32,7,47,1,40,34,1,65,254,255,3,73,13,0,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,1,11,2,64,2,64,32,9,40,2,24,34,0,32,16,77,4,64,32,9,40,2,44,32,9,40,2,48,32,16,32,0,107,65,2,116,106,40,2,0,65,1,116,106,34,0,47,1,0,34,4,69,4,64,65,0,33,2,12,3,11,32,0,65,2,106,33,12,65,0,33,11,3,64,32,12,65,4,106,33,2,32,12,47,1,2,34,7,4,127,32,2,32,7,65,1,116,106,33,0,65,0,33,3,3,64,32,2,47,1,0,32,1,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,7,71,13,0,11,32,0,5,32,2,11,33,12,65,0,33,2,32,11,65,1,106,34,11,32,4,71,13,0,11,12,2,11,32,9,40,2,40,32,9,40,2,4,32,16,108,65,1,116,106,32,1,65,1,116,106,47,1,0,33,2,12,1,11,32,12,47,1,0,33,2,11,32,6,32,9,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,0,45,0,0,54,2,236,2,32,6,32,0,45,0,1,58,0,240,2,32,0,65,8,106,11,54,2,232,2,32,6,32,8,41,2,0,55,3,136,2,65,0,33,46,32,5,32,16,32,6,65,136,2,106,32,6,65,232,2,106,16,78,69,4,64,65,0,33,0,65,0,33,3,12,2,11,32,8,40,0,0,34,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,32,8,40,2,0,33,0,11,32,5,40,2,228,9,33,3,12,1,11,65,0,33,3,65,0,33,46,11,32,6,32,3,54,2,252,2,32,6,32,0,54,2,248,2,11,32,5,65,208,10,106,33,28,32,5,65,232,9,106,33,34,32,5,65,224,9,106,33,35,32,5,65,136,9,106,33,32,32,5,65,132,1,106,33,1,32,0,65,8,118,33,18,32,0,69,33,2,32,26,69,32,26,114,65,1,113,33,22,32,19,65,5,116,33,47,32,5,65,64,107,33,50,32,5,65,152,10,106,33,40,2,64,3,64,32,16,69,33,17,32,16,65,6,108,33,51,32,16,65,2,116,33,23,2,64,32,6,2,127,2,64,3,64,2,64,2,64,32,2,65,1,113,4,64,2,64,2,64,32,5,40,2,160,9,34,0,40,2,88,32,23,32,51,32,0,40,2,0,65,15,73,27,106,34,0,47,1,0,34,4,65,255,255,3,70,4,64,2,64,2,64,32,5,40,2,96,34,0,69,4,64,32,5,40,2,140,10,13,1,65,0,33,2,12,4,11,32,1,35,1,65,251,9,106,34,2,41,0,0,55,0,0,32,1,32,2,41,0,30,55,0,30,32,1,32,2,41,0,24,55,0,24,32,1,32,2,41,0,16,55,0,16,32,1,32,2,41,0,8,55,0,8,65,0,33,2,32,5,40,2,92,65,0,32,1,32,0,17,3,0,32,5,40,2,140,10,69,13,3,12,1,11,32,1,35,1,65,251,9,106,34,0,41,0,0,55,0,0,32,1,32,0,41,0,30,55,0,30,32,1,32,0,41,0,24,55,0,24,32,1,32,0,41,0,16,55,0,16,32,1,32,0,41,0,8,55,0,8,11,32,1,33,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,69,13,4,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,0,47,1,2,33,25,32,5,40,2,132,9,40,2,0,32,47,106,34,0,40,2,12,33,36,32,0,40,2,0,34,0,41,2,8,33,58,32,0,40,2,4,34,7,33,0,32,5,40,2,32,32,7,71,4,64,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,58,55,2,36,32,5,32,7,54,2,32,32,5,40,2,68,33,9,2,64,2,127,32,5,40,2,100,34,11,4,64,3,64,2,64,32,9,32,2,65,24,108,106,34,8,40,2,20,34,0,32,7,77,13,0,32,0,32,8,40,2,16,34,3,77,13,0,32,3,32,7,34,0,79,4,64,32,5,32,8,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,11,71,13,0,11,11,32,5,32,11,54,2,104,32,9,32,11,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,32,36,65,48,106,33,52,65,0,33,11,32,36,69,32,36,114,65,1,113,33,15,65,0,33,9,65,0,33,42,65,0,33,30,65,0,33,48,65,0,33,43,65,0,33,44,65,0,33,27,65,0,33,14,65,0,33,49,32,17,33,18,2,127,2,64,2,64,2,64,2,127,3,64,2,64,32,5,40,2,96,33,2,32,5,40,2,40,33,53,32,5,40,2,36,33,29,2,64,32,25,4,127,32,5,41,2,124,33,57,2,64,32,2,69,4,64,32,5,40,2,140,10,69,13,1,11,32,6,32,53,54,2,248,1,32,6,32,29,54,2,244,1,32,6,32,25,54,2,240,1,32,1,65,128,8,35,1,65,231,0,106,32,6,65,240,1,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,16,44,65,0,33,2,32,5,40,2,136,10,2,127,32,36,69,4,64,65,0,33,12,65,0,12,1,11,32,52,32,36,40,2,72,34,12,65,25,73,13,0,26,32,52,40,2,0,11,32,12,32,5,40,2,160,9,40,2,128,1,17,3,0,32,5,40,2,136,10,32,5,32,5,40,2,160,9,34,3,40,2,104,32,3,40,2,16,32,25,108,106,32,3,40,2,120,17,4,0,33,3,32,5,45,0,224,10,13,9,2,64,32,5,40,2,56,34,2,13,0,32,50,40,2,0,69,13,0,2,64,32,5,40,2,104,34,2,32,5,40,2,100,70,13,0,32,2,69,13,0,32,5,40,2,32,32,5,40,2,68,32,2,65,24,108,106,34,8,40,2,16,71,13,0,32,8,65,4,107,40,2,0,33,2,32,5,32,8,65,16,107,41,2,0,55,2,60,32,5,32,2,54,2,56,12,1,11,32,5,32,5,41,2,32,34,56,55,2,56,32,5,32,5,40,2,40,54,2,64,32,56,167,33,2,11,32,5,40,2,44,32,2,75,4,64,32,5,32,5,41,2,56,55,2,44,32,5,32,5,40,2,64,54,2,52,11,32,5,40,2,32,65,5,65,1,32,5,40,2,0,65,127,70,27,106,34,2,32,11,32,2,32,11,75,27,33,11,2,64,32,3,69,13,0,32,5,40,2,136,10,32,1,32,5,40,2,160,9,40,2,124,17,1,0,33,27,32,27,2,127,35,1,65,148,12,106,34,2,32,15,13,0,26,32,2,32,36,45,0,44,65,192,0,113,69,13,0,26,32,2,32,52,32,36,40,2,36,27,11,34,2,40,2,24,71,4,64,65,1,33,3,12,4,11,32,27,65,25,79,4,127,32,2,40,2,0,5,32,2,11,32,1,32,27,16,248,1,34,2,65,0,71,33,3,32,5,40,2,56,32,0,75,13,3,32,2,13,3,32,5,40,2,160,9,34,20,32,16,32,20,40,2,108,32,5,47,1,4,65,1,116,106,47,1,0,34,21,16,25,33,12,2,64,32,18,65,1,113,13,0,2,64,32,5,40,2,132,9,40,2,0,32,47,106,34,8,40,2,0,34,2,40,2,152,1,69,13,0,3,64,32,2,47,1,144,1,69,13,2,32,2,40,2,20,34,41,69,13,2,2,127,32,41,65,1,113,34,3,4,64,32,2,45,0,27,32,2,47,1,24,32,2,45,0,26,65,16,116,114,65,128,128,252,7,113,65,16,118,106,12,1,11,32,41,40,2,16,32,41,40,2,4,106,11,13,1,32,2,40,2,156,1,32,8,40,2,8,77,13,2,2,64,32,3,4,64,32,41,65,32,113,69,13,1,12,4,11,32,41,45,0,45,65,2,113,13,3,32,41,40,2,32,13,3,11,32,2,40,2,16,34,2,13,0,11,12,1,11,32,12,32,16,70,13,0,65,0,33,3,12,4,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,21,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,20,40,2,8,32,20,40,2,4,106,32,21,77,13,0,32,20,40,2,56,32,21,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,224,1,32,1,65,128,8,35,1,65,214,5,106,32,6,65,224,1,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,40,2,32,32,0,71,4,64,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,0,54,2,32,32,5,32,29,173,32,53,173,66,32,134,132,55,2,36,32,5,40,2,68,33,21,2,64,2,127,32,5,40,2,100,34,20,4,64,3,64,2,64,32,21,32,2,65,24,108,106,34,12,40,2,20,34,8,32,0,77,13,0,32,8,32,12,40,2,16,34,3,77,13,0,32,0,32,3,77,4,64,32,5,32,12,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,20,71,13,0,11,11,32,5,32,20,54,2,104,32,21,32,20,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,32,5,32,57,55,2,124,32,5,40,2,96,5,32,2,11,69,4,64,32,5,40,2,140,10,69,13,1,11,32,6,32,53,54,2,216,1,32,6,32,29,54,2,212,1,32,6,32,4,65,255,255,3,113,54,2,208,1,32,1,65,128,8,35,1,65,144,1,106,32,6,65,208,1,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,5,16,44,32,5,32,4,65,255,255,3,113,32,5,40,2,160,9,40,2,92,17,1,0,33,8,2,64,32,5,40,2,56,34,2,13,0,32,50,40,2,0,69,13,0,2,64,32,5,40,2,104,34,0,32,5,40,2,100,70,13,0,32,0,69,13,0,32,5,40,2,32,32,5,40,2,68,32,0,65,24,108,106,34,0,40,2,16,71,13,0,32,0,65,4,107,40,2,0,33,2,32,5,32,0,65,16,107,41,2,0,55,2,60,32,5,32,2,54,2,56,12,1,11,32,5,32,5,41,2,32,34,56,55,2,56,32,5,32,5,40,2,40,54,2,64,32,56,167,33,2,11,32,5,40,2,44,32,2,75,4,64,32,5,32,5,41,2,56,55,2,44,32,5,32,5,40,2,64,54,2,52,11,32,5,40,2,32,34,0,65,5,65,1,32,5,40,2,0,65,127,70,27,106,34,3,32,11,32,3,32,11,75,27,33,11,2,64,2,64,32,8,69,4,64,32,18,65,1,113,69,4,64,32,0,32,7,70,33,2,32,5,40,2,160,9,40,2,88,34,0,47,1,2,33,25,32,0,47,1,0,33,4,65,1,33,18,32,7,33,0,32,2,13,5,65,0,33,2,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,58,55,2,36,32,5,32,0,54,2,32,32,5,40,2,68,33,12,2,64,2,127,32,5,40,2,100,34,21,4,64,3,64,2,64,32,12,32,2,65,24,108,106,34,8,40,2,20,34,0,32,7,77,13,0,32,0,32,8,40,2,16,34,3,77,13,0,32,3,32,7,34,0,79,4,64,32,5,32,8,41,2,0,55,2,36,32,5,32,3,54,2,32,32,3,33,0,11,32,5,32,2,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,0,32,5,40,2,108,34,3,73,13,3,26,65,0,34,2,32,0,32,5,40,2,112,32,3,106,79,13,3,26,12,4,11,32,2,65,1,106,34,2,32,21,71,13,0,11,11,32,5,32,21,54,2,104,32,12,32,21,65,24,108,106,34,2,65,4,107,40,2,0,33,0,32,5,32,2,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,12,5,11,32,49,13,2,2,64,32,5,40,2,96,34,2,69,4,64,32,5,40,2,140,10,69,13,3,32,1,35,1,34,2,65,235,7,106,34,0,41,0,0,55,0,0,32,1,32,0,40,0,24,54,0,24,32,1,32,2,41,0,251,7,55,0,16,32,1,32,2,41,0,243,7,55,0,8,12,1,11,32,1,35,1,34,3,65,235,7,106,34,0,41,0,0,55,0,0,32,1,32,0,40,0,24,54,0,24,32,1,32,3,41,0,251,7,55,0,16,32,1,32,3,41,0,243,7,55,0,8,32,5,40,2,92,65,0,32,1,32,2,17,3,0,32,5,40,2,140,10,69,13,2,11,32,1,33,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,65,0,33,12,65,0,33,25,65,0,32,49,69,13,4,26,12,5,11,32,5,40,2,32,33,0,32,5,40,2,0,33,14,32,5,40,2,44,34,9,33,48,32,5,40,2,52,34,42,33,43,32,5,40,2,48,34,30,33,44,11,32,0,32,9,70,4,64,32,5,32,5,40,2,24,17,0,0,4,64,32,5,65,255,255,3,59,1,4,32,0,33,9,12,5,11,32,5,65,0,32,5,40,2,8,17,5,0,32,5,40,2,32,33,0,11,32,5,40,2,40,33,43,32,5,40,2,36,33,44,65,1,33,49,32,0,33,9,65,1,33,18,12,1,11,11,32,49,13,1,65,128,1,65,0,32,3,27,33,25,32,5,40,0,56,33,2,32,5,45,0,120,33,12,65,1,11,33,15,32,5,47,1,4,33,4,32,5,40,0,48,33,18,32,5,40,0,52,33,9,32,6,32,5,40,0,44,34,0,32,7,107,34,3,65,0,32,0,32,3,79,27,54,2,144,3,32,6,32,9,32,9,32,58,66,32,136,167,107,34,3,65,0,32,3,32,9,77,27,32,18,32,58,167,34,3,75,27,173,66,32,134,32,18,32,3,107,34,3,65,0,32,3,32,18,77,27,173,132,55,2,148,3,32,50,40,0,0,33,8,32,5,40,0,60,33,7,32,6,32,2,32,0,107,34,3,65,0,32,2,32,3,79,27,54,2,128,3,32,6,32,7,32,18,107,34,3,65,0,32,3,32,7,77,27,173,32,8,32,8,32,9,107,34,3,65,0,32,3,32,8,77,27,32,7,32,18,75,27,173,66,32,134,132,55,2,132,3,32,11,32,2,107,33,7,32,5,40,2,160,9,33,3,32,15,69,13,1,32,3,40,2,108,32,4,65,1,116,106,47,1,0,33,4,65,0,33,11,12,2,11,32,44,32,30,107,34,0,65,0,32,0,32,44,77,27,173,32,43,32,43,32,42,107,34,0,65,0,32,0,32,43,77,27,32,30,32,44,73,27,173,66,32,134,132,33,57,32,42,32,42,32,58,66,32,136,167,107,34,0,65,0,32,0,32,42,77,27,32,30,32,58,167,34,0,75,27,173,66,32,134,32,30,32,0,107,34,0,65,0,32,0,32,30,77,27,173,132,33,56,32,9,32,48,107,34,0,65,0,32,0,32,9,77,27,33,8,32,48,32,7,107,34,0,65,0,32,0,32,48,77,27,33,4,32,11,32,9,107,33,3,2,127,32,5,40,2,140,9,34,0,4,64,32,5,32,0,65,1,107,34,0,54,2,140,9,32,5,40,2,136,9,32,0,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,0,32,6,66,0,55,3,152,3,32,6,66,0,55,3,160,3,65,0,33,2,32,6,65,0,54,2,168,3,32,6,65,1,54,2,212,3,32,6,32,4,54,2,208,3,32,6,32,56,55,3,128,3,32,6,32,8,54,2,200,3,32,6,32,57,55,3,216,3,32,6,32,3,54,2,196,3,32,6,65,0,54,2,192,3,32,6,65,0,54,2,188,3,32,6,65,255,255,3,59,1,184,3,32,6,32,16,59,1,182,3,32,6,65,3,59,1,180,3,32,6,65,0,59,1,178,3,32,6,66,0,55,3,144,3,32,0,32,6,40,2,212,3,54,2,0,32,0,32,6,40,2,208,3,54,2,4,32,0,32,6,41,3,128,3,55,2,8,32,0,32,6,40,2,200,3,54,2,16,32,0,32,6,41,3,216,3,55,2,20,32,0,32,6,40,2,196,3,54,2,28,32,0,32,6,40,2,192,3,54,2,32,32,0,32,6,40,2,188,3,54,2,36,32,0,32,6,47,1,184,3,59,1,40,32,0,32,6,47,1,182,3,59,1,42,32,0,32,6,47,1,180,3,34,3,59,1,44,32,0,32,6,47,1,178,3,59,1,46,32,0,32,6,40,2,168,3,54,2,72,32,0,65,64,107,32,6,41,3,160,3,55,2,0,32,0,32,6,41,3,152,3,55,2,56,32,0,32,6,41,3,144,3,55,2,48,32,0,32,14,54,2,48,32,0,32,3,65,24,114,59,1,44,65,0,33,4,65,0,33,12,32,0,33,7,32,0,65,8,118,12,2,11,65,0,33,11,32,4,69,13,0,32,4,32,3,47,1,100,71,13,0,32,5,40,2,32,32,0,71,4,64,65,0,33,3,32,5,65,0,58,0,128,1,32,5,65,0,54,2,124,32,5,32,0,54,2,32,32,5,32,5,41,0,48,55,2,36,32,5,40,2,68,33,21,2,64,2,127,32,5,40,2,100,34,14,4,64,3,64,2,64,32,21,32,3,65,24,108,106,34,18,40,2,20,34,9,32,0,77,13,0,32,9,32,18,40,2,16,34,8,77,13,0,32,0,32,8,77,4,64,32,5,32,18,41,2,0,55,2,36,32,5,32,8,54,2,32,32,8,33,0,11,32,5,32,3,54,2,104,32,5,40,2,72,69,4,64,65,0,33,3,12,5,11,65,0,32,0,32,5,40,2,108,34,8,73,13,3,26,65,0,34,3,32,0,32,5,40,2,112,32,8,106,79,13,3,26,12,4,11,32,3,65,1,106,34,3,32,14,71,13,0,11,11,32,5,32,14,54,2,104,32,21,32,14,65,24,108,106,34,3,65,4,107,40,2,0,33,0,32,5,32,3,65,16,107,41,2,0,55,2,36,32,5,32,0,54,2,32,65,1,11,33,3,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,3,54,2,116,11,32,5,16,44,32,5,65,0,32,5,40,2,160,9,40,2,96,17,1,0,69,4,64,32,5,40,2,160,9,33,3,12,1,11,32,5,40,2,160,9,33,3,65,1,33,11,32,5,40,2,56,32,2,71,13,0,32,5,47,1,4,33,0,2,64,2,64,32,3,40,2,24,34,2,32,16,77,4,64,32,3,40,2,44,32,3,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,14,69,13,2,32,2,65,2,106,33,18,65,0,33,8,3,64,32,18,65,4,106,33,2,32,18,47,1,2,34,20,4,127,32,2,32,20,65,1,116,106,33,21,65,0,33,9,3,64,32,2,47,1,0,32,0,70,13,4,32,2,65,2,106,33,2,32,9,65,1,106,34,9,32,20,71,13,0,11,32,21,5,32,2,11,33,18,32,8,65,1,106,34,8,32,14,71,13,0,11,12,2,11,32,3,40,2,40,32,3,40,2,4,32,16,108,65,1,116,106,32,0,65,1,116,106,33,18,11,32,18,47,1,0,69,13,0,32,0,33,4,12,1,11,32,3,40,2,0,65,15,73,13,0,32,3,40,2,88,32,51,106,47,1,4,34,2,69,13,0,32,3,47,1,144,1,34,8,69,13,0,32,8,32,2,32,8,108,34,2,106,33,18,32,3,40,2,140,1,33,9,3,64,32,0,32,9,32,2,65,1,116,106,47,1,0,34,8,70,4,64,32,0,33,4,12,2,11,32,8,69,13,1,32,2,65,1,106,34,2,32,18,73,13,0,11,11,32,6,32,6,40,2,152,3,54,2,200,1,32,6,32,6,40,2,136,3,54,2,184,1,32,6,32,6,41,2,144,3,55,3,192,1,32,6,32,6,41,2,128,3,55,3,176,1,32,7,33,0,32,12,65,1,113,33,12,65,0,33,18,35,0,65,224,0,107,34,14,36,0,65,1,33,7,65,1,33,9,2,64,2,64,2,64,2,64,32,4,65,255,255,3,113,34,21,65,254,255,3,107,14,2,1,2,0,11,32,3,40,2,72,32,21,65,3,108,106,34,2,45,0,1,33,9,32,2,45,0,0,33,7,32,21,69,33,18,32,21,65,255,1,75,13,1,32,15,13,1,32,0,65,15,75,13,1,32,6,40,2,192,1,34,8,65,254,1,75,13,1,32,6,40,2,196,1,34,4,65,15,75,13,1,32,6,40,2,200,1,34,3,65,254,1,75,13,1,32,6,40,2,176,1,34,2,65,254,1,75,13,1,32,6,40,2,180,1,13,1,32,6,40,2,184,1,65,254,1,75,13,1,32,6,32,2,58,0,223,3,32,6,32,8,58,0,222,3,32,6,32,3,58,0,220,3,32,6,32,16,59,1,218,3,32,6,32,21,58,0,217,3,32,6,32,4,65,15,113,32,0,65,4,116,114,58,0,221,3,32,6,32,9,65,2,116,65,0,65,8,32,21,27,106,65,192,0,65,0,32,11,27,106,32,7,65,1,116,106,65,1,114,58,0,216,3,12,2,11,65,0,33,7,65,0,33,9,11,2,127,32,32,40,2,4,34,2,4,64,32,32,32,2,65,1,107,34,2,54,2,4,32,32,40,2,0,32,2,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,2,32,14,65,1,54,2,92,32,14,32,6,40,2,200,1,54,2,88,32,14,32,6,41,2,192,1,55,3,80,32,14,32,6,40,2,184,1,54,2,72,32,6,41,2,176,1,33,56,32,14,66,0,55,3,16,32,14,66,0,55,3,24,32,14,65,0,54,2,32,32,14,32,56,55,3,64,32,14,32,0,54,2,60,32,14,65,0,54,2,56,32,14,65,0,54,2,52,32,14,32,21,59,1,48,32,14,32,16,59,1,46,32,14,65,0,59,1,42,32,14,66,0,55,3,8,32,14,32,9,65,1,116,32,7,106,65,255,1,113,65,128,2,65,0,32,12,27,65,192,0,65,0,32,15,27,114,65,128,8,65,0,32,11,27,114,65,4,65,0,32,18,27,114,114,59,1,44,32,2,32,14,40,2,92,54,2,0,32,2,32,14,40,2,88,54,2,12,32,2,32,14,41,3,80,55,2,4,32,2,32,14,40,2,72,54,2,24,32,2,32,14,41,3,64,55,2,16,32,2,32,14,40,2,60,54,2,28,32,2,32,14,40,2,56,54,2,32,32,2,32,14,40,2,52,54,2,36,32,2,32,14,47,1,48,59,1,40,32,2,32,14,47,1,46,59,1,42,32,2,32,14,47,1,44,59,1,44,32,2,32,14,47,1,42,59,1,46,32,2,32,14,40,2,32,54,2,72,32,2,65,64,107,32,14,41,3,24,55,2,0,32,2,32,14,41,3,16,55,2,56,32,2,32,14,41,3,8,55,2,48,32,6,65,0,54,2,220,3,32,6,32,2,54,2,216,3,11,32,14,65,224,0,106,36,0,32,6,41,3,216,3,34,56,66,48,136,167,33,3,32,6,40,2,220,3,33,2,32,6,40,2,216,3,33,0,32,56,167,33,7,32,15,4,64,32,7,32,27,54,2,72,32,7,65,48,106,33,8,32,27,65,25,79,4,64,32,8,32,27,35,5,40,2,0,17,0,0,34,8,54,2,0,11,32,27,4,64,32,8,32,1,32,27,252,10,0,0,11,32,7,32,7,47,1,44,65,255,254,3,113,32,25,114,59,1,44,11,32,56,66,56,136,167,33,12,32,3,65,255,1,113,33,4,32,56,66,8,136,167,11,33,3,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,5,40,2,160,9,33,8,35,1,65,171,10,106,33,11,2,64,2,64,2,64,32,7,65,1,113,4,127,32,3,65,255,1,113,5,32,7,47,1,40,11,65,255,255,3,113,34,3,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,11,12,1,11,32,8,40,2,56,32,3,65,2,116,106,40,2,0,33,11,11,32,1,35,1,65,201,10,106,34,3,41,0,0,55,0,0,32,1,32,3,41,0,13,55,0,13,32,1,32,3,41,0,8,55,0,8,65,0,33,8,65,20,33,3,2,64,32,11,45,0,0,34,9,69,13,0,3,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,32,9,65,255,1,113,34,18,65,9,107,14,5,0,1,2,3,4,5,11,32,1,32,3,106,65,220,232,1,59,0,0,32,3,65,2,106,12,5,11,32,1,32,3,106,65,220,220,1,59,0,0,32,3,65,2,106,12,4,11,32,1,32,3,106,65,220,236,1,59,0,0,32,3,65,2,106,12,3,11,32,1,32,3,106,65,220,204,1,59,0,0,32,3,65,2,106,12,2,11,32,1,32,3,106,65,220,228,1,59,0,0,32,3,65,2,106,12,1,11,32,18,65,220,0,70,4,64,32,1,32,3,106,65,220,184,1,59,0,0,32,3,65,2,106,12,1,11,32,1,32,3,106,32,9,58,0,0,32,3,65,1,106,11,33,3,32,11,32,8,65,1,106,34,8,106,45,0,0,34,9,69,13,1,32,3,65,128,8,72,13,0,11,11,65,128,8,32,3,107,33,8,32,1,32,3,106,33,3,32,6,32,7,65,1,113,4,127,32,4,32,12,106,5,32,7,40,2,16,32,7,40,2,4,106,11,54,2,160,1,32,3,32,8,35,1,65,159,2,106,32,6,65,160,1,106,16,249,1,26,32,5,40,2,96,34,3,4,64,32,5,40,2,92,65,0,32,1,32,3,17,3,0,11,32,1,33,9,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,9,45,0,0,34,3,65,34,70,13,0,32,3,65,220,0,70,13,0,32,3,69,13,4,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,9,45,0,0,33,3,11,32,3,192,32,5,40,2,140,10,16,241,1,32,9,65,1,106,33,9,12,0,11,0,11,65,0,33,0,11,32,6,32,2,54,2,252,2,32,6,32,0,54,2,248,2,32,5,45,0,224,10,13,1,32,6,2,127,2,64,32,0,4,64,32,0,65,1,113,69,4,64,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,11,32,22,69,4,64,32,26,32,26,40,2,0,65,1,106,54,2,0,32,26,40,2,0,26,11,32,35,40,2,0,4,64,32,6,32,35,41,2,0,55,3,152,1,32,32,32,6,65,152,1,106,16,60,11,32,34,40,2,0,4,64,32,6,32,34,41,2,0,55,3,144,1,32,32,32,6,65,144,1,106,16,60,11,32,5,32,39,54,2,240,9,32,5,32,2,54,2,228,9,32,5,32,0,54,2,224,9,32,5,32,45,54,2,236,9,32,5,32,26,54,2,232,9,32,5,40,2,160,9,33,15,32,6,45,0,248,2,34,0,65,1,113,4,64,32,6,45,0,249,2,34,18,33,9,12,2,11,32,6,40,2,248,2,34,0,65,8,118,33,18,32,0,47,1,40,34,9,65,254,255,3,73,13,1,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,2,11,32,0,65,8,118,33,18,2,64,2,64,32,5,40,2,160,9,34,9,40,2,24,34,2,32,16,77,4,64,32,9,40,2,44,32,9,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,7,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,12,65,0,33,11,3,64,32,12,65,4,106,33,2,32,12,47,1,2,34,8,4,127,32,2,32,8,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,69,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,8,71,13,0,11,32,4,5,32,2,11,33,12,65,0,33,2,32,11,65,1,106,34,11,32,7,71,13,0,11,12,2,11,32,9,40,2,40,32,9,40,2,4,32,16,108,65,1,116,106,47,1,0,33,2,12,1,11,32,12,47,1,0,33,2,11,32,6,32,9,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,12,1,11,2,64,2,64,32,15,40,2,24,34,2,32,16,77,4,64,32,15,40,2,44,32,15,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,8,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,12,4,127,32,2,32,12,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,12,71,13,0,11,32,4,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,8,71,13,0,11,12,2,11,32,15,40,2,40,32,15,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,15,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,11,32,5,32,39,54,2,212,10,32,5,32,5,45,0,226,10,58,0,216,10,32,5,32,5,40,2,172,10,65,1,106,34,2,65,0,32,2,65,227,0,77,27,34,2,54,2,172,10,32,2,13,1,2,64,32,5,40,2,176,10,34,2,4,64,32,2,40,2,0,13,1,11,2,64,32,5,41,3,144,10,80,4,64,32,40,40,2,0,69,13,1,11,32,6,65,144,3,106,16,237,1,32,6,41,3,144,3,34,57,32,5,41,3,144,10,34,56,85,13,1,32,56,32,57,85,13,0,32,6,40,2,152,3,32,40,40,2,0,74,13,1,11,32,5,40,2,204,10,34,2,69,13,2,32,28,32,2,17,0,0,69,13,2,11,32,6,40,2,248,2,69,13,0,32,6,32,6,41,3,248,2,55,3,136,1,32,32,32,6,65,136,1,106,16,60,11,65,0,33,2,12,6,11,2,64,32,6,40,2,236,2,34,15,69,13,0,32,6,40,2,248,2,34,0,65,8,118,33,18,65,0,33,3,65,127,33,12,32,6,40,2,232,2,33,7,65,0,33,9,3,64,32,7,32,9,65,3,116,106,34,2,46,1,4,33,21,32,2,47,1,2,33,8,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,2,45,0,0,14,4,0,1,2,3,6,11,32,21,65,128,2,113,13,5,32,5,40,2,96,33,3,32,21,65,1,113,4,64,2,64,32,3,69,4,64,32,16,33,8,32,5,40,2,140,10,69,13,14,32,1,35,1,65,239,9,106,34,2,41,0,0,55,0,0,32,1,32,2,40,0,8,54,0,8,12,1,11,32,1,35,1,65,239,9,106,34,2,41,0,0,55,0,0,32,1,32,2,40,0,8,54,0,8,32,5,40,2,92,65,0,32,1,32,3,17,3,0,32,16,33,8,32,5,40,2,140,10,69,13,13,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,32,16,33,8,12,15,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,3,69,4,64,32,5,40,2,140,10,69,13,12,11,32,6,32,8,54,2,96,32,1,65,128,8,35,1,65,169,2,106,32,6,65,224,0,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,5,40,2,140,10,69,13,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,69,13,14,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,2,47,1,6,33,4,32,2,45,0,1,33,11,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,4,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,8,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,5,40,2,160,9,34,3,40,2,8,32,3,40,2,4,106,32,8,77,13,0,32,3,40,2,56,32,8,65,2,116,106,40,2,0,33,2,11,32,6,32,11,54,2,116,32,6,32,2,54,2,112,32,1,65,128,8,35,1,65,29,106,32,6,65,240,0,106,16,249,1,26,32,5,40,2,96,34,2,4,64,32,5,40,2,92,65,0,32,1,32,2,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,3,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,6,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,2,64,32,5,40,2,96,34,2,69,4,64,32,5,40,2,140,10,69,13,3,32,1,35,1,34,0,40,0,130,3,54,0,0,32,1,32,0,40,0,133,3,54,0,3,12,1,11,32,1,35,1,34,0,40,0,130,3,54,0,0,32,1,32,0,40,0,133,3,54,0,3,32,5,40,2,92,65,0,32,1,32,2,17,3,0,32,5,40,2,140,10,69,13,2,11,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,65,1,33,2,2,64,32,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,5,32,6,65,248,2,106,65,0,32,5,65,244,9,106,16,76,11,32,6,32,6,41,3,248,2,55,3,128,1,32,5,32,19,32,6,65,128,1,106,16,77,32,46,69,13,10,32,5,65,244,9,106,16,79,12,10,11,32,6,32,6,41,3,248,2,55,3,120,32,5,32,19,32,6,65,248,0,106,16,81,65,1,33,2,12,9,11,65,1,33,3,32,12,32,5,32,19,32,8,32,11,32,21,32,4,32,15,65,1,71,32,0,69,16,82,34,2,32,2,65,127,70,27,33,12,11,32,9,65,1,106,34,9,32,15,71,13,0,11,32,12,65,127,71,4,64,32,5,40,2,132,9,32,12,32,19,16,83,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,32,6,40,2,248,2,34,0,65,8,118,33,18,32,5,40,2,132,9,40,2,0,32,47,106,40,2,0,47,1,0,33,16,65,1,33,2,32,0,69,13,6,32,5,40,2,160,9,33,17,32,0,65,1,113,4,64,32,18,65,255,1,113,33,9,12,4,11,32,0,65,196,0,65,40,32,0,40,2,36,27,106,47,1,0,34,9,65,254,255,3,73,13,3,32,6,65,0,58,0,240,2,32,6,65,0,54,2,236,2,65,0,12,4,11,32,3,65,1,113,69,13,0,32,6,40,2,248,2,4,64,32,6,32,6,41,3,248,2,55,3,48,32,32,32,6,65,48,106,16,60,11,32,5,40,2,132,9,40,2,0,32,19,65,5,116,106,65,2,54,2,28,65,1,33,2,12,6,11,2,64,2,64,2,64,32,0,65,1,113,34,21,4,64,65,1,33,2,32,0,65,192,0,113,13,1,32,0,33,4,12,3,11,32,6,40,2,248,2,34,4,65,8,118,33,18,65,0,33,2,32,4,45,0,45,65,4,113,69,13,2,32,4,47,1,40,34,8,32,5,40,2,160,9,34,12,47,1,100,34,9,71,13,1,12,2,11,32,5,40,2,160,9,34,12,47,1,100,34,9,32,18,65,255,1,113,70,4,64,32,0,33,4,12,2,11,32,18,65,255,1,113,33,8,32,0,33,4,11,2,64,32,12,40,2,0,65,15,73,13,0,32,12,40,2,88,32,51,106,47,1,4,34,2,69,13,0,32,12,47,1,144,1,34,3,69,13,0,32,3,32,2,32,3,108,34,2,106,33,11,32,12,40,2,140,1,33,7,3,64,32,8,32,7,32,2,65,1,116,106,47,1,0,34,3,70,4,64,32,0,33,2,12,3,11,32,3,69,13,1,32,2,65,1,106,34,2,32,11,73,13,0,11,11,32,9,65,254,255,3,79,4,64,32,6,65,0,58,0,240,2,32,6,66,0,55,3,232,2,32,0,33,2,12,1,11,2,64,2,64,32,12,40,2,24,34,2,32,16,77,4,64,32,12,40,2,44,32,12,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,15,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,14,4,127,32,2,32,14,65,1,116,106,33,8,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,14,71,13,0,11,32,8,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,15,71,13,0,11,12,2,11,32,12,40,2,40,32,12,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,12,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,7,45,0,0,34,3,54,2,236,2,32,7,45,0,1,33,2,32,6,32,7,65,8,106,54,2,232,2,32,6,32,2,58,0,240,2,32,3,69,4,64,32,0,33,2,12,1,11,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,21,4,127,32,18,65,255,1,113,5,32,6,40,2,248,2,47,1,40,11,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,12,40,2,8,32,12,40,2,4,106,32,0,77,13,0,32,12,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,35,1,65,171,10,106,33,3,2,64,2,64,2,64,32,9,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,3,12,1,11,65,0,33,3,32,12,40,2,8,32,12,40,2,4,106,32,9,77,13,0,32,12,40,2,56,32,9,65,2,116,106,40,2,0,33,3,11,32,6,32,3,54,2,36,32,6,32,2,54,2,32,32,1,65,128,8,35,1,65,208,3,106,32,6,65,32,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,1,33,3,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,3,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,3,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,3,65,1,106,33,3,12,0,11,0,11,32,6,32,6,41,3,248,2,34,56,55,3,128,3,32,56,66,32,136,33,57,2,64,32,56,167,34,3,65,1,113,4,64,32,3,33,0,12,1,11,32,3,34,0,40,2,0,65,1,70,13,0,32,0,40,2,36,65,3,116,65,204,0,106,34,2,35,5,40,2,0,17,0,0,33,7,32,2,4,64,32,7,32,0,32,0,40,2,36,65,3,116,107,32,2,252,10,0,0,11,32,7,32,3,40,2,36,34,9,65,3,116,106,33,0,65,0,33,2,2,64,32,9,4,64,3,64,32,7,32,2,65,3,116,106,40,0,0,34,4,65,1,113,69,4,64,32,4,32,4,40,2,0,65,1,106,54,2,0,32,4,40,2,0,26,32,3,40,2,36,33,9,11,32,2,65,1,106,34,2,32,9,73,13,0,12,2,11,0,11,32,3,45,0,44,65,192,0,113,69,13,0,32,3,40,2,48,33,2,32,6,32,3,41,2,68,55,3,160,3,32,6,32,3,41,2,60,55,3,152,3,32,6,32,3,41,2,52,55,3,144,3,2,64,32,3,40,2,72,34,4,65,25,73,13,0,32,4,35,5,40,2,0,17,0,0,33,2,32,3,40,2,72,34,4,69,13,0,32,2,32,3,40,2,48,32,4,252,10,0,0,11,32,0,32,2,54,2,48,32,0,32,6,41,3,144,3,55,2,52,32,0,32,6,41,3,152,3,55,2,60,32,0,32,6,41,3,160,3,55,2,68,11,32,0,65,1,54,2,0,32,6,32,6,41,3,128,3,55,3,24,32,32,32,6,65,24,106,16,60,66,0,33,57,11,65,1,33,2,65,1,33,3,2,64,2,64,2,64,32,5,40,2,160,9,34,4,47,1,100,34,7,65,254,255,3,107,14,2,0,2,1,11,65,0,33,2,65,0,33,3,12,1,11,32,4,40,2,72,32,7,65,3,108,106,34,3,45,0,1,33,2,32,3,45,0,0,33,3,11,2,64,32,0,65,1,113,4,64,32,0,65,249,1,113,32,2,65,2,116,114,32,3,65,1,116,106,65,255,1,113,32,0,65,128,128,124,113,32,7,65,8,116,65,128,254,3,113,114,114,33,0,12,1,11,32,0,32,7,59,1,40,32,0,32,0,47,1,44,65,252,255,3,113,32,3,32,2,65,1,116,114,65,255,1,113,114,59,1,44,11,32,6,32,0,173,34,56,32,57,66,32,134,132,55,3,248,2,32,56,66,8,136,167,33,18,65,0,33,2,12,1,11,11,32,5,32,19,16,80,4,64,32,5,40,2,132,9,40,2,0,32,47,106,40,2,0,47,1,0,33,16,32,6,32,6,41,3,248,2,55,3,8,32,32,32,6,65,8,106,16,60,65,1,33,2,32,4,33,0,12,4,11,2,64,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,1,11,32,2,65,1,113,4,127,32,18,65,255,1,113,5,32,6,40,2,248,2,47,1,40,11,33,0,32,5,40,2,160,9,33,3,35,1,65,171,10,106,33,2,2,64,2,64,2,64,32,0,65,255,255,3,113,34,0,65,254,255,3,107,14,2,0,2,1,11,35,1,65,170,10,106,33,2,12,1,11,65,0,33,2,32,3,40,2,8,32,3,40,2,4,106,32,0,77,13,0,32,3,40,2,56,32,0,65,2,116,106,40,2,0,33,2,11,32,6,32,2,54,2,16,32,1,65,128,8,35,1,65,196,7,106,32,6,65,16,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,1,32,0,17,3,0,11,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,1,45,0,0,34,2,65,34,70,13,0,32,2,65,220,0,70,13,0,32,2,13,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,1,45,0,0,33,2,11,32,2,192,32,5,40,2,140,10,16,241,1,32,1,65,1,106,33,1,12,0,11,0,11,32,5,40,2,132,9,40,2,0,32,19,65,5,116,106,34,0,32,6,41,3,248,2,55,2,20,65,1,33,2,32,0,65,1,54,2,28,32,0,32,0,40,2,0,40,2,156,1,54,2,8,12,4,11,2,64,2,64,32,17,40,2,24,34,2,32,16,77,4,64,32,17,40,2,44,32,17,40,2,48,32,16,32,2,107,65,2,116,106,40,2,0,65,1,116,106,34,2,47,1,0,34,8,69,4,64,65,0,33,2,12,3,11,32,2,65,2,106,33,11,65,0,33,7,3,64,32,11,65,4,106,33,2,32,11,47,1,2,34,12,4,127,32,2,32,12,65,1,116,106,33,4,65,0,33,3,3,64,32,2,47,1,0,32,9,70,13,4,32,2,65,2,106,33,2,32,3,65,1,106,34,3,32,12,71,13,0,11,32,4,5,32,2,11,33,11,65,0,33,2,32,7,65,1,106,34,7,32,8,71,13,0,11,12,2,11,32,17,40,2,40,32,17,40,2,4,32,16,108,65,1,116,106,32,9,65,1,116,106,47,1,0,33,2,12,1,11,32,11,47,1,0,33,2,11,32,6,32,17,40,2,52,32,2,65,255,255,3,113,65,3,116,106,34,2,45,0,0,54,2,236,2,32,6,32,2,45,0,1,58,0,240,2,32,2,65,8,106,11,54,2,232,2,65,0,33,2,12,1,11,11,2,64,32,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,5,32,6,65,248,2,106,32,16,32,5,65,244,9,106,16,76,32,5,40,2,160,9,32,16,2,127,32,6,45,0,248,2,65,1,113,4,64,32,6,40,2,248,2,33,0,32,6,45,0,249,2,12,1,11,32,6,40,2,248,2,34,0,47,1,40,11,65,255,255,3,113,16,25,33,8,11,32,6,40,2,252,2,33,11,2,64,2,64,2,64,2,64,32,0,65,1,113,4,64,32,6,32,0,173,34,56,32,11,173,66,32,134,132,55,3,216,3,32,56,66,8,131,80,32,21,65,1,113,70,13,1,32,5,40,2,132,9,33,0,32,6,32,6,41,3,216,3,55,3,56,32,0,32,19,32,6,65,56,106,65,0,32,8,65,255,255,3,113,16,84,12,4,11,32,0,40,2,36,33,2,32,6,32,0,173,32,11,173,66,32,134,132,34,56,55,3,216,3,2,64,32,0,45,0,44,65,4,113,69,32,21,115,65,1,113,13,0,32,2,13,0,32,2,65,0,71,33,25,32,6,32,56,55,3,128,3,32,0,40,2,0,65,1,70,4,64,32,0,33,7,12,3,11,32,0,40,2,36,65,3,116,65,204,0,106,34,1,35,5,40,2,0,17,0,0,33,4,32,1,4,64,32,4,32,0,32,0,40,2,36,65,3,116,107,32,1,252,10,0,0,11,32,4,32,0,40,2,36,34,1,65,3,116,106,33,7,2,64,32,1,4,64,65,0,33,2,3,64,32,4,32,2,65,3,116,106,40,0,0,34,3,65,1,113,69,4,64,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,32,0,40,2,36,33,1,11,32,2,65,1,106,34,2,32,1,73,13,0,11,12,1,11,32,0,45,0,44,65,192,0,113,69,13,0,32,0,40,2,48,33,2,32,6,32,0,41,2,68,55,3,160,3,32,6,32,0,41,2,60,55,3,152,3,32,6,32,0,41,2,52,55,3,144,3,2,64,32,0,40,2,72,34,1,65,25,73,13,0,32,1,35,5,40,2,0,17,0,0,33,2,32,0,40,2,72,34,1,69,13,0,32,2,32,0,40,2,48,32,1,252,10,0,0,11,32,7,32,2,54,2,48,32,7,32,6,41,3,144,3,55,2,52,32,7,32,6,41,3,152,3,55,2,60,32,7,32,6,41,3,160,3,55,2,68,11,32,7,65,1,54,2,0,32,6,32,6,41,3,128,3,55,3,88,32,32,32,6,65,216,0,106,16,60,65,0,33,11,32,7,33,0,12,2,11,32,5,40,2,132,9,33,1,32,6,32,6,41,3,216,3,55,3,80,32,1,32,19,32,6,65,208,0,106,32,2,65,0,71,32,8,65,255,255,3,113,16,84,12,2,11,65,0,33,25,32,0,33,7,11,32,6,32,7,65,1,113,4,127,32,7,65,119,113,65,8,65,0,32,21,65,1,113,27,114,5,32,0,32,0,47,1,44,65,251,255,3,113,65,4,65,0,32,21,65,1,113,27,114,59,1,44,32,7,11,34,0,173,32,11,173,66,32,134,132,34,56,55,3,216,3,32,5,40,2,132,9,33,1,32,6,32,56,55,3,72,32,1,32,19,32,6,65,200,0,106,32,25,32,8,65,255,255,3,113,16,84,32,7,65,1,113,13,1,11,32,0,45,0,44,65,192,0,113,69,13,0,32,5,40,2,132,9,33,7,2,64,32,0,65,1,113,69,4,64,2,127,32,0,40,2,36,34,8,4,64,3,64,32,0,32,8,65,3,116,107,33,4,32,8,33,2,3,64,2,64,2,64,32,4,32,2,65,1,107,34,2,65,3,116,106,34,3,40,2,0,34,1,65,1,113,13,0,32,1,45,0,44,65,192,0,113,69,13,0,32,1,40,2,36,33,8,32,3,40,2,4,33,11,32,1,33,0,12,1,11,32,2,13,1,11,11,32,8,13,0,11,32,7,40,2,0,34,2,32,0,13,1,26,65,0,33,0,12,3,11,32,7,40,2,0,11,33,2,32,0,65,1,113,13,1,32,0,32,0,40,2,0,65,1,106,54,2,0,32,0,40,2,0,26,12,1,11,32,7,40,2,0,33,2,65,0,33,0,65,0,33,11,11,32,2,32,19,65,5,116,106,34,2,40,2,12,4,64,32,7,40,2,52,33,1,32,6,32,2,41,2,12,55,3,64,32,1,32,6,65,64,107,16,60,11,32,2,32,11,54,2,16,32,2,32,0,54,2,12,11,65,1,33,2,32,46,69,13,0,32,5,65,244,9,106,16,79,11,32,6,65,224,3,106,36,0,32,2,69,13,3,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,2,64,32,5,40,2,132,9,34,1,40,2,0,34,2,32,33,106,34,0,40,2,0,40,2,4,34,18,32,38,75,13,0,32,18,32,38,70,32,19,65,0,71,113,13,0,32,0,40,2,28,13,2,12,1,11,11,32,18,33,38,11,65,0,33,13,32,19,65,1,106,34,19,32,1,40,2,4,34,0,73,13,0,11,65,127,33,29,65,0,33,30,32,0,69,4,64,65,1,33,13,12,3,11,3,64,2,64,32,1,40,2,0,32,13,65,5,116,106,34,7,40,2,28,34,3,65,2,70,4,64,32,1,32,13,16,71,12,1,11,32,7,40,2,0,34,8,40,2,152,1,33,1,2,64,32,3,65,1,70,34,4,69,4,64,32,8,47,1,0,13,1,32,8,40,2,20,13,1,11,32,1,65,244,3,106,33,1,11,32,8,40,2,156,1,34,2,32,7,40,2,8,34,0,73,4,64,32,7,32,2,54,2,8,32,2,33,0,11,32,8,40,2,160,1,33,11,32,3,65,1,70,4,127,65,1,5,32,1,32,29,32,1,32,29,73,27,32,29,32,8,47,1,0,34,3,27,33,29,32,3,69,11,33,15,32,13,69,4,64,65,1,33,13,12,1,11,32,1,65,228,0,106,32,1,32,4,27,33,14,32,2,32,0,107,65,1,106,33,16,65,0,33,19,3,64,32,5,40,2,132,9,34,23,40,2,0,34,7,32,19,65,5,116,34,17,106,34,22,40,2,0,34,2,40,2,152,1,33,1,2,64,32,22,40,2,28,34,12,65,1,70,34,8,69,4,64,32,1,33,4,32,2,47,1,0,13,1,32,2,40,2,20,13,1,11,32,1,65,244,3,106,33,4,11,32,2,40,2,156,1,34,0,32,22,40,2,8,34,9,73,4,64,32,22,32,0,54,2,8,32,0,33,9,11,32,4,65,228,0,106,32,4,32,8,27,33,21,32,2,40,2,160,1,33,3,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,8,13,0,32,2,47,1,0,69,13,0,32,15,69,13,1,32,4,32,14,73,13,2,12,7,11,32,15,13,0,32,14,32,21,79,13,3,12,4,11,32,14,32,21,77,4,64,32,14,32,21,79,13,2,32,21,32,14,107,32,16,108,65,136,14,75,13,4,12,3,11,32,0,32,9,107,65,1,106,32,14,32,21,107,108,65,137,14,73,13,5,11,32,7,32,13,65,5,116,34,2,106,34,4,40,2,0,4,64,32,23,40,2,52,33,1,32,4,40,2,12,4,64,32,10,32,4,41,2,12,55,3,88,32,1,32,10,65,216,0,106,16,60,11,32,4,40,2,20,4,64,32,10,32,4,41,2,20,55,3,80,32,1,32,10,65,208,0,106,16,60,11,32,4,40,2,4,34,3,4,64,32,3,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,3,65,0,54,2,8,32,3,66,0,55,2,0,32,4,40,2,4,5,32,3,11,35,6,40,2,0,17,2,0,11,32,4,40,2,0,32,23,65,36,106,32,1,16,65,32,23,40,2,0,33,7,11,32,23,40,2,4,32,13,65,127,115,106,65,5,116,34,1,4,64,32,2,32,7,106,34,0,32,0,65,32,106,32,1,252,10,0,0,11,32,23,32,23,40,2,4,65,1,107,54,2,4,12,6,11,32,3,32,11,78,13,3,11,32,7,32,13,65,5,116,106,33,9,2,64,32,12,13,0,32,9,40,2,28,13,0,32,2,47,1,0,34,3,32,9,40,2,0,34,0,47,1,0,71,13,0,32,2,40,2,4,32,0,40,2,4,71,13,0,32,1,32,0,40,2,152,1,71,13,0,32,9,40,0,12,33,8,2,127,35,1,65,148,12,106,34,1,32,22,40,0,12,34,4,69,13,0,26,32,1,32,4,65,1,113,13,0,26,32,1,32,4,45,0,44,65,192,0,113,69,13,0,26,32,1,32,4,65,48,106,32,4,40,2,36,27,11,34,7,40,2,24,33,1,2,64,2,127,35,1,65,148,12,106,34,4,32,8,69,13,0,26,32,4,32,8,65,1,113,13,0,26,32,4,32,8,45,0,44,65,192,0,113,69,13,0,26,32,4,32,8,65,48,106,32,8,40,2,36,27,11,34,8,40,2,24,34,4,65,25,79,4,64,32,1,32,4,71,13,2,32,7,40,2,0,33,7,32,8,40,2,0,33,8,12,1,11,32,1,32,4,71,13,1,11,32,7,32,8,32,4,16,248,1,13,0,32,0,47,1,144,1,4,127,65,0,33,2,3,64,32,23,40,2,52,33,3,32,22,40,2,0,33,1,32,10,32,0,32,2,65,4,116,106,34,0,41,2,24,55,3,120,32,10,32,0,41,2,16,55,3,112,32,1,32,10,65,240,0,106,32,3,16,72,32,2,65,1,106,34,2,32,9,40,2,0,34,0,47,1,144,1,73,13,0,11,32,22,40,2,0,34,2,47,1,0,5,32,3,11,65,255,255,3,113,13,4,32,22,32,2,40,2,156,1,54,2,8,32,23,32,13,16,71,12,5,11,32,10,32,9,41,2,24,55,3,224,1,32,10,32,9,41,2,16,55,3,216,1,32,10,32,9,41,2,8,55,3,208,1,32,10,32,9,41,2,0,55,3,200,1,32,9,32,22,41,2,0,55,2,0,32,9,32,22,41,2,8,55,2,8,32,9,32,22,41,2,16,55,2,16,32,9,32,22,41,2,24,55,2,24,32,23,40,2,0,32,17,106,34,0,32,10,41,3,200,1,55,2,0,32,0,32,10,41,3,208,1,55,2,8,32,0,32,10,41,3,216,1,55,2,16,32,0,32,10,41,3,224,1,55,2,24,12,1,11,32,23,40,2,52,33,1,32,22,40,2,12,4,64,32,10,32,22,41,2,12,55,3,104,32,1,32,10,65,232,0,106,16,60,11,32,22,40,2,20,4,64,32,10,32,22,41,2,20,55,3,96,32,1,32,10,65,224,0,106,16,60,11,32,22,40,2,4,34,2,4,64,32,2,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,22,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,22,40,2,0,32,23,65,36,106,32,1,16,65,32,23,40,2,4,32,19,65,127,115,106,65,5,116,34,1,4,64,32,23,40,2,0,32,17,106,34,0,32,0,65,32,106,32,1,252,10,0,0,11,32,23,32,23,40,2,4,65,1,107,54,2,4,32,19,65,1,107,33,19,32,13,65,1,107,33,13,11,65,1,33,30,12,3,11,32,12,13,2,32,7,32,13,65,5,116,106,34,9,40,2,28,13,2,32,2,47,1,0,34,3,32,9,40,2,0,34,0,47,1,0,71,13,2,32,2,40,2,4,32,0,40,2,4,71,13,2,32,1,32,0,40,2,152,1,71,13,2,32,9,40,0,12,33,8,2,127,35,1,65,148,12,106,34,1,32,22,40,0,12,34,4,69,13,0,26,32,1,32,4,65,1,113,13,0,26,32,1,32,4,45,0,44,65,192,0,113,69,13,0,26,32,1,32,4,65,48,106,32,4,40,2,36,27,11,34,7,40,2,24,33,1,2,64,2,127,35,1,65,148,12,106,34,4,32,8,69,13,0,26,32,4,32,8,65,1,113,13,0,26,32,4,32,8,45,0,44,65,192,0,113,69,13,0,26,32,4,32,8,65,48,106,32,8,40,2,36,27,11,34,8,40,2,24,34,4,65,25,79,4,64,32,1,32,4,71,13,4,32,7,40,2,0,33,7,32,8,40,2,0,33,8,12,1,11,32,1,32,4,71,13,3,11,32,7,32,8,32,4,16,248,1,13,2,32,0,47,1,144,1,4,127,65,0,33,2,3,64,32,23,40,2,52,33,3,32,22,40,2,0,33,1,32,10,32,0,32,2,65,4,116,106,34,0,41,2,24,55,3,72,32,10,32,0,41,2,16,55,3,64,32,1,32,10,65,64,107,32,3,16,72,32,2,65,1,106,34,2,32,9,40,2,0,34,0,47,1,144,1,73,13,0,11,32,22,40,2,0,34,2,47,1,0,5,32,3,11,65,255,255,3,113,13,0,32,22,32,2,40,2,156,1,54,2,8,11,32,23,32,13,16,71,11,65,1,33,30,32,13,65,1,107,34,13,33,19,11,32,19,65,1,106,34,19,32,13,73,13,0,11,32,13,65,1,106,33,13,11,32,13,32,5,40,2,132,9,34,1,40,2,4,34,33,73,13,0,11,32,33,65,6,75,4,64,3,64,32,1,65,6,16,71,32,5,40,2,132,9,34,1,40,2,4,34,33,65,6,75,13,0,11,65,1,33,30,11,65,0,33,16,65,0,33,2,32,33,4,64,3,64,2,64,32,16,65,5,116,34,34,32,5,40,2,132,9,34,0,40,2,0,106,40,2,28,65,1,71,4,64,65,1,33,2,12,1,11,2,64,2,64,32,2,65,1,113,13,0,32,5,40,2,168,10,65,5,75,13,0,32,5,40,2,96,69,4,64,32,5,40,2,140,10,69,13,2,11,32,10,32,16,54,2,48,32,24,65,128,8,35,1,65,59,106,32,10,65,48,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,32,24,33,2,32,5,40,2,140,10,69,13,1,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,0,32,16,16,71,32,33,65,1,107,33,33,32,16,65,1,107,33,16,65,1,33,30,12,1,11,32,5,40,2,132,9,40,2,0,32,34,106,34,1,40,2,0,34,0,40,2,152,1,33,29,2,64,32,1,40,2,28,65,1,71,4,64,32,0,47,1,0,13,1,32,0,40,2,20,13,1,11,32,29,65,244,3,106,33,29,11,32,1,65,0,54,2,28,32,1,41,2,20,33,56,32,1,66,0,55,2,20,32,10,32,56,55,3,192,1,32,5,40,2,132,9,40,2,4,33,12,32,5,32,16,65,0,16,73,26,32,56,167,33,3,32,5,40,2,132,9,34,2,40,2,4,34,40,32,16,75,4,64,32,2,40,2,0,32,34,106,40,2,0,34,0,40,2,4,33,11,32,0,41,2,8,34,57,66,32,136,167,33,22,32,56,66,8,136,167,33,25,32,57,167,33,45,65,0,33,27,32,3,33,0,32,16,33,7,3,64,2,64,32,27,4,64,65,1,33,27,12,1,11,65,0,33,27,32,5,40,2,160,9,34,4,47,1,12,65,254,255,3,113,69,13,0,32,7,65,5,116,34,23,32,5,40,2,132,9,40,2,0,106,40,2,0,47,1,0,33,35,65,1,33,19,3,64,2,64,2,64,32,19,65,253,255,3,75,13,0,2,64,2,64,32,4,40,2,24,34,28,32,35,77,4,64,32,4,40,2,44,32,4,40,2,48,32,35,32,28,107,65,2,116,106,40,2,0,65,1,116,106,34,1,47,1,0,34,17,69,4,64,65,0,33,1,12,3,11,32,1,65,2,106,33,13,65,0,33,8,3,64,32,13,65,4,106,33,1,32,13,47,1,2,34,15,4,127,32,1,32,15,65,1,116,106,33,9,65,0,33,2,3,64,32,19,32,1,47,1,0,70,13,4,32,1,65,2,106,33,1,32,2,65,1,106,34,2,32,15,71,13,0,11,32,9,5,32,1,11,33,13,65,0,33,1,32,8,65,1,106,34,8,32,17,71,13,0,11,12,2,11,32,4,40,2,40,32,4,40,2,4,32,35,108,65,1,116,106,32,19,65,1,116,106,47,1,0,33,1,12,1,11,32,13,47,1,0,33,1,11,32,4,40,2,52,34,21,32,1,65,255,255,3,113,65,3,116,106,34,2,45,0,0,34,1,69,13,0,32,2,32,1,65,3,116,106,34,1,45,0,0,13,0,32,35,32,1,65,8,106,34,1,65,6,107,47,1,0,32,1,65,4,107,45,0,0,65,1,113,27,34,14,65,255,255,3,113,34,1,69,13,0,32,1,32,35,70,13,0,2,64,2,64,32,0,65,1,113,4,64,32,25,65,255,1,113,33,13,65,1,33,0,12,1,11,32,10,40,2,192,1,34,3,65,8,118,33,25,65,196,0,65,40,32,3,34,0,40,2,36,27,32,0,106,47,1,0,34,13,65,253,255,3,75,13,1,11,2,64,2,64,32,1,32,28,79,4,64,32,4,40,2,44,32,4,40,2,48,32,1,32,28,107,65,2,116,106,40,2,0,65,1,116,106,34,1,47,1,0,34,15,69,4,64,65,0,33,1,12,3,11,32,1,65,2,106,33,8,65,0,33,9,3,64,32,8,65,4,106,33,1,32,8,47,1,2,34,28,4,127,32,1,32,28,65,1,116,106,33,17,65,0,33,2,3,64,32,1,47,1,0,32,13,70,13,4,32,1,65,2,106,33,1,32,2,65,1,106,34,2,32,28,71,13,0,11,32,17,5,32,1,11,33,8,65,0,33,1,32,9,65,1,106,34,9,32,15,71,13,0,11,12,2,11,32,4,40,2,40,32,4,40,2,4,32,1,108,65,1,116,106,32,13,65,1,116,106,47,1,0,33,1,12,1,11,32,8,47,1,0,33,1,11,32,21,32,1,65,255,255,3,113,65,3,116,106,34,1,45,0,0,69,13,1,32,1,45,0,8,65,1,71,13,1,2,64,32,5,40,2,32,32,11,70,4,64,32,5,40,2,100,33,4,32,5,40,2,104,33,1,32,11,33,13,12,1,11,65,0,33,1,32,5,65,0,54,2,124,32,5,65,0,58,0,128,1,32,5,32,57,55,2,36,32,5,32,11,54,2,32,32,5,40,2,68,33,8,2,64,2,127,32,5,40,2,100,34,4,4,64,3,64,2,64,32,8,32,1,65,24,108,106,34,3,40,2,20,34,2,32,11,77,13,0,32,2,32,3,40,2,16,34,0,77,13,0,32,0,32,11,34,13,79,4,64,32,5,32,3,41,2,0,55,2,36,32,5,32,0,54,2,32,32,0,33,13,11,32,5,32,1,54,2,104,32,5,40,2,72,69,4,64,65,0,33,2,12,5,11,65,0,32,13,32,5,40,2,108,34,0,73,13,3,26,65,0,34,2,32,13,32,5,40,2,112,32,0,106,79,13,3,26,12,4,11,32,1,65,1,106,34,1,32,4,71,13,0,11,11,32,5,32,4,54,2,104,32,8,32,4,65,24,108,106,34,0,65,4,107,40,2,0,33,13,32,5,32,0,65,16,107,41,2,0,55,2,36,32,5,32,13,54,2,32,32,4,33,1,65,1,11,33,2,32,5,65,0,54,2,72,32,5,66,0,55,2,108,11,32,5,65,0,54,2,0,32,5,32,2,54,2,116,11,2,127,2,64,32,1,32,4,70,13,0,32,1,69,13,0,32,13,32,5,40,2,68,32,1,65,24,108,106,34,0,40,2,16,71,13,0,32,0,65,4,107,40,2,0,33,3,32,5,32,0,65,16,107,41,2,0,34,56,55,2,60,32,5,32,3,54,2,56,32,56,66,32,136,167,33,13,32,56,167,12,1,11,32,5,32,5,41,2,32,55,2,56,32,5,32,5,40,2,40,54,2,64,32,5,40,0,64,33,13,32,5,40,0,56,33,3,32,5,40,0,60,11,33,4,2,127,32,10,40,2,192,1,34,0,65,1,113,4,64,32,10,45,0,197,1,65,4,118,33,8,32,10,45,0,198,1,32,10,45,0,199,1,106,12,1,11,32,0,40,2,28,33,8,32,0,40,2,16,32,0,40,2,4,106,11,33,21,32,10,32,5,40,2,132,9,34,20,40,2,0,34,9,32,23,106,34,0,41,2,24,55,3,224,1,32,10,32,0,41,2,16,55,3,216,1,32,10,32,0,41,2,8,55,3,208,1,32,10,32,0,41,2,0,55,3,200,1,32,20,32,20,40,2,4,34,1,65,1,106,34,2,32,20,40,2,8,34,0,75,4,127,32,9,65,8,32,0,65,1,116,34,0,32,2,32,0,32,2,75,27,34,0,32,0,65,8,77,27,34,0,65,5,116,35,4,40,2,0,17,1,0,33,9,32,20,32,0,54,2,8,32,20,32,9,54,2,0,32,20,40,2,4,34,1,65,1,106,5,32,2,11,54,2,4,32,9,32,1,65,5,116,106,34,0,32,10,41,3,200,1,55,2,0,32,0,32,10,41,3,224,1,55,2,24,32,0,32,10,41,3,216,1,55,2,16,32,0,32,10,41,3,208,1,55,2,8,32,20,40,2,0,32,20,40,2,4,34,9,65,5,116,106,34,28,65,32,107,40,2,0,34,0,4,64,32,0,32,0,40,2,148,1,65,1,106,54,2,148,1,11,32,13,32,22,107,34,0,65,0,32,0,32,13,77,27,33,15,32,4,32,45,75,33,17,32,4,32,4,32,45,107,34,4,73,33,2,32,3,32,11,107,34,1,32,3,75,33,0,2,64,32,28,65,20,107,40,2,0,34,3,69,13,0,32,3,65,1,113,13,0,32,3,32,3,40,2,0,65,1,106,54,2,0,32,3,40,2,0,26,32,20,40,2,4,33,9,11,32,13,32,15,32,17,27,33,20,65,0,32,4,32,2,27,33,17,65,0,32,1,32,0,27,33,4,32,8,32,21,106,33,3,32,28,65,28,107,65,0,54,2,0,65,1,33,2,65,1,33,13,2,126,2,64,2,64,2,64,32,19,65,254,255,3,107,34,15,14,2,1,2,0,11,32,5,40,2,160,9,40,2,72,32,19,65,3,108,106,34,0,45,0,1,33,13,32,0,45,0,0,33,2,32,19,65,255,1,75,13,1,32,4,65,254,1,75,13,1,32,17,65,15,75,13,1,32,20,65,254,1,75,13,1,32,3,65,15,75,13,1,32,13,65,2,116,32,2,65,1,116,106,65,1,114,65,255,1,113,32,19,65,8,116,114,33,1,32,3,65,12,116,32,17,65,8,116,114,32,4,65,16,116,114,32,20,114,173,66,32,134,12,2,11,65,0,33,2,65,0,33,13,11,32,17,173,32,20,173,66,32,134,132,33,56,2,127,32,5,40,2,140,9,34,0,4,64,32,5,32,0,65,1,107,34,0,54,2,140,9,32,5,40,2,136,9,32,0,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,33,1,32,10,66,0,55,3,208,1,32,10,66,0,55,3,216,1,32,10,65,0,54,2,224,1,32,10,32,4,54,2,144,2,32,10,32,56,55,3,152,2,32,10,65,0,54,2,136,2,32,10,65,0,54,2,132,2,32,10,65,0,54,2,128,2,32,10,32,3,54,2,252,1,32,10,65,0,54,2,248,1,32,10,65,0,54,2,244,1,32,10,32,19,59,1,240,1,32,10,65,0,59,1,238,1,32,10,65,0,59,1,234,1,32,10,66,0,55,3,200,1,32,10,65,1,54,2,148,2,32,10,32,13,65,1,116,32,2,106,65,255,1,113,59,1,236,1,32,1,32,10,40,2,148,2,54,2,0,32,1,32,10,40,2,144,2,54,2,4,32,1,32,10,41,3,152,2,55,2,8,32,1,32,10,40,2,136,2,54,2,16,32,1,32,10,40,2,132,2,54,2,20,32,1,32,10,40,2,128,2,54,2,24,32,1,32,10,40,2,252,1,54,2,28,32,1,32,10,40,2,248,1,54,2,32,32,1,32,10,40,2,244,1,54,2,36,32,1,32,10,47,1,240,1,59,1,40,32,1,32,10,47,1,238,1,59,1,42,32,1,32,10,47,1,236,1,59,1,44,32,1,32,10,47,1,234,1,59,1,46,32,1,32,10,40,2,224,1,54,2,72,32,1,65,64,107,32,10,41,3,216,1,55,2,0,32,1,32,10,41,3,208,1,55,2,56,32,1,32,10,41,3,200,1,55,2,48,66,0,11,33,56,32,9,65,1,107,33,28,2,64,32,1,65,1,113,4,64,32,1,65,32,114,33,1,12,1,11,32,1,32,1,47,1,44,65,128,4,114,59,1,44,11,32,28,65,5,116,34,17,32,5,40,2,132,9,34,2,40,2,0,106,34,9,40,2,0,33,3,2,127,32,2,40,2,40,34,0,4,64,32,2,32,0,65,1,107,34,0,54,2,40,32,2,40,2,36,32,0,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,20,32,14,59,1,0,32,20,65,2,106,65,0,65,146,1,252,11,0,32,20,66,0,55,2,152,1,32,20,65,1,54,2,148,1,32,20,65,0,54,2,160,1,2,64,2,127,2,64,32,3,4,64,32,20,32,56,32,1,173,132,55,2,20,32,20,32,3,54,2,16,32,20,65,1,59,1,144,1,32,20,32,3,41,2,4,55,2,4,32,20,32,3,40,2,12,54,2,12,32,20,32,3,40,2,152,1,34,0,54,2,152,1,32,20,32,3,40,2,160,1,34,4,54,2,160,1,32,20,32,3,40,2,156,1,34,21,54,2,156,1,32,1,65,1,113,34,3,13,1,32,20,32,1,45,0,45,65,2,113,4,127,65,226,4,5,32,1,40,2,32,11,32,0,106,54,2,152,1,65,0,32,1,40,2,12,32,1,40,2,20,34,2,27,33,0,32,1,40,2,16,32,1,40,2,4,106,33,8,32,2,32,1,40,2,8,106,33,13,32,1,40,2,24,12,2,11,32,20,66,0,55,2,4,32,20,65,0,54,2,12,12,2,11,32,20,32,0,32,1,65,26,116,65,31,117,65,226,4,113,106,54,2,152,1,32,56,66,48,136,167,32,56,66,56,136,167,106,33,8,32,56,66,32,136,167,65,255,1,113,33,0,32,56,66,40,136,167,65,15,113,33,13,65,0,11,33,2,32,20,32,20,40,0,4,32,8,106,54,2,4,32,20,32,20,40,0,8,32,13,106,173,32,0,32,2,106,65,0,32,20,40,0,12,32,13,27,106,173,66,32,134,132,55,2,8,2,64,32,3,69,4,64,65,0,33,13,32,20,32,1,40,2,36,34,0,4,127,32,1,40,2,56,5,65,0,11,32,21,106,32,1,47,1,44,65,1,113,106,32,1,47,1,40,65,254,255,3,70,106,54,2,156,1,32,0,69,13,1,32,1,40,2,60,33,13,12,1,11,32,20,32,21,32,1,65,1,118,65,1,113,106,54,2,156,1,65,0,33,13,11,32,20,32,4,32,13,106,54,2,160,1,11,32,9,32,20,54,2,0,32,5,32,28,2,127,32,10,45,0,192,1,65,1,113,4,64,65,1,33,3,32,10,45,0,193,1,34,25,12,1,11,32,10,40,2,192,1,34,3,65,8,118,33,25,32,3,40,2,36,69,4,64,32,3,47,1,40,12,1,11,32,3,47,1,68,11,65,255,255,3,113,16,73,13,2,32,5,40,2,160,9,33,4,11,32,3,33,0,11,32,19,65,1,106,34,19,32,4,47,1,12,73,13,1,12,2,11,11,2,64,2,64,32,5,40,2,96,13,0,32,5,40,2,140,10,13,0,65,1,33,27,12,1,11,35,1,65,171,10,106,33,1,2,64,2,64,2,64,32,15,14,2,0,2,1,11,35,1,65,170,10,106,33,1,12,1,11,65,0,33,1,32,5,40,2,160,9,34,0,40,2,8,32,0,40,2,4,106,32,19,77,13,0,32,0,40,2,56,32,19,65,2,116,106,40,2,0,33,1,11,32,10,32,5,40,2,132,9,40,2,0,32,17,106,40,2,0,47,1,0,54,2,36,32,10,32,1,54,2,32,32,24,65,128,8,35,1,65,184,2,106,32,10,65,32,106,16,249,1,26,32,5,40,2,96,34,0,4,64,32,5,40,2,92,65,0,32,24,32,0,17,3,0,11,65,1,33,27,32,24,33,2,32,5,40,2,140,10,69,13,0,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,69,13,3,12,1,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,3,33,0,11,32,5,40,2,132,9,34,2,40,2,0,32,7,65,5,116,106,34,4,40,2,0,33,8,2,127,32,2,40,2,40,34,1,4,64,32,2,32,1,65,1,107,34,1,54,2,40,32,2,40,2,36,32,1,65,2,116,106,40,2,0,12,1,11,65,164,1,35,5,40,2,0,17,0,0,11,34,1,65,0,65,148,1,252,11,0,32,1,66,0,55,2,152,1,32,1,65,1,54,2,148,1,32,1,65,0,54,2,160,1,2,64,32,8,4,64,32,1,66,0,55,2,20,32,1,32,8,54,2,16,32,1,65,1,59,1,144,1,32,1,65,0,54,2,28,32,1,32,8,41,2,4,55,2,4,32,1,32,8,40,2,12,54,2,12,32,1,32,8,40,2,152,1,54,2,152,1,32,1,32,8,40,2,160,1,54,2,160,1,32,1,32,8,40,2,156,1,34,2,54,2,156,1,12,1,11,32,1,66,0,55,2,4,65,0,33,2,32,1,65,0,54,2,12,11,32,4,32,1,54,2,0,32,4,32,2,54,2,8,32,12,32,7,65,1,106,32,7,32,16,70,27,34,7,32,40,73,13,0,11,32,5,40,2,132,9,33,2,11,2,64,32,12,32,40,79,13,0,32,12,33,1,32,2,40,2,0,32,34,106,40,2,28,13,0,3,64,2,64,32,5,40,2,132,9,34,9,40,2,0,34,0,32,34,106,34,15,40,2,28,13,0,32,0,32,12,65,5,116,106,34,17,40,2,28,13,0,32,15,40,2,0,34,13,47,1,0,34,2,32,17,40,2,0,34,4,47,1,0,71,13,0,32,13,40,2,4,32,4,40,2,4,71,13,0,32,13,40,2,152,1,32,4,40,2,152,1,71,13,0,32,17,40,0,12,33,11,2,127,35,1,65,148,12,106,34,0,32,15,40,0,12,34,7,69,13,0,26,32,0,32,7,65,1,113,13,0,26,32,0,32,7,45,0,44,65,192,0,113,69,13,0,26,32,0,32,7,65,48,106,32,7,40,2,36,27,11,34,8,40,2,24,33,7,2,64,2,127,35,1,65,148,12,106,34,0,32,11,69,13,0,26,32,0,32,11,65,1,113,13,0,26,32,0,32,11,45,0,44,65,192,0,113,69,13,0,26,32,0,32,11,65,48,106,32,11,40,2,36,27,11,34,0,40,2,24,34,11,65,25,79,4,64,32,7,32,11,71,13,2,32,8,40,2,0,33,8,32,0,40,2,0,33,0,12,1,11,32,7,32,11,71,13,1,11,32,8,32,0,32,11,16,248,1,13,0,32,4,47,1,144,1,4,127,65,0,33,13,3,64,32,9,40,2,52,33,7,32,15,40,2,0,33,2,32,10,32,4,32,13,65,4,116,106,34,0,41,2,24,55,3,24,32,10,32,0,41,2,16,55,3,16,32,2,32,10,65,16,106,32,7,16,72,32,13,65,1,106,34,13,32,17,40,2,0,34,4,47,1,144,1,73,13,0,11,32,15,40,2,0,34,13,47,1,0,5,32,2,11,65,255,255,3,113,69,4,64,32,15,32,13,40,2,156,1,54,2,8,11,32,9,32,12,16,71,11,32,1,65,1,106,34,1,32,40,71,13,0,11,32,5,40,2,132,9,33,2,11,65,12,35,5,40,2,0,17,0,0,33,0,32,10,65,16,54,2,156,2,32,10,32,0,54,2,152,2,32,0,65,0,54,2,8,32,0,66,0,55,2,0,32,10,65,200,1,106,32,2,32,16,35,2,65,6,106,32,10,65,152,2,106,65,127,16,75,32,2,40,2,0,32,34,106,34,0,33,1,32,0,40,2,4,34,2,4,64,32,2,40,2,0,34,0,4,127,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,8,32,2,66,0,55,2,0,32,1,40,2,4,5,32,2,11,35,6,40,2,0,17,2,0,11,32,1,32,10,40,2,152,2,54,2,4,2,64,32,3,65,1,113,13,0,32,10,40,2,192,1,40,2,36,69,13,0,32,5,32,10,65,192,1,106,65,0,32,55,16,76,11,32,10,32,10,41,3,192,1,55,3,8,32,5,32,16,32,10,65,8,106,16,77,32,5,40,2,140,10,34,0,4,64,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,11,65,1,33,2,11,32,16,65,1,106,34,16,32,33,73,13,0,11,11,65,0,33,13,32,30,69,13,2,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,3,32,24,35,1,65,194,8,106,34,0,41,0,0,55,0,0,32,24,32,0,45,0,8,58,0,8,12,2,11,32,24,35,1,65,194,8,106,34,0,41,0,0,55,0,0,32,24,32,0,45,0,8,58,0,8,32,5,40,2,92,65,0,32,24,32,1,17,3,0,32,5,40,2,140,10,13,1,12,2,11,65,0,33,1,32,5,45,0,224,10,13,4,12,5,11,32,24,33,2,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,40,2,140,10,34,0,69,13,3,32,5,40,2,132,9,32,5,40,2,160,9,32,0,16,70,35,1,65,235,11,106,32,5,40,2,140,10,16,244,1,12,3,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,2,64,32,5,40,2,180,9,34,0,69,13,0,2,127,32,0,65,26,116,65,31,117,65,226,4,113,32,0,65,1,113,13,0,26,65,226,4,32,0,45,0,45,65,2,113,13,0,26,32,0,40,2,32,11,32,29,79,13,0,32,5,40,2,132,9,16,61,12,2,11,2,64,32,5,40,2,220,10,34,1,32,5,40,2,192,10,34,2,79,13,0,32,54,40,2,0,33,0,3,64,32,0,32,1,65,24,108,106,40,2,20,32,18,75,13,1,32,5,32,1,65,1,106,34,1,54,2,220,10,32,1,32,2,71,13,0,11,11,32,13,69,13,0,11,11,2,64,32,5,45,0,225,10,13,0,32,5,41,2,180,9,33,56,32,5,65,0,54,2,152,9,32,56,167,34,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,0,40,2,0,65,1,71,13,0,32,5,40,2,148,9,33,2,65,0,33,1,32,5,40,2,156,9,69,4,64,2,127,32,2,4,64,32,2,65,192,0,35,4,40,2,0,17,1,0,12,1,11,65,192,0,35,5,40,2,0,17,0,0,11,33,2,32,5,65,8,54,2,156,9,32,5,32,2,54,2,148,9,32,5,40,2,152,9,33,1,11,32,5,32,1,65,1,106,54,2,152,9,32,2,32,1,65,3,116,106,32,56,55,2,0,11,2,126,2,64,2,64,32,5,40,2,152,9,4,64,32,5,65,148,9,106,33,15,32,5,65,208,10,106,33,9,32,5,65,152,10,106,33,18,3,64,32,5,32,5,40,2,172,10,65,1,106,34,0,65,0,32,0,65,227,0,77,27,34,0,54,2,172,10,2,64,32,0,13,0,32,5,40,2,176,10,34,0,4,64,32,0,40,2,0,13,4,11,2,64,32,5,41,3,144,10,80,4,64,32,18,40,2,0,69,13,1,11,32,10,65,200,1,106,16,237,1,32,10,41,3,200,1,34,57,32,5,41,3,144,10,34,56,85,13,4,32,56,32,57,85,13,0,32,10,40,2,208,1,32,18,40,2,0,74,13,4,11,32,5,40,2,204,10,34,0,69,13,0,32,9,32,0,17,0,0,13,3,11,32,10,32,5,40,2,148,9,32,5,40,2,152,9,34,2,65,3,116,106,65,8,107,41,2,0,34,56,55,3,152,2,2,64,32,56,167,34,12,47,1,64,69,13,0,32,12,65,8,107,40,2,0,33,1,32,12,32,12,40,2,36,65,3,116,107,40,2,0,34,0,65,1,113,4,127,65,0,5,32,0,47,1,64,11,32,1,65,1,113,4,127,65,0,5,32,1,47,1,64,11,107,34,1,65,2,72,13,0,3,64,32,5,40,2,160,9,33,24,32,10,32,10,41,3,152,2,55,3,0,35,0,65,48,107,34,17,36,0,32,15,40,2,4,33,8,32,17,32,10,41,2,0,34,56,55,3,40,2,64,32,1,34,0,65,1,118,34,1,69,13,0,32,56,167,34,3,47,1,40,33,16,2,64,32,3,40,2,0,65,1,75,13,0,32,3,40,2,36,34,2,65,2,73,13,0,32,3,32,2,65,3,116,107,34,3,41,2,0,34,56,167,34,7,65,1,113,13,0,32,7,40,2,36,34,2,65,2,73,13,0,32,7,40,2,0,65,1,75,13,0,32,7,47,1,40,32,16,71,13,0,32,7,32,2,65,3,116,107,34,2,40,2,0,34,13,65,1,113,13,0,32,13,40,2,36,65,2,73,13,0,32,2,40,2,4,33,4,32,13,40,2,0,65,1,75,13,0,32,13,47,1,40,32,16,71,13,0,32,3,32,13,173,32,4,173,66,32,134,132,55,2,0,32,7,32,7,40,2,36,65,3,116,107,32,13,65,8,107,34,2,41,2,0,55,2,0,32,2,32,56,55,2,0,65,1,33,38,32,15,40,2,0,33,11,32,15,32,15,40,2,4,34,7,65,1,106,34,3,32,15,40,2,8,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,11,4,64,32,11,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,11,32,15,32,2,54,2,8,32,15,32,11,54,2,0,32,15,40,2,4,34,7,65,1,106,5,32,3,11,54,2,4,32,11,32,7,65,3,116,106,32,17,41,3,40,55,2,0,32,17,32,4,54,2,44,32,17,32,13,54,2,40,32,1,65,1,70,13,0,3,64,32,13,40,2,0,65,1,75,13,1,32,13,40,2,36,34,2,65,2,73,13,1,32,13,32,2,65,3,116,107,34,3,41,2,0,34,56,167,34,7,65,1,113,13,1,32,7,40,2,36,34,2,65,2,73,13,1,32,7,40,2,0,65,1,75,13,1,32,7,47,1,40,32,16,71,13,1,32,7,32,2,65,3,116,107,34,2,40,2,0,34,13,65,1,113,13,1,32,13,40,2,36,65,2,73,13,1,32,2,40,2,4,33,4,32,13,40,2,0,65,1,75,13,1,32,13,47,1,40,32,16,71,13,1,32,3,32,13,173,32,4,173,66,32,134,132,55,2,0,32,7,32,7,40,2,36,65,3,116,107,32,13,65,8,107,34,2,41,2,0,55,2,0,32,2,32,56,55,2,0,32,15,40,2,0,33,11,32,15,32,15,40,2,4,34,7,65,1,106,34,3,32,15,40,2,8,34,2,75,4,127,65,8,32,2,65,1,116,34,2,32,3,32,2,32,3,75,27,34,2,32,2,65,8,77,27,34,2,65,3,116,33,3,2,127,32,11,4,64,32,11,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,11,32,15,32,2,54,2,8,32,15,32,11,54,2,0,32,15,40,2,4,34,7,65,1,106,5,32,3,11,54,2,4,32,11,32,7,65,3,116,106,32,17,41,3,40,55,2,0,32,17,32,4,54,2,44,32,17,32,13,54,2,40,32,38,65,1,106,34,38,32,1,71,13,0,11,11,32,15,40,2,4,34,13,32,8,77,13,0,3,64,32,15,32,13,65,1,107,34,2,54,2,4,32,17,32,15,40,2,0,32,2,65,3,116,106,41,2,0,34,56,55,3,40,32,17,32,56,167,34,2,32,2,40,2,36,65,3,116,107,41,2,0,34,56,55,3,32,32,17,32,56,167,65,8,107,41,2,0,34,56,55,3,16,32,17,32,56,55,3,24,32,17,65,16,106,32,24,16,128,1,32,17,32,17,41,3,32,55,3,8,32,17,65,8,106,32,24,16,128,1,32,17,32,17,41,3,40,55,3,0,32,17,32,24,16,128,1,32,15,40,2,4,34,13,32,8,75,13,0,11,11,32,17,65,48,106,36,0,32,5,32,5,40,2,172,10,65,16,32,1,32,1,65,16,77,27,65,4,118,65,255,1,113,106,34,2,65,0,32,2,65,227,0,77,27,34,2,54,2,172,10,2,64,32,2,13,0,32,5,40,2,176,10,34,2,4,64,32,2,40,2,0,13,6,11,2,64,32,5,41,3,144,10,80,4,64,32,18,40,2,0,69,13,1,11,32,10,65,200,1,106,16,237,1,32,10,41,3,200,1,34,57,32,5,41,3,144,10,34,56,85,13,6,32,56,32,57,85,13,0,32,10,40,2,208,1,32,18,40,2,0,74,13,6,11,32,5,40,2,204,10,34,2,69,13,0,32,9,32,2,17,0,0,13,5,11,32,0,65,3,75,13,0,11,32,5,40,2,152,9,33,2,11,32,5,32,2,65,1,107,34,0,54,2,152,9,32,12,40,2,36,34,2,4,127,65,0,33,1,3,64,2,64,32,12,32,2,65,3,116,107,32,1,65,3,116,106,41,2,0,34,56,167,34,0,65,1,113,13,0,32,0,40,2,36,69,13,0,32,0,40,2,0,65,1,71,13,0,32,5,40,2,148,9,33,2,32,5,32,5,40,2,152,9,34,4,65,1,106,34,3,32,5,40,2,156,9,34,0,75,4,127,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,3,116,33,3,2,127,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,2,32,5,32,0,54,2,156,9,32,5,32,2,54,2,148,9,32,5,40,2,152,9,34,4,65,1,106,5,32,3,11,54,2,152,9,32,2,32,4,65,3,116,106,32,56,55,2,0,32,12,40,2,36,33,2,11,32,1,65,1,106,34,1,32,2,73,13,0,11,32,5,40,2,152,9,5,32,0,11,13,0,11,11,32,5,65,0,58,0,225,10,2,64,32,5,40,2,96,34,1,69,4,64,32,5,40,2,140,10,69,13,3,32,5,35,1,65,203,8,106,34,0,40,0,0,54,0,132,1,32,5,32,0,45,0,4,58,0,136,1,32,5,65,132,1,106,33,2,12,1,11,32,5,35,1,65,203,8,106,34,0,40,0,0,54,0,132,1,32,5,32,0,45,0,4,58,0,136,1,32,5,40,2,92,65,0,32,5,65,132,1,106,34,2,32,1,17,3,0,32,5,40,2,140,10,69,13,2,11,3,64,2,64,2,64,32,2,45,0,0,34,1,65,34,70,13,0,32,1,65,220,0,70,13,0,32,1,13,1,32,5,40,2,160,9,33,19,32,5,41,0,180,9,34,56,32,5,40,2,140,10,34,0,69,13,5,26,32,10,32,56,55,3,200,1,32,10,65,200,1,106,65,0,32,19,65,0,32,0,16,69,65,10,32,5,40,2,140,10,16,241,1,12,4,11,65,220,0,32,5,40,2,140,10,16,241,1,32,2,45,0,0,33,1,11,32,1,192,32,5,40,2,140,10,16,241,1,32,2,65,1,106,33,2,12,0,11,0,11,32,5,65,1,58,0,225,10,65,0,33,1,12,3,11,32,5,40,2,160,9,33,19,32,5,41,0,180,9,11,33,56,32,5,40,2,68,33,3,32,5,40,2,100,33,4,65,20,35,5,40,2,0,17,0,0,34,1,32,19,54,2,8,32,1,32,56,55,2,0,32,1,32,4,65,24,35,7,40,2,0,17,1,0,34,2,54,2,12,32,4,65,24,108,34,0,4,64,32,2,32,3,32,0,252,10,0,0,11,32,1,32,4,54,2,16,32,5,66,0,55,2,180,9,32,5,16,63,12,1,11,32,5,16,63,11,32,10,65,160,2,106,36,0,32,5,66,0,55,3,200,10,32,37,65,16,106,36,0,32,31,65,48,106,36,0,32,1,11,55,0,32,0,32,1,65,1,118,32,2,40,2,0,32,2,40,2,4,65,1,118,32,3,16,1,32,3,65,254,207,0,32,3,40,2,0,65,1,116,34,1,32,1,65,255,207,0,75,27,54,2,0,32,0,11,14,0,32,0,40,2,4,32,0,45,0,8,16,2,11,204,2,1,6,127,35,0,65,16,107,34,4,36,0,32,4,65,0,54,2,12,32,4,32,0,40,2,100,54,2,12,32,0,40,2,68,33,1,32,4,40,2,12,34,2,65,24,108,34,0,16,137,2,33,3,32,0,4,64,32,3,32,1,32,0,252,10,0,0,11,2,64,32,2,69,13,0,65,0,33,1,32,2,65,1,71,4,64,32,2,65,126,113,33,5,3,64,32,3,32,1,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,3,32,1,65,1,114,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,1,65,2,106,33,1,32,6,65,2,106,34,6,32,5,71,13,0,11,11,32,2,65,1,113,69,13,0,32,3,32,1,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,11,35,9,34,0,32,3,54,2,4,32,0,32,2,54,2,0,32,4,65,16,106,36,0,11,9,0,32,0,32,1,16,28,69,11,11,0,32,0,32,1,16,28,65,2,73,11,72,1,3,127,35,0,65,16,107,34,1,36,0,32,1,32,0,40,2,0,65,15,79,4,127,32,0,40,2,152,1,33,2,32,0,40,2,148,1,5,65,0,11,54,2,12,35,9,34,3,32,2,54,2,4,32,3,32,1,40,2,12,54,2,0,32,1,65,16,106,36,0,11,136,1,1,3,127,35,0,65,16,107,34,2,36,0,35,9,34,3,2,127,2,64,2,64,32,1,65,253,255,3,75,13,0,32,0,40,2,0,65,15,73,13,0,32,0,40,2,72,32,1,65,3,108,106,45,0,2,65,1,113,13,1,11,32,2,65,0,54,2,12,65,0,12,1,11,32,0,40,2,156,1,32,1,65,2,116,106,34,1,47,1,0,33,4,32,2,32,1,47,1,2,54,2,12,32,0,40,2,160,1,32,4,65,1,116,106,11,54,2,4,32,3,32,2,40,2,12,54,2,0,32,2,65,16,106,36,0,11,181,1,1,4,127,35,0,65,32,107,34,1,36,0,2,127,32,0,40,0,0,34,2,65,1,113,4,64,32,0,45,0,5,65,15,113,33,3,32,0,45,0,4,33,4,32,0,45,0,6,12,1,11,32,2,40,2,12,33,4,32,2,40,2,8,33,3,32,2,40,2,4,11,33,2,32,1,32,0,54,2,28,32,1,32,0,54,2,24,32,1,65,0,54,2,20,32,1,32,4,54,2,16,32,1,32,3,54,2,12,32,1,32,2,54,2,8,35,9,34,0,32,1,40,2,20,54,2,16,32,0,32,1,40,2,12,54,2,8,32,0,32,1,40,2,24,54,2,0,32,0,32,1,40,2,16,65,1,118,54,2,12,32,0,32,1,40,2,8,65,1,118,54,2,4,32,1,65,32,106,36,0,11,128,2,2,6,127,1,126,35,0,65,48,107,34,1,36,0,35,9,34,2,40,2,20,33,3,32,1,32,2,40,2,28,65,1,116,54,2,44,32,1,32,2,40,2,24,54,2,40,32,1,32,1,41,2,40,55,3,8,32,3,65,1,116,33,6,32,1,41,2,8,33,7,2,127,32,0,40,0,0,34,3,65,1,113,4,64,32,0,45,0,5,65,15,113,33,4,32,0,45,0,4,33,5,32,0,45,0,6,12,1,11,32,3,40,2,12,33,5,32,3,40,2,8,33,4,32,3,40,2,4,11,33,3,32,1,32,0,54,2,36,32,1,32,0,54,2,32,32,1,65,0,54,2,28,32,1,32,3,32,6,106,54,2,16,32,1,32,4,32,7,167,106,54,2,20,32,1,65,0,32,7,66,32,136,167,32,4,27,32,5,106,54,2,24,32,2,32,1,40,2,28,54,2,16,32,2,32,1,40,2,20,54,2,8,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,24,65,1,118,54,2,12,32,2,32,1,40,2,16,65,1,118,54,2,4,32,1,65,48,106,36,0,11,148,25,2,32,127,6,126,35,0,65,48,107,34,5,36,0,32,5,35,9,34,3,40,2,24,65,1,116,54,2,12,32,5,32,3,40,2,28,65,1,116,54,2,16,32,5,32,3,40,2,32,65,1,116,54,2,20,32,5,32,3,53,2,0,32,3,53,2,4,66,33,134,132,55,2,24,32,5,32,3,53,2,8,32,3,53,2,12,66,33,134,132,55,2,32,32,5,32,3,53,2,16,32,3,53,2,20,66,33,134,132,55,2,40,35,0,65,48,107,34,12,36,0,32,0,34,23,40,2,16,4,64,3,64,2,64,32,23,40,2,12,32,4,65,24,108,106,34,0,40,2,20,34,3,32,5,40,2,16,34,2,79,4,64,32,3,65,127,70,13,1,32,0,32,5,40,2,20,32,3,32,2,107,106,34,2,54,2,20,32,0,32,0,40,2,12,34,3,32,5,40,2,44,32,3,32,5,40,2,36,107,34,1,65,0,32,1,32,3,77,27,106,32,0,40,2,8,34,3,32,5,40,2,32,34,1,75,27,173,66,32,134,32,5,40,2,40,32,3,32,1,107,34,1,65,0,32,1,32,3,77,27,106,173,132,55,2,8,32,2,32,5,40,2,20,79,13,1,32,0,66,127,55,2,8,32,0,65,127,54,2,20,12,1,11,32,3,32,5,40,2,12,34,2,77,13,0,32,0,32,2,54,2,20,32,0,32,5,41,2,24,55,2,8,11,2,64,32,0,40,2,16,34,3,32,5,40,2,16,34,2,79,4,64,32,0,32,5,40,2,20,32,3,32,2,107,106,34,2,54,2,16,32,0,32,0,40,2,4,34,3,32,5,40,2,44,32,3,32,5,40,2,36,107,34,1,65,0,32,1,32,3,77,27,106,32,0,40,2,0,34,3,32,5,40,2,32,34,1,75,27,173,66,32,134,32,5,40,2,40,32,3,32,1,107,34,1,65,0,32,1,32,3,77,27,106,173,132,55,2,0,32,2,32,5,40,2,20,79,13,1,32,0,66,127,55,2,0,32,0,65,127,54,2,16,12,1,11,32,3,32,5,40,2,12,34,2,77,13,0,32,0,32,2,54,2,16,32,0,32,5,41,2,24,55,2,0,11,32,4,65,1,106,34,4,32,23,40,2,16,73,13,0,11,11,32,12,66,0,55,3,40,32,12,66,0,55,3,32,32,12,66,0,55,3,24,32,12,32,23,41,2,0,55,3,8,32,12,65,24,106,33,24,35,0,65,48,107,34,15,36,0,65,192,2,35,5,40,2,0,17,0,0,33,9,32,5,40,2,12,33,0,32,5,41,2,24,33,36,32,5,40,2,16,33,3,32,5,41,2,32,33,35,32,5,40,2,20,33,2,32,9,32,5,41,2,40,55,2,32,32,9,32,2,54,2,28,32,9,32,35,55,2,20,32,9,32,3,54,2,16,32,9,32,36,55,2,8,32,9,32,0,54,2,4,32,9,32,12,65,8,106,54,2,0,65,1,33,0,65,8,33,25,3,64,2,126,32,9,32,0,65,1,107,34,3,65,40,108,106,34,2,40,2,0,34,19,40,0,0,34,1,65,1,113,34,10,4,64,32,19,45,0,7,34,0,173,66,32,134,33,34,32,19,45,0,6,33,6,65,1,33,26,32,19,45,0,5,34,17,65,15,113,173,32,19,49,0,4,66,32,134,132,12,1,11,32,1,45,0,45,65,1,113,69,33,26,32,1,40,2,4,33,6,32,19,45,0,5,33,17,32,1,41,2,20,33,34,32,1,40,2,16,33,0,32,1,41,2,8,11,33,33,32,0,32,6,106,33,4,2,64,32,2,40,2,4,34,11,32,4,32,10,4,127,32,17,65,240,1,113,65,4,118,5,32,1,40,2,28,11,34,17,106,34,1,75,4,64,32,3,33,0,12,1,11,32,2,41,2,32,33,35,32,2,40,2,28,33,10,32,2,40,2,24,33,18,32,2,40,2,20,33,16,32,2,41,2,8,33,38,2,64,32,2,40,2,16,34,14,32,11,71,13,0,32,10,32,11,71,13,0,32,1,32,11,71,13,0,32,3,33,0,12,1,11,32,33,66,32,136,167,33,1,32,35,66,32,136,167,33,22,32,33,167,33,2,2,127,32,6,32,14,79,4,64,32,35,167,32,2,32,16,107,34,4,65,0,32,2,32,4,79,27,106,173,32,1,32,1,32,18,107,34,4,65,0,32,1,32,4,79,27,32,22,106,32,2,32,16,75,27,173,66,32,134,132,33,33,32,10,32,14,107,32,6,106,33,6,32,0,12,1,11,32,34,167,33,13,32,34,66,32,136,167,33,7,32,6,32,11,75,4,64,32,14,32,6,107,33,4,66,0,33,34,32,10,33,6,32,35,33,33,65,0,32,0,32,4,65,0,32,4,32,14,77,27,34,4,77,13,1,26,32,7,32,7,32,18,32,18,32,1,107,34,1,65,0,32,1,32,18,77,27,32,2,32,16,73,27,107,34,1,65,0,32,1,32,7,77,27,32,13,32,16,32,2,107,34,2,65,0,32,2,32,16,77,27,34,2,75,27,173,66,32,134,32,13,32,2,107,34,2,65,0,32,2,32,13,77,27,173,132,33,34,32,0,32,4,107,12,1,11,2,64,32,4,32,11,75,13,0,32,4,32,11,70,32,11,32,14,70,113,13,0,32,0,12,1,11,65,0,33,8,32,10,32,6,107,34,0,65,0,32,0,32,10,77,27,33,20,32,22,32,22,32,1,107,34,0,65,0,32,0,32,22,77,27,32,35,167,34,0,32,2,75,27,33,21,32,0,32,2,107,34,2,65,0,32,0,32,2,79,27,33,2,66,0,33,37,32,4,32,14,75,4,64,65,0,32,1,32,13,27,32,7,106,34,0,32,0,32,18,107,34,1,65,0,32,0,32,1,79,27,32,33,32,34,124,167,34,0,32,16,75,27,173,66,32,134,32,0,32,16,107,34,1,65,0,32,0,32,1,79,27,173,132,33,37,32,4,32,14,107,33,8,11,32,37,66,32,136,167,65,0,32,21,32,37,167,34,0,27,106,173,66,32,134,32,0,32,2,106,173,132,33,34,32,8,32,20,106,11,33,8,32,15,32,19,41,0,0,34,36,55,3,16,32,36,66,32,136,167,33,0,2,64,32,36,167,34,4,65,1,113,4,64,32,4,33,2,12,1,11,32,4,34,2,40,2,0,65,1,70,13,0,32,2,40,2,36,65,3,116,65,204,0,106,34,0,35,5,40,2,0,17,0,0,33,13,32,0,4,64,32,13,32,2,32,2,40,2,36,65,3,116,107,32,0,252,10,0,0,11,32,13,32,4,40,2,36,34,0,65,3,116,106,33,2,65,0,33,1,2,64,32,0,4,64,3,64,32,13,32,1,65,3,116,106,40,0,0,34,7,65,1,113,69,4,64,32,7,32,7,40,2,0,65,1,106,54,2,0,32,7,40,2,0,26,32,4,40,2,36,33,0,11,32,1,65,1,106,34,1,32,0,73,13,0,12,2,11,0,11,32,4,45,0,44,65,192,0,113,69,13,0,32,4,40,2,48,33,1,32,15,32,4,41,2,68,55,3,40,32,15,32,4,41,2,60,55,3,32,32,15,32,4,41,2,52,55,3,24,2,64,32,4,40,2,72,34,0,65,25,73,13,0,32,0,35,5,40,2,0,17,0,0,33,1,32,4,40,2,72,34,0,69,13,0,32,1,32,4,40,2,48,32,0,252,10,0,0,11,32,2,32,1,54,2,48,32,2,32,15,41,3,24,55,2,52,32,2,32,15,41,3,32,55,2,60,32,2,32,15,41,3,40,55,2,68,11,32,2,65,1,54,2,0,32,15,32,15,41,3,16,55,3,8,32,24,32,15,65,8,106,16,60,65,0,33,0,11,2,64,2,64,32,2,65,1,113,4,64,2,64,32,17,65,15,75,13,0,32,6,65,254,1,75,13,0,32,33,66,255,255,255,255,239,31,86,13,0,32,33,66,240,255,255,255,15,131,66,0,82,13,0,32,8,65,254,1,75,13,0,32,34,66,255,255,255,255,239,31,86,13,0,32,34,66,255,255,255,255,15,131,66,0,82,13,0,32,33,66,32,136,167,32,33,167,65,8,116,65,128,30,113,32,0,65,128,224,3,113,114,32,6,65,16,116,114,114,32,8,65,24,116,114,33,0,12,2,11,2,127,32,24,40,2,4,34,1,4,64,32,24,32,1,65,1,107,34,1,54,2,4,32,24,40,2,0,32,1,65,3,116,106,40,2,0,12,1,11,65,204,0,35,5,40,2,0,17,0,0,11,34,1,66,0,55,2,32,32,1,32,17,54,2,28,32,1,32,34,55,2,20,32,1,32,8,54,2,16,32,1,32,33,55,2,8,32,1,32,6,54,2,4,32,1,65,1,54,2,0,32,1,32,2,65,16,118,59,1,42,32,1,32,2,65,128,254,3,113,65,8,118,59,1,40,32,1,32,1,47,1,44,65,128,241,3,113,32,2,65,4,116,34,4,65,128,4,113,32,2,65,1,118,65,7,113,114,32,4,65,128,8,113,114,114,59,1,44,12,2,11,32,2,32,34,55,2,20,32,2,32,8,54,2,16,32,2,32,33,55,2,8,32,2,32,6,54,2,4,11,32,2,33,1,11,2,64,32,1,65,1,113,4,64,32,1,65,16,114,33,1,12,1,11,32,1,32,1,47,1,44,65,32,114,59,1,44,11,32,19,32,1,173,32,0,173,66,32,134,132,55,2,0,32,1,65,1,113,4,64,32,3,33,0,12,1,11,32,1,40,2,36,34,32,69,4,64,32,3,33,0,12,1,11,32,38,66,32,136,167,33,27,32,38,167,33,28,32,33,167,33,29,66,0,33,33,65,0,33,2,65,0,33,1,3,64,32,19,40,2,0,34,0,32,0,40,2,36,65,3,116,107,32,2,65,3,116,106,34,20,45,0,5,33,4,2,127,32,20,40,0,0,34,0,65,1,113,34,6,4,64,32,4,65,15,113,33,17,32,20,45,0,4,33,30,32,20,45,0,7,34,31,32,20,45,0,6,106,12,1,11,65,0,32,0,40,2,12,32,0,40,2,20,34,8,27,33,30,32,8,32,0,40,2,8,106,33,17,32,0,40,2,24,33,31,32,0,40,2,16,32,0,40,2,4,106,11,34,8,32,1,106,33,13,32,33,66,32,136,167,33,21,32,33,167,33,7,2,64,32,11,32,6,4,127,32,4,65,240,1,113,65,4,118,5,32,0,40,2,28,11,32,13,106,75,4,64,32,3,33,0,12,1,11,2,64,2,64,32,1,32,14,77,4,64,32,2,69,13,2,32,1,32,14,71,13,2,32,8,69,13,2,32,26,32,7,32,29,75,114,13,1,12,2,11,32,26,32,7,32,29,75,114,69,13,1,11,32,6,4,64,32,3,33,0,12,4,11,32,0,45,0,45,65,1,113,69,4,64,32,3,33,0,12,4,11,32,18,32,22,70,4,64,32,3,33,0,12,4,11,32,7,32,16,77,13,0,32,3,33,0,12,3,11,66,0,33,34,65,0,33,4,65,0,33,8,66,0,33,33,32,1,32,11,73,4,64,32,11,32,1,107,33,8,32,28,32,7,107,34,0,65,0,32,0,32,28,77,27,173,32,27,32,27,32,21,107,34,0,65,0,32,0,32,27,77,27,32,7,32,28,73,27,173,66,32,134,132,33,33,11,32,1,32,14,73,4,64,32,16,32,7,107,34,0,65,0,32,0,32,16,77,27,173,32,18,32,18,32,21,107,34,0,65,0,32,0,32,18,77,27,32,7,32,16,73,27,173,66,32,134,132,33,34,32,14,32,1,107,33,4,11,2,127,32,1,32,10,79,4,64,66,0,33,37,65,0,12,1,11,32,35,66,32,136,167,34,0,32,0,32,21,107,34,6,65,0,32,0,32,6,79,27,32,35,167,34,0,32,7,75,27,173,66,32,134,32,0,32,7,107,34,6,65,0,32,0,32,6,79,27,173,132,33,37,32,10,32,1,107,11,33,6,2,127,32,11,32,13,73,4,64,32,38,33,36,32,11,12,1,11,32,38,33,36,32,11,32,11,32,13,70,32,11,32,14,70,113,13,0,26,32,35,33,36,32,8,34,4,33,6,32,33,34,34,33,37,32,10,11,33,10,2,64,32,3,65,1,106,34,0,32,25,77,13,0,65,8,32,25,65,1,116,34,1,32,0,32,0,32,1,73,27,34,1,32,1,65,8,77,27,34,25,65,40,108,33,1,32,9,4,64,32,9,32,1,35,4,40,2,0,17,1,0,33,9,12,1,11,32,1,35,5,40,2,0,17,0,0,33,9,11,32,9,32,3,65,40,108,106,34,3,32,37,55,2,32,32,3,32,6,54,2,28,32,3,32,34,55,2,20,32,3,32,4,54,2,16,32,3,32,33,55,2,8,32,3,32,8,54,2,4,32,3,32,20,54,2,0,32,0,33,3,32,36,33,35,11,32,7,32,17,106,173,32,30,32,31,106,65,0,32,21,32,17,27,106,173,66,32,134,132,33,33,32,13,33,1,32,2,65,1,106,34,2,32,32,71,13,0,11,11,32,0,13,0,11,32,9,4,64,32,9,35,6,40,2,0,17,2,0,11,32,12,32,12,41,2,8,55,2,16,32,15,65,48,106,36,0,32,23,32,12,41,3,16,55,2,0,32,12,40,2,24,34,1,4,64,2,64,32,12,40,2,28,34,4,69,13,0,65,0,33,2,65,0,33,3,32,4,65,4,79,4,64,32,4,65,124,113,33,8,65,0,33,0,3,64,32,1,32,3,65,3,116,106,34,6,40,2,0,35,6,34,10,40,2,0,17,2,0,32,6,40,2,8,32,10,40,2,0,17,2,0,32,6,40,2,16,32,10,40,2,0,17,2,0,32,6,40,2,24,32,10,40,2,0,17,2,0,32,3,65,4,106,33,3,32,0,65,4,106,34,0,32,8,71,13,0,11,11,32,4,65,3,113,34,0,69,13,0,3,64,32,1,32,3,65,3,116,106,40,2,0,35,6,40,2,0,17,2,0,32,3,65,1,106,33,3,32,2,65,1,106,34,2,32,0,71,13,0,11,11,32,1,35,6,40,2,0,17,2,0,11,32,12,40,2,36,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,12,65,48,106,36,0,32,5,65,48,106,36,0,11,180,1,1,4,127,35,0,65,16,107,34,3,36,0,32,3,32,0,40,2,16,34,1,54,2,12,32,1,65,24,35,7,40,2,0,17,1,0,33,1,32,0,40,2,16,65,24,108,34,4,4,64,32,1,32,0,40,2,12,32,4,252,10,0,0,11,32,3,40,2,12,4,64,3,64,32,1,32,2,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,2,65,1,106,34,2,32,3,40,2,12,34,0,73,13,0,11,32,0,33,2,11,35,9,34,0,32,1,54,2,4,32,0,32,2,54,2,0,32,3,65,16,106,36,0,11,216,48,2,27,127,3,126,35,0,65,16,107,34,24,36,0,35,0,65,64,106,34,7,36,0,32,7,65,0,54,2,60,32,7,66,0,55,2,36,32,7,66,0,55,2,28,2,127,32,0,40,0,0,34,2,65,1,113,4,64,32,0,45,0,4,33,12,32,0,45,0,6,33,13,32,0,45,0,5,65,15,113,12,1,11,32,2,40,2,12,33,12,32,2,40,2,4,33,13,32,2,40,2,8,11,33,8,32,7,65,0,59,1,60,32,7,32,0,54,2,44,32,7,65,224,1,35,5,40,2,0,17,0,0,34,2,54,2,48,32,7,66,129,128,128,128,128,1,55,2,52,32,2,65,0,54,2,24,32,2,66,0,55,2,16,32,2,32,12,54,2,12,32,2,32,8,54,2,8,32,2,32,13,54,2,4,32,2,32,0,54,2,0,2,127,32,1,40,0,0,34,2,65,1,113,4,64,32,1,45,0,4,33,12,32,1,45,0,6,33,13,32,1,45,0,5,65,15,113,12,1,11,32,2,40,2,12,33,12,32,2,40,2,4,33,13,32,2,40,2,8,11,33,2,32,7,65,0,59,1,40,32,7,32,1,54,2,24,32,7,40,2,28,33,8,32,7,40,2,36,69,4,64,2,127,32,8,4,64,32,8,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,8,32,7,65,8,54,2,36,32,7,32,8,54,2,28,11,32,7,65,1,54,2,32,32,8,65,0,54,2,24,32,8,66,0,55,2,16,32,8,32,12,54,2,12,32,8,32,2,54,2,8,32,8,32,13,54,2,4,32,8,32,1,54,2,0,32,7,65,0,54,2,16,32,7,66,0,55,3,8,32,0,40,2,12,32,0,40,2,16,32,1,40,2,12,32,1,40,2,16,32,7,65,8,106,16,16,32,0,34,19,40,2,8,33,2,35,0,65,224,0,107,34,5,36,0,32,7,65,0,54,2,52,32,7,40,2,48,33,0,32,7,32,7,40,2,56,4,127,65,0,5,2,127,32,0,4,64,32,0,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,0,32,7,65,8,54,2,56,32,7,32,0,54,2,48,32,7,40,2,52,11,34,8,65,1,106,54,2,52,32,5,65,0,54,2,8,32,5,66,0,55,3,0,32,0,32,8,65,28,108,106,34,0,32,19,54,2,0,32,0,32,5,41,3,0,55,2,4,32,0,32,5,40,2,8,54,2,12,32,0,65,0,54,2,24,32,0,66,0,55,2,16,32,5,32,7,40,2,60,54,2,56,32,5,32,7,41,2,52,55,3,48,32,7,41,2,44,33,29,32,5,65,0,54,2,76,32,5,32,29,55,3,40,32,5,66,0,55,2,68,32,5,65,1,54,2,64,32,5,32,2,54,2,60,32,7,65,0,54,2,32,32,7,40,2,28,33,0,32,7,40,2,36,69,4,64,2,127,32,0,4,64,32,0,65,224,1,35,4,40,2,0,17,1,0,12,1,11,65,224,1,35,5,40,2,0,17,0,0,11,33,0,32,7,65,8,54,2,36,32,7,32,0,54,2,28,32,7,40,2,32,33,4,11,32,7,32,4,65,1,106,54,2,32,32,5,65,0,54,2,88,32,5,66,0,55,3,80,32,0,32,4,65,28,108,106,34,0,32,1,34,22,54,2,0,32,0,32,5,41,3,80,55,2,4,32,0,32,5,40,2,88,54,2,12,32,0,65,0,54,2,24,32,0,66,0,55,2,16,32,5,32,7,40,2,40,54,2,16,32,5,32,7,41,2,32,55,3,8,32,7,41,2,24,33,29,32,5,65,0,54,2,36,32,5,32,29,55,3,0,32,5,66,0,55,2,28,32,5,65,1,54,2,24,32,5,32,2,54,2,20,32,5,40,2,44,32,5,40,2,48,34,11,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,12,32,0,65,24,107,40,2,0,33,8,2,64,32,5,45,0,68,65,1,70,4,64,32,12,173,32,2,173,66,32,134,132,33,30,12,1,11,32,12,2,127,32,0,65,28,107,40,2,0,34,0,40,0,0,34,1,65,1,113,4,64,32,0,45,0,4,33,13,32,0,45,0,6,33,3,32,0,45,0,5,65,15,113,12,1,11,32,1,40,2,12,33,13,32,1,40,2,4,33,3,32,1,40,2,8,11,34,0,106,173,65,0,32,2,32,0,27,32,13,106,173,66,32,134,132,33,30,32,3,32,8,106,33,8,11,32,5,40,2,4,32,5,40,2,8,34,15,65,28,108,106,34,0,65,16,107,40,2,0,33,12,32,0,65,20,107,40,2,0,33,13,32,0,65,24,107,40,2,0,33,4,2,127,32,0,65,28,107,40,2,0,34,1,40,0,0,34,2,65,1,113,4,64,32,1,45,0,5,65,15,113,33,0,32,1,45,0,4,33,6,32,1,45,0,6,12,1,11,32,2,40,2,12,33,6,32,2,40,2,8,33,0,32,2,40,2,4,11,33,1,32,0,32,13,106,173,65,0,32,12,32,0,27,32,6,106,173,66,32,134,132,33,29,2,127,2,64,32,1,32,4,106,34,2,32,8,75,4,64,32,30,33,31,32,29,33,30,32,8,33,0,32,2,33,8,12,1,11,32,29,33,31,65,0,32,8,32,2,34,0,77,13,1,26,11,65,192,1,35,5,40,2,0,17,0,0,34,10,32,8,54,2,20,32,10,32,0,54,2,16,32,10,32,30,55,2,8,32,10,32,31,55,2,0,65,8,33,17,32,30,33,29,32,8,33,2,65,1,11,33,12,65,0,33,13,3,64,32,11,65,1,107,33,4,2,127,2,64,2,64,2,64,32,5,45,0,68,34,16,65,1,70,4,64,32,4,13,1,12,3,11,32,11,69,13,2,12,1,11,32,11,65,2,107,33,4,11,32,5,40,2,60,33,6,32,5,40,2,44,33,9,3,64,32,9,32,4,34,0,65,28,108,106,34,1,40,2,0,33,14,65,0,33,4,2,64,32,0,69,13,0,32,1,65,28,107,40,2,0,40,2,0,47,1,66,34,3,69,13,0,32,6,40,2,84,32,6,47,1,36,32,3,108,65,1,116,106,32,1,40,2,20,65,1,116,106,47,1,0,33,4,11,2,64,2,127,32,14,40,0,0,34,3,65,1,113,4,64,32,3,65,1,118,65,1,113,12,1,11,32,3,47,1,44,65,1,113,11,13,0,32,4,65,255,255,3,113,13,0,32,0,65,1,107,33,4,32,0,69,13,2,12,1,11,11,32,3,65,8,118,33,9,32,14,45,0,7,33,20,32,1,40,2,4,12,1,11,65,0,33,3,65,0,33,9,65,0,33,20,65,0,33,4,65,0,11,33,27,32,15,65,1,107,33,1,2,127,2,64,2,64,2,64,32,5,45,0,28,34,25,65,1,70,4,64,32,1,13,1,12,3,11,32,15,69,13,2,12,1,11,32,15,65,2,107,33,1,11,32,5,40,2,20,33,18,32,5,40,2,4,33,26,3,64,32,26,32,1,34,0,65,28,108,106,34,14,40,2,0,33,21,65,0,33,1,2,64,32,0,69,13,0,32,14,65,28,107,40,2,0,40,2,0,47,1,66,34,6,69,13,0,32,18,40,2,84,32,18,47,1,36,32,6,108,65,1,116,106,32,14,40,2,20,65,1,116,106,47,1,0,33,1,11,2,64,2,127,32,21,40,0,0,34,6,65,1,113,4,64,32,6,65,1,118,65,1,113,12,1,11,32,6,47,1,44,65,1,113,11,13,0,32,1,65,255,255,3,113,13,0,32,0,65,1,107,33,1,32,0,69,13,2,12,1,11,11,32,6,65,8,118,33,0,32,21,45,0,7,33,18,32,14,40,2,4,12,1,11,65,0,33,6,65,0,33,0,65,0,33,18,65,0,33,1,65,0,11,33,26,32,3,65,1,113,34,14,4,127,32,9,65,255,1,113,5,32,3,47,1,40,11,33,28,2,127,2,64,2,64,2,64,2,64,2,64,2,127,32,6,65,1,113,34,21,69,4,64,32,3,65,0,71,33,9,32,6,47,1,40,33,0,65,1,12,1,11,32,3,32,6,114,69,13,3,32,3,65,0,71,33,9,32,0,65,255,1,113,33,0,32,6,65,0,71,11,69,13,0,32,9,69,13,0,32,4,65,255,255,3,113,32,1,65,255,255,3,113,71,13,0,32,28,65,255,255,3,113,34,4,32,0,65,255,255,3,113,71,13,0,32,3,65,1,113,69,4,64,32,3,40,2,16,33,20,11,32,6,65,1,113,69,4,64,32,6,40,2,16,33,18,11,32,14,4,127,32,3,65,16,118,5,32,3,47,1,42,11,33,0,32,21,4,127,32,6,65,16,118,5,32,6,47,1,42,11,33,15,65,0,33,9,65,0,33,1,32,14,69,4,64,32,3,45,0,44,65,192,0,113,65,6,118,33,1,11,32,21,69,4,64,32,6,45,0,44,65,192,0,113,65,6,118,33,9,11,2,127,32,3,65,26,116,65,31,117,65,226,4,113,32,14,13,0,26,65,226,4,32,3,45,0,45,65,2,113,13,0,26,32,3,40,2,32,11,33,25,2,127,32,6,65,26,116,65,31,117,65,226,4,113,32,21,13,0,26,65,226,4,32,6,45,0,45,65,2,113,13,0,26,32,6,40,2,32,11,33,6,32,26,32,27,71,13,3,32,4,65,255,255,3,70,13,3,32,18,32,20,71,13,3,32,0,65,255,255,3,113,34,0,65,255,255,3,70,13,3,32,15,65,255,255,3,113,34,4,65,255,255,3,70,13,3,32,0,69,32,4,69,115,13,3,32,6,32,25,71,13,3,32,1,32,9,115,13,3,32,14,4,127,32,3,65,4,118,65,1,113,5,32,3,47,1,44,65,5,118,65,1,113,11,13,3,32,1,69,13,2,2,127,35,1,65,148,12,106,34,1,32,5,40,2,72,34,0,69,13,0,26,32,1,32,0,65,1,113,13,0,26,32,1,32,0,45,0,44,65,192,0,113,69,13,0,26,32,1,32,0,65,48,106,32,0,40,2,36,27,11,34,0,40,2,24,33,3,2,127,35,1,65,148,12,106,34,4,32,5,40,2,32,34,1,69,13,0,26,32,4,32,1,65,1,113,13,0,26,32,4,32,1,45,0,44,65,192,0,113,69,13,0,26,32,4,32,1,65,48,106,32,1,40,2,36,27,11,34,4,40,2,24,34,1,65,25,79,4,64,32,1,32,3,71,13,4,32,0,40,2,0,33,0,32,4,40,2,0,33,4,12,2,11,32,1,32,3,70,13,1,12,3,11,32,5,40,2,44,32,11,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,3,32,0,65,24,107,40,2,0,33,9,32,5,40,2,4,32,15,65,28,108,106,34,6,65,16,107,40,2,0,33,11,32,6,65,20,107,40,2,0,33,15,32,6,65,24,107,40,2,0,33,14,2,126,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,4,40,0,0,34,1,65,1,113,4,64,32,9,32,4,45,0,6,106,33,0,32,3,32,4,45,0,5,65,15,113,34,1,106,33,3,32,4,45,0,4,65,0,32,2,32,1,27,106,33,2,32,16,13,1,32,0,32,4,45,0,7,34,4,106,12,3,11,32,1,40,2,12,65,0,32,2,32,1,40,2,8,34,0,27,106,33,2,32,0,32,3,106,33,3,32,1,40,2,4,32,9,106,33,0,32,16,69,13,1,11,32,3,173,32,2,173,66,32,134,132,12,2,11,65,0,32,2,32,1,40,2,20,34,4,27,33,2,32,3,32,4,106,33,3,32,1,40,2,24,33,4,32,1,40,2,16,32,0,106,11,33,0,32,3,173,32,2,32,4,106,173,66,32,134,132,11,2,126,2,127,2,64,2,64,32,6,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,14,32,1,45,0,6,106,33,4,32,15,32,1,45,0,5,65,15,113,34,3,106,33,2,32,1,45,0,4,65,0,32,11,32,3,27,106,33,6,32,25,13,1,32,4,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,11,32,3,40,2,8,34,1,27,106,33,6,32,1,32,15,106,33,2,32,3,40,2,4,32,14,106,33,4,32,25,69,13,1,11,32,2,173,32,6,173,66,32,134,132,12,2,11,65,0,32,6,32,3,40,2,20,34,1,27,33,6,32,1,32,2,106,33,2,32,3,40,2,24,33,1,32,3,40,2,16,32,4,106,11,33,4,32,2,173,32,1,32,6,106,173,66,32,134,132,11,32,0,32,4,73,34,1,27,33,29,32,0,32,4,32,1,27,33,2,12,3,11,32,0,32,4,32,1,16,248,1,13,1,11,32,5,40,2,44,32,11,65,28,108,106,34,4,65,24,107,40,2,0,33,6,2,127,32,4,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,34,11,4,64,32,6,32,1,45,0,6,106,34,0,32,16,13,1,26,32,0,32,1,45,0,7,106,12,1,11,32,3,40,2,4,32,6,106,34,0,32,16,13,0,26,32,3,40,2,16,32,0,106,11,33,9,2,64,32,13,32,7,40,2,12,34,15,79,13,0,32,7,40,2,8,33,14,32,13,33,0,3,64,32,8,32,14,32,0,65,24,108,106,34,20,40,2,20,79,4,64,32,15,32,0,65,1,106,34,0,71,13,1,12,2,11,11,32,20,40,2,16,32,9,73,13,1,11,32,4,65,16,107,40,2,0,33,9,32,4,65,20,107,40,2,0,33,0,2,127,2,64,2,64,32,11,4,64,32,6,32,1,45,0,6,106,33,2,32,0,32,1,45,0,5,65,15,113,34,4,106,33,0,32,1,45,0,4,65,0,32,9,32,4,27,106,33,4,32,16,13,1,32,2,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,9,32,3,40,2,8,34,1,27,106,33,4,32,0,32,1,106,33,0,32,3,40,2,4,32,6,106,33,2,32,16,69,13,1,11,32,0,173,32,4,173,66,32,134,132,33,29,65,0,12,4,11,65,0,32,4,32,3,40,2,20,34,1,27,33,4,32,0,32,1,106,33,0,32,3,40,2,24,33,1,32,3,40,2,16,32,2,106,11,33,2,32,0,173,32,1,32,4,106,173,66,32,134,132,33,29,65,0,12,2,11,32,5,65,40,106,32,8,16,17,33,1,32,5,32,8,16,17,33,0,32,1,4,64,65,0,32,0,13,2,26,32,5,40,2,44,32,5,40,2,48,65,28,108,106,34,0,65,16,107,40,2,0,33,3,32,0,65,20,107,40,2,0,33,1,32,0,65,24,107,40,2,0,33,2,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,0,40,0,0,34,4,65,1,113,4,64,32,2,32,0,45,0,6,106,33,2,32,1,32,0,45,0,5,65,15,113,34,4,106,33,1,32,0,45,0,4,65,0,32,3,32,4,27,106,33,3,32,5,45,0,68,13,1,32,2,32,0,45,0,7,34,0,106,12,3,11,32,4,40,2,12,65,0,32,3,32,4,40,2,8,34,0,27,106,33,3,32,0,32,1,106,33,1,32,4,40,2,4,32,2,106,33,2,32,5,45,0,68,65,1,71,13,1,11,32,1,173,32,3,173,66,32,134,132,33,29,12,3,11,65,0,32,3,32,4,40,2,20,34,0,27,33,3,32,0,32,1,106,33,1,32,4,40,2,24,33,0,32,4,40,2,16,32,2,106,11,33,2,32,1,173,32,0,32,3,106,173,66,32,134,132,33,29,12,1,11,32,0,4,64,32,5,40,2,4,32,5,40,2,8,65,28,108,106,34,0,65,16,107,40,2,0,33,3,32,0,65,20,107,40,2,0,33,1,32,0,65,24,107,40,2,0,33,2,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,0,40,0,0,34,4,65,1,113,4,64,32,2,32,0,45,0,6,106,33,2,32,1,32,0,45,0,5,65,15,113,34,4,106,33,1,32,0,45,0,4,65,0,32,3,32,4,27,106,33,3,32,5,45,0,28,13,1,32,2,32,0,45,0,7,34,0,106,12,3,11,32,4,40,2,12,65,0,32,3,32,4,40,2,8,34,0,27,106,33,3,32,0,32,1,106,33,1,32,4,40,2,4,32,2,106,33,2,32,5,45,0,28,65,1,71,13,1,11,32,1,173,32,3,173,66,32,134,132,33,29,12,3,11,65,0,32,3,32,4,40,2,20,34,0,27,33,3,32,0,32,1,106,33,1,32,4,40,2,24,33,0,32,4,40,2,16,32,2,106,11,33,2,32,1,173,32,0,32,3,106,173,66,32,134,132,33,29,12,1,11,32,5,40,2,44,32,5,40,2,48,65,28,108,106,34,0,65,16,107,40,2,0,33,2,32,0,65,20,107,40,2,0,33,3,32,0,65,24,107,40,2,0,33,9,32,5,40,2,4,32,5,40,2,8,65,28,108,106,34,6,65,16,107,40,2,0,33,11,32,6,65,20,107,40,2,0,33,16,32,6,65,24,107,40,2,0,33,15,2,126,2,127,2,64,2,64,32,0,65,28,107,40,2,0,34,4,40,0,0,34,1,65,1,113,4,64,32,9,32,4,45,0,6,106,33,0,32,3,32,4,45,0,5,65,15,113,34,1,106,33,3,32,4,45,0,4,65,0,32,2,32,1,27,106,33,2,32,5,45,0,68,13,1,32,0,32,4,45,0,7,34,4,106,12,3,11,32,1,40,2,12,65,0,32,2,32,1,40,2,8,34,0,27,106,33,2,32,0,32,3,106,33,3,32,1,40,2,4,32,9,106,33,0,32,5,45,0,68,65,1,71,13,1,11,32,3,173,32,2,173,66,32,134,132,12,2,11,65,0,32,2,32,1,40,2,20,34,4,27,33,2,32,3,32,4,106,33,3,32,1,40,2,24,33,4,32,1,40,2,16,32,0,106,11,33,0,32,3,173,32,2,32,4,106,173,66,32,134,132,11,2,126,2,127,2,64,2,64,32,6,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,15,32,1,45,0,6,106,33,4,32,16,32,1,45,0,5,65,15,113,34,3,106,33,2,32,1,45,0,4,65,0,32,11,32,3,27,106,33,6,32,5,45,0,28,13,1,32,4,32,1,45,0,7,34,1,106,12,3,11,32,3,40,2,12,65,0,32,11,32,3,40,2,8,34,1,27,106,33,6,32,1,32,16,106,33,2,32,3,40,2,4,32,15,106,33,4,32,5,45,0,28,65,1,71,13,1,11,32,2,173,32,6,173,66,32,134,132,12,2,11,65,0,32,6,32,3,40,2,20,34,1,27,33,6,32,1,32,2,106,33,2,32,3,40,2,24,33,1,32,3,40,2,16,32,4,106,11,33,4,32,2,173,32,1,32,6,106,173,66,32,134,132,11,32,0,32,4,73,34,1,27,33,29,32,0,32,4,32,1,27,33,2,65,0,12,1,11,65,1,11,33,15,65,0,33,4,2,64,32,5,40,2,48,34,0,69,13,0,3,64,32,5,40,2,44,32,0,34,4,65,28,108,106,34,1,65,24,107,40,2,0,33,0,2,127,32,1,65,28,107,40,2,0,34,1,40,0,0,34,3,65,1,113,4,64,32,0,32,1,45,0,6,106,34,0,32,5,45,0,68,13,1,26,32,0,32,1,45,0,7,106,12,1,11,32,3,40,2,4,32,0,106,34,0,32,5,45,0,68,13,0,26,32,3,40,2,16,32,0,106,11,32,2,75,13,1,32,5,65,40,106,16,18,32,5,40,2,48,34,0,13,0,11,65,0,33,4,11,2,64,3,64,32,5,40,2,8,34,0,4,64,32,5,40,2,4,32,0,65,28,108,106,34,3,65,24,107,40,2,0,33,1,2,127,32,3,65,28,107,40,2,0,34,3,40,0,0,34,6,65,1,113,4,64,32,1,32,3,45,0,6,106,34,1,32,5,45,0,28,13,1,26,32,1,32,3,45,0,7,106,12,1,11,32,6,40,2,4,32,1,106,34,1,32,5,45,0,28,13,0,26,32,6,40,2,16,32,1,106,11,32,2,75,13,2,32,5,16,18,12,1,11,11,65,0,33,0,11,32,5,45,0,68,33,6,32,5,40,2,64,34,1,32,5,40,2,24,34,3,75,4,64,32,5,40,2,60,33,11,32,5,40,2,44,33,14,3,64,32,4,4,127,2,64,2,127,32,14,32,4,65,28,108,106,34,9,65,28,107,40,2,0,40,0,0,34,16,65,1,113,4,64,32,16,65,1,118,65,1,113,12,1,11,32,16,47,1,44,65,1,113,11,69,4,64,32,4,65,1,70,13,1,32,9,65,56,107,40,2,0,40,2,0,47,1,66,34,16,69,13,1,32,11,40,2,84,32,11,47,1,36,32,16,108,65,1,116,106,32,9,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,1,32,6,65,127,115,65,1,113,107,33,1,11,65,0,32,6,32,9,65,12,107,40,2,0,27,33,6,32,4,65,1,107,5,65,0,11,33,4,32,1,32,3,75,13,0,11,11,32,5,32,6,58,0,68,32,5,32,4,54,2,48,32,5,32,1,54,2,64,32,5,45,0,28,33,4,32,1,32,3,73,4,64,32,5,40,2,20,33,9,32,5,40,2,4,33,16,3,64,32,0,4,127,2,64,2,127,32,16,32,0,65,28,108,106,34,6,65,28,107,40,2,0,40,0,0,34,11,65,1,113,4,64,32,11,65,1,118,65,1,113,12,1,11,32,11,47,1,44,65,1,113,11,69,4,64,32,0,65,1,70,13,1,32,6,65,56,107,40,2,0,40,2,0,47,1,66,34,11,69,13,1,32,9,40,2,84,32,9,47,1,36,32,11,108,65,1,116,106,32,6,65,8,107,40,2,0,65,1,116,106,47,1,0,69,13,1,11,32,3,32,4,65,127,115,65,1,113,107,33,3,11,65,0,32,4,32,6,65,12,107,40,2,0,27,33,4,32,0,65,1,107,5,65,0,11,33,0,32,1,32,3,73,13,0,11,11,32,5,32,4,58,0,28,32,5,32,0,54,2,8,32,5,32,3,54,2,24,2,64,32,15,69,4,64,32,12,33,1,12,1,11,2,64,32,12,69,13,0,32,8,32,10,32,12,65,24,108,106,34,0,65,4,107,34,1,40,2,0,75,13,0,32,1,32,2,54,2,0,32,0,65,16,107,32,29,55,2,0,32,12,33,1,12,1,11,32,2,32,8,77,4,64,32,12,33,1,12,1,11,2,64,32,12,65,1,106,34,1,32,17,77,13,0,65,8,32,17,65,1,116,34,0,32,1,32,0,32,1,75,27,34,0,32,0,65,8,77,27,34,17,65,24,108,33,0,32,10,4,64,32,10,32,0,35,4,40,2,0,17,1,0,33,10,12,1,11,32,0,35,5,40,2,0,17,0,0,33,10,11,32,10,32,12,65,24,108,106,34,0,32,2,54,2,20,32,0,32,8,54,2,16,32,0,32,29,55,2,8,32,0,32,30,55,2,0,11,32,13,32,7,40,2,12,34,0,32,0,32,13,73,27,33,8,3,64,2,64,32,8,32,13,34,0,70,4,64,32,8,33,0,12,1,11,32,0,65,1,106,33,13,32,7,40,2,8,32,0,65,24,108,106,40,2,20,32,2,77,13,1,11,11,32,5,40,2,48,34,11,4,64,32,2,33,8,32,29,33,30,32,1,33,12,32,0,33,13,32,5,40,2,8,34,15,13,1,11,11,2,127,32,19,40,0,0,34,8,65,1,113,4,64,32,19,45,0,5,65,15,113,33,3,32,19,45,0,4,33,2,32,19,45,0,7,34,0,32,19,45,0,6,106,12,1,11,65,0,32,8,40,2,12,32,8,40,2,20,34,0,27,33,2,32,0,32,8,40,2,8,106,33,3,32,8,40,2,24,33,0,32,8,40,2,16,32,8,40,2,4,106,11,33,8,32,3,173,32,0,32,2,106,173,66,32,134,132,33,29,2,127,32,22,40,0,0,34,2,65,1,113,4,64,32,22,45,0,7,34,0,32,22,45,0,6,106,33,3,32,22,45,0,4,33,13,32,22,45,0,5,65,15,113,12,1,11,65,0,32,2,40,2,12,32,2,40,2,20,34,12,27,33,13,32,2,40,2,16,32,2,40,2,4,106,33,3,32,2,40,2,24,33,0,32,12,32,2,40,2,8,106,11,173,32,0,32,13,106,173,66,32,134,132,33,30,2,64,32,3,32,8,75,4,64,2,64,32,1,69,13,0,32,8,32,10,32,1,65,24,108,106,34,0,65,4,107,34,2,40,2,0,75,13,0,32,2,32,3,54,2,0,32,0,65,16,107,32,30,55,2,0,32,1,33,0,12,2,11,2,64,32,1,65,1,106,34,0,32,17,77,13,0,65,8,32,17,65,1,116,34,2,32,0,32,0,32,2,73,27,34,2,32,2,65,8,77,27,65,24,108,33,2,32,10,4,64,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,1,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,1,65,24,108,106,34,1,32,3,54,2,20,32,1,32,8,54,2,16,32,1,32,30,55,2,8,32,1,32,29,55,2,0,12,1,11,32,3,32,8,79,4,64,32,1,33,0,12,1,11,2,64,32,1,69,13,0,32,3,32,10,32,1,65,24,108,106,34,0,65,4,107,34,2,40,2,0,75,13,0,32,2,32,8,54,2,0,32,0,65,16,107,32,29,55,2,0,32,1,33,0,12,1,11,2,64,32,1,65,1,106,34,0,32,17,77,13,0,65,8,32,17,65,1,116,34,2,32,0,32,0,32,2,73,27,34,2,32,2,65,8,77,27,65,24,108,33,2,32,10,4,64,32,10,32,2,35,4,40,2,0,17,1,0,33,10,12,1,11,32,2,35,5,40,2,0,17,0,0,33,10,11,32,10,32,1,65,24,108,106,34,1,32,8,54,2,20,32,1,32,3,54,2,16,32,1,32,29,55,2,8,32,1,32,30,55,2,0,11,32,7,32,5,41,3,40,55,2,44,32,7,32,5,40,2,56,54,2,60,32,7,32,5,41,3,48,55,2,52,32,7,32,5,40,2,16,54,2,40,32,7,32,5,41,3,8,55,2,32,32,7,32,5,41,3,0,55,2,24,32,7,32,10,54,2,4,32,5,65,224,0,106,36,0,32,24,32,0,54,2,12,32,7,40,2,8,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,48,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,28,34,0,4,64,32,0,35,6,40,2,0,17,2,0,11,32,7,40,2,4,33,0,32,7,65,64,107,36,0,32,0,33,1,32,24,40,2,12,4,64,3,64,32,1,32,23,65,24,108,106,34,0,32,0,40,2,16,65,1,118,54,2,16,32,0,32,0,40,2,20,65,1,118,54,2,20,32,0,32,0,40,2,4,65,1,118,54,2,4,32,0,32,0,40,2,12,65,1,118,54,2,12,32,23,65,1,106,34,23,32,24,40,2,12,34,0,73,13,0,11,32,0,33,23,11,35,9,34,0,32,1,54,2,4,32,0,32,23,54,2,0,32,24,65,16,106,36,0,11,155,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,1,65,36,106,32,1,65,8,106,16,130,1,32,2,32,1,41,2,40,55,3,0,32,2,32,1,41,2,48,55,3,8,32,1,65,208,0,106,36,0,11,218,1,1,5,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,3,41,3,0,55,2,32,32,1,32,3,41,3,8,55,2,40,32,1,65,0,54,2,24,32,1,32,1,40,2,28,54,2,8,32,1,47,1,44,33,0,32,1,65,0,54,2,20,32,1,32,0,59,1,24,32,1,65,0,54,2,12,2,64,2,64,32,1,40,2,36,34,0,69,13,0,32,1,40,2,32,33,5,32,0,65,28,108,34,2,35,5,40,2,0,17,0,0,33,4,32,1,32,0,54,2,20,32,1,32,4,54,2,12,32,5,4,64,32,2,69,13,1,32,4,32,5,32,2,252,10,0,0,32,1,32,0,54,2,16,12,2,11,32,2,69,13,0,32,4,65,0,32,2,252,11,0,11,32,1,32,0,54,2,16,11,32,3,32,1,41,2,12,55,3,0,32,3,32,1,41,2,20,55,3,8,32,1,65,48,106,36,0,11,83,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,40,2,16,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,1,65,0,54,2,24,32,1,66,0,55,2,16,11,32,1,65,32,106,36,0,11,217,1,2,8,127,1,126,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,2,40,2,32,33,4,32,2,41,3,24,33,9,32,2,40,2,20,33,5,32,2,40,2,4,33,6,32,2,40,2,8,33,7,32,2,40,2,16,33,8,32,1,32,1,41,2,72,55,3,24,32,1,32,8,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,7,54,2,60,32,1,32,6,65,1,116,54,2,56,32,1,32,5,54,2,40,32,1,32,9,55,2,44,32,1,32,4,54,2,52,32,1,32,0,54,2,36,32,1,32,1,41,2,56,55,3,8,32,1,65,36,106,32,1,65,8,106,16,112,32,2,32,1,41,2,40,55,3,0,32,2,32,1,41,2,48,55,3,8,32,1,65,208,0,106,36,0,11,189,2,1,4,127,35,0,65,48,107,34,2,36,0,32,2,32,0,54,2,28,32,2,35,9,34,4,41,3,0,55,2,32,32,2,32,4,41,3,8,55,2,40,32,2,32,4,41,3,16,55,2,12,32,2,32,4,41,3,24,55,2,20,32,2,32,1,54,2,8,32,2,32,2,40,2,8,54,2,28,32,2,47,1,24,33,0,32,2,65,0,54,2,36,32,2,32,0,59,1,44,32,2,40,2,32,33,0,32,2,40,2,12,33,5,2,64,2,64,32,2,40,2,16,34,1,32,2,40,2,40,75,4,64,32,1,65,28,108,33,3,2,127,32,0,4,64,32,0,32,3,35,4,40,2,0,17,1,0,12,1,11,32,3,35,5,40,2,0,17,0,0,11,33,0,32,2,32,1,54,2,40,32,2,32,0,54,2,32,32,2,40,2,36,34,3,69,13,1,32,3,65,28,108,34,3,69,13,1,32,0,32,1,65,28,108,106,32,0,32,3,252,10,0,0,12,1,11,32,1,69,13,1,11,32,1,65,28,108,33,3,32,5,4,64,32,3,69,13,1,32,0,32,5,32,3,252,10,0,0,12,1,11,32,3,69,13,0,32,0,65,0,32,3,252,11,0,11,32,2,32,2,40,2,36,32,1,106,54,2,36,32,4,32,2,41,2,32,55,3,0,32,4,32,2,41,2,40,55,3,8,32,2,65,48,106,36,0,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,131,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,100,1,3,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,33,2,3,64,32,2,16,132,1,34,3,65,1,70,13,0,11,32,3,65,2,70,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,107,2,2,127,1,126,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,40,2,0,54,2,16,32,1,32,0,41,2,4,55,2,20,32,1,32,0,40,2,12,34,2,54,2,28,32,1,65,12,106,32,2,65,1,116,65,0,65,0,16,133,1,33,3,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,3,66,0,82,11,140,1,2,2,127,1,126,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,40,2,0,54,2,32,32,1,32,0,41,2,4,55,2,36,32,1,32,0,40,2,12,34,2,54,2,44,32,1,32,0,40,2,16,65,1,116,54,2,24,32,1,32,2,54,2,20,32,1,32,1,41,2,20,55,3,8,32,1,65,28,106,65,0,32,1,40,2,8,32,1,40,2,12,16,133,1,33,3,32,0,32,1,41,2,32,55,3,0,32,0,32,1,41,2,40,55,3,8,32,1,65,48,106,36,0,32,3,66,0,82,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,134,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,248,4,2,13,127,1,126,35,0,65,32,107,34,6,36,0,32,6,32,0,54,2,12,32,6,35,9,34,9,41,3,0,55,2,16,32,6,32,9,41,3,8,55,2,24,65,1,33,11,2,64,32,6,65,12,106,34,10,35,2,65,12,106,16,121,34,13,69,13,0,32,10,40,2,4,32,10,40,2,8,65,28,108,106,34,0,65,24,107,34,2,40,2,0,13,0,32,0,65,16,107,40,2,0,69,13,0,32,0,65,12,107,40,2,0,33,7,32,0,65,56,107,40,2,0,34,1,45,0,0,65,1,113,69,4,64,32,1,40,2,0,34,1,32,1,40,2,36,65,3,116,107,33,3,11,32,0,65,48,107,41,2,0,33,14,32,0,65,52,107,40,2,0,33,1,32,2,32,7,4,127,2,127,32,3,40,0,0,34,2,65,1,113,4,64,32,1,32,3,45,0,7,34,2,106,33,8,32,14,66,32,136,167,33,4,32,14,167,12,1,11,65,0,32,14,66,32,136,167,32,2,40,2,20,34,5,27,33,4,32,2,40,2,16,32,1,106,33,8,32,2,40,2,24,33,2,32,5,32,14,167,106,11,173,32,2,32,4,106,173,66,32,134,132,33,14,65,1,33,2,32,7,65,1,71,4,64,3,64,2,64,32,3,32,2,65,3,116,106,34,4,40,0,0,34,1,65,1,113,4,64,32,4,45,0,7,34,1,32,4,45,0,6,106,33,12,32,4,45,0,5,65,15,113,33,5,32,4,45,0,4,33,4,12,1,11,65,0,32,1,40,2,12,32,1,40,2,20,34,5,27,33,4,32,1,40,2,16,32,1,40,2,4,106,33,12,32,5,32,1,40,2,8,106,33,5,32,1,40,2,24,33,1,11,32,5,32,14,167,106,173,32,1,32,4,106,65,0,32,14,66,32,136,167,32,5,27,106,173,66,32,134,132,33,14,32,8,32,12,106,33,8,32,2,65,1,106,34,2,32,7,71,13,0,11,11,2,127,32,3,32,7,65,3,116,106,34,2,40,0,0,34,3,65,1,113,4,64,32,2,45,0,5,65,15,113,33,1,32,2,45,0,4,33,5,32,2,45,0,6,12,1,11,32,3,40,2,12,33,5,32,3,40,2,8,33,1,32,3,40,2,4,11,33,2,32,1,32,14,167,106,173,65,0,32,14,66,32,136,167,32,1,27,32,5,106,173,66,32,134,132,33,14,32,2,32,8,106,5,32,1,11,54,2,0,32,0,65,20,107,32,14,55,2,0,11,2,64,2,64,2,64,32,13,65,1,107,14,2,0,2,1,11,3,64,32,10,16,132,1,65,1,70,13,0,11,12,1,11,65,0,33,11,11,32,9,32,6,41,2,16,55,3,0,32,9,32,6,41,2,24,55,3,8,32,6,65,32,106,36,0,32,11,11,196,9,2,24,127,1,126,35,0,65,32,107,34,4,36,0,32,4,32,0,54,2,12,32,4,35,9,34,16,41,3,0,55,2,16,32,4,32,16,41,3,8,55,2,24,32,1,33,12,32,4,40,2,20,33,0,32,4,40,2,16,33,8,3,64,32,8,32,0,65,1,107,34,6,65,28,108,106,34,9,40,2,24,33,2,32,9,40,2,0,40,0,0,33,7,2,64,2,64,32,6,69,4,64,65,1,33,1,32,7,65,1,113,69,13,1,65,0,33,5,12,2,11,2,64,2,127,32,7,65,1,113,34,3,4,64,32,7,65,2,113,4,64,65,0,33,5,65,1,33,1,12,5,11,32,7,65,3,118,65,1,113,12,1,11,65,1,33,1,32,7,47,1,44,34,5,65,1,113,13,2,32,5,65,2,118,65,1,113,11,13,0,32,9,65,28,107,40,2,0,40,2,0,47,1,66,34,1,69,13,0,65,0,33,5,32,4,40,2,12,40,2,8,34,10,40,2,84,32,10,47,1,36,32,1,108,65,1,116,106,32,9,40,2,20,65,1,116,106,47,1,0,65,0,71,33,1,32,3,69,13,1,12,2,11,65,0,33,1,65,0,33,5,32,3,13,1,11,32,7,40,2,36,69,4,64,65,0,33,5,12,1,11,32,7,40,2,56,33,5,11,2,64,2,64,32,2,32,12,75,13,0,32,1,32,2,106,32,5,106,32,12,77,13,0,3,64,32,4,40,2,16,34,11,32,4,40,2,20,34,14,65,28,108,106,34,6,65,28,107,40,2,0,40,0,0,34,0,65,1,113,34,7,13,2,32,0,40,2,36,69,13,2,32,4,40,2,12,40,2,8,33,1,32,0,47,1,66,34,5,4,127,32,1,40,2,84,32,1,47,1,36,32,5,108,65,1,116,106,5,65,0,11,33,18,32,6,65,4,107,40,2,0,33,2,2,64,2,64,32,14,65,1,107,34,5,69,13,0,32,0,47,1,44,34,9,65,1,113,13,0,32,9,65,4,113,13,1,32,11,32,5,65,28,108,106,34,5,65,28,107,40,2,0,40,2,0,47,1,66,34,9,69,13,1,32,2,32,1,40,2,84,32,1,47,1,36,32,9,108,65,1,116,106,32,5,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,2,12,1,11,32,2,65,1,106,33,2,11,32,2,32,12,75,13,2,65,0,33,1,65,0,32,0,32,0,40,2,36,34,19,65,3,116,107,34,24,32,7,27,33,25,32,6,65,24,107,40,2,0,33,3,32,6,65,20,107,40,2,0,33,0,32,6,65,16,107,40,2,0,33,8,65,0,33,9,3,64,32,2,33,10,32,9,33,6,32,8,33,7,32,0,33,5,32,3,33,20,32,1,34,21,32,19,70,13,3,2,127,32,25,32,1,65,3,116,106,34,22,40,0,0,34,3,65,1,113,34,0,4,64,32,3,65,2,113,65,1,118,34,15,33,2,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,34,15,65,1,113,33,2,32,15,65,2,118,65,1,113,11,4,127,32,6,5,32,18,4,64,32,18,32,6,65,1,116,106,47,1,0,32,2,114,65,0,71,34,15,33,2,11,32,6,65,1,106,11,33,9,2,64,2,127,2,64,32,0,69,4,64,32,3,40,2,36,13,1,65,0,12,2,11,32,2,32,10,106,33,2,32,5,33,0,32,22,45,0,7,34,3,33,8,32,7,33,1,12,2,11,32,3,40,2,56,11,33,0,65,0,32,7,32,3,40,2,20,34,8,27,33,1,32,2,32,10,106,32,0,106,33,2,32,5,32,8,106,33,0,32,3,40,2,24,33,8,32,3,40,2,16,33,3,11,32,1,32,8,106,33,8,32,3,32,20,106,33,3,32,19,32,21,65,1,106,34,1,75,4,64,2,127,32,24,32,1,65,3,116,106,41,2,0,34,26,167,34,13,65,1,113,4,64,32,26,66,32,136,167,65,255,1,113,33,23,32,26,66,40,136,167,65,15,113,33,17,32,26,66,48,136,167,65,255,1,113,12,1,11,32,13,40,2,12,33,23,32,13,40,2,8,33,17,32,13,40,2,4,11,33,13,65,0,32,8,32,17,27,32,23,106,33,8,32,3,32,13,106,33,3,32,0,32,17,106,33,0,11,32,2,32,12,77,13,0,11,32,4,32,14,65,1,106,34,0,32,4,40,2,24,34,1,75,4,127,65,8,32,1,65,1,116,34,1,32,0,32,0,32,1,73,27,34,0,32,0,65,8,77,27,34,1,65,28,108,33,0,2,127,32,11,4,64,32,11,32,0,35,4,40,2,0,17,1,0,12,1,11,32,0,35,5,40,2,0,17,0,0,11,33,11,32,4,32,1,54,2,24,32,4,32,11,54,2,16,32,4,40,2,20,34,14,65,1,106,5,32,0,11,54,2,20,32,11,32,14,65,28,108,106,34,0,32,10,54,2,24,32,0,32,6,54,2,20,32,0,32,21,54,2,16,32,0,32,7,54,2,12,32,0,32,5,54,2,8,32,0,32,20,54,2,4,32,0,32,22,54,2,0,32,15,32,10,32,12,70,113,69,13,0,11,12,1,11,32,0,65,2,73,13,0,32,4,32,6,54,2,20,32,6,33,0,12,1,11,11,32,16,32,4,41,2,16,55,3,0,32,16,32,4,41,2,24,55,3,8,32,4,65,32,106,36,0,11,81,1,2,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,136,1,33,2,32,0,32,1,41,2,16,55,3,0,32,0,32,1,41,2,24,55,3,8,32,1,65,32,106,36,0,32,2,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,47,33,0,32,1,65,208,0,106,36,0,32,0,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,50,33,0,32,1,65,208,0,106,36,0,32,0,11,105,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,49,33,0,32,1,65,208,0,106,36,0,32,0,11,138,1,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,2,127,32,1,40,2,24,40,2,0,34,0,65,1,113,4,64,32,0,65,5,118,65,1,113,12,1,11,32,0,47,1,44,65,9,118,65,1,113,11,33,0,32,1,65,208,0,106,36,0,32,0,11,71,1,1,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,41,3,0,55,2,32,32,1,32,0,41,3,8,55,2,40,32,1,65,4,106,32,1,65,28,106,16,137,1,32,1,40,2,20,33,0,32,1,65,48,106,36,0,32,0,11,137,1,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,16,32,1,32,1,41,2,44,55,3,8,32,1,32,1,41,2,36,55,3,0,32,1,32,1,40,2,4,54,2,28,32,1,32,1,40,2,8,54,2,32,32,0,32,1,40,2,28,54,2,0,32,0,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,126,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,16,32,1,32,1,41,2,44,55,3,8,32,1,32,1,41,2,36,55,3,0,32,1,65,28,106,32,1,16,46,32,0,32,1,40,2,28,54,2,0,32,0,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,106,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,40,2,8,33,0,32,1,65,208,0,106,36,0,32,0,65,1,118,11,108,1,1,127,35,0,65,208,0,107,34,1,36,0,32,1,32,0,54,2,60,32,1,35,9,34,0,41,3,0,55,2,64,32,1,32,0,41,3,8,55,2,72,32,1,65,36,106,32,1,65,60,106,16,137,1,32,1,32,1,41,2,52,55,3,24,32,1,32,1,41,2,44,55,3,16,32,1,32,1,41,2,36,55,3,8,32,1,65,8,106,16,45,33,0,32,1,65,208,0,106,36,0,32,0,65,1,118,11,61,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,65,12,106,16,138,1,33,0,32,1,65,32,106,36,0,32,0,11,243,1,1,7,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,65,0,33,0,32,1,40,2,20,34,5,65,2,79,4,64,32,1,40,2,16,33,6,65,1,33,3,3,64,2,64,2,127,2,64,2,64,32,6,32,3,65,28,108,106,34,4,40,2,0,40,0,0,34,2,65,1,113,4,64,32,2,65,2,113,13,1,32,2,65,3,118,65,1,113,12,3,11,32,2,47,1,44,34,2,65,1,113,69,13,1,11,32,0,65,1,106,33,0,12,2,11,32,2,65,2,118,65,1,113,11,13,0,32,4,65,28,107,40,2,0,40,2,0,47,1,66,34,2,69,13,0,32,0,32,1,40,2,12,40,2,8,34,7,40,2,84,32,7,47,1,36,32,2,108,65,1,116,106,32,4,40,2,20,65,1,116,106,47,1,0,65,0,71,106,33,0,11,32,3,65,1,106,34,3,32,5,71,13,0,11,11,32,1,65,32,106,36,0,32,0,11,73,1,1,127,35,0,65,32,107,34,1,36,0,32,1,32,0,54,2,12,32,1,35,9,34,0,41,3,0,55,2,16,32,1,32,0,41,3,8,55,2,24,32,1,40,2,16,32,1,40,2,20,65,28,108,106,65,4,107,40,2,0,33,0,32,1,65,32,106,36,0,32,0,11,118,1,1,127,35,0,65,48,107,34,1,36,0,32,1,32,0,54,2,28,32,1,35,9,34,0,41,3,0,55,2,32,32,1,32,0,41,3,8,55,2,40,32,1,65,4,106,32,1,65,28,106,16,137,1,32,0,32,1,40,2,16,54,2,16,32,0,32,1,40,2,8,54,2,8,32,0,32,1,40,2,20,54,2,0,32,0,32,1,40,2,12,65,1,118,54,2,12,32,0,32,1,40,2,4,65,1,118,54,2,4,32,1,65,48,106,36,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,47,33,0,32,1,65,48,106,36,0,32,0,11,171,7,1,13,127,35,0,65,48,107,34,3,36,0,32,3,35,9,34,4,40,2,0,54,2,40,32,3,32,4,40,2,12,65,1,116,54,2,32,32,3,32,0,54,2,44,32,3,32,3,41,2,40,55,3,16,32,3,32,4,40,2,16,54,2,36,32,3,32,3,41,2,32,55,3,8,32,3,32,4,40,2,8,54,2,28,32,3,32,4,40,2,4,65,1,116,54,2,24,32,3,32,3,41,2,24,55,3,0,2,127,2,64,32,3,40,2,16,34,0,40,2,0,34,2,65,1,113,13,0,32,3,40,2,20,33,12,3,64,32,0,33,4,32,2,40,2,36,69,13,1,65,0,33,9,32,2,47,1,66,34,0,4,64,32,12,40,2,8,34,5,40,2,84,32,5,47,1,36,32,0,108,65,1,116,106,33,9,11,32,2,40,2,36,34,13,69,13,1,2,127,32,2,32,13,65,3,116,107,34,0,40,0,0,34,2,65,1,113,34,5,69,4,64,32,2,47,1,44,65,2,118,65,1,113,12,1,11,32,2,65,3,118,65,1,113,11,34,7,69,33,8,65,0,33,6,2,64,32,7,13,0,32,9,69,13,0,32,9,47,1,0,65,0,71,33,6,65,1,33,8,11,2,64,2,64,2,64,2,127,32,5,69,4,64,32,2,47,1,44,65,1,113,12,1,11,32,2,65,1,118,65,1,113,11,32,6,114,65,1,113,69,4,64,65,0,33,6,32,0,40,2,0,34,5,65,1,113,13,1,32,5,40,2,36,69,13,1,32,1,32,5,40,2,48,34,6,79,13,1,12,2,11,65,1,33,6,32,1,69,13,2,11,65,1,33,14,32,13,65,1,70,13,3,3,64,65,0,33,7,2,127,32,0,32,14,65,3,116,106,34,5,40,0,0,34,2,65,1,113,34,11,4,64,32,2,65,3,118,65,1,113,12,1,11,32,2,47,1,44,65,2,118,65,1,113,11,69,4,64,32,9,4,127,32,9,32,8,65,1,116,106,47,1,0,65,0,71,5,65,0,11,33,7,32,8,65,1,106,33,8,11,2,127,32,11,4,127,32,2,65,1,118,65,1,113,5,32,2,47,1,44,65,1,113,11,32,7,114,4,64,32,1,32,6,70,13,4,32,6,65,1,106,12,1,11,65,0,33,2,2,64,32,5,40,2,0,34,11,65,1,113,13,0,32,11,40,2,36,69,13,0,32,1,32,6,107,34,7,32,11,40,2,48,34,2,79,13,0,32,5,33,0,32,7,33,1,12,3,11,32,2,32,6,106,11,33,6,32,14,65,1,106,34,14,32,13,71,13,0,11,12,3,11,2,127,65,0,32,12,40,2,8,34,5,40,2,32,69,13,0,26,65,0,32,5,40,2,64,32,4,40,2,0,47,1,66,65,2,116,106,34,4,47,1,2,34,7,69,13,0,26,32,8,65,1,107,33,6,32,5,40,2,68,32,4,47,1,0,65,2,116,106,34,2,32,7,65,2,116,106,33,4,3,64,2,64,32,2,45,0,3,13,0,32,6,32,2,45,0,2,71,13,0,32,5,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,12,2,11,32,2,65,4,106,34,2,32,4,71,13,0,11,65,0,11,34,4,32,10,32,4,27,33,10,32,0,40,2,0,34,2,65,1,113,69,13,1,12,2,11,11,32,2,65,1,113,4,127,32,2,65,3,118,65,1,113,5,32,2,47,1,44,65,2,118,65,1,113,11,13,0,2,64,32,12,40,2,8,34,0,40,2,32,69,13,0,32,0,40,2,64,32,4,40,2,0,47,1,66,65,2,116,106,34,1,47,1,2,34,4,69,13,0,32,8,65,1,107,33,5,32,0,40,2,68,32,1,47,1,0,65,2,116,106,34,2,32,4,65,2,116,106,33,1,3,64,2,64,32,2,45,0,3,13,0,32,5,32,2,45,0,2,71,13,0,32,0,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,34,0,32,10,32,0,27,12,4,11,32,2,65,4,106,34,2,32,1,71,13,0,11,11,32,10,12,1,11,65,0,11,33,0,32,3,65,48,106,36,0,32,0,11,177,8,1,13,127,35,0,65,48,107,34,6,36,0,32,6,35,9,34,7,40,2,0,54,2,40,32,6,32,7,40,2,12,65,1,116,54,2,32,32,6,32,0,54,2,44,32,6,32,6,41,2,40,55,3,16,32,6,32,7,40,2,16,54,2,36,32,6,32,6,41,2,32,55,3,8,32,6,32,7,40,2,8,54,2,28,32,6,32,7,40,2,4,65,1,116,54,2,24,32,6,32,6,41,2,24,55,3,0,2,127,2,64,32,6,40,2,16,34,0,40,2,0,34,2,65,1,113,13,0,32,6,40,2,20,33,11,3,64,32,0,33,7,32,2,40,2,36,69,13,1,65,0,33,10,32,2,47,1,66,34,0,4,64,32,11,40,2,8,34,4,40,2,84,32,4,47,1,36,32,0,108,65,1,116,106,33,10,11,32,2,40,2,36,34,14,69,13,1,2,127,32,2,32,14,65,3,116,107,34,0,40,0,0,34,3,65,1,113,34,4,69,4,64,32,3,47,1,44,65,2,118,65,1,113,12,1,11,32,3,65,3,118,65,1,113,11,34,2,69,33,8,65,0,33,5,2,64,32,2,13,0,32,10,69,13,0,32,10,47,1,0,33,5,65,1,33,8,11,2,64,2,64,2,64,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,1,2,0,11,32,5,69,4,64,32,4,69,4,64,32,3,47,1,44,34,4,65,1,113,69,13,2,32,4,65,1,118,65,1,113,69,13,2,12,3,11,32,3,65,2,113,69,13,1,32,3,65,2,118,65,1,113,13,2,12,1,11,32,11,40,2,8,40,2,72,32,5,65,3,108,106,45,0,1,65,1,113,13,1,11,65,0,33,9,32,0,40,2,0,34,4,65,1,113,13,1,32,4,40,2,36,69,13,1,32,1,32,4,40,2,52,34,9,73,13,2,12,1,11,65,1,33,9,32,1,69,13,2,11,65,1,33,2,32,14,65,1,70,13,3,3,64,65,0,33,5,2,127,32,0,32,2,65,3,116,106,34,4,40,0,0,34,3,65,1,113,34,13,4,64,32,3,65,3,118,65,1,113,12,1,11,32,3,47,1,44,65,2,118,65,1,113,11,69,4,64,32,10,4,127,32,10,32,8,65,1,116,106,47,1,0,5,65,0,11,33,5,32,8,65,1,106,33,8,11,2,127,2,64,2,64,2,64,32,5,65,254,255,3,107,14,2,2,1,0,11,2,64,32,5,69,4,64,32,13,69,13,1,32,3,65,2,113,69,13,3,32,3,65,2,118,65,1,113,13,2,12,3,11,32,11,40,2,8,40,2,72,32,5,65,3,108,106,45,0,1,65,1,113,69,13,2,12,1,11,32,3,47,1,44,34,5,65,1,113,69,13,1,32,5,65,1,118,65,1,113,69,13,1,11,32,1,32,9,70,13,4,32,9,65,1,106,12,1,11,65,0,33,5,2,64,32,4,40,2,0,34,13,65,1,113,13,0,32,13,40,2,36,69,13,0,32,1,32,9,107,34,3,32,13,40,2,52,34,5,79,13,0,32,4,33,0,32,3,33,1,12,3,11,32,5,32,9,106,11,33,9,32,2,65,1,106,34,2,32,14,71,13,0,11,12,3,11,2,127,65,0,32,11,40,2,8,34,4,40,2,32,69,13,0,26,65,0,32,4,40,2,64,32,7,40,2,0,47,1,66,65,2,116,106,34,7,47,1,2,34,3,69,13,0,26,32,8,65,1,107,33,5,32,4,40,2,68,32,7,47,1,0,65,2,116,106,34,2,32,3,65,2,116,106,33,7,3,64,2,64,32,2,45,0,3,13,0,32,5,32,2,45,0,2,71,13,0,32,4,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,12,2,11,32,2,65,4,106,34,2,32,7,71,13,0,11,65,0,11,34,7,32,12,32,7,27,33,12,32,0,40,2,0,34,2,65,1,113,69,13,1,12,2,11,11,32,3,65,1,113,4,127,32,3,65,3,118,65,1,113,5,32,3,47,1,44,65,2,118,65,1,113,11,13,0,2,64,32,11,40,2,8,34,0,40,2,32,69,13,0,32,0,40,2,64,32,7,40,2,0,47,1,66,65,2,116,106,34,1,47,1,2,34,7,69,13,0,32,8,65,1,107,33,4,32,0,40,2,68,32,1,47,1,0,65,2,116,106,34,2,32,7,65,2,116,106,33,1,3,64,2,64,32,2,45,0,3,13,0,32,4,32,2,45,0,2,71,13,0,32,0,40,2,60,32,2,47,1,0,65,2,116,106,40,2,0,34,0,32,12,32,0,27,12,4,11,32,2,65,4,106,34,2,32,1,71,13,0,11,11,32,12,12,1,11,65,0,11,33,0,32,6,65,48,106,36,0,32,0,11,147,4,1,9,127,35,0,65,128,1,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,120,32,2,32,3,40,2,12,65,1,116,54,2,112,32,2,32,0,54,2,124,32,2,32,2,41,2,120,55,3,48,32,2,32,3,40,2,16,54,2,116,32,2,32,2,41,2,112,55,3,40,32,2,32,3,40,2,8,54,2,108,32,2,32,3,40,2,4,65,1,116,54,2,104,32,2,32,2,41,2,104,55,3,32,32,2,65,212,0,106,32,2,65,32,106,16,130,1,2,64,32,1,69,4,64,65,0,33,3,12,1,11,32,2,32,2,41,2,120,55,3,24,32,2,32,2,41,2,112,55,3,16,32,2,32,2,41,2,104,55,3,8,32,2,65,212,0,106,34,0,32,2,65,8,106,16,112,32,0,16,131,1,26,65,0,33,0,65,0,33,3,3,64,32,3,33,4,2,64,3,64,32,2,65,212,0,106,34,3,16,138,1,32,1,70,13,1,32,3,16,134,1,13,0,11,32,4,33,3,12,2,11,32,2,65,60,106,32,2,65,212,0,106,34,3,16,137,1,32,3,16,134,1,33,7,2,64,32,4,65,5,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,6,32,5,4,64,32,5,32,6,35,4,40,2,0,17,1,0,33,5,12,1,11,32,6,35,5,40,2,0,17,0,0,33,5,11,32,5,32,4,65,2,116,106,34,4,66,0,55,2,0,32,4,65,0,54,2,16,32,4,66,0,55,2,8,32,2,40,2,60,33,6,32,2,40,2,68,33,8,32,2,40,2,76,33,9,32,2,40,2,64,33,10,32,5,32,3,65,2,116,106,34,4,65,4,107,32,2,40,2,72,54,2,0,32,4,65,12,107,32,10,54,2,0,32,4,65,20,107,32,9,54,2,0,32,4,65,8,107,32,8,65,1,118,54,2,0,32,4,65,16,107,32,6,65,1,118,54,2,0,32,7,13,0,11,11,32,2,40,2,88,34,0,4,64,32,0,35,6,40,2,0,17,2,0,32,2,65,0,54,2,96,32,2,66,0,55,2,88,11,35,9,34,0,32,5,54,2,4,32,0,32,3,65,5,110,54,2,0,32,2,65,128,1,106,36,0,11,250,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,65,1,16,57,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,250,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,65,0,16,57,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,160,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,128,254,3,113,65,8,118,12,1,11,32,0,47,1,40,11,65,255,255,3,113,33,0,32,1,65,48,106,36,0,32,0,11,154,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,0,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,33,0,11,32,1,65,48,106,36,0,32,0,11,154,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,0,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,52,33,0,11,32,1,65,48,106,36,0,32,0,11,240,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,2,41,2,24,55,3,24,32,0,32,2,41,2,16,55,3,16,32,0,32,2,41,2,8,55,3,8,32,2,65,32,106,32,0,65,8,106,32,1,65,1,16,52,32,0,65,32,106,36,0,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,240,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,2,41,2,24,55,3,24,32,0,32,2,41,2,16,55,3,16,32,0,32,2,41,2,8,55,3,8,32,2,65,32,106,32,0,65,8,106,32,1,65,0,16,52,32,0,65,32,106,36,0,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,197,1,1,3,127,35,0,65,208,0,107,34,2,36,0,32,2,35,9,34,3,40,2,0,54,2,72,32,2,65,64,107,34,4,32,3,40,2,12,65,1,116,54,2,0,32,2,32,0,54,2,76,32,2,32,2,41,2,72,55,3,24,32,2,32,3,40,2,16,54,2,68,32,2,32,4,41,2,0,55,3,16,32,2,32,3,40,2,8,54,2,60,32,2,32,3,40,2,4,65,1,116,54,2,56,32,2,32,2,41,2,56,55,3,8,32,2,65,32,106,32,2,65,8,106,32,1,65,255,255,3,113,16,53,32,3,32,2,40,2,44,54,2,16,32,3,32,2,40,2,36,54,2,8,32,3,32,2,40,2,48,54,2,0,32,3,32,2,40,2,40,65,1,118,54,2,12,32,3,32,2,40,2,32,65,1,118,54,2,4,32,2,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,1,16,54,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,1,16,55,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,0,16,54,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,238,1,1,3,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,65,0,16,55,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,157,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,65,1,33,0,2,64,32,1,40,2,16,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,56,65,1,106,33,0,11,32,1,65,48,106,36,0,32,0,11,224,4,2,6,127,2,126,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,3,40,2,0,54,2,72,32,1,65,64,107,34,2,32,3,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,3,40,2,16,54,2,68,32,1,32,2,41,2,0,55,3,16,32,1,32,3,40,2,8,54,2,60,32,1,32,3,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,35,0,65,144,1,107,34,0,36,0,2,127,32,1,40,2,28,34,2,40,0,0,34,4,65,1,113,4,64,32,2,45,0,5,65,15,113,33,5,32,2,45,0,4,33,6,32,2,45,0,6,12,1,11,32,4,40,2,12,33,6,32,4,40,2,8,33,5,32,4,40,2,4,11,33,4,32,0,32,2,54,2,140,1,32,0,32,2,54,2,136,1,32,0,65,0,54,2,132,1,32,0,32,6,54,2,128,1,32,0,32,5,54,2,124,32,0,32,4,54,2,120,2,64,32,2,32,1,40,2,24,34,4,71,4,64,32,0,32,0,41,2,128,1,55,3,80,32,0,32,0,41,2,136,1,55,3,88,32,0,32,0,41,2,120,55,3,72,32,0,32,1,41,2,16,55,3,56,32,0,65,64,107,32,1,41,2,24,55,3,0,32,0,32,1,41,2,8,55,3,48,32,0,65,224,0,106,32,0,65,200,0,106,32,0,65,48,106,16,51,2,64,32,0,40,2,112,34,2,32,4,70,13,0,32,2,69,13,0,3,64,32,0,32,0,41,2,112,34,7,55,3,136,1,32,0,32,0,41,2,104,34,8,55,3,128,1,32,0,32,8,55,3,32,32,0,32,7,55,3,40,32,0,32,0,41,2,96,34,7,55,3,120,32,0,32,7,55,3,24,32,0,32,1,41,2,16,55,3,8,32,0,32,1,41,2,24,55,3,16,32,0,32,1,41,2,8,55,3,0,32,0,65,224,0,106,32,0,65,24,106,32,0,16,51,32,0,40,2,112,34,2,32,4,70,13,1,32,2,13,0,11,11,32,1,32,0,41,3,120,55,2,32,32,1,32,0,41,3,136,1,55,2,48,32,1,32,0,41,3,128,1,55,2,40,12,1,11,32,1,66,0,55,2,32,32,1,66,0,55,2,48,32,1,66,0,55,2,40,11,32,0,65,144,1,106,36,0,32,3,32,1,40,2,44,54,2,16,32,3,32,1,40,2,36,54,2,8,32,3,32,1,40,2,48,54,2,0,32,3,32,1,40,2,40,65,1,118,54,2,12,32,3,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,159,2,1,3,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,16,54,2,116,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,2,40,2,20,54,2,96,32,1,32,2,40,2,24,65,1,116,54,2,80,32,1,32,2,40,2,28,54,2,84,32,1,32,2,40,2,32,65,1,116,54,2,88,32,2,40,2,36,33,3,32,1,32,1,41,2,120,55,3,48,32,1,32,1,41,2,112,55,3,40,32,1,32,0,54,2,100,32,1,32,1,41,2,104,55,3,32,32,1,32,3,54,2,92,32,1,32,1,41,2,96,55,3,24,32,1,32,1,41,2,88,55,3,16,32,1,32,1,41,2,80,55,3,8,32,1,65,56,106,32,1,65,32,106,32,1,65,8,106,16,51,32,2,32,1,40,2,68,54,2,16,32,2,32,1,40,2,60,54,2,8,32,2,32,1,40,2,72,54,2,0,32,2,32,1,40,2,64,65,1,118,54,2,12,32,2,32,1,40,2,56,65,1,118,54,2,4,32,1,65,128,1,106,36,0,11,134,2,1,4,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,32,2,40,2,24,65,1,116,33,4,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,32,4,65,1,16,58,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,134,2,1,4,127,35,0,65,208,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,72,32,1,65,64,107,34,3,32,2,40,2,12,65,1,116,54,2,0,32,1,32,0,54,2,76,32,1,32,1,41,2,72,55,3,24,32,1,32,2,40,2,16,54,2,68,32,1,32,3,41,2,0,55,3,16,32,1,32,2,40,2,8,54,2,60,32,1,32,2,40,2,4,65,1,116,54,2,56,32,1,32,1,41,2,56,55,3,8,32,2,40,2,20,65,1,116,33,3,32,2,40,2,24,65,1,116,33,4,35,0,65,32,107,34,0,36,0,32,0,32,1,41,2,24,55,3,24,32,0,32,1,41,2,16,55,3,16,32,0,32,1,41,2,8,55,3,8,32,1,65,32,106,32,0,65,8,106,32,3,32,4,65,0,16,58,32,0,65,32,106,36,0,32,2,32,1,40,2,44,54,2,16,32,2,32,1,40,2,36,54,2,8,32,2,32,1,40,2,48,54,2,0,32,2,32,1,40,2,40,65,1,118,54,2,12,32,2,32,1,40,2,32,65,1,118,54,2,4,32,1,65,208,0,106,36,0,11,215,2,1,6,127,35,0,65,240,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,104,32,1,32,2,40,2,12,65,1,116,54,2,96,32,1,32,0,54,2,108,32,1,32,2,40,2,8,54,2,92,32,1,32,2,40,2,16,54,2,100,32,1,32,2,40,2,4,65,1,116,54,2,88,32,1,32,2,40,2,24,65,1,116,54,2,84,32,1,32,2,40,2,20,54,2,80,32,2,40,2,32,33,0,32,2,40,2,28,33,3,32,1,32,1,41,2,104,55,3,40,32,1,32,1,41,2,96,55,3,32,32,1,32,3,54,2,72,32,1,32,1,41,2,88,55,3,24,32,1,32,0,65,1,116,54,2,76,32,1,32,1,41,2,80,55,3,16,32,1,32,1,41,2,72,55,3,8,35,0,65,32,107,34,0,36,0,32,1,40,2,12,33,3,32,1,40,2,8,33,4,32,1,40,2,20,33,5,32,1,40,2,16,33,6,32,0,32,1,41,2,40,55,3,24,32,0,32,1,41,2,32,55,3,16,32,0,32,1,41,2,24,55,3,8,32,1,65,48,106,32,0,65,8,106,32,6,32,5,32,4,32,3,65,1,16,59,32,0,65,32,106,36,0,32,2,32,1,40,2,60,54,2,16,32,2,32,1,40,2,52,54,2,8,32,2,32,1,40,2,64,54,2,0,32,2,32,1,40,2,56,65,1,118,54,2,12,32,2,32,1,40,2,48,65,1,118,54,2,4,32,1,65,240,0,106,36,0,11,215,2,1,6,127,35,0,65,240,0,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,104,32,1,32,2,40,2,12,65,1,116,54,2,96,32,1,32,0,54,2,108,32,1,32,2,40,2,8,54,2,92,32,1,32,2,40,2,16,54,2,100,32,1,32,2,40,2,4,65,1,116,54,2,88,32,1,32,2,40,2,24,65,1,116,54,2,84,32,1,32,2,40,2,20,54,2,80,32,2,40,2,32,33,0,32,2,40,2,28,33,3,32,1,32,1,41,2,104,55,3,40,32,1,32,1,41,2,96,55,3,32,32,1,32,3,54,2,72,32,1,32,1,41,2,88,55,3,24,32,1,32,0,65,1,116,54,2,76,32,1,32,1,41,2,80,55,3,16,32,1,32,1,41,2,72,55,3,8,35,0,65,32,107,34,0,36,0,32,1,40,2,12,33,3,32,1,40,2,8,33,4,32,1,40,2,20,33,5,32,1,40,2,16,33,6,32,0,32,1,41,2,40,55,3,24,32,0,32,1,41,2,32,55,3,16,32,0,32,1,41,2,24,55,3,8,32,1,65,48,106,32,0,65,8,106,32,6,32,5,32,4,32,3,65,0,16,59,32,0,65,32,106,36,0,32,2,32,1,40,2,60,54,2,16,32,2,32,1,40,2,52,54,2,8,32,2,32,1,40,2,64,54,2,0,32,2,32,1,40,2,56,65,1,118,54,2,12,32,2,32,1,40,2,48,65,1,118,54,2,4,32,1,65,240,0,106,36,0,11,158,1,1,2,127,35,0,65,64,106,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,56,32,1,32,2,40,2,12,65,1,116,54,2,48,32,1,32,0,54,2,60,32,1,32,1,41,2,56,55,3,24,32,1,32,2,40,2,16,54,2,52,32,1,32,1,41,2,48,55,3,16,32,1,32,2,40,2,8,54,2,44,32,1,32,2,40,2,4,65,1,116,54,2,40,32,1,32,1,41,2,40,55,3,8,32,1,32,1,40,2,12,54,2,32,32,1,32,1,40,2,16,54,2,36,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,36,65,1,118,54,2,4,32,1,65,64,107,36,0,11,150,1,1,2,127,35,0,65,64,106,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,56,32,1,32,2,40,2,12,65,1,116,54,2,48,32,1,32,0,54,2,60,32,1,32,1,41,2,56,55,3,24,32,1,32,2,40,2,16,54,2,52,32,1,32,1,41,2,48,55,3,16,32,1,32,2,40,2,8,54,2,44,32,1,32,2,40,2,4,65,1,116,54,2,40,32,1,32,1,41,2,40,55,3,8,32,1,65,32,106,32,1,65,8,106,16,46,32,2,32,1,40,2,32,54,2,0,32,2,32,1,40,2,36,65,1,118,54,2,4,32,1,65,64,107,36,0,11,127,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,40,2,0,33,0,32,1,65,48,106,36,0,32,0,65,1,118,11,126,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,45,33,0,32,1,65,48,106,36,0,32,0,65,1,118,11,172,2,2,7,127,1,126,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,35,0,65,32,107,34,0,36,0,32,1,40,2,20,40,2,8,33,2,32,1,40,2,16,41,2,0,33,8,65,1,33,3,2,64,2,64,2,64,32,1,47,1,12,34,4,65,254,255,3,107,14,2,0,2,1,11,65,0,33,3,12,1,11,32,2,40,2,72,32,4,65,3,108,106,45,0,0,33,3,11,32,0,32,8,55,3,16,32,0,32,8,55,3,8,32,0,65,8,106,32,0,65,31,106,65,1,32,2,65,0,32,4,32,3,65,1,113,34,5,35,1,65,161,10,106,34,6,16,48,65,1,106,34,7,35,5,40,2,0,17,0,0,33,3,32,0,32,0,41,3,16,55,3,0,32,0,32,3,32,7,32,2,65,0,32,4,32,5,32,6,16,48,26,32,0,65,32,106,36,0,32,1,65,48,106,36,0,32,3,11,210,3,1,8,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,1,41,2,120,55,3,48,32,1,32,2,40,2,16,54,2,116,32,1,32,1,41,2,112,55,3,40,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,1,41,2,104,55,3,32,65,0,33,0,2,64,32,1,40,2,48,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,48,33,0,11,2,64,32,0,34,4,69,4,64,65,0,33,0,12,1,11,65,4,32,4,65,5,108,16,141,2,33,0,32,1,32,1,41,2,120,55,3,24,32,1,32,1,41,2,112,55,3,16,32,1,32,1,41,2,104,55,3,8,35,1,65,176,213,0,106,34,2,32,1,65,8,106,16,112,32,2,16,131,1,26,32,1,65,208,0,106,32,2,16,137,1,32,1,40,2,80,33,2,32,1,40,2,88,33,5,32,1,40,2,96,33,3,32,1,40,2,84,33,6,32,0,32,1,40,2,92,54,2,16,32,0,32,6,54,2,8,32,0,32,3,54,2,0,32,0,32,5,65,1,118,54,2,12,32,0,32,2,65,1,118,54,2,4,32,4,65,1,70,13,0,65,1,33,5,32,0,33,2,3,64,35,1,65,176,213,0,106,34,3,16,134,1,26,32,1,65,56,106,32,3,16,137,1,32,1,40,2,56,33,3,32,1,40,2,64,33,6,32,1,40,2,72,33,7,32,1,40,2,60,33,8,32,2,32,1,40,2,68,54,2,36,32,2,32,8,54,2,28,32,2,32,7,54,2,20,32,2,32,6,65,1,118,54,2,32,32,2,32,3,65,1,118,54,2,24,32,2,65,20,106,33,2,32,5,65,1,106,34,5,32,4,71,13,0,11,11,35,9,34,2,32,0,54,2,4,32,2,32,4,54,2,0,32,1,65,128,1,106,36,0,11,164,3,1,8,127,35,0,65,128,1,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,120,32,1,32,2,40,2,12,65,1,116,54,2,112,32,1,32,0,54,2,124,32,1,32,1,41,2,120,55,3,72,32,1,32,2,40,2,16,54,2,116,32,1,65,64,107,32,1,41,2,112,55,3,0,32,1,32,2,40,2,8,54,2,108,32,1,32,2,40,2,4,65,1,116,54,2,104,32,1,32,1,41,2,104,55,3,56,65,0,33,0,2,64,32,1,40,2,72,40,2,0,34,2,65,1,113,13,0,32,2,40,2,36,69,13,0,32,2,40,2,52,33,0,11,2,64,32,0,34,3,69,4,64,65,0,33,2,12,1,11,65,4,32,3,65,5,108,16,141,2,33,2,32,1,32,1,41,2,120,55,3,48,32,1,32,1,41,2,112,55,3,40,32,1,32,1,41,2,104,55,3,32,35,1,65,176,213,0,106,34,0,32,1,65,32,106,16,112,32,0,16,131,1,26,32,2,33,0,3,64,32,1,65,208,0,106,35,1,65,176,213,0,106,16,137,1,32,1,32,1,41,2,96,55,3,24,32,1,32,1,41,2,88,55,3,16,32,1,32,1,41,2,80,55,3,8,32,1,65,8,106,16,49,4,64,32,1,40,2,80,33,4,32,1,40,2,88,33,5,32,1,40,2,96,33,6,32,1,40,2,84,33,7,32,0,32,1,40,2,92,54,2,16,32,0,32,7,54,2,8,32,0,32,6,54,2,0,32,0,32,5,65,1,118,54,2,12,32,0,32,4,65,1,118,54,2,4,32,8,65,1,106,34,8,32,3,70,13,2,32,0,65,20,106,33,0,11,35,1,65,176,213,0,106,16,134,1,13,0,11,11,35,9,34,0,32,2,54,2,4,32,0,32,3,54,2,0,32,1,65,128,1,106,36,0,11,253,6,1,8,127,35,0,65,160,1,107,34,7,36,0,32,7,35,9,34,8,40,2,0,54,2,152,1,32,7,32,8,40,2,12,65,1,116,54,2,144,1,32,7,32,0,54,2,156,1,32,7,32,7,41,2,152,1,55,3,88,32,7,32,8,40,2,16,54,2,148,1,32,7,32,7,41,2,144,1,55,3,80,32,7,32,8,40,2,8,54,2,140,1,32,7,32,8,40,2,4,65,1,116,54,2,136,1,32,7,32,7,41,2,136,1,55,3,72,35,1,65,176,213,0,106,34,0,32,7,65,200,0,106,16,112,32,7,65,240,0,106,32,0,16,137,1,32,6,65,1,116,34,0,65,127,32,0,32,5,114,34,0,27,33,11,32,5,65,127,32,0,27,33,9,32,4,65,1,116,33,12,65,0,33,8,65,0,33,4,3,64,32,7,65,64,107,32,7,41,2,128,1,55,3,0,32,7,32,7,41,2,120,55,3,56,32,7,32,7,41,2,112,55,3,48,32,7,65,232,0,106,32,7,65,48,106,16,46,2,64,2,64,32,3,32,7,40,2,104,34,0,77,4,64,32,0,32,3,71,13,1,32,7,40,2,108,32,12,75,13,1,11,65,0,33,6,35,1,65,176,213,0,106,16,134,1,4,64,65,0,33,5,12,2,11,35,1,65,176,213,0,106,16,136,1,34,6,65,1,115,33,5,12,1,11,32,7,32,7,41,2,128,1,55,3,40,32,7,32,7,41,2,120,55,3,32,32,7,32,7,41,2,112,55,3,24,32,7,32,7,40,2,28,54,2,96,32,7,32,7,40,2,32,54,2,100,65,1,33,5,65,0,33,6,32,9,32,7,40,2,96,34,0,73,13,0,32,0,32,9,70,4,64,32,11,32,7,40,2,100,77,13,1,11,32,7,32,7,41,2,128,1,55,3,16,32,7,32,7,41,2,120,55,3,8,32,7,32,7,41,2,112,55,3,0,32,7,16,47,33,0,2,64,32,2,69,4,64,32,4,33,0,12,1,11,2,64,3,64,32,1,32,6,65,2,116,106,40,2,0,34,5,32,0,70,13,1,32,0,32,5,73,4,64,32,4,33,0,12,3,11,32,6,65,1,106,34,6,32,2,71,13,0,11,32,4,33,0,12,1,11,2,64,32,4,65,5,106,34,0,32,10,77,13,0,65,8,32,10,65,1,116,34,5,32,0,32,0,32,5,73,27,34,5,32,5,65,8,77,27,34,10,65,2,116,33,5,32,8,4,64,32,8,32,5,35,4,40,2,0,17,1,0,33,8,12,1,11,32,5,35,5,40,2,0,17,0,0,33,8,11,32,8,32,4,65,2,116,106,34,4,66,0,55,2,0,32,4,65,0,54,2,16,32,4,66,0,55,2,8,32,7,40,2,112,33,5,32,7,40,2,120,33,6,32,7,40,2,128,1,33,13,32,7,40,2,116,33,14,32,8,32,0,65,2,116,106,34,4,65,4,107,32,7,40,2,124,54,2,0,32,4,65,12,107,32,14,54,2,0,32,4,65,20,107,32,13,54,2,0,32,4,65,8,107,32,6,65,1,118,54,2,0,32,4,65,16,107,32,5,65,1,118,54,2,0,11,65,0,33,6,2,64,35,1,65,176,213,0,106,34,4,16,131,1,13,0,32,4,16,134,1,13,0,32,4,16,136,1,34,6,65,1,115,33,5,32,0,33,4,12,1,11,32,0,33,4,65,0,33,5,11,2,64,32,5,13,0,32,7,65,240,0,106,35,1,65,176,213,0,106,34,0,16,137,1,32,6,69,13,1,32,0,16,134,1,34,6,69,4,64,32,0,16,136,1,69,13,1,11,3,64,32,7,65,240,0,106,35,1,65,176,213,0,106,34,0,16,137,1,32,6,65,1,113,13,2,32,0,16,134,1,34,6,13,0,32,0,16,136,1,13,0,11,11,11,35,9,34,0,32,8,54,2,4,32,0,32,4,65,5,110,54,2,0,32,7,65,160,1,106,36,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,49,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,4,118,65,1,113,12,1,11,32,0,47,1,44,65,5,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,174,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,26,116,65,31,117,65,226,4,113,12,1,11,65,226,4,32,0,45,0,45,65,2,113,13,0,26,32,0,40,2,32,11,65,0,71,33,0,32,1,65,48,106,36,0,32,0,11,226,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,2,64,32,1,40,2,12,34,0,65,255,255,3,113,69,4,64,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,128,254,3,113,65,8,118,33,0,12,2,11,32,0,47,1,40,33,0,11,32,0,65,255,255,3,113,65,255,255,3,71,13,0,65,1,12,1,11,32,1,40,2,20,40,2,8,40,2,76,32,0,65,255,255,3,113,65,1,116,106,47,1,0,65,255,255,3,70,11,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,5,118,65,1,113,12,1,11,32,0,47,1,44,65,9,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,159,1,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,32,0,65,3,118,65,1,113,12,1,11,32,0,47,1,44,65,2,118,65,1,113,11,33,0,32,1,65,48,106,36,0,32,0,11,123,1,2,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,16,50,33,0,32,1,65,48,106,36,0,32,0,11,221,1,1,3,127,35,0,65,48,107,34,1,36,0,32,1,35,9,34,2,40,2,0,54,2,40,32,1,32,2,40,2,12,65,1,116,54,2,32,32,1,32,0,54,2,44,32,1,32,1,41,2,40,55,3,16,32,1,32,2,40,2,16,54,2,36,32,1,32,1,41,2,32,55,3,8,32,1,32,2,40,2,8,54,2,28,32,1,32,2,40,2,4,65,1,116,54,2,24,32,1,32,1,41,2,24,55,3,0,32,1,40,2,20,40,2,8,33,3,2,127,2,127,32,1,40,2,16,40,2,0,34,0,65,1,113,4,64,65,255,255,3,32,0,65,16,118,34,2,65,255,255,3,70,13,2,26,32,0,65,128,254,3,113,65,8,118,12,1,11,65,255,255,3,32,0,47,1,42,34,2,65,255,255,3,70,13,1,26,32,0,47,1,40,11,33,0,32,3,32,2,32,0,65,255,255,3,113,16,25,11,33,0,32,1,65,48,106,36,0,32,0,11,192,6,1,3,127,35,0,65,240,0,107,34,11,36,0,35,1,65,196,213,0,106,34,13,40,2,0,34,12,69,4,64,32,13,16,110,34,12,54,2,0,11,32,12,32,8,65,127,32,8,27,54,2,72,32,11,35,9,34,12,40,2,0,54,2,104,32,11,32,12,40,2,12,65,1,116,54,2,96,32,11,32,12,40,2,8,54,2,92,32,11,32,1,54,2,108,32,11,32,12,40,2,16,54,2,100,32,11,32,12,40,2,4,65,1,116,54,2,88,32,11,32,3,65,1,116,54,2,84,32,11,32,2,54,2,80,32,11,32,5,65,1,116,54,2,76,32,11,32,4,54,2,72,35,1,34,2,65,196,213,0,106,34,3,40,2,0,33,1,32,11,32,11,41,2,80,55,3,40,32,11,32,11,41,2,72,55,3,32,32,1,32,11,65,40,106,32,11,65,32,106,16,113,32,3,40,2,0,33,1,32,7,65,127,32,7,27,34,4,32,6,79,4,64,32,1,32,4,54,2,92,32,1,32,6,54,2,88,11,32,3,40,2,0,32,8,54,2,72,32,3,40,2,0,32,9,54,2,84,32,3,40,2,0,32,10,173,55,3,136,1,32,11,32,11,41,2,96,55,3,16,32,11,32,11,41,2,104,55,3,24,32,11,32,2,65,216,211,0,106,41,3,0,55,3,64,32,11,32,11,41,2,88,55,3,8,32,3,40,2,0,33,2,35,0,65,32,107,34,1,36,0,32,1,32,11,41,2,24,55,3,24,32,1,32,11,41,2,16,55,3,16,32,1,32,11,41,2,8,55,3,8,32,2,32,0,32,1,65,8,106,16,111,32,11,65,64,107,34,0,4,64,32,2,32,0,54,2,144,1,32,0,40,2,0,33,0,32,2,65,0,54,2,152,1,32,2,32,0,54,2,148,1,11,32,1,65,32,106,36,0,65,0,33,2,65,0,33,1,32,3,40,2,0,32,11,65,52,106,16,114,4,64,65,0,33,10,65,0,33,0,65,0,33,12,3,64,2,64,32,12,65,2,106,34,6,32,11,47,1,58,65,6,108,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,3,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,33,2,12,1,11,32,3,35,5,40,2,0,17,0,0,33,2,11,65,0,33,9,32,11,47,1,58,65,24,108,65,8,106,34,3,4,64,32,2,32,12,65,2,116,106,65,0,32,3,252,11,0,11,32,11,47,1,56,33,3,32,2,32,10,65,2,116,106,34,4,32,11,47,1,58,34,5,54,2,4,32,4,32,3,54,2,0,32,10,65,2,106,33,10,32,5,4,64,3,64,32,2,32,10,65,2,116,106,34,3,32,11,40,2,60,32,9,65,28,108,106,34,4,40,2,24,54,2,0,32,4,40,0,0,33,7,32,4,40,0,8,33,8,32,4,40,0,16,33,12,32,4,40,0,4,33,13,32,3,32,4,40,0,12,54,2,20,32,3,32,13,54,2,12,32,3,32,12,54,2,4,32,3,32,8,65,1,118,54,2,16,32,3,32,7,65,1,118,54,2,8,32,10,65,6,106,33,10,32,9,65,1,106,34,9,32,5,71,13,0,11,11,32,1,65,1,106,33,1,32,5,65,6,108,32,6,106,33,12,35,1,65,196,213,0,106,40,2,0,32,11,65,52,106,16,114,13,0,11,11,35,9,34,0,35,1,65,196,213,0,106,40,2,0,45,0,163,1,54,2,8,32,0,32,2,54,2,4,32,0,32,1,54,2,0,32,11,65,240,0,106,36,0,11,9,0,32,0,40,2,4,16,3,11,224,5,1,3,127,35,0,65,224,0,107,34,11,36,0,35,1,65,196,213,0,106,34,13,40,2,0,34,12,69,4,64,32,13,16,110,34,12,54,2,0,11,32,12,32,8,54,2,72,32,11,35,9,34,12,40,2,0,54,2,88,32,11,32,12,40,2,12,65,1,116,54,2,80,32,11,32,12,40,2,8,54,2,76,32,11,32,1,54,2,92,32,11,32,12,40,2,16,54,2,84,32,11,32,12,40,2,4,65,1,116,54,2,72,32,11,32,3,65,1,116,54,2,68,32,11,32,2,54,2,64,32,11,32,5,65,1,116,54,2,60,32,11,32,4,54,2,56,35,1,65,196,213,0,106,34,3,40,2,0,33,1,32,11,32,11,41,2,64,55,3,32,32,11,32,11,41,2,56,55,3,24,32,1,32,11,65,32,106,32,11,65,24,106,16,113,32,3,40,2,0,33,1,32,7,65,127,32,7,27,34,2,32,6,79,4,64,32,1,32,2,54,2,92,32,1,32,6,54,2,88,11,32,3,40,2,0,32,8,54,2,72,32,3,40,2,0,32,9,54,2,84,32,3,40,2,0,32,10,173,55,3,136,1,32,11,32,11,41,2,80,55,3,8,32,11,32,11,41,2,88,55,3,16,32,11,32,11,41,2,72,55,3,0,32,3,40,2,0,32,0,32,11,16,111,65,0,33,2,65,0,33,1,32,3,40,2,0,32,11,65,44,106,32,11,65,40,106,16,122,4,64,65,0,33,10,65,0,33,0,65,0,33,12,3,64,2,64,32,12,65,3,106,34,6,32,11,47,1,50,65,6,108,106,34,3,32,0,77,13,0,65,8,32,0,65,1,116,34,0,32,3,32,0,32,3,75,27,34,0,32,0,65,8,77,27,34,0,65,2,116,33,3,32,2,4,64,32,2,32,3,35,4,40,2,0,17,1,0,33,2,12,1,11,32,3,35,5,40,2,0,17,0,0,33,2,11,65,0,33,9,32,11,47,1,50,65,24,108,65,12,106,34,3,4,64,32,2,32,12,65,2,116,106,65,0,32,3,252,11,0,11,32,11,47,1,48,33,4,32,2,32,10,65,2,116,106,34,3,32,11,47,1,50,34,5,54,2,4,32,3,32,4,54,2,0,32,3,32,11,40,2,40,54,2,8,32,10,65,3,106,33,10,32,5,4,64,3,64,32,2,32,10,65,2,116,106,34,3,32,11,40,2,52,32,9,65,28,108,106,34,4,40,2,24,54,2,0,32,4,40,0,0,33,7,32,4,40,0,8,33,8,32,4,40,0,16,33,12,32,4,40,0,4,33,13,32,3,32,4,40,0,12,54,2,20,32,3,32,13,54,2,12,32,3,32,12,54,2,4,32,3,32,8,65,1,118,54,2,16,32,3,32,7,65,1,118,54,2,8,32,10,65,6,106,33,10,32,9,65,1,106,34,9,32,5,71,13,0,11,11,32,1,65,1,106,33,1,32,5,65,6,108,32,6,106,33,12,35,1,65,196,213,0,106,40,2,0,32,11,65,44,106,32,11,65,40,106,16,122,13,0,11,11,35,9,34,0,35,1,65,196,213,0,106,40,2,0,45,0,163,1,54,2,8,32,0,32,2,54,2,4,32,0,32,1,54,2,0,32,11,65,224,0,106,36,0,11,31,0,32,0,40,2,60,16,4,34,0,4,127,35,1,65,200,213,0,106,32,0,54,2,0,65,127,5,65,0,11,11,82,1,1,127,32,0,40,2,60,33,3,35,0,65,16,107,34,0,36,0,32,3,32,1,32,2,65,255,1,113,32,0,65,8,106,16,8,34,2,4,127,35,1,65,200,213,0,106,32,2,54,2,0,65,127,5,65,0,11,33,2,32,0,41,3,8,33,1,32,0,65,16,106,36,0,66,127,32,1,32,2,27,11,254,2,1,7,127,35,0,65,32,107,34,3,36,0,32,3,32,0,40,2,28,34,4,54,2,16,32,0,40,2,20,33,5,32,3,32,2,54,2,28,32,3,32,1,54,2,24,32,3,32,5,32,4,107,34,1,54,2,20,32,1,32,2,106,33,5,65,2,33,7,2,127,2,64,2,64,2,64,32,0,40,2,60,32,3,65,16,106,34,1,65,2,32,3,65,12,106,16,5,34,4,4,127,35,1,65,200,213,0,106,32,4,54,2,0,65,127,5,65,0,11,4,64,32,1,33,4,12,1,11,3,64,32,5,32,3,40,2,12,34,6,70,13,2,32,6,65,0,72,4,64,32,1,33,4,12,4,11,32,1,65,8,65,0,32,6,32,1,40,2,4,34,8,75,34,9,27,106,34,4,32,6,32,8,65,0,32,9,27,107,34,8,32,4,40,2,0,106,54,2,0,32,1,65,12,65,4,32,9,27,106,34,1,32,1,40,2,0,32,8,107,54,2,0,32,5,32,6,107,33,5,32,0,40,2,60,32,4,34,1,32,7,32,9,107,34,7,32,3,65,12,106,16,5,34,6,4,127,35,1,65,200,213,0,106,32,6,54,2,0,65,127,5,65,0,11,69,13,0,11,11,32,5,65,127,71,13,1,11,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,0,32,1,32,0,40,2,48,106,54,2,16,32,2,12,1,11,32,0,65,0,54,2,28,32,0,66,0,55,3,16,32,0,32,0,40,2,0,65,32,114,54,2,0,65,0,32,7,65,2,70,13,0,26,32,2,32,4,40,2,4,107,11,33,0,32,3,65,32,106,36,0,32,0,11,5,0,16,6,0,11,131,1,2,2,127,2,126,35,0,65,32,107,34,1,36,0,65,1,66,1,32,1,65,24,106,16,7,34,2,4,127,35,1,65,200,213,0,106,32,2,54,2,0,65,127,5,65,0,11,4,127,65,127,5,32,1,41,3,24,33,3,32,1,65,0,54,2,20,32,1,32,3,66,128,148,235,220,3,128,34,4,55,3,8,32,1,32,3,32,4,66,128,148,235,220,3,126,125,62,2,16,32,0,32,1,41,3,16,55,3,8,32,0,32,1,41,3,8,55,3,0,65,0,11,26,32,1,65,32,106,36,0,11,242,2,2,2,127,1,126,2,64,32,2,69,13,0,32,0,32,1,58,0,0,32,0,32,2,106,34,3,65,1,107,32,1,58,0,0,32,2,65,3,73,13,0,32,0,32,1,58,0,2,32,0,32,1,58,0,1,32,3,65,3,107,32,1,58,0,0,32,3,65,2,107,32,1,58,0,0,32,2,65,7,73,13,0,32,0,32,1,58,0,3,32,3,65,4,107,32,1,58,0,0,32,2,65,9,73,13,0,32,0,65,0,32,0,107,65,3,113,34,4,106,34,3,32,1,65,255,1,113,65,129,130,132,8,108,34,1,54,2,0,32,3,32,2,32,4,107,65,124,113,34,4,106,34,2,65,4,107,32,1,54,2,0,32,4,65,9,73,13,0,32,3,32,1,54,2,8,32,3,32,1,54,2,4,32,2,65,8,107,32,1,54,2,0,32,2,65,12,107,32,1,54,2,0,32,4,65,25,73,13,0,32,3,32,1,54,2,24,32,3,32,1,54,2,20,32,3,32,1,54,2,16,32,3,32,1,54,2,12,32,2,65,16,107,32,1,54,2,0,32,2,65,20,107,32,1,54,2,0,32,2,65,24,107,32,1,54,2,0,32,2,65,28,107,32,1,54,2,0,32,4,32,3,65,4,113,65,24,114,34,4,107,34,2,65,32,73,13,0,32,1,173,66,129,128,128,128,16,126,33,5,32,3,32,4,106,33,1,3,64,32,1,32,5,55,3,24,32,1,32,5,55,3,16,32,1,32,5,55,3,8,32,1,32,5,55,3,0,32,1,65,32,106,33,1,32,2,65,32,107,34,2,65,31,75,13,0,11,11,32,0,11,89,1,1,127,32,0,32,0,40,2,72,34,1,65,1,107,32,1,114,54,2,72,32,0,40,2,0,34,1,65,8,113,4,64,32,0,32,1,65,32,114,54,2,0,65,127,15,11,32,0,66,0,55,2,4,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,0,32,1,32,0,40,2,48,106,54,2,16,65,0,11,129,1,1,2,127,35,0,65,16,107,34,2,36,0,32,2,32,1,58,0,15,2,64,2,64,32,0,40,2,16,34,3,4,127,32,3,5,32,0,16,239,1,13,2,32,0,40,2,16,11,32,0,40,2,20,34,3,70,13,0,32,0,40,2,80,32,1,65,255,1,113,70,13,0,32,0,32,3,65,1,106,54,2,20,32,3,32,1,58,0,0,12,1,11,32,0,32,2,65,15,106,65,1,32,0,40,2,36,17,4,0,65,1,71,13,0,32,2,45,0,15,26,11,32,2,65,16,106,36,0,11,210,1,1,3,127,2,64,32,1,40,2,76,34,2,65,0,78,4,64,32,2,69,13,1,35,1,65,132,214,0,106,40,2,24,32,2,65,255,255,255,255,3,113,71,13,1,11,2,64,32,0,65,255,1,113,34,3,32,1,40,2,80,70,13,0,32,1,40,2,20,34,2,32,1,40,2,16,70,13,0,32,1,32,2,65,1,106,54,2,20,32,2,32,0,58,0,0,15,11,32,1,32,3,16,240,1,15,11,32,1,65,204,0,106,34,2,32,2,40,2,0,34,3,65,255,255,255,255,3,32,3,27,54,2,0,2,64,2,64,32,0,65,255,1,113,34,4,32,1,40,2,80,70,13,0,32,1,40,2,20,34,3,32,1,40,2,16,70,13,0,32,1,32,3,65,1,106,54,2,20,32,3,32,0,58,0,0,12,1,11,32,1,32,4,16,240,1,11,32,2,40,2,0,26,32,2,65,0,54,2,0,11,137,4,1,3,127,32,2,65,128,4,79,4,64,32,2,4,64,32,0,32,1,32,2,252,10,0,0,11,32,0,15,11,32,0,32,2,106,33,3,2,64,32,0,32,1,115,65,3,113,69,4,64,2,64,32,0,65,3,113,69,4,64,32,0,33,2,12,1,11,32,2,69,4,64,32,0,33,2,12,1,11,32,0,33,2,3,64,32,2,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,106,34,2,65,3,113,69,13,1,32,2,32,3,73,13,0,11,11,32,3,65,124,113,33,4,2,64,32,3,65,192,0,73,13,0,32,2,32,4,65,64,106,34,5,75,13,0,3,64,32,2,32,1,40,2,0,54,2,0,32,2,32,1,40,2,4,54,2,4,32,2,32,1,40,2,8,54,2,8,32,2,32,1,40,2,12,54,2,12,32,2,32,1,40,2,16,54,2,16,32,2,32,1,40,2,20,54,2,20,32,2,32,1,40,2,24,54,2,24,32,2,32,1,40,2,28,54,2,28,32,2,32,1,40,2,32,54,2,32,32,2,32,1,40,2,36,54,2,36,32,2,32,1,40,2,40,54,2,40,32,2,32,1,40,2,44,54,2,44,32,2,32,1,40,2,48,54,2,48,32,2,32,1,40,2,52,54,2,52,32,2,32,1,40,2,56,54,2,56,32,2,32,1,40,2,60,54,2,60,32,1,65,64,107,33,1,32,2,65,64,107,34,2,32,5,77,13,0,11,11,32,2,32,4,79,13,1,3,64,32,2,32,1,40,2,0,54,2,0,32,1,65,4,106,33,1,32,2,65,4,106,34,2,32,4,73,13,0,11,12,1,11,32,3,65,4,73,4,64,32,0,33,2,12,1,11,32,3,65,4,107,34,4,32,0,73,4,64,32,0,33,2,12,1,11,32,0,33,2,3,64,32,2,32,1,45,0,0,58,0,0,32,2,32,1,45,0,1,58,0,1,32,2,32,1,45,0,2,58,0,2,32,2,32,1,45,0,3,58,0,3,32,1,65,4,106,33,1,32,2,65,4,106,34,2,32,4,77,13,0,11,11,32,2,32,3,73,4,64,3,64,32,2,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,106,34,2,32,3,71,13,0,11,11,32,0,11,196,1,1,3,127,2,64,32,2,40,2,16,34,3,4,127,32,3,5,32,2,16,239,1,13,1,32,2,40,2,16,11,32,2,40,2,20,34,4,107,32,1,73,4,64,32,2,32,0,32,1,32,2,40,2,36,17,4,0,15,11,2,64,2,64,32,2,40,2,80,65,0,72,13,0,32,1,69,13,0,32,1,33,3,3,64,32,0,32,3,106,34,5,65,1,107,45,0,0,65,10,71,4,64,32,3,65,1,107,34,3,13,1,12,2,11,11,32,2,32,0,32,3,32,2,40,2,36,17,4,0,34,4,32,3,73,13,2,32,1,32,3,107,33,1,32,2,40,2,20,33,4,12,1,11,32,0,33,5,65,0,33,3,11,32,4,32,5,32,1,16,242,1,26,32,2,32,2,40,2,20,32,1,106,54,2,20,32,1,32,3,106,33,4,11,32,4,11,21,0,32,1,40,2,76,65,0,72,26,32,0,65,2,32,1,16,243,1,26,11,30,1,1,127,65,1,33,1,32,0,65,48,107,65,10,79,4,127,32,0,16,246,1,65,0,71,5,65,1,11,11,66,1,1,127,32,0,65,255,255,7,77,4,64,35,1,65,224,12,106,34,1,32,0,65,3,118,65,31,113,32,1,32,0,65,8,118,106,45,0,0,65,5,116,114,106,45,0,0,32,0,65,7,113,118,65,1,113,15,11,32,0,65,254,255,11,73,11,104,1,3,127,32,0,69,4,64,65,0,15,11,2,127,35,1,65,160,43,106,33,1,32,0,4,64,3,64,32,1,34,2,40,2,0,34,3,4,64,32,1,65,4,106,33,1,32,0,32,3,71,13,1,11,11,32,2,65,0,32,3,27,12,1,11,32,1,33,2,3,64,32,2,34,0,65,4,106,33,2,32,0,40,2,0,13,0,11,32,1,32,0,32,1,107,65,124,113,106,11,65,0,71,11,129,1,1,2,127,2,64,2,64,32,2,65,4,79,4,64,32,0,32,1,114,65,3,113,13,1,3,64,32,0,40,2,0,32,1,40,2,0,71,13,2,32,1,65,4,106,33,1,32,0,65,4,106,33,0,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,3,64,32,0,45,0,0,34,3,32,1,45,0,0,34,4,70,4,64,32,1,65,1,106,33,1,32,0,65,1,106,33,0,32,2,65,1,107,34,2,13,1,12,2,11,11,32,3,32,4,107,15,11,65,0,11,42,1,1,127,35,0,65,16,107,34,4,36,0,32,4,32,3,54,2,12,32,0,32,1,32,2,32,3,16,134,2,33,0,32,4,65,16,106,36,0,32,0,11,125,1,3,127,2,64,2,64,32,0,34,1,65,3,113,69,13,0,32,1,45,0,0,69,4,64,65,0,15,11,3,64,32,1,65,1,106,34,1,65,3,113,69,13,1,32,1,45,0,0,13,0,11,12,1,11,3,64,32,1,34,2,65,4,106,33,1,65,128,130,132,8,32,2,40,2,0,34,3,107,32,3,114,65,128,129,130,132,120,113,65,128,129,130,132,120,70,13,0,11,3,64,32,2,34,1,65,1,106,33,2,32,1,45,0,0,13,0,11,11,32,1,32,0,107,11,96,1,2,127,32,2,69,4,64,65,0,15,11,32,0,45,0,0,34,3,4,127,2,64,3,64,32,3,32,1,45,0,0,34,4,71,13,1,32,4,69,13,1,32,2,65,1,107,34,2,69,13,1,32,1,65,1,106,33,1,32,0,45,0,1,33,3,32,0,65,1,106,33,0,32,3,13,0,11,65,0,33,3,11,32,3,5,65,0,11,32,1,45,0,0,107,11,229,1,1,2,127,32,2,65,0,71,33,3,2,64,2,64,2,64,32,0,65,3,113,69,13,0,32,2,69,13,0,32,1,65,255,1,113,33,4,3,64,32,0,45,0,0,32,4,70,13,2,32,2,65,1,107,34,2,65,0,71,33,3,32,0,65,1,106,34,0,65,3,113,69,13,1,32,2,13,0,11,11,32,3,69,13,1,2,64,32,1,65,255,1,113,34,3,32,0,45,0,0,70,13,0,32,2,65,4,73,13,0,32,3,65,129,130,132,8,108,33,3,3,64,65,128,130,132,8,32,0,40,2,0,32,3,115,34,4,107,32,4,114,65,128,129,130,132,120,113,65,128,129,130,132,120,71,13,2,32,0,65,4,106,33,0,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,32,1,65,255,1,113,33,1,3,64,32,1,32,0,45,0,0,70,4,64,32,0,15,11,32,0,65,1,106,33,0,32,2,65,1,107,34,2,13,0,11,11,65,0,11,127,2,1,127,1,126,32,0,189,34,3,66,52,136,167,65,255,15,113,34,2,65,255,15,71,4,124,32,2,69,4,64,32,1,32,0,68,0,0,0,0,0,0,0,0,97,4,127,65,0,5,32,0,68,0,0,0,0,0,0,240,67,162,32,1,16,253,1,33,0,32,1,40,2,0,65,64,106,11,54,2,0,32,0,15,11,32,1,32,2,65,254,7,107,54,2,0,32,3,66,255,255,255,255,255,255,255,135,128,127,131,66,128,128,128,128,128,128,128,240,63,132,191,5,32,0,11,11,183,19,2,18,127,2,126,35,0,65,64,106,34,8,36,0,32,8,32,1,54,2,60,32,8,65,39,106,33,23,32,8,65,40,106,33,18,2,64,2,64,2,64,2,64,3,64,65,0,33,7,3,64,32,1,33,13,32,7,32,14,65,255,255,255,255,7,115,74,13,2,32,7,32,14,106,33,14,2,64,2,64,2,64,2,64,2,64,32,1,34,7,45,0,0,34,11,4,64,3,64,2,64,2,64,32,11,65,255,1,113,34,1,69,4,64,32,7,33,1,12,1,11,32,1,65,37,71,13,1,32,7,33,11,3,64,32,11,45,0,1,65,37,71,4,64,32,11,33,1,12,2,11,32,7,65,1,106,33,7,32,11,45,0,2,33,9,32,11,65,2,106,34,1,33,11,32,9,65,37,70,13,0,11,11,32,7,32,13,107,34,7,32,14,65,255,255,255,255,7,115,34,24,74,13,10,32,0,4,64,32,0,32,13,32,7,16,255,1,11,32,7,13,8,32,8,32,1,54,2,60,32,1,65,1,106,33,7,65,127,33,16,2,64,32,1,44,0,1,65,48,107,34,9,65,9,75,13,0,32,1,45,0,2,65,36,71,13,0,32,1,65,3,106,33,7,65,1,33,19,32,9,33,16,11,32,8,32,7,54,2,60,65,0,33,12,2,64,32,7,44,0,0,34,11,65,32,107,34,1,65,31,75,4,64,32,7,33,9,12,1,11,32,7,33,9,65,1,32,1,116,34,1,65,137,209,4,113,69,13,0,3,64,32,8,32,7,65,1,106,34,9,54,2,60,32,1,32,12,114,33,12,32,7,44,0,1,34,11,65,32,107,34,1,65,32,79,13,1,32,9,33,7,65,1,32,1,116,34,1,65,137,209,4,113,13,0,11,11,2,64,32,11,65,42,70,4,64,2,127,2,64,32,9,44,0,1,65,48,107,34,1,65,9,75,13,0,32,9,45,0,2,65,36,71,13,0,2,127,32,0,69,4,64,32,4,32,1,65,2,116,106,65,10,54,2,0,65,0,12,1,11,32,3,32,1,65,3,116,106,40,2,0,11,33,15,32,9,65,3,106,33,1,65,1,12,1,11,32,19,13,6,32,9,65,1,106,33,1,32,0,69,4,64,32,8,32,1,54,2,60,65,0,33,19,65,0,33,15,12,3,11,32,2,32,2,40,2,0,34,7,65,4,106,54,2,0,32,7,40,2,0,33,15,65,0,11,33,19,32,8,32,1,54,2,60,32,15,65,0,78,13,1,65,0,32,15,107,33,15,32,12,65,128,192,0,114,33,12,12,1,11,32,8,65,60,106,16,128,2,34,15,65,0,72,13,11,32,8,40,2,60,33,1,11,65,0,33,7,65,127,33,10,2,127,65,0,32,1,45,0,0,65,46,71,13,0,26,32,1,45,0,1,65,42,70,4,64,2,127,2,64,32,1,44,0,2,65,48,107,34,9,65,9,75,13,0,32,1,45,0,3,65,36,71,13,0,32,1,65,4,106,33,1,2,127,32,0,69,4,64,32,4,32,9,65,2,116,106,65,10,54,2,0,65,0,12,1,11,32,3,32,9,65,3,116,106,40,2,0,11,12,1,11,32,19,13,6,32,1,65,2,106,33,1,65,0,32,0,69,13,0,26,32,2,32,2,40,2,0,34,9,65,4,106,54,2,0,32,9,40,2,0,11,33,10,32,8,32,1,54,2,60,32,10,65,0,78,12,1,11,32,8,32,1,65,1,106,54,2,60,32,8,65,60,106,16,128,2,33,10,32,8,40,2,60,33,1,65,1,11,33,20,3,64,32,7,33,21,65,28,33,9,32,1,34,22,44,0,0,34,7,65,251,0,107,65,70,73,13,12,32,1,65,1,106,33,1,32,7,35,1,32,21,65,58,108,106,106,65,191,43,106,45,0,0,34,7,65,1,107,65,255,1,113,65,8,73,13,0,11,32,8,32,1,54,2,60,2,64,32,7,65,27,71,4,64,32,7,69,13,13,32,16,65,0,78,4,64,32,0,69,4,64,32,4,32,16,65,2,116,106,32,7,54,2,0,12,13,11,32,8,32,3,32,16,65,3,116,106,41,3,0,55,3,48,12,2,11,32,0,69,13,9,32,8,65,48,106,32,7,32,2,32,6,16,129,2,12,1,11,32,16,65,0,78,13,12,65,0,33,7,32,0,69,13,9,11,32,0,45,0,0,65,32,113,13,12,32,12,65,255,255,123,113,34,11,32,12,32,12,65,128,192,0,113,27,33,12,35,1,33,17,65,0,33,16,32,18,33,9,2,64,2,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,2,127,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,22,45,0,0,34,22,192,34,7,65,83,113,32,7,32,22,65,15,113,65,3,70,27,32,7,32,21,27,34,7,65,216,0,107,14,33,4,23,23,23,23,23,23,23,23,16,23,9,6,16,16,16,23,6,23,23,23,23,2,5,3,23,23,10,23,1,23,23,4,0,11,2,64,32,7,65,193,0,107,14,7,16,23,11,23,16,16,16,0,11,32,7,65,211,0,70,13,11,12,22,11,32,8,41,3,48,33,25,35,1,12,5,11,65,0,33,7,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,21,14,8,0,1,2,3,4,29,5,6,29,11,32,8,40,2,48,32,14,54,2,0,12,28,11,32,8,40,2,48,32,14,54,2,0,12,27,11,32,8,40,2,48,32,14,172,55,3,0,12,26,11,32,8,40,2,48,32,14,59,1,0,12,25,11,32,8,40,2,48,32,14,58,0,0,12,24,11,32,8,40,2,48,32,14,54,2,0,12,23,11,32,8,40,2,48,32,14,172,55,3,0,12,22,11,65,8,32,10,32,10,65,8,77,27,33,10,32,12,65,8,114,33,12,65,248,0,33,7,11,35,1,33,17,32,18,33,1,32,7,65,32,113,33,13,32,8,41,3,48,34,25,34,26,66,0,82,4,64,3,64,32,1,65,1,107,34,1,35,1,65,208,47,106,32,26,167,65,15,113,106,45,0,0,32,13,114,58,0,0,32,26,66,15,86,33,11,32,26,66,4,136,33,26,32,11,13,0,11,11,32,1,33,13,32,25,80,13,3,32,12,65,8,113,69,13,3,35,1,32,7,65,4,118,106,33,17,65,2,33,16,12,3,11,32,18,33,1,32,8,41,3,48,34,25,34,26,66,0,82,4,64,3,64,32,1,65,1,107,34,1,32,26,167,65,7,113,65,48,114,58,0,0,32,26,66,7,86,33,7,32,26,66,3,136,33,26,32,7,13,0,11,11,32,1,33,13,32,12,65,8,113,69,4,64,35,1,33,17,12,3,11,32,10,32,18,32,13,107,34,1,65,1,106,32,1,32,10,72,27,33,10,35,1,33,17,12,2,11,32,8,41,3,48,34,25,66,0,83,4,64,32,8,66,0,32,25,125,34,25,55,3,48,65,1,33,16,35,1,12,1,11,32,12,65,128,16,113,4,64,65,1,33,16,35,1,65,1,106,12,1,11,35,1,34,1,65,2,106,32,1,32,12,65,1,113,34,16,27,11,33,17,32,25,32,18,16,130,2,33,13,11,32,20,32,10,65,0,72,113,13,18,32,12,65,255,255,123,113,32,12,32,20,27,33,12,2,64,32,25,66,0,82,13,0,32,10,13,0,32,18,33,13,65,0,33,10,12,15,11,32,10,32,25,80,32,18,32,13,107,106,34,1,32,1,32,10,72,27,33,10,12,14,11,32,8,45,0,48,33,7,12,12,11,32,8,40,2,48,34,1,35,1,34,17,65,246,10,106,32,1,27,34,13,34,1,65,0,65,255,255,255,255,7,32,10,32,10,65,255,255,255,255,7,79,27,34,7,16,252,1,34,9,32,1,107,32,7,32,9,27,34,1,32,13,106,33,9,32,10,65,0,78,13,10,32,9,45,0,0,13,16,35,1,33,17,12,10,11,32,8,41,3,48,34,25,66,0,82,13,1,65,0,33,7,12,10,11,32,10,4,64,32,8,40,2,48,12,2,11,65,0,33,7,32,0,65,32,32,15,65,0,32,12,16,131,2,12,2,11,32,8,65,0,54,2,12,32,8,32,25,62,2,8,32,8,32,8,65,8,106,34,7,54,2,48,65,127,33,10,32,7,11,33,11,65,0,33,7,3,64,2,64,32,11,40,2,0,34,9,69,13,0,32,8,65,4,106,32,9,16,136,2,34,9,65,0,72,13,16,32,9,32,10,32,7,107,75,13,0,32,11,65,4,106,33,11,32,7,32,9,106,34,7,32,10,73,13,1,11,11,65,61,33,9,32,7,65,0,72,13,13,32,0,65,32,32,15,32,7,32,12,16,131,2,32,7,69,4,64,65,0,33,7,12,1,11,65,0,33,9,32,8,40,2,48,33,11,3,64,32,11,40,2,0,34,13,69,13,1,32,8,65,4,106,34,10,32,13,16,136,2,34,13,32,9,106,34,9,32,7,75,13,1,32,0,32,10,32,13,16,255,1,32,11,65,4,106,33,11,32,7,32,9,75,13,0,11,11,32,0,65,32,32,15,32,7,32,12,65,128,192,0,115,16,131,2,32,15,32,7,32,7,32,15,72,27,33,7,12,9,11,32,20,32,10,65,0,72,113,13,10,65,61,33,9,32,0,32,8,43,3,48,32,15,32,10,32,12,32,7,32,5,17,15,0,34,7,65,0,78,13,8,12,11,11,32,7,45,0,1,33,11,32,7,65,1,106,33,7,12,0,11,0,11,32,0,13,10,32,19,69,13,4,65,1,33,7,3,64,32,4,32,7,65,2,116,106,40,2,0,34,0,4,64,32,3,32,7,65,3,116,106,32,0,32,2,32,6,16,129,2,65,1,33,14,32,7,65,1,106,34,7,65,10,71,13,1,12,12,11,11,32,7,65,10,79,4,64,65,1,33,14,12,11,11,3,64,32,4,32,7,65,2,116,106,40,2,0,13,1,65,1,33,14,32,7,65,1,106,34,7,65,10,71,13,0,11,12,10,11,65,28,33,9,12,7,11,32,11,33,12,32,1,33,10,12,1,11,32,8,32,7,58,0,39,35,1,33,17,65,1,33,10,32,23,33,13,32,11,33,12,11,32,10,32,9,32,13,107,34,11,32,10,32,11,74,27,34,10,32,16,65,255,255,255,255,7,115,74,13,3,65,61,33,9,32,15,32,10,32,16,106,34,1,32,1,32,15,72,27,34,7,32,24,74,13,4,32,0,65,32,32,7,32,1,32,12,16,131,2,32,0,32,17,32,16,16,255,1,32,0,65,48,32,7,32,1,32,12,65,128,128,4,115,16,131,2,32,0,65,48,32,10,32,11,65,0,16,131,2,32,0,32,13,32,11,16,255,1,32,0,65,32,32,7,32,1,32,12,65,128,192,0,115,16,131,2,32,8,40,2,60,33,1,12,1,11,11,11,65,0,33,14,12,3,11,65,61,33,9,11,35,1,65,200,213,0,106,32,9,54,2,0,11,65,127,33,14,11,32,8,65,64,107,36,0,32,14,11,24,0,32,0,45,0,0,65,32,113,69,4,64,32,1,32,2,32,0,16,243,1,26,11,11,115,1,5,127,32,0,40,2,0,34,3,44,0,0,65,48,107,34,1,65,9,75,4,64,65,0,15,11,3,64,65,127,33,4,32,2,65,204,153,179,230,0,77,4,64,65,127,32,1,32,2,65,10,108,34,5,106,32,1,32,5,65,255,255,255,255,7,115,75,27,33,4,11,32,0,32,3,65,1,106,34,5,54,2,0,32,3,44,0,1,33,1,32,4,33,2,32,5,33,3,32,1,65,48,107,34,1,65,10,73,13,0,11,32,2,11,196,2,0,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,1,65,9,107,14,18,0,10,11,12,10,11,2,3,4,5,12,11,12,12,10,11,7,8,9,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,40,2,0,54,2,0,15,11,0,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,50,1,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,51,1,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,48,0,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,49,0,0,55,3,0,15,11,0,11,32,2,32,2,40,2,0,65,7,106,65,120,113,34,1,65,8,106,54,2,0,32,0,32,1,43,3,0,57,3,0,15,11,32,0,32,2,32,3,17,5,0,11,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,52,2,0,55,3,0,15,11,32,2,32,2,40,2,0,34,1,65,4,106,54,2,0,32,0,32,1,53,2,0,55,3,0,15,11,32,2,32,2,40,2,0,65,7,106,65,120,113,34,1,65,8,106,54,2,0,32,0,32,1,41,3,0,55,3,0,11,136,1,2,1,126,3,127,2,64,32,0,66,128,128,128,128,16,84,4,64,32,0,33,2,12,1,11,3,64,32,1,65,1,107,34,1,32,0,32,0,66,10,128,34,2,66,10,126,125,167,65,48,114,58,0,0,32,0,66,255,255,255,255,159,1,86,33,4,32,2,33,0,32,4,13,0,11,11,32,2,66,0,82,4,64,32,2,167,33,3,3,64,32,1,65,1,107,34,1,32,3,32,3,65,10,110,34,4,65,10,108,107,65,48,114,58,0,0,32,3,65,9,75,33,5,32,4,33,3,32,5,13,0,11,11,32,1,11,110,1,1,127,35,0,65,128,2,107,34,5,36,0,2,64,32,2,32,3,76,13,0,32,4,65,128,192,4,113,13,0,32,5,32,1,32,2,32,3,107,34,3,65,128,2,32,3,65,128,2,73,34,1,27,16,238,1,26,32,1,69,4,64,3,64,32,0,32,5,65,128,2,16,255,1,32,3,65,128,2,107,34,3,65,255,1,75,13,0,11,11,32,0,32,5,32,3,16,255,1,11,32,5,65,128,2,106,36,0,11,133,24,3,18,127,1,124,3,126,35,0,65,176,4,107,34,11,36,0,32,11,65,0,54,2,44,2,64,32,1,189,34,25,66,0,83,4,64,35,1,65,10,106,33,20,65,1,33,16,32,1,154,34,1,189,33,25,12,1,11,32,4,65,128,16,113,4,64,35,1,65,13,106,33,20,65,1,33,16,12,1,11,35,1,65,10,106,34,6,65,6,106,32,6,65,1,106,32,4,65,1,113,34,16,27,33,20,32,16,69,33,23,11,2,64,32,25,66,128,128,128,128,128,128,128,248,255,0,131,66,128,128,128,128,128,128,128,248,255,0,81,4,64,32,0,65,32,32,2,32,16,65,3,106,34,7,32,4,65,255,255,123,113,16,131,2,32,0,32,20,32,16,16,255,1,32,0,35,1,34,6,65,135,8,106,32,6,65,177,10,106,32,5,65,32,113,34,3,27,32,6,65,180,8,106,32,6,65,189,10,106,32,3,27,32,1,32,1,98,27,65,3,16,255,1,32,0,65,32,32,2,32,7,32,4,65,128,192,0,115,16,131,2,32,2,32,7,32,2,32,7,74,27,33,13,12,1,11,32,11,65,16,106,33,17,2,64,2,64,2,64,32,1,32,11,65,44,106,16,253,1,34,1,32,1,160,34,1,68,0,0,0,0,0,0,0,0,98,4,64,32,11,32,11,40,2,44,34,6,65,1,107,54,2,44,32,5,65,32,114,34,21,65,225,0,71,13,1,12,3,11,32,5,65,32,114,34,21,65,225,0,70,13,2,32,11,40,2,44,33,12,12,1,11,32,11,32,6,65,29,107,34,12,54,2,44,32,1,68,0,0,0,0,0,0,176,65,162,33,1,11,65,6,32,3,32,3,65,0,72,27,33,10,32,11,65,48,106,65,160,2,65,0,32,12,65,0,78,27,106,34,14,33,7,3,64,32,7,32,1,252,3,34,3,54,2,0,32,7,65,4,106,33,7,32,1,32,3,184,161,68,0,0,0,0,101,205,205,65,162,34,1,68,0,0,0,0,0,0,0,0,98,13,0,11,2,64,32,12,65,0,76,4,64,32,12,33,9,32,7,33,6,32,14,33,8,12,1,11,32,14,33,8,32,12,33,9,3,64,65,29,32,9,32,9,65,29,79,27,33,3,2,64,32,7,65,4,107,34,6,32,8,73,13,0,32,3,173,33,27,66,0,33,25,3,64,32,6,32,25,66,255,255,255,255,15,131,32,6,53,2,0,32,27,134,124,34,26,32,26,66,128,148,235,220,3,128,34,25,66,128,148,235,220,3,126,125,62,2,0,32,6,65,4,107,34,6,32,8,79,13,0,11,32,26,66,128,148,235,220,3,84,13,0,32,8,65,4,107,34,8,32,25,62,2,0,11,3,64,32,8,32,7,34,6,73,4,64,32,6,65,4,107,34,7,40,2,0,69,13,1,11,11,32,11,32,11,40,2,44,32,3,107,34,9,54,2,44,32,6,33,7,32,9,65,0,74,13,0,11,11,32,9,65,0,72,4,64,32,10,65,25,106,65,9,110,65,1,106,33,18,32,21,65,230,0,70,33,19,3,64,65,9,65,0,32,9,107,34,3,32,3,65,9,79,27,33,13,2,64,32,6,32,8,77,4,64,65,0,65,4,32,8,40,2,0,27,33,7,12,1,11,65,128,148,235,220,3,32,13,118,33,22,65,127,32,13,116,65,127,115,33,15,65,0,33,9,32,8,33,7,3,64,32,7,32,7,40,2,0,34,3,32,13,118,32,9,106,54,2,0,32,3,32,15,113,32,22,108,33,9,32,7,65,4,106,34,7,32,6,73,13,0,11,65,0,65,4,32,8,40,2,0,27,33,7,32,9,69,13,0,32,6,32,9,54,2,0,32,6,65,4,106,33,6,11,32,11,32,11,40,2,44,32,13,106,34,9,54,2,44,32,14,32,7,32,8,106,34,8,32,19,27,34,3,32,18,65,2,116,106,32,6,32,6,32,3,107,65,2,117,32,18,74,27,33,6,32,9,65,0,72,13,0,11,11,65,0,33,9,2,64,32,6,32,8,77,13,0,32,14,32,8,107,65,2,117,65,9,108,33,9,65,10,33,7,32,8,40,2,0,34,3,65,10,73,13,0,3,64,32,9,65,1,106,33,9,32,3,32,7,65,10,108,34,7,79,13,0,11,11,32,10,32,9,65,0,32,21,65,230,0,71,27,107,32,21,65,231,0,70,32,10,65,0,71,113,107,34,3,32,6,32,14,107,65,2,117,65,9,108,65,9,107,72,4,64,32,11,65,48,106,65,132,96,65,164,98,32,12,65,0,72,27,106,32,3,65,128,200,0,106,34,12,65,9,109,34,3,65,2,116,106,33,13,65,10,33,7,32,12,32,3,65,9,108,107,34,3,65,7,76,4,64,3,64,32,7,65,10,108,33,7,32,3,65,1,106,34,3,65,8,71,13,0,11,11,2,64,32,13,40,2,0,34,12,32,12,32,7,110,34,18,32,7,108,107,34,15,69,32,13,65,4,106,34,3,32,6,70,113,13,0,2,64,32,18,65,1,113,69,4,64,68,0,0,0,0,0,0,64,67,33,1,32,7,65,128,148,235,220,3,71,13,1,32,8,32,13,79,13,1,32,13,65,4,107,45,0,0,65,1,113,69,13,1,11,68,1,0,0,0,0,0,64,67,33,1,11,68,0,0,0,0,0,0,224,63,68,0,0,0,0,0,0,240,63,68,0,0,0,0,0,0,248,63,32,3,32,6,70,27,68,0,0,0,0,0,0,248,63,32,15,32,7,65,1,118,34,3,70,27,32,3,32,15,75,27,33,24,2,64,32,23,13,0,32,20,45,0,0,65,45,71,13,0,32,24,154,33,24,32,1,154,33,1,11,32,13,32,12,32,15,107,34,3,54,2,0,32,1,32,24,160,32,1,97,13,0,32,13,32,3,32,7,106,34,3,54,2,0,32,3,65,128,148,235,220,3,79,4,64,3,64,32,13,65,0,54,2,0,32,8,32,13,65,4,107,34,13,75,4,64,32,8,65,4,107,34,8,65,0,54,2,0,11,32,13,32,13,40,2,0,65,1,106,34,3,54,2,0,32,3,65,255,147,235,220,3,75,13,0,11,11,32,14,32,8,107,65,2,117,65,9,108,33,9,65,10,33,7,32,8,40,2,0,34,3,65,10,73,13,0,3,64,32,9,65,1,106,33,9,32,3,32,7,65,10,108,34,7,79,13,0,11,11,32,13,65,4,106,34,3,32,6,32,3,32,6,73,27,33,6,11,3,64,32,6,34,12,32,8,77,34,7,69,4,64,32,6,65,4,107,34,6,40,2,0,69,13,1,11,11,2,64,32,21,65,231,0,71,4,64,32,4,65,8,113,33,19,12,1,11,32,9,65,127,115,65,127,32,10,65,1,32,10,27,34,6,32,9,74,32,9,65,123,74,113,34,3,27,32,6,106,33,10,65,127,65,126,32,3,27,32,5,106,33,5,32,4,65,8,113,34,19,13,0,65,119,33,6,2,64,32,7,13,0,32,12,65,4,107,40,2,0,34,15,69,13,0,65,10,33,3,65,0,33,6,32,15,65,10,112,13,0,3,64,32,6,34,7,65,1,106,33,6,32,15,32,3,65,10,108,34,3,112,69,13,0,11,32,7,65,127,115,33,6,11,32,12,32,14,107,65,2,117,65,9,108,33,3,32,5,65,95,113,65,198,0,70,4,64,65,0,33,19,32,10,32,3,32,6,106,65,9,107,34,3,65,0,32,3,65,0,74,27,34,3,32,3,32,10,74,27,33,10,12,1,11,65,0,33,19,32,10,32,3,32,9,106,32,6,106,65,9,107,34,3,65,0,32,3,65,0,74,27,34,3,32,3,32,10,74,27,33,10,11,65,127,33,13,32,10,65,253,255,255,255,7,65,254,255,255,255,7,32,10,32,19,114,34,15,27,74,13,1,32,10,32,15,65,0,71,106,65,1,106,33,22,2,64,32,5,65,95,113,34,7,65,198,0,70,4,64,32,9,32,22,65,255,255,255,255,7,115,74,13,3,32,9,65,0,32,9,65,0,74,27,33,6,12,1,11,32,17,32,9,32,9,65,31,117,34,3,115,32,3,107,173,32,17,16,130,2,34,6,107,65,1,76,4,64,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,17,32,6,107,65,2,72,13,0,11,11,32,6,65,2,107,34,18,32,5,58,0,0,32,6,65,1,107,65,45,65,43,32,9,65,0,72,27,58,0,0,32,17,32,18,107,34,6,32,22,65,255,255,255,255,7,115,74,13,2,11,32,6,32,22,106,34,3,32,16,65,255,255,255,255,7,115,74,13,1,32,0,65,32,32,2,32,3,32,16,106,34,9,32,4,16,131,2,32,0,32,20,32,16,16,255,1,32,0,65,48,32,2,32,9,32,4,65,128,128,4,115,16,131,2,2,64,2,64,2,64,32,7,65,198,0,70,4,64,32,11,65,16,106,65,9,114,33,5,32,14,32,8,32,8,32,14,75,27,34,3,33,8,3,64,32,8,53,2,0,32,5,16,130,2,33,6,2,64,32,3,32,8,71,4,64,32,6,32,11,65,16,106,77,13,1,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,12,1,11,32,5,32,6,71,13,0,32,6,65,1,107,34,6,65,48,58,0,0,11,32,0,32,6,32,5,32,6,107,16,255,1,32,8,65,4,106,34,8,32,14,77,13,0,11,32,15,4,64,32,0,35,1,65,239,10,106,65,1,16,255,1,11,32,8,32,12,79,13,1,32,10,65,0,76,13,1,3,64,32,8,53,2,0,32,5,16,130,2,34,6,32,11,65,16,106,75,4,64,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,11,32,0,32,6,65,9,32,10,32,10,65,9,78,27,16,255,1,32,10,65,9,107,33,6,32,8,65,4,106,34,8,32,12,79,13,3,32,10,65,9,74,33,3,32,6,33,10,32,3,13,0,11,12,2,11,2,64,32,10,65,0,72,13,0,32,12,32,8,65,4,106,32,8,32,12,73,27,33,3,32,11,65,16,106,65,9,114,33,12,32,8,33,7,3,64,32,12,32,7,53,2,0,32,12,16,130,2,34,6,70,4,64,32,6,65,1,107,34,6,65,48,58,0,0,11,2,64,32,7,32,8,71,4,64,32,6,32,11,65,16,106,77,13,1,3,64,32,6,65,1,107,34,6,65,48,58,0,0,32,6,32,11,65,16,106,75,13,0,11,12,1,11,32,0,32,6,65,1,16,255,1,32,6,65,1,106,33,6,32,10,32,19,114,69,13,0,32,0,35,1,65,239,10,106,65,1,16,255,1,11,32,0,32,6,32,12,32,6,107,34,5,32,10,32,5,32,10,72,27,16,255,1,32,10,32,5,107,33,10,32,7,65,4,106,34,7,32,3,79,13,1,32,10,65,0,78,13,0,11,11,32,0,65,48,32,10,65,18,106,65,18,65,0,16,131,2,32,0,32,18,32,17,32,18,107,16,255,1,12,2,11,32,10,33,6,11,32,0,65,48,32,6,65,9,106,65,9,65,0,16,131,2,11,32,0,65,32,32,2,32,9,32,4,65,128,192,0,115,16,131,2,32,2,32,9,32,2,32,9,74,27,33,13,12,1,11,32,20,32,5,65,26,116,65,31,117,65,9,113,106,33,9,2,64,32,3,65,11,75,13,0,65,12,32,3,107,33,6,68,0,0,0,0,0,0,48,64,33,24,3,64,32,24,68,0,0,0,0,0,0,48,64,162,33,24,32,6,65,1,107,34,6,13,0,11,32,9,45,0,0,65,45,70,4,64,32,24,32,1,154,32,24,161,160,154,33,1,12,1,11,32,1,32,24,160,32,24,161,33,1,11,32,17,32,11,40,2,44,34,7,32,7,65,31,117,34,6,115,32,6,107,173,32,17,16,130,2,34,6,70,4,64,32,6,65,1,107,34,6,65,48,58,0,0,32,11,40,2,44,33,7,11,32,16,65,2,114,33,10,32,5,65,32,113,33,12,32,6,65,2,107,34,14,32,5,65,15,106,58,0,0,32,6,65,1,107,65,45,65,43,32,7,65,0,72,27,58,0,0,32,4,65,8,113,69,32,3,65,0,76,113,33,8,32,11,65,16,106,33,7,3,64,32,7,34,5,32,1,252,2,34,6,35,1,65,208,47,106,106,45,0,0,32,12,114,58,0,0,32,1,32,6,183,161,68,0,0,0,0,0,0,48,64,162,33,1,2,64,32,7,65,1,106,34,7,32,11,65,16,106,107,65,1,71,13,0,32,1,68,0,0,0,0,0,0,0,0,97,32,8,113,13,0,32,5,65,46,58,0,1,32,5,65,2,106,33,7,11,32,1,68,0,0,0,0,0,0,0,0,98,13,0,11,65,127,33,13,32,3,65,253,255,255,255,7,32,10,32,17,32,14,107,34,8,106,34,6,107,74,13,0,32,0,65,32,32,2,32,6,32,3,65,2,106,32,7,32,11,65,16,106,34,5,107,34,7,32,7,65,2,107,32,3,72,27,32,7,32,3,27,34,3,106,34,6,32,4,16,131,2,32,0,32,9,32,10,16,255,1,32,0,65,48,32,2,32,6,32,4,65,128,128,4,115,16,131,2,32,0,32,5,32,7,16,255,1,32,0,65,48,32,3,32,7,107,65,0,65,0,16,131,2,32,0,32,14,32,8,16,255,1,32,0,65,32,32,2,32,6,32,4,65,128,192,0,115,16,131,2,32,2,32,6,32,2,32,6,74,27,33,13,11,32,11,65,176,4,106,36,0,32,13,11,158,5,2,6,126,3,127,32,1,32,1,40,2,0,65,7,106,65,120,113,34,1,65,16,106,54,2,0,32,0,32,1,41,3,0,33,3,32,1,41,3,8,33,7,35,0,65,32,107,34,1,36,0,32,7,66,255,255,255,255,255,255,63,131,33,5,2,126,32,7,66,48,136,66,255,255,1,131,34,4,167,34,9,65,129,248,0,107,65,253,15,77,4,64,32,5,66,4,134,32,3,66,60,136,132,33,2,32,9,65,128,248,0,107,173,33,4,2,64,32,3,66,255,255,255,255,255,255,255,255,15,131,34,3,66,129,128,128,128,128,128,128,128,8,90,4,64,32,2,66,1,124,33,2,12,1,11,32,3,66,128,128,128,128,128,128,128,128,8,82,13,0,32,2,66,1,131,32,2,124,33,2,11,66,0,32,2,32,2,66,255,255,255,255,255,255,255,7,86,34,0,27,33,2,32,0,173,32,4,124,12,1,11,2,64,32,3,32,5,132,80,13,0,32,4,66,255,255,1,82,13,0,32,5,66,4,134,32,3,66,60,136,132,66,128,128,128,128,128,128,128,4,132,33,2,66,255,15,12,1,11,32,9,65,254,135,1,75,4,64,66,255,15,12,1,11,65,128,248,0,65,129,248,0,32,4,80,34,8,27,34,10,32,9,107,34,0,65,240,0,74,4,64,66,0,12,1,11,32,3,33,2,32,5,32,5,66,128,128,128,128,128,128,192,0,132,32,8,27,34,4,33,6,2,64,65,128,1,32,0,107,34,8,65,192,0,113,4,64,32,2,32,8,65,64,106,173,134,33,6,66,0,33,2,12,1,11,32,8,69,13,0,32,6,32,8,173,34,5,134,32,2,65,192,0,32,8,107,173,136,132,33,6,32,2,32,5,134,33,2,11,32,1,32,2,55,3,16,32,1,32,6,55,3,24,2,64,32,0,65,192,0,113,4,64,32,4,32,0,65,64,106,173,136,33,3,66,0,33,4,12,1,11,32,0,69,13,0,32,4,65,192,0,32,0,107,173,134,32,3,32,0,173,34,2,136,132,33,3,32,4,32,2,136,33,4,11,32,1,32,3,55,3,0,32,1,32,4,55,3,8,32,1,41,3,8,66,4,134,32,1,41,3,0,34,3,66,60,136,132,33,2,2,64,32,9,32,10,71,32,1,41,3,16,32,1,41,3,24,132,66,0,82,113,173,32,3,66,255,255,255,255,255,255,255,255,15,131,132,34,3,66,129,128,128,128,128,128,128,128,8,90,4,64,32,2,66,1,124,33,2,12,1,11,32,3,66,128,128,128,128,128,128,128,128,8,82,13,0,32,2,66,1,131,32,2,124,33,2,11,32,2,66,128,128,128,128,128,128,128,8,133,32,2,32,2,66,255,255,255,255,255,255,255,7,86,34,0,27,33,2,32,0,173,11,33,3,32,1,65,32,106,36,0,32,7,66,128,128,128,128,128,128,128,128,128,127,131,32,3,66,52,134,132,32,2,132,191,57,3,0,11,203,3,1,4,127,35,0,65,160,1,107,34,4,36,0,32,4,32,0,32,4,65,158,1,106,32,1,27,34,6,54,2,148,1,32,4,32,1,65,1,107,34,0,65,0,32,0,32,1,77,27,54,2,152,1,32,4,65,0,65,144,1,252,11,0,32,4,65,127,54,2,76,32,4,35,2,65,29,106,54,2,36,32,4,65,127,54,2,80,32,4,32,4,65,159,1,106,54,2,44,32,4,32,4,65,148,1,106,54,2,84,32,6,65,0,58,0,0,35,0,65,208,1,107,34,5,36,0,32,5,32,3,54,2,204,1,32,5,65,160,1,106,34,0,65,0,65,40,252,11,0,32,5,32,5,40,2,204,1,54,2,200,1,2,64,65,0,32,2,32,5,65,200,1,106,32,5,65,208,0,106,32,0,35,2,34,0,65,27,106,34,6,32,0,65,28,106,34,0,16,254,1,65,0,72,4,64,65,127,33,0,12,1,11,32,4,40,2,76,65,0,72,33,3,32,4,32,4,40,2,0,34,1,65,95,113,54,2,0,2,127,2,64,2,64,32,4,40,2,48,69,4,64,32,4,65,208,0,54,2,48,32,4,65,0,54,2,28,32,4,66,0,55,3,16,32,4,40,2,44,33,7,32,4,32,5,54,2,44,12,1,11,32,4,40,2,16,13,1,11,65,127,32,4,16,239,1,13,1,26,11,32,4,32,2,32,5,65,200,1,106,32,5,65,208,0,106,32,5,65,160,1,106,32,6,32,0,16,254,1,11,33,2,32,7,4,64,32,4,65,0,65,0,32,4,40,2,36,17,4,0,26,32,4,65,0,54,2,48,32,4,32,7,54,2,44,32,4,65,0,54,2,28,32,4,40,2,20,33,0,32,4,66,0,55,3,16,32,2,65,127,32,0,27,33,2,11,32,4,32,4,40,2,0,34,0,32,1,65,32,113,114,54,2,0,65,127,32,2,32,0,65,32,113,27,33,0,32,3,13,0,11,32,5,65,208,1,106,36,0,32,4,65,160,1,106,36,0,32,0,11,170,1,1,5,127,32,0,40,2,84,34,3,40,2,0,33,5,32,3,40,2,4,34,4,32,0,40,2,20,32,0,40,2,28,34,7,107,34,6,32,4,32,6,73,27,34,6,4,64,32,5,32,7,32,6,16,242,1,26,32,3,32,3,40,2,0,32,6,106,34,5,54,2,0,32,3,32,3,40,2,4,32,6,107,34,4,54,2,4,11,32,4,32,2,32,2,32,4,75,27,34,4,4,64,32,5,32,1,32,4,16,242,1,26,32,3,32,3,40,2,0,32,4,106,34,5,54,2,0,32,3,32,3,40,2,4,32,4,107,54,2,4,11,32,5,65,0,58,0,0,32,0,32,0,40,2,44,34,1,54,2,28,32,0,32,1,54,2,20,32,2,11,159,2,0,32,0,69,4,64,65,0,15,11,2,127,2,64,32,0,4,127,32,1,65,255,0,77,13,1,2,64,35,1,65,132,214,0,106,40,2,96,40,2,0,69,4,64,32,1,65,128,127,113,65,128,191,3,70,13,3,12,1,11,32,1,65,255,15,77,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,1,32,0,32,1,65,6,118,65,192,1,114,58,0,0,65,2,12,4,11,32,1,65,128,64,113,65,128,192,3,71,32,1,65,128,176,3,79,113,69,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,2,32,0,32,1,65,12,118,65,224,1,114,58,0,0,32,0,32,1,65,6,118,65,63,113,65,128,1,114,58,0,1,65,3,12,4,11,32,1,65,128,128,4,107,65,255,255,63,77,4,64,32,0,32,1,65,63,113,65,128,1,114,58,0,3,32,0,32,1,65,18,118,65,240,1,114,58,0,0,32,0,32,1,65,6,118,65,63,113,65,128,1,114,58,0,2,32,0,32,1,65,12,118,65,63,113,65,128,1,114,58,0,1,65,4,12,4,11,11,35,1,65,200,213,0,106,65,25,54,2,0,65,127,5,65,1,11,12,1,11,32,0,32,1,58,0,0,65,1,11,11,138,42,1,11,127,35,0,65,16,107,34,11,36,0,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,0,65,244,1,77,4,64,35,1,65,148,215,0,106,34,2,40,2,0,34,4,65,16,32,0,65,11,106,65,248,3,113,32,0,65,11,73,27,34,7,65,3,118,34,0,118,34,1,65,3,113,4,64,2,64,32,1,65,127,115,65,1,113,32,0,106,34,1,65,3,116,32,2,106,34,0,34,3,65,40,106,34,6,32,0,40,2,48,34,0,40,2,8,34,5,70,4,64,32,2,32,4,65,126,32,1,119,113,54,2,0,12,1,11,32,5,32,6,54,2,12,32,3,32,5,54,2,48,11,32,0,65,8,106,33,5,32,0,32,1,65,3,116,34,1,65,3,114,54,2,4,32,0,32,1,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,11,11,32,7,35,1,65,148,215,0,106,34,2,40,2,8,34,8,77,13,1,32,1,4,64,2,64,65,2,32,0,116,34,5,65,0,32,5,107,114,32,1,32,0,116,113,104,34,1,65,3,116,32,2,106,34,0,34,3,65,40,106,34,6,32,0,40,2,48,34,0,40,2,8,34,5,70,4,64,32,2,32,4,65,126,32,1,119,113,34,4,54,2,0,12,1,11,32,5,32,6,54,2,12,32,3,32,5,54,2,48,11,32,0,32,7,65,3,114,54,2,4,32,0,32,7,106,34,6,32,1,65,3,116,34,1,32,7,107,34,3,65,1,114,54,2,4,32,0,32,1,106,32,3,54,2,0,32,8,4,64,35,1,65,148,215,0,106,34,5,34,2,32,8,65,120,113,106,65,40,106,33,1,32,2,40,2,20,33,2,2,127,32,4,65,1,32,8,65,3,118,116,34,7,113,69,4,64,32,5,32,4,32,7,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,5,32,1,32,2,54,2,8,32,5,32,2,54,2,12,32,2,32,1,54,2,12,32,2,32,5,54,2,8,11,32,0,65,8,106,33,5,35,1,65,148,215,0,106,34,0,32,6,54,2,20,32,0,32,3,54,2,8,12,11,11,35,1,65,148,215,0,106,34,0,40,2,4,34,10,69,13,1,32,10,104,65,2,116,32,0,106,40,2,176,2,34,3,40,2,4,65,120,113,32,7,107,33,0,32,3,33,1,3,64,2,64,32,1,40,2,16,34,5,69,4,64,32,1,40,2,20,34,5,69,13,1,11,32,5,40,2,4,65,120,113,32,7,107,34,1,32,0,32,0,32,1,75,34,1,27,33,0,32,5,32,3,32,1,27,33,3,32,5,33,1,12,1,11,11,32,3,40,2,24,33,9,32,3,32,3,40,2,12,34,5,71,4,64,32,3,40,2,8,34,1,32,5,54,2,12,32,5,32,1,54,2,8,12,10,11,32,3,40,2,20,34,1,4,127,32,3,65,20,106,5,32,3,40,2,16,34,1,69,13,3,32,3,65,16,106,11,33,2,3,64,32,2,33,6,32,1,34,5,65,20,106,33,2,32,1,40,2,20,34,1,13,0,32,5,65,16,106,33,2,32,5,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,9,11,65,127,33,7,32,0,65,191,127,75,13,0,32,0,65,11,106,34,1,65,120,113,33,7,35,1,65,148,215,0,106,40,2,4,34,6,69,13,0,65,31,33,8,32,0,65,244,255,255,7,77,4,64,32,7,65,38,32,1,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,8,11,65,0,32,7,107,33,0,2,64,2,64,35,1,65,148,215,0,106,32,8,65,2,116,106,40,2,176,2,34,1,4,64,32,7,65,25,32,8,65,1,118,107,65,0,32,8,65,31,71,27,116,33,3,3,64,2,64,32,1,40,2,4,65,120,113,32,7,107,34,4,32,0,79,13,0,32,1,33,2,32,4,34,0,13,0,65,0,33,0,32,1,33,5,12,3,11,32,5,32,1,40,2,20,34,4,32,4,32,1,32,3,65,29,118,65,4,113,106,40,2,16,34,1,70,27,32,5,32,4,27,33,5,32,3,65,1,116,33,3,32,1,13,0,11,11,32,2,32,5,114,69,4,64,65,0,33,2,65,2,32,8,116,34,1,65,0,32,1,107,114,32,6,113,34,1,69,13,3,35,1,65,148,215,0,106,32,1,104,65,2,116,106,40,2,176,2,33,5,11,32,5,69,13,1,11,3,64,32,5,40,2,4,65,120,113,32,7,107,34,3,32,0,73,33,1,32,3,32,0,32,1,27,33,0,32,5,32,2,32,1,27,33,2,32,5,40,2,16,34,1,4,127,32,1,5,32,5,40,2,20,11,34,5,13,0,11,11,32,2,69,13,0,32,0,35,1,65,148,215,0,106,40,2,8,32,7,107,79,13,0,32,2,40,2,24,33,8,32,2,32,2,40,2,12,34,5,71,4,64,32,2,40,2,8,34,1,32,5,54,2,12,32,5,32,1,54,2,8,12,8,11,32,2,40,2,20,34,1,4,127,32,2,65,20,106,5,32,2,40,2,16,34,1,69,13,3,32,2,65,16,106,11,33,3,3,64,32,3,33,4,32,1,34,5,65,20,106,33,3,32,1,40,2,20,34,1,13,0,32,5,65,16,106,33,3,32,5,40,2,16,34,1,13,0,11,32,4,65,0,54,2,0,12,7,11,32,7,35,1,65,148,215,0,106,34,0,40,2,8,34,2,77,4,64,32,0,40,2,20,33,0,2,64,32,2,32,7,107,34,1,65,16,79,4,64,32,0,32,7,106,34,3,32,1,65,1,114,54,2,4,32,0,32,2,106,32,1,54,2,0,32,0,32,7,65,3,114,54,2,4,12,1,11,32,0,32,2,65,3,114,54,2,4,32,0,32,2,106,34,1,32,1,40,2,4,65,1,114,54,2,4,65,0,33,3,65,0,33,1,11,35,1,65,148,215,0,106,34,2,32,1,54,2,8,32,2,32,3,54,2,20,32,0,65,8,106,33,5,12,9,11,32,7,35,1,65,148,215,0,106,34,0,40,2,12,34,2,73,4,64,32,0,32,2,32,7,107,34,1,54,2,12,32,0,32,0,40,2,24,34,0,32,7,106,34,2,54,2,24,32,2,32,1,65,1,114,54,2,4,32,0,32,7,65,3,114,54,2,4,32,0,65,8,106,33,5,12,9,11,65,0,33,5,32,7,65,47,106,34,4,2,127,35,1,65,236,218,0,106,34,0,40,2,0,4,64,32,0,40,2,8,12,1,11,35,1,34,1,65,236,218,0,106,34,0,65,0,54,2,20,32,0,66,127,55,2,12,32,0,66,128,160,128,128,128,128,4,55,2,4,32,1,65,148,215,0,106,65,0,54,2,188,3,32,0,32,11,65,12,106,65,112,113,65,216,170,213,170,5,115,54,2,0,65,128,32,11,34,0,106,34,6,65,0,32,0,107,34,8,113,34,1,32,7,77,13,8,35,1,65,148,215,0,106,34,0,40,2,184,3,34,3,4,64,32,0,40,2,176,3,34,0,32,1,106,34,9,32,0,77,13,9,32,3,32,9,73,13,9,11,2,64,35,1,65,148,215,0,106,34,0,45,0,188,3,65,4,113,69,4,64,2,64,2,64,2,64,2,64,32,0,40,2,24,34,3,4,64,32,0,65,192,3,106,33,0,3,64,32,0,40,2,0,34,9,32,3,77,4,64,32,3,32,9,32,0,40,2,4,106,73,13,3,11,32,0,40,2,8,34,0,13,0,11,11,65,0,16,142,2,34,2,65,127,70,13,3,32,1,33,3,35,1,65,236,218,0,106,40,2,4,34,0,65,1,107,34,6,32,2,113,4,64,32,1,32,2,107,32,2,32,6,106,65,0,32,0,107,113,106,33,3,11,32,3,32,7,77,13,3,35,1,65,148,215,0,106,34,6,40,2,176,3,33,0,32,6,40,2,184,3,34,6,4,64,32,0,32,0,32,3,106,34,8,79,13,4,32,6,32,8,73,13,4,11,32,3,16,142,2,34,0,32,2,71,13,1,12,5,11,32,6,32,2,107,32,8,113,34,3,16,142,2,34,2,32,0,40,2,0,32,0,40,2,4,106,70,13,1,32,2,33,0,11,32,0,65,127,70,13,1,32,7,65,48,106,32,3,77,4,64,32,0,33,2,12,4,11,35,1,65,236,218,0,106,40,2,8,34,2,32,4,32,3,107,106,65,0,32,2,107,113,34,2,16,142,2,65,127,70,13,1,32,2,32,3,106,33,3,32,0,33,2,12,3,11,32,2,65,127,71,13,2,11,35,1,65,148,215,0,106,34,0,32,0,40,2,188,3,65,4,114,54,2,188,3,11,32,1,16,142,2,33,2,65,0,16,142,2,33,0,32,2,65,127,70,13,5,32,0,65,127,70,13,5,32,0,32,2,77,13,5,32,0,32,2,107,34,3,32,7,65,40,106,77,13,5,11,35,1,65,148,215,0,106,34,0,32,0,40,2,176,3,32,3,106,34,1,54,2,176,3,32,0,40,2,180,3,32,1,73,4,64,32,0,32,1,54,2,180,3,11,2,64,35,1,65,148,215,0,106,34,0,40,2,24,34,1,4,64,32,0,65,192,3,106,33,0,3,64,32,2,32,0,40,2,0,34,4,32,0,40,2,4,34,6,106,70,13,2,32,0,40,2,8,34,0,13,0,11,12,4,11,35,1,65,148,215,0,106,34,0,40,2,16,34,1,65,0,32,1,32,2,77,27,69,4,64,32,0,32,2,54,2,16,11,65,0,33,0,35,1,34,4,65,148,215,0,106,34,1,65,0,54,2,204,3,32,1,32,3,54,2,196,3,32,1,32,2,54,2,192,3,32,1,65,127,54,2,32,32,1,32,4,65,236,218,0,106,40,2,0,54,2,36,3,64,35,1,65,148,215,0,106,32,0,65,3,116,106,34,1,32,1,65,40,106,34,4,54,2,48,32,1,32,4,54,2,52,32,0,65,1,106,34,0,65,32,71,13,0,11,35,1,34,1,65,148,215,0,106,34,0,32,3,65,40,107,34,3,65,120,32,2,107,65,7,113,34,4,107,34,6,54,2,12,32,0,32,2,32,4,106,34,4,54,2,24,32,4,32,6,65,1,114,54,2,4,32,2,32,3,106,65,40,54,2,4,32,0,32,1,65,236,218,0,106,40,2,16,54,2,28,12,4,11,32,1,32,2,79,13,2,32,1,32,4,73,13,2,32,0,40,2,12,65,8,113,13,2,32,0,32,3,32,6,106,54,2,4,35,1,34,2,65,148,215,0,106,34,0,32,1,65,120,32,1,107,65,7,113,34,4,106,34,6,54,2,24,32,0,32,0,40,2,12,32,3,106,34,3,32,4,107,34,4,54,2,12,32,6,32,4,65,1,114,54,2,4,32,1,32,3,106,65,40,54,2,4,32,0,32,2,65,236,218,0,106,40,2,16,54,2,28,12,3,11,65,0,33,5,12,6,11,65,0,33,5,12,4,11,35,1,65,148,215,0,106,34,0,40,2,16,32,2,75,4,64,32,0,32,2,54,2,16,11,32,2,32,3,106,33,6,35,1,65,212,218,0,106,33,0,2,64,3,64,32,6,32,0,40,2,0,34,4,71,4,64,32,0,40,2,8,34,0,13,1,12,2,11,11,32,0,45,0,12,65,8,113,69,13,3,11,35,1,65,212,218,0,106,33,0,3,64,2,64,32,0,40,2,0,34,4,32,1,77,4,64,32,1,32,4,32,0,40,2,4,106,34,6,73,13,1,11,32,0,40,2,8,33,0,12,1,11,11,35,1,34,4,65,148,215,0,106,34,0,32,3,65,40,107,34,8,65,120,32,2,107,65,7,113,34,9,107,34,10,54,2,12,32,0,32,2,32,9,106,34,9,54,2,24,32,9,32,10,65,1,114,54,2,4,32,2,32,8,106,65,40,54,2,4,32,0,32,4,65,236,218,0,106,40,2,16,54,2,28,32,1,32,6,65,39,32,6,107,65,7,113,106,65,47,107,34,4,32,4,32,1,65,16,106,73,27,34,4,65,27,54,2,4,32,4,32,0,41,2,200,3,55,2,16,32,4,32,0,41,2,192,3,55,2,8,32,0,32,2,54,2,192,3,32,0,32,3,54,2,196,3,32,0,65,0,54,2,204,3,32,0,32,4,65,8,106,54,2,200,3,32,4,65,24,106,33,0,3,64,32,0,65,7,54,2,4,32,0,65,8,106,33,2,32,0,65,4,106,33,0,32,2,32,6,73,13,0,11,32,1,32,4,70,13,0,32,4,32,4,40,2,4,65,126,113,54,2,4,32,1,32,4,32,1,107,34,2,65,1,114,54,2,4,32,4,32,2,54,2,0,2,127,32,2,65,255,1,77,4,64,35,1,65,148,215,0,106,34,3,32,2,65,120,113,106,65,40,106,33,0,2,127,32,3,40,2,0,34,4,65,1,32,2,65,3,118,116,34,2,113,69,4,64,32,3,32,2,32,4,114,54,2,0,32,0,12,1,11,32,0,40,2,8,11,33,3,32,0,32,1,54,2,8,32,3,32,1,54,2,12,65,8,33,4,65,12,12,1,11,65,31,33,0,32,2,65,255,255,255,7,77,4,64,32,2,65,38,32,2,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,0,11,32,1,32,0,54,2,28,32,1,66,0,55,2,16,35,1,65,148,215,0,106,34,4,32,0,65,2,116,106,34,3,65,176,2,106,33,6,2,64,2,64,32,4,40,2,4,34,8,65,1,32,0,116,34,9,113,69,4,64,32,4,32,8,32,9,114,54,2,4,32,3,32,1,54,2,176,2,32,1,32,6,54,2,24,12,1,11,32,2,65,25,32,0,65,1,118,107,65,0,32,0,65,31,71,27,116,33,0,32,3,40,2,176,2,33,4,3,64,32,4,34,3,40,2,4,65,120,113,32,2,70,13,2,32,0,65,29,118,33,4,32,0,65,1,116,33,0,32,3,32,4,65,4,113,106,34,6,40,2,16,34,4,13,0,11,32,6,32,1,54,2,16,32,1,32,3,54,2,24,11,65,12,33,4,32,1,34,3,33,0,65,8,12,1,11,32,3,40,2,8,34,0,32,1,54,2,12,32,3,32,1,54,2,8,32,1,32,0,54,2,8,65,0,33,0,65,12,33,4,65,24,11,33,2,32,1,32,4,106,32,3,54,2,0,32,1,32,2,106,32,0,54,2,0,11,35,1,65,148,215,0,106,34,0,40,2,12,34,1,32,7,77,13,0,32,0,32,1,32,7,107,34,1,54,2,12,32,0,32,0,40,2,24,34,0,32,7,106,34,2,54,2,24,32,2,32,1,65,1,114,54,2,4,32,0,32,7,65,3,114,54,2,4,32,0,65,8,106,33,5,12,4,11,35,1,65,200,213,0,106,65,48,54,2,0,12,3,11,32,0,32,2,54,2,0,32,0,32,0,40,2,4,32,3,106,54,2,4,32,2,65,120,32,2,107,65,7,113,106,34,8,32,7,65,3,114,54,2,4,32,4,65,120,32,4,107,65,7,113,106,34,4,32,7,32,8,106,34,3,107,33,6,2,64,35,1,65,148,215,0,106,34,0,40,2,24,32,4,70,4,64,32,0,32,3,54,2,24,32,0,32,0,40,2,12,32,6,106,34,0,54,2,12,32,3,32,0,65,1,114,54,2,4,12,1,11,35,1,65,148,215,0,106,34,0,40,2,20,32,4,70,4,64,32,0,32,3,54,2,20,32,0,32,0,40,2,8,32,6,106,34,0,54,2,8,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,12,1,11,32,4,40,2,4,34,2,65,3,113,65,1,70,4,64,32,2,65,120,113,33,9,32,4,40,2,12,33,1,2,64,32,2,65,255,1,77,4,64,32,4,40,2,8,34,0,32,1,70,4,64,35,1,65,148,215,0,106,34,0,32,0,40,2,0,65,126,32,2,65,3,118,119,113,54,2,0,12,2,11,32,0,32,1,54,2,12,32,1,32,0,54,2,8,12,1,11,32,4,40,2,24,33,7,2,64,32,1,32,4,71,4,64,32,4,40,2,8,34,0,32,1,54,2,12,32,1,32,0,54,2,8,12,1,11,2,64,32,4,40,2,20,34,2,4,127,32,4,65,20,106,5,32,4,40,2,16,34,2,69,13,1,32,4,65,16,106,11,33,0,3,64,32,0,33,5,32,2,34,1,65,20,106,33,0,32,1,40,2,20,34,2,13,0,32,1,65,16,106,33,0,32,1,40,2,16,34,2,13,0,11,32,5,65,0,54,2,0,12,1,11,65,0,33,1,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,0,32,4,40,2,28,34,2,65,2,116,106,34,5,40,2,176,2,32,4,70,4,64,32,5,32,1,54,2,176,2,32,1,13,1,32,0,32,0,40,2,4,65,126,32,2,119,113,54,2,4,12,2,11,2,64,32,4,32,7,40,2,16,70,4,64,32,7,32,1,54,2,16,12,1,11,32,7,32,1,54,2,20,11,32,1,69,13,1,11,32,1,32,7,54,2,24,32,4,40,2,16,34,0,4,64,32,1,32,0,54,2,16,32,0,32,1,54,2,24,11,32,4,40,2,20,34,0,69,13,0,32,1,32,0,54,2,20,32,0,32,1,54,2,24,11,32,6,32,9,106,33,6,32,4,32,9,106,34,4,40,2,4,33,2,11,32,4,32,2,65,126,113,54,2,4,32,3,32,6,65,1,114,54,2,4,32,3,32,6,106,32,6,54,2,0,32,6,65,255,1,77,4,64,35,1,65,148,215,0,106,34,1,32,6,65,120,113,106,65,40,106,33,0,2,127,32,1,40,2,0,34,2,65,1,32,6,65,3,118,116,34,5,113,69,4,64,32,1,32,2,32,5,114,54,2,0,32,0,12,1,11,32,0,40,2,8,11,33,1,32,0,32,3,54,2,8,32,1,32,3,54,2,12,32,3,32,0,54,2,12,32,3,32,1,54,2,8,12,1,11,65,31,33,1,32,6,65,255,255,255,7,77,4,64,32,6,65,38,32,6,65,8,118,103,34,0,107,118,65,1,113,32,0,65,1,116,107,65,62,106,33,1,11,32,3,32,1,54,2,28,32,3,66,0,55,2,16,35,1,65,148,215,0,106,34,2,32,1,65,2,116,106,34,0,65,176,2,106,33,5,2,64,2,64,32,2,40,2,4,34,4,65,1,32,1,116,34,7,113,69,4,64,32,2,32,4,32,7,114,54,2,4,32,0,32,3,54,2,176,2,32,3,32,5,54,2,24,12,1,11,32,6,65,25,32,1,65,1,118,107,65,0,32,1,65,31,71,27,116,33,1,32,0,40,2,176,2,33,0,3,64,32,0,34,2,40,2,4,65,120,113,32,6,70,13,2,32,1,65,29,118,33,0,32,1,65,1,116,33,1,32,2,32,0,65,4,113,106,34,5,40,2,16,34,0,13,0,11,32,5,32,3,54,2,16,32,3,32,2,54,2,24,11,32,3,32,3,54,2,12,32,3,32,3,54,2,8,12,1,11,32,2,40,2,8,34,0,32,3,54,2,12,32,2,32,3,54,2,8,32,3,65,0,54,2,24,32,3,32,2,54,2,12,32,3,32,0,54,2,8,11,32,8,65,8,106,33,5,12,2,11,2,64,32,8,69,13,0,2,64,35,1,65,148,215,0,106,34,1,32,2,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,2,70,4,64,32,4,32,5,54,2,176,2,32,5,13,1,32,1,32,6,65,126,32,3,119,113,34,6,54,2,4,12,2,11,2,64,32,2,32,8,40,2,16,70,4,64,32,8,32,5,54,2,16,12,1,11,32,8,32,5,54,2,20,11,32,5,69,13,1,11,32,5,32,8,54,2,24,32,2,40,2,16,34,1,4,64,32,5,32,1,54,2,16,32,1,32,5,54,2,24,11,32,2,40,2,20,34,1,69,13,0,32,5,32,1,54,2,20,32,1,32,5,54,2,24,11,2,64,32,0,65,15,77,4,64,32,2,32,0,32,7,106,34,0,65,3,114,54,2,4,32,0,32,2,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,1,11,32,2,32,7,65,3,114,54,2,4,32,2,32,7,106,34,4,32,0,65,1,114,54,2,4,32,0,32,4,106,32,0,54,2,0,32,0,65,255,1,77,4,64,35,1,65,148,215,0,106,34,5,32,0,65,120,113,106,65,40,106,33,1,2,127,32,5,40,2,0,34,3,65,1,32,0,65,3,118,116,34,0,113,69,4,64,32,5,32,0,32,3,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,0,32,1,32,4,54,2,8,32,0,32,4,54,2,12,32,4,32,1,54,2,12,32,4,32,0,54,2,8,12,1,11,65,31,33,5,32,0,65,255,255,255,7,77,4,64,32,0,65,38,32,0,65,8,118,103,34,1,107,118,65,1,113,32,1,65,1,116,107,65,62,106,33,5,11,32,4,32,5,54,2,28,32,4,66,0,55,2,16,35,1,32,5,65,2,116,106,65,196,217,0,106,33,1,2,64,2,64,32,6,65,1,32,5,116,34,3,113,69,4,64,35,1,65,148,215,0,106,32,3,32,6,114,54,2,4,32,1,32,4,54,2,0,32,4,32,1,54,2,24,12,1,11,32,0,65,25,32,5,65,1,118,107,65,0,32,5,65,31,71,27,116,33,5,32,1,40,2,0,33,1,3,64,32,1,34,3,40,2,4,65,120,113,32,0,70,13,2,32,5,65,29,118,33,1,32,5,65,1,116,33,5,32,3,32,1,65,4,113,106,34,6,40,2,16,34,1,13,0,11,32,6,32,4,54,2,16,32,4,32,3,54,2,24,11,32,4,32,4,54,2,12,32,4,32,4,54,2,8,12,1,11,32,3,40,2,8,34,0,32,4,54,2,12,32,3,32,4,54,2,8,32,4,65,0,54,2,24,32,4,32,3,54,2,12,32,4,32,0,54,2,8,11,32,2,65,8,106,33,5,12,1,11,2,64,32,9,69,13,0,2,64,35,1,65,148,215,0,106,34,1,32,3,40,2,28,34,2,65,2,116,106,34,6,40,2,176,2,32,3,70,4,64,32,6,32,5,54,2,176,2,32,5,13,1,32,1,32,10,65,126,32,2,119,113,54,2,4,12,2,11,2,64,32,3,32,9,40,2,16,70,4,64,32,9,32,5,54,2,16,12,1,11,32,9,32,5,54,2,20,11,32,5,69,13,1,11,32,5,32,9,54,2,24,32,3,40,2,16,34,1,4,64,32,5,32,1,54,2,16,32,1,32,5,54,2,24,11,32,3,40,2,20,34,1,69,13,0,32,5,32,1,54,2,20,32,1,32,5,54,2,24,11,2,64,32,0,65,15,77,4,64,32,3,32,0,32,7,106,34,0,65,3,114,54,2,4,32,0,32,3,106,34,0,32,0,40,2,4,65,1,114,54,2,4,12,1,11,32,3,32,7,65,3,114,54,2,4,32,3,32,7,106,34,5,32,0,65,1,114,54,2,4,32,0,32,5,106,32,0,54,2,0,32,8,4,64,35,1,65,148,215,0,106,34,6,34,2,32,8,65,120,113,106,65,40,106,33,1,32,2,40,2,20,33,2,2,127,65,1,32,8,65,3,118,116,34,7,32,4,113,69,4,64,32,6,32,4,32,7,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,4,32,1,32,2,54,2,8,32,4,32,2,54,2,12,32,2,32,1,54,2,12,32,2,32,4,54,2,8,11,35,1,65,148,215,0,106,34,1,32,5,54,2,20,32,1,32,0,54,2,8,11,32,3,65,8,106,33,5,11,32,11,65,16,106,36,0,32,5,11,170,12,1,8,127,2,64,32,0,69,13,0,32,0,65,8,107,34,3,32,0,65,4,107,40,2,0,34,1,65,120,113,34,0,106,33,5,35,1,33,4,2,64,32,1,65,1,113,13,0,32,1,65,2,113,69,13,1,32,3,32,3,40,2,0,34,1,107,34,3,32,4,65,148,215,0,106,40,2,16,73,13,1,32,0,32,1,106,33,0,2,64,2,64,2,64,35,1,65,148,215,0,106,34,6,40,2,20,32,3,71,4,64,32,3,40,2,12,33,2,32,1,65,255,1,77,4,64,32,2,32,3,40,2,8,34,4,71,13,2,32,6,34,4,32,4,40,2,0,65,126,32,1,65,3,118,119,113,54,2,0,12,5,11,32,3,40,2,24,33,7,32,2,32,3,71,4,64,32,3,40,2,8,34,1,32,2,54,2,12,32,2,32,1,54,2,8,12,4,11,32,3,40,2,20,34,1,4,127,32,3,65,20,106,5,32,3,40,2,16,34,1,69,13,3,32,3,65,16,106,11,33,4,3,64,32,4,33,6,32,1,34,2,65,20,106,33,4,32,2,40,2,20,34,1,13,0,32,2,65,16,106,33,4,32,2,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,3,11,32,5,40,2,4,34,1,65,3,113,65,3,71,13,3,35,1,65,148,215,0,106,32,0,54,2,8,32,5,32,1,65,126,113,54,2,4,32,3,32,0,65,1,114,54,2,4,32,5,32,0,54,2,0,15,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,2,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,3,40,2,28,34,1,65,2,116,106,34,4,40,2,176,2,32,3,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,4,32,4,40,2,4,65,126,32,1,119,113,54,2,4,12,2,11,2,64,32,3,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,3,40,2,16,34,1,4,64,32,2,32,1,54,2,16,32,1,32,2,54,2,24,11,32,3,40,2,20,34,1,69,13,0,32,2,32,1,54,2,20,32,1,32,2,54,2,24,11,32,3,32,5,79,13,0,32,5,40,2,4,34,1,65,1,113,69,13,0,2,64,2,64,2,64,2,64,32,1,65,2,113,69,4,64,35,1,65,148,215,0,106,34,4,40,2,24,32,5,70,4,64,32,4,34,1,32,3,54,2,24,32,1,32,1,40,2,12,32,0,106,34,0,54,2,12,32,3,32,0,65,1,114,54,2,4,32,3,32,1,40,2,20,71,13,6,32,1,65,0,54,2,8,32,1,65,0,54,2,20,15,11,35,1,65,148,215,0,106,34,4,40,2,20,34,8,32,5,70,4,64,32,4,34,1,32,3,54,2,20,32,1,32,1,40,2,8,32,0,106,34,0,54,2,8,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,15,11,32,1,65,120,113,32,0,106,33,0,32,5,40,2,12,33,2,32,1,65,255,1,77,4,64,32,5,40,2,8,34,4,32,2,70,4,64,35,1,65,148,215,0,106,34,4,32,4,40,2,0,65,126,32,1,65,3,118,119,113,54,2,0,12,5,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,4,11,32,5,40,2,24,33,7,32,2,32,5,71,4,64,32,5,40,2,8,34,1,32,2,54,2,12,32,2,32,1,54,2,8,12,3,11,32,5,40,2,20,34,1,4,127,32,5,65,20,106,5,32,5,40,2,16,34,1,69,13,2,32,5,65,16,106,11,33,4,3,64,32,4,33,6,32,1,34,2,65,20,106,33,4,32,2,40,2,20,34,1,13,0,32,2,65,16,106,33,4,32,2,40,2,16,34,1,13,0,11,32,6,65,0,54,2,0,12,2,11,32,5,32,1,65,126,113,54,2,4,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,12,3,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,5,40,2,28,34,1,65,2,116,106,34,4,40,2,176,2,32,5,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,4,32,4,40,2,4,65,126,32,1,119,113,54,2,4,12,2,11,2,64,32,5,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,5,40,2,16,34,1,4,64,32,2,32,1,54,2,16,32,1,32,2,54,2,24,11,32,5,40,2,20,34,1,69,13,0,32,2,32,1,54,2,20,32,1,32,2,54,2,24,11,32,3,32,0,65,1,114,54,2,4,32,0,32,3,106,32,0,54,2,0,32,3,32,8,71,13,0,35,1,65,148,215,0,106,32,0,54,2,8,15,11,32,0,65,255,1,77,4,64,35,1,65,148,215,0,106,34,2,34,4,32,0,65,120,113,106,65,40,106,33,1,2,127,32,4,40,2,0,34,4,65,1,32,0,65,3,118,116,34,0,113,69,4,64,32,2,32,0,32,4,114,54,2,0,32,1,12,1,11,32,1,40,2,8,11,33,0,32,1,32,3,54,2,8,32,0,32,3,54,2,12,32,3,32,1,54,2,12,32,3,32,0,54,2,8,15,11,65,31,33,2,32,0,65,255,255,255,7,77,4,64,32,0,65,38,32,0,65,8,118,103,34,1,107,118,65,1,113,32,1,65,1,116,107,65,62,106,33,2,11,32,3,32,2,54,2,28,32,3,66,0,55,2,16,35,1,65,148,215,0,106,34,7,34,6,32,2,65,2,116,106,34,1,65,176,2,106,33,4,2,127,2,64,2,127,32,6,40,2,4,34,6,65,1,32,2,116,34,5,113,69,4,64,32,7,32,5,32,6,114,54,2,4,32,1,32,3,54,2,176,2,65,24,33,2,65,8,12,1,11,32,0,65,25,32,2,65,1,118,107,65,0,32,2,65,31,71,27,116,33,2,32,1,40,2,176,2,33,4,3,64,32,4,34,1,40,2,4,65,120,113,32,0,70,13,2,32,2,65,29,118,33,4,32,2,65,1,116,33,2,32,1,32,4,65,4,113,106,34,6,40,2,16,34,4,13,0,11,32,6,32,3,54,2,16,65,24,33,2,32,1,33,4,65,8,11,33,0,32,3,34,1,12,1,11,32,1,40,2,8,34,4,32,3,54,2,12,32,1,32,3,54,2,8,65,24,33,0,65,8,33,2,65,0,11,33,6,32,2,32,3,106,32,4,54,2,0,32,3,32,1,54,2,12,32,0,32,3,106,32,6,54,2,0,35,1,65,148,215,0,106,34,0,32,0,40,2,32,65,1,107,34,0,65,127,32,0,27,54,2,32,11,11,176,8,1,11,127,32,0,69,4,64,32,1,16,137,2,15,11,32,1,65,64,79,4,64,35,1,65,200,213,0,106,65,48,54,2,0,65,0,15,11,2,127,65,16,32,1,65,11,106,65,120,113,32,1,65,11,73,27,33,5,32,0,65,8,107,34,4,40,2,4,34,9,65,120,113,33,8,2,64,32,9,65,3,113,69,4,64,32,5,65,128,2,73,13,1,32,5,65,4,106,32,8,77,4,64,32,4,33,2,32,8,32,5,107,35,1,65,236,218,0,106,40,2,8,65,1,116,77,13,2,11,65,0,12,2,11,32,4,32,8,106,33,6,2,64,32,5,32,8,77,4,64,32,8,32,5,107,34,7,65,16,73,13,1,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,2,32,7,65,3,114,54,2,4,32,6,32,6,40,2,4,65,1,114,54,2,4,32,2,32,7,16,140,2,12,1,11,32,6,40,2,4,33,7,35,1,65,148,215,0,106,34,3,34,2,40,2,24,32,6,70,4,64,65,0,32,5,32,2,40,2,12,32,8,106,34,2,79,13,3,26,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,8,32,2,32,5,107,34,7,65,1,114,54,2,4,32,3,34,2,32,7,54,2,12,32,2,32,8,54,2,24,12,1,11,35,1,65,148,215,0,106,34,2,40,2,20,32,6,70,4,64,65,0,32,5,32,2,40,2,8,32,8,106,34,2,75,13,3,26,2,64,32,2,32,5,107,34,3,65,16,79,4,64,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,7,32,3,65,1,114,54,2,4,32,2,32,4,106,34,2,32,3,54,2,0,32,2,32,2,40,2,4,65,126,113,54,2,4,12,1,11,32,4,32,9,65,1,113,32,2,114,65,2,114,54,2,4,32,2,32,4,106,34,2,32,2,40,2,4,65,1,114,54,2,4,65,0,33,3,65,0,33,7,11,35,1,65,148,215,0,106,34,2,32,7,54,2,20,32,2,32,3,54,2,8,12,1,11,65,0,33,2,32,7,65,2,113,13,1,32,7,65,120,113,32,8,106,34,11,32,5,73,13,1,32,11,32,5,107,33,12,32,6,40,2,12,33,3,2,64,32,7,65,255,1,77,4,64,32,6,40,2,8,34,2,32,3,70,4,64,35,1,65,148,215,0,106,34,2,32,2,40,2,0,65,126,32,7,65,3,118,119,113,54,2,0,12,2,11,32,2,32,3,54,2,12,32,3,32,2,54,2,8,12,1,11,32,6,40,2,24,33,10,2,64,32,3,32,6,71,4,64,32,6,40,2,8,34,2,32,3,54,2,12,32,3,32,2,54,2,8,12,1,11,2,64,32,6,40,2,20,34,2,4,127,32,6,65,20,106,5,32,6,40,2,16,34,2,69,13,1,32,6,65,16,106,11,33,8,3,64,32,8,33,7,32,2,34,3,65,20,106,33,8,32,2,40,2,20,34,2,13,0,32,3,65,16,106,33,8,32,3,40,2,16,34,2,13,0,11,32,7,65,0,54,2,0,12,1,11,65,0,33,3,11,32,10,69,13,0,2,64,35,1,65,148,215,0,106,34,8,32,6,40,2,28,34,7,65,2,116,106,34,2,40,2,176,2,32,6,70,4,64,32,2,32,3,54,2,176,2,32,3,13,1,32,8,32,8,40,2,4,65,126,32,7,119,113,54,2,4,12,2,11,2,64,32,6,32,10,40,2,16,70,4,64,32,10,32,3,54,2,16,12,1,11,32,10,32,3,54,2,20,11,32,3,69,13,1,11,32,3,32,10,54,2,24,32,6,40,2,16,34,2,4,64,32,3,32,2,54,2,16,32,2,32,3,54,2,24,11,32,6,40,2,20,34,2,69,13,0,32,3,32,2,54,2,20,32,2,32,3,54,2,24,11,32,12,65,15,77,4,64,32,4,32,9,65,1,113,32,11,114,65,2,114,54,2,4,32,4,32,11,106,34,2,32,2,40,2,4,65,1,114,54,2,4,12,1,11,32,4,32,5,32,9,65,1,113,114,65,2,114,54,2,4,32,4,32,5,106,34,7,32,12,65,3,114,54,2,4,32,4,32,11,106,34,2,32,2,40,2,4,65,1,114,54,2,4,32,7,32,12,16,140,2,11,32,4,33,2,11,32,2,11,34,2,4,64,32,2,65,8,106,15,11,32,1,16,137,2,34,4,69,4,64,65,0,15,11,32,4,32,0,65,124,65,120,32,0,65,4,107,40,2,0,34,2,65,3,113,27,32,2,65,120,113,106,34,2,32,1,32,1,32,2,75,27,16,242,1,26,32,0,16,138,2,32,4,11,205,11,1,7,127,32,0,32,1,106,33,5,2,64,2,64,32,0,40,2,4,34,3,65,1,113,13,0,32,3,65,2,113,69,13,1,32,0,40,2,0,34,3,32,1,106,33,1,2,64,2,64,2,64,32,0,32,3,107,34,0,35,1,65,148,215,0,106,34,6,40,2,20,71,4,64,32,0,40,2,12,33,2,32,3,65,255,1,77,4,64,32,2,32,0,40,2,8,34,4,71,13,2,32,6,34,2,32,2,40,2,0,65,126,32,3,65,3,118,119,113,54,2,0,12,5,11,32,0,40,2,24,33,7,32,0,32,2,71,4,64,32,0,40,2,8,34,3,32,2,54,2,12,32,2,32,3,54,2,8,12,4,11,32,0,40,2,20,34,4,4,127,32,0,65,20,106,5,32,0,40,2,16,34,4,69,13,3,32,0,65,16,106,11,33,3,3,64,32,3,33,6,32,4,34,2,65,20,106,33,3,32,2,40,2,20,34,4,13,0,32,2,65,16,106,33,3,32,2,40,2,16,34,4,13,0,11,32,6,65,0,54,2,0,12,3,11,32,5,40,2,4,34,3,65,3,113,65,3,71,13,3,35,1,65,148,215,0,106,32,1,54,2,8,32,5,32,3,65,126,113,54,2,4,32,0,32,1,65,1,114,54,2,4,32,5,32,1,54,2,0,15,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,2,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,0,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,0,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,2,32,2,40,2,4,65,126,32,3,119,113,54,2,4,12,2,11,2,64,32,0,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,0,40,2,16,34,3,4,64,32,2,32,3,54,2,16,32,3,32,2,54,2,24,11,32,0,40,2,20,34,3,69,13,0,32,2,32,3,54,2,20,32,3,32,2,54,2,24,11,2,64,2,64,2,64,2,64,32,5,40,2,4,34,3,65,2,113,69,4,64,35,1,65,148,215,0,106,34,2,40,2,24,32,5,70,4,64,32,2,34,3,32,0,54,2,24,32,3,32,3,40,2,12,32,1,106,34,1,54,2,12,32,0,32,1,65,1,114,54,2,4,32,0,32,3,40,2,20,71,13,6,32,3,34,0,65,0,54,2,8,32,0,65,0,54,2,20,15,11,35,1,65,148,215,0,106,34,2,40,2,20,34,8,32,5,70,4,64,32,2,34,3,32,0,54,2,20,32,3,32,3,40,2,8,32,1,106,34,1,54,2,8,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,15,11,32,3,65,120,113,32,1,106,33,1,32,5,40,2,12,33,2,32,3,65,255,1,77,4,64,32,5,40,2,8,34,4,32,2,70,4,64,35,1,65,148,215,0,106,34,2,32,2,40,2,0,65,126,32,3,65,3,118,119,113,54,2,0,12,5,11,32,4,32,2,54,2,12,32,2,32,4,54,2,8,12,4,11,32,5,40,2,24,33,7,32,2,32,5,71,4,64,32,5,40,2,8,34,3,32,2,54,2,12,32,2,32,3,54,2,8,12,3,11,32,5,40,2,20,34,4,4,127,32,5,65,20,106,5,32,5,40,2,16,34,4,69,13,2,32,5,65,16,106,11,33,3,3,64,32,3,33,6,32,4,34,2,65,20,106,33,3,32,2,40,2,20,34,4,13,0,32,2,65,16,106,33,3,32,2,40,2,16,34,4,13,0,11,32,6,65,0,54,2,0,12,2,11,32,5,32,3,65,126,113,54,2,4,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,12,3,11,65,0,33,2,11,32,7,69,13,0,2,64,35,1,65,148,215,0,106,34,6,32,5,40,2,28,34,3,65,2,116,106,34,4,40,2,176,2,32,5,70,4,64,32,4,32,2,54,2,176,2,32,2,13,1,32,6,34,2,32,2,40,2,4,65,126,32,3,119,113,54,2,4,12,2,11,2,64,32,5,32,7,40,2,16,70,4,64,32,7,32,2,54,2,16,12,1,11,32,7,32,2,54,2,20,11,32,2,69,13,1,11,32,2,32,7,54,2,24,32,5,40,2,16,34,3,4,64,32,2,32,3,54,2,16,32,3,32,2,54,2,24,11,32,5,40,2,20,34,3,69,13,0,32,2,32,3,54,2,20,32,3,32,2,54,2,24,11,32,0,32,1,65,1,114,54,2,4,32,0,32,1,106,32,1,54,2,0,32,0,32,8,71,13,0,35,1,65,148,215,0,106,32,1,54,2,8,15,11,32,1,65,255,1,77,4,64,35,1,65,148,215,0,106,34,4,34,2,32,1,65,120,113,106,65,40,106,33,3,2,127,32,2,40,2,0,34,2,65,1,32,1,65,3,118,116,34,1,113,69,4,64,32,4,32,1,32,2,114,54,2,0,32,3,12,1,11,32,3,40,2,8,11,33,1,32,3,32,0,54,2,8,32,1,32,0,54,2,12,32,0,32,3,54,2,12,32,0,32,1,54,2,8,15,11,65,31,33,2,32,1,65,255,255,255,7,77,4,64,32,1,65,38,32,1,65,8,118,103,34,3,107,118,65,1,113,32,3,65,1,116,107,65,62,106,33,2,11,32,0,32,2,54,2,28,32,0,66,0,55,2,16,35,1,65,148,215,0,106,34,7,34,4,32,2,65,2,116,106,34,3,65,176,2,106,33,6,2,64,2,64,32,4,40,2,4,34,4,65,1,32,2,116,34,5,113,69,4,64,32,7,32,4,32,5,114,54,2,4,32,3,32,0,54,2,176,2,32,0,32,6,54,2,24,12,1,11,32,1,65,25,32,2,65,1,118,107,65,0,32,2,65,31,71,27,116,33,2,32,3,40,2,176,2,33,3,3,64,32,3,34,4,40,2,4,65,120,113,32,1,70,13,2,32,2,65,29,118,33,3,32,2,65,1,116,33,2,32,4,32,3,65,4,113,106,34,6,40,2,16,34,3,13,0,11,32,6,32,0,54,2,16,32,0,32,4,54,2,24,11,32,0,32,0,54,2,12,32,0,32,0,54,2,8,15,11,32,4,40,2,8,34,1,32,0,54,2,12,32,4,32,0,54,2,8,32,0,65,0,54,2,24,32,0,32,4,54,2,12,32,0,32,1,54,2,8,11,11,92,2,1,127,1,126,2,64,2,127,65,0,32,0,69,13,0,26,32,0,173,32,1,173,126,34,3,167,34,2,32,0,32,1,114,65,128,128,4,73,13,0,26,65,127,32,2,32,3,66,32,136,167,27,11,34,2,16,137,2,34,0,69,13,0,32,0,65,4,107,45,0,0,65,3,113,69,13,0,32,0,65,0,32,2,16,238,1,26,11,32,0,11,108,1,2,127,32,0,65,7,106,65,120,113,33,1,35,1,65,244,212,0,106,34,2,40,2,0,34,0,69,4,64,32,2,35,3,34,0,54,2,0,11,2,64,32,1,65,0,32,0,32,1,106,34,1,32,0,77,27,69,4,64,32,1,63,0,65,16,116,77,13,1,32,1,16,9,13,1,11,35,1,65,200,213,0,106,65,48,54,2,0,65,127,15,11,35,1,65,244,212,0,106,32,1,54,2,0,32,0,11,25,0,35,10,40,2,0,69,4,64,35,11,32,1,54,2,0,35,10,32,0,54,2,0,11,11,9,0,32,0,65,0,16,145,2,11,175,2,1,7,127,2,64,32,0,65,255,255,7,75,13,0,35,1,34,2,65,240,47,106,32,2,65,224,47,106,32,0,32,0,65,255,1,113,34,6,65,3,110,34,3,65,3,108,107,65,255,1,113,65,2,116,106,40,2,0,32,2,65,192,58,106,34,4,32,3,32,4,32,0,65,8,118,34,3,106,45,0,0,65,214,0,108,106,106,45,0,0,108,65,11,118,65,6,112,32,2,65,176,207,0,106,32,3,106,45,0,0,106,65,2,116,106,40,2,0,34,3,65,8,117,33,2,32,3,65,255,1,113,34,3,65,1,77,4,64,32,2,65,0,32,1,32,3,115,107,113,32,0,106,15,11,32,2,65,255,1,113,34,3,69,13,0,32,2,65,8,118,33,2,3,64,35,1,65,176,55,106,32,3,65,1,118,34,4,32,2,106,34,5,65,1,116,106,34,7,45,0,0,34,8,32,6,70,4,64,35,1,65,240,47,106,32,7,45,0,1,65,2,116,106,40,2,0,34,2,65,255,1,113,34,3,65,1,77,4,64,65,0,32,1,32,3,115,107,32,2,65,8,117,113,32,0,106,15,11,65,127,65,1,32,1,27,32,0,106,15,11,32,2,32,5,32,6,32,8,73,34,5,27,33,2,32,4,32,3,32,4,107,32,5,27,34,3,13,0,11,11,32,0,11,9,0,32,0,65,1,16,145,2,11,10,0,32,0,65,48,107,65,10,73,11,6,0,32,0,36,0,11,16,0,35,0,32,0,107,65,112,113,34,0,36,0,32,0,11,4,0,35,0,11,12,0,32,0,65,1,16,145,2,32,0,71,11,13,0,32,0,65,32,70,32,0,65,9,70,114,11,74,1,2,127,32,0,16,250,1,32,0,106,33,3,2,64,32,2,69,13,0,3,64,32,1,45,0,0,34,4,69,13,1,32,3,32,4,58,0,0,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,32,3,65,0,58,0,0,32,0,11,12,0,32,0,65,0,16,145,2,32,0,71,11,233,2,1,2,127,2,64,32,0,32,1,70,13,0,32,1,32,0,32,2,106,34,4,107,65,0,32,2,65,1,116,107,77,4,64,32,0,32,1,32,2,16,242,1,15,11,32,0,32,1,115,65,3,113,33,3,2,64,2,64,32,0,32,1,73,4,64,32,3,4,64,32,0,33,3,12,3,11,32,0,65,3,113,69,4,64,32,0,33,3,12,2,11,32,0,33,3,3,64,32,2,69,13,4,32,3,32,1,45,0,0,58,0,0,32,1,65,1,106,33,1,32,2,65,1,107,33,2,32,3,65,1,106,34,3,65,3,113,13,0,11,12,1,11,2,64,32,3,13,0,32,4,65,3,113,4,64,3,64,32,2,69,13,5,32,0,32,2,65,1,107,34,2,106,34,3,32,1,32,2,106,45,0,0,58,0,0,32,3,65,3,113,13,0,11,11,32,2,65,3,77,13,0,3,64,32,0,32,2,65,4,107,34,2,106,32,1,32,2,106,40,2,0,54,2,0,32,2,65,3,75,13,0,11,11,32,2,69,13,2,3,64,32,0,32,2,65,1,107,34,2,106,32,1,32,2,106,45,0,0,58,0,0,32,2,13,0,11,12,2,11,32,2,65,3,77,13,0,3,64,32,3,32,1,40,2,0,54,2,0,32,1,65,4,106,33,1,32,3,65,4,106,33,3,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,0,3,64,32,3,32,1,45,0,0,58,0,0,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,32,0,11,131,2,1,2,127,2,64,2,64,2,64,2,64,32,1,32,0,34,3,115,65,3,113,13,0,32,2,65,0,71,33,4,2,64,32,1,65,3,113,69,13,0,32,2,69,13,0,3,64,32,3,32,1,45,0,0,34,4,58,0,0,32,4,69,13,5,32,3,65,1,106,33,3,32,2,65,1,107,34,2,65,0,71,33,4,32,1,65,1,106,34,1,65,3,113,69,13,1,32,2,13,0,11,11,32,4,69,13,2,32,1,45,0,0,69,13,3,32,2,65,4,73,13,0,3,64,65,128,130,132,8,32,1,40,2,0,34,4,107,32,4,114,65,128,129,130,132,120,113,65,128,129,130,132,120,71,13,2,32,3,32,4,54,2,0,32,3,65,4,106,33,3,32,1,65,4,106,33,1,32,2,65,4,107,34,2,65,3,75,13,0,11,11,32,2,69,13,1,11,3,64,32,3,32,1,45,0,0,34,4,58,0,0,32,4,69,13,2,32,3,65,1,106,33,3,32,1,65,1,106,33,1,32,2,65,1,107,34,2,13,0,11,11,65,0,33,2,11,32,3,65,0,32,2,16,238,1,26,32,0,11,23,0,32,0,65,48,107,65,10,73,32,0,65,32,114,65,225,0,107,65,6,73,114,11,77,1,2,127,32,1,45,0,0,33,2,2,64,32,0,45,0,0,34,3,69,13,0,32,2,32,3,71,13,0,3,64,32,1,45,0,1,33,2,32,0,45,0,1,34,3,69,13,1,32,1,65,1,106,33,1,32,0,65,1,106,33,0,32,2,32,3,70,13,0,11,11,32,3,32,2,107,11,11,255,84,1,0,35,1,11,248,84,45,43,32,32,32,48,88,48,120,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,114,101,100,117,99,101,32,115,121,109,58,37,115,44,32,99,104,105,108,100,95,99,111,117,110,116,58,37,117,0,114,101,115,117,109,101,32,118,101,114,115,105,111,110,58,37,117,0,114,101,109,111,118,101,100,32,112,97,117,115,101,100,32,118,101,114,115,105,111,110,58,37,117,0,108,101,120,95,101,120,116,101,114,110,97,108,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,117,109,110,58,37,117,0,108,101,120,95,105,110,116,101,114,110,97,108,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,117,109,110,58,37,117,0,112,114,111,99,101,115,115,32,118,101,114,115,105,111,110,58,37,117,44,32,118,101,114,115,105,111,110,95,99,111,117,110,116,58,37,117,44,32,115,116,97,116,101,58,37,100,44,32,114,111,119,58,37,117,44,32,99,111,108,58,37,117,0,114,101,99,111,118,101,114,95,116,111,95,112,114,101,118,105,111,117,115,32,115,116,97,116,101,58,37,117,44,32,100,101,112,116,104,58,37,117,0,44,32,115,105,122,101,58,37,117,0,115,104,105,102,116,32,115,116,97,116,101,58,37,117,0,114,101,99,111,118,101,114,95,119,105,116,104,95,109,105,115,115,105,110,103,32,115,121,109,98,111,108,58,37,115,44,32,115,116,97,116,101,58,37,117,0,100,105,102,102,101,114,101,110,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,32,37,117,32,45,32,37,117,0,97,99,99,101,112,116,0,112,97,114,115,101,95,97,102,116,101,114,95,101,100,105,116,0,92,116,0,97,98,111,114,116,105,110,103,32,114,101,100,117,99,101,32,119,105,116,104,32,116,111,111,32,109,97,110,121,32,118,101,114,115,105,111,110,115,0,104,97,115,95,99,104,97,110,103,101,115,0,115,119,105,116,99,104,32,102,114,111,109,95,107,101,121,119,111,114,100,58,37,115,44,32,116,111,95,119,111,114,100,95,116,111,107,101,110,58,37,115,0,115,116,97,116,101,95,109,105,115,109,97,116,99,104,32,115,121,109,58,37,115,0,115,101,108,101,99,116,95,115,109,97,108,108,101,114,95,101,114,114,111,114,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,115,101,108,101,99,116,95,101,97,114,108,105,101,114,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,115,101,108,101,99,116,95,101,120,105,115,116,105,110,103,32,115,121,109,98,111,108,58,37,115,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,0,99,97,110,116,95,114,101,117,115,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,44,32,102,105,114,115,116,95,108,101,97,102,95,115,121,109,98,111,108,58,37,115,0,115,107,105,112,95,116,111,107,101,110,32,115,121,109,98,111,108,58,37,115,0,105,103,110,111,114,101,95,101,109,112,116,121,95,101,120,116,101,114,110,97,108,95,116,111,107,101,110,32,115,121,109,98,111,108,58,37,115,0,114,101,117,115,97,98,108,101,95,110,111,100,101,95,104,97,115,95,100,105,102,102,101,114,101,110,116,95,101,120,116,101,114,110,97,108,95,115,99,97,110,110,101,114,95,115,116,97,116,101,32,115,121,109,98,111,108,58,37,115,0,114,101,117,115,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,112,97,115,116,95,114,101,117,115,97,98,108,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,98,101,102,111,114,101,95,114,101,117,115,97,98,108,101,95,110,111,100,101,32,115,121,109,98,111,108,58,37,115,0,99,97,110,116,95,114,101,117,115,101,95,110,111,100,101,95,37,115,32,116,114,101,101,58,37,115,0,98,114,101,97,107,100,111,119,110,95,116,111,112,95,111,102,95,115,116,97,99,107,32,116,114,101,101,58,37,115,0,100,101,116,101,99,116,95,101,114,114,111,114,32,108,111,111,107,97,104,101,97,100,58,37,115,0,40,37,115,0,105,115,95,101,114,114,111,114,0,115,107,105,112,95,117,110,114,101,99,111,103,110,105,122,101,100,95,99,104,97,114,97,99,116,101,114,0,110,97,110,0,92,110,0,105,115,95,109,105,115,115,105,110,103,0,114,101,115,117,109,101,95,112,97,114,115,105,110,103,0,114,101,99,111,118,101,114,95,101,111,102,0,105,110,102,0,110,101,119,95,112,97,114,115,101,0,99,111,110,100,101,110,115,101,0,100,111,110,101,0,105,115,95,102,114,97,103,105,108,101,0,99,111,110,116,97,105,110,115,95,100,105,102,102,101,114,101,110,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,0,115,107,105,112,32,99,104,97,114,97,99,116,101,114,58,37,100,0,99,111,110,115,117,109,101,32,99,104,97,114,97,99,116,101,114,58,37,100,0,115,101,108,101,99,116,95,104,105,103,104,101,114,95,112,114,101,99,101,100,101,110,99,101,32,115,121,109,98,111,108,58,37,115,44,32,112,114,101,99,58,37,100,44,32,111,118,101,114,95,115,121,109,98,111,108,58,37,115,44,32,111,116,104,101,114,95,112,114,101,99,58,37,100,0,115,104,105,102,116,95,101,120,116,114,97,0,110,111,95,108,111,111,107,97,104,101,97,100,95,97,102,116,101,114,95,110,111,110,95,116,101,114,109,105,110,97,108,95,101,120,116,114,97,0,95,95,82,79,79,84,95,95,0,95,69,82,82,79,82,0,78,65,78,0,77,73,83,83,73,78,71,0,73,78,70,0,73,78,86,65,76,73,68,0,108,101,120,101,100,95,108,111,111,107,97,104,101,97,100,32,115,121,109,58,0,32,48,48,48,48,48,48,48,48,48,48,48,48,16,48,48,0,46,0,40,37,115,41,0,40,110,117,108,108,41,0,40,78,85,76,76,41,0,40,34,37,115,34,41,0,39,92,116,39,0,39,92,114,39,0,39,92,110,39,0,115,107,105,112,32,99,104,97,114,97,99,116,101,114,58,39,37,99,39,0,99,111,110,115,117,109,101,32,99,104,97,114,97,99,116,101,114,58,39,37,99,39,0,39,92,48,39,0,34,37,115,34,0,40,77,73,83,83,73,78,71,32,0,40,85,78,69,88,80,69,67,84,69,68,32,0,37,115,58,32,0,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,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,30,15,15,15,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,16,82,83,84,85,86,87,88,89,90,91,92,93,16,94,95,96,16,17,17,17,97,98,99,16,16,16,16,16,16,16,16,16,16,17,17,17,17,100,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,101,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,102,103,16,16,104,105,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,106,17,17,107,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,108,109,16,16,16,16,16,16,16,16,16,110,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,111,112,113,114,16,16,16,16,16,16,16,16,115,116,117,16,16,16,16,16,118,119,16,16,16,16,120,16,16,121,16,16,16,16,16,16,16,16,16,16,16,16,16,16,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,255,7,0,0,0,0,0,0,255,255,223,63,0,0,240,255,248,3,255,255,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,239,223,253,255,255,255,255,231,223,93,240,128,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,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,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,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,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,255,255,255,124,0,0,0,0,0,128,255,191,255,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,255,255,255,255,255,247,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,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,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,112,0,255,255,255,255,71,0,255,255,255,255,255,255,255,255,30,0,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,187,7,255,131,0,0,0,0,255,255,255,255,255,255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252,255,255,255,255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,255,3,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,255,255,127,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,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,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,255,255,255,127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,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,255,255,255,255,255,31,128,63,255,67,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,255,255,255,255,255,15,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,11,0,25,25,25,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,25,0,10,10,25,25,25,3,10,7,0,1,0,9,11,24,0,0,9,6,11,0,0,11,0,6,25,0,0,0,25,25,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,25,0,11,13,25,25,25,0,13,0,0,2,0,9,14,0,0,0,9,0,14,0,0,14,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,12,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,19,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,4,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,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,18,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,17,0,0,0,0,9,18,0,0,0,0,0,18,0,0,18,0,0,26,0,0,0,26,26,26,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,26,0,0,0,26,26,26,0,0,0,0,0,0,9,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,20,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,23,0,0,0,0,9,20,0,0,0,0,0,20,0,0,20,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,22,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,21,0,0,0,0,9,22,0,0,0,0,0,22,0,0,22,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,8,0,0,86,1,0,0,57,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,224,255,255,0,191,29,0,0,231,2,0,0,121,0,0,2,36,0,0,1,1,0,0,0,255,255,255,0,0,0,0,1,2,0,0,0,254,255,255,1,57,255,255,0,24,255,255,1,135,255,255,0,212,254,255,0,195,0,0,1,210,0,0,1,206,0,0,1,205,0,0,1,79,0,0,1,202,0,0,1,203,0,0,1,207,0,0,0,97,0,0,1,211,0,0,1,209,0,0,0,163,0,0,1,213,0,0,0,130,0,0,1,214,0,0,1,218,0,0,1,217,0,0,1,219,0,0,0,56,0,0,3,0,0,0,0,177,255,255,1,159,255,255,1,200,255,255,2,40,36,0,0,0,0,0,1,1,0,0,0,255,255,255,0,51,255,255,0,38,255,255,1,126,255,255,1,43,42,0,1,93,255,255,1,40,42,0,0,63,42,0,1,61,255,255,1,69,0,0,1,71,0,0,0,31,42,0,0,28,42,0,0,30,42,0,0,46,255,255,0,50,255,255,0,54,255,255,0,53,255,255,0,79,165,0,0,75,165,0,0,49,255,255,0,40,165,0,0,68,165,0,0,47,255,255,0,45,255,255,0,247,41,0,0,65,165,0,0,253,41,0,0,43,255,255,0,42,255,255,0,231,41,0,0,67,165,0,0,42,165,0,0,187,255,255,0,39,255,255,0,185,255,255,0,37,255,255,0,21,165,0,0,18,165,0,2,36,76,0,0,0,0,0,1,32,0,0,0,224,255,255,1,1,0,0,0,255,255,255,0,84,0,0,1,116,0,0,1,38,0,0,1,37,0,0,1,64,0,0,1,63,0,0,0,218,255,255,0,219,255,255,0,225,255,255,0,192,255,255,0,193,255,255,1,8,0,0,0,194,255,255,0,199,255,255,0,209,255,255,0,202,255,255,0,248,255,255,0,170,255,255,0,176,255,255,0,7,0,0,0,140,255,255,1,196,255,255,0,160,255,255,1,249,255,255,2,26,112,0,1,1,0,0,0,255,255,255,1,32,0,0,0,224,255,255,1,80,0,0,1,15,0,0,0,241,255,255,0,0,0,0,1,48,0,0,0,208,255,255,1,1,0,0,0,255,255,255,0,0,0,0,0,192,11,0,1,96,28,0,0,0,0,0,1,208,151,0,1,8,0,0,0,248,255,255,2,5,138,0,0,0,0,0,1,64,244,255,0,158,231,255,0,194,137,0,0,219,231,255,0,146,231,255,0,147,231,255,0,156,231,255,0,157,231,255,0,164,231,255,0,0,0,0,0,56,138,0,0,4,138,0,0,230,14,0,1,1,0,0,0,255,255,255,0,0,0,0,0,197,255,255,1,65,226,255,2,29,143,0,0,8,0,0,1,248,255,255,0,0,0,0,0,86,0,0,1,170,255,255,0,74,0,0,0,100,0,0,0,128,0,0,0,112,0,0,0,126,0,0,0,9,0,0,1,182,255,255,1,247,255,255,0,219,227,255,1,156,255,255,1,144,255,255,1,128,255,255,1,130,255,255,2,5,172,0,0,0,0,0,1,16,0,0,0,240,255,255,1,28,0,0,1,1,0,0,1,163,226,255,1,65,223,255,1,186,223,255,0,228,255,255,2,11,177,0,1,1,0,0,0,255,255,255,1,48,0,0,0,208,255,255,0,0,0,0,1,9,214,255,1,26,241,255,1,25,214,255,0,213,213,255,0,216,213,255,1,228,213,255,1,3,214,255,1,225,213,255,1,226,213,255,1,193,213,255,0,0,0,0,0,160,227,255,0,0,0,0,1,1,0,0,0,255,255,255,2,12,188,0,0,0,0,0,1,1,0,0,0,255,255,255,1,188,90,255,1,160,3,0,1,252,117,255,1,216,90,255,0,48,0,0,1,177,90,255,1,181,90,255,1,191,90,255,1,238,90,255,1,214,90,255,1,235,90,255,1,208,255,255,1,189,90,255,1,200,117,255,0,0,0,0,0,48,104,255,0,96,252,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,40,0,0,0,216,255,255,0,0,0,0,1,64,0,0,0,192,255,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,32,0,0,0,224,255,255,0,0,0,0,1,34,0,0,0,222,255,255,48,12,49,13,120,14,127,15,128,16,129,17,134,18,137,19,138,19,142,20,143,21,144,22,147,19,148,23,149,24,150,25,151,26,154,27,156,25,157,28,158,29,159,30,166,31,169,31,174,31,177,32,178,32,183,33,191,34,197,35,200,35,203,35,221,36,242,35,246,37,247,38,32,45,58,46,61,47,62,48,63,49,64,49,67,50,68,51,69,52,80,53,81,54,82,55,83,56,84,57,89,58,91,59,92,60,97,61,99,62,101,63,102,64,104,65,105,66,106,64,107,67,108,68,111,66,113,69,114,70,117,71,125,72,130,73,135,74,137,75,138,76,139,76,140,77,146,78,157,79,158,80,69,87,123,29,124,29,125,29,127,88,134,89,136,90,137,90,138,90,140,91,142,92,143,92,172,93,173,94,174,94,175,94,194,95,204,96,205,97,206,97,207,98,208,99,209,100,213,101,214,102,215,103,240,104,241,105,242,106,243,107,244,108,245,109,249,110,253,45,254,45,255,45,80,105,81,105,82,105,83,105,84,105,85,105,86,105,87,105,88,105,89,105,90,105,91,105,92,105,93,105,94,105,95,105,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,192,117,207,118,128,137,129,138,130,139,133,140,134,141,112,157,113,157,118,158,119,158,120,159,121,159,122,160,123,160,124,161,125,161,179,162,186,163,187,163,188,164,190,165,195,162,204,164,218,166,219,166,229,106,234,167,235,167,236,110,243,162,248,168,249,168,250,169,251,169,252,164,38,176,42,177,43,178,78,179,132,8,98,186,99,187,100,188,101,189,102,190,109,191,110,192,111,193,112,194,126,195,127,195,125,207,141,208,148,209,171,210,172,211,173,212,176,213,177,214,178,215,196,216,197,217,198,218,7,8,9,10,11,12,6,6,6,6,6,6,6,6,6,6,13,6,6,14,6,6,6,6,6,6,6,6,15,16,17,18,6,19,6,6,6,6,6,6,6,6,6,6,20,21,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,22,23,6,6,6,24,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,25,6,6,6,6,26,6,6,6,6,6,6,6,27,6,6,6,6,6,6,6,6,6,6,6,28,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,29,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,30,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,43,43,43,43,43,43,43,43,1,0,84,86,86,86,86,86,86,86,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,43,43,43,43,43,43,43,7,43,43,91,86,86,86,86,86,86,86,74,86,86,5,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,36,80,121,49,80,49,80,49,56,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,78,49,2,78,13,13,78,3,78,0,36,110,0,78,49,38,110,81,78,36,80,78,57,20,129,27,29,29,83,49,80,49,80,13,49,80,49,80,49,80,27,83,36,80,49,2,92,123,92,123,92,123,92,123,92,123,20,121,92,123,92,123,92,45,43,73,3,72,3,120,92,123,20,0,150,10,1,43,40,6,6,0,42,6,42,42,43,7,187,181,43,30,0,43,7,43,43,43,1,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,42,43,43,43,43,43,43,43,43,43,43,43,43,43,205,70,205,43,0,37,43,7,1,6,1,85,86,86,86,86,86,85,86,86,2,36,129,129,129,129,129,21,129,129,129,0,0,43,0,178,209,178,209,178,209,178,209,0,0,205,204,1,0,215,215,215,215,215,131,129,129,129,129,129,129,129,129,129,129,172,172,172,172,172,172,172,172,172,172,28,0,0,0,0,0,49,80,49,80,49,80,49,80,49,80,49,2,0,0,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,78,49,80,49,80,78,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,2,135,166,135,166,135,166,135,166,135,166,135,166,135,166,135,166,42,43,43,43,43,43,43,43,43,43,43,43,43,0,0,0,84,86,86,86,86,86,86,86,86,86,86,86,86,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,84,86,86,86,86,86,86,86,86,86,86,86,86,12,0,12,42,43,43,43,43,43,43,43,43,43,43,43,43,43,7,42,1,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,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,86,86,108,129,21,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,7,108,3,65,43,43,86,86,86,86,86,86,86,86,86,86,86,86,86,86,44,86,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,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,12,108,0,0,0,0,0,6,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,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,86,122,158,38,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,37,6,1,43,43,79,86,86,44,43,127,86,86,57,43,43,85,86,86,43,43,79,86,86,44,43,127,86,86,129,55,117,91,123,92,43,43,79,86,86,2,172,4,0,0,57,43,43,85,86,86,43,43,79,86,86,44,43,43,86,86,50,19,129,87,0,111,129,126,201,215,126,45,129,129,14,126,57,127,111,87,0,129,129,126,21,0,126,3,43,43,43,43,43,43,43,43,43,43,43,43,7,43,36,43,151,43,43,43,43,43,43,43,43,43,42,43,43,43,43,43,86,86,86,86,86,128,129,129,129,129,57,187,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,201,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,208,13,0,78,49,2,180,193,193,215,215,36,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,49,80,215,215,83,193,71,212,215,215,215,5,43,43,43,43,43,43,43,43,43,43,43,43,7,1,0,1,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,78,49,80,49,80,49,80,49,80,49,80,49,80,49,80,13,0,0,0,0,0,36,80,49,80,49,80,49,80,49,80,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,43,43,43,43,43,43,43,43,43,43,43,121,92,123,92,123,79,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,123,92,45,43,43,121,20,92,123,92,45,121,42,92,39,92,123,92,123,92,123,164,0,10,180,92,123,92,123,79,3,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,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,72,0,0,0,0,0,0,0,0,0,42,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,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,43,43,43,43,43,43,43,43,7,0,72,86,86,86,86,86,86,86,86,2,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,43,43,43,43,43,43,43,43,43,43,43,43,43,85,86,86,86,86,86,86,86,86,86,86,86,86,14,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,36,43,43,43,43,43,43,43,43,43,43,43,7,0,86,86,86,86,86,86,86,86,86,86,86,86,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,36,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,7,0,0,0,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,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,42,43,43,43,43,43,43,43,43,43,43,86,86,86,86,86,86,86,86,86,86,14,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,42,43,43,43,43,43,43,43,43,43,43,86,86,86,86,86,86,86,86,86,86,14,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,43,43,43,43,43,43,43,43,43,43,43,85,86,86,86,86,86,86,86,86,86,86,14,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,6,39,81,111,119,0,0,0,0,0,0,0,0,0,0,124,0,0,127,0,0,0,0,0,0,0,0,131,142,146,151,0,170,0,0,0,0,0,0,0,0,0,0,180,196,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,201,0,0,0,219,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,222,0,0,0,0,225,0,0,0,0,0,0,0,228,0,0,0,0,0,0,0,0,0,0,0,231,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,234,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,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,237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,26,0,0,0,148,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,224,41,0,0,0,0,0,0,0,139,59,4,110,97,109,101,0,17,16,116,114,101,101,45,115,105,116,116,101,114,46,119,97,115,109,1,154,56,159,2,0,24,116,114,101,101,95,115,105,116,116,101,114,95,108,111,103,95,99,97,108,108,98,97,99,107,1,26,116,114,101,101,95,115,105,116,116,101,114,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,2,29,116,114,101,101,95,115,105,116,116,101,114,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,3,35,116,114,101,101,95,115,105,116,116,101,114,95,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,4,15,95,95,119,97,115,105,95,102,100,95,99,108,111,115,101,5,15,95,95,119,97,115,105,95,102,100,95,119,114,105,116,101,6,9,95,97,98,111,114,116,95,106,115,7,21,95,95,119,97,115,105,95,99,108,111,99,107,95,116,105,109,101,95,103,101,116,8,14,95,95,119,97,115,105,95,102,100,95,115,101,101,107,9,22,101,109,115,99,114,105,112,116,101,110,95,114,101,115,105,122,101,95,104,101,97,112,10,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,11,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,12,12,95,95,119,97,115,109,95,115,116,97,114,116,13,17,116,115,95,109,97,108,108,111,99,95,100,101,102,97,117,108,116,14,17,116,115,95,99,97,108,108,111,99,95,100,101,102,97,117,108,116,15,18,116,115,95,114,101,97,108,108,111,99,95,100,101,102,97,117,108,116,16,33,116,115,95,114,97,110,103,101,95,97,114,114,97,121,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,17,16,105,116,101,114,97,116,111,114,95,100,101,115,99,101,110,100,18,16,105,116,101,114,97,116,111,114,95,97,100,118,97,110,99,101,19,24,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,99,111,117,110,116,20,23,116,115,95,108,97,110,103,117,97,103,101,95,115,116,97,116,101,95,99,111,117,110,116,21,19,116,115,95,108,97,110,103,117,97,103,101,95,118,101,114,115,105,111,110,22,20,116,115,95,108,97,110,103,117,97,103,101,95,109,101,116,97,100,97,116,97,23,16,116,115,95,108,97,110,103,117,97,103,101,95,110,97,109,101,24,23,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,99,111,117,110,116,25,22,116,115,95,108,97,110,103,117,97,103,101,95,110,101,120,116,95,115,116,97,116,101,26,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,110,97,109,101,27,27,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,102,111,114,95,110,97,109,101,28,23,116,115,95,108,97,110,103,117,97,103,101,95,115,121,109,98,111,108,95,116,121,112,101,29,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,105,100,30,29,116,115,95,108,97,110,103,117,97,103,101,95,102,105,101,108,100,95,105,100,95,102,111,114,95,110,97,109,101,31,25,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,119,32,28,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,100,101,108,101,116,101,33,33,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,95,115,116,97,116,101,34,27,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,114,101,115,101,116,35,26,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,36,36,116,115,95,108,111,111,107,97,104,101,97,100,95,105,116,101,114,97,116,111,114,95,99,117,114,114,101,110,116,95,115,121,109,98,111,108,37,13,116,115,95,108,101,120,101,114,95,95,108,111,103,38,13,116,115,95,108,101,120,101,114,95,95,101,111,102,39,36,116,115,95,108,101,120,101,114,95,95,105,115,95,97,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,95,115,116,97,114,116,40,20,116,115,95,108,101,120,101,114,95,95,103,101,116,95,99,111,108,117,109,110,41,18,116,115,95,108,101,120,101,114,95,95,109,97,114,107,95,101,110,100,42,17,116,115,95,108,101,120,101,114,95,95,97,100,118,97,110,99,101,43,20,116,115,95,108,101,120,101,114,95,95,100,111,95,97,100,118,97,110,99,101,44,14,116,115,95,108,101,120,101,114,95,115,116,97,114,116,45,16,116,115,95,110,111,100,101,95,101,110,100,95,98,121,116,101,46,17,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,47,14,116,115,95,110,111,100,101,95,115,121,109,98,111,108,48,27,116,115,95,115,117,98,116,114,101,101,95,95,119,114,105,116,101,95,116,111,95,115,116,114,105,110,103,49,16,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,50,19,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,51,29,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,52,14,116,115,95,110,111,100,101,95,95,99,104,105,108,100,53,25,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,54,21,116,115,95,110,111,100,101,95,95,110,101,120,116,95,115,105,98,108,105,110,103,55,21,116,115,95,110,111,100,101,95,95,112,114,101,118,95,115,105,98,108,105,110,103,56,40,116,115,95,115,117,98,116,114,101,101,95,104,97,115,95,116,114,97,105,108,105,110,103,95,101,109,112,116,121,95,100,101,115,99,101,110,100,97,110,116,57,29,116,115,95,110,111,100,101,95,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,58,34,116,115,95,110,111,100,101,95,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,98,121,116,101,95,114,97,110,103,101,59,35,116,115,95,110,111,100,101,95,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,105,110,116,95,114,97,110,103,101,60,18,116,115,95,115,117,98,116,114,101,101,95,114,101,108,101,97,115,101,61,14,116,115,95,115,116,97,99,107,95,99,108,101,97,114,62,16,116,115,95,112,97,114,115,101,114,95,100,101,108,101,116,101,63,15,116,115,95,112,97,114,115,101,114,95,114,101,115,101,116,64,22,116,115,95,112,97,114,115,101,114,95,115,101,116,95,108,97,110,103,117,97,103,101,65,18,115,116,97,99,107,95,110,111,100,101,95,114,101,108,101,97,115,101,66,24,116,115,95,112,97,114,115,101,114,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,67,28,116,115,95,112,97,114,115,101,114,95,115,101,116,95,116,105,109,101,111,117,116,95,109,105,99,114,111,115,68,29,116,115,95,112,97,114,115,101,114,95,115,101,116,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,69,27,116,115,95,115,117,98,116,114,101,101,95,95,112,114,105,110,116,95,100,111,116,95,103,114,97,112,104,70,24,116,115,95,115,116,97,99,107,95,112,114,105,110,116,95,100,111,116,95,103,114,97,112,104,71,23,116,115,95,115,116,97,99,107,95,114,101,109,111,118,101,95,118,101,114,115,105,111,110,72,19,115,116,97,99,107,95,110,111,100,101,95,97,100,100,95,108,105,110,107,73,38,116,115,95,112,97,114,115,101,114,95,95,100,111,95,97,108,108,95,112,111,116,101,110,116,105,97,108,95,114,101,100,117,99,116,105,111,110,115,74,24,115,117,109,109,97,114,105,122,101,95,115,116,97,99,107,95,99,97,108,108,98,97,99,107,75,11,115,116,97,99,107,95,95,105,116,101,114,76,30,116,115,95,112,97,114,115,101,114,95,95,98,114,101,97,107,100,111,119,110,95,108,111,111,107,97,104,101,97,100,77,18,116,115,95,112,97,114,115,101,114,95,95,114,101,99,111,118,101,114,78,31,116,115,95,112,97,114,115,101,114,95,95,99,97,110,95,114,101,117,115,101,95,102,105,114,115,116,95,108,101,97,102,79,21,114,101,117,115,97,98,108,101,95,110,111,100,101,95,97,100,118,97,110,99,101,80,33,116,115,95,112,97,114,115,101,114,95,95,98,114,101,97,107,100,111,119,110,95,116,111,112,95,111,102,95,115,116,97,99,107,81,17,116,115,95,112,97,114,115,101,114,95,95,97,99,99,101,112,116,82,17,116,115,95,112,97,114,115,101,114,95,95,114,101,100,117,99,101,83,25,116,115,95,115,116,97,99,107,95,114,101,110,117,109,98,101,114,95,118,101,114,115,105,111,110,84,13,116,115,95,115,116,97,99,107,95,112,117,115,104,85,12,116,115,95,113,117,101,114,121,95,110,101,119,86,14,115,116,114,101,97,109,95,97,100,118,97,110,99,101,87,22,115,116,114,101,97,109,95,115,107,105,112,95,119,104,105,116,101,115,112,97,99,101,88,23,116,115,95,113,117,101,114,121,95,95,112,97,114,115,101,95,112,97,116,116,101,114,110,89,26,116,115,95,113,117,101,114,121,95,95,112,101,114,102,111,114,109,95,97,110,97,108,121,115,105,115,90,15,116,115,95,113,117,101,114,121,95,100,101,108,101,116,101,91,12,95,97,114,114,97,121,95,95,103,114,111,119,92,22,115,116,114,101,97,109,95,115,99,97,110,95,105,100,101,110,116,105,102,105,101,114,93,27,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,115,95,97,100,100,95,97,108,108,94,30,116,115,95,113,117,101,114,121,95,95,112,97,114,115,101,95,115,116,114,105,110,103,95,108,105,116,101,114,97,108,95,24,115,121,109,98,111,108,95,116,97,98,108,101,95,105,110,115,101,114,116,95,110,97,109,101,96,22,116,115,95,113,117,101,114,121,95,112,97,116,116,101,114,110,95,99,111,117,110,116,97,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,99,111,117,110,116,98,21,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,99,111,117,110,116,99,28,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,110,97,109,101,95,102,111,114,95,105,100,100,34,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,95,113,117,97,110,116,105,102,105,101,114,95,102,111,114,95,105,100,101,28,116,115,95,113,117,101,114,121,95,115,116,114,105,110,103,95,118,97,108,117,101,95,102,111,114,95,105,100,102,31,116,115,95,113,117,101,114,121,95,112,114,101,100,105,99,97,116,101,115,95,102,111,114,95,112,97,116,116,101,114,110,103,31,116,115,95,113,117,101,114,121,95,115,116,97,114,116,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,104,29,116,115,95,113,117,101,114,121,95,101,110,100,95,98,121,116,101,95,102,111,114,95,112,97,116,116,101,114,110,105,26,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,114,111,111,116,101,100,106,29,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,110,111,110,95,108,111,99,97,108,107,38,116,115,95,113,117,101,114,121,95,105,115,95,112,97,116,116,101,114,110,95,103,117,97,114,97,110,116,101,101,100,95,97,116,95,115,116,101,112,108,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,99,97,112,116,117,114,101,109,24,116,115,95,113,117,101,114,121,95,100,105,115,97,98,108,101,95,112,97,116,116,101,114,110,110,19,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,119,111,20,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,101,120,101,99,112,20,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,113,31,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,115,101,116,95,112,111,105,110,116,95,114,97,110,103,101,114,26,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,120,116,95,109,97,116,99,104,115,24,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,97,100,118,97,110,99,101,116,26,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,97,100,100,95,115,116,97,116,101,117,24,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,99,97,112,116,117,114,101,118,42,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,102,105,114,115,116,95,105,110,95,112,114,111,103,114,101,115,115,95,99,97,112,116,117,114,101,119,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,105,110,116,101,114,110,97,108,120,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,104,105,108,100,95,105,116,101,114,97,116,111,114,95,110,101,120,116,121,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,115,105,98,108,105,110,103,95,105,110,116,101,114,110,97,108,122,28,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,110,101,120,116,95,99,97,112,116,117,114,101,123,18,112,111,112,95,99,111,117,110,116,95,99,97,108,108,98,97,99,107,124,20,112,111,112,95,112,101,110,100,105,110,103,95,99,97,108,108,98,97,99,107,125,18,112,111,112,95,101,114,114,111,114,95,99,97,108,108,98,97,99,107,126,16,112,111,112,95,97,108,108,95,99,97,108,108,98,97,99,107,127,39,116,115,95,115,117,98,116,114,101,101,95,97,114,114,97,121,95,114,101,109,111,118,101,95,116,114,97,105,108,105,110,103,95,101,120,116,114,97,115,128,1,29,116,115,95,115,117,98,116,114,101,101,95,115,117,109,109,97,114,105,122,101,95,99,104,105,108,100,114,101,110,129,1,19,116,115,95,115,117,98,116,114,101,101,95,110,101,119,95,110,111,100,101,130,1,18,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,131,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,132,1,39,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,105,110,116,101,114,110,97,108,133,1,50,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,97,110,100,95,112,111,105,110,116,134,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,135,1,38,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,104,105,108,100,95,105,116,101,114,97,116,111,114,95,112,114,101,118,105,111,117,115,136,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,137,1,27,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,138,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,139,1,12,116,115,95,116,114,101,101,95,99,111,112,121,140,1,14,116,115,95,116,114,101,101,95,100,101,108,101,116,101,141,1,14,116,115,95,100,101,99,111,100,101,95,117,116,102,56,142,1,18,116,115,95,100,101,99,111,100,101,95,117,116,102,49,54,95,108,101,143,1,18,116,115,95,100,101,99,111,100,101,95,117,116,102,49,54,95,98,101,144,1,22,116,115,95,112,97,114,115,101,114,95,95,115,101,108,101,99,116,95,116,114,101,101,145,1,32,116,115,95,112,97,114,115,101,114,95,95,98,101,116,116,101,114,95,118,101,114,115,105,111,110,95,101,120,105,115,116,115,146,1,33,97,110,97,108,121,115,105,115,95,115,116,97,116,101,95,115,101,116,95,95,105,110,115,101,114,116,95,115,111,114,116,101,100,147,1,35,116,115,95,113,117,101,114,121,95,99,117,114,115,111,114,95,95,112,114,101,112,97,114,101,95,116,111,95,99,97,112,116,117,114,101,148,1,7,116,115,95,105,110,105,116,149,1,18,116,115,95,112,97,114,115,101,114,95,110,101,119,95,119,97,115,109,150,1,28,116,115,95,112,97,114,115,101,114,95,101,110,97,98,108,101,95,108,111,103,103,101,114,95,119,97,115,109,151,1,17,99,97,108,108,95,108,111,103,95,99,97,108,108,98,97,99,107,152,1,20,116,115,95,112,97,114,115,101,114,95,112,97,114,115,101,95,119,97,115,109,153,1,19,99,97,108,108,95,112,97,114,115,101,95,99,97,108,108,98,97,99,107,154,1,17,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,155,1,30,116,115,95,112,97,114,115,101,114,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,156,1,30,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,157,1,32,116,115,95,108,97,110,103,117,97,103,101,95,116,121,112,101,95,105,115,95,118,105,115,105,98,108,101,95,119,97,115,109,158,1,27,116,115,95,108,97,110,103,117,97,103,101,95,115,117,112,101,114,116,121,112,101,115,95,119,97,115,109,159,1,25,116,115,95,108,97,110,103,117,97,103,101,95,115,117,98,116,121,112,101,115,95,119,97,115,109,160,1,22,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,97,115,109,161,1,34,116,115,95,116,114,101,101,95,114,111,111,116,95,110,111,100,101,95,119,105,116,104,95,111,102,102,115,101,116,95,119,97,115,109,162,1,17,116,115,95,116,114,101,101,95,101,100,105,116,95,119,97,115,109,163,1,28,116,115,95,116,114,101,101,95,105,110,99,108,117,100,101,100,95,114,97,110,103,101,115,95,119,97,115,109,164,1,31,116,115,95,116,114,101,101,95,103,101,116,95,99,104,97,110,103,101,100,95,114,97,110,103,101,115,95,119,97,115,109,165,1,23,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,110,101,119,95,119,97,115,109,166,1,24,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,111,112,121,95,119,97,115,109,167,1,26,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,100,101,108,101,116,101,95,119,97,115,109,168,1,25,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,119,97,115,109,169,1,28,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,114,101,115,101,116,95,116,111,95,119,97,115,109,170,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,119,97,115,109,171,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,108,97,115,116,95,99,104,105,108,100,95,119,97,115,109,172,1,46,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,173,1,49,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,174,1,37,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,175,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,114,101,118,105,111,117,115,95,115,105,98,108,105,110,103,95,119,97,115,109,176,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,177,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,103,111,116,111,95,112,97,114,101,110,116,95,119,97,115,109,178,1,40,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,116,121,112,101,95,105,100,95,119,97,115,109,179,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,115,116,97,116,101,95,105,100,95,119,97,115,109,180,1,41,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,181,1,43,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,182,1,35,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,105,100,95,119,97,115,109,183,1,34,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,112,111,115,105,116,105,111,110,95,119,97,115,109,184,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,112,111,115,105,116,105,111,110,95,119,97,115,109,185,1,31,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,186,1,29,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,187,1,36,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,102,105,101,108,100,95,105,100,95,119,97,115,109,188,1,33,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,112,116,104,95,119,97,115,109,189,1,44,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,100,101,115,99,101,110,100,97,110,116,95,105,110,100,101,120,95,119,97,115,109,190,1,32,116,115,95,116,114,101,101,95,99,117,114,115,111,114,95,99,117,114,114,101,110,116,95,110,111,100,101,95,119,97,115,109,191,1,19,116,115,95,110,111,100,101,95,115,121,109,98,111,108,95,119,97,115,109,192,1,33,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,99,104,105,108,100,95,119,97,115,109,193,1,39,116,115,95,110,111,100,101,95,102,105,101,108,100,95,110,97,109,101,95,102,111,114,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,194,1,33,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,195,1,33,116,115,95,110,111,100,101,95,102,105,114,115,116,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,196,1,39,116,115,95,110,111,100,101,95,102,105,114,115,116,95,110,97,109,101,100,95,99,104,105,108,100,95,102,111,114,95,98,121,116,101,95,119,97,115,109,197,1,27,116,115,95,110,111,100,101,95,103,114,97,109,109,97,114,95,115,121,109,98,111,108,95,119,97,115,109,198,1,24,116,115,95,110,111,100,101,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,199,1,30,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,99,111,117,110,116,95,119,97,115,109,200,1,18,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,97,115,109,201,1,24,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,95,119,97,115,109,202,1,30,116,115,95,110,111,100,101,95,99,104,105,108,100,95,98,121,95,102,105,101,108,100,95,105,100,95,119,97,115,109,203,1,25,116,115,95,110,111,100,101,95,110,101,120,116,95,115,105,98,108,105,110,103,95,119,97,115,109,204,1,25,116,115,95,110,111,100,101,95,112,114,101,118,95,115,105,98,108,105,110,103,95,119,97,115,109,205,1,31,116,115,95,110,111,100,101,95,110,101,120,116,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,206,1,31,116,115,95,110,111,100,101,95,112,114,101,118,95,110,97,109,101,100,95,115,105,98,108,105,110,103,95,119,97,115,109,207,1,29,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,99,111,117,110,116,95,119,97,115,109,208,1,19,116,115,95,110,111,100,101,95,112,97,114,101,110,116,95,119,97,115,109,209,1,34,116,115,95,110,111,100,101,95,99,104,105,108,100,95,119,105,116,104,95,100,101,115,99,101,110,100,97,110,116,95,119,97,115,109,210,1,33,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,211,1,39,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,105,110,100,101,120,95,119,97,115,109,212,1,36,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,213,1,42,116,115,95,110,111,100,101,95,110,97,109,101,100,95,100,101,115,99,101,110,100,97,110,116,95,102,111,114,95,112,111,115,105,116,105,111,110,95,119,97,115,109,214,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,112,111,105,110,116,95,119,97,115,109,215,1,22,116,115,95,110,111,100,101,95,101,110,100,95,112,111,105,110,116,95,119,97,115,109,216,1,24,116,115,95,110,111,100,101,95,115,116,97,114,116,95,105,110,100,101,120,95,119,97,115,109,217,1,22,116,115,95,110,111,100,101,95,101,110,100,95,105,110,100,101,120,95,119,97,115,109,218,1,22,116,115,95,110,111,100,101,95,116,111,95,115,116,114,105,110,103,95,119,97,115,109,219,1,21,116,115,95,110,111,100,101,95,99,104,105,108,100,114,101,110,95,119,97,115,109,220,1,27,116,115,95,110,111,100,101,95,110,97,109,101,100,95,99,104,105,108,100,114,101,110,95,119,97,115,109,221,1,32,116,115,95,110,111,100,101,95,100,101,115,99,101,110,100,97,110,116,115,95,111,102,95,116,121,112,101,95,119,97,115,109,222,1,21,116,115,95,110,111,100,101,95,105,115,95,110,97,109,101,100,95,119,97,115,109,223,1,24,116,115,95,110,111,100,101,95,104,97,115,95,99,104,97,110,103,101,115,95,119,97,115,109,224,1,22,116,115,95,110,111,100,101,95,104,97,115,95,101,114,114,111,114,95,119,97,115,109,225,1,21,116,115,95,110,111,100,101,95,105,115,95,101,114,114,111,114,95,119,97,115,109,226,1,23,116,115,95,110,111,100,101,95,105,115,95,109,105,115,115,105,110,103,95,119,97,115,109,227,1,21,116,115,95,110,111,100,101,95,105,115,95,101,120,116,114,97,95,119,97,115,109,228,1,24,116,115,95,110,111,100,101,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,229,1,29,116,115,95,110,111,100,101,95,110,101,120,116,95,112,97,114,115,101,95,115,116,97,116,101,95,119,97,115,109,230,1,21,116,115,95,113,117,101,114,121,95,109,97,116,99,104,101,115,95,119,97,115,109,231,1,23,113,117,101,114,121,95,112,114,111,103,114,101,115,115,95,99,97,108,108,98,97,99,107,232,1,22,116,115,95,113,117,101,114,121,95,99,97,112,116,117,114,101,115,95,119,97,115,109,233,1,13,95,95,115,116,100,105,111,95,99,108,111,115,101,234,1,12,95,95,115,116,100,105,111,95,115,101,101,107,235,1,13,95,95,115,116,100,105,111,95,119,114,105,116,101,236,1,5,97,98,111,114,116,237,1,15,95,95,99,108,111,99,107,95,103,101,116,116,105,109,101,238,1,8,95,95,109,101,109,115,101,116,239,1,9,95,95,116,111,119,114,105,116,101,240,1,10,95,95,111,118,101,114,102,108,111,119,241,1,7,100,111,95,112,117,116,99,242,1,8,95,95,109,101,109,99,112,121,243,1,9,95,95,102,119,114,105,116,101,120,244,1,6,102,119,114,105,116,101,245,1,8,105,115,119,97,108,110,117,109,246,1,8,105,115,119,97,108,112,104,97,247,1,8,105,115,119,115,112,97,99,101,248,1,6,109,101,109,99,109,112,249,1,8,115,110,112,114,105,110,116,102,250,1,6,115,116,114,108,101,110,251,1,7,115,116,114,110,99,109,112,252,1,6,109,101,109,99,104,114,253,1,5,102,114,101,120,112,254,1,11,112,114,105,110,116,102,95,99,111,114,101,255,1,3,111,117,116,128,2,6,103,101,116,105,110,116,129,2,7,112,111,112,95,97,114,103,130,2,5,102,109,116,95,117,131,2,3,112,97,100,132,2,6,102,109,116,95,102,112,133,2,19,112,111,112,95,97,114,103,95,108,111,110,103,95,100,111,117,98,108,101,134,2,9,118,115,110,112,114,105,110,116,102,135,2,8,115,110,95,119,114,105,116,101,136,2,6,119,99,116,111,109,98,137,2,8,100,108,109,97,108,108,111,99,138,2,6,100,108,102,114,101,101,139,2,9,100,108,114,101,97,108,108,111,99,140,2,13,100,105,115,112,111,115,101,95,99,104,117,110,107,141,2,8,100,108,99,97,108,108,111,99,142,2,4,115,98,114,107,143,2,8,115,101,116,84,104,114,101,119,144,2,8,116,111,119,108,111,119,101,114,145,2,7,99,97,115,101,109,97,112,146,2,8,116,111,119,117,112,112,101,114,147,2,8,105,115,119,100,105,103,105,116,148,2,25,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,114,101,115,116,111,114,101,149,2,23,95,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,97,108,108,111,99,150,2,28,101,109,115,99,114,105,112,116,101,110,95,115,116,97,99,107,95,103,101,116,95,99,117,114,114,101,110,116,151,2,8,105,115,119,108,111,119,101,114,152,2,8,105,115,119,98,108,97,110,107,153,2,7,115,116,114,110,99,97,116,154,2,8,105,115,119,117,112,112,101,114,155,2,7,109,101,109,109,111,118,101,156,2,7,115,116,114,110,99,112,121,157,2,9,105,115,119,120,100,105,103,105,116,158,2,6,115,116,114,99,109,112,7,201,2,12,0,15,95,95,115,116,97,99,107,95,112,111,105,110,116,101,114,1,13,95,95,109,101,109,111,114,121,95,98,97,115,101,2,12,95,95,116,97,98,108,101,95,98,97,115,101,3,11,95,95,104,101,97,112,95,98,97,115,101,4,36,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,114,101,97,108,108,111,99,5,35,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,109,97,108,108,111,99,6,33,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,102,114,101,101,7,35,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,116,115,95,99,117,114,114,101,110,116,95,99,97,108,108,111,99,8,24,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,115,116,100,101,114,114,9,33,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,84,82,65,78,83,70,69,82,95,66,85,70,70,69,82,10,27,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,95,95,84,72,82,69,87,95,95,11,30,71,79,84,46,100,97,116,97,46,105,110,116,101,114,110,97,108,46,95,95,116,104,114,101,119,86,97,108,117,101,9,8,1,0,5,46,100,97,116,97,0,39,16,115,111,117,114,99,101,77,97,112,112,105,110,103,85,82,76,21,46,116,114,101,101,45,115,105,116,116,101,114,46,119,97,115,109,46,109,97,112]),treeSitterJson=new Uint8Array([0,97,115,109,1,0,0,0,0,16,8,100,121,108,105,110,107,46,48,1,5,240,22,4,1,0,1,28,6,96,1,127,0,96,0,0,96,0,1,127,96,2,127,127,1,127,96,1,127,1,127,96,2,127,127,0,2,90,4,3,101,110,118,13,95,95,109,101,109,111,114,121,95,98,97,115,101,3,127,0,3,101,110,118,12,95,95,116,97,98,108,101,95,98,97,115,101,3,127,0,3,101,110,118,6,109,101,109,111,114,121,2,0,1,3,101,110,118,25,95,95,105,110,100,105,114,101,99,116,95,102,117,110,99,116,105,111,110,95,116,97,98,108,101,1,112,0,1,3,5,4,1,1,2,3,7,67,3,17,95,95,119,97,115,109,95,99,97,108,108,95,99,116,111,114,115,0,0,24,95,95,119,97,115,109,95,97,112,112,108,121,95,100,97,116,97,95,114,101,108,111,99,115,0,1,16,116,114,101,101,95,115,105,116,116,101,114,95,106,115,111,110,0,2,9,7,1,0,35,1,11,1,3,10,246,18,4,3,0,1,11,240,4,1,1,127,35,0,65,152,21,106,35,0,65,176,8,106,54,2,0,35,0,65,156,21,106,35,0,54,2,0,35,0,65,160,21,106,35,0,65,208,5,106,54,2,0,35,0,65,164,21,106,35,0,65,144,11,106,54,2,0,35,0,65,168,21,106,35,0,65,128,22,106,34,0,54,2,0,35,0,65,172,21,106,35,0,65,228,22,106,54,2,0,35,0,65,176,21,106,35,0,65,180,6,106,54,2,0,35,0,65,180,21,106,35,0,65,188,6,106,54,2,0,35,0,65,184,21,106,35,0,65,208,6,106,54,2,0,35,0,65,188,21,106,35,0,65,160,7,106,54,2,0,35,0,65,192,21,106,35,0,65,210,7,106,54,2,0,35,0,65,196,21,106,35,0,65,224,7,106,54,2,0,35,0,65,200,21,106,35,0,65,192,18,106,54,2,0,35,0,65,204,21,106,35,1,54,2,0,35,0,65,244,21,106,35,0,65,240,7,106,54,2,0,32,0,35,0,65,128,18,106,54,2,0,35,0,65,132,22,106,35,0,65,146,17,106,54,2,0,35,0,65,136,22,106,35,0,65,184,18,106,54,2,0,35,0,65,140,22,106,35,0,65,144,17,106,54,2,0,35,0,65,144,22,106,35,0,65,136,18,106,54,2,0,35,0,65,148,22,106,35,0,65,134,18,106,54,2,0,35,0,65,152,22,106,35,0,65,132,18,106,54,2,0,35,0,65,156,22,106,35,0,65,186,18,106,54,2,0,35,0,65,160,22,106,35,0,65,159,17,106,54,2,0,35,0,65,164,22,106,35,0,65,240,17,106,54,2,0,35,0,65,168,22,106,35,0,65,203,17,106,54,2,0,35,0,65,172,22,106,35,0,65,222,17,106,54,2,0,35,0,65,176,22,106,35,0,65,234,17,106,54,2,0,35,0,65,180,22,106,35,0,65,210,17,106,54,2,0,35,0,65,184,22,106,35,0,65,183,17,106,54,2,0,35,0,65,188,22,106,35,0,65,174,17,106,54,2,0,35,0,65,192,22,106,35,0,65,227,17,106,54,2,0,35,0,65,196,22,106,35,0,65,191,17,106,54,2,0,35,0,65,200,22,106,35,0,65,198,17,106,54,2,0,35,0,65,204,22,106,35,0,65,152,17,106,54,2,0,35,0,65,208,22,106,35,0,65,215,17,106,54,2,0,35,0,65,212,22,106,35,0,65,158,17,106,54,2,0,35,0,65,216,22,106,35,0,65,152,18,106,54,2,0,35,0,65,220,22,106,35,0,65,169,18,106,54,2,0,35,0,65,224,22,106,35,0,65,138,18,106,54,2,0,35,0,65,232,22,106,35,0,65,148,17,106,54,2,0,35,0,65,236,22,106,35,0,65,228,17,106,54,2,0,11,8,0,35,0,65,240,20,106,11,244,13,1,6,127,3,64,32,0,40,2,0,33,2,65,2,33,5,32,0,32,0,40,2,24,17,4,0,33,7,65,0,33,3,65,0,33,6,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,32,1,65,255,255,3,113,14,44,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,46,47,48,21,22,23,24,25,26,27,28,29,35,36,37,38,39,40,41,42,43,44,45,61,11,32,7,13,66,3,64,32,2,32,3,65,1,116,34,1,35,0,65,192,19,106,106,47,1,0,70,13,50,32,3,65,26,73,33,1,32,3,65,2,106,33,3,32,1,13,0,11,65,1,33,3,65,20,33,1,32,2,65,32,70,32,2,65,9,107,65,5,73,114,13,67,32,2,65,49,107,65,9,79,13,59,12,64,11,2,64,2,64,2,64,2,64,32,2,65,31,76,4,64,65,1,33,3,65,2,33,1,32,4,33,6,32,2,14,14,64,1,1,1,1,1,1,1,1,36,71,36,36,36,1,11,2,64,32,2,65,32,107,14,3,36,1,3,0,11,32,2,65,47,70,13,3,32,2,65,220,0,70,13,1,11,65,0,33,3,12,33,11,65,18,33,1,12,68,11,65,28,33,1,12,67,11,12,28,11,2,64,2,64,32,2,65,9,107,65,5,73,13,0,65,28,33,1,32,4,33,6,32,2,65,32,107,14,3,0,60,67,1,11,65,1,33,3,65,2,33,1,12,66,11,32,2,65,47,71,13,57,65,3,33,1,12,65,11,32,2,65,42,70,13,60,32,2,65,47,71,13,56,12,59,11,32,2,65,42,70,13,57,32,2,65,47,70,13,46,12,54,11,32,2,65,42,70,13,56,12,53,11,32,2,65,45,70,4,64,65,19,33,1,12,62,11,32,2,65,48,107,65,10,79,13,53,12,51,11,32,2,65,48,70,4,64,65,35,33,1,12,61,11,32,2,65,49,107,65,9,79,13,52,12,58,11,32,2,65,225,0,71,13,51,65,11,33,1,12,59,11,32,2,65,229,0,71,13,50,65,39,33,1,12,58,11,32,2,65,229,0,71,13,49,65,40,33,1,12,57,11,32,2,65,236,0,71,13,48,65,15,33,1,12,56,11,32,2,65,236,0,71,13,47,65,41,33,1,12,55,11,32,2,65,236,0,71,13,46,65,12,33,1,12,54,11,32,2,65,242,0,71,13,45,65,16,33,1,12,53,11,32,2,65,243,0,71,13,44,65,10,33,1,12,52,11,32,2,65,245,0,71,13,43,65,9,33,1,12,51,11,32,2,65,245,0,71,13,42,65,13,33,1,12,50,11,3,64,32,3,65,1,116,34,1,35,0,65,128,20,106,106,47,1,0,32,2,71,4,64,32,3,65,16,73,33,1,32,3,65,2,106,33,3,32,1,13,1,12,43,11,11,35,0,32,1,106,65,130,20,106,47,1,0,33,1,65,0,33,3,12,49,11,32,2,65,48,107,65,10,79,13,40,12,37,11,32,7,13,46,3,64,32,2,32,3,65,1,116,34,1,35,0,65,176,20,106,106,47,1,0,70,13,32,32,3,65,24,73,33,1,32,3,65,2,106,33,3,32,1,13,0,11,65,1,33,3,65,20,33,1,32,2,65,32,70,32,2,65,9,107,65,5,73,114,13,47,32,2,65,49,107,65,9,73,13,44,12,39,11,65,3,33,5,12,26,11,65,4,33,5,12,25,11,65,5,33,5,12,24,11,65,6,33,5,12,23,11,65,7,33,5,12,22,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,23,32,2,65,34,71,13,6,12,23,11,32,2,65,42,70,13,29,32,2,65,47,70,32,2,65,220,0,71,114,13,5,12,22,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,22,32,2,65,34,71,13,29,12,22,11,32,2,65,42,70,13,27,32,2,65,47,70,13,4,32,2,65,220,0,71,13,28,12,21,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,41,76,4,64,32,2,69,32,2,65,10,70,114,13,21,32,2,65,34,71,13,28,12,21,11,32,2,65,42,70,13,26,32,2,65,220,0,71,13,27,12,20,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,31,76,4,64,32,2,65,13,75,13,3,65,1,32,2,116,34,1,65,128,244,0,113,13,5,32,1,65,129,8,113,69,13,3,12,20,11,65,1,33,6,2,64,32,2,65,32,107,14,3,5,3,32,0,11,32,2,65,47,71,13,1,11,65,29,33,1,12,37,11,32,2,65,220,0,70,13,17,11,65,33,33,1,12,35,11,65,0,33,3,11,65,32,33,1,12,33,11,32,0,65,8,59,1,4,32,0,32,0,40,2,12,17,0,0,65,33,33,1,65,1,33,4,32,2,65,33,76,4,64,32,2,69,13,14,65,1,33,6,32,2,65,10,71,13,33,12,26,11,32,2,65,34,70,13,13,65,1,33,6,32,2,65,220,0,71,13,32,12,25,11,65,9,33,5,12,11,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,32,2,65,46,70,4,64,65,1,33,4,12,16,11,65,1,33,4,32,2,65,95,113,65,197,0,71,13,11,12,16,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,46,70,13,14,32,2,65,95,113,65,197,0,70,13,15,32,2,65,48,107,65,10,73,13,27,12,10,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,32,2,65,95,113,65,197,0,70,4,64,65,1,33,4,12,15,11,65,1,33,4,32,2,65,48,107,65,10,73,13,13,12,9,11,32,0,65,10,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,65,48,107,65,10,73,13,16,12,8,11,65,11,33,5,12,6,11,65,12,33,5,12,5,11,65,13,33,5,12,4,11,65,14,33,5,12,3,11,32,0,65,14,59,1,4,32,0,32,0,40,2,12,17,0,0,65,1,33,4,32,2,69,32,2,65,10,70,114,13,3,12,17,11,65,0,33,5,12,1,11,65,1,33,5,11,32,0,32,5,59,1,4,32,0,32,0,40,2,12,17,0,0,11,65,1,33,6,12,11,11,35,0,32,1,106,65,194,19,106,47,1,0,33,1,65,0,33,3,12,17,11,65,42,33,1,12,16,11,35,0,32,1,106,65,178,20,106,47,1,0,33,1,65,0,33,3,12,15,11,65,37,33,1,12,14,11,65,6,33,1,12,13,11,65,30,33,1,12,12,11,65,31,33,1,12,11,11,11,65,38,33,1,12,9,11,32,2,13,4,11,32,4,33,6,11,32,6,65,1,113,15,11,65,4,33,1,12,5,11,65,43,33,1,12,4,11,65,5,33,1,12,3,11,65,0,33,3,11,65,36,33,1,12,1,11,65,21,33,1,11,32,0,32,3,32,0,40,2,8,17,5,0,12,0,11,0,11,11,247,22,1,0,35,0,11,240,22,2,0,3,0,1,0,14,0,37,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,39,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,41,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,7,0,3,0,1,0,14,0,7,0,1,0,1,0,9,0,1,0,5,0,11,0,1,0,7,0,29,0,1,0,16,0,8,0,3,0,17,0,19,0,20,0,13,0,4,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,43,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,45,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,7,0,3,0,1,0,14,0,7,0,1,0,1,0,9,0,1,0,5,0,11,0,1,0,7,0,28,0,1,0,16,0,8,0,3,0,17,0,19,0,20,0,13,0,4,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,47,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,2,0,3,0,1,0,14,0,49,0,11,0,0,0,1,0,2,0,3,0,5,0,6,0,7,0,10,0,11,0,12,0,13,0,5,0,3,0,1,0,14,0,11,0,1,0,7,0,51,0,1,0,3,0,20,0,1,0,18,0,31,0,1,0,20,0,4,0,53,0,1,0,7,0,57,0,1,0,14,0,18,0,1,0,21,0,55,0,2,0,8,0,9,0,4,0,57,0,1,0,14,0,59,0,1,0,7,0,19,0,1,0,21,0,61,0,2,0,8,0,9,0,4,0,57,0,1,0,14,0,63,0,1,0,7,0,19,0,1,0,21,0,65,0,2,0,8,0,9,0,4,0,3,0,1,0,14,0,68,0,1,0,2,0,70,0,1,0,3,0,22,0,1,0,23,0,4,0,3,0,1,0,14,0,72,0,1,0,2,0,74,0,1,0,6,0,24,0,1,0,24,0,4,0,3,0,1,0,14,0,68,0,1,0,2,0,76,0,1,0,3,0,25,0,1,0,23,0,4,0,3,0,1,0,14,0,11,0,1,0,7,0,27,0,1,0,18,0,31,0,1,0,20,0,4,0,3,0,1,0,14,0,72,0,1,0,2,0,78,0,1,0,6,0,26,0,1,0,24,0,4,0,3,0,1,0,14,0,80,0,1,0,2,0,83,0,1,0,3,0,25,0,1,0,23,0,4,0,3,0,1,0,14,0,85,0,1,0,2,0,88,0,1,0,6,0,26,0,1,0,24,0,2,0,3,0,1,0,14,0,83,0,2,0,2,0,3,0,2,0,3,0,1,0,14,0,90,0,2,0,2,0,3,0,2,0,3,0,1,0,14,0,88,0,2,0,2,0,6,0,2,0,3,0,1,0,14,0,92,0,1,0,0,0,2,0,3,0,1,0,14,0,94,0,1,0,4,0,0,0,0,0,17,0,0,0,34,0,0,0,51,0,0,0,78,0,0,0,95,0,0,0,112,0,0,0,139,0,0,0,156,0,0,0,173,0,0,0,189,0,0,0,203,0,0,0,217,0,0,0,231,0,0,0,244,0,0,0,1,1,0,0,14,1,0,0,27,1,0,0,40,1,0,0,53,1,0,0,66,1,0,0,74,1,0,0,82,1,0,0,90,1,0,0,97,1,0,0,0,0,0,0,0,0,2,0,1,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,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,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,30,0,2,0,8,0,0,0,8,0,8,0,0,0,2,0,0,0,0,0,15,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,0,0,3,0,8,0,0,0,8,0,8,0,0,0,3,0,0,0,0,0,17,0,19,0,0,0,0,0,0,0,22,0,0,0,25,0,0,0,0,0,28,0,28,0,28,0,28,0,3,0,0,0,3,0,8,0,0,0,8,0,8,0,0,0,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,31,0,11,0,0,0,0,0,13,0,13,0,13,0,13,0,3,0,0,0,21,0,8,0,0,0,8,0,8,0,0,0,0,0,0,0,0,0,33,0,33,0,33,0,33,0,33,0,33,0,33,0,33,0,0,0,0,0,33,0,33,0,33,0,33,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,0,0,0,0,35,0,35,0,35,0,35,0,3,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,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,15,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,16,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,17,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,8,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,15,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,16,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,4,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,17,0,0,1,0,0,2,1,0,0,0,0,0,0,1,2,22,0,0,0,0,0,0,0,8,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,9,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,20,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,20,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,16,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,19,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,4,17,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,19,0,0,0,0,0,1,1,0,0,0,0,0,0,1,4,19,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,18,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,19,0,0,0,0,0,1,0,0,0,0,0,0,0,1,2,21,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,21,0,0,0,0,0,0,0,19,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,23,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,11,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,10,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,14,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,12,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,15,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,23,0,0,0,0,0,0,0,23,0,0,1,0,0,1,1,0,0,0,0,0,0,1,2,23,0,0,0,0,0,2,1,0,0,0,0,0,0,1,2,24,0,0,0,0,0,0,0,10,0,0,1,0,0,1,1,0,0,0,0,0,0,1,2,24,0,0,0,0,0,1,1,0,0,0,0,0,0,1,3,18,0,0,0,1,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,13,0,0,0,0,0,125,0,123,0,107,101,121,0,97,114,114,97,121,0,95,115,116,114,105,110,103,95,99,111,110,116,101,110,116,0,100,111,99,117,109,101,110,116,0,99,111,109,109,101,110,116,0,111,98,106,101,99,116,0,112,97,105,114,0,110,117,109,98,101,114,0,110,117,108,108,0,115,116,114,105,110,103,0,116,114,117,101,0,95,118,97,108,117,101,0,102,97,108,115,101,0,101,115,99,97,112,101,95,115,101,113,117,101,110,99,101,0,101,110,100,0,93,0,91,0,58,0,97,114,114,97,121,95,114,101,112,101,97,116,49,0,100,111,99,117,109,101,110,116,95,114,101,112,101,97,116,49,0,111,98,106,101,99,116,95,114,101,112,101,97,116,49,0,44,0,34,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,1,0,0,0,1,0,0,0,1,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,34,0,28,0,44,0,23,0,45,0,7,0,47,0,3,0,48,0,35,0,58,0,25,0,91,0,26,0,92,0,18,0,93,0,27,0,102,0,8,0,110,0,17,0,116,0,14,0,123,0,22,0,125,0,24,0,0,0,0,0,0,0,0,0,34,0,34,0,47,0,34,0,92,0,34,0,98,0,34,0,102,0,34,0,110,0,34,0,114,0,34,0,116,0,34,0,117,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,28,0,44,0,23,0,45,0,7,0,47,0,3,0,48,0,35,0,58,0,25,0,91,0,26,0,93,0,27,0,102,0,8,0,110,0,17,0,116,0,14,0,123,0,22,0,125,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,25,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,32,0,0,0,7,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,48,4,0,0,0,0,0,0,208,2,0,0,144,5,0,0,0,11,0,0,100,11,0,0,52,3,0,0,60,3,0,0,80,3,0,0,160,3,0,0,210,3,0,0,224,3,0,0,64,9,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,240,3,0,0,0,0,0,0,0,0,0,0,0,9,0,0,146,8,0,0,56,9,0,0,144,8,0,0,8,9,0,0,6,9,0,0,4,9,0,0,58,9,0,0,159,8,0,0,240,8,0,0,203,8,0,0,222,8,0,0,234,8,0,0,210,8,0,0,183,8,0,0,174,8,0,0,227,8,0,0,191,8,0,0,198,8,0,0,152,8,0,0,215,8,0,0,158,8,0,0,24,9,0,0,41,9,0,0,10,9,0,0,0,0,0,0,148,8,0,0,228,8,0,0]);let parser=null,parserInitLock=null;const analyze=async e=>{if(null===parser&&null===parserInitLock)parserInitLock=tree_sitter.iX.init({wasmBinary:treeSitter}).then(()=>tree_sitter.TM.load(treeSitterJson)).then(e=>{const t=new tree_sitter.iX;return t.setLanguage(e),t}).finally(()=>{parserInitLock=null}),parser=await parserInitLock;else if(null===parser&&null!==parserInitLock)parser=await parserInitLock;else if(null===parser)throw new src_ApiDOMError("Error while initializing web-tree-sitter and loading tree-sitter-json grammar.");return parser.parse(e)},lexical_analysis=analyze;class AnnotationElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="annotation"}get code(){if(this.hasAttributesProperty("code"))return this.attributes.get("code")}set code(e){this.attributes.set("code",e)}}const Annotation=AnnotationElement,getCursorInfo=e=>({type:e.nodeType,startPosition:e.startPosition,endPosition:e.endPosition,startIndex:e.startIndex,endIndex:e.endIndex,text:e.nodeText,isNamed:e.nodeIsNamed,isMissing:e.nodeIsMissing,hasError:e.currentNode.hasError,fieldName:e.currentFieldName}),maybeAddSourceMap=(e,t,s)=>{s.sourceMap&&(t.startLine=e.startPosition.row,t.startCharacter=e.startPosition.column,t.startOffset=e.startIndex,t.endLine=e.endPosition.row,t.endCharacter=e.endPosition.column,t.endOffset=e.endIndex)},transform=(e,t,s)=>{const r=getCursorInfo(e);if(!r.isNamed&&r.isMissing){const e=r.type||r.text,t=new Annotation(`(Missing ${e})`);return t.classes.push("warning"),maybeAddSourceMap(r,t,s),s.annotations.push(t),null}const i=t[r.type];return i?i(e,s):null},transformChildren=(e,t,s)=>{const r=[];if(e.gotoFirstChild()){do{const i=transform(e,t,s);null!==i&&r.push(i)}while(e.gotoNextSibling());e.gotoParent()}return r},createTransformers=e=>({document(t,s){const r=getCursorInfo(t),i=new ParseResult;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);const o=i.findElements(isPrimitiveElement);o.length>0&&o[0].classes.push("result");for(const e of s.annotations)i.push(e);return s.annotations=[],i},object(t,s){const r=getCursorInfo(t),i=new primitives_ObjectElement;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);return i},array(t,s){const r=getCursorInfo(t),i=new primitives_ArrayElement;maybeAddSourceMap(r,i,s);const n=transformChildren(t,e,s);for(const e of n)i.push(e);return i},pair(t,s){const r=getCursorInfo(t);let i=null,n=null;if(t.gotoFirstChild()){do{const r=t.currentFieldName;"key"===r?i=transform(t,e,s):"value"===r?n=transform(t,e,s):"ERROR"===t.nodeType&&transform(t,e,s)}while(t.gotoNextSibling());t.gotoParent()}const o=new primitives_MemberElement(i??new primitives_StringElement(""),n??new primitives_StringElement(""));return maybeAddSourceMap(r,o,s),o},string(e,t){const s=getCursorInfo(e);let r;try{r=new primitives_StringElement(JSON.parse(s.text))}catch(e){r=new primitives_StringElement(s.text),e instanceof Error&&r.meta.set("jsonParse",{isError:!0,errorType:e.name,errorMessage:e.message})}return maybeAddSourceMap(s,r,t),r},number(e,t){const s=getCursorInfo(e),r=new primitives_NumberElement(Number(s.text));return maybeAddSourceMap(s,r,t),r},null(e,t){const s=getCursorInfo(e),r=new primitives_NullElement;return maybeAddSourceMap(s,r,t),r},true(e,t){const s=getCursorInfo(e),r=new primitives_BooleanElement(!0);return maybeAddSourceMap(s,r,t),r},false(e,t){const s=getCursorInfo(e),r=new primitives_BooleanElement(!1);return maybeAddSourceMap(s,r,t),r},ERROR(e,t){const s=getCursorInfo(e),r=!s.hasError?`(Unexpected ${s.text})`:`(Error ${s.text})`,i=new Annotation(r);return i.classes.push("error"),maybeAddSourceMap(s,i,t),t.annotations.push(i),null}}),syntactic_analysis_transformers={};Object.assign(syntactic_analysis_transformers,createTransformers(syntactic_analysis_transformers));const syntactic_analysis_analyze=(e,{sourceMap:t=!1}={})=>{const s=e.walk(),r={sourceMap:t,annotations:[]},i=transform(s,syntactic_analysis_transformers,r);if(null===i){const e=new ParseResult;for(const t of r.annotations)e.push(t);return e}return i},syntactic_analysis=syntactic_analysis_analyze,detectionRegExp=/(?<true>^\s*true\s*$)|(?<false>^\s*false\s*$)|(?<null>^\s*null\s*$)|(?<number>^\s*\d+\s*$)|(?<object>^\s*{\s*)|(?<array>^\s*\[\s*)|(?<string>^\s*"(((?=\\)\\(["\\/bfnrt]|u[0-9a-fA-F]{4}))|[^"\\\x00-\x1F\x7F])*"\s*$)/,tree_sitter_detect=async e=>{if(!detectionRegExp.test(e))return!1;let t=null;try{return t=await lexical_analysis(e),"ERROR"!==t.rootNode.type}catch{return!1}finally{t?.delete()}},tree_sitter_parse=async(e,{sourceMap:t=!1}={})=>{const s=await lexical_analysis(e);try{return syntactic_analysis(s,{sourceMap:t})}finally{s.delete()}},namespace=new src_Namespace,adapter_detectionRegExp=detectionRegExp,adapter_detect=async(e,{strict:t=!1}={})=>t?detect(e):tree_sitter_detect(e),adapter_parse=async(e,{sourceMap:t=!1,strict:s=!1}={})=>{if(s&&t)throw new src_ApiDOMError("Cannot use sourceMap with strict parsing. Strict parsing does not support source maps.");return s?native_parse(e):tree_sitter_parse(e,{sourceMap:t})};var mapObjIndexed=_curry2(function(e,t){return _arrayReduce(function(s,r){return s[r]=e(t[r],r,t),s},{},es_keys(t))});const es_mapObjIndexed=mapObjIndexed;var isNil=_curry1(function(e){return null==e});const es_isNil=isNil;var hasPath=_curry2(function(e,t){if(0===e.length||es_isNil(t))return!1;for(var s=t,r=0;r<e.length;){if(es_isNil(s)||!_has(e[r],s))return!1;s=s[e[r]],r+=1}return!0});const es_hasPath=hasPath;var has=_curry2(function(e,t){return es_hasPath([e],t)});const es_has=has;var propSatisfies=_curry3(function(e,t,s){return e(es_prop(t,s))});const es_propSatisfies=propSatisfies;function _path(e,t){for(var s=t,r=0;r<e.length;r+=1){if(null==s)return;var i=e[r];s=_isInteger(i)?_nth(i,s):s[i]}return s}var path=_curry2(_path);const es_path=path;function _pipe(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function _xArrayReduce(e,t,s){for(var r=0,i=s.length;r<i;){if((t=e["@@transducer/step"](t,s[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}var bind=_curry2(function(e,t){return _arity(e.length,function(){return e.apply(t,arguments)})});const es_bind=bind;function _xIterableReduce(e,t,s){for(var r=s.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=s.next()}return e["@@transducer/result"](t)}function _xMethodReduce(e,t,s,r){return e["@@transducer/result"](s[r](es_bind(e["@@transducer/step"],e),t))}var _xReduce=_createReduce(_xArrayReduce,_xMethodReduce,_xIterableReduce);const internal_xReduce=_xReduce;var XWrap=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function _xwrap(e){return new XWrap(e)}var reduce=_curry3(function(e,t,s){return internal_xReduce("function"==typeof e?_xwrap(e):e,t,s)});const es_reduce=reduce;function _checkForMethod(e,t){return function(){var s=arguments.length;if(0===s)return t();var r=arguments[s-1];return _isArray(r)||"function"!=typeof r[e]?t.apply(this,arguments):r[e].apply(r,Array.prototype.slice.call(arguments,0,s-1))}}var slice=_curry3(_checkForMethod("slice",function(e,t,s){return Array.prototype.slice.call(s,e,t)}));const es_slice=slice;var tail=_curry1(_checkForMethod("tail",es_slice(1,1/0)));const es_tail=tail;function pipe(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return _arity(arguments[0].length,es_reduce(_pipe,arguments[0],es_tail(arguments)))}var identical=function(e,t){switch(arguments.length){case 0:return identical;case 1:return function t(s){return 0===arguments.length?t:internal_objectIs(e,s)};default:return internal_objectIs(e,t)}};const es_identical=identical;function _indexOf(e,t,s){var r,i;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;s<e.length;){if(0===(i=e[s])&&1/i===r)return s;s+=1}return-1}if(t!=t){for(;s<e.length;){if("number"==typeof(i=e[s])&&i!=i)return s;s+=1}return-1}return e.indexOf(t,s);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,s);case"object":if(null===t)return e.indexOf(t,s)}for(;s<e.length;){if(es_equals(e[s],t))return s;s+=1}return-1}function _includes(e,t){return _indexOf(t,e,0)>=0}function _quote(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var pad=function(e){return(e<10?"0":"")+e},_toISOString="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+pad(e.getUTCMonth()+1)+"-"+pad(e.getUTCDate())+"T"+pad(e.getUTCHours())+":"+pad(e.getUTCMinutes())+":"+pad(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};const internal_toISOString=_toISOString;function _complement(e){return function(){return!e.apply(this,arguments)}}function _filter(e,t){for(var s=0,r=t.length,i=[];s<r;)e(t[s])&&(i[i.length]=t[s]),s+=1;return i}function _filterMap(e,t){for(var s=new Map,r=t.entries(),i=r.next();!i.done;)e(i.value[1])&&s.set(i.value[0],i.value[1]),i=r.next();return s}function _isMap(e){return"[object Map]"===Object.prototype.toString.call(e)}function _isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}var XFilter=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function _xfilter(e){return function(t){return new XFilter(e,t)}}var filter=_curry2(_dispatchable(["fantasy-land/filter","filter"],_xfilter,function(e,t){return _isObject(t)?_arrayReduce(function(s,r){return e(t[r])&&(s[r]=t[r]),s},{},es_keys(t)):_isMap(t)?_filterMap(e,t):_filter(e,t)}));const es_filter=filter;var reject=_curry2(function(e,t){return es_filter(_complement(e),t)});const es_reject=reject;function _toString(e,t){var s=function(s){var r=t.concat([e]);return _includes(s,r)?"<Circular>":_toString(s,r)},r=function(e,t){return _map(function(t){return _quote(t)+": "+s(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+_map(s,e).join(", ")+"))";case"[object Array]":return"["+_map(s,e).concat(r(e,es_reject(function(e){return/^\d+$/.test(e)},es_keys(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+s(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?s(NaN):_quote(internal_toISOString(e)))+")";case"[object Map]":return"new Map("+s(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+s(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+s(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+s(e.valueOf())+")":_quote(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var i=e.toString();if("[object Object]"!==i)return i}return"{"+r(e,es_keys(e)).join(", ")+"}"}}var toString_toString=_curry1(function(e){return _toString(e,[])});const es_toString=toString_toString;var pathSatisfies=_curry3(function(e,t,s){return e(_path(t,s))});const es_pathSatisfies=pathSatisfies;function _isFunction(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}var and=_curry2(function(e,t){return e&&t});const es_and=and;var both=_curry2(function(e,t){return _isFunction(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:es_lift(es_and)(e,t)});const es_both=both;var isNull_isNull=es_equals(null);const es_isNull=isNull_isNull;var isNotNull=es_complement(es_isNull);const es_isNotNull=isNotNull;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}var isOfTypeObject=function(e){return"object"===_typeof(e)};const internal_isOfTypeObject=isOfTypeObject;var isObjLike=es_curryN(1,es_both(es_isNotNull,internal_isOfTypeObject));const es_isObjLike=isObjLike;var max=_curry2(function(e,t){if(e===t)return t;function s(e,t){if(e>t!=t>e)return t>e?t:e}var r=s(e,t);if(void 0!==r)return r;var i=s(typeof e,typeof t);if(void 0!==i)return i===typeof e?e:t;var n=es_toString(e),o=s(n,es_toString(t));return void 0!==o&&o===n?e:t});const es_max=max;var pluck=_curry2(function(e,t){return es_map(es_prop(e),t)});const es_pluck=pluck;var anyPass=_curry1(function(e){return es_curryN(es_reduce(es_max,0,es_pluck("length",e)),function(){for(var t=0,s=e.length;t<s;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});const es_anyPass=anyPass;var isGeneratorFunction=es_curryN(1,pipe(es_type,es_identical("GeneratorFunction")));const es_isGeneratorFunction=isGeneratorFunction;var isAsyncFunction=es_curryN(1,pipe(es_type,es_identical("AsyncFunction")));const es_isAsyncFunction=isAsyncFunction;var isFunction=es_anyPass([pipe(es_type,es_identical("Function")),es_isGeneratorFunction,es_isAsyncFunction]);const es_isFunction=isFunction;var isPlainObj_isObject=pipe(es_type,es_identical("Object")),isObjectConstructor=pipe(es_toString,es_equals(es_toString(Object))),hasObjectConstructor=es_pathSatisfies(es_both(es_isFunction,isObjectConstructor),["constructor"]),isPlainObj=es_curryN(1,function(e){if(!es_isObjLike(e)||!isPlainObj_isObject(e))return!1;var t=Object.getPrototypeOf(e);return!!es_isNull(t)||hasObjectConstructor(t)});const es_isPlainObj=isPlainObj;var isString_isString=es_curryN(1,pipe(es_type,es_identical("String")));const es_isString=isString_isString;var curry=_curry1(function(e){return es_curryN(e.length,e)});const es_curry=curry;var invoker=_curry2(function(e,t){return es_curryN(e+1,function(){var s=arguments[e];if(null!=s&&_isFunction(s[t]))return s[t].apply(s,Array.prototype.slice.call(arguments,0,e));throw new TypeError(es_toString(s)+' does not have a method named "'+t+'"')})});const es_invoker=invoker;var split=es_invoker(1,"split");const es_split=split;var XDropWhile=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){if(this.f){if(this.f(t))return e;this.f=null}return this.xf["@@transducer/step"](e,t)},e}();function _xdropWhile(e){return function(t){return new XDropWhile(e,t)}}var dropWhile=_curry2(_dispatchable(["dropWhile"],_xdropWhile,function(e,t){for(var s=0,r=t.length;s<r&&e(t[s]);)s+=1;return es_slice(s,1/0,t)}));const es_dropWhile=dropWhile;var join=es_invoker(1,"join");const es_join=join;var flip=_curry1(function(e){return es_curryN(e.length,function(t,s){var r=Array.prototype.slice.call(arguments,0);return r[0]=s,r[1]=t,e.apply(this,r)})});const es_flip=flip;var includes=_curry2(_includes);const es_includes=includes;var included=es_flip(es_includes);const es_included=included;var trimCharsStart=es_curry(function(e,t){return pipe(es_split(""),es_dropWhile(es_included(e)),es_join(""))(t)});const es_trimCharsStart=trimCharsStart,specCache=new WeakMap,resolveSpecification=e=>{if(specCache.has(e))return specCache.get(e);const t={},s=(e,r,i)=>("string"==typeof e.element&&(t[e.element]=e.$visitor?[...i,"$visitor"]:i),es_mapObjIndexed((e,t)=>{const n=[...i,t];if(es_isPlainObj(e)&&es_has("$ref",e)&&es_propSatisfies(es_isString,"$ref",e)){const t=es_path(["$ref"],e),s=es_trimCharsStart("#/",t);return es_path(s.split("/"),r)}return es_isPlainObj(e)?s(e,r,n):e},e)),r=s(e,e,[]);return r.elementMap=t,specCache.set(e,r),r},parser_Parser=function(){const e=identifiers,t=utilities,s=this,r="parser.js: Parser(): ";s.ast=void 0,s.stats=void 0,s.trace=void 0,s.callbacks=[];let i,n,o,a,c,l,_,m=0,p=0,u=0,d=0,h=0,f=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};s.parse=(y,g,x,E)=>{const v=`${r}parse(): `;m=0,p=0,u=0,d=0,h=0,i=void 0,n=void 0,o=void 0,a=void 0,f.refresh(),c=void 0,l=void 0,_=void 0,a=t.stringToChars(x),i=y.rules,n=y.udts;const S=g.toLowerCase();let w;for(const e in i)if(i.hasOwnProperty(e)&&S===i[e].lower){w=i[e].index;break}if(void 0===w)throw new Error(`${v}start rule name '${startRule}' not recognized`);(()=>{const e=`${r}initializeCallbacks(): `;let t,o;for(c=[],l=[],t=0;t<i.length;t+=1)c[t]=void 0;for(t=0;t<n.length;t+=1)l[t]=void 0;const a=[];for(t=0;t<i.length;t+=1)a.push(i[t].lower);for(t=0;t<n.length;t+=1)a.push(n[t].lower);for(const r in s.callbacks)if(s.callbacks.hasOwnProperty(r)){if(t=a.indexOf(r.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${r}' not a rule or udt name`);if(o=s.callbacks[r]?s.callbacks[r]:void 0,"function"!=typeof o&&void 0!==o)throw new Error(`${e}syntax callback[${r}] must be function reference or falsy)`);t<i.length?c[t]=o:l[t-i.length]=o}})(),s.trace&&s.trace.init(i,n,a),s.stats&&s.stats.init(i,n),s.ast&&s.ast.init(i,n,a),_=E,o=[{type:e.RNM,index:w}],b(0,0),o=void 0;let O=!1;switch(f.state){case e.ACTIVE:throw new Error(`${v}final state should never be 'ACTIVE'`);case e.NOMATCH:O=!1;break;case e.EMPTY:case e.MATCH:O=f.phraseLength===a.length;break;default:throw new Error("unrecognized state")}return{success:O,state:f.state,stateName:e.idName(f.state),length:a.length,matched:f.phraseLength,maxMatched:h,maxTreeDepth:u,nodeHits:d}};const y=(t,s,i,n)=>{if(s.phraseLength>i){let e=`${r}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${s.phraseLength}`,e+=` must be <= remaining chars: ${i}`,new Error(e)}switch(s.state){case e.ACTIVE:if(!n)throw new Error(`${r}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:s.phraseLength=0;break;case e.MATCH:0===s.phraseLength&&(s.state=e.EMPTY);break;case e.NOMATCH:s.phraseLength=0;break;default:throw new Error(`${r}opRNM(${t.name}): callback function return error. Unrecognized return state: ${s.state}`)}},g=(t,c)=>{let p,u,d;const h=o[t],y=n[h.index];f.UdtIndex=y.index,m||(d=s.ast&&s.ast.udtDefined(h.index),d&&(u=i.length+h.index,p=s.ast.getLength(),s.ast.down(u,y.name)));const g=a.length-c;l[h.index](f,a,c,_),((t,s,i)=>{if(s.phraseLength>i){let e=`${r}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${s.phraseLength}`,e+=` must be <= remaining chars: ${i}`,new Error(e)}switch(s.state){case e.ACTIVE:throw new Error(`${r}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);s.phraseLength=0;break;case e.MATCH:if(0===s.phraseLength){if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);s.state=e.EMPTY}break;case e.NOMATCH:s.phraseLength=0;break;default:throw new Error(`${r}opUDT(${t.name}): callback function return error. Unrecognized return state: ${s.state}`)}})(y,f,g),m||d&&(f.state===e.NOMATCH?s.ast.setLength(p):s.ast.up(u,y.name,c,f.phraseLength))},b=(t,n)=>{const l=`${r}opExecute(): `,x=o[t];switch(d+=1,p>u&&(u=p),p+=1,f.refresh(),s.trace&&s.trace.down(x,n),x.type){case e.ALT:((t,s)=>{const r=o[t];for(let t=0;t<r.children.length&&(b(r.children[t],s),f.state===e.NOMATCH);t+=1);})(t,n);break;case e.CAT:((t,r)=>{let i,n,a,c;const l=o[t];s.ast&&(n=s.ast.getLength()),i=!0,a=r,c=0;for(let t=0;t<l.children.length;t+=1){if(b(l.children[t],a),f.state===e.NOMATCH){i=!1;break}a+=f.phraseLength,c+=f.phraseLength}i?(f.state=0===c?e.EMPTY:e.MATCH,f.phraseLength=c):(f.state=e.NOMATCH,f.phraseLength=0,s.ast&&s.ast.setLength(n))})(t,n);break;case e.REP:((t,r)=>{let i,n,c,l;const _=o[t];if(0===_.max)return f.state=e.EMPTY,void(f.phraseLength=0);for(n=r,c=0,l=0,s.ast&&(i=s.ast.getLength());!(n>=a.length)&&(b(t+1,n),f.state!==e.NOMATCH)&&f.state!==e.EMPTY&&(l+=1,c+=f.phraseLength,n+=f.phraseLength,l!==_.max););f.state===e.EMPTY||l>=_.min?(f.state=0===c?e.EMPTY:e.MATCH,f.phraseLength=c):(f.state=e.NOMATCH,f.phraseLength=0,s.ast&&s.ast.setLength(i))})(t,n);break;case e.RNM:((t,r)=>{let n,l,p;const u=o[t],d=i[u.index],h=c[d.index];if(m||(l=s.ast&&s.ast.ruleDefined(u.index),l&&(n=s.ast.getLength(),s.ast.down(u.index,i[u.index].name))),h){const t=a.length-r;h(f,a,r,_),y(d,f,t,!0),f.state===e.ACTIVE&&(p=o,o=d.opcodes,b(0,r),o=p,h(f,a,r,_),y(d,f,t,!1))}else p=o,o=d.opcodes,b(0,r,f),o=p;m||l&&(f.state===e.NOMATCH?s.ast.setLength(n):s.ast.up(u.index,d.name,r,f.phraseLength))})(t,n);break;case e.TRG:((t,s)=>{const r=o[t];f.state=e.NOMATCH,s<a.length&&r.min<=a[s]&&a[s]<=r.max&&(f.state=e.MATCH,f.phraseLength=1)})(t,n);break;case e.TBS:((t,s)=>{const r=o[t],i=r.string.length;if(f.state=e.NOMATCH,s+i<=a.length){for(let e=0;e<i;e+=1)if(a[s+e]!==r.string[e])return;f.state=e.MATCH,f.phraseLength=i}})(t,n);break;case e.TLS:((t,s)=>{let r;const i=o[t];f.state=e.NOMATCH;const n=i.string.length;if(0!==n){if(s+n<=a.length){for(let e=0;e<n;e+=1)if(r=a[s+e],r>=65&&r<=90&&(r+=32),r!==i.string[e])return;f.state=e.MATCH,f.phraseLength=n}}else f.state=e.EMPTY})(t,n);break;case e.UDT:g(t,n);break;case e.AND:((t,s)=>{switch(m+=1,b(t+1,s),m-=1,f.phraseLength=0,f.state){case e.EMPTY:case e.MATCH:f.state=e.EMPTY;break;case e.NOMATCH:f.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${f.state}`)}})(t,n);break;case e.NOT:((t,s)=>{switch(m+=1,b(t+1,s),m-=1,f.phraseLength=0,f.state){case e.EMPTY:case e.MATCH:f.state=e.NOMATCH;break;case e.NOMATCH:f.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${f.state}`)}})(t,n);break;default:throw new Error(`${l}unrecognized operator`)}m||n+f.phraseLength>h&&(h=n+f.phraseLength),s.stats&&s.stats.collect(x,f),s.trace&&s.trace.up(x,f.state,n,f.phraseLength),p-=1}},Ast=function(){const e=identifiers,t=utilities,s=this;let r,i,n,o=0;const a=[],c=[],l=[];function _(e){let t="";for(;e-- >0;)t+=" ";return t}s.callbacks=[],s.init=(e,t,_)=>{let m;c.length=0,l.length=0,o=0,r=e,i=t,n=_;const p=[];for(m=0;m<r.length;m+=1)p.push(r[m].lower);for(m=0;m<i.length;m+=1)p.push(i[m].lower);for(o=r.length+i.length,m=0;m<o;m+=1)a[m]=void 0;for(const e in s.callbacks)if(s.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(m=p.indexOf(t),m<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);a[m]=s.callbacks[e]}},s.ruleDefined=e=>!!a[e],s.udtDefined=e=>!!a[r.length+e],s.down=(t,s)=>{const r=l.length;return c.push(r),l.push({name:s,thisIndex:r,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),r},s.up=(t,s,r,i)=>{const n=l.length,o=c.pop();return l.push({name:s,thisIndex:n,thatIndex:o,state:e.SEM_POST,callbackIndex:t,phraseIndex:r,phraseLength:i,stack:c.length}),l[o].thatIndex=n,l[o].phraseIndex=r,l[o].phraseLength=i,n},s.translate=t=>{let s,r;for(let i=0;i<l.length;i+=1)r=l[i],s=a[r.callbackIndex],s&&(r.state===e.SEM_PRE?s(e.SEM_PRE,n,r.phraseIndex,r.phraseLength,t):s&&s(e.SEM_POST,n,r.phraseIndex,r.phraseLength,t))},s.setLength=e=>{l.length=e,c.length=e>0?l[e-1].stack:0},s.getLength=()=>l.length,s.toXml=()=>{let s="",r=0;return s+='<?xml version="1.0" encoding="utf-8"?>\n',s+=`<root nodes="${l.length/2}" characters="${n.length}">\n`,s+="\x3c!-- input string --\x3e\n",s+=_(r+2),s+=t.charsToString(n),s+="\n",l.forEach(i=>{i.state===e.SEM_PRE?(r+=1,s+=_(r),s+=`<node name="${i.name}" index="${i.phraseIndex}" length="${i.phraseLength}">\n`,s+=_(r+2),s+=t.charsToString(n,i.phraseIndex,i.phraseLength),s+="\n"):(s+=_(r),s+=`</node>\x3c!-- name="${i.name}" --\x3e\n`,r-=1)}),s+="</root>\n",s}},parser_Trace=function(){const e=identifiers,t=utilities,s="parser.js: Trace(): ";let r,i,n,o="",a=0;const c=this,l=e=>{let t="",s=0;if(e>=0)for(;e--;)s+=1,5===s?(t+="|",s=0):t+=".";return t};c.init=(e,t,s)=>{i=e,n=t,r=s};const _=r=>{let o;switch(r.type){case e.ALT:o="ALT";break;case e.CAT:o="CAT";break;case e.REP:o=r.max===1/0?`REP(${r.min},inf)`:`REP(${r.min},${r.max})`;break;case e.RNM:o=`RNM(${i[r.index].name})`;break;case e.TRG:o=`TRG(${r.min},${r.max})`;break;case e.TBS:o=r.string.length>6?`TBS(${t.charsToString(r.string,0,3)}...)`:`TBS(${t.charsToString(r.string,0,6)})`;break;case e.TLS:o=r.string.length>6?`TLS(${t.charsToString(r.string,0,3)}...)`:`TLS(${t.charsToString(r.string,0,6)})`;break;case e.UDT:o=`UDT(${n[r.index].name})`;break;case e.AND:o="AND";break;case e.NOT:o="NOT";break;default:throw new Error(`${s}Trace: opName: unrecognized opcode`)}return o};c.down=(e,s)=>{const i=l(a),n=Math.min(100,r.length-s);let c=t.charsToString(r,s,n);n<r.length-s&&(c+="..."),c=`${i}|-|[${_(e)}]${c}\n`,o+=c,a+=1},c.up=(i,n,c,m)=>{const p=`${s}trace.up: `;a-=1;const u=l(a);let d,h,f;switch(n){case e.EMPTY:f="|E|",h="''";break;case e.MATCH:f="|M|",d=Math.min(100,m),h=d<m?`'${t.charsToString(r,c,d)}...'`:`'${t.charsToString(r,c,d)}'`;break;case e.NOMATCH:f="|N|",h="";break;default:throw new Error(`${p} unrecognized state`)}h=`${u}${f}[${_(i)}]${h}\n`,o+=h},c.displayTrace=()=>o},parser_Stats=function(){const e=identifiers;let t,s,r;const i=[],n=[],o=[];this.init=(e,r)=>{t=e,s=r,p()},this.collect=(t,s)=>{u(r,s.state,s.phraseLength),u(i[t.type],s.state,s.phraseLength),t.type===e.RNM&&u(n[t.index],s.state,s.phraseLength),t.type===e.UDT&&u(o[t.index],s.state,s.phraseLength)},this.displayStats=()=>{let t="";const s={match:0,empty:0,nomatch:0,total:0},r=(e,t,r,i,n)=>{s.match+=t,s.empty+=r,s.nomatch+=i,s.total+=n;return`${e} | ${a(t)} | ${a(r)} | ${a(i)} | ${a(n)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=r(" ALT",i[e.ALT].match,i[e.ALT].empty,i[e.ALT].nomatch,i[e.ALT].total),t+=r(" CAT",i[e.CAT].match,i[e.CAT].empty,i[e.CAT].nomatch,i[e.CAT].total),t+=r(" REP",i[e.REP].match,i[e.REP].empty,i[e.REP].nomatch,i[e.REP].total),t+=r(" RNM",i[e.RNM].match,i[e.RNM].empty,i[e.RNM].nomatch,i[e.RNM].total),t+=r(" TRG",i[e.TRG].match,i[e.TRG].empty,i[e.TRG].nomatch,i[e.TRG].total),t+=r(" TBS",i[e.TBS].match,i[e.TBS].empty,i[e.TBS].nomatch,i[e.TBS].total),t+=r(" TLS",i[e.TLS].match,i[e.TLS].empty,i[e.TLS].nomatch,i[e.TLS].total),t+=r(" UDT",i[e.UDT].match,i[e.UDT].empty,i[e.UDT].nomatch,i[e.UDT].total),t+=r(" AND",i[e.AND].match,i[e.AND].empty,i[e.AND].nomatch,i[e.AND].total),t+=r(" NOT",i[e.NOT].match,i[e.NOT].empty,i[e.NOT].nomatch,i[e.NOT].total),t+=r("TOTAL",s.match,s.empty,s.nomatch,s.total),t},this.displayHits=e=>{let t="";const s=(e,t,s,i,n)=>{r.match+=e,r.empty+=t,r.nomatch+=s,r.total+=i;return`| ${a(e)} | ${a(t)} | ${a(s)} | ${a(i)} | ${n}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(n.sort(c),o.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(n.sort(_),o.sort(_),t+=" RULES/UDTS BY INDEX\n"):(n.sort(l),o.sort(l),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<n.length;e+=1){let r=n[e];r.total&&(t+=s(r.match,r.empty,r.nomatch,r.total,r.name))}for(let e=0;e<o.length;e+=1){let r=o[e];r.total&&(t+=s(r.match,r.empty,r.nomatch,r.total,r.name))}return t};const a=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,l=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),_=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,m=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},p=()=>{i.length=0,r=new m,i[e.ALT]=new m,i[e.CAT]=new m,i[e.REP]=new m,i[e.RNM]=new m,i[e.TRG]=new m,i[e.TBS]=new m,i[e.TLS]=new m,i[e.UDT]=new m,i[e.AND]=new m,i[e.NOT]=new m,n.length=0;for(let e=0;e<t.length;e+=1)n.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(s.length>0){o.length=0;for(let e=0;e<s.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:s[e].name,lower:s[e].lower,index:s[e].index})}},u=(t,s)=>{switch(t.total+=1,s){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${s}`)}}},utilities={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,s)=>{let r=e;for(;!(void 0===t||t<0);){if(void 0===s){r=e.slice(t);break}if(s<=0)return"";r=e.slice(t,t+s);break}return String.fromCodePoint(...r)}},identifiers={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case identifiers.ALT:return"ALT";case identifiers.CAT:return"CAT";case identifiers.REP:return"REP";case identifiers.RNM:return"RNM";case identifiers.TRG:return"TRG";case identifiers.TBS:return"TBS";case identifiers.TLS:return"TLS";case identifiers.UDT:return"UDT";case identifiers.AND:return"AND";case identifiers.NOT:return"NOT";case identifiers.ACTIVE:return"ACTIVE";case identifiers.EMPTY:return"EMPTY";case identifiers.MATCH:return"MATCH";case identifiers.NOMATCH:return"NOMATCH";case identifiers.SEM_PRE:return"SEM_PRE";case identifiers.SEM_POST:return"SEM_POST";case identifiers.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function grammar(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class JSONPointerError extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...s}=t;Object.assign(this,s)}}}const errors_JSONPointerError=JSONPointerError;class JSONPointerParseError_JSONPointerParseError extends errors_JSONPointerError{}const errors_JSONPointerParseError=JSONPointerParseError_JSONPointerParseError,cst=e=>(t,s,r,i,n)=>{if("object"!=typeof n||null===n||Array.isArray(n))throw new errors_JSONPointerParseError("parser's user data must be an object");if(t===identifiers.SEM_PRE){const t={type:e,text:utilities.charsToString(s,r,i),start:r,length:i,children:[]};if(n.stack.length>0){n.stack[n.stack.length-1].children.push(t)}else n.root=t;n.stack.push(t)}t===identifiers.SEM_POST&&n.stack.pop()},callbacks_cst=cst;class CSTTranslator_CSTTranslator extends Ast{constructor(){super(),this.callbacks["json-pointer"]=callbacks_cst("json-pointer"),this.callbacks["reference-token"]=callbacks_cst("reference-token"),this.callbacks.slash=callbacks_cst("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}}const translators_CSTTranslator=null;class ASTTranslator_ASTTranslator extends(null){getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>unescape(e))}}const translators_ASTTranslator=null;class Trace_Trace extends(null){inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let s=-1;for(let r=0;r<e.length;r++){const i=e[r];if(i.includes("M|")){const e=i.match(/]'(.*)'$/);e&&e[1]&&(s=r)}if(r>s){const e=i.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new Expectations(...t)}}const trace_Trace=null,parse_grammar=new grammar,parse_parse=(e,{translator:t=new ASTTranslator,stats:s=!1,trace:r=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const i=new Parser;t&&(i.ast=t),s&&(i.stats=new Stats),r&&(i.trace=new Trace);const n=i.parse(parse_grammar,"json-pointer",e);return{result:n,tree:n.success&&t?i.ast.getTree():void 0,stats:i.stats,trace:i.trace}}catch(t){throw new JSONPointerParseError("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}},es_parse=null;class XMLTranslator extends(null){getTree(){return this.toXml()}}const translators_XMLTranslator=null,testJSONPointer=e=>{try{return parse(e,{translator:null}).result.success}catch{return!1}},json_pointer=null,reference_token_grammar=new grammar,reference_token_parser=new parser_Parser,testReferenceToken=e=>{if("string"!=typeof e)return!1;try{return reference_token_parser.parse(reference_token_grammar,"reference-token",e).success}catch{return!1}},reference_token=null,array_location_grammar=new grammar,array_location_parser=new parser_Parser,testArrayLocation=e=>{if("string"!=typeof e)return!1;try{return array_location_parser.parse(array_location_grammar,"array-location",e).success}catch{return!1}},array_location=null,array_index_grammar=new grammar,array_index_parser=new parser_Parser,array_index_testArrayIndex=e=>{if("string"!=typeof e)return!1;try{return array_index_parser.parse(array_index_grammar,"array-index",e).success}catch{return!1}},array_index=null,array_dash_grammar=new grammar,array_dash_parser=new parser_Parser,array_dash_testArrayDash=e=>{if("string"!=typeof e)return!1;try{return array_dash_parser.parse(array_dash_grammar,"array-dash",e).success}catch{return!1}},array_dash=null,escape_escape=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")},es_escape=escape_escape;class JSONPointerCompileError extends errors_JSONPointerError{}const errors_JSONPointerCompileError=JSONPointerCompileError,compile=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return es_escape(String(e))}).join("/")}`}catch(t){throw new errors_JSONPointerCompileError("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}},es_compile=compile;class EvaluationRealm_EvaluationRealm{name="";isArray(e){throw new errors_JSONPointerError("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new errors_JSONPointerError("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new errors_JSONPointerError("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new errors_JSONPointerError("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new errors_JSONPointerError("Realm.evaluate(node) must be implemented in a subclass")}}const realms_EvaluationRealm=EvaluationRealm_EvaluationRealm;class JSONPointerEvaluateError_JSONPointerEvaluateError extends errors_JSONPointerError{}const errors_JSONPointerEvaluateError=JSONPointerEvaluateError_JSONPointerEvaluateError;class JSONPointerIndexError_JSONPointerIndexError extends(null){}const errors_JSONPointerIndexError=null;class JSONEvaluationRealm extends(null){name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const s=Number(t),r=s>>>0;if(s!==r)throw new JSONPointerIndexError(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,s)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}}const json=null;class JSONPointerTypeError_JSONPointerTypeError extends(null){}const errors_JSONPointerTypeError=null;class JSONPointerKeyError_JSONPointerKeyError extends(null){}const errors_JSONPointerKeyError=null,evaluate=(e,t,{strictArrays:s=!0,strictObjects:r=!0,realm:i=new JSONRealm,trace:n=!0}={})=>{const{result:o,tree:a,trace:c}=parse(t,{trace:!!n}),l="object"==typeof n&&null!==n?new TraceBuilder(n,{jsonPointer:t,referenceTokens:a,strictArrays:s,strictObjects:r,realm:i,value:e}):null;try{let n;if(!o.success){let s=`Invalid JSON Pointer: "${t}". Syntax error at position ${o.maxMatched}`;throw s+=c?`, expected ${c.inferExpectations()}`:"",new JSONPointerEvaluateError(s,{jsonPointer:t,currentValue:e,realm:i.name})}return a.reduce((e,o,c)=>{if(i.isArray(e)){if(testArrayDash(o)){if(s)throw new JSONPointerIndexError(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,String(i.sizeOf(e))),null==l||l.step({referenceToken:o,input:e,output:n}),n}if(!testArrayIndex(o))throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});const r=Number(o);if(!Number.isSafeInteger(r))throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});if(!i.has(e,o)&&s)throw new JSONPointerIndexError(`Invalid array index "${o}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,o),null==l||l.step({referenceToken:o,input:e,output:n}),n}if(i.isObject(e)){if(!i.has(e,o)&&r)throw new JSONPointerKeyError(`Invalid object key "${o}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name});return n=i.evaluate(e,o),null==l||l.step({referenceToken:o,input:e,output:n}),n}throw new JSONPointerTypeError(`Invalid reference token "${o}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:a,referenceToken:o,referenceTokenPosition:c,currentValue:e,realm:i.name})},e)}catch(e){if(null==l||l.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof JSONPointerEvaluateError)throw e;throw new JSONPointerEvaluateError("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:a})}},es_evaluate=null;function _classPrivateMethodInitSpec(e,t){_checkPrivateRedeclaration(e,t),t.add(e)}function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _defineProperty(e,t,s){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"==typeof t?t:t+""}function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var r=s.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function _assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}var _CompositeEvaluationRealm_brand=new WeakSet;class CompositeEvaluationRealm extends realms_EvaluationRealm{constructor(e){super(),_classPrivateMethodInitSpec(this,_CompositeEvaluationRealm_brand),_defineProperty(this,"name","composite"),_defineProperty(this,"realms",[]),this.realms=e}isArray(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).isArray(e)}isObject(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).isObject(e)}sizeOf(e){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).sizeOf(e)}has(e,t){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).has(e,t)}evaluate(e,t){return _assertClassBrand(_CompositeEvaluationRealm_brand,this,_findRealm).call(this,e).evaluate(e,t)}}function _findRealm(e){for(const t of this.realms)if(t.isArray(e)||t.isObject(e))return t;throw new errors_JSONPointerEvaluateError("No suitable evaluation realm found for value",{currentValue:e})}const compose=(...e)=>new CompositeEvaluationRealm(e),realms_compose=null;class trace_Trace_Trace extends(null){inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let s=-1;for(let r=0;r<e.length;r++){const i=e[r];if(i.includes("M|")){const e=i.match(/]'(.*)'$/);e&&e[1]&&(s=r)}if(r>s){const e=i.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new Expectations(...t)}}const parse_trace_Trace=null;function grammar_grammar(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"jsonpath-query",lower:"jsonpath-query",index:0,isBkr:!1},this.rules[1]={name:"segments",lower:"segments",index:1,isBkr:!1},this.rules[2]={name:"B",lower:"b",index:2,isBkr:!1},this.rules[3]={name:"S",lower:"s",index:3,isBkr:!1},this.rules[4]={name:"root-identifier",lower:"root-identifier",index:4,isBkr:!1},this.rules[5]={name:"selector",lower:"selector",index:5,isBkr:!1},this.rules[6]={name:"name-selector",lower:"name-selector",index:6,isBkr:!1},this.rules[7]={name:"string-literal",lower:"string-literal",index:7,isBkr:!1},this.rules[8]={name:"double-quoted",lower:"double-quoted",index:8,isBkr:!1},this.rules[9]={name:"single-quoted",lower:"single-quoted",index:9,isBkr:!1},this.rules[10]={name:"ESC",lower:"esc",index:10,isBkr:!1},this.rules[11]={name:"unescaped",lower:"unescaped",index:11,isBkr:!1},this.rules[12]={name:"escapable",lower:"escapable",index:12,isBkr:!1},this.rules[13]={name:"hexchar",lower:"hexchar",index:13,isBkr:!1},this.rules[14]={name:"non-surrogate",lower:"non-surrogate",index:14,isBkr:!1},this.rules[15]={name:"high-surrogate",lower:"high-surrogate",index:15,isBkr:!1},this.rules[16]={name:"low-surrogate",lower:"low-surrogate",index:16,isBkr:!1},this.rules[17]={name:"HEXDIG",lower:"hexdig",index:17,isBkr:!1},this.rules[18]={name:"wildcard-selector",lower:"wildcard-selector",index:18,isBkr:!1},this.rules[19]={name:"index-selector",lower:"index-selector",index:19,isBkr:!1},this.rules[20]={name:"int",lower:"int",index:20,isBkr:!1},this.rules[21]={name:"DIGIT1",lower:"digit1",index:21,isBkr:!1},this.rules[22]={name:"slice-selector",lower:"slice-selector",index:22,isBkr:!1},this.rules[23]={name:"start",lower:"start",index:23,isBkr:!1},this.rules[24]={name:"end",lower:"end",index:24,isBkr:!1},this.rules[25]={name:"step",lower:"step",index:25,isBkr:!1},this.rules[26]={name:"filter-selector",lower:"filter-selector",index:26,isBkr:!1},this.rules[27]={name:"logical-expr",lower:"logical-expr",index:27,isBkr:!1},this.rules[28]={name:"logical-or-expr",lower:"logical-or-expr",index:28,isBkr:!1},this.rules[29]={name:"logical-and-expr",lower:"logical-and-expr",index:29,isBkr:!1},this.rules[30]={name:"basic-expr",lower:"basic-expr",index:30,isBkr:!1},this.rules[31]={name:"paren-expr",lower:"paren-expr",index:31,isBkr:!1},this.rules[32]={name:"logical-not-op",lower:"logical-not-op",index:32,isBkr:!1},this.rules[33]={name:"test-expr",lower:"test-expr",index:33,isBkr:!1},this.rules[34]={name:"filter-query",lower:"filter-query",index:34,isBkr:!1},this.rules[35]={name:"rel-query",lower:"rel-query",index:35,isBkr:!1},this.rules[36]={name:"current-node-identifier",lower:"current-node-identifier",index:36,isBkr:!1},this.rules[37]={name:"comparison-expr",lower:"comparison-expr",index:37,isBkr:!1},this.rules[38]={name:"literal",lower:"literal",index:38,isBkr:!1},this.rules[39]={name:"comparable",lower:"comparable",index:39,isBkr:!1},this.rules[40]={name:"comparison-op",lower:"comparison-op",index:40,isBkr:!1},this.rules[41]={name:"singular-query",lower:"singular-query",index:41,isBkr:!1},this.rules[42]={name:"rel-singular-query",lower:"rel-singular-query",index:42,isBkr:!1},this.rules[43]={name:"abs-singular-query",lower:"abs-singular-query",index:43,isBkr:!1},this.rules[44]={name:"singular-query-segments",lower:"singular-query-segments",index:44,isBkr:!1},this.rules[45]={name:"name-segment",lower:"name-segment",index:45,isBkr:!1},this.rules[46]={name:"index-segment",lower:"index-segment",index:46,isBkr:!1},this.rules[47]={name:"number",lower:"number",index:47,isBkr:!1},this.rules[48]={name:"frac",lower:"frac",index:48,isBkr:!1},this.rules[49]={name:"exp",lower:"exp",index:49,isBkr:!1},this.rules[50]={name:"true",lower:"true",index:50,isBkr:!1},this.rules[51]={name:"false",lower:"false",index:51,isBkr:!1},this.rules[52]={name:"null",lower:"null",index:52,isBkr:!1},this.rules[53]={name:"function-name",lower:"function-name",index:53,isBkr:!1},this.rules[54]={name:"function-name-first",lower:"function-name-first",index:54,isBkr:!1},this.rules[55]={name:"function-name-char",lower:"function-name-char",index:55,isBkr:!1},this.rules[56]={name:"LCALPHA",lower:"lcalpha",index:56,isBkr:!1},this.rules[57]={name:"function-expr",lower:"function-expr",index:57,isBkr:!1},this.rules[58]={name:"function-argument",lower:"function-argument",index:58,isBkr:!1},this.rules[59]={name:"segment",lower:"segment",index:59,isBkr:!1},this.rules[60]={name:"child-segment",lower:"child-segment",index:60,isBkr:!1},this.rules[61]={name:"bracketed-selection",lower:"bracketed-selection",index:61,isBkr:!1},this.rules[62]={name:"member-name-shorthand",lower:"member-name-shorthand",index:62,isBkr:!1},this.rules[63]={name:"name-first",lower:"name-first",index:63,isBkr:!1},this.rules[64]={name:"name-char",lower:"name-char",index:64,isBkr:!1},this.rules[65]={name:"DIGIT",lower:"digit",index:65,isBkr:!1},this.rules[66]={name:"ALPHA",lower:"alpha",index:66,isBkr:!1},this.rules[67]={name:"descendant-segment",lower:"descendant-segment",index:67,isBkr:!1},this.rules[68]={name:"normalized-path",lower:"normalized-path",index:68,isBkr:!1},this.rules[69]={name:"normal-index-segment",lower:"normal-index-segment",index:69,isBkr:!1},this.rules[70]={name:"normal-selector",lower:"normal-selector",index:70,isBkr:!1},this.rules[71]={name:"normal-name-selector",lower:"normal-name-selector",index:71,isBkr:!1},this.rules[72]={name:"normal-single-quoted",lower:"normal-single-quoted",index:72,isBkr:!1},this.rules[73]={name:"normal-unescaped",lower:"normal-unescaped",index:73,isBkr:!1},this.rules[74]={name:"normal-escapable",lower:"normal-escapable",index:74,isBkr:!1},this.rules[75]={name:"normal-hexchar",lower:"normal-hexchar",index:75,isBkr:!1},this.rules[76]={name:"normal-HEXDIG",lower:"normal-hexdig",index:76,isBkr:!1},this.rules[77]={name:"normal-index-selector",lower:"normal-index-selector",index:77,isBkr:!1},this.rules[78]={name:"dot-prefix",lower:"dot-prefix",index:78,isBkr:!1},this.rules[79]={name:"double-dot-prefix",lower:"double-dot-prefix",index:79,isBkr:!1},this.rules[80]={name:"left-bracket",lower:"left-bracket",index:80,isBkr:!1},this.rules[81]={name:"right-bracket",lower:"right-bracket",index:81,isBkr:!1},this.rules[82]={name:"left-paren",lower:"left-paren",index:82,isBkr:!1},this.rules[83]={name:"right-paren",lower:"right-paren",index:83,isBkr:!1},this.rules[84]={name:"comma",lower:"comma",index:84,isBkr:!1},this.rules[85]={name:"colon",lower:"colon",index:85,isBkr:!1},this.rules[86]={name:"dquote",lower:"dquote",index:86,isBkr:!1},this.rules[87]={name:"squote",lower:"squote",index:87,isBkr:!1},this.rules[88]={name:"questionmark",lower:"questionmark",index:88,isBkr:!1},this.rules[89]={name:"disjunction",lower:"disjunction",index:89,isBkr:!1},this.rules[90]={name:"conjunction",lower:"conjunction",index:90,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,2]},this.rules[0].opcodes[1]={type:4,index:4},this.rules[0].opcodes[2]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:2,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:3},this.rules[1].opcodes[3]={type:4,index:59},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[2].opcodes[1]={type:6,string:[32]},this.rules[2].opcodes[2]={type:6,string:[9]},this.rules[2].opcodes[3]={type:6,string:[10]},this.rules[2].opcodes[4]={type:6,string:[13]},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:0,max:1/0},this.rules[3].opcodes[1]={type:4,index:2},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:7,string:[36]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[5].opcodes[1]={type:4,index:6},this.rules[5].opcodes[2]={type:4,index:18},this.rules[5].opcodes[3]={type:4,index:22},this.rules[5].opcodes[4]={type:4,index:19},this.rules[5].opcodes[5]={type:4,index:26},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:4,index:7},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,6]},this.rules[7].opcodes[1]={type:2,children:[2,3,5]},this.rules[7].opcodes[2]={type:4,index:86},this.rules[7].opcodes[3]={type:3,min:0,max:1/0},this.rules[7].opcodes[4]={type:4,index:8},this.rules[7].opcodes[5]={type:4,index:86},this.rules[7].opcodes[6]={type:2,children:[7,8,10]},this.rules[7].opcodes[7]={type:4,index:87},this.rules[7].opcodes[8]={type:3,min:0,max:1/0},this.rules[7].opcodes[9]={type:4,index:9},this.rules[7].opcodes[10]={type:4,index:87},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[8].opcodes[1]={type:4,index:11},this.rules[8].opcodes[2]={type:6,string:[39]},this.rules[8].opcodes[3]={type:2,children:[4,5]},this.rules[8].opcodes[4]={type:4,index:10},this.rules[8].opcodes[5]={type:6,string:[34]},this.rules[8].opcodes[6]={type:2,children:[7,8]},this.rules[8].opcodes[7]={type:4,index:10},this.rules[8].opcodes[8]={type:4,index:12},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[9].opcodes[1]={type:4,index:11},this.rules[9].opcodes[2]={type:6,string:[34]},this.rules[9].opcodes[3]={type:2,children:[4,5]},this.rules[9].opcodes[4]={type:4,index:10},this.rules[9].opcodes[5]={type:6,string:[39]},this.rules[9].opcodes[6]={type:2,children:[7,8]},this.rules[9].opcodes[7]={type:4,index:10},this.rules[9].opcodes[8]={type:4,index:12},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:6,string:[92]},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[11].opcodes[1]={type:5,min:32,max:33},this.rules[11].opcodes[2]={type:5,min:35,max:38},this.rules[11].opcodes[3]={type:5,min:40,max:91},this.rules[11].opcodes[4]={type:5,min:93,max:55295},this.rules[11].opcodes[5]={type:5,min:57344,max:1114111},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[12].opcodes[1]={type:6,string:[98]},this.rules[12].opcodes[2]={type:6,string:[102]},this.rules[12].opcodes[3]={type:6,string:[110]},this.rules[12].opcodes[4]={type:6,string:[114]},this.rules[12].opcodes[5]={type:6,string:[116]},this.rules[12].opcodes[6]={type:7,string:[47]},this.rules[12].opcodes[7]={type:7,string:[92]},this.rules[12].opcodes[8]={type:2,children:[9,10]},this.rules[12].opcodes[9]={type:6,string:[117]},this.rules[12].opcodes[10]={type:4,index:13},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:1,children:[1,2]},this.rules[13].opcodes[1]={type:4,index:14},this.rules[13].opcodes[2]={type:2,children:[3,4,5,6]},this.rules[13].opcodes[3]={type:4,index:15},this.rules[13].opcodes[4]={type:7,string:[92]},this.rules[13].opcodes[5]={type:6,string:[117]},this.rules[13].opcodes[6]={type:4,index:16},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:1,children:[1,11]},this.rules[14].opcodes[1]={type:2,children:[2,9]},this.rules[14].opcodes[2]={type:1,children:[3,4,5,6,7,8]},this.rules[14].opcodes[3]={type:4,index:65},this.rules[14].opcodes[4]={type:7,string:[97]},this.rules[14].opcodes[5]={type:7,string:[98]},this.rules[14].opcodes[6]={type:7,string:[99]},this.rules[14].opcodes[7]={type:7,string:[101]},this.rules[14].opcodes[8]={type:7,string:[102]},this.rules[14].opcodes[9]={type:3,min:3,max:3},this.rules[14].opcodes[10]={type:4,index:17},this.rules[14].opcodes[11]={type:2,children:[12,13,14]},this.rules[14].opcodes[12]={type:7,string:[100]},this.rules[14].opcodes[13]={type:5,min:48,max:55},this.rules[14].opcodes[14]={type:3,min:2,max:2},this.rules[14].opcodes[15]={type:4,index:17},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:2,children:[1,2,7]},this.rules[15].opcodes[1]={type:7,string:[100]},this.rules[15].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[15].opcodes[3]={type:7,string:[56]},this.rules[15].opcodes[4]={type:7,string:[57]},this.rules[15].opcodes[5]={type:7,string:[97]},this.rules[15].opcodes[6]={type:7,string:[98]},this.rules[15].opcodes[7]={type:3,min:2,max:2},this.rules[15].opcodes[8]={type:4,index:17},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:2,children:[1,2,7]},this.rules[16].opcodes[1]={type:7,string:[100]},this.rules[16].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[16].opcodes[3]={type:7,string:[99]},this.rules[16].opcodes[4]={type:7,string:[100]},this.rules[16].opcodes[5]={type:7,string:[101]},this.rules[16].opcodes[6]={type:7,string:[102]},this.rules[16].opcodes[7]={type:3,min:2,max:2},this.rules[16].opcodes[8]={type:4,index:17},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:1,children:[1,2,3,4,5,6,7]},this.rules[17].opcodes[1]={type:4,index:65},this.rules[17].opcodes[2]={type:7,string:[97]},this.rules[17].opcodes[3]={type:7,string:[98]},this.rules[17].opcodes[4]={type:7,string:[99]},this.rules[17].opcodes[5]={type:7,string:[100]},this.rules[17].opcodes[6]={type:7,string:[101]},this.rules[17].opcodes[7]={type:7,string:[102]},this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:7,string:[42]},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:4,index:20},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:1,children:[1,2]},this.rules[20].opcodes[1]={type:7,string:[48]},this.rules[20].opcodes[2]={type:2,children:[3,5,6]},this.rules[20].opcodes[3]={type:3,min:0,max:1},this.rules[20].opcodes[4]={type:7,string:[45]},this.rules[20].opcodes[5]={type:4,index:21},this.rules[20].opcodes[6]={type:3,min:0,max:1/0},this.rules[20].opcodes[7]={type:4,index:65},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:5,min:49,max:57},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:2,children:[1,5,6,7,11]},this.rules[22].opcodes[1]={type:3,min:0,max:1},this.rules[22].opcodes[2]={type:2,children:[3,4]},this.rules[22].opcodes[3]={type:4,index:23},this.rules[22].opcodes[4]={type:4,index:3},this.rules[22].opcodes[5]={type:4,index:85},this.rules[22].opcodes[6]={type:4,index:3},this.rules[22].opcodes[7]={type:3,min:0,max:1},this.rules[22].opcodes[8]={type:2,children:[9,10]},this.rules[22].opcodes[9]={type:4,index:24},this.rules[22].opcodes[10]={type:4,index:3},this.rules[22].opcodes[11]={type:3,min:0,max:1},this.rules[22].opcodes[12]={type:2,children:[13,14]},this.rules[22].opcodes[13]={type:4,index:85},this.rules[22].opcodes[14]={type:3,min:0,max:1},this.rules[22].opcodes[15]={type:2,children:[16,17]},this.rules[22].opcodes[16]={type:4,index:3},this.rules[22].opcodes[17]={type:4,index:25},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:4,index:20},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:4,index:20},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:4,index:20},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:2,children:[1,2,3]},this.rules[26].opcodes[1]={type:4,index:88},this.rules[26].opcodes[2]={type:4,index:3},this.rules[26].opcodes[3]={type:4,index:27},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:4,index:28},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:2,children:[1,2]},this.rules[28].opcodes[1]={type:4,index:29},this.rules[28].opcodes[2]={type:3,min:0,max:1/0},this.rules[28].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[28].opcodes[4]={type:4,index:3},this.rules[28].opcodes[5]={type:4,index:89},this.rules[28].opcodes[6]={type:4,index:3},this.rules[28].opcodes[7]={type:4,index:29},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:2,children:[1,2]},this.rules[29].opcodes[1]={type:4,index:30},this.rules[29].opcodes[2]={type:3,min:0,max:1/0},this.rules[29].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[29].opcodes[4]={type:4,index:3},this.rules[29].opcodes[5]={type:4,index:90},this.rules[29].opcodes[6]={type:4,index:3},this.rules[29].opcodes[7]={type:4,index:30},this.rules[30].opcodes=[],this.rules[30].opcodes[0]={type:1,children:[1,2,3]},this.rules[30].opcodes[1]={type:4,index:31},this.rules[30].opcodes[2]={type:4,index:37},this.rules[30].opcodes[3]={type:4,index:33},this.rules[31].opcodes=[],this.rules[31].opcodes[0]={type:2,children:[1,5,6,7,8,9]},this.rules[31].opcodes[1]={type:3,min:0,max:1},this.rules[31].opcodes[2]={type:2,children:[3,4]},this.rules[31].opcodes[3]={type:4,index:32},this.rules[31].opcodes[4]={type:4,index:3},this.rules[31].opcodes[5]={type:4,index:82},this.rules[31].opcodes[6]={type:4,index:3},this.rules[31].opcodes[7]={type:4,index:27},this.rules[31].opcodes[8]={type:4,index:3},this.rules[31].opcodes[9]={type:4,index:83},this.rules[32].opcodes=[],this.rules[32].opcodes[0]={type:7,string:[33]},this.rules[33].opcodes=[],this.rules[33].opcodes[0]={type:2,children:[1,5]},this.rules[33].opcodes[1]={type:3,min:0,max:1},this.rules[33].opcodes[2]={type:2,children:[3,4]},this.rules[33].opcodes[3]={type:4,index:32},this.rules[33].opcodes[4]={type:4,index:3},this.rules[33].opcodes[5]={type:1,children:[6,7]},this.rules[33].opcodes[6]={type:4,index:34},this.rules[33].opcodes[7]={type:4,index:57},this.rules[34].opcodes=[],this.rules[34].opcodes[0]={type:1,children:[1,2]},this.rules[34].opcodes[1]={type:4,index:35},this.rules[34].opcodes[2]={type:4,index:0},this.rules[35].opcodes=[],this.rules[35].opcodes[0]={type:2,children:[1,2]},this.rules[35].opcodes[1]={type:4,index:36},this.rules[35].opcodes[2]={type:4,index:1},this.rules[36].opcodes=[],this.rules[36].opcodes[0]={type:7,string:[64]},this.rules[37].opcodes=[],this.rules[37].opcodes[0]={type:2,children:[1,2,3,4,5]},this.rules[37].opcodes[1]={type:4,index:39},this.rules[37].opcodes[2]={type:4,index:3},this.rules[37].opcodes[3]={type:4,index:40},this.rules[37].opcodes[4]={type:4,index:3},this.rules[37].opcodes[5]={type:4,index:39},this.rules[38].opcodes=[],this.rules[38].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[38].opcodes[1]={type:4,index:47},this.rules[38].opcodes[2]={type:4,index:7},this.rules[38].opcodes[3]={type:4,index:50},this.rules[38].opcodes[4]={type:4,index:51},this.rules[38].opcodes[5]={type:4,index:52},this.rules[39].opcodes=[],this.rules[39].opcodes[0]={type:1,children:[1,2,3]},this.rules[39].opcodes[1]={type:4,index:41},this.rules[39].opcodes[2]={type:4,index:57},this.rules[39].opcodes[3]={type:4,index:38},this.rules[40].opcodes=[],this.rules[40].opcodes[0]={type:1,children:[1,2,3,4,5,6]},this.rules[40].opcodes[1]={type:7,string:[61,61]},this.rules[40].opcodes[2]={type:7,string:[33,61]},this.rules[40].opcodes[3]={type:7,string:[60,61]},this.rules[40].opcodes[4]={type:7,string:[62,61]},this.rules[40].opcodes[5]={type:7,string:[60]},this.rules[40].opcodes[6]={type:7,string:[62]},this.rules[41].opcodes=[],this.rules[41].opcodes[0]={type:1,children:[1,2]},this.rules[41].opcodes[1]={type:4,index:42},this.rules[41].opcodes[2]={type:4,index:43},this.rules[42].opcodes=[],this.rules[42].opcodes[0]={type:2,children:[1,2]},this.rules[42].opcodes[1]={type:4,index:36},this.rules[42].opcodes[2]={type:4,index:44},this.rules[43].opcodes=[],this.rules[43].opcodes[0]={type:2,children:[1,2]},this.rules[43].opcodes[1]={type:4,index:4},this.rules[43].opcodes[2]={type:4,index:44},this.rules[44].opcodes=[],this.rules[44].opcodes[0]={type:3,min:0,max:1/0},this.rules[44].opcodes[1]={type:2,children:[2,3]},this.rules[44].opcodes[2]={type:4,index:3},this.rules[44].opcodes[3]={type:1,children:[4,5]},this.rules[44].opcodes[4]={type:4,index:45},this.rules[44].opcodes[5]={type:4,index:46},this.rules[45].opcodes=[],this.rules[45].opcodes[0]={type:1,children:[1,5]},this.rules[45].opcodes[1]={type:2,children:[2,3,4]},this.rules[45].opcodes[2]={type:4,index:80},this.rules[45].opcodes[3]={type:4,index:6},this.rules[45].opcodes[4]={type:4,index:81},this.rules[45].opcodes[5]={type:2,children:[6,7]},this.rules[45].opcodes[6]={type:4,index:78},this.rules[45].opcodes[7]={type:4,index:62},this.rules[46].opcodes=[],this.rules[46].opcodes[0]={type:2,children:[1,2,3]},this.rules[46].opcodes[1]={type:4,index:80},this.rules[46].opcodes[2]={type:4,index:19},this.rules[46].opcodes[3]={type:4,index:81},this.rules[47].opcodes=[],this.rules[47].opcodes[0]={type:2,children:[1,4,6]},this.rules[47].opcodes[1]={type:1,children:[2,3]},this.rules[47].opcodes[2]={type:4,index:20},this.rules[47].opcodes[3]={type:7,string:[45,48]},this.rules[47].opcodes[4]={type:3,min:0,max:1},this.rules[47].opcodes[5]={type:4,index:48},this.rules[47].opcodes[6]={type:3,min:0,max:1},this.rules[47].opcodes[7]={type:4,index:49},this.rules[48].opcodes=[],this.rules[48].opcodes[0]={type:2,children:[1,2]},this.rules[48].opcodes[1]={type:7,string:[46]},this.rules[48].opcodes[2]={type:3,min:1,max:1/0},this.rules[48].opcodes[3]={type:4,index:65},this.rules[49].opcodes=[],this.rules[49].opcodes[0]={type:2,children:[1,2,6]},this.rules[49].opcodes[1]={type:7,string:[101]},this.rules[49].opcodes[2]={type:3,min:0,max:1},this.rules[49].opcodes[3]={type:1,children:[4,5]},this.rules[49].opcodes[4]={type:7,string:[45]},this.rules[49].opcodes[5]={type:7,string:[43]},this.rules[49].opcodes[6]={type:3,min:1,max:1/0},this.rules[49].opcodes[7]={type:4,index:65},this.rules[50].opcodes=[],this.rules[50].opcodes[0]={type:6,string:[116,114,117,101]},this.rules[51].opcodes=[],this.rules[51].opcodes[0]={type:6,string:[102,97,108,115,101]},this.rules[52].opcodes=[],this.rules[52].opcodes[0]={type:6,string:[110,117,108,108]},this.rules[53].opcodes=[],this.rules[53].opcodes[0]={type:2,children:[1,2]},this.rules[53].opcodes[1]={type:4,index:54},this.rules[53].opcodes[2]={type:3,min:0,max:1/0},this.rules[53].opcodes[3]={type:4,index:55},this.rules[54].opcodes=[],this.rules[54].opcodes[0]={type:4,index:56},this.rules[55].opcodes=[],this.rules[55].opcodes[0]={type:1,children:[1,2,3]},this.rules[55].opcodes[1]={type:4,index:54},this.rules[55].opcodes[2]={type:7,string:[95]},this.rules[55].opcodes[3]={type:4,index:65},this.rules[56].opcodes=[],this.rules[56].opcodes[0]={type:5,min:97,max:122},this.rules[57].opcodes=[],this.rules[57].opcodes[0]={type:2,children:[1,2,3,4,13,14]},this.rules[57].opcodes[1]={type:4,index:53},this.rules[57].opcodes[2]={type:4,index:82},this.rules[57].opcodes[3]={type:4,index:3},this.rules[57].opcodes[4]={type:3,min:0,max:1},this.rules[57].opcodes[5]={type:2,children:[6,7]},this.rules[57].opcodes[6]={type:4,index:58},this.rules[57].opcodes[7]={type:3,min:0,max:1/0},this.rules[57].opcodes[8]={type:2,children:[9,10,11,12]},this.rules[57].opcodes[9]={type:4,index:3},this.rules[57].opcodes[10]={type:4,index:84},this.rules[57].opcodes[11]={type:4,index:3},this.rules[57].opcodes[12]={type:4,index:58},this.rules[57].opcodes[13]={type:4,index:3},this.rules[57].opcodes[14]={type:4,index:83},this.rules[58].opcodes=[],this.rules[58].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[58].opcodes[1]={type:4,index:27},this.rules[58].opcodes[2]={type:4,index:34},this.rules[58].opcodes[3]={type:4,index:57},this.rules[58].opcodes[4]={type:4,index:38},this.rules[59].opcodes=[],this.rules[59].opcodes[0]={type:1,children:[1,2]},this.rules[59].opcodes[1]={type:4,index:60},this.rules[59].opcodes[2]={type:4,index:67},this.rules[60].opcodes=[],this.rules[60].opcodes[0]={type:1,children:[1,2]},this.rules[60].opcodes[1]={type:4,index:61},this.rules[60].opcodes[2]={type:2,children:[3,4]},this.rules[60].opcodes[3]={type:4,index:78},this.rules[60].opcodes[4]={type:1,children:[5,6]},this.rules[60].opcodes[5]={type:4,index:18},this.rules[60].opcodes[6]={type:4,index:62},this.rules[61].opcodes=[],this.rules[61].opcodes[0]={type:2,children:[1,2,3,4,10,11]},this.rules[61].opcodes[1]={type:4,index:80},this.rules[61].opcodes[2]={type:4,index:3},this.rules[61].opcodes[3]={type:4,index:5},this.rules[61].opcodes[4]={type:3,min:0,max:1/0},this.rules[61].opcodes[5]={type:2,children:[6,7,8,9]},this.rules[61].opcodes[6]={type:4,index:3},this.rules[61].opcodes[7]={type:4,index:84},this.rules[61].opcodes[8]={type:4,index:3},this.rules[61].opcodes[9]={type:4,index:5},this.rules[61].opcodes[10]={type:4,index:3},this.rules[61].opcodes[11]={type:4,index:81},this.rules[62].opcodes=[],this.rules[62].opcodes[0]={type:2,children:[1,2]},this.rules[62].opcodes[1]={type:4,index:63},this.rules[62].opcodes[2]={type:3,min:0,max:1/0},this.rules[62].opcodes[3]={type:4,index:64},this.rules[63].opcodes=[],this.rules[63].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[63].opcodes[1]={type:4,index:66},this.rules[63].opcodes[2]={type:7,string:[95]},this.rules[63].opcodes[3]={type:5,min:128,max:55295},this.rules[63].opcodes[4]={type:5,min:57344,max:1114111},this.rules[64].opcodes=[],this.rules[64].opcodes[0]={type:1,children:[1,2]},this.rules[64].opcodes[1]={type:4,index:63},this.rules[64].opcodes[2]={type:4,index:65},this.rules[65].opcodes=[],this.rules[65].opcodes[0]={type:5,min:48,max:57},this.rules[66].opcodes=[],this.rules[66].opcodes[0]={type:1,children:[1,2]},this.rules[66].opcodes[1]={type:5,min:65,max:90},this.rules[66].opcodes[2]={type:5,min:97,max:122},this.rules[67].opcodes=[],this.rules[67].opcodes[0]={type:2,children:[1,2]},this.rules[67].opcodes[1]={type:4,index:79},this.rules[67].opcodes[2]={type:1,children:[3,4,5]},this.rules[67].opcodes[3]={type:4,index:61},this.rules[67].opcodes[4]={type:4,index:18},this.rules[67].opcodes[5]={type:4,index:62},this.rules[68].opcodes=[],this.rules[68].opcodes[0]={type:2,children:[1,2]},this.rules[68].opcodes[1]={type:4,index:4},this.rules[68].opcodes[2]={type:3,min:0,max:1/0},this.rules[68].opcodes[3]={type:4,index:69},this.rules[69].opcodes=[],this.rules[69].opcodes[0]={type:2,children:[1,2,3]},this.rules[69].opcodes[1]={type:4,index:80},this.rules[69].opcodes[2]={type:4,index:70},this.rules[69].opcodes[3]={type:4,index:81},this.rules[70].opcodes=[],this.rules[70].opcodes[0]={type:1,children:[1,2]},this.rules[70].opcodes[1]={type:4,index:71},this.rules[70].opcodes[2]={type:4,index:77},this.rules[71].opcodes=[],this.rules[71].opcodes[0]={type:2,children:[1,2,4]},this.rules[71].opcodes[1]={type:4,index:87},this.rules[71].opcodes[2]={type:3,min:0,max:1/0},this.rules[71].opcodes[3]={type:4,index:72},this.rules[71].opcodes[4]={type:4,index:87},this.rules[72].opcodes=[],this.rules[72].opcodes[0]={type:1,children:[1,2]},this.rules[72].opcodes[1]={type:4,index:73},this.rules[72].opcodes[2]={type:2,children:[3,4]},this.rules[72].opcodes[3]={type:4,index:10},this.rules[72].opcodes[4]={type:4,index:74},this.rules[73].opcodes=[],this.rules[73].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[73].opcodes[1]={type:5,min:32,max:38},this.rules[73].opcodes[2]={type:5,min:40,max:91},this.rules[73].opcodes[3]={type:5,min:93,max:55295},this.rules[73].opcodes[4]={type:5,min:57344,max:1114111},this.rules[74].opcodes=[],this.rules[74].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[74].opcodes[1]={type:6,string:[98]},this.rules[74].opcodes[2]={type:6,string:[102]},this.rules[74].opcodes[3]={type:6,string:[110]},this.rules[74].opcodes[4]={type:6,string:[114]},this.rules[74].opcodes[5]={type:6,string:[116]},this.rules[74].opcodes[6]={type:7,string:[39]},this.rules[74].opcodes[7]={type:7,string:[92]},this.rules[74].opcodes[8]={type:2,children:[9,10]},this.rules[74].opcodes[9]={type:6,string:[117]},this.rules[74].opcodes[10]={type:4,index:75},this.rules[75].opcodes=[],this.rules[75].opcodes[0]={type:2,children:[1,2,3]},this.rules[75].opcodes[1]={type:7,string:[48]},this.rules[75].opcodes[2]={type:7,string:[48]},this.rules[75].opcodes[3]={type:1,children:[4,7,10,13]},this.rules[75].opcodes[4]={type:2,children:[5,6]},this.rules[75].opcodes[5]={type:7,string:[48]},this.rules[75].opcodes[6]={type:5,min:48,max:55},this.rules[75].opcodes[7]={type:2,children:[8,9]},this.rules[75].opcodes[8]={type:7,string:[48]},this.rules[75].opcodes[9]={type:6,string:[98]},this.rules[75].opcodes[10]={type:2,children:[11,12]},this.rules[75].opcodes[11]={type:7,string:[48]},this.rules[75].opcodes[12]={type:5,min:101,max:102},this.rules[75].opcodes[13]={type:2,children:[14,15]},this.rules[75].opcodes[14]={type:7,string:[49]},this.rules[75].opcodes[15]={type:4,index:76},this.rules[76].opcodes=[],this.rules[76].opcodes[0]={type:1,children:[1,2]},this.rules[76].opcodes[1]={type:4,index:65},this.rules[76].opcodes[2]={type:5,min:97,max:102},this.rules[77].opcodes=[],this.rules[77].opcodes[0]={type:1,children:[1,2]},this.rules[77].opcodes[1]={type:7,string:[48]},this.rules[77].opcodes[2]={type:2,children:[3,4]},this.rules[77].opcodes[3]={type:4,index:21},this.rules[77].opcodes[4]={type:3,min:0,max:1/0},this.rules[77].opcodes[5]={type:4,index:65},this.rules[78].opcodes=[],this.rules[78].opcodes[0]={type:7,string:[46]},this.rules[79].opcodes=[],this.rules[79].opcodes[0]={type:7,string:[46,46]},this.rules[80].opcodes=[],this.rules[80].opcodes[0]={type:7,string:[91]},this.rules[81].opcodes=[],this.rules[81].opcodes[0]={type:7,string:[93]},this.rules[82].opcodes=[],this.rules[82].opcodes[0]={type:7,string:[40]},this.rules[83].opcodes=[],this.rules[83].opcodes[0]={type:7,string:[41]},this.rules[84].opcodes=[],this.rules[84].opcodes[0]={type:7,string:[44]},this.rules[85].opcodes=[],this.rules[85].opcodes[0]={type:7,string:[58]},this.rules[86].opcodes=[],this.rules[86].opcodes[0]={type:6,string:[34]},this.rules[87].opcodes=[],this.rules[87].opcodes[0]={type:6,string:[39]},this.rules[88].opcodes=[],this.rules[88].opcodes[0]={type:7,string:[63]},this.rules[89].opcodes=[],this.rules[89].opcodes[0]={type:7,string:[124,124]},this.rules[90].opcodes=[],this.rules[90].opcodes[0]={type:7,string:[38,38]},this.toString=function(){let e="";return e+="; JSONPath: Query Expressions for JSON\n",e+="; https://www.rfc-editor.org/rfc/rfc9535\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\n",e+="jsonpath-query = root-identifier segments\n",e+="segments = *(S segment)\n",e+="\n",e+="B = %x20 / ; Space\n",e+=" %x09 / ; Horizontal tab\n",e+=" %x0A / ; Line feed or New line\n",e+=" %x0D ; Carriage return\n",e+="S = *B ; optional blank space\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\n",e+='root-identifier = "$"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\n",e+="selector = name-selector /\n",e+=" wildcard-selector /\n",e+=" slice-selector /\n",e+=" index-selector /\n",e+=" filter-selector\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\n",e+="name-selector = string-literal\n",e+="\n",e+='string-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n',e+=" squote *single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="\n",e+="double-quoted = unescaped /\n",e+=" %x27 / ; '\n",e+=' ESC %x22 / ; \\"\n',e+=" ESC escapable\n",e+="\n",e+="single-quoted = unescaped /\n",e+=' %x22 / ; "\n',e+=" ESC %x27 / ; \\'\n",e+=" ESC escapable\n",e+="\n",e+="ESC = %x5C ; \\ backslash\n",e+="\n",e+="unescaped = %x20-21 / ; see RFC 8259\n",e+=' ; omit 0x22 "\n',e+=" %x23-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=' "/" / ; / slash (solidus) U+002F\n',e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 hexchar) ; uXXXX U+XXXX\n",e+="\n",e+="hexchar = non-surrogate /\n",e+=' (high-surrogate "\\" %x75 low-surrogate)\n',e+='non-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n',e+=' ("D" %x30-37 2HEXDIG )\n',e+='high-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\n',e+='low-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n',e+="\n",e+='HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\n",e+='wildcard-selector = "*"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\n",e+="index-selector = int ; decimal integer\n",e+="\n",e+='int = "0" /\n',e+=' (["-"] DIGIT1 *DIGIT) ; - optional\n',e+="DIGIT1 = %x31-39 ; 1-9 non-zero digit\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\n",e+="slice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="start = int ; included in selection\n",e+="end = int ; not included in selection\n",e+="step = int ; default: 1\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\n",e+="filter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="logical-expr = logical-or-expr\n",e+="logical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; disjunction\n",e+=" ; binds less tightly than conjunction\n",e+="logical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; conjunction\n",e+=" ; binds more tightly than disjunction\n",e+="\n",e+="basic-expr = paren-expr /\n",e+=" comparison-expr /\n",e+=" test-expr\n",e+="\n",e+="paren-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n",e+=" ; parenthesized expression\n",e+='logical-not-op = "!" ; logical NOT operator\n',e+="\n",e+="test-expr = [logical-not-op S]\n",e+=" (filter-query / ; existence/non-existence\n",e+=" function-expr) ; LogicalType or NodesType\n",e+="filter-query = rel-query / jsonpath-query\n",e+="rel-query = current-node-identifier segments\n",e+='current-node-identifier = "@"\n',e+="\n",e+="comparison-expr = comparable S comparison-op S comparable\n",e+="literal = number / string-literal /\n",e+=" true / false / null\n",e+="comparable = singular-query / ; singular query value\n",e+=" function-expr / ; ValueType\n",e+=" literal\n",e+=" ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\n",e+='comparison-op = "==" / "!=" /\n',e+=' "<=" / ">=" /\n',e+=' "<" / ">"\n',e+="\n",e+="singular-query = rel-singular-query / abs-singular-query\n",e+="rel-singular-query = current-node-identifier singular-query-segments\n",e+="abs-singular-query = root-identifier singular-query-segments\n",e+="singular-query-segments = *(S (name-segment / index-segment))\n",e+="name-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n",e+=" (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\n",e+="index-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="\n",e+='number = (int / "-0") [ frac ] [ exp ] ; decimal number\n',e+='frac = "." 1*DIGIT ; decimal fraction\n',e+='exp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\n',e+="true = %x74.72.75.65 ; true\n",e+="false = %x66.61.6c.73.65 ; false\n",e+="null = %x6e.75.6c.6c ; null\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\n",e+="function-name = function-name-first *function-name-char\n",e+="function-name-first = LCALPHA\n",e+='function-name-char = function-name-first / "_" / DIGIT\n',e+='LCALPHA = %x61-7A ; "a".."z"\n',e+="\n",e+="function-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n",e+=" *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\n",e+="function-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n",e+=" filter-query / ; (includes singular-query)\n",e+=" function-expr /\n",e+=" literal\n",e+="\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\n",e+="segment = child-segment / descendant-segment\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\n",e+="child-segment = bracketed-selection /\n",e+=" (dot-prefix ; MODIFICATION: surrogate text rule used\n",e+=" (wildcard-selector /\n",e+=" member-name-shorthand))\n",e+="\n",e+="bracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n",e+=" ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="member-name-shorthand = name-first *name-char\n",e+="name-first = ALPHA /\n",e+=' "_" /\n',e+=" %x80-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="name-char = name-first / DIGIT\n",e+="\n",e+="DIGIT = %x30-39 ; 0-9\n",e+="ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\n",e+="descendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n",e+=" wildcard-selector /\n",e+=" member-name-shorthand)\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\n",e+="normalized-path = root-identifier *(normal-index-segment)\n",e+="normal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="normal-selector = normal-name-selector / normal-index-selector\n",e+="normal-name-selector = squote *normal-single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="normal-single-quoted = normal-unescaped /\n",e+=" ESC normal-escapable\n",e+="normal-unescaped = ; omit %x0-1F control codes\n",e+=" %x20-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="normal-escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=" \"'\" / ; ' apostrophe U+0027\n",e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 normal-hexchar)\n",e+=" ; certain values u00xx U+00XX\n",e+='normal-hexchar = "0" "0"\n',e+=" (\n",e+=' ("0" %x30-37) / ; "00"-"07"\n',e+=" ; omit U+0008-U+000A BS HT LF\n",e+=' ("0" %x62) / ; "0b"\n',e+=" ; omit U+000C-U+000D FF CR\n",e+=' ("0" %x65-66) / ; "0e"-"0f"\n',e+=' ("1" normal-HEXDIG)\n',e+=" )\n",e+='normal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\n',e+='normal-index-selector = "0" / (DIGIT1 *DIGIT)\n',e+=" ; non-negative decimal integer\n",e+="\n",e+="; Surrogate named rules\n",e+='dot-prefix = "."\n',e+='double-dot-prefix = ".."\n',e+='left-bracket = "["\n',e+='right-bracket = "]"\n',e+='left-paren = "("\n',e+='right-paren = ")"\n',e+='comma = ","\n',e+='colon = ":"\n',e+='dquote = %x22 ; "\n',e+="squote = %x27 ; '\n",e+='questionmark = "?"\n',e+='disjunction = "||"\n',e+='conjunction = "&&"\n','; JSONPath: Query Expressions for JSON\n; https://www.rfc-editor.org/rfc/rfc9535\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\njsonpath-query = root-identifier segments\nsegments = *(S segment)\n\nB = %x20 / ; Space\n %x09 / ; Horizontal tab\n %x0A / ; Line feed or New line\n %x0D ; Carriage return\nS = *B ; optional blank space\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\nroot-identifier = "$"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\nselector = name-selector /\n wildcard-selector /\n slice-selector /\n index-selector /\n filter-selector\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\nname-selector = string-literal\n\nstring-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n squote *single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\n\ndouble-quoted = unescaped /\n %x27 / ; \'\n ESC %x22 / ; \\"\n ESC escapable\n\nsingle-quoted = unescaped /\n %x22 / ; "\n ESC %x27 / ; \\\'\n ESC escapable\n\nESC = %x5C ; \\ backslash\n\nunescaped = %x20-21 / ; see RFC 8259\n ; omit 0x22 "\n %x23-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nescapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "/" / ; / slash (solidus) U+002F\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 hexchar) ; uXXXX U+XXXX\n\nhexchar = non-surrogate /\n (high-surrogate "\\" %x75 low-surrogate)\nnon-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n ("D" %x30-37 2HEXDIG )\nhigh-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\nlow-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n\nHEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\nwildcard-selector = "*"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\nindex-selector = int ; decimal integer\n\nint = "0" /\n (["-"] DIGIT1 *DIGIT) ; - optional\nDIGIT1 = %x31-39 ; 1-9 non-zero digit\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\nslice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n\nstart = int ; included in selection\nend = int ; not included in selection\nstep = int ; default: 1\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\nfilter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n\nlogical-expr = logical-or-expr\nlogical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n ; disjunction\n ; binds less tightly than conjunction\nlogical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n ; conjunction\n ; binds more tightly than disjunction\n\nbasic-expr = paren-expr /\n comparison-expr /\n test-expr\n\nparen-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n ; parenthesized expression\nlogical-not-op = "!" ; logical NOT operator\n\ntest-expr = [logical-not-op S]\n (filter-query / ; existence/non-existence\n function-expr) ; LogicalType or NodesType\nfilter-query = rel-query / jsonpath-query\nrel-query = current-node-identifier segments\ncurrent-node-identifier = "@"\n\ncomparison-expr = comparable S comparison-op S comparable\nliteral = number / string-literal /\n true / false / null\ncomparable = singular-query / ; singular query value\n function-expr / ; ValueType\n literal\n ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\ncomparison-op = "==" / "!=" /\n "<=" / ">=" /\n "<" / ">"\n\nsingular-query = rel-singular-query / abs-singular-query\nrel-singular-query = current-node-identifier singular-query-segments\nabs-singular-query = root-identifier singular-query-segments\nsingular-query-segments = *(S (name-segment / index-segment))\nname-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\nindex-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n\nnumber = (int / "-0") [ frac ] [ exp ] ; decimal number\nfrac = "." 1*DIGIT ; decimal fraction\nexp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\ntrue = %x74.72.75.65 ; true\nfalse = %x66.61.6c.73.65 ; false\nnull = %x6e.75.6c.6c ; null\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\nfunction-name = function-name-first *function-name-char\nfunction-name-first = LCALPHA\nfunction-name-char = function-name-first / "_" / DIGIT\nLCALPHA = %x61-7A ; "a".."z"\n\nfunction-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\nfunction-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n filter-query / ; (includes singular-query)\n function-expr /\n literal\n\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\nsegment = child-segment / descendant-segment\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\nchild-segment = bracketed-selection /\n (dot-prefix ; MODIFICATION: surrogate text rule used\n (wildcard-selector /\n member-name-shorthand))\n\nbracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n ; MODIFICATION: surrogate text rule used\n\nmember-name-shorthand = name-first *name-char\nname-first = ALPHA /\n "_" /\n %x80-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\nname-char = name-first / DIGIT\n\nDIGIT = %x30-39 ; 0-9\nALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\ndescendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n wildcard-selector /\n member-name-shorthand)\n\n; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\nnormalized-path = root-identifier *(normal-index-segment)\nnormal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\nnormal-selector = normal-name-selector / normal-index-selector\nnormal-name-selector = squote *normal-single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\nnormal-single-quoted = normal-unescaped /\n ESC normal-escapable\nnormal-unescaped = ; omit %x0-1F control codes\n %x20-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nnormal-escapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "\'" / ; \' apostrophe U+0027\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 normal-hexchar)\n ; certain values u00xx U+00XX\nnormal-hexchar = "0" "0"\n (\n ("0" %x30-37) / ; "00"-"07"\n ; omit U+0008-U+000A BS HT LF\n ("0" %x62) / ; "0b"\n ; omit U+000C-U+000D FF CR\n ("0" %x65-66) / ; "0e"-"0f"\n ("1" normal-HEXDIG)\n )\nnormal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\nnormal-index-selector = "0" / (DIGIT1 *DIGIT)\n ; non-negative decimal integer\n\n; Surrogate named rules\ndot-prefix = "."\ndouble-dot-prefix = ".."\nleft-bracket = "["\nright-bracket = "]"\nleft-paren = "("\nright-paren = ")"\ncomma = ","\ncolon = ":"\ndquote = %x22 ; "\nsquote = %x27 ; \'\nquestionmark = "?"\ndisjunction = "||"\nconjunction = "&&"\n'}}class JSONPathError extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...s}=t;Object.assign(this,s)}}}const errors_JSONPathError=JSONPathError;class JSONPathParseError_JSONPathParseError extends errors_JSONPathError{}const errors_JSONPathParseError=JSONPathParseError_JSONPathParseError,cst_cst=e=>(t,s,r,i,n)=>{var o,a;if("object"!=typeof n||null===n||Array.isArray(n))throw new errors_JSONPathParseError("parser's user data must be an object");if(null===(o=n.options)||void 0===o||!o.optimize||0!==i||null===(a=n.options)||void 0===a||null===(a=a.droppableTypes)||void 0===a||!a.includes(e)){if(t===identifiers.SEM_PRE){const t={type:e,text:utilities.charsToString(s,r,i),start:r,length:i,children:[]};if(n.stack.length>0){var c,l;const e=n.stack[n.stack.length-1],s=e.children[e.children.length-1],r="text"===e.type&&"text"===t.type;(null===(c=n.options)||void 0===c?void 0:c.optimize)&&(null===(l=n.options)||void 0===l||null===(l=l.collapsibleTypes)||void 0===l?void 0:l.includes(t.type))&&(null==s?void 0:s.type)===t.type?(s.text+=t.text,s.length+=t.length):r||e.children.push(t)}else n.root=t;n.stack.push(t)}t===identifiers.SEM_POST&&n.stack.pop()}},parse_callbacks_cst=cst_cst;class translators_CSTTranslator_CSTTranslator extends Ast{constructor(){super(),this.callbacks["jsonpath-query"]=parse_callbacks_cst("jsonpath-query"),this.callbacks.segments=parse_callbacks_cst("segments"),this.callbacks.B=parse_callbacks_cst("text"),this.callbacks.S=parse_callbacks_cst("text"),this.callbacks["root-identifier"]=parse_callbacks_cst("root-identifier"),this.callbacks.selector=parse_callbacks_cst("selector"),this.callbacks["name-selector"]=parse_callbacks_cst("name-selector"),this.callbacks["string-literal"]=parse_callbacks_cst("string-literal"),this.callbacks["double-quoted"]=parse_callbacks_cst("double-quoted"),this.callbacks["single-quoted"]=parse_callbacks_cst("single-quoted"),this.callbacks["wildcard-selector"]=parse_callbacks_cst("wildcard-selector"),this.callbacks["index-selector"]=parse_callbacks_cst("index-selector"),this.callbacks["slice-selector"]=parse_callbacks_cst("slice-selector"),this.callbacks.start=parse_callbacks_cst("start"),this.callbacks.end=parse_callbacks_cst("end"),this.callbacks.step=parse_callbacks_cst("step"),this.callbacks["filter-selector"]=parse_callbacks_cst("filter-selector"),this.callbacks["logical-expr"]=parse_callbacks_cst("logical-expr"),this.callbacks["logical-or-expr"]=parse_callbacks_cst("logical-or-expr"),this.callbacks["logical-and-expr"]=parse_callbacks_cst("logical-and-expr"),this.callbacks["basic-expr"]=parse_callbacks_cst("basic-expr"),this.callbacks["paren-expr"]=parse_callbacks_cst("paren-expr"),this.callbacks["logical-not-op"]=parse_callbacks_cst("logical-not-op"),this.callbacks["test-expr"]=parse_callbacks_cst("test-expr"),this.callbacks["filter-query"]=parse_callbacks_cst("filter-query"),this.callbacks["rel-query"]=parse_callbacks_cst("rel-query"),this.callbacks["current-node-identifier"]=parse_callbacks_cst("current-node-identifier"),this.callbacks["comparison-expr"]=parse_callbacks_cst("comparison-expr"),this.callbacks.literal=parse_callbacks_cst("literal"),this.callbacks.comparable=parse_callbacks_cst("comparable"),this.callbacks["comparison-op"]=parse_callbacks_cst("comparison-op"),this.callbacks["singular-query"]=parse_callbacks_cst("singular-query"),this.callbacks["rel-singular-query"]=parse_callbacks_cst("rel-singular-query"),this.callbacks["abs-singular-query"]=parse_callbacks_cst("abs-singular-query"),this.callbacks["singular-query-segments"]=parse_callbacks_cst("singular-query-segments"),this.callbacks["name-segment"]=parse_callbacks_cst("name-segment"),this.callbacks["index-segment"]=parse_callbacks_cst("index-segment"),this.callbacks.number=parse_callbacks_cst("number"),this.callbacks.true=parse_callbacks_cst("true"),this.callbacks.false=parse_callbacks_cst("false"),this.callbacks.null=parse_callbacks_cst("null"),this.callbacks["function-name"]=parse_callbacks_cst("function-name"),this.callbacks["function-expr"]=parse_callbacks_cst("function-expr"),this.callbacks["function-argument"]=parse_callbacks_cst("function-argument"),this.callbacks.segment=parse_callbacks_cst("segment"),this.callbacks["child-segment"]=parse_callbacks_cst("child-segment"),this.callbacks["bracketed-selection"]=parse_callbacks_cst("bracketed-selection"),this.callbacks["member-name-shorthand"]=parse_callbacks_cst("member-name-shorthand"),this.callbacks["descendant-segment"]=parse_callbacks_cst("descendant-segment"),this.callbacks["normalized-path"]=parse_callbacks_cst("normalized-path"),this.callbacks["normal-index-segment"]=parse_callbacks_cst("normal-index-segment"),this.callbacks["normal-selector"]=parse_callbacks_cst("normal-selector"),this.callbacks["normal-name-selector"]=parse_callbacks_cst("normal-name-selector"),this.callbacks["normal-index-selector"]=parse_callbacks_cst("normal-index-selector"),this.callbacks["normal-single-quoted"]=parse_callbacks_cst("normal-single-quoted"),this.callbacks["dot-prefix"]=parse_callbacks_cst("text"),this.callbacks["double-dot-prefix"]=parse_callbacks_cst("text"),this.callbacks["left-bracket"]=parse_callbacks_cst("text"),this.callbacks["right-bracket"]=parse_callbacks_cst("text"),this.callbacks.comma=parse_callbacks_cst("text"),this.callbacks.colon=parse_callbacks_cst("text"),this.callbacks.dquote=parse_callbacks_cst("text"),this.callbacks.squote=parse_callbacks_cst("text"),this.callbacks.questionmark=parse_callbacks_cst("text"),this.callbacks.disjunction=parse_callbacks_cst("text"),this.callbacks.conjunction=parse_callbacks_cst("text"),this.callbacks["left-paren"]=parse_callbacks_cst("text"),this.callbacks["right-paren"]=parse_callbacks_cst("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}}const parse_translators_CSTTranslator=translators_CSTTranslator_CSTTranslator;class CSTOptimizedTranslator_CSTOptimizedTranslator extends parse_translators_CSTTranslator{collapsibleTypes=["single-quoted","double-quoted","normal-single-quoted"];droppableTypes=["text","segments","singular-query-segments"];constructor({collapsibleTypes:e,droppableTypes:t}={}){super(),Array.isArray(e)&&(this.collapsibleTypes=e),Array.isArray(t)&&(this.droppableTypes=t)}getTree(){const e={stack:[],root:null,options:{optimize:!0,collapsibleTypes:this.collapsibleTypes,droppableTypes:this.droppableTypes}};return this.translate(e),delete e.stack,delete e.options,e}}const translators_CSTOptimizedTranslator=null,decodeDoubleQuotedString=e=>decodeJSONValue(`"${e}"`),decodeSingleQuotedString=e=>{let t="";for(let s=0;s<e.length;s++){const r=e[s];if("\\"===r){if(s++,s>=e.length){t+="\\";break}const r=e[s];switch(r){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"/":t+="/";break;case"\\":t+="\\";break;case"'":t+="'";break;case'"':t+='"';break;case"u":{const r=e.slice(s+1,s+5);t+=String.fromCharCode(parseInt(r,16)),s+=4;break}default:t+=r}}else t+=r}return decodeJSONValue(JSON.stringify(t))},decodeInteger=e=>{const t=parseInt(e,10);if(!Number.isSafeInteger(t))throw new RangeError(`Integer value out of safe range [-(2^53)+1, (2^53)-1], got: ${e}`);return t},decodeJSONValue=e=>JSON.parse(e),transformers_transformCSTtoAST=(e,t,s={parent:null,path:[]})=>{const r=t[e.type];if(!r)throw new errors_JSONPathParseError(`No transformer for CST node type: ${e.type}`);return r(e,{parent:e,path:[...s.path,e]})},transformers_transformers={"jsonpath-query"(e,t){const s=e.children.find(e=>"segments"===e.type);return{type:"JsonPathQuery",segments:s?s.children.filter(({type:e})=>"segment"===e).map(e=>transformers_transformCSTtoAST(e,transformers_transformers,t)):[]}},segment(e,t){const s=e.children.find(({type:e})=>["child-segment","descendant-segment"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},selector(e,t){const s=e.children.find(({type:e})=>["name-selector","wildcard-selector","slice-selector","index-selector","filter-selector"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"name-selector"(e,t){const s=e.children.find(({type:e})=>"string-literal"===e),r=transformers_transformCSTtoAST(s,transformers_transformers,t);return{type:"NameSelector",value:r.value,format:r.format}},"string-literal"(e){const t=e.children.find(({type:e,text:t})=>"text"===e&&"'"===t),s=e.children.find(({type:e})=>["double-quoted","single-quoted"].includes(e));return{type:"StringLiteral",value:s?(t?decodeSingleQuotedString:decodeDoubleQuotedString)(s.text):"",format:t?"single-quoted":"double-quoted"}},"wildcard-selector":()=>({type:"WildcardSelector"}),"index-selector":e=>({type:"IndexSelector",value:decodeInteger(e.text)}),"slice-selector"(e){const t=e.children.find(({type:e})=>"start"===e),s=e.children.find(({type:e})=>"end"===e),r=e.children.find(({type:e})=>"step"===e);return{type:"SliceSelector",start:t?decodeInteger(t.text):null,end:s?decodeInteger(s.text):null,step:r?decodeInteger(r.text):null}},"filter-selector"(e,t){const s=e.children.find(({type:e})=>"logical-expr"===e);return{type:"FilterSelector",expression:transformers_transformCSTtoAST(s,transformers_transformers,t)}},"logical-expr"(e,t){const s=e.children.find(({type:e})=>"logical-or-expr"===e);return transformers_transformCSTtoAST(s,transformers_transformers,t)},"logical-or-expr"(e,t){const s=e.children.filter(({type:e})=>"logical-and-expr"===e);if(1===s.length)return transformers_transformCSTtoAST(s[0],transformers_transformers,t);let r=transformers_transformCSTtoAST(s[0],transformers_transformers,t);for(let e=1;e<s.length;e+=1){r={type:"LogicalOrExpr",left:r,right:transformers_transformCSTtoAST(s[e],transformers_transformers,t)}}},"logical-and-expr"(e,t){const s=e.children.filter(({type:e})=>"basic-expr"===e);if(1===s.length)return transformers_transformCSTtoAST(s[0],transformers_transformers,t);let r=transformers_transformCSTtoAST(s[0],transformers_transformers,t);for(let e=1;e<s.length;e+=1){r={type:"LogicalAndExpr",left:r,right:transformers_transformCSTtoAST(s[e],transformers_transformers,t)}}return r},"basic-expr"(e,t){const s=e.children.find(({type:e})=>["paren-expr","comparison-expr","test-expr"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"paren-expr"(e,t){const s=e.children.some(e=>"logical-not-op"===e.type),r=e.children.find(e=>"logical-expr"===e.type),i=transformers_transformCSTtoAST(r,transformers_transformers,t);return s?{type:"LogicalNotExpr",expression:i}:i},"test-expr"(e,t){const s=e.children.some(({type:e})=>"logical-not-op"===e),r=e.children.find(({type:e})=>["filter-query","function-expr"].includes(e)),i={type:"TestExpr",expression:transformers_transformCSTtoAST(r,transformers_transformers,t)};return s?{type:"LogicalNotExpr",expression:i}:i},"filter-query"(e,t){const s=e.children.find(({type:e})=>["rel-query","jsonpath-query"].includes(e));return{type:"FilterQuery",query:transformers_transformCSTtoAST(s,transformers_transformers,t)}},"rel-query"(e,t){const s=e.children.find(e=>"segments"===e.type);return{type:"RelQuery",segments:s?s.children.filter(e=>"segment"===e.type).map(e=>transformers_transformCSTtoAST(e,transformers_transformers,t)):[]}},"comparison-expr"(e,t){const s=e.children.filter(({type:e})=>["comparable","comparison-op"].includes(e)),[r,i,n]=s;return{type:"ComparisonExpr",left:transformers_transformCSTtoAST(r,transformers_transformers,t),op:i.text,right:transformers_transformCSTtoAST(n,transformers_transformers,t)}},literal(e,t){const s=e.children.find(({type:e})=>["number","string-literal","true","false","null"].includes(e));if("string-literal"===s.type){return{type:"Literal",value:transformers_transformCSTtoAST(s,transformers_transformers,t).value}}return{type:"Literal",value:decodeJSONValue(s.text)}},comparable(e,t){const s=e.children.find(({type:e})=>["singular-query","function-expr","literal"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"singular-query"(e,t){const s=e.children.find(({type:e})=>["rel-singular-query","abs-singular-query"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"rel-singular-query"(e,t){const s=e.children.find(({type:e})=>"singular-query-segments"===e),r=s?s.children.filter(({type:e})=>["name-segment","index-segment"].includes(e)).map(e=>({type:"SingularQuerySegment",selector:transformers_transformCSTtoAST(e,transformers_transformers,t)})):[];return{type:"RelSingularQuery",segments:r}},"abs-singular-query"(e,t){const s=e.children.find(({type:e})=>"singular-query-segments"===e),r=s?s.children.filter(({type:e})=>["name-segment","index-segment"].includes(e)).map(e=>({type:"SingularQuerySegment",selector:transformers_transformCSTtoAST(e,transformers_transformers,t)})):[];return{type:"AbsSingularQuery",segments:r}},"name-segment"(e,t){const s=e.children.find(({type:e})=>["name-selector","member-name-shorthand"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"index-segment"(e,t){const s=e.children.find(({type:e})=>"index-selector"===e);return transformers_transformCSTtoAST(s,transformers_transformers,t)},"function-expr"(e,t){const s=e.children.find(({type:e})=>"function-name"===e),r=e.children.filter(({type:e})=>"function-argument"===e);return{type:"FunctionExpr",name:s.text,arguments:r.map(e=>transformers_transformCSTtoAST(e,transformers_transformers,t))}},"function-argument"(e,t){const s=e.children.find(({type:e})=>["logical-expr","function-expr","filter-query","literal"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"child-segment"(e,t){const s=e.children.find(({type:e})=>["bracketed-selection","wildcard-selector","member-name-shorthand"].includes(e));return{type:"ChildSegment",selector:transformers_transformCSTtoAST(s,transformers_transformers,t)}},"bracketed-selection":(e,t)=>({type:"BracketedSelection",selectors:e.children.filter(({type:e})=>"selector"===e).map(e=>transformers_transformCSTtoAST(e,transformers_transformers,t))}),"member-name-shorthand":e=>({type:"NameSelector",value:e.text,format:"shorthand"}),"descendant-segment"(e,t){const s=e.children.find(({type:e})=>["bracketed-selection","wildcard-selector","member-name-shorthand"].includes(e));return{type:"DescendantSegment",selector:transformers_transformCSTtoAST(s,transformers_transformers,t)}},"normalized-path":(e,t)=>({type:"JsonPathQuery",segments:e.children.filter(({type:e})=>"normal-index-segment"===e).map(e=>transformers_transformCSTtoAST(e,transformers_transformers,t))}),"normal-index-segment"(e,t){const s=e.children.find(({type:e})=>"normal-selector"===e);return{type:"ChildSegment",selector:transformers_transformCSTtoAST(s,transformers_transformers,t)}},"normal-selector"(e,t){const s=e.children.find(({type:e})=>["normal-name-selector","normal-index-selector"].includes(e));return transformers_transformCSTtoAST(s,transformers_transformers,t)},"normal-name-selector"(e){const t=e.children.find(({type:e})=>"normal-single-quoted"===e);return{type:"NameSelector",value:t?decodeSingleQuotedString(t.text):"",format:"single-quoted"}},"normal-index-selector":e=>({type:"IndexSelector",value:decodeInteger(e.text)})},ASTTranslator_transformers=null;class translators_ASTTranslator_ASTTranslator extends(null){getTree(){const e=super.getTree();return transformCSTtoAST(e.root,transformers)}}const parse_translators_ASTTranslator=null,es_parse_grammar=new grammar_grammar,es_parse_parse=(e,{normalized:t=!1,stats:s=!1,trace:r=!1,translator:i=new ASTTranslator}={})=>{if("string"!=typeof e)throw new TypeError("JSONPath must be a string");try{const n=new Parser;i&&(n.ast=i),s&&(n.stats=new Stats),r&&(n.trace=new Trace);const o=t?"normalized-path":"jsonpath-query",a=n.parse(es_parse_grammar,o,e);return{result:a,tree:a.success&&i?n.ast.getTree():void 0,stats:n.stats,trace:n.trace}}catch(t){throw new JSONPathParseError("Unexpected error during JSONPath parsing",{cause:t,jsonPath:e})}},jsonpath_es_parse=null;class XMLTranslator_XMLTranslator extends(null){getTree(){return this.toXml()}}const parse_translators_XMLTranslator=null,test=(e,{normalized:t=!1}={})=>{if("string"!=typeof e)return!1;try{const{result:s}=parse(e,{normalized:t,stats:!1,trace:!1,translator:null});return s.success}catch{return!1}},es_test=null,es_escape_escape=e=>{if("string"!=typeof e)throw new TypeError("Selector must be a string");let t="";for(const s of e){const e=s.codePointAt(0);switch(e){case 8:t+="\\b";break;case 9:t+="\\t";break;case 10:t+="\\n";break;case 12:t+="\\f";break;case 13:t+="\\r";break;case 39:t+="\\'";break;case 92:t+="\\\\";break;default:t+=e<=31?`\\u${e.toString(16).padStart(4,"0")}`:s}}return t},jsonpath_es_escape=es_escape_escape;class JSONPathCompileError extends errors_JSONPathError{}const errors_JSONPathCompileError=JSONPathCompileError,compile_compile=e=>{if(!Array.isArray(e))throw new errors_JSONPathCompileError("Selectors must be an array, got: "+typeof e,{selectors:e});try{return`$${e.map(e=>{if("string"==typeof e)return`['${jsonpath_es_escape(e)}']`;if("number"==typeof e){if(!Number.isSafeInteger(e)||e<0)throw new TypeError(`Index selector must be a non-negative safe integer, got: ${e}`);return`[${e}]`}throw new TypeError("Selector must be a string or non-negative integer, got: "+typeof e)}).join("")}`}catch(t){throw new errors_JSONPathCompileError("Failed to compile normalized JSONPath",{cause:t,selectors:e})}},jsonpath_es_compile=compile_compile;class Path{node;key;index;parent;parentPath;inList;#e=!1;#t=!1;#s=!1;#r=!1;#i;#n=!1;constructor(e,t,s,r,i){this.node=e,this.parent=t,this.parentPath=s,this.key=r,this.index=i&&"number"==typeof r?r:void 0,this.inList=i}get shouldSkip(){return this.#e}get shouldStop(){return this.#t}get removed(){return this.#s}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}formatPath(e="jsonpointer"){const t=this.getPathKeys();return 0===t.length?"jsonpath"===e?"$":"":"jsonpath"===e?jsonpath_es_compile(t):es_compile(t)}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#e=!0}stop(){this.#t=!0}replaceWith(e){this.#n&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#r=!0,this.#i=e,this.node=e}remove(){this.#n&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#s=!0}_getReplacementNode(){return this.#i}_wasReplaced(){return this.#r}_reset(){this.#e=!1,this.#t=!1,this.#s=!1,this.#r=!1,this.#i=void 0}_markStale(){this.#n=!0}}class ApiDOMStructuredError extends src_ApiDOMError{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...s}=t;Object.assign(this,s)}}}const src_ApiDOMStructuredError=ApiDOMStructuredError;var or=_curry2(function(e,t){return e||t});const es_or=or;var either=_curry2(function(e,t){return _isFunction(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:es_lift(es_or)(e,t)});const es_either=either;var isObj=es_curryN(1,es_both(es_isNotNull,es_either(internal_isOfTypeObject,es_isFunction)));const es_isObj=isObj;var isPromise=es_curryN(1,es_both(es_isObj,pipe(es_toString,es_equals("[object Promise]"))));const es_isPromise=isPromise;class CloneError extends src_ApiDOMStructuredError{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}}const errors_CloneError=CloneError;class DeepCloneError extends errors_CloneError{}const errors_DeepCloneError=DeepCloneError;class ShallowCloneError extends errors_CloneError{}const errors_ShallowCloneError=ShallowCloneError,cloneDeepElement=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const i=cloneShallowElement(e);s.set(e,i);const{content:n}=e;return Array.isArray(n)?i.content=n.map(e=>cloneDeepElement(e,r)):isElement(n)?i.content=cloneDeepElement(n,r):i.content=n instanceof src_KeyValuePair?cloneDeepKeyValuePair(n,r):n,i},cloneDeepKeyValuePair=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const{key:i,value:n}=e,o=void 0!==i?cloneDeepElement(i,r):void 0,a=void 0!==n?cloneDeepElement(n,r):void 0,c=new src_KeyValuePair(o,a);return s.set(e,c),c},cloneDeepObjectSlice=(e,t)=>{const{visited:s=new WeakMap}=t,r={...t,visited:s};if(s.has(e))return s.get(e);const i=[...e].map(e=>cloneDeepElement(e,r)),n=new src_ObjectSlice(i);return s.set(e,n),n},cloneDeep=(e,t={})=>{if(e instanceof src_KeyValuePair)return cloneDeepKeyValuePair(e,t);if(e instanceof src_ObjectSlice)return cloneDeepObjectSlice(e,t);if(isElement(e))return cloneDeepElement(e,t);throw new errors_DeepCloneError("Value provided to cloneDeep function couldn't be cloned",{value:e})};cloneDeep.safe=e=>{try{return cloneDeep(e)}catch{return e}};const cloneShallowKeyValuePair=e=>{const{key:t,value:s}=e;return new src_KeyValuePair(t,s)},cloneShallowObjectSlice=e=>{const t=[...e];return new src_ObjectSlice(t)},cloneShallowElement=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=cloneDeep(e.meta)),e.isAttributesEmpty||(t.attributes=cloneDeep(e.attributes)),hasElementSourceMap(e)&&SourceMap.transfer(e,t);const{content:s}=e;return isElement(s)?t.content=cloneShallowElement(s):Array.isArray(s)?t.content=[...s]:t.content=s instanceof src_KeyValuePair?cloneShallowKeyValuePair(s):s,t},cloneShallow=e=>{if(e instanceof src_KeyValuePair)return cloneShallowKeyValuePair(e);if(e instanceof src_ObjectSlice)return cloneShallowObjectSlice(e);if(isElement(e))return cloneShallowElement(e);throw new errors_ShallowCloneError("Value provided to cloneShallow function couldn't be cloned",{value:e})};cloneShallow.safe=e=>{try{return cloneShallow(e)}catch{return e}};const getNodeType=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},getNodePrimitiveType=e=>{const t=e.primitive();return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},isNode=e=>isElement(e),cloneNode=e=>cloneShallow(e),mutateNode=(e,t,s)=>{isMemberElement(e)?e.value=s:Array.isArray(e)?e[t]=null===s?void 0:s:null===s?delete e[t]:e[t]=s},getNodeKeys=e=>isMemberElement(e)?["key","value"]:isArrayElement(e)||isObjectElement(e)?["content"]:[],lookup=(e,t)=>{if(void 0!==e[t])return e[t];const s=t.length;for(const r in e){if(!r.includes("|"))continue;const i=r.indexOf(t);if(-1===i)continue;const n=0===i||"|"===r[i-1],o=i+s===r.length||"|"===r[i+s];if(n&&o)return e[r]}},getVisitFn=(e,t,s)=>{if(void 0===t)return null;const r=e,i=s?"leave":"enter",n=lookup(r,t);if(!s&&"function"==typeof n)return n;if(null!=n){const e=n[i];if("function"==typeof e)return e}const o=r[i];if("function"==typeof o)return o;if(null!=o){const e=lookup(o,t);if("function"==typeof e)return e}return null},mergeVisitors=(e,t={})=>{const{visitFnGetter:s=getVisitFn,nodeTypeGetter:r=getNodeType,exposeEdits:i=!1}=t,n=Symbol("internal-skip"),o=Symbol("break"),a=new Array(e.length).fill(n);return{enter(t){let c=t.node,l=!1;for(let _=0;_<e.length;_+=1)if(a[_]===n){const n=s(e[_],r(c),!1);if("function"==typeof n){const s=createPathProxy(t,c),r=n.call(e[_],s);if(es_isPromise(r))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:e[_],visitFn:n});if(s.shouldStop){a[_]=o;break}if(s.shouldSkip&&(a[_]=c),s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();if(!i)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==r){if(!i)return t.replaceWith(r),r;c=r,l=!0}}}if(l)return t.replaceWith(c),c},leave(t){const i=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===n){const n=s(e[c],r(i),!0);if("function"==typeof n){const s=createPathProxy(t,i),r=n.call(e[c],s);if(es_isPromise(r))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:e[c],visitFn:n});if(s.shouldStop){a[c]=o;break}if(s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else a[c]===i&&(a[c]=n)}}},mergeVisitorsAsync=(e,t={})=>{const{visitFnGetter:s=getVisitFn,nodeTypeGetter:r=getNodeType,exposeEdits:i=!1}=t,n=Symbol("internal-skip"),o=Symbol("break"),a=new Array(e.length).fill(n);return{async enter(t){let c=t.node,l=!1;for(let _=0;_<e.length;_+=1)if(a[_]===n){const n=s(e[_],r(c),!1);if("function"==typeof n){const s=createPathProxy(t,c),r=await n.call(e[_],s);if(s.shouldStop){a[_]=o;break}if(s.shouldSkip&&(a[_]=c),s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();if(!i)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==r){if(!i)return t.replaceWith(r),r;c=r,l=!0}}}if(l)return t.replaceWith(c),c},async leave(t){const i=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===n){const n=s(e[c],r(i),!0);if("function"==typeof n){const s=createPathProxy(t,i),r=await n.call(e[c],s);if(s.shouldStop){a[c]=o;break}if(s.removed)return void t.remove();if(s._wasReplaced()){const e=s._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else a[c]===i&&(a[c]=n)}}};function createPathProxy(e,t){return new Path(t,e.parent,e.parentPath,e.key,e.inList)}function*traverseGenerator(e,t,s){const{keyMap:r,state:i,nodeTypeGetter:n,nodePredicate:o,nodeCloneFn:a,detectCycles:c,mutable:l,mutationFn:_}=s,m="function"==typeof r;let p,u,d=Array.isArray(e),h=[e],f=-1,y=[],g=e,b=null,x=null;const E=[];do{f+=1;const e=f===h.length;let s;const v=e&&0!==y.length;if(e){if(s=0===E.length?void 0:b?.key,g=u,u=E.pop(),x=b?.parentPath?.parentPath??null,v)if(l)for(const[e,t]of y)_(g,e,t);else if(d){g=g.slice();let e=0;for(const[t,s]of y){const r=t-e;null===s?(g.splice(r,1),e+=1):g[r]=s}}else{g=a(g);for(const[e,t]of y)g[e]=t}if(void 0!==p){f=p.index,h=p.keys,y=p.edits;const e=p.inArray;if(x=p.parentPath,p=p.prev,v&&!l){const t=e?f:h[f];y.push([t,g])}d=e}}else if(void 0!==u&&(s=d?f:h[f],g=u[s],void 0===g))continue;if(!Array.isArray(g)){if(!o(g))throw new src_ApiDOMStructuredError(`Invalid AST Node: ${String(g)}`,{node:g});if(c&&E.includes(g))continue;b=new Path(g,u,x,s,d);const r=getVisitFn(t,n(g),e);if(r){for(const[e,s]of Object.entries(i))t[e]=s;const n=yield{visitFn:r,path:b,isLeaving:e};if(b.shouldStop)break;if(b.shouldSkip&&!e)continue;if(b.removed){if(y.push([s,null]),!e)continue}else if(b._wasReplaced()){const t=b._getReplacementNode();if(y.push([s,t]),!e){if(!o(t))continue;g=t}}else if(void 0!==n&&(y.push([s,n]),!e)){if(!o(n))continue;g=n}b._markStale()}}if(!e){if(p={inArray:d,index:f,keys:h,edits:y,parentPath:x,prev:p},d=Array.isArray(g),d)h=g;else if(m)h=r(g);else{const e=n(g);h=void 0!==e?r[e]??[]:[]}f=-1,y=[],void 0!==u&&E.push(u),u=g,x=b}}while(void 0!==p);return 0!==y.length?y.at(-1)[1]:e}mergeVisitors[Symbol.for("nodejs.util.promisify.custom")]=mergeVisitorsAsync;const traverse=(e,t,s={})=>{const r=traverseGenerator(e,t,{keyMap:s.keyMap??getNodeKeys,state:s.state??{},nodeTypeGetter:s.nodeTypeGetter??getNodeType,nodePredicate:s.nodePredicate??isNode,nodeCloneFn:s.nodeCloneFn??cloneNode,detectCycles:s.detectCycles??!0,mutable:s.mutable??!1,mutationFn:s.mutationFn??mutateNode});let i=r.next();for(;!i.done;){const e=i.value,s=e.visitFn.call(t,e.path);if(es_isPromise(s))throw new src_ApiDOMStructuredError("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});i=r.next(s)}return i.value},traverseAsync=async(e,t,s={})=>{const r=traverseGenerator(e,t,{keyMap:s.keyMap??getNodeKeys,state:s.state??{},nodeTypeGetter:s.nodeTypeGetter??getNodeType,nodePredicate:s.nodePredicate??isNode,nodeCloneFn:s.nodeCloneFn??cloneNode,detectCycles:s.detectCycles??!0,mutable:s.mutable??!1,mutationFn:s.mutationFn??mutateNode});let i=r.next();for(;!i.done;){const e=i.value,s=await e.visitFn.call(t,e.path);i=r.next(s)}return i.value};traverse[Symbol.for("nodejs.util.promisify.custom")]=traverseAsync,Path.prototype.traverse=function(e,t){return traverse(this.node,e,t)},Path.prototype.traverseAsync=function(e,t){return traverseAsync(this.node,e,t)};var mergeWithKey=_curry3(function(e,t,s){var r,i={};for(r in s=s||{},t=t||{})_has(r,t)&&(i[r]=_has(r,s)?e(r,t[r],s[r]):t[r]);for(r in s)_has(r,s)&&!_has(r,i)&&(i[r]=s[r]);return i});const es_mergeWithKey=mergeWithKey;var mergeDeepWithKey=_curry3(function e(t,s,r){return es_mergeWithKey(function(s,r,i){return _isObject(r)&&_isObject(i)?e(t,r,i):t(s,r,i)},s,r)});const es_mergeDeepWithKey=mergeDeepWithKey;var mergeDeepRight=_curry2(function(e,t){return es_mergeDeepWithKey(function(e,t,s){return s},e,t)});const es_mergeDeepRight=mergeDeepRight;var init=es_slice(0,-1);const es_init=init;var apply=_curry2(function(e,t){return e.apply(this,t)});const es_apply=apply;var isNotFunction=es_complement(es_isFunction);const es_isNotFunction=isNotFunction;function _isTypedArray(e){var t=Object.prototype.toString.call(e);return"[object Uint8ClampedArray]"===t||"[object Int8Array]"===t||"[object Uint8Array]"===t||"[object Int16Array]"===t||"[object Uint16Array]"===t||"[object Int32Array]"===t||"[object Uint32Array]"===t||"[object Float32Array]"===t||"[object Float64Array]"===t||"[object BigInt64Array]"===t||"[object BigUint64Array]"===t}var empty=_curry1(function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():e==Set||e instanceof Set?new Set:e==Map||e instanceof Map?new Map:_isArray(e)?[]:_isString(e)?"":_isObject(e)?{}:internal_isArguments(e)?function(){return arguments}():_isTypedArray(e)?e.constructor.from(""):void 0});const es_empty=empty;var isEmpty=_curry1(function(e){return null!=e&&es_equals(e,es_empty(e))});const es_isEmpty=isEmpty;var isArray=es_curryN(1,es_isFunction(Array.isArray)?Array.isArray:pipe(es_type,es_identical("Array")));const es_isArray=isArray;var isEmptyArray=es_both(es_isArray,es_isEmpty);const es_isEmptyArray=isEmptyArray;var invokeArgs=es_curryN(3,function(e,t,s){var r=es_path(e,s),i=es_path(es_init(e),s);if(!es_isNotFunction(r)&&!es_isEmptyArray(e)){var n=es_bind(r,i);return es_apply(n,t)}});const es_invokeArgs=invokeArgs;class CommentElement extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="comment"}}const Comment=CommentElement,isLinkElement=e=>e instanceof elements_LinkElement,isRefElement=e=>e instanceof elements_RefElement,isAnnotationElement=e=>e instanceof Annotation,isCommentElement=e=>e instanceof Comment,isParseResultElement=e=>e instanceof ParseResult,isSourceMapElement=e=>e instanceof SourceMap,namespace_namespace=new src_Namespace,src_namespace=namespace_namespace,predicates={isElement,isStringElement,isNumberElement,isNullElement,isBooleanElement:primitives_isBooleanElement,isArrayElement,isObjectElement,isMemberElement,isPrimitiveElement,isLinkElement,isRefElement,isAnnotationElement,isCommentElement,isParseResultElement,isSourceMapElement,hasElementSourceMap,includesSymbols,includesClasses:predicates_includesClasses},createToolbox=()=>({predicates,namespace:src_namespace}),toolbox=createToolbox,defaultDispatchPluginsOptions={toolboxCreator:toolbox,visitorOptions:{exposeEdits:!0}},dispatchPluginsSync=(e,t,s={})=>{if(0===t.length)return e;const r=es_mergeDeepRight(defaultDispatchPluginsOptions,s),{toolboxCreator:i,visitorOptions:n}=r,o=i(),a=t.map(e=>e(o)),c=mergeVisitors(a.map(es_propOr({},"visitor")),n);a.forEach(es_invokeArgs(["pre"],[]));const l=traverse(e,c);return a.forEach(es_invokeArgs(["post"],[])),l},dispatchPluginsAsync=async(e,t,s={})=>{if(0===t.length)return e;const r=es_mergeDeepRight(defaultDispatchPluginsOptions,s),{toolboxCreator:i,visitorOptions:n}=r,o=i(),a=t.map(e=>e(o)),c=mergeVisitorsAsync(a.map(es_propOr({},"visitor")),n);await Promise.allSettled(a.map(es_invokeArgs(["pre"],[])));const l=await traverseAsync(e,c);return await Promise.allSettled(a.map(es_invokeArgs(["post"],[]))),l};dispatchPluginsSync[Symbol.for("nodejs.util.promisify.custom")]=dispatchPluginsAsync;const serializer=e=>{if(!isElement(e))return e;if(isStringElement(e)||isNumberElement(e)||primitives_isBooleanElement(e)||isNullElement(e))return e.toValue();const t=new WeakMap,s=e=>{if(!isElement(e))return e;if(isObjectElement(e)){if(t.has(e))return t.get(e);const r={};return t.set(e,r),e.forEach((e,t)=>{const i=s(t),n=s(e);"string"==typeof i&&(r[i]=n)}),r}if(isArrayElement(e)){if(t.has(e))return t.get(e);const r=[];return t.set(e,r),e.forEach(e=>r.push(s(e))),r}return isRefElement(e)?String(e.toValue()):isLinkElement(e)?isStringElement(e.href)?e.href.toValue():"":e.toValue()};return s(e)},serializers_value=serializer,emptyElement=e=>{const t=e.isMetaEmpty?void 0:cloneDeep(e.meta),s=e.isAttributesEmpty?void 0:cloneDeep(e.attributes);return new e.constructor(void 0,t,s)},cloneUnlessOtherwiseSpecified=(e,t)=>t.clone&&t.isMergeableElement(e)?deepmerge(emptyElement(e),e,t):e,getMergeFunction=(e,t)=>{if("function"!=typeof t.customMerge)return deepmerge;const s=t.customMerge(e,t);return"function"==typeof s?s:deepmerge},getMetaMergeFunction=e=>"function"!=typeof e.customMetaMerge?e=>cloneDeep(e):e.customMetaMerge,getAttributesMergeFunction=e=>"function"!=typeof e.customAttributesMerge?e=>cloneDeep(e):e.customAttributesMerge,mergeArrayElement=(e,t,s)=>new(0,e.constructor)(e.concat(t).map(e=>cloneUnlessOtherwiseSpecified(e,s))),mergeObjectElement=(e,t,s)=>{const r=isObjectElement(e)?emptyElement(e):emptyElement(t);return isObjectElement(e)&&e.forEach((e,t,i)=>{const n=cloneShallow(i);n.value=cloneUnlessOtherwiseSpecified(e,s),r.content.push(n)}),t.forEach((t,i,n)=>{const o=serializers_value(i);let a;if(isObjectElement(e)&&e.hasKey(o)&&s.isMergeableElement(t)){const r=e.get(o);a=cloneShallow(n),a.value=getMergeFunction(i,s)(r,t,s)}else a=cloneShallow(n),a.value=cloneUnlessOtherwiseSpecified(t,s);r.remove(o),r.content.push(a)}),r},defaultOptions={clone:!0,isMergeableElement:e=>isObjectElement(e)||isArrayElement(e),arrayElementMerge:mergeArrayElement,objectElementMerge:mergeObjectElement,customMerge:void 0,customMetaMerge:void 0,customAttributesMerge:void 0},deepmerge=(e,t,s)=>{const r={...defaultOptions,...s};r.isMergeableElement=r.isMergeableElement??defaultOptions.isMergeableElement,r.arrayElementMerge=r.arrayElementMerge??defaultOptions.arrayElementMerge,r.objectElementMerge=r.objectElementMerge??defaultOptions.objectElementMerge;const i=isArrayElement(t);if(!(i===isArrayElement(e)))return cloneUnlessOtherwiseSpecified(t,r);const n=i&&"function"==typeof r.arrayElementMerge?r.arrayElementMerge(e,t,r):r.objectElementMerge(e,t,r);return n.meta=getMetaMergeFunction(r)(e.meta,t.meta),n.attributes=getAttributesMergeFunction(r)(e.attributes,t.attributes),n};deepmerge.all=(e,t)=>{if(!Array.isArray(e))throw new TypeError("First argument of deepmerge should be an array.");return 0===e.length?new primitives_ObjectElement:e.reduce((e,s)=>deepmerge(e,s,t),emptyElement(e[0]))};const merge_deepmerge=deepmerge;class Visitor{element;constructor(e){Object.assign(this,e)}copyMetaAndAttributes(e,t){if(!e.isMetaEmpty||!t.isMetaEmpty){const s=t.isMetaEmpty?new primitives_ObjectElement:t.meta,r=e.isMetaEmpty?new primitives_ObjectElement:e.meta;t.meta=merge_deepmerge(s,r)}if(!e.isAttributesEmpty||!t.isAttributesEmpty){const s=t.isAttributesEmpty?new primitives_ObjectElement:t.attributes,r=e.isAttributesEmpty?new primitives_ObjectElement:e.attributes;t.attributes=merge_deepmerge(s,r)}SourceMap.transfer(e,t)}}const visitors_Visitor=Visitor;class FallbackVisitor extends visitors_Visitor{enter(e){this.element=cloneDeep(e.node),e.stop()}}const visitors_FallbackVisitor=FallbackVisitor;var allPass=_curry1(function(e){return es_curryN(es_reduce(es_max,0,es_pluck("length",e)),function(){for(var t=0,s=e.length;t<s;){if(!e[t].apply(this,arguments))return!1;t+=1}return!0})});const es_allPass=allPass;var isNotEmpty=_curry1(function(e){return!es_isEmpty(e)});const es_isNotEmpty=isNotEmpty;var isNotObj=es_complement(es_isObj);const es_isNotObj=isNotObj;var isNonEmptyString=es_allPass([es_isString,es_isNotObj,es_isNotEmpty]);const es_isNonEmptyString=isNonEmptyString;var pick=_curry2(function(e,t){for(var s={},r=0;r<e.length;)e[r]in t&&(s[e[r]]=t[e[r]]),r+=1;return s});const es_pick=pick;class SpecificationVisitor extends visitors_Visitor{specObj;passingOptionsNames=["specObj","parent"];constructor({specObj:e,...t}){super({...t}),this.specObj=e}retrievePassingOptions(){return es_pick(this.passingOptionsNames,this)}retrieveFixedFields(e){const t=es_path(["visitors",...e,"fixedFields"],this.specObj);return"object"==typeof t&&null!==t?Object.keys(t):[]}retrieveVisitor(e){return es_pathSatisfies(es_isFunction,["visitors",...e],this.specObj)?es_path(["visitors",...e],this.specObj):es_path(["visitors",...e,"$visitor"],this.specObj)}retrieveVisitorInstance(e,t={}){const s=this.retrievePassingOptions();return new(this.retrieveVisitor(e))({...s,...t})}toRefractedElement(e,t,s={}){const r=this.retrieveVisitorInstance(e,s);return r instanceof visitors_FallbackVisitor&&r?.constructor===visitors_FallbackVisitor?cloneDeep(t):(traverse(t,r,s),r.element)}}const visitors_SpecificationVisitor=SpecificationVisitor;class FixedFieldsVisitor extends visitors_SpecificationVisitor{specPath;ignoredFields;constructor({specPath:e,ignoredFields:t,...s}){super({...s}),this.specPath=e,this.ignoredFields=t||[]}ObjectElement(e){const t=e.node,s=this.specPath(t),r=this.retrieveFixedFields(s);t.forEach((e,t,i)=>{const n=serializers_value(t);if(isStringElement(t)&&r.includes(n)&&!this.ignoredFields.includes(n)){const r=this.toRefractedElement([...s,"fixedFields",n],e),o=new primitives_MemberElement(cloneDeep(t),r);this.copyMetaAndAttributes(i,o),o.classes.push("fixed-field"),this.element.content.push(o)}else this.ignoredFields.includes(n)||this.element.content.push(cloneDeep(i))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const generics_FixedFieldsVisitor=FixedFieldsVisitor,copyProps=(e,t,s=[])=>{const r=Object.getOwnPropertyDescriptors(t);for(let e of s)delete r[e];Object.defineProperties(e,r)},protoChain=(e,t=[e])=>{const s=Object.getPrototypeOf(e);return null===s?t:protoChain(s,[...t,s])},nearestCommonProto=(...e)=>{if(0===e.length)return;let t;const s=e.map(e=>protoChain(e));for(;s.every(e=>e.length>0);){const e=s.map(e=>e.pop()),r=e[0];if(!e.every(e=>e===r))break;t=r}return t},hardMixProtos=(e,t,s=[])=>{var r;const i=null!==(r=nearestCommonProto(...e))&&void 0!==r?r:Object.prototype,n=Object.create(i),o=protoChain(i);for(let t of e){let e=protoChain(t);for(let t=e.length-1;t>=0;t--){let r=e[t];-1===o.indexOf(r)&&(copyProps(n,r,["constructor",...s]),o.push(r))}}return n.constructor=t,n},unique=e=>e.filter((t,s)=>e.indexOf(t)==s),getIngredientWithProp=(e,t)=>{const s=t.map(e=>protoChain(e));let r=0,i=!0;for(;i;){i=!1;for(let n=t.length-1;n>=0;n--){const t=s[n][r];if(null!=t&&(i=!0,null!=Object.getOwnPropertyDescriptor(t,e)))return s[n][0]}r++}},proxyMix=(e,t=Object.prototype)=>new Proxy({},{getPrototypeOf:()=>t,setPrototypeOf(){throw Error("Cannot set prototype of Proxies created by ts-mixer")},getOwnPropertyDescriptor:(t,s)=>Object.getOwnPropertyDescriptor(getIngredientWithProp(s,e)||{},s),defineProperty(){throw new Error("Cannot define new properties on Proxies created by ts-mixer")},has:(s,r)=>void 0!==getIngredientWithProp(r,e)||void 0!==t[r],get:(s,r)=>(getIngredientWithProp(r,e)||t)[r],set(t,s,r){const i=getIngredientWithProp(s,e);if(void 0===i)throw new Error("Cannot set new properties on Proxies created by ts-mixer");return i[s]=r,!0},deleteProperty(){throw new Error("Cannot delete properties on Proxies created by ts-mixer")},ownKeys:()=>e.map(Object.getOwnPropertyNames).reduce((e,t)=>t.concat(e.filter(e=>t.indexOf(e)<0)))}),softMixProtos=(e,t)=>proxyMix([...e,{constructor:t}]),settings={initFunction:null,staticsStrategy:"copy",prototypeStrategy:"copy",decoratorInheritance:"deep"},mixins=new WeakMap,getMixinsForClass=e=>mixins.get(e),registerMixins=(e,t)=>mixins.set(e,t),hasMixin=(e,t)=>{if(e instanceof t)return!0;const s=e.constructor,r=new Set;let i=new Set;for(i.add(s);i.size>0;){if(i.has(t))return!0;i.forEach(e=>r.add(e));const e=new Set;i.forEach(t=>{var s;const n=null!==(s=mixins.get(t))&&void 0!==s?s:protoChain(t.prototype).map(e=>e.constructor).filter(e=>null!==e);n&&n.forEach(t=>{r.has(t)||i.has(t)||e.add(t)})}),i=e}return!1},mergeObjectsOfDecorators=(e,t)=>{var s,r;const i=unique([...Object.getOwnPropertyNames(e),...Object.getOwnPropertyNames(t)]),n={};for(let o of i)n[o]=unique([...null!==(s=null==e?void 0:e[o])&&void 0!==s?s:[],...null!==(r=null==t?void 0:t[o])&&void 0!==r?r:[]]);return n},mergePropertyAndMethodDecorators=(e,t)=>{var s,r,i,n;return{property:mergeObjectsOfDecorators(null!==(s=null==e?void 0:e.property)&&void 0!==s?s:{},null!==(r=null==t?void 0:t.property)&&void 0!==r?r:{}),method:mergeObjectsOfDecorators(null!==(i=null==e?void 0:e.method)&&void 0!==i?i:{},null!==(n=null==t?void 0:t.method)&&void 0!==n?n:{})}},mergeDecorators=(e,t)=>{var s,r,i,n,o,a;return{class:unique([...null!==(s=null==e?void 0:e.class)&&void 0!==s?s:[],...null!==(r=null==t?void 0:t.class)&&void 0!==r?r:[]]),static:mergePropertyAndMethodDecorators(null!==(i=null==e?void 0:e.static)&&void 0!==i?i:{},null!==(n=null==t?void 0:t.static)&&void 0!==n?n:{}),instance:mergePropertyAndMethodDecorators(null!==(o=null==e?void 0:e.instance)&&void 0!==o?o:{},null!==(a=null==t?void 0:t.instance)&&void 0!==a?a:{})}},decorators=new Map,findAllConstituentClasses=(...e)=>{var t;const s=new Set,r=new Set([...e]);for(;r.size>0;)for(let e of r){const i=[...protoChain(e.prototype).map(e=>e.constructor),...null!==(t=getMixinsForClass(e))&&void 0!==t?t:[]].filter(e=>!s.has(e));for(let e of i)r.add(e);s.add(e),r.delete(e)}return[...s]},deepDecoratorSearch=(...e)=>{const t=findAllConstituentClasses(...e).map(e=>decorators.get(e)).filter(e=>!!e);return 0==t.length?{}:1==t.length?t[0]:t.reduce((e,t)=>mergeDecorators(e,t))},directDecoratorSearch=(...e)=>{const t=e.map(e=>getDecoratorsForClass(e));return 0===t.length?{}:1===t.length?t[0]:t.reduce((e,t)=>mergeDecorators(e,t))},getDecoratorsForClass=e=>{let t=decorators.get(e);return t||(t={},decorators.set(e,t)),t},decorateClass=e=>t=>{const s=getDecoratorsForClass(t);let r=s.class;return r||(r=[],s.class=r),r.push(e),e(t)},decorateMember=e=>(t,s,...r)=>{var i,n,o;const a="function"==typeof t?"static":"instance",c="function"==typeof t[s]?"method":"property",l="static"===a?t:t.constructor,_=getDecoratorsForClass(l),m=null!==(i=null==_?void 0:_[a])&&void 0!==i?i:{};_[a]=m;let p=null!==(n=null==m?void 0:m[c])&&void 0!==n?n:{};m[c]=p;let u=null!==(o=null==p?void 0:p[s])&&void 0!==o?o:[];return p[s]=u,u.push(e),e(t,s,...r)},decorate=e=>(...t)=>1===t.length?decorateClass(e)(t[0]):decorateMember(e)(...t);function Mixin(...e){var t,s,r;const i=e.map(e=>e.prototype),n=settings.initFunction;if(null!==n){const e=i.map(e=>e[n]).filter(e=>"function"==typeof e),t=function(...t){for(let s of e)s.apply(this,t)},s={[n]:t};i.push(s)}function o(...t){for(const s of e)copyProps(this,new s(...t));null!==n&&"function"==typeof this[n]&&this[n].apply(this,t)}o.prototype="copy"===settings.prototypeStrategy?hardMixProtos(i,o):softMixProtos(i,o),Object.setPrototypeOf(o,"copy"===settings.staticsStrategy?hardMixProtos(e,null,["prototype"]):proxyMix(e,Function.prototype));let a=o;if("none"!==settings.decoratorInheritance){const i="deep"===settings.decoratorInheritance?deepDecoratorSearch(...e):directDecoratorSearch(...e);for(let e of null!==(t=null==i?void 0:i.class)&&void 0!==t?t:[]){const t=e(a);t&&(a=t)}applyPropAndMethodDecorators(null!==(s=null==i?void 0:i.static)&&void 0!==s?s:{},a),applyPropAndMethodDecorators(null!==(r=null==i?void 0:i.instance)&&void 0!==r?r:{},a.prototype)}return registerMixins(a,e),a}const applyPropAndMethodDecorators=(e,t)=>{const s=e.property,r=e.method;if(s)for(let e in s)for(let r of s[e])r(t,e);if(r)for(let e in r)for(let s of r[e])s(t,e,Object.getOwnPropertyDescriptor(t,e))},mix=(...e)=>t=>{const s=Mixin(...e.concat([t]));return Object.defineProperty(s,"name",{value:t.name,writable:!1}),s};var F=function(){return!1};const es_F=F;class PatternedFieldsVisitor extends visitors_SpecificationVisitor{specPath;ignoredFields;fieldPatternPredicate=es_F;constructor({specPath:e,ignoredFields:t,fieldPatternPredicate:s,...r}){super({...r}),this.specPath=e,this.ignoredFields=t||[],"function"==typeof s&&(this.fieldPatternPredicate=s)}ObjectElement(e){const t=e.node;t.forEach((e,t,s)=>{const r=serializers_value(t);if(!this.ignoredFields.includes(r)&&this.fieldPatternPredicate(r)){const r=this.specPath(e),i=this.toRefractedElement(r,e),n=new primitives_MemberElement(cloneDeep(t),i);this.copyMetaAndAttributes(s,n),n.classes.push("patterned-field"),this.element.content.push(n)}else this.ignoredFields.includes(r)||this.element.content.push(cloneDeep(s))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const generics_PatternedFieldsVisitor=PatternedFieldsVisitor;class MapVisitor extends generics_PatternedFieldsVisitor{constructor(e){super(e),this.fieldPatternPredicate=es_isNonEmptyString}}const generics_MapVisitor=MapVisitor;class ParentSchemaAwareVisitor{parent;constructor({parent:e}){this.parent=e}}const json_schema_ParentSchemaAwareVisitor=ParentSchemaAwareVisitor,JSONSchemaVisitorBase=Mixin(generics_FixedFieldsVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),JSONReferenceVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),LinkDescriptionVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),MediaVisitorBase=Mixin(generics_FixedFieldsVisitor,visitors_FallbackVisitor),AllOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),AnyOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),OneOfVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),ItemsVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),LinksVisitorBase=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),DefinitionsVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),DependenciesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),PatternPropertiesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),PropertiesVisitorBase=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor);class JSONSchema extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft4"}get idField(){return this.get("id")}set idField(e){this.set("id",e)}get $schema(){return this.get("$schema")}set $schema(e){this.set("$schema",e)}get multipleOf(){return this.get("multipleOf")}set multipleOf(e){this.set("multipleOf",e)}get maximum(){return this.get("maximum")}set maximum(e){this.set("maximum",e)}get exclusiveMaximum(){return this.get("exclusiveMaximum")}set exclusiveMaximum(e){this.set("exclusiveMaximum",e)}get minimum(){return this.get("minimum")}set minimum(e){this.set("minimum",e)}get exclusiveMinimum(){return this.get("exclusiveMinimum")}set exclusiveMinimum(e){this.set("exclusiveMinimum",e)}get maxLength(){return this.get("maxLength")}set maxLength(e){this.set("maxLength",e)}get minLength(){return this.get("minLength")}set minLength(e){this.set("minLength",e)}get pattern(){return this.get("pattern")}set pattern(e){this.set("pattern",e)}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get maxItems(){return this.get("maxItems")}set maxItems(e){this.set("maxItems",e)}get minItems(){return this.get("minItems")}set minItems(e){this.set("minItems",e)}get uniqueItems(){return this.get("uniqueItems")}set uniqueItems(e){this.set("uniqueItems",e)}get maxProperties(){return this.get("maxProperties")}set maxProperties(e){this.set("maxProperties",e)}get minProperties(){return this.get("minProperties")}set minProperties(e){this.set("minProperties",e)}get required(){return this.get("required")}set required(e){this.set("required",e)}get properties(){return this.get("properties")}set properties(e){this.set("properties",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get patternProperties(){return this.get("patternProperties")}set patternProperties(e){this.set("patternProperties",e)}get dependencies(){return this.get("dependencies")}set dependencies(e){this.set("dependencies",e)}get enum(){return this.get("enum")}set enum(e){this.set("enum",e)}get type(){return this.get("type")}set type(e){this.set("type",e)}get allOf(){return this.get("allOf")}set allOf(e){this.set("allOf",e)}get anyOf(){return this.get("anyOf")}set anyOf(e){this.set("anyOf",e)}get oneOf(){return this.get("oneOf")}set oneOf(e){this.set("oneOf",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get definitions(){return this.get("definitions")}set definitions(e){this.set("definitions",e)}get title(){return this.get("title")}set title(e){this.set("title",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get default(){return this.get("default")}set default(e){this.set("default",e)}get format(){return this.get("format")}set format(e){this.set("format",e)}get base(){return this.get("base")}set base(e){this.set("base",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}get media(){return this.get("media")}set media(e){this.set("media",e)}get readOnly(){return this.get("readOnly")}set readOnly(e){this.set("readOnly",e)}}const elements_JSONSchema=JSONSchema,isJSONSchemaElement=e=>e instanceof elements_JSONSchema,isJSONReferenceElement=e=>e instanceof JSONReferenceElement,isMediaElement=e=>e instanceof MediaElement,isLinkDescriptionElement=e=>e instanceof LinkDescriptionElement;class JSONSchemaVisitor extends JSONSchemaVisitorBase{constructor(e){super(e),this.element=new elements_JSONSchema,this.specPath=es_always(["document","objects","JSONSchema"])}get defaultDialectIdentifier(){return"http://json-schema.org/draft-04/schema#"}ObjectElement(e){const t=e.node;return this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e)}handleDialectIdentifier(e){if(es_isUndefined(this.parent)&&!isStringElement(e.get("$schema")))this.element.meta.set("inheritedDialectIdentifier",this.defaultDialectIdentifier);else if(isJSONSchemaElement(this.parent)&&!isStringElement(e.get("$schema"))){const e=es_defaultTo(serializers_value(this.parent.meta.get("inheritedDialectIdentifier")),serializers_value(this.parent.$schema));this.element.meta.set("inheritedDialectIdentifier",e)}}handleSchemaIdentifier(e,t="id"){const s=void 0!==this.parent?cloneDeep(this.parent.meta.get("ancestorsSchemaIdentifiers")??new primitives_ArrayElement):new primitives_ArrayElement,r=serializers_value(e.get(t));es_isNonEmptyString(r)&&s.push(r),this.element.meta.set("ancestorsSchemaIdentifiers",s)}}const json_schema=JSONSchemaVisitor,isJSONReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref");class ItemsVisitor extends ItemsVisitorBase{ObjectElement(e){const t=e.node,s=isJSONReferenceLikeElement(t)?["document","objects","JSONReference"]:["document","objects","JSONSchema"];this.element=this.toRefractedElement(s,t),e.stop()}ArrayElement(e){const t=e.node;this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-items"),t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_ItemsVisitor=ItemsVisitor;class RequiredVisitor extends visitors_FallbackVisitor{ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-required")}}const json_schema_RequiredVisitor=RequiredVisitor;class PropertiesVisitor extends PropertiesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-properties"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_PropertiesVisitor=PropertiesVisitor;class PatternPropertiesVisitor extends PatternPropertiesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-patternProperties"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_PatternPropertiesVisitor=PatternPropertiesVisitor;class DependenciesVisitor extends DependenciesVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-dependencies"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_DependenciesVisitor=DependenciesVisitor;class EnumVisitor extends visitors_FallbackVisitor{ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-enum")}}const json_schema_EnumVisitor=EnumVisitor;class TypeVisitor extends visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("json-schema-type")}ArrayElement(e){super.enter(e),this.element.classes.push("json-schema-type")}}const json_schema_TypeVisitor=TypeVisitor;class AllOfVisitor extends AllOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-allOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_AllOfVisitor=AllOfVisitor;class AnyOfVisitor extends AnyOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-anyOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_AnyOfVisitor=AnyOfVisitor;class OneOfVisitor extends OneOfVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-oneOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_OneOfVisitor=OneOfVisitor;class DefinitionsVisitor extends DefinitionsVisitorBase{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-definitions"),this.specPath=e=>isJSONReferenceLikeElement(e)?["document","objects","JSONReference"]:["document","objects","JSONSchema"]}}const json_schema_DefinitionsVisitor=DefinitionsVisitor;class LinksVisitor extends LinksVisitorBase{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-links")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","LinkDescription"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_LinksVisitor=LinksVisitor;class JSONReference extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="JSONReference",this.classes.push("json-reference")}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}}const elements_JSONReference=JSONReference;class JSONReferenceVisitor extends JSONReferenceVisitorBase{constructor(e){super(e),this.element=new elements_JSONReference,this.specPath=es_always(["document","objects","JSONReference"])}ObjectElement(e){generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const json_reference=JSONReferenceVisitor;class $RefVisitor extends visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const json_reference_$RefVisitor=$RefVisitor;var T=function(){return!0};const es_T=T;var ifElse=_curry3(function(e,t,s){return es_curryN(Math.max(e.length,t.length,s.length),function(){return e.apply(this,arguments)?t.apply(this,arguments):s.apply(this,arguments)})});const es_ifElse=ifElse;var comparator=_curry1(function(e){return function(t,s){return e(t,s)?-1:e(s,t)?1:0}});const es_comparator=comparator;var sort=_curry2(function(e,t){return Array.prototype.slice.call(t,0).sort(e)});const es_sort=sort;var head=_curry1(function(e){return _nth(0,e)});const es_head=head;function _reduced(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}var reduced=_curry1(_reduced);const es_reduced=reduced;var isNotNil=es_complement(es_isNil);const es_isNotNil=isNotNil;var isNonEmptyArray=es_both(es_isArray,es_isNotEmpty);const es_isNonEmptyArray=isNonEmptyArray;function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?_arrayLikeToArray(e,t):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,r=Array(t);s<t;s++)r[s]=e[s];return r}var byArity=es_comparator(function(e,t){return e.length>t.length}),getMaxArity=pipe(es_sort(byArity),es_head,es_prop("length")),iteratorFn=es_curry(function(e,t,s){var r=s.apply(void 0,_toConsumableArray(e));return es_isNotNil(r)?es_reduced(r):t}),dispatchImpl=function(e){var t=getMaxArity(e);return es_curryN(t,function(){for(var t=arguments.length,s=new Array(t),r=0;r<t;r++)s[r]=arguments[r];return es_reduce(iteratorFn(s),void 0,e)})},dispatch=es_ifElse(es_isNonEmptyArray,dispatchImpl,es_stubUndefined);const es_dispatch=dispatch;class AlternatingVisitor extends visitors_SpecificationVisitor{alternator;constructor({alternator:e,...t}){super({...t}),this.alternator=e}enter(e){const t=e.node,s=this.alternator.map(({predicate:e,specPath:t})=>es_ifElse(e,es_always(t),es_stubUndefined)),r=es_dispatch(s)(t);this.element=this.toRefractedElement(r,t),e.stop()}}const generics_AlternatingVisitor=AlternatingVisitor;class SchemaOrReferenceVisitor extends generics_AlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isJSONReferenceLikeElement,specPath:["document","objects","JSONReference"]},{predicate:es_T,specPath:["document","objects","JSONSchema"]}]}}const JSONSchemaOrJSONReferenceVisitor=SchemaOrReferenceVisitor;class Media extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="media"}get binaryEncoding(){return this.get("binaryEncoding")}set binaryEncoding(e){this.set("binaryEncoding",e)}get type(){return this.get("type")}set type(e){this.set("type",e)}}const elements_Media=Media;class MediaVisitor extends MediaVisitorBase{constructor(e){super(e),this.element=new elements_Media,this.specPath=es_always(["document","objects","Media"])}}const media=MediaVisitor;class LinkDescription extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="linkDescription"}get href(){return this.get("href")}set href(e){this.set("href",e)}get rel(){return this.get("rel")}set rel(e){this.set("rel",e)}get title(){return this.get("title")}set title(e){this.set("title",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get mediaType(){return this.get("mediaType")}set mediaType(e){this.set("mediaType",e)}get method(){return this.get("method")}set method(e){this.set("method",e)}get encType(){return this.get("encType")}set encType(e){this.set("encType",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const elements_LinkDescription=LinkDescription;class LinkDescriptionVisitor extends LinkDescriptionVisitorBase{constructor(e){super(e),this.element=new elements_LinkDescription,this.specPath=es_always(["document","objects","LinkDescription"])}}const link_description=LinkDescriptionVisitor,specification={visitors:{value:visitors_FallbackVisitor,JSONSchemaOrJSONReferenceVisitor,document:{objects:{JSONSchema:{element:"jSONSchemaDraft4",$visitor:json_schema,fixedFields:{id:{$visitor:visitors_FallbackVisitor,alias:"idField"},$schema:{$ref:"#/visitors/value"},multipleOf:{$ref:"#/visitors/value"},maximum:{$ref:"#/visitors/value"},exclusiveMaximum:{$ref:"#/visitors/value"},minimum:{$ref:"#/visitors/value"},exclusiveMinimum:{$ref:"#/visitors/value"},maxLength:{$ref:"#/visitors/value"},minLength:{$ref:"#/visitors/value"},pattern:{$ref:"#/visitors/value"},additionalItems:JSONSchemaOrJSONReferenceVisitor,items:{$visitor:json_schema_ItemsVisitor,alias:"itemsField"},maxItems:{$ref:"#/visitors/value"},minItems:{$ref:"#/visitors/value"},uniqueItems:{$ref:"#/visitors/value"},maxProperties:{$ref:"#/visitors/value"},minProperties:{$ref:"#/visitors/value"},required:json_schema_RequiredVisitor,properties:json_schema_PropertiesVisitor,additionalProperties:JSONSchemaOrJSONReferenceVisitor,patternProperties:json_schema_PatternPropertiesVisitor,dependencies:json_schema_DependenciesVisitor,enum:json_schema_EnumVisitor,type:json_schema_TypeVisitor,allOf:json_schema_AllOfVisitor,anyOf:json_schema_AnyOfVisitor,oneOf:json_schema_OneOfVisitor,not:JSONSchemaOrJSONReferenceVisitor,definitions:json_schema_DefinitionsVisitor,title:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},default:{$ref:"#/visitors/value"},format:{$ref:"#/visitors/value"},base:{$ref:"#/visitors/value"},links:{$visitor:json_schema_LinksVisitor,alias:"linksField"},media:{$ref:"#/visitors/document/objects/Media"},readOnly:{$ref:"#/visitors/value"}}},JSONReference:{element:"jSONReference",$visitor:json_reference,fixedFields:{$ref:json_reference_$RefVisitor}},Media:{element:"media",$visitor:media,fixedFields:{binaryEncoding:{$ref:"#/visitors/value"},type:{$ref:"#/visitors/value"}}},LinkDescription:{element:"linkDescription",$visitor:link_description,fixedFields:{href:{$ref:"#/visitors/value"},rel:{$ref:"#/visitors/value"},title:{$ref:"#/visitors/value"},targetSchema:JSONSchemaOrJSONReferenceVisitor,mediaType:{$ref:"#/visitors/value"},method:{$ref:"#/visitors/value"},encType:{$ref:"#/visitors/value"},schema:JSONSchemaOrJSONReferenceVisitor}}}}}},refractor_specification=specification;class Visitor_Visitor{element;constructor(e={}){Object.assign(this,e)}copyMetaAndAttributes(e,t){if(!e.isMetaEmpty||!t.isMetaEmpty){const s=t.isMetaEmpty?new primitives_ObjectElement:t.meta,r=e.isMetaEmpty?new primitives_ObjectElement:e.meta;t.meta=merge_deepmerge(s,r)}if(!e.isAttributesEmpty||!t.isAttributesEmpty){const s=t.isAttributesEmpty?new primitives_ObjectElement:t.attributes,r=e.isAttributesEmpty?new primitives_ObjectElement:e.attributes;t.attributes=merge_deepmerge(s,r)}SourceMap.transfer(e,t)}}const refractor_visitors_Visitor=Visitor_Visitor;class FallbackVisitor_FallbackVisitor extends refractor_visitors_Visitor{enter(e){this.element=cloneDeep(e.node),e.stop()}}const refractor_visitors_FallbackVisitor=FallbackVisitor_FallbackVisitor;class SpecificationVisitor_SpecificationVisitor extends refractor_visitors_Visitor{specObj;passingOptionsNames=["specObj","openApiGenericElement","openApiSemanticElement"];openApiGenericElement;openApiSemanticElement;constructor({specObj:e,passingOptionsNames:t,openApiGenericElement:s,openApiSemanticElement:r,...i}){super({...i}),this.specObj=e,this.openApiGenericElement=s,this.openApiSemanticElement=r,Array.isArray(t)&&(this.passingOptionsNames=t)}retrievePassingOptions(){return es_pick(this.passingOptionsNames,this)}retrieveFixedFields(e){const t=es_path(["visitors",...e,"fixedFields"],this.specObj);return"object"==typeof t&&null!==t?Object.keys(t):[]}retrieveVisitor(e){return es_pathSatisfies(es_isFunction,["visitors",...e],this.specObj)?es_path(["visitors",...e],this.specObj):es_path(["visitors",...e,"$visitor"],this.specObj)}retrieveVisitorInstance(e,t={}){const s=this.retrievePassingOptions();return new(this.retrieveVisitor(e))({...s,...t})}toRefractedElement(e,t,s={}){const r=this.retrieveVisitorInstance(e,s);return r instanceof refractor_visitors_FallbackVisitor&&r?.constructor===refractor_visitors_FallbackVisitor?cloneDeep(t):(traverse(t,r,{nodeTypeGetter:getNodePrimitiveType}),r.element)}}const refractor_visitors_SpecificationVisitor=SpecificationVisitor_SpecificationVisitor;var XTake=function(){function e(e,t){this.xf=t,this.n=e,this.i=0}return e.prototype["@@transducer/init"]=_xfBase.init,e.prototype["@@transducer/result"]=_xfBase.result,e.prototype["@@transducer/step"]=function(e,t){this.i+=1;var s=0===this.n?e:this.xf["@@transducer/step"](e,t);return this.n>=0&&this.i>=this.n?_reduced(s):s},e}();function _xtake(e){return function(t){return new XTake(e,t)}}var take=_curry2(_dispatchable(["take"],_xtake,function(e,t){return es_slice(0,e<0?1/0:e,t)}));const es_take=take;var startsWith=_curry2(function(e,t){return es_equals(es_take(e.length,t),e)});const es_startsWith=startsWith,isReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref"),isServerLikeElement=isObjectElement,isTagLikeElement=isObjectElement,isOpenApiExtension=e=>isStringElement(e.key)&&es_startsWith("x-",serializers_value(e.key));class FixedFieldsVisitor_FixedFieldsVisitor extends refractor_visitors_SpecificationVisitor{specPath;ignoredFields;canSupportSpecificationExtensions=!0;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:e,ignoredFields:t,canSupportSpecificationExtensions:s,specificationExtensionPredicate:r,...i}){super({...i}),this.specPath=e,this.ignoredFields=t||[],"boolean"==typeof s&&(this.canSupportSpecificationExtensions=s),"function"==typeof r&&(this.specificationExtensionPredicate=r)}ObjectElement(e){const t=e.node,s=this.specPath(t),r=this.retrieveFixedFields(s);t.forEach((e,t,i)=>{const n=serializers_value(t);if(isStringElement(t)&&r.includes(n)&&!this.ignoredFields.includes(n)){const r=this.toRefractedElement([...s,"fixedFields",n],e),o=new primitives_MemberElement(cloneDeep(t),r);this.copyMetaAndAttributes(i,o),o.classes.push("fixed-field"),this.element.content.push(o)}else if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(i)){const e=this.toRefractedElement(["document","extension"],i);this.element.content.push(e)}else this.ignoredFields.includes(n)||this.element.content.push(cloneDeep(i))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_generics_FixedFieldsVisitor=FixedFieldsVisitor_FixedFieldsVisitor;class PatternedFieldsVisitor_PatternedFieldsVisitor extends refractor_visitors_SpecificationVisitor{specPath;ignoredFields;fieldPatternPredicate=es_F;canSupportSpecificationExtensions=!1;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:e,ignoredFields:t,fieldPatternPredicate:s,canSupportSpecificationExtensions:r,specificationExtensionPredicate:i,...n}){super({...n}),this.specPath=e,this.ignoredFields=t||[],"function"==typeof s&&(this.fieldPatternPredicate=s),"boolean"==typeof r&&(this.canSupportSpecificationExtensions=r),"function"==typeof i&&(this.specificationExtensionPredicate=i)}ObjectElement(e){const t=e.node;t.forEach((e,t,s)=>{const r=serializers_value(t);if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(s)){const e=this.toRefractedElement(["document","extension"],s);this.element.content.push(e)}else if(!this.ignoredFields.includes(r)&&this.fieldPatternPredicate(r)){const r=this.specPath(e),i=this.toRefractedElement(r,e),n=new primitives_MemberElement(cloneDeep(t),i);this.copyMetaAndAttributes(s,n),n.classes.push("patterned-field"),this.element.content.push(n)}else this.ignoredFields.includes(r)||this.element.content.push(cloneDeep(s))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_generics_PatternedFieldsVisitor=PatternedFieldsVisitor_PatternedFieldsVisitor;class MapVisitor_MapVisitor extends visitors_generics_PatternedFieldsVisitor{constructor(e){super(e),this.fieldPatternPredicate=es_isNonEmptyString}}const visitors_generics_MapVisitor=MapVisitor_MapVisitor;class AlternatingVisitor_AlternatingVisitor extends refractor_visitors_SpecificationVisitor{alternator;constructor({alternator:e,...t}){super({...t}),this.alternator=e||[]}enter(e){const t=e.node,s=this.alternator.map(({predicate:e,specPath:t})=>es_ifElse(e,es_always(t),es_stubUndefined)),r=es_dispatch(s)(t);this.element=this.toRefractedElement(r,t),e.stop()}}const visitors_generics_AlternatingVisitor=AlternatingVisitor_AlternatingVisitor;var _Set=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!hasOrAdd(e,!0,this)},e.prototype.has=function(e){return hasOrAdd(e,!1,this)},e}();function hasOrAdd(e,t,s){var r,i=typeof e;switch(i){case"string":case"number":return 0===e&&1/e==-1/0?!!s._items["-0"]||(t&&(s._items["-0"]=!0),!1):null!==s._nativeSet?t?(r=s._nativeSet.size,s._nativeSet.add(e),s._nativeSet.size===r):s._nativeSet.has(e):i in s._items?e in s._items[i]||(t&&(s._items[i][e]=!0),!1):(t&&(s._items[i]={},s._items[i][e]=!0),!1);case"boolean":if(i in s._items){var n=e?1:0;return!!s._items[i][n]||(t&&(s._items[i][n]=!0),!1)}return t&&(s._items[i]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==s._nativeSet?t?(r=s._nativeSet.size,s._nativeSet.add(e),s._nativeSet.size===r):s._nativeSet.has(e):i in s._items?!!_includes(e,s._items[i])||(t&&s._items[i].push(e),!1):(t&&(s._items[i]=[e]),!1);case"undefined":return!!s._items[i]||(t&&(s._items[i]=!0),!1);case"object":if(null===e)return!!s._items.null||(t&&(s._items.null=!0),!1);default:return(i=Object.prototype.toString.call(e))in s._items?!!_includes(e,s._items[i])||(t&&s._items[i].push(e),!1):(t&&(s._items[i]=[e]),!1)}}const internal_Set=_Set;var difference=_curry2(function(e,t){for(var s=[],r=0,i=e.length,n=t.length,o=new internal_Set,a=0;a<n;a+=1)o.add(t[a]);for(;r<i;)o.add(e[r])&&(s[s.length]=e[r]),r+=1;return s});const es_difference=difference,MixedFieldsVisitorBase=Mixin(visitors_generics_FixedFieldsVisitor,visitors_generics_PatternedFieldsVisitor);class MixedFieldsVisitor extends MixedFieldsVisitorBase{specPathFixedFields;specPathPatternedFields;constructor({specPathFixedFields:e,specPathPatternedFields:t,...s}){super({...s}),this.specPathFixedFields=e,this.specPathPatternedFields=t}ObjectElement(e){const t=e.node,{specPath:s,ignoredFields:r}=this;try{this.specPath=this.specPathFixedFields;const s=this.retrieveFixedFields(this.specPath(t));this.ignoredFields=[...r,...es_difference(t.keys(),s)],visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.specPath=this.specPathPatternedFields,this.ignoredFields=s,visitors_generics_PatternedFieldsVisitor.prototype.ObjectElement.call(this,e);const i=t.keys();this.element.content.sort((e,t)=>i.indexOf(serializers_value(e.key))-i.indexOf(serializers_value(t.key)))}catch(e){throw this.specPath=s,e}e.stop()}}const generics_MixedFieldsVisitor=MixedFieldsVisitor,BaseSpecificationVisitor=Mixin(refractor_visitors_SpecificationVisitor,refractor_visitors_FallbackVisitor),BaseFixedFieldsVisitor=Mixin(visitors_generics_FixedFieldsVisitor,refractor_visitors_FallbackVisitor),BasePatternedFieldsVisitor=Mixin(visitors_generics_PatternedFieldsVisitor,refractor_visitors_FallbackVisitor),BaseMapVisitor=Mixin(visitors_generics_MapVisitor,refractor_visitors_FallbackVisitor),BaseAlternatingVisitor=Mixin(visitors_generics_AlternatingVisitor,refractor_visitors_FallbackVisitor),BaseMixedFieldsVisitor=Mixin(generics_MixedFieldsVisitor,refractor_visitors_FallbackVisitor);class OpenApi3_0 extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="openApi3_0",this.classes.push("api")}get openapi(){return this.get("openapi")}set openapi(e){this.set("openapi",e)}get info(){return this.get("info")}set info(e){this.set("info",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get paths(){return this.get("paths")}set paths(e){this.set("paths",e)}get components(){return this.get("components")}set components(e){this.set("components",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}}const elements_OpenApi3_0=OpenApi3_0;class OpenApi3_0Visitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OpenApi3_0,this.specPath=es_always(["document","objects","OpenApi"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e)}}const open_api_3_0=OpenApi3_0Visitor;class Openapi extends primitives_StringElement{constructor(e,t,s){super(e,t,s),this.element="openapi",this.classes.push("spec-version"),this.classes.push("version")}}const elements_Openapi=Openapi;class OpenapiVisitor extends BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new elements_Openapi(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_0_OpenapiVisitor=OpenapiVisitor;class SpecificationExtensionVisitor extends refractor_visitors_SpecificationVisitor{MemberElement(e){this.element=cloneDeep(e.node),this.element.classes.push("specification-extension"),e.stop()}}const visitors_SpecificationExtensionVisitor=SpecificationExtensionVisitor;class Info extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="info",this.classes.push("info")}get title(){return this.get("title")}set title(e){this.set("title",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get termsOfService(){return this.get("termsOfService")}set termsOfService(e){this.set("termsOfService",e)}get contact(){return this.get("contact")}set contact(e){this.set("contact",e)}get license(){return this.get("license")}set license(e){this.set("license",e)}get version(){return this.get("version")}set version(e){this.set("version",e)}}const elements_Info=Info;class InfoVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Info,this.specPath=es_always(["document","objects","Info"]),this.canSupportSpecificationExtensions=!0}}const info=InfoVisitor;class VersionVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("api-version"),this.element.classes.push("version")}}const info_VersionVisitor=VersionVisitor;class Contact extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="contact"}get name(){return this.get("name")}set name(e){this.set("name",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}get email(){return this.get("email")}set email(e){this.set("email",e)}}const elements_Contact=Contact;class ContactVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Contact,this.specPath=es_always(["document","objects","Contact"]),this.canSupportSpecificationExtensions=!0}}const contact=ContactVisitor;class License extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="license"}get name(){return this.get("name")}set name(e){this.set("name",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}}const elements_License=License;class LicenseVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_License,this.specPath=es_always(["document","objects","License"]),this.canSupportSpecificationExtensions=!0}}const license=LicenseVisitor;class Link extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="link"}get operationRef(){return this.get("operationRef")}set operationRef(e){this.set("operationRef",e)}get operationId(){return this.get("operationId")}set operationId(e){this.set("operationId",e)}get operation(){return isStringElement(this.operationRef)?this.operationRef?.meta.get("operation"):isStringElement(this.operationId)?this.operationId?.meta.get("operation"):void 0}set operation(e){this.set("operation",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get server(){return this.get("server")}set server(e){this.set("server",e)}}const elements_Link=Link;class LinkVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Link,this.specPath=es_always(["document","objects","Link"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),(isStringElement(this.element.operationId)||isStringElement(this.element.operationRef))&&this.element.classes.push("reference-element")}}const open_api_3_0_link=LinkVisitor;class OperationRefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const link_OperationRefVisitor=OperationRefVisitor;class OperationIdVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const link_OperationIdVisitor=OperationIdVisitor;class LinkParameters extends primitives_ObjectElement{static primaryClass="link-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(LinkParameters.primaryClass)}}const nces_LinkParameters=LinkParameters;class ParametersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_LinkParameters,this.specPath=es_always(["value"])}}const link_ParametersVisitor=ParametersVisitor;class Server extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="server"}get url(){return this.get("url")}set url(e){this.set("url",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get variables(){return this.get("variables")}set variables(e){this.set("variables",e)}}const elements_Server=Server;class ServerVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Server,this.specPath=es_always(["document","objects","Server"]),this.canSupportSpecificationExtensions=!0}}const server=ServerVisitor;class UrlVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("server-url")}}const server_UrlVisitor=UrlVisitor;class Servers extends primitives_ArrayElement{static primaryClass="servers";constructor(e,t,s){super(e,t,s),this.classes.push(Servers.primaryClass)}}const nces_Servers=Servers;class ServersVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Servers}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isServerLikeElement(e)?["document","objects","Server"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_ServersVisitor=ServersVisitor;class ServerVariable extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="serverVariable"}get enum(){return this.get("enum")}set enum(e){this.set("enum",e)}get default(){return this.get("default")}set default(e){this.set("default",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}}const elements_ServerVariable=ServerVariable;class ServerVariableVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_ServerVariable,this.specPath=es_always(["document","objects","ServerVariable"]),this.canSupportSpecificationExtensions=!0}}const server_variable=ServerVariableVisitor;class ServerVariables extends primitives_ObjectElement{static primaryClass="server-variables";constructor(e,t,s){super(e,t,s),this.classes.push(ServerVariables.primaryClass)}}const nces_ServerVariables=ServerVariables;class VariablesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ServerVariables,this.specPath=es_always(["document","objects","ServerVariable"])}}const server_VariablesVisitor=VariablesVisitor;class MediaType extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="mediaType"}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get encoding(){return this.get("encoding")}set encoding(e){this.set("encoding",e)}}const elements_MediaType=MediaType;class MediaTypeVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_MediaType,this.specPath=es_always(["document","objects","MediaType"]),this.canSupportSpecificationExtensions=!0}}const media_type=MediaTypeVisitor;class Header extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="header"}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get allowEmptyValue(){return this.get("allowEmptyValue")}set allowEmptyValue(e){this.set("allowEmptyValue",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowReserved(){return this.get("allowReserved")}set allowReserved(e){this.set("allowReserved",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}}Object.defineProperty(Header.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0});const elements_Header=Header;class Operation extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="operation"}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}set externalDocs(e){this.set("externalDocs",e)}get externalDocs(){return this.get("externalDocs")}get operationId(){return this.get("operationId")}set operationId(e){this.set("operationId",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}get responses(){return this.get("responses")}set responses(e){this.set("responses",e)}get callbacks(){return this.get("callbacks")}set callbacks(e){this.set("callbacks",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get servers(){return this.get("severs")}set servers(e){this.set("servers",e)}}const elements_Operation=Operation;class PathItem extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="pathItem"}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get getField(){return this.get("get")}set getField(e){this.set("get",e)}get put(){return this.get("put")}set put(e){this.set("put",e)}get post(){return this.get("post")}set post(e){this.set("post",e)}get deleteField(){return this.get("delete")}set deleteField(e){this.set("delete",e)}get options(){return this.get("options")}set options(e){this.set("options",e)}get head(){return this.get("head")}set head(e){this.set("head",e)}get patch(){return this.get("patch")}set patch(e){this.set("patch",e)}get trace(){return this.get("trace")}set trace(e){this.set("trace",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}}const elements_PathItem=PathItem;class Reference extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="reference",this.classes.push("openapi-reference")}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}}const elements_Reference=Reference;class Response extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="response"}get description(){return this.get("description")}set description(e){this.set("description",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}}const elements_Response=Response,isCallbackElement=e=>e instanceof CallbackElement,isComponentsElement=e=>e instanceof ComponentsElement,isContactElement=e=>e instanceof ContactElement,isExampleElement=e=>e instanceof ExampleElement,isExternalDocumentationElement=e=>e instanceof ExternalDocumentationElement,isHeaderElement=e=>e instanceof elements_Header,isInfoElement=e=>e instanceof InfoElement,isLicenseElement=e=>e instanceof LicenseElement,predicates_isLinkElement=e=>e instanceof LinkElement,isOpenapiElement=e=>e instanceof OpenapiElement,isOpenApi3_0Element=e=>e instanceof OpenApi3_0Element,isOperationElement=e=>e instanceof elements_Operation,isParameterElement=e=>e instanceof ParameterElement,isPathItemElement=e=>e instanceof elements_PathItem,isPathsElement=e=>e instanceof PathsElement,isReferenceElement=e=>e instanceof elements_Reference,isRequestBodyElement=e=>e instanceof RequestBodyElement,isResponseElement=e=>e instanceof elements_Response,isResponsesElement=e=>e instanceof ResponsesElement,isSchemaElement=e=>e instanceof SchemaElement,isBooleanJsonSchemaElement=e=>isBooleanElement(e)&&includesClasses(e,["boolean-json-schema"]),isSecurityRequirementElement=e=>e instanceof SecurityRequirementElement,isSecuritySchemeElement=e=>e instanceof SecuritySchemeElement,isServerElement=e=>e instanceof ServerElement,isServerVariableElement=e=>e instanceof ServerVariableElement,isMediaTypeElement=e=>e instanceof elements_MediaType,isServersElement=e=>e instanceof ServersElement;class SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const media_type_SchemaVisitor=SchemaVisitor;class ExamplesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("examples"),this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Example"],this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","example")})}}const open_api_3_0_ExamplesVisitor=ExamplesVisitor;class MediaTypeExamples extends primitives_ObjectElement{static primaryClass="media-type-examples";constructor(e,t,s){super(e,t,s),this.classes.push(MediaTypeExamples.primaryClass),this.classes.push("examples")}}const nces_MediaTypeExamples=MediaTypeExamples;class ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_MediaTypeExamples}}const media_type_ExamplesVisitor=ExamplesVisitor_ExamplesVisitor;class MediaTypeEncoding extends primitives_ObjectElement{static primaryClass="media-type-encoding";constructor(e,t,s){super(e,t,s),this.classes.push(MediaTypeEncoding.primaryClass)}}const nces_MediaTypeEncoding=MediaTypeEncoding;class EncodingVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_MediaTypeEncoding,this.specPath=es_always(["document","objects","Encoding"])}}const media_type_EncodingVisitor=EncodingVisitor;class SecurityRequirement extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="securityRequirement"}}const elements_SecurityRequirement=SecurityRequirement;class SecurityRequirementVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new elements_SecurityRequirement,this.specPath=es_always(["value"])}}const security_requirement=SecurityRequirementVisitor;class Security extends primitives_ArrayElement{static primaryClass="security";constructor(e,t,s){super(e,t,s),this.classes.push(Security.primaryClass)}}const nces_Security=Security;class SecurityVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Security}ArrayElement(e){const t=e.node;t.forEach(e=>{if(isObjectElement(e)){const t=this.toRefractedElement(["document","objects","SecurityRequirement"],e);this.element.push(t)}else this.element.push(cloneDeep(e))}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_SecurityVisitor=SecurityVisitor;class Components extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="components"}get schemas(){return this.get("schemas")}set schemas(e){this.set("schemas",e)}get responses(){return this.get("responses")}set responses(e){this.set("responses",e)}get parameters(){return this.get("parameters")}set parameters(e){this.set("parameters",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get requestBodies(){return this.get("requestBodies")}set requestBodies(e){this.set("requestBodies",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get securitySchemes(){return this.get("securitySchemes")}set securitySchemes(e){this.set("securitySchemes",e)}get linksField(){return this.get("links")}set linksField(e){this.set("links",e)}get callbacks(){return this.get("callbacks")}set callbacks(e){this.set("callbacks",e)}}const elements_Components=Components;class ComponentsVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Components,this.specPath=es_always(["document","objects","Components"]),this.canSupportSpecificationExtensions=!0}}const components=ComponentsVisitor;class Tag extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="tag"}get name(){return this.get("name")}set name(e){this.set("name",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}}const elements_Tag=Tag;class TagVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Tag,this.specPath=es_always(["document","objects","Tag"]),this.canSupportSpecificationExtensions=!0}}const tag=TagVisitor;class ReferenceVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Reference,this.specPath=es_always(["document","objects","Reference"]),this.canSupportSpecificationExtensions=!1}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const reference=ReferenceVisitor;class $RefVisitor_$RefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const reference_$RefVisitor=$RefVisitor_$RefVisitor;class Parameter extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="parameter"}get name(){return this.get("name")}set name(e){this.set("name",e)}get in(){return this.get("in")}set in(e){this.set("in",e)}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}get deprecated(){return this.hasKey("deprecated")?this.get("deprecated"):new primitives_BooleanElement(!1)}set deprecated(e){this.set("deprecated",e)}get allowEmptyValue(){return this.get("allowEmptyValue")}set allowEmptyValue(e){this.set("allowEmptyValue",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowReserved(){return this.get("allowReserved")}set allowReserved(e){this.set("allowReserved",e)}get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}}Object.defineProperty(Parameter.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0});const elements_Parameter=Parameter;class ParameterVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Parameter,this.specPath=es_always(["document","objects","Parameter"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))})}}const parameter=ParameterVisitor;class SchemaVisitor_SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const parameter_SchemaVisitor=SchemaVisitor_SchemaVisitor;class HeaderVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Header,this.specPath=es_always(["document","objects","Header"]),this.canSupportSpecificationExtensions=!0}}const header=HeaderVisitor;class header_SchemaVisitor_SchemaVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Schema"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const header_SchemaVisitor=header_SchemaVisitor_SchemaVisitor;class HeaderExamples extends primitives_ObjectElement{static primaryClass="header-examples";constructor(e,t,s){super(e,t,s),this.classes.push(HeaderExamples.primaryClass),this.classes.push("examples")}}const nces_HeaderExamples=HeaderExamples;class header_ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_HeaderExamples}}const header_ExamplesVisitor=header_ExamplesVisitor_ExamplesVisitor;class ContentVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("content"),this.specPath=es_always(["document","objects","MediaType"])}}const open_api_3_0_ContentVisitor=ContentVisitor;class HeaderContent extends primitives_ObjectElement{static primaryClass="header-content";constructor(e,t,s){super(e,t,s),this.classes.push(HeaderContent.primaryClass),this.classes.push("content")}}const nces_HeaderContent=HeaderContent;class ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_HeaderContent}}const header_ContentVisitor=ContentVisitor_ContentVisitor;class UnsupportedOperationError extends src_ApiDOMError{}const src_UnsupportedOperationError=UnsupportedOperationError,resolvedSpec=resolveSpecification(refractor_specification),getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(elements_JSONSchema,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(elements_JSONReference,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.JSONReference.fixedFields),enumerable:!0}),Object.defineProperty(elements_Media,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.Media.fixedFields),enumerable:!0}),Object.defineProperty(elements_LinkDescription,"fixedFields",{get:()=>getFixedFields(resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class Schema extends elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="schema",this.classes.push("json-schema-draft-4")}get idField(){throw new src_UnsupportedOperationError("idField getter in Schema class is not not supported.")}set idField(e){throw new src_UnsupportedOperationError("idField setter in Schema class is not not supported.")}get $schema(){throw new src_UnsupportedOperationError("$schema getter in Schema class is not not supported.")}set $schema(e){throw new src_UnsupportedOperationError("$schema setter in Schema class is not not supported.")}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get patternProperties(){throw new src_UnsupportedOperationError("patternProperties getter in Schema class is not not supported.")}set patternProperties(e){throw new src_UnsupportedOperationError("patternProperties setter in Schema class is not not supported.")}get dependencies(){throw new src_UnsupportedOperationError("dependencies getter in Schema class is not not supported.")}set dependencies(e){throw new src_UnsupportedOperationError("dependencies setter in Schema class is not not supported.")}get type(){return this.get("type")}set type(e){this.set("type",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get definitions(){throw new src_UnsupportedOperationError("definitions getter in Schema class is not not supported.")}set definitions(e){throw new src_UnsupportedOperationError("definitions setter in Schema class is not not supported.")}get base(){throw new src_UnsupportedOperationError("base getter in Schema class is not not supported.")}set base(e){throw new src_UnsupportedOperationError("base setter in Schema class is not not supported.")}get linksField(){throw new src_UnsupportedOperationError("linksField getter in Schema class is not not supported.")}set linksField(e){throw new src_UnsupportedOperationError("linksField setter in Schema class is not not supported.")}get media(){throw new src_UnsupportedOperationError("media getter in Schema class is not not supported.")}set media(e){throw new src_UnsupportedOperationError("media setter in Schema class is not not supported.")}get nullable(){return this.get("nullable")}set nullable(e){this.set("nullable",e)}get discriminator(){return this.get("discriminator")}set discriminator(e){this.set("discriminator",e)}get writeOnly(){return this.get("writeOnly")}set writeOnly(e){this.set("writeOnly",e)}get xml(){return this.get("xml")}set xml(e){this.set("xml",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}get deprecated(){return this.get("deprecated")}set deprecated(e){this.set("deprecated",e)}}const elements_Schema=Schema;class schema_SchemaVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Schema,this.specPath=es_always(["document","objects","Schema"]),this.canSupportSpecificationExtensions=!0}}const schema=schema_SchemaVisitor,JSONSchemaAllOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.allOf;class AllOfVisitor_AllOfVisitor extends JSONSchemaAllOfVisitor{ArrayElement(e){JSONSchemaAllOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_AllOfVisitor=AllOfVisitor_AllOfVisitor,JSONSchemaAnyOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.anyOf;class AnyOfVisitor_AnyOfVisitor extends JSONSchemaAnyOfVisitor{ArrayElement(e){JSONSchemaAnyOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_AnyOfVisitor=AnyOfVisitor_AnyOfVisitor,JSONSchemaOneOfVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.oneOf;class OneOfVisitor_OneOfVisitor extends JSONSchemaOneOfVisitor{ArrayElement(e){JSONSchemaOneOfVisitor.prototype.ArrayElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_OneOfVisitor=OneOfVisitor_OneOfVisitor;class ItemsVisitor_ItemsVisitor extends json_schema_ItemsVisitor{ObjectElement(e){json_schema_ItemsVisitor.prototype.ObjectElement.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}ArrayElement(e){this.enter(e)}}const schema_ItemsVisitor=ItemsVisitor_ItemsVisitor,JSONSchemaPropertiesVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.properties;class PropertiesVisitor_PropertiesVisitor extends JSONSchemaPropertiesVisitor{ObjectElement(e){JSONSchemaPropertiesVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const schema_PropertiesVisitor=PropertiesVisitor_PropertiesVisitor,JSONSchemaTypeVisitor=refractor_specification.visitors.document.objects.JSONSchema.fixedFields.type;class TypeVisitor_TypeVisitor extends JSONSchemaTypeVisitor{ArrayElement(e){this.enter(e)}}const schema_TypeVisitor=TypeVisitor_TypeVisitor,SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor=refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor;class SchemaOrReferenceVisitor_SchemaOrReferenceVisitor extends SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor{ObjectElement(e){SchemaOrReferenceVisitor_JSONSchemaOrJSONReferenceVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","schema")}}const schema_SchemaOrReferenceVisitor=SchemaOrReferenceVisitor_SchemaOrReferenceVisitor;class Discriminator extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="discriminator"}get propertyName(){return this.get("propertyName")}set propertyName(e){this.set("propertyName",e)}get mapping(){return this.get("mapping")}set mapping(e){this.set("mapping",e)}}const elements_Discriminator=Discriminator;class DiscriminatorVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Discriminator,this.specPath=es_always(["document","objects","Discriminator"]),this.canSupportSpecificationExtensions=!1}}const distriminator=DiscriminatorVisitor;class DiscriminatorMapping extends primitives_ObjectElement{static primaryClass="discriminator-mapping";constructor(e,t,s){super(e,t,s),this.classes.push(DiscriminatorMapping.primaryClass)}}const nces_DiscriminatorMapping=DiscriminatorMapping;class MappingVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_DiscriminatorMapping,this.specPath=es_always(["value"])}}const distriminator_MappingVisitor=MappingVisitor;class Xml extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="xml"}get name(){return this.get("name")}set name(e){this.set("name",e)}get namespace(){return this.get("namespace")}set namespace(e){this.set("namespace",e)}get prefix(){return this.get("prefix")}set prefix(e){this.set("prefix",e)}get attribute(){return this.get("attribute")}set attribute(e){this.set("attribute",e)}get wrapped(){return this.get("wrapped")}set wrapped(e){this.set("wrapped",e)}}const elements_Xml=Xml;class XmlVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Xml,this.specPath=es_always(["document","objects","XML"]),this.canSupportSpecificationExtensions=!0}}const xml=XmlVisitor;class ParameterExamples extends primitives_ObjectElement{static primaryClass="parameter-examples";constructor(e,t,s){super(e,t,s),this.classes.push(ParameterExamples.primaryClass),this.classes.push("examples")}}const nces_ParameterExamples=ParameterExamples;class parameter_ExamplesVisitor_ExamplesVisitor extends open_api_3_0_ExamplesVisitor{constructor(e){super(e),this.element=new nces_ParameterExamples}}const parameter_ExamplesVisitor=parameter_ExamplesVisitor_ExamplesVisitor;class ParameterContent extends primitives_ObjectElement{static primaryClass="parameter-content";constructor(e,t,s){super(e,t,s),this.classes.push(ParameterContent.primaryClass),this.classes.push("content")}}const nces_ParameterContent=ParameterContent;class parameter_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_ParameterContent}}const parameter_ContentVisitor=parameter_ContentVisitor_ContentVisitor;class ComponentsSchemas extends primitives_ObjectElement{static primaryClass="components-schemas";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsSchemas.primaryClass)}}const nces_ComponentsSchemas=ComponentsSchemas;class SchemasVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSchemas,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Schema"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","schema")})}}const components_SchemasVisitor=SchemasVisitor;class ComponentsResponses extends primitives_ObjectElement{static primaryClass="components-responses";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsResponses.primaryClass)}}const nces_ComponentsResponses=ComponentsResponses;class ResponsesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsResponses,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Response"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","response")}),this.element.filter(isResponseElement).forEach((e,t)=>{e.meta.set("http-status-code",serializers_value(t))})}}const components_ResponsesVisitor=ResponsesVisitor;class ComponentsParameters extends primitives_ObjectElement{static primaryClass="components-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsParameters.primaryClass),this.classes.push("parameters")}}const nces_ComponentsParameters=ComponentsParameters;class ParametersVisitor_ParametersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsParameters,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Parameter"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","parameter")})}}const components_ParametersVisitor=ParametersVisitor_ParametersVisitor;class ComponentsExamples extends primitives_ObjectElement{static primaryClass="components-examples";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsExamples.primaryClass),this.classes.push("examples")}}const nces_ComponentsExamples=ComponentsExamples;class components_ExamplesVisitor_ExamplesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsExamples,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Example"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","example")})}}const components_ExamplesVisitor=components_ExamplesVisitor_ExamplesVisitor;class ComponentsRequestBodies extends primitives_ObjectElement{static primaryClass="components-request-bodies";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsRequestBodies.primaryClass)}}const nces_ComponentsRequestBodies=ComponentsRequestBodies;class RequestBodiesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsRequestBodies,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","RequestBody"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","requestBody")})}}const components_RequestBodiesVisitor=RequestBodiesVisitor;class ComponentsHeaders extends primitives_ObjectElement{static primaryClass="components-headers";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsHeaders.primaryClass)}}const nces_ComponentsHeaders=ComponentsHeaders;class HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const components_HeadersVisitor=HeadersVisitor;class ComponentsSecuritySchemes extends primitives_ObjectElement{static primaryClass="components-security-schemes";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsSecuritySchemes.primaryClass)}}const nces_ComponentsSecuritySchemes=ComponentsSecuritySchemes;class SecuritySchemesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSecuritySchemes,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","SecurityScheme"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","securityScheme")})}}const components_SecuritySchemesVisitor=SecuritySchemesVisitor;class ComponentsLinks extends primitives_ObjectElement{static primaryClass="components-links";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsLinks.primaryClass)}}const nces_ComponentsLinks=ComponentsLinks;class LinksVisitor_LinksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsLinks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Link"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","link")})}}const components_LinksVisitor=LinksVisitor_LinksVisitor;class ComponentsCallbacks extends primitives_ObjectElement{static primaryClass="components-callbacks";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsCallbacks.primaryClass)}}const nces_ComponentsCallbacks=ComponentsCallbacks;class CallbacksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsCallbacks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Callback"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","callback")})}}const components_CallbacksVisitor=CallbacksVisitor;class Example extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="example"}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get value(){return this.get("value")}set value(e){this.set("value",e)}get externalValue(){return this.get("externalValue")}set externalValue(e){this.set("externalValue",e)}}const elements_Example=Example;class ExampleVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Example,this.specPath=es_always(["document","objects","Example"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.externalValue)&&this.element.classes.push("reference-element")}}const example=ExampleVisitor;class ExternalValueVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const example_ExternalValueVisitor=ExternalValueVisitor;class ExternalDocumentation extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="externalDocumentation"}get description(){return this.get("description")}set description(e){this.set("description",e)}get url(){return this.get("url")}set url(e){this.set("url",e)}}const elements_ExternalDocumentation=ExternalDocumentation;class ExternalDocumentationVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_ExternalDocumentation,this.specPath=es_always(["document","objects","ExternalDocumentation"]),this.canSupportSpecificationExtensions=!0}}const external_documentation=ExternalDocumentationVisitor;class Encoding extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="encoding"}get contentType(){return this.get("contentType")}set contentType(e){this.set("contentType",e)}get headers(){return this.get("headers")}set headers(e){this.set("headers",e)}get style(){return this.get("style")}set style(e){this.set("style",e)}get explode(){return this.get("explode")}set explode(e){this.set("explode",e)}get allowedReserved(){return this.get("allowedReserved")}set allowedReserved(e){this.set("allowedReserved",e)}}const elements_Encoding=Encoding;class encoding_EncodingVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Encoding,this.specPath=es_always(["document","objects","Encoding"]),this.canSupportSpecificationExtensions=!0}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.headers)&&this.element.headers.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const encoding=encoding_EncodingVisitor;class EncodingHeaders extends primitives_ObjectElement{static primaryClass="encoding-headers";constructor(e,t,s){super(e,t,s),this.classes.push(EncodingHeaders.primaryClass)}}const nces_EncodingHeaders=EncodingHeaders;class HeadersVisitor_HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_EncodingHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.forEach((e,t)=>{if(!isHeaderElement(e))return;const s=serializers_value(t);e.meta.set("headerName",s)})}}const encoding_HeadersVisitor=HeadersVisitor_HeadersVisitor;class Paths extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="paths"}}const elements_Paths=Paths;class PathsVisitor extends BasePatternedFieldsVisitor{constructor(e){super(e),this.element=new elements_Paths,this.specPath=es_always(["document","objects","PathItem"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=es_T}ObjectElement(e){BasePatternedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isPathItemElement).forEach((e,t)=>{t.classes.push("openapi-path-template"),t.classes.push("path-template"),e.meta.set("path",cloneDeep(t))})}}const paths=PathsVisitor;class RequestBody extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="requestBody"}get description(){return this.get("description")}set description(e){this.set("description",e)}get contentField(){return this.get("content")}set contentField(e){this.set("content",e)}get required(){return this.hasKey("required")?this.get("required"):new primitives_BooleanElement(!1)}set required(e){this.set("required",e)}}const elements_RequestBody=RequestBody;class RequestBodyVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_RequestBody,this.specPath=es_always(["document","objects","RequestBody"])}ObjectElement(e){visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))})}}const request_body=RequestBodyVisitor;class RequestBodyContent extends primitives_ObjectElement{static primaryClass="request-body-content";constructor(e,t,s){super(e,t,s),this.classes.push(RequestBodyContent.primaryClass),this.classes.push("content")}}const nces_RequestBodyContent=RequestBodyContent;class request_body_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_RequestBodyContent}}const request_body_ContentVisitor=request_body_ContentVisitor_ContentVisitor;class Callback extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="callback"}}const elements_Callback=Callback;class CallbackVisitor extends BasePatternedFieldsVisitor{constructor(e){super(e),this.element=new elements_Callback,this.specPath=es_always(["document","objects","PathItem"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=e=>/{(?<expression>[^}]{1,2083})}/.test(String(e))}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isPathItemElement).forEach((e,t)=>{e.meta.set("runtime-expression",serializers_value(t))})}}const callback=CallbackVisitor;class ResponseVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Response,this.specPath=es_always(["document","objects","Response"])}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),isObjectElement(this.element.contentField)&&this.element.contentField.filter(isMediaTypeElement).forEach((e,t)=>{e.meta.set("media-type",serializers_value(t))}),isObjectElement(this.element.headers)&&this.element.headers.filter(isHeaderElement).forEach((e,t)=>{e.meta.set("header-name",serializers_value(t))})}}const response=ResponseVisitor;class ResponseHeaders extends primitives_ObjectElement{static primaryClass="response-headers";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseHeaders.primaryClass)}}const nces_ResponseHeaders=ResponseHeaders;class response_HeadersVisitor_HeadersVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ResponseHeaders,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Header"]}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","header")}),this.element.forEach((e,t)=>{if(!isHeaderElement(e))return;const s=serializers_value(t);e.meta.set("header-name",s)})}}const response_HeadersVisitor=response_HeadersVisitor_HeadersVisitor;class ResponseContent extends primitives_ObjectElement{static primaryClass="response-content";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseContent.primaryClass),this.classes.push("content")}}const nces_ResponseContent=ResponseContent;class response_ContentVisitor_ContentVisitor extends open_api_3_0_ContentVisitor{constructor(e){super(e),this.element=new nces_ResponseContent}}const response_ContentVisitor=response_ContentVisitor_ContentVisitor;class ResponseLinks extends primitives_ObjectElement{static primaryClass="response-links";constructor(e,t,s){super(e,t,s),this.classes.push(ResponseLinks.primaryClass)}}const nces_ResponseLinks=ResponseLinks;class response_LinksVisitor_LinksVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_ResponseLinks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Link"]}ObjectElement(e){BaseMapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","link")})}}const response_LinksVisitor=response_LinksVisitor_LinksVisitor;function _isNumber(e){return"[object Number]"===Object.prototype.toString.call(e)}var range=_curry2(function(e,t){if(!_isNumber(e)||!_isNumber(t))throw new TypeError("Both arguments to range must be numbers");for(var s=e<t?Math.ceil(t-e):0,r=Array(s),i=0;i<s;)r[i]=i+e,i+=1;return r});const es_range=range;class Responses extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="responses"}get default(){return this.get("default")}set default(e){this.set("default",e)}}const elements_Responses=Responses;class responses_ResponsesVisitor extends BaseMixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Responses,this.specPathFixedFields=es_always(["document","objects","Responses"]),this.canSupportSpecificationExtensions=!0,this.specPathPatternedFields=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Response"],this.fieldPatternPredicate=e=>new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${es_range(100,600).join("|")})$`).test(String(e))}ObjectElement(e){BaseMixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","response")}),this.element.filter(isResponseElement).forEach((e,t)=>{const s=cloneDeep(t);this.fieldPatternPredicate(serializers_value(s))&&e.meta.set("http-status-code",s)})}}const responses=responses_ResponsesVisitor;class DefaultVisitor extends BaseAlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","Response"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)?this.element.meta.set("referenced-element","response"):isResponseElement(this.element)&&this.element.meta.set("http-status-code","default")}}const responses_DefaultVisitor=DefaultVisitor;class OperationVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_Operation,this.specPath=es_always(["document","objects","Operation"])}}const operation=OperationVisitor;class OperationTags extends primitives_ArrayElement{static primaryClass="operation-tags";constructor(e,t,s){super(e,t,s),this.classes.push(OperationTags.primaryClass)}}const nces_OperationTags=OperationTags;class TagsVisitor extends refractor_visitors_FallbackVisitor{constructor(e){super(e),this.element=new nces_OperationTags}ArrayElement(e){const t=e.node;this.element=this.element.concat(cloneDeep(t)),e.stop()}}const operation_TagsVisitor=TagsVisitor;class OperationParameters extends primitives_ArrayElement{static primaryClass="operation-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(OperationParameters.primaryClass),this.classes.push("parameters")}}const nces_OperationParameters=OperationParameters;class open_api_3_0_ParametersVisitor_ParametersVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("parameters")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Parameter"],s=this.toRefractedElement(t,e);isReferenceElement(s)&&s.meta.set("referenced-element","parameter"),this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_ParametersVisitor=open_api_3_0_ParametersVisitor_ParametersVisitor;class operation_ParametersVisitor_ParametersVisitor extends open_api_3_0_ParametersVisitor{constructor(e){super(e),this.element=new nces_OperationParameters}}const operation_ParametersVisitor=operation_ParametersVisitor_ParametersVisitor;class RequestBodyVisitor_RequestBodyVisitor extends visitors_generics_AlternatingVisitor{constructor(e){super(e),this.alternator=[{predicate:isReferenceLikeElement,specPath:["document","objects","Reference"]},{predicate:es_T,specPath:["document","objects","RequestBody"]}]}ObjectElement(e){visitors_generics_AlternatingVisitor.prototype.enter.call(this,e),isReferenceElement(this.element)&&this.element.meta.set("referenced-element","requestBody")}}const operation_RequestBodyVisitor=RequestBodyVisitor_RequestBodyVisitor;class OperationCallbacks extends primitives_ObjectElement{static primaryClass="operation-callbacks";constructor(e,t,s){super(e,t,s),this.classes.push(OperationCallbacks.primaryClass)}}const nces_OperationCallbacks=OperationCallbacks;class CallbacksVisitor_CallbacksVisitor extends BaseMapVisitor{specPath;constructor(e){super(e),this.element=new nces_OperationCallbacks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","Callback"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isReferenceElement).forEach(e=>{e.meta.set("referenced-element","callback")})}}const operation_CallbacksVisitor=CallbacksVisitor_CallbacksVisitor;class OperationSecurity extends primitives_ArrayElement{static primaryClass="operation-security";constructor(e,t,s){super(e,t,s),this.classes.push(OperationSecurity.primaryClass),this.classes.push("security")}}const nces_OperationSecurity=OperationSecurity;class SecurityVisitor_SecurityVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_OperationSecurity}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isObjectElement(e)?["document","objects","SecurityRequirement"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const operation_SecurityVisitor=SecurityVisitor_SecurityVisitor;class OperationServers extends primitives_ArrayElement{static primaryClass="operation-servers";constructor(e,t,s){super(e,t,s),this.classes.push(OperationServers.primaryClass),this.classes.push("servers")}}const nces_OperationServers=OperationServers;class ServersVisitor_ServersVisitor extends open_api_3_0_ServersVisitor{constructor(e){super(e),this.element=new nces_OperationServers}}const operation_ServersVisitor=ServersVisitor_ServersVisitor;class PathItemVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_PathItem,this.specPath=es_always(["document","objects","PathItem"])}ObjectElement(e){BaseFixedFieldsVisitor.prototype.ObjectElement.call(this,e),this.element.filter(isOperationElement).forEach((e,t)=>{const s=cloneDeep(t);s.content=serializers_value(s).toUpperCase(),e.meta.set("http-method",s)}),isStringElement(this.element.$ref)&&this.element.classes.push("reference-element")}}const path_item=PathItemVisitor;class path_item_$RefVisitor_$RefVisitor extends refractor_visitors_FallbackVisitor{StringElement(e){super.enter(e),this.element.classes.push("reference-value")}}const path_item_$RefVisitor=path_item_$RefVisitor_$RefVisitor;class PathItemServers extends primitives_ArrayElement{static primaryClass="path-item-servers";constructor(e,t,s){super(e,t,s),this.classes.push(PathItemServers.primaryClass),this.classes.push("servers")}}const nces_PathItemServers=PathItemServers;class path_item_ServersVisitor_ServersVisitor extends open_api_3_0_ServersVisitor{constructor(e){super(e),this.element=new nces_PathItemServers}}const path_item_ServersVisitor=path_item_ServersVisitor_ServersVisitor;class PathItemParameters extends primitives_ArrayElement{static primaryClass="path-item-parameters";constructor(e,t,s){super(e,t,s),this.classes.push(PathItemParameters.primaryClass),this.classes.push("parameters")}}const nces_PathItemParameters=PathItemParameters;class path_item_ParametersVisitor_ParametersVisitor extends open_api_3_0_ParametersVisitor{constructor(e){super(e),this.element=new nces_PathItemParameters}}const path_item_ParametersVisitor=path_item_ParametersVisitor_ParametersVisitor;class SecurityScheme extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="securityScheme"}get type(){return this.get("type")}set type(e){this.set("type",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get name(){return this.get("name")}set name(e){this.set("name",e)}get in(){return this.get("in")}set in(e){this.set("in",e)}get scheme(){return this.get("scheme")}set scheme(e){this.set("scheme",e)}get bearerFormat(){return this.get("bearerFormat")}set bearerFormat(e){this.set("bearerFormat",e)}get flows(){return this.get("flows")}set flows(e){this.set("flows",e)}get openIdConnectUrl(){return this.get("openIdConnectUrl")}set openIdConnectUrl(e){this.set("openIdConnectUrl",e)}}const elements_SecurityScheme=SecurityScheme;class SecuritySchemeVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_SecurityScheme,this.specPath=es_always(["document","objects","SecurityScheme"]),this.canSupportSpecificationExtensions=!0}}const security_scheme=SecuritySchemeVisitor;class OAuthFlows extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="oAuthFlows"}get implicit(){return this.get("implicit")}set implicit(e){this.set("implicit",e)}get password(){return this.get("password")}set password(e){this.set("password",e)}get clientCredentials(){return this.get("clientCredentials")}set clientCredentials(e){this.set("clientCredentials",e)}get authorizationCode(){return this.get("authorizationCode")}set authorizationCode(e){this.set("authorizationCode",e)}}const elements_OAuthFlows=OAuthFlows;class OAuthFlowsVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OAuthFlows,this.specPath=es_always(["document","objects","OAuthFlows"]),this.canSupportSpecificationExtensions=!0}}const oauth_flows=OAuthFlowsVisitor;class OAuthFlow extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="oAuthFlow"}get authorizationUrl(){return this.get("authorizationUrl")}set authorizationUrl(e){this.set("authorizationUrl",e)}get tokenUrl(){return this.get("tokenUrl")}set tokenUrl(e){this.set("tokenUrl",e)}get refreshUrl(){return this.get("refreshUrl")}set refreshUrl(e){this.set("refreshUrl",e)}get scopes(){return this.get("scopes")}set scopes(e){this.set("scopes",e)}}const elements_OAuthFlow=OAuthFlow;class OAuthFlowVisitor extends BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OAuthFlow,this.specPath=es_always(["document","objects","OAuthFlow"]),this.canSupportSpecificationExtensions=!0}}const oauth_flow=OAuthFlowVisitor;class OAuthFlowScopes extends primitives_ObjectElement{static primaryClass="oauth-flow-scopes";constructor(e,t,s){super(e,t,s),this.classes.push(OAuthFlowScopes.primaryClass)}}const nces_OAuthFlowScopes=OAuthFlowScopes;class ScopesVisitor extends BaseMapVisitor{constructor(e){super(e),this.element=new nces_OAuthFlowScopes,this.specPath=es_always(["value"])}}const oauth_flow_ScopesVisitor=ScopesVisitor;class Tags extends primitives_ArrayElement{static primaryClass="tags";constructor(e,t,s){super(e,t,s),this.classes.push(Tags.primaryClass)}}const nces_Tags=Tags;class TagsVisitor_TagsVisitor extends BaseSpecificationVisitor{constructor(e){super(e),this.element=new nces_Tags}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=isTagLikeElement(e)?["document","objects","Tag"]:["value"],s=this.toRefractedElement(t,e);this.element.push(s)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const open_api_3_0_TagsVisitor=TagsVisitor_TagsVisitor,{fixedFields:jsonSchemaFixedFields}=refractor_specification.visitors.document.objects.JSONSchema,specification_specification={visitors:{value:refractor_visitors_FallbackVisitor,document:{objects:{OpenApi:{$visitor:open_api_3_0,element:"openApi3_0",fixedFields:{openapi:open_api_3_0_OpenapiVisitor,info:{$ref:"#/visitors/document/objects/Info"},servers:open_api_3_0_ServersVisitor,paths:{$ref:"#/visitors/document/objects/Paths"},components:{$ref:"#/visitors/document/objects/Components"},security:open_api_3_0_SecurityVisitor,tags:open_api_3_0_TagsVisitor,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Info:{$visitor:info,element:"info",fixedFields:{title:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},termsOfService:{$ref:"#/visitors/value"},contact:{$ref:"#/visitors/document/objects/Contact"},license:{$ref:"#/visitors/document/objects/License"},version:info_VersionVisitor}},Contact:{$visitor:contact,element:"contact",fixedFields:{name:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"},email:{$ref:"#/visitors/value"}}},License:{$visitor:license,element:"license",fixedFields:{name:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"}}},Server:{$visitor:server,element:"server",fixedFields:{url:server_UrlVisitor,description:{$ref:"#/visitors/value"},variables:server_VariablesVisitor}},ServerVariable:{$visitor:server_variable,element:"serverVariable",fixedFields:{enum:{$ref:"#/visitors/value"},default:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"}}},Components:{$visitor:components,element:"components",fixedFields:{schemas:components_SchemasVisitor,responses:components_ResponsesVisitor,parameters:components_ParametersVisitor,examples:components_ExamplesVisitor,requestBodies:components_RequestBodiesVisitor,headers:components_HeadersVisitor,securitySchemes:components_SecuritySchemesVisitor,links:{$visitor:components_LinksVisitor,alias:"linksField"},callbacks:components_CallbacksVisitor}},Paths:{$visitor:paths,element:"paths"},PathItem:{$visitor:path_item,element:"pathItem",fixedFields:{$ref:path_item_$RefVisitor,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},get:{$ref:"#/visitors/document/objects/Operation",alias:"getField"},put:{$ref:"#/visitors/document/objects/Operation"},post:{$ref:"#/visitors/document/objects/Operation"},delete:{$ref:"#/visitors/document/objects/Operation",alias:"deleteField"},options:{$ref:"#/visitors/document/objects/Operation"},head:{$ref:"#/visitors/document/objects/Operation"},patch:{$ref:"#/visitors/document/objects/Operation"},trace:{$ref:"#/visitors/document/objects/Operation"},servers:path_item_ServersVisitor,parameters:path_item_ParametersVisitor}},Operation:{$visitor:operation,element:"operation",fixedFields:{tags:operation_TagsVisitor,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},operationId:{$ref:"#/visitors/value"},parameters:operation_ParametersVisitor,requestBody:operation_RequestBodyVisitor,responses:{$ref:"#/visitors/document/objects/Responses"},callbacks:operation_CallbacksVisitor,deprecated:{$ref:"#/visitors/value"},security:operation_SecurityVisitor,servers:operation_ServersVisitor}},ExternalDocumentation:{$visitor:external_documentation,element:"externalDocumentation",fixedFields:{description:{$ref:"#/visitors/value"},url:{$ref:"#/visitors/value"}}},Parameter:{$visitor:parameter,element:"parameter",fixedFields:{name:{$ref:"#/visitors/value"},in:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},required:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"},allowEmptyValue:{$ref:"#/visitors/value"},style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"},schema:parameter_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:parameter_ExamplesVisitor,content:{$visitor:parameter_ContentVisitor,alias:"contentField"}}},RequestBody:{$visitor:request_body,element:"requestBody",fixedFields:{description:{$ref:"#/visitors/value"},content:{$visitor:request_body_ContentVisitor,alias:"contentField"},required:{$ref:"#/visitors/value"}}},MediaType:{$visitor:media_type,element:"mediaType",fixedFields:{schema:media_type_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:media_type_ExamplesVisitor,encoding:media_type_EncodingVisitor}},Encoding:{$visitor:encoding,element:"encoding",fixedFields:{contentType:{$ref:"#/visitors/value"},headers:encoding_HeadersVisitor,style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"}}},Responses:{$visitor:responses,element:"responses",fixedFields:{default:responses_DefaultVisitor}},Response:{$visitor:response,element:"response",fixedFields:{description:{$ref:"#/visitors/value"},headers:response_HeadersVisitor,content:{$visitor:response_ContentVisitor,alias:"contentField"},links:{$visitor:response_LinksVisitor,alias:"linksField"}}},Callback:{$visitor:callback,element:"callback"},Example:{$visitor:example,element:"example",fixedFields:{summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},value:{$ref:"#/visitors/value"},externalValue:example_ExternalValueVisitor}},Link:{$visitor:open_api_3_0_link,element:"link",fixedFields:{operationRef:link_OperationRefVisitor,operationId:link_OperationIdVisitor,parameters:link_ParametersVisitor,requestBody:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},server:{$ref:"#/visitors/document/objects/Server"}}},Header:{$visitor:header,element:"header",fixedFields:{description:{$ref:"#/visitors/value"},required:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"},allowEmptyValue:{$ref:"#/visitors/value"},style:{$ref:"#/visitors/value"},explode:{$ref:"#/visitors/value"},allowReserved:{$ref:"#/visitors/value"},schema:header_SchemaVisitor,example:{$ref:"#/visitors/value"},examples:header_ExamplesVisitor,content:{$visitor:header_ContentVisitor,alias:"contentField"}}},Tag:{$visitor:tag,element:"tag",fixedFields:{name:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Reference:{$visitor:reference,element:"reference",fixedFields:{$ref:reference_$RefVisitor}},JSONSchema:{$ref:"#/visitors/document/objects/Schema"},JSONReference:{$ref:"#/visitors/document/objects/Reference"},Schema:{$visitor:schema,element:"schema",fixedFields:{title:jsonSchemaFixedFields.title,multipleOf:jsonSchemaFixedFields.multipleOf,maximum:jsonSchemaFixedFields.maximum,exclusiveMaximum:jsonSchemaFixedFields.exclusiveMaximum,minimum:jsonSchemaFixedFields.minimum,exclusiveMinimum:jsonSchemaFixedFields.exclusiveMinimum,maxLength:jsonSchemaFixedFields.maxLength,minLength:jsonSchemaFixedFields.minLength,pattern:jsonSchemaFixedFields.pattern,maxItems:jsonSchemaFixedFields.maxItems,minItems:jsonSchemaFixedFields.minItems,uniqueItems:jsonSchemaFixedFields.uniqueItems,maxProperties:jsonSchemaFixedFields.maxProperties,minProperties:jsonSchemaFixedFields.minProperties,required:jsonSchemaFixedFields.required,enum:jsonSchemaFixedFields.enum,type:schema_TypeVisitor,allOf:schema_AllOfVisitor,anyOf:schema_AnyOfVisitor,oneOf:schema_OneOfVisitor,not:schema_SchemaOrReferenceVisitor,items:{$visitor:schema_ItemsVisitor,alias:"itemsField"},properties:schema_PropertiesVisitor,additionalProperties:schema_SchemaOrReferenceVisitor,description:jsonSchemaFixedFields.description,format:jsonSchemaFixedFields.format,default:jsonSchemaFixedFields.default,nullable:{$ref:"#/visitors/value"},discriminator:{$ref:"#/visitors/document/objects/Discriminator"},writeOnly:{$ref:"#/visitors/value"},xml:{$ref:"#/visitors/document/objects/XML"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},example:{$ref:"#/visitors/value"},deprecated:{$ref:"#/visitors/value"}}},Discriminator:{$visitor:distriminator,element:"discriminator",fixedFields:{propertyName:{$ref:"#/visitors/value"},mapping:distriminator_MappingVisitor}},XML:{$visitor:xml,element:"xml",fixedFields:{name:{$ref:"#/visitors/value"},namespace:{$ref:"#/visitors/value"},prefix:{$ref:"#/visitors/value"},attribute:{$ref:"#/visitors/value"},wrapped:{$ref:"#/visitors/value"}}},SecurityScheme:{$visitor:security_scheme,element:"securityScheme",fixedFields:{type:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"},name:{$ref:"#/visitors/value"},in:{$ref:"#/visitors/value"},scheme:{$ref:"#/visitors/value"},bearerFormat:{$ref:"#/visitors/value"},flows:{$ref:"#/visitors/document/objects/OAuthFlows"},openIdConnectUrl:{$ref:"#/visitors/value"}}},OAuthFlows:{$visitor:oauth_flows,element:"oAuthFlows",fixedFields:{implicit:{$ref:"#/visitors/document/objects/OAuthFlow"},password:{$ref:"#/visitors/document/objects/OAuthFlow"},clientCredentials:{$ref:"#/visitors/document/objects/OAuthFlow"},authorizationCode:{$ref:"#/visitors/document/objects/OAuthFlow"}}},OAuthFlow:{$visitor:oauth_flow,element:"oAuthFlow",fixedFields:{authorizationUrl:{$ref:"#/visitors/value"},tokenUrl:{$ref:"#/visitors/value"},refreshUrl:{$ref:"#/visitors/value"},scopes:oauth_flow_ScopesVisitor}},SecurityRequirement:{$visitor:security_requirement,element:"securityRequirement"}},extension:{$visitor:visitors_SpecificationExtensionVisitor}}}},src_refractor_specification=specification_specification;function _assoc(e,t,s){if(_isInteger(e)&&_isArray(s)){var r=e<0?s.length+e:e,i=[].concat(s);return i[r]=t,i}var n={};for(var o in s)n[o]=s[o];return n[e]=t,n}var assocPath=_curry3(function e(t,s,r){if(0===t.length)return s;var i=t[0];if(t.length>1){var n=internal_prop(i,r);(es_isNil(n)||"object"!=typeof n)&&(n=_isInteger(t[1])?[]:{}),s=e(Array.prototype.slice.call(t,1),s,n)}return _assoc(i,s,r)});const es_assocPath=assocPath;var remove=_curry3(function(e,t,s){var r=Array.prototype.slice.call(s,0);return r.splice(e,t),r});const es_remove=remove;function _dissoc(e,t){if(null==t)return t;if(_isInteger(e)&&_isArray(t))return es_remove(e,1,t);var s={};for(var r in t)s[r]=t[r];return delete s[e],s}var assoc=_curry3(function(e,t,s){return es_assocPath([e],t,s)});const es_assoc=assoc;function _shallowCloneObject(e,t){if(_isInteger(e)&&_isArray(t))return[].concat(t);var s={};for(var r in t)s[r]=t[r];return s}var dissocPath=_curry2(function e(t,s){if(null==s)return s;switch(t.length){case 0:return s;case 1:return _dissoc(t[0],s);default:var r=t[0],i=Array.prototype.slice.call(t,1);return null==s[r]?_shallowCloneObject(r,s):es_assoc(r,e(i,s[r]),s)}});const es_dissocPath=dissocPath;class JSONSchema_JSONSchema extends elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft6"}get idField(){throw new src_UnsupportedOperationError("id keyword from Core vocabulary has been renamed to $id.")}set idField(e){throw new src_UnsupportedOperationError("id keyword from Core vocabulary has been renamed to $id.")}get $id(){return this.get("$id")}set $id(e){this.set("$id",e)}get exclusiveMaximum(){return this.get("exclusiveMaximum")}set exclusiveMaximum(e){this.set("exclusiveMaximum",e)}get exclusiveMinimum(){return this.get("exclusiveMinimum")}set exclusiveMinimum(e){this.set("exclusiveMinimum",e)}get containsField(){return this.get("contains")}set containsField(e){this.set("contains",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get propertyNames(){return this.get("propertyNames")}set propertyNames(e){this.set("propertyNames",e)}get const(){return this.get("const")}set const(e){this.set("const",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get examples(){return this.get("examples")}set examples(e){this.set("examples",e)}}const src_elements_JSONSchema=JSONSchema_JSONSchema;class json_schema_JSONSchemaVisitor extends json_schema{constructor(e){super(e),this.element=new src_elements_JSONSchema}get defaultDialectIdentifier(){return"http://json-schema.org/draft-06/schema#"}BooleanElement(e){this.enter(e),this.element.classes.push("boolean-json-schema")}handleSchemaIdentifier(e,t="$id"){return super.handleSchemaIdentifier(e,t)}}const visitors_json_schema=json_schema_JSONSchemaVisitor;class json_schema_ItemsVisitor_ItemsVisitor extends json_schema_ItemsVisitor{BooleanElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}}const visitors_json_schema_ItemsVisitor=json_schema_ItemsVisitor_ItemsVisitor;class json_schema_ExamplesVisitor_ExamplesVisitor extends visitors_FallbackVisitor{ArrayElement(e){this.enter(e),this.element.classes.push("json-schema-examples")}}const json_schema_ExamplesVisitor=json_schema_ExamplesVisitor_ExamplesVisitor;class LinkDescription_LinkDescription extends elements_LinkDescription{get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get schema(){throw new src_UnsupportedOperationError("schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.")}set schema(e){throw new src_UnsupportedOperationError("schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.")}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}get method(){throw new src_UnsupportedOperationError("method keyword from Hyper-Schema vocabulary has been removed.")}set method(e){throw new src_UnsupportedOperationError("method keyword from Hyper-Schema vocabulary has been removed.")}get encType(){throw new src_UnsupportedOperationError("encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.")}set encType(e){throw new src_UnsupportedOperationError("encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.")}get submissionEncType(){return this.get("submissionEncType")}set submissionEncType(e){this.set("submissionEncType",e)}}const src_elements_LinkDescription=LinkDescription_LinkDescription;class link_description_LinkDescriptionVisitor extends link_description{constructor(e){super(e),this.element=new src_elements_LinkDescription}}const json_schema_link_description=link_description_LinkDescriptionVisitor,refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchemaDraft6"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","id"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$id"],{$ref:"#/visitors/value"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],{$visitor:refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor,alias:"containsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],{$visitor:visitors_json_schema_ItemsVisitor,alias:"itemsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","const"],{$ref:"#/visitors/value"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","examples"],json_schema_ExamplesVisitor),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","schema"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","method"]),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","encType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionEncType"],{$ref:"#/visitors/value"}))(refractor_specification),apidom_ns_json_schema_draft_6_src_refractor_specification=refractor_specification_specification,inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_draft_6_src_refractor_specification),inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(src_elements_JSONSchema,"fixedFields",{get:()=>inspect_getFixedFields(inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(src_elements_LinkDescription,"fixedFields",{get:()=>inspect_getFixedFields(inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class elements_JSONSchema_JSONSchema extends src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchemaDraft7"}get $comment(){return this.get("$comment")}set $comment(e){this.set("$comment",e)}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get if(){return this.get("if")}set if(e){this.set("if",e)}get then(){return this.get("then")}set then(e){this.set("then",e)}get else(){return this.get("else")}set else(e){this.set("else",e)}get not(){return this.get("not")}set not(e){this.set("not",e)}get contentEncoding(){return this.get("contentEncoding")}set contentEncoding(e){this.set("contentEncoding",e)}get contentMediaType(){return this.get("contentMediaType")}set contentMediaType(e){this.set("contentMediaType",e)}get media(){throw new src_UnsupportedOperationError('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as "contentMediaType" / "contentEncoding"')}set media(e){throw new src_UnsupportedOperationError('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as "contentMediaType" / "contentEncoding"')}get writeOnly(){return this.get("writeOnly")}set writeOnly(e){this.set("writeOnly",e)}}const apidom_ns_json_schema_draft_7_src_elements_JSONSchema=elements_JSONSchema_JSONSchema;class visitors_json_schema_JSONSchemaVisitor extends visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_draft_7_src_elements_JSONSchema}get defaultDialectIdentifier(){return"http://json-schema.org/draft-07/schema#"}}const refractor_visitors_json_schema=visitors_json_schema_JSONSchemaVisitor;class elements_LinkDescription_LinkDescription extends src_elements_LinkDescription{get anchor(){return this.get("anchor")}set anchor(e){this.set("anchor",e)}get anchorPointer(){return this.get("anchorPointer")}set anchorPointer(e){this.set("anchorPointer",e)}get templatePointers(){return this.get("templatePointers")}set templatePointers(e){this.set("templatePointers",e)}get templateRequired(){return this.get("templateRequired")}set templateRequired(e){this.set("templateRequired",e)}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get mediaType(){throw new src_UnsupportedOperationError("mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.")}set mediaType(e){throw new src_UnsupportedOperationError("mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.")}get targetMediaType(){return this.get("targetMediaType")}set targetMediaType(e){this.set("targetMediaType",e)}get targetHints(){return this.get("targetHints")}set targetHints(e){this.set("targetHints",e)}get description(){return this.get("description")}set description(e){this.set("description",e)}get $comment(){return this.get("$comment")}set $comment(e){this.set("$comment",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}get submissionEncType(){throw new src_UnsupportedOperationError("submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.")}set submissionEncType(e){throw new src_UnsupportedOperationError("submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.")}get submissionMediaType(){return this.get("submissionMediaType")}set submissionMediaType(e){this.set("submissionMediaType",e)}}const apidom_ns_json_schema_draft_7_src_elements_LinkDescription=elements_LinkDescription_LinkDescription;class json_schema_link_description_LinkDescriptionVisitor extends json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_draft_7_src_elements_LinkDescription}}const visitors_json_schema_link_description=json_schema_link_description_LinkDescriptionVisitor,src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchemaDraft7"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$comment"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","media"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentEncoding"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","writeOnly"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","anchor"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","anchorPointer"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","mediaType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetHints"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","description"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","$comment"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.JSONSchemaOrJSONReferenceVisitor),es_dissocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionEncType"]),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionMediaType"],apidom_ns_json_schema_draft_6_src_refractor_specification.visitors.value))(apidom_ns_json_schema_draft_6_src_refractor_specification),apidom_ns_json_schema_draft_7_src_refractor_specification=src_refractor_specification_specification,refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_draft_7_src_refractor_specification),refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_draft_7_src_elements_JSONSchema,"fixedFields",{get:()=>refractor_inspect_getFixedFields(refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_draft_7_src_elements_LinkDescription,"fixedFields",{get:()=>refractor_inspect_getFixedFields(refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class src_elements_JSONSchema_JSONSchema extends apidom_ns_json_schema_draft_7_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchema201909"}get $vocabulary(){return this.get("$vocabulary")}set $vocabulary(e){this.set("$vocabulary",e)}get $anchor(){return this.get("$anchor")}set $anchor(e){this.set("$anchor",e)}get $recursiveAnchor(){return this.get("$recursiveAnchor")}set $recursiveAnchor(e){this.set("$recursiveAnchor",e)}get $recursiveRef(){return this.get("$recursiveRef")}set $recursiveRef(e){this.set("$recursiveRef",e)}get $ref(){return this.get("$ref")}set $ref(e){this.set("$ref",e)}get $defs(){return this.get("$defs")}set $defs(e){this.set("$defs",e)}get definitions(){throw new src_UnsupportedOperationError("definitions keyword from Validation vocabulary has been renamed to $defs.")}set definitions(e){throw new src_UnsupportedOperationError("definitions keyword from Validation vocabulary has been renamed to $defs.")}get not(){return this.get("not")}set not(e){this.set("not",e)}get if(){return this.get("if")}set if(e){this.set("if",e)}get then(){return this.get("then")}set then(e){this.set("then",e)}get else(){return this.get("else")}set else(e){this.set("else",e)}get dependentSchemas(){return this.get("dependentSchemas")}set dependentSchemas(e){this.set("dependentSchemas",e)}get dependencies(){throw new src_UnsupportedOperationError("dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.")}set dependencies(e){throw new src_UnsupportedOperationError("dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.")}get itemsField(){return this.get("items")}set itemsField(e){this.set("items",e)}get contains(){return this.get("contains")}set contains(e){this.set("contains",e)}get additionalProperties(){return this.get("additionalProperties")}set additionalProperties(e){this.set("additionalProperties",e)}get additionalItems(){return this.get("additionalItems")}set additionalItems(e){this.set("additionalItems",e)}get propertyNames(){return this.get("propertyNames")}set propertyNames(e){this.set("propertyNames",e)}get unevaluatedItems(){return this.get("unevaluatedItems")}set unevaluatedItems(e){this.set("unevaluatedItems",e)}get unevaluatedProperties(){return this.get("unevaluatedProperties")}set unevaluatedProperties(e){this.set("unevaluatedProperties",e)}get maxContains(){return this.get("maxContains")}set maxContains(e){this.set("maxContains",e)}get minContains(){return this.get("minContains")}set minContains(e){this.set("minContains",e)}get dependentRequired(){return this.get("dependentRequired")}set dependentRequired(e){this.set("dependentRequired",e)}get deprecated(){return this.get("deprecated")}set deprecated(e){this.set("deprecated",e)}get contentSchema(){return this.get("contentSchema")}set contentSchema(e){this.set("contentSchema",e)}}const apidom_ns_json_schema_2019_09_src_elements_JSONSchema=src_elements_JSONSchema_JSONSchema;class refractor_visitors_json_schema_JSONSchemaVisitor extends refractor_visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_2019_09_src_elements_JSONSchema}get defaultDialectIdentifier(){return"https://json-schema.org/draft/2019-09/schema"}ObjectElement(e){const t=e.node;this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&(this.element.classes.push("reference-element"),this.element.meta.set("referenced-element","schema"))}}const src_refractor_visitors_json_schema=refractor_visitors_json_schema_JSONSchemaVisitor;class $vocabularyVisitor extends visitors_FallbackVisitor{ObjectElement(e){this.enter(e),this.element.classes.push("json-schema-$vocabulary")}}const json_schema_$vocabularyVisitor=$vocabularyVisitor;class $refVisitor extends visitors_FallbackVisitor{StringElement(e){this.enter(e),this.element.classes.push("reference-value")}}const json_schema_$refVisitor=$refVisitor,BaseSchemaArrayVisitor=Mixin(visitors_SpecificationVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor),BaseSchemaMapVisitor=Mixin(generics_MapVisitor,json_schema_ParentSchemaAwareVisitor,visitors_FallbackVisitor);class $defsVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-$defs"),this.specPath=es_always(["document","objects","JSONSchema"])}}const json_schema_$defsVisitor=$defsVisitor;class json_schema_AllOfVisitor_AllOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-allOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_AllOfVisitor=json_schema_AllOfVisitor_AllOfVisitor;class json_schema_AnyOfVisitor_AnyOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-anyOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_AnyOfVisitor=json_schema_AnyOfVisitor_AnyOfVisitor;class json_schema_OneOfVisitor_OneOfVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-oneOf")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const visitors_json_schema_OneOfVisitor=json_schema_OneOfVisitor_OneOfVisitor;class DependentSchemasVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-dependentSchemas"),this.specPath=es_always(["document","objects","JSONSchema"])}}const json_schema_DependentSchemasVisitor=DependentSchemasVisitor;class visitors_json_schema_ItemsVisitor_ItemsVisitor extends BaseSchemaArrayVisitor{ObjectElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}ArrayElement(e){const t=e.node;this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-items"),t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}BooleanElement(e){this.element=this.toRefractedElement(["document","objects","JSONSchema"],e.node),e.stop()}}const refractor_visitors_json_schema_ItemsVisitor=visitors_json_schema_ItemsVisitor_ItemsVisitor;class json_schema_PropertiesVisitor_PropertiesVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-properties"),this.specPath=es_always(["document","objects","JSONSchema"])}}const visitors_json_schema_PropertiesVisitor=json_schema_PropertiesVisitor_PropertiesVisitor;class PatternPropertiesVisitor_PatternPropertiesVisitor extends BaseSchemaMapVisitor{constructor(e){super(e),this.element=new primitives_ObjectElement,this.element.classes.push("json-schema-patternProperties"),this.specPath=es_always(["document","objects","JSONSchema"])}}const visitors_json_schema_PatternPropertiesVisitor=PatternPropertiesVisitor_PatternPropertiesVisitor;class DependentRequiredVisitor extends visitors_FallbackVisitor{ObjectElement(e){this.enter(e),this.element.classes.push("json-schema-dependentRequired")}}const json_schema_DependentRequiredVisitor=DependentRequiredVisitor;class src_elements_LinkDescription_LinkDescription extends apidom_ns_json_schema_draft_7_src_elements_LinkDescription{constructor(e,t,s){super(e,t,s),this.element="linkDescription"}get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}}const apidom_ns_json_schema_2019_09_src_elements_LinkDescription=src_elements_LinkDescription_LinkDescription;class visitors_json_schema_link_description_LinkDescriptionVisitor extends visitors_json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_2019_09_src_elements_LinkDescription}}const refractor_visitors_json_schema_link_description=visitors_json_schema_link_description_LinkDescriptionVisitor,apidom_ns_json_schema_2019_09_src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchema201909"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$vocabulary"],json_schema_$vocabularyVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$anchor"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveAnchor"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveRef"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","JSONReference","$visitor"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$ref"],json_schema_$refVisitor),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","definitions"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$defs"],json_schema_$defsVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","allOf"],visitors_json_schema_AllOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","anyOf"],visitors_json_schema_AnyOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","oneOf"],visitors_json_schema_OneOfVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","not"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","dependencies"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","dependentSchemas"],json_schema_DependentSchemasVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],{$visitor:refractor_visitors_json_schema_ItemsVisitor,alias:"itemsField"}),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","properties"],visitors_json_schema_PropertiesVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","patternProperties"],visitors_json_schema_PatternPropertiesVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalProperties"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalItems"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedItems"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedProperties"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","maxContains"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","minContains"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","dependentRequired"],json_schema_DependentRequiredVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","deprecated"],apidom_ns_json_schema_draft_7_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","element"],"linkDescription"),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],refractor_visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],src_refractor_visitors_json_schema))(apidom_ns_json_schema_draft_7_src_refractor_specification),apidom_ns_json_schema_2019_09_src_refractor_specification=apidom_ns_json_schema_2019_09_src_refractor_specification_specification,src_refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_2019_09_src_refractor_specification),src_refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_2019_09_src_elements_JSONSchema,"fixedFields",{get:()=>src_refractor_inspect_getFixedFields(src_refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_2019_09_src_elements_LinkDescription,"fixedFields",{get:()=>src_refractor_inspect_getFixedFields(src_refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class apidom_ns_json_schema_2020_12_src_elements_JSONSchema_JSONSchema extends apidom_ns_json_schema_2019_09_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="JSONSchema202012"}get $dynamicAnchor(){return this.get("$dynamicAnchor")}set $dynamicAnchor(e){this.set("$dynamicAnchor",e)}get $recursiveAnchor(){throw new src_UnsupportedOperationError("$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.")}set $recursiveAnchor(e){throw new src_UnsupportedOperationError("$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.")}get $dynamicRef(){return this.get("$dynamicRef")}set $dynamicRef(e){this.set("$dynamicRef",e)}get $recursiveRef(){throw new src_UnsupportedOperationError("$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.")}set $recursiveRef(e){throw new src_UnsupportedOperationError("$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.")}get prefixItems(){return this.get("prefixItems")}set prefixItems(e){this.set("prefixItems",e)}}const apidom_ns_json_schema_2020_12_src_elements_JSONSchema=apidom_ns_json_schema_2020_12_src_elements_JSONSchema_JSONSchema;class src_refractor_visitors_json_schema_JSONSchemaVisitor extends src_refractor_visitors_json_schema{constructor(e){super(e),this.element=new apidom_ns_json_schema_2020_12_src_elements_JSONSchema}get defaultDialectIdentifier(){return"https://json-schema.org/draft/2020-12/schema"}}const apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema=src_refractor_visitors_json_schema_JSONSchemaVisitor;class PrefixItemsVisitor extends BaseSchemaArrayVisitor{constructor(e){super(e),this.element=new primitives_ArrayElement,this.element.classes.push("json-schema-prefixItems")}ArrayElement(e){const t=e.node;t.forEach(e=>{const t=this.toRefractedElement(["document","objects","JSONSchema"],e);this.element.push(t)}),this.copyMetaAndAttributes(t,this.element),e.stop()}}const json_schema_PrefixItemsVisitor=PrefixItemsVisitor;class apidom_ns_json_schema_2020_12_src_elements_LinkDescription_LinkDescription extends apidom_ns_json_schema_2019_09_src_elements_LinkDescription{get targetSchema(){return this.get("targetSchema")}set targetSchema(e){this.set("targetSchema",e)}get hrefSchema(){return this.get("hrefSchema")}set hrefSchema(e){this.set("hrefSchema",e)}get headerSchema(){return this.get("headerSchema")}set headerSchema(e){this.set("headerSchema",e)}get submissionSchema(){return this.get("submissionSchema")}set submissionSchema(e){this.set("submissionSchema",e)}}const apidom_ns_json_schema_2020_12_src_elements_LinkDescription=apidom_ns_json_schema_2020_12_src_elements_LinkDescription_LinkDescription;class refractor_visitors_json_schema_link_description_LinkDescriptionVisitor extends refractor_visitors_json_schema_link_description{constructor(e){super(e),this.element=new apidom_ns_json_schema_2020_12_src_elements_LinkDescription}}const src_refractor_visitors_json_schema_link_description=refractor_visitors_json_schema_link_description_LinkDescriptionVisitor,apidom_ns_json_schema_2020_12_src_refractor_specification_specification=pipe(es_assocPath(["visitors","document","objects","JSONSchema","element"],"jSONSchema202012"),es_assocPath(["visitors","document","objects","JSONSchema","$visitor"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveAnchor"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$dynamicAnchor"],apidom_ns_json_schema_2019_09_src_refractor_specification.visitors.value),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","$recursiveRef"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","$dynamicRef"],apidom_ns_json_schema_2019_09_src_refractor_specification.visitors.value),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","not"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","if"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","then"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","else"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","prefixItems"],json_schema_PrefixItemsVisitor),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","items"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contains"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalProperties"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_dissocPath(["visitors","document","objects","JSONSchema","fixedFields","additionalItems"]),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","propertyNames"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedItems"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","unevaluatedProperties"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","JSONSchema","fixedFields","contentSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","element"],"linkDescription"),es_assocPath(["visitors","document","objects","LinkDescription","$visitor"],src_refractor_visitors_json_schema_link_description),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","targetSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","hrefSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","headerSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema),es_assocPath(["visitors","document","objects","LinkDescription","fixedFields","submissionSchema"],apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema))(apidom_ns_json_schema_2019_09_src_refractor_specification),apidom_ns_json_schema_2020_12_src_refractor_specification=apidom_ns_json_schema_2020_12_src_refractor_specification_specification;class OpenApi3_1 extends primitives_ObjectElement{constructor(e,t,s){super(e,t,s),this.element="openApi3_1",this.classes.push("api")}get openapi(){return this.get("openapi")}set openapi(e){this.set("openapi",e)}get info(){return this.get("info")}set info(e){this.set("info",e)}get jsonSchemaDialect(){return this.get("jsonSchemaDialect")}set jsonSchemaDialect(e){this.set("jsonSchemaDialect",e)}get servers(){return this.get("servers")}set servers(e){this.set("servers",e)}get paths(){return this.get("paths")}set paths(e){this.set("paths",e)}get components(){return this.get("components")}set components(e){this.set("components",e)}get security(){return this.get("security")}set security(e){this.set("security",e)}get tags(){return this.get("tags")}set tags(e){this.set("tags",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get webhooks(){return this.get("webhooks")}set webhooks(e){this.set("webhooks",e)}}const elements_OpenApi3_1=OpenApi3_1,bases_BaseSpecificationVisitor=Mixin(refractor_visitors_SpecificationVisitor,refractor_visitors_FallbackVisitor),bases_BaseFixedFieldsVisitor=Mixin(visitors_generics_FixedFieldsVisitor,refractor_visitors_FallbackVisitor),bases_BaseMapVisitor=Mixin(visitors_generics_MapVisitor,refractor_visitors_FallbackVisitor),BaseSchemaVisitor=Mixin(visitors_generics_FixedFieldsVisitor,json_schema_ParentSchemaAwareVisitor,refractor_visitors_FallbackVisitor);class OpenApi3_1Visitor extends bases_BaseFixedFieldsVisitor{constructor(e){super(e),this.element=new elements_OpenApi3_1,this.specPath=es_always(["document","objects","OpenApi"]),this.canSupportSpecificationExtensions=!0,this.openApiSemanticElement=this.element}ObjectElement(e){const t=e.node;this.openApiGenericElement=t,visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e)}}const open_api_3_1=OpenApi3_1Visitor;class Info_Info extends elements_Info{get license(){return this.get("license")}set license(e){this.set("license",e)}get summary(){return this.get("summary")}set summary(e){this.set("summary",e)}}const src_elements_Info=Info_Info,BaseInfoVisitor=src_refractor_specification.visitors.document.objects.Info.$visitor;class info_InfoVisitor extends BaseInfoVisitor{constructor(e){super(e),this.element=new src_elements_Info}}const open_api_3_1_info=info_InfoVisitor;class Contact_Contact extends elements_Contact{}const src_elements_Contact=Contact_Contact,BaseContactVisitor=src_refractor_specification.visitors.document.objects.Contact.$visitor;class contact_ContactVisitor extends BaseContactVisitor{constructor(e){super(e),this.element=new src_elements_Contact}}const open_api_3_1_contact=contact_ContactVisitor;class License_License extends elements_License{get identifier(){return this.get("identifier")}set identifier(e){this.set("identifier",e)}}const src_elements_License=License_License,BaseLicenseVisitor=src_refractor_specification.visitors.document.objects.License.$visitor;class license_LicenseVisitor extends BaseLicenseVisitor{constructor(e){super(e),this.element=new src_elements_License}}const open_api_3_1_license=license_LicenseVisitor;class Link_Link extends elements_Link{}const src_elements_Link=Link_Link,BaseLinkVisitor=src_refractor_specification.visitors.document.objects.Link.$visitor;class link_LinkVisitor extends BaseLinkVisitor{constructor(e){super(e),this.element=new src_elements_Link}}const open_api_3_1_link=link_LinkVisitor;class JsonSchemaDialect extends primitives_StringElement{static default=new JsonSchemaDialect("https://spec.openapis.org/oas/3.1/dialect/base");constructor(e,t,s){super(e,t,s),this.element="jsonSchemaDialect"}}const elements_JsonSchemaDialect=JsonSchemaDialect;class JsonSchemaDialectVisitor extends bases_BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new elements_JsonSchemaDialect(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_1_JsonSchemaDialectVisitor=JsonSchemaDialectVisitor;class Openapi_Openapi extends elements_Openapi{}const src_elements_Openapi=Openapi_Openapi;class OpenapiVisitor_OpenapiVisitor extends bases_BaseSpecificationVisitor{StringElement(e){const t=e.node,s=new src_elements_Openapi(serializers_value(t));this.copyMetaAndAttributes(t,s),this.element=s,e.stop()}}const open_api_3_1_OpenapiVisitor=OpenapiVisitor_OpenapiVisitor;class Server_Server extends elements_Server{}const src_elements_Server=Server_Server,BaseServerVisitor=src_refractor_specification.visitors.document.objects.Server.$visitor;class server_ServerVisitor extends BaseServerVisitor{constructor(e){super(e),this.element=new src_elements_Server}}const open_api_3_1_server=server_ServerVisitor;class ServerVariable_ServerVariable extends elements_ServerVariable{}const src_elements_ServerVariable=ServerVariable_ServerVariable,BaseServerVariableVisitor=src_refractor_specification.visitors.document.objects.ServerVariable.$visitor;class server_variable_ServerVariableVisitor extends BaseServerVariableVisitor{constructor(e){super(e),this.element=new src_elements_ServerVariable}}const open_api_3_1_server_variable=server_variable_ServerVariableVisitor;class MediaType_MediaType extends elements_MediaType{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_MediaType=MediaType_MediaType,BaseMediaTypeVisitor=src_refractor_specification.visitors.document.objects.MediaType.$visitor;class media_type_MediaTypeVisitor extends BaseMediaTypeVisitor{constructor(e){super(e),this.element=new src_elements_MediaType}}const open_api_3_1_media_type=media_type_MediaTypeVisitor;class SecurityRequirement_SecurityRequirement extends elements_SecurityRequirement{}const src_elements_SecurityRequirement=SecurityRequirement_SecurityRequirement,BaseSecurityRequirementVisitor=src_refractor_specification.visitors.document.objects.SecurityRequirement.$visitor;class security_requirement_SecurityRequirementVisitor extends BaseSecurityRequirementVisitor{constructor(e){super(e),this.element=new src_elements_SecurityRequirement}}const open_api_3_1_security_requirement=security_requirement_SecurityRequirementVisitor;class Components_Components extends elements_Components{get pathItems(){return this.get("pathItems")}set pathItems(e){this.set("pathItems",e)}}const src_elements_Components=Components_Components,BaseComponentsVisitor=src_refractor_specification.visitors.document.objects.Components.$visitor;class components_ComponentsVisitor extends BaseComponentsVisitor{constructor(e){super(e),this.element=new src_elements_Components}}const open_api_3_1_components=components_ComponentsVisitor;class Tag_Tag extends elements_Tag{}const src_elements_Tag=Tag_Tag,BaseTagVisitor=src_refractor_specification.visitors.document.objects.Tag.$visitor;class tag_TagVisitor extends BaseTagVisitor{constructor(e){super(e),this.element=new src_elements_Tag}}const open_api_3_1_tag=tag_TagVisitor;class Reference_Reference extends elements_Reference{}Object.defineProperty(Reference_Reference.prototype,"description",{get(){return this.get("description")},set(e){this.set("description",e)},enumerable:!0}),Object.defineProperty(Reference_Reference.prototype,"summary",{get(){return this.get("summary")},set(e){this.set("summary",e)},enumerable:!0});const src_elements_Reference=Reference_Reference,BaseReferenceVisitor=src_refractor_specification.visitors.document.objects.Reference.$visitor;class reference_ReferenceVisitor extends BaseReferenceVisitor{constructor(e){super(e),this.element=new src_elements_Reference}}const open_api_3_1_reference=reference_ReferenceVisitor;class Parameter_Parameter extends elements_Parameter{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_Parameter=Parameter_Parameter,BaseParameterVisitor=src_refractor_specification.visitors.document.objects.Parameter.$visitor;class parameter_ParameterVisitor extends BaseParameterVisitor{constructor(e){super(e),this.element=new src_elements_Parameter}}const open_api_3_1_parameter=parameter_ParameterVisitor;class Header_Header extends elements_Header{get schema(){return this.get("schema")}set schema(e){this.set("schema",e)}}const src_elements_Header=Header_Header,BaseHeaderVisitor=src_refractor_specification.visitors.document.objects.Header.$visitor;class header_HeaderVisitor extends BaseHeaderVisitor{constructor(e){super(e),this.element=new src_elements_Header}}const open_api_3_1_header=header_HeaderVisitor;class Callback_Callback extends elements_Callback{}const src_elements_Callback=Callback_Callback;class Example_Example extends elements_Example{}const src_elements_Example=Example_Example;class ExternalDocumentation_ExternalDocumentation extends elements_ExternalDocumentation{}const src_elements_ExternalDocumentation=ExternalDocumentation_ExternalDocumentation;class Operation_Operation extends elements_Operation{get requestBody(){return this.get("requestBody")}set requestBody(e){this.set("requestBody",e)}}const src_elements_Operation=Operation_Operation;class PathItem_PathItem extends elements_PathItem{get getField(){return this.get("get")}set getField(e){this.set("get",e)}get put(){return this.get("put")}set put(e){this.set("put",e)}get post(){return this.get("post")}set post(e){this.set("post",e)}get deleteField(){return this.get("delete")}set deleteField(e){this.set("delete",e)}get options(){return this.get("options")}set options(e){this.set("options",e)}get head(){return this.get("head")}set head(e){this.set("head",e)}get patch(){return this.get("patch")}set patch(e){this.set("patch",e)}get trace(){return this.get("trace")}set trace(e){this.set("trace",e)}}const src_elements_PathItem=PathItem_PathItem;class Paths_Paths extends elements_Paths{}const src_elements_Paths=Paths_Paths;class RequestBody_RequestBody extends elements_RequestBody{}const src_elements_RequestBody=RequestBody_RequestBody;class Response_Response extends elements_Response{}const src_elements_Response=Response_Response;class Responses_Responses extends elements_Responses{}const src_elements_Responses=Responses_Responses,apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec=resolveSpecification(apidom_ns_json_schema_2020_12_src_refractor_specification),apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields=e=>Object.entries(e).map(([e,t])=>es_isPlainObj(t)?{name:e,...t}:{name:e,$visitor:t});Object.defineProperty(apidom_ns_json_schema_2020_12_src_elements_JSONSchema,"fixedFields",{get:()=>apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields(apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec.visitors.document.objects.JSONSchema.fixedFields),enumerable:!0}),Object.defineProperty(apidom_ns_json_schema_2020_12_src_elements_LinkDescription,"fixedFields",{get:()=>apidom_ns_json_schema_2020_12_src_refractor_inspect_getFixedFields(apidom_ns_json_schema_2020_12_src_refractor_inspect_resolvedSpec.visitors.document.objects.LinkDescription.fixedFields),enumerable:!0});class Schema_Schema extends apidom_ns_json_schema_2020_12_src_elements_JSONSchema{constructor(e,t,s){super(e,t,s),this.element="schema"}get discriminator(){return this.get("discriminator")}set discriminator(e){this.set("discriminator",e)}get xml(){return this.get("xml")}set xml(e){this.set("xml",e)}get externalDocs(){return this.get("externalDocs")}set externalDocs(e){this.set("externalDocs",e)}get example(){return this.get("example")}set example(e){this.set("example",e)}}const src_elements_Schema=Schema_Schema;class SecurityScheme_SecurityScheme extends elements_SecurityScheme{}const src_elements_SecurityScheme=SecurityScheme_SecurityScheme,predicates_isCallbackElement=e=>e instanceof src_elements_Callback,predicates_isComponentsElement=e=>e instanceof src_elements_Components,predicates_isContactElement=e=>e instanceof src_elements_Contact,predicates_isExampleElement=e=>e instanceof src_elements_Example,predicates_isExternalDocumentationElement=e=>e instanceof src_elements_ExternalDocumentation,predicates_isHeaderElement=e=>e instanceof src_elements_Header,predicates_isInfoElement=e=>e instanceof src_elements_Info,isJsonSchemaDialectElement=e=>e instanceof elements_JsonSchemaDialect,predicates_isLicenseElement=e=>e instanceof src_elements_License,src_predicates_isLinkElement=e=>e instanceof src_elements_Link,predicates_isOpenapiElement=e=>e instanceof src_elements_Openapi,isOpenApi3_1Element=e=>e instanceof elements_OpenApi3_1,predicates_isOperationElement=e=>e instanceof src_elements_Operation,predicates_isParameterElement=e=>e instanceof src_elements_Parameter,predicates_isPathItemElement=e=>e instanceof src_elements_PathItem,isPathItemElementExternal=e=>{if(!predicates_isPathItemElement(e))return!1;if(!isStringElement(e.$ref))return!1;const t=serializers_value(e.$ref);return"string"==typeof t&&t.length>0&&!t.startsWith("#")},predicates_isPathsElement=e=>e instanceof src_elements_Paths,predicates_isReferenceElement=e=>e instanceof src_elements_Reference,isReferenceElementExternal=e=>{if(!predicates_isReferenceElement(e))return!1;if(!isStringElement(e.$ref))return!1;const t=serializers_value(e.$ref);return"string"==typeof t&&t.length>0&&!t.startsWith("#")},predicates_isRequestBodyElement=e=>e instanceof src_elements_RequestBody,predicates_isResponseElement=e=>e instanceof src_elements_Response,predicates_isResponsesElement=e=>e instanceof src_elements_Responses,predicates_isSchemaElement=e=>e instanceof src_elements_Schema,predicates_isBooleanJsonSchemaElement=e=>primitives_isBooleanElement(e)&&predicates_includesClasses(e,["boolean-json-schema"]),predicates_isSecurityRequirementElement=e=>e instanceof src_elements_SecurityRequirement,predicates_isSecuritySchemeElement=e=>e instanceof src_elements_SecurityScheme,predicates_isServerElement=e=>e instanceof src_elements_Server,predicates_isServerVariableElement=e=>e instanceof src_elements_ServerVariable,predicates_isMediaTypeElement=e=>e instanceof src_elements_MediaType;class open_api_3_1_schema_SchemaVisitor extends BaseSchemaVisitor{constructor(e){super(e),this.element=new src_elements_Schema,this.specPath=es_always(["document","objects","Schema"]),this.canSupportSpecificationExtensions=!0,this.jsonSchemaDefaultDialect=elements_JsonSchemaDialect.default,this.passingOptionsNames.push("parent")}ObjectElement(e){const t=e.node;this.handleDialectIdentifier(t),this.handleSchemaIdentifier(t),this.parent=this.element,visitors_generics_FixedFieldsVisitor.prototype.ObjectElement.call(this,e),isStringElement(this.element.$ref)&&(this.element.classes.push("reference-element"),this.element.meta.set("referenced-element","schema"))}BooleanElement(e){apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.BooleanElement.call(this,e)}get defaultDialectIdentifier(){let e;return e=void 0!==this.openApiSemanticElement&&isJsonSchemaDialectElement(this.openApiSemanticElement.jsonSchemaDialect)?serializers_value(this.openApiSemanticElement.jsonSchemaDialect):void 0!==this.openApiGenericElement&&isStringElement(this.openApiGenericElement.get("jsonSchemaDialect"))?serializers_value(this.openApiGenericElement.get("jsonSchemaDialect")):serializers_value(this.jsonSchemaDefaultDialect),e}handleDialectIdentifier(e){return apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.handleDialectIdentifier.call(this,e)}handleSchemaIdentifier(e){return apidom_ns_json_schema_2020_12_src_refractor_visitors_json_schema.prototype.handleSchemaIdentifier.call(this,e)}}const open_api_3_1_schema=open_api_3_1_schema_SchemaVisitor;class $defsVisitor_$defsVisitor extends json_schema_$defsVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_$defsVisitor=$defsVisitor_$defsVisitor;class schema_AllOfVisitor_AllOfVisitor extends visitors_json_schema_AllOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_AllOfVisitor=schema_AllOfVisitor_AllOfVisitor;class schema_AnyOfVisitor_AnyOfVisitor extends visitors_json_schema_AnyOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_AnyOfVisitor=schema_AnyOfVisitor_AnyOfVisitor;class schema_OneOfVisitor_OneOfVisitor extends visitors_json_schema_OneOfVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_OneOfVisitor=schema_OneOfVisitor_OneOfVisitor;class DependentSchemasVisitor_DependentSchemasVisitor extends json_schema_DependentSchemasVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_DependentSchemasVisitor=DependentSchemasVisitor_DependentSchemasVisitor;class PrefixItemsVisitor_PrefixItemsVisitor extends json_schema_PrefixItemsVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_PrefixItemsVisitor=PrefixItemsVisitor_PrefixItemsVisitor;class schema_PropertiesVisitor_PropertiesVisitor extends visitors_json_schema_PropertiesVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const open_api_3_1_schema_PropertiesVisitor=schema_PropertiesVisitor_PropertiesVisitor;class schema_PatternPropertiesVisitor_PatternPropertiesVisitor extends visitors_json_schema_PatternPropertiesVisitor{constructor(e){super(e),this.passingOptionsNames.push("parent")}}const schema_PatternPropertiesVisitor=schema_PatternPropertiesVisitor_PatternPropertiesVisitor;class Discriminator_Discriminator extends elements_Discriminator{}const src_elements_Discriminator=Discriminator_Discriminator,BaseDiscriminatorVisitor=src_refractor_specification.visitors.document.objects.Discriminator.$visitor;class distriminator_DiscriminatorVisitor extends BaseDiscriminatorVisitor{constructor(e){super(e),this.element=new src_elements_Discriminator,this.canSupportSpecificationExtensions=!0}}const open_api_3_1_distriminator=distriminator_DiscriminatorVisitor;class Xml_Xml extends elements_Xml{}const src_elements_Xml=Xml_Xml,BaseXMLVisitor=src_refractor_specification.visitors.document.objects.XML.$visitor;class xml_XmlVisitor extends BaseXMLVisitor{constructor(e){super(e),this.element=new src_elements_Xml}}const open_api_3_1_xml=xml_XmlVisitor;class SchemasVisitor_SchemasVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsSchemas,this.specPath=es_always(["document","objects","Schema"])}}const open_api_3_1_components_SchemasVisitor=SchemasVisitor_SchemasVisitor;class ComponentsPathItems extends primitives_ObjectElement{static primaryClass="components-path-items";constructor(e,t,s){super(e,t,s),this.classes.push(ComponentsPathItems.primaryClass)}}const nces_ComponentsPathItems=ComponentsPathItems;class PathItemsVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_ComponentsPathItems,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")})}}const components_PathItemsVisitor=PathItemsVisitor,BaseExampleVisitor=src_refractor_specification.visitors.document.objects.Example.$visitor;class example_ExampleVisitor extends BaseExampleVisitor{constructor(e){super(e),this.element=new src_elements_Example}}const open_api_3_1_example=example_ExampleVisitor,BaseExternalDocumentationVisitor=src_refractor_specification.visitors.document.objects.ExternalDocumentation.$visitor;class external_documentation_ExternalDocumentationVisitor extends BaseExternalDocumentationVisitor{constructor(e){super(e),this.element=new src_elements_ExternalDocumentation}}const open_api_3_1_external_documentation=external_documentation_ExternalDocumentationVisitor;class Encoding_Encoding extends elements_Encoding{}const src_elements_Encoding=Encoding_Encoding,BaseEncodingVisitor=src_refractor_specification.visitors.document.objects.Encoding.$visitor;class open_api_3_1_encoding_EncodingVisitor extends BaseEncodingVisitor{constructor(e){super(e),this.element=new src_elements_Encoding}}const open_api_3_1_encoding=open_api_3_1_encoding_EncodingVisitor,BasePathsVisitor=src_refractor_specification.visitors.document.objects.Paths.$visitor;class paths_PathsVisitor extends BasePathsVisitor{constructor(e){super(e),this.element=new src_elements_Paths}}const open_api_3_1_paths=paths_PathsVisitor,BaseRequestBodyVisitor=src_refractor_specification.visitors.document.objects.RequestBody.$visitor;class request_body_RequestBodyVisitor extends BaseRequestBodyVisitor{constructor(e){super(e),this.element=new src_elements_RequestBody}}const open_api_3_1_request_body=request_body_RequestBodyVisitor,BaseCallbackVisitor=src_refractor_specification.visitors.document.objects.Callback.$visitor;class callback_CallbackVisitor extends BaseCallbackVisitor{constructor(e){super(e),this.element=new src_elements_Callback,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){BaseCallbackVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")})}}const open_api_3_1_callback=callback_CallbackVisitor,BaseResponseVisitor=src_refractor_specification.visitors.document.objects.Response.$visitor;class response_ResponseVisitor extends BaseResponseVisitor{constructor(e){super(e),this.element=new src_elements_Response}}const open_api_3_1_response=response_ResponseVisitor,BaseResponsesVisitor=src_refractor_specification.visitors.document.objects.Responses.$visitor;class open_api_3_1_responses_ResponsesVisitor extends BaseResponsesVisitor{constructor(e){super(e),this.element=new src_elements_Responses}}const open_api_3_1_responses=open_api_3_1_responses_ResponsesVisitor,BaseOperationVisitor=src_refractor_specification.visitors.document.objects.Operation.$visitor;class operation_OperationVisitor extends BaseOperationVisitor{constructor(e){super(e),this.element=new src_elements_Operation}}const open_api_3_1_operation=operation_OperationVisitor,BasePathItemVisitor=src_refractor_specification.visitors.document.objects.PathItem.$visitor;class path_item_PathItemVisitor extends BasePathItemVisitor{constructor(e){super(e),this.element=new src_elements_PathItem}}const open_api_3_1_path_item=path_item_PathItemVisitor,BaseSecuritySchemeVisitor=src_refractor_specification.visitors.document.objects.SecurityScheme.$visitor;class security_scheme_SecuritySchemeVisitor extends BaseSecuritySchemeVisitor{constructor(e){super(e),this.element=new src_elements_SecurityScheme}}const open_api_3_1_security_scheme=security_scheme_SecuritySchemeVisitor;class OAuthFlows_OAuthFlows extends elements_OAuthFlows{}const src_elements_OAuthFlows=OAuthFlows_OAuthFlows,BaseOAuthFlowsVisitor=src_refractor_specification.visitors.document.objects.OAuthFlows.$visitor;class oauth_flows_OAuthFlowsVisitor extends BaseOAuthFlowsVisitor{constructor(e){super(e),this.element=new src_elements_OAuthFlows}}const open_api_3_1_oauth_flows=oauth_flows_OAuthFlowsVisitor;class OAuthFlow_OAuthFlow extends elements_OAuthFlow{}const src_elements_OAuthFlow=OAuthFlow_OAuthFlow,BaseOAuthFlowVisitor=src_refractor_specification.visitors.document.objects.OAuthFlow.$visitor;class oauth_flow_OAuthFlowVisitor extends BaseOAuthFlowVisitor{constructor(e){super(e),this.element=new src_elements_OAuthFlow}}const open_api_3_1_oauth_flow=oauth_flow_OAuthFlowVisitor;class Webhooks extends primitives_ObjectElement{static primaryClass="webhooks";constructor(e,t,s){super(e,t,s),this.classes.push(Webhooks.primaryClass)}}const nces_Webhooks=Webhooks;class WebhooksVisitor extends bases_BaseMapVisitor{constructor(e){super(e),this.element=new nces_Webhooks,this.specPath=e=>isReferenceLikeElement(e)?["document","objects","Reference"]:["document","objects","PathItem"]}ObjectElement(e){visitors_generics_MapVisitor.prototype.ObjectElement.call(this,e),this.element.filter(predicates_isReferenceElement).forEach(e=>{e.setMetaProperty("referenced-element","pathItem")}),this.element.filter(predicates_isPathItemElement).forEach((e,t)=>{e.setMetaProperty("webhook-name",serializers_value(t))})}}const open_api_3_1_WebhooksVisitor=WebhooksVisitor,{JSONSchema:specification_JSONSchemaVisitor,LinkDescription:specification_LinkDescriptionVisitor}=apidom_ns_json_schema_2020_12_src_refractor_specification.visitors.document.objects,apidom_ns_openapi_3_1_src_refractor_specification_specification={visitors:{value:src_refractor_specification.visitors.value,document:{objects:{OpenApi:{element:"openApi3_1",$visitor:open_api_3_1,fixedFields:{openapi:{element:"openapi",$visitor:open_api_3_1_OpenapiVisitor},info:{$ref:"#/visitors/document/objects/Info"},jsonSchemaDialect:{element:"jsonSchemaDialect",$visitor:open_api_3_1_JsonSchemaDialectVisitor},servers:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.servers,paths:{$ref:"#/visitors/document/objects/Paths"},webhooks:open_api_3_1_WebhooksVisitor,components:{$ref:"#/visitors/document/objects/Components"},security:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.security,tags:src_refractor_specification.visitors.document.objects.OpenApi.fixedFields.tags,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Info:{element:"info",$visitor:open_api_3_1_info,fixedFields:{title:src_refractor_specification.visitors.document.objects.Info.fixedFields.title,description:src_refractor_specification.visitors.document.objects.Info.fixedFields.description,summary:{$ref:"#/visitors/value"},termsOfService:src_refractor_specification.visitors.document.objects.Info.fixedFields.termsOfService,contact:{$ref:"#/visitors/document/objects/Contact"},license:{$ref:"#/visitors/document/objects/License"},version:src_refractor_specification.visitors.document.objects.Info.fixedFields.version}},Contact:{element:"contact",$visitor:open_api_3_1_contact,fixedFields:{name:src_refractor_specification.visitors.document.objects.Contact.fixedFields.name,url:src_refractor_specification.visitors.document.objects.Contact.fixedFields.url,email:src_refractor_specification.visitors.document.objects.Contact.fixedFields.email}},License:{element:"license",$visitor:open_api_3_1_license,fixedFields:{name:src_refractor_specification.visitors.document.objects.License.fixedFields.name,identifier:{$ref:"#/visitors/value"},url:src_refractor_specification.visitors.document.objects.License.fixedFields.url}},Server:{element:"server",$visitor:open_api_3_1_server,fixedFields:{url:src_refractor_specification.visitors.document.objects.Server.fixedFields.url,description:src_refractor_specification.visitors.document.objects.Server.fixedFields.description,variables:src_refractor_specification.visitors.document.objects.Server.fixedFields.variables}},ServerVariable:{element:"serverVariable",$visitor:open_api_3_1_server_variable,fixedFields:{enum:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.enum,default:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.default,description:src_refractor_specification.visitors.document.objects.ServerVariable.fixedFields.description}},Components:{element:"components",$visitor:open_api_3_1_components,fixedFields:{schemas:open_api_3_1_components_SchemasVisitor,responses:src_refractor_specification.visitors.document.objects.Components.fixedFields.responses,parameters:src_refractor_specification.visitors.document.objects.Components.fixedFields.parameters,examples:src_refractor_specification.visitors.document.objects.Components.fixedFields.examples,requestBodies:src_refractor_specification.visitors.document.objects.Components.fixedFields.requestBodies,headers:src_refractor_specification.visitors.document.objects.Components.fixedFields.headers,securitySchemes:src_refractor_specification.visitors.document.objects.Components.fixedFields.securitySchemes,links:src_refractor_specification.visitors.document.objects.Components.fixedFields.links,callbacks:src_refractor_specification.visitors.document.objects.Components.fixedFields.callbacks,pathItems:components_PathItemsVisitor}},Paths:{element:"paths",$visitor:open_api_3_1_paths},PathItem:{element:"pathItem",$visitor:open_api_3_1_path_item,fixedFields:{$ref:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.$ref,summary:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.description,get:{$ref:"#/visitors/document/objects/Operation",alias:"getField"},put:{$ref:"#/visitors/document/objects/Operation"},post:{$ref:"#/visitors/document/objects/Operation"},delete:{$ref:"#/visitors/document/objects/Operation",alias:"deleteField"},options:{$ref:"#/visitors/document/objects/Operation"},head:{$ref:"#/visitors/document/objects/Operation"},patch:{$ref:"#/visitors/document/objects/Operation"},trace:{$ref:"#/visitors/document/objects/Operation"},servers:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.servers,parameters:src_refractor_specification.visitors.document.objects.PathItem.fixedFields.parameters}},Operation:{element:"operation",$visitor:open_api_3_1_operation,fixedFields:{tags:src_refractor_specification.visitors.document.objects.Operation.fixedFields.tags,summary:src_refractor_specification.visitors.document.objects.Operation.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.Operation.fixedFields.description,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},operationId:src_refractor_specification.visitors.document.objects.Operation.fixedFields.operationId,parameters:src_refractor_specification.visitors.document.objects.Operation.fixedFields.parameters,requestBody:src_refractor_specification.visitors.document.objects.Operation.fixedFields.requestBody,responses:{$ref:"#/visitors/document/objects/Responses"},callbacks:src_refractor_specification.visitors.document.objects.Operation.fixedFields.callbacks,deprecated:src_refractor_specification.visitors.document.objects.Operation.fixedFields.deprecated,security:src_refractor_specification.visitors.document.objects.Operation.fixedFields.security,servers:src_refractor_specification.visitors.document.objects.Operation.fixedFields.servers}},ExternalDocumentation:{element:"externalDocumentation",$visitor:open_api_3_1_external_documentation,fixedFields:{description:src_refractor_specification.visitors.document.objects.ExternalDocumentation.fixedFields.description,url:src_refractor_specification.visitors.document.objects.ExternalDocumentation.fixedFields.url}},Parameter:{element:"parameter",$visitor:open_api_3_1_parameter,fixedFields:{name:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.name,in:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.in,description:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.description,required:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.required,deprecated:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.deprecated,allowEmptyValue:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.allowEmptyValue,style:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.allowReserved,schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.examples,content:src_refractor_specification.visitors.document.objects.Parameter.fixedFields.content}},RequestBody:{element:"requestBody",$visitor:open_api_3_1_request_body,fixedFields:{description:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.description,content:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.content,required:src_refractor_specification.visitors.document.objects.RequestBody.fixedFields.required}},MediaType:{element:"mediaType",$visitor:open_api_3_1_media_type,fixedFields:{schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.examples,encoding:src_refractor_specification.visitors.document.objects.MediaType.fixedFields.encoding}},Encoding:{element:"encoding",$visitor:open_api_3_1_encoding,fixedFields:{contentType:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.contentType,headers:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.headers,style:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Encoding.fixedFields.allowReserved}},Responses:{element:"responses",$visitor:open_api_3_1_responses,fixedFields:{default:src_refractor_specification.visitors.document.objects.Responses.fixedFields.default}},Response:{element:"response",$visitor:open_api_3_1_response,fixedFields:{description:src_refractor_specification.visitors.document.objects.Response.fixedFields.description,headers:src_refractor_specification.visitors.document.objects.Response.fixedFields.headers,content:src_refractor_specification.visitors.document.objects.Response.fixedFields.content,links:src_refractor_specification.visitors.document.objects.Response.fixedFields.links}},Callback:{element:"callback",$visitor:open_api_3_1_callback},Example:{element:"example",$visitor:open_api_3_1_example,fixedFields:{summary:src_refractor_specification.visitors.document.objects.Example.fixedFields.summary,description:src_refractor_specification.visitors.document.objects.Example.fixedFields.description,value:src_refractor_specification.visitors.document.objects.Example.fixedFields.value,externalValue:src_refractor_specification.visitors.document.objects.Example.fixedFields.externalValue}},Link:{element:"link",$visitor:open_api_3_1_link,fixedFields:{operationRef:src_refractor_specification.visitors.document.objects.Link.fixedFields.operationRef,operationId:src_refractor_specification.visitors.document.objects.Link.fixedFields.operationId,parameters:src_refractor_specification.visitors.document.objects.Link.fixedFields.parameters,requestBody:src_refractor_specification.visitors.document.objects.Link.fixedFields.requestBody,description:src_refractor_specification.visitors.document.objects.Link.fixedFields.description,server:{$ref:"#/visitors/document/objects/Server"}}},Header:{element:"header",$visitor:open_api_3_1_header,fixedFields:{description:src_refractor_specification.visitors.document.objects.Header.fixedFields.description,required:src_refractor_specification.visitors.document.objects.Header.fixedFields.required,deprecated:src_refractor_specification.visitors.document.objects.Header.fixedFields.deprecated,allowEmptyValue:src_refractor_specification.visitors.document.objects.Header.fixedFields.allowEmptyValue,style:src_refractor_specification.visitors.document.objects.Header.fixedFields.style,explode:src_refractor_specification.visitors.document.objects.Header.fixedFields.explode,allowReserved:src_refractor_specification.visitors.document.objects.Header.fixedFields.allowReserved,schema:{$ref:"#/visitors/document/objects/Schema"},example:src_refractor_specification.visitors.document.objects.Header.fixedFields.example,examples:src_refractor_specification.visitors.document.objects.Header.fixedFields.examples,content:src_refractor_specification.visitors.document.objects.Header.fixedFields.content}},Tag:{element:"tag",$visitor:open_api_3_1_tag,fixedFields:{name:src_refractor_specification.visitors.document.objects.Tag.fixedFields.name,description:src_refractor_specification.visitors.document.objects.Tag.fixedFields.description,externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"}}},Reference:{element:"reference",$visitor:open_api_3_1_reference,fixedFields:{$ref:src_refractor_specification.visitors.document.objects.Reference.fixedFields.$ref,summary:{$ref:"#/visitors/value"},description:{$ref:"#/visitors/value"}}},JSONSchema:{$ref:"#/visitors/document/objects/Schema"},LinkDescription:{...specification_LinkDescriptionVisitor},Schema:{element:"schema",$visitor:open_api_3_1_schema,fixedFields:{...specification_JSONSchemaVisitor.fixedFields,$defs:schema_$defsVisitor,allOf:open_api_3_1_schema_AllOfVisitor,anyOf:open_api_3_1_schema_AnyOfVisitor,oneOf:open_api_3_1_schema_OneOfVisitor,not:{$ref:"#/visitors/document/objects/Schema"},if:{$ref:"#/visitors/document/objects/Schema"},then:{$ref:"#/visitors/document/objects/Schema"},else:{$ref:"#/visitors/document/objects/Schema"},dependentSchemas:schema_DependentSchemasVisitor,prefixItems:schema_PrefixItemsVisitor,items:{$ref:"#/visitors/document/objects/Schema"},contains:{$ref:"#/visitors/document/objects/Schema"},properties:open_api_3_1_schema_PropertiesVisitor,patternProperties:schema_PatternPropertiesVisitor,additionalProperties:{$ref:"#/visitors/document/objects/Schema"},propertyNames:{$ref:"#/visitors/document/objects/Schema"},unevaluatedItems:{$ref:"#/visitors/document/objects/Schema"},unevaluatedProperties:{$ref:"#/visitors/document/objects/Schema"},contentSchema:{$ref:"#/visitors/document/objects/Schema"},discriminator:{$ref:"#/visitors/document/objects/Discriminator"},xml:{$ref:"#/visitors/document/objects/XML"},externalDocs:{$ref:"#/visitors/document/objects/ExternalDocumentation"},example:{$ref:"#/visitors/value"}}},Discriminator:{element:"discriminator",$visitor:open_api_3_1_distriminator,fixedFields:{propertyName:src_refractor_specification.visitors.document.objects.Discriminator.fixedFields.propertyName,mapping:src_refractor_specification.visitors.document.objects.Discriminator.fixedFields.mapping}},XML:{element:"xml",$visitor:open_api_3_1_xml,fixedFields:{name:src_refractor_specification.visitors.document.objects.XML.fixedFields.name,namespace:src_refractor_specification.visitors.document.objects.XML.fixedFields.namespace,prefix:src_refractor_specification.visitors.document.objects.XML.fixedFields.prefix,attribute:src_refractor_specification.visitors.document.objects.XML.fixedFields.attribute,wrapped:src_refractor_specification.visitors.document.objects.XML.fixedFields.wrapped}},SecurityScheme:{element:"securityScheme",$visitor:open_api_3_1_security_scheme,fixedFields:{type:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.type,description:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.description,name:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.name,in:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.in,scheme:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.scheme,bearerFormat:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.bearerFormat,flows:{$ref:"#/visitors/document/objects/OAuthFlows"},openIdConnectUrl:src_refractor_specification.visitors.document.objects.SecurityScheme.fixedFields.openIdConnectUrl}},OAuthFlows:{element:"oAuthFlows",$visitor:open_api_3_1_oauth_flows,fixedFields:{implicit:{$ref:"#/visitors/document/objects/OAuthFlow"},password:{$ref:"#/visitors/document/objects/OAuthFlow"},clientCredentials:{$ref:"#/visitors/document/objects/OAuthFlow"},authorizationCode:{$ref:"#/visitors/document/objects/OAuthFlow"}}},OAuthFlow:{element:"oAuthFlow",$visitor:open_api_3_1_oauth_flow,fixedFields:{authorizationUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.authorizationUrl,tokenUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.tokenUrl,refreshUrl:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.refreshUrl,scopes:src_refractor_specification.visitors.document.objects.OAuthFlow.fixedFields.scopes}},SecurityRequirement:{element:"securityRequirement",$visitor:open_api_3_1_security_requirement}},extension:{$visitor:src_refractor_specification.visitors.document.extension.$visitor}}}},apidom_ns_openapi_3_1_src_refractor_specification=apidom_ns_openapi_3_1_src_refractor_specification_specification,predicates_isReferenceLikeElement=e=>isObjectElement(e)&&e.hasKey("$ref"),predicates_isServerLikeElement=isObjectElement,predicates_isTagLikeElement=isObjectElement,predicates_isOpenApiExtension=e=>isStringElement(e.key)&&es_startsWith("x-",serializers_value(e.key)),openApi3_1={namespace:e=>{const{base:t}=e;return t.register("callback",src_elements_Callback),t.register("components",src_elements_Components),t.register("contact",src_elements_Contact),t.register("discriminator",src_elements_Discriminator),t.register("encoding",src_elements_Encoding),t.register("example",src_elements_Example),t.register("externalDocumentation",src_elements_ExternalDocumentation),t.register("header",src_elements_Header),t.register("info",src_elements_Info),t.register("jsonSchemaDialect",elements_JsonSchemaDialect),t.register("license",src_elements_License),t.register("link",src_elements_Link),t.register("mediaType",src_elements_MediaType),t.register("oAuthFlow",src_elements_OAuthFlow),t.register("oAuthFlows",src_elements_OAuthFlows),t.register("openapi",src_elements_Openapi),t.register("openApi3_1",elements_OpenApi3_1),t.register("operation",src_elements_Operation),t.register("parameter",src_elements_Parameter),t.register("pathItem",src_elements_PathItem),t.register("paths",src_elements_Paths),t.register("reference",src_elements_Reference),t.register("requestBody",src_elements_RequestBody),t.register("response",src_elements_Response),t.register("responses",src_elements_Responses),t.register("schema",src_elements_Schema),t.register("securityRequirement",src_elements_SecurityRequirement),t.register("securityScheme",src_elements_SecurityScheme),t.register("server",src_elements_Server),t.register("serverVariable",src_elements_ServerVariable),t.register("tag",src_elements_Tag),t.register("xml",src_elements_Xml),t}},apidom_ns_openapi_3_1_src_namespace=openApi3_1,ancestorLineageToJSONPointer=e=>{const t=e.reduce((t,s,r)=>{if(isMemberElement(s)){const e=String(serializers_value(s.key));t.push(e)}else if(isArrayElement(e[r-2])){const i=e[r-2],n=String(i.content?.indexOf(s)??-1);t.push(n)}return t},[]);return es_compile(t)},toolbox_createToolbox=()=>{const e=new src_Namespace,t={...apidom_ns_openapi_3_1_src_refractor_predicates_namespaceObject,...apidom_ns_openapi_3_1_src_predicates_namespaceObject,isStringElement,isArrayElement,isObjectElement};return e.use(apidom_ns_openapi_3_1_src_namespace),{predicates:t,ancestorLineageToJSONPointer,namespace:e}},refractor_toolbox=toolbox_createToolbox,refractor_refract=(e,{element:t="openApi3_1",plugins:s=[],specificationObj:r=apidom_ns_openapi_3_1_src_refractor_specification}={})=>{const i=refract(e),n=resolveSpecification(r),o=n.elementMap[t];if(!o)throw new Error(`Unknown element type: "${t}"`);const a=new(es_path(o,n))({specObj:n});return traverse(i,a,{nodeTypeGetter:getNodePrimitiveType}),dispatchPluginsSync(a.element,s,{toolboxCreator:refractor_toolbox})},refractOpenApi3_1=(e,t={})=>refractor_refract(e,{...t,element:"openApi3_1"}),refractInfo=(e,t={})=>refractor_refract(e,{...t,element:"info"}),refractContact=(e,t={})=>refractor_refract(e,{...t,element:"contact"}),refractLicense=(e,t={})=>refractor_refract(e,{...t,element:"license"}),refractServer=(e,t={})=>refractor_refract(e,{...t,element:"server"}),refractServerVariable=(e,t={})=>refractor_refract(e,{...t,element:"serverVariable"}),refractComponents=(e,t={})=>refractor_refract(e,{...t,element:"components"}),refractPaths=(e,t={})=>refractor_refract(e,{...t,element:"paths"}),refractPathItem=(e,t={})=>refractor_refract(e,{...t,element:"pathItem"}),refractOperation=(e,t={})=>refractor_refract(e,{...t,element:"operation"}),refractExternalDocumentation=(e,t={})=>refractor_refract(e,{...t,element:"externalDocumentation"}),refractParameter=(e,t={})=>refractor_refract(e,{...t,element:"parameter"}),refractRequestBody=(e,t={})=>refractor_refract(e,{...t,element:"requestBody"}),refractMediaType=(e,t={})=>refractor_refract(e,{...t,element:"mediaType"}),refractEncoding=(e,t={})=>refractor_refract(e,{...t,element:"encoding"}),refractResponses=(e,t={})=>refractor_refract(e,{...t,element:"responses"}),refractResponse=(e,t={})=>refractor_refract(e,{...t,element:"response"}),refractCallback=(e,t={})=>refractor_refract(e,{...t,element:"callback"}),refractExample=(e,t={})=>refractor_refract(e,{...t,element:"example"}),refractLink=(e,t={})=>refractor_refract(e,{...t,element:"link"}),refractHeader=(e,t={})=>refractor_refract(e,{...t,element:"header"}),refractTag=(e,t={})=>refractor_refract(e,{...t,element:"tag"}),refractReference=(e,t={})=>refractor_refract(e,{...t,element:"reference"}),refractSchema=(e,t={})=>refractor_refract(e,{...t,element:"schema"}),refractDiscriminator=(e,t={})=>refractor_refract(e,{...t,element:"discriminator"}),refractXml=(e,t={})=>refractor_refract(e,{...t,element:"xml"}),refractSecurityScheme=(e,t={})=>refractor_refract(e,{...t,element:"securityScheme"}),refractOAuthFlows=(e,t={})=>refractor_refract(e,{...t,element:"oAuthFlows"}),refractOAuthFlow=(e,t={})=>refractor_refract(e,{...t,element:"oAuthFlow"}),refractSecurityRequirement=(e,t={})=>refractor_refract(e,{...t,element:"securityRequirement"}),refractJsonSchemaDialect=(e,t={})=>refractor_refract(e,{...t,element:"jsonSchemaDialect"}),refractor=null;var last=_curry1(function(e){return _nth(-1,e)});const es_last=last;class NotImplementedError extends src_UnsupportedOperationError{}const src_NotImplementedError=NotImplementedError;class MediaTypes extends Array{unknownMediaType="application/octet-stream";filterByFormat(){throw new src_NotImplementedError("filterByFormat method in MediaTypes class is not yet implemented.")}findBy(){throw new src_NotImplementedError("findBy method in MediaTypes class is not yet implemented.")}latest(){throw new src_NotImplementedError("latest method in MediaTypes class is not yet implemented.")}}const media_types=MediaTypes;class OpenAPIMediaTypes extends media_types{filterByFormat(e="generic"){const t="generic"===e?"openapi;version":e;return this.filter(e=>e.includes(t))}findBy(e="3.1.2",t="generic"){const s="generic"===t?`vnd.oai.openapi;version=${e}`:`vnd.oai.openapi+${t};version=${e}`;return this.find(e=>e.includes(s))||this.unknownMediaType}latest(e="generic"){return es_last(this.filterByFormat(e))}}const mediaTypes=new OpenAPIMediaTypes("application/vnd.oai.openapi;version=3.1.0","application/vnd.oai.openapi+json;version=3.1.0","application/vnd.oai.openapi+yaml;version=3.1.0","application/vnd.oai.openapi;version=3.1.1","application/vnd.oai.openapi+json;version=3.1.1","application/vnd.oai.openapi+yaml;version=3.1.1","application/vnd.oai.openapi;version=3.1.2","application/vnd.oai.openapi+json;version=3.1.2","application/vnd.oai.openapi+yaml;version=3.1.2"),src_media_types=mediaTypes,jsonMediaTypes=new OpenAPIMediaTypes(...src_media_types.filterByFormat("generic"),...src_media_types.filterByFormat("json")),src_media_types_0=jsonMediaTypes,src_adapter_detectionRegExp=/"openapi"\s*:\s*"(?<version_json>3\.1\.(?:[1-9]\d*|0))"/,src_adapter_detect=async e=>src_adapter_detectionRegExp.test(e)&&await adapter_detect(e),src_adapter_parse=async(e,t={})=>{const s=es_propOr({},"refractorOpts",t),r=es_omit(["refractorOpts"],t),i=await adapter_parse(e,r),{result:n}=i;if(es_isNotUndefined(n)){const e=refractOpenApi3_1(n,s);e.classes.push("result"),i.replaceResult(e)}return i},adapter_namespace=(new src_Namespace).use(apidom_ns_openapi_3_1_src_namespace);return __webpack_exports__})());