Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
ContactSave Unit Tests: Cleanup and formatting to Given/When/Then
[xestiaab/.git] / source / tests / xestiaab_contactsave.h
index 74a9206..c2de21f 100644 (file)
 
 #include "../contacteditor/cdo/ContactDataObject.h"
 
-TEST(ContactSave, ContactSaveTests){
-       
-       ContactDataObject TestFile1;
-       ContactDataObject TestFile2;
-       ContactDataObject TestFile3;
-       
+TEST(ContactSave, GivenAContactDataObjectWhenSaveStringIsCalledThenContactDataSavesToAString)
+{
+
        wxString SaveData;
        wxString SaveDataCompare = "BEGIN:VCARD\n"
        "VERSION:4.0\n"
        "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
+       "REV:20160703T091000Z\n"
        "FN:Test vCard\n"
        "TITLE:Knight of the Tests\n"
        "TITLE:The Tester of Cornwall\n"
        "END:VCARD";
+
+       // Given
+
+       ContactDataObject testFile;
        
-       ASSERT_EQ(CONTACTLOAD_OK, TestFile1.LoadFile("LoadCheck-Load1.vcf"));
+       ContactLoadStatus testFileLoadStatus = CONTACTLOAD_UNITTESTFAIL;
+       testFileLoadStatus = testFile1.LoadFile("LoadCheck-Load1.vcf");
        
-       ASSERT_EQ(CONTACTSAVE_OK, TestFile1.SaveString(&SaveData));
+       ASSERT_EQ(CONTACTLOAD_OK, testFileLoadStatus);
+
+       // When
        
-       ASSERT_EQ(SaveDataCompare, SaveData);
+       ContactSaveStatus testFileSaveStatus = CONTACTSAVE_UNITTESTFAIL;
+       testFileSaveStatus = testFile.SaveString(&SaveData);
        
-       ASSERT_EQ(CONTACTLOAD_OK, TestFile2.LoadFile("LoadCheck-Load2.vcf"));
+       // Then
        
-       SaveData.clear();
-       SaveDataCompare = "BEGIN:VCARD\n"
-       "VERSION:4.0\n"
-       "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
-       "FN:Test vCard\n"
-       "TITLE:The Third Title\n"
-       "TITLE:Knight of the Tests\n"
-       "TITLE:The Tester of Cornwall\n"
-       "END:VCARD";
-       
-       ASSERT_EQ(CONTACTSAVE_OK, TestFile2.SaveString(&SaveData));
+       ASSERT_EQ(CONTACTSAVE_OK, testFileSaveStatus);
        ASSERT_EQ(SaveDataCompare, SaveData);
 
-       SaveData.clear();
-       SaveDataCompare = "BEGIN:VCARD\n"
+}
+
+TEST(ContactSave, GivenContactDataObjectWithLotsOfInformationWhenSaveStringIsCalledThenContactStringMatches)
+{
+
+       ContactDataObject testFile;
+       
+       wxString saveData;
+       wxString saveDataCompare;
+       
+       saveDataCompare = "BEGIN:VCARD\n"
        "VERSION:4.0\n"
        "PRODID:-//Xestia//Address Book Unit Testing//KW\n"
        "UID:903588-9082374-989120310-AAFECDBCDF\n"
        "KIND:individual\n"
+       "REV;TEST=YES;DATA=NO;MORE=MAYBE:20160703T091000Z\n"
        "XML:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.com/\">Ex\n"
        " ample Page 1</a>\n"
        "XML;ALTID=3:<a xmlns=\"http://www.w3.org/1999/xhtml\"\\n   href=\"http://example.\n"
@@ -79,24 +85,702 @@ TEST(ContactSave, ContactSaveTests){
        "CLIENTPIDMAP;MEEP=MOO;WOOP=WOO:3;urn;uuid:bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbb\n"
        " bb\n"
        "FN;TYPE=work;LANGUAGE=kw;ALTID=500;PID=40;PREF=45;EXAMPLE=Baaa:Test Contact\n"
+       "N;ALTID=3;LANGUAGE=kw;SORT-AS=\"Contact,Test\";TEST=Yes:Contact;Test;Example;Ro\n"
+       " bot;LOONY\n"
        "NICKNAME;ALTID=35;LANGUAGE=kw;PID=50;PREF=40;YAY=Nope;Beep=Boop:Tester\n"
        "NICKNAME;TYPE=home;ALTID=17;LANGUAGE=en;PID=39;PREF=78;YAY=Yep;Beep=Boop:Test\n"
        " y\n"
        "NICKNAME;TYPE=work;ALTID=99;LANGUAGE=en-GB;PID=10;PREF=1;YAY=Maybe;Boop=Boing\n"
        " :The Testing One\n"
+       "GENDER;BEEP=Boop:F;Example Text\n"
+       "BDAY;ALTID=35;CALSCALE=georgian;HAPPY=Days:20040101\n"
+       "ANNIVERSARY;ALTID=70;CALSCALE=georgian;WONDERFUL=Day:20200516\n"
        "TITLE;ALTID=20;LANGUAGE=text/plain;PID=21;PREF=22;EEP=LIGHT:Lord of Light\n"
        "TITLE;TYPE=home;ALTID=30;LANGUAGE=grass/dry;PID=31;PREF=32;EEP=DARK:Lord of D\n"
        " arkness\n"
        "TITLE;TYPE=work;ALTID=40;LANGUAGE=moths/eew;PID=41;PREF=42;EEP=BOTH:Master of\n"
        "  the Light & Darkness\n"
+       "TZ;ALTID=35;MEDIATYPE=text/plain;PID=60;PREF=20;WHATS=This;A=Potato:Europe/Tr\n"
+       " uro\n"
+       "TZ;TYPE=home;ALTID=15;MEDIATYPE=text/plain;PID=20;PREF=40;MAYBE=not:Europe/Pe\n"
+       " nzance\n"
+       "TZ;TYPE=work;ALTID=45;MEDIATYPE=text/plain;PID=70;PREF=80;MAYBE=yes:Europe/St\n"
+       "  Austell\n"
+       "ADR;ALTID=15;GEO=\"geo:1.0, 1.0\";LABEL=\"1 Lovely Lane\\nRodney\\nCornwall\\nPL99 \n"
+       " 1AA\\nCornwall\\nUnited Kingdom\";LANGUAGE=kw;MEDIATYPE=text/plain;PID=81;PREF=\n"
+       " 98;TZ=Europe/Truro;MAKES=Moo;ANIMAL=Cow:;;1 Lovely Lane;Rodney;Cornwall;PL99\n"
+       "  1AA;United Kingdom\n"
+       "ADR;TYPE=home;ALTID=40;GEO=\"geo:4.0, 4.0\";LABEL=\"3 Working Plaice\\nRoger\\nCor\n"
+       " nwall\\nPL75 4ZZ\\nCornwall\\nUnited Kingdom\";LANGUAGE=en;MEDIATYPE=text/plain;\n"
+       " PID=13;PREF=10;TZ=Europe/St Ives;TOAST=Butter:;;3 Working Plaice;Roger;Cornw\n"
+       " all;PL75 4ZZ;United Kingdom\n"
+       "ADR;TYPE=work;ALTID=45;GEO=\"geo:7.0, 7.0\";LABEL=\"7 Flyby Drive\\nElaine\\nCornw\n"
+       " all\\nPL84 9YE\\nCornwall\\nUnited Kingdom\";LANGUAGE=en-GB;MEDIATYPE=text/plain\n"
+       " ;PID=28;PREF=10;TZ=Europe/Newquay;JAM=Red:;;7 Flyby Drive;Elaine;Cornwall;PL\n"
+       " 84 9YE;United Kingdom\n"
+       "EMAIL;ALTID=10;PID=20;PREF=40;WONDERFUL=Colour:moo@example.com\n"
+       "EMAIL;TYPE=home;ALTID=5;PID=10;PREF=20;PEACE=quiet:moo.home@example.com\n"
+       "EMAIL;TYPE=work;ALTID=1;PID=2;PREF=3;BUSINESS=Money:moo.business@example.com\n"
+       "IMPP;ALTID=10;MEDIATYPE=text/plain;PID=20;PREF=40;WONDERFUL=Colour:skype:moo@\n"
+       " example.com\n"
+       "IMPP;TYPE=home;ALTID=20;MEDIATYPE=text/reallyplain;PID=40;PREF=80;PEACE=quiet\n"
+       " :msn:moo.home@example.com\n"
+       "IMPP;TYPE=work;ALTID=98;MEDIATYPE=text/superplain;PID=99;PREF=50;BUSINESS=Mon\n"
+       " ey:xmpp:moo.business@example.com\n"
+       "TEL;TYPE=\"fax,cell\";ALTID=10;PID=20;PREF=40;WONDERFUL=Colour:tel:00000000\n"
+       "TEL;TYPE=\"home,fax\";ALTID=10;PID=20;PREF=40;BUSINESS=Money:tel:00001111\n"
+       "TEL;TYPE=\"work,voice\";ALTID=25;PID=50;PREF=75;BEEP=Boop:tel:22221111\n"
+       "LANG;ALTID=20;PID=40;PREF=80;GELFORN=Great:kw\n"
+       "LANG;TYPE=home;ALTID=22;PID=45;PREF=90;LANGUAGE=yes:en\n"
+       "LANG;TYPE=work;ALTID=10;PID=15;PREF=20;FFENSTRI=ie:cy\n"
+       "GEO;ALTID=13;MEDIATYPE=text/plain;PID=26;PREF=39;POS=Yep:geo:3.5,3.5\n"
+       "GEO;TYPE=home;ALTID=140;MEDIATYPE=text/ratherplain;PID=70;PREF=1;POS=Nope:geo\n"
+       " :7.0,7.0\n"
+       "GEO;TYPE=work;ALTID=75;MEDIATYPE=text/greenplain;PID=32;PREF=4;POS=Money:geo:\n"
+       " 14.0,14.0\n"
+       "RELATED;TYPE=kin;ALTID=5;PID=10;PREF=20;OPTION=Yes:Friend Test\n"
+       "RELATED;TYPE=spouse;ALTID=1;PID=2;PREF=3;OPTION=No:Friend Test Two\n"
+       "RELATED;TYPE=muse;ALTID=4;PID=5;PREF=6;OPTION=Maybe:Friend Test Three\n"
+       "URL;ALTID=0;MEDIATYPE=text/plain;PID=1;PREF=2;MEEP=Moo:http://example.com/\n"
+       "URL;TYPE=home;ALTID=10;MEDIATYPE=grass/soggy;PID=11;PREF=12;BON=Bon:http://ex\n"
+       " ample.com/home/\n"
+       "URL;TYPE=work;ALTID=20;MEDIATYPE=chocolate/yummy;PID=21;PREF=22;YES=No:http:/\n"
+       " /example.com/business/\n"
+       "ROLE;ALTID=50;LANGUAGE=en;PID=51;PREF=52;ASTERISK=None:Ordinary Person\n"
+       "ROLE;TYPE=home;ALTID=60;LANGUAGE=en-GB;PID=61;PREF=62;SOMEWHERE=There:Ordinar\n"
+       " y Lazy Person\n"
+       "ROLE;TYPE=work;ALTID=70;LANGUAGE=en-AU;PID=71;PREF=72;HERE=Nope:Company Owner\n"
+       "ORG;ALTID=50;LANGUAGE=en;PID=51;PREF=52;SORT-AS=\"Organisation, Ordinary\";ASTE\n"
+       " RISK=None:Ordinary Organisation\n"
+       "ORG;TYPE=home;ALTID=60;LANGUAGE=en-GB;PID=61;PREF=62;SORT-AS=\"Person, Ordinar\n"
+       " y Lazy\";SOMEWHERE=There:Ordinary Lazy Person\n"
+       "ORG;TYPE=work;ALTID=70;LANGUAGE=en-AU;PID=71;PREF=72;SORT-AS=\"Owner, Company\"\n"
+       " ;HERE=Nope:Company Owner\n"
+       "NOTE;ALTID=90;LANGUAGE=en;PID=91;PREF=92;WOO=WOOP:Note\\n\\nLine 3\\nLine 4\\nLin\n"
+       " e 5\n"
+       "NOTE;TYPE=home;ALTID=80;LANGUAGE=kw;PID=81;PREF=82;MOO=MEEP:Note\\n\\n\\n\\nLine \n"
+       " 5\\nLine 6\\nLine 7\n"
+       "NOTE;TYPE=work;ALTID=70;LANGUAGE=fr;PID=71;PREF=72;BOING=BOOP:Note\\n\\n\\n\\nLin\n"
+       " e 8\\nLine 9\\nLine 10\n"
+       "CATEGORIES;ALTID=40;LANGUAGE=en;PID=41;PREF=42;CAT=TAC:Category One\n"
+       "CATEGORIES;TYPE=home;ALTID=44;LANGUAGE=kw;PID=46;PREF=48;TAC=CAT:Category Two\n"
+       "CATEGORIES;TYPE=home;ALTID=44;LANGUAGE=kw;PID=46;PREF=48;TAC=CAT:Category Thr\n"
+       " ee\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Fou\n"
+       " r\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Fiv\n"
+       " e\n"
+       "CATEGORIES;TYPE=work;ALTID=84;LANGUAGE=kw;PID=86;PREF=88;AAA=BBB:Category Six\n"
+       "PHOTO;ALTID=70;MEDIATYPE=image/png;PID=71;PREF=72;MEEP=MOO:data:image/png;bas\n"
+       " e64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAJUlEQVQoz2NkwAb+//8PYTAy\n"
+       " MmLKMjGQDuilhxHudBrbM8zCDQCxHQkPeaUvawAAAABJRU5ErkJggg==\n"
+       "PHOTO;TYPE=home;ALTID=20;MEDIATYPE=image/png;PID=21;PREF=22;BEEP=BOOP:data:im\n"
+       " age/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAHklEQVQoz2NkY\n"
+       " PjPgAr+owkwMqIpYGIgHYzqGdx6AAKNAxMN5P6+AAAAAElFTkSuQmCC\n"
+       "PHOTO;TYPE=work;ALTID=90;MEDIATYPE=image/png;PID=91;PREF=92;PHOTO=YUP:data:im\n"
+       " age/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAIElEQVQoz2MUm\n"
+       " 53EgApepsxF4XfaoylgYiAdjOoZ3HoAeuQD2WdxRzcAAAAASUVORK5CYII=\n"
+       "LOGO;ALTID=70;MEDIATYPE=image/png;PID=71;PREF=72;MEEP=MOO:data:image/png;base\n"
+       " 64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAJUlEQVQoz2NkwAb+//8PYTAyM\n"
+       " mLKMjGQDuilhxHudBrbM8zCDQCxHQkPeaUvawAAAABJRU5ErkJggg==\n"
+       "LOGO;TYPE=home;ALTID=20;MEDIATYPE=image/png;PID=21;PREF=22;BEEP=BOOP:data:ima\n"
+       " ge/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAHklEQVQoz2NkYP\n"
+       " jPgAr+owkwMqIpYGIgHYzqGdx6AAKNAxMN5P6+AAAAAElFTkSuQmCC\n"
+       "LOGO;TYPE=work;ALTID=90;MEDIATYPE=image/png;PID=91;PREF=92;LOGO=YUP:data:imag\n"
+       " e/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAKCAIAAADdHiL1AAAAIElEQVQoz2MUm53\n"
+       " EgApepsxF4XfaoylgYiAdjOoZ3HoAeuQD2WdxRzcAAAAASUVORK5CYII=\n"
+       "SOUND;ALTID=4;LANGUAGE=kw;MEDIATYPE=application/ogg;PID=1;PREF=2;MEEP=MOO:dat\n"
+       " a:application/ogg;base64,T2dnUwACAAAAAAAAAAAqlr5kAAAAAPjSH5UBHgF2b3JiaXMAAAA\n"
+       " AAUSsAAAAAAAAgLsAAAAAAAC4AU9nZ1MAAAAAAAAAAAAAKpa+ZAEAAAAJVIuhDzz////////////\n"
+       " /////MgN2b3JiaXMsAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxNTAxMDUgKOKbhOKbhOKbhOK\n"
+       " bhCkAAAAAAQV2b3JiaXMfQkNWAQAAAQAYY1QpRplS0kqJGXOUMUaZYpJKiaWEFkJInXMUU6k515x\n"
+       " rrLm1IIQQGlNQKQWZUo5SaRljkCkFmVIQS0kldBI6J51jEFtJwdaYa4tBthyEDZpSTCnElFKKQgg\n"
+       " ZU4wpxZRSSkIHJXQOOuYcU45KKEG4nHOrtZaWY4updJJK5yRkTEJIKYWSSgelU05CSDWW1lIpHXN\n"
+       " SUmpB6CCEEEK2IIQNgtCQVQAAAQDAQBAasgoAUAAAEIqhGIoChIasAgAyAAAEoCiO4iiOIzmSY0k\n"
+       " WEBqyCgAAAgAQAADAcBRJkRTJsSRL0ixL00RRVX3VNlVV9nVd13Vd13UgNGQVAAABAEBIp5mlGiD\n"
+       " CDGQYCA1ZBQAgAAAARijCEANCQ1YBAAABAABiKDmIJrTmfHOOg2Y5aCrF5nRwItXmSW4q5uacc84\n"
+       " 5J5tzxjjnnHOKcmYxaCa05pxzEoNmKWgmtOacc57E5kFrqrTmnHPGOaeDcUYY55xzmrTmQWo21ua\n"
+       " ccxa0pjlqLsXmnHMi5eZJbS7V5pxzzjnnnHPOOeecc6oXp3NwTjjnnHOi9uZabkIX55xzPhmne3N\n"
+       " COOecc84555xzzjnnnHOC0JBVAAAQAABBGDaGcacgSJ+jgRhFiGnIpAfdo8MkaAxyCqlHo6ORUuo\n"
+       " glFTGSSmdIDRkFQAACAAAIYQUUkghhRRSSCGFFFKIIYYYYsgpp5yCCiqppKKKMsoss8wyyyyzzDL\n"
+       " rsLPOOuwwxBBDDK20EktNtdVYY62555xrDtJaaa211koppZRSSikIDVkFAIAAABAIGWSQQUYhhRR\n"
+       " SiCGmnHLKKaigAkJDVgEAgAAAAgAAADzJc0RHdERHdERHdERHdETHczxHlERJlERJtEzL1ExPFVX\n"
+       " VlV1b1mXd9m1hF3bd93Xf93Xj14VhWZZlWZZlWZZlWZZlWZZlWYLQkFUAAAgAAIAQQgghhRRSSCG\n"
+       " lGGPMMeegk1BCIDRkFQAACAAgAAAAwFEcxXEkR3IkyZIsSZM0S7M8zdM8TfREURRN01RFV3RF3bR\n"
+       " F2ZRN13RN2XRVWbVdWbZt2dZtX5Zt3/d93/d93/d93/d93/d1HQgNWQUASAAA6EiOpEiKpEiO4zi\n"
+       " SJAGhIasAABkAAAEAKIqjOI7jSJIkSZakSZ7lWaJmaqZneqqoAqEhqwAAQAAAAQAAAAAAKJriKab\n"
+       " iKaLiOaIjSqJlWqKmaq4om7Lruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rui4QGrI\n"
+       " KAJAAANCRHMmRHEmRFEmRHMkBQkNWAQAyAAACAHAMx5AUybEsS9M8zdM8TfRET/RMTxVd0QVCQ1Y\n"
+       " BAIAAAAIAAAAAADAkw1IsR3M0SZRUS7VUTbVUSxVVT1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV\n"
+       " VVVVVVVVVVTVN0zRNIDRkJQAABADAYo3B5SAhJSXl3hDCEJOeMSYhtV4hBJGS3jEGFYOeMqIMct5\n"
+       " C4xCDHggNWREARAEAAMYgxxBzyDlHqZMSOeeodJQa5xyljlJnKcWYYs0oldhSrI1zjlJHraOUYiw\n"
+       " tdpRSjanGAgAAAhwAAAIshEJDVgQAUQAAhDFIKaQUYow5p5xDjCnnmHOGMeYcc44556B0UirnnHR\n"
+       " OSsQYc445p5xzUjonlXNOSiehAACAAAcAgAALodCQFQFAnACAQZI8T/I0UZQ0TxRFU3RdUTRd1/I\n"
+       " 81fRMU1U90VRVU1Vt2VRVWZY8zzQ901RVzzRV1VRVWTZVVZZFVdVt03V123RV3ZZt2/ddWxZ2UVV\n"
+       " t3VRd2zdV1/Zd2fZ9WdZ1Y/I8VfVM03U903Rl1XVtW3VdXfdMU5ZN15Vl03Vt25VlXXdl2fc103R\n"
+       " d01Vl2XRd2XZlV7ddWfZ903WF35VlX1dlWRh2XfeFW9eV5XRd3VdlVzdWWfZ9W9eF4dZ1YZk8T1U\n"
+       " 903RdzzRdV3VdX1dd19Y105Rl03Vt2VRdWXZl2fddV9Z1zzRl2XRd2zZdV5ZdWfZ9V5Z13XRdX1d\n"
+       " lWfhVV/Z1WdeV4dZt4Tdd1/dVWfaFV5Z14dZ1Ybl1XRg+VfV9U3aF4XRl39eF31luXTiW0XV9YZV\n"
+       " t4VhlWTl+4ViW3feVZXRdX1ht2RhWWRaGX/id5fZ943h1XRlu3efMuu8Mx++k+8rT1W1jmX3dWWZ\n"
+       " fd47hGDq/8OOpqq+brisMpywLv+3rxrP7vrKMruv7qiwLvyrbwrHrvvP8vrAso+z6wmrLwrDatjH\n"
+       " cvm4sv3Acy2vryjHrvlG2dXxfeArD83R1XXlmXcf2dXTjRzh+ygAAgAEHAIAAE8pAoSErAoA4AQC\n"
+       " PJImiZFmiKFmWKIqm6LqiaLqupGmmqWmeaVqaZ5qmaaqyKZquLGmaaVqeZpqap5mmaJqua5qmrIq\n"
+       " mKcumasqyaZqy7LqybbuubNuiacqyaZqybJqmLLuyq9uu7Oq6pFmmqXmeaWqeZ5qmasqyaZquq3m\n"
+       " eanqeaKqeKKqqaqqqraqqLFueZ5qa6KmmJ4qqaqqmrZqqKsumqtqyaaq2bKqqbbuq7Pqybeu6aaq\n"
+       " ybaqmLZuqatuu7OqyLNu6L2maaWqeZ5qa55mmaZqybJqqK1uep5qeKKqq5ommaqqqLJumqsqW55m\n"
+       " qJ4qq6omea5qqKsumatqqaZq2bKqqLZumKsuubfu+68qybqqqbJuqauumasqybMu+78qq7oqmKcu\n"
+       " mqtqyaaqyLduy78uyrPuiacqyaaqybaqqLsuybRuzbPu6aJqybaqmLZuqKtuyLfu6LNu678qub6u\n"
+       " qrOuyLfu67vqucOu6MLyybPuqrPq6K9u6b+sy2/Z9RNOUZVM1bdtUVVl2Zdn2Zdv2fdE0bVtVVVs\n"
+       " 2TdW2ZVn2fVm2bWE0Tdk2VVXWTdW0bVmWbWG2ZeF2Zdm3ZVv2ddeVdV/XfePXZd3murLty7Kt+6q\n"
+       " r+rbu+8Jw667wCgAAGHAAAAgwoQwUGrISAIgCAACMYYwxCI1SzjkHoVHKOecgZM5BCCGVzDkIIZS\n"
+       " SOQehlJQy5yCUklIIoZSUWgshlJRSawUAABQ4AAAE2KApsThAoSErAYBUAACD41iW55miatqyY0m\n"
+       " eJ4qqqaq27UiW54miaaqqbVueJ4qmqaqu6+ua54miaaqq6+q6aJqmqaqu67q6Lpqiqaqq67qyrpu\n"
+       " mqqquK7uy7Oumqqqq68quLPvCqrquK8uybevCsKqu68qybNu2b9y6ruu+7/vCka3rui78wjEMRwE\n"
+       " A4AkOAEAFNqyOcFI0FlhoyEoAIAMAgDAGIYMQQgYhhJBSSiGllBIAADDgAAAQYEIZKDRkRQAQJwA\n"
+       " AGEMppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkgppZRSSimllFJKKaWUUkoppZRSSimllFJ\n"
+       " KKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSim\n"
+       " llFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZR\n"
+       " SSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUko\n"
+       " ppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaW\n"
+       " UUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUko\n"
+       " ppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSCgCQinAAkHo\n"
+       " woQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5CCGk1FJtmXNSWos\n"
+       " x5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx15xzzjnnGHPOOee\n"
+       " cc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUYc845CCFUjDnnHHQ\n"
+       " QQqgYc8w5CCGEkDnnHIQQQgghcw466CCEEEIHHYQQQgihlM5BCCGEEEooIYQQQgghhBA6CCGEEEI\n"
+       " IIYQQQgghhFJKCCGEEEIJoZRQAABggQMAQIANqyOcFI0FFhqyEgAAAgCAHJagUs6EQY5Bjw1BylE\n"
+       " zDUJMOdGZYk5qMxVTkDkQnXQSGWpB2V4yCwAAgCAAIMAEEBggKPhCCIgxAABBiMwQCYVVsMCgDBo\n"
+       " c5gHAA0SERACQmKBIu7iALgNc0MVdB0IIQhCCWBxAAQk4OOGGJ97whBucoFNU6iAAAAAAAAwA4AE\n"
+       " A4KAAIiKaq7C4wMjQ2ODo8AgAAAAAABYA+AAAOD6AiIjmKiwuMDI0Njg6PAIAAAAAAAAAAICAgAA\n"
+       " AAAAAQAAAAICAT2dnUwAAQIkAAAAAAAAqlr5kAgAAADGopCE+GQ8UFhsYGRoeHXZwbHNsbG55a3B\n"
+       " 1fkMUFxcWGx4ecmxve3ceFRcWGB0dHoBpbm1+NhUWFxcaIB+Ba3JycGW81iqhc4a/n6tYKBfmOuo\n"
+       " 7N48b78moJ1YDvNgqywGA4ZHICiuTyTUPvNbFQUfDoqJW0btvwYzEZooqaha80Jmklw4w3XDamuI\n"
+       " vQ58LOu+miGsDzFBd30/9hiXHZIs6HR7jiUgfWZnsKD36qnIBvFDe92q2IMJaedqhvCrWh2UDnU3\n"
+       " XBoYmxE6ea9XXCdg0/63YnIlB/vwjD6Uk0XtiALxOzsGq84CkmPuVPfn+El4SCzFVvz561OEB5Ex\n"
+       " YcpefTYAk+74vRV1xAYUX/yF6se8lcFQ+nxAAXFfpfvM/S5CC3T8pae02TUyXLTbmmJ6PO7JYlQC\n"
+       " aSz+CXeo6IYCQCJwUAIChlRNWgPlnGgCpotaB4y0/HGaAAVwoMNsfEIw7pevlyPCNFCrD328vi1X\n"
+       " qO5vc1NsQ0snJJXa6wqlU3+VGmrhnjSWoc9faZKcBQ8ElKXQYHNdM49dyILyeZEUdmcMuQcGsbw0\n"
+       " P/t4C3lvfqru0vkwPUhKcTwoAAovRNawA7gsAHA6IpX9KAKDR7DfPNJRzc+9EGLyRYVRP6yzCwJR\n"
+       " 7znDUpKNmFo3ddjcmCbWXfwK0NnyoJeyzOt84zB6iTzijQE5MCaZrbTrcOBr6baYeY1Fg9f4N3xg\n"
+       " yAR5c3/KnrLlcB0oicFIAEKQc5rACONwGAAGAF2tMAEAJrILw4Kq8Enu0VaouaOcJDGRuX5jr/0J\n"
+       " 2ySBNfQM+kzXTdbczLHEJJo/LjXkijZUaJlKn+6cCOOfqKPWCHNhD2QnOXT8MWFe+r4ZuBR5cvyi\n"
+       " HzL5MBS0JTicFAGAKysxhAZyPBUCMGVyJD4UAyaaJHxA3P1Fh7jkVF5N5Jn7h7yMH2dh7vF+HS0U\n"
+       " 94SMEhdmaHD0DvaffNP+GvCpG7m024RlftN7HvDtm2ETJgyvTjNwRpUZe4Rhwi1izX6ZuwgT+W98\n"
+       " qh7Q+TQQlCQ4nBQCBCYdZAdyXAAAALL8aAYAUCMmNCmpGnk/LeU32fuXiBvx4R94IIkSct+J6dnC\n"
+       " xiGQWyT3XdIxnk8u0N1AqQ8QZNeJ+B8KPq3+FE+0gD29yk0W+Oa59lMBk9uEEnAHeWz/VU8o8JoO\n"
+       " WGpwUAASp5UaKCuBqCgAAYO75IADQKHbS5fHKXK/4iD9BxfPokqqBtKbA+Cw60+3oUSiL5krrs5f\n"
+       " K6KGmCKuYjRkJ4VU6uFqw2rFF/LpjTjr8daBNtlHR//eNkkDT6+lo9AT+Wz+VrYy+TAdSAjhDwgW\n"
+       " AQEo7YQVwPgQAxKiE/8QAgAIKlhYe9kcgMfNarZOrqVMlz7/woYJl9uYu7BmuS+b5N2baFJPtjvw\n"
+       " B9yFLBB4RfErhBoUbFQmRUAQaEFVaO91z6hEypJ9EAVMfWP0RJv5b3yqHtL5MBSMZTpBwASBILVd\n"
+       " OFEA/AIAYI7gvg0YANABbFGORCrsTz7m95SfuLc53u/DHrnLM4ZMsab6VrHoeX8QC2Tpfa1jf2O3\n"
+       " ZwQkFjB73GCVPRLsiOBlsw0LsKzHB7MyOjMTlmsEbgZSftHw417v8zgzrWiweXN/yp4x5TAdGquC\n"
+       " kACBIDXNYAdwXAYBDicXzRgCgPLtQmlAevZ4QPmcD6RbRlcfOVgSYbHgRSWXNWlE/wv3lfKT5byX\n"
+       " ZxD3Mt8X0rH2j4dLKyRFCzAd3FXanZW8GmK9lYt4koZGO6ExgBv5b31qH9LUMUMAJEi4ABKYyMrM\n"
+       " A1hQAgMacbCgwALgPoOODgWVgiJgbKkP7VI74L2naeaYOVX7gVcg8qS5P/gIlk8r0ScnTj7Di2WK\n"
+       " oYYkKVum4tK/COhxEYuQWWmvcllk0GTqb8HzUMvF6fXQe4gAe+z7sXdrsITc2GX/gGKDzt6cBgiY\n"
+       " JRh0c5OE5jwxwDfCn4VfsJLlAen0SY/PID4HHrNfDqwfpFIi/2NOpOY+if1xyUQSty4LcyfOAd8Y\n"
+       " eMWMXa7kTRYnn6Zpwq3WNdBqTXcmK5mahzKyqK5nfJ5SEoQkiWABeyP1No4RiNA4LhuEC55xzjj1\n"
+       " nKZYCUUWA+2U/bVvtOPNr4/wcr45fDtM0oWrYbuo6HABY1lnWH4+14ueMdfjqJgsAwOO7MwcyGhq\n"
+       " AZR1sXj0ans2qOQzbTRAJdyi8vgGAvYDzKjwpADAK7uRcxeTOwC8fUBsDt4BkbjEA5w2WyP33LF9\n"
+       " KADeAGFWFgALuUdpiZtaOPYl2lLaYCDM1ic3M+hQmcZhqfKVx1ldyynt2EOAFFgASFFgAFJDAYqI\n"
+       " A0AEKtNSB50UQ+uZqdf5nX+gByffpZAG0TuPxOaNhfx9zXItaP/UsOYzzQ7apAbxOw/Z5oQFJ9t1\n"
+       " 5Wo/VXMxJmFgiDDoCvE7NwpnRgBS/2NstvH+9N+CXka34LaxMGUIrFsBKTuoxML6926z/Tuo5OjX\n"
+       " MDVoaD2RT7Md3f2ECWF/4S2Jva2MmNjTfnideiv40tVNeB4Rh96NZ3/+fBEl3u6Kiob24e3QojZR\n"
+       " BR6jmd1gSD7pLP+1T2jymgZQE55MCAJgkNcwAa7UF4OzcPn7y6k+LMkCSLBcCb+Ea6O32oM7pbrW\n"
+       " TiSn1I3NV2Rp3WpaQnnSsPDoUVMlGXTJoWqJunQaTtObRRIPBQ0ATiz2ZI0NENRYwwoh23c5pbjp\n"
+       " NTocZAijuPd5bP9VT6jymgpYCp5MCgEASTlgB3IcAQDglHg0vAEDSWAIFA+ePwZH8nWGodEvSR0g\n"
+       " CnfxfW8og7rnwMdaekE1c9PHwj+SBdCRuSxKUmLOMkYwcCjNGQZwcwnWlw0AT4YiftyjbMLvWJ6/\n"
+       " gBB5c3/KHzHlMBC0RnE4KAAKLymgUwGCmAMABbvCaCQCIVJRkMgvBxKT91lAdiZ+6RJVGFikUcb3\n"
+       " xMDFWmOuLSirETIV4WnM+HW3qFwpHc1YS0waKDEupCzcMEfJuS5tdpq6moU8tzXiuL6j3pZnCPR7\n"
+       " 7PuxF6lrhA1MBjgH6Ny6mwVoszFEdEtC/eGYHlNYBML3iwqq76Ccc8PSMwuhVLjaLTxzzeUdwLOX\n"
+       " 9FkyQAFm7qtjoLLv5xvKi9HJk682tn9sMvHtPE46YLi5HkTlCGNWTlQdOhFrrug9J9XDnocPlHzW\n"
+       " 16TCXnIjHA37I3cf6v1pB/OeW9LGkbPUBDSNP2NO5B0ACE1kV8D3zz3GTj/yT1pu2/RNAiLwtWnp\n"
+       " 0Ma8prJ03AFIeb20dYJ0zqAVQb/ga6RoqRWC5SKHX13cprKl6AKe7TYHjrYM7+UEBflA27wT0rdY\n"
+       " gwKDO6f2gAKpb5TYAlsj97yxfugIOAAAAqlAAgQ50wAIgABp4UABMTAAkpE5R+TpIIOgt1dc91Kq\n"
+       " /Snsp6j0NtEzL3EcAK6ZK1cs39gx3uFJRwtdfmAC0Tr2xrRkYxriuN/rchFMJV1w9QkkLvE4h/3m\n"
+       " VCRBK/VhzeGV9wBq6VlqsX0UAtE5tzI5NEIWMrWn1pxC+yqz4K0Td3tW2JzUllwA8UUT69WcFwKp\n"
+       " mc6HtxQvibqZjJnADdJWn06aDCYThpXv2XWXWAPPm/5uWysfl++u3M34QC0pOpykELLpLX62ttLW\n"
+       " bBUdJC6eTAoBIkUZmFtkT5wOAm/js/83G+un/7FuWSpIECH6aidQ5ppKzvmxzospWClcfsMkU2Rr\n"
+       " GjMJ3LJxWc8zUS8T5ZXO44lBHtJiG7BuWFcEbTJQyGqzs8/doP+WVR5/UPnCK4r6Ekbg0iFHhdBR\n"
+       " 6iV4H1/0Bvls/1FNKP+4CJX1wUgAAMzjMCmBNAyBpO4hPdpoCBJPORBxuY2pTK5BS8EJ297njrCt\n"
+       " v7bLB2NZAcgI5H4lSSuyziXKRwUR9eL6dxlLFGPmOBGXoyitGfcm1ro8o1L0SG38CEosyDBML/ls\n"
+       " /lVPa3F0HSgqAhAsAgUWZGVEB3GMAEB2IvVcNACgAlpT3cD18bLg4G3c63OGosklPIF6xauov56U\n"
+       " 09SAg14rhvawmTGe/GUob+AiD8eHyHlUo3LyJmb2bnJD2eJqUBmlifQx8Q09glk7zuAQe+97VVer\n"
+       " qoccm4w8cA/T+ryJhkTCy6lQq5Kl/GQMwCgCPOyhVE7BXkUu2ggnKmjtq9R2tQFlUdEKxbApc7LH\n"
+       " vJN5uD4C0NxrPk0YZYw4qPzi1zit0tx5RFq1dF4x6TDaLiZwFpI6s9SukCd4DPsi9y/rDhGKD1HA\n"
+       " B9jydxsiyJGEVClx9PbmbCl/2y1cvFm/uBgwZZu2VNT1erxd7a5r7H2ZQxFu2wwFSXlf0ecJQTxo\n"
+       " w8MZ6Mc9tXoDWNYW3t5MCrK3rogTYvQm5NSccD7vhTd68tWIWu9UVDRcJDZ5zFfygAPCB052rqGE\n"
+       " Tlsj97yhfugBuAECZVVWgAOD/799KADCZNWvWrADu7zge4NEA4MEDCSagDgD+jlcCgEUHgCcApFD\n"
+       " /nwjSm/41y/Fi3p5DaZrJ+XE+rNA6mmj0xrJ/v+TffKJ1tOeP6LYhAKxOveJ5jK5/v+k9C9+N08t\n"
+       " uaaG3qlYCtE5b7jnTXJxPQ+VIWJrb/jpQm5wNkwWsTv/Bwjocv42s7EpCg1/cnQG72u8ZxVHbADx\n"
+       " PRMd7e3cBkuM8ypvKPJX0xN1RVL03e4wyP+tqjh8MhF/3bb/9xBrEsB1fly716Jq5uMES5j/Dszp\n"
+       " rMhiMB5pLX+2t1LWbBVtKIQUSLgBEUYQrswL0cxbgJvbt29c49Wf674EkSWIdAFxSnfGsY1ZL1mW\n"
+       " hOB1cxRlutnUnWmIy2XKv5rajkLadLZt+2fyc7GIhtra7sS71y9JWM6vYQ3XzSKxAJslZw5Vj725\n"
+       " VsLAQe+fCl68Iw6GIAnUA70FnAd5bP5VTaj+mAy0ZDicFAEgoJ8wCGB4EgCSJQAtnChA8UxlkuCU\n"
+       " x0l6+RUJRepdPAIg9DkvGKElJaz60LpVMDBMnAttIDmw9eyFXwDqRgYGbQZOcCW1cMGLOxFGS752\n"
+       " dpoOtCDVgnuUUszMbHlzfKqfMuRuggRMkXAAILBecRAbwOQ4AAHifZQAegKAKQdopOPNHOBXnkzu\n"
+       " DGKNDq4h1Worjki3j/bSpYNuncohhJCpLhFoqPji4HlIqmQTZG1D8u+gpfvoA2Y7UOLWlQ/4cBew\n"
+       " oiltdLvQdhaUE5fkOHlzf8lsZc5kMUjKcTgoAkKImyApgPhUAHE4gQteYADS7MPywjvohrzTnO1U\n"
+       " T4rR88QoWQJyfNNifZ9PBvORDWst74tx+mOcIYTwEZx1uNWqb/sREKVpcyZ5ZgZNMXNdYHJtBiJe\n"
+       " ULYXBIY2101b2tqAAHly/KLvMfkwGAzgpAAikMJ2gAnheBkAEcEdLJQBAKHYpYoX31DLV38un+1Q\n"
+       " tzfiBlVc82YJiOqnbmMnJ9yEOp7nHFpIVmw7F8XIIh7DYZvLsMjXSiBTodCFFY47NyJ4aNc35JKh\n"
+       " g3ksaU6yeAPvRAd5bP61T+jwOaMBJAQBMOIwKYNgKAADcyf+mAI1p4jaAavtSDPSSdKrZ0Zpyg+Y\n"
+       " 5yDfuf82d0oSRmRBM3pWjyT2SHsVwPq2TIAdjnEGlHnavJ1EigorPc3IUlTIzG/qD1ZnHwFoAT2d\n"
+       " nUwAE6p8AAAAAAAAqlr5kAwAAACfk1LQGdG9rcXd63ls/1YvUeVQGIQHckHABIHBJRWYZwOcIADE\n"
+       " C8a3aADwAAb7vfXumuHq9mQgADR/QSfdfJNZrUfI3Pb0hL8eNrL8xrsiWnpuWPFcFa5uKgWqRXZa\n"
+       " ozgfGHHG60z7tfEq6Z3JtlQ5TZMYwm4Bg3/ARPnBo/wD+Wz/VU+rcTQAlBU4nBQCQInNYAUQbAEQ\n"
+       " UeDTXBCDtV2r4ouR01DFhmdi+mRS2SRJSe3Pdw3FLOzPMsHYSCryO2os/vVg2SowOI7R+qNCro1Y\n"
+       " nJsmgPBhED7nepyttHnc5LPo1SsMeXK2534VbxyweXL+oh8x5XAUJgIQLAEHqYGYVwHkDIILAvbI\n"
+       " IABJANM2O3dTlvfXDe/Jb1+OdTOkGNnpyxNBPXkj1jXNP+cjcu8BLsNruMWML+wDDKGOdZZStM6q\n"
+       " EunbNGqlfL+81Rq9kkkxqskDh4BXgGt5b36qH1D5NBi19OJ0UAAThwZwogGwLAKHOkUNKmgMAOQv\n"
+       " LdcZNeLpmqoOeb090wN29xLb3dG2qxd14u98Z3V9htiRLOiVPjhFz9SxB39lH1JlrqBunvAga3O+\n"
+       " gzrG2Lns0ffw17e2HeY+CgXlCb7wO3ure7VXyWmHBADgGeL13TwIkyEITZHUQdd1DQQcY3ARsSDm\n"
+       " SssCrWeoX25VF2ecFx7q2obnJFYphX7MpVxx4a113p5aJayYi2M9+z2P4hfJZ7sjeWPLkrgfOiqu\n"
+       " tocQWews1h8cC7UbR5EcVqdZ04JjeIWrQ6AB+yP1J7Zsns/2pgUI+LsB6mEydtEiYWQVcSziOHhL\n"
+       " /sa+//nrh7Pz5KpgmpFCzBf7yBGINzZMCz5v33LC5yULV09Hr9rpCSq8fgadW7ODN463XbRYbSNa\n"
+       " gn5oxALC2vr6uE5P38IBXIdW4jdSAxJ3hAqoAjAIYBecxAA==\n"
+       "SOUND;TYPE=home;ALTID=24;LANGUAGE=kw;MEDIATYPE=application/ogg;PID=21;PREF=22\n"
+       " ;SOUND=WAVE:data:application/ogg;base64,T2dnUwACAAAAAAAAAAAoPAxpAAAAAER0X7YB\n"
+       " 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\n"
+       " W9eF4dZ1YZk8T1U903RdzzRdV3VdX1dd19Y105Rl03Vt2VRdWXZl2fddV9Z1zzRl2XRd2zZdV5Zd\n"
+       " WfZ9V5Z13XRdX1dlWfhVV/Z1WdeV4dZt4Tdd1/dVWfaFV5Z14dZ1Ybl1XRg+VfV9U3aF4XRl39eF\n"
+       " 31luXTiW0XV9YZVt4VhlWTl+4ViW3feVZXRdX1ht2RhWWRaGX/id5fZ943h1XRlu3efMuu8Mx++k\n"
+       " +8rT1W1jmX3dWWZfd47hGDq/8OOpqq+brisMpywLv+3rxrP7vrKMruv7qiwLvyrbwrHrvvP8vrAs\n"
+       " o+z6wmrLwrDatjHcvm4sv3Acy2vryjHrvlG2dXxfeArD83R1XXlmXcf2dXTjRzh+ygAAgAEHAIAA\n"
+       " E8pAoSErAoA4AQCPJImiZFmiKFmWKIqm6LqiaLqupGmmqWmeaVqaZ5qmaaqyKZquLGmaaVqeZpqa\n"
+       " p5mmaJqua5qmrIqmKcumasqyaZqy7LqybbuubNuiacqyaZqybJqmLLuyq9uu7Oq6pFmmqXmeaWqe\n"
+       " Z5qmasqyaZquq3meanqeaKqeKKqqaqqqraqqLFueZ5qa6KmmJ4qqaqqmrZqqKsumqtqyaaq2bKqq\n"
+       " bbuq7Pqybeu6aaqybaqmLZuqatuu7OqyLNu6L2maaWqeZ5qa55mmaZqybJqqK1uep5qeKKqq5omm\n"
+       " aqqqLJumqsqW55mqJ4qq6omea5qqKsumatqqaZq2bKqqLZumKsuubfu+68qybqqqbJuqauumasqy\n"
+       " bMu+78qq7oqmKcumqtqyaaqyLduy78uyrPuiacqyaaqybaqqLsuybRuzbPu6aJqybaqmLZuqKtuy\n"
+       " Lfu6LNu678qub6uqrOuyLfu67vqucOu6MLyybPuqrPq6K9u6b+sy2/Z9RNOUZVM1bdtUVVl2Zdn2\n"
+       " Zdv2fdE0bVtVVVs2TdW2ZVn2fVm2bWE0Tdk2VVXWTdW0bVmWbWG2ZeF2Zdm3ZVv2ddeVdV/XfePX\n"
+       " Zd3murLty7Kt+6qr+rbu+8Jw667wCgAAGHAAAAgwoQwUGrISAIgCAACMYYwxCI1SzjkHoVHKOecg\n"
+       " ZM5BCCGVzDkIIZSSOQehlJQy5yCUklIIoZSUWgshlJRSawUAABQ4AAAE2KApsThAoSErAYBUAACD\n"
+       " 41iW55miatqyY0meJ4qqqaq27UiW54miaaqqbVueJ4qmqaqu6+ua54miaaqq6+q6aJqmqaqu67q6\n"
+       " Lpqiqaqq67qyrpumqqquK7uy7Oumqqqq68quLPvCqrquK8uybevCsKqu68qybNu2b9y6ruu+7/vC\n"
+       " ka3rui78wjEMRwEA4AkOAEAFNqyOcFI0FlhoyEoAIAMAgDAGIYMQQgYhhJBSSiGllBIAADDgAAAQ\n"
+       " YEIZKDRkRQAQJwAAGEMppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkgppZRSSimllFJKKaWU\n"
+       " UkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJK\n"
+       " KaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSiml\n"
+       " lFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRS\n"
+       " SimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkop\n"
+       " pZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRS\n"
+       " SimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkop\n"
+       " pZRSCgCQinAAkHowoQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5\n"
+       " CCGk1FJtmXNSWosx5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx\n"
+       " 15xzzjnnGHPOOeecc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUY\n"
+       " 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\n"
+       "SOUND;TYPE=work;ALTID=44;LANGUAGE=kw;MEDIATYPE=application/ogg;PID=41;PREF=42\n"
+       " ;WAVE=SOUND:data:application/ogg;base64,T2dnUwACAAAAAAAAAABJz/4JAAAAAOq2RJUB\n"
+       " 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\n"
+       " W9eF4dZ1YZk8T1U903RdzzRdV3VdX1dd19Y105Rl03Vt2VRdWXZl2fddV9Z1zzRl2XRd2zZdV5Zd\n"
+       " WfZ9V5Z13XRdX1dlWfhVV/Z1WdeV4dZt4Tdd1/dVWfaFV5Z14dZ1Ybl1XRg+VfV9U3aF4XRl39eF\n"
+       " 31luXTiW0XV9YZVt4VhlWTl+4ViW3feVZXRdX1ht2RhWWRaGX/id5fZ943h1XRlu3efMuu8Mx++k\n"
+       " +8rT1W1jmX3dWWZfd47hGDq/8OOpqq+brisMpywLv+3rxrP7vrKMruv7qiwLvyrbwrHrvvP8vrAs\n"
+       " o+z6wmrLwrDatjHcvm4sv3Acy2vryjHrvlG2dXxfeArD83R1XXlmXcf2dXTjRzh+ygAAgAEHAIAA\n"
+       " E8pAoSErAoA4AQCPJImiZFmiKFmWKIqm6LqiaLqupGmmqWmeaVqaZ5qmaaqyKZquLGmaaVqeZpqa\n"
+       " p5mmaJqua5qmrIqmKcumasqyaZqy7LqybbuubNuiacqyaZqybJqmLLuyq9uu7Oq6pFmmqXmeaWqe\n"
+       " Z5qmasqyaZquq3meanqeaKqeKKqqaqqqraqqLFueZ5qa6KmmJ4qqaqqmrZqqKsumqtqyaaq2bKqq\n"
+       " bbuq7Pqybeu6aaqybaqmLZuqatuu7OqyLNu6L2maaWqeZ5qa55mmaZqybJqqK1uep5qeKKqq5omm\n"
+       " aqqqLJumqsqW55mqJ4qq6omea5qqKsumatqqaZq2bKqqLZumKsuubfu+68qybqqqbJuqauumasqy\n"
+       " bMu+78qq7oqmKcumqtqyaaqyLduy78uyrPuiacqyaaqybaqqLsuybRuzbPu6aJqybaqmLZuqKtuy\n"
+       " Lfu6LNu678qub6uqrOuyLfu67vqucOu6MLyybPuqrPq6K9u6b+sy2/Z9RNOUZVM1bdtUVVl2Zdn2\n"
+       " Zdv2fdE0bVtVVVs2TdW2ZVn2fVm2bWE0Tdk2VVXWTdW0bVmWbWG2ZeF2Zdm3ZVv2ddeVdV/XfePX\n"
+       " Zd3murLty7Kt+6qr+rbu+8Jw667wCgAAGHAAAAgwoQwUGrISAIgCAACMYYwxCI1SzjkHoVHKOecg\n"
+       " ZM5BCCGVzDkIIZSSOQehlJQy5yCUklIIoZSUWgshlJRSawUAABQ4AAAE2KApsThAoSErAYBUAACD\n"
+       " 41iW55miatqyY0meJ4qqqaq27UiW54miaaqqbVueJ4qmqaqu6+ua54miaaqq6+q6aJqmqaqu67q6\n"
+       " Lpqiqaqq67qyrpumqqquK7uy7Oumqqqq68quLPvCqrquK8uybevCsKqu68qybNu2b9y6ruu+7/vC\n"
+       " ka3rui78wjEMRwEA4AkOAEAFNqyOcFI0FlhoyEoAIAMAgDAGIYMQQgYhhJBSSiGllBIAADDgAAAQ\n"
+       " YEIZKDRkRQAQJwAAGEMppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkgppZRSSimllFJKKaWU\n"
+       " UkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJK\n"
+       " KaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSiml\n"
+       " lFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRS\n"
+       " SimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkop\n"
+       " pZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRS\n"
+       " SimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkop\n"
+       " pZRSCgCQinAAkHowoQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5\n"
+       " CCGk1FJtmXNSWosx5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx\n"
+       " 15xzzjnnGHPOOeecc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUY\n"
+       " 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\n"
+       "CALURI;ALTID=34;MEDIATYPE=text/plain;PID=31;PREF=32;CALENDARS=FLYING:http://e\n"
+       " xample.com\n"
+       "CALURI;TYPE=home;ALTID=44;MEDIATYPE=text/dryplain;PID=41;PREF=42;CALENDARS=GR\n"
+       " OUNDED:http://example.com/home\n"
+       "CALURI;TYPE=work;ALTID=54;MEDIATYPE=text/stillwetink;PID=51;PREF=52;CALENDARS\n"
+       " =CANCELLED:http://example.com/business\n"
+       "CALADRURI;ALTID=14;MEDIATYPE=text/plain;PID=11;PREF=12;REQUEST=YES:http://exa\n"
+       " mple.com/request\n"
+       "CALADRURI;TYPE=home;ALTID=24;MEDIATYPE=text/dryplain;PID=21;PREF=22;REQUEST=M\n"
+       " AYBE:http://example.com/home/request\n"
+       "CALADRURI;TYPE=work;ALTID=34;MEDIATYPE=text/stillwetink;PID=31;PREF=32;REQUES\n"
+       " T=NO:http://example.com/business/request\n"
+       "FBURL;ALTID=74;MEDIATYPE=text/plain;PID=71;PREF=72;STATUS=OUT:http://example.\n"
+       " com/freebusy\n"
+       "FBURL;TYPE=home;ALTID=84;MEDIATYPE=text/dryplain;PID=81;PREF=82;STATUS=FREE:h\n"
+       " ttp://example.com/home/freebusy\n"
+       "FBURL;TYPE=work;ALTID=94;MEDIATYPE=text/stillwetink;PID=91;PREF=92;STATUS=BUS\n"
+       " Y:http://example.com/business/freebusy\n"
+       "KEY;ALTID=54;PID=51;PREF=52;KEYS=JUSTONE:data:application/pgp-keys;base64,LS0\n"
+       " tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHIHYyCgptUU1\n"
+       " 1QkZaL0JyWVJDQUN2cTNueUl4dXJPOFovMHcwQWdkeUdhN1d2cWRpdk5OWVdEM3dmZkgrSi83R2o\n"
+       " 1dkNOClJwWFQ5TVI4SEdmR0Jwai9hc0NsajltbjhnRENMcVZJaXFybXZXK3dHbnhBVWxFU05VT20\n"
+       " 1cEx6NTRwTzBzOW0KYzJ5SDRkYWVYR3pRTXFLUit2TDZaTWpDc0pSRk1UWVAzSDlTMlBFaHFFMXl\n"
+       " 4TnBpRi9ZTS9jNGNOYmU5bEZsTgpKMnJ2QzA2bzZuMFlzYWtuZTk3bWlndGNyTUpZVDljVDF4cjB\n"
+       " 5YUhDekcrVXZqOG1RMnlGT0tpVEpxeGlCVEdhClRMWjJjTFBVZVFFbnpjSWNwNnhVTitQZlZYZzN\n"
+       " NVllHWUZQakk0aUg0anNCQUFDc1BEMmpYSExnYVVzLzJ5VHUKNVF4M1RKSHljVTArOXZidC85VDJ\n"
+       " KdGt3c1R5SXlqQnJ0eGd6QVFERENaaFZoNU5oOFJuSWlSRDFzMzNmN1RoZgp4eENUMU0yWHI3dWh\n"
+       " 1WVFTZ1FmNUFRYkFscDZpUk9xTms5VVlBeHNSWVdPelRFd3RWMGlCLzBJamwyZFBUTm1YClJxNW9\n"
+       " FN0JOT3JYZjEzMmM4NlFpNWdPbGVHbWNoNFEvUUZTbUYwT05FZCs4aVNWemMvaVdFTUh4SzROZ1Z\n"
+       " MN0kKc0FMMDVweGZhdWxpWlRlWVVGcGM1ajZnWHFpUExyNy93ODB4Q05vOWZsWmZXQkZzYVhMZm1\n"
+       " 0Z3I1MU9kYXhJNQpLZnFjRjg1cnVQSkZkZjJWb1hxRU81YXpHZ1VsS0xoZDg5NkZUR21tZEF0SUp\n"
+       " 5b0RtTldyVFgwS1VqQ05ELzM4Ck5UZDZrK3h6bW1NcTJCRy9VRy9NVGtlTUl1T3BEenZGQjBiR2N\n"
+       " RZnlGSC9iVnRjQzBOS2lnT0crMStPZ1dMMGUKQzZqcGRyYXU3THNKeXcrbU9VSjdHWHFTN2pKWnU\n"
+       " 2ZjBZcWxLbEZrUllBZi9VekVUL3lBU2VhQUV2a1BqMnF5Lwo4b1ZIQWdrVGFZSWUvSHF1UEN4RVc\n"
+       " 4bmgzWEp2emIxaWVlOHMrT2lZaE1wWVFIdFVTYTdESWR1eTgzZllTS2REClZzUnNNWExiMFlyZ1I\n"
+       " vamhxdVZhYzR3TXFvZ3JJTGRoK3lhcDdtUEhwdUVrOCtLcGROUldJNkZMS0srekpxcVYKZWh6ckN\n"
+       " Dc1QzL09URUd6bnpTSllXOXdQWkhlbEViMVhjQjIvbXJZSWlaZkZvUUI5K1ozNkYzS051UDR5cTd\n"
+       " GcQpacWV5L0NLRFN4OTl4ckJwaTlLVENJUTl6UE5QS0xiSk0xUWFSVlNMNEhIcmh6dFJQc2Jtbzl\n"
+       " OS01lVHliSkE5ClpvY0JZRno1d1Q1RWRuZEdRUG51eWhESHY4UHZrbStWQXJnRVpkdUdFL0tIT1N\n"
+       " 6amlOVFE0QUtzaWc2OThFWGYKb0xRc1JYaGhiWEJzWlNCVmMyVnlJQ2hKYm5aaGJHbGtLU0E4Wlh\n"
+       " oaGJYQnNaVUJsZUdGdGNHeGxMbU52YlQ2SQpnUVFURVFnQUtRVUNWbjhHdGdJYkF3VUpBREJDQ2d\n"
+       " jTENRZ0hBd0lCQmhVSUFna0tDd1FXQWdNQkFoNEJBaGVBCkFBb0pFSWJ1TXE0ZVZZTFY0L01BL2l\n"
+       " SUG41cUttdC9MK0doWVlIcCtlNmRiTHdxRFpCRkI3WGRlTTNZNlVScC8KQVFDZ21NSGM4d21YS0M\n"
+       " 0QTJUMURPTHdhMUNVVzFLWHBaWm9xWEEwLzFhcHBHcmtCalFSV2Z3YTJFQVlBbnZYZgp0OWg1QnY\n"
+       " yWTdvckp2UGQvTXNYTlZMc0E1UTh3TTc2TytrRjdWMktsNzBjZitJVDM5UUpWRGtKSk15NjFGUEQ\n"
+       " vClFoME5WNm05VjVsZ0E0U2psamo0SzIvc0ExUlhkRHVtaWFrWk1naUN4eXBveEhjM09uOEdXdi9\n"
+       " kZXl0WExpU2YKQnRrVHpiZEZmMDVHdGk1NXc1cnREQmxEM1o2YmR6U0ZtRS8rK2VFYXR4Uzh5NXJ\n"
+       " BNTM2WmpoSm5RQm43dm1aSQpwb3FUeTR0SEQ3aU5oWjN5eXFjZlpBd3BzSmNpZy9RdGVhZWNFUVg\n"
+       " vSVlvL01wQllMTkp1V1VSRVpqeERBQU1GCkJmOUxmVlZJakhBdWt3NzUxeHFsQmhaUTRCVVV5eHE\n"
+       " 4UTVicjZXVjJzeVppNnhWSW5OS2h3Q2NGYkZNVjV4TUIKczg3eGFzc1UrVzlaZktuODdScDRpa3J\n"
+       " xOEVvV3FPZTVMQW93SUF6bHYxVUlzMWRpOENHeStlU1lhYVMzVGd0Ywo2REhGS004Vk5KUU8wVWZ\n"
+       " kUXNwS2FuNUVLL1ZUNy9QQVJONGFKcFZxdjNtYkVFWkdJdDJHMStpUm15VW5LbFd4CkxoaUkyREs\n"
+       " 5Rm9CajhucXlJVG1KMTBVTmRib2lmeUtFNTFwU2VlYjN3Rm8yNGhNNlVkbEVwVitQVGJvU0dGZXA\n"
+       " KNGQrSVp3UVlFUWdBRHdVQ1ZuOEd0Z0liREFVSkFEQkNDZ0FLQ1JDRzdqS3VIbFdDMVlJT0FRQ0F\n"
+       " yWXRSZDBqSQpFYWNPbUxRWUNNUzNGVUNQRDc3dFlxd1VqM3NjSGVYWTdBRDhEKzAvMWdDdlZXelJ\n"
+       " uZ1dBSFZidXZxSkhmUEFpCm1HVFVHa1ZHOGNZdlBlUT0KPWtxclcKLS0tLS1FTkQgUEdQIFBVQkx\n"
+       " JQyBLRVkgQkxPQ0stLS0tLQo=\n"
+       "KEY;TYPE=home;ALTID=64;PID=61;PREF=62;KEYS=NONE:data:application/pgp-keys;bas\n"
+       " e64,LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHIHYy\n"
+       " CgptUU11QkZaL0tiWVJDQUNqTDdwMDZEVTJaQTZwdmJkZ1BVQU5hd1dwTGt3ZlFnZHdWdkVNcFQv\n"
+       " RnZuQjNGbDV4CnFFL2dMRFJDZlhLTVF4UEF1NWRBWUVpZVhxN01KN0ZtVXVYbDhJSjZiY3pKRUNm\n"
+       " WUF6RFJ0VmJlMm5ReXMyUDcKaXBFcnREK1dOZFM5MEVPbFVYb2lhOGR3NmpXczl5QUIvb3BubXBD\n"
+       " V21wQjI2UVBKNDlNWTBVNWZ1NzhwamJ2MAppMWxmUXIyaWp4QzRDWHZlOGxld05Uak1pOU5UNkt6\n"
+       " R1lwUXc1MHpXUng0Zk9teENselE5c3lQUWFuZ1htaTVECmk5MytNYXBaSlZpY3UyT3I1VkdqUlRX\n"
+       " YWovUDNqN1p2REdtNGNwaUhqMURsNTFVam5ZM09xOXE4VnczMkEvK2YKbW9SWWxiY3dtWU1LeVMz\n"
+       " MHJxSjVCOE0xcTdsenJ3TTBGQXczQVFEN3FnOE9pR2E1emR1UnlYdGlQMFFNSVZBOApDZUxuR25x\n"
+       " YUJQdytEYkhDUndmK05ZelJiNUxBUXZQTXpsNlkrUTczb3N4VXhMYzBHOUt5K2tNWVRNSFg5S2xz\n"
+       " CmV2UThoQkFEc3Y5WDhVeklBRXpLUUJVQ2tWT0JQT2xLMnJiaHdrRzZGendDdzJDemxmU0NXSzBx\n"
+       " aWhPbGFQVEsKL0c1SVJEQWg2SkFXTitjM1c5SHp1TUN1T1Vhb3didENhU2cxcFdocWNEY2hoWFZt\n"
+       " NGdPZ3F6cDNkWXdKU3FEQwpCWGV4KzRsWk84TzZSa3BPMVhmTHlkSWpxSlQrQUNMdkFjek8zbW90\n"
+       " c2J6OEZNWWZzVTQ2ZWsvd05DczZJdlFDCjJQcFFJbHFHU3NmZXFLUGpsUXVGbkRQNHEvNUNlVU5o\n"
+       " dmZrMm5VeTcwTzc4Z2hFdEViUU44MXNxWUpROHBTdTcKRExjVS8zQ1oyYXJ0RWxkVGJ5a0p1RTJ6\n"
+       " a3BVMjA1WTJvU0lDMkI1eXFnZjlIeWZOemYxU3lsRVV5d3ZzZ3F2LwpuNUNzbDdobDNML3BSQ1A0\n"
+       " dEF0NTA5TFFiejNDRk8vSGk3Umg1V3luOFVXZ1EzU0dYdThWQjNrUGhmRkFDNFZPCjJBUVdnMFlD\n"
+       " eEthSSs1dUljUWRGSDR6b0s0cWNidmxZN0xWNXozOWIza2JGWUgzVytEZjJkNkhJRzZaZUF2aXQK\n"
+       " ZXhZZWNlMGNpS0l6dklqVUJydUI0R3BRREhZbGN5QmpxcWtOVE5zTzU4aEsvQisvangxMGdLUVJT\n"
+       " a0lwc0VJVgpLa0dBRk5sVnlMTGthck1hYnRNWUlzZnBidWtoSjF3d09aTXJITGJwSGxQSFFzSDJJ\n"
+       " czNIdmlkQ2RBdUdRMWQyCjE2U3lEMGFUMHFIMnlkY1V2WFAyUnIwRnFzR3BLY2dWeThMOTcyQWpC\n"
+       " TmRTRWU0YXVQVGhWRXE5RWtScENSVGIKQUxRdlJYaGhiWEJzWlNCVmMyVnlJRElnS0VsdWRtRnNh\n"
+       " V1FwSUR4bGVHRnRjR3hsTWtCbGVHRnRjR3hsTG1OdgpiVDZJZ1FRVEVRZ0FLUVVDVm44cHRnSWJB\n"
+       " d1VKQUNnMkNnY0xDUWdIQXdJQkJoVUlBZ2tLQ3dRV0FnTUJBaDRCCkFoZUFBQW9KRUFBdVBvS2h3\n"
+       " WmFqVmFFQkFMN01saU5wLzR0cy9QWkQwdlRCcTYySjBUV0hvTjBDcHpqUXJKQUwKblNZeUFQMGJY\n"
+       " Y0Y4UHRFejNlUkJkazBkTlNFeU1EMkVWVGQ0K3hhZTRRNUx4Q3gxU0xrQmpRUldmeW0yRUFZQQp4\n"
+       " eWs4dUQ4MnZTZ2xORFA0UlQ3ZzExSjdnTXROV1g0SjBEbmdocVZVc0svY2xFQm4yenZYN080eElp\n"
+       " QnluVG9wCmRKeDZaeE5pdFBKVG0zZzI4alRLUElKeXlDVGVHLzJiaWtFc0hUYlFpMStpaXBkcEpj\n"
+       " Zm9EcTlJMVBMVk41Mm8KaFVMaUJhdXdwNHFIeTFyTys3ajhtbWVlL1M5ckpzM2NmQnZHR09acmpF\n"
+       " K3g4TTRMdjJDeGlEWnJzRUFkdHNPUgpnMHgxMFFqNjJwOExuTHg2TzQ4ZWh0cGZTV1JnRmZOdU9v\n"
+       " SEJVU3RwSW5pMHRrajJSQitGaUgwZWxkc1VyRndMCkFBTUdCZ0NPYzk5bjB3OWEvelRDL0VxSnRj\n"
+       " U2llRkNtckMvODYrcW12OEJ3aW5zdU1STUtVSG1UdFFkR1RRQkcKL0ZXa2pKYm9YMEhZckp0d1JB\n"
+       " aC9tM2N6UnNMZjZkT3QxL2hEUVF2ZGVIcVhuZ1JleitWNzAyY0pUVVdwVGg5RgpjYnZ3NFpjMk93\n"
+       " Yzhzam13L3dYc2NMK0ZNU09mT3l6eC8xWmxBUDVoSkQ5TTNnV1dEL0ZLSk0weUxSZDI5OW92Ckpo\n"
+       " NDZVVkIvaHdxelEyYnlEUzV2QXhXUlFsT0FHaEdXVzNOcjlQRE82N2dsSWRPM2o5VzN4bENUNjJ4\n"
+       " cmEvVmMKbDVDTU9qU0lad1FZRVFnQUR3VUNWbjhwdGdJYkRBVUpBQ2cyQ2dBS0NSQUFMajZDb2NH\n"
+       " V296aThBUUNqc09YbQpGdEFCcEU4b0EzVmtPT1o4b28wMFZTcUhKVFkxRzhpNXgvNmtZQUVBMC9k\n"
+       " R0JmRHVhMDBxL2Z1Z3dYTmlPREJXCjh2a2hlMEVIOWFlYzJQaUd3VTg9Cj1ZWmZuCi0tLS0tRU5E\n"
+       " IFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K\n"
+       "KEY;TYPE=work;ALTID=74;PID=71;PREF=72;KEYS=MISSING:data:application/pgp-keys;\n"
+       " base64,LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEdudVBHI\n"
+       " HYyCgptUU11QkZaL0x3d1JDQUN0cVNJa3hYN2NBWkJHNFlIUmRldkRudndvM1V4dEQ0ZmxmaW1NQ\n"
+       " mdTemUwbHJTMHNjCmEyaDRmMzJ1eklpR2Q1S0plT0psV3AwSUFBOXNCUW5lQVpXVm9XUjZaOTlZZ\n"
+       " nNtUjhoSENZVERqTGpVRUFnMTYKYzNsbUpWbkRqTDF4bmhSR2RjUGJxS2VQOGVuZ0hQWE4wM0tuS\n"
+       " kVYcUNZSnFNc3NySFNlN3crMFNMeVJPQkJkeQprSE5Lb1B1bUdOUWIvakhLd0QzNFg1SEJMbUVkb\n"
+       " XczR1gzNXVwbm9pVnNqSGJzcHY3bVBQRVJxdlNGMUtlTmVHCkhnSllHdlZiNUJZenpMQ3dRRXU0V\n"
+       " FNVMFRLQytMeUZUUFpPZE9pVzU2RG5qbktrNk1Od2xCWTFDZXRzZFpwR2QKUXFWZmNYdFRnNG1SN\n"
+       " GZzVVJaQ0JXR0w3OFMrQ2tDUFh4NTRIQVFDbEhVbUFzK3hnV0ExbU11SzVva2FadDYzeQoyb09CS\n"
+       " XBseXZkcDhreCtVY3dmL2FWUGQ1dGZ2S3JPVTV0VVZDdlpMN0syVnlkNUNSckFTUG93VkwrWmxjY\n"
+       " XNDCloyaDEvRGJKQ1FYOVVPTU5LNXVVMUZYNFErLy83OWR3ZlZVOEZYZUpzM1NKeDhHQlB3Z0s4R\n"
+       " Stmait2MWVNSmMKTkhCMlV2eGtrU050akErUHB1dW5sYXhGYWpBRTU2ckt6N2U0NGI5NUNjVldkU\n"
+       " TAxbTByeGptSGhTUmtXeDlWNQp4cExsbUZ2Q1ZLMXFsMlV5eCtzZU9RQXJpMjBGcUUzbktQMU9BN\n"
+       " Wt2QTd3b2NpZ1JVakVVWk1XOEFxL1daV2xnCnk2YW9pVTFPSlp6Q2tkeStPcWVxL0djeWRIYmcwd\n"
+       " UZ0N3UvSTROTWFLVlZMREhWdStSWXZlcGlzNy93TVMvclMKQTVwVk56NURRMXR3cTlJTWV0NGNGR\n"
+       " nBjOFdIeTVnR0pUNEFRVk1UYU5RZ0FuR1JqKytBTEpObCtsc1AzaDBjbwpTa0xqOElWbjlkaXRFU\n"
+       " GMxRGVRbllUb092WStLSDA3a09MekJmbXcvdmRlTVdkZzd6VDZhQTRza2hBL2VHNWdDCm1sL25IQ\n"
+       " mM1TS9pV2htRE9FUzFXZTRVYWMzbVNWeG9iSS9oYzNlM3pVcTlkQ0F5OFc4eUxvUThxMVArTnlSc\n"
+       " FkKd250bUxuZ2RVek00VTFLbEdMTWx3aGF1V3liQlBHTnlqYy9KUWtvdkdVa1g5dHU0cGdzaVlOb\n"
+       " 2F1MjV5NUs3OQo0Z1MxQUtlQjgya3lteWlQaGQvdnZpK3VhRXIzdFQ5Z2x0WjRiaW1YR3ZQZG1xR\n"
+       " nV1MkVYTXhmQXJGL21NSzJoClN5Z1BIUG5jVW9kc3NNV0ZxZjEvNWo1MkwrTzlUK1RLVXhxQ2RHM\n"
+       " VFSOVZDU0NoUDY0c0NFaGpqeis5R1g1eHAKZGJRdlJYaGhiWEJzWlNCVmMyVnlJRE1nS0VsdWRtR\n"
+       " nNhV1FwSUR4bGVHRnRjR3hsTTBCbGVHRnRjR3hsTG1OdgpiVDZJZ1FRVEVRZ0FLUVVDVm44dkRBS\n"
+       " WJBd1VKQUFuZU5BY0xDUWdIQXdJQkJoVUlBZ2tLQ3dRV0FnTUJBaDRCCkFoZUFBQW9KRU1IakNSb\n"
+       " G51dzVEOVFrQS9qWGFUTjJSVEhKSytMWEs1dXJEVDBLTElBTUVWak1lT1dQWmlyVXkKcldnRkFQd\n"
+       " 09XSi80eDVBT3dvZFVPTnh6Rk5NRXJBV2o5N3Y1bm5ZaURJcm1jUjl1ZzdrQmpRUldmeThNRUFZQ\n"
+       " QorVFBWcit3VGk2U0RxN25pd3pNZUo2c05QMHlwaXVJaTB3c2pXRDVndnJROGZqVE41STdtL3hld\n"
+       " EhtcXdvbDdiCnhEL09iUE1GRm9Tdm1kRERlVlR5cnl0cDI3U05QNVgzUFlxTldKbW9XN09mUTBQR\n"
+       " lIvbmprdVNGdmN0NkZDNTMKVjhvU0JPcVVuRWlZckRGSU1zREdOQ25UZ1VUeG9GaFZ1MEVESFRhW\n"
+       " VFxV2tYMWxldTJFQTlZTjJub3FFVVh2bgpEOE92TXZaWGxQcTFzdDVmc2IyODB1RGJYMWRvWVpNK\n"
+       " 0pPRWo3bHp4bEtzUjJNZFlOallKci9RZUwwaEMxVlpmCkFBTUZCZjR0bWdvRmt4a0Y4N2Z4ejB4e\n"
+       " U9sYXhGclUzYnhVZXJiYTZPUGZJTjV3cXZmOEFsNGdwZXRRRitNQysKUnBlR01rYk5iaTRwV3MvV\n"
+       " 1BUbmhIN2R3UTI4a0c3VXFkSjdiMDdYUkpVbTJrenRuNGRucFJpTGJBU1Z0MFVlRApxeWpNY1hRa\n"
+       " 21KTTFjVlNDMWpzY0ROUTl1anNjMXBQUi9iK2xPa0F2ZGJtK0x3RHZNMmVJa25LWDZsdkZsa0RlC\n"
+       " ng1dU82ZXpKTktLZEdMSW53c2hpVHdzSjZoTS9OL3JjbGFZeWpsSlBwY216VFhuaks5SmN1SU9MV\n"
+       " HVsVXFwQUwKbHQyWXh1aUlad1FZRVFnQUR3VUNWbjh2REFJYkRBVUpBQW5lTkFBS0NSREI0d2taW\n"
+       " jdzT1E1Uk5BUUNUSHVjOQpjM1dORURZY1hhV2N6S3ZwN2R4aWJ1YS9FanNxRC85eHNUOHRZUUQrT\n"
+       " 2VqRndvRmVrbnpZa2RFMmdJb2ZuaDk0CjdKeUhaNDUyTERkamZXQ1BZWFU9Cj16T3NxCi0tLS0tR\n"
+       " U5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K\n"
+       "VND-696-CAKE:Lemon\n"
+       "VND-696-DRINK:Orange\n"
+       "VND-696-MUSIC:Shiena Nishizawa\n"
+       "X-FARM:Yard\n"
+       "X-FARM:Animals\n"
+       "X-FARM;LOCATION=Back;TYPE=Vehicles:Shed\n"
+       "X-DISKSERIAL:14444\n"
+       "X-DISKSERIAL:7555\n"
+       "X-DISKSERIAL;STATUS=DESTROYED;TYPE=FLASH:3250539032590\n"
+       "X-FOODS;STATUS=HIGH:Lemon Cake\n"
+       "X-FOODS;STATUS=LOW:Starrey Gazey Pie\n"
+       "X-FOODS;STATUS=FAVOURITE;TYPE=CHEESEANDONION:Cornish Pasties\n"
        "END:VCARD";
 
-       ASSERT_EQ(CONTACTLOAD_OK, TestFile3.LoadFile("LoadCheck-Load4.vcf"));
-       ASSERT_EQ(CONTACTSAVE_OK, TestFile3.SaveString(&SaveData));
+       ASSERT_EQ(CONTACTLOAD_OK, testFile.LoadFile("LoadCheck-Load4.vcf"));
+       ASSERT_EQ(CONTACTSAVE_OK, testFile.SaveString(&saveData));
        
-       std::cout << SaveData << std::endl;
-       std::cout << SaveDataCompare << std::endl;
+       ASSERT_EQ(saveDataCompare, saveData);
+
+}
+
+TEST(ContactSave, GivenSeveralContactFilesWhenLoadFileAndSaveFileIsCalledThenContactDataIsLoadedAndSaved)
+{
        
-       ASSERT_EQ(SaveDataCompare, SaveData);
+       // Given
+       
+       ContactDataObject testFile1;
+       ContactDataObject testFile2;
+       ContactDataObject testFile3;    
+       
+       ContactLoadStatus testFile1SaveStatus = CONTACTSAVE_UNITTESTFAIL;
+       ContactSaveStatus testFile1LoadStatus = CONTACTLOAD_UNITTESTFAIL;
+       
+       ContactLoadStatus testFile2SaveStatus = CONTACTSAVE_UNITTESTFAIL;
+       ContactSaveStatus testFile2LoadStatus = CONTACTLOAD_UNITTESTFAIL;
+       
+       ContactLoadStatus testFile3SaveStatus = CONTACTSAVE_UNITTESTFAIL;
+       ContactSaveStatus testFile3LoadStatus = CONTACTLOAD_UNITTESTFAIL;
+       
+       // When
+       
+       testFile1LoadStatus = testFile1.LoadFile("LoadCheck-Load1.vcf");
+       testFile1SaveStatus = testFile1.SaveFile("SaveCheck-Save1.vcf");
+
+       testFile2LoadStatus = testFile2.LoadFile("LoadCheck-Load2.vcf");
+       testFile2SaveStatus = testFile2.SaveFile("SaveCheck-Save2.vcf");
+       
+       testFile3LoadStatus = testFile3.LoadFile("LoadCheck-Load4.vcf");
+       testFile3SaveStatus = testFile3.SaveFile("SaveCheck-Save4.vcf");
+
+       // Then
+       
+       ASSERT_EQ(CONTACTLOAD_OK, testFile1LoadStatus);
+       ASSERT_EQ(CONTACTSAVE_OK, testFile1SaveStatus);
+               
+       ASSERT_EQ(CONTACTLOAD_OK, testFile1LoadStatus);
+       ASSERT_EQ(CONTACTSAVE_OK, testFile1SaveStatus);
+
+       ASSERT_EQ(CONTACTLOAD_OK, testFile3.LoadFile("LoadCheck-Load4.vcf"));
+       ASSERT_EQ(CONTACTSAVE_OK, testFile3.SaveFile("SaveCheck-Save4.vcf"));
+       
+}
+
+TEST(ContactSave, GivenContactDataObjectWhenFileIsSavedToInvalidLocationThenErrorResultIsReturned)
+{
+
+       // Given
+       
+       ContactDataObject testFile;
+       ContactLoadStatus testFileLoadStatus = CONTACTLOAD_UNITTESTFAIL;
+       ContactSaveStatus testFileSaveStatus = CONTACTSAVE_UNITTESTFAIL;
+       
+       testFileLoadStatus = testFile1.LoadFile("LoadCheck-Load1.vcf");
+       
+       ASSERT_EQ(CONTACTLOAD_OK, testFileLoadStatus);
+       
+       // When
+       
+       testFileSaveStatus = testFile.SaveFile("/invalidfile");
+       
+       // Then
+
+       ASSERT_EQ(CONTACTSAVE_FILEERROR, testFileSaveStatus);
 
-}
\ No newline at end of file
+}
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy