Content-Type: multipart/related; start=; boundary=----------VpNz6ZMvTX6js7qDgnscWw Content-Location: http://www.pharmalot.com/2010/03/psychiatrists-and-pharma-undue-influence/ Subject: =?utf-8?Q?Psychiatrists=20And=20Pharma:=20Undue=20Influence=3F=20//=20Pharmalot?= MIME-Version: 1.0 ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=default.htm Content-Type: text/html; charset=UTF-8; name=default.htm Content-ID: Content-Location: http://www.pharmalot.com/2010/03/psychiatrists-and-pharma-undue-influence/ Content-Transfer-Encoding: Quoted-Printable = Psychiatrists And Pharma: Undue Influence? // Pharmalot = = = = = = = =
=
= =
=
=

Pharma Blog » 2010 » March » 25

=

Psychiatrists And Pharma: Und= ue Influence?

16 Comments =

By Ed Silverman // March 25th, 2010 // 8:54 am

3D"sigmund-freud"Two es= says published in separate periodicals this week raise troubling questio= ns about the extent to which psychiatrists may be unduly influenced by t= he pharmaceutical industry, and how this relationship may effect public = trust in psychiatry. The upshot? The concern about corruption, or at lea= st the appearance of corruption is palpable. Sigmund Freud (see photo) w= ould not be pleased. Interestingly, one of the authors is Tom Insel, the= director of the National Institute of Mental Health (click on read more= below).

For instance, Lisa Cosgrove and Harold Bursztajn write in Psychiatric Times that they looked at the two philanthropic arms = of the American Psychiatric Association - the American Psychiatric Found= ation and the American Psychiatric Institute for Research and Education = - and found that APF=E2=80=99s 15-member board includes= four high-level pharma execs that either make meds recommended by APA o= r are developing products targeted to treat mental disorders. Other boar= d members include two more with industry ties and a senior vp at Fleis= hman Hillard, the public relations firm whose clients include six dr= ugmakers.

APF=E2=80=99s corporate advisory council lis= ts drugmakers, they continue, that contribute “significant funding= ” to APF and that make meds recommended in the APA=E2=80=99s clini= cal practice guidelines. Although it was not possible to discern the tot= al amount of industry funding given to APF, in fiscal year 2008 APF list= s 11 pharmaceutical companies and 1 medical device manufacturer that con= tributed monies; 6 of the companies are listed as giving $40,000 =E2=80=9C= and above=E2=80=9D per year.

They go on to write that APIRE, like APF, doesn’t require discl= osure of financial conflicts of interests, and that nine of 16 APIRE bo= ard members have ties to drugmakers. They also note current disclosu= re policies don’t require reporting of pooled industry money to ac= ademic departments, units, hospitals, and med schools. And because there= is no independent monitoring of industry ties, they maintain “und= erreporting is very likely a problem. For example, one board member who = reported ‘no disclosure’ in an APA publication was found to = be on the speakers=E2=80=99 bureau of multiple pharmaceutical companies.= ”

Then they analyzed the DSM-IV, DSM-V work group panels, and the autho= rs of the DSM-based Practice Guidelines, and found what they call “= ;a striking lack of balance between industry-tied and industry-independe= nt work group members.” Approximately 68 percent of the members of= the DSM-V task force reported having industry ties, an increase of 2 pe= rcent over the proportion of DSM-IV task force members with such ties.

And of the 137 DSM-V panel members who posted disclosure statements, = 56 percent reported industry ties, such as holding stock in drugmakers, = serving as consultants, or serving on company boards, which amounts to &= #8220;no improvement” over the 56 percent of DSM-IV members who ha= d industry relationships. Also, 90 percent of the authors of three major= clinical practice guidelines had financial ties to drugmakers explicitl= y or implicitly identified in the guidelines as recommended therapies fo= r the respective mental illnesses.

Meanwhile, Tom Insel, the director of the National Institute of Menta= l Health writes in this week’s Journal of the American Medical Asso= ciation that “as public trust in the pharmaceutical industry h= as plummeted, the close connection between leading psychiatrists and the= pharmaceutical industry, once a sign of progress for the profession, is= now cited as evidence of corrupt influence.” As do Cosgrove and B= ursztajn, he points to an ongoing investigation by US Senator Chuck Gras= sley into ties between drugmakers and academic researchers (see here , here and here= ).

He poses several questions. First, are psychiatrists in clini= cal practice receiving more industry money than other specialists? He notes that Lilly lists 25 faculty receiving more than $50 000 in = the first three quarters of 2009, and of these, 17 were psychiatrists, a= lthough Lilly’s investment in psychotropics “may skew this s= ample…Not surprisingly, companies are paying the specialists most = likely to promote or prescribe their products.”

What about academic thought leaders and researchers who may i= nfluence practice through publications and lectures? In a recen= t study of med school department chairs, 60 percent reported receiving p= ersonal income from industry, usually as a consultant or scientific advi= sory board member. And 80 percent of faculty reported a departmental rel= ationship with industry, most often for support of continuing medical ed= ucation. But, he concludes, “there is no published evidence that d= epartments of psychiatry or chairs of these departments receive more or = less industry funding than their colleagues in other specialties.”=

Are academic psychiatrists disclosing more financial interest= s in publications? “Relative to other professional journa= ls, the major psychiatric journals appear to have comparable standards f= or disclosing financial interests,” he writes. “Based on a r= eview of 397 published reports of clinical trials in four psychiatric jo= urnals, a study found 60 percent had industry funding and 47 percent had= at least one author reporting a financial relationship. The prevalence = of industry funding in general medical journals has been reported to ran= ge from 40 percent to 66 percent, with industry support between 34 perce= nt and 43 percent, slightly lower than reported in psychiatry journals.&= #8221; Insel notest the study found articles with reported industry supp= ort were nearly five times more likely to report positive results.

Do financial payments to academic leaders influence clinical = practice guidelines? He points to a study by Cosgrove and other= s who reviewed the folks who authored APA guidelines for treating schizo= phrenia, bipolar disorder, and major depressive disorder, and reported 9= 0 percent had financial ties to industry - and none were disclosed.

Last but not least, is psychiatric practice biased by industr= y? Insel worries that “aside from the evident success of = marketing of specific medications, what is perhaps most worrisome is the= relative neglect of effective nonpharmacological interventions such as = cognitive-behavioral therapy for mood and anxiety disorders or powerful = psychosocial interventions for schizophrenia. Numerous studies have demo= nstrated the effectiveness of such interventions, and their use has been= recommended in the practice guidelines mentioned above, yet they are wo= efully underused and frequently not reimbursed.”

His conclusion? “The greatest threat to an era of improved publ= ic health stemming from the productive and ethically sound relationship = among academia, industry, and practice is a defiant embrace of the statu= s quo, in which psychiatrists are seen as a leading source of the proble= m rather than as leaders in finding the solution for financial conflicts= of interest.”

Jump to comments

Share

=
=

Comments

    =
  1. =

    Qui veritatem cognoscit

    We also need to ask to what extent have these companies infiltrate= d the regulatory agencies and corrupted the approval process.

  2. =
  3. =

    LF Velez

    We should probably be looking at the funding sources for patient a= dvocacy groups as well — NAMI, for instance may be doing some grea= t work for families, but may also be doing some phenomenal PR work for p= harmaceutical companies…

  4. =
  5. =

    Justice in MI

    A brief historical footnote–

    Freud was never a psychiatrist but a neurologist by training. Mainst= ream psychiatry, as it existed during Freud’s life, was mostly dis= trustful and rejecting of psychoanalytic (Freudian) approaches, with a f= ew significant exceptions, particularly in the U.S.

    In those days, the majority of psychoanalysts were also neither psych= iatrists nor M.D.s. That changed once psychoanlysis became institutiona= lized, again especially in the U.S., with non-psychiatrists mostly exclu= ded.

    In more recent years, that has changed again, particularly as psychia= try and pharma have become so intertwined.

    To that degree, psychoanalysis has remained a center of challenge to = the pharma-centric model of psychiatry as it has “evolved.”<= /p>

  6. =
  7. =

    Justice in MI

    Part of the relevance of the above–not clear that Freud woul= d _not_ be pleased by the “corruption of psychiatry,” or at = least it would not have particularly surprised him.

  8. =
  9. =

    smallz

    LF Velez…

    NAMI has been looked at hard:

    http://www.nytimes.com/2009/10/22/health/22nami.html

  10. =
  11. =

    elmore

    This is just a morphing of T-MAP. Pharma will pay to influence, an= d others will accept the pay. And the groups will become more closed, mo= re self-referential, to lower the risk of whistle blowers.

  12. =
  13. =

    smallz

    but i agree. many out there that need to be looked at.

    NAMI is a mess.

  14. =
  15. =

    Betsy

    Addressing the influence of the pharma industry on the psychiatric= community, do not forget the major practise of disease mongering wherei= n the DSM, once a small manual in the early 50’s is now a huge com= pendium of diseases invented by big Pharma in order to sell drugs.

  16. =
  17. =

    pharmavet

    I run into a lot of people in Pharma whom I would have no other wa= y to describe other than neurotic or narcissistic. They could benefit f= rom intensive psychoanalysis. On the other hand there are some pharmace= utical executives, as referred to on these boards that could not be clas= sified as neurotic. Since neurosis pertains to conflicts between desire= s and conscience, and since many of these individuals have no conscience= , they could not be considered as neurotic; psychotic perhaps, but not n= eurotic.

  18. =
  19. =

    Truthseeker

    NAMI is an organization that needs to be throughly investigated. = Their undue influence, in the provision of treatment and services to men= tal health clients, by Public Mental Health System of Care, has been the= major factor, as to why the ‘first line to treatment’ is wi= th toxic, brain disabling chemicals.

    While it is obvious that they would promote these chemicals, on beha= lf of their Pharmaceutical Company Sponsor(s) it is also questionable as= to why the Government has allowed them to be the primary voice to influ= ence mental health policy and to continuously refer parents, of mental h= ealth clients to this corrupt organization.

    The indoctrination, by NAMI, in their “Family to Family”= program agenda, also sponsored by the government and Big Pharma also ra= ises concern.

    NAMI has organized themselves not unlike the NAZI’s had done an= d gained the undeserved and corrupt influence that they have been allowe= d, for so many years,imo. Why parent’s are so ignorant as to keep = supporting this activity, in light of the obviousness of the expose̵= 7;s, adverse effects and deaths caused by these chemicals and corrupt in= fluence is unconscionable.

    Wake up NAMI membership!!! Your activities have harmed and killed e= nough innocent Children, Adults and Seniors.

  20. =
  21. =

    Evelyn Pringle

    NAMI certainly deserves every criticism mentioned above but by now= there are several other front groups that are equally guilty of accepti= ng Pharma’s money to do PR work.

    For instance Mental Health America, the Depression and Bipolar Suppor= t Alliance, and Children and Adults with Attention Deficit Disorder.

    =

    I’ve got the research that shows theses groups get just as much= of their funding from Pharma as NAMI does and yet NAMI is the only fron= t group singled whenever this topic comes up.

  22. =
  23. =

    tiller

    saw somewhere Evelyn that Senator Grassley has inquires into a bun= ch of them.

  24. =
  25. =

    SteveM

    Psychiatrists And Pharma: Undue Influence?

    That question is OBE. The train has left the station. Normative psy= chiatry has morphed into a drug culture.

    Money no longer influences psychiatrists to prescribe drugs. A scrip= t is the product of almost every patient engagement even without monetar= y inducements. Money only influences what drugs the psychiatrists presc= ribe.

  26. =
  27. =

    Laurie

    Pharma and psychiatry have created this mess…but the public = perpetuates the fraud with the belief that life should be puppies and bu= tterflies at all times.
    Lose a loved one…take a pill, lose a job…take a pill, tired = one day….take a pill.
    People have bought into the hype and until we stop the demand side, the = supply side will continue.
    Life isn’t perfect, never was never will be, but if society contin= ues to search for Nirvana in a pill box, the cycle will continue.

  28. =
  29. =

    pharmavet

    There are so many stories of the now well accepted corruption of t= he psychiatric profession by pharmaceutical influence that I wonder whet= her anyone on these boards has ceased to be amazed by them, like me.

    =

    I believe that the ultimate influence has filtered down to the Americ= an Board of Psychiatry, which certifies psychiatrists in the practice of= psychiatry. Board certification is an ever-increasing necessity to hav= e for many reasons. Like most students, psychiatry residents will study= hardest for what they anticipate will be on the Board Exams. The feedb= ack thet I get from newly Board-certified psychiatrists is the exam is a= t least 50% psychopharmacology, with increasingly less emphasis on the o= ther aspects of training.

    This naturally has a trickle-down effect on the psychiatric residency= curriculum. Not only is there heavy emphasis on psychopharmacology, bu= t residents are encouraged (or in academia required) to spend time in th= e resrarch lab on a psychopharmacology project.

  30. =
  31. =

    sadnessaddiction

    Antidepressant advertising is directly targeted at manipulating no= rmal healthy women to want to be medicated. Women must stand up to big = pharma=E2=80=99s bullying them to over-medicate with antidepressants wa= shing out their emotions & personalities and interfering being mothe= rs, sisters, brothers, daughters, partners and lovers.. Women are target= ed for antidepressants by big Pharma in the same way that tobacco compan= ies targeted us 70 years ago. Drug companies are so effective at selling= unhappiness to women that women take more than twice as many antidepres= sants as men. Like effexor Wyeth/Pfizer plans on using modern marketing = techniques and direct payments to doctors to have Pristiq over prescribe= d instead of used based on evidence based diagnosis. http://sadnessaddiction.= blogspot.com/

  32. =
=

Leave a Comment

Subscribe

RSS Feed

Comments feed for this post only.

= =

Clear

Clear

All rights reserved, Nojasa LLC. Copyright, Nojasa LLC.

Thanks for trying out the new Pharmalot printing tools. If y= ou're got any suggestions for how we can help you print better, please l= et us know by clicking on the contact link at http://www.pharmalot.com/<= /p> =

= =

Other places to find Pharmalot

Use of this site consti= tutes acceptance of our User Agreement = and Privacy PolicyThis contains content= originally published on the Pharmalot ® website, which was owned by= The Star-Ledger, prior to 2009. All rights reserved, Nojasa LLC. Copyri= ght, Nojasa LLC.

= = = = ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=favicon.png Content-Type: image/png; name=favicon.png Content-Location: http://www.pharmalot.com/static//images/favicon.ico Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRFzOTGPXIYia50psaYl7qF0ujO UoMywty6ZJFHRXkiv9q2QXYdzeXIS30q0ObKfqZnbplTWoo8YY9ENWwPXo1Bn8GQ tNGoOW8UT4Ev5/rnyOHA1evQrcugsM6kcpxYSnwo0sYXxAAAAK1JREFUeNpEz9kS gyAMBdBEQYphUZaiRuv//2UBO9P7wMMhkwVkj6t5XjjmGmUY1KygRZC97Z1Gl/Sk TAMkKoT6SmVT7oEgVio+4Kaka1CG/UT6BJxqP1kBPXjCVrFoKyro2xLRGEijxqkB lkKDW1HngLo3HcTFsNbfTwf0O0tTYTsWvDswgIFUpyxo/9AqXg1i/EG0xxIJ5pzf bWMY8whnzuCYZb+SmUEyfwUYAJbuCtyNeLXxAAAAAElFTkSuQmCC ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/body.png Content-Transfer-Encoding: Base64 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 qyREHelHe2y3PY62+H6rQjn/ihdepKiS4LcSJpsoR5ekEtS1k8SKADq7XMWX5QaN mSP4DH+n+7A/3TUpQrYghK3afJsWRJC3FpPkNXjnOxD4+gfPxZylBulVW8xzqThv k3iRbBSJdd4m8bcTf23cxSRbjZFtmbxHEsvHM1sflOJdmFsoo3A+EcN3ZNWtyPIe RTJMd7WruetVkmiK9k4YN5U18d1vRREHoDtNPjXi917Q3yHxi+9+4090d5Oz9263 H8ohibkX4/cn7133O33Myocbxwhq4HsMRCFPixqe91dNxackTuAbBb6ZOgsRQdl+ oKxEFvy+YNueTBKySH8TOU7sv2zxz1A0Lu0D5mQgPeUUALmxW1wp3D904MT07F/8 +WI2uYtv8a2LN1UX727KTZ9B9JzHwI/tBhNJINrjb1zwrd4+OzvV1vVDSdTyV033 8RFcTsG05Zyr/6GuvPX5LiZiiST4dd3rN698N2x/gHJ1ca95Jcjv6bvlFIsSCcT+ B9pCfW179a/4C4xAuigJREmMkdtJv4HwFtn+RF12F1OMzUdxAr8N9ft37j6CPje7 4XQmiN0n7MG3rjNteZiP1WWmZ0nU8JjpEcS+Aebb7rf8S4Tv7aNV1RVzF/mwfUNc 579lFfkCs4s+6Ncj3L3wy8f9Hrl215+6sE+TfWb4O/6C07865N90P0AQmLnG/LwP 8rderPrVxaL0fG9vt78hyraXPytIxN/p1+hJMfx39vZTo1w15uf6zaLqwr+D4t+D bvZzGu/q7mdxonb3V4r77sK/QZz8X5jkXtxuf5hV5HexpOH/E2AAhGwuPiHqGdwA AAAASUVORK5CYII= ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/logo2.png Content-Transfer-Encoding: Base64 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 ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/share.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAYAAAAAwCAMAAAAvpF1MAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASxQTFRF3t7ei4uL6+zt+fn57tatpaWl /4hb8ubPmeL8O1mX9fb2M5M1u7u70uf7AwMDbYOz8PHxwsLDIXoydXV1///+/5Rn ztroYpPL/Pz84er0X3qqUlJS7PD04uLiZNf9ZKIxmLPb+vvXM8z/KCgo9d61WJhk /xICnsuh/59z79/E/62i3ObI/4BW6Orq8+3i7vFn9/j48/WP8/P07/X7/fzrfKaK 3OTt3+et8fLyi7cw2NjW5fHlqsgu+vv8SJo6+vb03und/0QwNXpH+vr6/f39tti4 9fPv/P39z8/P8Oja8/ny/f329vHpwdUu+/r5TIXD//z8/v778/PyoKCg/7eF+/v7 oaCgmpqanZ2dfrx+q6urtra2r6+vycrK5+fn5OqKoqKiVXWC7u/v////x9C12AAA AGR0Uk5T//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ////////////ACaMbT0AABQYSURBVHjazFwLe9LKFg1JX04BQ3kUBCpKe6RVMAbF nHgonIItVm6rIIJtyemN//8/3L33zCTh2dL7ne/rjimBLIZhrdmPmQSV32jtymlL ay0xZhqtxG/P2jlzNbzBNAOssWifxa/U/qq2avv/Il6B/VvjcO3F2dlZe6GdtRoW Y602bz5h1GrVVfCDHpPdqc/ZwAxmTuJbK7S/qq3a/r+KBwHa3f39/c20MDyf8DYw evWsnWA9U6NPSJi1TCa3Ap6xwSCgfj2wezYYmAF8O3GWXmrB9lfmf6L9e/X/X8Qr vxOnh1KACWzwXXRS0y3ULGFmwHKDr2Tf5Qa2AA/u2NI0re5vvhbBVw2L41mjnb6H yfZX599r/37fN4Cvbm1FVsHfo33ldwP4X9vfbyxAe++pt62eNfj9W6vVMpFMs3H+ /v37F/7+9T2oMQ8/0JF+MIiKxqKdzks8vBe2u0y2v6rJ9u/7fX18de8lWuS++Hu1 r7Qr+2SVRHv5lh6kXZcl2rlMppaplbvvXwSNNPg+Dw/xX9MMbbnheaNOeB3C0f2M 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 ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/mail32.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRF////jbn0WYzPjrr0nsT1ttLz R3SvKEhxWYvPWo3PkrbqmLzvrMTpTHGcqMjW9fX129vbWozPssXkfqnk+Pj4ibLq jLfwc53V7Ozs6urq8vLy7+/vXpDVirTs/Pz84uLi/v7+ha3iWYzQf6PGgq7pbYN9 ZpvgpbiR6enpWIzPkrnvjLjyjbnzmb3x39/f5ubmlb71jbXlKEdw8PDwi7bvRnOt 3d3daZnZfaXV+vr6jrn03t7fXpLZgqrckrXnirbuWo3QtMvtdqXl5OTkWYvO6vD7 WozQkbnxpcj0ytz12ub2kbz1osLtj7r0XY/Rganb0dfie5q+4er45u75VYXEjLnz ydTlucnkzdqWZJjeQmmdrMrv6Ojon8X1o8XuUoLA1tbWudHwT3y4lb3yaJbWX5be YJXco8bw1NTUosb2rMz3Y5LUe5m7jLXsjLbu3uj3wdTuQ22llrntUoG+V4jJ0+H0 OFmDeafl19fYibPrz9HStNDktsfjlbjqVobHpcDpSm+Z1uP1zd37jLnyydPjt873 fJzB1NTWmL/1YpPTY5TVSHGmzs7OzN24jbjyRmeNxdjykLv0ttL4f63of6jZuc+x i7bussz1ME51jrbrb5rStNHzxtq3a53chKvf0N+dv9P0eqLXrMn3vsna9Pj+k7zy 0+CelLnx5u/9b6Dj5efr29vdeZed4+PliLHnx9Xxm73owNX4+/7/W43Rscimsb3R cpG1ZpXUZoCHqcfwlLzv6enrJkRr4ODisM/4us7x4Or9SWyUlLPGZoevnLPZf6fZ Kkt3v9flwM/mjLfxXI/Tj7jxjrnz6e/7Wo7RosLyWIrKV3WGpMTwnML13d3fwtjZ ydXoU4TDWozO09PUosL44+TmS3avOl+PWIrM+fv/jbny2NziWIvOzdXgg67nUX+9 sMjwnrCIgqOsgq3fWYzNbJ/hkLjvudXzUWlxvtXzfaDSqMrxnL/yKUhyvcLM293f vtbfk7LiyMjKTnSgjbbtj7bs2OP0p7/lWo3R1uKW2hw7TwAAAQB0Uk5T//////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ////////////AFP3ByUAAALsSURBVHjaYvj//3/v8beTWDHB7Oo5QEmG/8uuTsry iGXBAmJj+eYDFXzbl9kx0ZcZE/h6Gxjw/WeYsy/WwIoRK7Dy9ZWdylCdiUseqMJK 9BDDx8sTGXGDJ8oMHh3MuOV1FNsY0jvOgJi63Ny1tVy1dnZ2QLJIl/vTRB0dRh2w guQHoTqhofWrNG7vXV3RfrM94Mra3dJS692bm0OXaisGMlzqcPfp09bWXv5HSkpa QiNGUlpKxFJu+kltbTGegpPz2hguJWsFhGuJnTx5eqOCgpycHAMQLLklJib2Jty5 wGReIINP8psWvcdcJnkmeYvuM4DBAV0TE5PfLfIaYAVxu361yOs9rM+zt5/2aQVI vumBvb19bYBejPQEWdscBp9dudf09eWdeXJlZWW1mhg2tYIY9V/lY6T5J8j65zBs mCl6TVIyRt85jKuysjJ3+nkgKfvXTE9fWsTSUxSowHCy0wlJCckYZ/kAu8lPJquo iKqsqxEwc5bgl1PwfLJwG4PiSrVwCWljCQ15PevvC52cysuFF1cIyEvyA/3zfuGs wwwvX6eGS0pJ8RtryJtVHIlMTRX/0pNhpi8lAnTupdSSnwy2c9OEJKRERESkJOTN MrZmf/jRk6CnISWiAFSw06aOF6ggG6RATs6SX1pfr6KqKkMAaL8lSJ5hZ1oI0ARz GyGIegYFSykJSQ0JKA8Iok9d52WYYi7jaMmAHUTLxPMyHE2R2Y9DnsHxXHwDg4X5 qQW4FCSeewpUsP3fM1cQOBscHBwUlB+Un+/l1QgEpaWlGwSfHgQqEMzuys7ent3p t9kBCNzc3ByUlNyUlEDEo6SDDOKdTExMHBAMpjTBFASU3OlnUPZzccFUoAmWd4mP 2sGwpa7unguYCxKHagcRmpouId1l6gz/XyQVl7wS5OTkFEQlblwo7i5TBebNiDVR haZsIGAKxRBgWnh3hmoEUMH//+oXj31mZ2c3+sz+2YgdBMCk0Z53z4GSAAEGADyH ATstvWFwAAAAAElFTkSuQmCC ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/feed32.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAAK/INwWK 6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAUzSURBVHja vFdbbFRVFF3nPjoz7dTWTittaW0jUDRAUqaNojyqREnEQKgfUj9MqqAmhqRt/OCD 4CuY+Kckoh+aiGKC+gMJbdHoRysJ8dkhhmJLNdDKtJU+6GMK87j3Hs85d2Z6HzNt MYWb3Dn3NWftvfba+5xNYDl+e6Fkj6yqb/oDRbWq14vlPBLRKCITkxf0ROLt+hNj p1PPSRK4kA3vF1dXNRcWlyA2OQU9eos9opAkAiKxD+XkKO6t15aRWO7J/MgmAZU8 MEgexgZHMX518Dh72sYMmVKShnxWuWHdHtxKIDIYTgMuDzgfmSOIQkYMpdUF8OY9 2Hytt4/jvkg47czzU16iQovM3QFwmNck+Yyduu7D6NA0Z6JR4THntFs9V4tWQg6U i3s6MwKDncsFTnXKLJhDSeUK3AgPtyhccDzmVs999buRt/1Vm4i0od+hX7+MRG87 jPGB/w1u8FPj9xEw7McVrnYuOCvtpjTth3J/nTg99c8LRhKhr6D3dTB5R24bXFwb MXBsyZzeoXaycEpJ95TB09AGX/NpqLVNtw8urnVzLvHjFNxiFqRy2OOHuqUVnue+ ACkoWzo4O6lGzTmuHq6nPvY2m9rVqjrIK2rMEKxqyG5NPAKt+wjo0LklgfNxJkZM A3KJvqRUk3z5UFY3QH14P0h+WUY79HPvgv7VuSg4ZRGY1YgZgqXmORccF17sy2eh nf9AeO085K2HQFbtXBScj0LcpgF2cN+WV+DZ/LJQu6gD4R7oV7pBJwbSgtMvfiPo Vp56DySwxm7EtkMs1WdAB7qzggsDJKQYsHucSkOudrkiCPWR/fA2nYCn8SNIK4Np tSMyAu3sAdDRkIsJdfth0LzSrODUoPNZ4KI9SxJI5UHk7D4GdQfz2us31c7CoHMj RkKuDPHseCMrONVhNcDJwMJpKFVvg9L4OaTiNWm1x789KCqkrXhVBiEz0WYCT2nA zQAD1/vaETv1GrRfP4Vx5cfMNcDPwvP0h0DhanPym7OIf/+O67vcJ1/PCJ4Kgdza UP6Wz+dU+5yIL6fV+PsHGAOdwlPpvvUOyeeAVGyCdqkDNB6DPjsBSrnndfOGevOh 3RhGItxvA+fX1CtbGFhgYUFkFMZPR6F1HnClHq8HyubWtJexX06CRmdt33hrd7nA 7SFY4qoGpnYuOKcRykPPgDCBcsHx9Iv+fNL2PueBehCWUfYQIIMGLOCcOmXDXsh1 +yCt35tUPfvzGFuSvzvoinXOxqa02qOhM6733nVP2MAdaej2XN11DPKjLZCD+yBv ahGCo7JfTKAN9UD7s8Oe9zUNIhz8fWI8DG2k38WCFdxugANcXrvTVd1IEbuv3Jou r7Hzn7jLMBNfKs7R3i67gRVrbeCOEDhinmWhAatsqdquM2XzHZINhK2cqTjHr/XZ dVJUbgN3MWAVXKbSyg9jesRW2xP9di+lwrL5ojM3m2H/kG9hwcIA37c71W6wJdW2 J2S5nrjYbq/t1AHAhJsKQeyfPvf6IMJgghPJhFZ4x0KlfLFvt22du45Au/A1SOlG c0P672XXwhLtOcM0kTTEMMd0qkVmMNXxMd/tsedUjInr4SQDgOfeXMSiN0FCL5WH ah4L1qqYXPJOJlttd+a5M+YpcG5poLYKQ5f+6JJ4r8bbJYP47hq4r7QAs9PjYNhH Jd4o8l5taiwuOpa7AS4XKqI/5NjJbTnaWK92nLdLuhQAJayRNMiygXPBeQN+Qbvu 0zDc3y+aUzhbkGR73sI7ljvUnndx2q3t+X8CDAD66FtrIL864AAAAABJRU5ErkJg gg== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/header.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAB9AAAACWCAMAAACxQOO0AAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADBQTFRFvde3yuPEwdq7iqqDq8ekmriT lLKNscyqjayGpcKext/An72Zjq6Ii6uEkLCKt9GwbfYfdwAAFY9JREFUeNrs3YF2 ozgShWHQgN1Ad3j/t52YOE4MEpRKJRD2f304u2d2dzbTzenr4kNSVUvSL66NT/+4 RHHTFfFxi0uc6ukKfKrpmif010vJ18/38/O79c/zr0Vklr8H0Z/+ce0Z8b0muL8W 95Dn/hgfl+czTpc31/nnOl2LNPNPM11P6R7Xr08gw+/P8Lie0k7X/dM+rqdcnq7F Jyofoc/H0xXMX9/n73Q95c/j+vn8+/N03fNv8fnvny//EbJnqjopkS2v/NP392Xb 85vNLvnM+97357qb/WsV+M/n/93nK+Hj4hq89/Z2v93dvfcyzvd3RuVdpbrXgvdU 4P6pws1eRXW7t9dHX7NfBd0+a/Vbrze+Vp81+6LTv5t98Qnmsv65xLT8R7jlP3w9 /3dxzXp90e9//J9gn08fGp2coNAT5vNa/6dpH9PbUXO6qMX9newKncu//93Pzy5s eBc3n4d/7Y9veftvikYzelXMjC7rcu9nMZ8P8x4f/C0emNEvse09v7xdnmVG/yzw 35e30f8LzOg0DDnPhB7V8tEd3webIPq5vNWT+K3uf+7S8PNw33cE/1zu4ubz3z+/ 8om6+jm6UWvX3kvzif5eKbzPvPeV594JZlzr9srX7KOg1xczemA+X7R75+v2pBl9 CM3o7faMPr/insN/RM7ogfl8a0L/bPS/s8s/odMwpMBCx9CDz9LLmc+r2c9v+QTe 1M9Lm9HNHb0SO3rMfD6Gevzqm8+3Z/TMht6uG3qLoROCob+Qoa+5+fIdN2dp6Irn 6kc8Va9NPkn3XIKjB+fzWEMfjQ3d4+hdIfM5hk4Ihp7f0F2x87lbzOcR7R5h6C9h 55ENLrIb+Yw+ZprRG+2M3mzO6KuGPugNvcXQCcHQizV0t2LobsPQw5eJoR/h54l2 nuOjtPSVe8t7H1Xpjr4+o4/GM3qiocvfdcfQCcHQMXSBoTu5oav8vE/3c5MZvV65 EmZ0Q0ePedK+Mp+P/vnc7j13yXwuMXTRWnQMnRAM/YSG7qIN3QX83cWtQ5OuULM3 dLOn6nXG+TzqLszp6GZr0S0N3Tufd8tux9AxdIKhn93QXeGGrvZzt6OfZ5jJa8uZ ffXei3P06tC16JkNfWUtepb33DF0QjD0wg3d7+S+fq60e8HlN/Q+/c23vG6utvSN +006p1eR7T5GOfpVN6crZ/QOQ8fQCYaOoZf4jnvy++0KPzebzef3Wp0+o0c8E9p+ Gy7mTTiD99wb8Xvukvnc6+gYOoZOMPR3MXS3YuhOYegmbq5YoXaMn/v6+XBH720c vYp2dOX7cU1oPm9y7ueOoWPoBEPH0E0m9IjeV69mU7zfntTytdk6tuT7MG5OVzv6 GJ7TF0/ar1H7xSkNvdMa+oCh0+cEQ38ZQ1/+iR6y9cyGLn6i3tv6+b52Xu9o6fL1 6OdYi66Y0RMNvcXQCcHQMXT/2auK5/N77RGXtPbcdo+ZiDk9Ym/37ec+Ju+5y9ai N+L33LvN/dwlhj5g6Bg6wdDf29Dd6p7thn6+fMKe59wVk/3hFDN56Mq9Jl21V9zG 2egyQ5euX7M39C52P/c2aT7H0AnB0N/R0KPPPo9s+F43n/c2c3mfZa1abejou+zp nmjo646eYOhD9JnoGDohGHoZhu5sDd1ZG7p/3bnS0FX7tyu623A2V8/rNo6e9K57 4rlr18133SWG3pifiY6hU+gEQy/T0F1xhh75fF75BN7o7PPD5/PI+zLN0cM9vtte cQnvwlkaeouhE4Khn9XQ3Yqhuw1Dd7Zr0BUNvuxtl21lWlRn1wlXuqS7SEevhCej r7S7fD/3UfeOu+T9OAwdQycY+gsauivC0J1H0CMNPXr9+Z5rz/faUybiffc+8uxU 6XvusWvRs+7nfpyhtxg6IRj6Cxm67++TMJNHP1H/bei97Jl68vpzMzeXfwOtkyxd tK+7YpeZ1bXoo9l+7kcY+oChU+gEQy/S0N25Dd2lNH6Snxd5Povw+VEOQzdZi34N rUVXGHqjN3Tps/YVQ28xdEIw9Bcy9OW77s7O0HOdtZbs50nzue7erJPedQ/cg977 rIpaix6j6NK94iSGrtorzuBMdAydEAwdQ/c8M9j7fDX7p/CJs3mdeUbXno1epTi6 ei26ZEbvBGvR1YY+YOj0OcHQ38DQXZGG/vPr02vXn7tsa891c3nCPSp0dNl7cpKn 71W2GX17vzi5oXdmzY6hE4KhY+iLGd3pDd1lN/Q+3s9Vc3nyarVMjl4Zr0U/2NA7 DB1DJxj62xi6WzF0t2rorhhDT/Bzl9nPLSK6Tw33dK8EzV5F7+d+uKF3fkMfMHQM nWDo5zB0V4ShO62hu0MMPY+fG+8qk8nRdzJ06Zlrhxv6apNj6IRg6CUautvP0J31 e+191j3cxd1dm9m58l7VOnrA0NVr0Q32c7c8c23r6bt8P3cMnRAM/e0N3QUNffMZ /d5r0CNn9Ky7v2Z3dOu16Or93CXzeWDP1wZDx9AJEzqGrjL0cBcbnIMe2eD9jmvQ d3y3fft+NXP0HGvRx7T93K3ej8PQMXSCoWPopzb0Ps7QE96Q6/c4nWWzwfX7uivX oifv535NndEVZ6LLDX3A0OlzgqG/oKG7PQw9975wBu+312XM57XU0XtLRy9kP/eM 77nHnYmOoROCoWPos2cGRe7jLmr52mI+l5/KUifdq7GG7pnPk9eiqwz9Woahtxg6 IRg6hm7g57aGnnMP93qX+TzV0a3PRR+j53O7M9GVe8UlGnqLoROCob+3oT/3QXTD JzyLP3QNuv50FoWj1/uvRT9qRl8YeoOhY+gEQ8fQMXQLP99nNhfO6MZr0YswdNnT dwwdQycY+isbujvI0N2Bhh45o0efgf48n/f5mt7iXffgvZlwLrrRfu6S89ai34XD 0DF0gqFj6EJDd4Ub+kFr0I+Yz+voOzXxXHT5LrCVcIeZhP3cMXQMnWDob2bo7syG bvBue8QadNs1bDZvyWV1dLmhy2b08QBDbw429BZDJwRDf1FDdwcYegFr0Pebz8Uz eh0tRJJz1zB0DJ0QDB1DNzB09YxuuwZ991Vs6Y5ua+hV8Ya+mM87UYvHzOcX+XN2 DJ0QDH1XQ9/6PnCIodt2d65z0Pedz0X3bZ793JMNfTy5obcYOiEYOobuPOviX9bQ 7XeZ2d/QXcF7xSkMXf6kHUOnzwmG/n6G7l7e0EX7xxQ4n+sMXb0WPdnQx9yG3gma fcDQKXSCoWPo2Q3dlWXoh5zSktHQ7faKG4XP2jMaesxa9DblTHQMnRAM/TyG7tSG Xp3B0M+4Bj1qvzj7/dyriF1gLQ39amjonWj1GoZOoxMMHUMPC/pxhm7X8Ko93Osi ZvS4M9FL3isOQ8fQCRM6hl6eobszGHoxe7hnntETDL3KYOjKGT27obcYOiEY+vsa ugsauntFQ68zv+deK99xTzoTHUPH0AnB0N/R0N37GHqxM/rxhl5h6Bg6IRj66Q3d va+h1zsYeh39XMmtr0U/aq+4UTejY+gYOmFCf09Dd1JDr442dIehv5ahV4br0DF0 DJ1Q6Bi6w9CPNPS6mPfcY/dzVxh6tYehNxg6hk6Y0DH0wg3dZTZ0l9XQ63Jm9H7t fj3W0EcMHUMnBEPH0E3n8+gn8HV/0D7upzL0CkPH0AnB0A83dPdOht6f3NB7DB1D x9AJhX7Qs1HNE/21fbcx9NSz1s5m6D2GjqFj6IRCP2364LX1bWD253bYRd/I0Pt3 MfRabeg9ho6h0+iEQk9taPGTf4n711IT8HX+o1ExdAyddegYOiEU+p7zeWznK97W Dxsr69BZh46hY+iEvFuh7zSfq+M0H8+Mt5jJWYe+x1twxxv6iKFj6IQwoWef0ZPj UtbVi1fdnXcdOnu5s5c7hk4Ihn6UoRuttMu2rp693O0N3Z3e0DkPHUMnFDqGntL1 iWvqe93+dxj6+56HjqFj6IRCZz4/xNATZ3PRmvrKZ+vlGXqephfO55rz0E9m6JyH jqETCh1DP9DQBT0fsS+9Z03cveF3X4feF7BXXF+moY8YOoZOCIaOoWv2oB9/XV9N 75yxofdHrUXvt/eJ67dn9D5iPl+f0UcbQ79i6Bg6IRj6uxi6YEaXbnZz+/vFPF0X 7iVT6Hy+OaM7Q0Mf8xt6U4qhXzB0Qih0DD3d0MUz+tZn+u/NntLn2y/ubGvQ7Q39 upuhDxg6hk4odAz9nIYufgq/1fDVfYKPV/T9Z3TBG3Ixhr74/Qn8XsR8g7I09MbQ 0GWzOYZOoxMKHUMvxNBlc3pwrvye3339rnrPvd9nPjc09PVf/1hDl/R4g6Fj6IRC Zz7H0IVtH9nxj+vR7kXM6IL7QGPogffcdzD0a25DVzU7hk6hEwodQz+BoS96W577 8/nPf8pdZnTx/bG6R1zsGvRy33GXGbqiw9vIDsfQCWFCx9CLNHTp/ijeZ/P32b2Y GV34eyjZc9/W0K8nN/QLhk4IhY6hn8vQN+Nppu/Z/deTef+M3u84nwvOQrfbJ65k Q5etVFt5z10r6Bg6IUzoGHpBhr7Z7r+vR7t//py3X+8S16Db7eN+lKF3GDqGTih0 DB1DTzP0wHzuOUfsu6tub9VVX+aecq+kzOdJ+7gXtk9cUYZ+wdAJYULH0F/C0P0z Z7jjP/++k7nnfMe9j57PJfu4rxj6qDV07xmqDYaOoRMKnRkdQz/U0AMzeuCZ8nVa DjfvdtV90ataXL1P3Li+T1wlPGvNxtA733N2DB1DJxQ6ho6hWxm69H3u38/ke4v5 vJb+Pp7K0JXnqGLoGDqh0DF0DN3Q0FfzPJFO3f75KxhxT2zO59JzWGRr0Hd7x73B 0DF0QqEzo2PoxRr6uNXuj2b72qBuNrWn+HmftgY9xtCl34QCht7oDV0xn8cZ+gVD J4RCx9Ax9O0W93bZ99Rutod74llrY/RZa0pDb3SGPqQZeouh0+eEQsfQMXSloXvb fdnwq81uvAY90dBHoaHLzkK3NPQhzdAvGDohFDqGjqFfRWuvlzPqcla9rX9zrt+e z10mQ09egz4K1qCr1qpZG/oFQyeEQsfQMfQUQ5f1+3hvdp2fS2fz2Lfj4gxdsY+7 5TvuGDqGTih0DB1D38fQvTP6PNPMXmVfg64x9KuhoXdiQx/MDH11NxkMnRAmdAwd Q4829C1T/ir2u7PL/bwXvedusAZdPqNvG7pyn7h8b8dh6IRg6Bg6hh5v6IKTSpp7 sxe6j7uloXcYOoZOKHQMHUM/uaEH27159Prt3Xi33xr0kg198Bt6i6Fj6IRCx9Ax 9EIMvfP58mxi/xzZXdQa9CpiDXq8oV81M7rqLHQMHUMnFDqGjqGfztCDb4/NJvaM a9Dt93FPMnTVPu4YOoVOKHQMHUMvxNA35tjrbcVblX0N+ij+XqMydMl8PoTm88Uz dgydQicUOoaOoRdr6Bv9Pq13q6LPQd94Oy77Wejebu/iz0KPO6MFQyeEQsfQMfTD DT1wbvh3pifxGdagS/dxv/rXoEsMvTMz9PgZHUMnhAkdQ8fQDzL01S783p9m+ete Re0Tl7yP++GG3mLoFDqh0DF0DP0Uhr76dPpzYL+dA1OZr0EfU+fzLn4+z2foFwyd ECZ0DB1DL8TQV9v96zl8eA16pRf03c5Zw9AxdEKhY+gY+jsZenCn1Ntfuf7M6yt+ nrQGXWXond7QWwwdQycUOoaOob+uoa+1+9f78LJz0CvhGnTpjH7NdxZ6i6Fj6IRC x9Ax9Jc1dI9B39vw/t6cdg36GPLzMg39gqETQqFj6Bj6Cxh6oOGnp/DNGGPokucV TRZD357Q5fu4Y+iEUOgYOoZ+ZkMPzrl3XV839Ouu+7h34Z9fYuhtjhkdQyeECR1D x9ALMvRgO37+v4xKQ7/qDL0TzOhDBkO/YOiEUOgYOob+IoYebMSvtetFzOfbht5i 6Bg6odAxdAwdQw92+9c7c/pz0KXvt6vmc4Oz0DF0Qih0DB1Df0lDX3j0vSG76Sm8 /5uO1Rp0DB1DJxQ6ho6hY+imhh6ae3+m9WveGb1L28cdQ8fQCYWOoWPoGHqgER8m /fUmvM0+7or5fBAY+uY+7hg6IRQ6ho6hv5uh++fdp1a/ZjH0zvCcNQydRicUOoaO oWPo4X6cZF30lCJpRt/+DhK/j3ubNKFj6IQwoWPoGPqZDd3/mfaEl61BX5nPLQ3d eEbH0AnB0DF0DP0FDd3bjcN0Muv6fN4I5vPuQEO/YOiEMKFj6Bj6uxm6t99nrZ75 nLWY+Tz+nDUMnRAMHUPH0N/H0L3zb3s750WzT1yMoR94FjqGTggTOoaOob+moYee wMe9497kndGHyBVsGDohGDqGjqG/o6F7G/Ixq8vnc5Wht0JDv2DoFDqh0DF0DB1D j+z37+Ycfp7AN4Jz1lZmc1tDv2DohFDoGDqGjqELZ/T75+sJ/PqbcMEZvbR93DF0 QpjQMXQM/W0M3fMe+bRePTCfN6J/DslP7fkG0mLoFDqh0DF0DB1DTzH0ZTdOb8v5 W1xyFvoQdRZ6G2XoFwydECZ0DB1Dx9Bj2n06tU1h6IPG0Fd+vguGTgiFjqFj6Bh6 /Iz+ew6e9oHvtGehDxn2ccfQCaHQMXQMHUOP3Yvt7tFDh6Fj6IRCx9AxdAz9fIbu yTDI1qAPwjXoO8znGDohTOgYOoaOoXv6c1J1C0NvMXQMnVDoGDqGjqHvaehLj76p uqzJlWvQ2/V33DF0Qih0DB1Dx9CVhv7cox+3VW0x78Z1Fvu4Y+iEUOgYOoaOoRsY +rz7ps1ileeg6w39gqETQqFj6Bg6hp5o6IuOvO0Va2DoLYZOoxMKHUPH0DH0nQ19 3n/TpD4s5/Ttn3Pz57tg6IRQ6Bg6ho6hZzT0+Vz7M6kr94nD0Cl0QqFj6Bg6hn6M oc9ze1MuZg36oJrPMXRCKHQMHUPH0M0NfTbHTpO6/R5xGDohFDqGjqFj6NkNfTbJ TuevJq1Bb9efHWDohFDoGDqGjqHnMfTn5vv7dzp9VWHoLYZOoRMKHUPH0DH0Yw19 NrfeSX1VA4bIPeIuGDohFDqGjqFj6DsY+k/ffZV62yavQcfQCaHQMXQMHUM/wtBn M+vtPTkMHUMnFDqGjqFj6Gc09KdW//P09H3lZ9R988DQCcHQMXQMHUPPZ+hPzfbv z20/uf3XoGPohDChY+gYOoaebui/Ov32yPnSKtagY+iEUOgYOoaOoRdg6D+O/Nla N1HH0DF0QqFj6Bg6hn5KQ39Mp5MXf1wwdAydvGWhr83TGDqGjqGfxdB/JtPPWfTv R4uhY+jktQo9qk1N5lo7c4505+e59v5XXNz/XvupKlft/f/x/c9ZPf37HTKuXrPv E7LZPuq7gmi+vyY8vf/13eBshv7ntxf/+Uj9uTB0QkzzvwADAOp1ZFCRX5HzAAAA AElFTkSuQmCC ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/logos.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAJAAAADcCAMAAACoAtidAAAAA3NCSVQICAjb4U/g AAADAFBMVEX////////yhCP////0nlz3lCnwhCn////yhCP////0nlz3jCn////0 nlz3lCn3jCnyhCP////whCn////2pmP3lCnwhCnyhCP////2pmP3lCn3jCnyhCP/ ///3lCn3jCnyhCP////1pWn5nCvyhCP////1pWn5nCvyhCPwhCn////1pWn5nCv3 lCn3jCnyhCP////3rnT1pWn5nCvyhCP////3tIz2r3v3rnTxpzvwnjn5nCv3lCnr kzjwhCnohDn////y/P/1+/L2+f7/+PDy++X29vbu9f7p+tje+t3v7+/Z9f/d+M3o 7/r+7NrM8v/Q9cbc6vzm5ube6Pf848+99LvD9KrT7cC+9J+z7P/W4/b+27T727/b 4Oze3t6t8qrA6q7N3vOx753Y2tz+1KOZ5v+c75n6z7bW1tbO1uXG1+++1PKM4v+S 72SM7IjL0d2W6oD3x6yI+ACA3//MzMz4xKSL6W+K6mazz/R69wCB8SiE6GRz3P/A yNf3vpyB6FmB5W34vZKJ4Xlz8gDFxcV65lVz7xeQ5Rdm2f936Dl05Vytxux95Eew xeRq7wBz5y9y5kRy5zmkxfhx6CX3tIz3tYRg7gD4tHtZ1v+1v9KA4RibwfSlwOVk 5Db9s1xa5FX2r3v3rnRS6QBN0v9b5COTvPVw3RdX5RX4rWVK4kT/rC9K5wBAz/+q tc2Ztd72pmNN4RGKt/SMtu9C5QH1pWn/pi75pFIzzP+FtfE53zP/pSk64gCNsuad rMv0nlwx4AD/nCkp3CL0m1P2m0Xwnjn5nCuArecp3gCUptx5rO4f3ACUo8IY2hH3 lCn7lCJ/peDrlURzpefrkzgV2ADrkDUI1wD3jClqoen3jB9znt+Jmr1jn/BxnNn2 hh3yhCNjm+bwhCmTk5Namu98ktR+kbdilN1tkdHveiBckthbkt9ZjdZKkO5ajM9O juJtg7NThc5ofq1If91heaxMe8hbdMVddadIdcZRbKI+a8cwZ9Y6ZL5GYpw7WZcx Wb4sU7onSrQyAe1XAAABAHRSTlMAEREiIiIiMzNERERVVVVVVWZmd3d3d3eIiIiI iJmZmZmqqqqqu7u7u7vMzMzMzMzd3d3d3e7u7u7u7u7u7u7u//////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ////////////////////////////////////////////////d2T2bAAAAAlwSFlz AAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENT M5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUANS8xMi8wONLlZOQAABkZSURBVHic 7ZsLXFVVvsePWRkzOpPZg2poMtO6VqPVMHVvNW1ABQ8oddTqlGlIIqkJXUydi5g4 0SULQxOFAUs0rzUBKpqiiSgmxtNIBUVFrm8RgSLA5Aj3/1+Pvdd+nHN4dfLOx99M 56y1/uvx3f//f62991FNpmu6pmtyiXq4D5Ukqb9bR8a49Ychnh49dGN7eniioWcX eHrhlCj39o/py4Z48rF9maG3JzP0dTjekXrwOZVZnaq3pFNvYujlKTf06iyQOwye nLYl1h8uq0c7x8A1+Mdu2TLdC8ZOZ2OJYaAkeUVs2RIBhoGdBYLJp28BpXm120Xg IK80HBMhjEUX9QTAWGxIhEJn0wiGbiGytjuLwKlWOsZLPdYNPEcbAnkQuwA0WZKG DiTy6Of46gBoMh3j7yWPRSDI9UAZqAN7xC6QIndTr77ubjyn3Pr1kze2W7++HtxD aXx9BuRuH6iHG0izNGkDqVPXGEgie8+TTNp7qLKR3fk2iqWR0gFNNgLq258NG+oh B7Knu7K9B/YyAoqdLMtX7uqhnDm4godCbI2NCJQEIAz3UBGIxL9fD35B8pWSC+vh rj41+hoAiYIklQIDcVe7u0lyuXc/+PAKDBQmUoCYFCAqz178Iry8WKF/D1OvwWw4 Cts9ezoGWi15JUKKAJcn3CP8V0MZzprBcKlW2O+JZGp/3/YAURbrXJpzc/FKpcFu GEHfiDS2WqwXCYUjoC3+EeSLxi6WMpKp+fnjn0YmYkCrY4ngpGRAibRhMkG3pikT r7YyyOnCarFQdwLkFStcKGNUQpQm+abRiQLVw9K8Jqsb8IS0qpsoUYSqzSlQrKQH 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 RU5ErkJggg== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/button1.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAANwAAABKCAMAAADnu8rtAAAAA3NCSVQICAjb4U/g AAAAeFBMVEX////////3+/f4+vf1+PPw9u/s9erq9Ofp7+jj8ODh797d7dnU6M7R 58zX5NTN5cfT39DR3s7L3sbI3MPF3L7A2brG18LE1MC71bW507S4z7Kzzay2ybKz ya6uxqmsxKaoxKKnw6Cnv6Kfu5qYtJKSsIuQromKqoMH4LN1AAAAKHRSTlMA//// ////////////////////////////////////////////////ejy08AAAAAlwSFlz AAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENT M5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUANS8xNi8wOF2H87MAAAFbSURBVGiB 7doLcoJAEATQ3gAJmshXsoqYxRjI/W8YwVxhqmu7eCfowZJP78A91F9hvAiCc1no S01w+b1lh7CCZJadrYTv2BHsILATGMKFncAQTuwEhrbhYrUNF6ttuFhtw8VKezjp 1y/pF2fpTx7pj1WXj53qeGtBdL/1J0VYq70wT7+C1uFUrcNVwzB4Qct/bqjYl9jI 4275nbJDWEEypYkq+N2LLFxTXfhkJzCEItOF4lUXKnYCQ6jedKFmJzCEeqcLDTuB ITR7XWjedaFlJzCEMzuBIYRCF3z7IQvJXLIzmFlK2WN50PQsZcdzp2grZWP1/OW2 Tdn4LJuyqjfLw/KcY2cwA39kP2rtILATGELPfrs1pP09Jz2cdM2gXRCx+zdD2qWs dJ0ufRAifYQlffjo2We7hrS3GfyeHcEOkilj78KYgcuvKTuElXVrr2Z3cEb+9y1/ JPct/wBtdvaPQg+dvgAAAABJRU5ErkJggg== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/jump1.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAANwAAABKCAMAAADnu8rtAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRF/////////v7+/v7+/v7+/v7+ /f39/f39/f39/f39/Pz8/Pz8+/v7+vr6+/v7+vr6+vr6+vr6+fn5+fn5+Pj49/f3 +Pj4+Pj49vb29vb29fX19PT09PT09PT08vLy8fHx8fHx8PDw8PDw7e3t6urq5ubm 5eXl4uLiS0tLTU1NT09PUVFRU1NTVVVVVlZWWFhYWlpaXFxcXl5eYGBgYmJiZGRk ZWVlZ2dnaWlpa2trbW1tb29vcXFxc3NzdHR0dnZ2eHh4enp6fHx8fn5+gICAgoKC g4ODhYWFh4eHiYmJi4uLjIyMjo6OkJCQkpKSk5OTlZWVlpaWmJiYmpqam5ubnZ2d np6eoKCgoaGho6OjpKSkpqamp6enqampqqqqrKysra2trq6usLCwsbGxsrKytLS0 tbW1tra2uLi4ubm5urq6u7u7vLy8vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbG x8fHycnJysrKy8vLzMzMzc3Nzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW 1tbW19fX2NjY2dnZ2tra2tra29vb3Nzc3d3d3d3d3t7e39/f39/f4ODg4eHh4eHh 4uLi4+Pj4+Pj5OTk5eXl5eXl5ubm5ubm5+fn6Ojo6Ojo6enp6enp6urq6urq6+vr 6+vr7Ozs7Ozs7e3t7e3t7e3t7u7u7u7u7+/v7+/v8PDw8PDw8PDw8fHx8fHx8fHx 8vLy8vLy8/Pz8/Pz8/Pz9PT09PT09PT09PT09fX19fX19fX19vb29vb29vb29vb2 9/f39/f39/f39/f3+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+fn5+fn5+fn5+fn5+vr6+vr6 +vr6+vr6+vr6+vr6+/v7+/v7+/v7+/v7+/v7+/v7/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8 /Pz8/Pz8/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+ /v7+/v7+/v7+/v7+////////////////////////hyCFGgAAAAF0Uk5TAEDm2GYA AAEHSURBVHja7NotDoNAEIbhuf8BagiuDtdkUrcJAoFZs2oUErt21balV2hIePt9 N3iykMyf9Xfi6Z6Asd6bz8GM9TqVoOLagLWF5TW4OA8wLpFxi3DCCSeccMIJJ5zK LxXOann+vFnt1deCxfXm02NeiLFjtOfDeAPmwFHzfbmUUgbm88+lwL5cfTTsZ9nG ho3lCsalRn45Mm5D4yo3FsIJJ9ypuILG7dwId1ncQsb5xo3lAsa1Ibi4Xj0Heijr y0qMhrLXHsrqUvaSK6yJvHwkr40zuEJB15YzGadmVTjhTsZpKCuccML9CodePqJ3 4uxrhh2MQ18Q9ZrAOPTV3nFveUfeW74EGADmkTrpd0uW+AAAAABJRU5ErkJggg== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/button2.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAwAAABKCAMAAAC4qkWkAAAAA3NCSVQICAjb4U/g AAAAgVBMVEX////////5/Pn4+vf39+/x9+/s9erq9Ofo8Obj8ODh797d7dnd6NvU 6M7a5NjR58zZ49bN5cfT39DR3s7L3sbI3MPE3b7A2LrE1MC71bW9z7q9z7i1zrWy y6yvy6myyK2vxKqsxKakvZ6gvJmdupafuZqbt5SYtZKVs46SsIuMrIXWFopeAAAA K3RSTlMA//////////////////////////////////////////////////////// 5f2bkQAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUg RmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUANS8xNi8wOF2H 87MAAAD8SURBVCiRtZLRUoMwEEWXIpqqkYYSW1AKQQiQ///ApimwF2c6PnmeciaT mezdS5XHtM0x8pC6U0yCRelGsCjdxiyqKEG+OxD1gzKhjP8nDuQTxYBoB2+sqxfR rZuW4YrRjX7swnMZ3e0ckbsx9XmIKgLo7CmbOsObjxDibubpS7DskiameOX9DJK1 lDAGZaBnptvKC7MRS4KxtGcsvTKW3hgHIlEqR4cFOY0kFzof4nxUIcQ0cBpCiCdP NfwZ4uMmpjPqIljS1Ddx/YHMSxBpUAocTj+UHAPJMaqNHDHejWS4kl8Ca8xRali9 wB708VqXxHB3Dr1Y+tbf+3YFq1Qwow3EQEgAAAAASUVORK5CYII= ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline Content-Type: image/png Content-Location: http://www.pharmalot.com/static/images/jump2.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABgAAABKCAMAAACW72Q2AAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAM9QTFRF+vr6/f39/////v7+/Pz8+/v7 4+Pj9PT0qqWm+Pj49vb2lpSU0MnK+fn56Ojo9/f38fHx8/Pz5ubm3Nra0MjK4dzd yMXF7u7u7Onqvrq7lpOU7e3tvbu76+vr7Ozs8vLy0s/Q29XW1tXW5uLj1tXVysjJ sK+vsK6u6urq9fX12tXWl5SV9/b2zcrLvLq7trW1r6qrysnJ4t7f0M/P1s/R6ebn nZqbubW1xMLDw7/Ao6Gh3tna2dPU6+jotK+wqaeo5ODg08zN19XVwsHB19bW5526 TQAAAZdJREFUeNqslGlzgjAQhjcCEcEghyIWldZa69X7vs///5vK6QZnM844fT4l 7zMkkCwLTRk3pZ9AIwUILJ/RAkTCaAGir9ECLEshFmMcB4PBGc5iHB6a5gBnvko4 O8QCxaImgsun79A0H4LwPawvFZgl4fYeQT2XNg9qufxWgZwDl44hkD68xRVn5SqE 4A4tRtyjr4n71EVZDnfSq7VkvBSHZ3kD+DZ+LPLyaSiAlky2XOKB6gkjLzhqGc1i ij20RAONRG8pBPRR/M5mj2hcFFer1QzFHFjFiW2fbiZsvEOsUaxrYnJ/cTO07Y/J 8HlYiFG51MQuKfONqEyVp0IvmR6knFczHUVmMNc5Cn36g2NDFjJNDgaJ79BinBYc EYOi4DrzvOA6Mllrmu9dcP/T4cBTdThIOxx9JMJSCMNF8bZcXqOw8NiPu90jPHex rxAoRCXyYom+Xu567fZr1LvtFeVTCha1S8qcQVVwUT1HUZhNLonMYC4LFn0yWdA/ pyZUwlMIpvrPY43uJS7dS4yYUf0qLvrVnwADANmcKCNZIy87AAAAAElFTkSuQmCC ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=base.css Content-Type: text/css; charset=UTF-8; name=base.css Content-Location: http://www.pharmalot.com/static/css/base.css Content-Transfer-Encoding: 8bit /* Theme Name: Pharmalot 1.4 Description: Devlopment theme for updating to the next version of pharmalot. Version: 1.4 Author: Hassan Hodges Author URI: http://www.pharmalot.com Pharmalot is one of the top 50 business blogs, and now it has ads and daylife integration. This version make minor modifications to ad, and the sidebar. */ /* @group broswer reset */ /* -------------------------------------------------------------- Reset.css * Version: 0.5 (28/8/2007) * Website: http://code.google.com/p/blueprintcss/ Original by Eric Meyer: * meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ -------------------------------------------------------------- */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } /* Tables still need 'cellspacing="0"' in the markup. */ table { border-collapse: separate; border-spacing: 0; } caption, th, td { text-align: left; font-weight: normal; } /* Remove possible quote marks (") from ,
. */ blockquote:before, blockquote:after, q:before, q:after { content: ""; } blockquote, q { quotes: "" ""; } ul>li {list-style-type: none;} /*END OF RESET*/ /* @end */ body { font-size: 12px; line-height: 18px; background: #fffff9 url(../images/body.png) repeat-x 0 80px; } /* @group fonts */ /* BEGIN FONTS */ /* Default fonts */ pre { font-family: Corbel, Verdana, "Bitstream Vera Sans", sans-serif; } code, { font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Monaco, Courier, monospace; } /* serif */ h1,h5,.posthead, #blogcontent>.post>.entry>p, div#tagcloud_full, div.tagcloud,.newspost, .entry, .commenttext, #headlinesaccordian p, .job_desc p, #overline { font-family: Constantia, "Palatino Linotype", Palatino, Georgia, "Times New Roman", Times, serif; } /* san-serif */ body, #blogcontent .dateline, #blogcontent .postline, #singlepostmetadata , .wp-polls, .wp-polls p, .wp-polls input, #blogcontent p.newssubhead, .wp-polls, .display_headline, .display_headline h1, .commentmetadata, .datatable, .newsmetadata, .sans { font-family: Frutiger, Univers, "Helvetica Neue", "Lucida Grande", Calibri, Helvetica, Verdana, sans-serif; } h1, .posthead{ letter-spacing: 0px; font-size: 24px; line-height: 36px; } .posthead{ font-weight: normal; font-style: normal; } h2, h4{ letter-spacing: -1px; font-size: 24px; line-height: 36px; } h3, #sidebar label { color: #D88100; font-size: 18px; font-weight: bold; line-height: 18px; } h6{ font-weight: bold; } a{ padding: 1px; color: #3e7938; text-decoration: underline; } a:hover, .rsslink:hover, .navigation a:hover, #toptags a:hover, #monthly a:hover, #sociallinks li a:hover, #shareitems li a:hover { color: #1b5022; background-color: #d3eaf4; } h1 a, h2 a, h3 a, h4 a { text-decoration: none; } p { padding-bottom: 1em; } strong{ font-weight: bold; } /* END FONTS */ /* @end */ /* @group structure */ /* BEGIN STRUCTURE */ #maincontent { clear: both; } .clearthis { text-indent: -9000px; clear: both; line-height: 0; } .content { margin-right: auto; margin-left: auto; width: 980px; } #header, #footer{ min-width: 1000px; } /* END STRUCTURE */ /* @end */ /* @group header */ /* BEGIN HEADER */ #header_flag { float: left; margin: 24px 0 0; width: 210px; } #header_homebutton{ text-indent: -9000px; background: url(../images/logo2.png) no-repeat; height: 45px; width: 210px; text-decoration: none; display: block; } .catchphrase{ background-color: #d6e296; padding: 2px; float: left; } #header { height: 130px; margin: 0; padding: 2px 0 0; background: #8aaa83; } #header p a { text-decoration: none; color: #356630; font-weight: normal; } #header_content{ width: 980px; margin: 5px auto 0; padding: 0; height: 95px; } #header_subnav{ position: absolute; clear: both; top: 10px; } #header_subnav a{ text-decoration: none; color: #424242; background-color: #d9f4d6; padding: 2px 6px; } #header_subnav li{ display: inline; font-size: 11px; } #topsearch { float: right; margin-top: 2px; margin-right: 30px; } .searchfield, .searchsubmit { color: #356630; padding: 3px 5px; border: none; border-width: 1px; -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; cursor: default; text-decoration: none; } .searchsubmit{ border: 1px solid #d9f4d6; background-color: #cce4c6; } .searchfield { width: 150px; } /* END HEADER */ /* @end */ /* @group ads */ /* BEGIN ADS */ #leaderboardad { position: relative; top: 4px; margin-left: 232px; } .rectanglead{ padding-left: 20px; } #sidebar_inset .rectanglead{ margin-bottom: 24px; } .skyscraper { float: left; display: block; } #skyscraper_nosidebar{ float: right; } /* END ADS */ /* @end */ /* @group colors */ /* BEGIN COLORS */ #header, .navigation a { background-color: #cce4c6; } #smallbotmenu, #navbar{ background-color: #8aaa83; } /* END COLORS */ /* @end */ /* @group display headline */ /* This could use a better name, display headlines are big marketing esque centered items */ /* BEGIN DISPLAY HEADLINES */ .display_headline{ text-align: center; font-size: 135%; } .display_headline p{ margin-top: 18px; line-height: 155%; font-weight: bold; } .display_headline h1{ font-size: 350%; } .display_headline h2{ font-size: 150%; } .display_headline a{ } .display_headline a:hover{ background-color: #fefd90; } /* END DISPLAY HEADLINES */ /* @end */ /* @group breadcrumbs */ #breadcrumbs{ font-size: 12px; letter-spacing: 0; color: #ccc; line-height: 24px; margin-bottom: 6px; } #breadcrumbs a{ color: #999; text-decoration: underline; } #overline{ font-size: 12px; line-height: 12px; letter-spacing: 0; text-align: center; color: #8aaa83; margin-top: 6px; margin-bottom: 12px; border-bottom: 1px solid #cce4c6; padding-bottom: 12px; } /* @end */ /* @group Blog Content */ /* BEGIN BLOG CONTENT */ #blogcontent .entry, #blogcontent .entry p, #blogcontent .comment, .job_desc p{ font-size: 15px; line-height: 18px; } #blogcontent .entry p.attachment img { float: none; } #blogcontent { width: 565px; float: left; padding-top: 15px; border-right: 1px solid #d9f4d6; border-left: 1px solid #d9f4d6; border-bottom: 1px solid #d9f4d6; padding-right: 15px; background-color: #fff; padding-left: 15px; padding: 12px; } #blogcontent p { color: #333; } #blogcontent p img, #blogcontent .gallery img { margin-bottom: 6px; margin-right: 6px; padding: 6px; border: dotted 1px #58ae51; } #blogcontent p>img, #blogcontent p>a>img { float: left; } #blogcontent p>img.alignright, #blogcontent p>a>img.alignright { float: right; } #blogcontent blockquote { color: #666; background-color: #e5f8bc; background-image: url(../images/quotes.png); background-repeat: no-repeat; background-position: left top; padding: 20px 20px 20px 100px; } #blogcontent .gallery { padding-left: 18px; padding-bottom: 12px; padding-right: 12px; padding-top: 12px; border-color: #58ae51; border-style: solid; border-width: 1px; margin: 6px; } .entry{ margin-bottom: 24px; } .imageframe { } .imgalignleft, .img.alignleft { float: left; } .imgalignright, .img.alignright, .alignright { float: right; } .imgaligncenter { margin-left: auto; margin-right: auto; } #blogcontent .dateline { color: #a2a2a2; border-top: 1px dotted #cce4c6; line-height: 18px; } .newsmetadata { clear: both; border-top: 1px solid #c7deef; padding-bottom: 6px; margin-top: 4px; } p.akst_link { float: left; } .datatable{ margin: 6px; width: 100%; color: #666; font-size: 12px; } .datatable th{ font-weight: bold; text-align: right; padding-right: 4px; padding-top: 3px; padding-bottom: 3px; border-bottom: 2px solid #cce4c6; } .datatable td{ text-align: right; border-bottom: 1px dotted #cce4c6; padding: 3px 8px 3px 2px; } .post{ clear: both; } /* END BLOG CONTENT */ .noborder {border: none; color: #ffffff; } .noborder img{border: none; color: #ffffff; } /* @end */ /* @group Next/previous */ /* BEGIN NEXT/PREVIOUS */ .small_navigation{ } .big_navigation{ padding: 4px; font-size: 18px; font-weight: bold; } .navigation { clear: both; margin: 18px 4px 40px; } .navigation .newer { float: left; text-align: left; } .navigation .older { float: right; text-align: right; margin-top: 18px; } .navigation a{ padding: 6px 18px 6px 12px; text-decoration: none; border: 1px solid #3e7938; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } /* END NEXT/PREVIOUS */ /* @end */ /* @group Share */ #shareitems li{ display: block; float: left; padding: 6px; } a.sharebutton{ display: block; width: 48px; padding: 50px 0 12px; text-align: center; text-decoration: none; height: 18px; line-height: 12px; font-size: 11px; } a.sharebutton:hover{ font-weight: bold; background-color: #fff; } #shareprin{ background: url(../images/share.png) no-repeat 0 0; } #sharemail{ background: url(../images/share.png) no-repeat -48px 0; } #sharedigg{ background: url(../images/share.png) no-repeat -96px 0; } #shareredd{ background: url(../images/share.png) no-repeat -144px 0; } #shareface{ background: url(../images/share.png) no-repeat -240px 0; } #sharetwit{ background: url(../images/share.png) no-repeat -288px 0; } #shareaddt{ background: url(../images/share.png) no-repeat -336px 0; } /* @end */ /* @group Comments */ /* BEGIN COMMENTS */ #comments{ margin-top: 48px; } textarea#comment{ width: 400px; } .commentcount { margin-right: 24px; float: right; } .commentcount a { font-weight: bold; } .comment, .indentblock { border-top: 1px dotted #cce4c6; margin-bottom: 12px; clear: both; padding-top: 12px; } #commentform{ margin-left: 120px; } .commenttext, .indented{ pading-left: 140px; } .commenttext{ overflow: hidden; width: 420px; } .comment_too_long { height: 300px; } .comment h3 a { color: #d28b21; } .commentmetadata, .indent_notch, #respond { width: 120px; float: left; margin-bottom: 24px; } .commentdate, .commentpermalink{ font-size: 9px; } .commentlist li{ list-style-type: none; } /* END COMMENTS */ /* @end */ /* @group Sidebar */ /* BEGIN SIDEBAR */ #featuredblogposts{ margin-bottom: 18px; } #featuredblogposts>li>a{ font-size: 16px; text-decoration: none; display: block; padding: 3px 0px 9px 0px; } .related_topics h3{ padding-bottom: 8px; } .related_topics{ height: 90px; } #sidebar{ background: #fffff9; } #sidebar, #sidebar_inset{ width: 340px; float: left; padding: 15px; } #sidebar, #sidebar_inset { color: #a1a1a1; } #sidebar p, #sidebar_inset p{ color: #356630; clear: both; } #sidebar a, #sidebar_inset a{ font-weight: bold; } .halfwidth { width: 160px; float: left; margin-left: 16px; } #sidebox_top{ width: 328px; margin-bottom: 15px; color: #000; background: #fff; padding: 6px 5px 10px; height: 36px; } .rsssubscribelink, .emailsignup{ text-decoration: none; font-weight: bold; margin: 0 8px 0 0; display: block; padding-right: 41px; text-align: right; height: 32px; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; padding-top: 7px; float: left; } .emailsignup{ background: #e2f0ff url(../images/mail32.png) no-repeat right 4px; padding-left: 12px; color: #2681c5; font-size: 18px; line-height: 26px; width: 165px; } .rsssubscribelink{ color: #c65b27; width: 44px; background: #ffe9d6 url(../images/feed32.png) no-repeat right 4px; padding-right: 41px; line-height: 12px; } .rsssubscribelink:hover{ background-color: #ffc18c; } .teaserbox { float: left; margin-bottom: 6px; border-top: 1px solid #64c05a; width: 340px; padding-top: 6px; padding-bottom: 6px; } #skyscraper_teaserbox{ border-top-width: 0; padding-top: 0; } #next_to_skyscraper{ border-top: 1px solid #64c05a; padding-top: 6px; } #teaserboxes .teaserbox { width: 206px; height: 206px; padding: 16px; } .teaserbox li { margin-top: 6px; } #comments_teasers>ul>li{ clear: both; border-top: 1px solid #cce4c6; padding-top: 6px; } #comments_teasers{ } .comment_teaser_meta{ width: 110px; float: left; font-size: 9px; text-align: right; } .comment_teaser_meta a{ font-size: 12px; } .comment_teaser_text{ margin-left: 120px; } #relatedtags .relatedtaglist li { float: left; padding: 0 4px 4px; } #relatedtags a.relatedtagname { font-weight: normal; text-decoration: none; } #relatedtags a.relatedplus { color: #356630; font-weight: bold; text-decoration: none; } /* END SIDEBAR */ /* @end */ /* @group Footer */ /* BEGIN FOOTER */ #archivesearch { float: right; margin-top: 9px; } #footer { background: #cce4c6 url(../images/header.png) repeat-x center -112px; padding-bottom: 120px; padding-top: 60px; color: #999; } #privacystatement{ margin-top: 36px; text-align: center; } #footer h3{ border-bottom: 1px solid #8aaa83; margin-bottom: 6px; color: #8aaa83; font-size: 24px; line-height: 36px; } .emptymonth, #monthly a, #year_nav_archive a{ padding: 4px; } #toptags_box, #archives_box, #footer_nav_box{ float: left; height: 200px; } #toptags_box{ width: 190px; margin-right: 24px; } #archives_box{ width: 430px; margin-right: 24px; } #footer_nav_box{ width: 310px; text-align: right; } #sociallinks{ padding-bottom: 36px; } #sociallinks li{ list-style-type: none; float: left; } #sociallinks li a{ display: block; width: 144px; margin-right: 24px; height: 44px; text-indent: -9000px; padding: 0; border: 2px solid #cce4c6; } #sociallinks>li:last-child a{ margin-right: 0px; } #sociallinks li a{ border: 2px solid #cce4c6; } #sociallinks li a:hover{ border: 2px solid #8aaa83; } #twitter_button{background: url(../images/logos.png) no-repeat;} #facebook_button{background: url(../images/logos.png) no-repeat 0 -44px;} #rss_button{background: url(../images/logos.png) no-repeat 0 -88px;} #inbox_button{background: url(../images/logos.png) no-repeat 0 -132px;} #technorati_button{background: url(../images/logos.png) no-repeat 0 -176px;} /* END FOOTER */ /* @end */ /* @group Calendar */ /* BEGIN CALENDAR */ .archive_nav{ height: 160px; padding-right: 70px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #8aaa83; } #year_nav_archive{ padding-bottom: 24px; padding-top: 12px; } #year_nav_archive li{ list-style-type: none; } table#wp-calendar { color: #599e59; margin-bottom: 4px; width: 200px; float: right; } #wp-calendar caption { color: #356630; font-weight: bold; text-align: center; padding: 1px; border-bottom: 1px solid #e5f8bc; } #wp-calendar #prev, #wp-calendar #next { text-align: center; } #wp-calendar a { font-weight: bold; text-decoration: none; padding: 2px; } #wp-calendar a:hover { background-color: #8ce483; } #wp-calendar td { text-align: center; background-color: #fff; padding: 2px; } #wp-calendar th { display: none; } /* END CALENDAR */ /* @end */ /* @group Tagcloud */ /* BEGIN TAG CLOUD */ ul#tagcloud_full { width: 532px; } div#tagcloud a, div#tagcloud_full a { padding: 4px; line-height: 24px; text-decoration:none; } div#tagcloud_full li a:hover { color: #3e7938; text-decoration:underline; } /* END TAG CLOUD */ /* @end */ /* @group formmail */ /* BEGIN FORMMAIL */ form.ddfm .required { color: #FF0000; } .ddfmerrors { color: #FF0000; } form.ddfm h1 { font-size: 140%; } form.ddfm h2 { font-size: 115%; } form.ddfm legend, form.ddfm label, form.ddfm label.fmtextlblwide { font-size: 100%; font-weight: bold; } .ddfmerrors { font-weight: bold; } .ddfmwrap{ margin: 15px auto 15px auto; width: 450px; } #betafeedback>.ddfmwrap{ width: 100%; } .ddfmwrap p.fieldwrap { padding: 1px; margin: 1px; } form.ddfm { text-align: left; width: 430px; padding-top: 15px; padding-left: 15px; } form.ddfm fieldset { padding: 0 10px 2px 10px; margin: 0 0 13px 0; display: block; } form.ddfm legend { padding: 0 6px 0 6px; margin: 0 0 0 10px; background-color:#3e7938; } form.ddfm label { display: block; float: left; width: 26%; text-align: right; margin: 0 10px 0 0; padding-bottom: 15px; clear: left; } form.ddfm label.fmtextlblwide { display: block; float: left; text-align: left; margin: 0 10px 0 1px; padding-bottom: 8px; } form.ddfm select.fmselect { float: left; display: block; width: 65%; margin-bottom: 15px; padding: 3px; } form.ddfm .fmcheck { width: 65%; float: left; display: block; margin-bottom: 15px; } form.ddfm .fmradio { width: 65%; float: left; display: block; margin-bottom: 15px; } form.ddfm .fmcheck p { padding: 0; margin: 0 0 5px 0; } form.ddfm .fmradio p { padding: 0; margin: 0 0 5px 0; } form.ddfm textarea { float: left; position: relative; width: 65%; margin-bottom: 15px; padding: 3px; } form.ddfm .fmfullblock { padding-left: 0px; float: left; width: 100%; margin-bottom: 13px; display: block; } form.ddfm .fmhalfblock { width: 65%; padding-left: 29%; margin-bottom: 13px; float: left; display: block; } form.ddfm input.fmverify { float: left; width: 22%; margin-bottom: 15px; padding: 3px; position: relative; display: block; } #blogcontent form.ddfm img { border-width: 0px; margin-left: 10px; margin-bottom: 0; margin-right: 0; margin-top: 0px; padding: 0px; float: left; } form.ddfm input.fmfile, form.ddfm input.fmtext { float: left; display: block; width: 65%; margin-bottom: 15px; padding: 3px; } form.ddfm textarea.fmtextwide { display: block; float: left; width: 93%; margin-right: 2px; margin-bottom: 15px; padding: 3px; } form.ddfm .credits { text-align: right; margin-top: 7px; margin-right: 10px; width: 95%; } form.ddfm .submit { margin-top: 15px; margin-right: 10px; text-align: right; clear:both; width: 95%; } .ddfmwrap .ddfmerrors { display: block; float: left; width: 27%; text-align: right; margin: 0 10px 0 0; padding-bottom: 15px; } .ddfmwrap .errorlist { float: left; display: block; width: 65%; margin-bottom: 15px; padding: 3px; } /* END FORMMAIL */ /* @end */ /* @group Polls */ /* BEGIN POLLS */ .wp-polls { padding-top: 10px; border: 1px solid #ebebeb; margin: 2px; } #wp-polls-sidebar{ padding: 8px; background-color: white; } #wp-polls-sidebar>.wp-polls,#wp-polls-sidebar .wp-polls-ans{ border: 0px solid #ffffff; background-color: white; background-position-y: 1000px; padding: 0; } .wp-polls p { text-align: left; font-size: 12px; } .wp-polls>p>strong{ font-size: 18px; } .wp-polls li { padding-top: 6px; } .wp-polls li label { padding-left: 6px; } .wp-polls-ul { width: 80%; margin-right: auto; margin-left: auto; } /* END POLLS */ /* @end */ /* @group NavBar */ /* BEGIN NAVBAR */ #navbar{ clear: both; padding-left: 0; padding-right: 0; height: 30px; font-size: 18px; margin-bottom: 0; padding-bottom: 0; font-weight: bold; line-height: 18px; } #navbar>li{ display: inline; } #navbar a{ color: #000; } .navitem{ float: left; margin-left: 6px; border-top: 4px solid #8aaa83; padding: 0; display: block; height: 26px; } .navitem.activeitem{ /*border-bottom: 6px solid #fff;*/ } .navitemlink{ float: left; text-decoration: none; padding: 4px 12px; } #navbar a:hover{ } #navbar>.activeitem>a{ color: #35692f; background-color: #fff; } #navbar>.activeitem>a:hover{ color: #35692f; background-color: #b5e5ad; } /* END NAVBAR */ /* @end */ /* @group News Page */ /* BEGIN NEWS */ .newspost h3{ font-weight: normal; } .topicbox { padding: 4px; float: left; text-align: center; font-weight: bold; } .topicbox a{ text-decoration: none; font-size: 14px; } #recentheadlines li{ clear: both; margin-bottom: 18px; } #recentheadlines{ clear: both; margin-bottom: 24px; } .recentmeta{ text-align: right; width: 130px; float: left; color: #666; } .recentheadline{ margin-left: 140px; display: block; text-decoration: none; } /*.newsmetadata { font-size: 10px; text-align: right; border-top: 1px solid #ccc; }*/ .powerbydaylife{ float: right; background: url(../images/daylife_rect.png) no-repeat right top; text-indent: -9000px; z-index: 2; display: block; width: 133px; height: 55px; } #newspagelink{ margin-top: 6px; margin-bottom: 6px; } #newspagelink li{ display: inline; } #newspagelink a{ padding: 4px; } #news_companies_list a, #news_companies_list_2 a{ text-decoration: none; } #news_companies_list, #news_companies_list_2{ font-size: 15px; line-height: 18px; } .companynewsitem{ margin-bottom: 36px; font-size: 12px; width: 263px; float: left; margin-right: 18px; } .companynewsitem h3{ padding-bottom: 6px; } #news_companies_list h3 a, #news_companies_list_2 h3 a{ color: #396099; display: block; padding-bottom: 6px; border-bottom-style: solid; border-bottom-width: 1px; } .companynewsitem li{ margin-bottom: 6px; border-bottom: 1px solid #cce4c6; } .companynewsitem li a{ display: block; padding: 2px; } #headlinesaccordian .newsmetadata{ width: 180px; float: left; text-align: right; } #headlinesaccordian h3 a{ text-decoration: none; color: #1a3c5f; display: block; margin-left: 200px; padding: 4px; font-weight: normal; font-style: normal; font-size: 18px; line-height: 24px; } #headlinesaccordian{ padding-bottom: 48px; } #headlinesaccordian li{ clear: both; margin-bottom: 18px; } #headlinesaccordian .newspost p{ line-height: 18px; clear: both; margin-left: 200px; } .indivheadline { top: 20px; width: 460px; height: 20px; padding-top: 4px; letter-spacing: 1px; overflow: hidden; display: none; } .indivheadline a{ text-decoration: none; color: #396099; padding-left: 10px; } .submenu { background-color: #396099; font-size: 10px; } #companymenulist li{ display: inline; list-style-type: disc; list-style-position: outside; padding: 3px; } .submenu li a{ display: inline; color: white; } /* END NEWS */ #blogcontent .extrabigheadline, #sidebar .extrabigheadline, .extrabigheadline{ color: #396099; font-size: 30px; padding: 18px 6px 6px 2px; clear: both; } /* @end */ /* @group Misc. */ /* BEGIN MISC */ .sitemappage li { padding: 4px; } .sitemapblock { width: 240px; float: left; margin-right: 6px; padding: 4px; border: dotted 1px #ccc; } #sidebaradvertise{ width: 220px; text-align: center; margin: 12px auto 18px; } #sidebaradvertise p{ margin-bottom: 0; padding-bottom: 0; } .more-link{ text-align: right; float: right; } .action, .jump{ line-height: 24px; font-size: 12px; text-decoration: none; display: block; padding: 0; font-weight: bold; height: 24px; } .action{background: url(../images/button1.png) no-repeat left top;} .jump{ background: url(../images/jump1.png) no-repeat left top; float: right; margin-bottom: 12px; } .action span, .jump span{ background: url(../images/button2.png) no-repeat right top; display: block; line-height: 14px; } .action span{ background: url(../images/button2.png) no-repeat right top; padding: 5px 18px 5px 18px; } .jump span{ background: url(../images/jump2.png) no-repeat right top; padding: 5px 24px 5px 18px; } .action:hover{ background: url(../images/button1.png) no-repeat left center; } .action span:hover{ background: url(../images/button2.png) no-repeat right center; } .action:active{ background: url(../images/button1.png) no-repeat left bottom; } .action span:active{ background: url(../images/button2.png) no-repeat right bottom; } #error404 h2{ font-size: 36px; padding-top: 24px; padding-bottom: 24px; } #error404 p{ font-size: 16px; padding-top: 24px; width: 600px; color: gray; } /* END MISC */ .txtright{ text-align: right; } #problems { background-color: #ffbdb5; padding: 15px; border: 1px solid #ff1b00; width: 800px; margin: 50px auto; } #problems_minor { background-color: #fffed1; padding: 15px; border: 1px solid #d8d78d; width: 800px; margin: 20px auto; } #fixedinfo{ bottom: 0px; font-size: 2em; font-weight: bold; position: fixed; background-color: #fffd88; padding: 4px; } .printonly{ display: none; } /* @end */ /* @group heavy things */ #header { background: url(../images/header.png) center center; } /* @end */ /* +----------------------------------------------------------------+ | | | WordPress 2.5 Plugin: WP-Polls 2.30 | | Copyright (c) 2008 Lester "GaMerZ" Chan | | | | File Written By: | | - Lester "GaMerZ" Chan | | - http://lesterchan.net | | | | File Information: | | - Polls CSS File | | - wp-content/plugins/wp-polls/polls-css.css | | | +----------------------------------------------------------------+ */ .wp-polls-archive { /* background-color: #ffffff; */ } .wp-polls, .wp-polls-form { /* background-color: #ffffff; */ } .wp-polls ul li, wp-polls-ul li, .wp-polls-ans ul li { text-align: left; background-image: none; display: block; } .wp-polls ul, .wp-polls-ul, .wp-polls-ans ul { text-align: left; list-style: none; } .wp-polls ul li:before, wp-polls-ul li, .wp-polls-ans ul li:before, #sidebar ul ul li:before { content: ''; } .wp-polls IMG, .wp-polls LABEL , .wp-polls INPUT, .wp-polls-loading IMG, .wp-polls-image IMG { display: inline; border: 0px; padding: 0px; margin: 0px; } .wp-polls-ul { padding: 0px; margin: 0px 0px 10px 10px; } .wp-polls-ans { width:100%; filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; /* background-color: #ffffff; */ } .wp-polls-loading { display: none; text-align: center; height: 16px; line-height: 16px; } .wp-polls-image { border: 0px; } .wp-polls .Buttons { border:1px solid #c8c8c8; background-color: #f3f6f8; } /* Polls Archive Paging */ .wp-polls-paging a, .wp-polls-paging a:link { padding: 2px 4px 2px 4px; margin: 2px; text-decoration: none; border: 1px solid #0066cc; color: #0066cc; background-color: #FFFFFF; } .wp-polls-paging a:visited { padding: 2px 4px 2px 4px; margin: 2px; text-decoration: none; border: 1px solid #0066cc; color: #0066cc; background-color: #FFFFFF; } .wp-polls-paging a:hover { border: 1px solid #000000; color: #000000; background-color: #FFFFFF; } .wp-polls-paging a:active { padding: 2px 4px 2px 4px; margin: 2px; text-decoration: none; border: 1px solid #0066cc; color: #0066cc; background-color: #FFFFFF; } .wp-polls-paging span.pages { padding: 2px 4px 2px 4px; margin: 2px 2px 2px 2px; color: #000000; border: 1px solid #000000; background-color: #FFFFFF; } .wp-polls-paging span.current { padding: 2px 4px 2px 4px; margin: 2px; font-weight: bold; border: 1px solid #000000; color: #000000; background-color: #FFFFFF; } .wp-polls-paging span.extend { padding: 2px 4px 2px 4px; margin: 2px; border: 1px solid #000000; color: #000000; background-color: #FFFFFF; } /* Styles Used In WP-Admin */ #wp-polls-pollbar-bg { width: 25px; height: 25px; border: 1px solid #000000; } #wp-polls-pollbar-border { width: 25px; height: 25px; border: 1px solid #000000; } .wp-polls .pollbar { margin: 1px; font-size: 6px; line-height: 8px; height: 8px; background-image: url('../images/wp-polls/default/pollbg.gif'); border: 1px solid #c8c8c8; } ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=print.css Content-Type: text/css; charset=UTF-8; name=print.css Content-Location: http://www.pharmalot.com/static/css/print.css Content-Transfer-Encoding: 8bit #sidebar, #footer, #navbar, #leaderboardad, #header_subnav, #breadcrumbs, #shareitems, #relatedposts, #tagblock, #commentform, .catchphrase, .clearthis, .jump, .commentpermalink, #fixedinfo, .noprint{ display: none; } #blogcontent{ width: 100%; } .commentcount { margin-right: 24px; float: right; } .commentcount a { font-weight: bold; } #header_flag h3{ border-bottom: 2px solid #000; padding-bottom: 12px; } #blogcontent p>img { float: left; margin: 18px 18px 18px 0; } #printfooter{ border-top: 2px solid #000; } .imgalignleft { float: left; } .imgalignright { float: right; } .imgaligncenter { margin-left: auto; margin-right: auto; } #blogcontent .dateline { color: #a2a2a2; border-top: 1px dotted #cce4c6; line-height: 18px; font-size: 12px; } h1 a, #header_flag h3 a{ text-decoration: none; } #blogcontent p{ line-height: 24px; font-size: 18px; } .printonly{ margin-top: 24px; margin-bottom: 24px; } .comment, #commentform, .indentblock { border-top: 1px dotted #cce4c6; margin-bottom: 12px; clear: both; } .commenttext, .indented{ margin-left: 140px; } .commentmetadata, .indent_notch { width: 120px; float: left; } ul.commentmetadata_ul{ padding: 0; } .commentdate, .commenttime{ font-size: 9px; line-height: 15px; } .commentlist li{ list-style-type: none; } h3, #sidebar label { font-size: 18px; font-weight: bold; line-height: 18px; margin-top: 0; margin-bottom: 0; } pre { font-family: Corbel, Verdana, "Bitstream Vera Sans", sans-serif; } code, { font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Monaco, Courier, monospace; } /* serif */ h1,h5,.posthead, #blogcontent>.post>.entry>p, div#tagcloud_full, div.tagcloud,.newspost, .entry, .commenttext, #headlinesaccordian p, .job_desc p, #overline { font-family: Constantia, "Palatino Linotype", Palatino, Georgia, "Times New Roman", Times, serif; } /* san-serif */ body, #blogcontent .dateline, #blogcontent .postline, #singlepostmetadata , .wp-polls, .wp-polls p, .wp-polls input, #blogcontent p.newssubhead, .wp-polls, .display_headline, .display_headline h1, .commentmetadata, .datatable, .newsmetadata, .sans { font-family: Frutiger, Univers, "Helvetica Neue", "Lucida Grande", Calibri, Helvetica, Verdana, sans-serif; } ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=jquery.js Content-Type: application/x-javascript; charset=UTF-8; name=jquery.js Content-Location: http://www.pharmalot.com/static/js/jquery.js Content-Transfer-Encoding: Base64 LyoKICogalF1ZXJ5IDEuMi42IC0gTmV3IFdhdmUgSmF2YXNjcmlwdAogKgogKiBD b3B5cmlnaHQgKGMpIDIwMDggSm9obiBSZXNpZyAoanF1ZXJ5LmNvbSkKICogRHVh bCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpCiAqIGFu ZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiAqCiAqICREYXRlOiAy MDA4LTA1LTI0IDE0OjIyOjE3IC0wNDAwIChTYXQsIDI0IE1heSAyMDA4KSAkCiAq ICRSZXY6IDU2ODUgJAogKi8KKGZ1bmN0aW9uKCl7dmFyIF9qUXVlcnk9d2luZG93 LmpRdWVyeSxfJD13aW5kb3cuJDt2YXIgalF1ZXJ5PXdpbmRvdy5qUXVlcnk9d2lu ZG93LiQ9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCl7cmV0dXJuIG5ldyBqUXVl cnkuZm4uaW5pdChzZWxlY3Rvcixjb250ZXh0KTt9O3ZhciBxdWlja0V4cHI9L15b XjxdKig8KC58XHMpKz4pW14+XSokfF4jKFx3KykkLyxpc1NpbXBsZT0vXi5bXjoj XFtcLl0qJC8sdW5kZWZpbmVkO2pRdWVyeS5mbj1qUXVlcnkucHJvdG90eXBlPXtp bml0OmZ1bmN0aW9uKHNlbGVjdG9yLGNvbnRleHQpe3NlbGVjdG9yPXNlbGVjdG9y fHxkb2N1bWVudDtpZihzZWxlY3Rvci5ub2RlVHlwZSl7dGhpc1swXT1zZWxlY3Rv cjt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzO31pZih0eXBlb2Ygc2VsZWN0b3I9 PSJzdHJpbmciKXt2YXIgbWF0Y2g9cXVpY2tFeHByLmV4ZWMoc2VsZWN0b3IpO2lm KG1hdGNoJiYobWF0Y2hbMV18fCFjb250ZXh0KSl7aWYobWF0Y2hbMV0pc2VsZWN0 b3I9alF1ZXJ5LmNsZWFuKFttYXRjaFsxXV0sY29udGV4dCk7ZWxzZXt2YXIgZWxl bT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChtYXRjaFszXSk7aWYoZWxlbSl7aWYo ZWxlbS5pZCE9bWF0Y2hbM10pcmV0dXJuIGpRdWVyeSgpLmZpbmQoc2VsZWN0b3Ip O3JldHVybiBqUXVlcnkoZWxlbSk7fXNlbGVjdG9yPVtdO319ZWxzZQpyZXR1cm4g alF1ZXJ5KGNvbnRleHQpLmZpbmQoc2VsZWN0b3IpO31lbHNlIGlmKGpRdWVyeS5p c0Z1bmN0aW9uKHNlbGVjdG9yKSlyZXR1cm4galF1ZXJ5KGRvY3VtZW50KVtqUXVl cnkuZm4ucmVhZHk/InJlYWR5IjoibG9hZCJdKHNlbGVjdG9yKTtyZXR1cm4gdGhp cy5zZXRBcnJheShqUXVlcnkubWFrZUFycmF5KHNlbGVjdG9yKSk7fSxqcXVlcnk6 IjEuMi42IixzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoO30sbGVu Z3RoOjAsZ2V0OmZ1bmN0aW9uKG51bSl7cmV0dXJuIG51bT09dW5kZWZpbmVkP2pR dWVyeS5tYWtlQXJyYXkodGhpcyk6dGhpc1tudW1dO30scHVzaFN0YWNrOmZ1bmN0 aW9uKGVsZW1zKXt2YXIgcmV0PWpRdWVyeShlbGVtcyk7cmV0LnByZXZPYmplY3Q9 dGhpcztyZXR1cm4gcmV0O30sc2V0QXJyYXk6ZnVuY3Rpb24oZWxlbXMpe3RoaXMu bGVuZ3RoPTA7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcyxlbGVtcyk7 cmV0dXJuIHRoaXM7fSxlYWNoOmZ1bmN0aW9uKGNhbGxiYWNrLGFyZ3Mpe3JldHVy biBqUXVlcnkuZWFjaCh0aGlzLGNhbGxiYWNrLGFyZ3MpO30saW5kZXg6ZnVuY3Rp b24oZWxlbSl7dmFyIHJldD0tMTtyZXR1cm4galF1ZXJ5LmluQXJyYXkoZWxlbSYm ZWxlbS5qcXVlcnk/ZWxlbVswXTplbGVtLHRoaXMpO30sYXR0cjpmdW5jdGlvbihu YW1lLHZhbHVlLHR5cGUpe3ZhciBvcHRpb25zPW5hbWU7aWYobmFtZS5jb25zdHJ1 Y3Rvcj09U3RyaW5nKWlmKHZhbHVlPT09dW5kZWZpbmVkKXJldHVybiB0aGlzWzBd JiZqUXVlcnlbdHlwZXx8ImF0dHIiXSh0aGlzWzBdLG5hbWUpO2Vsc2V7b3B0aW9u cz17fTtvcHRpb25zW25hbWVdPXZhbHVlO31yZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKGkpe2ZvcihuYW1lIGluIG9wdGlvbnMpalF1ZXJ5LmF0dHIodHlwZT90aGlz LnN0eWxlOnRoaXMsbmFtZSxqUXVlcnkucHJvcCh0aGlzLG9wdGlvbnNbbmFtZV0s dHlwZSxpLG5hbWUpKTt9KTt9LGNzczpmdW5jdGlvbihrZXksdmFsdWUpe2lmKChr ZXk9PSd3aWR0aCd8fGtleT09J2hlaWdodCcpJiZwYXJzZUZsb2F0KHZhbHVlKTww KXZhbHVlPXVuZGVmaW5lZDtyZXR1cm4gdGhpcy5hdHRyKGtleSx2YWx1ZSwiY3Vy Q1NTIik7fSx0ZXh0OmZ1bmN0aW9uKHRleHQpe2lmKHR5cGVvZiB0ZXh0IT0ib2Jq ZWN0IiYmdGV4dCE9bnVsbClyZXR1cm4gdGhpcy5lbXB0eSgpLmFwcGVuZCgodGhp c1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxkb2N1bWVudCkuY3JlYXRlVGV4 dE5vZGUodGV4dCkpO3ZhciByZXQ9IiI7alF1ZXJ5LmVhY2godGV4dHx8dGhpcyxm dW5jdGlvbigpe2pRdWVyeS5lYWNoKHRoaXMuY2hpbGROb2RlcyxmdW5jdGlvbigp e2lmKHRoaXMubm9kZVR5cGUhPTgpcmV0Kz10aGlzLm5vZGVUeXBlIT0xP3RoaXMu bm9kZVZhbHVlOmpRdWVyeS5mbi50ZXh0KFt0aGlzXSk7fSk7fSk7cmV0dXJuIHJl dDt9LHdyYXBBbGw6ZnVuY3Rpb24oaHRtbCl7aWYodGhpc1swXSlqUXVlcnkoaHRt bCx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmNsb25lKCkuaW5zZXJ0QmVmb3JlKHRo aXNbMF0pLm1hcChmdW5jdGlvbigpe3ZhciBlbGVtPXRoaXM7d2hpbGUoZWxlbS5m aXJzdENoaWxkKWVsZW09ZWxlbS5maXJzdENoaWxkO3JldHVybiBlbGVtO30pLmFw cGVuZCh0aGlzKTtyZXR1cm4gdGhpczt9LHdyYXBJbm5lcjpmdW5jdGlvbihodG1s KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmNvbnRl bnRzKCkud3JhcEFsbChodG1sKTt9KTt9LHdyYXA6ZnVuY3Rpb24oaHRtbCl7cmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGh0 bWwpO30pO30sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAo YXJndW1lbnRzLHRydWUsZmFsc2UsZnVuY3Rpb24oZWxlbSl7aWYodGhpcy5ub2Rl VHlwZT09MSl0aGlzLmFwcGVuZENoaWxkKGVsZW0pO30pO30scHJlcGVuZDpmdW5j dGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyx0cnVlLHRydWUs ZnVuY3Rpb24oZWxlbSl7aWYodGhpcy5ub2RlVHlwZT09MSl0aGlzLmluc2VydEJl Zm9yZShlbGVtLHRoaXMuZmlyc3RDaGlsZCk7fSk7fSxiZWZvcmU6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZmFsc2UsZmFsc2UsZnVu Y3Rpb24oZWxlbSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRo aXMpO30pO30sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChh cmd1bWVudHMsZmFsc2UsdHJ1ZSxmdW5jdGlvbihlbGVtKXt0aGlzLnBhcmVudE5v ZGUuaW5zZXJ0QmVmb3JlKGVsZW0sdGhpcy5uZXh0U2libGluZyk7fSk7fSxlbmQ6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHxqUXVlcnkoW10pO30s ZmluZDpmdW5jdGlvbihzZWxlY3Rvcil7dmFyIGVsZW1zPWpRdWVyeS5tYXAodGhp cyxmdW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LmZpbmQoc2VsZWN0b3IsZWxl bSk7fSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKC9bXis+XSBbXis+XS8udGVzdChz ZWxlY3Rvcil8fHNlbGVjdG9yLmluZGV4T2YoIi4uIik+LTE/alF1ZXJ5LnVuaXF1 ZShlbGVtcyk6ZWxlbXMpO30sY2xvbmU6ZnVuY3Rpb24oZXZlbnRzKXt2YXIgcmV0 PXRoaXMubWFwKGZ1bmN0aW9uKCl7aWYoalF1ZXJ5LmJyb3dzZXIubXNpZSYmIWpR dWVyeS5pc1hNTERvYyh0aGlzKSl7dmFyIGNsb25lPXRoaXMuY2xvbmVOb2RlKHRy dWUpLGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjb250 YWluZXIuYXBwZW5kQ2hpbGQoY2xvbmUpO3JldHVybiBqUXVlcnkuY2xlYW4oW2Nv bnRhaW5lci5pbm5lckhUTUxdKVswXTt9ZWxzZQpyZXR1cm4gdGhpcy5jbG9uZU5v ZGUodHJ1ZSk7fSk7dmFyIGNsb25lPXJldC5maW5kKCIqIikuYW5kU2VsZigpLmVh Y2goZnVuY3Rpb24oKXtpZih0aGlzW2V4cGFuZG9dIT11bmRlZmluZWQpdGhpc1tl eHBhbmRvXT1udWxsO30pO2lmKGV2ZW50cz09PXRydWUpdGhpcy5maW5kKCIqIiku YW5kU2VsZigpLmVhY2goZnVuY3Rpb24oaSl7aWYodGhpcy5ub2RlVHlwZT09Myly ZXR1cm47dmFyIGV2ZW50cz1qUXVlcnkuZGF0YSh0aGlzLCJldmVudHMiKTtmb3Io dmFyIHR5cGUgaW4gZXZlbnRzKWZvcih2YXIgaGFuZGxlciBpbiBldmVudHNbdHlw ZV0palF1ZXJ5LmV2ZW50LmFkZChjbG9uZVtpXSx0eXBlLGV2ZW50c1t0eXBlXVto YW5kbGVyXSxldmVudHNbdHlwZV1baGFuZGxlcl0uZGF0YSk7fSk7cmV0dXJuIHJl dDt9LGZpbHRlcjpmdW5jdGlvbihzZWxlY3Rvcil7cmV0dXJuIHRoaXMucHVzaFN0 YWNrKGpRdWVyeS5pc0Z1bmN0aW9uKHNlbGVjdG9yKSYmalF1ZXJ5LmdyZXAodGhp cyxmdW5jdGlvbihlbGVtLGkpe3JldHVybiBzZWxlY3Rvci5jYWxsKGVsZW0saSk7 fSl8fGpRdWVyeS5tdWx0aUZpbHRlcihzZWxlY3Rvcix0aGlzKSk7fSxub3Q6ZnVu Y3Rpb24oc2VsZWN0b3Ipe2lmKHNlbGVjdG9yLmNvbnN0cnVjdG9yPT1TdHJpbmcp aWYoaXNTaW1wbGUudGVzdChzZWxlY3RvcikpcmV0dXJuIHRoaXMucHVzaFN0YWNr KGpRdWVyeS5tdWx0aUZpbHRlcihzZWxlY3Rvcix0aGlzLHRydWUpKTtlbHNlCnNl bGVjdG9yPWpRdWVyeS5tdWx0aUZpbHRlcihzZWxlY3Rvcix0aGlzKTt2YXIgaXNB cnJheUxpa2U9c2VsZWN0b3IubGVuZ3RoJiZzZWxlY3RvcltzZWxlY3Rvci5sZW5n dGgtMV0hPT11bmRlZmluZWQmJiFzZWxlY3Rvci5ub2RlVHlwZTtyZXR1cm4gdGhp cy5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gaXNBcnJheUxpa2U/alF1ZXJ5Lmlu QXJyYXkodGhpcyxzZWxlY3Rvcik8MDp0aGlzIT1zZWxlY3Rvcjt9KTt9LGFkZDpm dW5jdGlvbihzZWxlY3Rvcil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGpRdWVyeS51 bmlxdWUoalF1ZXJ5Lm1lcmdlKHRoaXMuZ2V0KCksdHlwZW9mIHNlbGVjdG9yPT0n c3RyaW5nJz9qUXVlcnkoc2VsZWN0b3IpOmpRdWVyeS5tYWtlQXJyYXkoc2VsZWN0 b3IpKSkpO30saXM6ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiEhc2VsZWN0b3Im JmpRdWVyeS5tdWx0aUZpbHRlcihzZWxlY3Rvcix0aGlzKS5sZW5ndGg+MDt9LGhh c0NsYXNzOmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4gdGhpcy5pcygiLiIrc2Vs ZWN0b3IpO30sdmFsOmZ1bmN0aW9uKHZhbHVlKXtpZih2YWx1ZT09dW5kZWZpbmVk KXtpZih0aGlzLmxlbmd0aCl7dmFyIGVsZW09dGhpc1swXTtpZihqUXVlcnkubm9k ZU5hbWUoZWxlbSwic2VsZWN0Iikpe3ZhciBpbmRleD1lbGVtLnNlbGVjdGVkSW5k ZXgsdmFsdWVzPVtdLG9wdGlvbnM9ZWxlbS5vcHRpb25zLG9uZT1lbGVtLnR5cGU9 PSJzZWxlY3Qtb25lIjtpZihpbmRleDwwKXJldHVybiBudWxsO2Zvcih2YXIgaT1v bmU/aW5kZXg6MCxtYXg9b25lP2luZGV4KzE6b3B0aW9ucy5sZW5ndGg7aTxtYXg7 aSsrKXt2YXIgb3B0aW9uPW9wdGlvbnNbaV07aWYob3B0aW9uLnNlbGVjdGVkKXt2 YWx1ZT1qUXVlcnkuYnJvd3Nlci5tc2llJiYhb3B0aW9uLmF0dHJpYnV0ZXMudmFs dWUuc3BlY2lmaWVkP29wdGlvbi50ZXh0Om9wdGlvbi52YWx1ZTtpZihvbmUpcmV0 dXJuIHZhbHVlO3ZhbHVlcy5wdXNoKHZhbHVlKTt9fXJldHVybiB2YWx1ZXM7fWVs c2UKcmV0dXJuKHRoaXNbMF0udmFsdWV8fCIiKS5yZXBsYWNlKC9cci9nLCIiKTt9 cmV0dXJuIHVuZGVmaW5lZDt9aWYodmFsdWUuY29uc3RydWN0b3I9PU51bWJlcil2 YWx1ZSs9Jyc7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKHRoaXMubm9k ZVR5cGUhPTEpcmV0dXJuO2lmKHZhbHVlLmNvbnN0cnVjdG9yPT1BcnJheSYmL3Jh ZGlvfGNoZWNrYm94Ly50ZXN0KHRoaXMudHlwZSkpdGhpcy5jaGVja2VkPShqUXVl cnkuaW5BcnJheSh0aGlzLnZhbHVlLHZhbHVlKT49MHx8alF1ZXJ5LmluQXJyYXko dGhpcy5uYW1lLHZhbHVlKT49MCk7ZWxzZSBpZihqUXVlcnkubm9kZU5hbWUodGhp cywic2VsZWN0Iikpe3ZhciB2YWx1ZXM9alF1ZXJ5Lm1ha2VBcnJheSh2YWx1ZSk7 alF1ZXJ5KCJvcHRpb24iLHRoaXMpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnNlbGVj dGVkPShqUXVlcnkuaW5BcnJheSh0aGlzLnZhbHVlLHZhbHVlcyk+PTB8fGpRdWVy eS5pbkFycmF5KHRoaXMudGV4dCx2YWx1ZXMpPj0wKTt9KTtpZighdmFsdWVzLmxl bmd0aCl0aGlzLnNlbGVjdGVkSW5kZXg9LTE7fWVsc2UKdGhpcy52YWx1ZT12YWx1 ZTt9KTt9LGh0bWw6ZnVuY3Rpb24odmFsdWUpe3JldHVybiB2YWx1ZT09dW5kZWZp bmVkPyh0aGlzWzBdP3RoaXNbMF0uaW5uZXJIVE1MOm51bGwpOnRoaXMuZW1wdHko KS5hcHBlbmQodmFsdWUpO30scmVwbGFjZVdpdGg6ZnVuY3Rpb24odmFsdWUpe3Jl dHVybiB0aGlzLmFmdGVyKHZhbHVlKS5yZW1vdmUoKTt9LGVxOmZ1bmN0aW9uKGkp e3JldHVybiB0aGlzLnNsaWNlKGksaSsxKTt9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0 dXJuIHRoaXMucHVzaFN0YWNrKEFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseSh0 aGlzLGFyZ3VtZW50cykpO30sbWFwOmZ1bmN0aW9uKGNhbGxiYWNrKXtyZXR1cm4g dGhpcy5wdXNoU3RhY2soalF1ZXJ5Lm1hcCh0aGlzLGZ1bmN0aW9uKGVsZW0saSl7 cmV0dXJuIGNhbGxiYWNrLmNhbGwoZWxlbSxpLGVsZW0pO30pKTt9LGFuZFNlbGY6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2T2JqZWN0KTt9LGRh dGE6ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YXIgcGFydHM9a2V5LnNwbGl0KCIuIik7 cGFydHNbMV09cGFydHNbMV0/Ii4iK3BhcnRzWzFdOiIiO2lmKHZhbHVlPT09dW5k ZWZpbmVkKXt2YXIgZGF0YT10aGlzLnRyaWdnZXJIYW5kbGVyKCJnZXREYXRhIitw YXJ0c1sxXSsiISIsW3BhcnRzWzBdXSk7aWYoZGF0YT09PXVuZGVmaW5lZCYmdGhp cy5sZW5ndGgpZGF0YT1qUXVlcnkuZGF0YSh0aGlzWzBdLGtleSk7cmV0dXJuIGRh dGE9PT11bmRlZmluZWQmJnBhcnRzWzFdP3RoaXMuZGF0YShwYXJ0c1swXSk6ZGF0 YTt9ZWxzZQpyZXR1cm4gdGhpcy50cmlnZ2VyKCJzZXREYXRhIitwYXJ0c1sxXSsi ISIsW3BhcnRzWzBdLHZhbHVlXSkuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5kYXRh KHRoaXMsa2V5LHZhbHVlKTt9KTt9LHJlbW92ZURhdGE6ZnVuY3Rpb24oa2V5KXty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LnJlbW92ZURhdGEodGhp cyxrZXkpO30pO30sZG9tTWFuaXA6ZnVuY3Rpb24oYXJncyx0YWJsZSxyZXZlcnNl LGNhbGxiYWNrKXt2YXIgY2xvbmU9dGhpcy5sZW5ndGg+MSxlbGVtcztyZXR1cm4g dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoIWVsZW1zKXtlbGVtcz1qUXVlcnkuY2xl YW4oYXJncyx0aGlzLm93bmVyRG9jdW1lbnQpO2lmKHJldmVyc2UpZWxlbXMucmV2 ZXJzZSgpO312YXIgb2JqPXRoaXM7aWYodGFibGUmJmpRdWVyeS5ub2RlTmFtZSh0 aGlzLCJ0YWJsZSIpJiZqUXVlcnkubm9kZU5hbWUoZWxlbXNbMF0sInRyIikpb2Jq PXRoaXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fHRoaXMuYXBw ZW5kQ2hpbGQodGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5 IikpO3ZhciBzY3JpcHRzPWpRdWVyeShbXSk7alF1ZXJ5LmVhY2goZWxlbXMsZnVu Y3Rpb24oKXt2YXIgZWxlbT1jbG9uZT9qUXVlcnkodGhpcykuY2xvbmUodHJ1ZSlb MF06dGhpcztpZihqUXVlcnkubm9kZU5hbWUoZWxlbSwic2NyaXB0Iikpc2NyaXB0 cz1zY3JpcHRzLmFkZChlbGVtKTtlbHNle2lmKGVsZW0ubm9kZVR5cGU9PTEpc2Ny aXB0cz1zY3JpcHRzLmFkZChqUXVlcnkoInNjcmlwdCIsZWxlbSkucmVtb3ZlKCkp O2NhbGxiYWNrLmNhbGwob2JqLGVsZW0pO319KTtzY3JpcHRzLmVhY2goZXZhbFNj cmlwdCk7fSk7fX07alF1ZXJ5LmZuLmluaXQucHJvdG90eXBlPWpRdWVyeS5mbjtm dW5jdGlvbiBldmFsU2NyaXB0KGksZWxlbSl7aWYoZWxlbS5zcmMpalF1ZXJ5LmFq YXgoe3VybDplbGVtLnNyYyxhc3luYzpmYWxzZSxkYXRhVHlwZToic2NyaXB0In0p O2Vsc2UKalF1ZXJ5Lmdsb2JhbEV2YWwoZWxlbS50ZXh0fHxlbGVtLnRleHRDb250 ZW50fHxlbGVtLmlubmVySFRNTHx8IiIpO2lmKGVsZW0ucGFyZW50Tm9kZSllbGVt LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbSk7fWZ1bmN0aW9uIG5vdygpe3Jl dHVybituZXcgRGF0ZTt9alF1ZXJ5LmV4dGVuZD1qUXVlcnkuZm4uZXh0ZW5kPWZ1 bmN0aW9uKCl7dmFyIHRhcmdldD1hcmd1bWVudHNbMF18fHt9LGk9MSxsZW5ndGg9 YXJndW1lbnRzLmxlbmd0aCxkZWVwPWZhbHNlLG9wdGlvbnM7aWYodGFyZ2V0LmNv bnN0cnVjdG9yPT1Cb29sZWFuKXtkZWVwPXRhcmdldDt0YXJnZXQ9YXJndW1lbnRz WzFdfHx7fTtpPTI7fWlmKHR5cGVvZiB0YXJnZXQhPSJvYmplY3QiJiZ0eXBlb2Yg dGFyZ2V0IT0iZnVuY3Rpb24iKXRhcmdldD17fTtpZihsZW5ndGg9PWkpe3Rhcmdl dD10aGlzOy0taTt9Zm9yKDtpPGxlbmd0aDtpKyspaWYoKG9wdGlvbnM9YXJndW1l bnRzW2ldKSE9bnVsbClmb3IodmFyIG5hbWUgaW4gb3B0aW9ucyl7dmFyIHNyYz10 YXJnZXRbbmFtZV0sY29weT1vcHRpb25zW25hbWVdO2lmKHRhcmdldD09PWNvcHkp Y29udGludWU7aWYoZGVlcCYmY29weSYmdHlwZW9mIGNvcHk9PSJvYmplY3QiJiYh Y29weS5ub2RlVHlwZSl0YXJnZXRbbmFtZV09alF1ZXJ5LmV4dGVuZChkZWVwLHNy Y3x8KGNvcHkubGVuZ3RoIT1udWxsP1tdOnt9KSxjb3B5KTtlbHNlIGlmKGNvcHkh PT11bmRlZmluZWQpdGFyZ2V0W25hbWVdPWNvcHk7fXJldHVybiB0YXJnZXQ7fTt2 YXIgZXhwYW5kbz0ialF1ZXJ5Iitub3coKSx1dWlkPTAsd2luZG93RGF0YT17fSxl eGNsdWRlPS96LT9pbmRleHxmb250LT93ZWlnaHR8b3BhY2l0eXx6b29tfGxpbmUt P2hlaWdodC9pLGRlZmF1bHRWaWV3PWRvY3VtZW50LmRlZmF1bHRWaWV3fHx7fTtq UXVlcnkuZXh0ZW5kKHtub0NvbmZsaWN0OmZ1bmN0aW9uKGRlZXApe3dpbmRvdy4k PV8kO2lmKGRlZXApd2luZG93LmpRdWVyeT1falF1ZXJ5O3JldHVybiBqUXVlcnk7 fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGZuKXtyZXR1cm4hIWZuJiZ0eXBlb2YgZm4h PSJzdHJpbmciJiYhZm4ubm9kZU5hbWUmJmZuLmNvbnN0cnVjdG9yIT1BcnJheSYm L15bXHNbXT9mdW5jdGlvbi8udGVzdChmbisiIik7fSxpc1hNTERvYzpmdW5jdGlv bihlbGVtKXtyZXR1cm4gZWxlbS5kb2N1bWVudEVsZW1lbnQmJiFlbGVtLmJvZHl8 fGVsZW0udGFnTmFtZSYmZWxlbS5vd25lckRvY3VtZW50JiYhZWxlbS5vd25lckRv Y3VtZW50LmJvZHk7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGRhdGEpe2RhdGE9alF1 ZXJ5LnRyaW0oZGF0YSk7aWYoZGF0YSl7dmFyIGhlYWQ9ZG9jdW1lbnQuZ2V0RWxl bWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVt ZW50LHNjcmlwdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzY3Jp cHQudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtpZihqUXVlcnkuYnJvd3Nlci5tc2ll KXNjcmlwdC50ZXh0PWRhdGE7ZWxzZQpzY3JpcHQuYXBwZW5kQ2hpbGQoZG9jdW1l bnQuY3JlYXRlVGV4dE5vZGUoZGF0YSkpO2hlYWQuaW5zZXJ0QmVmb3JlKHNjcmlw dCxoZWFkLmZpcnN0Q2hpbGQpO2hlYWQucmVtb3ZlQ2hpbGQoc2NyaXB0KTt9fSxu b2RlTmFtZTpmdW5jdGlvbihlbGVtLG5hbWUpe3JldHVybiBlbGVtLm5vZGVOYW1l JiZlbGVtLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PW5hbWUudG9VcHBlckNhc2Uo KTt9LGNhY2hlOnt9LGRhdGE6ZnVuY3Rpb24oZWxlbSxuYW1lLGRhdGEpe2VsZW09 ZWxlbT09d2luZG93P3dpbmRvd0RhdGE6ZWxlbTt2YXIgaWQ9ZWxlbVtleHBhbmRv XTtpZighaWQpaWQ9ZWxlbVtleHBhbmRvXT0rK3V1aWQ7aWYobmFtZSYmIWpRdWVy eS5jYWNoZVtpZF0palF1ZXJ5LmNhY2hlW2lkXT17fTtpZihkYXRhIT09dW5kZWZp bmVkKWpRdWVyeS5jYWNoZVtpZF1bbmFtZV09ZGF0YTtyZXR1cm4gbmFtZT9qUXVl cnkuY2FjaGVbaWRdW25hbWVdOmlkO30scmVtb3ZlRGF0YTpmdW5jdGlvbihlbGVt LG5hbWUpe2VsZW09ZWxlbT09d2luZG93P3dpbmRvd0RhdGE6ZWxlbTt2YXIgaWQ9 ZWxlbVtleHBhbmRvXTtpZihuYW1lKXtpZihqUXVlcnkuY2FjaGVbaWRdKXtkZWxl dGUgalF1ZXJ5LmNhY2hlW2lkXVtuYW1lXTtuYW1lPSIiO2ZvcihuYW1lIGluIGpR dWVyeS5jYWNoZVtpZF0pYnJlYWs7aWYoIW5hbWUpalF1ZXJ5LnJlbW92ZURhdGEo ZWxlbSk7fX1lbHNle3RyeXtkZWxldGUgZWxlbVtleHBhbmRvXTt9Y2F0Y2goZSl7 aWYoZWxlbS5yZW1vdmVBdHRyaWJ1dGUpZWxlbS5yZW1vdmVBdHRyaWJ1dGUoZXhw YW5kbyk7fWRlbGV0ZSBqUXVlcnkuY2FjaGVbaWRdO319LGVhY2g6ZnVuY3Rpb24o b2JqZWN0LGNhbGxiYWNrLGFyZ3Mpe3ZhciBuYW1lLGk9MCxsZW5ndGg9b2JqZWN0 Lmxlbmd0aDtpZihhcmdzKXtpZihsZW5ndGg9PXVuZGVmaW5lZCl7Zm9yKG5hbWUg aW4gb2JqZWN0KWlmKGNhbGxiYWNrLmFwcGx5KG9iamVjdFtuYW1lXSxhcmdzKT09 PWZhbHNlKWJyZWFrO31lbHNlCmZvcig7aTxsZW5ndGg7KWlmKGNhbGxiYWNrLmFw cGx5KG9iamVjdFtpKytdLGFyZ3MpPT09ZmFsc2UpYnJlYWs7fWVsc2V7aWYobGVu Z3RoPT11bmRlZmluZWQpe2ZvcihuYW1lIGluIG9iamVjdClpZihjYWxsYmFjay5j YWxsKG9iamVjdFtuYW1lXSxuYW1lLG9iamVjdFtuYW1lXSk9PT1mYWxzZSlicmVh azt9ZWxzZQpmb3IodmFyIHZhbHVlPW9iamVjdFswXTtpPGxlbmd0aCYmY2FsbGJh Y2suY2FsbCh2YWx1ZSxpLHZhbHVlKSE9PWZhbHNlO3ZhbHVlPW9iamVjdFsrK2ld KXt9fXJldHVybiBvYmplY3Q7fSxwcm9wOmZ1bmN0aW9uKGVsZW0sdmFsdWUsdHlw ZSxpLG5hbWUpe2lmKGpRdWVyeS5pc0Z1bmN0aW9uKHZhbHVlKSl2YWx1ZT12YWx1 ZS5jYWxsKGVsZW0saSk7cmV0dXJuIHZhbHVlJiZ2YWx1ZS5jb25zdHJ1Y3Rvcj09 TnVtYmVyJiZ0eXBlPT0iY3VyQ1NTIiYmIWV4Y2x1ZGUudGVzdChuYW1lKT92YWx1 ZSsicHgiOnZhbHVlO30sY2xhc3NOYW1lOnthZGQ6ZnVuY3Rpb24oZWxlbSxjbGFz c05hbWVzKXtqUXVlcnkuZWFjaCgoY2xhc3NOYW1lc3x8IiIpLnNwbGl0KC9ccysv KSxmdW5jdGlvbihpLGNsYXNzTmFtZSl7aWYoZWxlbS5ub2RlVHlwZT09MSYmIWpR dWVyeS5jbGFzc05hbWUuaGFzKGVsZW0uY2xhc3NOYW1lLGNsYXNzTmFtZSkpZWxl bS5jbGFzc05hbWUrPShlbGVtLmNsYXNzTmFtZT8iICI6IiIpK2NsYXNzTmFtZTt9 KTt9LHJlbW92ZTpmdW5jdGlvbihlbGVtLGNsYXNzTmFtZXMpe2lmKGVsZW0ubm9k ZVR5cGU9PTEpZWxlbS5jbGFzc05hbWU9Y2xhc3NOYW1lcyE9dW5kZWZpbmVkP2pR dWVyeS5ncmVwKGVsZW0uY2xhc3NOYW1lLnNwbGl0KC9ccysvKSxmdW5jdGlvbihj bGFzc05hbWUpe3JldHVybiFqUXVlcnkuY2xhc3NOYW1lLmhhcyhjbGFzc05hbWVz LGNsYXNzTmFtZSk7fSkuam9pbigiICIpOiIiO30saGFzOmZ1bmN0aW9uKGVsZW0s Y2xhc3NOYW1lKXtyZXR1cm4galF1ZXJ5LmluQXJyYXkoY2xhc3NOYW1lLChlbGVt LmNsYXNzTmFtZXx8ZWxlbSkudG9TdHJpbmcoKS5zcGxpdCgvXHMrLykpPi0xO319 LHN3YXA6ZnVuY3Rpb24oZWxlbSxvcHRpb25zLGNhbGxiYWNrKXt2YXIgb2xkPXt9 O2Zvcih2YXIgbmFtZSBpbiBvcHRpb25zKXtvbGRbbmFtZV09ZWxlbS5zdHlsZVtu YW1lXTtlbGVtLnN0eWxlW25hbWVdPW9wdGlvbnNbbmFtZV07fWNhbGxiYWNrLmNh bGwoZWxlbSk7Zm9yKHZhciBuYW1lIGluIG9wdGlvbnMpZWxlbS5zdHlsZVtuYW1l XT1vbGRbbmFtZV07fSxjc3M6ZnVuY3Rpb24oZWxlbSxuYW1lLGZvcmNlKXtpZihu YW1lPT0id2lkdGgifHxuYW1lPT0iaGVpZ2h0Iil7dmFyIHZhbCxwcm9wcz17cG9z aXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJs b2NrIn0sd2hpY2g9bmFtZT09IndpZHRoIj9bIkxlZnQiLCJSaWdodCJdOlsiVG9w IiwiQm90dG9tIl07ZnVuY3Rpb24gZ2V0V0goKXt2YWw9bmFtZT09IndpZHRoIj9l bGVtLm9mZnNldFdpZHRoOmVsZW0ub2Zmc2V0SGVpZ2h0O3ZhciBwYWRkaW5nPTAs Ym9yZGVyPTA7alF1ZXJ5LmVhY2god2hpY2gsZnVuY3Rpb24oKXtwYWRkaW5nKz1w YXJzZUZsb2F0KGpRdWVyeS5jdXJDU1MoZWxlbSwicGFkZGluZyIrdGhpcyx0cnVl KSl8fDA7Ym9yZGVyKz1wYXJzZUZsb2F0KGpRdWVyeS5jdXJDU1MoZWxlbSwiYm9y ZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHwwO30pO3ZhbC09TWF0aC5yb3VuZChw YWRkaW5nK2JvcmRlcik7fWlmKGpRdWVyeShlbGVtKS5pcygiOnZpc2libGUiKSln ZXRXSCgpO2Vsc2UKalF1ZXJ5LnN3YXAoZWxlbSxwcm9wcyxnZXRXSCk7cmV0dXJu IE1hdGgubWF4KDAsdmFsKTt9cmV0dXJuIGpRdWVyeS5jdXJDU1MoZWxlbSxuYW1l LGZvcmNlKTt9LGN1ckNTUzpmdW5jdGlvbihlbGVtLG5hbWUsZm9yY2Upe3ZhciBy ZXQsc3R5bGU9ZWxlbS5zdHlsZTtmdW5jdGlvbiBjb2xvcihlbGVtKXtpZighalF1 ZXJ5LmJyb3dzZXIuc2FmYXJpKXJldHVybiBmYWxzZTt2YXIgcmV0PWRlZmF1bHRW aWV3LmdldENvbXB1dGVkU3R5bGUoZWxlbSxudWxsKTtyZXR1cm4hcmV0fHxyZXQu Z2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKT09IiI7fWlmKG5hbWU9PSJvcGFjaXR5 IiYmalF1ZXJ5LmJyb3dzZXIubXNpZSl7cmV0PWpRdWVyeS5hdHRyKHN0eWxlLCJv cGFjaXR5Iik7cmV0dXJuIHJldD09IiI/IjEiOnJldDt9aWYoalF1ZXJ5LmJyb3dz ZXIub3BlcmEmJm5hbWU9PSJkaXNwbGF5Iil7dmFyIHNhdmU9c3R5bGUub3V0bGlu ZTtzdHlsZS5vdXRsaW5lPSIwIHNvbGlkIGJsYWNrIjtzdHlsZS5vdXRsaW5lPXNh dmU7fWlmKG5hbWUubWF0Y2goL2Zsb2F0L2kpKW5hbWU9c3R5bGVGbG9hdDtpZigh Zm9yY2UmJnN0eWxlJiZzdHlsZVtuYW1lXSlyZXQ9c3R5bGVbbmFtZV07ZWxzZSBp ZihkZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKXtpZihuYW1lLm1hdGNoKC9m bG9hdC9pKSluYW1lPSJmbG9hdCI7bmFtZT1uYW1lLnJlcGxhY2UoLyhbQS1aXSkv ZywiLSQxIikudG9Mb3dlckNhc2UoKTt2YXIgY29tcHV0ZWRTdHlsZT1kZWZhdWx0 Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW0sbnVsbCk7aWYoY29tcHV0ZWRTdHls ZSYmIWNvbG9yKGVsZW0pKXJldD1jb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFs dWUobmFtZSk7ZWxzZXt2YXIgc3dhcD1bXSxzdGFjaz1bXSxhPWVsZW0saT0wO2Zv cig7YSYmY29sb3IoYSk7YT1hLnBhcmVudE5vZGUpc3RhY2sudW5zaGlmdChhKTtm b3IoO2k8c3RhY2subGVuZ3RoO2krKylpZihjb2xvcihzdGFja1tpXSkpe3N3YXBb aV09c3RhY2tbaV0uc3R5bGUuZGlzcGxheTtzdGFja1tpXS5zdHlsZS5kaXNwbGF5 PSJibG9jayI7fXJldD1uYW1lPT0iZGlzcGxheSImJnN3YXBbc3RhY2subGVuZ3Ro LTFdIT1udWxsPyJub25lIjooY29tcHV0ZWRTdHlsZSYmY29tcHV0ZWRTdHlsZS5n ZXRQcm9wZXJ0eVZhbHVlKG5hbWUpKXx8IiI7Zm9yKGk9MDtpPHN3YXAubGVuZ3Ro O2krKylpZihzd2FwW2ldIT1udWxsKXN0YWNrW2ldLnN0eWxlLmRpc3BsYXk9c3dh cFtpXTt9aWYobmFtZT09Im9wYWNpdHkiJiZyZXQ9PSIiKXJldD0iMSI7fWVsc2Ug aWYoZWxlbS5jdXJyZW50U3R5bGUpe3ZhciBjYW1lbENhc2U9bmFtZS5yZXBsYWNl KC9cLShcdykvZyxmdW5jdGlvbihhbGwsbGV0dGVyKXtyZXR1cm4gbGV0dGVyLnRv VXBwZXJDYXNlKCk7fSk7cmV0PWVsZW0uY3VycmVudFN0eWxlW25hbWVdfHxlbGVt LmN1cnJlbnRTdHlsZVtjYW1lbENhc2VdO2lmKCEvXlxkKyhweCk/JC9pLnRlc3Qo cmV0KSYmL15cZC8udGVzdChyZXQpKXt2YXIgbGVmdD1zdHlsZS5sZWZ0LHJzTGVm dD1lbGVtLnJ1bnRpbWVTdHlsZS5sZWZ0O2VsZW0ucnVudGltZVN0eWxlLmxlZnQ9 ZWxlbS5jdXJyZW50U3R5bGUubGVmdDtzdHlsZS5sZWZ0PXJldHx8MDtyZXQ9c3R5 bGUucGl4ZWxMZWZ0KyJweCI7c3R5bGUubGVmdD1sZWZ0O2VsZW0ucnVudGltZVN0 eWxlLmxlZnQ9cnNMZWZ0O319cmV0dXJuIHJldDt9LGNsZWFuOmZ1bmN0aW9uKGVs ZW1zLGNvbnRleHQpe3ZhciByZXQ9W107Y29udGV4dD1jb250ZXh0fHxkb2N1bWVu dDtpZih0eXBlb2YgY29udGV4dC5jcmVhdGVFbGVtZW50PT0ndW5kZWZpbmVkJylj b250ZXh0PWNvbnRleHQub3duZXJEb2N1bWVudHx8Y29udGV4dFswXSYmY29udGV4 dFswXS5vd25lckRvY3VtZW50fHxkb2N1bWVudDtqUXVlcnkuZWFjaChlbGVtcyxm dW5jdGlvbihpLGVsZW0pe2lmKCFlbGVtKXJldHVybjtpZihlbGVtLmNvbnN0cnVj dG9yPT1OdW1iZXIpZWxlbSs9Jyc7aWYodHlwZW9mIGVsZW09PSJzdHJpbmciKXtl bGVtPWVsZW0ucmVwbGFjZSgvKDwoXHcrKVtePl0qPylcLz4vZyxmdW5jdGlvbihh bGwsZnJvbnQsdGFnKXtyZXR1cm4gdGFnLm1hdGNoKC9eKGFiYnJ8YnJ8Y29sfGlt Z3xpbnB1dHxsaW5rfG1ldGF8cGFyYW18aHJ8YXJlYXxlbWJlZCkkL2kpP2FsbDpm cm9udCsiPjwvIit0YWcrIj4iO30pO3ZhciB0YWdzPWpRdWVyeS50cmltKGVsZW0p LnRvTG93ZXJDYXNlKCksZGl2PWNvbnRleHQuY3JlYXRlRWxlbWVudCgiZGl2Iik7 dmFyIHdyYXA9IXRhZ3MuaW5kZXhPZigiPG9wdCIpJiZbMSwiPHNlbGVjdCBtdWx0 aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdfHwhdGFncy5pbmRleE9mKCI8 bGVnIikmJlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXXx8dGFncy5tYXRj aCgvXjwodGhlYWR8dGJvZHl8dGZvb3R8Y29sZ3xjYXApLykmJlsxLCI8dGFibGU+ IiwiPC90YWJsZT4iXXx8IXRhZ3MuaW5kZXhPZigiPHRyIikmJlsyLCI8dGFibGU+ PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXXx8KCF0YWdzLmluZGV4T2YoIjx0 ZCIpfHwhdGFncy5pbmRleE9mKCI8dGgiKSkmJlszLCI8dGFibGU+PHRib2R5Pjx0 cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXXx8IXRhZ3MuaW5kZXhPZigiPGNv bCIpJiZbMiwiPHRhYmxlPjx0Ym9keT48L3Rib2R5Pjxjb2xncm91cD4iLCI8L2Nv bGdyb3VwPjwvdGFibGU+Il18fGpRdWVyeS5icm93c2VyLm1zaWUmJlsxLCJkaXY8 ZGl2PiIsIjwvZGl2PiJdfHxbMCwiIiwiIl07ZGl2LmlubmVySFRNTD13cmFwWzFd K2VsZW0rd3JhcFsyXTt3aGlsZSh3cmFwWzBdLS0pZGl2PWRpdi5sYXN0Q2hpbGQ7 aWYoalF1ZXJ5LmJyb3dzZXIubXNpZSl7dmFyIHRib2R5PSF0YWdzLmluZGV4T2Yo Ijx0YWJsZSIpJiZ0YWdzLmluZGV4T2YoIjx0Ym9keSIpPDA/ZGl2LmZpcnN0Q2hp bGQmJmRpdi5maXJzdENoaWxkLmNoaWxkTm9kZXM6d3JhcFsxXT09Ijx0YWJsZT4i JiZ0YWdzLmluZGV4T2YoIjx0Ym9keSIpPDA/ZGl2LmNoaWxkTm9kZXM6W107Zm9y KHZhciBqPXRib2R5Lmxlbmd0aC0xO2o+PTA7LS1qKWlmKGpRdWVyeS5ub2RlTmFt ZSh0Ym9keVtqXSwidGJvZHkiKSYmIXRib2R5W2pdLmNoaWxkTm9kZXMubGVuZ3Ro KXRib2R5W2pdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGJvZHlbal0pO2lmKC9e XHMvLnRlc3QoZWxlbSkpZGl2Lmluc2VydEJlZm9yZShjb250ZXh0LmNyZWF0ZVRl eHROb2RlKGVsZW0ubWF0Y2goL15ccyovKVswXSksZGl2LmZpcnN0Q2hpbGQpO31l bGVtPWpRdWVyeS5tYWtlQXJyYXkoZGl2LmNoaWxkTm9kZXMpO31pZihlbGVtLmxl bmd0aD09PTAmJighalF1ZXJ5Lm5vZGVOYW1lKGVsZW0sImZvcm0iKSYmIWpRdWVy eS5ub2RlTmFtZShlbGVtLCJzZWxlY3QiKSkpcmV0dXJuO2lmKGVsZW1bMF09PXVu ZGVmaW5lZHx8alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sImZvcm0iKXx8ZWxlbS5vcHRp b25zKXJldC5wdXNoKGVsZW0pO2Vsc2UKcmV0PWpRdWVyeS5tZXJnZShyZXQsZWxl bSk7fSk7cmV0dXJuIHJldDt9LGF0dHI6ZnVuY3Rpb24oZWxlbSxuYW1lLHZhbHVl KXtpZighZWxlbXx8ZWxlbS5ub2RlVHlwZT09M3x8ZWxlbS5ub2RlVHlwZT09OCly ZXR1cm4gdW5kZWZpbmVkO3ZhciBub3R4bWw9IWpRdWVyeS5pc1hNTERvYyhlbGVt KSxzZXQ9dmFsdWUhPT11bmRlZmluZWQsbXNpZT1qUXVlcnkuYnJvd3Nlci5tc2ll O25hbWU9bm90eG1sJiZqUXVlcnkucHJvcHNbbmFtZV18fG5hbWU7aWYoZWxlbS50 YWdOYW1lKXt2YXIgc3BlY2lhbD0vaHJlZnxzcmN8c3R5bGUvLnRlc3QobmFtZSk7 aWYobmFtZT09InNlbGVjdGVkIiYmalF1ZXJ5LmJyb3dzZXIuc2FmYXJpKWVsZW0u cGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4O2lmKG5hbWUgaW4gZWxlbSYmbm90eG1s JiYhc3BlY2lhbCl7aWYoc2V0KXtpZihuYW1lPT0idHlwZSImJmpRdWVyeS5ub2Rl TmFtZShlbGVtLCJpbnB1dCIpJiZlbGVtLnBhcmVudE5vZGUpdGhyb3cidHlwZSBw cm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIjtlbGVtW25hbWVdPXZhbHVlO31pZihq UXVlcnkubm9kZU5hbWUoZWxlbSwiZm9ybSIpJiZlbGVtLmdldEF0dHJpYnV0ZU5v ZGUobmFtZSkpcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlTm9kZShuYW1lKS5ub2Rl VmFsdWU7cmV0dXJuIGVsZW1bbmFtZV07fWlmKG1zaWUmJm5vdHhtbCYmbmFtZT09 InN0eWxlIilyZXR1cm4galF1ZXJ5LmF0dHIoZWxlbS5zdHlsZSwiY3NzVGV4dCIs dmFsdWUpO2lmKHNldCllbGVtLnNldEF0dHJpYnV0ZShuYW1lLCIiK3ZhbHVlKTt2 YXIgYXR0cj1tc2llJiZub3R4bWwmJnNwZWNpYWw/ZWxlbS5nZXRBdHRyaWJ1dGUo bmFtZSwyKTplbGVtLmdldEF0dHJpYnV0ZShuYW1lKTtyZXR1cm4gYXR0cj09PW51 bGw/dW5kZWZpbmVkOmF0dHI7fWlmKG1zaWUmJm5hbWU9PSJvcGFjaXR5Iil7aWYo c2V0KXtlbGVtLnpvb209MTtlbGVtLmZpbHRlcj0oZWxlbS5maWx0ZXJ8fCIiKS5y ZXBsYWNlKC9hbHBoYVwoW14pXSpcKS8sIiIpKyhwYXJzZUludCh2YWx1ZSkrJyc9 PSJOYU4iPyIiOiJhbHBoYShvcGFjaXR5PSIrdmFsdWUqMTAwKyIpIik7fXJldHVy biBlbGVtLmZpbHRlciYmZWxlbS5maWx0ZXIuaW5kZXhPZigib3BhY2l0eT0iKT49 MD8ocGFyc2VGbG9hdChlbGVtLmZpbHRlci5tYXRjaCgvb3BhY2l0eT0oW14pXSop LylbMV0pLzEwMCkrJyc6IiI7fW5hbWU9bmFtZS5yZXBsYWNlKC8tKFthLXpdKS9p ZyxmdW5jdGlvbihhbGwsbGV0dGVyKXtyZXR1cm4gbGV0dGVyLnRvVXBwZXJDYXNl KCk7fSk7aWYoc2V0KWVsZW1bbmFtZV09dmFsdWU7cmV0dXJuIGVsZW1bbmFtZV07 fSx0cmltOmZ1bmN0aW9uKHRleHQpe3JldHVybih0ZXh0fHwiIikucmVwbGFjZSgv XlxzK3xccyskL2csIiIpO30sbWFrZUFycmF5OmZ1bmN0aW9uKGFycmF5KXt2YXIg cmV0PVtdO2lmKGFycmF5IT1udWxsKXt2YXIgaT1hcnJheS5sZW5ndGg7aWYoaT09 bnVsbHx8YXJyYXkuc3BsaXR8fGFycmF5LnNldEludGVydmFsfHxhcnJheS5jYWxs KXJldFswXT1hcnJheTtlbHNlCndoaWxlKGkpcmV0Wy0taV09YXJyYXlbaV07fXJl dHVybiByZXQ7fSxpbkFycmF5OmZ1bmN0aW9uKGVsZW0sYXJyYXkpe2Zvcih2YXIg aT0wLGxlbmd0aD1hcnJheS5sZW5ndGg7aTxsZW5ndGg7aSsrKWlmKGFycmF5W2ld PT09ZWxlbSlyZXR1cm4gaTtyZXR1cm4tMTt9LG1lcmdlOmZ1bmN0aW9uKGZpcnN0 LHNlY29uZCl7dmFyIGk9MCxlbGVtLHBvcz1maXJzdC5sZW5ndGg7aWYoalF1ZXJ5 LmJyb3dzZXIubXNpZSl7d2hpbGUoZWxlbT1zZWNvbmRbaSsrXSlpZihlbGVtLm5v ZGVUeXBlIT04KWZpcnN0W3BvcysrXT1lbGVtO31lbHNlCndoaWxlKGVsZW09c2Vj b25kW2krK10pZmlyc3RbcG9zKytdPWVsZW07cmV0dXJuIGZpcnN0O30sdW5pcXVl OmZ1bmN0aW9uKGFycmF5KXt2YXIgcmV0PVtdLGRvbmU9e307dHJ5e2Zvcih2YXIg aT0wLGxlbmd0aD1hcnJheS5sZW5ndGg7aTxsZW5ndGg7aSsrKXt2YXIgaWQ9alF1 ZXJ5LmRhdGEoYXJyYXlbaV0pO2lmKCFkb25lW2lkXSl7ZG9uZVtpZF09dHJ1ZTty ZXQucHVzaChhcnJheVtpXSk7fX19Y2F0Y2goZSl7cmV0PWFycmF5O31yZXR1cm4g cmV0O30sZ3JlcDpmdW5jdGlvbihlbGVtcyxjYWxsYmFjayxpbnYpe3ZhciByZXQ9 W107Zm9yKHZhciBpPTAsbGVuZ3RoPWVsZW1zLmxlbmd0aDtpPGxlbmd0aDtpKysp aWYoIWludiE9IWNhbGxiYWNrKGVsZW1zW2ldLGkpKXJldC5wdXNoKGVsZW1zW2ld KTtyZXR1cm4gcmV0O30sbWFwOmZ1bmN0aW9uKGVsZW1zLGNhbGxiYWNrKXt2YXIg cmV0PVtdO2Zvcih2YXIgaT0wLGxlbmd0aD1lbGVtcy5sZW5ndGg7aTxsZW5ndGg7 aSsrKXt2YXIgdmFsdWU9Y2FsbGJhY2soZWxlbXNbaV0saSk7aWYodmFsdWUhPW51 bGwpcmV0W3JldC5sZW5ndGhdPXZhbHVlO31yZXR1cm4gcmV0LmNvbmNhdC5hcHBs eShbXSxyZXQpO319KTt2YXIgdXNlckFnZW50PW5hdmlnYXRvci51c2VyQWdlbnQu dG9Mb3dlckNhc2UoKTtqUXVlcnkuYnJvd3Nlcj17dmVyc2lvbjoodXNlckFnZW50 Lm1hdGNoKC8uKyg/OnJ2fGl0fHJhfGllKVtcLzogXShbXGQuXSspLyl8fFtdKVsx XSxzYWZhcmk6L3dlYmtpdC8udGVzdCh1c2VyQWdlbnQpLG9wZXJhOi9vcGVyYS8u dGVzdCh1c2VyQWdlbnQpLG1zaWU6L21zaWUvLnRlc3QodXNlckFnZW50KSYmIS9v cGVyYS8udGVzdCh1c2VyQWdlbnQpLG1vemlsbGE6L21vemlsbGEvLnRlc3QodXNl ckFnZW50KSYmIS8oY29tcGF0aWJsZXx3ZWJraXQpLy50ZXN0KHVzZXJBZ2VudCl9 O3ZhciBzdHlsZUZsb2F0PWpRdWVyeS5icm93c2VyLm1zaWU/InN0eWxlRmxvYXQi OiJjc3NGbG9hdCI7alF1ZXJ5LmV4dGVuZCh7Ym94TW9kZWw6IWpRdWVyeS5icm93 c2VyLm1zaWV8fGRvY3VtZW50LmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Iixwcm9w czp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSIsImZsb2F0Ijpz dHlsZUZsb2F0LGNzc0Zsb2F0OnN0eWxlRmxvYXQsc3R5bGVGbG9hdDpzdHlsZUZs b2F0LHJlYWRvbmx5OiJyZWFkT25seSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNl bGxzcGFjaW5nOiJjZWxsU3BhY2luZyJ9fSk7alF1ZXJ5LmVhY2goe3BhcmVudDpm dW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5wYXJlbnROb2RlO30scGFyZW50czpm dW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LmRpcihlbGVtLCJwYXJlbnROb2Rl Iik7fSxuZXh0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkubnRoKGVsZW0s MiwibmV4dFNpYmxpbmciKTt9LHByZXY6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpR dWVyeS5udGgoZWxlbSwyLCJwcmV2aW91c1NpYmxpbmciKTt9LG5leHRBbGw6ZnVu Y3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5kaXIoZWxlbSwibmV4dFNpYmxpbmci KTt9LHByZXZBbGw6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5kaXIoZWxl bSwicHJldmlvdXNTaWJsaW5nIik7fSxzaWJsaW5nczpmdW5jdGlvbihlbGVtKXty ZXR1cm4galF1ZXJ5LnNpYmxpbmcoZWxlbS5wYXJlbnROb2RlLmZpcnN0Q2hpbGQs ZWxlbSk7fSxjaGlsZHJlbjpmdW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LnNp YmxpbmcoZWxlbS5maXJzdENoaWxkKTt9LGNvbnRlbnRzOmZ1bmN0aW9uKGVsZW0p e3JldHVybiBqUXVlcnkubm9kZU5hbWUoZWxlbSwiaWZyYW1lIik/ZWxlbS5jb250 ZW50RG9jdW1lbnR8fGVsZW0uY29udGVudFdpbmRvdy5kb2N1bWVudDpqUXVlcnku bWFrZUFycmF5KGVsZW0uY2hpbGROb2Rlcyk7fX0sZnVuY3Rpb24obmFtZSxmbil7 alF1ZXJ5LmZuW25hbWVdPWZ1bmN0aW9uKHNlbGVjdG9yKXt2YXIgcmV0PWpRdWVy eS5tYXAodGhpcyxmbik7aWYoc2VsZWN0b3ImJnR5cGVvZiBzZWxlY3Rvcj09InN0 cmluZyIpcmV0PWpRdWVyeS5tdWx0aUZpbHRlcihzZWxlY3RvcixyZXQpO3JldHVy biB0aGlzLnB1c2hTdGFjayhqUXVlcnkudW5pcXVlKHJldCkpO307fSk7alF1ZXJ5 LmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5z ZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFs bDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihuYW1lLG9yaWdpbmFsKXtqUXVlcnku Zm5bbmFtZV09ZnVuY3Rpb24oKXt2YXIgYXJncz1hcmd1bWVudHM7cmV0dXJuIHRo aXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgaT0wLGxlbmd0aD1hcmdzLmxlbmd0 aDtpPGxlbmd0aDtpKyspalF1ZXJ5KGFyZ3NbaV0pW29yaWdpbmFsXSh0aGlzKTt9 KTt9O30pO2pRdWVyeS5lYWNoKHtyZW1vdmVBdHRyOmZ1bmN0aW9uKG5hbWUpe2pR dWVyeS5hdHRyKHRoaXMsbmFtZSwiIik7aWYodGhpcy5ub2RlVHlwZT09MSl0aGlz LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTt9LGFkZENsYXNzOmZ1bmN0aW9uKGNsYXNz TmFtZXMpe2pRdWVyeS5jbGFzc05hbWUuYWRkKHRoaXMsY2xhc3NOYW1lcyk7fSxy ZW1vdmVDbGFzczpmdW5jdGlvbihjbGFzc05hbWVzKXtqUXVlcnkuY2xhc3NOYW1l LnJlbW92ZSh0aGlzLGNsYXNzTmFtZXMpO30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24o Y2xhc3NOYW1lcyl7alF1ZXJ5LmNsYXNzTmFtZVtqUXVlcnkuY2xhc3NOYW1lLmhh cyh0aGlzLGNsYXNzTmFtZXMpPyJyZW1vdmUiOiJhZGQiXSh0aGlzLGNsYXNzTmFt ZXMpO30scmVtb3ZlOmZ1bmN0aW9uKHNlbGVjdG9yKXtpZighc2VsZWN0b3J8fGpR dWVyeS5maWx0ZXIoc2VsZWN0b3IsW3RoaXNdKS5yLmxlbmd0aCl7alF1ZXJ5KCIq Iix0aGlzKS5hZGQodGhpcykuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ldmVudC5y ZW1vdmUodGhpcyk7alF1ZXJ5LnJlbW92ZURhdGEodGhpcyk7fSk7aWYodGhpcy5w YXJlbnROb2RlKXRoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKTt9fSxl bXB0eTpmdW5jdGlvbigpe2pRdWVyeSgiPioiLHRoaXMpLnJlbW92ZSgpO3doaWxl KHRoaXMuZmlyc3RDaGlsZCl0aGlzLnJlbW92ZUNoaWxkKHRoaXMuZmlyc3RDaGls ZCk7fX0sZnVuY3Rpb24obmFtZSxmbil7alF1ZXJ5LmZuW25hbWVdPWZ1bmN0aW9u KCl7cmV0dXJuIHRoaXMuZWFjaChmbixhcmd1bWVudHMpO307fSk7alF1ZXJ5LmVh Y2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1bmN0aW9uKGksbmFtZSl7dmFyIHR5cGU9 bmFtZS50b0xvd2VyQ2FzZSgpO2pRdWVyeS5mblt0eXBlXT1mdW5jdGlvbihzaXpl KXtyZXR1cm4gdGhpc1swXT09d2luZG93P2pRdWVyeS5icm93c2VyLm9wZXJhJiZk b2N1bWVudC5ib2R5WyJjbGllbnQiK25hbWVdfHxqUXVlcnkuYnJvd3Nlci5zYWZh cmkmJndpbmRvd1siaW5uZXIiK25hbWVdfHxkb2N1bWVudC5jb21wYXRNb2RlPT0i Q1NTMUNvbXBhdCImJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50Iitu YW1lXXx8ZG9jdW1lbnQuYm9keVsiY2xpZW50IituYW1lXTp0aGlzWzBdPT1kb2N1 bWVudD9NYXRoLm1heChNYXRoLm1heChkb2N1bWVudC5ib2R5WyJzY3JvbGwiK25h bWVdLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsic2Nyb2xsIituYW1lXSksTWF0 aC5tYXgoZG9jdW1lbnQuYm9keVsib2Zmc2V0IituYW1lXSxkb2N1bWVudC5kb2N1 bWVudEVsZW1lbnRbIm9mZnNldCIrbmFtZV0pKTpzaXplPT11bmRlZmluZWQ/KHRo aXMubGVuZ3RoP2pRdWVyeS5jc3ModGhpc1swXSx0eXBlKTpudWxsKTp0aGlzLmNz cyh0eXBlLHNpemUuY29uc3RydWN0b3I9PVN0cmluZz9zaXplOnNpemUrInB4Iik7 fTt9KTtmdW5jdGlvbiBudW0oZWxlbSxwcm9wKXtyZXR1cm4gZWxlbVswXSYmcGFy c2VJbnQoalF1ZXJ5LmN1ckNTUyhlbGVtWzBdLHByb3AsdHJ1ZSksMTApfHwwO312 YXIgY2hhcnM9alF1ZXJ5LmJyb3dzZXIuc2FmYXJpJiZwYXJzZUludChqUXVlcnku YnJvd3Nlci52ZXJzaW9uKTw0MTc/Iig/OltcXHcqXy1dfFxcXFwuKSI6Iig/Oltc XHdcdTAxMjgtXHVGRkZGKl8tXXxcXFxcLikiLHF1aWNrQ2hpbGQ9bmV3IFJlZ0V4 cCgiXj5cXHMqKCIrY2hhcnMrIispIikscXVpY2tJRD1uZXcgUmVnRXhwKCJeKCIr Y2hhcnMrIispKCMpKCIrY2hhcnMrIispIikscXVpY2tDbGFzcz1uZXcgUmVnRXhw KCJeKFsjLl0/KSgiK2NoYXJzKyIqKSIpO2pRdWVyeS5leHRlbmQoe2V4cHI6eyIi OmZ1bmN0aW9uKGEsaSxtKXtyZXR1cm4gbVsyXT09IioifHxqUXVlcnkubm9kZU5h bWUoYSxtWzJdKTt9LCIjIjpmdW5jdGlvbihhLGksbSl7cmV0dXJuIGEuZ2V0QXR0 cmlidXRlKCJpZCIpPT1tWzJdO30sIjoiOntsdDpmdW5jdGlvbihhLGksbSl7cmV0 dXJuIGk8bVszXS0wO30sZ3Q6ZnVuY3Rpb24oYSxpLG0pe3JldHVybiBpPm1bM10t MDt9LG50aDpmdW5jdGlvbihhLGksbSl7cmV0dXJuIG1bM10tMD09aTt9LGVxOmZ1 bmN0aW9uKGEsaSxtKXtyZXR1cm4gbVszXS0wPT1pO30sZmlyc3Q6ZnVuY3Rpb24o YSxpKXtyZXR1cm4gaT09MDt9LGxhc3Q6ZnVuY3Rpb24oYSxpLG0scil7cmV0dXJu IGk9PXIubGVuZ3RoLTE7fSxldmVuOmZ1bmN0aW9uKGEsaSl7cmV0dXJuIGklMj09 MDt9LG9kZDpmdW5jdGlvbihhLGkpe3JldHVybiBpJTI7fSwiZmlyc3QtY2hpbGQi OmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRh Z05hbWUoIioiKVswXT09YTt9LCJsYXN0LWNoaWxkIjpmdW5jdGlvbihhKXtyZXR1 cm4galF1ZXJ5Lm50aChhLnBhcmVudE5vZGUubGFzdENoaWxkLDEsInByZXZpb3Vz U2libGluZyIpPT1hO30sIm9ubHktY2hpbGQiOmZ1bmN0aW9uKGEpe3JldHVybiFq UXVlcnkubnRoKGEucGFyZW50Tm9kZS5sYXN0Q2hpbGQsMiwicHJldmlvdXNTaWJs aW5nIik7fSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZmlyc3RDaGlsZDt9 LGVtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiFhLmZpcnN0Q2hpbGQ7fSxjb250YWlu czpmdW5jdGlvbihhLGksbSl7cmV0dXJuKGEudGV4dENvbnRlbnR8fGEuaW5uZXJU ZXh0fHxqUXVlcnkoYSkudGV4dCgpfHwiIikuaW5kZXhPZihtWzNdKT49MDt9LHZp c2libGU6ZnVuY3Rpb24oYSl7cmV0dXJuImhpZGRlbiIhPWEudHlwZSYmalF1ZXJ5 LmNzcyhhLCJkaXNwbGF5IikhPSJub25lIiYmalF1ZXJ5LmNzcyhhLCJ2aXNpYmls aXR5IikhPSJoaWRkZW4iO30saGlkZGVuOmZ1bmN0aW9uKGEpe3JldHVybiJoaWRk ZW4iPT1hLnR5cGV8fGpRdWVyeS5jc3MoYSwiZGlzcGxheSIpPT0ibm9uZSJ8fGpR dWVyeS5jc3MoYSwidmlzaWJpbGl0eSIpPT0iaGlkZGVuIjt9LGVuYWJsZWQ6ZnVu Y3Rpb24oYSl7cmV0dXJuIWEuZGlzYWJsZWQ7fSxkaXNhYmxlZDpmdW5jdGlvbihh KXtyZXR1cm4gYS5kaXNhYmxlZDt9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7cmV0dXJu IGEuY2hlY2tlZDt9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnNlbGVj dGVkfHxqUXVlcnkuYXR0cihhLCJzZWxlY3RlZCIpO30sdGV4dDpmdW5jdGlvbihh KXtyZXR1cm4idGV4dCI9PWEudHlwZTt9LHJhZGlvOmZ1bmN0aW9uKGEpe3JldHVy biJyYWRpbyI9PWEudHlwZTt9LGNoZWNrYm94OmZ1bmN0aW9uKGEpe3JldHVybiJj aGVja2JveCI9PWEudHlwZTt9LGZpbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImZpbGUi PT1hLnR5cGU7fSxwYXNzd29yZDpmdW5jdGlvbihhKXtyZXR1cm4icGFzc3dvcmQi PT1hLnR5cGU7fSxzdWJtaXQ6ZnVuY3Rpb24oYSl7cmV0dXJuInN1Ym1pdCI9PWEu dHlwZTt9LGltYWdlOmZ1bmN0aW9uKGEpe3JldHVybiJpbWFnZSI9PWEudHlwZTt9 LHJlc2V0OmZ1bmN0aW9uKGEpe3JldHVybiJyZXNldCI9PWEudHlwZTt9LGJ1dHRv bjpmdW5jdGlvbihhKXtyZXR1cm4iYnV0dG9uIj09YS50eXBlfHxqUXVlcnkubm9k ZU5hbWUoYSwiYnV0dG9uIik7fSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4vaW5w dXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9pLnRlc3QoYS5ub2RlTmFtZSk7fSxo YXM6ZnVuY3Rpb24oYSxpLG0pe3JldHVybiBqUXVlcnkuZmluZChtWzNdLGEpLmxl bmd0aDt9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4vaFxkL2kudGVzdChhLm5v ZGVOYW1lKTt9LGFuaW1hdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBqUXVlcnkuZ3Jl cChqUXVlcnkudGltZXJzLGZ1bmN0aW9uKGZuKXtyZXR1cm4gYT09Zm4uZWxlbTt9 KS5sZW5ndGg7fX19LHBhcnNlOlsvXihcWykgKkA/KFtcdy1dKykgKihbISokXn49 XSopICooJz8iPykoLio/KVw0ICpcXS8sL14oOikoW1x3LV0rKVwoIj8nPyguKj8o XCguKj9cKSk/W14oXSo/KSI/Jz9cKS8sbmV3IFJlZ0V4cCgiXihbOi4jXSopKCIr Y2hhcnMrIispIildLG11bHRpRmlsdGVyOmZ1bmN0aW9uKGV4cHIsZWxlbXMsbm90 KXt2YXIgb2xkLGN1cj1bXTt3aGlsZShleHByJiZleHByIT1vbGQpe29sZD1leHBy O3ZhciBmPWpRdWVyeS5maWx0ZXIoZXhwcixlbGVtcyxub3QpO2V4cHI9Zi50LnJl cGxhY2UoL15ccyosXHMqLywiIik7Y3VyPW5vdD9lbGVtcz1mLnI6alF1ZXJ5Lm1l cmdlKGN1cixmLnIpO31yZXR1cm4gY3VyO30sZmluZDpmdW5jdGlvbih0LGNvbnRl eHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIilyZXR1cm5bdF07aWYoY29udGV4dCYm Y29udGV4dC5ub2RlVHlwZSE9MSYmY29udGV4dC5ub2RlVHlwZSE9OSlyZXR1cm5b XTtjb250ZXh0PWNvbnRleHR8fGRvY3VtZW50O3ZhciByZXQ9W2NvbnRleHRdLGRv bmU9W10sbGFzdCxub2RlTmFtZTt3aGlsZSh0JiZsYXN0IT10KXt2YXIgcj1bXTts YXN0PXQ7dD1qUXVlcnkudHJpbSh0KTt2YXIgZm91bmRUb2tlbj1mYWxzZSxyZT1x dWlja0NoaWxkLG09cmUuZXhlYyh0KTtpZihtKXtub2RlTmFtZT1tWzFdLnRvVXBw ZXJDYXNlKCk7Zm9yKHZhciBpPTA7cmV0W2ldO2krKylmb3IodmFyIGM9cmV0W2ld LmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpaWYoYy5ub2RlVHlwZT09MSYm KG5vZGVOYW1lPT0iKiJ8fGMubm9kZU5hbWUudG9VcHBlckNhc2UoKT09bm9kZU5h bWUpKXIucHVzaChjKTtyZXQ9cjt0PXQucmVwbGFjZShyZSwiIik7aWYodC5pbmRl eE9mKCIgIik9PTApY29udGludWU7Zm91bmRUb2tlbj10cnVlO31lbHNle3JlPS9e KFs+K35dKVxzKihcdyopL2k7aWYoKG09cmUuZXhlYyh0KSkhPW51bGwpe3I9W107 dmFyIG1lcmdlPXt9O25vZGVOYW1lPW1bMl0udG9VcHBlckNhc2UoKTttPW1bMV07 Zm9yKHZhciBqPTAscmw9cmV0Lmxlbmd0aDtqPHJsO2orKyl7dmFyIG49bT09In4i fHxtPT0iKyI/cmV0W2pdLm5leHRTaWJsaW5nOnJldFtqXS5maXJzdENoaWxkO2Zv cig7bjtuPW4ubmV4dFNpYmxpbmcpaWYobi5ub2RlVHlwZT09MSl7dmFyIGlkPWpR dWVyeS5kYXRhKG4pO2lmKG09PSJ+IiYmbWVyZ2VbaWRdKWJyZWFrO2lmKCFub2Rl TmFtZXx8bi5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT1ub2RlTmFtZSl7aWYobT09 In4iKW1lcmdlW2lkXT10cnVlO3IucHVzaChuKTt9aWYobT09IisiKWJyZWFrO319 cmV0PXI7dD1qUXVlcnkudHJpbSh0LnJlcGxhY2UocmUsIiIpKTtmb3VuZFRva2Vu PXRydWU7fX1pZih0JiYhZm91bmRUb2tlbil7aWYoIXQuaW5kZXhPZigiLCIpKXtp Zihjb250ZXh0PT1yZXRbMF0pcmV0LnNoaWZ0KCk7ZG9uZT1qUXVlcnkubWVyZ2Uo ZG9uZSxyZXQpO3I9cmV0PVtjb250ZXh0XTt0PSIgIit0LnN1YnN0cigxLHQubGVu Z3RoKTt9ZWxzZXt2YXIgcmUyPXF1aWNrSUQ7dmFyIG09cmUyLmV4ZWModCk7aWYo bSl7bT1bMCxtWzJdLG1bM10sbVsxXV07fWVsc2V7cmUyPXF1aWNrQ2xhc3M7bT1y ZTIuZXhlYyh0KTt9bVsyXT1tWzJdLnJlcGxhY2UoL1xcL2csIiIpO3ZhciBlbGVt PXJldFtyZXQubGVuZ3RoLTFdO2lmKG1bMV09PSIjIiYmZWxlbSYmZWxlbS5nZXRF bGVtZW50QnlJZCYmIWpRdWVyeS5pc1hNTERvYyhlbGVtKSl7dmFyIG9pZD1lbGVt LmdldEVsZW1lbnRCeUlkKG1bMl0pO2lmKChqUXVlcnkuYnJvd3Nlci5tc2llfHxq UXVlcnkuYnJvd3Nlci5vcGVyYSkmJm9pZCYmdHlwZW9mIG9pZC5pZD09InN0cmlu ZyImJm9pZC5pZCE9bVsyXSlvaWQ9alF1ZXJ5KCdbQGlkPSInK21bMl0rJyJdJyxl bGVtKVswXTtyZXQ9cj1vaWQmJighbVszXXx8alF1ZXJ5Lm5vZGVOYW1lKG9pZCxt WzNdKSk/W29pZF06W107fWVsc2V7Zm9yKHZhciBpPTA7cmV0W2ldO2krKyl7dmFy IHRhZz1tWzFdPT0iIyImJm1bM10/bVszXTptWzFdIT0iInx8bVswXT09IiI/Iioi Om1bMl07aWYodGFnPT0iKiImJnJldFtpXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgp PT0ib2JqZWN0Iil0YWc9InBhcmFtIjtyPWpRdWVyeS5tZXJnZShyLHJldFtpXS5n ZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpKTt9aWYobVsxXT09Ii4iKXI9alF1ZXJ5 LmNsYXNzRmlsdGVyKHIsbVsyXSk7aWYobVsxXT09IiMiKXt2YXIgdG1wPVtdO2Zv cih2YXIgaT0wO3JbaV07aSsrKWlmKHJbaV0uZ2V0QXR0cmlidXRlKCJpZCIpPT1t WzJdKXt0bXA9W3JbaV1dO2JyZWFrO31yPXRtcDt9cmV0PXI7fXQ9dC5yZXBsYWNl KHJlMiwiIik7fX1pZih0KXt2YXIgdmFsPWpRdWVyeS5maWx0ZXIodCxyKTtyZXQ9 cj12YWwucjt0PWpRdWVyeS50cmltKHZhbC50KTt9fWlmKHQpcmV0PVtdO2lmKHJl dCYmY29udGV4dD09cmV0WzBdKXJldC5zaGlmdCgpO2RvbmU9alF1ZXJ5Lm1lcmdl KGRvbmUscmV0KTtyZXR1cm4gZG9uZTt9LGNsYXNzRmlsdGVyOmZ1bmN0aW9uKHIs bSxub3Qpe209IiAiK20rIiAiO3ZhciB0bXA9W107Zm9yKHZhciBpPTA7cltpXTtp Kyspe3ZhciBwYXNzPSgiICIrcltpXS5jbGFzc05hbWUrIiAiKS5pbmRleE9mKG0p Pj0wO2lmKCFub3QmJnBhc3N8fG5vdCYmIXBhc3MpdG1wLnB1c2gocltpXSk7fXJl dHVybiB0bXA7fSxmaWx0ZXI6ZnVuY3Rpb24odCxyLG5vdCl7dmFyIGxhc3Q7d2hp bGUodCYmdCE9bGFzdCl7bGFzdD10O3ZhciBwPWpRdWVyeS5wYXJzZSxtO2Zvcih2 YXIgaT0wO3BbaV07aSsrKXttPXBbaV0uZXhlYyh0KTtpZihtKXt0PXQuc3Vic3Ry aW5nKG1bMF0ubGVuZ3RoKTttWzJdPW1bMl0ucmVwbGFjZSgvXFwvZywiIik7YnJl YWs7fX1pZighbSlicmVhaztpZihtWzFdPT0iOiImJm1bMl09PSJub3QiKXI9aXNT aW1wbGUudGVzdChtWzNdKT9qUXVlcnkuZmlsdGVyKG1bM10scix0cnVlKS5yOmpR dWVyeShyKS5ub3QobVszXSk7ZWxzZSBpZihtWzFdPT0iLiIpcj1qUXVlcnkuY2xh c3NGaWx0ZXIocixtWzJdLG5vdCk7ZWxzZSBpZihtWzFdPT0iWyIpe3ZhciB0bXA9 W10sdHlwZT1tWzNdO2Zvcih2YXIgaT0wLHJsPXIubGVuZ3RoO2k8cmw7aSsrKXt2 YXIgYT1yW2ldLHo9YVtqUXVlcnkucHJvcHNbbVsyXV18fG1bMl1dO2lmKHo9PW51 bGx8fC9ocmVmfHNyY3xzZWxlY3RlZC8udGVzdChtWzJdKSl6PWpRdWVyeS5hdHRy KGEsbVsyXSl8fCcnO2lmKCh0eXBlPT0iIiYmISF6fHx0eXBlPT0iPSImJno9PW1b NV18fHR5cGU9PSIhPSImJnohPW1bNV18fHR5cGU9PSJePSImJnomJiF6LmluZGV4 T2YobVs1XSl8fHR5cGU9PSIkPSImJnouc3Vic3RyKHoubGVuZ3RoLW1bNV0ubGVu Z3RoKT09bVs1XXx8KHR5cGU9PSIqPSJ8fHR5cGU9PSJ+PSIpJiZ6LmluZGV4T2Yo bVs1XSk+PTApXm5vdCl0bXAucHVzaChhKTt9cj10bXA7fWVsc2UgaWYobVsxXT09 IjoiJiZtWzJdPT0ibnRoLWNoaWxkIil7dmFyIG1lcmdlPXt9LHRtcD1bXSx0ZXN0 PS8oLT8pKFxkKiluKCg/OlwrfC0pP1xkKikvLmV4ZWMobVszXT09ImV2ZW4iJiYi Mm4ifHxtWzNdPT0ib2RkIiYmIjJuKzEifHwhL1xELy50ZXN0KG1bM10pJiYiMG4r IittWzNdfHxtWzNdKSxmaXJzdD0odGVzdFsxXSsodGVzdFsyXXx8MSkpLTAsbGFz dD10ZXN0WzNdLTA7Zm9yKHZhciBpPTAscmw9ci5sZW5ndGg7aTxybDtpKyspe3Zh ciBub2RlPXJbaV0scGFyZW50Tm9kZT1ub2RlLnBhcmVudE5vZGUsaWQ9alF1ZXJ5 LmRhdGEocGFyZW50Tm9kZSk7aWYoIW1lcmdlW2lkXSl7dmFyIGM9MTtmb3IodmFy IG49cGFyZW50Tm9kZS5maXJzdENoaWxkO247bj1uLm5leHRTaWJsaW5nKWlmKG4u bm9kZVR5cGU9PTEpbi5ub2RlSW5kZXg9YysrO21lcmdlW2lkXT10cnVlO312YXIg YWRkPWZhbHNlO2lmKGZpcnN0PT0wKXtpZihub2RlLm5vZGVJbmRleD09bGFzdClh ZGQ9dHJ1ZTt9ZWxzZSBpZigobm9kZS5ub2RlSW5kZXgtbGFzdCklZmlyc3Q9PTAm Jihub2RlLm5vZGVJbmRleC1sYXN0KS9maXJzdD49MClhZGQ9dHJ1ZTtpZihhZGRe bm90KXRtcC5wdXNoKG5vZGUpO31yPXRtcDt9ZWxzZXt2YXIgZm49alF1ZXJ5LmV4 cHJbbVsxXV07aWYodHlwZW9mIGZuPT0ib2JqZWN0Iilmbj1mblttWzJdXTtpZih0 eXBlb2YgZm49PSJzdHJpbmciKWZuPWV2YWwoImZhbHNlfHxmdW5jdGlvbihhLGkp e3JldHVybiAiK2ZuKyI7fSIpO3I9alF1ZXJ5LmdyZXAocixmdW5jdGlvbihlbGVt LGkpe3JldHVybiBmbihlbGVtLGksbSxyKTt9LG5vdCk7fX1yZXR1cm57cjpyLHQ6 dH07fSxkaXI6ZnVuY3Rpb24oZWxlbSxkaXIpe3ZhciBtYXRjaGVkPVtdLGN1cj1l bGVtW2Rpcl07d2hpbGUoY3VyJiZjdXIhPWRvY3VtZW50KXtpZihjdXIubm9kZVR5 cGU9PTEpbWF0Y2hlZC5wdXNoKGN1cik7Y3VyPWN1cltkaXJdO31yZXR1cm4gbWF0 Y2hlZDt9LG50aDpmdW5jdGlvbihjdXIscmVzdWx0LGRpcixlbGVtKXtyZXN1bHQ9 cmVzdWx0fHwxO3ZhciBudW09MDtmb3IoO2N1cjtjdXI9Y3VyW2Rpcl0paWYoY3Vy Lm5vZGVUeXBlPT0xJiYrK251bT09cmVzdWx0KWJyZWFrO3JldHVybiBjdXI7fSxz aWJsaW5nOmZ1bmN0aW9uKG4sZWxlbSl7dmFyIHI9W107Zm9yKDtuO249bi5uZXh0 U2libGluZyl7aWYobi5ub2RlVHlwZT09MSYmbiE9ZWxlbSlyLnB1c2gobik7fXJl dHVybiByO319KTtqUXVlcnkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlbGVtLHR5cGVz LGhhbmRsZXIsZGF0YSl7aWYoZWxlbS5ub2RlVHlwZT09M3x8ZWxlbS5ub2RlVHlw ZT09OClyZXR1cm47aWYoalF1ZXJ5LmJyb3dzZXIubXNpZSYmZWxlbS5zZXRJbnRl cnZhbCllbGVtPXdpbmRvdztpZighaGFuZGxlci5ndWlkKWhhbmRsZXIuZ3VpZD10 aGlzLmd1aWQrKztpZihkYXRhIT11bmRlZmluZWQpe3ZhciBmbj1oYW5kbGVyO2hh bmRsZXI9dGhpcy5wcm94eShmbixmdW5jdGlvbigpe3JldHVybiBmbi5hcHBseSh0 aGlzLGFyZ3VtZW50cyk7fSk7aGFuZGxlci5kYXRhPWRhdGE7fXZhciBldmVudHM9 alF1ZXJ5LmRhdGEoZWxlbSwiZXZlbnRzIil8fGpRdWVyeS5kYXRhKGVsZW0sImV2 ZW50cyIse30pLGhhbmRsZT1qUXVlcnkuZGF0YShlbGVtLCJoYW5kbGUiKXx8alF1 ZXJ5LmRhdGEoZWxlbSwiaGFuZGxlIixmdW5jdGlvbigpe2lmKHR5cGVvZiBqUXVl cnkhPSJ1bmRlZmluZWQiJiYhalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZClyZXR1cm4g alF1ZXJ5LmV2ZW50LmhhbmRsZS5hcHBseShhcmd1bWVudHMuY2FsbGVlLmVsZW0s YXJndW1lbnRzKTt9KTtoYW5kbGUuZWxlbT1lbGVtO2pRdWVyeS5lYWNoKHR5cGVz LnNwbGl0KC9ccysvKSxmdW5jdGlvbihpbmRleCx0eXBlKXt2YXIgcGFydHM9dHlw ZS5zcGxpdCgiLiIpO3R5cGU9cGFydHNbMF07aGFuZGxlci50eXBlPXBhcnRzWzFd O3ZhciBoYW5kbGVycz1ldmVudHNbdHlwZV07aWYoIWhhbmRsZXJzKXtoYW5kbGVy cz1ldmVudHNbdHlwZV09e307aWYoIWpRdWVyeS5ldmVudC5zcGVjaWFsW3R5cGVd fHxqUXVlcnkuZXZlbnQuc3BlY2lhbFt0eXBlXS5zZXR1cC5jYWxsKGVsZW0pPT09 ZmFsc2Upe2lmKGVsZW0uYWRkRXZlbnRMaXN0ZW5lcillbGVtLmFkZEV2ZW50TGlz dGVuZXIodHlwZSxoYW5kbGUsZmFsc2UpO2Vsc2UgaWYoZWxlbS5hdHRhY2hFdmVu dCllbGVtLmF0dGFjaEV2ZW50KCJvbiIrdHlwZSxoYW5kbGUpO319aGFuZGxlcnNb aGFuZGxlci5ndWlkXT1oYW5kbGVyO2pRdWVyeS5ldmVudC5nbG9iYWxbdHlwZV09 dHJ1ZTt9KTtlbGVtPW51bGw7fSxndWlkOjEsZ2xvYmFsOnt9LHJlbW92ZTpmdW5j dGlvbihlbGVtLHR5cGVzLGhhbmRsZXIpe2lmKGVsZW0ubm9kZVR5cGU9PTN8fGVs ZW0ubm9kZVR5cGU9PTgpcmV0dXJuO3ZhciBldmVudHM9alF1ZXJ5LmRhdGEoZWxl bSwiZXZlbnRzIikscmV0LGluZGV4O2lmKGV2ZW50cyl7aWYodHlwZXM9PXVuZGVm aW5lZHx8KHR5cGVvZiB0eXBlcz09InN0cmluZyImJnR5cGVzLmNoYXJBdCgwKT09 Ii4iKSlmb3IodmFyIHR5cGUgaW4gZXZlbnRzKXRoaXMucmVtb3ZlKGVsZW0sdHlw ZSsodHlwZXN8fCIiKSk7ZWxzZXtpZih0eXBlcy50eXBlKXtoYW5kbGVyPXR5cGVz LmhhbmRsZXI7dHlwZXM9dHlwZXMudHlwZTt9alF1ZXJ5LmVhY2godHlwZXMuc3Bs aXQoL1xzKy8pLGZ1bmN0aW9uKGluZGV4LHR5cGUpe3ZhciBwYXJ0cz10eXBlLnNw bGl0KCIuIik7dHlwZT1wYXJ0c1swXTtpZihldmVudHNbdHlwZV0pe2lmKGhhbmRs ZXIpZGVsZXRlIGV2ZW50c1t0eXBlXVtoYW5kbGVyLmd1aWRdO2Vsc2UKZm9yKGhh bmRsZXIgaW4gZXZlbnRzW3R5cGVdKWlmKCFwYXJ0c1sxXXx8ZXZlbnRzW3R5cGVd W2hhbmRsZXJdLnR5cGU9PXBhcnRzWzFdKWRlbGV0ZSBldmVudHNbdHlwZV1baGFu ZGxlcl07Zm9yKHJldCBpbiBldmVudHNbdHlwZV0pYnJlYWs7aWYoIXJldCl7aWYo IWpRdWVyeS5ldmVudC5zcGVjaWFsW3R5cGVdfHxqUXVlcnkuZXZlbnQuc3BlY2lh bFt0eXBlXS50ZWFyZG93bi5jYWxsKGVsZW0pPT09ZmFsc2Upe2lmKGVsZW0ucmVt b3ZlRXZlbnRMaXN0ZW5lcillbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSxq UXVlcnkuZGF0YShlbGVtLCJoYW5kbGUiKSxmYWxzZSk7ZWxzZSBpZihlbGVtLmRl dGFjaEV2ZW50KWVsZW0uZGV0YWNoRXZlbnQoIm9uIit0eXBlLGpRdWVyeS5kYXRh KGVsZW0sImhhbmRsZSIpKTt9cmV0PW51bGw7ZGVsZXRlIGV2ZW50c1t0eXBlXTt9 fX0pO31mb3IocmV0IGluIGV2ZW50cylicmVhaztpZighcmV0KXt2YXIgaGFuZGxl PWpRdWVyeS5kYXRhKGVsZW0sImhhbmRsZSIpO2lmKGhhbmRsZSloYW5kbGUuZWxl bT1udWxsO2pRdWVyeS5yZW1vdmVEYXRhKGVsZW0sImV2ZW50cyIpO2pRdWVyeS5y ZW1vdmVEYXRhKGVsZW0sImhhbmRsZSIpO319fSx0cmlnZ2VyOmZ1bmN0aW9uKHR5 cGUsZGF0YSxlbGVtLGRvbmF0aXZlLGV4dHJhKXtkYXRhPWpRdWVyeS5tYWtlQXJy YXkoZGF0YSk7aWYodHlwZS5pbmRleE9mKCIhIik+PTApe3R5cGU9dHlwZS5zbGlj ZSgwLC0xKTt2YXIgZXhjbHVzaXZlPXRydWU7fWlmKCFlbGVtKXtpZih0aGlzLmds b2JhbFt0eXBlXSlqUXVlcnkoIioiKS5hZGQoW3dpbmRvdyxkb2N1bWVudF0pLnRy aWdnZXIodHlwZSxkYXRhKTt9ZWxzZXtpZihlbGVtLm5vZGVUeXBlPT0zfHxlbGVt Lm5vZGVUeXBlPT04KXJldHVybiB1bmRlZmluZWQ7dmFyIHZhbCxyZXQsZm49alF1 ZXJ5LmlzRnVuY3Rpb24oZWxlbVt0eXBlXXx8bnVsbCksZXZlbnQ9IWRhdGFbMF18 fCFkYXRhWzBdLnByZXZlbnREZWZhdWx0O2lmKGV2ZW50KXtkYXRhLnVuc2hpZnQo e3R5cGU6dHlwZSx0YXJnZXQ6ZWxlbSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigp e30sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7fSx0aW1lU3RhbXA6bm93KCl9 KTtkYXRhWzBdW2V4cGFuZG9dPXRydWU7fWRhdGFbMF0udHlwZT10eXBlO2lmKGV4 Y2x1c2l2ZSlkYXRhWzBdLmV4Y2x1c2l2ZT10cnVlO3ZhciBoYW5kbGU9alF1ZXJ5 LmRhdGEoZWxlbSwiaGFuZGxlIik7aWYoaGFuZGxlKXZhbD1oYW5kbGUuYXBwbHko ZWxlbSxkYXRhKTtpZigoIWZufHwoalF1ZXJ5Lm5vZGVOYW1lKGVsZW0sJ2EnKSYm dHlwZT09ImNsaWNrIikpJiZlbGVtWyJvbiIrdHlwZV0mJmVsZW1bIm9uIit0eXBl XS5hcHBseShlbGVtLGRhdGEpPT09ZmFsc2UpdmFsPWZhbHNlO2lmKGV2ZW50KWRh dGEuc2hpZnQoKTtpZihleHRyYSYmalF1ZXJ5LmlzRnVuY3Rpb24oZXh0cmEpKXty ZXQ9ZXh0cmEuYXBwbHkoZWxlbSx2YWw9PW51bGw/ZGF0YTpkYXRhLmNvbmNhdCh2 YWwpKTtpZihyZXQhPT11bmRlZmluZWQpdmFsPXJldDt9aWYoZm4mJmRvbmF0aXZl IT09ZmFsc2UmJnZhbCE9PWZhbHNlJiYhKGpRdWVyeS5ub2RlTmFtZShlbGVtLCdh JykmJnR5cGU9PSJjbGljayIpKXt0aGlzLnRyaWdnZXJlZD10cnVlO3RyeXtlbGVt W3R5cGVdKCk7fWNhdGNoKGUpe319dGhpcy50cmlnZ2VyZWQ9ZmFsc2U7fXJldHVy biB2YWw7fSxoYW5kbGU6ZnVuY3Rpb24oZXZlbnQpe3ZhciB2YWwscmV0LG5hbWVz cGFjZSxhbGwsaGFuZGxlcnM7ZXZlbnQ9YXJndW1lbnRzWzBdPWpRdWVyeS5ldmVu dC5maXgoZXZlbnR8fHdpbmRvdy5ldmVudCk7bmFtZXNwYWNlPWV2ZW50LnR5cGUu c3BsaXQoIi4iKTtldmVudC50eXBlPW5hbWVzcGFjZVswXTtuYW1lc3BhY2U9bmFt ZXNwYWNlWzFdO2FsbD0hbmFtZXNwYWNlJiYhZXZlbnQuZXhjbHVzaXZlO2hhbmRs ZXJzPShqUXVlcnkuZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2V2ZW50LnR5cGVd O2Zvcih2YXIgaiBpbiBoYW5kbGVycyl7dmFyIGhhbmRsZXI9aGFuZGxlcnNbal07 aWYoYWxsfHxoYW5kbGVyLnR5cGU9PW5hbWVzcGFjZSl7ZXZlbnQuaGFuZGxlcj1o YW5kbGVyO2V2ZW50LmRhdGE9aGFuZGxlci5kYXRhO3JldD1oYW5kbGVyLmFwcGx5 KHRoaXMsYXJndW1lbnRzKTtpZih2YWwhPT1mYWxzZSl2YWw9cmV0O2lmKHJldD09 PWZhbHNlKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO2V2ZW50LnN0b3BQcm9wYWdh dGlvbigpO319fXJldHVybiB2YWw7fSxmaXg6ZnVuY3Rpb24oZXZlbnQpe2lmKGV2 ZW50W2V4cGFuZG9dPT10cnVlKXJldHVybiBldmVudDt2YXIgb3JpZ2luYWxFdmVu dD1ldmVudDtldmVudD17b3JpZ2luYWxFdmVudDpvcmlnaW5hbEV2ZW50fTt2YXIg cHJvcHM9ImFsdEtleSBhdHRyQ2hhbmdlIGF0dHJOYW1lIGJ1YmJsZXMgYnV0dG9u IGNhbmNlbGFibGUgY2hhckNvZGUgY2xpZW50WCBjbGllbnRZIGN0cmxLZXkgY3Vy cmVudFRhcmdldCBkYXRhIGRldGFpbCBldmVudFBoYXNlIGZyb21FbGVtZW50IGhh bmRsZXIga2V5Q29kZSBtZXRhS2V5IG5ld1ZhbHVlIG9yaWdpbmFsVGFyZ2V0IHBh Z2VYIHBhZ2VZIHByZXZWYWx1ZSByZWxhdGVkTm9kZSByZWxhdGVkVGFyZ2V0IHNj cmVlblggc2NyZWVuWSBzaGlmdEtleSBzcmNFbGVtZW50IHRhcmdldCB0aW1lU3Rh bXAgdG9FbGVtZW50IHR5cGUgdmlldyB3aGVlbERlbHRhIHdoaWNoIi5zcGxpdCgi ICIpO2Zvcih2YXIgaT1wcm9wcy5sZW5ndGg7aTtpLS0pZXZlbnRbcHJvcHNbaV1d PW9yaWdpbmFsRXZlbnRbcHJvcHNbaV1dO2V2ZW50W2V4cGFuZG9dPXRydWU7ZXZl bnQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtpZihvcmlnaW5hbEV2ZW50LnBy ZXZlbnREZWZhdWx0KW9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtvcmln aW5hbEV2ZW50LnJldHVyblZhbHVlPWZhbHNlO307ZXZlbnQuc3RvcFByb3BhZ2F0 aW9uPWZ1bmN0aW9uKCl7aWYob3JpZ2luYWxFdmVudC5zdG9wUHJvcGFnYXRpb24p b3JpZ2luYWxFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtvcmlnaW5hbEV2ZW50LmNh bmNlbEJ1YmJsZT10cnVlO307ZXZlbnQudGltZVN0YW1wPWV2ZW50LnRpbWVTdGFt cHx8bm93KCk7aWYoIWV2ZW50LnRhcmdldClldmVudC50YXJnZXQ9ZXZlbnQuc3Jj RWxlbWVudHx8ZG9jdW1lbnQ7aWYoZXZlbnQudGFyZ2V0Lm5vZGVUeXBlPT0zKWV2 ZW50LnRhcmdldD1ldmVudC50YXJnZXQucGFyZW50Tm9kZTtpZighZXZlbnQucmVs YXRlZFRhcmdldCYmZXZlbnQuZnJvbUVsZW1lbnQpZXZlbnQucmVsYXRlZFRhcmdl dD1ldmVudC5mcm9tRWxlbWVudD09ZXZlbnQudGFyZ2V0P2V2ZW50LnRvRWxlbWVu dDpldmVudC5mcm9tRWxlbWVudDtpZihldmVudC5wYWdlWD09bnVsbCYmZXZlbnQu Y2xpZW50WCE9bnVsbCl7dmFyIGRvYz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQs Ym9keT1kb2N1bWVudC5ib2R5O2V2ZW50LnBhZ2VYPWV2ZW50LmNsaWVudFgrKGRv YyYmZG9jLnNjcm9sbExlZnR8fGJvZHkmJmJvZHkuc2Nyb2xsTGVmdHx8MCktKGRv Yy5jbGllbnRMZWZ0fHwwKTtldmVudC5wYWdlWT1ldmVudC5jbGllbnRZKyhkb2Mm JmRvYy5zY3JvbGxUb3B8fGJvZHkmJmJvZHkuc2Nyb2xsVG9wfHwwKS0oZG9jLmNs aWVudFRvcHx8MCk7fWlmKCFldmVudC53aGljaCYmKChldmVudC5jaGFyQ29kZXx8 ZXZlbnQuY2hhckNvZGU9PT0wKT9ldmVudC5jaGFyQ29kZTpldmVudC5rZXlDb2Rl KSlldmVudC53aGljaD1ldmVudC5jaGFyQ29kZXx8ZXZlbnQua2V5Q29kZTtpZigh ZXZlbnQubWV0YUtleSYmZXZlbnQuY3RybEtleSlldmVudC5tZXRhS2V5PWV2ZW50 LmN0cmxLZXk7aWYoIWV2ZW50LndoaWNoJiZldmVudC5idXR0b24pZXZlbnQud2hp Y2g9KGV2ZW50LmJ1dHRvbiYxPzE6KGV2ZW50LmJ1dHRvbiYyPzM6KGV2ZW50LmJ1 dHRvbiY0PzI6MCkpKTtyZXR1cm4gZXZlbnQ7fSxwcm94eTpmdW5jdGlvbihmbixw cm94eSl7cHJveHkuZ3VpZD1mbi5ndWlkPWZuLmd1aWR8fHByb3h5Lmd1aWR8fHRo aXMuZ3VpZCsrO3JldHVybiBwcm94eTt9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDpm dW5jdGlvbigpe2JpbmRSZWFkeSgpO3JldHVybjt9LHRlYXJkb3duOmZ1bmN0aW9u KCl7cmV0dXJuO319LG1vdXNlZW50ZXI6e3NldHVwOmZ1bmN0aW9uKCl7aWYoalF1 ZXJ5LmJyb3dzZXIubXNpZSlyZXR1cm4gZmFsc2U7alF1ZXJ5KHRoaXMpLmJpbmQo Im1vdXNlb3ZlciIsalF1ZXJ5LmV2ZW50LnNwZWNpYWwubW91c2VlbnRlci5oYW5k bGVyKTtyZXR1cm4gdHJ1ZTt9LHRlYXJkb3duOmZ1bmN0aW9uKCl7aWYoalF1ZXJ5 LmJyb3dzZXIubXNpZSlyZXR1cm4gZmFsc2U7alF1ZXJ5KHRoaXMpLnVuYmluZCgi bW91c2VvdmVyIixqUXVlcnkuZXZlbnQuc3BlY2lhbC5tb3VzZWVudGVyLmhhbmRs ZXIpO3JldHVybiB0cnVlO30saGFuZGxlcjpmdW5jdGlvbihldmVudCl7aWYod2l0 aGluRWxlbWVudChldmVudCx0aGlzKSlyZXR1cm4gdHJ1ZTtldmVudC50eXBlPSJt b3VzZWVudGVyIjtyZXR1cm4galF1ZXJ5LmV2ZW50LmhhbmRsZS5hcHBseSh0aGlz LGFyZ3VtZW50cyk7fX0sbW91c2VsZWF2ZTp7c2V0dXA6ZnVuY3Rpb24oKXtpZihq UXVlcnkuYnJvd3Nlci5tc2llKXJldHVybiBmYWxzZTtqUXVlcnkodGhpcykuYmlu ZCgibW91c2VvdXQiLGpRdWVyeS5ldmVudC5zcGVjaWFsLm1vdXNlbGVhdmUuaGFu ZGxlcik7cmV0dXJuIHRydWU7fSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGpRdWVy eS5icm93c2VyLm1zaWUpcmV0dXJuIGZhbHNlO2pRdWVyeSh0aGlzKS51bmJpbmQo Im1vdXNlb3V0IixqUXVlcnkuZXZlbnQuc3BlY2lhbC5tb3VzZWxlYXZlLmhhbmRs ZXIpO3JldHVybiB0cnVlO30saGFuZGxlcjpmdW5jdGlvbihldmVudCl7aWYod2l0 aGluRWxlbWVudChldmVudCx0aGlzKSlyZXR1cm4gdHJ1ZTtldmVudC50eXBlPSJt b3VzZWxlYXZlIjtyZXR1cm4galF1ZXJ5LmV2ZW50LmhhbmRsZS5hcHBseSh0aGlz LGFyZ3VtZW50cyk7fX19fTtqUXVlcnkuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9u KHR5cGUsZGF0YSxmbil7cmV0dXJuIHR5cGU9PSJ1bmxvYWQiP3RoaXMub25lKHR5 cGUsZGF0YSxmbik6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV2ZW50LmFk ZCh0aGlzLHR5cGUsZm58fGRhdGEsZm4mJmRhdGEpO30pO30sb25lOmZ1bmN0aW9u KHR5cGUsZGF0YSxmbil7dmFyIG9uZT1qUXVlcnkuZXZlbnQucHJveHkoZm58fGRh dGEsZnVuY3Rpb24oZXZlbnQpe2pRdWVyeSh0aGlzKS51bmJpbmQoZXZlbnQsb25l KTtyZXR1cm4oZm58fGRhdGEpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt9KTtyZXR1 cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV2ZW50LmFkZCh0aGlzLHR5 cGUsb25lLGZuJiZkYXRhKTt9KTt9LHVuYmluZDpmdW5jdGlvbih0eXBlLGZuKXty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV2ZW50LnJlbW92ZSh0 aGlzLHR5cGUsZm4pO30pO30sdHJpZ2dlcjpmdW5jdGlvbih0eXBlLGRhdGEsZm4p e3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQudHJpZ2dl cih0eXBlLGRhdGEsdGhpcyx0cnVlLGZuKTt9KTt9LHRyaWdnZXJIYW5kbGVyOmZ1 bmN0aW9uKHR5cGUsZGF0YSxmbil7cmV0dXJuIHRoaXNbMF0mJmpRdWVyeS5ldmVu dC50cmlnZ2VyKHR5cGUsZGF0YSx0aGlzWzBdLGZhbHNlLGZuKTt9LHRvZ2dsZTpm dW5jdGlvbihmbil7dmFyIGFyZ3M9YXJndW1lbnRzLGk9MTt3aGlsZShpPGFyZ3Mu bGVuZ3RoKWpRdWVyeS5ldmVudC5wcm94eShmbixhcmdzW2krK10pO3JldHVybiB0 aGlzLmNsaWNrKGpRdWVyeS5ldmVudC5wcm94eShmbixmdW5jdGlvbihldmVudCl7 dGhpcy5sYXN0VG9nZ2xlPSh0aGlzLmxhc3RUb2dnbGV8fDApJWk7ZXZlbnQucHJl dmVudERlZmF1bHQoKTtyZXR1cm4gYXJnc1t0aGlzLmxhc3RUb2dnbGUrK10uYXBw bHkodGhpcyxhcmd1bWVudHMpfHxmYWxzZTt9KSk7fSxob3ZlcjpmdW5jdGlvbihm bk92ZXIsZm5PdXQpe3JldHVybiB0aGlzLmJpbmQoJ21vdXNlZW50ZXInLGZuT3Zl cikuYmluZCgnbW91c2VsZWF2ZScsZm5PdXQpO30scmVhZHk6ZnVuY3Rpb24oZm4p e2JpbmRSZWFkeSgpO2lmKGpRdWVyeS5pc1JlYWR5KWZuLmNhbGwoZG9jdW1lbnQs alF1ZXJ5KTtlbHNlCmpRdWVyeS5yZWFkeUxpc3QucHVzaChmdW5jdGlvbigpe3Jl dHVybiBmbi5jYWxsKHRoaXMsalF1ZXJ5KTt9KTtyZXR1cm4gdGhpczt9fSk7alF1 ZXJ5LmV4dGVuZCh7aXNSZWFkeTpmYWxzZSxyZWFkeUxpc3Q6W10scmVhZHk6ZnVu Y3Rpb24oKXtpZighalF1ZXJ5LmlzUmVhZHkpe2pRdWVyeS5pc1JlYWR5PXRydWU7 aWYoalF1ZXJ5LnJlYWR5TGlzdCl7alF1ZXJ5LmVhY2goalF1ZXJ5LnJlYWR5TGlz dCxmdW5jdGlvbigpe3RoaXMuY2FsbChkb2N1bWVudCk7fSk7alF1ZXJ5LnJlYWR5 TGlzdD1udWxsO31qUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXJIYW5kbGVyKCJyZWFk eSIpO319fSk7dmFyIHJlYWR5Qm91bmQ9ZmFsc2U7ZnVuY3Rpb24gYmluZFJlYWR5 KCl7aWYocmVhZHlCb3VuZClyZXR1cm47cmVhZHlCb3VuZD10cnVlO2lmKGRvY3Vt ZW50LmFkZEV2ZW50TGlzdGVuZXImJiFqUXVlcnkuYnJvd3Nlci5vcGVyYSlkb2N1 bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixqUXVlcnku cmVhZHksZmFsc2UpO2lmKGpRdWVyeS5icm93c2VyLm1zaWUmJndpbmRvdz09dG9w KShmdW5jdGlvbigpe2lmKGpRdWVyeS5pc1JlYWR5KXJldHVybjt0cnl7ZG9jdW1l bnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik7fWNhdGNoKGVycm9y KXtzZXRUaW1lb3V0KGFyZ3VtZW50cy5jYWxsZWUsMCk7cmV0dXJuO31qUXVlcnku cmVhZHkoKTt9KSgpO2lmKGpRdWVyeS5icm93c2VyLm9wZXJhKWRvY3VtZW50LmFk ZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGZ1bmN0aW9uKCl7aWYo alF1ZXJ5LmlzUmVhZHkpcmV0dXJuO2Zvcih2YXIgaT0wO2k8ZG9jdW1lbnQuc3R5 bGVTaGVldHMubGVuZ3RoO2krKylpZihkb2N1bWVudC5zdHlsZVNoZWV0c1tpXS5k aXNhYmxlZCl7c2V0VGltZW91dChhcmd1bWVudHMuY2FsbGVlLDApO3JldHVybjt9 alF1ZXJ5LnJlYWR5KCk7fSxmYWxzZSk7aWYoalF1ZXJ5LmJyb3dzZXIuc2FmYXJp KXt2YXIgbnVtU3R5bGVzOyhmdW5jdGlvbigpe2lmKGpRdWVyeS5pc1JlYWR5KXJl dHVybjtpZihkb2N1bWVudC5yZWFkeVN0YXRlIT0ibG9hZGVkIiYmZG9jdW1lbnQu cmVhZHlTdGF0ZSE9ImNvbXBsZXRlIil7c2V0VGltZW91dChhcmd1bWVudHMuY2Fs bGVlLDApO3JldHVybjt9aWYobnVtU3R5bGVzPT09dW5kZWZpbmVkKW51bVN0eWxl cz1qUXVlcnkoInN0eWxlLCBsaW5rW3JlbD1zdHlsZXNoZWV0XSIpLmxlbmd0aDtp Zihkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGghPW51bVN0eWxlcyl7c2V0VGlt ZW91dChhcmd1bWVudHMuY2FsbGVlLDApO3JldHVybjt9alF1ZXJ5LnJlYWR5KCk7 fSkoKTt9alF1ZXJ5LmV2ZW50LmFkZCh3aW5kb3csImxvYWQiLGpRdWVyeS5yZWFk eSk7fWpRdWVyeS5lYWNoKCgiYmx1cixmb2N1cyxsb2FkLHJlc2l6ZSxzY3JvbGws dW5sb2FkLGNsaWNrLGRibGNsaWNrLCIrIm1vdXNlZG93bixtb3VzZXVwLG1vdXNl bW92ZSxtb3VzZW92ZXIsbW91c2VvdXQsY2hhbmdlLHNlbGVjdCwiKyJzdWJtaXQs a2V5ZG93bixrZXlwcmVzcyxrZXl1cCxlcnJvciIpLnNwbGl0KCIsIiksZnVuY3Rp b24oaSxuYW1lKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oZm4pe3JldHVybiBm bj90aGlzLmJpbmQobmFtZSxmbik6dGhpcy50cmlnZ2VyKG5hbWUpO307fSk7dmFy IHdpdGhpbkVsZW1lbnQ9ZnVuY3Rpb24oZXZlbnQsZWxlbSl7dmFyIHBhcmVudD1l dmVudC5yZWxhdGVkVGFyZ2V0O3doaWxlKHBhcmVudCYmcGFyZW50IT1lbGVtKXRy eXtwYXJlbnQ9cGFyZW50LnBhcmVudE5vZGU7fWNhdGNoKGVycm9yKXtwYXJlbnQ9 ZWxlbTt9cmV0dXJuIHBhcmVudD09ZWxlbTt9O2pRdWVyeSh3aW5kb3cpLmJpbmQo InVubG9hZCIsZnVuY3Rpb24oKXtqUXVlcnkoIioiKS5hZGQoZG9jdW1lbnQpLnVu YmluZCgpO30pO2pRdWVyeS5mbi5leHRlbmQoe19sb2FkOmpRdWVyeS5mbi5sb2Fk LGxvYWQ6ZnVuY3Rpb24odXJsLHBhcmFtcyxjYWxsYmFjayl7aWYodHlwZW9mIHVy bCE9J3N0cmluZycpcmV0dXJuIHRoaXMuX2xvYWQodXJsKTt2YXIgb2ZmPXVybC5p bmRleE9mKCIgIik7aWYob2ZmPj0wKXt2YXIgc2VsZWN0b3I9dXJsLnNsaWNlKG9m Zix1cmwubGVuZ3RoKTt1cmw9dXJsLnNsaWNlKDAsb2ZmKTt9Y2FsbGJhY2s9Y2Fs bGJhY2t8fGZ1bmN0aW9uKCl7fTt2YXIgdHlwZT0iR0VUIjtpZihwYXJhbXMpaWYo alF1ZXJ5LmlzRnVuY3Rpb24ocGFyYW1zKSl7Y2FsbGJhY2s9cGFyYW1zO3BhcmFt cz1udWxsO31lbHNle3BhcmFtcz1qUXVlcnkucGFyYW0ocGFyYW1zKTt0eXBlPSJQ T1NUIjt9dmFyIHNlbGY9dGhpcztqUXVlcnkuYWpheCh7dXJsOnVybCx0eXBlOnR5 cGUsZGF0YVR5cGU6Imh0bWwiLGRhdGE6cGFyYW1zLGNvbXBsZXRlOmZ1bmN0aW9u KHJlcyxzdGF0dXMpe2lmKHN0YXR1cz09InN1Y2Nlc3MifHxzdGF0dXM9PSJub3Rt b2RpZmllZCIpc2VsZi5odG1sKHNlbGVjdG9yP2pRdWVyeSgiPGRpdi8+IikuYXBw ZW5kKHJlcy5yZXNwb25zZVRleHQucmVwbGFjZSgvPHNjcmlwdCgufFxzKSo/XC9z Y3JpcHQ+L2csIiIpKS5maW5kKHNlbGVjdG9yKTpyZXMucmVzcG9uc2VUZXh0KTtz ZWxmLmVhY2goY2FsbGJhY2ssW3Jlcy5yZXNwb25zZVRleHQsc3RhdHVzLHJlc10p O319KTtyZXR1cm4gdGhpczt9LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBq UXVlcnkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKTt9LHNlcmlhbGl6ZUFy cmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJu IGpRdWVyeS5ub2RlTmFtZSh0aGlzLCJmb3JtIik/alF1ZXJ5Lm1ha2VBcnJheSh0 aGlzLmVsZW1lbnRzKTp0aGlzO30pLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiB0 aGlzLm5hbWUmJiF0aGlzLmRpc2FibGVkJiYodGhpcy5jaGVja2VkfHwvc2VsZWN0 fHRleHRhcmVhL2kudGVzdCh0aGlzLm5vZGVOYW1lKXx8L3RleHR8aGlkZGVufHBh c3N3b3JkL2kudGVzdCh0aGlzLnR5cGUpKTt9KS5tYXAoZnVuY3Rpb24oaSxlbGVt KXt2YXIgdmFsPWpRdWVyeSh0aGlzKS52YWwoKTtyZXR1cm4gdmFsPT1udWxsP251 bGw6dmFsLmNvbnN0cnVjdG9yPT1BcnJheT9qUXVlcnkubWFwKHZhbCxmdW5jdGlv bih2YWwsaSl7cmV0dXJue25hbWU6ZWxlbS5uYW1lLHZhbHVlOnZhbH07fSk6e25h bWU6ZWxlbS5uYW1lLHZhbHVlOnZhbH07fSkuZ2V0KCk7fX0pO2pRdWVyeS5lYWNo KCJhamF4U3RhcnQsYWpheFN0b3AsYWpheENvbXBsZXRlLGFqYXhFcnJvcixhamF4 U3VjY2VzcyxhamF4U2VuZCIuc3BsaXQoIiwiKSxmdW5jdGlvbihpLG8pe2pRdWVy eS5mbltvXT1mdW5jdGlvbihmKXtyZXR1cm4gdGhpcy5iaW5kKG8sZik7fTt9KTt2 YXIganNjPW5vdygpO2pRdWVyeS5leHRlbmQoe2dldDpmdW5jdGlvbih1cmwsZGF0 YSxjYWxsYmFjayx0eXBlKXtpZihqUXVlcnkuaXNGdW5jdGlvbihkYXRhKSl7Y2Fs bGJhY2s9ZGF0YTtkYXRhPW51bGw7fXJldHVybiBqUXVlcnkuYWpheCh7dHlwZToi R0VUIix1cmw6dXJsLGRhdGE6ZGF0YSxzdWNjZXNzOmNhbGxiYWNrLGRhdGFUeXBl OnR5cGV9KTt9LGdldFNjcmlwdDpmdW5jdGlvbih1cmwsY2FsbGJhY2spe3JldHVy biBqUXVlcnkuZ2V0KHVybCxudWxsLGNhbGxiYWNrLCJzY3JpcHQiKTt9LGdldEpT T046ZnVuY3Rpb24odXJsLGRhdGEsY2FsbGJhY2spe3JldHVybiBqUXVlcnkuZ2V0 KHVybCxkYXRhLGNhbGxiYWNrLCJqc29uIik7fSxwb3N0OmZ1bmN0aW9uKHVybCxk YXRhLGNhbGxiYWNrLHR5cGUpe2lmKGpRdWVyeS5pc0Z1bmN0aW9uKGRhdGEpKXtj YWxsYmFjaz1kYXRhO2RhdGE9e307fXJldHVybiBqUXVlcnkuYWpheCh7dHlwZToi UE9TVCIsdXJsOnVybCxkYXRhOmRhdGEsc3VjY2VzczpjYWxsYmFjayxkYXRhVHlw ZTp0eXBlfSk7fSxhamF4U2V0dXA6ZnVuY3Rpb24oc2V0dGluZ3Mpe2pRdWVyeS5l eHRlbmQoalF1ZXJ5LmFqYXhTZXR0aW5ncyxzZXR0aW5ncyk7fSxhamF4U2V0dGlu Z3M6e3VybDpsb2NhdGlvbi5ocmVmLGdsb2JhbDp0cnVlLHR5cGU6IkdFVCIsdGlt ZW91dDowLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVu Y29kZWQiLHByb2Nlc3NEYXRhOnRydWUsYXN5bmM6dHJ1ZSxkYXRhOm51bGwsdXNl cm5hbWU6bnVsbCxwYXNzd29yZDpudWxsLGFjY2VwdHM6e3htbDoiYXBwbGljYXRp b24veG1sLCB0ZXh0L3htbCIsaHRtbDoidGV4dC9odG1sIixzY3JpcHQ6InRleHQv amF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCIsanNvbjoiYXBwbGlj YXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0Iix0ZXh0OiJ0ZXh0L3BsYWluIixf ZGVmYXVsdDoiKi8qIn19LGxhc3RNb2RpZmllZDp7fSxhamF4OmZ1bmN0aW9uKHMp e3M9alF1ZXJ5LmV4dGVuZCh0cnVlLHMsalF1ZXJ5LmV4dGVuZCh0cnVlLHt9LGpR dWVyeS5hamF4U2V0dGluZ3MscykpO3ZhciBqc29ucCxqc3JlPS89XD8oJnwkKS9n LHN0YXR1cyxkYXRhLHR5cGU9cy50eXBlLnRvVXBwZXJDYXNlKCk7aWYocy5kYXRh JiZzLnByb2Nlc3NEYXRhJiZ0eXBlb2Ygcy5kYXRhIT0ic3RyaW5nIilzLmRhdGE9 alF1ZXJ5LnBhcmFtKHMuZGF0YSk7aWYocy5kYXRhVHlwZT09Impzb25wIil7aWYo dHlwZT09IkdFVCIpe2lmKCFzLnVybC5tYXRjaChqc3JlKSlzLnVybCs9KHMudXJs Lm1hdGNoKC9cPy8pPyImIjoiPyIpKyhzLmpzb25wfHwiY2FsbGJhY2siKSsiPT8i O31lbHNlIGlmKCFzLmRhdGF8fCFzLmRhdGEubWF0Y2goanNyZSkpcy5kYXRhPShz LmRhdGE/cy5kYXRhKyImIjoiIikrKHMuanNvbnB8fCJjYWxsYmFjayIpKyI9PyI7 cy5kYXRhVHlwZT0ianNvbiI7fWlmKHMuZGF0YVR5cGU9PSJqc29uIiYmKHMuZGF0 YSYmcy5kYXRhLm1hdGNoKGpzcmUpfHxzLnVybC5tYXRjaChqc3JlKSkpe2pzb25w PSJqc29ucCIranNjKys7aWYocy5kYXRhKXMuZGF0YT0ocy5kYXRhKyIiKS5yZXBs YWNlKGpzcmUsIj0iK2pzb25wKyIkMSIpO3MudXJsPXMudXJsLnJlcGxhY2UoanNy ZSwiPSIranNvbnArIiQxIik7cy5kYXRhVHlwZT0ic2NyaXB0Ijt3aW5kb3dbanNv bnBdPWZ1bmN0aW9uKHRtcCl7ZGF0YT10bXA7c3VjY2VzcygpO2NvbXBsZXRlKCk7 d2luZG93W2pzb25wXT11bmRlZmluZWQ7dHJ5e2RlbGV0ZSB3aW5kb3dbanNvbnBd O31jYXRjaChlKXt9aWYoaGVhZCloZWFkLnJlbW92ZUNoaWxkKHNjcmlwdCk7fTt9 aWYocy5kYXRhVHlwZT09InNjcmlwdCImJnMuY2FjaGU9PW51bGwpcy5jYWNoZT1m YWxzZTtpZihzLmNhY2hlPT09ZmFsc2UmJnR5cGU9PSJHRVQiKXt2YXIgdHM9bm93 KCk7dmFyIHJldD1zLnVybC5yZXBsYWNlKC8oXD98JilfPS4qPygmfCQpLywiJDFf PSIrdHMrIiQyIik7cy51cmw9cmV0KygocmV0PT1zLnVybCk/KHMudXJsLm1hdGNo KC9cPy8pPyImIjoiPyIpKyJfPSIrdHM6IiIpO31pZihzLmRhdGEmJnR5cGU9PSJH RVQiKXtzLnVybCs9KHMudXJsLm1hdGNoKC9cPy8pPyImIjoiPyIpK3MuZGF0YTtz LmRhdGE9bnVsbDt9aWYocy5nbG9iYWwmJiFqUXVlcnkuYWN0aXZlKyspalF1ZXJ5 LmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO3ZhciByZW1vdGU9L14oPzpcdys6 KT9cL1wvKFteXC8/I10rKS87aWYocy5kYXRhVHlwZT09InNjcmlwdCImJnR5cGU9 PSJHRVQiJiZyZW1vdGUudGVzdChzLnVybCkmJnJlbW90ZS5leGVjKHMudXJsKVsx XSE9bG9jYXRpb24uaG9zdCl7dmFyIGhlYWQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNC eVRhZ05hbWUoImhlYWQiKVswXTt2YXIgc2NyaXB0PWRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoInNjcmlwdCIpO3NjcmlwdC5zcmM9cy51cmw7aWYocy5zY3JpcHRDaGFy c2V0KXNjcmlwdC5jaGFyc2V0PXMuc2NyaXB0Q2hhcnNldDtpZighanNvbnApe3Zh ciBkb25lPWZhbHNlO3NjcmlwdC5vbmxvYWQ9c2NyaXB0Lm9ucmVhZHlzdGF0ZWNo YW5nZT1mdW5jdGlvbigpe2lmKCFkb25lJiYoIXRoaXMucmVhZHlTdGF0ZXx8dGhp cy5yZWFkeVN0YXRlPT0ibG9hZGVkInx8dGhpcy5yZWFkeVN0YXRlPT0iY29tcGxl dGUiKSl7ZG9uZT10cnVlO3N1Y2Nlc3MoKTtjb21wbGV0ZSgpO2hlYWQucmVtb3Zl Q2hpbGQoc2NyaXB0KTt9fTt9aGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO3JldHVy biB1bmRlZmluZWQ7fXZhciByZXF1ZXN0RG9uZT1mYWxzZTt2YXIgeGhyPXdpbmRv dy5BY3RpdmVYT2JqZWN0P25ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1M SFRUUCIpOm5ldyBYTUxIdHRwUmVxdWVzdCgpO2lmKHMudXNlcm5hbWUpeGhyLm9w ZW4odHlwZSxzLnVybCxzLmFzeW5jLHMudXNlcm5hbWUscy5wYXNzd29yZCk7ZWxz ZQp4aHIub3Blbih0eXBlLHMudXJsLHMuYXN5bmMpO3RyeXtpZihzLmRhdGEpeGhy LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIscy5jb250ZW50VHlwZSk7 aWYocy5pZk1vZGlmaWVkKXhoci5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmll ZC1TaW5jZSIsalF1ZXJ5Lmxhc3RNb2RpZmllZFtzLnVybF18fCJUaHUsIDAxIEph biAxOTcwIDAwOjAwOjAwIEdNVCIpO3hoci5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJl cXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKTt4aHIuc2V0UmVxdWVzdEhl YWRlcigiQWNjZXB0IixzLmRhdGFUeXBlJiZzLmFjY2VwdHNbcy5kYXRhVHlwZV0/ cy5hY2NlcHRzW3MuZGF0YVR5cGVdKyIsICovKiI6cy5hY2NlcHRzLl9kZWZhdWx0 KTt9Y2F0Y2goZSl7fWlmKHMuYmVmb3JlU2VuZCYmcy5iZWZvcmVTZW5kKHhocixz KT09PWZhbHNlKXtzLmdsb2JhbCYmalF1ZXJ5LmFjdGl2ZS0tO3hoci5hYm9ydCgp O3JldHVybiBmYWxzZTt9aWYocy5nbG9iYWwpalF1ZXJ5LmV2ZW50LnRyaWdnZXIo ImFqYXhTZW5kIixbeGhyLHNdKTt2YXIgb25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0 aW9uKGlzVGltZW91dCl7aWYoIXJlcXVlc3REb25lJiZ4aHImJih4aHIucmVhZHlT dGF0ZT09NHx8aXNUaW1lb3V0PT0idGltZW91dCIpKXtyZXF1ZXN0RG9uZT10cnVl O2lmKGl2YWwpe2NsZWFySW50ZXJ2YWwoaXZhbCk7aXZhbD1udWxsO31zdGF0dXM9 aXNUaW1lb3V0PT0idGltZW91dCImJiJ0aW1lb3V0Inx8IWpRdWVyeS5odHRwU3Vj Y2Vzcyh4aHIpJiYiZXJyb3IifHxzLmlmTW9kaWZpZWQmJmpRdWVyeS5odHRwTm90 TW9kaWZpZWQoeGhyLHMudXJsKSYmIm5vdG1vZGlmaWVkInx8InN1Y2Nlc3MiO2lm KHN0YXR1cz09InN1Y2Nlc3MiKXt0cnl7ZGF0YT1qUXVlcnkuaHR0cERhdGEoeGhy LHMuZGF0YVR5cGUscy5kYXRhRmlsdGVyKTt9Y2F0Y2goZSl7c3RhdHVzPSJwYXJz ZXJlcnJvciI7fX1pZihzdGF0dXM9PSJzdWNjZXNzIil7dmFyIG1vZFJlczt0cnl7 bW9kUmVzPXhoci5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpO31j YXRjaChlKXt9aWYocy5pZk1vZGlmaWVkJiZtb2RSZXMpalF1ZXJ5Lmxhc3RNb2Rp ZmllZFtzLnVybF09bW9kUmVzO2lmKCFqc29ucClzdWNjZXNzKCk7fWVsc2UKalF1 ZXJ5LmhhbmRsZUVycm9yKHMseGhyLHN0YXR1cyk7Y29tcGxldGUoKTtpZihzLmFz eW5jKXhocj1udWxsO319O2lmKHMuYXN5bmMpe3ZhciBpdmFsPXNldEludGVydmFs KG9ucmVhZHlzdGF0ZWNoYW5nZSwxMyk7aWYocy50aW1lb3V0PjApc2V0VGltZW91 dChmdW5jdGlvbigpe2lmKHhocil7eGhyLmFib3J0KCk7aWYoIXJlcXVlc3REb25l KW9ucmVhZHlzdGF0ZWNoYW5nZSgidGltZW91dCIpO319LHMudGltZW91dCk7fXRy eXt4aHIuc2VuZChzLmRhdGEpO31jYXRjaChlKXtqUXVlcnkuaGFuZGxlRXJyb3Io cyx4aHIsbnVsbCxlKTt9aWYoIXMuYXN5bmMpb25yZWFkeXN0YXRlY2hhbmdlKCk7 ZnVuY3Rpb24gc3VjY2Vzcygpe2lmKHMuc3VjY2VzcylzLnN1Y2Nlc3MoZGF0YSxz dGF0dXMpO2lmKHMuZ2xvYmFsKWpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3Vj Y2VzcyIsW3hocixzXSk7fWZ1bmN0aW9uIGNvbXBsZXRlKCl7aWYocy5jb21wbGV0 ZSlzLmNvbXBsZXRlKHhocixzdGF0dXMpO2lmKHMuZ2xvYmFsKWpRdWVyeS5ldmVu dC50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFt4aHIsc10pO2lmKHMuZ2xvYmFsJiYh LS1qUXVlcnkuYWN0aXZlKWpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIp O31yZXR1cm4geGhyO30saGFuZGxlRXJyb3I6ZnVuY3Rpb24ocyx4aHIsc3RhdHVz LGUpe2lmKHMuZXJyb3Ipcy5lcnJvcih4aHIsc3RhdHVzLGUpO2lmKHMuZ2xvYmFs KWpRdWVyeS5ldmVudC50cmlnZ2VyKCJhamF4RXJyb3IiLFt4aHIscyxlXSk7fSxh Y3RpdmU6MCxodHRwU3VjY2VzczpmdW5jdGlvbih4aHIpe3RyeXtyZXR1cm4heGhy LnN0YXR1cyYmbG9jYXRpb24ucHJvdG9jb2w9PSJmaWxlOiJ8fCh4aHIuc3RhdHVz Pj0yMDAmJnhoci5zdGF0dXM8MzAwKXx8eGhyLnN0YXR1cz09MzA0fHx4aHIuc3Rh dHVzPT0xMjIzfHxqUXVlcnkuYnJvd3Nlci5zYWZhcmkmJnhoci5zdGF0dXM9PXVu ZGVmaW5lZDt9Y2F0Y2goZSl7fXJldHVybiBmYWxzZTt9LGh0dHBOb3RNb2RpZmll ZDpmdW5jdGlvbih4aHIsdXJsKXt0cnl7dmFyIHhoclJlcz14aHIuZ2V0UmVzcG9u c2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKTtyZXR1cm4geGhyLnN0YXR1cz09MzA0 fHx4aHJSZXM9PWpRdWVyeS5sYXN0TW9kaWZpZWRbdXJsXXx8alF1ZXJ5LmJyb3dz ZXIuc2FmYXJpJiZ4aHIuc3RhdHVzPT11bmRlZmluZWQ7fWNhdGNoKGUpe31yZXR1 cm4gZmFsc2U7fSxodHRwRGF0YTpmdW5jdGlvbih4aHIsdHlwZSxmaWx0ZXIpe3Zh ciBjdD14aHIuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpLHhtbD10 eXBlPT0ieG1sInx8IXR5cGUmJmN0JiZjdC5pbmRleE9mKCJ4bWwiKT49MCxkYXRh PXhtbD94aHIucmVzcG9uc2VYTUw6eGhyLnJlc3BvbnNlVGV4dDtpZih4bWwmJmRh dGEuZG9jdW1lbnRFbGVtZW50LnRhZ05hbWU9PSJwYXJzZXJlcnJvciIpdGhyb3ci cGFyc2VyZXJyb3IiO2lmKGZpbHRlcilkYXRhPWZpbHRlcihkYXRhLHR5cGUpO2lm KHR5cGU9PSJzY3JpcHQiKWpRdWVyeS5nbG9iYWxFdmFsKGRhdGEpO2lmKHR5cGU9 PSJqc29uIilkYXRhPWV2YWwoIigiK2RhdGErIikiKTtyZXR1cm4gZGF0YTt9LHBh cmFtOmZ1bmN0aW9uKGEpe3ZhciBzPVtdO2lmKGEuY29uc3RydWN0b3I9PUFycmF5 fHxhLmpxdWVyeSlqUXVlcnkuZWFjaChhLGZ1bmN0aW9uKCl7cy5wdXNoKGVuY29k ZVVSSUNvbXBvbmVudCh0aGlzLm5hbWUpKyI9IitlbmNvZGVVUklDb21wb25lbnQo dGhpcy52YWx1ZSkpO30pO2Vsc2UKZm9yKHZhciBqIGluIGEpaWYoYVtqXSYmYVtq XS5jb25zdHJ1Y3Rvcj09QXJyYXkpalF1ZXJ5LmVhY2goYVtqXSxmdW5jdGlvbigp e3MucHVzaChlbmNvZGVVUklDb21wb25lbnQoaikrIj0iK2VuY29kZVVSSUNvbXBv bmVudCh0aGlzKSk7fSk7ZWxzZQpzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGop KyI9IitlbmNvZGVVUklDb21wb25lbnQoalF1ZXJ5LmlzRnVuY3Rpb24oYVtqXSk/ YVtqXSgpOmFbal0pKTtyZXR1cm4gcy5qb2luKCImIikucmVwbGFjZSgvJTIwL2cs IisiKTt9fSk7alF1ZXJ5LmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihzcGVlZCxj YWxsYmFjayl7cmV0dXJuIHNwZWVkP3RoaXMuYW5pbWF0ZSh7aGVpZ2h0OiJzaG93 Iix3aWR0aDoic2hvdyIsb3BhY2l0eToic2hvdyJ9LHNwZWVkLGNhbGxiYWNrKTp0 aGlzLmZpbHRlcigiOmhpZGRlbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnN0eWxl LmRpc3BsYXk9dGhpcy5vbGRibG9ja3x8IiI7aWYoalF1ZXJ5LmNzcyh0aGlzLCJk aXNwbGF5Iik9PSJub25lIil7dmFyIGVsZW09alF1ZXJ5KCI8Iit0aGlzLnRhZ05h bWUrIiAvPiIpLmFwcGVuZFRvKCJib2R5Iik7dGhpcy5zdHlsZS5kaXNwbGF5PWVs ZW0uY3NzKCJkaXNwbGF5Iik7aWYodGhpcy5zdHlsZS5kaXNwbGF5PT0ibm9uZSIp dGhpcy5zdHlsZS5kaXNwbGF5PSJibG9jayI7ZWxlbS5yZW1vdmUoKTt9fSkuZW5k KCk7fSxoaWRlOmZ1bmN0aW9uKHNwZWVkLGNhbGxiYWNrKXtyZXR1cm4gc3BlZWQ/ dGhpcy5hbmltYXRlKHtoZWlnaHQ6ImhpZGUiLHdpZHRoOiJoaWRlIixvcGFjaXR5 OiJoaWRlIn0sc3BlZWQsY2FsbGJhY2spOnRoaXMuZmlsdGVyKCI6dmlzaWJsZSIp LmVhY2goZnVuY3Rpb24oKXt0aGlzLm9sZGJsb2NrPXRoaXMub2xkYmxvY2t8fGpR dWVyeS5jc3ModGhpcywiZGlzcGxheSIpO3RoaXMuc3R5bGUuZGlzcGxheT0ibm9u ZSI7fSkuZW5kKCk7fSxfdG9nZ2xlOmpRdWVyeS5mbi50b2dnbGUsdG9nZ2xlOmZ1 bmN0aW9uKGZuLGZuMil7cmV0dXJuIGpRdWVyeS5pc0Z1bmN0aW9uKGZuKSYmalF1 ZXJ5LmlzRnVuY3Rpb24oZm4yKT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1 bWVudHMpOmZuP3RoaXMuYW5pbWF0ZSh7aGVpZ2h0OiJ0b2dnbGUiLHdpZHRoOiJ0 b2dnbGUiLG9wYWNpdHk6InRvZ2dsZSJ9LGZuLGZuMik6dGhpcy5lYWNoKGZ1bmN0 aW9uKCl7alF1ZXJ5KHRoaXMpW2pRdWVyeSh0aGlzKS5pcygiOmhpZGRlbiIpPyJz aG93IjoiaGlkZSJdKCk7fSk7fSxzbGlkZURvd246ZnVuY3Rpb24oc3BlZWQsY2Fs bGJhY2spe3JldHVybiB0aGlzLmFuaW1hdGUoe2hlaWdodDoic2hvdyJ9LHNwZWVk LGNhbGxiYWNrKTt9LHNsaWRlVXA6ZnVuY3Rpb24oc3BlZWQsY2FsbGJhY2spe3Jl dHVybiB0aGlzLmFuaW1hdGUoe2hlaWdodDoiaGlkZSJ9LHNwZWVkLGNhbGxiYWNr KTt9LHNsaWRlVG9nZ2xlOmZ1bmN0aW9uKHNwZWVkLGNhbGxiYWNrKXtyZXR1cm4g dGhpcy5hbmltYXRlKHtoZWlnaHQ6InRvZ2dsZSJ9LHNwZWVkLGNhbGxiYWNrKTt9 LGZhZGVJbjpmdW5jdGlvbihzcGVlZCxjYWxsYmFjayl7cmV0dXJuIHRoaXMuYW5p bWF0ZSh7b3BhY2l0eToic2hvdyJ9LHNwZWVkLGNhbGxiYWNrKTt9LGZhZGVPdXQ6 ZnVuY3Rpb24oc3BlZWQsY2FsbGJhY2spe3JldHVybiB0aGlzLmFuaW1hdGUoe29w YWNpdHk6ImhpZGUifSxzcGVlZCxjYWxsYmFjayk7fSxmYWRlVG86ZnVuY3Rpb24o c3BlZWQsdG8sY2FsbGJhY2spe3JldHVybiB0aGlzLmFuaW1hdGUoe29wYWNpdHk6 dG99LHNwZWVkLGNhbGxiYWNrKTt9LGFuaW1hdGU6ZnVuY3Rpb24ocHJvcCxzcGVl ZCxlYXNpbmcsY2FsbGJhY2spe3ZhciBvcHRhbGw9alF1ZXJ5LnNwZWVkKHNwZWVk LGVhc2luZyxjYWxsYmFjayk7cmV0dXJuIHRoaXNbb3B0YWxsLnF1ZXVlPT09ZmFs c2U/ImVhY2giOiJxdWV1ZSJdKGZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlVHlwZSE9 MSlyZXR1cm4gZmFsc2U7dmFyIG9wdD1qUXVlcnkuZXh0ZW5kKHt9LG9wdGFsbCks cCxoaWRkZW49alF1ZXJ5KHRoaXMpLmlzKCI6aGlkZGVuIiksc2VsZj10aGlzO2Zv cihwIGluIHByb3Ape2lmKHByb3BbcF09PSJoaWRlIiYmaGlkZGVufHxwcm9wW3Bd PT0ic2hvdyImJiFoaWRkZW4pcmV0dXJuIG9wdC5jb21wbGV0ZS5jYWxsKHRoaXMp O2lmKHA9PSJoZWlnaHQifHxwPT0id2lkdGgiKXtvcHQuZGlzcGxheT1qUXVlcnku Y3NzKHRoaXMsImRpc3BsYXkiKTtvcHQub3ZlcmZsb3c9dGhpcy5zdHlsZS5vdmVy Zmxvdzt9fWlmKG9wdC5vdmVyZmxvdyE9bnVsbCl0aGlzLnN0eWxlLm92ZXJmbG93 PSJoaWRkZW4iO29wdC5jdXJBbmltPWpRdWVyeS5leHRlbmQoe30scHJvcCk7alF1 ZXJ5LmVhY2gocHJvcCxmdW5jdGlvbihuYW1lLHZhbCl7dmFyIGU9bmV3IGpRdWVy eS5meChzZWxmLG9wdCxuYW1lKTtpZigvdG9nZ2xlfHNob3d8aGlkZS8udGVzdCh2 YWwpKWVbdmFsPT0idG9nZ2xlIj9oaWRkZW4/InNob3ciOiJoaWRlIjp2YWxdKHBy b3ApO2Vsc2V7dmFyIHBhcnRzPXZhbC50b1N0cmluZygpLm1hdGNoKC9eKFsrLV09 KT8oW1xkKy0uXSspKC4qKSQvKSxzdGFydD1lLmN1cih0cnVlKXx8MDtpZihwYXJ0 cyl7dmFyIGVuZD1wYXJzZUZsb2F0KHBhcnRzWzJdKSx1bml0PXBhcnRzWzNdfHwi cHgiO2lmKHVuaXQhPSJweCIpe3NlbGYuc3R5bGVbbmFtZV09KGVuZHx8MSkrdW5p dDtzdGFydD0oKGVuZHx8MSkvZS5jdXIodHJ1ZSkpKnN0YXJ0O3NlbGYuc3R5bGVb bmFtZV09c3RhcnQrdW5pdDt9aWYocGFydHNbMV0pZW5kPSgocGFydHNbMV09PSIt PSI/LTE6MSkqZW5kKStzdGFydDtlLmN1c3RvbShzdGFydCxlbmQsdW5pdCk7fWVs c2UKZS5jdXN0b20oc3RhcnQsdmFsLCIiKTt9fSk7cmV0dXJuIHRydWU7fSk7fSxx dWV1ZTpmdW5jdGlvbih0eXBlLGZuKXtpZihqUXVlcnkuaXNGdW5jdGlvbih0eXBl KXx8KHR5cGUmJnR5cGUuY29uc3RydWN0b3I9PUFycmF5KSl7Zm49dHlwZTt0eXBl PSJmeCI7fWlmKCF0eXBlfHwodHlwZW9mIHR5cGU9PSJzdHJpbmciJiYhZm4pKXJl dHVybiBxdWV1ZSh0aGlzWzBdLHR5cGUpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rp b24oKXtpZihmbi5jb25zdHJ1Y3Rvcj09QXJyYXkpcXVldWUodGhpcyx0eXBlLGZu KTtlbHNle3F1ZXVlKHRoaXMsdHlwZSkucHVzaChmbik7aWYocXVldWUodGhpcyx0 eXBlKS5sZW5ndGg9PTEpZm4uY2FsbCh0aGlzKTt9fSk7fSxzdG9wOmZ1bmN0aW9u KGNsZWFyUXVldWUsZ290b0VuZCl7dmFyIHRpbWVycz1qUXVlcnkudGltZXJzO2lm KGNsZWFyUXVldWUpdGhpcy5xdWV1ZShbXSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7 Zm9yKHZhciBpPXRpbWVycy5sZW5ndGgtMTtpPj0wO2ktLSlpZih0aW1lcnNbaV0u ZWxlbT09dGhpcyl7aWYoZ290b0VuZCl0aW1lcnNbaV0odHJ1ZSk7dGltZXJzLnNw bGljZShpLDEpO319KTtpZighZ290b0VuZCl0aGlzLmRlcXVldWUoKTtyZXR1cm4g dGhpczt9fSk7dmFyIHF1ZXVlPWZ1bmN0aW9uKGVsZW0sdHlwZSxhcnJheSl7aWYo ZWxlbSl7dHlwZT10eXBlfHwiZngiO3ZhciBxPWpRdWVyeS5kYXRhKGVsZW0sdHlw ZSsicXVldWUiKTtpZighcXx8YXJyYXkpcT1qUXVlcnkuZGF0YShlbGVtLHR5cGUr InF1ZXVlIixqUXVlcnkubWFrZUFycmF5KGFycmF5KSk7fXJldHVybiBxO307alF1 ZXJ5LmZuLmRlcXVldWU9ZnVuY3Rpb24odHlwZSl7dHlwZT10eXBlfHwiZngiO3Jl dHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgcT1xdWV1ZSh0aGlzLHR5cGUp O3Euc2hpZnQoKTtpZihxLmxlbmd0aClxWzBdLmNhbGwodGhpcyk7fSk7fTtqUXVl cnkuZXh0ZW5kKHtzcGVlZDpmdW5jdGlvbihzcGVlZCxlYXNpbmcsZm4pe3ZhciBv cHQ9c3BlZWQmJnNwZWVkLmNvbnN0cnVjdG9yPT1PYmplY3Q/c3BlZWQ6e2NvbXBs ZXRlOmZufHwhZm4mJmVhc2luZ3x8alF1ZXJ5LmlzRnVuY3Rpb24oc3BlZWQpJiZz cGVlZCxkdXJhdGlvbjpzcGVlZCxlYXNpbmc6Zm4mJmVhc2luZ3x8ZWFzaW5nJiZl YXNpbmcuY29uc3RydWN0b3IhPUZ1bmN0aW9uJiZlYXNpbmd9O29wdC5kdXJhdGlv bj0ob3B0LmR1cmF0aW9uJiZvcHQuZHVyYXRpb24uY29uc3RydWN0b3I9PU51bWJl cj9vcHQuZHVyYXRpb246alF1ZXJ5LmZ4LnNwZWVkc1tvcHQuZHVyYXRpb25dKXx8 alF1ZXJ5LmZ4LnNwZWVkcy5kZWY7b3B0Lm9sZD1vcHQuY29tcGxldGU7b3B0LmNv bXBsZXRlPWZ1bmN0aW9uKCl7aWYob3B0LnF1ZXVlIT09ZmFsc2UpalF1ZXJ5KHRo aXMpLmRlcXVldWUoKTtpZihqUXVlcnkuaXNGdW5jdGlvbihvcHQub2xkKSlvcHQu b2xkLmNhbGwodGhpcyk7fTtyZXR1cm4gb3B0O30sZWFzaW5nOntsaW5lYXI6ZnVu Y3Rpb24ocCxuLGZpcnN0TnVtLGRpZmYpe3JldHVybiBmaXJzdE51bStkaWZmKnA7 fSxzd2luZzpmdW5jdGlvbihwLG4sZmlyc3ROdW0sZGlmZil7cmV0dXJuKCgtTWF0 aC5jb3MocCpNYXRoLlBJKS8yKSswLjUpKmRpZmYrZmlyc3ROdW07fX0sdGltZXJz OltdLHRpbWVySWQ6bnVsbCxmeDpmdW5jdGlvbihlbGVtLG9wdGlvbnMscHJvcCl7 dGhpcy5vcHRpb25zPW9wdGlvbnM7dGhpcy5lbGVtPWVsZW07dGhpcy5wcm9wPXBy b3A7aWYoIW9wdGlvbnMub3JpZylvcHRpb25zLm9yaWc9e307fX0pO2pRdWVyeS5m eC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5z dGVwKXRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRo aXMpOyhqUXVlcnkuZnguc3RlcFt0aGlzLnByb3BdfHxqUXVlcnkuZnguc3RlcC5f ZGVmYXVsdCkodGhpcyk7aWYodGhpcy5wcm9wPT0iaGVpZ2h0Inx8dGhpcy5wcm9w PT0id2lkdGgiKXRoaXMuZWxlbS5zdHlsZS5kaXNwbGF5PSJibG9jayI7fSxjdXI6 ZnVuY3Rpb24oZm9yY2Upe2lmKHRoaXMuZWxlbVt0aGlzLnByb3BdIT1udWxsJiZ0 aGlzLmVsZW0uc3R5bGVbdGhpcy5wcm9wXT09bnVsbClyZXR1cm4gdGhpcy5lbGVt W3RoaXMucHJvcF07dmFyIHI9cGFyc2VGbG9hdChqUXVlcnkuY3NzKHRoaXMuZWxl bSx0aGlzLnByb3AsZm9yY2UpKTtyZXR1cm4gciYmcj4tMTAwMDA/cjpwYXJzZUZs b2F0KGpRdWVyeS5jdXJDU1ModGhpcy5lbGVtLHRoaXMucHJvcCkpfHwwO30sY3Vz dG9tOmZ1bmN0aW9uKGZyb20sdG8sdW5pdCl7dGhpcy5zdGFydFRpbWU9bm93KCk7 dGhpcy5zdGFydD1mcm9tO3RoaXMuZW5kPXRvO3RoaXMudW5pdD11bml0fHx0aGlz LnVuaXR8fCJweCI7dGhpcy5ub3c9dGhpcy5zdGFydDt0aGlzLnBvcz10aGlzLnN0 YXRlPTA7dGhpcy51cGRhdGUoKTt2YXIgc2VsZj10aGlzO2Z1bmN0aW9uIHQoZ290 b0VuZCl7cmV0dXJuIHNlbGYuc3RlcChnb3RvRW5kKTt9dC5lbGVtPXRoaXMuZWxl bTtqUXVlcnkudGltZXJzLnB1c2godCk7aWYoalF1ZXJ5LnRpbWVySWQ9PW51bGwp e2pRdWVyeS50aW1lcklkPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIHRpbWVy cz1qUXVlcnkudGltZXJzO2Zvcih2YXIgaT0wO2k8dGltZXJzLmxlbmd0aDtpKysp aWYoIXRpbWVyc1tpXSgpKXRpbWVycy5zcGxpY2UoaS0tLDEpO2lmKCF0aW1lcnMu bGVuZ3RoKXtjbGVhckludGVydmFsKGpRdWVyeS50aW1lcklkKTtqUXVlcnkudGlt ZXJJZD1udWxsO319LDEzKTt9fSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25z Lm9yaWdbdGhpcy5wcm9wXT1qUXVlcnkuYXR0cih0aGlzLmVsZW0uc3R5bGUsdGhp cy5wcm9wKTt0aGlzLm9wdGlvbnMuc2hvdz10cnVlO3RoaXMuY3VzdG9tKDAsdGhp cy5jdXIoKSk7aWYodGhpcy5wcm9wPT0id2lkdGgifHx0aGlzLnByb3A9PSJoZWln aHQiKXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdPSIxcHgiO2pRdWVyeSh0aGlz LmVsZW0pLnNob3coKTt9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3Jp Z1t0aGlzLnByb3BdPWpRdWVyeS5hdHRyKHRoaXMuZWxlbS5zdHlsZSx0aGlzLnBy b3ApO3RoaXMub3B0aW9ucy5oaWRlPXRydWU7dGhpcy5jdXN0b20odGhpcy5jdXIo KSwwKTt9LHN0ZXA6ZnVuY3Rpb24oZ290b0VuZCl7dmFyIHQ9bm93KCk7aWYoZ290 b0VuZHx8dD50aGlzLm9wdGlvbnMuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe3Ro aXMubm93PXRoaXMuZW5kO3RoaXMucG9zPXRoaXMuc3RhdGU9MTt0aGlzLnVwZGF0 ZSgpO3RoaXMub3B0aW9ucy5jdXJBbmltW3RoaXMucHJvcF09dHJ1ZTt2YXIgZG9u ZT10cnVlO2Zvcih2YXIgaSBpbiB0aGlzLm9wdGlvbnMuY3VyQW5pbSlpZih0aGlz Lm9wdGlvbnMuY3VyQW5pbVtpXSE9PXRydWUpZG9uZT1mYWxzZTtpZihkb25lKXtp Zih0aGlzLm9wdGlvbnMuZGlzcGxheSE9bnVsbCl7dGhpcy5lbGVtLnN0eWxlLm92 ZXJmbG93PXRoaXMub3B0aW9ucy5vdmVyZmxvdzt0aGlzLmVsZW0uc3R5bGUuZGlz cGxheT10aGlzLm9wdGlvbnMuZGlzcGxheTtpZihqUXVlcnkuY3NzKHRoaXMuZWxl bSwiZGlzcGxheSIpPT0ibm9uZSIpdGhpcy5lbGVtLnN0eWxlLmRpc3BsYXk9ImJs b2NrIjt9aWYodGhpcy5vcHRpb25zLmhpZGUpdGhpcy5lbGVtLnN0eWxlLmRpc3Bs YXk9Im5vbmUiO2lmKHRoaXMub3B0aW9ucy5oaWRlfHx0aGlzLm9wdGlvbnMuc2hv dylmb3IodmFyIHAgaW4gdGhpcy5vcHRpb25zLmN1ckFuaW0palF1ZXJ5LmF0dHIo dGhpcy5lbGVtLnN0eWxlLHAsdGhpcy5vcHRpb25zLm9yaWdbcF0pO31pZihkb25l KXRoaXMub3B0aW9ucy5jb21wbGV0ZS5jYWxsKHRoaXMuZWxlbSk7cmV0dXJuIGZh bHNlO31lbHNle3ZhciBuPXQtdGhpcy5zdGFydFRpbWU7dGhpcy5zdGF0ZT1uL3Ro aXMub3B0aW9ucy5kdXJhdGlvbjt0aGlzLnBvcz1qUXVlcnkuZWFzaW5nW3RoaXMu b3B0aW9ucy5lYXNpbmd8fChqUXVlcnkuZWFzaW5nLnN3aW5nPyJzd2luZyI6Imxp bmVhciIpXSh0aGlzLnN0YXRlLG4sMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik7 dGhpcy5ub3c9dGhpcy5zdGFydCsoKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMu cG9zKTt0aGlzLnVwZGF0ZSgpO31yZXR1cm4gdHJ1ZTt9fTtqUXVlcnkuZXh0ZW5k KGpRdWVyeS5meCx7c3BlZWRzOntzbG93OjYwMCxmYXN0OjIwMCxkZWY6NDAwfSxz dGVwOntzY3JvbGxMZWZ0OmZ1bmN0aW9uKGZ4KXtmeC5lbGVtLnNjcm9sbExlZnQ9 Zngubm93O30sc2Nyb2xsVG9wOmZ1bmN0aW9uKGZ4KXtmeC5lbGVtLnNjcm9sbFRv cD1meC5ub3c7fSxvcGFjaXR5OmZ1bmN0aW9uKGZ4KXtqUXVlcnkuYXR0cihmeC5l bGVtLnN0eWxlLCJvcGFjaXR5IixmeC5ub3cpO30sX2RlZmF1bHQ6ZnVuY3Rpb24o Zngpe2Z4LmVsZW0uc3R5bGVbZngucHJvcF09Zngubm93K2Z4LnVuaXQ7fX19KTtq UXVlcnkuZm4ub2Zmc2V0PWZ1bmN0aW9uKCl7dmFyIGxlZnQ9MCx0b3A9MCxlbGVt PXRoaXNbMF0scmVzdWx0cztpZihlbGVtKXdpdGgoalF1ZXJ5LmJyb3dzZXIpe3Zh ciBwYXJlbnQ9ZWxlbS5wYXJlbnROb2RlLG9mZnNldENoaWxkPWVsZW0sb2Zmc2V0 UGFyZW50PWVsZW0ub2Zmc2V0UGFyZW50LGRvYz1lbGVtLm93bmVyRG9jdW1lbnQs c2FmYXJpMj1zYWZhcmkmJnBhcnNlSW50KHZlcnNpb24pPDUyMiYmIS9hZG9iZWFp ci9pLnRlc3QodXNlckFnZW50KSxjc3M9alF1ZXJ5LmN1ckNTUyxmaXhlZD1jc3Mo ZWxlbSwicG9zaXRpb24iKT09ImZpeGVkIjtpZihlbGVtLmdldEJvdW5kaW5nQ2xp ZW50UmVjdCl7dmFyIGJveD1lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Fk ZChib3gubGVmdCtNYXRoLm1heChkb2MuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExl ZnQsZG9jLmJvZHkuc2Nyb2xsTGVmdCksYm94LnRvcCtNYXRoLm1heChkb2MuZG9j dW1lbnRFbGVtZW50LnNjcm9sbFRvcCxkb2MuYm9keS5zY3JvbGxUb3ApKTthZGQo LWRvYy5kb2N1bWVudEVsZW1lbnQuY2xpZW50TGVmdCwtZG9jLmRvY3VtZW50RWxl bWVudC5jbGllbnRUb3ApO31lbHNle2FkZChlbGVtLm9mZnNldExlZnQsZWxlbS5v ZmZzZXRUb3ApO3doaWxlKG9mZnNldFBhcmVudCl7YWRkKG9mZnNldFBhcmVudC5v ZmZzZXRMZWZ0LG9mZnNldFBhcmVudC5vZmZzZXRUb3ApO2lmKG1vemlsbGEmJiEv XnQoYWJsZXxkfGgpJC9pLnRlc3Qob2Zmc2V0UGFyZW50LnRhZ05hbWUpfHxzYWZh cmkmJiFzYWZhcmkyKWJvcmRlcihvZmZzZXRQYXJlbnQpO2lmKCFmaXhlZCYmY3Nz KG9mZnNldFBhcmVudCwicG9zaXRpb24iKT09ImZpeGVkIilmaXhlZD10cnVlO29m ZnNldENoaWxkPS9eYm9keSQvaS50ZXN0KG9mZnNldFBhcmVudC50YWdOYW1lKT9v ZmZzZXRDaGlsZDpvZmZzZXRQYXJlbnQ7b2Zmc2V0UGFyZW50PW9mZnNldFBhcmVu dC5vZmZzZXRQYXJlbnQ7fXdoaWxlKHBhcmVudCYmcGFyZW50LnRhZ05hbWUmJiEv XmJvZHl8aHRtbCQvaS50ZXN0KHBhcmVudC50YWdOYW1lKSl7aWYoIS9eaW5saW5l fHRhYmxlLiokL2kudGVzdChjc3MocGFyZW50LCJkaXNwbGF5IikpKWFkZCgtcGFy ZW50LnNjcm9sbExlZnQsLXBhcmVudC5zY3JvbGxUb3ApO2lmKG1vemlsbGEmJmNz cyhwYXJlbnQsIm92ZXJmbG93IikhPSJ2aXNpYmxlIilib3JkZXIocGFyZW50KTtw YXJlbnQ9cGFyZW50LnBhcmVudE5vZGU7fWlmKChzYWZhcmkyJiYoZml4ZWR8fGNz cyhvZmZzZXRDaGlsZCwicG9zaXRpb24iKT09ImFic29sdXRlIikpfHwobW96aWxs YSYmY3NzKG9mZnNldENoaWxkLCJwb3NpdGlvbiIpIT0iYWJzb2x1dGUiKSlhZGQo LWRvYy5ib2R5Lm9mZnNldExlZnQsLWRvYy5ib2R5Lm9mZnNldFRvcCk7aWYoZml4 ZWQpYWRkKE1hdGgubWF4KGRvYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxk b2MuYm9keS5zY3JvbGxMZWZ0KSxNYXRoLm1heChkb2MuZG9jdW1lbnRFbGVtZW50 LnNjcm9sbFRvcCxkb2MuYm9keS5zY3JvbGxUb3ApKTt9cmVzdWx0cz17dG9wOnRv cCxsZWZ0OmxlZnR9O31mdW5jdGlvbiBib3JkZXIoZWxlbSl7YWRkKGpRdWVyeS5j dXJDU1MoZWxlbSwiYm9yZGVyTGVmdFdpZHRoIix0cnVlKSxqUXVlcnkuY3VyQ1NT KGVsZW0sImJvcmRlclRvcFdpZHRoIix0cnVlKSk7fWZ1bmN0aW9uIGFkZChsLHQp e2xlZnQrPXBhcnNlSW50KGwsMTApfHwwO3RvcCs9cGFyc2VJbnQodCwxMCl8fDA7 fXJldHVybiByZXN1bHRzO307alF1ZXJ5LmZuLmV4dGVuZCh7cG9zaXRpb246ZnVu Y3Rpb24oKXt2YXIgbGVmdD0wLHRvcD0wLHJlc3VsdHM7aWYodGhpc1swXSl7dmFy IG9mZnNldFBhcmVudD10aGlzLm9mZnNldFBhcmVudCgpLG9mZnNldD10aGlzLm9m ZnNldCgpLHBhcmVudE9mZnNldD0vXmJvZHl8aHRtbCQvaS50ZXN0KG9mZnNldFBh cmVudFswXS50YWdOYW1lKT97dG9wOjAsbGVmdDowfTpvZmZzZXRQYXJlbnQub2Zm c2V0KCk7b2Zmc2V0LnRvcC09bnVtKHRoaXMsJ21hcmdpblRvcCcpO29mZnNldC5s ZWZ0LT1udW0odGhpcywnbWFyZ2luTGVmdCcpO3BhcmVudE9mZnNldC50b3ArPW51 bShvZmZzZXRQYXJlbnQsJ2JvcmRlclRvcFdpZHRoJyk7cGFyZW50T2Zmc2V0Lmxl ZnQrPW51bShvZmZzZXRQYXJlbnQsJ2JvcmRlckxlZnRXaWR0aCcpO3Jlc3VsdHM9 e3RvcDpvZmZzZXQudG9wLXBhcmVudE9mZnNldC50b3AsbGVmdDpvZmZzZXQubGVm dC1wYXJlbnRPZmZzZXQubGVmdH07fXJldHVybiByZXN1bHRzO30sb2Zmc2V0UGFy ZW50OmZ1bmN0aW9uKCl7dmFyIG9mZnNldFBhcmVudD10aGlzWzBdLm9mZnNldFBh cmVudDt3aGlsZShvZmZzZXRQYXJlbnQmJighL15ib2R5fGh0bWwkL2kudGVzdChv ZmZzZXRQYXJlbnQudGFnTmFtZSkmJmpRdWVyeS5jc3Mob2Zmc2V0UGFyZW50LCdw b3NpdGlvbicpPT0nc3RhdGljJykpb2Zmc2V0UGFyZW50PW9mZnNldFBhcmVudC5v ZmZzZXRQYXJlbnQ7cmV0dXJuIGpRdWVyeShvZmZzZXRQYXJlbnQpO319KTtqUXVl cnkuZWFjaChbJ0xlZnQnLCdUb3AnXSxmdW5jdGlvbihpLG5hbWUpe3ZhciBtZXRo b2Q9J3Njcm9sbCcrbmFtZTtqUXVlcnkuZm5bbWV0aG9kXT1mdW5jdGlvbih2YWwp e2lmKCF0aGlzWzBdKXJldHVybjtyZXR1cm4gdmFsIT11bmRlZmluZWQ/dGhpcy5l YWNoKGZ1bmN0aW9uKCl7dGhpcz09d2luZG93fHx0aGlzPT1kb2N1bWVudD93aW5k b3cuc2Nyb2xsVG8oIWk/dmFsOmpRdWVyeSh3aW5kb3cpLnNjcm9sbExlZnQoKSxp P3ZhbDpqUXVlcnkod2luZG93KS5zY3JvbGxUb3AoKSk6dGhpc1ttZXRob2RdPXZh bDt9KTp0aGlzWzBdPT13aW5kb3d8fHRoaXNbMF09PWRvY3VtZW50P3NlbGZbaT8n cGFnZVlPZmZzZXQnOidwYWdlWE9mZnNldCddfHxqUXVlcnkuYm94TW9kZWwmJmRv Y3VtZW50LmRvY3VtZW50RWxlbWVudFttZXRob2RdfHxkb2N1bWVudC5ib2R5W21l dGhvZF06dGhpc1swXVttZXRob2RdO307fSk7alF1ZXJ5LmVhY2goWyJIZWlnaHQi LCJXaWR0aCJdLGZ1bmN0aW9uKGksbmFtZSl7dmFyIHRsPWk/IkxlZnQiOiJUb3Ai LGJyPWk/IlJpZ2h0IjoiQm90dG9tIjtqUXVlcnkuZm5bImlubmVyIituYW1lXT1m dW5jdGlvbigpe3JldHVybiB0aGlzW25hbWUudG9Mb3dlckNhc2UoKV0oKStudW0o dGhpcywicGFkZGluZyIrdGwpK251bSh0aGlzLCJwYWRkaW5nIiticik7fTtqUXVl cnkuZm5bIm91dGVyIituYW1lXT1mdW5jdGlvbihtYXJnaW4pe3JldHVybiB0aGlz WyJpbm5lciIrbmFtZV0oKStudW0odGhpcywiYm9yZGVyIit0bCsiV2lkdGgiKStu dW0odGhpcywiYm9yZGVyIiticisiV2lkdGgiKSsobWFyZ2luP251bSh0aGlzLCJt YXJnaW4iK3RsKStudW0odGhpcywibWFyZ2luIiticik6MCk7fTt9KTt9KSgpOw== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=google_service.js Content-Type: text/javascript; charset=UTF-8; name=google_service.js Content-Location: http://partner.googleadservices.com/gampad/google_service.js Content-Transfer-Encoding: Quoted-Printable (function(){var d=3Dnull,f=3Dfalse,g=3Dwindow,h=3D"GA_jstiming",j=3D"ind= exOf",l=3D"length",m=3D"prototype",n=3D"join",o=3Dthis,p=3Dfunction(a,b,= c){a=3Da.split(".");c=3Dc||o;!(a[0]in c)&&c.execScript&&c.execScript("va= r "+a[0]);for(var e;a[l]&&(e=3Da.shift());)if(!a[l]&&b!=3D=3Dundefined)c= [e]=3Db;else c=3Dc[e]?c[e]:(c[e]=3D{})},q=3Dfunction(a,b,c){p(a,b,c)},r=3D= function(a,b){function c(){}c.prototype=3Db[m];a.h=3Db[m];a.prototype=3D= new c};var s=3Dfunction(a,b){a=3DparseFloat(a);return isNaN(a)||a>1||a<0= ?b:a},t=3Dfunction(a,b){if(a=3D=3D"true")return true;if(a=3D=3D"false")r= eturn f;return b},u=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,v=3Dfunction= (a,b){if(!a)return b;return(a=3Da.match(u))?a[0]:b};var w=3Dfunction(){r= eturn v("","pubads.g.doubleclick.net")},x=3Dfunction(a){return a=3D=3D"p= ubads.g.doubleclick.net"};var A,B,C,D,E,F,G,H,I,M=3Dfunction(){return o.= navigator?o.navigator.userAgent:d},N=3Dfunction(){return o.navigator},O=3D= function(){E=3DD=3DC=3DB=3DA=3Df;var a;if(a=3DM()){var b=3DN();A=3Da[j](= "Opera")=3D=3D0;B=3D!A&&a[j]("MSIE")!=3D-1;D=3D(C=3D!A&&a[j]("WebKit")!=3D= -1)&&a[j]("Mobile")!=3D-1;E=3D!A&&!C&&b.product=3D=3D"Gecko"}};O();var P= =3DA,Q=3DB,R=3DE,S=3DC,T=3Dfunction(){var a=3DN();return a&&a.platform||= ""},U=3DT(),aa=3Dfunction(){F=3DU[j]("Mac")!=3D-1;G=3DU[j]("Win")!=3D-1;= H=3DU[j]("Linux")!=3D-1;I=3D!!N()&&(N().appVersion||"")[j]("X11")!=3D-1}= ;aa(); var ba=3Dfunction(){var a=3D"",b;if(P&&o.opera){a=3Do.opera.version;a=3D= typeof a=3D=3D"function"?a():a}else{if(R)b=3D/rv\:([^\);]+)(\)|;)/;else = if(Q)b=3D/MSIE\s+([^\);]+)(\)|;)/;else if(S)b=3D/WebKit\/(\S+)/;if(b)a=3D= (a=3Db.exec(M()))?a[1]:""}return a};ba();v("","pagead2.googlesyndication= .com");var V=3Dfunction(a){return!!a&&(a[j]("?google_debug")>0||a[j]("&g= oogle_debug")>0)};function W(a){this.t=3D{};this.tick=3Dfunction(b,c,e){= e=3De?e:(new Date).getTime();this.t[b]=3D[e,c]};this.tick("start",d,a)}v= ar ca=3Dnew W;g.GA_jstiming=3D{Timer:W,load:ca};if(g[h]){g[h].c=3D{};g[h= ].f=3D1;var X=3Dfunction(a,b,c){var e=3Da.t[b],i=3Da.t.start;if(e&&(i||c= )){e=3Da.t[b][0];i=3Dc!=3Dundefined?c:i[0];return e-i}};g[h].report=3Dfu= nction(a,b,c){var e=3D"";if(a.e)e+=3D"&"+a.e;var i=3Da.t,da=3Di.start,J=3D= [],y=3D[];for(var k in i)if(k!=3D"start")if(k[j]("_")!=3D0){var z=3Di[k]= [1];if(z)i[z]&&y.push(k+"."+X(a,k,i[z][0]));else da&&J.push(k+"."+X(a,k)= )}delete i.start;if(b)for(var K in b)e+=3D"&"+K+"=3D"+b[K];a=3D[c?c:"htt= p://csi.gstatic.com/csi","?v=3D3","&s=3D"+(g[h].sn||"gam")+"&action=3D",= a.name,y[l]?"&it=3D"+ y[n](","):"","",e,"&rt=3D",J[n](",")][n]("");b=3Dnew Image;var L=3Dg[h].= f++;g[h].c[L]=3Db;b.onload=3Db.onerror=3Dfunction(){delete g[h].c[L]};b.= src=3Da;b=3Dd;return a}};var ea=3Ds("0.01",0);var fa=3Dt("false",f);func= tion ga(a){return ha("adsense",a)}q("GS_googleAddAdSenseService",ga);fun= ction ia(){ja()}q("GS_googleEnableAllServices",ia);function ka(){g.a=3D{= }}q("GS_googleResetAllServices",ka);function la(){var a=3D"adsense";retu= rn ma(a)}q("GS_googleGetIdsForAdSenseService",la);function na(a){return = oa(a)}q("GS_googleFindService",na);function Y(a){this.g=3Da;this.b=3D[]}= Y[m].toString=3Dfunction(){for(var a=3D"["+this.g+" ids: ",b=3D0;b0)a+=3D",";a+=3Dthis.b[b]}a+=3D"]";return a}; var pa=3Dfunction(a){if(a=3D=3D"adsense")return new Z;return new $},ha=3D= function(a,b){if(!(b&&typeof b=3D=3D"string"&&b[l]>0))return d;if(a=3D=3D= d)return d;var c=3Dg.a[a];if(c=3D=3Dd){c=3Dpa(a);g.a[a]=3Dc}qa(c,b);retu= rn c},qa=3Dfunction(a,b){for(var c=3D0;c0||a[j]("&use_google_ads2")>0))return true;return f},sa=3Dfunc= tion(a,b){if(ra(a,b)){if(V(a))return"google_ads_dbg2.js";return"google_a= ds2.js"}else{if(V(a))return"google_ads_dbg.js";return"google_ads.js"}},t= a=3Dfunction(a){var b=3D"http://"+v("","partner.googleadservices.com");i= f(fa)b=3D"https://"+v("","securepubads.g.doubleclick.net");var c=3D"";x(= w())||(c=3D"?prodhost=3D"+w());return b+ "/gampad/"+a+c};Z[m].enable=3Dfunction(){if(!this.d){var a=3Dta(sa(docum= ent.URL,ea)),b=3D"script";document.write("<"+b+' src=3D"'+a+'"><\/script= >');this.d=3Dtrue;if(g[h]&&g[h].Timer){g[h].load.name=3D"load";g[h].load= .tick("start")}}};g.a||(g.a=3D{});})() ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=sigmund-freud.jpg Content-Type: image/jpeg; name=sigmund-freud.jpg Content-Location: http://www.pharmalot.com/wp-content/uploads/2010/03/sigmund-freud.jpg Content-Transfer-Encoding: Base64 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 ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=tw-sack.js Content-Type: application/x-javascript; charset=UTF-8; name=tw-sack.js Content-Location: http://www.pharmalot.com/wp-includes/js/tw-sack.js?ver=1.6.1 Content-Transfer-Encoding: Base64 LyogU2ltcGxlIEFKQVggQ29kZS1LaXQgKFNBQ0spIHYxLjYuMSAqLwovKiCpMjAw NSBHcmVnb3J5IFdpbGQtU21pdGggKi8KLyogd3d3LnR3aWxpZ2h0dW5pdmVyc2Uu Y29tICovCi8qIFNvZnR3YXJlIGxpY2VuY2VkIHVuZGVyIGEgbW9kaWZpZWQgWDEx IGxpY2VuY2UsCiAgIHNlZSBkb2N1bWVudGF0aW9uIG9yIGF1dGhvcnMgd2Vic2l0 ZSBmb3IgbW9yZSBkZXRhaWxzICovCgpmdW5jdGlvbiBzYWNrKGZpbGUpIHsKCXRo aXMueG1saHR0cCA9IG51bGw7CgoJdGhpcy5yZXNldERhdGEgPSBmdW5jdGlvbigp IHsKCQl0aGlzLm1ldGhvZCA9ICJQT1NUIjsKICAJCXRoaXMucXVlcnlTdHJpbmdT ZXBhcmF0b3IgPSAiPyI7CgkJdGhpcy5hcmd1bWVudFNlcGFyYXRvciA9ICImIjsK CQl0aGlzLlVSTFN0cmluZyA9ICIiOwoJCXRoaXMuZW5jb2RlVVJJU3RyaW5nID0g dHJ1ZTsKICAJCXRoaXMuZXhlY3V0ZSA9IGZhbHNlOwogIAkJdGhpcy5lbGVtZW50 ID0gbnVsbDsKCQl0aGlzLmVsZW1lbnRPYmogPSBudWxsOwoJCXRoaXMucmVxdWVz dEZpbGUgPSBmaWxlOwoJCXRoaXMudmFycyA9IG5ldyBPYmplY3QoKTsKCQl0aGlz LnJlc3BvbnNlU3RhdHVzID0gbmV3IEFycmF5KDIpOwogIAl9OwoKCXRoaXMucmVz ZXRGdW5jdGlvbnMgPSBmdW5jdGlvbigpIHsKICAJCXRoaXMub25Mb2FkaW5nID0g ZnVuY3Rpb24oKSB7IH07CiAgCQl0aGlzLm9uTG9hZGVkID0gZnVuY3Rpb24oKSB7 IH07CiAgCQl0aGlzLm9uSW50ZXJhY3RpdmUgPSBmdW5jdGlvbigpIHsgfTsKICAJ CXRoaXMub25Db21wbGV0aW9uID0gZnVuY3Rpb24oKSB7IH07CiAgCQl0aGlzLm9u RXJyb3IgPSBmdW5jdGlvbigpIHsgfTsKCQl0aGlzLm9uRmFpbCA9IGZ1bmN0aW9u KCkgeyB9OwoJfTsKCgl0aGlzLnJlc2V0ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5y ZXNldEZ1bmN0aW9ucygpOwoJCXRoaXMucmVzZXREYXRhKCk7Cgl9OwoKCXRoaXMu Y3JlYXRlQUpBWCA9IGZ1bmN0aW9uKCkgewoJCXRyeSB7CgkJCXRoaXMueG1saHR0 cCA9IG5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuWE1MSFRUUCIpOwoJCX0gY2F0 Y2ggKGUxKSB7CgkJCXRyeSB7CgkJCQl0aGlzLnhtbGh0dHAgPSBuZXcgQWN0aXZl WE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTsKCQkJfSBjYXRjaCAoZTIpIHsK CQkJCXRoaXMueG1saHR0cCA9IG51bGw7CgkJCX0KCQl9CgoJCWlmICghIHRoaXMu eG1saHR0cCkgewoJCQlpZiAodHlwZW9mIFhNTEh0dHBSZXF1ZXN0ICE9ICJ1bmRl ZmluZWQiKSB7CgkJCQl0aGlzLnhtbGh0dHAgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo KTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuZmFpbGVkID0gdHJ1ZTsKCQkJfQoJCX0K CX07CgoJdGhpcy5zZXRWYXIgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSl7CgkJdGhp cy52YXJzW25hbWVdID0gQXJyYXkodmFsdWUsIGZhbHNlKTsKCX07CgoJdGhpcy5l bmNWYXIgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSwgcmV0dXJudmFycykgewoJCWlm ICh0cnVlID09IHJldHVybnZhcnMpIHsKCQkJcmV0dXJuIEFycmF5KGVuY29kZVVS SUNvbXBvbmVudChuYW1lKSwgZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSk7CgkJ fSBlbHNlIHsKCQkJdGhpcy52YXJzW2VuY29kZVVSSUNvbXBvbmVudChuYW1lKV0g PSBBcnJheShlbmNvZGVVUklDb21wb25lbnQodmFsdWUpLCB0cnVlKTsKCQl9Cgl9 CgoJdGhpcy5wcm9jZXNzVVJMU3RyaW5nID0gZnVuY3Rpb24oc3RyaW5nLCBlbmNv ZGUpIHsKCQllbmNvZGVkID0gZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuYXJndW1l bnRTZXBhcmF0b3IpOwoJCXJlZ2V4cCA9IG5ldyBSZWdFeHAodGhpcy5hcmd1bWVu dFNlcGFyYXRvciArICJ8IiArIGVuY29kZWQpOwoJCXZhckFycmF5ID0gc3RyaW5n LnNwbGl0KHJlZ2V4cCk7CgkJZm9yIChpID0gMDsgaSA8IHZhckFycmF5Lmxlbmd0 aDsgaSsrKXsKCQkJdXJsVmFycyA9IHZhckFycmF5W2ldLnNwbGl0KCI9Iik7CgkJ CWlmICh0cnVlID09IGVuY29kZSl7CgkJCQl0aGlzLmVuY1Zhcih1cmxWYXJzWzBd LCB1cmxWYXJzWzFdKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuc2V0VmFyKHVybFZh cnNbMF0sIHVybFZhcnNbMV0pOwoJCQl9CgkJfQoJfQoKCXRoaXMuY3JlYXRlVVJM U3RyaW5nID0gZnVuY3Rpb24odXJsc3RyaW5nKSB7CgkJaWYgKHRoaXMuZW5jb2Rl VVJJU3RyaW5nICYmIHRoaXMuVVJMU3RyaW5nLmxlbmd0aCkgewoJCQl0aGlzLnBy b2Nlc3NVUkxTdHJpbmcodGhpcy5VUkxTdHJpbmcsIHRydWUpOwoJCX0KCgkJaWYg KHVybHN0cmluZykgewoJCQlpZiAodGhpcy5VUkxTdHJpbmcubGVuZ3RoKSB7CgkJ CQl0aGlzLlVSTFN0cmluZyArPSB0aGlzLmFyZ3VtZW50U2VwYXJhdG9yICsgdXJs c3RyaW5nOwoJCQl9IGVsc2UgewoJCQkJdGhpcy5VUkxTdHJpbmcgPSB1cmxzdHJp bmc7CgkJCX0KCQl9CgoJCS8vIHByZXZlbnRzIGNhY2hpbmcgb2YgVVJMU3RyaW5n CgkJdGhpcy5zZXRWYXIoInJuZHZhbCIsIG5ldyBEYXRlKCkuZ2V0VGltZSgpKTsK CgkJdXJsc3RyaW5ndGVtcCA9IG5ldyBBcnJheSgpOwoJCWZvciAoa2V5IGluIHRo aXMudmFycykgewoJCQlpZiAoZmFsc2UgPT0gdGhpcy52YXJzW2tleV1bMV0gJiYg dHJ1ZSA9PSB0aGlzLmVuY29kZVVSSVN0cmluZykgewoJCQkJZW5jb2RlZCA9IHRo aXMuZW5jVmFyKGtleSwgdGhpcy52YXJzW2tleV1bMF0sIHRydWUpOwoJCQkJZGVs ZXRlIHRoaXMudmFyc1trZXldOwoJCQkJdGhpcy52YXJzW2VuY29kZWRbMF1dID0g QXJyYXkoZW5jb2RlZFsxXSwgdHJ1ZSk7CgkJCQlrZXkgPSBlbmNvZGVkWzBdOwoJ CQl9CgoJCQl1cmxzdHJpbmd0ZW1wW3VybHN0cmluZ3RlbXAubGVuZ3RoXSA9IGtl eSArICI9IiArIHRoaXMudmFyc1trZXldWzBdOwoJCX0KCQlpZiAodXJsc3RyaW5n KXsKCQkJdGhpcy5VUkxTdHJpbmcgKz0gdGhpcy5hcmd1bWVudFNlcGFyYXRvciAr IHVybHN0cmluZ3RlbXAuam9pbih0aGlzLmFyZ3VtZW50U2VwYXJhdG9yKTsKCQl9 IGVsc2UgewoJCQl0aGlzLlVSTFN0cmluZyArPSB1cmxzdHJpbmd0ZW1wLmpvaW4o dGhpcy5hcmd1bWVudFNlcGFyYXRvcik7CgkJfQoJfQoKCXRoaXMucnVuUmVzcG9u c2UgPSBmdW5jdGlvbigpIHsKCQlldmFsKHRoaXMucmVzcG9uc2UpOwoJfQoKCXRo aXMucnVuQUpBWCA9IGZ1bmN0aW9uKHVybHN0cmluZykgewoJCWlmICh0aGlzLmZh aWxlZCkgewoJCQl0aGlzLm9uRmFpbCgpOwoJCX0gZWxzZSB7CgkJCXRoaXMuY3Jl YXRlVVJMU3RyaW5nKHVybHN0cmluZyk7CgkJCWlmICh0aGlzLmVsZW1lbnQpIHsK CQkJCXRoaXMuZWxlbWVudE9iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRo aXMuZWxlbWVudCk7CgkJCX0KCQkJaWYgKHRoaXMueG1saHR0cCkgewoJCQkJdmFy IHNlbGYgPSB0aGlzOwoJCQkJaWYgKHRoaXMubWV0aG9kID09ICJHRVQiKSB7CgkJ CQkJdG90YWx1cmxzdHJpbmcgPSB0aGlzLnJlcXVlc3RGaWxlICsgdGhpcy5xdWVy eVN0cmluZ1NlcGFyYXRvciArIHRoaXMuVVJMU3RyaW5nOwoJCQkJCXRoaXMueG1s aHR0cC5vcGVuKHRoaXMubWV0aG9kLCB0b3RhbHVybHN0cmluZywgdHJ1ZSk7CgkJ CQl9IGVsc2UgewoJCQkJCXRoaXMueG1saHR0cC5vcGVuKHRoaXMubWV0aG9kLCB0 aGlzLnJlcXVlc3RGaWxlLCB0cnVlKTsKCQkJCQl0cnkgewoJCQkJCQl0aGlzLnht bGh0dHAuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0 aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpCgkJCQkJfSBjYXRjaCAoZSkgeyB9 CgkJCQl9CgoJCQkJdGhpcy54bWxodHRwLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1 bmN0aW9uKCkgewoJCQkJCXN3aXRjaCAoc2VsZi54bWxodHRwLnJlYWR5U3RhdGUp IHsKCQkJCQkJY2FzZSAxOgoJCQkJCQkJc2VsZi5vbkxvYWRpbmcoKTsKCQkJCQkJ CWJyZWFrOwoJCQkJCQljYXNlIDI6CgkJCQkJCQlzZWxmLm9uTG9hZGVkKCk7CgkJ CQkJCQlicmVhazsKCQkJCQkJY2FzZSAzOgoJCQkJCQkJc2VsZi5vbkludGVyYWN0 aXZlKCk7CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSA0OgoJCQkJCQkJc2VsZi5y ZXNwb25zZSA9IHNlbGYueG1saHR0cC5yZXNwb25zZVRleHQ7CgkJCQkJCQlzZWxm LnJlc3BvbnNlWE1MID0gc2VsZi54bWxodHRwLnJlc3BvbnNlWE1MOwoJCQkJCQkJ c2VsZi5yZXNwb25zZVN0YXR1c1swXSA9IHNlbGYueG1saHR0cC5zdGF0dXM7CgkJ CQkJCQlzZWxmLnJlc3BvbnNlU3RhdHVzWzFdID0gc2VsZi54bWxodHRwLnN0YXR1 c1RleHQ7CgoJCQkJCQkJaWYgKHNlbGYuZXhlY3V0ZSkgewoJCQkJCQkJCXNlbGYu cnVuUmVzcG9uc2UoKTsKCQkJCQkJCX0KCgkJCQkJCQlpZiAoc2VsZi5lbGVtZW50 T2JqKSB7CgkJCQkJCQkJZWxlbU5vZGVOYW1lID0gc2VsZi5lbGVtZW50T2JqLm5v ZGVOYW1lOwoJCQkJCQkJCWVsZW1Ob2RlTmFtZS50b0xvd2VyQ2FzZSgpOwoJCQkJ CQkJCWlmIChlbGVtTm9kZU5hbWUgPT0gImlucHV0IgoJCQkJCQkJCXx8IGVsZW1O b2RlTmFtZSA9PSAic2VsZWN0IgoJCQkJCQkJCXx8IGVsZW1Ob2RlTmFtZSA9PSAi b3B0aW9uIgoJCQkJCQkJCXx8IGVsZW1Ob2RlTmFtZSA9PSAidGV4dGFyZWEiKSB7 CgkJCQkJCQkJCXNlbGYuZWxlbWVudE9iai52YWx1ZSA9IHNlbGYucmVzcG9uc2U7 CgkJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkJc2VsZi5lbGVtZW50T2JqLmlubmVy SFRNTCA9IHNlbGYucmVzcG9uc2U7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQkJ aWYgKHNlbGYucmVzcG9uc2VTdGF0dXNbMF0gPT0gIjIwMCIpIHsKCQkJCQkJCQlz ZWxmLm9uQ29tcGxldGlvbigpOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlzZWxm Lm9uRXJyb3IoKTsKCQkJCQkJCX0KCgkJCQkJCQlzZWxmLlVSTFN0cmluZyA9ICIi OwoJCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfTsKCgkJCQl0aGlzLnhtbGh0dHAu c2VuZCh0aGlzLlVSTFN0cmluZyk7CgkJCX0KCQl9Cgl9OwoKCXRoaXMucmVzZXQo KTsKCXRoaXMuY3JlYXRlQUpBWCgpOwp9Cg== ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=polls-js-packed.js Content-Type: application/x-javascript; charset=UTF-8; name=polls-js-packed.js Content-Location: http://www.pharmalot.com/wp-content/plugins/wp-polls/polls-js-packed.js?ver=2.30 Content-Transfer-Encoding: Base64 ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4o YzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9t Q2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgv Xi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5j dGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9 O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgn XFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCdoIDM9WiAxMSgx Mik7aCA2PTA7aCBjPSIiO2ggYj0wO2ggNT04O2ggbj0oNy5PJiY3LjkpO2ggbz0o ITcuTyYmNy45KTtoIHA9KDEzLjE0LjE1KCIxNiIpPi0xKTtoIGQ9cTtmIDE3KGEp ezIoIWQpe2Q9cjs2PWE7cz03LjkoXCdQXCcrNik7az0xOCgicy5RIis2KTtjPSIi OzIoNy45KFwnUlwnKzYpKXtsPVMoNy45KFwnUlwnKzYpLnkpfTR7bD0wfXQ9MDsy KGsueiE9MTkpe1QoaT0wO2k8ay56O2krKyl7MihrW2ldLjFhKXsyKGw+MCl7Yz1r W2ldLnkrIiwiK2M7dCsrfTR7Yz1TKGtbaV0ueSl9fX19NHtjPWsueX0yKGw+MCl7 Mih0PjAmJnQ8PWwpe2M9Yy4xYigwLChjLnotMSkpO3UoKTtBKCl9NCAyKHQ9PTAp e2Q9cTttKFUpfTR7ZD1xO20oMWMrIiAiK2wrIi4iKX19NHsyKGM+MCl7dSgpO0Eo KX00e2Q9cTttKFUpfX19NHttKEcpfX1mIDFkKGEpezIoIWQpe2Q9cjs2PWE7dSgp O0goKX00e20oRyl9fWYgMWUoYSl7MighZCl7ZD1yOzY9YTt1KCk7SSgpfTR7bShH KX19ZiB2KCl7MihiPT0xZil7dygpfTIoYjw4KXtiKz0xMDsyKHApe2I9ODt3KCl9 NCAyKG4pezIoail7Ny45KFwnMy1cJys2K1wnLWVcJykuZy5CPVwnQyhEPVwnK2Ir XCcpXCd9NHtiPTg7dygpfX00IDIobyl7MihqKXs3LjkoXCczLVwnKzYrXCctZVwn KS5nLkU9KGIvOCl9NHtiPTg7dygpfX1GKCJ2KCkiLDgpfTR7Yj04O2Q9cX19ZiB1 KCl7MihWKXs3LjkoXCczLVwnKzYrXCctV1wnKS5nLlg9XCcxZ1wnfX1mIHcoKXsy KFYpezcuOShcJzMtXCcrNitcJy1XXCcpLmcuWD1cJzFoXCd9fWYgQSgpezIoNT4w KXs1LT0xMDsyKHApezU9MH00IDIobil7MihqKXs3LjkoXCczLVwnKzYrXCctZVwn KS5nLkI9XCdDKEQ9XCcrNStcJylcJ300ezU9MH19NCAyKG8pezIoail7Ny45KFwn My1cJys2K1wnLWVcJykuZy5FPSg1LzgpfTR7NT0wfX1GKCJBKCkiLDgpfTR7NT0w OzMuSigpOzMueCgiMWkiLHIpOzMueCgiNiIsNik7My54KCJRIis2LGMpOzMuSz1c JzFqXCc7My5MPVwnMy1cJys2K1wnLWVcJzszLk09djszLk4oKTtiPTA7NT04fX1m IEgoKXsyKDU+MCl7NS09MTA7MihwKXs1PTB9NCAyKG4pezIoail7Ny45KFwnMy1c Jys2K1wnLWVcJykuZy5CPVwnQyhEPVwnKzUrXCcpXCd9NHs1PTB9fTQgMihvKXsy KGopezcuOShcJzMtXCcrNitcJy1lXCcpLmcuRT0oNS84KX00ezU9MH19RigiSCgp Iiw4KX00ezU9MDszLkooKTszLngoIjFrIiw2KTszLks9XCdZXCc7My5MPVwnMy1c Jys2K1wnLWVcJzszLk09djszLk4oKTtiPTA7NT04fX1mIEkoKXsyKDU+MCl7NS09 MTA7MihwKXs1PTB9NCAyKG4pezIoail7Ny45KFwnMy1cJys2K1wnLWVcJykuZy5C PVwnQyhEPVwnKzUrXCcpXCd9NHs1PTB9fTQgMihvKXsyKGopezcuOShcJzMtXCcr NitcJy1lXCcpLmcuRT0oNS84KX00ezU9MH19RigiSSgpIiw4KX00ezU9MDszLkoo KTszLngoIjFsIiw2KTszLks9XCdZXCc7My5MPVwnMy1cJys2K1wnLWVcJzszLk09 djszLk4oKTtiPTA7NT04fX1mIDFtKGEpe3M9Ny45KFwnUFwnK2EpO1QoaT0wO2k8 cy56O2krKyl7c1tpXS4xbj1yfX0nLDYyLDg2LCd8fGlmfHBvbGxzfGVsc2V8cG9s bF9mYWRlb3V0X29wYWNpdHl8cG9sbF9pZHxkb2N1bWVudHwxMDB8Z2V0RWxlbWVu dEJ5SWR8fHBvbGxfZmFkZWluX29wYWNpdHl8cG9sbF9hbnN3ZXJfaWR8aXNfYmVp bmdfdm90ZWR8YW5zfGZ1bmN0aW9ufHN0eWxlfHZhcnx8cG9sbF9zaG93X2ZhZGlu Z3xwb2xsX2Fuc3dlcnxwb2xsX211bHRpcGxlX2Fuc3xhbGVydHxpc19pZXxpc19t b3p8aXNfb3BlcmF8ZmFsc2V8dHJ1ZXxwb2xsX2Zvcm18cG9sbF9tdWx0aXBsZV9h bnNfY291bnR8cG9sbF9sb2FkaW5nX3RleHR8cG9sbF9mYWRlaW5fdGV4dHxwb2xs X3VubG9hZGluZ190ZXh0fHNldFZhcnx2YWx1ZXxsZW5ndGh8cG9sbF9wcm9jZXNz fGZpbHRlcnxhbHBoYXxvcGFjaXR5fE1vek9wYWNpdHl8c2V0VGltZW91dHxwb2xs c190ZXh0X3dhaXR8cG9sbF9wcm9jZXNzX3Jlc3VsdHxwb2xsX3Byb2Nlc3NfYm9v dGh8cmVzZXR8bWV0aG9kfGVsZW1lbnR8b25Db21wbGV0aW9ufHJ1bkFKQVh8YWxs fHBvbGxzX2Zvcm1ffHBvbGxffHBvbGxfbXVsdGlwbGVfYW5zX3xwYXJzZUludHxm b3J8cG9sbHNfdGV4dF92YWxpZHxwb2xsX3Nob3dfbG9hZGluZ3xsb2FkaW5nfGRp c3BsYXl8R0VUfG5ld3x8c2Fja3xwb2xsc19hamF4X3VybHxuYXZpZ2F0b3J8dXNl ckFnZW50fGluZGV4T2Z8T3BlcmF8cG9sbF92b3RlfGV2YWx8bnVsbHxjaGVja2Vk fHN1YnN0cmluZ3xwb2xsc190ZXh0X211bHRpcGxlfHBvbGxfcmVzdWx0fHBvbGxf Ym9vdGh8OTB8YmxvY2t8bm9uZXx2b3RlfFBPU1R8cG9sbHJlc3VsdHxwb2xsYm9v dGh8cG9sbF9kaXNhYmxlX3ZvdGluZ3xkaXNhYmxlZCcuc3BsaXQoJ3wnKSwwLHt9 KSk= ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=default.js Content-Type: application/x-javascript; charset=UTF-8; name=default.js Content-Location: http://w.sharethis.com/widget/?tabs=email%2Cweb%2Cpost&charset=utf-8&style=default&publisher=6a410163-725c-4343-ae39-69b06477e404&headerbg=%238aaa83&inactivebg=%23cce4c6&linkfg=%233e7938&embeds=true&button=false Content-Transfer-Encoding: Base64 U1RfSlNPTj1uZXcgZnVuY3Rpb24oKXt0aGlzLmVuY29kZT1mdW5jdGlvbigpe3Zh ciBzZWxmPWFyZ3VtZW50cy5sZW5ndGg/YXJndW1lbnRzWzBdOnRoaXMscmVzdWx0 LHRtcDtpZihzZWxmPT09bnVsbCl7cmVzdWx0PSJudWxsIn1lbHNle2lmKHNlbGYh PT11bmRlZmluZWQmJih0bXA9JFt0eXBlb2Ygc2VsZl0oc2VsZikpKXtzd2l0Y2go dG1wKXtjYXNlIEFycmF5OnJlc3VsdD1bXTtmb3IodmFyIGk9MCxqPTAsaz1zZWxm Lmxlbmd0aDtqPGs7aisrKXtpZihzZWxmW2pdIT09dW5kZWZpbmVkJiYodG1wPVNU X0pTT04uZW5jb2RlKHNlbGZbal0pKSl7cmVzdWx0W2krK109dG1wfX1yZXN1bHQ9 IlsiLmNvbmNhdChyZXN1bHQuam9pbigiLCIpLCJdIik7YnJlYWs7Y2FzZSBCb29s ZWFuOnJlc3VsdD1TdHJpbmcoc2VsZik7YnJlYWs7Y2FzZSBEYXRlOnJlc3VsdD0n IicuY29uY2F0KHNlbGYuZ2V0RnVsbFllYXIoKSwiLSIsZChzZWxmLmdldE1vbnRo KCkrMSksIi0iLGQoc2VsZi5nZXREYXRlKCkpLCJUIixkKHNlbGYuZ2V0SG91cnMo KSksIjoiLGQoc2VsZi5nZXRNaW51dGVzKCkpLCI6IixkKHNlbGYuZ2V0U2Vjb25k cygpKSwnIicpO2JyZWFrO2Nhc2UgRnVuY3Rpb246YnJlYWs7Y2FzZSBOdW1iZXI6 cmVzdWx0PWlzRmluaXRlKHNlbGYpP1N0cmluZyhzZWxmKToibnVsbCI7YnJlYWs7 Y2FzZSBTdHJpbmc6cmVzdWx0PSciJy5jb25jYXQoc2VsZi5yZXBsYWNlKHJzLHMp LnJlcGxhY2UocnUsdSksJyInKTticmVhaztkZWZhdWx0OnZhciBpPTAsa2V5O3Jl c3VsdD1bXTtmb3Ioa2V5IGluIHNlbGYpe2lmKHNlbGZba2V5XSE9PXVuZGVmaW5l ZCYmKHRtcD1TVF9KU09OLmVuY29kZShzZWxmW2tleV0pKSl7cmVzdWx0W2krK109 JyInLmNvbmNhdChrZXkucmVwbGFjZShycyxzKS5yZXBsYWNlKHJ1LHUpLCciOics dG1wKX19cmVzdWx0PSJ7Ii5jb25jYXQocmVzdWx0LmpvaW4oIiwiKSwifSIpO2Jy ZWFrfX19cmV0dXJuIHJlc3VsdH07dGhpcy50b0RhdGU9ZnVuY3Rpb24oKXt2YXIg c2VsZj1hcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp0aGlzLHJlc3VsdDtp ZihyZC50ZXN0KHNlbGYpKXtyZXN1bHQ9bmV3IERhdGU7cmVzdWx0LnNldEhvdXJz KGkoc2VsZiwxMSwyKSk7cmVzdWx0LnNldE1pbnV0ZXMoaShzZWxmLDE0LDIpKTty ZXN1bHQuc2V0U2Vjb25kcyhpKHNlbGYsMTcsMikpO3Jlc3VsdC5zZXRNb250aChp KHNlbGYsNSwyKS0xKTtyZXN1bHQuc2V0RGF0ZShpKHNlbGYsOCwyKSk7cmVzdWx0 LnNldEZ1bGxZZWFyKGkoc2VsZiwwLDQpKX1lbHNle2lmKHJ0LnRlc3Qoc2VsZikp e3Jlc3VsdD1uZXcgRGF0ZShzZWxmKjEwMDApfX1yZXR1cm4gcmVzdWx0fTt2YXIg Yz17IlxiIjoiYiIsIlx0IjoidCIsIlxuIjoibiIsIlxmIjoiZiIsIlxyIjoiciIs JyInOiciJywiXFwiOiJcXCIsIi8iOiIvIn0sZD1mdW5jdGlvbihuKXtyZXR1cm4g bjwxMD8iMCIuY29uY2F0KG4pOm59LGU9ZnVuY3Rpb24oYyxmLGUpe2U9ZXZhbDtk ZWxldGUgZXZhbDtpZih0eXBlb2YgZXZhbD09PSJ1bmRlZmluZWQiKXtldmFsPWV9 Zj1ldmFsKCIiK2MpO2V2YWw9ZTtyZXR1cm4gZn0saT1mdW5jdGlvbihlLHAsbCl7 cmV0dXJuIDEqZS5zdWJzdHIocCxsKX0scD1bIiIsIjAwMCIsIjAwIiwiMCIsIiJd LHJjPW51bGwscmQ9L15bMC05XXs0fVwtWzAtOV17Mn1cLVswLTldezJ9VFswLTld ezJ9OlswLTldezJ9OlswLTldezJ9JC8scnM9LyhceDVjfFx4MkZ8XHgyMnxbXHgw Yy1ceDBkXXxbXHgwOC1ceDBhXSkvZyxydD0vXihbMC05XSt8WzAtOV0rWyxcLl1b MC05XXsxLDN9KSQvLHJ1PS8oW1x4MDAtXHgwN118XHgwYnxbXHgwZS1ceDFmXSkv ZyxzPWZ1bmN0aW9uKGksZCl7cmV0dXJuIlxcIi5jb25jYXQoY1tkXSl9LHU9ZnVu Y3Rpb24oaSxkKXt2YXIgbj1kLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpO3Jl dHVybiJcXHUiLmNvbmNhdChwW24ubGVuZ3RoXSxuKX0sdj1mdW5jdGlvbihrLHYp e3JldHVybiAkW3R5cGVvZiByZXN1bHRdKHJlc3VsdCkhPT1GdW5jdGlvbiYmKHYu aGFzT3duUHJvcGVydHk/di5oYXNPd25Qcm9wZXJ0eShrKTp2LmNvbnN0cnVjdG9y LnByb3RvdHlwZVtrXSE9PXZba10pfSwkPXsiYm9vbGVhbiI6ZnVuY3Rpb24oKXty ZXR1cm4gQm9vbGVhbn0sImZ1bmN0aW9uIjpmdW5jdGlvbigpe3JldHVybiBGdW5j dGlvbn0sbnVtYmVyOmZ1bmN0aW9uKCl7cmV0dXJuIE51bWJlcn0sb2JqZWN0OmZ1 bmN0aW9uKG8pe3JldHVybiBvIGluc3RhbmNlb2Ygby5jb25zdHJ1Y3Rvcj9vLmNv bnN0cnVjdG9yOm51bGx9LHN0cmluZzpmdW5jdGlvbigpe3JldHVybiBTdHJpbmd9 LCJ1bmRlZmluZWQiOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSwkJD1mdW5jdGlv bihtKXtmdW5jdGlvbiAkKGMsdCl7dD1jW21dO2RlbGV0ZSBjW21dO3RyeXtlKGMp fWNhdGNoKHope2NbbV09dDtyZXR1cm4gMX19cmV0dXJuICQoQXJyYXkpJiYkKE9i amVjdCl9O3RyeXtyYz1uZXcgUmVnRXhwKCdeKCIoXFxcXC58W14iXFxcXFxcblxc cl0pKj8ifFssOnt9XFxbXFxdMC05LlxcLStFYWVmbG5yLXUgXFxuXFxyXFx0XSkr PyQnKX1jYXRjaCh6KXtyYz0vXih0cnVlfGZhbHNlfG51bGx8XFsuKlxdfFx7Lipc fXwiLioifFxkK3xcZCtcLlxkKykkL319O3RyeXtpZighU0hBUkVUSElTKXtpZigh U0hBUkVUSElTX1RPT0xCQVIpe3ZhciBTSEFSRVRISVNfVE9PTEJBUj1mYWxzZX12 YXIgU0hBUkVUSElTPW51bGw7ZnVuY3Rpb24gcGFyc2VRdWVyeVN0cmluZyhiKXt2 YXIgZD17fTtpZihiPT11bmRlZmluZWQpe2I9bG9jYXRpb24uc2VhcmNoP2xvY2F0 aW9uLnNlYXJjaDoiIn1pZihiLmNoYXJBdCgwKT09Ij8iKXtiPWIuc3Vic3RyaW5n KDEpfXZhciBmPWIuaW5kZXhPZigiPyIpO2lmKGYpe2I9Yi5zdWJzdHJpbmcoZisx KX1mPWIuaW5kZXhPZigiIyIpO2lmKGYpe2I9Yi5zdWJzdHJpbmcoZisxKX1iPWIu cmVwbGFjZSgiKyIsIiAiKTt2YXIgZz1iLnNwbGl0KC9bJjtdL2cpO2Zvcih2YXIg Zj0wO2Y8Zy5sZW5ndGg7ZisrKXt2YXIgYz1nW2ZdLnNwbGl0KCI9Iik7dmFyIGE9 ZGVjb2RlVVJJQ29tcG9uZW50KGNbMF0pO3ZhciBlPWRlY29kZVVSSUNvbXBvbmVu dChjWzFdKTtpZighZFthXSl7ZFthXT1bXX1kW2FdLnB1c2goKGMubGVuZ3RoPT0x KT8iIjplKX1yZXR1cm4gZH12YXIgaGV4Y2FzZT0wO3ZhciBiNjRwYWQ9IiI7dmFy IGNocnN6PTg7ZnVuY3Rpb24gaGV4X3NoYTEoYSl7cmV0dXJuIGJpbmIyaGV4KGNv cmVfc2hhMShzdHIyYmluYihhKSxhLmxlbmd0aCpjaHJzeikpfWZ1bmN0aW9uIGNv cmVfc2hhMShoLG0pe2hbbT4+NV18PTEyODw8KDI0LW0lMzIpO2hbKChtKzY0Pj45 KTw8NCkrMTVdPW07dmFyIGY9QXJyYXkoODApO3ZhciBnPTE3MzI1ODQxOTM7dmFy IGk9LTI3MTczMzg3OTt2YXIgaj0tMTczMjU4NDE5NDt2YXIgaz0yNzE3MzM4Nzg7 dmFyIGw9LTEwMDk1ODk3NzY7Zm9yKHZhciBxPTA7cTxoLmxlbmd0aDtxKz0xNil7 dmFyIG49Zzt2YXIgbz1pO3ZhciBhPWo7dmFyIGI9azt2YXIgZD1sO2Zvcih2YXIg Yz0wO2M8ODA7YysrKXtpZihjPDE2KXtmW2NdPWhbcStjXX1lbHNle2ZbY109cm9s KGZbYy0zXV5mW2MtOF1eZltjLTE0XV5mW2MtMTZdLDEpfXZhciBlPXNhZmVfYWRk KHNhZmVfYWRkKHJvbChnLDUpLHNoYTFfZnQoYyxpLGosaykpLHNhZmVfYWRkKHNh ZmVfYWRkKGwsZltjXSksc2hhMV9rdChjKSkpO2w9aztrPWo7aj1yb2woaSwzMCk7 aT1nO2c9ZX1nPXNhZmVfYWRkKGcsbik7aT1zYWZlX2FkZChpLG8pO2o9c2FmZV9h ZGQoaixhKTtrPXNhZmVfYWRkKGssYik7bD1zYWZlX2FkZChsLGQpfXJldHVybiBB cnJheShnLGksaixrLGwpfWZ1bmN0aW9uIHNoYTFfZnQoZCxhLGIsYyl7aWYoZDwy MCl7cmV0dXJuKGEmYil8KCh+YSkmYyl9aWYoZDw0MCl7cmV0dXJuIGFeYl5jfWlm KGQ8NjApe3JldHVybihhJmIpfChhJmMpfChiJmMpfXJldHVybiBhXmJeY31mdW5j dGlvbiBzaGExX2t0KGEpe3JldHVybihhPDIwKT8xNTE4NTAwMjQ5OihhPDQwKT8x ODU5Nzc1MzkzOihhPDYwKT8tMTg5NDAwNzU4ODotODk5NDk3NTE0fWZ1bmN0aW9u IHNhZmVfYWRkKGEsYil7dmFyIGM9KGEmNjU1MzUpKyhiJjY1NTM1KTt2YXIgZD0o YT4+MTYpKyhiPj4xNikrKGM+PjE2KTtyZXR1cm4oZDw8MTYpfChjJjY1NTM1KX1m dW5jdGlvbiByb2woYSxiKXtyZXR1cm4oYTw8Yil8KGE+Pj4oMzItYikpfWZ1bmN0 aW9uIHN0cjJiaW5iKGIpe3ZhciBjPUFycmF5KCk7dmFyIGE9KDE8PGNocnN6KS0x O2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGgqY2hyc3o7ZCs9Y2hyc3ope2NbZD4+NV18 PShiLmNoYXJDb2RlQXQoZC9jaHJzeikmYSk8PCgzMi1jaHJzei1kJTMyKX1yZXR1 cm4gY31mdW5jdGlvbiBiaW5iMmhleChjKXt2YXIgZD1oZXhjYXNlPyIwMTIzNDU2 Nzg5QUJDREVGIjoiMDEyMzQ1Njc4OWFiY2RlZiI7dmFyIGI9IiI7Zm9yKHZhciBh PTA7YTxjLmxlbmd0aCo0O2ErKyl7Yis9ZC5jaGFyQXQoKGNbYT4+Ml0+PigoMy1h JTQpKjgrNCkpJjE1KStkLmNoYXJBdCgoY1thPj4yXT4+KCgzLWElNCkqOCkpJjE1 KX1yZXR1cm4gYn1mdW5jdGlvbiBoYXNoX3BhZ2UoYSl7cmV0dXJuIGhleF9zaGEx KGEpfXZhciBzdFZpc2libGVJbnRlcnZhbD1udWxsO3ZhciByZWFkeVRlc3RJbnRl cnZhbD1udWxsO3ZhciBzdF9zaG93aW5nPWZhbHNlO3ZhciBzdGF1dG9jbG9zZT10 cnVlO2Z1bmN0aW9uIFNIQVJFVEhJU19tZXJnZSgpe3ZhciBlPXt9O2Zvcih2YXIg ZD0wLGE9YXJndW1lbnRzLmxlbmd0aDtkPGE7ZCsrKXt2YXIgYj1hcmd1bWVudHNb ZF07aWYoU0hBUkVUSElTX3R5cGVvZihiKSE9Im9iamVjdCIpe2NvbnRpbnVlfWZv cih2YXIgYyBpbiBiKXt2YXIgZz1iW2NdLGY9ZVtjXTtlW2NdPShmJiZTSEFSRVRI SVNfdHlwZW9mKGcpPT0ib2JqZWN0IiYmU0hBUkVUSElTX3R5cGVvZihmKT09Im9i amVjdCIpP1NIQVJFVEhJU19tZXJnZShmLGcpOlNIQVJFVEhJU191bmxpbmsoZyl9 fXJldHVybiBlfWZ1bmN0aW9uIFNIQVJFVEhJU191bmxpbmsoYyl7dmFyIGE7c3dp dGNoKFNIQVJFVEhJU190eXBlb2YoYykpe2Nhc2Uib2JqZWN0IjphPXt9O2Zvcih2 YXIgZSBpbiBjKXthW2VdPVNIQVJFVEhJU191bmxpbmsoY1tlXSl9YnJlYWs7Y2Fz ZSJoYXNoIjphPVNIQVJFVEhJU191bmxpbmsoYy5nZXRDbGVhbigpKTticmVhaztj YXNlImFycmF5IjphPVtdO2Zvcih2YXIgZD0wLGI9Yy5sZW5ndGg7ZDxiO2QrKyl7 YVtkXT1TSEFSRVRISVNfdW5saW5rKGNbZF0pfWJyZWFrO2RlZmF1bHQ6cmV0dXJu IGN9cmV0dXJuIGF9ZnVuY3Rpb24gU0hBUkVUSElTX3R5cGVvZihhKXtpZihTSEFS RVRISVNfaXNBcnJheShhKSl7cmV0dXJuImFycmF5In1lbHNle3JldHVybiB0eXBl b2YgYX19ZnVuY3Rpb24gU0hBUkVUSElTX2lzQXJyYXkoYyl7dmFyIGI9YyE9bnVs bCYmdHlwZW9mIGM9PSJvYmplY3QiJiYic3BsaWNlIiBpbiBjJiYiam9pbiIgaW4g YztyZXR1cm4gYn1mdW5jdGlvbiBTaGFyZWFibGUoYixhKXt0aGlzLmlkeD0tMTt0 aGlzLmZyYW1lVXJsPSIiO3RoaXMuZWxlbWVudD1udWxsO3RoaXMudHJpZ2dlcj1u dWxsO3RoaXMucGFnZT0iIjt0aGlzLnByb3BlcnRpZXM9e3R5cGU6IiIsdGl0bGU6 ZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LnRpdGxlKSxzdW1tYXJ5OiIiLGNv bnRlbnQ6IiIsdXJsOmRvY3VtZW50LlVSTCxpY29uOiIiLGNhdGVnb3J5OiIiLHVw ZGF0ZWQ6ZG9jdW1lbnQubGFzdE1vZGlmaWVkLHB1Ymxpc2hlZDoiIixhdXRob3I6 IiJ9O3RoaXMub3B0aW9ucz17YnV0dG9uOnRydWUsb25tb3VzZW92ZXI6dHJ1ZSxi dXR0b25UZXh0OiJTaGFyZVRoaXMiLHBvcHVwOmZhbHNlLG9mZnNldExlZnQ6MCxv ZmZzZXRUb3A6MCxlbWJlZHM6ZmFsc2UsYXV0b2Nsb3NlOmZhbHNlfTt0aGlzLmlu aXRpYWxpemU9ZnVuY3Rpb24oZCxjKXt0aGlzLm9wdGlvbnM9U0hBUkVUSElTX21l cmdlKHRoaXMub3B0aW9ucyxjKTt0aGlzLnByb3BlcnRpZXM9U0hBUkVUSElTX21l cmdlKHRoaXMucHJvcGVydGllcyxkKTtpZihjLnRhcmdldCl7dmFyIGU9dGhpcztj LnRhcmdldC5vbmNsaWNrPWZ1bmN0aW9uKCl7ZS5zaGFyZSgpfTtpZihjLm1vdXNl b3Zlcil7Yy50YXJnZXQub25tb3VzZW92ZXI9ZnVuY3Rpb24oKXtlLnNoYXJlKCl9 fX19O3RoaXMuaW5pdGlhbGl6ZShiLGEpO3RoaXMuc2hhcmU9ZnVuY3Rpb24oKXtm cmFtZXMuc3RmcmFtZS5sb2NhdGlvbj10aGlzLmZyYW1lVXJsKyIjZ2V0T2JqZWN0 LyIrU0hBUkVUSElTLmd1aWQrIi8iK3RoaXMuaWR4fTt0aGlzLmF0dGFjaEJ1dHRv bj1mdW5jdGlvbihjKXt0aGlzLmVsZW1lbnQ9YztjLnNldEF0dHJpYnV0ZSgic3Rf cGFnZSIsImhvbWUiKTtpZih0aGlzLm9wdGlvbnMub25tb3VzZW92ZXIpe2Mub25t b3VzZW92ZXI9dGhpcy5wb3B1cH1lbHNle2Mub25jbGljaz10aGlzLnBvcHVwfX07 dGhpcy5hdHRhY2hDaGlja2xldD1mdW5jdGlvbihmLGMpe3N3aXRjaChmKXtjYXNl ImZhY2Vib29rIjpjLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsImZhY2Vib29rLmNv bSIpO3ZhciBlPWMuY2hpbGROb2Rlcztmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2Qr Kyl7dmFyIGg9ZVtkXTt0cnl7aC5zZXRBdHRyaWJ1dGUoInN0X2Rlc3QiLCJmYWNl Ym9vay5jb20iKX1jYXRjaChnKXt9fWMub25jbGljaz10aGlzLmNoaWNrbGV0O2Jy ZWFrO2Nhc2UiZGlnZyI6Yy5zZXRBdHRyaWJ1dGUoInN0X2Rlc3QiLCJkaWdnLmNv bSIpO3ZhciBlPWMuY2hpbGROb2Rlcztmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2Qr Kyl7dmFyIGg9ZVtkXTt0cnl7aC5zZXRBdHRyaWJ1dGUoInN0X2Rlc3QiLCJkaWdn LmNvbSIpfWNhdGNoKGcpe319Yy5vbmNsaWNrPXRoaXMuY2hpY2tsZXQ7YnJlYWs7 Y2FzZSJ5YWhvb19idXp6IjpjLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsImJ1enou eWFob28uY29tIik7dmFyIGU9Yy5jaGlsZE5vZGVzO2Zvcih2YXIgZD0wO2Q8ZS5s ZW5ndGg7ZCsrKXt2YXIgaD1lW2RdO3RyeXtoLnNldEF0dHJpYnV0ZSgic3RfZGVz dCIsImJ1enoueWFob28uY29tIil9Y2F0Y2goZyl7fX1jLm9uY2xpY2s9dGhpcy5j aGlja2xldDticmVhaztjYXNlImVtYWlsIjpjLnNldEF0dHJpYnV0ZSgic3RfcGFn ZSIsInNlbmQiKTt2YXIgZT1jLmNoaWxkTm9kZXM7Zm9yKHZhciBkPTA7ZDxlLmxl bmd0aDtkKyspe3ZhciBoPWVbZF07dHJ5e2guc2V0QXR0cmlidXRlKCJzdF9wYWdl Iiwic2VuZCIpfWNhdGNoKGcpe319Yy5vbmNsaWNrPXRoaXMucG9wdXA7YnJlYWs7 Y2FzZSJ0d2l0dGVyIjpjLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsInR3aXR0ZXIu Y29tIik7dmFyIGU9Yy5jaGlsZE5vZGVzO2Zvcih2YXIgZD0wO2Q8ZS5sZW5ndGg7 ZCsrKXt2YXIgaD1lW2RdO3RyeXtoLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsInR3 aXR0ZXIuY29tIil9Y2F0Y2goZyl7fX1jLm9uY2xpY2s9dGhpcy5jaGlja2xldDti cmVhaztjYXNlIm15c3BhY2UiOmMuc2V0QXR0cmlidXRlKCJzdF9kZXN0IiwibXlz cGFjZS5jb20iKTt2YXIgZT1jLmNoaWxkTm9kZXM7Zm9yKHZhciBkPTA7ZDxlLmxl bmd0aDtkKyspe3ZhciBoPWVbZF07dHJ5e2guc2V0QXR0cmlidXRlKCJzdF9kZXN0 IiwibXlzcGFjZS5jb20iKX1jYXRjaChnKXt9fWMub25jbGljaz10aGlzLmNoaWNr bGV0O2JyZWFrO2Nhc2UiYWltIjpjLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsImFp bS5jb20iKTt2YXIgZT1jLmNoaWxkTm9kZXM7Zm9yKHZhciBkPTA7ZDxlLmxlbmd0 aDtkKyspe3ZhciBoPWVbZF07dHJ5e2guc2V0QXR0cmlidXRlKCJzdF9kZXN0Iiwi YWltLmNvbSIpfWNhdGNoKGcpe319Yy5vbmNsaWNrPXRoaXMuY2hpY2tsZXQ7YnJl YWs7Y2FzZSJtaXh4IjpjLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsIm1peHguY29t Iik7dmFyIGU9Yy5jaGlsZE5vZGVzO2Zvcih2YXIgZD0wO2Q8ZS5sZW5ndGg7ZCsr KXt2YXIgaD1lW2RdO3RyeXtoLnNldEF0dHJpYnV0ZSgic3RfZGVzdCIsIm1peHgu Y29tIil9Y2F0Y2goZyl7fX1jLm9uY2xpY2s9dGhpcy5jaGlja2xldDticmVha319 fWZ1bmN0aW9uIFNoYXJlVGhpcyhvcHRpb25zKXt0aGlzLnZlcnNpb249Mi4wMzt0 aGlzLnRtcFNlbmREYXRhPSIiO3RoaXMuc2VuZEFycmF5PVtdO3RoaXMuc2VuZElu aXQ9W107dGhpcy5zZW5kTnVtPTA7dGhpcy5ndWlkPW51bGw7dGhpcy5wb3BFeGlz dHM9ZmFsc2U7dGhpcy5wb3B1cF93aW49bnVsbDt0aGlzLm5ld3dpbmZyYWc9IiI7 dGhpcy5wYWdlPW51bGw7dGhpcy5zaGFyZWFibGVzPVtdO3RoaXMucmVhZHlMaXN0 PVtdO3RoaXMucG9zdFVybD0iIjt0aGlzLmZyYW1lVXJsPSIiO3RoaXMuY291bnRl cj0wO3RoaXMud3JhcHBlcj1udWxsO3RoaXMucmVhZHk9ZmFsc2U7dGhpcy5wb3B1 cENhbGxlZD1mYWxzZTt0aGlzLnJlZmVycmVyX3N0cz0iIjt0aGlzLnNocl9mbGFn PSIiO3RoaXMucHVibGlzaGVySUQ9bnVsbDt0aGlzLmJvZHlMb2FkZWQ9ZmFsc2U7 aWYob3B0aW9ucy5wdWJsaXNoZXIpe3RoaXMucHVibGlzaGVySUQ9b3B0aW9ucy5w dWJsaXNoZXJbMF19dGhpcy5zZXNzaW9uSURfdGltZT0obmV3IERhdGUoKSkuZ2V0 VGltZSgpLnRvU3RyaW5nKCk7dGhpcy5zZXNzaW9uSURfcmFuZD1OdW1iZXIoTWF0 aC5yYW5kb20oKS50b1ByZWNpc2lvbig1KS50b1N0cmluZygpLnN1YnN0cigyKSku dG9TdHJpbmcoKTt0aGlzLnNlc3Npb25JRD10aGlzLnNlc3Npb25JRF90aW1lKyIu Iit0aGlzLnNlc3Npb25JRF9yYW5kO29wdGlvbnMuc2Vzc2lvbklEPXRoaXMuc2Vz c2lvbklEO3RoaXMuZnBjPV9zdEZwYygpO29wdGlvbnMuZnBjPXRoaXMuZnBjO29w dGlvbnMucFVybD1lbmNvZGVVUklDb21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24u aHJlZik7dGhpcy53aWRnZXRDYWxsZWQ9ZmFsc2U7dGhpcy5sYXN0VXJsPSJibGFu ayI7dGhpcy5sb2dGbGFnPXRydWU7dGhpcy5jbG9zZWJ1dHRvbj1udWxsO3RoaXMu d2lkZ2V0RXhpc3RzPWZhbHNlO3RoaXMub2xkU2Nyb2xsPTA7dGhpcy5mcD1udWxs O3RoaXMuY3VycmVudElkPW51bGw7dGhpcy50b29sYmFyPWZhbHNlO3RoaXMuc3Rf Y2xpY2tlZD1mYWxzZTt0aGlzLnN0X2NsaWNrZWRfbz1udWxsO3RoaXMuY3Vycl9v ZmZzZXRUb3A9MDt0aGlzLmN1cnJfb2Zmc2V0TGVmdD0wO3RoaXMuZnJhbWVSZWFk eT1mYWxzZTt0aGlzLmRlbGF5U2hvdz1mYWxzZTt0aGlzLm51bUlmcmFtZT0wO3Ro aXMuZnJhbWVMb2FkZWQ9ZmFsc2U7dGhpcy5jdXJyX2lkPW51bGw7dGhpcy5jdXJy ZW50X2VsZW1lbnQ9bnVsbDt0aGlzLm9wdF9hcnI9W107dGhpcy5tb3VzZXRpbWVy PW51bGw7dGhpcy5hdXRvUG9zaXRpb249dHJ1ZTt0aGlzLm9wZW5EdXJhdGlvbj0w O3RoaXMuc3RvcENsb3Npbmc9ZmFsc2U7dGhpcy5pblRpbWU9MDt0aGlzLm91dFRp bWU9MDt0aGlzLmJ1dHRvbkNvdW50PTA7dGhpcy5idXR0b25DbGlja2VkPWZhbHNl O3RoaXMubWV0YT17cHVibGlzaGVyOiIiLGhvc3RuYW1lOmxvY2F0aW9uLmhvc3Qs bG9jYXRpb246bG9jYXRpb24ucGF0aG5hbWV9O3RoaXMucG9zaXRpb25XaWRnZXQ9 ZnVuY3Rpb24oKXt2YXIgaWQ9U0hBUkVUSElTLmN1cnJfaWQ7dmFyIHNoYXJlZWw9 U0hBUkVUSElTLmN1cnJlbnRfZWxlbWVudDtpZihzaGFyZWVsPT1udWxsKXtzaGFy ZWVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKX12YXIgY3VybGVmdD1jdXJ0 b3A9MDtpZihzaGFyZWVsLm9mZnNldFBhcmVudCl7Y3VybGVmdD1zaGFyZWVsLm9m ZnNldExlZnQ7Y3VydG9wPXNoYXJlZWwub2Zmc2V0VG9wO3doaWxlKHNoYXJlZWw9 c2hhcmVlbC5vZmZzZXRQYXJlbnQpe2N1cmxlZnQrPXNoYXJlZWwub2Zmc2V0TGVm dDtjdXJ0b3ArPXNoYXJlZWwub2Zmc2V0VG9wfX1zaGFyZWVsPVNIQVJFVEhJUy5j dXJyZW50X2VsZW1lbnQ7aWYoc2hhcmVlbD09bnVsbCl7c2hhcmVlbD1kb2N1bWVu dC5nZXRFbGVtZW50QnlJZChpZCl9dmFyIGVsdG9wPTA7dmFyIGVsbGVmdD0wO3Zh ciB0b3BWYWw9MDt2YXIgbGVmdFZhbD0wO3ZhciBlbGVtSD0wO3ZhciBlbGVtVz0w O2VsdG9wPWN1cnRvcCtzaGFyZWVsLm9mZnNldEhlaWdodCs1O2VsbGVmdD1jdXJs ZWZ0KzU7dG9wVmFsPShlbHRvcCtTSEFSRVRISVMuY3Vycl9vZmZzZXRUb3ApO3Rv cFZhbD1ldmFsKHRvcFZhbCk7ZWxlbUg9dG9wVmFsO3RvcFZhbCs9InB4IjtsZWZ0 VmFsPShlbGxlZnQrU0hBUkVUSElTLmN1cnJfb2Zmc2V0TGVmdCk7bGVmdFZhbD1l dmFsKGxlZnRWYWwpO2VsZW1XPWxlZnRWYWw7bGVmdFZhbCs9InB4IjtTSEFSRVRI SVMud3JhcHBlci5zdHlsZS50b3A9dG9wVmFsO1NIQVJFVEhJUy53cmFwcGVyLnN0 eWxlLmxlZnQ9bGVmdFZhbDtpZihTSEFSRVRISVMuYXV0b1Bvc2l0aW9uPT10cnVl KXtTSEFSRVRISVMub2xkU2Nyb2xsPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO3Zh ciBwZ2luZm89dGhpcy5wYWdlU2l6ZSgpO3ZhciBlZmZlY3RpdmVIPXBnaW5mby5o ZWlnaHQrcGdpbmZvLnNjclk7dmFyIGVmZmVjdGl2ZVc9cGdpbmZvLndpZHRoK3Bn aW5mby5zY3JYO3ZhciB3aWRnZXRIPTI4MDt2YXIgd2lkZ2V0Vz0zNTU7dmFyIG5l ZWRIPXdpZGdldEgrZWxlbUg7dmFyIG5lZWRXPXdpZGdldFcrZWxlbVc7dmFyIGRp ZmZIPW5lZWRILWVmZmVjdGl2ZUg7dmFyIGRpZmZXPW5lZWRXLWVmZmVjdGl2ZVc7 dmFyIG5ld0g9ZWxlbUgtZGlmZkg7dmFyIG5ld1c9ZWxlbVctZGlmZlc7ZnVuY3Rp b24gZ2V0SFcoZWxlbSl7dmFyIHJldEg9MDt2YXIgcmV0Vz0wO3doaWxlKGVsZW0h PW51bGwpe3JldEgrPWVsZW0ub2Zmc2V0VG9wO3JldFcrPWVsZW0ub2Zmc2V0TGVm dDtlbGVtPWVsZW0ub2Zmc2V0UGFyZW50fXJldHVybntoZWlnaHQ6cmV0SCx3aWR0 aDpyZXRXfX12YXIgYnV0dG9uUG9zPWdldEhXKHNoYXJlZWwpO3ZhciBsZWZ0QSxy aWdodEEsdG9wQSxib3R0b21BPWZhbHNlO2lmKGRpZmZIPjApe2JvdHRvbUE9ZmFs c2U7dG9wQT10cnVlO2lmKChidXR0b25Qb3MuaGVpZ2h0LXdpZGdldEgpPjApe25l d0g9YnV0dG9uUG9zLmhlaWdodC13aWRnZXRIfVNIQVJFVEhJUy53cmFwcGVyLnN0 eWxlLnRvcD1uZXdIKyJweCJ9aWYoZGlmZlc+MCl7bGVmdEE9ZmFsc2U7cmlnaHRB PXRydWU7aWYoKGJ1dHRvblBvcy53aWR0aC13aWRnZXRXKT4wKXtuZXdXPWJ1dHRv blBvcy53aWR0aC13aWRnZXRXfVNIQVJFVEhJUy53cmFwcGVyLnN0eWxlLmxlZnQ9 bmV3VysicHgifX1TSEFSRVRISVMud3JhcHBlci5zdHlsZS52aXNpYmlsaXR5PSJ2 aXNpYmxlIjtTSEFSRVRISVMubWFpbnN0ZnJhbWUuc3R5bGUudmlzaWJpbGl0eT0i dmlzaWJsZSJ9LHRoaXMuaGlkZVdpZGdldD1mdW5jdGlvbigpe2lmKFNIQVJFVEhJ Uy53cmFwcGVyLnN0eWxlLnZpc2liaWxpdHkhPT0iaGlkZGVuIil7U0hBUkVUSElT LndyYXBwZXIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn1pZihTSEFSRVRISVMu bWFpbnN0ZnJhbWUuc3R5bGUudmlzaWJpbGl0eSE9PSJoaWRkZW4iKXtTSEFSRVRI SVMubWFpbnN0ZnJhbWUuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIn19LHRoaXMu cGFnZVNpemU9ZnVuY3Rpb24oKXt2YXIgcFNjcm9sbD1bMCwwLDAsMF07dmFyIHNj WD0wO3ZhciBzY1k9MDt2YXIgd2luWD0wO3ZhciB3aW5ZPTA7aWYodHlwZW9mKHdp bmRvdy5wYWdlWU9mZnNldCk9PSJudW1iZXIiKXtzY1g9d2luZG93LnBhZ2VYT2Zm c2V0O3NjWT13aW5kb3cucGFnZVlPZmZzZXR9ZWxzZXtpZihkb2N1bWVudC5ib2R5 JiYoZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0fHxkb2N1bWVudC5ib2R5LnNjcm9s bFRvcCkpe3NjWD1kb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7c2NZPWRvY3VtZW50 LmJvZHkuc2Nyb2xsVG9wfWVsc2V7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50 JiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnR8fGRvY3VtZW50 LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3ApKXtzY1g9ZG9jdW1lbnQuZG9jdW1l bnRFbGVtZW50LnNjcm9sbExlZnQ7c2NZPWRvY3VtZW50LmRvY3VtZW50RWxlbWVu dC5zY3JvbGxUb3B9fX1pZih3aW5kb3cuaW5uZXJXaWR0aCl7d2luWD13aW5kb3cu aW5uZXJXaWR0aDt3aW5ZPXdpbmRvdy5pbm5lckhlaWdodH1lbHNle2lmKGRvY3Vt ZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCl7d2luWD1kb2N1bWVudC5k b2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7d2luWT1kb2N1bWVudC5kb2N1bWVu dEVsZW1lbnQub2Zmc2V0SGVpZ2h0fX1wU2Nyb2xsPXtzY3JYOnNjWCxzY3JZOnNj WSx3aWR0aDp3aW5YLGhlaWdodDp3aW5ZfTtyZXR1cm4gcFNjcm9sbH07dGhpcy5w b3N0UG9wdXA9ZnVuY3Rpb24oKXtmaWVsZD1mdW5jdGlvbihrLHYpe3ZhciBmPWRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Zi50eXBlPSJoaWRkZW4iO2Yu bmFtZT1rO2YudmFsdWU9djtyZXR1cm4gZn07bm9ybWFsaXplPWZ1bmN0aW9uKHMp e2lmKHM9PW51bGwpe3JldHVybiIifXJldHVybiBlbmNvZGVVUklDb21wb25lbnQo cyl9O3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTtmLm1ldGhv ZD0icG9zdCI7Zi5hY3Rpb249U0hBUkVUSElTLnBvc3RVcmw7Zi50YXJnZXQ9InN0 cG9zdGZyYW1lIjt2YXIgdXJscz0iIjt2YXIgcHJvcGVydHlsaXN0PVtdO2Zvcih2 YXIgaT0wO2k8dGhpcy5zaGFyZWFibGVzLmxlbmd0aDtpKyspe3ZhciB0bXBfcHJv cD17fTt2YXIgbz10aGlzLnNoYXJlYWJsZXNbaV07dXJscz11cmxzK28ucHJvcGVy dGllcy51cmw7Zm9yKHAgaW4gby5wcm9wZXJ0aWVzKXtpZihTSEFSRVRISVNfdHN0 T3B0aW9ucyhwKT09dHJ1ZSl7dG1wX3Byb3BbcF09by5wcm9wZXJ0aWVzW3BdfX1w cm9wZXJ0eWxpc3QucHVzaCh0bXBfcHJvcCl9dmFyIGpzb25zdHI9U1RfSlNPTi5l bmNvZGUocHJvcGVydHlsaXN0KTt0aGlzLmd1aWQ9aGFzaF9wYWdlKHVybHMpO2Yu YXBwZW5kQ2hpbGQoZmllbGQoImtleSIsdGhpcy5ndWlkKSk7Zi5hcHBlbmRDaGls ZChmaWVsZCgiZGF0YSIsbm9ybWFsaXplKGpzb25zdHIpKSk7ZG9jdW1lbnQuYm9k eS5hcHBlbmRDaGlsZChmKTtmLnN1Ym1pdCgpfTt0aGlzLmFkZEVudHJ5PWZ1bmN0 aW9uKHByb3BlcnRpZXMsb3B0aW9ucyl7aWYoX3RoaXNTY3JpcHQ9PT1udWxsKXt2 YXIgdG1wU2NyPWdldFNoYXJlVGhpc1NjcmlwdCgpO1NIQVJFVEhJUy5vcHRpb25z PXBhcnNlUXVlcnlTdHJpbmcodG1wU2NyLnNyYyk7dGhpcy5mcmFtZVVybD0iaHR0 cDovL3dkLnNoYXJldGhpcy5jb20vc2hhcmUzeC9saWdodGJveC5hNjAyMTFlZTAw YjVjNTA0MmE4OGM1MjFhNDJhNDE1Yi5odG1sIjt0aGlzLnBvc3RVcmw9Imh0dHA6 Ly93ZC5zaGFyZXRoaXMuY29tL2FwaS9zZXRDYWNoZV93cy5waHAiO2lmKFNIQVJF VEhJUy5vcHRpb25zLmJ1dHRvbil7U0hBUkVUSElTLm9wdGlvbnMuYnV0dG9uPVNI QVJFVEhJUy5nZXRCb29sKFNIQVJFVEhJUy5vcHRpb25zLmJ1dHRvbi50b1N0cmlu ZygpKX1pZihTSEFSRVRISVMub3B0aW9ucy5wb3B1cCl7U0hBUkVUSElTLm9wdGlv bnMucG9wdXA9U0hBUkVUSElTLmdldEJvb2woU0hBUkVUSElTLm9wdGlvbnMucG9w dXAudG9TdHJpbmcoKSl9aWYoU0hBUkVUSElTLm9wdGlvbnMuZW1iZWRzKXtTSEFS RVRISVMub3B0aW9ucy5lbWJlZHM9U0hBUkVUSElTLmdldEJvb2woU0hBUkVUSElT Lm9wdGlvbnMuZW1iZWRzLnRvU3RyaW5nKCkpfXZhciBpbml0PSIjaW5pdCI7U0hB UkVUSElTLm5ld3dpbmZyYWc9IiNwb3B1cCI7Zm9yKHZhciBvIGluIFNIQVJFVEhJ Uy5vcHRpb25zKXtpZihTSEFSRVRISVNfdHN0T3B0aW9ucyhvKT09dHJ1ZSl7aW5p dD1pbml0KyIvIitvKyI9IitlbmNvZGVVUklDb21wb25lbnQob3B0aW9uc1tvXSk7 dGhpcy5uZXd3aW5mcmFnPXRoaXMubmV3d2luZnJhZysiLyIrbysiPSIrZW5jb2Rl VVJJQ29tcG9uZW50KG9wdGlvbnNbb10pfX1TSEFSRVRISVMuaW5pdHN0cj1pbml0 O1NIQVJFVEhJUy5tYWluc3RmcmFtZS5zcmM9U0hBUkVUSElTLmZyYW1lVXJsK1NI QVJFVEhJUy5pbml0c3RyfXZhciBvPW5ldyBTaGFyZWFibGUocHJvcGVydGllcyxT SEFSRVRISVNfbWVyZ2UoU0hBUkVUSElTLm9wdGlvbnMsb3B0aW9ucykpO2lmKHR5 cGVvZihvLnByb3BlcnRpZXMudXJsKT09PSJvYmplY3QiKXt0cnl7by5wcm9wZXJ0 aWVzLnVybD1vLnByb3BlcnRpZXMudXJsLmhyZWZ9Y2F0Y2goZXJyKXt9fWZvcih2 YXIgcHJvcCBpbiBvLnByb3BlcnRpZXMpe3RyeXtvLnByb3BlcnRpZXNbcHJvcF09 by5wcm9wZXJ0aWVzW3Byb3BdLnRvU3RyaW5nKCl9Y2F0Y2goZXJyKXt9fXZhciB4 SW50PSIiO3ZhciB4SW50Mj0iIjt2YXIgc2VuZERhdGFJbnQ9IiI7dmFyIHNlbmRQ b3B1cERhdGFJbnQ9IiI7aWYodGhpcy5tZXRhLnB1Ymxpc2hlcj09IjVhZmVhOTgz LWU0NDktNGE3NS1hNDY0LTNjOWE3ZjZjNmUzNyJ8fHRoaXMubWV0YS5wdWJsaXNo ZXI9PSJlMWUwZWE1YS1hMzI2LTQ3MzEtYjFkMS1mMjE2MjMwNDM1MTEifHx0aGlz Lm1ldGEucHVibGlzaGVyPT0iY2NkMmExNTgtNmNjZS00YmJjLWFmYTgtMWQyZGM2 MmZlODRjInx8dGhpcy5tZXRhLnB1Ymxpc2hlcj09IjFlNTQyZDZmLTU0NmYtNGQ4 NS1hNzkwLWJiYWYzMzMxNTViNyJ8fHRoaXMubWV0YS5wdWJsaXNoZXI9PSI5ZDFh NjVhZC00NWYxLTQyNTktYTZlNC00MWE5YjQyZDgzN2MifHx0aGlzLm1ldGEucHVi bGlzaGVyPT0iNWFmZWE5ODMtZTQ0OS00YTc1LWE0NjQtM2M5YTdmNmM2ZTM3Inx8 dGhpcy5tZXRhLnB1Ymxpc2hlcj09Ijg5ODc5MTc3LTUxYmYtNGNmMC05MWM5LTYz MjZkMDYyZDVlNiJ8fHRoaXMubWV0YS5wdWJsaXNoZXI9PSI0NGI2YjhhNC1jOGRm LTRiZDAtOGQ4ZC1lNmFkMjdlYzYzZjQiKXtvLm9wdGlvbnMub25tb3VzZW92ZXI9 ZmFsc2V9aWYoU0hBUkVUSElTLm9wdGlvbnMub25tb3VzZW92ZXIpe2lmKFNIQVJF VEhJUy5vcHRpb25zLm9ubW91c2VvdmVyPT0idHJ1ZSIpe28ub3B0aW9ucy5vbm1v dXNlb3Zlcj10cnVlfWVsc2V7aWYoU0hBUkVUSElTLm9wdGlvbnMub25tb3VzZW92 ZXI9PSJmYWxzZSIpe28ub3B0aW9ucy5vbm1vdXNlb3Zlcj1mYWxzZX19fWlmKG8u b3B0aW9ucy5wb3B1cCl7by5vcHRpb25zLm9ubW91c2VvdmVyPWZhbHNlO1NIQVJF VEhJUy5wb3B1cEV4aXN0cz10cnVlfWVsc2V7aWYoU0hBUkVUSElTX1RPT0xCQVIh PT10cnVlKXtTSEFSRVRISVMud2lkZ2V0RXhpc3RzPXRydWV9fW8uaWR4PXRoaXMu c2hhcmVhYmxlcy5wdXNoKG8pLTE7dmFyIGlkPSJzaGFyZXRoaXNfIitvLmlkeDt2 YXIgb2lkeD1vLmlkeDtpZihvLnByb3BlcnRpZXMudXJsIT09dGhpcy5sYXN0VXJs KXt0aGlzLmxhc3RVcmw9by5wcm9wZXJ0aWVzLnVybH1lbHNle1NIQVJFVEhJUy5s b2dGbGFnPWZhbHNlfW8uY2hpY2tsZXQ9ZnVuY3Rpb24oZSl7aWYoIWUpe3ZhciBl PXdpbmRvdy5ldmVudH1pZihlLnRhcmdldCl7by50cmlnZ2VyPWUudGFyZ2V0fWVs c2V7aWYoZS5zcmNFbGVtZW50KXtvLnRyaWdnZXI9ZS5zcmNFbGVtZW50fX12YXIg ZGVzdD1vLnRyaWdnZXIuZ2V0QXR0cmlidXRlKCJzdF9kZXN0Iik7dmFyIGxvZ2dl clVybD0iaHR0cDovL2wuc2hhcmV0aGlzLmNvbS9sb2c/ZXZlbnQ9Y2xpY2smc291 cmNlPWNoaWNrbGV0JnB1Ymxpc2hlcj0iK2VuY29kZVVSSUNvbXBvbmVudChTSEFS RVRISVMub3B0aW9ucy5wdWJsaXNoZXIpKyImaG9zdG5hbWU9IitlbmNvZGVVUklD b21wb25lbnQoU0hBUkVUSElTLm1ldGEuaG9zdG5hbWUpKyImbG9jYXRpb249Iitl bmNvZGVVUklDb21wb25lbnQoU0hBUkVUSElTLm1ldGEubG9jYXRpb24pKyImZGVz dGluYXRpb25zPSIrZGVzdCsiJnRzIisobmV3IERhdGUoKSkuZ2V0VGltZSgpKyIm dGl0bGU9IitlbmNvZGVVUklDb21wb25lbnQoby5wcm9wZXJ0aWVzLnRpdGxlKSsi JnVybD0iK2VuY29kZVVSSUNvbXBvbmVudChvLnByb3BlcnRpZXMudXJsKSsiJnNl c3Npb25JRD0iK1NIQVJFVEhJUy5vcHRpb25zLnNlc3Npb25JRCsiJmZwYz0iK1NI QVJFVEhJUy5vcHRpb25zLmZwYzt2YXIgbG9nZ2VyPW5ldyBJbWFnZSgxLDEpO2xv Z2dlci5zcmM9bG9nZ2VyVXJsO2xvZ2dlci5vbmxvYWQ9ZnVuY3Rpb24oKXtyZXR1 cm59O3ZhciB1cmw9Imh0dHA6Ly93ZC5zaGFyZXRoaXMuY29tL2J1dHRvbi9yZWRp cmVjdC5waHAiO3VybCs9Ij9kPSIrZGVzdDt1cmwrPSImcGs9IitTSEFSRVRISVMu b3B0aW9ucy5wdWJsaXNoZXI7dXJsKz0iJnM9IitTSEFSRVRISVMub3B0aW9ucy5z ZXNzaW9uSUQ7dXJsKz0iJnA9IitlbmNvZGVVUklDb21wb25lbnQoU1RfSlNPTi5l bmNvZGUoby5wcm9wZXJ0aWVzKSk7d2luZG93Lm9wZW4odXJsLCJzdHBvcHVwIiwi d2lkdGg9OTcwLGhlaWdodD03MDAsbG9jYXRpb249MSx0b29sYmFyPTEsc2Nyb2xs YmFycz0xLG1lbnViYXI9MSxyZXNpemFibGU9MSIpfTtvLnBvcHVwPWZ1bmN0aW9u KGUpe3N0Q2FuY2VsQ2xvc2UoKTtvLm9wdGlvbnMuYXV0b2Nsb3NlPXRydWU7U0hB UkVUSElTLnBvc3RFbnRyaWVzKG8pO2lmKFNIQVJFVEhJU19UT09MQkFSPT09dHJ1 ZSl7aWYoc3Rfc2hvd2luZz09PWZhbHNlKXtTSEFSRVRISVMubG9nKCJ3aWRnZXQi LG8sInRvb2xiYXIiKX1zdF9zaG93aW5nPXRydWU7Y2xlYXJJbnRlcnZhbChzdFZp c2libGVJbnRlcnZhbCk7YWRkZWRfdG9vbD0iL2dsb190b29sYmFyPXRydWUiO1NI QVJFVEhJUy5oaWRlRW1iZWRzKCk7dmFyIHBndmFsPSIiO2lmKFNIQVJFVEhJUy5w YWdlIT1udWxsKXtwZ3ZhbD0iL3BhZ2U9IitTSEFSRVRISVMucGFnZX1TSEFSRVRI SVMubWFpbnN0ZnJhbWUuc3JjPVNIQVJFVEhJUy5mcmFtZVVybCtTSEFSRVRISVMu bmV3d2luZnJhZysiL2d1aWRfaW5kZXg9MC9ndWlkPSIrU0hBUkVUSElTLmd1aWQr YWRkZWRfdG9vbCtwZ3ZhbDtTSEFSRVRISVMud3JhcHBlci5zdHlsZS52aXNpYmls aXR5PSJ2aXNpYmxlIjtTSEFSRVRISVMubWFpbnN0ZnJhbWUuc3R5bGUudmlzaWJp bGl0eT0idmlzaWJsZSJ9ZWxzZXtpZigoU0hBUkVUSElTLnJlYWR5PT09dHJ1ZSYm U0hBUkVUSElTLmZyYW1lUmVhZHk9PT10cnVlKXx8KFNIQVJFVEhJUy5wb3B1cEV4 aXN0cz09PXRydWUmJlNIQVJFVEhJUy5yZWFkeT09dHJ1ZSYmU0hBUkVUSElTLndp ZGdldEV4aXN0cz09PWZhbHNlKXx8KFNIQVJFVEhJUy5wb3B1cEV4aXN0cz09PXRy dWUmJlNIQVJFVEhJUy5yZWFkeT09dHJ1ZSYmU0hBUkVUSElTLmZyYW1lUmVhZHk9 PT10cnVlKSl7Y2xlYXJJbnRlcnZhbChzdFZpc2libGVJbnRlcnZhbCk7aWYoKHR5 cGVvZihlKSE9InVuZGVmaW5lZCImJnR5cGVvZihlKSE9InVua25vd24iJiZlKXx8 KHR5cGVvZihldmVudCkhPSJ1bmRlZmluZWQiJiZ0eXBlb2YoZXZlbnQpIT0idW5r bm93biImJmV2ZW50KSl7aWYodHlwZW9mKGUpIT0idW5kZWZpbmVkIiYmdHlwZW9m KGUpIT0idW5rbm93biImJmUpe28udHJpZ2dlcj1lLnRhcmdldH1lbHNle2lmKHR5 cGVvZihldmVudCkhPSJ1bmRlZmluZWQiJiZ0eXBlb2YoZXZlbnQpIT0idW5rbm93 biImJmV2ZW50KXtvLnRyaWdnZXI9ZXZlbnQuc3JjRWxlbWVudH19aWYoby50cmln Z2VyIT09bnVsbCYmby50cmlnZ2VyKXtpZD1vLnRyaWdnZXIuaWQ7U0hBUkVUSElT LmN1cnJlbnRfZWxlbWVudD1vLnRyaWdnZXI7by5wYWdlPW8udHJpZ2dlci5nZXRB dHRyaWJ1dGUoInN0X3BhZ2UiKTtpZihzdF9zaG93aW5nPT09ZmFsc2Upe2lmKG8u cGFnZT09ImhvbWUiKXtTSEFSRVRISVMubG9nKCJ3aWRnZXQiLG8sImJ1dHRvbiIp fWVsc2V7U0hBUkVUSElTLmxvZygid2lkZ2V0IixvLCJjaGlja2xldCIpfX19ZWxz ZXtvLnBhZ2U9ImhvbWUiO2lmKHN0X3Nob3dpbmc9PT1mYWxzZSl7U0hBUkVUSElT LmxvZygid2lkZ2V0IixvLCJidXR0b24iKX19fWVsc2V7aWYoby5lbGVtZW50IT1u dWxsKXtpZD1vLmVsZW1lbnQuaWQ7U0hBUkVUSElTLmN1cnJlbnRfZWxlbWVudD1v LmVsZW1lbnR9by5wYWdlPSJob21lIjtpZihzdF9zaG93aW5nPT09ZmFsc2Upe1NI QVJFVEhJUy5sb2coIndpZGdldCIsbywiYnV0dG9uIil9fXZhciBwYWdlRnJhZz0i L3BhZ2U9IitvLnBhZ2U7U0hBUkVUSElTLmN1cnJfb2Zmc2V0VG9wPU51bWJlcihv Lm9wdGlvbnMub2Zmc2V0VG9wKTtTSEFSRVRISVMuY3Vycl9vZmZzZXRMZWZ0PU51 bWJlcihvLm9wdGlvbnMub2Zmc2V0TGVmdCk7aWYoU0hBUkVUSElTLmN1cnJfb2Zm c2V0VG9wPjB8fFNIQVJFVEhJUy5jdXJyX29mZnNldFRvcD4wKXtTSEFSRVRISVMu YXV0b1Bvc2l0aW9uPWZhbHNlfVNIQVJFVEhJUy5jdXJyX2lkPWlkO2lmKG8ub3B0 aW9ucy5vbmNsaWNrKXt2YXIgcmVzPW8ub3B0aW9ucy5vbmNsaWNrLmFwcGx5KGRv Y3VtZW50LFtvXSk7aWYocmVzPT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihvLm9w dGlvbnMucG9wdXApe3ZhciBuZXd3aW51cmw9U0hBUkVUSElTLmZyYW1lVXJsK1NI QVJFVEhJUy5uZXd3aW5mcmFnKyIvZ3VpZF9pbmRleD0wL2d1aWQ9IitTSEFSRVRI SVMuZ3VpZCtwYWdlRnJhZzt3aW5kb3cub3BlbihuZXd3aW51cmwsIm5ld3N0ZnJh bWUiLCJzdGF0dXM9MSx0b29sYmFyPTAsd2lkdGg9MzUzLGhlaWdodD01OTgiKX1l bHNle2lmKHN0X3Nob3dpbmc9PWZhbHNlKXtpZihvLm9wdGlvbnMuZW1iZWRzPT1m YWxzZSl7U0hBUkVUSElTLmhpZGVFbWJlZHMoKX1zdGF1dG9jbG9zZT1vLm9wdGlv bnMuYXV0b2Nsb3NlO2lmKFNIQVJFVEhJUy5zZW5kTnVtPFNIQVJFVEhJUy5zZW5k QXJyYXkubGVuZ3RoKXt2YXIgdGVtcGFycj1bXTtTSEFSRVRISVMuc2VuZEFycmF5 LnB1c2goIiNzaG93L2d1aWRfaW5kZXg9MCIrcGFnZUZyYWcpO2lmKFNIQVJFVEhJ Uy5kZWxheVNob3c9PT10cnVlKXtzZW5kRGF0YUludD1zZXRUaW1lb3V0KFNIQVJF VEhJUy5zZW5kRGF0YSwxMDAwKX1lbHNle3NlbmREYXRhSW50PXNldFRpbWVvdXQo U0hBUkVUSElTLnNlbmREYXRhLDIwKX19ZWxzZXt3aW5kb3cuZnJhbWVzLnN0ZnJh bWUubG9jYXRpb24ucmVwbGFjZShTSEFSRVRISVMuZnJhbWVVcmwrIiNzaG93L2d1 aWRfaW5kZXg9MCIrcGFnZUZyYWcpO2lmKFNIQVJFVEhJUy5kZWxheVNob3c9PT10 cnVlKXtzZW5kRGF0YUludD1zZXRUaW1lb3V0KFNIQVJFVEhJUy5zZW5kRGF0YSwx MDAwKX1lbHNle3NlbmREYXRhSW50PXNldFRpbWVvdXQoU0hBUkVUSElTLnNlbmRE YXRhLDIwKX19U0hBUkVUSElTLnBvc2l0aW9uV2lkZ2V0KCk7c3Rfc2hvd2luZz10 cnVlfWVsc2V7aWYoby5vcHRpb25zLm9ubW91c2VvdmVyPT1mYWxzZXx8by5vcHRp b25zLm9ubW91c2VvdmVyPT0iZmFsc2UiKXtzdGNsb3NlV2lkZ2V0KCl9fX19ZWxz ZXtTSEFSRVRISVMuc3RfY2xpY2tlZD10cnVlO1NIQVJFVEhJUy5kZWxheVNob3c9 dHJ1ZTtTSEFSRVRISVMuc3RfY2xpY2tlZF9vPW99fX07dmFyIHN0eWxlPW8ub3B0 aW9ucy5zdHlsZT9vLm9wdGlvbnMuc3R5bGU6KFNIQVJFVEhJUy5vcHRpb25zLnN0 eWxlP1NIQVJFVEhJUy5vcHRpb25zLnN0eWxlOiJkZWZhdWx0Iik7c3dpdGNoKHN0 eWxlKXtjYXNlInZlcnRpY2FsIjp2YXIgb3ZyPWRvY3VtZW50LmNyZWF0ZUVsZW1l bnQoImRpdiIpO292ci5jbGFzc05hbWU9InN0b3ZlcmxheSI7by5idXR0b249b3Zy O3ZhciBpbWc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7aW1nLnNldEF0 dHJpYnV0ZSgic3JjIiwiaHR0cDovL3cuc2hhcmV0aGlzLmNvbS9pbWFnZXMvdmJ1 dHRvbi5naWYiKTtpZihvLm9wdGlvbnMub25tb3VzZW92ZXI9PWZhbHNlfHxvLm9w dGlvbnMub25tb3VzZW92ZXI9PSJmYWxzZSIpe292ci5vbmNsaWNrPW8ucG9wdXB9 aWYoby5vcHRpb25zLm9ubW91c2VvdmVyPT10cnVlfHxvLm9wdGlvbnMub25tb3Vz ZW92ZXI9PSJ0cnVlIil7b3ZyLm9uY2xpY2s9ZnVuY3Rpb24oKXtzdENhbmNlbENs b3NlKCl9O292ci5vbm1vdXNlb3Zlcj1mdW5jdGlvbigpe3N0Q2FuY2VsQ2xvc2Uo KTtTSEFSRVRISVMubW91c2V0aW1lcj1zZXRUaW1lb3V0KG8ucG9wdXAsMTUwKX07 b3ZyLm9ubW91c2VvdXQ9ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKFNIQVJFVEhJ Uy5tb3VzZXRpbWVyKTtzdENsb3NlKCl9fXRyeXtpZihvLm9wdGlvbnMuYnV0dG9u PT10cnVlJiZTSEFSRVRISVMuYm9keUxvYWRlZD09ZmFsc2Upe2RvY3VtZW50Lndy aXRlKCc8ZGl2IGNsYXNzPSJzdGJ1dHRvbiB2ZXJ0aWNhbCIgaWQ9IicraWQrJyI+ PC9kaXY+Jyl9fWNhdGNoKGVycil7fXZhciB4PWRvY3VtZW50LmdldEVsZW1lbnRC eUlkKGlkKTtpZih4KXtpZihvLm9wdGlvbnMuYnV0dG9uKXt4LmFwcGVuZENoaWxk KG92cik7eC5hcHBlbmRDaGlsZChpbWcpfX1icmVhaztjYXNlImhvcml6b250YWwi OmNhc2UidmVydGljYWwiOnZhciBvdnI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi ZGl2Iik7b3ZyLmNsYXNzTmFtZT0ic3RvdmVybGF5IjtvLmJ1dHRvbj1vdnI7dmFy IGltZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtpbWcuc2V0QXR0cmli dXRlKCJzcmMiLCJodHRwOi8vdy5zaGFyZXRoaXMuY29tL2ltYWdlcy9oYnV0dG9u LmdpZiIpO2lmKG8ub3B0aW9ucy5vbm1vdXNlb3Zlcj09ZmFsc2V8fG8ub3B0aW9u cy5vbm1vdXNlb3Zlcj09ImZhbHNlIil7b3ZyLm9uY2xpY2s9by5wb3B1cH1pZihv Lm9wdGlvbnMub25tb3VzZW92ZXI9PXRydWV8fG8ub3B0aW9ucy5vbm1vdXNlb3Zl cj09InRydWUiKXtvdnIub25jbGljaz1mdW5jdGlvbigpe3N0Q2FuY2VsQ2xvc2Uo KX07b3ZyLm9ubW91c2VvdmVyPWZ1bmN0aW9uKCl7c3RDYW5jZWxDbG9zZSgpO1NI QVJFVEhJUy5tb3VzZXRpbWVyPXNldFRpbWVvdXQoby5wb3B1cCwxNTApfTtvdnIu b25tb3VzZW91dD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoU0hBUkVUSElTLm1v dXNldGltZXIpO3N0Q2xvc2UoKX19dHJ5e2lmKG8ub3B0aW9ucy5idXR0b249PXRy dWUmJlNIQVJFVEhJUy5ib2R5TG9hZGVkPT1mYWxzZSl7ZG9jdW1lbnQud3JpdGUo JzxkaXYgY2xhc3M9InN0YnV0dG9uIGhvcml6b250YWwiIGlkPSInK2lkKyciPjwv ZGl2PicpfX1jYXRjaChlcnIpe312YXIgeD1kb2N1bWVudC5nZXRFbGVtZW50QnlJ ZChpZCk7aWYoeCl7aWYoby5vcHRpb25zLmJ1dHRvbil7eC5hcHBlbmRDaGlsZChv dnIpO3guYXBwZW5kQ2hpbGQoaW1nKX19YnJlYWs7ZGVmYXVsdDp2YXIgYT1kb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5jbGFzc05hbWU9InN0YnV0dG9uIHN0 aWNvXyIrKG8ub3B0aW9ucy5zdHlsZT9vLm9wdGlvbnMuc3R5bGU6KFNIQVJFVEhJ Uy5vcHRpb25zLnN0eWxlP1NIQVJFVEhJUy5vcHRpb25zLnN0eWxlOiJkZWZhdWx0 IikpO2EudGl0bGU9IlNoYXJlVGhpcyB2aWEgZW1haWwsIEFJTSwgc29jaWFsIGJv b2ttYXJraW5nIGFuZCBuZXR3b3JraW5nIHNpdGVzLCBldGMuIjthLmhyZWY9Imph dmFzY3JpcHQ6dm9pZCgwKSI7YS5zZXRBdHRyaWJ1dGUoInN0X3BhZ2UiLCJob21l Iik7aWYoby5vcHRpb25zLm9ubW91c2VvdmVyPT1mYWxzZXx8by5vcHRpb25zLm9u bW91c2VvdmVyPT0iZmFsc2UiKXthLm9uY2xpY2s9by5wb3B1cH1pZihvLm9wdGlv bnMub25tb3VzZW92ZXI9PXRydWV8fG8ub3B0aW9ucy5vbm1vdXNlb3Zlcj09InRy dWUiKXthLm9uY2xpY2s9ZnVuY3Rpb24oKXtzdENhbmNlbENsb3NlKCl9O2Eub25t b3VzZW92ZXI9ZnVuY3Rpb24oKXtzdENhbmNlbENsb3NlKCk7U0hBUkVUSElTLm1v dXNldGltZXI9c2V0VGltZW91dChvLnBvcHVwLDE1MCl9O2Eub25tb3VzZW91dD1m dW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoU0hBUkVUSElTLm1vdXNldGltZXIpO3N0 Q2xvc2UoKX19dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3Qu Y2xhc3NOYW1lPSJzdGJ1dHRvbnRleHQiO3Quc2V0QXR0cmlidXRlKCJzdF9wYWdl IiwiaG9tZSIpO3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo by5vcHRpb25zLmJ1dHRvblRleHQpKTthLmFwcGVuZENoaWxkKHQpO28uYnV0dG9u PWE7dHJ5e2lmKG8ub3B0aW9ucy5idXR0b249PXRydWUmJlNIQVJFVEhJUy5ib2R5 TG9hZGVkPT1mYWxzZSl7ZG9jdW1lbnQud3JpdGUoJzxzcGFuIGlkPSInK2lkKyci Pjwvc3Bhbj4nKX19Y2F0Y2goZXJyKXt9dmFyIHg9ZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoaWQpO2lmKHgpe2lmKG8ub3B0aW9ucy5idXR0b24pe3guYXBwZW5kQ2hp bGQoYSl9fX1pZihTSEFSRVRISVMubG9nRmxhZyl7U0hBUkVUSElTLmJ1dHRvbkNv dW50Kyt9cmV0dXJuIG99LHRoaXMucG9zdEVudHJpZXM9ZnVuY3Rpb24obyl7U0hB UkVUSElTLnNlbmROdW09MDt2YXIgdXJscz0iIjt2YXIgcHJvcGVydHlsaXN0PVtd O3ZhciB0bXBfcHJvcD17fTt1cmxzPXVybHMrby5wcm9wZXJ0aWVzLnVybDtmb3Io cCBpbiBvLnByb3BlcnRpZXMpe2lmKFNIQVJFVEhJU190c3RPcHRpb25zKHApPT10 cnVlKXt0bXBfcHJvcFtwXT1udWxsO3RtcF9wcm9wW3BdPW8ucHJvcGVydGllc1tw XX19cHJvcGVydHlsaXN0LnB1c2godG1wX3Byb3ApO3ZhciB0bXA9Ii9wYWdlVGl0 bGU9IitlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KGRvY3Vt ZW50LnRpdGxlKSkrIi9wYWdlVVJMPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVuY29k ZVVSSUNvbXBvbmVudChkb2N1bWVudC5VUkwpKSsiL3BhZ2VIb3N0PSIrZW5jb2Rl VVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5sb2NhdGlv bi5ob3N0KSkrIi9wYWdlUGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudChlbmNvZGVV UklDb21wb25lbnQoZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUpKTtTSEFSRVRI SVMuc2VuZEFycmF5LnB1c2goIiNkYXRhIit0bXApO3ZhciBqc29uc3RyPVNUX0pT T04uZW5jb2RlKHByb3BlcnR5bGlzdCk7dmFyIHRtcD1lbmNvZGVVUklDb21wb25l bnQoanNvbnN0cik7dmFyIGI9dG1wLmxlbmd0aDt2YXIgYT0xNzAwO3ZhciBjPXBh cnNlSW50KGIvYSk7Yz1jKzE7dmFyIGQ9YiVhO3ZhciBzZW5kQXJyPVtdO3ZhciB0 bXBTZW5kPSIiO2Zvcih2YXIgaT0wO2k8YztpKyspe3NlbmRBcnIucHVzaCh0bXAu c3Vic3RyaW5nKGkqYSwoaSphKSthKSl9Zm9yKHZhciBpPTA7aTxzZW5kQXJyLmxl bmd0aDtpKyspe3RtcFNlbmQ9IiNkYXRhL2pzb25EYXRhPSIrZW5jb2RlVVJJQ29t cG9uZW50KHNlbmRBcnJbaV0pO1NIQVJFVEhJUy5zZW5kQXJyYXkucHVzaCh0bXBT ZW5kKX1TSEFSRVRISVMuc2VuZEFycmF5LnB1c2goIiNkYXRhL2pzb25EYXRhPWRv bmUiKX0sdGhpcy5zZW5kRGF0YT1mdW5jdGlvbigpe3hJbnQ9c2V0SW50ZXJ2YWwo U0hBUkVUSElTLnNlbmRKU09OLDUwKX0sdGhpcy5zZW5kSlNPTj1mdW5jdGlvbigp e2lmKFNIQVJFVEhJUy5zZW5kTnVtPFNIQVJFVEhJUy5zZW5kQXJyYXkubGVuZ3Ro KXt3aW5kb3cuZnJhbWVzLnN0ZnJhbWUubG9jYXRpb24ucmVwbGFjZShTSEFSRVRI SVMuZnJhbWVVcmwrU0hBUkVUSElTLnNlbmRBcnJheVtTSEFSRVRISVMuc2VuZE51 bV0pfWVsc2V7Y2xlYXJJbnRlcnZhbCh4SW50KX1TSEFSRVRISVMuc2VuZE51bSsr fSx0aGlzLmRlZmVyPWZ1bmN0aW9uKGYpe2lmKHRoaXMucmVhZHkpe2YuYXBwbHko ZG9jdW1lbnQsW1NIQVJFVEhJU10pfWVsc2V7dGhpcy5yZWFkeUxpc3QucHVzaChm dW5jdGlvbigpe3JldHVybiBmLmFwcGx5KHRoaXMsW1NIQVJFVEhJU10pfSl9fSx0 aGlzLm9uUmVhZHk9ZnVuY3Rpb24oKXtTSEFSRVRISVMucmVhZHk9dHJ1ZTtmb3Io dmFyIGk9MDtpPFNIQVJFVEhJUy5yZWFkeUxpc3QubGVuZ3RoOysraSl7U0hBUkVU SElTLnJlYWR5TGlzdFtpXS5hcHBseShkb2N1bWVudCxbU0hBUkVUSElTXSl9fSx0 aGlzLmxvYWQ9ZnVuY3Rpb24odCxvcHRzKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVF bGVtZW50KHQpO2Zvcih2YXIgaSBpbiBvcHRzKXtlLnNldEF0dHJpYnV0ZShpLG9w dHNbaV0pfXRyeXtkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIp WzBdLmFwcGVuZENoaWxkKGUpfWNhdGNoKGVycil7ZG9jdW1lbnQuYm9keS5hcHBl bmRDaGlsZChlKX19LHRoaXMuaGlkZUVtYmVkcz1mdW5jdGlvbigpe3ZhciBlbWJl ZHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIik7Zm9yKHZh ciBpPTA7aTxlbWJlZHMubGVuZ3RoO2krKyl7ZW1iZWRzW2ldLnN0eWxlLnZpc2li aWxpdHk9ImhpZGRlbiJ9fSx0aGlzLnNob3dFbWJlZHM9ZnVuY3Rpb24oKXt2YXIg ZW1iZWRzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJlbWJlZCIpO2Zv cih2YXIgaT0wO2k8ZW1iZWRzLmxlbmd0aDtpKyspe2VtYmVkc1tpXS5zdHlsZS52 aXNpYmlsaXR5PSJ2aXNpYmxlIn19LHRoaXMubG9nPWZ1bmN0aW9uKGV2ZW50LG9i aixzb3VyY2Upe3ZhciBsdXJsPSJodHRwOi8vbC5zaGFyZXRoaXMuY29tL2xvZz9l dmVudD0iO2lmKGV2ZW50PT0icHZpZXciKXtsdXJsPSJodHRwOi8vbC5zaGFyZXRo aXMuY29tL3B2aWV3P2V2ZW50PSJ9dmFyIGFkZGl0aW9uYWw9ZGJySW5mbygpO2lm KGFkZGl0aW9uYWw9PWZhbHNlKXthZGRpdGlvbmFsPSIifWx1cmwrPWV2ZW50O2lm KHNvdXJjZSE9bnVsbCl7bHVybCs9IiZzb3VyY2U9Iitzb3VyY2V9bHVybCs9IiZw dWJsaXNoZXI9IitlbmNvZGVVUklDb21wb25lbnQoU0hBUkVUSElTLm1ldGEucHVi bGlzaGVyKSsiJmhvc3RuYW1lPSIrZW5jb2RlVVJJQ29tcG9uZW50KFNIQVJFVEhJ Uy5tZXRhLmhvc3RuYW1lKSsiJmxvY2F0aW9uPSIrZW5jb2RlVVJJQ29tcG9uZW50 KFNIQVJFVEhJUy5tZXRhLmxvY2F0aW9uKSsiJnVybD0iK2VuY29kZVVSSUNvbXBv bmVudChkb2N1bWVudC5sb2NhdGlvbi5ocmVmKSsiJnNlc3Npb25JRD0iK1NIQVJF VEhJUy5zZXNzaW9uSUQrIiZmcGM9IitTSEFSRVRISVMuZnBjKyImdHMiKyhuZXcg RGF0ZSgpKS5nZXRUaW1lKCkrIi4iK1NIQVJFVEhJUy5jb3VudGVyKysrIiZyX3Nl c3Npb25JRD0maGFzaF9mbGFnPSZzaHI9JmNvdW50PSIrU0hBUkVUSElTLmJ1dHRv bkNvdW50K2FkZGl0aW9uYWw7dmFyIGxvZ2dlcjI9bmV3IEltYWdlKDEsMSk7bG9n Z2VyMi5zcmM9bHVybDtsb2dnZXIyLm9ubG9hZD1mdW5jdGlvbigpe3JldHVybn19 LHRoaXMuZ2V0Qm9vbD1mdW5jdGlvbih2YXJpYWJsZSl7dmFyIHZ0eXBlO3ZhciB0 b1JldHVybjtpZih2YXJpYWJsZSE9bnVsbCl7c3dpdGNoKHR5cGVvZih2YXJpYWJs ZSkpe2Nhc2UiYm9vbGVhbiI6dnR5cGU9ImJvb2xlYW4iO3JldHVybiB2YXJpYWJs ZTticmVhaztjYXNlIm51bWJlciI6dnR5cGU9Im51bWJlciI7aWYodmFyaWFibGU9 PTApe3RvUmV0dXJuPWZhbHNlfWVsc2V7dG9SZXR1cm49dHJ1ZX1icmVhaztjYXNl InN0cmluZyI6dnR5cGU9InN0cmluZyI7aWYodmFyaWFibGU9PSJ0cnVlInx8dmFy aWFibGU9PSIxIil7dG9SZXR1cm49dHJ1ZX1lbHNle2lmKHZhcmlhYmxlPT0iZmFs c2UifHx2YXJpYWJsZT09IjAiKXt0b1JldHVybj1mYWxzZX1lbHNle2lmKHZhcmlh YmxlLmxlbmd0aD4wKXt0b1JldHVybj10cnVlfWVsc2V7aWYodmFyaWFibGUubGVu Z3RoPT0wKXt0b1JldHVybj1mYWxzZX19fX1icmVha31yZXR1cm4gdG9SZXR1cm59 fSx0aGlzLm9uU3RGcmFtZUxvYWQ9ZnVuY3Rpb24oKXtpZihTSEFSRVRISVMuZnJh bWVMb2FkZWQ9PT1mYWxzZSl7U0hBUkVUSElTLndpZGdldENhbGxlZD10cnVlO1NI QVJFVEhJUy5mcmFtZUxvYWRlZD10cnVlO2lmKFNIQVJFVEhJUy5zdF9jbGlja2Vk PT10cnVlKXtzZXRUaW1lb3V0KCJTSEFSRVRISVMuc3RfY2xpY2tlZF9vLnBvcHVw KCkiLDEwMDApfX19O3RoaXMucmVhZHlUZXN0PWZ1bmN0aW9uKCl7aWYoU0hBUkVU SElTLmZyYW1lUmVhZHk9PT10cnVlJiZTSEFSRVRISVMucmVhZHk9PT10cnVlKXtj bGVhckludGVydmFsKFNIQVJFVEhJUy5yZWFkeVRlc3RJbnRlcnZhbCk7U0hBUkVU SElTLm9uU3RGcmFtZUxvYWQoKX19O3RoaXMuc2VuZEV2ZW50PWZ1bmN0aW9uKG5h bWUsdmFsdWUpe3ZhciB0bXBTZW5kPSIjd2lkZ2V0LyIrbmFtZSsiPSIrdmFsdWU7 d2luZG93LmZyYW1lcy5zdGZyYW1lLmxvY2F0aW9uLnJlcGxhY2UoU0hBUkVUSElT LmZyYW1lVXJsK3RtcFNlbmQpfTt0aGlzLmluaXRpYWxpemU9ZnVuY3Rpb24ob3B0 aW9ucyl7Zm9yKG8gaW4gb3B0aW9ucyl7b3B0aW9uc1tvXT1vcHRpb25zW29dLnRv U3RyaW5nKCl9aWYoX3RoaXNTY3JpcHQ9PW51bGwpe3ZhciBfc2xpc3Q9ZG9jdW1l bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO3ZhciBfdGhpc1Njcmlw dDM9X3NsaXN0W19zbGlzdC5sZW5ndGgtMV07dmFyIFNUX3NjcmlwdF9zcmM9X3Ro aXNTY3JpcHQzLnNyY31lbHNle3ZhciBTVF9zY3JpcHRfc3JjPV90aGlzU2NyaXB0 LnNyY310aGlzLmZyYW1lVXJsPSJodHRwOi8vd2Quc2hhcmV0aGlzLmNvbS9zaGFy ZTN4L2xpZ2h0Ym94LmE2MDIxMWVlMDBiNWM1MDQyYTg4YzUyMWE0MmE0MTViLmh0 bWwiO3RoaXMucG9zdFVybD0iaHR0cDovL3dkLnNoYXJldGhpcy5jb20vYXBpL3Nl dENhY2hlX3dzLnBocCI7dGhpcy5vcHRpb25zPW9wdGlvbnN8fHt9O2lmKHRoaXMu b3B0aW9ucy5idXR0b24pe3RoaXMub3B0aW9ucy5idXR0b249dGhpcy5nZXRCb29s KHRoaXMub3B0aW9ucy5idXR0b24udG9TdHJpbmcoKSl9aWYodGhpcy5vcHRpb25z LnBvcHVwKXt0aGlzLm9wdGlvbnMucG9wdXA9dGhpcy5nZXRCb29sKHRoaXMub3B0 aW9ucy5wb3B1cC50b1N0cmluZygpKX1pZih0aGlzLm9wdGlvbnMuZW1iZWRzKXt0 aGlzLm9wdGlvbnMuZW1iZWRzPXRoaXMuZ2V0Qm9vbCh0aGlzLm9wdGlvbnMuZW1i ZWRzLnRvU3RyaW5nKCkpfWlmKHRoaXMub3B0aW9ucy5wdWJsaXNoZXIpe3RoaXMu bWV0YS5wdWJsaXNoZXI9dGhpcy5vcHRpb25zLnB1Ymxpc2hlcn12YXIgdG1wX2Nz cz0iaHR0cDovL3cuc2hhcmV0aGlzLmNvbS9idXR0b24vY3NzL3NoYXJldGhpcy5m NjQxNDRkZWEwYWM5OWY3YmNmYjMxZmMyYWExZmUzNy5jc3MiO3RyeXtpZih0aGlz Lm9wdGlvbnMuY3NzKXt0bXBfY3NzPXRoaXMub3B0aW9ucy5jc3MudG9TdHJpbmco KX19Y2F0Y2goZXJyKXt9dmFyIGNzcz10bXBfY3NzO3RoaXMubG9hZCgibGluayIs e2hyZWY6KHRoaXMub3B0aW9ucy5jc3M/dGhpcy5vcHRpb25zLmNzczpjc3MpLHJl bDoic3R5bGVzaGVldCIsdHlwZToidGV4dC9jc3MifSk7dHJ5e3RoaXMubWFpbnN0 ZnJhbWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnPGlmcmFtZSBuYW1lPSJzdGZy YW1lIiBhbGxvd1RyYW5zcGFyZW5jeT0idHJ1ZSIgc3R5bGU9ImJvZHl7YmFja2dy b3VuZDp0cmFuc3BhcmVudDt9IiA+PC9pZnJhbWU+Jyk7dGhpcy5tYWluc3RmcmFt ZS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZihTSEFSRVRISVMubWFp bnN0ZnJhbWUucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe1NIQVJFVEhJUy5mcmFt ZVJlYWR5PXRydWV9fX1jYXRjaChlcnIpe3RoaXMubWFpbnN0ZnJhbWU9ZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7dGhpcy5tYWluc3RmcmFtZS5hbGxv d1RyYW5zcGFyZW5jeT0idHJ1ZSI7dGhpcy5tYWluc3RmcmFtZS5zZXRBdHRyaWJ1 dGUoImFsbG93VHJhbnNwYXJlbmN5IiwidHJ1ZSIpO3RoaXMubWFpbnN0ZnJhbWUu b25sb2FkPWZ1bmN0aW9uKCl7U0hBUkVUSElTLmZyYW1lUmVhZHk9dHJ1ZX19dGhp cy5tYWluc3RmcmFtZS5pZD0ic3RmcmFtZSI7dGhpcy5tYWluc3RmcmFtZS5jbGFz c05hbWU9InN0ZnJhbWUiO3RoaXMubWFpbnN0ZnJhbWUubmFtZT0ic3RmcmFtZSI7 dGhpcy5tYWluc3RmcmFtZS5mcmFtZUJvcmRlcj0iMCI7dGhpcy5tYWluc3RmcmFt ZS5zY3JvbGxpbmc9Im5vIjt0aGlzLm1haW5zdGZyYW1lLndpZHRoPSIzNTNweCI7 dGhpcy5tYWluc3RmcmFtZS5oZWlnaHQ9IjU5OHB4Ijt0aGlzLm1haW5zdGZyYW1l LnN0eWxlLnRvcD0iMHB4Ijt0aGlzLm1haW5zdGZyYW1lLnN0eWxlLmxlZnQ9IjBw eCI7dHJ5e3RoaXMuZnA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnPGlmcmFtZSBu YW1lPSJzdHBvc3RmcmFtZSIgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj48L2lm cmFtZT4nKX1jYXRjaChlcnIpe3RoaXMuZnA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgiaWZyYW1lIik7dGhpcy5mcC5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4ifXRo aXMuZnAubmFtZT0ic3Rwb3N0ZnJhbWUiO3RoaXMuZnAud2lkdGg9IjBweCI7dGhp cy5mcC5oZWlnaHQ9IjBweCI7dGhpcy5mcC5zcmM9IiI7dmFyIGluaXQ9IiNpbml0 Ijt0aGlzLm5ld3dpbmZyYWc9IiNwb3B1cCI7Zm9yKHZhciBvIGluIG9wdGlvbnMp e2lmKFNIQVJFVEhJU190c3RPcHRpb25zKG8pPT10cnVlKXtpbml0PWluaXQrIi8i K28rIj0iK2VuY29kZVVSSUNvbXBvbmVudChvcHRpb25zW29dKTt0aGlzLm5ld3dp bmZyYWc9dGhpcy5uZXd3aW5mcmFnKyIvIitvKyI9IitlbmNvZGVVUklDb21wb25l bnQob3B0aW9uc1tvXSl9fXRoaXMuaW5pdHN0cj1pbml0O3RoaXMuc2VuZEluaXQu cHVzaCh0aGlzLmluaXRzdHIpO3RoaXMubWFpbnN0ZnJhbWUuc3JjPXRoaXMuZnJh bWVVcmwrdGhpcy5zZW5kSW5pdFswXTt0aGlzLndyYXBwZXI9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgiZGl2Iik7dGhpcy53cmFwcGVyLmlkPSJzdHdyYXBwZXIiO3Ro aXMud3JhcHBlci5jbGFzc05hbWU9InN0d3JhcHBlciI7dGhpcy53cmFwcGVyLnN0 eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7dGhpcy53cmFwcGVyLnN0eWxlLnRvcD0i LTk5OXB4Ijt0aGlzLndyYXBwZXIuc3R5bGUubGVmdD0iLTk5OXB4Ijt0aGlzLmNs b3Nld3JhcHBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmNs b3Nld3JhcHBlci5jbGFzc05hbWU9InN0Y2xvc2UiO3RoaXMuY2xvc2V3cmFwcGVy Lm9uY2xpY2s9c3RjbG9zZVdpZGdldDt0aGlzLndyYXBwZXIuYXBwZW5kQ2hpbGQo dGhpcy5jbG9zZXdyYXBwZXIpO3RoaXMud3JhcHBlci5hcHBlbmRDaGlsZCh0aGlz Lm1haW5zdGZyYW1lKTt0aGlzLmRlZmVyKGZ1bmN0aW9uKCl7U0hBUkVUSElTLmJv ZHlMb2FkZWQ9dHJ1ZTtTSEFSRVRISVMubG9nKCJwdmlldyIsbnVsbCxudWxsKTtp ZihTSEFSRVRISVNfVE9PTEJBUj09PXRydWUpe2RvY3VtZW50LmJvZHkuYXBwZW5k Q2hpbGQoU0hBUkVUSElTLmZwKTtTSEFSRVRISVMucG9zdFBvcHVwKCk7U0hBUkVU SElTX1RPT0xCQVJfRElWLmFwcGVuZENoaWxkKFNIQVJFVEhJUy53cmFwcGVyKX1p ZihTSEFSRVRISVMucG9wdXBFeGlzdHM9PT10cnVlJiZTSEFSRVRISVMucG9wdXBD YWxsZWQ9PT1mYWxzZSl7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChTSEFSRVRI SVMuZnApO1NIQVJFVEhJUy5wb3N0UG9wdXAoKTtTSEFSRVRISVMucG9wdXBDYWxs ZWQ9dHJ1ZX1pZihTSEFSRVRISVMud2lkZ2V0Q2FsbGVkPT09ZmFsc2UmJlNIQVJF VEhJUy53aWRnZXRFeGlzdHM9PT10cnVlKXtkb2N1bWVudC5ib2R5LmFwcGVuZENo aWxkKFNIQVJFVEhJUy53cmFwcGVyKTt0cnl7d2luZG93LmZyYW1lcy5zdGZyYW1l LmxvY2F0aW9uLnJlcGxhY2UoU0hBUkVUSElTLm1haW5zdGZyYW1lLnNyYyl9Y2F0 Y2goZXJyKXt9U0hBUkVUSElTLnJlYWR5VGVzdEludGVydmFsPXNldEludGVydmFs KFNIQVJFVEhJUy5yZWFkeVRlc3QsMjUwKX10cnl7dmFyIHN0ZnJtPWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCJzdGZyYW1lIik7c3Rmcm0ub25tb3VzZW92ZXI9ZnVu Y3Rpb24oKXtzdENhbmNlbENsb3NlKCk7U0hBUkVUSElTLmluVGltZT0obmV3IERh dGUoKSkuZ2V0VGltZSgpfTtzdGZybS5vbm1vdXNlb3V0PWZ1bmN0aW9uKCl7U0hB UkVUSElTLm91dFRpbWU9KG5ldyBEYXRlKCkpLmdldFRpbWUoKTtTSEFSRVRISVMu b3BlbkR1cmF0aW9uPShTSEFSRVRISVMub3V0VGltZS1TSEFSRVRISVMuaW5UaW1l KS8xMDAwO3N0Q2xvc2UoKX07ZG9jdW1lbnQuYm9keS5vbmNsaWNrPWZ1bmN0aW9u KCl7aWYoU0hBUkVUSElTLmJ1dHRvbkNsaWNrZWQ9PWZhbHNlKXtTSEFSRVRISVMu c3RvcENsb3Npbmc9ZmFsc2U7U0hBUkVUSElTLm9wZW5EdXJhdGlvbj0wO3N0Q2xv c2UoMTAwKX19fWNhdGNoKGVycil7fX0pO2lmKHR5cGVvZih3aW5kb3cuYWRkRXZl bnRMaXN0ZW5lcikhPSJ1bmRlZmluZWQiKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l cigibG9hZCIsdGhpcy5vblJlYWR5LGZhbHNlKX1lbHNle2lmKHR5cGVvZihkb2N1 bWVudC5hZGRFdmVudExpc3RlbmVyKSE9InVuZGVmaW5lZCIpe2RvY3VtZW50LmFk ZEV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMub25SZWFkeSxmYWxzZSl9ZWxzZXtp Zih0eXBlb2Ygd2luZG93LmF0dGFjaEV2ZW50IT0idW5kZWZpbmVkIil7d2luZG93 LmF0dGFjaEV2ZW50KCJvbmxvYWQiLHRoaXMub25SZWFkeSl9fX1zZXRUaW1lb3V0 KGZ1bmN0aW9uKCl7Zm9yKHZhciBzIGluIFNIQVJFVEhJUy5zaGFyZWFibGVzKXtp ZihTSEFSRVRISVMuc2hhcmVhYmxlc1tzXS5vcHRpb25zIT11bmRlZmluZWQpe3N3 aXRjaChTSEFSRVRISVMuc2hhcmVhYmxlc1tzXS5vcHRpb25zLnN0eWxlKXtjYXNl InZlcnRpY2FsIjp2YXIgaWZyO3RyeXtpZnI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgnPGlmcmFtZSBhbGxvd1RyYW5zcGFyZW5jeT0idHJ1ZSI+PC9pZnJhbWU+Jyl9 Y2F0Y2goZXJyKXtpZnI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7 aWZyLmFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIjtpZnIuc2V0QXR0cmlidXRlKCJh bGxvd1RyYW5zcGFyZW5jeSIsInRydWUiKX1pZnIuY2xhc3NOYW1lPSJzdGNvdW50 ZXIiO2lmci5mcmFtZUJvcmRlcj0iMCI7aWZyLnNjcm9sbGluZz0ibm8iO2lmci53 aWR0aD0iNTdweCI7aWZyLmhlaWdodD0iMzlweCI7aWZyLnNyYz0iaHR0cDovL3dk LnNoYXJldGhpcy5jb20vYnV0dG9uL3Zjb3VudGVyLnBocD91cmw9IitlbmNvZGVV UklDb21wb25lbnQoU0hBUkVUSElTLnNoYXJlYWJsZXNbc10ucHJvcGVydGllcy51 cmwpO1NIQVJFVEhJUy5zaGFyZWFibGVzW3NdLmJ1dHRvbi5wYXJlbnROb2RlLmFw cGVuZENoaWxkKGlmcik7YnJlYWs7Y2FzZSJob3Jpem9udGFsIjp2YXIgaWZyO3Ry eXtpZnI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnPGlmcmFtZSBhbGxvd1RyYW5z cGFyZW5jeT0idHJ1ZSI+PC9pZnJhbWU+Jyl9Y2F0Y2goZXJyKXtpZnI9ZG9jdW1l bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aWZyLmFsbG93VHJhbnNwYXJlbmN5 PSJ0cnVlIjtpZnIuc2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5jeSIsInRy dWUiKX1pZnIuY2xhc3NOYW1lPSJzdGNvdW50ZXIiO2lmci5mcmFtZUJvcmRlcj0i MCI7aWZyLnNjcm9sbGluZz0ibm8iO2lmci53aWR0aD0iMzdweCI7aWZyLmhlaWdo dD0iMThweCI7aWZyLnNyYz0iaHR0cDovL3dkLnNoYXJldGhpcy5jb20vYnV0dG9u L2hjb3VudGVyLnBocD91cmw9IitlbmNvZGVVUklDb21wb25lbnQoU0hBUkVUSElT LnNoYXJlYWJsZXNbc10ucHJvcGVydGllcy51cmwpO1NIQVJFVEhJUy5zaGFyZWFi bGVzW3NdLmJ1dHRvbi5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGlmcik7YnJlYWt9 fX19LDEwMDApfTt0aGlzLmluaXRpYWxpemUob3B0aW9ucyl9dmFyIGNsb3NldGlt ZW91dDtmdW5jdGlvbiBzdENsb3NlKGEpe2lmKCFhKXthPTEwMDB9aWYoc3RhdXRv Y2xvc2U9PXRydWUmJlNIQVJFVEhJU19UT09MQkFSPT1mYWxzZSl7aWYoU0hBUkVU SElTLm9wZW5EdXJhdGlvbjwyJiZTSEFSRVRISVMuc3RvcENsb3Npbmc9PWZhbHNl KXtjbG9zZXRpbWVvdXQ9c2V0VGltZW91dCgic3RjbG9zZVdpZGdldCgpIixhKX1l bHNle1NIQVJFVEhJUy5zdG9wQ2xvc2luZz10cnVlfX19ZnVuY3Rpb24gc3RDYW5j ZWxDbG9zZSgpe2NsZWFyVGltZW91dChjbG9zZXRpbWVvdXQpO1NIQVJFVEhJUy5i dXR0b25DbGlja2VkPXRydWU7c2V0VGltZW91dChmdW5jdGlvbigpe1NIQVJFVEhJ Uy5idXR0b25DbGlja2VkPWZhbHNlfSwxMDApfWZ1bmN0aW9uIHN0Y2xvc2VXaWRn ZXQoKXtzdF9zaG93aW5nPWZhbHNlO1NIQVJFVEhJUy53cmFwcGVyLnN0eWxlLnZp c2liaWxpdHk9ImhpZGRlbiI7U0hBUkVUSElTLm1haW5zdGZyYW1lLnN0eWxlLnZp c2liaWxpdHk9ImhpZGRlbiI7U0hBUkVUSElTLndyYXBwZXIuc3R5bGUudG9wPSIt OTk5cHgiO1NIQVJFVEhJUy53cmFwcGVyLnN0eWxlLmxlZnQ9Ii05OTlweCI7U0hB UkVUSElTLnNob3dFbWJlZHMoKTtTSEFSRVRISVMuc2VuZEV2ZW50KCJzY3JlZW4i LCJob21lIik7U0hBUkVUSElTLnNlbmRBcnJheT1bXX1mdW5jdGlvbiBTSEFSRVRI SVNfdHN0T3B0aW9ucyhhKXt2YXIgZD1bInR5cGUiLCJ0aXRsZSIsInN1bW1hcnki LCJjb250ZW50IiwidXJsIiwiaWNvbiIsImNhdGVnb3J5IiwidXBkYXRlZCIsInB1 Ymxpc2hlZCIsImF1dGhvciIsImJ1dHRvbiIsIm9ubW91c2VvdmVyIiwiYnV0dG9u VGV4dCIsInBvcHVwIiwib2Zmc2V0TGVmdCIsIm9mZnNldFRvcCIsImVtYmVkcyIs ImF1dG9jbG9zZSIsInB1Ymxpc2hlciIsInRhYnMiLCJzZXJ2aWNlcyIsImNoYXJz ZXQiLCJoZWFkZXJiZyIsImluYWN0aXZlYmciLCJpbmFjdGl2ZWZnIiwibGlua2Zn Iiwic3R5bGUiLCJzZW5kX3NlcnZpY2VzIiwiZXhjbHVzaXZlX3NlcnZpY2VzIiwi cG9zdF9zZXJ2aWNlcyIsImhlYWRlcmZnIiwiaGVhZGVyVHlwZSIsImhlYWRlclRp dGxlIiwic2Vzc2lvbklEIiwidHJhY2tpbmciLCJmcGMiLCJhZHMiLCJwVXJsIiwi aGFzaF9mbGFnIl07dmFyIGM9ZmFsc2U7Zm9yKHZhciBiPTA7YjxkLmxlbmd0aDti Kyspe2lmKGE9PT1kW2JdKXtjPXRydWV9fXJldHVybiBjfWZ1bmN0aW9uIFNIQVJF VEhJU19URVNUKCl7U0hBUkVUSElTLm1haW5zdGZyYW1lLnNyYz1TSEFSRVRISVMu ZnJhbWVVcmwrIiN0ZXN0In1mdW5jdGlvbiBfc3RGcGMoKXtpZighZG9jdW1lbnQu ZG9tYWlufHxkb2N1bWVudC5kb21haW4uc2VhcmNoKC9cLmdvdi8pPjApe3JldHVy biBmYWxzZX12YXIgZz1fc3RHZXRGcGMoIl9fdW5hbSIpO2lmKGc9PWZhbHNlKXt2 YXIgYz1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7Yz1jLnRv U3RyaW5nKDE2KTt2YXIgaD0obmV3IERhdGUoKSkuZ2V0VGltZSgpO2g9aC50b1N0 cmluZygxNik7dmFyIGU9IiI7dmFyIGE9X3N0R2V0RCgpO2E9YS5zcGxpdCgvXC4v KVsxXTtpZighYSl7cmV0dXJuIGZhbHNlfWU9X3N0ZEhhc2goYSkrIi0iK2grIi0i K2MrIi0xIjtnPWU7X3N0U2V0RnBjKGcpfWVsc2V7dmFyIGI9Zzt2YXIgZj1iLnNw bGl0KC9cLS8pO2lmKGYubGVuZ3RoPT00KXt2YXIgZD1OdW1iZXIoZlszXSk7ZCsr O2I9ZlswXSsiLSIrZlsxXSsiLSIrZlsyXSsiLSIrZDtnPWI7X3N0U2V0RnBjKGcp fX1yZXR1cm4gZ31mdW5jdGlvbiBfc3RTZXRGcGMoZyl7dmFyIGE9Il9fdW5hbSI7 dmFyIGM9bmV3IERhdGU7dmFyIGk9Yy5nZXRGdWxsWWVhcigpO3ZhciBmPWMuZ2V0 TW9udGgoKSs5O3ZhciBoPWMuZ2V0RGF0ZSgpO3ZhciBkPWErIj0iK2VzY2FwZShn KTtpZihpKXt2YXIgYj1uZXcgRGF0ZShpLGYsaCk7ZCs9IjsgZXhwaXJlcz0iK2Iu dG9HTVRTdHJpbmcoKX12YXIgZT1fc3RHZXREKCk7ZCs9IjsgZG9tYWluPSIrZXNj YXBlKGUpKyI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9ZH1mdW5jdGlvbiBfc3RH ZXREKCl7dmFyIGI9ZG9jdW1lbnQuZG9tYWluLnNwbGl0KC9cLi8pO3ZhciBhPSIi O2lmKGIubGVuZ3RoPjEpe2E9Ii4iK2JbYi5sZW5ndGgtMl0rIi4iK2JbYi5sZW5n dGgtMV19cmV0dXJuIGF9ZnVuY3Rpb24gX3N0R2V0RnBjKGIpe3ZhciBhPWRvY3Vt ZW50LmNvb2tpZS5tYXRjaCgiKF58OykgPyIrYisiPShbXjtdKikoO3wkKSIpO2lm KGEpe3JldHVybih1bmVzY2FwZShhWzJdKSl9ZWxzZXtyZXR1cm4gZmFsc2V9fWZ1 bmN0aW9uIF9zdGRIYXNoKGEpe3ZhciBlPTAsZD0wO2Zvcih2YXIgYz1hLmxlbmd0 aC0xO2M+PTA7Yy0tKXt2YXIgYj1wYXJzZUludChhLmNoYXJDb2RlQXQoYykpO2U9 KChlPDw4KSYyNjg0MzU0NTUpK2IrKGI8PDEyKTtpZigoZD1lJjE2MTExOTg1MCkh PTApe2U9KGVeKGQ+PjIwKSl9fXJldHVybiBlLnRvU3RyaW5nKDE2KX12YXIgX3Ro aXNTY3JpcHQ9bnVsbDtmdW5jdGlvbiBnZXRTaGFyZVRoaXNTY3JpcHQoKXt2YXIg ZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7dmFyIGM9 bnVsbDtmb3IodmFyIGI9MDtiPGQubGVuZ3RoO2IrKyl7dmFyIGE9ZFtiXS5zcmM7 aWYoYS5zZWFyY2goLy4qc2hhcmV0aGlzLipcL2J1dHRvbi8pPj0wKXtjPWRbYl19 ZWxzZXtpZihhLnNlYXJjaCgvLipzaGFyZXRoaXMuKlwvd2lkZ2V0XC9cPy8pPj0w fHxhLnNlYXJjaCgvLipzaGFyZXRoaXMuKlwvd2lkZ2V0XC9pbmRleC8pPj0wfHxh LnNlYXJjaCgvLipzaGFyZXRoaXMuKlwvd2lkZ2V0XC9cPyYvKT49MCl7Yz1kW2Jd fX19cmV0dXJuIGN9ZnVuY3Rpb24gZGJySW5mbygpe3ZhciBhPWRvY3VtZW50LnJl ZmVycmVyO2lmKGEmJmEubGVuZ3RoPjApe3ZhciBjPS8oaHR0cDpcL1wvKSguKj8p XC8uKi9pO3ZhciBiPS8oXi4qXD8pKC4qKS9pZzt2YXIgZj0iIjt2YXIgZT1hLnJl cGxhY2UoYywiJDIiKTtpZihlLmxlbmd0aD4wKXtmKz0iJnJlZkRvbWFpbj0iK2V9 ZWxzZXtyZXR1cm4gZmFsc2V9dmFyIGQ9YS5yZXBsYWNlKGIsIiQyIik7aWYoZC5s ZW5ndGg+MCl7Zis9IiZyZWZRdWVyeT0iK2VuY29kZVVSSUNvbXBvbmVudChkKX1y ZXR1cm4gZn1lbHNle3JldHVybiBmYWxzZX19X3RoaXNTY3JpcHQ9Z2V0U2hhcmVU aGlzU2NyaXB0KCk7aWYoX3RoaXNTY3JpcHQpe1NIQVJFVEhJUz1uZXcgU2hhcmVU aGlzKHBhcnNlUXVlcnlTdHJpbmcoX3RoaXNTY3JpcHQuc3JjKSl9ZWxzZXtTSEFS RVRISVM9bmV3IFNoYXJlVGhpcygpfX12YXIgX3NsaXN0PWRvY3VtZW50LmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTt2YXIgX3RoaXNTY3JpcHQyPV9zbGlz dFtfc2xpc3QubGVuZ3RoLTFdO2lmKF90aGlzU2NyaXB0MiYmX3RoaXNTY3JpcHQy LnBhcmVudE5vZGUudGFnTmFtZSE9IkhFQUQiJiZ0eXBlb2YoX3N0dG9vbGJhcik9 PSJ1bmRlZmluZWQiKXt2YXIgb2JqPVNIQVJFVEhJUy5hZGRFbnRyeSgpfX1jYXRj aChlcnIpe307 ------------VpNz6ZMvTX6js7qDgnscWw Content-Disposition: inline; filename=urchin.js Content-Type: text/javascript; charset=UTF-8; name=urchin.js Content-Location: http://www.google-analytics.com/urchin.js Content-Transfer-Encoding: 8bit //-- Google Analytics Urchin Module //-- Copyright 2007 Google, All Rights Reserved. //-- Urchin On Demand Settings ONLY var _uacct=""; // set up the Urchin Account var _userv=1; // service mode (0=local,1=remote,2=both) //-- UTM User Settings var _ufsc=1; // set client info flag (1=on|0=off) var _udn="auto"; // (auto|none|domain) set the domain name for cookies var _uhash="on"; // (on|off) unique domain hash for cookies var _utimeout="1800"; // set the inactive session timeout in seconds var _ugifpath="/__utm.gif"; // set the web path to the __utm.gif file var _utsp="|"; // transaction field separator var _uflash=1; // set flash version detect option (1=on|0=off) var _utitle=1; // set the document title detect option (1=on|0=off) var _ulink=0; // enable linker functionality (1=on|0=off) var _uanchor=0; // enable use of anchors for campaign (1=on|0=off) var _utcp="/"; // the cookie path for tracking var _usample=100; // The sampling % of visitors to track (1-100). //-- UTM Campaign Tracking Settings var _uctm=1; // set campaign tracking module (1=on|0=off) var _ucto="15768000"; // set timeout in seconds (6 month default) var _uccn="utm_campaign"; // name var _ucmd="utm_medium"; // medium (cpc|cpm|link|email|organic) var _ucsr="utm_source"; // source var _uctr="utm_term"; // term/keyword var _ucct="utm_content"; // content var _ucid="utm_id"; // id number var _ucno="utm_nooverride"; // don't override //-- Auto/Organic Sources and Keywords var _uOsr=new Array(); var _uOkw=new Array(); _uOsr[0]="google"; _uOkw[0]="q"; _uOsr[1]="yahoo"; _uOkw[1]="p"; _uOsr[2]="msn"; _uOkw[2]="q"; _uOsr[3]="aol"; _uOkw[3]="query"; _uOsr[4]="aol"; _uOkw[4]="encquery"; _uOsr[5]="lycos"; _uOkw[5]="query"; _uOsr[6]="ask"; _uOkw[6]="q"; _uOsr[7]="altavista"; _uOkw[7]="q"; _uOsr[8]="netscape"; _uOkw[8]="query"; _uOsr[9]="cnn"; _uOkw[9]="query"; _uOsr[10]="looksmart"; _uOkw[10]="qt"; _uOsr[11]="about"; _uOkw[11]="terms"; _uOsr[12]="mamma"; _uOkw[12]="query"; _uOsr[13]="alltheweb"; _uOkw[13]="q"; _uOsr[14]="gigablast"; _uOkw[14]="q"; _uOsr[15]="voila"; _uOkw[15]="rdata"; _uOsr[16]="virgilio"; _uOkw[16]="qs"; _uOsr[17]="live"; _uOkw[17]="q"; _uOsr[18]="baidu"; _uOkw[18]="wd"; _uOsr[19]="alice"; _uOkw[19]="qs"; _uOsr[20]="yandex"; _uOkw[20]="text"; _uOsr[21]="najdi"; _uOkw[21]="q"; _uOsr[22]="aol"; _uOkw[22]="q"; _uOsr[23]="club-internet"; _uOkw[23]="query"; _uOsr[24]="mama"; _uOkw[24]="query"; _uOsr[25]="seznam"; _uOkw[25]="q"; _uOsr[26]="search"; _uOkw[26]="q"; _uOsr[27]="wp"; _uOkw[27]="szukaj"; _uOsr[28]="onet"; _uOkw[28]="qt"; _uOsr[29]="netsprint"; _uOkw[29]="q"; _uOsr[30]="google.interia"; _uOkw[30]="q"; _uOsr[31]="szukacz"; _uOkw[31]="q"; _uOsr[32]="yam"; _uOkw[32]="k"; _uOsr[33]="pchome"; _uOkw[33]="q"; _uOsr[34]="kvasir"; _uOkw[34]="searchExpr"; _uOsr[35]="sesam"; _uOkw[35]="q"; _uOsr[36]="ozu"; _uOkw[36]="q"; _uOsr[37]="terra"; _uOkw[37]="query"; _uOsr[38]="nostrum"; _uOkw[38]="query"; _uOsr[39]="mynet"; _uOkw[39]="q"; _uOsr[40]="ekolay"; _uOkw[40]="q"; _uOsr[41]="search.ilse"; _uOkw[41]="search_for"; _uOsr[42]="bing"; _uOkw[42]="q"; //-- Auto/Organic Keywords to Ignore var _uOno=new Array(); //_uOno[0]="urchin"; //_uOno[1]="urchin.com"; //_uOno[2]="www.urchin.com"; //-- Referral domains to Ignore var _uRno=new Array(); //_uRno[0]=".urchin.com"; //-- **** Don't modify below this point *** var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1.3"; var _ugifpath2="http://www.google-analytics.com/__utm.gif"; if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#')); if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif"; if (!_utcp || _utcp=="") _utcp="/"; function urchinTracker(page) { if (_udl.protocol=="file:") return; if (_uff && (!page || page=="")) return; var a,b,c,xx,v,z,k,x="",s="",f=0,nv=0; var nx=" expires="+_uNx()+";"; var dc=_ubd.cookie; _udh=_uDomain(); if (!_uVG()) return; _uu=Math.round(Math.random()*2147483647); _udt=new Date(); _ust=Math.round(_udt.getTime()/1000); a=dc.indexOf("__utma="+_udh+"."); b=dc.indexOf("__utmb="+_udh); c=dc.indexOf("__utmc="+_udh); if (_udn && _udn!="") { _udo=" domain="+_udn+";"; } if (_utimeout && _utimeout!="") { x=new Date(_udt.getTime()+(_utimeout*1000)); x=" expires="+x.toGMTString()+";"; } if (_ulink) { if (_uanchor && _udlh && _udlh!="") s=_udlh+"&"; s+=_udl.search; if(s && s!="" && s.indexOf("__utma=")>=0) { if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-"; if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-"; if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-"; v=_uGC(s,"__utmv=","&"); z=_uGC(s,"__utmz=","&"); k=_uGC(s,"__utmk=","&"); xx=_uGC(s,"__utmx=","&"); if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";} if (a!="-" && b!="-" && c!="-") f=1; else if(a!="-") f=2; } } if(f==1) { _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo; _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo; _ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo; } else if (f==2) { a=_uFixA(s,"&",_ust); _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo; _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo; _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo; _ufns=1; } else if (a>=0 && b>=0 && c>=0) { b = _uGC(dc,"__utmb="+_udh,";"); b = ("-" == b) ? _udh : b; _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo; } else { if (a>=0) a=_uFixA(_ubd.cookie,";",_ust); else { a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1"; nv=1; } _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo; _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo; _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo; _ufns=1; } if (_ulink && xx && xx!="" && xx!="-") { xx=_uUES(xx); if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo; } if (_ulink && v && v!="" && v!="-") { v=_uUES(v); if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo; } var wc=window; var c=_ubd.cookie; if(wc && wc.gaGlobal && wc.gaGlobal.dh==_udh){ var g=wc.gaGlobal; var ua=c.split("__utma="+_udh+".")[1].split(";")[0].split("."); if(g.sid)ua[3]=g.sid; if(nv>0){ ua[2]=ua[3]; if(g.vid){ var v=g.vid.split("."); ua[0]=v[0]; ua[1]=v[1]; } } _ubd.cookie="__utma="+_udh+"."+ua.join(".")+"; path="+_utcp+";"+nx+_udo; } _uInfo(page); _ufns=0; _ufno=0; if (!page || page=="") _uff=1; } function _uGH() { var hid; var wc=window; if (wc && wc.gaGlobal && wc.gaGlobal.hid) { hid=wc.gaGlobal.hid; } else { hid=Math.round(Math.random()*0x7fffffff); if (!wc.gaGlobal) wc.gaGlobal={}; wc.gaGlobal.hid=hid; } return hid; } function _uInfo(page) { var p,s="",dm="",pg=_udl.pathname+_udl.search; if (page && page!="") pg=_uES(page,1); _ur=_ubd.referrer; if (!_ur || _ur=="") { _ur="-"; } else { dm=_ubd.domain; if(_utcp && _utcp!="/") dm+=_utcp; p=_ur.indexOf(dm); if ((p>=0) && (p<=8)) { _ur="0"; } if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; } } s+="&utmn="+_uu; if (_ufsc) s+=_uBInfo(); if (_uctm) s+=_uCInfo(); if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+_uES(_ubd.title); if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname); if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample); s+="&utmhid="+_uGH(); s+="&utmr="+_ur; s+="&utmp="+pg; if ((_userv==0 || _userv==2) && _uSP()) { var i=new Image(1,1); i.src=_ugifpath+"?"+"utmwv="+_uwv+s; i.onload=function() { _uVoid(); } } if ((_userv==1 || _userv==2) && _uSP()) { var i2=new Image(1,1); i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS(); i2.onload=function() { _uVoid(); } } return; } function _uVoid() { return; } function _uCInfo() { if (!_ucto || _ucto=="") { _ucto="15768000"; } if (!_uVG()) return; var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s=""; if (_uanchor && _udlh && _udlh!="") s=_udlh+"&"; s+=_udl.search; var x=new Date(_udt.getTime()+(_ucto*1000)); var dc=_ubd.cookie; x=" expires="+x.toGMTString()+";"; if (_ulink && !_ubl) { z=_uUES(_uGC(s,"__utmz=","&")); if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; } } z=dc.indexOf("__utmz="+_udh+"."); if (z>-1) { z=_uGC(dc,"__utmz="+_udh+".",";"); } else { z="-"; } t=_uGC(s,_ucid+"=","&"); t2=_uGC(s,_ucsr+"=","&"); t3=_uGC(s,"gclid=","&"); if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) { if (t!="-" && t!="") c+="utmcid="+_uEC(t); if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); } if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); } t=_uGC(s,_uccn+"=","&"); if (t!="-" && t!="") c+="|utmccn="+_uEC(t); else c+="|utmccn=(not+set)"; t=_uGC(s,_ucmd+"=","&"); if (t!="-" && t!="") c+="|utmcmd="+_uEC(t); else c+="|utmcmd=(not+set)"; t=_uGC(s,_uctr+"=","&"); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); } t=_uGC(s,_ucct+"=","&"); if (t!="-" && t!="") c+="|utmcct="+_uEC(t); t=_uGC(s,_ucno+"=","&"); if (t=="1") o=1; if (z!="-" && o==1) return ""; } if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1) return ""; } if (c=="-" || c=="") { if (_ufns==1) c=_uRef(); if (z!="-" && _ufno==1) return ""; } if (c=="-" || c=="") { if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; } if (c=="-" || c=="") return ""; } if (z!="-") { i=z.indexOf("."); if (i>-1) i=z.indexOf(".",i+1); if (i>-1) i=z.indexOf(".",i+1); if (i>-1) i=z.indexOf(".",i+1); t=z.substring(i+1,z.length); if (t.toLowerCase()==c.toLowerCase()) cs=1; t=z.substring(0,i); if ((i=t.lastIndexOf(".")) > -1) { t=t.substring(i+1,t.length); cn=(t*1); } } if (cs==0 || _ufns==1) { t=_uGC(dc,"__utma="+_udh+".",";"); if ((i=t.lastIndexOf(".")) > 9) { _uns=t.substring(i+1,t.length); _uns=(_uns*1); } cn++; if (_uns==0) _uns=1; _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo; } if (cs==0 || _ufns==1) return "&utmcn=1"; else return "&utmcr=1"; } function _uRef() { if (_ur=="0" || _ur=="" || _ur=="-") return ""; var i=0,h,k,n; if ((i=_ur.indexOf("://"))<0 || _uGCse()) return ""; h=_ur.substring(i+3,_ur.length); if (h.indexOf("/") > -1) { k=h.substring(h.indexOf("/"),h.length); if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?")); h=h.substring(0,h.indexOf("/")); } h=h.toLowerCase(); n=h; if ((i=n.indexOf(":")) > -1) n=n.substring(0,i); for (var ii=0;ii<_uRno.length;ii++) { if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; } } if (h.indexOf("www.")==0) h=h.substring(4,h.length); return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral"; } function _uOrg(t) { if (_ur=="0" || _ur=="" || _ur=="-") return ""; var i=0,h,k; if ((i=_ur.indexOf("://"))<0 || _uGCse()) return ""; h=_ur.substring(i+3,_ur.length); if (h.indexOf("/") > -1) { h=h.substring(0,h.indexOf("/")); } for (var ii=0;ii<_uOsr.length;ii++) { if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) { if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) { k=_ur.substring(i+_uOkw[ii].length+2,_ur.length); if ((i=k.indexOf("&")) > -1) k=k.substring(0,i); for (var yy=0;yy<_uOno.length;yy++) { if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; } } if (t) return _uEC(k); else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic"; } } } return ""; } function _uGCse() { var h,p; h=p=_ur.split("://")[1]; if(h.indexOf("/")>-1) { h=h.split("/")[0]; p=p.substring(p.indexOf("/")+1,p.length); } if(p.indexOf("?")>-1) { p=p.split("?")[0]; } if(h.toLowerCase().indexOf("google")>-1) { if(_ur.indexOf("?q=")>-1 || _ur.indexOf("&q=")>-1) { if (p.toLowerCase().indexOf("cse")>-1) { return true; } } } } function _uBInfo() { var sr="-",sc="-",ul="-",fl="-",cs="-",je=1; var n=navigator; if (self.screen) { sr=screen.width+"x"+screen.height; sc=screen.colorDepth+"-bit"; } else if (self.java) { var j=java.awt.Toolkit.getDefaultToolkit(); var s=j.getScreenSize(); sr=s.width+"x"+s.height; } if (n.language) { ul=n.language.toLowerCase(); } else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); } je=n.javaEnabled()?1:0; if (_uflash) fl=_uFlash(); if (_ubd.characterSet) cs=_uES(_ubd.characterSet); else if (_ubd.charset) cs=_uES(_ubd.charset); return "&utmcs="+cs+"&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl; } function __utmSetTrans() { var e; if (_ubd.getElementById) e=_ubd.getElementById("utmtrans"); else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans; if (!e) return; var l=e.value.split("UTM:"); var i,i2,c; if (_userv==0 || _userv==2) i=new Array(); if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); } for (var ii=0;ii -1) { i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; } c=l.substring((i+i3),i2); } return c; } function _uDomain() { if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; } if (_udn=="auto") { var d=_ubd.domain; if (d.substring(0,4)=="www.") { d=d.substring(4,d.length); } _udn=d; } _udn = _udn.toLowerCase(); if (_uhash=="off") return 1; return _uHash(_udn); } function _uHash(d) { if (!d || d=="") return 1; var h=0,g=0; for (var i=d.length-1;i>=0;i--) { var c=parseInt(d.charCodeAt(i)); h=((h << 6) & 0xfffffff) + c + (c << 14); if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21)); } return h; } function _uFixA(c,s,t) { if (!c || c=="" || !s || s=="" || !t || t=="") return "-"; var a=_uGC(c,"__utma="+_udh+".",s); var lt=0,i=0; if ((i=a.lastIndexOf(".")) > 9) { _uns=a.substring(i+1,a.length); _uns=(_uns*1)+1; a=a.substring(0,i); if ((i=a.lastIndexOf(".")) > 7) { lt=a.substring(i+1,a.length); a=a.substring(0,i); } if ((i=a.lastIndexOf(".")) > 5) { a=a.substring(0,i); } a+="."+lt+"."+t+"."+_uns; } return a; } function _uTrim(s) { if (!s || s=="") return ""; while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length); while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1); return s; } function _uEC(s) { var n=""; if (!s || s=="") return ""; for (var i=0;i0) r=a.substring(i+1,i2); else return ""; if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return ""; if (f) { return r; } else { var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9'); return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m]; } } function _uIN(n) { if (!n) return false; for (var i=0;i"9") && (c!=".")) return false; } return true; } function _uES(s,u) { if (typeof(encodeURIComponent) == 'function') { if (u) return encodeURI(s); else return encodeURIComponent(s); } else { return escape(s); } } function _uUES(s) { if (typeof(decodeURIComponent) == 'function') { return decodeURIComponent(s); } else { return unescape(s); } } function _uVG() { if((_udn.indexOf("www.google.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) && _utcp=='/' && _udn.indexOf("google.org")==-1) { return false; } return true; } function _uSP() { var s=100; if (_usample) s=_usample; if(s>=100 || s<=0) return true; return ((__utmVisitorCode(1)%10000)<(s*100)); } function urchinPathCopy(p){ var d=document,nx,tx,sx,i,c,cs,t,h,o; cs=new Array("a","b","c","v","x","z"); h=_uDomain(); if (_udn && _udn!="") o=" domain="+_udn+";"; nx=_uNx()+";"; tx=new Date(); tx.setTime(tx.getTime()+(_utimeout*1000)); tx=tx.toGMTString()+";"; sx=new Date(); sx.setTime(sx.getTime()+(_ucto*1000)); sx=sx.toGMTString()+";"; for (i=0;i<6;i++){ t=" expires="; if (i==1) t+=tx; else if (i==2) t=""; else if (i==5) t+=sx; else t+=nx; c=_uGC(d.cookie,"__utm"+cs[i]+"="+h,";"); if (c!="-") d.cookie="__utm"+cs[i]+"="+c+"; path="+p+";"+t+o; } } function _uCO() { if (!_utk || _utk=="" || _utk.length<10) return; var d='www.google.com'; if (_utk.charAt(0)=='!') d='analytics.corp.google.com'; _ubd.cookie="GASO="+_utk+"; path="+_utcp+";"+_udo; var sc=document.createElement('script'); sc.type='text/javascript'; sc.id="_gasojs"; sc.src='https://'+d+'/analytics/reporting/overlay_js?gaso='+_utk+'&'+Math.random(); document.getElementsByTagName('head')[0].appendChild(sc); } function _uGT() { var h=location.hash, a; if (h && h!="" && h.indexOf("#gaso=")==0) { a=_uGC(h,"gaso=","&"); } else { a=_uGC(_ubd.cookie,"GASO=",";"); } return a; } var _utk=_uGT(); if (_utk && _utk!="" && _utk.length>10 && _utk.indexOf("=")==-1) { if (window.addEventListener) { window.addEventListener('load', _uCO, false); } else if (window.attachEvent) { window.attachEvent('onload', _uCO); } } function _uNx() { return (new Date((new Date()).getTime()+63072000000)).toGMTString(); } ------------VpNz6ZMvTX6js7qDgnscWw--