From 1cca351d31fc2d1cf8fb6f65b88b8f85e4ee4efe Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 30 Aug 2021 10:34:21 +0200 Subject: [PATCH] add separate menu for reminder mails --- app/controllers/my_controller.rb | 42 +- config/initializers/menus.rb | 4 + config/locales/js-en.yml | 9 + config/routes.rb | 1 + .../reminder-settings-page.component.html | 19 + .../page/reminder-settings-page.component.ts | 55 ++ ...eminder-settings-daily-time.component.html | 20 + .../reminder-settings-daily-time.component.ts | 30 + .../user-preferences.lazy-routes.ts | 5 + .../user-preferences.module.ts | 4 + .../user-preferences.routes.ts | 6 + .../openproject-icon-font.svg | 379 ++++----- .../openproject-icon-font.ttf | Bin 48112 -> 48248 bytes .../openproject-icon-font.woff | Bin 28276 -> 28388 bytes .../openproject-icon-font.woff2 | Bin 22796 -> 22948 bytes .../fonts/_openproject_icon_definitions.scss | 750 +++++++++--------- .../fonts/_openproject_icon_font.lsg | 1 + .../notifications/digest_mail_spec.rb | 1 + .../notifications/reminder_mail_spec.rb | 65 ++ spec/routing/my_spec.rb | 12 +- spec/support/pages/my/reminders.rb | 39 + spec/support/pages/reminders/settings.rb | 64 ++ .../openproject-icon-font/src/email-alert.svg | 4 + 23 files changed, 931 insertions(+), 579 deletions(-) create mode 100644 frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.html create mode 100644 frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.ts create mode 100644 frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.html create mode 100644 frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.ts create mode 100644 spec/features/notifications/reminder_mail_spec.rb create mode 100644 spec/support/pages/my/reminders.rb create mode 100644 spec/support/pages/reminders/settings.rb create mode 100644 vendor/openproject-icon-font/src/email-alert.svg diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb index 0547ab32894..8f5a4d33e00 100644 --- a/app/controllers/my_controller.rb +++ b/app/controllers/my_controller.rb @@ -46,6 +46,7 @@ class MyController < ApplicationController menu_item :password, only: [:password] menu_item :access_token, only: [:access_token] menu_item :notifications, only: [:notifications] + menu_item :reminders, only: [:reminders] def account; end @@ -81,23 +82,30 @@ class MyController < ApplicationController # Administer access tokens def access_token; end - # Configure user's mail notifications + # Configure user's in app notifications def notifications render html: '', layout: 'angular', locals: { menu_name: :my_menu } end + # Configure user's mail reminders + def reminders + render html: '', + layout: 'angular', + locals: { menu_name: :my_menu } + end + # Create a new feeds key def generate_rss_key - if request.post? - token = Token::RSS.create!(user: current_user) - flash[:info] = [ - t('my.access_token.notice_reset_token', type: 'RSS').html_safe, - content_tag(:strong, token.plain_value), - t('my.access_token.token_value_warning') - ] - end + token = Token::RSS.create!(user: current_user) + flash[:info] = [ + # rubocop:disable Rails/OutputSafety + t('my.access_token.notice_reset_token', type: 'RSS').html_safe, + # rubocop:enable Rails/OutputSafety + content_tag(:strong, token.plain_value), + t('my.access_token.token_value_warning') + ] rescue StandardError => e Rails.logger.error "Failed to reset user ##{current_user.id} RSS key: #{e}" flash[:error] = t('my.access_token.failed_to_reset_token', error: e.message) @@ -107,14 +115,14 @@ class MyController < ApplicationController # Create a new API key def generate_api_key - if request.post? - token = Token::API.create!(user: current_user) - flash[:info] = [ - t('my.access_token.notice_reset_token', type: 'API').html_safe, - content_tag(:strong, token.plain_value), - t('my.access_token.token_value_warning') - ] - end + token = Token::API.create!(user: current_user) + flash[:info] = [ + # rubocop:disable Rails/OutputSafety + t('my.access_token.notice_reset_token', type: 'API').html_safe, + # rubocop:enable Rails/OutputSafety + content_tag(:strong, token.plain_value), + t('my.access_token.token_value_warning') + ] rescue StandardError => e Rails.logger.error "Failed to reset user ##{current_user.id} API key: #{e}" flash[:error] = t('my.access_token.failed_to_reset_token', error: e.message) diff --git a/config/initializers/menus.rb b/config/initializers/menus.rb index 46dd2450b18..b5e76a346af 100644 --- a/config/initializers/menus.rb +++ b/config/initializers/menus.rb @@ -137,6 +137,10 @@ Redmine::MenuManager.map :my_menu do |menu| { controller: '/my', action: 'notifications' }, caption: I18n.t('js.notifications.settings.title'), icon: 'icon2 icon-bell' + menu.push :reminders, + { controller: '/my', action: 'reminders' }, + caption: I18n.t('js.reminders.settings.title'), + icon: 'icon2 icon-email-alert' menu.push :delete_account, :delete_my_account_info_path, caption: I18n.t('account.delete'), diff --git a/config/locales/js-en.yml b/config/locales/js-en.yml index cef93364866..65a9478fa1a 100644 --- a/config/locales/js-en.yml +++ b/config/locales/js-en.yml @@ -627,6 +627,15 @@ en: autocompleter: label: 'Project autocompletion' + reminders: + settings: + daily: + title: 'Send me daily email reminders for unread notifications' + explanation: 'You will receive these reminders only for unread notifications and only at hours you specify.' + label: 'Time %{counter}' + title: 'Email reminders' + + text_are_you_sure: "Are you sure?" text_data_lost: "All entered data will be lost." diff --git a/config/routes.rb b/config/routes.rb index 42fb85a6fb3..ca4ea7e6a44 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -552,6 +552,7 @@ OpenProject::Application.routes.draw do get '/my/account', action: 'account' get '/my/settings', action: 'settings' get '/my/notifications', action: 'notifications' + get '/my/reminders', action: 'reminders' patch '/my/account', action: 'update_account' patch '/my/settings', action: 'update_settings' diff --git a/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.html b/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.html new file mode 100644 index 00000000000..5cb11bff6ba --- /dev/null +++ b/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.html @@ -0,0 +1,19 @@ +
+

+
+ +
+
+

+ + + + +
+ +
diff --git a/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.ts b/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.ts new file mode 100644 index 00000000000..eacbe2f035c --- /dev/null +++ b/frontend/src/app/features/user-preferences/reminder-settings/page/reminder-settings-page.component.ts @@ -0,0 +1,55 @@ +import { + ChangeDetectionStrategy, Component, Input, OnInit, +} from '@angular/core'; +import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { CurrentUserService } from 'core-app/core/current-user/current-user.service'; +import { take } from 'rxjs/internal/operators/take'; +import { UIRouterGlobals } from '@uirouter/core'; +import { UserPreferencesService } from 'core-app/features/user-preferences/state/user-preferences.service'; +import { UserPreferencesQuery } from 'core-app/features/user-preferences/state/user-preferences.query'; + +export const myReminderPageComponentSelector = 'op-reminders-page'; + +@Component({ + selector: myReminderPageComponentSelector, + templateUrl: './reminder-settings-page.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ReminderSettingsPageComponent implements OnInit { + @Input() userId:string; + + text = { + title: this.I18n.t('js.reminders.settings.title'), + save: this.I18n.t('js.button_save'), + daily: { + title: this.I18n.t('js.reminders.settings.daily.title'), + explanation: this.I18n.t('js.reminders.settings.daily.explanation'), + }, + }; + + constructor( + private I18n:I18nService, + private stateService:UserPreferencesService, + private query:UserPreferencesQuery, + private currentUserService:CurrentUserService, + private uiRouterGlobals:UIRouterGlobals, + ) { + } + + ngOnInit():void { + this.userId = this.userId || this.uiRouterGlobals.params.userId; + this + .currentUserService + .user$ + .pipe(take(1)) + .subscribe((user) => { + this.userId = this.userId || user.id!; + this.stateService.get(this.userId); + }); + } + + public saveChanges():void { + const prefs = this.query.getValue(); + this.stateService.update(this.userId, prefs); + } +} diff --git a/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.html b/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.html new file mode 100644 index 00000000000..5b3e178fa6a --- /dev/null +++ b/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.html @@ -0,0 +1,20 @@ + diff --git a/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.ts b/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.ts new file mode 100644 index 00000000000..72944ba93d5 --- /dev/null +++ b/frontend/src/app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component.ts @@ -0,0 +1,30 @@ +import { Component, Input, OnInit } from "@angular/core"; +import { ChangeDetectionStrategy } from "@angular/core"; +import { I18nService } from 'core-app/core/i18n/i18n.service'; +import { UserPreferencesStore } from 'core-app/features/user-preferences/state/user-preferences.store'; + +@Component({ + selector: 'op-reminder-settings-daily-time', + templateUrl: './reminder-settings-daily-time.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ReminderSettingsDailyTimeComponent implements OnInit { + public dailyReminderTimes = ["08:00", "12:00", "16:00"] + + text = { + label: (counter:number):string => this.I18n.t('js.reminders.settings.daily.label', { counter: counter }), + }; + + constructor( + private I18n:I18nService, + private store:UserPreferencesStore, + ) { + } + + ngOnInit():void { + + } + + public saveChanges():void { + } +} diff --git a/frontend/src/app/features/user-preferences/user-preferences.lazy-routes.ts b/frontend/src/app/features/user-preferences/user-preferences.lazy-routes.ts index c5c41633822..51a75249c0f 100644 --- a/frontend/src/app/features/user-preferences/user-preferences.lazy-routes.ts +++ b/frontend/src/app/features/user-preferences/user-preferences.lazy-routes.ts @@ -39,4 +39,9 @@ export const MY_ACCOUNT_LAZY_ROUTES:Ng2StateDeclaration[] = [ url: '/users/:userId/edit/notifications', loadChildren: () => import('./user-preferences.module').then((m) => m.OpenProjectMyAccountModule), }, + { + name: 'my_reminders.**', + url: '/my/reminders', + loadChildren: () => import('./user-preferences.module').then((m) => m.OpenProjectMyAccountModule), + }, ]; diff --git a/frontend/src/app/features/user-preferences/user-preferences.module.ts b/frontend/src/app/features/user-preferences/user-preferences.module.ts index 3b31d787a96..b65caa0559e 100644 --- a/frontend/src/app/features/user-preferences/user-preferences.module.ts +++ b/frontend/src/app/features/user-preferences/user-preferences.module.ts @@ -13,6 +13,8 @@ import { NotificationSettingInlineCreateComponent } from 'core-app/features/user import { MY_ACCOUNT_ROUTES } from 'core-app/features/user-preferences/user-preferences.routes'; import { NotificationsSettingsToolbarComponent } from './notifications-settings/toolbar/notifications-settings-toolbar.component'; import { NotificationSettingsTableComponent } from './notifications-settings/table/notification-settings-table.component'; +import { ReminderSettingsPageComponent } from './reminder-settings/page/reminder-settings-page.component'; +import { ReminderSettingsDailyTimeComponent } from 'core-app/features/user-preferences/reminder-settings/reminder-time/reminder-settings-daily-time.component'; @NgModule({ providers: [ @@ -26,6 +28,8 @@ import { NotificationSettingsTableComponent } from './notifications-settings/tab NotificationSettingInlineCreateComponent, NotificationsSettingsToolbarComponent, NotificationSettingsTableComponent, + ReminderSettingsPageComponent, + ReminderSettingsDailyTimeComponent ], imports: [ CommonModule, diff --git a/frontend/src/app/features/user-preferences/user-preferences.routes.ts b/frontend/src/app/features/user-preferences/user-preferences.routes.ts index 19cd25e5776..9b6ec82df99 100644 --- a/frontend/src/app/features/user-preferences/user-preferences.routes.ts +++ b/frontend/src/app/features/user-preferences/user-preferences.routes.ts @@ -28,6 +28,7 @@ import { Ng2StateDeclaration } from '@uirouter/angular'; import { NotificationsSettingsPageComponent } from 'core-app/features/user-preferences/notifications-settings/page/notifications-settings-page.component'; +import { ReminderSettingsPageComponent } from './reminder-settings/page/reminder-settings-page.component'; export const MY_ACCOUNT_ROUTES:Ng2StateDeclaration[] = [ { @@ -40,4 +41,9 @@ export const MY_ACCOUNT_ROUTES:Ng2StateDeclaration[] = [ url: '/users/:userId/edit/notifications', component: NotificationsSettingsPageComponent, }, + { + name: 'my_reminders', + url: '/my/reminders', + component: ReminderSettingsPageComponent, + }, ]; diff --git a/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.svg b/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.svg index b21c0578ef4..8336ce11080 100644 --- a/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.svg +++ b/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.svg @@ -232,563 +232,566 @@ - + - - + - - + diff --git a/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.ttf b/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.ttf index 5807107f7ed8496d28c1209412335bdce899c1f6..9cb3ca62c0e5b9d86b83c73fd110be0e9e8c40c2 100644 GIT binary patch delta 2356 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 AasU7T delta 2178 zcmZ8ie{5679sl0l^Lw^qJ5J)?KjI%R@sGrD5Hp$dha1JkCx z@7=q1-}~I>eeUjiclYn(FaL!Pij%(uKnDOIvti5nF=?vfGJxU>fa13|kN#-W-?!hq z0AM~2@YBTb#`Qz?w|@Nw!`@~&Hq0F4O?;Sr&$3)Gyk&d>>mGi@`0fI5%F(SG)?XMr z#Q2Oy05HF0{lplqLJW^A4DWt!{g#biiMD(W;Ora&%#3Z_KK_dJ_f~*+rvNk?56y}x z42WS_{`sD%i_a9dd<#XGIRO5eN}T*p`S6>EuV5|u6RRuXQS)LSgwcNLM(-kpd;_&3 z*+l+NCST`edA&&ivrz?~T^b%6gCse#@SwR@{D&%#lzY(;8wrfSSif+>G(WU^tdiGI< zb@IISlt9lIS4?VDO{%Qwu|129dv>1M8Y&XuE-Zy8>FPg7e z#x46TSFK=;Syx&otmmzBwo%(1`w9Cs$4TU!AVrR(-hoZuLSa78(tmsKGVE;kNL>@La8>Hdgy~ovtoix3Vr*ceZ|Q z{p9)j?;?rF>yc}bucZnpBDF~q($A#p(tNBUmWkbrtK&!G=i)aK&n9jr?ltNgmo*+~ z{7vJ0Q=)06xv8bSWn0VDCD|qWm&`1=mF!P$O72Y_O`b_!OwPCJT8CQiw{2^?-1cRv zG?h*5N?lBS(jI6}w}0Ld?&#~--7(Wyn&|B9obLQ!Y5USMUHY!)yH0eS>$=hPMYp%R zvwOTd-+d*G)4S3)dh|V=JySiWdT#eBdo#UkSIFnge=adO*jkH{XcWzH(HJ$01|9N- z5j_+%PTE2ZA=_Bc-_pqOVGj+T}UTrV^0|Q>2QyS$$hD(QeiY&l3_a24u+L?(HPHChsX5t1lU!=yIzjW`wG8$Mja|@ziTAXD+ zUm1%_e%2!vjkr*R-rB%B3M*lj;+4$7ysVR8G8>u2*rHH0G+pdt+&*UBTI8!mB7JSh z?k+$~%p#_!!DNoQ5PO-Trg$XQjAE@QNff1n(H?B=--33n>8AHfY8qPwz=Tl4W)H?hj&1%H zlO*!d@JJUnndy#^6sdJ7>4g!O{MkrfnRX>wgR*EV8b`a(KH9MBXkn9F+qE6D*-1@0 zaT3vICXFO!5b5)iK@v4bXnyiIQ?8_~xevf{?KUY<1zkPu!7RXb zPCNNc18ZLP2k7x>2OsbqSUUjn?DPRW!nF5T1##9o=-4qghg|i|@{wbER0zqIUl=*U zqJJ^&GpB1F#r?k1!O}w9WA0vg`8}HBB=oGSXgDthOP ip9GR#TJ%o2?0;v0W6FHzI4p-|v_xL|UQ}Sm-oF7G5elCG diff --git a/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.woff b/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.woff index bf4bfe152e81fe08388409dd51ebf24f8c30c7be..23c0bf27a1f6d68d026550c9b42f5b98ec442525 100644 GIT binary patch delta 27622 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 ZgiI`{R)s{~u6F7W8yo)vC^1UT005cQA-4bk delta 27509 zcmV)ZK&!vx-2wF60Tg#nMn(Vu00000Zgc<(00000yYP_|KYzDlZDDW#00D>q00l4r z01v1&h(p9@YpfDpy4glBq3;Y0hobA_#ztwXb$MM&> zBcqHYdxxly6;iUwimV1gg{)+hO3Er*8L5<+kRqZe%1Sn6kL<0?b8X`Kz0d34aL?m; zKIeSS_jS*G+{gXh$KwFCKy{&2p{97)lTz`Bs&2)$RM}UvVr5@bf7POLrY8Hk+WLAZ zmvUb`uc_Qu6=!RT@7RFlSe_M%t|5(BiIrJ}RcXv>G+}j`vIc9i7HhK(>#`o}vjH2j z5gW4!&DfO9*qr8U!Ire3W%2%7v30T8hSqG$c5KfM>_{7SVrO=tExXc=_UuLnc4rUv zWH0unBc0fXec6xwe>s589LPa*;b0CaZijMMaXXx@bfY^xID#WNik=)@)W>ivz35FJ zj^lVvpf4wK5+`#Cr_ztp=+Eh#!I_-J00we4gBZ*Z&S5C$GK}Gz$N5~qg( zGL3t&(kd68J^`ip63N#MH!NW(-|`*b^8-Kf z6J_f7nP2#of8Y3>Klqcs_?u4Jlr3U=})u?jU*(asiTrJA=Q?3%3)yj2P zu2HV2a;Rwjv~7@ zBDZV!>&o+7)wM0R_N>^h3~~(gGIU_ zBHcM6-B6M4T#;^=NH<)hJ5QuLU!=Q0q`Oe0yGW!PA<~T$=`I%OE)nT273nS$=`I)P zt`O<26zQ%K=|+ikqeZ%_MY?N5x@$$c>qNRSBHi^O-B^)soJcobq`N_+n;_Cn6zOgh zf9Y-#>24P3ZV~Bj73pph=_ZMEw~KU>MY=mgx;sU>yF|JvBHi60-Bgionn-t#NO!MD zH(jK=Po%qFq?;kqJs{FODALUo>1K&^4~cXSi*&O^x;Y}r6zLX; zbgznZuZeW8i*#>@bZ?4uZ;5noi*)aZbnl9E?}>DaMY{Jzx(`IU4@J6Pjj; zDN$FY;xiL<)uL$XYLsJjwJMeV1IZq>bA`_@&r_ob?< zs%Puzfms-qVRK-BVW!yz5R`ENf0saL11gM2j3gxPts;p&6E%?tve=4|B#H|!YFv^` z)NDQ%jJ_AmliTl{@2%?T8R41VAMaOH_j~v6z2D`W^Eu~x&bK&;1w?nx8-PQc8LgXH86;b%2ry%TEMU{@o!Ude36ssV!ZA~PT&;0*5Q0E#M|qgc3ACHBV1^$^w+Soy1EkM4NLI~ zEG@>1u(}wp!eS*}f)zNsvQnwwvV>pE_673xFrUoxEIdaU|LTI-e=e_u>*b=?}$=Sa^-v0CCOY0TNe1+Z;Gme*+;CNhFrejO6ikYAM z=Frdk8qVdoUWA>iRfb*{d!Ykz?K@vHvvu>~PgwP=`89L6_N+acx4-yBJ3neaYqR$J z2HyJ~%z)E)o?F8&f4nE&44=a{<<>p}Yw+jzt{H9&9~3D~?9BA-_PSvZ25qJ1Ku-yK zN`QTvzIZZfMon0INVsD6=4R2+A-8#I$MAec;uYym{!pAGpZ~iq=N~{t!Tx1WbSz1@)bKjX8+9oCe^t0i9wC`@BJ>`i*+n%0N5JJvG$R=s1;6rW+Q6W}Q^_3uD&LoRc1E z)dsYh)KvrTXO%S9>om7P)WMf#xm9b5oJj}mYCl`}1*<9^YpNU=H^m=dH3gTkn)=AE zsi%+PGlhO%+{*g7j%`E~k4wjE?BBotzb!8VckA-r)Ap5KH{B?^M6_t?GAj-}r9zTi>q!OK^gouBLkT`!y2=t?nFE+bQ$}7d>l@ z7KoqRR1~aG==S*5LHBPl9UPl1>a$wI}P6gNd+^Vh7Kd1po`tPsdPJ2P(wlr zk=imP=pmt%0cjb3iVX@fwK*Z|MOClese5o-a`Yk3Hx)tTMPAZ*UKaS;T$Kkw=6TR0 zY%FXp#q_-)9jOlHp1!_%OZ>xYdYY<=x}r*Ae_4QPQLx4N71*Wb@ zLRpklMHf}KUaQvO-s>x`in%Fx0L!`-uYDfN`lsBbSl>hpQIm?Y9TtEX1d<5x3zT>X ze~6L-N6mzd$W*eR9bkvc)y(+|rNix_D5eG5uu>y$%F4238_KpzdAgXtbZe=Ujd-ZN zV%X1=I|bee%9YXKkry8-n6_D|4Och$tq&=-ufU~;%ZlR#xq|CSis~;EFYi`rIbX0L z6}_RXWK67~#RH%?DFqH}FAGAgTo`+Kf8EQJIT73Wapawkaw<23^w+|+Cb3V@pl8E4 z)SA=$+!kmRA$mbn0g@Yrl`xb+kn%`)I;btJx$EX#yKX*4$*wI|Z{B?MEtH61HNZ>n zk_AD2NRwslwf$=_iAVYuVUl$1q<>Fv622YRV-j5IC@8n%)zxn=E-t_2_|bkpfBp)V z;SafUh+Z;vYCn8O?4i_*bJ$`%#4*^&BmnS8z1DA3Y}SyrBJ8EC9dW+|nShLnw^ZawU*?LBiHm^}y2j;$pEV*}37A&3H)aHoMzfA6l&d36WOOGe`>z2I)cDkhHMlUbjQhwvaLHQ&v9kmEN4rpn|dkF zDq!VGwpsR_l8{Nibx$EyDs*Aeu`HZ0bse)NiUA@4upY3!bv|zSXkomAc{;GK_Nb5e+uw!DAfw8 zW&4s8Sc+`hf~NDe3(nn|HHUbmAzDV(4}(4Us4+YVE?|lvDKu)8rfNR4{+e zs2rrR`ZQGzJw^XUX5X}?XPv^Jr@8H9e;utY(%B=zr=V%fBFh80Qz&tr}f@9jAMf`yVG zXSz=4SA#;@3niZ4)!vsv6v>BM3yzt`H?;V%v*&|UyTPlPq8Zr8<&>;5zW9FZYwzZY z+%WbwWP?#>4uw>as6UfVYOG4_fZeav?bS;Fe>7g(rsWwcqB6jPbdM+lOsVn0Djhq0~W6 zOCWdSA|Q{BdO;hd0(+-9g!XMj@(PgwiVSS`G&V4-R2JEHiRTvM+_7R{9?Tl?Z~D*7yH9k3zU+>8>eZ^+g4-kOQ@fwTaZC zWuuZ<>|@!r_oF2L{ZsI!SND2YE(sU5?(g6A`q#f67T@rOH^5FxTJg)^x36rsueksI zE4$rm;va&4?fg8~udh}3JUooKjc`5W`ChwK;#n8RHlof>e;ak7-AWjKQaj^-mn{%j zBU&1V(?8icb1EZ=884k~&1PromD&9ZR$w}&hng_M&@U9bp0PuFIv zzUAgDOE!Ds)!wLSK$FK}>*jEvs=N?CZ2F;zXv7hb`DXAve~ImS>q+I$b7iiM?L3b9 zTpQnh3%8v+f1TUIoyDEYUC20LN9p60joZ-+Y)k)zYbvWti;IiCztmqZ_t&fab-Z-S zfx!g_mzEZ(!IRbUNvp-@JIHBR=4X(G9^6poK`FTq`|>uZX9RpVA92GL?C8Bty|doW z**EFj)xo;o-FtZAt7GG1WB+YzY;1gdd3mKs!SV5U zVti~Fzxct`{{7?Q`}gB&|Ngacj~?8 zGG}pFf8<(KLfJhf>fz(*)iX-{h2HG`rg_@rwr^bb$5-uo;CWu+A3r=d{V_QD zD^G@XJrcPjLxhOu=bH6uO-5QmAm8fZewV>2+G;BBAuaTED`m&WE#J4GVy7%Uo7-Zz zt^q08G9}&GW2Xk^&#-mbafTJ$`iiA13I8c~lJIlf%07y3P=o@{q}?GiBdi3gN=GwQ+LjK^10A(c<1 zEJ2KR_#PitDxsTKJ}l?mpi&O~g7}A$lR5g;c?5GNg0irFqN{_^0S^^Er%q>Ky8E6dp8 zC+B->R}s-0@1?zMeJ^Ip4e!$C!ImHmd1b}I4ll@(Y{`rm)Y`~L_jlMAEf0w6W`ti&IE zza>>htP6i`j#OoH@?m>85beuhf7+IVy0ftj&gD`}Ypz92L~|&$762)V3@UY|@gqzt z5&5B*S7f-@(KKGa@djORbNVsUxLbe3(C;?PV|vaN^c!x}c}*KP^_+J31!^u3)Eo4Y z_9|6Lw$ z3(MLipj&eUIcP%{L2L(G5x%D@@o5SIIe0?RcfsR*8KC34V5H4@d-t(p zSKV<3cJ??8e;fba@^b&4$Kf;Z_~0HNulK1}gv!F;7I-}7;0JL8FJbqH>^Waz_o&!U zQKN_cU0$QV0i}<9>|J*si(ihbW5?Dr_=e9mM*4aD1$$SAOCz`Ee;AYBVErUzyxQ>E zq4$yZyyvQD>(*%Nt6qh$=~(>0GY9uZ|3U}o7}J^$#t)O;g|zb>_y|hFJR+$%ZYOsh zcZj>8Z)FZb%y$8%_z)#XvqOqwCM`#dyVnU7r%4Mzl#D$x9dyGP?4l0XsDNxojiONk zGFD9Cxln1=GICJne}i7P86lrS-iujNM!=Qlius}2hVoFJGcKO&p3%)M3W_c$%0)9g zFKRQqr2aNyd+{6u`Lc2j@O=DvUX}P6K^6J)B$elRI7btCUijRyZ!MZ0l#8v+)86LI z_Uz_X>5*P9J2TvF4~LB}$>OD&Bwj2l=3ZXoMdeJ)M-V{(e|}U@d0806=NN*3d7deP zsPX6F3!ut7iU(BTKk7EBX`b0+ZSlA8&u}$zoC?=uR>@kuiUs$O@l+R}<4u9oYFC4d zhn>6G@#flPz%Cqx$duuUXkYvbF91Gp;WxYtAH=sb_W>40j^8MX)pPgd4`1<;_rD*m z!VBWh(giMTfAumoJpVbo2sR7z*B%LOz3rEE>|4?)e2OqYVx_{)AR*sn++qX&K>ZN; z7td8lq@$!?{>hnwtf_+3nUe*@lFpR*V@pf$&cW#lnZRGt=1of+u8O89h?8P!Xke>e zx5KB|lgGJBkRn=b?9eqTc9$?xi+}+2(iWLy5bU)De*`0~E}m}+b?jDnnC~D$mr;QU zJ57`eEmT^SOgF&ZhWsr<>Mg$aqM|yG9cjWh7b~`g4Kr9RzIP3{Tytb-RncVI91=xd zkOeX#W-1u~UJw)kL~+P)BwYqF){W-iw!-l7B~8(_zgtqV0y3eBXuT7ETPXR)2a8VQmHdr zS+!Fq9ERYm{*Ui?$B(Y~F6@lI^T%hu`r9MtpjvYNJMi=F^0%)5hz~X4qO;=vc?d3T z#Fy>+r^?H))=}uK{Uh?`cb_HTTDk~Dk`xQ2;%S4@>APZ;_rV>^D3*4KmKJ==PSn{$luV| zf8JE#~+VLzmV_1RbnvN<@E$#-+8@S0X=E2?gmL!pqBB$rq1l&QECFF&xIJ^~M+7&k~C>xJ#8hN=qG zZ@cX9W!J;*-SHQtzx>4h4?iveGc}XWfAjCW07tO(eZ(Lq^t-cZyrP=vQLQOeNXFzk zbM;ob#uDuOVVg1V^+iGI!P-JCRhfofjeuze8K{j=dOP*xxLbiY$6v0%(fB@5mKE98 zeEcc@{pivA@4w@YqepMU4)5kigi2Gd3z}Gngj;kzRn!AGJNNaMqD`}D>f8lMu zE=m^#R_F$LAVdXAXlhYiXck@N7QN^TddT`4!y;#49~k8}qn>(*yOKLX;~u?kyGP~` z2O<*L?N(3(gatMrzv-pPR=o{S3dy7w-sek zvxg>zOk*--xlTz|9X`k+k|^7b?9o6@a0E)veY=k#euT6?fg0nPWKG9ne?`d94CGt9 z(zi#32_oIjqYNaqqZ>6Pxo@V%;v?PZ5x!jl> zt17aojbzkp$cJa`3&jyLGpt#X691kVDvBfp`7oUdH5gI@Ju1klbeIoh>9rFjB^AB( z%J`QcUisF@SIQIhv3e=Ue>t{TJ92%EFXVz!ee9quIH@2P7SlBo+9|Uq4D0D)mJ=0;e8!<*hfA5qIU@*PhK6CumUN8{X%??okoS{mGJ}E&2-398voPtZy(Vu zOP6)Mt>_B=24g?J#4=R~xhn(SM{r4L)(0vm^>sW7EBV|<{&=X|>~_!YChKM`_eZ$X zeWiElr9N#m1-1?ke@N`AzFzrV_zAolTcd}ML|K{ckIXQGcVhI~&Ubr|*oTwBkTBC9 z??}Gz4Mzo8DsFD6$VYs4pP%uDjBu)Mrj7XW%#bE&maclHW9tgo*cLDhKR0izO{pVDjk#$BUw z>a%`j^s@IW!70b-twiK^aHn>_;;uYq8fy;@*tL#GRgv#35+GnuN{=8pjS*)oU zZWDQVWY)h*-yV@zV35i->_vkS!iabkF{!_V`FMS~e_9016o>W*CTdUzPukm693S5@ zK3+-}i=)LNykYt+(|1k{&xxq9i}{O1kacl$e@8?FPJ6s;h-Zv#9mC&i>GIJcC#?Nq z?IB))ClPfP$nwEPx=Q>4-$cG%WV&S{cIN!STf)a@@3`a2TJ1`f{zoST2B=y=Lx?_+ zDHg|yB{(`eIE`uDmgH3fdG#0U_}>0=B}OApA&scm!wBm}h;I`2sa6mXS`9L78g$IG ze@ei%PUzatxS{8TZr2~Si;c#@@YFfe!}EuJ`l|Rxa5pL5qlV`No_A%#v5OvW0&_+$EBP?Z*x{h2R zf!g&lFzAKvOrxQApl{husH)fAggf7765 zn;C{sk8SqII#fq}mYN53Lj(#vHu6iOK6ovS<|E)jfr~OR88xjrJTphPNFdHNdo|e+ zup1##2;19PHG6fSivF}92)aO3BJz?TBX|@A0TfBYBC4jWs;K>;@YG4Cf~ zsv+|dV4s%g8b?9>Qx%g_sCX)C<5i34RQ2Br|#hg?bc!H#;3yYE>3$Cp2>;xGv z$diT=;5CU%CHTgoE6w4NEt<9kgu{pb9{D@=)ej_{5kER>pU2$AuJ~?aibcR|Fdo&rb$bePvyyugj zgiqoJYAA!~ou0YuD}t)aCC^e^O_Xd_9inJis)*HhwWKR%y{`GTBsqXppGs-6gq3&6 zX0KlVRQX`#^2+3TXT2FKf93M3q?o3e6|p|}8fGT)S_bv_%N5(rI3uDi?GOZBGMy3o z@}`~V`n35-pEh%d^0%Q@chN@LJh|jizv#;Im7R^(vr80WWq3z&e!T+Vk#!2Cf-9wz zsX96q)k!*nB$%ewFS@4J>k8^S5~4E`B;KOpD;m#Vx+QfImG%p+e`=l}4N=JfHWpnJ z3|-48`j{k%SbR+p{jq-O6I(#SoAQXEj&LvLUWzpPYVJ0|ZV_w24iaj23n*cIn$I{; z!-WmqWw!HkE#`hh%3gDtuQBfh^1@-BHFz^BKJ{8+>jg46mH`PLRX4s)C?Yzwqj`)( z?=2Te1Is{~2d`94fAM?(X#n9ouOVUMv#+IM9VtjfNCVjE1teotQY~3T62SK5HC%v5 z7=;twqZ_Jf2;y5Fc?2H850Gn8(hB;_B-R!WWqx87_+cKZNJ^LQLuNod2&+<7s5u1c zmWqrdFJQg$qO9_aCV656fafGdG<6*b7KA@u@0aw5KGkWbf7J7h+{?I|xz}Jl-}(PT zP5UQm7y6YR_Hd01wNrxscNPBD^?F|8-u5=_jc>eXa&oVg)3n_GgL;R#ja3f2uf04g zL7-`Q`x=M!b!oi~N+^S0%-zJjl16~B#%i-lG&fr(aiO$Px9@hsR;CQ?hz9dIbreYA z6m(GILebj}e}gSR!iywu;w_gB*M(AssWnq1kjSHsCzj!_vy$(+JnvIY1Md|}xRar6 z!7Fd}x{Yf|k|L56u?owZ!c zmxUU@3t~MQe^|vTt8Rst6|78TMy!SfkaS&x z{0TU-VSG|19f-WPu#YNONE(Sob)(I5cRcaL_V_cfu=vCii;vxT_2SjH^4!W&yu8%c zqkfw=;VpP~9(ZKJ^sbyD3*@7an;^ zEffUgk%hv%DvEfWU0COd|C9N|*10*3h#9eaE^jkm(I@ zn!n+a4Eg6Uq`d_Yr?HXfi0BnhFnzuV_0Ak~fApFoZB+^9+KCl0WH>KPZjGI`Qh!5d z_sHoZSB~r)X)HEx$WP{SllklpH9wih-@@4D;!JT*akkKEUQ!$#Ey^=qacr#kcZf^_ zL2@Kn@B~>w%2ZuTwJb$Z4fXAkN))9^zF^&ap}KRjx~W>-w4+ypF9gkrW-v0sR`Jz* zf4e?3I)uMUOWOLy+H9>WHEg4%U0GcI6|>m!#J}Ul z%Hq;V#<3-Kc%W}5&k_)Y4b%8!r#+rHhqaX#dN9(_3ezZ8D!=m3N;>iWI{Ar%e`kFU zpY^+a%*Xlds18+uMM;eO#kse@$KrD%Sc~Fw;bX9SUwj@4jgiFO^<%v6F0w9k24=fc z-U|ugF|w&WZC7<$ui7`+>6D$x*x=e}$M6h0Z4c@;;Twskf1Pd|2PKnG2OD>6M%85G zaSPPjL{sb_tXA@qL-$RN46Q5;e~pa%!5W9@5XjQf3T{B5GBlZ=^oK^4mPUq_helRd z+TTf@`$hN?+<;P;_!Ze#dJ%FD8qmO1CW2b!6}eZvc;&~qR9>YA*yyVy4pqg-b$u@8qdf8<5HfJVF8 zy{MjHmodMEsIvgcbzvgPGiin;kqgvoh&?md^Lg(2_R@v#>^a5)(yo_b-UqZc%kUILy{iYh!_Ola#OY| z3%sU>zMeHvvSgIR?wj=M5;x9u5K-^q&c*g7f6FGyhfIr{by3fz6?Suvnb4zF$ozbR zB9OgT=_KCV66(Tj1VloUh6=;P>xq1vxY_9RcB^8QcNb?DXN$Ybe^#Z{K0TT}?iP&s z>X-y`_rU5sbB^Df-W$KpOLvAk0V=%$4Kq8(FFyDBi!OdSOfJxu1LDN7l zbBo4ba~nDKGNVARD`l7`7;&r&SPYj52pB{|CY4IzZ6hstsyF0hT;E9#=N!wci;AL^ z{9H*COhd~##jtT()XeAxD#E^|D3YLgsOKuE6pxIb<5eTWe@YqJ@KC8(NXe2ejV;VK zLpWn^WAENZR#bHqr6R8if+hjklt~pqu;J!wRn_1nL^lOceJ`|ALs0=ApLI;T_CVld zvJ+lP^<{&!Ye};O1+_S%=u8ebWLwiK^}s8Tl0B4CQUIGS*se)?hxgL2KgRI%x{rsA z6rM?}VIeLEe{zKrn{9Yod@WFNt~BfW6_zA|jQF{5mVyJ*6H@`5a>UfMuJCJGd9 z0g_B^4E4EsKjK0s6M-n?vCv=-Lf*Ue6r=> zKu`|+f2A(M>k*%I5=Uu|1aPC*_Lv6QA*X*t-lGqWjy?$0%gS3HIIV~92H|lH+IQa_ zKYh&Cv(O#vTB}m1PxB%R_ZU_Z-Xc ze^lAeV6C!>Cm7F2zx9#v2viM;FC6&k~Lt>LMfrEA(S%wS=^eC*iS zs49vnLBV?@N%T`gX-CcTg5Y`u)i7nnQcO!i5tDKe*O_XmuBm|`=w7Pe`?hUb$gf<# zk160ec!Zm!SSRS03la#?sWV>_l=65mf3cV{Lu0}|nd@qct*6K#sz^v4{?1xFc-_H8 z%TDF|b|rn}4M)tmwFVHqApUb7FWe}USf zZ#81x?rhwz9wovsiD2qGxDNth5G43>)Pg5Mp;*&R!Ocp_YE*}covN;@YR0wfjKZs% zWks?LTQwwXAe8E+mBAJ=P#ZAimMBDv-_}fBM*R{ye}QDg$5c~uRFN!PriUj`tySeY` zofOoxWy{sKQ1WJqX4;IJiYVwM*Ruqv%nO=7b53X)?+Yn{BZQA`h;xeifA?X+aP`{H z*FMgx@E4qka%XYln1-+(iH11LQNFM1;-)6`t5M;;J zWkcsha72!06BEWl2I}}e3!;SgIXJ7w%7<<*uGe6r2e)`j(^OFbrem9I)-OaoV z62DM#59>E{n1ElU1U$EOEdIOM-OVyw&>P$3q=)ijMs4!d<6F;|e;M9{>TK_V>83Z9 zPx;DxUtfPG=KC&`{Y~ssXLA>Ghq-HLgs>4QQ9pnx%@9?S-Z)g)7K<-q`Xr5QQgB&+ zYytv=>^&OlB=O9m1+kqFuPYH#dRW+D3A2k7%B$I+G5G)Zf3>^bn0NK-Zmf^yLW8#!7VXHs&Xr#Nx+9`k7|9}gvtDD5J6EPe zdt_BXk?2!^@EqxC=bDYwKHKCCWm~;RBx<}*`aQL zxqZ=!tZv7Zd};Z{>PV2a>gM+Cwtc-f_3GDMBg#TP$_&}Vf99)Q_bPYhnZskeA&sb+ zq4Zm1qf{BUmbAm8TRq{o4vlW{!~x9?^i%~~zH-7F4F;oVO0|Pk%{UV4+9<)7aUqwS ze=Up@@OKw1ws(#?DLbuNCQ3j!J3fwzbG!sYevvNu!YdE{-k5?M$wq}{V6RJ_OYx0; zPt3;p6Wb?0f3er02&$@wN;EV4mtZAcs=y+? z!4kd2$1S=pb<6oXt}9A10v42GPvDtlSX^GItZ}P-IrGj_Y+mGqNd{UEkvHtPb9gg+s z3G47#IKpUYig4S&&{6MOKiW|z@t4OP#wRJXf9iyVG$MvsV%AZL5R52R7E@wrcwG(2 zA|&P%D)r2tKbOwt{P^t%)_hBq;E06aJ$}2S-v3vc0#7R1=Z?*fWGC{QE4&EBpeX9R zTXzLT6PuRoR$N3pVNMUu&iSj91tycLlm#VcX|AGaimNR(d)e`9U9bed5{Qaa^oxKB ze`sY`DEc|U@+)poPi#q#BMm)DF$ZMq==r_G0@BVP))Ck=0b!KyF3CcossXBG^{g00*cYz$&R{9!w>sU`T8Vo+`9QSef`&l(uhi0bs>NtaPhc*M0oxhyGVsWd6hithhfDo#jk!^QI{d&$!W=Wn+>&-#GrrL4Pst7-XezA;^GR;Ndc zx_N&i@A_5+4;F@}tCi~XGO^Q~PxB=7dD%w4z6(+2-oU+zyMy~}Yy;v7+t>hpMhR?Y z30Xir1ckc|eG$s0uo-92t{o$2`3liCMZB8QmnRuqBMR#oY&|&xT|FfOQQ4RQ+{&Io$qQZb>!0z0e;I_re<6eQ zn3#uAj)f?N<|$HzyuFbmhy+RTC63ZrNNgGPX>5o((>yv%39cq4%w9e0!MpPDy%k|@ zYN{<(;N^K?ZgQ&qvgt4-WT!T5nkovZa9Y!7AG<$p>xCD0a&ULMea1nz<6gR_-QIl} zZXEoCIo;gcIsNp`=H|4?e_zgFr+Y3GCoDa8m zxBq=+Z1?Es?y;Hp^U!(rT+K0E*L2nQ&eU41T3_e;F+QijO_05?8D)~7W(vY14|-Nc zCi0_%M93AEx_AbDeD3ygoz1LNFE2Jn7GL^XFI{{hZI{UYj>(7j+)}tW+!;-rJ%PVy zXLz8vdF!4XFI`-Gf9WK1dj(2S2CdQLFKciaN+a@Q9HLQZ6hG2jMB#KmgAD|faj&}e zPrMK>z<2ofzDJA&L3r?@4yF1&?mF%$cQf}J+%k6;cQ1Dz_crc5+ymSPxj*6ljQb?_Y3_5}7rDRTzQuh9 zcEZ_k5gdZ+;AWaBq**81DC$>H2fyoqgSBR31{;&j;8TmJ+baPZyo=-pR(_P|BV}l9 zM;6;|68s7~f4v4C>1!w`r10CN!M>Uj20rVA9hyf(=?bKnlX-it31oHYwoztahix{H z#+rUw&dhZse6v>2lk2UnfTUIPk)~QicR`d!ZWlJmCWwNdff>#<(iw&B>M1q6p z9|hqYO|cVXI^9k;V%sQ18HFaU0d=xG*PB=}s)EFGe>g+)9N>EgYze|v&_;3FCi74` zpsB*JhvD0_nY|J@K#!(7B7b9K$!xx*h_s=w5z??{pFuFl5h622IB4_D`$6FCp<2r# zFDolQnXiY)drt%4<=I+b@j3`%u87B7Io{0!FV5DqG(u9IS0K~H!vdU%J1M(1%cdQ3 z@zQjGe-~aa@SwTmb@2X)aJanvM}iRln^jRgTb}&Btfyc>FnII*c=VqUg9z49*%GY# z1W6TFD0z#Z3+6jf&%c#NaV!{c1}{LoTM+K1;cn$=e7Yc*%QQx)X*8-Xq|3!3y%t_B zDhe;`+%EW76?i1_s~I_+PA&b9ssmp*3NU2U zW_8LFkId!FC&?1*>$R3lR(3Z()yoOOomi8tYQ~Y-&AHxG-U2@UMZc zX9LZG(jg0I4V8A{Mrm0=U`;@KI|CC8F=H2J#wS9e2)28jZcjq7*IMAW0l6He$zb_|?Ay^~2^Q~q^NaWYwFgr+6?q6GKGIgw%ns6DFT1rX{ zood;g-?w)n-I&QmIj6GAdC}gee-MAIFv=VH<7Bv11pcERJ>5+m;uYcJX$MA~06Z59 zwD+8Or*vABn;A~ug$1%-^m$gG51AR|D0Uhb%X1LRGYbHRe$Ng7(#{pU%w)zB%>P`W z`5VBiJE%>Poq;<8`Wjf5>?+pzUqk z9z=Pci1$9R1&=M$XK_P1uunV+Uw}8D^qgj+!e=5v2_s^Rv*d);Lhj6l0HbC-lF|XQ zJ5l7+0zp`&&&$1a4chKoIVIXByY&yQfnk9c!fe!Pz$E$l1b!CcA7ujw4KqkjqJ#+{ zm20+|I}F#!dVT}kAmwIVe@J;lDe!QkckVX668yPZoE>fi)6VrbrZT3nZC_ZIS2fFR z`)*^ptbSUmO*f#yd*tfu#eZbDZkX~7(@mj{KCrQ`uo#0z-vZOe_Dn5hxP{bG(%#s7 z0w_ITu{qbo-%_QvW%rg^Wp8f@xTW6S$8ybPZj~jAi}fwF+Lrp_f8wS~j5_%=)QwB} z@p+$OHhqCmNvQDgbI(2Y+;h*Jupx5aqjO~Fp(y?DotN|-rjt<1bFg8q3KoY-=Agfc z52Ui$6#NmUTjLMIi{R0$7hmjUvmSiV%f?^dpZJ6R0{$1=ifuZ~ZRQqGKf9Q_3QJvG z*T~5)V_i|NCUZ@Ye>OJ9JeTXt18<i&!qKb(;N9Yt+vn2)9UTE@Q`cFc*q!{V3_!nCMTT_IOm3WnQ$j7we{IzTy>U3t5yzd?5RZppw;I z5=?UK%8?7*Z+)E<^=;cIpJ(k%TC+9$Jw<+c$Xvy5>ZYlGe^b=Iy6TD`!4E~jz{_c( zEchYrJ~o_z9uJo)6;$-VcXz43d_ zI0LSTUq27d{MRYTbUK|r&BREjuf>}75$TQ5tYsM@P$Kd^x|VBElj09qCDm}VyY3DV z(%2R*SGQV$e^+)?rKGFZs%pveO70QQ_8iBvbaj8Lb@kOe+}e!4++1=z&+%x4(s32d zw_MM~eXs1P`Z&xq<2za3c^3Q5U5JBA%(jdlaYTe|~mcfIzk`K;>= zmnVnEOXX~Q3|>@=p9Qz}*xftEE8SXYIPH;txh(I1e_io)J8O8JCJeFuFFa~s!(y@B zz`Wc}UdW(HU;lZ|Aq^~6)<3XBA>FiWJebU2IG7u1u@Wz@ERqp)u+I(VRQY@4zge2a zDT!u7Y2fuT%@Y%+&~zz%ef3{>34Vvmpsv&!_=fcv zDYN6C@NTjx0kJL;QVfU_5tn5))HXb=sHse$P%k@9xn3w_Qcfidw(_7uD}5vg`PkCyt*xDY_P(vS#nRe=~l{EagiN%zRJwHEP;F>^ zT!W3FIBZnJ+t@fj^C+=y{M7tJ3KBkH>CG>6Cef zf0b59<4_CW*CMJtR1>*fH}Bke^D#$ggzZ*nuqotIOCvDYv#(Kqluzwe+=bo(XefsrlD)(^1^&$fo6t~6;;)B!!RxD zWwPy<;^=Qr6^qkw{b>C9GNcvD4zfd;bRqD)T*@(|Z4}pmw@K7J=|dx+D%+A}30bqS zZ5v3kER-_8QBIl0z%TD{_;-|BBW&b~12*$UU5V-^jDRRaqBaXD-3ILeAuHb0aNrZS zaew%L!ekT6V7pGTcwjAfM|Ze=Sh2b^K?WvL)f@6WlXl}@;F`=5UDI2`6d^dOYm}|y?(HXg zcnCdmXD7-)bv9G4b!r`D8_h?!ohLjxM}Ncj5DkP+ssN`?XtiLi(@h22qVurl9jd^S1jHf9~Nc0pPCDh^)e&Mx4=bL6%Ht>;ukD6qGLXB|YY4!_6!siRfs>qv) zqJeDGD292F*N#!-kj&zTNW+rJUE8E02mUaGK&gQWittM5;fVR>2-Nk+`yZ& zD1B)3gyKgNV{+22wH*2$5$DVv!Gxs4vc5iNEAI=UB$8$yh zL+OH(ZM->MfCslXw&O3p_kHjC@tf(Y59XV1!>h6n=Z5ioA^qmzoKsBy_O@+}9Xq}} z+{X$@TzWD;`WPE~8rY2KZM=;;oq-vgURlDoYV#^}8vUeqOOR`x>lPOjgAS?-r z&6Dp5-P&fMcFmua3c68oYsG559QviqkfdjdwL;l*N`5N!c-S3xS}_?FF#tna#QNGm+g^+%4?iaS%vDbRG%&znyL93AL&r8N`KWE*D_=~ZTxF< zQWUq$XWqKs9h(sO;caJ*bPr66!WcrZj-^JCAI_XC?75#K3w^&Pgh!RsZeCxZswdZQENZ zCwL8rxr15AU7q{j=59e5_&y~%TmE@;whjCRz8YV|^t2CQy7l&pZpRJ*Q=4;I;(_wzMoxYDBjkHmm25Pnokj!kP zpe#w8tw=v%4kGM+=G4>2pv<$&zh(>9OIwV;V1diK#d1zUj)UBs%upk4s`PogvE| z&77-inb%yIDLb~Lnuck+*qL3&!rm>)OqJ9mja*2re0|*XEv>Y1PD+n!aHELGyQn2| zy&#$LuYcR5u1XUXvzg00^3^8X8nz?U+DHpmPWW#mhL>|xAw4xcGr>DTb$q&20pXt) zj~~Cia(MA@<@Qzf=M3Z7dKQ2CS#<=Rb4V)IPhN&*k#%WOeWC?wOh0voA_s zCA{b9#<4$s1vfDF~0M*yq`#5}8EjYiHOjPfCAI0yw^S^|w(Z zpnqmTY9B1pbpC7H%F<<}(r>Kd=a*ZqS*ffnEv?YBtt(5*OApV?)1NpbV}GAuaq!dJ zR?-3bQvif>QIGhelKhiM6q2hw&FjVppch6o0vL6blblbu>h$z!)6=&LxuzXT^G39j2rm(+q&VF#tp zEiZpgVh5J`w_(Dqx8>h4Ta<&EOg@R!9kdip!p5A^B4*Z%;6vCve|jf2&jUB!aKq`N zH{Q_P#ZuVSZ<0f|bi19~t5&ybA7JUm`I-gfddPo0X%f6hk;t2jQeYMS?kj11>3@U$ zHEdl*#q}%aR+g7*NlNc)tj|+wavknC_dnqRxC9QuP4G(iO?dq&dYGS9I?T%$n%yP} z-%hWa>2*74Ic)XPVUuCvUZ8aA6mc8{DA(qKNS+4l!6?z>DX6DQLZ`%&lX{EI1y=&4 zNdxO44Th5x>^38&G}Afe&>p7y6Mu!vVL(ImNV_)BR5CP%MDzKvFK%?2auTl($rR$u zmr)?p9rgNnJzC%yYRAm+rdFpXH<8{0WV-2g*la1?NI|rLMZ?3HC>HOB%0%R$Ok-R4gs|4eTEr@nXMzYHG~+M)FAwX_SbD--oVt0DD#0I1+ z_F_6_RtTofol`{VPXXB60IJCA^jeCY#kZkD$y*6*5p>jUbYQW(f}{$R3W_P}7Ag|H zr0^7FfVwLEuZc|-LyAM!1%7A-D+4pS3UkpwQAza>6)-fNg_Gh7lYio*+|8b}(NYk< z6*UqOb#6t{6`dkecv7%Ha0RAVse-6t`QUwm>|!hM6heaafXWPyI*cJG0;)uyVCJNX zQ3Nm|FI2bibyHY<;EGBHR0B1f460cUmQs|#%+Tyjt}fXO$O)1z$-IGCH+)_6L_yId zY!HhgWyrHf0Hf-nV1JcO1=Ti-rbPlxBTb6T0wTVyGP-9%(_cX4&3-6rdrvP0HE zQ(ozm#!IE~UCGKzR<|JI7Mg->@M1%%sZu0@VPVSad#83xP3;K7*C2)j)2wIbHDm{X zNy?!+ORLE${$R2OPqw8lDruJ7QT|M6%a+R1Jb%P$zu$cib&KC+Gk#O7NunIL6PiJ_ zI_T31MC}7xjSG*y@*HR1%;>I>kzE1_oYxoY#~tKfGh&YppX{tPBJjqW;s*GRTE zy!on|$=g<4TSGk^8>eq;m_u~E$ely~eB<{Y!7y0wB=hZHJdQl&!dl{AME6M7YWT;=R;Lgf& zrH?hghxd25Gr9fT;r@Rq@tt262)OZolzPoZmzh{<$*4t%XY)e_Arc20G>zJW|9@G6 zzn5HXDAi<=nu7k={6HuEW~m?aM}M=F4zY0n<^bZap#+w7)#ORaD>@;J37)S?FuCx| z_0?C!KRmCdsU&p0!Cx?09$2pU{QtnDYLe>KtJV4u6r8e1nkVLNsARvsZO9xp!k4}@ zd@%WQCNB98jCcNjoWqTiUSO^@fq#t*oxC*q>y2}`DbKTpuS{?FTz>KoUOCw6pFELt zrtew*#)sB3xQ8wDeN%s#njZMIy%Q?^@^XXO<5nxlNJa9me*^i1vTm71qZ>A`SQjrD zK_&uJ;5Myn$KSO5v;|GOti49lJl*jvIK%QC{jGY@*f3_JVm%LUn6oUbPk#wfCy6$# zCkVZhn6QpTn?^?FM?QBc4DY;n=906|oS6E^C9tV?`O?uNmtXRxXoN4&`H_P&7wsB` zOJQo_%(E{!x^$?w3DuI3<~^5QJ{Xhu55|L-w%nh?J$ZY9Swny(R!p3biIGsxPNoFt zh43G`67OLXxj&-lxnqXqXn*muy1q}Z*>iSH{~P^3X)cO6B_r?qjk{Y4d93Pi-kS^^ zuPW#l8mW}=HNE&x2yiX=yxZg zsYnd*7e`JX89DvDol&%tzZK?A@6r``Sw)0fbzU{q+zoh|U32Bhs#r@?|a}a@o|`iBUcOY6DYN>IWjSR735pD>0-8|FFv7_vj{RP z%V~+f^nfIONRZygi+}vZcC)!ZezRWi1Y^&?8vm!aYXOd{I?sFV`?dG(-Q9cdzVB*R ztCd#vO1rDoV#$&f%UD>#V9e845EbJX;s6Syf>O6OrFiP%p-J#GB*owl zDZP#7O(-rKMuyu8RP6%fo=`SQMWIo@tzJb}dkQXEq@g&xHpu8$9qx4w=NC6xKy^4J zT)mKCuS}_QeONqxVw9gaeT-fdp#RXKYgf$PAV1_6vhDJ2w z^-J#r!t^SIU~0dw>>av1u!PSIN`c21P7;m&#FQNp!c|-Jp+-OAmihw?cA|(Xw+XTx zT?lZhZ1zOY*_JY{V}DHEn3MDoMTsggWz>#`jFb^_V}FBCiYm$wFchdb+aQOEtje&H zU{%6pR;8*5vry$f)1}fxsq|JPGQ#$cYVtImIxU)m?9?GAMNf^pMOI~46DP6CX4x#W zD%FUCRqUU`wkAq#`APSBJRSJX|Hn1?KmURAE27*dil!8jvX*Hm5k(K1Nhk#+DW&lR zj8ajQw10#IJ3>-A7{MxrW%#U0PT|T>D_Mmf#*PdNYKrwWWrt{A zBW8kCNz42YRw;|B&-$7RtF*5dW6uWDq#$Vy`+pfn;*!{tBqxViPY~h*d!p(#s}d2p z1XfA&Qj}G3(JLLQ)Uj)cFq@~oP4SG8pG8RW0rWTPLXwZwC_`HxBR|=)5ZdCxQZKLk zvm@ji&cBkd0VT3~HngxsAdq$3A4MDeg7Ys#faPGYwQe}m<|PYr%ESjF+RMEPJ+HUW z=zlF>keZf7%j3D+=jit_O+FVV9Y{W>DqAoM$-eGhavPj<+m>eF$XocSv5DsfwwYoZ zh6hOdYXJ{ahZW9l>emtwdnRzlhG%ZAvLcT%I2Lpn7;L!}i)a&}xSY`%EN-cf52`Z| zud_Cd=)A=oLx7^>lh$Mk5AuBTMz^oeC4XP_vf1Y4h(S%hifQu+!s&|bcwtH7c_D6E zx~dFBqnbh_VA2euVi3-d1t6A$z+`J)(BH51_it%6wJkfb8 z5fUzS^&yLBoM8^>;Zn?kc7jBM<q^2G(U0N-AGmowrF_vrb15bxJ$+D|Y@+<&&> z`^%Uv1v)-az&tT~m_WxavUXNx4vFK?&?}k2A=vzFdI&e~4^9pZO%C>^ZTpHB$yVUk zTJ3f`R-LmlWNV>5Fi(-N5*sRNryY19Hj0w5=BM)EU z`u=)<-1B{}RUPZO<4M>H-})Jco4>i{aNGWKp2oYCkV@3@!19v7{IM(1uwdFR)_B^pnsQd;C1rH z&1w9fC5LaD2%K4u@O|RidgKq9w@**dXZSnt3_nHf8u1B^Q%RESc#S%$HTh0X?BvMF z^Uq&cXfzsocJE$XoSmI*zWl%g$B*A~%Pn85F4SrZqlH3&+&Q&4HMKagZvFbn>mRuO z`Um!$zkNHSvoFB&@+4X+BYSCoOTB7se-UvC^g-uU_|dGe(2rKfJV;i)eP9h?Nj zDs0PI0);x_N_7o1@}9%K?K!ehY(L5McBX?tKvw4A6Ayna9G{=>W)Bq4DR#cIDVo_k zwzsyIvmD3bATxGtpB0T-eb-*bjvio}<}y1c(6YT|_7NB#!-xLXsej$<#eu7tj3iC^ z>YbSNWil@3k%63~?t2Y1>nu|VP(wmZ0Oor1aq>W3ri`%1jv$rws3|BdlEAqu=W>wD zVXU?=3I8@{+FZmCOpCY6dI;9Vf|YQ^ieg!!Bzs9inTe#+#Z+p0C7MzeBwHgHMFciX z)MY)iS;kXnksN@Q4}TqkWG0-9!1qn!#X_7L3tekUa>9|U#Gs%mMm(sx@qfe?i|POP zb(h>@1O?|JJ!uL~LXobNf-Jj69&s^pT`emFbT>lG508N$ZzAYbWOB^M%_kW2jp?f? zU!H4Y(O9Gv1dYK-jF1`^cvyAx5hrSyS}@k{#v`t)88F*NQh(b=OIwCxI;{IS@~iKp z!d_Iz)}6>Pp1mo%Ch3a<1Qv#dJ;(_P!)2JWzkd(w$J;F(esS3q702#0z67 zKNb%{LuFMk4BZ?^83r&Jg04!kBK9Tnh81xpb7@zQq_)k(tRR_< zZN69s=FlfKw14xK9668j+dRVQB0GrJ1Z_``4BNaw#s)Jw3gI(o;#9cp*zGxi@LYxh z4Q5JXDD_{zwNjhS5Jk5x{QIk9G;>a6E)^r1fY?QXthJSMJLeigexu)UvA_()8t9Ft>FUVfU&Rt{dY<$p%SF?r>jlPVu{)E{-jR=3)H ziRxPsGk`$``lKhW_CuxIzHDiD?(^A|=D+{&RH6eO9|a@HdiFC=5S*Q*b%HY}{lVSory(C{{&FAjF%G5$+lK!v`;_4zDW= zNWXEDv40$cf8)UXfr4m4MG;n%10o$_>HijnB>2yseHq-oFrviZSr3jJDc zzWnlHdBgB939d8)mk*I|EFg)wAi8ENJ%_-zj^OrNm0ljzQ7BblvP72 zzRm*S6pbU9;ZTt0HI)LS^Vw{WAU-{U-hUA#y*{kha^-RklJIm5Ee&hHypcWhLsn=M zhA*cwk^*NpS3@(R#G8mh6$b*L=$t0Hyke+!+=Rt+katDhK=@%;r^`eNrc)s;8ooB` zO6A#+k-ljDcIM_%RD+tTwdZZ-L+mi=*;+5+VZuCz`5td#uP5L2DBg#j#D_MALVuA| z#D2K7UE^6y-HDs0uF}Hj)*n$9A!kM+kn6Fn5~(j$F;6^Z4v%(y57K>U;RTi{#3p-lr>OAjV|S2K8~5G5 zZzD}kl`B^a(cIAG)$)fH$N?KYRC1VnQ8JR-Y0=)EG^9fxS)}*j&*Az!!G9!%-RFoo zpi^h0GJ%JwOxgh)WwKn{Ts%dVW=1xT%oI0&Z`?#AuaF{gIWyS8I`#57Ply0+_Zm)?gK=n`+5;r&d1NFJ7c*(hdG$Ii;M@a*8ZT>=V} z`XD>4Ug7NU*3I{A-a5=SuYY96v)S<(OkRx46$^#pT;x35JcoOI9}hwMux|Sykddze ze|ivM<&@Xy?Am4(9LUs(T$br69(cq*?ou{h~5V3I@l~s03g0?A4ki{&f zsg-^eZAjl!1_#QrpWdGG#q4?|x1LWY`ejLyeLEDgeWDUx&NwE{vVRHhGqD71DSNswA3Cz>zySJHPD%U@HIA_9ec7}rjDSsT&u9+F=5;}HpN{9`I zPo#II+rtSd93C|yet*t%6*`(7pWU?S;IrI87$`p?0z(?*qME5$+<@u3@wn@o1Dpjr zV7H|!;)tXMO;gqlHS7Ax?6ZevW?H=Se*+EQ)Y3eX4hSjw{eR-y0z)QmD{-rs^1}wf zaqx5;8r+s7jDI7^5mBS#;Bg$p2>Yp`6^CgL2J#N!_;DjBTY6BHM%hSQ)zIO#m>Dk~ z_cA8l7DIK}NJe2Kx+MqMNRqyrZTreT0j=E~kg45XntD8qR-F83rS7%1eYma5trDT7 zx8cJD-p*k{?mlwl@n3<@V@HmVOOG6B%^$e-L_E;|kbgz$4@wrBCt9?>eXQksX7|Xb zoR;@!?>||b>9}aoXX$=;mfE__09s*38g;qgcy;m*@X5dWYV)67C52mWJ<$B|&9AJi zymIqjqHO5>)9;XX$%eCZqKHQa3yZp3gcd{?UE_>@Qn>r*QTML9zI7M5`Tq9j-xd}w zcy#XY!hgcyxnJ5*uWuP2pQY*6dcEVDu-Nlk)Ze)`=41q}%WCU$3S(GzhKY2U(){<} z-b_Jj!ERsK^{4lyK3ZYh5z_5H7ofe{cocek`0%$5lc`<1ZrZhLdDpIE*x~c;nxDVx zygLJ3{Osj3ODvgG*(Gb{^vKf2m4$>uI1G-EXgJZSI z_*k(8mJR$YMa!m`*bFT@>reI1tkWC0l1TQ6f}c(Pf_jm%BfLZ1q3){h6f}X@<2Dfl zQfWbD6Q5#blNpAJ{p@Rqmfd{M3Ijh)LVq0L4J*#`%^&!_ASUOanO0-tkD`5BxDJhJ zLJ#&m!wCOhqJw`b6!1@l_T75_nO`u&xe7!m4YsK~CPLMrHYKtVTh15lyzSK*_S?yI z*?!;e&#p`6y4e?B%)OXS}grb#-P2 zwiwDDt>!yA(p6a7J{^csOLQ3{bs?af*FYH)TJ{!DLgjiWwWQ)Hm||+=B(K&MO4+IS z(0yjU|Ek*b=g-sl<_>jizSK7r!+)Lmt7}vHVdu7crNQYO%;0kmdHu!em6OJWgERe} zlbU)kkuQ#4J?XI5@AT=Hfd_gNS1caGZ1YKkieY}|Ayc&MqIL04jiH=ql)r8C2Mxhm zB%`Jn?YDZa70UUORJ-2xo+WL^T07tNqa|{kMRsBSvg9%5SId^i&3ozcn19^Qd}y1O zQO8=c#Fop=C)(>}{LSadUz3~RE!JrqWg35xMT2zmRN2GwHS+4j(l?s-P8{DuZurL1 zMDyL_6MO#dvm5TaZ$tAdlh-};&~+VO(2k8l?UP$66uUv<^Pj|GAu=>M3Ez)5TzGS1 zX~Txn*?k-S6n(=h@d^5L>pz1JetdtP#J>Cw1yd6^0C=2ZU}Rum0OG|BDQfZjHeVUI znHWIeuA{{g82$hA|9&Q3#*;uU2Lo6d05m)cvy;qY8$}ZUo7V<20001ZoMT{MU|^yt z{{N4*=F=Ph{}04J$=A`wUtfD#%KcoMV{^b>3pJQTteLKXHFxEEX(d>70ZbQp#h z${7F|HW^YGcp0=A)EaCW;v1qH%p7_glpMf+9U>i~9s(YE9^xNDA6OrFAEY2uAdn!| zAod|tA(kQhB6uRCBK#vO(F=PD6r2vP2SBL`p=8M7l*nMXE*+Ms`M`MzBWEM(jr-M?^<- zN1#W>NCHTHNYF_TNkmDANv28QN(f3;N}K=yc${NkWME)qVr*lOV*mjrAm#!>28RD& zJ_7(4egVI;S7t&1QJCYn6`p_MIB{rZ;qJO+X17gd@2<>OX6_XgTd}o~Ew3a`HdDAV zUzwSi;mXX+%*@Q(Cp*bxzpt5Zr2jp?$WQ;HY;11SpXSE@{a};+8t}91XP*IoLE+!r zY;5#d6met3SV&>#4Hm~eCPk8m5zj5x{aQFy8Y?FAPAy43vE3SKk)(vRRMVWMLtnFW6s(i zE2d-Pjg^f3aTzDvHpXSrj+o?m%yh5>BR^sp*NnD2;?j$lwu2~TdBP316`8$#u`Gg> z;1kkzSZ||x+o8uinr2K-+mVWSXj#&UlvFyj{Dj@AVVTEVlgGSEa+%eCQSB{oMOdpA z3>}gcO!E;b$i2e$X*WvpP%g|WiOh0h%o;CJ#hgwu6m?!GZB3^V?7ZN{k4kNnJ{VC( zsVt27E|;osEcX|xiQqCeji|K!m`iSXI3fPH_G_sV^MXj@c{C@Di`ao!m1FW|KXDG8 zq^T~`b|gy0;%=;25)yxZvE)Hq7E(maa*xNtcB+&wv@pEK^U_7ch0!!Qouj+_gu6`0 z$jQzEQ}mZGGP~OgSi}>$n2B^}U$K04LYn&7ku}9k*p#@E_3JwOPy8D8DQsNlOcLYy zv@v1F{fUsI@+OjETk{iA?e-T?s%XmN?m|*Tn7<&AlC#Xr)h8m@PL1vNEakWNI6DW7|ex3&vEyTLcULeT<#XAi{7HB?*7Vi1lZi;HB2_sLG9fu- zdd~e!y>G>rNS&+5j}UPz`@P;Cp7b_+^hSJkc`FLCpDN%!-sb>z`?)b_HjTpN*U zW)7|tj>{+&GCr_UktY$S`V3ap=o6xJX=_elauq~?fQcGOwWV%TRWUa$O~+=eXlO$(DaT`fDrdv!WW!wy1EMDmT@H3!LetkN zkK3lMQxhz~XoYrG=xAV4a*8^rIY4MurRtKt!JbptJ+=rs`WuF6YsS}S@`C7Nu$DZePo*!TbjiXAalP~42;!cN@FRdK9Z!K z8%hIzB4$dnt(siaxfY^3dWl_!?k#XtG0O)oqx~9tR%EAo{ z9I-Ppp;<+9kd-!d!@X_<%_`S|)o}C(DO!YWmwDYJ24%ipDr7rjmi&%=8YUFdPD$~q zJq#-7a^7<&a7iB0aF4etwC`m7#2weEkgHo+d0GVxO(+{WNJm-M?mGMW?mis#E9?kx zj<;q^yIZ#w&IL0u6%~h`Lru4g`ZGnXtDt~WpEYeKO{hc~a}t*ABiK`v$i$LrRY>IR QYNrmdvGG44Sw?RF0D#68N&o-= diff --git a/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.woff2 b/frontend/src/assets/fonts/openproject_icon/openproject-icon-font.woff2 index b8ce478fb701f8fe34818ad0b506e002ef1a38b7..2a32699dc84b9739eb68d6e278d9a64e661a5cc2 100644 GIT binary patch literal 22948 zcmV)MK)AnmPew8T0RR9109m8}3jhEB0K9kr09jK20RR9100000000000000000000 z0000SR0dW6pEe4Ds~~~tKmj%aBm;;H3xo&&1Rw>4G6$G*8_JjmRIi!i;5@)Zj-@;3 zQBfBqEmUw^hmB(fIJ(LH|IbJ|#&Ap>sG(W?kVn^;6XP<9fS3Ys9uvYq4?f~=xH6V%88+lIX`c69VBQL${jpRy7eMfqfr zuaKxW28=!-Bxyc6@MX5g<9G=Kf}DNPiv5b)WHt;#r@h1TbL;)Ts{c2(0R#5;H)5lf zM1I&9B}kMYFlr!rA|RotV4#4FA|fhiW1f+Sa7KX_>fKog_TA~B=c$*n3A+VN-QG66 zjHH3nbwvXVz<1B75B2!r@wx$g<(-XFp24ii*LIY;nU*xdNn7 zwijuX;2*$y>!075U(K(I?ctIu?vv7h6d=1j+fyihug$7{%ac?|6c%Sv{F@SSjOy_5pLMz*vm>?M-@HaRwp1ql|s>TKjOw% z$qx@AW-r)x7KbMgNw`6#{2xQ5(HTq@o5SS+`2wLxERo9O3Z+V| z(dzUDqsi>-;_Bw^;pye=M_W~_U%zh^)!J9mw_1)LuM!pm7y_o zhQTly7Q<#Z442_C2!k?wM!?uHLPo@h8GFWoabzTn6XVRdFj59%WDL&883p6YxH0aG z2cu+Ej3?v8cr!kXuXzK8dch$03I0NW5GVu*!9s`-DufB)0wF{Qk%Cb$ z2~mPsh!$dmSRqb`7p4daLZUELND`8T6d_eebCE8S3?b7+mh4OuvV|OBx{xd63HgFW zC=d$W_lo4ASSS&!La9(D%n-_jnZhjLD`B=!AwL+axFU%9>3k|{o zVWF@{XcU@+#ljL{sjy6F7M2SugchMyXcJZntAy3U8ey%lPFOFr3mb%uLWi(P=oB^! zUBVWjTi7aW6SfOILa(qx*eUE1b_;uiy}~|WztATf5Dp55gu}uS;i$myBCg^l?&2Yy z;w9eVBfjD%{(=&;U<4~T!3#l%LK3o21Q1Xlfdvt&(1b1wVG2vw!V#|Ugf9XSib%vF z5vj;TE(%eKO4Onet>{EA1~H0B%wiF%*u*XlaVk0f5IzWh3Lk|}!e`+x;cwv|;a}lD z;eX+aFe%uKKLX>Aknu;@_#?^qBUuGS1=Zt$%XF!>hE`A0z5%v(;Ql?9tgh~-+sC+^ zF=h<0)B~WfpoN?OF;=!P8JvWi4<Aj2rGzTt}vVg*aj&3#`EZw~!Ey{k!?@dxMKxR3Mq$&~v83lR?i*Wf_ zb+pz9)h-vAuIsxJHvHmUWMVug7`Q#ZByu{4;=5AIRw7PxdZqBo^;^uQATIj79QHAI zAI?nowcfkkx>u;v+xqcpcWZH6c9roVCv1kXAERfE7O9ow8BX_T{KfuzZ#5s*tId9= zmaWAW3(4xYm7L>%o5+TrTkRj=6O0IY4ho<8}gCJF#mUG}RB(vJ`z zUswyMc&(gH3g)FjI{c%yvx5zlVEZA)T^u54Cx#_PU7wh?YH`l`fk?pY<`e_0DUFhH zniK@AlXaf*WyvOe6HK-MC>c`gZ0u1#pIAP{k7D6uF&s;9MB6b+i1E{%93-&TfD*bw zlwd*-=&eqbQTD1V8|+et@H|7XaZPWghqwnk_MYP+0di!HT&N~FT3E|IhP@1cZk&op z5JsKrq%H|($GYq*rnR(|8#B=D<4g|&{;&sPKFjl4Te1?A%UP}NZ3X{TDX9yXRpunu}y$)lR(yo- z>-m5H@&J<*U6jUDDqqdHA;ReT#g%&S!XbKG>`yf^H{RZsn{RgT9ZHCog;Xyb&|fO) z@g#fojl03tTU`|~t_4O6dN}5gD=-^ZYJq)Z!>aB>SP-F+igt(WxoB;@Ru{4sINcAa z6eb+R9}PscLM|L}=paUr#a(!;5Ca@wmxWgv0i+u*gsd}UEWsIAw61t}I) zrJ6A+ZJb8MSgoyGtU2Zig)U=|du(kz%*>Gl9)6(jWz2*tqdzRS6thn=#N={qV$2j6 zM_!Q^g0Y@}O(we_ZaI+dX+LEPd5*#xCMs9R)mVO}5I%26OGw6K{X5 zKi!<67OyJHa-68|Ax{v=Se74crp4ZFrm-Uy`lWuYrN9>Rm8XnBTpSBnghc_dwGrA% zY|P-B0H7m0nT&4l&3ALGj$lJT{X~3jOH6X_{ypc|5EZgDDrroZu*Ka{Kl7ec?!E59>&Vw!aG zAk{gzsLz?;509+*Gf6u5YiFYQPhh6e&k+;cIVv#MCH*I!0chAcAYkL*S6dq)?YG*f zY!$kbu9fA!7A@_)1@ln%0e=*CfKwYKQzGMRs4wE!Wf4EhqULTLGBHW2`etIy5t9RE zVS;s+9q(ZEkz-xvqO=Gxoy$+LE-EIp`HrT|a-dqVNrW&5h`Gfr3P$wc@)$@=KiAHE z{|mhNYqE`|qQyf;^wADxm4Ubt?WIXe!d;~%oCw1+gG&vCJHgq9k9lwXO5{AEaC+s&lzxg#1u3R zA`g)*eULh=sHv#+w3GkPdLD8_b!G(6jn#NWxMiHDa#yPH}`c!#u zEvY_M;3&H$u3mU}I;d{xS*e8l7Usk4KcT;1BRd+}QX?U{E9oYcRlj}zpQNUlOSlSL zE9p^b2T_9hxCE|zr`Z_tGMmJ#g$CKuFj|kDTJTo%wnp}xqKLjFZuOjd$3AnKkkTi{ z;&yX+xJ94{Y7K44L<~=&s^T8kTuB{7ebr_bF4|EePb0IC;#kiujD)H#Pk`5E0LFzo z|GE7$1_eV3jumCCs&{?T`->4BLv|e&(ni*=j;@+=Y8&e-RSBMIy!Ov1E zZFMDyhUp*)_W2C71=+KGI?^0qcOix5@NhN8ZUxd3*)=p7zlmWpDv%g#y07SF?TPn| zXW~5n_#@}Mr*qUUwTihXWiL;{qcsH4Avy{Wi4Hj?5J4jMoIXmb-Mc7dA60D;GRKUI zJcW+?G#*e(fVZJxh7gedxYrsr)IbD~tL6!NHsT{_)fmKcz>K#zZXndOu;j?bvbM6T z03WFcM1m{;9<_84ap$Z0*TK8tQ+|I^UkD(S0`Fk$^+_?Mgt=MmCfFtlsDNX^f<6BH zrZMm^94Gt0_?K!!qaDmhLv6=k_7d;nW)ks=S#+>vnVpzFwyYg0J3uN-W6*Qp zFltvkYh#&MI{+RbqwnbzLuz9WG0?9J5w7I&HGr3J$_orlXPY9Fq<5^ylT3v z^}rQn1!qnWuy#tc)}ZtzS}tA2T$j0fmB}B5m|8m+37gny0?kA#?--MP zY{B6b-?Brt7$6<@!8w7Tvw&qymjX4w`keoXAAqlD+7tHcYDI#D65~T^Nk~ZllTQpW zkfwsuUpG&em)neg(Mz*FdnKC`-y{iQA;j(T#rSu}J>v#}(I-ITDv+@@1~+3!i}%F= zFwz1HPsR&uLc`r%+7k&kWibm$Nh#{0td@va79#4p@1;vVkjt!!dTQGTb70JbRm?x` zvaaxhBTfVSkGp;vlJJLBqQX)F-<2E;RMz zqjEIPkkoG#$#nYg5;4l@qc&8rlJ?FE`KkK>Unq9qoxsChAu!srQ5Ia}ARs)>n0@<6 zfVMSz!Swj4>rC$?jN!u`%Oih9jGY4Hga$29iCSn(9Bl=^aj}Qlu_Ri(Rb0fm%KKx( zgdn|~tqCzEw3KE8%vjN&RZr6e$>KBo+77OqSG^jY#zG9w54Y;FPoNzrR7gp~!Kn!H z8u6niFz2VChmXdfqxf$hBNA}BEbwIq$FC$VBmpcrO>*d(Fv_FFC#ca3tR=)aA~c(X zY6{9t1mRT3+bu^7t^`tdz+DW+Wx!;OfdARXyRX(Sjc4nRvRKsDF;23a!wYm-m++T? z`CHqm_~4e^d?W+?EBkbXlIS1&%h~zrS=8Nlc!H zJ9Dwje?@o=3LNDp*$YLrlV2c+-&w9DYRyBZ?zJ)KAbpA1>F6ys>9#UIOx@Lch+pAl zPy(Xlycdj>9k4_=QP6kM8o&q-2N)bf8uw6a0x22Y+jyQ?n&cHK86pjW6NT`wjDa_m zQHUYb`#6)q#C!qZml*;FGuUV4##pNWeX>t$j^HG1zs@Pktc zY4K?Jdr;-Kd$NNero6GAeN5s!KA5(E{~TA|f!XXd+E%M4kdnZ+F{LsLfMv>; zONIN78+Pj)Y3l^-MtF^Os*HQwrz_E9i?xQRTm{l*liCi}8v%X+8J{4Gkdh&0ZP3zu zPKH)))h_IyvbDwBFv=zmi@jcP2yrtps66BUncmu027@6Gf*Iz&r6TXQH???pK zxg} z7BG&Hi4n=w{iN#}eiCg4CO_IlFNMfMp>cqr_|2F80lcDLe{T7r-`>Xh(`niU`^0oY zFQAvIIL~{?4o4u!>0v4=?9vvNeEa~Y%!|ZyV$8K_A@mb?q{w?$+X$UAnoT;Ge{uCU z=9!#O3NGFX3X`i;_y_y0uE2?j*PEprxoG&9gIRqXiuEb;+BGXaAOwnFJeBBQy#U7X z;OhcGn(m2Xi#)`uhv1{{d7MtM?gBHLU+)GdmePvfq_Pv{N;{>-4--P3UL<{Dw%Fl@ zi}>@+-sX%7#NxuR?5@lv`gH}ng!h}N-i+RmRu`Iq@{zwMlKL) z@sq|@O)Pz$Y+69Q+f{!L)y#+oVjR&gRYpQ;457A?!KBQ2#L6gWD({3VTr`fE5P#IYxU*#@ z;TpouRajG+gTa5B@$SQz*GS0J*$4p~i3YZ11ztN=DVLaI+4C7UxQjtVg-n(v3@MlL z83e)w-aB5+dYHQfi0N#9>f)3EcJctVr}mrec`+*tnKh2RnBh87EJ|@}4>4#!EKN2>&C40=eLPr&`lC=Vj}STVzDdLFBeZ$)+KcG5C|*HlPTx4gA=~=f^_Rx~b>ikM z0g69)xTx8ybIPah?YU_NzyeoOd=xuDcwmQn=JTZx|28s?r#5h4l^C1#I& z*aw3H;J(U#!(l!Oz{l0EK&~W&hsqEdj#oDTTXM+GGZWIoy(LH;RZ;|kj;lC2gB*>1 zWFApaI|M*QV9v6LLDmNbXesS#5kb5OeBu;lXhk|$pTj(9);));6`O*t=4s4%?D2Vo z?j%k?UW+M}Ero%^(vSk0!2ArlWqZjVr#g5{oJIC4Tgw^0U<k0 z+UI~z`hlIh2CrWo*wK68%C$=UVSgWkJ`(2Zdk;zoKBK6R;ZAN$?@h*J30K}zYBEg7 zk8NH;{tO1f0UeK14n1FWY&_mhuRyGtfbQnbV~5Yz@14#S*Qi}g&01!U*GKps0a?Tj z3MDb3h9=Ro-03!{!%LeJO$pET!`=81JTV^}PP7VLbk}NlEic-{gfpFWYf!x#(cTXi zG;SKVQ@>=4?nX)6TnpQJnDk;>3wQJ$ME)m0a2@s4hxod)(;c*cpm9X}ZK;w1_Q};W z5;IUu9$sV}jg^06L@c(t7ff9ckjQ35_64FCISW9}P6SdMm-b|WP>~v%v^t;xUt-iT zB17L(3@NVqk&s4r<7fzCH2FYDkVKGM&|`NqT90^=XcsCpmU3}p2FxW-ytPj`K8d)hR@_TYr(G-eT z1&`MBxX>dlkd0x~&)v&ygwvh5&Wxh;&XL)3Dupm)QzrWw@ERS&X##lx+}cwkt`w?c zNxRRQgVRF-a%v&X|3vEm`v+BSBc%q#=f1cOBh64RRd+#WrMOTGTYpilpl4=trBa5q zV4{9zX6{iT!>;>0c*I$Q0ydMLmGFgfVZJVudf)*Y2D_)O{L&yZ3_2yg7ea;$foFSy z(*yk84iJVyOkA_iVIttcH-`)m_WN zdX%mM0bv7#hP=6zks=ErZXtsU$BfJfum)x^JY9uCiv&gkZtWPkag1R48f0oBs9S(c zWI8p1jdZ7yN@2=&D8RVzC>j>JU6=u++T+~(Cv2;|!}g)7o|kI=#!+ii zu9;8$YhSgu4#Q`64_Y{9h3S6}cP$}S^^O?BQuq9DuRNUODfdx3*+QlpTrHBmh4Z5r zPXGJlt%KhExy`u_$Gv4g>FPq1g)9kG`An*^QaYT7L@6&>75#sG{i~k?YGp>8SLgb5 zuTsUB_!*g$S$9LMbix-iNu<_N$lB<)b(aBX9a3lvVH9LbC~Co!q`URfj6rsTE(26f zxaXh`zmO{L>&ypeb|N9(N^;gka(8%n8AmMxCQe!Ycd69m9T9)reDgHO$4>cLqCjfoms3WpGT$m6pY0Y-ooMIgr~8@N857ddTyusBB?F#j&y>B; zKcDbBzsT2PcJuM!<+MJi00htE1tR)*bY2>XYl!f21y0W}B+&Yrrg7eJ=iu0b!Nbnb zn1|Gr!~|}MM=2XjEpaTe%rK@&PwR|xsIxy9vH-V9En5305m(ZRQqy-W<{a}wrtk92 z^`hk;y)?q6B~{AejDSWg0Kba z9@Yar&0G+}v2i3cS1F7;JajSftQ0x+aAzbT=tD~)Bm?cf7|)xV6?GWMhDGND?}Wrn z0a1*pnE{=}8%t>f=WSUUSrS_xQ#%Pwd)}Z8-mJ|=MINsY@KQyL#VdYpyA#@GokPpW zGHXRd2#S3z5GkTa_?1eEFf?cwwKi8Ud^d^)Y5Z&_<_Ba^rdMRl|JI7x)00v$$QZv;5%3ig`)b+la3Zx3I9NqPR$iMQN zTNHb@;@@r+nwRGH-?VOQHfmDn%%Wy)NAHKQLyWp{_-C@K*N^^f?jJ_8rRe&_bkT;Z zHs;Gda+)ldaP7;_|FQDLXZ70WpCN#K{P8Ckljho;Ogs; zD*=uVjRj4Lk6V+Ay8yRJxj6IY5;|#^&*{=;n4k8!D9=#SGUyIA%QmuxjN-K8-sY8- z2*YlPjvq3dh6nh!5$zLh&h66XLj6kMP$6HK@X!MHvFJmtd?YGk5|=Iulv95LrakwW znJ^?-xOt4w?(kQd*#$Gw#f=f1UW@V9R%tIDx(00RBOk{I{VC236c%J(`=QgcJ@ zM`qjP-V0j;Pl|~d%w*my-6eX(W0jfZLM6|8+-H@@BbeVXI`xxnxIRt-{^q(uWIjBZ z=@KhPp>6>-Aw~dab4yDnFPV@oHZmvfES5tP3;aw$>FDIOUHL+B(ZiK9D4!)+HX*lc zPZh1%h1EPe)da^*&XddW#GB9{9#1`W_&K_E2q2)qm;nhQ< zkEQGrL=dPh!|X&SfE(|I!3dv|I;}91NUQbwP3eNi3|>mq%9%w}U~SC(Z~72B9e~tb z{Zg9&N3f)t?9gr@F17}&lnWcV0&0iHbVI;F{eb@Y86G-i|KbQZ(WLk_ z2*|yi{CcPaM00Ija0e9DhMX82xO!&0lHQ>|G>l=1ugkm^A~U3OFIJ=h%80{^&qB&`K8YNelgLeM_Y*EoO%Ls*fOMYC}G@x{eiC73FAq16us z2lLr`FrY8V3XAuPG!U9jIXe_J-wU;fS6eQRA8)d!DWJZ74)g7w5qck-`%o~#p-OAm zLqc)|LCztafkQ4f65EktlYH z%x~r$c~q*b&$xC!et09Bz_|i9zfvOIEe~%C^+P@J+)Cp`Wy&-A+u-S)==R>v;>FvU zk_c`0m{;-}f8VZuMf$D7JP3bEu6N=)#5dx*g}lQ!bL5GH+zGsGpG)eXhDa0tyITCk zlQUnO0tfg&(jyA@$)P~|SQDR}-OJ}6%w8@Jb*Vqq-O1eD+4l|RV(-xTax2QFMI3XU z3@Wl7Dm+n1?j&Gd9!|sw8gt5>d7>~)FS7+IYW>?R^ZS*K`>yU*<}?&JcOFd zyN*3!;AZXFXtGs}AaRBW!j|2%Zf>&uj!vErwL%CPb(3|CSoq! z&T4mF2Ng#0oAuS+nS+WWxw~twj(CoSt02iVxD^MjkOkm|88bqtAw;L?n}KIRz4w@H zw^YHhR37+|^&-o~g=H4AERSeFdPcxS5wG0C?Au>5`~IPFtm zW)=ZDwzw#f0kedN*^We35Jbf?vnwp){Skxyx&G;x&89FL zrukKP#d&(hWhI+J7M$Th4lY5RPzfGxTh>iF`uCK)zt)qxmf{|A5(AN^K(BFpeN48Q`wL229#~`fit&H-@Ywx zQx1r63SirAyQ-N1lbVxDy)C3D;rf(YPdlOQJ&y>Aw!uVkrXD3%ENyhYIQQhz$3>ut z>43Ty02o(dE1Vb^$jvv6Hqz7hK zU;g;}(~3Nn?^it%RRwrvtU$yD8vAXQ*p;GwSar7HhtogQpH&Sn{T2s*?*-6$b|>>6 zt2Eu{$Wf5iklvJjps^{F31DjkjmAP-E&yE7i?*Dy8Q&SdD=W)sYXeSejhl1-=`-*U z{g1%YR~@}n`j77}C|Bxf-<8S>PPZMy7(M#+hIv%?lSNWoFA9_pTd548eUgGLaMp7K zboV5CA%n7tkOaEvac|891_+{O z&dAN}XKibcYUD^DyrZwrDi{@5vCL`H^NwV2!PQ@fZR2xKcjBXu^QOCgrwPz=DH2ke zagt7@YZ+9A>%6GBCez$Dvn#amG}F()MS+1uwaKPX3#$WTkBD)CXbN9DK3D-JT^gsj zd7cP9=!u`&EZICY*trWl1hMWD?N!X=kv8G2|8L(+eA1=hU#5)q&8`I8d?DKXZP{Us zVfGw9P0~m|Hg5Og%cBVaH=^RZ3F;pSi`;>;lcS`(^3q*dLZmR|Qbq3QW4vV(DoSQ0 zI`rEovXUyrv!)oX?QBuaO69*E(buU*t>sR$gF|P`cS;fI`A;DQcKjqtXbCh)n7nX` z^OE#51NWz$O(Li2BrCaK{e4qpLc-J5uH{cp_ct6_=@Ack_@9%7NgtV0yT#XA z%n}h@HEaCvnh2p1?7N+Zkaa2Fdpwb1SDivj0KeeB6Bgv3qxslaphT{~V1!pL3S` zuUku*`{8P5utKx8dF`?SU9&FSvT6CI<^sRve#T|l-1GKSc`jv@az7Oh+~ojvdNwvT-vs#s0lo=# ztI|Ew5dfY{Y-*(V01}mxvEATZKS5BS+g@GT<6n`mY$1Ay88I|I)F{OW%odKmi{>}> z61||~MAl#g>isnI{=qW+Vc){9qjpuKwdzBgXL)YC$%*EoT#O@wn}u^QE}s*_z1gv5 z`>wtJaDL$YvlrNY>FN2dXRFxq_wd^dxLcvRx80vY<)RY4BcDUk%phzS4Hi%O*u=<= z*@yCWAfid{39;aedY|!)oe?y$h~B1NqOq~RCj@i%$e-g;msIC5Y5DG0h_Pn~lrku3 zie>Q@iT|Y2vFP`Gqp|5q|IB)~y+<1DP4t}&oKMr%YR?%b&rj}N6%`X{B*J?PSFVK` zd^4k?jmB>Ss$4H$o#F@9roKp=X$thu%kvM=o!)!xOj)bf_9-mgugynFe;JwEKP6^r zHL%IgER57UcpSaBr*EBUaMWw(ncK!s)wffo|K&4KLrJ*^GE}^ktqz-KPA^aHRDNpj zY%M?MvcILa^Bk*lHgmtrxz_T|_D{;r^5mJ*H#@Yh1e4yhE%b-912hG_0V_@S{>Hjv zQKiJV!O>VT*`b;#EqJb`bVLw!-oyjTHi+7Xpq4&RI3i^;_SxDi2okS0LrOz>%09_nyL6 zA?_i|%4>sbYXzV!$9wmkoSYb7b5T$FI31Z2v`}-~%Xk{fJnNt7e?zTEiAhn2H->*p zDj{bxn51HICe@nG@{K_msBXD$EJ`<3tswz`6PhU=xEM_@+<6ClJ3W(MWul|LvGO@O z20C?W1RWOG@xc_2W&WrbzxugJ&XsWx0$~HT8yF~bPozQVybvS}X@H^-)2vnImPpr7 zg9Oxh)DDSEOSC4G?8$4eESUA*F8MC7^>9$7Jwr{c;zlBxi1)K%wK6KB!OLh=r+Uu3 zWQ_GnMO(!d%mTvuX>=Zd9O@kxI;B1sBP0HYi5ZDSGTD4#N_rW_^waa_?|u=vaT*JZZ|jzJ|Nh8g zfuQF*P0p?vhvVZ|b-9nTJzNv^xF@~`n!%n@-E1y@Mycx>_Q&(VFu(hS%MaS%SpkN8>gJO7brErw=;1=r7Hr{x{Y zDZ2of%@hqx0dTzX*3Y(utKX|_b7mRHX^b>l8igScuz;;+l8f)8&k@bxeEkqXmWq}# zy&c&C7=mC#QtQOQKV@ygNlVC1CC-RjO-+{*|58^5i0b5Yo)(N#=%swkiRqdu%VIJj z<%MuUpy(f&+%Xl|fb;vA^j_wM)D+o5fisoFfL7yTFEPFnR!!k=WiyWQT!gHsXkG#& z%Ch60%DX}nOSu>AJ5V$UQ8VqLK9m3#@Z|rCk1vA3dEH)aqZ!}4nzp|1GD-7Ln6>`e zos0=r?{0WT%0TlxA$`qPf`Yh`gt7un16vr_d^>VRdCoxL?1HG+j6-5OLBVG(cLi;w zsM|_9F->46K9n)d45T^OP%jtd4sm{O9c%raQ^t{T2@cKyHe!eXJ!u3ym;0Q>Vg1RS zJCVaY%stGM&_0VJbDQraw=we^rJCRp<_Ob=6s1l}nl`9aP^?TV1zCWeYRS4I(+*9m zlDef&!R>A&FU1Ytv@eq)nOSgu+v_?OJ<~kWh1TgZvc3OINN|s(FF0Tw#V_dh?d&tv zEQw!ry|apQ?&X#5n?a*{c*oD~zWA?GZRdLoJpAdw;4Rl?*{%LvRnaYMx#H1-i#PEh z#>2t$t{t+6=Xb@Y>LIqtwg2J8TNqHJd=%GVfFOW?1E!}nvtws}6%)H5_H?^l8*|G0 zc;f~x0OxIa6#oXWBjh{2>km@|Pn-+^-T^^AK{{`pVeR%i**QCWPL3hd-uhewfMBJl zoH^QTPGN?-|9G$T-o43tw1T>~Z&$B=`zFrZBI(M@>*{Ugz0dk%03I{X^GsY3*Tg%{ zOXGh3$CP8oso%ClvLZK${&V}fro$J7dl$-&tIVq7=A9sYr&lCQ;=*vEler{#T~Zwj z>j*F%Yr+~EZFB`Qo`po4EQH0D`1wPDX{~?f z`y=im9Kn@f2qWRL4J69a%urUSz=S0;kz_4~K~P!L(i6NB)dNYQ%6T1C45}r0BO=F3 z(L|w~s7@voYH)fDD+!GNWCY4GRh^*HUsw%%#I;tFu8VMVIYf1OGX!~ zxgS@!3J^u6j)VdbXKx<|;Us|~Pw1Lw8a*TSwnEw23$yJP&r8pPob%ZETq4W7YU*Cs zn(fH`)B62fS@n9VOD-zo&^|5?X2;(b07M39$Q+zAM}rF>MvYx?l%h>c6ogOHk{Mx)AAV_SS-DK7+ zVNOCjvE)FkhtMtd9N8qeqIw<+TSNlEG$l7Um+yviaS2$>csGK=07SqL6ox|Rqj5fh zrouoCK>$n2MH5|l@zDrGMjPplf^ceRWE=&BWK9*OGYjcL80V*IDk=2K>Ha7TV`v1z zKq63>F2@RC^@d`zfF0Pii#}%;rd@mJob(*XIftFgB?N1#-nO=!oQB*kDzN%`U76d! z7S&bSMW4RHVZ}=FkjOiReq+n(k~LevGb;k4J`jK-{>4R$j*KA)N_f1nDmKyaZZy}A z=V}$hy5g#WLXDh6mTSthrGYd6h5-cmr=MU@DrJ#C7gVvz>X52rxDYYJ)LJf*f@nzq ziPr5Wp{{D8U6~ii$aLJfRRdf9lBLBLiHpTy4PhXxm#|!Hx@aK)E93fgF)Cg|BG&`2 zuUTWqw+6UaX|y_ft^fM#0W>Ekl8F?6B2ILtfB-bR)hD>7bQ72E0 zm`9<95vz|d|B+Na?9pTD@o?}U-04bwzgLEKuWy&z-}uWp+Uu?>hNgvN-F9BAS?o;x z;(|J_*Q|Gb{Ei_)^AW1b^wyXzr;|}C(>1eXQ#r>}ja;6~&gXJyrObJ(+O9if6I~;q z3N&<6yg;l&K}?n zvxle@OMZT@Fe#AbG-2gcwOzGUjoCZ zq9P}e7gDv*(FCm+K2)moWATfGoLxVz__p&U{~U`JlsRwIgcf{+M5GWkS`l4Fejwt$ zhoEQAI7p>P;(T;Z;d%;ZKU0iz1Z+D82NuFfzMCR^_8d?=P!Fhvay@>&fPV(&Zo9(>=6WPN5 z^;Fr}C%+lfWi(7hXRy;7GSMo)wkL}n>=b-CRL9ruPs4y#Ta0|q(h#I7a^r6}@t5kU zUa{%*H5N`2sI6Zu{#oGolM^olJ9}j1HlA~VV%NeFx5SP6y^<>H@aFPTHZ@w&!qL{I zS-a=2;(1r^PCzMN?Y}9N?`aCI{rU1SF`t%9tfQ#zr!2}Uj*d~p#<~WgUl7pxce!>k zyA)j|udP;K@RctG|4ipArWxy~{(Gu9xZdrSl^HuCiR?<@`{;f6GsdBDE5W*tZA^(A zPij}t;JO-5_8xxb>y53gS=W}zbb9w7=cL0_hFEDKD=ET)paLO9Nwz4(4C>(|=O8zO zPPX(~R%`3V*Iz?wiy8vboFM|I0bHkS-P@|1&0Mv274{-KQ7Q^?+3gbfVm6A9$%q!n zw91w}Ey~yduG+JT#i61?SwUgln6+oV)iGY&l6G>5gIkGlUXG-OLeVO~(h&FmmR5cx zLJ~u^uR2sVla$0NrCOVo4grreOh!(Hxnd|BP&+xucd4Tv6^UgnCKXnpR<$f6s@sZrx zymkqA3|$FN$?++31>s4T?uod5f-Zq>H71BCNm?H4?liE~B5!l}n<*7s!LWPRB?qJ^ z?_hSS5}JnUc;eq~D~>5;YPrYPF<*Pg)iUKVFt^nzxjvO*?@X{ZZ3vuG9sA#nheVmA zDkzJJl$%HU?$_=&9e60<1~hd2c$_0V@uGT>_2BdC_gfs=ElhW15NGp(c{n8FIAZY<{d?#sH#1K|xAF|pgJH4#G=j3B^vWnH8xH}=cr7luD) z{kg|<`F-==W?-xH>{rP(QPFBe)&!aApPcNkGWonz+e^A6{GFof;LMv@v;NpTZTZ8< zfx0@b7w6#P%n#VTx7e(iPy240&)rh@6JcW`?jx>gyp3=Xxv6pHOl(C**&+V$lgUx{ z(bBT_36*tCO(n%Ts`h;CvdqKs;rhBU&vyld(s1Soys}o=7SoCq%V;Me*G8THeJsu? zFTa%jZOb_k!gW;eTh{b{n9{qT3R}2$#wK>L(t*^unLKj|R z(+iEj{RD?E!6h;YT3R!nj1%h83%gHkx-o4TgR0d$AFvEzmZn~!rx82LVpzTn8^Qo_ z-g~tCrBjJClTdOo86r87AhN?e2Qo?~P=YtRpLrzzevZx&cS47 zz61vj=S6>+YB%D6<1Q3hdAvn-V5+!9jIcN)i^n@7?sQ;>e0=b+%gKw;N1k4u2O)q= zA2ZzMfCfB~%mIli@EJewdhlN9<>_ViJl+~<9XJ*L#jaH_bX;L8flMq{!D0>Orr@Of|KXqZktG#9 z9U?g>^V_+JwIP36g#$&f{d@K$_KT!lAM;S)NEVDVv4_Crh%R4i%u7W`p+TSa)dy?A z3Q<+q)}>eX&22WPoR7_k@Uy(C8B~4B8S<(~*P4)2JT(%O{Hxwip%>sLaJ0q3!8vZw z)Pfw<#hrAv$R=cNMp=u?jSx-Xf1f%m&L`t^N0Br|FbA zuwh3&2S^)eTew?j-gJ89eumJ~cMTbSUe_=C=`BT}Gw&9q8*y+Yt&iIWk=_NS=U1G1 zXJ%+>NztVRQ&KI#es@oY`lTBaD`7>B;sxHj1n-?u_?Wxsj~-HF3v6wX=&E!W9IeY4 zGmL4ck<6HQA_*L&%l^(NXU^$2vxQ2BdjXM}(R^6pu)x@(f_+Co|IPfdd%9zTnL4=?~*{!puwQD%=cvs+T7 z#trigyWa(J67TcaJaJzOLHV02>5o6J|Z(cQ~4{>!`4@m}t@@m1FU z(;A{9!oT_|d`YpT8SvujxGso7Y(~N4x)(PP(xs7W zjUii?gF$d~Mwj*13u34L=w`0%0phsN(9=CxzKeqnXGjh|u*VVH@e)pwlkk}`j{_d^ zLZ~pJ0ssifWZ?i8-9$I2wLQ+tEgla4eood{W(#ATHfwQuS6hb1o zlZEo&=Oe>)uttrkByC{; zOaE~~G!ag(px1r*|I65SW8-~vcJ@Hs{8AFlnPQINnw*t{yQ7cbuDz@M@+VISWr^R!&cA1`%J{yNMP zR*ZfYo_t{A*GnSO?Id@qfWDdH62qHPm%xp2_Ka|M3^)Gi=b;G>d+=| zCP{B5fCxG=Gr52)W}9^A1NjHwcW$DwpR=F@T*GdHG)yK>c6-x2_blAPIoG=lAnl z&_1+<&n$vH($dpF)MEM1lojOKpGIgoX)dZ;>{CwCwL3IdC${I@hR&Z=Y9Q6N{C9Eq{s!hix`N5cSt zfbHa$n1V0SiYq|pU-IWU@Y_#L_$Rw_dN{KHUQq0&RcqaZ`8*&U=b^P_E}iqNT%@+% z1?C{Y#a4pw02dvXj-#BfQkp8;wklpw3?}0BbV9$S>`u4f+g%b(L+xMb-&|8BN z(En97$A0&2NxmsxqIR%H!^R-#3Gd_W9CzHE1Hyx`F&L=sVp7X&PB~N8t1l|U7?Ln&twX)0bmQzYSPj)n#!Q>ZGao}xU#-3 zy%Pg%nb`x(k9NrskVMnBy)1jZOy^{%>Yca4rCc9+=Z6y~c5Q54R$`4Z`-!Mj8ksNl zH)mLDYdbo2?>c$u(wvacqoS&;aS~i9=DXDpND_&fj6|YZe=aQK3yz6l z9n1)6EmUI=?<)sE?o2T*OFw^Okb*m5|0?l=dR$T;I%G|}g6w{0%Lkx6h4 z!R0sdiC#h~ZOk76(>ZvY%$K0)o?F&xloxs?cw?#vK9C?~<37JCR2xom_lrXz3)ncC9qmmY16=okllLopV6{`H@9&D*rGy z#)6~C`86~)_m~O2NXf4+BK;GSLmvW+nCT4BzyBGcmRP~P^9Rrtl$;l=Y;4Q`cVHm- zVn-FZc02weM6PbUy;W^gZ76@D=$@bU)yf%c$E$LI=hUd^jVI{HqQeJU1_Trn*=y+) z0ku+{g812yD=TTp&CMI} zHcpI(E-J+G2uSSlVlOdtXiuB;-tSc3loOGsTV8k|H0U8px&zQf?`ql9c_l_g8 zW_GN`fteS@GXrWW+Je{PU`xu|Pd$Q-KFK$fC&}>vWB(DsMa7SM30rUX>+T(tV$_E> zT0k$bfTjqu>@zNEm-+rf*pP)J0b9ImA`(w~(Nx5zJ9D%s%J;iFGTEK)e4~m+GrN5- zsG97rHd^cu6U^?(mwMj`yW<@OF!=HaRG{&=&$9SDpItRG4dsgJ8zZq*eE(ciW*CIn z8bQ=|TVjFKeTiwZJ>NfagC=)927#Mz2KE&Ng^YOt0`o?P3?+>C!!iU?@F7xu@9a=2 zUl?_UFNj8PI{=w?z^)akGP`6wguz6emRxW=1$8wo{*6MiMj8+@Mn%*Zp9b4ONF|B~ zkPs>q&`yzmV1_4=y&s z*~`@Qq`2gtB$M{E$S2W5XPy}ld#vh4v3(p4h^p4YB&Hf6fubK*!CDB#`Is86zHI{p!4M#k z_%H?6cA7wh>lT2(WGLy58Ua_z6?{b`UU-vzsoVbDKD*QuMituz8k z+RXWhRihK0qp009$oE1r=BfsvbT}*06?gVI8BAu`ak{zCz~1+bsYvhC3EVd5GChOi zkEVc%lhwzkfVT+&YNg4;-IVN7Cim2Ozv{5y!oa}7n!uu}6#V0&xEvZ2ayjO1NKEKm zd8B`~!I1M6SO~LuLc|ZW78*Vk1oS#={*R{1HaWF@Z_GA28`1}MB-4_*l4wG|?d}y) z#*AF!go(GAtDiJ+>&b#)3)eKM=YmV&7caKB1vEFVbHaoF*_?oZakGf^t{QuZ-U48h z9{qXQJW-PLHYvk;ErMW6N#E{s0|*ZEFI)EWR+Z@itSk{S0}ZJg=%-KvNyt={Ze%Sr z;hqb`5}A=Hp6xwb9J=RDSsCvuv-l(*9DJ|$etoNR8)$``N(1Wx@LXNZ$>zz^jiwCw`|K#>!O`&!lkq5FtxSq0EgGg z<8?W8C8TUYxq2?TPWRf>m9?O?S40n+IOEy;vLH z_SwsyhVc9!H>Ly8RXB*Ebce6K)n^2{*Ow*M*Bjf(B1neGrDfGSs&{|dF{2iyFxVSS zoE5Crp)Pj!xOckm(l)TnC&TaFr=4ct>F?1gJ16Sw>vZHyHpcQWwvFx77nZiLPI6ew zl^nxifn}ephaHIB7<^b{hV$qlXuIB+^!{VLb5{_q4#cm~B$o4{kf_J$NV@Iy9Z&js zx`2Lw?kTu`@EQ)^h9~P^=j%#8sJf?Y>k9EBM7f45v$5#&d2x0^(t}po`#|~NzLdLr z^}`guIEXtqi$8B$7d@F)k_4#Veu z)g*~Z8?9xu*lOzoBLRLO-kuU{JdFo8-(nnqfv4zpW2S8v<^=k-?13gu4y7WmYtHvoWn?_G7oZ< zY!;i(uxIli(K(u$LzFN%MDgJ2D!6mF2`R1$hQgJJM!6d3=vljBSr(Z8ckT?{9MlrL z;+{)gaErU|ediU{AS%Z(%8;&4H$)9dOolXr;lC0x0p*#Z39m`-NztG6y_1Wq=&&6mEZyA*V( z=6p@4@yR*yn)rBaoHjnrx0wBfOR__z+naOZasnegBfZq`9ki`%dwREK+}6UX_^K&s z3~YzPP7abbSNombIxE;=pX`SY)D-Jui{o^}0Ol>@ck-9<;J9C`0}j1fB;zd&7g@@a z#TGTBJ6Qv;e}UT`xz;oWwuY!0lc^@E2{c9R9ka${4(Fm0+!1B+kNgUMPZj&J$v?bw z=Xn<$Mwm6H17CFH#nP&IzeMMh&DwveKK!|0#C_Pk-~Garcj^v<)10`~IqVH&=cM^@ z2^&7f?kiy-5z}nnR`H)Ju#N0n8ohJE9QgXl79nzDZm`I~H6we|NeVm8_uLd`waRF} zyV^;*?*<#7pv~vQS;5TUEr;EP``?g72J79R8+&R6XB5QEbX?~n2}_wfA9vm(Fc?Ze zOQcILO%*ovQ7%>Qafij%FydWYpfn2KK^|ELHqHZl9mS0aO?7cdaMDrLcT{?M&cl=t zVu6>J;8pb+ip9%c?>YWoKTVa^Sex0POTp#^AN3wb&-AV$Azyl-Z`T zx5RUwQ@g=Wn(Q1?)SkUtX3rk3s8~@kyMJ~?e?voD?EHpe6W4^AczOVV(%85<0QXaK zp#qa50z7*>4eTEhgfo4VKIU86?{fhpuf9|6j|oR=tc%wr7moyMd_nAv@4Q@o@OC~; zCA;#aTSB);W2FZ|4}dFCU;M{cXp+_HSVbqsP$?@D7YIZA)q_ zO*cI@RoeYDt=>|a%OQ~A*L24sK%W47Z|HUk;F_i{O|vSNJGrFSRg(vZTZpf|BjwA| zPs@rOaJkT*iO!>l+UXKHdf)TQurK1(E~2!NS^h#CceMSdfK#*BEDquzfM`YET@|u) z_^9y-KFLpHcKpzJx?5(ZI!Tm1idw`d;uJ9f+snP9O-pZKPueJr zLpKOU01OLM<|wxa#b&d6zRE06MMIOj*RcFg#HTzWkN$6$5B~kVp+5bt_2uP+6R*tg zuQuAENq9_mywHHKGwxc8k1mRTZ%%>|zG?#x6 zDv;C{d{HNU(CS(GkW{}`ipLt(0D6(R#)I0RuLEwl^g!3VpV;+}X{UTl(Sdn*<#Rg6 zBW$sm<b?#ymU(fQib;P_iRT4onmBvJk8g$k)G#y4+0KRGIuUv<6l6g}BSE@a zo#JcCjLQ>L{>k7f!xl$zd^&EV-01M(L@f?eav6VC3i9GIO}?i*-iA8=l--ae6-t>& zdD8H~@I{TpAOR)}4Xa+wKL6JK6imCD@5qTJ4gk>djt8u(Mb;;iY-z5h6-);fU_U1TFcJZy ziqTqZ)PS?^Ro=T-<5+X=9{)X1ylIPD38Mtz{$=Ln%i@m3Eyv|Ashn!qYUnolZT0Jp zbm0D<$)uUe~=xj`bEww#UFE zt2{C6`Nsnb%q>Y%>!(ir5jbvHMzXS^lJ`%bbTEL@00e>2*Q)y=iw;Z_A3gg?JC0xT z)7hgkjW2Fk>p$#-`vm@Y+V3))PwRrZCd@K4K4ih}qCnP203sn=iuGbWc1vS;SJVqm zw!01&#S_@|=2e|$&Q3Sobl+HEGc?iDws;;*ToE2CSIMr;UD+AJ*{;NM-E^VlhUnZa zidb;ed*``F#<#4ZiIkkbeFv5aj2G_+Vsnx){dp89&@4W42`{moKKg>bF1Vh% znotN0#)g2CEV*oD%vtPwJvhMDPmEX74{ZDNJN&l^cY)u|4hn)gn}!T`7T+PVSA)LK zfd(GSC-R-!wK5m;&xe}E*t*Uw!H9+(`CRamEgPwJ? z>%Lc2a(=h=b57NSABqH7wMl%8PFST!*!jQm+#gj`x-CTLf-&v>K<6huN~D$O^%Ocp zuB)y~lf#jSbUB*03scU6PDw}zZs@t`HwV7^q!f}X7!J={ffAgAM< zx`2{%c-3E)lx~0IqW1=|ej_a((B7^@)`vg=gLeRu{3o9mc(~Z)DSRJWOY9SU(s_Ix z1zKN4d{F{ru`8Z6!;0fW7QPF#=DzchG8D;6O22mu^CVxuSHAJ~h^C{HuPKk$=__`f zagOF7F9at36BfoeVE@tErtr)~T;&?+D{3wmtNBfmys*V&F~ z(!ZO=`7hpj-+b$zAM!a6{{s!}8vh)Pk)DbhGI@5!?nHw6-m9PUr>dHmKG>A}IE) zM-Oz8q8XOs1yPa}RnraAvK`m+gD{GdG|P*!s++d!hY^He1jTTIq-ciactMn8Mb&C$xz5sle}8^4MNyI!01+mtc5PCvY1xkJ z`9T=PNt)%wqS~r%+O8kQX@k0UX>(J-K>igiJTLrf zkKZShZ_NC>$gkWqi~L#S?;iig0n3Sp`I5t~ysG&kUDL{l&ge2m8Ro;5!8Vw{(WS!O zD&d}z@7b17S+!cjtzJR&c~PRot4r-xB>U%z+Ld0S)+;Ht>x?U`s&%b>5CTUpgR7g{ zAQ|GpksLsEQL#(No>wTWA@ffDC5H`j-13mv)!Ajnzv8YH!aaMr_kj`4WE}&kh%>y} z`<2PjB7_oS5?hbFN9oB!&%W*%YXO?Pd%+wy0SD}MZec|i9Hl`504HSg!L%0lr;=i7 zPOuj-9erD3&mG!^DO%)Hm}(`vh!;@VHB8UJ^}i`7Y89rPBM1g}BSlCnn2ixTID*6T z3GS`;@GK|r} z&7Z-0HhT_mI`>@xkFieY3t|Ev2LbYMUxCfH(z=3=Q-!Q>i+{|{HdYN%_N_36ssuIY zXnXn4tK*nOE>drY+IWEcG6iQ;o-S1++4DTbL_G-Y zg)-XNTqx-_*(B=Ra9H+u$<5y^hL$cp*N#{|bg8FyHxiYHehNT6ULfQ|@#E{VyCWb% zhgq$*=2U#_9XWA?%;63J&H($2%Rpy<=$5C;_#%;!-XLzFJs=JFzeS|HKrDq0Y#Z7+ zeawEZyld-oSs-;6rBcWKvlu!!x-5yt4*6J$yW`pSF50exE6nDCUyk2r&P6O7rXR_p zoqC#%du1s3ahI~Fn733V1v zLw@31ON!| zpJ~7VK>rWB?g0SQJO6L&fBye#ILctE0C^Npft4Hq=aztMKqSE75YWM303ZaQAxz-u zCfLg9qa7OQL+#=t0Y0p`&703PMBf-9yizZYo zGVHH*&&>H(3^c1+9 zgn`|aToa1meZ~0ZF|x{NvhZ_rHE(~FzkBOo*!6vV1MB6a2|=Kw;vxOz0p}6^!H2jM zh5j)_L{#cNxolL~3i}}o5U)EI4!Z8Nz!9ZVdajJEFE_5zMo(xnm@)t?{Qrdbqdu;9 zVhs!o63X_plO(I9_DuD+*4e9E=67~D8R`B1xYHtRLNEsb8?iuav#_wUHkZqJ=HMWF z6X5_T-uD230RF(wMmU~CK`4sVbPt*6T<2c;U5)Onz#w z;}6yF(No1 zzBm&X?^{*Rq*~RGD6zx^T-o5SY3pm2jVMp-o9w){k9K2UQ(fD4Rdd2MUuX9L(vF91 zzTjS&Uzzc*-vZ*}Gnj=QHCHB3o%oVKoj5+zrhbED@(D>Gg5Eb z^UuHyP{=J((M?p?ZPwtASm>`>@y}fN?%uwD2|$P`LXk;Cm}$nK3rVQ|qm-I(*ZzMA zK>$S36i0$oxT2$6`2R~;lB%-Ptiu<*)Lp&ho4xkay$25qf&zmBgapL}lU}bs6u@mF zd^$Eo&O1FmL_vR2^sVd-z_f4Ln$5Q<@$ejtirk-RX9 zVU_(rmTsOnQJQXvwUjygY|2oSF>Q_3lsR*K%23vU(ncQVftu&$dj!%C06XpvJIoI| z-4841C-ezqG7n}{4`y~BsvjO|JRWLT9%_0XYLFgkvL0&G9%}Y3svj(BJS=KhENXfz zYLF~yvMg%UENb>VsvkXSJUwbyJ!*PAYLGo@vOQ|lJ!S!(uasvl}}r92lAOi~wiVC$PsAV>mDTgeDnmk$xE z1Zj$U$Sl;M3jn*Le7zsCs;&)h##car@jEdU;8@gSe8&SYa$Vxc-=J1gD4}|Yo4C_* zp*T4{gh##^tD`g36bOMAx>#1ltLs&EoF~U?vKb)KA`}s|mQu44qA0IqaL5hQ+yGHr zNgAK0-Et(X`y<&1D11|BcEUgpfc_Yhb`U6;?MwL${m9q*a&Es zY#Fq*#;vR{$zxUPl+1nW(J?0ec7`s=Y_;kPfMVA$IhrwMXIav+(N2Wk=*U^L$Bd$( zNXsZ?)3tyVI&zP6H%^a@U!U&r605z#E3OB9>F9;Od+k$q9`pXjv(q&pD94# zu(5M$07f@sEa5REZbtP>MsT8??!!{bH{ri@!H;Bqh)7o`s%BJnPWmS1=AtqQ62*k% z6qp%RvsAxVRy?ABXIr{x?~mGUo9}tF4$RzdN}s8qs=4N6SRhH~KrE zu=%4{DH*u@IO!&&Thtg)XM_(l!J$M;z~_Y^%mpP8)M^Ct;{$#oYMKjr6w25{ z6*a4BT3f&Fjadz}U5CZmq@|Q(A;o}8Cp36^M_r-8C__tyX7nVe75bYSBd+}}c~@Z{ zQ46feKrD%bS3n){Loo4?%5IEIJfk88{I)~m8Eevx;cy24k`=bj7VEGn`7x3z0aQm* zl-OA<&rJ9Bv-VTYubiSV` zWE;SmSOMso;Oes@#=s{G&AF4(WH!`dv!kx|CEx-~)lGLUV)qiZlA+CYJTFK?K;8M= zA1{hq&9)*l37>>XRJYMA@cVdl|6d-8+ME z9Gl7xCu%AIgYQ|4SNvS=!iW%x9r;m4S=h8ew%`eaF>K=2;%7^wf1;SN;Y{r0^q?M^ z=9g`w^DlcBE>e${!wTDx{O^r>Rh)ft3an}7P-$)|WczV5@f<=d2CvT-gW6N>cMK5hvV)^DRxDW_=S=N2n=gpuC#sH zJ@ybIH{`rB=BqgbUw+^}-Du{AaL^QM1~AWg!QzioW{R7$EsL#jd$pLg*j?f4D!Tow zK>&_cjb#z0!Ou@3GF$f#j-bmhY<)xGiuB49RiGroG%W-3rU|rJy5{N`3|w@ijJeZM zb!<}HbZzLRYMOE=)c_1^R8BhgsO&^TU7&VZQMR!4k{Gf>)u zs3!mR-Ly58lUFKP3wcZTQ*@C76_jA)*cez%38@_vONNexjAJsxJ%_FrexA($91v@Z z$ViaG8;crF%Octh@|hq9nF5s>=%b#Ou$IJnfvTM#bUIbKTkncj z!gVcJ7r}T%LuAdCrV;xP`N>vb)zSXd{qu4(_Ks@Md-u$YC?k7T| z$hGb9lN+OUYFg+CR^PTv@B>#78&nP=DY-ZiH%JKo{O+c@_>}tJAx6>Z{K8tluaki& zEcmU2G1SC^%7Bl8!2zX|hDhCPd)P5!dRs!u%~0PlB||XlsOC*^2>?&d@+HLimP*Vn zd8~8g@;%G@G8--gF5~g?Bi}`%ImJF@`z;ZvO=px7Mev5Weiy=mTw*W7Ib$%NgclWZ zf{$23k7Kx?(n;+8!Gsg!l9S<|t>F9Ail!-B0WwWB!{Uadc9C2v2=$u-&9D&eM_=L@ z1(yrR?E~=`Oi2oYRL2;!bCT_;y5}33=TF2(lr%+F@#EFHhl4B-Yp~cOGS1Z$>$TmN z%DsIheG>U6Ja&gTnVE3uuq88S^?|oW74Hv|)2yF;#qof;#UjKg>ftCawFK1i2~~_U;Y(CY zI=bNqeJcD;>RUTC|00|ThRsPj1b?E%F+U8)tklk6k=Hh>*0YH8p8}5j0?rv71n-*n zKy4^SXKzMtv>t70mhJ|mWASh!FE>muDpOZ?>nl4a06NKgN26U72RILZcmWG^381bh zKc7T#^x6L&!w>cbpC%u!&7uP8N50Upk`NSsJ?!8v$d7&3>BGyRp=XWsos(dub!0?9 z%c=NFm+znUCj9-*$?5VjJqS?LB`dA6OlK0}+`Uj66cYxpK608V&H&ZjN=3Rm8+0IK zH^uO%=`trbf)gK@v`l;*db*;aYg5{)=E;|$pY8B+&u*=D@X||^AgG=4p~Q2I?y_*0 znOoe<90^riQv8dB3kvv?@!t!~jp<{FSIU-{hcW9nCBaMO8Y===h2!74d6#+mO&PYFK+V1f-#2?cePw5VqdF<#e!83k^pgp89%2G zC|D9&JS0Y_;m(XI*G>?#x5!WtzS5LuZ*Cv_*yBu30X9MlDD*TgA0IG$p)gpai)MP* z#^{$u9=tA#q7ze*Mt*vNaNmWzCtqhOhl%n;>dy|gb$CCHkdUl2ofW*FMNNA zLxALPhGv-=JjoE&J{%h~uN3haR6;w+^VggpNQw8ehbT$v7UZvaEtU(b=G6}$2;r|p za}Vz;LG3S2@%K|7^IEfYj#;}H!=%|@WsqH(Iihx6K)KHueb92s*h|uKcuKfm398Zm zB1D5q#J>yWj+?*rnseCpi6;GPj`Pk0;DzO)B2g2}jvFFA&f81)zLW?CgjpsUJyezt zb_Z7$$! zNl3(9CqHh5^9?3&HLF3Q|BI!WaXHHeJSVj*J9^XDytTq71Hj_~p42{M-0Fl4c>Q$kV*=|VSY#bBTZ z=*TLxAAsVD*}%9uE`)x!lv*;P3{aUEwFQ+)!8pYq_ay24M*PQJg)kYiv~j0^y636; zFN%=r=PGX+8SUi$ZK6j3_|d^ON!vy$=BK8!UoWyM^*;PlKawPzsJJ{r7n^}aEx%w?vq=q% z;^vNd3!eGmNU%)lTnI;uMRG3Z&)MvTI%EI=f|dQ7F%B_Y4Y{Hhb%F?J_W9`qD|n1X zKJqk?zNmml?mj(^c-g^SdMN?xcs?G8q@dtca#m?37ahyWb3nf`2&MYGWdAjmU}PQ4 zP?9%+^Ez(mS*e-}m(aUoKjXpH5uwGi2&^54RCnOOdgkPKD3y-MIoYXrf z4RTBMP+1dxgD=yaJRsbM{?CDr=4&SHyIr7J&#$&4kej3Y>zKs~Sf@}gs4l-x*(u^J zUN#0x2vIsj-cU*lL~;Q+U$YM32g|5c!NvptC{Ee^%#vNmq{Ywz`iS23SH|6W6&PI2 zb|XI#lFs|bhdtTZ@X)@9K~lqU<32b<0SYJLiTS`n)y1(-{t04q>EU&>Dqw)~?-@g} zO^!B)gE*HDB+r-r&^+*okfG)6rPS|TQ_;aoxjE3(uL4?InzLVs<>8Eh<;{x z{~jYUg85J|4D`sJ%|F*J|8iyDEHExZF{R`c800+IoZ_TT4q1IdpLW=dRL!+#8eE&z z6kT!x(sJO4TLJQ|Fc}*pT@$&ebhb5){`%VhK2V`$gI*?Rpn?rEhnSUw0v?Y5@aUHb14a$xE0%ir6LOI+_9#Mv- zcp(f&{MNIEHVbe!(#$k-owQ0(ZrBr1v8LU@1i2&sM|=FV@E|z62-1w`03t(_#1Sze zoB*#Q`hC3mZ2%TV=CMvP&`lRf80>1w9ZokaTZO&=@Rd4TOYP_am z%LxRe*UU_0W+!hGD3X1oYI!DiRL&uLLu36-J@PVN4UrR7z+I*AgrR>ufhJIxXgcU6 zdoP2b2eE;d7K18c}GV9%ZQfb#jTRMKGhyLD8-SOWXIZ<0SpEzjfca!=z25yFQe&zh9xg@7eUt#qP-X z{;Iq*`tD5qz+G<&Zfb(lG`^m!X@L`t<83!OUH7llcTVP?d`F(2kzFTy&#$Iayyx2~ zv?BeBW8LlCvzhSU)F1xeyL*S5)&0(r?Hg$=&Y;6tI2&oViG-qDbI>)XOY*2PW7@1j zrP4IA+Y6`Y2Q!AbmoteZhqL!eW5PK>2js#U;LXhda#Y^d`@ZvRIo)-^)v6-5_Yq9q zt-xuske~p{SU~`Ajmu|h`F4d@kxPJC=YWAT48Godm{5#2c1|aj^;tLBfECMtD&oD#%hH06US;0V>}$#I=!VAmC4nR{TP=E+!u zk@!F>xrr~rM#$eZlZD_9RXXt37`KSx6vBWkh&z#w`2C`}Fo9Zgx1I(nuw-Adp=DjT!xJ);%gp$-A6OS}_F#AyunIJy6>v-Q?lIxj1Z4 ztL>D)6h7?pGMoMbZFomhLehQZE0R~73=1!o`13<_ZU(mMax3bveV3kg5gP0+C{jJ9 zG+H#JYVa|ZRLLhdILy|Gp?yMf8Kh^>b5OuKiZgV!_yp-QOzc3r&|`Fr1cQ0WCm#eR zy?egB!(3Z{eG5RyWWvw|{r~0*EkGppBrZsBnKlyWBnWbIf8$~MLh)2csxD~>7_Qqn zX`%%pMsh6*J90lAXH35%#GFiX*e!uH?albTO|eR5JU_l(SP$4&1fmcuMvrk#wTVhF zg|QASt+nJuCkKJGKM;{sku6M84FY?hP_*Oh^msiY8Uvd~$UIv-)JO}bp;4^Zvald~3RLD}lYtdPij<&k ztJmiCk=1pA7JWerAB+yiKa0aa)YCtF+e+a;EZT+Ck=K%6g^s*aNH>K%TLN6TT2*ni zl@A4&(LZ*dv*Is%U%TEB2eXBeo6wds&qHguTW_kt4n;xE5ciaBV-vmhmzO%v*Qpby zZmCB@z8e)POe4OdC8iseaAsVW5N*YB1@T70Y$Z;y@n8#ynZa(IfX}V}PB_~qc`9tp>VV;X` zripBNZu%eZ!|ksTA0D)}yldTAbDjHRdP=C_tD~kT%Y!w9D-)*d-4uU*R_oABuBn<3 zDR4Tt)=bfV`K?4`_Ch#NAN?%Djq?mM=|nt5E31X8-}>U;+r=%0(|MBCBGi&DYi#K) z(=V9kDVJBMLwuj+^2DJ8WURyIWDBBJ4BR+5oJ;$)2{%LSP4@HRSNCL1>>P0^tcRaB z(M?c;Xp?UCyb49rpO|zlqyfE>2HS@nG2uod^NnTP;;&V^8WMXog@N)* zH2=um$&XhVIJ7UfDYb%<28s$;f{F1rA$9y49S~V9%Cn%cV%)nJtuS%%;2z{fng@9J zx_%Tw&J;#9mqS7^k3tt0JO%ZVvtOmwh>3+uie>a@$W2z_6<(fDz-VOtPyx({Nm7;be$n*l+7l4n} z)sBm?uZ-NI_bRDCtbk(SVm{y%|5d2hn)_T>JDRYmqI5QPn2|K&nTGk)jw2bEv!pnJT_L_y^8aqqn*_;()qYkPx?e{I{_&8$h6uG ze-X;wuF#0hQO!}d;d>!=l6l-usrfAf^#oI_@LRh_${7?cX-=;@b`R@{M)H6->f=iJ znjlkWClTM1hK?A8FKN;-IpJ8J73$IlxtD(3T)c?l%2%_hP-+943Mx`7R#dpKJ|U=k z^**Q!qc)r8i(xiav^Fmw#9KdELE>H^nUbYTn35RIQYOw7=85ps7*!IxHIRktMswOI z)N~KpuAOAsVe;JgbzSIEaD`m`y2oMOr;LrX^Tq%b{HEEm7(!Io)Ms*un_6|hS5J&d z*O2{OYnI9Tz{uJLuGsmsTLeb5!K^J5@rqF2&9pByY)+O!uzX0gz1M<3D&{^sC>nCA zm$wB@?lGrF6g3{4en4}gG=`rp{dPazDo6bQbcnbINQG7s1D$RipsE4#&!Rj9^4^90 zaUMpuArCL6^mppr;wQWxQ&v@nvIPrkNL#!}UQFH&uT?dbVN=y|1bm(Cx}_K!d*5G0 zr8=vAVtbb-zR!ce`vSZUr%X#3r;6`Ow@{DL5c&vX+%iv)wP<0 zBVD}_v0LF2G(2c;B9kt|ZlEv7aK=?aw=!TuYT(OcRq0^>E-~6T}AW*267aoZo`uVTCi3+xd9AGAyeu>=Fa0QCwa3+05($J|Dm!A4u`3z z){9-{zj#16dIAcYx~N`!&|TMEjZ5zcj?MsAQ(XIoZCQ}}w_*2jRzoW&G@D{;mT)4Q z+3o2f>j|wPn|}$93I2B>HNUTof{J#7UO}iVD`JAOaeNXvMh)vWnt}B}13CBZdFB8`1MS#DO(E9w2U4 z??B?RAeIBaP^ipiVOwS1HpYy zH)|D;^?hJ8Hk1hEaA8PE(>}j+_%!z%{N98)U1-#-bC~bGw z`UhPe=g#q%1qk2VbQK}^rSf%k9=$)fA%WIsJLRA+`+CA%vQ&mZj%9I#0VE| z2OR`HHA72@X;`qlx7+D37kEs@Y|z<=RPYeuAk<~ab)8eJsKR351>)yVL~78s+ocQ8 zRSNC}#X*#Ro0gY3(Yq2^Mb8AvNA>WN1+M9blPCpYFKJ@kV;BmhXMYr@<>HYr<*^&Q zwPB)*ced%4G#}Krg+t%xX}+qunhSDw>~%oOuJ^69Gg;G+o*7>f70P6SV__{sZZIE0 z9fhwV7{h4Xx>IMx37U(>kF0I2eUZ~o{XqKlcT{aw{WTJrTwvuqWxZYSFbuP_IzmBU zyn3|UEK6=clJASIN$KTY*mAA(!?R|j^%b#);F~(Oy&Dd>LN+C*8~IZeM!)w@-v~ES z#^9IdtHP-~giDtk>tUhS%CiMxe%jE6qz-R)Cf&(BnVv6pXhB8PXaxzHm_7kmK`7uO zU}6SQF*isQRQY4r%WKT6EZ&hV^N0|QPE<#M5${5MQHfgTeuuSfYt zkSHGOd@3BY*&EA(^3SKIm@en8dyWwEAGmm~GzNJ+tb95{H0;}3kaxbk;gEI0&)oF5 zAhBsO3YW`bPl3j|f|?)ZLGx?gk~d z-{tCrR-19oLzLx=RT*5^#EHJYgIbc&_k8twIN3m(Gi?q&@ar)tKsEJaE4| zFs8hoi0v-QiFz(?5Ei>h^NIDn?ZgSueRHsx(u~$z;PzIv91m3HK2{$sg@m;YNXHpg z+uNZt`hFvre}Hp)&Tp2OZ@!#m+IXeFY1DI^|J-1Ymebp=PLoi_q)6Iz5op+K$(G({ zCmhMpt9FP2&UMAu2I&~;@yFHf>rlHc6}FCs!azmUSpZXCe@=dut|LF! z2G0rpa8w2>GoN34Ly1IT0^z`YtIyYUH)AgD)MSQ&Jx3C3?Kj7vJNun6Jnw6>e&|?R zrv8lztr14eowZg<2JfT2+DIFxMtII!w3V3dimtn>mqP;gP)Vs~R0cUxo6~&Zq#q`vDny1REaS_3j_NZnj}#RcJ2L=0xAeUk$dzoaf25RB?lkQzc+m zeB7&#l7qNWIx{ky>4Qe=+iRY>PdXB z$TmBEP|9eMG=Vb`QO6ehSC*lbo14lFi|w|ePq3Hto<$c~^Y>}c+6o|^H%^kVUanZI z7EzXryvGlgwh_z=u-Bg(TA;N}W9|m?8zHCv)=E#YyCrjSaBR4`bdjMwItC?LgFz_1 zk6LKU77Hz|RqFgIGr1hiRFQQcUbQCpr)@*h(!mS|uD=J@<*+M(LgaSeUPf<(1BE4B zy5Xl#n>;r8eeg!D2|d=WkPL_$dxk^Ge|h>vU=MCPPnBlj>3;-wzw7R=6@_)fD=Nu2 z9BRnpCOM{mR~xzo9LiTD6BM5&&F0*xB2b z1B-v^iqV#fChuqc@!g?IN-~aq)D>h=U;XvKVnCRkN3bP7$=68hHll%}O>lBCY*Y0` zrx7FiqR`mjF~IvHjW&c7%I}`;!@#MY!@i^Xny<^Lv~1xw*|xlXU{ztTO^j$LGf`&; z*R@q?zC_5SMO|ft> zK+$ABID^MqIl-Y@2?HtjBna=4J>xENk|0@_qk(CGM^8@&ei@_>R5;X@-9-ILVY@zQFgp#iFvbV+BJz`@Z_K)^0!Z+kr}3x~|ESVC{d zT8B>fqGz$Q(YSliIE=s0bq_H$w*hYV`e#`=j+=g#X_v+}wJMl@AG!6!BzpifD>=sxi?GbP2t75h!Npkl2();{W++8rI7Kn31A)V7JouDRMqXYRP3#i%>z z^N&ya2iAQ>{2sCxMApkcKj%L^@y@58c09Q0>Crg0Ne%SEaB{I9JJ4MHU;kzMaxqZf zcWUNhWl^Em#(js%i%yp;K$Z;CH1Y%;;72XW?;ZHvO>?l{j;GEW<)lPK0dk3oJfNnxoxUz<_-RWeU*TpAcN>BMHS^i_?z}2 zQjaO<&_8HV>bL*}f25ifP^FdtP6Eiz@BZj#G&lioF}k$|X3R;Il^|bm2Lc&3+IB3yB*n;*1s@#$v&2e zFF(Fg-~ND+f+0sl`cJ3jP_#=SNUx!1cPKKW%P(Y8_a^nM6@8VbdihL6G9b|P~%GTeIIWfMs0 zp7Q4-)SSUicLcO(&zq2APwumW!I_<^`4hun;p-J%8LrM^A7b+~P-!T)#s@X}4RF{3 zf1Qc{#r-4>7=F*@vS*0#4f6`4Klx^b_nI6sw#`EeOA47|`Xt|uMJ75WI)yenCg#|Z zA28+jsdk^*&kkf`MVO7UY#vC6hj|=gzZxf?I6>ptdTjOQn`(%8Er98m*52JkL_~62 z4*t9{erNm6z51MXjzCh^zAV?zcK3e!prKTz*$rm*LjQHHzIpfeAAQAz+Ilui*umYF zSK1m%oyg(ovC5Bql?=XgW|zyJn9OebY>Iymu0 z#b}|sHB#5c@f>(?Ih@S}Y->T4f5Xa~t+zSO-IYP+c3=g12MK-)I`?u7UDmWYJ+*$| z-igP0-njwl8y8n5vW{BHl!#H??$Gvmxn0uL6(0P2rBLtnMYXj?c|k*Yf^%`mJt+a0 z>eH$_IYocse^}FO8ZvLc3I zt=Fg{9iuPPdQ}wB{wTKfXHtGO&WNO;e@lv4d70wcAYV)~+I|hbh6qmE^e&Yr<^thV z0Y#N)DkM15bdQ#>{SCuvvqcEw7p^U7TS!?vBeuG+_H~P`u=0ZLc`@=r1OPzrVMP9O zM>HzZ#d{p?VyfD<%iI%B0e^W{{i`YLjfLiFy{-{TJ!^;k!Re>Pu(8p=p=Pgak4UO# z$#@r-mOvs&f??^&>=7O=DAC3rz#D<#{xBLwfsS~JNqW{)_Jc@Eun02=t4NORg9b(n z0T8n%#TbQXcg77^{%`Iwp5oksvdH66YrP3F9#LAqJ_mEEW z$)1WjSX3;O^Cl}I$hE-hClCPpy9a%*LY2kU3>&+m^mVo_{i!8#ZGS5*sGArTOTNG)A!MqCk|3J{O6 z`5D5n~<+fCwzQ6_N_gMyzkF+eIcEQl);ZdEcT^ zb@(1j;Km)Ys2}&U=S>@acqz$%9B4nBa*2f!eAfPov6XFLs-&YMu+`m+5jCNXlJHN^w;;kwSb(y~DesHcY203d)M@_Hq5`4}Yh%Me5Z1o2C_webUSvS{i1u=crYz zaV+|K9NSs5QtjgP2`%G~Mr54w(L*UDN?K^#DWb0bdGUn#($f}U zS{W*KYEga)lA8@$8Y>f{=u4rH2V~?KY4zTTY-n%vEvw|cJptRIz&Lj{ZLHY*G;6oC zc+>D8(>7)Y@ZgZM&l*2H7(I%%75hjy3LPU145u6CuYV7NVe^A@4cp3?U#~48S^f7o zt{_)CUN$5n@Y!pY77kAk*2nwtvq z`W$2&%`8l|0R;`tqy%K43$3c5w5O$~6ag!}JF>`cs|Jg6fqLLBCm+YM3%&2pCe$9; zcKVI(P~NYyAGGXE$0Rf*3YSU^jIoWxYc5)x3acw79q*B%})v=yX{B=fSo$q@ar z4WvgD5o5SW3jLiOV!&2o#?lh}k4`X_$r4lRkl@hxJ@NqcAgS6-{k2Q|e#9X*$+xJ< z%>YR3xNnz={4Ck+sB^mX;#}HPR0&NJIDJ;QASx-FItZ(Mv*!Y1-cl;z4g-t0Aawm3 z+4fuNMVo%_{*?;2?0)%m4vl9&;-oI`xDMmFvtB`O|;s#f49SiqNKz(giJE!&4?)^z6#=qdBr4~$%0rP z@{L;IWdh_jJ()WT4Zk;O@tdWg{v>wm;$nc>W!LLF1=~&94PKzHRO}K&5Kem+ct4hK zkq8mtXyPrCuR1rA>!7vkErA0>Mcx()4nyrdegQhk1lDqVz3U@Q(=2>)+G0c&C;6<> z4|-NFWn~1s7(+P(TccIUOtE!hoM~?T zE3+29JVXu(Yihr2YyIy6QT?BO{JQE~5&q^6m%kpnk$$4D(G!8e_!n(|ACDc>b!2}_ z;^}$sr=u%T1Jvh^#+JEyAywhhz3yuLaQiQh&eV*$${LT02&QcTH7M_z#CtMThEJj> zJ?J{|iGjc!7LpX;D-OYYJBj!zk}FJg^hSNpi4`T2Mf&bxI^H&16B{$*>-BW*wl>>- zYxvmI!>oiG#>I9c%FEK z7UtWdL-|1MCTU#&^aNHD9sa=+9wW^()cS2BN;7H-#q0S)G;hsP$sXSR{krUiu9vt* z@A#z=1G{ezea0iu6*Cv>js_e#2~g{v$4@ME>R32dIX{FM|JKwdT15M(OWPHD)!U%X zp38PEy*yxM*{b)8y@{+W-UJ(@4?~dE(VKkTP4o@`Cdi~W1hr{dF~V&z6d_uxunA{9 z9r5aTn!NkG-gQl<@iyPs0&ni~lqXuyFj{)Nk|f}yCnA+Ief6kvM|q8G-vnCiFL!M; z`R$}PJv%&qgo3rgU-d6l@6~tRHEcBH-gTMqI4SX%M`PftM0*xHtqze6r=Dsw)tl^~ zf_D(lm5!nqouJ|)RbgvtPD;8M-)wx6YJ?dR$G{%#_MxCk5nb$@U2+v?O;4rL7T`qb z+Hih7xp!L$7;wI9rP|v5KR+ZiGAJvduO3 z9>v@%yq~FMEE^)r;}|)Nw5wBzPF;~H+81?xZ_grQ*PhW7B(!9vo!Jbf*O>IL??usZsv^$Ns!ks}osf(}E2@B&S&KzVTy_)X_e?OeZ>8jz2 z=DB~l;J&4PKP(0J%dLSJ4zJFzZR1y7-|ZWQxWH)1&Dw+}eNU`{h$@77y~6 z)TsFTdzD)|Kdk(<4S-PwvEJ)fS4&qq5j?c{iScL`aHYI_TivlzGt9(l= z7iq`Dv1n_sPbD|pj3@4VKeA=JC|+i+GFWhv4%Vi^tq|x>5AsRYl^xl9doe0asIc zZFmzXcpaPul3cQ#gOa1B?r68y%%o-6pPjh(k2ZH?wT__HIqVWU|IHY2>q+xWGazm4 zKXq-W6%89;?Ckzeo!G+kM;gnJhR}3w+f+TAkCr93KVS~TEZuLH=4dIBdsyy;F5^1wF0_x*zDzFq-qp#r18QfD!tNPz}P9hyOC!H zQ)KTI_Dk6}{?1rNghhN`HI5IFChd2_YK*#!pdvUym8^7i#30b~q{P1iQnb>*<^Rk) z%q0QkkxfWh1M!8+m6H+|V3W`aKb9%r?M0R!qvju2#-^%)}j zN#~#av%-M>2=^Uo7$Tw8IY>_G9@BRM|B&6!OV=-Oh;#&B2g)I$x&w^@QntHqI*|oG z;^zE#PX>tIA(GJY?(rLL&LeKL1K|P3Ip7>|J4n27L$K|8pwtFpRv}6##Dei{nlfm9hl3wnLDn&!2&ik_IWpNtWbZ3rpf9^fQYf zppYzIYkPIX!-ZP$8zzUwPjbn;+{DyIP?4F(iLjhQnlljWOO8Ab19LO6xf*NBpHqV=ziW{F1pZAto-P-+GjI!2zAGI@_9>hDrS>$1`NHW+DrL5#O0jQlN^0LtvMR+ zLw0Po-m0r}nfv7$K2VGKnc({!N8F)^owP^Vs|EaIOZ1{K(-b1&UY+5VB#dPFp;K(9 z$;xKR@|Bf}>bcPLRX*7y+nw9)IM7Z>E|jeqoF_gJdn|nT1NpEV4#l0iGsPzB1|W~o z0r3IZ{m|d4#&B_mUN4BYwa{>{wm`|YG8mI*_VmvpCPzp9hM|x#wEX_Khn%+xDHXOt ztM3Cuov)_w$(;;|AcI0T^Dl@D66#zQ-*a{q;KXp%yvmC$#x5v`{e(=b89vr<4&x{K zUO8b;o;~I$GLDS`7KV#tdd4g?n5DsCG8D})&vMBUC!-BCYN9p?L4wh*Qc?Xt2c6$9 z`ut)JBJ9^h>@OS#3h+OAFIz8^V~nI0MAwEnUjJMAX>i=T&<5{!g5D1)$<=IGP0||& zOoW8f)H~Q^-kTM@#NIJL1KP$lfdH>xfSdrC{H!dknr>CQ7*u3nZLj9B6zHz(xKVQp zv^|Wp9eba%<#J(CIz=sJ z7#cXW>(0d`od_Wm?0A0DHy>zBZ(E`*BhF&<7ZHVPgTbz$Rb}WL)g_nsyu^8ZEW5bV z`^@7`4e$OVz!2X>E6yL7bJUpSc8i3b2{CMmV#Z>GlZgHBT^Ui_he8X78R0VQhey`} z%v9p-9)Z=L`B6Wqd0AcFYkiA*JK`TGwvDi4nP*P*AY1B|g(h~J%*dD#fCIo0(3J7) z6jj1~%mH>Czxm|)_@IMnMpdP+Cm7|46GNC@f9yQGLCUErFxCHMdz18ezqyOU-D>Ey zk;vFFghhy-Kp|4YFrR5&TXS=}+jjUq9O*DPm~hj}o3GVAS$@90O33RkZ31-E-qkS2 zMr)5GglI@CHlg(iAEFWJ%bp~-GX*dOSQ@Avganj^bE@Q$AS41A+_XDa0R;mKgZ#__ z60>Q4e*7p?r=(CCI|hr#6GDLLq7lX;M(hX*hhYT(0$JG2+DdIr4oBX%BwTBn{cnFa zPASe(32Qv$O?Ow0usYCOA8W`8CV)o)7j%&928A2Ie;QyIJX(ywiU5U7;VPPg3_=*p zI;$PT3A!jRL8%@Go>V-fWTT23lO3NMS-wz+hu6-r(WRJ7xEXi#7BSb*xHfX^xGC~h zMYI@GZI5+uns_>Bzz`IIZlTSnd0S9269(hhwd~mPQ9fp7bg+h~ znk8hH-;O-i=2k_1>c5A*LvOwPvIb5`*9Y^3|64JbHR^Q6E@~5wow~nxglswcHHK#^ zTj*r>!O6?SY~U-tD*L)Q={y?;x?3v3*oZmn02OynlchH?B7737GEMY@Wc$3$a79z7 zKt&0F%!?-gZir8(6;$2RU@!#qSs~dLF8b_wB!I=pyVq-|``nW0rH5(d=U%9TGM-Gk zqgqdH5?cJ05xLfqb06ysfev_-?BtQ=f&aHDRlK}Nxq{XKVNb< z-Es(>0Rv}8zlc})hq*Zp97!pxqcGV=&FBSEVPgs5pV&O=FrdZGpb7r{&tO?>2Y1iz zN83?$QK+)HITPNAf%uaXS>Vwp`hkyJS$}J@+N4@n`ApuoApNuDGnt|*GM@KzOU(LX zROE|82ini`NM@o>>t!CfTAhjnI1#I>DaehD>*tpj@h==6yDRh<=^P9%bfWRdpZBa6 zrZMYst1CaXb{-jDUNO&E-Ie@3h5x?uqNto%d@!5pd>+)_T%!o~wfM#QCwjLFUMVoU z>QQB!W||}$_IUjXGh!3QiSRFqu>vC`VR^7y2_J4~#=ye?RSMcJYsXnvdL~BffHI&d zk^O@Hn*CCSm#4_{1LOZ0LrY4Z z4j3H+>tD~nkOZSSve^a(Kxfc0g_V2CUG2Uga2Ol5u_WL~kWNO^8GkVy@$1VPE3x>0 zds`~K{jI;HWGt)C4?`id^Oa^IY+^>~{e=?W+Yz^YBLIVQK){2gU->PGFYwz@H_K3| zsJ=NGTOkk5H)n-Gn4=k@{#%lYB*|msNOygAD{eK#k7W>Cau(QUBos0g1o5ovT{4w0 z5(rBXNX~@_g}u8&$y~nW6qgr+;7$OtZi79l(xgr)dI*D!4O(K+SE;CndC^ZKf<4-R z5HT{M#<&#N2|}t-Jcxjhp`b33>}#u$tNxZpo@W$xX7Yk|wwUl$(NXHOZj6~8XP7_# zNSsrm5^|YM!}Use9h|#FO-;W0+djfv8Eo&6$C}|81hiPqHLyyN8gRB{Iz?*Y_hq8B z`h`cpw#sVDu5dz!5xElqT9<6ro)q{cdFiaPg5r+W3>(|W;UG(`7ADZu2mzGbTLEh! z6z5`U*nisw2!bI%AaG$4j>K+b9aImdUyDXuSA@q30$fO;LMA6>;Hg z0)j%xnV1bg1RVWt2J=WDY&R368+>83=1&ApBEZ2g3>Aw34i2IhU zcN2yhK-O3gyR4lG00KccaD+MtSaOh;?l-kwjWsBf{q?%6ES$VUzli`Gn0q;?oQS3rGNxs`dX65y9R>FM_5FB?G~2&DOk&e>q{)-L zZaUX}8TN?s!TJb$23QfBa_<+=&rErq!W&fvDi6_%fPZm6_tJq$|8f6c4uC!A^f{kA zXx{;@dyWA2ucOoe0%zT=kFC6`?gn=+dI9h)+=PC$>6!aO_pv^(CRTbYN{M4pc94lR zu7^Fy2pHT}*T@^$9TX#!ypi=2t3@Zh$8d*vNbZMZE>s;t>UNW7$Zzj)HJGi^uc+2y z19Q*U<`TVY56Hhxm*pLra3mE}9k2ar8hD==q*j`}6y_9{GAq&=18O5ei-UuU>w-(F zTJVp%{8D&q*rnJzVX@(NWYK}S21DLw5FpQy2~pou+9`N<5b)Px<9`%guGzKoJ5#R7 z&5&_^TM8w)H<`i@*qU4`Y23s%O`16y+4?CnyOEf&Y-gLN^lWf3^1_97w}Kgs8^&Sp ze~x#;z@f8(4ZJKJFb)&|W7L>Gm&_L=ONLB&##0%MObOx3dMjZNk*Ye2X8d&l`E9L~-GRY8RT`7;6vgQ`GI8JMBS_UK&hnWLBi z{?t%Kz@95mm;&gC0y{^59shd!?o{et0bFbI!pI4cs8z_3pw2Z{*3l_Gw zuU}w+n;b*H=kWE9cVNM%S<6ot!3Str69l!I0t~r%hS|%$HFvfJR2L8;;UP<#_N{F= z&=9Ao^omv}qLU#^T(U{w8J!FPive~>RySj69tkSTDan!(qxQk1?Jxl<%`9V`*j1b^ z)_hvHqBpeV_NGYd`L~^~Rws0xiuuzJS$J=K1`u3LLmt zDJGLt)NZTY`ElFKdYD9Gt~axmF*=5OnSB$!8UC%EV7gysz}+*TEb#v4nAGi)4bBZZ zb}k2PX#~^3bnTBw|GYtQRQu&T!%@K%AMHo&k6RylRCK1>*b!)#-jwv=k4CrN5Lz3k zw@Q;#$*~}orx{3wRBp}x}WOJdw8HHhi{?N4X*L`pdJV*Qn&Qxq*10{#g%3P z`u$#=o>cUr)y{rMJFqA9SYP9a*Pw+)F5%~xb#!fe*^-%06p2Z85|dO<5?7yubaY*# zvKP%&2^AyCNiJTM!0ae|-q)g#TUVJb2hgB4BaY&ZVwHLpDxz}-{>n8)$8$LGCR5sg zY`aRvuY3F26d)@x|MUX{@tCr0Dj5q5HZ-zv&;(XbZ^tL`vY%sRpSIOGEPyAK&8Bov z%^3h2*u&HeaLv>u0D>+dhkc?BVVB^;-f{XUy(?O*)J_Q5PDL#;JD1#rskAQ7M87a- zwI1mLCx(-fL!V1aA=3}Al}rYcOLJy&Ai)`mnq_n_HAM1a>#Epu*@>wha+=(Ojwk37 zboQ@)5m*se|99&N-5Amyy6modLuh+);6t}%jHp{un?YAXiX8mhuNtzTRxJz%dxtvOX7U#z3XSSB0AM z#p_89)5|%dC)zH4-EcAFV%^!gaO>l96Eq14+IVe3yniVNiWldG&9EnL#pMM@dq?|d zz&B(|#n$v}&bZCRH3>D-(i%7pMI0X@Y^)79xp{U7TeyS|6R0cI$CbwGm<7yP!tLQM z;lS~~SO=UwR3hcH=8Lp)q;Vxp8Lsvq>RXs}M6bTI29736o!MMxX#tZh^Uhgkwnnm1 zF)l*s+`~V@-;ss>Oyc*i6&&A^LkPX@Wbmu*f;dVo=ZBcQirITlG)BJUjVeYIgNk$0 zeo=QDT<6BG%ww)2x+O1&Ph9s$+@3N95|tBsH)sF30>|i{)|l;+*5J3#Ht~_`^FjqK z9+|ltj+2=2{%5ASsZ}QDowcr#J=d841)YAso#xF7-E_!vWbhqPV6fi_xxTBOcS>%& zk%8;{#1X0U7T|8Xcm_imXpeRupr|6IKglQSy>2tO8d`$8JCsi1y2zp%!20=st0Q^R zq3P}}iLN@b`nF0>&3l|0rhNOgy9L(hfWTz?tU>Nu(?D5wyrL#dUUBO6P6r-5TY#;8 z%2>RK@5D~r0|rQhXq+Us`?G+BAu?T-l&InLeZ zqPth3J)tOWc=F58?|t1)l8GK%$)@m4k~qo!@crPDIzXs9KgH{L}2_1&qTT0br+b-`u)Ksq{~B48HiRR4shs(lUrEDH`cV32L^SA|=$}KExc6WdFtY-DOFMmumwq{gy3nU$4hq1*C zr61P>t$9&D--Uy3VMX(I(c)ycC%qNT&imJ6>p`o7&-*HK?TsIALeJZg1#Ul&i#5jQ z`jN62or$VfAvCcwlfn0GzN!eS4l1HNJ);!b3CxBWwI9Q7yi{w{Dm$47z_CS zc7@>IpPL#p?$}>nN<8+)`r%5m(=FI~y+=dI&7({Ze%1a;cn;AhzNHV0Y@>w)!BAIG zRCO0hkV6nohE9FFjKr|H2cRNxW6>vd(r;QlLm!qF&_VKA#W;^%ps(^GH|ZOICob9F zJO4hj@hRnmpE)MD0Iz;YWqCy`vNBw|Pfg#`?ZdDxicrz1ud4Ba;4Cw1m+!MNdAIuR-8xa--6Q@xAb-~xzZ_PH{Jl%8OP9nS zjbDn_ytsP0VY8vn6tFp~Bya%qM1SzImnlN`5vIpK!lQRUUj z>yI+rcDiLemst5y<<=Ee07jkOTN#-NVDq9n7pYpR!PPi$sK0o!0{I}hq{c6n1c$Kk z`&uPL&hu-!56IDhV)52km|&MBMZElD|3Yhf^7O{((?8RV+eeY?Y)i`C4wMN7P&$Ah zaPW0GezC;_CQFZ;{-~XxPxk|sS3N+wxY+%+U}{F;Wt&pOifJAChsFj%Oc}s zD(TgE%X`9DTa|der!KtG5R<=29tV#2Za?$H^qx^NnVR>v|M?|6(}m&TmVxF;`}Pe+ z- zm|tEtwpsn5epNr{R514WP^d$3`sJs~PyV~&cr|sX`j=CM_l6|z9cfda`3^^ECYw_W->>ojl%U50~?!b23sPoLe45la&|E(>c03z7DymLBtnrzEABjZ;@_g z=r)kHio+6F)$DWAY5V|@-8Sey7YMt3K9&A;+Z^7LeOA@{mg+sXm*Y(6L%JJCBijx= z-XqgF>h@8;z>Vl#K`yJBy*@b9{mhp-Iqq)yj1wk@+L_YRHmRqhe|)6}g(E}%=zksc zbtXX2<*n`Bkh92nmHLqLvhzZ|Gr9>Nwy029435O+OVsh^Pa(_k9iM4GADx{YtGu^E z+Ar_4$F!wzwj!-fNMCMh-DuAA@8$Hl8)a{b{8@hs$^FS|4_DNsozbpC($IiKBCZ?O45cxg=4EWS$03>Ou zB;(s|F~^C}e^k4UylIlB{F4)(U8RoNq$#0sq{R*-GB0#o%5^^TM3OR~>4{WmBHv(J_MjN*;YT~6GKBSirXT9z%rk%Foz|&5CeeMDYG+D9>3m?36tvq0x8l3{<8=T zgFBA4Ji3VMFPHAP?5|s$?C&(tpn46YR@pJ!{~4s{cR0V?@E54@b=qk|zQfwPT;1I- z&CFhH>2@}WfEY5fJb1>zbQLJ1JJOYHM^K0}Mo%~(BVJ)s(p&Qd4(5kk!q{fX1$ z#9)f(dEFtzSb~XIK?sFyk4`iQ=MFYi&Q~4_`;L5~A6cfx{@}Ep7)(o<`<)*`{$2gL zG<0+RAkKpZ_CwBneqmo#T)p)RWVyHRo2r(`ak&4#}}<|Ii9PM zPZJ(ZGL0#0PhM`^_UoKEu!yrs`cX|or4Nh2g?=m*BKCel`LZcFdO+L$@A21&V(QW2 zT0t2_$||S$m($o16;)DM6#x+?zscx>oeQb7v3?Lnagw?$FUqQJ+O8kQX-j+##YvjwMOoEN+x5dZ&C9y&$9eU!jPLh@ z>uExS31wVJrTZtf8tZ(Vq*-2+Ro%4Rb*;lV&C9y&$9dh)`~7&~s!^PBZufUGmFCzW6Tf zGrWgIGYi2;_FY|eSoY^Wzs{&$&Tw1qXJ(P*elPcDpTGT}mBgLCa<{uz({PocX<|fY zbSrw9=EJ;#tpmU|rOeGHVJRrJ&X!T0wAkXK+(7hcRHDR_OZ|~$^|z|(jb5Ub8!6V? ziW97;%}s3-0!J^MYZ~e(E5yskasZV@#jdeh>LV$OGrZZ&XY4&fC^1fO+rCnio&$9AHaDyd7}m`ThR7*6V6#grE4tyR z2!eooN;V%%OJzG+DW>KGTNcwkv?cc3pmkiLSw4oPmRA??1mz9G^b)=C4+TXn;<8Hu z!QdXG2&o}fpRj==I2>0va*Xd+UJz^$h2<0-kH+$jH%W>!`c91smNIJvmnERkMG{ zV_s^r6Hr%KeX6(iYr5cJ5ccFqc`35|UuPwQl)2JX#LbZNDPEM3#IPWqE`!;?wGQm4 z?5p1P;)?FEh%^Ymw;g7jyM1(eF~nxCS=GyFXPyXdtGl+l=Y4bIvvO}yS7aS`nIK(( zkCYg9uw>ZlXOpV1vVgYABzFL^D=WlHn2)k>MN_EVZ>-Q9YHfbP-R6hrmc^0C%`ZMPvcH$dq@h znk2ew4a29RY+%m;PS-{XC{|t0SHuK9b`bQ!Z3Bj1PRj<~&kZucjb6>p+&2x9w>dMq zrUW&GtNVD@yUh&>$5c;)`nZGo8U<$46BSON!qOBzGhS}1o|#f6RIFet6E49kR6h!yk+LTeg0#nZ3b)}HARg6K%q8ZM*6xSEKc#BcMG%DRQoQ|@jc zRXT=|?q*fXa#YhSUzl=f)gO)3eM+n$}Ia zS~X}3RnW%PNJ;0DEusYtw_Y+WsIAq9(h>9fC3RW%AW?ql#|XsZB|=FQKRnjl z903v9Y4uvODf`$u*2EE_LxKQ%ko}75=4OHD#;05HSt2F^ z_}#sr9Mj8tv)gvv0YFi29oeeun35JaE0XtVE+^jXIyEdX_tok~Jl$cl?&pa}$Z9?hs&L^xJ|<1 gCuj>99+Y3jQ**B!(eA~(V#uExPfxvdqIuan0MS%c&j0`b diff --git a/frontend/src/global_styles/fonts/_openproject_icon_definitions.scss b/frontend/src/global_styles/fonts/_openproject_icon_definitions.scss index 840e9d15126..ed1ebced572 100644 --- a/frontend/src/global_styles/fonts/_openproject_icon_definitions.scss +++ b/frontend/src/global_styles/fonts/_openproject_icon_definitions.scss @@ -448,1119 +448,1125 @@ .icon-edit:before { content: "\f14b"; } -@mixin icon-mixin-enterprise { +@mixin icon-mixin-email-alert { content: "\f14c"; } -.icon-enterprise:before { +.icon-email-alert:before { content: "\f14c"; } -@mixin icon-mixin-enumerations { +@mixin icon-mixin-enterprise { content: "\f14d"; } -.icon-enumerations:before { +.icon-enterprise:before { content: "\f14d"; } -@mixin icon-mixin-error { +@mixin icon-mixin-enumerations { content: "\f14e"; } -.icon-error:before { +.icon-enumerations:before { content: "\f14e"; } -@mixin icon-mixin-export-atom { +@mixin icon-mixin-error { content: "\f14f"; } -.icon-export-atom:before { +.icon-error:before { content: "\f14f"; } -@mixin icon-mixin-export-bcf { +@mixin icon-mixin-export-atom { content: "\f150"; } -.icon-export-bcf:before { +.icon-export-atom:before { content: "\f150"; } -@mixin icon-mixin-export-csv { +@mixin icon-mixin-export-bcf { content: "\f151"; } -.icon-export-csv:before { +.icon-export-bcf:before { content: "\f151"; } -@mixin icon-mixin-export-pdf-descr { +@mixin icon-mixin-export-csv { content: "\f152"; } -.icon-export-pdf-descr:before { +.icon-export-csv:before { content: "\f152"; } -@mixin icon-mixin-export-pdf-with-descriptions { +@mixin icon-mixin-export-pdf-descr { content: "\f153"; } -.icon-export-pdf-with-descriptions:before { +.icon-export-pdf-descr:before { content: "\f153"; } -@mixin icon-mixin-export-pdf { +@mixin icon-mixin-export-pdf-with-descriptions { content: "\f154"; } -.icon-export-pdf:before { +.icon-export-pdf-with-descriptions:before { content: "\f154"; } -@mixin icon-mixin-export-xls-descr { +@mixin icon-mixin-export-pdf { content: "\f155"; } -.icon-export-xls-descr:before { +.icon-export-pdf:before { content: "\f155"; } -@mixin icon-mixin-export-xls-with-descriptions { +@mixin icon-mixin-export-xls-descr { content: "\f156"; } -.icon-export-xls-with-descriptions:before { +.icon-export-xls-descr:before { content: "\f156"; } -@mixin icon-mixin-export-xls-with-relations { +@mixin icon-mixin-export-xls-with-descriptions { content: "\f157"; } -.icon-export-xls-with-relations:before { +.icon-export-xls-with-descriptions:before { content: "\f157"; } -@mixin icon-mixin-export-xls { +@mixin icon-mixin-export-xls-with-relations { content: "\f158"; } -.icon-export-xls:before { +.icon-export-xls-with-relations:before { content: "\f158"; } -@mixin icon-mixin-export { +@mixin icon-mixin-export-xls { content: "\f159"; } -.icon-export:before { +.icon-export-xls:before { content: "\f159"; } -@mixin icon-mixin-external-link { +@mixin icon-mixin-export { content: "\f15a"; } -.icon-external-link:before { +.icon-export:before { content: "\f15a"; } -@mixin icon-mixin-faq { +@mixin icon-mixin-external-link { content: "\f15b"; } -.icon-faq:before { +.icon-external-link:before { content: "\f15b"; } -@mixin icon-mixin-filter { +@mixin icon-mixin-faq { content: "\f15c"; } -.icon-filter:before { +.icon-faq:before { content: "\f15c"; } -@mixin icon-mixin-flag { +@mixin icon-mixin-filter { content: "\f15d"; } -.icon-flag:before { +.icon-filter:before { content: "\f15d"; } -@mixin icon-mixin-folder-add { +@mixin icon-mixin-flag { content: "\f15e"; } -.icon-folder-add:before { +.icon-flag:before { content: "\f15e"; } -@mixin icon-mixin-folder-locked { +@mixin icon-mixin-folder-add { content: "\f15f"; } -.icon-folder-locked:before { +.icon-folder-add:before { content: "\f15f"; } -@mixin icon-mixin-folder-open { +@mixin icon-mixin-folder-locked { content: "\f160"; } -.icon-folder-open:before { +.icon-folder-locked:before { content: "\f160"; } -@mixin icon-mixin-folder-remove { +@mixin icon-mixin-folder-open { content: "\f161"; } -.icon-folder-remove:before { +.icon-folder-open:before { content: "\f161"; } -@mixin icon-mixin-folder { +@mixin icon-mixin-folder-remove { content: "\f162"; } -.icon-folder:before { +.icon-folder-remove:before { content: "\f162"; } -@mixin icon-mixin-forums { +@mixin icon-mixin-folder { content: "\f163"; } -.icon-forums:before { +.icon-folder:before { content: "\f163"; } -@mixin icon-mixin-from-fullscreen { +@mixin icon-mixin-forums { content: "\f164"; } -.icon-from-fullscreen:before { +.icon-forums:before { content: "\f164"; } -@mixin icon-mixin-getting-started { +@mixin icon-mixin-from-fullscreen { content: "\f165"; } -.icon-getting-started:before { +.icon-from-fullscreen:before { content: "\f165"; } -@mixin icon-mixin-glossar { +@mixin icon-mixin-getting-started { content: "\f166"; } -.icon-glossar:before { +.icon-getting-started:before { content: "\f166"; } -@mixin icon-mixin-google-plus { +@mixin icon-mixin-glossar { content: "\f167"; } -.icon-google-plus:before { +.icon-glossar:before { content: "\f167"; } -@mixin icon-mixin-group-by { +@mixin icon-mixin-google-plus { content: "\f168"; } -.icon-group-by:before { +.icon-google-plus:before { content: "\f168"; } -@mixin icon-mixin-group { +@mixin icon-mixin-group-by { content: "\f169"; } -.icon-group:before { +.icon-group-by:before { content: "\f169"; } -@mixin icon-mixin-hamburger { +@mixin icon-mixin-group { content: "\f16a"; } -.icon-hamburger:before { +.icon-group:before { content: "\f16a"; } -@mixin icon-mixin-headline1 { +@mixin icon-mixin-hamburger { content: "\f16b"; } -.icon-headline1:before { +.icon-hamburger:before { content: "\f16b"; } -@mixin icon-mixin-headline2 { +@mixin icon-mixin-headline1 { content: "\f16c"; } -.icon-headline2:before { +.icon-headline1:before { content: "\f16c"; } -@mixin icon-mixin-headline3 { +@mixin icon-mixin-headline2 { content: "\f16d"; } -.icon-headline3:before { +.icon-headline2:before { content: "\f16d"; } -@mixin icon-mixin-headset { +@mixin icon-mixin-headline3 { content: "\f16e"; } -.icon-headset:before { +.icon-headline3:before { content: "\f16e"; } -@mixin icon-mixin-help { +@mixin icon-mixin-headset { content: "\f16f"; } -.icon-help:before { +.icon-headset:before { content: "\f16f"; } -@mixin icon-mixin-help1 { +@mixin icon-mixin-help { content: "\f170"; } -.icon-help1:before { +.icon-help:before { content: "\f170"; } -@mixin icon-mixin-help2 { +@mixin icon-mixin-help1 { content: "\f171"; } -.icon-help2:before { +.icon-help1:before { content: "\f171"; } -@mixin icon-mixin-hierarchy { +@mixin icon-mixin-help2 { content: "\f172"; } -.icon-hierarchy:before { +.icon-help2:before { content: "\f172"; } -@mixin icon-mixin-home { +@mixin icon-mixin-hierarchy { content: "\f173"; } -.icon-home:before { +.icon-hierarchy:before { content: "\f173"; } -@mixin icon-mixin-hosting { +@mixin icon-mixin-home { content: "\f174"; } -.icon-hosting:before { +.icon-home:before { content: "\f174"; } -@mixin icon-mixin-ifc { +@mixin icon-mixin-hosting { content: "\f175"; } -.icon-ifc:before { +.icon-hosting:before { content: "\f175"; } -@mixin icon-mixin-image1 { +@mixin icon-mixin-ifc { content: "\f176"; } -.icon-image1:before { +.icon-ifc:before { content: "\f176"; } -@mixin icon-mixin-image2 { +@mixin icon-mixin-image1 { content: "\f177"; } -.icon-image2:before { +.icon-image1:before { content: "\f177"; } -@mixin icon-mixin-import { +@mixin icon-mixin-image2 { content: "\f178"; } -.icon-import:before { +.icon-image2:before { content: "\f178"; } -@mixin icon-mixin-info1 { +@mixin icon-mixin-import { content: "\f179"; } -.icon-info1:before { +.icon-import:before { content: "\f179"; } -@mixin icon-mixin-info2 { +@mixin icon-mixin-info1 { content: "\f17a"; } -.icon-info2:before { +.icon-info1:before { content: "\f17a"; } -@mixin icon-mixin-input-disabled { +@mixin icon-mixin-info2 { content: "\f17b"; } -.icon-input-disabled:before { +.icon-info2:before { content: "\f17b"; } -@mixin icon-mixin-installation-services { +@mixin icon-mixin-input-disabled { content: "\f17c"; } -.icon-installation-services:before { +.icon-input-disabled:before { content: "\f17c"; } -@mixin icon-mixin-italic { +@mixin icon-mixin-installation-services { content: "\f17d"; } -.icon-italic:before { +.icon-installation-services:before { content: "\f17d"; } -@mixin icon-mixin-key { +@mixin icon-mixin-italic { content: "\f17e"; } -.icon-key:before { +.icon-italic:before { content: "\f17e"; } -@mixin icon-mixin-link { +@mixin icon-mixin-key { content: "\f17f"; } -.icon-link:before { +.icon-key:before { content: "\f17f"; } -@mixin icon-mixin-loading1 { +@mixin icon-mixin-link { content: "\f180"; } -.icon-loading1:before { +.icon-link:before { content: "\f180"; } -@mixin icon-mixin-loading2 { +@mixin icon-mixin-loading1 { content: "\f181"; } -.icon-loading2:before { +.icon-loading1:before { content: "\f181"; } -@mixin icon-mixin-location { +@mixin icon-mixin-loading2 { content: "\f182"; } -.icon-location:before { +.icon-loading2:before { content: "\f182"; } -@mixin icon-mixin-locked { +@mixin icon-mixin-location { content: "\f183"; } -.icon-locked:before { +.icon-location:before { content: "\f183"; } -@mixin icon-mixin-logout { +@mixin icon-mixin-locked { content: "\f184"; } -.icon-logout:before { +.icon-locked:before { content: "\f184"; } -@mixin icon-mixin-mail1 { +@mixin icon-mixin-logout { content: "\f185"; } -.icon-mail1:before { +.icon-logout:before { content: "\f185"; } -@mixin icon-mixin-mail2 { +@mixin icon-mixin-mail1 { content: "\f186"; } -.icon-mail2:before { +.icon-mail1:before { content: "\f186"; } -@mixin icon-mixin-maintenance-support { +@mixin icon-mixin-mail2 { content: "\f187"; } -.icon-maintenance-support:before { +.icon-mail2:before { content: "\f187"; } -@mixin icon-mixin-mark-all-read { +@mixin icon-mixin-maintenance-support { content: "\f188"; } -.icon-mark-all-read:before { +.icon-maintenance-support:before { content: "\f188"; } -@mixin icon-mixin-mark-read { +@mixin icon-mixin-mark-all-read { content: "\f189"; } -.icon-mark-read:before { +.icon-mark-all-read:before { content: "\f189"; } -@mixin icon-mixin-meetings { +@mixin icon-mixin-mark-read { content: "\f18a"; } -.icon-meetings:before { +.icon-mark-read:before { content: "\f18a"; } -@mixin icon-mixin-menu { +@mixin icon-mixin-meetings { content: "\f18b"; } -.icon-menu:before { +.icon-meetings:before { content: "\f18b"; } -@mixin icon-mixin-merge-branch { +@mixin icon-mixin-menu { content: "\f18c"; } -.icon-merge-branch:before { +.icon-menu:before { content: "\f18c"; } -@mixin icon-mixin-microphone { +@mixin icon-mixin-merge-branch { content: "\f18d"; } -.icon-microphone:before { +.icon-merge-branch:before { content: "\f18d"; } -@mixin icon-mixin-milestone { +@mixin icon-mixin-microphone { content: "\f18e"; } -.icon-milestone:before { +.icon-microphone:before { content: "\f18e"; } -@mixin icon-mixin-minus1 { +@mixin icon-mixin-milestone { content: "\f18f"; } -.icon-minus1:before { +.icon-milestone:before { content: "\f18f"; } -@mixin icon-mixin-minus2 { +@mixin icon-mixin-minus1 { content: "\f190"; } -.icon-minus2:before { +.icon-minus1:before { content: "\f190"; } -@mixin icon-mixin-mobile { +@mixin icon-mixin-minus2 { content: "\f191"; } -.icon-mobile:before { +.icon-minus2:before { content: "\f191"; } -@mixin icon-mixin-modules { +@mixin icon-mixin-mobile { content: "\f192"; } -.icon-modules:before { +.icon-mobile:before { content: "\f192"; } -@mixin icon-mixin-more { +@mixin icon-mixin-modules { content: "\f193"; } -.icon-more:before { +.icon-modules:before { content: "\f193"; } -@mixin icon-mixin-move { +@mixin icon-mixin-more { content: "\f194"; } -.icon-move:before { +.icon-more:before { content: "\f194"; } -@mixin icon-mixin-movie { +@mixin icon-mixin-move { content: "\f195"; } -.icon-movie:before { +.icon-move:before { content: "\f195"; } -@mixin icon-mixin-music { +@mixin icon-mixin-movie { content: "\f196"; } -.icon-music:before { +.icon-movie:before { content: "\f196"; } -@mixin icon-mixin-new-planning-element { +@mixin icon-mixin-music { content: "\f197"; } -.icon-new-planning-element:before { +.icon-music:before { content: "\f197"; } -@mixin icon-mixin-news { +@mixin icon-mixin-new-planning-element { content: "\f198"; } -.icon-news:before { +.icon-new-planning-element:before { content: "\f198"; } -@mixin icon-mixin-no-hierarchy { +@mixin icon-mixin-news { content: "\f199"; } -.icon-no-hierarchy:before { +.icon-news:before { content: "\f199"; } -@mixin icon-mixin-no-zen-mode { +@mixin icon-mixin-no-hierarchy { content: "\f19a"; } -.icon-no-zen-mode:before { +.icon-no-hierarchy:before { content: "\f19a"; } -@mixin icon-mixin-not-supported { +@mixin icon-mixin-no-zen-mode { content: "\f19b"; } -.icon-not-supported:before { +.icon-no-zen-mode:before { content: "\f19b"; } -@mixin icon-mixin-notes { +@mixin icon-mixin-not-supported { content: "\f19c"; } -.icon-notes:before { +.icon-not-supported:before { content: "\f19c"; } -@mixin icon-mixin-openid { +@mixin icon-mixin-notes { content: "\f19d"; } -.icon-openid:before { +.icon-notes:before { content: "\f19d"; } -@mixin icon-mixin-openproject { +@mixin icon-mixin-openid { content: "\f19e"; } -.icon-openproject:before { +.icon-openid:before { content: "\f19e"; } -@mixin icon-mixin-ordered-list { +@mixin icon-mixin-openproject { content: "\f19f"; } -.icon-ordered-list:before { +.icon-openproject:before { content: "\f19f"; } -@mixin icon-mixin-outline { +@mixin icon-mixin-ordered-list { content: "\f1a0"; } -.icon-outline:before { +.icon-ordered-list:before { content: "\f1a0"; } -@mixin icon-mixin-paragraph-left { +@mixin icon-mixin-outline { content: "\f1a1"; } -.icon-paragraph-left:before { +.icon-outline:before { content: "\f1a1"; } -@mixin icon-mixin-paragraph-right { +@mixin icon-mixin-paragraph-left { content: "\f1a2"; } -.icon-paragraph-right:before { +.icon-paragraph-left:before { content: "\f1a2"; } -@mixin icon-mixin-paragraph { +@mixin icon-mixin-paragraph-right { content: "\f1a3"; } -.icon-paragraph:before { +.icon-paragraph-right:before { content: "\f1a3"; } -@mixin icon-mixin-payment-history { +@mixin icon-mixin-paragraph { content: "\f1a4"; } -.icon-payment-history:before { +.icon-paragraph:before { content: "\f1a4"; } -@mixin icon-mixin-phone { +@mixin icon-mixin-payment-history { content: "\f1a5"; } -.icon-phone:before { +.icon-payment-history:before { content: "\f1a5"; } -@mixin icon-mixin-pin { +@mixin icon-mixin-phone { content: "\f1a6"; } -.icon-pin:before { +.icon-phone:before { content: "\f1a6"; } -@mixin icon-mixin-play { +@mixin icon-mixin-pin { content: "\f1a7"; } -.icon-play:before { +.icon-pin:before { content: "\f1a7"; } -@mixin icon-mixin-plugins { +@mixin icon-mixin-play { content: "\f1a8"; } -.icon-plugins:before { +.icon-play:before { content: "\f1a8"; } -@mixin icon-mixin-plus { +@mixin icon-mixin-plugins { content: "\f1a9"; } -.icon-plus:before { +.icon-plugins:before { content: "\f1a9"; } -@mixin icon-mixin-pre { +@mixin icon-mixin-plus { content: "\f1aa"; } -.icon-pre:before { +.icon-plus:before { content: "\f1aa"; } -@mixin icon-mixin-presentation { +@mixin icon-mixin-pre { content: "\f1ab"; } -.icon-presentation:before { +.icon-pre:before { content: "\f1ab"; } -@mixin icon-mixin-preview { +@mixin icon-mixin-presentation { content: "\f1ac"; } -.icon-preview:before { +.icon-presentation:before { content: "\f1ac"; } -@mixin icon-mixin-print { +@mixin icon-mixin-preview { content: "\f1ad"; } -.icon-print:before { +.icon-preview:before { content: "\f1ad"; } -@mixin icon-mixin-priority { +@mixin icon-mixin-print { content: "\f1ae"; } -.icon-priority:before { +.icon-print:before { content: "\f1ae"; } -@mixin icon-mixin-project-types { +@mixin icon-mixin-priority { content: "\f1af"; } -.icon-project-types:before { +.icon-priority:before { content: "\f1af"; } -@mixin icon-mixin-projects { +@mixin icon-mixin-project-types { content: "\f1b0"; } -.icon-projects:before { +.icon-project-types:before { content: "\f1b0"; } -@mixin icon-mixin-publish { +@mixin icon-mixin-projects { content: "\f1b1"; } -.icon-publish:before { +.icon-projects:before { content: "\f1b1"; } -@mixin icon-mixin-pulldown-up { +@mixin icon-mixin-publish { content: "\f1b2"; } -.icon-pulldown-up:before { +.icon-publish:before { content: "\f1b2"; } -@mixin icon-mixin-pulldown { +@mixin icon-mixin-pulldown-up { content: "\f1b3"; } -.icon-pulldown:before { +.icon-pulldown-up:before { content: "\f1b3"; } -@mixin icon-mixin-quote { +@mixin icon-mixin-pulldown { content: "\f1b4"; } -.icon-quote:before { +.icon-pulldown:before { content: "\f1b4"; } -@mixin icon-mixin-quote2 { +@mixin icon-mixin-quote { content: "\f1b5"; } -.icon-quote2:before { +.icon-quote:before { content: "\f1b5"; } -@mixin icon-mixin-redo { +@mixin icon-mixin-quote2 { content: "\f1b6"; } -.icon-redo:before { +.icon-quote2:before { content: "\f1b6"; } -@mixin icon-mixin-relation-follows { +@mixin icon-mixin-redo { content: "\f1b7"; } -.icon-relation-follows:before { +.icon-redo:before { content: "\f1b7"; } -@mixin icon-mixin-relation-new-child { +@mixin icon-mixin-relation-follows { content: "\f1b8"; } -.icon-relation-new-child:before { +.icon-relation-follows:before { content: "\f1b8"; } -@mixin icon-mixin-relation-precedes { +@mixin icon-mixin-relation-new-child { content: "\f1b9"; } -.icon-relation-precedes:before { +.icon-relation-new-child:before { content: "\f1b9"; } -@mixin icon-mixin-relations { +@mixin icon-mixin-relation-precedes { content: "\f1ba"; } -.icon-relations:before { +.icon-relation-precedes:before { content: "\f1ba"; } -@mixin icon-mixin-reload { +@mixin icon-mixin-relations { content: "\f1bb"; } -.icon-reload:before { +.icon-relations:before { content: "\f1bb"; } -@mixin icon-mixin-reminder { +@mixin icon-mixin-reload { content: "\f1bc"; } -.icon-reminder:before { +.icon-reload:before { content: "\f1bc"; } -@mixin icon-mixin-remove { +@mixin icon-mixin-reminder { content: "\f1bd"; } -.icon-remove:before { +.icon-reminder:before { content: "\f1bd"; } -@mixin icon-mixin-rename { +@mixin icon-mixin-remove { content: "\f1be"; } -.icon-rename:before { +.icon-remove:before { content: "\f1be"; } -@mixin icon-mixin-reported-by-me { +@mixin icon-mixin-rename { content: "\f1bf"; } -.icon-reported-by-me:before { +.icon-rename:before { content: "\f1bf"; } -@mixin icon-mixin-resizer-bottom-right { +@mixin icon-mixin-reported-by-me { content: "\f1c0"; } -.icon-resizer-bottom-right:before { +.icon-reported-by-me:before { content: "\f1c0"; } -@mixin icon-mixin-resizer-vertical-lines { +@mixin icon-mixin-resizer-bottom-right { content: "\f1c1"; } -.icon-resizer-vertical-lines:before { +.icon-resizer-bottom-right:before { content: "\f1c1"; } -@mixin icon-mixin-roadmap { +@mixin icon-mixin-resizer-vertical-lines { content: "\f1c2"; } -.icon-roadmap:before { +.icon-resizer-vertical-lines:before { content: "\f1c2"; } -@mixin icon-mixin-rss { +@mixin icon-mixin-roadmap { content: "\f1c3"; } -.icon-rss:before { +.icon-roadmap:before { content: "\f1c3"; } -@mixin icon-mixin-rubber { +@mixin icon-mixin-rss { content: "\f1c4"; } -.icon-rubber:before { +.icon-rss:before { content: "\f1c4"; } -@mixin icon-mixin-save { +@mixin icon-mixin-rubber { content: "\f1c5"; } -.icon-save:before { +.icon-rubber:before { content: "\f1c5"; } -@mixin icon-mixin-search { +@mixin icon-mixin-save { content: "\f1c6"; } -.icon-search:before { +.icon-save:before { content: "\f1c6"; } -@mixin icon-mixin-send-mail { +@mixin icon-mixin-search { content: "\f1c7"; } -.icon-send-mail:before { +.icon-search:before { content: "\f1c7"; } -@mixin icon-mixin-server-key { +@mixin icon-mixin-send-mail { content: "\f1c8"; } -.icon-server-key:before { +.icon-send-mail:before { content: "\f1c8"; } -@mixin icon-mixin-settings { +@mixin icon-mixin-server-key { content: "\f1c9"; } -.icon-settings:before { +.icon-server-key:before { content: "\f1c9"; } -@mixin icon-mixin-settings2 { +@mixin icon-mixin-settings { content: "\f1ca"; } -.icon-settings2:before { +.icon-settings:before { content: "\f1ca"; } -@mixin icon-mixin-settings3 { +@mixin icon-mixin-settings2 { content: "\f1cb"; } -.icon-settings3:before { +.icon-settings2:before { content: "\f1cb"; } -@mixin icon-mixin-settings4 { +@mixin icon-mixin-settings3 { content: "\f1cc"; } -.icon-settings4:before { +.icon-settings3:before { content: "\f1cc"; } -@mixin icon-mixin-shortcuts { +@mixin icon-mixin-settings4 { content: "\f1cd"; } -.icon-shortcuts:before { +.icon-settings4:before { content: "\f1cd"; } -@mixin icon-mixin-show-all-projects { +@mixin icon-mixin-shortcuts { content: "\f1ce"; } -.icon-show-all-projects:before { +.icon-shortcuts:before { content: "\f1ce"; } -@mixin icon-mixin-show-more-horizontal { +@mixin icon-mixin-show-all-projects { content: "\f1cf"; } -.icon-show-more-horizontal:before { +.icon-show-all-projects:before { content: "\f1cf"; } -@mixin icon-mixin-show-more { +@mixin icon-mixin-show-more-horizontal { content: "\f1d0"; } -.icon-show-more:before { +.icon-show-more-horizontal:before { content: "\f1d0"; } -@mixin icon-mixin-slack { +@mixin icon-mixin-show-more { content: "\f1d1"; } -.icon-slack:before { +.icon-show-more:before { content: "\f1d1"; } -@mixin icon-mixin-sort-ascending { +@mixin icon-mixin-slack { content: "\f1d2"; } -.icon-sort-ascending:before { +.icon-slack:before { content: "\f1d2"; } -@mixin icon-mixin-sort-by { +@mixin icon-mixin-sort-ascending { content: "\f1d3"; } -.icon-sort-by:before { +.icon-sort-ascending:before { content: "\f1d3"; } -@mixin icon-mixin-sort-descending { +@mixin icon-mixin-sort-by { content: "\f1d4"; } -.icon-sort-descending:before { +.icon-sort-by:before { content: "\f1d4"; } -@mixin icon-mixin-sort-down { +@mixin icon-mixin-sort-descending { content: "\f1d5"; } -.icon-sort-down:before { +.icon-sort-descending:before { content: "\f1d5"; } -@mixin icon-mixin-sort-up { +@mixin icon-mixin-sort-down { content: "\f1d6"; } -.icon-sort-up:before { +.icon-sort-down:before { content: "\f1d6"; } -@mixin icon-mixin-square { +@mixin icon-mixin-sort-up { content: "\f1d7"; } -.icon-square:before { +.icon-sort-up:before { content: "\f1d7"; } -@mixin icon-mixin-star { +@mixin icon-mixin-square { content: "\f1d8"; } -.icon-star:before { +.icon-square:before { content: "\f1d8"; } -@mixin icon-mixin-status-reporting { +@mixin icon-mixin-star { content: "\f1d9"; } -.icon-status-reporting:before { +.icon-star:before { content: "\f1d9"; } -@mixin icon-mixin-status { +@mixin icon-mixin-status-reporting { content: "\f1da"; } -.icon-status:before { +.icon-status-reporting:before { content: "\f1da"; } -@mixin icon-mixin-strike-through { +@mixin icon-mixin-status { content: "\f1db"; } -.icon-strike-through:before { +.icon-status:before { content: "\f1db"; } -@mixin icon-mixin-text { +@mixin icon-mixin-strike-through { content: "\f1dc"; } -.icon-text:before { +.icon-strike-through:before { content: "\f1dc"; } -@mixin icon-mixin-ticket-checked { +@mixin icon-mixin-text { content: "\f1dd"; } -.icon-ticket-checked:before { +.icon-text:before { content: "\f1dd"; } -@mixin icon-mixin-ticket-down { +@mixin icon-mixin-ticket-checked { content: "\f1de"; } -.icon-ticket-down:before { +.icon-ticket-checked:before { content: "\f1de"; } -@mixin icon-mixin-ticket-edit { +@mixin icon-mixin-ticket-down { content: "\f1df"; } -.icon-ticket-edit:before { +.icon-ticket-down:before { content: "\f1df"; } -@mixin icon-mixin-ticket-minus { +@mixin icon-mixin-ticket-edit { content: "\f1e0"; } -.icon-ticket-minus:before { +.icon-ticket-edit:before { content: "\f1e0"; } -@mixin icon-mixin-ticket-note { +@mixin icon-mixin-ticket-minus { content: "\f1e1"; } -.icon-ticket-note:before { +.icon-ticket-minus:before { content: "\f1e1"; } -@mixin icon-mixin-ticket { +@mixin icon-mixin-ticket-note { content: "\f1e2"; } -.icon-ticket:before { +.icon-ticket-note:before { content: "\f1e2"; } -@mixin icon-mixin-time { +@mixin icon-mixin-ticket { content: "\f1e3"; } -.icon-time:before { +.icon-ticket:before { content: "\f1e3"; } -@mixin icon-mixin-to-fullscreen { +@mixin icon-mixin-time { content: "\f1e4"; } -.icon-to-fullscreen:before { +.icon-time:before { content: "\f1e4"; } -@mixin icon-mixin-training-consulting { +@mixin icon-mixin-to-fullscreen { content: "\f1e5"; } -.icon-training-consulting:before { +.icon-to-fullscreen:before { content: "\f1e5"; } -@mixin icon-mixin-two-factor-authentication { +@mixin icon-mixin-training-consulting { content: "\f1e6"; } -.icon-two-factor-authentication:before { +.icon-training-consulting:before { content: "\f1e6"; } -@mixin icon-mixin-types { +@mixin icon-mixin-two-factor-authentication { content: "\f1e7"; } -.icon-types:before { +.icon-two-factor-authentication:before { content: "\f1e7"; } -@mixin icon-mixin-underline { +@mixin icon-mixin-types { content: "\f1e8"; } -.icon-underline:before { +.icon-types:before { content: "\f1e8"; } -@mixin icon-mixin-undo { +@mixin icon-mixin-underline { content: "\f1e9"; } -.icon-undo:before { +.icon-underline:before { content: "\f1e9"; } -@mixin icon-mixin-unit { +@mixin icon-mixin-undo { content: "\f1ea"; } -.icon-unit:before { +.icon-undo:before { content: "\f1ea"; } -@mixin icon-mixin-unlocked { +@mixin icon-mixin-unit { content: "\f1eb"; } -.icon-unlocked:before { +.icon-unit:before { content: "\f1eb"; } -@mixin icon-mixin-unordered-list { +@mixin icon-mixin-unlocked { content: "\f1ec"; } -.icon-unordered-list:before { +.icon-unlocked:before { content: "\f1ec"; } -@mixin icon-mixin-unwatched { +@mixin icon-mixin-unordered-list { content: "\f1ed"; } -.icon-unwatched:before { +.icon-unordered-list:before { content: "\f1ed"; } -@mixin icon-mixin-upload { +@mixin icon-mixin-unwatched { content: "\f1ee"; } -.icon-upload:before { +.icon-unwatched:before { content: "\f1ee"; } -@mixin icon-mixin-user-minus { +@mixin icon-mixin-upload { content: "\f1ef"; } -.icon-user-minus:before { +.icon-upload:before { content: "\f1ef"; } -@mixin icon-mixin-user-plus { +@mixin icon-mixin-user-minus { content: "\f1f0"; } -.icon-user-plus:before { +.icon-user-minus:before { content: "\f1f0"; } -@mixin icon-mixin-user { +@mixin icon-mixin-user-plus { content: "\f1f1"; } -.icon-user:before { +.icon-user-plus:before { content: "\f1f1"; } -@mixin icon-mixin-view-card { +@mixin icon-mixin-user { content: "\f1f2"; } -.icon-view-card:before { +.icon-user:before { content: "\f1f2"; } -@mixin icon-mixin-view-fullscreen { +@mixin icon-mixin-view-card { content: "\f1f3"; } -.icon-view-fullscreen:before { +.icon-view-card:before { content: "\f1f3"; } -@mixin icon-mixin-view-list { +@mixin icon-mixin-view-fullscreen { content: "\f1f4"; } -.icon-view-list:before { +.icon-view-fullscreen:before { content: "\f1f4"; } -@mixin icon-mixin-view-model { +@mixin icon-mixin-view-list { content: "\f1f5"; } -.icon-view-model:before { +.icon-view-list:before { content: "\f1f5"; } -@mixin icon-mixin-view-split-viewer-table { +@mixin icon-mixin-view-model { content: "\f1f6"; } -.icon-view-split-viewer-table:before { +.icon-view-model:before { content: "\f1f6"; } -@mixin icon-mixin-view-split { +@mixin icon-mixin-view-split-viewer-table { content: "\f1f7"; } -.icon-view-split:before { +.icon-view-split-viewer-table:before { content: "\f1f7"; } -@mixin icon-mixin-view-split2 { +@mixin icon-mixin-view-split { content: "\f1f8"; } -.icon-view-split2:before { +.icon-view-split:before { content: "\f1f8"; } -@mixin icon-mixin-view-timeline { +@mixin icon-mixin-view-split2 { content: "\f1f9"; } -.icon-view-timeline:before { +.icon-view-split2:before { content: "\f1f9"; } -@mixin icon-mixin-warning { +@mixin icon-mixin-view-timeline { content: "\f1fa"; } -.icon-warning:before { +.icon-view-timeline:before { content: "\f1fa"; } -@mixin icon-mixin-watched { +@mixin icon-mixin-warning { content: "\f1fb"; } -.icon-watched:before { +.icon-warning:before { content: "\f1fb"; } -@mixin icon-mixin-wiki-edit { +@mixin icon-mixin-watched { content: "\f1fc"; } -.icon-wiki-edit:before { +.icon-watched:before { content: "\f1fc"; } -@mixin icon-mixin-wiki { +@mixin icon-mixin-wiki-edit { content: "\f1fd"; } -.icon-wiki:before { +.icon-wiki-edit:before { content: "\f1fd"; } -@mixin icon-mixin-wiki2 { +@mixin icon-mixin-wiki { content: "\f1fe"; } -.icon-wiki2:before { +.icon-wiki:before { content: "\f1fe"; } -@mixin icon-mixin-work-packages { +@mixin icon-mixin-wiki2 { content: "\f1ff"; } -.icon-work-packages:before { +.icon-wiki2:before { content: "\f1ff"; } -@mixin icon-mixin-workflow { +@mixin icon-mixin-work-packages { content: "\f200"; } -.icon-workflow:before { +.icon-work-packages:before { content: "\f200"; } -@mixin icon-mixin-yes { +@mixin icon-mixin-workflow { content: "\f201"; } -.icon-yes:before { +.icon-workflow:before { content: "\f201"; } -@mixin icon-mixin-zen-mode { +@mixin icon-mixin-yes { content: "\f202"; } -.icon-zen-mode:before { +.icon-yes:before { content: "\f202"; } -@mixin icon-mixin-zoom-auto { +@mixin icon-mixin-zen-mode { content: "\f203"; } -.icon-zoom-auto:before { +.icon-zen-mode:before { content: "\f203"; } -@mixin icon-mixin-zoom-in { +@mixin icon-mixin-zoom-auto { content: "\f204"; } -.icon-zoom-in:before { +.icon-zoom-auto:before { content: "\f204"; } -@mixin icon-mixin-zoom-out { +@mixin icon-mixin-zoom-in { content: "\f205"; } -.icon-zoom-out:before { +.icon-zoom-in:before { content: "\f205"; } +@mixin icon-mixin-zoom-out { + content: "\f206"; +} +.icon-zoom-out:before { + content: "\f206"; +} diff --git a/frontend/src/global_styles/fonts/_openproject_icon_font.lsg b/frontend/src/global_styles/fonts/_openproject_icon_font.lsg index 85800e8208b..699aa85cc49 100644 --- a/frontend/src/global_styles/fonts/_openproject_icon_font.lsg +++ b/frontend/src/global_styles/fonts/_openproject_icon_font.lsg @@ -78,6 +78,7 @@
  • drag-handle
  • duplicate
  • edit
  • +
  • email-alert
  • enterprise
  • enumerations
  • error
  • diff --git a/spec/features/notifications/digest_mail_spec.rb b/spec/features/notifications/digest_mail_spec.rb index 4672736f649..50ac533594a 100644 --- a/spec/features/notifications/digest_mail_spec.rb +++ b/spec/features/notifications/digest_mail_spec.rb @@ -1,6 +1,7 @@ require 'spec_helper' require 'support/pages/my/notifications' +# TODO: This feature spec is to be replaced by the reminder_mail_spec.rb in the same directory. describe "Digest email", type: :feature, js: true do let!(:project) { FactoryBot.create :project, members: { current_user => role } } let!(:mute_project) { FactoryBot.create :project, members: { current_user => role } } diff --git a/spec/features/notifications/reminder_mail_spec.rb b/spec/features/notifications/reminder_mail_spec.rb new file mode 100644 index 00000000000..e33935e933c --- /dev/null +++ b/spec/features/notifications/reminder_mail_spec.rb @@ -0,0 +1,65 @@ +require 'spec_helper' +require 'support/pages/my/notifications' + +describe "Reminder email", type: :feature, js: true do + let!(:project) { FactoryBot.create :project, members: { current_user => role } } + let!(:mute_project) { FactoryBot.create :project, members: { current_user => role } } + let(:reminders_settings_page) { Pages::My::Reminders.new(current_user) } + let(:role) { FactoryBot.create(:role, permissions: %i[view_work_packages]) } + let(:other_user) { FactoryBot.create(:user) } + let(:work_package) { FactoryBot.create(:work_package, project: project) } + let(:watched_work_package) { FactoryBot.create(:work_package, project: project, watcher_users: [current_user]) } + let(:involved_work_package) { FactoryBot.create(:work_package, project: project, assigned_to: current_user) } + + current_user do + FactoryBot.create :user, + notification_settings: [ + FactoryBot.build(:mail_notification_setting, + involved: false, + watched: false, + mentioned: false, + work_package_commented: false, + work_package_created: false, + work_package_processed: false, + work_package_prioritized: false, + work_package_scheduled: false, + all: false), + FactoryBot.build(:in_app_notification_setting, + involved: false, + watched: false, + mentioned: false, + work_package_commented: false, + work_package_created: false, + work_package_processed: false, + work_package_prioritized: false, + work_package_scheduled: false, + all: false), + FactoryBot.build(:mail_digest_notification_setting, + involved: true, + watched: true, + mentioned: true, + work_package_commented: true, + work_package_created: true, + work_package_processed: true, + work_package_prioritized: true, + work_package_scheduled: true, + all: false) + ] + end + + before do + watched_work_package + work_package + involved_work_package + + ActiveJob::Base.queue_adapter.enqueued_jobs.clear + end + + it 'sends a reminder mail based on the configuration', with_settings: { journal_aggregation_time_minutes: 0 } do + # Configure the digest + reminders_settings_page.visit! + + # By default a reminder timed for 8:00 should be configured + reminders_settings_page.expect_active_daily_times("08:00") + end +end diff --git a/spec/routing/my_spec.rb b/spec/routing/my_spec.rb index 110c13ed16e..be6c3526897 100644 --- a/spec/routing/my_spec.rb +++ b/spec/routing/my_spec.rb @@ -45,6 +45,14 @@ describe 'my routes', type: :routing do expect(patch('/my/settings')).to route_to('my#update_settings') end + it '/my/notifications GET routes to my#notifications' do + expect(get('/my/notifications')).to route_to('my#notifications') + end + + it '/my/reminders GET routes to my#notifications' do + expect(get('/my/reminders')).to route_to('my#reminders') + end + it '/my/generate_rss_key POST routes to my#generate_rss_key' do expect(post('/my/generate_rss_key')).to route_to('my#generate_rss_key') end @@ -53,8 +61,8 @@ describe 'my routes', type: :routing do expect(post('/my/generate_api_key')).to route_to('my#generate_api_key') end - it { + it '/my/deletion_info GET routes to users#deletion_info' do expect(get('/my/deletion_info')).to route_to(controller: 'users', action: 'deletion_info') - } + end end diff --git a/spec/support/pages/my/reminders.rb b/spec/support/pages/my/reminders.rb new file mode 100644 index 00000000000..13daca47d69 --- /dev/null +++ b/spec/support/pages/my/reminders.rb @@ -0,0 +1,39 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2021 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See docs/COPYRIGHT.rdoc for more details. +#++ + +require 'support/pages/reminders/settings' + +module Pages + module My + class Reminders < ::Pages::Reminders::Settings + def path + my_reminders_path + end + end + end +end diff --git a/spec/support/pages/reminders/settings.rb b/spec/support/pages/reminders/settings.rb new file mode 100644 index 00000000000..747993ae8f0 --- /dev/null +++ b/spec/support/pages/reminders/settings.rb @@ -0,0 +1,64 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2021 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See docs/COPYRIGHT.rdoc for more details. +#++ + +require 'support/pages/page' + +module Pages + module Reminders + class Settings < ::Pages::Page + attr_reader :user + + def initialize(user) + super() + @user = user + end + + def path + edit_user_path(user, tab: :reminders) + end + + def expect_active_daily_times(*times) + times.each_with_index do |time, index| + expect(page) + .to have_checked_field "Time #{index + 1}" + + expect(page) + .to have_css("input[data-qa-selector='op-settings-daily-time--time-#{index + 1}']") + + expect(page.find("input[data-qa-selector='op-settings-daily-time--time-#{index + 1}']").value) + .to eql(time) + end + end + + def save + click_button 'Save' + end + + end + end +end diff --git a/vendor/openproject-icon-font/src/email-alert.svg b/vendor/openproject-icon-font/src/email-alert.svg new file mode 100644 index 00000000000..92bb4f1d80e --- /dev/null +++ b/vendor/openproject-icon-font/src/email-alert.svg @@ -0,0 +1,4 @@ + + + +