{"version":3,"sources":["webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/processors/dpl-processor.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/page.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/toolbar.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/commands.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/processors/pdfjs-processor.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/pdfjs.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/search.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/dialogs.js","webpack:///./node_modules/@progress/kendo-ui/js/pdfviewer/pager.js"],"names":["module","exports","modules","installedModules","__webpack_require__","moduleId","id","loaded","call","m","c","p","0","3","Error","895","1620","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","f","define","apply","undefined","$","kendo","window","extend","Class","DPLProcessor","init","options","viewer","that","this","read","upload","download","fetchDocument","deferred","Deferred","errorMessages","messages","ajax","type","url","dataType","success","data","stringify","resolve","JSON","parse","error","xhr","_triggerError","responseText","message","parseError","fetchPageData","number","page","document","pages","pageField","geometries","length","downloadFile","fileName","location","fromJSON","json","_clearPages","total","_renderPages","resize","activatePage","pdfviewer","dpl","processor","jQuery","1608","1617","noop","drawing","Group","Surface","RENDER","geometryTypes","Path","MultiPath","Rect","Image","Text","Page","pageNumber","element","attr","_updatePageSize","width","height","ratio","pageElement","Math","min","size","destroy","render","DPLPage","draw","group","surface","_drawGeometries","trigger","ui","progress","load","then","_initSurface","surfaceOptions","view","kGeometry","i","geometry","_drawPath","_drawRect","_drawImage","_drawText","append","rectGeo","point","transform","_getMatrix","fill","fillOptions","stroke","strokeOptions","imageRect","src","font","content","path","paths","subPath","segments","moveTo","j","segment","drawAction","points","lineTo","curveTo","closed","close","matrix","Object","create","Matrix","prototype","PDFJSPage","canvas","get","fn","defaultScale","force","promise","_scale","_page","_renderPromise","scale","context","getContext","viewport","getViewport","_renderTask","cancel","canvasContext","_renderTextLayer","catch","textLayer","remove","getTextContent","normalizeWhitespace","textContent","css","html","params","container","textDivs","enhanceTextSelection","renderTextLayer","pdfjs","6","1038","1624","proxy","ACTION","FLATBUTTONCLASS","KEYDOWN","CLICK","support","click","CHANGE","ZOOMIN","ZOOMOUT","Item","toolbar","ToolBar","PREDEFINED_ZOOM_VALUES","auto","actual","fitToWidth","fitToPage","styles","zoomOutIcon","zoomInIcon","zoomButtons","zoomOverflowButtons","overflowHidden","ZOOM_BUTTON_TEMPLATE","template","ZOOM_COMBOBOX_TEMPLATE","DefaultTools","pager","overflow","command","spacer","zoom","zoomInOut","combobox","zoomLevels","enable","toggleSelection","attributes","buttons","togglable","text","icon","showText","name","selected","spacer2","search","open","print","AllTools","exportAs","ToolbarPager","pagerElement","Pager","change","_change","on","_keydown","addUidAttr","addOverflowAttr","e","action","value","target","keyCode","children","find","targetIndex","index","direction","shiftKey","keys","TAB","focus","preventDefault","stopPropagation","appendZoomButtons","isOverflow","className","zoomOut","iconClass","zoomIn","registerComponent","ToolBarZoom","_init","_initValue","_appendElements","_click","throttle","bind","zoomElement","_buildComboBox","comboOptions","percent","autoWidth","actualWidth","concat","zoomLevel","mobileOS","kendoComboBox","clearButton","getKendoComboBox","wrapper","_currentValue","parsedValue","sender","toString","match","parseInt","replace","_buttonCommand","button","closest","updateComboBox","key","ENTER","toggleClass","ToolBarOverflowZoom","addClass","ViewerToolBar","items","_updateItems","toggle","update","_update","events","map","tool","isBuiltInTool","isPlainObject","toolOptions","toolName","deepExtend","pageOptions","isBlank","_updateZoomComboBox","setOptions","isPredefined","round","args","Toolbar","1625","1044","1612","parseJSON","OPEN","ZOOMSTART","ZOOMEND","Command","OpenCommand","exec","_upload","_initUpload","uploadOptions","select","_onSelect","_onSuccess","_onError","complete","_onComplete","showFileList","multiple","validation","allowedExtensions","async","saveUrl","autoUpload","saveField","kendoUpload","getKendoUpload","pageContainer","response","XMLHttpRequest","notSupported","fileToUpload","files","file","extension","toLowerCase","reader","FileReader","onload","result","fromFile","onerror","readAsArrayBuffer","rawFile","PageChangeCommand","DownloadCommand","info","title","defaultFileName","notFound","ExportCommand","dialog","_saveDialog","_initDialog","_updateModel","pagesCount","viewModel","exportImage","exportSVG","dialogs","ExportAsDialog","EnableSelectionCommand","_toggleSelection","EnablePanCommand","OpenSearchCommand","searchDialog","SearchDialog","position","top","offset","left","_open","next","_next","prev","_prev","_close","changeHandler","zoomStartHandler","_closeDialog","openFileHandler","_searchDOM","_initSearchDOM","searchModel","searchEngine","unbind","_updateSearchModel","ev","field","model","matchCase","searchText","matches","nextMatch","previousMatch","set","getMarkedIndex","_scrollToMark","marked","getFirstMarked","scroller","_scroller","scrollElement","scrollTo","scrollLeft","ZoomCommand","loadedPagesHeight","_pageNum","containerHeight","clientHeight","updatedVisiblePagesCount","renderTasks","processingLib","_calculateZoom","updateViewer","scrollingStarted","_scrollingStarted","scrollTop","scrollHeight","_resize","zoomScale","forEach","pageHeight","_visiblePages","indexOf","push","_visiblePagesCount","_loadVisiblePages","Promise","all","_triggerZoomEnd","preventZoom","viewerOptions","visibleCanvas","scaleValue","_allowResize","_autoFit","zoomRate","_autoZoomScale","zoomMin","zoomMax","PrintCommand","_renderPrintContainer","_loadAllPages","processAfterRender","printContainer","loadPromises","renderPromises","getRenderPromise","_originalScale","_renderPrintPages","setTimeout","_printDocument","_renderPrintImage","div","img","toDataURL","myWindow","write","popupBlocked","1621","PDFJS","atob","PDFJSProcessor","isLoaded","lib","_isBase64Data","getDocument","pdf","pageSizes","pagePromises","_downloadData","getData","blob","Blob","numPages","getPage","pagePromise","notFoundError","includes","alertMessage","_renderBlankPage","done","readAsDataURL","saveAs","dataURI","proxyURL","_updateDocument","loadingTask","equalSign","notBase64","test","1622","20","1619","pdfjsLib","console","1623","isArray","Array","SearchDOM","processDom","highlightClass","charClass","targets","textNodes","charIndex","traverseToTextNode","processTextNode","node","nodeType","childNodes","span","wrap","parent","empty","splitChars","unwrap","newHtml","innerHTML","expression","RegExp","resetMark","resetHighlight","resetMatchIndex","startOffset","endOffset","highlightAll","mark","start","end","highlight","matchIndex","removeClass","removeAttr","currentIndex","wrapInner","contents","eq","each","item","975","976","1613","EXTENSIONS","svg","png","ErrorDialog","actions","okText","_dialog","kendoDialog","getKendoDialog","center","fileFormats","description","exportAsDialog","_initializeDialog","autoFocus","resizable","modal","preventScroll","maxWidth","dialogMessages","kendoWindow","getKendoWindow","observable","dialogElm","dialogOffset","Window","minHeight","draggable","dragHandle","activate","boundValue","matchCaseClick","onKeyup","navigationFn","onInput","1614","1615","1616","1618","NS","Widget","SHRINKWIDTH","kendoAttr","DOT","ARIA_DISABLED","pagerStyles","wrapperClass","iconFirst","iconLast","iconPrev","iconNext","first","last","nav","disabled","linkTemplate","_renderLinks","_toggleDisabledClass","_attachEvents","previousNext","input","_pagerLink","pageIdx","wrapClass","firstLink","prevLink","previous","nextLink","lastLink","_renderInput","currentTarget","isDefaultPrevented","val","upDown","UP","DOWN","allowedKeys","RIGHT","LEFT","BACKSPACE","DELETE","isNaN","prevTotal","totalMessage","inputTemplate","shouldShrink","pagerInputWrap","off","format","of"],"mappings":"2GAAAA,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCC,IACA,SAAUf,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBe,KACA,SAAUhB,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAACd,EAAoB,MAAOa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADjR,EAE7F,WA4GH,OAnGA,SAAUK,EAAGD,GACT,IAAIE,EAAQC,OAAOD,MACfE,EAASH,EAAEG,OACXC,EAAQH,EAAMG,MAEdC,EAAeD,EAAMD,OAAO,CAC5BG,KAAM,SAASC,EAASC,GACpB,IAAIC,EAAOC,KAEXD,EAAKF,QAAUA,EACfE,EAAKE,KAAOJ,EAAQI,KACpBF,EAAKG,OAASL,EAAQK,OACtBH,EAAKI,SAAWN,EAAQM,SAExBJ,EAAKD,OAASA,GAElBM,cAAe,WACX,IAAIL,EAAOC,KACPK,EAAWf,EAAEgB,WACbC,EAAgBR,EAAKD,OAAOD,QAAQW,SAASD,cAEjD,OAAKR,EAAKE,MAIVX,EAAEmB,KAAK,CACHC,KAAMX,EAAKE,KAAKS,KAChBC,IAAKZ,EAAKE,KAAKU,IACfC,SAAUb,EAAKE,KAAKW,SACpBC,QAAS,SAAUC,GACI,iBAARA,IACPA,EAAOvB,EAAMwB,UAAUD,IAE3BT,EAASW,QAAQC,KAAKC,MAAMJ,KAEhCK,MAAO,SAAUC,GACbrB,EAAKD,OAAOuB,cAAc,CACtBF,MAAOC,EAAIE,aACXC,QAAShB,EAAciB,gBAK5BnB,GArBIA,EAASW,WAuBxBS,cAAe,SAAUC,GACrB,IAAI3B,EAAOC,KACPK,EAAWf,EAAEgB,WACbqB,EAAO5B,EAAKD,OAAO8B,SAASC,MAAMH,EAAS,GAC3CZ,EAAO,GAsBX,OArBAA,EAAKf,EAAKE,KAAK6B,WAAaJ,EAEvBC,EAAKI,WAAWC,OAgBjB3B,EAASW,QAAQW,GAfjBrC,EAAEmB,KAAK,CACHC,KAAMX,EAAKE,KAAKS,KAChBC,IAAKZ,EAAKE,KAAKU,IACfG,KAAMA,EACND,QAAS,SAAUC,GACfT,EAASW,QAAQC,KAAKC,MAAMJ,KAEhCK,MAAO,SAAUC,GACbrB,EAAKD,OAAOuB,cAAc,CACtBF,MAAOC,EAAIE,aACXC,QAASxB,EAAKD,OAAOD,QAAQW,SAASD,cAAciB,gBAQ7DnB,GAEX4B,aAAc,SAAUC,GACpB1C,OAAO2C,SAAWnC,KAAKG,SAASQ,IAAM,SAAWuB,GAGrDE,SAAU,SAAUC,GAEhB,IAAIvC,EAASE,KAAKF,OAClBA,EAAOwC,cAEPxC,EAAO8B,SAAWS,EAClBvC,EAAO8B,SAASW,MAAQzC,EAAO8B,SAASC,MAAMG,OAE9ClC,EAAO0C,eACP1C,EAAO2C,QAAO,GAEd3C,EAAO4C,aAAa,MAI5BjD,EAAOF,EAAMoD,UAAW,CACpBC,IAAK,CACDC,UAAWlD,KA9FvB,CAiGGH,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,Q,qBCvLxBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCmE,KACA,SAAUjF,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBiF,KACA,SAAUlF,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAACd,EAAoB,OAAQa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADlR,EAE7F,WA6TH,OA3TA,SAAUK,EAAGD,GACT,IAAII,EAASH,EAAEG,OACXwD,EAAO3D,EAAE2D,KACTC,EAAU3D,MAAM2D,QAChBC,EAAQD,EAAQC,MAChBC,EAAUF,EAAQE,QAClBC,EAAS,SACT3D,EAAQH,MAAMG,MAEd4D,EAAgB,CAChBC,KAAM,OACNC,UAAW,YACXC,KAAM,OACNC,MAAO,QACPC,KAAM,QAGNC,EAAOlE,EAAMD,OAAO,CACpBG,KAAM,SAAUC,EAASC,GACrBE,KAAKF,OAASA,EACdE,KAAK6C,UAAYhD,EAAQgD,UACzB7C,KAAKH,QAAUA,EACfG,KAAK6D,WAAahE,EAAQ6B,OAE1B1B,KAAK8D,QAAUxE,EAAE,0BACjBU,KAAK8D,QAAQC,KAAKxE,MAAMwE,KAAK,UAAW/D,KAAK6D,YAE7C7D,KAAKgE,gBAAgBnE,GACrBG,KAAKiE,MAAQpE,EAAQoE,MACrBjE,KAAKkE,OAASrE,EAAQqE,QAE1BzB,OAAQ,SAAU0B,GACd,IAAIC,EAAcpE,KAAK8D,QAEvB9D,KAAKgE,gBAAgB,CACjBC,MAAOI,KAAKC,IAAIF,EAAYH,QAAUE,EAAOnE,KAAKiE,OAClDC,OAAQG,KAAKC,IAAIF,EAAYF,SAAWC,EAAOnE,KAAKkE,WAG5DF,gBAAiB,SAAUO,GACvBvE,KAAK8D,QACIG,MAAMM,EAAKN,OACXC,OAAOK,EAAKL,SAEzBM,QAAS,WACLjF,MAAMiF,QAAQxE,KAAK8D,UAEvBW,OAAQxB,IAGRyB,EAAUd,EAAKnE,OAAO,CACtBkF,KAAM,WACF,IAAI5E,EAAOC,KACP+B,EAAahC,EAAKF,QAAQkC,WAE9BhC,EAAK6E,MAAQ,IAAIzB,EACjBpD,EAAK8E,QAAQF,KAAK5E,EAAK6E,OAEvB7E,EAAK+E,gBAAgB/C,GAErBhC,EAAKD,OAAOiF,QAAQ1B,EAAQ,CAAE1B,KAAM3B,OACpCT,MAAMyF,GAAGC,SAASlF,EAAK+D,SAAS,IAEpCoB,KAAM,WACF,IAAInF,EAAOC,MAEPD,EAAK1B,QAAW0B,EAAK8C,YAKzB9C,EAAK8C,UAAUpB,cAAc1B,EAAK8D,YAAYsB,MAAK,SAAUrE,GACzDf,EAAKF,QAAUiB,EACff,EAAKqF,eACLrF,EAAK4E,UAGT5E,EAAK1B,QAAS,IAElB+G,aAAc,WACV,IAAIb,EAAO,CACPN,MAAOjE,KAAK8D,QAAQG,QACpBC,OAAQlE,KAAK8D,QAAQI,UAErBmB,EAAiB5F,EAAO,CAAEwE,MAAOjE,KAAKiE,MAAOC,OAAQlE,KAAKkE,QAAUlE,KAAKF,OAAOD,QAAQyF,MAC5FtF,KAAK6E,QAAU,IAAIzB,EAAQpD,KAAK8D,QAASuB,GACzCrF,KAAKgE,gBAAgBO,IAEzBO,gBAAiB,SAAU/C,GACvB,IACIwD,EADAxF,EAAOC,KAGX,GAAK+B,EAIL,IAAK,IAAIyD,EAAI,EAAGA,GAAKzD,EAAWC,OAAQwD,IAAK,CACzC,IAAIC,EAAW1D,EAAWyD,GAE1B,GAAKC,EAAL,CAIA,OAAQA,EAAS/E,MACb,KAAK4C,EAAcC,KACnB,KAAKD,EAAcE,UACf+B,EAAYxF,EAAK2F,UAAUD,GAC3B,MACJ,KAAKnC,EAAcG,KACf8B,EAAYxF,EAAK4F,UAAUF,GAC3B,MACJ,KAAKnC,EAAcI,MACf6B,EAAYxF,EAAK6F,WAAWH,GAC5B,MACJ,KAAKnC,EAAcK,KACf4B,EAAYxF,EAAK8F,UAAUJ,GAC3B,MACJ,QACIF,EAAY,KACZ,MAGJA,GAEAxF,EAAK6E,MAAMkB,OAAOP,MAI9BI,UAAW,SAAUF,GAEjB,IAAIM,EAAU,IAAIxG,MAAMkG,SAAShC,KAAKgC,EAASO,MAAOP,EAASlB,MAE/D,OAAO,IAAIrB,EAAQO,KAAKsC,EAAS,CAC7BE,UAAWjG,KAAKkG,WAAWT,EAASQ,WACpCE,KAAMV,EAASW,YACfC,OAAQZ,EAASa,iBAIzBV,WAAY,SAAUH,GAElB,IAAIc,EAAa,IAAIhH,MAAMkG,SAAShC,KAAKgC,EAASO,MAAOP,EAASlB,MAClE,OAAO,IAAIrB,EAAQQ,MAAM+B,EAASe,IAAKD,EAAY,CAC/CN,UAAWjG,KAAKkG,WAAWT,EAASQ,cAI5CJ,UAAW,SAAUJ,GAEjB,IAAI5F,EAAU,CACVoG,UAAWjG,KAAKkG,WAAWT,EAASQ,WACpCI,OAAQZ,EAASa,cACjBH,KAAMV,EAASW,YACfK,KAAMhB,EAASgB,MAEnB,OAAO,IAAIlH,MAAM2D,QAAQS,KAAK8B,EAASiB,QAASjB,EAASO,MAAOnG,IAGpE6F,UAAW,SAAUD,GASjB,IAPA,IAAI5F,EAAU,CACVoG,UAAWjG,KAAKkG,WAAWT,EAASQ,WACpCI,OAAQZ,EAASa,cACjBH,KAAMV,EAASW,aAEfO,EAAO,IAAIzD,EAAQM,UAAU3D,GAExB2F,EAAI,EAAGA,EAAIC,EAASmB,MAAM5E,OAAQwD,IAAK,CAC5C,IAAIqB,EAAUpB,EAASmB,MAAMpB,GAE7B,IAAKqB,EAAQC,SAET,OAGJH,EAAKI,OAAO3H,MAAMuH,EAAME,EAAQb,OAEhC,IAAK,IAAIgB,EAAI,EAAGA,EAAIH,EAAQC,SAAS9E,OAAQgF,IAAK,CAC9C,IAAIC,EAAUJ,EAAQC,SAASE,GAC3BE,EAAuC,IAA1BD,EAAQE,OAAOnF,OAAe2E,EAAKS,OAAST,EAAKU,QAClEH,EAAW9H,MAAMuH,EAAMM,EAAQE,QAG/BN,EAAQS,QACRX,EAAKY,QAIb,OAAOZ,GAGXT,WAAY,SAAUD,GAClB,IAAIuB,EAASC,OAAOC,OAAOnI,MAAMkG,SAASkC,OAAOC,WAEjD,OADArI,MAAMkG,SAASkC,OAAOvI,MAAMoI,EAAQvB,GAC7BuB,KAIXK,EAAYjE,EAAKnE,OAAO,CACxBG,KAAM,SAASC,EAASC,GACpB,IACIgI,EADA/H,EAAOC,KAGX8H,EAASxI,EAAE,iDACXS,EAAK+H,OAASA,EAAOC,IAAI,GAEzBnE,EAAKoE,GAAGpI,KAAKtB,KAAKyB,EAAMF,EAASC,GAEjCC,EAAK+H,OAAO7D,MAAQlE,EAAKkE,MACzBlE,EAAK+H,OAAO5D,OAASnE,EAAKmE,OAC1BnE,EAAK+D,QAAQgC,OAAOgC,IAExB5C,KAAM,SAAU+C,EAAcC,GAC1B,IAAInI,EAAOC,KACPmI,EAAU7I,EAAEgB,WAEhB,GAAIP,EAAKqI,SAAWH,GAAiBC,EAG9B,OAAInI,EAAKqI,QAAUrI,EAAKqI,SAAWH,IAAiBC,GAEvDnI,EAAKqI,OAASH,EACdlI,EAAK0E,OAAOwD,GACLE,EAAQnH,QAAQjB,KAGvBA,EAAK8C,WACL9C,EAAK8C,UAAUpB,cAAc1B,EAAK8D,YAAYsB,MAAK,SAAUxD,GACzD5B,EAAKsI,MAAQ1G,EACb5B,EAAKuI,eAAiBvI,EAAK0E,OAAOwD,GAAc9C,MAAK,WACjDpF,EAAKD,OAAOiF,QAAQ1B,EAAQ,CAAE1B,KAAM5B,OAExCoI,EAAQnH,QAAQjB,MAIxBA,EAAKqI,OAASH,EACdlI,EAAK1B,QAAS,EACP8J,IAEX1D,OAAQ,SAAU8D,GACd,IAAIxI,EAAOC,KACPwI,EAAUxI,KAAK8H,OAAOW,WAAW,MACjCC,EAAW1I,KAAKqI,MAAMM,YAAY,CAC9BJ,MAAOA,IAyBf,OAtBAvI,KAAKoI,OAASG,EACdvI,KAAK8H,OAAO7D,MAAQyE,EAASzE,MAC7BjE,KAAK8H,OAAO5D,OAASwE,EAASxE,OAE1BlE,KAAK4I,cAEL5I,KAAK4I,YAAYC,SACjB7I,KAAK4I,YAAc,MAGvB5I,KAAKgE,gBAAgB,CACjBC,MAAOyE,EAASzE,MAChBC,OAAQwE,EAASxE,SAGrBlE,KAAK4I,YAAc5I,KAAKqI,MAAM5D,OAAO,CACjCqE,cAAeN,EACfE,SAAUA,IAGd1I,KAAK+I,iBAAiBL,GAEf1I,KAAK4I,YAAYT,QAAQhD,MAAK,WACjCpF,EAAK6I,YAAc,QAEpBI,OAAM,gBAEbD,iBAAkB,SAAUL,GACxB,IAAI3I,EAAOC,KACP2B,EAAO5B,EAAKsI,MAEbtI,EAAKkJ,WACJlJ,EAAKkJ,UAAUC,SAGnBnJ,EAAKkJ,UAAY3J,EAAE,oCAAoCyI,IAAI,GAC3DhI,EAAK+D,QAAQgC,OAAO/F,EAAKkJ,WAEzBtH,EAAKwH,eAAe,CAChBC,qBAAqB,IACtBjE,MAAK,SAASkE,GACb/J,EAAES,EAAKkJ,WAAWK,IAAI,CACpBpF,OAAQwE,EAASxE,OACjBD,MAAOyE,EAASzE,QACfsF,KAAK,IAER,IAAIC,EAAS,CACTH,YAAaA,EACbI,UAAW1J,EAAKkJ,UAChBP,SAAUA,EACVgB,SAAU,GACVC,sBAAsB,GAG1B5J,EAAK8C,UAAU+G,gBAAgBJ,SAK3C/J,EAAOF,MAAMoD,UAAUC,IAAK,CACxBU,cAAeA,EACfM,KAAMc,IAEVjF,EAAOF,MAAMoD,UAAUkH,MAAO,CAC1BjG,KAAMiE,IAvTd,CAyTGrI,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,Q,uBCzYxBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCkL,EACA,SAAUhM,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBgM,KACA,SAAUjM,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBiM,KACA,SAAUlM,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACzGH,EAA+B,CAACd,EAAoB,MAAOA,EAAoB,GAAIA,EAAoB,OAAQa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADnU,EAE7F,WA0fH,OAxfA,SAAUK,EAAGD,GACT,IAAIE,EAAQC,OAAOD,MACfE,EAASH,EAAEG,OACXwK,EAAQ3K,EAAE2K,MACVC,EAAS,SACTC,EAAkB,SAClBC,EAAU,UACVC,EAAQ9K,EAAM+K,QAAQC,MACtBC,EAAS,SACTC,EAAS,SACTC,EAAU,UACVC,EAAOpL,EAAMqL,QAAQD,KACrBE,EAAUtL,EAAMyF,GAAG6F,QACnBC,EAAyB,CACrBC,KAAM,OACNC,OAAQ,SACRC,WAAY,aACZC,UAAW,aAEfC,EAAS,CACLC,YAAa,eACbC,WAAY,cACZC,YAAa,uBACbC,oBAAqB,sCACrBC,eAAgB,qBAGpBC,EAAuBlM,EAAMmM,SAAS,sLACtCC,EAAyBpM,EAAMmM,SAAS,mPAOxCE,EAAe,CACfC,MAAO,CACHnL,KAAM,QACNoL,SAAU,QACVC,QAAS,qBAEbC,OAAQ,CAAEtL,KAAM,UAChBuL,KAAM,CACFvL,KAAM,OACNqL,QAAS,cACTG,WAAW,EACXC,SAAU,CAAEC,WAAY,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,MACjDC,QAAQ,GAEZC,gBAAiB,CACb5L,KAAM,cACN6L,WAAY,CAAE,MAAS,4BACvBC,QAAS,CACL,CACIC,WAAW,EACXC,KAAM,mBACNX,QAAS,yBACTY,KAAM,SACNC,SAAU,WACVC,KAAM,kBACNjI,MAAO,cACR,CACC6H,WAAW,EACXC,KAAM,iBACNX,QAAS,mBACTY,KAAM,OACNC,SAAU,WACVC,KAAM,YACNjI,MAAO,aACPkI,UAAU,KAItBC,QAAS,CAAErM,KAAM,UACjBsM,OAAQ,CACJtM,KAAM,SACNgM,KAAM,SACNX,QAAS,oBACTY,KAAM,SACNE,KAAM,SACND,SAAU,WACVP,QAAQ,GAEZY,KAAM,CACFvM,KAAM,SACNgM,KAAM,OACNE,SAAU,WACVC,KAAM,OACNF,KAAM,cACNZ,QAAS,eAEb5L,SAAU,CACNO,KAAM,SACNgM,KAAM,WACNE,SAAU,WACVC,KAAM,WACNF,KAAM,WACNZ,QAAS,kBACTM,QAAQ,GAEZa,MAAO,CACHxM,KAAM,SACNgM,KAAM,QACNE,SAAU,WACVC,KAAM,QACNF,KAAM,QACNZ,QAAS,eACTM,QAAQ,IAIZc,EAAW1N,EAAO,GAAImM,EAAc,CACpCwB,SAAU,CAAE1M,KAAM,SAAUgM,KAAM,SAAUE,SAAU,WAAYC,KAAM,WAAYF,KAAM,eAAgBZ,QAAS,mBAGnHsB,EAAe1C,EAAKlL,OAAO,CAC3BG,KAAM,SAASC,EAAS+K,GACpB,IAAI0C,EAAehO,EAAE,WAErBU,KAAKH,QAAUJ,GAAO,EAAMI,EAAS+K,EAAQ/K,QAAQgM,OAErD7L,KAAK4K,QAAUA,EAEf5K,KAAK4K,QAAQiB,MAAQ,IAAItM,EAAMoD,UAAU4K,MAAMD,EAAc7N,EAAO,GAAII,EAAS,CAC7E2N,OAAQvD,EAAMjK,KAAKyN,QAASzN,SAGhCA,KAAK8D,QAAUwJ,EACftN,KAAK8D,QAAQ4J,GAAGtD,EAASH,EAAMjK,KAAK2N,SAAU3N,OAE9CA,KAAKuM,aACLvM,KAAK4N,aACL5N,KAAK6N,mBAETJ,QAAS,SAAUK,GACX9N,KAAKH,QAAQ2N,QAAUxN,KAAKH,QAAQ2N,OAAOM,EAAEnM,OAKjD3B,KAAK4K,QAAQmD,OAAO,CAChBhC,QAAS,oBACTlM,QAAS,CACLmO,MAAOF,EAAEnM,SAIrBgM,SAAU,SAAUG,GAChB,IAAI/N,EAAOC,KACPiO,EAAS3O,EAAEwO,EAAEG,QACbC,EAAUJ,EAAEI,QACZC,EAAWpO,EAAK+D,QAAQsK,KAAK,mBAC7BC,EAAcF,EAASG,MAAML,GAC7BM,EAAYT,EAAEU,UAAY,EAAI,EAE9BN,IAAY3O,EAAMkP,KAAKC,KAAOP,EAASE,EAAcE,KAErDJ,EAASE,EAAcE,GAAWI,QAClCb,EAAEc,iBACFd,EAAEe,sBAOd,SAASC,EAAmBhL,EAAStD,EAAUuO,GAC3C,IAAIC,EAAYD,EAAa5D,EAAOI,oBAAsBJ,EAAOG,YAEjExH,EAAQgC,OAAO2F,EAAqB,CAChCiB,KAAMlM,EAASyO,QACflD,QAASrB,EACTwE,UAAW/D,EAAOC,YAClBwB,SAAUmC,EACVC,UAAWA,KAEflL,EAAQgC,OAAO2F,EAAqB,CAChCiB,KAAMlM,EAAS2O,OACfpD,QAAStB,EACTyE,UAAY/D,EAAOE,WACnBuB,SAAUmC,EACVC,UAAWA,KAjBnBzP,EAAMqL,QAAQwE,kBAAkB,QAAS/B,GAqBzC,IAAIgC,EAAc1E,EAAKlL,OAAO,CAC1BG,KAAM,SAASC,EAAS+K,GACpB5K,KAAKsP,MAAMzP,EAAS+K,GACpB5K,KAAK4K,QAAQqB,KAAOjM,KAEhB4K,EAAQ/K,QAAQ0I,QAEhBvI,KAAKuP,WAAqC,IAAxB3E,EAAQ/K,QAAQ0I,MAAc,KAGpDvI,KAAKwP,kBAELxP,KAAKyP,OAASlQ,EAAMmQ,SAChB1P,KAAKyP,OAAOE,KAAK3P,MACjB,KAEJA,KAAK2N,SAAWpO,EAAMmQ,SAClB1P,KAAK2N,SAASgC,KAAK3P,MACnB,KAGJA,KAAK8D,QAAQ4J,GAAGrD,EAAO,YAAarK,KAAKyP,QACzCzP,KAAK8D,QAAQ4J,GAAGtD,EAAS,YAAapK,KAAK2N,UAE3C3N,KAAKuM,aACLvM,KAAK4N,aACL5N,KAAK6N,kBACL7N,KAAKqM,OAAOxM,EAAQwM,SAGxBiD,MAAO,SAAUzP,EAAS+K,GACtB,IAAIgF,EAActQ,EAAE,WAEpBU,KAAKH,QAAUJ,GAAO,EAAMI,EAAS,CACjCW,SAAUoK,EAAQ/K,QAAQW,SAASyL,OAGvCjM,KAAK4K,QAAUA,EACf5K,KAAK8D,QAAU8L,GAGnBJ,gBAAiB,WACb,IAAI3P,EAAUG,KAAKH,QAEfA,EAAQqM,WACR4C,EAAkB9O,KAAK8D,QAASjE,EAAQW,UAAU,GAGlDX,EAAQsM,UACRnM,KAAK6P,kBAIbA,eAAgB,WACZ,IACI1D,EADApM,EAAOC,KAEPQ,EAAWT,EAAKF,QAAQW,SACxBsP,EAAe/P,EAAKF,QAAQsM,SAC5BC,EAAa,CAAC,CACV2D,QAASjF,EAAuBC,KAChC2B,KAAMlM,EAASwP,WAChB,CACCD,QAASjF,EAAuBE,OAChC0B,KAAMlM,EAASyP,aAChB,CACCF,QAASjF,EAAuBG,WAChCyB,KAAMlM,EAASyK,YAChB,CACC8E,QAASjF,EAAuBI,UAChCwB,KAAMlM,EAAS0K,YAGvBkB,EAAaA,EAAW8D,OAAOJ,EAAa1D,YAE5CD,EAAW7M,EAAEqM,EAAuB,CAChCS,WAAYA,EACZ+D,UAAW3P,EAAS2P,aAGnB5Q,EAAM+K,QAAQ8F,SAWfrQ,EAAK+D,QAAQgC,OAAOqG,IAVpBA,EAAWA,EAASkE,cAAc5Q,EAAO,CACrCuQ,WAAW,EACXM,aAAa,EACbtC,MAAOjO,EAAKwP,YACbO,IAAeS,mBAElBxQ,EAAK+D,QAAQgC,OAAOqG,EAASqE,SAC7BzQ,EAAKoM,SAAWA,EAChBpM,EAAK0Q,cAAgBtE,EAAS6B,SAKlC7B,EAASwD,KAAKnF,EAAQjL,EAAMmQ,SAAS3P,EAAKyN,OAAOmC,KAAK5P,GAAO,OAGjEyN,OAAQ,SAAUM,GACd,IACI4C,EADA1C,EAAQF,EAAE6C,OAAS7C,EAAE6C,OAAO3C,QAAUF,EAAEG,OAAOD,MAGnD,GAAIA,EAAM4C,WAAWC,MAAM,cACvBH,EAAcI,SAAS9C,EAAM+C,QAAQ,IAAK,IAAK,IAAM,SAClD,IAAKjG,EAAuBkD,GAM/B,OALIhO,KAAKmM,UAELnM,KAAKmM,SAAS6B,MAAMhO,KAAKyQ,oBAE7B3C,EAAEc,iBAIN5O,KAAKyQ,cAAgBzC,EACrBhO,KAAK4K,QAAQmD,OAAO,CAChBhC,QAAS,cACTlM,QAAS,CACL0I,MAAOmI,GAAe1C,MAKlCgD,eAAgB,SAAU/C,GACtB,IAAIgD,EAAS3R,EAAE2O,GAAQiD,QAAQ,aAC/BnF,EAAUkF,EAAOnQ,KAAK,WAEtBd,KAAK4K,QAAQmD,OAAO,CAChBhC,QAAS,cACTlM,QAAS,CACLsP,OAAQpD,IAAYtB,EACpBwE,QAASlD,IAAYrB,EACrByG,gBAAgB,MAK5B1B,OAAQ,SAAU3B,GACd9N,KAAKgR,eAAelD,EAAEG,SAG1BN,SAAU,SAAUG,GAChB,IAAIsD,EAAMtD,EAAEI,QACRO,EAAOlP,EAAMkP,KAEb2C,IAAQ3C,EAAK4C,QACbrR,KAAKgR,eAAelD,EAAEG,QACtBH,EAAEc,mBAIVvC,OAAQ,SAAU2B,GACd,IAAIlK,EAAU9D,KAAK8D,QAEnBA,EAAQsK,KAAK,qBAAqBkD,YAAY,oBAAqBtD,GAE/DhO,KAAKmM,UACLnM,KAAKmM,SAASE,OAAO2B,IAI7BxJ,QAAS,WACDxE,KAAKmM,UACLnM,KAAKmM,SAAS3H,aAKtB+M,EAAsBlC,EAAY5P,OAAO,CACzC6P,MAAO,SAAUzP,EAAS+K,GACtB,IAAIgF,EAActQ,EAAE,aAEpBU,KAAKH,QAAUJ,GAAO,EAAMI,EAAS,CACjCW,SAAUoK,EAAQ/K,QAAQW,SAASyL,OAGvCjM,KAAK4K,QAAUA,EACf5K,KAAK8D,QAAU8L,GAEnBJ,gBAAiB,WACb,IAAI3P,EAAUG,KAAKH,QACfA,EAAQqM,WACR4C,EAAkB9O,KAAK8D,QAASjE,EAAQW,UAAU,IAG1DgL,eAAgB,WACZxL,KAAK8D,QAAQ0N,SAASrG,EAAOK,mBAIrCjM,EAAMqL,QAAQwE,kBAAkB,OAAQC,EAAakC,GAErD,IAAIE,EAAgB5G,EAAQpL,OAAO,CAC/BG,KAAM,SAASkE,EAASjE,GACpB,IAAIE,EAAOC,KACP0R,EAAQ7R,EAAQ6R,OAAS7R,EAAQ6R,MAAM1P,OAASnC,EAAQ6R,MAAQjK,OAAOgH,KAAK7C,GAEhF7L,EAAKF,QAAUA,EAEfA,EAAQ6R,MAAQ3R,EAAK4R,aAAaD,GAElC7G,EAAQ7C,GAAGpI,KAAKtB,KAAKyB,EAAM+D,EAASjE,GAEpCE,EAAK4P,KAAK,CACNpF,MAAOxK,EAAK0P,OACZmC,OAAQ7R,EAAK0P,SAGjB5P,EAAQC,OAAO6P,KAAK,CAChBkC,OAAQ9R,EAAK+R,QAAQnC,KAAK5P,MAGlCgS,OAAQ,CACJ7H,GAEJyH,aAAc,SAAUD,GACpB,IAAI3R,EAAOC,KACPQ,EAAWR,KAAKH,QAAQW,SAE5B,OAAOkR,EAAMM,KAAI,SAAUC,GACvB,IAAIC,EAAiB5S,EAAE6S,cAAcF,IAAsC,IAA7BxK,OAAOgH,KAAKwD,GAAMjQ,QAAgBiQ,EAAKpF,KACrFoF,EAAOC,EAAgBD,EAAKpF,KAAOoF,EACnC,IACIpS,EADAuS,EAAc9S,EAAE6S,cAAcF,GAAQA,EAAO9E,EAAS8E,GAEtDI,EAAYD,EAAYvF,KAuB5B,MArByB,gBAArBuF,EAAY1R,KACZ0R,EAAY5F,QAAUzM,EAAK4R,aAAaS,EAAY5F,SAEpD3M,EAD4B,UAArBuS,EAAY1R,KACT,CACNmM,KAAMwF,EACN9F,WAAY,CACR,aAAc/L,EAAS6R,GACvB,MAAS7R,EAAS6R,GAClB,eAAgBD,EAAYrG,QAC5B,MAAS5B,GAEb2B,SAAUsG,EAAYtG,UAGhB,CACNA,SAAU,SAIlBvM,EAAM+S,WAAWF,EAAavS,GAEvBuS,MAGf3C,OAAQ,SAAU3B,GAEd,IAAI/B,EAAUzM,EAAEwO,EAAEG,QAAQnN,KAAK,WAE1BiL,GAIL/L,KAAK+N,OAAO,CACRhC,QAASA,EACTlM,QAASiO,EAAEjO,WAGnBiS,QAAS,SAAUhE,GACf,IAAIyE,EAAc,CACd5Q,KAAMmM,EAAEnM,MAAQ,EAChBY,MAAOuL,EAAEvL,OAAS,GAGlBvC,KAAKiM,OACLjM,KAAKiM,KAAKI,QAAQyB,EAAE0E,SACH,SAAb1E,EAAEC,QACF/N,KAAKyS,oBAAoB3E,EAAE7B,QAIjB,eAAb6B,EAAEC,QAA2BD,EAAE0E,UAAYxS,KAAK6L,OACjD7L,KAAK6L,MAAM6G,WAAWH,GAG1BvS,KAAKqM,OAAOrM,KAAKwQ,QAAQpC,KAAK,8BAA+BN,EAAE0E,SAE/DxS,KAAKqM,OAAOrM,KAAKwQ,QAAQpC,KAAK,uCAAwCN,EAAE0E,SACxExS,KAAKqM,OAAOrM,KAAKwQ,QAAQpC,KAAK,qCAAsCN,EAAE0E,SACtExS,KAAKqM,OAAOrM,KAAKwQ,QAAQpC,KAAK,kCAAmCN,EAAE0E,UAEvEC,oBAAqB,SAAUzE,GAC3B,IAAI2E,EAAe3E,IAAUlD,EAAuBC,MAChCiD,IAAUlD,EAAuBE,OAEhD2H,IACD3E,EAAQ3J,KAAKuO,MAAc,IAAR5E,GAAe,KAGlChO,KAAKiM,MAAQjM,KAAKiM,KAAKE,WACvBnM,KAAKiM,KAAKwE,cAAgBzC,EAC1BhO,KAAKiM,KAAKE,SAAS6B,MAAMA,KAGjCD,OAAQ,SAAU8E,GAEd7S,KAAK+E,QAAQmF,EAAQ2I,IAEzBrO,QAAS,WACDxE,KAAK6L,OACL7L,KAAK6L,MAAMrH,UAGXxE,KAAKiM,MACLjM,KAAKiM,KAAKzH,UAEdqG,EAAQ7C,GAAGxD,QAAQlG,KAAK0B,SAKhCP,EAAOF,EAAMoD,UAAW,CACpBmQ,QAASrB,EACT7F,aAAcA,IApftB,CAsfGpM,OAAOD,MAAMuD,QAETtD,OAAOD,QACXrB,EAAoB,KAIlB6U,KACA,SAAUjV,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,Y,qBCnlB1BD,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCoU,KACA,SAAUlV,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBkV,KACA,SAAUnV,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACzGH,EAA+B,CAACd,EAAoB,OAAQa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADhR,EAE7F,WAojBH,OAljBA,SAAUK,EAAGD,GACT,IAAIE,EAAQC,OAAOD,MACf0K,EAAQ3K,EAAE2K,MACVxK,EAASH,EAAEG,OACXyT,EAAYjS,KAAKC,MACjB+D,EAAW1F,EAAMyF,GAAGC,SACpBvF,EAAQH,EAAMG,MACdyT,EAAO,OACPC,EAAY,YACZC,EAAU,UAEVC,EAAU5T,EAAMD,OAAO,CACvBG,KAAM,SAASC,GACXG,KAAKH,QAAUA,EACfG,KAAKF,OAASD,EAAQC,OACtBE,KAAKO,cAAgBP,KAAKF,OAAOD,QAAQW,SAASD,iBAItDgT,EAAcD,EAAQ7T,OAAO,CAC7BG,KAAM,SAASC,GACXyT,EAAQtL,GAAGpI,KAAKtB,KAAK0B,KAAMH,GAC3BG,KAAKE,OAASF,KAAKF,OAAO+C,UAAU3C,QAExCsT,KAAM,YACDxT,KAAKF,OAAO2T,SAAWzT,KAAK0T,eAAe5P,QAAQyG,SAExDmJ,YAAa,WACT,IAAIC,EAAgB,CAChBC,OAAQ3J,EAAMjK,KAAK6T,UAAW7T,MAC9Ba,QAASoJ,EAAMjK,KAAK8T,WAAY9T,MAChCmB,MAAO8I,EAAMjK,KAAK+T,SAAU/T,MAC5BgU,SAAU/J,EAAMjK,KAAKiU,YAAajU,MAClCkU,cAAc,EACdC,UAAU,EACVC,WAAY,CACRC,kBAAmB,CAAC,UAIxBrU,KAAKE,QACLT,EAAOkU,EAAe,CAClBW,MAAO,CACHC,QAAUvU,KAAKE,OAAOS,IACtB6T,YAAY,EACZC,UAAWzU,KAAKE,OAAOuU,aAKnC,IAAIvU,EAASZ,EAAE,oDAAoDoV,YAAYf,GAAegB,iBAG9F,OAFA3U,KAAKF,OAAO2T,QAAUvT,EAEfA,GAEX+T,YAAa,WACThP,EAASjF,KAAKF,OAAO8U,eAAe,IAExCd,WAAY,SAAShG,GACjB,IAAIzL,EAAO6Q,EAAUpF,EAAE+G,UAEnBvV,EAAE6S,cAAc9P,GAChBrC,KAAKF,OAAO+C,UAAUT,SAASC,GAG/BrC,KAAKF,OAAOuB,cAAc,CACtBF,MAAOkB,EACPd,QAASvB,KAAKO,cAAciB,cAIxCuS,SAAU,SAASjG,GACf9N,KAAKF,OAAOuB,cAAc,CACtBF,MAAO2M,EAAEgH,eAAexT,aACxBC,QAASvB,KAAKO,cAAcwU,gBAGpClB,UAAW,SAAU/F,GACjB,IAAI/N,EAAOC,KACPgV,EAAelH,EAAEmH,MAAM,GAI3B,GAFAhQ,EAASlF,EAAKD,OAAO8U,eAAe,IAEhC7U,EAAKD,OAAOiF,QAAQoO,EAAM,CAAE+B,KAAMF,MAAmBjV,EAAKG,OAEvD,GAA6C,SAAzC8U,EAAaG,UAAUC,cAA3B,CAQP,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAASzH,GACrB,IAAIlM,EAAWkM,EAAEG,OAAOuH,OACxBzV,EAAKD,OAAO2V,SAAS7T,IAEzByT,EAAOK,QAAU,WACb3V,EAAKD,OAAOuB,cAAc,CACtBF,MAAO6T,EACPzT,QAASxB,EAAKQ,cAAciB,cAIpC6T,EAAOM,kBAAkBX,EAAaY,cAnBlC7V,EAAKD,OAAOuB,cAAc,CACtBF,MAAO6T,EACPzT,QAASxB,EAAKQ,cAAcwU,kBAqBxCc,EAAoBvC,EAAQ7T,OAAO,CACnC+T,KAAM,WACF,IAAI3P,EAAa7D,KAAKH,QAAQmO,MAE9BhO,KAAKF,OAAO4C,aAAamB,MAI7BiS,EAAkBxC,EAAQ7T,OAAO,CACjC+T,KAAM,WACF,GAAKxT,KAAKF,OAAO8B,SAAjB,CAOA,IAAIM,EAAYlC,KAAKF,OAAO8B,SAASmU,MAAQ/V,KAAKF,OAAO8B,SAASmU,KAAKC,OACvDhW,KAAKF,OAAOD,QAAQW,SAASyV,gBAE7CjW,KAAKF,OAAO+C,UAAUZ,aAAaC,QAT/BlC,KAAKF,OAAOuB,cAAc,CACtBE,QAASvB,KAAKO,cAAc2V,cAYxCC,EAAgB7C,EAAQ7T,OAAO,CAC/BG,KAAM,SAASC,GACXA,EAAUP,EAAEG,OAAOI,EAASG,KAAKH,SACjCyT,EAAQtL,GAAGpI,KAAKtB,KAAK0B,KAAMH,IAE/B2T,KAAM,WACF,IAAI4C,EAAUpW,KAAKF,OAAOuW,aAAerW,KAAKsW,cAE9CF,EAAOG,aAAa,CAChBC,WAAaxW,KAAKF,OAAO8B,UAAY5B,KAAKF,OAAO8B,SAASW,OAAU,EACpEZ,KAAM3B,KAAKF,OAAOD,QAAQ8B,OAG9ByU,EAAOnJ,QAEX7N,MAAO,SAAUqX,GACb,IAAItB,EAAYsB,EAAUtB,UAER,SAAdA,EACAnV,KAAKF,OAAO4W,YAAYD,GACH,SAAdtB,GACPnV,KAAKF,OAAO6W,UAAUF,IAG9BH,YAAa,WAMT,OALAtW,KAAKF,OAAOuW,YAAc,IAAI9W,EAAMoD,UAAUiU,QAAQC,eAAe,CACjEzX,MAAOY,KAAKZ,MAAMuQ,KAAK3P,MACvBwW,WAAaxW,KAAKF,OAAO8B,UAAY5B,KAAKF,OAAO8B,SAASW,OAAU,EACpE/B,SAAUR,KAAKF,OAAOD,QAAQW,WAE3BR,KAAKF,OAAOuW,eAIvBS,EAAyBxD,EAAQ7T,OAAO,CACxC+T,KAAM,WACF,IAAIzT,EAAOC,KACPF,EAASC,EAAKD,OAEdA,EAAOiX,kBAAiB,MAIhCC,EAAmB1D,EAAQ7T,OAAO,CAClC+T,KAAM,WACF,IAAIzT,EAAOC,KACPF,EAASC,EAAKD,OAEdA,EAAOiX,kBAAiB,MAIhCE,EAAoB3D,EAAQ7T,OAAO,CACnCG,KAAM,SAASC,GACX,IAAIE,EAAOC,KAEXD,EAAKD,OAASD,EAAQC,OAElBC,EAAKD,OAAOoX,eACZnX,EAAKD,OAAOoX,aAAe,IAAI3X,EAAMoD,UAAUiU,QAAQO,aAAa,CAChEC,SAAU,CACNC,IAAKtX,EAAKD,OAAO8U,cAAc0C,SAASD,IACxCE,KAAMxX,EAAKD,OAAO8U,cAAc0C,SAASC,MAE7C/W,SAAUT,EAAKD,OAAOD,QAAQW,SAASoW,QAAQ5J,OAC/CC,KAAMhD,EAAMlK,EAAKyX,MAAOzX,GACxB0X,KAAMxN,EAAMlK,EAAK2X,MAAO3X,GACxB4X,KAAM1N,EAAMlK,EAAK6X,MAAO7X,GACxBwH,MAAO0C,EAAMlK,EAAK8X,OAAQ9X,MAIlCuT,EAAQtL,GAAGpI,KAAKtB,KAAKyB,EAAMF,IAE/B2T,KAAM,WACF,IAAIzT,EAAOC,KAEXD,EAAKD,OAAOoX,aAAajK,QAE7BuK,MAAO,WACH,IAAIzX,EAAOC,KAEXD,EAAK+X,cAAgB7N,EAAMlK,EAAK0N,QAAS1N,GACzCA,EAAKgY,iBAAmB9N,EAAMlK,EAAKiY,aAAcjY,GACjDA,EAAKkY,gBAAkBhO,EAAMlK,EAAKiY,aAAcjY,GAE5CA,EAAKD,OAAOoY,aACZnY,EAAKD,OAAOqY,iBACZpY,EAAKD,OAAOoX,aAAakB,YAAYzI,KAAK,SAAU5P,EAAK+X,eACzD/X,EAAKD,OAAO6P,KAAK,YAAa5P,EAAKgY,kBACnChY,EAAKD,OAAO6P,KAAK,OAAQ5P,EAAKkY,mBAGtCJ,OAAQ,WACJ,IAAI9X,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAE/BnY,EAAKD,OAAOoX,aAAakB,YAAYE,OAAO,SAAUvY,EAAK+X,eAC3D/X,EAAKD,OAAOwY,OAAO,YAAavY,EAAKgY,kBACrChY,EAAKD,OAAOwY,OAAO,OAAQvY,EAAKkY,iBAChCI,EAAa7T,iBACNzE,EAAKD,OAAOoY,WACnBnY,EAAKwY,sBAET9K,QAAS,SAAU+K,GACf,IAAIzY,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAC3BO,EAAQD,EAAGC,MACXC,EAAQ3Y,EAAKD,OAAOoX,aAAakB,YACjCpK,EAAQ0K,EAAMD,GAElB,GAAIJ,EAIJ,OAAQI,GACJ,IAAK,aACDJ,EAAarL,OAAOgB,EAAO0K,EAAMC,WACjC5Y,EAAKwY,qBACL,MACJ,IAAK,YACDF,EAAarL,OAAO0L,EAAME,WAAY5K,GACtCjO,EAAKwY,qBACL,MACJ,QACI,QAGZb,MAAO,WACH,IAAI3X,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAE3BG,EAAaQ,SAAWR,EAAaQ,QAAQ7W,SAC7CqW,EAAaS,YACb/Y,EAAKwY,uBAGbX,MAAO,WACH,IAAI7X,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAE3BG,EAAaQ,SAAWR,EAAaQ,QAAQ7W,SAC7CqW,EAAaU,gBACbhZ,EAAKwY,uBAGbA,mBAAoB,WAChB,IAAIxY,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAC3BQ,EAAQ3Y,EAAKD,OAAOoX,aAAakB,YAElCC,GACCK,EAAMM,IAAI,UAAWX,EAAaQ,QAAQ7W,QAC1C0W,EAAMM,IAAI,aAAcX,EAAaY,kBACrClZ,EAAKmZ,kBAELR,EAAMM,IAAI,aAAc,IACxBN,EAAMM,IAAI,UAAW,GACrBN,EAAMM,IAAI,aAAc,GACxBN,EAAMM,IAAI,aAAa,KAG/BE,cAAe,WACX,IAII9B,EAJArX,EAAOC,KACPqY,EAAetY,EAAKD,OAAOoY,WAC3BiB,EAASd,EAAae,iBACtBC,EAAWtZ,EAAKD,OAAOwZ,UAGvBH,EAAOnX,SAIXoV,EAAW+B,EAAO7B,SAASD,IAAMgC,EAASE,cAAcjC,SAASD,IAAM,IAEvEgC,EAASG,SAASH,EAASI,YAAwB,EAAZrC,KAE3CY,aAAc,WACV,IAAIjY,EAAOC,KACXD,EAAKD,OAAOoX,aAAad,OAAO7O,WAIpCmS,EAAcpG,EAAQ7T,OAAO,CAC7B+T,KAAM,WACF,IAAIzT,EAAOC,KACPH,EAAUE,EAAKF,QACfC,EAASC,EAAKD,OACdyI,EAAQ1I,EAAQ0I,MAChBoR,EAAoB,EACpBhY,EAAO5B,EAAKD,OAAO8Z,SACnBC,EAAkB/Z,EAAO8U,cAAc,GAAGkF,aAC1CC,EAA2B,EAC3BC,EAAc,GAElB,GAA4B,QAAzBla,EAAOma,cAAV,CAIA1R,EAAQxI,EAAKma,iBAEb,IAAIC,EAAe,WACf,IAAId,EAAWtZ,EAAKD,OAAOwZ,UACvBc,EAAmBta,EAAOua,kBAE1BhB,GAAYA,EAASiB,UAAYjB,EAASkB,gBAC1ClB,EAASmB,UAGRJ,IAEDta,EAAO4C,aAAaf,GACpB7B,EAAOua,mBAAoB,IAI9B9R,IAILzI,EAAO2a,UAAYlS,EACnBzI,EAAOua,mBAAoB,EAEvBva,EAAO+B,QACP/B,EAAO+B,MAAM6Y,SAAQ,SAAU/Y,GAC3B,IAAIgZ,GAEwC,IAAxC7a,EAAO8a,cAAcC,QAAQlZ,IAAgBA,EAAKtD,QAClD2b,EAAYc,KAAKnZ,EAAK8C,OAAO8D,IAE7BoS,EAAahZ,EAAK0G,MAAMM,YAAY,CAChCJ,MAAOA,IACRrE,SAGHvC,EAAKc,OAAO8F,GACZoS,EAAahZ,EAAKmC,QAAQI,UAG9ByV,GAAqBgB,EAEjBhB,GAAqBE,GACrBE,OAKJja,EAAOib,oBAAsBhB,IAE7Bja,EAAOib,mBAAqBhB,EAC5Bja,EAAOkb,sBAIfC,QAAQC,IAAIlB,GAAa7U,MAAK,WAC1BgV,IACApa,EAAKob,gBAAgB5S,MACtBS,OAAM,WACLmR,IACApa,EAAKob,gBAAgB5S,SAI7B2R,eAAgB,WACZ,IAOIkB,EAPAvb,EAAUG,KAAKH,QACfC,EAASE,KAAKF,OACdub,EAAgBvb,EAAOD,QACvB+U,EAAgB9U,EAAO8U,cACvB0G,EAAgBxb,EAAO8a,eAAiB9a,EAAO8a,cAAc,GAAG9S,OAChES,EAAQ1I,EAAQ0I,MAChBgT,EAAahT,EA2BjB,GAxBAzI,EAAO0b,cAAe,EACtB1b,EAAO2b,UAAW,EAEd5b,EAAQsP,OACRoM,EAAahT,EAAQzI,EAAO2a,UAAYY,EAAcK,SAC/C7b,EAAQoP,QACfsM,EAAahT,EAAQzI,EAAO2a,UAAYY,EAAcK,SACrC,SAAVnT,GACPzI,EAAO0b,cAAe,EACtBD,EAAazb,EAAO6b,gBACH,WAAVpT,EACPgT,EAAa,EACI,eAAVhT,GACPzI,EAAO0b,cAAe,EACtB1b,EAAO2b,SAAW,aAClBF,EAAc3G,EAAc3Q,SAAWqX,EAAcrX,MAAQnE,EAAO2a,YACnD,cAAVlS,IACPzI,EAAO0b,cAAe,EACtB1b,EAAO2b,SAAW,YAClBF,EAAc3G,EAAc1Q,UAAYoX,EAAcpX,OAASpE,EAAO2a,YAG1EW,EAAc7S,EAAQ8S,EAAcO,SAAWrT,EAAQ8S,EAAcQ,SAEjET,IAAetb,EAAOiF,QAAQqO,EAAW,CAAE7K,MAAOA,IAStD,OALI1I,EAAQsR,gBAAkBrR,EAAO8K,SAEjC9K,EAAO8K,QAAQ6H,oBAAoBlK,GAGhCgT,GAGXJ,gBAAiB,SAAU5S,GACvB,IAAIxI,EAAOC,KACPF,EAASC,EAAKD,OAElBA,EAAOiF,QAAQsO,EAAS,CAAE9K,MAAOA,OAIrCuT,EAAexI,EAAQ7T,OAAO,CAC9BG,KAAM,SAAUC,GACZyT,EAAQtL,GAAGpI,KAAKtB,KAAK0B,KAAMH,IAE/B2T,KAAM,WACF,IAAIzT,EAAOC,KAELD,EAAKD,OAAO8B,UAOlBqD,EAASlF,EAAKD,OAAO8U,eAAe,GACpC7U,EAAKgc,wBACLhc,EAAKic,gBAAgB7W,KAAK8E,EAAMlK,EAAKkc,mBAAmBlc,KARpDA,EAAKD,OAAOuB,cAAc,CACtBE,QAASvB,KAAKO,cAAc2V,YASxC6F,sBAAuB,WACnB/b,KAAKkc,eAAiB5c,EAAE,gBAE5B0c,cAAe,WACX,IAAIjc,EAAOC,KACP6B,EAAQ9B,EAAKD,OAAO+B,MACpBsa,EAAe,GACfC,EAAiB,GACjBjU,EAAU7I,EAAEgB,WAIhB,SAAS+b,EAAkB1a,GACvBya,EAAetB,KAAKnZ,EAAK2G,gBAH7BvI,EAAKuc,eAAiBvc,EAAKD,OAAOmM,OAMlC,IAAK,IAAIzG,EAAI,EAAGA,EAAI3D,EAAMG,OAAQwD,IAC9B2W,EAAarB,KAAKjZ,EAAM2D,GAAGN,KAAK,GAAG,GAAMC,KAAKkX,IAOlD,OAJApB,QAAQC,IAAIiB,GAAchX,MAAK,WAC3BgD,EAAQnH,QAAQob,MAGbjU,GAEX8T,mBAAoB,SAASG,GACzB,IAAIrc,EAAOC,KAEXib,QAAQC,IAAIkB,GAAgBjX,MAAK,WAC7BpF,EAAKwc,oBACLC,YAAW,WACPzc,EAAK0c,iBACL1c,EAAKD,OAAOmM,KAAKlM,EAAKuc,gBACtBrX,EAASlF,EAAKD,OAAO8U,eAAe,UAC7B7U,EAAKuc,iBACb,OAGXC,kBAAmB,WAGf,IAFA,IAAI1a,EAAQ7B,KAAKF,OAAO+B,MAEf2D,EAAI,EAAGA,EAAI3D,EAAMG,OAAQwD,IAC9BxF,KAAK0c,kBAAkB7a,EAAM2D,KAGrCkX,kBAAmB,SAAU/a,GACzB,IAAImG,EAASnG,EAAKmG,OACd6U,EAAMrd,EAAE,eAERsd,EAAM,aAAe9U,EAAO+U,YAAc,YAAclb,EAAKsC,MAAQ,eAAiBtC,EAAKuC,OAAS,SAExGyY,EAAI7W,OAAO8W,GAEX5c,KAAKkc,eAAepW,OAAO6W,IAE/BF,eAAgB,WACZ,IAAI1c,EAAOC,KACP6B,EAAQ9B,EAAKD,OAAO+B,MACpBoC,EAAQpC,EAAM,GAAGoC,MACjBC,EAASrC,EAAM,GAAGqC,OAElB4Y,EAAWtd,OAAOyN,KAAK,GAAG,GAAG,cAAgBhJ,EAAQ,gBAAkBC,EAAS,sCAEhF4Y,GAOJA,EAASlb,SAASmb,MAAMhd,EAAKmc,eAAe3S,QAE5CuT,EAASlb,SAAS2F,QAClBuV,EAASnO,QACTmO,EAAS5P,QACT4P,EAASvV,SAXLxH,EAAKD,OAAOuB,cAAc,CACtBE,QAASxB,EAAKQ,cAAcyc,kBAc5Cvd,EAAOF,EAAMoD,UAAW,CACpB4Q,YAAaA,EACbsC,kBAAmBA,EACnBC,gBAAiBA,EACjBgB,uBAAwBA,EACxBE,iBAAkBA,EAClBb,cAAeA,EACf2F,aAAcA,EACd7E,kBAAmBA,EACnByC,YAAaA,IA7iBrB,CAgjBGla,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,Q,uBChoBxBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCqe,KACA,SAAUnf,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAC7Bd,EAAoB,OACrBa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IAHvN,EAI7F,WAqJH,OA5IA,SAAUK,EAAGD,GACT,IAII6d,EAJA3d,EAAQC,OAAOD,MACfG,EAAQH,EAAMG,MACdD,EAASH,EAAEG,OACX0d,EAAO3d,OAAO2d,KAGdC,EAAiB1d,EAAMD,OAAO,CAC9BG,KAAM,SAASC,EAASC,GACpB,IAAIC,EAAOC,KAEPT,EAAMoD,UAAUkH,MAAMwT,aACtBH,EAAQ3d,EAAMoD,UAAUkH,MAAMyT,KAGlCvd,EAAKmV,KAAOrV,EAAQqV,KACpBnV,EAAKD,OAASA,GAElBM,cAAe,WACX,IAAIL,EAAOC,KACPK,EAAWf,EAAEgB,WACbE,EAAWT,EAAKD,OAAOD,QAAQW,SAASD,cAE5C,OAAKR,EAAKmV,MAINnV,EAAKwd,iBAAmBJ,IAExBpd,EAAKmV,KAAKpU,KAAOqc,EAAKpd,EAAKmV,KAAKpU,OAGpCoc,EAAMM,YAAYxd,KAAKkV,MAAM/M,QAAQhD,MAAK,SAAUsY,GAChD,IAAIC,EAAY,GAChB3d,EAAK0d,IAAMA,EACX1d,EAAK4d,aAAe,GACpB5d,EAAK6d,cAAgBte,EAAEgB,WAEvBmd,EAAII,UAAU1Y,MAAK,SAAUrE,GACzB,IAAIgd,EAAO,IAAIC,KAAK,CAACjd,GAAO,CAAEJ,KAAM,oBACpCX,EAAK6d,cAAc5c,QAAQ,CACvBkU,KAAM4I,OAId,IAAK,IAAItY,EAAI,EAAGA,GAAKiY,EAAIO,SAAUxY,IAC/BzF,EAAK4d,aAAa7C,KAAK2C,EAAIQ,QAAQzY,IAGvCyV,QAAQC,IAAInb,EAAK4d,cAAcxY,MAAK,SAAUwY,GAC1CD,EAAYC,EAAa3L,KAAI,SAAUkM,GACnC,IAAIxV,EAAWwV,EAAYvV,YAAY,CAACJ,MAAO,EAAE,IACjD,MAAO,CACHtE,MAAOyE,EAASzE,MAChBC,OAAQwE,EAASxE,WAIzB7D,EAASW,QAAQ,CACbuB,MAAOkb,EAAIO,SACXnc,MAAO6b,OAEZ1U,OAAM,SAAU8E,GACf/N,EAAKD,OAAOuB,cAAc,CACtBF,MAAO2M,EAAEvM,QACTA,QAASf,EAASgB,mBAI3BwH,OAAM,SAAU8E,GACf,IAAIqQ,EAAgBrQ,EAAEjB,KAAKuR,SAAS,WAChCC,EAAeF,EAAgB3d,EAAS0V,SAAW1V,EAASgB,WAChEzB,EAAKD,OAAOuB,cAAc,CACtBF,MAAO2M,EAAEvM,QACTA,QAAS8c,IAETF,GACApe,EAAKD,OAAOwe,sBAIbje,GAzDIA,EAASW,WA2DxBS,cAAe,SAAUC,GACrB,OAAO1B,KAAK2d,aAAajc,EAAS,IAEtCO,aAAc,SAAUC,GACpB,IAAInC,EAAOC,KACXT,EAAMyF,GAAGC,SAASlF,EAAKD,OAAO8U,eAAe,GAE7C7U,EAAK6d,cAAcW,MAAK,SAAU/I,GAC9BjW,EAAMyF,GAAGC,SAASlF,EAAKD,OAAO8U,eAAe,GAE7C,IAAIS,EAAS,IAAIC,WACjBD,EAAOmJ,cAAchJ,EAAON,MAE5BG,EAAOE,OAAS,WACZhW,EAAMkf,OAAO,CACTC,QAASrJ,EAAOG,OAChBtT,SAAUA,EAAW,OACrByc,SAAU,WACN,OAAOtJ,EAAOG,eAMlCoJ,gBAAiB,SAAU1J,GACpBlV,KAAKyd,KAAOzd,KAAKyd,IAAIoB,aACpB7e,KAAKyd,IAAIoB,YAAYra,UAGzBxE,KAAKkV,KAAOA,GAEhBqI,cAAe,WACX,IAGIuB,EAHAhe,EAAOd,KAAKkV,KAAKpU,KACjBie,EAAY,iBACZ/c,EAASlB,GAAQA,EAAKkB,OAG1B,SAAKA,GAAUA,EAAS,IAAM,GAAK+c,EAAUC,KAAKle,MAIlDge,EAAYhe,EAAK+Z,QAAQ,MAEH,IAAfiE,GACHA,IAAc9c,EAAS,GACtB8c,IAAc9c,EAAS,GAA0B,MAArBlB,EAAKkB,EAAS,KAEnD4H,gBAAiB,SAAUJ,GACvB0T,EAAMtT,gBAAgBJ,MAI9B/J,EAAOF,EAAMoD,UAAUkH,MAAO,CAC1BhH,UAAWua,IAxInB,CA0IG5d,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,KAKlB+gB,KACA,SAAUnhB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,Y,qBCnO1BD,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCsgB,GACA,SAAUphB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBohB,KACA,SAAUrhB,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAACd,EAAoB,KAAMa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADhR,EAE7F,WA+BH,OA7BA,SAAWK,EAAGD,GACV,IAAII,EAASH,EAAEG,OACX4d,EAAW,WACX,IAAK7d,OAAO4f,SACZ,CACI,IAAIC,EAAU7f,OAAO6f,QAMrB,OAJIA,GAAWA,EAAQle,OACnBke,EAAQle,MAAM,qBAGX,EAKX,OAFA5B,MAAMoD,UAAUkH,MAAMyT,IAAM9d,OAAO4f,UAE5B,GAGX3f,EAAOF,MAAO,CACVoD,UAAW,CACPkH,MAAO,CACHyT,IAAK9d,OAAO4f,SACZ/B,SAAUA,MAvB1B,CA2BG7d,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,Q,qBC3GxBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCsgB,GACA,SAAUphB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBuhB,KACA,SAAUxhB,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAACd,EAAoB,KAAMa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADhR,EAE7F,WAqNH,OAnNA,SAAUK,EAAGD,GACT,IAAIK,EAAQH,MAAMG,MACdD,EAASH,EAAEG,OACX8f,EAAUC,MAAMD,QAEhBE,EAAY/f,EAAMD,OAAO,CACzBG,KAAM,SAASC,GACX,IAAIE,EAAOC,KAEXD,EAAKF,QAAUJ,EAAO,GAAIM,EAAKF,QAASA,GAExCE,EAAK2f,cAGT7f,QAAS,CACL8f,eAAgB,qBAChBC,UAAW,eAGfF,WAAY,WACR,IAAI3f,EAAOC,KAEXD,EAAK8f,QAAUN,EAAQxf,EAAKF,QAAQoO,QAAUlO,EAAKF,QAAQoO,OAAS,CAAClO,EAAKF,QAAQoO,QAClFlO,EAAK+f,UAAY,GACjB/f,EAAKggB,UAAY,EACjBhgB,EAAK2M,KAAO,GAEZ3M,EAAK8f,QAAQnF,SAAQ,SAAUzM,GAC3BlO,EAAKigB,mBAAmB/R,MAG5B,IAAK,IAAIzI,EAAI,EAAGA,EAAIzF,EAAK+f,UAAU9d,OAAQwD,IACvCzF,EAAKkgB,gBAAgBlgB,EAAK+f,UAAUta,KAI5Cwa,mBAAoB,SAAUE,GAC1B,IAAIngB,EAAOC,KAEX,GAAqB,IAAlBkgB,EAAKC,SACJpgB,EAAK+f,UAAUhF,KAAKoF,QAEpB,IAAK,IAAI1a,EAAI,EAAGA,EAAI0a,EAAKE,WAAWpe,OAAQwD,IACxCzF,EAAKigB,mBAAmBE,EAAKE,WAAW5a,KAKpDya,gBAAiB,SAAUC,GACvB,IAEIG,EAFAtgB,EAAOC,KACP0M,EAAOwT,EAAK7W,YAGhBtJ,EAAK2M,KAAO3M,EAAK2M,KAAOA,EAErBA,EAAK1K,OAAS,IACbqe,EAAO/gB,EAAE4gB,GAAMI,KAAK,UAAUC,SAC9BF,EAAKG,QACLzgB,EAAK0gB,WAAWJ,EAAKtY,IAAI,GAAI2E,GAC7B2T,EAAKlS,WAAWuS,WAIxBD,WAAY,SAAUJ,EAAM3T,GAIxB,IAHA,IAAI3M,EAAOC,KACP2gB,EAAU,GAELnb,EAAI,EAAGA,EAAIkH,EAAK1K,OAAQwD,IAC7Bmb,EAAUA,EAAU,gBAAiB5gB,EAAKF,QAAQ+f,UAAY,KAAOrgB,MAAMwE,KAAK,cAAgB,IAAMhE,EAAKggB,UAAY,IAAMrT,EAAKlH,GAAK,UACvIzF,EAAKggB,YAGTM,EAAKO,UAAYD,GAGrB3T,OAAQ,SAAUgB,EAAO2K,GACrB,IAEI9H,EAFA9Q,EAAOC,KACP6gB,EAAa,IAAIC,OAAO9S,EAAQ2K,EAAmB,IAAP,MAShD,GANA5Y,EAAK8Y,QAAU,GAEf9Y,EAAKghB,YACLhhB,EAAKihB,iBACLjhB,EAAKkhB,kBAEQ,KAAVjT,EAAH,CAIA6C,EAAQgQ,EAAWrN,KAAKzT,EAAK2M,MAE7B,MAAMmE,EACF9Q,EAAK8Y,QAAQiC,KAAK,CACdoG,YAAarQ,EAAMvC,MACnB6S,UAAWtQ,EAAMvC,MAAQuC,EAAM,GAAG7O,SAGtC6O,EAAQgQ,EAAWrN,KAAKzT,EAAK2M,MAGjC3M,EAAKqhB,eACLrhB,EAAKshB,SAGTD,aAAc,WACV,IAAIrhB,EAAOC,KAEXD,EAAK8Y,QAAQ6B,SAAQ,SAAU7J,EAAOvC,GAClC,IAAIgT,EAAQzQ,EAAMqQ,YACdK,EAAM1Q,EAAMsQ,UAEhBphB,EAAKyhB,UAAUF,EAAOC,EAAKjT,EAAQ,OAI3CkT,UAAW,SAAUF,EAAOC,EAAKE,GAG7B,IAFA,IAAI1hB,EAAOC,KAEFwF,EAAI8b,EAAO9b,EAAI+b,EAAK/b,IACzBlG,EAAES,EAAK8f,SACFzR,KAAK,IAAMrO,EAAKF,QAAQ+f,UAAY,IAAMrgB,MAAMwE,KAAK,cAAiB,IAAMyB,EAAI,KAChFgM,SAASzR,EAAKF,QAAQ8f,gBACtB5b,KAAKxE,MAAMwE,KAAK,eAAgB0d,IAI7CT,eAAgB,WACZ,IAAIjhB,EAAOC,KAEXV,EAAES,EAAK8f,SACFzR,KAAK,IAAMrO,EAAKF,QAAQ8f,gBACxB+B,YAAY3hB,EAAKF,QAAQ8f,iBAGlCsB,gBAAiB,WACb,IAAIlhB,EAAOC,KAEXV,EAAES,EAAK8f,SACFzR,KAAK,IAAMrO,EAAKF,QAAQ+f,UAAY,IAAMrgB,MAAMwE,KAAK,eAAkB,KACvE4d,WAAWpiB,MAAMwE,KAAK,iBAG/Bsd,KAAM,WACF,IAAIthB,EAAOC,KAEPD,EAAK6hB,cAAsC,IAAtB7hB,EAAK6hB,aAEnB7hB,EAAK6hB,aAAe7hB,EAAK8Y,QAAQ7W,OACxCjC,EAAK6hB,aAAe7hB,EAAK8Y,QAAQ7W,OAEjCjC,EAAKghB,YAJLhhB,EAAK6hB,aAAe,EAOxBtiB,EAAES,EAAK8f,SACFzR,KAAK,IAAMrO,EAAKF,QAAQ+f,UAAY,IAAMrgB,MAAMwE,KAAK,eAAkB,IAAMhE,EAAK6hB,aAAe,KACjGC,UAAU,WAGnBd,UAAW,WACP,IAAIhhB,EAAOC,KACXV,EAAES,EAAK8f,SAASzR,KAAK,QAAQ0T,WAAWpB,UAG5C5H,UAAW,WACP,IAAI/Y,EAAOC,KAEXD,EAAK6hB,eAEF7hB,EAAK6hB,aAAe7hB,EAAK8Y,QAAQ7W,SAChCjC,EAAK6hB,aAAe,GAGxB7hB,EAAKshB,QAGTtI,cAAe,WACX,IAAIhZ,EAAOC,KAEXD,EAAK6hB,eAEF7hB,EAAK6hB,aAAe,IACnB7hB,EAAK6hB,aAAe7hB,EAAK8Y,QAAQ7W,QAGrCjC,EAAKshB,QAGTpI,eAAgB,WACZ,OAAOjZ,KAAK6Y,QAAQ7W,OAAShC,KAAK4hB,aAAe,GAGrDxI,eAAgB,WACZ,OAAO9Z,EAAEU,KAAK6f,SAASzR,KAAK,QAAQ2T,GAAG,IAG3Cvd,QAAS,WACL,IAAIzE,EAAOC,KAEXD,EAAKghB,YACLzhB,EAAES,EAAK8f,SAAS1R,SAAS,aAAepO,EAAKF,QAAQ+f,UAAY,KAAKoC,MAAK,SAASxc,EAAGyc,GACnF3iB,EAAE2iB,GAAMvV,KAAKpN,EAAE2iB,GAAMvV,cAKjCjN,EAAOF,MAAMoD,UAAW,CACpB8c,UAAWA,IA/MnB,CAiNGjgB,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB,Q,qBCjSxBJ,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCsjB,IACA,SAAUpkB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBokB,IACA,SAAUrkB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpBqkB,KACA,SAAUtkB,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACzGH,EAA+B,CAACd,EAAoB,MAAOA,EAAoB,KAAMA,EAAoB,MAAOA,EAAoB,MAAOA,EAAoB,MAAOa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IAD1X,EAE7F,WA+NH,OA7NA,SAAUK,EAAGD,GACT,IAAIE,EAAQC,OAAOD,MACfE,EAASH,EAAEG,OACXC,EAAQH,EAAMG,MACd2iB,EAAa,CACTC,IAAK,OACLC,IAAK,QAET9T,EAAOlP,EAAMkP,KAEb+T,EAAc9iB,EAAMD,OAAO,CAC3BG,KAAM,SAAUC,GACZG,KAAKH,QAAUJ,EAAOI,EAAS,CAC3B4iB,QAAS,CAAC,CACN/V,KAAM7M,EAAQW,SAASoW,QAAQ8L,WAGvC1iB,KAAK2iB,QAAUrjB,EAAE,WACRsjB,YAAY5iB,KAAKH,SACjBgjB,kBAEb5V,KAAM,WACFjN,KAAK2iB,QAAQG,SAAS7V,UAI1B4J,EAAiBnX,EAAMD,OAAO,CAC9BG,KAAM,SAAUC,GAeZ,OAdAG,KAAKH,QAAUJ,EAAOI,EAASG,KAAKH,QAAS,CACzCkjB,YAAa,CAAC,CACVC,YAAanjB,EAAQW,SAASoW,QAAQqM,eAAeV,IACrDpN,UAAWkN,EAAWE,KACvB,CACCS,YAAanjB,EAAQW,SAASoW,QAAQqM,eAAeX,IACrDnN,UAAWkN,EAAWC,MAE1BtM,MAAOnW,EAAQW,SAASoW,QAAQqM,eAAejN,MAC/C/I,KAAM,WACFjN,KAAK8iB,YAGb9iB,KAAKkjB,oBACEljB,MAEXH,QAAS,CACLsV,UAAWkN,EAAWE,IACtBY,WAAW,EACXC,WAAW,EACXC,MAAO,CACHC,eAAe,GAEnBrf,MAAO,MACPsf,SAAU,IACV7X,SACI,25BAsBR6K,aAAc,SAAU1W,GAChBA,EAAQ2W,YACRxW,KAAKyW,UAAUuC,IAAI,aAAcnZ,EAAQ2W,YAEzC3W,EAAQ8B,MACR3B,KAAKyW,UAAUuC,IAAI,OAAQnZ,EAAQ8B,OAG3CuhB,kBAAmB,WACf,IAAInjB,EAAOC,KACPH,EAAUE,EAAKF,QACf2jB,EAAiB3jB,EAAQW,SAASoW,QAClCR,EAAS9W,EAAE,yEACNwG,OAAOvG,EAAMmM,SAAS7L,EAAQ6L,SAAvBnM,CAAiC,CACrCgD,MAAO1C,EAAQ2W,WACfhW,SAAUgjB,KAEbC,YAAY5jB,GACZ6jB,iBAkBT,OAhBA3jB,EAAK0W,UAAYlX,EAAMokB,WAAW,CAC9B3N,MAAOwN,EAAeP,eAAejN,MACrCnJ,KAAM2W,EAAeP,eAAehN,gBACpCd,UAAWtV,EAAQsV,UACnB4N,YAAaljB,EAAQkjB,YACrBvM,WAAY3W,EAAQ2W,WACpB7U,KAAM,EACNvC,MAAOW,EAAKX,MAAMuQ,KAAK3P,MACvBuH,MAAO,WACH6O,EAAO7O,WAIfxH,EAAK4iB,QAAUvM,EAEf7W,EAAMoQ,KAAKyG,EAAOtS,QAAS/D,EAAK0W,WACzBL,GAEXnJ,KAAM,WACFjN,KAAK2iB,QAAQG,SAAS7V,QAE1B7N,MAAO,WACHY,KAAK2iB,QAAQpb,QACbvH,KAAKH,QAAQT,MAAM,CACf8C,SAAUlC,KAAKyW,UAAU5J,KAAO7M,KAAKyW,UAAUtB,UAC/CA,UAAWnV,KAAKyW,UAAUtB,UAC1BxT,KAAM3B,KAAKyW,UAAU9U,UAK7BwV,EAAezX,EAAMD,OAAO,CAC5BG,KAAM,SAAUC,GACZ,IAAIE,EAAOC,KACXD,EAAKF,QAAUJ,EAAO,GAAII,EAASE,EAAKF,UAE5CA,QAAS,CACLujB,WAAW,EACX1X,SAAU,qzCAYduB,KAAM,WACF,IAAIlN,EAAOC,KAEPD,EAAKqW,QACLrW,EAAKmjB,oBAGTnjB,EAAKqW,OAAOnJ,QAEhBiW,kBAAmB,WACf,IAAInjB,EAAOC,KACP0L,EAAWnM,EAAMmM,SAAS3L,EAAKF,QAAQ6L,UACvCkY,EAAYtkB,EAAE,kDAAkDwG,OAAO4F,EAAS,CAChFlL,SAAUT,EAAKF,QAAQW,YAEvBqjB,EAAe,CACfxM,IAAKtX,EAAKF,QAAQuX,SAASC,IAAM,GACjCE,KAAMxX,EAAKF,QAAQuX,SAASG,KAAO,IAGvCxX,EAAKqW,OAAS,IAAI7W,EAAMyF,GAAG8e,OAAOF,EAAWnkB,EAAO,GAAIM,EAAKF,QAAS,CAClEsjB,WAAW,EACXnN,OAAO,EACPoB,SAAU,CAAEC,IAAKwM,EAAaxM,IAAKE,KAAMsM,EAAatM,MACtDwM,UAAW,GACXC,UAAW,CACPC,WAAY,+BAEhBC,SAAU,SAAU1L,GAChBA,EAAG7H,OAAO7M,QAAQsK,KAAK,0BAA0BrJ,QAAQ,aAIjEhF,EAAKqY,YAAc7Y,EAAMokB,WAAW,CAChCQ,WAAY,GACZvL,WAAY,GACZD,WAAW,EACX8I,WAAY,EACZ5I,QAAS,EACTuL,eAAgB,WACZpkB,KAAKgZ,IAAI,aAAchZ,KAAK2Y,YAEhClB,KAAM1X,EAAKF,QAAQ4X,KACnBE,KAAM5X,EAAKF,QAAQ8X,KACnBpQ,MAAO,WACHvH,KAAKgZ,IAAI,aAAc,IACvBjZ,EAAKqW,OAAO7O,SAEhB8c,QAAS,SAAU7L,GACf,IAAIpH,EAAMoH,EAAGtK,QACToW,EAAe9L,EAAGhK,SAAWxO,KAAK2X,KAAO3X,KAAKyX,KAE/CrG,IAAQ3C,EAAK4C,QACZiT,IACA9L,EAAG5J,mBAGX2V,QAAS,SAAU/L,GACfxY,KAAKgZ,IAAI,aAAcR,EAAGvK,OAAOD,UAIzCzO,EAAMoQ,KAAK5P,EAAKqW,OAAOtS,QAAS/D,EAAKqY,gBAI7C3Y,EAAOF,EAAMoD,UAAW,CACpBiU,QAAS,CACL4L,YAAaA,EACb3L,eAAgBA,EAChBM,aAAcA,KAxN1B,CA2NG3X,OAAOD,MAAMuD,QAETtD,OAAOD,QACXrB,EAAoB,KAIlBsmB,KACA,SAAU1mB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpB0mB,KACA,SAAU3mB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpB2mB,KACA,SAAU5mB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,Y,qBCtU1BD,EAAOC,QACE,SAAUC,GAET,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUJ,QAGnC,IAAID,EAASG,EAAiBE,GAAY,CACzCJ,QAAS,GACTK,GAAID,EACJE,QAAQ,GAUT,OANAL,EAAQG,GAAUG,KAAKR,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAG/DJ,EAAOO,QAAS,EAGTP,EAAOC,QAcf,OATAG,EAAoBK,EAAIP,EAGxBE,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,GAGjBP,EAAoB,GAvC5B,CA0CC,CAEJQ,EACA,SAAUZ,EAAQC,EAASG,GAEhCA,EAAoB,MACpBJ,EAAOC,QAAUG,EAAoB,OAKhCS,EACA,SAAUb,EAAQC,GAEvBD,EAAOC,QAAU,WAAa,MAAM,IAAIa,MAAM,oCAKzCsgB,GACA,SAAUphB,EAAQC,GAEvBD,EAAOC,QAAU,EAAQ,SAIpB4mB,KACA,SAAU7mB,EAAQC,EAASG,GAEhC,IAAIa,EAAgCC,EAA8BC,GAA8B,SAAUC,EAAGC,GACvGH,EAA+B,CAACd,EAAoB,KAAMa,EAAiC,EAAKE,EAA2E,oBAAnCF,EAAiDA,EAA+BK,MAAMrB,EAASiB,GAAiCD,OAAmEM,IAAlCJ,IAAgDnB,EAAOC,QAAUkB,IADhR,EAE7F,WAmQH,OAjQA,SAAUK,EAAGD,GACT,IAAIulB,EAAK,kBACLC,EAAStlB,MAAMyF,GAAG6f,OAClBra,EAAS,SACTJ,EAAU,UACVC,EAAQ9K,MAAM+K,QAAQC,MACtBua,EAAc,IACdC,EAAYxlB,MAAMwE,KAClBkG,EAAQ3K,EAAE2K,MACVxK,EAASH,EAAEG,OACXulB,EAAM,IACNC,EAAgB,gBAEhBC,EAAc,CACdC,aAAc,eACdC,UAAW,qBACXC,SAAU,sBACVC,SAAU,oBACVC,SAAU,qBACVC,MAAO,gBACPC,KAAM,eACNC,IAAK,cACLC,SAAU,oBAGVpY,EAAQsX,EAAOplB,OAAO,CACtBG,KAAM,SAASkE,EAASjE,GACpB,IAAIE,EAAOC,KAEX6kB,EAAO7c,GAAGpI,KAAKtB,KAAKyB,EAAM+D,EAASjE,GAEnCE,EAAK6lB,aAAermB,MAAMmM,SAAS3L,EAAKF,QAAQ+lB,cAEhD7lB,EAAK+D,QAAQ0N,SAAS0T,EAAYC,cAElCplB,EAAK8lB,eACL9lB,EAAK+lB,uBACL/lB,EAAKgmB,iBAGTlmB,QAAS,CACL+lB,aAAc,6LACdI,cAAc,EACdC,OAAO,EACPtkB,KAAM,EACNY,MAAO,EACP/B,SAAU,IAGduR,OAAQ,CACJvH,GAGJ0b,WAAY,SAAUhX,EAAWxC,EAAMyZ,EAASC,GAC5C,OAAOpmB,KAAK4lB,aAAa,CACrB1W,UAAWA,EACXxC,KAAMA,EACN0Z,UAAWA,GAAa,GACxBD,QAASA,KAIjBN,aAAc,WAEV,IAAI9lB,EAAOC,KACPH,EAAUE,EAAKF,QAEfA,EAAQmmB,eACRjmB,EAAKsmB,UAAY/mB,EAAES,EAAKmmB,WAAWhB,EAAYE,UAAWvlB,EAAQW,SAASglB,MAAO,EAAGN,EAAYM,QACjGzlB,EAAKumB,SAAWhnB,EAAES,EAAKmmB,WAAWhB,EAAYI,SAAUzlB,EAAQW,SAAS+lB,SAAU1mB,EAAQ8B,KAAO,IAClG5B,EAAKymB,SAAWlnB,EAAES,EAAKmmB,WAAWhB,EAAYK,SAAU1lB,EAAQW,SAASiX,KAAM5X,EAAQ8B,KAAO,IAC9F5B,EAAK0mB,SAAWnnB,EAAES,EAAKmmB,WAAWhB,EAAYG,SAAUxlB,EAAQW,SAASilB,KAAM5lB,EAAQ0C,MAAO2iB,EAAYO,QAG9G1lB,EAAK+D,QAAQgC,OAAO/F,EAAKsmB,WACzBtmB,EAAK+D,QAAQgC,OAAO/F,EAAKumB,UAErBzmB,EAAQomB,OACRlmB,EAAK2mB,eAGT3mB,EAAK+D,QAAQgC,OAAO/F,EAAKymB,UACzBzmB,EAAK+D,QAAQgC,OAAO/F,EAAK0mB,WAI7BX,qBAAsB,WAClB,IAAI/lB,EAAOC,KACPH,EAAUE,EAAKF,QACf0C,GAAS1C,EAAQ0C,MAEjBxC,EAAKymB,UAAYzmB,EAAKumB,WACtBvmB,EAAKumB,SAAShV,YAAY4T,EAAYS,SAAUpjB,GAA0B,IAAjB1C,EAAQ8B,MACjE5B,EAAKymB,SAASlV,YAAY4T,EAAYS,SAAUpjB,GAAS1C,EAAQ8B,OAAS9B,EAAQ0C,OAClFxC,EAAK0mB,SAASnV,YAAY4T,EAAYS,SAAUpjB,GAAS1C,EAAQ8B,OAAS9B,EAAQ0C,OAClFxC,EAAKsmB,UAAU/U,YAAY4T,EAAYS,SAASpjB,GAA0B,IAAjB1C,EAAQ8B,MAEjE5B,EAAKumB,SAASviB,KAAKkhB,EAAe1iB,GAA0B,IAAjB1C,EAAQ8B,MACnD5B,EAAKsmB,UAAUtiB,KAAKkhB,EAAe1iB,GAA0B,IAAjB1C,EAAQ8B,MAEpD5B,EAAKymB,SAASziB,KAAKkhB,EAAeplB,EAAQ8B,OAAS9B,EAAQ0C,OAC3DxC,EAAK0mB,SAAS1iB,KAAKkhB,EAAeplB,EAAQ8B,OAAS9B,EAAQ0C,QAG3DxC,EAAKkmB,QACLlmB,EAAKkmB,MAAM3U,YAAY4T,EAAYS,SAAU9lB,EAAQ0C,OAAS,GAC9DxC,EAAKkmB,MAAMliB,KAAKkhB,EAAeplB,EAAQ0C,OAAS,KAIxDwjB,cAAe,WACX,IAAIhmB,EAAOC,KAEXD,EAAK+D,QAAQ4J,GAAGrD,EAAQua,EAAII,EAAME,EAAYQ,IAAKzb,EAAMlK,EAAK0P,OAAQ1P,IACtEA,EAAK+D,QAAQ4J,GAAGtD,EAAUwa,EAAII,EAAME,EAAYQ,KAAK,SAAU5X,GACvDA,EAAEI,UAAY3O,MAAMkP,KAAK4C,QAEzBtR,EAAK0P,OAAO3B,GACZA,EAAEc,qBAIN7O,EAAKkmB,OACLlmB,EAAKkmB,MAAMvY,GAAGtD,EAAUwa,EAAI3a,EAAMlK,EAAK4N,SAAU5N,KAIzD0P,OAAQ,SAAU3B,GACd,IAAIG,EAAS3O,EAAEwO,EAAE6Y,eACbhlB,EAAOmP,SAAS7C,EAAOlK,KAAKghB,EAAU,SAAU,IAEhDjX,EAAE8Y,sBAIN5mB,KAAKyN,QAAQ9L,IAGjBgM,SAAU,SAAUG,GAChB,IAAIsD,EAAMtD,EAAEI,QACRO,EAAOlP,MAAMkP,KACbwX,EAAQ3mB,EAAEwO,EAAEG,QACZtM,EAAOmP,SAASmV,EAAMY,MAAO,IAC7BC,EAAS1V,IAAQ3C,EAAKsY,IAAM3V,IAAQ3C,EAAKuY,KACzCC,EAAc7V,IAAQ3C,EAAKyY,OAAS9V,IAAQ3C,EAAK0Y,MACjC/V,IAAQ3C,EAAK2Y,WAAahW,IAAQ3C,EAAK4Y,OACvD9Y,EAAYuY,GAAU1V,IAAQ3C,EAAKsY,GAAK,GAAK,EAMjD,GAJID,IACAnlB,GAAQ4M,GAGR6C,IAAQ3C,EAAK4C,OAASyV,EAAQ,CAC9B,GAAIQ,MAAM3lB,IAASA,EAAO,GAAKA,EAAO3B,KAAKH,QAAQ0C,MAG/C,OAFAZ,EAAO3B,KAAKH,QAAQ8B,UACpBskB,EAAMY,IAAIllB,GAGd3B,KAAKyN,QAAQ9L,GACbmM,EAAEc,sBACMd,EAAEsD,IAAIP,MAAM,UAAaoW,GACjCnZ,EAAEc,kBAKVnB,QAAS,SAAU9L,GACf,IAAI5B,EAAOC,KAEP2B,GAAQ,GAAKA,GAAQ5B,EAAKF,QAAQ0C,QAClCxC,EAAKF,QAAQ8B,KAAOA,EAChB5B,EAAKkmB,OACLlmB,EAAKkmB,MAAMY,IAAIllB,GAEnB5B,EAAKumB,SAASviB,KAAKghB,EAAU,QAASpjB,EAAO,GAC7C5B,EAAKymB,SAASziB,KAAKghB,EAAU,QAASpjB,EAAO,GAC7C5B,EAAK+lB,wBAGT/lB,EAAKgF,QAAQyF,EAAQ,CAAE7I,KAAMA,KAGjC+Q,WAAY,SAAU7S,GAClB,IAAIE,EAAOC,KACPunB,EAAYxnB,EAAKF,QAAQ0C,MAE7B1C,EAAUP,EAAEG,OAAOM,EAAKF,QAASA,GAEjCglB,EAAO7c,GAAG0K,WAAWpU,KAAKyB,EAAMF,GAE5BA,EAAQomB,QACJsB,GAAa1nB,EAAQ0C,OACrBxC,EAAK2mB,eACL3mB,EAAKkmB,MACIvY,GAAGtD,EAAUwa,EAAI3a,EAAMlK,EAAK4N,SAAU5N,KAG/CA,EAAKkmB,MAAMY,IAAIhnB,EAAQ0C,MAAQ,EAAI1C,EAAQ8B,KAAO,IAItD9B,EAAQ0C,MAAQ,IAChBxC,EAAKumB,SAASviB,KAAKghB,EAAU,QAASllB,EAAQ8B,KAAO,GACrD5B,EAAKymB,SAASziB,KAAKghB,EAAU,QAASllB,EAAQ8B,KAAO,GACrD5B,EAAK0mB,SAAS1iB,KAAKghB,EAAU,QAASllB,EAAQ0C,QAGlDxC,EAAK+lB,wBAGTY,aAAc,WACV,IACIc,EAGAC,EAJA1nB,EAAOC,KAEPH,EAAUE,EAAKF,QACf6nB,EAAe3nB,EAAK+D,QAAQyc,SAAStc,SAAW6gB,EAEhD6C,EAAiB5nB,EAAK+D,QAAQsK,KAAK,kBAEnCrO,EAAKkmB,OACLlmB,EAAKkmB,MAAM2B,IAAIhD,GAGnB4C,EAAe3nB,EAAQ0C,MAAQ,EAAIhD,MAAMsoB,OAAOhoB,EAAQW,SAASsnB,GAAIjoB,EAAQ0C,OAAS,GAEjFmlB,IACDF,GAAgB3nB,EAAQ0C,MAAQ,EAAI1C,EAAQW,SAASqB,MAAQhC,EAAQW,SAASmB,MAGlF8lB,EAAgB,wCAA0C5nB,EAAQ8B,KAAO6lB,EAAiB,KAAOA,EAE7FG,EAAe3lB,OACf2lB,EAAepe,KAAKke,GAEpB1nB,EAAK+D,QAAQgC,OAAO,uCAAyC2hB,EAAe,WAGhF1nB,EAAKkmB,MAAQlmB,EAAK+D,QACGsK,KAAK,SACLyY,IAAIhnB,EAAQ0C,MAAQ,EAAI1C,EAAQ8B,KAAO,IAGhE6C,QAAS,WACLxE,KAAK8D,QAAQ8jB,IAAIhD,GAEb5kB,KAAKimB,OACLjmB,KAAKimB,MAAM2B,IAAIhD,GAEnBC,EAAO7c,GAAGxD,QAAQlG,KAAK0B,SAK/BP,EAAOF,MAAMoD,UAAW,CACpB4K,MAAOA,IA7Pf,CA+PG/N,OAAOD,MAAMuD,QAETtD,OAAOD,QAEXrB,EAAoB","file":"js/chunk-vendors~b4d583bd.ac5791dd.js","sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1620);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 895:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../../kendo.core\");\n\n/***/ }),\n\n/***/ 1620:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(895)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\tvar __meta__ = { // jshint ignore:line\n\t id: \"dpl-processor\",\n\t name: \"DPL-Processor\",\n\t category: \"framework\",\n\t depends: [ \"core\" ]\n\t};\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t extend = $.extend,\n\t Class = kendo.Class;\n\n\t var DPLProcessor = Class.extend({\n\t init: function(options, viewer) {\n\t var that = this;\n\n\t that.options = options;\n\t that.read = options.read;\n\t that.upload = options.upload;\n\t that.download = options.download;\n\n\t that.viewer = viewer;\n\t },\n\t fetchDocument: function () {\n\t var that = this,\n\t deferred = $.Deferred(),\n\t errorMessages = that.viewer.options.messages.errorMessages;\n\n\t if (!that.read) {\n\t return deferred.resolve();\n\t }\n\n\t $.ajax({\n\t type: that.read.type,\n\t url: that.read.url,\n\t dataType: that.read.dataType,\n\t success: function (data) {\n\t if (typeof data != \"string\") {\n\t data = kendo.stringify(data);\n\t }\n\t deferred.resolve(JSON.parse(data));\n\t },\n\t error: function (xhr) {\n\t that.viewer._triggerError({\n\t error: xhr.responseText,\n\t message: errorMessages.parseError\n\t });\n\t }\n\t });\n\n\t return deferred;\n\t },\n\t fetchPageData: function (number) {\n\t var that = this;\n\t var deferred = $.Deferred();\n\t var page = that.viewer.document.pages[number - 1];\n\t var data = {};\n\t data[that.read.pageField] = number;\n\n\t if (!page.geometries.length) {\n\t $.ajax({\n\t type: that.read.type,\n\t url: that.read.url,\n\t data: data,\n\t success: function (data) {\n\t deferred.resolve(JSON.parse(data));\n\t },\n\t error: function (xhr) {\n\t that.viewer._triggerError({\n\t error: xhr.responseText,\n\t message: that.viewer.options.messages.errorMessages.parseError\n\t });\n\t }\n\t });\n\t } else {\n\t deferred.resolve(page);\n\t }\n\n\t return deferred;\n\t },\n\t downloadFile: function (fileName) {\n\t window.location = this.download.url + \"?file=\" + fileName;\n\t },\n\n\t fromJSON: function (json)\n\t {\n\t var viewer = this.viewer;\n\t viewer._clearPages();\n\n\t viewer.document = json;\n\t viewer.document.total = viewer.document.pages.length;\n\n\t viewer._renderPages();\n\t viewer.resize(true);\n\n\t viewer.activatePage(1);\n\t }\n\t });\n\n\t extend(kendo.pdfviewer, {\n\t dpl: {\n\t processor: DPLProcessor\n\t }\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1617);\n\tmodule.exports = __webpack_require__(1617);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1608:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.drawing\");\n\n/***/ }),\n\n/***/ 1617:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1608)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var extend = $.extend,\n\t noop = $.noop,\n\t drawing = kendo.drawing,\n\t Group = drawing.Group,\n\t Surface = drawing.Surface,\n\t RENDER = \"render\",\n\t Class = kendo.Class;\n\n\t var geometryTypes = {\n\t Path: \"path\",\n\t MultiPath: \"multipath\",\n\t Rect: \"rect\",\n\t Image: \"image\",\n\t Text: \"text\"\n\t };\n\n\t var Page = Class.extend({\n\t init: function (options, viewer) {\n\t this.viewer = viewer;\n\t this.processor = options.processor;\n\t this.options = options;\n\t this.pageNumber = options.number;\n\n\t this.element = $(\"
\");\n\t this.element.attr(kendo.attr(\"number\"), this.pageNumber);\n\n\t this._updatePageSize(options);\n\t this.width = options.width;\n\t this.height = options.height;\n\t },\n\t resize: function (ratio) {\n\t var pageElement = this.element;\n\n\t this._updatePageSize({\n\t width: Math.min(pageElement.width() * ratio, this.width),\n\t height: Math.min(pageElement.height() * ratio, this.height)\n\t });\n\t },\n\t _updatePageSize: function (size) {\n\t this.element\n\t .width(size.width)\n\t .height(size.height);\n\t },\n\t destroy: function () {\n\t kendo.destroy(this.element);\n\t },\n\t render: noop\n\t });\n\n\t var DPLPage = Page.extend({\n\t draw: function () {\n\t var that = this,\n\t geometries = that.options.geometries;\n\n\t that.group = new Group();\n\t that.surface.draw(that.group);\n\n\t that._drawGeometries(geometries);\n\n\t that.viewer.trigger(RENDER, { page: this });\n\t kendo.ui.progress(that.element, false);\n\t },\n\t load: function () {\n\t var that = this;\n\n\t if (that.loaded || !that.processor)\n\t {\n\t return;\n\t }\n\n\t that.processor.fetchPageData(that.pageNumber).then(function (data) {\n\t that.options = data;\n\t that._initSurface();\n\t that.draw();\n\t });\n\n\t that.loaded = true;\n\t },\n\t _initSurface: function () {\n\t var size = {\n\t width: this.element.width(),\n\t height: this.element.height()\n\t };\n\t var surfaceOptions = extend({ width: this.width, height: this.height }, this.viewer.options.view);\n\t this.surface = new Surface(this.element, surfaceOptions);\n\t this._updatePageSize(size);\n\t },\n\t _drawGeometries: function (geometries) {\n\t var that = this,\n\t kGeometry;\n\n\t if (!geometries) {\n\t return;\n\t }\n\n\t for (var i = 0; i <= geometries.length; i++) {\n\t var geometry = geometries[i];\n\n\t if (!geometry) {\n\t continue;\n\t }\n\n\t switch (geometry.type) {\n\t case geometryTypes.Path:\n\t case geometryTypes.MultiPath:\n\t kGeometry = that._drawPath(geometry);\n\t break;\n\t case geometryTypes.Rect:\n\t kGeometry = that._drawRect(geometry);\n\t break;\n\t case geometryTypes.Image:\n\t kGeometry = that._drawImage(geometry);\n\t break;\n\t case geometryTypes.Text:\n\t kGeometry = that._drawText(geometry);\n\t break;\n\t default:\n\t kGeometry = null;\n\t break;\n\t }\n\n\t if (kGeometry)\n\t {\n\t that.group.append(kGeometry);\n\t }\n\t }\n\t },\n\t _drawRect: function (geometry)\n\t {\n\t var rectGeo = new kendo.geometry.Rect(geometry.point, geometry.size);\n\n\t return new drawing.Rect(rectGeo, {\n\t transform: this._getMatrix(geometry.transform),\n\t fill: geometry.fillOptions,\n\t stroke: geometry.strokeOptions\n\t });\n\t },\n\n\t _drawImage: function (geometry)\n\t {\n\t var imageRect = new kendo.geometry.Rect(geometry.point, geometry.size);\n\t return new drawing.Image(geometry.src, imageRect, {\n\t transform: this._getMatrix(geometry.transform)\n\t });\n\t },\n\n\t _drawText: function (geometry)\n\t {\n\t var options = {\n\t transform: this._getMatrix(geometry.transform),\n\t stroke: geometry.strokeOptions,\n\t fill: geometry.fillOptions,\n\t font: geometry.font\n\t };\n\t return new kendo.drawing.Text(geometry.content, geometry.point, options);\n\t },\n\n\t _drawPath: function (geometry)\n\t {\n\t var options = {\n\t transform: this._getMatrix(geometry.transform),\n\t stroke: geometry.strokeOptions,\n\t fill: geometry.fillOptions\n\t };\n\t var path = new drawing.MultiPath(options);\n\n\t for (var i = 0; i < geometry.paths.length; i++) {\n\t var subPath = geometry.paths[i];\n\n\t if (!subPath.segments)\n\t {\n\t return;\n\t }\n\n\t path.moveTo.apply(path, subPath.point);\n\n\t for (var j = 0; j < subPath.segments.length; j++) {\n\t var segment = subPath.segments[j];\n\t var drawAction = segment.points.length === 1 ? path.lineTo : path.curveTo;\n\t drawAction.apply(path, segment.points);\n\t }\n\n\t if (subPath.closed) {\n\t path.close();\n\t }\n\t }\n\n\t return path;\n\t },\n\n\t _getMatrix: function (transform) {\n\t var matrix = Object.create(kendo.geometry.Matrix.prototype);\n\t kendo.geometry.Matrix.apply(matrix, transform);\n\t return matrix;\n\t }\n\t });\n\n\t var PDFJSPage = Page.extend({\n\t init: function(options, viewer) {\n\t var that = this,\n\t canvas;\n\n\t canvas = $(\"\");\n\t that.canvas = canvas.get(0);\n\n\t Page.fn.init.call(that, options, viewer);\n\n\t that.canvas.width = that.width;\n\t that.canvas.height = that.height;\n\t that.element.append(canvas);\n\t },\n\t load: function (defaultScale, force) {\n\t var that = this,\n\t promise = $.Deferred();\n\n\t if (that._scale === defaultScale && !force)\n\t {\n\t return;\n\t } else if (that._scale && that._scale !== defaultScale && !force)\n\t {\n\t that._scale = defaultScale;\n\t that.render(defaultScale);\n\t return promise.resolve(that);\n\t }\n\n\t if (that.processor) {\n\t that.processor.fetchPageData(that.pageNumber).then(function (page) {\n\t that._page = page;\n\t that._renderPromise = that.render(defaultScale).then(function () {\n\t that.viewer.trigger(RENDER, { page: that });\n\t });\n\t promise.resolve(that);\n\t });\n\t }\n\n\t that._scale = defaultScale;\n\t that.loaded = true;\n\t return promise;\n\t },\n\t render: function (scale) {\n\t var that = this;\n\t var context = this.canvas.getContext('2d'),\n\t viewport = this._page.getViewport({\n\t scale: scale\n\t });\n\n\t this._scale = scale;\n\t this.canvas.width = viewport.width;\n\t this.canvas.height = viewport.height;\n\n\t if (this._renderTask)\n\t {\n\t this._renderTask.cancel();\n\t this._renderTask = null;\n\t }\n\n\t this._updatePageSize({\n\t width: viewport.width,\n\t height: viewport.height\n\t });\n\n\t this._renderTask = this._page.render({\n\t canvasContext: context,\n\t viewport: viewport\n\t });\n\n\t this._renderTextLayer(viewport);\n\n\t return this._renderTask.promise.then(function () {\n\t that._renderTask = null;\n\n\t }).catch(function () {}); // jshint ignore:line\n\t },\n\t _renderTextLayer: function (viewport) {\n\t var that = this;\n\t var page = that._page;\n\n\t if(that.textLayer) {\n\t that.textLayer.remove();\n\t }\n\n\t that.textLayer = $(\"
\").get(0);\n\t that.element.append(that.textLayer);\n\n\t page.getTextContent({\n\t normalizeWhitespace: true\n\t }).then(function(textContent){\n\t $(that.textLayer).css({\n\t height: viewport.height,\n\t width: viewport.width\n\t }).html(\"\"); // Clear content to make sure that refreshing the page will not cause duplication of the text content.\n\n\t var params = {\n\t textContent: textContent,\n\t container: that.textLayer,\n\t viewport: viewport,\n\t textDivs: [],\n\t enhanceTextSelection: true\n\t };\n\n\t that.processor.renderTextLayer(params);\n\t });\n\t }\n\t });\n\n\t extend(kendo.pdfviewer.dpl, {\n\t geometryTypes: geometryTypes,\n\t Page: DPLPage\n\t });\n\t extend(kendo.pdfviewer.pdfjs, {\n\t Page: PDFJSPage\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1624);\n\tmodule.exports = __webpack_require__(1624);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.combobox\");\n\n/***/ }),\n\n/***/ 1038:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.toolbar\");\n\n/***/ }),\n\n/***/ 1624:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1038), __webpack_require__(6), __webpack_require__(1625)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t extend = $.extend,\n\t proxy = $.proxy,\n\t ACTION = \"action\",\n\t FLATBUTTONCLASS = \"k-flat\",\n\t KEYDOWN = \"keydown\",\n\t CLICK = kendo.support.click,\n\t CHANGE = \"change\",\n\t ZOOMIN = \"zoomin\",\n\t ZOOMOUT = \"zoomout\",\n\t Item = kendo.toolbar.Item,\n\t ToolBar = kendo.ui.ToolBar,\n\t PREDEFINED_ZOOM_VALUES = {\n\t auto: \"auto\",\n\t actual: \"actual\",\n\t fitToWidth: \"fitToWidth\",\n\t fitToPage: \"fitToPage\"\n\t },\n\t styles = {\n\t zoomOutIcon: \"k-i-zoom-out\",\n\t zoomInIcon: \"k-i-zoom-in\",\n\t zoomButtons: \"k-button-icon k-flat\",\n\t zoomOverflowButtons: \"k-button-icontext k-overflow-button\",\n\t overflowHidden: \"k-overflow-hidden\"\n\t };\n\n\t var ZOOM_BUTTON_TEMPLATE = kendo.template(' ${showText ? text : \"\"}');\n\t var ZOOM_COMBOBOX_TEMPLATE = kendo.template('');\n\n\t var DefaultTools = {\n\t pager: {\n\t type: \"pager\",\n\t overflow: \"never\",\n\t command: \"PageChangeCommand\"\n\t },\n\t spacer: { type: \"spacer\" },\n\t zoom: {\n\t type: \"zoom\",\n\t command: \"ZoomCommand\",\n\t zoomInOut: true,\n\t combobox: { zoomLevels: [50, 100, 150, 200, 300, 400] },\n\t enable: false\n\t },\n\t toggleSelection: {\n\t type: \"buttonGroup\",\n\t attributes: { \"class\": \"k-toggle-selection-group\" },\n\t buttons: [\n\t {\n\t togglable: true,\n\t text: \"Enable Selection\",\n\t command: \"EnableSelectionCommand\",\n\t icon: \"cursor\",\n\t showText: \"overflow\",\n\t name: \"toggleSelection\",\n\t group: \"toggle-pan\"\n\t }, {\n\t togglable: true,\n\t text: \"Enable Panning\",\n\t command: \"EnablePanCommand\",\n\t icon: \"hand\",\n\t showText: \"overflow\",\n\t name: \"togglePan\",\n\t group: \"toggle-pan\",\n\t selected: true\n\t }\n\t ]\n\t },\n\t spacer2: { type: \"spacer\" },\n\t search: {\n\t type: \"button\",\n\t text: \"Search\",\n\t command: \"OpenSearchCommand\",\n\t icon: \"search\",\n\t name: \"search\",\n\t showText: \"overflow\",\n\t enable: false\n\t },\n\t open: {\n\t type: \"button\",\n\t text: \"Open\",\n\t showText: \"overflow\",\n\t name: \"open\",\n\t icon: \"folder-open\",\n\t command: \"OpenCommand\"\n\t },\n\t download: {\n\t type: \"button\",\n\t text: \"Download\",\n\t showText: \"overflow\",\n\t name: \"download\",\n\t icon: \"download\",\n\t command: \"DownloadCommand\",\n\t enable: false\n\t },\n\t print: {\n\t type: \"button\",\n\t text: \"Print\",\n\t showText: \"overflow\",\n\t name: \"print\",\n\t icon: \"print\",\n\t command: \"PrintCommand\",\n\t enable: false\n\t }\n\t };\n\n\t var AllTools = extend({}, DefaultTools, {\n\t exportAs: { type: \"button\", text: \"Export\", showText: \"overflow\", name: \"exportAs\", icon: \"image-export\", command: \"ExportCommand\" }\n\t });\n\n\t var ToolbarPager = Item.extend({\n\t init: function(options, toolbar) {\n\t var pagerElement = $(\"
\");\n\n\t this.options = extend(true, options, toolbar.options.pager);\n\n\t this.toolbar = toolbar;\n\n\t this.toolbar.pager = new kendo.pdfviewer.Pager(pagerElement, extend({}, options, {\n\t change: proxy(this._change, this)\n\t }));\n\n\t this.element = pagerElement;\n\t this.element.on(KEYDOWN, proxy(this._keydown, this));\n\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t },\n\t _change: function (e) {\n\t if (this.options.change && this.options.change(e.page))\n\t {\n\t return;\n\t }\n\n\t this.toolbar.action({\n\t command: \"PageChangeCommand\",\n\t options: {\n\t value: e.page\n\t }\n\t });\n\t },\n\t _keydown: function (e) {\n\t var that = this,\n\t target = $(e.target),\n\t keyCode = e.keyCode,\n\t children = that.element.find(\":kendoFocusable\"),\n\t targetIndex = children.index(target),\n\t direction = e.shiftKey ? -1 : 1;\n\n\t if (keyCode === kendo.keys.TAB && children[targetIndex + direction])\n\t {\n\t children[targetIndex + direction].focus();\n\t e.preventDefault();\n\t e.stopPropagation();\n\t }\n\t }\n\t });\n\n\t kendo.toolbar.registerComponent(\"pager\", ToolbarPager);\n\n\t function appendZoomButtons (element, messages, isOverflow) {\n\t var className = isOverflow ? styles.zoomOverflowButtons : styles.zoomButtons;\n\n\t element.append(ZOOM_BUTTON_TEMPLATE({\n\t text: messages.zoomOut,\n\t command: ZOOMOUT,\n\t iconClass: styles.zoomOutIcon,\n\t showText: isOverflow,\n\t className: className\n\t }));\n\t element.append(ZOOM_BUTTON_TEMPLATE({\n\t text: messages.zoomIn,\n\t command: ZOOMIN,\n\t iconClass: styles.zoomInIcon,\n\t showText: isOverflow,\n\t className: className\n\t }));\n\t }\n\n\t var ToolBarZoom = Item.extend({\n\t init: function(options, toolbar) {\n\t this._init(options, toolbar);\n\t this.toolbar.zoom = this;\n\n\t if (toolbar.options.scale)\n\t {\n\t this._initValue = toolbar.options.scale * 100 + \"%\";\n\t }\n\n\t this._appendElements();\n\n\t this._click = kendo.throttle(\n\t this._click.bind(this),\n\t 200\n\t );\n\t this._keydown = kendo.throttle(\n\t this._keydown.bind(this),\n\t 200\n\t );\n\n\t this.element.on(CLICK, \".k-button\", this._click);\n\t this.element.on(KEYDOWN, \".k-button\", this._keydown);\n\n\t this.attributes();\n\t this.addUidAttr();\n\t this.addOverflowAttr();\n\t this.enable(options.enable);\n\t },\n\n\t _init: function (options, toolbar) {\n\t var zoomElement = $(\"
\");\n\n\t this.options = extend(true, options, {\n\t messages: toolbar.options.messages.zoom\n\t });\n\n\t this.toolbar = toolbar;\n\t this.element = zoomElement;\n\t },\n\n\t _appendElements: function () {\n\t var options = this.options;\n\n\t if (options.zoomInOut) {\n\t appendZoomButtons(this.element, options.messages, false);\n\t }\n\n\t if (options.combobox) {\n\t this._buildComboBox();\n\t }\n\t },\n\n\t _buildComboBox: function () {\n\t var that = this,\n\t combobox,\n\t messages = that.options.messages,\n\t comboOptions = that.options.combobox,\n\t zoomLevels = [{\n\t percent: PREDEFINED_ZOOM_VALUES.auto,\n\t text: messages.autoWidth\n\t }, {\n\t percent: PREDEFINED_ZOOM_VALUES.actual,\n\t text: messages.actualWidth\n\t }, {\n\t percent: PREDEFINED_ZOOM_VALUES.fitToWidth,\n\t text: messages.fitToWidth\n\t }, {\n\t percent: PREDEFINED_ZOOM_VALUES.fitToPage,\n\t text: messages.fitToPage\n\t }];\n\n\t zoomLevels = zoomLevels.concat(comboOptions.zoomLevels);\n\n\t combobox = $(ZOOM_COMBOBOX_TEMPLATE({\n\t zoomLevels: zoomLevels,\n\t zoomLevel: messages.zoomLevel\n\t }));\n\n\t if (!kendo.support.mobileOS) {\n\t combobox = combobox.kendoComboBox(extend({\n\t autoWidth: true,\n\t clearButton: false,\n\t value: that._initValue\n\t }, comboOptions)).getKendoComboBox();\n\n\t that.element.append(combobox.wrapper);\n\t that.combobox = combobox;\n\t that._currentValue = combobox.value();\n\t } else {\n\t that.element.append(combobox);\n\t }\n\n\t combobox.bind(CHANGE, kendo.throttle(that.change.bind(that), 300));\n\t },\n\n\t change: function (e) {\n\t var value = e.sender ? e.sender.value() : e.target.value,\n\t parsedValue;\n\n\t if (value.toString().match(/^[0-9]+%?$/)) {\n\t parsedValue = parseInt(value.replace('%', ''), 10) / 100;\n\t } else if (!PREDEFINED_ZOOM_VALUES[value]){\n\t if (this.combobox)\n\t {\n\t this.combobox.value(this._currentValue);\n\t }\n\t e.preventDefault();\n\t return;\n\t }\n\n\t this._currentValue = value;\n\t this.toolbar.action({\n\t command: \"ZoomCommand\",\n\t options: {\n\t scale: parsedValue || value\n\t }\n\t });\n\t },\n\n\t _buttonCommand: function (target) {\n\t var button = $(target).closest(\".k-button\"),\n\t command = button.data(\"command\");\n\n\t this.toolbar.action({\n\t command: \"ZoomCommand\",\n\t options: {\n\t zoomIn: command === ZOOMIN,\n\t zoomOut: command === ZOOMOUT,\n\t updateComboBox: true\n\t }\n\t });\n\t },\n\n\t _click: function (e) {\n\t this._buttonCommand(e.target);\n\t },\n\n\t _keydown: function (e) {\n\t var key = e.keyCode,\n\t keys = kendo.keys;\n\n\t if (key === keys.ENTER) {\n\t this._buttonCommand(e.target);\n\t e.preventDefault();\n\t }\n\t },\n\n\t enable: function (value) {\n\t var element = this.element;\n\n\t element.find(\".k-button, select\").toggleClass(\"k-state-disabled\", !value);\n\n\t if (this.combobox) {\n\t this.combobox.enable(value);\n\t }\n\t },\n\n\t destroy: function(){\n\t if (this.combobox) {\n\t this.combobox.destroy();\n\t }\n\t }\n\t });\n\n\t var ToolBarOverflowZoom = ToolBarZoom.extend({\n\t _init: function (options, toolbar) {\n\t var zoomElement = $(\"
  • \");\n\n\t this.options = extend(true, options, {\n\t messages: toolbar.options.messages.zoom\n\t });\n\n\t this.toolbar = toolbar;\n\t this.element = zoomElement;\n\t },\n\t _appendElements: function () {\n\t var options = this.options;\n\t if (options.zoomInOut) {\n\t appendZoomButtons(this.element, options.messages, true);\n\t }\n\t },\n\t overflowHidden: function() {\n\t this.element.addClass(styles.overflowHidden);\n\t }\n\t });\n\n\t kendo.toolbar.registerComponent(\"zoom\", ToolBarZoom, ToolBarOverflowZoom);\n\n\t var ViewerToolBar = ToolBar.extend({\n\t init: function(element, options) {\n\t var that = this;\n\t var items = options.items && options.items.length ? options.items : Object.keys(DefaultTools);\n\n\t that.options = options;\n\n\t options.items = that._updateItems(items);\n\n\t ToolBar.fn.init.call(that, element, options);\n\n\t that.bind({\n\t click: that._click,\n\t toggle: that._click\n\t });\n\n\t options.viewer.bind({\n\t update: that._update.bind(that)\n\t });\n\t },\n\t events: [\n\t ACTION\n\t ],\n\t _updateItems: function (items) {\n\t var that = this;\n\t var messages = this.options.messages;\n\n\t return items.map(function (tool) {\n\t var isBuiltInTool = $.isPlainObject(tool) && Object.keys(tool).length === 1 && tool.name;\n\t tool = isBuiltInTool ? tool.name : tool;\n\t var toolOptions = $.isPlainObject(tool) ? tool : AllTools[tool];\n\t var options;\n\t var toolName = toolOptions.name;\n\n\t if (toolOptions.type === \"buttonGroup\") {\n\t toolOptions.buttons = that._updateItems(toolOptions.buttons);\n\t } else if (toolOptions.type !== \"pager\") {\n\t options = {\n\t name: toolName,\n\t attributes: {\n\t \"aria-label\": messages[toolName],\n\t \"title\": messages[toolName],\n\t \"data-command\": toolOptions.command,\n\t \"class\": FLATBUTTONCLASS\n\t },\n\t overflow: toolOptions.overflow\n\t };\n\t } else {\n\t options = {\n\t overflow: \"never\"\n\t };\n\t }\n\n\t kendo.deepExtend(toolOptions, options);\n\n\t return toolOptions;\n\t });\n\t },\n\t _click: function (e)\n\t {\n\t var command = $(e.target).data(\"command\");\n\n\t if (!command) {\n\t return;\n\t }\n\n\t this.action({\n\t command: command,\n\t options: e.options\n\t });\n\t },\n\t _update: function (e) {\n\t var pageOptions = {\n\t page: e.page || 1,\n\t total: e.total || 1\n\t };\n\n\t if (this.zoom) {\n\t this.zoom.enable(!e.isBlank);\n\t if (e.action === \"zoom\") {\n\t this._updateZoomComboBox(e.zoom);\n\t }\n\t }\n\n\t if ((e.action === \"pagechange\" || e.isBlank) && this.pager) {\n\t this.pager.setOptions(pageOptions);\n\t }\n\n\t this.enable(this.wrapper.find(\".k-toggle-selection-group\"), !e.isBlank);\n\n\t this.enable(this.wrapper.find(\"[data-command='OpenSearchCommand']\"), !e.isBlank);\n\t this.enable(this.wrapper.find(\"[data-command='DownloadCommand']\"), !e.isBlank);\n\t this.enable(this.wrapper.find(\"[data-command='PrintCommand']\"), !e.isBlank);\n\t },\n\t _updateZoomComboBox: function (value) {\n\t var isPredefined = value === PREDEFINED_ZOOM_VALUES.auto ||\n\t value === PREDEFINED_ZOOM_VALUES.actual;\n\n\t if (!isPredefined) {\n\t value = Math.round(value * 100) + '%';\n\t }\n\n\t if (this.zoom && this.zoom.combobox) {\n\t this.zoom._currentValue = value;\n\t this.zoom.combobox.value(value);\n\t }\n\t },\n\t action: function (args)\n\t {\n\t this.trigger(ACTION, args);\n\t },\n\t destroy: function () {\n\t if (this.pager) {\n\t this.pager.destroy();\n\t }\n\n\t if (this.zoom) {\n\t this.zoom.destroy();\n\t }\n\t ToolBar.fn.destroy.call(this);\n\t }\n\t });\n\n\n\t extend(kendo.pdfviewer, {\n\t Toolbar: ViewerToolBar,\n\t DefaultTools: DefaultTools\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\t}, __webpack_require__(3));\n\n/***/ }),\n\n/***/ 1625:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"./pager\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1612);\n\tmodule.exports = __webpack_require__(1612);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1044:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.upload\");\n\n/***/ }),\n\n/***/ 1612:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1044)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t proxy = $.proxy,\n\t extend = $.extend,\n\t parseJSON = JSON.parse,\n\t progress = kendo.ui.progress,\n\t Class = kendo.Class,\n\t OPEN = \"open\",\n\t ZOOMSTART = \"zoomStart\",\n\t ZOOMEND = \"zoomEnd\";\n\n\t var Command = Class.extend({\n\t init: function(options) {\n\t this.options = options;\n\t this.viewer = options.viewer;\n\t this.errorMessages = this.viewer.options.messages.errorMessages;\n\t }\n\t });\n\n\t var OpenCommand = Command.extend({\n\t init: function(options) {\n\t Command.fn.init.call(this, options);\n\t this.upload = this.viewer.processor.upload;\n\t },\n\t exec: function () {\n\t (this.viewer._upload || this._initUpload()).element.click();\n\t },\n\t _initUpload: function () {\n\t var uploadOptions = {\n\t select: proxy(this._onSelect, this),\n\t success: proxy(this._onSuccess, this),\n\t error: proxy(this._onError, this),\n\t complete: proxy(this._onComplete, this),\n\t showFileList: false,\n\t multiple: false,\n\t validation: {\n\t allowedExtensions: [\".pdf\"]\n\t }\n\t };\n\n\t if (this.upload) {\n\t extend(uploadOptions, {\n\t async: {\n\t saveUrl: this.upload.url,\n\t autoUpload: true,\n\t saveField: this.upload.saveField\n\t }\n\t });\n\t }\n\n\t var upload = $('').kendoUpload(uploadOptions).getKendoUpload();\n\t this.viewer._upload = upload;\n\n\t return upload;\n\t },\n\t _onComplete: function () {\n\t progress(this.viewer.pageContainer, false);\n\t },\n\t _onSuccess: function(e) {\n\t var json = parseJSON(e.response);\n\n\t if ($.isPlainObject(json)) {\n\t this.viewer.processor.fromJSON(json);\n\t }\n\t else {\n\t this.viewer._triggerError({\n\t error: json,\n\t message: this.errorMessages.parseError\n\t });\n\t }\n\t },\n\t _onError: function(e) {\n\t this.viewer._triggerError({\n\t error: e.XMLHttpRequest.responseText,\n\t message: this.errorMessages.notSupported\n\t });\n\t },\n\t _onSelect: function (e) {\n\t var that = this;\n\t var fileToUpload = e.files[0];\n\n\t progress(that.viewer.pageContainer, true);\n\n\t if (that.viewer.trigger(OPEN, { file: fileToUpload }) || that.upload) {\n\t return;\n\t } else if (fileToUpload.extension.toLowerCase() !== \".pdf\") {\n\t that.viewer._triggerError({\n\t error: fileToUpload,\n\t message: that.errorMessages.notSupported\n\t });\n\t return;\n\t }\n\n\t var reader = new FileReader();\n\t reader.onload = function(e) {\n\t var document = e.target.result;\n\t that.viewer.fromFile(document);\n\t };\n\t reader.onerror = function () {\n\t that.viewer._triggerError({\n\t error: fileToUpload,\n\t message: that.errorMessages.parseError\n\t });\n\t };\n\n\t reader.readAsArrayBuffer(fileToUpload.rawFile);\n\t }\n\t });\n\n\t var PageChangeCommand = Command.extend({\n\t exec: function () {\n\t var pageNumber = this.options.value;\n\n\t this.viewer.activatePage(pageNumber);\n\t }\n\t });\n\n\t var DownloadCommand = Command.extend({\n\t exec: function () {\n\t if (!this.viewer.document) {\n\t this.viewer._triggerError({\n\t message: this.errorMessages.notFound\n\t });\n\t return;\n\t }\n\n\t var fileName = (this.viewer.document.info && this.viewer.document.info.title) ||\n\t this.viewer.options.messages.defaultFileName;\n\n\t this.viewer.processor.downloadFile(fileName);\n\t }\n\t });\n\n\t var ExportCommand = Command.extend({\n\t init: function(options) {\n\t options = $.extend(options, this.options);\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function() {\n\t var dialog = (this.viewer._saveDialog || this._initDialog());\n\n\t dialog._updateModel({\n\t pagesCount: (this.viewer.document && this.viewer.document.total) || 1,\n\t page: this.viewer.options.page\n\t });\n\n\t dialog.open();\n\t },\n\t apply: function (viewModel) {\n\t var extension = viewModel.extension;\n\n\t if (extension === \".png\") {\n\t this.viewer.exportImage(viewModel);\n\t } else if (extension === \".svg\") {\n\t this.viewer.exportSVG(viewModel);\n\t }\n\t },\n\t _initDialog: function () {\n\t this.viewer._saveDialog = new kendo.pdfviewer.dialogs.ExportAsDialog({\n\t apply: this.apply.bind(this),\n\t pagesCount: (this.viewer.document && this.viewer.document.total) || 1,\n\t messages: this.viewer.options.messages\n\t });\n\t return this.viewer._saveDialog;\n\t }\n\t });\n\n\t var EnableSelectionCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t viewer = that.viewer;\n\n\t viewer._toggleSelection(true);\n\t }\n\t });\n\n\t var EnablePanCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t viewer = that.viewer;\n\n\t viewer._toggleSelection(false);\n\t }\n\t });\n\n\t var OpenSearchCommand = Command.extend({\n\t init: function(options) {\n\t var that = this;\n\n\t that.viewer = options.viewer;\n\n\t if(!that.viewer.searchDialog) {\n\t that.viewer.searchDialog = new kendo.pdfviewer.dialogs.SearchDialog({\n\t position: {\n\t top: that.viewer.pageContainer.offset().top,\n\t left: that.viewer.pageContainer.offset().left\n\t },\n\t messages: that.viewer.options.messages.dialogs.search,\n\t open: proxy(that._open, that),\n\t next: proxy(that._next, that),\n\t prev: proxy(that._prev, that),\n\t close: proxy(that._close, that)\n\t });\n\t }\n\n\t Command.fn.init.call(that, options);\n\t },\n\t exec: function () {\n\t var that = this;\n\n\t that.viewer.searchDialog.open();\n\t },\n\t _open: function () {\n\t var that = this;\n\n\t that.changeHandler = proxy(that._change, that);\n\t that.zoomStartHandler = proxy(that._closeDialog, that);\n\t that.openFileHandler = proxy(that._closeDialog, that);\n\n\t if(!that.viewer._searchDOM) {\n\t that.viewer._initSearchDOM();\n\t that.viewer.searchDialog.searchModel.bind(\"change\", that.changeHandler);\n\t that.viewer.bind(\"zoomStart\", that.zoomStartHandler);\n\t that.viewer.bind(\"open\", that.openFileHandler);\n\t }\n\t },\n\t _close: function () {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\n\t that.viewer.searchDialog.searchModel.unbind(\"change\", that.changeHandler);\n\t that.viewer.unbind(\"zoomStart\", that.zoomStartHandler);\n\t that.viewer.unbind(\"open\", that.openFileHandler);\n\t searchEngine.destroy();\n\t delete that.viewer._searchDOM;\n\t that._updateSearchModel();\n\t },\n\t _change: function (ev) {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\t var field = ev.field;\n\t var model = that.viewer.searchDialog.searchModel;\n\t var value = model[field];\n\n\t if(!searchEngine) {\n\t return;\n\t }\n\n\t switch (field) {\n\t case \"searchText\":\n\t searchEngine.search(value, model.matchCase);\n\t that._updateSearchModel();\n\t break;\n\t case \"matchCase\":\n\t searchEngine.search(model.searchText, value);\n\t that._updateSearchModel();\n\t break;\n\t default:\n\t break;\n\t }\n\t },\n\t _next: function () {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\n\t if (searchEngine.matches && searchEngine.matches.length) {\n\t searchEngine.nextMatch();\n\t that._updateSearchModel();\n\t }\n\t },\n\t _prev: function () {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\n\t if (searchEngine.matches && searchEngine.matches.length) {\n\t searchEngine.previousMatch();\n\t that._updateSearchModel();\n\t }\n\t },\n\t _updateSearchModel: function () {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\t var model = that.viewer.searchDialog.searchModel;\n\n\t if(searchEngine) {\n\t model.set(\"matches\", searchEngine.matches.length);\n\t model.set(\"matchIndex\", searchEngine.getMarkedIndex());\n\t that._scrollToMark();\n\t } else {\n\t model.set(\"searchText\", \"\");\n\t model.set(\"matches\", 0);\n\t model.set(\"matchIndex\", 0);\n\t model.set(\"matchCase\", false);\n\t }\n\t },\n\t _scrollToMark: function () {\n\t var that = this;\n\t var searchEngine = that.viewer._searchDOM;\n\t var marked = searchEngine.getFirstMarked();\n\t var scroller = that.viewer._scroller;\n\t var position;\n\n\t if(!marked.length) {\n\t return;\n\t }\n\n\t position = marked.offset().top - scroller.scrollElement.offset().top - 100;\n\n\t scroller.scrollTo(scroller.scrollLeft, position * -1);\n\t },\n\t _closeDialog: function () {\n\t var that = this;\n\t that.viewer.searchDialog.dialog.close();\n\t }\n\t });\n\n\t var ZoomCommand = Command.extend({\n\t exec: function () {\n\t var that = this,\n\t options = that.options,\n\t viewer = that.viewer,\n\t scale = options.scale,\n\t loadedPagesHeight = 0,\n\t page = that.viewer._pageNum,\n\t containerHeight = viewer.pageContainer[0].clientHeight,\n\t updatedVisiblePagesCount = 1,\n\t renderTasks = [];\n\n\t if(viewer.processingLib === \"dpl\") {\n\t return;\n\t }\n\n\t scale = that._calculateZoom();\n\n\t var updateViewer = function () {\n\t var scroller = that.viewer._scroller,\n\t scrollingStarted = viewer._scrollingStarted;\n\n\t if (scroller && scroller.scrollTop > scroller.scrollHeight()) {\n\t scroller._resize();\n\t }\n\n\t if (!scrollingStarted)\n\t {\n\t viewer.activatePage(page);\n\t viewer._scrollingStarted = false;\n\t }\n\t };\n\n\t if (!scale) {\n\t return;\n\t }\n\n\t viewer.zoomScale = scale;\n\t viewer._scrollingStarted = false;\n\n\t if (viewer.pages) {\n\t viewer.pages.forEach(function (page) {\n\t var pageHeight;\n\n\t if (viewer._visiblePages.indexOf(page) !== -1 && page.loaded) {\n\t renderTasks.push(page.render(scale));\n\n\t pageHeight = page._page.getViewport({\n\t scale: scale\n\t }).height;\n\t }\n\t else {\n\t page.resize(scale);\n\t pageHeight = page.element.height();\n\t }\n\n\t loadedPagesHeight += pageHeight;\n\n\t if (loadedPagesHeight <= containerHeight) {\n\t updatedVisiblePagesCount++;\n\t }\n\t });\n\n\n\t if (viewer._visiblePagesCount != updatedVisiblePagesCount) {\n\n\t viewer._visiblePagesCount = updatedVisiblePagesCount;\n\t viewer._loadVisiblePages();\n\t }\n\t }\n\n\t Promise.all(renderTasks).then(function () {\n\t updateViewer();\n\t that._triggerZoomEnd(scale);\n\t }).catch(function () { // jshint ignore:line\n\t updateViewer();\n\t that._triggerZoomEnd(scale);\n\t });\n\t },\n\n\t _calculateZoom: function () {\n\t var options = this.options,\n\t viewer = this.viewer,\n\t viewerOptions = viewer.options,\n\t pageContainer = viewer.pageContainer,\n\t visibleCanvas = viewer._visiblePages && viewer._visiblePages[0].canvas,\n\t scale = options.scale,\n\t scaleValue = scale,\n\t preventZoom;\n\n\t viewer._allowResize = false;\n\t viewer._autoFit = false;\n\n\t if (options.zoomIn) {\n\t scaleValue = scale = viewer.zoomScale + viewerOptions.zoomRate;\n\t } else if (options.zoomOut) {\n\t scaleValue = scale = viewer.zoomScale - viewerOptions.zoomRate;\n\t } else if (scale === \"auto\") {\n\t viewer._allowResize = true;\n\t scaleValue = viewer._autoZoomScale;\n\t } else if (scale === \"actual\") {\n\t scaleValue = 1;\n\t } else if (scale === \"fitToWidth\") {\n\t viewer._allowResize = true;\n\t viewer._autoFit = \"fitToWidth\";\n\t scaleValue = (pageContainer.width() / (visibleCanvas.width / viewer.zoomScale));\n\t } else if (scale === \"fitToPage\") {\n\t viewer._allowResize = true;\n\t viewer._autoFit = \"fitToPage\";\n\t scaleValue = (pageContainer.height() / (visibleCanvas.height / viewer.zoomScale));\n\t }\n\n\t preventZoom = scale < viewerOptions.zoomMin || scale > viewerOptions.zoomMax;\n\n\t if (preventZoom || viewer.trigger(ZOOMSTART, { scale: scale})) {\n\t return;\n\t }\n\n\t if (options.updateComboBox && viewer.toolbar)\n\t {\n\t viewer.toolbar._updateZoomComboBox(scale);\n\t }\n\n\t return scaleValue;\n\t },\n\n\t _triggerZoomEnd: function (scale) {\n\t var that = this,\n\t viewer = that.viewer;\n\n\t viewer.trigger(ZOOMEND, { scale: scale });\n\t }\n\t });\n\n\t var PrintCommand = Command.extend({\n\t init: function (options){\n\t Command.fn.init.call(this, options);\n\t },\n\t exec: function () {\n\t var that = this;\n\n\t if (!that.viewer.document) {\n\t that.viewer._triggerError({\n\t message: this.errorMessages.notFound\n\t });\n\t return;\n\t }\n\n\t progress(that.viewer.pageContainer, true);\n\t that._renderPrintContainer();\n\t that._loadAllPages().then(proxy(that.processAfterRender,that));\n\t },\n\t _renderPrintContainer: function () {\n\t this.printContainer = $(\"
    \");\n\t },\n\t _loadAllPages: function () {\n\t var that = this;\n\t var pages = that.viewer.pages;\n\t var loadPromises = [];\n\t var renderPromises = [];\n\t var promise = $.Deferred();\n\n\t that._originalScale = that.viewer.zoom();\n\n\t function getRenderPromise (page) {\n\t renderPromises.push(page._renderPromise);\n\t }\n\n\t for (var i = 0; i < pages.length; i++) {\n\t loadPromises.push(pages[i].load(3, true).then(getRenderPromise));\n\t }\n\n\t Promise.all(loadPromises).then(function(){\n\t promise.resolve(renderPromises);\n\t });\n\n\t return promise;\n\t },\n\t processAfterRender: function(renderPromises){\n\t var that = this;\n\n\t Promise.all(renderPromises).then(function(){\n\t that._renderPrintPages();\n\t setTimeout(function () {\n\t that._printDocument();\n\t that.viewer.zoom(that._originalScale);\n\t progress(that.viewer.pageContainer, false);\n\t delete that._originalScale;\n\t }, 0);\n\t });\n\t },\n\t _renderPrintPages: function () {\n\t var pages = this.viewer.pages;\n\n\t for (var i = 0; i < pages.length; i++) {\n\t this._renderPrintImage(pages[i]);\n\t }\n\t },\n\t _renderPrintImage: function (page) {\n\t var canvas = page.canvas;\n\t var div = $(\"
    \");\n\n\t var img = \"\";\n\n\t div.append(img);\n\n\t this.printContainer.append(div);\n\t },\n\t _printDocument: function () {\n\t var that = this;\n\t var pages = that.viewer.pages;\n\t var width = pages[0].width;\n\t var height = pages[0].height;\n\n\t var myWindow = window.open('','','innerWidth=' + width + ',innerHeight=' + height + 'location=no,titlebar=no,toolbar=no');\n\n\t if(!myWindow) {\n\t that.viewer._triggerError({\n\t message: that.errorMessages.popupBlocked\n\t });\n\t return;\n\t }\n\n\t myWindow.document.write(that.printContainer.html());\n\n\t myWindow.document.close();\n\t myWindow.focus();\n\t myWindow.print();\n\t myWindow.close();\n\t }\n\t });\n\n\t extend(kendo.pdfviewer, {\n\t OpenCommand: OpenCommand,\n\t PageChangeCommand: PageChangeCommand,\n\t DownloadCommand: DownloadCommand,\n\t EnableSelectionCommand: EnableSelectionCommand,\n\t EnablePanCommand: EnablePanCommand,\n\t ExportCommand: ExportCommand,\n\t PrintCommand: PrintCommand,\n\t OpenSearchCommand: OpenSearchCommand,\n\t ZoomCommand: ZoomCommand\n\t });\n\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1621);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 1621:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [\n\t __webpack_require__(1622)\n\t ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\tvar __meta__ = { // jshint ignore:line\n\t id: \"pdfjs-processor\",\n\t name: \"PDFJS-Processor\",\n\t category: \"framework\",\n\t depends: [ \"core\" ]\n\t};\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t Class = kendo.Class,\n\t extend = $.extend,\n\t atob = window.atob,\n\t PDFJS;\n\n\t var PDFJSProcessor = Class.extend({\n\t init: function(options, viewer) {\n\t var that = this;\n\n\t if (kendo.pdfviewer.pdfjs.isLoaded()) {\n\t PDFJS = kendo.pdfviewer.pdfjs.lib;\n\t }\n\n\t that.file = options.file;\n\t that.viewer = viewer;\n\t },\n\t fetchDocument: function () {\n\t var that = this,\n\t deferred = $.Deferred(),\n\t messages = that.viewer.options.messages.errorMessages;\n\n\t if (!that.file) {\n\t return deferred.resolve();\n\t }\n\n\t if (that._isBase64Data() && atob)\n\t {\n\t that.file.data = atob(that.file.data);\n\t }\n\n\t PDFJS.getDocument(this.file).promise.then(function (pdf) {\n\t var pageSizes = [];\n\t that.pdf = pdf;\n\t that.pagePromises = [];\n\t that._downloadData = $.Deferred();\n\n\t pdf.getData().then(function (data) {\n\t var blob = new Blob([data], { type: 'application/pdf' });\n\t that._downloadData.resolve({\n\t file: blob\n\t });\n\t });\n\n\t for (var i = 1; i <= pdf.numPages; i++) {\n\t that.pagePromises.push(pdf.getPage(i));\n\t }\n\n\t Promise.all(that.pagePromises).then(function (pagePromises) {\n\t pageSizes = pagePromises.map(function (pagePromise) {\n\t var viewport = pagePromise.getViewport({scale: 4/3});\n\t return {\n\t width: viewport.width,\n\t height: viewport.height\n\t };\n\t });\n\n\t deferred.resolve({\n\t total: pdf.numPages,\n\t pages: pageSizes\n\t });\n\t }).catch(function (e) { // jshint ignore:line\n\t that.viewer._triggerError({\n\t error: e.message,\n\t message: messages.parseError\n\t });\n\t });\n\n\t }).catch(function (e) { // jshint ignore:line\n\t var notFoundError = e.name.includes(\"Missing\");\n\t var alertMessage = notFoundError ? messages.notFound : messages.parseError;\n\t that.viewer._triggerError({\n\t error: e.message,\n\t message: alertMessage\n\t });\n\t if (notFoundError) {\n\t that.viewer._renderBlankPage();\n\t }\n\t });\n\n\t return deferred;\n\t },\n\t fetchPageData: function (number) {\n\t return this.pagePromises[number - 1];\n\t },\n\t downloadFile: function (fileName) {\n\t var that = this;\n\t kendo.ui.progress(that.viewer.pageContainer, true);\n\n\t that._downloadData.done(function (result) {\n\t kendo.ui.progress(that.viewer.pageContainer, false);\n\n\t var reader = new FileReader();\n\t reader.readAsDataURL(result.file);\n\n\t reader.onload = function() {\n\t kendo.saveAs({\n\t dataURI: reader.result,\n\t fileName: fileName + \".pdf\",\n\t proxyURL: function() {\n\t return reader.result;\n\t }\n\t });\n\t };\n\t });\n\t },\n\t _updateDocument: function (file) {\n\t if(this.pdf && this.pdf.loadingTask) {\n\t this.pdf.loadingTask.destroy();\n\t }\n\n\t this.file = file;\n\t },\n\t _isBase64Data: function () {\n\t var data = this.file.data,\n\t notBase64 = /[^A-Z0-9+\\/=]/i,\n\t length = data && data.length,\n\t equalSign;\n\n\t if (!length || length % 4 !== 0 || notBase64.test(data)) {\n\t return false;\n\t }\n\n\t equalSign = data.indexOf('=');\n\n\t return equalSign === -1 ||\n\t equalSign === length - 1 ||\n\t (equalSign === length - 2 && data[length - 1] === '=');\n\t },\n\t renderTextLayer: function (params) {\n\t PDFJS.renderTextLayer(params);\n\t }\n\t });\n\n\t extend(kendo.pdfviewer.pdfjs, {\n\t processor: PDFJSProcessor\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\n/***/ }),\n\n/***/ 1622:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../pdfjs\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1619);\n\tmodule.exports = __webpack_require__(1619);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.core\");\n\n/***/ }),\n\n/***/ 1619:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(20)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function ($, undefined) {\n\t var extend = $.extend;\n\t var isLoaded = function() {\n\t if (!window.pdfjsLib)\n\t {\n\t var console = window.console;\n\n\t if (console && console.error) {\n\t console.error(\"PDF.JS required.\");\n\t }\n\n\t return false;\n\t }\n\n\t kendo.pdfviewer.pdfjs.lib = window.pdfjsLib;\n\n\t return true;\n\t };\n\n\t extend(kendo, {\n\t pdfviewer: {\n\t pdfjs: {\n\t lib: window.pdfjsLib,\n\t isLoaded: isLoaded\n\t }\n\t }\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1623);\n\tmodule.exports = __webpack_require__(1623);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.core\");\n\n/***/ }),\n\n/***/ 1623:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(20)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var Class = kendo.Class,\n\t extend = $.extend,\n\t isArray = Array.isArray;\n\n\t var SearchDOM = Class.extend({\n\t init: function(options) {\n\t var that = this;\n\n\t that.options = extend({}, that.options, options);\n\n\t that.processDom();\n\t },\n\n\t options: {\n\t highlightClass: \"k-search-highlight\",\n\t charClass: \"k-text-char\"\n\t },\n\n\t processDom: function () {\n\t var that = this;\n\n\t that.targets = isArray(that.options.target) ? that.options.target : [that.options.target];\n\t that.textNodes = [];\n\t that.charIndex = 0;\n\t that.text = \"\";\n\n\t that.targets.forEach(function (target) {\n\t that.traverseToTextNode(target);\n\t });\n\n\t for (var i = 0; i < that.textNodes.length; i++) {\n\t that.processTextNode(that.textNodes[i]);\n\t }\n\t },\n\n\t traverseToTextNode: function (node) {\n\t var that = this;\n\n\t if(node.nodeType === 3) {\n\t that.textNodes.push(node);\n\t } else {\n\t for (var i = 0; i < node.childNodes.length; i++) {\n\t that.traverseToTextNode(node.childNodes[i]);\n\t }\n\t }\n\t },\n\n\t processTextNode: function (node) {\n\t var that = this;\n\t var text = node.textContent;\n\t var span;\n\n\t that.text = that.text + text;\n\n\t if(text.length > 0){\n\t span = $(node).wrap(\"\").parent();\n\t span.empty();\n\t that.splitChars(span.get(0), text);\n\t span.children().unwrap();\n\t }\n\t },\n\n\t splitChars: function (span, text) {\n\t var that = this;\n\t var newHtml = \"\";\n\n\t for (var i = 0; i < text.length; i++) {\n\t newHtml = newHtml + \"\" + text[i] + \"\";\n\t that.charIndex++;\n\t }\n\n\t span.innerHTML = newHtml;\n\t },\n\n\t search: function (value, matchCase) {\n\t var that = this;\n\t var expression = new RegExp(value, !matchCase ? \"gi\" : \"g\");\n\t var match;\n\n\t that.matches = [];\n\n\t that.resetMark();\n\t that.resetHighlight();\n\t that.resetMatchIndex();\n\n\t if(value === \"\") {\n\t return;\n\t }\n\n\t match = expression.exec(that.text);\n\n\t while(match){\n\t that.matches.push({\n\t startOffset: match.index,\n\t endOffset: match.index + match[0].length\n\t });\n\n\t match = expression.exec(that.text);\n\t }\n\n\t that.highlightAll();\n\t that.mark();\n\t },\n\n\t highlightAll: function () {\n\t var that = this;\n\n\t that.matches.forEach(function (match, index) {\n\t var start = match.startOffset;\n\t var end = match.endOffset;\n\n\t that.highlight(start, end, index + 1);\n\t });\n\t },\n\n\t highlight: function (start, end, matchIndex) {\n\t var that = this;\n\n\t for (var i = start; i < end; i++) {\n\t $(that.targets)\n\t .find(\".\" + that.options.charClass + \"[\" + kendo.attr(\"char-index\") + \"=\" + i + \"]\")\n\t .addClass(that.options.highlightClass)\n\t .attr(kendo.attr(\"match-index\"), matchIndex);\n\t }\n\t },\n\n\t resetHighlight: function () {\n\t var that = this;\n\n\t $(that.targets)\n\t .find(\".\" + that.options.highlightClass)\n\t .removeClass(that.options.highlightClass);\n\t },\n\n\t resetMatchIndex: function () {\n\t var that = this;\n\n\t $(that.targets)\n\t .find(\".\" + that.options.charClass + \"[\" + kendo.attr(\"match-index\") + \"]\")\n\t .removeAttr(kendo.attr(\"match-index\"));\n\t },\n\n\t mark: function () {\n\t var that = this;\n\n\t if(!that.currentIndex && that.currentIndex !== 0) {\n\t that.currentIndex = 0;\n\t } else if (that.currentIndex > that.matches.length) {\n\t that.currentIndex = that.matches.length;\n\t } else {\n\t that.resetMark();\n\t }\n\n\t $(that.targets)\n\t .find(\".\" + that.options.charClass + \"[\" + kendo.attr(\"match-index\") + \"=\" + that.currentIndex + \"]\")\n\t .wrapInner(\"\");\n\t },\n\n\t resetMark: function () {\n\t var that = this;\n\t $(that.targets).find(\"mark\").contents().unwrap();\n\t },\n\n\t nextMatch: function () {\n\t var that = this;\n\n\t that.currentIndex++;\n\n\t if(that.currentIndex > that.matches.length) {\n\t that.currentIndex = 1;\n\t }\n\n\t that.mark();\n\t },\n\n\t previousMatch: function () {\n\t var that = this;\n\n\t that.currentIndex--;\n\n\t if(that.currentIndex < 1) {\n\t that.currentIndex = that.matches.length;\n\t }\n\n\t that.mark();\n\t },\n\n\t getMarkedIndex: function () {\n\t return this.matches.length ? this.currentIndex : 0;\n\t },\n\n\t getFirstMarked: function () {\n\t return $(this.targets).find(\"mark\").eq(0);\n\t },\n\n\t destroy: function () {\n\t var that = this;\n\n\t that.resetMark();\n\t $(that.targets).children(\"span:not(.\" + that.options.charClass + \")\").each(function(i, item){\n\t $(item).text($(item).text());\n\t });\n\t }\n\t });\n\n\t extend(kendo.pdfviewer, {\n\t SearchDOM: SearchDOM\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1613);\n\tmodule.exports = __webpack_require__(1613);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 975:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.dropdownlist\");\n\n/***/ }),\n\n/***/ 976:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.window\");\n\n/***/ }),\n\n/***/ 1613:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1614), __webpack_require__(976), __webpack_require__(1615), __webpack_require__(1616), __webpack_require__(975)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var kendo = window.kendo,\n\t extend = $.extend,\n\t Class = kendo.Class,\n\t EXTENSIONS = {\n\t svg: \".svg\",\n\t png: \".png\"\n\t },\n\t keys = kendo.keys;\n\n\t var ErrorDialog = Class.extend({\n\t init: function (options) {\n\t this.options = extend(options, {\n\t actions: [{\n\t text: options.messages.dialogs.okText\n\t }]\n\t });\n\t this._dialog = $(\"
    \")\n\t .kendoDialog(this.options)\n\t .getKendoDialog();\n\t },\n\t open: function () {\n\t this._dialog.center().open();\n\t }\n\t });\n\n\t var ExportAsDialog = Class.extend({\n\t init: function (options) {\n\t this.options = extend(options, this.options, {\n\t fileFormats: [{\n\t description: options.messages.dialogs.exportAsDialog.png,\n\t extension: EXTENSIONS.png\n\t }, {\n\t description: options.messages.dialogs.exportAsDialog.svg,\n\t extension: EXTENSIONS.svg\n\t }],\n\t title: options.messages.dialogs.exportAsDialog.title,\n\t open: function() {\n\t this.center();\n\t }\n\t });\n\t this._initializeDialog();\n\t return this;\n\t },\n\t options: {\n\t extension: EXTENSIONS.png,\n\t autoFocus: true,\n\t resizable: false,\n\t modal: {\n\t preventScroll: true\n\t },\n\t width: \"90%\",\n\t maxWidth: 520,\n\t template:\n\t \"
    \" +\n\t \"
    \" +\n\t \"\" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"\" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"\" +\n\t \"
    \" +\n\t \"
    \" +\n\t \"\" +\n\t \"\" +\n\t \"
    \"\n\t },\n\t _updateModel: function (options) {\n\t if (options.pagesCount) {\n\t this.viewModel.set(\"pagesCount\", options.pagesCount);\n\t }\n\t if (options.page) {\n\t this.viewModel.set(\"page\", options.page);\n\t }\n\t },\n\t _initializeDialog: function () {\n\t var that = this;\n\t var options = that.options;\n\t var dialogMessages = options.messages.dialogs;\n\t var dialog = $(\"
    \")\n\t .append(kendo.template(options.template)({\n\t total: options.pagesCount,\n\t messages: dialogMessages\n\t }))\n\t .kendoWindow(options)\n\t .getKendoWindow();\n\n\t that.viewModel = kendo.observable({\n\t title: dialogMessages.exportAsDialog.title,\n\t name: dialogMessages.exportAsDialog.defaultFileName,\n\t extension: options.extension,\n\t fileFormats: options.fileFormats,\n\t pagesCount: options.pagesCount,\n\t page: 1,\n\t apply: that.apply.bind(this),\n\t close: function () {\n\t dialog.close();\n\t }\n\t });\n\n\t that._dialog = dialog;\n\n\t kendo.bind(dialog.element, that.viewModel);\n\t return dialog;\n\t },\n\t open: function() {\n\t this._dialog.center().open();\n\t },\n\t apply: function() {\n\t this._dialog.close();\n\t this.options.apply({\n\t fileName: this.viewModel.name + this.viewModel.extension,\n\t extension: this.viewModel.extension,\n\t page: this.viewModel.page\n\t });\n\t }\n\t });\n\n\t var SearchDialog = Class.extend({\n\t init: function (options) {\n\t var that = this;\n\t that.options = extend({}, options, that.options);\n\t },\n\t options: {\n\t resizable: false,\n\t template: \"
    \" +\n\t \"\" +\n\t \"\" +\n\t \"\" +\n\t \"\" +\n\t \"\" +\n\t \" #: messages.of # \" +\n\t \"\" +\n\t \"\" +\n\t \"\" +\n\t \"
    \"\n\t },\n\t open: function () {\n\t var that = this;\n\n\t if(!that.dialog) {\n\t that._initializeDialog();\n\t }\n\n\t that.dialog.open();\n\t },\n\t _initializeDialog: function () {\n\t var that = this;\n\t var template = kendo.template(that.options.template);\n\t var dialogElm = $(\"
    \").append(template({\n\t messages: that.options.messages\n\t }));\n\t var dialogOffset = {\n\t top: that.options.position.top + 16,\n\t left: that.options.position.left + 16\n\t };\n\n\t that.dialog = new kendo.ui.Window(dialogElm, extend({}, that.options, {\n\t autoFocus: false,\n\t title: false,\n\t position: { top: dialogOffset.top, left: dialogOffset.left },\n\t minHeight: 30,\n\t draggable: {\n\t dragHandle: \".k-search-dialog-draghandle\"\n\t },\n\t activate: function (ev) {\n\t ev.sender.element.find(\".k-search-dialog-input\").trigger(\"focus\");\n\t }\n\t }));\n\n\t that.searchModel = kendo.observable({\n\t boundValue: \"\",\n\t searchText: \"\",\n\t matchCase: false,\n\t matchIndex: 0,\n\t matches: 0,\n\t matchCaseClick: function () {\n\t this.set(\"matchCase\", !this.matchCase);\n\t },\n\t next: that.options.next,\n\t prev: that.options.prev,\n\t close: function () {\n\t this.set(\"boundValue\", \"\");\n\t that.dialog.close();\n\t },\n\t onKeyup: function (ev) {\n\t var key = ev.keyCode;\n\t var navigationFn = ev.shiftKey ? this.prev : this.next;\n\n\t if(key === keys.ENTER) {\n\t navigationFn();\n\t ev.preventDefault();\n\t }\n\t },\n\t onInput: function (ev) {\n\t this.set(\"searchText\", ev.target.value);\n\t }\n\t });\n\n\t kendo.bind(that.dialog.element, that.searchModel);\n\t }\n\t });\n\n\t extend(kendo.pdfviewer, {\n\t dialogs: {\n\t ErrorDialog: ErrorDialog,\n\t ExportAsDialog: ExportAsDialog,\n\t SearchDialog: SearchDialog\n\t }\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\t}, __webpack_require__(3));\n\n/***/ }),\n\n/***/ 1614:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.dialog\");\n\n/***/ }),\n\n/***/ 1615:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.binder\");\n\n/***/ }),\n\n/***/ 1616:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.numerictextbox\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1618);\n\tmodule.exports = __webpack_require__(1618);\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\n\tmodule.exports = require(\"../kendo.core\");\n\n/***/ }),\n\n/***/ 1618:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(20)], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t})(function(){\n\n\t(function($, undefined) {\n\t var NS = \".kendoPDFViewer\",\n\t Widget = kendo.ui.Widget,\n\t CHANGE = \"change\",\n\t KEYDOWN = \"keydown\",\n\t CLICK = kendo.support.click,\n\t SHRINKWIDTH = 480,\n\t kendoAttr = kendo.attr,\n\t proxy = $.proxy,\n\t extend = $.extend,\n\t DOT = \".\",\n\t ARIA_DISABLED = \"aria-disabled\";\n\n\t var pagerStyles = {\n\t wrapperClass: \"k-pager-wrap\",\n\t iconFirst: \"k-i-arrow-end-left\",\n\t iconLast: \"k-i-arrow-end-right\",\n\t iconPrev: \"k-i-arrow-60-left\",\n\t iconNext: \"k-i-arrow-60-right\",\n\t first: \"k-pager-first\",\n\t last: \"k-pager-last\",\n\t nav: \"k-pager-nav\",\n\t disabled: \"k-state-disabled\"\n\t };\n\n\t var Pager = Widget.extend({\n\t init: function(element, options) {\n\t var that = this;\n\n\t Widget.fn.init.call(that, element, options);\n\n\t that.linkTemplate = kendo.template(that.options.linkTemplate);\n\n\t that.element.addClass(pagerStyles.wrapperClass);\n\n\t that._renderLinks();\n\t that._toggleDisabledClass();\n\t that._attachEvents();\n\t },\n\n\t options: {\n\t linkTemplate: '',\n\t previousNext: true,\n\t input: true,\n\t page: 1,\n\t total: 1,\n\t messages: {}\n\t },\n\n\t events: [\n\t CHANGE\n\t ],\n\n\t _pagerLink: function (iconClass, text, pageIdx, wrapClass) {\n\t return this.linkTemplate({\n\t iconClass: iconClass,\n\t text: text,\n\t wrapClass: wrapClass || \"\",\n\t pageIdx: pageIdx\n\t });\n\t },\n\n\t _renderLinks: function ()\n\t {\n\t var that = this,\n\t options = that.options;\n\n\t if (options.previousNext) {\n\t that.firstLink = $(that._pagerLink(pagerStyles.iconFirst, options.messages.first, 1, pagerStyles.first));\n\t that.prevLink = $(that._pagerLink(pagerStyles.iconPrev, options.messages.previous, options.page - 1));\n\t that.nextLink = $(that._pagerLink(pagerStyles.iconNext, options.messages.next, options.page + 1));\n\t that.lastLink = $(that._pagerLink(pagerStyles.iconLast, options.messages.last, options.total, pagerStyles.last));\n\t }\n\n\t that.element.append(that.firstLink);\n\t that.element.append(that.prevLink);\n\n\t if (options.input) {\n\t that._renderInput();\n\t }\n\n\t that.element.append(that.nextLink);\n\t that.element.append(that.lastLink);\n\n\t },\n\n\t _toggleDisabledClass: function () {\n\t var that = this,\n\t options = that.options,\n\t total = !options.total;\n\n\t if (that.nextLink && that.prevLink) {\n\t that.prevLink.toggleClass(pagerStyles.disabled, total || options.page === 1);\n\t that.nextLink.toggleClass(pagerStyles.disabled, total || options.page === options.total);\n\t that.lastLink.toggleClass(pagerStyles.disabled, total || options.page === options.total);\n\t that.firstLink.toggleClass(pagerStyles.disabled,total || options.page === 1);\n\n\t that.prevLink.attr(ARIA_DISABLED, total || options.page === 1);\n\t that.firstLink.attr(ARIA_DISABLED, total || options.page === 1);\n\n\t that.nextLink.attr(ARIA_DISABLED, options.page === options.total);\n\t that.lastLink.attr(ARIA_DISABLED, options.page === options.total);\n\t }\n\n\t if (that.input) {\n\t that.input.toggleClass(pagerStyles.disabled, options.total <= 1);\n\t that.input.attr(ARIA_DISABLED, options.total <= 1);\n\t }\n\t },\n\n\t _attachEvents: function () {\n\t var that = this;\n\n\t that.element.on(CLICK + NS, DOT + pagerStyles.nav, proxy(that._click, that));\n\t that.element.on(KEYDOWN + NS, DOT + pagerStyles.nav, function (e) {\n\t if (e.keyCode === kendo.keys.ENTER)\n\t {\n\t that._click(e);\n\t e.preventDefault();\n\t }\n\t });\n\n\t if (that.input) {\n\t that.input.on(KEYDOWN + NS, proxy(that._keydown, that));\n\t }\n\t },\n\n\t _click: function (e) {\n\t var target = $(e.currentTarget);\n\t var page = parseInt(target.attr(kendoAttr(\"page\")), 10);\n\n\t if (e.isDefaultPrevented()) {\n\t return;\n\t }\n\n\t this._change(page);\n\t },\n\n\t _keydown: function (e) {\n\t var key = e.keyCode,\n\t keys = kendo.keys,\n\t input = $(e.target),\n\t page = parseInt(input.val(), 10),\n\t upDown = key === keys.UP || key === keys.DOWN,\n\t allowedKeys = key === keys.RIGHT || key === keys.LEFT ||\n\t key === keys.BACKSPACE || key === keys.DELETE,\n\t direction = upDown && key === keys.UP ? 1 : -1;\n\n\t if (upDown) {\n\t page += direction;\n\t }\n\n\t if (key === keys.ENTER || upDown) {\n\t if (isNaN(page) || page < 1 || page > this.options.total) {\n\t page = this.options.page;\n\t input.val(page);\n\t return;\n\t }\n\t this._change(page);\n\t e.preventDefault();\n\t } else if (!e.key.match(/^\\d+$/) && !allowedKeys) {\n\t e.preventDefault();\n\t }\n\n\t },\n\n\t _change: function (page) {\n\t var that = this;\n\n\t if (page >= 1 && page <= that.options.total) {\n\t that.options.page = page;\n\t if (that.input) {\n\t that.input.val(page);\n\t }\n\t that.prevLink.attr(kendoAttr(\"page\"), page - 1);\n\t that.nextLink.attr(kendoAttr(\"page\"), page + 1);\n\t that._toggleDisabledClass();\n\t }\n\n\t that.trigger(CHANGE, { page: page});\n\t },\n\n\t setOptions: function (options) {\n\t var that = this,\n\t prevTotal = that.options.total;\n\n\t options = $.extend(that.options, options);\n\n\t Widget.fn.setOptions.call(that, options);\n\n\t if (options.input) {\n\t if (prevTotal != options.total) {\n\t that._renderInput();\n\t that.input\n\t .on(KEYDOWN + NS, proxy(that._keydown, that));\n\t }\n\t else {\n\t that.input.val(options.total > 0 ? options.page : 1);\n\t }\n\t }\n\n\t if (options.total > 1) {\n\t that.prevLink.attr(kendoAttr(\"page\"), options.page - 1);\n\t that.nextLink.attr(kendoAttr(\"page\"), options.page + 1);\n\t that.lastLink.attr(kendoAttr(\"page\"), options.total);\n\t }\n\n\t that._toggleDisabledClass();\n\t },\n\n\t _renderInput: function () {\n\t var that = this,\n\t totalMessage,\n\t options = that.options,\n\t shouldShrink = that.element.parent().width() <= SHRINKWIDTH,\n\t inputTemplate,\n\t pagerInputWrap = that.element.find(\".k-pager-input\");\n\n\t if (that.input) {\n\t that.input.off(NS);\n\t }\n\n\t totalMessage = options.total > 0 ? kendo.format(options.messages.of, options.total) : \"\";\n\n\t if (!shouldShrink) {\n\t totalMessage += options.total > 1 ? options.messages.pages : options.messages.page;\n\t }\n\n\t inputTemplate = '' + totalMessage;\n\n\t if (pagerInputWrap.length) {\n\t pagerInputWrap.html(inputTemplate);\n\t } else {\n\t that.element.append('' + inputTemplate +'');\n\t }\n\n\t that.input = that.element\n\t .find(\"input\")\n\t .val(options.total > 0 ? options.page : 1);\n\t },\n\n\t destroy: function() {\n\t this.element.off(NS);\n\n\t if (this.input) {\n\t this.input.off(NS);\n\t }\n\t Widget.fn.destroy.call(this);\n\t }\n\t });\n\n\n\t extend(kendo.pdfviewer, {\n\t Pager: Pager\n\t });\n\t})(window.kendo.jQuery);\n\n\treturn window.kendo;\n\n\t}, __webpack_require__(3));\n\n/***/ })\n\n/******/ });"],"sourceRoot":""}