From 6a8915575e205d965fed86ea0a7ce822e0c0dc41 Mon Sep 17 00:00:00 2001 From: smau Date: Thu, 26 Mar 2026 14:23:37 +0100 Subject: [PATCH] Add Ivanti provider to ITSM section --- .../open-tickets/ot-ivanti-architecture.png | Bin 0 -> 52397 bytes .../integrations/itsm/ot-ivanti.md | 113 ++++++++++++++++++ .../open-tickets/ot-ivanti-architecture.png | Bin 0 -> 52397 bytes .../integrations/itsm/ot-ivanti.md | 113 ++++++++++++++++++ .../open-tickets/ot-ivanti-architecture.png | Bin 0 -> 52397 bytes .../integrations/itsm/ot-ivanti.md | 113 ++++++++++++++++++ .../version-24.10-sidebars.json | 4 + .../version-25.10-sidebars.json | 4 + .../version-26.10-sidebars.json | 4 + 9 files changed, 351 insertions(+) create mode 100644 versioned_docs/version-24.10/assets/integrations/open-tickets/ot-ivanti-architecture.png create mode 100644 versioned_docs/version-24.10/integrations/itsm/ot-ivanti.md create mode 100644 versioned_docs/version-25.10/assets/integrations/open-tickets/ot-ivanti-architecture.png create mode 100644 versioned_docs/version-25.10/integrations/itsm/ot-ivanti.md create mode 100644 versioned_docs/version-26.10/assets/integrations/open-tickets/ot-ivanti-architecture.png create mode 100644 versioned_docs/version-26.10/integrations/itsm/ot-ivanti.md diff --git a/versioned_docs/version-24.10/assets/integrations/open-tickets/ot-ivanti-architecture.png b/versioned_docs/version-24.10/assets/integrations/open-tickets/ot-ivanti-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..22911148d91ce044dbf9b85a11346a7abb713910 GIT binary patch literal 52397 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 QYu3PzcsNxZKK;x80++m8EdT%j literal 0 HcmV?d00001 diff --git a/versioned_docs/version-24.10/integrations/itsm/ot-ivanti.md b/versioned_docs/version-24.10/integrations/itsm/ot-ivanti.md new file mode 100644 index 000000000000..e97a9580ce8d --- /dev/null +++ b/versioned_docs/version-24.10/integrations/itsm/ot-ivanti.md @@ -0,0 +1,113 @@ +--- +id: ot-ivanti +title: Ivanti +--- + +## How it works + +The Ivanti provider connects to your Ivanti Neurons for ITSM (formerly known as Ivanti Service Manager / HEAT) instance and creates business objects — such as Incidents — through the Ivanti OData REST API. Authentication is handled via a REST API Key, a Session Key, or a JWT token (when OpenID Connect is enabled on the tenant). + +Since the provider queries configuration objects (owners, teams, categories, etc.) from Ivanti at runtime, those values are cached locally. Logging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-ivanti-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Ivanti Neurons for ITSM versions: + +- 2020 and later (OData REST API) +- Ivanti Service Manager (ISM) 2020+ + +## Requirements + +Before going any further, make sure that you have correctly set up +[centreon-open-ticket](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration) +in your Centreon instance. + +### Ivanti prerequisites + +1. A running Ivanti Neurons for ITSM tenant (on-premise or cloud). +2. A dedicated REST API Key created in the Ivanti Configuration Console under **Configure > Security Controls > API Keys**. Note the **Reference ID** — this is the value used for authorization. +3. The API Key must be bound to a Key Group that has the appropriate roles to create Incidents (or other business objects). + +### Provider parameters + +| Parameter | Example value | +|---|---| +| Address | `https://mycompany.ivanti.com` | +| API path | `/api/odata/businessobject/` | +| REST API Key | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | +| Tenant URL | `mycompany.ivanti.com` | +| Protocol | `https` | +| Timeout | `60` | + +> **Note:** When using Session Key or JWT Token authentication instead of a REST API Key, set the `Authorization` header accordingly. Refer to the [Ivanti API Authentication documentation](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) for details. + +## Endpoint details + +Business objects are created via the following base URL: + +``` +POST https://{tenant url}/api/odata/businessobject/{business object name}s +``` + +> **Important:** The business object name must be pluralized (suffixed with `s`). For example, to create an Incident, use `incidents`; for a Change, use `changes`. + +### Example — Create an Incident + +| | | +|---|---| +| **URL** | `https://{tenant url}/api/odata/businessobject/incidents` | +| **Method** | `POST` | +| **Header** | `Authorization: REST {REST API Key}` | +| **HTTP Status (success)** | `201 Created` | + +**Minimal request payload:** + +```json +{ + "Category": "Hardware", + "Description": "Ticket opened automatically by Centreon monitoring", + "Subject": "Host DOWN - server01.example.com", + "Status": "Logged", + "Owner": "JDoe", + "OwnerTeam": "IT Support", + "RequestorLink_RecID": "" +} +``` + +> The `RequestorLink_RecID` field must reference the **RecID** of an existing Employee record in Ivanti. You can retrieve it via: +> ``` +> GET https://{tenant url}/api/odata/businessobject/employees?$filter=NetworkUserName eq '{username}' +> ``` + +### Error responses + +| HTTP Code | Ivanti Code | Description | +|---|---|---| +| `400` | `ISM_4000` | Invalid or empty request payload, or missing mandatory field | +| `500` | `ISM_5000` | Internal server error — retry the request | + +## Possibilities + +As of now, the provider is able to push the following objects to Ivanti: + +- **Incidents** (default business object for alerts) +- **Changes** (optional, if configured) +- Any custom business object defined in your Ivanti tenant + +It will also populate the following fields from Centreon alert data or from predefined lists. You can extend those lists inside the provider configuration since they are [custom lists](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration): + +- Subject (host/service name and status) +- Description (alert output) +- Category +- Status +- Impact +- Urgency +- Owner / OwnerTeam + +## Additional resources + +- [Ivanti REST API — Create a Business Object](https://help.ivanti.com/ht/help/en_US/ISM/2020/admin/Content/Configure/API/Create-a-Business-Object.htm) +- [Ivanti REST API Authentication](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) +- [Ivanti REST API Key setup](https://help.ivanti.com/ht/help/en_US/ISM/2023/admin-user/Content/Configure/API/Using-REST-API-Key.htm) diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-ivanti-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-ivanti-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..22911148d91ce044dbf9b85a11346a7abb713910 GIT binary patch literal 52397 zcmeFZcT|&2_cn?J8v=?73Id{l(nXqrfQs~{RO!+}3n0A)6huUt(mT?7hfqQhQIHal znm`DkNQY1pN+@R%pZ9y-@BDSvI)9vRo%PFFERx)F&+OTI_O-9QXYPbNQCuh z&%RR7bD^N1X(Rm|>u}7sprGh^qWJW&mZ$MDmeNy8ccNoG?zqSzJl5W$w$jLJi7%Ef zM=rGifk5~aI4H+5{v6O4#~PhD8+G9f%Xk-a)?3)bYgn zj8)%BmtHIwoAi1uFLCnd*x&aT&I+FW`!4MwNnY@py7vF4uiziMx|FV5zI;bWNOK8Q zh8nA}tFav}3~xJ><*ax*hCt$D{OD9W|TdT0C+S80!YfBE6^ zoW7QsKL@x_a)D%!hn2|6xt_#Jbe{0<31W_EnDmetN6@+5EmG%0ZMf>Vj~_44xx#}h zpriNVnvYSuF8Ppfl7iw{a9CKFJvL%?CYhFZKKqNBgj1iQX8Bjt&z{~ za>Z|Pd9vTWeJKVggZ{A!xP<<4Tt##2RzdTpv@|tR+wcfd&o{V)gsSv{vcLT3>!bB6 z1T#wxB7L7}tf&|=OPZirQrnC2mv4NfOx84k2ca##u>*ndbeAs4+*EO4gwtN`#!^r` zGG_x4z0Qw|iyPsMuceGkNlBT?qXGI-B-!qUt+tL1Hzy}2d!ukig?0Z;$ZgPCjx5=8 zJ7ki`b3q=iyHI-i$3T84Kgo#bStVuV*iWB+{qC)_?2h^P@$=4(C!b#B)9!cyU1#S? zgIr6Y5JqJ$FE6bib|xn$Cz4#{qomPZ7V+@#3@#2AiFn`)!&xNt15Z(JJmgeKn8H1a zOG;|cGyQg4yZSpj6a9+loZAT?9!d6+_TwKZQ>GqO7ntv?{c?aKbD{i_juVX^f6`I6 zL3~N;;ma(!C0{S(m}-(R7yBuZ+45&mv9VY7v)a0PdcwN&6yH35@#5-!6i}q697*p6 zD(>#^T=jGoIzRZI_u=7g-SdlP#Cw#drxeQ48|12fa3uC6KeM3gCTl@^qTLAiaR`bvjk3e~xveq9||; z+a`X{%$OwZqpZ%pKGe?ov`l6%{JP6*Pr;QKXb6L#P29lXpv)5{fH@2#t^K^??BXI~ zJCy%1p-M6=QOL^S{B3u!s;P3iaP#jUu8%&i3r*S#m)qW35@>A>u&$GGrSBs*qO7fN-p!@6OuC&veMF!b0wy6%c6h8A#sh zsq^9m+QN!s^y)ne1%+oJBZB^izPks9Q?*xtD;twUn;HdcIoVaEQV_Pc^$}PFAlfIA zmx_|ZgeN@{6XuV36yG2f4Nw35ky0aNlEBGtNlhLmKlE}|NU^actHG3mQJ$;@D$wiS zn;}duPIn~cilW~lyvuh*f#YeB$5fP+m5ny}O@Fn&*^!RO0Tw8d?5=5-uUrvHP7wCn z-}(53PW2YwUx*SVhbPad^z=!nnTD`{Te74NoSTOykfbJxK9bqLM9*H1hN>jq<6y6T z+V-NtjIs*&$rlI-IVjYV2JeY6Wywd_l1wCi*hNqg_(nxb_|4Lgg0Du3P~ zOHzeKqan3Je2lndQOAjgwJH~Zt_4ZR{@SWYx6Hv^u=5>qEK$S8wmc&iKaWW-`)QjLJMGC#PmY0tnLn=zlFc zs96-Ylh1QD;(JamON^PB*?81b(1Py`$-<01IGT~`0a5mMSguEh*}uSQ1x5w2CzGg5 zc@9b7M}aec{s`}qOy;@k+dP#A|0LP*z-9LBx1<#>^nfUYorFH*KqDFw6qj%N2G_2r|SJbsQKx zHYVmWog+N2!giRuukSQKW0$`!TlK#Gvej*%4NB=)@0`3mJKT6Z8=I8@O)_&FfKXpj z@G-bd(hM{%7k+K~!xbJ;FZxKnTUFD6S-tS9a4%01A>aZ_8~PXQ^?0qx&NT*&yv5J& z5G|vjN=Zqn4~Ob0OpP*{?{3U+^Yhb4fvEku^xlI^u5y|?B+dR9qNQwfG&jIynq zvsXTVZy8NO3Gv9Ml`xVNa1jy)SzoTNuV)mo)l&F2%F^DGD8wYmKKy5MH|Eo)j2z{7 zQT-Q{uPv%RR#sI7`d^{L&M(GCqu98v`!J7`nXKZD*S`Ao z)msb~5fak>`+F$XPolhdIJ(HMUHfktO%Cq`8PD92ijY@X1H13z-y@%bBf zgkFQ0m0OY)#20$2s<-4t>c{AU9%v{oE}mkg1~SO~4O!v#{E|L|<&PKshQbe_p_(Mn zhyoO22I{Ii0;w({w$fB&yCE#zCEiCcmkE?atK(I<#@8uMRoP{3&XG({V$N8eGM&)B;V_Snk&o6n%)CmarMTn$+((B>>(O*G1 zTPDjsd^i^y7gv~{uK<=_7ZRxr!aZ=5n8d^aFmJHT5uf7X;OqXFbPQ^R2>4!1eEeL5 z06)Kuo?aqw7wk0PA5a03$tc{)6)c=O0{ZswOMnb>^BFa0g)#`}0IoaRn_8q-1+ibh zcrq8teYd68aB} zb|B*Reb0^M(QO!2r*ADREDT8J2C625@9TVv?jO8$>>M2R*W_AFb035UQ86@pu~1%w za_SDs-NFsyXldGKMPvs2jqf%7t0g)`JTAK(c)Xl zt(UGFX4;^gAA~By<)fPb3{X&$!$){moVMOcB~?|o)|+f>k2mM~P{6fByf!StnI&{? z$%Xy=$R;Cf{qwUbi%c-haQ^cw5^SlaifdO{^|^my2OP<6q}ZwI)$&6qp+Aa4`ANXJ zEN}D@#OLnlsi|bT1%P*3WG<=-@j0(oS8)&oyr8r{OFsB%y1k%W#PtFaHFm2Kk6={6!aEgE#IL4 zP%ea#@Z=^p7nhUrFf?Rrsx?sNH$?H4X zhK9u;)^T3?1Z{JK+_E>h#l@uvV6-)!9w5amY1utx3#E{GcmC{IQOwfS2hQwFP{%y; zUtfbr$khA|3@AiGg&QBx%?fZ+w^zlZX&oe=KYq%b$Ou=tCnhGg;|$g?k_6qa?|e#0 zS&sWa*+B{|*s*{%N^>If=;&x`Jjima-;u|A^X=O=&MGmDmlvXvW?#MoszI`n?u9t? zXUeMbvxhT^aI6z++^x;ehZ|0@xWNtr%2-p%fLt7HP0)O!I>^BR|1gW zvr44zNm!bc7!VM^>46euY73^N4Y?SWD+%JP*7N5VeM62@yyhfjOOJ$v%-h30J{!E; z{--lq#_VL)LZo()j-Uidcv66QBxJ@qp8R`56gM%_C=YUywVZRH>$@cLBj5JTxjg5* zKO`K~nu|gD6u+nl7$u2yi#&XYWp|uNr=BA4fHNVqVY6ag-Q9r#dLY_9B~PA{OuKE9 zz9!svGE?w;Dcn-wfE6dDQ9o5kOV|2TRCILmpJH~2IY8jwy*(|r$wbA#&kokge;V-q zI2oLjdl&5~(IEHy`SZ0LKmwC)kYrOew6U>?PKmV$WV&>VVtck}+q@}6DhHuyMT(R9>fJ{N#BJJZz&0KpF6PjBK}gS4RT7h&hjyF#kdrg(F|w6SF`KiP z6Q^mkCYxcydFrg~qAa)MBhH72V{8Gyk#+g|Z$ssHeyoEz9h(i2(Yzyq`m6-TjGdjG ztjvE}00oZo17dAX6>%-hUIJSG3t*MZ@7@s>Dtg|(8X$N0brzW{uVUuOGMJ}M8zN!g z(~~ZpPFfF_n=E9drto8wMXtr~;K`Fy=9tJ8HqP(gzWw)DgkR&ok#Emlf)@!| z{P_6sV=J0)OH_1(FMM35trS)7GDk`>0q((-?62Z9D@IttcOCMmK1w~KOFkWB@Cu4WD&8qyMN1_^(7 z0GJ2`{3^od>SG&BM1^@rL!#MR(r7P8YJ3?AVu^;aF^f4U4NY38YkA8ZW{*VyTj9Kd>mG#3hk zXHHHPEU>NTsm@(oWR3EYOhf@Edx^Ef-$oYzSWyUz{na?2%2^(hFx|Oy|7JC*U5ixr zF`I^k+~lDmT>(IaPx||mOx-j6dNL=acM8pJU+m*ot^V=aA-|-&CMLcG4d)m?cl^;aApj*Z^D{k2a62H}8`oLbtC2 zo+0X2CfN)-!lO)D*4J0iJY|g3+2cM{{O4X83vi+lJ;^7)a7ttirD=Pj~Nk=%(bcJVhG)r0aUf0&rs!MNjUC_V+IdCsRwLop5@QS7FsdSeE*UD^HRrUM#??p)uiPG76;0gas=Q6$L@z%K@24nR7tUS)p zyP`5bes|nX_pKCc7&^~SZ^`?RGWcUshu=2VgDERa5{%!Np{Xt@!mdI2XJ%$$!e`Yj za9%1iSu99h!e9Jha9h3)k5HHmWc@57M7=XgVz#9gh?S1shi8Ec$aGn0gp zk3VjYn+2fuR&w==v7BSefqTgXZOtjCfNhyV9?nsfEW!!~@mkbt<4?IX=A>C1a+#E= z{kSJC;bHKOVZoEM5T63LqzM0gus!LKG1pAQh1Qu?S8!OvE8wy*Uk>F(0z)aI6dqdx zPQ;&vW_j`k7Ju9y(%neUr+-;6pI5K)+lun#>*2>A&wk)3{RwFFEf$k>)euGh{q^9y zbo*A`a=~rDUBsm1%u_*%{YZx7-CrP8Guma18y`ZM-K{Db;tVJ=BarNs619{a*{tmU{+V82rAzm180l8 zcC|H9Q&+`%E|pyH{@h9Cu}FB073Z+w0R4MKdaZ$hfdJY9-B%ya-ezMnoyPu#qPHzAhP~t!tD6(w*%&k-+Y5ftKQpjg2W8Y{eTy{isUXqw+#8vD!3A zAG!0-Kb<_C_|kn_7_)|9k=B^6bn#hj+Gczx#Pv!{jJQi8KSVU=E3w+mKIzGo!OJ!w z#&sx=Tz{_kJFSF&4%jp3lRj#c7|9#}`H)NmHE*y4ak3ha~I@gik! zXUUR&NMBLOt3Ji^%R1l z?*e4X2iV28a;`_J67~UT&GukCNw6a>Y;+q_!6_kOAbq%#g*cG{JNV9E;(Cnx#{C~B zs}OLkJI0LA8C8euklN{MB~AF2dl%iBt8R!@|TZG zT&jP#w_me@?jI`i*FOa%HTOyLw%_s04EuF&O#8aOYOHP2NNrD*{j0utsLL`4q^R## zLfPma@}8u=cJC>ug|$u^^KiN?jUa>K0OGgX57~DZd(Fi1kD#L}8qi@Jh@zzLsc?Ht zL%RLNA2$a8FK4QDa=(kn!c_H1A)M&@6Rpw~;?hT5DmM!s1af(6zWdBM%EtwZE?^^jkQV%z5K_yFlwQ(~7kl~qaq8+THIUy!0DwEZJUvRksEc1TyzDH*JLS8z~ ztbZonq_oBkHS*yJ{(Cl{i28Xc&L1R5CAtw5Xq-vj1bG_%=tAYoEv(06=iH|KzP^!Q zCxo4{nM{lO$@`?4@AzC0i-kp^r*cH>MxZIFm$^7cH{c}Tk**cA8{v(s2U%A>`Htrt zo^j7#)*ECeXrZ8-z%Q-IwC4G3!yD%qq66A4bz{KDBoDlCF312!=$B_5{-EfN5{;_` z4EQa1Gcf=1!=-r;=}N9di@Pshz2^hS1KBe#e7EKIK&-$qUk@G0?T7x3$>UjXP)FW{ zcumfOZxjw2;^-f~m;fo<1@g{wrZIBH;mzMBYvj=vN1bZ{1&*H~Z7i~oGadG(?Fk>I zctq3gY%&0jbBCZzL_xlC*g;U=J0z}--Ugz4rUBTYW^2nG*!uGB)$^wUE1b%Q7#^{c zzTL)QWkl00$zQj=d^)!SI8NQ!W3S(XF|V7^{d32yyWry@s3lBYh$eMF>gNqW%V!J# zIP)MX-W#2_wVyrv{PpXTzZcKT#e{(*%Q!F9ol)@Yqb6{B%2dL)ccDPQevsLH;Q==W zlOXT{7F=rtYJ3I$gNtBi<9{yxj}rc8CH#*&{0}DlKLSQ;r9$qUuMfFyBg=a5emTV( zb_eHLbiNa-ZP$<5ZJE~nN(^Ro+ZkIbQAF*O+q=H4k!Q#O?H|xZr)kG1+t?lGGtTKQ z3#W4u$~3msuIw$Z-)r*FO-ySk*6MS;)4$R|zZ7AvV~TL-Z00S({PlY<4usZ zTy&L5Z1(;98-7n=QJ=HK|o&S&_?&;Rm|U+h2P8JzBjUFw|X+4`LrySN9<8R1(;Sh|4S83_>9 z%7EvB&AX4W$1=iuKeP|kD44rV-yziyOCMI-RDKKReVzRafEFVo$I`980PtuGglUE&kjB^%9KAe%Ir8S(~4x(Exa8e zFdW?xzYsLYgYVwd)=#&-ebHA32tf+U{}F-`(evTlfs)~$!M^nPr3qy!xAltewjS2a zy;Awl=JvTvR%m;Ny@LNNer?+r`UQmfvvwQ^lOcWx^m0)10_fz07^^`h=18y5CqiKG z#O=7HjOZ@>kIpOJ`$Oj>YfK+HJ*j7rZY~yQPkmOHr*>yh=(f&$tWc3~L9n{z_g1UZ z6pvj0%Pe+P%DlG+%lKL27usDm+%D(h_vpbLU8^H5-8txcMTYB1 zc{IT@OHpm1uDcgG8Wzhe8wfv~v2Ge6#>+1Xw{g6~eU4iBL`>}7OoZTDey0+=DK+wdb3ZxvM>Iq8?J*XaMP|Cpeh^XjXYmvC+)nX@S`J zN=+BH-)~069VQJ^%T40c#s!q~meX_KL<5zsVZGB=3bE-*t_y;@-ZQ;)`2B__LLE9b zUX6X&nUd-ss}M0S%SpRrdkBJqRk;;#pLa}!>BD5=rCmV-*y{boJ>JE@KS@G+JbpIsvE46V%3FIL4X zi&T09#eLh;`iR&?Sv-ytCY(;6c+i)}pkDBkDi3|H*15?m&cx-E!y(u}{~7aNgK?ZJ z&5ELHc}H9P6B$3dWI~)-L^oBsEgL89%}FKhp_&u-T444NjW=qNchtpd1cqu^W9-`N zxGl5yW{L{aw5uN+@0iO~l##+Otq`P|d~Jh_#d8b=(hN&$NdXj)VNwcD(q~R~&ff6! z+&!aVDfNzJqx`Jxo}Yp~kh+8|T85ZPw{gD*4fAgen|3`bIL{Yp`5CWe4Yl#>`nw6A z6I1aDxh&RI)+?sHSR+(usN%gl+YW%=sPk&E^NTk)bcdl;4l zaofoA2e8%aHAJfjW3S>DRA#;#y8*0h?@hP`Vm3w;m!`A7w`JQHWt*1m;+Ks44m_LG zO+40$Hg~09erf9IX-k8*=XSQ9OQegZ8s%*F77iF#X)WU6Gu|ck^~RDVhGnTb8Di?& zHa)dcS7uHgJpu_F)xT;AFDU<6)|(zP|1ImD+lypgX1GrS&7`Eg%(Jea{XSL;zXvz) z)A5!{>YIpBg-_@-MM^FWrIc#x*TT)wCX%a!CDhWvqIZpnv>^_KV%Wvc1o^?7fLN&p zIqGA&3)3!zLj^{$6G!Sf6B0!lt0{T~wY}w@TDX7#CVQT(kwopi*%59Ij9o&Mrce;v^mqXeqe8H

(4kgW&kKP848b-=Wb#+c>uL`U$AVQ0_@Uq%_i(k26PLE@yq+2wAcm+Vb z#c3Dr;R2(a32B7JYMOS2M{nUP!Orl(qP7A5vSN*Kg_f=l0si9UmRj1{T(|Qc*`adn z@QXwG=EH@;B_`=Pzkd%*wSl9vVEgbtLJP*kE1n?6E^SR$x&6TDiCf1DAK0LTnH!5J zb6lD0)pH#h9-36;Y8Tes*`H7#SXokPjNPYB*1lS~^~?6v_h+=Zh#&3e;eW~;4OiQQ2GE{( zT>`c&|H=5?BEczPI=VvF_4<18S3vf<&~Pp0YURRE#o*P%j3s`g=J-Chw$@2jBV=6C z6)VNiJ%vEr_EKbWHVbM8-#zT-h8V~zWrpo7IH!jyN*gY^2rd{Trw+B|Ir0-0Fx|d; zdvxi|jp#f90sKN}sPEn?r4-D&Sv@^vb6bGd~othNDH#}bSN;Q!z zT`wRGOSvJs%%V)BO`c0ibP|*o{ZdU@CVrzb`L1E(hi{3$qNIJ%PpZ7;g^D+>epM9gv#=G2b2593V|!GNmm^8g{ZA+? zSXP4yS?SDgMZ46fFKMk{xn+sf#wN@$?!7|`w=D{NPy^-3_83c@BpyE8t#DtBMUSGP zZAbws-0z@*jdOI~D{zPivH3CRhg@AiHSB8Ok`|wRGeZB20fRtEHP!!cVJ$^P?S|E~ zhsJp942{QwQDzL?p3*Ir*i%?Gd`puzL?hi`pZ^XXp~txYT6o*4 zWq@8O*0ME{LRb>4KMd&*-anL2^n0dkY{Oy~w8kd35NlAXn;f@PE#HkFtI}@hwM{N? zGUpjLnh4O2Q&7B>BdD$@gDXsn9XfJv*~4;D*BLRs3Kk~BF2Z7zoD1XIjvJ3H z>ZJ{I(*#WXiJu9~C zjuP>3$mCQD!+NS^$@lgD>2y+3cu|6164Ewi@rFUUJ{?L`N!M-~HTyP!Q~w3uLv?Mw zf53P3@;{T!HlTIL-P$s2+TWlZbLmt5+Maz$txmozxbM7F@pD;kNk#)j#l(?fMHdt} zsJSU>Oy%A*R#X1!*EtV9EiGu1UF(jo-^?sMx1dw_Y>!^%*-Nvi2DLmDy{Xbc?II1V z3z`LOprfUg856_1O|(Q69Sj~e)p-){%L|jXMgBo6;kU5fLmbhJc_Z)gO2eS|N~IuY z$)E|1GV1eVOKz^SP4ASda=!a3n6t*eo8Y0IxDb76l7rgkQ4+pBrY8H)(mqIgMqfWE z=gorV!tYkS`lYm; zhVoT~hFuj@7J~4WUb(u`Q2E)sZ1`KqrX918^B-PtDjoItv)O7$&{dxlexp-M1$oWR zr~uh}2+<8#V!Z?t!?bZF7&3vDHzYviDh+K*2c!KAMK7? zpZOPq7|rmE>9{6oU5VA0(o_R>yE%Hhnr^kFA;{ciBQHz%NHKM)jzu?S1R2vV%@gkV zh|yLk8dt(1s%+DKTLThc!83T%$nT0@x=xH`kq5yH+u&VCV=$^r6gX0~r$gA~abSls zXBC!nb-MkBPuR)XK6lbzlM%T_crze%5)-_KGA1hKrR}{YU{=r7*tk@w&B7JdEFZ1%|gm+d`DXHR?;tVGG zn~Cm2Qbfb&cFRrMSNQWsixXZK7yD9Qzpw2vvHONN>az+JW)WV3tq&BMbmSH&;&n7*CT^Ew?C-D2yK$^k>#?$YD;C=_3_75GC?S*{^bWJ;E z41fg~jaj94V{00SIEMPo(qDRtkYVYM6v1w`2#1Ernxp~hw`EBSZyR^i}N#3NcO>p(cmzN6@WVyWF{fS)D z!?GYDw~&1LWj?5gkyak>hSx)8in=Q?&m`T?GxE_j6wZ8LY4E|n`c9v7QraT=Wfd14 z-N^h*e2a&vdAw0CDncUd65WkOCVKwmzztyaS*dxWd3G`RIZe+O7wZ}*cnwqV07l*v&iAI9cK&t-!yt14gKGjF8`4;q#$8L;;_B}}O9 z5FQiP+RAi`bmrdq`q!DxS(&!}4y3%3EUAeKb`4czg>3~BCXde5TJY_xGukaz57swK zN6=P#yIHGLZhwdPgZ2MB!R5X@@Q2Sne9%+An(ZLTvc+=knsgw!hmt?+&cOZWxk1x*Ba%BrBVPvr2Ir z$#Q$wF=Yy@n9%!R?kvL$?@Rl|)%%&?`KtdAB;(PX_4V69V^(Euz?vocH7}+QZMw%J zB&1X;oMPF8LZLbXi|Yf~bJ-VZ728;gjYlBQZI+`o23{3p))54c5uWMAax8wTdBjl4 zn0*lCrx}{lV%@=ktucR68~*DD=hXEKZ;1cd};Z*{iz>{ zx3P0^3Zp)kBEGX5NV$DE#w@leQsDDKrLyh{7bn)KgE(eR8%p2Wkv1L2qMv{5p=Z+J z!74)ZTc^U@SZ`CuC$p#nsKLFRL!zYXpHE`JFjhvXF`GU~0rze(d&P-d+-Zx|U3F<{ z7olCKocdISjK8sr9DcPg{m8c@4Mt$%;Nb8%Jg7+6YCZiXL5t|LB6)w~NAgh1(Pc5a za`p5OT+?VZs!IIl81$)+NkDw>G5o(}yjCg%@4b7z4Xe$DD+BkmOWX}hbR9gV|ZXXkZBLr)rN>MT^D-gyECbY*bc}FkGrepOaF03T z?lGaLF#tG=*RH!8BXHhth?8#V2Ke$RaPqFK9%d7uE#R_LaIoFt+qQJc=B<>&{28fP zfAhT5UYFMVUxEeV11~J{jqmAA)@zyEY8C7}-29l7lv6v2!*QjI;?Zk%t-bh%HI7Gb zA-#s+K-(FA#gi3?>wfF9(#&o{d})vjZ2=HGk_-F#4(kWi@T^vSqjBNjsHVJI+7xW{cLeQi znl24B$ZoVJSomZ*6>Shj znqHLvV=Y10Ya&()vA+?8s!zliV%+t1lhsrfb9!y6t{9{gZgt(fvfHKYfG-TGoRmPg zXb}nOa_8CKmJIs5vXf&=0_}3dd%@+KG({IHb|H2p3YekdHLm! zcUw4;;CX;g2k7Fqa@yikZj(W->)rw_0$H)rMv&b0{R0_zf!-ZVFD=||zg_3j()$za%ciKbjs}cZXV%$E!BOw(M6{F0k0IQxqa|}y? zw0IlVOa`?V#WL_UN z<6J%Rn{IJFbM&%4IK%J;FDL7x63R-yxs0=RXVx;IN*&5*6T<12Z)cXGFi+C$vsrv; zexcjZ@Q@lTw!Cz+vTW4trH}0Bc}dLD!ff(nKWrQJJ5Ha)rH7A+plfR~=VlvOHR%_> zG!yTi@A1GGCfMm0L5WNfy13G}jIThA#x0R!6P&A2Ql6^JJ;F^I<>HEUbF}V^Ix{H! z=ElG2lIL^7WfW}N5~QDR^b|#-YWmVTy|>oK%b6VW1U}|^M9E42LgjZHFzzOpWU+~RBef^G-e}06(u@6hD*<4tNSWh8qAS*!aGfVL0E$h zhjMMO4JwkGJz}^(=zQ?kBiNT}S~TIo_e}W_)S9hYy3`+9_Ln_l@1B54yPp zQejMxLg>xaW@0GDq^sS)(aojG*V%{@KO-1X1X2*2< zK2p%3!1T%2MSWBNa=B8X7sDYEHC5Uc){JWJ;r9tle6Jzg2-Q^Jq zi=m3GZ4>cAy`Jb5A7R(|^R>G^Q`Z^z4S!9X@UiC`(T@prEgAD-b^bBDx6ysbhB|iv z>ZljHdseb@mCMB zO@yS^i|&542<+)HJ4m^h*TTP2ka~%i-K~h_EOy9yp$z1)SCIlrPF3+qmy+3BxB6?J z?oZkJI|y+t>)@&&9CaL$pNx+anR|Qrf9|Yrx)N7bWy2Ummjhd5BNRYJI(~T9e$4fZ zj|1WHi0FmGU%?qT(G7Qoh6eO`7DU!KCBwr@PLnLjZkDY#Z`~5xSqpFM$X=Y$cWfHQ z!fuo;t%_mxeR@+)N^bnH!kvK4n`_fjou_9Cu(~~bn~zT(9Ci;(Zo0CcKp4|cxGD;T zteK{Hg(?nvY*(d&hbo$k63SJFSI{7Z)X)0-Ie#SW5y98QGebEQ6)lSpo0u=O>>e5R z;d}8q@h;nl?B}&^p`t!~09BfMH}9=Zkn04q9^&HCf)H{i+6b@r_BW;Yt%qy2x_`$Q z`OrHsGN@l0mg`JTGf;Q~VbCYP5UAYHm}sA1bv-&PMH*xc1)C z;m5HU^lCEJt6%c#V)bpR)O!feUR|zY4J}_T^4_#cZldEtdxk2mxXx#w>hwhE zodeQM?h_=PoVtx}yl*__?PKJEv}0ls+PQeMYSgMvayylPzU8YTj;lj}$PqKu_HdIf zdYMsTCWeSzPX792HCYIAUIZM+txco#=Sx{JiwI)(Ni){FTruhzZ@lOG_On(~Vl{H; zgD~;7lwVEn!_8mf1UlO}$hCw0&G+8%>LV7YmLLq1gD20jvD}*u_~bFF>?>D(#fN%_ zE7C8NHt%VRx$t8bEioM?Kc0K|2=;HPxAuEG?YlVcXru^F z(`j4NrX;4n`mu2ONWh3k_Y~~?hH`yTP6BK8S^DTSg3XYoR5)y`jLUI1HkBQWj~LP| zn5?2-dVQs7NW7Jxv?mL&7{#LO*YBlxAR_9YQ<(Hz;U2vXZ<1DU>>6vXeO!;GI&4PN z$l;F9euhjQg2VBbRPkvCRfq1D0O>Cf%Nay?9PPuku8-5pGSz&is}j{kLvu3x?a^MN z_qYvmFY&9Pms90gb|3ye^~)GM?QsL+--&A&z91^onW=_vev}buSCz_ZjE>6RgG>%p zgK{pye!r|G!kze1vSSjH~D+spiR1V8z6=>WDsx_#5^8J<3RY^g_xwI7rf zC9!O!xqtqg-`uXrHDM@MZA5dg0#w(Daz_)V~LQ_t~zr>mQ7$7$gg@|te)YgeGniDT$AndC0WPjuRS1dh?6KEhrLmX_Rfsqtd% z_aab&3B7Axn2ISz6VBMq2b-At_n}$D32gTbPnJ_xt3O;f=HLiAbyCwrrIPj#{=5SD z#YSQ6?2F285X8eu)4r6cj@m^2+NJHuj<<~vx6u*70&m3;9yfm0uy0R7?2j|!7;9W= zo5D{~Cowv4>cN)r@bL0BBP!A9A7=B}iWRNF^{B0dycV5g(O<@ci<7LFw_}hadu~kG zLQ&b?lA}L@Yk7CH#@0tVC)MW4Owad%)jx8d^T%S*Akey))har?X(3 zs`3km^_O``@805fO4ch^TZyOnnRZsP+HSvWjN_1DrTLF;YF%+8grPLLWfWR_APxVt z0g~`#+}$htY~|ux=);GTvMCwUK?iCW&Q_mQdm($MdysvzZw6+5Ebieb^B?HhXKSbR zFy`~1s6|6OHhkD4S_FSxQJ|#Mg>|X@aS^vpE3qtIyZfrHB^m@lclm1K>d`mk*clIB z7${Z`o}l$D1QjRtKNTzE&?+d^dAF6OOHfREw!8SwRMBv~%jEm+?>8$@eQ~<(^J`Fa zc&)vh3aDa=dY*--iZT^z=1tz5z#<{H!H?%akFvT2`~|C&BpL$oz{F^$BqFbwoDuB`*Hv+xbe0#5#>{_D#5k3m}geyl?&OE@CdjIdZQEtkhLp<0d6e##ILL z<*hlZtAxAnD9lr4EE)I{GXy2gsgnCiDDV_K$(S(@A5Om`+Sj^?hmu2#jH zb|avZgu$LCZAJ7UUlg8mnG?eZ6v)p$ zVU8Lql2cjCxD~%WERaYQYjBP6a*{aFsEYO@;f>gMuxoO~%kD`~r9LB7-MUP_3cps1 z&BbO0!scsUTbQzqL(e6zymb2F=a)^JPiXa?gq8gSh1v0MPC>~|X5DWCSTTON_Vdu% zf?9+dWswA@cHh_CgKgmUUJ&U)!svtf8<;_^t@UIx74g{w0}<1&ji-VY5%dintT`=5 z2P5UE0HZv2zU8XE8Pf@KNAs2gaocTdTdD`%y8kygO9DZCq^`cL`T=uynt!WtIpH+R z&NsdjnDL|1(RFx7{K|tXIIGc`y#eJ(#5I-H#&7HfxsdJ!(c$0Ui*CL%Vfx1I2@YBR zb4n?I0cD)1e~aDzy`ntF5`tg$llg$1U$|dISGbb^QDgy@uA{nM#N8uRw{YeA-b2fX z!|LMru@?&Z`$c2y`?==2G(-90SNKIm#0UuZ%T{Nxw%dj(l}#Viqz_E_^sDdf{5(~a zZdoP%H7M&9ukgXn^xc&f|39NN2JY1^LUE+c6ibV@{5eISo{{?-F1VRnNlSpU#$XG0 zwsys^2^K=ZjEvDx*6dOv`G#p3lh6_&P;^~y@9XNNiBPN{ZF9Ay>4wtJ)i-@*R8E(= zgkSZayhgCnQ}JH^&JUQ`mYTb<*#HPr&3Z>GH5>)OER0gF;0K>tss7zpXsjc2U9K53 z^$NfEUhyJ?6Tfcvd&w`{y8!5*Y)1rdp04q`u*Eo&Z*x(bhd zM{!g91wQ_>2d_u2qgTg1KOS`bdUjhbOwlTBH$T~}yk=(R$^stcKT&>?Z~ycVp9HCv zc0!QLHDo$2LXm!Oncq|Xx|2-8oVv=`n7O8T6mrLg*In{p@(6o{U}f*1vbQsx)*38w zM(}Jn_^F@&9AX!EVm{EdXFk9L#H?4!GA}{3=L2Xl|9U)!}xN7u*Dg{PN;w&X(nS}<5?*BC+T_ne|FNRWbyZEvl+9}5{6KD zA&z?@i^ED{?Txs>Y+9K9g9pAUUB!2F=7#FUEo>ZDns&q(q6r_4jE?jL70fqvipCu- zqI%G)Nw7NU>9F8h1SolMHy!!Wt~7b<&@RH&)j*B90pwoB z>@1~3=mbu-v@bfc(23S> z#f99M+VB1$FY~7itRf0Tn z2MujG8tCU~$$zbZWA^_Ylco7G~2@X8A9=78Z}yi(+HjskiYo z{-}T!_&d0v^EMb8f?n=l*7`*^3yEu*Deyx2?)pYpQ2Svx5d`=l}Bh)aM zX+hzmSQ*UW`=Dk-YPwf&`-pRzB-`?fNkJaaB8d`S zKgxyR11UMfwdMmBYs*(hPA?V2DC}Qfja9cfm&*8y6?itE;7VKmm@3MrN+qD~$0)qZ zU0oeWuJ&|JXb;gV)OO#M_!h+&6;S*r8(TWmpirb|VTMCXrN$#n+|E;$pSQ`?9DK%N z?mXGxLf-Ir&3YmCct~J&WpPtokxpT5n~APo!D^)ri+kvS;*|UitoJZ_$~v5Mm5X8R zl{Nj`#1wHB|7v@|sP1WKnw%#+z`FSqls7GB2Fj1nvlZfhpF0nlm`;+&AJe7Pt_9z# z8Soj^hu3|r5;_xi->op&4yypAT>GGN$uK6saFw^V1zA7T>>b=erV?w6OScP6< zucMUF#pbAv+mPwIQrF$Rj9eRWWtzf!M-MJv0uAI*AP1iP^5p>b`2RLQJ3DcAY4fl3 zA<8-zPCs`}<_{Huiu7#7>+_=MqIM;UKN0B4qNHEW*osNRiz0g(jeeb0>7svm0g)GH5oCRQ`mg#EADY~NiicaiW}`P}JEkX4NZXsMXSM{_fAVa@vZ_5weC ziH)sC_GRn!UoQwY7pY@&+m`zUenY;lJ~*8AVMI4vc%?KgDQal-WqaDLmErE&&p|}9 zDzljOz7g&!p5<8oVV~vnLZoY-p1HgqQl>BSgG-*)*w&Wq?I&v-xk+KhFhq*0^khDa zGzQ!EPKc2G#C6!sXaM9^lwV!H_gtvae|Mg%8drAZJ||i}2oKH!A=%%)0v#y@*RgmZ zTSmX>V5&LZK{Axeuog;dpcgw7!-F;Y?{3v7N2Qj&eEIwE*vo%U)3*`b+h4B3Q1px$ zD#I7OcHi&RG55dM63i9l0;9du`H#%fd2K4@^@%q|UKHDZkjFICxjG zTTz>&8s$z>n{Nvi;xx%Uk&!d&p5(G4JI}EJ32hHH`CuPctY>gJAY&4y-ep=Wo^*N) z#!4J{!L5_DX7siA8L2FQ)ek>48anQa1UVtxsFJs!Yh(gA4_?bm3$f z%`174!%A@-xUA0e-ksl1AYC_an2Wl-g`~@CV1><#Btk>ec86W6mGxy%&U>uE>g)OjGaGKn zHLK_>OLrJ@wX+xMWP>FhSg~WA^5vHLJ~>!Ts`H{=O@pGyX?b-Yn*IZI#u{#09jo)8 zsa7b#4Lu^WqiAJS?do3!LarkScE37QTBt48Uu!KpAZIyeqp@x~1x_7;f<<#ZlL z^vW|r%`UB(J*mWYKa5dRzpwkN=kLEOkMUGXH6dI~PO$^K-f=wYKD;@z^xG}*D4lQ6 z)E&2agLtZ>FCt;9&?Gs+n!&sc4ag^_16Kzqw5` z-KzDdb=yw+yL_tc2$QzNTh=f-PH!= z_v;*6QOL=HndiG_i3A0u?j*REcw$dh>*_B zoyE>AT#OTZW~BE}wbQrC?DMI#L#+532~#m1c2sQ>#rgSZ`8%66R#jL{>G@zN8DqtE z=UVTrszs~u!d^`jam>&B!O393OTJN@LF=O&;tr5jBilfz@yE(>5uNSots2@VJQ8<= z%}D58D3b*cd8~Yl?kM(JY=U^XqnZ@C-~mPqwd2!exQD>8<^Ltila}O?fz1A7={cR7V^Vki!JMM{` zF;RoByc}^9CtaWVw1nHLS9mpi=cbm$i4LoW+ZGr2KX;{R*aQv*?b?SR?07bh+oaJv zGMQv+**EDq_?If6q;H|ubV2e&E&F|JkoZHX>Gj0Z(%)BpugDEBN)MO~6@H}I_q%*X z)GFafT8-UVfuU8NOOjq)khI{fUcyp1R~XW?R>Y)QM=gm5mBPEVAmkHxt#L!yFe7La zigyeT$sFaPxaB=EFbJMFW1Z@(4l3E)ueIi^+;rrkz(AoOP>6c!gOeN*5@L#k1#>JU z%1jNlJ*@>wye^-vMPiN(kR};v>@OCzp+aUs8(S;W^)M7GIP*=>kX$uMzALS186tOY zZAuPLGG&BD6|3OJ7V9UfecisFT3X|%VAvi|gw?z74%tqY$Hh}9|tuq@}qjTQMs z%wMw6A+F|x>_JP>QhYmMj$?iXePtsBT3r&=x+!5nkF&03Ji7h8MJH+(X_it9J!|`? zvQou9N?19+jd|n)lh8Hd*sL%QaqMgb)W^DZkJFvhu#v zSQ3kqu}3D4L+S9M0NWC!?u1Opj8TTPOHN<1w2ou%#oU9VHbapfNRPe?(5j#}=eE2O zj7^G^>ZK|CqS^@cv@!u+Esv|qU2o!ih&hEw=!!Sdyk@F5%UO^V=r}n4A$-4B((Q9c zSZa%WIlAO`^s{Hpw6cjit4GS)7^!DCgVfhIKq*>s#CamE550OLZQf2Td4=(jRJfRm^(dg-b8dLel%NgRSa$Ky2|w%s z4L?zida|n6nfBG?@p;<~10^Yqfg;W0d3775bu84Thwh39!>D1+IF6Z>NtTy?!b!Azaj4t+upuW`LQ zkXw7$a<~e|CoHwun(OP@t8$EJcX#_F$?v5Q_sWocxvcPBWY)k|C83I$bP%E9lVM6U zp9guStEV{cmd=>gOSL82Y4_o~{JvZr|I5E;DuydKeU5~vWY?T^jY_t2b!=X_qL#Y>D$lg5B&8Lc=B>q-WiJ`eY;MYi(9`f%ebX9u9cC?%qnQ$ ztlG%~Il^gdpWENdT6rq8*s=Vt;9Jw_*5YECGRyLQ;fTGxtgl>_ylAFQ(&q~1JYw(k zlcgt~hjaeZS074P^Q+^33ddC&xA-iqYOmaKe`%qfoPC0wkH6rgf^3Ha zuTWR#sJPdhH!VH|>AR;VRR$ANBXkJqcxn%_?m{cj<>=o&iZt)NGUXh*$Tj9B8M?+h zTrtlMfCshF)KTsC`zNX8 zb8c@Y>lft%dnpj^>5@Lj+0>8e{n%+c)HTQjJDf2RgOf=ErAV>B}N*ca$T^a-) za`DXRF0)y&MKv4Uq$L&RuZ9@t2=ZLaT%|ubfj}n#egz zp?>=$Tf4k z$;~{0g6Jo-?3e(^gc0U&wt4m`6srkB-ZJEX>J~s8m?cx_iL5?XUT8-D>%@sWEpEhcp}R8DQZksc<^j^>A>F~+N^|x?T!(&C{1p$a>;aeu?D8ee@qXS=V5}S+jOaLwU z9NaNBZ#n&#A~A$1TtDVm%XUabi}&=NwT#F9t&GdE_w!q$hEgiBM?`%~GA+f_8plKo zU4!!?bbTslf3rHwugps`dE;7*kxqLjF?S%T5Do=%gnD`|EJ@JNUw;mtav_=~KNaqi zX1_J&$R*ZOr{%Ueq*~@m5y<)!v0Af&4+f==26o_?BDE}!tEq}bTef`e0)>$bBMF5|P1JRNXUi8QwNz49AO>ub8} zgpX^L|0=ZNiStH3{vv`epWe2!Pvb>l+rE-VK;@C-)35Qp0W&V+4oiKq3Qq}M>vQO5 zdmDY9!Wn)!OMdb@^|FkcNuhAl4P#Vobz@wSZEO_APjg5^Dj$@x4Y2bB!{VEY9@(PU ziVs4VFy+Z3i(5gbc943nLIfXAkDU6m^OcQdXd=s^vkl3F_)v9Z+=Xq0rY{_F9->Afu$|9__<(nmj#vq*AzX0gno9#h*{S{IHh!@ zV$wdC^7IbI4KF$cc^08>1i4hEJOcGd1@724ly4DD0iY}qgK5lsmPINzK0}(Fgm^(V z-hUA1$d1}dnG5Q$ut@{_lkS>u&aZ? zdjId7pcV#GlJl_2SJ2g15BQR^(KRptgsGfdG-E^G!B~i!UYn@F{SMZpNWf}^h_e~f z=t0o#Jb^f$L^HEX5$DyeuTR^z@VACXnTy2nwAIU=pPI1*p>GCf$aLRY$aq0$BWNEo z2a`+vx=Npc%{P;T_>n7_I9-5T0qtKxW)~@$zs;mYo+NZHe6E;;_-ahq9#d$F%2gZx zjqC7V|KuM(fUZL*Wwq+^S``o^yZ|4Q@aivMM0_iq=86)PK2Vpmq!zYVrSqhmIReu{o@@Ttx zu*$mfyzTw|`$}V9HZm6{r=gtT;C=qi`BR{`?e@gkAgCddehiGCxmhpI3_!#Yw&G+ z??f)gbgmJ!Sx}GASHD8EFAE4xDVE2w6d&{-OO?!f$mb$}5iAI+ES9>(QB>Y=Uwq7d zIZj&5oA8$rM#8rYe^E{i5tEW@+R-<3C2nCk#cAvIbqU+z{zr%Zg=qRIRib-=m9lM~ zWVVJF7eiQr1bPvto3C-+VrKWiRE;%$Xd&tCCNx#9=mD)+=rIh=X!dYrS3mkvb4Xfo zrn#p?mSs~ScYNU=SgK&IhP`;w*aC~o<8J|tlK$^FFR~Q}D)$eXLwd$CY#nfAZ??8q ztM5cv#AUsFJ76CKBxvn_8IYp3jd>(#%C2UTyL`G-hR4`U=DU^}ahFY+U-)!}g`Ie` zm@dDB{lj+@Up_s8dxZHz%37K$v3$e4Hu!)~s}Z^AOo>0t4Hxp;D5^+m(*vz{B7(zv z#QGI6ztBt$)I;W&=wWEKjW?k{8tFK486)Qqjpvlo($ab}`dS~SUw6Wf0LCT|$YTFg z%E;pvNm7pHA5z$FLbk8wv|Vb~sgZNbr7++0_Iu9c@F$-@jgELn{F9IUp_DoFT^h*^ zw3G|0HG6mJkO@^Iv~WSvDqg_R~z(EyLBYf%;nMGazf9!e_jKZiq- zDh>t-Gr_zd5&f>t+E?cfo;H`H#BT2mZWjq#hr-V^Y>sa@;@e@^f`*9p0mPrOhPq7L zkypW>?24%5lob**3`t7{0xXV8Nu1J@wHWnNR}xBhnHX#2Ys~6*6Zi$obe!t7=2_(R z4R*~1i?-c%91|?#y~_4yEWI_$^nO;QaCD&8zpf;K%HMSW8&F4jEII%!(a5#F&p zI9n0$q%}zHj%Oz4WjSmVB2Q%OF9|39oA8MoXflwtX8b2}G-0Neq+g&IF5z6I1`-5` zvVxv1SwoQ0q@|+bSP6w%^@N03cxk0hb7E_P^V9yj#64-l=KbVsh=N@aj+vdZ+yPGU zbyI^^Q}YO@ycMdY4pFz?+h;AVEK_k_iI8L!aCoO*V=g5 zoPBl5lv{IgQqJ`jTovjfC(TP7!-dC&71>rgtvv#QjM6zTaTcp6w=U0W zR|Ev?-G|Z=G9R3K!|=)8m&3&UntRQA@r4it`=xx? z&~}SfA;fz*HH(1EUqV~z5`AJWKu2venrOC-O}Mly;Ul`+n7=PTWp684GMmETVcfWg zvo6Ht@==P_7sf`3XDJr!$puNrMMfhO&u#C0eI_UV>|G{jHC?7szNe|p|wK+7a}S3)cN zz`xLBExGRM4Wa2+L1@;4pME%^cI5o_w~t5V6mDAdpEfRW3=pc13DrJ?OBU zk|nKjrY%P#*u1zuuw*b_&HxvOHC)clEZ&~w0$M#>0^1gZ`2d7p?957)x;x1{Z=A}# zQnRnN-Sv?>z-i!IULV706Cpq8bZG1iIA@F{DkzKYu;B_-jJnMu}(I4`1U^KIIIxURx>*C0Y}m^ez{qkJRR zP*#ETK{0WV3uN)&E6Ljyup5mSDOGo(+ECh&*zNZBHyWi~LuW46n7Buqm5J~OkADp< zd}|8JA9<;xucsu>j#G1TN}zmwb^D6f_WhbEk1`Xym2F?x*=)trW<`a%Os|-aF<7Dg zF~Rq30ln-owv{-@5x&LaO@`FlI z!&1}Mr3(&#XOMdHA9Gy$mxK#HaeB*1#tM5BRPLxger!@;AbaBpwvi3DU^?!+^ZFXg zg%LS5zK>1$1v!tLjOR`2%kRc+uxNSb6cYr{R6cg;Wn`4nR1NW3Mu2myMWCF9xI(@U$LH%jvV77etk0oeL_k8Lq;Yjhu94*=DX#}A=K`}HO|&m?_N6IXnT^B zC@Qlyaum9+gsiOmT@~2BH^02@)u-(Cc6!TOB9%mVh#>lwVkdqRNQO(Y7K}!#RdlXOUXpDC9wiOejB`>Y^>ixT`q=)3l=!)6Cnm<}=3;}phyB+KT?mp9Qb%)B#p8=qia|NfN7^?48W14v zA7|%KXnI&|Xjm6jhq!>6_Sz}}(Pv@U>E7XP5%};%$7GYHue@)5?N{)MnIx=~rWB@H zr$yzv`=%>k6V?8be{em;`j?H(BX2SW=iLfRD)3>7cvQOzN*`QF{Xyhrzezrez*Xdf z4labA*4-M5#(;Sjh{w~>2wO&#_X4{>H92#` zxyIItEBBsyrFLU=2~m@&n%Wmp?U!~m!&@f{-zZ`X3wc*~_B!KjKggSJbKTW~g=U>N z{+eKDF1i&}Hv#`<1KZpzicd6{-w#@wVkASE*bmD9D|vscFmkSc$mznDIgGN=Pl_Y(B=%IH!^PaNrPC5J)t{jMp#nET_5{E_ddS z;da?{MoI&tf!)%D&(woilQ?reu~;KkwUVkEFNVmvn?ZW<4fx; ziOz7zh*9T`ulDY>-+PpMKk8k{@O6^5MAbwOXQD&~EZkT@bi%gsk;b|V{yQH)S)B=T z#RozC7~2|Poolu{CE*A_s{@Xi>9 z)SsSqPa#c1-}t)KJTCPusn6GWdXup=3#q*J^uonb(;lGR-{Az4JGYH!797)%f{!4~ z#W4Gi*xB`a9vo(PaO@ZB$E&aJn_t7<)|TM>WgrMxnp7FH>igmQPVc5xD~(XKCaVrY zYYn>TOzPl;*b`qK(Rp%b%AePildTwIg5E?NqmY}w`OIku5S12BYGmpxkseg`q7E^< z=J_Q~fUoMPYr#kMCUl}Wbqlycx&{T{dCOyH1Kes=(sFY49OlZ{)M{*jBua1?FU#wU z7&`%(IDk}j>(os87m_9RuWC_hEEHkg# z9_}}$%qO`Laj?agBkA>RCb32fk_QVq;0^cMXSjkZp& zPqID&cw^6(+JBq=X^Q?U8vg&Noc;$OTNbOta030L65^t6p1KEDIS{HZ7#SHcu|!{> z>+@^M5%n7PDYzdp@|&#Zmv;|6|7Z6-^xBtBUZRrLh+khZ7rlS~er!BdQN3t)4-j-- zHJ_x5-Dmzw1CL>_4;;6L7c6kZIm;^m0eq*^w7Ay3I$5uMB2J{09+o)IkZWChY4G<&HejqSk=G74+;u z%nSkWI&M$4b#coH=w=~-IKI!Av7_5v5}1epqNX!pndLRLc|6 z`A8d`pr8if`tRq+7n$X@{|3NNXDDVuc?uS^`3AJ)i;;sT>L*>c0H>xPCnsl&Jhg=a zFfql+0tdO(pjmwY`ikf`TRWFBR<$twy&Q{nAfS&)9z8-#McG$Bt3Y zE>nR>`zlG-P;hcguXBocWZvW8VlMpAq)u%NZ)HKD{&v;W}y)d&Pz8j{MHo zBT`=NFaHYtTb9t^HCG|o0x)HOf`@diVKhycPyV_+Otuf3DQ1L&x8ThiCB zwhA4b*gjN4gBd^wPVb~!0Ff@T<0*ZRw|ywuc`cHb!TwAWkafKKJ2MfzmB6z>O^*vB zm#&d1M=fH2;3ns|!=XvC3ZoQh27Hh{x&Gsv&+ff>^QLA7b? z+gJ=;Bd@V0096@dKRUALjK=~U=!NkhS@V>)_KZZT0v7s-HrCyvuX#Ukun*Ib1Uac;5D?dY8Uy zjIB8c(1hnYAo^n6_7jNS*zrbbhkO9itIpO09q)iGo!an$fqv&ecfs}A6b ze%`;rvXcqm9-dxa7_mQP4XFbx%hI9eU#pVHYv;A@&T_US#`dO3iG1@v-Y4?(^t&ea zm61Zo`KRdCK;p_Mcp@EjG0CkjO%5%IU!pkWWWEP7+z$E2hy6olLPsFt;_ORRjd$O) zdQtUCZ+RtRuE=;7P^mYb^TG(cc(18V!S$sf+6L6Ly%Wo8+)5gHNkZpQt8o1c=|UxLS5j>V;N2=E+h zayM;#`Ts0WkIujr_Hws&8s1b#h^4d3pI0_VoLdf6l=U4O)Nw z_~O)zc%j416F@MO%6?4k;lqL5MVO^a$aSVOFVJJ-ELqo1u)Tfhznh7?eVfPl>51vW zQh-l93yWK`wj2C{&tjXXzPkf~wBt`Y&b9|@5@s3|Ir}Z7sHvFJ-uq(z4IVAqR+3&T;9|_hzQc%y3Yp!EiSWOOhOgRimWVbv&bY$9t^kB`z~>mvplnOZ`ySr-*r8Y|2pv7``uq> zcS~?{N7SW72lxabsLs0T)qnPSOaQL*68RpZpKCAb^{CySZHdOAfLgi1TIbA3;J!eg z>=Tuh-NLAnvHFu&WJZo9fDO>-S^bXGBPNBKjFnoUwCtN*1D4eQ~G?Sv88V0p?3-Vi8~##UzjL ztxp~8za=Kg)R}nJWREc&=f9Yd4>qsKW3Y$a1217PsL{#2AXx{>_Hw||hj7WJd{Vj_ zp%__q;(yq_=WG(TIyqKACq4Ba%f-+DZo|DTy58`=m;i^rf`VO!RC?(0Z(Usm5pemh z&6EuE=G-4R>z}=z|D_rI{}k!;(sl^=Qf>dDYkhj1wEH7fV4Pv67kA3_Z4BLt>1BBR564$M50M!If@!$uI48*wqmjJ^3=0@3#$`bybu!EQ& zm?&Izh8$=ZDVp_MIZ^C)o?IxqT2#hav_dw;8QY9E0vpp;kHGso!=Q(rL%M#D z6Onv?%E-X5lt<6fFuYF_qZ85okAL}Gaq1Fwr+srET)w&i?*kW*^}}D@f0lE6bA z$9#n4o{j%VHm80jxnVH@_-o7|CmB9o1aJ83-?bw4L*q@Pn$7ZXxsvo}-`?1E=R`j2 z>Q4X+3EGcm)c};%r%$xO@mBb4`*RE*KPZ6*E)PwKfv!(HAJ@T7hl}2UhBK?->oJjw3Cb#0eDvx8Mw`U%NSYTz1Yk|}?-C2Ogb>r7-A`Hv z+oLXZb0?XJ@h5wxF$aA;k{tpsYuN1a{QgcQQAL3=IIjz%=uIMha7$QSU-}-M?f!SS z7cygA~h^+L}9;DXY2fr2RZVM2o{@lDbxYW6j7m1NPoBD}opL)pCy=izCsMvEBnEYPtwUko!++J5 zOBRV)lqc6~zZ)&PCAmqe1#Z2Cnx=%x0NaVYhRldy#?RwEd5HFIjlgSp(VoLNG2Y2GfOT&NT{HRa13kFPUBZFT*Uc5BuVYHLp-cd)3}*I1DH~YZ>OXEG4~tT%DnixCYqg>yT9^+-St(w`G_xwl1aD_|`!#K4 zG(O6xRqr}z+Dw28(ihD1QuYNUV|)u(o138`LDuj=C6H*EFKF$e&Fn2m#VB7>f^1<3 z!H9H^cJ}N_zPP8%YJy5#*F1VX!~ z9Dzv~>~~3tKl`8`iudXWzHS=4|AINlY9^p2J28x0*!iT803`$}b01>pj{eVc4nyL) z(V(BP#1rHJVjiV$^~t*Hk@TddpDOxy>1K)<{#X)$392dXeAi>;Nfj{(ahftt-Y6CM z&3E(mB7w%cv&M=scQHK^4Db&1ifnZMWVLkxm!V0t_kbz|KQ|NjdsULh0Y=KmFLIz}vYe1-{Y$ z{Kpn`54_a@x}kp$-uREbi~cdZb-}lr;6we`)acKE`R~(!0s8;k*jSC$tyXq-sq$v% z&FuF1C7J_+Osq1tA94iN;0^g0gOLWfu^)>(TF$29l@y^Ac2> zL8DkV0Hn%Oj6JbXaxd*9gH;XPxD~gj&1~n@f4&(y6n#Z@Ay~3hJz$o}(g;YUmJjw@ z98kvlFV!4nC{G2`=(+y&>yeuByWi_=3L5R)bW-Bg=6F~hGcXjt1M|>GAJVYVPIp6G zXXYVuT{*M!ZeXRhSR}O{Vkl7tbJuE=-LD>9C)P;^!EVv_3Vp}vc?g@uvsnxKArzK| z_YXb)W0qSbbj?GE=W64XM1bz*VplG}$NH5$^z^^P@NwqHCmprG`;KU<^d``WHlL?M zPz|RTtlWRR2!{n;GLp`|U7%0@Vw1pn^eticBMiw}V11MXtj$Ay{6ydGN&@Pq*Oszl zG6iDALSpHE(@y`Jlfr&p^p~=uFSvumvyYl7qwou0`RGOp#R1#ldG_C5#!8bQvtE9U z!^Jhldp4A!S?L@2VQaBCP;Q)og^b>0&vq!A!{y{rojYqu={pX`~epr)%!^w>}{zW z$Tu`!p7JLaTbhI3&c1ru4syH^GRax2mJvjntZ^{}6VcSaLw2U3s84${2-k@LUTGJ| zJO{zu&l*>PxnS^&l&k*3M`{9oSmLQmlJW2m8cv)L2sYQG2$80`AVMHkz;D_^#eY#2 zE4?M(&Fv4t9_*7<&>Qqffz9mcr=CU9cnEFW9yeB+O`U!=7bWiAtgzLvDCe%{I)8)+ z4<;6Gb{RHpzAx*y*#dr%ows_KWph)|+$HQ1<#9UHZ>?rL@rtZ(BnbmrQ?Y&+ckYE! zcPMUJgpvk9F2B!oT}a;BhzT*HZ-6p9mc$}Mp{3*=c@5E6TEOmn5&;24j@Sh)BWav0zcpnSw9|fi{N|wn%YKs8Bh+< zo=wMwz;;@Bc@i&LQihTif>jo_)ReDrF)oTxkrv_iQ?`2?<*W9-u{B?8490mSS93kE z^Z(b#4BUTWiATkD=a`%%%EN1eD8NTE;sjx6KdSeIx@Ng@xj971HC*v(1Yew;*69&@YpSdx@RX--CYUvCX0bIsX>MvV0An&Q65{VIW0>%WfcOwxpQdf6bqk_uMS%SQxPGBuB7&2;6nM z8b3P&qfRd_EcAY{B!Oh?!e)u1oXhH3ekV6ie=wTE86H_7OPKxf5`vJ+l+h^Qd z%BRtJe<$Xk&J3IlWygI9c%!~gPHNtpUpms2)7>v7!@VUxUn}iFK{ZoR`11qw=gB@_ z@!gh-I?+S5Z&g~j|0c3-Cr)8Et{yfoZ67#)M4zOxFUwV4sku9lbdH}l$hbeAo3Cu@ zO*77ytE@$VHmuNlDzv{=cJs@1l{kU%cQ;Etlq_Xq`N^Fp@av*e((gALJeO4=Tak`; zv-jwmYl4%Vm~xyd-7>e*7ke-w*FU#U za&hZ1MyHp!PE|WW%n|Nb`BXMuUY{1Xl;-3RG75{qB|&OCnh&VWNo*j{_d@i`_q>jE zg{{t|8`?+&qPo=M!G}J;h*5Ve5&y$$=z0pZ2)O z^*){qvxSSAXZ6NKaq+gYgd=mAAv4!Ekq@=?lVEcmL%GlDp_!J#fxY{MR5?Vy?-yH&Z>&7V*DvCwaw;ZewL5;_U!iX+8fj7g!2cQb23qL4 z0h$(TD@3r2WBl9@=GjmUr#5IU$Ss3Nakhb~ZUT30W)5Bl93Xh@v(Bxaij=u#Obk8E zL!RPlQJZS-BounUmc7#HX$=^{LfYU*l#YUWg0uY?`B!$DZL?InTH{);ei?mZgh$7p zv1bi-ul(K7DK7(x8y40&YM(gG6Vt~r>m*}D1O6IXvO@>+n}2#kbY&E8scv6f7(vx| zCSRUd=m`!_`WuDWkQNfVw4`zMv1|y|B(JSbjE~$&Rio|cV|m48ga|BaZd<8cE`0Ec z9{U6`jlzDNs?gy(d-kyZ_b(YEL*BA4CKPyBJ4-Qw_4RnKqe;B}1?;%iB6nn5}j zMxn_EFq-^bi>bJYFUQx^J!SCq_M6{G$(Q}oE~pOIdPSF}-y5OU+Usb(p0f2Df|6>~ zyF5}~is7W!cJrPUA6vcSf2#I+s!mSs^d&>H>ZvS8gFoYadZ=dd%)LmrVrXQ8We!7X zt)w|!Spt6AUJtc;Ubm^{J4jnhT96Cvbw=XiUD1>m0_a%)O3R=MSSzEx z@B4V`eTTnZQ+-68<}nW&m&fNohohf&c{-=WRcDuaPJcgIJ)@8`@crmPteP-8R9ACf z2#ZXF>dn8}&e?Rj+VR~+#LIM*=D>}X$Y#6N-EWzJtL>ER799?DFi6 zg@WROO_mF&l%}L0j46^LIEhM#%X?Wf&pGFL-_PfL-sk=I@D~F2b>H`I`Tmyc`@1dV zYkbr~X1Nq2K! zj+=`I16A{7eNIy=7c%&SboooBlZaLaWpquRo|nqG$e%HEE+M|(|TrzE|Ni~cv-qm9^bM!0&} zvC8QjxbgXJT8&;!i!@PORA1#2XhHwBQys`S4t%KHuMMNFrKI(v(FEurlR{To5cDgH z>A?gYIvN?sNpP3I2J?3|lY*zSgNZw3D@~5Y2g3@yvi$3OsA@!RklU||_Iv{_ z+V@$l`at`+MmI5M7G2=7Ug!Fdo)$Ey%863R=5Lst@g;-W=lHDb3BGE zFyD)sfn|%rTc2T`P?+eT*T-`bOhdQ#SE%VnUKRD0G`kPCsdVy1%)wAxidaP#ADut$ z&_xtcB1#rg?#to zIBfeSiXG%8v#V0)y@km!!(!8rnUR=FYR2ob7oLPb@R%J~2v0*w|8Pzc$-c@UpT`a2 zl1t90tS6$4WI2p4Ii27MYNx)B&zVms)~3eoLG}?Zc3$O2qmcs;O8o2gvcl_zI;5MX zS2Xc0sItAu50;O_)%QfkT=!f8jXr(7c`0|O*T_iM);ZSXHMA@Xsro)of^-=l`=Tl9 zknQeoVRb^zGjLUDGrLT^k|DLp#h#)#%j2*Uo6I#%9i>{D0@%8K@O(4PUCQFBMfKcJ*#dAc zXDJQ&?DZ=rl!wP9Ma>H`JaQ-bmv8|(ppW(vTvqiQvsSsXT8O<`@=6+4o*uAi|H+wK zD<$*%ysnB8f`=H48F>x|S^><8 zIqa1_(d3~ETGu^|-QPPDyW?~0xr=v7VeR1d7<0#6bgUMXWa~LAa^&rp*dc~q38r~c zaO@6mV6~-RM=G-&m~(iLTd@vN>Eu zKhxm|_i$g&7IMqo9>3(T9xc8&l!`{U`%f0V?pSR`Yur%%&87;$Cd95iQ4sHZR?L!J zyN{)e%#q=6yS3%S8|CSFxCryY@Pc>`Kd+`u<}b=))*h%r?9#N86=O$l+`%gIvR(+I zykky=qtQY8hW_p{(QJTRre0m`;kI2t*PK4S$)U+>>J z*|whzNcYA=&iEUOMX_s7rQghL8rX7x{;d{Fewb6l_>$c@SRYjwu4mJJ)>%d8AQFzP z>0f6f&kJh$$)VaL5L3f5pD!E7gFKz_4n zGp&mZfrziRqvwyXN9V0F2^qGbGwUy(*^oE$@cg6Pu7ZSdDt@VHDUP*ZU$d$78*|94 zG`UOtyp}sbVi%R#iy^VauT5;tCc)klCV?5`?3TulAEkj9TCic}66C4{6f+bXsTb~z zwUAkpTysWPyLwQT#(laqB?N~Or--`gqB-`o5E?lg+2)1&G&SgkNOyq`&@H=0$EKbV(Gg8NoctvC#bKjd*f{l z$j*SB}n1Wga1uPb?>5YKnR$ zj;9yH6FEgD)x;0kv!{0W8H!^va!>2qV)gQmZKBv#eG3n>J)u{lGia5hE0YzPM#eze z>s1AQYVb=MF}JH5T7?MnJX5D}BZ{gm27&Z@x$+hgkZ+QpAj(5-P`N9k;BtlslcBHb?x6 zN&=cK_g-ncu=!r@!*PAP6dhfU{V;6Ly(=Z9-|i|YO&X#=v6lt|&fA6SzXs34p+`;b zD>@W)e7v`F0}{4xGjK=q6wV!bb8YqV{{-~K&VMaCT&U)*1!^~ zD`PLxDSf64L^-ER(P3~6m!G*Gl!5Msu&S?j2}8lY{;kDwqwZF*hpTftT3_}@&Q3*c z%rmZzYmK>kTzgnu>GQHzrFxAInc z>|uL(M%|Sj>Iup2T}l~tw3qmf>U~b;MkUv7`vqgyPkK61Bxp4$LWH^efUb4*NIWY* zUzFK<%Nj!Ql8`6M5up3F$S+cRaBADNDM@R%%UuK{tX6S|-YMRWW7=-f4XlD9@anj; za(yEfZo6x<6CxkeL!^_j3|U+hqz&yNJF~lXx0|(R#KU@ z42^1yG7opF(dMe0>k#$1$h|X(VHQwr2BEo;bS^&d z#$^G2Q1NYEoKjvTvU56Ay;lC$UM_4W*jQ)`eH?GIZ0-785s{;-IC z(r-z(^JcY&UNciOM&9LF1FxgU>WiPmv|vAiX9X0p_g)wzyS*Ik?D2i7UKc;=4QIw; zH)i=OYH($9ZZI&6?OGch3^5Ml-|w`&?PlmNt9wQ79OZ4RH%S?&W1^q?57!N9s1jh$ zF*(Iwl<{fFeZK0*^BYY`lOdwHZ0)*btDW={p3fAQsCJO*&h0j`ch^CXC6X$_o&ON~ zRv0})aqZhjIz4;+4e5nHr=q#_wcCgitIW05qHM}9#XZW5vFH1w{XNE+A(lKyX)ZKT zx7CdnhV^p!K|F7(Ta%}&$ZnsS69oINHIOxV4BDX51)xKI%3Q-WW+sbY{I^F+y(*vP zAhQh>g&T|lw)*yE!69Z)q%q$ny-(9S!Lgch1|8x?AYkmqvO5l(*myIpc~bIQcy)8! z>_SH|6Bl@Y`}eAVW9jNMpS=z}wbQbx8^r!ayxq!i#!vbFj98r?GuPHH#W9+^74|c* z43VcTW9Afc4}$mU0y8+cYR$UOu+q?3}8`7@wtGa8UWlQso_Q}ag@mxma?YH{e-RU-EUF^i! zp} z5q4I_^rL%aVM9?rYS|=~cC)hJa2>0Y?z=Yh6L;MW6|kaO+UyJioGII8M>fP~ZcA&p zRlJ{s^zMg7J~TZvv^Df@T=OcV7(l{?o}tej1Qo!W(Q)^(n3zD9!vNF6T6UVXj}_fH zX~kUn!`27IL+vHCl^N}ubE-N2DDm(CcYk8-wrLHQ*fclSpW~9V?^pP^PQ*1sAA|}7 zw#-Pi?wcx~ys`Lw%CakMpcBOeYz$>0fj-oJ^vMDFl4bfURsmgErlwWlorByD#gQ0@ zyZT3tHs;>?@UZZmUqTn-SQyCLdh4TU4l%#H2}Jf2hp0uSX`s|7ei`O@xgAUCuL-ox znn^|};amX%;%(s=5FjF(^o<+sI$yoIn)(Uh7Mu$5rMXPek0he#TbmpETD&G%J23*m zF}Uk{_%uak5P+)Qjz&#K7c$$5F~WO?G7R~r{hnA-B}3aSwwFGF&J_55?57JJO{qp4kQeGx zu81YA8rI;gpTG$gF;@M4)H%1PwiE8_aeI;$+p^%UH_9g76>WhzLR2^oa!1j-b?KC+fOei~ zIRZK-RIMK^%Rp1i*HeF{-gdC(%hZtrHK6p;v3jkDyl4f|*{5UlQ|X+=D31~(lJ`nq zMu?fAj@AcyP(~fm9(dcM{zD+(OjR%Vb@ZbM{wnW2KWKKxTL;#-VQ|B`fE9fXYwVA^6Bvfd(Fe8!5XizRh zBfqW{x%w!>i8UiE86@&7*fr2sLmj#J*kK;3Jwmxy#okAZ8=lc6tGZ`~Dx^M91$zuz zw63;eiPcT4A>}oJQK9M3D+d{Y)(yQ|=HM~Y&=u#|IV9(wdYieF$D6$17@Ffbls*cr zM7YMB3O(OS_QK)OOEY-mD;~)%X?Akt_A$w*&?weEtR{ctiJ3N6E z5xp&Px8ns#?rwn5G}-*Mr?+P+q@SudGayr10eM#EnvDOd zDB>)H%!S^kTrss?{{X>m+G#tWpiJGeMBYMps=F@^Dq%M}5BGVT&3pA-4NE0Ec65B9 z^XS`(*Z~Jcv*{fE&b4b@>0mQwv+L#;(1~N7hSIK(C%9{u%tj9Ehi~@Yyn175bJgKr zZ++lAf6x5FEa==F&TT3B+Qubk%Pm__0l=R+e!LDXb7Ug02jQXPMxEmGj2!I>0GL_v zP|p*l#MGIgp2Z*-_vW>ZBJkcz>j(jHU9UvvxaIPgSvGA%(de&&c})_>A4LNY;<;xD$x z@Sp@bVO5>bEqDe^=>>$p{eOL9ye|suTeI)D=-N)EtZqQZfSItb0ac_e3oiRYpo&`M zA$w=JnKxgoLJUbZ)UQ%{*Q_!Af21UXL;i0Lo9oG_)$49zjI(=u947x05+e(ZCqi6wAK)f z?UEOQHYO55$rZOamPH$>Xg6tiH&{b-%x)mA((QtPc20luZvSONGF-XzJ02~A1O62M zj6A9DrY3>e|M2%qBilkXwR6lJQch^P)6^`PxT@t)X@%|lvO?atz4Oa^GMgn%Q>10* zVRliZ=)+-NTz=-9r)|?zE;4ad^@NYMavJndXu&Rn7v&b1EDb5QmkD#WJBFgYdr7xJ}dkAL4n#gF;B*)sBjX zwDIG88?U)ba#8I0K?ApNNdup=P`W%a8&jxxGWe^TZ(^x}UQPWzntW`1rj8>EJ;ewE z{b;o@iA7lD_f8pqG0YaD9l8n~HO=~UPxc9^7LY?q?yyS^<- zq*i%$>Dr!bp~}iN$N|#iX5N?OfV*~_ks^_z`&5`T!)gg^oy+S+M2Z@tda|xXrwzrV59Vy7A$ZY}4t6(~}{; zKY0m-Y)gt#voS{I@w^_I*kK2-d4MEpBFAB6cDai1%4-3!Yr@i<8v~-?@-L>B>kEm zbkGgX&m?f1nq;XTysV zh5rOie>Z@TpkWdVy?j+97IH-1sA?rq$v{;!rhY^)r zCW!49QS8iu8$Yq$K?7pKqmk|G&;`OkX-aP zMJ)N5ZOU~>EXU~l%jrS=3LtkbzmtYRJa1O@DlnRR@y=@;u;X9eYpnhtUH8q8Zud*S z81jm7H}^@*B2_ppU85=H`6cJo13kEw{ZbFRr19i8AKn_prEQf$R@vpBAo(=t$-JXp z!?#+bLmI6kzZK%l|MajGi)mKmK;F#nv{9ptIWO^$S@I8VD8tA@E2!eB`lw6F>xo9M zGa zz+7N{oMfGOzVGd+p~s90;A0bc@ z>Hp8(`bH0poJBk*v=3ss(x5{?;ppLQr9sJzUIms;X}Y(WP0v;&9#`fvLKUlZ)Iv$N-zrlcDl!Z;EyMDgt^Ie1Utcad`rTD z;XU39E= z*jt%zk1IO);J@l|8Zfk|wp*0s)yTk^k4nM)mOkudXrMf$T9$Jp41(0yLh`e#b@Mp( z6WTOa6hW~|Wg4b-DNBlVm6(4qwP`d`;v^u^e!pI~;vYq=#i-&pO~bf7LCZxIE2ECN zw)?TQUE8hV-Oa{!uIF!{w?yq1mr&Dse>Z zusM&Xc@h=?TaG-E(~_z|E$r{D$v z^ZBZFY>k|}o}%NZ`t5vAFz1KW^L@(J zH=m%^W?!%0VevjrD&!`E(qZ04Vj7=fWbmdZXfb4R-VZD|KRx^s$Nash$jPKJZu5>+ zxc+9fFnILz?_ftrw9frGp=*h=nl_P#6)yDIA$qbqYNgf%m+s*QGO15keh`N@1^acp zRGhkYQ(cqP+;y-FEYyGa<3gW-B18Go1{O46KmM5_%fU=5KLIgF$F^SBvXL=&v%n-g zeWfyi6BH3+D+r)8#f)3?XR0=~5j)BNiQ97jXXZ(&E{Pokr0DZ+UagM(`BFb-YuX*) zl;iH`)>z{7E-~%R^*RZdbn%Rio|;NX2?ZFRe_($-BSrnF5d1?Vg>? zU*^%~i$pnfxAG$nNwCF&c+rJBtLxtXYh6epfN5<9<#5tyhP|*uJ}j1}Tyg=)xrnOt zb?EFUX*5r9gV@cJ_dv+jxj4aVWQ1%(O8_{T@wS52nEj-;!f+TY(W6z|#m;XZJa{U1 z)fV=BvV{i3BnYj2wwNqhB)6{Iv{;?|K@Z%8XEy3>m-wA%AGlNRLDfw?E?yoVxOjug zm-X1N9+Gtw=I?Kay$xS5w5oInUcOz{7sG=CJS}mB;{A`VJZ%@!tMFexP znw?ss>oowAuc!;wj)HXJW04R&zq2sv7e0=+xW(#`5Cp~5I>x$r*%rN;F@_VD3pnd} zy2_lwC|ctvx|Hbri|oUo24x(1WX`}dds4GBfI zWc}wD5N(DQ^p7bX)F5c@UHkMp8lP44kFlSA5&>u!yiRKaEBe1meK|$Ocm-bvwF1LT QYu3PzcsNxZKK;x80++m8EdT%j literal 0 HcmV?d00001 diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-ivanti.md b/versioned_docs/version-25.10/integrations/itsm/ot-ivanti.md new file mode 100644 index 000000000000..e97a9580ce8d --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-ivanti.md @@ -0,0 +1,113 @@ +--- +id: ot-ivanti +title: Ivanti +--- + +## How it works + +The Ivanti provider connects to your Ivanti Neurons for ITSM (formerly known as Ivanti Service Manager / HEAT) instance and creates business objects — such as Incidents — through the Ivanti OData REST API. Authentication is handled via a REST API Key, a Session Key, or a JWT token (when OpenID Connect is enabled on the tenant). + +Since the provider queries configuration objects (owners, teams, categories, etc.) from Ivanti at runtime, those values are cached locally. Logging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-ivanti-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Ivanti Neurons for ITSM versions: + +- 2020 and later (OData REST API) +- Ivanti Service Manager (ISM) 2020+ + +## Requirements + +Before going any further, make sure that you have correctly set up +[centreon-open-ticket](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration) +in your Centreon instance. + +### Ivanti prerequisites + +1. A running Ivanti Neurons for ITSM tenant (on-premise or cloud). +2. A dedicated REST API Key created in the Ivanti Configuration Console under **Configure > Security Controls > API Keys**. Note the **Reference ID** — this is the value used for authorization. +3. The API Key must be bound to a Key Group that has the appropriate roles to create Incidents (or other business objects). + +### Provider parameters + +| Parameter | Example value | +|---|---| +| Address | `https://mycompany.ivanti.com` | +| API path | `/api/odata/businessobject/` | +| REST API Key | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | +| Tenant URL | `mycompany.ivanti.com` | +| Protocol | `https` | +| Timeout | `60` | + +> **Note:** When using Session Key or JWT Token authentication instead of a REST API Key, set the `Authorization` header accordingly. Refer to the [Ivanti API Authentication documentation](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) for details. + +## Endpoint details + +Business objects are created via the following base URL: + +``` +POST https://{tenant url}/api/odata/businessobject/{business object name}s +``` + +> **Important:** The business object name must be pluralized (suffixed with `s`). For example, to create an Incident, use `incidents`; for a Change, use `changes`. + +### Example — Create an Incident + +| | | +|---|---| +| **URL** | `https://{tenant url}/api/odata/businessobject/incidents` | +| **Method** | `POST` | +| **Header** | `Authorization: REST {REST API Key}` | +| **HTTP Status (success)** | `201 Created` | + +**Minimal request payload:** + +```json +{ + "Category": "Hardware", + "Description": "Ticket opened automatically by Centreon monitoring", + "Subject": "Host DOWN - server01.example.com", + "Status": "Logged", + "Owner": "JDoe", + "OwnerTeam": "IT Support", + "RequestorLink_RecID": "" +} +``` + +> The `RequestorLink_RecID` field must reference the **RecID** of an existing Employee record in Ivanti. You can retrieve it via: +> ``` +> GET https://{tenant url}/api/odata/businessobject/employees?$filter=NetworkUserName eq '{username}' +> ``` + +### Error responses + +| HTTP Code | Ivanti Code | Description | +|---|---|---| +| `400` | `ISM_4000` | Invalid or empty request payload, or missing mandatory field | +| `500` | `ISM_5000` | Internal server error — retry the request | + +## Possibilities + +As of now, the provider is able to push the following objects to Ivanti: + +- **Incidents** (default business object for alerts) +- **Changes** (optional, if configured) +- Any custom business object defined in your Ivanti tenant + +It will also populate the following fields from Centreon alert data or from predefined lists. You can extend those lists inside the provider configuration since they are [custom lists](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration): + +- Subject (host/service name and status) +- Description (alert output) +- Category +- Status +- Impact +- Urgency +- Owner / OwnerTeam + +## Additional resources + +- [Ivanti REST API — Create a Business Object](https://help.ivanti.com/ht/help/en_US/ISM/2020/admin/Content/Configure/API/Create-a-Business-Object.htm) +- [Ivanti REST API Authentication](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) +- [Ivanti REST API Key setup](https://help.ivanti.com/ht/help/en_US/ISM/2023/admin-user/Content/Configure/API/Using-REST-API-Key.htm) diff --git a/versioned_docs/version-26.10/assets/integrations/open-tickets/ot-ivanti-architecture.png b/versioned_docs/version-26.10/assets/integrations/open-tickets/ot-ivanti-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..22911148d91ce044dbf9b85a11346a7abb713910 GIT binary patch literal 52397 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 QYu3PzcsNxZKK;x80++m8EdT%j literal 0 HcmV?d00001 diff --git a/versioned_docs/version-26.10/integrations/itsm/ot-ivanti.md b/versioned_docs/version-26.10/integrations/itsm/ot-ivanti.md new file mode 100644 index 000000000000..e97a9580ce8d --- /dev/null +++ b/versioned_docs/version-26.10/integrations/itsm/ot-ivanti.md @@ -0,0 +1,113 @@ +--- +id: ot-ivanti +title: Ivanti +--- + +## How it works + +The Ivanti provider connects to your Ivanti Neurons for ITSM (formerly known as Ivanti Service Manager / HEAT) instance and creates business objects — such as Incidents — through the Ivanti OData REST API. Authentication is handled via a REST API Key, a Session Key, or a JWT token (when OpenID Connect is enabled on the tenant). + +Since the provider queries configuration objects (owners, teams, categories, etc.) from Ivanti at runtime, those values are cached locally. Logging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-ivanti-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Ivanti Neurons for ITSM versions: + +- 2020 and later (OData REST API) +- Ivanti Service Manager (ISM) 2020+ + +## Requirements + +Before going any further, make sure that you have correctly set up +[centreon-open-ticket](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration) +in your Centreon instance. + +### Ivanti prerequisites + +1. A running Ivanti Neurons for ITSM tenant (on-premise or cloud). +2. A dedicated REST API Key created in the Ivanti Configuration Console under **Configure > Security Controls > API Keys**. Note the **Reference ID** — this is the value used for authorization. +3. The API Key must be bound to a Key Group that has the appropriate roles to create Incidents (or other business objects). + +### Provider parameters + +| Parameter | Example value | +|---|---| +| Address | `https://mycompany.ivanti.com` | +| API path | `/api/odata/businessobject/` | +| REST API Key | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | +| Tenant URL | `mycompany.ivanti.com` | +| Protocol | `https` | +| Timeout | `60` | + +> **Note:** When using Session Key or JWT Token authentication instead of a REST API Key, set the `Authorization` header accordingly. Refer to the [Ivanti API Authentication documentation](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) for details. + +## Endpoint details + +Business objects are created via the following base URL: + +``` +POST https://{tenant url}/api/odata/businessobject/{business object name}s +``` + +> **Important:** The business object name must be pluralized (suffixed with `s`). For example, to create an Incident, use `incidents`; for a Change, use `changes`. + +### Example — Create an Incident + +| | | +|---|---| +| **URL** | `https://{tenant url}/api/odata/businessobject/incidents` | +| **Method** | `POST` | +| **Header** | `Authorization: REST {REST API Key}` | +| **HTTP Status (success)** | `201 Created` | + +**Minimal request payload:** + +```json +{ + "Category": "Hardware", + "Description": "Ticket opened automatically by Centreon monitoring", + "Subject": "Host DOWN - server01.example.com", + "Status": "Logged", + "Owner": "JDoe", + "OwnerTeam": "IT Support", + "RequestorLink_RecID": "" +} +``` + +> The `RequestorLink_RecID` field must reference the **RecID** of an existing Employee record in Ivanti. You can retrieve it via: +> ``` +> GET https://{tenant url}/api/odata/businessobject/employees?$filter=NetworkUserName eq '{username}' +> ``` + +### Error responses + +| HTTP Code | Ivanti Code | Description | +|---|---|---| +| `400` | `ISM_4000` | Invalid or empty request payload, or missing mandatory field | +| `500` | `ISM_5000` | Internal server error — retry the request | + +## Possibilities + +As of now, the provider is able to push the following objects to Ivanti: + +- **Incidents** (default business object for alerts) +- **Changes** (optional, if configured) +- Any custom business object defined in your Ivanti tenant + +It will also populate the following fields from Centreon alert data or from predefined lists. You can extend those lists inside the provider configuration since they are [custom lists](https://docs.centreon.com/docs/alerts-notifications/ticketing/#advanced-configuration): + +- Subject (host/service name and status) +- Description (alert output) +- Category +- Status +- Impact +- Urgency +- Owner / OwnerTeam + +## Additional resources + +- [Ivanti REST API — Create a Business Object](https://help.ivanti.com/ht/help/en_US/ISM/2020/admin/Content/Configure/API/Create-a-Business-Object.htm) +- [Ivanti REST API Authentication](https://help.ivanti.com/ht/help/en_US/ISM/2022/admin/Content/Configure/API/Authentication_of_APIs.htm) +- [Ivanti REST API Key setup](https://help.ivanti.com/ht/help/en_US/ISM/2023/admin-user/Content/Configure/API/Using-REST-API-Key.htm) diff --git a/versioned_sidebars/version-24.10-sidebars.json b/versioned_sidebars/version-24.10-sidebars.json index ba3a4ed106fd..7fcc7e391b27 100644 --- a/versioned_sidebars/version-24.10-sidebars.json +++ b/versioned_sidebars/version-24.10-sidebars.json @@ -1325,6 +1325,10 @@ { "type": "doc", "id": "integrations/itsm/ot-itop" + }, + { + "type": "doc", + "id": "integrations/itsm/ot-ivanti" }, { "type": "doc", diff --git a/versioned_sidebars/version-25.10-sidebars.json b/versioned_sidebars/version-25.10-sidebars.json index bb29b28b1e54..23fc7bfd34b9 100644 --- a/versioned_sidebars/version-25.10-sidebars.json +++ b/versioned_sidebars/version-25.10-sidebars.json @@ -1403,6 +1403,10 @@ "type": "doc", "id": "integrations/itsm/ot-itop" }, + { + "type": "doc", + "id": "integrations/itsm/ot-ivanti" + }, { "type": "doc", "id": "integrations/itsm/ot-jira" diff --git a/versioned_sidebars/version-26.10-sidebars.json b/versioned_sidebars/version-26.10-sidebars.json index c4f045858024..5b6c5eb0b68d 100644 --- a/versioned_sidebars/version-26.10-sidebars.json +++ b/versioned_sidebars/version-26.10-sidebars.json @@ -1403,6 +1403,10 @@ "type": "doc", "id": "integrations/itsm/ot-itop" }, + { + "type": "doc", + "id": "integrations/itsm/ot-ivanti" + }, { "type": "doc", "id": "integrations/itsm/ot-jira"