From 7a1e9469caef96eefa3a709b99c10d68cb7ecd44 Mon Sep 17 00:00:00 2001 From: gexce Date: Mon, 30 Oct 2017 15:38:06 +0100 Subject: [PATCH] Check-in Monday: Excel updates, Baytril, delivery date, drafts --- AH MAM Migration/notes.txt | 6 +- ...tegories_131017_EDITED_without_archive.csv | 256 +++++++++--------- ...egories_131017_EDITED_without_archive.xlsx | Bin 34988 -> 35355 bytes .../com/bayer/edam/migration/Definitions.java | 2 - .../edam/migration/MamMigrationSelective.java | 37 ++- 5 files changed, 156 insertions(+), 145 deletions(-) diff --git a/AH MAM Migration/notes.txt b/AH MAM Migration/notes.txt index 3597be0..4a4e1c5 100644 --- a/AH MAM Migration/notes.txt +++ b/AH MAM Migration/notes.txt @@ -1,5 +1,5 @@ # 2017-10-27 -- Vermerke im Excel nachziehen +- Vermerke im Excel nachziehen [erledigt] - Brand Baytril existiert für CAP und FAP!! [erledigt] - CAP.Baytril scheint defekt (zeigt Motives an). Martin klärt via Megan. - evtl. Check einbauen für Widerspruch Brand <-> Business Unit @@ -7,7 +7,7 @@ - Status 4 (Created) und 5 (Assigned) auf Status "Draft" setzen [erledigt] - Problem: {"exceptionMessage":"The collection already contains an item with the specified key." - 72 mal im Log, bspw. 63701, 63711, 43182 + 72 mal im Log, bspw. 63701, 43182 - File upload - Selections - Bilder hochladen für Assets von Claudias Liste @@ -16,6 +16,8 @@ - Definitions anpassen - Check: Hotfix nötig auf PROD? - Go-Live AH 15. November +- Fragen: + - s. Excel diff --git a/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.csv b/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.csv index 24695ef..e9d7e78 100644 --- a/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.csv +++ b/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.csv @@ -302,25 +302,25 @@ classify;BusinessUnit.CAP,Brand.Seresto;;;;Seresto;;;;; classify;BusinessUnit.CAP,Brand.Veraflox;;;;Veraflox;;;;; classify;BusinessUnit.General,Brand.General;;;Video Library;;-> alles was nicht brand-related ist, bitte unter Space General;;;;Wenn möglich, Brand zuordnen, sonst General/unassigned keyword;;;;;Events;;;;; -brand;;;;;;CVBD;;;; +classify;BusinessUnit.CAP,Brand.CVBD;;;;;CVBD;;;; skip;;;;;Films by Brand;;;;; -brand;;;;;;Advantage;;;; -classify;Brand.Advantix;;;;;Advantix / K9 Advantix;;;; +classify;BusinessUnit.CAP,Brand.Advantage;;;;;Advantage;;;; +classify;BusinessUnit.CAP,Brand.Advantix;;;;;Advantix / K9 Advantix;;;; skip;;;;;;;No Bite;;; skip;;;;;;;Repel & Kill - 2014;;; -classify;Brand.Advocate,Brand.Advantage;;;;;Advocate/Advantage Multi;;;; -brand;;;;;;Baycox;;;; -keyword;;;;;;Bayer Parasite Solutions;;;; -brand;;;;;;Catosal;;;; -brand;;;;;;Drontal;;;; -brand;;;;;;Polyvar;;;; -brand;;;;;;Procox;;;; -classify;Brand.Profender;;;;;Profender Cat;;;; -classify;Brand.Profender;;;;;Profender Dog;;;; -brand;;;;;;Seresto;;;; -brand;;;;;;Veraflox;;;; -brand;;;;;;Victrio;;;; -brand;;;;;;Zelnate;;;; +classify;BusinessUnit.CAP,Brand.Advocate,Brand.Advantage;;;;;Advocate/Advantage Multi;;;; +classify;BusinessUnit.FAP,Brand.Baycox;;;;;Baycox;;;; +classify;BusinessUnit.CAP,Brand.Miscellaneous;;;;;Bayer Parasite Solutions;;;; +classify;BusinessUnit.FAP,Brand.Catosal;;;;;Catosal;;;; +classify;BusinessUnit.CAP,Brand.Drontal;;;;;Drontal;;;; +classify;BusinessUnit.FAP,Brand.Polyvar;;;;;Polyvar;;;; +classify;BusinessUnit.CAP,Brand.Procox;;;;;Procox;;;; +classify;BusinessUnit.CAP,Brand.Profender;;;;;Profender Cat;;;; +classify;BusinessUnit.CAP,Brand.Profender;;;;;Profender Dog;;;; +classify;BusinessUnit.CAP,Brand.Seresto;;;;;Seresto;;;; +classify;BusinessUnit.CAP,Brand.Veraflox;;;;;Veraflox;;;; +classify;BusinessUnit.FAP,Brand.Victrio;;;;;Victrio;;;; +classify;BusinessUnit.FAP,Brand.Zelnate;;;;;Zelnate;;;; skip;;;;;Films by Indication;;;;; keyword;;;;;;Flea;;;; keyword;;;;;;Giardia;;;; @@ -380,9 +380,9 @@ skip;;;;Veterinary Parasitology;;;;;; skip;;;;WAAVP Congress ;;;;;; skip;;;;WBC Congress;;;;;; skip;;;;Watches ;;;;;; -not migrated;Status.Archived;;BAH archive;;;;;;; +classify;Status.Archived;;BAH archive;;;;;;; skip;;;;Advertising Media;;;;;; -classify;BusinessUnit.CAP;;;;CAP;;;;; +classify;BusinessUnit.CAP,Brand.CAP.Others;;;;CAP;;;;; keyword;;;;;;Acticam;;;; brand;;;;;;Advantage;;;; brand;;;;;;Advantix;;;; @@ -422,24 +422,24 @@ keyword;;;;;;;Seresto Profender;;; keyword;;;;;;;Seresto e-detailer;;; keyword;;;;;;;Vet/Nurse Material;;; brand;;;;;;Veraflox;;;; -classify;BusinessUnit.FAP;;;;FAP;;;;; +classify;BusinessUnit.FAP,Brand.FAP.Others;;;;FAP;;;;; brand;;;;;;Baycox;;;; keyword;;;;;;;Baycox Bovis Toolkit (Old);;; -skip;;;;;;;;Awareness Campaign;; -skip;;;;;;;;Images Baycox bovis Toolkit;; -skip;;;;;;;;Launch Campaign;; +keyword;;;;;;;;Awareness Campaign;; +keyword;;;;;;;;Images Baycox bovis Toolkit;; +keyword;;;;;;;;Launch Campaign;; keyword;;;;;;;Baycox Brand Communication 2009;;; -skip;;;;;;;;Key Visuals;; -skip;;;;;;;;Logos;; +keyword;;;;;;;;Key Visuals;; +keyword;;;;;;;;Logos;; keyword;;;;;;;Baycox Lamb Toolkit;;; -skip;;;;;;;;Images Baycox Lamb Toolkit;; +keyword;;;;;;;;Images Baycox Lamb Toolkit;; keyword;;;;;;;Baycox Piglet Launch Campaign - Toolkit;;; -skip;;;;;;;;Baycox Piglet Images;; +keyword;;;;;;;;Baycox Piglet Images;; keyword;;;;;;;Baycox Poultry;;; -skip;;;;;;;;Images Baycox Poultry;; +keyword;;;;;;;;Images Baycox Poultry;; keyword;;;;;;;The European Campaigns;;; -skip;;;;;;;;Awareness;; -skip;;;;;;;;Launch;; +keyword;;;;;;;;Awareness;; +keyword;;;;;;;;Launch;; brand;;;;;;Bayticol;;;; skip;;;;;;;Images;;; classify;Brand.FAP.Baytril;;;;;Baytril;;;; @@ -479,107 +479,107 @@ brand;;;;;;Polyvar;;;; keyword;;;;;;Prolongal;;;; brand;;;;;;Transforming Livestock Production;;;; skip;;;;;;;Images;;; -not migrated;;;;Give Aways;;;;;; -classify;;;;Graphics/tables;;;--> General;;; -not migrated;;;;Guidelines;;;--> wie oben;;; -;;;;;Advocate Guideline 2009;;;;; -;;;;;CAP Brand Design;;;;; -;;;;;;Advantage family;;;; -;;;;;;Drontal Plus;;;; -;;;;;;HOB 2000;;;; -;;;;;;Kiltix;;;; -;;;;;;Packaging Design 1996;--> CAP.Other;;; -;;;;;;Pet Care Products (OTC);;;; -;;;;;;Profender;;;; -;;;;;;Seresto;;;; -;;;;;;;Packaging Images;;; -;;;;;FAP Brand Design;;;;; -;;;;;;Farm Animal Products;;;; -;;;;;;Farmhygiene Products;;;; -;;;;;Packaging;;;;; -;;;;;;Absolut;;;; -;;;;;;Advantage;;;; -;;;;;;Advantix;;;; -;;;;;Training Tools MA;;;;; -;;;;;eDetailer Template;;;;; -not migrated;;;;Illustrations;;;--> General;;; -not migrated;;;;Images;;;--> General;;; -motives;;;;;Animals;;;;; -motives;;;;;;Bees;;;; -motives;;;;;;Benelux Images black/white;;;; -motives;;;;;;Cats;;;; -motives;;;;;;Cattle;;;; -motives;;;;;;Dogs;;;; -motives;;;;;;Ectoparasites in pictures;;;; -motives;;;;;;Horses;;;; -motives;;;;;;Images from Mexico;;;; -motives;;;;;;Insects and arachnids;;;; -motives;;;;;;;Red bird mite;;; -motives;;;;;;Poultry;;;; -motives;;;;;;Sheep ticks and control;;;; -motives;;;;;;Sheeps;;;; -motives;;;;;;Small furry animals;;;; -motives;;;;;;Swine;;;; -motives;;;;;;Ticks and tickborne;;;; -motives;;;;;;Worms;;;; -motives;;;;;Application;;;;; -motives;;;;;Different animals together;;;;; -motives;;;;;Disease symptoms;;;;; -motives;;;;;;Myiases;;;; -motives;;;;;Events;;;;; -motives;;;;;;CVBD symposium, Billesley 2006;;;; -motives;;;;;;WSAVA 2006, Prag;;;; -motives;;;;;Microorganisms;;;;; -motives;;;;;Microscope images;;;;; -motives;;;;;;LM images;;;; -motives;;;;;;SEM images;;;; -motives;;;;;People;;;;; -motives;;;;;People and animals;;;;; -motives;;;;;;Advantix, 2003 - Free the dog Toolkit;;;; -not migrated;;;;Logos;;;--> General;;; -not migrated;;;;PR & Congresses;;;--> General;;; -;;;;;Congresses;;;;; -;;;;;;Angio Forum;;;; -;;;;;;CVBD;;;; -;;;;;;ECVIM;;;; -;;;;;;ESFM;;;; -;;;;;;ESVD;;;; -;;;;;;IPVS, WBC;;;; -;;;;;Public Relations;;;;; -;;;;;;Brand PR;;;; -;;;;;;Press Releases;;;; -not migrated;;;;Packshots;;;--> General;;; -not migrated;;;;Videos;;;--> wie oben;;; -;;;;;CAP;;;;; -;;;;;;Advantage;;;; -;;;;;;Advantix;;;; -;;;;;;Advocate;;;; -;;;;;;BPS;;;; +classify;BusinessUnit.General,Brand.General;;;Give Aways;;;;;; +classify;BusinessUnit.General,Brand.General;;;Graphics/tables;;;--> General;;; +classify;BusinessUnit.General,Brand.General,MediaType.Guideline;;;Guidelines;;;--> wie oben;;; +classify;BusinessUnit.CAP,Brand.Advocate;;;;Advocate Guideline 2009;;;;; +classify;BusinessUnit.CAP,Brand.CAP.Others;;;;CAP Brand Design;;;;; +classify;Brand.Advantage;;;;;Advantage family;;;; +classify;Brand.Drontal;;;;;Drontal Plus;;;; +skip;;;;;;HOB 2000;;;; +skip;;;;;;Kiltix;;;; +skip;;;;;;Packaging Design 1996;--> CAP.Other;;; +skip;;;;;;Pet Care Products (OTC);;;; +classify;Brand.Profender;;;;;Profender;;;; +classify;Brand.Seresto;;;;;Seresto;;;; +keyword;;;;;;;Packaging Images;;; +classify;BusinessUnit.FAP,Brand.FAP.Others;;;;FAP Brand Design;;;;; +skip;;;;;;Farm Animal Products;;;; +skip;;;;;;Farmhygiene Products;;;; +classify;;;;;Packaging;;;;; +classify;;;;;;Absolut;;;; +classify;Brand.Advantage;;;;;Advantage;;;; +classify;Brand.Advantix;;;;;Advantix;;;; +skip;;;;;Training Tools MA;;;;; +skip;;;;;eDetailer Template;;;;; +classify;BusinessUnit.General,Brand.General;;;Illustrations;;;--> General;;; +classify;BusinessUnit.General,Brand.General;;;Images;;;--> General;;Hier evtl. eine zusätzliche Classification?; +keyword;;;;;Animals;;;;; +keyword;;;;;;Bees;;;; +keyword;;;;;;Benelux Images black/white;;;; +keyword;;;;;;Cats;;;; +keyword;;;;;;Cattle;;;; +keyword;;;;;;Dogs;;;; +keyword;;;;;;Ectoparasites in pictures;;;; +keyword;;;;;;Horses;;;; +keyword;;;;;;Images from Mexico;;;; +keyword;;;;;;Insects and arachnids;;;; +keyword;;;;;;;Red bird mite;;; +keyword;;;;;;Poultry;;;; +keyword;;;;;;Sheep ticks and control;;;; +keyword;;;;;;Sheeps;;;; +keyword;;;;;;Small furry animals;;;; +keyword;;;;;;Swine;;;; +keyword;;;;;;Ticks and tickborne;;;; +keyword;;;;;;Worms;;;; +keyword;;;;;Application;;;;; +keyword;;;;;Different animals together;;;;; +keyword;;;;;Disease symptoms;;;;; +keyword;;;;;;Myiases;;;; +keyword;;;;;Events;;;;; +keyword;;;;;;CVBD symposium, Billesley 2006;;;; +keyword;;;;;;WSAVA 2006, Prag;;;; +keyword;;;;;Microorganisms;;;;; +keyword;;;;;Microscope images;;;;; +keyword;;;;;;LM images;;;; +keyword;;;;;;SEM images;;;; +skip;;;;;People;;;;; +skip;;;;;People and animals;;;;; +keyword;;;;;;Advantix, 2003 - Free the dog Toolkit;;;; +classify;BusinessUnit.General,Brand.General;;;Logos;;;--> General;;; +classify;BusinessUnit.General,Brand.General;;;PR & Congresses;;;--> General;;; +keyword;;;;;Congresses;;;;; +keyword;;;;;;Angio Forum;;;; +keyword;;;;;;CVBD;;;; +keyword;;;;;;ECVIM;;;; +keyword;;;;;;ESFM;;;; +keyword;;;;;;ESVD;;;; +keyword;;;;;;IPVS, WBC;;;; +keyword;;;;;Public Relations;;;;; +keyword;;;;;;Brand PR;;;; +keyword;;;;;;Press Releases;;;; +classify;BusinessUnit.General,Brand.General;;;Packshots;;;--> General;;; +classify;BusinessUnit.General,Brand.General;;;Videos;;;--> wie oben;;; +classify;BusinessUnit.CAP,Brand.CAP.Others;;;;CAP;;;;; +brand;;;;;;Advantage;;;; +brand;;;;;;Advantix;;;; +brand;;;;;;Advocate;;;; +keyword;;;;;;BPS;;;; classify;Brand.CAP.Baytril;;;;;Baytril;;;; -;;;;;;Drontal;;;; -;;;;;;Profender;;;; -;;;;;;Renalzin;;;; -;;;;;;Rompun;;;; -;;;;;;Seresto;;;; -;;;;;;Worms;;;; -;;;;;Events;;;;; -;;;;;;Baytril Symposium 2009 Florence;;;; -;;;;;;CVBD / Zoonosis;;;; -;;;;;;GM Workshop 2011, Krefeld;;;; -;;;;;;IPVS 2010;;;; -;;;;;;Parasite Exhibition Museum;;;; -;;;;;;WBC;;;; -;;;;;FAP;;;;; -;;;;;;Baycox;;;; +brand;;;;;;Drontal;;;; +brand;;;;;;Profender;;;; +keyword;;;;;;Renalzin;;;; +keyword;;;;;;Rompun;;;; +brand;;;;;;Seresto;;;; +keyword;;;;;;Worms;;;; +skip;;;;;Events;;;;; +keyword;;;;;;Baytril Symposium 2009 Florence;;;; +keyword;;;;;;CVBD / Zoonosis;;;; +keyword;;;;;;GM Workshop 2011, Krefeld;;;; +keyword;;;;;;IPVS 2010;;;; +keyword;;;;;;Parasite Exhibition Museum;;;; +keyword;;;;;;WBC;;;; +classify;BusinessUnit.FAP,Brand.FAP.Others;;;;FAP;;;;; +brand;;;;;;Baycox;;;; classify;Brand.FAP.Baytril;;;;;Baytril;;;; -;;;;;;Bye Mite;;;; -;;;;;Historical films;;;;; -;;;;;Marketing Excellence;;;;; -;;;;;TV Spots;;;;; -;;;;;Webinars;;;;; -not migrated;;;;Webshop;;;--> General;;; -;;;;;Clothes;;;;; -;;;;;Special Edition;;;;; +skip;;;;;;Bye Mite;;;; +keyword;;;;;Historical films;;;;; +keyword;;;;;Marketing Excellence;;;;; +keyword;;;;;TV Spots;;;;; +keyword;;;;;Webinars;;;;; +classify;BusinessUnit.General,Brand.General;;;Webshop;;;--> General;;; +skip;;;;;Clothes;;;;; +skip;;;;;Special Edition;;;;; not migrated;;;M-CAP-Links;;;;;;; skip;;;;AI Symposia;;;;;; skip;;;;Advocate D repens SEM '16;;;;;; diff --git a/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.xlsx b/AH MAM Migration/resources/Media_Assistant_Categories_131017_EDITED_without_archive.xlsx index b940ce22b187b5e8f1097df0ab30acbfec586779..885ade135c299ba818f123994efe298b7e861125 100644 GIT binary patch delta 26748 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 delta 26331 zcmZU)WmsIx5-uDd1c%^+L4!L4Cs=R^I{2U=I1KKxg1ZC{F2UVhf(8xl5w2Os6yhMhXLwIOB5hQ1k^GH?S(aX0uDXq58Ezdypi zc%k#^A3gz2RyP~#_=Lr%1@_lL$4r-`%&WGFAb5!Ye4W}oeYN6ZvhqkyN&=U(h3!h) zReM#6JyRM{zq!+!^I;KA(^DtaSdvby>{P$L4-zO`x=A_n1Q$EeNx^SuW~%Z(tMV$3 z@m5|~+}=*E7mke1yojR6u0kwJw>oF9ZGF{iodp5R?eZq1ID)}77&ca45|(Lcx~ape zl{v=8GGbC8M9sx7gX^|E5hM30Ur{^$=_r%5`o-02`-8#M<^IaoYWnRbs_%BTr13bt z=d(7s7>hCy_jm;nne)q=r1~h(+UW$e*MwJ5?a}UJqvF&ogn6CFtp`1#>SO9@73(2E zLy~mB7#p1Qdm`M5YpMNo12+~lV#+SRmq%1|=;TOluNcspqsTeT0D)q1s&}pI!5f^< zc|+s8;ylA$HHjUPyOzwaN&|5i>ywUJgni(u%1GN4{B~ako_K6-EfO>LOJs?BSXWxt zc}oC<;b z{KS^lK6Kx1F;CF`t_DAn28VG8ACdmsZfYaw{j!U#*(6sO-K5hBzzzl-R&t1Fm7ZcE z9n{cwzALYF*$M41V|_*)>WIrE!bi2R32S;S^WsHpVO%@WTR@jLYU^I=08swpeK1&| zsvdlZp{bp~U}0?h$xI|;x_YUMXy{CCuj2L+4F`!D^JgkG-CeIqH^nhO#ZQ0FbK0|( z=d0`J4&nR#`(FmaUU!H0J1w@*3=z-g#TF$I;O0lZ>hsBAgTczX9uJ+VOaE)ouIBIY`7SZ%-S+u9+g#()D z`gHX)FYC&zfUsg(Aaq7ZP^$()bIN8d?_OGczE{Io%xhTbkyNa z`Ao&OK<@L@uXNne8aMS-*{engeZ~7uy`28p>*`c|0lxao_BrGE34?ISyQTwpf2inw z$7b;Sm5Oz7ec7O0Mi(7Fe?pep&mHGBTo$uoD2{|Z^r21`b%<$J_*1en4}AYO`vxMq zp#b~)N8bL&-QH!^-pfJ!$uRTbO#=^O?AqLiW2?#dv7rvbl*tkFi}YSk*P4nG*A`nv zHYg^F_aL|4PMW<)+vD9;@Ubue+%0nQJ8ph5pmyDQx%g;A_dGs=D;u+UACuMrwEtS< zg7~Noh41{L&Tap>eYcO*KY7|>`$PC6-trea=G_rJy(GA_`E6QYDI}?JFXzV zEI+AvYWWrqW5>Kvq8kKoA4K1doeafXSP8ryXwnWM3MmIG&|m}z+=>?FReOcHd&vdi z17XIa<97D1be^4>f1Qu6V4PNRldo;b{@B#wPNdU%X)$mZ!?R;L)(c725^yLWk+) zr5!qCXvci{YcP>5++oTH=QKg$I+9XE$N>g#ojMS*C`E3e%gZ%Zn|^3y^}*wWjAxO% zGKx`|?rkLt85x?m)E5cvQ7jUQgsD`}FGcV2n7o~w3Rf-}$n8@jbLQh`Yt$v{Elk35 zo>d>B4Touf|EfSR6;fTiHTShim{r1Fbj#*4Ne_nQ<=ZLCvqFvpX;Rwe-wvcxvPwfy zq&XUwq+4|!*p}SxQ^|w5F3wQl3btJ_oIK0}>frNAbwTOM>2Sl6f$l!Fm+uR2O?HA* zOpi_G1P=~`2EPWE&)V?4C0pAX__6tO9#E5DmAUD~GIpSzd)GgWQF)B&GG`Ng@^(%@ zSxi^)R4-*x=(ycj{}qOtkJgT1|>i254!xsgd892lzUY%(WXCTOj_?Eg}Xym2VMpJU`L!Xw-) z^)G+H4L?l}sT61@xse0<7Vx3mNEx8(hy!6vr+hc3TZ5T?&APk51gb;mCuM3Wh;A#7Ak^eb`;9*y+Ree?XAx};x} zdkmNHNL38c^fQqjT}5Y&on3{z5+do#G*!Wc>Zej~a`Xdq6!16r4Q9!MVRT*wZIj1- zns*_|32F^pO^~Be0^WQgO*n%kYXcrFcO~Y*pCVa0J+0p?#6zWYT8$&)+?jtSInBj* zc{goVHb37OLm}?AqF1L4xh_R;&%Eio17%=OuCUq<>Zx7-c8jTbcde+-eR^rxt*e}j zRz|69brEhizX5yyz;9~3!<>2#?AzPiYHz(S)kIuqYE9{3^`B&bjs6iu{|{NQ;I_RP z-@mmcJ79YLr?8rr&*HaaVXl6L4dY-+r6nPs30Z`P+r;!EsO zZ8=#C+5L1Ft;ltlrQtw*5wi2Ne3nZ$(Pfw)SpgoNen7K|a%z~eX4^|k-U!&@{9`Zo zVNJ3S03p`>Kem{c^RICF?5=cwPtAME=H)A)%Pcr=@fQ;s^@w(9)xEY?E5PjgE;~s? zX^0T9CrR{v(6w|BDPnKxlORf+MFfll*Ulm1T3_L){z418Jwx5`TCnD17ymgjTUQ~% z`4+c1Pr^?rl_q0#eqe#K03UH^RDlE(!KfL)!8q5O|29JX2hm2DetNUVw4oYX*Pj3+ z`yRD`sy%#TU6lf`W;*fTNz;d4P{B-{Y5N*;Bnuc={QgF_z^UTSUS4CS5x>KgCwTHU zf=Grachpc9X(MbjE#K*tegHNCit*H&h<(G4!S@Gmd;mXPU6JlJNg|FIcB%9qjhKB- zjY`G=y6Eixpp8DobKd^0$kGRS!xPEzo_EJMq#suFQlP(XJB$47CC#8M0+WBE4Dk)9 zDh?x)PHyw(VCX#1DbUR8pMKwpOa-H|n6a}^ku+krHM0-dzA+=ZVQ-6F_(wcjCLEA% zl>Of9x|%6{t>Ira(O+kUw9(jLmCw9R+cWzSX`eKYw`$JaeiatJmg07gAl>3u-&*7I zNPqJwZQ>i`@@<6W84(A5Zxth!@kdlcE1{m`w0`^ldcp217L0&J#MQUCWQcx$zE;2C zED$((g00^pfiwY3ri1zBM|nJVynla(n^enUbQsVv<~{CQE++Kt>GbkG0FtS>2X!0N zv*}mZKC9$^Fx{bDp?n*CazE!Q(^h=Vp%=t;smlZrC#D7ZgTsW7Knr zzH5G`{K+8ck*)s{2SG?C8Ts?_OY{l(iPxL))NST8D75ZXz%Su=;nYx3=+b?w%mRCh zeYIm;+@;e1WF1={Pgb2`VYxxw*NJKV;2VmxgJk>!Vd{c^FE1_wC{BF+Q^Vex75=Yy_jkh;y)2r&mif9Lb8P z^!;Dte(l$j#b@Q{OCTZ$;U|a4;dAA`RXkUVb&R+!|CbW#Dz+|x^ka5U(=Lj*kdOVa z$hlXdUH2p@IL4%LXg_F-9up?8`NyM;`hOf%pf1@o1e*STZonKrsoze14OsvA5a?Z^ ze>-%r_T79MO@9|eYEs^UaoK#mM?=`bh(7O5B8)RdlN)F1y>#)|z@qwOEE^skwKy@d3B3Uzzr&n5CaNl5Ok ztEeUdw`L93LZAH_T!oe|(ESLrr+l4KR@IA!H(+(D5Qg^ck5)6G%XwqmIbZXhWFtqV zn7|I&knS0BCJPiGS7Im)Fa68R;$-Nu< z0N7DB$6-$>qOr;SkLfutVej^jRZV`4lim`Ahvkv5hay*hVdiQt{C0fNnsFmX18!|B z(76N2*3i-GL9#o1y?8~&HfyYcfGkbkD50QcFJ7SIf_uE0>A2(zcn<2F#=DX297Y91V$uYeZmIcNN|lyWd>Zv*l#8;&#B98KDMLgd>j0lz z^tt6y`ce<2EX@yF!@dHzcYU;fjHoWuVf7p`dqLUJBD;e7XF77+m_FOq+K-Iq7JMzX ztPQ|5Kkpy$o; z@_fJoWmlLvggk}~A3^h-W|oNBG(Wyy{&&PIIC8uodUwY-v#sA9i&xB6-1`8MTFWH+ zWfO<2?Wax0;TWqc?>9x#{iL@;o-DxWTHi_A=eIXJdU@0*Ytknr^ufRBXi}xIdP%Z1 zd8MMW@ry2^EdB;82GpPcvNmO>DBTrwI+%MKm{9Z%6%AjkR1z)|mb@?Y?tY)(plzQh zubI9@3)jZ1&Dxlpymzn~0n^`+HgStYJ!#ZY)b-1qiK0uNOh@KMXTR*I0%XrR`%W4L z1DAe$7QTD88}NHu_BM18lZSCyC$+PmhUiJ7Ee7&!xI366DyITU;*Fm7hnEL7XK=?Q zk$qBoU5(ud_3`#pg@<`j1vEn6#wq%39>%fi{BWZf4MRXHOIoVz+O|KIQ2gzn?0Ecp ztoOC@Yi!ZW^&nj{0zI*rQVUfE)F~r1ymhta)uaV`QaTB+`*;irHe3XtS zPW>Gm={lJf`bBaJJHaR zT2lk9Cc(?_L&WBb0d`c0jqp_gk=j8{U$-v*#x!+qg`%BwE2kD+UKVE~=Dcwc5J_(& zkTW&+QpCDiYpc3o-!+7)TPZYfz4{O99OCdDnqRd7cy4IGoRz7jT4y@a+IM10|B&CONB#~;+A)EHW z+dR~sGbce>>&3(Gbk!3Hp+brBb)j_?YZvIVo^#I2`T-k?S}t-#AUS50^4CN8lJN=! z&Zb&J-|x?@LKy*H?fUTV&{i2Dxf4)oDYCUsclwfl!V3|UJ3+6X&&ch~99{km>~}wKF(!ZMK?O!eEKuH{J0oA3itg>*>g~ zlE~wYjbFGw{eGh+e$MFuEgLtIY~2pN)SB|IZ{i4}G-RK?-m6S*ywtnmk9iysSbvzhLqD*@_E2%(#3d zHycN!y@8Chx->5f*<+!6Cv{QkzFwn#Ev5g&@9rRy>VCsX%zBc& z)(*U^IugKp%-}n=QVCot$cB50<%3j^C}x=MyWAZeSkwPFE{5{`q`tEo5=VHTb~qmo zrq&O9u9W9x8iAW`b+UoBO0vgmb!}r6PAW8x<0kr;8-A-D)5=%Mf6DO5Vti`F7I2ko zag*5zG5y8TUc=l}2>pmF9!hJSk-zk_#}Sz8yd>bX*oGh36rRA=9?3}c?Bzek&Mx|o z)mcHtNI7qc4ZjFisVU9`VoGs~Ebbs;^a#^#OFdmo?Q_4fKnPY{(4f}VYc*bXLrW}8 zY7l6#B24QD@=4%yG&+0)ZvOaOrYn-=rAtNdgyMlnP+onq#F;<+OEworz>8{PUtHMsth}- z4AXN#8-eZlc=zpX_xgI?_tl6QvIm52mNxAFGq|xT!Jy>}==2}&@JdZRsJ}LaS2E4B zdjy>ervd?&&NSB(d2+|b$9XmVZ7D(D?+XD14Tu@-J#R|rbht5Q!QnXDD4DC-Rbf=6s35sl%8}`u4hb4JdP0Fo& zmZ_s?2Hb_x8)~l8JN@u8xQRo7bP%F#BLRlOYg?MgPAdpg#L2u$DO%9VD(aPOW-7Va zFe4Si<^K58gck2^BVR&yZmdWoFMs{^b1+G_-M&q~8V9r81U!}35xJ8t-{sP}zubVb zGvFwHJz>3j_#KD4sfJ|;FOeD_9_^$KihR<2MX0;CZ6|v(-S_Leu9+yFlU)aMqs)D0jXaC73%GqdUo?OOevpaV+c>^uDAQCyM1sU z_WEu(;!k*aeqez%DiYK?GXq@UM4a650B7R|BDot7td)*zBo(}(DS&^X&O*D%Zio-TGtrE)f7ED<-~#e)9+c zR9gaX=&os>yAf%g_WDlymBU1=BRYx%IP|U`zGgGs#CiI6EO-1jCKMiPv9b)2qlBC^ za77rzR)M-jlaJ;aMRBh$jXj=^n`iAM$lk%M*#1mhJc9;B_a`TP{zompxj#MKm@Hjd zqsvx>Z<4;}jsksCZM0@0U*q~{r;N_0wm9VZMHm?DaTId|=mc-LQo zNU_Tldqvp#SB-qT=e?5X*m!uRt_lv;cBM(v+bj$e*QckSa739q)%80zpU~&7Jo|`-E@;5Fv>sR5Gz_@*TGw4$}DNny@ zvg=+t_+F32ai2w(5ouf7@|68^5p)+3tN)!f$Owh^QxT6T3h1~ihBda=$6RYjjbgZF z%HeJ0-wk;y(f4dH;W;d5J|wn6(HbD+fvvApCG8G0ggiC!VX)jvJpu;~l9#dJu)~O@@!um$?84axaijQI&5-+S zUlYbx+k}ep!A7jbAT|?lgpPgTKHNDTXq#%gH#_z<-o9bAow? zy2IWG1q|9rA3}9dG|!C&yD^~>1J)Th))GZ^de-e1kwp&Lw`3-=Qi_6>w)8(5^iJL3(h{DI*>Dkf*%V_} z2nt5vaj(`br^u8()AKKFZf^P*!?HL>O=2l8gfi$PeZ93#GBCTHPwr-#8fVQ-1awhS zGS$LDQv`g0=gNtS%OpN)u=N(#z)`T2;Fy7%;uhpDFw^VVIPgKw zagPY`va0d61|&{eP;)y@<#z=j)UR(_mAEwX_EyvwPhz)M_RQ;`qKU%x%q_Q#XbHpOvxiQ|+N`NkW^olO$seCT z^ISV8CXH%TFdiG(0a_VhsnIK^!XYIRk`*cK;Tn8tx`bb|_}_sLEnjDCvex~e7bR`b z|1uSc@SO)!xk_E`toap^OmYe2c;$=00PO`riq6Nt6#lfZSR}g=ceZd$5KHqyGT1l{ zp8%rG=?>1NEHrL@2`<{i^$~p?nDW3tXf5(`p}<2n5hBs^4$wmGl6pDa_Y#!)8V}Nx z(K@Jt9Q6Go_XPa6O;-BHO`&&oRPQRW-_&t@>!bbLv;A{wQG_;bv3fMFinZLIbjB4; zdKZ?Z+HONCpRz-SXy=D6hMWB1WgpbqUx#{xd}#BbU_=FD*+|7x47#<_8V<8Mj-5Ui zR^u&ze{b#80Z`YJcl?8(VM8y{=jRu-US{;bgUx#2+xJi3LE?;x;6aeYE49 zT2WGs0TSZNVqC>Of#%=eno<($oTKMvLn(>ZdJ@eGLDC4~`-@X-BflhNa(t^uBJEH@ zgPH@))v8d(Ww?jMxN0}wNQo~`G!)AFWGuBXHyy>B!>-R^{-c^Ca;s#y*b{SA8bsTB zm>lKvG$kFZ!7^qWSxwS1l;%Y}+Q=yy65UzZcEpGZ%Y5dR8(G{uD8zkt=0ES5Bwsm> zQ3p;%=C1jWGf7Y-2%(LSFnjVtp;1>J8_Nl;D8 zz|3L+OPJlpMz6QfB2PTbm_0r!=^wCRK@g|#Aedx{E%q;3YZ%%Z3>aFH$eT~!NZ9uJ z#yge6q>SUt4Vk5L2_gt!Zp<6Yt0;+!!XP0*1m4}|7fUI&kH_OY$+_9$?gd;t481)X zQA+NQ`6NWcYz?RBJ7#(S;2rVawZ#sN?!#Puv}Yr>$Xtkl)%%vJ4AVkBgH%w3ix<^x zWYZ-yuF%gt4E*Xvn#uc4utn)?+>*?~{hi@Y)HS!*?IvIXg$m5yBrAT>4PJp}Bo+4G^OklrVwM}CE5Wfkei}>Gfb1B%-cdfT1AT%L8kb6Z zqm-y?&C0|T=XpMFAP>7V8DXSPtWAc65NSb>TJVNi!u(S+=14pV8duGIa(+`2 z_+;i$7*Q)F$qWT@2gX!(4-6wbYOR2Bo7prEzcW~`yS?4GnaP981UE%G4p@J%YvU51 z-BB@x0FLIebzOg^oWP5V)_4)BLDSi18S1zZ>)U?5mSqi_MSI#=MUoRS`OSgDm=mXs z(iIj0QDy1QEKQ$%ottBj)&v`qQ>VDZgi1||9SO`WwYk0*L48eQFtbDF&AF#(uY5K}$~1keJeR4JCmDZSekL1A(*P-G)&`pjbz+;5Q# z=AA|&{eB07)-*vIw$||Vb9*$Kq=nV|;yn4yMsOm75!gPB*gka}PkppE;UgOr-$+gh z{0!kl_JaQ}1q1O3U7kT_beCZOIW)k)CZeMX<>`~-&2s7+IGPR$?H`#-pma=-;@SUb z&u^>_f802VZ{6PHK0CyP3z7g-u1_zweCBc=-;viGF0$BBjR!);1N?dr2xiK|nRSto~mD#Aw&_aLr2grghZpU{4ceKI0KcSiex98UeC z(;5%Gjz6)hb#4zx83M_Sq!>4^q!he0f>ko!zkXTh{_zW%Wad$-(fH)S7uK zbK2|tW)uk6r4p8GN|8X?|K{4fPia1YHh+I?_%UtABIohkoO=xxA+zVwqICwXwM5N= z;E2ww5w{Jj9O`sXB6EYe>KXwQF7ZSZ1vPz%nkmV;kS~7;^$*h<{99C9+FBz`Iw&@U z-%P!*!R9a~=8FX}->h}E4S#PBo^=nrwf0lyN6%)VW*3_Ck0uWmsM=Ve{2As#R6 z#YK`ob|SAj1+1l1M*Pk28%2EBS_#QtfFH@y5UXkAPf0G9=A0&g8HD|7K%n;*5l~bw z%2}8&#te;uQ8)gvt`}Y*{w>u%x!sWdYf;3LZE+I_u9_};%Qn;FFb1>2>x4Ct`$ok* z=X2rZKu*ZNX0RfOGCjw2GlBJxC0tJ*?r||sHPKF%Qd2%@vTL5y0u<1AX}w&{p^G-m zhi*ySn1!bdP@_rL#M@2TzylgTn36r&cq9g>PpTVW^$NDBs!XAmqz*4fk*nyqW@!J( zSn>}fH}3E!#v5l~A*IEXEdYKC7%=ahj=Z+@5>of`ornFs9g;bsWS!y0 zw?reHT%I&n)U1^i`suU8-*%a=Dn@AQ5rzz!oZ1b^f0!Yts2F?M2x~5Su;#+?F6VEL znzMt|f20Q3=3~v=gXJp>+<%ByCxj6n@h|c9Nn<_M68{(ojsPy)f9sl24A$oB-~7|& zt!e+wT(W7EdrCGz;`HAR2k#bW>Oih3XFf&>D`}Y1f4ep$Z@yldWzyMvyM6w=B$Q_{ z7Y7~|#Lw#fwvla%E-9{(vWa-jigoPIu&qKhk84V!c7<$W%7JbSU7MC`I#LnPnG47- zzzevw7T4oqHQjHkj)gd~m2T_i1q7}7nj&|M9jM7w@;`JHX)^R?I^x05G^7-5!Z<;d zg&^?Jce?d}41d%|!XuJUB$_<{@8m`_92 zObl$cKycE=JFsvPhmUjA_1e>kf;}z@Lk+3z{#~%7uIdqj$A{p>Bo}A3-=uAHAUUMW zR&jl;SGuxrgc{O_oWG0XATx!j-84q(Ad|>@7x0%l>N+GR3(U$KBYTm0x^Y~R|8>o+Rd zBXr*rJ(&6(lXRlolvbXY_1GLmK|VqUQg8kprk8l z>x-uKMx&~M>IY}<3T>)!Y%g^x)DjGn z8|NlYHD4@Bs+$#p-<~v}Zp}bqeAOB0TB+yV7;BT>%^?G?;laH>Q*Y56ERiB)0cOcQ zBK0!(zSjl)2p*OWA=$yzRU}g>03}>v$Mu_TzlD>*hDrf36K{?;8l=RA?kdFHU3$aF z8q#s4=hWTB4ZCm}6M?sqJ&yx0nRO}RUzrnJqIChH)<6qC{=Qrmh4iZAC=0rY7Nnu7 zNpsDs_VdIWt-ZcV_ISf4+p{3^0S{&gCU+$X`DGGj{$BQYqiL-DH-N^`GcPI2J|le+ zeM_qijeTXl-{tF;<^b5l2d=RjUuo%HZ8@Oqh_Fb zo)2g=11u0OA;L!eb`w|raWAQBJJ-+aQ^E~DtRo;n8cPk3>V(&&zZH*0WOeBpE;V^y zZ8kxHo3A|Us9Bq2p(uv!p2N0Qt-vh z6nxylNKpk)*9!R#Z-*AS>o8+m#9C4YE&57x{ zK4h7;&AAQU(DQW!ii_9sxKn`JZ|1)AH5z+GbeyyB^UDetxvp^#0Rn)A=H?vF8j(gXsLr{k+fT>Fr1S7Ph52+D}q z>X^wClCHuz##5&EqpLCs?0c5hEgLEC8MO85)C=KPKjK^H9mVwOJJQ+h34!TVbkg?v z?iFkTCO=~CxJ3O-DN8dN@Lop;!$Ri~v&;{hYTJ7ah&AVTm}B#x7wxejsDt3R!HA5j zn2er66nbD?E(Fk98$8WeHJgB`kNCS+!L(wY7N_cA!7|g4#{c?IYY(f%o?NQ3dZHKi zufSH_N7#;jHzzppsaVEUk=pIjF}MuzJ7bji_dO{NNj5gI1-V1h%UI9PEH8RlQc87H zfI>wDLyTtn?*j2(Qi>F54aOF9ynqh6;Kj?q#gtExUy4ucB&MZAN7Q_e>cvy=y2J!t z6??qX^>8-MqLtLBX&20rO-w5^ao;R4fnY1(aA2t+njot!6BRDd=a`;}T7AHC0jq|% zXBE?lXYKWg{<K3l$0)dd%4NEzSVYeO;zdBJ+^VOB7QpTFD%k^4+r-VYa09V!!C% z7sBGa;;fmZ;cpEP!DHX3+KMl~h6#(^lt(k-h`Ag0XsI3oz@xU~C05`d^eAc-=k zd)B35kW#^txj9*(+yK4gcw2}n9*@qQM)KypCInj#hj#xB*Wh>*yAeGcci9>Ca`CwX zUFL1bC`w!%QcfN(zJt6iEtXRW?LeCw3|2gPlK!&W?tffER5M$4hyPA!H7<_LjqmUe z1+v~p-kex~lVWn|F(%wUQZ-*_J7=8d8qw%!TU*`e8yi}65*Xfb(|2IR=F8XzO4p)q zNR}hEuSCnPBcti9$;>&_vpi?p0)CAzeK3XFP2c|x`jiTB>V(57MjdX zElQb*`KeKEvP-Rn=VhEQGetTsofV5X2R98+e2)SZ&R--)F0G5;*V0T>$$;fUoFSjo zdBJOq*;P(EWH(Jvd!Hbz$l_~w(KoLQs5))a`~bYFdi+=6>_F6=qR_A6uwr()AEIu0 z9DtwT_Z0)5vORLjLV4!E(f!ej)xr(vJ- z6!R>on4ZZr3>Gfk7?TxUqI{K)?{0Ry{;Vhc5al;Q#gZ>D?^6Q#LD}%ACAu(Kcw;o^ zKT4cg(2`_%0vCTtLMi5fc*kr`E~4$BU9KFOIYKLf@D`;HKFQOSc}z`q{a3`N%1 zZp@+^#AI}q@W#v66b%PjUnbRoDi4`$JGrT8maKC8T1mZS-7b->Y{bhI?_lNtj)6gV zsCxE`LMSo9lzB>N-ohVAgj->QChTGH)#TI%2ZfeRSuKLfVob!+x?gyC)c9yx zYT7|sQ;}6mphVR4jaW~`VdE+S{89-8Xx%c)C=zJT(dyjz*OK8UxWuq7`pAWP{3L(w zzTaHMi<|*Wqz`DY-FOOU(sS&r!(gD+C1QNDJ<*b}3#TbiBUJ9BKA#tU9DM;&f7yzK z-M^whzU()<^(Uvpb>TjGy5I&`DM8>MdnALayzQ>u{_H-=fFr{2H*Ib6+LS}2|2L? zU(uk5uT_dvHPC|(O-S0TT;K~fqJp^rmYRdW%8hr~zE<%A&znB#wb?Sqm&CQZkE^U<#!z|S)S zZ$k05z}TMhG^|6&*tS&Q@_=`qNVf+UuW9JL^}O>ID&*LV#1RW~@r&^Zm^)li&Xz25 zM9QM&_Ui-3^>}h{V6(3=u^cW6fm~DyKnss19_WEGW9nLD4E@1@RT7Wnd?clfr~%=joES@($C{;UQmU%ut zxS~*-5)llN9D)skWO|Z1f+BXgYxCcbl%|mXbZg`&9`)YcmQH)?A^&492FCGlRnq2DngMb>3G>gF5BsXsGe;>EIu zP@2a{*2WxEnZl`WxE66;>9PpoNN*!3s|`j%3Lu*nhkc6Spl??cscF9-T(UK$-JP)1 z0SNcxK_ldC;55tDy5Hqbx>D+UXkpnGfi_ejo$C8GebZcxGJ9{oRRUKBdm%^ov!}wz zsUdCNgE!_p>xLujUaWHWS#MDr&Avd6Gkl2+BF-o8RDY%<3e6W$uk~r!^Zu^Ns3#L4 zcccov6|8K>toTeso7yN+7_0qaf+jr4i z2BmooJNeYy>MKehP7q-JeYC<+dwQ_Mp_PdiR&c*y-I;)Si>T}9;FnJTO=pv~a#}lA zYUZ-(9U2-<8LMnp7LQz}KF5r$;hgyY8WWW)3A`K}M9e zDhV4bV*s{u13_O@9ExC%YvZbr5RK{O%8;i@a<-g|%Wm_((xyC~!Ls!GvcwldnU}^| zj?&(XRY8*bzkM=jI%APpI^|YIsG?oyic=vH zp@|D(P#ctbyk)e?>T4o`C1e6?xS1J#B|SPIVC>SdWYsChl6AAdM!;TpL0PuSAr0yy zex2OH|8Xbr(&zPq$&sQn0xw}%xc;B}9lWw-4Us+LqX2d+`RKiq!g?}cejO|Ui$56- z4nk1o!bl<+WqU;OsSza&2ipMm6OXLuD<)!AyN@k8$~6JkC9OyG)g0Tk6iRZ@4f>>j zQL5e^4NJ@{ml^DvW&2tI9SYJ(o|i(`ACnDw_*q1$ULncnOpp69fsAF*#&C_2A*3vo zis)))jhX2vO$kxv;WLfRi7$pj;FkDw1)SbB;hZDt&U@?jc8#nxlNcEvI(5``ov!yG zcNfI}fxgCUloDLqwrdmU;sI6E6_aBCm^iKlNb2A0bLzccQ|s@_y=_f1fH+$p8M9{^ zIND%E*=@Kv4?Z0pCWA1Tf2X|PA8+qmi*>sk^|-#DqU?Ck7FmfdXzC_|VkT`SVWy9; z0dq<)vqPo7-$%826g(R3TaY?4CwFqYF69dOcGH~d2pkoC`0aY(Y`ft^nMA!&_^W4r1Ot%AZX1m^4zCET|v3U_f#N9yz_OE@VI@W zKKbOB1A#5M?v#ch{A)!k?TB~ou-{?SS9IPYgWATb=ef6K^j^~1?OF)Q-PA{RN><># zG~a2r=|Rct80v`8;w$6Vcjg5?5RFrIvixScjm%??NYhH?m7Ah6e5=3g-;RAyFZ-pG zDrj(CMfLZl@Ez)@&ig-(NWS)Kh`fYs+Wki#3>Xk~cW?Bx`kVaQZQv;O8=b}`37_a@ zRFqEE;Kup?j3XNIbWEJKyk-+BLn!xl*wwl;&aCdae>@}rcka43ub%#- zeM#+h=Iu$FqP(PX~B`_#J zwxl$B>N9K*WzZS8!w$O#I2%PMyh^>rsmSZf=m-|k?>};1-4tqfJYIJeUeLUG7BSPD zTjYaEJj)T2+}X@lna~2MPQ0S)J)`(->t7J>mQ(3L8wYa<2}hSF0cywM z)x2*k$$~ejBzHr{j_aalM^&6N`?-H!Gq4^9H8#@!7C7da_Bfo|xqm)(#vqu!?i0s4 zK5TW|*PoTSyorZofU+z2o!7S3BYQ`h@3dfD+96w(=oTVy|?B8SUee+Z8kiz+v-*P(Jg!d-Ahtba&?@ zB+gWEG?LCM{BF*KKsNJ>Tn2xTP+!EaUuPm!Zj+vd^lEl)*dqTS9cO1nj&7wayxSoW zcB81hi1lLW0O}()NT^TU=L893j6V)26Ssl765a9%m-+0}Y3ABLV!7Z);o&3TW83AwzkFD&7S*=TUF=HN%xK|dL*9B*fTDq zEoCu0Y>pV;D;6v!yz_DTT|KXnb#>_6f=^VOZ_;dP5un+3MH|7wP&tA5HZyL@^P?xk zwizR#stv_Bj%5Y{yeE^`RHN=@9B%)2XzyHtn+I7?4%;LsYKh<3lE~Ym(3%U&Y zFay5`rhSqjkO&2X)hI{fiYDnQgE6Tg53I^eXWT088Q1FdGmnCU{^rjrwu4QdJ9hK> zd=$4KWbaKxW>Ac+2YkSX8y_9%T3DjftI79WBoFdh%#$2X=UQi1xJn1j-V=;;y{;k5 zD!5qwD9=xq8nRs0?NP;ooiMvNNzemB4k*+ULB5$`6zV(vpRT?-sP33)_ux)(FHoFf z#frPTyBBwN`Qh&F?ov2-DK3Q~#SZT7?%Lb;ojdb=_vX*cW+$8MMrM=e8Qks)x(Shy z^k`*neB4BaEXS%A`CJ&Dn$5MlIk0+^ecZH@jFRs1Wbx>?!O?5fE%Vo3k5!HKag1j2 zRqen*b143Jp2xKR&0{{!OXzPHTi26PR>(LVb=3oNU|u3sUpf_i0W9plIi39xb?*`BTv44d zfYkXan44N{keiuTwd{F%@8j)}>-m-M6mALJiU?SiccFZ%94Fv5QCT+dDFm-_I%Byz zQ{;|Xy>iI1+XP#vL);J*`>z?a*!r`qmG+O2W-CuaTTWh>q}2?8`42xUsiJS{~%jMimKkRsm0K$*d4DV3@e43`}k6VX;ih5t|~MK0yD?JY6ID z6ocgVsM?jkj(z~oo+(c*g{B23b$?MZD_@$n(Zgo!w>>9}_V(MUk?U2a&Dwu)v}q;h z={fG{?eVYg0bgKgP0Vc=e~+@;hl~a$vI#YgPzr@Lnqf7GQA>C<^C7+P12ws6d7kNM zODJ2?n&1Dl(Bqh;ESgla8cP(g3e(5`)1`R{3KBDOdrm7OWO_%& zgFJi2dn_kScq2i~;rnf2&*Y))B;4jCiYu|Wv<9}mq>`lgdFA=h!l-dBO-zO+7ge)} z=XkTdrGLh!TaGoU4UPhgzT(`yqsv>}zhtn-w!FI2qR4D&p)|uURy4NvA`CacsJiG8 zIyx@Py$(btBoaR7XnqeO#|hqg(PKCca!YTWm<@GYalIsV7vT-&S;xg~8F$7ci8I58 zzq&Wspj+=+2Ql-HSzh5b;R}92DR+2KG33Dt(R{5TF}M2~bz2LpO7OkU$1`&l2A9Tm z15$XUvBm3l{fo)9b6KdV@lR7GaBF3`8gT@=%oz-4Q;NK4KI)?ad!nQN7AQHk%I5lY zLS@SRlaJckkd>S-t);8SqB&$DE}01*>9qb6-*KeCsQ+{m8B28f z_aYTJ^O0B+1^76L^p_|}Qe&$88l3UF?vI#Xl5-sdbO6*%i(*x(1W-JWqoaBx?>~cV z)8luVDyuUX0S=O#v(ckqB%KqPq$TzZl&RB`_o61X+n$+{IT|(nP^NKf3zrZ{LwWP9TB-61!KikXbhTuieg zYLUUzp7ra;FJ*R2fu~GlE3O6ltKe)jQ<#r72LJ*w_t{r6zA2NoO7kJ2Uo>1Qj`p4y z=nWIYGzp|F4WH3WQ*t8f&I$s>naKFcI5qQ4>||`+d{XAuT}-kP@~(+$#=f-fa`G0* zM4_oR*`1Q(W3TqpVES6u){XtR$CZI`Y4o#G`qo&`Br88?_;1)3)z0LS;HgZX7K0W# zY=E)|;z!$=Mx|DtXQcc?nhJju+G5QL|EZKck&4g}HdgseszF)49}9sNjAVS&;_1Or zix8DSj5#C>HvEf)6jO?HT_Q`rdYJl$~;k9;es>+H`ur|l3dtK zZmfSBss|^pn=B=~oO99o)8afIurUI-F#N}@a(ZV4w0B-4nP-1GLfUcA#U}<7f25{q zK~uP^ZO+Kqze5vhe)Ui`iQ4~$JqSO9n^#}Tu|PMJW-^5PWv&;U>*sX1SmwrssLE`ka#MTCS$|xW zyNE^OBqTIT6h!CliKTvb#@^82jf>o+z>4lg!88)te^kFi>ZMc3M52w_PkerYN%A4q zP^IEr<}G#ONS=S^NS18wxjP5ys>9nye|}PT9JrVE2&Ng%=y150KYM<@F?s8HH(&GH z=pqx8IXpVD+&x!0q*_hB z_}9E8E%$zV*KKo*NEvum<}%^}AV!Mx>)lI``m>I;Q=^_-(tCxKS}x%1==TcP&>`FO zg#q{FW#v4li;bzyXyh$H;K}gVZsK@x-Ll?%7xnT`|A$rIHaO!u;P}_Wu3l*NBBd>S z^UV_6F4V)izdf)wbhZr)yslJ?ecvq7mEI{~ZM;Ovc?R>mJX6yOp`UV`+p7nfyB(6*(5!rXG zodc^53-vuetcEk*5(IIBQ5TK%aIr{nj@+$0LfPVi^9Z{$%hig`C#Ca@Q)^=j>0;v4#ug2FDI$(Q z_^Gu+!L_NE4bp?CjsC`n%>d3 z3!p894Dd3-DHGjjesp)#OpozA^T3?E<^Qa^BwAthW8&IdeS5)gnHld#Jk5~&iA#R7 z5h-c6^(1A=c@?)_IrYB(-L;nzliJNg+4&D8NA!);yiS(!-!Ipt>`)P9^u4J>hfz`M z{~&B0>}}j&*GNe4jw`IXA9Ie)t!wekivaa{_FH;Z_0;rf^%u0kR9@wfLq*F>1%Hk* zBFQTQj-guUD;9E6rsn+0Q_VbTUeN@qtx%~5a#%_N#sp-w>_vIEPg7m6YZ@G+rt4}3 zk~Gslgzu2mCx{^a)2eyx91k_SRf_3D0hm%Kb%NrqCT~*pQL~lm=H;VVnp{4#w17~^ zGw)ck^F7_AjIWHTyQ`f_QMiuE^<8cp{HIo#)^*$%y6|xkFXX(969FvP+u)9l)OE*%WI^iU)W|-KX{A( zyrx$(P&=pcMQOCCx+WcaQA0srAp;mA6t%cu6*U~>4Vg;}8eOG3Uxysn9F2qA_EQ3s zpGkQ^)YNm+ZEZC1+i8Q>tcS$$FHQWcSBwm?Ky%Sk?Xf?z39(b?1b07pYTCd?Z9E^t zJGsCj7e>Q*aAJCFfRe(#RUtFE`QUZWn>|-pw0}k#Y8rm{r?eycokoI*A&_Zk8p;^| z_#oR`@6Iph3_@ZwLRQ)I(?+V43VNDrsGX>%%5A()T-BEx)c+F!Wf8rKxbC)qgT&tR!AA}0J8MoSW7vIJ*1y}fphHeSP_D9w*~j5iZy5~j7T zI*ehimmT*mc@`31E!)@>MA<)@)Y!Hpg_qo))!d?MSTNh*wli=BG`?b!X<&hU|xziLHjEGfj4>&R;5s~WINP6Unkxg=Az=LCkr^E zJPYt7Y3N40(C015tw=fPiSP8EXH9T7)_3xv8hFIrZHnm?CvnVT5E{s4Aank^;VJdk z4$YrkDd{nugz&AafRsV`y6Fh5OU|*2OCCFcc--vY?nv`2)_;1Km6|Tm7dT3LdIt)LJwZ`}{*Q2>?IwbM6l*!IBm}_8Z-k zi<g@&i`+EJXFe{k049wSI)17+_piafP6rC*xv$M73VNvpv^NR4yKp(PI5i z#Y^oRq4ae}Re%r2SJ^^WWFby%O*(k;WY9x9mFfP;g*xRzi8IVsEfpzi`4+nU&lXv` zJu4GU@FM=&+nN>Fc$zYLs|nF*+1gjiQZJc|;l$*;HdOMs1r2tQlWbP=>TAZY<76am zZHZo_BOGX7)Z|H>w`QQ8{!B67NZn3ej*ratO=P7ZGyp0l16CTjBRC_+F^fjTW+{wh z5??+f+ApG9(>*H4ScDBgXb!q6vntq&q)bT(fL@oVI(tUT#R#WnKXGdEF6uONN^of~Z6x+89!uG)#}*2mDE9k;^7G*@Gs28TZ=PepfA^Az)ag&Jq}5mH~7(=Vsm)!#KVkG#jLZtC?c#0ni@ zBV~ooBMkQsupx;PV$vwLbYthQ9_^XR$;jUzHtJ!L@Atpk?&u}@%;9Gn`!&t4?6Pb< zSP;nP+0ntl_~*2_?e)g*hPUe0?m1L_zSRIlN9?|-3HBG(Ki*lXJY0F{Oq@Q6UEu{Q z9uYNLESm~TbiD;)Uuov9)bq}8l$ea|0mQB%n81UrNsF$;;x(B#+lR>%4_pV%41E0< z^Zwits7@I#ZaBLu2MBF*Seg?=`X@VSEWL9~-;sZ+tK!LpP2|cu@%OQH`C(62QE4EA zGldbF(eRmO4?z_6$JDtJVy3iIm@}=(p505`FO4*Z=?>UaH&G;r>AoLK@1{EwD&wa0f)!na1l}HF7pi*xlJn(V48=7C4>*l zq&i-CN)1LK=v+ON(X$Hihzv^$3^+{WCl`w7T$sCQ)7nQj8DE2=q#;cG zU=1t(9?LA;$k4+!Oy9;WvlW{6-;3?C=yE1O0!a}QMZrD_o zc8LhKpnCM=rNFtGx9YQ6r6?>ujCZ;qp=8TZS}QSWWEfE|8LObdz!9(7sC41VdmE@! zF8VZO-scpcWxDUtiMkRJ6iPd+P`lW3JFbE{w@F5HDrIw(Mob{*lF^6%b5Q+j@AYB| zHRtbjkI{xUuxM}qh7Fz{hD-9=?j2!h7Ag6RvFQ}IZl{K-zG~xtbYnFPub)`~x-~z@ zl&)kmPJgPRB19qgfi=1G4pOBSM8-Iz4EYdXNnA@IB|WFSE(^Vr9CDI?Med$HKr09) zB!yK{6OR~2t|18p%-lq>gmaZ_KGOcd1m?T_k5_MB z>6OB>fB0z(zSXjB(a?Jd*ex=kEr~6jqq(?*q4p;Ge>`%=X<`I-dg5?9Naf)3FW){P zq0aSwRL4$Q?8odmKmr-jRWcP-`Z2^rdZVP!J}w`vq7GO-w5-??6>u4<|6=!oCcQ$k zro{~f$j|R{+Ew$E&5cRG$2c|E4M?_+>tqax+hp;6{b;*Wj=XxRTMB|3TKBXms(8#3 zc%rg*erYn(@5Wr{c1=OO+4S-hUb^A|PIIb)qvoD|c$lm&1>pqSn(;GemoQ@tc*acNsBuAD1*X!pU;E^fzv8jDR-rVe6NyRX z{D=M^``x^)Rua;e5{=!^U*R;X`}X+eoCNY{#f`ihEfLVXDY4W%QvR!5SY=A*d82 zV83}hVa8o;5Xv@`oyUWF)K6(UI#iQZU9z)dL;x@-pf?anFhHIxQm&BczoS+yMAd{+ zB*C0OIS@KAIJ~-tz`*3Y4JDUK$KnHvcsPqFm%k8#A@cgoP}nF?COeT|F)Au6(2gIe z=Dirc#i1o4f<`ue-Ao!}-%R~o-}IWxb%S>#z~tycxS1DrVoUr%DmQ-tPlQ@qe{?aq zL5QEqa3kbvyk5A2&5w4g>6N(wuJJ~l3UgOVPtYjWjl%|k&myuga_^E}4M4zLkzE%P zvo=T=!D<4%jLoafJ6sk0Es`W@5;5wDpdlhz)FFnQuKj~2dVHh`3N@7@BVo?Uwg8?( zAyi`AzBwBea#> ztYl>8*1rek@nz~;h?5rNfIX!78SW;64)t58bpOi+UG9>WlmA=zmW%w+cZN6{3?ylf zZiIU0a#SOcHN-26VT}#Y$tcKf)4B3_7B1W#H~L)&)h_OH*aUYZWh#*9KYmxINb~;9 zZVDc`@0o{5L*p9609UMLWyr*AhZ*?A7w)Mkk1`|h+5GbY0(rj)w-%S8OyoP|oHC+& zJuT>KC0?vOIR$idKU>-Ve676&6hROctA{NK zP_y`P#CofAq@c}y(gv!JRsmT0&PdJ}0VC&Q$|6omhar;}cVsCYIOv%U)Jn1fzy_`u-DI2(krySmZnZ_q9EVw^l2i z%7nyndU+gdK-%VXAj)`VO5_eF3fB!e5GNP&Gw`a~0JS<^usn_{CLT!PR_)motnme` zkik=)Pt%KSF@m|pe@EFBoAk%k7#I2!2Z7j~XG$`#c)4^#IWy2GU_l!4Whl3>uzw@v zxFdT}mW}wV<%(rg%+)SZDV8^on`;Dm>-(b;@fy@Ba2Z9)LCT1U;pTKX+x$xW)}9bS z^_Xdu*Y=VyCB8iF&Q3Zn8k*52T=?5FbnVBWK)<%Z@T-~mO}Y@6A@s6GQf@cTWXHZNeFo%1ya5c0w-4)Nd35OxA|Wu~md6Bv}OQ z&+oL=amEShN2zh079?<`D4hq5Ft0tV-K6iH(sWq7m$UBZl90ANbs=({LN$|$_YZo_ zJhS@#I#h(Rb#1gF{xGnnwU#QX$Eo&Ve6OCDKuHo&v(i{#=iYG`F8^sfb5Gh!b>RBu zMEwMU+aJP2&KVqs9(DC;kmLFKW{?tf`OU@O(BNN98-80N{U{hWxzOSZpCn}Uw!9J4 zkrfImqbv@N5An_t+RRHKF}gx4EmmyhLNi0GVe>s|9>+r6f3p;e1YPGmr5l9?sL$Z; z0r(p+$hnHhG662_()34xjv-f%RoXP=7t>DufHy_|;*aUe=_WO1ragnTt%%(tj@A?lhF4V`0xh({=Nd!zU{b#S$uS;(0)YC`NnvU97{bz zdX_12da3(r6Ooj|SmHQn$o5i?9-nBN&P%fV<~5W(l11qR^_~9Kp&tcg%>tCCMf;I- zOU`bw*l8b|f#5N)XSf|swro8JMt=$bFr^|d zZS5wy?vk(SqEk1?!0#(RpcOw6Qzbs(d$vo-g#k%0403FrOW@x7gR61=EYNvUPbt{k zHCy4#(TYDI31fBoxO+(0yQslIX^@oOJNa*l4jW|@B51x|1)j*l;2nRe?h0gGiVDfa zfZ>jCGQ5W}nD*b(>~zJQoA;jqF5`kER0IfDGLe~TL`?y2&V0L@@Y)MrhcKB?7_yxY zhUD;!%hxC34Pt~e+5n2?S zQ7$0>9I2QnN~uDFPK`c+(sG^Qq^KBd_unuX>%F583)1!z2_=oRiXHI{7TLhw9K(N? zwv)d3RU8L)*;A?q^ zq=6#TA_$YUEj(WiBher-*Z1jrWWJ~3<}AvPZO*G*(n|mLypnogDdK`rAU|pNd>(i6 z`sTV0uD;^%lQteHvzLJ%oui|qq8BFY2)pt*r0+Us;cHoNqB%63 zFoSqQRmTc6_90kpH$NExg%#?(3OjRtA~_44SkU)bi4b27rxCq1$%EQB+TK^Xz}{55 zL?3l|*(Y{NH)HN4rf!6bl&oQ_p29lcK)q_^q_-p{o1_vzU{fioz-QBt3rNBwPbale zFV!3SQ0pC2u2EN=qPR=pW4$^5t5v`e3q2`jXZZljcrS{iRsyrLB;8Of(iH->JM3(0 zqkWaGBV84!1J`CqyZqvzXw5*D`e z7%jAYjXnTKf<8yvs6JHguuL@%Mv%@}F}2GSp)F^pBZj?3bC=`zMu*7#}cK*)m zbfiCYSH=m+`Cj)x|A*tC>CtBl5iYj2E6}28B!mVE7*ibhg3(EN^&#mZYDdrtoU9%^ zqsH(F6L#BTX$3;zL9ychCZM<+j+4l}%+8me<<7=e$+j2-Zk(Z~P>F?}>cmpTr}vq_ z-@<{LXJyjXv6i03WXv{i<3g&ZuSez2sfOR7TI^-8mh;Xlj&tQ4TD(T1v!I-uBGuQD zWIad#%6mC?3Ti?8kvn{~y{vsC198UMp3#Sl^j@?&jtWc2i19_RaLYRK6u~_|&|@0` z^k(UVs#3mr!PzATBfU%PMeqkrkHNP9va^Ufw2Okxhq>#rI3n3Kw;?F=sLfPj@H{YjwmL&NFP$@3UkLb7I zyom+>+`x^(vu1@}aZ{D##vWP8%Dhf%|IBt2&1HrxZ359$=n>9}h}77;9T)V5u*-(B z|0W{>fLM?G_TK2^!32FXNO$y-^P;mbxgGqUc5Fzb>7M^pH1JX|B5_k} zBXLRohlm2|{}Wmu_^%N7pV0qgj6fiq|D^{6`e>5k{0%SVG4eB-pEn5PWyj*`=51&0 znvxiflOh&H1RWTVVid&>?HrVn7sW&JUvGc{fy(}|t6=^=ill;5uA?a7cSHYE`+op- CkY=_3 diff --git a/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java b/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java index 89c59a9..e7d0230 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/Definitions.java @@ -29,8 +29,6 @@ public class Definitions { classifications.put("Migration", new WriteClassification("2bd24882-b7d8-4d30-8e6f-a7ef00eb33e7", 1)); classifications.put("Migration.Logos", new WriteClassification("de96f8db1de44cc6841ba81c00b9db8e", 1)); - classifications.put("Test-GEXCE", new WriteClassification("f1d058987a3043d5b021a819007ff3c0", 1)); - classifications.put("Country.Global", new WriteClassification("dff7666b-326b-4e1c-912c-a7b4006c8500", 1)); // /Definitions/Animal Health/Country classifications.put("Agencies.Bayer AH", new WriteClassification("8de5ef0e-3c6d-451c-b82b-a7b4006c954c", 1)); // /Definitions/Agencies/Bayer diff --git a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java index ecf4ace..9ea1d78 100644 --- a/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java +++ b/AH MAM Migration/src/com/bayer/edam/migration/MamMigrationSelective.java @@ -57,8 +57,7 @@ public class MamMigrationSelective implements CommandLineRunner { static final String categoryJson = "resources/2017-10-19_categories.json"; static final String categoryMapping = "resources/Media_Assistant_Categories_131017_EDITED_without_archive.csv"; - static final File entryLog = new File("C:\\Temp\\Migration AH\\files\\entry.log"); - static final File problemLog = new File("C:\\Temp\\Migration AH\\files\\problem.log"); + static final File entryLog = new File("entry.log"); static final String fieldSeparator = "|~|"; static final String lineSeparator = "\r\n"; @@ -88,9 +87,7 @@ public class MamMigrationSelective implements CommandLineRunner { // readEntryIDsFromFile(); log.info("Write log headers for " + entryLog.getAbsolutePath()); - FileUtils.writeStringToFile(entryLog, "Location" + fieldSeparator + "Entry" + lineSeparator, Charset.forName("utf-8")); - log.info("Write log headers for " + problemLog.getAbsolutePath()); - FileUtils.writeStringToFile(problemLog, "entryId" + fieldSeparator + "Entry" + lineSeparator, Charset.forName("utf-8")); + FileUtils.writeStringToFile(entryLog, "entryId" + fieldSeparator + "Location" + fieldSeparator + "Entry" + lineSeparator, Charset.forName("utf-8")); log.info("Read categories"); mamCategoryTree = new CategoryTree(categoryJson, categoryMapping); @@ -210,7 +207,7 @@ public class MamMigrationSelective implements CommandLineRunner { // Status "Released" is weaker than the other statuses if (p.startsWith("Status.")) { if (p.equals("Status.Released") && record.hasClassificationStartingWith("Status.")) { - log.warn("Classification Status.Released not added, different status already set"); + log.warn("Classification " + p + " not added, different status already set"); continue; } else { @@ -221,7 +218,7 @@ public class MamMigrationSelective implements CommandLineRunner { // Business unit "General" is weaker than the other business units if (p.startsWith("BusinessUnit.")) { if (p.equals("BusinessUnit.General") && record.hasClassificationStartingWith("BusinessUnit.")) { - log.warn("Classification BusinessUnit.General not added, different business unit already set"); + log.warn("Classification " + p + " not added, different business unit already set"); continue; } else { @@ -229,10 +226,10 @@ public class MamMigrationSelective implements CommandLineRunner { } } - // Brand "General" is weaker than the other brands + // Brands "General" and "Others" are weaker than the other brands if (p.startsWith("Brand.")) { - if (p.equals("Brand.General") && record.hasClassificationStartingWith("Brand.")) { - log.warn("Classification Brand.General not added, different brand already set"); + if ((p.equals("Brand.General") || p.equals("Brand.CAP.Others") || p.equals("Brand.FAP.Others"))&& record.hasClassificationStartingWith("Brand.")) { + log.warn("Classification " + p + " not added, different brand already set"); continue; } else { @@ -244,10 +241,15 @@ public class MamMigrationSelective implements CommandLineRunner { record.removeClassification("MediaType."); } + if (p.startsWith("Motive.")) { + record.removeClassification("Motive."); + } + record.addClassification(p); } } else if (n.action.equals("brand")) { + record.removeClassificationsStartingWith("Brand."); String brandClassificationId = "Brand." + n.name.trim(); record.addClassification(brandClassificationId); } @@ -348,7 +350,8 @@ public class MamMigrationSelective implements CommandLineRunner { record.addField("byr_Title", "No title"); } - record.addField("byr_ah_deliveryDate", isoDate.format(entry.creationDate)); + if (entry.creationDate != null) + record.addField("byr_ah_deliveryDate", isoDate.format(entry.creationDate)); // Project lead if (entry.user != null && entry.user.get("id") != null) { @@ -382,6 +385,15 @@ public class MamMigrationSelective implements CommandLineRunner { if (entry.creationDate != null) migrationDescription += "\nDate of Issue: " + stringDate.format(entry.creationDate); + if (entry.categories.size() == 1) + migrationDescription += "\nCategory:"; + else + migrationDescription += "\nCategories:"; + for (int categoryId : entry.categories) { + migrationDescription += "\n" + mamCategoryTree.getNode(categoryId).toString(); + } + + description += migrationDescription; record.addField("byr_ah_description", description); @@ -422,13 +434,12 @@ public class MamMigrationSelective implements CommandLineRunner { URI location = restTemplate.postForLocation(adamHost + "/records", httpEntity, UploadRecord.class); log.info("RESULT Entry " + entry.id + " migrated to record " + location); - FileUtils.writeStringToFile(entryLog, location.toString() + fieldSeparator + entryJson + lineSeparator, + FileUtils.writeStringToFile(entryLog, entry.id + fieldSeparator + location.toString() + fieldSeparator + entryJson + lineSeparator, Charset.forName("utf-8"), true); } catch (HttpStatusCodeException hsce) { log.error("RESULT Skipping entry " + entry.id + ": Error while creating record " + hsce.getStatusCode().toString()); log.error(hsce.getResponseBodyAsString()); - FileUtils.writeStringToFile(problemLog, entry.id + fieldSeparator + entryJson + lineSeparator, Charset.forName("utf-8"), true); } }