PathOpsSkpTest.cpp 228 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773
  1. /*
  2. * Copyright 2012 Google Inc.
  3. *
  4. * Use of this source code is governed by a BSD-style license that can be
  5. * found in the LICENSE file.
  6. */
  7. #include "tests/PathOpsExtendedTest.h"
  8. #define TEST(name) { name, #name }
  9. static void skpcheeseandburger_com225(skiatest::Reporter* reporter, const char* filename) {
  10. SkPath path;
  11. path.setFillType(SkPath::kEvenOdd_FillType);
  12. path.moveTo(555, 468);
  13. path.lineTo(555, 362);
  14. path.lineTo(872, 362);
  15. path.lineTo(872, 468);
  16. path.lineTo(555, 468);
  17. path.close();
  18. SkPath pathB;
  19. pathB.setFillType(SkPath::kWinding_FillType);
  20. pathB.moveTo(859.11792f, 397.320343f);
  21. pathB.cubicTo(855.523071f, 399.691284f, 853.721191f, 402.40863f, 853.721191f, 405.552216f);
  22. pathB.cubicTo(853.721191f, 407.911163f, 854.727478f, 410.115387f, 857.043518f, 412.252716f);
  23. pathB.cubicTo(859.920532f, 414.916138f, 862.704773f, 417.086426f, 864.679382f, 418.852386f);
  24. pathB.cubicTo(866.382446f, 420.371765f, 867.19104f, 422.108795f, 867.19104f, 423.506378f);
  25. pathB.cubicTo(867.19104f, 424.551605f, 866.741821f, 425.539886f, 865.935242f, 426.281616f);
  26. pathB.cubicTo(865.250366f, 426.910553f, 864.662415f, 427.339813f, 864.139282f, 427.4646f);
  27. pathB.cubicTo(863.536377f, 427.605347f, 862.259521f, 426.491272f, 860.366821f, 424.208191f);
  28. pathB.cubicTo(858.345276f, 421.770355f, 857.317017f, 419.733856f, 857.317017f, 417.98587f);
  29. pathB.cubicTo(857.317017f, 417.198212f, 857.942993f, 415.930389f, 857.942993f, 415.930389f);
  30. pathB.cubicTo(857.942993f, 415.930389f, 852.106018f, 421.296173f, 852.279663f, 422.549042f);
  31. pathB.cubicTo(852.462402f, 423.890747f, 853.669312f, 425.703613f, 855.876465f, 428.252258f);
  32. pathB.cubicTo(858.038818f, 430.754944f, 859.4953f, 431.840088f, 860.190125f, 431.594513f);
  33. pathB.cubicTo(862.571045f, 430.754944f, 865.48999f, 429.237549f, 868.44397f, 427.018372f);
  34. pathB.cubicTo(870.505371f, 425.470032f, 871.582581f, 423.534332f, 871.582581f, 421.001678f);
  35. pathB.cubicTo(871.582581f, 417.945923f, 870.056213f, 415.171692f, 867.015381f, 412.640045f);
  36. pathB.cubicTo(863.683105f, 409.872803f, 861.445923f, 408.027954f, 860.551514f, 407.140503f);
  37. pathB.cubicTo(858.660767f, 405.264709f, 857.765259f, 403.50174f, 857.765259f, 402.187988f);
  38. pathB.cubicTo(857.765259f, 401.141785f, 858.339355f, 400.394073f, 859.476318f, 399.925873f);
  39. pathB.cubicTo(860.004395f, 399.704254f, 861.270264f, 400.515869f, 863.156006f, 402.36969f);
  40. pathB.cubicTo(865.094727f, 404.28241f, 866.203796f, 405.565186f, 866.383484f, 406.130219f);
  41. pathB.cubicTo(868.250244f, 404.305359f, 869.179688f, 403.397919f, 871.046509f, 401.58902f);
  42. pathB.cubicTo(868.26825f, 399.296967f, 864.431824f, 394.705841f, 863.156006f, 394.600037f);
  43. pathB.cubicTo(863.145996f, 394.600037f, 863.136108f, 394.59903f, 863.126099f, 394.59903f);
  44. pathB.cubicTo(862.352417f, 394.598022f, 859.909607f, 396.79425f, 859.11792f, 397.320343f);
  45. pathB.moveTo(832.164246f, 394.307526f);
  46. pathB.cubicTo(832.451721f, 394.425323f, 832.598511f, 394.486206f, 832.886963f, 394.605011f);
  47. pathB.cubicTo(834.078979f, 395.474518f, 834.674927f, 395.90979f, 835.867859f, 396.781281f);
  48. pathB.cubicTo(836.502808f, 397.325348f, 836.863159f, 398.000183f, 836.863159f, 398.964539f);
  49. pathB.lineTo(836.863159f, 419.740845f);
  50. pathB.cubicTo(836.863159f, 420.876923f, 836.319092f, 422.17868f, 835.055298f, 423.617188f);
  51. pathB.cubicTo(836.39502f, 424.512665f, 837.063843f, 424.961884f, 838.39856f, 425.864349f);
  52. pathB.cubicTo(839.477661f, 426.578125f, 841.37439f, 427.27594f, 842.275879f, 427.443634f);
  53. pathB.cubicTo(842.999634f, 427.574402f, 843.82019f, 427.513519f, 844.354309f, 427.216034f);
  54. pathB.cubicTo(846.956787f, 425.765503f, 848.689819f, 423.588257f, 848.58606f, 423.483429f);
  55. pathB.cubicTo(848.58606f, 423.483429f, 846.877991f, 423.327698f, 845.971558f, 422.807587f);
  56. pathB.cubicTo(845.253784f, 422.284485f, 844.892395f, 422.022949f, 844.171631f, 421.502838f);
  57. pathB.cubicTo(843.361023f, 420.915833f, 842.907837f, 420.308899f, 842.907837f, 419.350525f);
  58. pathB.lineTo(842.907837f, 399.445709f);
  59. pathB.cubicTo(842.907837f, 398.053101f, 843.272217f, 397.417175f, 843.812256f, 397.518005f);
  60. pathB.cubicTo(844.170654f, 397.583893f, 844.711731f, 398.122986f, 845.432495f, 398.782837f);
  61. pathB.cubicTo(846.116333f, 399.402771f, 846.459717f, 399.709259f, 847.14856f, 400.3302f);
  62. pathB.cubicTo(844.986206f, 402.099152f, 843.988892f, 403.926025f, 843.988892f, 405.932556f);
  63. pathB.cubicTo(843.988892f, 410.209229f, 848.272583f, 410.951935f, 849.576355f, 408.394348f);
  64. pathB.cubicTo(849.871826f, 407.816345f, 850.421875f, 406.214081f, 850.387939f, 406.196106f);
  65. pathB.cubicTo(850.387939f, 406.196106f, 849.305786f, 406.771118f, 848.495239f, 406.615387f);
  66. pathB.cubicTo(846.96582f, 406.316895f, 846.153198f, 405.46637f, 846.153198f, 403.89505f);
  67. pathB.cubicTo(846.153198f, 401.796661f, 848.50116f, 399.09729f, 852.279663f, 396.270142f);
  68. pathB.cubicTo(851.014893f, 395.315796f, 847.723511f, 391.546265f, 846.875f, 391.546265f);
  69. pathB.cubicTo(846.330933f, 391.546265f, 843.988892f, 394.403351f, 843.273193f, 394.972382f);
  70. pathB.cubicTo(840.889282f, 392.886963f, 839.700317f, 391.850739f, 837.312378f, 389.786285f);
  71. pathB.cubicTo(835.257935f, 391.589203f, 834.225708f, 392.491638f, 832.164246f, 394.307526f);
  72. pathB.moveTo(818.860107f, 392.707275f);
  73. pathB.cubicTo(819.857361f, 393.382111f, 822.302124f, 395.764038f, 824.387573f, 397.051819f);
  74. pathB.cubicTo(822.57666f, 398.249756f, 820.582092f, 399.687286f, 818.860107f, 400.827332f);
  75. pathB.lineTo(818.860107f, 392.707275f);
  76. pathB.close();
  77. pathB.moveTo(810.69812f, 391.096039f);
  78. pathB.cubicTo(810.69812f, 391.096039f, 812.786499f, 394.093903f, 812.786499f, 394.965393f);
  79. pathB.lineTo(812.786499f, 415.743713f);
  80. pathB.cubicTo(812.786499f, 417.753265f, 811.881042f, 418.497986f, 810.974609f, 419.769806f);
  81. pathB.cubicTo(813.948486f, 421.160431f, 815.437988f, 421.864197f, 818.404846f, 423.283783f);
  82. pathB.cubicTo(819.948181f, 423.95462f, 822.417969f, 424.592529f, 823.937317f, 423.782928f);
  83. pathB.cubicTo(827.905518f, 421.663544f, 831.53125f, 417.600525f, 832.255005f, 415.191681f);
  84. pathB.cubicTo(833.882263f, 409.877808f, 823.095825f, 411.495026f, 823.119751f, 411.518982f);
  85. pathB.cubicTo(823.119751f, 411.518982f, 832.000488f, 411.874359f, 830.537964f, 416.29776f);
  86. pathB.cubicTo(829.888123f, 418.253418f, 827.278564f, 420.292908f, 825.385864f, 419.55719f);
  87. pathB.cubicTo(821.14209f, 417.915985f, 818.861023f, 417.414856f, 818.861023f, 414.970032f);
  88. pathB.lineTo(818.861023f, 403.096436f);
  89. pathB.cubicTo(822.126404f, 399.132233f, 831.289673f, 395.897797f, 831.356567f, 395.657227f);
  90. pathB.cubicTo(831.356567f, 395.657227f, 823.022888f, 387.594055f, 821.763062f, 387.476257f);
  91. pathB.cubicTo(821.755066f, 387.47525f, 821.746094f, 387.47525f, 821.737061f, 387.47525f);
  92. pathB.cubicTo(820.793701f, 387.47525f, 810.72406f, 390.967255f, 810.69812f, 391.096039f);
  93. pathB.moveTo(624.254211f, 390.498077f);
  94. pathB.cubicTo(625.252502f, 390.893402f, 627.708252f, 392.592468f, 629.796692f, 393.307251f);
  95. pathB.cubicTo(627.978821f, 395.006317f, 625.980225f, 397.000916f, 624.254211f, 398.618134f);
  96. pathB.lineTo(624.254211f, 390.498077f);
  97. pathB.close();
  98. pathB.moveTo(627.160217f, 384.460449f);
  99. pathB.cubicTo(626.286743f, 384.51535f, 616.076233f, 390.993225f, 616.086243f, 391.141968f);
  100. pathB.cubicTo(616.086243f, 391.141968f, 618.173645f, 393.561798f, 618.173645f, 394.437317f);
  101. pathB.lineTo(618.173645f, 415.216614f);
  102. pathB.cubicTo(618.173645f, 417.222168f, 617.265198f, 418.219482f, 616.355774f, 419.742859f);
  103. pathB.cubicTo(619.331665f, 420.307892f, 620.824097f, 420.599396f, 623.802979f, 421.198364f);
  104. pathB.cubicTo(625.346313f, 421.437958f, 627.818115f, 421.39801f, 629.342468f, 420.166138f);
  105. pathB.cubicTo(633.340576f, 416.939667f, 636.982361f, 411.871368f, 637.714111f, 409.263855f);
  106. pathB.cubicTo(639.348267f, 403.500732f, 628.508911f, 408.111816f, 628.52887f, 408.126801f);
  107. pathB.cubicTo(628.52887f, 408.126801f, 637.468506f, 405.998444f, 635.985046f, 410.844147f);
  108. pathB.cubicTo(635.332153f, 412.984467f, 632.705688f, 415.748718f, 630.801941f, 415.541077f);
  109. pathB.cubicTo(626.537292f, 415.072876f, 624.257202f, 415.202667f, 624.257202f, 412.755859f);
  110. pathB.cubicTo(624.257202f, 408.007019f, 624.255188f, 405.636078f, 624.255188f, 400.884247f);
  111. pathB.cubicTo(627.525574f, 396.016602f, 636.801636f, 390.283447f, 636.801636f, 389.97995f);
  112. pathB.cubicTo(636.801636f, 389.97995f, 628.360168f, 384.458435f, 627.18219f, 384.458435f);
  113. pathB.cubicTo(627.174194f, 384.460449f, 627.167236f, 384.460449f, 627.160217f, 384.460449f);
  114. pathB.moveTo(796.530396f, 416.438538f);
  115. pathB.cubicTo(795.892517f, 416.365662f, 794.527832f, 415.589996f, 792.348572f, 414.036652f);
  116. pathB.lineTo(792.348572f, 391.425476f);
  117. pathB.cubicTo(792.348572f, 390.465118f, 792.530273f, 390.047852f, 792.89563f, 390.088776f);
  118. pathB.cubicTo(793.075317f, 390.109741f, 793.3479f, 390.317383f, 793.804077f, 390.629852f);
  119. pathB.cubicTo(795.113831f, 391.585205f, 795.768738f, 392.059387f, 797.077515f, 393.018738f);
  120. pathB.cubicTo(797.983948f, 393.648651f, 798.348267f, 394.219666f, 798.348267f, 394.742767f);
  121. pathB.lineTo(798.348267f, 413.253998f);
  122. pathB.cubicTo(798.348267f, 415.391327f, 797.783264f, 416.451508f, 796.728088f, 416.451508f);
  123. pathB.cubicTo(796.664185f, 416.4505f, 796.598267f, 416.446533f, 796.530396f, 416.438538f);
  124. pathB.moveTo(795.165771f, 383.714722f);
  125. pathB.cubicTo(794.022705f, 383.851471f, 783.959961f, 388.652252f, 783.880127f, 388.873871f);
  126. pathB.cubicTo(783.880127f, 388.873871f, 785.054077f, 389.871155f, 785.522339f, 390.606873f);
  127. pathB.cubicTo(786.000488f, 391.361603f, 786.246094f, 391.9935f, 786.246094f, 392.427765f);
  128. pathB.lineTo(786.246094f, 411.987183f);
  129. pathB.cubicTo(786.246094f, 413.733185f, 784.160645f, 416.428558f, 784.246521f, 416.759979f);
  130. pathB.cubicTo(784.258484f, 416.79892f, 785.432495f, 417.14032f, 785.793823f, 417.350952f);
  131. pathB.cubicTo(786.739258f, 417.937958f, 787.213379f, 418.228455f, 788.161804f, 418.821442f);
  132. pathB.cubicTo(789.342773f, 419.554199f, 790.619568f, 419.956482f, 791.892395f, 420.098236f);
  133. pathB.cubicTo(794.533813f, 420.390747f, 796.717102f, 419.337555f, 798.349304f, 416.999573f);
  134. pathB.lineTo(798.349304f, 425.212463f);
  135. pathB.cubicTo(797.94696f, 425.47702f, 797.750305f, 425.609772f, 797.356018f, 425.874329f);
  136. pathB.cubicTo(795.259583f, 423.619202f, 792.806824f, 422.286499f, 789.985657f, 421.984009f);
  137. pathB.cubicTo(785.157959f, 421.463898f, 780.409119f, 428.344086f, 780.423096f, 428.346069f);
  138. pathB.cubicTo(780.423096f, 428.346069f, 783.340088f, 424.960907f, 785.889709f, 425.218445f);
  139. pathB.cubicTo(789.25592f, 425.565857f, 793.166199f, 430.745972f, 793.805115f, 430.790894f);
  140. pathB.cubicTo(793.940857f, 430.798889f, 795.918457f, 429.091797f, 798.454102f, 427.383728f);
  141. pathB.cubicTo(801.049683f, 425.635742f, 804.230225f, 423.886749f, 806.619141f, 423.980591f);
  142. pathB.cubicTo(805.621826f, 423.586243f, 805.048828f, 423.074127f, 804.804199f, 422.609924f);
  143. pathB.cubicTo(804.616577f, 422.25354f, 804.616577f, 421.539764f, 804.616577f, 420.31488f);
  144. pathB.cubicTo(804.623535f, 411.732605f, 804.623535f, 403.147339f, 804.623535f, 394.562073f);
  145. pathB.cubicTo(804.623535f, 392.464691f, 805.970215f, 391.000183f, 805.984192f, 390.896362f);
  146. pathB.cubicTo(805.984192f, 390.896362f, 796.785034f, 383.7117f, 795.219666f, 383.7117f);
  147. pathB.cubicTo(795.19873f, 383.712708f, 795.181763f, 383.712708f, 795.165771f, 383.714722f);
  148. pathB.moveTo(648.092285f, 387.883545f);
  149. pathB.cubicTo(649.095581f, 388.312805f, 651.55835f, 390.099762f, 653.655701f, 390.884399f);
  150. pathB.cubicTo(651.831848f, 392.522583f, 649.82428f, 394.447296f, 648.092285f, 396.003601f);
  151. pathB.lineTo(648.092285f, 387.883545f);
  152. pathB.close();
  153. pathB.moveTo(651.009277f, 381.943756f);
  154. pathB.cubicTo(650.147766f, 381.983704f, 639.893372f, 388.105164f, 639.899353f, 388.254913f);
  155. pathB.cubicTo(639.899353f, 388.254913f, 641.987793f, 390.744659f, 641.987793f, 391.617157f);
  156. pathB.lineTo(641.987793f, 412.399475f);
  157. pathB.cubicTo(641.987793f, 414.409027f, 641.082336f, 415.369354f, 640.169861f, 416.864807f);
  158. pathB.cubicTo(643.155762f, 417.53064f, 644.650208f, 417.87207f, 647.638062f, 418.573853f);
  159. pathB.cubicTo(649.188416f, 418.865356f, 651.666138f, 418.908295f, 653.19751f, 417.725311f);
  160. pathB.cubicTo(657.204651f, 414.633636f, 660.859375f, 409.690125f, 661.590088f, 407.106567f);
  161. pathB.cubicTo(663.231262f, 401.397339f, 652.356934f, 405.644073f, 652.375916f, 405.663025f);
  162. pathB.cubicTo(652.375916f, 405.663025f, 661.338562f, 403.835175f, 659.857056f, 408.632935f);
  163. pathB.cubicTo(659.199219f, 410.748291f, 656.568726f, 413.424713f, 654.656982f, 413.151184f);
  164. pathB.cubicTo(650.381348f, 412.536224f, 648.092285f, 412.591125f, 648.092285f, 410.146332f);
  165. pathB.lineTo(648.092285f, 398.270721f);
  166. pathB.cubicTo(651.374634f, 393.5159f, 660.66571f, 388.09021f, 660.674683f, 387.791718f);
  167. pathB.cubicTo(660.674683f, 387.791718f, 652.188232f, 381.941772f, 651.022278f, 381.942749f);
  168. pathB.cubicTo(651.01825f, 381.942749f, 651.013245f, 381.942749f, 651.009277f, 381.943756f);
  169. pathB.moveTo(761.636353f, 385.965851f);
  170. pathB.cubicTo(761.927856f, 386.056702f, 762.071594f, 386.098633f, 762.363098f, 386.189453f);
  171. pathB.cubicTo(763.570007f, 386.938171f, 764.175964f, 387.311554f, 765.376892f, 388.066254f);
  172. pathB.cubicTo(766.019775f, 388.546417f, 766.384155f, 389.184326f, 766.384155f, 390.147675f);
  173. pathB.lineTo(766.384155f, 410.924011f);
  174. pathB.cubicTo(766.384155f, 412.057037f, 765.836121f, 413.410736f, 764.559326f, 414.979034f);
  175. pathB.cubicTo(765.911987f, 415.738739f, 766.579834f, 416.12207f, 767.934509f, 416.887756f);
  176. pathB.cubicTo(769.029602f, 417.495728f, 770.944336f, 418.000854f, 771.85675f, 418.075714f);
  177. pathB.cubicTo(772.58551f, 418.134613f, 773.413086f, 417.987854f, 773.950195f, 417.638458f);
  178. pathB.cubicTo(776.583618f, 415.917419f, 778.332642f, 413.564453f, 778.237793f, 413.473633f);
  179. pathB.cubicTo(778.237793f, 413.473633f, 776.507812f, 413.497559f, 775.596313f, 413.066315f);
  180. pathB.cubicTo(774.866577f, 412.61908f, 774.497253f, 412.39447f, 773.771484f, 411.951233f);
  181. pathB.cubicTo(772.947876f, 411.444092f, 772.493652f, 410.877075f, 772.493652f, 409.919708f);
  182. pathB.lineTo(772.493652f, 390.013885f);
  183. pathB.cubicTo(772.493652f, 388.618286f, 772.860046f, 387.949432f, 773.407104f, 387.995361f);
  184. pathB.cubicTo(773.771484f, 388.026306f, 774.318542f, 388.509491f, 775.049316f, 389.09848f);
  185. pathB.cubicTo(775.742065f, 389.646515f, 776.088501f, 389.923065f, 776.77533f, 390.470123f);
  186. pathB.cubicTo(774.590088f, 392.45871f, 773.589783f, 394.385376f, 773.589783f, 396.395935f);
  187. pathB.cubicTo(773.589783f, 400.673584f, 777.907349f, 401.008026f, 779.237122f, 398.292694f);
  188. pathB.cubicTo(779.539551f, 397.684723f, 780.089661f, 396.027557f, 780.058716f, 396.01358f);
  189. pathB.cubicTo(780.058716f, 396.01358f, 778.970581f, 396.694427f, 778.149963f, 396.618561f);
  190. pathB.cubicTo(776.598633f, 396.4758f, 775.775024f, 395.709106f, 775.775024f, 394.13681f);
  191. pathB.cubicTo(775.775024f, 392.042419f, 778.149963f, 389.103455f, 781.973389f, 385.892975f);
  192. pathB.cubicTo(780.697571f, 385.06839f, 777.326416f, 381.676208f, 776.506775f, 381.719147f);
  193. pathB.cubicTo(775.908813f, 381.747101f, 773.588806f, 384.868744f, 772.860046f, 385.506622f);
  194. pathB.cubicTo(770.451172f, 383.664795f, 769.248291f, 382.749359f, 766.843384f, 380.929504f);
  195. pathB.cubicTo(764.758972f, 382.934052f, 763.716736f, 383.940338f, 761.636353f, 385.965851f);
  196. pathB.moveTo(672.996521f, 379.821411f);
  197. pathB.cubicTo(672.123047f, 379.891266f, 669.7052f, 382.898132f, 668.887573f, 383.64682f);
  198. pathB.cubicTo(665.239868f, 386.999084f, 663.41095f, 390.213562f, 663.41095f, 393.356171f);
  199. pathB.cubicTo(663.41095f, 395.715118f, 664.439209f, 397.642792f, 666.785156f, 399.150208f);
  200. pathB.cubicTo(669.702148f, 401.02002f, 672.547302f, 402.439575f, 674.545837f, 403.655487f);
  201. pathB.cubicTo(676.261902f, 404.697693f, 677.105469f, 406.231049f, 677.105469f, 407.625671f);
  202. pathB.cubicTo(677.105469f, 408.671875f, 676.651245f, 409.777954f, 675.825684f, 410.7453f);
  203. pathB.cubicTo(675.12384f, 411.569885f, 674.538879f, 412.145905f, 673.997803f, 412.417419f);
  204. pathB.cubicTo(673.38385f, 412.724915f, 672.080078f, 411.958221f, 670.166382f, 410.198242f);
  205. pathB.cubicTo(668.113892f, 408.319458f, 667.062683f, 406.55249f, 667.062683f, 404.808502f);
  206. pathB.cubicTo(667.062683f, 404.020844f, 667.701599f, 402.580322f, 667.701599f, 402.580322f);
  207. pathB.cubicTo(667.701599f, 402.580322f, 661.773804f, 409.542358f, 661.951477f, 410.7453f);
  208. pathB.cubicTo(662.13916f, 412.037079f, 663.368042f, 413.524536f, 665.60321f, 415.469208f);
  209. pathB.cubicTo(667.791443f, 417.368927f, 669.261963f, 418.074738f, 669.983704f, 417.630493f);
  210. pathB.cubicTo(672.412537f, 416.138062f, 675.369446f, 413.822021f, 678.385254f, 410.790222f);
  211. pathB.cubicTo(680.485657f, 408.677856f, 681.587769f, 406.446686f, 681.587769f, 403.917023f);
  212. pathB.cubicTo(681.587769f, 400.859283f, 680.007446f, 398.490356f, 676.923767f, 396.806244f);
  213. pathB.cubicTo(673.540588f, 394.957428f, 671.257507f, 393.71756f, 670.351074f, 393.075653f);
  214. pathB.cubicTo(668.434326f, 391.71698f, 667.518921f, 390.193604f, 667.518921f, 388.88385f);
  215. pathB.cubicTo(667.518921f, 387.837646f, 668.101929f, 386.934204f, 669.25592f, 386.156525f);
  216. pathB.cubicTo(669.796997f, 385.788147f, 671.085815f, 386.257355f, 672.997498f, 387.592072f);
  217. pathB.cubicTo(674.966125f, 388.968689f, 676.104187f, 389.951019f, 676.284851f, 390.465118f);
  218. pathB.cubicTo(678.186584f, 388.130127f, 679.136963f, 386.966125f, 681.035706f, 384.646118f);
  219. pathB.cubicTo(678.244507f, 383.133728f, 674.247375f, 379.819397f, 673.044434f, 379.819397f);
  220. pathB.cubicTo(673.027466f, 379.819397f, 673.011475f, 379.820404f, 672.996521f, 379.821411f);
  221. pathB.moveTo(732.95459f, 384.60318f);
  222. pathB.cubicTo(733.246094f, 384.680054f, 733.391846f, 384.720001f, 733.689331f, 384.794861f);
  223. pathB.cubicTo(735.072937f, 385.500641f, 735.769714f, 385.856049f, 737.162354f, 386.563812f);
  224. pathB.cubicTo(737.891113f, 386.938171f, 738.164612f, 387.642975f, 738.164612f, 388.6073f);
  225. pathB.lineTo(738.164612f, 408.510132f);
  226. pathB.cubicTo(738.164612f, 410.257141f, 737.709412f, 411.893341f, 736.064209f, 413.416718f);
  227. pathB.cubicTo(737.635498f, 414.235321f, 738.419189f, 414.651611f, 739.991455f, 415.475189f);
  228. pathB.cubicTo(740.997742f, 416.034241f, 742.186707f, 416.344696f, 743.098145f, 416.379639f);
  229. pathB.cubicTo(743.830872f, 416.410583f, 744.476807f, 416.175964f, 745.019836f, 415.851532f);
  230. pathB.cubicTo(746.476318f, 414.977051f, 748.58075f, 413.571442f, 749.225647f, 413.079285f);
  231. pathB.cubicTo(751.012573f, 414.253296f, 751.907043f, 414.845276f, 753.69696f, 416.028229f);
  232. pathB.cubicTo(754.703247f, 416.610229f, 755.706543f, 416.84082f, 756.528076f, 416.892761f);
  233. pathB.cubicTo(757.259827f, 416.93866f, 757.996582f, 416.807892f, 758.537659f, 416.494446f);
  234. pathB.cubicTo(760.814758f, 415.174713f, 762.185425f, 413.509552f, 762.552734f, 412.830719f);
  235. pathB.cubicTo(761.637329f, 412.681976f, 759.633789f, 411.58786f, 759.263428f, 411.387207f);
  236. pathB.cubicTo(758.607544f, 410.994873f, 758.279114f, 410.803223f, 757.621216f, 410.413879f);
  237. pathB.cubicTo(756.983276f, 410.020538f, 756.616943f, 409.301788f, 756.616943f, 408.343445f);
  238. pathB.lineTo(756.616943f, 388.351746f);
  239. pathB.cubicTo(756.616943f, 387.387421f, 757.164978f, 386.548859f, 758.627502f, 385.067383f);
  240. pathB.cubicTo(755.523804f, 383.05484f, 753.97052f, 382.057556f, 750.862854f, 380.078949f);
  241. pathB.cubicTo(749.001038f, 382.112457f, 748.069641f, 383.130707f, 746.207825f, 385.174194f);
  242. pathB.cubicTo(746.501343f, 385.292999f, 746.647095f, 385.353912f, 746.939575f, 385.472687f);
  243. pathB.cubicTo(747.996765f, 386.183472f, 748.525879f, 386.538879f, 749.587036f, 387.257629f);
  244. pathB.cubicTo(750.224915f, 387.724823f, 750.498474f, 388.351746f, 750.498474f, 389.223267f);
  245. pathB.lineTo(750.498474f, 407.822327f);
  246. pathB.cubicTo(750.498474f, 408.694824f, 750.339722f, 409.955658f, 749.951416f, 410.847137f);
  247. pathB.cubicTo(749.550049f, 411.761566f, 749.039978f, 411.585876f, 748.487915f, 411.560913f);
  248. pathB.cubicTo(747.393799f, 411.503998f, 746.385498f, 410.53067f, 745.473083f, 410.022552f);
  249. pathB.cubicTo(744.760254f, 409.627228f, 744.380981f, 409.013275f, 744.380981f, 407.965088f);
  250. pathB.lineTo(744.380981f, 386.840363f);
  251. pathB.cubicTo(744.380981f, 385.791138f, 744.833191f, 384.763916f, 745.657776f, 383.839508f);
  252. pathB.cubicTo(742.656921f, 382.101501f, 741.161499f, 381.234985f, 738.162659f, 379.525909f);
  253. pathB.cubicTo(736.083191f, 381.548431f, 735.039978f, 382.562683f, 732.95459f, 384.60318f);
  254. pathB.moveTo(692.546936f, 385.171204f);
  255. pathB.cubicTo(693.552246f, 385.667358f, 696.018005f, 387.607025f, 698.122375f, 388.521454f);
  256. pathB.cubicTo(696.293518f, 390.043854f, 694.281982f, 391.844757f, 692.546936f, 393.294281f);
  257. pathB.lineTo(692.546936f, 385.171204f);
  258. pathB.close();
  259. pathB.moveTo(695.4729f, 379.417084f);
  260. pathB.cubicTo(694.635376f, 379.426086f, 684.32605f, 384.880707f, 684.322083f, 385.025452f);
  261. pathB.cubicTo(684.322083f, 385.025452f, 686.422485f, 387.645966f, 686.422485f, 388.521454f);
  262. pathB.lineTo(686.422485f, 409.300781f);
  263. pathB.cubicTo(686.422485f, 411.312347f, 685.51001f, 412.21579f, 684.595581f, 413.65033f);
  264. pathB.cubicTo(687.592468f, 414.504852f, 689.089905f, 414.945099f, 692.088745f, 415.833557f);
  265. pathB.cubicTo(693.645081f, 416.221893f, 696.128784f, 416.420563f, 697.667114f, 415.334412f);
  266. pathB.cubicTo(701.67926f, 412.494293f, 705.344971f, 407.783386f, 706.077698f, 405.240753f);
  267. pathB.cubicTo(707.721924f, 399.638367f, 696.822632f, 403.198273f, 696.845581f, 403.216248f);
  268. pathB.cubicTo(696.845581f, 403.216248f, 705.825134f, 401.960388f, 704.337708f, 406.658325f);
  269. pathB.cubicTo(703.683838f, 408.733765f, 701.044373f, 411.241455f, 699.129639f, 410.847137f);
  270. pathB.cubicTo(694.843018f, 409.968628f, 692.545959f, 409.876801f, 692.545959f, 407.432983f);
  271. pathB.lineTo(692.545959f, 395.563354f);
  272. pathB.cubicTo(695.838318f, 391.012177f, 705.134338f, 386.160522f, 705.162292f, 385.873993f);
  273. pathB.cubicTo(705.162292f, 385.873993f, 696.635925f, 379.416107f, 695.473938f, 379.417084f);
  274. pathB.cubicTo(695.474915f, 379.417084f, 695.473938f, 379.417084f, 695.4729f, 379.417084f);
  275. pathB.moveTo(570.463562f, 420.81601f);
  276. pathB.lineTo(570.463562f, 402.922729f);
  277. pathB.cubicTo(571.039551f, 402.800934f, 571.327087f, 402.743042f, 571.901123f, 402.625244f);
  278. pathB.lineTo(571.901123f, 423.142029f);
  279. pathB.cubicTo(570.911804f, 422.823578f, 570.463562f, 422.123779f, 570.463562f, 420.81601f);
  280. pathB.moveTo(570.463562f, 384.062134f);
  281. pathB.cubicTo(571.039551f, 384.149963f, 571.327087f, 384.198883f, 571.901123f, 384.290741f);
  282. pathB.lineTo(571.901123f, 401.580048f);
  283. pathB.cubicTo(571.327087f, 401.695862f, 571.039551f, 401.756744f, 570.463562f, 401.874542f);
  284. pathB.lineTo(570.463562f, 384.062134f);
  285. pathB.close();
  286. pathB.moveTo(573.880676f, 376.556f);
  287. pathB.cubicTo(572.483093f, 376.996246f, 561.476013f, 385.624451f, 561.482971f, 385.70929f);
  288. pathB.cubicTo(561.482971f, 385.70929f, 563.637268f, 388.554413f, 563.637268f, 389.688446f);
  289. pathB.lineTo(563.637268f, 398.423462f);
  290. pathB.cubicTo(556.411682f, 399.838043f, 555.429382f, 404.307373f, 555.418396f, 405.679993f);
  291. pathB.lineTo(555.418396f, 405.724915f);
  292. pathB.cubicTo(555.42041f, 405.94455f, 555.448364f, 406.073334f, 555.477295f, 406.083313f);
  293. pathB.cubicTo(555.477295f, 406.083313f, 558.070862f, 404.250458f, 563.637268f, 403.222229f);
  294. pathB.lineTo(563.637268f, 404.797516f);
  295. pathB.cubicTo(556.993713f, 406.233063f, 555.191772f, 412.494293f, 555.569153f, 412.614105f);
  296. pathB.cubicTo(555.569153f, 412.614105f, 561.572815f, 410.21521f, 563.637268f, 409.598267f);
  297. pathB.lineTo(563.637268f, 424.00354f);
  298. pathB.cubicTo(563.637268f, 426.357483f, 563.36676f, 427.901855f, 562.291565f, 429.70874f);
  299. pathB.cubicTo(565.448181f, 430.067139f, 567.028442f, 430.256805f, 570.192017f, 430.653137f);
  300. pathB.cubicTo(571.99292f, 430.893707f, 574.782166f, 430.669098f, 576.403381f, 429.136719f);
  301. pathB.cubicTo(580.960571f, 424.828125f, 586.135681f, 419.346527f, 586.135681f, 416.115082f);
  302. pathB.lineTo(586.135681f, 406.511566f);
  303. pathB.cubicTo(586.135681f, 405.377533f, 586.047791f, 404.608856f, 586.678711f, 403.271149f);
  304. pathB.cubicTo(584.151062f, 404.98819f, 582.888245f, 405.851715f, 580.362549f, 407.587738f);
  305. pathB.cubicTo(579.281433f, 408.320465f, 579.192566f, 409.2948f, 579.192566f, 410.955933f);
  306. pathB.lineTo(579.192566f, 421.869202f);
  307. pathB.cubicTo(579.192566f, 423.180969f, 577.746033f, 423.273804f, 577.392639f, 423.266815f);
  308. pathB.cubicTo(575.636658f, 423.228882f, 574.153259f, 423.295776f, 573.071106f, 423.077148f);
  309. pathB.lineTo(573.071106f, 384.663086f);
  310. pathB.cubicTo(575.230408f, 385.379852f, 576.309509f, 385.742249f, 578.473816f, 386.473999f);
  311. pathB.cubicTo(579.373291f, 386.996094f, 579.553955f, 387.490234f, 579.553955f, 388.013336f);
  312. pathB.cubicTo(581.861023f, 384.848785f, 583.015991f, 383.267487f, 585.325073f, 380.114899f);
  313. pathB.cubicTo(581.680298f, 379.229431f, 575.865295f, 376.520081f, 574.157227f, 376.521057f);
  314. pathB.cubicTo(574.047424f, 376.522064f, 573.955566f, 376.533051f, 573.880676f, 376.556f);
  315. pathB.moveTo(593.447083f, 375.096527f);
  316. pathB.cubicTo(592.363953f, 375.804291f, 591.821899f, 376.772644f, 591.821899f, 377.908691f);
  317. pathB.lineTo(591.821899f, 419.46933f);
  318. pathB.cubicTo(591.821899f, 420.517517f, 591.187012f, 422.018951f, 589.921143f, 423.991577f);
  319. pathB.cubicTo(591.2948f, 424.412842f, 591.982605f, 424.622467f, 593.354248f, 425.050751f);
  320. pathB.cubicTo(594.53125f, 425.462036f, 595.525513f, 425.555878f, 596.427979f, 425.404144f);
  321. pathB.cubicTo(597.150757f, 425.279358f, 597.785645f, 424.914978f, 598.326721f, 424.475739f);
  322. pathB.cubicTo(600.935242f, 422.385315f, 602.846985f, 419.809753f, 602.759094f, 419.749847f);
  323. pathB.cubicTo(602.759094f, 419.749847f, 601.582153f, 419.935516f, 600.59082f, 419.831696f);
  324. pathB.cubicTo(600.0448f, 419.74585f, 599.774231f, 419.700928f, 599.233154f, 419.615082f);
  325. pathB.cubicTo(598.416565f, 419.484314f, 597.965332f, 418.860382f, 597.965332f, 417.988861f);
  326. pathB.lineTo(597.965332f, 396.857147f);
  327. pathB.cubicTo(597.965332f, 395.376678f, 598.326721f, 394.617004f, 598.867798f, 394.528137f);
  328. pathB.cubicTo(599.232178f, 394.466248f, 599.773254f, 394.731812f, 600.59082f, 395.124115f);
  329. pathB.cubicTo(601.601074f, 395.589325f, 602.111206f, 395.819946f, 603.123474f, 396.288116f);
  330. pathB.cubicTo(603.93811f, 396.686432f, 603.93512f, 397.38324f, 603.93512f, 398.169891f);
  331. pathB.cubicTo(603.93512f, 405.971497f, 603.93512f, 413.768127f, 603.93811f, 421.569702f);
  332. pathB.cubicTo(603.93811f, 425.325256f, 601.109924f, 430.634155f, 601.133911f, 430.656128f);
  333. pathB.cubicTo(601.133911f, 430.656128f, 605.184937f, 427.222015f, 607.017822f, 424.414825f);
  334. pathB.cubicTo(609.118164f, 421.201355f, 610.280212f, 417.987854f, 610.280212f, 415.109802f);
  335. pathB.lineTo(610.280212f, 394.593048f);
  336. pathB.cubicTo(610.280212f, 393.890228f, 610.823242f, 393.112579f, 611.728699f, 392.020447f);
  337. pathB.cubicTo(608.827698f, 390.960266f, 604.000977f, 387.703857f, 602.759094f, 387.967407f);
  338. pathB.cubicTo(602.120239f, 388.104187f, 599.957947f, 391.29071f, 597.965332f, 393.27829f);
  339. pathB.lineTo(597.965332f, 374.422668f);
  340. pathB.cubicTo(597.965332f, 373.461334f, 598.326721f, 372.440063f, 598.867798f, 371.567566f);
  341. pathB.cubicTo(596.701538f, 372.96817f, 595.616394f, 373.677948f, 593.447083f, 375.096527f);
  342. pathB.moveTo(718.054138f, 409.318756f);
  343. pathB.cubicTo(717.461182f, 408.789673f, 716.867188f, 408.178711f, 716.867188f, 407.218353f);
  344. pathB.lineTo(716.867188f, 387.053986f);
  345. pathB.cubicTo(716.867188f, 385.305969f, 717.323425f, 385.566528f, 718.328674f, 386.013763f);
  346. pathB.cubicTo(719.645386f, 386.859314f, 720.307251f, 387.284576f, 721.622009f, 388.135132f);
  347. pathB.cubicTo(722.266907f, 388.4935f, 722.903809f, 388.934753f, 722.903809f, 389.721405f);
  348. pathB.lineTo(722.903809f, 407.794373f);
  349. pathB.cubicTo(722.903809f, 408.66687f, 722.746094f, 410.490753f, 722.259888f, 410.758301f);
  350. pathB.cubicTo(722.125122f, 410.83017f, 721.950439f, 410.862122f, 721.746826f, 410.862122f);
  351. pathB.cubicTo(720.655701f, 410.864105f, 718.747925f, 409.936707f, 718.054138f, 409.318756f);
  352. pathB.moveTo(711.928711f, 364.782227f);
  353. pathB.cubicTo(711.195923f, 365.134613f, 710.648865f, 365.834412f, 710.648865f, 366.794769f);
  354. pathB.lineTo(710.648865f, 407.392059f);
  355. pathB.cubicTo(710.648865f, 409.397614f, 708.519531f, 411.37323f, 708.547485f, 411.684692f);
  356. pathB.cubicTo(708.550476f, 411.745605f, 711.838867f, 413.067322f, 713.849365f, 414.368073f);
  357. pathB.cubicTo(717.766663f, 416.906738f, 720.162537f, 415.845551f, 722.354797f, 414.073608f);
  358. pathB.cubicTo(724.059875f, 412.69397f, 726.55957f, 410.981903f, 730.675537f, 410.124359f);
  359. pathB.cubicTo(729.75708f, 409.143066f, 729.213013f, 407.993042f, 729.213013f, 406.683289f);
  360. pathB.cubicTo(729.213013f, 399.630402f, 729.209045f, 396.103455f, 729.209045f, 389.047546f);
  361. pathB.cubicTo(729.209045f, 387.648956f, 730.577698f, 385.292023f, 730.583679f, 385.149261f);
  362. pathB.cubicTo(730.583679f, 385.149261f, 720.888306f, 378.762207f, 719.609497f, 378.947906f);
  363. pathB.cubicTo(719.275085f, 378.996826f, 717.872498f, 381.118164f, 716.868225f, 381.896851f);
  364. pathB.lineTo(716.868225f, 365.046783f);
  365. pathB.cubicTo(716.868225f, 363.740021f, 716.960083f, 363.043213f, 717.597961f, 362);
  366. pathB.cubicTo(715.331848f, 363.104095f, 714.19873f, 363.657166f, 711.928711f, 364.782227f);
  367. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  368. }
  369. static void skpeverytechpro_blogspot_com100(skiatest::Reporter* reporter, const char* filename) {
  370. SkPath path;
  371. path.setFillType(SkPath::kEvenOdd_FillType);
  372. path.moveTo(1074.29285f, 627.292786f);
  373. path.quadTo(1074.58582f, 627, 1075, 627);
  374. path.lineTo(1117, 627);
  375. path.quadTo(1124.04163f, 627, 1129.02246f, 631.9776f);
  376. path.quadTo(1134, 636.958374f, 1134, 644);
  377. path.lineTo(1134, 645);
  378. path.quadTo(1134, 652.041626f, 1129.02246f, 657.0224f);
  379. path.quadTo(1124.04163f, 662, 1117, 662);
  380. path.lineTo(1075, 662);
  381. path.quadTo(1074.58582f, 662, 1074.29285f, 661.707214f);
  382. path.quadTo(1074, 661.414185f, 1074, 661);
  383. path.lineTo(1074, 628);
  384. path.quadTo(1074, 627.585815f, 1074.29285f, 627.292786f);
  385. path.close();
  386. path.moveTo(1076, 629);
  387. path.lineTo(1117, 629);
  388. path.cubicTo(1125.2843f, 629, 1132, 635.715698f, 1132, 644);
  389. path.lineTo(1132, 645);
  390. path.cubicTo(1132, 653.284302f, 1125.2843f, 660, 1117, 660);
  391. path.lineTo(1076, 660);
  392. path.lineTo(1076, 629);
  393. path.close();
  394. SkPath pathB;
  395. pathB.setFillType(SkPath::kWinding_FillType);
  396. pathB.moveTo(1074, 627);
  397. pathB.lineTo(1075, 628);
  398. pathB.lineTo(1116.5f, 644.5f);
  399. pathB.lineTo(1134, 627);
  400. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  401. }
  402. static void skpflite_com41(skiatest::Reporter* reporter, const char* filename) {
  403. SkPath path;
  404. path.setFillType(SkPath::kEvenOdd_FillType);
  405. path.moveTo(301.464081f, 424);
  406. path.lineTo(296, 433.46405f);
  407. path.lineTo(296, 433.810822f);
  408. path.lineTo(303.25589f, 438);
  409. path.lineTo(304.729736f, 438);
  410. path.lineTo(311, 427.139557f);
  411. path.lineTo(311, 426.305237f);
  412. path.lineTo(307.007202f, 424);
  413. path.lineTo(301.464081f, 424);
  414. path.close();
  415. SkPath pathB;
  416. pathB.setFillType(SkPath::kWinding_FillType);
  417. pathB.moveTo(302.849854f, 421.599762f);
  418. pathB.lineTo(311.510101f, 426.599762f);
  419. pathB.lineTo(304.510101f, 438.724121f);
  420. pathB.lineTo(295.849854f, 433.724121f);
  421. pathB.close();
  422. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  423. }
  424. static void skpilkoora_com37(skiatest::Reporter* reporter, const char* filename) {
  425. SkPath path;
  426. path.setFillType(SkPath::kEvenOdd_FillType);
  427. path.moveTo(818, 157);
  428. path.cubicTo(818, 148.715729f, 824.715698f, 142, 833, 142);
  429. path.lineTo(909, 142);
  430. path.lineTo(909, 143);
  431. path.lineTo(833, 143);
  432. path.cubicTo(825.268005f, 143, 819, 149.268005f, 819, 157);
  433. path.lineTo(819, 926);
  434. path.lineTo(818, 926);
  435. path.lineTo(818, 157);
  436. path.close();
  437. path.moveTo(1184, 926);
  438. path.lineTo(1185, 926);
  439. path.lineTo(1185, 157);
  440. path.cubicTo(1185, 148.715729f, 1178.2843f, 142, 1170, 142);
  441. path.lineTo(1093, 142);
  442. path.lineTo(1093, 143);
  443. path.lineTo(1170, 143);
  444. path.cubicTo(1177.73193f, 143, 1184, 149.268005f, 1184, 157);
  445. path.lineTo(1184, 926);
  446. path.close();
  447. SkPath pathB;
  448. pathB.setFillType(SkPath::kWinding_FillType);
  449. pathB.moveTo(1185, 142);
  450. pathB.lineTo(1001.5f, 325.5f);
  451. pathB.lineTo(1001.5f, 782.5f);
  452. pathB.lineTo(1185, 966);
  453. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  454. }
  455. static void skpmm4everfriends_com43(skiatest::Reporter* reporter, const char* filename) {
  456. SkPath path;
  457. path.setFillType(SkPath::kEvenOdd_FillType);
  458. path.moveTo(540.74231f, 215.922546f);
  459. path.cubicTo(540.893127f, 215.391159f, 541.443909f, 215.090134f, 541.972473f, 215.250168f);
  460. path.lineTo(581.213318f, 227.131104f);
  461. path.cubicTo(581.741882f, 227.291153f, 582.048157f, 227.851654f, 581.897339f, 228.383041f);
  462. path.lineTo(576.708923f, 246.663925f);
  463. path.cubicTo(576.558167f, 247.195297f, 576.007324f, 247.496338f, 575.47876f, 247.336288f);
  464. path.lineTo(536.237915f, 235.455353f);
  465. path.cubicTo(535.709351f, 235.295319f, 535.403137f, 234.734802f, 535.553894f, 234.20343f);
  466. path.lineTo(540.74231f, 215.922546f);
  467. path.close();
  468. SkPath pathB;
  469. pathB.setFillType(SkPath::kWinding_FillType);
  470. pathB.moveTo(541.015381f, 214.960388f);
  471. pathB.lineTo(582.17041f, 227.420883f);
  472. pathB.lineTo(576.435852f, 247.626068f);
  473. pathB.lineTo(535.280823f, 235.165573f);
  474. pathB.close();
  475. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  476. }
  477. static void skpmtrk_uz27(skiatest::Reporter* reporter, const char* filename) {
  478. SkPath path;
  479. path.setFillType(SkPath::kEvenOdd_FillType);
  480. path.moveTo(33, 787);
  481. path.lineTo(33, 412);
  482. path.lineTo(1233, 412);
  483. path.lineTo(1233, 787);
  484. path.quadTo(1233, 793.213196f, 1228.60803f, 797.607971f);
  485. path.quadTo(1224.21326f, 802, 1218, 802);
  486. path.lineTo(48, 802);
  487. path.quadTo(41.7867966f, 802, 37.3919983f, 797.607971f);
  488. path.quadTo(33, 793.213196f, 33, 787);
  489. path.close();
  490. SkPath pathB;
  491. pathB.setFillType(SkPath::kWinding_FillType);
  492. pathB.moveTo(33, 412);
  493. pathB.lineTo(1233, 412);
  494. pathB.lineTo(1233, 787);
  495. pathB.quadTo(1233, 793.213196f, 1228.60791f, 797.608032f);
  496. pathB.quadTo(1224.21313f, 802, 1218, 802);
  497. pathB.lineTo(48, 802);
  498. pathB.quadTo(41.7867432f, 802, 37.3919678f, 797.608032f);
  499. pathB.quadTo(33, 793.213196f, 33, 787);
  500. pathB.close();
  501. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  502. }
  503. static void skpfrauen_magazin_com83(skiatest::Reporter* reporter, const char* filename) {
  504. SkPath path;
  505. path.setFillType(SkPath::kEvenOdd_FillType);
  506. path.moveTo(808, 886);
  507. path.cubicTo(805.581055f, 886, 803.563293f, 887.717773f, 803.100037f, 890);
  508. path.lineTo(1122.90002f, 890);
  509. path.cubicTo(1122.43677f, 887.717773f, 1120.41895f, 886, 1118, 886);
  510. path.lineTo(808, 886);
  511. path.close();
  512. SkPath pathB;
  513. pathB.setFillType(SkPath::kInverseWinding_FillType);
  514. pathB.moveTo(808, 886);
  515. pathB.lineTo(1118, 886);
  516. pathB.cubicTo(1120.76147f, 886, 1123, 888.238586f, 1123, 891);
  517. pathB.lineTo(1123, 1521);
  518. pathB.cubicTo(1123, 1523.20911f, 1120.76147f, 1525, 1118, 1525);
  519. pathB.lineTo(808, 1525);
  520. pathB.cubicTo(805.238586f, 1525, 803, 1523.20911f, 803, 1521);
  521. pathB.lineTo(803, 891);
  522. pathB.cubicTo(803, 888.238586f, 805.238586f, 886, 808, 886);
  523. pathB.close();
  524. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  525. }
  526. static void skpi_gino_com16(skiatest::Reporter* reporter, const char* filename) {
  527. SkPath path;
  528. path.setFillType(SkPath::kEvenOdd_FillType);
  529. path.moveTo(184, 734);
  530. path.quadTo(133.051727f, 734, 97.0258636f, 770.025879f);
  531. path.quadTo(61, 806.051758f, 61, 857);
  532. path.quadTo(61, 895.835083f, 81.9317017f, 926);
  533. path.lineTo(286.068298f, 926);
  534. path.quadTo(307, 895.835083f, 307, 857);
  535. path.quadTo(307, 806.051758f, 270.974121f, 770.025879f);
  536. path.quadTo(234.948273f, 734, 184, 734);
  537. path.close();
  538. SkPath pathB;
  539. pathB.setFillType(SkPath::kWinding_FillType);
  540. pathB.moveTo(185, 734);
  541. pathB.cubicTo(252.93103f, 734, 308, 789.06897f, 308, 857);
  542. pathB.cubicTo(308, 924.93103f, 252.93103f, 980, 185, 980);
  543. pathB.lineTo(184, 980);
  544. pathB.cubicTo(116.068977f, 980, 61, 924.93103f, 61, 857);
  545. pathB.cubicTo(61, 789.06897f, 116.068977f, 734, 184, 734);
  546. pathB.lineTo(185, 734);
  547. pathB.close();
  548. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  549. }
  550. static void skppchappy_com_au102(skiatest::Reporter* reporter, const char* filename) {
  551. SkPath path;
  552. path.setFillType(SkPath::kEvenOdd_FillType);
  553. path.moveTo(363, 493);
  554. path.cubicTo(360.790863f, 493, 359, 494.790863f, 359, 497);
  555. path.lineTo(359, 656);
  556. path.cubicTo(359, 658.209106f, 360.790863f, 660, 363, 660);
  557. path.lineTo(623.001709f, 660);
  558. path.cubicTo(624.657776f, 659.999023f, 626, 658.65625f, 626, 657);
  559. path.lineTo(626, 496);
  560. path.cubicTo(626, 494.343872f, 624.657959f, 493.00116f, 623.002075f, 493);
  561. path.lineTo(363, 493);
  562. path.close();
  563. SkPath pathB;
  564. pathB.setFillType(SkPath::kInverseWinding_FillType);
  565. pathB.moveTo(362, 494);
  566. pathB.lineTo(623, 494);
  567. pathB.cubicTo(624.65686f, 494, 626, 494.895416f, 626, 496);
  568. pathB.lineTo(626, 657);
  569. pathB.cubicTo(626, 658.65686f, 624.65686f, 660, 623, 660);
  570. pathB.lineTo(362, 660);
  571. pathB.cubicTo(360.34314f, 660, 359, 658.65686f, 359, 657);
  572. pathB.lineTo(359, 496);
  573. pathB.cubicTo(359, 494.895416f, 360.34314f, 494, 362, 494);
  574. pathB.close();
  575. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  576. }
  577. static void skpsciality_com161(skiatest::Reporter* reporter, const char* filename) {
  578. SkPath path;
  579. path.setFillType(SkPath::kEvenOdd_FillType);
  580. path.moveTo(656, 728);
  581. path.cubicTo(653.790833f, 728, 652, 729.790833f, 652, 732);
  582. path.lineTo(652, 789);
  583. path.cubicTo(652, 791.209106f, 653.790833f, 793, 656, 793);
  584. path.lineTo(769.001282f, 793);
  585. path.cubicTo(770.657532f, 792.999268f, 772, 791.656433f, 772, 790);
  586. path.lineTo(772, 731);
  587. path.cubicTo(772, 729.34314f, 770.65686f, 728, 769, 728);
  588. path.lineTo(656, 728);
  589. path.close();
  590. SkPath pathB;
  591. pathB.setFillType(SkPath::kInverseWinding_FillType);
  592. pathB.moveTo(655, 729);
  593. pathB.lineTo(769, 729);
  594. pathB.cubicTo(770.65686f, 729, 772, 729.895447f, 772, 731);
  595. pathB.lineTo(772, 790);
  596. pathB.cubicTo(772, 791.65686f, 770.65686f, 793, 769, 793);
  597. pathB.lineTo(655, 793);
  598. pathB.cubicTo(653.34314f, 793, 652, 791.65686f, 652, 790);
  599. pathB.lineTo(652, 731);
  600. pathB.cubicTo(652, 729.895447f, 653.34314f, 729, 655, 729);
  601. pathB.close();
  602. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  603. }
  604. static void skpsudoestenegocios_com186(skiatest::Reporter* reporter, const char* filename) {
  605. SkPath path;
  606. path.setFillType(SkPath::kEvenOdd_FillType);
  607. path.moveTo(0, 495);
  608. path.lineTo(1.23685242e-14f, 293);
  609. path.lineTo(44, 293);
  610. path.quadTo(45.6568527f, 293, 46.8288002f, 294.171204f);
  611. path.quadTo(48, 295.34314f, 48, 297);
  612. path.lineTo(48, 491);
  613. path.quadTo(48, 492.65686f, 46.8288002f, 493.828796f);
  614. path.quadTo(45.6568527f, 495, 44, 495);
  615. path.lineTo(0, 495);
  616. path.close();
  617. path.moveTo(1, 294);
  618. path.lineTo(44, 294);
  619. path.cubicTo(45.6568565f, 294, 47, 295.34314f, 47, 297);
  620. path.lineTo(47, 491);
  621. path.cubicTo(47, 492.65686f, 45.6568565f, 494, 44, 494);
  622. path.lineTo(1, 494);
  623. path.lineTo(1, 294);
  624. path.close();
  625. SkPath pathB;
  626. pathB.setFillType(SkPath::kWinding_FillType);
  627. pathB.moveTo(48, 495);
  628. pathB.lineTo(24, 471);
  629. pathB.lineTo(24, 317);
  630. pathB.lineTo(48, 293);
  631. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  632. }
  633. static void skpthesuburbanite_com213(skiatest::Reporter* reporter, const char* filename) {
  634. SkPath path;
  635. path.setFillType(SkPath::kEvenOdd_FillType);
  636. path.moveTo(863.439026f, 692);
  637. path.lineTo(863.283264f, 692);
  638. path.lineTo(802, 708.420837f);
  639. path.lineTo(802, 718.773621f);
  640. path.lineTo(866, 701.624817f);
  641. path.lineTo(866, 701.557922f);
  642. path.lineTo(863.439026f, 692);
  643. path.close();
  644. SkPath pathB;
  645. pathB.setFillType(SkPath::kWinding_FillType);
  646. pathB.moveTo(783.256775f, 713.443054f);
  647. pathB.lineTo(863.428589f, 691.96106f);
  648. pathB.lineTo(866.016724f, 701.620361f);
  649. pathB.lineTo(785.84491f, 723.102356f);
  650. pathB.close();
  651. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  652. }
  653. static void skphostloco_com11(skiatest::Reporter* reporter, const char* filename) {
  654. SkPath path;
  655. path.setFillType(SkPath::kEvenOdd_FillType);
  656. path.moveTo(6.66133815e-16f, 648);
  657. path.lineTo(25.8522835f, 648);
  658. path.quadTo(27.5087376f, 647.999634f, 28.6807098f, 646.82843f);
  659. path.quadTo(29.8518829f, 645.656433f, 29.8522835f, 644);
  660. path.lineTo(29.8522835f, 467);
  661. path.quadTo(29.8518829f, 465.343536f, 28.6807098f, 464.17157f);
  662. path.quadTo(27.5087376f, 463.000397f, 25.8522835f, 463);
  663. path.lineTo(2.22044605e-16f, 463);
  664. path.lineTo(6.66133815e-16f, 648);
  665. path.close();
  666. SkPath pathB;
  667. pathB.setFillType(SkPath::kWinding_FillType);
  668. pathB.moveTo(0, 463);
  669. pathB.lineTo(30, 463);
  670. pathB.lineTo(30, 648);
  671. pathB.lineTo(0, 648);
  672. pathB.close();
  673. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  674. }
  675. static void skpsergeychunkevich_com8(skiatest::Reporter* reporter, const char* filename) {
  676. SkPath path;
  677. path.setFillType(SkPath::kEvenOdd_FillType);
  678. path.moveTo(0, 926);
  679. path.lineTo(0, 0);
  680. path.lineTo(1265, 0);
  681. path.lineTo(1265, 926);
  682. path.lineTo(0, 926);
  683. path.close();
  684. SkPath pathB;
  685. pathB.setFillType(SkPath::kInverseWinding_FillType);
  686. pathB.moveTo(37, 374);
  687. pathB.lineTo(37, 535);
  688. pathB.cubicTo(37, 536.65686f, 35.6568565f, 538, 34, 538);
  689. pathB.lineTo(1.02866934e-14f, 538);
  690. pathB.lineTo(6.12303177e-17f, 371);
  691. pathB.lineTo(34, 371);
  692. pathB.cubicTo(35.6568565f, 371, 37, 372.34314f, 37, 374);
  693. pathB.close();
  694. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  695. }
  696. static void skptracksflow_com9(skiatest::Reporter* reporter, const char* filename) {
  697. SkPath path;
  698. path.setFillType(SkPath::kEvenOdd_FillType);
  699. path.moveTo(16, 56);
  700. path.lineTo(32, 56);
  701. path.lineTo(32, 72);
  702. path.lineTo(16, 72);
  703. path.lineTo(16, 56);
  704. path.close();
  705. SkPath pathB;
  706. pathB.setFillType(SkPath::kEvenOdd_FillType);
  707. pathB.moveTo(31.65625f, 70.0555649f);
  708. pathB.lineTo(31.65625f, 70.0554962f);
  709. pathB.lineTo(26.9727192f, 65.3615341f);
  710. pathB.cubicTo(27.6210003f, 64.4029694f, 28.0048752f, 63.2470932f, 28.0048752f, 62.0027809f);
  711. pathB.cubicTo(28.0048752f, 58.6875305f, 25.3199062f, 56, 22.0046558f, 56);
  712. pathB.cubicTo(18.6894073f, 56, 16.0031872f, 58.6875305f, 16.0031872f, 62.0027809f);
  713. pathB.cubicTo(16.0031872f, 65.3180008f, 18.6913433f, 68.0055618f, 22.0066261f, 68.0055618f);
  714. pathB.cubicTo(23.2509995f, 68.0055618f, 24.4072189f, 67.6187515f, 25.3657818f, 66.9704056f);
  715. pathB.lineTo(30.0599365f, 71.65625f);
  716. pathB.lineTo(30.0600014f, 71.65625f);
  717. pathB.cubicTo(30.2668133f, 71.875f, 30.5524693f, 71.9992828f, 30.868f, 71.9992828f);
  718. pathB.cubicTo(31.4994049f, 71.9992828f, 32.0014687f, 71.4909363f, 32.0014687f, 70.8595276f);
  719. pathB.cubicTo(32.0015335f, 70.5439072f, 31.875f, 70.2623444f, 31.65625f, 70.0555649f);
  720. pathB.close();
  721. pathB.moveTo(18.0054054f, 62.0027809f);
  722. pathB.cubicTo(18.0054054f, 59.7925949f, 19.7970943f, 58.0009079f, 22.0072823f, 58.0009079f);
  723. pathB.cubicTo(24.2174377f, 58.0009079f, 26.0091248f, 59.7925949f, 26.0091248f, 62.0027809f);
  724. pathB.cubicTo(26.0091248f, 64.2129364f, 24.2174377f, 66.0046234f, 22.0072803f, 66.0046234f);
  725. pathB.cubicTo(19.7970943f, 66.0045929f, 18.0054054f, 64.2129059f, 18.0054054f, 62.0027809f);
  726. pathB.close();
  727. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  728. }
  729. static void skpautobutler_dk29(skiatest::Reporter* reporter, const char* filename) {
  730. SkPath path;
  731. path.setFillType(SkPath::kEvenOdd_FillType);
  732. path.moveTo(0, 926);
  733. path.lineTo(0, 0);
  734. path.lineTo(1265, 0);
  735. path.lineTo(1265, 926);
  736. path.lineTo(0, 926);
  737. path.close();
  738. SkPath pathB;
  739. pathB.setFillType(SkPath::kWinding_FillType);
  740. pathB.moveTo(21, 162);
  741. pathB.lineTo(21, 301);
  742. pathB.lineTo(8.57224448e-15f, 301);
  743. pathB.lineTo(6.12303177e-17f, 162);
  744. pathB.close();
  745. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  746. }
  747. static void skponlinecollege_org144(skiatest::Reporter* reporter, const char* filename) {
  748. SkPath path;
  749. path.setFillType(SkPath::kEvenOdd_FillType);
  750. path.moveTo(179, 407);
  751. path.cubicTo(177.34314f, 407, 176, 408.34314f, 176, 410);
  752. path.lineTo(176, 436);
  753. path.cubicTo(176, 437.65686f, 177.34314f, 439, 179, 439);
  754. path.lineTo(337.002289f, 439);
  755. path.cubicTo(338.105835f, 438.998779f, 339, 438.103821f, 339, 437);
  756. path.lineTo(339, 409);
  757. path.cubicTo(339, 407.896362f, 338.10611f, 407.001526f, 337.002838f, 407);
  758. path.lineTo(179, 407);
  759. path.close();
  760. SkPath pathB;
  761. pathB.setFillType(SkPath::kInverseWinding_FillType);
  762. pathB.moveTo(179, 408);
  763. pathB.lineTo(337, 408);
  764. pathB.cubicTo(338.65686f, 408, 340, 408.895416f, 340, 410);
  765. pathB.lineTo(340, 436);
  766. pathB.cubicTo(340, 437.65686f, 338.65686f, 439, 337, 439);
  767. pathB.lineTo(179, 439);
  768. pathB.cubicTo(177.895432f, 439, 177, 437.65686f, 177, 436);
  769. pathB.lineTo(177, 410);
  770. pathB.cubicTo(177, 408.895416f, 177.895432f, 408, 179, 408);
  771. pathB.close();
  772. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  773. }
  774. static void skpnational_com_au81(skiatest::Reporter* reporter, const char* filename) {
  775. SkPath path;
  776. path.setFillType(SkPath::kEvenOdd_FillType);
  777. path.moveTo(807, 817);
  778. path.quadTo(806.585876f, 817.000122f, 806.292908f, 817.292908f);
  779. path.quadTo(806.000122f, 817.585876f, 806, 818);
  780. path.lineTo(806, 881);
  781. path.lineTo(1111, 881);
  782. path.lineTo(1111, 818);
  783. path.quadTo(1110.99988f, 817.585876f, 1110.70715f, 817.292908f);
  784. path.quadTo(1110.41406f, 817.000122f, 1110, 817);
  785. path.lineTo(807, 817);
  786. path.close();
  787. SkPath pathB;
  788. pathB.setFillType(SkPath::kInverseWinding_FillType);
  789. pathB.moveTo(807, 817);
  790. pathB.lineTo(1110, 817);
  791. pathB.cubicTo(1110.55225f, 817, 1111, 817.447693f, 1111, 818);
  792. pathB.lineTo(1111, 880);
  793. pathB.lineTo(806, 880);
  794. pathB.lineTo(806, 818);
  795. pathB.cubicTo(806, 817.447693f, 806.447693f, 817, 807, 817);
  796. pathB.close();
  797. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  798. }
  799. static void skprentacheat_com30(skiatest::Reporter* reporter, const char* filename) {
  800. SkPath path;
  801. path.setFillType(SkPath::kEvenOdd_FillType);
  802. path.moveTo(967, 263);
  803. path.quadTo(966.585876f, 263.000092f, 966.292908f, 263.292908f);
  804. path.quadTo(966.000122f, 263.585876f, 966, 264);
  805. path.lineTo(966, 301);
  806. path.lineTo(1214, 301);
  807. path.lineTo(1214, 264);
  808. path.quadTo(1213.99988f, 263.585876f, 1213.70715f, 263.292908f);
  809. path.quadTo(1213.41406f, 263.000092f, 1213, 263);
  810. path.lineTo(967, 263);
  811. path.close();
  812. SkPath pathB;
  813. pathB.setFillType(SkPath::kInverseWinding_FillType);
  814. pathB.moveTo(967, 263);
  815. pathB.lineTo(1213, 263);
  816. pathB.cubicTo(1213.55225f, 263, 1214, 263.447723f, 1214, 264);
  817. pathB.lineTo(1214, 300);
  818. pathB.lineTo(966, 300);
  819. pathB.lineTo(966, 264);
  820. pathB.cubicTo(966, 263.447723f, 966.447693f, 263, 967, 263);
  821. pathB.close();
  822. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  823. }
  824. static void skpbreakmystyle_com10(skiatest::Reporter* reporter, const char* filename) {
  825. SkPath path;
  826. path.setFillType(SkPath::kEvenOdd_FillType);
  827. path.moveTo(271.032867f, -5.32907052e-15f);
  828. path.lineTo(56.9671326f, -5.16253706e-15f);
  829. path.quadTo(52.7835083f, 3.69968891f, 48.7416f, 7.74160004f);
  830. path.quadTo(1, 55.4831848f, 1, 123);
  831. path.quadTo(1, 190.516815f, 48.7416f, 238.258392f);
  832. path.quadTo(96.4831848f, 286, 164, 286);
  833. path.quadTo(231.516815f, 286, 279.258392f, 238.258392f);
  834. path.quadTo(327, 190.516815f, 327, 123);
  835. path.quadTo(327, 55.4831848f, 279.258392f, 7.74160004f);
  836. path.quadTo(275.216431f, 3.69964004f, 271.032867f, -5.32907052e-15f);
  837. path.close();
  838. SkPath pathB;
  839. pathB.setFillType(SkPath::kWinding_FillType);
  840. pathB.moveTo(327, 123);
  841. pathB.quadTo(327, 190.516815f, 279.258392f, 238.258392f);
  842. pathB.quadTo(231.516815f, 286, 164, 286);
  843. pathB.quadTo(96.4831848f, 286, 48.7416f, 238.258392f);
  844. pathB.quadTo(1, 190.516815f, 1, 123);
  845. pathB.quadTo(1, 55.4831848f, 48.7416f, 7.74160004f);
  846. pathB.quadTo(96.4831848f, -40, 164, -40);
  847. pathB.quadTo(231.516815f, -40, 279.258392f, 7.74160004f);
  848. pathB.quadTo(327, 55.4831848f, 327, 123);
  849. pathB.close();
  850. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  851. }
  852. static void skpsd_graphic_net104(skiatest::Reporter* reporter, const char* filename) {
  853. SkPath path;
  854. path.setFillType(SkPath::kEvenOdd_FillType);
  855. path.moveTo(475.421448f, 836.985962f);
  856. path.lineTo(461.280975f, 841.990662f);
  857. path.cubicTo(466.80899f, 857.609802f, 458.62854f, 874.752991f, 443.009399f, 880.281006f);
  858. path.cubicTo(435.199829f, 883.044983f, 427.009247f, 882.381897f, 420.080048f, 879.075378f);
  859. path.lineTo(413.620056f, 892.613037f);
  860. path.quadTo(430.419983f, 900.629761f, 447.96701f, 894.43811f);
  861. path.quadTo(448.00708f, 894.42395f, 448.014038f, 894.421509f);
  862. path.quadTo(448.043976f, 894.410889f, 448.061066f, 894.404846f);
  863. path.quadTo(465.596313f, 888.179932f, 473.613037f, 871.379944f);
  864. path.quadTo(477.351227f, 863.546143f, 478, 855.549866f);
  865. path.lineTo(478, 848.804321f);
  866. path.quadTo(477.528076f, 842.93811f, 475.421448f, 836.985962f);
  867. path.close();
  868. SkPath pathB;
  869. pathB.setFillType(SkPath::kWinding_FillType);
  870. pathB.moveTo(405.592621f, 909.435547f);
  871. pathB.lineTo(390.578583f, 867.014099f);
  872. pathB.lineTo(433, 852.000061f);
  873. pathB.lineTo(490.435486f, 879.40741f);
  874. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  875. }
  876. static void skpnaoxrane_ru23(skiatest::Reporter* reporter, const char* filename) {
  877. SkPath path;
  878. path.setFillType(SkPath::kEvenOdd_FillType);
  879. path.moveTo(458.703552f, 275.050262f);
  880. path.quadTo(487.41687f, 273.000702f, 528, 273);
  881. path.lineTo(529, 273);
  882. path.quadTo(530.242371f, 273.000305f, 531.121338f, 273.878693f);
  883. path.quadTo(531.999695f, 274.75766f, 532, 276);
  884. path.lineTo(532, 378);
  885. path.quadTo(531.990173f, 380.898804f, 503.296448f, 382.949738f);
  886. path.quadTo(474.58313f, 384.999298f, 434, 385);
  887. path.lineTo(433, 385);
  888. path.quadTo(431.75766f, 384.999695f, 430.878693f, 384.121307f);
  889. path.quadTo(430.000305f, 383.24234f, 430, 382);
  890. path.lineTo(430, 280);
  891. path.quadTo(430.009796f, 277.101196f, 458.703552f, 275.050262f);
  892. path.close();
  893. SkPath pathB;
  894. pathB.setFillType(SkPath::kInverseWinding_FillType);
  895. pathB.moveTo(528, 278);
  896. pathB.lineTo(529, 278);
  897. pathB.cubicTo(530.65686f, 278, 532, 278, 532, 278);
  898. pathB.lineTo(532, 378);
  899. pathB.cubicTo(532, 379.104584f, 488.123932f, 380, 434, 380);
  900. pathB.lineTo(433, 380);
  901. pathB.cubicTo(431.34314f, 380, 430, 380, 430, 380);
  902. pathB.lineTo(430, 280);
  903. pathB.cubicTo(430, 278.895416f, 473.876068f, 278, 528, 278);
  904. pathB.close();
  905. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  906. }
  907. static void skptcmevents_org23(skiatest::Reporter* reporter, const char* filename) {
  908. SkPath path;
  909. path.setFillType(SkPath::kEvenOdd_FillType);
  910. path.moveTo(465.503998f, 546);
  911. path.lineTo(347, 546);
  912. path.lineTo(347, 632);
  913. path.lineTo(469.104248f, 632);
  914. path.quadTo(470.79007f, 627.638672f, 471.833496f, 621.036255f);
  915. path.quadTo(474.902588f, 601.562866f, 470.591064f, 574.024353f);
  916. path.lineTo(468.507751f, 560.724426f);
  917. path.quadTo(467.275146f, 552.856262f, 465.84668f, 547.288391f);
  918. path.quadTo(465.670349f, 546.601501f, 465.503998f, 546);
  919. path.close();
  920. SkPath pathB;
  921. pathB.setFillType(SkPath::kInverseWinding_FillType);
  922. pathB.moveTo(363.052246f, 542.495361f);
  923. pathB.lineTo(463.779907f, 542.671143f);
  924. pathB.cubicTo(464.829529f, 542.672974f, 466.946289f, 550.755676f, 468.507751f, 560.724426f);
  925. pathB.lineTo(470.591064f, 574.024353f);
  926. pathB.cubicTo(476.26178f, 610.226624f, 471.498932f, 639.557922f, 459.953003f, 639.537781f);
  927. pathB.lineTo(368.727936f, 639.378601f);
  928. pathB.cubicTo(351.933868f, 639.349304f, 337.053741f, 631.244324f, 335.492249f, 621.275574f);
  929. pathB.lineTo(325.968597f, 560.475708f);
  930. pathB.cubicTo(324.407104f, 550.506958f, 341.01001f, 542.456909f, 363.052246f, 542.495361f);
  931. pathB.close();
  932. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  933. }
  934. static void skpredbullskatearcade_es16(skiatest::Reporter* reporter, const char* filename) {
  935. SkPath path;
  936. path.setFillType(SkPath::kEvenOdd_FillType);
  937. path.moveTo(936.765625f, 458.965302f);
  938. path.cubicTo(937.028442f, 453.863251f, 933.145813f, 449.864502f, 928.093445f, 450.033905f);
  939. path.lineTo(661.882263f, 458.958862f);
  940. path.lineTo(661.875366f, 458.959106f);
  941. path.cubicTo(656.828369f, 459.13205f, 652.525085f, 463.399719f, 652.258545f, 468.496124f);
  942. path.lineTo(652.258179f, 468.503662f);
  943. path.lineTo(649.021729f, 531.322754f);
  944. path.cubicTo(648.75885f, 536.424805f, 652.641479f, 540.423523f, 657.693848f, 540.25415f);
  945. path.lineTo(923.905029f, 531.329163f);
  946. path.cubicTo(928.955017f, 531.159851f, 933.262268f, 526.890442f, 933.528809f, 521.791565f);
  947. path.lineTo(933.529175f, 521.784363f);
  948. path.lineTo(936.765625f, 458.965302f);
  949. path.close();
  950. SkPath pathB;
  951. pathB.setFillType(SkPath::kInverseWinding_FillType);
  952. pathB.moveTo(661.882263f, 458.958862f);
  953. pathB.lineTo(928.093445f, 450.033905f);
  954. pathB.cubicTo(929.103882f, 450, 929.709961f, 454.108612f, 929.447144f, 459.210663f);
  955. pathB.lineTo(926.210693f, 522.029724f);
  956. pathB.cubicTo(926.079224f, 524.58075f, 925.153442f, 526.676208f, 924.143066f, 526.710083f);
  957. pathB.lineTo(657.931885f, 535.635071f);
  958. pathB.cubicTo(652.879456f, 535.804443f, 648.890259f, 533.873779f, 649.021729f, 531.322754f);
  959. pathB.lineTo(652.258179f, 468.503662f);
  960. pathB.cubicTo(652.520996f, 463.401611f, 656.829834f, 459.128235f, 661.882263f, 458.958862f);
  961. pathB.close();
  962. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  963. }
  964. static void skpfinanzasdigital_com9(skiatest::Reporter* reporter, const char* filename) {
  965. SkPath path;
  966. path.setFillType(SkPath::kEvenOdd_FillType);
  967. path.moveTo(156, 126);
  968. path.quadTo(154.343552f, 126.000397f, 153.17157f, 127.17157f);
  969. path.quadTo(152.000397f, 128.343552f, 152, 130);
  970. path.lineTo(152, 174);
  971. path.lineTo(1114, 174);
  972. path.lineTo(1114, 130);
  973. path.quadTo(1113.99963f, 128.343552f, 1112.82837f, 127.17157f);
  974. path.quadTo(1111.65649f, 126.000397f, 1110, 126);
  975. path.lineTo(156, 126);
  976. path.close();
  977. SkPath pathB;
  978. pathB.setFillType(SkPath::kInverseWinding_FillType);
  979. pathB.moveTo(156, 126);
  980. pathB.lineTo(1110, 126);
  981. pathB.cubicTo(1111.65686f, 126, 1113, 127.790863f, 1113, 130);
  982. pathB.lineTo(1113, 174);
  983. pathB.lineTo(153, 174);
  984. pathB.lineTo(153, 130);
  985. pathB.cubicTo(153, 127.790863f, 154.34314f, 126, 156, 126);
  986. pathB.close();
  987. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  988. }
  989. static void skppartainasdemo250_org56(skiatest::Reporter* reporter, const char* filename) {
  990. SkPath path;
  991. path.setFillType(SkPath::kEvenOdd_FillType);
  992. path.moveTo(182.000015f, 645);
  993. path.lineTo(182, 640);
  994. path.cubicTo(174.322327f, 640, 166.644669f, 637.071045f, 160.786804f, 631.213196f);
  995. path.cubicTo(149.071075f, 619.497437f, 149.071075f, 600.502563f, 160.786804f, 588.786804f);
  996. path.lineTo(157.251266f, 585.251221f);
  997. path.quadTo(147, 595.502502f, 147.000015f, 610);
  998. path.quadTo(147, 624.482605f, 157.230255f, 634.727722f);
  999. path.quadTo(157.251251f, 634.748779f, 157.251282f, 634.748779f);
  1000. path.quadTo(157.282852f, 634.780334f, 157.272263f, 634.769775f);
  1001. path.quadTo(167.517334f, 645, 182.000015f, 645);
  1002. path.close();
  1003. SkPath pathB;
  1004. pathB.setFillType(SkPath::kWinding_FillType);
  1005. pathB.moveTo(182, 659.497498f);
  1006. pathB.lineTo(206.748749f, 634.748718f);
  1007. pathB.lineTo(182.000015f, 610);
  1008. pathB.lineTo(132.502533f, 610);
  1009. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1010. }
  1011. static void skpmlk_com326(skiatest::Reporter* reporter, const char* filename) {
  1012. SkPath path;
  1013. path.setFillType(SkPath::kEvenOdd_FillType);
  1014. path.moveTo(154, 670);
  1015. path.cubicTo(151.238571f, 670, 149, 672.238586f, 149, 675);
  1016. path.lineTo(149, 710.001465f);
  1017. path.cubicTo(149.000809f, 712.209961f, 150.791367f, 714, 153, 714);
  1018. path.lineTo(189, 714);
  1019. path.cubicTo(191.209137f, 714, 193, 712.209167f, 193, 710);
  1020. path.lineTo(193, 675);
  1021. path.cubicTo(193, 672.238586f, 190.761429f, 670, 188, 670);
  1022. path.lineTo(154, 670);
  1023. path.close();
  1024. SkPath pathB;
  1025. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1026. pathB.moveTo(154, 671);
  1027. pathB.lineTo(188, 671);
  1028. pathB.cubicTo(190.761429f, 671, 193, 672.790833f, 193, 675);
  1029. pathB.lineTo(193, 710);
  1030. pathB.cubicTo(193, 712.761414f, 190.761429f, 715, 188, 715);
  1031. pathB.lineTo(154, 715);
  1032. pathB.cubicTo(151.238571f, 715, 149, 712.761414f, 149, 710);
  1033. pathB.lineTo(149, 675);
  1034. pathB.cubicTo(149, 672.790833f, 151.238571f, 671, 154, 671);
  1035. pathB.close();
  1036. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1037. }
  1038. static void skpcyclist_friends_gr52(skiatest::Reporter* reporter, const char* filename) {
  1039. SkPath path;
  1040. path.setFillType(SkPath::kEvenOdd_FillType);
  1041. path.moveTo(50, 182);
  1042. path.lineTo(1215, 182);
  1043. path.lineTo(1215, 202);
  1044. path.quadTo(1214.99951f, 204.070572f, 1213.53552f, 205.535538f);
  1045. path.quadTo(1212.07056f, 206.999496f, 1210, 207);
  1046. path.lineTo(55, 207);
  1047. path.quadTo(52.9294319f, 206.999496f, 51.4644661f, 205.535538f);
  1048. path.quadTo(50.0004997f, 204.070572f, 50, 202);
  1049. path.lineTo(50, 182);
  1050. path.close();
  1051. SkPath pathB;
  1052. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1053. pathB.moveTo(50, 183);
  1054. pathB.lineTo(1215, 183);
  1055. pathB.lineTo(1215, 202);
  1056. pathB.cubicTo(1215, 204.761429f, 1212.76147f, 207, 1210, 207);
  1057. pathB.lineTo(55, 207);
  1058. pathB.cubicTo(52.238575f, 207, 50, 204.761429f, 50, 202);
  1059. pathB.lineTo(50, 183);
  1060. pathB.close();
  1061. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1062. }
  1063. static void skpwww_fj_p_com_22(skiatest::Reporter* reporter, const char* filename) {
  1064. SkPath path;
  1065. path.setFillType(SkPath::kEvenOdd_FillType);
  1066. path.moveTo(172, 201);
  1067. path.lineTo(172, 202);
  1068. path.lineTo(220, 202);
  1069. path.cubicTo(221.65686f, 202, 223, 200.65686f, 223, 199);
  1070. path.cubicTo(223, 200.104568f, 221.65686f, 201, 220, 201);
  1071. path.lineTo(172, 201);
  1072. path.close();
  1073. SkPath pathB;
  1074. pathB.setFillType(SkPath::kWinding_FillType);
  1075. pathB.moveTo(161, 202);
  1076. pathB.lineTo(161, 199);
  1077. pathB.lineTo(223, 199.000015f);
  1078. pathB.lineTo(223, 202);
  1079. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1080. }
  1081. static void skpwww_lavoixdunord_fr_11(skiatest::Reporter* reporter, const char* filename) {
  1082. SkPath path;
  1083. path.setFillType(SkPath::kEvenOdd_FillType);
  1084. path.moveTo(806, 57);
  1085. path.cubicTo(806, 55.3431473f, 807.34314f, 54, 809, 54);
  1086. path.lineTo(930, 54);
  1087. path.cubicTo(931.65686f, 54, 933, 55.3431473f, 933, 57);
  1088. path.lineTo(933, 91);
  1089. path.cubicTo(933, 92.6568527f, 931.65686f, 94, 930, 94);
  1090. path.lineTo(809, 94);
  1091. path.cubicTo(807.34314f, 94, 806, 92.6568527f, 806, 91);
  1092. path.lineTo(806, 57);
  1093. path.close();
  1094. path.moveTo(808, 58);
  1095. path.cubicTo(808, 56.8954315f, 808.895447f, 56, 810, 56);
  1096. path.lineTo(929, 56);
  1097. path.cubicTo(930.104553f, 56, 931, 56.8954315f, 931, 58);
  1098. path.lineTo(931, 90);
  1099. path.cubicTo(931, 91.1045685f, 930.104553f, 92, 929, 92);
  1100. path.lineTo(810, 92);
  1101. path.cubicTo(808.895447f, 92, 808, 91.1045685f, 808, 90);
  1102. path.lineTo(808, 58);
  1103. path.close();
  1104. SkPath pathB;
  1105. pathB.setFillType(SkPath::kWinding_FillType);
  1106. pathB.moveTo(806, 54);
  1107. pathB.lineTo(808, 56);
  1108. pathB.lineTo(935.02002f, 56.0200005f);
  1109. pathB.lineTo(933, 54);
  1110. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1111. }
  1112. static void skppptv_com_62(skiatest::Reporter* reporter, const char* filename) {
  1113. SkPath path;
  1114. path.setFillType(SkPath::kEvenOdd_FillType);
  1115. path.moveTo(173, 5342);
  1116. path.quadTo(171.343536f, 5342.00049f, 170.17157f, 5343.17139f);
  1117. path.quadTo(169.000397f, 5344.34375f, 169, 5346);
  1118. path.lineTo(169, 5372);
  1119. path.lineTo(234, 5372);
  1120. path.lineTo(234, 5346);
  1121. path.quadTo(233.999603f, 5344.34375f, 232.82843f, 5343.17139f);
  1122. path.quadTo(231.656464f, 5342.00049f, 230, 5342);
  1123. path.lineTo(173, 5342);
  1124. path.close();
  1125. SkPath pathB;
  1126. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1127. pathB.moveTo(173, 5342);
  1128. pathB.lineTo(230, 5342);
  1129. pathB.cubicTo(231.65686f, 5342, 233, 5343.79102f, 233, 5346);
  1130. pathB.lineTo(233, 5372);
  1131. pathB.lineTo(169, 5372);
  1132. pathB.lineTo(169, 5346);
  1133. pathB.cubicTo(169, 5343.79102f, 170.790863f, 5342, 173, 5342);
  1134. pathB.close();
  1135. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1136. }
  1137. static void skpwww_booking_com_68(skiatest::Reporter* reporter, const char* filename) {
  1138. SkPath path;
  1139. path.setFillType(SkPath::kEvenOdd_FillType);
  1140. path.moveTo(90, 187);
  1141. path.cubicTo(90, 185.34314f, 91.3431473f, 184, 93, 184);
  1142. path.lineTo(588, 184);
  1143. path.cubicTo(589.65686f, 184, 591, 185.34314f, 591, 187);
  1144. path.lineTo(591, 218);
  1145. path.cubicTo(591, 219.65686f, 589.65686f, 221, 588, 221);
  1146. path.lineTo(93, 221);
  1147. path.cubicTo(91.3431473f, 221, 90, 219.65686f, 90, 218);
  1148. path.lineTo(90, 187);
  1149. path.close();
  1150. path.moveTo(92, 188);
  1151. path.cubicTo(92, 186.895432f, 92.8954315f, 186, 94, 186);
  1152. path.lineTo(587, 186);
  1153. path.cubicTo(588.104553f, 186, 589, 186.895432f, 589, 188);
  1154. path.lineTo(589, 217);
  1155. path.cubicTo(589, 218.104568f, 588.104553f, 219, 587, 219);
  1156. path.lineTo(94, 219);
  1157. path.cubicTo(92.8954315f, 219, 92, 218.104568f, 92, 217);
  1158. path.lineTo(92, 188);
  1159. path.close();
  1160. SkPath pathB;
  1161. pathB.setFillType(SkPath::kWinding_FillType);
  1162. pathB.moveTo(90, 184);
  1163. pathB.lineTo(92, 186);
  1164. pathB.lineTo(593.02002f, 186.020004f);
  1165. pathB.lineTo(591, 184);
  1166. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1167. }
  1168. static void skpwww_despegar_com_mx_272(skiatest::Reporter* reporter, const char* filename) {
  1169. SkPath path;
  1170. path.setFillType(SkPath::kEvenOdd_FillType);
  1171. path.moveTo(635, 1788);
  1172. path.cubicTo(635, 1786.34314f, 636.34314f, 1785, 638, 1785);
  1173. path.lineTo(832, 1785);
  1174. path.cubicTo(833.65686f, 1785, 835, 1786.34314f, 835, 1788);
  1175. path.lineTo(835, 1812);
  1176. path.cubicTo(835, 1813.65686f, 833.65686f, 1815, 832, 1815);
  1177. path.lineTo(638, 1815);
  1178. path.cubicTo(636.34314f, 1815, 635, 1813.65686f, 635, 1812);
  1179. path.lineTo(635, 1788);
  1180. path.close();
  1181. path.moveTo(637, 1789);
  1182. path.cubicTo(637, 1787.89539f, 637.895447f, 1787, 639, 1787);
  1183. path.lineTo(831, 1787);
  1184. path.cubicTo(832.104553f, 1787, 833, 1787.89539f, 833, 1789);
  1185. path.lineTo(833, 1811);
  1186. path.cubicTo(833, 1812.10461f, 832.104553f, 1813, 831, 1813);
  1187. path.lineTo(639, 1813);
  1188. path.cubicTo(637.895447f, 1813, 637, 1812.10461f, 637, 1811);
  1189. path.lineTo(637, 1789);
  1190. path.close();
  1191. SkPath pathB;
  1192. pathB.setFillType(SkPath::kWinding_FillType);
  1193. pathB.moveTo(835, 1785);
  1194. pathB.lineTo(833, 1787);
  1195. pathB.lineTo(832.97998f, 1817.02002f);
  1196. pathB.lineTo(835, 1815);
  1197. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1198. }
  1199. static void skpwww_joomla_org_23(skiatest::Reporter* reporter, const char* filename) {
  1200. SkPath path;
  1201. path.setFillType(SkPath::kEvenOdd_FillType);
  1202. path.moveTo(320, 347);
  1203. path.cubicTo(320, 344.238586f, 322.238586f, 342, 325, 342);
  1204. path.lineTo(416, 342);
  1205. path.cubicTo(418.761414f, 342, 421, 344.238586f, 421, 347);
  1206. path.cubicTo(421, 344.790863f, 418.761414f, 343, 416, 343);
  1207. path.lineTo(325, 343);
  1208. path.cubicTo(322.238586f, 343, 320, 344.790863f, 320, 347);
  1209. path.close();
  1210. path.moveTo(320, 378);
  1211. path.cubicTo(320, 380.761414f, 322.238586f, 383, 325, 383);
  1212. path.lineTo(416, 383);
  1213. path.cubicTo(418.761414f, 383, 421, 380.761414f, 421, 378);
  1214. path.cubicTo(421, 380.209137f, 418.761414f, 382, 416, 382);
  1215. path.lineTo(325, 382);
  1216. path.cubicTo(322.238586f, 382, 320, 380.209137f, 320, 378);
  1217. path.close();
  1218. SkPath pathB;
  1219. pathB.setFillType(SkPath::kWinding_FillType);
  1220. pathB.moveTo(320, 383);
  1221. pathB.lineTo(320, 378);
  1222. pathB.lineTo(421, 378.000031f);
  1223. pathB.lineTo(421, 383);
  1224. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1225. }
  1226. static void skpwww_macrumors_com_131(skiatest::Reporter* reporter, const char* filename) {
  1227. SkPath path;
  1228. path.setFillType(SkPath::kEvenOdd_FillType);
  1229. path.moveTo(136, 14089);
  1230. path.lineTo(136, 14056);
  1231. path.lineTo(778, 14056);
  1232. path.lineTo(778, 14089);
  1233. path.quadTo(777.999573f, 14090.6562f, 776.82843f, 14091.8281f);
  1234. path.quadTo(775.656433f, 14093, 774, 14093);
  1235. path.lineTo(140, 14093);
  1236. path.quadTo(138.343552f, 14093, 137.17157f, 14091.8281f);
  1237. path.quadTo(136.000397f, 14090.6562f, 136, 14089);
  1238. path.close();
  1239. SkPath pathB;
  1240. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1241. pathB.moveTo(136, 14057);
  1242. pathB.lineTo(778, 14057);
  1243. pathB.lineTo(778, 14089);
  1244. pathB.cubicTo(778, 14091.209f, 776.209167f, 14093, 774, 14093);
  1245. pathB.lineTo(140, 14093);
  1246. pathB.cubicTo(137.790863f, 14093, 136, 14091.209f, 136, 14089);
  1247. pathB.lineTo(136, 14057);
  1248. pathB.close();
  1249. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1250. }
  1251. static void skpwww_leadpages_net_84(skiatest::Reporter* reporter, const char* filename) {
  1252. SkPath path;
  1253. path.setFillType(SkPath::kEvenOdd_FillType);
  1254. path.moveTo(377.1716f, 5910.17139f);
  1255. path.cubicTo(376.447723f, 5910.89551f, 376, 5911.89551f, 376, 5913);
  1256. path.lineTo(376, 5972);
  1257. path.cubicTo(376, 5974.20898f, 377.790863f, 5976, 380, 5976);
  1258. path.cubicTo(378.34314f, 5976, 377, 5974.20898f, 377, 5972);
  1259. path.lineTo(377, 5913);
  1260. path.cubicTo(377, 5912.17139f, 377.335785f, 5911.42188f, 377.878693f, 5910.87891f);
  1261. path.lineTo(377.1716f, 5910.17139f);
  1262. path.close();
  1263. SkPath pathB;
  1264. pathB.setFillType(SkPath::kWinding_FillType);
  1265. pathB.moveTo(376, 5909);
  1266. pathB.lineTo(378.481873f, 5909);
  1267. pathB.lineTo(379.999878f, 5976);
  1268. pathB.lineTo(376, 5976);
  1269. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1270. }
  1271. static void skpwww_briian_com_34(skiatest::Reporter* reporter, const char* filename) {
  1272. SkPath path;
  1273. path.setFillType(SkPath::kEvenOdd_FillType);
  1274. path.moveTo(843, 216);
  1275. path.cubicTo(843, 213.238571f, 845.238586f, 211, 848, 211);
  1276. path.lineTo(1191, 211);
  1277. path.cubicTo(1193.76147f, 211, 1196, 213.238571f, 1196, 216);
  1278. path.lineTo(1196, 779);
  1279. path.cubicTo(1196, 781.761414f, 1193.76147f, 784, 1191, 784);
  1280. path.lineTo(848, 784);
  1281. path.cubicTo(845.238586f, 784, 843, 781.761414f, 843, 779);
  1282. path.lineTo(843, 216);
  1283. path.close();
  1284. path.moveTo(844, 217);
  1285. path.cubicTo(844, 214.238571f, 846.238586f, 212, 849, 212);
  1286. path.lineTo(1190, 212);
  1287. path.cubicTo(1192.76147f, 212, 1195, 214.238571f, 1195, 217);
  1288. path.lineTo(1195, 778);
  1289. path.cubicTo(1195, 779.65686f, 1192.76147f, 781, 1190, 781);
  1290. path.lineTo(849, 781);
  1291. path.cubicTo(846.238586f, 781, 844, 779.65686f, 844, 778);
  1292. path.lineTo(844, 217);
  1293. path.close();
  1294. SkPath pathB;
  1295. pathB.setFillType(SkPath::kWinding_FillType);
  1296. pathB.moveTo(843, 784);
  1297. pathB.lineTo(843, 779);
  1298. pathB.lineTo(1196, 779.000061f);
  1299. pathB.lineTo(1196, 784);
  1300. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1301. }
  1302. static void skpwww_sciality_com_100(skiatest::Reporter* reporter, const char* filename) {
  1303. SkPath path;
  1304. path.setFillType(SkPath::kEvenOdd_FillType);
  1305. path.moveTo(162, 468);
  1306. path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472);
  1307. path.lineTo(158, 528);
  1308. path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532);
  1309. path.lineTo(275, 532);
  1310. path.cubicTo(277.209137f, 532, 279, 530.209106f, 279, 528);
  1311. path.lineTo(279, 472);
  1312. path.cubicTo(279, 469.790863f, 277.209137f, 468, 275, 468);
  1313. path.lineTo(162, 468);
  1314. path.close();
  1315. SkPath pathB;
  1316. pathB.setFillType(SkPath::kWinding_FillType);
  1317. pathB.moveTo(275, 468);
  1318. pathB.cubicTo(276.65686f, 468, 278, 469.34314f, 278, 471);
  1319. pathB.lineTo(278, 529);
  1320. pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532);
  1321. pathB.lineTo(161, 532);
  1322. pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529);
  1323. pathB.lineTo(158, 471);
  1324. pathB.cubicTo(158, 469.34314f, 159.34314f, 468, 161, 468);
  1325. pathB.lineTo(275, 468);
  1326. pathB.close();
  1327. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1328. }
  1329. static void skpwww_sciality_com_101(skiatest::Reporter* reporter, const char* filename) {
  1330. SkPath path;
  1331. path.setFillType(SkPath::kEvenOdd_FillType);
  1332. path.moveTo(162, 468);
  1333. path.cubicTo(159.790863f, 468, 158, 469.790863f, 158, 472);
  1334. path.lineTo(158, 528);
  1335. path.cubicTo(158, 530.209106f, 159.790863f, 532, 162, 532);
  1336. path.lineTo(275.009186f, 532);
  1337. path.cubicTo(276.661774f, 531.994995f, 278, 530.653748f, 278, 529);
  1338. path.lineTo(278, 471);
  1339. path.cubicTo(278, 469.346375f, 276.662079f, 468.005249f, 275.009705f, 468);
  1340. path.lineTo(162, 468);
  1341. path.close();
  1342. SkPath pathB;
  1343. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1344. pathB.moveTo(161, 469);
  1345. pathB.lineTo(275, 469);
  1346. pathB.cubicTo(276.65686f, 469, 278, 469.895416f, 278, 471);
  1347. pathB.lineTo(278, 529);
  1348. pathB.cubicTo(278, 530.65686f, 276.65686f, 532, 275, 532);
  1349. pathB.lineTo(161, 532);
  1350. pathB.cubicTo(159.34314f, 532, 158, 530.65686f, 158, 529);
  1351. pathB.lineTo(158, 471);
  1352. pathB.cubicTo(158, 469.895416f, 159.34314f, 469, 161, 469);
  1353. pathB.close();
  1354. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1355. }
  1356. static void skpwww_meb_gov_tr_5(skiatest::Reporter* reporter, const char* filename) {
  1357. SkPath path;
  1358. path.setFillType(SkPath::kEvenOdd_FillType);
  1359. path.moveTo(137.34314f, 145.34314f);
  1360. path.quadTo(139.687088f, 143.000793f, 143, 143);
  1361. path.lineTo(242, 143);
  1362. path.quadTo(245.312912f, 143.000793f, 247.65686f, 145.34314f);
  1363. path.quadTo(249.999207f, 147.687088f, 250, 151);
  1364. path.lineTo(250, 177);
  1365. path.lineTo(135, 177);
  1366. path.lineTo(135, 151);
  1367. path.quadTo(135.000793f, 147.687088f, 137.34314f, 145.34314f);
  1368. path.close();
  1369. SkPath pathB;
  1370. pathB.setFillType(SkPath::kWinding_FillType);
  1371. pathB.moveTo(135, 143);
  1372. pathB.lineTo(250, 143);
  1373. pathB.lineTo(250, 177);
  1374. pathB.lineTo(135, 177);
  1375. pathB.close();
  1376. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1377. }
  1378. static void skpwww_meb_gov_tr_6(skiatest::Reporter* reporter, const char* filename) {
  1379. SkPath path;
  1380. path.setFillType(SkPath::kEvenOdd_FillType);
  1381. path.moveTo(143, 143);
  1382. path.quadTo(139.687088f, 143.000793f, 137.34314f, 145.34314f);
  1383. path.quadTo(135.000793f, 147.687088f, 135, 151);
  1384. path.lineTo(135, 177);
  1385. path.lineTo(250, 177);
  1386. path.lineTo(250, 151);
  1387. path.quadTo(249.999207f, 147.687088f, 247.65686f, 145.34314f);
  1388. path.quadTo(245.312912f, 143.000793f, 242, 143);
  1389. path.lineTo(143, 143);
  1390. path.close();
  1391. SkPath pathB;
  1392. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1393. pathB.moveTo(143, 143);
  1394. pathB.lineTo(242, 143);
  1395. pathB.cubicTo(245.865997f, 143, 249, 146.581726f, 249, 151);
  1396. pathB.lineTo(249, 177);
  1397. pathB.lineTo(135, 177);
  1398. pathB.lineTo(135, 151);
  1399. pathB.cubicTo(135, 146.581726f, 138.581726f, 143, 143, 143);
  1400. pathB.close();
  1401. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1402. }
  1403. static void skpgithub_io_25(skiatest::Reporter* reporter, const char* filename) {
  1404. SkPath path;
  1405. path.setFillType(SkPath::kEvenOdd_FillType);
  1406. path.moveTo(1001.87866f, 14.8786793f);
  1407. path.quadTo(1002.75745f, 14.0001001f, 1004, 14);
  1408. path.lineTo(1105, 14);
  1409. path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f);
  1410. path.quadTo(1107.99988f, 15.7574596f, 1108, 17);
  1411. path.lineTo(1108, 41);
  1412. path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f);
  1413. path.quadTo(1106.24255f, 43.9999008f, 1105, 44);
  1414. path.lineTo(1004, 44);
  1415. path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f);
  1416. path.quadTo(1001.00012f, 42.2425423f, 1001, 41);
  1417. path.lineTo(1001, 17);
  1418. path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f);
  1419. path.close();
  1420. SkPath pathB;
  1421. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1422. pathB.moveTo(1005, 16);
  1423. pathB.lineTo(1104, 16);
  1424. pathB.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18);
  1425. pathB.lineTo(1106, 40);
  1426. pathB.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42);
  1427. pathB.lineTo(1005, 42);
  1428. pathB.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40);
  1429. pathB.lineTo(1003, 18);
  1430. pathB.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16);
  1431. pathB.close();
  1432. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1433. }
  1434. static void skpgithub_io_26(skiatest::Reporter* reporter, const char* filename) {
  1435. SkPath path;
  1436. path.setFillType(SkPath::kEvenOdd_FillType);
  1437. path.moveTo(1001.87866f, 14.8786793f);
  1438. path.quadTo(1002.75745f, 14.0001001f, 1004, 14);
  1439. path.lineTo(1105, 14);
  1440. path.quadTo(1106.24255f, 14.0001001f, 1107.12134f, 14.8786793f);
  1441. path.quadTo(1107.99988f, 15.7574596f, 1108, 17);
  1442. path.lineTo(1108, 41);
  1443. path.quadTo(1107.99988f, 42.2425423f, 1107.12134f, 43.1213188f);
  1444. path.quadTo(1106.24255f, 43.9999008f, 1105, 44);
  1445. path.lineTo(1004, 44);
  1446. path.quadTo(1002.75745f, 43.9999008f, 1001.87866f, 43.1213188f);
  1447. path.quadTo(1001.00012f, 42.2425423f, 1001, 41);
  1448. path.lineTo(1001, 17);
  1449. path.quadTo(1001.00012f, 15.7574596f, 1001.87866f, 14.8786793f);
  1450. path.close();
  1451. path.moveTo(1003, 18);
  1452. path.cubicTo(1003, 16.8954296f, 1003.89545f, 16, 1005, 16);
  1453. path.lineTo(1104, 16);
  1454. path.cubicTo(1105.10461f, 16, 1106, 16.8954296f, 1106, 18);
  1455. path.lineTo(1106, 40);
  1456. path.cubicTo(1106, 41.1045685f, 1105.10461f, 42, 1104, 42);
  1457. path.lineTo(1005, 42);
  1458. path.cubicTo(1003.89545f, 42, 1003, 41.1045685f, 1003, 40);
  1459. path.lineTo(1003, 18);
  1460. path.close();
  1461. SkPath pathB;
  1462. pathB.setFillType(SkPath::kWinding_FillType);
  1463. pathB.moveTo(1108, 14);
  1464. pathB.lineTo(1106, 16);
  1465. pathB.lineTo(1105.97998f, 46.0200005f);
  1466. pathB.lineTo(1108, 44);
  1467. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1468. }
  1469. static void skpskpicture14(skiatest::Reporter* reporter, const char* filename) {
  1470. SkPath path;
  1471. path.setFillType(SkPath::kEvenOdd_FillType);
  1472. path.moveTo(0, 994);
  1473. path.lineTo(0, 0);
  1474. path.lineTo(512, 0);
  1475. path.lineTo(512, 994);
  1476. path.lineTo(0, 994);
  1477. path.close();
  1478. SkPath pathB;
  1479. pathB.setFillType(SkPath::kWinding_FillType);
  1480. pathB.moveTo(-317, 168);
  1481. pathB.quadTo(-317, 166.757385f, -316.121338f, 165.878662f);
  1482. pathB.quadTo(-315.242645f, 165, -314, 165);
  1483. pathB.lineTo(320, 165);
  1484. pathB.quadTo(321.242615f, 165, 322.121338f, 165.878662f);
  1485. pathB.quadTo(323, 166.757385f, 323, 168);
  1486. pathB.lineTo(323, 193);
  1487. pathB.lineTo(-317, 193);
  1488. pathB.close();
  1489. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1490. }
  1491. static void skpskpicture15(skiatest::Reporter* reporter, const char* filename) {
  1492. SkPath path;
  1493. path.setFillType(SkPath::kEvenOdd_FillType);
  1494. path.moveTo(0, 193);
  1495. path.lineTo(323, 193);
  1496. path.lineTo(323, 168);
  1497. path.quadTo(323, 166.757385f, 322.121338f, 165.878662f);
  1498. path.quadTo(321.242615f, 165, 320, 165);
  1499. path.lineTo(0, 165);
  1500. path.lineTo(0, 193);
  1501. path.close();
  1502. SkPath pathB;
  1503. pathB.setFillType(SkPath::kInverseWinding_FillType);
  1504. pathB.moveTo(-314, 165);
  1505. pathB.lineTo(320, 165);
  1506. pathB.cubicTo(321.65686f, 165, 323, 166.34314f, 323, 168);
  1507. pathB.lineTo(323, 192);
  1508. pathB.lineTo(-317, 192);
  1509. pathB.lineTo(-317, 168);
  1510. pathB.cubicTo(-317, 166.34314f, -315.65686f, 165, -314, 165);
  1511. pathB.close();
  1512. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1513. }
  1514. static void skpelpais_com_18(skiatest::Reporter* reporter, const char* filename) {
  1515. SkPath path;
  1516. path.setFillType(SkPath::kEvenOdd_FillType);
  1517. path.moveTo(183, 8507);
  1518. path.lineTo(552, 8506.99023f);
  1519. path.lineTo(552, 8508);
  1520. path.lineTo(183, 8508);
  1521. path.lineTo(183, 8507);
  1522. path.close();
  1523. SkPath pathB;
  1524. pathB.setFillType(SkPath::kWinding_FillType);
  1525. pathB.moveTo(183, 8508);
  1526. pathB.lineTo(183, 8506.99023f);
  1527. pathB.lineTo(552, 8507);
  1528. pathB.lineTo(552, 8508);
  1529. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1530. }
  1531. static void skpnamecheap_com_405(skiatest::Reporter* reporter, const char* filename) {
  1532. SkPath path;
  1533. path.setFillType(SkPath::kEvenOdd_FillType);
  1534. path.moveTo(140, 1000);
  1535. path.lineTo(140, 842);
  1536. path.lineTo(141, 842);
  1537. path.lineTo(141.14502f, 1000);
  1538. path.lineTo(140, 1000);
  1539. path.close();
  1540. SkPath pathB;
  1541. pathB.setFillType(SkPath::kWinding_FillType);
  1542. pathB.moveTo(140, 842);
  1543. pathB.lineTo(141.008835f, 837.9646f);
  1544. pathB.lineTo(141.235291f, 1109.05884f);
  1545. pathB.lineTo(140, 1114);
  1546. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1547. }
  1548. static void skpwww_alrakoba_net_62(skiatest::Reporter* reporter, const char* filename) {
  1549. SkPath path;
  1550. path.setFillType(SkPath::kEvenOdd_FillType);
  1551. path.moveTo(134.34314f, 9802.34277f);
  1552. path.quadTo(132, 9804.68652f, 132, 9808);
  1553. path.lineTo(132, 9822);
  1554. path.quadTo(132, 9825.31348f, 134.34314f, 9827.65723f);
  1555. path.quadTo(136.686295f, 9830, 140, 9830);
  1556. path.lineTo(140.028473f, 9830);
  1557. path.lineTo(139.877213f, 9828.90723f);
  1558. path.quadTo(137.692032f, 9828.5332f, 136.050247f, 9826.65723f);
  1559. path.quadTo(134, 9824.31348f, 134, 9821);
  1560. path.lineTo(134, 9809);
  1561. path.quadTo(134, 9806.10059f, 136.050247f, 9804.0498f);
  1562. path.lineTo(134.34314f, 9802.34277f);
  1563. path.close();
  1564. SkPath pathB;
  1565. pathB.setFillType(SkPath::kWinding_FillType);
  1566. pathB.moveTo(132, 9800);
  1567. pathB.lineTo(135.962357f, 9800);
  1568. pathB.lineTo(140, 9830);
  1569. pathB.lineTo(132, 9830);
  1570. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1571. }
  1572. static void skpwww_cityads_ru_249(skiatest::Reporter* reporter, const char* filename) {
  1573. SkPath path;
  1574. path.setFillType(SkPath::kEvenOdd_FillType);
  1575. path.moveTo(817.464478f, 11.4644661f);
  1576. path.quadTo(818.928955f, 10, 821, 10);
  1577. path.lineTo(998, 10);
  1578. path.quadTo(999.082947f, 10, 1000, 10.4003992f);
  1579. path.lineTo(1000, 13.3527431f);
  1580. path.quadTo(999.917603f, 13.2607508f, 999.82843f, 13.1715727f);
  1581. path.quadTo(998.65686f, 12, 997, 12);
  1582. path.lineTo(822, 12);
  1583. path.quadTo(820.34314f, 12, 819.17157f, 13.1715727f);
  1584. path.quadTo(818, 14.3431454f, 818, 16);
  1585. path.lineTo(818, 28);
  1586. path.quadTo(818, 29.6568546f, 819.17157f, 30.8284264f);
  1587. path.quadTo(820.34314f, 32, 822, 32);
  1588. path.lineTo(997, 32);
  1589. path.quadTo(998.65686f, 32, 999.82843f, 30.8284264f);
  1590. path.quadTo(999.917603f, 30.7392426f, 1000, 30.6472569f);
  1591. path.lineTo(1000, 33.5996017f);
  1592. path.quadTo(999.082947f, 34, 998, 34);
  1593. path.lineTo(821, 34);
  1594. path.quadTo(818.928955f, 34, 817.464478f, 32.5355339f);
  1595. path.quadTo(816, 31.0710678f, 816, 29);
  1596. path.lineTo(816, 15);
  1597. path.quadTo(816, 12.9289322f, 817.464478f, 11.4644661f);
  1598. path.close();
  1599. SkPath pathB;
  1600. pathB.setFillType(SkPath::kWinding_FillType);
  1601. pathB.moveTo(1003, 10);
  1602. pathB.lineTo(1000, 13);
  1603. pathB.lineTo(999.969971f, 37.0299988f);
  1604. pathB.lineTo(1003, 34);
  1605. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1606. }
  1607. static void skpwww_dealnews_com_315(skiatest::Reporter* reporter, const char* filename) {
  1608. SkPath path;
  1609. path.setFillType(SkPath::kEvenOdd_FillType);
  1610. path.moveTo(966.464478f, 4261.46436f);
  1611. path.quadTo(965, 4262.92871f, 965, 4265);
  1612. path.lineTo(965, 4276);
  1613. path.quadTo(965, 4278.07129f, 966.464478f, 4279.53564f);
  1614. path.quadTo(967.928955f, 4281, 970, 4281);
  1615. path.lineTo(970.020325f, 4281);
  1616. path.lineTo(969.887512f, 4279.81641f);
  1617. path.quadTo(968.928284f, 4279.48145f, 968.17157f, 4278.53564f);
  1618. path.quadTo(967, 4277.07129f, 967, 4275);
  1619. path.lineTo(967, 4266);
  1620. path.quadTo(967, 4264.44287f, 968.035217f, 4263.31396f);
  1621. path.lineTo(968, 4263);
  1622. path.lineTo(966.464478f, 4261.46436f);
  1623. path.close();
  1624. SkPath pathB;
  1625. pathB.setFillType(SkPath::kWinding_FillType);
  1626. pathB.moveTo(965, 4260);
  1627. pathB.lineTo(967.716675f, 4260);
  1628. pathB.lineTo(970, 4281);
  1629. pathB.lineTo(965, 4281);
  1630. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1631. }
  1632. static void skpwww_inmotionhosting_com_9(skiatest::Reporter* reporter, const char* filename) {
  1633. SkPath path;
  1634. path.setFillType(SkPath::kEvenOdd_FillType);
  1635. path.moveTo(991.633911f, 1839);
  1636. path.lineTo(964.265015f, 1839);
  1637. path.lineTo(963.734985f, 1893.73242f);
  1638. path.lineTo(991.3703f, 1894);
  1639. path.lineTo(1018.23492f, 1894);
  1640. path.lineTo(1018.76501f, 1839.2627f);
  1641. path.lineTo(991.638184f, 1839);
  1642. path.lineTo(991.633911f, 1839);
  1643. path.close();
  1644. SkPath pathB;
  1645. pathB.setFillType(SkPath::kWinding_FillType);
  1646. pathB.moveTo(964.267578f, 1838.73499f);
  1647. pathB.lineTo(1019.26501f, 1839.26758f);
  1648. pathB.lineTo(1018.73242f, 1894.26501f);
  1649. pathB.lineTo(963.734985f, 1893.73242f);
  1650. pathB.close();
  1651. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1652. }
  1653. static void skpwww_alucinados_net_101(skiatest::Reporter* reporter, const char* filename) {
  1654. SkPath path;
  1655. path.setFillType(SkPath::kEvenOdd_FillType);
  1656. path.moveTo(1129.53552f, 1164.46448f);
  1657. path.lineTo(1128, 1166);
  1658. path.lineTo(1128.12231f, 1166.49548f);
  1659. path.quadTo(1129, 1167.56592f, 1129, 1169);
  1660. path.lineTo(1129, 1170.05054f);
  1661. path.lineTo(1130.34509f, 1175.49878f);
  1662. path.quadTo(1131, 1174.38513f, 1131, 1173);
  1663. path.lineTo(1131, 1168);
  1664. path.quadTo(1131, 1165.92896f, 1129.53552f, 1164.46448f);
  1665. path.close();
  1666. SkPath pathB;
  1667. pathB.setFillType(SkPath::kWinding_FillType);
  1668. pathB.moveTo(1131, 1163);
  1669. pathB.lineTo(-43515.8555f, -177415.594f);
  1670. pathB.lineTo(1129.76465f, 1173.05884f);
  1671. pathB.lineTo(1131, 1178);
  1672. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1673. }
  1674. static void skpwww_hairjobsearch_com_31(skiatest::Reporter* reporter, const char* filename) {
  1675. SkPath path;
  1676. path.setFillType(SkPath::kEvenOdd_FillType);
  1677. path.moveTo(143.292892f, 0.707106769f);
  1678. path.quadTo(143, 0.414213538f, 143, 0);
  1679. path.lineTo(1123, 0);
  1680. path.quadTo(1123, 0.414213538f, 1122.70715f, 0.707106769f);
  1681. path.quadTo(1122.41418f, 1, 1122, 1);
  1682. path.lineTo(144, 1);
  1683. path.quadTo(143.585785f, 1, 143.292892f, 0.707106769f);
  1684. path.close();
  1685. SkPath pathB;
  1686. pathB.setFillType(SkPath::kWinding_FillType);
  1687. pathB.moveTo(143, 1);
  1688. pathB.lineTo(144, 0);
  1689. pathB.lineTo(1122, 0);
  1690. pathB.lineTo(1123, 1);
  1691. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1692. }
  1693. static void skpwww_heartiste_wordpress_com_86(skiatest::Reporter* reporter, const char* filename) {
  1694. SkPath path;
  1695. path.setFillType(SkPath::kEvenOdd_FillType);
  1696. path.moveTo(741, 9432);
  1697. path.lineTo(761, 9431.99023f);
  1698. path.lineTo(761, 9433);
  1699. path.lineTo(741, 9433);
  1700. path.lineTo(741, 9432);
  1701. path.close();
  1702. SkPath pathB;
  1703. pathB.setFillType(SkPath::kWinding_FillType);
  1704. pathB.moveTo(741, 9433);
  1705. pathB.lineTo(741, 9431.99023f);
  1706. pathB.lineTo(761, 9432);
  1707. pathB.lineTo(761, 9433);
  1708. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1709. }
  1710. static void skpwww_argus_presse_fr_41(skiatest::Reporter* reporter, const char* filename) {
  1711. SkPath path;
  1712. path.setFillType(SkPath::kEvenOdd_FillType);
  1713. path.moveTo(1000, 343);
  1714. path.lineTo(165, 343);
  1715. path.lineTo(165, 364.869873f);
  1716. path.lineTo(1000, 364.869873f);
  1717. path.lineTo(1000, 343);
  1718. path.close();
  1719. SkPath pathB;
  1720. pathB.setFillType(SkPath::kWinding_FillType);
  1721. pathB.moveTo(165, 343.000031f);
  1722. pathB.lineTo(1000, 343.000031f);
  1723. pathB.lineTo(1000, 364.869904f);
  1724. pathB.lineTo(165, 364.869904f);
  1725. pathB.close();
  1726. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1727. }
  1728. static void skpwww_320kbps_net_2231(skiatest::Reporter* reporter, const char* filename) {
  1729. SkPath path;
  1730. path.setFillType(SkPath::kEvenOdd_FillType);
  1731. path.moveTo(838, 9125);
  1732. path.lineTo(862, 9124.99023f);
  1733. path.lineTo(862, 9126);
  1734. path.lineTo(838, 9126);
  1735. path.lineTo(838, 9125);
  1736. path.close();
  1737. SkPath pathB;
  1738. pathB.setFillType(SkPath::kWinding_FillType);
  1739. pathB.moveTo(838, 9126);
  1740. pathB.lineTo(838, 9124.99023f);
  1741. pathB.lineTo(862, 9125);
  1742. pathB.lineTo(862, 9126);
  1743. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1744. }
  1745. static void skpwww_exystence_net_61(skiatest::Reporter* reporter, const char* filename) {
  1746. SkPath path;
  1747. path.setFillType(SkPath::kEvenOdd_FillType);
  1748. path.moveTo(143, 9075);
  1749. path.lineTo(316, 9075);
  1750. path.lineTo(316, 9073.99023f);
  1751. path.lineTo(143, 9074);
  1752. path.lineTo(143, 9075);
  1753. path.close();
  1754. SkPath pathB;
  1755. pathB.setFillType(SkPath::kWinding_FillType);
  1756. pathB.moveTo(143, 9075);
  1757. pathB.lineTo(143, 9073.99023f);
  1758. pathB.lineTo(316, 9074);
  1759. pathB.lineTo(316, 9075);
  1760. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1761. }
  1762. static void skpwww_trashness_com_36(skiatest::Reporter* reporter, const char* filename) {
  1763. SkPath path;
  1764. path.setFillType(SkPath::kEvenOdd_FillType);
  1765. path.moveTo(541.5f, 4835.99512f);
  1766. path.lineTo(91.5f, 4836);
  1767. path.lineTo(91.5f, 4836.5f);
  1768. path.lineTo(541.5f, 4836.5f);
  1769. path.lineTo(541.5f, 4835.99512f);
  1770. path.close();
  1771. SkPath pathB;
  1772. pathB.setFillType(SkPath::kWinding_FillType);
  1773. pathB.moveTo(91.5f, 4836.5f);
  1774. pathB.lineTo(91.5f, 4835.99512f);
  1775. pathB.lineTo(541.5f, 4836);
  1776. pathB.lineTo(541.5f, 4836.5f);
  1777. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1778. }
  1779. static void skpwww_getgold_jp_731(skiatest::Reporter* reporter, const char* filename) {
  1780. SkPath path;
  1781. path.setFillType(SkPath::kEvenOdd_FillType);
  1782. path.moveTo(284.878693f, 10134.8789f);
  1783. path.quadTo(284, 10135.7578f, 284, 10137);
  1784. path.lineTo(284, 10216);
  1785. path.quadTo(284, 10217.2422f, 284.878693f, 10218.1211f);
  1786. path.quadTo(285.125122f, 10218.3672f, 285.40213f, 10218.5459f);
  1787. path.lineTo(286, 10138);
  1788. path.lineTo(286, 10136);
  1789. path.lineTo(284.878693f, 10134.8789f);
  1790. path.close();
  1791. SkPath pathB;
  1792. pathB.setFillType(SkPath::kWinding_FillType);
  1793. pathB.moveTo(284, 10134);
  1794. pathB.lineTo(286.05957f, 10129.8809f);
  1795. pathB.lineTo(285.399994f, 10216.2002f);
  1796. pathB.lineTo(284, 10219);
  1797. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1798. }
  1799. static void skpwww_maturesupertube_com_21(skiatest::Reporter* reporter, const char* filename) {
  1800. SkPath path;
  1801. path.setFillType(SkPath::kEvenOdd_FillType);
  1802. path.moveTo(3.17157292f, 11831.1719f);
  1803. path.quadTo(4.34314585f, 11830, 6, 11830);
  1804. path.lineTo(1259, 11830);
  1805. path.quadTo(1260.65686f, 11830, 1261.82837f, 11831.1719f);
  1806. path.quadTo(1263, 11832.3428f, 1263, 11834);
  1807. path.lineTo(1263, 11848);
  1808. path.quadTo(1263, 11849.6572f, 1261.82837f, 11850.8281f);
  1809. path.quadTo(1260.65686f, 11852, 1259, 11852);
  1810. path.lineTo(6, 11852);
  1811. path.quadTo(4.34314585f, 11852, 3.17157292f, 11850.8281f);
  1812. path.quadTo(2, 11849.6572f, 2, 11848);
  1813. path.lineTo(2, 11834);
  1814. path.quadTo(2, 11832.3428f, 3.17157292f, 11831.1719f);
  1815. path.close();
  1816. path.moveTo(3.87867975f, 11831.8789f);
  1817. path.quadTo(4.7573595f, 11831, 6, 11831);
  1818. path.lineTo(1259, 11831);
  1819. path.quadTo(1260.24268f, 11831, 1261.12134f, 11831.8789f);
  1820. path.quadTo(1262, 11832.7578f, 1262, 11834);
  1821. path.lineTo(1262, 11848);
  1822. path.quadTo(1262, 11849.2422f, 1261.12134f, 11850.1211f);
  1823. path.quadTo(1260.24268f, 11851, 1259, 11851);
  1824. path.lineTo(6, 11851);
  1825. path.quadTo(4.7573595f, 11851, 3.87867975f, 11850.1211f);
  1826. path.quadTo(3, 11849.2422f, 3, 11848);
  1827. path.lineTo(3, 11834);
  1828. path.quadTo(3, 11832.7578f, 3.87867975f, 11831.8789f);
  1829. path.close();
  1830. SkPath pathB;
  1831. pathB.setFillType(SkPath::kWinding_FillType);
  1832. pathB.moveTo(2, 11830);
  1833. pathB.lineTo(4.5f, 11832.5f);
  1834. pathB.lineTo(1260.5f, 11832.5f);
  1835. pathB.lineTo(1263, 11830);
  1836. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1837. }
  1838. static void skpwww_hubbyscook_com_22(skiatest::Reporter* reporter, const char* filename) {
  1839. SkPath path;
  1840. path.setFillType(SkPath::kEvenOdd_FillType);
  1841. path.moveTo(1000, 902.329346f);
  1842. path.quadTo(998, 905.250427f, 998, 909);
  1843. path.lineTo(998, 910);
  1844. path.quadTo(998, 913.749573f, 1000, 916.670654f);
  1845. path.lineTo(1000, 902.329346f);
  1846. path.close();
  1847. SkPath pathB;
  1848. pathB.setFillType(SkPath::kWinding_FillType);
  1849. pathB.moveTo(998, 910);
  1850. pathB.lineTo(998, 909);
  1851. pathB.quadTo(998, 904.029419f, 1001.51471f, 900.514709f);
  1852. pathB.quadTo(1005.02942f, 897, 1010, 897);
  1853. pathB.lineTo(1011, 897);
  1854. pathB.quadTo(1015.14215f, 897, 1018.07104f, 900.514709f);
  1855. pathB.quadTo(1021, 904.029419f, 1021, 909);
  1856. pathB.lineTo(1021, 910);
  1857. pathB.quadTo(1021, 914.142151f, 1018.07104f, 917.071045f);
  1858. pathB.quadTo(1015.14215f, 920, 1011, 920);
  1859. pathB.lineTo(1010, 920);
  1860. pathB.quadTo(1005.02942f, 920, 1001.51471f, 917.071045f);
  1861. pathB.quadTo(998, 914.142151f, 998, 910);
  1862. pathB.close();
  1863. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  1864. }
  1865. static void skpwww_gruposejaumdivulgador_com_br_4(skiatest::Reporter* reporter, const char* filename) {
  1866. SkPath path;
  1867. path.setFillType(SkPath::kEvenOdd_FillType);
  1868. path.moveTo(610.5f, 5.78626502e-14f);
  1869. path.lineTo(1083.5f, -6.12303177e-17f);
  1870. path.lineTo(1083.5f, 469);
  1871. path.lineTo(610.5f, 469);
  1872. path.lineTo(610.5f, 5.78626502e-14f);
  1873. path.close();
  1874. SkPath pathB;
  1875. pathB.setFillType(SkPath::kWinding_FillType);
  1876. pathB.moveTo(611, 0);
  1877. pathB.lineTo(1084, 0);
  1878. pathB.lineTo(1084, 469);
  1879. pathB.lineTo(611, 469);
  1880. pathB.close();
  1881. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1882. }
  1883. static void skpwww_phototransferapp_com_24(skiatest::Reporter* reporter, const char* filename) {
  1884. SkPath path;
  1885. path.setFillType(SkPath::kEvenOdd_FillType);
  1886. path.moveTo(85.6091843f, 5.92893219f);
  1887. path.quadTo(89.6041641f, 3, 93.7462997f, 3);
  1888. path.lineTo(1212.74634f, 3);
  1889. path.quadTo(1216.88843f, 3, 1218.75134f, 5.92893219f);
  1890. path.quadTo(1220.61414f, 8.85775471f, 1219.10669f, 12.9996767f);
  1891. path.quadTo(1220.46338f, 9.27196693f, 1218.4939f, 6.63603878f);
  1892. path.quadTo(1216.52441f, 4, 1212.38232f, 4);
  1893. path.lineTo(93.3823318f, 4);
  1894. path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f);
  1895. path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13);
  1896. path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f);
  1897. path.close();
  1898. SkPath pathB;
  1899. pathB.setFillType(SkPath::kWinding_FillType);
  1900. pathB.moveTo(83.7462997f, 3);
  1901. pathB.lineTo(1222.74634f, 3);
  1902. pathB.lineTo(1219.10657f, 13);
  1903. pathB.lineTo(80.1065979f, 13);
  1904. pathB.close();
  1905. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1906. }
  1907. static void skpwww_phototransferapp_com_24x(skiatest::Reporter* reporter, const char* filename) {
  1908. SkPath path;
  1909. path.setFillType(SkPath::kEvenOdd_FillType);
  1910. path.moveTo(85.6091843f, 5.92893219f);
  1911. path.quadTo(89.6041641f, 3, 93.7462997f, 3);
  1912. path.lineTo(112.74634f, 3);
  1913. path.quadTo(116.88843f, 3, 118.75134f, 5.92893219f);
  1914. path.quadTo(120.61414f, 8.85775471f, 119.10669f, 12.9996767f);
  1915. path.quadTo(120.46338f, 9.27196693f, 118.4939f, 6.63603878f);
  1916. path.quadTo(116.52441f, 4, 112.38232f, 4);
  1917. path.lineTo(93.3823318f, 4);
  1918. path.quadTo(89.2401962f, 4, 85.3518219f, 6.63603878f);
  1919. path.quadTo(81.4634476f, 9.27207756f, 80.1065979f, 13);
  1920. path.quadTo(81.614212f, 8.85786438f, 85.6091843f, 5.92893219f);
  1921. path.close();
  1922. SkPath pathB;
  1923. pathB.setFillType(SkPath::kWinding_FillType);
  1924. pathB.moveTo(83.7462997f, 3);
  1925. pathB.lineTo(122.74634f, 3);
  1926. pathB.lineTo(119.10657f, 13);
  1927. pathB.lineTo(80.1065979f, 13);
  1928. pathB.close();
  1929. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1930. }
  1931. static void skpwww_helha_be_109(skiatest::Reporter* reporter, const char* filename) {
  1932. SkPath path;
  1933. path.setFillType(SkPath::kEvenOdd_FillType);
  1934. path.moveTo(117.686981f, 3339.08423f);
  1935. path.lineTo(109.533035f, 3350.72925f);
  1936. path.quadTo(107.120552f, 3354.17456f, 103.879379f, 3354.41821f);
  1937. path.quadTo(100.638504f, 3354.66187f, 98.4674301f, 3351.56177f);
  1938. path.quadTo(100.87973f, 3355.00635f, 104.291222f, 3355.00635f);
  1939. path.quadTo(107.70298f, 3355.00635f, 110.115463f, 3351.56104f);
  1940. path.lineTo(118, 3340.30078f);
  1941. path.lineTo(118, 3339.53125f);
  1942. path.lineTo(117.686981f, 3339.08423f);
  1943. path.close();
  1944. SkPath pathB;
  1945. pathB.setFillType(SkPath::kWinding_FillType);
  1946. pathB.moveTo(118.269409f, 3339.91602f);
  1947. pathB.lineTo(117.686981f, 3339.08423f);
  1948. pathB.lineTo(98.4669647f, 3351.56104f);
  1949. pathB.lineTo(104.291214f, 3359.87891f);
  1950. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  1951. }
  1952. static void skpwww_cooksnaps_com_32(skiatest::Reporter* reporter, const char* filename) {
  1953. SkPath path;
  1954. path.setFillType(SkPath::kEvenOdd_FillType);
  1955. path.moveTo(509.34021f, 176);
  1956. path.lineTo(505, 176);
  1957. path.quadTo(500.964233f, 176, 497.299988f, 176.896912f);
  1958. path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f);
  1959. path.lineTo(489.316986f, 180.4702f);
  1960. path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f);
  1961. path.quadTo(479.69455f, 188.700821f, 477.995941f, 191.618286f);
  1962. path.quadTo(476.316772f, 194.550476f, 475.258759f, 197.959335f);
  1963. path.quadTo(474, 202.218979f, 474, 207);
  1964. path.lineTo(474, 208);
  1965. path.quadTo(474, 212.03569f, 474.896851f, 215.699799f);
  1966. path.quadTo(475.950256f, 219.315002f, 477.962708f, 222.803986f);
  1967. path.lineTo(477.970215f, 222.816986f);
  1968. path.lineTo(478.470215f, 223.683014f);
  1969. path.quadTo(478.474915f, 223.691162f, 478.479645f, 223.69931f);
  1970. path.quadTo(480.867981f, 227.831055f, 484.082947f, 230.885254f);
  1971. path.quadTo(486.701447f, 233.305939f, 489.61908f, 235.004517f);
  1972. path.quadTo(492.550232f, 236.682983f, 495.957611f, 237.740738f);
  1973. path.quadTo(500.217987f, 239, 505, 239);
  1974. path.lineTo(509.482178f, 239);
  1975. path.quadTo(515.299133f, 238.212051f, 520.801941f, 235.038513f);
  1976. path.quadTo(520.809509f, 235.034164f, 520.817017f, 235.0298f);
  1977. path.lineTo(521.683044f, 234.5298f);
  1978. path.quadTo(521.692078f, 234.524582f, 521.701111f, 234.519348f);
  1979. path.quadTo(532.80603f, 228.09938f, 536.126709f, 215.70639f);
  1980. path.quadTo(539.450134f, 203.303314f, 533.029785f, 192.183014f);
  1981. path.lineTo(532.529785f, 191.316986f);
  1982. path.quadTo(526.109497f, 180.196686f, 513.706421f, 176.873276f);
  1983. path.quadTo(511.503082f, 176.282898f, 509.34021f, 176);
  1984. path.close();
  1985. SkPath pathB;
  1986. pathB.setFillType(SkPath::kWinding_FillType);
  1987. pathB.moveTo(478.470215f, 223.683014f);
  1988. pathB.lineTo(477.970215f, 222.816986f);
  1989. pathB.quadTo(471.549896f, 211.696686f, 474.873322f, 199.293594f);
  1990. pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f);
  1991. pathB.lineTo(490.183014f, 179.9702f);
  1992. pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f);
  1993. pathB.quadTo(526.109497f, 180.196686f, 532.529785f, 191.316986f);
  1994. pathB.lineTo(533.029785f, 192.183014f);
  1995. pathB.quadTo(539.450134f, 203.303314f, 536.126709f, 215.70639f);
  1996. pathB.quadTo(532.803345f, 228.109497f, 521.683044f, 234.5298f);
  1997. pathB.lineTo(520.817017f, 235.0298f);
  1998. pathB.quadTo(509.696686f, 241.450104f, 497.29361f, 238.126709f);
  1999. pathB.quadTo(484.890533f, 234.803314f, 478.470215f, 223.683014f);
  2000. pathB.close();
  2001. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2002. }
  2003. static void skpwww_cooksnaps_com_32a(skiatest::Reporter* reporter, const char* filename) {
  2004. SkPath path;
  2005. path.setFillType(SkPath::kEvenOdd_FillType);
  2006. path.moveTo(497.299988f, 176.896912f);
  2007. path.quadTo(493.678162f, 177.952286f, 490.183014f, 179.9702f);
  2008. path.lineTo(489.316986f, 180.4702f);
  2009. path.quadTo(485.175385f, 182.861359f, 482.115265f, 186.082397f);
  2010. SkPath pathB;
  2011. pathB.setFillType(SkPath::kWinding_FillType);
  2012. pathB.moveTo(474.873322f, 199.293594f);
  2013. pathB.quadTo(478.196686f, 186.890503f, 489.316986f, 180.4702f);
  2014. pathB.lineTo(490.183014f, 179.9702f);
  2015. pathB.quadTo(501.303345f, 173.549896f, 513.706421f, 176.873276f);
  2016. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2017. }
  2018. static void skpwww_contextualnewsfeeds_com_346(skiatest::Reporter* reporter, const char* filename) {
  2019. SkPath path;
  2020. path.setFillType(SkPath::kEvenOdd_FillType);
  2021. path.moveTo(460.257355f, 1202.27808f);
  2022. path.lineTo(460.257355f, 1204.27808f);
  2023. path.quadTo(461.081207f, 1204.27808f, 461.665161f, 1203.69873f);
  2024. path.lineTo(461.67157f, 1203.69238f);
  2025. path.lineTo(466.621307f, 1198.74268f);
  2026. path.quadTo(466.623993f, 1198.73999f, 466.626648f, 1198.7373f);
  2027. path.quadTo(466.914185f, 1198.44604f, 466.914185f, 1198.03552f);
  2028. path.quadTo(466.914215f, 1197.62122f, 466.621307f, 1197.32837f);
  2029. path.lineTo(465.914215f, 1196.62122f);
  2030. path.lineTo(460.257355f, 1202.27808f);
  2031. path.close();
  2032. SkPath pathB;
  2033. pathB.setFillType(SkPath::kWinding_FillType);
  2034. pathB.moveTo(460.257355f, 1205.10657f);
  2035. pathB.lineTo(458.828979f, 1203.67822f);
  2036. pathB.lineTo(465.914215f, 1196.62122f);
  2037. pathB.lineTo(467.32843f, 1198.03552f);
  2038. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2039. }
  2040. static void skpwww_pindosiya_com_99(skiatest::Reporter* reporter, const char* filename) {
  2041. SkPath path;
  2042. path.setFillType(SkPath::kEvenOdd_FillType);
  2043. path.moveTo(899.17157f, 548.17157f);
  2044. path.quadTo(898, 549.34314f, 898, 551);
  2045. path.lineTo(898, 556);
  2046. path.lineTo(899.027283f, 556);
  2047. path.lineTo(900.02356f, 551.602844f);
  2048. path.quadTo(900.06073f, 551.297058f, 900.156555f, 551.015747f);
  2049. path.lineTo(900.5f, 549.5f);
  2050. path.lineTo(899.17157f, 548.17157f);
  2051. path.close();
  2052. SkPath pathB;
  2053. pathB.setFillType(SkPath::kWinding_FillType);
  2054. pathB.moveTo(898, 547);
  2055. pathB.lineTo(901.086914f, 547);
  2056. pathB.lineTo(899, 556);
  2057. pathB.lineTo(898, 556);
  2058. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2059. }
  2060. static void skpwww_karnivool_com_au_11(skiatest::Reporter* reporter, const char* filename) {
  2061. SkPath path;
  2062. path.setFillType(SkPath::kEvenOdd_FillType);
  2063. path.moveTo(0, 1431);
  2064. path.lineTo(0, 775);
  2065. path.lineTo(1265, 775);
  2066. path.lineTo(1265, 1431);
  2067. path.lineTo(0, 1431);
  2068. path.close();
  2069. SkPath pathB;
  2070. pathB.setFillType(SkPath::kWinding_FillType);
  2071. pathB.moveTo(32.3243904f, 851);
  2072. pathB.lineTo(459.324402f, 851);
  2073. pathB.lineTo(427, 1081);
  2074. pathB.lineTo(-3.81469727e-06f, 1081);
  2075. pathB.close();
  2076. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2077. }
  2078. static void skpwww_tunero_de_24(skiatest::Reporter* reporter, const char* filename) {
  2079. SkPath path;
  2080. path.setFillType(SkPath::kEvenOdd_FillType);
  2081. path.moveTo(1020.79303f, 2252);
  2082. path.quadTo(1018.72198f, 2252, 1016.86798f, 2253.46436f);
  2083. path.quadTo(1015.02032f, 2254.92383f, 1014.4668f, 2256.98584f);
  2084. path.lineTo(1014.46301f, 2257);
  2085. path.lineTo(1011.53705f, 2268);
  2086. path.quadTo(1010.98615f, 2270.07104f, 1012.06104f, 2271.53564f);
  2087. path.quadTo(1013.13599f, 2273, 1015.20703f, 2273);
  2088. path.lineTo(1083.20703f, 2273);
  2089. path.quadTo(1085.27808f, 2273, 1087.13208f, 2271.53564f);
  2090. path.quadTo(1088.97144f, 2270.08252f, 1089.52832f, 2268.03271f);
  2091. path.lineTo(1089.53711f, 2268);
  2092. path.lineTo(1092.46301f, 2257);
  2093. path.lineTo(1092.4679f, 2256.98145f);
  2094. path.quadTo(1093.00916f, 2254.92236f, 1091.93909f, 2253.46436f);
  2095. path.quadTo(1090.86414f, 2252, 1088.79297f, 2252);
  2096. path.lineTo(1020.79303f, 2252);
  2097. path.close();
  2098. SkPath pathB;
  2099. pathB.setFillType(SkPath::kWinding_FillType);
  2100. pathB.moveTo(1011.53705f, 2268);
  2101. pathB.lineTo(1014.46301f, 2257);
  2102. pathB.quadTo(1015.01392f, 2254.92896f, 1016.86798f, 2253.46436f);
  2103. pathB.quadTo(1018.72198f, 2252, 1020.79303f, 2252);
  2104. pathB.lineTo(1088.79297f, 2252);
  2105. pathB.quadTo(1090.86414f, 2252, 1091.93909f, 2253.46436f);
  2106. pathB.quadTo(1093.01392f, 2254.92896f, 1092.46301f, 2257);
  2107. pathB.lineTo(1089.53711f, 2268);
  2108. pathB.quadTo(1088.98608f, 2270.07104f, 1087.13208f, 2271.53564f);
  2109. pathB.quadTo(1085.27808f, 2273, 1083.20703f, 2273);
  2110. pathB.lineTo(1015.20703f, 2273);
  2111. pathB.quadTo(1013.13599f, 2273, 1012.06104f, 2271.53564f);
  2112. pathB.quadTo(1010.98615f, 2270.07104f, 1011.53705f, 2268);
  2113. pathB.close();
  2114. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2115. }
  2116. static void skpwww_docgelo_com_66(skiatest::Reporter* reporter, const char* filename) {
  2117. SkPath path;
  2118. path.setFillType(SkPath::kEvenOdd_FillType);
  2119. path.moveTo(22.5f, 24174.5f);
  2120. path.lineTo(185.5f, 24174.498f);
  2121. path.lineTo(185.5f, 24174.75f);
  2122. path.lineTo(22.5f, 24174.75f);
  2123. path.lineTo(22.5f, 24174.5f);
  2124. path.close();
  2125. SkPath pathB;
  2126. pathB.setFillType(SkPath::kWinding_FillType);
  2127. pathB.moveTo(22.5f, 24174.75f);
  2128. pathB.lineTo(22.5f, 24174.498f);
  2129. pathB.lineTo(185.5f, 24174.5f);
  2130. pathB.lineTo(185.5f, 24174.75f);
  2131. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2132. }
  2133. static void skpwww_kpopexplorer_net_22(skiatest::Reporter* reporter, const char* filename) {
  2134. SkPath path;
  2135. path.setFillType(SkPath::kEvenOdd_FillType);
  2136. path.moveTo(1000, 866.329346f);
  2137. path.quadTo(998, 869.250427f, 998, 873);
  2138. path.lineTo(998, 874);
  2139. path.quadTo(998, 877.749573f, 1000, 880.670654f);
  2140. path.lineTo(1000, 866.329346f);
  2141. path.close();
  2142. SkPath pathB;
  2143. pathB.setFillType(SkPath::kWinding_FillType);
  2144. pathB.moveTo(998, 874);
  2145. pathB.lineTo(998, 873);
  2146. pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f);
  2147. pathB.quadTo(1005.02942f, 861, 1010, 861);
  2148. pathB.lineTo(1011, 861);
  2149. pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f);
  2150. pathB.quadTo(1021, 868.029419f, 1021, 873);
  2151. pathB.lineTo(1021, 874);
  2152. pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f);
  2153. pathB.quadTo(1015.14215f, 884, 1011, 884);
  2154. pathB.lineTo(1010, 884);
  2155. pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
  2156. pathB.quadTo(998, 878.142151f, 998, 874);
  2157. pathB.close();
  2158. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2159. }
  2160. static void skpwww_artblart_com_8(skiatest::Reporter* reporter, const char* filename) {
  2161. SkPath path;
  2162. path.setFillType(SkPath::kEvenOdd_FillType);
  2163. path.moveTo(22.5f, 24527.25f);
  2164. path.lineTo(45, 24527.248f);
  2165. path.lineTo(45, 24527.5f);
  2166. path.lineTo(22.5f, 24527.5f);
  2167. path.lineTo(22.5f, 24527.25f);
  2168. path.close();
  2169. SkPath pathB;
  2170. pathB.setFillType(SkPath::kWinding_FillType);
  2171. pathB.moveTo(22.5f, 24527.5f);
  2172. pathB.lineTo(22.5f, 24527.248f);
  2173. pathB.lineTo(45, 24527.25f);
  2174. pathB.lineTo(45, 24527.5f);
  2175. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2176. }
  2177. static void skpwww_jessicaslens_wordpress_com_222(skiatest::Reporter* reporter, const char* filename) {
  2178. SkPath path;
  2179. path.setFillType(SkPath::kEvenOdd_FillType);
  2180. path.moveTo(1000, 844.329346f);
  2181. path.quadTo(998, 847.250427f, 998, 851);
  2182. path.lineTo(998, 852);
  2183. path.quadTo(998, 855.749573f, 1000, 858.670654f);
  2184. path.lineTo(1000, 844.329346f);
  2185. path.close();
  2186. SkPath pathB;
  2187. pathB.setFillType(SkPath::kWinding_FillType);
  2188. pathB.moveTo(998, 852);
  2189. pathB.lineTo(998, 851);
  2190. pathB.quadTo(998, 846.029419f, 1001.51471f, 842.514709f);
  2191. pathB.quadTo(1005.02942f, 839, 1010, 839);
  2192. pathB.lineTo(1011, 839);
  2193. pathB.quadTo(1015.14215f, 839, 1018.07104f, 842.514709f);
  2194. pathB.quadTo(1021, 846.029419f, 1021, 851);
  2195. pathB.lineTo(1021, 852);
  2196. pathB.quadTo(1021, 856.142151f, 1018.07104f, 859.071045f);
  2197. pathB.quadTo(1015.14215f, 862, 1011, 862);
  2198. pathB.lineTo(1010, 862);
  2199. pathB.quadTo(1005.02942f, 862, 1001.51471f, 859.071045f);
  2200. pathB.quadTo(998, 856.142151f, 998, 852);
  2201. pathB.close();
  2202. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2203. }
  2204. static void skpwww_simplysaru_com_40(skiatest::Reporter* reporter, const char* filename) {
  2205. SkPath path;
  2206. path.setFillType(SkPath::kEvenOdd_FillType);
  2207. path.moveTo(1000, 866.329346f);
  2208. path.quadTo(998, 869.250427f, 998, 873);
  2209. path.lineTo(998, 874);
  2210. path.quadTo(998, 877.749573f, 1000, 880.670654f);
  2211. path.lineTo(1000, 866.329346f);
  2212. path.close();
  2213. SkPath pathB;
  2214. pathB.setFillType(SkPath::kWinding_FillType);
  2215. pathB.moveTo(998, 874);
  2216. pathB.lineTo(998, 873);
  2217. pathB.quadTo(998, 868.029419f, 1001.51471f, 864.514709f);
  2218. pathB.quadTo(1005.02942f, 861, 1010, 861);
  2219. pathB.lineTo(1011, 861);
  2220. pathB.quadTo(1015.14215f, 861, 1018.07104f, 864.514709f);
  2221. pathB.quadTo(1021, 868.029419f, 1021, 873);
  2222. pathB.lineTo(1021, 874);
  2223. pathB.quadTo(1021, 878.142151f, 1018.07104f, 881.071045f);
  2224. pathB.quadTo(1015.14215f, 884, 1011, 884);
  2225. pathB.lineTo(1010, 884);
  2226. pathB.quadTo(1005.02942f, 884, 1001.51471f, 881.071045f);
  2227. pathB.quadTo(998, 878.142151f, 998, 874);
  2228. pathB.close();
  2229. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2230. }
  2231. static void skpwww_partsdata_de_53(skiatest::Reporter* reporter, const char* filename) {
  2232. SkPath path;
  2233. path.setFillType(SkPath::kEvenOdd_FillType);
  2234. path.moveTo(407, 119);
  2235. path.lineTo(407, 28);
  2236. path.lineTo(647, 28);
  2237. path.lineTo(647, 119);
  2238. path.lineTo(407, 119);
  2239. path.close();
  2240. SkPath pathB;
  2241. pathB.setFillType(SkPath::kWinding_FillType);
  2242. pathB.moveTo(471.228394f, 64.443222f);
  2243. pathB.cubicTo(471.193878f, 60.953373f, 470.234985f, 52.4797592f, 462.201569f, 46.6231461f);
  2244. pathB.cubicTo(454.168152f, 40.7665405f, 446.592804f, 41.993145f, 443.033936f, 42.8568878f);
  2245. pathB.cubicTo(439.475098f, 43.7206268f, 436.978638f, 45.4052658f, 436.304871f, 45.7851906f);
  2246. pathB.cubicTo(435.631104f, 46.1651154f, 435.156006f, 45.8026352f, 434.957306f, 45.6384506f);
  2247. pathB.cubicTo(434.758636f, 45.4742737f, 431.460999f, 42.0105858f, 430.916901f, 41.4664841f);
  2248. pathB.cubicTo(430.372803f, 40.9223785f, 429.731628f, 41.3303604f, 429.375214f, 41.6996689f);
  2249. pathB.cubicTo(429.375214f, 41.6996689f, 420.610016f, 50.5190887f, 419.918793f, 51.1754227f);
  2250. pathB.cubicTo(419.22757f, 51.8321419f, 419.331482f, 52.2465706f, 419.884308f, 52.8339005f);
  2251. pathB.cubicTo(420.437134f, 53.4212303f, 425.170624f, 58.0167313f, 425.619568f, 58.4660416f);
  2252. pathB.cubicTo(426.068512f, 58.9153557f, 426.137878f, 59.2952805f, 426.137878f, 59.8136024f);
  2253. pathB.cubicTo(426.137878f, 60.3319244f, 426.103394f, 103.141357f, 426.103394f, 103.970215f);
  2254. pathB.cubicTo(426.103394f, 104.799835f, 426.310791f, 105.525177f, 427.17453f, 105.525177f);
  2255. pathB.cubicTo(428.038269f, 105.525177f, 440.131409f, 105.491432f, 440.85675f, 105.491432f);
  2256. pathB.cubicTo(441.582489f, 105.491432f, 441.996918f, 104.903343f, 441.996918f, 104.17762f);
  2257. pathB.cubicTo(441.996918f, 103.452271f, 441.996918f, 89.5622559f, 441.996918f, 87.8002701f);
  2258. pathB.cubicTo(441.996918f, 86.0382843f, 442.342712f, 86.2453079f, 442.826141f, 86.3491974f);
  2259. pathB.cubicTo(443.309601f, 86.4530945f, 445.832184f, 87.040802f, 448.700195f, 87.040802f);
  2260. pathB.cubicTo(466.87442f, 86.6949997f, 471.815338f, 69.4876556f, 471.228394f, 64.443222f);
  2261. pathB.close();
  2262. pathB.moveTo(448.873108f, 72.4595642f);
  2263. pathB.cubicTo(444.636658f, 72.4595642f, 441.202545f, 69.0254517f, 441.202545f, 64.7890244f);
  2264. pathB.cubicTo(441.202545f, 60.5525932f, 444.636658f, 57.1184845f, 448.873108f, 57.1184845f);
  2265. pathB.cubicTo(453.109528f, 57.1184845f, 456.54364f, 60.552597f, 456.54364f, 64.7890244f);
  2266. pathB.cubicTo(456.54364f, 69.0254517f, 453.109528f, 72.4595642f, 448.873108f, 72.4595642f);
  2267. pathB.close();
  2268. pathB.moveTo(520.242859f, 82.5275803f);
  2269. pathB.cubicTo(519.733276f, 81.6547394f, 494.845154f, 41.3379478f, 494.263123f, 40.3923073f);
  2270. pathB.cubicTo(493.681122f, 39.4462852f, 493.244324f, 39.5918846f, 492.807495f, 40.3195038f);
  2271. pathB.cubicTo(492.515167f, 40.8071136f, 467.238037f, 81.6790085f, 466.528625f, 82.8373566f);
  2272. pathB.cubicTo(465.819183f, 83.9945831f, 466.497528f, 84.2975311f, 466.904358f, 84.5792542f);
  2273. pathB.cubicTo(466.904358f, 84.5792542f, 477.399689f, 91.2036743f, 478.235748f, 91.6981049f);
  2274. pathB.cubicTo(479.071838f, 92.1929092f, 479.396393f, 91.9028473f, 479.669403f, 91.5104141f);
  2275. pathB.cubicTo(479.942383f, 91.1175995f, 484.106384f, 84.1549606f, 484.481781f, 83.5570221f);
  2276. pathB.cubicTo(484.857147f, 82.9602051f, 485.198792f, 82.8741379f, 485.966583f, 82.8741379f);
  2277. pathB.cubicTo(486.734406f, 82.8741379f, 499.635925f, 82.8062668f, 500.830322f, 82.8062668f);
  2278. pathB.cubicTo(502.024658f, 82.8062668f, 502.229797f, 83.4038391f, 502.400452f, 83.6427078f);
  2279. pathB.cubicTo(502.571045f, 83.8815842f, 506.615631f, 90.7414703f, 506.990997f, 91.2870865f);
  2280. pathB.cubicTo(507.651123f, 92.2475128f, 508.017395f, 92.1333847f, 508.672241f, 91.6962051f);
  2281. pathB.cubicTo(509.327423f, 91.2597809f, 519.442444f, 85.0744324f, 520.243286f, 84.4920349f);
  2282. pathB.cubicTo(521.042908f, 83.9100189f, 520.751709f, 83.4004211f, 520.242859f, 82.5275803f);
  2283. pathB.close();
  2284. pathB.moveTo(493.720551f, 72.4811783f);
  2285. pathB.cubicTo(491.265442f, 72.4811783f, 489.275574f, 70.4905548f, 489.275574f, 68.0362091f);
  2286. pathB.cubicTo(489.275574f, 65.5811005f, 491.265808f, 63.5912399f, 493.720551f, 63.5912399f);
  2287. pathB.cubicTo(496.175262f, 63.5912399f, 498.165527f, 65.5814819f, 498.165527f, 68.0362091f);
  2288. pathB.cubicTo(498.165894f, 70.4905548f, 496.175659f, 72.4811783f, 493.720551f, 72.4811783f);
  2289. pathB.close();
  2290. pathB.moveTo(526.561707f, 42.132679f);
  2291. pathB.cubicTo(526.876404f, 41.786499f, 527.537292f, 41.1881752f, 528.512878f, 42.1956215f);
  2292. pathB.cubicTo(529.488892f, 43.2030678f, 531.691833f, 45.2486725f, 531.881042f, 45.4693451f);
  2293. pathB.cubicTo(532.07019f, 45.6896439f, 532.762939f, 46.2875862f, 533.517883f, 45.7525826f);
  2294. pathB.cubicTo(534.272827f, 45.2172012f, 539.497681f, 41.9753265f, 545.384277f, 42.132679f);
  2295. pathB.cubicTo(546.203247f, 42.2270889f, 546.580566f, 42.5421791f, 546.612f, 43.8324814f);
  2296. pathB.cubicTo(546.643494f, 45.1227837f, 546.674561f, 55.1957283f, 546.612f, 56.2657356f);
  2297. pathB.cubicTo(546.549072f, 57.3361206f, 546.549072f, 57.7452469f, 544.975525f, 57.8396568f);
  2298. pathB.cubicTo(543.401978f, 57.9340706f, 538.742798f, 59.5709305f, 538.774658f, 64.6070251f);
  2299. pathB.cubicTo(538.806458f, 69.6431122f, 538.806091f, 86.2631226f, 538.806091f, 86.9554901f);
  2300. pathB.cubicTo(538.806091f, 87.6478424f, 538.585815f, 88.4349976f, 537.484314f, 88.4349976f);
  2301. pathB.cubicTo(536.382446f, 88.4349976f, 524.79895f, 88.4031372f, 524.04364f, 88.4031372f);
  2302. pathB.cubicTo(523.287964f, 88.4031372f, 522.910706f, 88.3402023f, 522.910706f, 86.8606949f);
  2303. pathB.cubicTo(522.910706f, 85.3823242f, 522.910706f, 60.6094704f, 522.910706f, 60.0740852f);
  2304. pathB.cubicTo(522.910706f, 59.5387039f, 522.81665f, 58.9092865f, 522.470093f, 58.6260452f);
  2305. pathB.cubicTo(522.123901f, 58.3428116f, 517.465088f, 53.621048f, 517.181885f, 53.3378105f);
  2306. pathB.cubicTo(516.898621f, 53.0545731f, 516.300659f, 52.330368f, 517.213318f, 51.5121231f);
  2307. pathB.cubicTo(518.125977f, 50.6942635f, 526.561707f, 42.132679f, 526.561707f, 42.132679f);
  2308. pathB.close();
  2309. pathB.moveTo(550.169006f, 43.7373123f);
  2310. pathB.cubicTo(550.169006f, 42.6358337f, 550.767334f, 42.2263336f, 551.49115f, 42.2263336f);
  2311. pathB.cubicTo(552.214966f, 42.2263336f, 552.781433f, 42.2263336f, 552.938843f, 42.2263336f);
  2312. pathB.cubicTo(553.096191f, 42.2263336f, 553.725586f, 41.8801537f, 553.662598f, 41.124855f);
  2313. pathB.cubicTo(553.600098f, 40.369175f, 553.662598f, 31.4614124f, 553.662598f, 30.8005257f);
  2314. pathB.cubicTo(553.662598f, 30.1396389f, 553.75708f, 29.1951332f, 555.110657f, 29.1951332f);
  2315. pathB.cubicTo(556.463928f, 29.1951332f, 566.536865f, 29.1951332f, 567.859009f, 29.1951332f);
  2316. pathB.cubicTo(569.180786f, 29.1951332f, 569.463623f, 30.1711082f, 569.463623f, 30.7690544f);
  2317. pathB.cubicTo(569.463623f, 31.3670006f, 569.463623f, 40.2122002f, 569.463623f, 41.0619125f);
  2318. pathB.cubicTo(569.463623f, 41.9116249f, 569.746887f, 42.3207474f, 570.659912f, 42.3207474f);
  2319. pathB.cubicTo(571.572571f, 42.3207474f, 575.507568f, 42.2263336f, 576.199951f, 42.2263336f);
  2320. pathB.cubicTo(576.892273f, 42.2263336f, 577.742004f, 42.5725098f, 577.742004f, 43.8631973f);
  2321. pathB.cubicTo(577.742004f, 45.1538811f, 577.742004f, 55.8877106f, 577.742004f, 56.5800705f);
  2322. pathB.cubicTo(577.742004f, 57.2724266f, 577.616455f, 58.0595779f, 576.45166f, 58.0595779f);
  2323. pathB.cubicTo(575.286865f, 58.0595779f, 570.943115f, 58.0595779f, 570.471069f, 58.0595779f);
  2324. pathB.cubicTo(569.999023f, 58.0595779f, 569.479919f, 57.8389015f, 569.479919f, 59.0510979f);
  2325. pathB.cubicTo(569.479919f, 60.2629128f, 569.479919f, 66.2124176f, 569.479919f, 67.1880188f);
  2326. pathB.cubicTo(569.479919f, 68.1636047f, 570.628418f, 73.6406708f, 575.917053f, 73.6406708f);
  2327. pathB.cubicTo(577.018921f, 73.6406708f, 577.742737f, 73.9242859f, 577.742737f, 75.4348907f);
  2328. pathB.cubicTo(577.742737f, 76.945488f, 577.742737f, 87.0813751f, 577.742737f, 87.8366699f);
  2329. pathB.cubicTo(577.742737f, 88.5915909f, 577.648315f, 89.4416809f, 576.295044f, 89.4416809f);
  2330. pathB.cubicTo(574.028809f, 89.6312714f, 553.978088f, 88.0254974f, 553.631897f, 65.928421f);
  2331. pathB.cubicTo(553.631897f, 65.928421f, 553.631897f, 59.6964378f, 553.631897f, 58.972229f);
  2332. pathB.cubicTo(553.631897f, 58.2484055f, 553.034363f, 58.0436554f, 552.703735f, 58.0436554f);
  2333. pathB.cubicTo(552.372681f, 58.0436554f, 551.522949f, 58.0436554f, 551.208252f, 58.0436554f);
  2334. pathB.cubicTo(550.893921f, 58.0436554f, 550.170105f, 58.0906677f, 550.170105f, 56.6115417f);
  2335. pathB.cubicTo(550.170105f, 55.1324081f, 550.169006f, 43.7373123f, 550.169006f, 43.7373123f);
  2336. pathB.close();
  2337. pathB.moveTo(611.203857f, 39.5509338f);
  2338. pathB.cubicTo(612.084961f, 39.5509338f, 612.620422f, 40.0544662f, 612.620422f, 40.8097687f);
  2339. pathB.cubicTo(612.620422f, 41.5650673f, 612.620422f, 53.1486092f, 612.620422f, 53.6839905f);
  2340. pathB.cubicTo(612.620422f, 54.2193718f, 612.651489f, 55.2264404f, 611.612976f, 55.2264404f);
  2341. pathB.cubicTo(610.574463f, 55.2264404f, 604.404663f, 55.9817429f, 604.404663f, 61.899395f);
  2342. pathB.cubicTo(604.404663f, 65.4878235f, 604.373169f, 66.6211548f, 604.373169f, 67.5338135f);
  2343. pathB.cubicTo(604.373169f, 68.0684357f, 604.414124f, 74.3353043f, 599.934631f, 80.4702148f);
  2344. pathB.cubicTo(596.765564f, 84.8109131f, 590.664368f, 89.3942871f, 582.150208f, 89.630127f);
  2345. pathB.cubicTo(580.028015f, 89.630127f, 580.230469f, 88.5286484f, 580.230469f, 88.1820908f);
  2346. pathB.cubicTo(580.230469f, 87.5845184f, 580.198975f, 75.8436279f, 580.198975f, 75.2142105f);
  2347. pathB.cubicTo(580.198975f, 74.5844116f, 580.608154f, 73.8605804f, 581.58374f, 73.8605804f);
  2348. pathB.cubicTo(583.40979f, 73.8605804f, 588.603271f, 72.7905731f, 588.603271f, 66.9043884f);
  2349. pathB.cubicTo(588.603271f, 61.3958588f, 588.603271f, 61.8679237f, 588.603271f, 61.0496788f);
  2350. pathB.cubicTo(588.603271f, 60.2314377f, 588.666565f, 54.3137856f, 593.230591f, 48.3961296f);
  2351. pathB.cubicTo(597.794617f, 42.4784775f, 604.814087f, 39.5509338f, 611.203857f, 39.5509338f);
  2352. pathB.close();
  2353. pathB.moveTo(635.22937f, 81.9311447f);
  2354. pathB.cubicTo(635.057617f, 81.6475296f, 634.869141f, 81.3851471f, 634.664429f, 81.1439972f);
  2355. pathB.lineTo(635.039001f, 81.0385895f);
  2356. pathB.cubicTo(635.447754f, 80.9233246f, 635.729858f, 80.5509796f, 635.729858f, 80.1263123f);
  2357. pathB.lineTo(635.729858f, 78.6149597f);
  2358. pathB.cubicTo(635.729858f, 78.3309631f, 635.602417f, 78.0617523f, 635.382935f, 77.8816452f);
  2359. pathB.cubicTo(635.162598f, 77.7015381f, 634.873291f, 77.6295013f, 634.595764f, 77.6852341f);
  2360. pathB.cubicTo(633.906799f, 77.8232498f, 633.194397f, 77.9017334f, 632.478149f, 77.9191818f);
  2361. pathB.cubicTo(631.714844f, 77.9373779f, 630.851501f, 77.9464874f, 629.911133f, 77.9464874f);
  2362. pathB.lineTo(615.131226f, 77.9464874f);
  2363. pathB.cubicTo(614.607605f, 77.9464874f, 614.18335f, 78.3707733f, 614.18335f, 78.8944016f);
  2364. pathB.lineTo(614.18335f, 81.1337585f);
  2365. pathB.cubicTo(614.18335f, 81.6573868f, 614.607605f, 82.0816803f, 615.131226f, 82.0816803f);
  2366. pathB.lineTo(619.693787f, 82.0816803f);
  2367. pathB.cubicTo(619.680908f, 82.1423492f, 619.669128f, 82.2026367f, 619.657776f, 82.2629166f);
  2368. pathB.cubicTo(619.571289f, 82.728157f, 619.529602f, 83.3200302f, 619.529602f, 84.0730591f);
  2369. pathB.cubicTo(619.529602f, 86.3196259f, 620.260254f, 88.1236954f, 621.701477f, 89.4348602f);
  2370. pathB.cubicTo(623.116516f, 90.7225037f, 625.163269f, 91.3754272f, 627.784058f, 91.3754272f);
  2371. pathB.cubicTo(630.525024f, 91.3754272f, 632.517944f, 90.8669662f, 633.876099f, 89.8208466f);
  2372. pathB.cubicTo(635.291565f, 88.7314987f, 636.009705f, 87.0798492f, 636.009705f, 84.9129181f);
  2373. pathB.cubicTo(636.010071f, 83.7905807f, 635.747314f, 82.7873077f, 635.22937f, 81.9311447f);
  2374. pathB.close();
  2375. pathB.moveTo(631.880554f, 85.7326736f);
  2376. pathB.cubicTo(631.690552f, 86.0545807f, 631.436157f, 86.307869f, 631.102844f, 86.5076904f);
  2377. pathB.cubicTo(630.736206f, 86.7279816f, 630.277039f, 86.8906479f, 629.737854f, 86.9903717f);
  2378. pathB.cubicTo(629.146362f, 87.1003265f, 628.488892f, 87.1564484f, 627.783997f, 87.1564484f);
  2379. pathB.cubicTo(626.159668f, 87.1564484f, 624.996399f, 86.8656235f, 624.327881f, 86.293457f);
  2380. pathB.cubicTo(623.693604f, 85.7489777f, 623.385315f, 84.995575f, 623.385315f, 83.9896393f);
  2381. pathB.cubicTo(623.385315f, 83.3655396f, 623.431519f, 82.8718567f, 623.522583f, 82.5215149f);
  2382. pathB.cubicTo(623.563477f, 82.3645325f, 623.616943f, 82.2189331f, 623.684448f, 82.0824356f);
  2383. pathB.lineTo(630.008179f, 82.0824356f);
  2384. pathB.cubicTo(630.758911f, 82.247757f, 631.311401f, 82.5256805f, 631.650757f, 82.9101562f);
  2385. pathB.cubicTo(631.990112f, 83.2942505f, 632.154663f, 83.8303986f, 632.154663f, 84.549675f);
  2386. pathB.cubicTo(632.154663f, 85.02742f, 632.062927f, 85.4251709f, 631.880554f, 85.7326736f);
  2387. pathB.close();
  2388. pathB.moveTo(635.667664f, 69.5979919f);
  2389. pathB.cubicTo(635.518311f, 69.0645142f, 635.325684f, 68.5818329f, 635.093994f, 68.1620941f);
  2390. pathB.cubicTo(634.940796f, 67.8856812f, 634.770569f, 67.6316376f, 634.586304f, 67.4026184f);
  2391. pathB.lineTo(635.054565f, 67.2619476f);
  2392. pathB.cubicTo(635.455322f, 67.1417542f, 635.729858f, 66.7724457f, 635.729858f, 66.3538437f);
  2393. pathB.lineTo(635.729858f, 64.7021942f);
  2394. pathB.cubicTo(635.729858f, 64.4045486f, 635.590332f, 64.1243439f, 635.3526f, 63.9449997f);
  2395. pathB.cubicTo(635.115234f, 63.7660294f, 634.807373f, 63.7087784f, 634.521057f, 63.7906761f);
  2396. pathB.cubicTo(634.059998f, 63.9226265f, 633.544678f, 64.0155258f, 632.988831f, 64.0659485f);
  2397. pathB.cubicTo(631.578735f, 64.1941071f, 629.921387f, 64.1565704f, 628.141968f, 64.0632935f);
  2398. pathB.cubicTo(627.067383f, 64.0068054f, 625.948853f, 63.9779854f, 624.81665f, 63.9779854f);
  2399. pathB.cubicTo(624.253601f, 63.9779854f, 623.681396f, 64.0359955f, 623.116089f, 64.1512604f);
  2400. pathB.cubicTo(622.479126f, 64.2809448f, 621.888367f, 64.5437012f, 621.35907f, 64.9315872f);
  2401. pathB.cubicTo(620.807007f, 65.3365402f, 620.360352f, 65.9159088f, 620.031189f, 66.6548996f);
  2402. pathB.cubicTo(619.712708f, 67.3722839f, 619.557983f, 68.2625656f, 619.557983f, 69.3769379f);
  2403. pathB.cubicTo(619.557983f, 70.4655304f, 619.669128f, 71.5268097f, 619.887878f, 72.5323639f);
  2404. pathB.cubicTo(620.11499f, 73.573555f, 620.473694f, 74.5040283f, 620.954468f, 75.2983856f);
  2405. pathB.cubicTo(621.196411f, 75.6976471f, 621.693481f, 75.861824f, 622.124939f, 75.6847534f);
  2406. pathB.lineTo(623.832336f, 74.9851913f);
  2407. pathB.cubicTo(624.086365f, 74.8809204f, 624.282776f, 74.6716156f, 624.370728f, 74.4111328f);
  2408. pathB.cubicTo(624.45874f, 74.15065f, 624.429138f, 73.8651276f, 624.290405f, 73.6281509f);
  2409. pathB.cubicTo(624.166382f, 73.416954f, 624.051147f, 73.1644287f, 623.947205f, 72.875885f);
  2410. pathB.cubicTo(623.836853f, 72.5702744f, 623.741333f, 72.2407837f, 623.663574f, 71.8968811f);
  2411. pathB.cubicTo(623.584717f, 71.549942f, 623.522217f, 71.2018585f, 623.477417f, 70.8621292f);
  2412. pathB.cubicTo(623.434937f, 70.5409775f, 623.41333f, 70.2391663f, 623.41333f, 69.9646454f);
  2413. pathB.cubicTo(623.41333f, 68.8229752f, 623.672729f, 68.4748993f, 623.75116f, 68.3960266f);
  2414. pathB.cubicTo(623.853577f, 68.2940369f, 624.20166f, 68.0574341f, 625.236755f, 68.0574341f);
  2415. pathB.cubicTo(625.39679f, 68.0574341f, 625.566284f, 68.0616074f, 625.744446f, 68.0695648f);
  2416. pathB.lineTo(625.744446f, 68.7331085f);
  2417. pathB.cubicTo(625.744446f, 69.8065338f, 625.819153f, 70.8048782f, 625.967041f, 71.70047f);
  2418. pathB.cubicTo(626.12323f, 72.6483841f, 626.392456f, 73.4825516f, 626.767456f, 74.1794586f);
  2419. pathB.cubicTo(627.173523f, 74.9328613f, 627.730957f, 75.5292969f, 628.424438f, 75.9528198f);
  2420. pathB.cubicTo(629.123596f, 76.3790054f, 629.981628f, 76.5951309f, 630.975464f, 76.5951309f);
  2421. pathB.cubicTo(631.722046f, 76.5951309f, 632.406799f, 76.4597626f, 633.009644f, 76.1924591f);
  2422. pathB.cubicTo(633.611816f, 75.9262848f, 634.136536f, 75.5543213f, 634.567688f, 75.0875626f);
  2423. pathB.cubicTo(634.998779f, 74.6223297f, 635.333191f, 74.0672302f, 635.561096f, 73.4370575f);
  2424. pathB.cubicTo(635.78479f, 72.8212891f, 635.898193f, 72.1520538f, 635.898193f, 71.4479446f);
  2425. pathB.cubicTo(635.898193f, 70.7688599f, 635.820496f, 70.1462708f, 635.667664f, 69.5979919f);
  2426. pathB.close();
  2427. pathB.moveTo(631.656494f, 71.9905396f);
  2428. pathB.cubicTo(631.416077f, 72.2574692f, 631.13739f, 72.3765259f, 630.751404f, 72.3765259f);
  2429. pathB.cubicTo(630.390015f, 72.3765259f, 630.239502f, 72.2536774f, 630.190247f, 72.2127228f);
  2430. pathB.cubicTo(630.002197f, 72.0587845f, 629.853149f, 71.8483429f, 629.735596f, 71.5704193f);
  2431. pathB.cubicTo(629.594177f, 71.2348557f, 629.494507f, 70.8310394f, 629.439453f, 70.3714905f);
  2432. pathB.cubicTo(629.379211f, 69.8607559f, 629.348511f, 69.3284073f, 629.348511f, 68.7892303f);
  2433. pathB.cubicTo(629.348511f, 68.5765228f, 629.351929f, 68.3603973f, 629.357971f, 68.1416168f);
  2434. pathB.lineTo(630.581177f, 68.1416168f);
  2435. pathB.cubicTo(630.702515f, 68.2026672f, 630.831787f, 68.2841797f, 630.967163f, 68.3857956f);
  2436. pathB.cubicTo(631.149902f, 68.523056f, 631.322815f, 68.703537f, 631.480225f, 68.922699f);
  2437. pathB.cubicTo(631.639038f, 69.1437531f, 631.77478f, 69.4186478f, 631.884399f, 69.7390442f);
  2438. pathB.cubicTo(631.989807f, 70.0488281f, 632.04364f, 70.4169922f, 632.04364f, 70.8329391f);
  2439. pathB.cubicTo(632.042847f, 71.3228302f, 631.916565f, 71.7012329f, 631.656494f, 71.9905396f);
  2440. pathB.close();
  2441. pathB.moveTo(622.689575f, 63.4953079f);
  2442. pathB.lineTo(620.72998f, 63.4953079f);
  2443. pathB.cubicTo(620.206421f, 63.4953079f, 619.782104f, 63.0710182f, 619.782104f, 62.54739f);
  2444. pathB.lineTo(619.782104f, 61.3116837f);
  2445. pathB.lineTo(617.958679f, 61.3116837f);
  2446. pathB.cubicTo(617.536255f, 61.3116837f, 617.164307f, 61.0318604f, 617.047913f, 60.6257744f);
  2447. pathB.lineTo(616.404114f, 58.3864136f);
  2448. pathB.cubicTo(616.321411f, 58.1001472f, 616.378662f, 57.7922592f, 616.557678f, 57.5541458f);
  2449. pathB.cubicTo(616.737061f, 57.3164062f, 617.017212f, 57.1764946f, 617.31488f, 57.1764946f);
  2450. pathB.lineTo(619.782104f, 57.1764946f);
  2451. pathB.lineTo(619.782104f, 54.3171997f);
  2452. pathB.cubicTo(619.782104f, 53.7935715f, 620.206421f, 53.3692818f, 620.730042f, 53.3692818f);
  2453. pathB.lineTo(622.689575f, 53.3692818f);
  2454. pathB.cubicTo(623.213196f, 53.3692818f, 623.637512f, 53.7935715f, 623.637512f, 54.3171997f);
  2455. pathB.lineTo(623.637512f, 57.1764946f);
  2456. pathB.lineTo(630.443176f, 57.1764946f);
  2457. pathB.cubicTo(631.548828f, 57.1764946f, 631.921936f, 57.0028381f, 632.009888f, 56.9493713f);
  2458. pathB.cubicTo(632.057617f, 56.9205589f, 632.154724f, 56.8621674f, 632.154724f, 56.5288773f);
  2459. pathB.cubicTo(632.154724f, 56.139473f, 632.116821f, 55.8179398f, 632.04248f, 55.5737572f);
  2460. pathB.cubicTo(631.949219f, 55.268528f, 631.822205f, 54.9193192f, 631.665588f, 54.5363579f);
  2461. pathB.cubicTo(631.563599f, 54.288002f, 631.572327f, 54.0085602f, 631.688354f, 53.7670288f);
  2462. pathB.cubicTo(631.804749f, 53.5251198f, 632.017456f, 53.3438797f, 632.274536f, 53.2680435f);
  2463. pathB.lineTo(633.9823f, 52.7641296f);
  2464. pathB.cubicTo(634.430115f, 52.6325607f, 634.90332f, 52.8437576f, 635.105042f, 53.2623596f);
  2465. pathB.cubicTo(635.375f, 53.8235245f, 635.59491f, 54.4404297f, 635.758301f, 55.0956268f);
  2466. pathB.cubicTo(635.925537f, 55.7656174f, 636.010498f, 56.4928589f, 636.010498f, 57.2565002f);
  2467. pathB.cubicTo(636.010498f, 58.7109833f, 635.553589f, 59.7790947f, 634.653076f, 60.4316406f);
  2468. pathB.cubicTo(633.835938f, 61.0235176f, 632.596069f, 61.311306f, 630.863647f, 61.311306f);
  2469. pathB.lineTo(623.637878f, 61.311306f);
  2470. pathB.lineTo(623.637878f, 62.5470123f);
  2471. pathB.cubicTo(623.637451f, 63.071022f, 623.213196f, 63.4953079f, 622.689575f, 63.4953079f);
  2472. pathB.close();
  2473. pathB.moveTo(635.667664f, 46.2246475f);
  2474. pathB.cubicTo(635.518311f, 45.6911545f, 635.325684f, 45.2084808f, 635.093994f, 44.7887421f);
  2475. pathB.cubicTo(634.940796f, 44.5123291f, 634.770569f, 44.2582855f, 634.586304f, 44.029274f);
  2476. pathB.lineTo(635.054565f, 43.8886032f);
  2477. pathB.cubicTo(635.455322f, 43.7684059f, 635.729858f, 43.3990974f, 635.729858f, 42.9804955f);
  2478. pathB.lineTo(635.729858f, 41.328846f);
  2479. pathB.cubicTo(635.729858f, 41.0312004f, 635.590332f, 40.7509995f, 635.3526f, 40.5716515f);
  2480. pathB.cubicTo(635.115234f, 40.3926849f, 634.807373f, 40.3354301f, 634.521057f, 40.4173279f);
  2481. pathB.cubicTo(634.059998f, 40.5492783f, 633.544678f, 40.6421738f, 632.988831f, 40.6926041f);
  2482. pathB.cubicTo(631.578735f, 40.8207626f, 629.921387f, 40.7836075f, 628.141968f, 40.689949f);
  2483. pathB.cubicTo(627.067383f, 40.6334534f, 625.948853f, 40.6046371f, 624.81665f, 40.6046371f);
  2484. pathB.cubicTo(624.253601f, 40.6046371f, 623.681396f, 40.6626511f, 623.116089f, 40.777916f);
  2485. pathB.cubicTo(622.479126f, 40.9075928f, 621.888367f, 41.1703568f, 621.35907f, 41.5582428f);
  2486. pathB.cubicTo(620.807007f, 41.963192f, 620.360352f, 42.5425606f, 620.031189f, 43.2815552f);
  2487. pathB.cubicTo(619.712708f, 43.9989395f, 619.557983f, 44.8892212f, 619.557983f, 46.0035934f);
  2488. pathB.cubicTo(619.557983f, 47.0921783f, 619.669128f, 48.1534653f, 619.887878f, 49.1590195f);
  2489. pathB.cubicTo(620.11499f, 50.2002106f, 620.473694f, 51.1306839f, 620.954468f, 51.9250374f);
  2490. pathB.cubicTo(621.196411f, 52.3243027f, 621.693481f, 52.4880981f, 622.124939f, 52.311409f);
  2491. pathB.lineTo(623.832336f, 51.6118431f);
  2492. pathB.cubicTo(624.086365f, 51.5075722f, 624.282776f, 51.2982712f, 624.370728f, 51.0377846f);
  2493. pathB.cubicTo(624.45874f, 50.777298f, 624.429138f, 50.4917831f, 624.290405f, 50.2548065f);
  2494. pathB.cubicTo(624.166382f, 50.0436096f, 624.051147f, 49.7910843f, 623.947205f, 49.5025406f);
  2495. pathB.cubicTo(623.836853f, 49.1969299f, 623.741333f, 48.8674355f, 623.663574f, 48.5235291f);
  2496. pathB.cubicTo(623.584717f, 48.1765938f, 623.522217f, 47.8285179f, 623.477417f, 47.4887848f);
  2497. pathB.cubicTo(623.434937f, 47.1676331f, 623.41333f, 46.8658142f, 623.41333f, 46.5912971f);
  2498. pathB.cubicTo(623.41333f, 45.4496269f, 623.672729f, 45.1015511f, 623.75116f, 45.0226822f);
  2499. pathB.cubicTo(623.853577f, 44.9206886f, 624.20166f, 44.6840897f, 625.236755f, 44.6840897f);
  2500. pathB.cubicTo(625.39679f, 44.6840897f, 625.566284f, 44.6882591f, 625.744446f, 44.6962204f);
  2501. pathB.lineTo(625.744446f, 45.3597641f);
  2502. pathB.cubicTo(625.744446f, 46.4331856f, 625.819153f, 47.43153f, 625.967041f, 48.3271217f);
  2503. pathB.cubicTo(626.12323f, 49.2750397f, 626.392456f, 50.1092072f, 626.767456f, 50.8061142f);
  2504. pathB.cubicTo(627.173523f, 51.5595169f, 627.730957f, 52.1559486f, 628.424438f, 52.5794754f);
  2505. pathB.cubicTo(629.123596f, 53.005661f, 629.981628f, 53.2217865f, 630.975464f, 53.2217865f);
  2506. pathB.cubicTo(631.722046f, 53.2217865f, 632.406799f, 53.086422f, 633.009644f, 52.8191147f);
  2507. pathB.cubicTo(633.611816f, 52.5529366f, 634.136536f, 52.1809769f, 634.567688f, 51.7142181f);
  2508. pathB.cubicTo(634.998779f, 51.2489815f, 635.333191f, 50.693882f, 635.561096f, 50.0637054f);
  2509. pathB.cubicTo(635.78479f, 49.4479408f, 635.898193f, 48.7787094f, 635.898193f, 48.0746002f);
  2510. pathB.cubicTo(635.898193f, 47.3958893f, 635.820496f, 46.7733002f, 635.667664f, 46.2246475f);
  2511. pathB.close();
  2512. pathB.moveTo(631.656494f, 48.6171875f);
  2513. pathB.cubicTo(631.416077f, 48.8841209f, 631.13739f, 49.0031815f, 630.751404f, 49.0031815f);
  2514. pathB.cubicTo(630.390015f, 49.0031815f, 630.239502f, 48.8803291f, 630.190247f, 48.8393784f);
  2515. pathB.cubicTo(630.002197f, 48.6854401f, 629.853149f, 48.4749985f, 629.735596f, 48.1970711f);
  2516. pathB.cubicTo(629.594177f, 47.8615112f, 629.494507f, 47.457695f, 629.439453f, 46.9981461f);
  2517. pathB.cubicTo(629.379211f, 46.4874115f, 629.348511f, 45.9550591f, 629.348511f, 45.4158859f);
  2518. pathB.cubicTo(629.348511f, 45.2031708f, 629.351929f, 44.9870453f, 629.357971f, 44.7682648f);
  2519. pathB.lineTo(630.581177f, 44.7682648f);
  2520. pathB.cubicTo(630.702515f, 44.8293152f, 630.831787f, 44.9108353f, 630.967163f, 45.0124512f);
  2521. pathB.cubicTo(631.149902f, 45.1497116f, 631.322815f, 45.3301926f, 631.480225f, 45.5493507f);
  2522. pathB.cubicTo(631.639038f, 45.7704048f, 631.77478f, 46.0453033f, 631.884399f, 46.3656998f);
  2523. pathB.cubicTo(631.989807f, 46.6754761f, 632.04364f, 47.0436478f, 632.04364f, 47.4595947f);
  2524. pathB.cubicTo(632.042847f, 47.949852f, 631.916565f, 48.3282623f, 631.656494f, 48.6171875f);
  2525. pathB.close();
  2526. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2527. }
  2528. static void skpwww_seopack_blogspot_com_2153(skiatest::Reporter* reporter, const char* filename) {
  2529. SkPath path;
  2530. path.setFillType(SkPath::kEvenOdd_FillType);
  2531. path.moveTo(999.892212f, 246);
  2532. path.lineTo(927.340759f, 245.505722f);
  2533. path.quadTo(928.068054f, 246, 929, 246);
  2534. path.lineTo(999.892212f, 246);
  2535. path.close();
  2536. path.moveTo(927.340759f, 245.505722f);
  2537. path.lineTo(926.5f, 245.5f);
  2538. path.lineTo(925.17157f, 246.82843f);
  2539. path.quadTo(926.34314f, 248, 928, 248);
  2540. path.lineTo(1000, 248);
  2541. path.lineTo(1000, 246);
  2542. SkPath pathB;
  2543. pathB.setFillType(SkPath::kWinding_FillType);
  2544. pathB.moveTo(924, 248);
  2545. pathB.lineTo(924, 245.472672f);
  2546. pathB.lineTo(1143, 247);
  2547. pathB.lineTo(1143, 248);
  2548. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2549. }
  2550. static void skpwww_lokado_de_173(skiatest::Reporter* reporter, const char* filename) {
  2551. SkPath path;
  2552. path.setFillType(SkPath::kEvenOdd_FillType);
  2553. path.moveTo(1000, 896.991394f);
  2554. path.quadTo(999.789917f, 896.718872f, 999.535522f, 896.464478f);
  2555. path.quadTo(998.071045f, 895, 996, 895);
  2556. path.lineTo(956, 895);
  2557. path.quadTo(951.857849f, 895, 948.928955f, 897.928955f);
  2558. path.quadTo(946, 900.857849f, 946, 905);
  2559. path.lineTo(946, 906);
  2560. path.quadTo(946, 910.142151f, 948.928955f, 913.071045f);
  2561. path.quadTo(951.857849f, 916, 956, 916);
  2562. path.lineTo(996, 916);
  2563. path.quadTo(998.071045f, 916, 999.535522f, 914.535522f);
  2564. path.quadTo(999.789917f, 914.281128f, 1000, 914.008606f);
  2565. path.lineTo(1000, 896.991394f);
  2566. path.close();
  2567. SkPath pathB;
  2568. pathB.setFillType(SkPath::kWinding_FillType);
  2569. pathB.moveTo(946, 906);
  2570. pathB.lineTo(946, 905);
  2571. pathB.quadTo(946, 901.272095f, 948.928955f, 898.636047f);
  2572. pathB.quadTo(951.857849f, 896, 956, 896);
  2573. pathB.lineTo(996, 896);
  2574. pathB.quadTo(998.071045f, 896, 999.535522f, 897.17157f);
  2575. pathB.quadTo(1001, 898.34314f, 1001, 900);
  2576. pathB.lineTo(1001, 911);
  2577. pathB.quadTo(1001, 913.071045f, 999.535522f, 914.535522f);
  2578. pathB.quadTo(998.071045f, 916, 996, 916);
  2579. pathB.lineTo(956, 916);
  2580. pathB.quadTo(951.857849f, 916, 948.928955f, 913.071045f);
  2581. pathB.quadTo(946, 910.142151f, 946, 906);
  2582. pathB.close();
  2583. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2584. }
  2585. static void skpwww_wartepop_blogspot_com_br_6(skiatest::Reporter* reporter, const char* filename) {
  2586. SkPath path;
  2587. path.setFillType(SkPath::kEvenOdd_FillType);
  2588. path.moveTo(90.9763107f, 153.309662f);
  2589. path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
  2590. path.lineTo(124.666664f, 152.333344f);
  2591. path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f);
  2592. path.quadTo(128, 154.285965f, 128, 155.666672f);
  2593. path.lineTo(128, 163.666672f);
  2594. path.lineTo(90, 163.666672f);
  2595. path.lineTo(90, 155.666672f);
  2596. path.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
  2597. path.close();
  2598. SkPath pathB;
  2599. pathB.setFillType(SkPath::kWinding_FillType);
  2600. pathB.moveTo(90, 163.666672f);
  2601. pathB.lineTo(90, 155.666672f);
  2602. pathB.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
  2603. pathB.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
  2604. pathB.lineTo(124.666672f, 152.333344f);
  2605. pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f);
  2606. pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f);
  2607. pathB.lineTo(127.666672f, 163.666672f);
  2608. pathB.lineTo(127.666672f, 163.666672f);
  2609. pathB.lineTo(127.666672f, 163.666672f);
  2610. pathB.lineTo(90, 163.666672f);
  2611. pathB.lineTo(90, 163.666672f);
  2612. pathB.lineTo(90, 163.666672f);
  2613. pathB.close();
  2614. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2615. }
  2616. static void skpwww_wartepop_blogspot_com_br_6a(skiatest::Reporter* reporter, const char* filename) {
  2617. SkPath path;
  2618. path.setFillType(SkPath::kEvenOdd_FillType);
  2619. path.moveTo(90.9763107f, 153.309662f);
  2620. path.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
  2621. path.lineTo(124.666672f, 152.333344f);
  2622. path.quadTo(126.047379f, 152.333344f, 127.023689f, 153.309662f);
  2623. path.quadTo(128, 154.285965f, 128, 155.666672f);
  2624. path.lineTo(128, 163.666672f);
  2625. path.lineTo(90, 163.666672f);
  2626. path.lineTo(90, 155.666672f);
  2627. path.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
  2628. path.close();
  2629. SkPath pathB;
  2630. pathB.setFillType(SkPath::kWinding_FillType);
  2631. pathB.moveTo(90, 163.666672f);
  2632. pathB.lineTo(90, 155.666672f);
  2633. pathB.quadTo(90, 154.285965f, 90.9763107f, 153.309662f);
  2634. pathB.quadTo(91.9526215f, 152.333344f, 93.3333359f, 152.333344f);
  2635. pathB.lineTo(124.666672f, 152.333344f);
  2636. pathB.quadTo(125.909309f, 152.333344f, 126.787994f, 153.309662f);
  2637. pathB.quadTo(127.666672f, 154.285965f, 127.666672f, 155.666672f);
  2638. pathB.lineTo(127.666672f, 163.666672f);
  2639. pathB.lineTo(127.666672f, 163.666672f);
  2640. pathB.lineTo(127.666672f, 163.666672f);
  2641. pathB.lineTo(90, 163.666672f);
  2642. pathB.lineTo(90, 163.666672f);
  2643. pathB.lineTo(90, 163.666672f);
  2644. pathB.close();
  2645. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2646. }
  2647. static void skpwww_odia_com_br_26(skiatest::Reporter* reporter, const char* filename) {
  2648. SkPath path;
  2649. path.setFillType(SkPath::kEvenOdd_FillType);
  2650. path.moveTo(360.740479f, 741.040771f);
  2651. path.quadTo(360.378967f, 741, 360, 741);
  2652. path.quadTo(359.159821f, 741, 358.403076f, 741.200745f);
  2653. path.quadTo(357.649658f, 741.415833f, 356.92746f, 741.846436f);
  2654. path.quadTo(356.600769f, 742.041199f, 356.310211f, 742.262268f);
  2655. path.quadTo(356.025513f, 742.489197f, 355.757355f, 742.757385f);
  2656. path.quadTo(355.16394f, 743.350769f, 354.770874f, 744.027283f);
  2657. path.quadTo(354.389618f, 744.71283f, 354.183258f, 745.528564f);
  2658. path.quadTo(354.090027f, 745.897095f, 354.040833f, 746.259277f);
  2659. path.quadTo(354, 746.621216f, 354, 747);
  2660. path.quadTo(354, 747.839844f, 354.200653f, 748.596497f);
  2661. path.quadTo(354.415771f, 749.35022f, 354.846466f, 750.072632f);
  2662. path.quadTo(355.040741f, 750.398438f, 355.261444f, 750.688721f);
  2663. path.quadTo(355.488861f, 750.974121f, 355.757355f, 751.242615f);
  2664. path.quadTo(356.352142f, 751.837402f, 357.030304f, 752.230896f);
  2665. path.quadTo(357.714539f, 752.610901f, 358.528564f, 752.816833f);
  2666. path.quadTo(358.895294f, 752.909607f, 359.25528f, 752.95874f);
  2667. path.quadTo(359.618896f, 753, 360, 753);
  2668. path.quadTo(360.842285f, 753, 361.600952f, 752.798157f);
  2669. path.quadTo(362.352386f, 752.583008f, 363.072601f, 752.153625f);
  2670. path.quadTo(363.397339f, 751.960022f, 363.686829f, 751.740051f);
  2671. path.quadTo(363.973297f, 751.511963f, 364.242645f, 751.242615f);
  2672. path.quadTo(364.837799f, 750.647461f, 365.231354f, 749.968933f);
  2673. path.quadTo(365.610992f, 749.285034f, 365.816803f, 748.471497f);
  2674. path.quadTo(365.909668f, 748.104431f, 365.958832f, 747.743713f);
  2675. path.quadTo(366, 747.380371f, 366, 747);
  2676. path.quadTo(366, 746.158997f, 365.798767f, 745.401367f);
  2677. path.quadTo(365.583618f, 744.648682f, 365.153595f, 743.927429f);
  2678. path.quadTo(364.959442f, 743.601807f, 364.738678f, 743.311462f);
  2679. path.quadTo(364.511108f, 743.025818f, 364.242645f, 742.757385f);
  2680. path.quadTo(363.649017f, 742.163757f, 362.972168f, 741.770569f);
  2681. path.quadTo(362.286835f, 741.389526f, 361.471497f, 741.183289f);
  2682. path.quadTo(361.102509f, 741.089966f, 360.740479f, 741.040771f);
  2683. path.close();
  2684. SkPath pathB;
  2685. pathB.setFillType(SkPath::kWinding_FillType);
  2686. pathB.moveTo(355.654724f, 739.711792f);
  2687. pathB.lineTo(367.288269f, 742.654724f);
  2688. pathB.lineTo(364.345337f, 754.288269f);
  2689. pathB.lineTo(352.711792f, 751.345337f);
  2690. pathB.close();
  2691. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2692. }
  2693. static void skpwww_evolvehq_com_210(skiatest::Reporter* reporter, const char* filename) {
  2694. SkPath path;
  2695. path.setFillType(SkPath::kEvenOdd_FillType);
  2696. path.moveTo(172, 972);
  2697. path.quadTo(170.757355f, 972, 169.878677f, 972.878662f);
  2698. path.quadTo(169, 973.757385f, 169, 975);
  2699. path.lineTo(169, 1171);
  2700. path.quadTo(169, 1172.24268f, 169.878677f, 1173.12134f);
  2701. path.quadTo(170.757355f, 1174, 172, 1174);
  2702. path.lineTo(308, 1174);
  2703. path.quadTo(309.242645f, 1174, 310.121307f, 1173.12134f);
  2704. path.quadTo(310.337311f, 1172.9054f, 310.5f, 1172.66772f);
  2705. path.lineTo(310.5f, 973.332336f);
  2706. path.quadTo(310.337219f, 973.094604f, 310.121307f, 972.878662f);
  2707. path.quadTo(309.242645f, 972, 308, 972);
  2708. path.lineTo(172, 972);
  2709. path.close();
  2710. SkPath pathB;
  2711. pathB.setFillType(SkPath::kWinding_FillType);
  2712. pathB.moveTo(170, 1171);
  2713. pathB.lineTo(170, 975);
  2714. pathB.quadTo(170, 974.17157f, 170.585785f, 973.585815f);
  2715. pathB.quadTo(171.17157f, 973, 172, 973);
  2716. pathB.lineTo(308, 973);
  2717. pathB.quadTo(309.242645f, 973, 310.121307f, 973.585815f);
  2718. pathB.quadTo(311, 974.17157f, 311, 975);
  2719. pathB.lineTo(311, 1171);
  2720. pathB.quadTo(311, 1172.24268f, 310.121307f, 1173.12134f);
  2721. pathB.quadTo(309.242645f, 1174, 308, 1174);
  2722. pathB.lineTo(172, 1174);
  2723. pathB.quadTo(171.17157f, 1174, 170.585785f, 1173.12134f);
  2724. pathB.quadTo(170, 1172.24268f, 170, 1171);
  2725. pathB.close();
  2726. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2727. }
  2728. static void skpwww_catingueiraonline_com_352(skiatest::Reporter* reporter, const char* filename) {
  2729. SkPath path;
  2730. path.setFillType(SkPath::kEvenOdd_FillType);
  2731. path.moveTo(443, 8292);
  2732. path.lineTo(443, 8140);
  2733. path.lineTo(444, 8140);
  2734. path.lineTo(444.01001f, 8292);
  2735. path.lineTo(443, 8292);
  2736. path.close();
  2737. SkPath pathB;
  2738. pathB.setFillType(SkPath::kWinding_FillType);
  2739. pathB.moveTo(443, 8140);
  2740. pathB.lineTo(444.01001f, 8140);
  2741. pathB.lineTo(444, 8292);
  2742. pathB.lineTo(443, 8292);
  2743. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2744. }
  2745. static void skpwww_galaxystwo_com_4(skiatest::Reporter* reporter, const char* filename) {
  2746. SkPath path;
  2747. path.setFillType(SkPath::kEvenOdd_FillType);
  2748. path.moveTo(10105, 2510);
  2749. path.lineTo(10123, 2509.98999f);
  2750. path.lineTo(10123, 2511);
  2751. path.lineTo(10105, 2511);
  2752. path.lineTo(10105, 2510);
  2753. path.close();
  2754. SkPath pathB;
  2755. pathB.setFillType(SkPath::kWinding_FillType);
  2756. pathB.moveTo(10105, 2511);
  2757. pathB.lineTo(10105, 2509.98999f);
  2758. pathB.lineTo(10123, 2510);
  2759. pathB.lineTo(10123, 2511);
  2760. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2761. }
  2762. static void skpwww_thaienews_blogspot_com_36(skiatest::Reporter* reporter, const char* filename) {
  2763. SkPath path;
  2764. path.setFillType(SkPath::kEvenOdd_FillType);
  2765. path.moveTo(429.994995f, 6268);
  2766. path.lineTo(430, 2187);
  2767. path.lineTo(430.5f, 2187);
  2768. path.lineTo(430.5f, 6268);
  2769. path.lineTo(429.994995f, 6268);
  2770. path.close();
  2771. SkPath pathB;
  2772. pathB.setFillType(SkPath::kWinding_FillType);
  2773. pathB.moveTo(430.5f, 2187);
  2774. pathB.lineTo(429.994995f, 2187);
  2775. pathB.lineTo(430, 6268);
  2776. pathB.lineTo(430.5f, 6268);
  2777. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2778. }
  2779. static void skpwww_fashionscandal_com_94(skiatest::Reporter* reporter, const char* filename) {
  2780. SkPath path;
  2781. path.setFillType(SkPath::kEvenOdd_FillType);
  2782. path.moveTo(25.9107456f, 272.577423f);
  2783. path.quadTo(26.1548233f, 272.333344f, 26.5000019f, 272.333344f);
  2784. path.lineTo(131.166672f, 272.333344f);
  2785. path.quadTo(131.511841f, 272.333344f, 131.75592f, 272.577423f);
  2786. path.quadTo(132, 272.821503f, 132, 273.166687f);
  2787. path.lineTo(132, 417.166656f);
  2788. path.quadTo(132, 417.511841f, 131.75592f, 417.75592f);
  2789. path.quadTo(131.511841f, 418, 131.166672f, 418);
  2790. path.lineTo(26.5000019f, 418);
  2791. path.quadTo(26.1548233f, 418, 25.9107456f, 417.75592f);
  2792. path.quadTo(25.6666679f, 417.511841f, 25.6666679f, 417.166656f);
  2793. path.lineTo(25.6666679f, 273.166687f);
  2794. path.quadTo(25.6666679f, 272.821503f, 25.9107456f, 272.577423f);
  2795. path.close();
  2796. SkPath pathB;
  2797. pathB.setFillType(SkPath::kWinding_FillType);
  2798. pathB.moveTo(25.833334f, 417.166656f);
  2799. pathB.lineTo(25.833334f, 273.166656f);
  2800. pathB.quadTo(25.833334f, 272.890533f, 26.0285969f, 272.695251f);
  2801. pathB.quadTo(26.2238579f, 272.5f, 26.5f, 272.5f);
  2802. pathB.lineTo(131.166672f, 272.5f);
  2803. pathB.quadTo(131.442825f, 272.5f, 131.638077f, 272.695251f);
  2804. pathB.quadTo(131.833344f, 272.890533f, 131.833344f, 273.166656f);
  2805. pathB.lineTo(131.833344f, 417.166656f);
  2806. pathB.quadTo(131.833344f, 417.511841f, 131.638077f, 417.75592f);
  2807. pathB.quadTo(131.442825f, 418, 131.166672f, 418);
  2808. pathB.lineTo(26.5f, 418);
  2809. pathB.quadTo(26.2238579f, 418, 26.0285969f, 417.75592f);
  2810. pathB.quadTo(25.833334f, 417.511841f, 25.833334f, 417.166656f);
  2811. pathB.close();
  2812. testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
  2813. }
  2814. static void skpwww_kenlevine_blogspot_com_28(skiatest::Reporter* reporter, const char* filename) {
  2815. SkPath path;
  2816. path.setFillType(SkPath::kEvenOdd_FillType);
  2817. path.moveTo(276, 9506);
  2818. path.lineTo(276, 7531);
  2819. path.lineTo(277, 7531);
  2820. path.lineTo(277.01001f, 9506);
  2821. path.lineTo(276, 9506);
  2822. path.close();
  2823. SkPath pathB;
  2824. pathB.setFillType(SkPath::kWinding_FillType);
  2825. pathB.moveTo(276, 7531);
  2826. pathB.lineTo(277.01001f, 7531);
  2827. pathB.lineTo(277, 9506);
  2828. pathB.lineTo(276, 9506);
  2829. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2830. }
  2831. static void skpwww_defense_studies_blogspot_com_64(skiatest::Reporter* reporter, const char* filename) {
  2832. SkPath path;
  2833. path.setFillType(SkPath::kEvenOdd_FillType);
  2834. path.moveTo(276, 9600);
  2835. path.lineTo(276, 7703);
  2836. path.lineTo(277, 7703);
  2837. path.lineTo(277.01001f, 9600);
  2838. path.lineTo(276, 9600);
  2839. path.close();
  2840. SkPath pathB;
  2841. pathB.setFillType(SkPath::kWinding_FillType);
  2842. pathB.moveTo(276, 7703);
  2843. pathB.lineTo(277.01001f, 7703);
  2844. pathB.lineTo(277, 9600);
  2845. pathB.lineTo(276, 9600);
  2846. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2847. }
  2848. static void skpwww_uniquefx_net_442(skiatest::Reporter* reporter, const char* filename) {
  2849. SkPath path;
  2850. path.setFillType(SkPath::kEvenOdd_FillType);
  2851. path.moveTo(960, 306);
  2852. path.lineTo(960, 305);
  2853. path.lineTo(1000, 305);
  2854. path.lineTo(1000, 306.708527f);
  2855. path.lineTo(960, 306);
  2856. path.close();
  2857. SkPath pathB;
  2858. pathB.setFillType(SkPath::kWinding_FillType);
  2859. pathB.moveTo(960, 305);
  2860. pathB.lineTo(958.997253f, 306.002747f);
  2861. pathB.lineTo(1017, 307);
  2862. pathB.lineTo(1019, 305);
  2863. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2864. }
  2865. static void skpwww_kitcheninspirations_wordpress_com_32(skiatest::Reporter* reporter, const char* filename) {
  2866. SkPath path;
  2867. path.setFillType(SkPath::kEvenOdd_FillType);
  2868. path.moveTo(47.1666679f, 19651.334f);
  2869. path.lineTo(65.8333359f, 19651.332f);
  2870. path.lineTo(65.8333359f, 19651.5f);
  2871. path.lineTo(47.1666679f, 19651.5f);
  2872. path.lineTo(47.1666679f, 19651.334f);
  2873. path.close();
  2874. SkPath pathB;
  2875. pathB.setFillType(SkPath::kWinding_FillType);
  2876. pathB.moveTo(47.1666679f, 19651.5f);
  2877. pathB.lineTo(47.1666679f, 19651.332f);
  2878. pathB.lineTo(65.8333359f, 19651.334f);
  2879. pathB.lineTo(65.8333359f, 19651.5f);
  2880. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  2881. }
  2882. static void skpwww_educationalcraft_com_4(skiatest::Reporter* reporter, const char* filename) {
  2883. SkPath path;
  2884. path.setFillType(SkPath::kEvenOdd_FillType);
  2885. path.moveTo(941, 1494);
  2886. path.lineTo(941, 1464);
  2887. path.lineTo(985, 1464);
  2888. path.lineTo(985, 1494);
  2889. path.lineTo(941, 1494);
  2890. path.close();
  2891. SkPath pathB;
  2892. pathB.setFillType(SkPath::kWinding_FillType);
  2893. pathB.moveTo(979.211975f, 1480.45496f);
  2894. pathB.cubicTo(979.211975f, 1480.45496f, 976.348999f, 1479.68506f, 977.495972f, 1475.59497f);
  2895. pathB.cubicTo(977.497009f, 1475.59497f, 981.072021f, 1477.88501f, 979.211975f, 1480.45496f);
  2896. pathB.close();
  2897. pathB.moveTo(977.854004f, 1484.453f);
  2898. pathB.cubicTo(977.854004f, 1484.453f, 975.265991f, 1483.26099f, 976.713989f, 1479.35205f);
  2899. pathB.cubicTo(976.713989f, 1479.35303f, 979.84198f, 1482.23499f, 977.854004f, 1484.453f);
  2900. pathB.close();
  2901. pathB.moveTo(980.226013f, 1476.229f);
  2902. pathB.cubicTo(980.226013f, 1476.229f, 977.078003f, 1476.349f, 977.234985f, 1471.97095f);
  2903. pathB.cubicTo(977.234985f, 1471.97095f, 980.666992f, 1473.12903f, 980.226013f, 1476.229f);
  2904. pathB.close();
  2905. pathB.moveTo(984.546021f, 1478.31494f);
  2906. pathB.cubicTo(984.546021f, 1478.31494f, 983.187988f, 1481.93396f, 980.026001f, 1481.276f);
  2907. pathB.cubicTo(980.026978f, 1481.276f, 979.554993f, 1478.38904f, 984.546021f, 1478.31494f);
  2908. pathB.close();
  2909. pathB.moveTo(978.989014f, 1484.198f);
  2910. pathB.cubicTo(978.989014f, 1484.198f, 979.094971f, 1481.33496f, 983.786011f, 1481.823f);
  2911. pathB.cubicTo(983.786011f, 1481.823f, 982.070007f, 1485.49805f, 978.989014f, 1484.198f);
  2912. pathB.close();
  2913. pathB.moveTo(976.393005f, 1486.86804f);
  2914. pathB.cubicTo(976.393005f, 1486.86804f, 976.719971f, 1484.06494f, 981.679016f, 1485.37f);
  2915. pathB.cubicTo(981.679016f, 1485.37f, 979.169983f, 1488.40796f, 976.393005f, 1486.86804f);
  2916. pathB.close();
  2917. pathB.moveTo(969.156982f, 1490.40002f);
  2918. pathB.cubicTo(969.156982f, 1490.40002f, 971.478027f, 1488.23596f, 974.869995f, 1491.21399f);
  2919. pathB.cubicTo(974.869995f, 1491.21497f, 970.828003f, 1493.026f, 969.156982f, 1490.40002f);
  2920. pathB.close();
  2921. pathB.moveTo(972.825012f, 1483.93701f);
  2922. pathB.cubicTo(972.825012f, 1483.93701f, 973.971985f, 1487.98401f, 971.161987f, 1488.94604f);
  2923. pathB.cubicTo(971.161987f, 1488.94495f, 969.278015f, 1486.37097f, 972.825012f, 1483.93701f);
  2924. pathB.close();
  2925. pathB.moveTo(965.60199f, 1489.98499f);
  2926. pathB.cubicTo(965.60199f, 1489.98499f, 964.879028f, 1487.19202f, 969.864014f, 1486.75f);
  2927. pathB.cubicTo(969.864014f, 1486.75f, 968.749023f, 1490.672f, 965.60199f, 1489.98499f);
  2928. pathB.close();
  2929. pathB.moveTo(970.666992f, 1492.81604f);
  2930. pathB.cubicTo(970.666992f, 1492.81604f, 967.327026f, 1494.49695f, 964.999023f, 1491.56299f);
  2931. pathB.cubicTo(964.999023f, 1491.56299f, 967.304016f, 1489.43896f, 970.666992f, 1492.81604f);
  2932. pathB.close();
  2933. pathB.moveTo(968.343994f, 1481.53796f);
  2934. pathB.cubicTo(971.573975f, 1479.94995f, 971.687988f, 1476.78601f, 971.687988f, 1476.78601f);
  2935. pathB.lineTo(971.393982f, 1466.83398f);
  2936. pathB.lineTo(954.960999f, 1466.83398f);
  2937. pathB.lineTo(954.666016f, 1476.78601f);
  2938. pathB.cubicTo(954.666016f, 1476.78601f, 954.780029f, 1479.94995f, 958.008972f, 1481.53796f);
  2939. pathB.cubicTo(960.781006f, 1482.90295f, 962.166992f, 1484.77698f, 962.166992f, 1484.77698f);
  2940. pathB.cubicTo(962.166992f, 1484.77698f, 962.747986f, 1485.70105f, 963.177979f, 1485.70105f);
  2941. pathB.cubicTo(963.606995f, 1485.70105f, 964.185974f, 1484.77698f, 964.185974f, 1484.77698f);
  2942. pathB.cubicTo(964.185974f, 1484.77698f, 965.573975f, 1482.90295f, 968.343994f, 1481.53796f);
  2943. pathB.close();
  2944. pathB.moveTo(963.215027f, 1486.67004f);
  2945. pathB.cubicTo(962.744995f, 1486.67004f, 962.106995f, 1485.65405f, 962.106995f, 1485.65405f);
  2946. pathB.cubicTo(962.106995f, 1485.65405f, 960.585022f, 1483.59595f, 957.539001f, 1482.09705f);
  2947. pathB.cubicTo(953.991028f, 1480.35205f, 953.867004f, 1476.87598f, 953.867004f, 1476.87598f);
  2948. pathB.lineTo(954.190002f, 1465.94397f);
  2949. pathB.lineTo(972.23999f, 1465.94397f);
  2950. pathB.lineTo(972.565002f, 1476.87695f);
  2951. pathB.cubicTo(972.565002f, 1476.87695f, 972.440979f, 1480.35303f, 968.891968f, 1482.09802f);
  2952. pathB.cubicTo(965.846008f, 1483.59705f, 964.325012f, 1485.65503f, 964.325012f, 1485.65503f);
  2953. pathB.cubicTo(964.325012f, 1485.65503f, 963.687012f, 1486.67004f, 963.215027f, 1486.67004f);
  2954. pathB.close();
  2955. pathB.moveTo(960.68103f, 1489.98499f);
  2956. pathB.cubicTo(957.533997f, 1490.672f, 956.417969f, 1486.75f, 956.417969f, 1486.75f);
  2957. pathB.cubicTo(961.403015f, 1487.19202f, 960.68103f, 1489.98499f, 960.68103f, 1489.98499f);
  2958. pathB.close();
  2959. pathB.moveTo(963.143005f, 1489.59802f);
  2960. pathB.cubicTo(963.763f, 1489.59802f, 964.265015f, 1490.09998f, 964.265015f, 1490.72095f);
  2961. pathB.cubicTo(964.265015f, 1491.34204f, 963.763f, 1491.84399f, 963.143005f, 1491.84399f);
  2962. pathB.cubicTo(962.521973f, 1491.84399f, 962.02002f, 1491.34204f, 962.02002f, 1490.72095f);
  2963. pathB.cubicTo(962.02002f, 1490.09998f, 962.521973f, 1489.59802f, 963.143005f, 1489.59802f);
  2964. pathB.close();
  2965. pathB.moveTo(961.283997f, 1491.56299f);
  2966. pathB.cubicTo(958.953979f, 1494.49695f, 955.61499f, 1492.81604f, 955.61499f, 1492.81604f);
  2967. pathB.cubicTo(958.97699f, 1489.43896f, 961.283997f, 1491.56299f, 961.283997f, 1491.56299f);
  2968. pathB.close();
  2969. pathB.moveTo(957.127014f, 1490.40002f);
  2970. pathB.cubicTo(955.455017f, 1493.026f, 951.414001f, 1491.21399f, 951.414001f, 1491.21399f);
  2971. pathB.cubicTo(954.802979f, 1488.23596f, 957.127014f, 1490.40002f, 957.127014f, 1490.40002f);
  2972. pathB.close();
  2973. pathB.moveTo(949.890991f, 1486.86804f);
  2974. pathB.cubicTo(947.112976f, 1488.40796f, 944.604004f, 1485.37f, 944.604004f, 1485.37f);
  2975. pathB.cubicTo(949.562012f, 1484.06494f, 949.890991f, 1486.86804f, 949.890991f, 1486.86804f);
  2976. pathB.close();
  2977. pathB.moveTo(947.070984f, 1480.45496f);
  2978. pathB.cubicTo(945.211975f, 1477.88501f, 948.786011f, 1475.59497f, 948.786011f, 1475.59497f);
  2979. pathB.cubicTo(949.934021f, 1479.68506f, 947.070984f, 1480.45496f, 947.070984f, 1480.45496f);
  2980. pathB.close();
  2981. pathB.moveTo(946.054016f, 1476.229f);
  2982. pathB.cubicTo(945.61499f, 1473.12903f, 949.046997f, 1471.97095f, 949.046997f, 1471.97095f);
  2983. pathB.cubicTo(949.205994f, 1476.349f, 946.054016f, 1476.229f, 946.054016f, 1476.229f);
  2984. pathB.close();
  2985. pathB.moveTo(948.427002f, 1484.453f);
  2986. pathB.cubicTo(946.440002f, 1482.23499f, 949.567993f, 1479.35205f, 949.567993f, 1479.35205f);
  2987. pathB.cubicTo(951.015991f, 1483.26099f, 948.427002f, 1484.453f, 948.427002f, 1484.453f);
  2988. pathB.close();
  2989. pathB.moveTo(947.294006f, 1484.198f);
  2990. pathB.cubicTo(944.210999f, 1485.49805f, 942.495972f, 1481.823f, 942.495972f, 1481.823f);
  2991. pathB.cubicTo(947.187988f, 1481.33496f, 947.294006f, 1484.198f, 947.294006f, 1484.198f);
  2992. pathB.close();
  2993. pathB.moveTo(946.255005f, 1481.276f);
  2994. pathB.cubicTo(943.094971f, 1481.93396f, 941.736023f, 1478.31494f, 941.736023f, 1478.31494f);
  2995. pathB.cubicTo(946.728027f, 1478.38904f, 946.255005f, 1481.276f, 946.255005f, 1481.276f);
  2996. pathB.close();
  2997. pathB.moveTo(945.312988f, 1478.18005f);
  2998. pathB.cubicTo(942.052979f, 1477.80103f, 942.651001f, 1473.87805f, 942.651001f, 1473.87805f);
  2999. pathB.cubicTo(946.562988f, 1475.66199f, 945.312988f, 1478.18005f, 945.312988f, 1478.18005f);
  3000. pathB.close();
  3001. pathB.moveTo(945.382019f, 1474.328f);
  3002. pathB.cubicTo(942.924011f, 1472.729f, 944.492004f, 1469.48706f, 944.492004f, 1469.48706f);
  3003. pathB.cubicTo(947.388977f, 1471.95703f, 945.382019f, 1474.328f, 945.382019f, 1474.328f);
  3004. pathB.close();
  3005. pathB.moveTo(946.797974f, 1470.27405f);
  3006. pathB.cubicTo(944.664978f, 1467.90198f, 947.083984f, 1465.50598f, 947.083984f, 1465.50598f);
  3007. pathB.cubicTo(949.145996f, 1468.82605f, 946.797974f, 1470.27405f, 946.797974f, 1470.27405f);
  3008. pathB.close();
  3009. pathB.moveTo(947.392029f, 1471.64197f);
  3010. pathB.cubicTo(947.624023f, 1468.56299f, 951.361023f, 1468.29199f, 951.361023f, 1468.29199f);
  3011. pathB.cubicTo(950.554016f, 1471.98499f, 947.392029f, 1471.64197f, 947.392029f, 1471.64197f);
  3012. pathB.close();
  3013. pathB.moveTo(948.64801f, 1468.15002f);
  3014. pathB.cubicTo(948.638977f, 1465.22095f, 952.265991f, 1464.46399f, 952.265991f, 1464.46399f);
  3015. pathB.cubicTo(951.672974f, 1468.53101f, 948.64801f, 1468.15002f, 948.64801f, 1468.15002f);
  3016. pathB.close();
  3017. pathB.moveTo(951.176025f, 1486.97803f);
  3018. pathB.cubicTo(948.963013f, 1484.62f, 951.361023f, 1481.77698f, 951.361023f, 1481.77698f);
  3019. pathB.cubicTo(953.734985f, 1485.48596f, 951.176025f, 1486.97803f, 951.176025f, 1486.97803f);
  3020. pathB.close();
  3021. pathB.moveTo(947.51001f, 1488.53101f);
  3022. pathB.cubicTo(947.51001f, 1488.53101f, 951.596985f, 1486.32202f, 953.234009f, 1489.08997f);
  3023. pathB.cubicTo(953.234009f, 1489.08997f, 951.158997f, 1491.03601f, 947.51001f, 1488.53101f);
  3024. pathB.close();
  3025. pathB.moveTo(955.120972f, 1488.94495f);
  3026. pathB.cubicTo(952.309021f, 1487.98303f, 953.458984f, 1483.93604f, 953.458984f, 1483.93604f);
  3027. pathB.cubicTo(957.004028f, 1486.37097f, 955.120972f, 1488.94495f, 955.120972f, 1488.94495f);
  3028. pathB.close();
  3029. pathB.moveTo(978.770996f, 1488.53101f);
  3030. pathB.cubicTo(975.122986f, 1491.03601f, 973.047974f, 1489.08997f, 973.047974f, 1489.08997f);
  3031. pathB.cubicTo(974.684998f, 1486.32202f, 978.770996f, 1488.53101f, 978.770996f, 1488.53101f);
  3032. pathB.close();
  3033. pathB.moveTo(975.106995f, 1486.97803f);
  3034. pathB.cubicTo(975.106995f, 1486.97803f, 972.546997f, 1485.48706f, 974.919983f, 1481.77698f);
  3035. pathB.cubicTo(974.919983f, 1481.776f, 977.31897f, 1484.61902f, 975.106995f, 1486.97803f);
  3036. pathB.close();
  3037. pathB.moveTo(974.016968f, 1464.46399f);
  3038. pathB.cubicTo(974.016968f, 1464.46399f, 977.643982f, 1465.22095f, 977.633972f, 1468.15002f);
  3039. pathB.cubicTo(977.633972f, 1468.15002f, 974.611023f, 1468.53101f, 974.016968f, 1464.46399f);
  3040. pathB.close();
  3041. pathB.moveTo(974.919983f, 1468.29199f);
  3042. pathB.cubicTo(974.919983f, 1468.29199f, 978.658997f, 1468.56299f, 978.890015f, 1471.64197f);
  3043. pathB.cubicTo(978.890015f, 1471.64197f, 975.72699f, 1471.98499f, 974.919983f, 1468.29199f);
  3044. pathB.close();
  3045. pathB.moveTo(979.197998f, 1465.50598f);
  3046. pathB.cubicTo(979.197998f, 1465.50598f, 981.619019f, 1467.90198f, 979.481995f, 1470.27405f);
  3047. pathB.cubicTo(979.481995f, 1470.27405f, 977.138f, 1468.82605f, 979.197998f, 1465.50598f);
  3048. pathB.close();
  3049. pathB.moveTo(980.900024f, 1474.328f);
  3050. pathB.cubicTo(980.900024f, 1474.328f, 978.893005f, 1471.95703f, 981.791016f, 1469.48706f);
  3051. pathB.cubicTo(981.791016f, 1469.48596f, 983.358032f, 1472.729f, 980.900024f, 1474.328f);
  3052. pathB.close();
  3053. pathB.moveTo(980.968994f, 1478.18005f);
  3054. pathB.cubicTo(980.968994f, 1478.18005f, 979.718018f, 1475.66199f, 983.632019f, 1473.87805f);
  3055. pathB.cubicTo(983.632019f, 1473.87805f, 984.229004f, 1477.80103f, 980.968994f, 1478.18005f);
  3056. pathB.close();
  3057. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3058. }
  3059. static void skpwww_narayana_publishers_com_194(skiatest::Reporter* reporter, const char* filename) {
  3060. SkPath path;
  3061. path.setFillType(SkPath::kEvenOdd_FillType);
  3062. path.moveTo(1083.34314f, 445.65686f);
  3063. path.quadTo(1081, 443.313721f, 1081, 440);
  3064. path.lineTo(1257, 440);
  3065. path.quadTo(1257, 443.313721f, 1254.65686f, 445.65686f);
  3066. path.quadTo(1252.31372f, 448, 1249, 448);
  3067. path.lineTo(1089, 448);
  3068. path.quadTo(1085.68628f, 448, 1083.34314f, 445.65686f);
  3069. path.close();
  3070. path.moveTo(1083, 441);
  3071. path.lineTo(1255, 441);
  3072. path.quadTo(1255, 443.071075f, 1253.53552f, 444.535522f);
  3073. path.quadTo(1252.07104f, 446, 1250, 446);
  3074. path.lineTo(1088, 446);
  3075. path.quadTo(1085.92896f, 446, 1084.46448f, 444.535522f);
  3076. path.quadTo(1083, 443.071075f, 1083, 441);
  3077. path.close();
  3078. SkPath pathB;
  3079. pathB.setFillType(SkPath::kWinding_FillType);
  3080. pathB.moveTo(1081, 440);
  3081. pathB.lineTo(1082, 440);
  3082. pathB.lineTo(1090.01001f, 448);
  3083. pathB.lineTo(1081, 448);
  3084. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3085. }
  3086. static void skpwww_cooksnaps_com_17(skiatest::Reporter* reporter, const char* filename) {
  3087. SkPath path;
  3088. path.setFillType(SkPath::kEvenOdd_FillType);
  3089. path.moveTo(170.340179f, 176);
  3090. path.lineTo(166, 176);
  3091. path.quadTo(161.964188f, 176, 158.299957f, 176.896912f);
  3092. path.quadTo(154.678162f, 177.952271f, 151.183014f, 179.9702f);
  3093. path.lineTo(150.316986f, 180.4702f);
  3094. path.quadTo(146.175812f, 182.861099f, 143.115921f, 186.081696f);
  3095. path.quadTo(140.693939f, 188.70134f, 138.99472f, 191.620407f);
  3096. path.quadTo(137.316833f, 194.550888f, 136.259338f, 197.957367f);
  3097. path.quadTo(135, 202.217865f, 135, 207);
  3098. path.lineTo(135, 208);
  3099. path.quadTo(135, 212.035751f, 135.896912f, 215.699997f);
  3100. path.quadTo(136.952286f, 219.321869f, 138.9702f, 222.816986f);
  3101. path.lineTo(139.4702f, 223.683014f);
  3102. path.quadTo(141.861099f, 227.824188f, 145.081696f, 230.884079f);
  3103. path.quadTo(147.70134f, 233.306061f, 150.620407f, 235.00528f);
  3104. path.quadTo(153.550888f, 236.683167f, 156.957367f, 237.740662f);
  3105. path.quadTo(161.217865f, 239, 166, 239);
  3106. path.lineTo(170.482162f, 239);
  3107. path.quadTo(176.307037f, 238.210968f, 181.816986f, 235.0298f);
  3108. path.lineTo(182.683014f, 234.5298f);
  3109. path.quadTo(182.686462f, 234.527817f, 182.689896f, 234.525818f);
  3110. path.quadTo(193.804352f, 228.105652f, 197.126709f, 215.70639f);
  3111. path.quadTo(200.450104f, 203.303314f, 194.0298f, 192.183014f);
  3112. path.lineTo(193.5298f, 191.316986f);
  3113. path.quadTo(187.109497f, 180.196686f, 174.706406f, 176.873276f);
  3114. path.quadTo(172.503067f, 176.282898f, 170.340179f, 176);
  3115. path.close();
  3116. SkPath pathB;
  3117. pathB.setFillType(SkPath::kWinding_FillType);
  3118. pathB.moveTo(139.4702f, 223.683014f);
  3119. pathB.lineTo(138.9702f, 222.816986f);
  3120. pathB.quadTo(132.549896f, 211.696686f, 135.873291f, 199.293594f);
  3121. pathB.quadTo(139.196686f, 186.890503f, 150.316986f, 180.4702f);
  3122. pathB.lineTo(151.183014f, 179.9702f);
  3123. pathB.quadTo(162.303314f, 173.549896f, 174.706406f, 176.873276f);
  3124. pathB.quadTo(187.109497f, 180.196686f, 193.5298f, 191.316986f);
  3125. pathB.lineTo(194.0298f, 192.183014f);
  3126. pathB.quadTo(200.450104f, 203.303314f, 197.126709f, 215.70639f);
  3127. pathB.quadTo(193.803314f, 228.109497f, 182.683014f, 234.5298f);
  3128. pathB.lineTo(181.816986f, 235.0298f);
  3129. pathB.quadTo(170.696686f, 241.450104f, 158.293594f, 238.126709f);
  3130. pathB.quadTo(145.890503f, 234.803314f, 139.4702f, 223.683014f);
  3131. pathB.close();
  3132. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3133. }
  3134. static void skpwww_swapspacesystems_com_5(skiatest::Reporter* reporter, const char* filename) {
  3135. SkPath path;
  3136. path.setFillType(SkPath::kEvenOdd_FillType);
  3137. path.moveTo(819.050781f, 5539.72412f);
  3138. path.quadTo(819.651672f, 5539.1543f, 820.479858f, 5539.17578f);
  3139. path.lineTo(1191.35278f, 5548.8877f);
  3140. path.quadTo(1192.18091f, 5548.90918f, 1192.7511f, 5549.50977f);
  3141. path.quadTo(1193.32141f, 5550.11133f, 1193.29968f, 5550.93945f);
  3142. path.lineTo(1186.57214f, 5807.85107f);
  3143. path.quadTo(1186.55054f, 5808.6792f, 1185.94958f, 5809.24951f);
  3144. path.quadTo(1185.34863f, 5809.81982f, 1184.52051f, 5809.79834f);
  3145. path.lineTo(813.647705f, 5800.08643f);
  3146. path.quadTo(812.819519f, 5800.06494f, 812.249268f, 5799.46387f);
  3147. path.quadTo(811.679016f, 5798.86279f, 811.700684f, 5798.03467f);
  3148. path.lineTo(818.428162f, 5541.12305f);
  3149. path.quadTo(818.44989f, 5540.29492f, 819.050781f, 5539.72412f);
  3150. path.close();
  3151. SkPath pathB;
  3152. pathB.setFillType(SkPath::kWinding_FillType);
  3153. pathB.moveTo(818.48053f, 5539.12354f);
  3154. pathB.lineTo(1193.35205f, 5548.93994f);
  3155. pathB.lineTo(1186.5199f, 5809.85059f);
  3156. pathB.lineTo(811.648376f, 5800.03418f);
  3157. pathB.close();
  3158. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3159. }
  3160. static void skpwww_kitcheninspirations_wordpress_com_66(skiatest::Reporter* reporter, const char* filename) {
  3161. SkPath path;
  3162. path.setFillType(SkPath::kEvenOdd_FillType);
  3163. path.moveTo(47.1666679f, 27820.668f);
  3164. path.lineTo(60.8333359f, 27820.668f);
  3165. path.lineTo(60.8333359f, 27820.498f);
  3166. path.lineTo(47.1666679f, 27820.5f);
  3167. path.lineTo(47.1666679f, 27820.668f);
  3168. path.close();
  3169. SkPath pathB;
  3170. pathB.setFillType(SkPath::kWinding_FillType);
  3171. pathB.moveTo(47.1666679f, 27820.668f);
  3172. pathB.lineTo(47.1666679f, 27820.498f);
  3173. pathB.lineTo(60.8333359f, 27820.5f);
  3174. pathB.lineTo(60.8333359f, 27820.668f);
  3175. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3176. }
  3177. static void skpwww_etiqadd_com_2464(skiatest::Reporter* reporter, const char* filename) {
  3178. SkPath path;
  3179. path.setFillType(SkPath::kEvenOdd_FillType);
  3180. path.moveTo(630.378662f, 1293.42896f);
  3181. path.quadTo(631.257385f, 1292.55029f, 632.5f, 1292.55029f);
  3182. path.quadTo(633.742615f, 1292.55029f, 634.621338f, 1293.42896f);
  3183. path.lineTo(639.571045f, 1298.37866f);
  3184. path.quadTo(640.449768f, 1299.25732f, 640.449707f, 1300.5f);
  3185. path.quadTo(640.449768f, 1301.74268f, 639.571045f, 1302.62134f);
  3186. path.lineTo(634.621338f, 1307.57104f);
  3187. path.quadTo(633.742615f, 1308.44971f, 632.5f, 1308.44971f);
  3188. path.quadTo(631.257385f, 1308.44971f, 630.378662f, 1307.57104f);
  3189. path.lineTo(625.428955f, 1302.62134f);
  3190. path.quadTo(624.550232f, 1301.74268f, 624.550293f, 1300.5f);
  3191. path.quadTo(624.550232f, 1299.25732f, 625.428955f, 1298.37866f);
  3192. path.lineTo(630.378662f, 1293.42896f);
  3193. path.close();
  3194. SkPath pathB;
  3195. pathB.setFillType(SkPath::kWinding_FillType);
  3196. pathB.moveTo(632.5f, 1291.30762f);
  3197. pathB.lineTo(641.692383f, 1300.5f);
  3198. pathB.lineTo(632.5f, 1309.69238f);
  3199. pathB.lineTo(623.307617f, 1300.5f);
  3200. pathB.close();
  3201. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3202. }
  3203. static void skpwww_narayana_verlag_de_194(skiatest::Reporter* reporter, const char* filename) {
  3204. SkPath path;
  3205. path.setFillType(SkPath::kEvenOdd_FillType);
  3206. path.moveTo(1083.34314f, 513.65686f);
  3207. path.quadTo(1081, 511.313721f, 1081, 508);
  3208. path.lineTo(1257, 508);
  3209. path.quadTo(1257, 511.313721f, 1254.65686f, 513.65686f);
  3210. path.quadTo(1252.31372f, 516, 1249, 516);
  3211. path.lineTo(1089, 516);
  3212. path.quadTo(1085.68628f, 516, 1083.34314f, 513.65686f);
  3213. path.close();
  3214. path.moveTo(1083, 509);
  3215. path.lineTo(1255, 509);
  3216. path.quadTo(1255, 511.071075f, 1253.53552f, 512.535522f);
  3217. path.quadTo(1252.07104f, 514, 1250, 514);
  3218. path.lineTo(1088, 514);
  3219. path.quadTo(1085.92896f, 514, 1084.46448f, 512.535522f);
  3220. path.quadTo(1083, 511.071075f, 1083, 509);
  3221. path.close();
  3222. SkPath pathB;
  3223. pathB.setFillType(SkPath::kWinding_FillType);
  3224. pathB.moveTo(1081, 508);
  3225. pathB.lineTo(1082, 508);
  3226. pathB.lineTo(1090.01001f, 516);
  3227. pathB.lineTo(1081, 516);
  3228. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3229. }
  3230. static void skpwww_americascup_com_108(skiatest::Reporter* reporter, const char* filename) {
  3231. SkPath path;
  3232. path.setFillType(SkPath::kEvenOdd_FillType);
  3233. path.moveTo(999.454102f, 689.17157f);
  3234. path.quadTo(1001.172f, 688, 1002.82886f, 688);
  3235. path.lineTo(1013.82886f, 688);
  3236. path.lineTo(1002.17114f, 713);
  3237. path.lineTo(991.171143f, 713);
  3238. path.quadTo(989.514282f, 713, 988.889038f, 711.82843f);
  3239. path.quadTo(988.263794f, 710.65686f, 989.036377f, 709);
  3240. path.lineTo(996.963623f, 692);
  3241. path.quadTo(997.736206f, 690.34314f, 999.454102f, 689.17157f);
  3242. path.close();
  3243. SkPath pathB;
  3244. pathB.setFillType(SkPath::kWinding_FillType);
  3245. pathB.moveTo(998.828857f, 688);
  3246. pathB.lineTo(1013.82886f, 688);
  3247. pathB.lineTo(1002.17114f, 713);
  3248. pathB.lineTo(987.171143f, 713);
  3249. pathB.close();
  3250. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3251. }
  3252. static void skpwww_vantageproduction_com_109(skiatest::Reporter* reporter, const char* filename) {
  3253. SkPath path;
  3254. path.setFillType(SkPath::kEvenOdd_FillType);
  3255. path.moveTo(794.514709f, 759.485291f);
  3256. path.quadTo(791, 755.970581f, 791, 751);
  3257. path.lineTo(1133, 751);
  3258. path.quadTo(1133, 755.970581f, 1129.48523f, 759.485291f);
  3259. path.quadTo(1125.97058f, 763, 1121, 763);
  3260. path.lineTo(803, 763);
  3261. path.quadTo(798.029419f, 763, 794.514709f, 759.485291f);
  3262. path.close();
  3263. path.moveTo(793, 752);
  3264. path.lineTo(1131, 752);
  3265. path.quadTo(1131, 755.727905f, 1128.36401f, 758.363953f);
  3266. path.quadTo(1125.72791f, 761, 1122, 761);
  3267. path.lineTo(802, 761);
  3268. path.quadTo(798.272095f, 761, 795.636047f, 758.363953f);
  3269. path.quadTo(793, 755.727905f, 793, 752);
  3270. path.close();
  3271. SkPath pathB;
  3272. pathB.setFillType(SkPath::kWinding_FillType);
  3273. pathB.moveTo(791, 751);
  3274. pathB.lineTo(792, 751);
  3275. pathB.lineTo(804.01001f, 763);
  3276. pathB.lineTo(791, 763);
  3277. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3278. }
  3279. static void skpwww_aceinfographics_com_106(skiatest::Reporter* reporter, const char* filename) {
  3280. SkPath path;
  3281. path.setFillType(SkPath::kEvenOdd_FillType);
  3282. path.moveTo(166.878677f, 7638.87891f);
  3283. path.quadTo(166, 7639.75732f, 166, 7641);
  3284. path.lineTo(166, 11577);
  3285. path.quadTo(166, 11578.2422f, 166.878677f, 11579.1211f);
  3286. path.quadTo(167.388f, 11579.6309f, 168.019989f, 11579.8447f);
  3287. path.lineTo(168.019974f, 11576.2979f);
  3288. path.quadTo(168, 11576.1533f, 168, 11576);
  3289. path.lineTo(168, 7642);
  3290. path.lineTo(168.000015f, 7641.99316f);
  3291. path.lineTo(168, 7640);
  3292. path.lineTo(166.878677f, 7638.87891f);
  3293. path.close();
  3294. SkPath pathB;
  3295. pathB.setFillType(SkPath::kWinding_FillType);
  3296. pathB.moveTo(166, 7638);
  3297. pathB.lineTo(168.020004f, 7635.97998f);
  3298. pathB.lineTo(168, 11578);
  3299. pathB.lineTo(166, 11580);
  3300. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3301. }
  3302. static void skpwww_tcmevents_org_13(skiatest::Reporter* reporter, const char* filename) {
  3303. SkPath path;
  3304. path.setFillType(SkPath::kEvenOdd_FillType);
  3305. path.moveTo(465.951904f, 547.960144f);
  3306. path.quadTo(465.66571f, 546.867371f, 465.404938f, 546);
  3307. path.lineTo(465.504089f, 546);
  3308. path.quadTo(465.670349f, 546.601257f, 465.84668f, 547.288391f);
  3309. path.quadTo(467.274506f, 552.852356f, 468.506836f, 560.718567f);
  3310. path.quadTo(467.336121f, 553.24585f, 465.951904f, 547.960144f);
  3311. path.close();
  3312. path.moveTo(470.591064f, 574.024353f);
  3313. path.quadTo(474.844055f, 601.176025f, 471.728271f, 620.364502f);
  3314. path.quadTo(470.567017f, 627.515991f, 468.635742f, 632);
  3315. path.lineTo(469.106812f, 632);
  3316. path.quadTo(470.791504f, 627.638672f, 471.833496f, 621.036255f);
  3317. path.quadTo(474.905701f, 601.569519f, 470.591064f, 574.024353f);
  3318. path.close();
  3319. SkPath pathB;
  3320. pathB.setFillType(SkPath::kWinding_FillType);
  3321. pathB.moveTo(322.992462f, 541.475708f);
  3322. pathB.lineTo(465.531616f, 541.724426f);
  3323. pathB.lineTo(468.507751f, 560.724426f);
  3324. pathB.lineTo(325.968597f, 560.475708f);
  3325. pathB.close();
  3326. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3327. }
  3328. static void skpwww_paseoitaigara_com_br_56(skiatest::Reporter* reporter, const char* filename) {
  3329. SkPath path;
  3330. path.setFillType(SkPath::kEvenOdd_FillType);
  3331. path.moveTo(633.147217f, 1247);
  3332. path.lineTo(718, 1162.14722f);
  3333. path.lineTo(802.852783f, 1247);
  3334. path.lineTo(718, 1331.85278f);
  3335. path.lineTo(633.147217f, 1247);
  3336. path.close();
  3337. SkPath pathB;
  3338. pathB.setFillType(SkPath::kWinding_FillType);
  3339. pathB.moveTo(635.268494f, 1244.87866f);
  3340. pathB.lineTo(715.878662f, 1164.26855f);
  3341. pathB.quadTo(716.757385f, 1163.38989f, 718, 1163.38989f);
  3342. pathB.quadTo(719.242615f, 1163.38989f, 720.121338f, 1164.26855f);
  3343. pathB.lineTo(800.731506f, 1244.87866f);
  3344. pathB.quadTo(801.610168f, 1245.75732f, 801.610168f, 1247);
  3345. pathB.quadTo(801.610229f, 1248.24268f, 800.731445f, 1249.12134f);
  3346. pathB.lineTo(720.121338f, 1329.73145f);
  3347. pathB.quadTo(719.242676f, 1330.61011f, 718, 1330.61011f);
  3348. pathB.quadTo(716.757385f, 1330.61011f, 715.878723f, 1329.73145f);
  3349. pathB.lineTo(635.268555f, 1249.12134f);
  3350. pathB.quadTo(634.389832f, 1248.24268f, 634.389832f, 1247);
  3351. pathB.quadTo(634.389832f, 1245.75732f, 635.268494f, 1244.87866f);
  3352. pathB.close();
  3353. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3354. }
  3355. static void skpwww_mortgagemarketguide_com_109(skiatest::Reporter* reporter, const char* filename) {
  3356. SkPath path;
  3357. path.setFillType(SkPath::kEvenOdd_FillType);
  3358. path.moveTo(816.514709f, 781.485291f);
  3359. path.quadTo(813, 777.970581f, 813, 773);
  3360. path.lineTo(1133, 773);
  3361. path.quadTo(1133, 777.970581f, 1129.48523f, 781.485291f);
  3362. path.quadTo(1125.97058f, 785, 1121, 785);
  3363. path.lineTo(825, 785);
  3364. path.quadTo(820.029419f, 785, 816.514709f, 781.485291f);
  3365. path.close();
  3366. path.moveTo(815, 774);
  3367. path.lineTo(1131, 774);
  3368. path.quadTo(1131, 777.727905f, 1128.36401f, 780.363953f);
  3369. path.quadTo(1125.72791f, 783, 1122, 783);
  3370. path.lineTo(824, 783);
  3371. path.quadTo(820.272095f, 783, 817.636047f, 780.363953f);
  3372. path.quadTo(815, 777.727905f, 815, 774);
  3373. path.close();
  3374. SkPath pathB;
  3375. pathB.setFillType(SkPath::kWinding_FillType);
  3376. pathB.moveTo(813, 773);
  3377. pathB.lineTo(814, 773);
  3378. pathB.lineTo(826.01001f, 785);
  3379. pathB.lineTo(813, 785);
  3380. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3381. }
  3382. static void skpwww_9to5mac_com_64(skiatest::Reporter* reporter, const char* filename) {
  3383. SkPath path;
  3384. path.setFillType(SkPath::kEvenOdd_FillType);
  3385. path.moveTo(365, 5101);
  3386. path.lineTo(365, 5082);
  3387. path.lineTo(366, 5083);
  3388. path.lineTo(367, 5092.96631f);
  3389. path.lineTo(367, 5100);
  3390. path.quadTo(367, 5101.50537f, 367.967712f, 5102.61084f);
  3391. path.lineTo(368.278717f, 5105.71045f);
  3392. path.quadTo(367.277618f, 5105.34863f, 366.464478f, 5104.53564f);
  3393. path.quadTo(365, 5103.07129f, 365, 5101);
  3394. path.close();
  3395. SkPath pathB;
  3396. pathB.setFillType(SkPath::kWinding_FillType);
  3397. pathB.moveTo(365, 5082);
  3398. pathB.lineTo(365.848175f, 5081.15186f);
  3399. pathB.lineTo(368, 5103);
  3400. pathB.lineTo(365, 5106);
  3401. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3402. }
  3403. static void skpwww_googleventures_com_32(skiatest::Reporter* reporter, const char* filename) {
  3404. SkPath path;
  3405. path.setFillType(SkPath::kEvenOdd_FillType);
  3406. path.moveTo(725.911682f, 898.767456f);
  3407. path.lineTo(741.232544f, 885.911682f);
  3408. path.lineTo(754.088318f, 901.232544f);
  3409. path.lineTo(738.767456f, 914.088318f);
  3410. path.lineTo(725.911682f, 898.767456f);
  3411. path.close();
  3412. SkPath pathB;
  3413. pathB.setFillType(SkPath::kWinding_FillType);
  3414. pathB.moveTo(728.37677f, 870.59082f);
  3415. pathB.lineTo(754.088257f, 901.232605f);
  3416. pathB.lineTo(738.767395f, 914.088379f);
  3417. pathB.lineTo(713.055908f, 883.446594f);
  3418. pathB.close();
  3419. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3420. }
  3421. static void skpwww_devbridge_com_22(skiatest::Reporter* reporter, const char* filename) {
  3422. SkPath path;
  3423. path.setFillType(SkPath::kEvenOdd_FillType);
  3424. path.moveTo(4915, 1523);
  3425. path.quadTo(4887.24756f, 1523, 4867.62402f, 1542.6239f);
  3426. path.quadTo(4848, 1562.24768f, 4848, 1590);
  3427. path.quadTo(4848, 1617.75232f, 4867.62402f, 1637.3761f);
  3428. path.quadTo(4887.24756f, 1657, 4915, 1657);
  3429. path.quadTo(4942.75244f, 1657, 4962.37598f, 1637.3761f);
  3430. path.quadTo(4982, 1617.75232f, 4982, 1590);
  3431. path.quadTo(4982, 1562.24768f, 4962.37598f, 1542.6239f);
  3432. path.quadTo(4942.75244f, 1523, 4915, 1523);
  3433. path.close();
  3434. SkPath pathB;
  3435. pathB.setFillType(SkPath::kWinding_FillType);
  3436. pathB.moveTo(4981.99902f, 1590);
  3437. pathB.quadTo(4981.99902f, 1617.75232f, 4962.375f, 1637.3761f);
  3438. pathB.quadTo(4942.75146f, 1657, 4914.99902f, 1657);
  3439. pathB.quadTo(4887.24658f, 1657, 4867.62305f, 1637.3761f);
  3440. pathB.quadTo(4847.99902f, 1617.75232f, 4847.99902f, 1590);
  3441. pathB.quadTo(4847.99902f, 1562.24768f, 4867.62305f, 1542.6239f);
  3442. pathB.quadTo(4887.24658f, 1523, 4914.99902f, 1523);
  3443. pathB.quadTo(4942.75146f, 1523, 4962.375f, 1542.6239f);
  3444. pathB.quadTo(4981.99902f, 1562.24768f, 4981.99902f, 1590);
  3445. pathB.close();
  3446. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3447. }
  3448. static void skpwww_alamdi_com_3(skiatest::Reporter* reporter, const char* filename) {
  3449. SkPath path;
  3450. path.setFillType(SkPath::kEvenOdd_FillType);
  3451. path.moveTo(10210.8789f, 5315.87891f);
  3452. path.quadTo(10211.7578f, 5315, 10213, 5315);
  3453. path.lineTo(10230, 5315);
  3454. path.quadTo(10231.2422f, 5315, 10232.1211f, 5315.87891f);
  3455. path.quadTo(10233, 5316.75732f, 10233, 5318);
  3456. path.lineTo(10233, 5338);
  3457. path.quadTo(10233, 5339.24268f, 10232.1211f, 5340.12109f);
  3458. path.quadTo(10231.2422f, 5341, 10230, 5341);
  3459. path.lineTo(10213, 5341);
  3460. path.quadTo(10211.7578f, 5341, 10210.8789f, 5340.12109f);
  3461. path.quadTo(10210, 5339.24268f, 10210, 5338);
  3462. path.lineTo(10210, 5318);
  3463. path.quadTo(10210, 5316.75732f, 10210.8789f, 5315.87891f);
  3464. path.close();
  3465. SkPath pathB;
  3466. pathB.setFillType(SkPath::kEvenOdd_FillType);
  3467. pathB.moveTo(10213, 5315);
  3468. pathB.lineTo(10230, 5315);
  3469. pathB.cubicTo(10231.6572f, 5315, 10233, 5316.34326f, 10233, 5318);
  3470. pathB.lineTo(10233, 5338);
  3471. pathB.cubicTo(10233, 5339.10449f, 10231.6572f, 5340, 10230, 5340);
  3472. pathB.lineTo(10213, 5340);
  3473. pathB.cubicTo(10211.3428f, 5340, 10210, 5339.10449f, 10210, 5338);
  3474. pathB.lineTo(10210, 5318);
  3475. pathB.cubicTo(10210, 5316.34326f, 10211.3428f, 5315, 10213, 5315);
  3476. pathB.close();
  3477. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3478. }
  3479. static void skpwww_familysurvivalprotocol_wordpress_com_61(skiatest::Reporter* reporter, const char* filename) {
  3480. SkPath path;
  3481. path.setFillType(SkPath::kEvenOdd_FillType);
  3482. path.moveTo(143, 14557);
  3483. path.lineTo(165, 14557);
  3484. path.lineTo(165, 14555.9902f);
  3485. path.lineTo(143, 14556);
  3486. path.lineTo(143, 14557);
  3487. path.close();
  3488. SkPath pathB;
  3489. pathB.setFillType(SkPath::kWinding_FillType);
  3490. pathB.moveTo(143, 14557);
  3491. pathB.lineTo(143, 14555.9902f);
  3492. pathB.lineTo(165, 14556);
  3493. pathB.lineTo(165, 14557);
  3494. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3495. }
  3496. static void skpwww_firstunitedbank_com_19(skiatest::Reporter* reporter, const char* filename) {
  3497. SkPath path;
  3498. path.setFillType(SkPath::kEvenOdd_FillType);
  3499. path.moveTo(808.585815f, 11673.5859f);
  3500. path.quadTo(809.17157f, 11673, 810, 11673);
  3501. path.lineTo(1032, 11673);
  3502. path.quadTo(1038.21326f, 11673, 1042.60657f, 11677.3936f);
  3503. path.quadTo(1047, 11681.7871f, 1047, 11688);
  3504. path.quadTo(1047, 11682.2012f, 1042.60657f, 11678.1006f);
  3505. path.quadTo(1038.21326f, 11674, 1032, 11674);
  3506. path.lineTo(810, 11674);
  3507. path.quadTo(809.585815f, 11674, 809.292908f, 11674.293f);
  3508. path.quadTo(809, 11674.5859f, 809, 11675);
  3509. path.lineTo(809, 11701);
  3510. path.quadTo(809, 11701.4141f, 809.292908f, 11701.707f);
  3511. path.quadTo(809.585815f, 11702, 810, 11702);
  3512. path.lineTo(1032, 11702);
  3513. path.quadTo(1038.21326f, 11702, 1042.60657f, 11697.8994f);
  3514. path.quadTo(1047, 11693.7988f, 1047, 11688);
  3515. path.quadTo(1047, 11694.2129f, 1042.60657f, 11698.6064f);
  3516. path.quadTo(1038.21326f, 11703, 1032, 11703);
  3517. path.lineTo(810, 11703);
  3518. path.quadTo(809.17157f, 11703, 808.585815f, 11702.4141f);
  3519. path.quadTo(808, 11701.8281f, 808, 11701);
  3520. path.lineTo(808, 11675);
  3521. path.quadTo(808, 11674.1719f, 808.585815f, 11673.5859f);
  3522. path.close();
  3523. SkPath pathB;
  3524. pathB.setFillType(SkPath::kWinding_FillType);
  3525. pathB.moveTo(808, 11703);
  3526. pathB.lineTo(809.5f, 11701.5f);
  3527. pathB.lineTo(1062.91907f, 11687.0811f);
  3528. pathB.lineTo(1047, 11703);
  3529. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3530. }
  3531. static void skpwww_shinydemos_com_5(skiatest::Reporter* reporter, const char* filename) {
  3532. SkPath path;
  3533. path.setFillType(SkPath::kEvenOdd_FillType);
  3534. path.moveTo(205.884888f, 648.203857f);
  3535. path.lineTo(771.570374f, 82.5183716f);
  3536. path.lineTo(1110.98169f, 421.929626f);
  3537. path.lineTo(545.296143f, 987.615112f);
  3538. path.lineTo(205.884888f, 648.203857f);
  3539. path.close();
  3540. SkPath pathB;
  3541. pathB.setFillType(SkPath::kWinding_FillType);
  3542. pathB.moveTo(771.570374f, 82.5183716f);
  3543. pathB.lineTo(1110.98169f, 421.929626f);
  3544. pathB.lineTo(545.296204f, 987.615051f);
  3545. pathB.lineTo(205.884949f, 648.203796f);
  3546. pathB.close();
  3547. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3548. }
  3549. static void skpwww_lptemp_com_3(skiatest::Reporter* reporter, const char* filename) {
  3550. SkPath path;
  3551. path.setFillType(SkPath::kEvenOdd_FillType);
  3552. path.moveTo(78.6429825f, 1394.30969f);
  3553. path.quadTo(79.6192932f, 1393.33337f, 81.0000076f, 1393.33337f);
  3554. path.lineTo(341, 1393.33337f);
  3555. path.quadTo(342.380707f, 1393.33337f, 343.357025f, 1394.30969f);
  3556. path.quadTo(344.333344f, 1395.28601f, 344.333344f, 1396.66675f);
  3557. path.lineTo(344.333344f, 1465.66663f);
  3558. path.quadTo(344.333344f, 1467.04736f, 343.357025f, 1468.02368f);
  3559. path.quadTo(342.380707f, 1469, 341, 1469);
  3560. path.lineTo(81.0000076f, 1469);
  3561. path.quadTo(79.6192932f, 1469, 78.6429825f, 1468.02368f);
  3562. path.quadTo(77.6666718f, 1467.04736f, 77.6666718f, 1465.66663f);
  3563. path.lineTo(77.6666718f, 1396.66675f);
  3564. path.quadTo(77.6666718f, 1395.28601f, 78.6429825f, 1394.30969f);
  3565. path.close();
  3566. SkPath pathB;
  3567. pathB.setFillType(SkPath::kEvenOdd_FillType);
  3568. pathB.moveTo(81, 1393.33337f);
  3569. pathB.lineTo(341, 1393.33337f);
  3570. pathB.cubicTo(342.840942f, 1393.33337f, 344.333344f, 1394.82568f, 344.333344f, 1396.66675f);
  3571. pathB.lineTo(344.333344f, 1465.66675f);
  3572. pathB.cubicTo(344.333344f, 1467.32361f, 342.840942f, 1468.66675f, 341, 1468.66675f);
  3573. pathB.lineTo(81, 1468.66675f);
  3574. pathB.cubicTo(79.15905f, 1468.66675f, 77.6666718f, 1467.32361f, 77.6666718f, 1465.66675f);
  3575. pathB.lineTo(77.6666718f, 1396.66675f);
  3576. pathB.cubicTo(77.6666718f, 1394.82568f, 79.15905f, 1393.33337f, 81, 1393.33337f);
  3577. pathB.close();
  3578. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3579. }
  3580. static void skpwww_shinydemos_com_15(skiatest::Reporter* reporter, const char* filename) {
  3581. SkPath path;
  3582. path.setFillType(SkPath::kEvenOdd_FillType);
  3583. path.moveTo(1000, 310.947968f);
  3584. path.lineTo(771.570374f, 82.5183716f);
  3585. path.lineTo(205.884888f, 648.203857f);
  3586. path.lineTo(448.68103f, 891);
  3587. path.lineTo(641.911255f, 891);
  3588. path.lineTo(1000, 532.911316f);
  3589. path.lineTo(1000, 310.947968f);
  3590. path.close();
  3591. SkPath pathB;
  3592. pathB.setFillType(SkPath::kWinding_FillType);
  3593. pathB.moveTo(771.570374f, 82.5183716f);
  3594. pathB.lineTo(1110.98169f, 421.929626f);
  3595. pathB.lineTo(545.296204f, 987.615051f);
  3596. pathB.lineTo(205.884949f, 648.203796f);
  3597. pathB.close();
  3598. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3599. }
  3600. static void skpwww_lptemp_com_5(skiatest::Reporter* reporter, const char* filename) {
  3601. SkPath path;
  3602. path.setFillType(SkPath::kEvenOdd_FillType);
  3603. path.moveTo(78.6429825f, 3150.97632f);
  3604. path.quadTo(79.6192932f, 3150, 81.0000076f, 3150);
  3605. path.lineTo(341, 3150);
  3606. path.quadTo(342.380707f, 3150, 343.357025f, 3150.97632f);
  3607. path.quadTo(344.333344f, 3151.95264f, 344.333344f, 3153.33325f);
  3608. path.lineTo(344.333344f, 5205.3335f);
  3609. path.quadTo(344.333344f, 5206.71436f, 343.357025f, 5207.69092f);
  3610. path.quadTo(342.380707f, 5208.66699f, 341, 5208.66699f);
  3611. path.lineTo(81.0000076f, 5208.66699f);
  3612. path.quadTo(79.6192932f, 5208.66699f, 78.6429825f, 5207.69092f);
  3613. path.quadTo(77.6666718f, 5206.71436f, 77.6666718f, 5205.3335f);
  3614. path.lineTo(77.6666718f, 3153.33325f);
  3615. path.quadTo(77.6666718f, 3151.95264f, 78.6429825f, 3150.97632f);
  3616. path.close();
  3617. SkPath pathB;
  3618. pathB.setFillType(SkPath::kEvenOdd_FillType);
  3619. pathB.moveTo(81, 3150);
  3620. pathB.lineTo(341, 3150);
  3621. pathB.cubicTo(342.840942f, 3150, 344.333344f, 3151.49268f, 344.333344f, 3153.3335f);
  3622. pathB.lineTo(344.333344f, 5205.3335f);
  3623. pathB.cubicTo(344.333344f, 5206.99023f, 342.840942f, 5208.3335f, 341, 5208.3335f);
  3624. pathB.lineTo(81, 5208.3335f);
  3625. pathB.cubicTo(79.15905f, 5208.3335f, 77.6666718f, 5206.99023f, 77.6666718f, 5205.3335f);
  3626. pathB.lineTo(77.6666718f, 3153.3335f);
  3627. pathB.cubicTo(77.6666718f, 3151.49268f, 79.15905f, 3150, 81, 3150);
  3628. pathB.close();
  3629. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3630. }
  3631. static void skpwww_educationalcraft_com_4a(skiatest::Reporter* reporter, const char* filename) {
  3632. SkPath path;
  3633. path.setFillType(SkPath::kEvenOdd_FillType);
  3634. path.moveTo(941, 1494);
  3635. path.lineTo(941, 1464);
  3636. path.lineTo(985, 1464);
  3637. path.lineTo(985, 1494);
  3638. path.lineTo(941, 1494);
  3639. path.close();
  3640. SkPath pathB;
  3641. pathB.setFillType(SkPath::kWinding_FillType);
  3642. pathB.moveTo(984.546021f, 1478.31494f);
  3643. pathB.cubicTo(984.546021f, 1478.31494f, 984.543213f, 1478.32239f, 984.537598f, 1478.33655f);
  3644. pathB.cubicTo(984.419006f, 1478.63477f, 983.044373f, 1481.90405f, 980.026001f, 1481.276f);
  3645. pathB.cubicTo(980.026001f, 1481.276f, 980.02594f, 1481.27576f, 980.025879f, 1481.27527f);
  3646. pathB.cubicTo(980.018494f, 1481.22131f, 979.602478f, 1478.38831f, 984.546021f, 1478.31494f);
  3647. testPathOp(reporter, path, pathB, kIntersect_SkPathOp, filename);
  3648. }
  3649. static void skpwww_woothemes_com_1(skiatest::Reporter* reporter, const char* filename) {
  3650. SkPath path;
  3651. path.setFillType((SkPath::FillType) 1);
  3652. path.moveTo(SkBits2Float(0x44472795), SkBits2Float(0x455cdb8d)); // 796.618f, 3533.72f
  3653. path.lineTo(SkBits2Float(0x44467c27), SkBits2Float(0x455cdb8d)); // 793.94f, 3533.72f
  3654. path.lineTo(SkBits2Float(0x44467c27), SkBits2Float(0x455d055d)); // 793.94f, 3536.34f
  3655. path.lineTo(SkBits2Float(0x44472795), SkBits2Float(0x455d055d)); // 796.618f, 3536.34f
  3656. path.lineTo(SkBits2Float(0x44472795), SkBits2Float(0x455cdb8d)); // 796.618f, 3533.72f
  3657. SkPath path1(path);
  3658. path.reset();
  3659. path.setFillType((SkPath::FillType) 0);
  3660. path.moveTo(SkBits2Float(0x4446861c), SkBits2Float(0x455cdb8d)); // 794.095f, 3533.72f
  3661. path.cubicTo(SkBits2Float(0x4446a0d8), SkBits2Float(0x455cefbb), SkBits2Float(0x444727a5), SkBits2Float(0x455d055d), SkBits2Float(0x444727a5), SkBits2Float(0x455d055d)); // 794.513f, 3534.98f, 796.619f, 3536.34f, 796.619f, 3536.34f
  3662. path.cubicTo(SkBits2Float(0x4446c5b0), SkBits2Float(0x455cf8a4), SkBits2Float(0x444693af), SkBits2Float(0x455cedad), SkBits2Float(0x44467c1b), SkBits2Float(0x455ce4b8)); // 795.089f, 3535.54f, 794.308f, 3534.85f, 793.939f, 3534.29f
  3663. path.lineTo(SkBits2Float(0x44467d70), SkBits2Float(0x455ce016)); // 793.96f, 3534.01f
  3664. path.cubicTo(SkBits2Float(0x44467fa9), SkBits2Float(0x455cde82), SkBits2Float(0x444682b5), SkBits2Float(0x455cdd03), SkBits2Float(0x4446861c), SkBits2Float(0x455cdb8d)); // 793.995f, 3533.91f, 794.042f, 3533.81f, 794.095f, 3533.72f
  3665. SkPath path2(path);
  3666. testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
  3667. }
  3668. static void skpwww_gorcraft_ru_1(skiatest::Reporter* reporter, const char* filename) {
  3669. SkPath path;
  3670. path.setFillType((SkPath::FillType) 1);
  3671. path.moveTo(SkBits2Float(0x44924000), SkBits2Float(0x458e7800)); // 1170, 4559
  3672. path.conicTo(SkBits2Float(0x44930000), SkBits2Float(0x458e7800), SkBits2Float(0x44930000), SkBits2Float(0x458ea800), SkBits2Float(0x3f3504f3)); // 1176, 4559, 1176, 4565, 0.707107f
  3673. path.lineTo(SkBits2Float(0x44930000), SkBits2Float(0x458f7000)); // 1176, 4590
  3674. path.conicTo(SkBits2Float(0x44930000), SkBits2Float(0x458f9800), SkBits2Float(0x44926000), SkBits2Float(0x458f9800), SkBits2Float(0x3f3504f3)); // 1176, 4595, 1171, 4595, 0.707107f
  3675. path.lineTo(SkBits2Float(0x42a60000), SkBits2Float(0x458f9800)); // 83, 4595
  3676. path.conicTo(SkBits2Float(0x429c0471), SkBits2Float(0x458f9800), SkBits2Float(0x429c0000), SkBits2Float(0x458f700c), SkBits2Float(0x3f352d2d)); // 78.0087f, 4595, 78, 4590.01f, 0.707721f
  3677. path.lineTo(SkBits2Float(0x429c0000), SkBits2Float(0x458ea800)); // 78, 4565
  3678. path.conicTo(SkBits2Float(0x429c0000), SkBits2Float(0x458e7800), SkBits2Float(0x42a80000), SkBits2Float(0x458e7800), SkBits2Float(0x3f3504f3)); // 78, 4559, 84, 4559, 0.707107f
  3679. path.lineTo(SkBits2Float(0x44924000), SkBits2Float(0x458e7800)); // 1170, 4559
  3680. path.close();
  3681. SkPath path1(path);
  3682. path.reset();
  3683. path.setFillType((SkPath::FillType) 0);
  3684. path.moveTo(SkBits2Float(0x429c0000), SkBits2Float(0x458f7000)); // 78, 4590
  3685. path.lineTo(SkBits2Float(0x429c0000), SkBits2Float(0x458ea800)); // 78, 4565
  3686. path.conicTo(SkBits2Float(0x429c0000), SkBits2Float(0x458e7800), SkBits2Float(0x42a80000), SkBits2Float(0x458e7800), SkBits2Float(0x3f3504f3)); // 78, 4559, 84, 4559, 0.707107f
  3687. path.lineTo(SkBits2Float(0x431e0000), SkBits2Float(0x458e7800)); // 158, 4559
  3688. path.conicTo(SkBits2Float(0x431e0000), SkBits2Float(0x458e7800), SkBits2Float(0x431e0000), SkBits2Float(0x458e7800), SkBits2Float(0x3f3504f3)); // 158, 4559, 158, 4559, 0.707107f
  3689. path.lineTo(SkBits2Float(0x431e0000), SkBits2Float(0x458fa000)); // 158, 4596
  3690. path.conicTo(SkBits2Float(0x431e0000), SkBits2Float(0x458fa000), SkBits2Float(0x431e0000), SkBits2Float(0x458fa000), SkBits2Float(0x3f3504f3)); // 158, 4596, 158, 4596, 0.707107f
  3691. path.lineTo(SkBits2Float(0x42a80000), SkBits2Float(0x458fa000)); // 84, 4596
  3692. path.conicTo(SkBits2Float(0x429c0000), SkBits2Float(0x458fa000), SkBits2Float(0x429c0000), SkBits2Float(0x458f7000), SkBits2Float(0x3f3504f3)); // 78, 4596, 78, 4590, 0.707107f
  3693. path.close();
  3694. SkPath path2(path);
  3695. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3696. }
  3697. static void skpwww_neda_net_1(skiatest::Reporter* reporter, const char* filename) {
  3698. SkPath path;
  3699. path.setFillType((SkPath::FillType) 1);
  3700. path.moveTo(SkBits2Float(0x447a0000), SkBits2Float(0x00000000)); // 1000, 0
  3701. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
  3702. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x44b6e000)); // 0, 1463
  3703. path.lineTo(SkBits2Float(0x447a0000), SkBits2Float(0x44b6e000)); // 1000, 1463
  3704. path.lineTo(SkBits2Float(0x447a0000), SkBits2Float(0x00000000)); // 1000, 0
  3705. path.close();
  3706. SkPath path1(path);
  3707. path.reset();
  3708. path.setFillType((SkPath::FillType) 0);
  3709. path.moveTo(SkBits2Float(0x366a410f), SkBits2Float(0x43a38000)); // 3.49066e-06f, 327
  3710. path.lineTo(SkBits2Float(0x447a0000), SkBits2Float(0x43a38001)); // 1000, 327
  3711. path.lineTo(SkBits2Float(0x447a0000), SkBits2Float(0x4435c000)); // 1000, 727
  3712. path.lineTo(SkBits2Float(0xb66a410d), SkBits2Float(0x4435c000)); // -3.49066e-06f, 727
  3713. path.lineTo(SkBits2Float(0x366a410f), SkBits2Float(0x43a38000)); // 3.49066e-06f, 327
  3714. path.close();
  3715. SkPath path2(path);
  3716. testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
  3717. }
  3718. // "http___www_neda_net.skp" dir=87
  3719. static void skpwww_neda_net_2(skiatest::Reporter* reporter, const char* filename) {
  3720. SkPath path;
  3721. path.setFillType((SkPath::FillType) 1);
  3722. path.moveTo(SkBits2Float(0x442fc000), SkBits2Float(0x4546a000)); // 703, 3178
  3723. path.lineTo(SkBits2Float(0x441f4000), SkBits2Float(0x4546a000)); // 637, 3178
  3724. path.lineTo(SkBits2Float(0x441f4000), SkBits2Float(0x454ab000)); // 637, 3243
  3725. path.lineTo(SkBits2Float(0x442fc000), SkBits2Float(0x454ab000)); // 703, 3243
  3726. path.lineTo(SkBits2Float(0x442fc000), SkBits2Float(0x4546a000)); // 703, 3178
  3727. path.close();
  3728. SkPath path1(path);
  3729. path.reset();
  3730. path.setFillType((SkPath::FillType) 0);
  3731. path.moveTo(SkBits2Float(0x44220e6e), SkBits2Float(0x45469c4c)); // 648.225f, 3177.77f
  3732. path.lineTo(SkBits2Float(0x442fc01c), SkBits2Float(0x45475696)); // 703.002f, 3189.41f
  3733. path.lineTo(SkBits2Float(0x442cf191), SkBits2Float(0x454aa3b5)); // 691.774f, 3242.23f
  3734. path.lineTo(SkBits2Float(0x441f3fe3), SkBits2Float(0x4549e96b)); // 636.998f, 3230.59f
  3735. path.lineTo(SkBits2Float(0x44220e6e), SkBits2Float(0x45469c4c)); // 648.225f, 3177.77f
  3736. path.close();
  3737. SkPath path2(path);
  3738. testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
  3739. }
  3740. static void skpwww_mybuilder_com_1(skiatest::Reporter* reporter, const char* filename) {
  3741. SkPath path;
  3742. path.setFillType(SkPath::kEvenOdd_FillType);
  3743. path.moveTo(1000, 659);
  3744. path.lineTo(1000, 377);
  3745. path.lineTo(455, 377);
  3746. path.lineTo(455, 659);
  3747. path.lineTo(1000, 659);
  3748. path.close();
  3749. SkPath path1(path);
  3750. path.reset();
  3751. path.setFillType(SkPath::kEvenOdd_FillType);
  3752. path.moveTo(921.472f, 414.086f);
  3753. path.lineTo(968.815f, 386.754f);
  3754. path.lineTo(993.069f, 428.761f);
  3755. path.lineTo(945.726f, 456.096f);
  3756. path.lineTo(921.471f, 414.086f);
  3757. path.lineTo(921.472f, 414.086f);
  3758. path.close();
  3759. path.moveTo(971.151f, 422.889f);
  3760. path.cubicTo(966.509f, 414.848f, 957.649f, 411.727f, 950.181f, 416.038f);
  3761. path.lineTo(947.224f, 417.746f);
  3762. path.lineTo(946.979f, 417.887f);
  3763. path.lineTo(947.838f, 419.371f);
  3764. path.lineTo(947.844f, 419.367f);
  3765. path.lineTo(947.868f, 419.353f);
  3766. path.lineTo(947.945f, 419.309f);
  3767. path.cubicTo(947.988f, 419.285f, 947.988f, 419.285f, 948.023f, 419.263f);
  3768. path.cubicTo(948.039f, 419.255f, 948.039f, 419.255f, 948.047f, 419.25f);
  3769. path.lineTo(948.052f, 419.247f);
  3770. path.lineTo(947.196f, 417.762f);
  3771. path.lineTo(947.195f, 417.762f);
  3772. path.lineTo(946.888f, 417.939f);
  3773. path.lineTo(943.39f, 419.959f);
  3774. path.lineTo(944.249f, 421.443f);
  3775. path.lineTo(947.745f, 419.424f);
  3776. path.lineTo(948.05f, 419.247f);
  3777. path.lineTo(948.052f, 419.247f);
  3778. path.lineTo(947.195f, 417.763f);
  3779. path.cubicTo(947.193f, 417.763f, 947.193f, 417.763f, 947.19f, 417.766f);
  3780. path.lineTo(947.166f, 417.779f);
  3781. path.lineTo(947.087f, 417.825f);
  3782. path.lineTo(947.011f, 417.868f);
  3783. path.lineTo(946.987f, 417.883f);
  3784. path.lineTo(946.982f, 417.886f);
  3785. path.lineTo(946.98f, 417.886f);
  3786. path.lineTo(947.839f, 419.37f);
  3787. path.lineTo(948.083f, 419.229f);
  3788. path.lineTo(951.039f, 417.522f);
  3789. path.cubicTo(957.631f, 413.716f, 965.471f, 416.477f, 969.669f, 423.746f);
  3790. path.lineTo(971.153f, 422.889f);
  3791. path.lineTo(971.151f, 422.889f);
  3792. path.close();
  3793. SkPath path2(path);
  3794. testPathOp(reporter, path1, path2, kIntersect_SkPathOp, filename);
  3795. }
  3796. static void skpwww_nimble_com_au_1(skiatest::Reporter* reporter, const char* filename) {
  3797. SkPath path;
  3798. path.setFillType(SkPath::kEvenOdd_FillType);
  3799. path.moveTo(188.6f, 1988.8f);
  3800. path.lineTo(188.6f, 2041.6f);
  3801. path.cubicTo(188.6f, 2065.4f, 208, 2084.8f, 231.8f, 2084.8f);
  3802. path.cubicTo(255.6f, 2084.8f, 275, 2065.4f, 275, 2041.6f);
  3803. path.lineTo(275.2f, 2041.6f);
  3804. path.lineTo(275.2f, 1988.8f);
  3805. path.lineTo(188.6f, 1988.8f);
  3806. path.close();
  3807. SkPath path1(path);
  3808. path.reset();
  3809. path.setFillType(SkPath::kWinding_FillType);
  3810. path.moveTo(275, 2041.6f);
  3811. path.conicTo(275, 2084.8f, 231.8f, 2084.8f, 0.707107f);
  3812. path.conicTo(188.6f, 2084.8f, 188.6f, 2041.6f, 0.707107f);
  3813. path.conicTo(188.6f, 1998.4f, 231.8f, 1998.4f, 0.707107f);
  3814. path.conicTo(275, 1998.4f, 275, 2041.6f, 0.707107f);
  3815. path.close();
  3816. SkPath path2(path);
  3817. testPathOp(reporter, path1, path2, kIntersect_SkPathOp, filename);
  3818. }
  3819. static void skpwww_tinytots_com_1(skiatest::Reporter* reporter, const char* filename) {
  3820. SkPath path;
  3821. path.setFillType(SkPath::kEvenOdd_FillType);
  3822. path.moveTo(75.96f, 26.318f);
  3823. path.lineTo(70.337f, 26.318f);
  3824. path.lineTo(70.337f, 32.376f);
  3825. path.lineTo(75.96f, 32.376f);
  3826. path.lineTo(75.96f, 26.318f);
  3827. path.close();
  3828. SkPath path1(path);
  3829. path.reset();
  3830. path.setFillType(SkPath::kWinding_FillType);
  3831. path.moveTo(75.88f, 27.873f);
  3832. path.cubicTo(75.929f, 28.138f, 75.956f, 29.196f, 75.96f, 31.046f);
  3833. path.lineTo(72.766f, 32.376f);
  3834. path.cubicTo(72.763f, 30.525f, 72.735f, 29.468f, 72.686f, 29.203f);
  3835. path.cubicTo(72.636f, 28.94f, 72.519f, 28.722f, 72.335f, 28.552f);
  3836. path.cubicTo(72.248f, 28.472f, 72.058f, 28.364f, 71.763f, 28.228f);
  3837. path.cubicTo(72.425f, 27.933f, 72.425f, 27.933f, 73.395f, 27.498f);
  3838. path.cubicTo(72.425f, 27.933f, 72.425f, 27.933f, 71.763f, 28.228f);
  3839. path.cubicTo(71.425f, 28.072f, 70.95f, 27.878f, 70.337f, 27.647f);
  3840. path.lineTo(73.531f, 26.317f);
  3841. path.cubicTo(74.144f, 26.547f, 74.619f, 26.741f, 74.957f, 26.898f);
  3842. path.cubicTo(74.475f, 27.113f, 73.993f, 27.329f, 73.511f, 27.544f);
  3843. path.cubicTo(73.993f, 27.329f, 74.475f, 27.114f, 74.957f, 26.898f);
  3844. path.cubicTo(75.252f, 27.034f, 75.442f, 27.142f, 75.529f, 27.222f);
  3845. path.cubicTo(75.713f, 27.393f, 75.83f, 27.61f, 75.88f, 27.873f);
  3846. SkPath path2(path);
  3847. testPathOp(reporter, path1, path2, kIntersect_SkPathOp, filename);
  3848. }
  3849. static void http___www_emuleteca_cl_26(skiatest::Reporter* reporter, const char* filename) {
  3850. SkPath path;
  3851. path.setFillType((SkPath::FillType) 1);
  3852. path.moveTo(SkBits2Float(0x3f800000), SkBits2Float(0x44370000)); // 1, 732
  3853. path.conicTo(SkBits2Float(0x3f800000), SkBits2Float(0x4428c000), SkBits2Float(0x42680000), SkBits2Float(0x4428c000), SkBits2Float(0x3f3504f3)); // 1, 675, 58, 675, 0.707107f
  3854. path.conicTo(SkBits2Float(0x40400000), SkBits2Float(0x4428c000), SkBits2Float(0x40400000), SkBits2Float(0x44370000), SkBits2Float(0x3f3504f3)); // 3, 675, 3, 732, 0.707107f
  3855. path.conicTo(SkBits2Float(0x40400000), SkBits2Float(0x44444000), SkBits2Float(0x42680000), SkBits2Float(0x44444000), SkBits2Float(0x3f3504f3)); // 3, 785, 58, 785, 0.707107f
  3856. path.lineTo(SkBits2Float(0x446d0000), SkBits2Float(0x44444000)); // 948, 785
  3857. path.conicTo(SkBits2Float(0x447ac000), SkBits2Float(0x44444000), SkBits2Float(0x447ac000), SkBits2Float(0x44370000), SkBits2Float(0x3f3504f3)); // 1003, 785, 1003, 732, 0.707107f
  3858. path.conicTo(SkBits2Float(0x447ac000), SkBits2Float(0x4428c000), SkBits2Float(0x446d0000), SkBits2Float(0x4428c000), SkBits2Float(0x3f3504f3)); // 1003, 675, 948, 675, 0.707107f
  3859. path.conicTo(SkBits2Float(0x447b4000), SkBits2Float(0x4428c000), SkBits2Float(0x447b4000), SkBits2Float(0x44370000), SkBits2Float(0x3f3504f3)); // 1005, 675, 1005, 732, 0.707107f
  3860. path.conicTo(SkBits2Float(0x447b4000), SkBits2Float(0x44454000), SkBits2Float(0x446d0000), SkBits2Float(0x44454000), SkBits2Float(0x3f3504f3)); // 1005, 789, 948, 789, 0.707107f
  3861. path.lineTo(SkBits2Float(0x42680000), SkBits2Float(0x44454000)); // 58, 789
  3862. path.conicTo(SkBits2Float(0x3f800000), SkBits2Float(0x44454000), SkBits2Float(0x3f800000), SkBits2Float(0x44370000), SkBits2Float(0x3f3504f3)); // 1, 789, 1, 732, 0.707107f
  3863. path.close();
  3864. SkPath path1(path);
  3865. path.reset();
  3866. path.setFillType((SkPath::FillType) 0);
  3867. path.moveTo(SkBits2Float(0x3f800000), SkBits2Float(0x4428c000)); // 1, 675
  3868. path.lineTo(SkBits2Float(0x42680000), SkBits2Float(0x4428c000)); // 58, 675
  3869. path.lineTo(SkBits2Float(0x3fc8f676), SkBits2Float(0x44454000)); // 1.57002f, 789
  3870. path.lineTo(SkBits2Float(0x3f800000), SkBits2Float(0x44454000)); // 1, 789
  3871. SkPath path2(path);
  3872. testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
  3873. }
  3874. static void http___www_emuleteca_cl_27(skiatest::Reporter* reporter, const char* filename) {
  3875. SkPath path;
  3876. path.setFillType((SkPath::FillType) 1);
  3877. path.moveTo(SkBits2Float(0x42680000), SkBits2Float(0x4428c000)); // 58, 675
  3878. path.conicTo(SkBits2Float(0x3f800000), SkBits2Float(0x4428c000), SkBits2Float(0x3f800000), SkBits2Float(0x44370000), SkBits2Float(0x3f3504f3)); // 1, 675, 1, 732, 0.707107f
  3879. path.conicTo(SkBits2Float(0x3f800000), SkBits2Float(0x443bd045), SkBits2Float(0x414acf56), SkBits2Float(0x443fa420), SkBits2Float(0x3f778612)); // 1, 751.254f, 12.6756f, 766.564f, 0.96689f
  3880. path.lineTo(SkBits2Float(0x41606e3d), SkBits2Float(0x443ef569)); // 14.0269f, 763.835f
  3881. path.conicTo(SkBits2Float(0x40400000), SkBits2Float(0x443b6c34), SkBits2Float(0x40400000), SkBits2Float(0x44370000), SkBits2Float(0x3f77ac46)); // 3, 749.691f, 3, 732, 0.967472f
  3882. path.conicTo(SkBits2Float(0x40400000), SkBits2Float(0x4428c000), SkBits2Float(0x42680000), SkBits2Float(0x4428c000), SkBits2Float(0x3f3504f3)); // 3, 675, 58, 675, 0.707107f
  3883. path.close();
  3884. SkPath path1(path);
  3885. path.reset();
  3886. path.setFillType((SkPath::FillType) 0);
  3887. path.moveTo(SkBits2Float(0x3f800000), SkBits2Float(0x4428c000)); // 1, 675
  3888. path.lineTo(SkBits2Float(0x4c4a3de6), SkBits2Float(0xccca3d89)); // 5.30165e+07f, -1.06032e+08f
  3889. path.lineTo(SkBits2Float(0x41a71147), SkBits2Float(0x443b4eec)); // 20.8834f, 749.233f
  3890. path.lineTo(SkBits2Float(0x3f800000), SkBits2Float(0x44454000)); // 1, 789
  3891. SkPath path2(path);
  3892. testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
  3893. }
  3894. static void http___www_emuleteca_cl_28(skiatest::Reporter* reporter, const char* filename) {
  3895. SkPath path;
  3896. path.setFillType(SkPath::kEvenOdd_FillType);
  3897. SkPath path1(path);
  3898. path.reset();
  3899. path.setFillType(SkPath::kWinding_FillType);
  3900. path.moveTo(SkBits2Float(0x3f800000), SkBits2Float(0x4428c000)); // 1, 675
  3901. path.lineTo(SkBits2Float(0x4c4a3de6), SkBits2Float(0xccca3d89)); // 5.30165e+07f, -1.06032e+08f
  3902. path.lineTo(SkBits2Float(0x41a71147), SkBits2Float(0x443b4eec)); // 20.8834f, 749.233f
  3903. path.lineTo(SkBits2Float(0x3f800000), SkBits2Float(0x44454000)); // 1, 789
  3904. SkPath path2(path);
  3905. testPathOp(reporter, path1, path2, kIntersect_SkPathOp, filename);
  3906. }
  3907. static void http___www_project2061_org(skiatest::Reporter* reporter, const char* filename) {
  3908. SkPath path;
  3909. path.setFillType(SkPath::kEvenOdd_FillType);
  3910. path.moveTo(751, 62);
  3911. path.lineTo(497, 62);
  3912. path.lineTo(497, 138);
  3913. path.lineTo(751, 138);
  3914. path.lineTo(751, 62);
  3915. path.close();
  3916. SkPath path1(path);
  3917. path.reset();
  3918. path.setFillType(SkPath::kWinding_FillType);
  3919. path.moveTo(699.889f, 115.29f);
  3920. path.cubicTo(699.889f, 114.913f, 699.627f, 114.723f, 699.111f, 114.723f);
  3921. path.cubicTo(698.604f, 114.723f, 697.843f, 114.671f, 697.096f, 114.423f);
  3922. path.cubicTo(695.94f, 114.094f, 694.53f, 113.168f, 692.746f, 108.775f);
  3923. path.cubicTo(690.469f, 103.12f, 685.644f, 90.563f, 682.761f, 83.061f);
  3924. path.lineTo(680.541f, 77.301f);
  3925. path.cubicTo(679.927f, 75.721f, 679.67f, 75.261f, 679.151f, 75.261f);
  3926. path.cubicTo(678.636f, 75.261f, 678.392f, 75.73f, 677.759f, 77.464f);
  3927. path.lineTo(665.868f, 109.881f);
  3928. path.cubicTo(664.861f, 112.669f, 663.852f, 114.339f, 661.675f, 114.622f);
  3929. path.cubicTo(661.675f, 114.622f, 661.551f, 114.631f, 661.378f, 114.642f);
  3930. path.cubicTo(661.072f, 114.597f, 660.75f, 114.531f, 660.427f, 114.424f);
  3931. path.cubicTo(659.272f, 114.095f, 657.861f, 113.169f, 656.078f, 108.776f);
  3932. path.cubicTo(653.797f, 103.112f, 648.967f, 90.541f, 646.08f, 83.029f);
  3933. path.lineTo(643.873f, 77.302f);
  3934. path.cubicTo(643.259f, 75.722f, 643.002f, 75.262f, 642.484f, 75.262f);
  3935. path.cubicTo(641.968f, 75.262f, 641.724f, 75.731f, 641.092f, 77.465f);
  3936. path.lineTo(629.2f, 109.879f);
  3937. path.cubicTo(628.193f, 112.667f, 627.184f, 114.337f, 625.007f, 114.62f);
  3938. path.cubicTo(625.007f, 114.62f, 624.884f, 114.629f, 624.71f, 114.64f);
  3939. path.cubicTo(624.404f, 114.595f, 624.081f, 114.529f, 623.759f, 114.422f);
  3940. path.cubicTo(622.603f, 114.093f, 621.193f, 113.167f, 619.409f, 108.774f);
  3941. path.cubicTo(617.132f, 103.119f, 612.307f, 90.562f, 609.424f, 83.06f);
  3942. path.lineTo(607.204f, 77.3f);
  3943. path.cubicTo(606.59f, 75.72f, 606.333f, 75.26f, 605.815f, 75.26f);
  3944. path.cubicTo(605.3f, 75.26f, 605.055f, 75.729f, 604.423f, 77.463f);
  3945. path.lineTo(592.531f, 109.879f);
  3946. path.cubicTo(591.524f, 112.667f, 590.514f, 114.337f, 588.338f, 114.62f);
  3947. path.cubicTo(588.337f, 114.62f, 586.852f, 114.722f, 586.852f, 114.722f);
  3948. path.cubicTo(586.418f, 114.722f, 586.126f, 114.95f, 586.126f, 115.289f);
  3949. path.cubicTo(586.126f, 115.96f, 586.97f, 115.96f, 587.376f, 115.96f);
  3950. path.lineTo(592.101f, 115.843f);
  3951. path.lineTo(593.295f, 115.804f);
  3952. path.lineTo(594.624f, 115.86f);
  3953. path.lineTo(597.381f, 115.961f);
  3954. path.cubicTo(598.241f, 115.961f, 598.422f, 115.596f, 598.422f, 115.29f);
  3955. path.cubicTo(598.422f, 115.078f, 598.321f, 114.723f, 597.643f, 114.723f);
  3956. path.lineTo(597.119f, 114.723f);
  3957. path.cubicTo(596.448f, 114.723f, 595.383f, 114.381f, 595.383f, 113.463f);
  3958. path.cubicTo(595.383f, 112.545f, 595.638f, 111.334f, 596.101f, 110.052f);
  3959. path.cubicTo(596.103f, 110.048f, 599.246f, 100.809f, 599.246f, 100.809f);
  3960. path.cubicTo(599.337f, 100.583f, 599.435f, 100.564f, 599.528f, 100.564f);
  3961. path.lineTo(610.791f, 100.564f);
  3962. path.cubicTo(610.929f, 100.564f, 610.958f, 100.585f, 611.035f, 100.737f);
  3963. path.cubicTo(611.035f, 100.741f, 615.896f, 113.554f, 615.896f, 113.554f);
  3964. path.cubicTo(615.972f, 113.754f, 616.01f, 113.942f, 616.01f, 114.105f);
  3965. path.cubicTo(616.01f, 114.228f, 615.988f, 114.338f, 615.945f, 114.429f);
  3966. path.cubicTo(615.876f, 114.573f, 615.779f, 114.619f, 615.741f, 114.631f);
  3967. path.cubicTo(615.272f, 114.748f, 615.2f, 115.061f, 615.2f, 115.237f);
  3968. path.cubicTo(615.2f, 115.766f, 615.792f, 115.796f, 616.772f, 115.844f);
  3969. path.lineTo(617.012f, 115.857f);
  3970. path.cubicTo(618.978f, 115.913f, 621.359f, 115.948f, 623.835f, 115.958f);
  3971. path.cubicTo(623.912f, 115.961f, 623.984f, 115.961f, 624.045f, 115.961f);
  3972. path.lineTo(624.118f, 115.959f);
  3973. path.cubicTo(624.494f, 115.961f, 624.871f, 115.961f, 625.25f, 115.961f);
  3974. path.cubicTo(625.47f, 115.961f, 625.662f, 115.946f, 625.827f, 115.917f);
  3975. path.lineTo(628.77f, 115.844f);
  3976. path.lineTo(629.965f, 115.805f);
  3977. path.lineTo(631.293f, 115.861f);
  3978. path.lineTo(634.051f, 115.962f);
  3979. path.cubicTo(634.911f, 115.962f, 635.092f, 115.597f, 635.092f, 115.291f);
  3980. path.cubicTo(635.092f, 115.079f, 634.991f, 114.724f, 634.313f, 114.724f);
  3981. path.lineTo(633.789f, 114.724f);
  3982. path.cubicTo(633.118f, 114.724f, 632.053f, 114.382f, 632.053f, 113.464f);
  3983. path.cubicTo(632.053f, 112.546f, 632.308f, 111.335f, 632.771f, 110.053f);
  3984. path.cubicTo(632.773f, 110.049f, 635.916f, 100.81f, 635.916f, 100.81f);
  3985. path.cubicTo(636.007f, 100.584f, 636.105f, 100.565f, 636.198f, 100.565f);
  3986. path.lineTo(647.46f, 100.565f);
  3987. path.cubicTo(647.598f, 100.565f, 647.627f, 100.586f, 647.704f, 100.737f);
  3988. path.cubicTo(647.704f, 100.741f, 652.565f, 113.554f, 652.565f, 113.554f);
  3989. path.cubicTo(652.641f, 113.754f, 652.679f, 113.942f, 652.679f, 114.105f);
  3990. path.cubicTo(652.679f, 114.228f, 652.657f, 114.338f, 652.613f, 114.43f);
  3991. path.cubicTo(652.544f, 114.574f, 652.447f, 114.619f, 652.409f, 114.632f);
  3992. path.cubicTo(651.94f, 114.749f, 651.868f, 115.062f, 651.868f, 115.238f);
  3993. path.cubicTo(651.868f, 115.767f, 652.46f, 115.797f, 653.44f, 115.845f);
  3994. path.lineTo(653.681f, 115.858f);
  3995. path.cubicTo(655.647f, 115.914f, 658.028f, 115.949f, 660.503f, 115.959f);
  3996. path.cubicTo(660.58f, 115.962f, 660.652f, 115.962f, 660.713f, 115.962f);
  3997. path.lineTo(660.787f, 115.96f);
  3998. path.cubicTo(661.162f, 115.962f, 661.54f, 115.962f, 661.918f, 115.962f);
  3999. path.cubicTo(662.139f, 115.962f, 662.33f, 115.947f, 662.496f, 115.918f);
  4000. path.lineTo(665.439f, 115.845f);
  4001. path.lineTo(666.633f, 115.806f);
  4002. path.lineTo(667.962f, 115.862f);
  4003. path.lineTo(670.719f, 115.963f);
  4004. path.cubicTo(671.579f, 115.963f, 671.76f, 115.598f, 671.76f, 115.292f);
  4005. path.cubicTo(671.76f, 115.08f, 671.659f, 114.725f, 670.981f, 114.725f);
  4006. path.lineTo(670.457f, 114.725f);
  4007. path.cubicTo(669.786f, 114.725f, 668.721f, 114.383f, 668.721f, 113.465f);
  4008. path.cubicTo(668.721f, 112.547f, 668.976f, 111.336f, 669.439f, 110.054f);
  4009. path.cubicTo(669.441f, 110.05f, 672.584f, 100.811f, 672.584f, 100.811f);
  4010. path.cubicTo(672.675f, 100.585f, 672.773f, 100.566f, 672.866f, 100.566f);
  4011. path.lineTo(684.128f, 100.566f);
  4012. path.cubicTo(684.266f, 100.566f, 684.295f, 100.587f, 684.372f, 100.739f);
  4013. path.cubicTo(684.372f, 100.743f, 689.233f, 113.556f, 689.233f, 113.556f);
  4014. path.cubicTo(689.309f, 113.756f, 689.347f, 113.944f, 689.347f, 114.107f);
  4015. path.cubicTo(689.347f, 114.23f, 689.325f, 114.34f, 689.281f, 114.431f);
  4016. path.cubicTo(689.212f, 114.575f, 689.115f, 114.621f, 689.077f, 114.633f);
  4017. path.cubicTo(688.608f, 114.75f, 688.536f, 115.063f, 688.536f, 115.239f);
  4018. path.cubicTo(688.536f, 115.768f, 689.128f, 115.798f, 690.108f, 115.846f);
  4019. path.lineTo(690.348f, 115.859f);
  4020. path.cubicTo(692.687f, 115.926f, 695.611f, 115.963f, 698.586f, 115.963f);
  4021. path.cubicTo(699.451f, 115.961f, 699.889f, 115.735f, 699.889f, 115.29f);
  4022. path.close();
  4023. path.moveTo(600.18f, 98.176f);
  4024. path.cubicTo(600.181f, 98.171f, 600.185f, 98.158f, 600.185f, 98.158f);
  4025. path.cubicTo(600.191f, 98.142f, 604.801f, 84.049f, 604.801f, 84.049f);
  4026. path.cubicTo(604.865f, 83.857f, 604.915f, 83.756f, 604.951f, 83.697f);
  4027. path.cubicTo(604.987f, 83.756f, 605.037f, 83.858f, 605.102f, 84.051f);
  4028. path.cubicTo(605.103f, 84.054f, 610.08f, 98.149f, 610.08f, 98.149f);
  4029. path.cubicTo(610.079f, 98.145f, 610.079f, 98.145f, 610.079f, 98.147f);
  4030. path.cubicTo(610.079f, 98.149f, 610.081f, 98.164f, 610.083f, 98.176f);
  4031. path.lineTo(600.18f, 98.176f);
  4032. path.close();
  4033. path.moveTo(636.849f, 98.176f);
  4034. path.cubicTo(636.851f, 98.171f, 636.854f, 98.158f, 636.854f, 98.158f);
  4035. path.cubicTo(636.859f, 98.142f, 641.469f, 84.049f, 641.469f, 84.049f);
  4036. path.cubicTo(641.533f, 83.857f, 641.584f, 83.756f, 641.62f, 83.697f);
  4037. path.cubicTo(641.656f, 83.756f, 641.706f, 83.857f, 641.771f, 84.051f);
  4038. path.cubicTo(641.773f, 84.054f, 646.749f, 98.149f, 646.749f, 98.149f);
  4039. path.cubicTo(646.749f, 98.145f, 646.748f, 98.145f, 646.748f, 98.147f);
  4040. path.cubicTo(646.748f, 98.15f, 646.75f, 98.165f, 646.751f, 98.176f);
  4041. path.lineTo(636.849f, 98.176f);
  4042. path.close();
  4043. path.moveTo(673.517f, 98.176f);
  4044. path.cubicTo(673.519f, 98.171f, 673.522f, 98.158f, 673.522f, 98.158f);
  4045. path.cubicTo(673.528f, 98.142f, 678.138f, 84.049f, 678.138f, 84.049f);
  4046. path.cubicTo(678.202f, 83.857f, 678.252f, 83.756f, 678.288f, 83.697f);
  4047. path.cubicTo(678.324f, 83.756f, 678.375f, 83.858f, 678.439f, 84.051f);
  4048. path.cubicTo(678.44f, 84.054f, 683.417f, 98.149f, 683.417f, 98.149f);
  4049. path.cubicTo(683.416f, 98.145f, 683.416f, 98.145f, 683.416f, 98.147f);
  4050. path.cubicTo(683.416f, 98.149f, 683.418f, 98.164f, 683.42f, 98.176f);
  4051. path.lineTo(673.517f, 98.176f);
  4052. path.close();
  4053. path.moveTo(702.086f, 115.256f);
  4054. path.lineTo(702.089f, 115.257f);
  4055. path.cubicTo(704.075f, 116.223f, 706.408f, 116.692f, 709.22f, 116.692f);
  4056. path.cubicTo(712.384f, 116.692f, 715.17f, 115.918f, 717.275f, 114.454f);
  4057. path.cubicTo(720.639f, 112.074f, 721.837f, 108.31f, 721.837f, 105.581f);
  4058. path.cubicTo(721.837f, 101.538f, 720.57f, 98.203f, 714.092f, 93.115f);
  4059. path.lineTo(712.625f, 91.966f);
  4060. path.cubicTo(707.567f, 87.838f, 706.331f, 86.155f, 706.331f, 83.396f);
  4061. path.cubicTo(706.331f, 79.927f, 708.819f, 77.595f, 712.519f, 77.595f);
  4062. path.cubicTo(716.925f, 77.595f, 718.41f, 79.437f, 718.843f, 80.229f);
  4063. path.cubicTo(719.131f, 80.754f, 719.442f, 82.122f, 719.494f, 82.739f);
  4064. path.cubicTo(719.543f, 83.13f, 719.608f, 83.65f, 720.167f, 83.65f);
  4065. path.cubicTo(720.789f, 83.65f, 720.789f, 82.704f, 720.789f, 82.195f);
  4066. path.cubicTo(720.789f, 79.413f, 720.918f, 77.758f, 720.973f, 77.052f);
  4067. path.lineTo(720.998f, 76.662f);
  4068. path.cubicTo(720.998f, 76.113f, 720.581f, 76.043f, 720.219f, 76.043f);
  4069. path.cubicTo(719.847f, 76.043f, 719.469f, 76.003f, 718.438f, 75.788f);
  4070. path.cubicTo(716.936f, 75.428f, 715.369f, 75.26f, 713.514f, 75.26f);
  4071. path.cubicTo(706.771f, 75.26f, 702.415f, 79.048f, 702.415f, 84.91f);
  4072. path.cubicTo(702.415f, 88.438f, 703.589f, 91.748f, 709.319f, 96.434f);
  4073. path.lineTo(711.676f, 98.365f);
  4074. path.cubicTo(716.332f, 102.196f, 717.607f, 104.172f, 717.607f, 107.564f);
  4075. path.cubicTo(717.607f, 110.888f, 715.121f, 114.253f, 710.371f, 114.253f);
  4076. path.cubicTo(708.428f, 114.253f, 703.808f, 113.754f, 702.868f, 109.132f);
  4077. path.cubicTo(702.716f, 108.424f, 702.716f, 107.718f, 702.716f, 107.25f);
  4078. path.cubicTo(702.716f, 106.94f, 702.716f, 106.422f, 702.094f, 106.422f);
  4079. path.cubicTo(701.519f, 106.422f, 701.455f, 107.116f, 701.421f, 107.488f);
  4080. path.cubicTo(701.421f, 107.495f, 701.375f, 108.117f, 701.375f, 108.117f);
  4081. path.cubicTo(701.293f, 109.171f, 701.158f, 110.933f, 701.158f, 113.044f);
  4082. path.cubicTo(701.16f, 114.432f, 701.197f, 114.813f, 702.086f, 115.256f);
  4083. path.close();
  4084. path.moveTo(501.274f, 129.973f);
  4085. path.lineTo(498.058f, 136.963f);
  4086. path.lineTo(498.62f, 136.963f);
  4087. path.lineTo(499.723f, 134.561f);
  4088. path.lineTo(503.124f, 134.561f);
  4089. path.lineTo(504.227f, 136.963f);
  4090. path.lineTo(504.788f, 136.963f);
  4091. path.lineTo(501.571f, 129.973f);
  4092. path.lineTo(501.274f, 129.973f);
  4093. path.close();
  4094. path.moveTo(499.926f, 134.114f);
  4095. path.lineTo(501.417f, 130.848f);
  4096. path.lineTo(502.918f, 134.114f);
  4097. path.lineTo(499.926f, 134.114f);
  4098. path.close();
  4099. path.moveTo(510.117f, 130.023f);
  4100. path.lineTo(507.677f, 130.023f);
  4101. path.lineTo(507.677f, 136.963f);
  4102. path.lineTo(510.209f, 136.963f);
  4103. path.cubicTo(512.966f, 136.963f, 513.916f, 135.101f, 513.916f, 133.493f);
  4104. path.cubicTo(513.916f, 131.967f, 513.078f, 130.023f, 510.117f, 130.023f);
  4105. path.close();
  4106. path.moveTo(510.178f, 136.515f);
  4107. path.lineTo(508.217f, 136.515f);
  4108. path.lineTo(508.217f, 130.471f);
  4109. path.lineTo(510.147f, 130.471f);
  4110. path.cubicTo(512.036f, 130.471f, 513.333f, 131.712f, 513.333f, 133.493f);
  4111. path.cubicTo(513.333f, 135.447f, 511.853f, 136.515f, 510.178f, 136.515f);
  4112. path.close();
  4113. path.moveTo(519.105f, 135.894f);
  4114. path.lineTo(516.634f, 130.023f);
  4115. path.lineTo(516.093f, 130.023f);
  4116. path.lineTo(519.024f, 137.034f);
  4117. path.lineTo(519.177f, 137.034f);
  4118. path.lineTo(522.098f, 130.023f);
  4119. path.lineTo(521.557f, 130.023f);
  4120. path.lineTo(519.105f, 135.894f);
  4121. path.close();
  4122. path.moveTo(526.817f, 129.973f);
  4123. path.lineTo(523.601f, 136.963f);
  4124. path.lineTo(524.162f, 136.963f);
  4125. path.lineTo(525.265f, 134.561f);
  4126. path.lineTo(528.665f, 134.561f);
  4127. path.lineTo(529.768f, 136.963f);
  4128. path.lineTo(530.33f, 136.963f);
  4129. path.lineTo(527.113f, 129.973f);
  4130. path.lineTo(526.817f, 129.973f);
  4131. path.close();
  4132. path.moveTo(525.469f, 134.114f);
  4133. path.lineTo(526.96f, 130.848f);
  4134. path.lineTo(528.461f, 134.114f);
  4135. path.lineTo(525.469f, 134.114f);
  4136. path.close();
  4137. path.moveTo(538.947f, 136.088f);
  4138. path.lineTo(533.668f, 130.024f);
  4139. path.lineTo(533.208f, 130.024f);
  4140. path.lineTo(533.208f, 136.964f);
  4141. path.lineTo(533.749f, 136.964f);
  4142. path.lineTo(533.749f, 130.899f);
  4143. path.lineTo(539.038f, 136.964f);
  4144. path.lineTo(539.487f, 136.964f);
  4145. path.lineTo(539.487f, 130.024f);
  4146. path.lineTo(538.946f, 130.024f);
  4147. path.lineTo(538.946f, 136.088f);
  4148. path.lineTo(538.947f, 136.088f);
  4149. path.close();
  4150. path.moveTo(543.41f, 133.503f);
  4151. path.cubicTo(543.41f, 131.743f, 544.717f, 130.43f, 546.453f, 130.43f);
  4152. path.cubicTo(547.28f, 130.43f, 548.067f, 130.644f, 548.934f, 131.102f);
  4153. path.lineTo(548.934f, 130.512f);
  4154. path.cubicTo(548.087f, 130.125f, 547.26f, 129.932f, 546.483f, 129.932f);
  4155. path.cubicTo(544.574f, 129.932f, 542.828f, 131.377f, 542.828f, 133.503f);
  4156. path.cubicTo(542.828f, 135.538f, 544.411f, 137.054f, 546.534f, 137.054f);
  4157. path.cubicTo(547.341f, 137.054f, 548.198f, 136.83f, 549.005f, 136.402f);
  4158. path.lineTo(549.005f, 135.843f);
  4159. path.cubicTo(548.055f, 136.341f, 547.31f, 136.555f, 546.523f, 136.555f);
  4160. path.cubicTo(544.707f, 136.556f, 543.41f, 135.294f, 543.41f, 133.503f);
  4161. path.close();
  4162. path.moveTo(552.079f, 136.963f);
  4163. path.lineTo(552.62f, 136.963f);
  4164. path.lineTo(552.62f, 130.023f);
  4165. path.lineTo(552.079f, 130.023f);
  4166. path.lineTo(552.079f, 136.963f);
  4167. path.close();
  4168. path.moveTo(561.984f, 136.088f);
  4169. path.lineTo(556.705f, 130.024f);
  4170. path.lineTo(556.245f, 130.024f);
  4171. path.lineTo(556.245f, 136.964f);
  4172. path.lineTo(556.786f, 136.964f);
  4173. path.lineTo(556.786f, 130.899f);
  4174. path.lineTo(562.075f, 136.964f);
  4175. path.lineTo(562.524f, 136.964f);
  4176. path.lineTo(562.524f, 130.024f);
  4177. path.lineTo(561.983f, 130.024f);
  4178. path.lineTo(561.983f, 136.088f);
  4179. path.lineTo(561.984f, 136.088f);
  4180. path.close();
  4181. path.moveTo(570.122f, 134.257f);
  4182. path.lineTo(571.592f, 134.257f);
  4183. path.lineTo(571.592f, 136.129f);
  4184. path.cubicTo(571.041f, 136.403f, 570.489f, 136.556f, 569.683f, 136.556f);
  4185. path.cubicTo(567.488f, 136.556f, 566.456f, 135.05f, 566.456f, 133.493f);
  4186. path.cubicTo(566.456f, 131.733f, 567.763f, 130.43f, 569.529f, 130.43f);
  4187. path.cubicTo(570.366f, 130.43f, 571.153f, 130.654f, 572, 131.132f);
  4188. path.lineTo(572, 130.522f);
  4189. path.cubicTo(571.02f, 130.084f, 570.397f, 129.932f, 569.61f, 129.932f);
  4190. path.cubicTo(567.455f, 129.932f, 565.873f, 131.438f, 565.873f, 133.473f);
  4191. path.cubicTo(565.873f, 135.529f, 567.496f, 137.055f, 569.661f, 137.055f);
  4192. path.cubicTo(570.468f, 137.055f, 571.305f, 136.862f, 572.132f, 136.465f);
  4193. path.lineTo(572.132f, 133.809f);
  4194. path.lineTo(570.121f, 133.809f);
  4195. path.lineTo(570.121f, 134.257f);
  4196. path.lineTo(570.122f, 134.257f);
  4197. path.close();
  4198. path.moveTo(580.681f, 131.753f);
  4199. path.cubicTo(580.681f, 131.001f, 581.314f, 130.43f, 582.151f, 130.43f);
  4200. path.cubicTo(582.631f, 130.43f, 582.998f, 130.552f, 583.713f, 130.959f);
  4201. path.lineTo(583.713f, 130.37f);
  4202. path.cubicTo(583.172f, 130.075f, 582.641f, 129.933f, 582.099f, 129.933f);
  4203. path.cubicTo(580.996f, 129.933f, 580.098f, 130.747f, 580.098f, 131.775f);
  4204. path.cubicTo(580.098f, 134.065f, 583.417f, 133.2f, 583.417f, 135.173f);
  4205. path.cubicTo(583.417f, 135.956f, 582.774f, 136.557f, 581.947f, 136.557f);
  4206. path.cubicTo(581.406f, 136.557f, 580.966f, 136.374f, 580.191f, 135.814f);
  4207. path.lineTo(580.191f, 136.445f);
  4208. path.cubicTo(580.804f, 136.852f, 581.406f, 137.055f, 581.978f, 137.055f);
  4209. path.cubicTo(583.111f, 137.055f, 584, 136.221f, 584, 135.152f);
  4210. path.cubicTo(584, 132.72f, 580.681f, 133.605f, 580.681f, 131.753f);
  4211. path.close();
  4212. path.moveTo(587.543f, 133.503f);
  4213. path.cubicTo(587.543f, 131.743f, 588.85f, 130.43f, 590.586f, 130.43f);
  4214. path.cubicTo(591.413f, 130.43f, 592.199f, 130.644f, 593.067f, 131.102f);
  4215. path.lineTo(593.067f, 130.512f);
  4216. path.cubicTo(592.22f, 130.125f, 591.393f, 129.932f, 590.616f, 129.932f);
  4217. path.cubicTo(588.707f, 129.932f, 586.96f, 131.377f, 586.96f, 133.503f);
  4218. path.cubicTo(586.96f, 135.538f, 588.543f, 137.054f, 590.667f, 137.054f);
  4219. path.cubicTo(591.473f, 137.054f, 592.331f, 136.83f, 593.138f, 136.402f);
  4220. path.lineTo(593.138f, 135.843f);
  4221. path.cubicTo(592.188f, 136.341f, 591.443f, 136.555f, 590.657f, 136.555f);
  4222. path.cubicTo(588.84f, 136.556f, 587.543f, 135.294f, 587.543f, 133.503f);
  4223. path.close();
  4224. path.moveTo(596.212f, 136.963f);
  4225. path.lineTo(596.753f, 136.963f);
  4226. path.lineTo(596.753f, 130.023f);
  4227. path.lineTo(596.212f, 130.023f);
  4228. path.lineTo(596.212f, 136.963f);
  4229. path.close();
  4230. path.moveTo(600.94f, 133.697f);
  4231. path.lineTo(604.116f, 133.697f);
  4232. path.lineTo(604.116f, 133.25f);
  4233. path.lineTo(600.94f, 133.25f);
  4234. path.lineTo(600.94f, 130.472f);
  4235. path.lineTo(604.198f, 130.472f);
  4236. path.lineTo(604.198f, 130.024f);
  4237. path.lineTo(600.399f, 130.024f);
  4238. path.lineTo(600.399f, 136.964f);
  4239. path.lineTo(604.279f, 136.964f);
  4240. path.lineTo(604.279f, 136.516f);
  4241. path.lineTo(600.94f, 136.516f);
  4242. path.lineTo(600.94f, 133.697f);
  4243. path.close();
  4244. path.moveTo(613.163f, 136.088f);
  4245. path.lineTo(607.884f, 130.024f);
  4246. path.lineTo(607.424f, 130.024f);
  4247. path.lineTo(607.424f, 136.964f);
  4248. path.lineTo(607.965f, 136.964f);
  4249. path.lineTo(607.965f, 130.899f);
  4250. path.lineTo(613.254f, 136.964f);
  4251. path.lineTo(613.703f, 136.964f);
  4252. path.lineTo(613.703f, 130.024f);
  4253. path.lineTo(613.162f, 130.024f);
  4254. path.lineTo(613.162f, 136.088f);
  4255. path.lineTo(613.163f, 136.088f);
  4256. path.close();
  4257. path.moveTo(617.625f, 133.503f);
  4258. path.cubicTo(617.625f, 131.743f, 618.932f, 130.43f, 620.668f, 130.43f);
  4259. path.cubicTo(621.495f, 130.43f, 622.281f, 130.644f, 623.149f, 131.102f);
  4260. path.lineTo(623.149f, 130.512f);
  4261. path.cubicTo(622.301f, 130.125f, 621.474f, 129.932f, 620.698f, 129.932f);
  4262. path.cubicTo(618.789f, 129.932f, 617.042f, 131.377f, 617.042f, 133.503f);
  4263. path.cubicTo(617.042f, 135.538f, 618.625f, 137.054f, 620.749f, 137.054f);
  4264. path.cubicTo(621.556f, 137.054f, 622.413f, 136.83f, 623.22f, 136.402f);
  4265. path.lineTo(623.22f, 135.843f);
  4266. path.cubicTo(622.27f, 136.341f, 621.525f, 136.555f, 620.739f, 136.555f);
  4267. path.cubicTo(618.922f, 136.556f, 617.625f, 135.294f, 617.625f, 133.503f);
  4268. path.close();
  4269. path.moveTo(626.856f, 133.697f);
  4270. path.lineTo(630.032f, 133.697f);
  4271. path.lineTo(630.032f, 133.25f);
  4272. path.lineTo(626.856f, 133.25f);
  4273. path.lineTo(626.856f, 130.472f);
  4274. path.lineTo(630.114f, 130.472f);
  4275. path.lineTo(630.114f, 130.024f);
  4276. path.lineTo(626.316f, 130.024f);
  4277. path.lineTo(626.316f, 136.964f);
  4278. path.lineTo(630.196f, 136.964f);
  4279. path.lineTo(630.196f, 136.516f);
  4280. path.lineTo(626.857f, 136.516f);
  4281. path.lineTo(626.857f, 133.697f);
  4282. path.lineTo(626.856f, 133.697f);
  4283. path.close();
  4284. path.moveTo(633.115f, 136.963f);
  4285. path.lineTo(633.33f, 136.963f);
  4286. path.cubicTo(633.33f, 137.309f, 633.299f, 137.523f, 633.115f, 137.797f);
  4287. path.lineTo(633.115f, 138.154f);
  4288. path.cubicTo(633.565f, 137.828f, 633.779f, 137.269f, 633.779f, 136.75f);
  4289. path.lineTo(633.779f, 135.976f);
  4290. path.lineTo(633.115f, 135.976f);
  4291. path.lineTo(633.115f, 136.963f);
  4292. path.close();
  4293. path.moveTo(641.511f, 131.753f);
  4294. path.cubicTo(641.511f, 131.001f, 642.144f, 130.43f, 642.981f, 130.43f);
  4295. path.cubicTo(643.461f, 130.43f, 643.828f, 130.552f, 644.544f, 130.959f);
  4296. path.lineTo(644.544f, 130.37f);
  4297. path.cubicTo(644.003f, 130.075f, 643.472f, 129.933f, 642.931f, 129.933f);
  4298. path.cubicTo(641.828f, 129.933f, 640.929f, 130.747f, 640.929f, 131.775f);
  4299. path.cubicTo(640.929f, 134.065f, 644.247f, 133.2f, 644.247f, 135.173f);
  4300. path.cubicTo(644.247f, 135.956f, 643.604f, 136.557f, 642.777f, 136.557f);
  4301. path.cubicTo(642.236f, 136.557f, 641.797f, 136.374f, 641.02f, 135.814f);
  4302. path.lineTo(641.02f, 136.445f);
  4303. path.cubicTo(641.633f, 136.852f, 642.235f, 137.055f, 642.807f, 137.055f);
  4304. path.cubicTo(643.941f, 137.055f, 644.829f, 136.221f, 644.829f, 135.152f);
  4305. path.cubicTo(644.829f, 132.72f, 641.511f, 133.605f, 641.511f, 131.753f);
  4306. path.close();
  4307. path.moveTo(648.649f, 133.697f);
  4308. path.lineTo(651.824f, 133.697f);
  4309. path.lineTo(651.824f, 133.25f);
  4310. path.lineTo(648.649f, 133.25f);
  4311. path.lineTo(648.649f, 130.472f);
  4312. path.lineTo(651.906f, 130.472f);
  4313. path.lineTo(651.906f, 130.024f);
  4314. path.lineTo(648.107f, 130.024f);
  4315. path.lineTo(648.107f, 136.964f);
  4316. path.lineTo(651.988f, 136.964f);
  4317. path.lineTo(651.988f, 136.516f);
  4318. path.lineTo(648.649f, 136.516f);
  4319. path.lineTo(648.649f, 133.697f);
  4320. path.close();
  4321. path.moveTo(657.91f, 133.503f);
  4322. path.cubicTo(658.799f, 133.177f, 659.237f, 132.618f, 659.237f, 131.814f);
  4323. path.cubicTo(659.237f, 130.888f, 658.635f, 130.023f, 656.929f, 130.023f);
  4324. path.lineTo(655.142f, 130.023f);
  4325. path.lineTo(655.142f, 136.963f);
  4326. path.lineTo(655.683f, 136.963f);
  4327. path.lineTo(655.683f, 133.635f);
  4328. path.lineTo(656.623f, 133.635f);
  4329. path.cubicTo(657.46f, 133.635f, 657.726f, 133.747f, 658.563f, 135.06f);
  4330. path.lineTo(659.778f, 136.963f);
  4331. path.lineTo(660.411f, 136.963f);
  4332. path.lineTo(658.838f, 134.561f);
  4333. path.cubicTo(658.513f, 134.073f, 658.237f, 133.676f, 657.91f, 133.503f);
  4334. path.close();
  4335. path.moveTo(656.838f, 133.188f);
  4336. path.lineTo(655.684f, 133.188f);
  4337. path.lineTo(655.684f, 130.472f);
  4338. path.lineTo(656.817f, 130.472f);
  4339. path.cubicTo(658.094f, 130.472f, 658.655f, 131.041f, 658.655f, 131.825f);
  4340. path.cubicTo(658.655f, 132.659f, 658.063f, 133.188f, 656.838f, 133.188f);
  4341. path.close();
  4342. path.moveTo(664.968f, 135.894f);
  4343. path.lineTo(662.497f, 130.023f);
  4344. path.lineTo(661.956f, 130.023f);
  4345. path.lineTo(664.887f, 137.034f);
  4346. path.lineTo(665.04f, 137.034f);
  4347. path.lineTo(667.961f, 130.023f);
  4348. path.lineTo(667.42f, 130.023f);
  4349. path.lineTo(664.968f, 135.894f);
  4350. path.close();
  4351. path.moveTo(670.829f, 136.963f);
  4352. path.lineTo(671.37f, 136.963f);
  4353. path.lineTo(671.37f, 130.023f);
  4354. path.lineTo(670.829f, 130.023f);
  4355. path.lineTo(670.829f, 136.963f);
  4356. path.close();
  4357. path.moveTo(680.734f, 136.088f);
  4358. path.lineTo(675.455f, 130.024f);
  4359. path.lineTo(674.995f, 130.024f);
  4360. path.lineTo(674.995f, 136.964f);
  4361. path.lineTo(675.536f, 136.964f);
  4362. path.lineTo(675.536f, 130.899f);
  4363. path.lineTo(680.826f, 136.964f);
  4364. path.lineTo(681.275f, 136.964f);
  4365. path.lineTo(681.275f, 130.024f);
  4366. path.lineTo(680.733f, 130.024f);
  4367. path.lineTo(680.733f, 136.088f);
  4368. path.lineTo(680.734f, 136.088f);
  4369. path.close();
  4370. path.moveTo(688.873f, 134.257f);
  4371. path.lineTo(690.343f, 134.257f);
  4372. path.lineTo(690.343f, 136.129f);
  4373. path.cubicTo(689.791f, 136.403f, 689.24f, 136.556f, 688.433f, 136.556f);
  4374. path.cubicTo(686.238f, 136.556f, 685.206f, 135.05f, 685.206f, 133.493f);
  4375. path.cubicTo(685.206f, 131.733f, 686.514f, 130.43f, 688.28f, 130.43f);
  4376. path.cubicTo(689.117f, 130.43f, 689.903f, 130.654f, 690.751f, 131.132f);
  4377. path.lineTo(690.751f, 130.522f);
  4378. path.cubicTo(689.771f, 130.084f, 689.148f, 129.932f, 688.362f, 129.932f);
  4379. path.cubicTo(686.207f, 129.932f, 684.624f, 131.438f, 684.624f, 133.473f);
  4380. path.cubicTo(684.624f, 135.529f, 686.247f, 137.055f, 688.413f, 137.055f);
  4381. path.cubicTo(689.219f, 137.055f, 690.057f, 136.862f, 690.884f, 136.465f);
  4382. path.lineTo(690.884f, 133.809f);
  4383. path.lineTo(688.873f, 133.809f);
  4384. path.lineTo(688.873f, 134.257f);
  4385. path.close();
  4386. path.moveTo(699.432f, 131.753f);
  4387. path.cubicTo(699.432f, 131.001f, 700.065f, 130.43f, 700.902f, 130.43f);
  4388. path.cubicTo(701.381f, 130.43f, 701.749f, 130.552f, 702.464f, 130.959f);
  4389. path.lineTo(702.464f, 130.37f);
  4390. path.cubicTo(701.923f, 130.075f, 701.391f, 129.933f, 700.85f, 129.933f);
  4391. path.cubicTo(699.747f, 129.933f, 698.849f, 130.747f, 698.849f, 131.775f);
  4392. path.cubicTo(698.849f, 134.065f, 702.168f, 133.2f, 702.168f, 135.173f);
  4393. path.cubicTo(702.168f, 135.956f, 701.525f, 136.557f, 700.698f, 136.557f);
  4394. path.cubicTo(700.156f, 136.557f, 699.718f, 136.374f, 698.941f, 135.814f);
  4395. path.lineTo(698.941f, 136.445f);
  4396. path.cubicTo(699.553f, 136.852f, 700.156f, 137.055f, 700.728f, 137.055f);
  4397. path.cubicTo(701.862f, 137.055f, 702.75f, 136.221f, 702.75f, 135.152f);
  4398. path.cubicTo(702.75f, 132.72f, 699.432f, 133.605f, 699.432f, 131.753f);
  4399. path.close();
  4400. path.moveTo(709.407f, 129.932f);
  4401. path.cubicTo(707.345f, 129.932f, 705.731f, 131.499f, 705.731f, 133.493f);
  4402. path.cubicTo(705.731f, 135.488f, 707.345f, 137.054f, 709.407f, 137.054f);
  4403. path.cubicTo(711.48f, 137.054f, 713.104f, 135.487f, 713.104f, 133.493f);
  4404. path.cubicTo(713.104f, 131.499f, 711.481f, 129.932f, 709.407f, 129.932f);
  4405. path.close();
  4406. path.moveTo(709.428f, 136.556f);
  4407. path.cubicTo(707.683f, 136.556f, 706.314f, 135.223f, 706.314f, 133.493f);
  4408. path.cubicTo(706.314f, 131.763f, 707.682f, 130.43f, 709.428f, 130.43f);
  4409. path.cubicTo(711.175f, 130.43f, 712.523f, 131.763f, 712.523f, 133.493f);
  4410. path.cubicTo(712.522f, 135.223f, 711.175f, 136.556f, 709.428f, 136.556f);
  4411. path.close();
  4412. path.moveTo(716.739f, 133.503f);
  4413. path.cubicTo(716.739f, 131.743f, 718.046f, 130.43f, 719.782f, 130.43f);
  4414. path.cubicTo(720.609f, 130.43f, 721.395f, 130.644f, 722.264f, 131.102f);
  4415. path.lineTo(722.264f, 130.512f);
  4416. path.cubicTo(721.416f, 130.125f, 720.589f, 129.932f, 719.813f, 129.932f);
  4417. path.cubicTo(717.903f, 129.932f, 716.157f, 131.377f, 716.157f, 133.503f);
  4418. path.cubicTo(716.157f, 135.538f, 717.74f, 137.054f, 719.863f, 137.054f);
  4419. path.cubicTo(720.67f, 137.054f, 721.528f, 136.83f, 722.335f, 136.402f);
  4420. path.lineTo(722.335f, 135.843f);
  4421. path.cubicTo(721.385f, 136.341f, 720.64f, 136.555f, 719.854f, 136.555f);
  4422. path.cubicTo(718.037f, 136.556f, 716.739f, 135.294f, 716.739f, 133.503f);
  4423. path.close();
  4424. path.moveTo(725.409f, 136.963f);
  4425. path.lineTo(725.95f, 136.963f);
  4426. path.lineTo(725.95f, 130.023f);
  4427. path.lineTo(725.409f, 130.023f);
  4428. path.lineTo(725.409f, 136.963f);
  4429. path.close();
  4430. path.moveTo(730.136f, 133.697f);
  4431. path.lineTo(733.312f, 133.697f);
  4432. path.lineTo(733.312f, 133.25f);
  4433. path.lineTo(730.136f, 133.25f);
  4434. path.lineTo(730.136f, 130.472f);
  4435. path.lineTo(733.393f, 130.472f);
  4436. path.lineTo(733.393f, 130.024f);
  4437. path.lineTo(729.595f, 130.024f);
  4438. path.lineTo(729.595f, 136.964f);
  4439. path.lineTo(733.475f, 136.964f);
  4440. path.lineTo(733.475f, 136.516f);
  4441. path.lineTo(730.136f, 136.516f);
  4442. path.lineTo(730.136f, 133.697f);
  4443. path.close();
  4444. path.moveTo(735.865f, 130.472f);
  4445. path.lineTo(738.479f, 130.472f);
  4446. path.lineTo(738.479f, 136.964f);
  4447. path.lineTo(739.02f, 136.964f);
  4448. path.lineTo(739.02f, 130.472f);
  4449. path.lineTo(741.634f, 130.472f);
  4450. path.lineTo(741.634f, 130.024f);
  4451. path.lineTo(735.865f, 130.024f);
  4452. path.lineTo(735.865f, 130.472f);
  4453. path.close();
  4454. path.moveTo(749.017f, 130.023f);
  4455. path.lineTo(746.699f, 132.771f);
  4456. path.lineTo(744.371f, 130.023f);
  4457. path.lineTo(743.717f, 130.023f);
  4458. path.lineTo(746.423f, 133.239f);
  4459. path.lineTo(746.423f, 136.963f);
  4460. path.lineTo(746.964f, 136.963f);
  4461. path.lineTo(746.964f, 133.239f);
  4462. path.lineTo(749.67f, 130.023f);
  4463. path.lineTo(749.017f, 130.023f);
  4464. path.close();
  4465. path.moveTo(578.773f, 115.549f);
  4466. path.lineTo(578.773f, 62.773f);
  4467. path.lineTo(557.571f, 62.773f);
  4468. path.cubicTo(562.752f, 67.658f, 575.797f, 106.652f, 578.773f, 115.549f);
  4469. path.close();
  4470. path.moveTo(544.754f, 62.861f);
  4471. path.lineTo(524.496f, 62.861f);
  4472. path.lineTo(524.496f, 115.55f);
  4473. path.lineTo(524.934f, 115.55f);
  4474. path.lineTo(544.544f, 64.169f);
  4475. path.lineTo(528.157f, 115.549f);
  4476. path.lineTo(528.682f, 115.549f);
  4477. path.lineTo(546.557f, 67.658f);
  4478. path.lineTo(531.675f, 115.548f);
  4479. path.lineTo(532.376f, 115.548f);
  4480. path.lineTo(548.57f, 71.846f);
  4481. path.lineTo(535.293f, 115.507f);
  4482. path.lineTo(535.906f, 115.507f);
  4483. path.lineTo(544.281f, 97.58f);
  4484. path.lineTo(542.267f, 97.58f);
  4485. path.lineTo(550.409f, 76.033f);
  4486. path.lineTo(544.281f, 97.578f);
  4487. path.lineTo(546.119f, 97.578f);
  4488. path.lineTo(538.678f, 115.551f);
  4489. path.lineTo(565.029f, 115.551f);
  4490. path.cubicTo(562.052f, 106.477f, 550.759f, 67.92f, 544.754f, 62.861f);
  4491. path.close();
  4492. SkPath path2(path);
  4493. testPathOp(reporter, path1, path2, kIntersect_SkPathOp, filename);
  4494. }
  4495. static void (*skipTest)(skiatest::Reporter* , const char* filename) = nullptr;
  4496. static void (*firstTest)(skiatest::Reporter* , const char* filename) = nullptr;
  4497. static void (*stopTest)(skiatest::Reporter* , const char* filename) = nullptr;
  4498. static struct TestDesc tests[] = {
  4499. TEST(skpwww_gorcraft_ru_1),
  4500. TEST(http___www_project2061_org),
  4501. TEST(http___www_emuleteca_cl_27),
  4502. TEST(http___www_emuleteca_cl_26),
  4503. TEST(http___www_emuleteca_cl_28),
  4504. TEST(skpwww_nimble_com_au_1),
  4505. TEST(skpwww_mybuilder_com_1),
  4506. TEST(skpwww_neda_net_2),
  4507. TEST(skpwww_woothemes_com_1),
  4508. TEST(skpwww_neda_net_1),
  4509. TEST(skpwww_tinytots_com_1),
  4510. TEST(skpwww_educationalcraft_com_4a),
  4511. TEST(skpwww_lptemp_com_3),
  4512. TEST(skpwww_shinydemos_com_5),
  4513. TEST(skpwww_lptemp_com_5),
  4514. TEST(skpwww_shinydemos_com_15),
  4515. TEST(skpwww_familysurvivalprotocol_wordpress_com_61),
  4516. TEST(skpwww_alamdi_com_3),
  4517. TEST(skpwww_devbridge_com_22),
  4518. TEST(skpwww_firstunitedbank_com_19),
  4519. TEST(skpwww_googleventures_com_32),
  4520. TEST(skpwww_9to5mac_com_64),
  4521. TEST(skpwww_wartepop_blogspot_com_br_6),
  4522. TEST(skpwww_wartepop_blogspot_com_br_6a),
  4523. TEST(skpwww_cooksnaps_com_32a),
  4524. TEST(skpwww_argus_presse_fr_41),
  4525. TEST(skpwww_cooksnaps_com_17),
  4526. TEST(skpwww_cooksnaps_com_32),
  4527. TEST(skpwww_kitcheninspirations_wordpress_com_66),
  4528. TEST(skpwww_tcmevents_org_13),
  4529. TEST(skpwww_narayana_publishers_com_194),
  4530. TEST(skpwww_swapspacesystems_com_5),
  4531. TEST(skpwww_vantageproduction_com_109),
  4532. TEST(skpwww_americascup_com_108),
  4533. TEST(skpwww_narayana_verlag_de_194),
  4534. TEST(skpwww_etiqadd_com_2464),
  4535. TEST(skpwww_paseoitaigara_com_br_56),
  4536. TEST(skpwww_mortgagemarketguide_com_109),
  4537. TEST(skpwww_aceinfographics_com_106),
  4538. TEST(skpwww_educationalcraft_com_4),
  4539. TEST(skpwww_kitcheninspirations_wordpress_com_32),
  4540. TEST(skpwww_artblart_com_8),
  4541. TEST(skpwww_docgelo_com_66),
  4542. TEST(skpwww_uniquefx_net_442),
  4543. TEST(skpwww_defense_studies_blogspot_com_64),
  4544. TEST(skpwww_kenlevine_blogspot_com_28),
  4545. TEST(skpwww_fashionscandal_com_94),
  4546. TEST(skpwww_thaienews_blogspot_com_36),
  4547. TEST(skpwww_galaxystwo_com_4),
  4548. TEST(skpwww_catingueiraonline_com_352),
  4549. TEST(skpwww_evolvehq_com_210),
  4550. TEST(skpwww_odia_com_br_26),
  4551. TEST(skpwww_lokado_de_173),
  4552. TEST(skpwww_seopack_blogspot_com_2153),
  4553. TEST(skpwww_partsdata_de_53),
  4554. TEST(skpwww_simplysaru_com_40),
  4555. TEST(skpwww_jessicaslens_wordpress_com_222),
  4556. TEST(skpwww_kpopexplorer_net_22),
  4557. TEST(skpwww_tunero_de_24),
  4558. TEST(skpwww_karnivool_com_au_11),
  4559. TEST(skpwww_pindosiya_com_99),
  4560. TEST(skpwww_contextualnewsfeeds_com_346),
  4561. TEST(skpwww_helha_be_109),
  4562. TEST(skpwww_phototransferapp_com_24),
  4563. TEST(skpwww_phototransferapp_com_24x),
  4564. TEST(skpwww_gruposejaumdivulgador_com_br_4),
  4565. TEST(skpwww_hubbyscook_com_22),
  4566. TEST(skpwww_maturesupertube_com_21),
  4567. TEST(skpwww_getgold_jp_731),
  4568. TEST(skpwww_trashness_com_36),
  4569. TEST(skpwww_exystence_net_61),
  4570. TEST(skpwww_320kbps_net_2231),
  4571. TEST(skpwww_heartiste_wordpress_com_86),
  4572. TEST(skpwww_hairjobsearch_com_31),
  4573. TEST(skpwww_alucinados_net_101),
  4574. TEST(skpnamecheap_com_405),
  4575. TEST(skpelpais_com_18),
  4576. TEST(skpwww_cityads_ru_249),
  4577. TEST(skpwww_alrakoba_net_62),
  4578. TEST(skpwww_dealnews_com_315),
  4579. TEST(skpwww_inmotionhosting_com_9),
  4580. TEST(skpskpicture14),
  4581. TEST(skpskpicture15),
  4582. TEST(skpwww_meb_gov_tr_6),
  4583. TEST(skpwww_sciality_com_101),
  4584. TEST(skpwww_booking_com_68),
  4585. TEST(skpwww_despegar_com_mx_272),
  4586. TEST(skpwww_lavoixdunord_fr_11),
  4587. TEST(skppptv_com_62),
  4588. TEST(skppchappy_com_au102),
  4589. TEST(skpsciality_com161),
  4590. TEST(skpi_gino_com16),
  4591. TEST(skpnaoxrane_ru23),
  4592. TEST(skptcmevents_org23),
  4593. TEST(skpredbullskatearcade_es16),
  4594. TEST(skpfinanzasdigital_com9),
  4595. TEST(skpgithub_io_26),
  4596. TEST(skpgithub_io_25),
  4597. TEST(skpwww_meb_gov_tr_5),
  4598. TEST(skpwww_sciality_com_100),
  4599. TEST(skpwww_joomla_org_23),
  4600. TEST(skpwww_macrumors_com_131),
  4601. TEST(skpwww_briian_com_34),
  4602. TEST(skpwww_leadpages_net_84),
  4603. TEST(skpwww_fj_p_com_22),
  4604. TEST(skppartainasdemo250_org56),
  4605. TEST(skpsd_graphic_net104),
  4606. TEST(skpbreakmystyle_com10),
  4607. TEST(skpnational_com_au81),
  4608. TEST(skprentacheat_com30),
  4609. TEST(skptracksflow_com9),
  4610. TEST(skpautobutler_dk29),
  4611. TEST(skponlinecollege_org144),
  4612. TEST(skphostloco_com11),
  4613. TEST(skpsergeychunkevich_com8),
  4614. TEST(skpmlk_com326),
  4615. TEST(skpcyclist_friends_gr52),
  4616. TEST(skpfrauen_magazin_com83),
  4617. TEST(skpthesuburbanite_com213),
  4618. TEST(skpsudoestenegocios_com186),
  4619. TEST(skpmtrk_uz27),
  4620. TEST(skpilkoora_com37),
  4621. TEST(skpmm4everfriends_com43),
  4622. TEST(skpflite_com41),
  4623. TEST(skpcheeseandburger_com225),
  4624. TEST(skpeverytechpro_blogspot_com100),
  4625. };
  4626. static const size_t testCount = SK_ARRAY_COUNT(tests);
  4627. static bool runReverse = false;
  4628. DEF_TEST(PathOpsSkp, reporter) {
  4629. #if DEBUG_SHOW_TEST_NAME
  4630. strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
  4631. #endif
  4632. RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runReverse);
  4633. }