{"version":3,"sources":["webpack://jrs-ui-pro/../ce/jrs-ui/src/config/requestSettings.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/settings/settingsStore.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/i18n/bundleLoader.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/settings/settingsLoader.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/transport/requestExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/jqueryExtension.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/util/prototypeExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/cloneDeep.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/underscoreExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/momentExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/react/ColorSample.tsx","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/react/ColorSelector.tsx","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/react/ColorSelectorWrapper.tsx","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/epoxyExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/tv4Extension.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/config/backboneConfig.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/util/allExtensionsSetup.js","webpack://jrs-ui-pro/../ce/jrs-ui/src/util/mainPagesStartup.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/base/util/attachableComponentPositionUtil.ts","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/react/AttachableColorPicker.tsx","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/react/enum/colors.ts","webpack://jrs-ui-pro/../ce/js-sdk/src/common/component/colorPicker/util/colorConvertUtil.ts","webpack://jrs-ui-pro/../ce/js-sdk/src/common/config/requestSettings.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/commonLocaleExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/jQueryDatepickerExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/jQueryTimepickerExtension.js","webpack://jrs-ui-pro/./node_modules/babel-loader/lib/ce/js-sdk/src/i18n/jasperserver_config.properties.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/extension/numeralExtension.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/transport/request.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/transport/requestRegistry.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/datetime/RelativeDate.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/datetime/RelativeTime.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/datetime/RelativeTimestamp.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/parse/date.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/datetime/Time.js","webpack://jrs-ui-pro/../ce/js-sdk/src/common/util/parse/time.js","webpack://jrs-ui-pro/./runtime_dependencies/moment/locale|lazy|/^\\.\\/.*$/|groupOptions: {}|namespace object","webpack://jrs-ui-pro/./runtime_dependencies/numeral/locales|lazy|/^\\.\\/.*$/|groupOptions: {}|namespace object"],"names":["locale","configs","settings","defaultSettings","headers","log","logger","scheduledBundlePromises","setBundleToStore","bundleName","content","store","Object","assign","bundlePathes","contextPath","promises","map","path","jrsConfigs","existingBundlePromise","isAllBundle","MERGED_BUNDLES_NAME","urlSuffix","url","originalSettings","requestSettings","type","dataType","promise","request","then","resp","statusText","xhr","status","error","keys","forEach","key","loadSingleBundle","Promise","resolve","all","scheduledSettingsGroupPromises","loadSingleSettingsGroup","settingsGroup","settingsGroupUrl","context","settingsStore","settingsPathes","requestSettingsDefault","document","window","getOriginFromUrl","a","createElement","href","origin","protocol","host","currentUri","location","$document","$","isSameOrigin","serverOrigin","isSameDomainWithDifferentPath","search","triggerEvent","trigger","apply","arguments","checkSessionExpiration","getResponseHeader","warn","reload","_","mergedOptions","split","xhrFields","withCredentials","crossDomain","fail","jqXHR","textStatus","errorThrown","responseText","done","htmlPrefilter","html","call","this","xssUtil","extend","escapeXSS","prototype","primitiveTypes","jsNonceTag","RegExp","underscoreString","evaluate","interpolate","escape","strExports","originalTemplate","originalIsEqual","xssSoftEscape","xssHardEscape","template","text","data","options","String","reDelimiters","source","replace","tmplFunction","isEqual","b","cloneDeep","customizer","target","value","sourceType","indexOf","Array","isArray","hasOwnProperty","loadLocale","exactImportLocale","momentLocale","embeddedLocales","moment","SWATCH_LIGHT_CLASS","TRANSPARENT_CLASS","ColorSelector","ColorSample","AttachableColorPicker","props","colorSampleRef","colorPickerContainerWrapper","state","show","React","className","body","appendChild","remove","isSetState","setState","colorPicker","color","label","colorSampleEl","current","showTransparentPreset","padding","top","left","onChangeComplete","onColorChange","onHide","onColorPickerHide","attachTo","ref","onClick","ReactDOM","createColorSampleWithColorPicker","style","backgroundColor","Colors","colorConvertUtil","AttachableColorPickerComponent","defaultOptions","ColorSelectorWrapper","element","renderColorSelector","getAttrName","$el","handlerName","selector","pattern","match","bindingSettings","isModel","obj","Backbone","isFunction","isObject","readAccessor","accessor","Epoxy","init","$element","bindings","e","optionsEmpty","d","optionsDefault","v","set","self","currentValue","models","numOptions","length","enabled","concat","option","index","opt","prop","val","selectedIndex","children","revisedValue","textAttr","valueAttr","classAttr","get","join","attr","model","view","_onAttrValidated","on","event","clean","off","showTransparentInput","colorSelectorState","_getColorSelectorState","_convertColorForModel","rgb","r","g","callback","radioDivs","siblings","addClass","removeClass","complete","hide","selectionRange","start","selectionStart","end","selectionEnd","is","setSelectionRange","focus","charAt","slice","tv4","dateUtil","timeUtil","requestRegistry","bundleLoader","momentLocaleLoaded","bundles","importCommonModule","settingsLoader","allExtensionsLoaded","getInitialPos","attachToOffset","attachToSize","height","placeElementAboveAttachTo","elementSize","placeElementOnTheRightSideOfAttachTo","width","placeElementOnTheLeftSideOfAttachTo","alignElementVertically","alignElementHorizontally","alignElementByRightEdgeOfAttachTo","getPosition","jQuery","query","$attachTo","offset","attachToHeight","tagName","toLowerCase","outerHeight","attachToWidth","bodyHeight","bodyWidth","elementWidth","innerWidth","elementHeight","innerHeight","initialPos","verticallyAligned","elementIntersectsViewPortBottomBoundary","elementIntersectsViewportTopBoundary","elementIntersectsViewportRightBoundary","elementIntersectsViewportLeftBoundary","ColorPicker","doc","getPresetColors","presetColors","ColorPickerWithAbilityToAttach","divRef","boundOnDocumentMousedown","disableAlpha","onDocumentMousedown","bind","forceUpdate","removeEventListener","addEventListener","colorPickerEl","mouseDownTarget","contains","isEqualNode","position","positionUtil","zIndex","visibility","SketchPicker","extendedProps","RGBA_REGEX","rgba2NoAlphaHex","reduce","memo","parseInt","toString","toUpperCase","isRgbTransparent","isRgba","test","isColorDark","colour","substr","Math","sqrt","DEFAULT_EMBEDDED_LOCALES","resolveLocale","localesToCheck","localeFallback","localeToImport","pop","includes","importLocale","defaultLocaleConverter","acc","nextLocalePart","previousLocalePart","nextLocale","localeConverter","_jasperPrefix","_mainDivId","_jasperPopupClass","originalNewInst","result","dpDiv","originalGoToToday","id","_selectDate","$input","opts","onChangeMonthYear","year","month","datepicker","timepicker","currentYear","selectedYear","currentMonth","selectedMonth","currentDay","selectedDay","_updateDateTime","instance","originalOnTimeChange","_onTimeChange","$timeObj","bundle","numeral","currency","symbol","jasperserverConfig","delimiters","thousands","decimal","defaultRequest","args","RelativeDate","keyword","sign","number","setKeyword","setSign","setNumber","isNaN","PATTERNS","DAY","WEEK","MONTH","QUARTER","SEMI","YEAR","parse","relativeDateString","isValid","exec","relativeDate","RelativeTime","F","constructor","MINUTE","HOUR","relativeTimeString","relativeTime","RelativeTimestamp","relativeTimestampString","relativeTimestamp","localeSettingsObject","userTimezone","ISO_8601_TIMESTAMP_PATTERN","ISO_8601_DATE_PATTERN","ISO_8601_TIME_PATTERN","toMomentDatePattern","dateFormat","fromJavaToMomentDatePattern","toMomentTimePattern","timeFormat","fromJavaToMomentTimePattern","toMomentTimestampPattern","separator","dateStringToMoment","timestampStringToMoment","timestampSeparator","isDate","isTimestamp","compareMoments","moment1","moment2","isBefore","isAfter","localizedTimestampToIsoTimestamp","localizedTimestampString","convert","localizedDateToIsoDate","localizedDateString","fromPattern","toPattern","momentValue","format","isRelativeDate","isRelativeTimestamp","isIso8601Timestamp","compareDates","value1","value2","compareTimestamps","iso8601DateToMoment","isoDateString","momentToIso8601Date","momentDate","momentToLocalizedDate","dateObjectToIso8601Timestamp","iso8601TimestampToDateObject","toDate","isoTimestampToLocalizedTimestamp","isoTimestampString","isoDateToLocalizedDate","localizedTimeToIsoTime","localizedTimeString","isoTimeToLocalizedTime","isoTimeString","toMomentDateOrTimeOrTimestampPattern","dateOrTimeOrTimestampFormat","dateTimeSeparator","fromJava","formatAsArray","toDatePattern","toTimePattern","isoDateToLocalizedDateByTimezone","timezone","tz","localizedDateToIsoDateByTimezone","utc","isoTimeToLocalizedTimeByTimezone","duration","utcMoment","hours","minutes","seconds","localizedTimeToIsoTimeByTimezone","timezoneMoment","isoTimestampToLocalizedTimestampByTimezone","localizedTimestampToIsoTimestampByTimezone","momentTimestamp","Time","total","compare","time1","time2","total1","total2","timeRegexpPattern","getTimeRegexpPattern","timeObj","components","timeFormatComponents","matches","componentOrders","h","m","s","i","getTimeFormatComponents","ISO_8061_TIME_PATTERN","isTime","time","isRelativeTime","isIso8601Time","compareTimes","timeToIso8061Time","iso8601TimeToTimeObject","webpackAsyncContext","req","__webpack_require__","o","Error","code","ids","t","module","exports"],"mappings":"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,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,KAED,aAAc,CACb,MACA,KAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,KAED,aAAc,CACb,MACA,KAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,KACA,MAED,aAAc,CACb,KACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,IAED,UAAW,CACV,MACA,IAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,gBAAiB,CAChB,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,IACA,KAED,UAAW,CACV,IACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,IACA,MAED,aAAc,CACb,IACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,YAAa,CACZ,MACA,MAED,eAAgB,CACf,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,OAAQ,CACP,KACA,MAED,UAAW,CACV,KACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,QAAS,CACR,MACA,MAED,aAAc,CACb,MACA,MAED,gBAAiB,CAChB,MACA,MAED,WAAY,CACX,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,KACA,MAED,YAAa,CACZ,MACA,MAED,eAAgB,CACf,MACA,MAED,UAAW,CACV,KACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,gBAAiB,CAChB,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,OAGF,SAASwf,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAE3f,EAAKyf,GAC9B,OAAOje,QAAQC,UAAUX,MAAK,KAC7B,IAAIqK,EAAI,IAAIyU,MAAM,uBAAyBH,EAAM,KAEjD,MADAtU,EAAE0U,KAAO,mBACH1U,KAIR,IAAI2U,EAAM9f,EAAIyf,GAAMrK,EAAK0K,EAAI,GAC7B,OAAOJ,EAAoBvU,EAAE2U,EAAI,IAAIhf,MAAK,IAClC4e,EAAoBK,EAAE3K,EAAI,KAGnCoK,EAAoBpe,KAAO,IAAOzB,OAAOyB,KAAKpB,GAC9Cwf,EAAoBpK,GAAK,MACzB4K,EAAOC,QAAUT,G,gBC1+BjB,IAAIxf,EAAM,CACT,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,QAAS,CACR,MACA,MAED,WAAY,CACX,MACA,MAED,OAAQ,CACP,MACA,IAED,UAAW,CACV,MACA,IAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,KAED,UAAW,CACV,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,UAAW,CACV,KACA,MAED,aAAc,CACb,KACA,MAED,UAAW,CACV,MACA,KAED,aAAc,CACb,MACA,KAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,MAED,OAAQ,CACP,IACA,KAED,UAAW,CACV,IACA,KAED,UAAW,CACV,MACA,MAED,aAAc,CACb,MACA,MAED,OAAQ,CACP,MACA,MAED,UAAW,CACV,MACA,OAGF,SAASwf,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAE3f,EAAKyf,GAC9B,OAAOje,QAAQC,UAAUX,MAAK,KAC7B,IAAIqK,EAAI,IAAIyU,MAAM,uBAAyBH,EAAM,KAEjD,MADAtU,EAAE0U,KAAO,mBACH1U,KAIR,IAAI2U,EAAM9f,EAAIyf,GAAMrK,EAAK0K,EAAI,GAC7B,OAAOJ,EAAoBvU,EAAE2U,EAAI,IAAIhf,MAAK,IAClC4e,EAAoBK,EAAE3K,EAAI,KAGnCoK,EAAoBpe,KAAO,IAAOzB,OAAOyB,KAAKpB,GAC9Cwf,EAAoBpK,GAAK,MACzB4K,EAAOC,QAAUT","file":"_chunks/chunk.7706.js","sourcesContent":["/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport defaultSettings from 'js-sdk/src/common/config/requestSettings';\nimport configs from 'js-sdk/src/jrs.configs';\n\nexport default () => {\n const locale = configs.userLocale.replace(/_/g, '-');\n const settings = defaultSettings();\n\n return {\n ...settings,\n headers: {\n ...settings.headers,\n 'Accept-Language': locale\n }\n }\n};","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\n// This settings store will be filled with the actual settings loaded from the server\n\nexport default {};","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport {store, MERGED_BUNDLES_NAME} from \"./bundleStore\";\nimport jrsConfigs from \"js-sdk/src/jrs.configs\";\nimport requestSettings from '../config/requestSettings';\nimport request from 'js-sdk/src/common/transport/request';\nimport logger from \"js-sdk/src/common/logging/logger\";\n\nconst log = logger.register(\"bundleLoader\");\n\n// use bundle name \"all\" to get all available bundles merged to single bundle\nconst bundlesRestPath = 'rest_v2/bundles';\n\nexport const scheduledBundlePromises = {};\nexport const NO_CONTENT = 204;\n\nconst setBundleToStore = (bundleName, content) => {\n store[bundleName] = store[bundleName] || {};\n\n Object.assign(store[bundleName], content);\n}\n\nconst loadSingleBundle = (bundleName, contextPath) => {\n contextPath = contextPath || jrsConfigs.contextPath;\n\n // if bundle already scheduled for loading or loaded - skip loading\n const existingBundlePromise = scheduledBundlePromises[bundleName];\n if (existingBundlePromise) {\n return existingBundlePromise;\n }\n\n const isAllBundle = MERGED_BUNDLES_NAME === bundleName;\n const urlSuffix = isAllBundle ? \"?expanded=true\" : \"/\" + bundleName;\n const url = `${contextPath}/${bundlesRestPath}${urlSuffix}`;\n\n const originalSettings = requestSettings();\n const settings = {\n ...originalSettings,\n headers: {\n ...originalSettings.headers,\n // Changing default Cache Control directive to have possibility to decide caching on the server\n // Default value was 'no-cache'\n \"Cache-Control\": \"private\",\n \"Pragma\": \"\"\n },\n type: \"GET\",\n dataType: \"json\",\n url\n };\n\n const promise = request(settings).then(function (resp, statusText, xhr) {\n if (xhr.status === NO_CONTENT) {\n log.error(`No content for bundle: [${bundleName}]. Make sure bundles are deployed to web app`);\n }\n\n if (isAllBundle) {\n Object.keys(resp).forEach(key => {\n setBundleToStore(key, resp[key]);\n })\n } else {\n setBundleToStore(bundleName, resp);\n }\n\n return resp;\n });\n\n // mark that bundle already scheduled for loading to avoid duplicate requests\n scheduledBundlePromises[bundleName] = promise;\n\n return promise;\n}\n\nexport default (bundlePathes, contextPath) => {\n const promises = bundlePathes ? bundlePathes.map(path => loadSingleBundle(path, contextPath)) : [Promise.resolve()];\n\n return Promise.all(promises);\n}\n","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport request from \"js-sdk/src/common/transport/request\";\nimport requestSettings from '../config/requestSettings';\nimport jrsConfigs from \"js-sdk/src/jrs.configs\";\nimport settingsStore from \"../settings/settingsStore\";\n\nconst settingsRestPath = \"rest_v2/settings\";\nconst scheduledSettingsGroupPromises = {};\n\nconst setSettingsGroupToStore = (settingsGroupUrl, context) => {\n settingsStore[settingsGroupUrl] = settingsStore[settingsGroupUrl] || {};\n Object.assign(settingsStore[settingsGroupUrl], context);\n}\n\nconst loadSingleSettingsGroup = (settingsGroup, contextPath, headers) => {\n contextPath = contextPath || jrsConfigs.contextPath;\n const url = `${contextPath}/${settingsRestPath}/${settingsGroup}`;\n\n // if settings group already scheduled for loading or loaded - skip loading\n if (scheduledSettingsGroupPromises[settingsGroup]) {\n return scheduledSettingsGroupPromises[settingsGroup];\n }\n\n const originalSettings = requestSettings();\n const settings = {\n ...originalSettings,\n headers: {\n ...originalSettings.headers,\n // Changing default Cache Control directive to have possibility to decide caching on the server\n // Default value was 'no-cache'\n \"Cache-Control\": \"private\",\n \"Pragma\": \"\",\n ...headers\n },\n type: \"GET\",\n dataType: \"json\",\n url\n };\n\n const promise = request(settings).then(function (resp) {\n setSettingsGroupToStore(settingsGroup, resp)\n return resp;\n });\n\n // mark that settings group already scheduled for loading to avoid duplicate requests\n scheduledSettingsGroupPromises[settingsGroup] = promise;\n\n return promise;\n}\n\nexport default (settingsPathes, contextPath, headers = {}) => {\n const promises = settingsPathes ? settingsPathes.map(path => loadSingleSettingsGroup(path, contextPath, headers)) : [Promise.resolve()];\n\n return Promise.all(promises);\n}","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport configs from 'js-sdk/src/jrs.configs';\nimport requestRegistry from 'js-sdk/src/common/transport/requestRegistry';\nimport requestSettingsDefault from '../config/requestSettings';\nimport logger from 'js-sdk/src/common/logging/logger';\n\nvar log = logger.register(\"request\");\n\nexport const request = function () {\n const requestSettings = requestSettingsDefault();\n\n // workaround for optimizer which usually runs in Node env without document defined\n if (typeof document === \"undefined\" || window === \"undefined\") {\n return {};\n }\n\n\n function getOriginFromUrl(url) {\n var a = document.createElement('a');\n a.href = url;\n\n return a.origin || (a.protocol + \"//\" + a.host);\n }\n\n // configure CORS\n var currentUri = window.location.href;\n var origin = getOriginFromUrl(window.location.href);\n\n\n // TODO: observableRequest functionality is temporary here. This should be revised after Amber release.\n\n var $document = $(document);\n function isSameOrigin(serverOrigin) {\n return origin === serverOrigin;\n }\n\n function isSameDomainWithDifferentPath(serverOrigin) {\n return currentUri.search(serverOrigin + configs.urlContext) < 0;\n }\n\n\n function triggerEvent() {\n $document.trigger.apply($document, arguments);\n }\n\n function checkSessionExpiration(xhr) {\n //TODO: custom error handlers should be used instead\n if (xhr.status == 401 || xhr.getResponseHeader(\"LoginRequested\")) {\n //trigger custom event to allow do something before page reloading\n $(window).trigger(\"sessionExpired\");\n log.warn(\"Session timed-out. Redirecting to login page.\");\n window.location.reload();\n }\n }\n\n _.partial(triggerEvent, \"request:before\").apply(null, arguments);\n var mergedOptions = _.extend({}, requestSettings, arguments[0]);\n var serverOrigin = getOriginFromUrl(mergedOptions.url);\n if (requestSettings.headers && arguments[0].headers) {\n mergedOptions.headers = _.extend({}, requestSettings.headers, arguments[0].headers);\n }\n if (!isSameOrigin(serverOrigin)) {\n mergedOptions.xhrFields = {withCredentials: true};\n mergedOptions.crossDomain = true;\n mergedOptions.headers[\"X-Remote-Domain\"] = origin;\n } else if (isSameDomainWithDifferentPath(serverOrigin)) {\n mergedOptions.headers[\"X-Remote-Domain\"] = origin + \"/\" + currentUri.split(\"/\")[3];\n }\n\n\n return $.ajax(mergedOptions)\n .fail(isSameOrigin(serverOrigin) && checkSessionExpiration)\n .fail(function (jqXHR, textStatus, errorThrown) {\n if (jqXHR.getResponseHeader(\"adhocException\")) {\n log.error(jqXHR.getResponseHeader(\"adhocException\"));\n } else if (jqXHR.status == 500 || (jqXHR.getResponseHeader(\"JasperServerError\") && !jqXHR.getResponseHeader(\"SuppressError\"))) {\n log.error(jqXHR.responseText);\n }\n })\n .fail(_.partial(triggerEvent, \"request:failure\"))\n .done(_.partial(triggerEvent, \"request:success\"))\n .done(arguments[1]);\n}\n\nexport default () => {\n // set request to registry so now everyone who uses js-sdk/src/common/transport/request will use\n // this request function from the registry\n requestRegistry.request = request;\n};","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport xssUtil from '../util/xssUtil';\nimport $ from 'jquery';\n\nconst extend = function ($) {\n const htmlPrefilter = $.htmlPrefilter;\n\n $.htmlPrefilter = function (html) {\n html = htmlPrefilter.call(this, html);\n return xssUtil.softHtmlEscape(html);\n };\n}\n\nextend($);\n$.noConflict(true);","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport xssUtil from 'js-sdk/src/common/util/xssUtil';\nimport * as prototype from 'prototype'\n\nconst extend = function ($) {\n $.escapeXSS = xssUtil.softHtmlEscape;\n}\n\nextend(prototype.$)","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nvar primitiveTypes = [\"string\", \"number\", \"boolean\", \"undefined\"];\n\nexport default function cloneDeep(source, customizer) {\n if (source === null) {\n return source;\n }\n\n var sourceType = typeof source;\n\n if (primitiveTypes.indexOf(sourceType) >= 0) {\n return source;\n }\n\n var target,\n value,\n key;\n\n if (typeof customizer === \"function\") {\n target = customizer(source);\n\n if (target) {\n return target;\n }\n }\n\n target = Array.isArray(source) ? [] : {};\n\n for (key in source) {\n if (source.hasOwnProperty(key)) {\n value = source[key];\n\n if (typeof value === \"object\") {\n if (typeof customizer === \"function\") {\n target[key] = customizer(value, key) || cloneDeep(value);\n } else {\n target[key] = cloneDeep(value);\n }\n } else {\n target[key] = value;\n }\n }\n }\n\n return target;\n}","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\n\n/**\n * @author: Igor.Nesterenko\n * @version: ${Id}\n */\n\nimport _ from 'underscore';\nimport $ from 'jquery';\nimport cloneDeep from '../util/cloneDeep';\nimport xssUtil from '../util/xssUtil';\nimport underscoreString from 'underscore.string';\nimport jrsConfigs from '../../jrs.configs';\n\nvar jsNonceTag = RegExp(/(\\s*<\\/js-templateNonce>)|()/gi);\n\n_.str = underscoreString;\n\n//provide default templates\n_.templateSettings = {\n evaluate:/\\{\\{([\\s\\S]+?)\\}\\}/g,\n interpolate:/\\{\\{=([\\s\\S]+?)\\}\\}/g,\n escape:/\\{\\{-([\\s\\S]+?)\\}\\}/g\n};\n\n// Mix in only non-conflict functions to Underscore namespace\nvar strExports = _.str.exports();\nvar conflictedStrFunctions = [\"wrap\"];\n\n_.mixin(_.omit(strExports, conflictedStrFunctions));\n\nvar originalTemplate = _.template,\n originalIsEqual = _.isEqual;\n\n_.mixin({\n xssSoftEscape: xssUtil.softHtmlEscape,\n xssHardEscape: xssUtil.hardEscape,\n\n template: function(text, data, options) {\n var settings = _.templateSettings,\n reNoMatch = /($^)/;\n\n text = String(text || '');\n options = _.defaults({}, options, settings);\n\n var reDelimiters = RegExp((options.escape || reNoMatch).source + '|$', 'g');\n\n text = text.replace(reDelimiters, '{{ print(_.xssHardEscape($1)); }}');\n\n text = text.replace(jsNonceTag, \"\");\n\n var tmplFunction = originalTemplate.call(_, text, options);\n\n if (data) {\n return tmplFunction(data);\n }\n\n return tmplFunction;\n },\n\n isEqual: function(a, b) {\n // we need to override isEquals, because it doesn't support dom or jquery elements\n // generally it's a bad idea to check if dom objects are equal, but we have them set into a\n // backbone model which uses isEquals to produce changed attributes property\n if ((_.isElement(a) && _.isElement(b)) || ((a instanceof $) && (b instanceof $))) {\n return a === b;\n }\n\n return originalIsEqual.apply(_, arguments);\n },\n\n cloneDeep: cloneDeep\n});\n\nexport default _;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport moment from 'moment';\nimport 'moment-timezone';\nimport loadLocale from './commonLocaleExtension';\n\nconst DEFAULT_EMBEDDED_LOCALES = ['en', 'en-us'];\n\nconst importMomentLocale = (momentLocale) => {\n return import(`moment/locale/${momentLocale}`)\n}\n\nexport default loadLocale({\n exactImportLocale: importMomentLocale,\n embeddedLocales: DEFAULT_EMBEDDED_LOCALES\n}).then((locale) => {\n moment.locale(locale);\n});","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport React from 'react';\nimport colorConvertUtil from '../util/colorConvertUtil';\nimport Colors from './enum/colors';\n\nconst SWATCH_LIGHT_CLASS = 'jr-mControl-launcher-swatchLight';\nconst TRANSPARENT_CLASS = `${SWATCH_LIGHT_CLASS} jr-mControl-launcher-swatchTransparent`;\n\nexport interface ColorSampleProps {\n color: string,\n label: string,\n onClick(): void\n}\n\nconst getSwatchLightClass = (color : string): string => {\n if (color === Colors.TRANSPARENT) {\n return TRANSPARENT_CLASS;\n }\n if (!colorConvertUtil.isColorDark(color)) {\n return SWATCH_LIGHT_CLASS;\n }\n return '';\n};\n\nconst ColorSample = (props: ColorSampleProps) => {\n const style: React.CSSProperties = { backgroundColor: props.color };\n const className = `jr-mControl-launcher-swatch ${getSwatchLightClass(props.color)} jr`;\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n
\n
\n
{ props.label }
\n
\n );\n};\n\nexport { ColorSample };\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ColorResult } from 'react-color';\nimport { ColorSample as ColorSampleComponent, ColorSampleProps } from './ColorSample';\nimport { AttachableColorPicker as AttachableColorPickerComponent, ColorPickerProps } from './AttachableColorPicker';\n\nexport interface ColorSelectorProps {\n color: string,\n label: string,\n showTransparentPreset?: boolean,\n onColorChange: (color: ColorResult) => void\n}\n\ninterface ColorSelectorState {\n show: boolean\n}\n\nconst createColorSampleWithColorPicker = (\n ColorSample: React.ComponentType,\n AttachableColorPicker: React.ComponentType\n): React.ComponentType => {\n return class ColorSelector extends React.Component {\n\n constructor(props: ColorSelectorProps) {\n super(props);\n\n this.state = {\n show: false\n };\n\n this.colorSampleRef = React.createRef();\n this.colorPickerContainerWrapper = null;\n }\n\n // eslint-disable-next-line camelcase\n UNSAFE_componentWillMount(): void {\n this.colorPickerContainerWrapper = document.createElement('div');\n this.colorPickerContainerWrapper.className = 'jr-jColorPickerWrapper';\n\n document.body.appendChild(this.colorPickerContainerWrapper);\n }\n\n componentWillUnmount(): void {\n if (this.colorPickerContainerWrapper) {\n this.colorPickerContainerWrapper.remove();\n }\n }\n\n private onClick() {\n const isSetState = this.state.show;\n this.setState({\n show: !isSetState\n });\n }\n\n private onColorPickerHide() {\n this.setState({\n show: false\n });\n }\n\n private readonly colorSampleRef: React.RefObject;\n\n private colorPickerContainerWrapper: HTMLDivElement|null;\n\n render() {\n const { show } = this.state;\n const { color, label } = this.props;\n const colorSampleEl = this.colorSampleRef.current;\n\n const showTransparentPreset = typeof this.props.showTransparentPreset === 'undefined'\n ? true\n : this.props.showTransparentPreset;\n\n let colorPicker: React.ReactElement;\n\n if (colorSampleEl) {\n colorPicker = (\n { this.onColorPickerHide() }}\n attachTo={colorSampleEl}\n />\n )\n } else {\n colorPicker =
;\n }\n\n return (\n <>\n
\n { this.onClick() }}\n />\n
\n {\n ReactDOM.createPortal(colorPicker,\n this.colorPickerContainerWrapper as HTMLDivElement)\n }\n \n )\n }\n }\n};\n\nconst ColorSelector = createColorSampleWithColorPicker(\n ColorSampleComponent,\n AttachableColorPickerComponent\n);\n\nexport { createColorSampleWithColorPicker, ColorSelector };\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ColorSelector, ColorSelectorProps } from './ColorSelector';\n\ninterface Options {\n color: string,\n label: string,\n showTransparentPreset: boolean,\n onColorChange(): void,\n ColorSelector?: React.ComponentType\n}\n\nconst defaultOptions = {\n color: '',\n label: '',\n showTransparentPreset: true,\n onColorChange(): void {},\n ColorSelector\n};\n\nexport default class ColorSelectorWrapper {\n private readonly element: HTMLElement;\n\n private readonly onColorChange: () => void;\n\n constructor(element: HTMLElement, options: Options = defaultOptions) {\n this.element = element;\n\n this.onColorChange = options.onColorChange;\n\n this.renderColorSelector({\n color: options.color,\n label: options.label,\n showTransparentPreset: options.showTransparentPreset,\n onColorChange: this.onColorChange\n });\n }\n\n private renderColorSelector(state: Options) {\n ReactDOM.render(\n ,\n this.element\n );\n }\n\n setState(state: { color: string, label: string, showTransparentPreset: boolean}) {\n this.renderColorSelector({\n ...state, onColorChange: this.onColorChange\n });\n }\n\n remove() {\n ReactDOM.unmountComponentAtNode(this.element);\n }\n}\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport Epoxy from 'backbone.epoxy';\nimport Backbone from 'backbone';\nimport ColorSelectorWrapper from '../component/colorPicker/react/ColorSelectorWrapper';\nimport _ from 'underscore';\nimport colorConvertUtil from '../component/colorPicker/util/colorConvertUtil';\n\nfunction getAttrName($el, handlerName) {\n var selector = $el.data('bind'), pattern = new RegExp(handlerName + ':(\\\\w*)\\\\(?(\\\\w*)?\\\\)?');\n if (selector) {\n return _.last(_.compact(selector.match(pattern)));\n } else {\n return $el.data('bindAttribute');\n }\n}\nvar bindingSettings = {\n optionText: 'label',\n optionValue: 'value',\n optionClass: 'className'\n};\nvar isCollection = function (obj) {\n return obj instanceof Backbone.Collection;\n};\nvar isModel = function (obj) {\n return obj instanceof Backbone.Model;\n};\nvar isFunction = _.isFunction;\nvar isObject = _.isObject;\n\nconst TRANSPARENT = 'transparent';\nconst TRANSPARENT_LABEL = 'TRANSP';\n\nEpoxy.binding.addHandler('optionsWithAdditionalProperties', {\n init: function ($element, value, context, bindings) {\n this.e = bindings.optionsEmpty;\n this.d = bindings.optionsDefault;\n this.v = bindings.value;\n },\n set: function ($element, value) {\n var self = this;\n var optionsEmpty = readAccessor(self.e);\n var optionsDefault = readAccessor(self.d);\n var currentValue = readAccessor(self.v);\n var options = isCollection(value) ? value.models : value;\n var numOptions = options.length;\n var enabled = true;\n var html = '';\n if (!numOptions && !optionsDefault && optionsEmpty) {\n html += self.opt(optionsEmpty, numOptions);\n enabled = false;\n } else {\n if (optionsDefault) {\n options = [optionsDefault].concat(options);\n }\n _.each(options, function (option, index) {\n html += self.opt(option, numOptions);\n });\n }\n $element.html(html).prop('disabled', !enabled).val(currentValue);\n if ($element[0].selectedIndex < 0 && $element.children().length) {\n $element[0].selectedIndex = 0;\n }\n var revisedValue = $element.val();\n if (self.v && !_.isEqual(currentValue, revisedValue)) {\n self.v(revisedValue);\n }\n },\n opt: function (option, numOptions) {\n var label = option;\n var value = option;\n var className = option;\n var textAttr = bindingSettings.optionText;\n var valueAttr = bindingSettings.optionValue;\n var classAttr = bindingSettings.optionClass;\n var optionClass;\n if (isObject(option)) {\n label = isModel(option) ? option.get(textAttr) : option[textAttr];\n value = isModel(option) ? option.get(valueAttr) : option[valueAttr];\n className = isModel(option) ? option.get(classAttr) : option[classAttr];\n }\n if (className) {\n optionClass = 'class=\"' + className + '\"';\n } else {\n optionClass = '';\n }\n return [\n ''\n ].join('');\n }\n});\nEpoxy.binding.addHandler('validationErrorClass', {\n init: function ($element, value, bindings, context) {\n this.attr = getAttrName($element, 'validationErrorClass');\n var model = this.view.model;\n this._onAttrValidated = function (model, attr, error) {\n $element[error ? 'addClass' : 'removeClass']('error');\n };\n model.on('validate:' + this.attr, this._onAttrValidated);\n },\n get: function ($element, value, event) {\n return $element.val();\n },\n set: function ($element, value) {\n $element.val(value);\n },\n clean: function () {\n this.view.model.off('validate:' + this.attr, this._onAttrValidated);\n }\n});\nEpoxy.binding.addHandler('validationErrorText', {\n init: function ($element, value, bindings, context) {\n this.attr = getAttrName($element, 'validationErrorText');\n var model = this.view.model;\n this._onAttrValidated = function (model, attr, error) {\n $element.text(error || '');\n };\n model.on('validate:' + this.attr, this._onAttrValidated);\n },\n get: function ($element, value, event) {\n return $element.val();\n },\n set: function ($element, value) {\n $element.val(value);\n },\n clean: function () {\n this.view.model.off('validate:' + this.attr, this._onAttrValidated);\n }\n});\nEpoxy.binding.addFilter('escapeCharacters', {\n get: function (value) {\n return _.escape(value);\n },\n set: function (value) {\n return _.unescape(value);\n }\n});\nEpoxy.binding.addHandler('colorpicker', {\n init: function ($element, value, bindings, context) {\n var self = this,\n showTransparentInput = !!$element.data('showTransparentInput'),\n attr = getAttrName($element, 'colorpicker'),\n colorSelectorState = this._getColorSelectorState(value);\n this.colorPicker = new ColorSelectorWrapper($element[0], {\n showTransparentPreset: showTransparentInput,\n color: colorSelectorState.color,\n label: colorSelectorState.label,\n onColorChange: function(color){\n bindings[attr](self._convertColorForModel(color));\n }\n });\n },\n get: function ($element, value, event) {\n return $element.val();\n },\n set: function ($element, value) {\n let state = this._getColorSelectorState(value);\n this.colorPicker.setState(state);\n },\n clean: function () {\n this.colorPicker.remove();\n },\n _getColorSelectorState: function(value) {\n let label = colorConvertUtil.rgba2NoAlphaHex(value),\n color = label;\n\n if (colorConvertUtil.isRgbTransparent(value)) {\n label = TRANSPARENT_LABEL;\n color = TRANSPARENT;\n }\n\n return {\n label,\n color\n };\n },\n _convertColorForModel: function(color) {\n var rgb = color.rgb;\n\n return (`rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a})`);\n }\n});\nEpoxy.binding.addHandler('radioDiv', {\n init: function ($element, value, bindings, context) {\n var attr = getAttrName($element, 'radioDiv');\n this.callback = function () {\n var value = $element.data('value');\n bindings[attr](value);\n };\n $element.on('click', _.bind(this.callback, this));\n },\n get: function ($element, value, event) {\n return $element.data('value');\n },\n set: function ($element, value) {\n var radioDivs = $element.siblings('div[data-bind*=\\'radioDiv:\\']');\n if ($element.data('value') === value) {\n $element.addClass('checked');\n $element.children('.radioChild').addClass('checked');\n radioDivs.removeClass('checked');\n radioDivs.children('.radioChild').removeClass('checked');\n }\n }\n});\nEpoxy.binding.addHandler('checkboxDiv', {\n init: function ($element, value, bindings, context) {\n var attr = getAttrName($element, 'checkboxDiv');\n this.callback = function () {\n bindings[attr](!bindings[attr]());\n };\n $element.on('click', _.bind(this.callback, this));\n },\n get: function ($element, value, event) {\n return $element.data('value');\n },\n set: function ($element, value) {\n if (value) {\n $element.addClass('checked');\n $element.children('.checkboxChild').addClass('checked');\n } else {\n $element.removeClass('checked');\n $element.children('.checkboxChild').removeClass('checked');\n }\n }\n});\nEpoxy.binding.addHandler('slide', function ($element, value) {\n $element[value ? 'slideDown' : 'slideUp']({\n complete: function () {\n !value && $element.hide();\n }\n });\n});\nEpoxy.binding.addHandler('selectionRange', {\n get: function ($element, value, event) {\n return {\n selectionRange: {\n start: $element[0].selectionStart,\n end: $element[0].selectionEnd\n }\n };\n },\n set: function ($element, value) {\n if ($element.is(':visible')) {\n $element[0].setSelectionRange(value.start, value.end);\n $element.focus();\n }\n }\n});\nEpoxy.binding.addFilter('prependText', function (value, text) {\n if (text.charAt(0) === '\\'' && text.charAt(text.length - 1) === '\\'') {\n text = text.slice(1, text.length - 1);\n }\n return text + ' ' + (_.isUndefined(value) ? '' : value);\n});\nfunction readAccessor(accessor) {\n if (isFunction(accessor)) {\n return accessor();\n } else if (isObject(accessor)) {\n accessor = _.clone(accessor);\n _.each(accessor, function (value, key) {\n accessor[key] = readAccessor(value);\n });\n }\n return accessor;\n}\nexport default Epoxy;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport tv4 from 'tv4';\nimport timeUtil from '../util/parse/time';\nimport dateUtil from '../util/parse/date';\n\ntv4.addFormat({\n 'date-time': function (value) {\n if (dateUtil.isIso8601Timestamp(value)) {\n return null;\n }\n return 'A valid ISO 8601 date-time string (YYYY-MM-DDThh:mm:ss) is expected';\n },\n 'time': function (value) {\n if (timeUtil.isIso8601Time(value)) {\n return null;\n }\n return 'A valid ISO 8601 time string (hh:mm:ss) is expected';\n }\n});\n\nexport default tv4;","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport Backbone from 'backbone';\nimport request from \"js-sdk/src/common/transport/request\";\n\nBackbone.ajax = request;\nBackbone.noConflict();\n\nexport default Backbone;\n","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport bundleLoader from '../i18n/bundleLoader';\nimport extendRequest from '../transport/requestExtension';\nimport 'js-sdk/src/common/extension/jqueryExtension';\nimport './prototypeExtension';\nimport \"js-sdk/src/common/extension/underscoreExtension\";\nimport momentLocaleLoaded from \"js-sdk/src/common/extension/momentExtension\";\nimport \"js-sdk/src/common/extension/epoxyExtension\";\nimport \"js-sdk/src/common/extension/tv4Extension\";\nimport \"js-sdk/src/common/extension/jQueryTimepickerExtension\";\nimport \"../config/backboneConfig\";\n\nconst importNumeralExtension = () => import(/* webpackMode: \"eager\" */ \"js-sdk/src/common/extension/numeralExtension\");\n\nextendRequest();\n\nexport default Promise.all([\n bundleLoader([\"jasperserver_config\"]).then(importNumeralExtension),\n momentLocaleLoaded\n]);\n","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\n// This file should be very first import in each final js webpack bundle\n// This module does configuration for all js bundles\n\nimport bundleLoader from '../i18n/bundleLoader';\nimport settingsLoader from '../settings/settingsLoader';\nimport allExtensionsLoaded from './allExtensionsSetup';\n\nexport default ({bundles, settings, importCommonModule} = {}) => {\n if (importCommonModule) {\n // wait for bundles for the common modules and for the common module itself\n Promise.all([\n bundleLoader([\"CommonBundle\", \"jasperserver_config\", \"jasperserver_messages\", \"jsexceptions_messages\"]),\n settingsLoader([\"dateTimeSettings\"])\n ]).then(importCommonModule)\n }\n\n return Promise.all([\n allExtensionsLoaded,\n bundleLoader(bundles),\n settingsLoader(settings)\n ]);\n}\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport $ from 'jquery';\n\ninterface PosFunctionOptions {\n attachToOffset: {\n top: number,\n left: number\n },\n attachToSize: {\n width: number,\n height: number\n },\n elementSize: {\n width: number,\n height: number\n },\n padding: {\n top: number,\n left: number\n }\n}\n\nconst getInitialPos = (options: PosFunctionOptions) => {\n return {\n top: options.attachToOffset.top + options.attachToSize.height + options.padding.top,\n left: options.attachToOffset.left\n }\n};\n\nconst placeElementAboveAttachTo = (options: PosFunctionOptions) => {\n return options.attachToOffset.top - options.elementSize.height - options.padding.top;\n};\n\nconst placeElementOnTheRightSideOfAttachTo = (options: PosFunctionOptions) => {\n return options.attachToOffset.left + options.attachToSize.width;\n};\n\nconst placeElementOnTheLeftSideOfAttachTo = (options: PosFunctionOptions) => {\n return options.attachToOffset.left - options.elementSize.width;\n};\n\nconst alignElementVertically = (options: PosFunctionOptions) => {\n return options.attachToOffset.top - options.elementSize.height / 2 - options.padding.top;\n};\n\nconst alignElementHorizontally = (options: PosFunctionOptions) => {\n return options.attachToOffset.left + options.attachToSize.width / 2 - options.elementSize.width / 2;\n};\n\nconst alignElementByRightEdgeOfAttachTo = (options: PosFunctionOptions) => {\n return options.attachToOffset.left + options.attachToSize.width - options.elementSize.width;\n};\n\nexport default {\n getPosition(\n attachTo: HTMLElement,\n padding: {top: number, left: number} = { top: 0, left: 0 },\n element: HTMLElement,\n jQuery?: (e: HTMLElement|string) => any\n ): {top: number, left: number} {\n const query = jQuery || $;\n\n const body = query('body');\n const $attachTo = query(attachTo);\n const $el = query(element);\n\n const attachToOffset = $attachTo.offset() || { top: 0, left: 0 };\n const attachToHeight = $attachTo[0].tagName && $attachTo[0].tagName.toLowerCase() === 'input'\n ? $attachTo.outerHeight() || 0 : $attachTo.height() || 0;\n const attachToWidth = $attachTo.width() || 0;\n\n const bodyHeight = body.height() || 0;\n const bodyWidth = body.width() || 0;\n const elementWidth = $el.innerWidth() || 0;\n const elementHeight = $el.innerHeight() || 0;\n\n const options = {\n attachToOffset,\n attachToSize: {\n width: attachToWidth,\n height: attachToHeight\n },\n elementSize: {\n width: elementWidth,\n height: elementHeight\n },\n padding\n };\n\n const initialPos = getInitialPos(options);\n\n let { top, left } = initialPos;\n\n let verticallyAligned = false;\n\n const elementIntersectsViewPortBottomBoundary = top + elementHeight > bodyHeight;\n\n if (elementIntersectsViewPortBottomBoundary) {\n top = placeElementAboveAttachTo(options);\n }\n\n const elementIntersectsViewportTopBoundary = top < 0;\n\n if (elementIntersectsViewportTopBoundary) {\n top = alignElementVertically(options);\n left = placeElementOnTheRightSideOfAttachTo(options);\n\n verticallyAligned = true;\n }\n\n const elementIntersectsViewportRightBoundary = left + elementWidth > bodyWidth;\n\n if (elementIntersectsViewportRightBoundary) {\n left = verticallyAligned\n ? placeElementOnTheLeftSideOfAttachTo(options)\n : alignElementByRightEdgeOfAttachTo(options);\n }\n\n const elementIntersectsViewportLeftBoundary = left < 0;\n\n if (elementIntersectsViewportLeftBoundary) {\n left = alignElementHorizontally(options);\n }\n\n // when viewport is still to small to fit the element\n if (top < 0) {\n top = 0;\n }\n\n if (left < 0) {\n left = 0;\n }\n\n return {\n top,\n left,\n };\n },\n};\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport React from 'react';\nimport { ColorResult, SketchPicker, SketchPickerProps } from 'react-color';\nimport positionUtil from '../../base/util/attachableComponentPositionUtil';\n\nimport Colors from './enum/colors';\n\nconst getPresetColors = (showTransparentPreset: boolean): string[] => {\n let presetColors = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFFFFF'\n ];\n\n if (showTransparentPreset) {\n presetColors = presetColors.concat([Colors.TRANSPARENT]);\n }\n\n return presetColors;\n};\n\nexport interface ColorPickerProps {\n padding: { top: number, left: number },\n show: boolean,\n color: string,\n disableAlpha?: boolean,\n showTransparentPreset?: boolean,\n onChangeComplete(color: ColorResult): void,\n onHide(): void,\n attachTo: HTMLElement\n}\n\ninterface ColorPickerPropsExtended extends ColorPickerProps {\n ColorPicker: React.ComponentType,\n doc: Document\n}\n\ninterface ColorPickerState {\n disableAlpha: boolean,\n showTransparentPreset: boolean\n}\n\nclass ColorPickerWithAbilityToAttach extends\n React.Component {\n constructor(props: ColorPickerPropsExtended) {\n super(props);\n\n const {\n disableAlpha, showTransparentPreset\n } = props;\n\n this.state = {\n disableAlpha: typeof disableAlpha === 'undefined' ? true : disableAlpha,\n showTransparentPreset: typeof showTransparentPreset === 'undefined'\n ? true\n : showTransparentPreset,\n };\n\n this.divRef = React.createRef();\n\n this.boundOnDocumentMousedown = this.onDocumentMousedown.bind(this);\n }\n\n componentDidMount(): void {\n this.forceUpdate();\n }\n\n componentDidUpdate() {\n this.props.doc.removeEventListener('mousedown', this.boundOnDocumentMousedown);\n\n if (this.props.show && this.divRef.current) {\n this.props.doc.addEventListener('mousedown', this.boundOnDocumentMousedown);\n }\n }\n\n componentWillUnmount(): void {\n this.props.doc.removeEventListener('mousedown', this.boundOnDocumentMousedown);\n }\n\n onDocumentMousedown(e: Event) {\n const colorPickerEl = this.divRef.current;\n const mouseDownTarget = e.target as HTMLElement;\n const { attachTo } = this.props;\n\n if (colorPickerEl) {\n if (!colorPickerEl.contains(mouseDownTarget)\n && !colorPickerEl.isEqualNode(mouseDownTarget)\n && !attachTo.contains(mouseDownTarget)\n && !attachTo.isEqualNode(mouseDownTarget)\n ) {\n this.props.onHide();\n }\n }\n }\n\n private readonly divRef: React.RefObject;\n\n private readonly boundOnDocumentMousedown: (e: Event) => void;\n\n render() {\n const {\n show, color, attachTo, padding, onChangeComplete, ColorPicker\n } = this.props;\n\n const {\n disableAlpha, showTransparentPreset\n } = this.state;\n\n let position = {\n top: 0,\n left: 0\n };\n\n if (this.divRef.current) {\n position = positionUtil\n .getPosition(attachTo, padding, this.divRef.current);\n }\n\n const style: React.CSSProperties = {\n position: 'absolute',\n zIndex: 9000,\n top: `${position.top}px`,\n left: `${position.left}px`,\n visibility: show && this.divRef.current ? 'visible' : 'hidden',\n };\n\n return (\n
\n \n
\n );\n }\n}\n\nconst withAbilityToAttach = (ColorPicker: React.ComponentType, doc: Document): React.ComponentType => {\n return (props: ColorPickerProps) => {\n const extendedProps = {\n ...props,\n ColorPicker,\n doc\n };\n\n return (\n \n );\n }\n};\n\nconst AttachableColorPicker = withAbilityToAttach(SketchPicker, document);\n\nexport { withAbilityToAttach, AttachableColorPicker };\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nenum Colors {\n TRANSPARENT = 'transparent'\n}\n\nexport default Colors;\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nconst RGBA_REGEX = /^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/;\nconst THRESHOLD = 127.5;\n\nexport default {\n rgba2NoAlphaHex(color: string): string {\n const rgb = color.match(RGBA_REGEX) || [];\n const hexValue = '#';\n\n return [rgb[1], rgb[2], rgb[3]].reduce((memo, val) => {\n const hex = (`0${parseInt(val, 10).toString(16)}`).slice(-2);\n return memo + hex;\n }, hexValue).toUpperCase();\n },\n isRgbTransparent: (rgb: string): boolean => {\n return rgb.replace(/\\s/g, '').indexOf('0,0,0,0') !== -1;\n },\n isRgba: (rgb: string): boolean => {\n return RGBA_REGEX.test(rgb);\n },\n isColorDark: (color: string): boolean => {\n let colour,\n r,\n g,\n b;\n\n if (/^rgb/.test(color)) {\n colour = color.match(RGBA_REGEX) || [];\n\n r = parseInt(colour[1], 10);\n g = parseInt(colour[2], 10);\n b = parseInt(colour[3], 10);\n } else {\n colour = color.substr(1);\n\n r = parseInt(`${colour[0]}${colour[1]}`, 16);\n g = parseInt(`${colour[2]}${colour[3]}`, 16);\n b = parseInt(`${colour[4]}${colour[5]}`, 16);\n }\n\n const rgb = Math.sqrt(\n 0.299 * (r * r)\n + 0.587 * (g * g)\n + 0.114 * (b * b)\n );\n\n return rgb < THRESHOLD;\n }\n}\n","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nexport default () => ({\n headers: {\n 'X-Suppress-Basic': 'true',\n 'Cache-Control': 'no-cache, no-store',\n 'Pragma': 'no-cache'\n }\n});","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport jrsConfigs from '../../jrs.configs';\n\nconst DEFAULT_LOCALE_SEPARATOR = '-';\nconst DEFAULT_LOCALE_FALLBACK = 'en';\nconst DEFAULT_EMBEDDED_LOCALES = [DEFAULT_LOCALE_FALLBACK];\n\nconst importLocale = (locale, exactImportLocale, embeddedLocales) => {\n if (!embeddedLocales.includes(locale)) {\n return exactImportLocale(locale);\n } else {\n // en and en-us locales are bundled into the moment library, no need to load them\n return Promise.resolve();\n }\n}\n\n// if locale is zh-cn we will load zh-cn first\n// and if load will fail we will try to load zh locale as a fallback\n// if load still will fail we will use default fallback\nconst resolveLocale = (localesToCheck, localeFallback, exactImportLocale, embeddedLocales) => {\n const localeToImport = localesToCheck.pop();\n return importLocale(localeToImport, exactImportLocale, embeddedLocales)\n .then(() => localeToImport)\n .catch(() => {\n if (localesToCheck.length > 0) {\n return resolveLocale(localesToCheck, localeFallback, exactImportLocale, embeddedLocales);\n } else {\n return localeFallback;\n }\n })\n}\n\nconst defaultLocaleConverter = (locale) => {\n const locales = locale.toLowerCase().split('_');\n\n return locales.reduce((acc, nextLocalePart, index) => {\n const previousLocalePart = index > 0 ? `${acc[index - 1]}${DEFAULT_LOCALE_SEPARATOR}` : ''\n const nextLocale = `${previousLocalePart}${nextLocalePart}`;\n return acc.concat(nextLocale);\n }, []);\n}\n\nexport default ({\n exactImportLocale,\n locale = jrsConfigs.userLocale,\n localeFallback = DEFAULT_LOCALE_FALLBACK,\n localeConverter = defaultLocaleConverter,\n embeddedLocales = DEFAULT_EMBEDDED_LOCALES\n}) => {\n const localesToCheck = localeConverter(locale);\n\n return resolveLocale(localesToCheck, localeFallback, exactImportLocale, embeddedLocales);\n}","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport $ from 'jquery';\n\nimport 'jquery-ui/ui/widgets/datepicker';\n\nvar _jasperPrefix = \"jr\";\nvar _jasperPopupClass = \"jr-jDatepickerPopupContainer\";\n\nvar datepickerId = $.datepicker.dpDiv.attr(\"id\"),\n _mainDivId = _jasperPrefix + \"-\" + datepickerId;\n\n$.datepicker._mainDivId = _mainDivId;\n\n$.datepicker.dpDiv.attr(\"id\", _mainDivId);\n\n$.datepicker.dpDiv.removeClass();\n\nvar dpDivClass = _jasperPopupClass\n + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all '\n + _jasperPrefix;\n\n$.datepicker.dpDiv.addClass(dpDivClass);\n\nvar originalNewInst = $.datepicker._newInst;\n\n$.datepicker._newInst = function() {\n var result = originalNewInst.apply($.datepicker, arguments);\n\n result.dpDiv.removeClass(_jasperPrefix);\n result.dpDiv.addClass(_jasperPrefix);\n\n return result;\n};\n\nvar originalGoToToday = $.datepicker._gotoToday;\n\n$.datepicker._gotoToday = function(id) {\n originalGoToToday.call(this, id);\n this._selectDate(id);\n};\n\nexport default $;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport $ from 'jquery';\n\nimport './jQueryDatepickerExtension';\nimport './jQueryUiSliderAccessExtension';\nimport 'jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon';\n\nvar originalNewInst = $.timepicker._newInst;\n\n$.timepicker._newInst = function($input, opts) {\n if (!opts.onChangeMonthYear) {\n opts.onChangeMonthYear = function(year, month, datepicker, timepicker) {\n datepicker.currentYear = datepicker.selectedYear;\n datepicker.currentMonth = datepicker.selectedMonth;\n datepicker.currentDay = datepicker.selectedDay;\n\n timepicker._updateDateTime(datepicker);\n };\n }\n\n var instance = originalNewInst.call($.timepicker, $input, opts);\n\n var originalOnTimeChange = instance._onTimeChange;\n\n instance._onTimeChange = function() {\n this.$timeObj[0].setSelectionRange = null;\n\n return originalOnTimeChange.apply(this, arguments);\n };\n\n return instance;\n};\n\nexport default $;","\n import {store, MERGED_BUNDLES_NAME} from 'bundleStore';\n \n let bundle;\n \n if ('jasperserver_config' !== MERGED_BUNDLES_NAME) {\n store['jasperserver_config'] = store['jasperserver_config'] || {};\n bundle = store['jasperserver_config'];\n } else {\n bundle = Object.keys(store).reduce((acc, key) => {\n return {\n ...acc,\n ...store[key]\n }\n }, {});\n }\n \n export default bundle;\n ","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport numeral from 'numeral';\nimport jasperserverConfig from \"../../i18n/jasperserver_config.properties\";\nimport loadLocale from './commonLocaleExtension';\n\nconst DEFAULT_EMBEDDED_LOCALES = ['en'];\n\nconst importNumeralLocale = (locale) => {\n return import(`numeral/locales/${locale}`);\n}\n\nexport default loadLocale({\n exactImportLocale: importNumeralLocale,\n embeddedLocales: DEFAULT_EMBEDDED_LOCALES\n}).then((locale) => {\n numeral.locale(locale);\n numeral.localeData(locale).currency.symbol = jasperserverConfig['client.currency.symbol'];\n numeral.localeData(locale).delimiters.thousands = jasperserverConfig['client.delimiters.thousands'];\n numeral.localeData(locale).delimiters.decimal = jasperserverConfig['client.delimiters.decimal'];\n});","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport $ from 'jquery';\nimport _ from 'underscore';\nimport requestSettingsDefault from '../config/requestSettings';\nimport requestRegistry from \"./requestRegistry\";\n\nconst defaultRequest = (...args) => {\n const requestSettings = requestSettingsDefault();\n\n var mergedOptions = _.extend({}, requestSettings, args[0]);\n\n if (requestSettings.headers && args[0].headers) {\n mergedOptions.headers = _.extend({}, requestSettings.headers, args[0].headers);\n }\n\n args[0] = mergedOptions;\n\n return $.ajax.apply($, args);\n}\n\nexport default function (...args) {\n if (requestRegistry.request) {\n return requestRegistry.request.call(null, ...args);\n }\n\n return defaultRequest(...args);\n}","/*\n * Copyright (C) 2005 - 2019 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nexport default {\n request: null //set value to override default request\n};","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport _ from 'underscore';\nvar RelativeDate = function (keyword, sign, number) {\n this.setKeyword(keyword);\n this.setSign(sign);\n this.setNumber(number);\n};\nRelativeDate.prototype.setKeyword = function (keyword) {\n this.keyword = keyword.toUpperCase();\n};\nRelativeDate.prototype.setSign = function (sign) {\n this.sign = sign;\n};\nRelativeDate.prototype.setNumber = function (number) {\n if (_.isNumber(number)) {\n this.number = number;\n } else {\n var value = parseInt(number, 10);\n if (!isNaN(value)) {\n this.number = value;\n } else {\n this.number = 0;\n }\n }\n};\nRelativeDate.prototype.toString = function () {\n if (_.isNumber(this.number) && !isNaN(this.number) && this.number > 0 && (this.sign === '+' || this.sign === '-') && this.keyword in RelativeDate.PATTERNS) {\n return this.keyword + this.sign + this.number.toString();\n } else if (this.keyword in RelativeDate.PATTERNS) {\n return this.keyword;\n } else {\n return '';\n }\n};\nRelativeDate.PATTERNS = {\n DAY: /^(DAY)(([+|\\-])(\\d{1,9}))?$/i,\n WEEK: /^(WEEK)(([+|\\-])(\\d{1,9}))?$/i,\n MONTH: /^(MONTH)(([+|\\-])(\\d{1,9}))?$/i,\n QUARTER: /^(QUARTER)(([+|\\-])(\\d{1,9}))?$/i,\n SEMI: /^(SEMI)(([+|\\-])(\\d{1,9}))?$/i,\n YEAR: /^(YEAR)(([+|\\-])(\\d{1,9}))?$/i\n};\nRelativeDate.parse = function (relativeDateString) {\n if (RelativeDate.isValid(relativeDateString)) {\n for (var pattern in RelativeDate.PATTERNS) {\n var result = RelativeDate.PATTERNS[pattern].exec(relativeDateString);\n if (result !== null && _.isArray(result) && result.length === 5) {\n return new RelativeDate(result[1], result[3], result[4]);\n }\n }\n }\n return undefined;\n};\nRelativeDate.isValid = function (relativeDate) {\n if (relativeDate instanceof RelativeDate) {\n return relativeDate.toString() !== '';\n } else if (_.isString(relativeDate)) {\n for (var pattern in RelativeDate.PATTERNS) {\n if (RelativeDate.PATTERNS[pattern].test(relativeDate)) {\n return true;\n }\n }\n }\n return false;\n};\nexport default RelativeDate;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport RelativeDate from './RelativeDate';\nimport _ from 'underscore';\nvar RelativeTime = function () {\n RelativeDate.apply(this, arguments);\n};\nvar F = function () {\n};\nF.prototype = RelativeDate.prototype;\nRelativeTime.prototype = new F();\nRelativeTime.prototype.constructor = RelativeTime;\nRelativeTime.PATTERNS = {\n MINUTE: /^(MINUTE)(([+|\\-])(\\d{1,9}))?$/i,\n HOUR: /^(HOUR)(([+|\\-])(\\d{1,9}))?$/i\n};\nRelativeTime.parse = function (relativeTimeString) {\n if (RelativeTime.isValid(relativeTimeString)) {\n for (var pattern in RelativeTime.PATTERNS) {\n var result = RelativeTime.PATTERNS[pattern].exec(relativeTimeString);\n if (result !== null && _.isArray(result) && result.length === 5) {\n return new RelativeTime(result[1], result[3], result[4]);\n }\n }\n }\n return undefined;\n};\nRelativeTime.isValid = function (relativeTime) {\n if (relativeTime instanceof RelativeTime) {\n return relativeTime.toString() !== '';\n } else if (_.isString(relativeTime)) {\n for (var pattern in RelativeTime.PATTERNS) {\n if (RelativeTime.PATTERNS[pattern].test(relativeTime)) {\n return true;\n }\n }\n }\n return false;\n};\nexport default RelativeTime;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport RelativeDate from './RelativeDate';\nimport _ from 'underscore';\nvar RelativeTimestamp = function () {\n RelativeDate.apply(this, arguments);\n};\nvar F = function () {\n};\nF.prototype = RelativeDate.prototype;\nRelativeTimestamp.prototype = new F();\nRelativeTimestamp.prototype.constructor = RelativeTimestamp;\nRelativeTimestamp.PATTERNS = {\n DAY: /^(DAY)(([+|\\-])(\\d{1,9}))?$/i,\n WEEK: /^(WEEK)(([+|\\-])(\\d{1,9}))?$/i,\n MONTH: /^(MONTH)(([+|\\-])(\\d{1,9}))?$/i,\n QUARTER: /^(QUARTER)(([+|\\-])(\\d{1,9}))?$/i,\n SEMI: /^(SEMI)(([+|\\-])(\\d{1,9}))?$/i,\n YEAR: /^(YEAR)(([+|\\-])(\\d{1,9}))?$/i\n};\nRelativeTimestamp.parse = function (relativeTimestampString) {\n if (RelativeTimestamp.isValid(relativeTimestampString)) {\n for (var pattern in RelativeTimestamp.PATTERNS) {\n var result = RelativeTimestamp.PATTERNS[pattern].exec(relativeTimestampString);\n if (result !== null && _.isArray(result) && result.length === 5) {\n return new RelativeTimestamp(result[1], result[3], result[4]);\n }\n }\n }\n return undefined;\n};\nRelativeTimestamp.isValid = function (relativeTimestamp) {\n if (relativeTimestamp instanceof RelativeTimestamp) {\n return relativeTimestamp.toString() !== '';\n } else if (_.isString(relativeTimestamp)) {\n for (var pattern in RelativeTimestamp.PATTERNS) {\n if (RelativeTimestamp.PATTERNS[pattern].test(relativeTimestamp)) {\n return true;\n }\n }\n }\n return false;\n};\nexport default RelativeTimestamp;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport moment from 'moment';\nimport jrsConfigs from \"../../../jrs.configs\";\nimport _ from 'underscore';\nimport RelativeDate from '../datetime/RelativeDate';\nimport RelativeTimestamp from '../datetime/RelativeTimestamp';\n\nlet localeSettingsObject = jrsConfigs.localeSettings;\n\nvar userTimezone = jrsConfigs.userTimezone;\n\nvar ISO_8601_TIMESTAMP_PATTERN = \"YYYY-MM-DD[T]HH:mm:ss\",\n ISO_8601_DATE_PATTERN = \"YYYY-MM-DD\",\n ISO_8601_TIME_PATTERN = \"HH:mm:ss\";\n\nfunction toMomentDatePattern(dateFormat) {\n var result = dateFormat;\n\n //convert year part of the format\n if (dateFormat.indexOf(\"yy\") > -1) {\n result = result.replace(\"yy\", \"YYYY\"); // four digit year: 2015\n } else {\n result = result.replace(\"y\", \"YY\"); // two digit year: 15\n }\n\n\n //convert month part of the format\n if (dateFormat.indexOf(\"mm\") > -1) {\n result = result.replace(\"mm\", \"MM\"); // two digit month with leading zero: 02\n } else if (dateFormat.indexOf(\"MM\") > -1) {\n result = result.replace(\"MM\", \"MMMM\"); // Long month name: February\n } else if (dateFormat.indexOf(\"m\") > -1) {\n result = result.replace(\"m\", \"M\"); // two digit month withoud leading zero: 2\n } else if (dateFormat.indexOf(\"M\") > -1) {\n result = result.replace(\"M\", \"MMM\"); // Short month name: Feb\n }\n\n\n //convert day part of the format\n if (dateFormat.indexOf(\"dd\") > -1) {\n result = result.replace(\"dd\", \"DD\"); // day of month (two digit): 02\n } else if (dateFormat.indexOf(\"DD\") > -1) {\n result = result.replace(\"DD\", \"dddd\"); // week day name long: Monday\n } else if (dateFormat.indexOf(\"d\") > -1) {\n result = result.replace(\"d\", \"D\"); // day of month (two digit) without leading zero: 2\n } else if (dateFormat.indexOf(\"D\") > -1) {\n result = result.replace(\"D\", \"ddd\"); // week day short day name: Mon\n }\n\n return result;\n}\n\nfunction fromJavaToMomentDatePattern(dateFormat) {\n return dateFormat.toUpperCase();\n}\n\nfunction toMomentTimePattern(timeFormat) {\n return timeFormat.toLowerCase().replace(\"hh\", \"HH\");\n}\n\nfunction fromJavaToMomentTimePattern(timeFormat) {\n return timeFormat.replace(\"aaa\", \"a\");\n}\n\nfunction toMomentTimestampPattern(dateFormat, timeFormat, separator) {\n var datePattern = toMomentDatePattern(dateFormat),\n timePattern = toMomentTimePattern(timeFormat);\n\n return datePattern + (separator != null ? separator : \" \") + timePattern;\n}\n\nfunction toMomentDateOrTimeOrTimestampPattern(dateOrTimeOrTimestampFormat, dateTimeSeparator, fromJava) {\n fromJava = typeof fromJava !== \"undefined\" ? fromJava : false;\n dateTimeSeparator = dateTimeSeparator || \" \";\n\n var formatAsArray = dateOrTimeOrTimestampFormat.split(dateTimeSeparator);\n var dateFormat = formatAsArray[0];\n var timeFormat = formatAsArray.length > 1 ? formatAsArray[1] : null;\n\n var toDatePattern = fromJava ? fromJavaToMomentDatePattern : toMomentDatePattern;\n var toTimePattern = fromJava ? fromJavaToMomentTimePattern : toMomentTimePattern;\n\n if ((dateFormat.indexOf('h') > 0) || (dateFormat.indexOf('H') > 0) || dateFormat.indexOf(\"s\") > 0) {\n timeFormat = dateFormat;\n dateFormat = null;\n }\n\n var result = \"\";\n\n if (dateFormat) {\n result += toDatePattern(dateFormat);\n }\n\n if (timeFormat) {\n if (result) {\n result += dateTimeSeparator;\n }\n\n result += toTimePattern(timeFormat);\n }\n\n return result;\n}\n\nfunction dateStringToMoment(value) {\n return moment(value, toMomentDatePattern(localeSettingsObject.dateFormat), true);\n}\n\nfunction timestampStringToMoment(value) {\n return moment(value, toMomentTimestampPattern(\n localeSettingsObject.dateFormat,\n localeSettingsObject.timeFormat,\n localeSettingsObject.timestampSeparator), true);\n}\n\nfunction isRelativeDate(value) {\n return RelativeDate.isValid(value);\n}\n\nfunction isRelativeTimestamp(value) {\n return RelativeTimestamp.isValid(value);\n}\n\nfunction isDate(value) {\n return (_.isDate(value) && moment(value).isValid())\n || (_.isString(value) && value !== \"\" && dateStringToMoment(value).isValid());\n}\n\nfunction isTimestamp(value) {\n return (_.isDate(value) && moment(value).isValid())\n || (_.isString(value) && value !== \"\" && timestampStringToMoment(value).isValid());\n}\n\nfunction isIso8601Timestamp(value) {\n return moment(value, ISO_8601_TIMESTAMP_PATTERN, true).isValid();\n}\n\nfunction compareDates(value1, value2) {\n if (!isDate(value1) || !isDate(value2)) {\n return;\n }\n\n var moment1 = _.isDate(value1) ? moment(value1) : dateStringToMoment(value1),\n moment2 = _.isDate(value2) ? moment(value2) : dateStringToMoment(value2);\n\n return compareMoments(moment1, moment2);\n}\n\nfunction compareTimestamps(value1, value2) {\n if (!isTimestamp(value1) || !isTimestamp(value2)) {\n return;\n }\n\n var moment1 = _.isDate(value1) ? moment(value1) : timestampStringToMoment(value1),\n moment2 = _.isDate(value2) ? moment(value2) : timestampStringToMoment(value2);\n\n return compareMoments(moment1, moment2);\n}\n\nfunction compareMoments(moment1, moment2) {\n if (moment1.isBefore(moment2)) {\n return -1;\n } else if (moment1.isAfter(moment2)) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction dateObjectToIso8601Timestamp(value) {\n var momentDate = moment(value);\n\n if (_.isDate(value) && momentDate.isValid()) {\n return momentDate.format(ISO_8601_TIMESTAMP_PATTERN);\n }\n\n return undefined;\n}\n\nfunction iso8601TimestampToDateObject(value) {\n var momentDate = moment(value, ISO_8601_TIMESTAMP_PATTERN, true);\n\n if (momentDate.isValid()) {\n return momentDate.toDate();\n }\n\n return undefined;\n}\n\nfunction localizedTimestampToIsoTimestamp(localizedTimestampString){\n return convert(localizedTimestampString, toMomentTimestampPattern(\n localeSettingsObject.dateFormat,\n localeSettingsObject.timeFormat,\n localeSettingsObject.timestampSeparator), ISO_8601_TIMESTAMP_PATTERN);\n}\n\nfunction isoTimestampToLocalizedTimestamp(isoTimestampString){\n return convert(isoTimestampString, ISO_8601_TIMESTAMP_PATTERN, toMomentTimestampPattern(\n localeSettingsObject.dateFormat,\n localeSettingsObject.timeFormat,\n localeSettingsObject.timestampSeparator));\n}\n\nfunction localizedDateToIsoDate(localizedDateString){\n return convert(localizedDateString, toMomentDatePattern(localeSettingsObject.dateFormat), ISO_8601_DATE_PATTERN);\n}\n\nfunction isoDateToLocalizedDate(isoDateString){\n return convert(isoDateString, ISO_8601_DATE_PATTERN, toMomentDatePattern(localeSettingsObject.dateFormat));\n}\n\nfunction localizedTimeToIsoTime(localizedTimeString){\n return convert(localizedTimeString, toMomentTimePattern(localeSettingsObject.timeFormat), ISO_8601_TIME_PATTERN);\n}\n\nfunction isoTimeToLocalizedTime(isoTimeString){\n return convert(isoTimeString, ISO_8601_TIME_PATTERN, toMomentTimePattern(localeSettingsObject.timeFormat));\n}\n\nfunction convert(value, fromPattern, toPattern) {\n if (RelativeDate.isValid(value)) {\n // return original value if it's relative date\n return value;\n }\n var momentValue = moment(value, fromPattern, true);\n if (momentValue.isValid()) {\n // return formatted value if valid date\n return momentValue.format(toPattern);\n } else {\n // return original value if invalid\n return value;\n }\n}\n\nfunction iso8601DateToMoment(isoDateString) {\n return moment(isoDateString, ISO_8601_DATE_PATTERN, true);\n}\nfunction momentToIso8601Date(momentDate) {\n return momentDate.format(ISO_8601_DATE_PATTERN);\n}\nfunction momentToLocalizedDate(momentDate) {\n return momentDate.format(toMomentDatePattern(localeSettingsObject.dateFormat));\n}\n\nfunction isoDateToLocalizedDateByTimezone(value, timezone) {\n var momentDate;\n\n if (timezone) {\n momentDate = moment.tz(value, timezone).tz(userTimezone);\n } else {\n momentDate = moment.utc(value).tz(userTimezone);\n }\n\n return momentDate.format(toMomentDatePattern(localeSettingsObject.dateFormat));\n}\n\nfunction isoTimeToLocalizedTimeByTimezone(value, timezone) {\n var duration = moment.duration(value);\n\n var utcMoment = moment.utc();\n\n if (timezone) {\n utcMoment.tz(timezone);\n }\n\n utcMoment.hours(duration.hours());\n utcMoment.minutes(duration.minutes());\n utcMoment.seconds(duration.seconds());\n\n return utcMoment.tz(userTimezone).format(toMomentTimePattern(localeSettingsObject.timeFormat));\n}\n\nfunction isoTimestampToLocalizedTimestampByTimezone(value, timezone) {\n var momentTimestamp;\n\n if (timezone) {\n momentTimestamp = moment.tz(value, timezone).tz(userTimezone);\n } else {\n momentTimestamp = moment.utc(value).tz(userTimezone);\n }\n\n return momentTimestamp.format(toMomentTimestampPattern(\n localeSettingsObject.dateFormat,\n localeSettingsObject.timeFormat,\n localeSettingsObject.timestampSeparator));\n}\n\nfunction localizedDateToIsoDateByTimezone(value, timezone) {\n value = localizedDateToIsoDate(value);\n\n var momentDate = moment.tz(value, userTimezone);\n\n if (timezone) {\n momentDate = momentDate.tz(timezone);\n } else {\n momentDate = momentDate.utc();\n }\n\n return momentDate.format(ISO_8601_DATE_PATTERN);\n}\n\nfunction localizedTimeToIsoTimeByTimezone(value, timezone) {\n var duration = moment.duration(value);\n\n var utcMoment = moment.utc();\n\n var timezoneMoment = utcMoment.tz(userTimezone);\n\n timezoneMoment.hours(duration.hours());\n timezoneMoment.minutes(duration.minutes());\n timezoneMoment.seconds(duration.seconds());\n\n var momentTime;\n\n if (timezone) {\n momentTime = timezoneMoment.tz(timezone);\n } else {\n momentTime = timezoneMoment.utc();\n }\n\n\n return momentTime.format(ISO_8601_TIME_PATTERN);\n}\n\nfunction localizedTimestampToIsoTimestampByTimezone(value, timezone) {\n value = localizedTimestampToIsoTimestamp(value);\n\n var momentTimestamp = moment.tz(value, userTimezone);\n\n if (timezone) {\n momentTimestamp = momentTimestamp.tz(timezone);\n } else {\n momentTimestamp = momentTimestamp.utc();\n }\n\n return momentTimestamp.format(ISO_8601_TIMESTAMP_PATTERN);\n}\n\nexport default {\n isRelativeDate: isRelativeDate,\n isRelativeTimestamp: isRelativeTimestamp,\n isDate: isDate,\n isTimestamp: isTimestamp,\n isIso8601Timestamp: isIso8601Timestamp,\n compareDates: compareDates,\n compareTimestamps: compareTimestamps,\n iso8601DateToMoment: iso8601DateToMoment,\n momentToIso8601Date: momentToIso8601Date,\n momentToLocalizedDate: momentToLocalizedDate,\n dateObjectToIso8601Timestamp: dateObjectToIso8601Timestamp,\n iso8601TimestampToDateObject: iso8601TimestampToDateObject,\n localizedTimestampToIsoTimestamp: localizedTimestampToIsoTimestamp,\n isoTimestampToLocalizedTimestamp: isoTimestampToLocalizedTimestamp,\n localizedDateToIsoDate: localizedDateToIsoDate,\n isoDateToLocalizedDate: isoDateToLocalizedDate,\n localizedTimeToIsoTime: localizedTimeToIsoTime,\n isoTimeToLocalizedTime: isoTimeToLocalizedTime,\n toMomentDateOrTimeOrTimestampPattern: toMomentDateOrTimeOrTimestampPattern,\n isoDateToLocalizedDateByTimezone: isoDateToLocalizedDateByTimezone,\n localizedDateToIsoDateByTimezone: localizedDateToIsoDateByTimezone,\n isoTimeToLocalizedTimeByTimezone: isoTimeToLocalizedTimeByTimezone,\n localizedTimeToIsoTimeByTimezone: localizedTimeToIsoTimeByTimezone,\n isoTimestampToLocalizedTimestampByTimezone: isoTimestampToLocalizedTimestampByTimezone,\n localizedTimestampToIsoTimestampByTimezone: localizedTimestampToIsoTimestampByTimezone\n}","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport _ from 'underscore';\nfunction getTimeRegexpPattern(timeFormat) {\n return new RegExp('^' + timeFormat.toLowerCase().replace('hh', '([0-1][0-9]|2[0-3])').replace('mm', '([0-5][0-9])').replace('ss', '([0-5][0-9])') + '$');\n}\nfunction getTimeFormatComponents(timeFormat) {\n var matches = timeFormat.toLowerCase().match(/(hh|mm|ss)/g), componentOrders = {\n h: -1,\n m: -1,\n s: -1\n };\n if (matches) {\n for (var i = 0; i < matches.length; i++) {\n if (componentOrders[matches[i].toString().charAt(0)] == -1) {\n componentOrders[matches[i].toString().charAt(0)] = i + 1;\n }\n }\n }\n return componentOrders;\n}\nfunction Time(hours, minutes, seconds) {\n this.hours = hours || 0;\n this.minutes = minutes || 0;\n this.seconds = seconds || 0;\n}\nTime.prototype.total = function () {\n return this.hours * 3600 + this.minutes * 60 + this.seconds;\n};\nTime.prototype.isValid = function () {\n return this.hours >= 0 && this.hours <= 23 && this.minutes >= 0 && this.minutes <= 59 && this.seconds >= 0 && this.seconds <= 59;\n};\nTime.prototype.format = function (pattern) {\n return pattern.toLowerCase().replace('hh', this.hours < 10 ? '0' + this.hours : this.hours).replace('mm', this.minutes < 10 ? '0' + this.minutes : this.minutes).replace('ss', this.seconds < 10 ? '0' + this.seconds : this.seconds);\n};\nTime.compare = function (time1, time2) {\n var total1 = time1.total(), total2 = time2.total();\n if (total1 < total2) {\n return -1;\n } else if (total1 > total2) {\n return 1;\n } else {\n return 0;\n }\n};\nTime.parse = function (value, timeFormat) {\n var timeRegexpPattern = getTimeRegexpPattern(timeFormat);\n if (!_.isString(value) || !timeRegexpPattern.test(value)) {\n return undefined;\n } else {\n var timeObj = new Time(), components = timeRegexpPattern.exec(value);\n var timeFormatComponents = getTimeFormatComponents(timeFormat);\n timeObj.hours = parseInt(components[timeFormatComponents.h], 10);\n timeObj.minutes = parseInt(components[timeFormatComponents.m], 10);\n timeObj.seconds = parseInt(components[timeFormatComponents.s], 10);\n return timeObj;\n }\n};\nexport default Time;","/*\n * Copyright (C) 2005 - 2020 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport jrsConfigs from \"../../../jrs.configs\";\nimport RelativeTime from '../datetime/RelativeTime';\nimport Time from '../datetime/Time';\n\nvar ISO_8061_TIME_PATTERN = 'HH:mm:ss';\n\nlet localeSettingsObject = jrsConfigs.localeSettings;\n\nfunction isRelativeTime(value) {\n return RelativeTime.isValid(value);\n}\nfunction isTime(value, timeFormat) {\n var time = Time.parse(value, timeFormat != null ? timeFormat : localeSettingsObject.timeFormat);\n return typeof time !== 'undefined' && time.isValid();\n}\nfunction isIso8601Time(value) {\n return isTime(value, ISO_8061_TIME_PATTERN);\n}\nfunction compareTimes(value1, value2, timeFormat) {\n var time1 = value1 instanceof Time ? value1 : Time.parse(value1, timeFormat != null ? timeFormat : localeSettingsObject.timeFormat), time2 = value2 instanceof Time ? value2 : Time.parse(value2, timeFormat != null ? timeFormat : localeSettingsObject.timeFormat);\n if (typeof time1 === 'undefined' || typeof time2 === 'undefined') {\n return;\n }\n return Time.compare(time1, time2);\n}\nfunction timeToIso8061Time(hours, minutes, seconds) {\n var obj = new Time(hours, minutes, seconds);\n if (obj.isValid()) {\n return obj.format(ISO_8061_TIME_PATTERN);\n }\n return undefined;\n}\nfunction iso8601TimeToTimeObject(val) {\n return Time.parse(val, ISO_8061_TIME_PATTERN);\n}\nexport default {\n isRelativeTime: isRelativeTime,\n isTime: isTime,\n isIso8601Time: isIso8601Time,\n compareTimes: compareTimes,\n timeToIso8061Time: timeToIso8061Time,\n iso8601TimeToTimeObject: iso8601TimeToTimeObject\n};","var map = {\n\t\"./af\": [\n\t\t81584,\n\t\t1584\n\t],\n\t\"./af.js\": [\n\t\t81584,\n\t\t1584\n\t],\n\t\"./ar\": [\n\t\t89545,\n\t\t9545\n\t],\n\t\"./ar-dz\": [\n\t\t16576,\n\t\t6576\n\t],\n\t\"./ar-dz.js\": [\n\t\t16576,\n\t\t6576\n\t],\n\t\"./ar-kw\": [\n\t\t58501,\n\t\t8501\n\t],\n\t\"./ar-kw.js\": [\n\t\t58501,\n\t\t8501\n\t],\n\t\"./ar-ly\": [\n\t\t92873,\n\t\t2873\n\t],\n\t\"./ar-ly.js\": [\n\t\t92873,\n\t\t2873\n\t],\n\t\"./ar-ma\": [\n\t\t92901,\n\t\t2901\n\t],\n\t\"./ar-ma.js\": [\n\t\t92901,\n\t\t2901\n\t],\n\t\"./ar-sa\": [\n\t\t22840,\n\t\t2840\n\t],\n\t\"./ar-sa.js\": [\n\t\t22840,\n\t\t2840\n\t],\n\t\"./ar-tn\": [\n\t\t20487,\n\t\t487\n\t],\n\t\"./ar-tn.js\": [\n\t\t20487,\n\t\t487\n\t],\n\t\"./ar.js\": [\n\t\t89545,\n\t\t9545\n\t],\n\t\"./az\": [\n\t\t51766,\n\t\t1766\n\t],\n\t\"./az.js\": [\n\t\t51766,\n\t\t1766\n\t],\n\t\"./be\": [\n\t\t31101,\n\t\t1101\n\t],\n\t\"./be.js\": [\n\t\t31101,\n\t\t1101\n\t],\n\t\"./bg\": [\n\t\t9295,\n\t\t9295\n\t],\n\t\"./bg.js\": [\n\t\t9295,\n\t\t9295\n\t],\n\t\"./bm\": [\n\t\t51262,\n\t\t1262\n\t],\n\t\"./bm.js\": [\n\t\t51262,\n\t\t1262\n\t],\n\t\"./bn\": [\n\t\t74652,\n\t\t4652\n\t],\n\t\"./bn.js\": [\n\t\t74652,\n\t\t4652\n\t],\n\t\"./bo\": [\n\t\t7215,\n\t\t7215\n\t],\n\t\"./bo.js\": [\n\t\t7215,\n\t\t7215\n\t],\n\t\"./br\": [\n\t\t75384,\n\t\t5384\n\t],\n\t\"./br.js\": [\n\t\t75384,\n\t\t5384\n\t],\n\t\"./bs\": [\n\t\t69138,\n\t\t9138\n\t],\n\t\"./bs.js\": [\n\t\t69138,\n\t\t9138\n\t],\n\t\"./ca\": [\n\t\t70376,\n\t\t376\n\t],\n\t\"./ca.js\": [\n\t\t70376,\n\t\t376\n\t],\n\t\"./cs\": [\n\t\t79648,\n\t\t9648\n\t],\n\t\"./cs.js\": [\n\t\t79648,\n\t\t9648\n\t],\n\t\"./cv\": [\n\t\t35344,\n\t\t5344\n\t],\n\t\"./cv.js\": [\n\t\t35344,\n\t\t5344\n\t],\n\t\"./cy\": [\n\t\t23574,\n\t\t3574\n\t],\n\t\"./cy.js\": [\n\t\t23574,\n\t\t3574\n\t],\n\t\"./da\": [\n\t\t3016,\n\t\t3016\n\t],\n\t\"./da.js\": [\n\t\t3016,\n\t\t3016\n\t],\n\t\"./de\": [\n\t\t21878,\n\t\t1878\n\t],\n\t\"./de-at\": [\n\t\t92014,\n\t\t2014\n\t],\n\t\"./de-at.js\": [\n\t\t92014,\n\t\t2014\n\t],\n\t\"./de-ch\": [\n\t\t70888,\n\t\t888\n\t],\n\t\"./de-ch.js\": [\n\t\t70888,\n\t\t888\n\t],\n\t\"./de.js\": [\n\t\t21878,\n\t\t1878\n\t],\n\t\"./dv\": [\n\t\t84028,\n\t\t4028\n\t],\n\t\"./dv.js\": [\n\t\t84028,\n\t\t4028\n\t],\n\t\"./el\": [\n\t\t3072,\n\t\t3072\n\t],\n\t\"./el.js\": [\n\t\t3072,\n\t\t3072\n\t],\n\t\"./en-au\": [\n\t\t16501,\n\t\t6501\n\t],\n\t\"./en-au.js\": [\n\t\t16501,\n\t\t6501\n\t],\n\t\"./en-ca\": [\n\t\t63599,\n\t\t3599\n\t],\n\t\"./en-ca.js\": [\n\t\t63599,\n\t\t3599\n\t],\n\t\"./en-gb\": [\n\t\t779,\n\t\t779\n\t],\n\t\"./en-gb.js\": [\n\t\t779,\n\t\t779\n\t],\n\t\"./en-ie\": [\n\t\t28420,\n\t\t8420\n\t],\n\t\"./en-ie.js\": [\n\t\t28420,\n\t\t8420\n\t],\n\t\"./en-il\": [\n\t\t17305,\n\t\t7305\n\t],\n\t\"./en-il.js\": [\n\t\t17305,\n\t\t7305\n\t],\n\t\"./en-nz\": [\n\t\t29493,\n\t\t9493\n\t],\n\t\"./en-nz.js\": [\n\t\t29493,\n\t\t9493\n\t],\n\t\"./eo\": [\n\t\t48953,\n\t\t8953\n\t],\n\t\"./eo.js\": [\n\t\t48953,\n\t\t8953\n\t],\n\t\"./es\": [\n\t\t28107,\n\t\t8107\n\t],\n\t\"./es-do\": [\n\t\t34864,\n\t\t4864\n\t],\n\t\"./es-do.js\": [\n\t\t34864,\n\t\t4864\n\t],\n\t\"./es-us\": [\n\t\t3547,\n\t\t3547\n\t],\n\t\"./es-us.js\": [\n\t\t3547,\n\t\t3547\n\t],\n\t\"./es.js\": [\n\t\t28107,\n\t\t8107\n\t],\n\t\"./et\": [\n\t\t10744,\n\t\t744\n\t],\n\t\"./et.js\": [\n\t\t10744,\n\t\t744\n\t],\n\t\"./eu\": [\n\t\t50081,\n\t\t81\n\t],\n\t\"./eu.js\": [\n\t\t50081,\n\t\t81\n\t],\n\t\"./fa\": [\n\t\t96214,\n\t\t6214\n\t],\n\t\"./fa.js\": [\n\t\t96214,\n\t\t6214\n\t],\n\t\"./fi\": [\n\t\t94351,\n\t\t4351\n\t],\n\t\"./fi.js\": [\n\t\t94351,\n\t\t4351\n\t],\n\t\"./fo\": [\n\t\t68598,\n\t\t8598\n\t],\n\t\"./fo.js\": [\n\t\t68598,\n\t\t8598\n\t],\n\t\"./fr\": [\n\t\t4388,\n\t\t4388\n\t],\n\t\"./fr-ca\": [\n\t\t78405,\n\t\t8405\n\t],\n\t\"./fr-ca.js\": [\n\t\t78405,\n\t\t8405\n\t],\n\t\"./fr-ch\": [\n\t\t43799,\n\t\t3799\n\t],\n\t\"./fr-ch.js\": [\n\t\t43799,\n\t\t3799\n\t],\n\t\"./fr.js\": [\n\t\t4388,\n\t\t4388\n\t],\n\t\"./fy\": [\n\t\t45262,\n\t\t5262\n\t],\n\t\"./fy.js\": [\n\t\t45262,\n\t\t5262\n\t],\n\t\"./gd\": [\n\t\t23326,\n\t\t3326\n\t],\n\t\"./gd.js\": [\n\t\t23326,\n\t\t3326\n\t],\n\t\"./gl\": [\n\t\t51242,\n\t\t1242\n\t],\n\t\"./gl.js\": [\n\t\t51242,\n\t\t1242\n\t],\n\t\"./gom-latn\": [\n\t\t68262,\n\t\t8262\n\t],\n\t\"./gom-latn.js\": [\n\t\t68262,\n\t\t8262\n\t],\n\t\"./gu\": [\n\t\t37301,\n\t\t7301\n\t],\n\t\"./gu.js\": [\n\t\t37301,\n\t\t7301\n\t],\n\t\"./he\": [\n\t\t81867,\n\t\t1867\n\t],\n\t\"./he.js\": [\n\t\t81867,\n\t\t1867\n\t],\n\t\"./hi\": [\n\t\t78568,\n\t\t8568\n\t],\n\t\"./hi.js\": [\n\t\t78568,\n\t\t8568\n\t],\n\t\"./hr\": [\n\t\t76268,\n\t\t6268\n\t],\n\t\"./hr.js\": [\n\t\t76268,\n\t\t6268\n\t],\n\t\"./hu\": [\n\t\t53507,\n\t\t3507\n\t],\n\t\"./hu.js\": [\n\t\t53507,\n\t\t3507\n\t],\n\t\"./hy-am\": [\n\t\t75833,\n\t\t5833\n\t],\n\t\"./hy-am.js\": [\n\t\t75833,\n\t\t5833\n\t],\n\t\"./id\": [\n\t\t22479,\n\t\t2479\n\t],\n\t\"./id.js\": [\n\t\t22479,\n\t\t2479\n\t],\n\t\"./is\": [\n\t\t31138,\n\t\t1138\n\t],\n\t\"./is.js\": [\n\t\t31138,\n\t\t1138\n\t],\n\t\"./it\": [\n\t\t85607,\n\t\t5607\n\t],\n\t\"./it.js\": [\n\t\t85607,\n\t\t5607\n\t],\n\t\"./ja\": [\n\t\t83430,\n\t\t3430\n\t],\n\t\"./ja.js\": [\n\t\t83430,\n\t\t3430\n\t],\n\t\"./jv\": [\n\t\t58590,\n\t\t8590\n\t],\n\t\"./jv.js\": [\n\t\t58590,\n\t\t8590\n\t],\n\t\"./ka\": [\n\t\t42265,\n\t\t2265\n\t],\n\t\"./ka.js\": [\n\t\t42265,\n\t\t2265\n\t],\n\t\"./kk\": [\n\t\t41157,\n\t\t1157\n\t],\n\t\"./kk.js\": [\n\t\t41157,\n\t\t1157\n\t],\n\t\"./km\": [\n\t\t966,\n\t\t966\n\t],\n\t\"./km.js\": [\n\t\t966,\n\t\t966\n\t],\n\t\"./kn\": [\n\t\t12041,\n\t\t2041\n\t],\n\t\"./kn.js\": [\n\t\t12041,\n\t\t2041\n\t],\n\t\"./ko\": [\n\t\t25157,\n\t\t5157\n\t],\n\t\"./ko.js\": [\n\t\t25157,\n\t\t5157\n\t],\n\t\"./ky\": [\n\t\t95753,\n\t\t5753\n\t],\n\t\"./ky.js\": [\n\t\t95753,\n\t\t5753\n\t],\n\t\"./lb\": [\n\t\t79868,\n\t\t9868\n\t],\n\t\"./lb.js\": [\n\t\t79868,\n\t\t9868\n\t],\n\t\"./lo\": [\n\t\t13918,\n\t\t3918\n\t],\n\t\"./lo.js\": [\n\t\t13918,\n\t\t3918\n\t],\n\t\"./lt\": [\n\t\t78964,\n\t\t8964\n\t],\n\t\"./lt.js\": [\n\t\t78964,\n\t\t8964\n\t],\n\t\"./lv\": [\n\t\t50502,\n\t\t502\n\t],\n\t\"./lv.js\": [\n\t\t50502,\n\t\t502\n\t],\n\t\"./me\": [\n\t\t8858,\n\t\t8858\n\t],\n\t\"./me.js\": [\n\t\t8858,\n\t\t8858\n\t],\n\t\"./mi\": [\n\t\t31536,\n\t\t1536\n\t],\n\t\"./mi.js\": [\n\t\t31536,\n\t\t1536\n\t],\n\t\"./mk\": [\n\t\t11780,\n\t\t1780\n\t],\n\t\"./mk.js\": [\n\t\t11780,\n\t\t1780\n\t],\n\t\"./ml\": [\n\t\t59810,\n\t\t9810\n\t],\n\t\"./ml.js\": [\n\t\t59810,\n\t\t9810\n\t],\n\t\"./mn\": [\n\t\t38541,\n\t\t8541\n\t],\n\t\"./mn.js\": [\n\t\t38541,\n\t\t8541\n\t],\n\t\"./mr\": [\n\t\t58825,\n\t\t8825\n\t],\n\t\"./mr.js\": [\n\t\t58825,\n\t\t8825\n\t],\n\t\"./ms\": [\n\t\t52943,\n\t\t2943\n\t],\n\t\"./ms-my\": [\n\t\t89523,\n\t\t9523\n\t],\n\t\"./ms-my.js\": [\n\t\t89523,\n\t\t9523\n\t],\n\t\"./ms.js\": [\n\t\t52943,\n\t\t2943\n\t],\n\t\"./mt\": [\n\t\t97730,\n\t\t7730\n\t],\n\t\"./mt.js\": [\n\t\t97730,\n\t\t7730\n\t],\n\t\"./my\": [\n\t\t44650,\n\t\t4650\n\t],\n\t\"./my.js\": [\n\t\t44650,\n\t\t4650\n\t],\n\t\"./nb\": [\n\t\t48022,\n\t\t8022\n\t],\n\t\"./nb.js\": [\n\t\t48022,\n\t\t8022\n\t],\n\t\"./ne\": [\n\t\t26330,\n\t\t6330\n\t],\n\t\"./ne.js\": [\n\t\t26330,\n\t\t6330\n\t],\n\t\"./nl\": [\n\t\t87380,\n\t\t7380\n\t],\n\t\"./nl-be\": [\n\t\t23810,\n\t\t3810\n\t],\n\t\"./nl-be.js\": [\n\t\t23810,\n\t\t3810\n\t],\n\t\"./nl.js\": [\n\t\t87380,\n\t\t7380\n\t],\n\t\"./nn\": [\n\t\t65413,\n\t\t5413\n\t],\n\t\"./nn.js\": [\n\t\t65413,\n\t\t5413\n\t],\n\t\"./pa-in\": [\n\t\t42959,\n\t\t2959\n\t],\n\t\"./pa-in.js\": [\n\t\t42959,\n\t\t2959\n\t],\n\t\"./pl\": [\n\t\t77252,\n\t\t7252\n\t],\n\t\"./pl.js\": [\n\t\t77252,\n\t\t7252\n\t],\n\t\"./pt\": [\n\t\t41734,\n\t\t1734\n\t],\n\t\"./pt-br\": [\n\t\t398,\n\t\t6951\n\t],\n\t\"./pt-br.js\": [\n\t\t398,\n\t\t6951\n\t],\n\t\"./pt.js\": [\n\t\t41734,\n\t\t1734\n\t],\n\t\"./ro\": [\n\t\t85245,\n\t\t5245\n\t],\n\t\"./ro.js\": [\n\t\t85245,\n\t\t5245\n\t],\n\t\"./ru\": [\n\t\t52977,\n\t\t2977\n\t],\n\t\"./ru.js\": [\n\t\t52977,\n\t\t2977\n\t],\n\t\"./sd\": [\n\t\t63383,\n\t\t3383\n\t],\n\t\"./sd.js\": [\n\t\t63383,\n\t\t3383\n\t],\n\t\"./se\": [\n\t\t75389,\n\t\t5389\n\t],\n\t\"./se.js\": [\n\t\t75389,\n\t\t5389\n\t],\n\t\"./si\": [\n\t\t67156,\n\t\t7156\n\t],\n\t\"./si.js\": [\n\t\t67156,\n\t\t7156\n\t],\n\t\"./sk\": [\n\t\t7177,\n\t\t7177\n\t],\n\t\"./sk.js\": [\n\t\t7177,\n\t\t7177\n\t],\n\t\"./sl\": [\n\t\t19321,\n\t\t9321\n\t],\n\t\"./sl.js\": [\n\t\t19321,\n\t\t9321\n\t],\n\t\"./sq\": [\n\t\t74744,\n\t\t4744\n\t],\n\t\"./sq.js\": [\n\t\t74744,\n\t\t4744\n\t],\n\t\"./sr\": [\n\t\t48768,\n\t\t8768\n\t],\n\t\"./sr-cyrl\": [\n\t\t51855,\n\t\t1855\n\t],\n\t\"./sr-cyrl.js\": [\n\t\t51855,\n\t\t1855\n\t],\n\t\"./sr.js\": [\n\t\t48768,\n\t\t8768\n\t],\n\t\"./ss\": [\n\t\t14769,\n\t\t4769\n\t],\n\t\"./ss.js\": [\n\t\t14769,\n\t\t4769\n\t],\n\t\"./sv\": [\n\t\t39696,\n\t\t9696\n\t],\n\t\"./sv.js\": [\n\t\t39696,\n\t\t9696\n\t],\n\t\"./sw\": [\n\t\t22309,\n\t\t2309\n\t],\n\t\"./sw.js\": [\n\t\t22309,\n\t\t2309\n\t],\n\t\"./ta\": [\n\t\t62862,\n\t\t2862\n\t],\n\t\"./ta.js\": [\n\t\t62862,\n\t\t2862\n\t],\n\t\"./te\": [\n\t\t47466,\n\t\t4079\n\t],\n\t\"./te.js\": [\n\t\t47466,\n\t\t4079\n\t],\n\t\"./tet\": [\n\t\t96068,\n\t\t6068\n\t],\n\t\"./tet.js\": [\n\t\t96068,\n\t\t6068\n\t],\n\t\"./tg\": [\n\t\t29113,\n\t\t9113\n\t],\n\t\"./tg.js\": [\n\t\t29113,\n\t\t9113\n\t],\n\t\"./th\": [\n\t\t49049,\n\t\t9049\n\t],\n\t\"./th.js\": [\n\t\t49049,\n\t\t9049\n\t],\n\t\"./tl-ph\": [\n\t\t65597,\n\t\t5597\n\t],\n\t\"./tl-ph.js\": [\n\t\t65597,\n\t\t5597\n\t],\n\t\"./tlh\": [\n\t\t55829,\n\t\t5829\n\t],\n\t\"./tlh.js\": [\n\t\t55829,\n\t\t5829\n\t],\n\t\"./tr\": [\n\t\t7485,\n\t\t7485\n\t],\n\t\"./tr.js\": [\n\t\t7485,\n\t\t7485\n\t],\n\t\"./tzl\": [\n\t\t13184,\n\t\t3184\n\t],\n\t\"./tzl.js\": [\n\t\t13184,\n\t\t3184\n\t],\n\t\"./tzm\": [\n\t\t46128,\n\t\t6128\n\t],\n\t\"./tzm-latn\": [\n\t\t55967,\n\t\t5967\n\t],\n\t\"./tzm-latn.js\": [\n\t\t55967,\n\t\t5967\n\t],\n\t\"./tzm.js\": [\n\t\t46128,\n\t\t6128\n\t],\n\t\"./ug-cn\": [\n\t\t67543,\n\t\t7543\n\t],\n\t\"./ug-cn.js\": [\n\t\t67543,\n\t\t7543\n\t],\n\t\"./uk\": [\n\t\t38278,\n\t\t8278\n\t],\n\t\"./uk.js\": [\n\t\t38278,\n\t\t8278\n\t],\n\t\"./ur\": [\n\t\t34602,\n\t\t4602\n\t],\n\t\"./ur.js\": [\n\t\t34602,\n\t\t4602\n\t],\n\t\"./uz\": [\n\t\t7711,\n\t\t7711\n\t],\n\t\"./uz-latn\": [\n\t\t21508,\n\t\t1508\n\t],\n\t\"./uz-latn.js\": [\n\t\t21508,\n\t\t1508\n\t],\n\t\"./uz.js\": [\n\t\t7711,\n\t\t7711\n\t],\n\t\"./vi\": [\n\t\t68900,\n\t\t8900\n\t],\n\t\"./vi.js\": [\n\t\t68900,\n\t\t8900\n\t],\n\t\"./x-pseudo\": [\n\t\t24197,\n\t\t4197\n\t],\n\t\"./x-pseudo.js\": [\n\t\t24197,\n\t\t4197\n\t],\n\t\"./yo\": [\n\t\t37955,\n\t\t7955\n\t],\n\t\"./yo.js\": [\n\t\t37955,\n\t\t7955\n\t],\n\t\"./zh-cn\": [\n\t\t14586,\n\t\t4586\n\t],\n\t\"./zh-cn.js\": [\n\t\t14586,\n\t\t4586\n\t],\n\t\"./zh-hk\": [\n\t\t55819,\n\t\t5819\n\t],\n\t\"./zh-hk.js\": [\n\t\t55819,\n\t\t5819\n\t],\n\t\"./zh-tw\": [\n\t\t54904,\n\t\t4904\n\t],\n\t\"./zh-tw.js\": [\n\t\t54904,\n\t\t4904\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 81480;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./bg\": [\n\t\t71946,\n\t\t1946\n\t],\n\t\"./bg.js\": [\n\t\t71946,\n\t\t1946\n\t],\n\t\"./chs\": [\n\t\t19512,\n\t\t6296\n\t],\n\t\"./chs.js\": [\n\t\t19512,\n\t\t6296\n\t],\n\t\"./cs\": [\n\t\t50088,\n\t\t88\n\t],\n\t\"./cs.js\": [\n\t\t50088,\n\t\t88\n\t],\n\t\"./da-dk\": [\n\t\t22803,\n\t\t2803\n\t],\n\t\"./da-dk.js\": [\n\t\t22803,\n\t\t2803\n\t],\n\t\"./de\": [\n\t\t37069,\n\t\t7069\n\t],\n\t\"./de-ch\": [\n\t\t25764,\n\t\t5764\n\t],\n\t\"./de-ch.js\": [\n\t\t25764,\n\t\t5764\n\t],\n\t\"./de.js\": [\n\t\t37069,\n\t\t7069\n\t],\n\t\"./en-au\": [\n\t\t83740,\n\t\t3740\n\t],\n\t\"./en-au.js\": [\n\t\t83740,\n\t\t3740\n\t],\n\t\"./en-gb\": [\n\t\t91743,\n\t\t1743\n\t],\n\t\"./en-gb.js\": [\n\t\t91743,\n\t\t1743\n\t],\n\t\"./en-za\": [\n\t\t73571,\n\t\t3571\n\t],\n\t\"./en-za.js\": [\n\t\t73571,\n\t\t3571\n\t],\n\t\"./es\": [\n\t\t38822,\n\t\t8822\n\t],\n\t\"./es-es\": [\n\t\t46415,\n\t\t4726\n\t],\n\t\"./es-es.js\": [\n\t\t46415,\n\t\t4726\n\t],\n\t\"./es.js\": [\n\t\t38822,\n\t\t8822\n\t],\n\t\"./et\": [\n\t\t63717,\n\t\t3717\n\t],\n\t\"./et.js\": [\n\t\t63717,\n\t\t3717\n\t],\n\t\"./fi\": [\n\t\t82922,\n\t\t2922\n\t],\n\t\"./fi.js\": [\n\t\t82922,\n\t\t2922\n\t],\n\t\"./fr\": [\n\t\t51074,\n\t\t2494\n\t],\n\t\"./fr-ca\": [\n\t\t23999,\n\t\t3999\n\t],\n\t\"./fr-ca.js\": [\n\t\t23999,\n\t\t3999\n\t],\n\t\"./fr-ch\": [\n\t\t72832,\n\t\t2832\n\t],\n\t\"./fr-ch.js\": [\n\t\t72832,\n\t\t2832\n\t],\n\t\"./fr.js\": [\n\t\t51074,\n\t\t2494\n\t],\n\t\"./hu\": [\n\t\t28168,\n\t\t8168\n\t],\n\t\"./hu.js\": [\n\t\t28168,\n\t\t8168\n\t],\n\t\"./it\": [\n\t\t80229,\n\t\t229\n\t],\n\t\"./it.js\": [\n\t\t80229,\n\t\t229\n\t],\n\t\"./ja\": [\n\t\t43882,\n\t\t3882\n\t],\n\t\"./ja.js\": [\n\t\t43882,\n\t\t3882\n\t],\n\t\"./lv\": [\n\t\t24875,\n\t\t3718\n\t],\n\t\"./lv.js\": [\n\t\t24875,\n\t\t3718\n\t],\n\t\"./nl-be\": [\n\t\t39661,\n\t\t9661\n\t],\n\t\"./nl-be.js\": [\n\t\t39661,\n\t\t9661\n\t],\n\t\"./nl-nl\": [\n\t\t33731,\n\t\t3731\n\t],\n\t\"./nl-nl.js\": [\n\t\t33731,\n\t\t3731\n\t],\n\t\"./no\": [\n\t\t60939,\n\t\t939\n\t],\n\t\"./no.js\": [\n\t\t60939,\n\t\t939\n\t],\n\t\"./pl\": [\n\t\t63542,\n\t\t3542\n\t],\n\t\"./pl.js\": [\n\t\t63542,\n\t\t3542\n\t],\n\t\"./pt-br\": [\n\t\t7341,\n\t\t7341\n\t],\n\t\"./pt-br.js\": [\n\t\t7341,\n\t\t7341\n\t],\n\t\"./pt-pt\": [\n\t\t70723,\n\t\t723\n\t],\n\t\"./pt-pt.js\": [\n\t\t70723,\n\t\t723\n\t],\n\t\"./ru\": [\n\t\t62674,\n\t\t2674\n\t],\n\t\"./ru-ua\": [\n\t\t95023,\n\t\t5023\n\t],\n\t\"./ru-ua.js\": [\n\t\t95023,\n\t\t5023\n\t],\n\t\"./ru.js\": [\n\t\t62674,\n\t\t2674\n\t],\n\t\"./sk\": [\n\t\t43885,\n\t\t3885\n\t],\n\t\"./sk.js\": [\n\t\t43885,\n\t\t3885\n\t],\n\t\"./sl\": [\n\t\t15836,\n\t\t5836\n\t],\n\t\"./sl.js\": [\n\t\t15836,\n\t\t5836\n\t],\n\t\"./th\": [\n\t\t37728,\n\t\t7728\n\t],\n\t\"./th.js\": [\n\t\t37728,\n\t\t7728\n\t],\n\t\"./tr\": [\n\t\t329,\n\t\t329\n\t],\n\t\"./tr.js\": [\n\t\t329,\n\t\t329\n\t],\n\t\"./uk-ua\": [\n\t\t27023,\n\t\t7023\n\t],\n\t\"./uk-ua.js\": [\n\t\t27023,\n\t\t7023\n\t],\n\t\"./vi\": [\n\t\t11371,\n\t\t1371\n\t],\n\t\"./vi.js\": [\n\t\t11371,\n\t\t1371\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 12727;\nmodule.exports = webpackAsyncContext;"],"sourceRoot":""}