{"version":3,"sources":["webpack:///index.cc3bfac50c31b.chunk.js","webpack:///external \"ga\"","webpack:///./src/images/banner/thankyou.jpg","webpack:///./src/js/enterprise/stans.js","webpack:///external \"fbq\"","webpack:///(webpack)/buildin/module.js","webpack:///./src/js/request/survey/getInitMeta.js","webpack:///./src/js/draw.js","webpack:///./src/images/status/off.png","webpack:///./src/js/request/survey/getSubjectGroup.js","webpack:///./src/images/status/private.png","webpack:///./src/js/feature/reCAPTCHA.js","webpack:///./src/js/enterprise/whostone.js","webpack:///./src/images/banner/timeout.jpg","webpack:///./src/js/feature/brochure.js","webpack:///./src/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png","webpack:///./src/js/feature/previewAnswer.js","webpack:///./src/js/constant.js","webpack:///./src/js/request/survey/getPrivate.js","webpack:///./src/js/request/referral/getDecryptKeys.js","webpack:///./src/js/feature/cookieSupport.js","webpack:///./src/js/validate.js","webpack:///./src/js/action.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/js/request/referral/getShortenData.js","webpack:///./src/js/initial.js","webpack:///./src/js/feature/referral.js","webpack:///./src/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png","webpack:///./src/images/jquery-ui/ui-bg_flat_10_000000_40x100.png","webpack:///./src/js/request/survey/getData.js","webpack:///./src/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png","webpack:///./src/js/utils/image.js","webpack:///./src/js/request/survey/getReportToken.js","webpack:///./src/js/interaction.js","webpack:///./src/js/feature/portrait.js","webpack:///./src/js/appVariable.js","webpack:///./src/js/time.js","webpack:///./src/js/feature/fileUpload.js","webpack:///./src/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png","webpack:///./src/images/jquery-ui/ui-icons_ffd27a_256x240.png","webpack:///./src/js/request/answer/getCache.js","webpack:///./src/images/banner/sorry.jpg","webpack:///./src/js/request/survey/getMasterSubjects.js","webpack:///./src/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png","webpack:///./src/js/getCsrfTokenFromCookie.js","webpack:///./src/js/request/answer/getCount.js","webpack:///./src/js/replaceWording.js","webpack:///./src/js/request/getTranslateFile.js","webpack:///./config/project.json","webpack:///./src/js/enterprise/wowprime.js","webpack:///./src/js/request/createVisit.js","webpack:///./src/js/request/answer/storeCache.js","webpack:///./src/images/status/error.png","webpack:///./src/js/request/getWording.js","webpack:///./src/images/banner/ended.jpg","webpack:///./src/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png","webpack:///./src/js/request/answer/deleteCache.js","webpack:///./config/website.json","webpack:///./src/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png","webpack:///./src/images/status/notfound.png","webpack:///./src/js/common.js","webpack:///./src/js/enterprise/config.js","webpack:///./src/js/utils/throttle.js","webpack:///./src/images/slider-gap-bg.png","webpack:///./src/js/request/referral/checkShortenData.js","webpack:///./src/js/customize.js","webpack:///./src/js/optionFromAction.js","webpack:///./src/images/jquery-ui/ui-icons_222222_256x240.png","webpack:///./src/js/request/referral/getDat.js","webpack:///./src/js/request/survey/postAnswer.js","webpack:///./src/images/jquery-ui/ui-icons_ffffff_256x240.png","webpack:///./src/js/request/referral/saveLog.js","webpack:///./src/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png","webpack:///./src/js/videoPlayer.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./src/js/appConfig.js","webpack:///./src/js/request/handleErrorRequest.js","webpack:///./src/images/jquery-ui/ui-icons_228ef1_256x240.png","webpack:///./src/js/math.js","webpack:///./src/js/request/getServerTimeString.js","webpack:///./src/js/ui.js","webpack:///./src/js/feature/translate.js","webpack:///./src/js/request/referral/encrypt.js","webpack:///./src/js/array.js","webpack:///./src/images/status/overloaded.png","webpack:///./src/js/index.js","webpack:///./src/images/jquery-ui/ui-icons_ef8c08_256x240.png","webpack:///./src/js/main.js","webpack:///./src/js/request/customFetch.js","webpack:///./src/js/getQueryObj.js","webpack:///./src/js/enterprise/cathaybk.js","webpack:///./src/js/request/getUserStatus.js"],"names":["webpackJsonp","0","module","exports","ga","00/B","0MEj","__webpack_require__","p","0W7T","_interopRequireDefault","obj","__esModule","default","Object","defineProperty","value","afterShowPage","beforeShowPage","changeString","init","undefined","_typeof","Symbol","iterator","constructor","prototype","_jquery","_jquery2","_appConfig","_appVariable","_appVariable2","_common","_brochure","viewport","document","querySelector","setAttribute","audioFrom","audioTypeMapping","opt_1005104","opt_1005105","opt_1005106","pageAudioList","audioPlayer","noFixedSbjType","hasScrollBar","scrollDetect","hasOptionAudio","toggleScrollHint","isScrollToBottom","window","scrollTop","height","removeClass","setTimeout","addClass","setAudioPosition","variable","winW","css","right","getAudioList","getSingleSbjAudio","theSn","thePageSN","lastPageAudio","audioPath","theList","push","theOrder","findOrderBySN","sbjval","thisSubjectsObj","sbjTitleAudio","ID","inArray","options","each","i","theOptObj","optTextAudio","pageSNArr","pageConfig","now","audioObj","playerId","newAudio","audioDom","current","playing","list","addList","lists","length","forEach","item","src","hasList","play","player","pause","switch","index","load","next","toggle","addEventListener","reset","readyState","currentTime","createElement","id","preload","tabindex","type","getElementById","appendChild","volume","insertAudioPlayer","prepend","on","surveyData","layouts","goPageNext","off","insertAfter","audio","urlQueryObject","audioHash","masterhash","fileDomain","remove","resize","width","scroll","sysLang","wording","info_optcount_incorrect","not","find","wrap","body","scrollHeight","documentElement","clientHeight","choiceSubjects","mediaOptions","thisOptionMedia","this","append","0lA4","1","fbq","3","3IRH","webpackPolyfill","deprecate","paths","children","enumerable","get","l","3QHt","_customFetch","_customFetch2","_handleErrorRequest","_handleErrorRequest2","getInitMeta","svid","apiDomain","apiVersion","then","res","3cru","_asyncToGenerator","fn","gen","apply","arguments","Promise","resolve","reject","step","key","arg","info","error","done","err","parseSubjectsToUI","specialSettingError","singleSubjectUI","iniPosition","initialRetainCount","drawLastPage","renderLastUI","replaceLastUi","drawMainPage","drawPublic","drawSurvey","drawWelcomePage","_xss","_xss2","_constant","_initial","_array","_main","_time","_action","_ui","_validate","_customize","_videoPlayer","_portrait","_getReportToken","_getReportToken2","_fileUpload","_reCAPTCHA","_image","_image2","welcomebanner","bannerContainer","imageUrl","reviseImgUrl","welcomeBanner","onload","image","theRatio","onreplace","html","title","welcometext","legaltext","show","extAftDrawWelcomePage","console","log","overflowBody","drawSurveyDetail","hideErrorInfo","isIniframe","leaveAlert","layout","extChangeDocumentTitle","vnshow","backbtnshow","viewStatus","attr","str_pv_backbtn","tooltip","eventTracking","ampInstance","logEvent","newEventData","alreadySetVisit","setVisit","setClientTracking","extPreIniSbjObj","iniSubjectObj","prepareData","fileUpload","exist","initialAwsSdk","reCaptcha","enable","initialReCaptcha","mode","getMasterSurveySubjects","_ref","status","nowGetTime","createTimeStamp","svStartTime","parseDate","getTime","svEndTime","svDuration","convertTZString","Date","svDurationPass","isFulled","limitcount","ppl_count","showErrorInfo","str_sv_overloaded","pic","extPreDrawSurvey","str_sv_duration","content","_ref2","regeneratorRuntime","mark","_callee","json","_context","prev","getSubjectGroupJson","getSurveyPublic","sent","Error","svStatus","theme","toLowerCase","language","defaultLanguage","starttime","endtime","previewAnswer","preview_answer","re_captcha","loadMoreFiles","str_sv_off","str_sv_private","str_sv_private_info","setPrivateJS","t0","notfoundUI","stop","ele","pageName","thankyoubanner","thankyouBanner","onerror","str_default_timeout","str_default_finished","str_default_thankyou","setButtonAttributes","button","url","text","lastbtn","gotourl","gotourltxt","show_result","viewResult","surveyId","response","serverDomain","data","extAftDrawLastPage","ui","lastUiContainer","clone","scrollToEle","fadeIn","opener","postMessage","catch","thisAnswerObj","objectSize","order","ansobj","logicSbjType","ansK","ansV","search","kk","vv","separateOptionIdFromText","findOptionObjectById","linkto","subjectNumber","__addShowByLinkto","jumpto","fromOrder","parseInt","toOrder","k","__addHideByJumpto","sorryto","__addHideBySorryto","iniOrder","iniSN","iniPageNum","firstEmptyOrder","lastAnsOrder","checkHasAns","sn","findPageNumberBySN","progressCount","resetPageConfig","iniPosSN","theSbjType","newSubject","hasVideo","oldSbj","vn","descpt","getAnstagTXT","imgs","imageContainer","subjectImage","resizeMtop","youtubeid","cloneVideoBlock","createYoutubeTumbnail","$elseOption","$levelOption","$levelMotherOption","acceptSbjType","digitsClass","min","placeholder","please","fill","needAutohttp","tel","email","maxtimes","nestConfig","levelTxtArr","motherShowCount","motherSn","optkey","optval","cloneLevel","first","name","last","lastNestChild","optfrom","pickfromOptsArr","theSN","theOrdering","theOptions","__getSelectedOptions","arrInsertArr","optObjArr","rndopts","rndOptsArr","cloneOptsArr","optionLength","hasElse","elses","compress","$newSelect","choose","isVisible","$newOption","maxacts","isFULLED","setFulledUI","optStyle","optWithMedia","icon","_doMaxtimesAction","optionImage","nota","extras","column","column_m","wrapAll","boundsStr","logicLowerbounds","lowerbounds","upperbounds","range","str_optcount","info_atleast","info_atmost","info_multi","before","str_resort","sortMode","newDragSortBlock","needSortItem","info_need_sort","ruleStr","info_need_between","info_between","info_need_upper","info_need_lower","number","unittxt","pointbounds","info_digit_lowbound","replace","newSlide","max","increasebounds","newRatingBar","iconShape","shape","c","processDate","dateString","days","date","setTime","valueOf","getTimezoneOffset","nowTime","thisMonth","getMonth","toString","thisDate","getDate","today","getFullYear","subtractDate","lowerbound","test","addDate","upperbound","template","startDate","date_ini","endDate","date_end","$input","datepicker","format","autoclose","orientation","templates","leftArrow","rightArrow","clearBtn","validateSingleEle","updateSingleAns","val","portraitProgressCount","ansTagToUI","indent","$quoteIcon","createFileUpload","str_sbj_notfound","timer","replaceWith","required","allHtmlElement","needTrimElement","invisible","resizeVideoBlock","createSortDragUI","resizeLevelW","resizeRatingBar","autoTextArea","fillAnswerMode","typingSbjType","clickSbjType","vvv","parent","trigger","uxSbjType","createSliderUI","extAftSingleSubjectUI","str_default_specialanslost_title","str_default_specialanslost_content","setFastClick","setAnswerJS","addMoreValidate","hasCacheAns","passInvisibleExam","_ref3","_callee2","theObj","checkSbjAnswer","_ref4","anscount","_context2","abrupt","checkMaxtimes","str_default_duplicated_title","str_default_duplicated_content","_x","_x2","setPageJS","showPage","startAnswered","sbjkey","eq","UIrefresh","validateSurvey","fadeOut","extPreDoneLoading","setTimeoutTimer","focusTitle","3gxb","42Nd","44YP","getSubjectGroup","assetsDomain","cache","47Qh","4MaF","4rr4","setReCaptchaError","reCaptchaId","container","onLoad","innerHTML","generateCallback","config","token","set","grecaptcha","render","sitekey","callback","expired-callback","error-callback","loadExtraFile","5czU","readEachTemplate","leavePage","submitHandler","changeLastPage","changeWelcomePage","loginModule","autoSaveAnswer","addSubjectType","changeQueryObject","_vex","_vex2","_draw","_deleteCache","_deleteCache2","_storeCache","_storeCache2","_getCache","_getCache2","_getUserStatus","_getUserStatus2","hotaiConfig","TEMPDATA","personality","familyCount","appendHeaderLogo","element","appendFooterLogo","setHOTAIfamily","familyCountOpt","allfilled","totalCount","theAns","findOrderByKey","indexOf","thisCount","resetSbjUI","setHOTAIperson","personGradeOpt","personTxt","personGrade","personFinal","grade","thisGrade","j","thisPoints","kkk","setCacheAnswerToObj","ansjson","ansData","defaultInput","_ret","writeAction","thisOption","writeSingleObj","v","keys","svEndConfig","property","mbunq","DXID","substring","regneed","setInterval","formatAns","hasAns","removeMaxtimesOptions","endBySorry","endBySorryOpt","JSON","stringify","user","userStatus","parse","atob","split","logined","completed","location","href","bonus_done","draw_done","dialog","confirm","message","iconkey","blur","ansForSave","confirm_leave_sv","subjectData","6aNH","7a4H","goPagePrev","updatePageConfig","togglePageButton","updateCrumbTXT","_getServerTimeString","_getServerTimeString2","_throttle","_throttle2","targetSubjectNumber","theCrumb","crumb","hide","thisBreadRow","ansTagToCrumb","htmlToTxt","findNewOne","direction","findAnotherNewOne","visibleSubjectsList","filter","checkSNVisible","pageNumber","extPreShowPage","progressUpdate","validateRemote","extAftShowPage","doGetServerTime","time","onclick","hasClass","isrunTimer","needRunTimer","keydown","e","keyCode","7lOV","7qR/","$previewAnswer","$previewAnswerContent","$subjectBlock","cleanPreviewAnswer","closePreviewModal","goToSubject","findIndex","includes","composePreviewAnswer","subject","noAnsSbjType","_isVisible","$newSubjectBlock","stripHtmlTags","submitHandlerFolow","8B+k","8Pnd","optionKeys","subjectKeys","subjectTypes","acceptOptKey","acceptSbjKey","renderUiType","entitiesKey","typeingElement","fileuploadEnable","8R8m","getPrivate","password","8bW4","getDecryptKeys","8hwX","makeCookieRedirect","setCookieEnable","_jsCookie","_jsCookie2","expires","secure","path","sameSite","testCookie","referrer","operator","cookieLocation","encodeURIComponent","top","cookieSupport","8u0l","CQI8","checkAnsCount","checkAnsNeedValide","setValidator","svSubmitHandler","passSubmitHandler","redirectAfterSubmit","_urijs","_urijs2","_GA","_GA2","_FacebookPixel","_FacebookPixel2","_math","_math2","_previewAnswer","_previewAnswer2","_postAnswer","_postAnswer2","_getCsrfTokenFromCookie","afterSubmit","fileHash","analyticsid","fbpixelid","surveyID","redirectURL","redirectUrl","addQuery","lang","ansValid","str_default_anslost_title","str_default_anslost_content","errmsg","putCsrfTokenToCookie","alert","fileupload","fulled","str_submit_failed","str_sv_submit","removeAttr","redirect","submitURL","endsopts","endByEnded","endByEndedOpt","endByThankyou","endByThankyouOpt","extSubmitHandler","untrack","status_submiting","checkTimeout","updateSurveyEndtime","surveyTimeout","isThemePv","str_pv_nosubmit","str_pv_redirect","targetEle","validator","validate","ignore","onkeyup","submitted","lastElement","errorPlacement","can_showError","closest","can_submit","invalidHandler","form","numberOfInvalids","errorList","parents","target","textOneceRemote","canSubmit","canShowError","modifyArea","impactQuestions","elementName","sbjid","vtext","dataFilter","messages","remote","info_answer_duplicated","theData","validateEmail","_this","rules","ansSbjLog","_showByLinkto","_hideByJumpto","_hideBySorryto","methods","answer","parseFloat","extend","validateMessage","maxlength","minlength","rangelength","addMethod","trim","info_requiredtrim_incorrect","theDigitInput","thePointbounds","Number","isNaN","info_pointbounds_incorrect","targetName","targetLength","ruleMin","ruleMax","$subjectDom","$subjectSelectionCount","choiceCount","option_count","correct","too_little","too_much","info_optsort_incorrect","ansObj","hasAnswer","DbZ6","afterSort","getSortLimit","_createVisit","_createVisit2","_getCount","_getCount2","leaveTime","timeOutTimer","clearInterval","qty","_x3","parentAnswer","parentAnswerLower","parentAnswerUpper","parentSubject","parentSubjectSn","parentSubjectID","choosenOptions","theIndex","theElem","optid","theInput","DuR2","g","Function","eval","ENm7","getShortenData","shortenDomain","FKCt","initialVex","setXssWhitelist","renderSurveyUI","sbjObj","optObj","getDefaultAnswer","excuteNotfoundUI","_he","_he2","_amplitudeJs","_amplitudeJs2","_replaceWording","_replaceWording2","_translate","_translate2","_referral","_getInitMeta","_getInitMeta2","_getPrivate","_getPrivate2","_getDecryptKeys","_getDecryptKeys2","_getWording","_getWording2","_getTranslateFile","_getTranslateFile2","_getMasterSubjects","_getMasterSubjects2","_getData","_getData2","innerExcuteNotfoundUI","str_sv_notfound","wordingPromise","getSurveyExtraData","newEventDataObject","utm_source","utm_medium","utm_term","utm_content","utm_campaign","rel","pageNavi","amplitudeKey","getInstance","binding","file_upload","is_allow_upload","pro","needLoadCount","loadCount","systemWording","origin","update","totalCallback","ready","t1","_ref5","_callee3","_ref6","_context3","str_sv_master_is_off","str_sv_master_not_existed","subjects","optData","newPobj","keyname","decode","map","formatStarttime","formatEndtime","optionsData","newOptionsArray","sbjData","newSobj","hasOwnProperty","call","__minusShowByLinkto","__getShowByLinkto","__minusHideByJumpto","__getHideByJumpto","__getOptions","selectedOptID","orders","opt","__getLinkJump","__minusHideBySorryto","__getHideBySorryto","__setPassTimer","_doOptAction","extPreParseSubjectsToUI","composeChildSn","fisrtChildIndex","lastChildIndex","slice","a","childSn","subejct","indent0","indent1","indent2","nestOptArr","groupSnArr","progress","snArr","child_sn","option","assign","thisIndent","finalVN","numberToABC","crumbTxt","ci","arrRemoveIndex","childEnd","group","opt_action","thisOptfromMap","optk","optv","appendLeft","ii","NESTLinkGroup","testOrder","referralToken","getReferralToken","parseUrlPath","_ref7","startDecrypting","hash","iv","dkey","dval","theAnswerOrder","action","isDirty","arrDelData","whiteList","div","span","defaultOptions","className","GIa+","_cryptoJs","_cryptoJs2","_getDat","_getDat2","_encrypt","_encrypt2","_saveLog","_saveLog2","_checkShortenData","_checkShortenData2","_getShortenData","_getShortenData2","decryptFile","cipherParams","lib","CipherParams","create","ciphertext","enc","Base64","decrypted","AES","decrypt","Utf8","referralObject","snOrder","hashKey","ivKey","t2","_x4","_x5","_x6","_x7","array","JU/o","LuCd","MAgY","getData","MeAu","N80U","isCdnImage","startsWith","imageDomain","replaceToBucketImage","imageLoader","Image","errorFunction","onabort","NAr+","getReportToken","OIZz","interActionCleanOpt","handleMutipleLists","handleInteractionList","interActionCleanSbj","makeInteractionObj","interActionObj","moveActionFromTemp","_optionFromAction","scope","optfromActionList","tempOptfromActionList","interActionList","tempInterActionList","orderT","selected","actype","conds","sbjOrder","isSelected","isTemp","thisLinkToArr","arrAddData","getAnswerByOrder","ansoptid","makeOptfromActionObj","superResetSbj","mapFunction","handleOptfromActionList","optID","theAnswer","addRedrawList","PET6","redrawSbjList","ind","ansString","theSbj","thisOptionItem","sbjSN","breadRow","crumbAnsTag","theRel","PeCv","PlXR","sysAgent","_uaParserJs","_uaParserJs2","_getQueryObj","_getQueryObj2","userAgentData","svConfig","self","runTimerInterval","FastClickThread","isMobile","getDevice","isIOS","navigator","userAgent","match","isFirefox","isIE","finishedPtg","pvMode","iniPosOrder","Q7Nz","dpa","dpd","dpt","dateObject","newD","getHours","getMinutes","getSeconds","RmQc","resetFileUploadUI","supportTypes","slideshow","spreadsheet","video","fileUploader","s3","initialAwsS3","AWS","region","fileUploadConfig","accessKeyId","secretAccessKey","secret","S3","params","Bucket","bucket","initFileUpload","formatFilename","filename","lastIndex","lastIndexOf","mappingFileTypeInfo","types","none","fileTypeInfo","join","seperator","mappingFileTypeMIME","returnString","concat","validFileType","fileTypes","fileType","result","RegExp","onFileError","$fileUpload","fileRemove","parentSubjectId","file","fileName","upload","Body","Key","folder","ACL","evt","percentage","loaded","total","send","uploadFailed","uploadedFile","clickUploadAtPreview","preview","newFileUpload","limitString","size","typeString","file_type","infoString","hint","disabled","event","files","fileSize","filesize","filetype","SXwv","Tg2x","TsNe","getCache","U6Vj","U7Nq","getMasterSubjects","UsmG","W/pu","randomHash","getCsrfTokenFromCookie","W6xV","getCount","subjectId","query","Wvk5","replaceWording","wordingObject","wordingTags","wordingKey","wordingString","keyArray","theAction","XHPL","getTranslateFile","surveyHash","XPAg","amazon","fileuploadBucket","fileuploadFolder","fileuploadKey","fileuploadRegion","fileuploadSecret","activeDirectoryAutoLoginEnable","adLoginGoogleRecaptchaKey","amplitude","amplitudeSurvey","backstageThirdPartyAuthTokenUrl","enableAdLoginGoogleRecaptcha","enableDefaultThankYouMessage","enableLogoLink","enableThirdPartyLogin","externalNetDisabled","facebookAppVersion","googleRecaptchaKey","gtm","hiddenSubmitEnable","languageWhitelist","remoteBucket","remoteCdn","surveyLoginFacebookAppId","surveyLoginFacebookAppSecret","surveyLoginType","tempAnswerEnable","userLoginEnable","server","api","apiPath","main","shortUrlPrefix","website","XTTP","showLogo","hideLogo","Xgta","createVisit","ZlWK","storeCache","ansjosnData","method","FormData","aErk","aUBU","getWording","c+17","cPV7","d/4Q","deleteCache","desC","pages","entry","ending","port","webpackServer","analyzerServer","browserSyncServer","apiProxyServer","assetsProxyServer","devDefaultSurvey","driR","eMQS","f5AH","g5qz","toggleWebkitScroll","runTimer","receiveLoginMessage","setLeavePageJS","getPositionInScrollview","pathname","substr","source","minLength","repeat","offsetTop","offsetParent","createExtraFileTag","$element","animate","positionY","$scrollContainer","nextPositionY","tag","fileref","getElementsByTagName","loadingCompleted","onreadyFunction","onreadystatechange","originalEvent","persisted","reload","eventName","extPreLeavePage","theString","inLowerCase","alphabet","alphabetLength","parseAlphaBet","quotient","remainder","theObject","optionIdText","returnOrder","subjectNumberText","ordering","values","answerObject","optionId","optionArray","returnObj","timeString","nowTimer","theParSubject","setTimerArea","str_countdown","Math","round","random","string","gTrc","whostone","wowprime","stans","crifccis","kingza","cathaybk","removeLogoBranches","gc1H","throttle","delay","previous","context","_len","args","Array","_key","hECh","hlcs","checkShortenData","hmHg","extChangeQueryObject","extIniCustomer","_config","_config2","_stans","_whostone","_wowprime","_cathaybk","_getSubjectGroup","_getSubjectGroup2","_thankyou","_thankyou2","_ended","_ended2","_sorry","_sorry2","_timeout","_timeout2","subjectGroupData","addTemplateIntoSbj","branch","templateInsertPos","POS","TEMPTYPE","Trequired","Tmaxtimes","reverse","inserted","b","removeLogo","theBanner","theImage","thankyou","ended","sorry","timeout","iHsC","optfromActionObj","_interaction","iL39","ibQ7","getDat","handleErrorRequestInText","jC9G","_getCsrfTokenFromCookie2","postAnswer","jX96","jaSl","saveLog","lYKq","miG6","stopOtherPlaying","createYoutubePlayer","toggleYoutube","autoPlay","state","youtubeIframe","youtubeIframeCont","contentWindow","needStopVideoSbj","needStopVideo","nErl","__webpack_amd_options__","nJ7o","customerWebsite","gaId","_project","_project2","_website","_projectConfig$config","ndJn","handleErrorRequest","oUAU","q/dd","lengthOfDecimals","math","number1","number2","dividendDecimal","divisorDecimal","biggestDemical","multiplier","qHrH","getServerTimeString","qOui","updateUISetting","_autosize","_autosize2","_sliderGapBg","_sliderGapBg2","_error","_error2","_notfound","_notfound2","_off","_off2","_overloaded","_overloaded2","_private","_private2","doResizeVideo","thisW","doResizeRatingBar","totalVideoBlock","theH","containerH","ratingH","font-size","doResizeLevelW","totalRatingBar","levelNum","totalLevelWrap","theSlide","theSlideInput","theSlideMin","theSlideMax","valueLength","theSliderStep","drawBg","slider","margin-left","gapPercentage","posX","bgImageStr","bgPosition","dragSortElem","dragSortID","sortableEle","chkNeedSortItem","draggable","connectToSortable","helper","revert","sortable","items","axis","receive","thisDragSubject","deactivate","start","opt_fulled","disableSelection","errorData","statusImage","notfound","overloaded","private","bgurl","qpYG","translateKeys","translate","rQzI","encrypt","u2OS","_toConsumableArray","arr","isArray","arr2","from","originalArray","startIndex","itemArray","splice","itemIndex","theArr","sort","stringToArr","uJql","vGYV","_cookieSupport","_cookieSupport2","cookie","setUserId","attachEvent","vj4D","xEt8","xFsn","optionExam","destroyFastClick","_fastclick","_fastclick2","destroy","keypress","which","userPassword","str_sv_private_error","optionFulled","resetTarget","prop","selectedOPTIONTYPE","selectedOPTION","cancelAns","removedOPTION","selectedOptObj","resetDisabledOptionStatus","optionRemoveUI","optionActiveUI","afterOptionExam","removedOPTIONID","removedOptObj","focus","selectedOPTIONID","siblings","legalPropertyName","propertyName","eleTargets","theVal","_callee4","_context4","stopPropagation","preventDefault","getValue","thisParSN","timerOverlay","timerOverlayArr","act_play_to_countdowun","change","ratingWrap","thisRatingBar","newIndex","thisPointer","addRating","plusInterval","thisRemoveItem","targetChoosen","$selectedOPTION","checked","checkedNum","doAction","toggleCheck","indexs","optids","optionActionUI","returnData","finalAns","svkey","ansk","thek","thev","theK","theV","ansNeedDel","theOptID","th","tv","xg/R","credentialsType","customFetch","fetch","credentials","y5ry","parseQuery","queryString","queryArr","queryObject","kv","shift","nValue","decodeURIComponent","getQueryObj","yriJ","optionTexts","zDJp","getUserStatus"],"mappings":"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","file":"index.cc3bfac50c31b.chunk.js","sourcesContent":["webpackJsonp([1,3],{\n\n/***/ 0:\n/***/ (function(module, exports) {\n\nmodule.exports = ga;\n\n/***/ }),\n\n/***/ \"00/B\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"0MEj\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"thankyou.c55e52edcf4ee.jpg\";\n\n/***/ }),\n\n/***/ \"0W7T\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.afterShowPage = exports.beforeShowPage = exports.changeString = exports.init = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _brochure = __webpack_require__(\"7a4H\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * set viewport\n */\nvar viewport = document.querySelector('meta[name=viewport]');\nif (viewport) {\n\tviewport.setAttribute('content', 'width=device-width, initial-scale=1, user-scalable=1');\n}\n\n/**\n * audio mapping setting\n */\nvar audioFrom = 'ssn439';\nvar audioTypeMapping = {\n\topt_1005104: 'mandarin',\n\topt_1005105: 'taiwanese',\n\topt_1005106: 'hakka'\n};\n\nvar pageAudioList = void 0;\nvar audioPlayer = void 0;\nvar noFixedSbjType = ['STATEMENT', 'QUOTE'];\nvar hasScrollBar = false;\nvar scrollDetect = true;\n\nvar hasOptionAudio = [1000782, 1000783, 1000784, 1000786, 1000787, 1000788, 1000789, 1000790, 1000791, 1000792, 1000793, 1000794, 1000795, 1004954, 1004955, 1004956, 1004957, 1004958, 1004959, 1004960, 1004961, 1004962, 1004963, 1004964, 1004965, 1004966];\n\nvar toggleScrollHint = function toggleScrollHint() {\n\tif (scrollDetect) {\n\t\tscrollDetect = false;\n\n\t\tvar isScrollToBottom = (0, _jquery2.default)(window).scrollTop() + (0, _jquery2.default)(window).height() >= (0, _jquery2.default)(document).height() - 120;\n\n\t\tif (hasScrollBar && !isScrollToBottom) {\n\t\t\t(0, _jquery2.default)('.scroll-to-bottom').removeClass('_hide');\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _jquery2.default)('.scroll-to-bottom').addClass('_show');\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tscrollDetect = true;\n\t\t\t\t}, 40);\n\t\t\t}, 40);\n\t\t} else {\n\t\t\t(0, _jquery2.default)('.scroll-to-bottom').removeClass('_show');\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _jquery2.default)('.scroll-to-bottom').addClass('_hide');\n\t\t\t\tscrollDetect = true;\n\t\t\t}, 400);\n\t\t}\n\t}\n};\n\n/**\n * happy life 客製化\n */\nvar setAudioPosition = function setAudioPosition() {\n\tif (_appVariable.variable.winW >= 800) {\n\t\t(0, _jquery2.default)('.audio-play-btn').css({ right: (_appVariable.variable.winW - 800) / 2 + 80 });\n\t} else {\n\t\t(0, _jquery2.default)('.audio-play-btn').css({ right: 5 });\n\t}\n};\n\nvar getAudioList = function getAudioList() {\n\tvar thePageSN = _appVariable.pageSNArr[_appVariable.pageConfig.now];\n\tvar theList = [];\n\n\tfunction getSingleSbjAudio(theSn) {\n\t\tif (thePageSN === 'submit-wrapper') {\n\t\t\tvar lastPageAudio = _appVariable2.default.audioPath + 'last_page.mp3';\n\t\t\ttheList.push(lastPageAudio);\n\t\t\treturn;\n\t\t}\n\n\t\tvar theOrder = (0, _common.findOrderBySN)(theSn);\n\t\tif (theOrder !== false) {\n\t\t\tvar sbjval = _appVariable.thisSubjectsObj[theOrder];\n\n\t\t\t/* subject id */\n\t\t\tvar sbjTitleAudio = _appVariable2.default.audioPath + 'sbj_' + sbjval.ID + '.mp3';\n\t\t\ttheList.push(sbjTitleAudio);\n\n\t\t\t/* options id */\n\t\t\tif (_jquery2.default.inArray(sbjval.ID, hasOptionAudio) !== -1) {\n\t\t\t\tif (sbjval.options) {\n\t\t\t\t\t_jquery2.default.each(sbjval.options, function (i, theOptObj) {\n\t\t\t\t\t\tvar optTextAudio = _appVariable2.default.audioPath + 'opt_' + theOptObj.ID + '.mp3';\n\t\t\t\t\t\ttheList.push(optTextAudio);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (thePageSN && (typeof thePageSN === 'undefined' ? 'undefined' : _typeof(thePageSN)) === 'object') {\n\t\t_jquery2.default.each(thePageSN, function (i, theSn) {\n\t\t\tgetSingleSbjAudio(theSn);\n\t\t});\n\t} else {\n\t\tgetSingleSbjAudio(thePageSN);\n\t}\n\n\treturn theList;\n};\n\nvar audioObj = function audioObj(playerId) {\n\tvar newAudio = undefined;\n\tvar audioDom = void 0;\n\n\tnewAudio.current = 0;\n\tnewAudio.playing = 0;\n\tnewAudio.list = [];\n\n\tnewAudio.addList = function (lists) {\n\t\tif (lists && lists.length > 0) {\n\t\t\tlists.forEach(function (item) {\n\t\t\t\tnewAudio.list.push(item);\n\t\t\t});\n\n\t\t\taudioDom.src = newAudio.list[0];\n\t\t} else {\n\t\t\taudioDom.src = null;\n\t\t}\n\t};\n\n\tnewAudio.hasList = function () {\n\t\tif (newAudio.list && newAudio.list.length > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tnewAudio.play = function () {\n\t\tnewAudio.playing = 1;\n\t\tnewAudio.player.play();\n\t\t(0, _jquery2.default)('.audio-play-btn').addClass('playing');\n\t};\n\n\tnewAudio.pause = function () {\n\t\tnewAudio.playing = 0;\n\t\tnewAudio.player.pause();\n\t\t(0, _jquery2.default)('.audio-play-btn').removeClass('playing');\n\t};\n\n\tnewAudio.switch = function (index) {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewAudio.player.src = newAudio.list[index];\n\t\tnewAudio.player.load();\n\n\t\tsetTimeout(function () {\n\t\t\tnewAudio.play();\n\t\t}, 2000);\n\t};\n\n\tnewAudio.next = function () {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewAudio.current += 1;\n\n\t\tif (newAudio.current > newAudio.list.length - 1) {\n\t\t\tnewAudio.current = 0;\n\t\t}\n\n\t\tnewAudio.switch(newAudio.current);\n\t};\n\n\tnewAudio.toggle = function () {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\t\tif (newAudio.playing) {\n\t\t\tnewAudio.pause();\n\t\t} else {\n\t\t\tnewAudio.play();\n\t\t}\n\t};\n\n\tnewAudio.init = function () {\n\t\tnewAudio.player.addEventListener('ended', function () {\n\t\t\tnewAudio.next();\n\t\t});\n\t};\n\n\tnewAudio.reset = function () {\n\t\tnewAudio.list = [];\n\t\tnewAudio.current = 0;\n\t\tnewAudio.pause();\n\n\t\tif (newAudio.player.readyState > 0) {\n\t\t\tnewAudio.player.currentTime = 0;\n\t\t}\n\t};\n\n\tnewAudio.playing = function () {\n\t\treturn newAudio.playing;\n\t};\n\n\tnewAudio.createElement = function () {\n\t\taudioDom = document.createElement('audio');\n\t\taudioDom.id = playerId;\n\t\taudioDom.preload = 'auto';\n\t\taudioDom.tabindex = '0';\n\t\taudioDom.type = 'audio/mpeg';\n\t\tdocument.getElementById('audio-player-wrap').appendChild(audioDom);\n\n\t\tnewAudio.player = document.getElementById(playerId);\n\t\tnewAudio.player.volume = 1;\n\n\t\tnewAudio.init();\n\t};\n\n\tnewAudio.createElement();\n};\n\nvar insertAudioPlayer = function insertAudioPlayer() {\n\t(0, _jquery2.default)('#survey-content').prepend('
');\n\n\taudioPlayer = new audioObj('audio-player');\n\tsetAudioPosition();\n\n\t(0, _jquery2.default)('.audio-play-btn').on('click', function () {\n\t\taudioPlayer.toggle();\n\n\t\tif (audioPlayer.playing()) {\n\t\t\t(0, _jquery2.default)('.audio-play-btn').addClass('playing');\n\t\t} else {\n\t\t\t(0, _jquery2.default)('.audio-play-btn').removeClass('playing');\n\t\t}\n\t});\n};\n\nvar init = exports.init = function init() {\n\tif (_appVariable.variable.surveyData.layouts === 'BROCHURE') {\n\t\t/* setup audio ui */\n\t\tinsertAudioPlayer();\n\n\t\t/* welcome page quick pass */\n\t\t(0, _brochure.goPageNext)();\n\n\t\t/* 不要鍵盤翻頁 */\n\t\t(0, _jquery2.default)('body').off('keydown');\n\n\t\t/* 移動 logo */\n\t\t(0, _jquery2.default)('#control-wrapper').insertAfter((0, _jquery2.default)('#footer-logo'));\n\t\t(0, _jquery2.default)('
作答完滑到底,按下一頁繼續
').insertAfter((0, _jquery2.default)('#control-wrapper'));\n\n\t\t/* 設定語音語言 */\n\t\t_appVariable2.default.audio = _appVariable.urlQueryObject[audioFrom] ? audioTypeMapping[_appVariable.urlQueryObject[audioFrom]] : 'mandarin';\n\t\tvar audioHash = _appVariable2.default.masterhash ? _appVariable2.default.masterhash : 'O0zx3';\n\t\t_appVariable2.default.audioPath = _appConfig.fileDomain + '/asset/audio/' + audioHash + '/' + _appVariable2.default.audio + '/';\n\n\t\t/* 移除不需要的東西 */\n\t\t(0, _jquery2.default)('#Breadcrumb-wrapper').remove();\n\n\t\t(0, _jquery2.default)(window).resize(function () {\n\t\t\t_appVariable.variable.winW = (0, _jquery2.default)(window).width();\n\t\t\tsetAudioPosition();\n\t\t});\n\n\t\t(0, _jquery2.default)(window).scroll(function () {\n\t\t\tsetTimeout(function () {\n\t\t\t\ttoggleScrollHint();\n\t\t\t}, 300);\n\t\t});\n\t}\n};\n\nvar changeString = exports.changeString = function changeString() {\n\t_appVariable.sysLang.wording.info_optcount_incorrect = '此題必選 2 項';\n};\n\nvar beforeShowPage = exports.beforeShowPage = function beforeShowPage() {\n\t/*\n * 開始翻頁前\n */\n\tif (audioPlayer && audioPlayer.reset) {\n\t\taudioPlayer.reset();\n\t}\n};\n\nvar afterShowPage = exports.afterShowPage = function afterShowPage() {\n\t/*\n * 完成翻頁後\n */\n\tif (audioPlayer) {\n\t\tpageAudioList = getAudioList();\n\t\taudioPlayer.addList(pageAudioList);\n\t}\n\n\t/*\n * 設定 fixed 元件\n */\n\tvar thePageSN = _appVariable.pageSNArr[_appVariable.pageConfig.now];\n\tvar theOrder = void 0;\n\tif (thePageSN && (typeof thePageSN === 'undefined' ? 'undefined' : _typeof(thePageSN)) === 'object') {\n\t\ttheOrder = (0, _common.findOrderBySN)(thePageSN[0]);\n\t} else {\n\t\ttheOrder = (0, _common.findOrderBySN)(thePageSN);\n\t}\n\n\tif (theOrder !== false) {\n\t\tif (_jquery2.default.inArray(_appVariable.thisSubjectsObj[theOrder].type, noFixedSbjType) === -1) {\n\t\t\t(0, _jquery2.default)('.subject-wrapper').not('.subject-wrapper-temp').find('.subject-title').wrap('
');\n\t\t\t(0, _jquery2.default)('#survey-form').removeClass('no-fixed-subject-type');\n\t\t} else {\n\t\t\t(0, _jquery2.default)('#survey-form').addClass('no-fixed-subject-type');\n\t\t}\n\t}\n\n\thasScrollBar = document.body.scrollHeight > document.documentElement.clientHeight;\n\ttoggleScrollHint();\n\n\t/*\n * 設定 文上圖下\n */\n\tvar choiceSubjects = (0, _jquery2.default)('#survey-form').find('.subject-wrapper.CHOICEONE, .subject-wrapper.CHOICEMULTI, .subject-wrapper.PICKFROM');\n\tif (choiceSubjects.length > 0) {\n\t\tvar mediaOptions = choiceSubjects.find('.subject-answer.withMedia .option');\n\t\tif (mediaOptions.length > 0) {\n\t\t\t_jquery2.default.each(mediaOptions, function () {\n\t\t\t\tvar thisOptionMedia = (0, _jquery2.default)(this).find('.opt-media');\n\t\t\t\tif (thisOptionMedia) {\n\t\t\t\t\t(0, _jquery2.default)(this).append(thisOptionMedia);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/*\n * 設定 last page ui\n */\n\tif (_appVariable.pageConfig.now && _appVariable.pageSNArr[_appVariable.pageConfig.now] === 'submit-wrapper') {\n\t\t/*\n * this is last page\n */\n\t\t(0, _jquery2.default)('body').addClass('_last');\n\n\t\t(0, _jquery2.default)('#survey-form').prepend('
');\n\t\t(0, _jquery2.default)('#custom-last-page').load('/s/theme/HAPPYLIFE/last-page.html');\n\t} else {\n\t\t(0, _jquery2.default)('body').removeClass('_last');\n\t\t(0, _jquery2.default)('#custom-last-page').remove();\n\t}\n};\n\nexports.default = 'This is enterprise-stans';\n\n/***/ }),\n\n/***/ \"0lA4\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports) {\n\nmodule.exports = fbq;\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"j1ja\");\n__webpack_require__(\"rplX\");\nmodule.exports = __webpack_require__(\"vGYV\");\n\n\n/***/ }),\n\n/***/ \"3IRH\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ }),\n\n/***/ \"3QHt\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getInitMeta = function getInitMeta(svid) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/survey/init-meta?svid=' + svid).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getInitMeta;\n\n/***/ }),\n\n/***/ \"3cru\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.parseSubjectsToUI = exports.specialSettingError = exports.singleSubjectUI = exports.iniPosition = exports.initialRetainCount = exports.drawLastPage = exports.renderLastUI = exports.replaceLastUi = exports.drawMainPage = exports.drawPublic = exports.drawSurvey = exports.drawWelcomePage = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _xss = __webpack_require__(\"NG4M\");\n\nvar _xss2 = _interopRequireDefault(_xss);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _array = __webpack_require__(\"u2OS\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _time = __webpack_require__(\"Q7Nz\");\n\nvar _action = __webpack_require__(\"DbZ6\");\n\nvar _ui = __webpack_require__(\"qOui\");\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nvar _videoPlayer = __webpack_require__(\"miG6\");\n\nvar _brochure = __webpack_require__(\"7a4H\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _getReportToken = __webpack_require__(\"NAr+\");\n\nvar _getReportToken2 = _interopRequireDefault(_getReportToken);\n\nvar _fileUpload = __webpack_require__(\"RmQc\");\n\nvar _reCAPTCHA = __webpack_require__(\"4rr4\");\n\nvar _image = __webpack_require__(\"N80U\");\n\nvar _image2 = _interopRequireDefault(_image);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/* -------------------------------------\n -------------- Drawpage -------------\n------------------------------------- */\nvar drawWelcomePage = exports.drawWelcomePage = function drawWelcomePage() {\n\tif (_appVariable.variable.surveyData.welcomebanner) {\n\t\t(function () {\n\t\t\tvar bannerContainer = (0, _jquery2.default)('#welcome').find('.banner');\n\t\t\tvar imageUrl = (0, _common.reviseImgUrl)(_appVariable.variable.surveyData.welcomebanner);\n\n\t\t\tvar welcomeBanner = (0, _image2.default)(imageUrl, {\n\t\t\t\tonload: function onload(image) {\n\t\t\t\t\tvar theRatio = image.width / image.height;\n\n\t\t\t\t\tif (theRatio >= 0.8 && theRatio <= 1.2) {\n\t\t\t\t\t\tbannerContainer.addClass('rect');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonreplace: function onreplace(image) {\n\t\t\t\t\tbannerContainer.html(image);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tbannerContainer.html(welcomeBanner);\n\t\t})();\n\t} else {\n\t\t(0, _jquery2.default)('#welcome .banner').remove();\n\t}\n\n\t(0, _jquery2.default)('#welcome .intro').css('position', 'relative');\n\n\t(0, _jquery2.default)('#welcome .intro').html('

' + _appVariable.variable.surveyData.title + '

' + (_appVariable.variable.surveyData.welcometext ? '
' + _appVariable.variable.surveyData.welcometext + '
' : ''));\n\n\tif (_appVariable.variable.surveyData.legaltext) {\n\t\t(0, _jquery2.default)('#legaltext').html(_appVariable.variable.surveyData.legaltext);\n\t\t(0, _jquery2.default)('#legal-wrap').show();\n\t} else {\n\t\t(0, _jquery2.default)('#legal-wrap').remove();\n\t}\n\n\t_appVariable.pageSNArr.push('welcome');\n\n\t(0, _customize.extAftDrawWelcomePage)();\n};\n\nvar drawSurvey = exports.drawSurvey = function drawSurvey() {\n\tconsole.log('/// drawSurvey');\n\n\t(0, _common.overflowBody)(true);\n\n\tvar drawSurveyDetail = function drawSurveyDetail() {\n\t\t(0, _ui.hideErrorInfo)();\n\n\t\t/**\n * entitiesData\n */\n\t\t_appVariable.variable.surveyData.title = (0, _xss2.default)(_appVariable.variable.surveyData.title);\n\n\t\tif (!_appVariable.isIniframe) {\n\t\t\t_appVariable2.default.leaveAlert = true;\n\t\t}\n\n\t\t_appVariable2.default.layout = _appVariable.variable.surveyData.layouts;\n\t\tif (_appVariable.urlQueryObject.layout) {\n\t\t\t_appVariable2.default.layout = _appVariable.urlQueryObject.layout;\n\t\t}\n\n\t\t(0, _customize.extChangeDocumentTitle)();\n\n\t\t(0, _jquery2.default)('body').addClass(_appVariable2.default.layout + '-view');\n\n\t\tif (_appVariable.variable.surveyData.vnshow === 'OFF') {\n\t\t\t(0, _jquery2.default)('#survey-content').addClass('no-vn');\n\t\t}\n\n\t\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\tconsole.log('/// 使用分頁');\n\n\t\t\tif (_appVariable.variable.surveyData.backbtnshow !== 'SHOW' && _appVariable2.default.viewStatus === 'public') {\n\t\t\t\t(0, _jquery2.default)('#prev-sbj-btn').remove(); // 預覽永遠有\n\t\t\t}\n\n\t\t\tif (_appVariable.variable.surveyData.backbtnshow !== 'SHOW' && _appVariable2.default.viewStatus === 'preview') {\n\t\t\t\t/**\n * 預覽提示\n */\n\t\t\t\t(0, _jquery2.default)('#prev-sbj-btn').attr('title', _appVariable.sysLang.wording.str_pv_backbtn).tooltip('fixTitle');\n\t\t\t}\n\t\t}\n\n\t\tif (_appVariable2.default.viewStatus === 'public') {\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _initial.eventTracking)();\n\n\t\t\t\tif (_appVariable.variable.ampInstance) {\n\t\t\t\t\t_appVariable.variable.ampInstance.logEvent('Enter Survey', (0, _initial.newEventData)());\n\t\t\t\t}\n\t\t\t}, 3000);\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif (_appVariable2.default.alreadySetVisit === false) {\n\t\t\t\t\t(0, _action.setVisit)();\n\t\t\t\t}\n\t\t\t}, 15000);\n\n\t\t\t(0, _action.setClientTracking)();\n\t\t}\n\n\t\tdrawWelcomePage();\n\n\t\t(0, _customize.extPreIniSbjObj)();\n\n\t\t(0, _initial.iniSubjectObj)();\n\t\t(0, _initial.prepareData)();\n\n\t\tif (_appVariable2.default.fileUpload.exist) {\n\t\t\t(0, _fileUpload.initialAwsSdk)();\n\t\t}\n\n\t\tif (_appVariable2.default.reCaptcha.enable) {\n\t\t\t(0, _reCAPTCHA.initialReCaptcha)();\n\t\t}\n\n\t\tif (_appVariable.pageConfig.mode === 'manual') {\n\t\t\t(0, _jquery2.default)('body').addClass('_manual');\n\t\t}\n\t};\n\n\tif (_appVariable.variable.surveyData.masterhash) {\n\t\t(0, _initial.getMasterSurveySubjects)(_appVariable.variable.surveyData.masterhash).then(function (_ref) {\n\t\t\tvar status = _ref.status;\n\n\t\t\tif (status) {\n\t\t\t\tdrawSurveyDetail();\n\t\t\t}\n\t\t});\n\t} else {\n\t\tdrawSurveyDetail();\n\t}\n};\n\nvar drawPublic = exports.drawPublic = function drawPublic() {\n\tconsole.log('/// drawPublic');\n\n\t_appVariable2.default.nowGetTime = (0, _time.createTimeStamp)();\n\t_appVariable2.default.svStartTime = _appVariable2.default.svStartTime ? (0, _time.parseDate)(_appVariable2.default.svStartTime).getTime() : '';\n\t_appVariable2.default.svEndTime = _appVariable2.default.svEndTime ? (0, _time.parseDate)(_appVariable2.default.svEndTime).getTime() : '';\n\n\t/**\n * format duration string according to offset\n */\n\t_appVariable2.default.svDuration = (_appVariable2.default.svStartTime ? (0, _time.convertTZString)(new Date(_appVariable2.default.svStartTime)) : '') + ' \\uFF5E ' + (_appVariable2.default.svEndTime ? (0, _time.convertTZString)(new Date(_appVariable2.default.svEndTime)) : '');\n\n\tif (_appVariable2.default.svStartTime || _appVariable2.default.svEndTime) {\n\t\tif (_appVariable2.default.svStartTime && _appVariable2.default.nowGetTime < _appVariable2.default.svStartTime) {\n\t\t\t_appVariable2.default.svDurationPass = false;\n\t\t}\n\n\t\tif (_appVariable2.default.svEndTime && _appVariable2.default.nowGetTime > _appVariable2.default.svEndTime) {\n\t\t\t_appVariable2.default.svDurationPass = false;\n\t\t}\n\t}\n\n\tif (_appVariable2.default.svDurationPass) {\n\t\tvar isFulled = true;\n\t\tif (_appVariable.variable.surveyData.limitcount === null || _appVariable.variable.surveyData.ppl_count == null || _appVariable.variable.surveyData.ppl_count < _appVariable.variable.surveyData.limitcount) {\n\t\t\tconsole.log('//// 沒有設定上限');\n\n\t\t\tisFulled = false;\n\t\t}\n\n\t\tif (isFulled) {\n\t\t\tconsole.log('//// 額滿');\n\n\t\t\t(0, _jquery2.default)('#loading').remove();\n\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\ttitle: _appVariable.sysLang.wording.str_sv_overloaded,\n\t\t\t\tpic: 'overloaded'\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('//// 尚未額滿');\n\n\t\tif ((0, _customize.extPreDrawSurvey)()) {\n\t\t\treturn;\n\t\t}\n\n\t\t(0, _jquery2.default)('#regneed').remove();\n\t\tdrawSurvey();\n\t\treturn;\n\t}\n\n\tconsole.log('//// 不在區間裡');\n\n\t(0, _jquery2.default)('#loading').remove();\n\t(0, _ui.showErrorInfo)({\n\t\ttitle: _appVariable.sysLang.wording.str_sv_duration,\n\t\tcontent: _appVariable2.default.svDuration,\n\t\tpic: 'off'\n\t});\n};\n\nvar drawMainPage = exports.drawMainPage = function () {\n\tvar _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {\n\t\tvar json;\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\t_context.next = 2;\n\t\t\t\t\t\treturn (0, _customize.getSubjectGroupJson)();\n\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t_context.prev = 2;\n\t\t\t\t\t\t_context.next = 5;\n\t\t\t\t\t\treturn (0, _initial.getSurveyPublic)();\n\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\tjson = _context.sent;\n\n\t\t\t\t\t\tif (json) {\n\t\t\t\t\t\t\t_context.next = 8;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new Error();\n\n\t\t\t\t\tcase 8:\n\n\t\t\t\t\t\t_appVariable.variable.surveyData = json;\n\t\t\t\t\t\t_appVariable2.default.svStatus = json.status;\n\t\t\t\t\t\t_appVariable2.default.theme = json.theme.toLowerCase() || 'surveycake';\n\t\t\t\t\t\t_appVariable2.default.language = json.language.toLowerCase() || _appConfig.defaultLanguage;\n\n\t\t\t\t\t\t_appVariable2.default.nowGetTime = (0, _time.createTimeStamp)();\n\t\t\t\t\t\t_appVariable2.default.svStartTime = json.starttime;\n\t\t\t\t\t\t_appVariable2.default.svEndTime = json.endtime;\n\t\t\t\t\t\t_appVariable2.default.previewAnswer = json.preview_answer === 'Y';\n\t\t\t\t\t\t_appVariable2.default.reCaptcha.enable = json.re_captcha === 'Y';\n\n\t\t\t\t\t\t(0, _initial.loadMoreFiles)(function () {\n\t\t\t\t\t\t\tif (_appVariable2.default.viewStatus === 'public') {\n\t\t\t\t\t\t\t\tif (_appVariable2.default.svStatus === 'PUBLIC') {\n\t\t\t\t\t\t\t\t\tdrawPublic();\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (_appVariable2.default.svStatus === 'OFF') {\n\t\t\t\t\t\t\t\t\t(0, _jquery2.default)('#loading').remove();\n\t\t\t\t\t\t\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\t\t\t\t\t\t\ttitle: _appVariable.sysLang.wording.str_sv_off,\n\t\t\t\t\t\t\t\t\t\tpic: 'off'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (_appVariable2.default.svStatus === 'PRIVATE') {\n\t\t\t\t\t\t\t\t\t(0, _jquery2.default)('#loading').remove();\n\t\t\t\t\t\t\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\t\t\t\t\t\t\ttitle: _appVariable.sysLang.wording.str_sv_private,\n\t\t\t\t\t\t\t\t\t\tcontent: _appVariable.sysLang.wording.str_sv_private_info,\n\t\t\t\t\t\t\t\t\t\tpic: 'private'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t(0, _main.setPrivateJS)();\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (_appVariable2.default.viewStatus === 'preview') {\n\t\t\t\t\t\t\t\tdrawSurvey();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t_context.next = 23;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 20:\n\t\t\t\t\t\t_context.prev = 20;\n\t\t\t\t\t\t_context.t0 = _context['catch'](2);\n\n\t\t\t\t\t\t(0, _initial.notfoundUI)();\n\n\t\t\t\t\tcase 23:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined, [[2, 20]]);\n\t}));\n\n\treturn function drawMainPage() {\n\t\treturn _ref2.apply(this, arguments);\n\t};\n}();\n\nvar replaceLastUi = exports.replaceLastUi = function replaceLastUi(ele, pageName) {\n\tif (!ele) {\n\t\treturn;\n\t}\n\n\tif (_appVariable.variable.surveyData.thankyoubanner) {\n\t\t(function () {\n\t\t\tvar bannerContainer = ele.find('.banner');\n\t\t\tvar imageUrl = (0, _common.reviseImgUrl)(_appVariable.variable.surveyData.thankyoubanner);\n\n\t\t\tvar thankyouBanner = (0, _image2.default)(imageUrl, {\n\t\t\t\tonload: function onload() {\n\t\t\t\t\tbannerContainer.addClass('_load');\n\t\t\t\t},\n\t\t\t\tonerror: function onerror() {\n\t\t\t\t\tbannerContainer.addClass('_load');\n\t\t\t\t},\n\t\t\t\tonreplace: function onreplace(image) {\n\t\t\t\t\tbannerContainer.html(image);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tbannerContainer.html(thankyouBanner);\n\t\t})();\n\t}\n\n\tif (pageName === 'timeout') {\n\t\tele.find('.intro .text').html(_appVariable.sysLang.wording.str_default_timeout);\n\t} else if (pageName === 'finished') {\n\t\tele.find('.intro .text').html(_appVariable.sysLang.wording.str_default_finished);\n\t} else {\n\t\tele.find('.intro .text').html(_appVariable.variable.surveyData[pageName + 'text'] || _appVariable.sysLang.wording.str_default_thankyou);\n\t}\n\n\t/**\n * set the `href` attribute and inner text of a button\n *\n * options: accept `url` and `text`\n */\n\tvar setButtonAttributes = function setButtonAttributes(button, options) {\n\t\tif (!options || !options.url) {\n\t\t\tbutton.remove();\n\t\t\treturn;\n\t\t}\n\n\t\tbutton.attr('href', options.url).css('display', 'block');\n\n\t\tif (!options.text) {\n\t\t\treturn;\n\t\t}\n\n\t\tbutton.text(options.text);\n\t};\n\n\tif (_appVariable.variable.surveyData.lastbtn !== 'REMOVE') {\n\t\tif (_appVariable.variable.surveyData.gotourl) {\n\t\t\tsetButtonAttributes(ele.find('#survey-close-btn'), {\n\t\t\t\turl: _appVariable.variable.surveyData.gotourl,\n\t\t\t\ttext: _appVariable.variable.surveyData.gotourltxt || ''\n\t\t\t});\n\t\t}\n\t} else {\n\t\tele.find('#survey-close-btn').remove();\n\t}\n\n\tif (pageName !== 'thankyou' || _appVariable.variable.surveyData.show_result !== 'Y') {\n\t\tele.find('#survey-result-btn').remove();\n\t} else {\n\t\tele.find('#survey-result-btn').text(_appVariable.sysLang.wording.viewResult);\n\n\t\t(0, _getReportToken2.default)(_appVariable2.default.surveyId).then(function (response) {\n\t\t\tif (!response.status) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tele.find('#survey-result-btn').attr('href',\n\t\t\t/* eslint-disable max-len */\n\t\t\t_appConfig.serverDomain + '/admin/' + _appVariable2.default.language + '/survey/' + _appVariable2.default.surveyId + '/report?v=' + response.data + '&layout=P');\n\t\t});\n\t}\n\n\t(0, _customize.extAftDrawLastPage)(ele, pageName);\n};\n\nvar renderLastUI = exports.renderLastUI = function renderLastUI(ui) {\n\tvar lastUiContainer = (0, _jquery2.default)('.lastpage-template').clone().removeClass('lastpage-template');\n\tlastUiContainer.attr('id', ui);\n\treplaceLastUi(lastUiContainer, ui);\n\n\t(0, _jquery2.default)('#control-wrapper').remove();\n\t(0, _jquery2.default)('#survey-content').html('');\n\t(0, _jquery2.default)('#survey-content').prepend(lastUiContainer);\n\n\tlastUiContainer.show();\n\t(0, _common.scrollToEle)((0, _jquery2.default)('body'), false, 0);\n\n\tsetTimeout(function () {\n\t\tlastUiContainer.find('.action-button-wrapper').fadeIn('fast');\n\t}, 500);\n\n\tif (window.opener) {\n\t\twindow.opener.postMessage('sv_submit_success', '*');\n\t}\n};\n\nvar drawLastPage = exports.drawLastPage = function drawLastPage(pageName) {\n\treturn (0, _initial.getSurveyPublic)().then(function (json) {\n\t\tif (!json) {\n\t\t\tPromise.reject();\n\t\t\treturn;\n\t\t}\n\n\t\t_appVariable.variable.surveyData = json;\n\n\t\tif (json.status !== 'PRIVATE') {\n\t\t\t_appVariable2.default.theme = _appVariable.variable.surveyData.theme.toLowerCase() || 'surveycake';\n\t\t\t_appVariable2.default.language = _appVariable.variable.surveyData.language.toLowerCase() || _appConfig.defaultLanguage;\n\t\t}\n\n\t\t(0, _initial.loadMoreFiles)(function () {\n\t\t\trenderLastUI(pageName);\n\t\t});\n\t}).catch(function () {\n\t\t(0, _initial.notfoundUI)();\n\t});\n};\n\nvar initialRetainCount = exports.initialRetainCount = function initialRetainCount() {\n\tif (_appVariable.thisAnswerObj && (0, _common.objectSize)(_appVariable.thisAnswerObj) > 0) {\n\t\t_jquery2.default.each(_appVariable.thisAnswerObj, function (order, ansobj) {\n\t\t\tif (_jquery2.default.inArray(_appVariable.thisSubjectsObj[order].type, _constant.logicSbjType) === -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_jquery2.default.each(ansobj, function (ansK, ansV) {\n\t\t\t\tif (ansK.search('sbj_') === -1 || ansV.length === 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t_jquery2.default.each(ansV, function (kk, vv) {\n\t\t\t\t\tif ((0, _common.separateOptionIdFromText)(vv) === null) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar theOptObj = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(vv), _appVariable.thisSubjectsObj[order].options);\n\n\t\t\t\t\tif (theOptObj.linkto) {\n\t\t\t\t\t\ttheOptObj.linkto.forEach(function (subjectNumber) {\n\t\t\t\t\t\t\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\t\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[theOrder].__addShowByLinkto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theOptObj.jumpto) {\n\t\t\t\t\t\tvar fromOrder = parseInt(order, 10);\n\t\t\t\t\t\tvar toOrder = (0, _common.findOrderBySN)(theOptObj.jumpto);\n\n\t\t\t\t\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\t\t\t\t\tfor (var k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[k].__addHideByJumpto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theOptObj.sorryto) {\n\t\t\t\t\t\tvar _fromOrder = parseInt(order, 10);\n\t\t\t\t\t\tvar _toOrder = (0, _common.findOrderBySN)(theOptObj.sorryto);\n\n\t\t\t\t\t\tif (_fromOrder !== false && _toOrder !== false) {\n\t\t\t\t\t\t\tfor (var _k = _fromOrder + 1; _k < _toOrder; _k += 1) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[_k].__addHideBySorryto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n};\n\nvar iniPosition = exports.iniPosition = function iniPosition() {\n\tconsole.log('/// iniPosition');\n\t/**\n * 找尋第一個還沒填答的題目位置\n */\n\tvar iniOrder = null;\n\tvar iniSN = null;\n\tvar iniPageNum = null;\n\n\tvar firstEmptyOrder = null;\n\tvar lastAnsOrder = null;\n\n\tif (_appVariable.thisAnswerObj && (0, _common.objectSize)(_appVariable.thisAnswerObj) > 0) {\n\t\t_jquery2.default.each(_appVariable.thisAnswerObj, function (order, ansobj) {\n\t\t\tif ((0, _validate.checkHasAns)(ansobj)) {\n\t\t\t\tlastAnsOrder = order;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (firstEmptyOrder === null) {\n\t\t\t\tfirstEmptyOrder = order;\n\t\t\t}\n\t\t});\n\n\t\tconsole.log('/// firstEmptyOrder IS: ' + firstEmptyOrder);\n\t\tconsole.log('/// lastAnsOrder IS: ' + lastAnsOrder);\n\n\t\tif (lastAnsOrder !== null) {\n\t\t\tiniOrder = lastAnsOrder;\n\n\t\t\tif (firstEmptyOrder != null) {\n\t\t\t\tiniOrder = firstEmptyOrder;\n\t\t\t}\n\t\t}\n\n\t\tconsole.log('/// iniOrder IS: ' + iniOrder);\n\n\t\tif (iniOrder !== null) {\n\t\t\tiniSN = _appVariable.thisSubjectsObj[iniOrder].sn;\n\t\t\tiniPageNum = (0, _common.findPageNumberBySN)(iniSN);\n\t\t}\n\t}\n\n\tif (iniPageNum !== null) {\n\t\t(0, _main.progressCount)(iniSN);\n\n\t\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\tconsole.log('iniPageNum ' + iniPageNum);\n\n\t\t\t_appVariable.pageConfig.now = iniPageNum;\n\t\t\t(0, _brochure.resetPageConfig)();\n\n\t\t\treturn;\n\t\t}\n\n\t\t_appVariable2.default.iniPosSN = iniSN;\n\t}\n};\n\nvar singleSubjectUI = exports.singleSubjectUI = function singleSubjectUI(subjectNumber) {\n\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\tif (theOrder === false) {\n\t\treturn;\n\t}\n\n\tvar sbjval = _appVariable.thisSubjectsObj[theOrder];\n\tvar theSbjType = sbjval.type;\n\tvar newSubject = (0, _jquery2.default)('.subject-wrapper-temp').clone();\n\tvar hasVideo = false;\n\tvar oldSbj = null;\n\n\tif ((0, _jquery2.default)('#' + sbjval.sn).length) {\n\t\t(0, _jquery2.default)('#' + sbjval.sn).addClass('the-old-one');\n\t\toldSbj = (0, _jquery2.default)('.the-old-one');\n\t}\n\n\tnewSubject.removeClass('subject-wrapper-temp');\n\tnewSubject.attr('id', sbjval.sn);\n\tnewSubject.attr('data-id', sbjval.ID);\n\tnewSubject.attr('sbj-type', theSbjType);\n\tnewSubject.addClass(theSbjType);\n\n\tif (_appVariable.variable.surveyData.vnshow === 'SHOW') {\n\t\tnewSubject.find('.subject-vn').html(sbjval.vn);\n\t} else if (_appVariable.variable.surveyData.vnshow === 'OFF') {\n\t\tnewSubject.find('.subject-vn').html('');\n\t}\n\n\t/**\n * 除果標題文字跟 描述沒有的話\n */\n\tif (sbjval.text) {\n\t\tnewSubject.find('.subject-title').html((0, _xss2.default)(sbjval.text));\n\t}\n\n\tif (sbjval.descpt) {\n\t\tnewSubject.find('.subject-description div').html(sbjval.descpt);\n\t} else {\n\t\tnewSubject.find('.subject-description').remove();\n\t}\n\n\t/**\n * 帶入答案\n */\n\tif (newSubject.find('.subject-title .ansTag').length) {\n\t\t_jquery2.default.each(newSubject.find('.subject-title .ansTag'), function () {\n\t\t\tif ((0, _jquery2.default)(this).attr('rel')) {\n\t\t\t\t(0, _jquery2.default)(this).text((0, _portrait.getAnstagTXT)(parseInt((0, _jquery2.default)(this).attr('rel'), 10)));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n * 圖片\n */\n\tif (sbjval.imgs !== null) {\n\t\t(function () {\n\t\t\tvar imageContainer = newSubject.find('.subject-image');\n\t\t\tvar imageUrl = (0, _common.reviseImgUrl)(sbjval.imgs);\n\n\t\t\tvar subjectImage = (0, _image2.default)(imageUrl, {\n\t\t\t\tonload: function onload() {\n\t\t\t\t\tif (theSbjType === 'QUOTE' || theSbjType === 'STATEMENT') {\n\t\t\t\t\t\tconsole.log('resizeMtop');\n\t\t\t\t\t\t(0, _ui.resizeMtop)(newSubject);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonreplace: function onreplace(image) {\n\t\t\t\t\timageContainer.html('');\n\t\t\t\t\timageContainer.append(image);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\timageContainer.append(subjectImage);\n\t\t})();\n\t} else {\n\t\tnewSubject.find('.subject-image').remove();\n\t}\n\n\t/**\n * 影片\n */\n\tif (sbjval.youtubeid !== null) {\n\t\thasVideo = true;\n\n\t\tvar cloneVideoBlock = (0, _jquery2.default)('.video-block-temp').clone().removeClass('video-block-temp');\n\t\tcloneVideoBlock.attr('youtubeid', sbjval.youtubeid);\n\t\tcloneVideoBlock.addClass('subject-video').find('.video-thumbnail').css('background-image', 'url(\\'' + (0, _videoPlayer.createYoutubeTumbnail)(sbjval.youtubeid) + '\\')');\n\t\tnewSubject.find('.subject-media').append(cloneVideoBlock);\n\t} else {\n\t\tnewSubject.find('.subject-video').remove();\n\t}\n\n\tvar $elseOption = (0, _jquery2.default)('.else-wrap-temp').clone();\n\t$elseOption.removeClass('else-wrap-temp');\n\n\tvar $levelOption = (0, _jquery2.default)('.level-wrap-temp').clone();\n\t$levelOption.removeClass('level-wrap-temp');\n\n\tvar $levelMotherOption = (0, _jquery2.default)('.level-mother-outer-temp').clone();\n\t$levelMotherOption.removeClass('level-mother-outer-temp');\n\n\t/**\n * 開始製作題目 UI\n */\n\tif (_jquery2.default.inArray(theSbjType, _constant.acceptSbjType) !== -1) {\n\t\tif (theSbjType === 'TXTSHORT') {\n\t\t\tvar type = 'text';\n\t\t\tvar digitsClass = false;\n\t\t\tvar min = '';\n\t\t\tvar placeholder = _appVariable.sysLang.wording.please.fill.text;\n\t\t\tvar needAutohttp = false;\n\n\t\t\tif (sbjval.attr !== null) {\n\t\t\t\ttype = sbjval.attr;\n\n\t\t\t\tif (type === 'tel') {\n\t\t\t\t\tmin = 'min=\\'0\\'';\n\t\t\t\t\tdigitsClass = true;\n\t\t\t\t\tplaceholder = _appVariable.sysLang.wording.please.fill.tel;\n\t\t\t\t} else if (type === 'email') {\n\t\t\t\t\tplaceholder = _appVariable.sysLang.wording.please.fill.email;\n\t\t\t\t} else if (type === 'url') {\n\t\t\t\t\tplaceholder = _appVariable.sysLang.wording.please.fill.url;\n\t\t\t\t\tneedAutohttp = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer').append('
');\n\n\t\t\tif (digitsClass) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('digits');\n\t\t\t}\n\n\t\t\tif (type === 'email') {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('strictEmail');\n\t\t\t}\n\n\t\t\tif (needAutohttp) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('autohttp');\n\t\t\t}\n\n\t\t\tif (sbjval.maxtimes === 1) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('textOnece');\n\t\t\t}\n\t\t} else if (theSbjType === 'TXTLONG') {\n\t\t\tnewSubject.find('.subject-answer').append('
');\n\t\t} else if (theSbjType === 'NEST') {\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t\t_appVariable.nestConfig.levelTxtArr = [];\n\t\t\t_appVariable.nestConfig.motherShowCount = 0;\n\t\t\t_appVariable.nestConfig.motherSn = sbjval.sn;\n\n\t\t\t_jquery2.default.each(sbjval.options, function (optkey, optval) {\n\t\t\t\t_appVariable.nestConfig.levelTxtArr.push(optval.text);\n\t\t\t});\n\t\t} else if (theSbjType === 'NESTCHILD') {\n\t\t\tnewSubject.find('i, .subject-description, .subject-media').remove();\n\t\t\tnewSubject.attr('childtopar', _appVariable.nestConfig.motherSn);\n\n\t\t\tfor (var i = 0; i < sbjval.options.length; i += 1) {\n\t\t\t\tvar cloneLevel = $levelOption.find('.level').first().clone();\n\t\t\t\tcloneLevel.find('input').attr({\n\t\t\t\t\tname: 'sbj_' + sbjval.ID + '[]',\n\t\t\t\t\tvalue: 'opt_' + sbjval.options[i].ID\n\t\t\t\t});\n\t\t\t\t$levelOption.append(cloneLevel);\n\t\t\t}\n\n\t\t\t$levelOption.find('.level').first().remove();\n\t\t\t$levelOption.find('.level').last().addClass('last');\n\t\t\tnewSubject.find('.subject-answer').append($levelOption);\n\n\t\t\tif (_appVariable.nestConfig.motherShowCount % 5 === 0) {\n\t\t\t\tfor (var k = 1; k <= sbjval.options.length; k += 1) {\n\t\t\t\t\t$levelMotherOption.find('.level-mother-wrap').append('\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t' + _appVariable.nestConfig.levelTxtArr[k - 1] + '\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t');\n\t\t\t\t}\n\n\t\t\t\tnewSubject.prepend($levelMotherOption);\n\t\t\t}\n\n\t\t\t_appVariable.nestConfig.motherShowCount += 1;\n\n\t\t\tif (sbjval.lastNestChild) {\n\t\t\t\tnewSubject.addClass('last');\n\t\t\t}\n\t\t} else if (theSbjType === 'CHOICEONE' || theSbjType === 'CHOICEMULTI' || theSbjType === 'ITEMSORT' || theSbjType === 'PICKFROM') {\n\t\t\t/**\n * CHOICEONE & CHOICEMULTI & ITEMSORT 共用的產生 option 方式\n */\n\t\t\tif (theSbjType === 'PICKFROM' && sbjval.optfrom && sbjval.optfrom.length) {\n\t\t\t\t(function () {\n\t\t\t\t\tvar pickfromOptsArr = [];\n\n\t\t\t\t\tsbjval.optfrom.forEach(function (theSN) {\n\t\t\t\t\t\tvar theOrdering = (0, _common.findOrderBySN)(theSN);\n\n\t\t\t\t\t\tif (theOrdering !== false) {\n\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\tvar theOptions = _appVariable.thisSubjectsObj[theOrdering].__getSelectedOptions();\n\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t\t\t\tif (theOptions) {\n\t\t\t\t\t\t\t\tpickfromOptsArr = (0, _array.arrInsertArr)(pickfromOptsArr, pickfromOptsArr.length, theOptions);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tpickfromOptsArr = (0, _initial.optObjArr)(pickfromOptsArr);\n\n\t\t\t\t\tif (sbjval.rndopts === 1) {\n\t\t\t\t\t\t(0, _array.rndOptsArr)(pickfromOptsArr);\n\t\t\t\t\t}\n\n\t\t\t\t\tsbjval.options = pickfromOptsArr;\n\t\t\t\t})();\n\t\t\t}\n\n\t\t\tvar cloneOptsArr = sbjval.options;\n\n\t\t\tif (cloneOptsArr !== null) {\n\t\t\t\tvar optionLength = (0, _common.objectSize)(cloneOptsArr);\n\t\t\t\tvar hasElse = false;\n\n\t\t\t\tif (optionLength) {\n\t\t\t\t\tif (cloneOptsArr[optionLength - 1].elses === 1) {\n\t\t\t\t\t\thasElse = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n * 如果有設定 Compress 收折的話就是用 Select\n */\n\t\t\t\t\tif (theSbjType === 'CHOICEONE' && sbjval.compress === 1) {\n\t\t\t\t\t\t(function () {\n\t\t\t\t\t\t\tvar $newSelect = (0, _jquery2.default)('
');\n\t\t\t\t\t\t\t$newSelect.find('select').append('');\n\n\t\t\t\t\t\t\t_jquery2.default.each(cloneOptsArr, function (optkey, optval) {\n\t\t\t\t\t\t\t\tif (!optval.isVisible()) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar $newOption = (0, _jquery2.default)('');\n\t\t\t\t\t\t\t\t$newSelect.find('select').append($newOption);\n\n\t\t\t\t\t\t\t\tif (optval.jumpto !== null) {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('jumpto');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.linkto !== null) {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('linkto');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.maxtimes !== null) {\n\t\t\t\t\t\t\t\t\t$newOption.attr('maxtimes', optval.maxtimes);\n\t\t\t\t\t\t\t\t\t$newOption.attr('maxacts', optval.maxacts);\n\t\t\t\t\t\t\t\t\t$newOption.addClass('maxtimes');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.isFULLED === true) {\n\t\t\t\t\t\t\t\t\t(0, _main.setFulledUI)($newOption, 'select');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.elses === 1) {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('else');\n\t\t\t\t\t\t\t\t\t$elseOption.find('input').attr('name', 'opt_' + optval.ID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').append($newSelect);\n\n\t\t\t\t\t\t\tif (hasElse === true) {\n\t\t\t\t\t\t\t\t$elseOption.addClass('select-else-wrap');\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').append($elseOption);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(function () {\n\t\t\t\t\t\t\tvar optStyle = {};\n\t\t\t\t\t\t\tvar optWithMedia = false;\n\n\t\t\t\t\t\t\tif (theSbjType === 'CHOICEONE') {\n\t\t\t\t\t\t\t\toptStyle.type = 'radio';\n\t\t\t\t\t\t\t\toptStyle.icon = 'fa-circle-o';\n\t\t\t\t\t\t\t} else if (theSbjType === 'CHOICEMULTI' || theSbjType === 'PICKFROM') {\n\t\t\t\t\t\t\t\toptStyle.type = 'checkbox';\n\t\t\t\t\t\t\t\toptStyle.icon = 'fa-square-o';\n\t\t\t\t\t\t\t} else if (theSbjType === 'ITEMSORT') {\n\t\t\t\t\t\t\t\toptStyle.type = 'sortbox';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t_jquery2.default.each(cloneOptsArr, function (optkey, optval) {\n\t\t\t\t\t\t\t\tif (!optval.isVisible()) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar $newOption = optStyle.type === 'sortbox' ? (0, _jquery2.default)('
' + optval.text + '
') : (0, _jquery2.default)('
' + optval.text + '
');\n\n\t\t\t\t\t\t\t\tif (optval.jumpto !== null) {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('jumpto');\n\t\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.linkto !== null && optval.linkto[0] !== '') {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('linkto');\n\t\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tif (optval.maxtimes !== null && optval.maxtimes !== '' && sbjval._doMaxtimesAction) {\n\t\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t\t\t$newOption.attr('maxtimes', optval.maxtimes);\n\t\t\t\t\t\t\t\t\t$newOption.attr('maxacts', optval.maxacts);\n\t\t\t\t\t\t\t\t\t$newOption.addClass('maxtimes');\n\t\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.isFULLED === true) {\n\t\t\t\t\t\t\t\t\t(0, _main.setFulledUI)($newOption, optStyle.type);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.imgs !== null && optval.imgs !== '') {\n\t\t\t\t\t\t\t\t\t(function () {\n\t\t\t\t\t\t\t\t\t\toptWithMedia = true;\n\n\t\t\t\t\t\t\t\t\t\tvar imageContainer = $newOption.find('.opt-media');\n\t\t\t\t\t\t\t\t\t\tvar imageUrl = (0, _common.reviseImgUrl)(optval.imgs);\n\n\t\t\t\t\t\t\t\t\t\tvar optionImage = (0, _image2.default)(imageUrl, {\n\t\t\t\t\t\t\t\t\t\t\tonreplace: function onreplace(image) {\n\t\t\t\t\t\t\t\t\t\t\t\t/**\n * @todo\n * because `opt-media` include video image and normal image\n * need to refactor\n */\n\t\t\t\t\t\t\t\t\t\t\t\timageContainer.find('.optimg').remove();\n\t\t\t\t\t\t\t\t\t\t\t\t(0, _jquery2.default)(image).addClass('optimg');\n\t\t\t\t\t\t\t\t\t\t\t\timageContainer.prepend(image);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t(0, _jquery2.default)(optionImage).addClass('optimg');\n\t\t\t\t\t\t\t\t\t\timageContainer.append(optionImage);\n\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.youtubeid !== null && optval.youtubeid !== '') {\n\t\t\t\t\t\t\t\t\toptWithMedia = true;\n\t\t\t\t\t\t\t\t\thasVideo = true;\n\t\t\t\t\t\t\t\t\tvar _cloneVideoBlock = (0, _jquery2.default)('.video-block-temp').clone().removeClass('video-block-temp');\n\n\t\t\t\t\t\t\t\t\t_cloneVideoBlock.attr('youtubeid', optval.youtubeid);\n\t\t\t\t\t\t\t\t\t_cloneVideoBlock.addClass('option-video').find('.video-thumbnail').css('background-image', 'url(\\'' + (0, _videoPlayer.createYoutubeTumbnail)(optval.youtubeid) + '\\')');\n\t\t\t\t\t\t\t\t\t$newOption.find('.opt-media').append(_cloneVideoBlock);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (optval.elses === 1 && theSbjType !== 'PICKFROM') {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('else');\n\t\t\t\t\t\t\t\t\t$elseOption.find('input').attr('name', 'opt_' + optval.ID);\n\t\t\t\t\t\t\t\t\t$newOption.append($elseOption);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t/**\n * `None of the above` option\n */\n\t\t\t\t\t\t\t\tif (theSbjType === 'CHOICEMULTI' && optval.nota === 1) {\n\t\t\t\t\t\t\t\t\t$newOption.addClass('nota');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').append($newOption);\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').addClass(optWithMedia ? 'withMedia' : 'onlyText');\n\n\t\t\t\t\t\t\tif (theSbjType === 'CHOICEONE' || theSbjType === 'CHOICEMULTI' || theSbjType === 'PICKFROM') {\n\t\t\t\t\t\t\t\t/**\n * option row count\n */\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('data-column', sbjval.extras && sbjval.extras.column ? parseInt(sbjval.extras.column, 10) : '2');\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('data-column-mobile', sbjval.extras && sbjval.extras.column_m ? parseInt(sbjval.extras.column_m, 10) : '1');\n\t\t\t\t\t\t\t\tnewSubject.find('option').wrapAll('
');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theSbjType === 'CHOICEMULTI' || theSbjType === 'PICKFROM') {\n\t\t\t\t\t\t/**\n * 至多至少選擇提醒\n */\n\t\t\t\t\t\tvar boundsStr = '';\n\n\t\t\t\t\t\t/**\n * replace PICKFROM lowerbound\n */\n\t\t\t\t\t\tvar logicLowerbounds = sbjval.lowerbounds != null && sbjval.lowerbounds > optionLength ? optionLength : sbjval.lowerbounds;\n\n\t\t\t\t\t\tif (logicLowerbounds != null && sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tvar range = logicLowerbounds === sbjval.upperbounds ? logicLowerbounds : logicLowerbounds + ' ~ ' + sbjval.upperbounds;\n\n\t\t\t\t\t\t\tboundsStr = _appVariable.sysLang.wording.please.choose + ' ' + range + ' ' + _appVariable.sysLang.wording.str_optcount;\n\t\t\t\t\t\t} else if (logicLowerbounds !== null) {\n\t\t\t\t\t\t\tboundsStr = _appVariable.sysLang.wording.please.choose + ' ' + _appVariable.sysLang.wording.info_atleast + ' ' + logicLowerbounds + ' ' + _appVariable.sysLang.wording.str_optcount;\n\t\t\t\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tboundsStr = _appVariable.sysLang.wording.please.choose + ' ' + _appVariable.sysLang.wording.info_atmost + ' ' + sbjval.upperbounds + ' ' + _appVariable.sysLang.wording.str_optcount;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (logicLowerbounds !== null || sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-info').html(boundsStr);\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer .option input[type=\"checkbox\"]').addClass('choiceCount');\n\n\t\t\t\t\t\t\tif (logicLowerbounds !== null) {\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('mincount', logicLowerbounds);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('maxcount', sbjval.upperbounds);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/**\n * 提醒小 TAG\n */\n\t\t\t\t\t\tif (sbjval.upperbounds !== null && sbjval.upperbounds > 1) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-content h3').append('');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theSbjType === 'ITEMSORT') {\n\t\t\t\t\t\tnewSubject.find('.subject-answer').before('
' + _appVariable.sysLang.wording.str_resort + '
');\n\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('sort-mode', _appVariable2.default.sortMode);\n\n\t\t\t\t\t\tif (_appVariable2.default.sortMode === 'dragIt') {\n\t\t\t\t\t\t\tvar newDragSortBlock = (0, _jquery2.default)('.drag-sort-block-temp').clone().removeClass('drag-sort-block-temp');\n\n\t\t\t\t\t\t\tnewDragSortBlock.attr('id', 'drag-sort-' + sbjval.ID);\n\t\t\t\t\t\t\tnewDragSortBlock.find('.option-wrapper').append(newSubject.find('.subject-answer').find('.option'));\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').prepend(newDragSortBlock);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSubject.find('.subject-answer').append('
');\n\n\t\t\t\t\t\tvar _boundsStr = '';\n\t\t\t\t\t\tvar needSortItem = 1;\n\n\t\t\t\t\t\tif (sbjval.lowerbounds !== null && sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t/**\n * useless\n */\n\t\t\t\t\t\t\t_boundsStr = _appVariable.sysLang.wording.info_need_sort + ' ' + sbjval.lowerbounds + ' ~ ' + sbjval.upperbounds + ' ' + _appVariable.sysLang.wording.str_optcount;\n\t\t\t\t\t\t} else if (sbjval.lowerbounds) {\n\t\t\t\t\t\t\t_boundsStr = _appVariable2.default.language === 'tw' ? _appVariable.sysLang.wording.info_need_sort + ' ' + sbjval.lowerbounds + ' ' + _appVariable.sysLang.wording.str_optcount : sbjval.lowerbounds + ' ' + _appVariable.sysLang.wording.str_optcount + ' ' + _appVariable.sysLang.wording.info_need_sort;\n\t\t\t\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t/**\n * useless\n */\n\t\t\t\t\t\t\t_boundsStr = _appVariable.sysLang.wording.info_need_sort + ' ' + sbjval.upperbounds + ' ' + _appVariable.sysLang.wording.str_optcount;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sbjval.lowerbounds !== null) {\n\t\t\t\t\t\t\tneedSortItem = sbjval.lowerbounds;\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('mincount', sbjval.lowerbounds);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tneedSortItem = sbjval.upperbounds;\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('maxcount', sbjval.upperbounds);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSubject.find('.subject-info').html(_boundsStr);\n\n\t\t\t\t\t\t/**\n * 放入存答案的 input\n */\n\t\t\t\t\t\tfor (var _i = 0; _i < needSortItem; _i += 1) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer .input-wrapper').append('');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (theSbjType === 'DIGITINPUT') {\n\t\t\tvar ruleStr = \"\";\n\t\t\tvar _boundsStr2 = \"\";\n\n\t\t\tif (sbjval.lowerbounds !== null && sbjval.upperbounds !== null) {\n\t\t\t\truleStr = 'min=\\'' + sbjval.lowerbounds + '\\' max=\\'' + sbjval.upperbounds + '\\'';\n\t\t\t\t_boundsStr2 = _appVariable.sysLang.wording.info_need_between + ' ' + sbjval.lowerbounds + ' ~ ' + sbjval.upperbounds + ' ' + _appVariable.sysLang.wording.info_between;\n\t\t\t} else if (sbjval.lowerbounds !== null) {\n\t\t\t\truleStr = 'min=\\'' + sbjval.lowerbounds + '\\'';\n\t\t\t\t_boundsStr2 = _appVariable.sysLang.wording.info_need_upper + ' ' + sbjval.lowerbounds;\n\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\truleStr = 'max=\\'' + sbjval.upperbounds + '\\'';\n\t\t\t\t_boundsStr2 = _appVariable.sysLang.wording.info_need_lower + ' ' + sbjval.upperbounds;\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer').append('
');\n\t\t\tif (sbjval.unittxt !== null && sbjval.unittxt !== '') {\n\t\t\t\tnewSubject.find('.subject-answer .type').append('' + sbjval.unittxt + '');\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer input').addClass('number digit-input');\n\n\t\t\tif (sbjval.pointbounds !== null) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('hasPointbounds');\n\t\t\t\tnewSubject.find('.subject-answer input').attr('pointbounds', sbjval.pointbounds);\n\t\t\t\t_boundsStr2 = _boundsStr2 + '\\uFF08' + _appVariable.sysLang.wording.info_digit_lowbound.replace('_{{point}}_', sbjval.pointbounds) + '\\uFF09';\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-info').html(_boundsStr2);\n\t\t} else if (theSbjType === 'DIGITSLIDE') {\n\t\t\tvar newSlide = (0, _jquery2.default)('.slide-bar-container-temp').clone().removeClass('slide-bar-container-temp');\n\n\t\t\tnewSlide.find('.slide-min').text(sbjval.lowerbounds);\n\t\t\tnewSlide.find('.slide-max').text(sbjval.upperbounds);\n\n\t\t\tif (sbjval.unittxt !== null && sbjval.unittxt !== '') {\n\t\t\t\tnewSlide.find('.slide-min, .slide-max').attr('unittxt', sbjval.unittxt);\n\t\t\t\tnewSlide.find('.slide-bar .unittxt').text(sbjval.unittxt);\n\t\t\t} else {\n\t\t\t\tnewSlide.find('.slide-bar .unittxt').remove();\n\t\t\t}\n\n\t\t\tnewSlide.find('.slide-bar .slide-input').addClass('digit-input');\n\t\t\tnewSlide.find('.slide-bar .slide-input').attr({\n\t\t\t\tid: 'sbj_' + sbjval.ID + '[]',\n\t\t\t\tname: 'sbj_' + sbjval.ID + '[]',\n\t\t\t\tmin: sbjval.lowerbounds,\n\t\t\t\tmax: sbjval.upperbounds,\n\t\t\t\tstep: sbjval.increasebounds || ''\n\t\t\t});\n\n\t\t\tnewSubject.find('.subject-answer').append(newSlide);\n\t\t} else if (theSbjType === 'RATINGBAR') {\n\t\t\tvar newRatingBar = (0, _jquery2.default)('.ratingbar-container-temp').clone().removeClass('ratingbar-container-temp');\n\n\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\tnewRatingBar.attr('steps', sbjval.upperbounds);\n\t\t\t\tnewRatingBar.find('input').attr('name', 'sbj_' + sbjval.ID + '[]');\n\n\t\t\t\tvar iconShape = sbjval.extras && sbjval.extras.shape ? sbjval.extras.shape.toLowerCase() : 'star';\n\n\t\t\t\tfor (var c = 1; c <= sbjval.upperbounds; c += 1) {\n\t\t\t\t\tnewRatingBar.find('.ratingbar-wrap').append('
');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer').append(newRatingBar);\n\t\t} else if (theSbjType === 'DATEPICKER') {\n\t\t\t(function () {\n\t\t\t\t/**\n * Do not call this function directly. Use the next two.\n */\n\t\t\t\tvar processDate = function processDate(dateString, days, type) {\n\t\t\t\t\tvar date = new Date(dateString);\n\n\t\t\t\t\t/**\n * get timezone value and set time to 00:00:00\n */\n\t\t\t\t\tdate.setTime(date.valueOf() + date.getTimezoneOffset() * 60 * 1000);\n\n\t\t\t\t\t/**\n * specific date limitation\n */\n\t\t\t\t\tif (days === false) {\n\t\t\t\t\t\treturn date;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n * there is no specific date limitation\n *\n * calculate the date with fluctuation and today\n */\n\t\t\t\t\tvar nowTime = new Date();\n\n\t\t\t\t\tvar thisMonth = nowTime.getMonth() + 1;\n\t\t\t\t\tthisMonth = thisMonth < 10 ? '0' + thisMonth.toString() : thisMonth.toString();\n\t\t\t\t\tvar thisDate = nowTime.getDate();\n\t\t\t\t\tthisDate = thisDate < 10 ? '0' + thisDate.toString() : thisDate.toString();\n\n\t\t\t\t\tvar today = new Date(nowTime.getFullYear() + '-' + thisMonth + '-' + thisDate);\n\n\t\t\t\t\ttoday.setTime(today.valueOf()\n\t\t\t\t\t/**\n * fix the timezone\n */\n\t\t\t\t\t+ today.getTimezoneOffset() * 60 * 1000\n\t\t\t\t\t/**\n * calculate the modified date\n */\n\t\t\t\t\t+ days * 24 * 60 * 60 * 1000 * (type === 'add' ? 1 : -1));\n\n\t\t\t\t\tif (!dateString) {\n\t\t\t\t\t\treturn today;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n * date and fluctuation are existed\n *\n * mix two conditions\n */\n\t\t\t\t\tif (type === 'add') {\n\t\t\t\t\t\treturn today > date ? date : today;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn today < date ? date : today;\n\t\t\t\t};\n\n\t\t\t\t/**\n * interface of `processDate` function\n */\n\t\t\t\tvar subtractDate = function subtractDate(dateString, lowerbound) {\n\t\t\t\t\t/**\n * it coule be zero (falsy)\n */\n\t\t\t\t\tif (!dateString && lowerbound === null) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn processDate(dateString, /\\d+/.test(lowerbound) && parseInt(lowerbound, 10), 'subtract');\n\t\t\t\t};\n\n\t\t\t\tvar addDate = function addDate(dateString, upperbound) {\n\t\t\t\t\t/**\n * it coule be zero (falsy)\n */\n\t\t\t\t\tif (!dateString && upperbound === null) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn processDate(dateString, /\\d+/.test(upperbound) && parseInt(upperbound, 10), 'add');\n\t\t\t\t};\n\n\t\t\t\tvar template = (0, _jquery2.default)('#subject-template-container > .date-picker-block').clone();\n\t\t\t\tvar startDate = subtractDate(sbjval.extras && sbjval.extras.date_ini, sbjval.lowerbounds);\n\t\t\t\tvar endDate = addDate(sbjval.extras && sbjval.extras.date_end, sbjval.upperbounds);\n\n\t\t\t\tvar $input = template.find('input');\n\n\t\t\t\t$input.attr('name', 'sbj_' + sbjval.ID + '[]').addClass('dateExam').datepicker({\n\t\t\t\t\tformat: 'yyyy-mm-dd',\n\t\t\t\t\tstartDate: startDate,\n\t\t\t\t\tendDate: endDate,\n\t\t\t\t\tautoclose: true,\n\t\t\t\t\torientation: 'left bottom',\n\t\t\t\t\ttemplates: {\n\t\t\t\t\t\tleftArrow: '‹',\n\t\t\t\t\t\trightArrow: '›'\n\t\t\t\t\t},\n\t\t\t\t\tclearBtn: true\n\t\t\t\t}).on('changeDate', function () {\n\t\t\t\t\t(0, _validate.validateSingleEle)($input);\n\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + sbjval.ID, (0, _jquery2.default)(undefined).val(), 'WRITE');\n\t\t\t\t\t(0, _main.portraitProgressCount)(sbjval.sn);\n\t\t\t\t\t(0, _portrait.ansTagToUI)(sbjval.sn);\n\t\t\t\t}).on('show', function () {\n\t\t\t\t\tif (sbjval.indent === 0) {\n\t\t\t\t\t\t(0, _jquery2.default)('.datepicker-dropdown').removeClass('_indention');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t(0, _jquery2.default)('.datepicker-dropdown').addClass('_indention');\n\t\t\t\t});\n\n\t\t\t\tif (sbjval.maxtimes === 1) {\n\t\t\t\t\t$input.addClass('textOnece');\n\t\t\t\t}\n\n\t\t\t\ttemplate.find('input, .fa-calendar').on('click', function () {\n\t\t\t\t\t$input.datepicker('show');\n\t\t\t\t});\n\n\t\t\t\tnewSubject.find('.subject-answer').append(template);\n\t\t\t})();\n\t\t} else if (theSbjType === 'DIVIDER') {\n\t\t\tnewSubject.html('
');\n\t\t} else if (theSbjType === 'QUOTE') {\n\t\t\tvar $quoteIcon = (0, _jquery2.default)('.quote-icon-temp').clone().removeClass('quote-icon-temp');\n\t\t\tnewSubject.prepend($quoteIcon);\n\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t} else if (theSbjType === 'FILEUPLOAD') {\n\t\t\t(0, _fileUpload.createFileUpload)(newSubject, sbjval);\n\t\t} else {\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t}\n\t} else {\n\t\tnewSubject.find('.subject-answer').html(_appVariable.sysLang.wording.str_sbj_notfound.replace('_{{sbjtype}}_', theSbjType));\n\t}\n\n\t/**\n * Timer\n */\n\tif (sbjval.timer != null && sbjval.timer > 0) {\n\t\tnewSubject.addClass('withtimer');\n\t\tnewSubject.find('.timer-overlay').attr('timer', sbjval.timer);\n\n\t\tif (theSbjType === 'NESTCHILD') {\n\t\t\tnewSubject.find('.video-timer-sticker').remove();\n\t\t\tnewSubject.addClass('withtimer');\n\t\t\tnewSubject.find('.timer-overlay').html('');\n\t\t}\n\t} else {\n\t\tnewSubject.find('.video-timer-sticker').remove();\n\t\tnewSubject.find('.timer-overlay').remove();\n\t}\n\n\t/**\n * 有影片又有 Timer\n */\n\tif (sbjval.timer !== null && sbjval.timer > 0 && sbjval.youtubeid !== null) {\n\t\tnewSubject.addClass('waitVideoPlay');\n\t}\n\n\tif (oldSbj) {\n\t\toldSbj.replaceWith(newSubject);\n\t} else {\n\t\t(0, _jquery2.default)('#survey-form').append(newSubject);\n\t}\n\n\t/**\n * 縮排 & 編號\n */\n\tnewSubject.attr('indent', sbjval.indent);\n\n\tif (sbjval.required === 1) {\n\t\tnewSubject.find('.subject-number div').append('*');\n\t\tnewSubject.find(_constant.allHtmlElement).addClass('required');\n\t\tnewSubject.find('.type').find(_constant.needTrimElement).addClass('requiredtrim');\n\t\tnewSubject.find('.else-wrap input').removeClass('required requiredtrim');\n\t\tnewSubject.addClass('withrequired');\n\t}\n\n\tif (sbjval.invisible === 1) {\n\t\tnewSubject.addClass('invisible');\n\t}\n\n\tif (hasVideo) {\n\t\t(0, _ui.resizeVideoBlock)(newSubject);\n\t}\n\n\tif (theSbjType === 'ITEMSORT') {\n\t\t(0, _ui.createSortDragUI)(newSubject);\n\t} else if (theSbjType === 'NESTCHILD') {\n\t\t(0, _ui.resizeLevelW)(newSubject);\n\t} else if (theSbjType === 'RATINGBAR') {\n\t\t(0, _ui.resizeRatingBar)(newSubject);\n\t} else if (theSbjType === 'QUOTE' || theSbjType === 'STATEMENT') {\n\t\tif (!sbjval.imgs) {\n\t\t\t(0, _ui.resizeMtop)(newSubject);\n\t\t}\n\t} else if (theSbjType === 'TXTLONG') {\n\t\t(0, _ui.autoTextArea)(newSubject);\n\t}\n\n\tif (_appVariable.thisAnswerObj[theOrder]) {\n\t\t_appVariable.variable.fillAnswerMode = true;\n\n\t\t_jquery2.default.each(_appVariable.thisAnswerObj[theOrder], function (ansK, ansV) {\n\t\t\tif (ansK === 'sbj_' + sbjval.ID && ansV.length > 0) {\n\t\t\t\tif (_jquery2.default.inArray(theSbjType, _constant.typingSbjType) !== -1) {\n\t\t\t\t\tnewSubject.find('[name=\\'' + ansK + '[]\\']').val(ansV[0]);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_jquery2.default.inArray(theSbjType, _constant.clickSbjType) !== -1) {\n\t\t\t\t\tansV.forEach(function (vvv) {\n\t\t\t\t\t\tif (theSbjType === 'NESTCHILD') {\n\t\t\t\t\t\t\tnewSubject.find('.level input[value=\\'' + vvv + '\\']').parent('.level').trigger('click');\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (theSbjType === 'CHOICEONE' && sbjval.compress === 1) {\n\t\t\t\t\t\t\tnewSubject.find('[name=\\'' + ansK + '[]\\']').val(ansV[0]);\n\n\t\t\t\t\t\t\t/**\n * should add active status to get the original option id\n * when user change option\n */\n\t\t\t\t\t\t\tnewSubject.find('[name=\\'' + ansK + '[]\\'] option[data-id=\\'' + ansV[0] + '\\']').addClass('active');\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnewSubject.find('.option[data-id=\\'' + vvv + '\\']').trigger('click');\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_jquery2.default.inArray(theSbjType, _constant.uxSbjType) !== -1) {\n\t\t\t\t\tnewSubject.find('[name=\\'' + ansK + '[]\\']').val(ansV[0]);\n\t\t\t\t\tnewSubject.find('.rating[rel=\\'' + ansV[0] + '\\']').trigger('click');\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ansV) {\n\t\t\t\tnewSubject.find('[name=\\'' + ansK + '\\']').val(ansV);\n\t\t\t}\n\t\t});\n\n\t\tif (_appVariable.variable.fillAnswerMode) {\n\t\t\t_appVariable.variable.fillAnswerMode = false;\n\t\t}\n\t}\n\n\tif (theSbjType === 'DIGITSLIDE') {\n\t\t(0, _ui.createSliderUI)(newSubject);\n\t}\n\n\tif (theSbjType === 'DATEPICKER') {\n\t\t/**\n * after set default answer need update the picker\n */\n\t\tnewSubject.find('.date-picker-block > input').datepicker('update');\n\t}\n\n\t(0, _customize.extAftSingleSubjectUI)(newSubject);\n};\n\nvar specialSettingError = exports.specialSettingError = function specialSettingError() {\n\t(0, _ui.showErrorInfo)({\n\t\ttitle: _appVariable.sysLang.wording.str_default_specialanslost_title,\n\t\tcontent: _appVariable.sysLang.wording.str_default_specialanslost_content,\n\t\tpic: 'error'\n\t});\n\n\t(0, _common.overflowBody)(true);\n};\n\nvar parseSubjectsToUI = exports.parseSubjectsToUI = function parseSubjectsToUI() {\n\tconsole.log('/// parseSubjectsToUI');\n\n\t(0, _main.setFastClick)();\n\t(0, _main.setAnswerJS)();\n\t(0, _validate.addMoreValidate)();\n\tinitialRetainCount();\n\n\tif (_appVariable2.default.hasCacheAns) {\n\t\tiniPosition();\n\t}\n\n\tvar passInvisibleExam = true;\n\n\tif (_appVariable.thisSubjectsObj.length) {\n\t\tif (_appVariable2.default.viewStatus !== 'preview') {\n\t\t\t_jquery2.default.each(_appVariable.thisSubjectsObj, function () {\n\t\t\t\tvar _ref3 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(i, theObj) {\n\t\t\t\t\tvar checkSbjAnswer, _ref4, anscount;\n\n\t\t\t\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\t\t\t\twhile (1) {\n\t\t\t\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\tif (!(theObj.invisible === 1 && theObj.required === 1 && !(0, _validate.checkHasAns)(_appVariable.thisAnswerObj[i]))) {\n\t\t\t\t\t\t\t\t\t\t_context2.next = 4;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t/**\n * 先檢查 invisible & required 有沒有答案\n */\n\t\t\t\t\t\t\t\t\tpassInvisibleExam = false;\n\t\t\t\t\t\t\t\t\tspecialSettingError();\n\n\t\t\t\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\t\t\t\tcase 4:\n\t\t\t\t\t\t\t\t\tif (!(passInvisibleExam && theObj.invisible === 1 && theObj.maxtimes === 1 && (0, _validate.checkHasAns)(_appVariable.thisAnswerObj[i]))) {\n\t\t\t\t\t\t\t\t\t\t_context2.next = 12;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t/**\n * Check invisible default answer is duplicated or not\n */\n\t\t\t\t\t\t\t\t\tcheckSbjAnswer = _appVariable.thisAnswerObj[i]['sbj_' + theObj.ID][0];\n\n\t\t\t\t\t\t\t\t\tif (!checkSbjAnswer) {\n\t\t\t\t\t\t\t\t\t\t_context2.next = 12;\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t_context2.next = 9;\n\t\t\t\t\t\t\t\t\treturn (0, _action.checkMaxtimes)(theObj.ID, 'vtext', checkSbjAnswer);\n\n\t\t\t\t\t\t\t\tcase 9:\n\t\t\t\t\t\t\t\t\t_ref4 = _context2.sent;\n\t\t\t\t\t\t\t\t\tanscount = _ref4.anscount;\n\n\n\t\t\t\t\t\t\t\t\tif (anscount > 0) {\n\t\t\t\t\t\t\t\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\t\t\t\t\t\t\t\ttitle: _appVariable.sysLang.wording.str_default_duplicated_title,\n\t\t\t\t\t\t\t\t\t\t\tcontent: _appVariable.sysLang.wording.str_default_duplicated_content,\n\t\t\t\t\t\t\t\t\t\t\tpic: 'error'\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t(0, _common.overflowBody)(true);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\t\tcase 'end':\n\t\t\t\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, _callee2, undefined);\n\t\t\t\t}));\n\n\t\t\t\treturn function (_x, _x2) {\n\t\t\t\t\treturn _ref3.apply(this, arguments);\n\t\t\t\t};\n\t\t\t}());\n\t\t}\n\n\t\t(0, _jquery2.default)('#begin').show();\n\t\t(0, _jquery2.default)('#survey-form').show();\n\t}\n\n\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t(0, _brochure.setPageJS)();\n\t\t(0, _brochure.showPage)(_appVariable.pageConfig.next, 'next');\n\t} else if (_appVariable2.default.layout === 'PORTRAIT') {\n\t\t_appVariable2.default.startAnswered = true;\n\n\t\tif (_appVariable.thisSubjectsObj && _appVariable.thisSubjectsObj.length > 0) {\n\t\t\t_jquery2.default.each(_appVariable.thisSubjectsObj, function (sbjkey, sbjval) {\n\t\t\t\tsingleSubjectUI(sbjval.sn);\n\t\t\t});\n\t\t}\n\n\t\t(0, _jquery2.default)('.subject-wrapper').not('.invisible').eq(0).addClass('first');\n\t\t(0, _portrait.UIrefresh)();\n\t}\n\n\tif (_appVariable.thisSubjectsObj.length > 0) {\n\t\t(0, _jquery2.default)('#survey-content #survey-form').append((0, _jquery2.default)('#submit-wrapper'));\n\t\t(0, _validate.validateSurvey)('#survey-form', false, true);\n\t} else {\n\t\t(0, _jquery2.default)('#submit-wrapper').remove();\n\t}\n\n\tsetTimeout(function () {\n\t\t(0, _jquery2.default)('#loading .loading-text').fadeOut(300);\n\n\t\tsetTimeout(function () {\n\t\t\t(0, _jquery2.default)('#loading .surveycake-logo-L').addClass('scaleDown');\n\t\t\t(0, _jquery2.default)('#loading').fadeOut(1200);\n\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _customize.extPreDoneLoading)();\n\n\t\t\t\t(0, _action.setTimeoutTimer)();\n\t\t\t\tif (passInvisibleExam) {\n\t\t\t\t\t(0, _common.overflowBody)(false);\n\t\t\t\t}\n\n\t\t\t\t(0, _ui.resizeRatingBar)();\n\t\t\t\t(0, _ui.resizeLevelW)();\n\t\t\t\t(0, _ui.resizeVideoBlock)();\n\n\t\t\t\tif (_appVariable2.default.iniPosSN) {\n\t\t\t\t\t(0, _main.focusTitle)((0, _jquery2.default)('#' + _appVariable2.default.iniPosSN));\n\t\t\t\t}\n\t\t\t\t(0, _jquery2.default)('#loading').remove();\n\t\t\t}, 1200);\n\t\t}, 500);\n\t}, 1000);\n};\n\nexports.default = 'DRAW';\n\n/***/ }),\n\n/***/ \"3gxb\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAH1WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTctMDItMDdUMTY6MjY6NTArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTExLTI2VDE0OjUxOjU5KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTExLTI2VDE0OjUxOjU5KzA4OjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQwNjc0YzkzLWM1ZjktNDUzMS05YmViLTk2ZmNhMjRhODg2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4M0UwODBGQUU1MzMxMUU2OTc0Q0FCODgwOEFDOTFDOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjgzRTA4MEZBRTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5IiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjE4MCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjE0OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzRTA4MEY3RTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjgzRTA4MEY4RTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5Ii8+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmI1ZjYwZmNjLTZmNzktNDAwNS1hYzExLTYzNjljMDY4ZjdkNSIgc3RFdnQ6d2hlbj0iMjAxNy0wMi0wN1QxNjo1MDoyMyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2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\"\n\n/***/ }),\n\n/***/ \"42Nd\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"44YP\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getSubjectGroup = function getSubjectGroup() {\n\treturn (0, _customFetch2.default)(_appConfig.assetsDomain + '/subject-group.json', {\n\t\tcache: 'no-cache'\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getSubjectGroup;\n\n/***/ }),\n\n/***/ \"47Qh\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"private.81d0bac3cff86.png\";\n\n/***/ }),\n\n/***/ \"4MaF\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"4rr4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.initialReCaptcha = exports.setReCaptchaError = undefined;\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar reCaptchaId = {\n\tcontainer: 'reCAPTCHA',\n\terror: 'reCAPTCHA-error'\n};\nvar onLoad = 'onReCaptchaLoad';\n\nvar setReCaptchaError = exports.setReCaptchaError = function setReCaptchaError(type) {\n\tvar error = type ? _appVariable.sysLang.wording.re_captcha.error[type] : undefined;\n\n\tif (!error && !document.querySelector('#' + reCaptchaId.error + ' label')) {\n\t\treturn;\n\t}\n\n\tdocument.getElementById(reCaptchaId.error).innerHTML = error ? '\\n\\t\\t\\n\\t\\t' : '';\n};\n\nvar generateCallback = function generateCallback(config) {\n\treturn function (token) {\n\t\t_appVariable2.default.reCaptcha.token = config.set ? token : null;\n\t\tsetReCaptchaError(config.error);\n\t};\n};\n\nwindow[onLoad] = function () {\n\twindow.grecaptcha.render(reCaptchaId.container, {\n\t\tsitekey: _appConfig.googleRecaptchaKey,\n\t\ttheme: 'light',\n\t\tcallback: generateCallback({ set: true }),\n\t\t'expired-callback': generateCallback({ error: 'expired' }),\n\t\t'error-callback': generateCallback({ error: 'exception' })\n\t});\n};\n\nvar initialReCaptcha = exports.initialReCaptcha = function initialReCaptcha() {\n\t(0, _common.loadExtraFile)('https://www.google.com/recaptcha/api.js?onload=' + onLoad + '&render=explicit', 'js');\n};\n\n/***/ }),\n\n/***/ \"5czU\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.readEachTemplate = exports.leavePage = exports.submitHandler = exports.changeLastPage = exports.init = exports.changeWelcomePage = exports.loginModule = exports.autoSaveAnswer = exports.addSubjectType = exports.changeQueryObject = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _deleteCache = __webpack_require__(\"d/4Q\");\n\nvar _deleteCache2 = _interopRequireDefault(_deleteCache);\n\nvar _storeCache = __webpack_require__(\"ZlWK\");\n\nvar _storeCache2 = _interopRequireDefault(_storeCache);\n\nvar _getCache = __webpack_require__(\"TsNe\");\n\nvar _getCache2 = _interopRequireDefault(_getCache);\n\nvar _getUserStatus = __webpack_require__(\"zDJp\");\n\nvar _getUserStatus2 = _interopRequireDefault(_getUserStatus);\n\n__webpack_require__(\"driR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hotaiConfig = {\n\tTEMPDATA: null,\n\tpersonality: false,\n\tfamilyCount: false\n};\n\nvar appendHeaderLogo = function appendHeaderLogo(element) {\n\tif (_appVariable2.default.theme === 'whostone') {\n\t\telement.prepend('\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
');\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'toyota') {\n\t\telement.prepend('\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
');\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'toyotaservice') {\n\t\telement.prepend('\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
');\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'lexus') {\n\t\telement.prepend('\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t
');\n\t}\n};\n\nvar appendFooterLogo = function appendFooterLogo() {\n\tif ((0, _jquery2.default)('#footer-logo').find('.whostone-logo').length > 0) {\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'toyota') {\n\t\t(0, _jquery2.default)('#footer-logo').prepend('');\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'toyotaservice') {\n\t\t(0, _jquery2.default)('#footer-logo').html('');\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.theme === 'lexus') {\n\t\t(0, _jquery2.default)('#footer-logo').prepend('');\n\t}\n};\n\nvar setHOTAIfamily = function setHOTAIfamily() {\n\tconsole.log('setHOTAIfamily');\n\n\tvar familyCountOpt = ['opt_13501', 'opt_13502', 'opt_13503', 'opt_13504', 'opt_13505', 'opt_13506', 'opt_13507', 'opt_13508', 'opt_13509', 'opt_13510', 'opt_13511'];\n\n\tvar allfilled = true;\n\tvar totalCount = 0;\n\n\tfor (var i = 137; i <= 140; i += 1) {\n\t\tvar theAns = _appVariable.thisAnswerObj[(0, _common.findOrderByKey)('sbj_' + i)];\n\n\t\tconsole.log(theAns);\n\n\t\tif (familyCountOpt.indexOf(theAns['sbj_' + i][0]) !== -1) {\n\t\t\tvar thisCount = familyCountOpt.indexOf(theAns['sbj_' + i][0]);\n\n\t\t\tif (thisCount != null) {\n\t\t\t\ttotalCount += thisCount;\n\t\t\t}\n\t\t} else {\n\t\t\tallfilled = false;\n\t\t}\n\t}\n\n\tif (allfilled) {\n\t\t(0, _initial.updateSingleAns)('sbj_147', null, 'RESET');\n\t\t(0, _main.resetSbjUI)(50006);\n\t\t(0, _initial.updateSingleAns)('sbj_147', totalCount, 'WRITE');\n\t\t(0, _jquery2.default)('input[name=\"sbj_147[]\"]').val(totalCount);\n\t\t(0, _portrait.ansTagToUI)(50006);\n\t}\n};\n\nvar setHOTAIperson = function setHOTAIperson() {\n\tvar personGradeOpt = ['opt_20001', 'opt_20002', 'opt_20003', 'opt_20004', 'opt_20005'];\n\tvar personTxt = ['opt_29401', 'opt_29402', 'opt_29403', 'opt_29404', 'opt_29405', 'opt_29406'];\n\tvar personGrade = [];\n\tvar personFinal = { grade: 0, index: [] };\n\tvar allfilled = true;\n\n\tfor (var i = 0; i <= 5; i += 1) {\n\t\tvar thisGrade = 0;\n\n\t\tfor (var j = 202 + 5 * i; j <= 206 + 5 * i; j += 1) {\n\t\t\tvar theOrder = (0, _common.findOrderByKey)('sbj_' + j);\n\t\t\tvar theAns = _appVariable.thisAnswerObj[theOrder];\n\n\t\t\tif (personGradeOpt.indexOf(theAns['sbj_' + j][0]) !== -1) {\n\t\t\t\tvar thisPoints = personGradeOpt.indexOf(theAns['sbj_' + j][0]) + 1;\n\t\t\t\tif (thisPoints != null) {\n\t\t\t\t\tthisGrade += thisPoints;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tallfilled = false;\n\t\t\t}\n\t\t}\n\n\t\tpersonGrade.push(thisGrade);\n\n\t\tif (thisGrade > personFinal.grade) {\n\t\t\tpersonFinal.grade = thisGrade;\n\t\t\tpersonFinal.index = [];\n\t\t\tpersonFinal.index.push(personTxt[i]);\n\t\t} else if (thisGrade === personFinal.grade) {\n\t\t\tpersonFinal.index.push(personTxt[i]);\n\t\t}\n\t}\n\n\tif (allfilled) {\n\t\t(0, _initial.updateSingleAns)('sbj_294', null, 'RESET');\n\t\t(0, _main.resetSbjUI)(50044);\n\n\t\tpersonFinal.index.forEach(function (value) {\n\t\t\tif (_appVariable2.default.layout === 'PORTRAIT') {\n\t\t\t\t(0, _jquery2.default)('#HOTAI294 #' + value).trigger('click');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\t\t(0, _initial.updateSingleAns)('sbj_294', value, 'ADD');\n\t\t\t}\n\t\t});\n\n\t\t_jquery2.default.each(personGrade, function (kkk, vvv) {\n\t\t\tif (vvv === 0) {\n\t\t\t\t(0, _initial.updateSingleAns)('sbj_2' + (kkk + 98), null, 'RESET');\n\t\t\t\t(0, _jquery2.default)('input[name=\"sbj_2' + (kkk + 98) + '[]\"]').val('');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t(0, _initial.updateSingleAns)('sbj_2' + (kkk + 98), vvv, 'WRITE');\n\t\t\t(0, _jquery2.default)('input[name=\"sbj_2' + (kkk + 98) + '[]\"]').val(vvv);\n\t\t});\n\n\t\t(0, _portrait.ansTagToUI)(50044);\n\t}\n};\n\nvar setCacheAnswerToObj = function setCacheAnswerToObj(ansjson) {\n\t_appVariable2.default.startAnswered = true;\n\n\t_jquery2.default.each(ansjson.ansData, function (key, value) {\n\t\tif (_jquery2.default.inArray(key, _constant.defaultInput) !== -1) {\n\t\t\tif (value !== null && value !== '') {\n\t\t\t\t(0, _jquery2.default)('[name=\"' + key + '\"]').val(value);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n\t\t\tvar _ret = function () {\n\t\t\t\tvar writeAction = true;\n\n\t\t\t\t/*\n * 只要該選項有 maxtimes 那整題答案都不要帶入\n */\n\t\t\t\tif (value.length > 0) {\n\t\t\t\t\tvalue.forEach(function (val) {\n\t\t\t\t\t\tif (writeAction) {\n\t\t\t\t\t\t\tvar thisOption = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(val));\n\n\t\t\t\t\t\t\tif (thisOption.maxtimes) {\n\t\t\t\t\t\t\t\twriteAction = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (writeAction) {\n\t\t\t\t\t(0, _initial.writeSingleObj)(key, value);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tv: void 0\n\t\t\t\t};\n\t\t\t}();\n\n\t\t\tif ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n\t\t}\n\n\t\t(0, _initial.writeSingleObj)(key, value);\n\t});\n\n\tObject.keys(ansjson.svEndConfig).forEach(function (property) {\n\t\t_appVariable.svEndConfig[property] = ansjson.svEndConfig[property];\n\t});\n};\n\nvar changeQueryObject = exports.changeQueryObject = function changeQueryObject() {\n\tif (!_appVariable.urlQueryObject.mbunq && _appVariable.urlQueryObject.DXID) {\n\t\tif (_appVariable.urlQueryObject.DXID.length > 255) {\n\t\t\t_appVariable.urlQueryObject.DXID = _appVariable.urlQueryObject.DXID.substring(0, 255);\n\t\t}\n\n\t\t_appVariable.urlQueryObject.mbunq = _appVariable.urlQueryObject.DXID.toString();\n\t}\n};\n\nvar addSubjectType = exports.addSubjectType = function addSubjectType() {\n\t['HOTAITEMP01', 'HOTAITEMP02', 'HOTAITEMP03', 'HOTAITEMP04'].forEach(function (type) {\n\t\t_constant.acceptSbjType.push(type);\n\t});\n};\n\nvar autoSaveAnswer = exports.autoSaveAnswer = function autoSaveAnswer() {\n\t/*\n * 暫存答案 Timer 啟動\n */\n\tif (_appVariable.variable.surveyData.regneed === 'Y') {\n\t\tsetInterval(function () {\n\t\t\tvar ansData = (0, _main.formatAns)();\n\n\t\t\tif (ansData.hasAns) {\n\t\t\t\t(0, _main.removeMaxtimesOptions)(ansData.ansData);\n\t\t\t\tansData.svEndConfig.endBySorry = 0;\n\t\t\t\tansData.svEndConfig.endBySorryOpt = [];\n\n\t\t\t\t(0, _storeCache2.default)(_appVariable2.default.surveyId, JSON.stringify(ansData), true);\n\t\t\t}\n\t\t}, 600000);\n\t}\n};\n\nvar loginModule = exports.loginModule = function loginModule() {\n\t(0, _getUserStatus2.default)(_appVariable2.default.surveyId).then(function (response) {\n\t\t_appVariable.variable.user.status = response.status;\n\n\t\tif (!response.status) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar userStatus = JSON.parse(atob(response.data.split('.')[1]));\n\t\t_appVariable.variable.user.logined = userStatus.logined;\n\t\t_appVariable.variable.user.completed = userStatus.completed;\n\n\t\tif (_appVariable.variable.user.completed) {\n\t\t\twindow.location.href = '/s/' + _appVariable2.default.surveyId + '/finished';\n\t\t\treturn;\n\t\t}\n\n\t\tif (!_appVariable.variable.user.logined) {\n\t\t\t(0, _jquery2.default)('#login-iframe').attr('src', _appConfig.serverDomain + '/login-embed.php');\n\t\t\t(0, _common.overflowBody)(true);\n\t\t\t(0, _jquery2.default)('#sv-db-regneed').fadeIn();\n\n\t\t\treturn;\n\t\t}\n\n\t\t(0, _jquery2.default)('#regneed').remove();\n\t\t(0, _draw.drawSurvey)();\n\t});\n};\n\nvar changeWelcomePage = exports.changeWelcomePage = function changeWelcomePage() {\n\tappendHeaderLogo((0, _jquery2.default)('#survey-content'));\n\tappendFooterLogo();\n\n\t(0, _jquery2.default)('.info-block-new').wrapAll('
');\n\n\tif (_appVariable.variable.surveyData.bonus_done !== '') {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.replace-bonus').text(_appVariable.variable.surveyData.bonus_done);\n\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-bonus > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-benifit.png');\n\t} else {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-bonus').remove();\n\t}\n\n\tif (_appVariable.variable.surveyData.draw_done !== '') {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.replace-draw').text(_appVariable.variable.surveyData.draw_done);\n\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-draw > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-gift.png');\n\t} else {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-draw').remove();\n\t}\n\n\tif (_appVariable.variable.surveyData.regneed !== 'Y') {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-regneed').remove();\n\t} else {\n\t\t(0, _jquery2.default)('#welcome .intro').find('.info-block-regneed > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-vip.png');\n\t}\n};\n\nvar init = exports.init = function init() {\n\tif (_appVariable.variable.surveyData.regneed === 'Y') {\n\t\t(0, _getCache2.default)(_appVariable2.default.surveyId).then(function (_ref) {\n\t\t\tvar status = _ref.status,\n\t\t\t data = _ref.data;\n\n\t\t\tif (status && data.ansjson) {\n\t\t\t\t_vex2.default.dialog.confirm({\n\t\t\t\t\tmessage: '您有未完成的答案,是否要繼續填答?',\n\t\t\t\t\tcallback: function callback(value) {\n\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\tsetCacheAnswerToObj(JSON.parse(data.ansjson));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _draw.parseSubjectsToUI)();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t(0, _draw.parseSubjectsToUI)();\n\t\t}).catch(function () {\n\t\t\t(0, _draw.parseSubjectsToUI)();\n\t\t});\n\n\t\treturn;\n\t}\n\n\t(0, _draw.parseSubjectsToUI)();\n};\n\nvar changeLastPage = exports.changeLastPage = function changeLastPage(ele, pageName) {\n\tappendHeaderLogo(ele);\n\tappendFooterLogo();\n\n\tvar iconkey = 'done';\n\tif (pageName !== 'timeout') {\n\t\tif (pageName !== 'thankyou') {\n\t\t\ticonkey = pageName;\n\t\t}\n\n\t\t(0, _jquery2.default)('.info-block-new').wrapAll('
');\n\n\t\tif (_appVariable.variable.surveyData['bonus_' + iconkey] !== '') {\n\t\t\tele.find('.intro').find('.replace-bonus').text(_appVariable.variable.surveyData['bonus_' + iconkey]);\n\n\t\t\tele.find('.intro').find('.info-block-bonus > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-benifit.png');\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-bonus').remove();\n\t\t}\n\n\t\tif (_appVariable.variable.surveyData['draw_' + iconkey] !== '') {\n\t\t\tele.find('.intro').find('.replace-draw').text(_appVariable.variable.surveyData['draw_' + iconkey]);\n\n\t\t\tele.find('.intro').find('.info-block-draw > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-gift.png');\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-draw').remove();\n\t\t}\n\n\t\tif (_appVariable.variable.surveyData.regneed !== 'Y') {\n\t\t\tele.find('.intro').find('.info-block-regneed').remove();\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-regneed > img').attr('src', _appConfig.assetsDomain + '/theme/whostone/template-vip.png');\n\t\t}\n\t}\n\n\tif (ele.find('#survey-close-btn').length > 0 && _appVariable.variable.surveyData.regneed === 'Y') {\n\t\tele.find('#survey-close-btn').html('查看更多我的問卷');\n\t}\n};\n\nvar submitHandler = exports.submitHandler = function submitHandler() {\n\tif (hotaiConfig.personality) {\n\t\tsetHOTAIperson();\n\t}\n\n\tif (hotaiConfig.familyCount) {\n\t\tsetHOTAIfamily();\n\t}\n};\n\nvar leavePage = exports.leavePage = function leavePage() {\n\tif (_appVariable.variable.surveyData.regneed === 'Y') {\n\t\tif ((0, _jquery2.default)(':focus').length > 0) {\n\t\t\t(0, _jquery2.default)(':focus').blur();\n\t\t}\n\n\t\tvar ansData = (0, _main.formatAns)();\n\n\t\tif (ansData.hasAns) {\n\t\t\t(0, _main.removeMaxtimesOptions)(ansData.ansData);\n\t\t\tansData.svEndConfig.endBySorry = 0;\n\t\t\tansData.svEndConfig.endBySorryOpt = [];\n\n\t\t\tvar ansForSave = JSON.stringify(ansData);\n\t\t\t(0, _storeCache2.default)(_appVariable2.default.surveyId, ansForSave, false);\n\t\t} else {\n\t\t\t(0, _deleteCache2.default)(_appVariable2.default.surveyId);\n\t\t}\n\n\t\treturn '您即將離開本問卷,互動網會暫存你已填答的答案,之後可接續填答,確定要離開嗎?';\n\t}\n\n\treturn _appVariable.sysLang.wording.confirm_leave_sv;\n};\n\nvar readEachTemplate = exports.readEachTemplate = function readEachTemplate(subjectData) {\n\tif (subjectData.type === 'HOTAITEMP01') {\n\t\thotaiConfig.familyCount = true;\n\t}\n\n\tif (subjectData.type === 'HOTAITEMP02') {\n\t\thotaiConfig.personality = true;\n\t}\n};\n\nexports.default = 'This is enterprise-whostone';\n\n/***/ }),\n\n/***/ \"6aNH\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"timeout.c55e52edcf4ee.jpg\";\n\n/***/ }),\n\n/***/ \"7a4H\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.setPageJS = exports.goPagePrev = exports.goPageNext = exports.showPage = exports.updatePageConfig = exports.resetPageConfig = exports.togglePageButton = exports.updateCrumbTXT = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _action = __webpack_require__(\"DbZ6\");\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _getServerTimeString = __webpack_require__(\"qHrH\");\n\nvar _getServerTimeString2 = _interopRequireDefault(_getServerTimeString);\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _throttle = __webpack_require__(\"gc1H\");\n\nvar _throttle2 = _interopRequireDefault(_throttle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n -------------- Brochure -------------\n------------------------------------- */\nvar updateCrumbTXT = exports.updateCrumbTXT = function updateCrumbTXT(targetSubjectNumber) {\n\tconsole.log('/// updateCrumbTXT ' + targetSubjectNumber);\n\n\tvar theCrumb = _appVariable.thisSubjectsObj[(0, _common.findOrderBySN)(targetSubjectNumber)].crumb;\n\n\tif (!theCrumb) {\n\t\treturn;\n\t}\n\n\tif (theCrumb.length > 0) {\n\t\t(0, _jquery2.default)('.breadcrumb').html('').hide();\n\n\t\tfor (var k = 0; k < theCrumb.length - 1; k += 1) {\n\t\t\tif (typeof theCrumb[k] !== 'undefined') {\n\t\t\t\tvar thisBreadRow = (0, _jquery2.default)('.breadcrumb[indent=\\'' + k + '\\']');\n\t\t\t\tthisBreadRow.html(theCrumb[k]);\n\t\t\t\t(0, _portrait.ansTagToCrumb)(thisBreadRow); // if crumbs has ansTag\n\n\t\t\t\tthisBreadRow.text((0, _action.htmlToTxt)(thisBreadRow.html())).show();\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar togglePageButton = exports.togglePageButton = function togglePageButton() {\n\tif (_appVariable.pageConfig.prev === null) {\n\t\t(0, _jquery2.default)('#prev-sbj-btn').addClass('disabled');\n\t} else {\n\t\t(0, _jquery2.default)('#prev-sbj-btn').removeClass('disabled');\n\t}\n\n\tif (_appVariable.pageConfig.next === null) {\n\t\t(0, _jquery2.default)('#next-sbj-btn').addClass('disabled');\n\t} else {\n\t\t(0, _jquery2.default)('#next-sbj-btn').removeClass('disabled');\n\t}\n};\n\nvar findNewOne = function findNewOne(direction) {\n\tvar findAnotherNewOne = function findAnotherNewOne() {\n\t\tif (direction === 'next') {\n\t\t\t_appVariable.pageConfig.next += 1;\n\t\t} else if (direction === 'prev') {\n\t\t\t_appVariable.pageConfig.prev -= 1;\n\t\t}\n\n\t\tfindNewOne(direction);\n\t};\n\n\tvar theSN = _appVariable.pageSNArr[_appVariable.pageConfig[direction]];\n\n\tif (theSN === 'welcome' || theSN === 'submit-wrapper') {\n\t\treturn;\n\t}\n\n\tif ((typeof theSN === 'undefined' ? 'undefined' : _typeof(theSN)) === 'object') {\n\t\t/**\n * check nothing visible in next page\n * loop through all subjects\n */\n\t\tvar visibleSubjectsList = theSN.filter(function (subjectNumber) {\n\t\t\treturn (0, _validate.checkSNVisible)(subjectNumber);\n\t\t});\n\n\t\tif (visibleSubjectsList.length === 0) {\n\t\t\tfindAnotherNewOne();\n\t\t}\n\t} else if (!(0, _validate.checkSNVisible)(theSN)) {\n\t\tconsole.log('/// SN ' + theSN + ' SKIP FIND NEXT');\n\n\t\tfindAnotherNewOne();\n\t}\n};\n\nvar resetPageConfig = exports.resetPageConfig = function resetPageConfig() {\n\t_appVariable.pageConfig.next = _appVariable.pageConfig.now + 1;\n\tif (_appVariable.pageConfig.next > _appVariable.pageSNArr.length - 1) {\n\t\t_appVariable.pageConfig.next = null;\n\t} else {\n\t\tfindNewOne('next');\n\t}\n\n\t_appVariable.pageConfig.prev = _appVariable.pageConfig.now - 1;\n\tif (_appVariable.pageConfig.prev < 0) {\n\t\t_appVariable.pageConfig.prev = null;\n\t} else {\n\t\tfindNewOne('prev');\n\t}\n\n\tconsole.log('resetPage Config: prev:' + _appVariable.pageConfig.prev + ' ,now: ' + _appVariable.pageConfig.now + ' ,next: ' + _appVariable.pageConfig.next);\n\ttogglePageButton();\n};\n\nvar updatePageConfig = exports.updatePageConfig = function updatePageConfig(direction) {\n\tif (direction === 'next') {\n\t\t_appVariable.pageConfig.prev = _appVariable.pageConfig.now;\n\t\t_appVariable.pageConfig.now = _appVariable.pageConfig.next;\n\t\t_appVariable.pageConfig.next = _appVariable.pageConfig.now + 1;\n\n\t\tif (_appVariable.pageConfig.next > _appVariable.pageSNArr.length - 1) {\n\t\t\t_appVariable.pageConfig.next = null;\n\t\t} else {\n\t\t\tfindNewOne(direction);\n\t\t}\n\t} else if (direction === 'prev') {\n\t\t_appVariable.pageConfig.next = _appVariable.pageConfig.now;\n\t\t_appVariable.pageConfig.now = _appVariable.pageConfig.prev;\n\t\t_appVariable.pageConfig.prev = _appVariable.pageConfig.now - 1;\n\n\t\tif (_appVariable.pageConfig.prev < 0) {\n\t\t\t_appVariable.pageConfig.prev = null;\n\t\t} else {\n\t\t\tfindNewOne(direction);\n\t\t}\n\t}\n\n\tconsole.log('/// prev:' + _appVariable.pageConfig.prev + ' ,now: ' + _appVariable.pageConfig.now + ' ,next: ' + _appVariable.pageConfig.next);\n\ttogglePageButton();\n};\n\nvar showPage = exports.showPage = function showPage(pageNumber, direction) {\n\t(0, _customize.extPreShowPage)();\n\n\tconsole.log('/// show pageNumber: ' + pageNumber);\n\n\tvar thePageSN = _appVariable.pageSNArr[pageNumber];\n\n\t(0, _jquery2.default)('#welcome').hide();\n\t(0, _jquery2.default)('#submit-wrapper').hide();\n\n\tif (thePageSN === 'welcome') {\n\t\t(0, _jquery2.default)('#survey-form').find('.page-block').remove();\n\t\t(0, _jquery2.default)('#' + thePageSN).show();\n\t} else if (thePageSN === 'submit-wrapper') {\n\t\tconsole.log('IS submit-wrapper !!!!');\n\n\t\t(0, _jquery2.default)('#survey-form').find('.page-block').remove();\n\t\t(0, _jquery2.default)('#' + thePageSN).show();\n\t\t(0, _jquery2.default)('#Breadcrumb-wrapper').css('display', 'none');\n\t\t(0, _main.progressUpdate)(100);\n\t} else {\n\t\t(0, _jquery2.default)('#survey-form').find('.page-block').remove();\n\n\t\tif ((typeof thePageSN === 'undefined' ? 'undefined' : _typeof(thePageSN)) === 'object') {\n\t\t\tif (_appVariable.pageConfig.mode === 'auto') {\n\t\t\t\tupdateCrumbTXT(thePageSN[0]);\n\t\t\t}\n\n\t\t\tthePageSN.forEach(function (value) {\n\t\t\t\t(0, _draw.singleSubjectUI)(value);\n\t\t\t});\n\n\t\t\t(0, _main.focusTitle)((0, _jquery2.default)('#' + thePageSN[0]));\n\t\t\t(0, _main.progressCount)(thePageSN[0]);\n\t\t} else {\n\t\t\t(0, _jquery2.default)('#survey-form').find('.page-block').remove();\n\t\t\t(0, _draw.singleSubjectUI)(thePageSN);\n\t\t\tupdateCrumbTXT(thePageSN);\n\n\t\t\t(0, _main.focusTitle)((0, _jquery2.default)('#' + thePageSN));\n\t\t\t(0, _main.progressCount)(thePageSN);\n\t\t}\n\n\t\t(0, _validate.validateRemote)();\n\n\t\tif ((0, _jquery2.default)('#survey-form').find('.timer-overlay-container').length) {\n\t\t\t(0, _jquery2.default)('#survey-form').find('.timer-overlay-container').eq(0).trigger('click');\n\t\t}\n\n\t\tif (_appVariable.pageConfig.mode === 'auto') {\n\t\t\t(0, _jquery2.default)('#Breadcrumb-wrapper').css('display', 'block');\n\t\t}\n\t}\n\n\t(0, _common.scrollToEle)((0, _jquery2.default)('body'), false, 0);\n\tif (direction) {\n\t\tupdatePageConfig(direction);\n\t}\n\t(0, _portrait.UIrefresh)();\n\n\t(0, _customize.extAftShowPage)();\n};\n\nvar doGetServerTime = function doGetServerTime() {\n\t(0, _getServerTimeString2.default)().then(function (data) {\n\t\t_appVariable2.default.startAnswered = true;\n\t\t(0, _jquery2.default)('input[name=\"initime\"]').val(data.time);\n\n\t\tshowPage(_appVariable.pageConfig.next, 'next');\n\t}).catch(function () {\n\t\tdoGetServerTime();\n\t});\n};\n\nvar goPageNext = exports.goPageNext = function goPageNext() {\n\tif (_appVariable.pageConfig.now < _appVariable.pageSNArr.length - 1) {\n\t\tif (_appVariable.pageConfig.now === 0 && !_appVariable2.default.startAnswered) {\n\t\t\tdoGetServerTime();\n\n\t\t\treturn;\n\t\t}\n\n\t\tshowPage(_appVariable.pageConfig.next, 'next');\n\n\t\treturn;\n\t}\n\n\tconsole.log('/// IS LAST ONE');\n};\n\nvar goPagePrev = exports.goPagePrev = function goPagePrev() {\n\tif (_appVariable.pageConfig.now > 0) {\n\t\tshowPage(_appVariable.pageConfig.prev, 'prev');\n\n\t\treturn;\n\t}\n\n\tconsole.log('/// 已經最前');\n};\n\nvar setPageJS = exports.setPageJS = function setPageJS() {\n\tdocument.getElementById('begin').onclick = (0, _throttle2.default)(function () {\n\t\tgoPageNext();\n\t}, 1000);\n\n\tif (document.getElementById('prev-sbj-btn')) {\n\t\tdocument.getElementById('prev-sbj-btn').onclick = (0, _throttle2.default)(function () {\n\t\t\tif (!(0, _jquery2.default)(undefined).hasClass('disabled') && !_appVariable.variable.isrunTimer && !_appVariable.variable.needRunTimer && (0, _jquery2.default)('.-uploading').length === 0) {\n\t\t\t\tgoPagePrev();\n\t\t\t}\n\t\t}, 400);\n\t}\n\n\tdocument.getElementById('next-sbj-btn').onclick = (0, _throttle2.default)(function () {\n\t\tif (!(0, _jquery2.default)(undefined).hasClass('disabled') && (0, _validate.validateSurvey)('#survey-form', false, true) && !_appVariable.variable.isrunTimer && !_appVariable.variable.needRunTimer && (0, _jquery2.default)('.-uploading').length === 0) {\n\t\t\tgoPageNext();\n\t\t}\n\t}, 400);\n\n\t(0, _jquery2.default)('body').keydown(function (e) {\n\t\tif (e.keyCode === 37 && !(0, _jquery2.default)(':focus').length) {\n\t\t\t(0, _jquery2.default)('#prev-sbj-btn').trigger('click');\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.keyCode === 39 && !(0, _jquery2.default)(':focus').length) {\n\t\t\t(0, _jquery2.default)('#next-sbj-btn').trigger('click');\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.keyCode === 9) {\n\t\t\t// return false;\n\t\t}\n\t});\n};\n\nexports.default = 'PAGE';\n\n/***/ }),\n\n/***/ \"7lOV\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,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\"\n\n/***/ }),\n\n/***/ \"7qR/\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _brochure = __webpack_require__(\"7a4H\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar $previewAnswer = (0, _jquery2.default)('#preview-answer');\nvar $previewAnswerContent = $previewAnswer.find('.content');\nvar $subjectBlock = (0, _jquery2.default)('.subject-block-template');\n\nvar cleanPreviewAnswer = function cleanPreviewAnswer() {\n\t_appVariable2.default.previewAnswer = true;\n\t$previewAnswer.find('.subject-block').not('.subject-block-template').remove();\n};\n\nvar closePreviewModal = function closePreviewModal() {\n\t(0, _jquery2.default)('body').removeClass('freeze');\n\t$previewAnswer.removeClass('-show -fade');\n\tcleanPreviewAnswer();\n};\n\nvar goToSubject = function goToSubject(sn) {\n\tif (_appVariable2.default.layout === 'PORTRAIT') {\n\t\tclosePreviewModal();\n\t\t(0, _common.scrollToEle)((0, _jquery2.default)('#' + sn), true);\n\t\t(0, _main.focusTitle)((0, _jquery2.default)('#' + sn));\n\t}\n\n\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\tclosePreviewModal();\n\n\t\tvar pageNumber = _appVariable.pageSNArr.findIndex(function (value) {\n\t\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.includes(sn)) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (value === sn) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\t_appVariable.pageConfig.now = pageNumber;\n\t\t(0, _brochure.resetPageConfig)();\n\t\t(0, _brochure.showPage)(_appVariable.pageConfig.now);\n\t}\n};\n\nvar composePreviewAnswer = function composePreviewAnswer() {\n\t_appVariable.thisSubjectsObj\n\t/* eslint-disable no-underscore-dangle */\n\t.filter(function (subject) {\n\t\treturn _constant.noAnsSbjType.indexOf(subject.type) === -1 && subject._isVisible();\n\t})\n\t/* eslint-enable no-underscore-dangle */\n\t.forEach(function (subject) {\n\t\tvar $newSubjectBlock = $subjectBlock.clone().removeClass('subject-block-template');\n\n\t\t$newSubjectBlock.find('.title').text((0, _common.stripHtmlTags)(subject.text));\n\t\t$newSubjectBlock.find('.answer').text((0, _portrait.getAnstagTXT)(subject.sn));\n\n\t\tif (_appVariable.variable.surveyData.backbtnshow !== 'OFF') {\n\t\t\t$newSubjectBlock.on('click', function () {\n\t\t\t\tgoToSubject(subject.sn);\n\t\t\t});\n\t\t}\n\n\t\t$previewAnswerContent.append($newSubjectBlock);\n\t});\n};\n\nvar previewAnswer = function previewAnswer() {\n\tif (_appVariable.variable.surveyData.backbtnshow === 'OFF') {\n\t\t$previewAnswer.addClass('-view-only');\n\t}\n\n\tcomposePreviewAnswer();\n\n\t(0, _jquery2.default)('body').addClass('freeze');\n\t$previewAnswer.addClass('-show');\n\n\tsetTimeout(function () {\n\t\t$previewAnswer.addClass('-fade');\n\t}, 100);\n\n\t(0, _jquery2.default)('#preview-answer').scrollTop(0);\n};\n\n(0, _jquery2.default)('#confirm-preview-submit').on('click', function () {\n\t_appVariable2.default.previewAnswer = false;\n\n\t(0, _jquery2.default)('body').removeClass('freeze');\n\t$previewAnswer.removeClass('-show -fade');\n\t(0, _common.scrollToEle)((0, _jquery2.default)('#submit-wrapper'));\n\n\t(0, _validate.submitHandlerFolow)();\n});\n\n(0, _jquery2.default)('#cancel-preview-submit').on('click', function () {\n\tclosePreviewModal();\n});\n\nexports.default = previewAnswer;\n\n/***/ }),\n\n/***/ \"8B+k\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"8Pnd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.optionKeys = exports.subjectKeys = exports.subjectTypes = exports.acceptOptKey = exports.acceptSbjKey = exports.clickSbjType = exports.typingSbjType = exports.acceptSbjType = exports.renderUiType = exports.entitiesKey = exports.noAnsSbjType = exports.logicSbjType = exports.uxSbjType = exports.defaultInput = exports.typeingElement = exports.needTrimElement = exports.allHtmlElement = undefined;\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar allHtmlElement = exports.allHtmlElement = 'input, select, textarea';\nvar needTrimElement = exports.needTrimElement = 'input, textarea';\n/* eslint-disable max-len */\nvar typeingElement = exports.typeingElement = '[type=\"text\"], [type=\"number\"], [type=\"tel\"], [type=\"email\"], [type=\"url\"], [type=\"hidden\"]';\n/* eslint-enable max-len */\nvar defaultInput = exports.defaultInput = ['svid', 'initime', 'svend', 'endsopts'];\nvar uxSbjType = exports.uxSbjType = ['RATINGBAR', 'FILEUPLOAD'];\nvar logicSbjType = exports.logicSbjType = ['CHOICEONE', 'CHOICEMULTI', 'PICKFROM'];\nvar noAnsSbjType = exports.noAnsSbjType = ['NEST', 'STATEMENT', 'QUOTE', 'DIVIDER'];\nvar entitiesKey = exports.entitiesKey = ['text', 'descpt', 'unittxt'];\nvar renderUiType = exports.renderUiType = ['thankyou', 'ended', 'sorry'];\n\nvar acceptSbjType = exports.acceptSbjType = ['TXTSHORT', 'TXTLONG', 'CHOICEONE', 'CHOICEMULTI', 'NEST', 'NESTCHILD', 'QUOTE', 'STATEMENT', 'DIGITINPUT', 'DIGITSLIDE', 'ITEMSORT', 'RATINGBAR', 'PICKFROM', 'DATEPICKER', 'DIVIDER', 'FILEUPLOAD'].filter(function (type) {\n\tif (type === 'FILEUPLOAD' && !_appConfig.fileuploadEnable) {\n\t\treturn false;\n\t}\n\n\treturn true;\n});\n\nvar typingSbjType = exports.typingSbjType = ['TXTSHORT', 'TXTLONG', 'DIGITINPUT', 'DIGITSLIDE', 'DATEPICKER'];\n\nvar clickSbjType = exports.clickSbjType = ['CHOICEONE', 'CHOICEMULTI', 'NESTCHILD', 'ITEMSORT', 'PICKFROM'];\n\nvar acceptSbjKey = exports.acceptSbjKey = ['sn', 'text', 'type', 'orders', 'ID', 'imgs', 'indent', 'invisible', 'attr', 'required', 'descpt', 'compress', 'lowerbounds', 'upperbounds', 'rndopts', 'timer', 'youtubeid', 'pointbounds', 'unittxt', 'increasebounds', 'options', 'maxtimes', 'show_result', 'extras', 'optfrom'];\n\nvar acceptOptKey = exports.acceptOptKey = ['ID', 'elses', 'imgs', 'jumpto', 'linkto', 'maxacts', 'maxtimes', 'orders', 'sbjid', 'text', 'youtubeid', 'nota', 'invisible', 'starttime', 'endtime'];\n\nvar subjectTypes = exports.subjectTypes = ['TXTSHORT', 'TXTLONG', 'CHOICEONE', 'CHOICEMULTI', 'NEST', 'NESTCHILD', 'QUOTE', 'STATEMENT', 'DIGITINPUT', 'DIGITSLIDE', 'ITEMSORT', 'RATINGBAR', 'PICKFROM', 'DATEPICKER', 'DIVIDER'];\n\nvar subjectKeys = exports.subjectKeys = ['sn', 'text', 'type', 'orders', 'ID', 'imgs', 'indent', 'invisible', 'attr', 'required', 'descpt', 'compress', 'lowerbounds', 'upperbounds', 'rndopts', 'timer', 'youtubeid', 'pointbounds', 'unittxt', 'increasebounds', 'options', 'maxtimes', 'show_result', 'extras', 'optfrom'];\n\nvar optionKeys = exports.optionKeys = ['ID', 'elses', 'imgs', 'jumpto', 'linkto', 'maxacts', 'maxtimes', 'orders', 'sbjid', 'text', 'youtubeid', 'nota'];\n\nexports.default = 'CONSTANT';\n\n/***/ }),\n\n/***/ \"8R8m\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getPrivate = function getPrivate(surveyId, password) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/survey/private?svid=' + surveyId + '&password=' + password).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getPrivate;\n\n/***/ }),\n\n/***/ \"8bW4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * get decrypt Hash & IV\n */\nvar getDecryptKeys = function getDecryptKeys(svid, token) {\n return (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/referral/encrypt-keys?svid=' + svid + '&token=' + token).then(function (res) {\n return (0, _handleErrorRequest2.default)(res);\n });\n};\n\nexports.default = getDecryptKeys;\n\n/***/ }),\n\n/***/ \"8hwX\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.makeCookieRedirect = exports.setCookieEnable = undefined;\n\nvar _jsCookie = __webpack_require__(\"lbHh\");\n\nvar _jsCookie2 = _interopRequireDefault(_jsCookie);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar setCookieEnable = exports.setCookieEnable = function setCookieEnable() {\n\tconsole.log('------- setCookieEnable ------');\n\n\t_jsCookie2.default.set('surveyCookieEnable', 'true', {\n\t\texpires: 1,\n\t\tsecure: \"DEMO\" !== 'DEV',\n\t\tpath: '/',\n\t\tsameSite: 'None'\n\t});\n};\n\nvar makeCookieRedirect = exports.makeCookieRedirect = function makeCookieRedirect() {\n\tconsole.log('----- makeCookieRedirect -----');\n\tconsole.log('window.location.href is ' + window.location.href);\n\tconsole.log('document.referrer is ' + document.referrer);\n\n\tvar operator = window.location.search ? '&' : '?';\n\n\tvar cookieLocation = '\\n\\t\\t' + window.location.href + operator + 'cookie=' + encodeURIComponent(document.referrer);\n\n\tconsole.log('Redirecting to\\uFF1A ' + cookieLocation);\n\n\twindow.top.location = cookieLocation;\n};\n\nvar testCookie = function testCookie() {\n\tconsole.log('------- testCookie ------');\n\n\tsetCookieEnable();\n\n\tif (_jsCookie2.default.get('surveyCookieEnable')) {\n\t\tconsole.log('surveyCookie enable');\n\n\t\treturn true;\n\t}\n\n\tconsole.log('surveyCookie not enable');\n\treturn false;\n};\n\nvar cookieSupport = function cookieSupport() {\n\tif (!testCookie() && _appVariable.isIniframe) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nexports.default = cookieSupport;\n\n/***/ }),\n\n/***/ \"8u0l\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"CQI8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.checkHasAns = exports.addMoreValidate = exports.checkSNVisible = exports.checkAnsCount = exports.validateSingleEle = exports.validateRemote = exports.validateSurvey = exports.checkAnsNeedValide = exports.setValidator = exports.submitHandlerFolow = exports.svSubmitHandler = exports.passSubmitHandler = exports.redirectAfterSubmit = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\n__webpack_require__(\"f9KE\");\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _urijs = __webpack_require__(\"hBlz\");\n\nvar _urijs2 = _interopRequireDefault(_urijs);\n\nvar _GA = __webpack_require__(0);\n\nvar _GA2 = _interopRequireDefault(_GA);\n\nvar _FacebookPixel = __webpack_require__(1);\n\nvar _FacebookPixel2 = _interopRequireDefault(_FacebookPixel);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _math = __webpack_require__(\"q/dd\");\n\nvar _math2 = _interopRequireDefault(_math);\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _ui = __webpack_require__(\"qOui\");\n\nvar _action = __webpack_require__(\"DbZ6\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nvar _previewAnswer = __webpack_require__(\"7qR/\");\n\nvar _previewAnswer2 = _interopRequireDefault(_previewAnswer);\n\nvar _reCAPTCHA = __webpack_require__(\"4rr4\");\n\nvar _postAnswer = __webpack_require__(\"jC9G\");\n\nvar _postAnswer2 = _interopRequireDefault(_postAnswer);\n\nvar _getCsrfTokenFromCookie = __webpack_require__(\"W/pu\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } // eslint-disable-line\n// eslint-disable-line\n\n/* -------------------------------------\n ------------- Validate --------------\n------------------------------------- */\nvar redirectAfterSubmit = exports.redirectAfterSubmit = function redirectAfterSubmit(afterSubmit, fileHash) {\n\t/**\n * event tracker\n */\n\t(0, _GA2.default)('send', 'event', 'SubmitSuccess', _appVariable2.default.surveyId);\n\n\tif (_appVariable.variable.ampInstance) {\n\t\t_appVariable.variable.ampInstance.logEvent('Submit Survey', (0, _initial.newEventData)());\n\t}\n\n\tif (_appVariable.variable.surveyData.analyticsid) {\n\t\t(0, _GA2.default)('clientTracker.send', 'event', 'SurveyCake', 'SurveyCakeSubmit', _appVariable2.default.surveyId);\n\t}\n\n\tif (_appVariable.variable.surveyData.fbpixelid) {\n\t\t(0, _FacebookPixel2.default)('trackCustom', 'SurveyCakeSubmit', { surveyID: _appVariable2.default.surveyId });\n\t}\n\n\t/**\n * notice user survey is fulled\n */\n\tif (afterSubmit === 'fulled') {\n\t\t(0, _ui.showErrorInfo)({\n\t\t\ttitle: _appVariable.sysLang.wording.str_sv_overloaded,\n\t\t\tpic: 'overloaded'\n\t\t});\n\t\t(0, _common.overflowBody)(true);\n\n\t\treturn;\n\t}\n\n\t/**\n * Let's go to the next page\n */\n\tif (_appVariable.svEndConfig.redirectURL && fileHash) {\n\t\tvar redirectUrl = new _urijs2.default(_appVariable.svEndConfig.redirectURL);\n\t\tredirectUrl.addQuery('svid', _appVariable2.default.surveyId);\n\t\tredirectUrl.addQuery('hash', fileHash);\n\n\t\tif (_appVariable.urlQueryObject.lang) {\n\t\t\tredirectUrl.addQuery('lang', _appVariable.urlQueryObject.lang);\n\t\t}\n\n\t\twindow.location.href = redirectUrl.toString();\n\t\treturn;\n\t}\n\n\t/**\n * Let's render last ui\n */\n\tif (_jquery2.default.inArray(afterSubmit, _constant.renderUiType) !== -1) {\n\t\t(0, _draw.renderLastUI)(afterSubmit);\n\t}\n};\n\nvar passSubmitHandler = exports.passSubmitHandler = function () {\n\tvar _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {\n\t\tvar ansData, data;\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\t_appVariable2.default.leaveAlert = false;\n\n\t\t\t\t\t\tansData = (0, _main.formatAns)();\n\n\t\t\t\t\t\tif (ansData.ansValid) {\n\t\t\t\t\t\t\t_context.next = 6;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\t\t\t\ttitle: _appVariable.sysLang.wording.str_default_anslost_title,\n\t\t\t\t\t\t\tcontent: _appVariable.sysLang.wording.str_default_anslost_content.replace('_{{svURL}}_', _appConfig.serverDomain + '/s/' + _appVariable2.default.surveyId),\n\t\t\t\t\t\t\tpic: 'error'\n\t\t\t\t\t\t});\n\t\t\t\t\t\t(0, _common.overflowBody)(true);\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 6:\n\n\t\t\t\t\t\t/**\n * answers are valid\n */\n\t\t\t\t\t\t(0, _main.removeMaxtimesOptions)(ansData.ansData);\n\n\t\t\t\t\t\t_context.next = 9;\n\t\t\t\t\t\treturn (0, _postAnswer2.default)(ansData.ansData);\n\n\t\t\t\t\tcase 9:\n\t\t\t\t\t\tdata = _context.sent;\n\n\t\t\t\t\t\tif (data.status) {\n\t\t\t\t\t\t\t_context.next = 15;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (data.errmsg === 'TOKEN_ERROR') {\n\t\t\t\t\t\t\t(0, _getCsrfTokenFromCookie.putCsrfTokenToCookie)();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (data.errmsg === 'UPLOAD_FOLDER_FULL') {\n\t\t\t\t\t\t\t_vex2.default.dialog.alert(_appVariable.sysLang.wording.fileupload.error.fulled);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_vex2.default.dialog.alert(_appVariable.sysLang.wording.str_submit_failed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _jquery2.default)('#submit-wrapper button').html(_appVariable.sysLang.wording.str_sv_submit).removeAttr('disabled');\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 15:\n\n\t\t\t\t\t\tredirectAfterSubmit(data.data.redirect, data.data.fileHash || '');\n\n\t\t\t\t\tcase 16:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined);\n\t}));\n\n\treturn function passSubmitHandler() {\n\t\treturn _ref.apply(this, arguments);\n\t};\n}();\n\nvar svSubmitHandler = exports.svSubmitHandler = function svSubmitHandler() {\n\tconsole.log('/// svSubmitHandler');\n\n\tif (!_appVariable2.default.alreadySetVisit) {\n\t\t(0, _action.setVisit)();\n\t}\n\n\t/**\n * The default of final page is `thankyou`\n * Priority is : `sorry` > `ended` > `thankyou`\n */\n\t_appVariable.svEndConfig.submitURL = 'thankyou';\n\n\tif (_appVariable.svEndConfig.endBySorry > 0) {\n\t\t_appVariable.svEndConfig.submitURL = 'sorry';\n\n\t\tif (_appVariable.svEndConfig.endBySorryOpt.length > 0) {\n\t\t\t_appVariable.svEndConfig.endsopts = _appVariable.svEndConfig.endBySorryOpt[0];\n\t\t}\n\t} else if (_appVariable.svEndConfig.endByEnded > 0) {\n\t\t_appVariable.svEndConfig.submitURL = 'ended';\n\n\t\tif (_appVariable.svEndConfig.endByEndedOpt.length > 0) {\n\t\t\t_appVariable.svEndConfig.endsopts = _appVariable.svEndConfig.endByEndedOpt[0];\n\t\t}\n\t} else if (_appVariable.svEndConfig.endByThankyou > 0) {\n\t\t_appVariable.svEndConfig.submitURL = 'thankyou';\n\n\t\tif (_appVariable.svEndConfig.endByThankyouOpt.length > 0) {\n\t\t\t_appVariable.svEndConfig.endsopts = _appVariable.svEndConfig.endByThankyouOpt[0];\n\t\t}\n\t} else {\n\t\t_appVariable.svEndConfig.endsopts = null;\n\t}\n\n\t(0, _jquery2.default)('input[name=\"svend\"]').val(_appVariable.svEndConfig.submitURL);\n\t(0, _jquery2.default)('input[name=\"endsopts\"]').val(_appVariable.svEndConfig.endsopts);\n\tconsole.log('//// FINAL submitURL: ' + _appVariable.svEndConfig.submitURL);\n\tconsole.log('//// FINAL endsopts: ' + _appVariable.svEndConfig.endsopts);\n};\n\nvar submitHandlerFolow = exports.submitHandlerFolow = function () {\n\tvar _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2() {\n\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tsvSubmitHandler();\n\n\t\t\t\t\t\t(0, _customize.extSubmitHandler)();\n\n\t\t\t\t\t\tif (!_appVariable2.default.untrack) {\n\t\t\t\t\t\t\t_context2.next = 4;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\tif (!_appVariable2.default.previewAnswer) {\n\t\t\t\t\t\t\t_context2.next = 7;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _previewAnswer2.default)();\n\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 7:\n\t\t\t\t\t\tif (!(_appVariable2.default.reCaptcha.enable && !_appVariable2.default.reCaptcha.token)) {\n\t\t\t\t\t\t\t_context2.next = 10;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _reCAPTCHA.setReCaptchaError)('required');\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 10:\n\t\t\t\t\t\tif (!(_appVariable2.default.viewStatus === 'public')) {\n\t\t\t\t\t\t\t_context2.next = 22;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _jquery2.default)('#submit-wrapper button').html(' ' + _appVariable.sysLang.wording.status_submiting).attr('disabled', 'disabled');\n\n\t\t\t\t\t\tif ((0, _action.checkTimeout)()) {\n\t\t\t\t\t\t\t_context2.next = 15;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpassSubmitHandler();\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 15:\n\t\t\t\t\t\t_context2.next = 17;\n\t\t\t\t\t\treturn (0, _initial.updateSurveyEndtime)();\n\n\t\t\t\t\tcase 17:\n\t\t\t\t\t\tif ((0, _action.checkTimeout)()) {\n\t\t\t\t\t\t\t_context2.next = 20;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpassSubmitHandler();\n\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 20:\n\n\t\t\t\t\t\t_vex2.default.dialog.confirm({\n\t\t\t\t\t\t\tmessage: _appVariable.sysLang.wording.alert.surveyTimeout,\n\t\t\t\t\t\t\tcallback: function callback() {\n\t\t\t\t\t\t\t\t_appVariable2.default.leaveAlert = false;\n\t\t\t\t\t\t\t\twindow.location.href = '/s/' + _appVariable2.default.surveyId + '/timeout';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 22:\n\t\t\t\t\t\tif (!_appVariable2.default.isThemePv) {\n\t\t\t\t\t\t\t_context2.next = 25;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_vex2.default.dialog.alert(_appVariable.sysLang.wording.str_pv_nosubmit);\n\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 25:\n\n\t\t\t\t\t\t_vex2.default.dialog.confirm({\n\t\t\t\t\t\t\tmessage: _appVariable.sysLang.wording.str_pv_redirect.replace('_{{pagename}}_', _appVariable.svEndConfig.submitURL),\n\t\t\t\t\t\t\tcallback: function callback(value) {\n\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t(0, _jquery2.default)(window.parent.document).find('.pv-switch[rel=\\'' + _appVariable.svEndConfig.submitURL + '\\']').trigger('click');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\tcase 26:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee2, undefined);\n\t}));\n\n\treturn function submitHandlerFolow() {\n\t\treturn _ref2.apply(this, arguments);\n\t};\n}();\n\nvar setValidator = exports.setValidator = function setValidator(targetEle) {\n\t_appVariable.variable.validator = (0, _jquery2.default)(targetEle).validate({\n\t\tignore: '.ignore',\n\t\tonkeyup: function onkeyup(element) {\n\t\t\tif ((0, _jquery2.default)(element).hasClass('textOnece')) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (element.name in this.submitted || element === this.lastElement) {\n\t\t\t\tthis.element(element);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\terrorPlacement: function errorPlacement(error, element) {\n\t\t\tif (_appVariable2.default.can_showError) {\n\t\t\t\tif (!element.closest('.subject-wrapper').hasClass('invisible')) {\n\t\t\t\t\tif (element.parent('div').hasClass('level')) {\n\t\t\t\t\t\telement.closest('.NESTCHILD').find('.subject-reminder').append(error);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.closest('.subject-wrapper').find('.subject-reminder .error').length === 0) {\n\t\t\t\t\t\telement.closest('.subject-wrapper').find('.subject-reminder').append(error);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t(0, _draw.specialSettingError)();\n\t\t\t}\n\t\t},\n\t\tsubmitHandler: function submitHandler() {\n\t\t\tif (_appVariable.variable.isrunTimer) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((0, _jquery2.default)('.-uploading').length > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconsole.log('/// submitHandler \\u76EE\\u524D\\u53EF\\u5426 submit : ' + _appVariable2.default.can_submit);\n\n\t\t\tsubmitHandlerFolow();\n\t\t},\n\t\tinvalidHandler: function invalidHandler(form, validator) {\n\t\t\tif (!validator.numberOfInvalids()) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _common.scrollToEle)((0, _jquery2.default)(validator.errorList[0].element).parents('.subject-wrapper'), true);\n\t\t\t}, 100);\n\t\t}\n\t});\n};\n\nvar checkAnsNeedValide = exports.checkAnsNeedValide = function checkAnsNeedValide(target) {\n\tif (target.hasClass('hidden') || target.hasClass('ignore-subject') || target.hasClass('sorry-skip')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nvar validateSurvey = exports.validateSurvey = function validateSurvey(targetEle, canSubmit, canShowError) {\n\t_appVariable2.default.can_submit = canSubmit;\n\t_appVariable2.default.can_showError = canShowError;\n\n\t/**\n * layout must be `BROCHURE` / `PORTRAIT`\n */\n\tvar modifyArea = (0, _jquery2.default)('#survey-form').find('.subject-wrapper');\n\n\tmodifyArea.find(_constant.allHtmlElement).removeClass('ignore');\n\n\t_jquery2.default.each(modifyArea, function () {\n\t\tif (!checkAnsNeedValide((0, _jquery2.default)(this))) {\n\t\t\tvar impactQuestions = (0, _jquery2.default)(this).find(_constant.allHtmlElement);\n\t\t\timpactQuestions.addClass('ignore');\n\t\t}\n\t});\n\n\tif (_appVariable.variable.validator === null) {\n\t\tsetValidator(targetEle);\n\n\t\treturn true;\n\t}\n\n\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\tif (_appVariable.variable.validator.form()) {\n\t\t\tconsole.log('PASS VALIDATE');\n\n\t\t\treturn true;\n\t\t}\n\n\t\tconsole.log('NOT PASS VALIDATE');\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nvar textOneceRemote = function textOneceRemote(elementName) {\n\treturn {\n\t\turl: _appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/ans/count?svid=' + _appVariable2.default.surveyId,\n\t\tdata: {\n\t\t\tsbjid: function sbjid() {\n\t\t\t\treturn elementName.replace('[]', '').replace('sbj_', '');\n\t\t\t},\n\t\t\tvtext: function vtext() {\n\t\t\t\treturn (0, _jquery2.default)('input[name=\\'' + elementName + '\\']').val();\n\t\t\t}\n\t\t},\n\t\tdataFilter: function dataFilter(data) {\n\t\t\t_jquery2.default.validator.messages.remote = _appVariable.sysLang.wording.info_answer_duplicated;\n\n\t\t\tvar theData = JSON.parse(data);\n\t\t\tif (theData && theData.anscount === '0') {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (_appVariable2.default.remote && _appVariable2.default.layout === 'BROCHURE') {\n\t\t\t\t_appVariable2.default.remote = false;\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t(0, _jquery2.default)('#next-sbj-btn').trigger('click');\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\t};\n};\n\nvar validateRemote = exports.validateRemote = function validateRemote() {\n\tif ((0, _jquery2.default)('.textOnece').length) {\n\t\t(0, _jquery2.default)('.textOnece').each(function () {\n\t\t\tvar _this = this;\n\n\t\t\t(0, _jquery2.default)(this).rules('add', {\n\t\t\t\tremote: function remote() {\n\t\t\t\t\treturn textOneceRemote((0, _jquery2.default)(_this).attr('name'));\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n};\n\nvar validateSingleEle = exports.validateSingleEle = function validateSingleEle(targetEle) {\n\tif (_appVariable.variable.validator && targetEle) {\n\t\t_appVariable.variable.validator.element(targetEle);\n\t}\n};\n\nvar checkAnsCount = exports.checkAnsCount = function checkAnsCount() {\n\t_appVariable.svEndConfig.ansSbjLog = {};\n\n\t_jquery2.default.each(_appVariable.thisSubjectsObj, function (k, ele) {\n\t\t/**\n * 如果是 noAnsSbjType 也不用答案\n */\n\t\tif (_jquery2.default.inArray(ele.type, _constant.noAnsSbjType) === -1) {\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._showByLinkto === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideByJumpto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideBySorryto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ele.required === 1) {\n\t\t\t\t/**\n * PICKFROM no options need pass\n */\n\t\t\t\tif (ele.type === 'PICKFROM') {\n\t\t\t\t\tif (ele.options.length > 0) {\n\t\t\t\t\t\t_appVariable.svEndConfig.ansSbjLog['sbj_' + ele.ID] = false;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t_appVariable.svEndConfig.ansSbjLog['sbj_' + ele.ID] = false;\n\t\t\t}\n\t\t}\n\t});\n\n\tconsole.log(_appVariable.svEndConfig.ansSbjLog);\n};\n\nvar checkSNVisible = exports.checkSNVisible = function checkSNVisible(subjectNumber) {\n\tvar ele = _appVariable.thisSubjectsObj[(0, _common.findOrderBySN)(subjectNumber)];\n\n\t/* eslint-disable no-underscore-dangle */\n\treturn ele && ele._isVisible();\n\t/* eslint-enable no-underscore-dangle */\n};\n\nvar validateEmail = function validateEmail(value) {\n\treturn (\n\t\t/* eslint-disable max-len */\n\t\t/* eslint-disable no-useless-escape */\n\t\t/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(value)\n\t\t/* eslint-enable max-len */\n\t\t/* eslint-enable no-useless-escape */\n\n\t);\n};\n\nvar addMoreValidate = exports.addMoreValidate = function addMoreValidate() {\n\t_jquery2.default.validator.methods.step = function (value, element) {\n\t\tif (!value) {\n\t\t\treturn true;\n\t\t}\n\n\t\tvar answer = parseFloat(value);\n\t\tvar min = parseFloat((0, _jquery2.default)(element).attr('min') || 0);\n\t\tvar max = parseFloat((0, _jquery2.default)(element).attr('max'));\n\t\tvar step = parseFloat((0, _jquery2.default)(element).attr('step'));\n\n\t\tif (!min && !max) {\n\t\t\treturn (0, _math2.default)(answer, '%', step) === 0;\n\t\t}\n\n\t\treturn (0, _math2.default)((0, _math2.default)(answer, '-', min), '%', step) === 0 || answer === max;\n\t};\n\n\t_jquery2.default.extend(_jquery2.default.validator.messages, _appVariable.sysLang.wording.validateMessage);\n\t_jquery2.default.extend(_jquery2.default.validator.messages, {\n\t\tmaxlength: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.maxlength),\n\t\tminlength: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.minlength),\n\t\trangelength: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.rangelength),\n\t\trange: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.range),\n\t\tmax: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.max),\n\t\tmin: _jquery2.default.validator.format(_appVariable.sysLang.wording.validateMessage.min)\n\t});\n\n\t_jquery2.default.validator.addMethod('strictEmail', function (value) {\n\t\treturn !value ? true : validateEmail(value);\n\t}, _appVariable.sysLang.wording.validateMessage.email);\n\n\t_jquery2.default.validator.addMethod('requiredtrim', function (value) {\n\t\treturn _jquery2.default.trim(value).length > 0;\n\t}, _appVariable.sysLang.wording.info_requiredtrim_incorrect);\n\n\t_jquery2.default.validator.addMethod('hasPointbounds', function (value, element) {\n\t\tvar theDigitInput = (0, _jquery2.default)(element);\n\t\tvar thePointbounds = parseInt(theDigitInput.attr('pointbounds'), 10);\n\n\t\tif (!Number.isNaN(thePointbounds) && value.indexOf('.') !== -1 && value.split('.')[1].length > thePointbounds) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, _appVariable.sysLang.wording.info_pointbounds_incorrect);\n\n\t_jquery2.default.validator.addMethod('choiceCount', function (value, element) {\n\t\tvar targetName = (0, _jquery2.default)(element).attr('name');\n\t\tvar targetLength = parseInt((0, _jquery2.default)('input[name=\\'' + targetName + '\\']:checked').length, 10);\n\t\tvar ruleMin = (0, _jquery2.default)(element).parents('.subject-answer').attr('mincount');\n\t\tvar ruleMax = (0, _jquery2.default)(element).parents('.subject-answer').attr('maxcount');\n\t\tvar $subjectDom = (0, _jquery2.default)(element).closest('.subject-wrapper');\n\t\tvar $subjectSelectionCount = $subjectDom.find('.subject-selection-count');\n\n\t\tif (targetLength === 0) {\n\t\t\t_jquery2.default.validator.messages.choiceCount = '';\n\t\t\t$subjectSelectionCount.text('');\n\t\t\treturn true;\n\t\t}\n\n\t\tif ($subjectDom.find('.nota.active').length === 1) {\n\t\t\treturn true;\n\t\t}\n\n\t\t$subjectSelectionCount.text('\\uFF08\\n\\t\\t\\t' + _appVariable.sysLang.wording.info.option_count.correct.replace('_{{count}}_', targetLength) + '\\n\\t\\t\\uFF09');\n\n\t\tif (ruleMin && targetLength < ruleMin) {\n\t\t\t_jquery2.default.validator.messages.choiceCount = _appVariable.sysLang.wording.info.option_count.too_little.replace('_{{gap}}_', ruleMin - targetLength);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (ruleMax && targetLength > ruleMax) {\n\t\t\t_jquery2.default.validator.messages.choiceCount = _appVariable.sysLang.wording.info.option_count.too_much.replace('_{{gap}}_', targetLength - ruleMax);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t_jquery2.default.validator.addMethod('sortCount', function (value, element) {\n\t\tvar targetLength = void 0;\n\n\t\tif (_appVariable2.default.sortMode === 'dragIt') {\n\t\t\ttargetLength = parseInt((0, _jquery2.default)(element).parents('.subject-answer').find('.choosen-wrapper .option').length, 10);\n\t\t} else if (_appVariable2.default.sortMode === 'clickIt') {\n\t\t\ttargetLength = parseInt((0, _jquery2.default)(element).parents('.subject-answer').find('.option.active').length, 10);\n\t\t}\n\n\t\tvar ruleMin = (0, _jquery2.default)(element).parents('.subject-answer').attr('mincount');\n\t\tvar ruleMax = (0, _jquery2.default)(element).parents('.subject-answer').attr('maxcount');\n\n\t\tif (targetLength === 0) {\n\t\t\t/**\n * 非必填的話就會進這裡啊!應該要可以過!\n */\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ruleMin && ruleMax) {\n\t\t\tif (targetLength >= ruleMin && targetLength <= ruleMax) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if (ruleMin) {\n\t\t\tif (targetLength === parseInt(ruleMin, 10)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}, _appVariable.sysLang.wording.info_optsort_incorrect);\n\n\t_jquery2.default.validator.addMethod('dateExam', function (value, element) {\n\t\tif (!value) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (/^([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$/.test(value) && (0, _jquery2.default)(element).datepicker('getDate')) {\n\t\t\t/**\n * format correct but min and max incorrect duration\n */\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}, _appVariable.sysLang.wording.validateMessage.date);\n};\n\nvar checkHasAns = exports.checkHasAns = function checkHasAns(ansObj) {\n\tvar hasAnswer = false;\n\n\t_jquery2.default.each(ansObj, function (key, value) {\n\t\tif (value) {\n\t\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n\t\t\t\tif (value.length > 0) {\n\t\t\t\t\thasAnswer = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof value === 'string') {\n\t\t\t\thasAnswer = true;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn hasAnswer;\n};\n\nexports.default = 'VALIDATE';\n\n/***/ }),\n\n/***/ \"DbZ6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.htmlToTxt = exports.afterSort = exports.getSortLimit = exports.checkMaxtimes = exports.setClientTracking = exports.setVisit = exports.setTimeoutTimer = exports.checkTimeout = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _xss = __webpack_require__(\"NG4M\");\n\nvar _xss2 = _interopRequireDefault(_xss);\n\nvar _GA = __webpack_require__(0);\n\nvar _GA2 = _interopRequireDefault(_GA);\n\nvar _FacebookPixel = __webpack_require__(1);\n\nvar _FacebookPixel2 = _interopRequireDefault(_FacebookPixel);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _time = __webpack_require__(\"Q7Nz\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _createVisit = __webpack_require__(\"Xgta\");\n\nvar _createVisit2 = _interopRequireDefault(_createVisit);\n\nvar _getCount = __webpack_require__(\"W6xV\");\n\nvar _getCount2 = _interopRequireDefault(_getCount);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } // eslint-disable-line\n// eslint-disable-line\n\n\n/* -------------------------------------\n --------------- Action --------------\n------------------------------------- */\nvar checkTimeout = exports.checkTimeout = function checkTimeout() {\n\tconsole.log('///// checkTimeout');\n\tvar leaveTime = (0, _time.createTimeStamp)();\n\tconsole.log('leaveTime: ' + leaveTime + ', svConfig.svEndTime: ' + _appVariable2.default.svEndTime);\n\n\treturn _appVariable2.default.svEndTime && leaveTime - _appVariable2.default.svEndTime > 3600000;\n};\n\nvar setTimeoutTimer = exports.setTimeoutTimer = function setTimeoutTimer() {\n\t_appVariable.variable.timeOutTimer = setInterval(_asyncToGenerator(regeneratorRuntime.mark(function _callee() {\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!checkTimeout()) {\n\t\t\t\t\t\t\t_context.next = 4;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context.next = 3;\n\t\t\t\t\t\treturn (0, _initial.updateSurveyEndtime)();\n\n\t\t\t\t\tcase 3:\n\n\t\t\t\t\t\tif (checkTimeout()) {\n\t\t\t\t\t\t\t_vex2.default.dialog.confirm({\n\t\t\t\t\t\t\t\tmessage: _appVariable.sysLang.wording.alert.surveyTimeout,\n\t\t\t\t\t\t\t\tcallback: function callback() {\n\t\t\t\t\t\t\t\t\t_appVariable2.default.leaveAlert = false;\n\t\t\t\t\t\t\t\t\tclearInterval(_appVariable.variable.timeOutTimer);\n\n\t\t\t\t\t\t\t\t\twindow.location.href = '/s/' + _appVariable2.default.surveyId + '/timeout';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined);\n\t})), 300000);\n};\n\nvar setVisit = exports.setVisit = function setVisit() {\n\tif (_appVariable2.default.untrack) {\n\t\t_appVariable2.default.alreadySetVisit = true;\n\t\treturn Promise.reject();\n\t}\n\n\treturn (0, _createVisit2.default)(_appVariable2.default.surveyId).then(function (_ref2) {\n\t\tvar status = _ref2.status;\n\n\t\tif (status) {\n\t\t\t_appVariable2.default.alreadySetVisit = true;\n\t\t}\n\n\t\treturn true;\n\t});\n};\n\nvar setClientTracking = exports.setClientTracking = function setClientTracking() {\n\tif (!_appVariable2.default.untrack) {\n\t\tif (_appVariable.variable.surveyData.analyticsid) {\n\t\t\t(0, _GA2.default)('create', _appVariable.variable.surveyData.analyticsid, 'auto', 'clientTracker');\n\t\t\t(0, _GA2.default)('clientTracker.send', 'pageview');\n\t\t\t(0, _GA2.default)('clientTracker.send', 'event', 'SurveyCake', 'SurveyCakeVisit', _appVariable2.default.surveyId);\n\t\t}\n\n\t\tif (_appVariable.variable.surveyData.fbpixelid) {\n\t\t\t(0, _FacebookPixel2.default)('init', _appVariable.variable.surveyData.fbpixelid);\n\t\t\t(0, _FacebookPixel2.default)('trackCustom', 'PageView');\n\t\t\t(0, _FacebookPixel2.default)('trackCustom', 'SurveyCakeVisit', { surveyID: _appVariable2.default.surveyId });\n\t\t}\n\t}\n};\n\nvar checkMaxtimes = exports.checkMaxtimes = function () {\n\tvar _ref3 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(sbjid, type, qty) {\n\t\tvar json;\n\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!(_appVariable2.default.viewStatus === 'public')) {\n\t\t\t\t\t\t\t_context2.next = 5;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context2.next = 3;\n\t\t\t\t\t\treturn (0, _getCount2.default)(_appVariable2.default.surveyId, sbjid, type, qty);\n\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tjson = _context2.sent;\n\t\t\t\t\t\treturn _context2.abrupt('return', json);\n\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\treturn _context2.abrupt('return', { anscount: '0' });\n\n\t\t\t\t\tcase 6:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee2, undefined);\n\t}));\n\n\treturn function checkMaxtimes(_x, _x2, _x3) {\n\t\treturn _ref3.apply(this, arguments);\n\t};\n}();\n\nvar getSortLimit = exports.getSortLimit = function getSortLimit(target) {\n\tvar parentAnswer = target.closest('.subject-answer');\n\tvar parentAnswerLower = parentAnswer.attr('mincount');\n\tvar parentAnswerUpper = parentAnswer.attr('maxcount');\n\n\tif (parentAnswerLower) {\n\t\treturn parseInt(parentAnswerLower, 10);\n\t}\n\n\tif (parentAnswerUpper) {\n\t\treturn parseInt(parentAnswerUpper, 10);\n\t}\n\n\treturn false;\n};\n\nvar afterSort = exports.afterSort = function afterSort(target) {\n\tvar parentSubject = target.closest('.subject-wrapper');\n\tvar parentAnswer = parentSubject.find('.subject-answer');\n\tvar parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\tvar parentSubjectID = parentSubject.attr('data-id');\n\tvar choosenOptions = parentAnswer.find('.choosen-wrapper .option[data-id*=\"opt_\"]');\n\n\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectID, null, 'RESET');\n\tparentAnswer.find('.input-wrapper input[name*=\"sbj_' + parentSubjectID + '\"]').val('');\n\tchoosenOptions.removeAttr('sortnum');\n\tchoosenOptions.removeClass('ui-draggable');\n\n\t/**\n * add sort number to selected options of ui\n */\n\tif (choosenOptions.length) {\n\t\t_jquery2.default.each(choosenOptions, function (theIndex, theElem) {\n\t\t\tvar optid = (0, _jquery2.default)(theElem).attr('data-id');\n\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectID, optid, 'ADD');\n\t\t\t(0, _jquery2.default)(theElem).attr('sortnum', theIndex + 1);\n\n\t\t\tvar theInput = parentAnswer.find('input[name=\"sbj_' + parentSubjectID + '[' + theIndex + ']\"]');\n\t\t\ttheInput.val(optid);\n\n\t\t\t(0, _validate.validateSingleEle)(theInput);\n\t\t});\n\t}\n\n\t(0, _main.portraitProgressCount)(parentSubjectSn);\n\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n};\n\nvar htmlToTxt = exports.htmlToTxt = function htmlToTxt(html) {\n\treturn (0, _jquery2.default)('
' + (0, _xss2.default)(html) + '
').text();\n};\n\nexports.default = 'ACTION';\n\n/***/ }),\n\n/***/ \"DuR2\":\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n\n/***/ \"ENm7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getShortenData = function getShortenData(token) {\n\treturn (0, _customFetch2.default)(_appConfig.shortenDomain + '/' + token).then(function (response) {\n\t\treturn (0, _handleErrorRequest2.default)(response);\n\t});\n};\n\nexports.default = getShortenData;\n\n/***/ }),\n\n/***/ \"FKCt\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.initialVex = exports.setXssWhitelist = exports.updateSingleAns = exports.writeSingleObj = exports.prepareData = exports.renderSurveyUI = exports.iniSubjectObj = exports.sbjObj = exports.optObjArr = exports.optObj = exports.getDefaultAnswer = exports.getMasterSurveySubjects = exports.updateSurveyEndtime = exports.getSurveyPublic = exports.notfoundUI = exports.loadMoreFiles = exports.eventTracking = exports.newEventData = exports.excuteNotfoundUI = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _xss = __webpack_require__(\"NG4M\");\n\nvar _xss2 = _interopRequireDefault(_xss);\n\nvar _he = __webpack_require__(\"t02m\");\n\nvar _he2 = _interopRequireDefault(_he);\n\nvar _amplitudeJs = __webpack_require__(\"Eugh\");\n\nvar _amplitudeJs2 = _interopRequireDefault(_amplitudeJs);\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _array = __webpack_require__(\"u2OS\");\n\nvar _ui = __webpack_require__(\"qOui\");\n\nvar _time = __webpack_require__(\"Q7Nz\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nvar _replaceWording = __webpack_require__(\"Wvk5\");\n\nvar _replaceWording2 = _interopRequireDefault(_replaceWording);\n\nvar _translate = __webpack_require__(\"qpYG\");\n\nvar _translate2 = _interopRequireDefault(_translate);\n\nvar _referral = __webpack_require__(\"GIa+\");\n\nvar _getInitMeta = __webpack_require__(\"3QHt\");\n\nvar _getInitMeta2 = _interopRequireDefault(_getInitMeta);\n\nvar _getPrivate = __webpack_require__(\"8R8m\");\n\nvar _getPrivate2 = _interopRequireDefault(_getPrivate);\n\nvar _getDecryptKeys = __webpack_require__(\"8bW4\");\n\nvar _getDecryptKeys2 = _interopRequireDefault(_getDecryptKeys);\n\nvar _getWording = __webpack_require__(\"aUBU\");\n\nvar _getWording2 = _interopRequireDefault(_getWording);\n\nvar _getTranslateFile = __webpack_require__(\"XHPL\");\n\nvar _getTranslateFile2 = _interopRequireDefault(_getTranslateFile);\n\nvar _getMasterSubjects = __webpack_require__(\"U7Nq\");\n\nvar _getMasterSubjects2 = _interopRequireDefault(_getMasterSubjects);\n\nvar _getData = __webpack_require__(\"MAgY\");\n\nvar _getData2 = _interopRequireDefault(_getData);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar innerExcuteNotfoundUI = function innerExcuteNotfoundUI() {\n\t(0, _jquery2.default)('#welcome').remove();\n\t(0, _jquery2.default)('#loading').remove();\n\t(0, _ui.showErrorInfo)({\n\t\ttitle: _appVariable.sysLang.wording.str_sv_notfound,\n\t\tpic: 'notfound'\n\t});\n};\n\nvar excuteNotfoundUI = exports.excuteNotfoundUI = function excuteNotfoundUI(wordingPromise) {\n\tif (wordingPromise) {\n\t\twordingPromise.then(innerExcuteNotfoundUI);\n\t} else {\n\t\tinnerExcuteNotfoundUI();\n\t}\n};\n\n/* -------------------------------------\n ------------- Initial --------------\n------------------------------------- */\nvar newEventData = exports.newEventData = function newEventData() {\n\tvar newEventDataObject = {\n\t\tutm_source: _appVariable.urlQueryObject.utm_source || 'unknow',\n\t\tutm_medium: _appVariable.urlQueryObject.utm_medium || 'unknow',\n\t\tutm_term: _appVariable.urlQueryObject.utm_term || 'unknow',\n\t\tutm_content: _appVariable.urlQueryObject.utm_content || 'unknow',\n\t\tutm_campaign: _appVariable.urlQueryObject.utm_campaign || 'unknow'\n\t};\n\n\tif (_appVariable.variable.rel) {\n\t\tnewEventDataObject.pageNavi = _appVariable.variable.rel;\n\t}\n\n\tif (_appVariable2.default.surveyId) {\n\t\tnewEventDataObject.svid = _appVariable2.default.surveyId;\n\t}\n\n\treturn newEventDataObject;\n};\n\nvar eventTracking = exports.eventTracking = function eventTracking() {\n\tconsole.log('/// eventTracking');\n\n\tif (_appConfig.amplitudeKey && !_appVariable2.default.untrack) {\n\t\t_appVariable.variable.ampInstance = _amplitudeJs2.default.getInstance();\n\t\treturn;\n\t}\n\n\t_appVariable.variable.ampInstance = null;\n};\n\n/**\n * get survey extra data\n *\n * just store redirect url now\n */\nvar getSurveyExtraData = function () {\n\tvar _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(svid) {\n\t\tvar _ref2, status, data;\n\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!_appVariable.svEndConfig.redirectURL) {\n\t\t\t\t\t\t\t_context.next = 2;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context.abrupt('return', Promise.resolve());\n\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t_context.next = 4;\n\t\t\t\t\t\treturn (0, _getInitMeta2.default)(svid);\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\t_ref2 = _context.sent;\n\t\t\t\t\t\tstatus = _ref2.status;\n\t\t\t\t\t\tdata = _ref2.data;\n\n\t\t\t\t\t\tif (!(!status || !data)) {\n\t\t\t\t\t\t\t_context.next = 9;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context.abrupt('return', Promise.resolve());\n\n\t\t\t\t\tcase 9:\n\n\t\t\t\t\t\t/**\n * there is a specific redirect url and store it\n */\n\t\t\t\t\t\tif (data.redirect.enable && data.redirect.url) {\n\t\t\t\t\t\t\t_appVariable.svEndConfig.redirectURL = data.redirect.url;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/**\n * store file upload setting\n */\n\t\t\t\t\t\t_appVariable2.default.fileUpload.binding = data.file_upload !== undefined;\n\n\t\t\t\t\t\tif (data.file_upload) {\n\t\t\t\t\t\t\t_appVariable2.default.fileUpload.enable = data.file_upload.is_allow_upload;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/**\n * store survey owner is pro or not\n */\n\t\t\t\t\t\t_appVariable.variable.user.pro = data.pro;\n\n\t\t\t\t\t\treturn _context.abrupt('return', Promise.resolve());\n\n\t\t\t\t\tcase 14:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined);\n\t}));\n\n\treturn function getSurveyExtraData(_x) {\n\t\treturn _ref.apply(this, arguments);\n\t};\n}();\n\nvar loadMoreFiles = exports.loadMoreFiles = function loadMoreFiles(callback) {\n\tvar needLoadCount = _appVariable.urlQueryObject.lang ? 5 : 3;\n\tvar loadCount = 0;\n\tvar systemWording = {\n\t\torigin: null,\n\t\tupdate: null\n\t};\n\n\tvar totalCallback = function totalCallback() {\n\t\tloadCount += 1;\n\n\t\tif (loadCount === needLoadCount && callback && typeof callback === 'function') {\n\t\t\t_appVariable.sysLang.wording = systemWording.update || systemWording.origin;\n\t\t\t_appVariable.sysLang.ready = true;\n\t\t\t(0, _replaceWording2.default)(_appVariable.sysLang.wording);\n\n\t\t\tcallback();\n\t\t}\n\t};\n\n\tif (_appVariable.urlQueryObject.theme) {\n\t\t_appVariable2.default.theme = _appVariable.urlQueryObject.theme;\n\t\t_appVariable2.default.isThemePv = true;\n\t}\n\n\t(0, _common.loadExtraFile)(_appConfig.assetsDomain + '/theme/' + _appVariable2.default.theme + '/index.css', 'css', function () {\n\t\ttotalCallback();\n\t});\n\n\t/**\n * get the wording .json file\n */\n\tvar wordingPromise = (0, _getWording2.default)(_appVariable2.default.language).then(function (json) {\n\t\tsystemWording.origin = json;\n\t\ttotalCallback();\n\t});\n\n\t/**\n * no matter init meta api success or not not effect draw survey\n */\n\tgetSurveyExtraData(_appVariable2.default.surveyId).then(function () {\n\t\ttotalCallback();\n\t}).catch(function () {\n\t\texcuteNotfoundUI(wordingPromise);\n\t\ttotalCallback();\n\t});\n\n\t/**\n * getTranslateFiles\n */\n\tif (!_appVariable.urlQueryObject.lang) {\n\t\treturn;\n\t}\n\n\t(0, _getTranslateFile2.default)(_appVariable2.default.surveyId, _appVariable.urlQueryObject.lang).then(function (json) {\n\t\t(0, _translate2.default)(json);\n\t\ttotalCallback();\n\t}).catch(function () {\n\t\ttotalCallback();\n\t});\n\n\t/**\n * systme language replacement is not necessary\n */\n\t(0, _getWording2.default)(_appVariable.urlQueryObject.lang).then(function (json) {\n\t\tsystemWording.update = json;\n\t\ttotalCallback();\n\t}).catch(function () {\n\t\ttotalCallback();\n\t});\n};\n\nvar notfoundUI = exports.notfoundUI = function notfoundUI() {\n\tloadMoreFiles(excuteNotfoundUI);\n};\n\nvar getSurveyPublic = exports.getSurveyPublic = function getSurveyPublic() {\n\tif (\"DEMO\" !== 'DEV' && _appVariable2.default.viewStatus === 'preview' && !_appVariable.isIniframe) {\n\t\treturn Promise.reject(new Error('NOT_FOUND'));\n\t}\n\n\treturn (0, _getData2.default)(_appVariable2.default.viewStatus, _appVariable2.default.surveyId);\n};\n\nvar updateSurveyEndtime = exports.updateSurveyEndtime = function () {\n\tvar _ref3 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2() {\n\t\tvar _ref4, status, data, json;\n\n\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!(_appVariable2.default.svStatus === 'PRIVATE')) {\n\t\t\t\t\t\t\t_context2.next = 13;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context2.prev = 1;\n\t\t\t\t\t\t_context2.next = 4;\n\t\t\t\t\t\treturn (0, _getPrivate2.default)(_appVariable2.default.surveyId, _appVariable2.default.password);\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\t_ref4 = _context2.sent;\n\t\t\t\t\t\tstatus = _ref4.status;\n\t\t\t\t\t\tdata = _ref4.data;\n\n\n\t\t\t\t\t\tif (status && data && data.endtime) {\n\t\t\t\t\t\t\t_appVariable2.default.svEndTime = (0, _time.parseDate)(data.endtime).getTime();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_context2.next = 13;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 10:\n\t\t\t\t\t\t_context2.prev = 10;\n\t\t\t\t\t\t_context2.t0 = _context2['catch'](1);\n\n\t\t\t\t\t\tnotfoundUI();\n\n\t\t\t\t\tcase 13:\n\t\t\t\t\t\t_context2.prev = 13;\n\t\t\t\t\t\t_context2.next = 16;\n\t\t\t\t\t\treturn getSurveyPublic();\n\n\t\t\t\t\tcase 16:\n\t\t\t\t\t\tjson = _context2.sent;\n\n\n\t\t\t\t\t\tif (json && json.endtime) {\n\t\t\t\t\t\t\t_appVariable2.default.svEndTime = (0, _time.parseDate)(json.endtime).getTime();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_context2.next = 23;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 20:\n\t\t\t\t\t\t_context2.prev = 20;\n\t\t\t\t\t\t_context2.t1 = _context2['catch'](13);\n\n\t\t\t\t\t\tnotfoundUI();\n\n\t\t\t\t\tcase 23:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee2, undefined, [[1, 10], [13, 20]]);\n\t}));\n\n\treturn function updateSurveyEndtime() {\n\t\treturn _ref3.apply(this, arguments);\n\t};\n}();\n\nvar getMasterSurveySubjects = exports.getMasterSurveySubjects = function () {\n\tvar _ref5 = _asyncToGenerator(regeneratorRuntime.mark(function _callee3(masterhash) {\n\t\tvar _ref6, status, errmsg, data;\n\n\t\treturn regeneratorRuntime.wrap(function _callee3$(_context3) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context3.prev = _context3.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\t_context3.next = 2;\n\t\t\t\t\t\treturn (0, _getMasterSubjects2.default)(_appVariable2.default.surveyId, masterhash, _appVariable2.default.password);\n\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t_ref6 = _context3.sent;\n\t\t\t\t\t\tstatus = _ref6.status;\n\t\t\t\t\t\terrmsg = _ref6.errmsg;\n\t\t\t\t\t\tdata = _ref6.data;\n\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\t_context3.next = 10;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t(0, _jquery2.default)('#loading').remove();\n\n\t\t\t\t\t\t(0, _ui.showErrorInfo)({\n\t\t\t\t\t\t\ttitle: errmsg === 'MASTER_SURVEY_IS_OFF' ? _appVariable.sysLang.wording.str_sv_master_is_off : _appVariable.sysLang.wording.str_sv_master_not_existed,\n\t\t\t\t\t\t\tpic: 'off'\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn _context3.abrupt('return', { status: status, errmsg: errmsg });\n\n\t\t\t\t\tcase 10:\n\n\t\t\t\t\t\t_appVariable.variable.surveyData.subjects = JSON.parse(JSON.stringify(data));\n\n\t\t\t\t\t\treturn _context3.abrupt('return', { status: status, data: data });\n\n\t\t\t\t\tcase 12:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context3.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee3, undefined);\n\t}));\n\n\treturn function getMasterSurveySubjects(_x2) {\n\t\treturn _ref5.apply(this, arguments);\n\t};\n}();\n\nvar getDefaultAnswer = exports.getDefaultAnswer = function getDefaultAnswer() {\n\tconsole.log('///// getDefaultAnswer');\n\n\tif (!_appVariable.urlQueryObject) {\n\t\treturn;\n\t}\n\n\tObject.keys(_appVariable.urlQueryObject).filter(function (key) {\n\t\treturn key.search('ssn') !== -1;\n\t}).forEach(function (key) {\n\t\tvar sn = parseInt(key.split('ssn')[1], 10);\n\t\tvar order = (0, _common.findOrderBySN)(sn);\n\t\tif (order === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar value = _appVariable.urlQueryObject[key];\n\n\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n\t\t\tvalue.forEach(function (answer) {\n\t\t\t\t_appVariable.thisAnswerObj[order]['sbj_' + _appVariable.thisSubjectsObj.find(function (subject) {\n\t\t\t\t\treturn subject.sn === sn;\n\t\t\t\t}).ID].push(answer);\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\t_appVariable.thisAnswerObj[order]['sbj_' + _appVariable.thisSubjectsObj.find(function (subject) {\n\t\t\treturn subject.sn === sn;\n\t\t}).ID].push(value);\n\t});\n};\n\nvar optObj = exports.optObj = function optObj(optData) {\n\tvar newPobj = {};\n\n\tif (optData) {\n\t\t_jquery2.default.each(_constant.acceptOptKey, function (index, keyname) {\n\t\t\tif (_jquery2.default.inArray(keyname, _constant.entitiesKey) !== -1) {\n\t\t\t\tnewPobj[keyname] = optData[keyname] && typeof optData[keyname] === 'string' ? _he2.default.decode(optData[keyname]) : optData[keyname];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (keyname === 'linkto' && optData.linkto) {\n\t\t\t\tnewPobj[keyname] = optData.linkto.map(function (sn) {\n\t\t\t\t\treturn parseInt(sn, 10);\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnewPobj[keyname] = optData[keyname];\n\t\t});\n\t}\n\n\tnewPobj.isVisible = function () {\n\t\t/**\n * invisible may be null at older survey json\n */\n\t\tif (!optData.invisible || optData.invisible === 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!newPobj.starttime && !newPobj.endtime) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar formatStarttime = newPobj.starttime ? (0, _time.parseDate)(newPobj.starttime).getTime() : '';\n\t\tvar formatEndtime = newPobj.endtime ? (0, _time.parseDate)(newPobj.endtime).getTime() : '';\n\n\t\tif (formatStarttime && formatEndtime) {\n\t\t\tif (formatStarttime <= _appVariable2.default.nowGetTime && formatEndtime >= _appVariable2.default.nowGetTime) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (formatStarttime && formatStarttime <= _appVariable2.default.nowGetTime) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (formatEndtime && formatEndtime >= _appVariable2.default.nowGetTime) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\treturn newPobj;\n};\n\nvar optObjArr = exports.optObjArr = function optObjArr(optionsData) {\n\tif (optionsData) {\n\t\tvar _ret = function () {\n\t\t\tvar newOptionsArray = [];\n\n\t\t\t_jquery2.default.each(optionsData, function (i, optData) {\n\t\t\t\tnewOptionsArray.push(new optObj(optData));\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tv: newOptionsArray\n\t\t\t};\n\t\t}();\n\n\t\tif ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n\t}\n\n\treturn null;\n};\n\nvar sbjObj = exports.sbjObj = function sbjObj(sbjData) {\n\tvar newSobj = this;\n\n\tif (sbjData !== null) {\n\t\t_constant.acceptSbjKey.filter(function (keyname) {\n\t\t\treturn Object.hasOwnProperty.call(sbjData, keyname);\n\t\t}).forEach(function (keyname) {\n\t\t\tif (_constant.entitiesKey.includes(keyname)) {\n\t\t\t\tnewSobj[keyname] = sbjData[keyname] && typeof sbjData[keyname] === 'string' ? _he2.default.decode(sbjData[keyname]) : sbjData[keyname];\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (keyname === 'optfrom' && sbjData[keyname]) {\n\t\t\t\tnewSobj[keyname] = sbjData[keyname].map(function (sn) {\n\t\t\t\t\treturn parseInt(sn, 10);\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (keyname === 'options' && sbjData[keyname]) {\n\t\t\t\tnewSobj[keyname] = optObjArr(sbjData.options);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnewSobj[keyname] = sbjData[keyname];\n\t\t});\n\t}\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._hideByJumpto = 0;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._showByLinkto = -99;\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addShowByLinkto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._showByLinkto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusShowByLinkto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._showByLinkto > 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._showByLinkto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getShowByLinkto = function () {\n\t\treturn newSobj._showByLinkto;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addHideByJumpto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._hideByJumpto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusHideByJumpto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._hideByJumpto) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._hideByJumpto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getHideByJumpto = function () {\n\t\treturn newSobj._hideByJumpto;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getOptions = function () {\n\t\treturn newSobj.options !== null ? newSobj.options : null;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getSelectedOptions = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\tvar selectedOptID = _appVariable.thisAnswerObj[newSobj.orders]['sbj_' + newSobj.ID];\n\n\t\tif (selectedOptID && selectedOptID.length) {\n\t\t\tif (newSobj.options !== null) {\n\t\t\t\treturn newSobj.options.filter(function (opt) {\n\t\t\t\t\treturn _jquery2.default.inArray('opt_' + opt.ID, selectedOptID) !== -1;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getLinkJump = function () {\n\t\treturn [newSobj._showByLinkto, newSobj._hideByJumpto];\n\t};\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._hideBySorryto = 0;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addHideBySorryto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._hideBySorryto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusHideBySorryto = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._hideBySorryto > 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._hideBySorryto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getHideBySorryto = function () {\n\t\treturn newSobj._hideBySorryto;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__setPassTimer = function () {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\tnewSobj.timer = -1;\n\t};\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._doOptAction = true;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._doMaxtimesAction = true;\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._isVisible = function () {\n\t\tif (newSobj.invisible === 1 || newSobj._showByLinkto === 0 || newSobj._hideByJumpto > 0 || newSobj._hideBySorryto > 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n};\n\nvar iniSubjectObj = exports.iniSubjectObj = function iniSubjectObj() {\n\tif (!_appVariable.variable.surveyData.subjects) {\n\t\treturn;\n\t}\n\n\tif (_appVariable.variable.surveyData.subjects.length === 0) {\n\t\tdelete _appVariable.variable.surveyData.subjects;\n\t\treturn;\n\t}\n\n\t_appVariable.variable.surveyData.subjects.forEach(function (subjectData) {\n\t\tif (subjectData.type === 'DIVIDER' && _appVariable2.default.layout === 'BROCHURE') {\n\t\t\t_appVariable.pageConfig.mode = 'manual';\n\t\t}\n\n\t\t_appVariable.thisSubjectsObj.push(new sbjObj(subjectData));\n\t});\n};\n\nvar renderSurveyUI = exports.renderSurveyUI = function renderSurveyUI() {\n\tgetDefaultAnswer();\n\t(0, _customize.extPreParseSubjectsToUI)();\n};\n\nvar composeChildSn = function composeChildSn(index) {\n\tvar fisrtChildIndex = index + 1;\n\tvar lastChildIndex = _appVariable.thisSubjectsObj.slice(fisrtChildIndex).findIndex(function (a) {\n\t\treturn a.type !== 'NESTCHILD';\n\t});\n\tvar childSn = _appVariable.thisSubjectsObj.slice(fisrtChildIndex, lastChildIndex + 1).map(function (subejct) {\n\t\treturn subejct.sn;\n\t});\n\n\treturn childSn;\n};\n\nvar prepareData = exports.prepareData = function prepareData() {\n\t/**\n * 製作 VN 跟 AnswerObj\n */\n\tvar indent0 = 0;\n\tvar indent1 = 0;\n\tvar indent2 = 0;\n\tvar crumb = [];\n\n\t/**\n * For nest\n */\n\t_appVariable.nestConfig.required = false;\n\t_appVariable.nestConfig.indent = 0;\n\t_appVariable.nestConfig.timer = false;\n\t_appVariable.nestConfig.nestOptArr = [];\n\t_appVariable.nestConfig.groupSnArr = [];\n\n\tif (_appVariable.thisSubjectsObj && _appVariable.thisSubjectsObj.length) {\n\t\t_jquery2.default.each(_appVariable.thisSubjectsObj, function (sbjkey, sbjval) {\n\t\t\tif (!_appVariable.thisAnswerObj[sbjkey]) {\n\t\t\t\t_appVariable.thisAnswerObj[sbjkey] = {};\n\t\t\t}\n\n\t\t\tsbjval.progress = parseInt((sbjkey + 1) * 100 / _appVariable.thisSubjectsObj.length, 10);\n\t\t\t_appVariable.snArr.push(sbjval.sn);\n\n\t\t\t/**\n * Preview WithOut ID\n */\n\t\t\tif (!sbjval.ID) {\n\t\t\t\tsbjval.ID = sbjval.sn;\n\t\t\t}\n\n\t\t\t/**\n * 處理所有跟 Nestchild 有關的\n */\n\t\t\tif (sbjval.type === 'NEST') {\n\t\t\t\t_appVariable.nestConfig.indent = sbjval.indent;\n\t\t\t\t_appVariable.nestConfig.required = sbjval.required;\n\t\t\t\t_appVariable.nestConfig.nestOptArr = optObjArr(sbjval.options);\n\t\t\t\t_appVariable.nestConfig.timer = sbjval.timer;\n\n\t\t\t\tif (!sbjval.extras) {\n\t\t\t\t\tsbjval.extras = {};\n\t\t\t\t}\n\t\t\t\tsbjval.extras.child_sn = composeChildSn(sbjkey);\n\t\t\t} else if (sbjval.type === 'NESTCHILD') {\n\t\t\t\tsbjval.text = (0, _common.stripHtmlTags)(sbjval.text);\n\t\t\t\tsbjval.indent = _appVariable.nestConfig.indent + 1;\n\t\t\t\tsbjval.required = _appVariable.nestConfig.required;\n\t\t\t\tsbjval.options = optObjArr(_appVariable.nestConfig.nestOptArr);\n\t\t\t\tsbjval.timer = _appVariable.nestConfig.timer;\n\t\t\t}\n\n\t\t\t/**\n * stripHtml on option text\n */\n\t\t\tif (sbjval.options && sbjval.options.length) {\n\t\t\t\tsbjval.options = sbjval.options.map(function (option) {\n\t\t\t\t\treturn Object.assign({}, option, {\n\t\t\t\t\t\ttext: (0, _common.stripHtmlTags)(option.text)\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/* 處理 VN */\n\t\t\tvar thisIndent = parseInt(sbjval.indent, 10);\n\t\t\tvar finalVN = '';\n\n\t\t\tif (sbjval.invisible !== 1) {\n\t\t\t\tif (thisIndent === -1) {\n\t\t\t\t\tindent1 = 0;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 0) {\n\t\t\t\t\tfinalVN = indent0 + 1;\n\t\t\t\t\tindent0 += 1;\n\t\t\t\t\tindent1 = 0;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 1) {\n\t\t\t\t\tfinalVN = (0, _common.numberToABC)(indent1 + 1);\n\t\t\t\t\tindent1 += 1;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 2) {\n\t\t\t\t\tfinalVN = (0, _common.numberToABC)(indent2 + 1, true);\n\t\t\t\t\tindent2 += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsbjval.vn = finalVN;\n\n\t\t\t/**\n * 處理 麵包屑\n */\n\t\t\tvar crumbTxt = sbjval.invisible !== 1 ? sbjval.text : '';\n\n\t\t\t// 把大於 indentThis 的都清空, 由後往前清\n\t\t\tfor (var ci = crumb.length - 1; ci > thisIndent + 1; ci -= 1) {\n\t\t\t\t(0, _array.arrRemoveIndex)(crumb, ci);\n\t\t\t}\n\n\t\t\tif (_appVariable.variable.surveyData.vnshow === 'OFF') {\n\t\t\t\tcrumb[thisIndent + 1] = crumbTxt;\n\t\t\t} else {\n\t\t\t\tcrumb[thisIndent + 1] = finalVN === '' ? crumbTxt : finalVN + '. ' + crumbTxt;\n\t\t\t}\n\t\t\t_appVariable.thisSubjectsObj[sbjkey].crumb = crumb.slice(0);\n\n\t\t\t/**\n * 處理 last nest child\n */\n\t\t\tif (sbjval.type === 'NESTCHILD') {\n\t\t\t\t_appVariable.nestConfig.childEnd = true;\n\t\t\t} else if (_appVariable.nestConfig.childEnd) {\n\t\t\t\t_appVariable.thisSubjectsObj[sbjkey - 1].lastNestChild = true;\n\t\t\t}\n\n\t\t\t/**\n * 處理 pageSNArr\n */\n\t\t\tif (_appVariable.pageConfig.mode === 'manual') {\n\t\t\t\tif (sbjval.type !== 'DIVIDER') {\n\t\t\t\t\t_appVariable.pageConfig.group.push(sbjval.sn);\n\t\t\t\t} else if (_appVariable.pageConfig.group.length) {\n\t\t\t\t\t_appVariable.pageSNArr.push(_appVariable.pageConfig.group);\n\t\t\t\t\t_appVariable.pageConfig.group = [];\n\t\t\t\t}\n\t\t\t} else if (sbjval.type === 'NESTCHILD') {\n\t\t\t\t_appVariable.pageConfig.group.push(sbjval.sn);\n\t\t\t} else {\n\t\t\t\tif (_appVariable.nestConfig.childEnd) {\n\t\t\t\t\t_appVariable.nestConfig.childEnd = false;\n\n\t\t\t\t\t_appVariable.pageSNArr.push(_appVariable.pageConfig.group);\n\t\t\t\t\t_appVariable.pageConfig.group = [];\n\t\t\t\t}\n\n\t\t\t\tif (sbjval.type === 'NEST') {\n\t\t\t\t\t_appVariable.pageConfig.group.push(sbjval.sn);\n\t\t\t\t} else {\n\t\t\t\t\t_appVariable.pageSNArr.push(sbjval.sn);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n * 處理 Default AnswerObj\n */\n\t\t\t_appVariable.thisAnswerObj[sbjkey]['sbj_' + sbjval.ID] = [];\n\n\t\t\t/**\n * 製作 Pickfrom Options\n */\n\t\t\tif (sbjval.type === 'PICKFROM') {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tsbjval._doMaxtimesAction = false;\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\tif (sbjval.extras.opt_action === '0') {\n\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\tsbjval._doOptAction = false;\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t}\n\n\t\t\t\tif (sbjval.optfrom && sbjval.optfrom.length) {\n\t\t\t\t\tsbjval.optfrom.forEach(function (subjectNumber) {\n\t\t\t\t\t\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t/**\n * stop source link-jump action\n */\n\t\t\t\t\t\t\tif (sbjval.extras.opt_action === '1') {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[theOrder]._doOptAction = false;\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!_appVariable.thisOptfromMap[theOrder]) {\n\t\t\t\t\t\t\t\t_appVariable.thisOptfromMap[theOrder] = [];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t_appVariable.thisOptfromMap[theOrder].push(sbjval.sn);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n * 處理 rndopts\n */\n\t\t\tif (sbjval.options && sbjval.options.length) {\n\t\t\t\tif (sbjval.rndopts === 1) {\n\t\t\t\t\tvar cloneOptsArr = optObjArr(sbjval.options);\n\n\t\t\t\t\t(0, _array.rndOptsArr)(cloneOptsArr);\n\t\t\t\t\tsbjval.options = cloneOptsArr;\n\t\t\t\t}\n\n\t\t\t\t_jquery2.default.each(sbjval.options, function (optk, optv) {\n\t\t\t\t\tif (!optv.ID) {\n\t\t\t\t\t\toptv.ID = parseInt('' + sbjval.ID + (0, _common.appendLeft)(optk, 4, '9'), 10);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (optv.elses === 1) {\n\t\t\t\t\t\t_appVariable.thisAnswerObj[sbjkey]['opt_' + optv.ID] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (optv.linkto) {\n\t\t\t\t\t\tvar ii = 0;\n\n\t\t\t\t\t\twhile (optv.linkto[ii] !== undefined) {\n\t\t\t\t\t\t\tvar theOrder = (0, _common.findOrderBySN)(optv.linkto[ii]);\n\n\t\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[theOrder]._showByLinkto = 0;\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t\t\t\t\tif (_appVariable.thisSubjectsObj[theOrder].type === 'NEST') {\n\t\t\t\t\t\t\t\t\tvar NESTLinkGroup = [];\n\t\t\t\t\t\t\t\t\tvar testOrder = theOrder + 1;\n\n\t\t\t\t\t\t\t\t\twhile (testOrder < _appVariable.thisSubjectsObj.length && _appVariable.thisSubjectsObj[testOrder].type === 'NESTCHILD') {\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t\t\t_appVariable.thisSubjectsObj[testOrder]._showByLinkto = 0;\n\t\t\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t\t\t\tNESTLinkGroup.push(_appVariable.thisSubjectsObj[testOrder].sn);\n\t\t\t\t\t\t\t\t\t\ttestOrder += 1;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t(0, _array.arrInsertArr)(optv.linkto, ii + 1, NESTLinkGroup);\n\t\t\t\t\t\t\t\t\tii += NESTLinkGroup.length;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tii += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n * 寫 fileupload 設定\n */\n\t\t\tif (sbjval.type === 'FILEUPLOAD') {\n\t\t\t\t_appVariable2.default.fileUpload.exist = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tif (_appVariable.nestConfig.childEnd) {\n\t\t_appVariable.thisSubjectsObj[_appVariable.thisSubjectsObj.length - 1].lastNestChild = true;\n\t\t_appVariable.nestConfig.childEnd = false;\n\t}\n\n\tif (_appVariable.pageConfig.group.length) {\n\t\t_appVariable.pageSNArr.push(_appVariable.pageConfig.group);\n\t\t_appVariable.pageConfig.group = [];\n\t}\n\n\tif (_appVariable.thisSubjectsObj.length) {\n\t\t_appVariable.pageSNArr.push('submit-wrapper');\n\t}\n\n\tvar referralToken = (0, _referral.getReferralToken)((0, _common.parseUrlPath)());\n\tif (referralToken) {\n\t\t/**\n * url contains referral filename\n * decrypt it\n */\n\t\t(0, _getDecryptKeys2.default)(_appVariable2.default.surveyId, referralToken).then(function (_ref7) {\n\t\t\tvar status = _ref7.status,\n\t\t\t data = _ref7.data;\n\n\t\t\tif (status) {\n\t\t\t\t(0, _referral.startDecrypting)(_appVariable2.default.surveyId, referralToken, data.hash, data.iv);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnotfoundUI();\n\t\t}).catch(function () {\n\t\t\tnotfoundUI();\n\t\t});\n\t} else {\n\t\trenderSurveyUI();\n\t}\n};\n\nvar writeSingleObj = exports.writeSingleObj = function writeSingleObj(dkey, dval) {\n\tvar theAnswerOrder = (0, _common.findOrderByKey)(dkey);\n\n\tif (theAnswerOrder !== false) {\n\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey] = dval;\n\t}\n};\n\nvar updateSingleAns = exports.updateSingleAns = function updateSingleAns(dkey, dval, action) {\n\tif (_appVariable.variable.fillAnswerMode) {\n\t\treturn;\n\t}\n\n\t_appVariable2.default.isDirty = true;\n\n\tvar theAnswerOrder = (0, _common.findOrderByKey)(dkey);\n\n\tif (theAnswerOrder === false) {\n\t\treturn;\n\t}\n\n\tif (action === 'RESET') {\n\t\t_jquery2.default.each(_appVariable.thisAnswerObj[theAnswerOrder], function (kk, vv) {\n\t\t\tif ((typeof vv === 'undefined' ? 'undefined' : _typeof(vv)) === 'object') {\n\t\t\t\t_appVariable.thisAnswerObj[theAnswerOrder][kk] = [];\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_appVariable.thisAnswerObj[theAnswerOrder][kk] = null;\n\t\t});\n\n\t\treturn;\n\t}\n\n\t/**\n * sbj remove single ans\n */\n\tif (action === 'REMOVE' && dval) {\n\t\tif (_appVariable.thisAnswerObj[theAnswerOrder][dkey].indexOf(dval) !== -1) {\n\t\t\t(0, _array.arrDelData)(_appVariable.thisAnswerObj[theAnswerOrder][dkey], dval);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n * sbj add single ans\n */\n\tif (action === 'ADD' && dval) {\n\t\tif (_appVariable.thisAnswerObj[theAnswerOrder][dkey].indexOf(dval) !== -1) {\n\t\t\treturn;\n\t\t}\n\n\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey].push(dval);\n\t\treturn;\n\t}\n\n\tif (action === 'WRITE') {\n\t\t/**\n * opt_ write else\n */\n\t\tif (dkey.search('opt_') !== -1) {\n\t\t\tif (dval !== '') {\n\t\t\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey] = dval;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey] = null;\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n * sbj write ansArr\n */\n\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey] = [];\n\t\tif (dval) {\n\t\t\t_appVariable.thisAnswerObj[theAnswerOrder][dkey].push(dval);\n\t\t}\n\t}\n};\n\nvar setXssWhitelist = exports.setXssWhitelist = function setXssWhitelist() {\n\t_xss2.default.whiteList.p.push('style', 'class');\n\t_xss2.default.whiteList.div.push('style', 'rel', 'class');\n\t_xss2.default.whiteList.span.push('style', 'rel', 'class', 'data-title');\n};\n\nvar initialVex = exports.initialVex = function initialVex() {\n\t/**\n * vex dialog\n */\n\t_vex2.default.defaultOptions.className = 'vex-theme-default';\n};\n\nexports.default = 'INITIAL';\n\n/***/ }),\n\n/***/ \"GIa+\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getReferralToken = exports.startDecrypting = undefined;\n\nvar _cryptoJs = __webpack_require__(\"Av7u\");\n\nvar _cryptoJs2 = _interopRequireDefault(_cryptoJs);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _getDat = __webpack_require__(\"ibQ7\");\n\nvar _getDat2 = _interopRequireDefault(_getDat);\n\nvar _encrypt = __webpack_require__(\"rQzI\");\n\nvar _encrypt2 = _interopRequireDefault(_encrypt);\n\nvar _saveLog = __webpack_require__(\"jaSl\");\n\nvar _saveLog2 = _interopRequireDefault(_saveLog);\n\nvar _checkShortenData = __webpack_require__(\"hlcs\");\n\nvar _checkShortenData2 = _interopRequireDefault(_checkShortenData);\n\nvar _getShortenData = __webpack_require__(\"ENm7\");\n\nvar _getShortenData2 = _interopRequireDefault(_getShortenData);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/* -------------------------------------\n ------------- Validate --------------\n------------------------------------- */\n/**\n * use hash and IV to decrypt\n */\nvar decryptFile = function () {\n\tvar _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(content, hash, iv) {\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(function () {\n\t\t\t\t\t\t\t\t/**\n * start to decrypt\n */\n\t\t\t\t\t\t\t\tvar cipherParams = _cryptoJs2.default.lib.CipherParams.create({\n\t\t\t\t\t\t\t\t\tciphertext: _cryptoJs2.default.enc.Base64.parse(content)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tvar decrypted = _cryptoJs2.default.AES.decrypt(cipherParams, _cryptoJs2.default.enc.Utf8.parse(hash), {\n\t\t\t\t\t\t\t\t\tiv: _cryptoJs2.default.enc.Utf8.parse(iv)\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t/**\n * decrypt is completed\n */\n\t\t\t\t\t\t\t\tvar referralObject = JSON.parse(decrypted.toString(_cryptoJs2.default.enc.Utf8));\n\n\t\t\t\t\t\t\t\tObject.keys(referralObject.sn).forEach(function (sn) {\n\t\t\t\t\t\t\t\t\tif (!referralObject.sn[sn]) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tvar snOrder = (0, _common.findOrderBySN)(parseInt(sn, 10));\n\n\t\t\t\t\t\t\t\t\tif (snOrder !== false) {\n\t\t\t\t\t\t\t\t\t\t/**\n * add the default answer\n */\n\t\t\t\t\t\t\t\t\t\t_appVariable.thisAnswerObj[snOrder]['sbj_' + _appVariable.thisSubjectsObj.find(function (subject) {\n\t\t\t\t\t\t\t\t\t\t\treturn subject.sn.toString() === sn;\n\t\t\t\t\t\t\t\t\t\t}).ID].push(referralObject.sn[sn]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t/**\n * check ssn query and draw UI\n */\n\t\t\t\t\t\t\t\t(0, _initial.renderSurveyUI)();\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t(0, _initial.notfoundUI)();\n\t\t\t\t\t\t}\n\n\t\t\t\t\tcase 1:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined);\n\t}));\n\n\treturn function decryptFile(_x, _x2, _x3) {\n\t\treturn _ref.apply(this, arguments);\n\t};\n}();\n\n/**\n * a `HEAD` type request to s3 public bucket to check whether exists\n */\nvar startDecrypting = exports.startDecrypting = function () {\n\tvar _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(svid, token, hashKey, ivKey) {\n\t\tvar _ref3, status, data, res, json, text;\n\n\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!(token.length === 32)) {\n\t\t\t\t\t\t\t_context2.next = 16;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context2.prev = 1;\n\t\t\t\t\t\t_context2.next = 4;\n\t\t\t\t\t\treturn (0, _encrypt2.default)(svid, token);\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\t_ref3 = _context2.sent;\n\t\t\t\t\t\tstatus = _ref3.status;\n\t\t\t\t\t\tdata = _ref3.data;\n\n\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\t_context2.next = 9;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthrow new Error();\n\n\t\t\t\t\tcase 9:\n\n\t\t\t\t\t\tdecryptFile(data.enc, hashKey, ivKey);\n\t\t\t\t\t\t_context2.next = 15;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 12:\n\t\t\t\t\t\t_context2.prev = 12;\n\t\t\t\t\t\t_context2.t0 = _context2['catch'](1);\n\n\t\t\t\t\t\t(0, _initial.notfoundUI)();\n\n\t\t\t\t\tcase 15:\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 16:\n\t\t\t\t\t\t_context2.next = 18;\n\t\t\t\t\t\treturn (0, _checkShortenData2.default)(token);\n\n\t\t\t\t\tcase 18:\n\t\t\t\t\t\tres = _context2.sent;\n\n\t\t\t\t\t\tif (!(res.status === 200)) {\n\t\t\t\t\t\t\t_context2.next = 31;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context2.prev = 20;\n\t\t\t\t\t\t_context2.next = 23;\n\t\t\t\t\t\treturn (0, _getShortenData2.default)(token);\n\n\t\t\t\t\tcase 23:\n\t\t\t\t\t\tjson = _context2.sent;\n\n\n\t\t\t\t\t\tdecryptFile(json.enc, hashKey, ivKey);\n\t\t\t\t\t\t_context2.next = 30;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 27:\n\t\t\t\t\t\t_context2.prev = 27;\n\t\t\t\t\t\t_context2.t1 = _context2['catch'](20);\n\n\t\t\t\t\t\t/**\n * it shouldn't happen\n */\n\t\t\t\t\t\t(0, _initial.notfoundUI)();\n\n\t\t\t\t\tcase 30:\n\t\t\t\t\t\treturn _context2.abrupt('return');\n\n\t\t\t\t\tcase 31:\n\t\t\t\t\t\t_context2.prev = 31;\n\t\t\t\t\t\t_context2.next = 34;\n\t\t\t\t\t\treturn (0, _getDat2.default)(token);\n\n\t\t\t\t\tcase 34:\n\t\t\t\t\t\ttext = _context2.sent;\n\n\n\t\t\t\t\t\tdecryptFile(text, hashKey, ivKey);\n\t\t\t\t\t\t_context2.next = 41;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\t_context2.prev = 38;\n\t\t\t\t\t\t_context2.t2 = _context2['catch'](31);\n\n\t\t\t\t\t\t(0, _initial.notfoundUI)();\n\n\t\t\t\t\tcase 41:\n\n\t\t\t\t\t\t/**\n * record usage\n */\n\t\t\t\t\t\t(0, _saveLog2.default)(svid, token);\n\n\t\t\t\t\tcase 42:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee2, undefined, [[1, 12], [20, 27], [31, 38]]);\n\t}));\n\n\treturn function startDecrypting(_x4, _x5, _x6, _x7) {\n\t\treturn _ref2.apply(this, arguments);\n\t};\n}();\n\n/**\n * check whether the url contains referral token and return it\n */\nvar getReferralToken = exports.getReferralToken = function getReferralToken(array) {\n\tif (array.indexOf('f') === -1 || !array[array.indexOf('f') + 1]) {\n\t\treturn false;\n\t}\n\n\treturn array[array.indexOf('f') + 1];\n};\n\nexports.default = 'REFERRAL';\n\n/***/ }),\n\n/***/ \"JU/o\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQEAIAAACwqkHPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAH1JREFUSMftz6ERxCAQQNE/uHgGEYlMA+mDPrA0komnm+g0w7KAuCpu7sSqpx/jGte4HAAYhmEY34bWWmsN2WWX3ZFIJOSRRx760Y9+0GuvvaJBgwb01ltvhh9+eEehUJhMJo5MJjPf+c6XFVdc0XFycjo2Nra/SBuGYfyQD7ndOR6ic9cSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"LuCd\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkAQMAAADOquA5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZQTFRFAAAA////pdmf3QAAAAFiS0dEAf8CLd4AAAAPSURBVCjPY2AYBaOA+gAAAlgAAXU2hncAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzQ6MDMtMDg6MDA2/sHoAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwR6N5VAAAAABJRU5ErkJggg==\"\n\n/***/ }),\n\n/***/ \"MAgY\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getData = function getData(viewStatus, surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.fileDomain + '/' + (viewStatus === 'public' ? 'json' : 'json_p') + '/' + surveyId + '.json', {\n\t\tcache: 'no-cache'\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getData;\n\n/***/ }),\n\n/***/ \"MeAu\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQAQMAAABVlpiYAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAANQTFRF////p8QbyAAAAAFiS0dEAIgFHUgAAAAQSURBVCjPY2AYBaNgFOACAAMgAAHOjxDEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"N80U\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar isCdnImage = function isCdnImage(url) {\n\treturn url.startsWith(_appConfig.imageDomain);\n};\nvar replaceToBucketImage = function replaceToBucketImage(url) {\n\treturn url.replace(_appConfig.imageDomain, _appConfig.fileDomain);\n};\n\nvar imageLoader = function imageLoader(url, _ref) {\n\tvar onload = _ref.onload,\n\t onerror = _ref.onerror,\n\t onreplace = _ref.onreplace;\n\n\tvar image = new Image();\n\n\tvar errorFunction = function errorFunction() {\n\t\tif (isCdnImage) {\n\t\t\tif (!onreplace) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonreplace(imageLoader(replaceToBucketImage(url), { onload: onload, onerror: onerror }));\n\t\t\treturn;\n\t\t}\n\n\t\tif (!onerror) {\n\t\t\treturn;\n\t\t}\n\n\t\tonerror(image);\n\t};\n\n\timage.onerror = errorFunction;\n\timage.onabort = errorFunction;\n\n\timage.onload = function () {\n\t\tif (!onload) {\n\t\t\treturn;\n\t\t}\n\n\t\tonload(image);\n\t};\n\n\timage.src = url;\n\treturn image;\n};\n\nexports.default = imageLoader;\n\n/***/ }),\n\n/***/ \"NAr+\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getReportToken = function getReportToken(surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/survey/report/token?svid=' + surveyId).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getReportToken;\n\n/***/ }),\n\n/***/ \"OIZz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.interActionCleanOpt = exports.handleMutipleLists = exports.handleInteractionList = exports.interActionCleanSbj = exports.makeInteractionObj = exports.interActionObj = exports.moveActionFromTemp = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _array = __webpack_require__(\"u2OS\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _optionFromAction = __webpack_require__(\"iHsC\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n ------------ Interaction ------------\n------------------------------------- */\nvar moveActionFromTemp = exports.moveActionFromTemp = function moveActionFromTemp(scope) {\n\tif (scope === 'optfromAction') {\n\t\tif (_appVariable.variable.optfromActionList.length === 0) {\n\t\t\tif (_appVariable.variable.tempOptfromActionList.length) {\n\t\t\t\t_appVariable.variable.tempOptfromActionList.forEach(function (element) {\n\t\t\t\t\t_appVariable.variable.optfromActionList.push(element);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t_appVariable.variable.tempOptfromActionList = [];\n\t\t}\n\n\t\treturn;\n\t}\n\n\tif (scope === 'interAction' && _appVariable.variable.interActionList.length === 0) {\n\t\tif (_appVariable.variable.tempInterActionList.length) {\n\t\t\t_appVariable.variable.tempInterActionList.forEach(function (element) {\n\t\t\t\t_appVariable.variable.interActionList.push(element);\n\t\t\t});\n\t\t}\n\n\t\t_appVariable.variable.tempInterActionList = [];\n\t}\n};\n\nvar interActionObj = exports.interActionObj = function interActionObj(orderT, selected, actype) {\n\tthis.orderT = orderT;\n\tthis.conds = selected;\n\tthis.actype = actype;\n};\n\nvar makeInteractionObj = exports.makeInteractionObj = function makeInteractionObj(sbjOrder, theOptObj, isSelected, isTemp) {\n\t/* eslint-disable no-underscore-dangle */\n\tif (_appVariable.thisSubjectsObj[sbjOrder]._doOptAction) {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\tif (theOptObj.linkto) {\n\t\t\tvar thisLinkToArr = theOptObj.linkto;\n\n\t\t\tif (thisLinkToArr.length) {\n\t\t\t\tthisLinkToArr.forEach(function (subjectNumber) {\n\t\t\t\t\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\tif (isTemp) {\n\t\t\t\t\t\t\t_appVariable.variable.tempInterActionList.push(new interActionObj(theOrder, isSelected, 'LINK'));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_appVariable.variable.interActionList.push(new interActionObj(theOrder, isSelected, 'LINK'));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (theOptObj.jumpto) {\n\t\t\tif (theOptObj.jumpto === 65535) {\n\t\t\t\tif (isSelected) {\n\t\t\t\t\t_appVariable.svEndConfig.endByThankyou += 1;\n\t\t\t\t\t(0, _array.arrAddData)(_appVariable.svEndConfig.endByThankyouOpt, theOptObj.ID);\n\t\t\t\t} else {\n\t\t\t\t\t_appVariable.svEndConfig.endByThankyou -= 1;\n\t\t\t\t\t(0, _array.arrDelData)(_appVariable.svEndConfig.endByThankyouOpt, theOptObj.ID);\n\t\t\t\t}\n\t\t\t} else if (theOptObj.jumpto === 65534) {\n\t\t\t\tif (isSelected) {\n\t\t\t\t\t_appVariable.svEndConfig.endByEnded += 1;\n\t\t\t\t\t(0, _array.arrAddData)(_appVariable.svEndConfig.endByEndedOpt, theOptObj.ID);\n\t\t\t\t} else {\n\t\t\t\t\t_appVariable.svEndConfig.endByEnded -= 1;\n\t\t\t\t\t(0, _array.arrDelData)(_appVariable.svEndConfig.endByEndedOpt, theOptObj.ID);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar fromOrder = sbjOrder;\n\t\t\tvar toOrder = (0, _common.findOrderBySN)(theOptObj.jumpto);\n\t\t\tconsole.log(fromOrder);\n\t\t\tconsole.log(toOrder);\n\n\t\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\t\tfor (var k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\t\tif (isTemp) {\n\t\t\t\t\t\t_appVariable.variable.tempInterActionList.push(new interActionObj(k, isSelected, 'JUMP'));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_appVariable.variable.interActionList.push(new interActionObj(k, isSelected, 'JUMP'));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* eslint-disable no-underscore-dangle */\n\tif (_appVariable.thisSubjectsObj[sbjOrder]._doMaxtimesAction && theOptObj.sorryto) {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\tif (isSelected) {\n\t\t\t_appVariable.svEndConfig.endBySorry += 1;\n\t\t\t(0, _array.arrAddData)(_appVariable.svEndConfig.endBySorryOpt, theOptObj.ID);\n\t\t} else {\n\t\t\t_appVariable.svEndConfig.endBySorry -= 1;\n\t\t\t(0, _array.arrDelData)(_appVariable.svEndConfig.endBySorryOpt, theOptObj.ID);\n\t\t}\n\n\t\tvar _fromOrder = sbjOrder;\n\t\tvar _toOrder = (0, _common.findOrderBySN)(theOptObj.sorryto);\n\n\t\tif (_fromOrder !== false && _toOrder !== false) {\n\t\t\tfor (var _k = _fromOrder + 1; _k < _toOrder; _k += 1) {\n\t\t\t\tif (isTemp) {\n\t\t\t\t\t_appVariable.variable.tempInterActionList.push(new interActionObj(_k, isSelected, 'SORRY'));\n\t\t\t\t} else {\n\t\t\t\t\t_appVariable.variable.interActionList.push(new interActionObj(_k, isSelected, 'SORRY'));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar interActionCleanSbj = exports.interActionCleanSbj = function interActionCleanSbj(theOrder) {\n\tif ((0, _main.getAnswerByOrder)(theOrder)) {\n\t\t/**\n * 有答案且需要清空\n */\n\t\t_jquery2.default.each((0, _main.getAnswerByOrder)(theOrder), function (index, ansoptid) {\n\t\t\tvar theOptObj = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(ansoptid),\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t_appVariable.thisSubjectsObj[theOrder].__getOptions());\n\n\t\t\t(0, _optionFromAction.makeOptfromActionObj)(theOrder, theOptObj, false, true);\n\t\t\tmakeInteractionObj(theOrder, theOptObj, false, true);\n\t\t});\n\n\t\t(0, _main.superResetSbj)(_appVariable.thisSubjectsObj[theOrder].sn, _appVariable.thisSubjectsObj[theOrder].ID);\n\t}\n};\n\nvar handleInteractionList = exports.handleInteractionList = function handleInteractionList() {\n\t_appVariable.variable.tempInterActionList = [];\n\n\tvar mapFunction = function mapFunction(theObj) {\n\t\tif (theObj.actype === 'SORRY') {\n\t\t\t/**\n * sorryto\n */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (_appVariable.thisSubjectsObj[theObj.orderT].__getHideBySorryto() === 0) {\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__addHideBySorryto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__minusHideBySorryto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t}\n\t\t} else if (theObj.actype === 'JUMP') {\n\t\t\t/**\n * jumpto\n */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (_appVariable.thisSubjectsObj[theObj.orderT].__getHideByJumpto() === 0) {\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__addHideByJumpto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__minusHideByJumpto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t}\n\t\t} else if (theObj.actype === 'LINK') {\n\t\t\t/**\n * linkto\n */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__addShowByLinkto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t_appVariable.thisSubjectsObj[theObj.orderT].__minusShowByLinkto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (_appVariable.thisSubjectsObj[theObj.orderT].__getShowByLinkto() === 0) {\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\twhile (_appVariable.variable.interActionList.length) {\n\t\t_jquery2.default.map(_appVariable.variable.interActionList, mapFunction);\n\n\t\t_appVariable.variable.interActionList = [];\n\t\tmoveActionFromTemp('interAction');\n\t}\n\n\t_appVariable.variable.interActionList = [];\n\n\tmoveActionFromTemp('optfromAction');\n\tif (_appVariable.variable.optfromActionList.length) {\n\t\t(0, _optionFromAction.handleOptfromActionList)();\n\t}\n};\n\nvar handleMutipleLists = exports.handleMutipleLists = function handleMutipleLists() {\n\tif (_appVariable.variable.optfromActionList.length) {\n\t\t(0, _optionFromAction.handleOptfromActionList)();\n\t\treturn;\n\t}\n\n\tif (_appVariable.variable.interActionList.length) {\n\t\thandleInteractionList();\n\t}\n};\n\nvar interActionCleanOpt = exports.interActionCleanOpt = function interActionCleanOpt(theOrder, optID) {\n\tvar theAnswer = (0, _main.getAnswerByOrder)(theOrder);\n\n\tif (theAnswer && _jquery2.default.inArray(optID, theAnswer) !== -1) {\n\t\t/**\n * 清除單一答案\n */\n\t\t(0, _initial.updateSingleAns)('sbj_' + _appVariable.thisSubjectsObj[theOrder].ID, optID, 'REMOVE');\n\n\t\t/**\n * 處理單一答案連鎖效應\n */\n\t\tvar theOptObj = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(optID),\n\t\t/* eslint-disable no-underscore-dangle */\n\t\t_appVariable.thisSubjectsObj[theOrder].__getOptions());\n\n\t\t(0, _optionFromAction.makeOptfromActionObj)(theOrder, theOptObj, false, true);\n\t\tmakeInteractionObj(theOrder, theOptObj, false, true);\n\n\t\t(0, _optionFromAction.addRedrawList)(_appVariable.thisSubjectsObj[theOrder].sn);\n\t}\n};\n\nexports.default = 'INTERACTION';\n\n/***/ }),\n\n/***/ \"PET6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.ansTagToCrumb = exports.ansTagToUI = exports.getAnstagTXT = exports.UIrefresh = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _ui = __webpack_require__(\"qOui\");\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _brochure = __webpack_require__(\"7a4H\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n -------------- Portrait -------------\n------------------------------------- */\nvar UIrefresh = exports.UIrefresh = function UIrefresh() {\n\tif (_appVariable.variable.fillAnswerMode) {\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.layout === 'PORTRAIT' || _appVariable.pageConfig.mode === 'manual') {\n\t\tconsole.log('/// UIrefresh');\n\n\t\tif (_appVariable.variable.redrawSbjList.length) {\n\t\t\t_appVariable.variable.redrawSbjList.forEach(function (theSN) {\n\t\t\t\t(0, _draw.singleSubjectUI)(theSN);\n\t\t\t});\n\n\t\t\t_appVariable.variable.redrawSbjList = [];\n\t\t}\n\n\t\t_jquery2.default.each(_appVariable.thisSubjectsObj, function (ind, ele) {\n\t\t\t/**\n * 隱藏\n */\n\t\t\tif (ele.invisible === 1) {\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).addClass('invisible');\n\t\t\t} else {\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).removeClass('invisible');\n\t\t\t}\n\n\t\t\t/**\n * showByLinkto\n */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._showByLinkto === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).addClass('hidden');\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t} else if (ele._showByLinkto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).removeClass('hidden');\n\t\t\t}\n\n\t\t\t/**\n * hideByJumpto\n */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideByJumpto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).addClass('ignore-subject');\n\t\t\t} else {\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).removeClass('ignore-subject');\n\t\t\t}\n\n\t\t\t/**\n * hideBySorry\n */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideBySorryto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).addClass('sorry-skip');\n\t\t\t} else {\n\t\t\t\t(0, _jquery2.default)('#' + ele.sn).removeClass('sorry-skip');\n\t\t\t}\n\t\t});\n\t}\n\n\t(0, _ui.resizeLevelW)();\n\n\tif (_appVariable2.default.layout === 'PORTRAIT') {\n\t\t(0, _validate.validateSurvey)('#survey-form', false, true);\n\t\t(0, _validate.validateRemote)();\n\n\t\treturn;\n\t}\n\n\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t(0, _brochure.resetPageConfig)();\n\t}\n};\n\nvar getAnstagTXT = exports.getAnstagTXT = function getAnstagTXT(subjectNumber) {\n\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\tvar ansString = [];\n\n\tif (theOrder !== false) {\n\t\tvar _ret = function () {\n\t\t\tvar theAns = _appVariable.thisAnswerObj[theOrder];\n\t\t\tvar theSbj = _appVariable.thisSubjectsObj[theOrder];\n\n\t\t\tif (_jquery2.default.inArray(theSbj.type, _constant.typingSbjType) !== -1 || _jquery2.default.inArray(theSbj.type, _constant.uxSbjType) !== -1) {\n\t\t\t\tansString.push(theAns['sbj_' + theSbj.ID]);\n\t\t\t} else if (_jquery2.default.inArray(theSbj.type, _constant.clickSbjType) !== -1) {\n\t\t\t\t(function () {\n\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\tvar theOptions = _appVariable.thisSubjectsObj[theOrder].__getOptions();\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t\tif (theOptions) {\n\t\t\t\t\t\t_jquery2.default.each(theAns, function (kk, vv) {\n\t\t\t\t\t\t\tif (kk.search('sbj_') !== -1) {\n\t\t\t\t\t\t\t\t_jquery2.default.each(vv, function (index, optid) {\n\t\t\t\t\t\t\t\t\tvar thisOptionItem = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(optid), theOptions);\n\n\t\t\t\t\t\t\t\t\tansString.push(thisOptionItem.elses === 1 && theAns[optid] ? thisOptionItem.text + '(' + theAns[optid] + ')' : thisOptionItem.text);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t}\n\n\t\t\tif (ansString.length > 0) {\n\t\t\t\treturn {\n\t\t\t\t\tv: ansString.toString()\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tv: ''\n\t\t\t};\n\t\t}();\n\n\t\tif ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n\t}\n\n\treturn '';\n};\n\nvar ansTagToUI = exports.ansTagToUI = function ansTagToUI(sbjSN) {\n\tif (_appVariable2.default.layout !== 'PORTRAIT' && _appVariable.pageConfig.mode !== 'manual') {\n\t\treturn;\n\t}\n\n\tconsole.log('ansTagToUI');\n\tconsole.log('sbjSN is: ' + sbjSN);\n\tconsole.log('getAnstagTXT is: ' + getAnstagTXT(sbjSN));\n\n\t(0, _jquery2.default)('.ansTag[rel=\\'' + sbjSN + '\\']').text(getAnstagTXT(sbjSN));\n};\n\nvar ansTagToCrumb = exports.ansTagToCrumb = function ansTagToCrumb(breadRow) {\n\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\tvar crumbAnsTag = breadRow.find('.ansTag');\n\n\t\tif (crumbAnsTag.length > 0) {\n\t\t\t_jquery2.default.each(crumbAnsTag, function () {\n\t\t\t\tvar theRel = (0, _jquery2.default)(this).attr('rel');\n\n\t\t\t\tif (theRel) {\n\t\t\t\t\t(0, _jquery2.default)(this).text(getAnstagTXT(theRel));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nexports.default = 'PORTRAIT';\n\n/***/ }),\n\n/***/ \"PeCv\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"PlXR\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.svEndConfig = exports.nestConfig = exports.sysAgent = exports.pageConfig = exports.variable = exports.snArr = exports.pageSNArr = exports.thisOptfromMap = exports.thisSubjectsObj = exports.thisAnswerObj = exports.isIniframe = exports.sysLang = exports.urlQueryObject = undefined;\n\nvar _uaParserJs = __webpack_require__(\"GCDA\");\n\nvar _uaParserJs2 = _interopRequireDefault(_uaParserJs);\n\nvar _getQueryObj = __webpack_require__(\"y5ry\");\n\nvar _getQueryObj2 = _interopRequireDefault(_getQueryObj);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar userAgentData = new _uaParserJs2.default();\n\n/**\n * url query in Object type\n */\nvar urlQueryObject = exports.urlQueryObject = (0, _getQueryObj2.default)();\n\n/**\n * wording strings will be put here\n */\nvar sysLang = exports.sysLang = {\n\tready: false,\n\twording: null\n};\n\nvar isIniframe = exports.isIniframe = function () {\n\ttry {\n\t\treturn window.self !== window.top;\n\t} catch (e) {\n\t\treturn true;\n\t}\n}();\n\nvar thisAnswerObj = exports.thisAnswerObj = {};\nvar thisSubjectsObj = exports.thisSubjectsObj = [];\nvar thisOptfromMap = exports.thisOptfromMap = {};\nvar pageSNArr = exports.pageSNArr = [];\nvar snArr = exports.snArr = [];\n\n/**\n * mixed variable object\n */\nvar variable = exports.variable = {\n\twinW: null,\n\trel: null,\n\tvalidator: null,\n\tfillAnswerMode: false,\n\trunTimerInterval: null,\n\tisrunTimer: false,\n\tneedRunTimer: false,\n\ttimeOutTimer: null,\n\tFastClickThread: null,\n\tampInstance: null,\n\tsurveyData: {},\n\tredrawSbjList: [],\n\toptfromActionList: [],\n\ttempOptfromActionList: [],\n\tinterActionList: [],\n\ttempInterActionList: [],\n\tuser: {\n\t\tstatus: false,\n\t\tpro: false\n\t}\n};\n\nvar pageConfig = exports.pageConfig = {\n\tnow: null,\n\tnext: 0,\n\tprev: null,\n\tmode: 'auto',\n\tgroup: []\n};\n\nvar sysAgent = exports.sysAgent = {\n\tisMobile: userAgentData.getDevice().type === 'mobile' || userAgentData.getDevice().type === 'tablet',\n\tisIOS: navigator.userAgent.match(/(iPad|iPhone)/i) !== null,\n\tisFirefox: navigator.userAgent.match(/Firefox/i) !== null,\n\tisIE: navigator.userAgent.match(/MSIE|rv:11.0/i) !== null\n};\n\nvar nestConfig = exports.nestConfig = {\n\tchildEnd: false\n};\n\nvar svEndConfig = exports.svEndConfig = {\n\tsubmitURL: '',\n\tendsopts: null,\n\tansSbjLog: {},\n\tendByThankyouOpt: [],\n\tendByThankyou: 0,\n\tendByEndedOpt: [],\n\tendByEnded: 0,\n\tendBySorryOpt: [],\n\tendBySorry: 0\n};\n\nvar svConfig = {\n\tleaveAlert: false,\n\talreadySetVisit: false,\n\tsurveyId: (0, _common.parseUrlPath)()[1],\n\tviewStatus: \"public\",\n\tfinishedPtg: 0,\n\ttheme: 'surveycake',\n\tlanguage: _appConfig.defaultLanguage,\n\tcan_submit: true,\n\tcan_showError: true,\n\tsvStartTime: null,\n\tsvEndTime: null,\n\tsvDuration: null,\n\tsvDurationPass: true,\n\tsvStatus: null,\n\tnowGetTime: null,\n\tlayout: 'PORTRAIT',\n\tpvMode: 'desktop',\n\tsortMode: 'clickIt',\n\tstartAnswered: false,\n\thasCacheAns: false,\n\tiniPosOrder: null,\n\tiniPosSN: null,\n\tisThemePv: false,\n\tisDirty: false,\n\tremote: false,\n\tuntrack: urlQueryObject.untrack === '1',\n\tpassword: null,\n\tfileUpload: {\n\t\tbinding: false,\n\t\tenable: false,\n\t\texist: false\n\t},\n\tpreviewAnswer: false,\n\treCaptcha: {\n\t\tenable: false,\n\t\ttoken: null\n\t}\n};\n\nexports.default = svConfig;\n\n/***/ }),\n\n/***/ \"Q7Nz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.convertTZString = exports.parseDate = exports.createTimeStamp = undefined;\n\nvar _common = __webpack_require__(\"g5qz\");\n\n/* -------------------------------------\n ------------- Date, Time ------------\n------------------------------------- */\nvar createTimeStamp = exports.createTimeStamp = function createTimeStamp() {\n\treturn new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000;\n};\n\nvar parseDate = exports.parseDate = function parseDate(dateString) {\n\tif (!dateString) {\n\t\treturn false;\n\t}\n\n\tif (/^\\d{4}-\\d{2}-\\d{2}/.test(dateString)) {\n\t\tvar dpa = dateString.split(' ');\n\t\tvar dpd = dpa[0].split('-');\n\t\tvar dpt = /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$/.test(dateString) ? dpa[1].split(':') : ['00', '00', '00'];\n\n\t\treturn new Date(dpd[0], dpd[1] - 1, dpd[2], dpt[0], dpt[1], dpt[2]);\n\t}\n\n\treturn false;\n};\n\nvar convertTZString = exports.convertTZString = function convertTZString(dateObject) {\n\tif (!dateObject) {\n\t\treturn '';\n\t}\n\n\tvar newD = new Date(new Date(dateObject).getTime() + new Date().getTimezoneOffset() / 60 * -1 * 60 * 60 * 1000);\n\n\treturn newD.getFullYear() + '-' + (0, _common.appendLeft)(newD.getMonth() + 1, 2) + '-' + (0, _common.appendLeft)(newD.getDate(), 2) + ' ' + (0, _common.appendLeft)(newD.getHours(), 2) + ':' + (0, _common.appendLeft)(newD.getMinutes(), 2) + ':' + (0, _common.appendLeft)(newD.getSeconds(), 2);\n};\n\nexports.default = 'TIME';\n\n/***/ }),\n\n/***/ \"RmQc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.initialAwsSdk = exports.resetFileUploadUI = exports.createFileUpload = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _time = __webpack_require__(\"Q7Nz\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _main = __webpack_require__(\"xFsn\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar supportTypes = {\n\tdocument: ['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'text/*', 'application/pdf', 'text/csv', 'application/vnd.oasis.opendocument.text', 'application/x-iwork-pages-sffpages'],\n\tslideshow: ['application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-iwork-keynote-sffkey', 'application/vnd.oasis.opendocument.presentation'],\n\tspreadsheet: ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.oasis.opendocument.spreadsheet', 'text/csv', 'application/x-iwork-numbers-sffnumbers'],\n\timage: ['image/*'],\n\tvideo: ['video/*'],\n\taudio: ['audio/*']\n};\n\nvar fileUploader = {\n\ts3: null\n};\n\nvar initialAwsS3 = function initialAwsS3() {\n\twindow.AWS.config.update({\n\t\tregion: _appConfig.fileUploadConfig.region,\n\t\taccessKeyId: _appConfig.fileUploadConfig.key,\n\t\tsecretAccessKey: _appConfig.fileUploadConfig.secret\n\t});\n\n\tvar s3 = new window.AWS.S3({\n\t\tapiVersion: '2006-03-01',\n\t\tparams: {\n\t\t\tBucket: _appConfig.fileUploadConfig.bucket\n\t\t}\n\t});\n\n\treturn s3;\n};\n\nvar initFileUpload = function initFileUpload() {\n\tfileUploader.s3 = initialAwsS3();\n};\n\nvar formatFilename = function formatFilename(filename) {\n\tvar lastIndex = filename.lastIndexOf('.');\n\n\tif (lastIndex < 0) {\n\t\t/**\n * no file extension\n */\n\n\t\treturn filename + '_' + (0, _time.createTimeStamp)();\n\t}\n\n\treturn filename.substring(0, lastIndex) + '_' + (0, _time.createTimeStamp)() + filename.substring(lastIndex);\n};\n\nvar mappingFileTypeInfo = function mappingFileTypeInfo(types) {\n\tif (!types) {\n\t\treturn _appVariable.sysLang.wording.fileupload.types.none;\n\t}\n\n\tvar fileTypeInfo = [];\n\n\ttypes.forEach(function (type) {\n\t\tfileTypeInfo.push(_appVariable.sysLang.wording.fileupload.types[type]);\n\t});\n\n\treturn fileTypeInfo.join(_appVariable.sysLang.wording.fileupload.info.seperator);\n};\n\nvar mappingFileTypeMIME = function mappingFileTypeMIME(types, returnString) {\n\tif (!types) {\n\t\treturn '';\n\t}\n\n\tvar fileTypeInfo = [];\n\n\ttypes.forEach(function (type) {\n\t\tfileTypeInfo = fileTypeInfo.concat(supportTypes[type]);\n\t});\n\n\treturn returnString ? fileTypeInfo.join(',') : fileTypeInfo;\n};\n\nvar validFileType = function validFileType(fileTypes, fileType) {\n\treturn fileTypes.filter(function (type) {\n\t\tvar result = new RegExp('^' + type).test(fileType);\n\t\tconsole.log(new RegExp('^' + type) + ' test ' + fileType + ' is: ' + result);\n\n\t\treturn result;\n\t}).length > 0;\n};\n\nvar onFileError = function onFileError($fileUpload, error) {\n\t$fileUpload.find('.file .name').text('');\n\t$fileUpload.find('.fileupload-input').val('');\n\t$fileUpload.find('input[type=\\'file\\']').val(null);\n\t$fileUpload.removeClass('-uploading -uploaded');\n\n\t$fileUpload.addClass('-onerror');\n\t$fileUpload.find('.fileupload-error').text(error);\n};\n\nvar fileRemove = function fileRemove($fileUpload) {\n\t$fileUpload.find('.file .name').text('');\n\t$fileUpload.find('.fileupload-input').val('');\n\t$fileUpload.find('input[type=\\'file\\']').val(null);\n\t$fileUpload.removeClass('-uploaded');\n\n\tvar parentSubjectId = $fileUpload.parents('.subject-wrapper').attr('data-id');\n\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, null, 'RESET');\n\tconsole.log(_appVariable.thisAnswerObj);\n};\n\nvar fileUpload = function fileUpload(file, fileName, $fileUpload) {\n\tif (!fileUploader.s3) {\n\t\tinitFileUpload();\n\t}\n\n\tfileUploader.s3.upload({\n\t\tBody: file,\n\t\tKey: '' + _appConfig.fileUploadConfig.folder + fileName,\n\t\tACL: 'bucket-owner-full-control'\n\t}).on('httpUploadProgress', function (evt) {\n\t\tvar percentage = parseInt(evt.loaded * 100 / evt.total, 10);\n\t\t$fileUpload.addClass('-uploading');\n\t\t$fileUpload.find('.percentage').text(percentage + ' %');\n\t\t$fileUpload.find('.base .bar').css({\n\t\t\twidth: percentage + '%'\n\t\t});\n\t}).send(function (err, data) {\n\t\t$fileUpload.removeClass('-uploading');\n\n\t\tif (err) {\n\t\t\tconsole.log('There was an error: ', err.message);\n\n\t\t\tonFileError($fileUpload, _appVariable.sysLang.wording.fileupload.error.uploadFailed);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log(data);\n\t\tvar parentSubjectId = $fileUpload.parents('.subject-wrapper').attr('data-id');\n\t\tvar parentSubjectSn = parseInt($fileUpload.parents('.subject-wrapper').attr('id'), 10);\n\t\tvar uploadedFile = (data.key || data.Key).replace('temp/', '');\n\n\t\t$fileUpload.find('.file .name').text(uploadedFile);\n\t\t$fileUpload.find('.fileupload-input').val(uploadedFile);\n\t\t$fileUpload.addClass('-uploaded');\n\n\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, uploadedFile, 'WRITE');\n\t\t(0, _main.portraitProgressCount)(parentSubjectSn);\n\t\tconsole.log(_appVariable.thisAnswerObj);\n\t});\n};\n\nvar clickUploadAtPreview = function clickUploadAtPreview() {\n\t_vex2.default.dialog.alert({\n\t\tmessage: _appVariable.sysLang.wording.fileupload.error.preview\n\t});\n};\n\nvar createFileUpload = exports.createFileUpload = function createFileUpload($subjectDom, subjectData) {\n\tvar newFileUpload = (0, _jquery2.default)('.fileupload-container-temp').clone().removeClass('fileupload-container-temp');\n\n\t/**\n * make information string\n */\n\tvar limitString = subjectData.upperbounds !== null ? _appVariable.sysLang.wording.fileupload.info.size.replace('_{{filesize}}_', '' + subjectData.upperbounds) : '';\n\n\tvar typeString = subjectData.extras.file_type && subjectData.extras.file_type.length > 0 ? _appVariable.sysLang.wording.fileupload.info.type.replace('_{{filetype}}_', mappingFileTypeInfo(subjectData.extras.file_type)) : '';\n\n\tvar infoString = limitString + ' ' + typeString;\n\n\tif (subjectData.extras.file_type && subjectData.extras.file_type.length > 0) {\n\t\tnewFileUpload.find('input[type=\\'file\\']').attr('accept', mappingFileTypeMIME(subjectData.extras.file_type, true));\n\t}\n\n\t/**\n * bind event\n */\n\tif (_appVariable2.default.viewStatus === 'preview') {\n\t\tonFileError(newFileUpload, _appVariable.sysLang.wording.fileupload.hint.preview);\n\n\t\tnewFileUpload.find('.upload-button').on('click', function () {\n\t\t\tclickUploadAtPreview();\n\t\t});\n\t} else if (!_appVariable2.default.fileUpload.binding || !_appVariable.variable.user.pro) {\n\t\tnewFileUpload.find('.upload-button').addClass('-disabled');\n\n\t\tonFileError(newFileUpload, _appVariable.sysLang.wording.fileupload.error.disabled);\n\t} else if (!_appVariable2.default.fileUpload.enable) {\n\t\tnewFileUpload.find('.upload-button').addClass('-disabled');\n\n\t\tonFileError(newFileUpload, _appVariable.sysLang.wording.fileupload.error.fulled);\n\t} else {\n\t\tnewFileUpload.find('.upload-button').on('click', function () {\n\t\t\tnewFileUpload.find('input[type=\\'file\\']').trigger('click');\n\t\t});\n\t}\n\n\tnewFileUpload.find('input[type=\\'file\\']').on('change', function (event) {\n\t\tnewFileUpload.removeClass('-onerror -uploading');\n\n\t\t/**\n * caculate file size in MB\n */\n\t\tvar file = event.target.files[0];\n\t\tvar fileSize = file.size / 1000000;\n\t\tvar fileName = formatFilename(file.name);\n\t\tvar fileType = file.type;\n\n\t\tconsole.log('fileType: ' + fileType);\n\n\t\tif (subjectData.upperbounds && fileSize > subjectData.upperbounds) {\n\t\t\tonFileError(newFileUpload, _appVariable.sysLang.wording.fileupload.error.filesize.replace('_{{filesize}}_', '' + subjectData.upperbounds));\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (subjectData.extras.file_type && subjectData.extras.file_type.length > 0 && !validFileType(mappingFileTypeMIME(subjectData.extras.file_type), fileType)) {\n\t\t\tonFileError(newFileUpload, _appVariable.sysLang.wording.fileupload.error.filetype.replace('_{{filetype}}_', mappingFileTypeInfo(subjectData.extras.file_type)));\n\n\t\t\treturn;\n\t\t}\n\n\t\tfileUpload(file, fileName, newFileUpload);\n\t});\n\n\tnewFileUpload.find('.filepool .file .remove').on('click', function () {\n\t\tfileRemove(newFileUpload);\n\t});\n\n\tnewFileUpload.find('.input-wrapper input').attr('name', 'sbj_' + subjectData.ID + '[]');\n\t$subjectDom.find('.subject-info').html(infoString);\n\t$subjectDom.find('.subject-answer').append(newFileUpload);\n};\n\nvar resetFileUploadUI = exports.resetFileUploadUI = function resetFileUploadUI($subjectDom) {\n\tfileRemove($subjectDom.find('.fileupload-container'));\n};\n\nvar initialAwsSdk = exports.initialAwsSdk = function initialAwsSdk() {\n\t(0, _common.loadExtraFile)('https://sdk.amazonaws.com/js/aws-sdk-2.333.0.min.js', 'js', function () {\n\t\tinitFileUpload();\n\t});\n};\n\nexports.default = 'File Upload';\n\n/***/ }),\n\n/***/ \"SXwv\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQEAIAAACwqkHPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAJpJREFUSMftzz8LAQEYB+Df+7NIJl2UrijLzXZfwFdgNV9ZbcwWn+VGsxKd0aSroxTFdLk/3cunEMM7PfMD3WVZPCMAAIZhGMa3QVkmSRhSquLJhmhgxDXhYMIH0RKfHej4dThGRFsWlTl0lUYnh3BlyQC6zZ7xEHrOp5c9tMjvV5fSFJ9dvHtFcEuJOgb0CKKG/l+kDcMwfsgHGv4yVUVcuIEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzQ6MDMtMDg6MDA2/sHoAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwR6N5VAAAAABJRU5ErkJggg==\"\n\n/***/ }),\n\n/***/ \"Tg2x\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,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\"\n\n/***/ }),\n\n/***/ \"TsNe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getCache = function getCache(surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/ans/cache/get?svid=' + surveyId).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getCache;\n\n/***/ }),\n\n/***/ \"U6Vj\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"sorry.c55e52edcf4ee.jpg\";\n\n/***/ }),\n\n/***/ \"U7Nq\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getMasterSubjects = function getMasterSubjects(surveyId, masterhash, password) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/survey/subjects?svid=' + surveyId + (masterhash ? '&masterid=' + masterhash : '') + (password ? '&password=' + password : '')).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getMasterSubjects;\n\n/***/ }),\n\n/***/ \"UsmG\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoEAIAAABTDPN5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAANFJREFUaN7t2LsNRSEMA9D7GYBFGI2WTZiMTRgA6RahQQJBXvGk2LhKE1mn9R1zzDFfk5RUUkmXMi644IL26z+9Dw91CkalDsDY1A7MQJW8vvrqKwNV8mgf7FKlVwG2TpV7C4xB3QIjURdgPOoUjEodgLGpHZiB2sA81AbmoUrvj2CLVLnVYLtUNdg6VQHGoG6BkagLMB51CkalDsDY1A7MQJWcTQuXejYtdOoWGIm6AONRp2BU6gCMTe3ADNQG5qE2MA/1bFroVDXYOlUBxqBKPlHk4g6bPGauAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"W/pu\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.putCsrfTokenToCookie = undefined;\n\nvar _jsCookie = __webpack_require__(\"lbHh\");\n\nvar _jsCookie2 = _interopRequireDefault(_jsCookie);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar putCsrfTokenToCookie = exports.putCsrfTokenToCookie = function putCsrfTokenToCookie() {\n\tvar token = (0, _common.randomHash)();\n\n\t_jsCookie2.default.set('csrftoken', token, {\n\t\texpires: 7,\n\t\tsecure: \"DEMO\" !== 'DEV',\n\t\tpath: '/'\n\t});\n\n\treturn token;\n};\n\nvar getCsrfTokenFromCookie = function getCsrfTokenFromCookie() {\n\tif (!_jsCookie2.default.get('csrftoken')) {\n\t\treturn putCsrfTokenToCookie();\n\t}\n\n\treturn _jsCookie2.default.get('csrftoken');\n};\n\nexports.default = getCsrfTokenFromCookie;\n\n/***/ }),\n\n/***/ \"W6xV\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getCount = function getCount(surveyId, subjectId, type, query) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/ans/count?svid=' + surveyId + '&sbjid=' + subjectId + (type === 'optid' || type === 'vtext' ? '&' + type + '=' + query : '')).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getCount;\n\n/***/ }),\n\n/***/ \"Wvk5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar replaceWording = function replaceWording(wordingObject) {\n\tvar wordingTags = (0, _jquery2.default)('[sltkey]');\n\n\tif (wordingTags.length === 0) {\n\t\treturn;\n\t}\n\n\t_jquery2.default.each(wordingTags, function (index, value) {\n\t\tvar wordingKey = (0, _jquery2.default)(value).attr('sltkey');\n\t\tvar wordingString = void 0;\n\n\t\tif (wordingKey.indexOf('.') !== -1) {\n\t\t\tvar keyArray = wordingKey.split('.');\n\t\t\twordingString = wordingObject[keyArray[0]];\n\n\t\t\tvar j = 1;\n\t\t\twhile (j < keyArray.length) {\n\t\t\t\twordingString = wordingString ? wordingString[keyArray[j]] : wordingString;\n\t\t\t\tj += 1;\n\t\t\t}\n\t\t} else if (wordingKey.indexOf('+') !== -1) {\n\t\t\tvar _keyArray = wordingKey.split('+');\n\t\t\twordingString = wordingObject[_keyArray[0]];\n\n\t\t\tvar _j = 1;\n\t\t\twhile (_j < _keyArray.length) {\n\t\t\t\twordingString = wordingString + ' ' + wordingObject[_keyArray[_j]];\n\t\t\t\t_j += 1;\n\t\t\t}\n\t\t} else {\n\t\t\twordingString = wordingObject[wordingKey];\n\t\t}\n\n\t\tif (!wordingString) {\n\t\t\tconsole.log('\\u627E\\u4E0D\\u5230\\uFF01' + wordingKey);\n\t\t\treturn;\n\t\t}\n\n\t\tvar theAction = (0, _jquery2.default)(value).attr('sltpos');\n\n\t\tif (theAction) {\n\t\t\t(0, _jquery2.default)(value).attr(theAction, wordingString);\n\t\t\treturn;\n\t\t}\n\n\t\t(0, _jquery2.default)(value).html(wordingString);\n\t});\n};\n\nexports.default = replaceWording;\n\n/***/ }),\n\n/***/ \"XHPL\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getTranslateFile = function getTranslateFile(surveyHash, lang) {\n\treturn (0, _customFetch2.default)(_appConfig.fileDomain + '/json/' + surveyHash + '-' + lang + '.json', {\n\t\tcache: 'no-cache'\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getTranslateFile;\n\n/***/ }),\n\n/***/ \"XPAg\":\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"amazon\": {\n\t\t\"fileuploadBucket\": \"\",\n\t\t\"fileuploadFolder\": \"temp/\",\n\t\t\"fileuploadKey\": \"\",\n\t\t\"fileuploadRegion\": \"\",\n\t\t\"fileuploadSecret\": \"\"\n\t},\n\t\"config\": {\n\t\t\"activeDirectoryAutoLoginEnable\": false,\n\t\t\"adLoginGoogleRecaptchaKey\": \"\",\n\t\t\"amplitude\": \"\",\n\t\t\"amplitudeSurvey\": \"\",\n\t\t\"backstageThirdPartyAuthTokenUrl\": \"\",\n\t\t\"defaultLanguage\": \"tw\",\n\t\t\"enableAdLoginGoogleRecaptcha\": false,\n\t\t\"enableDefaultThankYouMessage\": true,\n\t\t\"enableLogoLink\": true,\n\t\t\"enableThirdPartyLogin\": false,\n\t\t\"externalNetDisabled\": false,\n\t\t\"facebookAppVersion\": \"v6.0\",\n\t\t\"fileuploadEnable\": true,\n\t\t\"ga\": \"\",\n\t\t\"googleRecaptchaKey\": \"6LfZ43cUAAAAAKTRpN6xjp9Fd7nZVDY86nUA-Zmh\",\n\t\t\"gtm\": \"GTM-N5NNP3X\",\n\t\t\"hiddenSubmitEnable\": false,\n\t\t\"languageWhitelist\": [\n\t\t\t\"en\",\n\t\t\t\"tw\"\n\t\t],\n\t\t\"remoteBucket\": \"https://cathaybksurveycake.blob.core.windows.net/abs\",\n\t\t\"remoteCdn\": \"\",\n\t\t\"surveyLoginFacebookAppId\": \"\",\n\t\t\"surveyLoginFacebookAppSecret\": \"\",\n\t\t\"surveyLoginType\": \"\",\n\t\t\"tempAnswerEnable\": false,\n\t\t\"userLoginEnable\": false\n\t},\n\t\"server\": {\n\t\t\"api\": \"https://survey.cathaybk.com.tw\",\n\t\t\"apiPath\": \"/api\",\n\t\t\"main\": \"https://survey.cathaybk.com.tw\",\n\t\t\"shortUrlPrefix\": \"https://s3-us-west-2.amazonaws.com/shorten.surveycake/u\"\n\t},\n\t\"website\": \"https://survey.cathaybk.com.tw\"\n};\n\n/***/ }),\n\n/***/ \"XTTP\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.showLogo = exports.hideLogo = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hideLogo = exports.hideLogo = function hideLogo() {\n\t/**\n * wowprime request do not show logo at survey form page\n *\n * They afraid user accidentally click to logo will leave the form.\n */\n\t(0, _jquery2.default)('#footer-logo .surveycake-logo').hide();\n};\n\nvar showLogo = exports.showLogo = function showLogo() {\n\t/**\n * show logo after user submit the form\n */\n\t(0, _jquery2.default)('#footer-logo .surveycake-logo').show();\n};\n\nexports.default = 'This is enterprise-wowprime';\n\n/***/ }),\n\n/***/ \"Xgta\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createVisit = function createVisit(surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/visit/create?svid=' + surveyId).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = createVisit;\n\n/***/ }),\n\n/***/ \"ZlWK\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar storeCache = function storeCache(surveyId, ansjosnData) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/ans/cache/store', {\n\t\tmethod: 'POST',\n\t\tbody: function () {\n\t\t\tvar body = new FormData();\n\t\t\tbody.append('svid', surveyId);\n\t\t\tbody.append('ansjson', ansjosnData);\n\n\t\t\treturn body;\n\t\t}()\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = storeCache;\n\n/***/ }),\n\n/***/ \"aErk\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"error.d5d84bc9b2779.png\";\n\n/***/ }),\n\n/***/ \"aUBU\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getWording = function getWording(language) {\n\treturn (0, _customFetch2.default)(_appConfig.assetsDomain + '/wording/' + language + '/s.json', {\n\t\tcache: 'no-cache'\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getWording;\n\n/***/ }),\n\n/***/ \"c+17\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"ended.c55e52edcf4ee.jpg\";\n\n/***/ }),\n\n/***/ \"cPV7\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkEAIAAACY3hF0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAKdJREFUKM/l0K0NhEAQBtCPqWENEgSGCggl0ActUMsKGsCQUMISJK3sAPuLmivjLjn1/MPbvu3bEgAAfwODwchHPvJBWLBgQS5zmUukLW1pQ+pTn3rEPe5xRxziEAcEE0wwCF3oQge/+tWv8I1vfAM3u9nNcMopp0hGGWXEQw89RDLJJBPu4i7ugkSLFo2rvuqrBp988knQ0NDgiiuuYK211n576cf5AI0UYXIiM1WSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"d/4Q\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar deleteCache = function deleteCache(surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/ans/cache/del', {\n\t\tmethod: 'POST',\n\t\tbody: function () {\n\t\t\tvar body = new FormData();\n\t\t\tbody.append('svid', surveyId);\n\n\t\t\treturn body;\n\t\t}()\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = deleteCache;\n\n/***/ }),\n\n/***/ \"desC\":\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"pages\": {\n\t\t\"index\": {\n\t\t\t\"entry\": \"index\"\n\t\t},\n\t\t\"ending\": {\n\t\t\t\"entry\": \"ending\"\n\t\t}\n\t},\n\t\"port\": {\n\t\t\"webpackServer\": 3000,\n\t\t\"analyzerServer\": 3001,\n\t\t\"browserSyncServer\": 8080,\n\t\t\"apiProxyServer\": 9000,\n\t\t\"assetsProxyServer\": 9001\n\t},\n\t\"devDefaultSurvey\": \"Jkm3j\"\n};\n\n/***/ }),\n\n/***/ \"driR\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"eMQS\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoEAIAAABTDPN5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAOBJREFUaN7t2DEKAjEQRuHNNl5AkC3FysLDeRKvs50nEWvBWrCz+KtAxmQEi3nJq9Jkh6/bTLoeT6/dfjJ6X56Hx31ytjlvb/Y3W/rf3LkfqgmmUgtgNjUD90BVaV2XxX8tIlXN3gtxqZrrAEen6twEZlCbwCRqBcyjmmAqtQBmUzNwD1SVvr+WSFTl/vGIS9XcH8ERqTq7wXGpbnB0qgPMoDaBSdQKmEc1wVRqAcymZuAeqGrstLjUsdOiU5vAJGoFzKOaYCq1AGZTM3APVDV2Wlzq2GnRqW5wdKoDzKCqD7J/3mi0cI+eAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"f5AH\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"notfound.654a743f94228.png\";\n\n/***/ }),\n\n/***/ \"g5qz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.toggleWebkitScroll = exports.stripHtmlTags = exports.randomHash = exports.runTimer = exports.receiveLoginMessage = exports.findOptionObjectById = exports.findOrderByKey = exports.findOrderBySN = exports.findPageNumberBySN = exports.separateOptionIdFromText = exports.objectSize = exports.numberToABC = exports.reviseImgUrl = exports.setLeavePageJS = exports.loadExtraFile = exports.overflowBody = exports.scrollToEle = exports.appendLeft = exports.parseUrlPath = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _time = __webpack_require__(\"Q7Nz\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * parse url path to array\n */\nvar parseUrlPath = exports.parseUrlPath = function parseUrlPath() {\n\treturn window.location.pathname.substr(1).split('/');\n};\n\nvar appendLeft = exports.appendLeft = function appendLeft(source, minLength, append) {\n\treturn source.toString().length >= minLength ? source : '' + (append || '0').repeat(minLength - source.toString().length) + source;\n};\n\nvar getPositionInScrollview = function getPositionInScrollview(element) {\n\treturn {\n\t\ttop: element.offsetTop + (element.offsetParent ? element.offsetParent.offsetTop : 0)\n\t};\n};\n\nvar scrollToEle = exports.scrollToEle = function scrollToEle($element, animate, positionY) {\n\tif ($element.length) {\n\t\tvar $scrollContainer = (0, _jquery2.default)('html, body');\n\n\t\tvar nextPositionY = positionY;\n\t\tif (!nextPositionY) {\n\t\t\t/**\n * 自己的位置\n */\n\t\t\tnextPositionY = getPositionInScrollview($element[0]).top - 20;\n\t\t}\n\n\t\tif (animate) {\n\t\t\t$scrollContainer.animate({\n\t\t\t\tscrollTop: nextPositionY\n\t\t\t}, 200);\n\n\t\t\treturn;\n\t\t}\n\n\t\t$scrollContainer.scrollTop(nextPositionY);\n\t}\n};\n\nvar overflowBody = exports.overflowBody = function overflowBody() {\n\tvar status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\tif (status) {\n\t\t(0, _jquery2.default)('body').addClass('freeze');\n\n\t\treturn;\n\t}\n\n\t(0, _jquery2.default)('body').removeClass('freeze');\n};\n\nvar createExtraFileTag = function createExtraFileTag(filename, filetype) {\n\tif (filetype !== 'js' && filetype !== 'css') {\n\t\treturn false;\n\t}\n\n\tif (filetype === 'js') {\n\t\t/**\n * if filename is a external JavaScript file\n */\n\t\tvar _tag = document.createElement('script');\n\t\t_tag.setAttribute('type', 'text/javascript');\n\t\t_tag.setAttribute('src', filename + '?time=' + (0, _time.createTimeStamp)());\n\n\t\treturn _tag;\n\t}\n\n\t/**\n * if filename is an external CSS file\n */\n\tvar tag = document.createElement(\"link\");\n\ttag.setAttribute('rel', 'stylesheet');\n\ttag.setAttribute('type', 'text/css');\n\ttag.setAttribute('href', filename + '?time=' + (0, _time.createTimeStamp)());\n\n\treturn tag;\n};\n\nvar loadExtraFile = exports.loadExtraFile = function loadExtraFile(filename, filetype, callback) {\n\tvar fileref = createExtraFileTag(filename, filetype);\n\n\tif (fileref) {\n\t\t(function () {\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(fileref);\n\n\t\t\tvar loadingCompleted = false;\n\t\t\tvar onreadyFunction = function onreadyFunction() {\n\t\t\t\tif (!loadingCompleted && (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete')) {\n\t\t\t\t\tloadingCompleted = true;\n\n\t\t\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tfileref.onload = onreadyFunction;\n\t\t\tfileref.onreadystatechange = onreadyFunction;\n\t\t})();\n\t}\n};\n\nvar setLeavePageJS = exports.setLeavePageJS = function setLeavePageJS() {\n\tconsole.log('///setLeavePageJS');\n\n\tif (_appVariable.sysAgent.isIOS) {\n\t\t(0, _jquery2.default)(window).on('pageshow', function (e) {\n\t\t\tif ((e || window.event).originalEvent.persisted && _appVariable.variable.rel === 'index') {\n\t\t\t\t_appVariable2.default.leaveAlert = false;\n\t\t\t\t(0, _jquery2.default)('body').html('');\n\t\t\t\t(0, _jquery2.default)('body').css('background', 'white');\n\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t});\n\t}\n\n\tvar eventName = _appVariable.sysAgent.isIOS ? 'pagehide' : 'beforeunload';\n\n\t/**\n * show warning string when user leave page\n * should not return everything if you dont want any string\n */\n\n\t/* eslint-disable consistent-return */\n\t(0, _jquery2.default)(window).on(eventName, function () {\n\t\t/* eslint-enable consistent-return */\n\t\tif (_appVariable2.default.leaveAlert && _appVariable2.default.isDirty && _appVariable2.default.viewStatus === 'public' && eventName === 'beforeunload') {\n\t\t\treturn (0, _customize.extPreLeavePage)();\n\t\t}\n\t});\n};\n\n/**\n * compose the entire url\n *\n * Add the file domain if it's a path without domain\n */\nvar reviseImgUrl = exports.reviseImgUrl = function reviseImgUrl(theString) {\n\treturn '' + (theString.search('http') !== -1 || theString.search('https') !== -1 ? '' : _appConfig.imageDomain) + theString;\n};\n\n/**\n * parse number to alphabet-based ordering\n */\nvar numberToABC = exports.numberToABC = function numberToABC(number) {\n\tvar inLowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n\tvar alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\n\tvar alphabetLength = alphabet.length;\n\tvar parseAlphaBet = function parseAlphaBet(index) {\n\t\treturn alphabet[index === 0 ? alphabetLength - 1 : index - 1];\n\t};\n\n\tvar returnString = '';\n\n\tvar quotient = parseInt(number, 10);\n\twhile (quotient !== 0) {\n\t\tvar remainder = quotient % alphabetLength;\n\t\tquotient = parseInt(quotient / alphabetLength, 10);\n\n\t\tif (remainder === 0) {\n\t\t\tquotient -= 1;\n\t\t}\n\n\t\treturnString = '' + parseAlphaBet(remainder) + returnString;\n\t}\n\n\treturn inLowerCase ? returnString.toLowerCase() : returnString;\n};\n\n/**\n * count the size of an object (use `Object.keys`)\n */\nvar objectSize = exports.objectSize = function objectSize(theObject) {\n\treturn (typeof theObject === 'undefined' ? 'undefined' : _typeof(theObject)) === 'object' && Object.keys(theObject).length;\n};\n\n/**\n * get option id number from `data-id` attribute in `opt_{NUMBER}` pattern\n */\nvar separateOptionIdFromText = exports.separateOptionIdFromText = function separateOptionIdFromText(optionIdText) {\n\treturn (/^opt_/i.test(optionIdText) ? parseInt(optionIdText.replace(/^opt_/i, ''), 10) : null\n\t);\n};\n\n/**\n * get the subject existed page number\n */\nvar findPageNumberBySN = exports.findPageNumberBySN = function findPageNumberBySN(subjectNumber) {\n\tif (!_appVariable.pageSNArr.length) {\n\t\treturn false;\n\t}\n\n\t/**\n * if the SN doesn't be found, it will be -1\n */\n\tvar returnOrder = _appVariable.pageSNArr.findIndex(function (value) {\n\t\t/**\n * use `.length` property to make sure it is Array type\n */\n\t\tif ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.length && value.includes(subjectNumber)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (['string', 'number'].includes(typeof value === 'undefined' ? 'undefined' : _typeof(value)) && value === subjectNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t});\n\n\treturn returnOrder > -1 ? returnOrder : false;\n};\n\n/**\n * get the subject ordering in the survey by subject number (string)\n */\nvar findOrderBySN = exports.findOrderBySN = function findOrderBySN(subjectNumberText) {\n\tif (_appVariable.thisSubjectsObj && _appVariable.thisSubjectsObj.length) {\n\t\tif (subjectNumberText === 65535 || subjectNumberText === 65534) {\n\t\t\treturn _appVariable.thisSubjectsObj.length;\n\t\t}\n\n\t\t/**\n * it will be `-1`, if there is no matched value\n */\n\t\tvar ordering = _appVariable.thisSubjectsObj.findIndex(function (_ref) {\n\t\t\tvar sn = _ref.sn;\n\t\t\treturn sn === subjectNumberText;\n\t\t});\n\n\t\treturn ordering > -1 ? ordering : false;\n\t}\n\n\treturn false;\n};\n\n/**\n * get the answer object ordering in `thisAnswerObj` array by keyname, `sbj_{NUMBER}`\n */\nvar findOrderByKey = exports.findOrderByKey = function findOrderByKey(keyname) {\n\tvar returnOrder = false;\n\n\tif (objectSize(_appVariable.thisAnswerObj) > 0) {\n\t\tObject.values(_appVariable.thisAnswerObj).find(function (answerObject, index) {\n\t\t\tif (Object.hasOwnProperty.call(answerObject, keyname)) {\n\t\t\t\treturnOrder = index;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\t}\n\n\treturn returnOrder;\n};\n\n/**\n * find the specific option from an array or `thisSubjectObj` by option id (Number)\n *\n * It returns an empty object by default.\n */\nvar findOptionObjectById = exports.findOptionObjectById = function findOptionObjectById(optionId) {\n\tvar optionArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n\tif (typeof optionId !== 'number') {\n\t\treturn {};\n\t}\n\n\tif (optionArray && optionArray.length) {\n\t\treturn optionArray.find(function (_ref2) {\n\t\t\tvar ID = _ref2.ID;\n\t\t\treturn ID === optionId;\n\t\t}) || {};\n\t}\n\n\tvar returnObj = {};\n\n\t/**\n * find in all survey subjects\n */\n\t_appVariable.thisSubjectsObj.find(function (_ref3) {\n\t\tvar options = _ref3.options;\n\t\treturn options && options.length && options.find(function (option) {\n\t\t\tif (option.ID === optionId) {\n\t\t\t\treturnObj = option;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\t});\n\n\treturn returnObj;\n};\n\nvar receiveLoginMessage = exports.receiveLoginMessage = function receiveLoginMessage(event) {\n\tif (event.origin === _appConfig.serverDomain && event.data === 'login_reload') {\n\t\t_appVariable2.default.leaveAlert = false;\n\n\t\twindow.top.location.reload();\n\t}\n};\n\nvar runTimer = exports.runTimer = function runTimer(timeString) {\n\tvar nowTimer = parseInt(timeString, 10);\n\tvar theParSubject = (0, _jquery2.default)('.runTimerTarget').eq(0).parents('.subject-wrapper');\n\n\t/**\n * 預覽為一秒\n */\n\tif (_appVariable2.default.viewStatus === 'preview') {\n\t\tnowTimer = 1;\n\t}\n\n\ttheParSubject.removeClass('withtimer');\n\ttheParSubject.find('.video-timer-sticker').remove();\n\t(0, _jquery2.default)('.runTimerTarget').remove();\n\n\tvar setTimerArea = (0, _jquery2.default)('#counter-wrapper').find('.count-down-timer');\n\tsetTimerArea.text(nowTimer);\n\n\tif (_appVariable.variable.winW > 1024) {\n\t\t(0, _jquery2.default)('#counter-wrapper').css('margin-right', -400 - (0, _jquery2.default)('#counter-wrapper').width());\n\t}\n\n\t(0, _jquery2.default)('#counter-wrapper').addClass('active');\n\n\t(0, _jquery2.default)('.page-control-wrapper').attr('title', _appVariable.sysLang.wording.str_countdown.replace('_{{sec}}_', nowTimer)).tooltip('fixTitle').tooltip('show');\n\t_appVariable.variable.isrunTimer = true;\n\n\t_appVariable.variable.runTimerInterval = setInterval(function () {\n\t\tif (nowTimer === 0) {\n\t\t\tsetTimerArea.text('');\n\t\t\t(0, _jquery2.default)('#counter-wrapper').removeClass('active');\n\t\t\t(0, _jquery2.default)('.page-control-wrapper').attr('title', '').tooltip('destroy');\n\t\t\t(0, _jquery2.default)('.timer-disabled').removeClass('timer-disabled');\n\t\t\t(0, _jquery2.default)('#submit-wrapper button').removeAttr('disabled');\n\n\t\t\tvar subject = _appVariable.thisSubjectsObj[findOrderBySN(parseInt(theParSubject.attr('id'), 10))];\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tsubject.__setPassTimer();\n\n\t\t\tif (subject.type === 'NEST' && subject.extras.child_sn) {\n\t\t\t\tsubject.extras.child_sn.forEach(function (sn) {\n\t\t\t\t\t_appVariable.thisSubjectsObj[findOrderBySN(parseInt(sn, 10))].__setPassTimer();\n\t\t\t\t});\n\t\t\t}\n\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\tclearInterval(_appVariable.variable.runTimerInterval);\n\n\t\t\t_appVariable.variable.isrunTimer = false;\n\t\t\t_appVariable.variable.needRunTimer = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tnowTimer -= 1;\n\n\t\t(0, _jquery2.default)('.page-control-wrapper').attr('title', _appVariable.sysLang.wording.str_countdown.replace('_{{sec}}_', nowTimer)).tooltip('fixTitle').tooltip('show');\n\t\tsetTimerArea.text(nowTimer);\n\t}, 1000);\n};\n\nvar randomHash = exports.randomHash = function randomHash() {\n\tvar length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 13;\n\treturn (\n\t\t/**\n * sometimes will get incorrect length hash\n */\n\t\t'X'.repeat(length).replace(/X/g, function () {\n\t\t\treturn Math.round(Math.random() * 36).toString(36);\n\t\t}).substring(0, length)\n\t);\n};\n\nvar stripHtmlTags = exports.stripHtmlTags = function stripHtmlTags(string) {\n\tif (!string) {\n\t\treturn '';\n\t}\n\n\treturn string.toString().replace(/<[^>]*>/g, '').trim();\n};\n\nvar toggleWebkitScroll = exports.toggleWebkitScroll = function toggleWebkitScroll() {\n\t(0, _jquery2.default)('body').on('focus', 'input, textarea', function () {\n\t\t(0, _jquery2.default)('body').css('-webkit-overflow-scrolling', 'auto');\n\t});\n\n\t(0, _jquery2.default)('body').on('blur', 'input, textarea', function () {\n\t\t(0, _jquery2.default)('body').css('-webkit-overflow-scrolling', 'touch');\n\t});\n};\n\nexports.default = 'COMMON';\n\n/***/ }),\n\n/***/ \"gTrc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar config = {\n\twhostone: 'enterprise-whostone',\n\twowprime: 'enterprise-wowprime',\n\tstans: 'enterprise-stans',\n\tcrifccis: 'enterprise-crifccis',\n\tkingza: 'enterprise-kingza',\n\tcathaybk: 'enterprise-cathaybk'\n};\n\nvar removeLogoBranches = exports.removeLogoBranches = [config.crifccis, config.kingza];\n\nexports.default = config;\n\n/***/ }),\n\n/***/ \"gc1H\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar throttle = function throttle(fn, delay) {\n\tvar previous = null;\n\n\treturn function () {\n\t\tvar context = this;\n\t\tvar now = +new Date();\n\n\t\tif (!previous || now - previous > delay) {\n\t\t\tfor (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t\t\t\targs[_key] = arguments[_key];\n\t\t\t}\n\n\t\t\tfn.apply(context, args);\n\t\t\tprevious = now;\n\t\t}\n\t};\n};\n\nexports.default = throttle;\n\n/***/ }),\n\n/***/ \"hECh\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,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\"\n\n/***/ }),\n\n/***/ \"hlcs\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar checkShortenData = function checkShortenData(token) {\n\treturn (0, _customFetch2.default)(_appConfig.shortenDomain + '/' + token, {\n\t\tmethod: 'HEAD'\n\t});\n};\n\nexports.default = checkShortenData;\n\n/***/ }),\n\n/***/ \"hmHg\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.extAftSingleSubjectUI = exports.extPreLeavePage = exports.extSubmitHandler = exports.extAftDrawLastPage = exports.extAftShowPage = exports.extPreShowPage = exports.extPreParseSubjectsToUI = exports.extPreIniSbjObj = exports.extAftDrawWelcomePage = exports.extPreDrawSurvey = exports.extPreDoneLoading = exports.extChangeQueryObject = exports.extIniCustomer = exports.extChangeDocumentTitle = exports.getSubjectGroupJson = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _he = __webpack_require__(\"t02m\");\n\nvar _he2 = _interopRequireDefault(_he);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _config = __webpack_require__(\"gTrc\");\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _stans = __webpack_require__(\"0W7T\");\n\nvar _whostone = __webpack_require__(\"5czU\");\n\nvar _wowprime = __webpack_require__(\"XTTP\");\n\nvar _cathaybk = __webpack_require__(\"yriJ\");\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _array = __webpack_require__(\"u2OS\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _getSubjectGroup = __webpack_require__(\"44YP\");\n\nvar _getSubjectGroup2 = _interopRequireDefault(_getSubjectGroup);\n\nvar _thankyou = __webpack_require__(\"0MEj\");\n\nvar _thankyou2 = _interopRequireDefault(_thankyou);\n\nvar _ended = __webpack_require__(\"c+17\");\n\nvar _ended2 = _interopRequireDefault(_ended);\n\nvar _sorry = __webpack_require__(\"U6Vj\");\n\nvar _sorry2 = _interopRequireDefault(_sorry);\n\nvar _timeout = __webpack_require__(\"6aNH\");\n\nvar _timeout2 = _interopRequireDefault(_timeout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar subjectGroupData = void 0;\n\n/*\n * get subject group config\n */\nvar getSubjectGroupJson = exports.getSubjectGroupJson = function getSubjectGroupJson() {\n\tif (!_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\treturn;\n\t}\n\n\t(0, _getSubjectGroup2.default)().then(function (json) {\n\t\tsubjectGroupData = json;\n\t}).catch(function (err) {\n\t\treturn console.log(err);\n\t});\n};\n\n/*\n * merge subject group to survey data\n */\nvar addTemplateIntoSbj = function addTemplateIntoSbj() {\n\tvar templateInsertPos = [];\n\n\tif (_appVariable.variable.surveyData.subjects !== null && _appVariable.variable.surveyData.subjects.length) {\n\t\t_jquery2.default.each(_appVariable.variable.surveyData.subjects, function (sbjkey, sbjval) {\n\t\t\tif (sbjval.type !== null && sbjval.type.indexOf('HOTAITEMP') !== -1) {\n\t\t\t\ttemplateInsertPos.push({\n\t\t\t\t\tPOS: sbjkey,\n\t\t\t\t\tTEMPTYPE: sbjval.type,\n\t\t\t\t\tTrequired: sbjval.required,\n\t\t\t\t\tTmaxtimes: sbjval.maxtimes\n\t\t\t\t});\n\n\t\t\t\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t\t\t\t(0, _whostone.readEachTemplate)(sbjval);\n\t\t\t\t}\n\n\t\t\t\tsbjval.indent = -1;\n\t\t\t\tsbjval.type = 'STATEMENT';\n\t\t\t}\n\t\t});\n\n\t\tif (templateInsertPos.length) {\n\t\t\ttemplateInsertPos.reverse();\n\t\t\t_jquery2.default.each(templateInsertPos, function (index, value) {\n\t\t\t\tvar inserted = subjectGroupData[value.TEMPTYPE];\n\n\t\t\t\t_jquery2.default.each(inserted, function (a, b) {\n\t\t\t\t\tb.required = value.Trequired;\n\t\t\t\t\tb.maxtimes = value.Tmaxtimes;\n\t\t\t\t});\n\n\t\t\t\t(0, _array.arrInsertArr)(_appVariable.variable.surveyData.subjects, value.POS + 1, inserted);\n\t\t\t});\n\t\t}\n\t}\n};\n\nvar extChangeDocumentTitle = exports.extChangeDocumentTitle = function extChangeDocumentTitle() {\n\tif (/^enterprise/.test(_appConfig.branch)) {\n\t\tdocument.title = _he2.default.decode(_appVariable.variable.surveyData.title);\n\n\t\treturn;\n\t}\n\n\tdocument.title = _he2.default.decode(_appVariable.variable.surveyData.title) + ' \\xBB SurveyCake';\n};\n\nvar removeLogo = function removeLogo() {\n\t(0, _jquery2.default)('#footer-logo .surveycake-logo').remove();\n};\n\nvar extIniCustomer = exports.extIniCustomer = function extIniCustomer() {\n\tif (_appConfig.branch === _config2.default.wowprime) {\n\t\t(0, _wowprime.hideLogo)();\n\t}\n\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.addSubjectType)();\n\t} else {\n\t\t_constant.acceptSbjType.push('PROFILE01');\n\t}\n\n\tif (_config.removeLogoBranches.includes(_appConfig.branch)) {\n\t\tremoveLogo();\n\t}\n};\n\nvar extChangeQueryObject = exports.extChangeQueryObject = function extChangeQueryObject() {\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.changeQueryObject)();\n\t}\n};\n\nvar extPreDoneLoading = exports.extPreDoneLoading = function extPreDoneLoading() {\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.autoSaveAnswer)();\n\t}\n};\n\nvar extPreDrawSurvey = exports.extPreDrawSurvey = function extPreDrawSurvey() {\n\t/*\n * login before answer survey\n */\n\tif (_appVariable.variable.surveyData.regneed === 'Y') {\n\t\t(0, _whostone.loginModule)();\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nvar extAftDrawWelcomePage = exports.extAftDrawWelcomePage = function extAftDrawWelcomePage() {\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.changeWelcomePage)();\n\t}\n};\n\nvar extPreIniSbjObj = exports.extPreIniSbjObj = function extPreIniSbjObj() {\n\t/*\n * TODO: move to another function\n */\n\tif (_appConfig.branch === _config2.default.stans) {\n\t\t(0, _stans.changeString)();\n\t}\n\n\taddTemplateIntoSbj();\n};\n\nvar extPreParseSubjectsToUI = exports.extPreParseSubjectsToUI = function extPreParseSubjectsToUI() {\n\tif (_appConfig.branch === _config2.default.stans) {\n\t\t(0, _stans.init)();\n\t}\n\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.init)();\n\n\t\treturn;\n\t}\n\n\t/*\n * whostone will call parseSubjectsToUI by its initial\n */\n\t(0, _draw.parseSubjectsToUI)();\n};\n\nvar extPreShowPage = exports.extPreShowPage = function extPreShowPage() {\n\tif (_appConfig.branch === _config2.default.stans) {\n\t\t(0, _stans.beforeShowPage)();\n\t}\n};\n\nvar extAftShowPage = exports.extAftShowPage = function extAftShowPage() {\n\tif (_appConfig.branch === _config2.default.stans) {\n\t\t(0, _stans.afterShowPage)();\n\t}\n};\n\nvar extAftDrawLastPage = exports.extAftDrawLastPage = function extAftDrawLastPage(ele, pageName) {\n\tif (ele) {\n\t\t/**\n * using default banners\n */\n\t\tif (!_appVariable.variable.surveyData.thankyoubanner) {\n\t\t\t(function () {\n\t\t\t\tvar theBanner = ele.find('.banner');\n\t\t\t\tvar theImage = new Image();\n\t\t\t\tvar errorFunction = function errorFunction() {\n\t\t\t\t\ttheBanner.addClass('_load');\n\t\t\t\t};\n\n\t\t\t\ttheImage.onerror = errorFunction;\n\t\t\t\ttheImage.onabort = errorFunction;\n\n\t\t\t\ttheImage.onload = function () {\n\t\t\t\t\ttheBanner.addClass('_load');\n\t\t\t\t};\n\n\t\t\t\ttheImage.src = {\n\t\t\t\t\tthankyou: _thankyou2.default,\n\t\t\t\t\tended: _ended2.default,\n\t\t\t\t\tsorry: _sorry2.default,\n\t\t\t\t\ttimeout: _timeout2.default\n\t\t\t\t}[pageName];\n\t\t\t\ttheBanner.html(theImage);\n\t\t\t})();\n\t\t}\n\n\t\tif (_appVariable.variable.surveyData.lastbtn !== 'REMOVE' && !_appVariable.variable.surveyData.gotourl) {\n\t\t\tele.find('#survey-close-btn').remove();\n\t\t}\n\n\t\tif (_appConfig.branch === _config2.default.wowprime) {\n\t\t\t(0, _wowprime.showLogo)();\n\t\t}\n\n\t\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t\t(0, _whostone.changeLastPage)(ele, pageName);\n\t\t}\n\n\t\tif (_config.removeLogoBranches.includes(_appConfig.branch)) {\n\t\t\tremoveLogo();\n\t\t}\n\t}\n};\n\nvar extSubmitHandler = exports.extSubmitHandler = function extSubmitHandler() {\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\t(0, _whostone.submitHandler)();\n\t}\n};\n\nvar extPreLeavePage = exports.extPreLeavePage = function extPreLeavePage() {\n\tif (_appConfig.branch.startsWith(_config2.default.whostone)) {\n\t\treturn (0, _whostone.leavePage)();\n\t}\n\n\treturn _appVariable.sysLang.wording.confirm_leave_sv;\n};\n\nvar extAftSingleSubjectUI = exports.extAftSingleSubjectUI = function extAftSingleSubjectUI(element) {\n\tif (_appConfig.branch.startsWith(_config2.default.cathaybk)) {\n\t\t(0, _cathaybk.singleSubjectUI)(element);\n\t}\n};\n\nexports.default = 'Welcome to SurveyCake enterprise';\n\n/***/ }),\n\n/***/ \"iHsC\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.handleOptfromActionList = exports.makeOptfromActionObj = exports.addRedrawList = exports.optfromActionObj = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _interaction = __webpack_require__(\"OIZz\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n --------- Option from action --------\n------------------------------------- */\nvar optfromActionObj = exports.optfromActionObj = function optfromActionObj(orderT, actype, optID) {\n\tthis.orderT = orderT;\n\tthis.actype = actype;\n\tthis.optID = optID;\n};\n\nvar addRedrawList = exports.addRedrawList = function addRedrawList(theSN) {\n\tif (_appVariable2.default.layout === 'BROCHURE' && _jquery2.default.inArray(theSN, _appVariable.pageSNArr[_appVariable.pageConfig.now]) === -1) {\n\t\treturn;\n\t}\n\n\tif (_jquery2.default.inArray(theSN, _appVariable.variable.redrawSbjList) === -1) {\n\t\t_appVariable.variable.redrawSbjList.push(theSN);\n\t}\n};\n\nvar makeOptfromActionObj = exports.makeOptfromActionObj = function makeOptfromActionObj(sbjOrder, theOptObj, isSelected, isTemp) {\n\tif (_appVariable.thisOptfromMap[sbjOrder] && _appVariable.thisOptfromMap[sbjOrder].length) {\n\t\t_appVariable.thisOptfromMap[sbjOrder].forEach(function (subjectNumber) {\n\t\t\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\t\t\tif (theOrder !== false) {\n\t\t\t\tif (isTemp) {\n\t\t\t\t\t_appVariable.variable.tempOptfromActionList.push(new optfromActionObj(theOrder, 'REMOVE', 'opt_' + theOptObj.ID));\n\t\t\t\t} else {\n\t\t\t\t\t_appVariable.variable.optfromActionList.push(new optfromActionObj(theOrder, 'REMOVE', 'opt_' + theOptObj.ID));\n\t\t\t\t}\n\n\t\t\t\taddRedrawList(subjectNumber);\n\t\t\t}\n\t\t});\n\t}\n};\n\nvar handleOptfromActionList = exports.handleOptfromActionList = function handleOptfromActionList() {\n\t_appVariable.variable.tempOptfromActionList = [];\n\n\tvar mapFunction = function mapFunction(theObj) {\n\t\tif (theObj.actype === 'REMOVE') {\n\t\t\t(0, _interaction.interActionCleanOpt)(theObj.orderT, theObj.optID);\n\t\t}\n\t};\n\n\twhile (_appVariable.variable.optfromActionList.length) {\n\t\t_jquery2.default.map(_appVariable.variable.optfromActionList, mapFunction);\n\n\t\t_appVariable.variable.optfromActionList = [];\n\t\t(0, _interaction.moveActionFromTemp)('optfromAction');\n\t}\n\n\t_appVariable.variable.optfromActionList = [];\n\n\t(0, _interaction.moveActionFromTemp)('interAction');\n\tif (_appVariable.variable.interActionList.length) {\n\t\t(0, _interaction.handleInteractionList)();\n\t}\n};\n\nexports.default = 'OPTION_FROM_ACTION';\n\n/***/ }),\n\n/***/ \"iL39\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,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\"\n\n/***/ }),\n\n/***/ \"ibQ7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getDat = function getDat(filename) {\n\treturn (0, _customFetch2.default)(_appConfig.fileDomain + '/referral/' + filename + '.dat').then(function (res) {\n\t\treturn (0, _handleErrorRequest.handleErrorRequestInText)(res);\n\t});\n};\n\nexports.default = getDat;\n\n/***/ }),\n\n/***/ \"jC9G\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _getCsrfTokenFromCookie = __webpack_require__(\"W/pu\");\n\nvar _getCsrfTokenFromCookie2 = _interopRequireDefault(_getCsrfTokenFromCookie);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar postAnswer = function postAnswer(ansData) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/submit', {\n\t\tmethod: 'POST',\n\t\tbody: function () {\n\t\t\tvar body = new FormData();\n\n\t\t\tbody.append('ansobj', JSON.stringify(ansData));\n\t\t\tbody.append('csrftoken', (0, _getCsrfTokenFromCookie2.default)());\n\n\t\t\tif (_appVariable2.default.reCaptcha.enable) {\n\t\t\t\tbody.append('re_captcha', _appVariable2.default.reCaptcha.token);\n\t\t\t}\n\n\t\t\treturn body;\n\t\t}()\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = postAnswer;\n\n/***/ }),\n\n/***/ \"jX96\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,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\"\n\n/***/ }),\n\n/***/ \"jaSl\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * get decrypt Hash & IV\n */\nvar saveLog = function saveLog(svid, token) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/referral/logger', {\n\t\tmethod: 'POST',\n\t\tbody: function () {\n\t\t\tvar body = new FormData();\n\t\t\tbody.append('svid', svid);\n\t\t\tbody.append('filename', token);\n\n\t\t\treturn body;\n\t\t}()\n\t});\n};\n\nexports.default = saveLog;\n\n/***/ }),\n\n/***/ \"lYKq\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkEAIAAACY3hF0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAIZJREFUKM/lkDEKwlAQRB9TWgs2sU3O4h3MIXKIpLT+pEvASvASFh5GEKzNZiw+QW+gYPV4O7MsLPZjc7QA4I9woxW4n5OAPtKHdVFg369pJaCZBoGbGAXUUynwfqoEzrYM66hyVgrYPU/vvaXZxCBwG9tso8D5Ol0UAs7zWuCLD9//0k/jBeblP4lxsnwaAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n/***/ }),\n\n/***/ \"miG6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.stopOtherPlaying = exports.createYoutubeTumbnail = exports.createYoutubePlayer = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n ----------- Video Player ------------\n------------------------------------- */\nvar createYoutubePlayer = exports.createYoutubePlayer = function createYoutubePlayer(id) {\n\tvar autoPlay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\treturn '';\n};\n\nvar createYoutubeTumbnail = exports.createYoutubeTumbnail = function createYoutubeTumbnail(id) {\n\treturn 'https://img.youtube.com/vi/' + id + '/mqdefault.jpg';\n};\n\nvar toggleYoutube = function toggleYoutube(id, state) {\n\tvar youtubeIframe = document.getElementById('youtube-' + id);\n\n\tif (youtubeIframe) {\n\t\tvar youtubeIframeCont = youtubeIframe.contentWindow;\n\n\t\tif (youtubeIframeCont) {\n\t\t\tyoutubeIframeCont.postMessage('{\"event\":\"command\",\"func\":\"' + state + '\",\"args\":\"\"}', '*');\n\t\t}\n\t}\n};\n\nvar stopOtherPlaying = exports.stopOtherPlaying = function stopOtherPlaying(id) {\n\tconsole.log('/// stopOtherPlaying \\u9664\\u4E86 #' + id + ' \\u4EE5\\u5916\\u7684');\n\n\tvar needStopVideoSbj = (0, _jquery2.default)('.withplaying').not('#' + id);\n\n\tif (needStopVideoSbj.length) {\n\t\t_jquery2.default.each(needStopVideoSbj, function () {\n\t\t\t(0, _jquery2.default)(this).removeClass('withplaying');\n\n\t\t\tvar needStopVideo = (0, _jquery2.default)(this).find('.video-iframe');\n\n\t\t\tif (needStopVideo.length) {\n\t\t\t\t_jquery2.default.each(needStopVideo, function () {\n\t\t\t\t\ttoggleYoutube((0, _jquery2.default)(this).parents('.video-block').attr('youtubeid'), 'pauseVideo');\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.default = 'VIDEO_PLAYER';\n\n/***/ }),\n\n/***/ \"nErl\":\n/***/ (function(module, exports) {\n\n/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, {}))\n\n/***/ }),\n\n/***/ \"nJ7o\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.customerWebsite = exports.shortenDomain = exports.fileUploadConfig = exports.imageDomain = exports.fileDomain = exports.branch = exports.defaultLanguage = exports.fileuploadEnable = exports.googleRecaptchaKey = exports.amplitudeKey = exports.gaId = exports.externalNetDisabled = exports.remoteCdn = exports.remoteBucket = exports.serverDomain = exports.assetsDomain = exports.apiVersion = exports.apiDomain = undefined;\n\nvar _project = __webpack_require__(\"XPAg\");\n\nvar _project2 = _interopRequireDefault(_project);\n\nvar _website = __webpack_require__(\"desC\");\n\nvar _website2 = _interopRequireDefault(_website);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar apiDomain = exports.apiDomain = false ? 'http://' + window.location.hostname + ':' + _website2.default.port.apiProxyServer + _project2.default.server.apiPath : '' + _project2.default.server.api + _project2.default.server.apiPath;\n\nvar apiVersion = exports.apiVersion = 'v1';\n\nvar assetsDomain = exports.assetsDomain = false ? 'http://' + window.location.hostname + ':' + _website2.default.port.assetsProxyServer + '/assets' : _project2.default.server.main + '/assets';\n\n/**\n * server domain (include protocol)\n */\nvar serverDomain = exports.serverDomain = _project2.default.server.main;\n\nvar _projectConfig$config = _project2.default.config;\nvar remoteBucket = _projectConfig$config.remoteBucket,\n remoteCdn = _projectConfig$config.remoteCdn,\n externalNetDisabled = _projectConfig$config.externalNetDisabled,\n gaId = _projectConfig$config.ga,\n amplitudeKey = _projectConfig$config.amplitude,\n googleRecaptchaKey = _projectConfig$config.googleRecaptchaKey,\n fileuploadEnable = _projectConfig$config.fileuploadEnable,\n defaultLanguage = _projectConfig$config.defaultLanguage;\n\n/**\n * setup branch from process.env\n */\n\nexports.remoteBucket = remoteBucket;\nexports.remoteCdn = remoteCdn;\nexports.externalNetDisabled = externalNetDisabled;\nexports.gaId = gaId;\nexports.amplitudeKey = amplitudeKey;\nexports.googleRecaptchaKey = googleRecaptchaKey;\nexports.fileuploadEnable = fileuploadEnable;\nexports.defaultLanguage = defaultLanguage;\nvar branch = exports.branch = \"enterprise-cathaybk\" || '';\n\nvar fileDomain = exports.fileDomain = function () {\n\tif (!remoteBucket) {\n\t\treturn false ? 'http://' + window.location.hostname + ':' + _website2.default.port.assetsProxyServer + '/s3' : _project2.default.server.main + '/s3';\n\t}\n\n\treturn remoteBucket;\n}();\n\nvar imageDomain = exports.imageDomain = function () {\n\tif (!remoteBucket) {\n\t\treturn false ? 'http://' + window.location.hostname + ':' + _website2.default.port.assetsProxyServer + '/s3' : _project2.default.server.main + '/s3';\n\t}\n\n\tif (!remoteCdn) {\n\t\treturn remoteBucket;\n\t}\n\n\treturn remoteCdn;\n}();\n\nvar fileUploadConfig = exports.fileUploadConfig = {\n\tkey: _project2.default.amazon.fileuploadKey,\n\tsecret: _project2.default.amazon.fileuploadSecret,\n\tbucket: _project2.default.amazon.fileuploadBucket,\n\tregion: _project2.default.amazon.fileuploadRegion,\n\tfolder: _project2.default.amazon.fileuploadFolder\n};\n\nvar shortenDomain = exports.shortenDomain = 'https://s3-us-west-2.amazonaws.com/shorten.surveycake/u';\n\n/**\n * website url link\n */\nvar customerWebsite = exports.customerWebsite = _project2.default.website;\n\n/**\n * nothing\n */\nexports.default = 'APP_CONFIG';\n\n/***/ }),\n\n/***/ \"ndJn\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar handleErrorRequestInText = exports.handleErrorRequestInText = function handleErrorRequestInText(response) {\n\tif (response.status >= 400 && response.status < 500) {\n\t\treturn response.text().then(function (json) {\n\t\t\treturn Promise.reject(json);\n\t\t});\n\t}\n\n\treturn response.text();\n};\n\nvar handleErrorRequest = function handleErrorRequest(response) {\n\tif (response.status >= 400 && response.status < 500) {\n\t\treturn response.json().then(function (json) {\n\t\t\treturn Promise.reject(json);\n\t\t});\n\t}\n\n\treturn response.json();\n};\n\nexports.default = handleErrorRequest;\n\n/***/ }),\n\n/***/ \"oUAU\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAABGdBTUEAAYagMeiWXwAAAM9QTFRFIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xhfEHmwAAAER0Uk5TAAIBCBSFOVEHBBcqDSIeA5oMDhESGgUWBjwJPjeLJZOfkAoPgHqDNGh2YENmZGty+lgV3EZcjB9MWm4nvFUQICk2SCM3Z35MAAAAAWJLR0QAiAUdSAAADvlJREFUeNrtXQtj1LgRlh972SXeRwmXAg1tCn1dr9feHhzlcoWUMv//N1WSH5qHLK3xxusk+gJJxpIlzeeRNCPJG6USEhJmgAyyUzfhxPrDzBkY3bwMwvpnmAGTeVpCmAWCASWAt4ekm9QMXwEQFUCgAna//XVSk+AWKAnIeHtIOn+CggB+u6xAZM4mZEC0369CIF0yqFjucOm+zFkw01EhLFg2kT9gaSHBJywtINCA6S3AT4poYogAcTcIEwmUzkxw+jHgAD7udBbgXWj6WeDkeOyOUEJCQkJCQsKMceee4In9oExEa8Cd94zfwbOTAD8TFYTWA8SCkC59Uko8DRAEiAw8Ow0XM1EBJyAQXZrSpwyGRPv9LQ4ke1ZUssDtKrIECJaAyZYDpAUrn82SaO2A9YCMlhbqUae2AC+yQIvHrwfIHnLSMSCOhz4LJCQkJCQkJCScDuMc/6hrGi1/dOAxsgCQ26kwIPfo9snjAKJBkdIgfEWqx5JBZqG3Q1+av4JgAzyp4fp9JYQIEumiMKGBrA5YIvQktoyK8tgN0Jd4QP0yXIYYAXIBCMIaxG8PZKEKNrnZmhXNzgsM8ufNETShYAdSPgthjHtuD5tovIYh6kX7uOcMEYTTIyWyxwHRBxKpAJS3zv7UU88Cd3x/fJpMSEhISEhIeKwYfyx1pJuReU6j9xfp80OjW1WR6oc14KAKwvG82Fv1NAClK7w5dYBXZzL3Byfg3d6XjRRF9tfviW+5AqGywftQET8Kb0/K1noOu2dBAiJnw5XXzEIMBPnLPMs9keUHEs624XB7QeydMwsS4bAnGhevbKgDGuBP9TLMSuf3e2yg/3ZBgGiBbB5N510sToC/Ab2P8KBkETD3E+DdW5c79L0PQHQB1kWiXcDfy7PeHILh4OEAmcdjYIoWoMQOfYQANgiyVDEsxVZweP2eZxRO9reih8BDgveIBcjM814POPX7MQkJCQkJCbPG3c7i0lFhr8p67jiuYxEvDoZlH6g/yCs4+vPegVk7aL+cacwzQ68odnbCG1/DAeK0OPUd673JwNvhEVffkwGEwopEn0FCwF/mWAL63++2SYHPB/CtZ9D9atHeUHDQ3gt9tx+dgDbc7CMg84TDsumBeEqm+3angaVCODMckYLM00IR7gI2UQj2YU9pfEEkeGbFSwDvEkcP79ygZhYTRHRG3+/3pDPB1+0xIYKfCCExwseDruiI6JS9MRKJXmOHgGLrD+H1oweIh65fQkJCQsLDRn7PJzKP2wGh7SruDX+N/nPaCvBus1DvK4/uBkLOCg2KSs1qM0QcXVYoXjGq5pCjYIjGdznUFuDyK+8WuCBwLt0GZPTCj9dr/Ul0RgiAmgQSz3IR65vBvAjwbL9LgnImcwLwT+WJ3dC1rOtic+kCB1iAyE9PbNQE9VgAP6/Q0j0b/YWOYgxgObwrNLmzEj4GeA7IzMb8XZuIhH/0DPkof+5XCDy/GUz4WZkDGJB0DHtIfA4MIZshAWMxRP+EhISEhMeFwvgJxYAbco3JWlfqxi3KUI5vIp4bnNWuUp+KBU8uYnwsAZaiAHTHSosr1SPzRPWkAbuhVQnOq6pEzp79nRBi3aK1PP3ciptGww3Rt2sxl8XO1qpJb1udLyHPYZmTBigRTPCztl6hvrD21dgFaVVV5TUYIQtCAGIAbG5X4xkhQBe91ehcaWgtoG+/G5rq3fpCnmUFYAJ2u134DQyFCVARAlaEQFs9uqAJyTAhdQ5KOCWAWQCUgH6YipsxAFADSYvr6hEB2Wr1G0JAluHT314DgF4T5QQY/Z9iAqhJgdYfJEVIYR3IGvRawNaoDuXWrQMU1v47AnKrLtDiXIG6C1xc4C6wM6Oi/t7dUNivryTA6P/k2dN+AjJ2wTZwixRWsFqt+scA2GoGtP6YAPuvI8AOgoiArbm7y6+yehDMmDroBkmAeEVDMQK+xesT680T/b3qI4BXaPQ1KrvyLy8v0RqosIBiW5b6m+sCVu4n4LJGcyFbwmq5LGCJ3xFCXUhf+K39wvrmnICcEQDEAtZO/wABXXHPLZjJuZmaW0CxtWgfkZDBjLElkD65XHazwLKtf4mrIw2SBMS6AE6vx8Cqy9wRUND6uuJqPwC+UT1gFhCbBuv2rOkaTOGmbpAKRwa9Da5eXuAEWAYqdTwUxcZiiK/HOaSuSzw7jFpWWh1V/4SEhISEmePFi3B6DsF1bQDf0UeGwoW7L+009bIVy2bebmPsdSOvu3tr12R1sKzU71h7quC85tFPT9s4vUDR58J4RlfLEgU7usnrs86R81JRuOsvG1e8ZUDfbMB2mqhnszSu4MFy/Tw6DSrjzOXd3J4bbtdY51cAr5j+xlHqFiCMY+4YgMzviKFwHn6vv85xgwr9nAuUn+wN8thC/UFdqz/i+HaphSWRFZV1OIhk0/7Npq+B0Dj7jdwaHLI43dhN7lzHesWii64kASwcBvV6+2b7bIuWjQpt3wVuT5CAP8Gf9ddfsILG9Wfyc0KAwgRsaAMbZz731/eiFdE4sIDzjeagFs7aFZuzPgKaUQBZwDn8FV64Bmn90ZJd3AL+pr5Tf3eMXjILuGQWcMksYENiD90D6kGqi29Zfd/X0vddA20wj2MHMGMAWp+IEvB6++1Kf/n1bzx1TEBeLyq18j/gB/31T3RigvRxKxdMRum2/2q0XZgT0EZ3OWkQsx+FQUd5yEsaL3ECCsYw0787EUEJQPLqu2yR/as18W1b3OoweUOfnhJdoJGx+OqVk43td+udXgIUgzkjlKv+RUlgi9wvmwa7WcAcMVJ9XcJ0d1ZcWFZMfxnA51h/9eZHPfytf3zTEaD7fx64Xyi6FoMoXWQVi/zMD+DL3kz2fQJMSN5w/fk0qOpDXS7Z7gg8qbr7QZRAsFT3ENWAAJ/4QAkJCQkJJ0CJF6aNKweXoex3fLTQbkUEZz8Y04Ic9vr7Hk/NV4Bczafw00/aPe+8Hd2cc3x/8Qxev4ZnnbPBzluUrR9TMplf6II37jctYVGWbwkD4Q8Xi2Gjy1qiaBM0A3vuja+c51VvRTtXdF/qAjYiuFE4v+ccKt3LdXm061joYMdtDtYJLrgyjvEe3npOy34lAcbVQncY3e3/LsOVz/V07SkVVBu8s8MJIEdGwC5GoQMPuaqXKnLnaxdmPQYRYPfqcIV7w3ofATy8lOqy9Hp3z1nU3spO/xw8BLjN13c6aYHcVbEeQe+vd9vRAzeBp47nFLaA9RqfV18WhQkvHQFaf4WWwDjjPFjwi8zEsbu5Z/rXT7AdA36w28/wrstQVeT+GAH2j9WZf22yMbASVsgCWPRa79VedQW+Na1bHI8AbgE/W/k91d8puNxbrOjtjjAPAchy2t37bv++5WffOwYUZr+aDIJvy3JxxEGQjQE/N2PA+7Z+/fBJOFrgWNEMgudwhRgwBWWIgHbxptXv+fPmHzOQ3jGgLAwhBWaAT4PHngXeq/c4/ueh2369dgtWegTU/3LHAB8k619X7QU+DXYWseoZA6A0wAT4nuEYAhhy++zft36A54wgHWG1tbzN0Xt6AP9+ndGPdVH4yIqeFMwDbY1quB9wemQfPuBFj825UUZzQNqLGixOTiYkJCSMQom2udTFL2aI+eXi1I2aEDcAN53wazvq/nrqZk2GC6PuBRbqucfZwA52+Ib/eJwZdbyTZzvL/250OQfjxgRQrQl8dAR87HIwt8HnR1SOErH1wC9wGXZmTt8Fy79DXNQKX6DKuesh2pPzC5UzisjBTSN/yj/R3VlR3ZQE3IANoW9I5bQNa7wxVuvvthcrqr/v6O4m32D9Pulvn0iG3QkJqNrnXfUTULEuD3Cd4zSsv4+AnJiMjQpyEk4TAgrY7XbTebpO4X4C5D1If607GRRHW8C0g6A1gPqdGKvDB0fAB5SpCheA00ePAdNGa3zQe+PENzgTu4kxQPgZPQsoNeEQuHMK1y24bcVbrCMfA7BUHf/0+UmD9eqdUf/dSY/Uz2m1IiEhISEh4Y5RQUi8a8CCzfkHvSExBmdnXH8IiHdPADAKCAE2LccZqkVuvpEMJmRu5XWdqT+8rZjvXIlksDtkExJAKaAE1Gldm+3j0erxDIQAnC4J4MGiXAygh3EnIQAfBuYE2OWPppH2xwK3ucmACVh4dIprTMRj/v2AgwiY0AIOImBiC5h2DOA4+Rgw8Swg1ztOPAvMAKf1AxISEhISHjfgUb9Hlf9XwecVOrupvZSrR/Q5ueY9UvhcofcZlmZnQLxA0fom/PMPhsqzwx7+pwlQ6HSyYWUhGOBvlrrz+sPkuSGHa6U+V+oav229X+mIlr5fi164YC9k5CBkEDLkc/0zJO25+Sv3hJYbMKftyYs7iAD7ukW27c7nZ5Bl5kIrb82X+/w9k66vZNuZEmAtQOMaP3EzLuzJ6WREwPPm0+WKr5Nnh4WdAzfozIsORktYlT0EPLhBcAlwfXWNh/16OcKFpHDkv3A5Nyxv9PO5uZdvzSckJCQkjAZ/PyAm80NUQ+Wh9Y2VY+DvB8RkfoxuqDy0vrFy9PlDh4tDZH6Qcqg8tL6xchT8/YCProBWvjW+4W0j10dpbfqHTgYuq970jy79Y2/9CoLpO2Uv4HTF26/w+w4hgKsAOrktRDW7wbe3eHc4ll+mi/xui9yXjnfP/D+BtEd9+fJF0fa4V4wPIID84pFN771lDcYNEvmVUCicnxEQbY9q//fIBZCPuBxPwAZ9Bp2HAN/PIQpF6/dYSMgCTNxdwAAC4l3AfPrWEBOPdRGIERjsUorl57JmoOjyR8HfD/AMau0g6AYxPkgBl/sHVe8gyevngyxNb/npk6H5iIoPBxEw9TQ2dhodKscxtSMz1pEaKscxtSs71pUeKickJCQkJCQE0DgOdybPHsD/mlxMfoAEQJgA+4UVVGECFP+jh/NG8wcAAzIjCNpvfTL783dzR7KARz8GPPZZICEhISEhIeHYyO6PJxA9BQnF8IOuGfv7QHNGpiJtPYAA/rzvk/7HsACu773Sn1qAPd5uv3oI6PbeqL6EQ3P3gx0DihZUf/zEa/3vjw2MtYA6//3Vf6wF3Hv9x84CPfo/2DEgAqf//bGBqAUMgdG7/Z+QMHP8H7vLaDNSgsf6AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjMzOjEwLTA4OjAwKWDAkgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozMzoxMC0wODowMFg9eC4AAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAAElFTkSuQmCC\"\n\n/***/ }),\n\n/***/ \"q/dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar lengthOfDecimals = exports.lengthOfDecimals = function lengthOfDecimals(number) {\n\treturn (number.toString().split('.')[1] || []).length;\n};\n\nvar math = function math(number1, operator, number2) {\n\t/**\n * number1 and nunber2 maybe as zero\n */\n\tif (number1 === undefined || number2 === undefined || !operator) {\n\t\treturn null;\n\t}\n\n\tvar dividendDecimal = lengthOfDecimals(number1);\n\tvar divisorDecimal = lengthOfDecimals(number2);\n\tvar biggestDemical = dividendDecimal > divisorDecimal ? dividendDecimal : divisorDecimal;\n\tvar multiplier = Math.pow(10, biggestDemical);\n\n\tif (operator === '+') {\n\t\treturn (number1 * multiplier + number2 * multiplier) / multiplier;\n\t}\n\n\tif (operator === '-') {\n\t\treturn (number1 * multiplier - number2 * multiplier) / multiplier;\n\t}\n\n\tif (operator === '*') {\n\t\treturn number1 * multiplier * (number2 * multiplier) / (multiplier * multiplier);\n\t}\n\n\tif (operator === '/') {\n\t\treturn number1 * multiplier / (number2 * multiplier);\n\t}\n\n\tif (operator === '%') {\n\t\treturn number1 * multiplier % (number2 * multiplier) / multiplier;\n\t}\n\n\treturn null;\n};\n\nexports.default = math;\n\n/***/ }),\n\n/***/ \"qHrH\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getServerTimeString = function getServerTimeString() {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/visit/time?svid=' + _appVariable2.default.surveyId).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t}).then(function (res) {\n\t\treturn res.status && res.data;\n\t});\n};\n\nexports.default = getServerTimeString;\n\n/***/ }),\n\n/***/ \"qOui\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.updateUISetting = exports.hideErrorInfo = exports.showErrorInfo = exports.createSortDragUI = exports.createSliderUI = exports.autoTextArea = exports.resizeLevelW = exports.resizeRatingBar = exports.resizeMtop = exports.resizeVideoBlock = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _autosize = __webpack_require__(\"JnrT\");\n\nvar _autosize2 = _interopRequireDefault(_autosize);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _action = __webpack_require__(\"DbZ6\");\n\nvar _sliderGapBg = __webpack_require__(\"hECh\");\n\nvar _sliderGapBg2 = _interopRequireDefault(_sliderGapBg);\n\nvar _error = __webpack_require__(\"aErk\");\n\nvar _error2 = _interopRequireDefault(_error);\n\nvar _notfound = __webpack_require__(\"f5AH\");\n\nvar _notfound2 = _interopRequireDefault(_notfound);\n\nvar _off = __webpack_require__(\"3gxb\");\n\nvar _off2 = _interopRequireDefault(_off);\n\nvar _overloaded = __webpack_require__(\"uJql\");\n\nvar _overloaded2 = _interopRequireDefault(_overloaded);\n\nvar _private = __webpack_require__(\"47Qh\");\n\nvar _private2 = _interopRequireDefault(_private);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* -------------------------------------\n ---------------- UI -----------------\n------------------------------------- */\nvar doResizeVideo = function doResizeVideo(target) {\n\tvar thisW = parseInt(target.width(), 10);\n\n\ttarget.find('.video-thumbnail').css({\n\t\twidth: thisW,\n\t\theight: parseInt(thisW * 356 / 640, 10)\n\t});\n};\n\nvar resizeVideoBlock = exports.resizeVideoBlock = function resizeVideoBlock(ele) {\n\tvar totalVideoBlock = ele ? ele.find('.video-block') : (0, _jquery2.default)('#survey-form .video-block');\n\n\tif (totalVideoBlock.length) {\n\t\t_jquery2.default.each(totalVideoBlock, function () {\n\t\t\tdoResizeVideo((0, _jquery2.default)(this));\n\t\t});\n\t}\n};\n\nvar resizeMtop = exports.resizeMtop = function resizeMtop(ele) {\n\tif (ele && _appVariable2.default.layout === 'BROCHURE' && _appVariable.pageConfig.mode !== 'manual') {\n\t\tvar theH = ele.height();\n\t\tvar containerH = (0, _jquery2.default)('#container').height();\n\n\t\tif (theH < containerH) {\n\t\t\tele.css('margin-top', (containerH - theH) / 2);\n\t\t}\n\t}\n};\n\nvar doResizeRatingBar = function doResizeRatingBar(target) {\n\tvar ratingH = parseInt(target.find('.rating').eq(0).width(), 10);\n\n\ttarget.css({\n\t\theight: ratingH,\n\t\t'font-size': ratingH - 2 + 'px'\n\t});\n};\n\nvar resizeRatingBar = exports.resizeRatingBar = function resizeRatingBar(ele) {\n\tif (ele) {\n\t\tvar target = ele.find('.ratingbar-wrap');\n\n\t\tif (target) {\n\t\t\tdoResizeRatingBar(target);\n\t\t}\n\n\t\treturn;\n\t}\n\n\tvar totalRatingBar = (0, _jquery2.default)('#survey-form .ratingbar-wrap');\n\tif (totalRatingBar.length) {\n\t\ttotalRatingBar.each(function () {\n\t\t\tdoResizeRatingBar((0, _jquery2.default)(this));\n\t\t});\n\t}\n};\n\nvar doResizeLevelW = function doResizeLevelW(target) {\n\tvar levelNum = target.find('.level').length;\n\n\ttarget.find('.level').width(parseInt((parseInt(target.width(), 10) - 1 - levelNum * 2 - (levelNum - 1) * 8) / levelNum, 10));\n};\n\nvar resizeLevelW = exports.resizeLevelW = function resizeLevelW(ele) {\n\tif (ele) {\n\t\tvar target = ele.find('.level-wrap');\n\n\t\tif (target) {\n\t\t\tdoResizeLevelW(target);\n\t\t}\n\n\t\treturn;\n\t}\n\n\tvar totalLevelWrap = (0, _jquery2.default)('#survey-form .level-wrap');\n\tif (totalLevelWrap.length) {\n\t\ttotalLevelWrap.each(function () {\n\t\t\tdoResizeLevelW((0, _jquery2.default)(this));\n\t\t});\n\t}\n};\n\nvar autoTextArea = exports.autoTextArea = function autoTextArea(ele) {\n\t(0, _autosize2.default)(ele.find('.subject-answer .type textarea'));\n};\n\nvar createSliderUI = exports.createSliderUI = function createSliderUI(theSlide) {\n\tvar theSlideInput = theSlide.find('.slide-input');\n\tvar theSlideMin = parseFloat(theSlideInput.attr('min'));\n\tvar theSlideMax = parseFloat(theSlideInput.attr('max'));\n\tvar valueLength = [0, 0, 0];\n\tvar theSliderStep = theSlideInput.attr('step');\n\tvar drawBg = true;\n\n\tif (!theSliderStep) {\n\t\tdrawBg = false;\n\t\ttheSliderStep = (theSlideMax - theSlideMin) / 100;\n\t\ttheSlideInput.attr('step', theSliderStep);\n\t} else {\n\t\ttheSliderStep = parseFloat(theSliderStep);\n\t}\n\n\t/**\n * overwrite valueLength\n */\n\t_jquery2.default.each([theSlideMax.toString(), theSlideMin.toString(), theSliderStep.toString()], function (i, j) {\n\t\tif (j.indexOf('.') !== -1) {\n\t\t\tif (j.indexOf('.') > valueLength[0]) {\n\t\t\t\tvalueLength[0] = j.indexOf('.');\n\t\t\t}\n\n\t\t\tif (j.length - j.indexOf('.') - 1 > valueLength[1]) {\n\t\t\t\tvalueLength[1] = j.length - j.indexOf(\".\") - 1;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (j.length > valueLength[0]) {\n\t\t\tvalueLength[0] = j.length;\n\t\t}\n\t});\n\n\tvalueLength[2] = valueLength[1] > 0 ? valueLength[0] + valueLength[1] + 1 : valueLength[0];\n\n\ttheSlideInput.slider({\n\t\tcreate: function create() {\n\t\t\ttheSlideInput.next('.ui-slider-track').find('.ui-slider-handle').removeAttr('href');\n\n\t\t\tif (theSlideInput.val() === '') {\n\t\t\t\ttheSlideInput.next('.ui-slider-track').find('.ui-slider-handle').attr('aria-valuenow', '?');\n\t\t\t}\n\n\t\t\tif (valueLength[2] > 2) {\n\t\t\t\ttheSlideInput.next('.ui-slider-track').find('.ui-slider-handle').css({\n\t\t\t\t\twidth: valueLength[2] * 10 + 12,\n\t\t\t\t\t'margin-left': (valueLength[2] * 10 + 12) * -1 / 2 + 'px'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (drawBg) {\n\t\t\t\tvar gapPercentage = 100 / (theSlideMax - theSlideMin) * theSliderStep;\n\t\t\t\tvar posX = 0;\n\t\t\t\tvar bgImageStr = '';\n\t\t\t\tvar bgPosition = '';\n\n\t\t\t\twhile (posX < 100 - gapPercentage) {\n\t\t\t\t\tposX += gapPercentage;\n\t\t\t\t\tbgImageStr = bgImageStr + 'url(' + _sliderGapBg2.default + '),';\n\t\t\t\t\tbgPosition = '' + bgPosition + posX + '% 0px,';\n\t\t\t\t}\n\n\t\t\t\ttheSlideInput.next('.ui-slider-track').css('background-image', bgImageStr.substring(0, bgImageStr.lastIndexOf(',')));\n\t\t\t\ttheSlideInput.next('.ui-slider-track').css('background-position', bgPosition.substring(0, bgPosition.lastIndexOf(',')));\n\t\t\t}\n\t\t}\n\t});\n};\n\nvar createSortDragUI = exports.createSortDragUI = function createSortDragUI(ele) {\n\tvar dragSortElem = ele.find('.drag-sort-block');\n\tvar dragSortID = dragSortElem.attr('id');\n\n\tif (dragSortID) {\n\t\t(function () {\n\t\t\tvar sortableEle = '#' + dragSortID + ' .choosen-wrapper';\n\t\t\tvar chkNeedSortItem = (0, _action.getSortLimit)(dragSortElem);\n\t\t\tvar needSortItem = chkNeedSortItem !== false ? chkNeedSortItem : 0;\n\n\t\t\t(0, _jquery2.default)('#' + dragSortID + ' .option-wrapper .option').draggable({\n\t\t\t\tconnectToSortable: sortableEle,\n\t\t\t\thelper: 'clone',\n\t\t\t\trevert: 'invalid'\n\t\t\t});\n\n\t\t\t(0, _jquery2.default)(sortableEle).sortable({\n\t\t\t\trevert: false,\n\t\t\t\titems: '.option',\n\t\t\t\tplaceholder: 'sortable-placeholder',\n\t\t\t\taxis: 'y',\n\t\t\t\treceive: function receive(event, ui) {\n\t\t\t\t\tvar thisDragSubject = (0, _jquery2.default)(sortableEle).find('.ui-draggable');\n\t\t\t\t\tvar totalCount = (0, _jquery2.default)(sortableEle).find('.option').length;\n\n\t\t\t\t\tif (totalCount <= needSortItem) {\n\t\t\t\t\t\tui.item.addClass('put-to-sort');\n\t\t\t\t\t\tthisDragSubject.attr('id', ui.item.attr('id'));\n\t\t\t\t\t\tthisDragSubject.append('
');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthisDragSubject.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (totalCount >= needSortItem) {\n\t\t\t\t\t\t(0, _jquery2.default)(this).addClass('FULLEDSORT');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(0, _jquery2.default)(this).removeClass('FULLEDSORT');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tdeactivate: function deactivate() {\n\t\t\t\t\t(0, _action.afterSort)((0, _jquery2.default)(this));\n\t\t\t\t},\n\n\t\t\t\tstart: function start(event, ui) {\n\t\t\t\t\tui.placeholder.html((0, _jquery2.default)(sortableEle).find('.option').length > needSortItem ? _appVariable.sysLang.wording.opt_fulled : '');\n\t\t\t\t}\n\t\t\t}).disableSelection();\n\t\t})();\n\t}\n};\n\nvar showErrorInfo = exports.showErrorInfo = function showErrorInfo(errorData) {\n\tif (errorData) {\n\t\t(0, _jquery2.default)('#errorinfo').find('.errorinfo-title, .errorinfo-content, .errorinfo-img').text('');\n\t\t(0, _jquery2.default)('#errorinfo').find('.errorinfo-title').text(errorData.title);\n\n\t\tif (errorData.content) {\n\t\t\t(0, _jquery2.default)('#errorinfo').find('.errorinfo-content').html(errorData.content);\n\t\t}\n\n\t\tif (errorData.pic) {\n\t\t\tvar statusImage = {\n\t\t\t\terror: _error2.default,\n\t\t\t\tnotfound: _notfound2.default,\n\t\t\t\toff: _off2.default,\n\t\t\t\toverloaded: _overloaded2.default,\n\t\t\t\tprivate: _private2.default\n\t\t\t}[errorData.pic];\n\n\t\t\t(0, _jquery2.default)('#errorinfo').find('.errorinfo-img').html('');\n\t\t}\n\n\t\t(0, _jquery2.default)('#errorinfo').css('display', 'block');\n\t}\n};\n\nvar hideErrorInfo = exports.hideErrorInfo = function hideErrorInfo() {\n\t(0, _jquery2.default)('#errorinfo').find('.errorinfo-title, .errorinfo-content, .errorinfo-img').text('');\n\t(0, _jquery2.default)('#errorinfo').css('display', 'none');\n};\n\nvar updateUISetting = exports.updateUISetting = function updateUISetting() {\n\tif (_appVariable.urlQueryObject.bgurl) {\n\t\t(0, _jquery2.default)('body').css('background-image', 'url(\\'' + _appVariable.urlQueryObject.bgurl + '\\')');\n\t}\n\n\tif (_appConfig.customerWebsite) {\n\t\t(0, _jquery2.default)('#footer-logo .surveycake-logo, .errorinfo-logo a').attr('href', _appConfig.customerWebsite);\n\t} else {\n\t\t(0, _jquery2.default)('#footer-logo .surveycake-logo, .errorinfo-logo a').removeAttr('href');\n\t}\n\n\t(0, _jquery2.default)('body').addClass(_appVariable2.default.viewStatus + '-mode');\n};\n\nexports.default = 'UI';\n\n/***/ }),\n\n/***/ \"qpYG\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar translateKeys = ['title', 'welcometext', 'thankyoutext', 'legaltext', 'sorrytext', 'endedtext', 'gotourltxt'];\n\nvar translate = function translate(json) {\n\tif (!json) {\n\t\treturn;\n\t}\n\n\ttranslateKeys.forEach(function (key) {\n\t\t_appVariable.variable.surveyData[key] = json[key];\n\t});\n\n\tif (!_appVariable.variable.surveyData.subjects) {\n\t\treturn;\n\t}\n\n\t_appVariable.variable.surveyData.subjects.forEach(function (subject) {\n\t\tif (!json.subjects[subject.ID]) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (subject.text) {\n\t\t\tsubject.text = json.subjects[subject.ID].text;\n\t\t}\n\n\t\tif (subject.descpt) {\n\t\t\tsubject.descpt = json.subjects[subject.ID].descpt;\n\t\t}\n\n\t\tif (subject.unittxt) {\n\t\t\tsubject.unittxt = json.subjects[subject.ID].unittxt;\n\t\t}\n\n\t\tif (!subject.options || !json.subjects[subject.ID].options) {\n\t\t\treturn;\n\t\t}\n\n\t\tsubject.options.forEach(function (option) {\n\t\t\toption.text = json.subjects[subject.ID].options[option.ID];\n\t\t});\n\t});\n};\n\nexports.default = translate;\n\n/***/ }),\n\n/***/ \"rQzI\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar encrypt = function encrypt(svid, token) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/referral/encrypt', {\n\t\tmethod: 'POST',\n\t\tbody: function () {\n\t\t\tvar body = new FormData();\n\n\t\t\tbody.append('svid', svid);\n\t\t\tbody.append('token', token);\n\n\t\t\treturn body;\n\t\t}()\n\t}).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = encrypt;\n\n/***/ }),\n\n/***/ \"u2OS\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/* -------------------------------------\n --------------- Array ---------------\n------------------------------------- */\n/**\n * This function changes the `originalArray` directly, but it's not recommended.\n * Get the returned value from this function.\n */\nvar arrInsertArr = exports.arrInsertArr = function arrInsertArr(originalArray, startIndex) {\n\tvar itemArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n\t/**\n * there is no value to be inserted\n */\n\tif (itemArray.length === 0) {\n\t\treturn originalArray;\n\t}\n\n\toriginalArray.splice.apply(originalArray, [\n\t/**\n * start\n */\n\tMath.min(startIndex, originalArray.length),\n\t/**\n * deleteCount\n */\n\t0].concat(_toConsumableArray(itemArray)));\n\n\treturn originalArray;\n};\n\nvar arrRemoveIndex = exports.arrRemoveIndex = function arrRemoveIndex(originalArray, itemIndex) {\n\tif (itemIndex < originalArray.length) {\n\t\toriginalArray.splice(itemIndex, 1);\n\t}\n\n\treturn originalArray;\n};\n\nvar arrAddData = exports.arrAddData = function arrAddData(theArr, theData) {\n\tif (!theArr) {\n\t\treturn [];\n\t}\n\n\t/**\n * if it exists, remove the old one\n */\n\tif (theArr.indexOf(theData) !== -1) {\n\t\ttheArr.splice(theArr.indexOf(theData), 1);\n\t}\n\n\t/**\n * put it at the last one\n */\n\ttheArr.push(theData);\n\n\treturn theArr;\n};\n\nvar arrDelData = exports.arrDelData = function arrDelData(originalArray, item) {\n\tif (originalArray && originalArray.indexOf(item) !== -1) {\n\t\toriginalArray.splice(originalArray.indexOf(item), 1);\n\t}\n\n\treturn originalArray;\n};\n\nvar rndOptsArr = exports.rndOptsArr = function rndOptsArr(originalArray) {\n\treturn originalArray.sort(function (current, next) {\n\t\t/**\n * nota always be the last one\n */\n\t\tif (current.nota === 1 || next.nota === 1) {\n\t\t\treturn current.nota - next.nota;\n\t\t}\n\n\t\t/**\n * elses is the one which before last\n */\n\t\tif (current.elses === 1 || next.elses === 1) {\n\t\t\treturn current.elses - next.elses;\n\t\t}\n\n\t\t/**\n * other options random sort\n */\n\t\treturn 0.5 - Math.random();\n\t});\n};\n\nvar stringToArr = exports.stringToArr = function stringToArr(theString) {\n\treturn theString ? theString.split(',') : [];\n};\n\nexports.default = 'ARRAY_REF_FUNC';\n\n/***/ }),\n\n/***/ \"uJql\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"overloaded.47cbb7b4b7fa7.png\";\n\n/***/ }),\n\n/***/ \"vGYV\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"5W1q\");\n\n__webpack_require__(\"ojJu\");\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _GA = __webpack_require__(0);\n\nvar _GA2 = _interopRequireDefault(_GA);\n\nvar _amplitudeJs = __webpack_require__(\"Eugh\");\n\nvar _amplitudeJs2 = _interopRequireDefault(_amplitudeJs);\n\n__webpack_require__(\"mXlc\");\n\n__webpack_require__(\"71lI\");\n\n__webpack_require__(\"cd9p\");\n\n__webpack_require__(\"ntNH\");\n\n__webpack_require__(\"sN9U\");\n\n__webpack_require__(\"fzh9\");\n\n__webpack_require__(\"8u0l\");\n\n__webpack_require__(\"0lA4\");\n\n__webpack_require__(\"00/B\");\n\n__webpack_require__(\"42Nd\");\n\n__webpack_require__(\"PeCv\");\n\n__webpack_require__(\"4MaF\");\n\n__webpack_require__(\"vj4D\");\n\n__webpack_require__(\"8B+k\");\n\n__webpack_require__(\"ZiZU\");\n\n__webpack_require__(\"Xt3s\");\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _ui = __webpack_require__(\"qOui\");\n\nvar _customize = __webpack_require__(\"hmHg\");\n\nvar _getServerTimeString = __webpack_require__(\"qHrH\");\n\nvar _getServerTimeString2 = _interopRequireDefault(_getServerTimeString);\n\nvar _getCsrfTokenFromCookie = __webpack_require__(\"W/pu\");\n\nvar _cookieSupport = __webpack_require__(\"8hwX\");\n\nvar _cookieSupport2 = _interopRequireDefault(_cookieSupport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar init = function init() {\n\tconsole.log('------ init --------');\n\tconsole.log('document.referrer: ' + document.referrer);\n\tconsole.log('window.location.href: ' + window.location.href);\n\n\tif (_appVariable.urlQueryObject.cookie && document.referrer !== window.location.href) {\n\t\t(0, _cookieSupport.setCookieEnable)();\n\n\t\tconsole.log('Redirect back to\\uFF1A ' + _appVariable.urlQueryObject.cookie);\n\t\twindow.location.href = _appVariable.urlQueryObject.cookie;\n\n\t\treturn;\n\t}\n\n\tif (!_appVariable.urlQueryObject.cookie && !(0, _cookieSupport2.default)()) {\n\t\t(0, _cookieSupport.makeCookieRedirect)();\n\n\t\treturn;\n\t}\n\n\tif (_appConfig.gaId) {\n\t\t(0, _GA2.default)('create', _appConfig.gaId, 'auto');\n\t\t(0, _GA2.default)('send', 'pageview');\n\t}\n\n\tif (_appConfig.amplitudeKey) {\n\t\t_amplitudeJs2.default.getInstance().init(_appConfig.amplitudeKey);\n\t\t_amplitudeJs2.default.getInstance().setUserId(null);\n\t}\n\n\tif (window.addEventListener) {\n\t\twindow.addEventListener('message', _common.receiveLoginMessage, false);\n\t} else {\n\t\twindow.attachEvent('message', _common.receiveLoginMessage);\n\t}\n\n\t(0, _initial.setXssWhitelist)();\n\n\t(0, _initial.initialVex)();\n\n\t(0, _getCsrfTokenFromCookie.putCsrfTokenToCookie)();\n\n\tif (_appVariable.sysAgent.isIE) {\n\t\t(0, _jquery2.default)('body').attr('browser', 'ie');\n\t}\n\n\t(0, _jquery2.default)('#survey-form').find('input[name=\"svid\"]').val(_appVariable2.default.surveyId);\n\n\t(0, _getServerTimeString2.default)().then(function (data) {\n\t\t(0, _jquery2.default)('#survey-form').find('input[name=\"initime\"]').val(data.time);\n\t});\n\n\t_appVariable.variable.rel = (0, _jquery2.default)('body').attr('rel');\n\t_appVariable.variable.winW = (0, _jquery2.default)(window).width();\n\n\tif (_appVariable.variable.winW > 1024) {\n\t\t_appVariable2.default.sortMode = 'dragIt';\n\t}\n\n\t(0, _common.setLeavePageJS)();\n\n\t(0, _jquery2.default)('.sv-tooltip').tooltip({\n\t\thtml: true,\n\t\tcontainer: 'body'\n\t});\n\n\t(0, _jquery2.default)('#container').css('min-height', (0, _jquery2.default)(window).height() - 200);\n\n\tif (_appVariable.urlQueryObject.status) {\n\t\t_appVariable2.default.viewStatus = _appVariable.urlQueryObject.status;\n\t}\n\n\t(0, _customize.extChangeQueryObject)();\n\n\t(0, _jquery2.default)(window).resize(function () {\n\t\t_appVariable.variable.winW = (0, _jquery2.default)(window).width();\n\n\t\t(0, _ui.resizeRatingBar)();\n\t\t(0, _ui.resizeLevelW)();\n\t\t(0, _ui.resizeVideoBlock)();\n\t});\n\n\t(0, _jquery2.default)(window).on('load', function () {\n\t\t(0, _initial.eventTracking)();\n\t});\n\n\tif (_appVariable2.default.surveyId) {\n\t\t(0, _customize.extIniCustomer)();\n\t\t(0, _ui.updateUISetting)();\n\t\t(0, _draw.drawMainPage)();\n\t\treturn;\n\t}\n\n\t(0, _initial.notfoundUI)();\n}; // eslint-disable-line\n\n\ninit();\n\n/***/ }),\n\n/***/ \"vj4D\":\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n\n/***/ \"xEt8\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAABGdBTUEAAYagMeiWXwAAAM9QTFRF74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wIQE28rAAAAER0Uk5TAAIBCBSFOVEHBBcqDSIeA5oMDhESGgUWBjwJPjeLJZOfkAoPgHqDNGh2YENmZGty+lgV3EZcjB9MWm4nvFUQICk2SCM3Z35MAAAAAWJLR0QAiAUdSAAADvlJREFUeNrtXQtj1LgRlh972SXeRwmXAg1tCn1dr9feHhzlcoWUMv//N1WSH5qHLK3xxusk+gJJxpIlzeeRNCPJG6USEhJmgAyyUzfhxPrDzBkY3bwMwvpnmAGTeVpCmAWCASWAt4ekm9QMXwEQFUCgAna//XVSk+AWKAnIeHtIOn+CggB+u6xAZM4mZEC0369CIF0yqFjucOm+zFkw01EhLFg2kT9gaSHBJywtINCA6S3AT4poYogAcTcIEwmUzkxw+jHgAD7udBbgXWj6WeDkeOyOUEJCQkJCQsKMceee4In9oExEa8Cd94zfwbOTAD8TFYTWA8SCkC59Uko8DRAEiAw8Ow0XM1EBJyAQXZrSpwyGRPv9LQ4ke1ZUssDtKrIECJaAyZYDpAUrn82SaO2A9YCMlhbqUae2AC+yQIvHrwfIHnLSMSCOhz4LJCQkJCQkJCScDuMc/6hrGi1/dOAxsgCQ26kwIPfo9snjAKJBkdIgfEWqx5JBZqG3Q1+av4JgAzyp4fp9JYQIEumiMKGBrA5YIvQktoyK8tgN0Jd4QP0yXIYYAXIBCMIaxG8PZKEKNrnZmhXNzgsM8ufNETShYAdSPgthjHtuD5tovIYh6kX7uOcMEYTTIyWyxwHRBxKpAJS3zv7UU88Cd3x/fJpMSEhISEhIeKwYfyx1pJuReU6j9xfp80OjW1WR6oc14KAKwvG82Fv1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\"\n\n/***/ }),\n\n/***/ \"xFsn\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.removeMaxtimesOptions = exports.formatAns = exports.setAnswerJS = exports.focusTitle = exports.getAnswerByOrder = exports.optionExam = exports.superResetSbj = exports.resetSbjUI = exports.setFulledUI = exports.portraitProgressCount = exports.progressCount = exports.progressUpdate = exports.setPrivateJS = exports.destroyFastClick = exports.setFastClick = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _vex = __webpack_require__(\"KXd+\");\n\nvar _vex2 = _interopRequireDefault(_vex);\n\nvar _xss = __webpack_require__(\"NG4M\");\n\nvar _xss2 = _interopRequireDefault(_xss);\n\nvar _fastclick = __webpack_require__(\"v5o6\");\n\nvar _fastclick2 = _interopRequireDefault(_fastclick);\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _appVariable = __webpack_require__(\"PlXR\");\n\nvar _appVariable2 = _interopRequireDefault(_appVariable);\n\nvar _common = __webpack_require__(\"g5qz\");\n\nvar _constant = __webpack_require__(\"8Pnd\");\n\nvar _array = __webpack_require__(\"u2OS\");\n\nvar _initial = __webpack_require__(\"FKCt\");\n\nvar _action = __webpack_require__(\"DbZ6\");\n\nvar _validate = __webpack_require__(\"CQI8\");\n\nvar _draw = __webpack_require__(\"3cru\");\n\nvar _interaction = __webpack_require__(\"OIZz\");\n\nvar _optionFromAction = __webpack_require__(\"iHsC\");\n\nvar _videoPlayer = __webpack_require__(\"miG6\");\n\nvar _portrait = __webpack_require__(\"PET6\");\n\nvar _getPrivate = __webpack_require__(\"8R8m\");\n\nvar _getPrivate2 = _interopRequireDefault(_getPrivate);\n\nvar _fileUpload = __webpack_require__(\"RmQc\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/* -------------------------------------\n --------------- Main ----------------\n------------------------------------- */\nvar setFastClick = exports.setFastClick = function setFastClick() {\n\tif (_appVariable.sysAgent.isIOS) {\n\t\t_appVariable.variable.FastClickThread = new _fastclick2.default(document.body);\n\t}\n};\n\nvar destroyFastClick = exports.destroyFastClick = function destroyFastClick() {\n\tif (_appVariable.variable.FastClickThread) {\n\t\t_appVariable.variable.FastClickThread.destroy();\n\t}\n};\n\nvar setPrivateJS = exports.setPrivateJS = function setPrivateJS() {\n\t(0, _jquery2.default)('input[name=\"sv-password\"]').keypress(function (e) {\n\t\tif ((e.keyCode ? e.keyCode : e.which) === 13) {\n\t\t\t(0, _jquery2.default)('.btn-confirm-password').trigger('click');\n\t\t}\n\t});\n\n\t(0, _jquery2.default)('.btn-confirm-password').on('click', function () {\n\t\tvar userPassword = (0, _jquery2.default)('input[name=\"sv-password\"]').val();\n\n\t\tif (userPassword) {\n\t\t\t_appVariable2.default.password = userPassword;\n\n\t\t\t(0, _getPrivate2.default)(_appVariable2.default.surveyId, _appVariable2.default.password).then(function (_ref) {\n\t\t\t\tvar status = _ref.status,\n\t\t\t\t data = _ref.data;\n\n\t\t\t\tif (!status) {\n\t\t\t\t\t(0, _jquery2.default)('.sv-password-info').text(_appVariable.sysLang.wording.str_sv_private_error).removeClass('hide');\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t/**\n * @todo\n * Here need to be refactor, too easy to forgot to change.\n */\n\t\t\t\t_appVariable.variable.surveyData = data;\n\t\t\t\t_appVariable2.default.svStatus = data.status;\n\t\t\t\t_appVariable2.default.theme = data.theme.toLowerCase() || 'surveycake';\n\t\t\t\t_appVariable2.default.language = data.language.toLowerCase() || _appConfig.defaultLanguage;\n\n\t\t\t\t_appVariable2.default.svStartTime = data.starttime;\n\t\t\t\t_appVariable2.default.svEndTime = data.endtime;\n\t\t\t\t_appVariable2.default.previewAnswer = data.preview_answer === 'Y';\n\t\t\t\t_appVariable2.default.reCaptcha.enable = data.re_captcha === 'Y';\n\n\t\t\t\t(0, _jquery2.default)('.sv-password-info').text('').addClass('hide');\n\t\t\t\t(0, _draw.drawPublic)();\n\t\t\t});\n\t\t}\n\t});\n};\n\nvar progressUpdate = exports.progressUpdate = function progressUpdate(percentage) {\n\t_appVariable2.default.finishedPtg = percentage;\n\t(0, _jquery2.default)('.sv-progress-bar-wrapper').find('.progress-bar').css('width', _appVariable2.default.finishedPtg + '%');\n\t(0, _jquery2.default)('.sv-progress-bar-wrapper').find('.progress-number').html(_appVariable2.default.finishedPtg);\n};\n\nvar progressCount = exports.progressCount = function progressCount(subjectNumber) {\n\tif (subjectNumber) {\n\t\tvar theOrder = (0, _common.findOrderBySN)(subjectNumber);\n\n\t\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\ttheOrder -= 1;\n\t\t}\n\n\t\tif (theOrder !== false && theOrder >= 0) {\n\t\t\tvar percentage = _appVariable.thisSubjectsObj[theOrder].progress;\n\n\t\t\tif (percentage > _appVariable2.default.finishedPtg) {\n\t\t\t\tprogressUpdate(percentage);\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar portraitProgressCount = exports.portraitProgressCount = function portraitProgressCount(subjectNumber) {\n\tif (_appVariable2.default.layout !== 'PORTRAIT') {\n\t\treturn;\n\t}\n\n\tprogressCount(subjectNumber);\n};\n\nvar setFulledUI = exports.setFulledUI = function setFulledUI(ele, type) {\n\tele.addClass('FULLEDUI');\n\n\tif (type === 'select') {\n\t\tele.attr('disabled', 'disabled');\n\t\tele.text(ele.text() + '-' + _appVariable.sysLang.wording.opt_fulled);\n\n\t\treturn;\n\t}\n\n\tif (type === 'radio' || type === 'checkbox') {\n\t\tele.find('.opt-text').attr('fullstr', _appVariable.sysLang.wording.alert.optionFulled);\n\t}\n};\n\nvar resetSbjUI = exports.resetSbjUI = function resetSbjUI(sn) {\n\tconsole.log('///// resetSbjUI: ' + sn);\n\n\t/**\n * 用來復原UI\n */\n\tvar resetTarget = (0, _jquery2.default)('#' + sn);\n\tresetTarget.find('.option, .level').removeClass('active');\n\tresetTarget.find('.option').find('.fa-check-square').removeClass('fa-check-square').addClass('fa-square-o');\n\tresetTarget.find('.option').find('.fa-dot-circle-o').removeClass('fa-dot-circle-o').addClass('fa-circle-o');\n\tresetTarget.find('.option.else .else-wrap').hide();\n\tresetTarget.find('.option[sortnum]').removeAttr('sortnum');\n\tresetTarget.find('.option.put-to-sort').removeClass('put-to-sort');\n\tresetTarget.find(_constant.typeingElement).val('');\n\tresetTarget.find('input[type=\\'file\\']').val(null);\n\n\tif (resetTarget.find('.choosen-wrapper').length) {\n\t\tresetTarget.find('.choosen-wrapper').removeClass('FULLEDSORT');\n\t\tresetTarget.find('.choosen-wrapper .option').remove();\n\t}\n\n\t/**\n * DIGITSLIDE subject type should reset slider handle\n */\n\tif (resetTarget.find('.ui-slider-track').length > 0) {\n\t\tresetTarget.find('.ui-slider-track .ui-slider-handle').attr('aria-valuenow', '?');\n\t\tresetTarget.find('.ui-slider-track .ui-slider-handle').css('left', '0%');\n\t}\n\n\tresetTarget.find('input[type=\"checkbox\"]').each(function () {\n\t\t(0, _jquery2.default)(this).prop('checked', false);\n\t\t(0, _validate.validateSingleEle)((0, _jquery2.default)(this));\n\t});\n\n\tresetTarget.find('input[type=\"radio\"]').each(function () {\n\t\t(0, _jquery2.default)(this).prop('checked', false);\n\t\t(0, _validate.validateSingleEle)((0, _jquery2.default)(this));\n\t});\n\n\tif (resetTarget.attr('sbj-type') === 'FILEUPLOAD') {\n\t\t(0, _fileUpload.resetFileUploadUI)(resetTarget);\n\t}\n};\n\nvar superResetSbj = exports.superResetSbj = function superResetSbj(sbjSN, subjectId) {\n\tconsole.log('/// superResetSbj SN:' + sbjSN + ', ID:' + subjectId);\n\n\t/**\n * 清空UI\n */\n\tresetSbjUI(sbjSN);\n\n\t/**\n * 清空答案\n */\n\t(0, _initial.updateSingleAns)('sbj_' + subjectId, null, 'RESET');\n\t(0, _portrait.ansTagToUI)(sbjSN);\n};\n\nvar optionExam = exports.optionExam = function () {\n\tvar _ref2 = _asyncToGenerator(regeneratorRuntime.mark(function _callee(selectedOPTIONTYPE, selectedOPTION, cancelAns) {\n\t\tvar removedOPTION, optID, parentSubject, parentSubjectSn, parentSubjectId, parentAnswer, sbjOrder, selectedOptObj, resetDisabledOptionStatus, optionRemoveUI, optionActiveUI, afterOptionExam, _ref3, anscount;\n\n\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tremovedOPTION = void 0;\n\t\t\t\t\t\toptID = selectedOPTIONTYPE === 'nest' ? (0, _common.separateOptionIdFromText)(selectedOPTION.find('input[type=\"radio\"]').val()) : (0, _common.separateOptionIdFromText)(selectedOPTION.attr('data-id'));\n\t\t\t\t\t\tparentSubject = selectedOPTION.closest('.subject-wrapper');\n\t\t\t\t\t\tparentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\t\t\t\t\t\tparentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\t\t\t\t\t\tparentAnswer = selectedOPTION.closest('.subject-answer');\n\t\t\t\t\t\tsbjOrder = (0, _common.findOrderBySN)(parentSubjectSn);\n\t\t\t\t\t\tselectedOptObj = (0, _common.findOptionObjectById)(optID, _appVariable.thisSubjectsObj[sbjOrder].options);\n\n\t\t\t\t\t\t/**\n * only works at CHOICEMULTI subject\n *\n * Remove disabled status of other options which is not `None of the above`\n */\n\n\t\t\t\t\t\tresetDisabledOptionStatus = function resetDisabledOptionStatus() {\n\t\t\t\t\t\t\tparentSubject.find('.option.-disabled').removeClass('-disabled');\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\toptionRemoveUI = function optionRemoveUI() {\n\t\t\t\t\t\t\tif (!removedOPTION || removedOPTION.length === 0) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (selectedOPTIONTYPE === 'checkbox') {\n\t\t\t\t\t\t\t\t/**\n * uncheck `None of the above` option, remove other disabled status\n */\n\t\t\t\t\t\t\t\tif (selectedOPTION.hasClass('nota')) {\n\t\t\t\t\t\t\t\t\tresetDisabledOptionStatus();\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tremovedOPTION.find('.fa-check-square').removeClass('fa-check-square').addClass('fa-square-o');\n\t\t\t\t\t\t\t\tremovedOPTION.find('input[type=\"checkbox\"]').prop('checked', false);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(removedOPTION.find('input[type=\"checkbox\"]'));\n\t\t\t\t\t\t\t} else if (selectedOPTIONTYPE === 'radio') {\n\t\t\t\t\t\t\t\tremovedOPTION.find('.fa-dot-circle-o').removeClass('fa-dot-circle-o').addClass('fa-circle-o');\n\t\t\t\t\t\t\t\tremovedOPTION.find('input[type=\"radio\"]').prop('checked', false);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(removedOPTION.find('input[type=\"radio\"]'));\n\t\t\t\t\t\t\t} else if (selectedOPTIONTYPE === 'nest') {\n\t\t\t\t\t\t\t\tremovedOPTION.find('input[type=\"radio\"]').prop('checked', false);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(removedOPTION.find('input[type=\"radio\"]'));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/**\n * 更新答案\n */\n\t\t\t\t\t\t\tvar removedOPTIONID = selectedOPTIONTYPE === 'nest' ? removedOPTION.find('input[type=\"radio\"]').val() : removedOPTION.attr('data-id');\n\t\t\t\t\t\t\tremovedOPTION.removeClass('active');\n\t\t\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, removedOPTIONID, 'REMOVE');\n\n\t\t\t\t\t\t\tif (removedOPTION.hasClass('else')) {\n\t\t\t\t\t\t\t\tparentAnswer.find('.else-wrap input').val('');\n\t\t\t\t\t\t\t\tparentAnswer.find('.else-wrap').hide();\n\t\t\t\t\t\t\t\t(0, _initial.updateSingleAns)(removedOPTIONID, null, 'WRITE');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tvar removedOptObj = (0, _common.findOptionObjectById)((0, _common.separateOptionIdFromText)(removedOPTIONID), _appVariable.thisSubjectsObj[sbjOrder].options);\n\n\t\t\t\t\t\t\tif (!_appVariable.variable.fillAnswerMode) {\n\t\t\t\t\t\t\t\t(0, _optionFromAction.makeOptfromActionObj)(sbjOrder, removedOptObj, false, false);\n\t\t\t\t\t\t\t\t(0, _interaction.makeInteractionObj)(sbjOrder, removedOptObj, false, false);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\t\t\t\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\toptionActiveUI = function optionActiveUI() {\n\t\t\t\t\t\t\tif (selectedOPTION.hasClass('else')) {\n\t\t\t\t\t\t\t\tparentAnswer.find('.else-wrap').removeClass('confirmed').show();\n\n\t\t\t\t\t\t\t\tif (!_appVariable.variable.fillAnswerMode && !_appVariable.sysAgent.isMobile) {\n\t\t\t\t\t\t\t\t\tparentAnswer.find('.else-wrap input').focus();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tvar selectedOPTIONID = selectedOPTIONTYPE === 'nest' ? selectedOPTION.find('input[type=\"radio\"]').val() : selectedOPTION.attr('data-id');\n\t\t\t\t\t\t\tselectedOPTION.addClass('active');\n\n\t\t\t\t\t\t\tif (selectedOPTIONTYPE === 'select') {\n\t\t\t\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, selectedOPTIONID, 'WRITE');\n\t\t\t\t\t\t\t} else if (selectedOPTIONTYPE === 'radio') {\n\t\t\t\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, selectedOPTIONID, 'WRITE');\n\n\t\t\t\t\t\t\t\tselectedOPTION.find('.fa-circle-o').removeClass('fa-circle-o').addClass('fa-dot-circle-o');\n\t\t\t\t\t\t\t\tselectedOPTION.find('input[type=\"radio\"]').prop('checked', true);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(selectedOPTION.find('input[type=\"radio\"]'));\n\t\t\t\t\t\t\t} else if (selectedOPTIONTYPE === 'nest') {\n\t\t\t\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, selectedOPTIONID, 'WRITE');\n\t\t\t\t\t\t\t\tselectedOPTION.find('input[type=\"radio\"]').prop('checked', true);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(selectedOPTION.find('input[type=\"radio\"]'));\n\t\t\t\t\t\t\t} else if (selectedOPTIONTYPE === 'checkbox') {\n\t\t\t\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, selectedOPTIONID, 'ADD');\n\n\t\t\t\t\t\t\t\t/**\n * 不消除其他; 加選這一個\n */\n\t\t\t\t\t\t\t\tselectedOPTION.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');\n\t\t\t\t\t\t\t\tselectedOPTION.find('input[type=\"checkbox\"]').prop('checked', true);\n\n\t\t\t\t\t\t\t\t(0, _validate.validateSingleEle)(selectedOPTION.find('input[type=\"checkbox\"]'));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!_appVariable.variable.fillAnswerMode) {\n\t\t\t\t\t\t\t\tif (_appVariable.thisOptfromMap[sbjOrder] && _appVariable.thisOptfromMap[sbjOrder].length > 0) {\n\t\t\t\t\t\t\t\t\t_appVariable.thisOptfromMap[sbjOrder].forEach(function (theSN) {\n\t\t\t\t\t\t\t\t\t\t(0, _optionFromAction.addRedrawList)(theSN);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t(0, _interaction.makeInteractionObj)(sbjOrder, selectedOptObj, true, false);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\t\t\t\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tafterOptionExam = function afterOptionExam() {\n\t\t\t\t\t\t\tif (selectedOPTIONTYPE === 'checkbox') {\n\t\t\t\t\t\t\t\tremovedOPTION = null;\n\n\t\t\t\t\t\t\t\t/**\n * there is a `None of the above` option existed in this subject\n *\n * Remove all disable status and uncheck the `None of the above` option\n */\n\t\t\t\t\t\t\t\tif (selectedOPTION.hasClass('-disabled')) {\n\t\t\t\t\t\t\t\t\tresetDisabledOptionStatus();\n\n\t\t\t\t\t\t\t\t\tremovedOPTION = selectedOPTION.siblings('.nota');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t/**\n * In order to active `None of the above` option\n * should remove other before active itself\n */\n\t\t\t\t\t\t\t\tif (selectedOPTION.hasClass('nota')) {\n\t\t\t\t\t\t\t\t\t/**\n * reset other options in this subject\n */\n\t\t\t\t\t\t\t\t\t(0, _interaction.interActionCleanSbj)(sbjOrder);\n\t\t\t\t\t\t\t\t\t(0, _interaction.moveActionFromTemp)('interAction');\n\t\t\t\t\t\t\t\t\t(0, _interaction.moveActionFromTemp)('optfromAction');\n\n\t\t\t\t\t\t\t\t\t/**\n * add disable UI to other options\n */\n\t\t\t\t\t\t\t\t\tparentSubject.find('.option:not(.nota)').addClass('-disabled');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (['radio', 'nest', 'select'].includes(selectedOPTIONTYPE)) {\n\t\t\t\t\t\t\t\tremovedOPTION = selectedOPTION.siblings('.active');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\toptionRemoveUI();\n\n\t\t\t\t\t\t\tif (optID !== null && optID !== '') {\n\t\t\t\t\t\t\t\toptionActiveUI();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t(0, _interaction.handleMutipleLists)();\n\t\t\t\t\t\t\t(0, _portrait.UIrefresh)();\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t/**\n * uncheck the option\n */\n\n\n\t\t\t\t\t\tif (!(cancelAns === true)) {\n\t\t\t\t\t\t\t_context.next = 18;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tremovedOPTION = selectedOPTION;\n\n\t\t\t\t\t\toptionRemoveUI();\n\t\t\t\t\t\t(0, _interaction.handleMutipleLists)();\n\t\t\t\t\t\t(0, _portrait.UIrefresh)();\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 18:\n\t\t\t\t\t\tif (!_appVariable.variable.fillAnswerMode) {\n\t\t\t\t\t\t\t_context.next = 21;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tafterOptionExam();\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 21:\n\t\t\t\t\t\tif (!(selectedOptObj.maxtimes != null && _appVariable.thisSubjectsObj[sbjOrder]._doMaxtimesAction)) {\n\t\t\t\t\t\t\t_context.next = 41;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context.next = 24;\n\t\t\t\t\t\treturn (0, _action.checkMaxtimes)(parentSubjectId, 'optid', optID);\n\n\t\t\t\t\tcase 24:\n\t\t\t\t\t\t_ref3 = _context.sent;\n\t\t\t\t\t\tanscount = _ref3.anscount;\n\n\t\t\t\t\t\tif (!(anscount >= parseInt(selectedOptObj.maxtimes, 10))) {\n\t\t\t\t\t\t\t_context.next = 39;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!(selectedOptObj.maxacts === 'ALERT')) {\n\t\t\t\t\t\t\t_context.next = 37;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tselectedOptObj.isFULLED = true;\n\t\t\t\t\t\tsetFulledUI(selectedOPTION, selectedOPTIONTYPE);\n\n\t\t\t\t\t\tif (!(selectedOPTIONTYPE === 'select')) {\n\t\t\t\t\t\t\t_context.next = 35;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tparentAnswer.find('.select select').val('');\n\t\t\t\t\t\t_vex2.default.dialog.alert(_appVariable.sysLang.wording.alert.optionFulled);\n\n\t\t\t\t\t\tsuperResetSbj(_appVariable.thisSubjectsObj[sbjOrder].sn, _appVariable.thisSubjectsObj[sbjOrder].ID);\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 35:\n\n\t\t\t\t\t\tif (selectedOPTIONTYPE === 'radio') {\n\t\t\t\t\t\t\tsuperResetSbj(_appVariable.thisSubjectsObj[sbjOrder].sn, _appVariable.thisSubjectsObj[sbjOrder].ID);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 37:\n\n\t\t\t\t\t\tif (selectedOptObj.maxacts === 'SORRY') {\n\t\t\t\t\t\t\tselectedOptObj.sorryto = 65535;\n\t\t\t\t\t\t\tafterOptionExam();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 39:\n\n\t\t\t\t\t\tafterOptionExam();\n\n\t\t\t\t\t\treturn _context.abrupt('return');\n\n\t\t\t\t\tcase 41:\n\n\t\t\t\t\t\tafterOptionExam();\n\n\t\t\t\t\tcase 42:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee, undefined);\n\t}));\n\n\treturn function optionExam(_x, _x2, _x3) {\n\t\treturn _ref2.apply(this, arguments);\n\t};\n}();\n\nvar getAnswerByOrder = exports.getAnswerByOrder = function getAnswerByOrder(ordering) {\n\tif (!Object.hasOwnProperty.call(_appVariable.thisAnswerObj, ordering)) {\n\t\treturn false;\n\t}\n\n\tvar legalPropertyName = Object.keys(_appVariable.thisAnswerObj[ordering]).find(function (propertyName) {\n\t\treturn (/^sbj_/.test(propertyName) && _appVariable.thisAnswerObj[ordering][propertyName].length\n\t\t);\n\t});\n\n\treturn legalPropertyName && _appVariable.thisAnswerObj[ordering][legalPropertyName];\n};\n\nvar focusTitle = exports.focusTitle = function focusTitle(target) {\n\tif (target && !target.hasClass('withtimer')) {\n\t\tvar eleTargets = target.find(_constant.typeingElement).not('.else-input');\n\n\t\tif (eleTargets.length) {\n\t\t\tif (!_appVariable.variable.fillAnswerMode && !_appVariable.sysAgent.isMobile) {\n\t\t\t\teleTargets.eq(0).focus();\n\t\t\t}\n\t\t} else if ((0, _jquery2.default)(':focus').length) {\n\t\t\t/**\n * 沒有 可以 type 的東西,移除 focus\n */\n\t\t\t(0, _jquery2.default)(':focus').blur();\n\t\t}\n\n\t\tif (_appVariable2.default.layout === 'PORTRAIT') {\n\t\t\tsetTimeout(function () {\n\t\t\t\t(0, _common.scrollToEle)(target, true);\n\t\t\t}, 120);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nvar setAnswerJS = exports.setAnswerJS = function setAnswerJS() {\n\t(0, _jquery2.default)('#survey-form').on('keyup', '.subject-answer .autohttp', function () {\n\t\tvar theVal = (0, _jquery2.default)(this).val();\n\n\t\tif (theVal && theVal.length > 8 && theVal.search('http://') !== 0 && theVal.search('https://') !== 0 && theVal.search('ftp://') !== 0) {\n\t\t\t(0, _jquery2.default)(this).val('http://' + theVal);\n\t\t}\n\t});\n\n\t/**\n * 單選題 select 動態\n */\n\t(0, _jquery2.default)('#survey-form').on('change', '.subject-answer select', _asyncToGenerator(regeneratorRuntime.mark(function _callee2() {\n\t\treturn regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context2.prev = _context2.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif ((0, _jquery2.default)(this).hasClass('FULLEDUI')) {\n\t\t\t\t\t\t\t_context2.next = 3;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context2.next = 3;\n\t\t\t\t\t\treturn optionExam('select', (0, _jquery2.default)(this).find('option:selected'));\n\n\t\t\t\t\tcase 3:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context2.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee2, this);\n\t})));\n\n\t/**\n * 單選題動態\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.subject-answer .option[svtype=\"radio\"]', _asyncToGenerator(regeneratorRuntime.mark(function _callee3() {\n\t\treturn regeneratorRuntime.wrap(function _callee3$(_context3) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context3.prev = _context3.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!(0, _jquery2.default)(this).hasClass('active')) {\n\t\t\t\t\t\t\t_context3.next = 4;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context3.next = 3;\n\t\t\t\t\t\treturn optionExam('radio', (0, _jquery2.default)(this), true);\n\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\treturn _context3.abrupt('return');\n\n\t\t\t\t\tcase 4:\n\t\t\t\t\t\tif ((0, _jquery2.default)(this).hasClass('FULLEDUI')) {\n\t\t\t\t\t\t\t_context3.next = 7;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context3.next = 7;\n\t\t\t\t\t\treturn optionExam('radio', (0, _jquery2.default)(this));\n\n\t\t\t\t\tcase 7:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context3.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee3, this);\n\t})));\n\n\t/**\n * 多選題動態\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.subject-answer .option[svtype=\"checkbox\"]', _asyncToGenerator(regeneratorRuntime.mark(function _callee4() {\n\t\treturn regeneratorRuntime.wrap(function _callee4$(_context4) {\n\t\t\twhile (1) {\n\t\t\t\tswitch (_context4.prev = _context4.next) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif (!(0, _jquery2.default)(this).hasClass('FULLEDUI')) {\n\t\t\t\t\t\t\t_context4.next = 2;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn _context4.abrupt('return');\n\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tif (!(0, _jquery2.default)(this).hasClass('active')) {\n\t\t\t\t\t\t\t_context4.next = 6;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t_context4.next = 5;\n\t\t\t\t\t\treturn optionExam('checkbox', (0, _jquery2.default)(this), true);\n\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\treturn _context4.abrupt('return');\n\n\t\t\t\t\tcase 6:\n\t\t\t\t\t\t_context4.next = 8;\n\t\t\t\t\t\treturn optionExam('checkbox', (0, _jquery2.default)(this));\n\n\t\t\t\t\tcase 8:\n\t\t\t\t\tcase 'end':\n\t\t\t\t\t\treturn _context4.stop();\n\t\t\t\t}\n\t\t\t}\n\t\t}, _callee4, this);\n\t})));\n\n\t/**\n * stop `else` option propagation of option click\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.subject-answer .option > .else-wrap', function (event) {\n\t\tevent.stopPropagation();\n\t});\n\n\t(0, _jquery2.default)('#survey-form').on('focus', '.digit-input', function () {\n\t\t(0, _jquery2.default)(this).on('mousewheel.disableScroll', function (e) {\n\t\t\te.preventDefault();\n\t\t});\n\t});\n\n\t(0, _jquery2.default)('#survey-form').on('blur', '.digit-input', function () {\n\t\t(0, _jquery2.default)(this).off('mousewheel.disableScroll');\n\t});\n\n\t(0, _jquery2.default)('#survey-form').on('click', '#submit-wrapper', function () {\n\t\t(0, _validate.validateSurvey)('#survey-form', true, true);\n\t});\n\n\t/**\n * Input KeyUp 動態; on('keyup') on('blur')\n */\n\t(0, _jquery2.default)('#survey-form').on('change', '.type input, .type textarea, .slide-bar-container .digit-input', function () {\n\t\tvar getValue = (0, _xss2.default)((0, _jquery2.default)(this).val());\n\t\tvar parentSubject = (0, _jquery2.default)(this).closest('.subject-wrapper');\n\t\tvar parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\n\t\tif ((0, _jquery2.default)(this).hasClass('digit-input')) {\n\t\t\t(0, _validate.validateSingleEle)((0, _jquery2.default)(this));\n\t\t}\n\n\t\tif (getValue !== '') {\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t}\n\n\t\t/**\n * 更新答案\n */\n\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubject.attr('data-id'), getValue, 'WRITE');\n\n\t\t/**\n * 帶入答案\n */\n\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\t});\n\n\t/**\n * Input KeyUp 動態\n */\n\t(0, _jquery2.default)('#survey-form').on('change', '.else-wrap input', function () {\n\t\tvar getValue = (0, _xss2.default)((0, _jquery2.default)(this).val());\n\t\tvar parentSubject = (0, _jquery2.default)(this).closest('.subject-wrapper');\n\t\tvar parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\n\t\tif (getValue !== '') {\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t}\n\n\t\t/**\n * 更新答案\n */\n\t\t(0, _initial.updateSingleAns)((0, _jquery2.default)(this).attr('name'), getValue, 'WRITE');\n\n\t\t/**\n * 帶入答案\n */\n\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\t});\n\n\t/**\n * 定時相關\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.video-play-icon', function () {\n\t\tvar parentSubject = (0, _jquery2.default)(this).parents('.subject-wrapper');\n\n\t\tparentSubject.addClass('withplaying');\n\t\t(0, _jquery2.default)(this).parents('.video-block').find('.video-iframe').addClass('playing');\n\t\t(0, _jquery2.default)(this).parents('.video-block').find('.video-iframe').append((0, _videoPlayer.createYoutubePlayer)((0, _jquery2.default)(this).parents('.video-block').attr('youtubeid'), true));\n\n\t\tif (parentSubject.hasClass('waitVideoPlay')) {\n\t\t\tconsole.log('等待影片點擊才 RUN TIMER 的');\n\t\t\tparentSubject.removeClass('waitVideoPlay');\n\n\t\t\t(0, _common.runTimer)(parseInt(parentSubject.find('.timer-overlay').attr('timer'), 10));\n\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('已經 RUN 過 TIMER 的');\n\t});\n\n\t(0, _jquery2.default)('#survey-form').on('click', '.timer-overlay-container', function () {\n\t\tvar parentSubject = (0, _jquery2.default)(this).parents('.subject-wrapper');\n\t\tvar thisParSN = parseInt(parentSubject.attr('id'), 10);\n\t\tvar timerOverlay = (0, _jquery2.default)(this).parents('.timer-overlay');\n\t\tvar timerOverlayArr = [timerOverlay];\n\n\t\tif (parentSubject.hasClass('NEST')) {\n\t\t\ttimerOverlayArr.push(parentSubject.siblings('.subject-wrapper[childtopar=\\'' + thisParSN + '\\']').find('.timer-overlay'));\n\t\t}\n\n\t\t_jquery2.default.each(timerOverlayArr, function () {\n\t\t\t(0, _jquery2.default)(this).addClass('runTimerTarget');\n\t\t});\n\n\t\tif (_appVariable2.default.layout === 'PORTRAIT' || _appVariable.pageConfig.mode === 'manual') {\n\t\t\t(0, _videoPlayer.stopOtherPlaying)(thisParSN);\n\n\t\t\tif (parentSubject.hasClass('NEST')) {\n\t\t\t\tparentSubject.siblings('.subject-wrapper').not('[childtopar=\\'' + thisParSN + '\\']').addClass('timer-disabled');\n\t\t\t} else {\n\t\t\t\tparentSubject.siblings('.subject-wrapper').addClass('timer-disabled');\n\t\t\t}\n\n\t\t\t(0, _jquery2.default)('#submit-wrapper button').attr('disabled', 'disabled');\n\t\t} else if (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\tif (parentSubject.hasClass('withrequired')) {\n\t\t\t\t_appVariable.variable.needRunTimer = true;\n\n\t\t\t\t(0, _jquery2.default)('.page-control-wrapper').attr('title', _appVariable.sysLang.wording.act_play_to_countdowun).tooltip('fixTitle').tooltip('show');\n\t\t\t} else {\n\t\t\t\t_appVariable.variable.needRunTimer = false;\n\t\t\t}\n\t\t}\n\n\t\tif (!parentSubject.hasClass('waitVideoPlay')) {\n\t\t\t(0, _common.runTimer)(parseInt(timerOverlay.attr('timer'), 10));\n\t\t}\n\t});\n\n\t/**\n * 防止 submit 動態, 把, .type textarea 拿掉唷,不然會不能換行。\n */\n\t(0, _jquery2.default)('#survey-form').on('keydown', '.type input', function (e) {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\n\t\t\tif (_appVariable2.default.layout === 'BROCHURE') {\n\t\t\t\tif ((0, _jquery2.default)(this).hasClass('textOnece')) {\n\t\t\t\t\t(0, _jquery2.default)(this).blur();\n\t\t\t\t\t_appVariable2.default.remote = true;\n\t\t\t\t} else {\n\t\t\t\t\t(0, _jquery2.default)(this).change();\n\t\t\t\t\t(0, _jquery2.default)('#next-sbj-btn').trigger('click');\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (_appVariable2.default.layout === 'PORTRAIT') {\n\t\t\t\tfocusTitle((0, _jquery2.default)('#' + (0, _jquery2.default)(this).parents('.subject-wrapper').next().attr('id')));\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t(0, _jquery2.default)('#survey-form').on('keydown', '.else-wrap input', function (e) {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t/**\n * RATINGBAR JS\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.ratingbar-wrap .rating', function () {\n\t\tvar ratingWrap = (0, _jquery2.default)(this).parents('.ratingbar-wrap');\n\t\tvar thisRatingBar = ratingWrap.find('.rating');\n\t\tvar newIndex = (0, _jquery2.default)(this).index();\n\t\tvar lastIndex = ratingWrap.find('.rating.active').last().index();\n\t\tvar thisPointer = lastIndex === -1 ? 0 : lastIndex;\n\n\t\tvar parentSubject = (0, _jquery2.default)(this).closest('.subject-wrapper');\n\t\tvar parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\t\tvar parentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\n\t\tvar addRating = true;\n\n\t\tif ((0, _jquery2.default)(this).hasClass('active')) {\n\t\t\tif (lastIndex !== newIndex) {\n\t\t\t\t(function () {\n\t\t\t\t\tvar plusInterval = setInterval(function () {\n\t\t\t\t\t\tif (thisPointer === newIndex) {\n\t\t\t\t\t\t\tthisRatingBar.eq(thisPointer).removeClass('effect');\n\t\t\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('effect');\n\t\t\t\t\t\t\tclearInterval(plusInterval);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthisRatingBar.eq(thisPointer).removeClass('active effect');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthisPointer -= 1;\n\t\t\t\t\t}, 30);\n\t\t\t\t})();\n\t\t\t} else {\n\t\t\t\t/**\n * 取消答案\n */\n\t\t\t\tthisRatingBar.removeClass('active effect');\n\t\t\t\taddRating = false;\n\t\t\t}\n\t\t} else {\n\t\t\t(function () {\n\t\t\t\tvar plusInterval = setInterval(function () {\n\t\t\t\t\tif (thisPointer === newIndex) {\n\t\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('active effect');\n\t\t\t\t\t\tclearInterval(plusInterval);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('active');\n\t\t\t\t\t}\n\n\t\t\t\t\tthisPointer += 1;\n\t\t\t\t}, 30);\n\t\t\t})();\n\t\t}\n\n\t\tif (addRating) {\n\t\t\t(0, _jquery2.default)('#' + parentSubjectSn).find('.ratingbar-input').val(newIndex + 1);\n\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, newIndex + 1, 'WRITE');\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsuperResetSbj(parentSubjectSn, parentSubjectId);\n\t});\n\n\t/**\n * 矩陣題組動態\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.NESTCHILD .level-wrap .level', function () {\n\t\tif ((0, _jquery2.default)(this).hasClass('active')) {\n\t\t\toptionExam('nest', (0, _jquery2.default)(this), true);\n\n\t\t\treturn;\n\t\t}\n\n\t\toptionExam('nest', (0, _jquery2.default)(this));\n\t});\n\n\t/**\n * 排序題動態\n */\n\t(0, _jquery2.default)('#survey-form').on('click', '.subject-wrapper .itemsort-refresh', function () {\n\t\tconsole.log('///// itemsort-refresh click');\n\t\tvar parentSubject = (0, _jquery2.default)(this).closest('.subject-wrapper');\n\n\t\t/**\n * 用來清除該題所有答案&UI。\n */\n\t\tsuperResetSbj(parseInt(parentSubject.attr('id'), 10), parseInt(parentSubject.attr('data-id'), 10));\n\t});\n\n\tif (_appVariable2.default.sortMode === 'dragIt') {\n\t\t(0, _jquery2.default)('#survey-form').on('click', '.option-wrapper .option[svtype=\"sortbox\"]', function () {\n\t\t\tvar dragSortElem = (0, _jquery2.default)(this).parents('.drag-sort-block');\n\t\t\tvar dragSortID = dragSortElem.attr('id');\n\t\t\tvar sortableEle = '#' + dragSortID + ' .choosen-wrapper';\n\t\t\tvar chkNeedSortItem = (0, _action.getSortLimit)(dragSortElem);\n\t\t\tvar needSortItem = chkNeedSortItem !== false ? chkNeedSortItem : 0;\n\n\t\t\tvar thisDragSubject = (0, _jquery2.default)(this).clone();\n\t\t\tvar totalCount = (0, _jquery2.default)(sortableEle).find('.option').length;\n\n\t\t\tif (totalCount < needSortItem) {\n\t\t\t\t(0, _jquery2.default)(this).addClass('put-to-sort');\n\t\t\t\tthisDragSubject.addClass('ui-draggable');\n\t\t\t\tthisDragSubject.attr('id', (0, _jquery2.default)(this).attr('id'));\n\t\t\t\tthisDragSubject.append('
');\n\t\t\t\t(0, _jquery2.default)(sortableEle).append(thisDragSubject);\n\t\t\t}\n\n\t\t\tif (totalCount + 1 >= needSortItem) {\n\t\t\t\t(0, _jquery2.default)(sortableEle).addClass('FULLEDSORT');\n\t\t\t} else {\n\t\t\t\t(0, _jquery2.default)(sortableEle).removeClass('FULLEDSORT');\n\t\t\t}\n\n\t\t\t(0, _action.afterSort)((0, _jquery2.default)(sortableEle));\n\t\t});\n\n\t\t(0, _jquery2.default)('#survey-form').on('click', '.choosen-wrapper .option-remove', function () {\n\t\t\tvar thisRemoveItem = (0, _jquery2.default)(this).parents('.option');\n\t\t\tvar targetChoosen = thisRemoveItem.parents('.choosen-wrapper');\n\n\t\t\t/**\n * send back dis-selected Answer\n * remove the choosen dom\n */\n\t\t\t(0, _jquery2.default)(this).parents('.drag-sort-block').find('.option-wrapper .option[data-id=\\'' + thisRemoveItem.attr('data-id') + '\\']').removeClass('put-to-sort');\n\t\t\tthisRemoveItem.remove();\n\t\t\ttargetChoosen.removeClass('FULLEDSORT');\n\n\t\t\t(0, _action.afterSort)(targetChoosen);\n\t\t});\n\t} else if (_appVariable2.default.sortMode === 'clickIt') {\n\t\t(0, _jquery2.default)('#survey-form').on('click', '.subject-answer .option[svtype=\"sortbox\"]', function () {\n\t\t\tconsole.log('///// sortbox click');\n\t\t\tvar $selectedOPTION = (0, _jquery2.default)(this);\n\n\t\t\tvar optID = (0, _common.separateOptionIdFromText)($selectedOPTION.attr('data-id'));\n\t\t\tvar parentSubject = $selectedOPTION.closest('.subject-wrapper');\n\t\t\tvar parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\t\t\tvar parentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\t\t\tvar parentAnswer = $selectedOPTION.closest('.subject-answer');\n\t\t\tvar parentAnswerLower = parentAnswer.attr('mincount');\n\t\t\tvar parentAnswerUpper = parentAnswer.attr('maxcount');\n\t\t\tvar checked = $selectedOPTION.hasClass('active');\n\t\t\tvar checkedNum = parentSubject.find('.option.active').length;\n\t\t\tvar doAction = true;\n\t\t\tvar needSortItem = 0;\n\n\t\t\tvar toggleCheck = function toggleCheck() {\n\t\t\t\t/**\n * Add check\n */\n\t\t\t\tif (!checked) {\n\t\t\t\t\t$selectedOPTION.addClass('active');\n\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, 'opt_' + optID, 'ADD');\n\t\t\t\t} else {\n\t\t\t\t\t/**\n * remove check\n */\n\t\t\t\t\t$selectedOPTION.removeClass('active');\n\t\t\t\t\t(0, _initial.updateSingleAns)('sbj_' + parentSubjectId, 'opt_' + optID, 'REMOVE');\n\t\t\t\t}\n\n\t\t\t\tparentAnswer.find('input[name*=\\'sbj_' + parentSubjectId + '\\']').val('');\n\t\t\t\tparentAnswer.find('.option[data-id*=\"opt_\"]').removeAttr('sortnum');\n\n\t\t\t\tvar theAns = getAnswerByOrder((0, _common.findOrderBySN)(parentSubjectSn));\n\t\t\t\tif (theAns) {\n\t\t\t\t\t_jquery2.default.each(theAns, function (indexs, optids) {\n\t\t\t\t\t\tparentAnswer.find('input[name=\"sbj_' + parentSubjectId + '[' + indexs + ']\"]').val(optids);\n\t\t\t\t\t\tparentAnswer.find('.option[data-id=\"' + optids + '\"]').attr('sortnum', indexs + 1);\n\n\t\t\t\t\t\t(0, _validate.validateSingleEle)(parentAnswer.find('input[name=\"sbj_' + parentSubjectId + '[' + indexs + ']\"]'));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar optionActionUI = function optionActionUI() {\n\t\t\t\tif (doAction === true) {\n\t\t\t\t\ttoggleCheck();\n\t\t\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\t\t}\n\n\t\t\t\t/**\n * 組合出字串給帶入的題目\n */\n\t\t\t\t(0, _portrait.ansTagToUI)(parentSubjectSn);\n\t\t\t};\n\n\t\t\tif (parentAnswerLower) {\n\t\t\t\tneedSortItem = parseInt(parentAnswerLower, 10);\n\t\t\t}\n\n\t\t\tif (parentAnswerUpper) {\n\t\t\t\tneedSortItem = parseInt(parentAnswerUpper, 10);\n\t\t\t}\n\n\t\t\tif (!checked && checkedNum + 1 > needSortItem) {\n\t\t\t\t/**\n * Add check, 超過了不給點\n */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\toptionActionUI();\n\t\t});\n\t}\n};\n\nvar formatAns = exports.formatAns = function formatAns() {\n\tconsole.log('/// formatAns');\n\n\tvar returnData = {\n\t\thasAns: false,\n\t\tansValid: true\n\t};\n\tvar finalAns = {};\n\n\t(0, _validate.checkAnsCount)();\n\n\t_constant.defaultInput.forEach(function (svkey) {\n\t\tfinalAns[svkey] = (0, _jquery2.default)('input[name=\\'' + svkey + '\\']').val();\n\t});\n\n\t/**\n * force set svid for not empty\n */\n\tif (!finalAns.svid) {\n\t\tfinalAns.svid = _appVariable2.default.surveyId;\n\t}\n\n\tif (_appVariable.urlQueryObject.mbunq) {\n\t\tif (_appVariable.urlQueryObject.mbunq.length > 255) {\n\t\t\t_appVariable.urlQueryObject.mbunq = _appVariable.urlQueryObject.mbunq.substring(0, 255);\n\t\t}\n\n\t\tfinalAns.mbunq = _appVariable.urlQueryObject.mbunq;\n\t}\n\n\t/**\n * 製作答案格式\n */\n\t_jquery2.default.each(_appVariable.thisAnswerObj, function (ansk, ansObj) {\n\t\t_jquery2.default.each(ansObj, function (thek, thev) {\n\t\t\tif (thev !== null) {\n\t\t\t\tif ((typeof thev === 'undefined' ? 'undefined' : _typeof(thev)) === 'object') {\n\t\t\t\t\tif (thev.length) {\n\t\t\t\t\t\tfinalAns[thek] = thev;\n\t\t\t\t\t\t_appVariable.svEndConfig.ansSbjLog[thek] = true;\n\t\t\t\t\t\treturnData.hasAns = true;\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof thev === 'string') {\n\t\t\t\t\tfinalAns[thek] = thev;\n\t\t\t\t\t_appVariable.svEndConfig.ansSbjLog[thek] = true;\n\t\t\t\t\treturnData.hasAns = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\treturnData.ansData = finalAns;\n\treturnData.svEndConfig = _appVariable.svEndConfig;\n\n\t/**\n * 檢查所有的 sbjID 是否符合該填寫的\n */\n\t_jquery2.default.each(_appVariable.svEndConfig.ansSbjLog, function (id, status) {\n\t\tif (status === false) {\n\t\t\treturnData.ansValid = false;\n\t\t}\n\t});\n\n\treturn returnData;\n};\n\nvar removeMaxtimesOptions = exports.removeMaxtimesOptions = function removeMaxtimesOptions(theData) {\n\tif (_appVariable.svEndConfig.endBySorry && _appVariable.svEndConfig.endBySorryOpt.length) {\n\t\t_jquery2.default.each(theData, function (theK, theV) {\n\t\t\tif ((typeof theV === 'undefined' ? 'undefined' : _typeof(theV)) === 'object' && theV.length) {\n\t\t\t\t(function () {\n\t\t\t\t\tvar ansNeedDel = [];\n\n\t\t\t\t\t_jquery2.default.each(theV, function (index, value) {\n\t\t\t\t\t\tvar theOptID = parseInt((0, _common.separateOptionIdFromText)(value), 10);\n\n\t\t\t\t\t\tif (_jquery2.default.inArray(theOptID, _appVariable.svEndConfig.endBySorryOpt) !== -1) {\n\t\t\t\t\t\t\tansNeedDel.push('opt_' + theOptID);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (ansNeedDel.length > 0) {\n\t\t\t\t\t\t_jquery2.default.each(ansNeedDel, function (th, tv) {\n\t\t\t\t\t\t\t(0, _array.arrDelData)(theV, tv);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})();\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.default = 'MAIN';\n\n/***/ }),\n\n/***/ \"xg/R\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar credentialsType = function credentialsType(url) {\n\treturn url.startsWith(_appConfig.fileDomain) || url.startsWith(_appConfig.shortenDomain) || url.startsWith(_appConfig.assetsDomain) ? 'omit' : 'include';\n};\n\nvar customFetch = function customFetch(url, options) {\n\treturn fetch(url, Object.assign({}, options, {\n\t\tcredentials: credentialsType(url)\n\t}));\n};\n\nexports.default = customFetch;\n\n/***/ }),\n\n/***/ \"y5ry\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n/**\n * export for testing\n */\nvar parseQuery = exports.parseQuery = function parseQuery(queryString) {\n\tvar queryArr = queryString.split('&');\n\n\tvar queryObject = {};\n\tfor (var i = 0; i < queryArr.length; i += 1) {\n\t\tvar kv = queryArr[i].split('=');\n\t\tkv = [kv.shift(), kv.join('=')];\n\n\t\tif (kv.length === 2) {\n\t\t\tvar nValue = decodeURIComponent(kv[1].replace(/\\+/g, \" \"));\n\n\t\t\tif (typeof queryObject[kv[0]] === 'string') {\n\t\t\t\tqueryObject[kv[0]] = [queryObject[kv[0]], nValue];\n\t\t\t} else {\n\t\t\t\tqueryObject[kv[0]] = nValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn queryObject;\n};\n\n/**\n * MAIN function\n */\nvar getQueryObj = function getQueryObj() {\n\tvar queryString = window.location.search.substr(1);\n\n\t// no query\n\tif (queryString === '') {\n\t\treturn {};\n\t}\n\n\treturn parseQuery(queryString);\n};\n\nexports.default = getQueryObj;\n\n/***/ }),\n\n/***/ \"yriJ\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.singleSubjectUI = undefined;\n\nvar _jquery = __webpack_require__(\"7t+N\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar singleSubjectUI = exports.singleSubjectUI = function singleSubjectUI(element) {\n\tvar title = element.find('.subject-title').text();\n\telement.find('.subject-title').attr('alt', title);\n\n\tvar optionTexts = element.find('.option .opt-text');\n\toptionTexts.each(function () {\n\t\tvar text = (0, _jquery2.default)(this).text();\n\t\t(0, _jquery2.default)(this).attr('alt', text + '-' + title);\n\t});\n};\n\nexports.default = 'This is enterprise-cathaybk';\n\n/***/ }),\n\n/***/ \"zDJp\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appConfig = __webpack_require__(\"nJ7o\");\n\nvar _customFetch = __webpack_require__(\"xg/R\");\n\nvar _customFetch2 = _interopRequireDefault(_customFetch);\n\nvar _handleErrorRequest = __webpack_require__(\"ndJn\");\n\nvar _handleErrorRequest2 = _interopRequireDefault(_handleErrorRequest);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getUserStatus = function getUserStatus(surveyId) {\n\treturn (0, _customFetch2.default)(_appConfig.apiDomain + '/' + _appConfig.apiVersion + '/s/user/ext/chk-session?svid=' + surveyId).then(function (res) {\n\t\treturn (0, _handleErrorRequest2.default)(res);\n\t});\n};\n\nexports.default = getUserStatus;\n\n/***/ })\n\n},[3]);\n\n\n// WEBPACK FOOTER //\n// index.cc3bfac50c31b.chunk.js","module.exports = ga;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ga\"\n// module id = 0\n// module chunks = 1 2","module.exports = __webpack_public_path__ + \"thankyou.c55e52edcf4ee.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/banner/thankyou.jpg\n// module id = 0MEj\n// module chunks = 1 2","import $ from 'jquery';\nimport { fileDomain } from '../appConfig';\nimport svConfig, {\n\turlQueryObject, sysLang, thisSubjectsObj, pageSNArr, variable, pageConfig,\n} from '../appVariable';\nimport { findOrderBySN } from '../common';\nimport { goPageNext } from '../feature/brochure';\n\n/**\n * set viewport\n */\nconst viewport = document.querySelector('meta[name=viewport]');\nif (viewport) {\n\tviewport.setAttribute('content', 'width=device-width, initial-scale=1, user-scalable=1');\n}\n\n/**\n * audio mapping setting\n */\nconst audioFrom = 'ssn439';\nconst audioTypeMapping = {\n\topt_1005104: 'mandarin',\n\topt_1005105: 'taiwanese',\n\topt_1005106: 'hakka',\n};\n\nlet pageAudioList;\nlet audioPlayer;\nconst noFixedSbjType = ['STATEMENT', 'QUOTE'];\nlet hasScrollBar = false;\nlet scrollDetect = true;\n\nconst hasOptionAudio = [\n\t1000782,\n\t1000783,\n\t1000784,\n\t1000786,\n\t1000787,\n\t1000788,\n\t1000789,\n\t1000790,\n\t1000791,\n\t1000792,\n\t1000793,\n\t1000794,\n\t1000795,\n\t1004954,\n\t1004955,\n\t1004956,\n\t1004957,\n\t1004958,\n\t1004959,\n\t1004960,\n\t1004961,\n\t1004962,\n\t1004963,\n\t1004964,\n\t1004965,\n\t1004966,\n];\n\nconst toggleScrollHint = () => {\n\tif (scrollDetect) {\n\t\tscrollDetect = false;\n\n\t\tconst isScrollToBottom = ($(window).scrollTop() + $(window).height()) >= ($(document).height() - 120);\n\n\t\tif (hasScrollBar && !isScrollToBottom) {\n\t\t\t$('.scroll-to-bottom').removeClass('_hide');\n\t\t\tsetTimeout(() => {\n\t\t\t\t$('.scroll-to-bottom').addClass('_show');\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tscrollDetect = true;\n\t\t\t\t}, 40);\n\t\t\t}, 40);\n\t\t} else {\n\t\t\t$('.scroll-to-bottom').removeClass('_show');\n\t\t\tsetTimeout(() => {\n\t\t\t\t$('.scroll-to-bottom').addClass('_hide');\n\t\t\t\tscrollDetect = true;\n\t\t\t}, 400);\n\t\t}\n\t}\n};\n\n/**\n * happy life 客製化\n */\nconst setAudioPosition = () => {\n\tif (variable.winW >= 800) {\n\t\t$('.audio-play-btn').css({ right: ((variable.winW - 800) / 2) + 80 });\n\t} else {\n\t\t$('.audio-play-btn').css({ right: 5 });\n\t}\n};\n\nconst getAudioList = () => {\n\tconst thePageSN = pageSNArr[pageConfig.now];\n\tconst theList = [];\n\n\tfunction getSingleSbjAudio(theSn) {\n\t\tif (thePageSN === 'submit-wrapper') {\n\t\t\tconst lastPageAudio = `${svConfig.audioPath}last_page.mp3`;\n\t\t\ttheList.push(lastPageAudio);\n\t\t\treturn;\n\t\t}\n\n\t\tconst theOrder = findOrderBySN(theSn);\n\t\tif (theOrder !== false) {\n\t\t\tconst sbjval = thisSubjectsObj[theOrder];\n\n\t\t\t/* subject id */\n\t\t\tconst sbjTitleAudio = `${svConfig.audioPath}sbj_${sbjval.ID}.mp3`;\n\t\t\ttheList.push(sbjTitleAudio);\n\n\t\t\t/* options id */\n\t\t\tif ($.inArray(sbjval.ID, hasOptionAudio) !== -1) {\n\t\t\t\tif (sbjval.options) {\n\t\t\t\t\t$.each(sbjval.options, (i, theOptObj) => {\n\t\t\t\t\t\tconst optTextAudio = `${svConfig.audioPath}opt_${theOptObj.ID}.mp3`;\n\t\t\t\t\t\ttheList.push(optTextAudio);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (thePageSN && typeof thePageSN === 'object') {\n\t\t$.each(thePageSN, (i, theSn) => {\n\t\t\tgetSingleSbjAudio(theSn);\n\t\t});\n\t} else {\n\t\tgetSingleSbjAudio(thePageSN);\n\t}\n\n\treturn theList;\n};\n\nconst audioObj = (playerId) => {\n\tconst newAudio = this;\n\tlet audioDom;\n\n\tnewAudio.current = 0;\n\tnewAudio.playing = 0;\n\tnewAudio.list = [];\n\n\tnewAudio.addList = (lists) => {\n\t\tif (lists && lists.length > 0) {\n\t\t\tlists.forEach((item) => {\n\t\t\t\tnewAudio.list.push(item);\n\t\t\t});\n\n\t\t\taudioDom.src = newAudio.list[0];\n\t\t} else {\n\t\t\taudioDom.src = null;\n\t\t}\n\t};\n\n\tnewAudio.hasList = () => {\n\t\tif (newAudio.list && newAudio.list.length > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tnewAudio.play = () => {\n\t\tnewAudio.playing = 1;\n\t\tnewAudio.player.play();\n\t\t$('.audio-play-btn').addClass('playing');\n\t};\n\n\tnewAudio.pause = () => {\n\t\tnewAudio.playing = 0;\n\t\tnewAudio.player.pause();\n\t\t$('.audio-play-btn').removeClass('playing');\n\t};\n\n\tnewAudio.switch = (index) => {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewAudio.player.src = newAudio.list[index];\n\t\tnewAudio.player.load();\n\n\t\tsetTimeout(() => {\n\t\t\tnewAudio.play();\n\t\t}, 2000);\n\t};\n\n\tnewAudio.next = () => {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\n\t\tnewAudio.current += 1;\n\n\t\tif (newAudio.current > newAudio.list.length - 1) {\n\t\t\tnewAudio.current = 0;\n\t\t}\n\n\t\tnewAudio.switch(newAudio.current);\n\t};\n\n\tnewAudio.toggle = () => {\n\t\tif (!newAudio.hasList()) {\n\t\t\treturn;\n\t\t}\n\t\tif (newAudio.playing) {\n\t\t\tnewAudio.pause();\n\t\t} else {\n\t\t\tnewAudio.play();\n\t\t}\n\t};\n\n\tnewAudio.init = () => {\n\t\tnewAudio.player.addEventListener('ended', () => {\n\t\t\tnewAudio.next();\n\t\t});\n\t};\n\n\tnewAudio.reset = () => {\n\t\tnewAudio.list = [];\n\t\tnewAudio.current = 0;\n\t\tnewAudio.pause();\n\n\t\tif (newAudio.player.readyState > 0) {\n\t\t\tnewAudio.player.currentTime = 0;\n\t\t}\n\t};\n\n\tnewAudio.playing = () => newAudio.playing;\n\n\tnewAudio.createElement = () => {\n\t\taudioDom = document.createElement('audio');\n\t\taudioDom.id = playerId;\n\t\taudioDom.preload = 'auto';\n\t\taudioDom.tabindex = '0';\n\t\taudioDom.type = 'audio/mpeg';\n\t\tdocument.getElementById('audio-player-wrap').appendChild(audioDom);\n\n\t\tnewAudio.player = document.getElementById(playerId);\n\t\tnewAudio.player.volume = 1;\n\n\t\tnewAudio.init();\n\t};\n\n\tnewAudio.createElement();\n};\n\nconst insertAudioPlayer = () => {\n\t$('#survey-content').prepend('
');\n\n\taudioPlayer = new audioObj('audio-player');\n\tsetAudioPosition();\n\n\t$('.audio-play-btn').on('click', () => {\n\t\taudioPlayer.toggle();\n\n\t\tif (audioPlayer.playing()) {\n\t\t\t$('.audio-play-btn').addClass('playing');\n\t\t} else {\n\t\t\t$('.audio-play-btn').removeClass('playing');\n\t\t}\n\t});\n};\n\nexport const init = () => {\n\tif (variable.surveyData.layouts === 'BROCHURE') {\n\t\t/* setup audio ui */\n\t\tinsertAudioPlayer();\n\n\t\t/* welcome page quick pass */\n\t\tgoPageNext();\n\n\t\t/* 不要鍵盤翻頁 */\n\t\t$('body').off('keydown');\n\n\t\t/* 移動 logo */\n\t\t$('#control-wrapper').insertAfter($('#footer-logo'));\n\t\t$('
作答完滑到底,按下一頁繼續
').insertAfter($('#control-wrapper'));\n\n\t\t/* 設定語音語言 */\n\t\tsvConfig.audio = urlQueryObject[audioFrom] ? audioTypeMapping[urlQueryObject[audioFrom]] : 'mandarin';\n\t\tconst audioHash = svConfig.masterhash ? svConfig.masterhash : 'O0zx3';\n\t\tsvConfig.audioPath = `${fileDomain}/asset/audio/${audioHash}/${svConfig.audio}/`;\n\n\t\t/* 移除不需要的東西 */\n\t\t$('#Breadcrumb-wrapper').remove();\n\n\t\t$(window).resize(() => {\n\t\t\tvariable.winW = $(window).width();\n\t\t\tsetAudioPosition();\n\t\t});\n\n\t\t$(window).scroll(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\ttoggleScrollHint();\n\t\t\t}, 300);\n\t\t});\n\t}\n};\n\nexport const changeString = () => {\n\tsysLang.wording.info_optcount_incorrect = '此題必選 2 項';\n};\n\nexport const beforeShowPage = () => {\n\t/*\n\t * 開始翻頁前\n\t */\n\tif (audioPlayer && audioPlayer.reset) {\n\t\taudioPlayer.reset();\n\t}\n};\n\nexport const afterShowPage = () => {\n\t/*\n\t * 完成翻頁後\n\t */\n\tif (audioPlayer) {\n\t\tpageAudioList = getAudioList();\n\t\taudioPlayer.addList(pageAudioList);\n\t}\n\n\t/*\n\t * 設定 fixed 元件\n\t */\n\tconst thePageSN = pageSNArr[pageConfig.now];\n\tlet theOrder;\n\tif (thePageSN && typeof thePageSN === 'object') {\n\t\ttheOrder = findOrderBySN(thePageSN[0]);\n\t} else {\n\t\ttheOrder = findOrderBySN(thePageSN);\n\t}\n\n\tif (theOrder !== false) {\n\t\tif ($.inArray(thisSubjectsObj[theOrder].type, noFixedSbjType) === -1) {\n\t\t\t$('.subject-wrapper')\n\t\t\t\t.not('.subject-wrapper-temp')\n\t\t\t\t.find('.subject-title')\n\t\t\t\t.wrap('
');\n\t\t\t$('#survey-form').removeClass('no-fixed-subject-type');\n\t\t} else {\n\t\t\t$('#survey-form').addClass('no-fixed-subject-type');\n\t\t}\n\t}\n\n\thasScrollBar = document.body.scrollHeight > document.documentElement.clientHeight;\n\ttoggleScrollHint();\n\n\t/*\n\t * 設定 文上圖下\n\t */\n\tconst choiceSubjects = $('#survey-form')\n\t\t.find('.subject-wrapper.CHOICEONE, .subject-wrapper.CHOICEMULTI, .subject-wrapper.PICKFROM');\n\tif (choiceSubjects.length > 0) {\n\t\tconst mediaOptions = choiceSubjects.find('.subject-answer.withMedia .option');\n\t\tif (mediaOptions.length > 0) {\n\t\t\t$.each(mediaOptions, function () {\n\t\t\t\tconst thisOptionMedia = $(this).find('.opt-media');\n\t\t\t\tif (thisOptionMedia) {\n\t\t\t\t\t$(this).append(thisOptionMedia);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/*\n\t * 設定 last page ui\n\t */\n\tif (pageConfig.now && pageSNArr[pageConfig.now] === 'submit-wrapper') {\n\t\t/*\n\t\t * this is last page\n\t\t */\n\t\t$('body').addClass('_last');\n\n\t\t$('#survey-form').prepend('
');\n\t\t$('#custom-last-page').load('/s/theme/HAPPYLIFE/last-page.html');\n\t} else {\n\t\t$('body').removeClass('_last');\n\t\t$('#custom-last-page').remove();\n\t}\n};\n\nexport default 'This is enterprise-stans';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/enterprise/stans.js","module.exports = fbq;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fbq\"\n// module id = 1\n// module chunks = 1 2","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 3IRH\n// module chunks = 1 2","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getInitMeta = (svid) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/survey/init-meta?svid=${svid}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getInitMeta;\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getInitMeta.js","import $ from 'jquery';\nimport xss from 'xss';\nimport svConfig, {\n\tpageConfig, nestConfig, urlQueryObject, thisAnswerObj,\n\tsysLang, thisSubjectsObj, pageSNArr, variable, isIniframe,\n} from './appVariable';\nimport { serverDomain, defaultLanguage } from './appConfig';\nimport {\n\tallHtmlElement, needTrimElement, acceptSbjType, typingSbjType,\n\tclickSbjType, uxSbjType, logicSbjType,\n} from './constant';\nimport {\n\toverflowBody, separateOptionIdFromText, findOrderBySN, findPageNumberBySN,\n\treviseImgUrl, objectSize, findOptionObjectById, scrollToEle,\n} from './common';\nimport {\n\tnewEventData, eventTracking, loadMoreFiles, notfoundUI,\n\tgetSurveyPublic, getMasterSurveySubjects,\n\toptObjArr, iniSubjectObj, prepareData, updateSingleAns,\n} from './initial';\nimport { rndOptsArr, arrInsertArr } from './array';\nimport {\n\tfocusTitle, progressCount, portraitProgressCount,\n\tsetAnswerJS, setFastClick, setFulledUI, setPrivateJS,\n} from './main';\nimport { convertTZString, createTimeStamp, parseDate } from './time';\nimport { setVisit, setClientTracking, checkMaxtimes, setTimeoutTimer } from './action';\nimport {\n\tresizeVideoBlock, resizeLevelW, resizeRatingBar, showErrorInfo, hideErrorInfo,\n\tcreateSliderUI, autoTextArea, resizeMtop, createSortDragUI,\n} from './ui';\nimport { validateSurvey, addMoreValidate, checkHasAns, validateSingleEle } from './validate';\nimport {\n\textAftDrawLastPage, extPreDrawSurvey, extPreIniSbjObj, extAftDrawWelcomePage, extPreDoneLoading,\n\tgetSubjectGroupJson, extChangeDocumentTitle, extAftSingleSubjectUI,\n} from './customize';\nimport { createYoutubeTumbnail } from './videoPlayer';\nimport { showPage, setPageJS, resetPageConfig } from './feature/brochure';\nimport { UIrefresh, ansTagToUI, getAnstagTXT } from './feature/portrait';\nimport getReportToken from './request/survey/getReportToken';\nimport { initialAwsSdk, createFileUpload } from './feature/fileUpload';\nimport { initialReCaptcha } from './feature/reCAPTCHA';\nimport imageLoader from './utils/image';\n\n/* -------------------------------------\n -------------- Drawpage -------------\n------------------------------------- */\nexport const drawWelcomePage = () => {\n\tif (variable.surveyData.welcomebanner) {\n\t\tconst bannerContainer = $('#welcome').find('.banner');\n\t\tconst imageUrl = reviseImgUrl(variable.surveyData.welcomebanner);\n\n\t\tconst welcomeBanner = imageLoader(\n\t\t\timageUrl,\n\t\t\t{\n\t\t\t\tonload: (image) => {\n\t\t\t\t\tconst theRatio = image.width / image.height;\n\n\t\t\t\t\tif (theRatio >= 0.8 && theRatio <= 1.2) {\n\t\t\t\t\t\tbannerContainer.addClass('rect');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonreplace: (image) => {\n\t\t\t\t\tbannerContainer.html(image);\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tbannerContainer.html(welcomeBanner);\n\t} else {\n\t\t$('#welcome .banner').remove();\n\t}\n\n\t$('#welcome .intro').css('position', 'relative');\n\n\t$('#welcome .intro').html(\n\t\t`

${variable.surveyData.title}

${\n\t\t\tvariable.surveyData.welcometext ? `
${variable.surveyData.welcometext}
` : ''\n\t\t}`,\n\t);\n\n\tif (variable.surveyData.legaltext) {\n\t\t$('#legaltext').html(variable.surveyData.legaltext);\n\t\t$('#legal-wrap').show();\n\t} else {\n\t\t$('#legal-wrap').remove();\n\t}\n\n\tpageSNArr.push('welcome');\n\n\textAftDrawWelcomePage();\n};\n\nexport const drawSurvey = () => {\n\tconsole.log('/// drawSurvey');\n\n\toverflowBody(true);\n\n\tconst drawSurveyDetail = () => {\n\t\thideErrorInfo();\n\n\t\t/**\n\t\t * entitiesData\n\t\t */\n\t\tvariable.surveyData.title = xss(variable.surveyData.title);\n\n\t\tif (!isIniframe) {\n\t\t\tsvConfig.leaveAlert = true;\n\t\t}\n\n\t\tsvConfig.layout = variable.surveyData.layouts;\n\t\tif (urlQueryObject.layout) {\n\t\t\tsvConfig.layout = urlQueryObject.layout;\n\t\t}\n\n\t\textChangeDocumentTitle();\n\n\t\t$('body').addClass(`${svConfig.layout}-view`);\n\n\t\tif (variable.surveyData.vnshow === 'OFF') {\n\t\t\t$('#survey-content').addClass('no-vn');\n\t\t}\n\n\t\tif (svConfig.layout === 'BROCHURE') {\n\t\t\tconsole.log('/// 使用分頁');\n\n\t\t\tif (variable.surveyData.backbtnshow !== 'SHOW' && svConfig.viewStatus === 'public') {\n\t\t\t\t$('#prev-sbj-btn').remove(); // 預覽永遠有\n\t\t\t}\n\n\t\t\tif (variable.surveyData.backbtnshow !== 'SHOW' && svConfig.viewStatus === 'preview') {\n\t\t\t\t/**\n\t\t\t\t * 預覽提示\n\t\t\t\t */\n\t\t\t\t$('#prev-sbj-btn').attr('title', sysLang.wording.str_pv_backbtn)\n\t\t\t\t\t.tooltip('fixTitle');\n\t\t\t}\n\t\t}\n\n\t\tif (svConfig.viewStatus === 'public') {\n\t\t\tsetTimeout(() => {\n\t\t\t\teventTracking();\n\n\t\t\t\tif (variable.ampInstance) {\n\t\t\t\t\tvariable.ampInstance.logEvent('Enter Survey', newEventData());\n\t\t\t\t}\n\t\t\t}, 3000);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (svConfig.alreadySetVisit === false) {\n\t\t\t\t\tsetVisit();\n\t\t\t\t}\n\t\t\t}, 15000);\n\n\t\t\tsetClientTracking();\n\t\t}\n\n\t\tdrawWelcomePage();\n\n\t\textPreIniSbjObj();\n\n\t\tiniSubjectObj();\n\t\tprepareData();\n\n\t\tif (svConfig.fileUpload.exist) {\n\t\t\tinitialAwsSdk();\n\t\t}\n\n\t\tif (svConfig.reCaptcha.enable) {\n\t\t\tinitialReCaptcha();\n\t\t}\n\n\t\tif (pageConfig.mode === 'manual') {\n\t\t\t$('body').addClass('_manual');\n\t\t}\n\t};\n\n\tif (variable.surveyData.masterhash) {\n\t\tgetMasterSurveySubjects(variable.surveyData.masterhash)\n\t\t\t.then(({ status }) => {\n\t\t\t\tif (status) {\n\t\t\t\t\tdrawSurveyDetail();\n\t\t\t\t}\n\t\t\t});\n\t} else {\n\t\tdrawSurveyDetail();\n\t}\n};\n\nexport const drawPublic = () => {\n\tconsole.log('/// drawPublic');\n\n\tsvConfig.nowGetTime = createTimeStamp();\n\tsvConfig.svStartTime = svConfig.svStartTime ? parseDate(svConfig.svStartTime).getTime() : '';\n\tsvConfig.svEndTime = svConfig.svEndTime ? parseDate(svConfig.svEndTime).getTime() : '';\n\n\t/**\n\t * format duration string according to offset\n\t */\n\tsvConfig.svDuration = `${\n\t\tsvConfig.svStartTime ? convertTZString(new Date(svConfig.svStartTime)) : ''\n\t} ~ ${\n\t\tsvConfig.svEndTime ? convertTZString(new Date(svConfig.svEndTime)) : ''\n\t}`;\n\n\tif (svConfig.svStartTime || svConfig.svEndTime) {\n\t\tif (svConfig.svStartTime && svConfig.nowGetTime < svConfig.svStartTime) {\n\t\t\tsvConfig.svDurationPass = false;\n\t\t}\n\n\t\tif (svConfig.svEndTime && svConfig.nowGetTime > svConfig.svEndTime) {\n\t\t\tsvConfig.svDurationPass = false;\n\t\t}\n\t}\n\n\tif (svConfig.svDurationPass) {\n\t\tlet isFulled = true;\n\t\tif (variable.surveyData.limitcount === null ||\n\t\t\tvariable.surveyData.ppl_count == null ||\n\t\t\tvariable.surveyData.ppl_count < variable.surveyData.limitcount\n\t\t) {\n\t\t\tconsole.log('//// 沒有設定上限');\n\n\t\t\tisFulled = false;\n\t\t}\n\n\t\tif (isFulled) {\n\t\t\tconsole.log('//// 額滿');\n\n\t\t\t$('#loading').remove();\n\t\t\tshowErrorInfo({\n\t\t\t\ttitle: sysLang.wording.str_sv_overloaded,\n\t\t\t\tpic: 'overloaded',\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('//// 尚未額滿');\n\n\t\tif (extPreDrawSurvey()) {\n\t\t\treturn;\n\t\t}\n\n\t\t$('#regneed').remove();\n\t\tdrawSurvey();\n\t\treturn;\n\t}\n\n\tconsole.log('//// 不在區間裡');\n\n\t$('#loading').remove();\n\tshowErrorInfo({\n\t\ttitle: sysLang.wording.str_sv_duration,\n\t\tcontent: svConfig.svDuration,\n\t\tpic: 'off',\n\t});\n};\n\nexport const drawMainPage = async () => {\n\tawait getSubjectGroupJson();\n\n\ttry {\n\t\tconst json = await getSurveyPublic();\n\n\t\tif (!json) {\n\t\t\tthrow new Error();\n\t\t}\n\n\t\tvariable.surveyData = json;\n\t\tsvConfig.svStatus = json.status;\n\t\tsvConfig.theme = json.theme.toLowerCase() || 'surveycake';\n\t\tsvConfig.language = json.language.toLowerCase() || defaultLanguage;\n\n\t\tsvConfig.nowGetTime = createTimeStamp();\n\t\tsvConfig.svStartTime = json.starttime;\n\t\tsvConfig.svEndTime = json.endtime;\n\t\tsvConfig.previewAnswer = json.preview_answer === 'Y';\n\t\tsvConfig.reCaptcha.enable = json.re_captcha === 'Y';\n\n\t\tloadMoreFiles(() => {\n\t\t\tif (svConfig.viewStatus === 'public') {\n\t\t\t\tif (svConfig.svStatus === 'PUBLIC') {\n\t\t\t\t\tdrawPublic();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (svConfig.svStatus === 'OFF') {\n\t\t\t\t\t$('#loading').remove();\n\t\t\t\t\tshowErrorInfo({\n\t\t\t\t\t\ttitle: sysLang.wording.str_sv_off,\n\t\t\t\t\t\tpic: 'off',\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (svConfig.svStatus === 'PRIVATE') {\n\t\t\t\t\t$('#loading').remove();\n\t\t\t\t\tshowErrorInfo({\n\t\t\t\t\t\ttitle: sysLang.wording.str_sv_private,\n\t\t\t\t\t\tcontent: sysLang.wording.str_sv_private_info,\n\t\t\t\t\t\tpic: 'private',\n\t\t\t\t\t});\n\t\t\t\t\tsetPrivateJS();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (svConfig.viewStatus === 'preview') {\n\t\t\t\tdrawSurvey();\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tnotfoundUI();\n\t}\n};\n\nexport const replaceLastUi = (ele, pageName) => {\n\tif (!ele) {\n\t\treturn;\n\t}\n\n\tif (variable.surveyData.thankyoubanner) {\n\t\tconst bannerContainer = ele.find('.banner');\n\t\tconst imageUrl = reviseImgUrl(variable.surveyData.thankyoubanner);\n\n\t\tconst thankyouBanner = imageLoader(\n\t\t\timageUrl,\n\t\t\t{\n\t\t\t\tonload: () => {\n\t\t\t\t\tbannerContainer.addClass('_load');\n\t\t\t\t},\n\t\t\t\tonerror: () => {\n\t\t\t\t\tbannerContainer.addClass('_load');\n\t\t\t\t},\n\t\t\t\tonreplace: (image) => {\n\t\t\t\t\tbannerContainer.html(image);\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tbannerContainer.html(thankyouBanner);\n\t}\n\n\tif (pageName === 'timeout') {\n\t\tele.find('.intro .text').html(sysLang.wording.str_default_timeout);\n\t} else if (pageName === 'finished') {\n\t\tele.find('.intro .text').html(sysLang.wording.str_default_finished);\n\t} else {\n\t\tele.find('.intro .text').html(variable.surveyData[`${pageName}text`] || sysLang.wording.str_default_thankyou);\n\t}\n\n\t/**\n\t * set the `href` attribute and inner text of a button\n\t *\n\t * options: accept `url` and `text`\n\t */\n\tconst setButtonAttributes = (button, options) => {\n\t\tif (!options || !options.url) {\n\t\t\tbutton.remove();\n\t\t\treturn;\n\t\t}\n\n\t\tbutton.attr('href', options.url)\n\t\t\t.css('display', 'block');\n\n\t\tif (!options.text) {\n\t\t\treturn;\n\t\t}\n\n\t\tbutton.text(options.text);\n\t};\n\n\tif (variable.surveyData.lastbtn !== 'REMOVE') {\n\t\tif (variable.surveyData.gotourl) {\n\t\t\tsetButtonAttributes(\n\t\t\t\tele.find('#survey-close-btn'),\n\t\t\t\t{\n\t\t\t\t\turl: variable.surveyData.gotourl,\n\t\t\t\t\ttext: variable.surveyData.gotourltxt || '',\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t} else {\n\t\tele.find('#survey-close-btn').remove();\n\t}\n\n\tif (pageName !== 'thankyou' || variable.surveyData.show_result !== 'Y') {\n\t\tele.find('#survey-result-btn').remove();\n\t} else {\n\t\tele.find('#survey-result-btn').text(sysLang.wording.viewResult);\n\n\t\tgetReportToken(svConfig.surveyId).then((response) => {\n\t\t\tif (!response.status) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tele.find('#survey-result-btn').attr(\n\t\t\t\t'href',\n\t\t\t\t/* eslint-disable max-len */\n\t\t\t\t`${serverDomain}/admin/${svConfig.language}/survey/${svConfig.surveyId}/report?v=${response.data}&layout=P`,\n\t\t\t\t/* eslint-enable max-len */\n\t\t\t);\n\t\t});\n\t}\n\n\textAftDrawLastPage(ele, pageName);\n};\n\nexport const renderLastUI = (ui) => {\n\tconst lastUiContainer = $('.lastpage-template').clone().removeClass('lastpage-template');\n\tlastUiContainer.attr('id', ui);\n\treplaceLastUi(lastUiContainer, ui);\n\n\t$('#control-wrapper').remove();\n\t$('#survey-content').html('');\n\t$('#survey-content').prepend(lastUiContainer);\n\n\tlastUiContainer.show();\n\tscrollToEle($('body'), false, 0);\n\n\tsetTimeout(() => {\n\t\tlastUiContainer.find('.action-button-wrapper').fadeIn('fast');\n\t}, 500);\n\n\tif (window.opener) {\n\t\twindow.opener.postMessage('sv_submit_success', '*');\n\t}\n};\n\nexport const drawLastPage = (pageName) => (\n\tgetSurveyPublic()\n\t\t.then((json) => {\n\t\t\tif (!json) {\n\t\t\t\tPromise.reject();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvariable.surveyData = json;\n\n\t\t\tif (json.status !== 'PRIVATE') {\n\t\t\t\tsvConfig.theme = variable.surveyData.theme.toLowerCase() || 'surveycake';\n\t\t\t\tsvConfig.language = variable.surveyData.language.toLowerCase() || defaultLanguage;\n\t\t\t}\n\n\t\t\tloadMoreFiles(() => {\n\t\t\t\trenderLastUI(pageName);\n\t\t\t});\n\t\t})\n\t\t.catch(() => {\n\t\t\tnotfoundUI();\n\t\t})\n);\n\nexport const initialRetainCount = () => {\n\tif (thisAnswerObj && objectSize(thisAnswerObj) > 0) {\n\t\t$.each(thisAnswerObj, (order, ansobj) => {\n\t\t\tif ($.inArray(thisSubjectsObj[order].type, logicSbjType) === -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.each(ansobj, (ansK, ansV) => {\n\t\t\t\tif (ansK.search('sbj_') === -1 || ansV.length === 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t$.each(ansV, (kk, vv) => {\n\t\t\t\t\tif (separateOptionIdFromText(vv) === null) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst theOptObj = findOptionObjectById(\n\t\t\t\t\t\tseparateOptionIdFromText(vv),\n\t\t\t\t\t\tthisSubjectsObj[order].options,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (theOptObj.linkto) {\n\t\t\t\t\t\ttheOptObj.linkto.forEach((subjectNumber) => {\n\t\t\t\t\t\t\tconst theOrder = findOrderBySN(subjectNumber);\n\n\t\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tthisSubjectsObj[theOrder].__addShowByLinkto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theOptObj.jumpto) {\n\t\t\t\t\t\tconst fromOrder = parseInt(order, 10);\n\t\t\t\t\t\tconst toOrder = findOrderBySN(theOptObj.jumpto);\n\n\t\t\t\t\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\t\t\t\t\tfor (let k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tthisSubjectsObj[k].__addHideByJumpto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theOptObj.sorryto) {\n\t\t\t\t\t\tconst fromOrder = parseInt(order, 10);\n\t\t\t\t\t\tconst toOrder = findOrderBySN(theOptObj.sorryto);\n\n\t\t\t\t\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\t\t\t\t\tfor (let k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tthisSubjectsObj[k].__addHideBySorryto();\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n};\n\nexport const iniPosition = () => {\n\tconsole.log('/// iniPosition');\n\t/**\n\t * 找尋第一個還沒填答的題目位置\n\t */\n\tlet iniOrder = null;\n\tlet iniSN = null;\n\tlet iniPageNum = null;\n\n\tlet firstEmptyOrder = null;\n\tlet lastAnsOrder = null;\n\n\tif (thisAnswerObj && objectSize(thisAnswerObj) > 0) {\n\t\t$.each(thisAnswerObj, (order, ansobj) => {\n\t\t\tif (checkHasAns(ansobj)) {\n\t\t\t\tlastAnsOrder = order;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (firstEmptyOrder === null) {\n\t\t\t\tfirstEmptyOrder = order;\n\t\t\t}\n\t\t});\n\n\t\tconsole.log(`/// firstEmptyOrder IS: ${firstEmptyOrder}`);\n\t\tconsole.log(`/// lastAnsOrder IS: ${lastAnsOrder}`);\n\n\t\tif (lastAnsOrder !== null) {\n\t\t\tiniOrder = lastAnsOrder;\n\n\t\t\tif (firstEmptyOrder != null) {\n\t\t\t\tiniOrder = firstEmptyOrder;\n\t\t\t}\n\t\t}\n\n\t\tconsole.log(`/// iniOrder IS: ${iniOrder}`);\n\n\t\tif (iniOrder !== null) {\n\t\t\tiniSN = thisSubjectsObj[iniOrder].sn;\n\t\t\tiniPageNum = findPageNumberBySN(iniSN);\n\t\t}\n\t}\n\n\tif (iniPageNum !== null) {\n\t\tprogressCount(iniSN);\n\n\t\tif (svConfig.layout === 'BROCHURE') {\n\t\t\tconsole.log(`iniPageNum ${iniPageNum}`);\n\n\t\t\tpageConfig.now = iniPageNum;\n\t\t\tresetPageConfig();\n\n\t\t\treturn;\n\t\t}\n\n\t\tsvConfig.iniPosSN = iniSN;\n\t}\n};\n\nexport const singleSubjectUI = (subjectNumber) => {\n\tconst theOrder = findOrderBySN(subjectNumber);\n\n\tif (theOrder === false) {\n\t\treturn;\n\t}\n\n\tconst sbjval = thisSubjectsObj[theOrder];\n\tconst theSbjType = sbjval.type;\n\tconst newSubject = $('.subject-wrapper-temp').clone();\n\tlet hasVideo = false;\n\tlet oldSbj = null;\n\n\tif ($(`#${sbjval.sn}`).length) {\n\t\t$(`#${sbjval.sn}`).addClass('the-old-one');\n\t\toldSbj = $('.the-old-one');\n\t}\n\n\tnewSubject.removeClass('subject-wrapper-temp');\n\tnewSubject.attr('id', sbjval.sn);\n\tnewSubject.attr('data-id', sbjval.ID);\n\tnewSubject.attr('sbj-type', theSbjType);\n\tnewSubject.addClass(theSbjType);\n\n\tif (variable.surveyData.vnshow === 'SHOW') {\n\t\tnewSubject.find('.subject-vn').html(sbjval.vn);\n\t} else if (variable.surveyData.vnshow === 'OFF') {\n\t\tnewSubject.find('.subject-vn').html('');\n\t}\n\n\t/**\n\t * 除果標題文字跟 描述沒有的話\n\t */\n\tif (sbjval.text) {\n\t\tnewSubject.find('.subject-title').html(xss(sbjval.text));\n\t}\n\n\tif (sbjval.descpt) {\n\t\tnewSubject.find('.subject-description div').html(sbjval.descpt);\n\t} else {\n\t\tnewSubject.find('.subject-description').remove();\n\t}\n\n\t/**\n\t * 帶入答案\n\t */\n\tif (newSubject.find('.subject-title .ansTag').length) {\n\t\t$.each(newSubject.find('.subject-title .ansTag'), function () {\n\t\t\tif ($(this).attr('rel')) {\n\t\t\t\t$(this).text(\n\t\t\t\t\tgetAnstagTXT(parseInt($(this).attr('rel'), 10)),\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 圖片\n\t */\n\tif (sbjval.imgs !== null) {\n\t\tconst imageContainer = newSubject.find('.subject-image');\n\t\tconst imageUrl = reviseImgUrl(sbjval.imgs);\n\n\t\tconst subjectImage = imageLoader(\n\t\t\timageUrl,\n\t\t\t{\n\t\t\t\tonload: () => {\n\t\t\t\t\tif (theSbjType === 'QUOTE' || theSbjType === 'STATEMENT') {\n\t\t\t\t\t\tconsole.log('resizeMtop');\n\t\t\t\t\t\tresizeMtop(newSubject);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonreplace: (image) => {\n\t\t\t\t\timageContainer.html('');\n\t\t\t\t\timageContainer.append(image);\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\timageContainer.append(subjectImage);\n\t} else {\n\t\tnewSubject.find('.subject-image').remove();\n\t}\n\n\t/**\n\t * 影片\n\t */\n\tif (sbjval.youtubeid !== null) {\n\t\thasVideo = true;\n\n\t\tconst cloneVideoBlock = $('.video-block-temp').clone().removeClass('video-block-temp');\n\t\tcloneVideoBlock.attr('youtubeid', sbjval.youtubeid);\n\t\tcloneVideoBlock.addClass('subject-video')\n\t\t\t.find('.video-thumbnail')\n\t\t\t.css('background-image', `url('${createYoutubeTumbnail(sbjval.youtubeid)}')`);\n\t\tnewSubject.find('.subject-media').append(cloneVideoBlock);\n\t} else {\n\t\tnewSubject.find('.subject-video').remove();\n\t}\n\n\tconst $elseOption = $('.else-wrap-temp').clone();\n\t$elseOption.removeClass('else-wrap-temp');\n\n\tconst $levelOption = $('.level-wrap-temp').clone();\n\t$levelOption.removeClass('level-wrap-temp');\n\n\tconst $levelMotherOption = $('.level-mother-outer-temp').clone();\n\t$levelMotherOption.removeClass('level-mother-outer-temp');\n\n\t/**\n\t * 開始製作題目 UI\n\t */\n\tif ($.inArray(theSbjType, acceptSbjType) !== -1) {\n\t\tif (theSbjType === 'TXTSHORT') {\n\t\t\tlet type = 'text';\n\t\t\tlet digitsClass = false;\n\t\t\tlet min = '';\n\t\t\tlet placeholder = sysLang.wording.please.fill.text;\n\t\t\tlet needAutohttp = false;\n\n\t\t\tif (sbjval.attr !== null) {\n\t\t\t\ttype = sbjval.attr;\n\n\t\t\t\tif (type === 'tel') {\n\t\t\t\t\tmin = 'min=\\'0\\'';\n\t\t\t\t\tdigitsClass = true;\n\t\t\t\t\tplaceholder = sysLang.wording.please.fill.tel;\n\t\t\t\t} else if (type === 'email') {\n\t\t\t\t\tplaceholder = sysLang.wording.please.fill.email;\n\t\t\t\t} else if (type === 'url') {\n\t\t\t\t\tplaceholder = sysLang.wording.please.fill.url;\n\t\t\t\t\tneedAutohttp = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer')\n\t\t\t\t.append(\n\t\t\t\t\t`
`,\n\t\t\t\t);\n\n\t\t\tif (digitsClass) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('digits');\n\t\t\t}\n\n\t\t\tif (type === 'email') {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('strictEmail');\n\t\t\t}\n\n\t\t\tif (needAutohttp) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('autohttp');\n\t\t\t}\n\n\t\t\tif (sbjval.maxtimes === 1) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('textOnece');\n\t\t\t}\n\t\t} else if (theSbjType === 'TXTLONG') {\n\t\t\tnewSubject.find('.subject-answer')\n\t\t\t\t.append(\n\t\t\t\t\t`
`,\n\t\t\t\t);\n\t\t} else if (theSbjType === 'NEST') {\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t\tnestConfig.levelTxtArr = [];\n\t\t\tnestConfig.motherShowCount = 0;\n\t\t\tnestConfig.motherSn = sbjval.sn;\n\n\t\t\t$.each(sbjval.options, (optkey, optval) => {\n\t\t\t\tnestConfig.levelTxtArr.push(optval.text);\n\t\t\t});\n\t\t} else if (theSbjType === 'NESTCHILD') {\n\t\t\tnewSubject.find('i, .subject-description, .subject-media').remove();\n\t\t\tnewSubject.attr('childtopar', nestConfig.motherSn);\n\n\t\t\tfor (let i = 0; i < sbjval.options.length; i += 1) {\n\t\t\t\tconst cloneLevel = $levelOption.find('.level').first().clone();\n\t\t\t\tcloneLevel.find('input').attr({\n\t\t\t\t\tname: `sbj_${sbjval.ID}[]`,\n\t\t\t\t\tvalue: `opt_${sbjval.options[i].ID}`,\n\t\t\t\t});\n\t\t\t\t$levelOption.append(cloneLevel);\n\t\t\t}\n\n\t\t\t$levelOption.find('.level').first().remove();\n\t\t\t$levelOption.find('.level').last().addClass('last');\n\t\t\tnewSubject.find('.subject-answer').append($levelOption);\n\n\t\t\tif (nestConfig.motherShowCount % 5 === 0) {\n\t\t\t\tfor (let k = 1; k <= sbjval.options.length; k += 1) {\n\t\t\t\t\t$levelMotherOption.find('.level-mother-wrap')\n\t\t\t\t\t\t.append(`\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t${nestConfig.levelTxtArr[k - 1]}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t`);\n\t\t\t\t}\n\n\t\t\t\tnewSubject.prepend($levelMotherOption);\n\t\t\t}\n\n\t\t\tnestConfig.motherShowCount += 1;\n\n\t\t\tif (sbjval.lastNestChild) {\n\t\t\t\tnewSubject.addClass('last');\n\t\t\t}\n\t\t} else if (theSbjType === 'CHOICEONE' ||\n\t\t\ttheSbjType === 'CHOICEMULTI' ||\n\t\t\ttheSbjType === 'ITEMSORT' ||\n\t\t\ttheSbjType === 'PICKFROM'\n\t\t) {\n\t\t\t/**\n\t\t\t * CHOICEONE & CHOICEMULTI & ITEMSORT 共用的產生 option 方式\n\t\t\t */\n\t\t\tif (theSbjType === 'PICKFROM' && sbjval.optfrom && sbjval.optfrom.length) {\n\t\t\t\tlet pickfromOptsArr = [];\n\n\t\t\t\tsbjval.optfrom.forEach((theSN) => {\n\t\t\t\t\tconst theOrdering = findOrderBySN(theSN);\n\n\t\t\t\t\tif (theOrdering !== false) {\n\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\tconst theOptions = thisSubjectsObj[theOrdering].__getSelectedOptions();\n\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t\t\tif (theOptions) {\n\t\t\t\t\t\t\tpickfromOptsArr = arrInsertArr(pickfromOptsArr, pickfromOptsArr.length, theOptions);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tpickfromOptsArr = optObjArr(pickfromOptsArr);\n\n\t\t\t\tif (sbjval.rndopts === 1) {\n\t\t\t\t\trndOptsArr(pickfromOptsArr);\n\t\t\t\t}\n\n\t\t\t\tsbjval.options = pickfromOptsArr;\n\t\t\t}\n\n\t\t\tconst cloneOptsArr = sbjval.options;\n\n\t\t\tif (cloneOptsArr !== null) {\n\t\t\t\tconst optionLength = objectSize(cloneOptsArr);\n\t\t\t\tlet hasElse = false;\n\n\t\t\t\tif (optionLength) {\n\t\t\t\t\tif (cloneOptsArr[optionLength - 1].elses === 1) {\n\t\t\t\t\t\thasElse = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n\t\t\t\t\t * 如果有設定 Compress 收折的話就是用 Select\n\t\t\t\t\t */\n\t\t\t\t\tif (theSbjType === 'CHOICEONE' && sbjval.compress === 1) {\n\t\t\t\t\t\tconst $newSelect = $(`
`);\n\t\t\t\t\t\t$newSelect.find('select')\n\t\t\t\t\t\t\t.append(``);\n\n\t\t\t\t\t\t$.each(cloneOptsArr, (optkey, optval) => {\n\t\t\t\t\t\t\tif (!optval.isVisible()) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst $newOption = $(\n\t\t\t\t\t\t\t\t``,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t$newSelect.find('select').append($newOption);\n\n\t\t\t\t\t\t\tif (optval.jumpto !== null) {\n\t\t\t\t\t\t\t\t$newOption.addClass('jumpto');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.linkto !== null) {\n\t\t\t\t\t\t\t\t$newOption.addClass('linkto');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.maxtimes !== null) {\n\t\t\t\t\t\t\t\t$newOption.attr('maxtimes', optval.maxtimes);\n\t\t\t\t\t\t\t\t$newOption.attr('maxacts', optval.maxacts);\n\t\t\t\t\t\t\t\t$newOption.addClass('maxtimes');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.isFULLED === true) {\n\t\t\t\t\t\t\t\tsetFulledUI($newOption, 'select');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.elses === 1) {\n\t\t\t\t\t\t\t\t$newOption.addClass('else');\n\t\t\t\t\t\t\t\t$elseOption.find('input').attr('name', `opt_${optval.ID}`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tnewSubject.find('.subject-answer').append($newSelect);\n\n\t\t\t\t\t\tif (hasElse === true) {\n\t\t\t\t\t\t\t$elseOption.addClass('select-else-wrap');\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').append($elseOption);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst optStyle = {};\n\t\t\t\t\t\tlet optWithMedia = false;\n\n\t\t\t\t\t\tif (theSbjType === 'CHOICEONE') {\n\t\t\t\t\t\t\toptStyle.type = 'radio';\n\t\t\t\t\t\t\toptStyle.icon = 'fa-circle-o';\n\t\t\t\t\t\t} else if (theSbjType === 'CHOICEMULTI' || theSbjType === 'PICKFROM') {\n\t\t\t\t\t\t\toptStyle.type = 'checkbox';\n\t\t\t\t\t\t\toptStyle.icon = 'fa-square-o';\n\t\t\t\t\t\t} else if (theSbjType === 'ITEMSORT') {\n\t\t\t\t\t\t\toptStyle.type = 'sortbox';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$.each(cloneOptsArr, (optkey, optval) => {\n\t\t\t\t\t\t\tif (!optval.isVisible()) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst $newOption = optStyle.type === 'sortbox' ?\n\t\t\t\t\t\t\t\t$(`
${\n\t\t\t\t\t\t\t\t\toptval.text\n\t\t\t\t\t\t\t\t}
`)\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t$(`
${\n\t\t\t\t\t\t\t\t\toptval.text\n\t\t\t\t\t\t\t\t}
`);\n\n\t\t\t\t\t\t\tif (optval.jumpto !== null) {\n\t\t\t\t\t\t\t\t$newOption.addClass('jumpto');\n\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.linkto !== null && optval.linkto[0] !== '') {\n\t\t\t\t\t\t\t\t$newOption.addClass('linkto');\n\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\tif (optval.maxtimes !== null && optval.maxtimes !== '' && sbjval._doMaxtimesAction) {\n\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t\t$newOption.attr('maxtimes', optval.maxtimes);\n\t\t\t\t\t\t\t\t$newOption.attr('maxacts', optval.maxacts);\n\t\t\t\t\t\t\t\t$newOption.addClass('maxtimes');\n\t\t\t\t\t\t\t\t$newOption.append('');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.isFULLED === true) {\n\t\t\t\t\t\t\t\tsetFulledUI($newOption, optStyle.type);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.imgs !== null && optval.imgs !== '') {\n\t\t\t\t\t\t\t\toptWithMedia = true;\n\n\t\t\t\t\t\t\t\tconst imageContainer = $newOption.find('.opt-media');\n\t\t\t\t\t\t\t\tconst imageUrl = reviseImgUrl(optval.imgs);\n\n\t\t\t\t\t\t\t\tconst optionImage = imageLoader(\n\t\t\t\t\t\t\t\t\timageUrl,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonreplace: (image) => {\n\t\t\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t\t\t * @todo\n\t\t\t\t\t\t\t\t\t\t\t * because `opt-media` include video image and normal image\n\t\t\t\t\t\t\t\t\t\t\t * need to refactor\n\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\timageContainer.find('.optimg').remove();\n\t\t\t\t\t\t\t\t\t\t\t$(image).addClass('optimg');\n\t\t\t\t\t\t\t\t\t\t\timageContainer.prepend(image);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t$(optionImage).addClass('optimg');\n\t\t\t\t\t\t\t\timageContainer.append(optionImage);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.youtubeid !== null && optval.youtubeid !== '') {\n\t\t\t\t\t\t\t\toptWithMedia = true;\n\t\t\t\t\t\t\t\thasVideo = true;\n\t\t\t\t\t\t\t\tconst cloneVideoBlock = $('.video-block-temp').clone()\n\t\t\t\t\t\t\t\t\t.removeClass('video-block-temp');\n\n\t\t\t\t\t\t\t\tcloneVideoBlock.attr('youtubeid', optval.youtubeid);\n\t\t\t\t\t\t\t\tcloneVideoBlock.addClass('option-video')\n\t\t\t\t\t\t\t\t\t.find('.video-thumbnail')\n\t\t\t\t\t\t\t\t\t.css('background-image', `url('${createYoutubeTumbnail(optval.youtubeid)}')`);\n\t\t\t\t\t\t\t\t$newOption.find('.opt-media').append(cloneVideoBlock);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (optval.elses === 1 && theSbjType !== 'PICKFROM') {\n\t\t\t\t\t\t\t\t$newOption.addClass('else');\n\t\t\t\t\t\t\t\t$elseOption.find('input').attr('name', `opt_${optval.ID}`);\n\t\t\t\t\t\t\t\t$newOption.append($elseOption);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * `None of the above` option\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tif (theSbjType === 'CHOICEMULTI' && optval.nota === 1) {\n\t\t\t\t\t\t\t\t$newOption.addClass('nota');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').append($newOption);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tnewSubject.find('.subject-answer').addClass(optWithMedia ? 'withMedia' : 'onlyText');\n\n\t\t\t\t\t\tif (theSbjType === 'CHOICEONE' ||\n\t\t\t\t\t\t\ttheSbjType === 'CHOICEMULTI' ||\n\t\t\t\t\t\t\ttheSbjType === 'PICKFROM'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * option row count\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr(\n\t\t\t\t\t\t\t\t'data-column',\n\t\t\t\t\t\t\t\tsbjval.extras && sbjval.extras.column ? parseInt(sbjval.extras.column, 10) : '2',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr(\n\t\t\t\t\t\t\t\t'data-column-mobile',\n\t\t\t\t\t\t\t\tsbjval.extras && sbjval.extras.column_m ?\n\t\t\t\t\t\t\t\t\tparseInt(sbjval.extras.column_m, 10)\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t'1',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnewSubject.find('option').wrapAll('
');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theSbjType === 'CHOICEMULTI' || theSbjType === 'PICKFROM') {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * 至多至少選擇提醒\n\t\t\t\t\t\t */\n\t\t\t\t\t\tlet boundsStr = '';\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * replace PICKFROM lowerbound\n\t\t\t\t\t\t */\n\t\t\t\t\t\tconst logicLowerbounds = (sbjval.lowerbounds != null && sbjval.lowerbounds > optionLength) ?\n\t\t\t\t\t\t\toptionLength\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\tsbjval.lowerbounds;\n\n\t\t\t\t\t\tif (logicLowerbounds != null && sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tconst range = logicLowerbounds === sbjval.upperbounds ?\n\t\t\t\t\t\t\t\tlogicLowerbounds\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t`${logicLowerbounds} ~ ${sbjval.upperbounds}`;\n\n\t\t\t\t\t\t\tboundsStr = `${\n\t\t\t\t\t\t\t\tsysLang.wording.please.choose\n\t\t\t\t\t\t\t} ${range} ${\n\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t} else if (logicLowerbounds !== null) {\n\t\t\t\t\t\t\tboundsStr = `${\n\t\t\t\t\t\t\t\tsysLang.wording.please.choose\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.info_atleast\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tlogicLowerbounds\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tboundsStr = `${\n\t\t\t\t\t\t\t\tsysLang.wording.please.choose\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.info_atmost\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsbjval.upperbounds\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (logicLowerbounds !== null || sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-info').html(boundsStr);\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer .option input[type=\"checkbox\"]')\n\t\t\t\t\t\t\t\t.addClass('choiceCount');\n\n\t\t\t\t\t\t\tif (logicLowerbounds !== null) {\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('mincount', logicLowerbounds);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('maxcount', sbjval.upperbounds);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * 提醒小 TAG\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif (sbjval.upperbounds !== null && sbjval.upperbounds > 1) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-content h3')\n\t\t\t\t\t\t\t\t.append(``);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (theSbjType === 'ITEMSORT') {\n\t\t\t\t\t\tnewSubject.find('.subject-answer')\n\t\t\t\t\t\t\t.before(\n\t\t\t\t\t\t\t\t`
${\n\t\t\t\t\t\t\t\t\tsysLang.wording.str_resort\n\t\t\t\t\t\t\t\t}
`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\tnewSubject.find('.subject-answer')\n\t\t\t\t\t\t\t.attr('sort-mode', svConfig.sortMode);\n\n\t\t\t\t\t\tif (svConfig.sortMode === 'dragIt') {\n\t\t\t\t\t\t\tconst newDragSortBlock = $('.drag-sort-block-temp').clone()\n\t\t\t\t\t\t\t\t.removeClass('drag-sort-block-temp');\n\n\t\t\t\t\t\t\tnewDragSortBlock.attr('id', `drag-sort-${sbjval.ID}`);\n\t\t\t\t\t\t\tnewDragSortBlock.find('.option-wrapper')\n\t\t\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t\t\tnewSubject.find('.subject-answer').find('.option'),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').prepend(newDragSortBlock);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSubject.find('.subject-answer').append('
');\n\n\t\t\t\t\t\tlet boundsStr = '';\n\t\t\t\t\t\tlet needSortItem = 1;\n\n\t\t\t\t\t\tif (sbjval.lowerbounds !== null && sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * useless\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tboundsStr = `${\n\t\t\t\t\t\t\t\tsysLang.wording.info_need_sort\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsbjval.lowerbounds\n\t\t\t\t\t\t\t} ~ ${\n\t\t\t\t\t\t\t\tsbjval.upperbounds\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t} else if (sbjval.lowerbounds) {\n\t\t\t\t\t\t\tboundsStr = svConfig.language === 'tw' ?\n\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\tsysLang.wording.info_need_sort\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tsbjval.lowerbounds\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\tsbjval.lowerbounds\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tsysLang.wording.info_need_sort\n\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * useless\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tboundsStr = `${\n\t\t\t\t\t\t\t\tsysLang.wording.info_need_sort\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsbjval.upperbounds\n\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\tsysLang.wording.str_optcount\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sbjval.lowerbounds !== null) {\n\t\t\t\t\t\t\tneedSortItem = sbjval.lowerbounds;\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('mincount', sbjval.lowerbounds);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\t\t\t\tneedSortItem = sbjval.upperbounds;\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer').attr('maxcount', sbjval.upperbounds);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewSubject.find('.subject-info').html(boundsStr);\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * 放入存答案的 input\n\t\t\t\t\t\t */\n\t\t\t\t\t\tfor (let i = 0; i < needSortItem; i += 1) {\n\t\t\t\t\t\t\tnewSubject.find('.subject-answer .input-wrapper')\n\t\t\t\t\t\t\t\t.append(``);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (theSbjType === 'DIGITINPUT') {\n\t\t\tlet ruleStr = \"\";\n\t\t\tlet boundsStr = \"\";\n\n\t\t\tif (sbjval.lowerbounds !== null && sbjval.upperbounds !== null) {\n\t\t\t\truleStr = `min='${sbjval.lowerbounds}' max='${sbjval.upperbounds}'`;\n\t\t\t\tboundsStr = `${\n\t\t\t\t\tsysLang.wording.info_need_between\n\t\t\t\t} ${\n\t\t\t\t\tsbjval.lowerbounds\n\t\t\t\t} ~ ${\n\t\t\t\t\tsbjval.upperbounds\n\t\t\t\t} ${\n\t\t\t\t\tsysLang.wording.info_between\n\t\t\t\t}`;\n\t\t\t} else if (sbjval.lowerbounds !== null) {\n\t\t\t\truleStr = `min='${sbjval.lowerbounds}'`;\n\t\t\t\tboundsStr = `${sysLang.wording.info_need_upper} ${sbjval.lowerbounds}`;\n\t\t\t} else if (sbjval.upperbounds !== null) {\n\t\t\t\truleStr = `max='${sbjval.upperbounds}'`;\n\t\t\t\tboundsStr = `${sysLang.wording.info_need_lower} ${sbjval.upperbounds}`;\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer')\n\t\t\t\t.append(`
`);\n\t\t\tif (sbjval.unittxt !== null && sbjval.unittxt !== '') {\n\t\t\t\tnewSubject.find('.subject-answer .type')\n\t\t\t\t\t.append(`${sbjval.unittxt}`);\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer input').addClass('number digit-input');\n\n\t\t\tif (sbjval.pointbounds !== null) {\n\t\t\t\tnewSubject.find('.subject-answer input').addClass('hasPointbounds');\n\t\t\t\tnewSubject.find('.subject-answer input').attr('pointbounds', sbjval.pointbounds);\n\t\t\t\tboundsStr = `${boundsStr}(${\n\t\t\t\t\tsysLang.wording.info_digit_lowbound.replace('_{{point}}_', sbjval.pointbounds)\n\t\t\t\t})`;\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-info').html(boundsStr);\n\t\t} else if (theSbjType === 'DIGITSLIDE') {\n\t\t\tconst newSlide = $('.slide-bar-container-temp').clone().removeClass('slide-bar-container-temp');\n\n\t\t\tnewSlide.find('.slide-min').text(sbjval.lowerbounds);\n\t\t\tnewSlide.find('.slide-max').text(sbjval.upperbounds);\n\n\t\t\tif (sbjval.unittxt !== null && sbjval.unittxt !== '') {\n\t\t\t\tnewSlide.find('.slide-min, .slide-max').attr('unittxt', sbjval.unittxt);\n\t\t\t\tnewSlide.find('.slide-bar .unittxt').text(sbjval.unittxt);\n\t\t\t} else {\n\t\t\t\tnewSlide.find('.slide-bar .unittxt').remove();\n\t\t\t}\n\n\t\t\tnewSlide.find('.slide-bar .slide-input').addClass('digit-input');\n\t\t\tnewSlide.find('.slide-bar .slide-input').attr({\n\t\t\t\tid: `sbj_${sbjval.ID}[]`,\n\t\t\t\tname: `sbj_${sbjval.ID}[]`,\n\t\t\t\tmin: sbjval.lowerbounds,\n\t\t\t\tmax: sbjval.upperbounds,\n\t\t\t\tstep: sbjval.increasebounds || '',\n\t\t\t});\n\n\t\t\tnewSubject.find('.subject-answer').append(newSlide);\n\t\t} else if (theSbjType === 'RATINGBAR') {\n\t\t\tconst newRatingBar = $('.ratingbar-container-temp').clone().removeClass('ratingbar-container-temp');\n\n\t\t\tif (sbjval.upperbounds !== null) {\n\t\t\t\tnewRatingBar.attr('steps', sbjval.upperbounds);\n\t\t\t\tnewRatingBar.find('input').attr('name', `sbj_${sbjval.ID}[]`);\n\n\t\t\t\tconst iconShape = sbjval.extras && sbjval.extras.shape ? sbjval.extras.shape.toLowerCase() : 'star';\n\n\t\t\t\tfor (let c = 1; c <= sbjval.upperbounds; c += 1) {\n\t\t\t\t\tnewRatingBar\n\t\t\t\t\t\t.find('.ratingbar-wrap')\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t`
`,\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnewSubject.find('.subject-answer').append(newRatingBar);\n\t\t} else if (theSbjType === 'DATEPICKER') {\n\t\t\t/**\n\t\t\t * Do not call this function directly. Use the next two.\n\t\t\t */\n\t\t\tconst processDate = (dateString, days, type) => {\n\t\t\t\tconst date = new Date(dateString);\n\n\t\t\t\t/**\n\t\t\t\t * get timezone value and set time to 00:00:00\n\t\t\t\t */\n\t\t\t\tdate.setTime(date.valueOf() + (date.getTimezoneOffset() * 60 * 1000));\n\n\t\t\t\t/**\n\t\t\t\t * specific date limitation\n\t\t\t\t */\n\t\t\t\tif (days === false) {\n\t\t\t\t\treturn date;\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * there is no specific date limitation\n\t\t\t\t *\n\t\t\t\t * calculate the date with fluctuation and today\n\t\t\t\t */\n\t\t\t\tconst nowTime = new Date();\n\n\t\t\t\tlet thisMonth = nowTime.getMonth() + 1;\n\t\t\t\tthisMonth = thisMonth < 10 ? `0${thisMonth.toString()}` : thisMonth.toString();\n\t\t\t\tlet thisDate = nowTime.getDate();\n\t\t\t\tthisDate = thisDate < 10 ? `0${thisDate.toString()}` : thisDate.toString();\n\n\t\t\t\tconst today = new Date(`${nowTime.getFullYear()}-${thisMonth}-${thisDate}`);\n\n\t\t\t\ttoday.setTime(\n\t\t\t\t\ttoday.valueOf()\n\t\t\t\t\t/**\n\t\t\t\t\t * fix the timezone\n\t\t\t\t\t */\n\t\t\t\t\t+ (today.getTimezoneOffset() * 60 * 1000)\n\t\t\t\t\t/**\n\t\t\t\t\t * calculate the modified date\n\t\t\t\t\t */\n\t\t\t\t\t+ (days * 24 * 60 * 60 * 1000 * (type === 'add' ? 1 : -1)),\n\t\t\t\t);\n\n\t\t\t\tif (!dateString) {\n\t\t\t\t\treturn today;\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * date and fluctuation are existed\n\t\t\t\t *\n\t\t\t\t * mix two conditions\n\t\t\t\t */\n\t\t\t\tif (type === 'add') {\n\t\t\t\t\treturn today > date ? date : today;\n\t\t\t\t}\n\n\t\t\t\treturn today < date ? date : today;\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * interface of `processDate` function\n\t\t\t */\n\t\t\tconst subtractDate = (dateString, lowerbound) => {\n\t\t\t\t/**\n\t\t\t\t * it coule be zero (falsy)\n\t\t\t\t */\n\t\t\t\tif (!dateString && lowerbound === null) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn processDate(dateString, /\\d+/.test(lowerbound) && parseInt(lowerbound, 10), 'subtract');\n\t\t\t};\n\n\t\t\tconst addDate = (dateString, upperbound) => {\n\t\t\t\t/**\n\t\t\t\t * it coule be zero (falsy)\n\t\t\t\t */\n\t\t\t\tif (!dateString && upperbound === null) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn processDate(dateString, /\\d+/.test(upperbound) && parseInt(upperbound, 10), 'add');\n\t\t\t};\n\n\t\t\tconst template = $('#subject-template-container > .date-picker-block').clone();\n\t\t\tconst startDate = subtractDate(sbjval.extras && sbjval.extras.date_ini, sbjval.lowerbounds);\n\t\t\tconst endDate = addDate(sbjval.extras && sbjval.extras.date_end, sbjval.upperbounds);\n\n\t\t\tconst $input = template.find('input');\n\n\t\t\t$input.attr('name', `sbj_${sbjval.ID}[]`)\n\t\t\t\t.addClass('dateExam')\n\t\t\t\t.datepicker({\n\t\t\t\t\tformat: 'yyyy-mm-dd',\n\t\t\t\t\tstartDate,\n\t\t\t\t\tendDate,\n\t\t\t\t\tautoclose: true,\n\t\t\t\t\torientation: 'left bottom',\n\t\t\t\t\ttemplates: {\n\t\t\t\t\t\tleftArrow: '‹',\n\t\t\t\t\t\trightArrow: '›',\n\t\t\t\t\t},\n\t\t\t\t\tclearBtn: true,\n\t\t\t\t})\n\t\t\t\t.on('changeDate', () => {\n\t\t\t\t\tvalidateSingleEle($input);\n\t\t\t\t\tupdateSingleAns(`sbj_${sbjval.ID}`, $(this).val(), 'WRITE');\n\t\t\t\t\tportraitProgressCount(sbjval.sn);\n\t\t\t\t\tansTagToUI(sbjval.sn);\n\t\t\t\t})\n\t\t\t\t.on('show', () => {\n\t\t\t\t\tif (sbjval.indent === 0) {\n\t\t\t\t\t\t$('.datepicker-dropdown').removeClass('_indention');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t$('.datepicker-dropdown').addClass('_indention');\n\t\t\t\t});\n\n\t\t\tif (sbjval.maxtimes === 1) {\n\t\t\t\t$input.addClass('textOnece');\n\t\t\t}\n\n\t\t\ttemplate.find('input, .fa-calendar').on('click', () => {\n\t\t\t\t$input.datepicker('show');\n\t\t\t});\n\n\t\t\tnewSubject.find('.subject-answer').append(template);\n\t\t} else if (theSbjType === 'DIVIDER') {\n\t\t\tnewSubject.html('
');\n\t\t} else if (theSbjType === 'QUOTE') {\n\t\t\tconst $quoteIcon = $('.quote-icon-temp').clone().removeClass('quote-icon-temp');\n\t\t\tnewSubject.prepend($quoteIcon);\n\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t} else if (theSbjType === 'FILEUPLOAD') {\n\t\t\tcreateFileUpload(newSubject, sbjval);\n\t\t} else {\n\t\t\tnewSubject.find('.subject-answer').remove();\n\t\t}\n\t} else {\n\t\tnewSubject.find('.subject-answer')\n\t\t\t.html(\n\t\t\t\tsysLang.wording.str_sbj_notfound.replace('_{{sbjtype}}_', theSbjType),\n\t\t\t);\n\t}\n\n\t/**\n\t * Timer\n\t */\n\tif (sbjval.timer != null && sbjval.timer > 0) {\n\t\tnewSubject.addClass('withtimer');\n\t\tnewSubject.find('.timer-overlay').attr('timer', sbjval.timer);\n\n\t\tif (theSbjType === 'NESTCHILD') {\n\t\t\tnewSubject.find('.video-timer-sticker').remove();\n\t\t\tnewSubject.addClass('withtimer');\n\t\t\tnewSubject.find('.timer-overlay').html('');\n\t\t}\n\t} else {\n\t\tnewSubject.find('.video-timer-sticker').remove();\n\t\tnewSubject.find('.timer-overlay').remove();\n\t}\n\n\t/**\n\t * 有影片又有 Timer\n\t */\n\tif (sbjval.timer !== null && sbjval.timer > 0 && sbjval.youtubeid !== null) {\n\t\tnewSubject.addClass('waitVideoPlay');\n\t}\n\n\tif (oldSbj) {\n\t\toldSbj.replaceWith(newSubject);\n\t} else {\n\t\t$('#survey-form').append(newSubject);\n\t}\n\n\t/**\n\t * 縮排 & 編號\n\t */\n\tnewSubject.attr('indent', sbjval.indent);\n\n\tif (sbjval.required === 1) {\n\t\tnewSubject.find('.subject-number div').append('*');\n\t\tnewSubject.find(allHtmlElement).addClass('required');\n\t\tnewSubject.find('.type').find(needTrimElement).addClass('requiredtrim');\n\t\tnewSubject.find('.else-wrap input').removeClass('required requiredtrim');\n\t\tnewSubject.addClass('withrequired');\n\t}\n\n\tif (sbjval.invisible === 1) {\n\t\tnewSubject.addClass('invisible');\n\t}\n\n\tif (hasVideo) {\n\t\tresizeVideoBlock(newSubject);\n\t}\n\n\tif (theSbjType === 'ITEMSORT') {\n\t\tcreateSortDragUI(newSubject);\n\t} else if (theSbjType === 'NESTCHILD') {\n\t\tresizeLevelW(newSubject);\n\t} else if (theSbjType === 'RATINGBAR') {\n\t\tresizeRatingBar(newSubject);\n\t} else if (theSbjType === 'QUOTE' || theSbjType === 'STATEMENT') {\n\t\tif (!sbjval.imgs) {\n\t\t\tresizeMtop(newSubject);\n\t\t}\n\t} else if (theSbjType === 'TXTLONG') {\n\t\tautoTextArea(newSubject);\n\t}\n\n\tif (thisAnswerObj[theOrder]) {\n\t\tvariable.fillAnswerMode = true;\n\n\t\t$.each(thisAnswerObj[theOrder], (ansK, ansV) => {\n\t\t\tif (ansK === `sbj_${sbjval.ID}` && ansV.length > 0) {\n\t\t\t\tif ($.inArray(theSbjType, typingSbjType) !== -1) {\n\t\t\t\t\tnewSubject.find(`[name='${ansK}[]']`).val(ansV[0]);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ($.inArray(theSbjType, clickSbjType) !== -1) {\n\t\t\t\t\tansV.forEach((vvv) => {\n\t\t\t\t\t\tif (theSbjType === 'NESTCHILD') {\n\t\t\t\t\t\t\tnewSubject\n\t\t\t\t\t\t\t\t.find(`.level input[value='${vvv}']`)\n\t\t\t\t\t\t\t\t.parent('.level')\n\t\t\t\t\t\t\t\t.trigger('click');\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (theSbjType === 'CHOICEONE' && sbjval.compress === 1) {\n\t\t\t\t\t\t\tnewSubject.find(`[name='${ansK}[]']`).val(ansV[0]);\n\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * should add active status to get the original option id\n\t\t\t\t\t\t\t * when user change option\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tnewSubject.find(`[name='${ansK}[]'] option[data-id='${ansV[0]}']`).addClass('active');\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnewSubject.find(`.option[data-id='${vvv}']`).trigger('click');\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ($.inArray(theSbjType, uxSbjType) !== -1) {\n\t\t\t\t\tnewSubject.find(`[name='${ansK}[]']`).val(ansV[0]);\n\t\t\t\t\tnewSubject.find(`.rating[rel='${ansV[0]}']`).trigger('click');\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ansV) {\n\t\t\t\tnewSubject.find(`[name='${ansK}']`).val(ansV);\n\t\t\t}\n\t\t});\n\n\t\tif (variable.fillAnswerMode) {\n\t\t\tvariable.fillAnswerMode = false;\n\t\t}\n\t}\n\n\tif (theSbjType === 'DIGITSLIDE') {\n\t\tcreateSliderUI(newSubject);\n\t}\n\n\tif (theSbjType === 'DATEPICKER') {\n\t\t/**\n\t\t * after set default answer need update the picker\n\t\t */\n\t\tnewSubject.find('.date-picker-block > input').datepicker('update');\n\t}\n\n\textAftSingleSubjectUI(newSubject);\n};\n\nexport const specialSettingError = () => {\n\tshowErrorInfo({\n\t\ttitle: sysLang.wording.str_default_specialanslost_title,\n\t\tcontent: sysLang.wording.str_default_specialanslost_content,\n\t\tpic: 'error',\n\t});\n\n\toverflowBody(true);\n};\n\nexport const parseSubjectsToUI = () => {\n\tconsole.log('/// parseSubjectsToUI');\n\n\tsetFastClick();\n\tsetAnswerJS();\n\taddMoreValidate();\n\tinitialRetainCount();\n\n\tif (svConfig.hasCacheAns) {\n\t\tiniPosition();\n\t}\n\n\tlet passInvisibleExam = true;\n\n\tif (thisSubjectsObj.length) {\n\t\tif (svConfig.viewStatus !== 'preview') {\n\t\t\t$.each(thisSubjectsObj, async (i, theObj) => {\n\t\t\t\tif (theObj.invisible === 1 && theObj.required === 1 && !checkHasAns(thisAnswerObj[i])) {\n\t\t\t\t\t/**\n\t\t\t\t\t * 先檢查 invisible & required 有沒有答案\n\t\t\t\t\t */\n\t\t\t\t\tpassInvisibleExam = false;\n\t\t\t\t\tspecialSettingError();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (passInvisibleExam &&\n\t\t\t\t\ttheObj.invisible === 1 &&\n\t\t\t\t\ttheObj.maxtimes === 1 &&\n\t\t\t\t\tcheckHasAns(thisAnswerObj[i])\n\t\t\t\t) {\n\t\t\t\t\t/**\n\t\t\t\t\t * Check invisible default answer is duplicated or not\n\t\t\t\t\t */\n\t\t\t\t\tconst checkSbjAnswer = thisAnswerObj[i][`sbj_${theObj.ID}`][0];\n\t\t\t\t\tif (checkSbjAnswer) {\n\t\t\t\t\t\tconst { anscount } = await checkMaxtimes(theObj.ID, 'vtext', checkSbjAnswer);\n\n\t\t\t\t\t\tif (anscount > 0) {\n\t\t\t\t\t\t\tshowErrorInfo({\n\t\t\t\t\t\t\t\ttitle: sysLang.wording.str_default_duplicated_title,\n\t\t\t\t\t\t\t\tcontent: sysLang.wording.str_default_duplicated_content,\n\t\t\t\t\t\t\t\tpic: 'error',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\toverflowBody(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t$('#begin').show();\n\t\t$('#survey-form').show();\n\t}\n\n\tif (svConfig.layout === 'BROCHURE') {\n\t\tsetPageJS();\n\t\tshowPage(pageConfig.next, 'next');\n\t} else if (svConfig.layout === 'PORTRAIT') {\n\t\tsvConfig.startAnswered = true;\n\n\t\tif (thisSubjectsObj && thisSubjectsObj.length > 0) {\n\t\t\t$.each(thisSubjectsObj, (sbjkey, sbjval) => {\n\t\t\t\tsingleSubjectUI(sbjval.sn);\n\t\t\t});\n\t\t}\n\n\t\t$('.subject-wrapper').not('.invisible').eq(0).addClass('first');\n\t\tUIrefresh();\n\t}\n\n\tif (thisSubjectsObj.length > 0) {\n\t\t$('#survey-content #survey-form').append($('#submit-wrapper'));\n\t\tvalidateSurvey('#survey-form', false, true);\n\t} else {\n\t\t$('#submit-wrapper').remove();\n\t}\n\n\tsetTimeout(() => {\n\t\t$('#loading .loading-text').fadeOut(300);\n\n\t\tsetTimeout(() => {\n\t\t\t$('#loading .surveycake-logo-L').addClass('scaleDown');\n\t\t\t$('#loading').fadeOut(1200);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\textPreDoneLoading();\n\n\t\t\t\tsetTimeoutTimer();\n\t\t\t\tif (passInvisibleExam) {\n\t\t\t\t\toverflowBody(false);\n\t\t\t\t}\n\n\t\t\t\tresizeRatingBar();\n\t\t\t\tresizeLevelW();\n\t\t\t\tresizeVideoBlock();\n\n\t\t\t\tif (svConfig.iniPosSN) {\n\t\t\t\t\tfocusTitle($(`#${svConfig.iniPosSN}`));\n\t\t\t\t}\n\t\t\t\t$('#loading').remove();\n\t\t\t}, 1200);\n\t\t}, 500);\n\t}, 1000);\n};\n\nexport default 'DRAW';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/draw.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAH1WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTctMDItMDdUMTY6MjY6NTArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTExLTI2VDE0OjUxOjU5KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTExLTI2VDE0OjUxOjU5KzA4OjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQwNjc0YzkzLWM1ZjktNDUzMS05YmViLTk2ZmNhMjRhODg2MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4M0UwODBGQUU1MzMxMUU2OTc0Q0FCODgwOEFDOTFDOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjgzRTA4MEZBRTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5IiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjE4MCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjE0OSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzRTA4MEY3RTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjgzRTA4MEY4RTUzMzExRTY5NzRDQUI4ODA4QUM5MUM5Ii8+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmI1ZjYwZmNjLTZmNzktNDAwNS1hYzExLTYzNjljMDY4ZjdkNSIgc3RFdnQ6d2hlbj0iMjAxNy0wMi0wN1QxNjo1MDoyMyswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/status/off.png\n// module id = 3gxb\n// module chunks = 1 2","import fetch from '../customFetch';\nimport { assetsDomain } from '../../appConfig';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getSubjectGroup = () => (\n\tfetch(`${assetsDomain}/subject-group.json`, {\n\t\tcache: 'no-cache',\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getSubjectGroup;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getSubjectGroup.js","module.exports = __webpack_public_path__ + \"private.81d0bac3cff86.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/status/private.png\n// module id = 47Qh\n// module chunks = 1 2","import { googleRecaptchaKey } from '../appConfig';\nimport svConfig, { sysLang } from '../appVariable';\nimport { loadExtraFile } from '../common';\n\nconst reCaptchaId = {\n\tcontainer: 'reCAPTCHA',\n\terror: 'reCAPTCHA-error',\n};\nconst onLoad = 'onReCaptchaLoad';\n\nexport const setReCaptchaError = (type) => {\n\tconst error = type ? sysLang.wording.re_captcha.error[type] : undefined;\n\n\tif (!error && !(document.querySelector(`#${reCaptchaId.error} label`))) {\n\t\treturn;\n\t}\n\n\tdocument.getElementById(reCaptchaId.error).innerHTML = error ? `\n\t\t\n\t\t` : '';\n};\n\nconst generateCallback = (config) => (token) => {\n\tsvConfig.reCaptcha.token = config.set ? token : null;\n\tsetReCaptchaError(config.error);\n};\n\nwindow[onLoad] = () => {\n\twindow.grecaptcha.render(reCaptchaId.container, {\n\t\tsitekey: googleRecaptchaKey,\n\t\ttheme: 'light',\n\t\tcallback: generateCallback({ set: true }),\n\t\t'expired-callback': generateCallback({ error: 'expired' }),\n\t\t'error-callback': generateCallback({ error: 'exception' }),\n\t});\n};\n\nexport const initialReCaptcha = () => {\n\tloadExtraFile(`https://www.google.com/recaptcha/api.js?onload=${onLoad}&render=explicit`, 'js');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/reCAPTCHA.js","import $ from 'jquery';\nimport vex from 'vex-js/dist/js/vex.combined';\nimport { serverDomain, assetsDomain } from '../appConfig';\nimport svConfig, {\n\turlQueryObject, thisAnswerObj, sysLang, variable, svEndConfig,\n} from '../appVariable';\nimport { defaultInput, acceptSbjType } from '../constant';\nimport { overflowBody, findOrderByKey, separateOptionIdFromText, findOptionObjectById } from '../common';\nimport { formatAns, resetSbjUI, removeMaxtimesOptions } from '../main';\nimport { writeSingleObj, updateSingleAns } from '../initial';\nimport { drawSurvey, parseSubjectsToUI } from '../draw';\nimport { ansTagToUI } from '../feature/portrait';\nimport deleteCacheAnswer from '../request/answer/deleteCache';\nimport storeCacheAnswer from '../request/answer/storeCache';\nimport getCacheAnswer from '../request/answer/getCache';\nimport getUserStatus from '../request/getUserStatus';\n\nimport '../../css/enterprise/whostone.css';\n\nconst hotaiConfig = {\n\tTEMPDATA: null,\n\tpersonality: false,\n\tfamilyCount: false,\n};\n\nconst appendHeaderLogo = (element) => {\n\tif (svConfig.theme === 'whostone') {\n\t\telement.prepend(`\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
`);\n\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'toyota') {\n\t\telement.prepend(`\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
`);\n\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'toyotaservice') {\n\t\telement.prepend(`\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
`);\n\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'lexus') {\n\t\telement.prepend(`\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
`);\n\t}\n};\n\nconst appendFooterLogo = () => {\n\tif ($('#footer-logo').find('.whostone-logo').length > 0) {\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'toyota') {\n\t\t$('#footer-logo').prepend(``);\n\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'toyotaservice') {\n\t\t$('#footer-logo').html(``);\n\n\t\treturn;\n\t}\n\n\tif (svConfig.theme === 'lexus') {\n\t\t$('#footer-logo').prepend(``);\n\t}\n};\n\nconst setHOTAIfamily = () => {\n\tconsole.log('setHOTAIfamily');\n\n\tconst familyCountOpt = [\n\t\t'opt_13501', 'opt_13502', 'opt_13503', 'opt_13504', 'opt_13505', 'opt_13506',\n\t\t'opt_13507', 'opt_13508', 'opt_13509', 'opt_13510', 'opt_13511',\n\t];\n\n\tlet allfilled = true;\n\tlet totalCount = 0;\n\n\tfor (let i = 137; i <= 140; i += 1) {\n\t\tconst theAns = thisAnswerObj[\n\t\t\tfindOrderByKey(`sbj_${i}`)\n\t\t];\n\n\t\tconsole.log(theAns);\n\n\t\tif (familyCountOpt.indexOf(theAns[`sbj_${i}`][0]) !== -1) {\n\t\t\tconst thisCount = familyCountOpt.indexOf(theAns[`sbj_${i}`][0]);\n\n\t\t\tif (thisCount != null) {\n\t\t\t\ttotalCount += thisCount;\n\t\t\t}\n\t\t} else {\n\t\t\tallfilled = false;\n\t\t}\n\t}\n\n\tif (allfilled) {\n\t\tupdateSingleAns('sbj_147', null, 'RESET');\n\t\tresetSbjUI(50006);\n\t\tupdateSingleAns('sbj_147', totalCount, 'WRITE');\n\t\t$('input[name=\"sbj_147[]\"]').val(totalCount);\n\t\tansTagToUI(50006);\n\t}\n};\n\nconst setHOTAIperson = () => {\n\tconst personGradeOpt = ['opt_20001', 'opt_20002', 'opt_20003', 'opt_20004', 'opt_20005'];\n\tconst personTxt = ['opt_29401', 'opt_29402', 'opt_29403', 'opt_29404', 'opt_29405', 'opt_29406'];\n\tconst personGrade = [];\n\tconst personFinal = { grade: 0, index: [] };\n\tlet allfilled = true;\n\n\tfor (let i = 0; i <= 5; i += 1) {\n\t\tlet thisGrade = 0;\n\n\t\tfor (let j = 202 + (5 * i); j <= 206 + (5 * i); j += 1) {\n\t\t\tconst theOrder = findOrderByKey(`sbj_${j}`);\n\t\t\tconst theAns = thisAnswerObj[theOrder];\n\n\t\t\tif (personGradeOpt.indexOf(theAns[`sbj_${j}`][0]) !== -1) {\n\t\t\t\tconst thisPoints = personGradeOpt.indexOf(theAns[`sbj_${j}`][0]) + 1;\n\t\t\t\tif (thisPoints != null) {\n\t\t\t\t\tthisGrade += thisPoints;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tallfilled = false;\n\t\t\t}\n\t\t}\n\n\t\tpersonGrade.push(thisGrade);\n\n\t\tif (thisGrade > personFinal.grade) {\n\t\t\tpersonFinal.grade = thisGrade;\n\t\t\tpersonFinal.index = [];\n\t\t\tpersonFinal.index.push(personTxt[i]);\n\t\t} else if (thisGrade === personFinal.grade) {\n\t\t\tpersonFinal.index.push(personTxt[i]);\n\t\t}\n\t}\n\n\tif (allfilled) {\n\t\tupdateSingleAns('sbj_294', null, 'RESET');\n\t\tresetSbjUI(50044);\n\n\t\tpersonFinal.index.forEach((value) => {\n\t\t\tif (svConfig.layout === 'PORTRAIT') {\n\t\t\t\t$(`#HOTAI294 #${value}`).trigger('click');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (svConfig.layout === 'BROCHURE') {\n\t\t\t\tupdateSingleAns('sbj_294', value, 'ADD');\n\t\t\t}\n\t\t});\n\n\t\t$.each(personGrade, (kkk, vvv) => {\n\t\t\tif (vvv === 0) {\n\t\t\t\tupdateSingleAns(`sbj_2${kkk + 98}`, null, 'RESET');\n\t\t\t\t$(`input[name=\"sbj_2${kkk + 98}[]\"]`).val('');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateSingleAns(`sbj_2${kkk + 98}`, vvv, 'WRITE');\n\t\t\t$(`input[name=\"sbj_2${kkk + 98}[]\"]`).val(vvv);\n\t\t});\n\n\t\tansTagToUI(50044);\n\t}\n};\n\nconst setCacheAnswerToObj = (ansjson) => {\n\tsvConfig.startAnswered = true;\n\n\t$.each(ansjson.ansData, (key, value) => {\n\t\tif ($.inArray(key, defaultInput) !== -1) {\n\t\t\tif (value !== null && value !== '') {\n\t\t\t\t$(`[name=\"${key}\"]`).val(value);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof value === 'object') {\n\t\t\tlet writeAction = true;\n\n\t\t\t/*\n\t\t\t * 只要該選項有 maxtimes 那整題答案都不要帶入\n\t\t\t */\n\t\t\tif (value.length > 0) {\n\t\t\t\tvalue.forEach((val) => {\n\t\t\t\t\tif (writeAction) {\n\t\t\t\t\t\tconst thisOption = findOptionObjectById(separateOptionIdFromText(val));\n\n\t\t\t\t\t\tif (thisOption.maxtimes) {\n\t\t\t\t\t\t\twriteAction = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (writeAction) {\n\t\t\t\twriteSingleObj(key, value);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\twriteSingleObj(key, value);\n\t});\n\n\tObject.keys(ansjson.svEndConfig).forEach((property) => {\n\t\tsvEndConfig[property] = ansjson.svEndConfig[property];\n\t});\n};\n\nexport const changeQueryObject = () => {\n\tif (!urlQueryObject.mbunq && urlQueryObject.DXID) {\n\t\tif (urlQueryObject.DXID.length > 255) {\n\t\t\turlQueryObject.DXID = urlQueryObject.DXID.substring(0, 255);\n\t\t}\n\n\t\turlQueryObject.mbunq = urlQueryObject.DXID.toString();\n\t}\n};\n\nexport const addSubjectType = () => {\n\t['HOTAITEMP01', 'HOTAITEMP02', 'HOTAITEMP03', 'HOTAITEMP04'].forEach((type) => {\n\t\tacceptSbjType.push(type);\n\t});\n};\n\nexport const autoSaveAnswer = () => {\n\t/*\n\t * 暫存答案 Timer 啟動\n\t */\n\tif (variable.surveyData.regneed === 'Y') {\n\t\tsetInterval(() => {\n\t\t\tconst ansData = formatAns();\n\n\t\t\tif (ansData.hasAns) {\n\t\t\t\tremoveMaxtimesOptions(ansData.ansData);\n\t\t\t\tansData.svEndConfig.endBySorry = 0;\n\t\t\t\tansData.svEndConfig.endBySorryOpt = [];\n\n\t\t\t\tstoreCacheAnswer(svConfig.surveyId, JSON.stringify(ansData), true);\n\t\t\t}\n\t\t}, 600000);\n\t}\n};\n\nexport const loginModule = () => {\n\tgetUserStatus(svConfig.surveyId).then((response) => {\n\t\tvariable.user.status = response.status;\n\n\t\tif (!response.status) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst userStatus = JSON.parse(atob(response.data.split('.')[1]));\n\t\tvariable.user.logined = userStatus.logined;\n\t\tvariable.user.completed = userStatus.completed;\n\n\t\tif (variable.user.completed) {\n\t\t\twindow.location.href = `/s/${svConfig.surveyId}/finished`;\n\t\t\treturn;\n\t\t}\n\n\t\tif (!variable.user.logined) {\n\t\t\t$('#login-iframe').attr('src', `${serverDomain}/login-embed.php`);\n\t\t\toverflowBody(true);\n\t\t\t$('#sv-db-regneed').fadeIn();\n\n\t\t\treturn;\n\t\t}\n\n\t\t$('#regneed').remove();\n\t\tdrawSurvey();\n\t});\n};\n\nexport const changeWelcomePage = () => {\n\tappendHeaderLogo($('#survey-content'));\n\tappendFooterLogo();\n\n\t$('.info-block-new').wrapAll('
');\n\n\tif (variable.surveyData.bonus_done !== '') {\n\t\t$('#welcome .intro').find('.replace-bonus').text(variable.surveyData.bonus_done);\n\n\t\t$('#welcome .intro').find('.info-block-bonus > img')\n\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-benifit.png`);\n\t} else {\n\t\t$('#welcome .intro').find('.info-block-bonus').remove();\n\t}\n\n\tif (variable.surveyData.draw_done !== '') {\n\t\t$('#welcome .intro').find('.replace-draw').text(variable.surveyData.draw_done);\n\n\t\t$('#welcome .intro').find('.info-block-draw > img')\n\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-gift.png`);\n\t} else {\n\t\t$('#welcome .intro').find('.info-block-draw').remove();\n\t}\n\n\tif (variable.surveyData.regneed !== 'Y') {\n\t\t$('#welcome .intro').find('.info-block-regneed').remove();\n\t} else {\n\t\t$('#welcome .intro').find('.info-block-regneed > img')\n\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-vip.png`);\n\t}\n};\n\nexport const init = () => {\n\tif (variable.surveyData.regneed === 'Y') {\n\t\tgetCacheAnswer(svConfig.surveyId)\n\t\t\t.then(({ status, data }) => {\n\t\t\t\tif (status && data.ansjson) {\n\t\t\t\t\tvex.dialog.confirm({\n\t\t\t\t\t\tmessage: '您有未完成的答案,是否要繼續填答?',\n\t\t\t\t\t\tcallback: (value) => {\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\tsetCacheAnswerToObj(JSON.parse(data.ansjson));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tparseSubjectsToUI();\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tparseSubjectsToUI();\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tparseSubjectsToUI();\n\t\t\t});\n\n\t\treturn;\n\t}\n\n\tparseSubjectsToUI();\n};\n\nexport const changeLastPage = (ele, pageName) => {\n\tappendHeaderLogo(ele);\n\tappendFooterLogo();\n\n\tlet iconkey = 'done';\n\tif (pageName !== 'timeout') {\n\t\tif (pageName !== 'thankyou') {\n\t\t\ticonkey = pageName;\n\t\t}\n\n\t\t$('.info-block-new').wrapAll('
');\n\n\t\tif (variable.surveyData[`bonus_${iconkey}`] !== '') {\n\t\t\tele.find('.intro').find('.replace-bonus').text(variable.surveyData[`bonus_${iconkey}`]);\n\n\t\t\tele.find('.intro').find('.info-block-bonus > img')\n\t\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-benifit.png`);\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-bonus').remove();\n\t\t}\n\n\t\tif (variable.surveyData[`draw_${iconkey}`] !== '') {\n\t\t\tele.find('.intro').find('.replace-draw').text(variable.surveyData[`draw_${iconkey}`]);\n\n\t\t\tele.find('.intro').find('.info-block-draw > img')\n\t\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-gift.png`);\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-draw').remove();\n\t\t}\n\n\t\tif (variable.surveyData.regneed !== 'Y') {\n\t\t\tele.find('.intro').find('.info-block-regneed').remove();\n\t\t} else {\n\t\t\tele.find('.intro').find('.info-block-regneed > img')\n\t\t\t\t.attr('src', `${assetsDomain}/theme/whostone/template-vip.png`);\n\t\t}\n\t}\n\n\tif (ele.find('#survey-close-btn').length > 0 && variable.surveyData.regneed === 'Y') {\n\t\tele.find('#survey-close-btn').html('查看更多我的問卷');\n\t}\n};\n\nexport const submitHandler = () => {\n\tif (hotaiConfig.personality) {\n\t\tsetHOTAIperson();\n\t}\n\n\tif (hotaiConfig.familyCount) {\n\t\tsetHOTAIfamily();\n\t}\n};\n\nexport const leavePage = () => {\n\tif (variable.surveyData.regneed === 'Y') {\n\t\tif ($(':focus').length > 0) {\n\t\t\t$(':focus').blur();\n\t\t}\n\n\t\tconst ansData = formatAns();\n\n\t\tif (ansData.hasAns) {\n\t\t\tremoveMaxtimesOptions(ansData.ansData);\n\t\t\tansData.svEndConfig.endBySorry = 0;\n\t\t\tansData.svEndConfig.endBySorryOpt = [];\n\n\t\t\tconst ansForSave = JSON.stringify(ansData);\n\t\t\tstoreCacheAnswer(svConfig.surveyId, ansForSave, false);\n\t\t} else {\n\t\t\tdeleteCacheAnswer(svConfig.surveyId);\n\t\t}\n\n\t\treturn '您即將離開本問卷,互動網會暫存你已填答的答案,之後可接續填答,確定要離開嗎?';\n\t}\n\n\treturn sysLang.wording.confirm_leave_sv;\n};\n\nexport const readEachTemplate = (subjectData) => {\n\tif (subjectData.type === 'HOTAITEMP01') {\n\t\thotaiConfig.familyCount = true;\n\t}\n\n\tif (subjectData.type === 'HOTAITEMP02') {\n\t\thotaiConfig.personality = true;\n\t}\n};\n\nexport default 'This is enterprise-whostone';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/enterprise/whostone.js","module.exports = __webpack_public_path__ + \"timeout.c55e52edcf4ee.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/banner/timeout.jpg\n// module id = 6aNH\n// module chunks = 1 2","import $ from 'jquery';\nimport svConfig, { pageConfig, thisSubjectsObj, pageSNArr, variable } from '../appVariable';\nimport { findOrderBySN, scrollToEle } from '../common';\nimport { progressCount, progressUpdate, focusTitle } from '../main';\nimport { htmlToTxt } from '../action';\nimport { validateSurvey, validateRemote, checkSNVisible } from '../validate';\nimport getServerTimeString from '../request/getServerTimeString';\nimport { singleSubjectUI } from '../draw';\nimport { extAftShowPage, extPreShowPage } from '../customize';\nimport { ansTagToCrumb, UIrefresh } from './portrait';\nimport throttle from '../utils/throttle';\n\n/* -------------------------------------\n -------------- Brochure -------------\n------------------------------------- */\nexport const updateCrumbTXT = (targetSubjectNumber) => {\n\tconsole.log(`/// updateCrumbTXT ${targetSubjectNumber}`);\n\n\tconst theCrumb = thisSubjectsObj[\n\t\tfindOrderBySN(targetSubjectNumber)\n\t].crumb;\n\n\tif (!theCrumb) {\n\t\treturn;\n\t}\n\n\tif (theCrumb.length > 0) {\n\t\t$('.breadcrumb').html('').hide();\n\n\t\tfor (let k = 0; k < theCrumb.length - 1; k += 1) {\n\t\t\tif (typeof theCrumb[k] !== 'undefined') {\n\t\t\t\tconst thisBreadRow = $(`.breadcrumb[indent='${k}']`);\n\t\t\t\tthisBreadRow.html(theCrumb[k]);\n\t\t\t\tansTagToCrumb(thisBreadRow); // if crumbs has ansTag\n\n\t\t\t\tthisBreadRow.text(\n\t\t\t\t\thtmlToTxt(thisBreadRow.html()),\n\t\t\t\t).show();\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const togglePageButton = () => {\n\tif (pageConfig.prev === null) {\n\t\t$('#prev-sbj-btn').addClass('disabled');\n\t} else {\n\t\t$('#prev-sbj-btn').removeClass('disabled');\n\t}\n\n\tif (pageConfig.next === null) {\n\t\t$('#next-sbj-btn').addClass('disabled');\n\t} else {\n\t\t$('#next-sbj-btn').removeClass('disabled');\n\t}\n};\n\nconst findNewOne = (direction) => {\n\tconst findAnotherNewOne = () => {\n\t\tif (direction === 'next') {\n\t\t\tpageConfig.next += 1;\n\t\t} else if (direction === 'prev') {\n\t\t\tpageConfig.prev -= 1;\n\t\t}\n\n\t\tfindNewOne(direction);\n\t};\n\n\tconst theSN = pageSNArr[pageConfig[direction]];\n\n\tif (theSN === 'welcome' || theSN === 'submit-wrapper') {\n\t\treturn;\n\t}\n\n\tif (typeof theSN === 'object') {\n\t\t/**\n\t\t * check nothing visible in next page\n\t\t * loop through all subjects\n\t\t */\n\t\tconst visibleSubjectsList = theSN.filter((subjectNumber) => checkSNVisible(subjectNumber));\n\n\t\tif (visibleSubjectsList.length === 0) {\n\t\t\tfindAnotherNewOne();\n\t\t}\n\t} else if (!checkSNVisible(theSN)) {\n\t\tconsole.log(`/// SN ${theSN} SKIP FIND NEXT`);\n\n\t\tfindAnotherNewOne();\n\t}\n};\n\nexport const resetPageConfig = () => {\n\tpageConfig.next = pageConfig.now + 1;\n\tif (pageConfig.next > pageSNArr.length - 1) {\n\t\tpageConfig.next = null;\n\t} else {\n\t\tfindNewOne('next');\n\t}\n\n\tpageConfig.prev = pageConfig.now - 1;\n\tif (pageConfig.prev < 0) {\n\t\tpageConfig.prev = null;\n\t} else {\n\t\tfindNewOne('prev');\n\t}\n\n\tconsole.log(`resetPage Config: prev:${pageConfig.prev} ,now: ${pageConfig.now} ,next: ${pageConfig.next}`);\n\ttogglePageButton();\n};\n\nexport const updatePageConfig = (direction) => {\n\tif (direction === 'next') {\n\t\tpageConfig.prev = pageConfig.now;\n\t\tpageConfig.now = pageConfig.next;\n\t\tpageConfig.next = pageConfig.now + 1;\n\n\t\tif (pageConfig.next > pageSNArr.length - 1) {\n\t\t\tpageConfig.next = null;\n\t\t} else {\n\t\t\tfindNewOne(direction);\n\t\t}\n\t} else if (direction === 'prev') {\n\t\tpageConfig.next = pageConfig.now;\n\t\tpageConfig.now = pageConfig.prev;\n\t\tpageConfig.prev = pageConfig.now - 1;\n\n\t\tif (pageConfig.prev < 0) {\n\t\t\tpageConfig.prev = null;\n\t\t} else {\n\t\t\tfindNewOne(direction);\n\t\t}\n\t}\n\n\tconsole.log(`/// prev:${pageConfig.prev} ,now: ${pageConfig.now} ,next: ${pageConfig.next}`);\n\ttogglePageButton();\n};\n\nexport const showPage = (pageNumber, direction) => {\n\textPreShowPage();\n\n\tconsole.log(`/// show pageNumber: ${pageNumber}`);\n\n\tconst thePageSN = pageSNArr[pageNumber];\n\n\t$('#welcome').hide();\n\t$('#submit-wrapper').hide();\n\n\tif (thePageSN === 'welcome') {\n\t\t$('#survey-form').find('.page-block').remove();\n\t\t$(`#${thePageSN}`).show();\n\t} else if (thePageSN === 'submit-wrapper') {\n\t\tconsole.log('IS submit-wrapper !!!!');\n\n\t\t$('#survey-form').find('.page-block').remove();\n\t\t$(`#${thePageSN}`).show();\n\t\t$('#Breadcrumb-wrapper').css('display', 'none');\n\t\tprogressUpdate(100);\n\t} else {\n\t\t$('#survey-form').find('.page-block').remove();\n\n\t\tif (typeof thePageSN === 'object') {\n\t\t\tif (pageConfig.mode === 'auto') {\n\t\t\t\tupdateCrumbTXT(thePageSN[0]);\n\t\t\t}\n\n\t\t\tthePageSN.forEach((value) => {\n\t\t\t\tsingleSubjectUI(value);\n\t\t\t});\n\n\t\t\tfocusTitle($(`#${thePageSN[0]}`));\n\t\t\tprogressCount(thePageSN[0]);\n\t\t} else {\n\t\t\t$('#survey-form').find('.page-block').remove();\n\t\t\tsingleSubjectUI(thePageSN);\n\t\t\tupdateCrumbTXT(thePageSN);\n\n\t\t\tfocusTitle($(`#${thePageSN}`));\n\t\t\tprogressCount(thePageSN);\n\t\t}\n\n\t\tvalidateRemote();\n\n\t\tif ($('#survey-form').find('.timer-overlay-container').length) {\n\t\t\t$('#survey-form').find('.timer-overlay-container').eq(0).trigger('click');\n\t\t}\n\n\t\tif (pageConfig.mode === 'auto') {\n\t\t\t$('#Breadcrumb-wrapper').css('display', 'block');\n\t\t}\n\t}\n\n\tscrollToEle($('body'), false, 0);\n\tif (direction) {\n\t\tupdatePageConfig(direction);\n\t}\n\tUIrefresh();\n\n\textAftShowPage();\n};\n\nconst doGetServerTime = () => {\n\tgetServerTimeString()\n\t\t.then((data) => {\n\t\t\tsvConfig.startAnswered = true;\n\t\t\t$('input[name=\"initime\"]').val(data.time);\n\n\t\t\tshowPage(pageConfig.next, 'next');\n\t\t}).catch(() => {\n\t\t\tdoGetServerTime();\n\t\t});\n};\n\nexport const goPageNext = () => {\n\tif (pageConfig.now < pageSNArr.length - 1) {\n\t\tif (pageConfig.now === 0 && !svConfig.startAnswered) {\n\t\t\tdoGetServerTime();\n\n\t\t\treturn;\n\t\t}\n\n\t\tshowPage(pageConfig.next, 'next');\n\n\t\treturn;\n\t}\n\n\tconsole.log('/// IS LAST ONE');\n};\n\nexport const goPagePrev = () => {\n\tif (pageConfig.now > 0) {\n\t\tshowPage(pageConfig.prev, 'prev');\n\n\t\treturn;\n\t}\n\n\tconsole.log('/// 已經最前');\n};\n\nexport const setPageJS = () => {\n\tdocument.getElementById('begin').onclick = throttle(() => {\n\t\tgoPageNext();\n\t}, 1000);\n\n\tif (document.getElementById('prev-sbj-btn')) {\n\t\tdocument.getElementById('prev-sbj-btn').onclick = throttle(() => {\n\t\t\tif (\n\t\t\t\t!$(this).hasClass('disabled') &&\n\t\t\t\t!variable.isrunTimer &&\n\t\t\t\t!variable.needRunTimer &&\n\t\t\t\t$('.-uploading').length === 0\n\t\t\t) {\n\t\t\t\tgoPagePrev();\n\t\t\t}\n\t\t}, 400);\n\t}\n\n\tdocument.getElementById('next-sbj-btn').onclick = throttle(() => {\n\t\tif (!$(this).hasClass('disabled') &&\n\t\t\tvalidateSurvey('#survey-form', false, true) &&\n\t\t\t!variable.isrunTimer &&\n\t\t\t!variable.needRunTimer &&\n\t\t\t$('.-uploading').length === 0\n\t\t) {\n\t\t\tgoPageNext();\n\t\t}\n\t}, 400);\n\n\t$('body').keydown((e) => {\n\t\tif (e.keyCode === 37 && !$(':focus').length) {\n\t\t\t$('#prev-sbj-btn').trigger('click');\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.keyCode === 39 && !$(':focus').length) {\n\t\t\t$('#next-sbj-btn').trigger('click');\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.keyCode === 9) {\n\t\t\t// return false;\n\t\t}\n\t});\n};\n\nexport default 'PAGE';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/brochure.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png\n// module id = 7lOV\n// module chunks = 1","import $ from 'jquery';\n\nimport svConfig, { thisSubjectsObj, pageConfig, pageSNArr, variable } from '../appVariable';\nimport { submitHandlerFolow } from '../validate';\nimport { noAnsSbjType } from '../constant';\nimport { scrollToEle, stripHtmlTags } from '../common';\nimport { getAnstagTXT } from './portrait';\nimport { resetPageConfig, showPage } from './brochure';\nimport { focusTitle } from '../main';\n\nconst $previewAnswer = $('#preview-answer');\nconst $previewAnswerContent = $previewAnswer.find('.content');\nconst $subjectBlock = $('.subject-block-template');\n\nconst cleanPreviewAnswer = () => {\n\tsvConfig.previewAnswer = true;\n\t$previewAnswer.find('.subject-block').not('.subject-block-template').remove();\n};\n\nconst closePreviewModal = () => {\n\t$('body').removeClass('freeze');\n\t$previewAnswer.removeClass('-show -fade');\n\tcleanPreviewAnswer();\n};\n\nconst goToSubject = (sn) => {\n\tif (svConfig.layout === 'PORTRAIT') {\n\t\tclosePreviewModal();\n\t\tscrollToEle($(`#${sn}`), true);\n\t\tfocusTitle($(`#${sn}`));\n\t}\n\n\tif (svConfig.layout === 'BROCHURE') {\n\t\tclosePreviewModal();\n\n\t\tconst pageNumber = pageSNArr.findIndex((value) => {\n\t\t\tif (typeof value === 'object' && value.includes(sn)) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (value === sn) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\tpageConfig.now = pageNumber;\n\t\tresetPageConfig();\n\t\tshowPage(pageConfig.now);\n\t}\n};\n\nconst composePreviewAnswer = () => {\n\tthisSubjectsObj\n\t\t/* eslint-disable no-underscore-dangle */\n\t\t.filter((subject) => noAnsSbjType.indexOf(subject.type) === -1 && subject._isVisible())\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t.forEach((subject) => {\n\t\t\tconst $newSubjectBlock = $subjectBlock.clone().removeClass('subject-block-template');\n\n\t\t\t$newSubjectBlock.find('.title').text(stripHtmlTags(subject.text));\n\t\t\t$newSubjectBlock.find('.answer').text(getAnstagTXT(subject.sn));\n\n\t\t\tif (variable.surveyData.backbtnshow !== 'OFF') {\n\t\t\t\t$newSubjectBlock.on('click', () => {\n\t\t\t\t\tgoToSubject(subject.sn);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t$previewAnswerContent.append($newSubjectBlock);\n\t\t});\n};\n\nconst previewAnswer = () => {\n\tif (variable.surveyData.backbtnshow === 'OFF') {\n\t\t$previewAnswer.addClass('-view-only');\n\t}\n\n\tcomposePreviewAnswer();\n\n\t$('body').addClass('freeze');\n\t$previewAnswer.addClass('-show');\n\n\tsetTimeout(() => {\n\t\t$previewAnswer.addClass('-fade');\n\t}, 100);\n\n\t$('#preview-answer').scrollTop(0);\n};\n\n$('#confirm-preview-submit').on('click', () => {\n\tsvConfig.previewAnswer = false;\n\n\t$('body').removeClass('freeze');\n\t$previewAnswer.removeClass('-show -fade');\n\tscrollToEle($('#submit-wrapper'));\n\n\tsubmitHandlerFolow();\n});\n\n$('#cancel-preview-submit').on('click', () => {\n\tclosePreviewModal();\n});\n\nexport default previewAnswer;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/previewAnswer.js","import { fileuploadEnable } from './appConfig';\n\nexport const allHtmlElement = 'input, select, textarea';\nexport const needTrimElement = 'input, textarea';\n/* eslint-disable max-len */\nexport const typeingElement = '[type=\"text\"], [type=\"number\"], [type=\"tel\"], [type=\"email\"], [type=\"url\"], [type=\"hidden\"]';\n/* eslint-enable max-len */\nexport const defaultInput = ['svid', 'initime', 'svend', 'endsopts'];\nexport const uxSbjType = ['RATINGBAR', 'FILEUPLOAD'];\nexport const logicSbjType = ['CHOICEONE', 'CHOICEMULTI', 'PICKFROM'];\nexport const noAnsSbjType = ['NEST', 'STATEMENT', 'QUOTE', 'DIVIDER'];\nexport const entitiesKey = ['text', 'descpt', 'unittxt'];\nexport const renderUiType = ['thankyou', 'ended', 'sorry'];\n\nexport const acceptSbjType = [\n\t'TXTSHORT',\t\t'TXTLONG',\t\t'CHOICEONE',\t'CHOICEMULTI',\n\t'NEST',\t\t\t'NESTCHILD',\t'QUOTE',\t\t'STATEMENT',\n\t'DIGITINPUT',\t'DIGITSLIDE',\t'ITEMSORT',\t\t'RATINGBAR',\n\t'PICKFROM',\t\t'DATEPICKER',\t'DIVIDER',\t\t'FILEUPLOAD',\n].filter((type) => {\n\tif (type === 'FILEUPLOAD' && !fileuploadEnable) {\n\t\treturn false;\n\t}\n\n\treturn true;\n});\n\nexport const typingSbjType = [\n\t'TXTSHORT',\t\t'TXTLONG',\t\t'DIGITINPUT',\t'DIGITSLIDE',\n\t'DATEPICKER',\n];\n\nexport const clickSbjType = [\n\t'CHOICEONE',\t'CHOICEMULTI',\t'NESTCHILD',\t'ITEMSORT',\n\t'PICKFROM',\n];\n\nexport const acceptSbjKey = [\n\t'sn',\t\t'text',\t\t\t'type',\t\t\t'orders',\t\t'ID',\n\t'imgs',\t\t'indent',\t\t'invisible',\t'attr',\t\t\t'required',\n\t'descpt',\t'compress',\t\t'lowerbounds',\t'upperbounds',\t'rndopts',\n\t'timer',\t'youtubeid',\t'pointbounds',\t'unittxt',\t\t'increasebounds',\n\t'options',\t'maxtimes',\t\t'show_result',\t'extras',\t\t'optfrom',\n];\n\nexport const acceptOptKey = [\n\t'ID',\t\t\t'elses',\t\t'imgs',\t\t\t'jumpto',\n\t'linkto',\t\t'maxacts',\t\t'maxtimes',\t\t'orders',\n\t'sbjid',\t\t'text',\t\t\t'youtubeid',\t'nota',\n\t'invisible',\t'starttime',\t'endtime',\n];\n\nexport const subjectTypes = [\n\t'TXTSHORT',\t\t'TXTLONG',\t\t'CHOICEONE',\t'CHOICEMULTI',\n\t'NEST',\t\t\t'NESTCHILD',\t'QUOTE',\t\t'STATEMENT',\n\t'DIGITINPUT',\t'DIGITSLIDE',\t'ITEMSORT', \t'RATINGBAR',\n\t'PICKFROM',\t\t'DATEPICKER',\t'DIVIDER',\n];\n\nexport const subjectKeys = [\n\t'sn',\t\t'text',\t\t\t'type',\t\t\t'orders',\t\t'ID',\n\t'imgs',\t\t'indent',\t\t'invisible',\t'attr',\t\t\t'required',\n\t'descpt',\t'compress',\t\t'lowerbounds',\t'upperbounds',\t'rndopts',\n\t'timer',\t'youtubeid',\t'pointbounds',\t'unittxt',\t\t'increasebounds',\n\t'options',\t'maxtimes',\t\t'show_result',\t'extras',\t\t'optfrom',\n];\n\nexport const optionKeys = [\n\t'ID',\t\t\t'elses',\t'imgs',\t\t'jumpto',\t'linkto',\n\t'maxacts',\t\t'maxtimes',\t'orders',\t'sbjid',\t'text',\n\t'youtubeid',\t'nota',\n];\n\nexport default 'CONSTANT';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/constant.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getPrivate = (surveyId, password) => (\n\tfetch(`${\n\t\tapiDomain\n\t}/${apiVersion}/s/survey/private?svid=${surveyId}&password=${password}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getPrivate;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getPrivate.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\n/**\n * get decrypt Hash & IV\n */\nconst getDecryptKeys = (svid, token) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/referral/encrypt-keys?svid=${svid}&token=${token}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getDecryptKeys;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/getDecryptKeys.js","import Cookies from 'js-cookie';\n\nimport { isIniframe } from '../appVariable';\n\nexport const setCookieEnable = () => {\n\tconsole.log('------- setCookieEnable ------');\n\n\tCookies.set('surveyCookieEnable', 'true', {\n\t\texpires: 1,\n\t\tsecure: process.env.NODE_ENV !== 'DEV',\n\t\tpath: '/',\n\t\tsameSite: 'None',\n\t});\n};\n\nexport const makeCookieRedirect = () => {\n\tconsole.log('----- makeCookieRedirect -----');\n\tconsole.log(`window.location.href is ${window.location.href}`);\n\tconsole.log(`document.referrer is ${document.referrer}`);\n\n\tconst operator = window.location.search ? '&' : '?';\n\n\tconst cookieLocation = `\n\t\t${window.location.href}${operator}cookie=${encodeURIComponent(document.referrer)}`;\n\n\tconsole.log(`Redirecting to: ${cookieLocation}`);\n\n\twindow.top.location = cookieLocation;\n};\n\nconst testCookie = () => {\n\tconsole.log('------- testCookie ------');\n\n\tsetCookieEnable();\n\n\tif (Cookies.get('surveyCookieEnable')) {\n\t\tconsole.log('surveyCookie enable');\n\n\t\treturn true;\n\t}\n\n\tconsole.log('surveyCookie not enable');\n\treturn false;\n};\n\nconst cookieSupport = () => {\n\tif (!testCookie() && isIniframe) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nexport default cookieSupport;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/cookieSupport.js","import $ from 'jquery';\nimport 'jquery-validation';\nimport vex from 'vex-js/dist/js/vex.combined';\nimport URI from 'urijs';\nimport ga from 'GA'; // eslint-disable-line\nimport fbq from 'FacebookPixel'; // eslint-disable-line\n\nimport { apiDomain, serverDomain, apiVersion } from './appConfig';\nimport svConfig, { svEndConfig, sysLang, thisSubjectsObj, variable, urlQueryObject } from './appVariable';\nimport { allHtmlElement, renderUiType, noAnsSbjType } from './constant';\nimport { removeMaxtimesOptions, formatAns } from './main';\nimport math from './math';\nimport { newEventData, updateSurveyEndtime } from './initial';\nimport { findOrderBySN, overflowBody, scrollToEle } from './common';\nimport { showErrorInfo } from './ui';\nimport { checkTimeout, setVisit } from './action';\nimport { renderLastUI, specialSettingError } from './draw';\nimport { extSubmitHandler } from './customize';\nimport previewAnswer from './feature/previewAnswer';\nimport { setReCaptchaError } from './feature/reCAPTCHA';\nimport postAnswer from './request/survey/postAnswer';\nimport { putCsrfTokenToCookie } from './getCsrfTokenFromCookie';\n\n/* -------------------------------------\n ------------- Validate --------------\n------------------------------------- */\nexport const redirectAfterSubmit = (afterSubmit, fileHash) => {\n\t/**\n\t * event tracker\n\t */\n\tga('send', 'event', 'SubmitSuccess', svConfig.surveyId);\n\n\tif (variable.ampInstance) {\n\t\tvariable.ampInstance.logEvent('Submit Survey', newEventData());\n\t}\n\n\tif (variable.surveyData.analyticsid) {\n\t\tga('clientTracker.send', 'event', 'SurveyCake', 'SurveyCakeSubmit', svConfig.surveyId);\n\t}\n\n\tif (variable.surveyData.fbpixelid) {\n\t\tfbq('trackCustom', 'SurveyCakeSubmit', { surveyID: svConfig.surveyId });\n\t}\n\n\t/**\n\t * notice user survey is fulled\n\t */\n\tif (afterSubmit === 'fulled') {\n\t\tshowErrorInfo({\n\t\t\ttitle: sysLang.wording.str_sv_overloaded,\n\t\t\tpic: 'overloaded',\n\t\t});\n\t\toverflowBody(true);\n\n\t\treturn;\n\t}\n\n\t/**\n\t * Let's go to the next page\n\t */\n\tif (svEndConfig.redirectURL && fileHash) {\n\t\tconst redirectUrl = new URI(svEndConfig.redirectURL);\n\t\tredirectUrl.addQuery('svid', svConfig.surveyId);\n\t\tredirectUrl.addQuery('hash', fileHash);\n\n\t\tif (urlQueryObject.lang) {\n\t\t\tredirectUrl.addQuery('lang', urlQueryObject.lang);\n\t\t}\n\n\t\twindow.location.href = redirectUrl.toString();\n\t\treturn;\n\t}\n\n\t/**\n\t * Let's render last ui\n\t */\n\tif ($.inArray(afterSubmit, renderUiType) !== -1) {\n\t\trenderLastUI(afterSubmit);\n\t}\n};\n\nexport const passSubmitHandler = async () => {\n\tsvConfig.leaveAlert = false;\n\n\tconst ansData = formatAns();\n\n\tif (!ansData.ansValid) {\n\t\tshowErrorInfo({\n\t\t\ttitle: sysLang.wording.str_default_anslost_title,\n\t\t\tcontent: sysLang.wording.str_default_anslost_content.replace(\n\t\t\t\t'_{{svURL}}_',\n\t\t\t\t`${serverDomain}/s/${svConfig.surveyId}`,\n\t\t\t),\n\t\t\tpic: 'error',\n\t\t});\n\t\toverflowBody(true);\n\n\t\treturn;\n\t}\n\n\t/**\n\t * answers are valid\n\t */\n\tremoveMaxtimesOptions(ansData.ansData);\n\n\tconst data = await postAnswer(ansData.ansData);\n\n\tif (!data.status) {\n\t\tif (data.errmsg === 'TOKEN_ERROR') {\n\t\t\tputCsrfTokenToCookie();\n\t\t}\n\n\t\tif (data.errmsg === 'UPLOAD_FOLDER_FULL') {\n\t\t\tvex.dialog.alert(sysLang.wording.fileupload.error.fulled);\n\t\t} else {\n\t\t\tvex.dialog.alert(sysLang.wording.str_submit_failed);\n\t\t}\n\n\t\t$('#submit-wrapper button')\n\t\t\t.html(sysLang.wording.str_sv_submit)\n\t\t\t.removeAttr('disabled');\n\n\t\treturn;\n\t}\n\n\tredirectAfterSubmit(data.data.redirect, data.data.fileHash || '');\n};\n\nexport const svSubmitHandler = () => {\n\tconsole.log('/// svSubmitHandler');\n\n\tif (!svConfig.alreadySetVisit) {\n\t\tsetVisit();\n\t}\n\n\t/**\n\t * The default of final page is `thankyou`\n\t * Priority is : `sorry` > `ended` > `thankyou`\n\t */\n\tsvEndConfig.submitURL = 'thankyou';\n\n\tif (svEndConfig.endBySorry > 0) {\n\t\tsvEndConfig.submitURL = 'sorry';\n\n\t\tif (svEndConfig.endBySorryOpt.length > 0) {\n\t\t\tsvEndConfig.endsopts = svEndConfig.endBySorryOpt[0];\n\t\t}\n\t} else if (svEndConfig.endByEnded > 0) {\n\t\tsvEndConfig.submitURL = 'ended';\n\n\t\tif (svEndConfig.endByEndedOpt.length > 0) {\n\t\t\tsvEndConfig.endsopts = svEndConfig.endByEndedOpt[0];\n\t\t}\n\t} else if (svEndConfig.endByThankyou > 0) {\n\t\tsvEndConfig.submitURL = 'thankyou';\n\n\t\tif (svEndConfig.endByThankyouOpt.length > 0) {\n\t\t\tsvEndConfig.endsopts = svEndConfig.endByThankyouOpt[0];\n\t\t}\n\t} else {\n\t\tsvEndConfig.endsopts = null;\n\t}\n\n\t$('input[name=\"svend\"]').val(svEndConfig.submitURL);\n\t$('input[name=\"endsopts\"]').val(svEndConfig.endsopts);\n\tconsole.log(`//// FINAL submitURL: ${svEndConfig.submitURL}`);\n\tconsole.log(`//// FINAL endsopts: ${svEndConfig.endsopts}`);\n};\n\nexport const submitHandlerFolow = async () => {\n\tsvSubmitHandler();\n\n\textSubmitHandler();\n\n\tif (svConfig.untrack) {\n\t\treturn;\n\t}\n\n\tif (svConfig.previewAnswer) {\n\t\tpreviewAnswer();\n\n\t\treturn;\n\t}\n\n\tif (svConfig.reCaptcha.enable && !svConfig.reCaptcha.token) {\n\t\tsetReCaptchaError('required');\n\t\treturn;\n\t}\n\n\tif (svConfig.viewStatus === 'public') {\n\t\t$('#submit-wrapper button')\n\t\t\t.html(` ${sysLang.wording.status_submiting}`)\n\t\t\t.attr('disabled', 'disabled');\n\n\t\tif (!checkTimeout()) {\n\t\t\tpassSubmitHandler();\n\t\t\treturn;\n\t\t}\n\n\t\tawait updateSurveyEndtime();\n\n\t\tif (!checkTimeout()) {\n\t\t\tpassSubmitHandler();\n\n\t\t\treturn;\n\t\t}\n\n\t\tvex.dialog.confirm({\n\t\t\tmessage: sysLang.wording.alert.surveyTimeout,\n\t\t\tcallback: () => {\n\t\t\t\tsvConfig.leaveAlert = false;\n\t\t\t\twindow.location.href = `/s/${svConfig.surveyId}/timeout`;\n\t\t\t},\n\t\t});\n\n\t\treturn;\n\t}\n\n\tif (svConfig.isThemePv) {\n\t\tvex.dialog.alert(sysLang.wording.str_pv_nosubmit);\n\n\t\treturn;\n\t}\n\n\tvex.dialog.confirm({\n\t\tmessage: sysLang.wording.str_pv_redirect.replace('_{{pagename}}_', svEndConfig.submitURL),\n\t\tcallback: (value) => {\n\t\t\tif (value) {\n\t\t\t\t$(window.parent.document)\n\t\t\t\t\t.find(`.pv-switch[rel='${svEndConfig.submitURL}']`)\n\t\t\t\t\t.trigger('click');\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const setValidator = (targetEle) => {\n\tvariable.validator = $(targetEle).validate({\n\t\tignore: '.ignore',\n\t\tonkeyup(element) {\n\t\t\tif ($(element).hasClass('textOnece')) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (element.name in this.submitted || element === this.lastElement) {\n\t\t\t\tthis.element(element);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\terrorPlacement: (error, element) => {\n\t\t\tif (svConfig.can_showError) {\n\t\t\t\tif (!element.closest('.subject-wrapper').hasClass('invisible')) {\n\t\t\t\t\tif (element.parent('div').hasClass('level')) {\n\t\t\t\t\t\telement.closest('.NESTCHILD')\n\t\t\t\t\t\t\t.find('.subject-reminder')\n\t\t\t\t\t\t\t.append(error);\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (element.closest('.subject-wrapper').find('.subject-reminder .error').length === 0) {\n\t\t\t\t\t\telement.closest('.subject-wrapper').find('.subject-reminder').append(error);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tspecialSettingError();\n\t\t\t}\n\t\t},\n\t\tsubmitHandler: () => {\n\t\t\tif (variable.isrunTimer) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ($('.-uploading').length > 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconsole.log(`/// submitHandler 目前可否 submit : ${svConfig.can_submit}`);\n\n\t\t\tsubmitHandlerFolow();\n\t\t},\n\t\tinvalidHandler: (form, validator) => {\n\t\t\tif (!validator.numberOfInvalids()) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tscrollToEle($(validator.errorList[0].element).parents('.subject-wrapper'), true);\n\t\t\t}, 100);\n\t\t},\n\t});\n};\n\nexport const checkAnsNeedValide = (target) => {\n\tif (target.hasClass('hidden') || target.hasClass('ignore-subject') || target.hasClass('sorry-skip')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nexport const validateSurvey = (targetEle, canSubmit, canShowError) => {\n\tsvConfig.can_submit = canSubmit;\n\tsvConfig.can_showError = canShowError;\n\n\t/**\n\t * layout must be `BROCHURE` / `PORTRAIT`\n\t */\n\tconst modifyArea = $('#survey-form').find('.subject-wrapper');\n\n\tmodifyArea.find(allHtmlElement).removeClass('ignore');\n\n\t$.each(modifyArea, function () {\n\t\tif (!checkAnsNeedValide($(this))) {\n\t\t\tconst impactQuestions = $(this).find(allHtmlElement);\n\t\t\timpactQuestions.addClass('ignore');\n\t\t}\n\t});\n\n\tif (variable.validator === null) {\n\t\tsetValidator(targetEle);\n\n\t\treturn true;\n\t}\n\n\tif (svConfig.layout === 'BROCHURE') {\n\t\tif (variable.validator.form()) {\n\t\t\tconsole.log('PASS VALIDATE');\n\n\t\t\treturn true;\n\t\t}\n\n\t\tconsole.log('NOT PASS VALIDATE');\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nconst textOneceRemote = (elementName) => ({\n\turl: `${apiDomain}/${apiVersion}/s/ans/count?svid=${svConfig.surveyId}`,\n\tdata: {\n\t\tsbjid: () => elementName.replace('[]', '').replace('sbj_', ''),\n\t\tvtext: () => $(`input[name='${elementName}']`).val(),\n\t},\n\tdataFilter: (data) => {\n\t\t$.validator.messages.remote = sysLang.wording.info_answer_duplicated;\n\n\t\tconst theData = JSON.parse(data);\n\t\tif (theData && theData.anscount === '0') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (svConfig.remote && svConfig.layout === 'BROCHURE') {\n\t\t\tsvConfig.remote = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\t$('#next-sbj-btn').trigger('click');\n\t\t\t}, 100);\n\t\t}\n\n\t\treturn false;\n\t},\n});\n\nexport const validateRemote = () => {\n\tif ($('.textOnece').length) {\n\t\t$('.textOnece').each(function () {\n\t\t\t$(this).rules('add', {\n\t\t\t\tremote: () => (\n\t\t\t\t\ttextOneceRemote($(this).attr('name'))\n\t\t\t\t),\n\t\t\t});\n\t\t});\n\t}\n};\n\nexport const validateSingleEle = (targetEle) => {\n\tif (variable.validator && targetEle) {\n\t\tvariable.validator.element(targetEle);\n\t}\n};\n\nexport const checkAnsCount = () => {\n\tsvEndConfig.ansSbjLog = {};\n\n\t$.each(thisSubjectsObj, (k, ele) => {\n\t\t/**\n\t\t * 如果是 noAnsSbjType 也不用答案\n\t\t */\n\t\tif ($.inArray(ele.type, noAnsSbjType) === -1) {\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._showByLinkto === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideByJumpto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideBySorryto > 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ele.required === 1) {\n\t\t\t\t/**\n\t\t\t\t * PICKFROM no options need pass\n\t\t\t\t */\n\t\t\t\tif (ele.type === 'PICKFROM') {\n\t\t\t\t\tif (ele.options.length > 0) {\n\t\t\t\t\t\tsvEndConfig.ansSbjLog[`sbj_${ele.ID}`] = false;\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsvEndConfig.ansSbjLog[`sbj_${ele.ID}`] = false;\n\t\t\t}\n\t\t}\n\t});\n\n\tconsole.log(svEndConfig.ansSbjLog);\n};\n\nexport const checkSNVisible = (subjectNumber) => {\n\tconst ele = thisSubjectsObj[findOrderBySN(subjectNumber)];\n\n\t/* eslint-disable no-underscore-dangle */\n\treturn ele && ele._isVisible();\n\t/* eslint-enable no-underscore-dangle */\n};\n\nconst validateEmail = (value) => (\n\t/* eslint-disable max-len */\n\t/* eslint-disable no-useless-escape */\n\t/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(value)\n\t/* eslint-enable max-len */\n\t/* eslint-enable no-useless-escape */\n);\n\nexport const addMoreValidate = () => {\n\t$.validator.methods.step = (value, element) => {\n\t\tif (!value) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst answer = parseFloat(value);\n\t\tconst min = parseFloat($(element).attr('min') || 0);\n\t\tconst max = parseFloat($(element).attr('max'));\n\t\tconst step = parseFloat($(element).attr('step'));\n\n\t\tif (!min && !max) {\n\t\t\treturn math(answer, '%', step) === 0;\n\t\t}\n\n\t\treturn math(math(answer, '-', min), '%', step) === 0 || answer === max;\n\t};\n\n\t$.extend($.validator.messages, sysLang.wording.validateMessage);\n\t$.extend($.validator.messages, {\n\t\tmaxlength: $.validator.format(sysLang.wording.validateMessage.maxlength),\n\t\tminlength: $.validator.format(sysLang.wording.validateMessage.minlength),\n\t\trangelength: $.validator.format(sysLang.wording.validateMessage.rangelength),\n\t\trange: $.validator.format(sysLang.wording.validateMessage.range),\n\t\tmax: $.validator.format(sysLang.wording.validateMessage.max),\n\t\tmin: $.validator.format(sysLang.wording.validateMessage.min),\n\t});\n\n\t$.validator.addMethod('strictEmail', (value) => (\n\t\t!value ? true : validateEmail(value)\n\t), sysLang.wording.validateMessage.email);\n\n\t$.validator.addMethod('requiredtrim', (value) => (\n\t\t$.trim(value).length > 0\n\t), sysLang.wording.info_requiredtrim_incorrect);\n\n\t$.validator.addMethod('hasPointbounds', (value, element) => {\n\t\tconst theDigitInput = $(element);\n\t\tconst thePointbounds = parseInt(theDigitInput.attr('pointbounds'), 10);\n\n\t\tif (!Number.isNaN(thePointbounds) && value.indexOf('.') !== -1 && value.split('.')[1].length > thePointbounds) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, sysLang.wording.info_pointbounds_incorrect);\n\n\t$.validator.addMethod('choiceCount', (value, element) => {\n\t\tconst targetName = $(element).attr('name');\n\t\tconst targetLength = parseInt($(`input[name='${targetName}']:checked`).length, 10);\n\t\tconst ruleMin = $(element).parents('.subject-answer').attr('mincount');\n\t\tconst ruleMax = $(element).parents('.subject-answer').attr('maxcount');\n\t\tconst $subjectDom = $(element).closest('.subject-wrapper');\n\t\tconst $subjectSelectionCount = $subjectDom.find('.subject-selection-count');\n\n\t\tif (targetLength === 0) {\n\t\t\t$.validator.messages.choiceCount = '';\n\t\t\t$subjectSelectionCount.text('');\n\t\t\treturn true;\n\t\t}\n\n\t\tif ($subjectDom.find('.nota.active').length === 1) {\n\t\t\treturn true;\n\t\t}\n\n\t\t$subjectSelectionCount.text(`(\n\t\t\t${sysLang.wording.info.option_count.correct.replace('_{{count}}_', targetLength)}\n\t\t)`);\n\n\t\tif (ruleMin && targetLength < ruleMin) {\n\t\t\t$.validator.messages.choiceCount = sysLang.wording.info.option_count.too_little\n\t\t\t\t.replace('_{{gap}}_', ruleMin - targetLength);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (ruleMax && targetLength > ruleMax) {\n\t\t\t$.validator.messages.choiceCount = sysLang.wording.info.option_count.too_much\n\t\t\t\t.replace('_{{gap}}_', targetLength - ruleMax);\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t$.validator.addMethod('sortCount', (value, element) => {\n\t\tlet targetLength;\n\n\t\tif (svConfig.sortMode === 'dragIt') {\n\t\t\ttargetLength = parseInt(\n\t\t\t\t$(element).parents('.subject-answer').find('.choosen-wrapper .option').length,\n\t\t\t\t10,\n\t\t\t);\n\t\t} else if (svConfig.sortMode === 'clickIt') {\n\t\t\ttargetLength = parseInt(\n\t\t\t\t$(element).parents('.subject-answer').find('.option.active').length,\n\t\t\t\t10,\n\t\t\t);\n\t\t}\n\n\t\tconst ruleMin = $(element).parents('.subject-answer').attr('mincount');\n\t\tconst ruleMax = $(element).parents('.subject-answer').attr('maxcount');\n\n\t\tif (targetLength === 0) {\n\t\t\t/**\n\t\t\t * 非必填的話就會進這裡啊!應該要可以過!\n\t\t\t */\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ruleMin && ruleMax) {\n\t\t\tif (targetLength >= ruleMin && targetLength <= ruleMax) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if (ruleMin) {\n\t\t\tif (targetLength === parseInt(ruleMin, 10)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}, sysLang.wording.info_optsort_incorrect);\n\n\t$.validator.addMethod('dateExam', (value, element) => {\n\t\tif (!value) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\t/^([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))$/.test(value) &&\n\t\t\t$(element).datepicker('getDate')\n\t\t) {\n\t\t\t/**\n\t\t\t * format correct but min and max incorrect duration\n\t\t\t */\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}, sysLang.wording.validateMessage.date);\n};\n\nexport const checkHasAns = (ansObj) => {\n\tlet hasAnswer = false;\n\n\t$.each(ansObj, (key, value) => {\n\t\tif (value) {\n\t\t\tif (typeof value === 'object') {\n\t\t\t\tif (value.length > 0) {\n\t\t\t\t\thasAnswer = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof value === 'string') {\n\t\t\t\thasAnswer = true;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn hasAnswer;\n};\n\nexport default 'VALIDATE';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/validate.js","import $ from 'jquery';\nimport vex from 'vex-js/dist/js/vex.combined';\nimport xss from 'xss';\nimport ga from 'GA'; // eslint-disable-line\nimport fbq from 'FacebookPixel'; // eslint-disable-line\nimport svConfig, { sysLang, variable } from './appVariable';\nimport { portraitProgressCount } from './main';\nimport { updateSurveyEndtime, updateSingleAns } from './initial';\nimport { validateSingleEle } from './validate';\nimport { createTimeStamp } from './time';\nimport { ansTagToUI } from './feature/portrait';\nimport createVisit from './request/createVisit';\nimport getAnswerCount from './request/answer/getCount';\n\n/* -------------------------------------\n --------------- Action --------------\n------------------------------------- */\nexport const checkTimeout = () => {\n\tconsole.log('///// checkTimeout');\n\tconst leaveTime = createTimeStamp();\n\tconsole.log(`leaveTime: ${leaveTime}, svConfig.svEndTime: ${svConfig.svEndTime}`);\n\n\treturn svConfig.svEndTime && (leaveTime - svConfig.svEndTime) > 3600000;\n};\n\nexport const setTimeoutTimer = () => {\n\tvariable.timeOutTimer = setInterval(async () => {\n\t\tif (checkTimeout()) {\n\t\t\tawait updateSurveyEndtime();\n\n\t\t\tif (checkTimeout()) {\n\t\t\t\tvex.dialog.confirm({\n\t\t\t\t\tmessage: sysLang.wording.alert.surveyTimeout,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tsvConfig.leaveAlert = false;\n\t\t\t\t\t\tclearInterval(variable.timeOutTimer);\n\n\t\t\t\t\t\twindow.location.href = `/s/${svConfig.surveyId}/timeout`;\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, 300000);\n};\n\nexport const setVisit = () => {\n\tif (svConfig.untrack) {\n\t\tsvConfig.alreadySetVisit = true;\n\t\treturn Promise.reject();\n\t}\n\n\treturn createVisit(svConfig.surveyId)\n\t\t.then(({ status }) => {\n\t\t\tif (status) {\n\t\t\t\tsvConfig.alreadySetVisit = true;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n};\n\nexport const setClientTracking = () => {\n\tif (!svConfig.untrack) {\n\t\tif (variable.surveyData.analyticsid) {\n\t\t\tga('create', variable.surveyData.analyticsid, 'auto', 'clientTracker');\n\t\t\tga('clientTracker.send', 'pageview');\n\t\t\tga('clientTracker.send', 'event', 'SurveyCake', 'SurveyCakeVisit', svConfig.surveyId);\n\t\t}\n\n\t\tif (variable.surveyData.fbpixelid) {\n\t\t\tfbq('init', variable.surveyData.fbpixelid);\n\t\t\tfbq('trackCustom', 'PageView');\n\t\t\tfbq('trackCustom', 'SurveyCakeVisit', { surveyID: svConfig.surveyId });\n\t\t}\n\t}\n};\n\nexport const checkMaxtimes = async (sbjid, type, qty) => {\n\tif (svConfig.viewStatus === 'public') {\n\t\tconst json = await getAnswerCount(svConfig.surveyId, sbjid, type, qty);\n\n\t\treturn json;\n\t}\n\n\treturn { anscount: '0' };\n};\n\nexport const getSortLimit = (target) => {\n\tconst parentAnswer = target.closest('.subject-answer');\n\tconst parentAnswerLower = parentAnswer.attr('mincount');\n\tconst parentAnswerUpper = parentAnswer.attr('maxcount');\n\n\tif (parentAnswerLower) {\n\t\treturn parseInt(parentAnswerLower, 10);\n\t}\n\n\tif (parentAnswerUpper) {\n\t\treturn parseInt(parentAnswerUpper, 10);\n\t}\n\n\treturn false;\n};\n\nexport const afterSort = (target) => {\n\tconst parentSubject = target.closest('.subject-wrapper');\n\tconst parentAnswer = parentSubject.find('.subject-answer');\n\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\tconst parentSubjectID = parentSubject.attr('data-id');\n\tconst choosenOptions = parentAnswer.find('.choosen-wrapper .option[data-id*=\"opt_\"]');\n\n\tupdateSingleAns(`sbj_${parentSubjectID}`, null, 'RESET');\n\tparentAnswer.find(`.input-wrapper input[name*=\"sbj_${parentSubjectID}\"]`).val('');\n\tchoosenOptions.removeAttr('sortnum');\n\tchoosenOptions.removeClass('ui-draggable');\n\n\t/**\n\t * add sort number to selected options of ui\n\t */\n\tif (choosenOptions.length) {\n\t\t$.each(choosenOptions, (theIndex, theElem) => {\n\t\t\tconst optid = $(theElem).attr('data-id');\n\t\t\tupdateSingleAns(`sbj_${parentSubjectID}`, optid, 'ADD');\n\t\t\t$(theElem).attr('sortnum', theIndex + 1);\n\n\t\t\tconst theInput = parentAnswer.find(`input[name=\"sbj_${parentSubjectID}[${theIndex}]\"]`);\n\t\t\ttheInput.val(optid);\n\n\t\t\tvalidateSingleEle(theInput);\n\t\t});\n\t}\n\n\tportraitProgressCount(parentSubjectSn);\n\tansTagToUI(parentSubjectSn);\n};\n\nexport const htmlToTxt = (html) => (\n\t$(`
${xss(html)}
`).text()\n);\n\nexport default 'ACTION';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/action.js","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = DuR2\n// module chunks = 1 2","import { shortenDomain } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getShortenData = (token) => (\n\tfetch(`${shortenDomain}/${token}`)\n\t\t.then((response) => handleErrorRequest(response))\n);\n\nexport default getShortenData;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/getShortenData.js","import $ from 'jquery';\nimport xss from 'xss';\nimport he from 'he';\nimport amplitude from 'amplitude-js';\nimport vex from 'vex-js/dist/js/vex.combined';\nimport { assetsDomain, amplitudeKey } from './appConfig';\nimport svConfig, {\n\tsvEndConfig, pageConfig, nestConfig, urlQueryObject, thisAnswerObj,\n\tsysLang, thisSubjectsObj, thisOptfromMap, pageSNArr, snArr, variable, isIniframe,\n} from './appVariable';\nimport { acceptSbjKey, acceptOptKey, entitiesKey } from './constant';\nimport { findOrderByKey, findOrderBySN, loadExtraFile,\n\tnumberToABC, parseUrlPath, appendLeft, stripHtmlTags } from './common';\nimport { arrInsertArr, arrDelData, arrRemoveIndex, rndOptsArr } from './array';\nimport { showErrorInfo } from './ui';\nimport { parseDate } from './time';\nimport { extPreParseSubjectsToUI } from './customize';\nimport replaceWording from './replaceWording';\nimport translate from './feature/translate';\nimport { getReferralToken, startDecrypting } from './feature/referral';\nimport getInitMeta from './request/survey/getInitMeta';\nimport getPrivateSurvey from './request/survey/getPrivate';\nimport getDecryptKeys from './request/referral/getDecryptKeys';\nimport getWording from './request/getWording';\nimport getTranslateFile from './request/getTranslateFile';\nimport getMasterSubjects from './request/survey/getMasterSubjects';\nimport getSurveyData from './request/survey/getData';\n\nconst innerExcuteNotfoundUI = () => {\n\t$('#welcome').remove();\n\t$('#loading').remove();\n\tshowErrorInfo({\n\t\ttitle: sysLang.wording.str_sv_notfound,\n\t\tpic: 'notfound',\n\t});\n};\n\nexport const excuteNotfoundUI = (wordingPromise) => {\n\tif (wordingPromise) {\n\t\twordingPromise.then(innerExcuteNotfoundUI);\n\t} else {\n\t\tinnerExcuteNotfoundUI();\n\t}\n};\n\n/* -------------------------------------\n ------------- Initial --------------\n------------------------------------- */\nexport const newEventData = () => {\n\tconst newEventDataObject = {\n\t\tutm_source: urlQueryObject.utm_source || 'unknow',\n\t\tutm_medium: urlQueryObject.utm_medium || 'unknow',\n\t\tutm_term: urlQueryObject.utm_term || 'unknow',\n\t\tutm_content: urlQueryObject.utm_content || 'unknow',\n\t\tutm_campaign: urlQueryObject.utm_campaign || 'unknow',\n\t};\n\n\tif (variable.rel) {\n\t\tnewEventDataObject.pageNavi = variable.rel;\n\t}\n\n\tif (svConfig.surveyId) {\n\t\tnewEventDataObject.svid = svConfig.surveyId;\n\t}\n\n\treturn newEventDataObject;\n};\n\nexport const eventTracking = () => {\n\tconsole.log('/// eventTracking');\n\n\tif (amplitudeKey && !svConfig.untrack) {\n\t\tvariable.ampInstance = amplitude.getInstance();\n\t\treturn;\n\t}\n\n\tvariable.ampInstance = null;\n};\n\n/**\n * get survey extra data\n *\n * just store redirect url now\n */\nconst getSurveyExtraData = async (svid) => {\n\tif (svEndConfig.redirectURL) {\n\t\treturn Promise.resolve();\n\t}\n\n\tconst { status, data } = await getInitMeta(svid);\n\n\tif (!status || !data) {\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * there is a specific redirect url and store it\n\t */\n\tif (data.redirect.enable && data.redirect.url) {\n\t\tsvEndConfig.redirectURL = data.redirect.url;\n\t}\n\n\t/**\n\t * store file upload setting\n\t */\n\tsvConfig.fileUpload.binding = data.file_upload !== undefined;\n\n\tif (data.file_upload) {\n\t\tsvConfig.fileUpload.enable = data.file_upload.is_allow_upload;\n\t}\n\n\t/**\n\t * store survey owner is pro or not\n\t */\n\tvariable.user.pro = data.pro;\n\n\treturn Promise.resolve();\n};\n\nexport const loadMoreFiles = (callback) => {\n\tconst needLoadCount = urlQueryObject.lang ? 5 : 3;\n\tlet loadCount = 0;\n\tconst systemWording = {\n\t\torigin: null,\n\t\tupdate: null,\n\t};\n\n\tconst totalCallback = () => {\n\t\tloadCount += 1;\n\n\t\tif (loadCount === needLoadCount && callback && typeof callback === 'function') {\n\t\t\tsysLang.wording = systemWording.update || systemWording.origin;\n\t\t\tsysLang.ready = true;\n\t\t\treplaceWording(sysLang.wording);\n\n\t\t\tcallback();\n\t\t}\n\t};\n\n\tif (urlQueryObject.theme) {\n\t\tsvConfig.theme = urlQueryObject.theme;\n\t\tsvConfig.isThemePv = true;\n\t}\n\n\tloadExtraFile(\n\t\t`${assetsDomain}/theme/${svConfig.theme}/index.css`,\n\t\t'css',\n\t\t() => {\n\t\t\ttotalCallback();\n\t\t},\n\t);\n\n\t/**\n\t * get the wording .json file\n\t */\n\tconst wordingPromise = getWording(svConfig.language)\n\t\t.then((json) => {\n\t\t\tsystemWording.origin = json;\n\t\t\ttotalCallback();\n\t\t});\n\n\n\t/**\n\t * no matter init meta api success or not not effect draw survey\n\t */\n\tgetSurveyExtraData(svConfig.surveyId)\n\t\t.then(() => {\n\t\t\ttotalCallback();\n\t\t})\n\t\t.catch(() => {\n\t\t\texcuteNotfoundUI(wordingPromise);\n\t\t\ttotalCallback();\n\t\t});\n\n\n\t/**\n\t * getTranslateFiles\n\t */\n\tif (!urlQueryObject.lang) {\n\t\treturn;\n\t}\n\n\tgetTranslateFile(svConfig.surveyId, urlQueryObject.lang)\n\t\t.then((json) => {\n\t\t\ttranslate(json);\n\t\t\ttotalCallback();\n\t\t})\n\t\t.catch(() => {\n\t\t\ttotalCallback();\n\t\t});\n\n\t/**\n\t * systme language replacement is not necessary\n\t */\n\tgetWording(urlQueryObject.lang)\n\t\t.then((json) => {\n\t\t\tsystemWording.update = json;\n\t\t\ttotalCallback();\n\t\t})\n\t\t.catch(() => {\n\t\t\ttotalCallback();\n\t\t});\n};\n\nexport const notfoundUI = () => {\n\tloadMoreFiles(excuteNotfoundUI);\n};\n\nexport const getSurveyPublic = () => {\n\tif (\n\t\tprocess.env.NODE_ENV !== 'DEV' &&\n\t\tsvConfig.viewStatus === 'preview' &&\n\t\t!isIniframe\n\t) {\n\t\treturn Promise.reject(new Error('NOT_FOUND'));\n\t}\n\n\treturn getSurveyData(svConfig.viewStatus, svConfig.surveyId);\n};\n\nexport const updateSurveyEndtime = async () => {\n\tif (svConfig.svStatus === 'PRIVATE') {\n\t\ttry {\n\t\t\tconst { status, data } = await getPrivateSurvey(svConfig.surveyId, svConfig.password);\n\n\t\t\tif (status && data && data.endtime) {\n\t\t\t\tsvConfig.svEndTime = parseDate(data.endtime).getTime();\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tnotfoundUI();\n\t\t}\n\t}\n\n\ttry {\n\t\tconst json = await getSurveyPublic();\n\n\t\tif (json && json.endtime) {\n\t\t\tsvConfig.svEndTime = parseDate(json.endtime).getTime();\n\t\t}\n\t} catch (err) {\n\t\tnotfoundUI();\n\t}\n};\n\nexport const getMasterSurveySubjects = async (masterhash) => {\n\tconst { status, errmsg, data } = await getMasterSubjects(svConfig.surveyId, masterhash, svConfig.password);\n\n\tif (!status) {\n\t\t$('#loading').remove();\n\n\t\tshowErrorInfo({\n\t\t\ttitle: errmsg === 'MASTER_SURVEY_IS_OFF' ?\n\t\t\t\tsysLang.wording.str_sv_master_is_off\n\t\t\t\t:\n\t\t\t\tsysLang.wording.str_sv_master_not_existed,\n\t\t\tpic: 'off',\n\t\t});\n\n\t\treturn { status, errmsg };\n\t}\n\n\tvariable.surveyData.subjects = JSON.parse(JSON.stringify(data));\n\n\treturn { status, data };\n};\n\nexport const getDefaultAnswer = () => {\n\tconsole.log('///// getDefaultAnswer');\n\n\tif (!urlQueryObject) {\n\t\treturn;\n\t}\n\n\tObject.keys(urlQueryObject)\n\t\t.filter((key) => key.search('ssn') !== -1)\n\t\t.forEach((key) => {\n\t\t\tconst sn = parseInt(key.split('ssn')[1], 10);\n\t\t\tconst order = findOrderBySN(sn);\n\t\t\tif (order === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst value = urlQueryObject[key];\n\n\t\t\tif (typeof value === 'object') {\n\t\t\t\tvalue.forEach((answer) => {\n\t\t\t\t\tthisAnswerObj[order][`sbj_${\n\t\t\t\t\t\tthisSubjectsObj.find((subject) => subject.sn === sn).ID\n\t\t\t\t\t}`].push(answer);\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthisAnswerObj[order][`sbj_${\n\t\t\t\tthisSubjectsObj.find((subject) => subject.sn === sn).ID\n\t\t\t}`].push(value);\n\t\t});\n};\n\nexport const optObj = (optData) => {\n\tconst newPobj = {};\n\n\tif (optData) {\n\t\t$.each(acceptOptKey, (index, keyname) => {\n\t\t\tif ($.inArray(keyname, entitiesKey) !== -1) {\n\t\t\t\tnewPobj[keyname] = optData[keyname] && typeof optData[keyname] === 'string' ?\n\t\t\t\t\the.decode(optData[keyname]) : optData[keyname];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (keyname === 'linkto' && optData.linkto) {\n\t\t\t\tnewPobj[keyname] = optData.linkto.map((sn) => parseInt(sn, 10));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnewPobj[keyname] = optData[keyname];\n\t\t});\n\t}\n\n\tnewPobj.isVisible = () => {\n\t\t/**\n\t\t * invisible may be null at older survey json\n\t\t */\n\t\tif (!optData.invisible || optData.invisible === 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!newPobj.starttime && !newPobj.endtime) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst formatStarttime = newPobj.starttime ? parseDate(newPobj.starttime).getTime() : '';\n\t\tconst formatEndtime = newPobj.endtime ? parseDate(newPobj.endtime).getTime() : '';\n\n\t\tif (formatStarttime && formatEndtime) {\n\t\t\tif (formatStarttime <= svConfig.nowGetTime &&\n\t\t\t\tformatEndtime >= svConfig.nowGetTime) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (formatStarttime && formatStarttime <= svConfig.nowGetTime) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (formatEndtime && formatEndtime >= svConfig.nowGetTime) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\treturn newPobj;\n};\n\nexport const optObjArr = (optionsData) => {\n\tif (optionsData) {\n\t\tconst newOptionsArray = [];\n\n\t\t$.each(optionsData, (i, optData) => {\n\t\t\tnewOptionsArray.push(new optObj(optData));\n\t\t});\n\n\t\treturn newOptionsArray;\n\t}\n\n\treturn null;\n};\n\nexport const sbjObj = function (sbjData) {\n\tconst newSobj = this;\n\n\tif (sbjData !== null) {\n\t\tacceptSbjKey\n\t\t\t.filter((keyname) => Object.hasOwnProperty.call(sbjData, keyname))\n\t\t\t.forEach((keyname) => {\n\t\t\t\tif (entitiesKey.includes(keyname)) {\n\t\t\t\t\tnewSobj[keyname] = sbjData[keyname] && typeof sbjData[keyname] === 'string' ?\n\t\t\t\t\t\the.decode(sbjData[keyname])\n\t\t\t\t\t\t:\n\t\t\t\t\t\tsbjData[keyname];\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (keyname === 'optfrom' && sbjData[keyname]) {\n\t\t\t\t\tnewSobj[keyname] = sbjData[keyname].map((sn) => parseInt(sn, 10));\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (keyname === 'options' && sbjData[keyname]) {\n\t\t\t\t\tnewSobj[keyname] = optObjArr(sbjData.options);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnewSobj[keyname] = sbjData[keyname];\n\t\t\t});\n\t}\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._hideByJumpto = 0;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._showByLinkto = -99;\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addShowByLinkto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._showByLinkto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusShowByLinkto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._showByLinkto > 0) {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._showByLinkto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getShowByLinkto = () => newSobj._showByLinkto;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addHideByJumpto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._hideByJumpto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusHideByJumpto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._hideByJumpto) {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._hideByJumpto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getHideByJumpto = () => newSobj._hideByJumpto;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getOptions = () => newSobj.options !== null ? newSobj.options : null;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getSelectedOptions = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\tconst selectedOptID = thisAnswerObj[newSobj.orders][`sbj_${newSobj.ID}`];\n\n\t\tif (selectedOptID && selectedOptID.length) {\n\t\t\tif (newSobj.options !== null) {\n\t\t\t\treturn newSobj.options.filter((opt) => $.inArray(`opt_${opt.ID}`, selectedOptID) !== -1);\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getLinkJump = () => [newSobj._showByLinkto, newSobj._hideByJumpto];\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._hideBySorryto = 0;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__addHideBySorryto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tnewSobj._hideBySorryto += 1;\n\t\t/* eslint-enable no-underscore-dangle */\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__minusHideBySorryto = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\t/* eslint-disable no-underscore-dangle */\n\t\tif (newSobj._hideBySorryto > 0) {\n\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tnewSobj._hideBySorryto -= 1;\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t}\n\t};\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__getHideBySorryto = () => newSobj._hideBySorryto;\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj.__setPassTimer = () => {\n\t/* eslint-enable no-underscore-dangle */\n\t\tnewSobj.timer = -1;\n\t};\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._doOptAction = true;\n\t/* eslint-enable no-underscore-dangle */\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._doMaxtimesAction = true;\n\t/* eslint-enable no-underscore-dangle */\n\n\t/* eslint-disable no-underscore-dangle */\n\tnewSobj._isVisible = () => {\n\t\tif (\n\t\t\tnewSobj.invisible === 1 ||\n\t\t\tnewSobj._showByLinkto === 0 ||\n\t\t\tnewSobj._hideByJumpto > 0 ||\n\t\t\tnewSobj._hideBySorryto > 0\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\t/* eslint-enable no-underscore-dangle */\n};\n\nexport const iniSubjectObj = () => {\n\tif (!variable.surveyData.subjects) {\n\t\treturn;\n\t}\n\n\tif (variable.surveyData.subjects.length === 0) {\n\t\tdelete variable.surveyData.subjects;\n\t\treturn;\n\t}\n\n\tvariable.surveyData.subjects.forEach((subjectData) => {\n\t\tif (subjectData.type === 'DIVIDER' && svConfig.layout === 'BROCHURE') {\n\t\t\tpageConfig.mode = 'manual';\n\t\t}\n\n\t\tthisSubjectsObj.push(new sbjObj(subjectData));\n\t});\n};\n\nexport const renderSurveyUI = () => {\n\tgetDefaultAnswer();\n\textPreParseSubjectsToUI();\n};\n\nconst composeChildSn = (index) => {\n\tconst fisrtChildIndex = index + 1;\n\tconst lastChildIndex = thisSubjectsObj.slice(fisrtChildIndex).findIndex((a) => a.type !== 'NESTCHILD');\n\tconst childSn = thisSubjectsObj.slice(fisrtChildIndex, lastChildIndex + 1).map((subejct) => subejct.sn);\n\n\treturn childSn;\n};\n\nexport const prepareData = () => {\n\t/**\n\t * 製作 VN 跟 AnswerObj\n\t */\n\tlet indent0 = 0;\n\tlet indent1 = 0;\n\tlet indent2 = 0;\n\tconst crumb = [];\n\n\t/**\n\t * For nest\n\t */\n\tnestConfig.required = false;\n\tnestConfig.indent = 0;\n\tnestConfig.timer = false;\n\tnestConfig.nestOptArr = [];\n\tnestConfig.groupSnArr = [];\n\n\tif (thisSubjectsObj && thisSubjectsObj.length) {\n\t\t$.each(thisSubjectsObj, (sbjkey, sbjval) => {\n\t\t\tif (!thisAnswerObj[sbjkey]) {\n\t\t\t\tthisAnswerObj[sbjkey] = {};\n\t\t\t}\n\n\t\t\tsbjval.progress = parseInt(((sbjkey + 1) * 100) / thisSubjectsObj.length, 10);\n\t\t\tsnArr.push(sbjval.sn);\n\n\t\t\t/**\n\t\t\t * Preview WithOut ID\n\t\t\t */\n\t\t\tif (!sbjval.ID) {\n\t\t\t\tsbjval.ID = sbjval.sn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * 處理所有跟 Nestchild 有關的\n\t\t\t */\n\t\t\tif (sbjval.type === 'NEST') {\n\t\t\t\tnestConfig.indent = sbjval.indent;\n\t\t\t\tnestConfig.required = sbjval.required;\n\t\t\t\tnestConfig.nestOptArr = optObjArr(sbjval.options);\n\t\t\t\tnestConfig.timer = sbjval.timer;\n\n\t\t\t\tif (!sbjval.extras) {\n\t\t\t\t\tsbjval.extras = {};\n\t\t\t\t}\n\t\t\t\tsbjval.extras.child_sn = composeChildSn(sbjkey);\n\t\t\t} else if (sbjval.type === 'NESTCHILD') {\n\t\t\t\tsbjval.text = stripHtmlTags(sbjval.text);\n\t\t\t\tsbjval.indent = nestConfig.indent + 1;\n\t\t\t\tsbjval.required = nestConfig.required;\n\t\t\t\tsbjval.options = optObjArr(nestConfig.nestOptArr);\n\t\t\t\tsbjval.timer = nestConfig.timer;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * stripHtml on option text\n\t\t\t */\n\t\t\tif (sbjval.options && sbjval.options.length) {\n\t\t\t\tsbjval.options = sbjval.options.map((option) => ({\n\t\t\t\t\t...option,\n\t\t\t\t\ttext: stripHtmlTags(option.text),\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\t/* 處理 VN */\n\t\t\tconst thisIndent = parseInt(sbjval.indent, 10);\n\t\t\tlet finalVN = '';\n\n\t\t\tif (sbjval.invisible !== 1) {\n\t\t\t\tif (thisIndent === -1) {\n\t\t\t\t\tindent1 = 0;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 0) {\n\t\t\t\t\tfinalVN = indent0 + 1;\n\t\t\t\t\tindent0 += 1;\n\t\t\t\t\tindent1 = 0;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 1) {\n\t\t\t\t\tfinalVN = numberToABC(indent1 + 1);\n\t\t\t\t\tindent1 += 1;\n\t\t\t\t\tindent2 = 0;\n\t\t\t\t} else if (thisIndent === 2) {\n\t\t\t\t\tfinalVN = numberToABC(indent2 + 1, true);\n\t\t\t\t\tindent2 += 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsbjval.vn = finalVN;\n\n\t\t\t/**\n\t\t\t * 處理 麵包屑\n\t\t\t */\n\t\t\tconst crumbTxt = sbjval.invisible !== 1 ? sbjval.text : '';\n\n\t\t\t// 把大於 indentThis 的都清空, 由後往前清\n\t\t\tfor (let ci = crumb.length - 1; ci > thisIndent + 1; ci -= 1) {\n\t\t\t\tarrRemoveIndex(crumb, ci);\n\t\t\t}\n\n\t\t\tif (variable.surveyData.vnshow === 'OFF') {\n\t\t\t\tcrumb[thisIndent + 1] = crumbTxt;\n\t\t\t} else {\n\t\t\t\tcrumb[thisIndent + 1] = finalVN === '' ? crumbTxt : `${finalVN}. ${crumbTxt}`;\n\t\t\t}\n\t\t\tthisSubjectsObj[sbjkey].crumb = crumb.slice(0);\n\n\t\t\t/**\n\t\t\t * 處理 last nest child\n\t\t\t */\n\t\t\tif (sbjval.type === 'NESTCHILD') {\n\t\t\t\tnestConfig.childEnd = true;\n\t\t\t} else if (nestConfig.childEnd) {\n\t\t\t\tthisSubjectsObj[sbjkey - 1].lastNestChild = true;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * 處理 pageSNArr\n\t\t\t */\n\t\t\tif (pageConfig.mode === 'manual') {\n\t\t\t\tif (sbjval.type !== 'DIVIDER') {\n\t\t\t\t\tpageConfig.group.push(sbjval.sn);\n\t\t\t\t} else if (pageConfig.group.length) {\n\t\t\t\t\tpageSNArr.push(pageConfig.group);\n\t\t\t\t\tpageConfig.group = [];\n\t\t\t\t}\n\t\t\t} else if (sbjval.type === 'NESTCHILD') {\n\t\t\t\tpageConfig.group.push(sbjval.sn);\n\t\t\t} else {\n\t\t\t\tif (nestConfig.childEnd) {\n\t\t\t\t\tnestConfig.childEnd = false;\n\n\t\t\t\t\tpageSNArr.push(pageConfig.group);\n\t\t\t\t\tpageConfig.group = [];\n\t\t\t\t}\n\n\t\t\t\tif (sbjval.type === 'NEST') {\n\t\t\t\t\tpageConfig.group.push(sbjval.sn);\n\t\t\t\t} else {\n\t\t\t\t\tpageSNArr.push(sbjval.sn);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * 處理 Default AnswerObj\n\t\t\t */\n\t\t\tthisAnswerObj[sbjkey][`sbj_${sbjval.ID}`] = [];\n\n\t\t\t/**\n\t\t\t * 製作 Pickfrom Options\n\t\t\t */\n\t\t\tif (sbjval.type === 'PICKFROM') {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tsbjval._doMaxtimesAction = false;\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\tif (sbjval.extras.opt_action === '0') {\n\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\tsbjval._doOptAction = false;\n\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t}\n\n\t\t\t\tif (sbjval.optfrom && sbjval.optfrom.length) {\n\t\t\t\t\tsbjval.optfrom.forEach((subjectNumber) => {\n\t\t\t\t\t\tconst theOrder = findOrderBySN(subjectNumber);\n\n\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * stop source link-jump action\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tif (sbjval.extras.opt_action === '1') {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tthisSubjectsObj[theOrder]._doOptAction = false;\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!thisOptfromMap[theOrder]) {\n\t\t\t\t\t\t\t\tthisOptfromMap[theOrder] = [];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthisOptfromMap[theOrder].push(sbjval.sn);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * 處理 rndopts\n\t\t\t */\n\t\t\tif (sbjval.options && sbjval.options.length) {\n\t\t\t\tif (sbjval.rndopts === 1) {\n\t\t\t\t\tconst cloneOptsArr = optObjArr(sbjval.options);\n\n\t\t\t\t\trndOptsArr(cloneOptsArr);\n\t\t\t\t\tsbjval.options = cloneOptsArr;\n\t\t\t\t}\n\n\t\t\t\t$.each(sbjval.options, (optk, optv) => {\n\t\t\t\t\tif (!optv.ID) {\n\t\t\t\t\t\toptv.ID = parseInt(`${sbjval.ID}${appendLeft(optk, 4, '9')}`, 10);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (optv.elses === 1) {\n\t\t\t\t\t\tthisAnswerObj[sbjkey][`opt_${optv.ID}`] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (optv.linkto) {\n\t\t\t\t\t\tlet ii = 0;\n\n\t\t\t\t\t\twhile (optv.linkto[ii] !== undefined) {\n\t\t\t\t\t\t\tconst theOrder = findOrderBySN(optv.linkto[ii]);\n\n\t\t\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\tthisSubjectsObj[theOrder]._showByLinkto = 0;\n\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t\t\t\t\tif (thisSubjectsObj[theOrder].type === 'NEST') {\n\t\t\t\t\t\t\t\t\tconst NESTLinkGroup = [];\n\t\t\t\t\t\t\t\t\tlet testOrder = theOrder + 1;\n\n\t\t\t\t\t\t\t\t\twhile (testOrder < thisSubjectsObj.length &&\n\t\t\t\t\t\t\t\t\t\tthisSubjectsObj[testOrder].type === 'NESTCHILD'\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\t\t\t\t\t\t\tthisSubjectsObj[testOrder]._showByLinkto = 0;\n\t\t\t\t\t\t\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\t\t\t\t\t\tNESTLinkGroup.push(\n\t\t\t\t\t\t\t\t\t\t\tthisSubjectsObj[testOrder].sn,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\ttestOrder += 1;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tarrInsertArr(optv.linkto, ii + 1, NESTLinkGroup);\n\t\t\t\t\t\t\t\t\tii += NESTLinkGroup.length;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tii += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * 寫 fileupload 設定\n\t\t\t */\n\t\t\tif (sbjval.type === 'FILEUPLOAD') {\n\t\t\t\tsvConfig.fileUpload.exist = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tif (nestConfig.childEnd) {\n\t\tthisSubjectsObj[thisSubjectsObj.length - 1].lastNestChild = true;\n\t\tnestConfig.childEnd = false;\n\t}\n\n\tif (pageConfig.group.length) {\n\t\tpageSNArr.push(pageConfig.group);\n\t\tpageConfig.group = [];\n\t}\n\n\tif (thisSubjectsObj.length) {\n\t\tpageSNArr.push('submit-wrapper');\n\t}\n\n\tconst referralToken = getReferralToken(parseUrlPath());\n\tif (referralToken) {\n\t\t/**\n\t\t * url contains referral filename\n\t\t * decrypt it\n\t\t */\n\t\tgetDecryptKeys(svConfig.surveyId, referralToken)\n\t\t\t.then(({ status, data }) => {\n\t\t\t\tif (status) {\n\t\t\t\t\tstartDecrypting(svConfig.surveyId, referralToken, data.hash, data.iv);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tnotfoundUI();\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tnotfoundUI();\n\t\t\t});\n\t} else {\n\t\trenderSurveyUI();\n\t}\n};\n\nexport const writeSingleObj = (dkey, dval) => {\n\tconst theAnswerOrder = findOrderByKey(dkey);\n\n\tif (theAnswerOrder !== false) {\n\t\tthisAnswerObj[theAnswerOrder][dkey] = dval;\n\t}\n};\n\nexport const updateSingleAns = (dkey, dval, action) => {\n\tif (variable.fillAnswerMode) {\n\t\treturn;\n\t}\n\n\tsvConfig.isDirty = true;\n\n\tconst theAnswerOrder = findOrderByKey(dkey);\n\n\tif (theAnswerOrder === false) {\n\t\treturn;\n\t}\n\n\tif (action === 'RESET') {\n\t\t$.each(thisAnswerObj[theAnswerOrder], (kk, vv) => {\n\t\t\tif (typeof vv === 'object') {\n\t\t\t\tthisAnswerObj[theAnswerOrder][kk] = [];\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthisAnswerObj[theAnswerOrder][kk] = null;\n\t\t});\n\n\t\treturn;\n\t}\n\n\t/**\n\t * sbj remove single ans\n\t */\n\tif (action === 'REMOVE' && dval) {\n\t\tif (thisAnswerObj[theAnswerOrder][dkey].indexOf(dval) !== -1) {\n\t\t\tarrDelData(thisAnswerObj[theAnswerOrder][dkey], dval);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t * sbj add single ans\n\t */\n\tif (action === 'ADD' && dval) {\n\t\tif (thisAnswerObj[theAnswerOrder][dkey].indexOf(dval) !== -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthisAnswerObj[theAnswerOrder][dkey].push(dval);\n\t\treturn;\n\t}\n\n\tif (action === 'WRITE') {\n\t\t/**\n\t\t * opt_ write else\n\t\t */\n\t\tif (dkey.search('opt_') !== -1) {\n\t\t\tif (dval !== '') {\n\t\t\t\tthisAnswerObj[theAnswerOrder][dkey] = dval;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthisAnswerObj[theAnswerOrder][dkey] = null;\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * sbj write ansArr\n\t\t */\n\t\tthisAnswerObj[theAnswerOrder][dkey] = [];\n\t\tif (dval) {\n\t\t\tthisAnswerObj[theAnswerOrder][dkey].push(dval);\n\t\t}\n\t}\n};\n\nexport const setXssWhitelist = () => {\n\txss.whiteList.p.push('style', 'class');\n\txss.whiteList.div.push('style', 'rel', 'class');\n\txss.whiteList.span.push('style', 'rel', 'class', 'data-title');\n};\n\nexport const initialVex = () => {\n\t/**\n\t * vex dialog\n\t */\n\tvex.defaultOptions.className = 'vex-theme-default';\n};\n\nexport default 'INITIAL';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/initial.js","import CryptoJS from 'crypto-js';\n\nimport { thisAnswerObj, thisSubjectsObj } from '../appVariable';\nimport { findOrderBySN } from '../common';\nimport { renderSurveyUI, notfoundUI } from '../initial';\nimport getDat from '../request/referral/getDat';\nimport encrypt from '../request/referral/encrypt';\nimport saveLog from '../request/referral/saveLog';\nimport checkShortenData from '../request/referral/checkShortenData';\nimport getShortenData from '../request/referral/getShortenData';\n\n/* -------------------------------------\n ------------- Validate --------------\n------------------------------------- */\n/**\n * use hash and IV to decrypt\n */\nconst decryptFile = async (content, hash, iv) => {\n\ttry {\n\t\t/**\n\t\t * start to decrypt\n\t\t */\n\t\tconst cipherParams = CryptoJS.lib.CipherParams.create({\n\t\t\tciphertext: CryptoJS.enc.Base64.parse(content),\n\t\t});\n\t\tconst decrypted = CryptoJS.AES.decrypt(\n\t\t\tcipherParams,\n\t\t\tCryptoJS.enc.Utf8.parse(hash),\n\t\t\t{\n\t\t\t\tiv: CryptoJS.enc.Utf8.parse(iv),\n\t\t\t},\n\t\t);\n\n\t\t/**\n\t\t * decrypt is completed\n\t\t */\n\t\tconst referralObject = JSON.parse(decrypted.toString(CryptoJS.enc.Utf8));\n\n\t\tObject.keys(referralObject.sn).forEach((sn) => {\n\t\t\tif (!referralObject.sn[sn]) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst snOrder = findOrderBySN(parseInt(sn, 10));\n\n\t\t\tif (snOrder !== false) {\n\t\t\t\t/**\n\t\t\t\t * add the default answer\n\t\t\t\t */\n\t\t\t\tthisAnswerObj[snOrder][`sbj_${\n\t\t\t\t\tthisSubjectsObj.find((subject) => subject.sn.toString() === sn).ID\n\t\t\t\t}`].push(referralObject.sn[sn]);\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * check ssn query and draw UI\n\t\t */\n\t\trenderSurveyUI();\n\t} catch (err) {\n\t\tnotfoundUI();\n\t}\n};\n\n/**\n * a `HEAD` type request to s3 public bucket to check whether exists\n */\nexport const startDecrypting = async (svid, token, hashKey, ivKey) => {\n\t/**\n\t * check filehash is 8 or 32\n\t */\n\tif (token.length === 32) {\n\t\ttry {\n\t\t\tconst { status, data } = await encrypt(svid, token);\n\n\t\t\tif (!status) {\n\t\t\t\tthrow new Error();\n\t\t\t}\n\n\t\t\tdecryptFile(data.enc, hashKey, ivKey);\n\t\t} catch (err) {\n\t\t\tnotfoundUI();\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t * head request to check it is the new one or the old one\n\t * 8 or 7\n\t */\n\tconst res = await checkShortenData(token);\n\n\t/**\n\t * decrypt file on public s3 bucket (new version)\n\t */\n\tif (res.status === 200) {\n\t\ttry {\n\t\t\tconst json = await getShortenData(token);\n\n\t\t\tdecryptFile(json.enc, hashKey, ivKey);\n\t\t} catch (err) {\n\t\t\t/**\n\t\t\t * it shouldn't happen\n\t\t\t */\n\t\t\tnotfoundUI();\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t * decrypt file on s3 bucket / local (old version)\n\t */\n\ttry {\n\t\tconst text = await getDat(token);\n\n\t\tdecryptFile(text, hashKey, ivKey);\n\t} catch (err) {\n\t\tnotfoundUI();\n\t}\n\n\t/**\n\t * record usage\n\t */\n\tsaveLog(svid, token);\n};\n\n/**\n * check whether the url contains referral token and return it\n */\nexport const getReferralToken = (array) => {\n\tif (array.indexOf('f') === -1 || !array[array.indexOf('f') + 1]) {\n\t\treturn false;\n\t}\n\n\treturn array[array.indexOf('f') + 1];\n};\n\nexport default 'REFERRAL';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/referral.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQEAIAAACwqkHPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAH1JREFUSMftz6ERxCAQQNE/uHgGEYlMA+mDPrA0komnm+g0w7KAuCpu7sSqpx/jGte4HAAYhmEY34bWWmsN2WWX3ZFIJOSRRx760Y9+0GuvvaJBgwb01ltvhh9+eEehUJhMJo5MJjPf+c6XFVdc0XFycjo2Nra/SBuGYfyQD7ndOR6ic9cSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png\n// module id = JU/o\n// module chunks = 1","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkAQMAAADOquA5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZQTFRFAAAA////pdmf3QAAAAFiS0dEAf8CLd4AAAAPSURBVCjPY2AYBaOA+gAAAlgAAXU2hncAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzQ6MDMtMDg6MDA2/sHoAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwR6N5VAAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_flat_10_000000_40x100.png\n// module id = LuCd\n// module chunks = 1","import { fileDomain } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getData = (viewStatus, surveyId) => (\n\tfetch(`${fileDomain}/${viewStatus === 'public' ? 'json' : 'json_p'}/${surveyId}.json`, {\n\t\tcache: 'no-cache',\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getData;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getData.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQAQMAAABVlpiYAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAANQTFRF////p8QbyAAAAAFiS0dEAIgFHUgAAAAQSURBVCjPY2AYBaNgFOACAAMgAAHOjxDEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png\n// module id = MeAu\n// module chunks = 1","import { imageDomain, fileDomain } from '../appConfig';\n\nconst isCdnImage = (url) => url.startsWith(imageDomain);\nconst replaceToBucketImage = (url) => url.replace(imageDomain, fileDomain);\n\nconst imageLoader = (url, { onload, onerror, onreplace }) => {\n\tconst image = new Image();\n\n\tconst errorFunction = () => {\n\t\tif (isCdnImage) {\n\t\t\tif (!onreplace) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonreplace(imageLoader(replaceToBucketImage(url), { onload, onerror }));\n\t\t\treturn;\n\t\t}\n\n\t\tif (!onerror) {\n\t\t\treturn;\n\t\t}\n\n\t\tonerror(image);\n\t};\n\n\timage.onerror = errorFunction;\n\timage.onabort = errorFunction;\n\n\timage.onload = () => {\n\t\tif (!onload) {\n\t\t\treturn;\n\t\t}\n\n\t\tonload(image);\n\t};\n\n\timage.src = url;\n\treturn image;\n};\n\nexport default imageLoader;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/utils/image.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getReportToken = (surveyId) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/survey/report/token?svid=${surveyId}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getReportToken;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getReportToken.js","import $ from 'jquery';\nimport { svEndConfig, thisSubjectsObj, variable } from './appVariable';\nimport { findOrderBySN, findOptionObjectById, separateOptionIdFromText } from './common';\nimport { arrAddData, arrDelData } from './array';\nimport { getAnswerByOrder, superResetSbj } from './main';\nimport { updateSingleAns } from './initial';\nimport { addRedrawList, makeOptfromActionObj, handleOptfromActionList } from './optionFromAction';\n\n/* -------------------------------------\n ------------ Interaction ------------\n------------------------------------- */\nexport const moveActionFromTemp = (scope) => {\n\tif (scope === 'optfromAction') {\n\t\tif (variable.optfromActionList.length === 0) {\n\t\t\tif (variable.tempOptfromActionList.length) {\n\t\t\t\tvariable.tempOptfromActionList.forEach((element) => {\n\t\t\t\t\tvariable.optfromActionList.push(element);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvariable.tempOptfromActionList = [];\n\t\t}\n\n\t\treturn;\n\t}\n\n\tif (scope === 'interAction' && variable.interActionList.length === 0) {\n\t\tif (variable.tempInterActionList.length) {\n\t\t\tvariable.tempInterActionList.forEach((element) => {\n\t\t\t\tvariable.interActionList.push(element);\n\t\t\t});\n\t\t}\n\n\t\tvariable.tempInterActionList = [];\n\t}\n};\n\nexport const interActionObj = function (orderT, selected, actype) {\n\tthis.orderT = orderT;\n\tthis.conds = selected;\n\tthis.actype = actype;\n};\n\nexport const makeInteractionObj = (sbjOrder, theOptObj, isSelected, isTemp) => {\n\t/* eslint-disable no-underscore-dangle */\n\tif (thisSubjectsObj[sbjOrder]._doOptAction) {\n\t/* eslint-enable no-underscore-dangle */\n\t\tif (theOptObj.linkto) {\n\t\t\tconst thisLinkToArr = theOptObj.linkto;\n\n\t\t\tif (thisLinkToArr.length) {\n\t\t\t\tthisLinkToArr.forEach((subjectNumber) => {\n\t\t\t\t\tconst theOrder = findOrderBySN(subjectNumber);\n\n\t\t\t\t\tif (theOrder !== false) {\n\t\t\t\t\t\tif (isTemp) {\n\t\t\t\t\t\t\tvariable.tempInterActionList.push(\n\t\t\t\t\t\t\t\tnew interActionObj(theOrder, isSelected, 'LINK'),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvariable.interActionList.push(\n\t\t\t\t\t\t\t\tnew interActionObj(theOrder, isSelected, 'LINK'),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (theOptObj.jumpto) {\n\t\t\tif (theOptObj.jumpto === 65535) {\n\t\t\t\tif (isSelected) {\n\t\t\t\t\tsvEndConfig.endByThankyou += 1;\n\t\t\t\t\tarrAddData(svEndConfig.endByThankyouOpt, theOptObj.ID);\n\t\t\t\t} else {\n\t\t\t\t\tsvEndConfig.endByThankyou -= 1;\n\t\t\t\t\tarrDelData(svEndConfig.endByThankyouOpt, theOptObj.ID);\n\t\t\t\t}\n\t\t\t} else if (theOptObj.jumpto === 65534) {\n\t\t\t\tif (isSelected) {\n\t\t\t\t\tsvEndConfig.endByEnded += 1;\n\t\t\t\t\tarrAddData(svEndConfig.endByEndedOpt, theOptObj.ID);\n\t\t\t\t} else {\n\t\t\t\t\tsvEndConfig.endByEnded -= 1;\n\t\t\t\t\tarrDelData(svEndConfig.endByEndedOpt, theOptObj.ID);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst fromOrder = sbjOrder;\n\t\t\tconst toOrder = findOrderBySN(theOptObj.jumpto);\n\t\t\tconsole.log(fromOrder);\n\t\t\tconsole.log(toOrder);\n\n\t\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\t\tfor (let k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\t\tif (isTemp) {\n\t\t\t\t\t\tvariable.tempInterActionList.push(\n\t\t\t\t\t\t\tnew interActionObj(k, isSelected, 'JUMP'),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvariable.interActionList.push(\n\t\t\t\t\t\t\tnew interActionObj(k, isSelected, 'JUMP'),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* eslint-disable no-underscore-dangle */\n\tif (thisSubjectsObj[sbjOrder]._doMaxtimesAction && theOptObj.sorryto) {\n\t/* eslint-enable no-underscore-dangle */\n\t\tif (isSelected) {\n\t\t\tsvEndConfig.endBySorry += 1;\n\t\t\tarrAddData(svEndConfig.endBySorryOpt, theOptObj.ID);\n\t\t} else {\n\t\t\tsvEndConfig.endBySorry -= 1;\n\t\t\tarrDelData(svEndConfig.endBySorryOpt, theOptObj.ID);\n\t\t}\n\n\t\tconst fromOrder = sbjOrder;\n\t\tconst toOrder = findOrderBySN(theOptObj.sorryto);\n\n\t\tif (fromOrder !== false && toOrder !== false) {\n\t\t\tfor (let k = fromOrder + 1; k < toOrder; k += 1) {\n\t\t\t\tif (isTemp) {\n\t\t\t\t\tvariable.tempInterActionList.push(\n\t\t\t\t\t\tnew interActionObj(k, isSelected, 'SORRY'),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvariable.interActionList.push(\n\t\t\t\t\t\tnew interActionObj(k, isSelected, 'SORRY'),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const interActionCleanSbj = (theOrder) => {\n\tif (getAnswerByOrder(theOrder)) {\n\t\t/**\n\t\t * 有答案且需要清空\n\t\t */\n\t\t$.each(getAnswerByOrder(theOrder), (index, ansoptid) => {\n\t\t\tconst theOptObj = findOptionObjectById(\n\t\t\t\tseparateOptionIdFromText(ansoptid),\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theOrder].__getOptions(),\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t);\n\n\t\t\tmakeOptfromActionObj(theOrder, theOptObj, false, true);\n\t\t\tmakeInteractionObj(theOrder, theOptObj, false, true);\n\t\t});\n\n\t\tsuperResetSbj(thisSubjectsObj[theOrder].sn, thisSubjectsObj[theOrder].ID);\n\t}\n};\n\nexport const handleInteractionList = () => {\n\tvariable.tempInterActionList = [];\n\n\tconst mapFunction = (theObj) => {\n\t\tif (theObj.actype === 'SORRY') {\n\t\t\t/**\n\t\t\t * sorryto\n\t\t\t */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (thisSubjectsObj[theObj.orderT].__getHideBySorryto() === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__addHideBySorryto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__minusHideBySorryto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t}\n\t\t} else if (theObj.actype === 'JUMP') {\n\t\t\t/**\n\t\t\t * jumpto\n\t\t\t */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (thisSubjectsObj[theObj.orderT].__getHideByJumpto() === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__addHideByJumpto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__minusHideByJumpto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t}\n\t\t} else if (theObj.actype === 'LINK') {\n\t\t\t/**\n\t\t\t * linkto\n\t\t\t */\n\t\t\tif (theObj.conds) {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__addShowByLinkto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t} else {\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tthisSubjectsObj[theObj.orderT].__minusShowByLinkto();\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t\tif (thisSubjectsObj[theObj.orderT].__getShowByLinkto() === 0) {\n\t\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t\tinterActionCleanSbj(theObj.orderT);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\twhile (variable.interActionList.length) {\n\t\t$.map(variable.interActionList, mapFunction);\n\n\t\tvariable.interActionList = [];\n\t\tmoveActionFromTemp('interAction');\n\t}\n\n\tvariable.interActionList = [];\n\n\tmoveActionFromTemp('optfromAction');\n\tif (variable.optfromActionList.length) {\n\t\thandleOptfromActionList();\n\t}\n};\n\nexport const handleMutipleLists = () => {\n\tif (variable.optfromActionList.length) {\n\t\thandleOptfromActionList();\n\t\treturn;\n\t}\n\n\tif (variable.interActionList.length) {\n\t\thandleInteractionList();\n\t}\n};\n\nexport const interActionCleanOpt = (theOrder, optID) => {\n\tconst theAnswer = getAnswerByOrder(theOrder);\n\n\tif (theAnswer && $.inArray(optID, theAnswer) !== -1) {\n\t\t/**\n\t\t * 清除單一答案\n\t\t */\n\t\tupdateSingleAns(`sbj_${thisSubjectsObj[theOrder].ID}`, optID, 'REMOVE');\n\n\t\t/**\n\t\t * 處理單一答案連鎖效應\n\t\t */\n\t\tconst theOptObj = findOptionObjectById(\n\t\t\tseparateOptionIdFromText(optID),\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tthisSubjectsObj[theOrder].__getOptions(),\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t);\n\n\t\tmakeOptfromActionObj(theOrder, theOptObj, false, true);\n\t\tmakeInteractionObj(theOrder, theOptObj, false, true);\n\n\t\taddRedrawList(thisSubjectsObj[theOrder].sn);\n\t}\n};\n\nexport default 'INTERACTION';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/interaction.js","import $ from 'jquery';\nimport svConfig, { thisAnswerObj, thisSubjectsObj, variable, pageConfig } from '../appVariable';\nimport { typingSbjType, clickSbjType, uxSbjType } from '../constant';\nimport { separateOptionIdFromText, findOptionObjectById, findOrderBySN } from '../common';\nimport { resizeLevelW } from '../ui';\nimport { validateSurvey, validateRemote } from '../validate';\nimport { singleSubjectUI } from '../draw';\nimport { resetPageConfig } from './brochure';\n\n/* -------------------------------------\n -------------- Portrait -------------\n------------------------------------- */\nexport const UIrefresh = () => {\n\tif (variable.fillAnswerMode) {\n\t\treturn;\n\t}\n\n\tif (svConfig.layout === 'PORTRAIT' || pageConfig.mode === 'manual') {\n\t\tconsole.log('/// UIrefresh');\n\n\t\tif (variable.redrawSbjList.length) {\n\t\t\tvariable.redrawSbjList.forEach((theSN) => {\n\t\t\t\tsingleSubjectUI(theSN);\n\t\t\t});\n\n\t\t\tvariable.redrawSbjList = [];\n\t\t}\n\n\t\t$.each(thisSubjectsObj, (ind, ele) => {\n\t\t\t/**\n\t\t\t * 隱藏\n\t\t\t */\n\t\t\tif (ele.invisible === 1) {\n\t\t\t\t$(`#${ele.sn}`).addClass('invisible');\n\t\t\t} else {\n\t\t\t\t$(`#${ele.sn}`).removeClass('invisible');\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * showByLinkto\n\t\t\t */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._showByLinkto === 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t$(`#${ele.sn}`).addClass('hidden');\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\t} else if (ele._showByLinkto > 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t$(`#${ele.sn}`).removeClass('hidden');\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * hideByJumpto\n\t\t\t */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideByJumpto > 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t$(`#${ele.sn}`).addClass('ignore-subject');\n\t\t\t} else {\n\t\t\t\t$(`#${ele.sn}`).removeClass('ignore-subject');\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * hideBySorry\n\t\t\t */\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tif (ele._hideBySorryto > 0) {\n\t\t\t/* eslint-enable no-underscore-dangle */\n\t\t\t\t$(`#${ele.sn}`).addClass('sorry-skip');\n\t\t\t} else {\n\t\t\t\t$(`#${ele.sn}`).removeClass('sorry-skip');\n\t\t\t}\n\t\t});\n\t}\n\n\tresizeLevelW();\n\n\tif (svConfig.layout === 'PORTRAIT') {\n\t\tvalidateSurvey('#survey-form', false, true);\n\t\tvalidateRemote();\n\n\t\treturn;\n\t}\n\n\tif (svConfig.layout === 'BROCHURE') {\n\t\tresetPageConfig();\n\t}\n};\n\nexport const getAnstagTXT = (subjectNumber) => {\n\tconst theOrder = findOrderBySN(subjectNumber);\n\tconst ansString = [];\n\n\tif (theOrder !== false) {\n\t\tconst theAns = thisAnswerObj[theOrder];\n\t\tconst theSbj = thisSubjectsObj[theOrder];\n\n\t\tif ($.inArray(theSbj.type, typingSbjType) !== -1 || $.inArray(theSbj.type, uxSbjType) !== -1) {\n\t\t\tansString.push(theAns[`sbj_${theSbj.ID}`]);\n\t\t} else if ($.inArray(theSbj.type, clickSbjType) !== -1) {\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tconst theOptions = thisSubjectsObj[theOrder].__getOptions();\n\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\tif (theOptions) {\n\t\t\t\t$.each(theAns, (kk, vv) => {\n\t\t\t\t\tif (kk.search('sbj_') !== -1) {\n\t\t\t\t\t\t$.each(vv, (index, optid) => {\n\t\t\t\t\t\t\tconst thisOptionItem = findOptionObjectById(separateOptionIdFromText(optid), theOptions);\n\n\t\t\t\t\t\t\tansString.push(\n\t\t\t\t\t\t\t\tthisOptionItem.elses === 1 && theAns[optid]\n\t\t\t\t\t\t\t\t\t?\n\t\t\t\t\t\t\t\t\t`${thisOptionItem.text}(${theAns[optid]})`\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\tthisOptionItem.text,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (ansString.length > 0) {\n\t\t\treturn ansString.toString();\n\t\t}\n\n\t\treturn '';\n\t}\n\n\treturn '';\n};\n\nexport const ansTagToUI = (sbjSN) => {\n\tif (svConfig.layout !== 'PORTRAIT' && pageConfig.mode !== 'manual') {\n\t\treturn;\n\t}\n\n\tconsole.log('ansTagToUI');\n\tconsole.log(`sbjSN is: ${sbjSN}`);\n\tconsole.log(`getAnstagTXT is: ${getAnstagTXT(sbjSN)}`);\n\n\t$(`.ansTag[rel='${sbjSN}']`).text(getAnstagTXT(sbjSN));\n};\n\nexport const ansTagToCrumb = (breadRow) => {\n\tif (svConfig.layout === 'BROCHURE') {\n\t\tconst crumbAnsTag = breadRow.find('.ansTag');\n\n\t\tif (crumbAnsTag.length > 0) {\n\t\t\t$.each(crumbAnsTag, function () {\n\t\t\t\tconst theRel = $(this).attr('rel');\n\n\t\t\t\tif (theRel) {\n\t\t\t\t\t$(this).text(getAnstagTXT(theRel));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport default 'PORTRAIT';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/portrait.js","import UAParser from 'ua-parser-js';\n\nimport getQueryObj from './getQueryObj';\nimport { parseUrlPath } from './common';\nimport { defaultLanguage } from './appConfig';\n\nconst userAgentData = new UAParser();\n\n/**\n * url query in Object type\n */\nexport const urlQueryObject = getQueryObj();\n\n/**\n * wording strings will be put here\n */\nexport const sysLang = {\n\tready: false,\n\twording: null,\n};\n\nexport const isIniframe = (() => {\n\ttry {\n\t\treturn window.self !== window.top;\n\t} catch (e) {\n\t\treturn true;\n\t}\n})();\n\nexport const thisAnswerObj = {};\nexport const thisSubjectsObj = [];\nexport const thisOptfromMap = {};\nexport const pageSNArr = [];\nexport const snArr = [];\n\n/**\n * mixed variable object\n */\nexport const variable = {\n\twinW: null,\n\trel: null,\n\tvalidator: null,\n\tfillAnswerMode: false,\n\trunTimerInterval: null,\n\tisrunTimer: false,\n\tneedRunTimer: false,\n\ttimeOutTimer: null,\n\tFastClickThread: null,\n\tampInstance: null,\n\tsurveyData: {},\n\tredrawSbjList: [],\n\toptfromActionList: [],\n\ttempOptfromActionList: [],\n\tinterActionList: [],\n\ttempInterActionList: [],\n\tuser: {\n\t\tstatus: false,\n\t\tpro: false,\n\t},\n};\n\nexport const pageConfig = {\n\tnow: null,\n\tnext: 0,\n\tprev: null,\n\tmode: 'auto',\n\tgroup: [],\n};\n\nexport const sysAgent = {\n\tisMobile: userAgentData.getDevice().type === 'mobile' || userAgentData.getDevice().type === 'tablet',\n\tisIOS: navigator.userAgent.match(/(iPad|iPhone)/i) !== null,\n\tisFirefox: navigator.userAgent.match(/Firefox/i) !== null,\n\tisIE: navigator.userAgent.match(/MSIE|rv:11.0/i) !== null,\n};\n\nexport const nestConfig = {\n\tchildEnd: false,\n};\n\nexport const svEndConfig = {\n\tsubmitURL: '',\n\tendsopts: null,\n\tansSbjLog: {},\n\tendByThankyouOpt: [],\n\tendByThankyou: 0,\n\tendByEndedOpt: [],\n\tendByEnded: 0,\n\tendBySorryOpt: [],\n\tendBySorry: 0,\n};\n\nconst svConfig = {\n\tleaveAlert: false,\n\talreadySetVisit: false,\n\tsurveyId: parseUrlPath()[1],\n\tviewStatus: \"public\",\n\tfinishedPtg: 0,\n\ttheme: 'surveycake',\n\tlanguage: defaultLanguage,\n\tcan_submit: true,\n\tcan_showError: true,\n\tsvStartTime: null,\n\tsvEndTime: null,\n\tsvDuration: null,\n\tsvDurationPass: true,\n\tsvStatus: null,\n\tnowGetTime: null,\n\tlayout: 'PORTRAIT',\n\tpvMode: 'desktop',\n\tsortMode: 'clickIt',\n\tstartAnswered: false,\n\thasCacheAns: false,\n\tiniPosOrder: null,\n\tiniPosSN: null,\n\tisThemePv: false,\n\tisDirty: false,\n\tremote: false,\n\tuntrack: urlQueryObject.untrack === '1',\n\tpassword: null,\n\tfileUpload: {\n\t\tbinding: false,\n\t\tenable: false,\n\t\texist: false,\n\t},\n\tpreviewAnswer: false,\n\treCaptcha: {\n\t\tenable: false,\n\t\ttoken: null,\n\t},\n};\n\nexport default svConfig;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/appVariable.js","import { appendLeft } from './common';\n\n/* -------------------------------------\n ------------- Date, Time ------------\n------------------------------------- */\nexport const createTimeStamp = () => (\n\tnew Date().getTime() + (new Date().getTimezoneOffset() * 60 * 1000)\n);\n\nexport const parseDate = (dateString) => {\n\tif (!dateString) {\n\t\treturn false;\n\t}\n\n\tif (/^\\d{4}-\\d{2}-\\d{2}/.test(dateString)) {\n\t\tconst dpa = dateString.split(' ');\n\t\tconst dpd = dpa[0].split('-');\n\t\tconst dpt = /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$/.test(dateString) ? dpa[1].split(':') : ['00', '00', '00'];\n\n\t\treturn new Date(\n\t\t\tdpd[0],\n\t\t\tdpd[1] - 1,\n\t\t\tdpd[2],\n\t\t\tdpt[0],\n\t\t\tdpt[1],\n\t\t\tdpt[2],\n\t\t);\n\t}\n\n\treturn false;\n};\n\nexport const convertTZString = (dateObject) => {\n\tif (!dateObject) {\n\t\treturn '';\n\t}\n\n\tconst newD = new Date(\n\t\tnew Date(dateObject).getTime()\n\t\t+\n\t\t((new Date().getTimezoneOffset() / 60) * (-1) * 60 * 60 * 1000),\n\t);\n\n\treturn `${\n\t\tnewD.getFullYear()\n\t}-${\n\t\tappendLeft(newD.getMonth() + 1, 2)\n\t}-${\n\t\tappendLeft(newD.getDate(), 2)\n\t} ${\n\t\tappendLeft(newD.getHours(), 2)\n\t}:${\n\t\tappendLeft(newD.getMinutes(), 2)\n\t}:${\n\t\tappendLeft(newD.getSeconds(), 2)\n\t}`;\n};\n\nexport default 'TIME';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/time.js","import $ from 'jquery';\nimport vex from 'vex-js/dist/js/vex.combined';\n\nimport { fileUploadConfig } from '../appConfig';\nimport svConfig, { sysLang, thisAnswerObj, variable } from '../appVariable';\nimport { createTimeStamp } from '../time';\nimport { updateSingleAns } from '../initial';\nimport { loadExtraFile } from '../common';\nimport { portraitProgressCount } from '../main';\n\nconst supportTypes = {\n\tdocument: [\n\t\t'application/msword',\n\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t'text/*',\n\t\t'application/pdf',\n\t\t'text/csv',\n\t\t'application/vnd.oasis.opendocument.text',\n\t\t'application/x-iwork-pages-sffpages',\n\t],\n\tslideshow: [\n\t\t'application/vnd.ms-powerpoint',\n\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t'application/x-iwork-keynote-sffkey',\n\t\t'application/vnd.oasis.opendocument.presentation',\n\t],\n\tspreadsheet: [\n\t\t'application/vnd.ms-excel',\n\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t'text/csv',\n\t\t'application/x-iwork-numbers-sffnumbers',\n\t],\n\timage: ['image/*'],\n\tvideo: ['video/*'],\n\taudio: ['audio/*'],\n};\n\nconst fileUploader = {\n\ts3: null,\n};\n\nconst initialAwsS3 = () => {\n\twindow.AWS.config.update({\n\t\tregion: fileUploadConfig.region,\n\t\taccessKeyId: fileUploadConfig.key,\n\t\tsecretAccessKey: fileUploadConfig.secret,\n\t});\n\n\tconst s3 = new window.AWS.S3({\n\t\tapiVersion: '2006-03-01',\n\t\tparams: {\n\t\t\tBucket: fileUploadConfig.bucket,\n\t\t},\n\t});\n\n\treturn s3;\n};\n\nconst initFileUpload = () => {\n\tfileUploader.s3 = initialAwsS3();\n};\n\nconst formatFilename = (filename) => {\n\tconst lastIndex = filename.lastIndexOf('.');\n\n\tif (lastIndex < 0) {\n\t\t/**\n\t\t * no file extension\n\t\t */\n\n\t\treturn `${filename}_${createTimeStamp()}`;\n\t}\n\n\n\treturn `${filename.substring(0, lastIndex)}_${createTimeStamp()}${filename.substring(lastIndex)}`;\n};\n\nconst mappingFileTypeInfo = (types) => {\n\tif (!types) {\n\t\treturn sysLang.wording.fileupload.types.none;\n\t}\n\n\tconst fileTypeInfo = [];\n\n\ttypes.forEach((type) => {\n\t\tfileTypeInfo.push(sysLang.wording.fileupload.types[type]);\n\t});\n\n\treturn fileTypeInfo.join(sysLang.wording.fileupload.info.seperator);\n};\n\nconst mappingFileTypeMIME = (types, returnString) => {\n\tif (!types) {\n\t\treturn '';\n\t}\n\n\tlet fileTypeInfo = [];\n\n\ttypes.forEach((type) => {\n\t\tfileTypeInfo = fileTypeInfo.concat(supportTypes[type]);\n\t});\n\n\treturn returnString ? fileTypeInfo.join(',') : fileTypeInfo;\n};\n\nconst validFileType = (fileTypes, fileType) => (\n\tfileTypes.filter((type) => {\n\t\tconst result = new RegExp(`^${type}`).test(fileType);\n\t\tconsole.log(`${new RegExp(`^${type}`)} test ${fileType} is: ${result}`);\n\n\t\treturn result;\n\t}).length > 0\n);\n\nconst onFileError = ($fileUpload, error) => {\n\t$fileUpload.find('.file .name').text('');\n\t$fileUpload.find('.fileupload-input').val('');\n\t$fileUpload.find('input[type=\\'file\\']').val(null);\n\t$fileUpload.removeClass('-uploading -uploaded');\n\n\t$fileUpload.addClass('-onerror');\n\t$fileUpload.find('.fileupload-error').text(error);\n};\n\nconst fileRemove = ($fileUpload) => {\n\t$fileUpload.find('.file .name').text('');\n\t$fileUpload.find('.fileupload-input').val('');\n\t$fileUpload.find('input[type=\\'file\\']').val(null);\n\t$fileUpload.removeClass('-uploaded');\n\n\tconst parentSubjectId = $fileUpload.parents('.subject-wrapper').attr('data-id');\n\tupdateSingleAns(`sbj_${parentSubjectId}`, null, 'RESET');\n\tconsole.log(thisAnswerObj);\n};\n\nconst fileUpload = (file, fileName, $fileUpload) => {\n\tif (!fileUploader.s3) {\n\t\tinitFileUpload();\n\t}\n\n\tfileUploader.s3.upload({\n\t\tBody: file,\n\t\tKey: `${fileUploadConfig.folder}${fileName}`,\n\t\tACL: 'bucket-owner-full-control',\n\t}).on('httpUploadProgress', (evt) => {\n\t\tconst percentage = parseInt((evt.loaded * 100) / evt.total, 10);\n\t\t$fileUpload.addClass('-uploading');\n\t\t$fileUpload.find('.percentage').text(`${percentage} %`);\n\t\t$fileUpload.find('.base .bar').css({\n\t\t\twidth: `${percentage}%`,\n\t\t});\n\t}).send((err, data) => {\n\t\t$fileUpload.removeClass('-uploading');\n\n\t\tif (err) {\n\t\t\tconsole.log('There was an error: ', err.message);\n\n\t\t\tonFileError($fileUpload, sysLang.wording.fileupload.error.uploadFailed);\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log(data);\n\t\tconst parentSubjectId = $fileUpload.parents('.subject-wrapper').attr('data-id');\n\t\tconst parentSubjectSn = parseInt($fileUpload.parents('.subject-wrapper').attr('id'), 10);\n\t\tconst uploadedFile = (data.key || data.Key).replace('temp/', '');\n\n\t\t$fileUpload.find('.file .name').text(uploadedFile);\n\t\t$fileUpload.find('.fileupload-input').val(uploadedFile);\n\t\t$fileUpload.addClass('-uploaded');\n\n\t\tupdateSingleAns(`sbj_${parentSubjectId}`, uploadedFile, 'WRITE');\n\t\tportraitProgressCount(parentSubjectSn);\n\t\tconsole.log(thisAnswerObj);\n\t});\n};\n\nconst clickUploadAtPreview = () => {\n\tvex.dialog.alert({\n\t\tmessage: sysLang.wording.fileupload.error.preview,\n\t});\n};\n\nexport const createFileUpload = ($subjectDom, subjectData) => {\n\tconst newFileUpload = $('.fileupload-container-temp').clone().removeClass('fileupload-container-temp');\n\n\t/**\n\t * make information string\n\t */\n\tconst limitString = subjectData.upperbounds !== null ?\n\t\tsysLang.wording.fileupload.info.size.replace('_{{filesize}}_', `${subjectData.upperbounds}`)\n\t\t:\n\t\t'';\n\n\tconst typeString = subjectData.extras.file_type && subjectData.extras.file_type.length > 0 ?\n\t\tsysLang.wording.fileupload.info.type\n\t\t\t.replace('_{{filetype}}_', mappingFileTypeInfo(subjectData.extras.file_type))\n\t\t:\n\t\t'';\n\n\tconst infoString = `${limitString} ${typeString}`;\n\n\tif (subjectData.extras.file_type && subjectData.extras.file_type.length > 0) {\n\t\tnewFileUpload\n\t\t\t.find('input[type=\\'file\\']')\n\t\t\t.attr('accept', mappingFileTypeMIME(subjectData.extras.file_type, true));\n\t}\n\n\t/**\n\t * bind event\n\t */\n\tif (svConfig.viewStatus === 'preview') {\n\t\tonFileError(\n\t\t\tnewFileUpload,\n\t\t\tsysLang.wording.fileupload.hint.preview,\n\t\t);\n\n\t\tnewFileUpload.find('.upload-button').on('click', () => {\n\t\t\tclickUploadAtPreview();\n\t\t});\n\t} else if (!svConfig.fileUpload.binding || !variable.user.pro) {\n\t\tnewFileUpload.find('.upload-button').addClass('-disabled');\n\n\t\tonFileError(\n\t\t\tnewFileUpload,\n\t\t\tsysLang.wording.fileupload.error.disabled,\n\t\t);\n\t} else if (!svConfig.fileUpload.enable) {\n\t\tnewFileUpload.find('.upload-button').addClass('-disabled');\n\n\t\tonFileError(\n\t\t\tnewFileUpload,\n\t\t\tsysLang.wording.fileupload.error.fulled,\n\t\t);\n\t} else {\n\t\tnewFileUpload.find('.upload-button').on('click', () => {\n\t\t\tnewFileUpload.find('input[type=\\'file\\']').trigger('click');\n\t\t});\n\t}\n\n\tnewFileUpload.find('input[type=\\'file\\']').on('change', (event) => {\n\t\tnewFileUpload.removeClass('-onerror -uploading');\n\n\t\t/**\n\t\t * caculate file size in MB\n\t\t */\n\t\tconst file = event.target.files[0];\n\t\tconst fileSize = file.size / 1000000;\n\t\tconst fileName = formatFilename(file.name);\n\t\tconst fileType = file.type;\n\n\t\tconsole.log(`fileType: ${fileType}`);\n\n\t\tif (subjectData.upperbounds && fileSize > subjectData.upperbounds) {\n\t\t\tonFileError(\n\t\t\t\tnewFileUpload,\n\t\t\t\tsysLang.wording.fileupload.error.filesize.replace('_{{filesize}}_', `${subjectData.upperbounds}`),\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (subjectData.extras.file_type &&\n\t\t\tsubjectData.extras.file_type.length > 0 &&\n\t\t\t!validFileType(mappingFileTypeMIME(subjectData.extras.file_type), fileType)\n\t\t) {\n\t\t\tonFileError(\n\t\t\t\tnewFileUpload,\n\t\t\t\tsysLang.wording.fileupload.error.filetype\n\t\t\t\t\t.replace('_{{filetype}}_', mappingFileTypeInfo(subjectData.extras.file_type)),\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tfileUpload(file, fileName, newFileUpload);\n\t});\n\n\tnewFileUpload.find('.filepool .file .remove').on('click', () => {\n\t\tfileRemove(newFileUpload);\n\t});\n\n\tnewFileUpload.find('.input-wrapper input').attr('name', `sbj_${subjectData.ID}[]`);\n\t$subjectDom.find('.subject-info').html(infoString);\n\t$subjectDom.find('.subject-answer').append(newFileUpload);\n};\n\nexport const resetFileUploadUI = ($subjectDom) => {\n\tfileRemove($subjectDom.find('.fileupload-container'));\n};\n\nexport const initialAwsSdk = () => {\n\tloadExtraFile('https://sdk.amazonaws.com/js/aws-sdk-2.333.0.min.js', 'js', () => {\n\t\tinitFileUpload();\n\t});\n};\n\nexport default 'File Upload';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/fileUpload.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQEAIAAACwqkHPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAJpJREFUSMftzz8LAQEYB+Df+7NIJl2UrijLzXZfwFdgNV9ZbcwWn+VGsxKd0aSroxTFdLk/3cunEMM7PfMD3WVZPCMAAIZhGMa3QVkmSRhSquLJhmhgxDXhYMIH0RKfHej4dThGRFsWlTl0lUYnh3BlyQC6zZ7xEHrOp5c9tMjvV5fSFJ9dvHtFcEuJOgb0CKKG/l+kDcMwfsgHGv4yVUVcuIEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDItMDFUMDU6MzQ6MDMtMDg6MDA2/sHoAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwR6N5VAAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png\n// module id = SXwv\n// module chunks = 1","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-icons_ffd27a_256x240.png\n// module id = Tg2x\n// module chunks = 1","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getCache = (surveyId) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/ans/cache/get?svid=${surveyId}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getCache;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/answer/getCache.js","module.exports = __webpack_public_path__ + \"sorry.c55e52edcf4ee.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/banner/sorry.jpg\n// module id = U6Vj\n// module chunks = 1 2","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getMasterSubjects = (surveyId, masterhash, password) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/survey/subjects?svid=${\n\t\tsurveyId\n\t}${\n\t\tmasterhash ? `&masterid=${masterhash}` : ''\n\t}${\n\t\tpassword ? `&password=${password}` : ''\n\t}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getMasterSubjects;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/getMasterSubjects.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoEAIAAABTDPN5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAANFJREFUaN7t2LsNRSEMA9D7GYBFGI2WTZiMTRgA6RahQQJBXvGk2LhKE1mn9R1zzDFfk5RUUkmXMi644IL26z+9Dw91CkalDsDY1A7MQJW8vvrqKwNV8mgf7FKlVwG2TpV7C4xB3QIjURdgPOoUjEodgLGpHZiB2sA81AbmoUrvj2CLVLnVYLtUNdg6VQHGoG6BkagLMB51CkalDsDY1A7MQJWcTQuXejYtdOoWGIm6AONRp2BU6gCMTe3ADNQG5qE2MA/1bFroVDXYOlUBxqBKPlHk4g6bPGauAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png\n// module id = UsmG\n// module chunks = 1","import Cookies from 'js-cookie';\n\nimport { randomHash } from './common';\n\nexport const putCsrfTokenToCookie = () => {\n\tconst token = randomHash();\n\n\tCookies.set('csrftoken', token, {\n\t\texpires: 7,\n\t\tsecure: process.env.NODE_ENV !== 'DEV',\n\t\tpath: '/',\n\t});\n\n\treturn token;\n};\n\nconst getCsrfTokenFromCookie = () => {\n\tif (!Cookies.get('csrftoken')) {\n\t\treturn putCsrfTokenToCookie();\n\t}\n\n\treturn Cookies.get('csrftoken');\n};\n\nexport default getCsrfTokenFromCookie;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/getCsrfTokenFromCookie.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst getCount = (surveyId, subjectId, type, query) => (\n\tfetch(`${\n\t\tapiDomain\n\t}/${apiVersion}/s/ans/count?svid=${\n\t\tsurveyId\n\t}&sbjid=${subjectId}${\n\t\t(type === 'optid' || type === 'vtext') ? `&${type}=${query}` : ''\n\t}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getCount;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/answer/getCount.js","import $ from 'jquery';\n\nconst replaceWording = (wordingObject) => {\n\tconst wordingTags = $('[sltkey]');\n\n\tif (wordingTags.length === 0) {\n\t\treturn;\n\t}\n\n\t$.each(wordingTags, (index, value) => {\n\t\tconst wordingKey = $(value).attr('sltkey');\n\t\tlet wordingString;\n\n\t\tif (wordingKey.indexOf('.') !== -1) {\n\t\t\tconst keyArray = wordingKey.split('.');\n\t\t\twordingString = wordingObject[keyArray[0]];\n\n\t\t\tlet j = 1;\n\t\t\twhile (j < keyArray.length) {\n\t\t\t\twordingString = wordingString ? wordingString[keyArray[j]] : wordingString;\n\t\t\t\tj += 1;\n\t\t\t}\n\t\t} else if (wordingKey.indexOf('+') !== -1) {\n\t\t\tconst keyArray = wordingKey.split('+');\n\t\t\twordingString = wordingObject[keyArray[0]];\n\n\t\t\tlet j = 1;\n\t\t\twhile (j < keyArray.length) {\n\t\t\t\twordingString = `${wordingString} ${wordingObject[keyArray[j]]}`;\n\t\t\t\tj += 1;\n\t\t\t}\n\t\t} else {\n\t\t\twordingString = wordingObject[wordingKey];\n\t\t}\n\n\t\tif (!wordingString) {\n\t\t\tconsole.log(`找不到!${wordingKey}`);\n\t\t\treturn;\n\t\t}\n\n\t\tconst theAction = $(value).attr('sltpos');\n\n\t\tif (theAction) {\n\t\t\t$(value).attr(theAction, wordingString);\n\t\t\treturn;\n\t\t}\n\n\t\t$(value).html(wordingString);\n\t});\n};\n\nexport default replaceWording;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/replaceWording.js","import { fileDomain } from '../appConfig';\nimport fetch from './customFetch';\nimport handleErrorRequest from './handleErrorRequest';\n\nconst getTranslateFile = (surveyHash, lang) => (\n\tfetch(`${fileDomain}/json/${surveyHash}-${lang}.json`, {\n\t\tcache: 'no-cache',\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getTranslateFile;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/getTranslateFile.js","module.exports = {\n\t\"amazon\": {\n\t\t\"fileuploadBucket\": \"\",\n\t\t\"fileuploadFolder\": \"temp/\",\n\t\t\"fileuploadKey\": \"\",\n\t\t\"fileuploadRegion\": \"\",\n\t\t\"fileuploadSecret\": \"\"\n\t},\n\t\"config\": {\n\t\t\"activeDirectoryAutoLoginEnable\": false,\n\t\t\"adLoginGoogleRecaptchaKey\": \"\",\n\t\t\"amplitude\": \"\",\n\t\t\"amplitudeSurvey\": \"\",\n\t\t\"backstageThirdPartyAuthTokenUrl\": \"\",\n\t\t\"defaultLanguage\": \"tw\",\n\t\t\"enableAdLoginGoogleRecaptcha\": false,\n\t\t\"enableDefaultThankYouMessage\": true,\n\t\t\"enableLogoLink\": true,\n\t\t\"enableThirdPartyLogin\": false,\n\t\t\"externalNetDisabled\": false,\n\t\t\"facebookAppVersion\": \"v6.0\",\n\t\t\"fileuploadEnable\": true,\n\t\t\"ga\": \"\",\n\t\t\"googleRecaptchaKey\": \"6LfZ43cUAAAAAKTRpN6xjp9Fd7nZVDY86nUA-Zmh\",\n\t\t\"gtm\": \"GTM-N5NNP3X\",\n\t\t\"hiddenSubmitEnable\": false,\n\t\t\"languageWhitelist\": [\n\t\t\t\"en\",\n\t\t\t\"tw\"\n\t\t],\n\t\t\"remoteBucket\": \"https://cathaybksurveycake.blob.core.windows.net/abs\",\n\t\t\"remoteCdn\": \"\",\n\t\t\"surveyLoginFacebookAppId\": \"\",\n\t\t\"surveyLoginFacebookAppSecret\": \"\",\n\t\t\"surveyLoginType\": \"\",\n\t\t\"tempAnswerEnable\": false,\n\t\t\"userLoginEnable\": false\n\t},\n\t\"server\": {\n\t\t\"api\": \"https://survey.cathaybk.com.tw\",\n\t\t\"apiPath\": \"/api\",\n\t\t\"main\": \"https://survey.cathaybk.com.tw\",\n\t\t\"shortUrlPrefix\": \"https://s3-us-west-2.amazonaws.com/shorten.surveycake/u\"\n\t},\n\t\"website\": \"https://survey.cathaybk.com.tw\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config/project.json\n// module id = XPAg\n// module chunks = 1 2","import $ from 'jquery';\n\nexport const hideLogo = () => {\n\t/**\n\t * wowprime request do not show logo at survey form page\n\t *\n\t * They afraid user accidentally click to logo will leave the form.\n\t */\n\t$('#footer-logo .surveycake-logo').hide();\n};\n\nexport const showLogo = () => {\n\t/**\n\t * show logo after user submit the form\n\t */\n\t$('#footer-logo .surveycake-logo').show();\n};\n\nexport default 'This is enterprise-wowprime';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/enterprise/wowprime.js","import { apiDomain, apiVersion } from '../appConfig';\nimport fetch from './customFetch';\nimport handleErrorRequest from './handleErrorRequest';\n\nconst createVisit = (surveyId) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/visit/create?svid=${surveyId}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default createVisit;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/createVisit.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst storeCache = (surveyId, ansjosnData) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/ans/cache/store`, {\n\t\tmethod: 'POST',\n\t\tbody: (() => {\n\t\t\tconst body = new FormData();\n\t\t\tbody.append('svid', surveyId);\n\t\t\tbody.append('ansjson', ansjosnData);\n\n\t\t\treturn body;\n\t\t})(),\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default storeCache;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/answer/storeCache.js","module.exports = __webpack_public_path__ + \"error.d5d84bc9b2779.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/status/error.png\n// module id = aErk\n// module chunks = 1 2","import { assetsDomain } from '../appConfig';\nimport fetch from './customFetch';\nimport handleErrorRequest from './handleErrorRequest';\n\nconst getWording = (language) => (\n\tfetch(`${assetsDomain}/wording/${language}/s.json`, {\n\t\tcache: 'no-cache',\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getWording;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/getWording.js","module.exports = __webpack_public_path__ + \"ended.c55e52edcf4ee.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/banner/ended.jpg\n// module id = c+17\n// module chunks = 1 2","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkEAIAAACY3hF0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAKdJREFUKM/l0K0NhEAQBtCPqWENEgSGCggl0ActUMsKGsCQUMISJK3sAPuLmivjLjn1/MPbvu3bEgAAfwODwchHPvJBWLBgQS5zmUukLW1pQ+pTn3rEPe5xRxziEAcEE0wwCF3oQge/+tWv8I1vfAM3u9nNcMopp0hGGWXEQw89RDLJJBPu4i7ugkSLFo2rvuqrBp988knQ0NDgiiuuYK211n576cf5AI0UYXIiM1WSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png\n// module id = cPV7\n// module chunks = 1","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst deleteCache = (surveyId) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/ans/cache/del`, {\n\t\tmethod: 'POST',\n\t\tbody: (() => {\n\t\t\tconst body = new FormData();\n\t\t\tbody.append('svid', surveyId);\n\n\t\t\treturn body;\n\t\t})(),\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default deleteCache;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/answer/deleteCache.js","module.exports = {\n\t\"pages\": {\n\t\t\"index\": {\n\t\t\t\"entry\": \"index\"\n\t\t},\n\t\t\"ending\": {\n\t\t\t\"entry\": \"ending\"\n\t\t}\n\t},\n\t\"port\": {\n\t\t\"webpackServer\": 3000,\n\t\t\"analyzerServer\": 3001,\n\t\t\"browserSyncServer\": 8080,\n\t\t\"apiProxyServer\": 9000,\n\t\t\"assetsProxyServer\": 9001\n\t},\n\t\"devDefaultSurvey\": \"Jkm3j\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config/website.json\n// module id = desC\n// module chunks = 1 2","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoEAIAAABTDPN5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAOBJREFUaN7t2DEKAjEQRuHNNl5AkC3FysLDeRKvs50nEWvBWrCz+KtAxmQEi3nJq9Jkh6/bTLoeT6/dfjJ6X56Hx31ytjlvb/Y3W/rf3LkfqgmmUgtgNjUD90BVaV2XxX8tIlXN3gtxqZrrAEen6twEZlCbwCRqBcyjmmAqtQBmUzNwD1SVvr+WSFTl/vGIS9XcH8ERqTq7wXGpbnB0qgPMoDaBSdQKmEc1wVRqAcymZuAeqGrstLjUsdOiU5vAJGoFzKOaYCq1AGZTM3APVDV2Wlzq2GnRqW5wdKoDzKCqD7J/3mi0cI+eAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png\n// module id = eMQS\n// module chunks = 1","module.exports = __webpack_public_path__ + \"notfound.654a743f94228.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/status/notfound.png\n// module id = f5AH\n// module chunks = 1 2","import $ from 'jquery';\nimport { imageDomain, serverDomain } from './appConfig';\nimport svConfig, {\n\tsysAgent, thisAnswerObj, sysLang, thisSubjectsObj, pageSNArr, variable,\n} from './appVariable';\nimport { createTimeStamp } from './time';\nimport { extPreLeavePage } from './customize';\n\n/**\n * parse url path to array\n */\nexport const parseUrlPath = () => window.location.pathname.substr(1).split('/');\n\nexport const appendLeft = (source, minLength, append) => (\n\tsource.toString().length >= minLength ?\n\t\tsource\n\t\t:\n\t\t`${(append || '0').repeat(minLength - source.toString().length)}${source}`\n);\n\nconst getPositionInScrollview = (element) => ({\n\ttop: element.offsetTop + (element.offsetParent ? element.offsetParent.offsetTop : 0),\n});\n\nexport const scrollToEle = ($element, animate, positionY) => {\n\tif ($element.length) {\n\t\tconst $scrollContainer = $('html, body');\n\n\t\tlet nextPositionY = positionY;\n\t\tif (!nextPositionY) {\n\t\t\t/**\n\t\t\t * 自己的位置\n\t\t\t */\n\t\t\tnextPositionY = getPositionInScrollview($element[0]).top - 20;\n\t\t}\n\n\t\tif (animate) {\n\t\t\t$scrollContainer.animate({\n\t\t\t\tscrollTop: nextPositionY,\n\t\t\t}, 200);\n\n\t\t\treturn;\n\t\t}\n\n\t\t$scrollContainer.scrollTop(nextPositionY);\n\t}\n};\n\nexport const overflowBody = (status = false) => {\n\tif (status) {\n\t\t$('body').addClass('freeze');\n\n\t\treturn;\n\t}\n\n\t$('body').removeClass('freeze');\n};\n\nconst createExtraFileTag = (filename, filetype) => {\n\tif (filetype !== 'js' && filetype !== 'css') {\n\t\treturn false;\n\t}\n\n\tif (filetype === 'js') {\n\t\t/**\n\t\t * if filename is a external JavaScript file\n\t\t */\n\t\tconst tag = document.createElement('script');\n\t\ttag.setAttribute('type', 'text/javascript');\n\t\ttag.setAttribute('src', `${filename}?time=${createTimeStamp()}`);\n\n\t\treturn tag;\n\t}\n\n\t/**\n\t * if filename is an external CSS file\n\t */\n\tconst tag = document.createElement(\"link\");\n\ttag.setAttribute('rel', 'stylesheet');\n\ttag.setAttribute('type', 'text/css');\n\ttag.setAttribute('href', `${filename}?time=${createTimeStamp()}`);\n\n\treturn tag;\n};\n\nexport const loadExtraFile = (filename, filetype, callback) => {\n\tconst fileref = createExtraFileTag(filename, filetype);\n\n\tif (fileref) {\n\t\tdocument.getElementsByTagName('head')[0].appendChild(fileref);\n\n\t\tlet loadingCompleted = false;\n\t\tconst onreadyFunction = function () {\n\t\t\tif (!loadingCompleted &&\n\t\t\t\t(!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete')\n\t\t\t) {\n\t\t\t\tloadingCompleted = true;\n\n\t\t\t\tif (callback && typeof callback === 'function') {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tfileref.onload = onreadyFunction;\n\t\tfileref.onreadystatechange = onreadyFunction;\n\t}\n};\n\nexport const setLeavePageJS = () => {\n\tconsole.log('///setLeavePageJS');\n\n\tif (sysAgent.isIOS) {\n\t\t$(window).on('pageshow', (e) => {\n\t\t\tif ((e || window.event).originalEvent.persisted && variable.rel === 'index') {\n\t\t\t\tsvConfig.leaveAlert = false;\n\t\t\t\t$('body').html('');\n\t\t\t\t$('body').css('background', 'white');\n\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t});\n\t}\n\n\tconst eventName = sysAgent.isIOS ? 'pagehide' : 'beforeunload';\n\n\t/**\n\t * show warning string when user leave page\n\t * should not return everything if you dont want any string\n\t */\n\n\t/* eslint-disable consistent-return */\n\t$(window).on(eventName, () => {\n\t/* eslint-enable consistent-return */\n\t\tif (svConfig.leaveAlert &&\n\t\t\tsvConfig.isDirty &&\n\t\t\tsvConfig.viewStatus === 'public' &&\n\t\t\teventName === 'beforeunload'\n\t\t) {\n\t\t\treturn extPreLeavePage();\n\t\t}\n\t});\n};\n\n/**\n * compose the entire url\n *\n * Add the file domain if it's a path without domain\n */\nexport const reviseImgUrl = (theString) => `${\n\t(theString.search('http') !== -1 || theString.search('https') !== -1) ? '' : imageDomain\n}${theString}`;\n\n/**\n * parse number to alphabet-based ordering\n */\nexport const numberToABC = (number, inLowerCase = false) => {\n\tconst alphabet = [\n\t\t'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n\t\t'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n\t];\n\tconst alphabetLength = alphabet.length;\n\tconst parseAlphaBet = (index) => alphabet[\n\t\tindex === 0 ? alphabetLength - 1 : index - 1\n\t];\n\n\tlet returnString = '';\n\n\tlet quotient = parseInt(number, 10);\n\twhile (quotient !== 0) {\n\t\tconst remainder = quotient % alphabetLength;\n\t\tquotient = parseInt(quotient / alphabetLength, 10);\n\n\t\tif (remainder === 0) {\n\t\t\tquotient -= 1;\n\t\t}\n\n\t\treturnString = `${parseAlphaBet(remainder)}${returnString}`;\n\t}\n\n\treturn inLowerCase ? returnString.toLowerCase() : returnString;\n};\n\n/**\n * count the size of an object (use `Object.keys`)\n */\nexport const objectSize = (theObject) => typeof theObject === 'object' && Object.keys(theObject).length;\n\n/**\n * get option id number from `data-id` attribute in `opt_{NUMBER}` pattern\n */\nexport const separateOptionIdFromText = (optionIdText) => (\n\t/^opt_/i.test(optionIdText)\n\t\t?\n\t\tparseInt(optionIdText.replace(/^opt_/i, ''), 10)\n\t\t:\n\t\tnull\n);\n\n/**\n * get the subject existed page number\n */\nexport const findPageNumberBySN = (subjectNumber) => {\n\tif (!pageSNArr.length) {\n\t\treturn false;\n\t}\n\n\t/**\n\t * if the SN doesn't be found, it will be -1\n\t */\n\tconst returnOrder = pageSNArr.findIndex((value) => {\n\t\t/**\n\t\t * use `.length` property to make sure it is Array type\n\t\t */\n\t\tif (typeof value === 'object' && value.length && value.includes(subjectNumber)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (['string', 'number'].includes(typeof value) && value === subjectNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t});\n\n\treturn returnOrder > -1 ? returnOrder : false;\n};\n\n/**\n * get the subject ordering in the survey by subject number (string)\n */\nexport const findOrderBySN = (subjectNumberText) => {\n\tif (thisSubjectsObj && thisSubjectsObj.length) {\n\t\tif (subjectNumberText === 65535 || subjectNumberText === 65534) {\n\t\t\treturn thisSubjectsObj.length;\n\t\t}\n\n\t\t/**\n\t\t * it will be `-1`, if there is no matched value\n\t\t */\n\t\tconst ordering = thisSubjectsObj.findIndex(({ sn }) => sn === subjectNumberText);\n\n\t\treturn ordering > -1 ? ordering : false;\n\t}\n\n\treturn false;\n};\n\n/**\n * get the answer object ordering in `thisAnswerObj` array by keyname, `sbj_{NUMBER}`\n */\nexport const findOrderByKey = (keyname) => {\n\tlet returnOrder = false;\n\n\tif (objectSize(thisAnswerObj) > 0) {\n\t\tObject.values(thisAnswerObj).find((answerObject, index) => {\n\t\t\tif (Object.hasOwnProperty.call(answerObject, keyname)) {\n\t\t\t\treturnOrder = index;\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\t}\n\n\treturn returnOrder;\n};\n\n/**\n * find the specific option from an array or `thisSubjectObj` by option id (Number)\n *\n * It returns an empty object by default.\n */\nexport const findOptionObjectById = (optionId, optionArray = []) => {\n\tif (typeof optionId !== 'number') {\n\t\treturn {};\n\t}\n\n\tif (optionArray && optionArray.length) {\n\t\treturn optionArray.find(({ ID }) => ID === optionId) || {};\n\t}\n\n\tlet returnObj = {};\n\n\t/**\n\t * find in all survey subjects\n\t */\n\tthisSubjectsObj.find(({ options }) => (\n\t\toptions && options.length && options.find((option) => {\n\t\t\tif (option.ID === optionId) {\n\t\t\t\treturnObj = option;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t})\n\t));\n\n\treturn returnObj;\n};\n\nexport const receiveLoginMessage = (event) => {\n\tif (event.origin === serverDomain && event.data === 'login_reload') {\n\t\tsvConfig.leaveAlert = false;\n\n\t\twindow.top.location.reload();\n\t}\n};\n\nexport const runTimer = (timeString) => {\n\tlet nowTimer = parseInt(timeString, 10);\n\tconst theParSubject = $('.runTimerTarget').eq(0).parents('.subject-wrapper');\n\n\t/**\n\t * 預覽為一秒\n\t */\n\tif (svConfig.viewStatus === 'preview') {\n\t\tnowTimer = 1;\n\t}\n\n\ttheParSubject.removeClass('withtimer');\n\ttheParSubject.find('.video-timer-sticker').remove();\n\t$('.runTimerTarget').remove();\n\n\tconst setTimerArea = $('#counter-wrapper').find('.count-down-timer');\n\tsetTimerArea.text(nowTimer);\n\n\tif (variable.winW > 1024) {\n\t\t$('#counter-wrapper').css(\n\t\t\t'margin-right',\n\t\t\t-400 - $('#counter-wrapper').width(),\n\t\t);\n\t}\n\n\t$('#counter-wrapper').addClass('active');\n\n\t$('.page-control-wrapper')\n\t\t.attr(\n\t\t\t'title',\n\t\t\tsysLang.wording.str_countdown.replace('_{{sec}}_', nowTimer),\n\t\t)\n\t\t.tooltip('fixTitle')\n\t\t.tooltip('show');\n\tvariable.isrunTimer = true;\n\n\tvariable.runTimerInterval = setInterval(() => {\n\t\tif (nowTimer === 0) {\n\t\t\tsetTimerArea.text('');\n\t\t\t$('#counter-wrapper').removeClass('active');\n\t\t\t$('.page-control-wrapper').attr('title', '').tooltip('destroy');\n\t\t\t$('.timer-disabled').removeClass('timer-disabled');\n\t\t\t$('#submit-wrapper button').removeAttr('disabled');\n\n\t\t\tconst subject = thisSubjectsObj[\n\t\t\t\tfindOrderBySN(parseInt(theParSubject.attr('id'), 10))\n\t\t\t];\n\n\t\t\t/* eslint-disable no-underscore-dangle */\n\t\t\tsubject.__setPassTimer();\n\n\t\t\tif (subject.type === 'NEST' && subject.extras.child_sn) {\n\t\t\t\tsubject.extras.child_sn.forEach((sn) => {\n\t\t\t\t\tthisSubjectsObj[\n\t\t\t\t\t\tfindOrderBySN(parseInt(sn, 10))\n\t\t\t\t\t].__setPassTimer();\n\t\t\t\t});\n\t\t\t}\n\t\t\t/* eslint-enable no-underscore-dangle */\n\n\t\t\tclearInterval(variable.runTimerInterval);\n\n\t\t\tvariable.isrunTimer = false;\n\t\t\tvariable.needRunTimer = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tnowTimer -= 1;\n\n\t\t$('.page-control-wrapper')\n\t\t\t.attr(\n\t\t\t\t'title',\n\t\t\t\tsysLang.wording.str_countdown.replace('_{{sec}}_', nowTimer),\n\t\t\t)\n\t\t\t.tooltip('fixTitle')\n\t\t\t.tooltip('show');\n\t\tsetTimerArea.text(nowTimer);\n\t}, 1000);\n};\n\nexport const randomHash = (length = 13) => (\n\t/**\n\t * sometimes will get incorrect length hash\n\t */\n\t'X'.repeat(length)\n\t\t.replace(/X/g, () => (Math.round(Math.random() * 36).toString(36)))\n\t\t.substring(0, length)\n);\n\nexport const stripHtmlTags = (string) => {\n\tif (!string) {\n\t\treturn '';\n\t}\n\n\treturn string.toString().replace(/<[^>]*>/g, '').trim();\n};\n\nexport const toggleWebkitScroll = () => {\n\t$('body').on('focus', 'input, textarea', () => {\n\t\t$('body').css('-webkit-overflow-scrolling', 'auto');\n\t});\n\n\t$('body').on('blur', 'input, textarea', () => {\n\t\t$('body').css('-webkit-overflow-scrolling', 'touch');\n\t});\n};\n\nexport default 'COMMON';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/common.js","const config = {\n\twhostone: 'enterprise-whostone',\n\twowprime: 'enterprise-wowprime',\n\tstans: 'enterprise-stans',\n\tcrifccis: 'enterprise-crifccis',\n\tkingza: 'enterprise-kingza',\n\tcathaybk: 'enterprise-cathaybk',\n};\n\nexport const removeLogoBranches = [\n\tconfig.crifccis,\n\tconfig.kingza,\n];\n\nexport default config;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/enterprise/config.js","const throttle = (fn, delay) => {\n\tlet previous = null;\n\n\treturn function (...args) {\n\t\tconst context = this;\n\t\tconst now = +new Date();\n\n\t\tif (!previous || (now - previous) > delay) {\n\t\t\tfn.apply(context, args);\n\t\t\tprevious = now;\n\t\t}\n\t};\n};\n\nexport default throttle;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/utils/throttle.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/slider-gap-bg.png\n// module id = hECh\n// module chunks = 1 2","import { shortenDomain } from '../../appConfig';\nimport fetch from '../customFetch';\n\nconst checkShortenData = (token) => (\n\tfetch(`${shortenDomain}/${token}`, {\n\t\tmethod: 'HEAD',\n\t})\n);\n\nexport default checkShortenData;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/checkShortenData.js","import $ from 'jquery';\nimport he from 'he';\n\nimport { branch } from './appConfig';\nimport { variable, sysLang } from './appVariable';\nimport enterpriseConfig, { removeLogoBranches } from './enterprise/config';\nimport {\n\tinit as stansInit,\n\tchangeString as stansChangeString,\n\tbeforeShowPage as stansBeforeShowPage,\n\tafterShowPage as stansAfterShowPage,\n} from './enterprise/stans';\nimport {\n\tinit as whostoneInit,\n\tchangeQueryObject as whostoneChangeQueryObject,\n\taddSubjectType as whostoneAddSubjectType,\n\tautoSaveAnswer as whostoneAutoSaveAnswer,\n\tloginModule as whostoneLoginModule,\n\tchangeWelcomePage as whostoneChangeWelcomePage,\n\tchangeLastPage as whostoneChangeLastPage,\n\tsubmitHandler as whostoneSubmitHandler,\n\tleavePage as whostoneLeavePage,\n\treadEachTemplate as whostoneReadEachTemplate,\n} from './enterprise/whostone';\nimport {\n\thideLogo as wowprimeHideLogo,\n\tshowLogo as wowprimeShowLogo,\n} from './enterprise/wowprime';\nimport {\n\tsingleSubjectUI as cathaybkSingleSubjectUI,\n} from './enterprise/cathaybk';\nimport { acceptSbjType } from './constant';\nimport { arrInsertArr } from './array';\nimport { parseSubjectsToUI } from './draw';\nimport getSubjectGroup from './request/survey/getSubjectGroup';\n\nimport thankyouBannerSrc from '../images/banner/thankyou.jpg';\nimport endedBannerSrc from '../images/banner/ended.jpg';\nimport sorryBannerSrc from '../images/banner/sorry.jpg';\nimport timeoutBannerSrc from '../images/banner/timeout.jpg';\n\nlet subjectGroupData;\n\n/*\n * get subject group config\n */\nexport const getSubjectGroupJson = () => {\n\tif (!branch.startsWith(enterpriseConfig.whostone)) {\n\t\treturn;\n\t}\n\n\tgetSubjectGroup()\n\t\t.then((json) => {\n\t\t\tsubjectGroupData = json;\n\t\t})\n\t\t.catch((err) => console.log(err));\n};\n\n/*\n * merge subject group to survey data\n */\nconst addTemplateIntoSbj = () => {\n\tconst templateInsertPos = [];\n\n\tif (variable.surveyData.subjects !== null && variable.surveyData.subjects.length) {\n\t\t$.each(variable.surveyData.subjects, (sbjkey, sbjval) => {\n\t\t\tif (sbjval.type !== null && sbjval.type.indexOf('HOTAITEMP') !== -1) {\n\t\t\t\ttemplateInsertPos.push({\n\t\t\t\t\tPOS: sbjkey,\n\t\t\t\t\tTEMPTYPE: sbjval.type,\n\t\t\t\t\tTrequired: sbjval.required,\n\t\t\t\t\tTmaxtimes: sbjval.maxtimes,\n\t\t\t\t});\n\n\t\t\t\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\t\t\t\twhostoneReadEachTemplate(sbjval);\n\t\t\t\t}\n\n\t\t\t\tsbjval.indent = -1;\n\t\t\t\tsbjval.type = 'STATEMENT';\n\t\t\t}\n\t\t});\n\n\t\tif (templateInsertPos.length) {\n\t\t\ttemplateInsertPos.reverse();\n\t\t\t$.each(templateInsertPos, (index, value) => {\n\t\t\t\tconst inserted = subjectGroupData[value.TEMPTYPE];\n\n\t\t\t\t$.each(inserted, (a, b) => {\n\t\t\t\t\tb.required = value.Trequired;\n\t\t\t\t\tb.maxtimes = value.Tmaxtimes;\n\t\t\t\t});\n\n\t\t\t\tarrInsertArr(variable.surveyData.subjects, value.POS + 1, inserted);\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const extChangeDocumentTitle = () => {\n\tif (/^enterprise/.test(branch)) {\n\t\tdocument.title = he.decode(variable.surveyData.title);\n\n\t\treturn;\n\t}\n\n\tdocument.title = `${he.decode(variable.surveyData.title)} » SurveyCake`;\n};\n\nconst removeLogo = () => {\n\t$('#footer-logo .surveycake-logo').remove();\n};\n\nexport const extIniCustomer = () => {\n\tif (branch === enterpriseConfig.wowprime) {\n\t\twowprimeHideLogo();\n\t}\n\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneAddSubjectType();\n\t} else {\n\t\tacceptSbjType.push('PROFILE01');\n\t}\n\n\tif (removeLogoBranches.includes(branch)) {\n\t\tremoveLogo();\n\t}\n};\n\nexport const extChangeQueryObject = () => {\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneChangeQueryObject();\n\t}\n};\n\nexport const extPreDoneLoading = () => {\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneAutoSaveAnswer();\n\t}\n};\n\nexport const extPreDrawSurvey = () => {\n\t/*\n\t * login before answer survey\n\t */\n\tif (variable.surveyData.regneed === 'Y') {\n\t\twhostoneLoginModule();\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nexport const extAftDrawWelcomePage = () => {\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneChangeWelcomePage();\n\t}\n};\n\nexport const extPreIniSbjObj = () => {\n\t/*\n\t * TODO: move to another function\n\t */\n\tif (branch === enterpriseConfig.stans) {\n\t\tstansChangeString();\n\t}\n\n\taddTemplateIntoSbj();\n};\n\nexport const extPreParseSubjectsToUI = () => {\n\tif (branch === enterpriseConfig.stans) {\n\t\tstansInit();\n\t}\n\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneInit();\n\n\t\treturn;\n\t}\n\n\t/*\n\t * whostone will call parseSubjectsToUI by its initial\n\t */\n\tparseSubjectsToUI();\n};\n\nexport const extPreShowPage = () => {\n\tif (branch === enterpriseConfig.stans) {\n\t\tstansBeforeShowPage();\n\t}\n};\n\nexport const extAftShowPage = () => {\n\tif (branch === enterpriseConfig.stans) {\n\t\tstansAfterShowPage();\n\t}\n};\n\nexport const extAftDrawLastPage = (ele, pageName) => {\n\tif (ele) {\n\t\t/**\n\t\t * using default banners\n\t\t */\n\t\tif (!variable.surveyData.thankyoubanner) {\n\t\t\tconst theBanner = ele.find('.banner');\n\t\t\tconst theImage = new Image();\n\t\t\tconst errorFunction = () => {\n\t\t\t\ttheBanner.addClass('_load');\n\t\t\t};\n\n\t\t\ttheImage.onerror = errorFunction;\n\t\t\ttheImage.onabort = errorFunction;\n\n\t\t\ttheImage.onload = () => {\n\t\t\t\ttheBanner.addClass('_load');\n\t\t\t};\n\n\t\t\ttheImage.src = {\n\t\t\t\tthankyou: thankyouBannerSrc,\n\t\t\t\tended: endedBannerSrc,\n\t\t\t\tsorry: sorryBannerSrc,\n\t\t\t\ttimeout: timeoutBannerSrc,\n\t\t\t}[pageName];\n\t\t\ttheBanner.html(theImage);\n\t\t}\n\n\t\tif (variable.surveyData.lastbtn !== 'REMOVE' && !variable.surveyData.gotourl) {\n\t\t\tele.find('#survey-close-btn').remove();\n\t\t}\n\n\t\tif (branch === enterpriseConfig.wowprime) {\n\t\t\twowprimeShowLogo();\n\t\t}\n\n\t\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\t\twhostoneChangeLastPage(ele, pageName);\n\t\t}\n\n\t\tif (removeLogoBranches.includes(branch)) {\n\t\t\tremoveLogo();\n\t\t}\n\t}\n};\n\nexport const extSubmitHandler = () => {\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\twhostoneSubmitHandler();\n\t}\n};\n\nexport const extPreLeavePage = () => {\n\tif (branch.startsWith(enterpriseConfig.whostone)) {\n\t\treturn whostoneLeavePage();\n\t}\n\n\treturn sysLang.wording.confirm_leave_sv;\n};\n\nexport const extAftSingleSubjectUI = (element) => {\n\tif (branch.startsWith(enterpriseConfig.cathaybk)) {\n\t\tcathaybkSingleSubjectUI(element);\n\t}\n};\n\nexport default 'Welcome to SurveyCake enterprise';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/customize.js","import $ from 'jquery';\nimport svConfig, { pageSNArr, pageConfig, thisOptfromMap, variable } from './appVariable';\nimport { findOrderBySN } from './common';\nimport { moveActionFromTemp, interActionCleanOpt, handleInteractionList } from './interaction';\n\n/* -------------------------------------\n --------- Option from action --------\n------------------------------------- */\nexport const optfromActionObj = function (orderT, actype, optID) {\n\tthis.orderT = orderT;\n\tthis.actype = actype;\n\tthis.optID = optID;\n};\n\nexport const addRedrawList = (theSN) => {\n\tif (svConfig.layout === 'BROCHURE' &&\n\t\t$.inArray(theSN, pageSNArr[pageConfig.now]) === -1) {\n\t\treturn;\n\t}\n\n\tif ($.inArray(theSN, variable.redrawSbjList) === -1) {\n\t\tvariable.redrawSbjList.push(theSN);\n\t}\n};\n\nexport const makeOptfromActionObj = (sbjOrder, theOptObj, isSelected, isTemp) => {\n\tif (thisOptfromMap[sbjOrder] && thisOptfromMap[sbjOrder].length) {\n\t\tthisOptfromMap[sbjOrder].forEach((subjectNumber) => {\n\t\t\tconst theOrder = findOrderBySN(subjectNumber);\n\n\t\t\tif (theOrder !== false) {\n\t\t\t\tif (isTemp) {\n\t\t\t\t\tvariable.tempOptfromActionList.push(\n\t\t\t\t\t\tnew optfromActionObj(theOrder, 'REMOVE', `opt_${theOptObj.ID}`),\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tvariable.optfromActionList.push(\n\t\t\t\t\t\tnew optfromActionObj(theOrder, 'REMOVE', `opt_${theOptObj.ID}`),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\taddRedrawList(subjectNumber);\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport const handleOptfromActionList = () => {\n\tvariable.tempOptfromActionList = [];\n\n\tconst mapFunction = (theObj) => {\n\t\tif (theObj.actype === 'REMOVE') {\n\t\t\tinterActionCleanOpt(theObj.orderT, theObj.optID);\n\t\t}\n\t};\n\n\twhile (variable.optfromActionList.length) {\n\t\t$.map(variable.optfromActionList, mapFunction);\n\n\t\tvariable.optfromActionList = [];\n\t\tmoveActionFromTemp('optfromAction');\n\t}\n\n\tvariable.optfromActionList = [];\n\n\tmoveActionFromTemp('interAction');\n\tif (variable.interActionList.length) {\n\t\thandleInteractionList();\n\t}\n};\n\nexport default 'OPTION_FROM_ACTION';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/optionFromAction.js","module.exports = \"data:image/png;base64,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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-icons_222222_256x240.png\n// module id = iL39\n// module chunks = 1","import { fileDomain } from '../../appConfig';\nimport fetch from '../customFetch';\nimport { handleErrorRequestInText } from '../handleErrorRequest';\n\nconst getDat = (filename) => (\n\tfetch(`${fileDomain}/referral/${filename}.dat`)\n\t\t.then((res) => handleErrorRequestInText(res))\n);\n\nexport default getDat;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/getDat.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport svConfig from '../../appVariable';\nimport handleErrorRequest from '../handleErrorRequest';\nimport fetch from '../customFetch';\nimport getCsrfTokenFromCookie from '../../getCsrfTokenFromCookie';\n\nconst postAnswer = (ansData) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/submit`, {\n\t\tmethod: 'POST',\n\t\tbody: (() => {\n\t\t\tconst body = new FormData();\n\n\t\t\tbody.append('ansobj', JSON.stringify(ansData));\n\t\t\tbody.append('csrftoken', getCsrfTokenFromCookie());\n\n\t\t\tif (svConfig.reCaptcha.enable) {\n\t\t\t\tbody.append('re_captcha', svConfig.reCaptcha.token);\n\t\t\t}\n\n\t\t\treturn body;\n\t\t})(),\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default postAnswer;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/survey/postAnswer.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAQAAABFnnJAAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAP+Hj8y/AAAXhklEQVR42u1d3Y9kx1X/3Ts923fW7t0d0+tEltxrz4IM9ivKksjhJdYGUPywSInGlpEsFIeVQI5AKA/wAg9jIdlIIF5g/eBIKBJIPCMh8ZYHwh8QQMJrMrb48ibeeOMws96dPjzU/aiqe05V3Xu7p3u66nc10933VJ36+lXdunXqIyMkxIx81RFIWC0SASJHIoCJHBRXnkSVWC9ynAA4iSlXFp3U1defHH37tar4tyBRoNK8+jQuELn1y5U4qi8XfPVH9k9l6Lnoxhd2VYj9UqCKf15SwKV5g9qI3Pg+vAHcGqCh8lvVwz6p6e8XyJBhDmCODJlD85A0rh2yujJUSazqgQQCWtmjQ+nJevmvapkUvi9sGhj3UM2+NJ4hNDx2N4Dh+uQ66H98qNBdRejWMqxuuh5BuuZh7cyaIevcY3LXIlcdbILqW3f8Gtx10x13dxvYaPa1M2cK3QngBq08a3Kc9CaY+xFUaV59GheIRRPgrCPHySYVrx+JAJFjQ15mEvoiESByJAJEjkSAyJEIEDkSASJHIkDkSPMBbL+rjv8po8t8gLAZAT5jTO6cD+AOwV88Q+YD+M3hKu4bRZJu8wHCLGDuLJQLaEv4HqrbV/w+7SfWp6x9Y2YDtOcDKMij4ZUrl71Nlvt8h8wHcMXOHbrfvxtU6q4+NwLmfADuu4l5UCvAu/HXz5D5AK76FxY3mT7knW3QJaQzgT7GIJfBdd3nA7jI5Wt/qpQnc7ADq8+cofMBVh3/U0YyB0eOjenNJvRDIkDkSASIHIkAkSMRIHIkAkSORIDIMVp1BNYOtMJR/uFjpZ3jPxrmfSmZsMoYkDcG/U1Bfp8rSLn5CCDAaesP2R+Aeki6om8Yvviros+cWvzk6Os7LAUhrjr4zQ0HvuRnAQmQ/WcBGRSSBHIYe0Lilzlk5me3MCqJPwfcKXQTiDy+AV8lNuKvPwJCky/N1vFnUraABp6clkjfU3RIDKj2nbFSPXQulKp6yXEgh9ytu0mduxroscyArp1ACqg9Plch7OxXx8MKNwvQ7iqgEL19c8BVBUN0+/OgJe/yGtg0cSGueJm7CfQz2K3D18SGNdG+GuQLPaQT2Rd+ivvlRgxsc3DsbwFnO/wer5FpPkDkSCOBkSMRIHIkAkSORIDIkQgQORIBIkciQOQwF4dWm6WuDv79wJebG/4cCLGI9vPnWxsdGkrHJDff1MKokO3e+2XA4tBPly/mYTng2mq2scblnX0rO2V1yWnIe+cAWbEsf1Y4Yb51TYKcfJ+Zs2tCOF1hW0PI8Q/LASmM3Fpem3fy3aTA1wINW5reWqBrDgWHbKfuW4ItLRANm0njj4Gkx7+Fuz/mYRvS8za3dtFmlty3sLwpHG59Ihma3QZjyWCdtd10ZZOcBPP51a5DWe2/b0vQ+OXCP2FiIcdhaOjdDTaNLykPQttgCVvMNy+6EWBIBvizvyo216EyjZ5+4Q+lgBz6VimtnuB8IbjCz2pzdSZIXZqbvRtc65vtWHacD+DKALMD40q+O3KuJLp06EnzT/viisBPQFcK5tYGEvPOGsLgKt55fexNWCzRtQ8QZqsm7xYR7qfgEN9h2cunI+wZPHxKm0tP/0Nt/H0AFmk+gA43ATcSiQCRIw0FR45EgMiRCBA5EgEiRyJA5EgEWDTO2GuVPR/A7162V4UkPR9o7142hscu8wx2r1na2/MB3K5li3nIKGFlsdsKWGAqY+jiKvfy8My7/NVfwJJ/l/YVoRkI0qPl3+23PdioL43sd/p36EAzIA+k+s3NmehOvyuZe12LRylIGp7SUwHfmEuTDtz2qubR0GfSgqo5/mlT8h4GhFBbX9bhLhcuF75/ZfNaoiko01DY3SKtDliX5wP4kKGx5fVbQN24GboFRb9ww1wM2eNjCWgIoBsK+3DYd5KA39g69OmYaS0I30KYn5yLxdRiLgSz9VibdkJvqud1pLgGXDXwaroXj7lzPkCItd+/PYQbzVwAfkqFO+ubh5C8u0jlMuso1V30nVCzFPDWQKkbA4QYS6VO4CKMrWGzFvt2NEM6kXDE4AweJpPMwSbWpmk+LSQCRI40FBw5EgEiRyJA5EgEiByJAJFj/QiwZtayTUf4dvGmNaz5zrvzSSUXmTYeuUys/oDLNUG37eLDTDFDWpU53MOxekz7ShU26ATwITAzwT1K7R7trswwGeaCLaFqN/i1e0p7XruYC/4BCiCqvLzUtYI5QjRFZW733kZjD5e2TK8KTppa5q7T83Kqhuy7CZ0P35xRYGsJ2z4iOlR9gCbL3Dte+yxZVfEv58ybZmOETPAnbapeTWZr5Bt0BPwQVASostY1ZQrQD03gMfxIFFdNJSueptam+9mO4Untqopl6gQC0N8C9CyTNxjxn3oReqyEJCdh5nHVrvC78pvxGT5vJxq09wcIW7nebub9O9S4pDC6fSHtSBZ0r4J/B6FIEX5gROg4wFDQkrpr4dtHRIV1mw+wrOJPELBuBEg4ZaTRsMiRCBA5EgEiRyJA5NgkAhS1JaBYUgi+TSjPIBQBpmXGHWDaW9PnMWy3e8INTUP3QixwVH8/Yn0Xg+lxDnPMcU6MgS/2o1IqHdgry30+gc9YlzuEupTUayDhOXwAYIw7muOG6dP6/mX8UFDdrKu7ituesUBTu8IMH2pFCFzB+0bmHlnud3DcQW7GkIvdCA+M39t4aMX3HI6RA5ijwKeO9cF8GL7dxE03WbBEd9HkvC+N9dB5xagPAAA/Eh4JdxiCvIE/hISrQgT0pag2DvHrkHEEtbGEwgkIR0YIR9gxKLBjyf14YKW9PTPpGDkyKGpJj85bAIBvMJLQ2Aw5fN4NneLU3FT4pE42H+UPAPwUnwSdpXG7V/Su4EOn/LKxBcVlo60CgGONAlztt9fncgXSpF7aHyGH+8T1mw6ZuwV0m+MzRks3glfFfxEf67f1Ojl3Gkh/CirdVBfPxxy548AUuRt1iF91JuAuLteZcxl3GRfH2AHAFb+ZYfJ+51v1xbkpcIIJJviJ8IR/G828qLdZFzva3+miKv7PYoSLpiAMqvjd8B3OXtHtASvztQANBfjib+IgdfLG1mfbb/XUH7HS+yhwDKDAfcZiQQBe036/1vNtwd/Q+1w8gf9q3VN5fhVjAD8CAFxQgvDXwHbx2wlUdT/ztgB8uL4WANjGXVzGZdzFNisv8ABTTPGgZz8/x7nyaqcgxzYIJyhQIANh25lzO0LhX9D+JAyfy/CfbN4BwG2M8D9lTH6iBKEtQEg0/GT61OHS1wJs4wFQ1v0HDAUKQ85R4FHrk9Ov2o/jOssa6TH0tusYBe6LcT1Cf/jnKbld8BNmH5bpU/2zuvhdBNCfU+1Gp138XzAy5AuMRjdz3W8BO8xrXhe5Srb5aWdRNdXsqPUKCKZXcdzqpvk6ecD/an9tXMGh9r2fCxkPa4prxb9O5uACwOPa7w+FrtxyQQBT/IvUrrCa0cQRHpjFv04ESFgJNskWkNADiQCRIxEgciQCRI5EgM3C83i+mwd7dbB/YbaMkJM3w1CwFvUdzZbdfsufgozLntmwZ8n3mHB1a/loCXIA+GVP/kww6Z1vGb6L73rLb4YZZvUvLU8yIiqoIKKMrNyiA8pI4RqNaUrUckF0g/aIiGiPblhyBQReBet+p76rsNMKn2ivvtr+2wCTBqIxjWm8JHnlBgSatSQTojKXMyKaWNKsTCHK1GWM7jeJiOhNZ+7OytTPaEQgmAGorOcoQJR7ss+Xvarofq78e1bMoIJAUyIqBP0QQvAVMBHoLwj0DoH+rPzdjuO4lIwdcjjlGWWUCfIq+2c065yDFfZY+V7L9x4b/pSIZpQRVQRsGqp5PZx6hJ1eG7WYG09zeAT3cQmf4GfwMS6zLgoc4TJ+KJp0h+CP8Dv4b7yKf8c3zdEwA2osvXDKZYuiciHl3awcyj1kpbmRa1LvjJ9t8QRz5z3G3e8CeBRPAmh2eyAQ6Ebd8FLZCtzo3ALoDZzUAjxLRL9IRM+zNaQgYmv/olqAmwT6FoFepYwJf9vTAlRyOOVyCzAzYmc/AiZarBUmndL3JUP2JSYHRzRqh24HUZREaGf/IghwnrboCRqVf12KH0bIEgEyorIAOPk3iOjr5d9vt+RV+qRneCMvPHLef/PsVdeoIwEyMtHuA7hKR6efcd9WoH+asoymhJpDE8aFmwAF2ehS/Hby3ATg5SP6FuV0QDn9Hp2z5Fut2I0WKm+KH+JlFnHmlEvSN8uOoC2fUfXsPzAlujGominHzZgLPY6p8t/9ZVJFRH727+D/jN/nLQMwlU/RHJVFXN6/AOUz0JaO6xkLfOyGyDOQNdOZ18HHr7qjegncCuqLuIOfx3sA9vBvuGzO/MMMh3gOn+DQ9tt0AvUpiX0K8Kqh+KqYDS7trq7fEc5rFDjfsv9v4wHmaLqf24zc/G3Dt2nMEPkVb/EDF3Cv7AjmmLOzFkijuI05niznGbyHJ9mYfL+Mh4FQc/DYMf8lYZGYAI53lP5QQz8tCqb5AJEj2QIiRyJA5EgEiByJAJEjPgIoszFncp3UoyPbnbVWIJyxXrVOgHGdAePe+mhlWZCBsF9+3xdHGq6Vi0rvtShwAffwOB7HNrbxKbMHgMqdZ8XwCzwGwiN4BITHGGOSe/sKezaDPZ+hLfe5aO/0YI0B23fHRHRAU5rSu9QYPbgBWTgu8rrof83KeI3ZIVWFfQLte8fDR+xQcVZfvC1jn6ZlDGbMcLh7oFvXzxuS3Xf02PF61AB5UVpzwKavuVcbq3QHapR4n4jeFQtxlQSoRtP5MKpibz7bGq45iogcv9SdKYGIJrVNn4udmwC6PaRohVeUdytrh+0bxiyKNgGU1r16bgBHgK36YggwLbNxn53x4yMAebPAX7hu/2NNxrVQ+5qcK/7MqV//PWJCv176OmCL366jPAHk8BupVL8rG6cyyUFsARQBeAqPqaCitlcyBNgvs46f8uVjuNtFNylPIJ9NzVX7mxlPCrY98+tENCovouuMhkltsuXCH0qAypyc1/9t31X7NSWikdACyPlXUFP/CyK6pu43Q8GE27iKl/A3AA7wB949brrugUOdpFwIY81UxK3NfQV/XX//U/y+pWuuLSDlzDJj3NB+/V1rfaAeusolO/3mjKiMket3ybJG2m8eDyy5OV/oJfytFYayN6rJskfMdv5KpgxiD7XcNRrYd2lKUzqg9ewEVrWPD+OVuvYrvGX5Lcp6n4n6m/ZhxIa+T88SlfVwn5Grz1xoAeyJNnb9PUfnrP/u9qN7H2BadhGLMjdAMCeENM9YqfjX/y3gLQK9xTaxXLNvX/u0R3vsdCqUvhWFOAr4OpH63VHLxbTVgE8tn6PW1a0PQDStL4EAobVwVQRwX5lW698ie06Mqh0hqZPir1qWdymjqjvZ9nuFzlPuyCUiCMWH8h2hqp92O9UmiE2RqVOqp85IYzIH68jxawD+XpjYMcOj+Fc0O42ZW0L45/OYuxkuY95zDyQCRI74bAEJBhIBIkciQOSwCTAV9wvfxct1h/Jl7K464gmLgUmA13EHd/A64+4ZfITv1L++g4/wzKqjnrAQaO+Ju/U74q71BrlrvD1KrkCgW0R0S3zP/sfAARkEuDj965b2Fn1r5bFZ0KX/eJ0qm9PrlrOvsgT4KqPQPRDUGoYQi58jiX95lc+FT050qx4uukX943+GrmYcYBcfoVna9ZixIbO8g327QeHv637mHhcT3ANg7WhZL60GIKyx8bmY4RC7+BgXcVfQELahuy+FZwpNH+A3yoRl2q82fCfmXIW0LKzyPwfwBiOZ1J9c8Ztr6vn19YcAriDHFcHFIXbxYxB+jF1BAyBt9L6xqFqAKtsb6AVgMt9VDya41yo6HQTg2/jNVptS+ZOK3187q+WhJLYxzbG0Wctc22h/u9703dZQ4Kikx2vrMpC7AFhPN/s79+wb8iQk4pY2VxMtmk/X81c2tagl0DPBBdGl8tslh4ZbYhgb3Amc1AnLNLtzUwxfYQnwFUYh333zXxMtc3n/+v4as14uZkR0iTK6JGpwk8xPwTN4cUlrJ/IiK70oZqEcoCx11X6zgFf3FqDcrLzQFk+AW2wB61nwVEv6lFiMrhbARY++rcfpXhtGgHBz8ASfxz+U37+Mf1rKGvazgP4baa4l0nyAyJGsgZEjESByJAJEjkSAyJEIEDkSAWxMQL2lZxA6AQgHnsMKCIs6EmJVuGGsAGyjbRQLl55NWKN0RAeO0TjdGmBLKn+ZqGFCB6UhaEIHDg0glMubTPmeoUk6sME1GD3xDDZPAnxXObD+Y5ZBF599UhG6CKD7a2fzpPYzKVfYuzXIBJD8hxDAJXUbetrSDRkSlhLJnzjhI4Aqwua3KQWhLjyfBokAsn8/AboWsSzlN2A4k5dUBJvYAiyOANhkAmxyH8B3RdgHMM8LeAN/4rTyuU4UWH/oby5S7FU/v5/0TCJZA21McM9RxG7pGUQiQORII4GRIxEgciQCRI5EgMiRCBA5bAKQdrB4QgRoCJDhFwAAn8VIeNNVQ0fXNus9OHZUBMgwxyvld+ns8AIX8GV8D/OAAyXs4YU9awRy75TlCRLKHNsnol8hENHnSO2LK40eZ869hJtRed/v4lTl6RKuqlCJ3iEQ6HM0IdA7JJ1OvU8jUkZZedNl6bwK93kXGVGAnALkRNK5HOlqXWoouMARfgn/XDcL1/A9ZgX8GJ/BIYBtnGCO5/AvYqPCbVY+suQn1mbnWzjBFipjU4aHlnyEh+WfesDw/k8wwkNstfwnCFB9gPsAbmp3b5b3TNzH+8gB/DEIL+H7rD7ZtLBVXyNs4aTc2b7BCGOMMCpdPGzJtzAu/7YwEv0rN5z/BB5lU3BAzaLpGbVOma8fASjPq5AOlZHmy+yRib1TlqfL+QiozsP4Nv4SN/Eq+BM5mtkAFwDGLEr1HtrtR0DCmqIxB4/xW/hzAMA38VfpsPhYkOYDRI5kC4gciQCRIxEgciQCRI6GAL7zAIbKJ7hey68zi1CXLV92+lYt74tS5zNk4xljwGCo3LfN3LLly07fquW9L/WxSxya8wCGyi+y8ounJl92+lYtH3CpR8ALdYOg7wb+AvNNhy1/uvSb4WlL/kVNP5i7X+TUC/Ksh/8XWP9c+nzp1+Pf3f/byDQXkn+XXI8FXyodoQaCfLuB+84LaE4JeArAD2CfG7AY/SH+/fp1F139Z+AXmFGH36RpacvVVvu3xfyr7qojKBcw3K4TwDSvtiPgkwNP4wcAnsJ/ODNYyiC//ozVFloAfv1uAgzPn6y+30++gyOt+BdCgNFwFRrm2v/uIG+L4EamfeujIdM++/inAL8+M9nPOmQ7ODaKfyFY9CNgBuB99H8EDG/i5fi1NfRrwl36w1oQXwslhb+DY6P4F9ACqE7gi6zsReabS/4UgEMclt90+dc0X8Tc/Zom9cnhlIOVm/Gn1t0XDYlP3jd/qvRRb/mRUfx8qF0RxWvYstO3avngcYDNH4hZ9UDUsuWDCQCa0PVa+XVmA5Sh8l16uZa/zAxiLFu+7PStWt7zShNCIkeyBkaORIDIkQgQORIBIkciQORIBIgcujEo/PD09ZQn9IBpDWzaA96iN1SesHZoPwKGFd3cq2FYzc0Ga0gwYBPAV4BzzJ3yHHNnv8JXgPqUKA7U09afICBnfudO97lTPkfuJAjBPWGitFCISOuOF4w84E5XfW4Nw+qvj0AJHWF2An3P/6HyhLVDsgZGjjQQFDkSASJHIkDkSASIHIkAkSMRIHKcXQLkaUBoETAJMHycjVCAUJxCvNXOwgkDYRJgq/xbNXy1WxV/GndcAEwCnJR/q46Tu3an4l8gQlsAQt766wZmVZIQI7XtO5zyeeoDLAamMegEmbUPf4WM+euGsO3bq+LfcsrnqQ+wKJgEcLUAW3XRVH/dGuH2pgZtEuWafo5iZvGnh8ACsE4tQCr+FSC0BRiOY6+LbsWfC+4SOiG0BTgNuFoXrvhTH2ABMCeE5N45fasClY2+/ZkwEGlGUOQ4u7aAhIXg/wH+AmuGTrVw9gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMy0wMi0wMVQwNTozMzoxMC0wODowMClgwJIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMDItMDFUMDU6MzM6MTAtMDg6MDBYPXguAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAABJRU5ErkJggg==\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-icons_ffffff_256x240.png\n// module id = jX96\n// module chunks = 1","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\n\n/**\n * get decrypt Hash & IV\n */\nconst saveLog = (svid, token) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/referral/logger`, {\n\t\tmethod: 'POST',\n\t\tbody: (() => {\n\t\t\tconst body = new FormData();\n\t\t\tbody.append('svid', svid);\n\t\t\tbody.append('filename', token);\n\n\t\t\treturn body;\n\t\t})(),\n\t})\n);\n\nexport default saveLog;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/saveLog.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkEAIAAACY3hF0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dE////////CVj33AAAAIZJREFUKM/lkDEKwlAQRB9TWgs2sU3O4h3MIXKIpLT+pEvASvASFh5GEKzNZiw+QW+gYPV4O7MsLPZjc7QA4I9woxW4n5OAPtKHdVFg369pJaCZBoGbGAXUUynwfqoEzrYM66hyVgrYPU/vvaXZxCBwG9tso8D5Ol0UAs7zWuCLD9//0k/jBeblP4lxsnwaAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjM0OjAzLTA4OjAwNv7B6AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozNDowMy0wODowMEejeVQAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png\n// module id = lYKq\n// module chunks = 1","import $ from 'jquery';\nimport { serverDomain } from './appConfig';\n\n/* -------------------------------------\n ----------- Video Player ------------\n------------------------------------- */\nexport const createYoutubePlayer = (id, autoPlay = false) => ``;\n\nexport const createYoutubeTumbnail = (id) => (\n\t`https://img.youtube.com/vi/${id}/mqdefault.jpg`\n);\n\nconst toggleYoutube = (id, state) => {\n\tconst youtubeIframe = document.getElementById(`youtube-${id}`);\n\n\tif (youtubeIframe) {\n\t\tconst youtubeIframeCont = youtubeIframe.contentWindow;\n\n\t\tif (youtubeIframeCont) {\n\t\t\tyoutubeIframeCont.postMessage(\n\t\t\t\t`{\"event\":\"command\",\"func\":\"${state}\",\"args\":\"\"}`,\n\t\t\t\t'*',\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const stopOtherPlaying = (id) => {\n\tconsole.log(`/// stopOtherPlaying 除了 #${id} 以外的`);\n\n\tconst needStopVideoSbj = $('.withplaying').not(`#${id}`);\n\n\tif (needStopVideoSbj.length) {\n\t\t$.each(needStopVideoSbj, function () {\n\t\t\t$(this).removeClass('withplaying');\n\n\t\t\tconst needStopVideo = $(this).find('.video-iframe');\n\n\t\t\tif (needStopVideo.length) {\n\t\t\t\t$.each(needStopVideo, function () {\n\t\t\t\t\ttoggleYoutube(\n\t\t\t\t\t\t$(this).parents('.video-block').attr('youtubeid'),\n\t\t\t\t\t\t'pauseVideo',\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default 'VIDEO_PLAYER';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/videoPlayer.js","/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-options.js\n// module id = nErl\n// module chunks = 1 2","import projectConfig from '../../config/project.json';\nimport websiteJson from '../../config/website.json';\n\nexport const apiDomain = process.env.DEV ?\n\t`http://${window.location.hostname}:${websiteJson.port.apiProxyServer}${projectConfig.server.apiPath}`\n\t:\n\t`${projectConfig.server.api}${projectConfig.server.apiPath}`;\n\nexport const apiVersion = 'v1';\n\nexport const assetsDomain = process.env.DEV ?\n\t`http://${window.location.hostname}:${websiteJson.port.assetsProxyServer}/assets`\n\t:\n\t`${projectConfig.server.main}/assets`;\n\n/**\n * server domain (include protocol)\n */\nexport const serverDomain = projectConfig.server.main;\n\nexport const {\n\t/**\n\t * data folder url path\n\t * local storage request like a api\n\t */\n\tremoteBucket,\n\tremoteCdn,\n\t/**\n\t * is this server allowed to connect external network ?\n\t */\n\texternalNetDisabled,\n\t/**\n\t * third party keys\n\t */\n\tga: gaId,\n\tamplitude: amplitudeKey,\n\tgoogleRecaptchaKey,\n\tfileuploadEnable,\n\tdefaultLanguage,\n} = projectConfig.config;\n\n/**\n * setup branch from process.env\n */\nexport const branch = process.env.BRANCH || '';\n\nexport const fileDomain = (() => {\n\tif (!remoteBucket) {\n\t\treturn process.env.DEV ?\n\t\t\t`http://${window.location.hostname}:${websiteJson.port.assetsProxyServer}/s3`\n\t\t\t:\n\t\t\t`${projectConfig.server.main}/s3`;\n\t}\n\n\treturn remoteBucket;\n})();\n\nexport const imageDomain = (() => {\n\tif (!remoteBucket) {\n\t\treturn process.env.DEV ?\n\t\t\t`http://${window.location.hostname}:${websiteJson.port.assetsProxyServer}/s3`\n\t\t\t:\n\t\t\t`${projectConfig.server.main}/s3`;\n\t}\n\n\tif (!remoteCdn) {\n\t\treturn remoteBucket;\n\t}\n\n\treturn remoteCdn;\n})();\n\nexport const fileUploadConfig = {\n\tkey: projectConfig.amazon.fileuploadKey,\n\tsecret: projectConfig.amazon.fileuploadSecret,\n\tbucket: projectConfig.amazon.fileuploadBucket,\n\tregion: projectConfig.amazon.fileuploadRegion,\n\tfolder: projectConfig.amazon.fileuploadFolder,\n};\n\nexport const shortenDomain = 'https://s3-us-west-2.amazonaws.com/shorten.surveycake/u';\n\n/**\n * website url link\n */\nexport const customerWebsite = projectConfig.website;\n\n/**\n * nothing\n */\nexport default 'APP_CONFIG';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/appConfig.js","export const handleErrorRequestInText = (response) => {\n\tif (response.status >= 400 && response.status < 500) {\n\t\treturn response.text().then((json) => Promise.reject(json));\n\t}\n\n\treturn response.text();\n};\n\nconst handleErrorRequest = (response) => {\n\tif (response.status >= 400 && response.status < 500) {\n\t\treturn response.json().then((json) => Promise.reject(json));\n\t}\n\n\treturn response.json();\n};\n\nexport default handleErrorRequest;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/handleErrorRequest.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAABGdBTUEAAYagMeiWXwAAAM9QTFRFIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xIo7xhfEHmwAAAER0Uk5TAAIBCBSFOVEHBBcqDSIeA5oMDhESGgUWBjwJPjeLJZOfkAoPgHqDNGh2YENmZGty+lgV3EZcjB9MWm4nvFUQICk2SCM3Z35MAAAAAWJLR0QAiAUdSAAADvlJREFUeNrtXQtj1LgRlh972SXeRwmXAg1tCn1dr9feHhzlcoWUMv//N1WSH5qHLK3xxusk+gJJxpIlzeeRNCPJG6USEhJmgAyyUzfhxPrDzBkY3bwMwvpnmAGTeVpCmAWCASWAt4ekm9QMXwEQFUCgAna//XVSk+AWKAnIeHtIOn+CggB+u6xAZM4mZEC0369CIF0yqFjucOm+zFkw01EhLFg2kT9gaSHBJywtINCA6S3AT4poYogAcTcIEwmUzkxw+jHgAD7udBbgXWj6WeDkeOyOUEJCQkJCQsKMceee4In9oExEa8Cd94zfwbOTAD8TFYTWA8SCkC59Uko8DRAEiAw8Ow0XM1EBJyAQXZrSpwyGRPv9LQ4ke1ZUssDtKrIECJaAyZYDpAUrn82SaO2A9YCMlhbqUae2AC+yQIvHrwfIHnLSMSCOhz4LJCQkJCQkJCScDuMc/6hrGi1/dOAxsgCQ26kwIPfo9snjAKJBkdIgfEWqx5JBZqG3Q1+av4JgAzyp4fp9JYQIEumiMKGBrA5YIvQktoyK8tgN0Jd4QP0yXIYYAXIBCMIaxG8PZKEKNrnZmhXNzgsM8ufNETShYAdSPgthjHtuD5tovIYh6kX7uOcMEYTTIyWyxwHRBxKpAJS3zv7UU88Cd3x/fJpMSEhISEhIeKwYfyx1pJuReU6j9xfp80OjW1WR6oc14KAKwvG82Fv1NAClK7w5dYBXZzL3Byfg3d6XjRRF9tfviW+5AqGywftQET8Kb0/K1noOu2dBAiJnw5XXzEIMBPnLPMs9keUHEs624XB7QeydMwsS4bAnGhevbKgDGuBP9TLMSuf3e2yg/3ZBgGiBbB5N510sToC/Ab2P8KBkETD3E+DdW5c79L0PQHQB1kWiXcDfy7PeHILh4OEAmcdjYIoWoMQOfYQANgiyVDEsxVZweP2eZxRO9reih8BDgveIBcjM814POPX7MQkJCQkJCbPG3c7i0lFhr8p67jiuYxEvDoZlH6g/yCs4+vPegVk7aL+cacwzQ68odnbCG1/DAeK0OPUd673JwNvhEVffkwGEwopEn0FCwF/mWAL63++2SYHPB/CtZ9D9atHeUHDQ3gt9tx+dgDbc7CMg84TDsumBeEqm+3angaVCODMckYLM00IR7gI2UQj2YU9pfEEkeGbFSwDvEkcP79ygZhYTRHRG3+/3pDPB1+0xIYKfCCExwseDruiI6JS9MRKJXmOHgGLrD+H1oweIh65fQkJCQsLDRn7PJzKP2wGh7SruDX+N/nPaCvBus1DvK4/uBkLOCg2KSs1qM0QcXVYoXjGq5pCjYIjGdznUFuDyK+8WuCBwLt0GZPTCj9dr/Ul0RgiAmgQSz3IR65vBvAjwbL9LgnImcwLwT+WJ3dC1rOtic+kCB1iAyE9PbNQE9VgAP6/Q0j0b/YWOYgxgObwrNLmzEj4GeA7IzMb8XZuIhH/0DPkof+5XCDy/GUz4WZkDGJB0DHtIfA4MIZshAWMxRP+EhISEhMeFwvgJxYAbco3JWlfqxi3KUI5vIp4bnNWuUp+KBU8uYnwsAZaiAHTHSosr1SPzRPWkAbuhVQnOq6pEzp79nRBi3aK1PP3ciptGww3Rt2sxl8XO1qpJb1udLyHPYZmTBigRTPCztl6hvrD21dgFaVVV5TUYIQtCAGIAbG5X4xkhQBe91ehcaWgtoG+/G5rq3fpCnmUFYAJ2u134DQyFCVARAlaEQFs9uqAJyTAhdQ5KOCWAWQCUgH6YipsxAFADSYvr6hEB2Wr1G0JAluHT314DgF4T5QQY/Z9iAqhJgdYfJEVIYR3IGvRawNaoDuXWrQMU1v47AnKrLtDiXIG6C1xc4C6wM6Oi/t7dUNivryTA6P/k2dN+AjJ2wTZwixRWsFqt+scA2GoGtP6YAPuvI8AOgoiArbm7y6+yehDMmDroBkmAeEVDMQK+xesT680T/b3qI4BXaPQ1KrvyLy8v0RqosIBiW5b6m+sCVu4n4LJGcyFbwmq5LGCJ3xFCXUhf+K39wvrmnICcEQDEAtZO/wABXXHPLZjJuZmaW0CxtWgfkZDBjLElkD65XHazwLKtf4mrIw2SBMS6AE6vx8Cqy9wRUND6uuJqPwC+UT1gFhCbBuv2rOkaTOGmbpAKRwa9Da5eXuAEWAYqdTwUxcZiiK/HOaSuSzw7jFpWWh1V/4SEhISEmePFi3B6DsF1bQDf0UeGwoW7L+009bIVy2bebmPsdSOvu3tr12R1sKzU71h7quC85tFPT9s4vUDR58J4RlfLEgU7usnrs86R81JRuOsvG1e8ZUDfbMB2mqhnszSu4MFy/Tw6DSrjzOXd3J4bbtdY51cAr5j+xlHqFiCMY+4YgMzviKFwHn6vv85xgwr9nAuUn+wN8thC/UFdqz/i+HaphSWRFZV1OIhk0/7Npq+B0Dj7jdwaHLI43dhN7lzHesWii64kASwcBvV6+2b7bIuWjQpt3wVuT5CAP8Gf9ddfsILG9Wfyc0KAwgRsaAMbZz731/eiFdE4sIDzjeagFs7aFZuzPgKaUQBZwDn8FV64Bmn90ZJd3AL+pr5Tf3eMXjILuGQWcMksYENiD90D6kGqi29Zfd/X0vddA20wj2MHMGMAWp+IEvB6++1Kf/n1bzx1TEBeLyq18j/gB/31T3RigvRxKxdMRum2/2q0XZgT0EZ3OWkQsx+FQUd5yEsaL3ECCsYw0787EUEJQPLqu2yR/as18W1b3OoweUOfnhJdoJGx+OqVk43td+udXgIUgzkjlKv+RUlgi9wvmwa7WcAcMVJ9XcJ0d1ZcWFZMfxnA51h/9eZHPfytf3zTEaD7fx64Xyi6FoMoXWQVi/zMD+DL3kz2fQJMSN5w/fk0qOpDXS7Z7gg8qbr7QZRAsFT3ENWAAJ/4QAkJCQkJJ0CJF6aNKweXoex3fLTQbkUEZz8Y04Ic9vr7Hk/NV4Bczafw00/aPe+8Hd2cc3x/8Qxev4ZnnbPBzluUrR9TMplf6II37jctYVGWbwkD4Q8Xi2Gjy1qiaBM0A3vuja+c51VvRTtXdF/qAjYiuFE4v+ccKt3LdXm061joYMdtDtYJLrgyjvEe3npOy34lAcbVQncY3e3/LsOVz/V07SkVVBu8s8MJIEdGwC5GoQMPuaqXKnLnaxdmPQYRYPfqcIV7w3ofATy8lOqy9Hp3z1nU3spO/xw8BLjN13c6aYHcVbEeQe+vd9vRAzeBp47nFLaA9RqfV18WhQkvHQFaf4WWwDjjPFjwi8zEsbu5Z/rXT7AdA36w28/wrstQVeT+GAH2j9WZf22yMbASVsgCWPRa79VedQW+Na1bHI8AbgE/W/k91d8puNxbrOjtjjAPAchy2t37bv++5WffOwYUZr+aDIJvy3JxxEGQjQE/N2PA+7Z+/fBJOFrgWNEMgudwhRgwBWWIgHbxptXv+fPmHzOQ3jGgLAwhBWaAT4PHngXeq/c4/ueh2369dgtWegTU/3LHAB8k619X7QU+DXYWseoZA6A0wAT4nuEYAhhy++zft36A54wgHWG1tbzN0Xt6AP9+ndGPdVH4yIqeFMwDbY1quB9wemQfPuBFj825UUZzQNqLGixOTiYkJCSMQom2udTFL2aI+eXi1I2aEDcAN53wazvq/nrqZk2GC6PuBRbqucfZwA52+Ib/eJwZdbyTZzvL/250OQfjxgRQrQl8dAR87HIwt8HnR1SOErH1wC9wGXZmTt8Fy79DXNQKX6DKuesh2pPzC5UzisjBTSN/yj/R3VlR3ZQE3IANoW9I5bQNa7wxVuvvthcrqr/v6O4m32D9Pulvn0iG3QkJqNrnXfUTULEuD3Cd4zSsv4+AnJiMjQpyEk4TAgrY7XbTebpO4X4C5D1If607GRRHW8C0g6A1gPqdGKvDB0fAB5SpCheA00ePAdNGa3zQe+PENzgTu4kxQPgZPQsoNeEQuHMK1y24bcVbrCMfA7BUHf/0+UmD9eqdUf/dSY/Uz2m1IiEhISEh4Y5RQUi8a8CCzfkHvSExBmdnXH8IiHdPADAKCAE2LccZqkVuvpEMJmRu5XWdqT+8rZjvXIlksDtkExJAKaAE1Gldm+3j0erxDIQAnC4J4MGiXAygh3EnIQAfBuYE2OWPppH2xwK3ucmACVh4dIprTMRj/v2AgwiY0AIOImBiC5h2DOA4+Rgw8Swg1ztOPAvMAKf1AxISEhISHjfgUb9Hlf9XwecVOrupvZSrR/Q5ueY9UvhcofcZlmZnQLxA0fom/PMPhsqzwx7+pwlQ6HSyYWUhGOBvlrrz+sPkuSGHa6U+V+oav229X+mIlr5fi164YC9k5CBkEDLkc/0zJO25+Sv3hJYbMKftyYs7iAD7ukW27c7nZ5Bl5kIrb82X+/w9k66vZNuZEmAtQOMaP3EzLuzJ6WREwPPm0+WKr5Nnh4WdAzfozIsORktYlT0EPLhBcAlwfXWNh/16OcKFpHDkv3A5Nyxv9PO5uZdvzSckJCQkjAZ/PyAm80NUQ+Wh9Y2VY+DvB8RkfoxuqDy0vrFy9PlDh4tDZH6Qcqg8tL6xchT8/YCProBWvjW+4W0j10dpbfqHTgYuq970jy79Y2/9CoLpO2Uv4HTF26/w+w4hgKsAOrktRDW7wbe3eHc4ll+mi/xui9yXjnfP/D+BtEd9+fJF0fa4V4wPIID84pFN771lDcYNEvmVUCicnxEQbY9q//fIBZCPuBxPwAZ9Bp2HAN/PIQpF6/dYSMgCTNxdwAAC4l3AfPrWEBOPdRGIERjsUorl57JmoOjyR8HfD/AMau0g6AYxPkgBl/sHVe8gyevngyxNb/npk6H5iIoPBxEw9TQ2dhodKscxtSMz1pEaKscxtSs71pUeKickJCQkJCQE0DgOdybPHsD/mlxMfoAEQJgA+4UVVGECFP+jh/NG8wcAAzIjCNpvfTL783dzR7KARz8GPPZZICEhISEhIeHYyO6PJxA9BQnF8IOuGfv7QHNGpiJtPYAA/rzvk/7HsACu773Sn1qAPd5uv3oI6PbeqL6EQ3P3gx0DihZUf/zEa/3vjw2MtYA6//3Vf6wF3Hv9x84CPfo/2DEgAqf//bGBqAUMgdG7/Z+QMHP8H7vLaDNSgsf6AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEzLTAyLTAxVDA1OjMzOjEwLTA4OjAwKWDAkgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0wMi0wMVQwNTozMzoxMC0wODowMFg9eC4AAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAAElFTkSuQmCC\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-icons_228ef1_256x240.png\n// module id = oUAU\n// module chunks = 1","export const lengthOfDecimals = (number) => (\n\t(number.toString().split('.')[1] || []).length\n);\n\nconst math = (number1, operator, number2) => {\n\t/**\n\t * number1 and nunber2 maybe as zero\n\t */\n\tif (number1 === undefined || number2 === undefined || !operator) {\n\t\treturn null;\n\t}\n\n\tconst dividendDecimal = lengthOfDecimals(number1);\n\tconst divisorDecimal = lengthOfDecimals(number2);\n\tconst biggestDemical = dividendDecimal > divisorDecimal ? dividendDecimal : divisorDecimal;\n\tconst multiplier = 10 ** biggestDemical;\n\n\tif (operator === '+') {\n\t\treturn ((number1 * multiplier) + (number2 * multiplier)) / multiplier;\n\t}\n\n\tif (operator === '-') {\n\t\treturn ((number1 * multiplier) - (number2 * multiplier)) / multiplier;\n\t}\n\n\tif (operator === '*') {\n\t\treturn ((number1 * multiplier) * (number2 * multiplier)) / (multiplier * multiplier);\n\t}\n\n\tif (operator === '/') {\n\t\treturn ((number1 * multiplier) / (number2 * multiplier));\n\t}\n\n\tif (operator === '%') {\n\t\treturn ((number1 * multiplier) % (number2 * multiplier)) / multiplier;\n\t}\n\n\treturn null;\n};\n\nexport default math;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/math.js","import { apiDomain, apiVersion } from '../appConfig';\nimport svConfig from '../appVariable';\nimport handleErrorRequest from './handleErrorRequest';\nimport fetch from './customFetch';\n\nconst getServerTimeString = () => (\n\tfetch(`${apiDomain}/${apiVersion}/s/visit/time?svid=${svConfig.surveyId}`)\n\t\t.then((res) => handleErrorRequest(res))\n\t\t.then((res) => (res.status && res.data))\n);\n\nexport default getServerTimeString;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/getServerTimeString.js","import $ from 'jquery';\nimport autosize from 'autosize';\n\nimport { customerWebsite } from './appConfig';\nimport svConfig, { pageConfig, sysLang, urlQueryObject } from './appVariable';\nimport { getSortLimit, afterSort } from './action';\n\nimport sliderGapBackground from '../images/slider-gap-bg.png';\nimport errorImage from '../images/status/error.png';\nimport notfoundImage from '../images/status/notfound.png';\nimport offImage from '../images/status/off.png';\nimport overloadedImage from '../images/status/overloaded.png';\nimport privateImage from '../images/status/private.png';\n\n/* -------------------------------------\n ---------------- UI -----------------\n------------------------------------- */\nconst doResizeVideo = (target) => {\n\tconst thisW = parseInt(target.width(), 10);\n\n\ttarget.find('.video-thumbnail')\n\t\t.css({\n\t\t\twidth: thisW,\n\t\t\theight: parseInt((thisW * 356) / 640, 10),\n\t\t});\n};\n\nexport const resizeVideoBlock = (ele) => {\n\tconst totalVideoBlock = ele ? ele.find('.video-block') : $('#survey-form .video-block');\n\n\tif (totalVideoBlock.length) {\n\t\t$.each(totalVideoBlock, function () {\n\t\t\tdoResizeVideo($(this));\n\t\t});\n\t}\n};\n\nexport const resizeMtop = (ele) => {\n\tif (ele && svConfig.layout === 'BROCHURE' && pageConfig.mode !== 'manual') {\n\t\tconst theH = ele.height();\n\t\tconst containerH = $('#container').height();\n\n\t\tif (theH < containerH) {\n\t\t\tele.css('margin-top', (containerH - theH) / 2);\n\t\t}\n\t}\n};\n\nconst doResizeRatingBar = (target) => {\n\tconst ratingH = parseInt(target.find('.rating').eq(0).width(), 10);\n\n\ttarget.css({\n\t\theight: ratingH,\n\t\t'font-size': `${ratingH - 2}px`,\n\t});\n};\n\nexport const resizeRatingBar = (ele) => {\n\tif (ele) {\n\t\tconst target = ele.find('.ratingbar-wrap');\n\n\t\tif (target) {\n\t\t\tdoResizeRatingBar(target);\n\t\t}\n\n\t\treturn;\n\t}\n\n\tconst totalRatingBar = $('#survey-form .ratingbar-wrap');\n\tif (totalRatingBar.length) {\n\t\ttotalRatingBar.each(function () {\n\t\t\tdoResizeRatingBar($(this));\n\t\t});\n\t}\n};\n\nconst doResizeLevelW = (target) => {\n\tconst levelNum = target.find('.level').length;\n\n\ttarget.find('.level')\n\t\t.width(\n\t\t\tparseInt(\n\t\t\t\t(\n\t\t\t\t\t(parseInt(target.width(), 10) - 1) - (levelNum * 2)\n\t\t\t\t\t-\n\t\t\t\t\t((levelNum - 1) * 8)\n\t\t\t\t) / levelNum,\n\t\t\t\t10,\n\t\t\t),\n\t\t);\n};\n\nexport const resizeLevelW = (ele) => {\n\tif (ele) {\n\t\tconst target = ele.find('.level-wrap');\n\n\t\tif (target) {\n\t\t\tdoResizeLevelW(target);\n\t\t}\n\n\t\treturn;\n\t}\n\n\tconst totalLevelWrap = $('#survey-form .level-wrap');\n\tif (totalLevelWrap.length) {\n\t\ttotalLevelWrap.each(function () {\n\t\t\tdoResizeLevelW($(this));\n\t\t});\n\t}\n};\n\nexport const autoTextArea = (ele) => {\n\tautosize(ele.find('.subject-answer .type textarea'));\n};\n\nexport const createSliderUI = (theSlide) => {\n\tconst theSlideInput = theSlide.find('.slide-input');\n\tconst theSlideMin = parseFloat(theSlideInput.attr('min'));\n\tconst theSlideMax = parseFloat(theSlideInput.attr('max'));\n\tconst valueLength = [0, 0, 0];\n\tlet theSliderStep = theSlideInput.attr('step');\n\tlet drawBg = true;\n\n\tif (!theSliderStep) {\n\t\tdrawBg = false;\n\t\ttheSliderStep = (theSlideMax - theSlideMin) / 100;\n\t\ttheSlideInput.attr('step', theSliderStep);\n\t} else {\n\t\ttheSliderStep = parseFloat(theSliderStep);\n\t}\n\n\t/**\n\t * overwrite valueLength\n\t */\n\t$.each([theSlideMax.toString(), theSlideMin.toString(), theSliderStep.toString()], (i, j) => {\n\t\tif (j.indexOf('.') !== -1) {\n\t\t\tif (j.indexOf('.') > valueLength[0]) {\n\t\t\t\tvalueLength[0] = j.indexOf('.');\n\t\t\t}\n\n\t\t\tif ((j.length - j.indexOf('.') - 1) > valueLength[1]) {\n\t\t\t\tvalueLength[1] = j.length - j.indexOf(\".\") - 1;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (j.length > valueLength[0]) {\n\t\t\tvalueLength[0] = j.length;\n\t\t}\n\t});\n\n\tvalueLength[2] = valueLength[1] > 0 ? valueLength[0] + valueLength[1] + 1 : valueLength[0];\n\n\ttheSlideInput.slider({\n\t\tcreate: () => {\n\t\t\ttheSlideInput.next('.ui-slider-track')\n\t\t\t\t.find('.ui-slider-handle')\n\t\t\t\t.removeAttr('href');\n\n\t\t\tif (theSlideInput.val() === '') {\n\t\t\t\ttheSlideInput.next('.ui-slider-track')\n\t\t\t\t\t.find('.ui-slider-handle')\n\t\t\t\t\t.attr('aria-valuenow', '?');\n\t\t\t}\n\n\t\t\tif (valueLength[2] > 2) {\n\t\t\t\ttheSlideInput.next('.ui-slider-track')\n\t\t\t\t\t.find('.ui-slider-handle')\n\t\t\t\t\t.css({\n\t\t\t\t\t\twidth: (valueLength[2] * 10) + 12,\n\t\t\t\t\t\t'margin-left': `${(((valueLength[2] * 10) + 12) * -1) / 2}px`,\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (drawBg) {\n\t\t\t\tconst gapPercentage = (100 / (theSlideMax - theSlideMin)) * theSliderStep;\n\t\t\t\tlet posX = 0;\n\t\t\t\tlet bgImageStr = '';\n\t\t\t\tlet bgPosition = '';\n\n\t\t\t\twhile (posX < 100 - gapPercentage) {\n\t\t\t\t\tposX += gapPercentage;\n\t\t\t\t\tbgImageStr = `${bgImageStr}url(${sliderGapBackground}),`;\n\t\t\t\t\tbgPosition = `${bgPosition}${posX}% 0px,`;\n\t\t\t\t}\n\n\t\t\t\ttheSlideInput.next('.ui-slider-track')\n\t\t\t\t\t.css(\n\t\t\t\t\t\t'background-image',\n\t\t\t\t\t\tbgImageStr.substring(0, bgImageStr.lastIndexOf(',')),\n\t\t\t\t\t);\n\t\t\t\ttheSlideInput.next('.ui-slider-track')\n\t\t\t\t\t.css(\n\t\t\t\t\t\t'background-position',\n\t\t\t\t\t\tbgPosition.substring(0, bgPosition.lastIndexOf(',')),\n\t\t\t\t\t);\n\t\t\t}\n\t\t},\n\t});\n};\n\nexport const createSortDragUI = (ele) => {\n\tconst dragSortElem = ele.find('.drag-sort-block');\n\tconst dragSortID = dragSortElem.attr('id');\n\n\tif (dragSortID) {\n\t\tconst sortableEle = `#${dragSortID} .choosen-wrapper`;\n\t\tconst chkNeedSortItem = getSortLimit(dragSortElem);\n\t\tconst needSortItem = chkNeedSortItem !== false ? chkNeedSortItem : 0;\n\n\t\t$(`#${dragSortID} .option-wrapper .option`).draggable({\n\t\t\tconnectToSortable: sortableEle,\n\t\t\thelper: 'clone',\n\t\t\trevert: 'invalid',\n\t\t});\n\n\t\t$(sortableEle).sortable({\n\t\t\trevert: false,\n\t\t\titems: '.option',\n\t\t\tplaceholder: 'sortable-placeholder',\n\t\t\taxis: 'y',\n\t\t\treceive(event, ui) {\n\t\t\t\tconst thisDragSubject = $(sortableEle).find('.ui-draggable');\n\t\t\t\tconst totalCount = $(sortableEle).find('.option').length;\n\n\t\t\t\tif (totalCount <= needSortItem) {\n\t\t\t\t\tui.item.addClass('put-to-sort');\n\t\t\t\t\tthisDragSubject.attr('id', ui.item.attr('id'));\n\t\t\t\t\tthisDragSubject.append('
');\n\t\t\t\t} else {\n\t\t\t\t\tthisDragSubject.remove();\n\t\t\t\t}\n\n\t\t\t\tif (totalCount >= needSortItem) {\n\t\t\t\t\t$(this).addClass('FULLEDSORT');\n\t\t\t\t} else {\n\t\t\t\t\t$(this).removeClass('FULLEDSORT');\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeactivate() {\n\t\t\t\tafterSort($(this));\n\t\t\t},\n\t\t\tstart: (event, ui) => {\n\t\t\t\tui.placeholder.html(\n\t\t\t\t\t$(sortableEle).find('.option').length > needSortItem ?\n\t\t\t\t\t\tsysLang.wording.opt_fulled\n\t\t\t\t\t\t:\n\t\t\t\t\t\t'',\n\t\t\t\t);\n\t\t\t},\n\t\t}).disableSelection();\n\t}\n};\n\nexport const showErrorInfo = (errorData) => {\n\tif (errorData) {\n\t\t$('#errorinfo').find('.errorinfo-title, .errorinfo-content, .errorinfo-img')\n\t\t\t.text('');\n\t\t$('#errorinfo').find('.errorinfo-title')\n\t\t\t.text(errorData.title);\n\n\t\tif (errorData.content) {\n\t\t\t$('#errorinfo').find('.errorinfo-content')\n\t\t\t\t.html(errorData.content);\n\t\t}\n\n\t\tif (errorData.pic) {\n\t\t\tconst statusImage = {\n\t\t\t\terror: errorImage,\n\t\t\t\tnotfound: notfoundImage,\n\t\t\t\toff: offImage,\n\t\t\t\toverloaded: overloadedImage,\n\t\t\t\tprivate: privateImage,\n\t\t\t}[errorData.pic];\n\n\t\t\t$('#errorinfo').find('.errorinfo-img').html(``);\n\t\t}\n\n\t\t$('#errorinfo').css('display', 'block');\n\t}\n};\n\nexport const hideErrorInfo = () => {\n\t$('#errorinfo').find('.errorinfo-title, .errorinfo-content, .errorinfo-img').text('');\n\t$('#errorinfo').css('display', 'none');\n};\n\nexport const updateUISetting = () => {\n\tif (urlQueryObject.bgurl) {\n\t\t$('body').css('background-image', `url('${urlQueryObject.bgurl}')`);\n\t}\n\n\tif (customerWebsite) {\n\t\t$('#footer-logo .surveycake-logo, .errorinfo-logo a').attr('href', customerWebsite);\n\t} else {\n\t\t$('#footer-logo .surveycake-logo, .errorinfo-logo a').removeAttr('href');\n\t}\n\n\t$('body').addClass(`${svConfig.viewStatus}-mode`);\n};\n\nexport default 'UI';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/ui.js","import { variable } from '../appVariable';\n\nconst translateKeys = [\n\t'title',\n\t'welcometext',\n\t'thankyoutext',\n\t'legaltext',\n\t'sorrytext',\n\t'endedtext',\n\t'gotourltxt',\n];\n\nconst translate = (json) => {\n\tif (!json) {\n\t\treturn;\n\t}\n\n\ttranslateKeys.forEach((key) => {\n\t\tvariable.surveyData[key] = json[key];\n\t});\n\n\tif (!variable.surveyData.subjects) {\n\t\treturn;\n\t}\n\n\tvariable.surveyData.subjects.forEach((subject) => {\n\t\tif (!json.subjects[subject.ID]) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (subject.text) {\n\t\t\tsubject.text = json.subjects[subject.ID].text;\n\t\t}\n\n\t\tif (subject.descpt) {\n\t\t\tsubject.descpt = json.subjects[subject.ID].descpt;\n\t\t}\n\n\t\tif (subject.unittxt) {\n\t\t\tsubject.unittxt = json.subjects[subject.ID].unittxt;\n\t\t}\n\n\t\tif (!subject.options || !json.subjects[subject.ID].options) {\n\t\t\treturn;\n\t\t}\n\n\t\tsubject.options.forEach((option) => {\n\t\t\toption.text = json.subjects[subject.ID].options[option.ID];\n\t\t});\n\t});\n};\n\nexport default translate;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/feature/translate.js","import { apiDomain, apiVersion } from '../../appConfig';\nimport fetch from '../customFetch';\nimport handleErrorRequest from '../handleErrorRequest';\n\nconst encrypt = (svid, token) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/referral/encrypt`, {\n\t\tmethod: 'POST',\n\t\tbody: (() => {\n\t\t\tconst body = new FormData();\n\n\t\t\tbody.append('svid', svid);\n\t\t\tbody.append('token', token);\n\n\t\t\treturn body;\n\t\t})(),\n\t})\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default encrypt;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/referral/encrypt.js","/* -------------------------------------\n --------------- Array ---------------\n------------------------------------- */\n/**\n * This function changes the `originalArray` directly, but it's not recommended.\n * Get the returned value from this function.\n */\nexport const arrInsertArr = (originalArray, startIndex, itemArray = []) => {\n\t/**\n\t * there is no value to be inserted\n\t */\n\tif (itemArray.length === 0) {\n\t\treturn originalArray;\n\t}\n\n\toriginalArray.splice(\n\t\t/**\n\t\t * start\n\t\t */\n\t\tMath.min(startIndex, originalArray.length),\n\t\t/**\n\t\t * deleteCount\n\t\t */\n\t\t0,\n\t\t/**\n\t\t * item1, item2, ...\n\t\t */\n\t\t...itemArray,\n\t);\n\n\treturn originalArray;\n};\n\nexport const arrRemoveIndex = (originalArray, itemIndex) => {\n\tif (itemIndex < originalArray.length) {\n\t\toriginalArray.splice(itemIndex, 1);\n\t}\n\n\treturn originalArray;\n};\n\nexport const arrAddData = (theArr, theData) => {\n\tif (!theArr) {\n\t\treturn [];\n\t}\n\n\t/**\n\t * if it exists, remove the old one\n\t */\n\tif (theArr.indexOf(theData) !== -1) {\n\t\ttheArr.splice(theArr.indexOf(theData), 1);\n\t}\n\n\t/**\n\t * put it at the last one\n\t */\n\ttheArr.push(theData);\n\n\treturn theArr;\n};\n\nexport const arrDelData = (originalArray, item) => {\n\tif (originalArray && originalArray.indexOf(item) !== -1) {\n\t\toriginalArray.splice(originalArray.indexOf(item), 1);\n\t}\n\n\treturn originalArray;\n};\n\nexport const rndOptsArr = (originalArray) => (\n\toriginalArray.sort((current, next) => {\n\t\t/**\n\t\t * nota always be the last one\n\t\t */\n\t\tif (current.nota === 1 || next.nota === 1) {\n\t\t\treturn current.nota - next.nota;\n\t\t}\n\n\t\t/**\n\t\t * elses is the one which before last\n\t\t */\n\t\tif (current.elses === 1 || next.elses === 1) {\n\t\t\treturn current.elses - next.elses;\n\t\t}\n\n\t\t/**\n\t\t * other options random sort\n\t\t */\n\t\treturn 0.5 - Math.random();\n\t})\n);\n\nexport const stringToArr = (theString) => theString ? theString.split(',') : [];\n\nexport default 'ARRAY_REF_FUNC';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/array.js","module.exports = __webpack_public_path__ + \"overloaded.47cbb7b4b7fa7.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/status/overloaded.png\n// module id = uJql\n// module chunks = 1 2","import 'font-awesome/css/font-awesome.css';\nimport 'vex-js/dist/css/vex.css';\n\nimport $ from 'jquery';\nimport ga from 'GA'; // eslint-disable-line\nimport amplitude from 'amplitude-js';\nimport 'bootstrap/js/tooltip';\nimport 'bootstrap-datepicker';\n\nimport '../css/library/jquery-ui.custom.css';\nimport '../css/library/vex-theme-custom.css';\nimport '../css/library/bootstrap.datepicker.css';\nimport '../css/library/bootstrap.tooltip.css';\nimport '../css/icon.css';\nimport '../css/common.css';\nimport '../css/font.css';\nimport '../css/component.css';\nimport '../css/universal.css';\nimport '../css/layout.css';\nimport '../css/feature/preview-answer.css';\nimport '../css/responsive.css';\n\nimport './library/jquery-ui.custom';\nimport './library/jquery.mobile.custom';\nimport { gaId, amplitudeKey } from './appConfig';\nimport svConfig, { sysAgent, variable, urlQueryObject } from './appVariable';\nimport { setLeavePageJS, receiveLoginMessage } from './common';\nimport { notfoundUI, eventTracking, setXssWhitelist, initialVex } from './initial';\nimport { drawMainPage } from './draw';\nimport { resizeRatingBar, resizeLevelW, resizeVideoBlock, updateUISetting } from './ui';\nimport { extChangeQueryObject, extIniCustomer } from './customize';\nimport getServerTimeString from './request/getServerTimeString';\nimport { putCsrfTokenToCookie } from './getCsrfTokenFromCookie';\nimport cookieSupport, { setCookieEnable, makeCookieRedirect } from './feature/cookieSupport';\n\nconst init = () => {\n\tconsole.log('------ init --------');\n\tconsole.log(`document.referrer: ${document.referrer}`);\n\tconsole.log(`window.location.href: ${window.location.href}`);\n\n\tif (urlQueryObject.cookie && (document.referrer !== window.location.href)) {\n\t\tsetCookieEnable();\n\n\t\tconsole.log(`Redirect back to: ${urlQueryObject.cookie}`);\n\t\twindow.location.href = urlQueryObject.cookie;\n\n\t\treturn;\n\t}\n\n\tif (!urlQueryObject.cookie && !cookieSupport()) {\n\t\tmakeCookieRedirect();\n\n\t\treturn;\n\t}\n\n\tif (gaId) {\n\t\tga('create', gaId, 'auto');\n\t\tga('send', 'pageview');\n\t}\n\n\tif (amplitudeKey) {\n\t\tamplitude.getInstance().init(amplitudeKey);\n\t\tamplitude.getInstance().setUserId(null);\n\t}\n\n\tif (window.addEventListener) {\n\t\twindow.addEventListener('message', receiveLoginMessage, false);\n\t} else {\n\t\twindow.attachEvent('message', receiveLoginMessage);\n\t}\n\n\tsetXssWhitelist();\n\n\tinitialVex();\n\n\tputCsrfTokenToCookie();\n\n\tif (sysAgent.isIE) {\n\t\t$('body').attr('browser', 'ie');\n\t}\n\n\t$('#survey-form').find('input[name=\"svid\"]').val(svConfig.surveyId);\n\n\tgetServerTimeString()\n\t\t.then((data) => {\n\t\t\t$('#survey-form').find('input[name=\"initime\"]').val(data.time);\n\t\t});\n\n\tvariable.rel = $('body').attr('rel');\n\tvariable.winW = $(window).width();\n\n\tif (variable.winW > 1024) {\n\t\tsvConfig.sortMode = 'dragIt';\n\t}\n\n\tsetLeavePageJS();\n\n\t$('.sv-tooltip').tooltip({\n\t\thtml: true,\n\t\tcontainer: 'body',\n\t});\n\n\t$('#container').css('min-height', $(window).height() - 200);\n\n\tif (urlQueryObject.status) {\n\t\tsvConfig.viewStatus = urlQueryObject.status;\n\t}\n\n\textChangeQueryObject();\n\n\t$(window).resize(() => {\n\t\tvariable.winW = $(window).width();\n\n\t\tresizeRatingBar();\n\t\tresizeLevelW();\n\t\tresizeVideoBlock();\n\t});\n\n\t$(window).on('load', () => {\n\t\teventTracking();\n\t});\n\n\tif (svConfig.surveyId) {\n\t\textIniCustomer();\n\t\tupdateUISetting();\n\t\tdrawMainPage();\n\t\treturn;\n\t}\n\n\tnotfoundUI();\n};\n\ninit();\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/index.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAABGdBTUEAAYagMeiWXwAAAM9QTFRF74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wI74wIQE28rAAAAER0Uk5TAAIBCBSFOVEHBBcqDSIeA5oMDhESGgUWBjwJPjeLJZOfkAoPgHqDNGh2YENmZGty+lgV3EZcjB9MWm4nvFUQICk2SCM3Z35MAAAAAWJLR0QAiAUdSAAADvlJREFUeNrtXQtj1LgRlh972SXeRwmXAg1tCn1dr9feHhzlcoWUMv//N1WSH5qHLK3xxusk+gJJxpIlzeeRNCPJG6USEhJmgAyyUzfhxPrDzBkY3bwMwvpnmAGTeVpCmAWCASWAt4ekm9QMXwEQFUCgAna//XVSk+AWKAnIeHtIOn+CggB+u6xAZM4mZEC0369CIF0yqFjucOm+zFkw01EhLFg2kT9gaSHBJywtINCA6S3AT4poYogAcTcIEwmUzkxw+jHgAD7udBbgXWj6WeDkeOyOUEJCQkJCQsKMceee4In9oExEa8Cd94zfwbOTAD8TFYTWA8SCkC59Uko8DRAEiAw8Ow0XM1EBJyAQXZrSpwyGRPv9LQ4ke1ZUssDtKrIECJaAyZYDpAUrn82SaO2A9YCMlhbqUae2AC+yQIvHrwfIHnLSMSCOhz4LJCQkJCQkJCScDuMc/6hrGi1/dOAxsgCQ26kwIPfo9snjAKJBkdIgfEWqx5JBZqG3Q1+av4JgAzyp4fp9JYQIEumiMKGBrA5YIvQktoyK8tgN0Jd4QP0yXIYYAXIBCMIaxG8PZKEKNrnZmhXNzgsM8ufNETShYAdSPgthjHtuD5tovIYh6kX7uOcMEYTTIyWyxwHRBxKpAJS3zv7UU88Cd3x/fJpMSEhISEhIeKwYfyx1pJuReU6j9xfp80OjW1WR6oc14KAKwvG82Fv1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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/jquery-ui/ui-icons_ef8c08_256x240.png\n// module id = xEt8\n// module chunks = 1","import $ from 'jquery';\nimport vex from 'vex-js/dist/js/vex.combined';\nimport xss from 'xss';\nimport FastClick from 'fastclick';\nimport { defaultLanguage } from './appConfig';\nimport svConfig, {\n\tsvEndConfig, sysAgent, urlQueryObject, variable, pageConfig,\n\tthisAnswerObj, sysLang, thisSubjectsObj, thisOptfromMap,\n} from './appVariable';\nimport {\n\tseparateOptionIdFromText, scrollToEle, runTimer,\n\tfindOrderBySN, findOptionObjectById,\n} from './common';\nimport { typeingElement, defaultInput } from './constant';\nimport { arrDelData } from './array';\nimport { updateSingleAns } from './initial';\nimport { checkMaxtimes, afterSort, getSortLimit } from './action';\nimport { validateSurvey, validateSingleEle, checkAnsCount } from './validate';\nimport { drawPublic } from './draw';\nimport { makeInteractionObj, interActionCleanSbj, moveActionFromTemp, handleMutipleLists } from './interaction';\nimport { makeOptfromActionObj, addRedrawList } from './optionFromAction';\nimport { createYoutubePlayer, stopOtherPlaying } from './videoPlayer';\nimport { UIrefresh, ansTagToUI } from './feature/portrait';\nimport getPrivateSurvey from './request/survey/getPrivate';\nimport { resetFileUploadUI } from './feature/fileUpload';\n\n/* -------------------------------------\n --------------- Main ----------------\n------------------------------------- */\nexport const setFastClick = () => {\n\tif (sysAgent.isIOS) {\n\t\tvariable.FastClickThread = new FastClick(document.body);\n\t}\n};\n\nexport const destroyFastClick = () => {\n\tif (variable.FastClickThread) {\n\t\tvariable.FastClickThread.destroy();\n\t}\n};\n\nexport const setPrivateJS = () => {\n\t$('input[name=\"sv-password\"]').keypress((e) => {\n\t\tif ((e.keyCode ? e.keyCode : e.which) === 13) {\n\t\t\t$('.btn-confirm-password').trigger('click');\n\t\t}\n\t});\n\n\t$('.btn-confirm-password').on('click', () => {\n\t\tconst userPassword = $('input[name=\"sv-password\"]').val();\n\n\t\tif (userPassword) {\n\t\t\tsvConfig.password = userPassword;\n\n\t\t\tgetPrivateSurvey(svConfig.surveyId, svConfig.password)\n\t\t\t\t.then(({ status, data }) => {\n\t\t\t\t\tif (!status) {\n\t\t\t\t\t\t$('.sv-password-info').text(sysLang.wording.str_sv_private_error)\n\t\t\t\t\t\t\t.removeClass('hide');\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t/**\n\t\t\t\t\t * @todo\n\t\t\t\t\t * Here need to be refactor, too easy to forgot to change.\n\t\t\t\t\t */\n\t\t\t\t\tvariable.surveyData = data;\n\t\t\t\t\tsvConfig.svStatus = data.status;\n\t\t\t\t\tsvConfig.theme = data.theme.toLowerCase() || 'surveycake';\n\t\t\t\t\tsvConfig.language = data.language.toLowerCase() || defaultLanguage;\n\n\t\t\t\t\tsvConfig.svStartTime = data.starttime;\n\t\t\t\t\tsvConfig.svEndTime = data.endtime;\n\t\t\t\t\tsvConfig.previewAnswer = data.preview_answer === 'Y';\n\t\t\t\t\tsvConfig.reCaptcha.enable = data.re_captcha === 'Y';\n\n\t\t\t\t\t$('.sv-password-info').text('').addClass('hide');\n\t\t\t\t\tdrawPublic();\n\t\t\t\t});\n\t\t}\n\t});\n};\n\nexport const progressUpdate = (percentage) => {\n\tsvConfig.finishedPtg = percentage;\n\t$('.sv-progress-bar-wrapper').find('.progress-bar')\n\t\t.css('width', `${svConfig.finishedPtg}%`);\n\t$('.sv-progress-bar-wrapper').find('.progress-number')\n\t\t.html(svConfig.finishedPtg);\n};\n\nexport const progressCount = (subjectNumber) => {\n\tif (subjectNumber) {\n\t\tlet theOrder = findOrderBySN(subjectNumber);\n\n\t\tif (svConfig.layout === 'BROCHURE') {\n\t\t\ttheOrder -= 1;\n\t\t}\n\n\t\tif (theOrder !== false && theOrder >= 0) {\n\t\t\tconst percentage = thisSubjectsObj[theOrder].progress;\n\n\t\t\tif (percentage > svConfig.finishedPtg) {\n\t\t\t\tprogressUpdate(percentage);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const portraitProgressCount = (subjectNumber) => {\n\tif (svConfig.layout !== 'PORTRAIT') {\n\t\treturn;\n\t}\n\n\tprogressCount(subjectNumber);\n};\n\nexport const setFulledUI = (ele, type) => {\n\tele.addClass('FULLEDUI');\n\n\tif (type === 'select') {\n\t\tele.attr('disabled', 'disabled');\n\t\tele.text(`${ele.text()}-${sysLang.wording.opt_fulled}`);\n\n\t\treturn;\n\t}\n\n\tif (type === 'radio' || type === 'checkbox') {\n\t\tele.find('.opt-text').attr('fullstr', sysLang.wording.alert.optionFulled);\n\t}\n};\n\nexport const resetSbjUI = (sn) => {\n\tconsole.log(`///// resetSbjUI: ${sn}`);\n\n\t/**\n\t * 用來復原UI\n\t */\n\tconst resetTarget = $(`#${sn}`);\n\tresetTarget.find('.option, .level').removeClass('active');\n\tresetTarget.find('.option')\n\t\t.find('.fa-check-square')\n\t\t.removeClass('fa-check-square')\n\t\t.addClass('fa-square-o');\n\tresetTarget.find('.option')\n\t\t.find('.fa-dot-circle-o')\n\t\t.removeClass('fa-dot-circle-o')\n\t\t.addClass('fa-circle-o');\n\tresetTarget.find('.option.else .else-wrap')\n\t\t.hide();\n\tresetTarget.find('.option[sortnum]')\n\t\t.removeAttr('sortnum');\n\tresetTarget.find('.option.put-to-sort')\n\t\t.removeClass('put-to-sort');\n\tresetTarget.find(typeingElement).val('');\n\tresetTarget.find('input[type=\\'file\\']').val(null);\n\n\tif (resetTarget.find('.choosen-wrapper').length) {\n\t\tresetTarget.find('.choosen-wrapper').removeClass('FULLEDSORT');\n\t\tresetTarget.find('.choosen-wrapper .option').remove();\n\t}\n\n\t/**\n\t * DIGITSLIDE subject type should reset slider handle\n\t */\n\tif (resetTarget.find('.ui-slider-track').length > 0) {\n\t\tresetTarget.find('.ui-slider-track .ui-slider-handle').attr('aria-valuenow', '?');\n\t\tresetTarget.find('.ui-slider-track .ui-slider-handle').css('left', '0%');\n\t}\n\n\tresetTarget.find('input[type=\"checkbox\"]').each(function () {\n\t\t$(this).prop('checked', false);\n\t\tvalidateSingleEle($(this));\n\t});\n\n\tresetTarget.find('input[type=\"radio\"]').each(function () {\n\t\t$(this).prop('checked', false);\n\t\tvalidateSingleEle($(this));\n\t});\n\n\tif (resetTarget.attr('sbj-type') === 'FILEUPLOAD') {\n\t\tresetFileUploadUI(resetTarget);\n\t}\n};\n\nexport const superResetSbj = (sbjSN, subjectId) => {\n\tconsole.log(`/// superResetSbj SN:${sbjSN}, ID:${subjectId}`);\n\n\t/**\n\t * 清空UI\n\t */\n\tresetSbjUI(sbjSN);\n\n\t/**\n\t * 清空答案\n\t */\n\tupdateSingleAns(`sbj_${subjectId}`, null, 'RESET');\n\tansTagToUI(sbjSN);\n};\n\nexport const optionExam = async (selectedOPTIONTYPE, selectedOPTION, cancelAns) => {\n\tlet removedOPTION;\n\n\tconst optID = selectedOPTIONTYPE === 'nest' ?\n\t\tseparateOptionIdFromText(selectedOPTION.find('input[type=\"radio\"]').val())\n\t\t:\n\t\tseparateOptionIdFromText(selectedOPTION.attr('data-id'));\n\tconst parentSubject = selectedOPTION.closest('.subject-wrapper');\n\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\tconst parentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\tconst parentAnswer = selectedOPTION.closest('.subject-answer');\n\tconst sbjOrder = findOrderBySN(parentSubjectSn);\n\tconst selectedOptObj = findOptionObjectById(optID, thisSubjectsObj[sbjOrder].options);\n\n\t/**\n\t * only works at CHOICEMULTI subject\n\t *\n\t * Remove disabled status of other options which is not `None of the above`\n\t */\n\tconst resetDisabledOptionStatus = () => {\n\t\tparentSubject.find('.option.-disabled')\n\t\t\t.removeClass('-disabled');\n\t};\n\n\tconst optionRemoveUI = () => {\n\t\tif (!removedOPTION || removedOPTION.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedOPTIONTYPE === 'checkbox') {\n\t\t\t/**\n\t\t\t * uncheck `None of the above` option, remove other disabled status\n\t\t\t */\n\t\t\tif (selectedOPTION.hasClass('nota')) {\n\t\t\t\tresetDisabledOptionStatus();\n\t\t\t}\n\n\t\t\tremovedOPTION.find('.fa-check-square')\n\t\t\t\t.removeClass('fa-check-square')\n\t\t\t\t.addClass('fa-square-o');\n\t\t\tremovedOPTION.find('input[type=\"checkbox\"]')\n\t\t\t\t.prop('checked', false);\n\n\t\t\tvalidateSingleEle(removedOPTION.find('input[type=\"checkbox\"]'));\n\t\t} else if (selectedOPTIONTYPE === 'radio') {\n\t\t\tremovedOPTION.find('.fa-dot-circle-o')\n\t\t\t\t.removeClass('fa-dot-circle-o')\n\t\t\t\t.addClass('fa-circle-o');\n\t\t\tremovedOPTION.find('input[type=\"radio\"]')\n\t\t\t\t.prop('checked', false);\n\n\t\t\tvalidateSingleEle(removedOPTION.find('input[type=\"radio\"]'));\n\t\t} else if (selectedOPTIONTYPE === 'nest') {\n\t\t\tremovedOPTION.find('input[type=\"radio\"]')\n\t\t\t\t.prop('checked', false);\n\n\t\t\tvalidateSingleEle(removedOPTION.find('input[type=\"radio\"]'));\n\t\t}\n\n\t\t/**\n\t\t * 更新答案\n\t\t */\n\t\tconst removedOPTIONID = selectedOPTIONTYPE === 'nest' ?\n\t\t\tremovedOPTION.find('input[type=\"radio\"]').val()\n\t\t\t:\n\t\t\tremovedOPTION.attr('data-id');\n\t\tremovedOPTION.removeClass('active');\n\t\tupdateSingleAns(`sbj_${parentSubjectId}`, removedOPTIONID, 'REMOVE');\n\n\t\tif (removedOPTION.hasClass('else')) {\n\t\t\tparentAnswer.find('.else-wrap input').val('');\n\t\t\tparentAnswer.find('.else-wrap').hide();\n\t\t\tupdateSingleAns(removedOPTIONID, null, 'WRITE');\n\t\t}\n\n\t\tconst removedOptObj = findOptionObjectById(\n\t\t\tseparateOptionIdFromText(removedOPTIONID),\n\t\t\tthisSubjectsObj[sbjOrder].options,\n\t\t);\n\n\t\tif (!variable.fillAnswerMode) {\n\t\t\tmakeOptfromActionObj(sbjOrder, removedOptObj, false, false);\n\t\t\tmakeInteractionObj(sbjOrder, removedOptObj, false, false);\n\t\t}\n\n\t\tportraitProgressCount(parentSubjectSn);\n\t\tansTagToUI(parentSubjectSn);\n\t};\n\n\tconst optionActiveUI = () => {\n\t\tif (selectedOPTION.hasClass('else')) {\n\t\t\tparentAnswer.find('.else-wrap')\n\t\t\t\t.removeClass('confirmed')\n\t\t\t\t.show();\n\n\t\t\tif (!variable.fillAnswerMode && !sysAgent.isMobile) {\n\t\t\t\tparentAnswer.find('.else-wrap input').focus();\n\t\t\t}\n\t\t}\n\n\t\tconst selectedOPTIONID = selectedOPTIONTYPE === 'nest' ?\n\t\t\tselectedOPTION.find('input[type=\"radio\"]').val()\n\t\t\t:\n\t\t\tselectedOPTION.attr('data-id');\n\t\tselectedOPTION.addClass('active');\n\n\t\tif (selectedOPTIONTYPE === 'select') {\n\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, selectedOPTIONID, 'WRITE');\n\t\t} else if (selectedOPTIONTYPE === 'radio') {\n\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, selectedOPTIONID, 'WRITE');\n\n\t\t\tselectedOPTION.find('.fa-circle-o')\n\t\t\t\t.removeClass('fa-circle-o')\n\t\t\t\t.addClass('fa-dot-circle-o');\n\t\t\tselectedOPTION.find('input[type=\"radio\"]')\n\t\t\t\t.prop('checked', true);\n\n\t\t\tvalidateSingleEle(selectedOPTION.find('input[type=\"radio\"]'));\n\t\t} else if (selectedOPTIONTYPE === 'nest') {\n\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, selectedOPTIONID, 'WRITE');\n\t\t\tselectedOPTION.find('input[type=\"radio\"]')\n\t\t\t\t.prop('checked', true);\n\n\t\t\tvalidateSingleEle(selectedOPTION.find('input[type=\"radio\"]'));\n\t\t} else if (selectedOPTIONTYPE === 'checkbox') {\n\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, selectedOPTIONID, 'ADD');\n\n\t\t\t/**\n\t\t\t * 不消除其他; 加選這一個\n\t\t\t */\n\t\t\tselectedOPTION.find('.fa-square-o')\n\t\t\t\t.removeClass('fa-square-o')\n\t\t\t\t.addClass('fa-check-square');\n\t\t\tselectedOPTION.find('input[type=\"checkbox\"]')\n\t\t\t\t.prop('checked', true);\n\n\t\t\tvalidateSingleEle(selectedOPTION.find('input[type=\"checkbox\"]'));\n\t\t}\n\n\t\tif (!variable.fillAnswerMode) {\n\t\t\tif (thisOptfromMap[sbjOrder] && thisOptfromMap[sbjOrder].length > 0) {\n\t\t\t\tthisOptfromMap[sbjOrder].forEach((theSN) => {\n\t\t\t\t\taddRedrawList(theSN);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmakeInteractionObj(sbjOrder, selectedOptObj, true, false);\n\t\t}\n\n\t\tportraitProgressCount(parentSubjectSn);\n\t\tansTagToUI(parentSubjectSn);\n\t};\n\n\tconst afterOptionExam = () => {\n\t\tif (selectedOPTIONTYPE === 'checkbox') {\n\t\t\tremovedOPTION = null;\n\n\t\t\t/**\n\t\t\t * there is a `None of the above` option existed in this subject\n\t\t\t *\n\t\t\t * Remove all disable status and uncheck the `None of the above` option\n\t\t\t */\n\t\t\tif (selectedOPTION.hasClass('-disabled')) {\n\t\t\t\tresetDisabledOptionStatus();\n\n\t\t\t\tremovedOPTION = selectedOPTION.siblings('.nota');\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In order to active `None of the above` option\n\t\t\t * should remove other before active itself\n\t\t\t */\n\t\t\tif (selectedOPTION.hasClass('nota')) {\n\t\t\t\t/**\n\t\t\t\t * reset other options in this subject\n\t\t\t\t */\n\t\t\t\tinterActionCleanSbj(sbjOrder);\n\t\t\t\tmoveActionFromTemp('interAction');\n\t\t\t\tmoveActionFromTemp('optfromAction');\n\n\t\t\t\t/**\n\t\t\t\t * add disable UI to other options\n\t\t\t\t */\n\t\t\t\tparentSubject.find('.option:not(.nota)')\n\t\t\t\t\t.addClass('-disabled');\n\t\t\t}\n\t\t} else if (['radio', 'nest', 'select'].includes(selectedOPTIONTYPE)) {\n\t\t\tremovedOPTION = selectedOPTION.siblings('.active');\n\t\t}\n\n\t\toptionRemoveUI();\n\n\t\tif (optID !== null && optID !== '') {\n\t\t\toptionActiveUI();\n\t\t}\n\n\t\thandleMutipleLists();\n\t\tUIrefresh();\n\t};\n\n\t/**\n\t * uncheck the option\n\t */\n\tif (cancelAns === true) {\n\t\tremovedOPTION = selectedOPTION;\n\n\t\toptionRemoveUI();\n\t\thandleMutipleLists();\n\t\tUIrefresh();\n\n\t\treturn;\n\t}\n\n\tif (variable.fillAnswerMode) {\n\t\tafterOptionExam();\n\n\t\treturn;\n\t}\n\n\t/* eslint-disable no-underscore-dangle */\n\tif (selectedOptObj.maxtimes != null && thisSubjectsObj[sbjOrder]._doMaxtimesAction) {\n\t/* eslint-enable no-underscore-dangle */\n\n\t\tconst { anscount } = await checkMaxtimes(parentSubjectId, 'optid', optID);\n\n\t\tif (anscount >= parseInt(selectedOptObj.maxtimes, 10)) {\n\t\t\tif (selectedOptObj.maxacts === 'ALERT') {\n\t\t\t\tselectedOptObj.isFULLED = true;\n\t\t\t\tsetFulledUI(selectedOPTION, selectedOPTIONTYPE);\n\n\t\t\t\tif (selectedOPTIONTYPE === 'select') {\n\t\t\t\t\tparentAnswer.find('.select select').val('');\n\t\t\t\t\tvex.dialog.alert(sysLang.wording.alert.optionFulled);\n\n\t\t\t\t\tsuperResetSbj(thisSubjectsObj[sbjOrder].sn, thisSubjectsObj[sbjOrder].ID);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (selectedOPTIONTYPE === 'radio') {\n\t\t\t\t\tsuperResetSbj(thisSubjectsObj[sbjOrder].sn, thisSubjectsObj[sbjOrder].ID);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (selectedOptObj.maxacts === 'SORRY') {\n\t\t\t\tselectedOptObj.sorryto = 65535;\n\t\t\t\tafterOptionExam();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tafterOptionExam();\n\n\t\treturn;\n\t}\n\n\tafterOptionExam();\n};\n\nexport const getAnswerByOrder = (ordering) => {\n\tif (!Object.hasOwnProperty.call(thisAnswerObj, ordering)) {\n\t\treturn false;\n\t}\n\n\tconst legalPropertyName = Object.keys(thisAnswerObj[ordering])\n\t\t.find((propertyName) => /^sbj_/.test(propertyName) && thisAnswerObj[ordering][propertyName].length);\n\n\treturn legalPropertyName && thisAnswerObj[ordering][legalPropertyName];\n};\n\nexport const focusTitle = (target) => {\n\tif (target && !target.hasClass('withtimer')) {\n\t\tconst eleTargets = target.find(typeingElement).not('.else-input');\n\n\t\tif (eleTargets.length) {\n\t\t\tif (!variable.fillAnswerMode && !sysAgent.isMobile) {\n\t\t\t\teleTargets.eq(0).focus();\n\t\t\t}\n\t\t} else if ($(':focus').length) {\n\t\t\t/**\n\t\t\t * 沒有 可以 type 的東西,移除 focus\n\t\t\t */\n\t\t\t$(':focus').blur();\n\t\t}\n\n\t\tif (svConfig.layout === 'PORTRAIT') {\n\t\t\tsetTimeout(() => {\n\t\t\t\tscrollToEle(target, true);\n\t\t\t}, 120);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n\nexport const setAnswerJS = () => {\n\t$('#survey-form').on('keyup', '.subject-answer .autohttp', function () {\n\t\tconst theVal = $(this).val();\n\n\t\tif (theVal &&\n\t\t\ttheVal.length > 8 &&\n\t\t\ttheVal.search('http://') !== 0 &&\n\t\t\ttheVal.search('https://') !== 0 &&\n\t\t\ttheVal.search('ftp://') !== 0\n\t\t) {\n\t\t\t$(this).val(`http://${theVal}`);\n\t\t}\n\t});\n\n\t/**\n\t * 單選題 select 動態\n\t */\n\t$('#survey-form').on('change', '.subject-answer select', async function () {\n\t\tif (!$(this).hasClass('FULLEDUI')) {\n\t\t\t/**\n\t\t\t * 需判斷可否選取\n\t\t\t */\n\t\t\tawait optionExam('select', $(this).find('option:selected'));\n\t\t}\n\t});\n\n\t/**\n\t * 單選題動態\n\t */\n\t$('#survey-form').on('click', '.subject-answer .option[svtype=\"radio\"]', async function () {\n\t\tif ($(this).hasClass('active')) {\n\t\t\tawait optionExam('radio', $(this), true);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!$(this).hasClass('FULLEDUI')) {\n\t\t\t/**\n\t\t\t * 需判斷可否選取\n\t\t\t */\n\t\t\tawait optionExam('radio', $(this));\n\t\t}\n\t});\n\n\t/**\n\t * 多選題動態\n\t */\n\t$('#survey-form').on('click', '.subject-answer .option[svtype=\"checkbox\"]', async function () {\n\t\tif ($(this).hasClass('FULLEDUI')) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ($(this).hasClass('active')) {\n\t\t\t/**\n\t\t\t * 取消答案\n\t\t\t */\n\t\t\tawait optionExam('checkbox', $(this), true);\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * 需判斷可否選取\n\t\t */\n\t\tawait optionExam('checkbox', $(this));\n\t});\n\n\t/**\n\t * stop `else` option propagation of option click\n\t */\n\t$('#survey-form').on('click', '.subject-answer .option > .else-wrap', (event) => {\n\t\tevent.stopPropagation();\n\t});\n\n\t$('#survey-form').on('focus', '.digit-input', function () {\n\t\t$(this).on('mousewheel.disableScroll', (e) => {\n\t\t\te.preventDefault();\n\t\t});\n\t});\n\n\t$('#survey-form').on('blur', '.digit-input', function () {\n\t\t$(this).off('mousewheel.disableScroll');\n\t});\n\n\t$('#survey-form').on('click', '#submit-wrapper', () => {\n\t\tvalidateSurvey('#survey-form', true, true);\n\t});\n\n\t/**\n\t * Input KeyUp 動態; on('keyup') on('blur')\n\t */\n\t$('#survey-form').on('change', '.type input, .type textarea, .slide-bar-container .digit-input', function () {\n\t\tconst getValue = xss($(this).val());\n\t\tconst parentSubject = $(this).closest('.subject-wrapper');\n\t\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\n\t\tif ($(this).hasClass('digit-input')) {\n\t\t\tvalidateSingleEle($(this));\n\t\t}\n\n\t\tif (getValue !== '') {\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t}\n\n\t\t/**\n\t\t * 更新答案\n\t\t */\n\t\tupdateSingleAns(`sbj_${parentSubject.attr('data-id')}`, getValue, 'WRITE');\n\n\t\t/**\n\t\t * 帶入答案\n\t\t */\n\t\tansTagToUI(parentSubjectSn);\n\t});\n\n\t/**\n\t * Input KeyUp 動態\n\t */\n\t$('#survey-form').on('change', '.else-wrap input', function () {\n\t\tconst getValue = xss($(this).val());\n\t\tconst parentSubject = $(this).closest('.subject-wrapper');\n\t\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\n\t\tif (getValue !== '') {\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t}\n\n\t\t/**\n\t\t * 更新答案\n\t\t */\n\t\tupdateSingleAns($(this).attr('name'), getValue, 'WRITE');\n\n\t\t/**\n\t\t * 帶入答案\n\t\t */\n\t\tansTagToUI(parentSubjectSn);\n\t});\n\n\t/**\n\t * 定時相關\n\t */\n\t$('#survey-form').on('click', '.video-play-icon', function () {\n\t\tconst parentSubject = $(this).parents('.subject-wrapper');\n\n\t\tparentSubject.addClass('withplaying');\n\t\t$(this).parents('.video-block')\n\t\t\t.find('.video-iframe')\n\t\t\t.addClass('playing');\n\t\t$(this).parents('.video-block')\n\t\t\t.find('.video-iframe')\n\t\t\t.append(\n\t\t\t\tcreateYoutubePlayer($(this).parents('.video-block').attr('youtubeid'), true),\n\t\t\t);\n\n\t\tif (parentSubject.hasClass('waitVideoPlay')) {\n\t\t\tconsole.log('等待影片點擊才 RUN TIMER 的');\n\t\t\tparentSubject.removeClass('waitVideoPlay');\n\n\t\t\trunTimer(\n\t\t\t\tparseInt(parentSubject.find('.timer-overlay').attr('timer'), 10),\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconsole.log('已經 RUN 過 TIMER 的');\n\t});\n\n\t$('#survey-form').on('click', '.timer-overlay-container', function () {\n\t\tconst parentSubject = $(this).parents('.subject-wrapper');\n\t\tconst thisParSN = parseInt(parentSubject.attr('id'), 10);\n\t\tconst timerOverlay = $(this).parents('.timer-overlay');\n\t\tconst timerOverlayArr = [timerOverlay];\n\n\t\tif (parentSubject.hasClass('NEST')) {\n\t\t\ttimerOverlayArr.push(\n\t\t\t\tparentSubject.siblings(`.subject-wrapper[childtopar='${thisParSN}']`)\n\t\t\t\t\t.find('.timer-overlay'),\n\t\t\t);\n\t\t}\n\n\t\t$.each(timerOverlayArr, function () {\n\t\t\t$(this).addClass('runTimerTarget');\n\t\t});\n\n\t\tif (svConfig.layout === 'PORTRAIT' || pageConfig.mode === 'manual') {\n\t\t\tstopOtherPlaying(thisParSN);\n\n\t\t\tif (parentSubject.hasClass('NEST')) {\n\t\t\t\tparentSubject.siblings('.subject-wrapper')\n\t\t\t\t\t.not(`[childtopar='${thisParSN}']`)\n\t\t\t\t\t.addClass('timer-disabled');\n\t\t\t} else {\n\t\t\t\tparentSubject.siblings('.subject-wrapper')\n\t\t\t\t\t.addClass('timer-disabled');\n\t\t\t}\n\n\t\t\t$('#submit-wrapper button').attr('disabled', 'disabled');\n\t\t} else if (svConfig.layout === 'BROCHURE') {\n\t\t\tif (parentSubject.hasClass('withrequired')) {\n\t\t\t\tvariable.needRunTimer = true;\n\n\t\t\t\t$('.page-control-wrapper')\n\t\t\t\t\t.attr('title', sysLang.wording.act_play_to_countdowun)\n\t\t\t\t\t.tooltip('fixTitle')\n\t\t\t\t\t.tooltip('show');\n\t\t\t} else {\n\t\t\t\tvariable.needRunTimer = false;\n\t\t\t}\n\t\t}\n\n\t\tif (!parentSubject.hasClass('waitVideoPlay')) {\n\t\t\trunTimer(\n\t\t\t\tparseInt(timerOverlay.attr('timer'), 10),\n\t\t\t);\n\t\t}\n\t});\n\n\t/**\n\t * 防止 submit 動態, 把, .type textarea 拿掉唷,不然會不能換行。\n\t */\n\t$('#survey-form').on('keydown', '.type input', function (e) {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\n\t\t\tif (svConfig.layout === 'BROCHURE') {\n\t\t\t\tif ($(this).hasClass('textOnece')) {\n\t\t\t\t\t$(this).blur();\n\t\t\t\t\tsvConfig.remote = true;\n\t\t\t\t} else {\n\t\t\t\t\t$(this).change();\n\t\t\t\t\t$('#next-sbj-btn').trigger('click');\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (svConfig.layout === 'PORTRAIT') {\n\t\t\t\tfocusTitle(\n\t\t\t\t\t$(`#${$(this).parents('.subject-wrapper').next().attr('id')}`),\n\t\t\t\t);\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t$('#survey-form').on('keydown', '.else-wrap input', (e) => {\n\t\tif (e.keyCode === 13) {\n\t\t\te.preventDefault();\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t});\n\n\t/**\n\t * RATINGBAR JS\n\t */\n\t$('#survey-form').on('click', '.ratingbar-wrap .rating', function () {\n\t\tconst ratingWrap = $(this).parents('.ratingbar-wrap');\n\t\tconst thisRatingBar = ratingWrap.find('.rating');\n\t\tconst newIndex = $(this).index();\n\t\tconst lastIndex = ratingWrap.find('.rating.active').last().index();\n\t\tlet thisPointer = lastIndex === -1 ? 0 : lastIndex;\n\n\t\tconst parentSubject = $(this).closest('.subject-wrapper');\n\t\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\t\tconst parentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\n\t\tlet addRating = true;\n\n\t\tif ($(this).hasClass('active')) {\n\t\t\tif (lastIndex !== newIndex) {\n\t\t\t\tconst plusInterval = setInterval(() => {\n\t\t\t\t\tif (thisPointer === newIndex) {\n\t\t\t\t\t\tthisRatingBar.eq(thisPointer).removeClass('effect');\n\t\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('effect');\n\t\t\t\t\t\tclearInterval(plusInterval);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthisRatingBar.eq(thisPointer).removeClass('active effect');\n\t\t\t\t\t}\n\n\t\t\t\t\tthisPointer -= 1;\n\t\t\t\t}, 30);\n\t\t\t} else {\n\t\t\t\t/**\n\t\t\t\t * 取消答案\n\t\t\t\t */\n\t\t\t\tthisRatingBar.removeClass('active effect');\n\t\t\t\taddRating = false;\n\t\t\t}\n\t\t} else {\n\t\t\tconst plusInterval = setInterval(() => {\n\t\t\t\tif (thisPointer === newIndex) {\n\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('active effect');\n\t\t\t\t\tclearInterval(plusInterval);\n\t\t\t\t} else {\n\t\t\t\t\tthisRatingBar.eq(thisPointer).addClass('active');\n\t\t\t\t}\n\n\t\t\t\tthisPointer += 1;\n\t\t\t}, 30);\n\t\t}\n\n\t\tif (addRating) {\n\t\t\t$(`#${parentSubjectSn}`).find('.ratingbar-input').val(newIndex + 1);\n\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, newIndex + 1, 'WRITE');\n\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\tansTagToUI(parentSubjectSn);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsuperResetSbj(parentSubjectSn, parentSubjectId);\n\t});\n\n\t/**\n\t * 矩陣題組動態\n\t */\n\t$('#survey-form').on('click', '.NESTCHILD .level-wrap .level', function () {\n\t\tif ($(this).hasClass('active')) {\n\t\t\toptionExam('nest', $(this), true);\n\n\t\t\treturn;\n\t\t}\n\n\t\toptionExam('nest', $(this));\n\t});\n\n\t/**\n\t * 排序題動態\n\t */\n\t$('#survey-form').on('click', '.subject-wrapper .itemsort-refresh', function () {\n\t\tconsole.log('///// itemsort-refresh click');\n\t\tconst parentSubject = $(this).closest('.subject-wrapper');\n\n\t\t/**\n\t\t * 用來清除該題所有答案&UI。\n\t\t */\n\t\tsuperResetSbj(\n\t\t\tparseInt(parentSubject.attr('id'), 10),\n\t\t\tparseInt(parentSubject.attr('data-id'), 10),\n\t\t);\n\t});\n\n\tif (svConfig.sortMode === 'dragIt') {\n\t\t$('#survey-form').on('click', '.option-wrapper .option[svtype=\"sortbox\"]', function () {\n\t\t\tconst dragSortElem = $(this).parents('.drag-sort-block');\n\t\t\tconst dragSortID = dragSortElem.attr('id');\n\t\t\tconst sortableEle = `#${dragSortID} .choosen-wrapper`;\n\t\t\tconst chkNeedSortItem = getSortLimit(dragSortElem);\n\t\t\tconst needSortItem = chkNeedSortItem !== false ? chkNeedSortItem : 0;\n\n\t\t\tconst thisDragSubject = $(this).clone();\n\t\t\tconst totalCount = $(sortableEle).find('.option').length;\n\n\t\t\tif (totalCount < needSortItem) {\n\t\t\t\t$(this).addClass('put-to-sort');\n\t\t\t\tthisDragSubject.addClass('ui-draggable');\n\t\t\t\tthisDragSubject.attr('id', $(this).attr('id'));\n\t\t\t\tthisDragSubject.append('
');\n\t\t\t\t$(sortableEle).append(thisDragSubject);\n\t\t\t}\n\n\t\t\tif (totalCount + 1 >= needSortItem) {\n\t\t\t\t$(sortableEle).addClass('FULLEDSORT');\n\t\t\t} else {\n\t\t\t\t$(sortableEle).removeClass('FULLEDSORT');\n\t\t\t}\n\n\t\t\tafterSort($(sortableEle));\n\t\t});\n\n\t\t$('#survey-form').on('click', '.choosen-wrapper .option-remove', function () {\n\t\t\tconst thisRemoveItem = $(this).parents('.option');\n\t\t\tconst targetChoosen = thisRemoveItem.parents('.choosen-wrapper');\n\n\t\t\t/**\n\t\t\t * send back dis-selected Answer\n\t\t\t * remove the choosen dom\n\t\t\t */\n\t\t\t$(this).parents('.drag-sort-block')\n\t\t\t\t.find(`.option-wrapper .option[data-id='${thisRemoveItem.attr('data-id')}']`)\n\t\t\t\t.removeClass('put-to-sort');\n\t\t\tthisRemoveItem.remove();\n\t\t\ttargetChoosen.removeClass('FULLEDSORT');\n\n\t\t\tafterSort(targetChoosen);\n\t\t});\n\t} else if (svConfig.sortMode === 'clickIt') {\n\t\t$('#survey-form').on('click', '.subject-answer .option[svtype=\"sortbox\"]', function () {\n\t\t\tconsole.log('///// sortbox click');\n\t\t\tconst $selectedOPTION = $(this);\n\n\t\t\tconst optID = separateOptionIdFromText($selectedOPTION.attr('data-id'));\n\t\t\tconst parentSubject = $selectedOPTION.closest('.subject-wrapper');\n\t\t\tconst parentSubjectSn = parseInt(parentSubject.attr('id'), 10);\n\t\t\tconst parentSubjectId = parseInt(parentSubject.attr('data-id'), 10);\n\t\t\tconst parentAnswer = $selectedOPTION.closest('.subject-answer');\n\t\t\tconst parentAnswerLower = parentAnswer.attr('mincount');\n\t\t\tconst parentAnswerUpper = parentAnswer.attr('maxcount');\n\t\t\tconst checked = $selectedOPTION.hasClass('active');\n\t\t\tconst checkedNum = parentSubject.find('.option.active').length;\n\t\t\tconst doAction = true;\n\t\t\tlet needSortItem = 0;\n\n\t\t\tconst toggleCheck = () => {\n\t\t\t\t/**\n\t\t\t\t * Add check\n\t\t\t\t */\n\t\t\t\tif (!checked) {\n\t\t\t\t\t$selectedOPTION.addClass('active');\n\t\t\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, `opt_${optID}`, 'ADD');\n\t\t\t\t} else {\n\t\t\t\t\t/**\n\t\t\t\t\t * remove check\n\t\t\t\t\t */\n\t\t\t\t\t$selectedOPTION.removeClass('active');\n\t\t\t\t\tupdateSingleAns(`sbj_${parentSubjectId}`, `opt_${optID}`, 'REMOVE');\n\t\t\t\t}\n\n\t\t\t\tparentAnswer.find(`input[name*='sbj_${parentSubjectId}']`).val('');\n\t\t\t\tparentAnswer.find('.option[data-id*=\"opt_\"]').removeAttr('sortnum');\n\n\t\t\t\tconst theAns = getAnswerByOrder(findOrderBySN(parentSubjectSn));\n\t\t\t\tif (theAns) {\n\t\t\t\t\t$.each(theAns, (indexs, optids) => {\n\t\t\t\t\t\tparentAnswer.find(`input[name=\"sbj_${parentSubjectId}[${indexs}]\"]`).val(optids);\n\t\t\t\t\t\tparentAnswer.find(`.option[data-id=\"${optids}\"]`).attr('sortnum', indexs + 1);\n\n\t\t\t\t\t\tvalidateSingleEle(\n\t\t\t\t\t\t\tparentAnswer.find(`input[name=\"sbj_${parentSubjectId}[${indexs}]\"]`),\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst optionActionUI = () => {\n\t\t\t\tif (doAction === true) {\n\t\t\t\t\ttoggleCheck();\n\t\t\t\t\tportraitProgressCount(parentSubjectSn);\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * 組合出字串給帶入的題目\n\t\t\t\t */\n\t\t\t\tansTagToUI(parentSubjectSn);\n\t\t\t};\n\n\t\t\tif (parentAnswerLower) {\n\t\t\t\tneedSortItem = parseInt(parentAnswerLower, 10);\n\t\t\t}\n\n\t\t\tif (parentAnswerUpper) {\n\t\t\t\tneedSortItem = parseInt(parentAnswerUpper, 10);\n\t\t\t}\n\n\t\t\tif (!checked && (checkedNum + 1) > needSortItem) {\n\t\t\t\t/**\n\t\t\t\t * Add check, 超過了不給點\n\t\t\t\t */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\toptionActionUI();\n\t\t});\n\t}\n};\n\nexport const formatAns = () => {\n\tconsole.log('/// formatAns');\n\n\tconst returnData = {\n\t\thasAns: false,\n\t\tansValid: true,\n\t};\n\tconst finalAns = {};\n\n\tcheckAnsCount();\n\n\tdefaultInput.forEach((svkey) => {\n\t\tfinalAns[svkey] = $(`input[name='${svkey}']`).val();\n\t});\n\n\t/**\n\t * force set svid for not empty\n\t */\n\tif (!finalAns.svid) {\n\t\tfinalAns.svid = svConfig.surveyId;\n\t}\n\n\tif (urlQueryObject.mbunq) {\n\t\tif (urlQueryObject.mbunq.length > 255) {\n\t\t\turlQueryObject.mbunq = urlQueryObject.mbunq.substring(0, 255);\n\t\t}\n\n\t\tfinalAns.mbunq = urlQueryObject.mbunq;\n\t}\n\n\t/**\n\t * 製作答案格式\n\t */\n\t$.each(thisAnswerObj, (ansk, ansObj) => {\n\t\t$.each(ansObj, (thek, thev) => {\n\t\t\tif (thev !== null) {\n\t\t\t\tif (typeof thev === 'object') {\n\t\t\t\t\tif (thev.length) {\n\t\t\t\t\t\tfinalAns[thek] = thev;\n\t\t\t\t\t\tsvEndConfig.ansSbjLog[thek] = true;\n\t\t\t\t\t\treturnData.hasAns = true;\n\t\t\t\t\t}\n\t\t\t\t} else if (typeof thev === 'string') {\n\t\t\t\t\tfinalAns[thek] = thev;\n\t\t\t\t\tsvEndConfig.ansSbjLog[thek] = true;\n\t\t\t\t\treturnData.hasAns = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\n\treturnData.ansData = finalAns;\n\treturnData.svEndConfig = svEndConfig;\n\n\t/**\n\t * 檢查所有的 sbjID 是否符合該填寫的\n\t */\n\t$.each(svEndConfig.ansSbjLog, (id, status) => {\n\t\tif (status === false) {\n\t\t\treturnData.ansValid = false;\n\t\t}\n\t});\n\n\treturn returnData;\n};\n\nexport const removeMaxtimesOptions = (theData) => {\n\tif (svEndConfig.endBySorry && svEndConfig.endBySorryOpt.length) {\n\t\t$.each(theData, (theK, theV) => {\n\t\t\tif (typeof theV === 'object' && theV.length) {\n\t\t\t\tconst ansNeedDel = [];\n\n\t\t\t\t$.each(theV, (index, value) => {\n\t\t\t\t\tconst theOptID = parseInt(separateOptionIdFromText(value), 10);\n\n\t\t\t\t\tif ($.inArray(theOptID, svEndConfig.endBySorryOpt) !== -1) {\n\t\t\t\t\t\tansNeedDel.push(`opt_${theOptID}`);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (ansNeedDel.length > 0) {\n\t\t\t\t\t$.each(ansNeedDel, (th, tv) => {\n\t\t\t\t\t\tarrDelData(theV, tv);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default 'MAIN';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/main.js","import { fileDomain, shortenDomain, assetsDomain } from '../appConfig';\n\nconst credentialsType = (url) =>\n\turl.startsWith(fileDomain) || url.startsWith(shortenDomain) || url.startsWith(assetsDomain) ?\n\t\t'omit'\n\t\t:\n\t\t'include';\n\nconst customFetch = (url, options) => fetch(\n\turl,\n\t{\n\t\t...options,\n\t\tcredentials: credentialsType(url),\n\t},\n);\n\nexport default customFetch;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/customFetch.js","/**\n * export for testing\n */\nexport const parseQuery = (queryString) => {\n\tconst queryArr = queryString.split('&');\n\n\tconst queryObject = {};\n\tfor (let i = 0; i < queryArr.length; i += 1) {\n\t\tlet kv = queryArr[i].split('=');\n\t\tkv = [kv.shift(), kv.join('=')];\n\n\t\tif (kv.length === 2) {\n\t\t\tconst nValue = decodeURIComponent(kv[1].replace(/\\+/g, \" \"));\n\n\t\t\tif (typeof queryObject[kv[0]] === 'string') {\n\t\t\t\tqueryObject[kv[0]] = [queryObject[kv[0]], nValue];\n\t\t\t} else {\n\t\t\t\tqueryObject[kv[0]] = nValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn queryObject;\n};\n\n/**\n * MAIN function\n */\nconst getQueryObj = () => {\n\tconst queryString = window.location.search.substr(1);\n\n\t// no query\n\tif (queryString === '') {\n\t\treturn {};\n\t}\n\n\treturn parseQuery(queryString);\n};\n\nexport default getQueryObj;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/getQueryObj.js","import $ from 'jquery';\n\nexport const singleSubjectUI = (element) => {\n\tconst title = element.find('.subject-title').text();\n\telement.find('.subject-title').attr('alt', title);\n\n\tconst optionTexts = element.find('.option .opt-text');\n\toptionTexts.each(function () {\n\t\tconst text = $(this).text();\n\t\t$(this).attr('alt', `${text}-${title}`);\n\t});\n};\n\nexport default 'This is enterprise-cathaybk';\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/enterprise/cathaybk.js","import { apiDomain, apiVersion } from '../appConfig';\nimport fetch from './customFetch';\nimport handleErrorRequest from './handleErrorRequest';\n\nconst getUserStatus = (surveyId) => (\n\tfetch(`${apiDomain}/${apiVersion}/s/user/ext/chk-session?svid=${surveyId}`)\n\t\t.then((res) => handleErrorRequest(res))\n);\n\nexport default getUserStatus;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/request/getUserStatus.js"],"sourceRoot":""}