1(function($){$.fn.simplepopup=function(parameters){var defaultParameters={toggleIdSuffix:'_toggle',popupIdSuffix:'_popup',tabIndex:0,eliminateOutline:true,popupCallBack:function(e){},onShow:function(){},onClose:function(){}};parameters=$.extend(defaultParameters,parameters);var tRegex=new RegExp(parameters.toggleIdSuffix.replace(/([\-\[\]{}()\\\/*.^$])/g,'\\$1')+'$','i'),pRegex=new RegExp(parameters.popupIdSuffix.replace(/([\-\[\]{}()\\\/*.^$])/g,'\\$1')+'$','i');this.each(function(){var toggle,popup,refuseClick=false,mouseOverPopup=false,mouseOverToggle=false;if(tRegex.test(this.id)){toggle=$(this);popup=$('#'+this.id.replace(tRegex,parameters.popupIdSuffix));} 2if(pRegex.test(this.id)){toggle=$('#'+this.id.replace(pRegex,parameters.toggleIdSuffix));popup=$(this);} 3if(!popup||!toggle) 4return;if(parameters.eliminateOutline) 5popup.css({outline:0});popup.mouseover(function(){mouseOverPopup=true;}).mouseout(function(){mouseOverPopup=false;}).attr({hideFocus:true,tabIndex:parameters.tabIndex}).blur(function(){if(mouseOverToggle){refuseClick=true;} 6if(mouseOverPopup){window.setTimeout(function(){var active=document.activeElement;if(active&&!$(active).data('keepSimplepopupOpened')){$(active).one('click',function(){popup.hide(0,parameters.onClose);});}else{popup.focus();}},1);} 7else{popup.hide(0,parameters.onClose);}});popup.close=function(){this.blur();this.hide();};parameters.popupCallBack.call(popup);toggle.mouseover(function(){mouseOverToggle=true;}).mouseout(function(){mouseOverToggle=false;}).click(function(){var oldScrollTop,newScrollTop;if(!refuseClick){oldScrollTop=$(window).scrollTop();popup.trigger('simplepopup.beforeshow').show(0,parameters.onShow).focus();newScrollTop=$(window).scrollTop();if(newScrollTop!=oldScrollTop){if(popup.offset().top<newScrollTop||popup.offset().top+popup.height()>newScrollTop+$(window).height()){$(window).scrollTop(oldScrollTop);}}} 8else{refuseClick=false;} 9return false;});});return this;};})(jQuery); 10/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) 11 * Licensed under the MIT License (LICENSE.txt). 12 * 13 * Version 2.1.3-pre 14 */ 15(function($){$.fn.bgiframe=($.browser.msie&&/msie 6\.0/i.test(navigator.userAgent)?function(s){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s);var html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+ 16(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($(this).children('iframe.bgiframe').length===0) 17this.insertBefore(document.createElement(html),this.firstChild);});}:function(){return this;});$.fn.bgIframe=$.fn.bgiframe;function prop(n){return n&&n.constructor===Number?n+'px':n;}})(jQuery);(function(gtm){'use strict';angular.module('angie').factory('clickAnywhereButHereService',function($document){var tracker=[];return function($scope,expr){var i=0,t=null,len=0;for(i=0,len=tracker.length;i<len;i++){t=tracker[i];if(t.expr===expr&&t.scope===$scope){return t;}} 18var handler=function(){$scope.$apply(expr);};$document.on('click',handler);$scope.$on('$destroy',function(){$document.off('click',handler);});t={scope:$scope,expr:expr};tracker.push(t);return t;};});angular.module('angie').directive('clickAnywhereButHere',function($document,clickAnywhereButHereService){return{restrict:'A',link:function(scope,elem,attr){var handler=function(e){e.stopPropagation();};elem.on('click',handler);scope.$on('$destroy',function(){elem.off('click',handler);});clickAnywhereButHereService(scope,attr.clickAnywhereButHere);}};});angular.module('angie').directive('popup',['$timeout','$log',function($timeout,$log){return{link:function(scope,element,attrs){if(attrs.popupScope){scope=scope.$eval(attrs.popupScope);}
19var toggle=attrs.popup,toggleValue=scope[toggle],options={center:attrs.popupCenter,autoClose:attrs.popupAutoClose,bodyClick:parseInt(attrs.popupBodyClick)!==0&&attrs.popupBodyClick!=='false',escClose:parseInt(attrs.popupEscClose)!==0&&attrs.popupEscClose!=='false',uniqueEventName:'click.'+toggle+Math.floor((Math.random()*100)+1),uniqueEventNameForEsc:'keydown.'+toggle+Math.floor((Math.random()*100)+1),uniqueEventNameForResize:'resize.'+toggle+Math.floor((Math.random()*100)+1),focusElSelector:attrs.popupFocusElSelector?attrs.popupFocusElSelector:false},$w=$(window),$fade=null,autoCloseTimer=null;var calcCoords=function calcCoords(){return{top:Math.max(0,($w.height()-element.outerHeight())/2)+'px',left:Math.max(0,($w.width()-element.outerWidth())/2)+'px'}};var setCoords=function setCoords(){var coords=calcCoords();element.css({top:coords.top,left:coords.left});};var show=function(){if(typeof options.center!=='undefined'){$fade=$('<div class="sj_popup_fade"></div>').hide();$fade.insertAfter(document.body);if($.browser.msie&&$.browser.version==='8.0'){$fade.show();}else{$fade.fadeIn(100);} 20setCoords();} 21element.fadeIn(100,function(){if(options.escClose){$('body').on(options.uniqueEventNameForEsc,function(event){if(event.keyCode===27){scope.$apply(function(){closePopupByClickOrEsc(toggle);});}});} 22if(options.bodyClick){$('body').on(options.uniqueEventName,function(event){if(element.get(0)!==event.target&&element.has(event.target).length===0){scope.$apply(function(){closePopupByClickOrEsc(toggle);});}});} 23if(typeof options.center!=='undefined'){$(window).on(options.uniqueEventNameForResize,function(){setCoords();});}});if(options.autoClose){autoCloseTimer=$timeout(function(){closePopupByClickOrEsc(toggle);},3000);} 24if(options.focusElSelector){$timeout(function(){$(options.focusElSelector,element).focus();},50);}};var hide=function(){element.fadeOut(200);if(typeof options.center!=='undefined'){if($.browser.msie&&$.browser.version==='8.0'){$fade.remove();}else{$fade.fadeOut(200,function(){$(this).remove();});}} 25$('body').off(options.uniqueEventName).off(options.uniqueEventNameForEsc).off(options.uniqueEventNameForResize);};function closePopupByClickOrEsc(toggle){if(toggle.indexOf('.')>=0){try{var whatToToggle=scope;var toggleStrArr=toggle.split('.');var lastChar=null;toggleStrArr.forEach(function(char,i){if(i<toggleStrArr.length-1){whatToToggle=whatToToggle[char];}else{lastChar=char;}});whatToToggle[lastChar]=0;}catch(e){scope[toggle]=0;$log.warn('Ðе полÑÑаеÑÑÑ Ð·Ð°ÐºÑÑÑÑ popup.',e);}}else{scope[toggle]=0;}} 26scope.$watch(toggle,function(newValue,oldValue){if(!!newValue===!!oldValue){$('body').off(options.uniqueEventName).off(options.uniqueEventNameForEsc);return;} 27if(newValue){show();return;} 28hide();if(autoCloseTimer){$timeout.cancel(autoCloseTimer);}});if(toggleValue){show();}else{element.hide();}}};}]);angular.module('angie').directive('headerAdaptive',['$window',function($window){return{restrict:'A',link:function(scope,elem,attrs){if($.browser.msie&&$.browser.version==='8.0'){var w=angular.element($window);scope.getWindowWidth=function(){return w.width();};scope.$watch(scope.getWindowWidth,function(new_value,old_value){if(new_value<=1024){scope.screen_width_1024=true;scope.screen_width_1050=true;scope.screen_width_1080=true;scope.screen_width_1100=true;scope.screen_width_1215=true;}else if(new_value>1024&&new_value<=1050){scope.screen_width_1024=false;scope.screen_width_1050=true;scope.screen_width_1100=true;scope.screen_width_1080=true;scope.screen_width_1215=true;}else if(new_value>1050&&new_value<=1100){scope.screen_width_1024=false;scope.screen_width_1050=false;scope.screen_width_1080=true;scope.screen_width_1100=true;scope.screen_width_1215=true;}else if(new_value>1100&&new_value<=1215){scope.screen_width_1024=false;scope.screen_width_1050=false;scope.screen_width_1080=false;scope.screen_width_1100=false;scope.screen_width_1215=true;}else{scope.screen_width_1024=false;scope.screen_width_1050=false;scope.screen_width_1080=false;scope.screen_width_1100=false;scope.screen_width_1215=false;}});w.resize(function(){scope.$apply();});}}}}]);angular.module('angie').directive('gSlide',['$timeout',function($timeout){return{link:function(scope,element,attrs){element.hide();var lock=0;var show=function(){element.slideDown(150,function(){lock=0;});};
28var hide=function(){element.slideUp(150,function(){lock=0;});};scope.$watch(attrs.gSlide,function(newValue,oldValue){if(newValue===oldValue||lock){return;} 29lock=1;if(newValue){show();return;} 30hide();});if(scope.$eval(attrs.gSlide)){$timeout(function(){show();},200)}}}}]);angular.module('angie').directive('gFade',['$timeout',function($timeout){return{link:function(scope,element,attrs){element.hide();var duration=parseInt(attrs.gFadeDuration)||200;var lock=0;var show=function(){if($.browser.msie&&$.browser.version==='8.0'){element.show();lock=0;}else{element.fadeIn(duration,function(){lock=0;});}};var hide=function(){if($.browser.msie&&$.browser.version==='8.0'){element.hide();lock=0;}else{element.fadeOut(duration,function(){lock=0;});}};scope.$watch(attrs.gFade,function(newValue,oldValue){if(newValue===oldValue||lock){return;} 31lock=1;if(newValue){show();return;} 32hide();});if(scope.$eval(attrs.gFade)){$timeout(function(){show();},200)}}}}]);angular.module('angie').directive('overlay',function(){return function(scope,element,attrs){var $body=$('body'),$window=$(window),$div=$(document.createElement('div')).css({backgroundColor:attrs.backgroundColor||'#fff',height:attrs.height||$window.height(),width:attrs.width||$window.width(),left:attrs.left||0,top:attrs.top||0,position:attrs.position||'absolute',zIndex:attrs.zIndex||1000,opacity:attrs.opacity||0.5}).hide();$body.append($div);$window.on('resize',_.debounce(function(){$div.width($window.width());$div.height($window.height());},150));scope.$watch(attrs.model,function(val){if(val){$div.stop().fadeIn('fast');}else{$div.stop().fadeOut('fast');}})}});angular.module('angie').directive('insertHtml',['$compile',function($compile){return function(scope,element,attrs){scope.$watch(attrs.insertHtml,function(value){value+='';value=value.containHTML()?$compile(value)(scope):value;element.html(value||'');});}}]);angular.module('angie').filter('unsafe',['$sce',function($sce){return function(val){return $sce.trustAsHtml(val);};}]);angular.module('angie').directive('sjAlert',['sjAlertTypes','$document',function(types,$document){return{restrict:'EA',priority:-400,replace:true,transclude:true,scope:{sjAlert:'=',maxLength:'@',limiter:'@',timeout:'@',onClose:'&'},template:'<div class="sj_alert fx_fade" ng-show="_show" ng-class="classes">
32'+' <span class="sj_alert_close" ng-click="close()" ng-if="alert.closable"></span>'+' <div ng-bind-html="alert.message | unsafe"></div>'+'</div>',controller:['$scope','$element','$attrs',function($scope,$element,$attrs){var elementClassList=_.uniq($attrs['class'].split(/\s+/)),modifiers=getModifiersFromClass(),self=this,timer1=null,timer2=null,directiveId=_.uniqueId('.sjAlert');$scope._show=false;this.maxLength=parseInt($scope.maxLength,10);this.limiter=$scope.limiter||'...';this.disableAutoHide='autoHideFalse'in $attrs;this.setDefault=function(alert){alert.closable=_.isBoolean(alert.closable)?alert.closable:_.contains(elementClassList,'m_closable');alert.stretch=_.isBoolean(alert.stretch)?alert.stretch:_.contains(elementClassList,'m_stretch');alert.type=alert.type||fetchTypeOfAlertFromClass();timer1&&clearTimeout(timer1);if(alert.timeout&&_.isNumber(alert.timeout)){timer1=setTimeout(function(){$scope.close();$scope.$digest();},alert.timeout);} 33$scope.classes=makeClassList(alert);alert.message=limit(alert.message);return alert;};$scope.close=function(){if(!$scope._show){return;} 34if(('onClose'in $attrs)&&_.isFunction($scope.onClose)){$scope.onClose();return;} 35$scope._show=false;if(!self.disableAutoHide){$document.off(directiveId);}};$scope.show=function(){if($scope._show||!$scope.alert.message){return;} 36$scope._show=true;if(!self.disableAutoHide){timer2&&clearTimeout(timer2);timer2=setTimeout(function(){$document.on('click'+directiveId,function(e){if(!$element[0].contains(e.target)){$scope.close();$scope.$digest();}});},300);}};$scope.$on('$destroy',function(){timer1&&clearTimeout(timer1);timer2&&clearTimeout(timer2);});function getModifiersFromClass(){return _.filter(elementClassList,function(cl){return(/^m_/).test(cl);});} 37function fetchTypeOfAlertFromClass(){var availableTypes=_(types).values().uniq().value();for(var i=0,len=modifiers.length;i<len;i++){if(_.contains(availableTypes,modifiers[i])){return modifiers[i];}} 38return types.GREEN;} 39function limit(message){if(!message){return'';} 40if(self.maxLength&&message.length>=self.maxLength){message=message.substring(0,self.maxLength)+self.limiter;} 41return message;} 42function makeClassList(alert){var classes=[];if(alert.closable){classes.push('m_closable');} 43if(alert.stretch){classes.push('m_stretch');} 44classes.push(alert.type);return classes;}}],compile:function(){return function(scope,element,attrs,ctrl,$transclude){var alert=scope.sjAlert||{};if(!alert.message&&_.isFunction($transclude)){var transcluded=$transclude({},_.noop()),message='';if(transcluded.length){var wrap=document.createElement('div');transcluded.each(function(){wrap.appendChild(this);});message=wrap.innerHTML;} 45alert.message=message;} 46alert.timeout=parseInt(scope.timeout)||0;scope.alert=ctrl.setDefault(alert);if(alert.message){scope.show();} 47scope.$watchCollection('sjAlert',function(newAlert){if(!newAlert){return;} 48newAlert=_.extend(scope.alert,newAlert);scope.alert=ctrl.setDefault(newAlert);scope.show();});};}};}]);angular.module('angie').directive('sjAlertList',['alertService',function(alertService){return{replace:true,template:'<div class="sj_alert_wr">'+' <div ng-repeat="alert in alerts" sj-alert="alert"></div>'+'</div>',link:function(scope){var doDigest=true;scope.remove=function(alert){withoutDigest(function(){alertService.remove(alert);});};alertService.onChange(function(alerts){scope.alerts=alerts;doDigest&&scope.$digest();});function withoutDigest(callbackFn){doDigest=false;callbackFn();doDigest=true;}}}}]);angular.module('angie').directive('informer',['$window','$timeout',function($window,$timeout){return function(scope,element,attrs){var self=this,toggle=attrs.informer,toggleValue=getPropertyByPath(scope,toggle),tooltip={$el:element},left=null,caller={$el:element.parent()},options={clickEventName:'click.'+toggle+Math.floor((Math.random()*100)+1),resizeEventName:'resize.'+toggle+Math.floor((Math.random()*100)+1),activeCallerClass:'m_active'};tooltip.$el.appendTo($('body'));var bodyClick=function(){$('body').on(options.clickEventName,function(event){scope.$apply(function(){if(element.get(0)!==event.target&&element.has(event.target).length===0){scope.$eval(toggle+'= 0');}})});};var resize=function(){$(window).on(options.resizeEventName,function(event){setPosition()});};var setPosition=function(){caller.offset=caller.$el.offset();caller.height=caller.$el.outerHeight();caller.width=caller.$el.outerWidth();tooltip.width=tooltip.$el.outerWidth();tooltip.height=tooltip.$el.outerHeight();if(isEnoughSpace()){tooltip.$el.addClass('m_arrow_left_center');tooltip.$el.removeClass('m_arrow_right_center');left=caller.offset.left+caller.width+15;}else{tooltip.$el.removeClass('m_arrow_left_center');tooltip.$el.addClass('m_arrow_right_center');left=caller.offset.left-tooltip.width-15;} 49tooltip.$el.css({top:caller.offset.top-((tooltip.height-caller.height)/2),left:left})};var isEnoughSpace=function(){return(($(window).width()>(caller.offset.left+caller.width+tooltip.width+25))||(caller.offset.left<tooltip.width+25))};var show=function(){setPosition();tooltip.$el.fadeIn(100);caller.$el.addClass(options.activeCallerClass);$timeout(function(){resize();bodyClick();},101);};var hide=function(){tooltip.$el.fadeOut(200);caller.$el.removeClass(options.activeCallerClass);$('body').off(options.clickEventName);$(window).off(options.resizeEventName);};scope.$watch(toggle,function(newValue,oldValue){if(!!newValue===!!oldValue){$('body').off(options.clickEventName);return;} 50if(newValue){show();return;} 51hide();});if(toggleValue){show();}else{tooltip.$el.hide()}};function getPropertyByPath(object,path,defaultIfNotFound){var pathSteps=path.split('.');var property=pathSteps.reduce(function(currentPosition,nextStep){if(!isObject(currentPosition)){currentPosition={};} 52return currentPosition[nextStep]},object);if(typeof property==='undefined'){property=defaultIfNotFound;} 53return property;} 54function isObject(objectCandidate){return Object.prototype.toString.call(objectCandidate)==='[object Object]';}}]);angular.module('angie').directive('preloadImage',function(){return{link:function(scope,element,attrs){var img=new Image();var bg=element.css('background-image');img.onload=function(){element.css({'background-image':'url('+img.src+')'});};if(bg.indexOf('_make-replace_')!==-1){var newSrc=bg.replace(/_make-replace_/,'');
54newSrc=newSrc.replace(/^\s*url\s*\("?/,'');newSrc=newSrc.replace(/\s*"?\)\s*$/,'');img.src=newSrc;}}}});angular.module('angie').directive('jsShowPassword',['$compile',function($compile){return{restrict:'A',scope:{value:'=model'},template:'<span class="sj_show_password fa fa-eye h_color_gray" title="{% eye_title %}" ng-click="toggle(state)"></span>',replace:true,link:function(scope,element,attrs){var text=angular.element('<input type="text" ng-model="value" />').hide(),password=angular.element('#'+attrs.inputId),title={'text':'СкÑÑÑÑ Ð¿Ð°ÑолÑ','password':'ÐоказаÑÑ Ð¿Ð°ÑолÑ'};text.addClass(password.attr('class'));element.after(text);$compile(text)(scope);scope.state='password';scope.toggle=function(state){if(state==='password'){scope.state='text';password.hide();text.show();placeEye(text);}else if(state==='text'){scope.state='password';password.show();text.hide();placeEye(password);} 55scope.eye_title=title[scope.type];element.toggleClass('fa-eye-slash');return false;};var placeEye=function(el){var y=parseInt(el.position().left),width=parseInt(el.css('width'));element.css({right:12,top:y+6})};placeEye(password);scope.eye_title=title[scope.type];}}}]);angular.module('angie').directive('cleanVacancySearchForm',['LocalStorage',function(LocalStorage){return{scope:{href:'@'},link:function(scope,element,attrs){element.on('click',function(e){LocalStorage.removeItem('vacancySearchForm');})}}}]);angular.module('angie').directive('loadTopNotificationBlock',['$timeout',function($timeout){return{templateUrl:function(elem,attrs){return attrs.loadTopNotificationBlock;},link:function(scope,element,attrs){if(element.html()){element.slideDown(200);}}}}]);angular.module('angie').directive('topNotification',['$rootScope','$http','UrlConfig',function($rootScope,$http,UrlConfig){return{link:function(scope,element,attrs){scope.runHandler=function(e){e.preventDefault();$rootScope.$emit('topNotification:close');};$rootScope.$on('topNotification:close',function(){if(typeof scope.advId!=='undefined'){var date=new Date(new Date().getTime()+86400000);document.cookie='advoff = '+encodeURIComponent(scope.advId)+'; path=/; domain='+window['cookieDomain']+'; expires='+date.toUTCString();element.slideUp(200);}});scope.resent=false;scope.logRedirect=function(){if(!gtm){return;} 56gtm.push({gaCategory:'reg_user',gaAction:'email_validation',gaLabel:'redirect',yaEvent:'reg_user_email_validation_redirect'});};scope.resendLetter=function(){$http.post(UrlConfig.topNotifyResendConfirmation,{}).then(function(){scope.resent=true;});if(!gtm){return;} 57gtm.push({gaCategory:'reg_user',gaAction:'email_validation',gaLabel:'resend',yaEvent:'reg_user_email_validation_resend'});};}};}]);angular.module('angie').directive('sjStickyBlock',['$log',function($log){return{restrict:'A',scope:{stickyClass:'@',stickWhenParam:'=',sjStickyParent:'@'},link:link};function link($scope,$element,$attrs){var $parent=$element.parent(),elementOffsetTop=$element.offset().top,$clone=$element.clone().css('visibility','hidden'),$window=angular.element(window);if($scope.sjStickyParent&&$element.parent($scope.sjStickyParent).length){$parent=$element.parent($scope.sjStickyParent);} 58function fixElement(noParentPadding){noParentPadding=noParentPadding||false;var scrolled=$window.scrollTop();if(scrolled>=elementOffsetTop&&$element.is(':visible')){$element.css({position:'fixed',top:0,margin:0,left:$parent.offset().left,width:$parent.width(),zIndex:99});$element.addClass($scope.stickyClass);if(noParentPadding){$clone.insertBefore($element);}}else{$clone.remove();$element.removeAttr('style');$element.removeClass($scope.stickyClass);}} 59fixElement();$window.bind({resize:fixElement,scroll:fixElement});$scope.$watch('stickWhenParam',function(newVal){if(newVal){fixElement(true);}else{$clone.remove();}});}}]);})(window.gtm);(function(){'use strict';angular.module('angie').factory('ShowGroupErrors',function(){var showErrors=true;return{set:function(value){showErrors=!(value==='hide_errors')},get:function(){return showErrors;}};});angular.module('angie').value('UrlProps',{prefix:''});angular.module('angie').factory('UrlConfig',function(UrlProps){return{professionsSuggestUrl:function(term){return getProfessionsSuggestUrl(term);},professionsSuggestNewUrl:function(term){return getProfessionSuggestNewUrl(term);},professionsResumeSuggestUrl:function(term){return getProfessionsResumeSuggestUrl(getProfessionsSuggestUrl,term);},professionsResumeSuggestNewUrl:function(term){return getProfessionsResumeSuggestUrl(getProfessionSuggestNewUrl,term);},townSuggest:function(town,count){count=typeof count==='undefined'?5:count;return UrlProps.prefix+'/suggest/towns/?full_town_name=1&keyword='+encodeURIComponent(town)+'&count='+count+'&country_code=1';},townRegionSuggest:function(town,count){return UrlProps.prefix+'/js/request/townlist_suggest.php?output=1&q='+encodeURIComponent(town);},geoSuggest:function(term,count,country,selectableRegions){count=angular.isDefined(count)?count:10;country=angular.isDefined(country)&&country!==0?'&country_code='+country:'';selectableRegions=selectableRegions.toLowerCase()==='true'?'&selectable_regions='+selectableRegions.toLowerCase():'';return UrlProps.prefix+'/suggest/geo_suggest/?keyword='+encodeURIComponent(term)+'&count='+count+country+selectableRegions;},instituteSuggest:function(institute,town,type){type=type?type:'';return UrlProps.prefix+'/suggest/institute/?q='+encodeURIComponent(institute)+'&town='+encodeURIComponent(town)+'&is_actual=1&json=1&type='+type;},specialtySuggest:function(speciality,idParent,type){var url='/suggest/specialty/';var params=[];if(speciality){params.push('q='+encodeURIComponent(speciality));} 60if(typeof idParent!=='undefined'){params.push('id_parent='+idParent);} 61if(typeof type!=='undefined'){params.push('type='+type);} 62if(params.length){url+='?'+params.join('&');} 63return UrlProps.prefix+url;},metroSuggest:function(metro,townId){return UrlProps.prefix+'/suggest/town/'+townId+'/metro/?keyword='+encodeURIComponent(metro)+'&count=5';},getTownData:function(townId){return UrlProps.servicesBaseUrl+'/v1.0/metro/'+townId+'/';},userLogin:'/user/login/',createVacancy:UrlProps.prefix+'/hr/vacancy/create/',registerHr:'/employerRegistration/ajax/',studentChangePassword:UrlProps.prefix+'/regUserSettings/c
63hangePassword/',hrBill:function(town){return UrlProps.prefix+'/hr/bill.html?town='+town;},resumeSearch:UrlProps.prefix+'/resume/',vacancySearch:UrlProps.prefix+'/vakansii/',passwordRecovery:'/user/forgot/',restorePassword:function(accType){var url='';if(accType==='hr'){url='/v1.0/hrs/%id%/password/';}else if(accType==='applicant'){url='/v1.0/applicants/%id%/password/';} 64if(url){url=location.protocol+'//services.'+location.hostname.replace('www.','')+url;} 65return url;},userResume:UrlProps.prefix+'/user/resume/',home:UrlProps.prefix+'/',sendPassword:UrlProps.prefix+'/user/studentsSendPass/',startupActivate:location.protocol+'//services.'+location.hostname.replace('www.','')+'/v1.0/startup/activate/',resumeAccessProhibitedClientsModal:UrlProps.prefix+'/resumes/create/SelectiveAccessPopup/',resumeAccessPublish:function(resumeId){return UrlProps.prefix+'/resumes/resumes/updatePublished/id/'+resumeId+'/';},resumeAccessGetData:UrlProps.prefix+'/resume/access/getAccessData/',vacancySubscriptionSave:function(id){return UrlProps.prefix+'/user/subs/save/'+(id||'');},topNotifyResendConfirmation:UrlProps.prefix+'/top_notification/resend_confirmation/',searchFiltersTotalVacancies:(function(){var topLevelDomain='';var topLevelDomainArr=location.hostname.split('.');var len=topLevelDomainArr.length;topLevelDomain=topLevelDomainArr[len-2]+'.'+topLevelDomainArr[len-1];return location.protocol+'//services.'+topLevelDomain+'/search/vacancy/count/';})(),getMetro:function(townId){return location.protocol+'//services.'+location.hostname.replace('www.','')+'/v1.0/metro/'+townId+'/';}};function getProfessionsSuggestUrl(term){return getSuggestUrl('/professionSuggest/vacancy/prefix/',term);} 66function getProfessionSuggestNewUrl(term){return getSuggestUrl('/professionSuggest/vacancy/prefix/',term);} 67function getSuggestUrl(base,term){return UrlProps.prefix+base+encodeURIComponent(term)+'/';} 68function getProfessionsResumeSuggestUrl(professionsSuggestGetter,term){return professionsSuggestGetter(term)+'?resume';}});angular.module('angie').factory('LocalStorage',function(){var browserSupportsLocalStorage=function(){var isAvailable=('localStorage'in window&&window['localStorage']!==null);if(!isAvailable){return false;} 69try{localStorage.setItem('superjob_test_key',1);localStorage.removeItem('superjob_test_key');return true;}catch(e){return false;}};var supported=browserSupportsLocalStorage();var obj={setItem:function(){return false;},getItem:function(){return false;},removeItem:function(){return false;},lock:function(){this.locked=true;},release:function(){this.locked=false;}};obj.supported=supported;if(supported){obj=_.assign(obj,{setItem:function(key,data){var toSet=null;toSet=_.cloneDeep(data);if(!this.locked){if(toSet['__ttl']){toSet['__expires']=parseInt((new Date().getTime()/1000)+toSet['__ttl']);delete toSet['__ttl'];} 70localStorage.setItem(key,JSON.stringify(toSet));}},getItem:function(key){var item=null,nowTimestamp=null;item=localStorage.getItem(key);try{item=JSON.parse(item);if(item['__expires']){nowTimestamp=parseInt(new Date().getTime()/1000);if(nowTimestamp>item['__expires']){item=null;}else{delete item['__expires'];}}}catch(e){} 71return item;},removeItem:function(key){var storageKey=null,part=null,namespace=(part=key.split('.')).length>1&&_.compact(part).length===1&&part.pop(),regex=new RegExp('^(?:.*)?\\.('+namespace+')+$','gi');if(!namespace){return!localStorage.removeItem(key);} 72for(storageKey in localStorage){if(regex.test(storageKey)){localStorage.removeItem(storageKey);}} 73return true;}});} 74return obj;});(function(){angular.module('angie').factory('CachableItems',CachableItems);CachableItems.$inject=[];function CachableItems(){return{catalogues:{name:'catalogues',requiredVersion:'2.6',url:null},districts:{name:'districts',requiredVersion:'1',url:null}}}})();angular.module('angie').service('ClientDevice',function(){var isMobile=(function(navigator){var regexp1=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,regexp2=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
74sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;return function(){return regexp1.test(navigator)||regexp2.test(navigator.substr(0,4))||getScreenWidth()<900;}})(navigator.userAgent||navigator.vendor||window.opera),getScreenWidth=function(){return window.screen.width<window.outerWidth?window.screen.width:window.outerWidth;};return{isMobile:isMobile,screen:{width:getScreenWidth}}});angular.module('angie').service('Modal',function($http){var loaderOptions={lines:13,length:7,width:4,radius:19,corners:0.4,rotate:14,direction:1,color:'#000',speed:1.2,trail:95,shadow:false,hwaccel:true,className:'spinner',zIndex:2e9,top:'auto',left:'auto'};var showLoader=function(options){var loaderModalOptions=$.extend({overlayCss:{backgroundColor:'#fff'},escClose:false,overlayClose:false},options);$.modal.close();$.modal('<div class=\'h_loader\' spin-preloader/>',loaderModalOptions);new Spinner(loaderOptions).spin(document.querySelector('.h_loader'));};var close=function(){$.modal.close();};var showPopupByUrl=function(url){if(typeof url==='undefined'){return false;} 75var self=this;this.showLoader();$http.get(url).success(function(data){self.close();if(!data){return false;} 76$(data).modal();});};return{showLoader:showLoader,showPopupByUrl:showPopupByUrl,close:close}});angular.module('angie').factory('LoadBlock',['$compile','$q','$rootScope',function($compile,$q,$rootScope){return function(ajaxParams,scope){var doCompile=!!scope;var prevInvokeQueue=null,defaultParams={type:'get',dataType:'json',timeout:10*1000},newScope=_.isPlainObject(scope)?scope.$new():$rootScope.$new(),deferred=$q.defer(),request=null;function registerLoadedResources(){var queue=angular.module('angie')._invokeQueue,len=queue.length,i=-1,diff=[];while(++i<len){var val=queue[i];!_.contains(prevInvokeQueue,val)&&angular.module('angie').Providers[val[0]][val[1]](val[2][0],val[2][1])&&diff.push(val);} 77return diff;} 78function render(response){var div=document.createElement('div'),scripts=null;div.innerHTML=response.html;if(scripts=div.getElementsByTagName('script')){_.each(scripts,function(script){window.eval(script.innerHTML);script.parentNode.removeChild(script);});} 79registerLoadedResources();if(doCompile){$compile(div)(newScope,function(clone){deferred.resolve({block:clone.contents(),response:response});});}else{deferred.resolve({block:div.cloneNode(true).innerHTML,response:response});}} 80_.extend(defaultParams,ajaxParams);request=$.ajax(defaultParams);request.done(function(response){if(!response.html){return deferred.reject('No HTML');} 81prevInvokeQueue=angular.module('angie')._invokeQueue.slice(0);var remote=response.resources&&response.resources.remote;if(!remote||!remote.length){render(response);}else{yepnope({load:remote,complete:function(){render(response);}});}});request.fail(function(){deferred.reject()});return deferred.promise;}}]);angular.module('angie').service('Spinner',function(){var opts={lines:13,length:0,width:2,radius:10,corners:1,rotate:0,direction:1,color:'#000',speed:1.3,trail:60,shadow:false,hwaccel:false,className:'spinner',zIndex:2e9,left:'auto'};var applyTo=function(element){new Spinner(opts).spin(element[0]);};var setOption=function(option,value){opts[option]=value;};return{applyTo:applyTo,setOption:setOption}});angular.module('angie').value('sjAlertTypes',{SUCCESS:'m_green',ERROR:'m_red',INFO:'m_yellow',GREEN:'m_green',BLUE:'m_blue',YELLOW:'m_yellow',RED:'m_red',GRAY:'m_gray'}).service('alertService',['sjAlertTypes',function(types){var self=this,_timers={},_callbacks={},defaultParams={timeout:0,closable:false,stretch:false,has_icon:false,icon:null};this.type=types;var alerts=[];function one(message,type,params){clear();push(message,type,params);} 82function push(message,type,params){if(_.isPlainObject(message)&&arguments.length===1){params=message;type=message.type;message=message.message;} 83if(_.isString(message)&&!message){return;} 84var id=parseInt(_.uniqueId(),10);params=params||{};params=_.extend({},defaultParams,params);params.type=(type===null)?(params.type?params.type:types.SUCCESS):type;params.has_icon=!_.isNull(params.icon)&&!!params.icon;if(params.timeout){_addTimer(id,params.timeout);} 85params.id=id;params.message=message;alerts.push(params);_trigger(['push','change']);return params;} 86function remove(alert){var id=_.isNumber(alert)?alert:alert.id,removed=_.remove(alerts,{id:id});if(removed.length){delete _timers[id];_trigger(['remove','change']);return removed;} 87return;} 88function update(id,message,type,params){var alert=_findAlert(id);params=params||{};params.type=params.type?params.type:type;params.message=message;if(!alert){return;} 89_alertUpdate(alert,params);return alert;} 90function clear(){alerts=[];} 91this.onPush=_addCallback('push');this.onRemove=_addCallback('remove');this.onChange=_addCallback('change');function _addCallback(name){_callbacks[name]=_callbacks[name]||[];return function(cb){_callbacks[name].push(cb);}} 92function _trigger(names){_.each(names,function(name){_.each(_callbacks[name],function(callback){callback.call(null,alerts);})})} 93function _addTimer(alertId,timeout){_timers[alertId]=setTimeout(function(){remove(alertId);},timeout);} 94function _updateTimer(alertId,timeout){if(_timers[alertId]){clearTimeout(_timers[alertId]);} 95if(timeout){_addTimer(alertId,timeout);}} 96function _findAlert(alert){var id=_.isNumber(alert)?alert:alert.id;return _.find(alerts,{id:id});} 97function _alertUpdate(alert,params){params=params||{};if(params.id){delete params.id;} 98_.extend(alert,params);if(params.timeout){_updateTimer(alert.id,params.timeout);} 99_trigger(['change']);return alert.id;} 100return{one:one,push:push,remove:remove,update:update,clear:clear,onPush:self.onPush,onRemove:self.onRemove,onChange:self.onChange,type:self.type}}]);angular.module('angie').factory('stacktraceService',function(){return({print:window.printStackTrace||$.noop});});$(document).ready(function(){angular.module('angie').provider('$exceptionHandler',{$get:function(errorLogService){return(errorLogService);}});});angular.module('angie').factory('errorLogService',['$log','$window','$injector','stacktraceService',function($log,$window,$injector,stacktraceService){function log(exception,cause){$log.error.apply($log,arguments);} 101return(log);}
101]);angular.module('angie').factory('GA',['$log','$timeout',function($log,$timeout){var canUseGA=function(){return'_gaq'in window&&window._gaq!==null;};var canUseGAUniversal=function(){return'ga'in window&&window.ga!==null;};var validate=function(category,action){var valid=true;valid=valid&&(_.isString(category)&&category.length>0);valid=valid&&(_.isString(action)&&action.length>0);return valid;};var timeBeforeHitCallback=300;var obj={pushEvent:function(options){options=angular.extend({category:'',action:'',optLabel:'',optValue:'',optNonIntercation:'',hitCallback:function(){}},options);$timeout(function(){options.hitCallback();},timeBeforeHitCallback);if(!validate(options.category,options.action)){$log.info('GA.pushEvent: wrong_params');return false;} 102var usefulArgs=_.toArray(options).splice(0,4);$log.info('GA.pushEvent: ['+usefulArgs.join(', ')+']');},trackPageView:function(page){},trackPageViewOnce:function(page){}};var pushedEvents={};if(canUseGA()){obj=_.assign(obj,{pushEvent:function(options){options=angular.extend({category:'',action:'',optLabel:'',optLalue:'',optNonIntercation:'',hitCallback:function(){}},options);$timeout(function(){options.hitCallback();},timeBeforeHitCallback);return _gaq.push(['_trackEvent',options.category?options.category+'':options.category,options.action?options.action+'':options.action,options.optLabel?options.optLabel+'':'',options.optValue?+(options.optValue):0,typeof options.optNonInteraction==='undefined'?false:options.optNonInteraction]);},trackPageView:function(page){return _gaq.push(['_trackPageview',page]);},trackPageViewOnce:function(page){if(typeof pushedEvents[page]==='undefined'){pushedEvents[page]=true;return _gaq.push(['_trackPageview',page]);}}});}else if(canUseGAUniversal()){obj=_.assign(obj,{pushEvent:function(options){options=angular.extend({category:'',action:'',optLabel:'',optValue:'',optNonIntercation:'',hitCallback:function(){}},options);var isHitCallbackFired=false;$timeout(function(){if(!isHitCallbackFired){isHitCallbackFired=true;options.hitCallback();}},timeBeforeHitCallback);return ga('send',{'hitType':'event','eventCategory':options.category,'eventAction':options.action,'eventLabel':options.optLabel?options.optLabel+'':'','eventValue':options.optValue?+(options.optValue):0,'hitCallback':function(){if(!isHitCallbackFired){isHitCallbackFired=true;options.hitCallback();}}});},trackPageView:function(page){return ga('send','pageview',page?page:'');},trackPageViewOnce:function(page){if(typeof pushedEvents[page]==='undefined'){pushedEvents[page]=true;return ga('send','pageview',page?page:'');}}});} 103return obj;}]);angular.module('angie').factory('YaC',function($log){var queue=[],queue_logged=false;var canUse=function(){return'yaCounterId'in window&&window.yaCounterId!==null;};var validate=function(target){var valid=true;valid=valid&&(_.isString(target)&&target.length>0);return valid;};var logQueue=function(){$log.info('');$log.info('=================== YaC Queue START ===================');_.forEach(queue,function(args){if(!validate.apply(this,args)){$log.info('yac.reachGoal: wrong_params');return false;} 104var paramsArr=[];_.forIn(args[1],function(value,key){paramsArr.push(key+': '+value);});$log.info('yac.reachGoal: ('+args[0]+', {'+paramsArr.join(', ')+'})');});$log.info('=================== YaC Queue END ===================');$log.info('');};var queueInterval=false;var enableQueueInterval=function(){if(!queueInterval){queueInterval=setInterval(function(){releaseQueue();},1000);}};var pushToQueue=function(){queue_logged=false;queue.push(arguments[0]);enableQueueInterval();};var releaseQueue=function(){if(canUse()){clearInterval(queueInterval);_.forEach(queue,function(args){pushEvent.apply(this,args);});}else if(!queue_logged){logQueue();queue_logged=true;}};var pushedEvents={};var pushEvent=function(target,params){pushedEvents[target]=true;var yac=window['yaCounter'+window.yaCounterId];if(_.isObject(yac)){yac.reachGoal(target,params);}else if(_.isArray(window.dataLayer)){params.google=0;params.snowplow=0;params.yandex=1;params.yaEvent=target;if(typeof dataLayer!=='undefined'){dataLayer.push(params);}}};return{pushEvent:function(target,params,delayed){if(delayed||!canUse()){pushToQueue(arguments);}else{pushEvent(target,params);}},pushEventOnce:function(target,params,delayed){if(typeof pushedEvents[target]==='undefined'){if(delayed||!canUse()){pushToQueue(arguments);}else{pushEvent(target,params);}}}};});angular.module('angie').factory('Validation',['$q','ValidatePhoneService',function($q,ValidatePhoneService){var options={};options={focusOn:true};return{getAll:function(){return window.js_validators;},get:function(key){return window.js_validators[key];},options:options,force:function(form){var service=this;var promises={};_.forIn(form,function(control,name){if(name[0]!=='$'&&(service.get(name)||name==='VacancyForm[phone0]'||name==='VacancyForm[phone1]'||name==='VacancyForm[phone2]'||name==='VacancyForm[phone3]')){if(name==='VacancyForm[phone0]'||name==='VacancyForm[phone1]'||name==='VacancyForm[phone2]'||name==='VacancyForm[phone3]'){if(ValidatePhoneService.ph
104ones[name]){promises[name]=service.validateInput(control);}else{promises[name]=$q.when(false);}}else{promises[name]=service.validateInput(control);}}});return $q.all(promises).then(function(formResult){var toFocus=null;_.forIn(formResult,function(result,name){var control=form[name];if(result){control.validationPassed=true;service.makeValid(control);}else{control.validationPassed=false;service.makeInvalid(control);if(toFocus===null){toFocus=control.$name;}}});if(toFocus!==null){if(service.focusOnCustom&&typeof service.focusOnCustom==='function'){service.focusOnCustom(toFocus);}else{service.focusOn(toFocus);} 105return false;} 106return true;});},focusOn:function(toFocus){if(!options.focusOn){return;} 107var offset=$('[name="'+toFocus+'"]:visible').offset();if(!offset){return;} 108$('html, body').animate({scrollTop:offset.top-200},500);},forceInput:function(ctrl){var service=this;this.validateInput(ctrl).then(function(result){if(result){ctrl.validationPassed=true;service.makeValid(ctrl);}else{ctrl.validationPassed=false;service.makeInvalid(ctrl);}});},makeValid:function(ctrl){ctrl.$setValidity('valid',true);},makeInvalid:function(ctrl,error){ctrl.$setValidity('valid',false);if(error){ctrl.error_msg=error;}},clear:function(ctrl){ctrl.$setValidity('valid',true);ctrl.$pristine=true;ctrl.$dirty=false;ctrl.error_msg=[];},validateInput:function(ctrl,viewValue){var msg=[],validator=this.get(ctrl.$name),deferred=$q.defer();viewValue=(typeof viewValue==='undefined')?ctrl.$viewValue:viewValue;ctrl.$sjValidationInProgress=true;if(viewValue&&typeof viewValue.toString!=='undefined'){viewValue=viewValue.toString();}else{viewValue='';} 109if(!validator||!validator.validate){deferred.resolve(true);return deferred.promise;} 110var thisValdationTime=ctrl.$sjLastValdationTime=(new Date()).getTime();var deps={$q:$q,promise:null};validator.validate(viewValue,msg,null,null,deps);$q.when(deps.promise).then(function(result){if(!result){ctrl.error_msg=msg;deferred.resolve(!Boolean(ctrl.error_msg.length));}else if(ctrl.$sjLastValdationTime===thisValdationTime){ctrl.error_msg=[];deferred.resolve(true);} 111ctrl.$sjValidationInProgress=false;},function(result){if(ctrl.$sjLastValdationTime===thisValdationTime){ctrl.error_msg=[result.error];deferred.resolve(false);} 112ctrl.$sjValidationInProgress=false;});return deferred.promise;},showErrors:function(){var errors=[];
112_.each(arguments,function(ctrl){if(ctrl.$invalid){errors=errors.concat(ctrl.error_msg[0]);}});return errors.join(', ');}}}]);angular.module('angie').service('StepService',function($location){var completedSteps={},visitedSteps={};return{init:function(nameList){_.each(nameList,function(name){visitedSteps[name]=true;completedSteps[name]=true;});},complete:function(name){completedSteps[name]=true;},visit:function(name){visitedSteps[name]=true;$location.path(name);},isCompleted:function(name){return name in completedSteps;},isVisited:function(name){return name in visitedSteps;},isCurrent:function(name){return name===$location.path();}};});angular.module('angie').service('HrTariffHeader',function(){var updateListeners=[];return{update:function(html){angular.forEach(updateListeners,function(handler){handler(html);});},addUpdateListener:function(handler){updateListeners.push(handler);}}});angular.module('angie').service('queryString',function(){var build=function(getParams,prfx){var str=[],prefix=prfx||'',count=null;_.forOwn(getParams,function(val,key){count=0;if(_.isArray(val)){_.forEach(val,function(value){if(_.isObject(value)){if(prefix===''){str.push(build(value,encodeURIComponent(key)+'['+count+']'));}else{str.push(build(value,prefix+'['+encodeURIComponent(key)+']['+count+']'));}}else if(prefix===''){str.push(encodeURIComponent(key)+'['+count+']='+encodeURIComponent(value));}else{str.push(prefix+'['+encodeURIComponent(key)+']['+count+']='+encodeURIComponent(value));} 113count+=1;});}else if(_.isString(val)||_.isNumber(val)){if(prefix===''){str.push(encodeURIComponent(key)+'='+encodeURIComponent(val));}else{str.push(prefix+'['+encodeURIComponent(key)+']='+encodeURIComponent(val));}}else if(_.isBoolean(val)){if(prefix===''){str.push(encodeURIComponent(key)+'='+encodeURIComponent(val+0));}else{str.push(prefix+'['+encodeURIComponent(key)+']='+encodeURIComponent(val+0));}}else if(_.isObject(val)){if(prefix===''){str.push(build(val,encodeURIComponent(key)));}else{str.push(build(val,prefix+'['+encodeURIComponent(key)+']'));}}});return str.join('&');};return{build:build};});angular.module('angie').service('transliterate',function(){var a={"Ð":"JO","Ð":"J","Ц":"c","У":"U","Ð":"K","Ð":"E","Ð":"N","Ð":"G","Ш":"SH","Щ":"SCH","Ð":"Z","Ð¥":"H","Ъ":"","Ñ":"jo","й":"j","Ñ":"c","Ñ":"u","к":"k","е":"e","н":"n","г":"g","Ñ":"sh","Ñ":"sch","з":"z","Ñ ":"h","Ñ":"","Ф":"F","Ы":"Y","Ð":"V","Ð":"a","Ð":"P","Ð ":"R","Ð":"O","Ð":"L","Ð":"D","Ð":"ZH","Ð":"E","Ñ":"f","Ñ":"y","в":"v","а":"a","п":"p","Ñ":"r","о":"o","л":"l","д":"d","ж":"zh","Ñ":"e","Я":"Ya","Ч":"CH","С":"S","Ð":"M","Ð":"I","Т":"T","Ь":"","Ð":"B","Ю":"YU","Ñ":"ya","Ñ":"ch","Ñ":"s","м":"m","и":"i","Ñ":"t","Ñ":"","б":"b","Ñ":"yu"," ":"-"};var encode=function(word){return word&&word.split('').map(function(char){if(a[char]==undefined){return char;}else{return a[char];}}).join("");};return{encode:encode};});angular.module('angie').value('api3Headers',{'Content-Type':'application/json','Accept':'application/json','X-Api-App-Id':'1ocMSQg1P17CAddVsJazsYPnlGbTUdfvlGxAszmzB8'}).service('professionsSuggest',['api3Headers','$http','$q','$window',function(api3Headers,$http,$q,$window){var servicesUrl='//services.'+$window.location.hostname.replace('www.','');function getSuggest(search){var deferred=$q.defer();$http({method:'GET',url:servicesUrl+'/upcoming/professionLite/?filters[keywords]='+search,headers:api3Headers}).then(function(response){var professions=_.map(response.data.data,function(item){return{label:item.attributes.label};});deferred.resolve(professions);},function(){deferred.reject();});return deferred.promise;} 114function throttlingSuggest(delay){var professionSuggestTimer=null;var professionSuggestDeferred=null;return function result(search){if(professionSuggestTimer){professionSuggestDeferred.resolve([]);clearTimeout(professionSuggestTimer);} 115professionSuggestDeferred=$q.defer();professionSuggestTimer=setTimeout(function(){getSuggest(search).then(professionSuggestDeferred.resolve).catch(function(){professionSuggestDeferred.resolve([]);});},delay);return professionSuggestDeferred.promise;};} 116return{getSuggest:getSuggest,throttlingSuggest:throttlingSuggest};}]);})();function printStackTrace(a){var a=a||{guess:!0},b=a.e||null,a=!!a.guess,d=new printStackTrace.implementation,b=d.run(b);return a?d.guessAnonymousFunctions(b):b}printStackTrace.implementation=function(){};printStackTrace.implementation.prototype={run:function(a,b){a=a||this.createException();b=b||this.mode(a);return"other"===b?this.other(arguments.callee):this[b](a)},createException:function(){try{this.undef()}catch(a){return a}},mode:function(a){return a.arguments&&a.stack?"chrome":a.stack&&a.sourceURL?"safari":"string"===typeof a.message&&"undefined"!==typeof window&&window.opera?!a.stacktrace||-1<a.message.indexOf("\n")&&a.message.split("\n").length>a.stacktrace.split("\n").length?"opera9":!a.stack?"opera10a":0>a.stacktrace.indexOf("called from line")?"opera10b":"opera11":a.stack?"firefox":"other"},instrumentFunction:function(a,b,d){var a=a||window,c=a[b];a[b]=function(){d.call(this,printStackTrace().slice(4));return a[b]._instrumented.apply(this,arguments)};a[b]._instrumented=c},deinstrumentFunction:function(a,b){a[b].constructor===Function&&(a[b]._instrumented&&a[b]._instrumented.constructor===Function)&&(a[b]=a[b]._instrumented)},chrome:function(a){a=(a.stack+"\n").replace(/^\S[^\(]+?[\n$]/gm,"").replace(/^\s+(at eval )?at\
116s+/gm,"").replace(/^([^\(]+?)([\n$])/gm,"{anonymous}()@$1$2").replace(/^Object.<anonymous>\s*\(([^\)]+)\)/gm,"{anonymous}()@$1").split("\n");a.pop();return a},safari:function(a){return a.stack.replace(/\[native code\]\n/m,"").replace(/^@/gm,"{anonymous}()@").split("\n")},firefox:function(a){return a.stack.replace(/(?:\n@:0)?\s+$/m,"").replace(/^[\(@]/gm,"{anonymous}()@").split("\n")},opera11:function(a){for(var b=/^.*line (\d+), column (\d+)(?: in (.+))? in (\S+):$/,a=a.stacktrace.split("\n"),d=[],c=0,f=a.length;c<f;c+=2){var e=b.exec(a[c]);if(e){var g=e[4]+":"+e[1]+":"+e[2],e=e[3]||"global code",e=e.replace(/<anonymous function: (\S+)>/,"$1").replace(/<anonymous function>/,"{anonymous}");d.push(e+"@"+g+" -- "+a[c+1].replace(/^\s+/,""))}}return d},opera10b:function(a){for(var b=/^(.*)@(.+):(\d+)$/,a=a.stacktrace.split("\n"),d=[],c=0,f=a.length;c<f;c++){var e=b.exec(a[c]);e&&d.push((e[1]?e[1]+"()":"global code")+"@"+e[2]+":"+e[3])}return d},opera10a:function(a){for(var b=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,a=a.stacktrace.split("\n"),d=[],c=0,f=a.length;c<f;c+=2){var e=b.exec(a[c]);e&&d.push((e[3]||"{anonymous}")+"()@"+e[2]+":"+e[1]+" -- "+a[c+1].replace(/^\s+/,""))}return d},opera9:function(a){for(var b=/Line (\d+).*script (?:in )?(\S+)/i,a=a.message.split("\n"),d=[],c=2,f=a.length;c<f;c+=2){var e=b.exec(a[c]);e&&d.push("{anonymous}()@"+e[2]+":"+e[1]+" -- "+a[c+1].replace(/^\s+/,""))}return d},other:function(a){for(var b=/function\s*([\w\-$]+)?\s*\(/i,d=[],c,f;a&&a.arguments&&10>d.length;)c=b.test(a.toString())?RegExp.$1||"{anonymous}":"{anonymous}",f=Array.prototype.slice.call(a.arguments||[]),d[d.length]=c+"("+this.stringifyArguments(f)+")",a=a.caller;return d},stringifyArguments:function(a){for(var b=[],d=Array.prototype.slice,c=0;c<a.length;++c){var f=a[c];void 0===f?b[c]="undefined":null===f?b[c]="null":f.constructor&&(f.constructor===Array?b[c]=3>f.length?"["+this.stringifyArguments(f)+"]":"["+this.stringifyArguments(d.call(f,0,1))+"..."+ 117this.stringifyArguments(d.call(f,-1))+"]":f.constructor===Object?b[c]="#object":f.constructor===Function?b[c]="#function":f.constructor===String?b[c]='"'+f+'"':f.constructor===Number&&(b[c]=f))}return b.join(",")},sourceCache:{},ajax:function(a){var b=this.createXMLHTTPObject();if(b)try{return b.open("GET",a,!1),b.send(null),b.responseText}catch(d){}return""},createXMLHTTPObject:function(){for(var a,b=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],d=0;d<b.length;d++)try{return a=b[d](),this.createXMLHTTPObject=b[d],a}catch(c){}},isSameDomain:function(a){return"undefined"!==typeof location&&-1!==a.indexOf(location.hostname)},getSource:function(a){a in this.sourceCache||(this.sourceCache[a]=this.ajax(a).split("\n"));return this.sourceCache[a]},guessAnonymousFunctions:function(a){for(var b=0;b<a.length;++b){var d=/^(.*?)(?::(\d+))(?::(\d+))?(?: -- .+)?$/,c=a[b],f=/\{anonymous\}\(.*\)@(.*)/.exec(c);if(f){var e=d.exec(f[1]);e&&(d=e[1],f=e[2],e=e[3]||0,d&&(this.isSameDomain(d)&&f)&&(d=this.guessAnonymousFunction(d,f,e),a[b]=c.replace("{anonymous}",d)))}}return a},guessAnonymousFunction:function(a,b){var d;try{d=this.findFunctionName(this.getSource(a),b)}catch(c){d="getSource failed with url: "+a+", exception: "+c.toString()}return d},findFunctionName:function(a,b){for(var d=/function\s+([^(]*?)\s*\(([^)]*)\)/,c=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*function\b/,f=/['"]?([0-9A-Za-z_]+)['"]?\s*[:=]\s*(?:eval|new Function)\b/,e="",g,j=Math.min(b,20),h,i=0;i<j;++i)if(g=a[b-i-1],h=g.indexOf("//"),0<=h&&(g=g.substr(0,h)),g)if(e=g+e,(g=c.exec(e))&&g[1]||(g=d.exec(e))&&g[1]||(g=f.exec(e))&&g[1])return g[1];return"(?)"}};(function(window,undefined){'use strict';var EMPTY='',UNKNOWN='?',FUNC_TYPE='function',UNDEF_TYPE='undefined',OBJ_TYPE='object',MAJOR='major',MODEL='model',NAME='name',TYPE='type',VENDOR='vendor',VERSION='version',ARCHITECTURE='architecture',CONSOLE='console',MOBILE='mobile',TABLET='tablet';var util={has:function(str1,str2){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1;},lowerize:function(str){return str.toLowerCase();}};var mapper={rgx:function(){for(var result,i=0,j,k,p,q,matches,match,args=arguments;i<args.length;i+=2){var regex=args[i],props=args[i+1];if(typeof(result)===UNDEF_TYPE){result={};for(p in props){q=props[p];if(typeof(q)===OBJ_TYPE){result[q[0]]=undefined;}else{result[q]=undefined;}}} 118for(j=k=0;j<regex.length;j++){matches=regex[j].exec(this.getUA());if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof(q)===OBJ_TYPE&&q.length>0){if(q.length==2){if(typeof(q[1])==FUNC_TYPE){result[q[0]]=q[1].call(this,match);}else{result[q[0]]=q[1];}}else if(q.length==3){if(typeof(q[1])===FUNC_TYPE&&!(q[1].exec&&q[1].test)){result[q[0]]=match?q[1].call(this,match,q[2]):undefined;}else{result[q[0]]=match?match.replace(q[1],q[2]):undefined;}}else if(q.length==4){result[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined;}}else{result[q]=match?match:undefined;}} 119break;}} 120if(!!matches)break;} 121return result;}
121,str:function(str,map){for(var i in map){if(typeof(map[i])===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(util.has(map[i][j],str)){return(i===UNKNOWN)?undefined:i;}}}else if(util.has(map[i],str)){return(i===UNKNOWN)?undefined:i;}} 122return str;}};var maps={browser:{oldsafari:{major:{'1':['/8','/1','/3'],'2':'/4','?':'/'},version:{'1.0':'/8','1.2':'/1','1.3':'/3','2.0':'/412','2.0.2':'/416','2.0.3':'/417','2.0.4':'/419','?':'/'}}},device:{sprint:{model:{'Evo Shift 4G':'7373KT'},vendor:{'HTC':'APA','Sprint':'Sprint'}}},os:{windows:{version:{'ME':'4.90','NT 3.11':'NT3.51','NT 4.0':'NT4.0','2000':'NT 5.0','XP':['NT 5.1','NT 5.2'],'Vista':'NT 6.0','7':'NT 6.1','8':'NT 6.2','8.1':'NT 6.3','RT':'ARM'}}}};var regexes={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[NAME,'Opera'],VERSION,MAJOR],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[NAME,VERSION,MAJOR],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[NAME,'IE'],VERSION,MAJOR],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[NAME,'Yandex'],VERSION,MAJOR],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[NAME,/_/g,' '],VERSION,MAJOR],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[NAME,'Dolphin'],VERSION,MAJOR],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[NAME,'Chrome'],VERSION,MAJOR],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[VERSION,MAJOR,[NAME,'Mobile Safari']],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[VERSION,MAJOR,NAME],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[NAME,[MAJOR,mapper.str,maps.browser.oldsafari.major],[VERSION,mapper.str,maps.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[NAME,'Netscape'],VERSION,MAJOR],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.
122+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[NAME,VERSION,MAJOR]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[ARCHITECTURE,'amd64']],[/((?:i[346]|x)86)[;\)]/i],[[ARCHITECTURE,'ia32']],[/windows\s(ce|mobile);\sppc;/i],[[ARCHITECTURE,'arm']],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[ARCHITECTURE,/ower/,'',util.lowerize]],[/(sun4\w)[;\)]/i],[[ARCHITECTURE,'sparc']],[/(ia64(?=;)|68k(?=\))|arm(?=v\d+;)|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[ARCHITECTURE,util.lowerize]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/(hp).+(touchpad)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[MODEL,VENDOR,[TYPE,MOBILE]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/\((bb10);\s(\w+)/i],[[VENDOR,'BlackBerry'],MODEL,[TYPE,MOBILE]],[/android.+((transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+))/i],[[VENDOR,'Asus'],MODEL,[TYPE,TABLET]],[/(sony)\s(tablet\s[ps])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(nintendo)\s([wids3u]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/((playstation)\s[3portablevi]+)/i],[[VENDOR,'Sony'],MODEL,[TYPE,CONSOLE]],[/(sprint\s(\w+))/i],[[VENDOR,mapper.str,maps.device.sprint.vendor],[MODEL,mapper.str,maps.device.sprint.model],[TYPE,MOBILE]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i,/(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i],[VENDOR,[MODEL,/_/g,' '],[TYPE,MOBILE]],[/\s((milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?))[\w\s]+build\//i,/(mot)[\s-]?(\w+)*/i],[[VENDOR,'Motorola'],MODEL,[TYPE,MOBILE]],[/android.+\s((mz60\d|xoom[\s2]{0,2}))\sbuild\//i],[[VENDOR,'Motorola'],MODEL,[TYPE,TABLET]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9))/i],[[VENDOR,'Samsung'],MODEL,[TYPE,TABLET]],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[[VENDOR,'Samsung'],MODEL,[TYPE,MOBILE]],[/(sie)-(\w+)*/i],[[VENDOR,'Siemens'],MODEL,[TYPE,MOBILE]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[[VENDOR,'Nokia'],MODEL,[TYPE,MOBILE]],[/android\s3\.[\s\w-;]{10}((a\d{3}))/i],[[VENDOR,'Acer'],MODEL,[TYPE,TABLET]],[/android\s3\.[\s\w-;]{10}(lg?)-([06cv9]{3,4})/i],[[VENDOR,'LG'],MODEL,[TYPE,TABLET]],[/((nexus\s[45]))/i,/(lg)[e;\s-\/]+(\w+)*/i],[[VENDOR,'LG'],MODEL,[TYPE,MOBILE]],[/android.+((ideatab[a-z0-9\-\s]+))/i],[[VENDOR,'Lenovo'],MODEL,[TYPE,TABLET]],[/(mobile|tablet);.+rv\:.+gecko\//i],[TYPE,VENDOR,MODEL]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[NAME,VERSION],[/rv\:([\w\.]+).*(gecko)/i],[VERSION,NAME]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[NAME,[VERSION,mapper.str,maps.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[NAME,'Windows'],[VERSION,mapper.str,maps.os.windows.version]],[/\((bb)(10);
122/i],[[NAME,'BlackBerry'],VERSION],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],[NAME,VERSION],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[NAME,'Symbian'],VERSION],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[NAME,'Firefox OS'],VERSION],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[NAME,VERSION],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[NAME,'Chromium OS'],VERSION],[/(sunos)\s?([\w\.]+\d)*/i],[[NAME,'Solaris'],VERSION],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[NAME,VERSION],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[NAME,'iOS'],[VERSION,/_/g,'.']],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],[NAME,[VERSION,/_/g,'.']],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i,/(unix)\s?([\w\.]+)*/i],[NAME,VERSION]]};var UAParser=function(uastring){var ua=uastring||((window&&window.navigator&&window.navigator.userAgent)?window.navigator.userAgent:EMPTY);if(!(this instanceof UAParser)){return new UAParser(uastring).getResult();} 123this.getBrowser=function(){return mapper.rgx.apply(this,regexes.browser);};this.getCPU=function(){return mapper.rgx.apply(this,regexes.cpu);};this.getDevice=function(){return mapper.rgx.apply(this,regexes.device);};this.getEngine=function(){return mapper.rgx.apply(this,regexes.engine);};this.getOS=function(){return mapper.rgx.apply(this,regexes.os);};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()};};this.getUA=function(){return ua;};this.setUA=function(uastring){ua=uastring;return this;};this.setUA(ua);};if(typeof(exports)!==UNDEF_TYPE){if(typeof(module)!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser;} 124exports.UAParser=UAParser;}else{window.UAParser=UAParser;if(typeof(define)===FUNC_TYPE&&define.amd){define(function(){return UAParser;});} 125if(typeof(window.jQuery)!==UNDEF_TYPE){var $=window.jQuery;var parser=new UAParser();$.ua=parser.getResult();$.ua.get=function(){return parser.getUA();};$.ua.set=function(uastring){parser.setUA(uastring);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop];}};}}})(this);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.