ó
    <IËj1ô  ã                   ó�0  • S SK r S SKrS SKrS SKJr  S SKJrJr  S SKrS SK	J
r
JrJrJrJrJr  S SKJr  S SKJrJrJr  S SKJrJr  S SKJr  S S	KJr  S SKrS S
KJrJ r J!r!  S SK"J#r#J$r$J%r%  S SK&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.  S SK/J0r0  S SK1J2r2  S SK3r3S SK4J5r5  S SK6r6S SK7r7S SK8r8S SK9r9S SK:J;r;J<r<  \" \<S9r=\=R}                  \5" S\05      SSS S9  \=R}                  \5" S\25      SSSS9  \=R}                  \5" S\3R~                  SS9SSSSS9  \=R}                  \5" S\3R€                  5      SSS S9  \=R}                  \5" S!\6R€                  5      SSS"S9  \=R}                  \5" S#\7R€                  5      SSS$S9  \=R}                  \5" S%\8R‚                  SS9SS&SSS9  \=R}                  \5" S'\9R„                  SS9SS(SSS9  \=R‡                  5         S) rD\#RŠ                  " 5        rFS*\GS+\G4S, jrH\H" S-S.5        \H" S-S/5        \H" S-S05        \H" S1S25        \H" S1S35        \H" S1S45        \H" S-S55        \H" S-S65        \H" S-S75        \H" S-S85        \H" S1S95        \H" S1S:5        \H" S1S;5        \H" S<S;5        \H" S1S=5        \H" S>S?5        \H" S1S@5        \H" S1SA5        \H" S1SB5        \H" S1SC5        \H" S1SD5        \H" S1SE5        \H" S1SF5        \H" S1SG5        \H" S1SH5        \H" S1SI5        \H" S1SJ5        \H" S1SK5        \H" S<SL5        \H" S<SM5        \H" S<SN5        \H" S<SO5        \H" S<SP5        \H" S<SQ5        \H" S<SR5        \H" S<SS5        \H" S<ST5        \H" S<SU5        \H" S-SV5        \H" S-SW5        \H" S-SX5        \H" S-SY5        \H" S-SZ5        \H" S<S[5        \H" S<S\5        \H" S<S]5        \H" S<S^5        \H" S<S_5        \H" S`Sa5        \H" SbSa5        \H" ScSd5        \H" S`Se5        \H" SfSg5        \H" SfSh5        \H" SfSi5        \H" S`Sj5        \H" SbSk5        \H" SbSl5        \H" SmSn5        \H" SoSp5        \H" SoSq5        \H" SrSs5        \H" SoSt5        \H" SoSu5        \H" SoSv5        \H" SoSw5        \H" SoSx5        \H" SoSy5        \H" SzS{5        \H" SzS|5        \H" S}S~5        \H" ScS5        \H" ScS€5        \H" ScS�5        \H" S<S‚5        \H" SƒS„5        \H" SƒS…5        \H" SƒS†5        \H" SƒS‡5        \H" S-Sˆ5        \H" S-S‰5        \H" S-SŠ5        \H" S-S‹5        \H" ScSŒ5        \H" ScS�5        \H" ScSŽ5         \FR“                  \" S�5      5        \FR•                  5          \FR“                  \" S�5      5        \FR•                  5         \H" S‘S’5        \H" S“S”5        \H" S“S•5        \H" S“S–5        \H" S“S—5        \H" S˜Sn5        \H" S“Se5        \H" S“S™5        \H" SšS›5        \H" SƒSœ5        \H" SƒS�5        SSS5        \D" 5         \$" 5       rM \MR�                  \Rž                  5      R¡                  \Rž                  R¢                  S:H  5      R¥                  5       rS0 rT\S GH  rU\UR¬                  c  M  \TR¯                  \UR¬                  5      rX\X(       d¼  \MR�                  \R²                  5      R¡                  \R²                  R¬                  \UR¬                  :H  5      Rµ                  5       rX\X(       dM  \R²                  " \UR¬                  SžSŸ9rX\MR·                  \X5        \MR•                  5         \MR¹                  \X5        \X\T\UR¬                  '   \XRº                  \UlQ        GM     \MR•                  5         \MR½                  5         \$" 5       r_ \_R�                  \RÀ                  5      R¡                  \RÀ                  RÂ                  S:H  5      Rµ                  5       (       dI  / S Qrb\b H/  u  rcrdrerfrgrh\_R·                  \RÀ                  " S\c\d\e\f\g\hS¡95        M1     \_R•                  5         \_R½                  5         S S¢KiJjrjJkrk  \$" 5       rl \j" \l5        \k" \l5        \lR½                  5         \$" 5       rm \mR�                  \RÜ                  5      R¡                  \RÜ                  R                  S:H  5      R¥                  5       ro\o H  rp\G" \Râ                  " 5       5      \pl        M!     \mR•                  5         \mR½                  5         \$" 5       rr \rR�                  \RÜ                  5      R¡                  \RÜ                  Ræ                  S:g  5      R¥                  5       rt\t H²  rp\rR�                  \Rê                  5      R¡                  \Rê                  Rì                  \pRº                  :H  \Rê                  Rî                  S£:H  5      Rµ                  5       rx\x(       a  M}  \rR·                  \Rê                  " \pRº                  \pRæ                  S£S¤95        M´     \rR•                  5         \rR½                  5         \$" 5       ry \yR�                  \Rô                  5      R¡                  \Rô                  RÂ                  S:H  5      Rµ                  5       (       dM  / S¥Qr{\{ H3  u  r|r}r~r\yR·                  \Rô                  " S\|S\} S¦\~ S§\ S¨3S©95        M5     \yR•                  5         \yR�                  \Rô                  5      R¡                  \Rô                  RÂ                  S:H  \Rô                  GR                   S:H  5      Rµ                  5       (       d3  \yR·                  \Rô                  " SSªSS«SS¬95        \yR•                  5         \yR�                  \Rô                  5      R¡                  \Rô                  RÂ                  S:H  \Rô                  GR                   S:H  5      GR                  \Rô                  Rº                  GR                  5       5      Rµ                  5       rƒ\ƒ(       Ga2  \yR�                  \Rô                  5      R¡                  \Rô                  Rº                  \ƒRº                  :g  \Rô                  RÂ                  S:H  \Rô                  GR                  \ƒGR                  :H  \Rô                  GR
                  S:H  5      R¥                  5       r†\† Hg  r‡\yR�                  \GR                  5      R¡                  \GR                  GR                  \‡Rº                  :H  5      GR                  5         S­\‡l…        Mi     \†(       a  \yR•                  5         \yR�                  \GR                  GR                  \GR                  GR                  5      GR                  \GR                  GR                  \GR                  GR                  5      GR                  \GR                  " \GR                  Rº                  5      S:„  5      R¥                  5       r�\�(       aý  \� Hç  u  r�r‘\yR�                  \GR                  5      R¡                  \GR                  GR                  \�:H  \GR                  GR                  \‘:H  5      GR                  \GR                  Rº                  GR                  5       5      R¥                  5       r’\’S    \’SS sr“r”\•" S® \” 5       5      (       a  S\“l…        \” H  r–\yGR                  \–5        M     Mé     \yR•                  5          \yR“                  \" S¯5      5        \yR•                  5         \yR�                  \Rô                  5      R¡                  \Rô                  RÂ                  S:H  \Rô                  GR
                  S:H  5      R¥                  5       r—\—(       aÖ  \yR�                  \GR0                  5      R¥                  5        H—  r™\™GR4                   V s1 s H  o GR                  iM     sn r›\— Hf  rœ\œRº                  \›;  d  M  \yR·                  \GR                  " \™Rº                  \œRº                  SS°95        \›R·                  \œRº                  5        Mh     M™      \yR•                  5         \yR½                  5         \$" 5       r� \�R�                  \GR<                  5      R¡                  \GR<                  RÂ                  S:H  5      Rµ                  5       (       dI  / S±QrŸ\Ÿ H/  u  r|r}r~\�R·                  \GR<                  " S\|S\} S¦\~ 3S©95        M1     \�R•                  5         \�R½                  5         \
" S²\!(       a  S³OS\!(       a  S´OS\!(       a  SµOSS¶9r \ GRC                  S·\" S¸S¹9S¸Sº9  \GRD                  " S»SS¼9  \ GRF                  " S½5      r¤\¤GRK                  \ GRL                  5        \" S¾S¿SSÀSÁ9r§\§GRQ                  \ GRR                  " SÂ5      5        \¤GRU                  \§5        S­\¤l«        SÃr¬ " SÄ SÅ5      r­\ GR]                  \­5        \ GR_                  SÆ5      SÇ\SÈ\\/\\   4   SÉ\4SÊ j5       r°\ GR_                  SÆ5      SÇ\SÈ\\/\\   4   SÉ\4SË j5       r±\ GR_                  SÆ5      SÇ\SÈ\\/\\   4   SÉ\4SÌ j5       r²S SÍK³J´rµ  S SÎK³J¶r·  S SÏK³J¸r¹  S SÐK³Jºr»  S SÑK³J9r¼  S SÒK³J½r¾  S SÓK³J¿rÀ  S SÔK³JÁrÂ  S SÕK³JÃrÄ  S SÖK³JÅrÆ  S S×K³JÇrÈ  S SØK³JÉrÊ  S SÙK³JËrÌ  S SÚK³JÍrÎ  S SÛK³JÏrÐ  S SÜK³JÑrÒ  S SÝK³JÓrÔ  S SÞK³JÕrÖ  S SßK³J×rØ  S SàK³JÙrÚ  S SáK³JÛrÜ  S SâK³JÝrÞ  S SãK³Jßrà  S SäK³Járâ  S SåK³Jãrä  S SæK³Jåræ  S SçK³Jçrè  S SèK³Jérê  S SéK³Jërì  S SêK³Jírî  S SëK³Jïrð  S SìK³Jñrò  S SíK³Jórô  \ GRë                  \µGRì                  5        \ GRë                  \ÀGRì                  5        \ GRë                  \ÂGRì                  5        \ GRë                  \ÄGRì                  5        \ GRë                  \ÆGRì                  5        \ GRë                  \ÈGRì                  5        \ GRë                  \ÊGRì                  5        \ GRë                  \ÌGRì                  5        \ GRë                  \ÎGRì                  5        \ GRë                  \ÐGRì                  5        \ GRë                  \ÒGRì                  5        \ GRë                  \ÔGRì                  5        \ GRë                  \ÖGRì                  5        \ GRë                  \ØGRì                  5        \ GRë                  \ÚGRì                  5        \ GRë                  \ÜGRì                  5        \ GRë                  \ÞGRì                  5        \ GRë                  \àGRì                  5        \ GRë                  \âGRì                  5        \ GRë                  \äGRì                  5        \ GRë                  \æGRì                  5        \ GRë                  \èGRì                  5        \ GRë                  \êGRì                  5        \ GRë                  \ìGRì                  5        \ GRë                  \ðGRì                  5        \ GRë                  \îGRì                  5        \ GRë                  \òGRì                  5        \ GRë                  \ôGRì                  5        \ GRë                  \·GRì                  5        \ GRë                  \¹GRì                  5        \ GRë                  \»GRì                  5        \ GRë                  \¼GRì                  5        \ GRë                  \¾GRì                  5        \ R¯                  Sî\Sï9\" \%5      4SÇ\Sð\4Sñ jj5       r÷\ GRñ                  Sò5      \" \(5      4Só\GRò                  4Sô jj5       rúg! \K a    \FR™                  5          GN0f = f! \K a    \FR™                  5          GN%f = f! , (       d  f       GNÍ= f! \MR½                  5         f = f! \_R½                  5         f = f! \lR½                  5         f = f! \mR½                  5         f = f! \rR½                  5         f = f! \K a    \yR™                  5          G	Nf = fs  sn f ! \K a    \yR™                  5          GNêf = f! \yR½                  5         f = f! \�R½                  5         f = f)õé    N)ÚRotatingFileHandler)Ú	AwaitableÚCallable)ÚFastAPIÚDependsÚRequestÚResponseÚstatusÚHTTPException)ÚStaticFiles)ÚHTMLResponseÚRedirectResponseÚJSONResponse)ÚtextÚfunc)ÚSession)ÚBackgroundScheduler)Ú
SECRET_KEYÚ	ALGORITHMÚAPI_DOCS_ENABLED)ÚengineÚSessionLocalÚget_db)Úget_password_hashÚget_current_userÚget_current_user_optionalÚget_user_modul_kodokÚis_rendszeradminisztratorÚget_working_company_idÚ"modul_elerheto_a_munkakornyezetbenÚ!munkakornyezet_visszaallitasa_get)Ú napi_riport_lekerdezes_es_kuldes)Ú+korlatozott_gepek_hataridejenek_ellenorzese)Úvedett)Ú	templatesÚHELYI_TZ)ÚtimezoneÚnapi_riportÚcroné   )ÚhourÚminuteÚkorlatozott_gepeké   Úemail_kiuritesT)ÚpercenkentiÚ*é   )r,   Úmax_instancesÚcoalesceÚemail_takaritasé   é
   Úlogin_takaritasé   Úaktivalo_takaritasé   Úszabadsag_lejaratz*/5Újelszo_emlekeztetoé   c            	      ó¬  • [         R                  R                  R                  [        S9  [        5       n U R                  [         R                  5      R                  5       nU(       dÛ  [         R                  " SSS9nU R                  U5        U R                  5         U R                  U5        [         R                  " UR                  SS9nU R                  U5        [         R                  " SS[        S	5      S
UR                  SS9nU R                  U5        U R                  5         SSKJn  U" UR                  U S9  U R%                  5         g )N)Úbindu   AlapÃ©rtelmezett CÃ©gz00000000-0-00)ÚnevÚadoszamu   KÃ¶zponti Telephely)Ú
company_idrA   u   Rendszer AdminisztrÃ¡torzadmin@ceg.huÚadmin123ÚAdminÚCEG)ÚusernameÚemailÚhashed_passwordÚrolerC   Úhozzaferes_szintr   )Úfeltolt_geptipusokat)Údb)ÚmodelsÚBaseÚmetadataÚ
create_allr   r   ÚqueryÚCompanyÚfirstÚaddÚcommitÚrefreshÚSiteÚidÚUserr   Úgeplista_feltoltorL   Úclose)rM   Ú
letezo_cegÚalap_cegÚalap_telephelyÚadminrL   s         Ú/var/www/website/main.pyÚinit_dbrb   C   sú   € Ü
‡K�K×Ñ×#Ñ#¬Ð#Ñ0Ü	‹€Bà—‘œ&Ÿ.™.Ó)×/Ñ/Ó1€JæÜ—>’>Ø'Ø#ñ
ˆð 	�‰ˆxÔØ
�	‰	ŒØ
�
‰
�8ÔäŸšØ—{‘{Ø%ñ
ˆð 	�‰ˆ~Ôä—’Ø/Ø Ü-¨jÓ9ØØ—{‘{Ø"ñ
ˆð 	�‰ˆuŒØ
�	‰	Œõ
 	;Ù˜XŸ[™[¨RÒ0à‡H�H…Jó    ÚtableÚ
column_defc                 ó¬  •  [         R                  [        SU  SU 35      5        [         R                  5         g ! [         aŽ  n[         R                  5         [        U5      R                  5       nSU;  aQ  SU;  aF  SU;  a;  [        SU  SU S[        U5      R                   S[        U5      S S	  35         S nAg  S nAg  S nAg  S nAg S nAff = f)
NzALTER TABLE z ADD COLUMN zduplicate columnzno such tablezdoesn't existu&   âš ï¸� Oszlop-hozzÃ¡adÃ¡s sikertelen (z: z): éÈ   )ÚconnÚexecuter   rV   Ú	ExceptionÚrollbackÚstrÚlowerÚprintÚtypeÚ__name__)rd   re   ÚeÚuzenets       ra   Úadd_column_safers   q   sÆ   € ð	{Ü�L‰Lœ ¨U¨G°<À
¸|ÐLÓMÔNÜ�K‰K�MøÜó 		{Ü�M‰MŒOô ˜“V—\‘\“^ˆFØ!¨Ó/°OÈ6Ó4QÐVeÐmsÓVsÜÐ>¸u¸gÀRÈ
À|ÐSVÔW[Ð\]ÓW^×WgÑWgÐVhÐhjÔknÐopÓkqÐrvÐsvÐkwÐjxÐy×zÑzô WtÔ4QÔ/ûð		{ús   ‚8; »
CÁA5CÃCÚmachineszuuid VARCHAR(50)z*letiltva_napi_hiba_miatt BOOLEAN DEFAULT 0z!is_teherfelvevo BOOLEAN DEFAULT 0Úusersztanusitvany_szam VARCHAR(100)z#orvosi_alkalmassag_ervenyesseg DATEzjogositvany_ervenyesseg DATEz$napi_atlag_uzemido FLOAT DEFAULT 0.0zmatrix_kezdo_datum DATETIMEzmatrix_kezdo_uzemora FLOATz"uzemora_riasztas_szint VARCHAR(10)z%jog_gep_szerkesztes BOOLEAN DEFAULT 0z'jog_datum_szerkesztes BOOLEAN DEFAULT 0zaktiv BOOLEAN DEFAULT 1Ú	companieszcsak_olvasas BOOLEAN DEFAULT 0Ú
audit_logszcompany_id INTEGERzaktivalva BOOLEAN DEFAULT 1ztotp_secret VARCHAR(255)z"totp_megerositve BOOLEAN DEFAULT 0ztotp_utolso_lepes INTEGERzaktiv_munkamenet VARCHAR(64)zmunkamenet_kezdete_at DATETIMEzmunkamenet_ip VARCHAR(64)zszabadsagon BOOLEAN DEFAULT 0zszabadsag_kezdete_at DATETIMEzszabadsag_visszateres DATEzjelszo_lejarat_at DATETIMEzjelszo_emlekezteto_at DATETIMEzjelszo_ervenyesseg_nap INTEGERzjelszo_min_hossz INTEGERz%jelszo_kell_kisbetu BOOLEAN DEFAULT 0z&jelszo_kell_nagybetu BOOLEAN DEFAULT 0z"jelszo_kell_szam BOOLEAN DEFAULT 0z'jelszo_kell_specialis BOOLEAN DEFAULT 0zjelszo_elozmeny_db INTEGERz%jelszo_hazirend_valtozott_at DATETIMEz1ketlepcsos_hitelesites_kotelezo BOOLEAN DEFAULT 0z"mfa_politika_valtozott_at DATETIMEzfo_gep_id INTEGERzberelt_eszkoz BOOLEAN DEFAULT 0zberbeado_neve VARCHAR(255)z!berbeado_elerhetoseg VARCHAR(255)zberlet_lejarat_datum DATEzcim VARCHAR(500)zelerhetoseg VARCHAR(255)zlicenc_max_gep INTEGERzlicenc_max_dolgozo INTEGERzlicenc_max_ugyintezo INTEGERÚkeszenleti_helyekztelephely_id INTEGERÚtuzvedelmi_naplokÚinspectionszberleti_idoszak_id INTEGERzepulet_id INTEGERÚtuzvedelmi_epuletekzpinceszintek INTEGER DEFAULT 0z2foldszint_valtozat VARCHAR(30) DEFAULT 'FOLDSZINT'zemeletek INTEGER DEFAULT 0zszint VARCHAR(50)z!hianyosan_zarva BOOLEAN DEFAULT 0zhianyossag_indoklas TEXTÚebk_projektekzugyfel_id INTEGERÚebk_ellenorzes_tetelekz'munkavegzesi_engedely_szam VARCHAR(100)z!engedely_nelkul BOOLEAN DEFAULT 0Úebk_ellenorzesi_tetelekz)auto_engedely_osszesito BOOLEAN DEFAULT 0zengedely_ceg_nev VARCHAR(255)z"engedely_ceg_szekhely VARCHAR(500)z$engedely_felelos_vezeto VARCHAR(255)z"engedely_helyi_vezeto VARCHAR(255)z%engedely_megrendelo_neve VARCHAR(255)z!engedely_tevekenyseg VARCHAR(500)Úmachine_type_configsz$msz16226_szukseges BOOLEAN DEFAULT 0z-kezeloi_munkahely_szukseges BOOLEAN DEFAULT 0Úfileszmegjegyzes TEXTzuzemora_a_vizsgalatkor FLOATz)jegyzokonyv_szam_egyedi BOOLEAN DEFAULT 0zjegyzokonyv_szam VARCHAR(50)zberbeadhat BOOLEAN DEFAULT 0Úberleti_idoszakokzberlo_nev_kulso VARCHAR(255)zberlo_cim_kulso VARCHAR(500)z$berlo_elerhetoseg_kulso VARCHAR(255)zjovahagyva BOOLEAN DEFAULT 1z)kezelo_egyutt_emelkedik BOOLEAN DEFAULT 0z#kezeloi_munkahely_magassaga INTEGERz"szerkezeti_vizsgalat_uzemora FLOATzfovizsgalat_uzemora FLOATzrendkivuli BOOLEAN DEFAULT 0zrendkivuli_indoklas TEXTzletrehozva DATETIMEzìUPDATE inspections SET letrehozva = ( SELECT MIN(f.uploaded_at) FROM files f WHERE f.file_path = inspections.jegyzokonyv_pdf_path   AND f.machine_id = inspections.machine_id) WHERE letrehozva IS NULL AND jegyzokonyv_pdf_path IS NOT NULLuI   UPDATE users SET role = 'EmelÅ‘gÃ©p szakÃ©rtÅ‘' WHERE role = 'VizsgÃ¡lÃ³'Údaily_check_questionszgeptipus_lista TEXTÚvivu_ellenorzes_tetelekz,szakterulet_iparbiztonsagi BOOLEAN DEFAULT 0z(szakterulet_tuzvedelmi BOOLEAN DEFAULT 0z*szakterulet_munkavedelmi BOOLEAN DEFAULT 0z.szakterulet_kornyezetvedelmi BOOLEAN DEFAULT 0Úvivu_telephelyekzhelyiseg VARCHAR(200)Úmaintenance_ticketszhatarido DATEzberlo_site_id INTEGERz"berlo_keszenleti_hely VARCHAR(255)u   FÅ‘ Ã©pÃ¼let)Útelephely_idrA   ))ÚTotalzFX 6 Euro - SÚPorúMSZ EN 3ú
43A 233B Cç      @)r‡   z	FX 1 Eurorˆ   r‰   ú8A 34Bç      ð?)r‡   z	FX 2 Eurorˆ   r‰   z13A 70Bç       @)r‡   z
FX 12 Eurorˆ   r‰   rŠ   g      (@)r‡   zK 5 SEÚCO2r‰   Ú55Bg      @)r‡   zK 2 SEr�   r‰   Ú34BrŽ   )r‡   zS 6 DN eco classicÚHabr‰   z21A 183Br‹   )r‡   zS 9 DN eco classicr’   r‰   z27A 233Bg      "@)ÚMaximazPKM 6Arˆ   r‰   rŠ   r‹   )r“   zPKM 1Arˆ   r‰   rŒ   r�   )r“   zCKM 2Br�   r‰   r‘   rŽ   )Ú	RozmaringzRH 4 (Clean Agent)õ   Tiszta oltÃ³anyagr‰   z5A 34B Cg      @)r”   zRH 2 (Clean Agent)r•   r‰   z34B CrŽ   )r”   zPoroz 6rˆ   r‰   rŠ   r‹   )ÚGloriazPD 6 GArˆ   r‰   rŠ   r‹   )ÚBavariazBAV VOLE X - P 6 XLrˆ   r‰   rŠ   r‹   )ÚCervinkazP6 CeArˆ   r‰   rŠ   r‹   )ÚMinimaxzPU 50 szPor (kerekes)zMSZ EN 1866zIV Bg      I@)rC   ÚgyartoÚ	tipus_nevÚoltoanyag_tipusÚgyartasi_szabvanyÚoe_ertekÚtoltettomeg_kg)Úmodul_seedek_potlasaÚkezdeti_modul_feltoltesõ   KockÃ¡zatÃ©rtÃ©kelÃ©s)Ú
machine_idÚ	file_pathÚ	file_type))ÚNAPIu   EgyÃ©ni vÃ©dÅ‘eszkÃ¶zÃ¶kur   ElÅ‘Ã­rt EVE (sisak, lÃ¡thatÃ³sÃ¡gi, acÃ©lbetÃ©tes cipÅ‘, zuhanÃ¡sgÃ¡tlÃ³) megfelelÅ‘ viselÃ©se a munkaterÃ¼leten.u#   Mvt. 42. Â§, 4/2002. sz. mellÃ©klet)r¦   u   Villamos hÃ¡lÃ³zatuƒ   Ideiglenes elosztÃ³k, hosszabbÃ­tÃ³k sÃ©rtetlensÃ©ge, csatlakozÃ³k szabvÃ¡nyossÃ¡ga, kÃ¡belvezetÃ©s biztonsÃ¡ga, Ã©rintÃ©svÃ©delem.u#   Mvt. 40. Â§, 4/2002. sz. mellÃ©klet)r¦   u   LeesÃ©s elleni vÃ©delemun   VÃ©dÅ‘korlÃ¡tok, lÃ¡bdeszkÃ¡k, fÃ¶dÃ©mnyÃ­lÃ¡sok Ã©s aknÃ¡k stabil, elmozdulÃ¡s elleni takarÃ¡sÃ¡nak meglÃ©te.õ   4/2002. 4. sz. mellÃ©klet)r¦   u   MunkaterÃ¼let rendjeuy   KÃ¶zlekedÃ©si utak, menekÃ¼lÃ©si Ãºtvonalak szabadon tartÃ¡sa, botlÃ¡sveszÃ©ly elhÃ¡rÃ­tÃ¡sa, hulladÃ©kok eltakarÃ­tÃ¡sa.r§   )r¦   u   GÃ©pek, berendezÃ©sekuo   MunkagÃ©pek vÃ©dÅ‘burkolatainak meglÃ©te, mozgÃ³ alkatrÃ©szek takarÃ¡sa, szemrevÃ©telezÃ©ses napi ellenÅ‘rzÃ©s.õ   Mvt. 41. Â§)r¦   u   EmelÅ‘gÃ©peku|   EmelÅ‘gÃ©pnaplÃ³ bejegyzÃ©sei, teherkÃ¶tÃ¶zÅ‘ eszkÃ¶zÃ¶k sÃ©rtetlensÃ©ge, teher alatti tartÃ³zkodÃ¡s tilalmÃ¡nak betartÃ¡sa.r§   )r¦   u   KÃ¶rnyezeti feltÃ©teleku^   MegfelelÅ‘ megvilÃ¡gÃ­tÃ¡s, szÃ¼ksÃ©ges szellÅ‘zÃ©s meglÃ©te a zÃ¡rt vagy szÅ±k munkaterekben.r§   )r¦   u   BeszÃ¡llÃ¡sos munkavÃ©gzÃ©suâ   ZÃ¡rt tÃ©rbe (akna, tartÃ¡ly, Ã¡rok) tÃ¶rtÃ©nÅ‘ beszÃ¡llÃ¡s Ã­rÃ¡sbeli engedÃ©lye, gÃ¡zveszÃ©ly folyamatos mÃ©rÃ©se, kÃ¼lsÅ‘ figyelÅ‘ szemÃ©ly Ã©s mentÃ©si eszkÃ¶zÃ¶k (pl. mentÅ‘hÃ¡romszÃ¶g, csÃ¶rlÅ‘) helyszÃ­ni biztosÃ­tÃ¡sa.õ&   Mvt. 40. Â§, 4/2002. 4. sz. mellÃ©klet)r¦   u   VeszÃ©lyes anyagokuï   Vegyszerek, gÃ¡zpalackok szabÃ¡lyos (kÃ¡rmentÅ‘s, dÅ‘lÃ©sbiztos) tÃ¡rolÃ¡sa, biztonsÃ¡gi adatlapok (MSDS) helyszÃ­ni elÃ©rhetÅ‘sÃ©ge, az anyaghoz elÅ‘Ã­rt specifikus EVE (pl. lÃ©gzÃ©svÃ©dÅ‘, vegyszerÃ¡llÃ³ kesztyÅ±) tÃ©nyleges hasznÃ¡lata.u;   Mvt. 40. Â§, 2000. Ã©vi XXV. tv., 4/2002. 4. sz. mellÃ©klet)r¦   u   ElsÅ‘segÃ©lyuu   ElsÅ‘segÃ©lynyÃºjtÃ³ felszerelÃ©s kÃ¶nnyen elÃ©rhetÅ‘, jÃ³l lÃ¡thatÃ³ helyen tartÃ¡sa, tartalmÃ¡nak hiÃ¡nytalansÃ¡ga.u&   Mvt. 46. Â§, 4/2002. 4. sz. mellÃ©klet)r¦   u   TÅ±zvÃ©delem (napi)ux   TÅ±zveszÃ©lyes hulladÃ©kok eltÃ¡volÃ­tÃ¡sa a melegmunkÃ¡k kÃ¶rnyezetÃ©bÅ‘l, napi oltÃ³eszkÃ¶z-kÃ©szenlÃ©t biztosÃ­tÃ¡sa.r§   )ÚATFOGOu   SzociÃ¡lis lÃ©tesÃ­tmÃ©nyekuu   Ã–ltÃ¶zÅ‘k, mosdÃ³k, Ã©tkezÅ‘k biztosÃ­tÃ¡sa, fÅ±tÃ©se, higiÃ©niai Ã¡llapota (takarÃ­tÃ¡s), ivÃ³vÃ­z elÃ©rhetÅ‘sÃ©ge.u&   Mvt. 46. Â§, 4/2002. 3. sz. mellÃ©klet)rª   u   DokumentÃ¡ciÃ³ (BET)uŒ   BiztonsÃ¡gi Ã©s EgÃ©szsÃ©gvÃ©delmi Terv (BET) aktualizÃ¡lÃ¡sa a munkafÃ¡zisokhoz, Ã©pÃ­tÃ©si naplÃ³ba tÃ¶rtÃ©nÅ‘ kooperÃ¡ciÃ³s bejegyzÃ©sek.u   4/2002. 5. Â§)rª   r¢   us   AlvÃ¡llalkozÃ³k Ã©rvÃ©nyes munkavÃ©delmi kockÃ¡zatÃ©rtÃ©kelÃ©seinek meglÃ©te az adott technolÃ³giÃ¡ra vonatkozÃ³an.u   Mvt. 54. Â§)rª   u
   OktatÃ¡sokus   MunkavÃ©delmi oktatÃ¡sok (elÅ‘zetes, ismÃ©tlÅ‘dÅ‘) Ã©s rendkÃ­vÃ¼li oktatÃ¡sok dokumentÃ¡ltsÃ¡ga, alÃ¡Ã­rt naplÃ³k.u   Mvt. 55. Â§)rª   u!   Ã‰rintÃ©svÃ©delmi jegyzÅ‘kÃ¶nyvekuƒ   Villamos kÃ©ziszerszÃ¡mok, elosztÃ³szekrÃ©nyek, hegesztÅ‘gÃ©pek idÅ‘szakos biztonsÃ¡gtechnikai/Ã©rintÃ©svÃ©delmi felÃ¼lvizsgÃ¡lata.r¨   )rª   u   Ã�llvÃ¡nyzatoku‡   Ã�llvÃ¡nyok Ã©pÃ­tÃ©se utÃ¡ni Ã¡tadÃ¡s-Ã¡tvÃ©teli jegyzÅ‘kÃ¶nyv, szakszerÅ± kikÃ¶tÃ©s, idÅ‘szakos (heti/vihar utÃ¡ni) felÃ¼lvizsgÃ¡lat.r§   )rª   u   FÃ¶ldmunkÃ¡k, Ã¡rkokuƒ   MunkaÃ¡rkok dÃºcolÃ¡sÃ¡nak, rÃ©zsÅ±kpÃ©zÃ©sÃ©nek ellenÅ‘rzÃ©se, kÃ¼lÃ¶nÃ¶s tekintettel az esÅ‘zÃ©sek vagy fagyok utÃ¡ni Ã¡llapotra.r§   )rª   u)   BeszÃ¡llÃ¡sos munkavÃ©gzÃ©s (FeltÃ©telek)u«   AlapvetÅ‘ mentÃ©si terv meglÃ©te zÃ¡rt tÃ©ri munkÃ¡khoz, munkavÃ¡llalÃ³k speciÃ¡lis orvosi alkalmassÃ¡ga Ã©s kikÃ©pzÃ©se a gÃ¡zmÃ©rÅ‘k Ã©s mentÅ‘eszkÃ¶zÃ¶k hasznÃ¡latÃ¡ra.r©   )rª   u%   VeszÃ©lyes anyagok (AdminisztrÃ¡ciÃ³)u²   KÃ©miai kockÃ¡zatbecslÃ©s meglÃ©te, veszÃ©lyes anyagok bejelentÃ©se az egÃ©szsÃ©gÃ¼gyi hatÃ³sÃ¡g felÃ© (OSZIR), dolgozÃ³k oktatÃ¡sainak megtÃ¶rtÃ©nte a biztonsÃ¡gi adatlapokbÃ³l.u    Mvt. 54. Â§, 2000. Ã©vi XXV. tv.)rª   u   TÅ±zvÃ©delmi eszkÃ¶zÃ¶ku{   TÅ±zoltÃ³ kÃ©szÃ¼lÃ©kek Ã©rvÃ©nyes alap- Ã©s kÃ¶zÃ©pfokÃº karbantartÃ¡sa, hitelesÃ­tÃ©si cÃ­mkÃ©k, jelzÅ‘tÃ¡blÃ¡k meglÃ©te.r§   )rª   u   Orvosi alkalmassÃ¡guŽ   A terÃ¼leten munkÃ¡t vÃ©gzÅ‘k Ã©rvÃ©nyes foglalkozÃ¡segÃ©szsÃ©gÃ¼gyi alkalmassÃ¡gi igazolÃ¡sainak (pl. magasban vÃ©gzett munka) ellenÅ‘rzÃ©se.u   Mvt. 49. Â§)rª   u   KizÃ¡rÃ¡sok Ã©s KoordinÃ¡ciÃ³u�   PÃ¡rhuzamosan dolgozÃ³ vÃ¡llalkozÃ³k tÃ©rbeli/idÅ‘beli elvÃ¡lasztÃ¡sa, LOTO (kizÃ¡rÃ¡s/kÃ¶tÃ©s) rendszerek ellenÅ‘rzÃ©se gÃ©peken/hÃ¡lÃ³zatokon.r©   u    â€“ z (Ú))rC   ÚtipusÚkotelezoÚszovegr¦   u…   MunkavÃ©gzÃ©si engedÃ©ly meglÃ©te - minden, a helyszÃ­nen dolgozÃ³ alvÃ¡llalkozÃ³ rendelkezik Ã©rvÃ©nyes munkavÃ©gzÃ©si engedÃ©llyel.)rC   r¬   r­   r®   Úauto_engedely_osszesitoFc              #   ó8   #   • U  H  oR                   v •  M     g 7f©N)Úaktiv)Ú.0Úss     ra   Ú	<genexpr>rµ   (  s   é € Ð5Ò$4˜q—7–7Ò$4ùs   ‚ztCREATE UNIQUE INDEX IF NOT EXISTS ux_ebk_projekt_tetelek_projekt_tetel ON ebk_projekt_tetelek (projekt_id, tetel_id))Ú
projekt_idÚtetel_idr²   ) )ÚDOKUMENTACIOõ   DokumentÃ¡ciÃ³uf   VeszÃ©lyes anyagok nyilvÃ¡ntartÃ¡sa naprakÃ©sz (mennyisÃ©g, minÅ‘sÃ©g, CAS-szÃ¡m, biztonsÃ¡gi adatlap))r¸   r¹   un   BiztonsÃ¡gi JelentÃ©s / BiztonsÃ¡gi ElemzÃ©s / SKET meglÃ©te, jÃ³vÃ¡hagyottsÃ¡ga, idÅ‘szakos felÃ¼lvizsgÃ¡lata)r¸   r¹   uU   A dokumentÃ¡ciÃ³ban Ã¡tvezetve minden technolÃ³giai mÃ³dosÃ­tÃ¡s (vÃ¡ltozÃ¡svezetÃ©s))r¸   r¹   ua   BelsÅ‘ VÃ©delmi Terv aktualitÃ¡sa, gyÃ¡rtÃ¡si/logisztikai (tÃ¡rolÃ¡s/szÃ¡llÃ­tÃ¡s) kockÃ¡zatokkal)r¸   õ"   BiztonsÃ¡gi IrÃ¡nyÃ­tÃ¡si RendszeruG   BiztonsÃ¡gÃ©rt felelÅ‘s munkakÃ¶rÃ¶k/szervezeti felÃ©pÃ­tÃ©s rÃ¶gzÃ­tve)r¸   rº   uK   RendszerszintÅ± Ã©s folyamatorientÃ¡lt kockÃ¡zatÃ©rtÃ©kelÃ©sek aktualitÃ¡sa)r¸   rº   u=   KarbantartÃ¡si tervek Ã©s ellenÅ‘rzÃ©si naplÃ³k vezetettsÃ©ge)r¸   rº   uV   VÃ¡ltozÃ¡svezetÃ©si eljÃ¡rÃ¡s kÃ¶vetÃ©se (technolÃ³giai/szervezeti mÃ³dosÃ­tÃ¡soknÃ¡l))r¸   õ   FelkÃ©szÃ¼ltsÃ©g Ã©s kÃ©pzÃ©su   Ã‰ves rÃ©szleges BVT-gyakorlat)r¸   r»   uG   HÃ¡romÃ©vente kÃ¶telezÅ‘, hatÃ³sÃ¡g felÃ¼gyelte teljes kÃ¶rÅ± gyakorlat)r¸   r»   u_   MunkavÃ¡llalÃ³k iparbiztonsÃ¡gi/baleset-megelÅ‘zÃ©si oktatÃ¡sÃ¡hoz oktatÃ¡si anyag kÃ©szÃ­tÃ©se)r¸   r»   u@   KÃ¼lsÅ‘ alvÃ¡llalkozÃ³k iparbiztonsÃ¡gi oktatÃ¡sÃ¡nak igazolÃ¡sa)r¸   r»   uM   KorÃ¡bbi Ã¼zemzavarok/kvÃ¡zi-balesetek kivizsgÃ¡lÃ¡sa + levont intÃ©zkedÃ©sek)ÚBEJARASõ   RaktÃ¡rozÃ¡suK   Ã–sszefÃ©rhetÅ‘sÃ©gi mÃ¡trix szerinti fizikai elkÃ¼lÃ¶nÃ­tÃ©s a helyszÃ­nen)r¼   r½   uH   AktuÃ¡lis kÃ©szletmennyisÃ©g a BJ-ben rÃ¶gzÃ­tett hatÃ¡rÃ©rtÃ©ken belÃ¼l)r¼   r½   u.   FelfogÃ³ tÃ¡lcÃ¡k/kÃ¡rmentÅ‘k fizikai Ã©psÃ©ge)r¼   r½   u(   FelfogÃ³ tÃ¡lca kapacitÃ¡sa megfelelÅ‘-e)r¼   r½   u6   ATEX targoncÃ¡k Ã©s tÃ¶ltÅ‘Ã¡llomÃ¡sok megfelelÅ‘sÃ©ge)r¼   r½   u4   Raklapok rÃ¶gzÃ­tÃ©se, Ã¡llvÃ¡nyrendszerek Ã¡llapota)r¸   r½   u=   Ã�llvÃ¡nyrendszer idÅ‘szakos felÃ¼lvizsgÃ¡lati jegyzÅ‘kÃ¶nyve)r¼   õ   GyÃ¡rtÃ¡stechnolÃ³giauF   BiztonsÃ¡gi reteszek/vÃ©szleÃ¡llÃ­tÃ³k helyszÃ­ni mÅ±kÃ¶dÅ‘kÃ©pessÃ©ge)r¼   r¾   uK   TÃºlnyomÃ¡s elleni vÃ©delmek (hasadÃ³tÃ¡rcsa, biztonsÃ¡gi szelep) Ã¡llapota)r¸   r¾   u/   Reteszek/szelepek kalibrÃ¡lÃ¡si jegyzÅ‘kÃ¶nyvei)r¸   r¾   uA   Kritikus paramÃ©terek DCS-naplÃ³zÃ¡sa, riasztÃ¡si hatÃ¡rÃ©rtÃ©kek)r¼   r¾   uB   CsÅ‘vezetÃ©kek jelÃ¶lÃ©se (Ã¡ramlÃ¡si irÃ¡ny, anyag) a helyszÃ­nen)r¸   r¾   u=   CsÅ‘vezetÃ©kek karbantartÃ¡si/tÃ¶mÃ¶rsÃ©gvizsgÃ¡lati naplÃ³ja)r¼   õ)   TÃ¡rgyi/mÅ±szaki infrastruktÃºra Ã©s ATEXud   GÃ¡zveszÃ©ly-jelzÅ‘k, robbanÃ¡sitÃ¶mÃ©nysÃ©g-mÃ©rÅ‘k, tÅ±zjelzÅ‘k mÅ±kÃ¶dÅ‘kÃ©pessÃ©ge/kalibrÃ¡lÃ¡sa)r¼   r¿   uj   EgyÃ©ni vÃ©dÅ‘eszkÃ¶zÃ¶k, semlegesÃ­tÅ‘ anyagok, mentesÃ­tÅ‘ felszerelÃ©sek Ã¡llapota, SKET lÃ¡da tartalma)r¼   r¿   u<   VÃ©szelzÃ¡rÃ³k rendelkezÃ©sre Ã¡llÃ¡sa, hozzÃ¡fÃ©rhetÅ‘sÃ©ge)r¼   r¿   u{   Automata sprinkler/gÃ¡zzal oltÃ³ berendezÃ©s Ã©s tÅ±zgÃ¡tlÃ³ ajtÃ³k, tÅ±zoltÃ³ kÃ©szÃ¼lÃ©kek, tÃ¼zivÃ­z forrÃ¡sok Ã¡llapota)r¸   r¿   u7   ATEX zÃ³nabesorolÃ¡si tÃ©rkÃ©p meglÃ©te/naprakÃ©szsÃ©ge)r¸   r¿   uX   Elektrosztatikus feltÃ¶ltÅ‘dÃ©s elleni vÃ©delem fÃ¶ldelÃ©si mÃ©rÃ©si jegyzÅ‘kÃ¶nyve, VBFu"   EmelÅ‘gÃ©p NyilvÃ¡ntartÃ³ SaaS Proz/docsz/redocz/openapi.json)ÚtitleÚdocs_urlÚ	redoc_urlÚopenapi_urlz/staticÚstatic)Ú	directory)ÚnameÚlogs)Úexist_okÚtevekenysegzlogs/tevekenyseg.logi@KL zutf-8)ÚmaxBytesÚbackupCountÚencodingz%(asctime)s | %(message)si  �c                   ó$   • \ rS rSrSrS rS rSrg)ÚFajlmeretKorlatozoMiddlewarei®  uŠ  A Content-Length fejlÃ©c alapÃº ellenÅ‘rzÃ©s (l. lent) `Transfer-Encoding: chunked` kÃ©rÃ©ssel
(nincs Content-Length fejlÃ©c) megkerÃ¼lhetÅ‘ volt - 2026-09-24-i kÃ¼lsÅ‘ audit talÃ¡lata. Ez a
middleware a kÃ©rÃ©s tÃ¶rzsÃ©t MAGA olvassa be, darabonkÃ©nt szÃ¡molva a mÃ©retÃ©t, Ã©s a limit felett
azonnal megszakÃ­tja (nem vÃ¡rja meg a teljes tÃ¶rzs beÃ©rkezÃ©sÃ©t), utÃ¡na egy "lejÃ¡tszÃ³" receive
callable-lel adja tovÃ¡bb a mÃ¡r beolvasott bÃ¡jtokat a route-oknak.

SZÃ�NDÃ‰KOSAN NYERS ASGI middleware (nem @app.middleware("http")/BaseHTTPMiddleware-alapÃº): az
utÃ³bbi egy Starlette Request-pÃ©ldÃ¡nyon (`request.stream()`) keresztÃ¼l olvasnÃ¡ be a tÃ¶rzset,
ami a Request `_stream_consumed` belsÅ‘ Ã¡llapotÃ¡t TRUE-ra Ã¡llÃ­tja - mivel a downstream
route-ok UGYANEZT a Request-pÃ©ldÃ¡nyt kapjÃ¡k tovÃ¡bb, a sajÃ¡t form()/body() hÃ­vÃ¡suk
"Stream consumed" hibÃ¡val elszÃ¡llt volna (Ã©lÅ‘ben ki is derÃ¼lt tesztelÃ©skor: minden POST
422 Field required hibÃ¡t adott). A nyers ASGI receive-csatorna becsomagolÃ¡sÃ¡val ez nem
problÃ©ma, mert a downstream Request egy TELJESEN ÃšJ pÃ©ldÃ¡ny, ami a mi becsomagolt receive
fÃ¼ggvÃ©nyÃ¼nkkel dolgozik, nem a miÃ©nkkel.c                 ó   • Xl         g r±   ©Úapp)ÚselfrÑ   s     ra   Ú__init__Ú%FajlmeretKorlatozoMiddleware.__init__¾  s   € Ø�rc   c              ƒ   óD  ^^
^#   • US   S:w  d	  US   S;  a  U R                  UTU5      I S h  v•N   g [        5       nSnSnU(       ak  T" 5       I S h  v•N nUS   S:w  a  ORUR                  UR                  SS	5      5        UR                  S
S5      n[	        U5      [
        :”  a  SnO	U(       a  Mk  U(       a-  [        SS0[        R                  S9nU" UTU5      I S h  v•N   g [        U5      m
SmU
UU4S jn	U R                  XU5      I S h  v•N   g  Né NÆ N9 N7f)Nro   ÚhttpÚmethod)ÚPOSTÚPUTÚPATCHFTúhttp.requestÚbodyrc   Ú	more_bodyÚmessageõH   A feltÃ¶ltÃ¶tt adat mÃ©rete meghaladja a megengedett 25 MB-os korlÃ¡tot!©ÚcontentÚstatus_codec               “   óL   >#   • T(       d  SmST SS.$ T" 5       I S h  v•N $  N7f)NTrÛ   F)ro   rÜ   rÝ   © )Ú
body_bytesÚmar_lejatszvaÚreceives   €€€ra   Ú_ujra_lejatszo_receiveÚEFajlmeretKorlatozoMiddleware.__call__.<locals>._ujra_lejatszo_receiveâ  s(   øé € æ Ø $�Ø .¸
ÐQVÑWÐWÙ ›—?Ð"‘?ùs   ƒ$�"ž$)
rÑ   Ú	bytearrayÚextendÚgetÚlenÚMAX_UPLOAD_SIZE_BYTESr   r
   Ú!HTTP_413_REQUEST_ENTITY_TOO_LARGEÚbytes)rÒ   Úscoperç   ÚsendÚbufferÚtul_nagyrÝ   rÞ   Úresponserè   rå   ræ   s     `       @@ra   Ú__call__Ú%FajlmeretKorlatozoMiddleware.__call__Á  s  úé € Ø�‰=˜FÓ" e¨H¡oÐ=UÓ&UØ—(‘(˜5 '¨4Ó0×0Ð0Øä“ˆØˆØˆ	ÞÙ#›I—oˆGØ�v‰ .Ó0ØØ�M‰M˜'Ÿ+™+ f¨cÓ2Ô3ØŸ™ K°Ó7ˆIÜ�6‹{Ô2Ó2Ø�Ø÷ ˆiö ô
 $Ø"Ð$nÐoÜ"×DÑDñˆHñ ˜5 '¨4Ó0×0Ð0Øä˜6“]ˆ
Øˆ÷	#ð �h‰h�u°dÓ;×;Ñ;ñM 1ñ &ñ$ 1ñ 	<ùsL   …)D ®D¯$D ÁDÁAD Â4.D Ã"DÃ#/D ÄDÄD ÄD ÄD ÄD rÐ   N)rp   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rÓ   rö   Ú__static_attributes__rä   rc   ra   rÎ   rÎ   ®  s   † ñ4òõ(<rc   rÎ   rÖ   ÚrequestÚ	call_nextÚreturnc              ƒ   óð   #   • U R                   R                  S5      nU(       a/   [        U5      [        :”  a  [	        SS0[
        R                  S9$  U" U 5      I S h  v•N $ ! [         a     Nf = f N7f)Nzcontent-lengthrÞ   rß   rà   )Úheadersrì   Úintrî   r   r
   rï   Ú
ValueError)rý   rþ   Úcontent_lengths      ra   Ú-fajlmeret_korlatozo_content_length_middlewarer  ï  s{   é € à—_‘_×(Ñ(Ð)9Ó:€NÞð	Ü�>Ó"Ô%:Ó:Ü#Ø&Ð(rÐsÜ &× HÑ Hñð ð ;ñ ˜7Ó#×#Ð#øô ó 	Ùð	úá#ùs4   ‚#A6¦,A$ ÁA6ÁA4Á A6Á$
A1Á.A6Á0A1Á1A6c              ƒ   ó®  #   • U" U 5      I Sh  v•N nU R                   R                  nUR                  S5      (       d  US:X  a  U$ UR                  nSU;  a]  UR                  S5      (       a  UR                  S:X  a  SUS'   O1UR                  S	S
5      R                  S5      (       d  SU;   a  SUS'   UR                  S5      (       a  SUS'   U$  NÄ7f)ue  GyorsÃ­tÃ³tÃ¡r- Ã©s tartalom-tÃ­pus fejlÃ©cek (2026-10-05, GET-Ã¡tvizsgÃ¡lÃ¡s S-3 szelet, docs/GET_ATTEKINTES.md 8. fejezet).

MIÃ‰RT? A bejelentkezett felhasznÃ¡lÃ³ szemÃ©lyes/Ã¼zleti adatot tartalmazÃ³ vÃ¡laszait (JSON-ok, exportok, PDF-ek) a bÃ¶ngÃ©szÅ‘
alapÃ©rtelmezetten gyorsÃ­tÃ³tÃ¡rba teheti (vissza-gomb, megosztott gÃ©p). EzÃ©rt:
  - JSON-vÃ¡lasz Ã©s minden `Content-Disposition`-Ã¶s (letÃ¶ltÃ©s/PDF/export) vÃ¡lasz: `Cache-Control: private, no-store`.
  - A /uploads/... fÃ¡jlok (hitelesÃ­tett fÃ¡jlkiszolgÃ¡lÃ³k): `private, no-cache` - tÃ¡rolhatÃ³, de minden hasznÃ¡lat elÅ‘tt
    ÃºjraellenÅ‘rzi a szerver (ETag/Last-Modified -> 304), Ã­gy a jogosultsÃ¡g minden megnyitÃ¡snÃ¡l Ã©rvÃ©nyesÃ¼l, Ã©s a kÃ©pek nem
    tÃ¶ltÅ‘dnek le Ãºjra feleslegesen. Ezeken `X-Content-Type-Options: nosniff` is van: a bÃ¶ngÃ©szÅ‘ ne talÃ¡lgassa a tÃ­pust.
SZÃ�NDÃ‰KOSAN NEM Ã©rinti: a /static/ fÃ¡jlokat Ã©s a /sw.js-t (azok gyorsÃ­tÃ³tÃ¡razÃ¡sa kÃ­vÃ¡natos), a HTML-oldalakat (a no-store
elvennÃ© a vissza-gomb Å±rlap-Ã¡llapotÃ¡t) Ã©s minden olyan vÃ¡laszt, amely mÃ¡r maga beÃ¡llÃ­tott `Cache-Control`-t (az a kezelÅ‘ dÃ¶ntÃ©se).Nú/static/z/sw.jszcache-controlz	/uploads/rg   zprivate, no-cachezCache-Controlzcontent-typeÚ zapplication/jsonzcontent-dispositionzprivate, no-storeÚnosniffzX-Content-Type-Options)ÚurlÚpathÚ
startswithr  râ   rì   )rý   rþ   rõ   ÚutÚfejlecs        ra   Úvalasz_fejlecek_middlewarer  þ  sÊ   é € ñ ˜wÓ'×'€HØ	�‰×	Ñ	€BØ	‡}�}�Z× Ñ  B¨(£NØˆØ×Ñ€FØ˜fÓ$Ø�=‰=˜×%Ñ%¨(×*>Ñ*>À#Ó*EØ&9ˆF�?Ò#Ø�Z‰Z˜¨Ó+×6Ñ6Ð7I×JÑJÐNcÐgmÓNmØ&9ˆF�?Ñ#Ø	‡}�}�[×!Ñ!Ø+4ˆÐ'Ñ(Ø€Oñ (ùs   ‚CŽC�CCc              ƒ   ó:  #   • U" U 5      I S h  v•N nU R                   R                  R                  S5      (       a  U$  U R                  (       a  U R                  R                  OSnSnSnU R
                  R                  S5      nU(       aè   [        R                  " U[        [        /S9nUR                  S5      nU(       a¯  [        5       n	 U	R                  [        R                  5      R                  [        R                  R                   U:H  5      R#                  5       n
U
(       a5  U
R                   nU
R$                  (       a  U
R$                  R&                  OSnU	R)                  5         O U R                   R                  nUR                  S5      (       a  Sn[,        R/                  SU S	U S
U SU R0                   SU SUR2                   35        U$  GNÔ! U	R)                  5         f = f! [*         a     N�f = f! [*         a     U$ f = f7f)Nr  Ú-Úaccess_token)Ú
algorithmsÚsubz/aktivalas/z/aktivalas/***zIP=z | Felhasznalo=z | Ceg=z | Ú z
 | Status=)r
  r  r  ÚclientÚhostÚcookiesrì   ÚjwtÚdecoder   r   r   rR   rN   rZ   ÚfilterrH   rT   ÚcegrA   r\   rj   Útevekenyseg_loggerÚinfor×   râ   )rý   rþ   rõ   ÚipÚfelhasznaloÚceg_nevÚtokenÚpayloadrH   Úlog_dbÚfelhasznalo_objÚnaplozott_uts               ra   Útevekenyseg_naplozo_middlewarer'    sÒ  é € á˜wÓ'×'€Hà‡{�{×Ñ×"Ñ" :×.Ñ.ØˆðØ$+§N§NˆW�^‰^× Ò ¸ˆØˆØˆà—‘×#Ñ# NÓ3ˆÞðÜŸ*š* U¬JÄIÀ;ÑO�ØŸ™ EÓ*�ÞÜ)›^�Fð'Ø*0¯,©,´v·{±{Ó*C×*JÑ*JÌ6Ï;É;×K\ÑK\Ð`eÑKeÓ*f×*lÑ*lÓ*n˜Þ*Ø*9×*?Ñ*?˜KØAP×AT×AT o×&9Ñ&9×&=Ò&=ÐZ]˜GàŸ™�ð ð —{‘{×'Ñ'ˆØ×"Ñ" =×1Ñ1à+ˆLÜ×ÑØ�"��_ [ M°¸¸	ÀÀWÇ^Á^ÐDTÐTUÐVbÐUcÐcmÐnv÷  oCñ  oCð  nDð  Eô	
ð €OòK (øð. Ÿ™�ûÜó Ùðûô ó Øà€Oðüss   ‚HŽG"�0HÁ AH
 ÂAG: ÃBG% Å%G: Å5A+H
 Ç HÇ%G7Ç7G: Ç:
HÈH
 ÈHÈH
 È

HÈHÈHÈH)Úauth)Úmfa)Úmfa_mentokod)Úprofil)Újelszo_hazirend)Úrendszernaplo)Ú	dashboard)rt   )Úexcel_import)rz   )Úszakerto_dashboard)Úpartner_cegek)r€   )Úsettings)ru   )Úrendszeradmin_felhasznalok)Ú	mobile_qr)Úai_scan)Úoffline_sync)Ú
tuzvedelem)Útuzvedelem_import)Úebk)Úvivu)Úmodulok)Úrendszeradmin)Údokumentum_import)Úmsz16226)Úrendszeradmin_email)Úrendszeradmin_kitiltasok)Úrendszeradmin_mfa)Úrendszeradmin_dashboard)Ú	aktivalas)ÚertesitesekÚ/)Úresponse_classrM   c                 óp  • [        X5      nU(       d  [        R                  " U S0 S9$ S[        X!5      ;  a  [	        S[
        R                  S9$ [        US[        X 5      U5      (       d5  [        X5      u  p4[	        U[
        R                  S9nXER                  S'   U$ [        R                  " XU5      $ )u  A "/" a bejelentkezÃ©s Ã¡llapotÃ¡tÃ³l fÃ¼ggÅ‘en mÃ¡s-mÃ¡s oldalt mutat: bejelentkezetlen
lÃ¡togatÃ³nak a nyilvÃ¡nos marketing kezdÅ‘lapot (a "BejelentkezÃ©s" gombja a /login-ra visz),
bejelentkezett felhasznÃ¡lÃ³nak pedig - vÃ¡ltozatlanul - az EmelÅ‘gÃ©p vezÃ©rlÅ‘pultot (vagy a
modulvÃ¡lasztÃ³t, ha a cÃ©gÃ©nek/fiÃ³kjÃ¡nak nincs EmelÅ‘gÃ©p-hozzÃ¡fÃ©rÃ©se). EzÃ©rt ez a route
SZÃ�NDÃ‰KOSAN nem a dashboard_router-en belÃ¼l Ã©l, mert azt a router-szintÅ±
require_modul("EMELOGEP") fÃ¼ggÅ‘sÃ©g feltÃ©tel nÃ©lkÃ¼l bejelentkezÃ©shez kÃ¶tnÃ©.zmarketing.html)rý   rÆ   ÚcontextÚEMELOGEPz/valassz-modult)r
  râ   z
Set-Cookie)r   r%   ÚTemplateResponser   r   r
   ÚHTTP_303_SEE_OTHERr    r   r!   r  Údashboard_routerr.  )rý   rM   Úcurrent_userÚcelÚsutikÚvalaszs         ra   Úgyoker_oldalrQ  ‡  s§   € ô -¨WÓ9€LÞÜ×)Ò)°'Ð@PÐZ\Ñ]Ð]àÔ-¨lÓ?Ó?ÜÐ$5Ä6×C\ÑC\Ñ]Ð]ô .¨l¸JÔH^Ð_kÓHuÐwy×zÑzÜ6°wÓM‰
ˆÜ! c´v×7PÑ7PÑQˆØ',�‰�|Ñ$Øˆä×%Ò% g°<Ó@Ð@rc   z/teszt-riportrM  c                 ól   • [        U 5      (       d  [        [        R                  SS9e[	        SS9  SS0$ )uG   KÃ©nyszerÃ­ti a reggeli riport azonnali lefutÃ¡sÃ¡t, mintha 6:00 lenne!u)   Nincs jogosultsÃ¡god ehhez a mÅ±velethez!)râ   ÚdetailT)ÚtesztrÞ   u}   A riport generÃ¡lÃ¡s lefutott, a levelek a kimenÅ‘ sorba kerÃ¼ltek (Rendszeradmin / E-mail beÃ¡llÃ­tÃ¡sok / KimenÅ‘ levelek).)r   r   r
   ÚHTTP_403_FORBIDDENr"   )rM  s    ra   Úteszt_riport_futtatasarV  ¦  sB   € ô % \×2Ñ2Ü¬×(AÑ(AÐJuÑvÐvô %¨4Ò0Øð  Wð  Xð  Xrc   )ûÚloggingÚosÚuuidÚlogging.handlersr   Útypingr   r   r  Úfastapir   r   r   r	   r
   r   Úfastapi.staticfilesr   Úfastapi.responsesr   r   r   Ú
sqlalchemyr   r   Úsqlalchemy.ormr   Ú!apscheduler.schedulers.backgroundr   rN   Úconfigr   r   r   Údatabaser   r   r   Úsecurityr   r   r   r   r   r   r    r!   Úemail_utilsr"   Ú	msz_logicr#   Ú	email_sorÚutemezo_utilsr$   Úlogin_vedelemÚaktivalas_utilsÚszabadsag_utilsr,  Útemplates_envr%   r&   Ú	schedulerÚadd_jobÚkiuritesÚ	takaritasÚlejarat_ellenorzesÚemlekeztetokÚstartrb   Úconnectrh   rl   rs   ri   rV   rj   rk   Ú	db_epuletrR   ÚKeszenletiHelyr  Ú	epulet_idÚallÚarva_helyekÚepulet_cacheÚhelyr†   rì   ÚepuletÚTuzvedelmiEpuletrT   rU   rW   rY   r\   Údb_tipusÚTuzoltoKeszulekTipusrC   Útipus_seedekrš   r›   Ú	oltoanyagÚszabvanyÚoeÚkgÚmodul_utilsr    r¡   Údb_modulÚdb_migÚMachineÚ
regi_gepekÚgÚuuid4Údb_kocÚkockazatertekeles_pdf_pathÚ	gepek_kocÚFiler£   r¥   Úvan_marÚdb_ebk_tetelÚEbkEllenorzesiTetelÚebk_tetel_seedekr¬   Ú	kategoriaÚtargyÚ
jogszabalyr¯   Úorder_byÚascÚkanonikus_engedely_tetelr®   r²   ÚduplikatumokÚdupÚEbkProjektTetelr·   Údeleter¶   Úgroup_byÚhavingÚcountÚprojekt_tetel_dup_csoportokÚdup_projekt_idÚdup_tetel_idÚsorokÚ
megtartottÚfelesleges_sorokÚanyÚ
feleslegesÚglobalis_tetelekÚ
EbkProjektÚprojektÚprojekt_tetelekÚmeglevo_tetel_idkÚtetelÚdb_vivu_tetelÚVivuEllenorzesiTetelÚvivu_tetel_seedekrÑ   ÚmountÚmakedirsÚ	getLoggerr  ÚsetLevelÚINFOÚ_tevekenyseg_handlerÚsetFormatterÚ	FormatterÚ
addHandlerÚ	propagaterî   rÎ   Úadd_middlewareÚ
middlewarer  r  r'  Úroutersr(  Úauth_routerr)  Ú
mfa_routerr*  Úmfa_mentokod_routerr+  Úprofil_routerÚjelszo_hazirend_routerr-  Úrendszernaplo_routerr.  rL  rt   Úmachines_routerr/  Úexcel_import_routerrz   Úinspections_routerr0  Úszakerto_dashboard_routerr1  Úpartner_cegek_routerr€   Úfiles_routerr2  Úsettings_routerru   Úusers_routerr3  Ú!rendszeradmin_felhasznalok_routerr4  Úmobile_qr_routerr5  Úai_scan_routerr6  Úoffline_sync_routerr7  Útuzvedelem_routerr8  Útuzvedelem_import_routerr9  Ú
ebk_routerr:  Úvivu_routerr;  Úmodulok_routerr<  Úrendszeradmin_routerr=  Údokumentum_import_routerr>  Úmsz16226_routerr?  Úrendszeradmin_email_routerr@  Úrendszeradmin_kitiltasok_routerrA  Úrendszeradmin_mfa_routerrB  Úrendszeradmin_dashboard_routerrC  Úaktivalas_routerrD  Úertesitesek_routerÚinclude_routerÚrouterrQ  ÚpostrZ   rV  )Úpts   0ra   Ú<module>rã     sN  ðÛ Û 	Û Ý 0ß &ã 
ß N× NÝ +ß JÑ Jß !Ý "Ý Aã ß :Ñ :ß 1Ñ 1÷÷ ó õ
 9Ý AÛ Ý  Û Û Û Û ß -ñ  ¨Ñ2€	ð 
× Ñ ‘&˜Ð(HÓIÈ6ÐXYÐbcÐ Ñ dà 	× Ñ ‘&Ð,Ð.YÓZÐ\bÐijÐstÐ Ñ uð 
× Ñ ‘&Ð)¨9×+=Ñ+=È4ÑPÐRXÐadØ !¨Dð ñ 2à 	× Ñ ‘&Ð*¨I×,?Ñ,?Ó@À&ÈqÐY[Ð Ñ \à 	× Ñ ‘&Ð*¨M×,CÑ,CÓDÀfÐSTÐ]_Ð Ñ `à 	× Ñ ‘&Ð-¨×/HÑ/HÓIÈ6ÐXYÐbdÐ Ñ eà 	× Ñ ‘&Ð,¨o×.PÑ.PÐ^bÑcÐekÐtyØ !¨Dð ñ 2ð 
× Ñ ‘&Ð-¨×/KÑ/KÐY]Ñ^Ð`fÐoqØ !¨Dð ñ 2à 	‡�Ô ò&ðX ‡^‚^Ô˜ð{˜sð {°ô {ñ  �JÐ 2Ô3Ù�JÐ LÔMñ �JÐ CÔDñ �GÐ<Ô=Ù�GÐBÔCÙ�GÐ;Ô<ñ �JÐ FÔGÙ�JÐ =Ô>Ù�JÐ <Ô=Ù�JÐ DÔEÙ�GÐDÔEÙ�GÐFÔGñ �GÐ6Ô7Ù�KÐ!:Ô;ñ �GÐ=Ô>Ù�LÐ"6Ô7ñ �GÐ:Ô;ñ �GÐ7Ô8Ù�GÐAÔBÙ�GÐ8Ô9ñ �GÐ;Ô<Ù�GÐ=Ô>Ù�GÐ8Ô9á�GÐ<Ô=Ù�GÐ<Ô=Ù�GÐ9Ô:á�GÐ9Ô:Ù�GÐ=Ô>Ù�KÐ!AÔBÙ�KÐ!;Ô<Ù�KÐ!HÔIÙ�KÐ!IÔJÙ�KÐ!EÔFÙ�KÐ!JÔKÙ�KÐ!=Ô>Ù�KÐ!HÔIÙ�KÐ!TÔUÙ�KÐ!EÔFñ �JÐ 3Ô4ñ �JÐ AÔBÙ�JÐ <Ô=Ù�JÐ CÔDÙ�JÐ ;Ô<ñ �KÐ!3Ô4Ù�KÐ!;Ô<ñ �KÐ!9Ô:Ù�KÐ!=Ô>Ù�KÐ!?Ô@ñ
 Ð'Ð)?Ô@ÙÐ'Ð)?Ô@ñ �MÐ#?Ô@ñ Ð'Ð)<Ô=ñ Ð)Ð+KÔLÙÐ)Ð+_Ô`ÙÐ)Ð+GÔHÙÐ'Ð)<Ô=ñ Ð'Ð)LÔMÙÐ'Ð)CÔDñ �OÐ%8Ô9ñ Ð,Ð.WÔXÙÐ,Ð.QÔRÙÐ-Ð/ZÔ[ÙÐ,Ð.MÔNÙÐ,Ð.RÔSÙÐ,Ð.TÔUÙÐ,Ð.RÔSÙÐ,Ð.UÔVÙÐ,Ð.QÔRñ Ð*Ð,RÔSÙÐ*Ð,[Ô\Ù�GÐ.Ô/ñ �MÐ#AÔBÙ�MÐ#NÔOÙ�MÐ#AÔBñ �KÐ!?Ô@ÙÐ'Ð)GÔHÙÐ'Ð)GÔHÙÐ'Ð)OÔPñ Ð'Ð)GÔHñ �JÐ KÔLÙ�JÐ EÔFñ �JÐ DÔEÙ�JÐ ;Ô<ñ �MÐ#AÔBÙ�MÐ#=Ô>ñ �MÐ#8Ô9ð
Ø�‰‘TðNó
ô 	ð 	�‰ŒðØ�‰‘TÐeÓfÔgØ�‰Œñ
 Ð+Ð-BÔCñ Ð-Ð/]Ô^ÙÐ-Ð/YÔZÙÐ-Ð/[Ô\ÙÐ-Ð/_Ô`ñ Ð&Ð(;Ô<ñ
 Ð-Ð/BÔCñ Ð-Ð/FÔGñ
 Ð)¨?Ô;ñ
 Ð'Ð)@ÔAÙÐ'Ð)MÔN÷S ñV „	ñ ‹N€	ðØ—/‘/ &×"7Ñ"7Ó8×?Ñ?À×@UÑ@U×@_Ñ@_ÐcgÑ@gÓh×lÑlÓn€KØ€LÜˆØ×ÑÑ$ÙØ×!Ñ! $×"3Ñ"3Ó4ˆÞØ—_‘_ V×%<Ñ%<Ó=×DÑDØ×'Ñ'×4Ñ4¸×8IÑ8IÑIóç‰e‹gð ö Ø×0Ò0¸d×>OÑ>OÐUcÑd�Ø—‘˜fÔ%Ø× Ñ Ô"Ø×!Ñ! &Ô)Ø.4ˆL˜×*Ñ*Ñ+ØŸ™ˆ�ñ ð ×ÑÔà‡O�OÔñ ‹>€ðØ�>‰>˜&×5Ñ5Ó6×=Ñ=¸f×>YÑ>Y×>dÑ>dÐhlÑ>lÓm×sÑs×uÑuò
ˆó( ?KÑ:ˆF�I˜y¨(°B¸Ø�L‰L˜×4Ò4Ø¨¸)ÐU^Ø"*°RÈñö ñ ?Kð
 	�‰Ôà‡N�NÔ÷ FÙ‹>€ðÙ˜Ô"Ù˜HÔ%à‡N�NÔñ 
‹€ðØ—‘˜fŸn™nÓ-×4Ñ4°V·^±^×5HÑ5HÈDÑ5PÓQ×UÑUÓW€JÛˆÙ�T—Z’Z“\Ó"ˆŽñ à
‡M�M„Oà
‡L�L„Nñ 
‹€ð
Ø—‘˜VŸ^™^Ó,×3Ñ3°F·N±N×4]Ñ4]ÐaeÑ4eÓf×jÑjÓl€IÛˆØ—,‘,˜vŸ{™{Ó+×2Ñ2Ø�K‰K×"Ñ" a§d¡dÑ*¨F¯K©K×,AÑ,AÐE\Ñ,\ó
ç
‰%‹'ð 	÷ ˆwØ�J‰J�v—{’{¨a¯d©d¸a×>ZÑ>ZÐf}Ñ~Öñ ð ‡M�M„Oà
‡L�L„Nñ ‹~€ðAØ×Ñ˜f×8Ñ8Ó9×@Ñ@À×A[ÑA[×AfÑAfÐjnÑAnÓo×uÑu×wÑwò
Ðó2 4DÑ/ˆE�9˜e ZØ×Ñ˜V×7Ò7Ø u°tØ#˜ E¨%¨°°:°,¸aÐ@ñö ñ 4Dð
 	×ÑÔð ×Ñ˜f×8Ñ8Ó9×@Ñ@Ø×"Ñ"×-Ñ-°Ñ5Ø×"Ñ"×:Ò:¸dÑBó÷ �eƒgõð 	×Ñ˜×3Ò3Ø 6°DðIà$(ñ	
ô 	ð 	×ÑÔð  ,×1Ñ1°&×2LÑ2LÓM×TÑTØ×"Ñ"×-Ñ-°Ñ5Ø×"Ñ"×:Ò:¸dÑBó ÷ ‚hˆv×)Ñ)×,Ñ,×0Ò0Ó2Ó3·E±E³Gð ÷  Ø#×)Ñ)¨&×*DÑ*DÓE×LÑLØ×&Ñ&×)Ñ)Ð-E×-HÑ-HÑHØ×&Ñ&×1Ñ1°TÑ9Ø×&Ñ&×-Ò-Ð1I×1PÒ1PÑPØ×&Ñ&×,Ò,°Ñ4ó	
÷
 ‰#‹%ð 	ó  ˆCØ×Ñ˜v×5Ò5Ó6×=Ñ=¸f×>TÒ>T×>]Ò>]Ðad×agÑagÑ>gÓh×oÒoÔqØˆCŽIñ  ö Ø×ÑÔ!ð #/×"4Ñ"4Ø×Ò×)Ò)¨6×+AÒ+A×+JÒ+Jó#ç‚hØ×Ò×)Ò)¨6×+AÒ+A×+JÒ+Jóç‚fˆT�Z‹Z˜×.Ò.×1Ñ1Ó2°QÑ6Ó7¿¹»ð	  ö
 #Û,GÑ(ˆN˜LØ ×&Ñ& v×'=Ò'=Ó>×EÑEØ×&Ò&×1Ò1°^ÑCØ×&Ò&×/Ò/°<Ñ?ó÷ Šh�v×-Ò-×0Ñ0×4Ò4Ó6Ó7¿¹»ð ð ,1°©8°U¸1¸2°YÐ(ˆJÐ(ÙÑ5Ñ$4Ó5×5Ñ5Ø#'�
Ô Û.�
Ø×#Ò# JÖ/ó /ñ -Hð 	×ÑÔð Ø×Ñ™Tð<ó
ô 	ð 	×ÑÔð $×)Ñ)¨&×*DÑ*DÓE×LÑLØ×"Ñ"×-Ñ-°Ñ5°v×7QÑ7Q×7WÒ7WÐ[_Ñ7_óç	�cƒeð ö Ø#×)Ñ)¨&×*;Ò*;Ó<×@Ñ@ÖBˆGØ7>×7NÓ7NÓ OÒ7N°§¥Ñ7NÑ OÐÛ)�Ø—8‘8Ð#4Õ4Ø ×$Ñ$ V×%;Ó%;ÀwÇzÁzÐ\a×\dÑ\dÐlpÑ%qÔrØ%×)Ñ)¨%¯(©(Ö3ó *ñ Cð	$Ø×ÑÔ!ð ×ÑÔñ “€ð0Ø×Ñ˜v×:Ò:Ó;×BÑBÀ6×C^ÒC^×CiÑCiÐmqÑCqÓr×xÑx×zÑzò&
ÐóN (9Ñ#ˆE�9˜eØ×Ñ˜f×9Ó9Ø u°tØ#˜ E¨%¨Ð1ñö ñ (9ð
 	×ÑÔà×ÑÔñ Ø
.Þ(‰W¨dÞ*‰h°Þ#3‘¸ñ	€ð ‡	‚	ˆ)‘[¨8Ñ4¸8€	Ñ Dð ‡ƒˆF˜TÒ "Ø×&Ó& }Ó5Ð Ø × Ò ˜GŸLšLÔ )Ù*Ð+AÈIÐcdÐovÑwÐ Ø × !Ò ! '×"3Ó"3Ð4OÓ"PÔ QØ × Ò Ð2Ô 3Ø$Ð Ô ð )Ð ÷;<ñ ;<ð| × Ò Ð/Ô 0ð ‡‚�Óð$Àð $ÐU]Ð_fÐ^gÐirÐs{Ñi|Ð^|ÑU}ð $ð  CKó $ó ð$ð ‡‚�Óð¨gð À(ÈGÈ9ÐV_Ð`hÑViÐKiÑBjð Ðowó ó ðð4 ‡‚�Óð&°'ð &ÀhÐPWÈyÐZcÐdlÑZmÐOmÑFnð &Ðs{ó &ó ð&õR (Ý %Ý 7Ý +Ý =Ý 9Ý 1Ý /Ý 7Ý 5Ý CÝ 9Ý )Ý /Ý )Ý SÝ 1Ý -Ý 7Ý 3Ý AÝ %Ý 'Ý -Ý 9Ý AÝ /Ý EÝ OÝ AÝ MÝ 1Ý 5Ø × Ò �;×%Ò%Ô &Ø × Ò Ð#×*Ò*Ô +Ø × Ò �?×)Ò)Ô *Ø × Ò Ð&×-Ò-Ô .Ø × Ò Ð%×,Ò,Ô -Ø × Ò Ð,×3Ò3Ô 4Ø × Ò Ð'×.Ò.Ô /Ø × Ò �<×&Ò&Ô 'Ø × Ò �?×)Ò)Ô *Ø × Ò �<×&Ò&Ô 'Ø × Ò Ð4×;Ò;Ô <Ø × Ò Ð#×*Ò*Ô +Ø × Ò �>×(Ò(Ô )Ø × Ò Ð&×-Ò-Ô .Ø × Ò Ð$×+Ò+Ô ,Ø × Ò Ð+×2Ò2Ô 3Ø × Ò �:×$Ò$Ô %Ø × Ò �;×%Ò%Ô &Ø × Ò �>×(Ò(Ô )Ø × Ò Ð'×.Ò.Ô /Ø × Ò Ð+×2Ò2Ô 3Ø × Ò �?×)Ò)Ô *Ø × Ò Ð-×4Ò4Ô 5Ø × Ò Ð2×9Ò9Ô :Ø × Ò Ð1×8Ò8Ô 9Ø × Ò Ð+×2Ò2Ô 3Ø × Ò Ð#×*Ò*Ô +Ø × Ò Ð%×,Ò,Ô -Ø × Ò �:×$Ò$Ô %Ø × Ò Ð&×-Ò-Ô .Ø × Ò �=×'Ò'Ô (Ø × Ò Ð)×0Ò0Ô 1Ø × Ò Ð'×.Ò.Ô /ð ‡�ˆ˜\€Ð*Ù18¸³ñ A˜'ð A wô Aó +ðAð< ‡‚ˆ/ÓÙ7>Ð?OÓ7Pñ X¨¯ªô Xó ñXøðA ó Ø�‰�ðûð ó Ø�‰�ðú÷E ÖûðL ‡O�OÕûðH ‡N�NÕûð ‡N�NÕûð ‡L�L…Nûð$ ‡L�L…Nûðb ó  Ø×Ñ×ð üò !Pøð ó 	$ð ×!Ñ!×#ð		$ûð ×ÑÕûðr ×ÑÕúsK  ÇLA]$Ó,'A\*Ô'A]Ô;A#A]$Ö5E*A]6 Ü7BA^ ß4A^  àBA^5 â8C
A_
 æA	A_
 ç'SA` û'A_ û+B+A` þA_<þ,A` ÿAA` Á@ A` ÁABA`3 Á\*A]Á] A]$Á]A]Á]A]$Á]A]!Á]A]$Á] A]!Á]!A]$Á]$
A]3Á]6A^Á^A^Á^ A^2Á^5A_Á_
A_Á_A_9Á_5A` Á_8A_9Á_9A` Á`A`Á`A` Á`A`Á`A` Á`A`0Á`3Aa