From 43805d3dc43580fb09e997df36ee304121e33398 Mon Sep 17 00:00:00 2001 From: Hartmut Seichter Date: Tue, 23 Apr 2024 11:23:50 +0200 Subject: [PATCH] =?UTF-8?q?initialer=20check=20f=C3=BCr=20Rohfassung=20des?= =?UTF-8?q?=20Studiengangs=20VI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- syllabus/VI/.gitignore | 4 + syllabus/VI/Makefile | 20 + syllabus/VI/book.yaml | 64 + syllabus/VI/images/background.pdf | Bin 0 -> 10372 bytes syllabus/VI/images/background.svg | 303 + syllabus/VI/images/hssm-logo.eps | 5709 +++++++++++++++++ syllabus/VI/mod.ak_egov.yaml | 67 + syllabus/VI/mod.analysis.yaml | 127 + syllabus/VI/mod.arbeitsrecht.yaml | 90 + syllabus/VI/mod.blockchain_app.yaml | 114 + syllabus/VI/mod.compint.yaml | 151 + syllabus/VI/mod.datenschutzrecht.yaml | 93 + syllabus/VI/mod.dbs.yaml | 129 + syllabus/VI/mod.einf-vi.yaml | 102 + syllabus/VI/mod.einfprog.yaml | 73 + syllabus/VI/mod.fortprog.yaml | 88 + syllabus/VI/mod.grund-verwaltbw.yaml | 119 + syllabus/VI/mod.grund-webtech.yaml | 115 + syllabus/VI/mod.it-consult.yaml | 95 + syllabus/VI/mod.it-sicher.yaml | 80 + syllabus/VI/mod.linear-alg.yaml | 132 + syllabus/VI/mod.net-conf.yaml | 95 + syllabus/VI/mod.nosql.yaml | 107 + syllabus/VI/mod.oeff-recht-1.yaml | 81 + syllabus/VI/mod.oeff-recht-2.yaml | 106 + syllabus/VI/mod.plsql.yaml | 117 + syllabus/VI/mod.projman.yaml | 88 + syllabus/VI/mod.prozmang.yaml | 88 + syllabus/VI/mod.rech-controlling.yaml | 73 + syllabus/VI/mod.rechnernetze.yaml | 80 + syllabus/VI/mod.recht-digitalisierung.yaml | 78 + syllabus/VI/mod.sem-egov.yaml | 75 + syllabus/VI/mod.softwareengineering.yaml | 68 + .../VI/mod.sp-unternehmen-verwaltung-1.yaml | 114 + .../VI/mod.sp-unternehmen-verwaltung-2.yaml | 83 + syllabus/VI/mod.spez_aws.yaml | 118 + syllabus/VI/mod.template.yaml | 60 + syllabus/VI/mod.usability-engineering.yaml | 100 + syllabus/VI/mod.web-analytics.yaml | 71 + syllabus/VI/mod.wpr-1.yaml | 78 + syllabus/VI/mod.wpr-2.yaml | 71 + syllabus/VI/notes.md | 13 + syllabus/VI/schema.yaml | 304 + 43 files changed, 9743 insertions(+) create mode 100644 syllabus/VI/.gitignore create mode 100644 syllabus/VI/Makefile create mode 100644 syllabus/VI/book.yaml create mode 100644 syllabus/VI/images/background.pdf create mode 100644 syllabus/VI/images/background.svg create mode 100644 syllabus/VI/images/hssm-logo.eps create mode 100644 syllabus/VI/mod.ak_egov.yaml create mode 100644 syllabus/VI/mod.analysis.yaml create mode 100644 syllabus/VI/mod.arbeitsrecht.yaml create mode 100644 syllabus/VI/mod.blockchain_app.yaml create mode 100644 syllabus/VI/mod.compint.yaml create mode 100644 syllabus/VI/mod.datenschutzrecht.yaml create mode 100644 syllabus/VI/mod.dbs.yaml create mode 100644 syllabus/VI/mod.einf-vi.yaml create mode 100644 syllabus/VI/mod.einfprog.yaml create mode 100644 syllabus/VI/mod.fortprog.yaml create mode 100644 syllabus/VI/mod.grund-verwaltbw.yaml create mode 100644 syllabus/VI/mod.grund-webtech.yaml create mode 100644 syllabus/VI/mod.it-consult.yaml create mode 100644 syllabus/VI/mod.it-sicher.yaml create mode 100644 syllabus/VI/mod.linear-alg.yaml create mode 100644 syllabus/VI/mod.net-conf.yaml create mode 100644 syllabus/VI/mod.nosql.yaml create mode 100644 syllabus/VI/mod.oeff-recht-1.yaml create mode 100644 syllabus/VI/mod.oeff-recht-2.yaml create mode 100644 syllabus/VI/mod.plsql.yaml create mode 100644 syllabus/VI/mod.projman.yaml create mode 100644 syllabus/VI/mod.prozmang.yaml create mode 100644 syllabus/VI/mod.rech-controlling.yaml create mode 100644 syllabus/VI/mod.rechnernetze.yaml create mode 100644 syllabus/VI/mod.recht-digitalisierung.yaml create mode 100644 syllabus/VI/mod.sem-egov.yaml create mode 100644 syllabus/VI/mod.softwareengineering.yaml create mode 100644 syllabus/VI/mod.sp-unternehmen-verwaltung-1.yaml create mode 100644 syllabus/VI/mod.sp-unternehmen-verwaltung-2.yaml create mode 100644 syllabus/VI/mod.spez_aws.yaml create mode 100644 syllabus/VI/mod.template.yaml create mode 100644 syllabus/VI/mod.usability-engineering.yaml create mode 100644 syllabus/VI/mod.web-analytics.yaml create mode 100644 syllabus/VI/mod.wpr-1.yaml create mode 100644 syllabus/VI/mod.wpr-2.yaml create mode 100644 syllabus/VI/notes.md create mode 100644 syllabus/VI/schema.yaml diff --git a/syllabus/VI/.gitignore b/syllabus/VI/.gitignore new file mode 100644 index 0000000..0ceda55 --- /dev/null +++ b/syllabus/VI/.gitignore @@ -0,0 +1,4 @@ +build +*_files + +VI.mhb.* \ No newline at end of file diff --git a/syllabus/VI/Makefile b/syllabus/VI/Makefile new file mode 100644 index 0000000..84cb23b --- /dev/null +++ b/syllabus/VI/Makefile @@ -0,0 +1,20 @@ +# rule pandoc-pdf-eisvogel-mhb-de +# command = python $coursebuilder -s MHB/schema.yaml -p -t -l de --level 2 -b $in | pandoc -V lang=de $pandoc_flags_eisvogel $mhb_flags $mhb_de -o $out + + +output_path := build + +coursebuilder := ~/Code/coursebuilder/coursebuilder +pandoc_flags_eisvogel := --filter=pandoc-crossref --template eisvogel.latex --resource-path=. + +mhb_flags := -V titlepage:true -V toc:true -V toc-own-page:true -V table-use-row-colors:true -V date:"\today" -V page-background:"images/background.pdf" -V page-background-opacity:"0.99" -V linestretch:"1.15" -V fontsize:10pt + +mhb_meta_de := -V lang=de -V title:"Studiengang Verwaltungsinformatik/E-Government (Bachelor of Science)" -V subtitle:"Modulhandbuch" -V author:"Hochschule Schmalkalden, Fakultät Informatik" -V footer-left:"Nichtamtliche Lesefassung" + +mhb_command := python ${coursebuilder} -s schema.yaml -p -t -l de --level 2 -b book.yaml | pandoc ${pandoc_flags_eisvogel} ${mhb_flags} ${mhb_meta_de} -o ${output_path}/modulhandbuch-VI.pdf + +mhb: + ${mhb_command} + +debug: + python ~/Code/coursebuilder/coursebuilder -m mod.compint.yaml -s schema.yaml -f goal -l de diff --git a/syllabus/VI/book.yaml b/syllabus/VI/book.yaml new file mode 100644 index 0000000..fc00e8d --- /dev/null +++ b/syllabus/VI/book.yaml @@ -0,0 +1,64 @@ +book: + - fields: + - name + - notes + - instructor +# - id + - goal + - content + - form-of-instruction + - prerequisites + - media-of-instruction + - author-of-indenture + - used-in + - workload + - credits + - form-of-exam + - term + - frequency + - duration + - kind + - remarks + - sections: + - text: + de: "# Pflichtbereich {.unnumbered}" + + - modules: + - mod.analysis.yaml + - mod.plsql.yaml + - mod.dbs.yaml + - mod.einf-vi.yaml + - mod.grund-verwaltbw.yaml + - mod.grund-webtech.yaml + - mod.prozmang.yaml + - mod.it-sicher.yaml + - mod.linear-alg.yaml + - mod.einfprog.yaml + - mod.fortprog.yaml + - mod.projman.yaml + - mod.sem-egov.yaml + - mod.rechnernetze.yaml + - mod.rech-controlling.yaml + - mod.softwareengineering.yaml + - mod.wpr-1.yaml + - mod.wpr-2.yaml + - mod.oeff-recht-1.yaml + - mod.oeff-recht-2.yaml + - mod.recht-digitalisierung.yaml + + + - text: + de: "# Wahlpflichtbereich {.unnumbered}" + + - modules: + - mod.ak_egov.yaml + - mod.blockchain_app.yaml + - mod.spez_aws.yaml + - mod.compint.yaml + - mod.nosql.yaml + - mod.it-consult.yaml + - mod.usability-engineering.yaml + - mod.web-analytics.yaml + - mod.sp-unternehmen-verwaltung-1.yaml + - mod.sp-unternehmen-verwaltung-2.yaml + - mod.recht-digitalisierung.yaml diff --git a/syllabus/VI/images/background.pdf b/syllabus/VI/images/background.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b8655c9d4a71e96fa8e2a093f85ca4bf0ac99d5e GIT binary patch literal 10372 zcmcI~WmH^Evo01ixCPDN76xX3VQ_bMcXxM!ySux)hd_b^3l=1J(BQ!>NC<=rdEdO} z`_^~vJ?GDzz1QB;)z#IttGa8g=UGjoC@Rhj0&<|zyg91-iOLRO1vnU6qw?|sSY*xY zEnF=D9FHPpQ~&_LB5q~tYUcd-wl#7!6E!n&Ff~Kv=SOvMbv84yL-ouF)fug`ZMVxk zV6y)9{9Vnp2{E8q7H;_^E9!lK(qO>K&_lScucXg>JBYa9MEebm5{^`2ioCbz?Mb@m z1KXzO_?(SR{Jh4EMZ|=v3h_O5zSk%1Z`l^PeDPN|^C$7$znJ;`9@u77^P0ycfD>)| zn+Hxs4}R`+RRKb--t0&7=MWf6mTW z^-AaJEKME;8)*DwtOf7heBU})+QfjdP_Bc06P>PL`e&WfRZ zPY!BgrrX2%0VlM;nWg%rn$IY@r2wf&&8o>M2<@FGnmK-f8m6GHa5dr(6ov(x@{0qt zeq9Y&Xg`POD(kw8;C`GQ{6y%r>FZu@^f+T3VLLPin8FO%kOG0G8+gXWQY7K_Cdpv6 zY-~J}k-!4YvR@F=1uFI*IeZS^BgIoY#T%#zM+MUe%L}wz{q@6wkMkWegcjE*XxF>U zCvQ``^g@lVnRBH{f?hK8rht9gr3$ z<5d5a*9c;_-tUO9O>%Q}3yYO!5!quvti!rMpGwlJ9VNCq#9+%eH8h3!&UIZwzdkx2 zxJw!_S4lA_3jk)23VRRFVJ1YTg3qSOZi zO20^#B&66cW)|crH@=r1JWX|>gs53Sk%XauS6hcAqQm~j$kj6%jLrs?3$JN5(^j;c zHTE&wUbv)E_t9TX2k}>xtD5F1f4xeHCU7fJpa+JnpZ7&CHtAKBO9&ak(ThElAKQm6*}L0=>ecXC3V(p9pw(w)04(;`$N@-nWET$rcB zx~&5tL|B&5;Tzt3n?61{DY?0rm1Wr}Y&5a6FH-G;m0e|6(w zd+uD;scDD1yDHi83_?Hs^F#84@i@5N;v1AQKXqq?^n#}^ygqy^iG~kIMEARu~s}i)`4{2JL=@BnwX_IUy zt)lX0ql|P>1{tY-=Cb}+KQ^S@!HNCm^&rD>S#h7;G^NwR_7W1c{e-bKY3sS|(Axt@ zmweHvmH)~Q7`q0%H`OOovT~ zc8V355R)U{ER9tK2%x-7V~fNGB2?=O7ZtXZBtz4M&n2Y$qdes*Q`r*HWk!b2812}R zs$?bezV^SAtZDBZv`|TuPlC$e#++-%Y-kF%^SucSV9k*Y=Rcu!u5-|J0`6x_?Ggy* zE(g@IauOh9>*lfFxgX}rYc()+MU?XSVa?H$OQ37P+SrK(#`L*??PyjdC2kbIbSfgm zeKp3_1It-YzZrX1$8eeWvr!NtDW*)1&<}$x|1n#YwCts)Od-0x=z_|+Zef9Cqgq6y zN~pTJMLls#KSw@sOWPJZ20A6>xQV+ABNd5-sh|#cKjnPIrCMFW%a&6}-ANb-w0-t& z2#ejJK$J19R*-a(YQN#gz4v|RJ;{b-Mg8l{fVbmjyy`Jdah!=inR*g=>Uo6X&Phjd zCr2X;=i^T9r8fGK-jj4LWsY+p)L|fWC7ATL#(0L0WhD3~B&bm`XAaFDn@`vlcH+dc zAW;)+9*QcRRx3T|m7T4MCRa1=+pA6M7*GMyh&F6FJ(CsANq|#2Egyf#5#r-*bfTan zWF`=3kjBL-h(wXT42kSXS2OY5sKs91I1LJOJJSo}ffRB@R{0{3>hx%hdRan^l)n;J zzRZCCLKLS2en$B^S5)}Zd%9i?+HKsE$ZhJk;yO``NC7PB;@{nR21Qrfpp?Z5l6l!H zfY=4v*vRN&(9~9apSzm!JW}>0Ktk~_vKb95W z`P&I2AUn_YKd9~ibg8LstT8FSj+9Z-@X;9G1r6oIEFvNN*bmp4hkqw3ZW~z_P3`2L zigw*;kH3DFwippLlCTS5(N1V4 zyu}^Cho7k@l2@HVuM)<2Ghd%|={WQHlizyp4=mdvh%*-aCRq^r87C4O_PA-JLF&)} zHNp8p@i0S#I1_VW+Ysk_+}<}alX{WYQVkrPFC~)Eu;bJ=AWh$2hKwiR=IM4*TphD_ z;<^2ZJtgCm;z!2Kqg!y~NkOY>d9@5n*cs;|y!gOK5LIwa~3 z(P{J3;JgZ^ICKL*-qkYfKMBb1i3N=LeD?clpr`MGB_TAs}t3+`Nf|8%6&R zY_!ctso>eW%YN^Ro2BZ8(0Mph`#^Egvt20YnLQ6{2T}I@6_+3==NJ&J)g+)BEck%0 zs8`fM!L6ZkMUnE=*1++hn$^pfq8LAx+2$FEL#ki|T=>b1>s5ub+V= z@H00_h{#dZ!L3l(NOx)QOgD}9sD^M|pI7hQ4E^YKek8SG84RIm_w@6bfL*B3?k;)# zn59rmw#Fe16Yo1t6T%;7Kq+JVFh0833&)L44M0^&A97y!o8e=NH$ymANbuVj9Z}o` z-@Y7Bn~#=npiqb53U}V2(Wh|Kfru&+v>vJ zU)?bal;0I^UP(zlJ(HR^I3i~Rn{ zXDK)#Mht|F$cL&W=6wT&tssY=>_+Vwzd|7yXK8+41Gj}_D^>~ooF-kf7zBtVcZK+i z2gc_Han_joq|0?M+$dBinK2S>1y`y(JLb>~VK;shft_#7LbBkq$2t7nS+!@p%sRedbW|+jCjw%!pLgt4T#QTY3Ej>?BF!1?hD)3 zIl^`pAxM;A9G4ELqQijlaws;-Tpoj&Q~-HA7tW(%)8)87!RBWkPa~9Ao)d;idaJ3> z0%v?E=5re%8nx;TnWbQc^IaTMqTz7zMlKIoNQrdDU8XD}0vzR`3tz@%+? z%@fbNye+c|T7@W&ci%#`5f-EBRsqY?q0oHaT1h)ML)X;{W*=PD9jd2&FRL8a6Z`8tOC z-#W(~MXn0PP||Xpns4&JNrhs0&F7pI$y^MoDUhg`y{|e`6Dg- zK-*8WbxWJ3{FBg7q$hhj)*yByM4P4?cf+wgc5cNXT z{3r}hO+GYg8quF*9(2Z6ac^fGgky6aUe%;JpfueY%3ep)xPqc|?g^x7^F-%Xf@e3C z6@MXMnX{ya*nh{E-NBC@#{ICCRU!4$`Tb{+v_=8V^W6yRi&viG;h!CXu6cB?=EwL) z*G}!4=VZ;YFKK6@Jd)9zvfReg==`y&wzw$yZmC=6s>$tYIeYDfseb@4n$zAjh?~Q) zGd9E1Yzni@k~umNiC2M$6U_WJmU@2`oU!@E4?Vxd?na3lY7@9YK_7A+Si3$7h#`q0 zfWXifAetibaf5_6K_Q1$`3SV{ZO})XHbKI7j>Em6VDdN=?6}kD-PPN-Au~;waO;}( z`Wo9F#lXZtla9r#9y~4IoDSkRJ4;+dY+iB`-uHth-&XO}%O*?oBOGHasNKjzOyK(5 znok2inzVm0_|Xe%tEU*v`6C2*A%1_>Hk>@(PPnhJHu1#&Ctdm(sO*lxMyI7F^I$J$es_F#^YNzw>klwCh$*P3X7;9kvu}_8 zo_M<_vhL~qNY}A*adJH=JT=+=q4jhV=-cVYyen9ga9A_ zi;2;`!GRK>jsCi{Y-@}U^2#Ytbf(Up$$4}9l?axeO{HTbO0u6w>n(%#KbF{&%1Uw!5 zNK}leRiJ37rOIYg0G4H+P1p+5!S;p5BNwX#D~BvGOhIc6bvpJ5WqUycuS3B9^?2L<8Qo2RLEVKqca52PYf}t! zwKhR&NPI#>O+#lv1->O*)|^ z)-*L}#@-)3H^6uULAuZJ``o^jQsbyATU+TwsZ>GU=_Os}vPk z8ML*wPm{|Xf8}#QbQ0xdv2=^yvP06i^AqHuk1SZP%fxMKPEuKQp4B;`xTLozH=2M;Y00f)MJ(MLesF+v}Cyd!y+qp>={ak(=m-|I^)=i!5wW8G66{LVXhWR=rw-Qzm3ck4#Ihqu!X zJ4`4sC3xemhH#b`4ufq5+gHZ*kP-6gOl*YmFMG~xh~WeF72mW`lg!7R^x5)WzMvhK z;z@)%lua(*TR+IVA>+c5iFKeriu;b<>7M3g^9xBs&t*+z>ty#BZsi14SG|7ErbOy0 zEqjc>QG2p}toK4UedNN-y`f;!l0krwn;`3Qe{x_qvUSS49l_mE#JXI0K|vkjrM_LB zcgNSfyI)ycj>h};+R^{vz+%^F_k-OBEl210!ZmHnz)Q#MoCst%4K0h>s&k*aH_vrC z(;RiHm$mhF&r~%AP0Qx=iE1k%+$+mwI~jN1Hk28Pg${2$M`Srt3+`z4OWv<}XSm%e zfe>EKr(0#yvS1m_1SJ;B!+=WjU^`_l1L^40>id=76)Pz@ItT7&rR_joe{NxBCR3IL zkCV}Lf2!%Qz&u zCV@D+`?+7U>BmbGN3W}1%bjepWU!pSx+cu?+s^&zf3u-|9rrOUaF)s6>3%q!F=jU= z*5|~3 zKC2=m_{NVuI0P65JnZ236P+)m-xvrW-+Bh$g)Ga&ZJcQCc@X$dB<}vI-SOuf;!I;t z$$Rc-*cD)+9dvpL`|&|Y_2F&bHw4VGbA;9F^%XY?jkU}=1kIZOV}n&R=4Td4Hpj=I z-T23hrl>3gahnJG0;B`y*pZ^c$Y%*)+n|ZB@znA_8tf8a-}N4Ml4u*MzBrNZ{gB?0 zxGD`FFFSOyyS?5+W#Z$pss8RiXI&yC=mp(`;J$89bO!vs>7DsxMX zSR0Ga2;U6lNsL>9rH^l;N_10F(y38c>Vn;7LaD7;25FqqVxH3@zl@Zrs(4+|*U9}U z)U|{(Q4ogXdxd3-v9OFjXQGTLt9a7eG&kwoO*8b%1eRt>OEJmnRN9LYcfQZCWspYN ziGcQ;cLSNUO(xn80Z9=*;b7kscIi|nY;dD-yCr8es<7?R4y>@dLaBES6m~Ht&Ksz3 zTVth6z9@;AG*@Js;I=P6)@mC!W!>ucXZ89yKibq;25_}Aw2z2%&!;a+Wr~P`I;eN} zpXJ1TUq>QTZlZ|-4f&(u&1A^OK4*mG_LchN224-sHw7k-jss;+5=8Y!w(VM%P2r}| z?@_Zd^q_7-j|j;dq67>#@lt`aT>%Z$(+_U8A6g8Z zS^ENE))UqsF`@?ShF$q~U?qN)Ni8LO_CycZk8>ZLB6`+>T^sY)|=AUR+$ zFc{A7iiJaJ{656IA~z&uDCO6@oag6&h)DU+=vdYoOJ`D8E}be(%C#3lv9^e4tvq#v zD$$b3St|RQRX}v6Mjy$~YSPwO%__m4#*@+rq`nH(_w#tC6n};+zU_ z#wkK`*vS@KD^{{Zy&(laH5}5;TmASC+HE9#~h>T(>7-q~;q%qSiWsdq%<1<~( znN)Q>+c3pOefd0wzFJ0zkZ6XKP}X-KrsO8dyg`e@W%3ncOuU*>f<#b;sNlY4xW^bC z`{sa&lPja$d7N93ux|r>tdXUgu`#cHQt{0*arBl;Zk6b{7(6kaTm}O{bUXd8j@EFI z6lxU&(?p1!CCf~7m7A|yD>IlrIis<#5^W2zNb?SJo@rABBfs!^i`cTVJsYI3#%Vby z*`^T9dlj<^YVUY8ZC^M>u~Tx~n8RLDGhOO*(*DJR>T)}Pe2Q)Pvts;`p@cpq64E)C z3(8)Uvvn5Z>Zs`zLLqBWCNee;P~c+NKoc(qr$|TQVKWFbqf;8sZNH{73$V%^-9sQ- z>#pgONVh?9`Nrco+e@{fp0=ItxWSd3Xnv4(` zmPgwN7AvCZzxMt9d zvIyDb?5y|i?I8Bsn`I&1iPz!GK#S0J1P=sy?@(O~!q$)(u;W2=IPXRyr+Uf4i8|t( z^FI&(G3J|JPktEd5$~g4j+=))=HR`A@e3bZf8i@Xx5;pW855lOnOO@EZqR|6$4|r? zEMbVJ7Z#D4H?d9k%6dLXAOUBZ(rEe@UbcP@@a9CFT#;O5p|%h5K+rMONAB6wAT zaj`d2!D$!OWJNWC{{73{y{Fx=NMP4`7t-y5nUcg}Kp7P8ths;u<3hOB9CS`*BU@6T zX}KG_-oB$Pg-tEl_&rvQ6pn$~3=5V|R{Y|$pU)@1_T0;*m#y8#7G69QN|J+L8Sh*@ zU+}}hW123?JvU8T&U{IZ8t!8*hjx?H^4(#2NQfCKdUF0D!ko84$lEkKiEazy@`_5L zz{D%Q)mrj%|F(5JBn+mT_aqF%&6<(d?WoHU8l&KyzsT=a8;3tQgLAkNw|7SeXUaVF zpYY>1s`wj!u(3kH{~(b6f?+nYuGs^&quhb#lkg}_l z?p7i62h8(mOa{adr}b{k_-Qd|SRNjpz9yN8zEMLtgj?(!Qcw^?{h96x0d;Rkb7Kit zAQ-IQ>^v&wDV*%JJRdP?_=YM6{$6%~Ba94VVnohU0w$mfDYR#S2xD!xQF(Lc9usIu z#X5Cepjf`EAL@^b2FJX!S)jbqf1hFNA636Xl_R}6!y;Agcqwd*g4?oh za8$`n%gjQF^$U=k)QE@d@Dfcv@btLrD<008de>N6W!rF8)k#y=z=+95y#c*F|DzQD zBn@{GC3}jJy%GIUO)r4SS*!PnuY2kRn)$N-*?$x3KPOfmu^Jcx`X|(XfbbKh{R@OX zAy`o}7ZYbIM^^{uzi{TGNZ!cq5uvK92?=WmGbuQl*{c}YyD&c@WM?B`2V2vB^u&$q ztZcmi^iL{)Cmp~)It+g)*&1260NB9)j1U%f@C4`pm^r~v05g~i{FrN22mk~Evjg;g zD@nN;*;<(h*<09}0a$-agj`I_9&t8^6$1U;e)9K8@HG6lK*Y#V(#*=j@=@o}&To;5 ztC^iT0Q#4Kr-tO8#?u!+!dkP(nV+z)^1op8C*=OLLjOHHf7x?0cKwaoRh`|;o4J%VuOP9xhvi^U%IG|u4D;o&>eCpa2Lf2at<{^U?Od*@Zy3fLvhEe~o4ZaImof!GC=Cm;T@D<#8c9sM%XR z9lHX6o=VBTCKUAK@xNzO;Xhax&=WQDSFGj#p<1437ckpjsrercc&Q~S+4Qnv4X*uU zI5w*ROR_Y6W*k6biiipPwz@+u{G7vI zk}Rul?K92zYHKZ7w7HFK`7)RD8l^pPTl6m0OOQ<%GI0>gKhIo8)93!uUSua($1lmI z5lJ%{rw2mw&*@C#Ba)5Ytg)VA5ybt{*TjDt@8x}3G_GAU=7Ai!e)^0~675|8+-}L& z=9~+V$7b*W;N^BLhaQ?4QMBe7;+3o5pkS?~E(y};L4e0syYjFqR6UZ*(o$~QdF(Kl z#Fr^-xv3*Pt~p-Mi@v`l1^RAv*QB0qOwU|btmB?YiA-aXp$94aHzn&2LH1a(*g&lR zl&n9j)qm|tO=UCl---E~uKIhE|KF%86)SHu0Qj#$paIYU0l)z8UzJAL!QruD{6p8V zNZFe^06>sGYv`X7d?tp5HxK!dfzg4mqO2fPfycJ#S0tR?T_Iyq!L)M^00qu-$~rid zSzN#z6QJ+~9HnzW$P_G=6PYn8RfM6rDhpy%r3Z)=2Bx(6dCPx(x{Irkv#Y1`<5z)L PL0~W{4UL$BIO_iauCkCl literal 0 HcmV?d00001 diff --git a/syllabus/VI/images/background.svg b/syllabus/VI/images/background.svg new file mode 100644 index 0000000..d6a9125 --- /dev/null +++ b/syllabus/VI/images/background.svg @@ -0,0 +1,303 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lesefassung + + diff --git a/syllabus/VI/images/hssm-logo.eps b/syllabus/VI/images/hssm-logo.eps new file mode 100644 index 0000000..f5f648d --- /dev/null +++ b/syllabus/VI/images/hssm-logo.eps @@ -0,0 +1,5709 @@ +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: MacOS Roman +%%Title: HSSM Logo 2015 RZ1.eps +%%Creator: Adobe Illustrator(R) 13.0 +%%For: Jo-MacPro +%%CreationDate: 7/13/15 +%%BoundingBox: 0 0 715 151 +%%HiResBoundingBox: 0 0 714.4634 150.6680 +%%CropBox: 0 0 714.4634 150.6680 +%%LanguageLevel: 2 +%%DocumentData: Clean7Bit +%ADOBeginClientInjection: DocumentHeader "AI11EPS" +%%AI8_CreatorVersion: 13.0.2 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 13.0.2 x434 R agm 4.4379 ct 5.1039 %ADO_ContainsXMP: MainFirst %AI7_Thumbnail: 128 28 8 %%BeginData: 7040 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C452F2F2F2E2F2F2F2E2F2F2F2E2F2F2F2E2F2F2F2E2F0C2F2F5A7EA9 %FD06FF2F59FFFF7E2FA8FFFFFFA82F062F067EFD04FFAF53062F0659FD04 %FF7E2FA8FFFF5353FD04FF5A062F062FA8FD04FF7E062F062FA8FFFFFFA8 %2F7EFFFF532FFD04FF532FFFFF8406A9FD04FF2E5AFD06FF2F2F062F2E06 %2F060C062F060C062F060C062F060C060D060D2E7E7EFD0AFF2F53FFFFA8 %06A8FFFFFF5306A8A85906A9FFFFFF7E067EA85A06A8FFFFFF8406AFFFFF %2E59FD04FF0659FFA8067EFFFFFFA90659A884065AFFFFFFA906A8FFFF2F %2FFD04FF2E53FFFF592FA8FD04FF2F2FFD06FF2F2FAF84A82F062F062F06 %2F062F062F062F062F062F2F7EA9FD05FFA9A9FD06FF2F5384A8592FA8FF %FFFF2F53FFFFA82F7EFFFFFF532FFFFFA984AFFFFFFF7E2F59A97E2F53FF %FFFFA92F53A9A8A9FD04FF7E2F84FFFF8484FFFFFFA82F59A87E2F2FFD04 %FF532FFFFF7E06A9FD04FF2F59FD06FF2F59A8A9A8060C062F060C062F06 %0C060D060C2E7EA8FD05FFA87E2F0D28FD06FF53062F060C06A9FFFFFF2F %2EFFFFA80684FFFFFF5306FD08FFA8060D062F0659FD04FF592F060D06A8 %FFFFFF840684FD04FFA8FFFFA8062F060D0653FD04FF2E2FFFFF590684FF %FFFFA82F2FFD05FFA82F062F06532F062F062F062F062F062F0C5AA8FD05 %FFA87E2F2F060D062FFD06FF2F59FFFF7E2FA8FFFFFF2F53FFFFA82F84FF %FFFF532FFFFFA85AA8FFFFFF7E2F84FFFF5353FFFFFFA984A8FFA92F59FF %FFFF7E2F84FFFF7E7EFFFFFFA82F7EFFFF532FFD04FF532FFFFF8406AFFD %04FF2F59FD06FF2F7EFFFFFF060D062F060D062F062F53FD05FFA87E2E2F %0606060D060C2EFD06FF2F2FFFFF8406A9FFFFFF59067E7E5306A9FFFFFF %7E067E845306A8FFFFFF8406A9FFFF2E53FFFFFFA90659A87E067EFFFFFF %A906537E7E0653FFFFFFA806A8FFFF2E2FFD04FF2F0D7DA82F0CA8FD04FF %2F2F847DA8FFFFFF2F2FA87EA82F062F062F062F065AA9FD04FFA8532F06 %0D060D062F2F7EA8FD07FF535AFFFF842FA8FFFFFFA853062F067EFD04FF %A953062F0C5AFD04FF7E2FA8FFFF5959FD04FF7E062F0653A8FD04FF7E06 %2F0653A8FFFFFFA82F7EFFFF5953FD04FFA92F2F062F7DFD05FFFD042F53 %FFFFFFFD052F062F060C060C28A8FD04FF7E53FD05062F5384A8FD17FFA8 %FD09FFA8FD07FFA8FFFFFFA8FD07FFA8FD09FFA8FD13FFA8FFA8FD07FFA8 %FFA9FD05FFA8FFAFFF2F062F062F2FFD04FFAF2F2F060D065359A9FD05FF %AF597EFD65FF062F06062EFD04FF7E0606062F53A8FD04FFA884532F060C %28FD65FF2F062F06A8FFFFFF59060D2F7EA8FD04FFA8532F060D062F062F %FD65FF060C062FFFFFFF59062F59FD04FFA9532F060C0606060D065359FD %06FFA82F532F7EA8FFFFA82F532F7EA9FFA9537EFFFF7E53FFFFA95359A8 %FFFFA82F59A8FFFFFF5353A8FFFFFF7E53A8FFFFFF8459A8FF84537EFFFF %FF53537EFFFFFFA859A8FD04FF7E2F532F59A8FFFFA953532F2F59FFFF84 %2F59FFFF7E532F062F2FFFFFA9067EFD04FF8459060D062F062F2F7E84FD %09FF2E2F5959067EFFFF062F53530684FFFF067EFFFF2F2FFFFFA82F067E %FFFF530606FFFFFFA82F065AFFFFFF7E06FD04FFA806FFFF2F2FFFFFFFA8 %2F065AFFFFFFA906A8FD04FF2F2F5359062FAFFFA82F2F592F84FFFF590D %0684FF7E06060D062F7EFF7EA8FFFFFFA92F0C060D062F2F7EA8FD05FFA8 %FD05FFA80659FFFF7E7EFF7E067EFFFF2F59FFA90D59FFFF5306FFFFA806 %2F28FFA82F282FA8FFFF59065906FFFFFF7D0DA8FFFFFF7E2FA85306FD04 %FF7E065906FFFFFFA82F7EFD04FF2F2FFFFFA806A8FFA806A8FD05FF5906 %2F28FF7D0D2F062F062FFD05FF5A060D062F2F7EA9FD05FF7E5A2E2FFD06 %FF2F2F2E5359FFFFA806A9FD06FF0C2F2F53062FFFFFA82F592FA884067E %0CFFFFFF2F5AA82F7EFFFF7E06FD04FFA8062F06A9FD04FF2E59FF2F7EFF %FFA906A8FD04FF2F59FFFFA82F7EFFA82F2E532F7EFFFF592F7E0D7EA806 %062F06062FFFFFFFA82F0606065984FD04FFA953530606060C2EFD06FFAF %7D7E530653FF7E2FA8FFFFA8A8FFA82F2F59532F28FFFFA906A82E532F53 %7D2FA8FF7E0C7EFF0659FFFF592FA9FFFFFF7E0C2F2F53FFFFFFA80659FF %2853FFFFA80C7EFD04FF2F2FFFFFA90684FFA90659597E84FFFF5A06FF28 %2F590C2F062F06FFFFFFA82F062F59FD05FF7E53062F062F062F0653FD06 %FF0C84FFFF0C59FFA90684FFFF065AFFFF0684FFFF532FFFFFA82F7EA806 %2FA8A806FFFF7E06FD042FFFFF8406FD04FFA806FF7E0D59FFFF7E062F2F %2F06FFFFA906A8FD04FF2F59FFFF7D0D84FFA82F84FD05FF592FFFA9062F %06062F062FFFFFFF2F067EA9FFFFFFA859060D060D062F060D062F2EFD06 %FF2F062F060D7EFFA82F062F060D7EFFA80D59FFFF5306FFFFA9067EFF2F %06FF590DAFFF0653FFFF7E0C7EFF590C062F06A97E06A8FF530659FF062F %A9FF840659FFA80C062F067EFF53062F060D2FFFFFA9062F062F53FFFF5A %06FFFF5306062F062F2EFFFF7E2FFD04FFA82F2F062F062F062F062F062F %0653FD06FFA984597E7EFFFFFFA87E7E7E84FFFFFF7EAFFFFF7E84FFFFA9 %7EA8FF7EA9FFA97EFFFF7EA8FFFFFF7DA9FFA97D7E7E7EA8FF7EFFFFFF7E %84FF7EA8FFFFFF7EA8FFFF7E7E597EA8FFFD057EFFFFFFA9847E7E59A9FF %FFA87EFFFFA87E7E060C060C53FFA8FFFFFFA8590606062F060C062F060C %062F060628FD2BFFA9FD39FF2F062F062FFD04FF7E2F062F062F062F062F %062F062F062F0653FD65FF060D062F7EFFFFFF5306062F060D062F060D06 %2F060D062F060C28FD65FF2F062F2EFFFFFF590D062F062F062F062F062F %062F062F062F062FFD65FF062F062FFFFFA80C062F060C062F060C062F06 %0C062F060C060D2EFD05FFA8FFAFFFA8A9FFFFA8FFA8FFA8FFA8A8A8FFA8 %A8A8FFA8A9FFFFA8A9A8FFA8FFA8FFFFFF84A9FFA984FFFFFFA8A9FFFFA8 %A9FFFF84AFFFAFFFFFA8FFA8A9A8FFA8A9FD04FFA8A9FFFF84FFA8FFFFA9 %A8FFA8FFA8FFFFA8A8FFA8A8A8FFA8A92F062F06A9FF7E062F062F062F06 %2F062F062F062F062F062F0653FD06FF84FF7EFF59A984FF7EAF84AFA8A9 %7EFFA9847EA9A87E7EFF7EFF7E84FFA87EA9FFFF84A87EFF7EA8A9FFFFFF %59FFA9A87EA9A8847EFF7EFFFF84FFA87EFFA88484A8FFFF84847EFF7EA8 %A8FFA8FF7EA9FFA87EA9A8A97EA9FFA87EFFA8847E062F060628FF590606 %2F060C062F060C062F060C062F060C060D2EFD05FFA8A8A884A8847D84A8 %84FF7E7DFF847EA8FF7D7E84AF7E7EA884FFA97EFFA87EA8FFFF84A8A984 %7E7EFFFFFF7E7E7EFF7D7EA8A8597EA87EFFFF7EFF7DA8AFA87EFF7EFFFF %A97E7EA8A8FFFFA8A9A87E84FF7E7E59A97EA9A8FF7E84A8A97E7E2F062F %2E2F2F842E2F062F2E2F062F2E2F062F2E2F062F2E2F0653FD06FF7E84A8 %A9A8A97EFF7EFF847EFFA97EA9A8A8A8A9A8847EFF7EFFA8A8FFFF84FFFF %FFA8847EFF7EFD04FF84FD04A8FFFF84A9FFFF7E84A8A8FF847EFFA97E7E %A9FFFFA8847EFF7E7EA8AFA8FF7EA8FFA9A87EA8AF7E7EA8A87EFFA8A87E %A8FFA8FFA8A9A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD07FF %A8FD0BFFA8FFA8FFA9FFFFFFA8FD0DFFA8FD09FFA8FD09FFA8FFA8FFFFFF %A8FFA8FD05FFA8FFFFFFA8FD05FFA8FFA8FD05FFA9FFA8FFA9FFA8FF %%EndData +%ADOEndClientInjection: DocumentHeader "AI11EPS" +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentFonts: +%%DocumentNeededFonts: +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentCustomColors: +%%CMYKCustomColor: +%%RGBCustomColor: +%%EndComments + + + + + + +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 73 dict dup begin put +/bdf +{bind def}bind def +/nd{null def}bdf +/xdf +{exch def}bdf +/ldf +{load def}bdf +/ddf +{put}bdf +/xddf +{3 -1 roll put}bdf +/xpt +{exch put}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/makereadonlyarray +{ + /packedarray where{pop packedarray + }{ + array astore readonly}ifelse +}bdf +/map_reserved_ink_name +{ + dup type/stringtype eq{ + dup/Red eq{ + pop(_Red_) + }{ + dup/Green eq{ + pop(_Green_) + }{ + dup/Blue eq{ + pop(_Blue_) + }{ + dup()cvn eq{ + pop(Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf + cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark + }if + }{ + AGMUTIL_GSTATE_ht sethalftone + }ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length/AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ]cvx +}bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [5 1 roll]bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen[currentscreen]cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer{readline}stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type/dicttype eq{ + dup/HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup/HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +}def +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + end + AGMCORE_graphicsave restore +}def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox np pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + }if + AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + }{ + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<>setdistillerparams}if + }if + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict/AGM_handleerror known not{ + errordict/AGM_handleerror errordict/handleerror get put + errordict/handleerror{ + Adobe_AGM_Core begin + $error/newerror get AGMCORE_cur_err null ne and{ + $error/newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error/newerror true put + end + errordict/AGM_handleerror get exec + }bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err/AGMCORE_bad_environ def}if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 32 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint ldf + /AGMCORE_gdictcopy{ + begin + {def}forall + end + }def + /AGMCORE_gput{ + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget{ + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave{ + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 32 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3{ + 3 index add neg dup 0 lt{ + pop 0 + }if + 3 1 roll + }repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + {pop}ndf + /currentoverprint + {false}ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + dup dup(None)eq exch(All)eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4{4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf + end + [/Separation 4 -1 roll/DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation(All)/DeviceGray{}]setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4{4 index mul 4 1 roll}repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval{255 div}forall + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get[ + exch{ + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + }forall + ]1 xpt + }if + }ifelse + end + }if + }if + }def + /setcolorspace + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1[8 0 0 8 0 0]{}image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + dup/DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup/DeviceGray ne{ + dup/DeviceCMYK ne{ + dup/DeviceRGB ne{ + dup/Separation eq{ + pop + currentcolorspace 3 gx + currentcolorspace 2 get + }{ + dup/Indexed eq{ + pop + currentcolorspace 3 get dup type/stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err/AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + }def + }ifelse + /sop/setoverprint ldf + /lw/setlinewidth ldf + /lc/setlinecap ldf + /lj/setlinejoin ldf + /ml/setmiterlimit ldf + /dsh/setdash ldf + /sadj/setstrokeadjust ldf + /gry/setgray ldf + /rgb/setrgbcolor ldf + /cmyk[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}def +systemdict/findcolorrendering known{ + /findcolorrendering systemdict/findcolorrendering get def +}if +systemdict/setcolorrendering known{ + /setcolorrendering systemdict/setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup//Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2{AGMCORE_tmp mul NComponents 1 roll}repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + }repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +}def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +}def +/sep_proc_name +{ + dup 0 get + dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ + pop[/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +}def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup/sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx + ]setcolorspace_opt + /TintProc{ + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get/DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc[ + Components aload pop Name findcmykcustomcolor + /exch cvx/setcustomcolor cvx + ]cvx bdf + }{ + AGMCORE_host_sep Name(All)eq and{ + /TintProc{ + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and + AGMCORE_host_sep or + Name()eq and{ + /TintProc[ + MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ + cvx/setcmykcolor cvx + }{ + cvx/setgray cvx + }ifelse + ]cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc[ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get/DeviceGray eq{ + 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx + }if + /Name cvx/findcmykcustomcolor cvx/exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ + pop[/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval{}forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + }bind + }{ + Lookup + }ifelse + }ifelse + ]setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSourcedef + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq{pop/AGMCORE_currentbg load}{/Procedure get_res}ifelse setblackgeneration + dup null eq{pop/AGMCORE_currentucr load}{/Procedure get_res}ifelse setundercolorremoval +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp)flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep)flushinput + }if +}def +/cpaint_gend +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not{ + //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put + }if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd/setpagedevice load def + /setpagedevice{get_gstate spd set_gstate}def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{}def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage/showpage load def} + ifelse + /showpage{orig_showpage gR}def + end + }if +}def +/pscript_showpage_override{ + /NTPSOct95 where + { + begin + showpage + save + /showpage/restore load def + /restore{exch pop}def + end + }if +}def +/driver_media_override +{ + /md where{ + pop + md/initializepage known{ + md/initializepage{}put + }if + md/rC known{ + md/rC{4{pop}repeat}put + }if + }if + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def + /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def + /AGMCORE_invalid_color_space(This job contains an invalid color space. )def +end +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 %%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.31 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} if userdict/Adobe_CoolType_Core 70 dict dup begin put /Adobe_CoolType_Version 2.31 def /Level2? systemdict/languagelevel known dup {pop systemdict/languagelevel get 2 ge} if def Level2? not { /currentglobal false def /setglobal/pop load def /gcheck{pop false}bind def /currentpacking false def /setpacking/pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal currentglobal true setglobal userdict/Adobe_CoolType_GVMFonts known not {userdict/Adobe_CoolType_GVMFonts 10 dict put} if setglobal currentglobal false setglobal userdict/Adobe_CoolType_LVMFonts known not {userdict/Adobe_CoolType_LVMFonts 10 dict put} if setglobal /ct_VMDictPut { dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse 3 1 roll put }bind def /ct_VMDictUndef { dup Adobe_CoolType_GVMFonts exch known {Adobe_CoolType_GVMFonts exch undef} { dup Adobe_CoolType_LVMFonts exch known {Adobe_CoolType_LVMFonts exch undef} {pop} ifelse }ifelse }bind def /ct_str1 1 string def /ct_xshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_yshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 exch rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_xyshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { {_ct_na _ct_i 1 add get}stopped {pop pop pop} { _ct_x _ct_y moveto rmoveto } ifelse } ifelse /_ct_i _ct_i 2 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def /ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def /xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def currentglobal true setglobal /ct_T3Defs { /BuildChar { 1 index/Encoding get exch get 1 index/BuildGlyph get exec }bind def /BuildGlyph { exch begin GlyphProcs exch get exec end }bind def }bind def setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup/args 7 index 5 add array put put get } { get dup/args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args exch put } {pop} ifelse } ifelse begin count 1 sub 1 index lt {pop count} if dup/argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } {pop} ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end }bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt {{pop}repeat} {pop} ifelse args 0 argCount getinterval{}forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt {{end}repeat} {pop} ifelse }bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end }bind def /@Raise { exch cvx exch errordict exch get exec stop }bind def /@ReRaise { cvx $error/errorname get errordict exch get exec stop }bind def /@Stopped { 0 @#Stopped }bind def /@#Stopped { @_SaveStackLevels stopped {@_RestoreStackLevels true} {@_PopStackLevels false} ifelse }bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end }bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put begin count @_SaveStackLevels {(*){pop stop}128 string/Category resourceforall} stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq {pop exit} if } loop } if } { pop end } ifelse } {false} ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark {/steveamerige/Category resourcestatus} stopped {cleartomark true} {cleartomark currentglobal not} ifelse } {false} ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse end }bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad/ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup/CMap CTHasResourceStatusBug {CTResourceStatus} {resourcestatus} ifelse { pop dup 0 eq exch 1 eq or { dup/CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug {exit} {stop} ifelse } ifelse } {pop} ifelse } 128 string/CMap resourceforall } stopped {cleartomark} stopped pop setglobal } if } if }bind def /ds { Adobe_CoolType_Core begin CTWorkAroundBugs /mo/moveto load def /nf/newencodedfont load def /msf{makefont setfont}bind def /uf{dup undefinefont ct_VMDictUndef}bind def /ur/undefineresource load def /chp/charpath load def /awsh/awidthshow load def /wsh/widthshow load def /ash/ashow load def /@xshow/xshow load def /@yshow/yshow load def /@xyshow/xyshow load def /@cshow/cshow load def /sh/show load def /rp/repeat load def /.n/.notdef def end currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal }bind def /dt { currentdict Adobe_CoolType_Core eq {end} if }bind def /ps { Adobe_CoolType_Core begin Adobe_CoolType_GVMFonts begin Adobe_CoolType_LVMFonts begin SharedFontDirectory begin }bind def /pt { end end end end }bind def /unload { systemdict/languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known {undef} {pop pop} ifelse } if } if }bind def /ndf { 1 index where {pop pop pop} {dup xcheck{bind}if def} ifelse }def /findfont systemdict begin userdict begin /globaldict where{/globaldict get begin}if dup where pop exch get /globaldict where{pop end}if end end Adobe_CoolType_Core_Defined {/systemfindfont exch def} { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont {pop}ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{dup length}ifelse 2 index length add 1 add dict begin exch { 1 index/FID eq {pop pop} {def} ifelse } forall dup null eq {pop} {{def}forall} ifelse currentdict end exch setglobal }bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal }bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } { FontDirectory 3 index known {FontDirectory 3 index get/FontReferenced known} { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } ifelse } ifelse dup { 3 index findfont/FontReferenced get 2 index dup type/nametype eq {findfont} if ne {pop false} if } if dup { 1 index dup type/nametype eq {findfont} if dup/CharStrings known { /CharStrings get length 4 index findfont/CharStrings get length ne { pop false } if } {pop} ifelse } if { pop 1 index findfont /Encoding get exch 0 1 255 {2 copy get 3 index 3 1 roll put} for pop pop pop } { currentglobal 4 1 roll dup type/nametype eq {findfont} if dup gcheck setglobal dup dup maxlength 2 add dict begin exch { 1 index/FID ne 2 index/Encoding ne and {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type/stringtype eq{cvn}if def dup currentdict end definefont ct_VMDictPut setglobal } ifelse }bind def /SetSubstituteStrategy { $SubstituteFont begin dup type/dicttype ne {0 dict} if currentdict/$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin {def}forall {def}forall currentdict dup/$Init known {dup/$Init get exec} if end /$Strategy exch def } {pop pop pop} ifelse } {pop pop} ifelse end }bind def /scff { $SubstituteFont begin dup type/stringtype eq {dup length exch} {null} ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } {$sname} ifelse def end {findfont} @Stopped { dup length 8 add string exch 1 index 0(BadFont:)putinterval 1 index exch 8 exch dup length string cvs putinterval cvn {findfont} @Stopped {pop/Courier findfont} if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end }bind def /isWidthsOnlyFont { dup/WidthsOnly known {pop pop true} { dup/FDepVector known {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} { dup/FDArray known {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} {pop} ifelse } ifelse } ifelse }bind def /ct_StyleDicts 4 dict dup begin /Adobe-Japan1 4 dict dup begin Level2? { /Serif /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMin-W3} { /CIDFont/Category resourcestatus { pop pop /HeiseiMin-W3/CIDFont resourcestatus {pop pop/HeiseiMin-W3} {/Ryumin-Light} ifelse } {/Ryumin-Light} ifelse } ifelse def /SansSerif /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiKakuGo-W5} { /CIDFont/Category resourcestatus { pop pop /HeiseiKakuGo-W5/CIDFont resourcestatus {pop pop/HeiseiKakuGo-W5} {/GothicBBB-Medium} ifelse } {/GothicBBB-Medium} ifelse } ifelse def /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMaruGo-W4} { /CIDFont/Category resourcestatus { pop pop /HeiseiMaruGo-W4/CIDFont resourcestatus {pop pop/HeiseiMaruGo-W4} { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } ifelse /RoundSansSerif exch def /Default Serif def } { /Serif/Ryumin-Light def /SansSerif/GothicBBB-Medium def { (fonts/Jun101-Light-83pv-RKSJ-H)status }stopped {pop}{ {pop pop pop pop/Jun101-Light} {SansSerif} ifelse /RoundSansSerif exch def }ifelse /Default Serif def } ifelse end def /Adobe-Korea1 4 dict dup begin /Serif/HYSMyeongJo-Medium def /SansSerif/HYGoThic-Medium def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-GB1 4 dict dup begin /Serif/STSong-Light def /SansSerif/STHeiti-Regular def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-CNS1 4 dict dup begin /Serif/MKai-Medium def /SansSerif/MHei-Medium def /RoundSansSerif SansSerif def /Default Serif def end def end def Level2?{currentglobal true setglobal}if /ct_BoldRomanWidthProc { stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth 0 0 }bind def /ct_Type0WidthProc { dup stringwidth 0 0 moveto 2 index true charpath pathbbox 0 -1 7 index 2 div .88 setcachedevice2 pop 0 0 }bind def /ct_Type0WMode1WidthProc { dup stringwidth pop 2 div neg -0.88 2 copy moveto 0 -1 5 -1 roll true charpath pathbbox setcachedevice }bind def /cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_BoldBaseFont 11 dict begin /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding cHexEncoding def /_setwidthProc/ct_BoldRomanWidthProc load def /_bcstr1 1 string def /BuildChar { exch begin _basefont setfont _bcstr1 dup 0 4 -1 roll put dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def systemdict/composefont known { /ct_DefineIdentity-H { /Identity-H/CMap resourcestatus { pop pop } { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse } def /ct_BoldBaseCIDFont 11 dict begin /CIDFontType 1 def /CIDFontName/ct_BoldBaseCIDFont def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /_setwidthProc/ct_Type0WidthProc load def /_bcstr2 2 string def /BuildGlyph { exch begin _basefont setfont _bcstr2 1 2 index 256 mod put _bcstr2 0 3 -1 roll 256 idiv put _bcstr2 dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def }if Level2?{setglobal}if /ct_CopyFont{ { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall }bind def /ct_Type0CopyFont { exch dup length dict begin ct_CopyFont [ exch FDepVector { dup/FontType get 0 eq { 1 index ct_Type0CopyFont /_ctType0 exch definefont } { /_ctBaseFont exch 2 index exec } ifelse exch } forall pop ] /FDepVector exch def currentdict end }bind def /ct_MakeBoldFont { dup/ct_SyntheticBold known { dup length 3 add dict begin ct_CopyFont /ct_StrokeWidth .03 0 FontMatrix idtransform pop def /ct_SyntheticBold true def currentdict end definefont } { dup dup length 3 add dict begin ct_CopyFont /PaintType 2 def /StrokeWidth .03 0 FontMatrix idtransform pop def /dummybold currentdict end definefont dup/FontType get dup 9 ge exch 11 le and { ct_BoldBaseCIDFont dup length 3 add dict copy begin dup/CIDSystemInfo get/CIDSystemInfo exch def ct_DefineIdentity-H /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefont exch def /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefonto exch def currentdict end /CIDFont defineresource } { ct_BoldBaseFont dup length 3 add dict copy begin /_basefont exch def /_basefonto exch def currentdict end definefont } ifelse } ifelse }bind def /ct_MakeBold{ 1 index 1 index findfont currentglobal 5 1 roll dup gcheck setglobal dup /FontType get 0 eq { dup/WMode known{dup/WMode get 1 eq}{false}ifelse version length 4 ge and {version 0 4 getinterval cvi 2015 ge} {true} ifelse {/ct_Type0WidthProc} {/ct_Type0WMode1WidthProc} ifelse ct_BoldBaseFont/_setwidthProc 3 -1 roll load put {ct_MakeBoldFont}ct_Type0CopyFont definefont } { dup/_fauxfont known not 1 index/SubstMaster known not and { ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put ct_MakeBoldFont } { 2 index 2 index eq {exch pop } { dup length dict begin ct_CopyFont currentdict end definefont } ifelse } ifelse } ifelse pop pop pop setglobal }bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 1 index def /$doSmartSub false def end dup findfont $SubstituteFont begin $substituteFound {false} { dup/FontName known { dup/FontName get $fontname eq 1 index/DistillerFauxFont known not and /currentdistillerparams where {pop false 2 index isWidthsOnlyFont not and} if } {false} ifelse } ifelse exch pop /$doSmartSub true def end { 5 1 roll pop pop pop pop findfont } { 1 index findfont dup/FontType get 3 eq { 6 1 roll pop pop pop pop pop false } {pop true} ifelse { $SubstituteFont begin pop pop /$styleArray 1 index def /$regOrdering 2 index def pop pop 0 1 $styleArray length 1 sub { $styleArray exch get ct_StyleDicts $regOrdering 2 copy known { get exch 2 copy known not {pop/Default} if get dup type/nametype eq { ?str1 cvs length dup 1 add exch ?str1 exch(-)putinterval exch dup length exch ?str1 exch 3 index exch putinterval add ?str1 exch 0 exch getinterval cvn } { pop pop/Unknown } ifelse } { pop pop pop pop/Unknown } ifelse } for end findfont }if } ifelse currentglobal false setglobal 3 1 roll null copyfont definefont pop setglobal }bind def setpacking userdict/$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known {get} {pop pop{pop/Courier}bind} ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known {get/Error eq} {pop pop false} ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup/WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type/stringtype eq{cvn}if def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def /FontBBox[0 0 0 0]def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end }bind def currentdict end exch setglobal }bind def /$GetaTint 2 dict dup begin /$BuildFont { dup/WMode known {dup/WMode get} {0} ifelse /$WMode exch def $fontname exch dup/FontName known { dup/FontName get dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse exch Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index/FontName get known { pop Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index get null copyfont } {$deepcopyfont} ifelse exch 1 index exch/FontBasedOn exch put dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont Adobe_CoolType_Data/InVMDeepCopiedFonts get begin dup/FontBasedOn get 1 index def end }bind def /$Underprint { gsave x abs y abs gt {/y 1000 def} {/x -1000 def 500 120 translate} ifelse Level2? { [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] setcolorspace } {0 setgray} ifelse 10 setlinewidth x .8 mul [7 3] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? {.2 setcolor} {.8 setgray} ifelse fill grestore stroke } forall pop grestore }bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict/FontName known { FontName dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse def /FontName $fontname dup type/stringtype eq{cvn}if def /currentdistillerparams where {pop} { /FontInfo currentdict/FontInfo known {FontInfo null copyfont} {2 dict} ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [1 0 ItalicAngle dup sin exch cos div 1 0 0] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal }bind def end def /$None 1 dict dup begin /$BuildFont{}bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type/stringtype eq{cvn}if dup/$fontname exch def $sname null eq {$str cvs dup length $slen sub $slen getinterval} {pop $sname} ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval /$match false def $SubstituteFont/$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval {/$match exch def exit} $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont/$dstack get { exch { 1 index eq {pop false} {true} ifelse } {begin false} ifelse } forall pop } if cleartomark /$slen 0 def $match false ne {$match(fonts/)anchorsearch pop pop cvn} {/Courier} ifelse }bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [/Ryumin-Light/HeiseiMin-W3 /GothicBBB-Medium/HeiseiKakuGo-W5 /HeiseiMaruGo-W4/Jun101-Light]def /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def /GB1 [/STSong-Light/STHeiti-Regular]def /CNS1 [/MKai-Medium/MHei-Medium]def end def end def /$cmapname null def /$deepcopyfont { dup/FontType get 0 eq { 1 dict dup/FontName/copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup/FontName/copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } {$Strategies/$Type3Underprint get exec} ifelse }bind def /$buildfontname { dup/CIDFont findresource/CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index(-)putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy(-)putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch {pop pop 3 2 roll putinterval cvn/$cmapname exch def} {pop pop pop pop pop} ifelse length $str 1 index(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn }bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known {get} {pop pop[]} ifelse } {pop pop[]} ifelse false exch { dup/CIDFont resourcestatus { pop pop save 1 index/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get} {false} ifelse exch pop exch restore {pop} {exch pop true exit} ifelse } {pop} ifelse } forall {$str cvs $buildfontname} { false(*) { save exch dup/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get not} {true} ifelse exch/CIDSystemInfo get dup/Registry get Registry eq exch/Ordering get Ordering eq and and {exch restore exch pop true exit} {pop restore} ifelse } $str/CIDFont resourceforall {$buildfontname} {$fontname $findfontByEnum} ifelse } ifelse }bind def end end currentdict/$error known currentdict/languagelevel known and dup {pop $error/SubstituteFont known} if dup {$error} {Adobe_CoolType_Core} ifelse begin { /SubstituteFont /CMap/Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq {dup $str cvs dup length $slen sub $slen getinterval cvn} {$sname} ifelse Adobe_CoolType_Data/InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } { FontDirectory 1 index known {exch pop true exit} { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } ifelse } ifelse } forall } {pop pop false} ifelse { exch pop exch pop } { dup/CMap resourcestatus { pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS } { 128 string cvs dup(-)search { 3 1 roll search { 3 1 roll pop {dup cvi} stopped {pop pop pop pop pop $findfontByEnum} { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus { pop pop 4 1 roll pop pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS true exit } {pop} ifelse } for dup type/booleantype eq {pop} {pop pop pop $findfontByEnum} ifelse } ifelse } {pop pop pop $findfontByEnum} ifelse } {pop pop $findfontByEnum} ifelse } ifelse } ifelse } {//SubstituteFont exec} ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and {$findfontByEnum} {//SubstituteFont exec} ifelse end } } ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup/FontName known {dup/FontName get dup 3 index ne} {/noname true} ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def/$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin {1 index/FID eq{pop pop}{def}ifelse} forall currentdict end definefont dup/FontName known{dup/FontName get}{null}ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using )print dup/FontName known {dup/FontName get}{(unspecified font)} ifelse $str cvs print(.\n)print } if } {exch pop} ifelse } {exch pop} ifelse end }bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core/findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type/stringtype ne{$str cvs}if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne {dup $inVMIndex $AddInVMFont} if $doSmartSub { currentdict/$Strategy known {$Strategy/$BuildFont get exec} if } if } if end }bind put } if } if end /$AddInVMFont { exch/FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data/InVMFontsByCMap get exch $DictAdd } {pop pop pop} ifelse }bind def /$DictAdd { 2 copy known not {2 copy 4 index length dict put} if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get{forall}def 2 copy currentdict put end } {pop} ifelse } if get begin {def} forall end }bind def end end %%EndResource currentglobal true setglobal %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. %%Version: 1.23 0 systemdict/languagelevel known dup {currentglobal false setglobal} {false} ifelse exch userdict/Adobe_CoolType_Utility 2 copy known {2 copy get dup maxlength 27 add dict copy} {27 dict} ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch/eCCRun known not ct_Level2? and or def ct_Level2? {globaldict begin currentglobal true setglobal} if /ct_AddStdCIDMap ct_Level2? {{ mark Adobe_CoolType_Utility/@recognizeCIDFont currentdict put { ((Hex)57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility/@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq {1 index length exch sub 1 sub{end}repeat exit} {pop} ifelse } for pop pop Adobe_CoolType_Utility/@eexecStartData get eexec } {cleartomark} ifelse }} {{ Adobe_CoolType_Utility/@eexecStartData get eexec }} ifelse bind def userdict/cid_extensions known dup{cid_extensions/cid_UpdateDB known and}if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type/stringtype eq {exch cvn exch} if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq {pop pop cid_UpdateDB} { exch 1 index/Created get eq {exch pop exch pop} {pop cid_UpdateDB} ifelse } ifelse } {pop cid_UpdateDB} ifelse } {cid_UpdateDB} ifelse end }bind def end } if ct_Level2? {end setglobal} if /ct_UseNativeCapability? systemdict/composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring()def /usewidths? true def end def ct_Level2?{setglobal}{pop}ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict/languagelevel known {pop/CIDFont findresource/GlyphDirectory get} { 1 index/CIDFont findresource/GlyphDirectory get dup type/dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + }def /+ { systemdict/languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } {1 dict begin} ifelse /$ exch def systemdict/languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ?{$ begin}if }def /?{$ type/dicttype eq}def /|{ userdict/Adobe_CoolType_Data known { Adobe_CoolType_Data/AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont/Widths get exch CC exch put } {?{def}{$ 3 1 roll put}ifelse} ifelse end end } {?{def}{$ 3 1 roll put}ifelse} ifelse } {?{def}{$ 3 1 roll put}ifelse} ifelse }def /! { ?{end}if systemdict/languagelevel known {gvm setglobal} if end }def /:{string currentfile exch readstring pop}executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx[.001 0 0 .001 0 0]def /ct_1000Mtx[1000 0 0 1000 0 0]def /ct_raise{exch cvx exch errordict exch get exec stop}bind def /ct_reraise {cvx $error/errorname get(Error: )print dup( )cvs print errordict exch get exec stop }bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop }bind def /ct_GetInterval { Adobe_CoolType_Utility/ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt {dup string/dst_string exch def} if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add/dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add/dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt {arrayIndex get} { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end }bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal {/unknowninstancename/Category resourcestatus} stopped {cleartomark setglobal true} {cleartomark currentglobal not exch setglobal} ifelse { { mark 3 1 roll/Category findresource begin ct_Vars/vm currentglobal put ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse ct_Vars/vm get setglobal end } } {{resourcestatus}} ifelse bind def /CIDFont/Category ct_resourcestatus {pop pop} { currentglobal true setglobal /Generic/Category findresource dup length dict copy dup/InstanceType/dicttype put /CIDFont exch/Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } {pop pop/defineresource/undefined ct_raise} ifelse }bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known {get 3 1 roll pop pop} {pop pop/findresource/undefinedresource ct_raise} ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /ct_resourcestatus/resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup(Binary)eq { pop null currentfile ct_Level2? { {cid_BYTE_COUNT()/SubFileDecode filter} stopped {pop pop pop} if } if /readstring load exit } if dup(Hex)eq { pop currentfile ct_Level2? { {null exch/ASCIIHexDecode filter/readstring} stopped {pop exch pop(>)exch/readhexstring} if } {(>)exch/readhexstring} ifelse load exit } if /StartData/typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch/GlyphData exch put 2 index null eq { pop pop pop } { pop/readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse }bind def /StartData { mark { currentdict dup/FDArray get 0 get/FontMatrix get 0 get 0.001 eq { dup/CDevProc known not { /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known {get} { pop pop {pop pop pop pop pop 0 -1000 7 index 2 div 880} } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp/cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul }def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup/SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup/SubrMapOffset undef dup/SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } {pop} ifelse } forall } if cleartomark pop pop end CIDFontName currentdict/CIDFont defineresource pop end end } stopped {cleartomark/StartData ct_reraise} if }bind def currentdict end def /ct_saveCIDInit { /CIDInit/ProcSet ct_resourcestatus {true} {/CIDInitC/ProcSet ct_resourcestatus} ifelse { pop pop /CIDInit/ProcSet findresource ct_UseNativeCapability? {pop null} {/CIDInit ct_CIDInit/ProcSet defineresource pop} ifelse } {/CIDInit ct_CIDInit/ProcSet defineresource pop null} ifelse ct_Vars exch/ct_oldCIDInit exch put }bind def /ct_restoreCIDInit { ct_Vars/ct_oldCIDInit get dup null ne {/CIDInit exch/ProcSet defineresource pop} {pop} ifelse }bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge {pop 0} if /cid exch def { GlyphDirectory cid 2 copy known {get} {pop pop nullstring} ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne {0 FDBytes ct_cvnsi} {pop 0} ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq {/charstring nullstring def exit} if /cid 0 def } ifelse } loop }def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto }def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont/Widths get cid 2 copy known {get exch pop aload pop} {pop pop stringwidth} ifelse } {stringwidth} ifelse setcharwidth 0 0 moveto } ifelse }def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known {get} { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known {get} {pop pop ct_defaultFontMtx} ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont/Widths get def /CharStrings 1 dict dup/.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put rootfont/WMode 2 copy known {get} {pop pop 0} ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } {ct_str1 show} ifelse }def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not {ct_1000Mtx matrix concatmatrix concat} {pop} ifelse /Private get Adobe_CoolType_Utility/ct_Level2? get not { ct_dfDict/Private 3 -1 roll {put} 1183615869 internaldict/superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility/ct_Level2? get {1 index} {3 index/Private get mark 6 1 roll} ifelse dup/RunInt known {/RunInt get} {pop/CCRun} ifelse get exec Adobe_CoolType_Utility/ct_Level2? get not {cleartomark} if }bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility/ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped {stop} if end end end end }bind def /BaseFontNameStr(BF00)def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /BuildChar/ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString/ct_Type3ShowCharString load def /ct_dfSetCacheProc/ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup/lenIV 4 put def /CharStrings 1 dict dup/.notdefput def /PaintType 0 def /ct_ShowCharString/ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not {exit} if } for exch pop exch pop }bind def /ct_makeocf { 15 dict begin exch/WMode exch def exch/FontName exch def /FontType 0 def /FMapType 2 def dup/FontMatrix known {dup/FontMatrix get/FontMatrix exch def} {/FontMatrix matrix def} ifelse /bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if def /Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{2 copy bfCount put pop}for def /FDepVector bfCount dup 256 lt{1 add}if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont/FontBBox known {CIDFont/FontBBox get/FontBBox exch def} if CIDFont/CDevProc known {CIDFont/CDevProc get/CDevProc exch def} if currentdict end BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul def FontType 3 eq {/ct_FDDict 2 dict def} if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont/Widths get begin exch/CIDFont get/GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } {exch pop} ifelse }bind def currentglobal true setglobal /ct_ComposeFont { ct_UseNativeCapability? { 2 index/CMap ct_resourcestatus {pop pop exch pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch/WMode exch def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search { dup length string copy exch pop exch pop } {pop(Identity)} ifelse } {pop (Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def setglobal /ct_MakeIdentity { ct_UseNativeCapability? { 1 index/CMap ct_resourcestatus {pop pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search {dup length string copy exch pop exch pop} {pop(Identity)} ifelse } {pop(Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { exch pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def currentdict readonly pop end end %%EndResource setglobal %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict/ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge }bind def /AllocGlyphStorage { Is2015? { pop } { {string}forall }ifelse }bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix[1 0 0 1 0 0]def 4 array astore cvx/FontBBox exch def /sfnts }bind def /Type42DictEnd { currentdict dup/FontName get exch definefont end ct_T42Dict exch dup/FontName get exch put }bind def /RD{string currentfile exch readstring pop}executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop }ifelse }bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop }ifelse }bind def /T0AddT42Mtx2 { /CIDFont findresource/Metrics2 get begin def end }bind def end %%EndResource currentglobal true setglobal %%BeginFile: MMFauxFont.prc %%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. %%All Rights Reserved. userdict /ct_EuroDict 10 dict put ct_EuroDict begin /ct_CopyFont { { 1 index /FID ne {def} {pop pop} ifelse} forall } def /ct_GetGlyphOutline { gsave initmatrix newpath exch findfont dup length 1 add dict begin ct_CopyFont /Encoding Encoding dup length array copy dup 4 -1 roll 0 exch put def currentdict end /ct_EuroFont exch definefont 1000 scalefont setfont 0 0 moveto [ <00> stringwidth <00> false charpath pathbbox [ {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall grestore counttomark 8 add } def /ct_MakeGlyphProc { ] cvx /ct_PSBuildGlyph cvx ] cvx } def /ct_PSBuildGlyph { gsave 8 -1 roll pop 7 1 roll 6 -2 roll ct_FontMatrix transform 6 2 roll 4 -2 roll ct_FontMatrix transform 4 2 roll ct_FontMatrix transform currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse dup 9 1 roll { currentdict /StrokeWidth 2 copy known { get 2 div 0 ct_FontMatrix dtransform pop 5 1 roll 4 -1 roll 4 index sub 4 1 roll 3 -1 roll 4 index sub 3 1 roll exch 4 index add exch 4 index add 5 -1 roll pop } { pop pop } ifelse } if setcachedevice ct_FontMatrix concat ct_PSPathOps begin exec end { currentdict /StrokeWidth 2 copy known { get } { pop pop 0 } ifelse setlinewidth stroke } { fill } ifelse grestore } def /ct_PSPathOps 4 dict dup begin /m {moveto} def /l {lineto} def /c {curveto} def /cp {closepath} def end def /ct_matrix1000 [1000 0 0 1000 0 0] def /ct_AddGlyphProc { 2 index findfont dup length 4 add dict begin ct_CopyFont /CharStrings CharStrings dup length 1 add dict copy begin 3 1 roll def currentdict end def /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def /ct_PSBuildGlyph /ct_PSBuildGlyph load def /ct_PSPathOps /ct_PSPathOps load def currentdict end definefont pop } def systemdict /languagelevel known { /ct_AddGlyphToPrinterFont { 2 copy ct_GetGlyphOutline 3 add -1 roll restore ct_MakeGlyphProc ct_AddGlyphProc } def } { /ct_AddGlyphToPrinterFont { pop pop restore Adobe_CTFauxDict /$$$FONTNAME get /Euro Adobe_CTFauxDict /$$$SUBSTITUTEBASE get ct_EuroDict exch get ct_AddGlyphProc } def } ifelse /AdobeSansMM { 556 0 24 -19 541 703 { 541 628 m 510 669 442 703 354 703 c 201 703 117 607 101 444 c 50 444 l 25 372 l 97 372 l 97 301 l 49 301 l 24 229 l 103 229 l 124 67 209 -19 350 -19 c 435 -19 501 25 509 32 c 509 131 l 492 105 417 60 343 60 c 267 60 204 127 197 229 c 406 229 l 430 301 l 191 301 l 191 372 l 455 372 l 479 444 l 194 444 l 201 531 245 624 348 624 c 433 624 484 583 509 534 c cp 556 0 m } ct_PSBuildGlyph } def /AdobeSerifMM { 500 0 10 -12 484 692 { 347 298 m 171 298 l 170 310 170 322 170 335 c 170 362 l 362 362 l 374 403 l 172 403 l 184 580 244 642 308 642 c 380 642 434 574 457 457 c 481 462 l 474 691 l 449 691 l 433 670 429 657 410 657 c 394 657 360 692 299 692 c 204 692 94 604 73 403 c 22 403 l 10 362 l 70 362 l 69 352 69 341 69 330 c 69 319 69 308 70 298 c 22 298 l 10 257 l 73 257 l 97 57 216 -12 295 -12 c 364 -12 427 25 484 123 c 458 142 l 425 101 384 37 316 37 c 256 37 189 84 173 257 c 335 257 l cp 500 0 m } ct_PSBuildGlyph } def end %%EndFile setglobal Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 dict dup begin put +/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf()def +/AGMIMG_ybuf()def +/AGMIMG_kbuf()def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage/colorimage ldf + }if + end + end +}def +/ps +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists{/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode[Decode 1 get Decode 0 get]def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode[1 1]def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub}currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + {pop 1}currenttransfer addprocs settransfer + }def + }ifelse + /img/imageormask ldf + /sepimg/sep_imageormask ldf + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix/DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ + [/Separation/Black/DeviceGray{}]setcolorspace + /Decode[Decode 1 get Decode 0 get]def + }if + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator/colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + DataSource 0 get/exec cvx + DataSource 1 get/exec cvx + DataSource 2 get/exec cvx + DataSource 3 get/exec cvx + /AGMCORE_get_ink_data cvx + ]cvx + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0()/SubFileDecode filter def + }ifelse + /Decode[Decode 0 get Decode 1 get]def + /MultipleDataSources false def + /NComponents 1 def + /Operator/image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get/DeviceCMYK eq and + currentdict/Components known and + Name()ne and + Name(All)ne and + Operator/image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load/exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + }/exec cvx + ]cvx bind + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator/imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator/imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ]/DeviceCMYK{}]setcolorspace + AGMIMG_c 0 ne{AGMIMG_c}if + AGMIMG_m 0 ne{AGMIMG_m}if + AGMIMG_y 0 ne{AGMIMG_y}if + AGMIMG_k 0 ne{AGMIMG_k}if + setcolor + }{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + [/Indexed + [ + /DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ] + /DeviceCMYK{ + AGMIMG_k 0 eq{0}if + AGMIMG_y 0 eq{0 exch}if + AGMIMG_m 0 eq{0 3 1 roll}if + AGMIMG_c 0 eq{0 4 1 roll}if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ]setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation/Black/DeviceGray{}]setcolorspace + gsave + /Black + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Yellow/DeviceGray{}]setcolorspace + gsave + /Yellow + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Magenta/DeviceGray{}]setcolorspace + gsave + /Magenta + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Cyan/DeviceGray{}]setcolorspace + gsave + /Cyan + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +}def +/indexed_imageormask +{ + begin + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type/dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode[0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc{false}cdndf + /Decode[ + 0 + currentcolorspace 0 get/Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ]cdndf + /Operator/image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type/dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode[/customcolor_tint AGMCORE_gget 0]def + /Operator/image def + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + }if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage + end + }def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + }currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get/DeviceGray eq{ + {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceGray eq{ + {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict/setpacking known +{setpacking}if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec Adobe_AGM_Image/ds gx +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: (Page 1) 1 +%%EndPageComments +%%BeginPageSetup +%ADOBeginClientInjection: PageSetup Start "AI11EPS" +%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 +%ADOEndClientInjection: PageSetup Start "AI11EPS" +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec Adobe_AGM_Image/ps gx +%ADOBeginClientInjection: PageSetup End "AI11EPS" +/currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 + + + + + + HSSM Logo 2015 Ausw 2 + + + + + + + + + + + + Cyan + Magenta + Yellow + Black + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 +%ADOEndClientInjection: PageSetup End "AI11EPS" +%%EndPageSetup +1 -1 scale 0 -150.668 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +0 0 mo +0 150.668 li +714.463 150.668 li +714.463 0 li +cp +clp +[1 0 0 1 0 0 ]ct +35.3203 140.146 mo +35.3203 143.654 36.4268 147.096 38.5156 150.479 cv +149.506 150.479 li +149.506 76.2935 li +79.1357 93.5801 35.3203 117.49 35.3203 140.146 cv +cp +false sop +/0 +[/DeviceCMYK] /CSA add_res +0.9 0.6 0.1 0.3 cmyk +f +35.332 78.1821 mo +57.7588 62.0308 96.8398 45.8813 149.506 33.4243 cv +149.506 14.5259 li +79.3369 31.771 35.5762 55.5991 35.332 78.1821 cv +cp +f +21.9844 128.762 mo +21.9844 123.455 24.8154 118.293 30.1426 113.314 cv +24.8125 108.342 21.9844 103.172 21.9844 97.8691 cv +21.9844 92.5664 24.8184 87.397 30.1426 82.4224 cv +24.8125 77.4448 21.9844 72.2798 21.9844 66.978 cv +21.9844 44.4243 71.376 19.2378 149.506 1.75049 cv +149.506 0.973145 li +0 0.973145 li +0 150.479 li +38.3418 150.479 li +27.7383 143.625 21.9844 136.328 21.9844 128.762 cv +cp +f +35.332 109.07 mo +57.7578 92.9199 96.8389 76.771 149.506 64.314 cv +149.506 45.4194 li +79.3418 62.6626 35.583 86.4888 35.332 109.07 cv +cp +f +38.627 150.668 mo +38.5879 150.605 38.5547 150.543 38.5156 150.479 cv +38.3418 150.479 li +38.4385 150.543 38.5293 150.605 38.627 150.668 cv +cp +0 0 0 0 cmyk +f +149.506 45.4194 mo +149.506 33.4243 li +96.8398 45.8813 57.7588 62.0308 35.332 78.1821 cv +35.5762 55.5991 79.3369 31.771 149.506 14.5259 cv +149.506 1.75049 li +71.376 19.2378 21.9844 44.4243 21.9844 66.978 cv +21.9844 72.2798 24.8125 77.4448 30.1426 82.4224 cv +24.8184 87.397 21.9844 92.5664 21.9844 97.8691 cv +21.9844 103.172 24.8125 108.342 30.1426 113.314 cv +24.8154 118.293 21.9844 123.455 21.9844 128.762 cv +21.9844 136.328 27.7383 143.625 38.3418 150.479 cv +38.5156 150.479 li +36.4268 147.096 35.3203 143.654 35.3203 140.146 cv +35.3203 117.49 79.1357 93.5801 149.506 76.2935 cv +149.506 64.314 li +96.8389 76.771 57.7578 92.9199 35.332 109.07 cv +35.583 86.4888 79.3418 62.6626 149.506 45.4194 cv +cp +f +218.204 38.333 mo +210.903 38.333 li +210.903 22.1074 li +193.207 22.1074 li +193.207 38.333 li +185.905 38.333 li +185.905 0.304199 li +193.207 0.304199 li +193.207 15.8706 li +210.903 15.8706 li +210.903 0.304199 li +218.204 0.304199 li +218.204 38.333 li +cp +0.9 0.6 0.1 0.3 cmyk +f +249.231 13.8931 mo +249.231 24.1357 li +249.231 31.6904 250.702 32.4004 258.003 32.4004 cv +264.646 32.4004 266.928 31.4878 266.928 24.1357 cv +266.928 13.8931 li +267.08 6.74365 264.494 6.23682 258.003 6.23682 cv +250.145 6.23682 249.384 7.85938 249.231 13.8931 cv +cp +274.229 13.8931 mo +274.229 24.1357 li +274.229 36.3047 269.514 38.6372 258.003 38.6372 cv +246.24 38.6372 241.93 36.6089 241.93 24.1357 cv +241.93 13.8931 li +241.93 2.0791 245.936 0 258.003 0 cv +268.956 0 274.229 1.67334 274.229 13.8931 cv +cp +f +322.547 13.0313 mo +322.547 10.9521 li +322.547 6.54102 320.823 6.23682 314.434 6.23682 cv +307.082 6.23682 305.814 7.45361 305.814 14.9072 cv +305.814 23.3242 li +305.865 30.9302 306.778 32.4004 314.434 32.4004 cv +320.316 32.4004 322.953 32.1978 322.953 26.7725 cv +322.953 24.6934 li +330.254 24.6934 li +330.254 27.1777 li +330.406 38.6372 323.865 38.2314 314.434 38.6372 cv +301.048 39.1445 298.665 34.7329 298.513 23.6284 cv +298.513 14.9072 li +298.513 2.73828 303.229 0 314.434 0 cv +323.916 0 329.341 0.0507813 329.849 10.9521 cv +329.849 13.0313 li +322.547 13.0313 li +cp +f +388.438 38.333 mo +381.137 38.333 li +381.137 22.1074 li +363.442 22.1074 li +363.442 38.333 li +356.14 38.333 li +356.14 0.304199 li +363.442 0.304199 li +363.442 15.8706 li +381.137 15.8706 li +381.137 0.304199 li +388.438 0.304199 li +388.438 38.333 li +cp +f +420.176 26.2144 mo +420.176 27.9893 li +420.176 32.3496 422.051 32.6543 428.795 32.6543 cv +435.438 32.6543 436.35 31.437 436.35 27.0259 cv +436.35 21.6006 433.461 22.3101 427.782 22.0059 cv +419.567 21.499 413.077 21.8032 413.077 10.7495 cv +413.077 0.304199 419.668 0 428.795 0 cv +436.553 0 442.891 0.253418 442.891 10.2427 cv +442.891 11.4595 li +435.59 11.4595 li +435.59 10.2427 li +435.59 6.13525 433.917 5.9834 428.795 5.9834 cv +421.545 5.9834 420.379 6.69336 420.379 10.7495 cv +420.379 15.4146 421.342 15.5664 428.745 16.0229 cv +440.458 16.7329 443.653 17.3413 443.653 27.0259 cv +443.653 37.7246 438.583 38.6372 428.795 38.6372 cv +420.379 38.6372 412.874 38.8906 412.874 27.9893 cv +412.874 26.2144 li +420.176 26.2144 li +cp +f +491.979 13.0313 mo +491.979 10.9521 li +491.979 6.54102 490.254 6.23682 483.866 6.23682 cv +476.514 6.23682 475.247 7.45361 475.247 14.9072 cv +475.247 23.3242 li +475.297 30.9302 476.209 32.4004 483.866 32.4004 cv +489.749 32.4004 492.383 32.1978 492.383 26.7725 cv +492.383 24.6934 li +499.686 24.6934 li +499.686 27.1777 li +499.838 38.6372 493.297 38.2314 483.866 38.6372 cv +470.479 39.1445 468.096 34.7329 467.944 23.6284 cv +467.944 14.9072 li +467.944 2.73828 472.661 0 483.866 0 cv +493.348 0 498.774 0.0507813 499.28 10.9521 cv +499.28 13.0313 li +491.979 13.0313 li +cp +f +556.37 38.333 mo +549.069 38.333 li +549.069 22.1074 li +531.374 22.1074 li +531.374 38.333 li +524.071 38.333 li +524.071 0.304199 li +531.374 0.304199 li +531.374 15.8706 li +549.069 15.8706 li +549.069 0.304199 li +556.37 0.304199 li +556.37 38.333 li +cp +f +614.018 0.304199 mo +614.018 27.3301 li +614.018 37.9272 607.375 38.6372 598.147 38.6372 cv +589.223 38.6372 582.377 37.978 582.377 27.3301 cv +582.377 0.304199 li +589.68 0.304199 li +589.68 27.3301 li +589.68 31.2344 591.098 32.4004 598.147 32.4004 cv +604.891 32.4004 606.715 31.437 606.715 27.3301 cv +606.715 0.304199 li +614.018 0.304199 li +cp +f +650.42 32.0962 mo +668.167 32.0962 li +668.167 38.333 li +643.118 38.333 li +643.118 0.304199 li +650.42 0.304199 li +650.42 32.0962 li +cp +f +694.811 16.0229 mo +712.61 16.0229 li +712.61 22.0059 li +694.811 22.0059 li +694.811 32.0962 li +713.725 32.0962 li +713.725 38.333 li +687.51 38.333 li +687.51 0.304199 li +713.573 0.304199 li +713.573 6.54102 li +694.811 6.54102 li +694.811 16.0229 li +cp +f +191.533 89.9458 mo +191.533 91.7207 li +191.533 96.0811 193.41 96.3857 200.153 96.3857 cv +206.795 96.3857 207.708 95.168 207.708 90.7573 cv +207.708 85.332 204.818 86.0415 199.139 85.7373 cv +190.925 85.2305 184.435 85.5347 184.435 74.481 cv +184.435 64.0356 191.026 63.7314 200.153 63.7314 cv +207.911 63.7314 214.249 63.9849 214.249 73.9741 cv +214.249 75.1909 li +206.948 75.1909 li +206.948 73.9741 li +206.948 69.8667 205.274 69.7148 200.153 69.7148 cv +192.902 69.7148 191.736 70.4248 191.736 74.481 cv +191.736 79.146 192.7 79.2979 200.103 79.7544 cv +211.815 80.4644 215.01 81.0728 215.01 90.7573 cv +215.01 101.456 209.939 102.369 200.153 102.369 cv +191.736 102.369 184.232 102.622 184.232 91.7207 cv +184.232 89.9458 li +191.533 89.9458 li +cp +f +251.716 76.7627 mo +251.716 74.6836 li +251.716 70.2725 249.992 69.9683 243.604 69.9683 cv +236.251 69.9683 234.984 71.1851 234.984 78.6387 cv +234.984 87.0557 li +235.035 94.6621 235.947 96.1318 243.604 96.1318 cv +249.485 96.1318 252.122 95.9297 252.122 90.5039 cv +252.122 88.4248 li +259.423 88.4248 li +259.423 90.9092 li +259.576 102.369 253.035 101.963 243.604 102.369 cv +230.217 102.876 227.834 98.4648 227.682 87.3599 cv +227.682 78.6387 li +227.682 66.4697 232.398 63.7314 243.604 63.7314 cv +253.085 63.7314 258.511 63.7822 259.018 74.6836 cv +259.018 76.7627 li +251.716 76.7627 li +cp +f +305.815 102.064 mo +298.514 102.064 li +298.514 85.8389 li +280.818 85.8389 li +280.818 102.064 li +273.517 102.064 li +273.517 64.0356 li +280.818 64.0356 li +280.818 79.6021 li +298.514 79.6021 li +298.514 64.0356 li +305.815 64.0356 li +305.815 102.064 li +cp +f +349.114 102.064 mo +342.573 102.064 li +330.505 70.1709 li +330.353 70.1709 li +330.961 102.064 li +323.66 102.064 li +323.66 64.0356 li +335.373 64.0356 li +345.717 92.2783 li +345.919 92.2783 li +356.061 64.0356 li +368.026 64.0356 li +368.026 102.064 li +360.725 102.064 li +361.334 70.019 li +361.081 70.019 li +349.114 102.064 li +cp +f +397.532 69.6133 mo +397.43 69.6133 li +390.94 89.3374 li +404.073 89.3374 li +397.532 69.6133 li +cp +389.268 94.8643 mo +386.885 102.064 li +379.329 102.064 li +391.956 64.0356 li +402.704 64.0356 li +415.583 102.064 li +408.18 102.064 li +405.696 94.8643 li +389.268 94.8643 li +cp +f +435.153 95.8281 mo +452.899 95.8281 li +452.899 102.064 li +427.85 102.064 li +427.85 64.0356 li +435.153 64.0356 li +435.153 95.8281 li +cp +f +469.5 79.5513 mo +472.897 79.5513 li +485.575 64.0356 li +494.549 64.0356 li +479.135 82.5938 li +496.122 102.064 li +486.893 102.064 li +472.897 85.7881 li +469.5 85.7881 li +469.5 102.064 li +462.2 102.064 li +462.2 64.0356 li +469.5 64.0356 li +469.5 79.5513 li +cp +f +520.729 69.6133 mo +520.627 69.6133 li +514.137 89.3374 li +527.27 89.3374 li +520.729 69.6133 li +cp +512.463 94.8643 mo +510.081 102.064 li +502.526 102.064 li +515.151 64.0356 li +525.901 64.0356 li +538.78 102.064 li +531.377 102.064 li +528.893 94.8643 li +512.463 94.8643 li +cp +f +559.364 95.8281 mo +577.11 95.8281 li +577.11 102.064 li +552.061 102.064 li +552.061 64.0356 li +559.364 64.0356 li +559.364 95.8281 li +cp +f +606.971 95.8281 mo +611.889 95.8281 613.411 91.416 613.411 87.1572 cv +613.411 78.1826 li +613.411 71.8442 611.333 70.2725 605.754 70.2725 cv +594.903 70.2725 li +594.903 95.8281 li +606.971 95.8281 li +cp +587.602 64.0356 mo +605.754 64.0356 li +616.25 64.0356 620.711 67.8384 620.711 78.1826 cv +620.711 87.1572 li +620.711 95.0674 618.481 102.064 606.971 102.064 cv +587.602 102.064 li +587.602 64.0356 li +cp +f +642.967 79.7544 mo +660.766 79.7544 li +660.766 85.7373 li +642.967 85.7373 li +642.967 95.8281 li +661.881 95.8281 li +661.881 102.064 li +635.667 102.064 li +635.667 64.0356 li +661.729 64.0356 li +661.729 70.2725 li +642.967 70.2725 li +642.967 79.7544 li +cp +f +706.614 64.0356 mo +713.915 64.0356 li +713.915 102.064 li +701.795 102.064 li +685.622 70.2725 li +685.368 70.2725 li +685.977 102.064 li +678.674 102.064 li +678.674 64.0356 li +690.743 64.0356 li +707.018 95.8281 li +707.221 95.8281 li +706.614 64.0356 li +cp +f +198.486 132.938 mo +198.486 145.26 li +198.486 150.092 195.458 150.415 191.25 150.415 cv +187.182 150.415 184.061 150.115 184.061 145.26 cv +184.061 132.938 li +187.39 132.938 li +187.39 145.26 li +187.39 147.04 188.037 147.572 191.25 147.572 cv +194.325 147.572 195.157 147.133 195.157 145.26 cv +195.157 132.938 li +198.486 132.938 li +cp +0.45 0.3 0.05 0.15 cmyk +f +218.46 132.938 mo +221.79 132.938 li +221.79 150.276 li +216.264 150.276 li +208.89 135.781 li +208.774 135.781 li +209.052 150.276 li +205.723 150.276 li +205.723 132.938 li +211.225 132.938 li +218.646 147.434 li +218.738 147.434 li +218.46 132.938 li +cp +f +232.817 150.276 mo +229.489 150.276 li +229.489 132.938 li +232.817 132.938 li +232.817 150.276 li +cp +f +254.455 132.938 mo +248.861 150.276 li +243.845 150.276 li +238.296 132.938 li +241.695 132.938 li +246.318 147.502 li +246.388 147.502 li +251.011 132.938 li +254.455 132.938 li +cp +f +263.033 140.105 mo +271.146 140.105 li +271.146 142.832 li +263.033 142.832 li +263.033 147.434 li +271.655 147.434 li +271.655 150.276 li +259.704 150.276 li +259.704 132.938 li +271.586 132.938 li +271.586 135.781 li +263.033 135.781 li +263.033 140.105 li +cp +f +286.521 141.699 mo +288.971 141.699 289.572 141.215 289.572 138.672 cv +289.572 136.221 289.133 135.781 286.751 135.781 cv +282.128 135.781 li +282.128 141.699 li +286.521 141.699 li +cp +282.128 144.543 mo +282.128 150.276 li +278.799 150.276 li +278.799 132.938 li +287.653 132.938 li +291.444 133.031 292.901 134.21 292.901 138.141 cv +292.901 140.706 292.762 142.578 289.826 143.018 cv +289.826 143.109 li +292.184 143.318 292.762 144.59 292.762 147.04 cv +292.762 150.276 li +289.433 150.276 li +289.433 147.04 li +289.433 145.584 288.832 144.566 287.237 144.543 cv +282.128 144.543 li +cp +f +302.379 144.752 mo +302.379 145.561 li +302.379 147.549 303.235 147.688 306.309 147.688 cv +309.337 147.688 309.754 147.133 309.754 145.121 cv +309.754 142.648 308.436 142.971 305.847 142.832 cv +302.102 142.602 299.143 142.74 299.143 137.701 cv +299.143 132.938 302.148 132.8 306.309 132.8 cv +309.846 132.8 312.736 132.916 312.736 137.47 cv +312.736 138.024 li +309.407 138.024 li +309.407 137.47 li +309.407 135.598 308.644 135.527 306.309 135.527 cv +303.003 135.527 302.472 135.852 302.472 137.701 cv +302.472 139.828 302.911 139.896 306.286 140.105 cv +311.626 140.429 313.083 140.706 313.083 145.121 cv +313.083 149.999 310.771 150.415 306.309 150.415 cv +302.472 150.415 299.05 150.531 299.05 145.561 cv +299.05 144.752 li +302.379 144.752 li +cp +f +323.37 150.276 mo +320.042 150.276 li +320.042 132.938 li +323.37 132.938 li +323.37 150.276 li +cp +f +337.103 150.276 mo +333.773 150.276 li +333.773 135.781 li +328.688 135.781 li +328.688 132.938 li +342.188 132.938 li +342.188 135.781 li +337.103 135.781 li +337.103 150.276 li +cp +f +355.758 143.619 mo +355.758 150.276 li +352.429 150.276 li +352.429 143.619 li +346.165 132.938 li +349.956 132.938 li +354.071 140.336 li +354.14 140.336 li +358.324 132.938 li +362.163 132.938 li +355.758 143.619 li +cp +f +380.293 139.134 mo +380.293 143.804 li +380.293 147.248 380.963 147.572 384.292 147.572 cv +387.321 147.572 388.36 147.156 388.36 143.804 cv +388.36 139.134 li +388.43 135.875 387.25 135.643 384.292 135.643 cv +380.709 135.643 380.362 136.383 380.293 139.134 cv +cp +391.69 139.134 mo +391.69 143.804 li +391.69 149.352 389.54 150.415 384.292 150.415 cv +378.928 150.415 376.963 149.49 376.963 143.804 cv +376.963 139.134 li +376.963 133.748 378.79 132.8 384.292 132.8 cv +389.286 132.8 391.69 133.563 391.69 139.134 cv +cp +f +401.469 140.383 mo +409.19 140.383 li +409.19 143.109 li +401.469 143.109 li +401.469 150.276 li +398.141 150.276 li +398.141 132.938 li +409.606 132.938 li +409.606 135.781 li +401.469 135.781 li +401.469 140.383 li +cp +f +432.262 135.481 mo +432.215 135.481 li +429.256 144.475 li +435.245 144.475 li +432.262 135.481 li +cp +428.495 146.994 mo +427.407 150.276 li +423.963 150.276 li +429.719 132.938 li +434.62 132.938 li +440.491 150.276 li +437.116 150.276 li +435.983 146.994 li +428.495 146.994 li +cp +f +454.063 141.815 mo +456.444 141.77 456.905 141.33 456.905 138.902 cv +456.905 136.452 456.559 135.759 454.063 135.781 cv +449.715 135.781 li +449.715 141.815 li +454.063 141.815 li +cp +446.387 132.938 mo +454.063 132.938 li +458.709 132.938 460.235 134.049 460.235 138.902 cv +460.235 143.804 458.592 144.658 454.063 144.658 cv +449.715 144.658 li +449.715 150.276 li +446.387 150.276 li +446.387 132.938 li +cp +f +474.129 141.815 mo +476.51 141.77 476.973 141.33 476.973 138.902 cv +476.973 136.452 476.625 135.759 474.129 135.781 cv +469.784 135.781 li +469.784 141.815 li +474.129 141.815 li +cp +466.456 132.938 mo +474.129 132.938 li +478.776 132.938 480.301 134.049 480.301 138.902 cv +480.301 143.804 478.661 144.658 474.129 144.658 cv +469.784 144.658 li +469.784 150.276 li +466.456 150.276 li +466.456 132.938 li +cp +f +490.081 147.434 mo +498.172 147.434 li +498.172 150.276 li +486.752 150.276 li +486.752 132.938 li +490.081 132.938 li +490.081 147.434 li +cp +f +506.887 150.276 mo +503.559 150.276 li +503.559 132.938 li +506.887 132.938 li +506.887 150.276 li +cp +f +518.631 140.105 mo +526.745 140.105 li +526.745 142.832 li +518.631 142.832 li +518.631 147.434 li +527.254 147.434 li +527.254 150.276 li +515.303 150.276 li +515.303 132.938 li +527.184 132.938 li +527.184 135.781 li +518.631 135.781 li +518.631 140.105 li +cp +f +543.713 147.434 mo +545.956 147.434 546.651 145.422 546.651 143.48 cv +546.651 139.389 li +546.651 136.498 545.702 135.781 543.159 135.781 cv +538.211 135.781 li +538.211 147.434 li +543.713 147.434 li +cp +534.883 132.938 mo +543.159 132.938 li +547.944 132.938 549.979 134.672 549.979 139.389 cv +549.979 143.48 li +549.979 147.086 548.961 150.276 543.713 150.276 cv +534.883 150.276 li +534.883 132.938 li +cp +f +569.676 144.752 mo +569.676 145.561 li +569.676 147.549 570.532 147.688 573.606 147.688 cv +576.633 147.688 577.049 147.133 577.049 145.121 cv +577.049 142.648 575.733 142.971 573.143 142.832 cv +569.399 142.602 566.44 142.74 566.44 137.701 cv +566.44 132.938 569.444 132.8 573.606 132.8 cv +577.143 132.8 580.032 132.916 580.032 137.47 cv +580.032 138.024 li +576.704 138.024 li +576.704 137.47 li +576.704 135.598 575.94 135.527 573.606 135.527 cv +570.299 135.527 569.768 135.852 569.768 137.701 cv +569.768 139.828 570.208 139.896 573.583 140.105 cv +578.922 140.429 580.379 140.706 580.379 145.121 cv +580.379 149.999 578.067 150.415 573.606 150.415 cv +569.768 150.415 566.346 150.531 566.346 145.561 cv +566.346 144.752 li +569.676 144.752 li +cp +f +597.163 138.74 mo +597.163 137.793 li +597.163 135.781 596.377 135.643 593.465 135.643 cv +590.112 135.643 589.536 136.198 589.536 139.596 cv +589.536 143.434 li +589.557 146.901 589.973 147.572 593.465 147.572 cv +596.147 147.572 597.348 147.479 597.348 145.006 cv +597.348 144.059 li +600.676 144.059 li +600.676 145.19 li +600.747 150.415 597.764 150.23 593.465 150.415 cv +587.362 150.646 586.276 148.635 586.206 143.572 cv +586.206 139.596 li +586.206 134.049 588.356 132.8 593.465 132.8 cv +597.788 132.8 600.26 132.822 600.493 137.793 cv +600.493 138.74 li +597.163 138.74 li +cp +f +610.502 150.276 mo +607.174 150.276 li +607.174 132.938 li +610.502 132.938 li +610.502 150.276 li +cp +f +622.247 140.105 mo +630.36 140.105 li +630.36 142.832 li +622.247 142.832 li +622.247 147.434 li +630.87 147.434 li +630.87 150.276 li +618.918 150.276 li +618.918 132.938 li +630.799 132.938 li +630.799 135.781 li +622.247 135.781 li +622.247 140.105 li +cp +f +651.329 132.938 mo +654.657 132.938 li +654.657 150.276 li +649.133 150.276 li +641.758 135.781 li +641.643 135.781 li +641.92 150.276 li +638.59 150.276 li +638.59 132.938 li +644.092 132.938 li +651.514 147.434 li +651.606 147.434 li +651.329 132.938 li +cp +f +672.667 138.74 mo +672.667 137.793 li +672.667 135.781 671.879 135.643 668.967 135.643 cv +665.616 135.643 665.038 136.198 665.038 139.596 cv +665.038 143.434 li +665.061 146.901 665.477 147.572 668.967 147.572 cv +671.649 147.572 672.852 147.479 672.852 145.006 cv +672.852 144.059 li +676.18 144.059 li +676.18 145.19 li +676.249 150.415 673.268 150.23 668.967 150.415 cv +662.864 150.646 661.778 148.635 661.709 143.572 cv +661.709 139.596 li +661.709 134.049 663.858 132.8 668.967 132.8 cv +673.29 132.8 675.764 132.822 675.995 137.793 cv +675.995 138.74 li +672.667 138.74 li +cp +f +685.776 140.105 mo +693.889 140.105 li +693.889 142.832 li +685.776 142.832 li +685.776 147.434 li +694.399 147.434 li +694.399 150.276 li +682.448 150.276 li +682.448 132.938 li +694.329 132.938 li +694.329 135.781 li +685.776 135.781 li +685.776 140.105 li +cp +f +703.76 144.752 mo +703.76 145.561 li +703.76 147.549 704.616 147.688 707.69 147.688 cv +710.719 147.688 711.135 147.133 711.135 145.121 cv +711.135 142.648 709.817 142.971 707.229 142.832 cv +703.483 142.602 700.524 142.74 700.524 137.701 cv +700.524 132.938 703.53 132.8 707.69 132.8 cv +711.227 132.8 714.118 132.916 714.118 137.47 cv +714.118 138.024 li +710.788 138.024 li +710.788 137.47 li +710.788 135.598 710.026 135.527 707.69 135.527 cv +704.385 135.527 703.854 135.852 703.854 137.701 cv +703.854 139.828 704.292 139.896 707.667 140.105 cv +713.008 140.429 714.463 140.706 714.463 145.121 cv +714.463 149.999 712.153 150.415 707.69 150.415 cv +703.854 150.415 700.432 150.531 700.432 145.561 cv +700.432 144.752 li +703.76 144.752 li +cp +f +%ADOBeginClientInjection: EndPageContent "AI11EPS" +userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse +%ADOEndClientInjection: EndPageContent "AI11EPS" +grestore +grestore +pgrs +%%PageTrailer +%ADOBeginClientInjection: PageTrailer Start "AI11EPS" +[/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 +%ADOEndClientInjection: PageTrailer Start "AI11EPS" +[ +[/CSA [/0 ]] +] del_res +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec Adobe_AGM_Core/dt get exec +%%EOF +%AI9_PrintingDataEnd userdict /AI9_read_buffer 256 string put userdict begin /ai9_skip_data { mark { currentfile AI9_read_buffer { readline } stopped { } { not { exit } if (%AI9_PrivateDataEnd) eq { exit } if } ifelse } loop cleartomark } def end userdict /ai9_skip_data get exec %AI9_PrivateDataBegin %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(R) 13.0 %%AI8_CreatorVersion: 13.0.2 %%For: (Jo-MacPro) () %%Title: (HSSM Logo 2015 RZ1.eps) %%CreationDate: 7/13/15 5:20 AM %AI9_DataStream %Gb"07H!2FS&i_ien/]_^G3n!#-l1hH.*Q"6"]^cf(Uu.Wf]I=kro84(\\MHd,,A11RAilXQi=RC^>Za,4&S^"'UqFH<%bZ/q.r8Q %gWqsPJ$*?7/Z\,:f!_-NmPpV>DQe?:k_4oT*R1sr>i'L+'+3K>c#Ha^@HVd^2P=6aoD&.4B_P<6S]=4'=6d.Rh;2>DoQS!>4fglc %PBur"d;!h'Okja%+($h7ikB\FD71A5:A:mIcanB*@B+Lco@[qC*IYXb1qII*6T5RXhieg/HI*A5MOu>B^\ug]Hto0:RuO?E2gF,q %#PL=VI,=)]@2ONN$94=]D[o25!:'NlE-kLOobr?OpU/EJYt3XKep)O[eb]eB"[c5[Al`uT]PX--kc7c+7RP=uL71%0_o]&B>$eZp %4_lPT5YV$jdVYK)i)FLieSP.n%7p0ED"g$)(HUE:js)0OZ.hK]rX4JK5gta_2-i#Afd;,lp=X2&0A=Z7*G9BLV6pgq:QhmC2.HM=ttLY;.'55WT")`gp17kbmiqVR8bn)3uSdJh_-,Y5*WWfabA$TQ&.&1o,"Lh!H2@LkGD(Guqa]$<$M=4T[PnV&[aH=;#H$YQS9FDh"o,9,DZ]`6 %c,mj&-lY5W^o(H+f:c!Z:pPG-IqEp(mN]n(n>#=EgTp=Xlf.A2M*Z8)s6;X/eTH8>lh"o!MR@.MbJI.B8dg,Y.EfS+Q;t&m2I.-B %\1X(ei=%Nn2IdDB98.B5,0ogJ$B]JO3KAT$E]6H_r(4u7n;_aIoFQ'K"nQ)NXpWg=eo:hkt:in*Z5J2k)=fBS5K24eZfgb)l!c]3Q3$o %Vg-U,BF4BbAT2aM1N@M=RuWq$`UVo*/4K@Ra%'i1lf)h6K;6WN(hYYXTp2<8;!qpXb]nh])e)Q&L%5;/$T=oImM%`TFkSLF %)e.*)KT1uNNhokHZuoQE5,UUZF"3TBS*?GAg<^V8jG3:ZQZcO[P@N%`-&^0-o028R`qQ#'YVtYf-L#oD)3t"[+@_#ApNBZs2+OfUL]`qQ2F]$r)Y?+-aRJfME%eN"Xjo=$0?#K??Bl(70gt=ps6*..0C\m;l:0T%1o%2?Gk8eSX)'i %ZkRdP+Eg2(GcbV!)Sg&]Xm4HT:[mB]MH+aI9WOOLL*^\(K@[98@OWVWY3`>i`d_12Xq:MhA<].@)qt$?_(c[qU1:d1cRPanNZ):o %?B3t)d2[,rYTpN*(($8iaBXB5*@u+E3K1DA@I:'Z14kSOE_>:-q.P]5/"[(E8&lYKLU8<@1U/n0M9`/^/U0EXEQ1C-YSlA`0=juo %b,Bi<;09oeS^f@(p^R(=fF6_[a.P8`IqdY."hWcRLiI=e@rkhj3@4=7Z'$/9SfQMhj%q;OAs:TS6EsE> %L*;k93Y$jQbFGp'S5:VS$g.Mg9kD.LmBL\jqbbAsXO=gFW];+@9Mr*W*jXHu8nO3G&8O'O1+_Hs3C"8h[8dQ]NI-r"n %L0[iLQR%aTcYfKD!XrZl1qThIV`+EFnE0=F_&7m'(8#S!'7t]&l&:uA3VHjK*0jpPT[I*TeRF]^V3R?Z[0]gQk'*W %36s4@q(+6,7L;M@+e6f77`H1-A2=0R-3Z(^]#WuF7Md8tfW%YXWCY&Pl;5Lf9LC&e*iqc:V@h2%Y3AS1j$-C.;r'cJiE:=AG9_$& %m-QR!0neTb0e#C:)]t3qP327?kWI<3-eqa'D5r^!:,FC?0?:p/mQXcqqOBbp;Sod_4s?Z_Z %L4$1FC8#gKo;-tMKt7M)Z6"G;iXuX;Al4q,cM';9g+1]q]V[&:K]]?h/ea%*OYP&.[CXsc2=TFu[HT6r*nMV>H(Jdur9![RoD-Gt %>]scu*&h_ol>uZYN6UJU9JKrBOrebjf3+,b]Z0R[dt5dFEIPo67;CeK:]nVF>q1WNdnFfH*$P>\IDt,nb79dPVA55Z<@2n%$YdsGC0N7O1bi/=>-BeA\@qQGS@=[/KhnN:!GaUdKHX\+!qS8ZANCS9S.[9@O@M<&]L %dq';Ql5"B*)$]^nTk9#$)l4p2!kV:&2#$Z7PuE[bZ0D,AKM2-,r9%:r,20:W[;78%>a(qtb5$rdQG^7q@Y5TP0%1_h:C4:9>XPI- %I9hn_$pRo&oc!EK8F>=tHeo4>T;Xn9*\S-fm83VuQKe1`Z$Vq!cESFrLcV#DV;t3fal@&AWi>?in(bOKZ9igG.7AMoZckQ;;7:JA %Qm>N=V",OkD6FZC0,Z_AYWVp9][G#Bn[R?63O4ri)$QBs$i3,1c7,AA39.1"pP<@,qN(>E[7l_28S@XQcZ(i[QP9DRTl"1Q'Q_3T %XBOhFVW@UigoE(!g%YG'1@);cVH);1NG/toENL_92?/H>l-*'Z'`!U?'q;;`R,8C\o_q_oY%"C(AG2$T\$*ip*kY0NU1IJCR2jbt %>jKd5`2@^jD_TLbI0[J,GujQbAAjR>b.Jco(VLY@lW/7q.VK(F1Mqnn0tJl]0AN;EW"t[>c^4.g8oRNnT(?"0$rRFY0cI+YEpK4E %2r_rm-f5]XXO$-GNj$q=pC"\S=^+pT0@0O9ZlX1dpPG.b\me5\kB,#FHBa\kHqm:5BlAItY2?8"YH4P7hSTeQ5YjQj5"<7&k_aA@ %jOH?TI`dRKZL7G]P$j/!,G-dk/%Uu"Wh/rMEFaA"4_s1[n21g.UU1`h7TQ"m4jm)4t#0c-liSuF$1(bkd)RRes))OGW.B#Ha*<8q8^08QKEMH*,-9!tBdqs`d<:sd+Y6K9;TEsP5F/^L5G %7c%P'oMGb(OblRjcHB-K- %.m(T]hg,@:>Rdb=]t_;BqgJ>[`NNt_rKsrleiJeNjXTXFgmOq08t@or>V'Fr2[(@.$1Vkh\Qt'pt!D) %iTKRt_k4qY+1lfCYCH6aD;jO?q.I%k(u3^<,AqsRZTI!hhFmQHVpk4a5(@MKX''AS2qu#8.ti*8fi=gEqQIp%o7(%ieQ0?kF$^p7 %1ZU(a-1fT!s)'\8?W5=M<,]15ce\Hp9Cl#8q#Q!%OJ:&.r:Zb\+2S=-=SoU&3@ih\iF`Z.aSYpPp\Oml4Vk[.ptg1_Xf)3H^,3dYc:)Z>0YJ^Z\dCm.pkWrU;%hb]T]#_h^&BtE,87F[S5c[Nou]%66@ %"*BG0Js7*@HrPe`U'_C"q7f$G1_^#22!uO1cGEF3m_6KN_fXnIjs-HhX*=Rjh\U/@S,If:!>`HFq7H>"r80[,ViVuQgM&sAY@n,V]RBg#7Ed_[[&Lqf#o[rfu[0S %ks6@PXY,=/,L/!?IOBJC8(65j=!Q3=:b;KMIg>muc*pIc9G9:JLBhN'9@UTPLCR"$p(<>eL@E+fb5V,!n;_VSK(A=,"h#I"V\eSR %:ndL6D`-:/CqoMdn9AG8pA3UjCVspg<>6P(5j9m=o'0T?l?9blLH697a6<#$8tXb#2L?H,U7$Ep2\2e@lbHKP`$$]B)drR]3=3C) %r0Uu'o<7Q,j"$'3qb.G:(=e[8j2[ejG:8R.]I(ir^KYXNhSD9j5Q2,Z2P4@ufd'e!WLL0!#Wh">opN8PF19P1V_$S>Ghd.NL??F@ %e-#mY()7At=Oou-%8=\Hj32GWC"^X-ZX82q[[R00rE3WH'G9q?^&@k3Ig1t.o?O59E.(hM!qd\d.3Ns:Hu$.KnLF$<\,#OHB+.um %G.Vm#lJLF9"POYa4hcH5gMMVRO?LQirP.7'q-9;&p[8']GC/YK8!sDnMuH`NkFTJ91$.-'54pVo"hsqr;?sk,7LI#>5[bcg&#Kac %3?cB^F^,GOU,^[;@ftinfqRVLnG'rM':SnT.A8(d,1ZIXFg*]:(k:JFreC[U&Jk)2[ssaCs"A)k[D,TM%Z@2sjaS?oY4_(igd,!Z %6nBoOrnHN9E;;.Rjo5]dgACi0s'fdA*u9K8X82P*Y)?_bP.*!_A1NPIZ+`&`cS'".b:i[`)3n\7%LAqV^hl)Sc/+XYA"uU36GCN'G^9kFKre@tUTArl;-*fVng,$?(oQr<]!fEUe"g %`++N*Nm_m5:cKHi&7]11Xlb!(Z%N&45I91c1J!aK_*N/b45HgS'BMDTi3J'3:-\5-(uhQcS7Cc?"R!Mp@6@NuW/r3sLnKR#Q7_P% %D4HLb^;61u?4'qd$@b)Iq8Z5su1+VMfh:eo">[7gS0BS3F)rXETi+kD(aGIl,r7-)$:?BdcV %@S?A8l`CA,CLF]f&hk\ehHQ%ja7BZjo@WIWOVGt1Rk9*p8'7=IDm/sXDH@;r"7-!,dss37h9L@0b.l^0r)5+"-.4Q^cNc?X?.Mq- %hZEDt9#.9iIqYR,-5L;ST'Q@;?V0;GJb>3$FRX=LHIQ*[VC%JkED1.cMJ9Do1BhCEG&k\W2eS-p(M:E5?1SO_URg;WH]A#t@P=Ea;@!-!d;(qTl[c`oBgFM^&)Nb!?pT@!'?epQ&'b)X4[K$S;-Kh9 %4Z+@ije.LIU$q#]O9AOfV!n(Ci*3ILm:3&P:>u7?@DUio9j]s;IsLAm;i7Y2`3s+p$G`lGIin$%Gi]R."_)^b&Ie@nSbu;W9a$9u %Astb7Ac65uTDuPNG>POmLbu^86,uf^3\EOaYSJ3T$lA.kE"A-[MN/.,58QNj6WcjqQ4q^NdYfl"Ug*E63A'38ph4N#_X %@\'6tO*->c!nJemLQl#%g\9S'h.\5C/oe>V:`K%iV\gDQ7R-)_kt6nadL@]CZ;QpPHqpGkd&EaCW#pjgaNMsU=p$mWJFlH.$$Cp6 %"aI3eh_XdZkjb7b\%e,K+"u:2^W<0,793ZLe#Z'+]_qP:n@0XM7#rMN6CL'\'G)l`E#DqD0CA3iB"F,j(V6G?W %[(Q([fC>&:HoYK]r+Z;n`[SH[IVb!8&'N9Vj9R! %cDO\QYKKkFb+Y[H2Js:$pZ>Fhn^Qc:]gG&fr+^$gs4YtH*8Rm6>ArE6XT#5Clml@ei_PiQqaN#ulZP3G*f;K:7pi_9gtnp7pZ3l3 %mZtDoKDoUdgi2M.np8QO"c>_UeU$'>HLDepZEgYJN,q#gN`j]-p+NhGS_#m`Bhfs; %+7j*V5Et"@B\W>fhV=Zj,6K=b;LZk,HHr\PI'!@!YIcBbI8^W!HIr+8G]tY+FP$M+Y3l8590<)4HW82L6J_3-XldH;:>Y6%WJ,4c %c#r-=Su?kQ['mE]43ci2\%VU&_pt,Lc'O.\r(TW:WH!!]<0a:IBrBG1-S(CM[EfVLA7JW>hlb*VSQ[h[POi6f-+!Ro&hJYQ>:4X3'.`"-Y!D`WfI6GGb(Se=*^GRnZ9?Y\]d>>*UcS*i$:]jg6_#*hbKL#Y2_RF.efh_?f[b!D_H9PMnN#e;s8pW>PYU?`=U\TS%:XYC:)IdFFQ4t1gAe^X'5Zf?&f38n]^jhcd0(IONOK3 %NGa!B^R!/W]hVqjV3%OA;\"j^d]#.>\Zcn:1uI[`J"=DN=*^^jMl.\4q5LtDWsYD8pEHX,Y2dr*[h^GD+nAACX2jh=di\OrY6"2H %?7`;KD1%%DT\De4'jdi>G&?XXFB\VOGM6nO/UEtjS`YPLh7M=]c$^b+l<>(4)X.r_TjsY(m?nKo-ePC2+n1UU2gsLHh1nb5Lj&2% %+5.OS3W4m6l&Gj,q<"DppJq(fZTe%NftUbZa#opM<9q5]);.rUJa1BWDJ-D::LtGVn"FUOeQEWZ8(_F"n)^+.1>1-"f092=B83#S %ZbP,\46ksP>@)Z+DJK(DWcB$L[(h'os)k1dIsRdcaQ.*ZbN4*VdC2l94+j16Vi,feTR7]B"QI)=5t^[\3?qdViMefg:rmp0Cs\eVkm11=/Si\$WBQ"ZDZOH`r0TuVf/1[/E$,IoXVE:Isej! %L/0$dW*?oalV7>F02%pdr`WN.b'f]S7@lss#1#4DQaX)`lFciQqr3rdJ&V.WPglSB2uAAD04jV(8]b>.fs7HB\?_K*3`oI]<(HCDkgnFV %q63'O=Jrd5+G##uSJp[t,'ctnc\,&ck2p9#VpNV5lf*_E)^6tVgUk*sj5q]&e*6/(&s17D[q+k;dj_@F@IC%'*.:#I.X+#(#g%Nham%iFW>+I*TD,NL6!N97I;SfGlW-PuU%ZXGnkQ*,7(FC' %Q-fQc-\Pomod,(]p^Ch`\DmJ@;M=NKM%ARVdTALCjlp:ceDpIDaht`>[KD>gFZ/+nT"]oR7aV*/iMBDsiNF-6K;DD3bDZ&o5.>*G %C$/8,$gG#)Y4ab4.llQ)BL_E.H\!`AnB'Gj/)h#iO'Mb.b#^Bc,JTj#*VIc72X-em_:kg?2kNfa1=?^G=[aQH@V])6_2B`;$B4at6?&FrqFKRiId;DPN* %cen/9)oaWIYn@teN+_iX/d8k.@O](T5H`IU(?[3?@NoH-eGAP0hGBGtUO.Q5o%91VkU"\@P=2L6lFC&3LK..3Y4O>ii/^(#H8<$^ %ZgkAr;>=[Tj7h'cj)>6*A<\9YsZuQf+2U`%4u84.&lZI#*X@nb"s'%8u$ib_+,gB %=C>*dF(A6j20uV"*]+N4"r*h@.X1!%5fu#BQRm94PNu5`:s<1I<*&39Dm%TuS1PfSC"[U&V\GXtr8hWY'#^+*7Xb,0NTH/:94rMpKGWV.[>u0KZk%$:]DGSl %aH`;"M&-r!P/(DPk,\(pRM)QId7r,uBiWJ3qI:oEeJQ1\aCbqNimVdAWsWGfP8eOk?_,O%]dLAW"7ct$ai)'d'aCDn:++[dN_^"K %%f1O?M*l"3PPqjE)!fUq9(r7*51/O(bhsV10)b]jI8csu:*-=']GKm?B6"Rh>OF$.Kid8D8EKH7p>^5W@#0Llh9Cr)A:H,MC#c>6LSmoD %AKT:=o.;3:ffaUR)b,W$b@ZecKfF?L0hk54]FZ::;j*k18.24Z,j\`q7$BoGcOaN#AFQB1V']s?qVE',9hr/Sr=F22%*>\1Z:TKl %L:.o@rS]en$#8hU*T#Tqe45IJ^bT^e(8X]B.&9=3!'ZGM,55`"64*_42`L)L5B_EYCSus0,gW83HF_@MKiIT$J1!"iqQq?X(NhK, %"TiroKH$k<8WIr5Xi^V0/&0X!RhYdg)*EQ5ITd>E?1rND,UA[9#-m#RQ18Xb*tiPBA*V[l'W^Z"8d_h %,+l?^91jk3C57B,,DQ]QaFP/G2/^kjIZH/-M7EPNP*CRqRE!P'68'\'DFI7fT2JfI%=OffBU:fX_^-JduT;b'au]\+ELbLB[20;WpqYg4Knb %c`H#8f>aBJt>q?WQ+@:"]B]tq_bWL7uR`R;\gj)tWY1PqVA3.@@L=H&/8aqk[#hZ?=+$!!$6$7V'/ %$4A3eQZ&#"(_Cm.kb2reJ)\(C(=$OZWKif7kEm,gRp'r8mq!AYRG;=nk`Rac+rN`mk0PDed*^D0pc3H<)0AI'K#?Zr-"kR.ZNWkF %ThE\(bN("66^OiV&s&n %OM%A9H>#*I0M:l'Ns!7,#q/5@jtJhWAC=^D?$!=rLiqWlcYs1i6Q?9'Z6+9-jC`$ZHZSiGW&0oU\=k4[mf'2TJ]VfGPE_ZWbIPq;9qa37W4G!`Pf%oHGN_MC<-C87,VUScAl0ICT%`4r!'6o:@A4!?%8Z"kO %R!O%*Bi>iRYO/Br]kkM,$]!"3#7d)q@?RNo=TZua4'&O[Ht'iA$]LTULs6%6m3fLZ_rU>6^UbQ\3P23FfFu9aR4B>cMGHt$lu.<3 %5q0X8Q:9^4WVA:=rm[d55Bh:t)>GBGptEjY)OMBdO)JE$9KY*6Ed5:;cJ+QA/AC]fT:%H.@mR.N-H5BWXBL@Q=Su4@d"CsIg8G\n %#(GrWjIfG$ZPW2Q7U/2@mgVruoL(i#DOHS>(Y0@A%<."7S,)hRV8!4*GCOBd`?HXmB!E-Ym3XCX@bq]jmG(C]NRJ$-@7aNPip)fT %F::m^<4NTR.(V2I^ZLAKE>pJ+K?4_?`>E(]=CMR)<>\,a,gU$Tq3PS2"/=lVFBuMqic#,^$!3*>I$LcsW=b()9V.,!AR;oJ[L%:?\SSb<]9EIi_E)nM=__,4_B$ff7'M39N %.#$R7Z))p:Kd&;KXSY1h9p[1NZ_\^:O+0dhCPmq,^W/9@g$n]XS;9l.Xo\3'If,m2+u9(<8,>'Li?L+@CdIf*e-!SI>X^DG8'B3t %-6a*:k=@B\:_m+Fi_p?-YJ&I3DCFG`o?KCj?iS%r?0Y< %Kn8JuTq`!8fn+kIl@qCD-p=8MOS6=nEaBcqEJ^+#K+Ed"jLY,QS'?[LTNqj:b\Gct*EqhfBG+E:c9:J?\h$q/E+A %Ir+n-3;G#e8a"!NF[@s.52:Z%WY*@))oU-[Luk)bKms7en>kV!O;-> %B2A47`DEk*LFI&]M)YMZoPablB6m8t,O2e2);h-#NEsOs:5g6P'uS2MbmE %%;dJA5@+7HXk7.7fN@VX1P=P=-8lTa>9f/I3>B@tfK`M!BgF=]Ug?b>,PCJ7Jf1Q7f]4ecmli([OfD0GPK6:s:EQ_b[ur?g("sNu %D[Q;LWST*[&0'm)C"SBooWNf]Qc/H9I7-=5?CEqA+X;B0cJ$--6k%Z_##%Fr\<`Hg(TYS'RL4iLfYA.`_*O*C$5YWSP>-`M.rLb9 %'lLO(jf#.tTm%((GQ07oE71]%`)GXSiaXFhB4*sQW.NCnP7nS$Jd3QUHR!pj+1mrn$e6riN.m=Vh`[>NJ;fHk?UR)4&+e-U^1;Ju %c%TO`H7<2l[=sf`F9/`G+u)-`QP@Qd+d>lFKFf/hQj58GF@pJ2PHlucrQ#/1p@$bnG56LXnpJ'rhl0Ve5<&!h^6N'U9Wka$pj,r3 %Bm`&sD_7T2gZ\Q=[c#X&$'^r5,:@o; %b#gUE%2jkX]_$%$Crf?uV[Rg2GjnsFi[&UIcLjoq'"QZb`SC?VnuV7EPQou%OIGA^N`$)9e)W-Q:iTT5Kl+?FL%:,6sdmWVN^,iNKO#r`&;f*8c+XVksAnek>kA,RnhPa^c-oTSP:J9e>KXo_dq6s*^?,h2Lh.M;!r%TCc^8I8P_^5 %Pt`'3C>bZ",@o9Bqj*GiVAkD%,A5IoS&0BK9feb]rCTm!4,>OYT4=.R\L&h&PYlT2KG4l!mTAo30^!srUI+h.`U\t(bX9),lMY+"GnsV"Vl>hd#9QfpTrfo*S]gVROQnA$n>CbZ<1ZW>i4=NVr-@4kkFY!`h8$A3 %R8b&YnV9*PAu-YZXGIo@4,=@EKfM0<%9l4j7e;I3hI6qbr7t1hq`U=LQ65'PL%&fTo?!PX3hPJIW:Q7OT`uKQ5']dOHil,G(WYA> %+g&\s%QopoY+kj`*30U`Id/5c#"_1l1Alt`5YFJTffu4T-#$$;On44Cf`/:s"p$. %UeGdcCP!4NhV)H6"?"!3QS].RM8u3]^)5"8:Uhil@Q,-uXdiM5k%,nuO^T*[n%GU0BP;AIj8.36mR/N#QK"$MX%>Cjj`AGs@hj8X %nYi2ihig%\76D^o8PWe5EebHZYGFc6_u.Qjb`n?$37\O_4MOdCa5'9q(qJUCoR!Wo\`#0W)^fjb9d926]KDmWncjnGlC7>kP*Zl, %a5,+;P.oX3P*_EqU<0*I\/TDElUj!g2>DpYA.bY.<>rHdhJ=FsLYV[?A#8Rf:"L=YdfY:D?T1MmbgJ#@6bE3(No<^6@n=mN %%%H:gF8ZaKV?Z9HlffAB@l(t+/;qsEfMIHZmq<[qJ;d2oK9N)*0TkrG"#h#/mhQoC]#TRI0mTb(Sd0&VM/o(VFo\+98cGIt@tIJ[4%aZl(`4,!c!`d.R/$r=#@7*gcDL$iB]G]2E\o&2>a9MW2o\EN@&m6kK] %5X*uoqVuR#&t\p)Pl!5d&Tr+J@4OP9Y;]a8.`?M1<57gjau[f.kWN`kQ<:ZG?V/l)Xh$is_(;j/Df*$4`%JnCh&4ft[IopB^ZgI) %e?nZ,03+Ho#8ABcrj)MMgc60C_[G;'(ED[V;Wcl+(5Te]F8n;Y^;Y7V=)5H2`HBmrFis-#F,j#!@gT59Nc'&N3d(,tQPYB<4XHX+ %(3tXjVM>0Ij<\6;7:on5DEYFuGLi5UI90(lU9Sr0bB[^*AkALf-FhUP;^*loM4X^2(5XCdV#nZWM2.=^KQC>O'VFUBfV#guG9WO.2_2anRIX%SFR&.(-11D;64B0m2f9gXNN;"(:FI1HB4V.V4>=.S %n`++D.hd/G,L!]7bBh8(>)sM'%\FcD9]@A*Qii^6?YnZ#"WN@aV3NAk(-4;CTQS+SZh-iS]s:i+hVH3P(]A %k5)XhYn#f$FsROL&W.l?.mr/%&NE%[48>oc@=KPG-2t9@?lXqp,]ig7mn?;MA`[Y7FHmbhBA5P;6g2N %joC-3FH;M+Q=B+#hPq1>`5&b?<&oIgqkId)L?C3B#>dCR3^OTiEXkTM?YmY3^_!QbXtZX6@,kj4S/_,L`CA)R$qs5Z%U^R&.[D(7 %go)U%O[mIoN(5<6.gbTE;LB[`$@,E7?ck=WNGKhHaqq]Blech6T.Hurq+LMfhoI^49DRciH%%MjMS578lm*'b"5X8 %nUBPU?-8N-rlQrJjU4Hk&?2+<(PC6-7B4kqQs9M9nSTbff5Dk$>SDHCe9L`a"c!jgC`;9>Xn5r7jJ\.ca(hDsrBaa,]%(`KG=.)Q %oh1;P`NI.7][nfKL:gahinb,%m(IkI3-jk;rK9s2#a)0mme'58aYeWrrFdNZ>WC?E04Wl)QTVY=rKX/6l^*""haf\V8FH.D*g$;Q %lL=QE8Z+$5Xl^k`l^*"Y/EU6b60b7?5Di0!'"kr`me'42FC^_N!r)O;hs*/])lR67oh/WV`ghW%qHcD>W@<:shq7\n9d&U^rOm[% %XcV5.^qG3=)_/^]m]l3Q92;"BA>G6-YFg20L#)#1\t*9jHi9\Zi5AjufK#djdo3o+rKWJ"IYk@RJXeiZHi9+OLPNC#DiD/M"Rk@i5OUmeX5EF"*:eITP.-8-:YQA'Y@"R_:NPC5^Xk.7 %[?GGS"k3sgO;=F0N^=@.\qtPn*Ulfa@hq0U2nSe)iaF/FQ#2kE]2F\ %IPH/mEs!UeCrC]!Oq0TB@S.m%lPGm/B+1M:qOFIkKlg3Qp:YpmXXcoTf.Wf,,.IE.F*^Zqf.WO:1+@jgKC8D*Fq">?`%g`R92:<) %(4!Q>rK;*lPPAW4h[k_YAIH_p@;pU*9R %^(B!E]9ok_S:'fiR'mj[A&cYoE;*rs+SH1]@`XHUB)b1/Os[tBTH#]=*BlcB).?GO[u6kWX+gAe]O#Yl=eT$&gXUVhWMSeGBjim. %2Q'n&RRP\/m_.s'3hQ*@]nYQ"D;EKdT:Xd*02<7_B8,T>T@V`_q://!pY%g7br8tc=#2l&]_6>`^HU2>[pOV*]c8lS?2*Q#n)NtD %I6[LTrc6_/?0i=:5;2JL(DlN.9?W6CDTk>cD^W`o^YbBmDtglSo7d!X=.c%PmPHtYS20uI^A,D8Ge*/n+"hAYbeDV(p2fVA\%B%k %1:?aapM`aZ3GpFP58r9KH?T+Qd,?_r6!Ch%XcFB[+tSX/8mL<[l>[4,je=*>h\r.hXf>:Pfi$@ %<$?PY6Lmc.HiK(D&GB6%Ih<9*o<@M\n&mWR>GR^tO@=I+r3NqDpEIWfEXGC;74XLE@n-g/*KkC9&kD]%ot %Tsa57LVbn(jN1`WXRC0J1?$TKJK-nbJGc"_+Or:3c<[*Bl;tI7-,4g%-(hS;q2\Y')u][gW/2EcKEO %4C33UZRU@&<479`-p&^A[eP+DX2`m=:u^?EY&-O4?4rT\ko$s7sXX@o>Y_KJKd3YS_\d(%uqFI8CcPMFPV^(PJW_-/\_*h?W.M:n4\FZ %UgV'fS%<7_OM-Z2g@iG1SDX&)1+i(dY2WYH:0.Vr1(2=3JG6sOk%UMZX/+]UKtK_ku.?B[2 %DRJJ.Vq*@>>[@cmLpe&m"VkS%9"51ds7pJi[Cji:kpHid%q[k9KJqK_t%LqQhlXPZNa+BgZHCNe`$-R\t%5%P'$ %F5B1da;'5F\%7!l[T=]j^8HB!?\-@9>aK)p4tBWWk58^LRX@=q&6>-T%bYE!oQ(YiP7Cm!JClO(;=.Wglm[Y?l$T0bI52%.qQ6qL %$i-Aa<&6`L7;c-t`.CNB\SIC%]F*]PKU2@5Q7Jthu"V^ %+d3QR"H`f5%IY@\S(g?_/9jd#Z^UXAiWgO9I,/L2\#\f:HV#Z9rR+Q9aKb"Hq+3q\FM4jlFuP`>#XK[X98X5C^kpZUf/EDUA1&!: %i-05jTso"SO(5WhdtA#jl_BAX)G'7mDT=6BS53=5ma4$+9FubLobVqM!TYu;G7nW,=PD"=Hc7qi/(j&:M;AoN:1%%9/=0W5X=^q@ %3k+5s"+Mf01Ku18?nWI[F-.em$:5D@om0^$,_CU1hs^hQQs]Hh?"e+^ao3U68*l3@cUu!4)].XG97&IXEb.Vlr[/co$W)rq#,;7C<`SM33Toll0%i-3ucgJS113R+"6a)R'qmFh?sXJNLd^ih*Cb"e7p^d(c7gm%$IT+YLNekilAF>_;_6"EW4&%& %>857dW2lMETeBp72liRaBg9S"T[r.,XJZY8E"#`Bp3Y9#HTSkjUsk)qEd-\Vd48;sU[iH^?0#O)C8qYLr7-5d1h``%LJaCFD1$9C %bthrt%bn]D\gI]IGVe7a[YPI.id"=mr]IBf^OTh)msB3ulo"[9/eFL=hKEA'[r*irDnS?J&)+tWTIr7'K%ho*/`g-SC8"hY%NT;C %"]p$Ljk_r.MrFiJ?Pb9aZM:B,m(:LIU>*?Odr+pk$K?^4&mlEQU8,En5u)Nk8)ftFpL:sG'-+-1&"X6fof^G2N=L\j>G84IhJ*dN %j%(J1`Tl=2)1F_S$MaN0cc\l6dhU3ZT!d0427mm"G&MQRa41WhpsXiXX)IAMfhPPN`p!Y@(>g2)AHo-IN:.8!1#I"keNe]a-4iXN %gtH)T?InXUMR/jSrctJfo(]gt51lJgkM(%VNT[.2$PhNip&3sblB_f8lSWulgE;L8$.Wtm*OC5NgXuJph0CWEJ'Kr&hk*Zj$2gZ@ %:=alArnR2_Tf52Y`b=6O8"\S9Cua2 %??Uh4jG=lG%TsJjFVJakHr[/pF_mh%O'K!"5Ze$2%DDgbO8>^6Fer8eolc`/S1dsE?>]h,4,f/+H_]:X@.19(0pEd$2>7iESXt-h %S8=Z.gfS%em$+lO1e&"!F,^T<6*:'4\g8c"<3B,MUqUnH(,tX(^!a+9iY)Oe>1?[bXd5@s]Rrl>4Kajg#^Afmd&`Rfg`[Q>IiE$:7;_qGu5hbgT3=7f/l/T!LDk;;j5O;>Nh\\e %GO+YnQdoHnNd[`S:Qe0(k/Kc.jo+E/p4:uQFS9e\RU;!CbgmT0$YbVA)qG@Dr"s`na4gf>+Z\$9e9s$H, %pJX`BMUp:7<\7%J/8gfP-a"h?bbC4.c>`qdk;gSI-&D&JqsPZ5QYH^_)Cp0X;:!.C7FQeE#Hd*fOdk:&&dm[f1:"";=#/GKG:<,jI]o= %]@BnV`sQRRA\(,[ls=AX2Fr#)ms5G5Pa8SqMJ)?Qp/h1pKXcY$7HL>2-\\4GCKMIGS11rnOa)Bm]Bq?cD[4eDfo3YTBaml,RV-"/IEoMSaZCrL(8*OQ+lU?2a)a3Pu%_JQAPQD %$F(tqN3XN>qt]u)*Vd!fJ0Nj;>&G38e9I=YmqPco+#@12%,#>H-$*Sq]p@+$If2308tm$@Z)`APV'P(G@AT'^*'EaJ//gO?`OEAZ %Rp`1'0]98h`eVc52&m^,/et;_!7Rbi^pGLJYgTV+)Sj7PZWi]jplN$F4h\D6)]N1:`D\Y7)c.I%Ag,Yh-?jld;Y6Gl/dT(@`%Y$u %`>P]2Xfq#2laJ@b?$QUKNH@s\^b@7+Vm%8VH^tuu`b>*p9Rma(5;UVQ/:N!-#MR.2riT+_K4u+=&-=6N6K!NuY._Wm[[tV2cj;^tHMR%sb6W0pmG(3*'MN#d^Y*%mO)BcnKAV=tnY@>:Jobf5AQ.(9gbYn/._XJB[[7p[6KjY(OT;<(kS296Ml %G=D>_H^jIi.J/Ms_NKFK>@0T$]a^E\c`"^]%:0b**I %nL[YH`Zlq's0J+rL\:2OWnph2:LZjCPKO!f][?b,`rbE%:?/nIZtrhmP]ptKtuWodhLdtBA$6>I+"KuucXh8lUSfigJ$ %].Xl1rGqM7hs@`9h7p:3#eE4$?0moaCKXj7*m1Wu(B>E9*_O>F7>sUi",?Of-!Q%PfDip>_OokIP'=6)hL^6-5[MdNAeYb!..fHG %q$J5C!9bM-,C>fkrLmboYl7eFFn2P@AMqBNCT?B+h`+$MgPW.G>rSsTRK3C7Y?@lr<>@Bp)lfL[F=Zh4NghV31f_`b\nZ7fNPfj< %bq#(\+Os<[Y,+Hp0!oNNHC"59\Tu6$[;6\Pa38IRO_NQQ?#fJ9D2HJ829YkUot1[)6p,Tr %b<,J"Oj`g#V--X?KLPu>kg3.*2[^r'[cpU>!uR7&/]Ypo5RWrm-Z?Sn%;>P[$[Pc/4mUaGb>;1o4s5EEFYt9A[&DYI?88Z-/>>3E %5bNpJ>$8TPpn0Z%+qAS`L'*\_Gt5$"[p>9mK4K+uH,]9bd1lbY7lf76I+OME]o>cM??(s.KB[LC<@3cH8j4Ra));Dp9D,1gM:PLgdYosmON$/#_-HD+RG%&^-5SU6C. %VW/)QJ`.aOlAj1I2AS+>Q>8IEBcQ1G"]uX+6kDV\;7"SZN.qWpJ7Gr+f0n+"VWnk-Ri7PI#H!Xq63Yr&adnAq#h(=l$e7)Y5heR- %&@KS-h_J%@K'";0()9;q]L69[.X"\J$uhBM?%>4o#:"&R`6(9ULBSkkBLKCgaBaC2qViG0E4HGaW/7GsM6_@o%)R#tAIcj:5pc[/ %$>]Em$&C"kYhG*ep5&DYkE:Z;j!IV'UI$FBUkl6DjY=WtaQ"'S2nQ;]]tOQc\b%>US!l^#ks-hf$4Z,=Uqh^>Bo^;D2$%/5bOq]Ul2Bc0a$VIN>WM*!f$ePC)X+J]udo6;/\D)i23=@JsUt#%Mo.";keX?kJW1BGC7Z8#r,f+lL-Yck\)T-W%r-%I+kP:pX"[4;&Z@cKN&L %M@$pD;TOV"'_5\*jXa5f\uOqE:dB1;ZjbYU+#a]1W+e/'<^b1cj2)XUK='W?T^b!0TT0NrVun^iAfSenN37aL@,ni`+p?DJVH>$b %4NJb`gU2$1r)*OB'Gl$(F<0pHKER@#JM&^rmsN8[!EfN)aaI/72lM,f!Ycj2%h36p@2=[1M=(G#_,qZlFG9/HTK!rZ^sWE-AJ.c$ %A$M+"BTE!g?oT\>NId(MO=D6EJSh2flGG/Le2i^1!co+;;nu&4;;=Hi.D!VKb=@+Z.,YC]dc+hG-oU$aQr).\,/chHB9HF^84+\[ %elN+TWn>Am;A]tqG&7bel)H.?i-/&B6/GU9,aBL>^eKiKK)lg&:m=/j/3lA6'KXajaob&`*Qi]:k)sHf`2H`N?sooa("pd9:ms4, %iqR>0\HG$3,9W=*dHqX@=;Cp>2HW_H3M7:GGt_2$0NK]l6Y5%eR-7<0[V-6]Y`,`]\Y:#*0W+jZc%;Cm-%cKrl]4[CMqS:9GZ[6qJpC?**W9[o"@a@6K='Qh^roV@bo,`BfMn+JB>SUfi$27`ON.d.'cS!6Bhn)Q5Os(ng-Ikc>r,LaJ78]UAm-1nFn9KJ'^,;15SPdA-c<$:p"*J8d8$`Dii,5\7hV!`:oc*%_9&$lbpSX2IZN^.anp %!ml)-,\)I1NfNOd6M658J2#`rR8LasL4oedn1!NS?r9SK*%7YX1T5:V`lH(V)opA["Ve=KQe!rDA0)i0(n+2[Ke^<)6Weh7c\Dhe5[dSbP0QD^*E$ %4k)k:pbF`3\:Ac\i'i/=YC[bp9p\@Wa9Oh>0Jl4G!+#r,'(e>7_"@h"4Tu+;1CC^f4q%Q3k_HiR(nK,A*FnFE//LQ*g1<5H@VN1j %#SPM;,kY,u*tg03d-6*JNeTV^4p4p3NbtK/j"LonOf%-P&M1al9dL@0O0ZU,mhA8r7tG2>_".XEf;>\&!=1A=/3e8Tc%k80as&Pi %+HpZ;S4I'ph#PZrlTku4Y6kT7,(2jI)$$XF@PCD&"1&<"$NO5aeH5eH'*_@]-=]ja,K)PV#Qa>SFet5YXc9B"1-1$l;8H^nmK`]H %j)oHA%2T2&boqWEB.sR]HgD6$3ab9A\1U6nIK![UN[-8fTH(dO$m@NCd"a;mVXs2k4KbkZ,XI7)WR))8;&C?s%@`$=(^O3UA2f*m %TQTmdOdN.-'tT%k'&@0EeMm\NJQ7P9gF@t%!fhl(LPeh5`e8aG#1Z\W<`m\'JLE#uM)lgh,NL7X(0XZHQ68)s913Y`AiU>bKZ9F% %,,M@P$jFZ8&-t7b[KqG@"fI5Wo3i-j,7J^/TZUP##^SDM!Yn!*R:S9r\04+7a)D'!)LOr,q0#?RRXbf:V90%%,o1NOhiO*X!3Zs0 %^qk22+oi&6e#t+60^sgT@q6-F6P\Vf1nQC-kRgNj2o/NZaAL`8g8B_Gh"J_qKm^:J.%]gom %W5_-%gJ$-@Zo3$/-GqO2WX^r,cu^/Hf7@CH1)L;1%DH]k'+%@2bJki\0iWg6LPgE_BHhgZJD3eXUOY>nKT=iG!X'`+4d^!EejL'] %@o,Lj$4a8uR#VS#U54.i>[LEsD4o#a?n1ZB@qgM*i''0bAB8-u'a$H'*=EI4CO3ru+;i_*`EWQ_3!(X)3J"-m %nD[1Ol3P9R%^c=DMN)sT6;P+V@i?PH(`4$/e,Y7@(oY9k,0Y4D-pX^$e#^^t8_q6c's__]XL`J8&Q? %J\ePo*Nb&boFG(:)AX58j;8@5\&G>!nSnZ`V(XTY8_D&q7kJfiUTlqKO'EAG<7O[gjbn^Yh#,`60K.EXBF*o+c#H`\5YQ,d %Ll;X"Z'Bn@Z>g5RJ6\QR/h;Q.$QW7V)@0>KK.\N?OQo].$V1sj-6T1HT'%'&6;P!^F1"U2imR-W$$ %`6qrHXuAcMi@oaX()T22LUIU:;MaugK7sI3UBIg0U2C;g%iD!l+V?c/%G^ok7Ad>/X?(@9@&^6=!e;8[0[P1T0T7Fl,5Ep_$4Z=# %1ebhWL21_^[CFM/jCemqO'p7FPh-_M%.:O*)@hP]EZTTDS_+q6!11c^prGX2"IM-HRK*FQAu[m]9Ye6,%ej?k#sA7u_=fdq4]%,j %`2Se?+(QOR%+o5O]TiRMe^<*]WoJ_H,04!IeV&elOO-.hjh-Sr,700i*lIRd`K5TQT#$:`)ItOo$9horLc:u(@N$!dZU?fu,Okfh %:kCY^(`s*ddClA8#GK^=eLf]mTPNSi-oo@G1cnMGa;F_*p((ce[%)Yu7bijH.o$.`.Ms@6e0JNt5q#hW+GHIGquC'ACBif"i,Y$h %/9kHFMUD_IkZ?C^OMO1C0)^)ieV=HUKo*sk(lth5%Nb-S#Yq,^VA]0k'h32>0EDtPlt(c"#4TMDF=JR[M8E/XC#ST[+=oKYJJK),^ca*\J"VLRMe^-IpX2[LX2*`)-07mmnEAO/Un+:#?XmY3E:8"%jOJB0H_uZho9ohaX"q@MQfT:50tsOd[I&3KBWT_MqR=[0ae!ab_u!;\/Fi-BK2l'M>(RAp_[WDFH=:8/WL]HP%8\c%Gm4#Veja!;f\pa&ct75T%1+VTZii %!1T(d-.*fAMf=J+mgQ)RI_.t.9:E"0pgF5rq0j/NPF"U[J=`KZLpCLj`mo1b.EH#uRRA8$rTmXr+74m8>^&#NaBI([5"nedIU*gb %@a-W"XZ9RX0A"(9#=4R8_ZWDY::.%U0eg@l%%8[90VL,:70\\0Nj2<)8=UZCG=[88LN2)Y'b;K*XrPIHdeKg-.KOi6W^[L)#@QCK %"gX2aOo-AU!QYS_1cuZ:##$72;!C`;fNreBUTHd85\abG!@iQ(POKp90W7<)BH2cIHr)"An-L'`/3.+/#-qhG(*Nm&[&LZ(.H9<5 %S3g>?6Weh7O2F)mC'"fK!YB89;<>MRd;^-2XpG\=ciL^Sar_)4?@66'4ICt*!WdHf]d4JhP*K4OMCEB^qd"* %AI>9\hP(H+AdFHM#S9`S%c\8?A!gq5:`9`IWK$KQ, %eFBb2TWUr*A-&&bI2sDrRKPj).fqYRLlZ:KX7A_GL?_,SMTk-ANokT"-oPd:J;)\aH>P!3F,;Dfgkih&JeLt:-7Cp9jZJoeaZ[RX %1\#9%N/^1Y$=oUh/-mq*'X/lNV-sXMi0&<)+Abe_aJg@*<9#)rPn-6% %_fL,0d2gP1!aj(_L;eRXIghj"q+)r4[4%W?):JRu8(@\tL>!PC'5%`=XWiXfM(4'-g=V'5J1r`#`2:^Sl/>)q?[cY)I-DPLn`#5t %0O]-PjCPR:N:EM;)'d1-;.]S[L3hJu:,n^t%cQI=@K)2d";J'ebS[6%T.tg,_NaT,qK!Fl1c/hlgY?4'!uM?E6Iuh0#TUd>6WS$> %fE-g7ZgIK0K<[$g<[L;^"/:Db=WS(]IJGRj?,*NN(3SV1%"F\R&<\agQQ?k(+W1=ALL5;F-qL!LmOmH6JfMdc@cQ]ba-FPqTjV.= %=cgK[)_b5:TL_>f"QP&k:I/YG4M'_nJ^B^ZHA@E,R"\%Xn>NOF0bAFL3!=ON9?kM9!7UO]Gpe-Xk1M4b<5%;uMu].F0#'$-^.43_ %5c$1*rWX"=n+3r@7hhnXHSCNr9H^4u-*g`&5Ua2t!Y4cj<>/aWPrA0&/=q\`)>At?:sg(_h#12o4.p4HN,qQ)rQm0mNi-PJ0quKM %IR(dUZ$;"WLWrQJi/n?Se,si+GW`kfqSs&O*Aid'T5Ru'3o52`aC-S,;dtOnLsgg/AInnWVc7*Bj"QO?2$(^e %7>i^)77$+#`?jCcfuLt`*J^@KVAIk6$12]Vj;=CG*]!lAj.VopYJcq?grL5d,!JN0NdI[K/t)+]YkEG0I7f5^r:f5aa6'"AE;7"+qna>PX=Ga>Oc"H]g*KUNO@ %_"4GjH%o36QScoTZZSVF'4d(B$k[&!!94.Kj!'+E[1KE+9udr1OuF!8]AagMHu[oH4iq/N2BEG#6K>d5DWB"R$29YcQU>pB\]+tj_6(NIMVKKJ5rb]h.'+q_;Z<84+M19@jTaGUI.=#7DB8c?3iX]o_P)VrVYYPqTJ>Apu4rHc6K%SsCV %h+"U*kr,i\Qd.f,!``@m>cr*Pc2>=gfTuF~> %AI9_PrivateDataEnd \ No newline at end of file diff --git a/syllabus/VI/mod.ak_egov.yaml b/syllabus/VI/mod.ak_egov.yaml new file mode 100644 index 0000000..d3c2b39 --- /dev/null +++ b/syllabus/VI/mod.ak_egov.yaml @@ -0,0 +1,67 @@ +name: + de: Ausgewählte Kapitel des E-Governments + +instructor: + de: Prof. Dr. Regina Polster, Prof. Dr. Sven Müller-Grune sowie Experten aus der Praxis + +id: + value: AgKEGov + +goal: + de: | + Anhand von konkreten Projekten sollen die erworbenen Kenntnisse in der Praxis angewendet werden. + +content: + de: | + Aktuelle Projektthemen + +form-of-instruction: + value: { 'lecture_seminar': 3, 'exersise': 1 } + +media-of-instruction: + de: | + Je nach Themenkomplex wechselnd. + + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Verwaltungsinformatik/E-Government. + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 30 Stunden; Selbststudium und selbstständige Tätigkeit: 120 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von XXXmin (Spezifikation fehlt!)" + +term: + value: 6 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: | + Für die Veranstaltung werden verschiedene Lehraufträge an Praxisexperten vergeben. + + Es werden verschiedene Exkursionen zu Praxispartnern durchgeführt. + +notes: + de: Spezifikation der Klausur fehlt \ No newline at end of file diff --git a/syllabus/VI/mod.analysis.yaml b/syllabus/VI/mod.analysis.yaml new file mode 100644 index 0000000..e551a29 --- /dev/null +++ b/syllabus/VI/mod.analysis.yaml @@ -0,0 +1,127 @@ +name: + de: Analysis + +instructor: + de: Dipl.-Math. Gerd Recknagel + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + - die formalen, mathematischen Notationen zu lesen zu interpretieren und zu verstehen. + - den axiomatischen Aufbau einer Wissenschaft am Beispiel der Analysis zu verstehen, sich mit dem fundiert bewiesenen Aufbau von wissenschaftlichen Aussagen vertraut zu machen und dieses Vorgehen auf neue Probleme zu übertragen. + - im Bereich der komplexen Zahlen Berechnungen nachzuvollziehen sowie selbst durchzuführen. + - Grenzübergänge und Grenzwertbetrachtungen durchzuführen sowie das Konvergenzverhalten von Folgen und Reihen zu untersuchen. + - reelle Funktionen vollständig zu diskutieren und ihren Verlauf grafisch darzustellen. + - Extremwertprobleme zur Optimierung von Größen in Wissenschaft, Technik und Ökonomie zu analysieren und zu strukturieren sowie diese unter Anwendung der eingeführten Techniken und Methoden zu lösen. + - Grundlegende Integrale zu berechnen sowie diese Technik für die Flächen- und Volumenberechnung einzusetzen. + - mathematische Denkweisen auf andere Gebiete zu übertragen und abstrakte Zusammenhänge zu verstehen. + - eigene Denkansätze und Lösungen zu entwickeln. + +content: + de: | + 1. Mengenlehre + - Grundbegriffe + - Mengenrelationen, Mengenoperationen + - Rechengesetze der Mengenoperationen + - kartesisches Produkt + 2. Reelle Zahlen + - Zahlenbereiche + - Ordnungsstruktur der reellen Zahlen, absoluter Betrag, Intervalle + - Potenzen, Wurzeln, Logarithmen, binomische Formeln, Summen und Produkte + - Grenzen von Mengen + - Gleichungen und Ungleichungen, Arten von Gleichungen und Ungleichungen sowie Lösungsstrategien + 3. Komplexe Zahlen + - Einführung, Grundbegriffe, Grundrechenarten + - Geometrische Darstellung (Normal-, Polarkoordinaten-, trigonometrische sowie trigonometrische Darstellung), Eulersche Formel + - geometrische Interpretation der Rechenoperationen mit komplexen Zahlen + - Multiplikation, Division, Potenzieren, Radizieren, Logarithmieren in exponentieller Darstellung, Fundamentalsatz der Algebra + 4. Funktionen + - Abbildungen + - Funktionsbegriff, Darstellung, Operationen, Symmetrie, Monotonie, Periodizität, Umkehrfunktion + - Spezielle Funktionen (ganz rationale, gebrochen rationale, Potenz-, Wurzel-, Exponential-, Logarithmus-, trigonometrische, zyklometrische Funktionen, Additionstheoreme) + 5. Zahlenfolgen + - Definition und allg. Eigenschaften, Zuordnungsvorschriften, Monotonie, Beschränktheit + - arithmetische und geometrische Folgen + - Grenzwert von Zahlenfolgen, Grenzwertsätze + - spezielle Zahlenfolgen, endliche arithmetische und geometrische Reihen, Beweisverfahren der vollständigen Induktion + + 6. Unendliche Reihen + - Definitionen, einfache Beispiele, Konvergenz, Vergleichskriterien + - Wurzel- und Quotientenkriterium + - Potenzreihen, Konvergenzverhalten + - Umordnung von Reihen + 7. Funktionen + - Stetigkeit und Grenzwerte + - Stetigkeit einer Funktion + - Grenzwerte von Funktionen, Grenzwertsätze + - Eigenschaften stetiger Funktionen, Nullstellensatz + 8. Differentialrechnung + - Ableitung einer Funktion, Differentialquotient, Differenzierbarkeit + - Differentiationsregeln, Ableitung von Grundfunktionen, Tangente an eine Kurve + - Mittelwertsatz der Differentialrechnung, Grenzwertberechnung + - Kurvendiskussion, Monotonie, Krümmung, Extrema + - Extremwertaufgaben + 9. Integralrechnung + - Integralbegriff und Integrierbarkeit, unbestimmtes Integral, Grundintegrale + - bestimmtes Integral, Fläche unter einer Kurve, Eigenschaften integrierbarer Funktionen + - Hauptsatz der Differential- und Integralrechnung, uneigentliche Integrale + - Integrationsverfahren, Substitution, partielle Integration, Partialbruchzerlegung + - Anwendung der Integralrechnung, Flächen- und Volumenberechnung + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 1 } + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente in Stud.IP zur Verfügung gestellt. + Darüber hinaus ist folgende Literatur empfehlenswert (jeweils in der neuesten Auflage): + + - Leupold, W.: Mathematik. Fachbuchverlag, Leipzig + - Heuser, H.: Lehrbuch der Analysis. Teubner + - Preuß, W.: Mathematik für Informatiker. Fachbuchverlag, Leipzig + - Königsberger, K.: Analysis. Springer, Berlin + - Teschl, G.: Mathematik für Informatiker. Springer, Berlin + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 45 Stunden; Selbststudium: 30 Stunden; Prüfung und Prüfungsvorbereitung: 15 Stunden + +credits: + value: 3 + +form-of-exam: + value: written + spec: + de: "Klausur von 120min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: \ No newline at end of file diff --git a/syllabus/VI/mod.arbeitsrecht.yaml b/syllabus/VI/mod.arbeitsrecht.yaml new file mode 100644 index 0000000..94e9d22 --- /dev/null +++ b/syllabus/VI/mod.arbeitsrecht.yaml @@ -0,0 +1,90 @@ +name: + de: Arbeitsrecht und juristisches Handwerkszeug Zivilrecht + +instructor: + de: Prof. Dr. Mathias Ulbrich + +id: + value: ArbeitsRecht + +goal: + de: | + Ziel des Moduls ist es, den Studierenden eine wissenschaftlich gestützte Einführung in das deutsche Arbeitsrecht zu vermitteln und sie damit zugleich zur Bewältigung der gängigsten Probleme der betrieblichen Personalarbeit zu befähigen. Dazu werden mit Blick auf die Fragestellungen der betrieblichen Praxis die dogmatischen Grundlagen des Arbeitsrechts vermittelt und anhand von Fällen theoretisch aufbereitet. Die Studierenden werden aktiv in die Veranstaltung einbezogen. Insbesondere in Falllösungen und Fallstudien werden sie eigenständige Lösungen allein oder in Gruppen erarbeiten. + + Die Studierenden vertiefen die Grundtechniken und Methoden, der Falllösungsund Gutachtentechnik (Subsumtion), um in begrenzter Zeit, juristische Fragestellungen gutachterlich beurteilen zu können und einer Lösung zuzuführen. Gleichzeitig werden Einzelfragen des Zivilrechts im Rahmen der Falllösungen vertieft betrachtet. + +content: + de: | + *Arbeitsrecht* + + - Einführung und Bedeutung des Arbeitsrechts + - Funktionen, Gliederung, Rangprinzip, Rechtsquellen des Arbeitsrechts + - Arbeitsverträge als Sonderformen des BGB-Dienstvertrages + - Individualarbeitsrecht + - Begriffe des Arbeitsrechts (Arbeitnehmer und Arbeitgeber) + - Gleichbehandlung im Arbeitsrecht + - Entstehung des Arbeitsverhältnisses; diskriminierungsfreie Personalauswahl + - Rechte und Pflichten von Arbeitnehmer und Arbeitgeber, AGB-Kontrolle von Arbeitsverhältnissen + - Störungen und Haftung im Arbeitsverhältnis + - Beendigung des Arbeitsverhältnisses + - Kollektives Arbeitsrecht + - Überblick über das kollektive Arbeitsrecht + - Einführung Betriebsverfassungsrecht und Tarifvertragsrecht + - Überblick über die Besonderheiten des arbeitsgerichtlichen Verfahrens + + *Juristisches Handwerkszeug Zivilrecht* + + - Vertiefung der Erstellung juristischer Gutachten auf dem Gebiet des Wirt- schaftsprivatrechts + - Kurzgutachten für zivilrechtliche Fälle als Vorbereitung auf Klausuren zum Abschluss der Modulprüfungen in Wirtschaftsprivatrecht II und III sowie im Unternehmensrecht + - Grundlagen des wissenschaftlichen Arbeitens + +form-of-instruction: + value: { 'lecture_seminar': 6 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente in Stud.IP zur Verfügung gestellt. + +author-of-indenture: + de: + +used-in: + de: | + Bachelor Verwaltungsinformatik/E-Government. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 45 Stunden; Selbststudium: 30 Stunden; Prüfung und Prüfungsvorbereitung: 15 Stunden + +credits: + value: 3 + +form-of-exam: + value: written + spec: + de: | + "Bezeichnung der Modulprüfung: Arbeitsrecht + + Getrennte Prüfung der Teilmodule Arbeitsrecht (Klausur 120 Minuten) und Juristisches Handwerkszeug Zivilrecht (Klausur 60 Minuten) - (XXX - nicht akkreditierungfähige Alternativen gestrichen) + +term: + value: 3 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Modulsprache Deutsch bei Bedarf Gastvorträge und Exkursionen + +notes: + de: nicht akkreditierungsfähige Alternativen gestrichen - bitte um Bestätigung + \ No newline at end of file diff --git a/syllabus/VI/mod.blockchain_app.yaml b/syllabus/VI/mod.blockchain_app.yaml new file mode 100644 index 0000000..308941b --- /dev/null +++ b/syllabus/VI/mod.blockchain_app.yaml @@ -0,0 +1,114 @@ +name: + de: Blockchain-Anwendungen + +instructor: + de: Prof. Dr. Kurt Englmeier + +id: + value: BlockChainApp + +goal: + de: | + **Kennen/Verstehen:** Der Kurs befasst sich + umfassend mit Blockchain und erläutert die + technischen Grundlagen sowie die Auswirkungen der + Blockchain-Technologie auf neue und bestehende + Geschäftsmodelle. + + Das konzeptionelle Verständnis der Bausteine und + Merkmale von Blockchain hilft, Architektur, + Funktionen und Merkmale von Blockchain-Anwendungen + zu verstehen. + + **Anwenden**: Der Kurs stellt Demonstratoren und + Anwendungsfälle für Blockchain-Anwendungen vor. + + Kryptografie und Sicherheitsalgorithmen sind + wichtige Elemente der Blockchain. Im Hinblick auf + das Design und die Entwicklung von + Blockchain-Anwendungen sind sie jedoch + „eingebaute" Bestandteile. Der Kurs steht für + einen anwendungsorientierten Ansatz von Blockchain + und geht nur am Rande auf Kryptographie und + Sicherheitsalgorithmen ein. Der Kurs gibt auch + eine Einführung in die Blockchain-Entwicklung mit + HyperLedger. + + **Analysieren/Bewerten:** Das Ziel des Kurses ist + es, den Teilnehmern zu ermöglichen, die + Blockchain-Technologie zu verstehen, die möglichen + Auswirkungen zu bewerten und den Nutzen bestimmter + Blockchain-Anwendungen für unterschiedliche + Geschäftsfelder zu entwickeln. + + **Synthetisieren:** Die Studierenden lernen die + Gestaltung von Blockchain-Anwendungen in der + Praxis: Zusammenhang zwischen Blockchain und + Internet-of-Things, Blockchain im Einzelhandel, in + der Energiewirtschaft, in der Personalwirtschaft, + Blockchain in der Finanzverwaltung und in weiteren + Bereichen. + +content: + de: | + * Grundlagen + * Verteilte Datenhaltung + * Peer-to-Peer-Netzwerke + * Transaktionen + * Funktionsweise der Blockchain + * Typen von Blockchains + * Vor- und Nachteile der Blockchain + * Ledger + * Datensicherheit und -integrität in einer Blockchain + * Konsensus + * Smart Contract + * Praxisbeispiele + * Programmieren mit Hyperledger + +form-of-instruction: + value: { 'lecture': XXX, 'exersise': XXX } + +media-of-instruction: + de: Eigenes Skript + + +author-of-indenture: + de: + +used-in: + de: > + Bachelor "Wirtschaftsinformatik & Digitale Transformation", "Verwaltungsinformatik/E-Government". + +prerequisites: + de: Keine + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 30 Stunden; Praxisarbeitszeit: 60 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von XXXmin" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + + +notes: + de: Form und Zeiten der Lehrveranstaltung nicht spezifiziert - bitte nachmelden! diff --git a/syllabus/VI/mod.compint.yaml b/syllabus/VI/mod.compint.yaml new file mode 100644 index 0000000..f56750d --- /dev/null +++ b/syllabus/VI/mod.compint.yaml @@ -0,0 +1,151 @@ +name: + de: Computerbasierte Intelligenz + +instructor: + de: Prof. Dr. Martin Golz + +id: + value: CompInt + +goal: + de: | + Die Studierenden eignen sich folgende fachbezogene Kompetenzen an: + + - Typische Problemstellungen der + Wissenstechnologien zu analysieren, + + - Prozessstufenkette für die adaptive + Datenanalyse zu konzipieren, + + - Konkrete Methoden der Prozessschritte zu + verstehen und zu analysieren, + + - Methoden der Validierungsanalyse zu verstehen + und anzuwenden, + + - Grundannahmen und Modelle der empirischen + Inferenz zu kennen. + + Die Studierenden erwerben methodische Kompetenzen + des abstrakten Denkens. Sie eignen sich an, wie + Lösungsstrategien zu planen und umzusetzen sind. + Zudem erwerben sie eine interdisziplinäre + Wissenstransfer-Fähigkeit, die sich aus + theoretischen Grundkenntnissen, + Anwendungserfahrungen sowie aus vermittelten + langjährigen Projekterfahrungen speist. + + Fachübergreifende Kompetenzen eignen sich die + Studierenden hinsichtlich der Kommunikation mit + fachfremden Expertinnen / Experten und einer + Rollenflexibilität in interdisziplinären Teams an. + +content: + de: | + Fachliche Inhalte: Grundbegriffe und ihre + Abgrenzung, Definitionen, Sätze und Postulate des + Fachgebiets, Kennenlernen diverser + Anwendungsprojekte. + + - Handlungsfelder, Ziele, Probleme + + - Aufgabentypen der computerbasierten + Intelligenz (CI) + + - CI-Prozesskette: Konzipierung, Validierung + + - Grundzüge der statistischen Lerntheorie + + - Datenerfassung, Vorverarbeitung + Merkmalsextraktion: Ziele, Bewertung + + - Überwachtes Lernen: Definition, Methoden, + Bewertung + + - Vertiefung: neuronale Netze, + Relevanzdetermination, Stützvektormethode, + Ensemble-Lernen, Tiefe Lernarchitekturen (deep + learning) + + - Unüberwachtes Lernen: Definition, Methoden, + Validierungsproblematik + +form-of-instruction: + value: { 'lecture': 999 } + +media-of-instruction: + de: | + Die Studierenden können sich auf die Teilnahme + vorbereiten durch Studieren der folgenden Quellen: + + - Vorlesungsskript + + - Internetquellen, insbesondere Wikipedia-Artikel + + - Folgende Lehrbücher: + + - Kruse, Borgelt, Braune, Klawonn, Moewes, + Steinbrecher (2015) Computational + Intelligence: Eine methodische Einführung. + Springer-Vieweg + + - Theodoridis, Koutroumbas (2008) Pattern + Recognition. Elsevier + + - Richter (2019) Statistisches und maschinelles + Lernen: Gängige Verfahren im Überblick. + Springer-Spektrum + + - Niemann (1983) Klassifikation von Mustern. + Springer (online kostenlos verfügbar) + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +prerequisites: + de: | + Voraussetzungen für die Teilnahme sind + Grundkenntnisse der Algebra, Analysis, Statistik + Datenbanken und des Software-Engineerings. + + Das eigenständige Studium von Fachliteratur + verschiedener Autorinnen / Autoren und + nachfolgende eigenständige Analyse und Synthese + der Wissenselemente zu einem konsistenten + Fachwissen sind für eine erfolgreiche Teilnahme + erforderlich. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: oral + spec: + de: "Dauer der Prüfung 25min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + + +notes: + de: Form und Zeiten der Lehrveranstaltung nicht spezifiziert - bitte nachmelden! diff --git a/syllabus/VI/mod.datenschutzrecht.yaml b/syllabus/VI/mod.datenschutzrecht.yaml new file mode 100644 index 0000000..92d523e --- /dev/null +++ b/syllabus/VI/mod.datenschutzrecht.yaml @@ -0,0 +1,93 @@ +name: + de: Datenschutzrecht + +instructor: + de: Prof. Dr. Sven Müller-Grune, Dipl.-Ing.(Univ.) Dipl.-Ing.(FH) Matthias Dick + +id: + value: Analysis + +goal: + de: | + Es sollen grundlegende Fachkenntnisse auf dem Gebiet des Datenschutzrechts und der Datenschutzpraxis vermittelt werden. + + Die Studierenden erhalten einen Überblick über das Rechtsgefüge des Datenschutzes in Europa und in Deutschland und setzen sich vertiefend mit speziellen Problemfeldern auseinander. Sie sind so in der Lage, Entscheidungen in nicht-öffentlichen und öffentlichen Einrichtungen vorzubereiten bzw. umzusetzen. + +content: + de: | + **Einführung** + + - Allgemeine Grundlagen und Gefährdungen + - nationale Entwicklung (Rechtsprechung BVerfG) + - Zusammenwirken von EU-Recht, nationalem Recht (Europäisches Primärrecht – DSGVO - Verfassungsrecht– BDSG – Landesgesetze – Spezialgesetze) + + **Datenschutz nach der DSGVO und dem BDSG** + + - Begriffe + - Grundsätze allgemein + - Rechtmäßigkeit der Verarbeitung + - Einwilligung + - Auftragsverarbeitung + - Grenzüberschreitender Datenverkehr + - Rechte der Betroffenen + - Besondere Pflichten der Verantwortlichen + - Datenschutzbehörden + - Rechtsschutz im Überblick + - Spezielle Gebiete (Video, Beschäftigte usw.) + + **Telekommunikation und Datenschutz** (TMG; E-Privacy) + + +form-of-instruction: + value: { 'lecture_seminar': 2 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + GDD: Gegenüberstellung DSGVO-BDSG + + Lehrbücher (z.B. Kühling/Klar/Sackmann, Datenschutzrecht) in der jeweils aktuellen Auflage + + Übersichten, Beispielsfälle + + +author-of-indenture: + de: + +used-in: + de: | + Folgemodule: keine + + Sinnvolle Kombinationsmöglichkeiten: Module zur Datensicherheit/ Informationssicherheit; Rechtsfragen der Digitalisierung + +workload: + de: | + Kontaktzeit/Präsenzstudium: 30 Stunden; Selbststudium: XXX Stunden; Prüfung und Prüfungsvorbereitung: XXX Stunden + +credits: + value: 2.5 + +form-of-exam: + value: written + spec: + de: "Klausur von 60min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: Modulsprache Deutsch + +notes: + de: Spezifikation des Workloads nicht ausreichend - bitte nachmelden! diff --git a/syllabus/VI/mod.dbs.yaml b/syllabus/VI/mod.dbs.yaml new file mode 100644 index 0000000..afae7c6 --- /dev/null +++ b/syllabus/VI/mod.dbs.yaml @@ -0,0 +1,129 @@ +name: + de: Datenbanksysteme + +instructor: + de: Prof. Dr. Thomas Heimrich + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + * Daten aus der Anwendungswelt in ein Entity-Relationship-Modell (ERM) zu überführen + + * aus dem ERM einen logischen Datenbankentwurf (relational) abzuleiten + + * den logischen Datenbankentwurf zu normalisieren + + * die theoretischen Grundlagen der Normalisierung beherrschen + + * Tabellen mit SQL zu erstellen, Daten in Tabellen einzufügen und zu ändern + + * komplexe select-Anfragen mit SQL auszuführen + + * eine Verbindung zwischen Oracle und einer Java-Anwendung herzustellen + +content: + de: | + 1. Datenmodellierung und Entity Relationship Modell + - Merkmale von Datenbanksystemen und die verschiedenen Arten von Datenunabhängigkeit + - der Begriff „Schlüssel" in der Datenbankwelt + - graphische Elemente (Notationen) im ERM + - Funktionalität und Kardinalität im ERM + - einfache und mehrwertige Relationen + - spezielle ERM-Elemente (IST-Beziehung, schwache Entitytypen) + - Überblick zur Datenmodellierung mit UML + 2. Das relationale Modell + - theoretische Grundlagen zu Relationen + - Überführung der ERM-Elemente in Relationen + - Überführung der verschiedenen Arten von Beziehungen in Relationen + - Überführung spezieller ERM-Elemente in Relationen + 3. Normalisierung (Relationale Entwurfstheorie) + - mögliche Anomalien bei der relationalen Modellierung + - Funktionale Abhängigkeiten + - formale Betrachtung) + - 1. bis 3. Normalform und deren Eigenschaften + - Algorithmus für die Normalisierung + - Boyce-Codd Normalform + 4. Relationale Algebra und Relationenkalkül + - relationale Algebra mit ihren Grundoperationen (Selektion, Projektion, verschiedene Join-Operationen, Mengenoperationen) + - der Operatorbaum als Mittel der Repräsentation von Algebra-Ausdrücken + - Anfragen mit dem Relationenkalkül + 5. Schemadefinition und Datenintegrität + - Einführung zu SQL + - SQL-Anweisungen zum Erstellen von Tabellen + - Möglichkeiten Integritätsbedingungen in SQL zu definieren + - SQL-Anweisungen um Daten in Tabellen einzufügen und zu ändern + 6. select-Anfragen mit SQL + - Grundstruktur der select-Anweisung + - einfache und komplexe (geschachtelte) select-Anweisungen + 7. Sichten in SQL + - Grundkonzept von Sichten + - Definition von Sichten + - Daten in Sichten einfügen und ändern + - Verwendung von Sichten für die Datenmodellierung + 8. Datenbankanbindung an Programmiersprachen + - Arten der Einbettung von SQL in eine Programmiersprachen + - Anbindung einer ORACLE-Datenbank an eine JAVA-Anwendung + - Anfragen an die Datenbank aus der JAVA-Anwendung heraus und verarbeiten der Anfrageergebnisse. + 9. Transaktionen + - Grundlagen zu Transaktionen + - Probleme bei der Nebenläufigkeit von Anfragen + - Sperrmodelle und Sperrprotokolle + +form-of-instruction: + value: { 'lecture': 2, 'pc_lab': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Vorlesungsunterlagen (werden den Studierenden zur Verfügung gestellt) + + Die folgende Literatur dient der Vertiefung der Inhalte: + + - Laudon, K. C., et al. (2016). Wirtschaftsinformatik: Eine Einführung, Pearson Deutschland GmbH. + - Leimeister, J. M. (2015). Einführung in die Wirtschaftsinformatik, Springer-Verlag. + - Schmid, A. Verwaltung, eGovernment und Digitalisierung: Grundlagen, Konzepte und Anwendungsfälle, 2019 + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Wirtschaftsinformatik & Digitale Transformation", „Verwaltungsinformatik/E-Government" und „Multimedia-Marketing" ein Pflichtmodul. + + Ferner ist eine Verwendung in anderen Studiengängen möglich, in denen Grundlagen zur Wirtschaftsinformatik vermittelt werden müssen. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 4 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.einf-vi.yaml b/syllabus/VI/mod.einf-vi.yaml new file mode 100644 index 0000000..a7a80c5 --- /dev/null +++ b/syllabus/VI/mod.einf-vi.yaml @@ -0,0 +1,102 @@ +name: + de: Einführung in die Verwaltungsinformatik + +instructor: + de: Prof. Dr. Florian Johannsen + +id: + value: EinfVI + +goal: + de: | + - Studierende sind in der Lage, den grundlegenden Aufbau eines Computers sowie dessen Funktionsweise zu beschreiben. + + - Gleichzeitig kennen die Studierenden unterschiedliche Anwendungssystemtypen und können diese nach „Funktionsbereichen” und „Anwendergruppen” klassifizieren. + + - Darüber hinaus verstehen die Kursteilnehmerinnen und -teilnehmer die Bedeutung von ERP-Systemen für Unternehmen. Sie können mit ausgewählten Modulen des ERP-Systems von SAP umgehen (z. B. Modul „MM”). + + - Zudem können Studierende zentrale Diagrammtypen der UML, zur konzeptuellen Modellierung von Anwendungssystemen, anwenden. + + - Außerdem kennen sie Einsatzmöglichkeiten sozialer Medien (z. B. soziale Netzwerke, Blogs etc.) zur Unterstützung der betrieblichen Wertschöpfung. + + - Studierende können den Begriff „Algorithmus” erläutern und sind mit grundlegenden Techniken zur Beschreibung von Algorithmen vertraut (z. B. Programmablaufplan). + + - Letztlich kennen Studierende zentrale Konzepte des Digital Business bzw. E-Governments. + +content: + de: | + Das Modul umfasst die folgenden Inhalte: + + - Grundlagen der Wirtschaftsinformatik + + - Einführung in Rechnersysteme & Algorithmen + + - Anwendungssysteme -- Grundlagen & Überblick + + - Einblicke in SAP/MACH + + - Grundlagen der konzeptuellen Modellierung + + - Betrieblicher Social Media-Einsatz + + - Einblicke in Digital Business + + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 1 } + +media-of-instruction: + de: | + Vorlesungsunterlagen (werden den Studierenden zur Verfügung gestellt) + + Die folgende Literatur dient der Vertiefung der Inhalte: + + - Laudon, K. C., et al. (2016). Wirtschaftsinformatik: Eine Einführung, Pearson Deutschland GmbH. + + - Leimeister, J. M. (2015). Einführung in die Wirtschaftsinformatik, Springer-Verlag. + + - Schmid, A. Verwaltung, eGovernment und Digitalisierung: Grundlagen, Konzepte und Anwendungsfälle, 2019 + + + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Wirtschaftsinformatik & Digitale Transformation”, „Verwaltungsinformatik/E-Government” und „Multimedia-Marketing” ein Pflichtmodul. + + Ferner ist eine Verwendung in anderen Studiengängen möglich, in denen Grundlagen zur Wirtschaftsinformatik vermittelt werden müssen. + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 4 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: Abklärung des *historischen* Verhältnis von 4SWS zu 4CP diff --git a/syllabus/VI/mod.einfprog.yaml b/syllabus/VI/mod.einfprog.yaml new file mode 100644 index 0000000..84886cb --- /dev/null +++ b/syllabus/VI/mod.einfprog.yaml @@ -0,0 +1,73 @@ +name: + de: Einführung in die Programmierung + +instructor: + de: Prof. Hartmut Seichter, PhD + +id: + value: EinfProg + +goal: + de: | + Studierende entwickeln Verständnis von Algorithmen und deren Umsetzung in syntaktischer und semantischer Hinsicht. Es werden Grundlagen der Programmierung in Java vermittelt und anhand von intensiven Übungen vertieft. Studierende lernen Probleme zu analysieren und programmatisch zu lösen. Es werden Grundlagen der OOP gelegt und die Nutzung von Packages geübt. + + +content: + de: | + - Basis Datentypen und Kodierung + - Einfache Datentypen, Variablen und Zuweisungen + - Ausdrücke + - Kontrollstrukturen + - statische Methoden, Methodensignaturen + - zusammengesetzte Datentypen + - Klassen und Objekte + - Pakete + - Container + +form-of-instruction: + value: { 'lecture': 2, 'pc_lab': 2 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente, Folien und Beispiellösungen in Stud.IP zur Verfügung gestellt. + +author-of-indenture: + de: + +used-in: + de: | + Bachelor Verwaltungsinformatik/E-Government, Informatik, Wirtschaftsinformatik & Digitale Transformation + + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur am PC von 90min" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: Abklärung ob der originale oder der neue Lehrveranstaltungsinhaber genannt wird diff --git a/syllabus/VI/mod.fortprog.yaml b/syllabus/VI/mod.fortprog.yaml new file mode 100644 index 0000000..07513d9 --- /dev/null +++ b/syllabus/VI/mod.fortprog.yaml @@ -0,0 +1,88 @@ +name: + de: Fortgeschrittene Techniken der Programmierung + +instructor: + de: Prof. Dr. Dr. Michael Cebulla + +id: + value: FortProg + +goal: + de: | + - Kenntnis fortgeschrittener Konzepte der objektorientierten Programmierung (mit Fokus auf Java 8) + + - Engineering-Aspekte der Programmierung: die Fähigkeit, diese Programmierkonzepte selbständig in Projekten anzuwenden + + - Programmieren gegen APIs von Drittanbietern (z.B. Spieleprogrammierung, Robotik) + + - Fähigkeit, objektorientierte Entwurfskonzepte praktisch anzuwenden + + +content: + de: | + - Objektorientierte Entwurfs- und Programmierkonzepte: Grundideen und Ziele der Objektorientierung, Grundlagen des OO-Entwurfs, Klassen und Objekte, Vererbung, Generics, Nebenläufige Programmierung) + + - Erlernen und Einüben der zielgerichteten praktischen Anwendung der Programmierkonzept + + - Einbindung von Komponenten und Programmieren gegen externe APIs + + - Funktionale Programmierkonzepte (z.B. Stream-basierte Programmierung) + + +form-of-instruction: + value: { 'lecture': 999, 'pc_lab': 999 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. Inhaltliche Voraussetzung sind die Themen der Veranstaltung *Einführung in die Programmierung* + +media-of-instruction: + de: | + + - Ullenboom, Christian, Java ist auch eine Insel: Java programmieren lernen mit dem umfassenden Standardwerk für Java-Entwickler, Bonn/Rheinwerk 2018 + + - Eckel, Bruce, Thinking in Java, Prentice Hall, 2006 + + - Oracle, The Java Tutorials, https://docs.oracle.com/javase/tutorial/ + + - Habelitz, Hans-Peter, Programmieren lernen mit Java: der leichte Einstieg, Bonn, Rheinweg, 2017 + + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist ein Pflichtmodul im ersten Studienabschnitt in den Studiengängen Informatik, Wirtschaftsinformatik und Verwaltungsinformatik/E-Government. Es setzt nach der „Einführung in die Programmierung” die Vermittlung der Grundlagen der Programmierung fort. Es vermittelt dabei nicht nur Kenntnisse einer Programmiersprache sondern setzt auf die Vermittlung von praxisbezogenen Engineering-Fähigkeiten, die zu einer selbständigen Entwicklertätigkeit in der beruflichen Praxis befähigen. + + Dieses Modul befähigt damit nicht nur zur selbständigen Software-Entwicklung, sondern vermittelt damit auch Kompetenzen, die in weiteren Moduln der Bachelor und Master-Studiengänge benötigt werden. + + +workload: + de: > + 150 Stunden (Präsenzzeit: 60 Stunden, Selbststudium: 60 Stunden, Prüfung und Prüfungsvorbereitung: 30 Stunden) + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur am PC von XXXmin" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Da die Programmierung eine praktische Tätigkeit ist, geht es in der Lehrveranstaltung nicht nur darum, Konzepte zu vermitteln, sondern deren Verwendung auch praktisch einzuüben. Aus diesem Grund sind Vorlesung und Übungsbetrieb in dieser Lehrveranstaltung in besonderer Weise verzahnt. + +notes: + de: Kollege lehrt nicht mehr an der HSM. Ersatz? diff --git a/syllabus/VI/mod.grund-verwaltbw.yaml b/syllabus/VI/mod.grund-verwaltbw.yaml new file mode 100644 index 0000000..57b2c7d --- /dev/null +++ b/syllabus/VI/mod.grund-verwaltbw.yaml @@ -0,0 +1,119 @@ +name: + de: Grundlagen der Verwaltungsbetriebswirtschaft + +instructor: + de: Professor Dr. Dr. Thomas Urban + +id: + value: GrundVerBeWi + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + - betriebswirtschaftliche Problemstellungen in einen unternehmerischen Zusammenhang einzuordnen + + - Kenntnisse über die grundlegenden Charakteristika der Rechtsformen der Personen- und Kapitalgesellschaften zu erlangen + + - die grundlegenden Organisationsformen zu kennen + + - betriebswirtschaftliche Zielformulierungen und Entscheidungen aus Sicht des Managements zu treffen sowie deren Risiken einzuschätzen + + - grundlegende volkswirtschaftliche Kenntnisse zu erwerben + +content: + de: | + 1. Betriebswirtschaftliche Grundlagen + 2. Rechtsformen und Unternehmensgründung + - Standort des Unternehmens + - Unternehmenszusammenschlüsse und -kooperationen + - Insolvenz, Sanierung und Liquidation + - Rechtsformen öffentlicher Unternehmen + 3. Unternehmensstrategien und -ziele + - Zielbildung + - Zielinhalt + - Zieldimension + - Zielbeziehung + 4. Personal + - Personalbedarfsermittlung und -beschaffung + - Personalmotivation und -entlohnung + - Personalentwicklung und -führung + 5. Controlling + - Wertorientierte Unternehmensführung + - Controllingbereiche + - Controllinginstrumente + 6. Organisation + - Aufbau- und Ablauforganisation + - Organisationsformen in der Praxis + - Organisationsentwicklung + + 7. Management + - Managementfunktionen + - Public Management/Non Profit Management + - Strategisches Management + - Risikomanagement + 8. Grundlagen der Mikroökonomie + - Volkswirtschaftliche Grundlagen + - Marktformen und -mechanismen + + + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 2 } + +media-of-instruction: + de: | + Den Studierenden wird mit einem einführenden Lehrvideo (Vorlesung Null) die Ziele und inhaltliche Verknüpfungen der Vorlesung sowie deren Einordnung in den Studiengang dargestellt. + + Darüber hinaus ist folgende Literatur empfehlenswert (jeweils in der neuesten Auflage): + + - Hopp, H.: Management in der öffentlichen Verwaltung: Organisations- und Personalarbeit in modernen Kommunalverwaltungen, 2020 + - Schierenbeck, H.: Grundzüge der Betriebswirtschaftslehre, Oldenbourg Wissenschaftsverlag, München. + - Thommen, J.-P./Achleitner A.-K.: Managementorientierte Betriebswirtschaftslehre, Gabler, Wiesbaden + - Töpfer, A.: Betriebswirtschaftslehre – anwendungs- und prozessorientierte Grundlagen, Springer-Verlag, Berlin + - Wöhe, G. et. al.: Einführung in die allgemeine Betriebswirtschaftslehre, Vahlen-Verlag, München. + + + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Wirtschaftsinformatik und Digitale Transformation”, „Verwaltungsinformatik/E-Government” „Multimedia Marketing” und „Informatik” ein Pflichtfach. + + Ferner ist eine Verwendung in anderen Wirtschaftsinformatik-Studiengängen und in Studiengängen mit Informatik- oder wirtschaftswissenschaftlichen Inhal-ten nach dortiger Prüfungsordnung möglich. + + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.grund-webtech.yaml b/syllabus/VI/mod.grund-webtech.yaml new file mode 100644 index 0000000..a46cbef --- /dev/null +++ b/syllabus/VI/mod.grund-webtech.yaml @@ -0,0 +1,115 @@ +name: + de: Grundlagen der Webtechnik + +instructor: + de: Dipl.-Inform.(FH) René Brothuhn + +id: + value: GrundWebTech + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + - den grundsätzlichen Aufbau und die Funktion von modernen (HTML5) Web-Seiten und Web-Anwendungen zu verstehen + + - Web-Auftritte und Web-Anwendungen zu entwickeln, zu erweitern und zu warten + + - Web-Oberflächen mit HTML/CSS zu erstellen + + - mit Hilfe JavaScript/DOM browserseitige Interaktionen zu realisieren + + - grundlegende Client/Server-Interaktion auf Basis von HTTP verstehen und in Anwendungen nutzen können + + - geeignete Datenformate für Webanwendungen auswählen können + + - zukünftige Web-Technologien auswählen und bewerten können + + +content: + de: | + - Grundlagen von Client/Server-Anwendungen + + - Entwicklung von Web-Oberflächen mit HTML und CSS + + - Steuerung der Oberfläche mit JavaScript/DOM und Eventverarbeitung + + - Web-Kommunikation und die zugrundeliegenden Protokolle, insbesondere HTTP + + - Einführung in die Serverprogrammierung mit PHP + + - Erweiterte Web-Interaktionen mit Ajax + + - Grundlagen des Responsive Webdesigns (RWD) + + - Grundlagen von Bild-, Audio- und Videoinformationen, sowie deren Datenformate und Standards + + - Ausblick auf erweiterte Web-Anwendungen mit HTML5-Techniken + + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +prerequisites: + de: | + Formelle Voraussetzungen bestehen nicht. + + Inhaltliche Voraussetzungen: Grundlegende Programmierkenntnisse (Prozedural, Objektorientiert), Rechnernetze + +media-of-instruction: + de: | + Den Studierenden werden ein umfangreicher Foliensatz sowie ausführliche Beispiele zur Verfügung gestellt. Darüber hinaus ist folgende Literatur empfehlenswert: + + http://www.w3schools.com + + http://selfhtml.org + + "HTML Living Standard" - https://html.spec.whatwg.org + + IETF, RFC 2616 "Hypertext Transfer Protocol", https://tools.ietf.org/html/rfc2616 + + "PHP Handbuch" - https://www.php.net/manual/de + + http://www.selfphp.de + + "DIVE INTO HTML5" - Mark Pilgrim - http://diveintohtml5.info + + "Computernetzwerke" - Tanenbaum, Andrew S. - Pearson Studium + + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist im Bachelorstudiengang „Verwaltungsinformatik/E-Government” ein Pflichtfach, in den Bachelorstudiengängen „Informatik” und „Wirtschaftsinformatik & Digitale Transformation” ein Wahlpflichtmodul. Die Verwendung in anderen Studiengängen ist möglich, sofern Grundlagen der Informatik, Programmierung und Rechnernetze vermittelt wurden. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 45 Stunden; Prüfung und Prüfungsvorbereitung: 45 Stunden + +credits: + value: 5 + +form-of-exam: + value: oral + spec: + de: "mündliche Prüfung von XXXmin" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: mündliche Prüfung nicht spezifiziert - bitte nachmelden! diff --git a/syllabus/VI/mod.it-consult.yaml b/syllabus/VI/mod.it-consult.yaml new file mode 100644 index 0000000..4f4df1a --- /dev/null +++ b/syllabus/VI/mod.it-consult.yaml @@ -0,0 +1,95 @@ +name: + de: IT-Governance und IT-Consulting + +instructor: + de: Prof. Dr. Regina Polster + +id: + value: ITGovCons + +goal: + de: | + Die Studierenden kennen am Beispiel IT-Governance die unterschiedlichen Geschäftsmodelle von IT-Beratungen bzw. Beratungsprodukte und sind in der Lage, einen Basis Vorschlag für IT Beratungsprojekte zu erstellen. + + Die Eigenschaften von IT-Beratern und die Grundlagen ethischen Handelns bzw. Good Governance sowie grundlegende IT-Governance-Referenzmodelle werden anhand konkreter Fragestellungen in Fallstudien bearbeitet. + + Durch das teamorientierte Arbeiten/Rollenspiele werden Softskills hinsichtlich Rhetorik (Feedback-, Konflikt- und Verhandlungsgespräche) gefördert. + +content: + de: | + Das Modul umfasst die folgenden Inhalte: + + **Grundlagen von GRC (Goverance, Risk und Compliance)** + + - Strategie und Ethik der Governance und IT-Governance + - House of IT-Compliance und Beispiele für regulatorisches Fehlverhalten, Trusted Shops und ethische Leitlinien für KI + - Grundlagen von COSO, CoBIT, ITIL/ISO 20000 und IT-Security Managementsystemen nach ISO 27000 + + **IT-Consulting** + + - Einführung in den Beratungsmarkt und Beratungsfelder der IT-Beratung + - Consulting-Methoden + - Internes IT-Consulting + - Einführung von IT-Governance anhand von Referenzmodellen (ITIL) + - Krisenmanagement in IT-Sicherheitsmanagement + - Nachhaltigkeit und Corporate Social Responsibility + - Externes IT-Consulting + - Entwicklung von Beratungsprodukten und Akquisition + - Angebotserstellung und Kalkulation von IT-Projekten + - Konfliktfeld Change Management + - Spannungen in AG/AN-Verhältnissen + + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 2 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. Der Besuch der Veranstaltung „Information Engineering wird empfohlen. + +media-of-instruction: + de: | + Vorlesungsunterlagen (werden den Studierenden zur Verfügung gestellt) + + Die folgende Literatur dient der Vertiefung der Inhalte: + + - Knoll, Matthias, Strahringer, Susanne IT-GRC-Management – Governance, Risk und Compliance: Grundlagen und Anwendungen, 2018 + - Niedereichholz, Christel.: Unternehmensberatung 1: Beratungsmarketing und Auftragsakquisition, 2010 + - Niedereichholz, Christel.: Unternehmensberatung: Band 2: Auftragsdurchführung und Qualitätssicherung, 2012 + - Tiemeyer, Ernst et al., Enterprise IT-Governance im digitalen Zeitalter: Unternehmensweite IT-Planung und zentrale IT-Steuerung in der Praxis, 2020 + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Verwaltungsinformatik/E-Government” „Wirtschaftsinformatik & Digitale Transformation” und „Multimedia-Marketing” ein Wahlpflichtmodul. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "XXX - Projektarbeit nicht von PO gedeckt" + +term: + value: 6 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + +notes: + de: Spezifikation der Prüfungsform nicht von der Prüfungsordnung gedeckt - bitte nachmelden! diff --git a/syllabus/VI/mod.it-sicher.yaml b/syllabus/VI/mod.it-sicher.yaml new file mode 100644 index 0000000..45734e1 --- /dev/null +++ b/syllabus/VI/mod.it-sicher.yaml @@ -0,0 +1,80 @@ +name: + de: IT-Sicherheit und Datenschutz + +instructor: + de: Prof. Ralf C. Staudemeyer, Ph.D. + +id: + value: ITSichDaten + +goal: + de: | + Dieser Kurs ist eine Einführung in die Grundlagen der IT-Sicherheit und des Datenschutzes, um deren wirtschaftliche und gesellschaftliche Bedeutung besser zu verstehen. Absolventen können Bedrohungen und Risiken einschätzen und verstehen Angriffsszenarien und die Prinzipien der derzeit verfügbaren Abwehrmechanismen. Sie können IT-Systeme und Netze bezüglich ihrer Sicherheit einstufen und Verschlüsselungsverfahren beurteilen. Schwerpunkte dieses Moduls sind die erfolgreiche Risikoanalyse und ein detaillierter Einblick in den angewandten Datenschutz nach DSGVO (Datenschutz-Grundverordnung). + +content: + de: | + Dies Modul ist grundsätzlich wie folgt strukturiert: + + - Grundlagen IT-Sicherheit (Fallstudien, Terminologie, Risikoanalyse, Schutzziele, gesetzliche Rahmenbedingungen) + + - Angriffe (Angriffstypen, technische Angriffe, Sicherheitsproblem Mensch) + + - Authentifikation (Rechtliche Regelungen, Biometrie, Zugriffskontrolle) + + - Grundlagen Kryptographie (Prinzipien, Blockchiffren, Symmetric- und Public-key Kryptographie, Hashfunktionen, Digitale Signaturen) + + - Grundlagen Datenschutz (Grundprinzipien, Vorratsdatenspeicherung, gesellschaftliche Aspekte, EU-Datenschutzgrundverordnung) + + - Einführung in Schutzmaßnahmen (Email, Chat, Web) + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + - Eckert, C. (2014). IT-Sicherheit. Berlin, München, Boston. De Gruyter. + + - BSI Standard IT-Grundschutz https://www.bsi.bund.de/DE/Themen/ITGrundschutz/itgrundschutz_node.html + + - prüfungsrelevante Literatur wird bekanntgegeben (Änderungen möglich) + +author-of-indenture: + de: + +used-in: + de: | + Pflichtmodul in den Bachelorstudiengängen: Verwaltungsinformatik/E-Government, Wirtschaftsinformatik, Multimedia Marketing. Eine Verwendung in anderen Studiengängen ist möglich. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium, Prüfung und Prüfungsvorbereitung: 90 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + + +notes: + de: diff --git a/syllabus/VI/mod.linear-alg.yaml b/syllabus/VI/mod.linear-alg.yaml new file mode 100644 index 0000000..4b23b16 --- /dev/null +++ b/syllabus/VI/mod.linear-alg.yaml @@ -0,0 +1,132 @@ +name: + de: Lineare Algebra + +instructor: + de: Dipl.-Math. Gerd Recknagel + +id: + value: LinearAlg + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + - die formalen, mathematischen Notationen zu lesen zu interpretieren und zu verstehen. + + - lineare Gleichungssysteme und Eigenwertprobleme zu lösen, Determinanten, Matrizenprodukte, Faktorisierungen von Matrizen und Projektionen zu berechnen sowie kleinste Quadrate Approximationen durchzuführen. + + - Grundlagenwissen in angewandter höherer Mathematik sowie geeignete Methoden der linearen Algebra bei wissenschaftlichen, technischen bzw. wirtschaftlichen Fragestellungen anzuwenden. + + - mathematische Modellierungen zur Lösung von Problemen der Berufspraxis einzusetzen. + + - mathematische Problemstellungen zu analysieren und zu strukturieren sowie diese unter Anwendung der eingeführten Techniken und Methoden zu lösen. + + - mathematische Denkweisen auf andere Gebiete zu übertragen und abstrakte Zusammenhänge zu verstehen. + + - eigene Denkansätze und Lösungen zu entwickeln. + + +content: + de: | + + 1. Vektorrechnung + - Was sind Vektoren? + - Zweidimensionale Vektoren (Definition, geometrische Deutung, Arithmetik, Rechenregeln, Linearkombinationen, Skalarprodukt, Winkel zwischen Vektoren) + - Drei- und mehrdimensionale Vektoren (Definition, geometrische Deutung, Arithmetik, Rechenregeln, Linearkombinationen, Skalarprodukt, Winkel zwischen Vektoren) + 1. Lineare Gleichungssysteme mit zwei Unbekannten + - Sichtweisen + - Eliminationsverfahren + - Lösbarkeit + 1. Lineare Gleichungssysteme mit m Gleichungen und n Unbekannten... + - Definition, Äquivalente Umformungen, Lösbarkeit + - Gaußsches Eliminationsverfahren + 1. Matrizen/Matrizenrechnung + - Einführung und Definitionen + - Rechenregeln für Matrixoperationen + - Multiplikation von Matrizen + - Inverse Matrizen, Gauß-Jordan-Verfahren + - Faktorisierung einer Matrix + - symmetrische Matrizen + 1. Vektorräume und Untervektorräume + - Räume von Vektoren, Spaltenraum einer Matrix + - Kern und Rang einer Matrix + - vollständige Lösung eines linearen Gleichungssystems + - Lineare Unabhängigkeit, Basis und Dimension + - Dimension der Unterräume einer Matrix, Fundamentalsatz der Linearen Algebra + 1. Orthogonalität + - Orthogonalität der Unterräume einer Matrix, Fundamentalsatz der Linearen Algebra + - Orthogonale Projektion + - Kleinste Quadrate Approximation + - Orthonormale Basen, Gram-Schmidt-Verfahren + + 1. Determinanten + - Eigenschaften von Determinanten + - Berechnung der Determinante + - Volumen geometrischer Körper, Kreuzprodukt + 1. Eigenwerte und Eigenvektoren + - Eigenwert, Eigenvektor + - Lösen von Eigenwertproblemen, charakteristisches Polynom + - Diagonalisierung einer Matrix, Potenzen von Matrizen + - Eigenwerte und Eigenvektoren symmetrischer Matrizen + + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente in Stud.IP zur Verfügung gestellt. + + Darüber hinaus ist folgende Literatur empfehlenswert (jeweils in der neuesten Auflage): + + - Strang, G., Lineare Algebra, Wellesley-Cambridge Press, Wellesley + - Manteuffel, K., Lineare Algebra, Teubner Verlag, Leipzig + - Pforr, E., Oehlschlaegel, L., Seltmann, G., Übungsaufgaben zur linearen Algebra und linearen Optimierung., Teubner Verlag, Leipzig + - Leupold, W., u.a., Mathematik ein Studienbuch für Ingenieure, Fachbuchverlag Leipzig -- Köln + - Beutelspacher, A., Lineare Algebra, Vieweg Verlag, Braunschweig/Wiesbaden... + - Preuß, W., Lehr- u Übungsbuch Mathematik für Informatiker, Fachbuchverlag, Leipzig + + +author-of-indenture: + de: + +used-in: + de: | + + Das Modul ist in den Bachelorstudiengängen „Verwaltungsinformatik/E-Government”, „Informatik”, „ Multimedia-Marketing” und „Wirtschaftsinformatik & Digitale Transformation” ein Pflichtfach. + + Ferner ist eine Verwendung in anderen Studiengängen nach dortiger Prüfungsordnung möglich. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 120min" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + + +notes: + de: diff --git a/syllabus/VI/mod.net-conf.yaml b/syllabus/VI/mod.net-conf.yaml new file mode 100644 index 0000000..818c654 --- /dev/null +++ b/syllabus/VI/mod.net-conf.yaml @@ -0,0 +1,95 @@ +name: + de: Netzwerkplanung und -konfiguration + +instructor: + de: Prof. Dr.-Ing. Heinz-Peter Höller + +id: + value: NetzPlanKonf + +goal: + de: | + - Spezifische Kenntnisse von Technologien der Schichten zwei und drei, die über das Grundlagenwissen hinausgehen + + - Analyse der Aufgabenstellung und Abbildung auf ein Netzdesign + + - Anwenden des Grundlagenwissens zur Planung eines komplexen Netzwerkes, insbesondere Subnetztopologie, Adressplan, Routingkonzept + + - Konkrete Konfiguration der Netzwerkplanung mithilfe von Switches (Schicht 2), Routern (Schicht 3) und Endsystemen + + +content: + de: | + - Kabeltechnik + + - Ethernet-Zugriffsverfahren und Switching + + - Virtual Local Area Networks (VLANs) + + - Routing und Inter-VLAN-Routing + + - Spezialprotokolle (DHCP, NAT) + + - Netzwerktools (ping, tracert, ipconfig, etc.) + + - Grundzüge CISCO IOS + + - Netzwerkplanungsskizzen + + - Erstellung einer Netzwerkplanung + + - IP-Subnetzadressplanung + + + +form-of-instruction: + value: { 'lecture': 999, 'exersise': 999 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. Inhaltliche Vorraussetzung ist die Veranstaltung *Rechnernetze* + +media-of-instruction: + de: | + Vorbereitung anhand des Vorlesungsskripts, der angegebenen Literatur und durch die praktischen Prozesse der Planung und späteren Konfiguration + + - Badach, A. & Hoffmann, E. (2019). Technik der IP-Netze. 4. Auflage. Hanser. + - Dembowski, K. (2009). Lokale Netze. Handbuch der kompletten Netzwerktechnik. Addison Wesley. + - „Cisco 3600 Series - Modular, High-Density Access Routers", htt p://www.cisco.com/univercd/cc/td/doc/pcat/3600.htm + - "EOL: Catalyst 2926 Series - Multilayer Switches", http: //www.cisco.com/univercd/cc/td/doc/pcat/ca2926.htm + +author-of-indenture: + de: + +used-in: + de: | + Dieses Wahlpflichtmodul baut auf der Lehrveranstaltung Rechnernetze auf. Es kann belegt werden, wenn die entsprechenden Grundlagenkenntnisse vorhanden sind. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 45 Stunden; Selbststudium: 30 Stunden; Prüfung und Prüfungsvorbereitung: 15 Stunden + +credits: + value: 5 + +form-of-exam: + value: oral + spec: + de: "mündliche Prüfung von XXXmin" + +term: + value: 6 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + +notes: + de: Kollege lehrt nicht mehr - Ersatz notwendig! diff --git a/syllabus/VI/mod.nosql.yaml b/syllabus/VI/mod.nosql.yaml new file mode 100644 index 0000000..d07ab5d --- /dev/null +++ b/syllabus/VI/mod.nosql.yaml @@ -0,0 +1,107 @@ +name: + de: Data-Warehouse-Systeme und NoSQL-Systeme + +instructor: + de: Prof. Dr. Thomas Heimrich + +id: + value: DWSNOSQL + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + - multidimensionale Datenmodellierungen + durchzuführen + + - ein Data Warehouse physisch zu erstellen + + - Anfragen an ein Data Warehouse zu stellen + + - Datenmodellierungen für NoSQL-Datenbanken + vorzunehmen + + - Daten in NoSQL-Datenbanksystemen zu speichern + und abzufragen + +content: + de: | + 1. Data-Warehouse-Systeme + - multidimensionale Datenmodellierung + - Extraktion Transformation und Laden + - physischer Entwurf (Partitionierung, + Indexierung -- B-Baum, Bitmap-Indexe, + Mehrdimensionale Indexe) + - Anfrageverarbeitung und materialisierte Sichten + - Data-Mining-Verfahren (Algorithmen) + + 2. NoSQL -- Datenbanken (MongoDB) + - Theoretische Grundlagen zu NoSQL-Datenbanken + - Speichern, Anfragen, Ändern von Daten in + MongoDB + - Anbindung an PHP + - JavaScript als serverseitige + Programmiersprache für MongoDB + + 3 Verteilte Datenbanken + - Arten der Fragmentierung + - verteilte Anfragen + + +form-of-instruction: + value: { 'lecture': 3, 'pc_lab': 1 } + +media-of-instruction: + de: | + Den Studierenden wird zu Beginn der Veranstaltung ein umfangreicher Foliensatz mit weiterführenden Hinweisen zur Verfügung gestellt. + + Darüber hinaus ist folgende Literatur empfehlenswert (jeweils in der neuesten Auflage):\ + + - V. Köppen, G. Saake, K.-U. Sattler: „Data Warehouse Technologien" + - A. Bauer, H. Günzel: „Data Warehouse Systeme -- Architektur, Entwicklung, Anwendung" + - W. Lehner: „Datenbanktechnologie für Data-Warehouse-Systeme -- Konzepte und Methoden" + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Informatik", „Verwaltungsinformatik/E-Government" und „Wirtschaftsinformatik & Digitale Transformation" ein Wahlpflichtmodul. + + Ferner ist eine Verwendung in anderen Studiengängen möglich, in denen vertiefte Kenntnisse zu Datenbanksystemen vermittelt werden müssen. + +prerequisites: + de: | + Formelle Voraussetzungen bestehen nicht. + + Inhaltliche Voraussetzung ist das Modul *Datenbanksysteme*. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.oeff-recht-1.yaml b/syllabus/VI/mod.oeff-recht-1.yaml new file mode 100644 index 0000000..06651d2 --- /dev/null +++ b/syllabus/VI/mod.oeff-recht-1.yaml @@ -0,0 +1,81 @@ +name: + de: Öffentliches Recht I (Verfassungs-, Staats- und Europarecht) + +instructor: + de: Prof. Dr. Sven Müller-Grune + +id: + value: OeffRech1 + +goal: + de: | + Es sollen Grundzüge des deutschen Staats- und Verfassungsrechts als Grund- lage für das Verständnis der deutschen Rechtsordnung im Allgemeinen und der Wirtschaftsverfassung sowie des Wirtschaftsverwaltungsrechts im Beson- deren vermittelt werden. + + Ferner sollen die Studierenden grundlegende Kenntnisse der übergreifenden europäischen Rechtsordnungen, insbesondere des Unionsrechts sowie deren Bezüge zum nationalen Recht erhalten und lernen, dieses Wissen auf wirt- schaftliche Sachverhalte im europäischen Binnenmarkt anzuwenden. + +content: + de: | + **Teilmodul Europarecht**: Begriff und Grundprinzipien der supranationalen europäischen Rechtsordnungen, insbesondere des Unionsrechts (Organe der Union, Rechtsquellen, Rechtsetzungs- und Rechtsprechungsverfahren, Verhältnis zum nationalen Recht, Binnenmarkt, Rechts- harmonisierung, Grundfreiheiten, „Politiken“ der Union, Wirtschafts- und Währungsunion, Tendenzen) + + **Teilmodul Staats- und Verfassungsrecht**: + + - Verfassungsprinzipien (insbesondere Rechtsstaatsprinzip und Verhältnismäßigkeitsgrundsatz) + - Staatsrecht (Grundlagen, Wirtschafts- und Finanzverfassung, Organe, Kompetenzverteilung, Gesetz- gebungsverfahren, Beteiligung von Betroffenen und Verbänden) + - die Grundrechte (Art.1-19) mit Betonung der wirtschaftsrelevanten Gewährleistungen und Freiheiten, Prüfung Eingriff und Rechtfertigung + - Aufgabe und Bedeutung des Bundesverfassungsgerichts + +form-of-instruction: + value: { 'lecture_seminar': 4 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + + Skript bzw. Vorlesungsfolien ausführliche Literaturhinweise zum Beginn des Semesters + + Oberrath, Öffentliches Recht + + +author-of-indenture: + de: + +used-in: + de: > + Folgemodule: Öffentliches Recht II, Schwerpunktmodule Unternehmen und Verwaltung + + Sinnvolle Kombinationsmöglichkeiten: alle wirtschaftsrelevanten Module andere Studiengänge: ./. + + +workload: + de: > + Gesamtworkload 150 Stunden (XXX - Spezifikation notwendig!) + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Teilklausur Staats- und Verfassungsrecht von 60min, Teilklausur Europarecht von 60min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: > + Modulsprache: Deutsch + + +notes: + de: Spezifikation des Workloads nicht ausreichend - bitte nachmelden! diff --git a/syllabus/VI/mod.oeff-recht-2.yaml b/syllabus/VI/mod.oeff-recht-2.yaml new file mode 100644 index 0000000..defd63d --- /dev/null +++ b/syllabus/VI/mod.oeff-recht-2.yaml @@ -0,0 +1,106 @@ +name: + de: Öffentliches Recht II (Verwaltungsrecht und Sozialrecht) + +instructor: + de: Prof. Dr. Sven Müller-Grune + +id: + value: OeffRecht2 + +goal: + de: | + Es werden die wirtschaftsrelevanten Grundzüge des Verwaltungshandelns, Verwaltungsverfahrens und des Verwaltungsprozessrechts vermittelt. Die Studierenden sind in der Lage, (sozial-) verwaltungsrechtliche Sachverhalte einzuordnen und in der betrieblichen Praxis eigenständig einer Lösung zuzuführen und gegen Akte der öffentlichen Gewalt Maßnahmen des Rechtsschutzes zu ergreifen. + + Die Studierenden erhalten zudem einen Überblick über die besondere verwaltungsrechtliche Materie des Sozialrechts mit ihren starken Bezügen zum Zivil- und Arbeitsrecht. + +content: + de: | + **Öffentliches Recht II** + + - Abgrenzung Öffentliches Recht – Privatrecht + - Nichtförmliches Verwaltungshandeln, insbesondere durch Verwaltungsakt + - Verwaltungsprozessrecht + - E-Government: Besonderheiten von Digitalisierungsprozessen + - ausgewählte Fragen an Beispielen des besonderen Verwaltungsrechts, insbe- sondere aus dem Wirtschaftsverwaltungsrecht + - Grundzüge der Staatshaftung + + **Sozialrecht** + + - Aufgaben und Einteilung des Sozialrechts + - Allgemeiner Teil des SGB (SGB I) + - Gemeinsame Vorschriften für die Sozialversicherung und Arbeitsförderung (SGB + - Gesetzliche Rentenversicherung – SGB VI + - Arbeitsförderung – SGB III, + - Krankenversicherung – SGB V + - Pflegeversicherung – SGB XI + - Unfallversicherung – SGB VII + - Überblick: Steuerfinanzierte Sozial-leistungen (insbesondere SGB II) + - Überblick: Sozialverwaltungsverfahren + + +form-of-instruction: + value: { 'lecture_seminar': 2, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + *Verwaltungsrecht* + + ausführliche Literaturhinweise zum Beginn des Semesters + Skript + + - Oberrath: Öffentliches Wirtschaftsrecht + - Sodan/Ziekow: Grundkurs Öffentliches Recht + + *Sozialrecht* + + Auswahl; ausführliche Literaturhinweise zum Beginn des Semesters + + - Eichenhofer: Sozialrecht + - Kokemoor: Sozialrecht + - Muckel / Ogorek: Sozialrecht + - Steckler / Bachert /Strauß: Kompendium Arbeitsrecht und Sozialversicherung + - Waltermann: Sozialrecht Übersichten, Beispielsfälle + + +author-of-indenture: + de: + +used-in: + de: | + Folgemodule: Schwerpunktmodule Unternehmen und Verwaltung; Personal, Arbeits- und Sozialrecht + Sinnvolle Kombinationsmöglichkeiten: alle Module mit öffentlich-rechtlichen Bezügen + andere Studiengänge: ./. + +workload: + de: > + Gesamt: 225 Stunden (XXX - Spezifikation nach ThürHG) + +credits: + value: 7.5 + +form-of-exam: + value: written + spec: + de: > + "Getrennte Prüfung der Teilmodule Verwaltungsrecht (Klausur 120 Minuten) und Sozialrecht (Klausur 60 Minuten)" + +term: + value: 3 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Modulsprache Deutsch + +notes: + de: Spezifikation des Workloads nicht ausreichend - bitte nachmelden! diff --git a/syllabus/VI/mod.plsql.yaml b/syllabus/VI/mod.plsql.yaml new file mode 100644 index 0000000..ec74cc0 --- /dev/null +++ b/syllabus/VI/mod.plsql.yaml @@ -0,0 +1,117 @@ +name: + de: Datenbankprogrammierung mit PL/SQL + +instructor: + de: Prof. Dr. Thomas Heimrich + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen in der Lage sein, + + * gespeicherte Prozeduren (Stored Procedures) und nutzerdefinierte Funktionen zu erstellen und zu nutzen + * eigene PL/SQL Funktionen in select-Anfragen anzuwenden + * Datenbanktrigger zu erzeugen und zu nutzen + * gespeicherte Prozeduren und Funktionen in Java-Anwendungen zu verwenden + +content: + de: | + 1. Ausführbare Anweisungen erstellen + - Lexikalische Einheiten in PL/SQL-Blöcken identifizieren + - Built In-SQL-Funktionen in PL/SQL verwenden + - Verschachtelte Blöcke erstellen und Variablen mit Labels kennzeichnen + - Lesbaren Code mit entsprechender Einrückung erstellen + - Sequences in PL/SQL-Ausdrücken verwenden + 2. Kontrollstrukturen erstellen + - IF-Anweisungen erstellen + - CASE-Anweisungen und CASE-Ausdrücke verwenden + - Schleifenanweisungen erstellen und identifizieren + - Richtlinien für bedingte Kontrollstrukturen anwenden + 3. Stored Procedures und Stored Functions erstellen + - Zwischen anonymen Blöcken und Unterprogrammen unterscheiden + - Einfache Prozeduren erstellen und mit anonymen Blöcken aufrufen + - Einfache Funktionen erstellen + - Einfache Funktionen erstellen, die Parameter annehmen + - Zwischen Prozeduren und Funktionen unterscheiden + - Fehlerbehandlung + + 4. Funktionen erstellen + - Zwischen Prozeduren und Funktionen unterscheiden + - Verwendungsmöglichkeiten von Funktionen beschreiben + - Stored Functions erstellen + - Funktionen aufrufen + - Funktionen entfernen + 5. Dynamisches SQL + - Ausführungsablauf von SQL-Anweisungen beschreiben + - SQL-Anweisungen dynamisch mit nativem dynamischen SQL (NDS) erstellen und ausführen + - Situationen erkennen, in denen an Stelle von NDS das DBMS_SQL-Package verwendet werden muss, um SQL-Anweisungen dynamisch zu erstellen und auszuführen + 6. Trigger erstellen + - Datenbank-Trigger und ihre Verwendung beschreiben + - Verschiedene Trigger-Typen beschreiben + - Datenbank-Trigger erstellen + - Regeln für das Auslösen von Triggern beschreiben + - Datenbank-Trigger entfernen + - Trigger-Informationen anzeigen + 7. PL/SQL in Java-Anwendungen nutzen + - Aufruf von Stored Procedures und Functions aus Java mit Konvertierung der In- und Out-Parameter + - Fehlerbehandlung und und Fehlerweiterleitung zwischen Oracle und Java + + +form-of-instruction: + value: { 'lecture': 3, 'pc_lab': 1 } + +media-of-instruction: + de: | + Den Studierenden wird zu Beginn der Veranstaltung ein umfangreicher Foliensatz mit weiterführenden Hinweisen zur Verfügung gestellt. + + Darüber hinaus ist folgende Literatur empfehlenswert (jeweils in der neuesten Auflage): + + - Jürgen Sieben: „Oracle PL/SQL: Das umfassende Handbuch für Datenbankentwickler" + - Boobal Ganesan: „Advaced PLSQL Programming: The Definitive Reference" + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist im Bachelorstudiengang „Verwaltungsinformatik/E-Government" ein Pflichtmodul, in den Bachelorstudiengängen „Informatik" und „Wirtschaftsinformatik & Digitale Transformation" ein Wahlpflichtmodul. + + Ferner ist eine Verwendung in anderen Studiengängen möglich, in denen vertiefte Kenntnisse zu Datenbanksystemen vermittelt werden müssen. + +prerequisites: + de: | + Formelle Voraussetzungen bestehen nicht. + + Inhaltliche Voraussetzung ist das Modul „Datenbanksysteme". + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.projman.yaml b/syllabus/VI/mod.projman.yaml new file mode 100644 index 0000000..a6f086a --- /dev/null +++ b/syllabus/VI/mod.projman.yaml @@ -0,0 +1,88 @@ +name: + de: Projektmanagement + +instructor: + de: Prof. Dr. Kurt Englmeier + +id: + value: ProjMang + +goal: + de: | + Kennen/Verstehen: In diesem Kurs werden Art und Nutzen von Projekten erläutert und warum es vorteilhaft ist Projektmanagement einzusetzen. Es beginnt mit der Erläuterung der theoretischen und praktischen Grundlagen des Projektmanagements und zeigt die Rolle von Projektmanagern und wie sie die Erwartungen von Unternehmen erfüllen können, die die Vorteile des Wandels nutzen wollen. + + Eine Reihe von Quizfragen runden den Kurs ab. Die Quizfragen ermöglichen es den Studierenden, ihr Wissen zu überprüfen und ihnen Hinweise zu geben, wo sie ihr Wissen verbessern könnten. + + **Anwenden**: Der Inhalt dieses Kurses folgt dem vom Project Management Institute (PMI) entwickelten Wissensfundus für das Projektmanagement (Project Management Body of Knowledge (PMBOK)). Der PMBOK kategorisiert das Wissen im Bereich Projektmanagement in zehn Wissensbereichen, von Integrations- und Umfangmanagement, Kosten- und Terminplanungsmanagement, Risiko- und Qualitätsmanagement bis hin zu Kommunikationsmanagement und Stakeholder-Management. Der Kurs strukturiert daher seinen Inhalt entlang dieser Wissensbereiche. + + **Analysieren/Bewerten**: Die Studierenden erlernen den Umgang mit einem Werkzeug für die Projektplanung und -kontrolle. + + **Synthetisieren**: Die Studierenden lernen die Ausgestaltung des Projekt-Lebenszyklus und wie alle Wissensbereiche in die jeweiligen Phasen eines Projektes in der Praxis integriert werden + + Die Veranstaltung wird auf Englisch gehalten. Damit soll der Umgang mit der fachbezogenen Sprache in Deutsch und Englisch erlernt und geübt werden. + + +content: + de: | + 1. Grundlagen der Projektmanagements + 1. Integrationsmanagement + 1. Umfang- und Inhaltsmanagement + 1. Terminplanung + 1. Kostenmanagement + 1. Qualitätsmanagement + 1. Ressourcenmanagement + 1. Kommunikationsmanagement + 1. Risikomanagement + 1. Beschaffungsmanagement + 1. Stakeholdermanagement + 1. Projektmanagement-Tool + + +form-of-instruction: + value: { 'online_lecture': 4 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Digitaler Kurs, vom Modulverantwortlichen bereitgestellt. + + Project Management Institute, PMBOK Guide, 6. Ausgabe, 2017 + +author-of-indenture: + de: + +used-in: + de: > + Bachelor „Informatik”, „Wirtschaftsinformatik & Digitale Transformation”, „Multimedia-Marketing”, Verwaltungsinformatik/E-Government + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 5 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.prozmang.yaml b/syllabus/VI/mod.prozmang.yaml new file mode 100644 index 0000000..e6617e9 --- /dev/null +++ b/syllabus/VI/mod.prozmang.yaml @@ -0,0 +1,88 @@ +name: + de: Information Engineering/Prozessmanagement + +instructor: + de: Prof. Dr. Regina Polster + +id: + value: Analysis + +goal: + de: | + - Die Studierenden entwickeln ein Verständnis für Information als einen Produktionsfaktor und die Informationsfunktion in Organisationen als strategischen Wettbewerbsfaktor. + + - Darüber hinaus entsteht ein Grundverständnis für eine prozessorientierte IT-Organisation. + + - Die vermittelten Kenntnisse ermöglichen die Mitarbeit im strategischen und administrativen Informationsmanagement und speziell in IT-Projekten zur Einführung von Individual- oder Standardsoftware. + + +content: + de: | + Das Modul umfasst die folgenden Inhalte: + + - Strategisches Informationsmanagement: Entwicklung einer IT-Strategie u.a. Portfolioanalyse; Erfolgsfaktorenanalyse; Kennzahlensysteme; Wirtschaftlichkeitsanalyse für IT-Investitionen (WiBe), Nutzwertanalyse; Technologiemanagement + - Administratives Informationsmanagement: u.a. Methoden der Benutzerbeteiligung; Informationsbedarfsanalyse; Organisatorische Gestaltung von Softwareauswahlprozessen; + - Unterscheidung von Geschäftsprozessen, Bedeutung des Geschäftsprozessmanagements im Rahmen von Organisationsveränderungen, Modellierungsphasen und -verfahren (eEPK, BPMN), Geschäftsprozessoptimierung + - Besonderheiten des Geschäftsprozessmanagements in der öffentlichen Verwaltung + - Operatives Informationsmanagement: u.a. IT-Sicherheitsmanagementsysteme und IT-Servicemanagement + + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Vorlesungsunterlagen (werden den Studierenden zur Verfügung gestellt) + + Die folgende Literatur dient der Vertiefung der Inhalte: + + - Pietsch, T., Martiny, L., Klotz, M., Strategisches Informationsmanagement, Berlin 2004 + - Krcmar, Helmut Einführung in das Informationsmanagement, 2014 + - Heinrich, L.; Riedl, Stelzer, D.: Informationsmanagement: Grundlagen, Aufgaben, Methoden, 2014 + - Heinrich Seidlmeier, Prozessmodellierung mit ARIS®: Eine beispielorientierte Einführung für Studium und Praxis in ARIS 10, 2019 + - Bernd Rücker, Jakob Freund, Praxishandbuch BPMN: Mit Einführung in DMN, 2019 + - Gadatsch, A.: T-Controlling für die öffentliche Verwaltung kompakt: Methoden, Werkzeuge und Beispiele für die Verwaltungspraxis, 2020 + - Ernst Tiemeyer et al.: Handbuch IT-Management, 2020 + + +author-of-indenture: + de: + +used-in: + de: | + Das Modul ist in den Bachelorstudiengängen „Verwaltungsinformatik/E-Government” „Wirtschaftsinformatik & Digitale Transformation” und „Multimedia-Marketing” ein Pflichtmodul. + + Ferner ist eine Verwendung in anderen Studiengängen möglich, in denen Grundlagen zur Wirtschaftsinformatik vermittelt werden müssen. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 3 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.rech-controlling.yaml b/syllabus/VI/mod.rech-controlling.yaml new file mode 100644 index 0000000..b9c32b1 --- /dev/null +++ b/syllabus/VI/mod.rech-controlling.yaml @@ -0,0 +1,73 @@ +name: + de: Rechnungswesen und Controlling der öffentlichen Verwaltung + +instructor: + de: Prof. Dr. Elisabeth Scherr + +id: + value: RechControlÖffVerw + +goal: + de: | + Die Studierenden kennen: + + - strategische und operative Planungselemente öffentlicher Haushalte. + - die Grundzüge der Finanzbuchhaltung, der Finanzierung, des Rechnungswesens und des Steuerrechts. + - die Herangehensweise zum Erstellen von Jahresabschlüssen/ Konzern­abschlüssen nach kameralem/doppischemHaushaltsrecht, nach Handels- und Steuerrecht sowie nachinternationalen Rechnungswesen­standards (IAS/IFRS) + - den Aufbau, die Organisation und die Struktur der Buchführungssystemein der öffentlichen Verwaltung. + - die Grundlagen der Bilanzanalyse. + - die Grundlagen, die Struktur und die Ziele der wirtschaftlichen Betätigungin der öffentlichen Finanzwirtschaft (Land und Kommune) in öffentlichen und privaten Rechtsformen + +content: + de: | + Einführendes Fallbeispiel, Teilgebiete des Rechnungswesens, Kameralistik und Doppelte Buchführung, Grundsätze ordnungsmäßiger Buchführung, Inventur und Inventar, Bilanzierung von Vermögen und Kapital, Gewinn- und Verlustrechnung, Anhang und Lagebericht, Prüfung und Offenlegung, Bilanzpolitik und Bilanzanalyse + + Teilgebiete des Rechnungswesens (Vertiefung), Kostenartenrechnung, Kostenstellenrechnung, Kostenträgerstückrechnung (Kalkulation), Kostenträgerzeitrechnung (Erfolgsrechnung), Besonderheiten der Teilkostenrechnung (Deckungsbeitragsrechnung, Break-Even-Analyse), Plankostenrechnung, Zielkostenrechnung + + +form-of-instruction: + value: { 'lecture': 4, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Vorbereitende und weiterführende Literatur wird im Rahmen der Lehrveranstaltung bekannt gegeben. + +author-of-indenture: + de: + +used-in: + de: > + Das Modul ist Bestandteil des Studiengangs „Verwaltungsinformatik/E-Government”. + +workload: + de: > + 185 Stunden (Präsenzzeit: 75 Stunden, Selbststudium: 75 Stunden, Prüfung und Prüfungsvorbereitung: 35 Stunden) + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: Spezifikation des Workloads und der Credits nicht ECTS konform. diff --git a/syllabus/VI/mod.rechnernetze.yaml b/syllabus/VI/mod.rechnernetze.yaml new file mode 100644 index 0000000..22c29d9 --- /dev/null +++ b/syllabus/VI/mod.rechnernetze.yaml @@ -0,0 +1,80 @@ +name: + de: Rechnernetze + +instructor: + de: Prof. Dr.-Ing. Heinz-Peter Höller + +id: + value: RechNet + +goal: + de: | + - Kenntnis der Grundlagen der Kommunikationstechnik + - Verwendung des OSI-Referenzmodells und der Protokollschachtelung als Ordnungsrahmen + - Überblick über die Aufgabenstellungen und gefundenen Lösungen in den Protokollschichten + - Befähigung zur kritischen Beurteilung von Protokollfunktionalitäten + - Befähigung dazu, die spezifischen Wirkungen von Protokollsets auf Anwendungen einzuschätzen + +content: + de: | + - OSI-Referenzmodell und Protokollschichtung + - Aspekte der Datenübertragungsebene (Topologie, Multiplexing, Leitungskodierung) + - Schichtspezifische und schichtenübergreifende Aufgabenstellungen (Rahmenbildung, Zugriffssteuerung, Fehlerbehandlung, Flusskontrolle, Verbindungsverwaltung) + - Protokolle der Schicht 2 (Ethernet, WLAN, etc.) + - Signalisierung, Routing, Peering + - Protokolle der Schicht 3 (IP, ICMP, ARP, etc.) + - Spezifische Aufgaben der Transportschicht (Prozessadressierung, Überlastbehandlung, Vorrangdaten) + - Protokolle der Schicht 4 (TCP, UDP, DCCP, RTP) + - Prozesszugriff auf das Kommunikationssystem: Sockets + + + +form-of-instruction: + value: { 'lecture': 3, 'pc_lab': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + - Kurose, J. & Ross, K. (2014). Computernetzwerke. 6. Auflage. Pearson + - Tanenbaum, A. S. & Wetherall, D. J. (2012). Computernetzwerke. 5. Auflage. Pearson. + - Badach, A. & Hoffmann, E. (2019). Technik der IP-Netze. 4. Auflage. Hanser. + + +author-of-indenture: + de: + +used-in: + de: > + Das Modul ist ein Pflichtmodul im ersten Studienabschnitt in den Studiengängen „Informatik”, „Wirtschaftsinformatik & Digitale Transformation” und „Verwaltungsinformatik/E-Government”. Es ist die Einführung in das Gebiet der Rechnernetze. Die Studierenden erhalten über dieses Modul einen ersten und fundierten Überblick über das Gesamtgebiet. Auf dieser Grundlage sind sie in der Lage, einzuschätzen und zu beurteilen, welche Dienstleistungen das Kommunikationssystem an der Programmierschnittstelle bietet und welche Bedingungen es andererseits für die Programmierung setzt. + +workload: + de: > + 150 Stunden (Präsenzzeit: 60 Stunden, Selbststudium: 60 Stunden, Prüfung und Prüfungsvorbereitung: 30 Stunden) + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von XXXmin" + +term: + value: 3 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: Kollege lehrt diese Veranstaltung nicht mehr! Ersatz?! diff --git a/syllabus/VI/mod.recht-digitalisierung.yaml b/syllabus/VI/mod.recht-digitalisierung.yaml new file mode 100644 index 0000000..ceaed1e --- /dev/null +++ b/syllabus/VI/mod.recht-digitalisierung.yaml @@ -0,0 +1,78 @@ +name: + de: Rechtsfragen der Digitalisierung + +instructor: + de: Prof. Dr. Ulf Müller / Prof. Dr. Sven Müller-Grune + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen + + - die durch die Digitalisierung wirtschaftlicher Produktions- und Vertriebsabläufe (Industrie 4.0) entstehenden Rechtsprobleme kennen und in der beruflichen Praxis erkennen, + - für datenschutz-, vertrags- und immaterialgüterrechtliche Fragestellungen durch die Nutzung intelligenter und zunehmend autonomer IT-Technologien und von Cloud-Systemen im industriellen Alltag sensibilisiert werden und ihre Relevanz einschätzen können, + - die Bezüge rechtlicher Regulierung der Wirtschaftsabläufe zur technischen und ökonomischen Digitalisierung von Industrie- und Arbeitswelt kennen. + +content: + de: | + - Datenhoheit aus vertragsrechtlicher und immaterialgüterrechtlicher Sicht, + - Datenschutz- und urheberrechtliche Fragen der betrieblichen Cloud- Nutzung, + - Rechtsgeschäfte durch sowie Haftung für autonome und selbstlernende IT- Systeme, + - Schutz von immateriellen Schutzrechten und Know-How in (international) vernetzten Industrien, + - Wettbewerbsrechtliche Probleme durch die Vernetzung unternehmeri- scher IT-Systeme, + - Herausforderungen an das Arbeitsrecht durch die Lösung der Arbeitneh- mer aus der herkömmlichen räumlichen Betriebsstruktur. + + + +form-of-instruction: + value: { 'lecture': 6 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Sassenberg / Faber, Rechtshandbuch Industrie 4.0 und Internet of Things + +author-of-indenture: + de: + +used-in: + de: | + Folgemodule: ./. + + Sinnvolle Kombinationsmöglichkeiten: Wirtschaftsprivatrecht I-III, Unterneh- mensrecht I-II, Arbeitsrecht, Vertragsgestaltung + + andere Studiengänge: ./. + +workload: + de: > + Gesamtworkload 75h (XXX - nicht akkreditierungsfähig - Teilspezifikation!) + +credits: + value: 2.5 + +form-of-exam: + value: alternative + spec: + de: "Klausur von 60min und Hausarbeit oder Präsentation - XXX - nicht akkreditierungfähig - präzise Spezifikation nach Prüfungsordnung!" + +term: + value: 5 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Modulsprache Deutsch + +notes: + de: Spezifikation des Workloads nicht ausreichend und Spezifikation der Prüfungsform nicht konform zur Prüfungsordnung - bitte nachmelden! diff --git a/syllabus/VI/mod.sem-egov.yaml b/syllabus/VI/mod.sem-egov.yaml new file mode 100644 index 0000000..ac55f2a --- /dev/null +++ b/syllabus/VI/mod.sem-egov.yaml @@ -0,0 +1,75 @@ +name: + de: Seminar (E-Government) + +instructor: + de: Prof. Dr. Regina Polster (et al.) + +id: + value: SemGov + +goal: + de: | + Die Studierenden + + - sind in der Lage, grundlegende Konzepte des e-Governments darzulegen und sie vor dem Hintergrund der Anforderungen in der öffentlichen Verwaltung analysieren, + + - können ausgewählte, in die Praxis umgesetzte e-Government-Verfahren beschreiben und deren Umsetzung vor dem Hintergrund der Zielkriterien Wirtschaftlichkeit, Bürgerfreundlichkeit, Qualität bewerten + + +content: + de: | + + Einführung in aktuelle Entwicklungen des E-Governments (Theorieteil) + + Aktuelle Seminarthemen aus den Bereichen Kommunalverwaltung, Landesverwaltung, Bund und EU + + +form-of-instruction: + value: { 'seminar': 999 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Skript und aktuelle Gesetzestexte, Verwaltungsvorschriften und Verwaltungsempfehlungen von IT-Planungsrat, BSI, EU sowie Bundes- und Landesrechnungshöfen + + Stember, Eixelsberger, Handbuch E-Government: Technikinduzierte Verwaltungsentwicklung, 2019 + + +author-of-indenture: + de: + +used-in: + de: > + Das Modul ist im Bachelorstudiengang „Verwaltungsinformatik/E-Government” ein Pflichtmodul. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 30 Stunden; Selbststudium 120 Stunden + +credits: + value: 5 + +form-of-exam: + value: alternative + spec: + de: "Präsentation und schriftliche Seminarausarbeitung (XXX - Arbeitsaufwand muss bei alternativen Formen spezifiziert sein!)" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: Spezifikation der alternativen Prüfungsleistung muss detailiert beschrieben sein und Anzahl der LVS ist nicht spezifiziert - bitte nachmelden! diff --git a/syllabus/VI/mod.softwareengineering.yaml b/syllabus/VI/mod.softwareengineering.yaml new file mode 100644 index 0000000..ffaa4c2 --- /dev/null +++ b/syllabus/VI/mod.softwareengineering.yaml @@ -0,0 +1,68 @@ +name: + de: Software Engineering + +instructor: + de: Prof. Dr. Erwin Neuhardt + +id: + value: SoftEng + +goal: + de: | + Die Studierenden kennen die Phasen der ingenieurmäßigen Software-Entwicklung. Sie kennen Methoden zur Ermittlung und Darstellung von Anforderungen und Prinzipien des objektorientierten Entwurfs. Sie kennen Methoden zur Ermittlung von Testfällen und zur Qualitätssicherung von Arbeitsergebnissen. Sie kennen zwei Vorgehensmodelle zur Umsetzung des Softwareentwicklungsprozesses. Sie können diese Methoden anwenden, um ausgehend von einem vorgegebenen Text funktionsfähige Software zu entwickeln. + + +content: + de: | + Aufgabenstellung und Ziele des Software Engineering, Phasen der Software-Entwicklung: Anforderungsermittlung, logische Architektur, objektorientierter Entwurf, Implementierung, Testen, Qualitätssicherung mit Inspektionen, Vorgehensmodelle. Beschreibungsmöglichkeiten für die Ergebnisse der Anforderungsermittlung und des Entwurfes: Anwendungsfalldiagramm, Anwendungsfallbeschreibungen, Klassendiagramm, Sequenzdiagramm, Zustandsdiagramm, Paketdiagramm. + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. Inhaltliche Voraussetzung sind die Module *Einführung in die Programmierung* und *Fortgeschrittene Techniken der Programmierung* + +media-of-instruction: + de: | + - Balzert, H.: Lehrbuch der Software-Technik Band 2, Spektrum Verlag, 1998 + - Binder, R.: Testing Object-Oriented Systems, Addison-Wesley, 2000 + - Larman, C.: Applying UML and Patterns, Upper Saddle River NJ., 2001 + - Oestereich, B.: Objektorientierte Software Entwicklung, Oldenbourg, 2009 + - Rupp, C.: Requirements-Engineering und Management, Hanser Verlag, 2007 + +author-of-indenture: + de: + +used-in: + de: > + Pflichtmodul in den Bachelorstudiengängen „Informatik”, „Verwaltungsinformatik/E-Government” und „Wirtschaftsinformatik & Digitale Transformation” + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 3 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: + +notes: + de: diff --git a/syllabus/VI/mod.sp-unternehmen-verwaltung-1.yaml b/syllabus/VI/mod.sp-unternehmen-verwaltung-1.yaml new file mode 100644 index 0000000..32f4ce9 --- /dev/null +++ b/syllabus/VI/mod.sp-unternehmen-verwaltung-1.yaml @@ -0,0 +1,114 @@ +name: + de: Schwerpunktmodul Unternehmen und Verwaltung 1 + +instructor: + de: LbA Dipl.-Ing. (TU) Dipl.-Ing. (FH) Matthias Dick / Prof. Dr. Sven Müller-Grune / Prof. Dr. Wojciech Lisiewicz + +id: + value: SPUntVerw1 + +goal: + de: | + **Teilmodul Kommunales Wirtschaftsrecht und Beihilfenrecht** + + Vermittlung von Kenntnissen zur wirtschaftlichen Betätigung der öffentlichen Hand (insbesondere Kommunen), Wirtschaftlichen Zusammenarbeit von Öf- fentlichen und Privaten, Compliance in der öffentlichen Hand, Grundlagen des europäischen Beihilferechts, Beteiligung durch Information + + **Teilmodul Öffentliches Baurecht mit Bezügen zum Infrastrukturrecht** + + Die Studierenden erwerben Kenntnisse über öffentlich-rechtliche Vorgaben und Grenzen der Grundstücksnutzung. Sie werden in die Lage versetzt, Risiken der Grundstücksnutzung aus öffentlich-rechtlichen Gesichtspunkten heraus zu erkennen, Gestaltungsmöglichkeiten für eine effiziente Grundstücksnutzung und -verwertung zu erkennen und diese, ggf. unter Einbeziehung der hoheitli- chen Entscheidungsträger, umzusetzen. + + **Teilmodul Europäisches und nationales Vergaberecht** + + Kenntnisse im Aufbau des europäischen und nationalen Vergaberechts, der Vergabeverfahren, der Ausnahmen vom Verfahren, der Grundprinzipien der Auftragsvergabe, des Verfahrensablaufs sowie des Primär- und Sekundärrechts- schutzes, EVB/BVB, Vergabe im Gesundheitswesen und der Inhouse-Vergabe. Die Studenten werden in die Lage versetzt, entweder auf Seiten des öffentli- chen Auftraggebers oder auf Seiten des Bieters das komplette Vergabeverfah- ren durchzuführen. + + **Teilmodul Recht der Regulierung, insbesondere Energierecht** + + Grundlegende Kenntnisse über die Energiewirtschaft, ihre Regulierung, Rechts- grundlagen der Belieferung mit Energie und über die Förderung erneuerbarer Energien + + +content: + de: | + **Teilmodul Kommunales Wirtschaftsrecht und Beihilfenrecht** + + Teilnahme der öffentlichen Hand am Wirtschaftsverkehr, Grundzüge des Kom- munalrechts, Öffentliche (und kommunale) Unternehmen, Interkommunale Zusammenarbeit, Privatisierung, ÖPP/PPP, Grenzen der Zusammenarbeit (Erfül- lung hoheitlicher Aufgaben, Compliance, Korruption und Amtsmissbrauch), Grundzüge des europäischen Beihilferechts, Rechtsschutz + + **Teilmodul Öffentliches Baurecht** + + Grundzüge zur Bebaubarkeit eines Grundstücks und Bedeutung für Infrastruk- turplanung; Überblick Raumordnung und Landesplanung; Baugenehmigung nach Planungsrecht (planungsrechtliche Bereiche, Bebauungsplan nach dem BauGB und der BauNVO) und Bauordnungsrecht; Interaktion mit Kommunen und Behörden (einschließlich städtebaulicher Vertrag) + + **Teilmodul Europäisches und nationales Vergaberecht** + + Vergaberecht, elektronische Vergabe, digitale Rechnungslegung, Rechtsmittel + + **Teilmodul Recht der Regulierung, insbesondere Energierecht** + + Regulierung der Energiewirtschaft (Netzanschluss, Netzzugang, Netzentgelte, Entflechtung), Energiemarkt (Grundversorgung, Energieliefervertrag), EEG + +form-of-instruction: + value: { 'lecture_seminar': 8 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Umfangreiche und aktuelle Veranstaltungsunterlagen mit weiterführenden Hinweisen werden zu Beginn der Veranstaltung angeboten! + + Die nachstehend genannten Werke werden in der jeweils aktuellen Auflage empfohlen: + + - Dick/Bieberbach/Freyboth: eGovernment; + - Stober: Besonderes Wirtschaftsverwaltungsrecht + - Ziekow: Öffentliches Wirtschaftsrecht + - Leinemann / Kirch: Das neue Vergaberecht + - Egeler: Von der Beschaffung zur E-Vergabe + - Just / Sailer: Die neue Vergabeverordnung + - Kühling / Rasbach / Busch: Energierecht + - Muckel, Baurecht + - Brenner, Öffentliches Baurecht + - Hauth, Von der Bauleitplanung zur Baugenehmigung + - Darüber hinaus werden empfohlen: + - Fallbearbeitung; Kommentierungen, Lehrbücher und Rechtsprechung + - Skript: „Vergaberecht” (Dick) + - Skript (online): „Energierecht” (Lisiewicz) + - Skript: Kommunale Unternehmen (Müller-Grune) + - Seminar: Merkblätter Hinweise zum wissenschaftlichen Arbeiten + + +author-of-indenture: + de: + +used-in: + de: | + Folgemodule: Schwerpunktmodul Unternehmen und Verwaltung 2 + + Sinnvolle Kombinationsmöglichkeiten: Immobilienrecht, Vertragsgestaltung, Zivilrecht, Wahlpflichtmodul Energierecht im Masterstudiengang + +workload: + de: > + Gesamtaufwand 300 Stunden (XXX - nicht akkreditierungsfähige Spezifikation, Teilaufwände!) + +credits: + value: 10 + +form-of-exam: + value: written + spec: + de: "vier Teilmodul-Klausuren von 60min, Gewichtung 25% pro Klausur" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: + +notes: + de: Spezifikation des Workloads nicht ausreichend - bitte nachmelden! diff --git a/syllabus/VI/mod.sp-unternehmen-verwaltung-2.yaml b/syllabus/VI/mod.sp-unternehmen-verwaltung-2.yaml new file mode 100644 index 0000000..dcf5594 --- /dev/null +++ b/syllabus/VI/mod.sp-unternehmen-verwaltung-2.yaml @@ -0,0 +1,83 @@ +name: + de: Schwerpunktmodul Unternehmen und Verwaltung 2 + +instructor: + de: > + Prof. Dr. Sven Müller-Grune, LbA Dipl.-Ing. (TU) Dipl.-Ing. (FH) Matthias Dick, Prof. Dr. Wojciech Lisiewicz + +id: + value: SPUntVerw2 + +goal: + de: | + Im Teilmodul „Gewerberecht” werden Bezüge zum allgemeinen Verwaltungsrecht (einschließlich Verwaltungsvollstreckung) und Verwaltungsprozessrecht (einschließlich einstweiliger Rechtsschutz) hergestellt und so die Anwendung dieser beiden Materien gefestigt und vertieft. Den Studierenden werden die Grundlagen des allgemeinen und besonderen Gewerberechts mit konkreten Bezügen zum Europarecht, zur Wirtschaftsverfassung sowie zum Recht der Selbstverwaltung (IHK, Handwerkskammer) vermittelt. Sie sind in der Lage, wirtschaftliche Aktivitäten unter öffentlich-rechtlichen Gesichtspunkten zu bewerten, mit Behörden in Krisensituationen qualifiziert zu verhandeln und ggf. Rechtsschutz in Anspruch zu nehmen. + + In einem integrierten Seminar werden neue Entwicklungen vertieft behandelt und auf ihre Konsequenzen für die betriebliche Praxis untersucht. + +content: + de: | + **Teilmodul Gewerberecht (2 LVS)**: + + - Bedeutung der Berufsfreiheit (Art. 12 Abs. 1 GG) + - Grundsatz der Gewerbefreiheit + - Anzeige- und Genehmigungspflichten nach der Gewerbeordnung (z.B. für Makler und Bauträger) sowie besonderen Vorschriften (z.B. AÜG, KWG, PBefG) + - Ausübung eines Handwerks, Eintragungs- und Genehmigungspflichten nach der Handwerksordnung + - Untersagung von Tätigkeiten + - spezifische Bezüge zum Europarecht (Dienstleistungsfreiheit, Niederlassungs- freiheit, Einfluss auf das innerstaatliche Verwaltungsrecht) + - Grundzüge des Rechts der Selbstverwaltung (Kammersystem) + + **Teilmodul Seminar (2 LVS)**: + + - Aktuelle Entwicklungen und Fragestellungen zum Themenkreis „Unternehmen und Verwaltung” + +form-of-instruction: + value: { 'lecture_seminar': 4 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Umfangreiche Literaturhinweise werden zu Beginn der Veranstaltung dargelegt; zusätzlich wird ein Skript ausgereicht; i.Ü. Ziekow: Öffentliches Wirtschaftsrecht + + Stober: Besonderes Wirtschaftsverwaltungsrecht Oberrath: Öffentliches Recht + + Seminar: Merkblätter Hinweise zum wissenschaftlichen Arbeiten + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +workload: + de: > + Gesamt 150 Stunden (XXX - nicht akkreditierungfähig - Teilspezifikationen fehlen) + +credits: + value: 4 + +form-of-exam: + value: alternative + spec: + de: > + "Klausur von 60min (Gewichtung 50%) und Seminar (50%)" + +term: + value: 5 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: Modulsprache Deutsch + +notes: + de: Spezifikation des Workloads nicht ausreichend - bitte nachmelden! diff --git a/syllabus/VI/mod.spez_aws.yaml b/syllabus/VI/mod.spez_aws.yaml new file mode 100644 index 0000000..d9e448a --- /dev/null +++ b/syllabus/VI/mod.spez_aws.yaml @@ -0,0 +1,118 @@ +name: + de: Branchenspezifische und überbetriebliche Anwendungssysteme + +instructor: + de: Prof. Dr. Florian Johannsen + +id: + value: BrazUebAWS + +goal: + de: | + - Die Studierenden sind mit aktuellen + Entwicklungen und Trends im Bereich + Anwendungssysteme (z.B. Chatbots) vertraut + und wissen, wie diese Technologien die + Funktionalität von Anwendungssystemen + erweitern können. + + - Sie können den XML-Standard „AIML (Artificial + Intelligence Markup Language)" zur Konzeption + von Chatbots, mittels entsprechender Editoren, + anwenden. + + - Zudem kennen die Studierenden den Mehrwert der + sozialen Netzwerkanalyse und können Social + Media-Daten zielführend auswerten. + + - Gleichzeitig sind die Studierenden mit der + Funktionalität ausgewählter + branchenspezifischer sowie überbetrieblicher + Anwendungssysteme vertraut. Exemplarisch + können Sie diese Typen am Beispiel von + Kernbanksystemen, SCM-Systemen, + Lagerverwaltungssystemen sowie + Beschaffungssystemen erläutern. + + - Außerdem sind die Studierenden mit den + SAP-Modulen „MM" sowie „WM" vertraut, welche + die Funktionalitäten von SCM-Systemen + (auszugsweise) abbilden. + +content: + de: | + Das Modul umfasst die folgenden Inhalte: + + 1. Grundlagen zu + branchenspezifischen/überbetrieblichen + Anwendungssystemen + 2. Chatbots und AIML + 3. Social Media Daten-Analyse & soziale Netzwerkanalyse + 4. Kernbanksysteme + 5. Supply Chain Management-Systeme + 6. Lagerverwaltungs- und Beschaffungssysteme + 7. Beschaffung und Warehouse Management mit SAP + +form-of-instruction: + value: { 'lecture': 3, 'exersise': 1 } + +media-of-instruction: + de: | + Vorlesungsunterlagen (werden den Studierenden zur Verfügung gestellt) + + Die folgende Literatur dient der Vertiefung der Inhalte: + + - Drumm, C., et al. (2019). Einstieg in SAP ERP: + Geschäftsprozesse, Komponenten, Zusammenhänge + -- Erklärt am Beispielunternehmen Global Bike + (SAP PRESS), Rheinwerk Publishing. + + - Barabási, A.-L. (2016). Network science, + Cambridge University Press. + + - Kaiser, M., et al. (2019). Journalistische + Praxis: Chatbots -- Automatisierte + Kommunikation im Journalismus und in der + Public Relation, Springer. + + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. Inhaltliche Voraussetzung ist das Modul *Anwendungssysteme*. + +workload: + de: > + Kontaktzeit/Präsenzstudium: 60 Stunden; Selbststudium: 60 Stunden; Prüfung und Prüfungsvorbereitung: 30 Stunden + +credits: + value: 5 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 4 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: | + Übungen beinhalten Fallstudien, Gruppenarbeiten am Rechner mit Softwarelösungen (Chatbot-Editoren, SAP, R, Gephi etc.) + +notes: + de: diff --git a/syllabus/VI/mod.template.yaml b/syllabus/VI/mod.template.yaml new file mode 100644 index 0000000..390a041 --- /dev/null +++ b/syllabus/VI/mod.template.yaml @@ -0,0 +1,60 @@ +name: + de: Mustervorlesung + +instructor: + de: Hans Muster + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen in der Lage sein, + +content: + de: | + + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente in Stud.IP zur Verfügung gestellt. + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +workload: + de: > + Kontaktzeit/Präsenzstudium: 45 Stunden; Selbststudium: 30 Stunden; Prüfung und Prüfungsvorbereitung: 15 Stunden + +credits: + value: 3 + +form-of-exam: + value: written + spec: + de: "Klausur von 120min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: \ No newline at end of file diff --git a/syllabus/VI/mod.usability-engineering.yaml b/syllabus/VI/mod.usability-engineering.yaml new file mode 100644 index 0000000..72ba7ff --- /dev/null +++ b/syllabus/VI/mod.usability-engineering.yaml @@ -0,0 +1,100 @@ +name: + de: Usability Engineering + +instructor: + de: Professor Dr. Dr. Thomas Urban + +id: + value: Analysis + +goal: + de: | + Die Studierenden sollen in der Lage sein, + - Nutzer- und Aufgabenanalysen vorzunehmen + - den iterativen Entwicklungs- und Evaluationsprozess von Anwendungs-software zu beherrschen + - Designvorschläge für die Gestaltung der Anwendungsoberfläche für Desktop, Tablet oder Smartphone zu entwickeln + - die wichtigsten Normen und Methoden zur Bewertung der Usability einer Anwendungssoftware zu beherrschen + - die erworbenen theoretischen Kenntnisse in praktische Anwendungsfälle umzusetzen und zu bewerten + + +content: + de: | + 1. Usability Engineering - Einführung + - Begriffsabgrenzung + - Einsatzfelder der Usability-Evaluation + - Normen, Gesetze und Verordnungen + 2. Usability Engineering - Lebenszyklus + - Anforderungsanalyse + - Design, Test und Entwicklung + - Installation und Nutzer-Feedback + 3. Screen- und Interfacedesign + - Gestaltungs- und Informationsdesign + - Interaction- und Interfacedesign + 4. App-Design + - Nutzerzentriertes Design + - User Interface-Prinzipien und Konventionen + - Typografie für kleine Bildschirme + - Apps erfolgreich in Apps-Stores präsentieren + 5. Dysfunktionaler und suchtartiger Internetgebrauch + - Internetbezogene Störungen + - Internetsucht und Internet Gaming Disorder + - Ätiologie, Symptomatik und Psychodynamik + + +form-of-instruction: + value: { 'lecture': 2, 'exersise': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + folgende Literatur ist empfehlenswert (jeweils in der neuesten Auflage): + + - Beier, M./von Gizycki, V.: Usability. Springer Verlag + - Eberhard-Yom, M.: Usability als Erfolgsfaktor. Cornelsen Verlag + - Goldstein, E. B: Wahrnehmungspsychologie. Springer Verlag + - Görner, C./Beu, A./Koller, F.: Der Bildschirmarbeitsplatz. Deutsches Institut für Normung + - Heinsen, S./Vogt, P.: Usability praktisch umsetzen. Carl Hanser Verlag + - Nielsen, J.: Usability Engineering. Academic Press + - Sarodnick, F./Brau, H.: Methoden der Usability Evaluation. Verlag Hans Huber + - Semler, J.: App-Design. Rheinwerk Verlag + - Stapelkamp, T.: Screen- und Interfacedesign. Springer-Verlag. + + +author-of-indenture: + de: + +used-in: + de: > + Das Modul ist Bestandteil des Studiengangs Multimedia Marketing (B.Sc.) und „Verwaltungsinformatik/E-Government”. + +workload: + de: > + 90 Stunden, davon 45 Präsenzstunden, 25 Stunden Selbststudium und 20 Stunden Prüfung und Prüfungsvorbereitung + +credits: + value: 3 + +form-of-exam: + value: written + spec: + de: "Klausur von 90min" + +term: + value: 6 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: Das Modul ist gemeinsam mit Webanalytics zu belegen. + +notes: + de: diff --git a/syllabus/VI/mod.web-analytics.yaml b/syllabus/VI/mod.web-analytics.yaml new file mode 100644 index 0000000..7673a80 --- /dev/null +++ b/syllabus/VI/mod.web-analytics.yaml @@ -0,0 +1,71 @@ +name: + de: Web Analytics + +instructor: + de: Prof. Dr. Elisabeth Scherr + +id: + value: Analysis + +goal: + de: | + - Die Studierenden können unternehmensindividuelle Konzepte zur zielgerichteten Steuerung von digitalen Webpräsenzen entwickeln und bestehende Konzepte hinsichtlich typischer Fallstricke kritisch beurteilen + - Sie sind in der Lage, Analysen des Nutzerverhaltens auf Websites praktisch durchzuführen und den Zielerreichungsgrad einer Website zu messen + - Sie können Webanalysen einsetzen, um den Erfolg von Online-Marketing-Maßnahmen zu kontrollieren und Handlungsempfehlungen zur Website-Optimierung abzuleiten + - Sie kennen Anbieter für Webanalyse-Software und sind im Umgang mit ausgewählter Software vertraut + + +content: + de: | + Begriffsdefinition Web Analytics, Standardmetriken, Spezifische Metriken (Quellen-, Besucher-, Inhalts-, Verhaltensanalyse), Iterative Vorgehensmethodik (v.a. Website-Ziele, KPIs, Conversions, Attributionsmodelle), Besonderheiten des Softwareeinsatzes, Fallstricke (Typische Analysefehler, Rechtskonformer Einsatz von Webanalyse-Software), Praktische Fallstudien + +form-of-instruction: + value: { 'lecture': 1 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Vorbereitende und weiterführende Literatur wird im Rahmen der Lehrveranstaltung bekannt gegeben. + +author-of-indenture: + de: + +used-in: + de: > + Das Modul ist Bestandteil des Studiengangs Multimedia Marketing (B.Sc.) und „Verwaltungsinformatik/E-Government”. + +workload: + de: | + Gesamtworkload 60 Stunden, davon: + + - Präsenzzeit: 30 Stunden + - Selbstlernphase: 15 Stunden + - Prüfungsaufwand: 15 Stunden + +credits: + value: 2 + +form-of-exam: + value: written + spec: + de: "Klausur von 60min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory_elective + +remarks: + de: Das Modul ist gemeinsam mit dem Modul Usability zu belegen. + +notes: + de: diff --git a/syllabus/VI/mod.wpr-1.yaml b/syllabus/VI/mod.wpr-1.yaml new file mode 100644 index 0000000..249f712 --- /dev/null +++ b/syllabus/VI/mod.wpr-1.yaml @@ -0,0 +1,78 @@ +name: + de: Wirtschaftsprivatrecht I -- Allgemeiner Teil des Zivilrechts + +instructor: + de: Prof. Dr. Wojciech Lisiewicz / Prof. Dr. Ulf Müller + +id: + value: WPR1 + +goal: + de: | + Die Studierenden verstehen die wichtigsten, das Zivilrecht kennzeichnenden Strukturprinzipien. Sie kennen die grundlegenden Rechtsinstitute des BGB AT und dessen Bedeutung für andere Rechtsgebiete. Gleichzeitig beherrschen sie – über Einübung von Subsumtionstechnik, Erlernen des Gutachtenstils und der Auslegung – die grundlegenden Regeln der systematischen Fallbearbeitung. + +content: + de: | + - Rechtssubjekte in ihrer Vielfalt und ihren unterschiedlichen Kompetenzen (Von der Rechts- über Geschäfts- und Deliktsfähigkeit) + - Rechtsobjekte und Übertragungsmechanismen (Übereignung und Abtretung als klassische Verfügungen im Überblick) + - Rechtsgeschäfte und Verträge, Zustandekommen, Einwendungen und Einre- den + - Handeln für andere: Vertretung im Zivil-, Handels- und Gesellschaftsrecht + - Formerfordernisse und andere Wirksamkeitsvoraussetzungen für Verträge des Wirtschaftsprivatrechts + - Verjährung + + +form-of-instruction: + value: { 'lecture_seminar': 8 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + In jeweils neuester Auflage: + + - Brox: Allgemeiner Teil des Bürgerlichen Gesetzbuchs + - Medicus: AT des BGB + - Wolf/Neuer: AT des BGB + - Schack: BGB – Allgemeiner Teil + - Klunzinger: Einführung in das Bürgerliche Recht; Übungen im Privatrecht + - Eisenhardt: Einführung in das Bürgerliche Recht + - Schünemann: Wirtschaftsprivatrecht + + +author-of-indenture: + de: + +used-in: + de: > + Folgemodule: Wirtschaftsprivatrecht II, Sinnvolle Kombinationsmöglichkeiten: Grundlagen des Rechts und der Rechts- anwendung + +workload: + de: > + Gesamtworkload 300 Stunden (XXX - nicht akkreditierungsfähige Spezifikation) + +credits: + value: 10 + +form-of-exam: + value: written + spec: + de: "Klausur von 240min (XXX - nicht akkreditierungsfähige Spezifikation)" + +term: + value: 1 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Modulsprache Deutsch + +notes: + de: Spezifikation der Prüfungsleistung überschreitet die in der Prüfungsordnung genannten max. 180min - bitte nachmelden! diff --git a/syllabus/VI/mod.wpr-2.yaml b/syllabus/VI/mod.wpr-2.yaml new file mode 100644 index 0000000..8bc4b15 --- /dev/null +++ b/syllabus/VI/mod.wpr-2.yaml @@ -0,0 +1,71 @@ +name: + de: Wirtschaftsprivatrecht II - Vertragliche und gesetzliche Schuldverhältnisse + +instructor: + de: Prof. Dr. Wojciech Lisiewicz / Prof. Dr. Ulf Müller + +id: + value: WPR2 + +goal: + de: | + Die Studierenden verstehen die Funktion von besonderen, im Wirtschaftsleben häufig vorkommenden Verträgen und des Rechts der Schuldverhältnisse, sie können die vertragsrechtlichen Regelungen auf praxisnahe Fälle anwenden, einfache Verträge analysieren, in ihren wirtschaftlichen Implikationen bewerten und schriftlich juristisch argumentieren. Sie wissen, was die inhaltlichen Charakteristika von Verträgen sind und innerhalb welcher Grenzen Verträge individuell bzw. durch AGB gestaltet werden dürfen. + + Außerdem können die Studierenden erkennen, welche Pflichtverletzungen in einem Vertrag auftreten können und wie darauf zu reagieren ist. Sie kennen die Funktion außervertraglicher Ausgleichsmechanismen (Gewährleistungsrechte, Schadens- und Aufwendungsersatz sowie Bereicherungsausgleich) und beherrschen die Voraussetzungen der außervertraglichen Haftung am Beispiel der unerlaubten Handlung. + + Durch eigene Bearbeitung von Referaten mit Präsentation lernen die Studierenden die typische Arbeitsweise eines Juristen durch konkrete Aufgabenstellungen im Umgang mit Recherchen und Exzerpierens als buchwissenschaftliche Disziplin anwenden. + +content: + de: | + Im Mittelpunkt des Moduls stehen der Vertrag als zivilrechtliches Gestaltungsmittel sowie Haftung und Schäden in Grundzügen. Die Systematik des Allgemeinen und Besonderen Schuldrechts in ihren Typengruppenreihen im BGB wird erläutert und die modernen Ausprägungen von Verträgen wie Leasing und Franchising systematisch erfasst. + + Am Beispiel des Kauf-, Werk- und Mietvertrages werden die wichtigsten Grundsätze des Vertragsrechts des Bürgerlichen Gesetzbuchs (BGB) und des Handelsgesetzbuchs (HGB) behandelt: wichtige Grundbegriffe und rechtliche Konsequenzen des Leistungsstörungsrechts. Besonderer Wert wird dabei auf das AGB-Recht gelegt. Erfüllung und Erfüllungssurrogate werden behandelt. + + Die unterschiedlichen Voraussetzungen haftungsbegründender Tatbestände im Vertrags- und Deliktsrecht werden behandelt mit Konzentration auf vor-, vertragliche und nachvertragliche Pflichtverletzungen ebenso wie die Grundzüge der Unerlaubten Handlungen werden juristisch analysiert. Im Anschluss daran werden die haftungsausfüllenden Normen sowie Schadensausgleich in seinen Einzelheiten besprochen. + +form-of-instruction: + value: { 'lecture_seminar': 6 } + +prerequisites: + de: Formelle Voraussetzungen bestehen nicht. + +media-of-instruction: + de: | + Den Studierenden werden umfangreiche Übungsaufgaben und themenspezifische Dokumente in Stud.IP zur Verfügung gestellt. + +author-of-indenture: + de: + +used-in: + de: > + Bachelor Informatik, Wirtschaftsinformatik & Digitale Transformation, Verwaltungsinformatik. Eine weitere Verwendung nach jeweiliger Prüfungsordnung ist möglich (z.B. Multimedia-Marketing)" + +workload: + de: > + Kontaktzeit/Präsenzstudium: 225 + +credits: + value: 7.5 + +form-of-exam: + value: written + spec: + de: "Klausur von 180min" + +term: + value: 2 + +frequency: + value: once_per_year + +duration: + value: 1 + +kind: + value: compulsory + +remarks: + de: Modulsprache Deutsch + +notes: + de: diff --git a/syllabus/VI/notes.md b/syllabus/VI/notes.md new file mode 100644 index 0000000..2a6faf4 --- /dev/null +++ b/syllabus/VI/notes.md @@ -0,0 +1,13 @@ +# Notizen + +- [x] Credits mit 4SWS (z.B. EinfVI) und +- [ ] 4SWS != Arbeitsaufwand 150h +- [ ] Klausuren von 120min im Bachelor! +- [ ] Leistungsnachweis Projektarbeit +- [ ] Fehlende Modulbeschreibungen: Bachelorarbeit und Bachelorprüfung +- [ ] Paragraph 10 - <5 90, 5 == 90 - 120min, >5 180min +- [ ] Paragraph 8: Arten der Prüfungsleistungen s,m,a plus "alternative Prüfungsleistungen bedürfen zusätzlich zur Festlegung in der Modulbeschreibung einer Zustimmung des Prüfungsausschusses" + + +# Änderungsbedarf Modulhandbuch + diff --git a/syllabus/VI/schema.yaml b/syllabus/VI/schema.yaml new file mode 100644 index 0000000..d5dd048 --- /dev/null +++ b/syllabus/VI/schema.yaml @@ -0,0 +1,304 @@ +# fields in curricular description +# leaning on methods in OpenAPI 3.0 + +# +# Modulname +# +name: + type: str + label: { + de: "Modulname", + en: "Name of Course" + } + +# +# Modulverantwortliche:r +# +instructor: + type: str + label: + de: "Modulverantwortlicher / Modulverantwortliche" + en: "module instructor" + + +# +# Kürzel / ID +# +id: + type: str + translatable: false + label: { + de: "Kürzel", + en: "code" + } + + +# +# Qualifikationsziele +# + +# Welche fachbezogenen, methodischen, fachübergreifende Kompetenzen, +# Schlüsselqualifikationen - werden erzielt (erworben)? Diese sind +# an der zu definierenden Gesamtqualifikation (angestrebter Abschluss) auszurichten. +# +# Lernergebnisse sind Aussagen darüber, was ein Studierender nach Abschluss des Moduls weiß, +# versteht und in der Lage ist zu tun. Die Formulierung sollte sich am Qualifikationsrahmen +# für Deutsche Hochschulabschlüsse orientieren und Inhaltswiederholungen vermeiden. +# +# Des Weiteren finden Sie im QM-Portal die „Handreichung zur Beschreibung von Lernzielen“ +# als Formulierungshilfe. + +goal: + type: str + label: { + de: "Qualifikationsziele", + en: "Learning Goals" + } + +# +# Modulinhalte +# + +# Welche fachlichen, methodischen, fachpraktischen und fächerübergreifenden +# Inhalte sollen vermittelt werden? +# +# Es ist ein stichpunktartiges Inhaltsverzeichnis zu erstellen. + +content: + type: str + label: { + de: "Modulinhalte", + en: "Module Content" + } + +# +# Lehrform +# + +# +# Welche Lehr- und Lernformen werden angewendet? +# (Vorlesungen, Übungen, Seminare, Praktika, +# Projektarbeit, Selbststudium) +# +# Es sind nur Werte aus der Prüfungsordung zugelassen +# +form-of-instruction: + label: { + de: "Lehr-/Lernformen", + en: "Form of Instruction and Learning" + } + type: multikey + keys: { + 'lecture' : { + de: "Vorlesung", + en: "Lecture" + }, + 'online_lecture' : { + de: "Online-Vorlesung", + en: "Online Lecture" + }, + 'lecture_seminar' : { + de: "Seminaristische Vorlesung", + en: "Lecture with Seminar" + }, + 'seminar' : { + de: "Seminar", + en: "Seminar" + }, + 'exersise' : { + de: "Übung", + en: "Lab Exersise" + }, + 'pc_lab' : { + de: "Rechnergestütztes Praktikum", + en: "PC Exersise" + }, + 'project' : { + de: "Projekt", + en: "Project" + } + } + template: + de: "${key} (${value}\\ SWS)" + en: "${key} (${value}\\ SWS)" + +# +# Voraussetzungen für die Teilnahme +# + +# Für jedes Modul sind die Voraussetzungen für die Teilnahme zu beschreiben. +# Welche Kenntnisse, Fähigkeiten und Fertigkeiten sind für eine +# erfolgreiche Teilnahme vorauszusetzen? +# +# Alternativ können die Module benannt werden welche für die erfolgreiche +# Teilnahme im Vorfeld zu belegen sind. + +prerequisites: + type: str + label: { + de: "Voraussetzungen für die Teilnahme", + en: "Entry Requirements" + } + +# +# Literatur und multimediale Lehr- und Lernprogramme +# +# +# Wie können die Studierenden sich auf die Teilnahme an diesem Modul vorbereiten? +# +media-of-instruction: + type: str + label: { + de: "Literatur und multimediale Lehr- und Lernprogramme", + en: "Literature, Teaching Method and Media" + } + +# +# Lehrbriefautor +# +author-of-indenture: + type: str + label: { + de: "Lehrbriefautor", + en: "Author of Indenture" + } + +# +# Verwendung in (Studienprogramm) +# +used-in: + type: str + label: { + de: "Verwendung", + en: "Used in Study Programs" + } + +# +# Arbeitsaufwand +# +workload: + type: str + label: { + de: "Arbeitsaufwand / Gesamt-Workload", + en: "Workload Components / Total Workload" + } +# +# credits/ECTS +# +credits: + label: { + en: "Credits and Weight in final Mark", + de: "Kreditpunkte und Gewichtung der Note in der Gesamtnote" + } + type: int + template: + de: "${value}ECTS, Gewichtung: ${value}/180 " + en: "${value}ECTS, weight: ${value} / 180 " + + +# +# Leistungsnachweis +# +form-of-exam: + label: { + de: "Leistungsnachweis", + en: "Assessment" + } + type: enum + values: { + 'written' : { + de: "Schriftliche Prüfung", + en: "Written Exam" + }, + 'oral' : { + de: "Mündliche Prüfung", + en: "Oral Exam" + }, + 'alternative' : { + de: "Alternative Prüfungsleistung", + en: "Alternative Examination" + } + } + spec: true + template: + de: "${value} (${spec})" + en: "${value} (${spec})" + + +# +# Semester +# +term: + label: { + de: "Semester", + en: "Term" + } + type: int + template: + de: "${value}\\. Semester" + en: "Term ${value}" + +# +# Häufigkeit des Angebots +# +frequency: + label: { + de: "Häufigkeit des Angebots", + en: "Frequency of Course" + } + type: "enum" + values: { + 'once_per_term' : { + de: "jedes Semester", + en: "every term" + }, + 'once_per_year' : { + de: "einmal im Studienjahr", + en: "once per study year" + } + } + +duration: + type: int + label: + de: Dauer + en: duration + template: + de: "$value Semester" + en: "$value term(s)" + +kind: + type: enum + label: { + de: 'Art der Veranstaltung (Pflicht, Wahl, etc.)', + en: 'kind of module (compulsory, compulsory elective, elective)' + } + values: { + 'compulsory': { + de: "Pflicht", + en: "compulsory" + }, + 'elective' : { + de: "Wahl/Wahlpflicht", + en: "elective" + }, + 'compulsory_elective' : { + de: "Wahlpflicht", + en: "compulsory elective" + } + } + +remarks: + type: str + label: { + de: "Besonderes", + en: "remarks" + } + + +notes: + type: str + label: { + de: "**Änderungsbedarf**", + en: "**Changes Needed**" + } \ No newline at end of file