• Aucun résultat trouvé

A Generative Programming Approach To Developing DSL Compilers

N/A
N/A
Protected

Academic year: 2021

Partager "A Generative Programming Approach To Developing DSL Compilers"

Copied!
25
0
0

Texte intégral

(1)

HAL Id: inria-00070457

https://hal.inria.fr/inria-00070457

Submitted on 19 May 2006

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents

A Generative Programming Approach To Developing DSL Compilers

Charles Consel, Latry Fabien, Laurent Réveillère, Pierre Cointe

To cite this version:

Charles Consel, Latry Fabien, Laurent Réveillère, Pierre Cointe. A Generative Programming Approach

To Developing DSL Compilers. [Research Report] RR-5550, INRIA. 2005, pp.21. �inria-00070457�

(2)

ISRN INRIA/RR--5550--FR+ENG

a p p o r t

d e r e c h e r c h e

Thème COM

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

A Generative Programming Approach To Developing DSL Compilers

Charles Consel — Latry Fabien — Laurent Réveillère — Pierre Cointe

N° 5550

Avril 2005

(3)
(4)

"

#$%&'#(*) +,-%.

/102436587:9;/1<>=9?7:5

@BA 2DCE3?FHGB24IJK7L=

@MA 24N367:=OCPRQLS>7LJK585KT:3?7

@BU J87:363?7V/1<>JK=OC67

WXZY?[1\^]_a`$bdcfehgjikY?[1\6glmL[1[^nZoZpqlrsoLitg

uBvwmyxz\iuBXDm:\?oZp|{

}~ryZ4msvki€h\&vk\6ltXZ\vtltXZ\‚o4ƒB„s„s„s…Vb‡†‰ˆfvwp|Š‰‹s…s…:„b‡‹ZŒaryŽs\6g

;‘?’“•”Z–s’s—

˜™ms[šryp›ohœzcf4\?lp|lžryoZŽLnDryŽL\?g&Ÿ8˜achžgw vk\?Zvw\?gk\o:i~ršZvwm•ˆs\?orsZZvwmLrsltXikm;vwrsp›gkp|oDŽ*ikXZ\1ry¡Dgjikvtrslœ

iwp|mLo¢Š|\?ˆs\?Š£my¤ZvwmsŽLvwrs[*[1p›oZŽ¥WXZ\?e¦ms§4\?vXZp›ŽsXhœ¨Š›\ˆs\?Š£lmLoDgjikvwnDl©itgryo€ªoZmyitr•ikp›msog€h\?€Zp›l?r•ik\6€¦ikmVr

€Zms[šryp›o¬«gjikvwnDl©iwnZvkp›oZŽ­DvkmLŽsvtry[®€Z\?gkp|ŽLo¬«\?rLgjp›oZŽ­DvkmLŽsvtry[°¯vwp|ikp›oZŽD«[šrsgk±fp|oDŽ¢ikXZ\²p|o:iwvkpqlrLlp›\?gRms¤

nDoD€h\vwŠ›e:p›oZŽšgkmy¤³iz¯ryvw\~ŠqrEes\vtg?«frsoD€ŽsnDrsvwrsoLiw\\?p|oZŽ*lvwp|ikpqlryŠODvkmL\?vjiwp|\6g¥

_™o^ikXZ\mLoZ\´XDryoD€¬«s˜acZž‰g¤µrLlp›Š|p|iwryik\r™gjikvtryp›ŽsX:ik¤¶msvw¯´rsvw€[šryDZp|oDŽa¡4\iz¯´\\?o1ralmLoDl\?hiknryŠh[*mh€h\Š

rsoD€­r²gjmLŠ|nhiwp|mLo­\{hZvw\?gwgk\?€¢p›o·r²gj4\?lp¸l;ZvwmsŽsvtry[*[*p›oZŽ¹ŠqryoZŽLnDryŽL\s¥ª_™o­ikXZ\myiwXZ\v1XDryo€O«£˜chž‰g

lms[*ZŠ›p›l?r•iw\™iwXZ\lms[*Zp›Š›ryikp›msoZvkmhl\?gwg¡\6lryngj\&ms¤iwXZ\ŽLrsp›oºikXD\ry¡Dgjikvtrslikp›msoŠ|\?ˆs\Š‰¡\iz¯»\?\oikXZ\

gkmsnDvwl\~ryoD€šiwryvwŽs\i»ŠqryoZŽLnDryŽL\s¥WXZ\~oDryiknZvw\~ms¤˜chž‰g»[šry±s\~ikXZ\?p|vlmL[*Zp|Šqr•iwp|mLoRˆs\?vke*€hp|§4\?vk\?o:i£¤¶vwms[

iwXZ\šlmL[1Dp|Šqr•iwp|mLoVmy¤lmL[1[*mLoª¼a\?oZ\vtryŠ|œKu£nZvk4mLgk\^žryoZŽLnDryŽL\?g1Ÿ8¼au£žgw ¥^½¾o¦¤µrLl©i?«r˜chž¿lmL[*Zp|Š›\v

ŽL\oZ\?vwrsŠ|Š›e&Zvwmh€hnDl\6glmh€h\¯vkp|ijiw\o*p›o*r&¼au£ž£ÀyŠ›m•¯œKŠ›\ˆL\Šflms[*Zp›Šqr•ikp›mso1pqgŠ|\¤³iBikmaikXD\lms[*Zp›Š›\vmy¤4ikXZ\

itryvwŽs\i´¼au£žB¥h½¾o;\?gwgj\?oDl\L«fr^˜acZž²lms[*Zp›Š|\?v´€h\DoZ\6g»gkms[*\~[šrsZZp›oZŽ^ms¤OikXZ\aXZp›ŽsXhœ¨Š›\ˆs\?Šp›oh¤¶mLvk[šr•iwp|mLo

rsoD€a¤¶\?ryiknZvw\?g¬my¤Dr˜chžRp›o:ikmiwXZ\BitryvwŽs\i¼au»ž;ryo€nZoD€h\?vkŠ›efp|oZŽŠqrEes\?vwgMŸwÁ?ÂÄÃ:Â|Åf[1pq€Z€hŠ›\¯ryvw\s«6ZvwmyiwmflmsŠqg«

mL¡hxz\?liwg?«O¥¥?¥w ©¥

WXZpqg™Dry4\v™Zvk\6gj\?o:iwgrš[*\ikXZmh€hmLŠ|mLŽseRiwm€h\?ˆs\?Š|mLº˜chž·lms[*Zp›Š›\vtg«4l\o:iw\vw\?€ÆryvwmsnDoD€ikXZ\^nDgj\

ms¤Žs\?oZ\vtr•iwp|ˆL\RZvwmsŽsvtry[*[*p›oZŽºikmfmsŠqg?¥¢_™nZv1ryZDvkm:rsltX¢\ory¡ZŠ›\?gikmªgziwvknDliknZvw\RiwXZ\€Z\ˆs\?Š|mLZ[*\o:i^ms¤

rV˜achžÇlms[*Zp›Š›\vmLoª¤µrsl\iwgikXDryi^vw\Zvw\?gk\o:i€hp›[*\oDgkp›msoDgmy¤lmL[1Dp|Šqr•iwp|mLo¬¥ºÈ£rsltXª¤µrLl\i*lrso²iwXZ\o

¡4\1p|[*ZŠ›\[*\o:iw\?€¹p›o²r[*mh€hnZŠqryva¯´rEeL«nDgkp›oZŽrLgj4\?liwg?«¬ryoZoZmsiwryikp›msoDg™ryoD€²gj4\?lp›rsŠ|p›É?ryikp›mso¬¥Ê´\?lrsnDgk\

iwXZ\?gk\1ikmfmsŠqgryvw\^XDp|ŽLX²Š›\ˆL\ŠK«>ikXZ\?e¹[šr•iwltX²ikXD\1oD\\?€Dgmy¤´r˜chžB«O¤µrLlp›Š|p|iwryikp›oZŽikXZ\š€h\?ˆs\?Š|mLZ[*\o:iams¤

iwXZ\˜chž¢lmL[1Dp|Š›\v6«ZryoD€[šry±fp›oZŽ*p¸i[*mh€hnZŠqryvrsoD€;vw\œKiwrsvkŽL\itry¡ZŠ›\s¥

˦\¹p›Š|Š›nDgjikvtr•ik\ÆmLnZvRryDZvkm:rsltX·¯p¸iwXÌr¢˜achžÍ¤¶mLvšik\?Š|\?ZXZmLo:e·gj\?vkˆfpql\?g?¥ÇWXZ\¹gjikvwnDliknZvw\ºmy¤ikXZ\

˜chž²lms[*Zp›Š›\v£pqg»Zvk\6gj\?o:ik\?€¬«Lrsg»¯´\Š›Šrsg£Zvtrsl©iwp›l?ryŠnDgj\6gBms¤¬Žs\oD\vtr•ikp›ˆs\iwmfmsŠqgM¤¶msv´gjmL[*\™lmL[*Zp|Šqr•iwp|mLo

¤µrLl\iwg?¥

ÎÆÏ:Ð>ÑwÒÓ “•Ô‘s— ]»mL[*Zp|Šqr•iwp|mLo¬«Z˜™ms[šryp›ohœzcf\6lp|l&ž‰rsoZŽsnryŽs\6g«h¼a\oD\vtr•ikp›ˆs\uBvwmsŽLvwrs[*[1p›oZŽ

ÕÖ6×KØ6Ù©ÚjÛÜÝzÖEÚµÚµÞjß×BàtáEá6Ú8ÞzÜKÜjâ¬ã¶äå¬ã³Õ­æ´çhà©èOå¬ãOéOê4äë6êã¶å‰èìhí£àjîÞzßÖEÞ´á6Ö&ïÚMëݨØð>Þjñ×8òzÞzÚjì:ïÙ©óàtñÄßEÞ£ôß6ñîÞjÚ¶é ÜKñ×KàtñÄÚ8Þ©ìEõhé¶ö©öt÷ø©ùúZàtûÄÞzßEÝzÞ»ü>ÞzáEÞ¾ýLì•õ•Ú8àtßEÝzÞ©þ

ÕÖ6×8ØEÙ©ÚjÛÜ4ÝjÖ6Ú8ÚµÞzß׬àtá6áEÚ8ÞzÜ8ÜkâÿÝzÙ©ûÄÞ¬áEÞzÜñÄßEÞzÜDáEÞäàtß×KÞzÜkìçhàBü>ؕàtß×8Ú8ÞzÚµñÄÞéf÷EìÚµÖEމÕû|Ú8ÞzáMàtܵ×KûÄÞzÚzì?èþZþ©ø 6ì

÷©÷ö©øäÕä‰ú‰ê>ë~üOÞzáEÞ¾ý™ö6ì•õDå¬ÕäüOê¬þ

(5)

#%&²^ +,^-% . # (š)

‘ —

ž‰\?gƊqryoZŽ:ryŽL\?gƀ6€hp6g­Ÿµ˜chžgw ¹vk\?Zv6gj\?o:ik\o:iÆnZoZ\·ryZZvwmhltXZ\¢rEˆ?v?\¦4msnDvŠ›\ˆL\vƊ›\­oZp›ˆs\?rsn

€rs¡DgziwvwrLl©iwp|mLo€h\ZvkmLŽsvtry[*[šr•iwp|mLo¬¥M½¾Š›g~my§>vk\?o:i~€h\?glmsoDgjikvwnDlikp›msoDgXrynhikœKoZp›ˆs\6ryn\i™€Z\?goDmyiwryikp›msoDg

€?€hp\6g¹nDo €hms[šrsp|oZ\L«MgziwvknDliknZvtryo:iŠqr¹lmsoDl\hiwp|mLo €nZo­ZvwmsŽLvwrs[1[*\L«‰¤µrLlp›Š|p|iwrsoLi1gjmLo?lvkp|iknZvw\s«

[šrLg :nDrsoLiBŠ›\?g»lmL[1DŠ|\{fp|i6g£€h\6g£lmsnDltXZ\6gMŠ›msŽspqlp›\Š›Š›\?gBgkmsnDgjœ›xjrsl\?o:ik\?g?«y\i£ŽLrsvwrsoLiwp›gwgwryo:iBl\vkiwrsp|oD\?gMZvwmyœ

Dvkpi!?glvwp|ikp" LnD\?g€hnƀhmL[*rsp|oD\s¥

#

Zvw\[*p›Yvw\™ˆfnZ\L«hŠ|\6g˜achžg´¤µrslp|Š›p¸iw\o:inZoˆvwp|iwry¡DŠ|\a[šryZZp›oZŽ1\o:ikvw\anZo[*mh€hY?Š|\&lmLoDl\?hiknD\ŠO\i

nDoZ\&gjmLŠ|nhiwp|mLo\{hZvkp›[$\&€ZrsoDgnZoŠ›rsoZŽLrsŽs\€h\ZvkmLŽsvtry[*[šr•iwp|mLo;gj%?lp¸% LnD\s¥'&(6ryoZ[*mLp|oDg?«hŠ›\?g˜chž‰g

lms[*ZŠ›p :nZ\?o:i‰Š|\»Zvwmfl\?gwgjng‰€h\£lms[*Zp›Š›ryikp›mso€Zn&¤µryp|i€hn¤¶mLgwg)£€ZnoZp›ˆs\?rsn€ry¡Dgjikvtrslikp›mso :nZpLgryvw\BŠ|\

ŠqryoDŽLryŽL\™gkmsnZvtl\™\iŠ›\™ŠqryoZŽ:ryŽL\™lp›¡ZŠ›\s¥BžroDryiknZvw\€h\?g˜chž‰gvw\oD€Š›\nZvlmL[*Zp|Šqr•iwp|mLoRiwvkY6g´€Zp¸§*vw\o:ik\

€Z\ŠqrªlmL[1Dp|Šqr•iwp|mLo €h\ºŠqryoZŽ:ryŽL\?g1Ž?ovtryŠ›p›gjik\6gŸK¼au£ž‰gt ©¥ÇÈBoH\§>\i?«´nZo¿lmL[*Zp|Šqr•iw\nZvš€h\ƊqryoDŽLryŽL\

€?€hpZvwmh€hnZp|i™Ž?ovtryŠ›\[*\?oLi~€Zn¹lmh€h\6lvwp¸ia€ZryoDg~nZoƊqryoZŽ:ryŽs\¼au»žBÀ4Š›rRlms[*Zp›Š›ryikp›msoÆ¡DrLgzœ¨oZp›ˆs\6ryn

\6gzi\?oDgknZp¸iw\Šqrypqgkg\&rynºoZp›ˆs\6rynƀhn¹lms[*Zp›Š›ryik\nDv€hnV¼au£ž­lp|¡ZŠ›\s¥´uMryv\6gkgk\ol\s«hnDo¹lms[*Zp›Šqr•ik\?nZv~€h\

˜chž²€DoDp¸inZo;[šrsZZp›oZŽ€h\6g£p›oh¤¶msvw[šr•iwp|mLoDgB\il?ryvtrsl©i!vwp›gjikp" :nZ\?gBXDrynhikœKoDp|ˆL\?rynR€nZo˜achž+&Šqr&¤¶mLp›g

€DryoDgŠ›\¼au£ž¢lp›¡ZŠ›\\iŠ›\?glmsnDltXZ\6ggjmLnDgzœ›xjrsl\o:ik\6gŸkÁ6ÂÄÕÅO[*p›€D€hŠ|\?¯´rsvk\L«hZvwmyikmhlmsŠ›\?g?«:mL¡hxz\itg«O¥?¥¥t ©¥

]»\DrsZp|\?v»Dv6gj\?oLiw\™nDoZ\™[$ikXZmh€hmLŠ|mLŽsp›\™4msnZv€?ˆs\?Š|mLZ\?v´€Z\?glmL[1Dp|Šqr•iw\nZvtg»€Z\˜chž£«Zl\o:iwv?\

rsnhikmLnZvš€h\ºŠ,nhiwp|Š›p›gwr•iwp|mLo €mLnhikp›Š›gš€Z\DvkmLŽsvtry[*[šr•ikp›mso Žo-vtr•ikp›ˆs\L¥.&msikvw\ÆryZZvwmhltXZ\\?vk[*\iR€h\

gjikvwnDliknZvw\vŠ|\ª€?ˆs\Š›msD\?[1\?o:iº€nZolmL[1Dp|Šqr•iw\nZvº€h\¢˜acZž \?o̤µrLl\ikik\6g«/ :nZpvk\?Zv6gj\?o:ik\o:iº€h\?g

€Zp|[*\ogjp›msoDg^€h\;lms[*Zp›Š›ryikp›mso¬¥²]»XDr0 :nZ\š¤µrsl\ikik\R4\nhi*\ogjnZp|ik\21ikvw\Rp›[*ZŠ?[*\o:i?\€nZoZ\[*rsoZp›Yvw\

[*mh€hnZŠqryp›vw\s«6\onhiwp|Š›pqgkrsoLiŠ|\6g‰rLgj4\?liwg?«6Š›\?gryoZoDmyiwryikp›msoDg?«6\iŠqrgk36lpqryŠ›p›gwr•iwp|mLo¬¥]»\6g¬msnZikp›Š›g4itryo:i‰XDrsnhijœ

oDp|ˆL\?ryn‰«Lp›Š›glmsvwvk\6gj4msoD€Z\o:i´rsnR¡\6gjmLp|o€nZo˜chžB«f¤µrLlp›Š|p|iwrso:i´Š›\a€ˆs\?Š|mLZ4\[*\o:i´€nZoºlmL[*Zp|Šqr•iw\nZv

€Z\˜chž£«D\iŠ›\&vk\?oD€ZrsoLi[*mh€hnZŠqryp›vk\\ivk\œ8itryvwŽitry¡ZŠ›\s¥

&~msnDgMp›Š›Š|nDgjikvwmsogoZmyiwvk\ryDZvkmhltXZ\rEˆs\6l£nDo*˜chžº4msnZv£Š|\6gMgj\?vkˆfpql\?g€h\i!ŠZXDmsoZp›\s¥ž‰r&gjikvwnDl©iwnZvw\

€Zn*lms[*Zp›Š›ryik\?nZv£€hnš˜chžÆ\?gjiBZv!?gk\o:i?\s«srsp|ogjp- :nZ\Š5nhikp›Š|pqgwr•ikp›mso*Zvtr•iwp :nZ\€mLnhikp›Š›gBŽo-vtr•ikp|¤µg4msnZv

l\vkiwrsp|oZ\6g»¤µrsl\ijiw\?g€h\&lms[*Zp›Š›ryikp›mso¬¥

6,Ó ’6‘ Ñ –7 ‘— ]»ms[*Zp›Šqr•ikp›mso‰«Zž‰ryoDŽLryŽL\?g´˜86€hp?g?«ZuBvwmsŽsvtry[*[šr•iwp|mLo¼9o-vtr•ikp›ˆs\

(6)

+,.

-/.10

’?“ Ó Ô4–y’2Ó 0 3

465

”Z‘ Ï87 ’Ô Ð 9

:  6 Ï ’<; Ó Ô Ó 7Ó>=Ð ’ Ó@?ÏBAÏ 7Ó>CD?E7GF

5 Ó C 2,7Ï “•‘ H

3 5 Ó C 2,7I2

0

=8J ; ÏLK “ ÓM= “E”- F£ÓM= 2µ– N

O ¥|Œ †™gj4\?lijœj_™vkp›\o:iw\?€uBvkmLŽsvtry[*[*p|oDŽ ¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ Œ6…

O ¥‹ †~oZoZmsiwr•iwp|mLoDgR¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ ŒE‹

O ¥, u£vkmLŽsvtry[ cf4\?lp›rsŠ|p›É?ryikp›msoÆ¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ ŒE‹

P65 Ó C 2,7I20 =8Q 0 –s’<2Ó 0 ”7R 0 2¶’?‘ -'4

„Z¥|Œ ÈB{f\6lnhiwp|mLoºÈBofˆ:p›vwmsoZ[*\o:iTSDrLl\i­¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ Œ,

„Z¥‹ žryoZŽLnDryŽL\USrsl\iV¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ Œ,

„Z¥, u£vkmLŽsvtry[VSDrLl\i-¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ ŒE„

9 5 Ó C 2,7I2

0

=8WÆÓ

0

ÑXQ 0

–y’2Ó 0

”7R

0

2µ’?‘

-'P

Y

¥|Œ ÈB{f\6lnhiwp|mLoºÈBofˆ:p›vwmsoZ[*\o:iTSDrLl\i­¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ ŒE„

Y ¥‹ žryoZŽLnDryŽL\USrsl\iV¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ Œ Y

Y ¥, u£vkmLŽsvtry[VSDrLl\i-¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥¥&¥¥&¥&¥¥&¥¥&¥a¥&¥¥&¥&¥¥&¥¥&¥¥&¥&¥a¥&¥ ŒZ

[ ? 2µ‘6–‘?‘2Ó 0 - H

H 5 Ó 0

–07‘<2Ó 0 ” 0 Ô Q ’“ Ï]\,Ó “^

- N

(7)

O

£

Á4Á`•Á + `kÁsÁEÁ!" `+] %#LÁ1! !|Á*Á:Ã@+

+¾Á1`!µÁ1+E

+L *ÃEÁ +

+¾Á ' `#`I`!!

Ã:Á1>Á1 ¨Á + Á1X I * ¾Á1

`>Á kÁ%¾Á`! 'IX ! `#`"!+ Á1!"`fÃ#?ÃLÁ1+%$'&(*)µÂ

†´išiwXZ\ƀh\?gkp|ŽLo·Š›\ˆL\ŠK«£ŽL\oZ\?vwryikp›ˆs\gkmy¤³iz¯ryvw\º€h\ˆL\Š›msZ[*\o:i*\[*ZXDrLgjp›É\6g1ikXZ\ºvwmsŠ›\ms¤a˜™ms[šryp›ohœ

ch\6lp|lƞ‰rsoZŽsnDrsŽs\6gŸ8˜achžgw Rrsgšr¦¯´rEe­ikmª¡Zvwp›€hŽL\ikXZ\Ǝ:ry ¡\iz¯»\?\oHXZp›ŽsXhœ¨Š|\?ˆs\?Š[1mh€h\?Š|p›oZŽ¢ryo€

¼a\?oZ\vtryŠ|œ¨uBnZvwm:gj\1ž‰ryoDŽsnDrsŽs\?g1Ÿ8¼au»ž‰gt ©¥ &\?ˆs\?vjiwXZ\Š›\?gwg«>¤¶vwms[$ikXZ\*ZvwmsŽLvwrs[1[*p›oZŽ;ŠqryoDŽsnDrsŽs\ˆfp›\¯œ

4msp›o:i?«£ikXZ\?vk\p›gšr²Šqrslt±ªmy¤a[1\ikXZmh€hmLŠ|mLŽse¢ryo€·r²Š›rLlt±¢my¤iwmfmsŠqgiwm¢gjnZDmLvji1ikXZ\ƀh\?ˆs\?Š|mLZ[*\o:i1ms¤

˜chž·lms[*Zp›Š›\vtg¥WXZ\ZnZvwm:gj\ms¤ikXZpqg~ry4\v~pqg~ikm;rsZZŠ›egkms[*\ms¤MikXZ\^[*rsp|ogziwvk\6ry[ iw\?ltXZoDp :nZ\6g«

DvkmL[1msik\6€;¡fešiwXZ\&Žs\?oZ\vtr•iwp|ˆL\™ZvwmsŽLvwrs[*[1p›oZŽ1lms[*[^nZoZp|izes«fikmR€Z\ˆs\?Š|mL˜chž¢lmL[*Zp|Š›\vtg?¥

\ ;”h’ 28‘;” ?]7 F,+ SDvkmL[r;ZvwmsŽsvtry[*[*\vˆfp›\¯4msp›o:i?«>rR˜acZž­pqgizefZpqlrsŠ|Š›elvk\6r•iw\?€ikm[*mf€Z\Šr

DvkmLŽsvtry[ ¤µry[*p›Š|e.-,/¨¥WXZ\lms[*[*msoryŠ›p¸iwp|\6gryoD€²iwXZ\Rˆ•ryvwp›rs¡Zp›Š|p|ikp›\?g¤¶mLnZoD€ªp›oªikXZ\RiwryvwŽs\iZvwmsŽsvtry[

¤µrs[*p|Š›e gknZŽsŽL\?gji*rs¡DgziwvwrLl©iwp|mLoDg^rsoD€·oZmyitr•ikp›msogiwXDr•i;rsvk\º€hmL[*rsp|o gj4\?lp¸4l-Ą*/¨¥H½¾o lmso:ikvtrsgji^¯p|ikX

¼au»ž‰g10 !"32LrEˆ•r;msv]5464^«>r˜acZž·Xrsgar;oDrsvkvwm•¯‚ryZDŠ|pqlryikp›msoVgwlmL\*ryoD€¹[nDgjia¡4\*vk\6rs€Zrs¡ZŠ›\&¤¶msv

€Zms[šryp›o\{h\?vjitg¥

½¾oƎL\oZ\?vwrsŠ8«Zrš€hmL[šryp›ohœ¨gk4\?lp|laiw\{fiknDrsŠ‰ZvwmsŽLvwrs[ p›g~rRlmLoDlpqgj\&gk\i~ms¤XDp|ŽLXhœKŠ›\ˆL\Š‰€Z\?lŠqryvtr•iwp|mLoDg?«

¤¶mhlnDgjp›oZŽ^msoR¯XDryi£iwm^lmL[*Znhik\L«hrsgBmLZ4mLgk\?€*iwmXZm•¯Hiwm^lmL[*Znhik\™p¸i6¥B†~g´ryoRp›Š›Š|nDgjikvtr•iwp|mLo¬«flmsogjpq€h\v

iwXZ\iw\Š›\ZXDmsofe€Zms[šryp›o¬«>ryoD€Æ[*mLvk\gk4\?lp|l?ryŠ›Š|eºgj\?vkˆfpql\lvk\6r•iwp|mLo¬¥a]»msol\ZiknDrsŠ|Š›es«ik\?Š|\?ZXZmsofeºgj\?vjœ

ˆfpql\6g£vw\Zvw\?gk\o:i´ˆErsvkpqr•iwp|mLoDgBp›oºlvw\?r•iwp|oDŽD«:[1mh€hp|¤¶efp|oDŽ1rsoD€šiw\vw[1p›oDryikp›oZŽ^r1lmL[1[^nZoZpqlryikp›msoR¡4\iz¯´\\?o

ryvkikp›\?g?¥MË¿XZp|Š›\&iwXZp›gZvkmLŽsvtry[ ¤µrs[1p›Š›e;p›o¹r*¼au»ž­lm•ˆL\vtg£iwXZ\¤¶nZŠ›Š‰p›[*ZŠ|\?[*\o:iwryikp›msoºmy¤Mgj\?vkˆfpql\6g«hp|iwg

lmsnZo:iw\vwDryvki»p›or*˜chžªlmLvkvw\?gkmLoD€Zg£ikm*ˆ•ryvwp›ryikp›msoDg»my¤gj\?vkˆfpql\aŠ|mLŽspqly«hry¡gziwvwrLl©ikp›oZŽ1m•ˆs\?v»p›[*ZŠ|\?[*\ohœ

itr•iwp|mLo€h\iwrsp|Šqg¥

SDvkmL[ r1Š›rsoZŽsnryŽs\€h\6gjp›ŽsoZ\?vˆfp|\?¯mLp|o:i?«Zrš˜chžª[šry±L\?g€hmL[šryp›ohœ¨gk4\?lp|lap›oh¤¶msvw[šr•ikp›msoºryop›oLiw\œ

ŽLvwrsŠ‰Drsvjiamy¤BiwXZ\1ZvkmLŽsvtry[*[*p|oDŽRDryvtrs€Zp|ŽL[¥†~gagknDltX¹iwXZ\^DvkmLŽsvtry[*[*\v~l?ryo¹¡4\*ˆ:p›\¯´\?€Vrsg™¡\?p|oZŽ

DvkmL[1Zik\?€¦¡fe¹iwXZ\RŠqryoZŽLnDryŽL\1ikmÆZvwm•ˆfp›€h\š€hmL[šryp›ohœ¨gk4\?lp|l*p›oh¤¶msvw[šr•iwp|mLo¬¥WXZpqg&p›oh¤¶msvw[šr•iwp|mLo¦[šrEe

itry±L\£iwXZ\´¤¶msvw[‚my¤4€Zms[šryp›ohœ¾gj4\?lp¸l£izef\6g«ygkefo:iwrslikpql»lmsoDgjikvwnDliwgryoD€^oZmsiwr•iwp|mLoDg?¥‰½¨iBgj\?vkˆL\?g€hms[šrsp|ohœ

gk4\?lp|lRlmsoDl\vwoDg?«gknDltX­rsgŠ|p›¡ZvtryvweVp›oLiw\vk¤µrslp|oZŽ«mLhikp›[*p|É6r•iwp|mLo¬«p›oDgjikvwnZ[*\o:iwryikp›mso¬«ZvwmyŠ|p›oZŽ¹ryo€

ˆL\vwp¸4lr•iwp|mLoVms¤£ikXD\šŽs\oD\vtr•ik\6€Vlmf€Z\s¥š†~gms¤´oZm•¯&«¬ikXZ\?vk\šryvw\1oZ\p|ikXZ\?vgk\6lp|l1[1\ikXZmh€hmLŠ|mLŽseL«¬oZmsv

€Z\?€hpqlryik\?€gjnDZmLvji´ikmfmLŠ›g?«f¯»\?Š|ŠOgknZp¸iw\?€Rikm*XDryo€hŠ|\™ikXD\alms[*Zp›Š›ryikp›mso;ms¤‰¡4myikXikXD\™XZp›ŽsXZœKŠ›\ˆL\Š4oDr•iwnZvk\

ms¤r*˜chž­ryo€RiwXZ\&vkpqltXZoZ\6gkg´ms¤iwXZ\&¡ZnZp›Š¸ikœKp›oƀhms[šrsp|ohœ¾gk\6lp|lap|oh¤¶mLvk[šryikp›mso¬¥

5

;”77Ï 0

=4Ï ‘2

0

?]7GF – Ó C 27µ”Z’<2Ó

087

Ë¿XZ\?o;[šryZDp|oZŽ1r˜chžÆiwm^r1¼au£žB«:ikXD\~XZp›ŽsXZ\?v»Š›\ˆL\ŠikXZ\

˜chž¦pqg«fiwXZ\[1mLvk\aZvwmsŽLvwrs[ ŽL\oZ\?vwryikp›msoRpqgoZ\\6€h\?€;ikm1¡Zvwp›€ZŽs\™ikXZ\ŽLrs;¯p|ikXikXD\™itryvwŽs\i»\{h\6lnhiwp|mLo

\?ofˆ:p›vwmsoZ[*\o:i6¥M]»mLoDlvw\iw\Š›es«:msoZ\DvkmLŽsvtry[ Š|p›oZ\~¯vwp|ijik\?oRp›or˜chž²lms[*[*msoDŠ|ešlmL[*Zp|Š›\?g»p›oLiwm[šryofe

Š›p›oZ\?g£p|o¼au»žB¥ SZmsv£p|oDgjiwrsoDl\L«L¯´\XDrEˆL\€h\ˆL\Š›ms4\?€šr˜chž¹¤¶msvBiw\Š›\ZXDmsofe^gk\vwˆfp›l\?g?«soDrs[1\6€Rcfu£ž9-|Œ:/K«

iwXDr•i~lms[*Zp›Š|\6gp|o:iwm;2:rEˆ•rZ¥†o¹cfu£ž­ZvkmLŽsvtry[ pqgmsoºrEˆs\?vwrsŽs\ O iwp|[*\?g[*mLvk\&lmLoDlpqgk\™iwXDryoºp|iwg52:rEˆ•r

lmsnZo:iw\vwDryvki?¥

&~myi»gknZvwZvkpqgkp|oZŽLŠ|eL«L¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€1ZvwmsŽLvwrs[*gp›oDlŠ›nD€h\~vwryikXZ\?vBŠ›rsvkŽL\ZvkmLŽsvtry[iw\[*ZŠqr•ik\6g¥MWXZ\

Dvkmhl\6gkg~my¤£ŽL\oZ\?vwryikp›oZŽšiwXZ\?gk\iw\[*ZŠqr•ik\6glryoV¡\$ :nZp¸iw\1lms[*ZŠ›\{O«4vk\?Š|efp›oZŽ;mLo¹ˆ•ryvwp|mLnDg~lmsoD€hp|ikp›msog«

(8)

rsoD€&vw\ :nZp›vkp›oZŽr~o:nD[¡4\vmy¤Zp›oDgzitryo:ikpqr•iwp|mLoDg¬¡fe&lmL[*Znhikp›oZŽ~rsoD€&p›oDgk\vkikp›oZŽ™lmsoDgjiwrsoLitg¥‰Ë¿p¸iwXZmsnhiMryofe

€Z\?€hpqlryik\?€ÆikmfmsŠgjnDZmLvji6«4ikXZpqg~Dvkmhl\6gkg™lrso¹¡\$ :nZp|ik\Šqry¡4msvwp›msnDg™ryoD€Æ\?vkvwmsvkœ¨ZvkmLoZ\s¥WXZ\1vw\?gknZŠ¸iwp|oDŽ

ŽL\oZ\?vwryikmLvapqg&ms¤³ik\o¢lnZ[¡4\vtgjmL[*\RryoD€¦XDrsvw€Vikm¹€h\?¡ZnZŽ¥†€Z€hp|ikp›msoryŠ›Š|eL«¬ikXD\RŠ›rLlt±¹my¤´ikmfmLŠ£gjnDZmLvji

[šrs±s\?g~p¸i€hpšlnZŠ|i™iwm;XDrEˆL\rR[*mh€hnZŠqryv~ikvw\?r•iw[*\o:i™ms¤MikXZ\*€hms[šrsp|ohœ¾gk\6lp|llmLoDl\?vkog\{h4mLgk\?€º¡fe

r1ZvwmsŽLvwrs[º¥

J ; 28‘ C ” C»Ï “ 7

˦\Zvwms4mLgk\&r*[1\ikXZmh€hmLŠ|mLŽse;ikmR€h\?ˆs\Š›msƘchž­lms[*Zp›Š|\?vwg?¥»WXZ\&±L\ep›€h\6r*my¤ikXDp›g

[*\ikXZmh€hmLŠ|mLŽse&pqgikmvk\?Š|emso1Žs\oD\vtr•ikp›ˆs\»ZvwmsŽsvtry[*[*p›oZŽiwm:mLŠ›g,-/¨¥MWXZ\?gk\£iwmfmsŠqg\oDrs¡ZŠ|\´iwma[*mh€h\?ŠhikXZ\

XDp|ŽLXhœKŠ›\ˆL\ŠoDryiknZvw\^ms¤´˜chž‰g?«rsoD€VikXZ\*vwp›ltXZoD\?gwg™ms¤£iwXZ\*¡ZnZp›Š¸ikœKp›o¢€hms[šryp›ohœ¾gj4\?lp¸4lp›oh¤¶msvw[šr•iwp|mLo¬«¬p›o

iw\vw[šgms¤DZvwmsŽLvwrs[ ŽL\oZ\?vwryikp›mso¬¥WXZp›g[*mh€h\Š›p›oZŽal?ryo^¡\€hmLoZ\»p›o^ikXZ\lmLoLiw\{fimy¤ˆ•rsvkp›msnDgŽs\?oZ\vtr•iwp|ˆL\

DvkmLŽsvtry[*[*p|oZŽRrsZZvwmLrLltXZ\?g?¥~_™nZv™[*\ikXZmh€hmLŠ|mLŽse;pqgalms[*4mLgk\?€Æms¤Miz¯»mgziw\Dglms[*Zp›Š›p|oZŽZvwmsŽsvtry[

Š›msŽLp›laryo€4\vk¤¶msvw[*p|oDŽ1ŽL\oZ\?vwryikp›ˆs\™ZvkmLŽsvtry[*[*p|oDŽD¥

Sp›vwgji?«ikXZ\R˜chž¿DvkmLŽsvtry[ Š|mLŽspql*p›gaiwvwrsoDgkŠ›ryik\?€¦p›o:ikmÆryo¢ry¡gziwvwrLl©i¼au£ž¿vw\Zvw\?gk\o:itr•ikp›mso‰¥*WXDp›g

vw\Dvk\6gj\?oLitr•iwp|mLo¢p›g*ry¡gziwvwrLl©i^¡4\?l?rynDgk\;p|išp|olŠ›nD€h\?g1mL\?vwryikp›msoDg¯XZmLgk\p›o:ik\?vkZvw\itr•iwp|mLo¢p›g1oZmsi1oZ\6l©œ

\6gkgwryvwp›Š|e­€h\DoZ\6€·eL\i6Àp¸iR[šrEe¢iwXfnDgšoZmsiR¡\¹\{h\?lnZiwry¡DŠ|\L¥Ì†Š|ikXZmLnZŽsX¿ry¡gziwvwrLl©i?«£ikXZpqg*iwvwrsoDgjŠqr•iwp|mLo

ŽL\oZ\?vwryik\6gr*vk\?Zvk\6gj\?o:iwr•iwp|mLo;iwXDr•i™\oDlmf€Z\?g€hmL[šryp›ohœ¨gk4\?lp|lp›oh¤¶msvw[šr•iwp|mLoºrsoD€ikXDryi~pqggziwvknl©iknDvk\6€

mLo1lmh€h\vk\?Žsp›msoDgmy¤4p|o:iw\vw\?gji¤¶mLv¤¶nZvkikXZ\?vBlms[*Zp›Šqr•ikp›mso^ikvw\?ryik[*\o:i6¥½¾o*€hmsp›oZŽ&gkmD«•iwXZ\vk\?Zvw\?gk\o:iwryikp›mso

pqgry[*\?oDry¡ZŠ›\aikmšŽL\oZ\?vwryikp›ˆs\iwmfmsŠqg´ikXDryivk\?Zvk\6gj\?o:i´iwXZ\&gj\6lmLoD€gjik\?ºmy¤msnZv[*\iwXZmh€hmsŠ›msŽLes¥

¼a\?oZ\vtr•iwp|ˆL\VZvwmsŽLvwrs[1[*p›oZŽ¢iwm:mLŠ›gryvw\Vngj\6€¿ikmH€h\DoZ\²ikXZ\¢lmL[*Zp|Šqr•iwp|mLoÌmy¤1€hms[šryp›ohœ¾gj4\?lp¸4l

¤µrLl\iwgMms¤>r˜chžÆp›o^iw\vw[šgMmy¤>ZvwmsŽsvtry[‚ŽL\oZ\?vwryikp›mso^Zvkmhl\?gwgj\6g¥†¿lr•iw\ŽLmsvwe&my¤4¤µrsl\iwgBrL€Z€hvw\?gwgj\6gikXZ\

[šrsZZp›oZŽ™ms¤4r˜chžZvkmLŽsvtry[p›oLiwm&ritryvwŽs\i\{h\6lnhiwp|mLo^\?o:ˆfp›vkmLoZ[*\o:i?¥†Hgj\6lmso€lryik\?Žsmsvwemy¤¤µrsl\iwg

pqg&€h\?ˆsmyiw\?€VikmikXD\Rlms[*Zp›Šqr•ikp›mso¦my¤ŠqryoZŽLnDryŽL\^ry¡gziwvwrLl©ikp›msog¥*† ikXZp›vt€¦l?r•iw\ŽsmLvkeºms¤»¤µrLl\itg&€h\oZ\?g

lmh€h\ºŽs\oD\vtr•ikp›mso·Zvwmfl\?gwgj\6g^ikXDryišrsvk\Ægk\6lp|likm¦ikXD\¹gjnZ¡Zxz\?l©i;˜chžÍZvwmsŽLvwrs[¥HWXZpqgšryZDvkm:rsltX

\?oDry¡DŠ|\6giwm²[*mh€hnZŠqryvwp›É\ikXZ\ºZvwmsŽLvwrs[ ŽL\oZ\?vwryikp›mso­Dvkmhl\6gkg1ms¤™r²˜chž‚lms[*Zp›Š|\?v?¥ SDnZvkikXZ\?vk[*msvw\s«

\6rsltX¢ŽL\oZ\?vwryikp›ˆs\šZvwmsŽLvwrs[1[*p›oZŽ¹ryDZvkm:rsltXªZvwm•ˆfp›€h\6gr¹ryvtrs€hp›Žs[º«rsgwgjmhlpqr•iw\?€¢rs¡DgziwvwrLl©iwp|mLoDgryo€

iwmfmsŠqg£€h\6€hp›l?r•iw\?€*iwm^rgk4\?lp|l¤µry[*p|Š›e*my¤¬ZvwmsŽLvwrs[,ŽL\oZ\?vwryikp›mso¬¥WXZ\™lms[*Zp›Š|\?v»€h\?ˆs\Š›ms4\v´lrsošikXfnDg

ltXDm:m:gj\™ikXD\&[1m:gzirsZZvwmsZvwp›ryik\aŽs\?oZ\vtr•iwp|ˆL\™ZvwmsŽLvwrs[*[1p›oZŽ1ryZZvwmLrLltXR¤¶mLvr^ŽLp|ˆL\o¤µrsl\i?¥

_™nZvryZZvwmLrLltX~pqg¬p›Š|Š›nDgjikvtr•iw\?€a¡feikXDvk\?\MŽs\oD\vtr•ikp›ˆs\ZvwmsŽLvwrs[1[*p›oZŽryZZvwmLrLltXZ\?g?«oDrs[*\Š›e™†~_™u-›Œ6‹ /¨«

rsoZoZmsiwr•iwp|mLoDg -ċ /¨«ErsoD€ZvwmsŽLvwrs[Çgj4\?lp›rsŠ|p›É?ryikp›mso;-O «#/KÀylmsoDl\hiwnDryŠ›Š|e™myiwXZ\vtg¬ryDZvkm:rsltXZ\6gOlrsoa¡4\»lmsohœ

gkpq€h\vw\?€O¥†~_™u¹p›g¯´\Š›Š¸œ¾gjnDp¸iw\?€aikm™p|o:iwvkmh€hnDl\£lvwmLgwgjœ¨lnhijiwp|oZŽ¡4\XrEˆ:p›msvtgOp›o^¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€ZvwmsŽLvwrs[šg

ŸwÁ?ÂÄÃ:Â|ÅBZvwmsŠ›msŽLnZ\1rsoD€²\Zp›Š|mLŽsnZ\šlmf€Z\1ms¤´†~uB½™p›ofˆsmhlryikp›msoDgt ©¥*†oDoZmyitr•ikp›msog\oDrs¡ZŠ|\1oZmLohœ8¤¶nDoDl©iwp|mLoDryŠ

lmsoDl\vwoDgikm&¡4\p›o:ikvwmf€ZnDl\6€^p›o1ikXZ\™lms[*Zp›Šqr•ikp›mso1Zvwmhl\?gwgŸkÁ6ÂÄÃ:Â|ōvw\?gkmsnZvtl\´[šryoDrsŽs\[*\?oLi© ©¥uBvwmsŽsvtry[

gk4\?lpqryŠ›p›É?r•iwp|mLo;lrsorL€Z€hvw\?gwg£mLhikp›[*p|É6r•ikp›msoZœKmLvkp›\o:ik\6€šZvwmsŽLvwrs[ ŽL\oZ\?vwryikp›msoVŸwÁ?ÂÄÃ:Â|Å>lnDgjikms[*p›É?ryikp›mso;ms¤

gkmy¤³iz¯ryvw\lms[*4msoZ\?o:iwgt ©¥

}\DoZp›oZŽ¢¤µrLl\itg*¤¶nZvkikXZ\?v;Š›\?rL€ZgšnDg*iwm­€hpqgziwp|oZŽLnZpqgjX¿¡4\iz¯´\\?o·¤¶nDoDl©iwp|mLoDryŠaryoD€ oZmLohœ8¤¶nDoDl©iwp|mLoDryŠ

¤µrLl\iwg?¥·_™o­ikXD\mLoZ\;XryoD€O«£ikXZ\¤¶nZoDlikp›msoDrsŠ´¤µrsl\iwg*€h\DoZ\ºZvwmsŽsvtry[ Žs\?oZ\vtr•iwp|mLo¢Zvwmfl\?gwgj\6giwXDr•i

[šrs±s\šiwXZ\º¼au»žOœKikvtryoDgkŠ›ryik\6€¢ZvwmsŽsvtry[ \{h\?lnhiwrs¡ZŠ›\s¥­_™o¢ikXZ\myiwXZ\v1XDryo€O«MoZmsoZœ8¤¶nZol©ikp›msoryŠ»¤µrsl\iwg

\?oZvwp›ltX ikXD\¹Š›rsoZŽsnryŽs\º\{f\6lnhiwp|mLoHp|oHiw\vw[*g;my¤vk\ :nZp|vw\[*\?oLitgšŠ›p|±L\ƍ\?vj¤¶mLvk[šryol\s«´vw\Š›p›rs¡Zp|Š›p|ize·ryo€

gk\?lnZvwp¸izeL¥

5 Ó 0 ’“`2¶ ’<2Ó 0 ‘ 7

(9)

Y

 Ï

’<;

Ó Ô Ó 7 Ó>=Ð

’ Ó Ô

ÏA4Ï

7

Ó>C ?E7GF

– Ó C 27Ï

“•‘

7 ˦\£€h\DoZ\»r[1\ikXZmh€hmLŠ|mLŽse~ikm~€h\?ˆs\?Š|mLr

˜acZž¹lmL[1Dp|Š›\v6¥‰Ë¦\p›oLiwvkmh€hnl\r&¼au£žOœKikvtryogjŠqr•iw\?€1ry¡Dgjikvtrslivw\Dvk\6gj\?oLitr•iwp|mLo^ms¤iwXZ\ZvwmsŽsvtry[

Š|mLŽspqly¥ÌWXZpqgšvw\Zvw\?gk\o:itr•ikp›mso·p›gšgjikvwnDliknZvw\?€Hgkm²iwXDr•iš¤¶nDvjiwXZ\v;lms[*Zp›Š›ryikp›msoHlrso·Zvwmh€hnDl\ºr

gj4\?likvwnZ[ ms¤p›[*ZŠ›\[*\o:iwryikp›msoˆ•ryvwp›ryikp›msoDg?¥

 0 Ó A4Ï 7 ‘ Ï¿Ó =4Ï

0 Ï “•”h’2AÏ C “ ÓM= “•” 20 = ’ Ó‰Ó 78‘

7

_™nZv*[*\ikXDmf€ZmsŠ›msŽse¢vw\Š›p›\?g^mso·r

oZm•ˆs\?ŠhnDgk\my¤OŽs\?oZ\vtr•iwp|ˆL\»ZvwmsŽLvwrs[*[1p›oZŽ¥‰WXZpqgM[*\ikXDmf€ZmsŠ›msŽse¤µrslp›Š›p¸itr•ik\6gikXD\Žs\?oZ\vtr•iwp|ˆL\»Zvwmyœ

Žsvtry[*[*p|oDŽDvkmhl\6gkgvw\ :nZp›vw\?€²¡:e²˜achžÇlms[*Zp›Šqr•ikp›mso &XZp|ŽLXhœ¨Š|\?ˆs\ŠMŽL\oZ\?vwryikp›ˆs\1ZvwmsŽsvtry[*[*p›oZŽ

Dryvtrs€Zp|ŽL[*g£lryoš¡4\~ngj\6€*ikm[*mh€hnZŠqryvwŠ›e^Zvwmhl\6gkgB€Zms[šryp›ohœ¾gj4\?lp¸lp|oh¤¶mLvk[šryikp›msošryoD€;ry¡Dgjikvtrslœ

ikp›msoDg?¥

–s”Z‘ Ï ‘?’Ô Ð 7

˦\nDgk\msnZv£[1\ikXZmh€hmLŠ|mLŽse&iwm€h\ˆL\Š›msšr&lmL[*Zp|Š›\vB¤¶msv£r&˜chž¹€h\6€hpqlr•iw\?€^ikm

ikXZ\&lvk\6r•ikp›msošms¤¬ik\?Š|\?ZXZmLo:eRgk\vwˆfp›l\?g?¥Ë¦\aZvk\6gj\?o:i´rsgk4\?l©itg«hrsoZoZmyitr•iwp|mLoDg»rsoD€;gk4\?lpqryŠ›p›É?r•iwp|mLo

msZ4msvkiknDoZp¸iwp|\6gikXr•i[*mf€Z\Š¬ˆ•ryvwp›msnDglmL[*Zp|Šqr•iwp|mLo€Zp|[*\ogjp›msoDgms¤iwXZpqg˜acZžB¥

‰’ 7I20 Ï 7 WXZ\ºvk\6gzišmy¤™ikXZpqg*Drs\?všp›g*mLvkŽ:ryoZp›É\6€­rsg^¤¶msŠ›Š›m•¯g¥¿cf\?likp›mso¿‹¹p›o:ikvwmh€hnDl\6g*msnZvšl?rsgk\

gjikn€hes«Drš˜chžª¤¶mLvik\?Š|\?ZXZmsofegj\?vkˆfpql\?g?¥£cf\6l©ikp›mso],*Zvw\?gk\o:itgmsnZv[*\iwXZmh€hmsŠ›msŽLešikmR€Z\ˆs\?Š|mLÆr1˜chž

lms[*Zp›Š|\?v?¥1cf\?likp›mso

O

¤¶mhlngj\6gmso²lms[*Zp›Š|p›oZŽikXZ\*ZvwmsŽLvwrs[ Š|mLŽspqly¥^cf\6l©iwp|mLoª„ryoD€

Y

Zvk\6gj\?o:iwg™ikXZ\

lms[*Zp›Š›ryikp›mso¢ms¤¤¶nZoDlikp›msoDrsŠ´rsoD€¢oZmLohœ8¤¶nDoDl©iwp|mLoDryŠ´Š›rsoZŽsnryŽs\šnDoZp¸itg¥@Sp›oDryŠ›Š|eL«£cf\?likp›mso ¹€hpqgklnDgkgk\?g

mLnZvryDZvkm:rsltX¬«fryo€ºch\?l©iwp|mLo Z*lmsoDlŠ|nD€Z\?g?¥

+, .‰°(14

_™nDvryDZvkm:rsltX·ikm €h\ˆL\Š›msZp›oZŽ ˜chž,lms[*Zp›Š|\?vwgRp›gp|Š›Š›nDgziwvwryik\6€H¡:e¿r­˜chž ikm·lvk\6r•iw\ºik\Š›\DXZmsofe

gk\vwˆfp›l\?g?¥‰Ë¦\ltXZmfmLgk\£iwXZ\™cf\6gkgkp›mso1½¾oZp¸iwp›ryikp›mso*uBvwmyiwmflmsŠ¬ŸKcf½¾u» ,-›Œ<,h«DŒ

O

/rLgikXZ\nDoD€h\vwŠ›e:p›oZŽ&gkp|ŽLoDryŠ›p|oDŽ

DvkmsikmhlmLŠ8¥WXZp›gDvkmsikmhlmLŠ:pqgnDgk\?€^¤¶msvMmLp›l\m•ˆs\v½¾u¿Ÿ MmL½¾u» Mryo€iwXZp|vt€^Žs\oD\vtr•ikp›mso^[*ms¡Zp›Š|\ZXDmsoZ\6g¥

½¨ipqggjiwryo€Zryvt€hp›É\?€¡fešikXD\&½¾È£W SaryoD€ºrs€Zmshiw\?€¡:eRikXZ\&½zW¥

cf½¾u p›gr­vtryDp›€hŠ›eH\[*\vwŽsp›oZŽ­DvkmsikmhlmLŠikXr•iºZŠ›rLl\6gšik\?Š|\?ZXZmLo:eHp›o:ikm [šrsp|oDgjikvw\?rs[-lms[*Znhiw\v

gwlp›\ol\s¥²½¨i1pqg1lms[^¡Zp›oZ\?€¢¯p|ikX r¹ofnZ[^¡\?v^ms¤\{hp›gjikp›oZŽ²ZvkmsikmhlmLŠ›gikm²XDryoD€ZŠ|\ˆErsvkp›msngrsgk4\?l©itgms¤

lms[*[nDoZp›l?r•iwp|mLoDgVŸwÁ?ÂÄÃ:Â|Åikvtryogj4msvkiryo€Ìvw\?ryŠ|œKikp›[1\²gziwvk\6ry[*p|oDŽ: ©¥ ½¨iºvk\?Š|p›\?g;mso¿iwXZ\¦lŠ|p›\o:ikœ¨gk\vwˆs\?v

[*mh€h\?Š8¥~cf½¾uÇZŠ›ryij¤¶mLvk[šgZvwm•ˆfp›€Z\&vkpqltXÆZvwmsŽsvtry[*[*p›oZŽ*p|o:ik\?vj¤µrLl\6gp|oVŠ›rsoZŽsnDrsŽs\6gŠ|p›±s\1] ryo€ 2LrEˆ•rZ¥

WXD\VŽs\?oZ\vtryŠ|œ¨ZnZvwm:gj\ÆoDryiknZvw\¹ms¤&ikXZ\6gj\²ZvkmLŽsvtry[*[*p|oDŽ¢p|o:ik\?vj¤µrLl\6g;[šry±L\ÆikXD\[ˆs\?vke Š›rsvkŽL\Vryo€

p›o:ikvwp›l?r•iw\ikm*nDgk\s¥MWXZpqggjp|iknr•ikp›msop›g€h\?[*msoDgjikvtr•iw\?€R¡fe 2:†½&cf½¾u«Dr1gzitryoD€Zrsvw€Zp|É?\?€ 2:rEˆ•rp›oLiw\vk¤µrsl\

iwmRcf½¾u -ZD«¬Œ6„ /¨¥ 2:†½& cf½¾u¿lmLoDgkp›gjiwgms¤»Œ<,L…^lŠ›rLgkgk\?grsoD€[1mLvk\aiwXDryoE,s…L…s…^[1\ikXZmh€Zg?¥

WXZ\oZ\\6€¤¶msv™rš˜chž p|oºiwXZp›g™€hms[šrsp|oÆgjik\[šg¤¶vkmL[ iwXZvk\?\&[šryp›oÆvk\6rsgkmsoDg?¥Sp›vwgji?«[1mh€h\?vkoºiw\Š›\œ

DXZmsofe&pqgMr™gkmy¤³iz¯ryvw\£p›o:ik\ogjp›ˆs\ryvw\?r~¡\6lryngj\´my¤ikXZ\XZm:gziMmy¤oZ\¯ ¤¶nZoDl©iwp|mLoDryŠ›p|ikp›\?gp|ims§4\?vwg?¥ch\?lmLoD€O«

DvkmLŽsvtry[*[*p|oZŽik\Š›\DXZmsofe;gk\vwˆfp›l\?g´oZm•¯Ìvw\ :nZp›vk\6g£\{fik\ogjp›ˆs\\{h4\vkikpqgj\ap›oºcf½¾u¿rsoD€;p|iwglms[*DrsoZp|mLo

DvkmsikmhlmLŠ›g?«¬€hpqgziwvkp›¡Znhiw\?€²ZvkmLŽsvtry[*[*p|oDŽD«>oZ\iz¯´msvw±fp|oDŽD«¬ryo€¦cf½¾uZvwmsŽLvwrs[*[1p›oZŽRp›o:ik\?vj¤µrLl\?g?¥*WXZp|vt€O«

r²gziwnD€heªmy¤\{hp›gjikp›oZŽ¹iw\Š›\ZXDmsofe¢gj\?vkˆfpql\?g^gjXDm•¯g&ikXr•i^DvkmLŽsvtry[*[*p|oZŽ¹r²gj\?vkˆfpql\RŠ›msŽLp›lRp|o r¹Žsp›ˆs\?o

ã¶êDú‰õOâ6ã³ß×8ÞzÚ8ßEÞ¾×BêDß©ñÄßEÞzÞzÚ8ñÄßúZàt܁õ•Ù©Ú8ÝzÞ©þ

ã³ú‰ô£â6ã³ß×8ÞzÚ8ßEàw×KñÄ٩ߕàtûZúhÞzûÄÞzÝzÙ©óó´ÖEßEñÄÝjàw×8ñÄÙ©ßE܉ôßEñÄÙ©ßLþ

(10)

1 service Counter { 2 processing {

3 localvoid log (int);

4

5 registration {

6 int count;

7

8 response outgoing REGISTERREGISTER() {

9 count = 0;

10 returnforward;

11 }

12

13 void unregisterunregister() {

14 log (count);

15 }

16

17 dialog {

18 response incomingINVITE() {INVITE 19 response resp = forward;

20 if (resp != /SUCCESS) {

21 return forward 'sip:secretary@company.com';

22 } else {

23 count++;

24 return resp;

25 }

26 }}}}}

Sp|ŽLnZvk\*Œ WXD\lmsnDoLiw\vgk\vwˆ:pql\p›o¹cfu£ž

DŠ›ryij¤¶msvw[,¯p|ikXRr^¼au£žÆpqg :nZp|ik\~rŠqry¡4msvwp|mLnDgMryo€*\vwvkmLvjœ¨ZvwmsoZ\»Zvkmhl\?gwg¥½¨i£vw\ :nZp›vk\6gvk\6lnZvwvkp›oZŽ&lmh€h\

r•ijiw\vwoDgrsg´iwXZ\&ZvwmsŠ›msŽLnZ\arsoD€\Zp›Š|mLŽsnZ\ms¤p›o:ˆLmhlr•iwp|mLoDg´my¤ikXZ\ch½¾u DvkmLŽsvtry[*[*p|oZŽ^p|o:iw\vk¤µrsl\L¥

˦\&XDrEˆs\a€h\ˆL\Š›ms4\?€r1˜chž¦oDrs[1\6€ch\?gwgjp›msouBvkmhl\?gwgjp›oZŽ*ž‰ryoDŽsnDrsŽs\^ŸKcfu£ž »ikXDryi\?oDry¡DŠ|\6g£iw\Š›\œ

DXZmsofeÆgj\?vkˆfpql\6giwm¡4\1€Z\DoZ\šlmsoDlp›gk\Š›es«>nDgkp|oDŽXZp›ŽsXZœKŠ›\ˆL\Šry¡Dgjikvtrslikp›msoDg™ryoD€VoZmyitr•ikp›msog -›Œ /¨¥cfu£ž

\?oDry¡DŠ|\6gBiwXZ\™DvkmLŽsvtry[*[*\vMiwm^lmLoDl\?o:ikvtr•ik\™msošiwXZ\gj\?vkˆfpql\Š›msŽLp›ls«frs¡Dgjikvtrsl©iwp|oDŽm•ˆs\?v£Š›m•¯œKŠ›\ˆL\ŠZp›o:ikvwp¸œ

l?rslp|\6g´gknDltXÆrsg´iwXZ\ZvwmyikmhlmsŠ¬€h\iwryp›ŠqgryoD€;ikXZ\&nDoD€h\vwŠ›e:p›oZŽ*ZŠqr•ik¤¶msvw[ ZvwmsŽLvwrs[1[*p›oZŽp›o:ik\?vj¤µrLl\s¥

†~o;cfu£žºZvwmsŽLvwrs[ €h\DoD\?gBr™ik\?Š|\?ZXZmLo:e1gj\?vkˆfpql\´ikm¯XZpqltX*nDgk\vtgMlryošgknZ¡Dgwlvwp|¡4\s¥WXZ\ +Á1+X+ I &p›g

r±L\e^oZmyiwp|mLošp|o;cfu»žBÀsp|i»gjikvwnDl©iwnZvw\?giwXZ\~€h\?ˆs\Š›msD[1\?o:iBmy¤¬raik\?Š|\?ZXZmsofe*gj\?vkˆfpql\L¥†Ìgk\?gwgjp›msošlmsoDgkp›gjiwg

ms¤rÆgj\imy¤XDrsoD€hŠ›\vtgryoD€ªr¹gjiwryik\L¥† XryoD€hŠ›\v1€h\oZ\?grÆikvw\?r•iw[*\o:i&¤¶msv1rºZvkmsikmhlmLŠBvw\ :nZ\?gjimsv

rºDŠ›ryij¤¶msvw[ \ˆs\?o:i?¥Æ† XDrsoD€hŠ›\v[šrEe²¡\ms[*p¸ikik\6€O«p¸¤oZm¹gk\vwˆfp›l\šŠ|mLŽspqlšpqgrsgwgjmhlp›ryik\?€¦¯p|ikX­p|i?¥¹†

gjiwryik\ryŠ›Š|m•¯ggkms[*\€Zr•itriwm1¡4\[šryp›oLitryp›oZ\?€rslvkm:gkg´r*gj\i´ms¤XDrsoD€hŠ›\vtg¥Bcfu£ž¦ms§4\?vwg€hp|§4\?vk\?o:i±fp›oD€Zg

ms¤£gj\6gkgkp›msoDgiwXDr•ia¤¶msvw[ršXZp›\vtryvtltXfes¥~† gjp›[*ZŠ|\1lmLnZo:ik\vagj\?vkˆfpql\¯vwp|ijik\?o¹p›o¦cfu£ž£«>\{hXZp›¡Zp¸iwp|oDŽRikXDp›g

XDp|\?vwrsvwltXfes«:pqg€hpqgjZŠqrEes\6€Rp›o]Sp›ŽsnDvk\*Œs¥

WXZ\p|oDoZ\vw[*mLgjigj\6gkgkp|mLo¢p›gikXZ\ `I`! Rp|i[šryoDrsŽs\?gr¹lmL[1[^nZoZpqlryikp›msoª¡\iz¯»\?\o¢Drsvjiwp|\6g¥¹†

€Zp›rsŠ|mLŽRp›glvk\6r•ik\6€Æ¡feikXZ\ ;vw\ :nZ\6gzi6«>lmsohvk[*\?€¹¡:eiwXZ\ºvk\ :nZ\?gji?«>ryoD€¹ik\?vk[*p›oDr•iw\?€Æ¡fe

iwXZ\švw\ :nZ\6gzi6¥M†‚€hp›rsŠ|mLŽ1gk\?gwgkp|mLo€h\DoZ\?gXryoD€hŠ›\vtg´¤¶msv´iwXZ\cf½¾uHvk\ :nZ\?gjiwgryo€;ZŠqr•ik¤¶msvw[ \ˆL\o:iwg

4\vkiwrsp|oDp|oZŽikmiwXZ\™lms[*[nDoZp›l?r•iwp|mLoš[*rsoDryŽL\[*\o:i6¥‰½¾ošiwXZ\™lmsnZo:ik\?v»gk\vwˆfp›l\s«Lrso XDrsoD€hŠ›\v»p›g

€Z\DoZ\6€ikmRDvkmhl\6gkgp›oDlms[*p|oDŽRlryŠ›Šqg¥WXZpqgXDrsoD€hŠ›\v~gkehgziw\[šr•iwp›l?ryŠ›Š|e31` ` µÂ³Á6Â|Åvwmsnhiw\?gt ršlrsŠ|Š

iwmRiwXZ\nDgk\va¯XZmgjnZ¡gklvkp›¡\6€ºikm;ikXZpqgagj\?vkˆfpql\s¥™½¨¤MikXZpqg™¤¶msvw¯´rsvw€º€hmf\6g~oZmsiagknDll\\6€­ŸkÁ6ÂÄÃLÂ|ÅikXD\^nDgk\v

pqga¡ZnDgkeZ ©«OiwXZ\šlryŠ›Šp›g™¤¶mLvk¯ryvt€h\?€ÆikmÆrgk\?lvk\iwrsvkeL¥^_~ikXZ\?vk¯pqgj\L«>ikXZ\*lrsŠ|ŠMpqgrsl?l\Zik\?€¬«¬rlmsnZo:ik\?vp›g

p›oDlvk\?[1\?o:ik\?€¬«ZryoD€;ikXZ\&vw\?gk4msoDgk\™pqgvw\iknDvkoZ\6€Riwm*ikXZ\&l?ryŠ›Š|\?v?¥MWXZ\&gk\?gwgjp›msoˆ•ryvwp›rs¡ZŠ|\*nDgk\?€p›o

(11)

iwXZpqg~XDrsoD€hŠ›\v™p›ga€h\oZ\?€Æp›o¹iwXZ\^gk\?gwgkp|mLo¹gjnZvwvwmsnZoD€Zp|oZŽRr€hpqryŠ›msŽD«oDry[*\?Š|eikXD\ kÁ¨Ã+ I gk\?gwgjp›mso¬¥

chnDltXÇr­gk\?gwgjp›mso¿pqg;lvk\6r•iw\?€ ¤¶msv\?rLltX¿nDgj\?v;ms¤&ikXZ\¦lmsnDoLiw\vgj\?vkˆfpql\ÆiwXDr•ivk\?Žspqgziw\vtgšmsoHiwXZ\¦cf½¾u

DŠ›ryij¤¶msvw[$¡fe²gk\o€hp|oDŽiwXZ\ vw\ :nZ\6gzi6¥RWXZp›ggj\6gkgkp|mLo²€h\DoZ\6grºgzitr•ik\*iwXDr•ilmsoDgkpqgzitgmy¤´r

nDoZp :nZ\^ˆ•ryvwp›rs¡ZŠ|\ŸZ ©«p|oDp¸iwp›rsŠ|p›É\6€Æp|o¹ikXZ\ RXryoD€hŠ›\v6¥~†,nDgj\?v™pqg™nZoZvw\Žspqgjik\vw\?€\?p¸iwXZ\v

¯XD\o1XZp›gvw\ŽLp›gjikvtr•iwp|mLoŠ›\?rsgk\´\{hZp›vk\6gmsv¯XZ\o^ikXD\ ™vk\ LnD\?gjiMlmso:iwrsp|ograÉ?\vwmyœ¨Š|\6rsgk\s¥¬Ê´myiwX

gkp|iknDryikp›msoDgBrsvk\ˆfp›\¯´\?€*¡fešcfu£ž¹rLg£rnZoZp" :nZ\~\?ˆs\?oLiBory[*\?€ >«6¤¶msv£¯XZp›ltXRrXDryoD€ZŠ|\?v£lrso

¡4\™€Z\DoZ\6€šp›o*ikXZ\cfu£ž¹DvkmLŽsvtry[º¥‰½¾oRmLnZv£\{Zry[*ZŠ›\s«yiwXZ\ &XDryoD€ZŠ|\?v£p›o:ˆLms±L\?gMr¤¶nZol©ikp›mso

iwXDr•iŠ›msŽ:gBiwXZ\&lmsnDoLiw\v6«f¯XZ\o;ikXZ\&gk\?gwgjp›msop›g»ik\?vk[*p›oDr•iw\?€O¥B†´i´ikXD\™iwmsmy¤¬iwXZ\&gj\6gkgkp›mso;XDp|\?vwrsvwltXfe1p›g

iwXZ\ <ItÁagk\?gwgjp›mso¬¥cfnDltXVrgj\6gkgkp›msoÆpqg™lvk\6r•ik\6€º¯XZ\o¹ikXZ\*gj\?vkˆfpql\pqga€h\ZŠ›m•es\6€ºmsoÆiwXZ\DŠ›ryij¤¶msvw[

rsoD€€h\Š›\iw\?€¯XZ\oºp|ip›gnDoD€h\DŠ|m•eL\?€O¥

cfu»ž­ry¡Dgjikvtrsliwgm•ˆL\vr*ofnZ[¡4\vms¤DvkmsikmhlmLŠ¬ryoD€ZŠqr•ik¤¶msvw[ p›gwgknZ\?grs[*msoZŽ*¯XZpqltXºp›giwXZ\gjiwryik\œ

¤¶nDŠ|Š›oZ\?gwg^my¤rºikvtryogkrLl©ikp›mso‰¥¹ž¬\i^nDg\{hZŠ›rsp|oªiwXZpqgpqgkgknZ\R¡4\?l?rynDgk\Rp|i^p›Š|Š›nDgjikvtr•iw\?g&iwXZ\;Ž:ry¢¡4\iz¯´\\?o

chu£ž rsoD€ÆrRcf½¾uÌZŠqr•ik¤¶msvw[º¥WXZp›g~p›gwgknZ\¯p›Š|ŠŠ›ryik\v™¡\^nDgk\?€ºp›oÆ\{Zry[*ZŠ›\?g?¥†‚ikvtryogkrLl©ikp›msoÆlmsoDgkp›gjiwg

ms¤r1vw\ :nZ\6gzi~rsoD€ikXZ\&vw\?gkmLoDgk\ap|iiwvkp›ŽsŽL\vtg¥ÈM{hpqgziwp|oZŽ;ch½¾u¿ZŠ›ryij¤¶mLvk[šgZvwm•ˆfp›€h\&gk\Drsvwryik\p›oLiw\vk¤µrsl\

\?o:ikvwp|\6g¤¶msv™Zvwmfl\?gwgjp›oZŽšvw\ :nZ\6gzitg~ryo€Ævk\6gj4msogj\6g¥† ik\Š›\DXZmsofeZvkmLŽsvtry[ [*rEeZvwmhl\?gwgr;vk\ LnD\?gji

rsoD€­p|iwg1vw\?gkmLoDgk\p›oD€h\?\?oD€h\o:iwŠ|e>ÀgjnltX·rVikvtryoDgwrslikp›mso­pqg*gkrsp›€­ikm¦¡\8+ ¨Á!|Á1+X+©¥ †Š|ik\vwoDryikp›ˆs\Š›es«

riw\Š›\ZXZmLofe¹ZvwmsŽsvtry[ [šrEe¹oZ\?\?€²ikmº[šr•itltX¢rvw\?gk4msoDgk\^¯p|ikX¦iwXZ\šmsvwp|ŽLp|oryŠvk\ :nZ\?gjiikm¹lmLo:ikp›o:nD\

gkms[*\&iwvk\6r•iw[1\?o:i™p›oZp¸iwp›ryik\6€¹¯XZ\?oÆikXZ\^vk\ :nZ\?gji™ŽLmyi~Zvwmhl\6gkgk\?€O¥acfnDltX²ršikvtryoDgwrslikp›msoÆpqg™gwrypq€ºikm¡\

+ `¾Á'!!‰¡\6lryngj\Rp|i^vw\ :nZp›vw\?giwXZ\RZŠqr•ik¤¶msvw[ iwmVvw\iwrsp|o¢\?oZmsnDŽsXªp|oZ¤¶msvw[*ryikp›msoªiwm¹Š|p›oZ±¢rÆvw\?gkmLoDgk\

iwmšikXD\^mLvkp›Žsp›oDryŠ‰vk\ LnD\?gji?¥™cfu»ž ry¡gziwvwrLl©iwg~m•ˆs\?vikXZ\6gj\p|[*ZŠ›\[*\o:itr•ikp›mso²€h\itryp›Š›g?¥™†™g~gkXZm•¯oÆp|oVikXZ\

XDryo€hŠ|\?v?«>¯XZ\?o¹iwXZ\ vk\ :nZ\?gji™pqg¤¶mLvk¯ryvt€h\6€O«DiwXZ\1vk\6gj4msoDgk\pqg~ikvw\?r•iw\?€Æ¯p|ikXDp|o²ikXZ\

gwry[*\*XDrsoD€hŠ›\v6¥c:iwryik\¤¶nZŠ|Š›oZ\6gkg&ms¤»iwXZ\*ikvtryogkrLl©ikp›mso¦pqg€h\iw\vw[*p|oZ\6€¦¡:e¦ryoDrsŠ|efÉ?p|oZŽikXD\;gj\?vkˆfpql\L¥š½¾o

¤µrLl©i6«‰cfu£ž my§>\vtg™gjiwryik\¤¶nZŠ|Š›oZ\6gkg™ikXDvkmLnZŽsXZmLnhi~iwXZ\*gj\6gkgkp|mLo¹XZp›\vtryvtltXfes¥a½¾o²mLnZv™\{Zry[*ZŠ›\s«>ikXD\

ˆ•rsvkpqry¡ZŠ›\1p›gnDgk\?€²p›o²¡4myiwX²iwXZ\*vk\?Žspqgziwvwryikp›msoVrsoD€¦€hp›rsŠ|mLŽgk\?gwgkp|mLoDg¥^Ë¿XZ\o¢rÆcf½¾uÍ[*\?gwgkrsŽs\1p›gZvwmyœ

l\?gwgj\6€¦¡:eªryo­cfu»žÌZvwmsŽLvwrs[«‰p¸itg^¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€¦ˆs\?vwgkp›mso¦\{h\?lnhik\6ggkms[*\Rlmh€h\šiwmºikvwp|ŽLŽs\?v&ikXZ\

lmsvwvk\6gj4mso€hp|oDŽXDrsoD€hŠ›\vryo€;iwm*\{fikvtrsli´iwXZ\ryDZvkmLZvwp›ryik\gzitr•ik\L¥

´! % '#$%& # (š) +,-%.

_™nDv£gzitryvkikp›oZŽmLp|o:iBiwm€h\ˆL\Š›msšr&˜chž¹lmL[*Zp|Š›\v£p›gBikm€h\DoZ\~r&€hp›vw\?l©iMiwvwrsoDgkŠ›ryikp›mso*my¤4ikXZ\ wà X`

!kÃIp|o:iwm rH¼au£ž vk\?Zvk\6gj\?o:iwr•iwp|mLo¬¥ WXZpqg;iwvwrsoDgkŠ›ryikp›msoÌpqgº€hp|vw\?lip›oÌiwXDr•iºp|iÆrsp|[šg;ikm Žs\?oZ\vtr•iw\

rs¡Dgjikvtrsl©i¼au£žlmh€h\s«•oZmsioD\?l\6gkgwryvwp›Š|ea\{h\?lnhiwrs¡ZŠ›\s«E¯XZ\vw\»˜chž[*\?ltXDrsoZp›gk[šgrsvk\£oZmyies\i\{hDrsoD€h\6€

¡Dnhi&vwryikXZ\?vaŠ›\¤³inDoZp|o:iw\vwZvk\ik\6€O¥1†~Š¸iwXZmsnDŽsXªry¡Dgjikvtrsli?«>ikXDp›gaiwvwrsoDgjŠqr•iwp|mLoV\?oDlmh€h\6g&€hms[šryp›ohœ¾gj4\?lp¸4l

p›oh¤¶mLvk[šr•iwp|mLop›o:ikm1ikXD\¼au£žªvk\?Zvw\?gk\o:iwryikp›mso¬«fp›oºr*lmso:ik\{:i¯XZ\?vk\aiwXZ\elryoŠqr•ik\?v¡\&p›o:ik\?vkZvw\iw\?€O¥

½¾o¹mLnZviw\Š›\ZXZmLofel?rsgk\gziwnD€heL«D¤¶mLv~\{Zrs[1DŠ|\L«D¯XZp›Š|\ikXZ\^vkmLnhikp›oZŽRms¤Mrcf½¾uÌ[*\?gwgkrsŽs\&p›oVcfu£ž p›g

oDmyi™lmsoDl\vwoZ\?€¯p|ikXVgjiwryik\¤¶nDŠ|Š›oZ\?gwg?«DiwXZp›g~Zvwms4\vkizepqg\{fDŠ|pqlp|ikŠ›e\?oDlmh€h\6€ºp|o¹ikXZ\*¼au£žOœKikvtryoDgkŠqr•ik\6€

ˆL\vtgjp›mso‰¥

WXZ\~¼au»žOœKikvtryoDgkŠ›ryik\6€ZvwmsŽLvwrs[‚Š|mLŽspqllryo^ikXD\o*¡\iwXZ\p›oZZnhiBiwm&ˆ•ryvwp|mLnDgp|o:ik\?vkDvk\iwr•iwp|mLoDgŽsnZpq€fœ

p›oZŽ*iz¯´mRlmL[1Dp|Šqr•iwp|mLo€hp›[*\oDgkp›msoDg 'MI`M !Dryo€8 `"!'MI M`!G!"`fÃ#?ÃLÁ3'>I+©¥´_™oºiwXZ\&msoZ\

XryoD€O«fiwXZ\&¤¶nZol©ikp›msoryŠOnZoZp|iwgmy¤ikXZ\&ŠqryoZŽLnDryŽL\arsvk\p›o:ik\o€h\?€ikmšlms[*ZŠ›\[*\o:iikXD\¼au£žOœKikvtryoDgkŠqr•ik\6€

DvkmLŽsvtry[Š›msŽspql1ikmV[*rs±s\*p|i\{h\?lnhiwrs¡ZŠ›\s¥¹_™oªikXZ\RmsikXZ\?vXDrsoD€O«ikXZ\RoDmsohœK¤¶nZoDlikp›msoDrsŠBnZoZp|iwgmy¤ikXZ\

ŠqryoDŽsnDrsŽs\»rL€Z€hvw\?gwgp|[*ZŠ›\[*\o:itr•ikp›mso*vw\DoD\[*\o:iwgmLv\oZvwp›ltXD[1\?o:iwg?¥WXZ\lms[*Zp›Š›ryikp›mso1my¤D¤¶nDoDl©iwp|mLoDryŠ

(12)

nDoZp¸itgˆ•ryvwp|\6g´¯p¸iwXvw\?gk4\?l©iiwm*¡msikXikXZ\itryvwŽs\i¼au»ž¢ryoD€;ikXZ\itryvwŽs\i\{h\?lnZikp›mso\ofˆfp|vwmsoZ[*\?oLi6¥½¾o

rL€Z€hp|ikp›mso*iwm&ikXZ\6gj\™€hp|[*\?oDgjp›msog«sikXZ\alms[*Zp›Šqr•ikp›mso*ms¤>oDmsohœK¤¶nZoDlikp›msoDrsŠDnZoZp|iwg£[šrEeˆ•ryvwe^¯p|ikXšvw\?gk4\?l©i

iwm*vk\ LnDp|vw\[*\o:itgŠ|p›±s\4\vk¤¶msvw[*rsoDl\L«fvk\?Š|pqry¡Zp›Š›p¸ize;rsoD€gj\6lnZvwp¸izeL¥

Ë¿XZ\ikXZ\?vmsvoZmsi´¤¶nDoDl©iwp|mLoDryŠK«fikXZ\&lms[*Zp›Š›ryikp›mso;ms¤˜chž¦nZoZp|iwgl?ryo¡\&€h\6lms[*4mLgk\?€;p|o:ikm1iwvk\6r•ijœ

[*\?oLitg^ikXDryišrsvk\p›oZXZ\vw\o:i1ikm¦\p|ikXZ\?v*ikXZ\itryvwŽs\i1\{h\?lnhikp›mso·\ofˆfp|vwmsoD[1\?o:i?«MiwXZ\ºŠ›rsoZŽsnDrsŽs\msv1ikXZ\

DvkmLŽsvtry[º¥WXD\?gk\™iwXZvw\\&lryik\ŽLmsvwp|\6g´my¤‰iwvk\6r•iw[1\?o:irsvk\oDrs[*\?€31tÁ1+©¥

WXZ\^Žsm:ryŠOmy¤MiwXZ\ÁfÁX:'I`¢Á1>< šÁ1> 1tÁ1pqgikm;¡Zvkpq€hŽL\ikXZ\^ŽLryº¡4\iz¯´\\?oºikXZ\1˜achž \{h\œ

lnhikp›msoº[*mh€h\ŠK«Z4mLgwgjp›¡ZŠ›eRp›[1DŠ|pqlp|i?«4ryoD€ikXD\iwryvwŽs\i\{h\?lnhikp›mso\ofˆfp|vwmsoD[1\?o:i?¥BWXZ\˜chžª\{h\6lnhiwp|mLo

[*mh€h\?ŠOp›ggknZZ4mLgk\?€;ikmš¡4\&XZp›ŽsXŠ|\?ˆs\?Š¬ryoD€mLvjitry¡ZŠ›\s«Zrs¡Dgjikvtrsl©iwp|oDŽ^m•ˆL\v´ikXZ\&p›o:ikvwp›l?rslp|\6g»ms¤iwXZ\iwrsvjœ

ŽL\i1\{h\?lnhikp›mso¢\?o:ˆfp›vkmLoZ[*\o:i?¥²WXZ\;\{f\6lnhiwp|mLo­\ofˆfp›vkmLoZ[*\o:i¤µrsl\i1p›g^p|o:iw\oD€h\6€ªikm²Žs\?oZ\vtr•iw\šikXZ\

oD\?l\6gkgwryvweVlmf€Z\šikm¹p›o:ik\?vj¤µrLl\šiwXZ\¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€ªZvwmsŽLvwrs[$Š›msŽspql*¯p|ikX¢iwXZ\RnZoD€Z\vwŠ|efp›oZŽ¹ŠqrEes\vtg?¥

]»mLoDgkp›€h\?vkp›oZŽ&iwXZ\&cfu£ž¦lrsgk\s«:iwXZ\™\{h\?lnZikp›msoR\?o:ˆfp›vkmLoZ[*\o:i£¤µrLl\i»¡Zvwp›€ZŽs\?g£ikXD\™Ž:ryR¡4\iz¯´\\?ošikXZ\a\{fœ

DŠ|pqlp|i£\ˆL\o:ijœ¨XDrsoD€hŠ›p|oZŽrsvwltXDp¸iw\?l©iwnZvw\´ms¤ 2L†~½ &Çcf½¾u­ryo€1ikXZ\p›[*ZŠ›p›lp¸icfu£žÆ[*mh€h\Š¡Drsgk\?€1mLošvk\ LnD\?gji

XryoD€hŠ›\vtg?¥ SDmsv\{hrs[*ZŠ|\L«Z€h\¤µrsnZŠ|ivk\ LnD\?gjiXryoD€hŠ›\vtgoZ\?\?€ikmš¡4\&p|o:iwvkmh€hnDl\?€;ikmRlvk\6r•ik\ryo€€Z\Š›\ik\

gk\?gwgkp|mLo­gzitr•ik\6g«M¯XD\oZ\?ˆs\v*ryo cfu£ž ZvkmLŽsvtry[ €hmf\?g^oZmyiš€h\oZ\XryoD€hŠ›\vtg&¤¶mLviwXZ\ºlmsvwvw\?gkmLoD€hp›oZŽ

vw\ :nZ\6gzitg¥

WXZ\!`:à Ã:Á 1tÁZp›g£lmsol\vwoZ\6€¯p|ikX1ikXD\p|o:ik\?vkDvk\iwr•iwp|mLo1rsoD€^\{hDryogjp›mso1my¤4Š›rsoZŽsnDrsŽs\´[*\?ltXhœ

rsoZpqgj[šg?«s¯XZ\ikXZ\?vBmsvBoDmyiB\{hZŠ›pqlp|i£p|o*iwXZ\™¼au£ž¬œ8iwvwrsoDgkŠ›ryik\?€^ZvwmsŽLvwrs[ Š|mLŽspqly¥cfnDltXRra¤µrsl\i£ŽL\oZ\?vwryik\6g

vw\?lnZvwvkp›oZŽVlmf€Z\;Dryijik\?vkogp›o:ikvwp|oDgkpqlšikm²ikXD\ŠqryoZŽLnDryŽL\s¥ SZmsv1\{Zrs[1DŠ|\L«MvkmLnhikp›oZŽVmL\?vwryikp›msoDgmy¤~rsŠ|Š

chu£žVgk\vwˆfp›l\?gMoZ\?\?€*iwm¡4\™rsoDryŠ›efÉ\?€^iwm^€h\ik\vw[*p|oD\ikXD\p›v»gjiwr•iw\¤¶nZŠ›Š›oZ\?gwg¥MWXZpqg»p|oh¤¶mLvk[šryikp›msošpqgB[šrs€h\

\{hZŠ|pqlp|i£p›o1ikXZ\™¼au»žOœKikvtryoDgkŠ›ryik\6€^DvkmLŽsvtry[ Š›msŽLp›l´¡fe1rL€Z€hp›oZŽgkms[*\p|oZ¤¶msvw[*ryikp›mso*p›oš\?rsltX1p›o:ˆLmhlr•iwp|mLo

ms¤‰iwXZ\&vkmLnhikp›oZŽ*ms4\vtr•iwp|mLoDg?¥

žrsgjikŠ›es«MiwXZ\ 1tÁp|ofˆsmL±s\6glmL[*Zp|Š›\v^ikvw\?ryik[*\o:itgiwXDr•išryvw\;gk\6lp|lRiwmViwXZ\ºgjnZ¡Zxz\?l©i

DvkmLŽsvtry[º¥ SZmLv&p|oDgjiwrsoDl\L«p›o¦ikXZ\lrsgk\*my¤~cfu£ž£«OikXD\Rvk\ :nZ\?gjiXDryo€hŠ|\?v&oZ\?l\?gwgjp|iwryik\6ggj4\?lp¸4lšgzitr•ik\

\{fikvtrsl©iwp|mLoÌms4\vtr•iwp|mLoDg?«~€h\4\o€hp|oDŽ·mLoǯXDryiºgk\?gwgjp›msoLjErsvkpqry¡DŠ|\6g;mhllnZv6¥ chnDltXÍr­ikvw\?ryik[*\o:iºp›g

gk4\?lp|l™ikmRr1ŽLp|ˆL\oÆcfu£ž¢gk\vwˆ:pql\ryo€;iwXfnDgDryvkimy¤ikXZ\&DvkmLŽsvtry[ ¤µrsl\i?¥

+,-º%

"

!

WXD\Žsm:ryŠ¬ms¤£lmL[1Dp|Š›p|oDŽšikXZ\1Š›msŽspql&ms¤£ršZvwmsŽsvtry[ p›g~ikm;Zvkmh€hnl\^rRvk\?Zvk\6gj\?o:iwr•iwp|mLoikXDryiary¡gziwvwrLl©iwg

m•ˆL\vp›[*ZŠ|\?[*\o:iwryikp›msoƀh\itryp›Š›g¯XZp|Š›\¡4\p›oZŽ;rs[1\?oDry¡DŠ|\iwmšŽs\oD\vtr•ikp›ˆs\ZvwmsŽLvwrs[*[1p›oZŽ^ikmfmsŠqg?¥»WmR¡\

rsZZŠ›p|\6€ºgjnDl?l\6gkgj¤¶nZŠ›Š|eL«ZŽs\?oZ\vtr•iwp|ˆL\™ZvwmsŽLvwrs[*[1p›oZŽ^ikmfmsŠqgŽL\oZ\?vwrsŠ|Š›ešp|o:iwvkmh€hnDl\gjmL[*\lmsogziwvwrsp|o:iwg´mLo

iwXZ\aZvkmLŽsvtry[ gziwvknl©iknDvk\aryoD€š[šrEe*vw\ :nZp›vk\™ZvkmLŽsvtry[ Žs\?oZ\vtr•iwp|mLošDryvtry[*\iw\vtg¥uBvwmsŽsvtry[ gjikvwnDl©iwnZvw\

pqgRoD\\?€Z\?€Hiwm [šry±L\ÆikXZ\ª¼au£žOœKikvtryogjŠqr•iw\?€HZvwmsŽLvwrs[°Š›msŽspqlÆ[šr•itltX¿ikXD\VŽsvtryofnZŠqryvwp|ize­my¤&iwXZ\VZvwmyœ

ŽLvwrs[ \o:ikp|ikp›\?ga[šryoZp›ZnZŠqr•iw\?€V¡:eºiwXZ\*Žs\?oZ\vtr•iwp|ˆL\ZvwmsŽLvwrs[1[*p›oZŽšiwm:mLŠ›g?¥WXZ\1ZvwmsŽsvtry[ ŽL\oZ\?vwryikp›mso

ryvtry[*\iw\vtg&ryvw\*ize:Dp›l?ryŠ›Š|e²oZ\\6€h\?€ªiwmVlngziwms[*p|É?\*ikXZ\ZvwmsŽsvtry[ Žs\oD\vtr•ikp›mso¦Zvwmhl\?gwg&mLv&ikXZ\\{h\œ

lnhikp›msoºŽL\oZ\?vwryik\?€;ZvwmsŽsvtry[º¥MWXZ\6gj\&Drsvwrs[*\ik\?vwg´[šrEe;lmsvwvk\6gj4msoD€RikmRlms[*Zp›Š›ryikp›msoº€Zr•itr1ikXDryi~ryvw\

€Zms[šryp›ohœ¾gj4\?lp¸l´p›oh¤¶msvw[šr•iwp|mLo^ryo€1rsvk\´\olmh€h\?€1p›o1ikXZ\iwvwrsoDgjŠqr•iw\?€ZvkmLŽsvtry[‚mLvyryoD€p|o*Žs\?oZ\vtr•iwp|ˆL\

DvkmLŽsvtry[*[*p|oZŽ1€h\?lŠ›rsvwryikp›msoDgŸwÁ?ÂÄÃ:Â|ʼnryoºrsgk\6l©i€h\6lŠqryvtr•ikp›mso4 ©¥

_™nZvaryZDvkm:rsltX\oDrs¡ZŠ|\6giwXZ\ZvwmsŽLvwrs[ Žs\?oZ\vtr•iwp|mLoºZvkmhl\?gwgikmR¡4\[*mh€hnZŠqryvwp›É\?€ £\?rLltXÆ[*mf€ZnZŠ|\

pqgvk\6gj4msoDgkp›¡ZŠ|\V¤¶msvºrkgjŠ›pql\Vms¤ZvwmsŽsvtry[-Žs\?oZ\vtr•iwp|mLo¿oZ\\6€h\?€¿ikmHlms[*Zp›Š›\²r­ŽLp|ˆL\oǘchž£¥WXDp›g

(13)

[*mh€hnZŠqryvwp›É?r•iwp|mLo^pqgBryvkikpqlnZŠqryvwŠ|e^¯»\?Š|Š|œKZijiw\?€1ikm&\{hZŠ|mLvk\iwXZ\p›[*ZŠ|\?[*\o:iwryikp›msoRgwlms4\ms§4\?vk\6€^¡fe^ikXZ\

XDp|ŽLXhœKŠ›\ˆL\Š>oDryiknZvw\my¤Mr1˜chž£¥

†~o²\{hrs[*ZŠ|\1my¤´r¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€VZvkmLŽsvtry[Š|mLŽspqlpqg€hp›gkZŠqrEes\6€Æp|o Sp|ŽLnZvw\1‹h¥&½¨i&pqg™ikXZ\šcfu£ž

DvkmLŽsvtry[ŸµgkXZm•¯´\?€Rp›oESp›ŽsnDvk\*Œ6 ´lms[*Zp›Š|\6€;p›o:ikm12LrEˆ•r¤¶msvr;2L†~½ &‚cf½¾uHp|o:ik\?vj¤µrLl\;-›Œ6„ /¨¥BWXZpqgp|o:ik\?vjœ

¤µrLl\™p›g»izefZpqlryŠ4my¤‰r^lŠ›p|\?o:ijœ¾gj\?vkˆL\v£[*mh€h\?Šp›oRiwXDr•ip¸ivw\ :nZp›vk\6g£r&iw\Š›\ZXDmsofešgj\?vkˆfpql\iwmp›[*ZŠ|\?[*\o:ir

*p›o:ik\vk¤µrsl\s«4Zvwm•ˆ:pq€hp›oZŽ *ryo€ &[*\ikXZmh€Zg?¥™†€Z€Zp¸œ

iwp|mLoDryŠ›Š›es«OrR[*\iwXZmh€¹pqg™€Z\?lŠqryvw\?€ÆikmXDryoD€ZŠ|\^ˆErsvkp›msngZŠqr•ik¤¶msvw[ iwp|[*\?msnhitg¥&†ŠqgkmD«OZvwp|ˆ•ryik\[*\ikXZmh€Zg

XrEˆs\š¡4\\o¢p›o:ikvwmh€hnDl\6€¦ikm¹XryoD€hŠ›\šiwXZ\Rvw\Žspqgjikvtr•ikp›mso¢rsoD€ªnZohœ¨vk\?Žspqgziwvwryikp›mso¦my¤ikXD\;gj\?vkˆfpql\šm•¯oZ\?v?«

rLg¯´\Š›Š´rLg&iwXZ\R¤¶mLvk¯ryvt€hp›oZŽÆmy¤~l?ryŠ›Š£p›o:ˆfp|iwryikp›msoDgŸ¶vw\?gkmLoDgk\?grsvk\šiwvk\6r•iw\?€¢p›o f ©¥

†™g™l?ryo¹¡4\1oZmyiwp›l\?€¹p›o 4«L¤¶msva\{Zrs[1DŠ|\L«iwXZ\*gj\?vkˆfpql\Š›msŽLp›l&Xrsg™¡\?\o²gjikvtryp›ŽsX:ik¤¶msvkœ

¯ryvt€hŠ›eºikvtryoDgkŠqr•ik\6€Vp›o:ikm 2:rEˆEr \{hZvw\?gwgjp›msoDga[šryoDp|ZnDŠ›ryikp›oZŽºˆErsvkpqry¡DŠ|\6garsvk\*vw\Zvwmh€hnDl\?€²ˆs\vw¡Dryikp›[À

[*\6gkgwryŽL\RvkmLnhikp›oZŽ²p›g^ikvtryogjŠqr•iw\?€¢p›o:ikmVp›ofˆsmhlryikp›msoDgmy¤ º¤¶mLv1ikXZ\Æcfu£ž Vryo€

a¤¶mLvikXZ\&vw\iwnZvwoZp|oDŽ1vw\?gk4msoDgk\?g?¥

ž‰\i™ng~oZm•¯\{hrs[*p|oZ\^XZm•¯Íikmlms[*Zp›Š›\&ikXZ\1ZvwmsŽLvwrs[ Š›msŽspqla¤¶msvaŽs\?oZ\vtr•iwp|ˆL\&ZvwmsŽsvtry[*[*p›oZŽRryhœ

Dvkm:rsltXZ\6g¥

! #"$&% ')(*!+,"!-/.0'1324'576869(:+;2

WXD\†~_™uÇryDZvkm:rsltXºlmLoDgjpqgjiwgms¤£rxzmsp›o:i~mLp|o:i~ŠqryoDŽsnDrsŽs\s«Zikm;pq€h\?oLiwp¸¤¶eŠ›mfl?r•iwp|mLoDgp›oºikXZ\^ZvwmsŽsvtry[

\{h\?lnZikp›mso¬«ZrsoD€rsoÆrs€hˆfpql\Š›rsoZŽsnryŽs\L«:ikmš€h\oZ\rs€Z€Zp¸iwp|mLoDryŠO¡4\XDrEˆfp›msvr•iiwXZ\?gk\&Š|mhl?r•ikp›msog -›Œ?…#/K¥

_™nZvŽLmLryŠ4pqg£iwm^Dvkmh€hnDl\ar*¼au£ž¬œ8iwvwrsoDgjŠqr•iw\?€šDvkmLŽsvtry[ Š|mLŽspqliwXDr•i[šr•iwltXD\?g»ikXZ\a\{hZvw\?gwgkp|ˆfp|ize1ms¤

iwXZ\xzmsp›o:i&mLp|o:iŠqryoZŽLnDryŽL\s¥^WXr•i&p›g?«¬iwmÆgziwvknDliknZvw\1ikXZ\*iwvwrsoDgkŠ›ryik\?€VZvwmsŽsvtry[gkmikXDryip¸i[šr•itltXZ\?g

iwXZ\ŽLvwrsofnZŠ›rsvkp|izešmy¤MiwXZ\xzmLp|o:i~4msp›o:i™pq€h\o:iwp¸l?r•iwp|mLo¹ryoD€iwXZ\^gk\[šryo:iwp›l?gmy¤MiwXZ\^rLgkgkmhlpqr•ik\6€ºrs€hˆfpql\s¥

]»mLoDl\?hiknryŠ›Š|eL«•ikmaZiMiwXZ\†~_™u¢ryZZvwmLrLltX¬«y˜chžÆlmL[1Dp|Šqr•iwp|mLo^[^nDgziMp›o:ikvwmf€ZnDl\gk\6lp|llmh€h\gjikvwnDl©œ

iwnZvwp|oZŽšrsoD€lms[*[nDoZp›l?r•iw\lms[*Zp›Š›ryikp›msoº€Zr•itrZ¥

WXZ\ª¼au£žOœKikvtryogjŠqr•iw\?€ ZvwmsŽsvtry[®Š|mLŽspqlºoZ\\6€Zg;gkms[*\VgjikvwnDliknZvwp|oDŽ­¯XZ\oÌgkms[*\Vlmh€h\¹pqgšikm·¡\

p›oDgk\vkik\6€ r•išgkms[*\DvkmLŽsvtry[ mLp|o:i?¥·½z€h\o:iwp¸¤¶efp›oZŽViwXZ\iwrsvkŽL\i*ZvkmLŽsvtry[ mLp|o:išvw\ :nZp›vk\6gŠqryoZŽLnDryŽL\

\?o:ikp|ikp›\?ggknDltX¢rsg&rº[*\iwXZmh€¢€h\oZp¸iwp|mLoªmsv&p›o:ˆLmhlr•iwp|mLo¬«‰ˆ•rsvkpqry¡ZŠ›\*mhllnDvkvw\oDl\?g?«‰ryo€¦€Z\?lŠqryvtr•iwp|mLoDg?¥

†™g~ršvw\?gknZŠ|i?«4ršgj\ LnD\oDl\my¤BlmL[*[*rsoD€Zg[šrEeoZ\\6€ikmR¡4\ZŠqrsl\?€ºp›o:ikm;r*[*\iwXZmh€Æp›o¹r*ikvtryoDgkŠqr•ik\6€

DvkmLŽsvtry[iwm¹\oDrs¡ZŠ›\;lmh€h\šiwm¹¡4\Rp|ogj\?vjiw\?€ª¡4\¤¶msvw\s«Mry¤³ik\v6«msv^rsvkmLnZoD€¦p|iwg\{h\?lnZikp›mso¬¥¹WXZ\Rikms¢ms¤

Sp›ŽsnZvw\š‹;gkXZm•¯g™Zvkp›ˆ•r•iw\^[*\iwXZmh€ZgaikXr•iXDrEˆs\1¡\?\o¦p|o:iwvkmh€hnDl\?€V¡:eºiwXZ\š˜acZž lms[*Zp›Š|\?v~iwmº\?rsgkp›Š|e

p›oDgk\vkilmh€h\&rsg´iwXZ\&ZvwmsŠ›msŽsnD\arsoD€;\?Zp›Š|mLŽsnZ\my¤p›o:ˆLmhlr•iwp|mLoDg´my¤Mcfu£žªvw\ :nZ\?gjiXDryo€hŠ|\?vwg?¥

]»mL[1Dp|Š›p|oDŽ²iwXZ\ºZvwmsŽsvtry[ Š›msŽLp›lryŠqgjm¦p›o:ˆLmsŠ›ˆs\6g^lmsŠ›Š|\6l©ikp›oZŽ¦msvšlmL[*Znhikp›oZŽªp›oh¤¶msvw[šr•ikp›mso ry¡4msnhi

iwXZ\˜chž­DvkmLŽsvtry[ iwXDr•iaoZ\\6€ZgiwmR¡\^[šrs€h\\{hZŠ|pqlp|i™p›oºikXD\ikvtryogjŠqr•iw\?€ZvwmsŽsvtry[º¥WXZpqg~gjikvtr•ik\?Žse

gk\ryvtr•ik\6giwXZ\^Dvkmh€hnDlikp›mso²my¤MikXD\1p›oh¤¶mLvk[šr•iwp|mLoVryo€Æp¸itga\{hZŠ›msp|iwr•iwp|mLo¬«>Š|\6rEˆfp|oZŽp¸itgap|o:ik\?vkDvk\iwr•iwp|mLo

iwmmyiwXZ\v´lmL[1Dp|Šqr•iwp|mLošDrsgwgj\6g¥½¾ošikXD\~lmLoLiw\{fi£ms¤‰†~_™u«LDrsgwgkp|oZŽp|oh¤¶mLvk[šryikp›msošlrsoš\p|ikXZ\?v£¡4\~[šrs€h\

¡fešrs€D€hp|oDŽ\{fiwvwr^ryvwŽsnZ[*\o:itgMikm1ms4\vtr•iwp|mLoDgBmLv»¡fe*p›oLiwvkmh€hnlp›oZŽ^gk\6lp|l™p|oDgjiwrsoDl\™ˆ•ryvwp›rs¡ZŠ|\6g~¥MWXZ\

Šqr•ikik\?vlrsgk\p›g´¤¶nDvjiwXZ\v~€Zp›gwlnDgwgk\?€p|oÆcf\?likp›mso¹„h¥Ä‹h¥

½¾oªZvwp|olp›ZŠ|\L«¬¤¶nZol©ikp›msoryŠB˜chžHnZoZp|iwglmsvwvk\6gj4mso€ÆikmÆrLgj4\?liwgaikXr•ilrso²4\vk¤¶msvw[*\?€¦gzitr•iwp›l?ryŠ›Š|e

gkp›oDl\L«~p›oLiwnZp|ikp›ˆs\Š›es«™ikXD\?gk\¦rLgj4\?liwgvk\DoZ\²ikXZ\¢gjiwryikpql²lms[*Zp›Š›ryikp›msoÌZvwmhl\6gkg?¥ ½¾o lmso:ikvtrsgji?«oDmsohœ

¤¶nDoDl©iwp|mLoDryŠnZoZp|iwg™[*rEelmL[1Dp|Š›\p›oLiwmR¡4myikX¹gjiwryikpqlryo€Æ€hefoDry[*pqlrsgk\6l©itg¥c:itr•ikpqlrLgj4\?liwg[šrEe¡\

ngj\6€ªikm¦\{hDrsoD€¢iwXZ\p›[*ZŠ›\[*\o:iwryikp›mso­ms¤™gk\6lp|l;mL\?vwryikp›msoDg?«¯XZ\vw\?rLg^€Ze:ory[*p›lrsgk\6l©itg^[šrEe

€Z\DoZ\lmsoD€Zp¸iwp|mLoDryŠ>[*msoZp|ikmLvkp›oZŽšrslikp›msoDg?¥

(14)

1 public class Counter public class Counter implements implements SipListener {SipListener { 2 [...]

3 private void handler_REGISTER (Request rq, String method) {handler_REGISTER 4 count = 0;

5 sendRequest (false, rq_request); /** SPL, line 10 **/

6 }

7 private void handler_unregister (Request rq, String method) {handler_unregister 8 local.log (count); /** SPL, line 14 **/

9 sendRequest (false, rq_request); /** SPL: default behavior **/

10 }

11 private void handler_INVITEhandler_INVITE (Request rq, String method) { 12 sendRequest (true, rq_request); /** SPL, line 19 **/

13 } 14

15 public void processRequest (RequestEvent requestEvent) { 16 String method = rq_request.getMethod();

17 if (method.equals (Request.REGISTER)) { /** SPL, line 5 **/

18 if (!registrar.hasExpiresZero (rq_request)) {

19 if (!registrar.hasRegistration (rq_request)) { /** SPL, line 8 **/

20 handler_REGISTER (rq_request, method);

21 } else { /** SPL: default behavior **/

22 sendRequest (false, rq_request);

23 }

24 } else if (registrar.hasRegistration (rq_request)) { /** SPL, line 13 **/

25 handler_unregister (rq_request, method);

26 } else { /** SPL: default behavior **/

27 sendRequest (false, rq_request);

28 }

29 } else if (method.equals (Request.INVITE)) { /** SPL, line 18 **/

30 handler_INVITE (rq_request, method);

31 } else { /** SPL: default behavior **/

32 sendRequest (false, rq_request);

33 }

34 } 35

36 public void processResponse (ResponseEvent responseEvent) { 37 String method = rs_request.getMethod();

38 rs_responseCode = rs_response.getStatusCode();

39 if (method.equals (Request.INVITE)) { /** SPL, line 18 **/

40 if (rs_responseCode >= 300) { /** SPL, line 20 **/

41 AddressFactory addressFactory = getAddressFactory();

42 SipURI sipURI = addressFactory.createSipURI ("secretary", "company.com");

43 rs_request.setRequestURI (sipURI);

44 sendRequest (false, rs_request); /** SPL, line 21 **/

45 } else {

46 count++;

47 sendResponse (true, rs_response); /** SPL, line 24 **/

48 }

49 } else { /** SPL: default behavior **/

50 sendResponse (false, rs_response);

51 }

52 } 53

54 public void processTimeout (TimeoutEvent timeoutEvent) {[...]}

55 }}

! "$#%&#'(

(15)

†Í±s\?eRrs€hˆ•rsoLitryŽL\my¤msnZvryZDvkm:rsltXšpqg´ikm1\?vk[*p|ir^˜acZž¦lms[*Zp›Š|\?v´ikm1¡\&€h\6gjp›ŽsoZ\6€;rsoD€;gjikvwnDl©œ

iwnZvw\?€ªp›o¢ik\?vk[šgms¤[1mh€hnDŠ|\6g«ikXr•i^pqg?«rLgj4\?liwg?¥ÆÈ£rsltX­rLgj4\?li1€h\DoZ\6gr¹gk\6lp|lR˜chžÌ¡4\XrEˆ:p›msv

¯XDmLgk\lvkm:gkgjœ¾lnhikikp›oZŽ^or•iknDvk\pqgŽs\ofnZp›oZ\?Š|eR[šrsoDryŽL\?€R¡fe†~_™u¥

+ +;17"5 "(*13+

†~oZoZmsiwr•iwp|mLoDg~l?ryo¹¡4\1p|oDlŠ|n€h\?€Æp›o¹iwXZ\iwvwrsoDgkŠ›ryik\?€ºDvkmLŽsvtry[ iwm;[šry±L\^gkms[*\p›oh¤¶msvw[šr•iwp|mLo¹\{hZŠ›p›lp¸i

rLgikXD\^˜chž¢ZvwmsŽLvwrs[ Žs\iwg[šrsZ\6€ºp|o:iwm;r*Š|m•¯´\vkœ¨Š|\?ˆs\ŠOvw\Dvk\6gj\?oLitr•iwp|mLo¬¥»†~oZoZmyitr•iwp|mLoDg~rsvk\iwvwrL€hp¸œ

iwp|mLoDryŠ›Š›eRnDgk\?€rsg\{fiwvwr1p›oh¤¶msvw[šr•ikp›msoº€h\6gklvkp›¡Zp›oZŽ^oDmsohœK¤¶nZoDlikp›msoDrsŠOŠ›rsoZŽsnDrsŽs\ap›gwgknZ\?g?¥

ž‰p|±L\rsgk\6l©iwg?«LrsoZoZmsiwr•iwp|mLoDg\ory¡ZŠ›\ikm[*mh€hnZŠqryvwp›É\´ikXZ\™lms[*Zp›Šqr•ikp›mso*ms¤>r&˜chžÆp›o*ikXDryiBp¸i»p|o:ikvwmyœ

€ZnDl\6gp|oh¤¶mLvk[šryikp›msoikXDryi~ryvw\™Šqr•iw\vp›oLiw\vwZvw\ik\6€;¯p|ikXºvw\?gk\6l©iiwm*r1ŽLp|ˆL\oºryoZoZmsiwryikp›msoZvkmhl\?gwgjmLv?¥

˜™p¸§>\vw\o:i*gj\iwgms¤ryoZoZmsiwryikp›msoDg&XrEˆs\R€hp|§4\?vk\?o:iŽsm:ryŠqg¥ÆWXZ\?vk\š[šrEe¦¡\ryoZoZmsiwryikp›msoDgiwm¹[šry±L\

vw\?gkmsnDvwl\R[šryoDrsŽs\[*\?oLi^\{hZŠ›p›lp¸i6«£msv*ryoDoZmyitr•ikp›msogp›oLiw\oD€Z\?€¢iwmViwvkp›ŽsŽL\v1ltXZ\?lt±ª4msp›oLiwp|oDŽ²ms¤™gjmL[*\

gjiwryik\L¥;Ë¿XZ\?oªlms[*Zp›Š|p›oZŽºiwXZ\RZvwmsŽLvwrs[Š|mLŽspqly«¬iwXZ\Rryp›[ p›giwmƎs\?oZ\vtr•iw\*rsoZoZmsiwr•iwp|mLoDgaikXr•iryvw\Rrsg

gk\Š|¤³œ¾lmso:itryp›oZ\?€ÆrLg~4mLgwgjp›¡ZŠ›\iwm[*p›oZp|[*p›É\^ikXZ\1¯´msvw±ms¤MikXZ\*ryoZoDmyiwryikp›mso¹Dvkmhl\6gkgkmsv~mfl?lnZvwvwp|oZŽr•iar

Šqr•iw\v´ZXDrLgj\L¥Wm*€hm1gkmD«LikXD\aŠ›mhlryikp›msoRms¤ryoryoZoZmsiwryikp›msoRpqgr±L\e*Dryvtry[*\ik\v6¥†Šqgjm«frsvkŽLnZ[*\o:iwg£ikm

iwXZ\ryoDoZmyitr•ikp›mso[šrEeR¡\&oD\\?€Z\?€ºrsgrL€Z€hp|ikp›msoDrsŠOp|oZDnhiikm1ikXD\ryoZoZmsiwryikp›msoZvkmhl\?gwg¥

. '1424'5 6 ! (*5:( 5 "(*13+

u£vkmLŽsvtry[gj4\?lp›rsŠ|p›É?ryikp›mso²p›g&rsoZmyiwXZ\vnDgk\^ms¤´rŽs\?oZ\vtr•iwp|ˆL\ZvwmsŽLvwrs[*[1p›oZŽšiwmfmsŠ¤¶msv˜chžHlmL[*Zp|Šqr•œ

iwp|mLo¬¥¢½¨iRrs€Z€Zvk\6gkgk\?gikXZ\ºmsZikp›[1p›É?ryikp›mso­ms¤™˜chžÍp|[*ZŠ›\[*\o:itr•ikp›mso·¡ZnZp›Š›€Zp|oZŽ¦¡ZŠ›mhlt±fg?¥­WXZ\p›€Z\?r²p›g

iwXDr•i&Drsvji&ms¤´r˜achž¿l?ryo¦my¤³iw\o¦¡\šgk\\oªrsg&rŠqryoZŽLnDryŽL\^ŽLŠ|nZp›oZŽºgjms¤³iz¯´rsvk\1lmL[14msoD\o:iwgaiwmsŽs\ikXZ\?v?¥

Ê´\6lryngj\´ikXD\?gk\lms[*4msoZ\?o:iwgBl?ryo*¡\~ŽsŠ›nZ\?€1p›oRrˆErsvkp›\izemy¤Olmso:iw\{fiwgiwXZ\e1[ngziB¡4\XZp›ŽsXZŠ›eŽL\oZ\?vkpqly¥

Ë¿XDp|Š›\aikXZpqgryZDvkm:rsltXšXDrLg»mL¡fˆ:p›msng´gkmy¤³iz¯ryvw\\?oZŽsp›oZ\\?vkp›oZŽ*rs€hˆ•rsoLitryŽL\?g?«Lp›o;Zvtrslikpql\L«:p|i[šrEeš\o:iwrsp|Š

rgjp›ŽsoZp|l?ryo:i£4\vk¤¶msvw[*rsoDl\~\?oDryŠ|izes¥MWmryŠ›Š|\?ˆfp›ryik\iwXZp›g»Zvwms¡ZŠ›\[º«:ZvwmsŽsvtry[ gj4\?lp›rsŠ|p›É?ryikp›msoš\?oDry¡ZŠ›\?g

ŽL\oZ\?vkpqlgkmy¤³iz¯ryvw\lms[*4msoZ\?o:iwgiwm¡\alnDgjikmL[*p|É?\?€*¯p|ikXRvw\?gk\6l©iBiwm&ikXD\™lmLo:ik\{fi£p›oš¯XZpqltX*ikXZ\?ešryvw\

ngj\6€O¥Ê´\6lryngj\gkmy¤³iz¯ryvw\lmL[14msoD\o:iwgBrsvk\~p|ofˆsmL±s\6€¡fe*lms[*Zp›Š›\vkœKŽL\oZ\?vwryik\?€1lmh€h\L«siwXZ\~lnDgziwms[*p›É?r•œ

iwp|mLo¿lmso:iw\{fiwgšl?ryoH¡\¹€Z\ik\?vk[*p›oZ\?€H¡fe €Z\DoZp|ikp›mso¿ms¤™iwXZ\¹˜chž lmL[*Zp|Š›\v6¥ SDnZvjiwXZ\vw[*msvw\s«´gjp›oDl\

lms[*4msoZ\?oLitg~rsvk\Z{h\6€O«mLv™gkŠ|m•¯Š›e;\?ˆsmLŠ|ˆfp›oZŽD«DikXZ\?p|v + Á1I ! !

l?ryoÆ¡4\^€h\ik\vw[*p|oD\?€ÆZvw\?lp›gk\Š›es¥

†™grºvw\?gknZŠ|i?«ikXZpqgZvwmsŽLvwrs[ikvtryogz¤¶mLvk[šr•iwp|mLo¦l?ryoª¡4\R[šrs€h\š¤¶nDŠ|Š›e²Dvk\6€hp›liwrs¡ZŠ|\L«¯XDp›ltXªpqgoZmsiikXZ\

l?rsgk\~¤¶mLvryvw¡Zp|ikvtryvweš¯vkp|ijiw\oºZvwmsŽsvtry[º«frsgŠ›p|±L\[1m:gziDvkmLŽsvtry[ mshiwp|[*p›É?ryikp›msoDg?¥

+,-º%2 £ % ©.

]»mL[*Zp|Šqr•iwp|mLo;ms¤¬¤¶nZoDlikp›msoDrsŠOnZoZp|iwg´ZitgDryvkikpqlnZŠqryvwŠ›e1¯´\Š›Š>¯p¸iwX†~_™u hp¸ip›oDlvw\[*\o:itryŠ›Š|ešvw\DoD\?g»ikXZ\

gk\[šrsoLiwp›l?g~ms¤»ŠqryoZŽLnDryŽL\[*\?ltXDrsoZpqgj[šg?«O¯XZ\iwXZ\vmsvaoZmsi\{hZŠ|pqlp|ip|o²ikXZ\*gkmsnZvtl\1ZvwmsŽsvtry[º¥Ë¦\1€hm

ˆ•rsvkp›msnDg»¤¶mLvk[šgmy¤Mlmh€h\\{fryoDgkp|mLoRiwvkp›ŽsŽL\vw\?€R¡fe[1\ikXZmh€oDrs[1\6gryoD€p›oDgzitryoDl\ˆErsvkpqry¡DŠ|\6g¥

˦\£nDgk\»r¯p›€h\œ¨gkZvw\?rL€arsoD€&¯´\Š›Š¸œKik\6gziw\?€&†~_™uÆiwmfmsŠK«E†™gj4\?li2 -|ŒLŒ/¨«?iwm™€h\DoZ\£ikXZ\´lms[*Zp›Šqr•ikp›mso&ms¤

ˆ•rsvkp›msnDg¤¶nDoDl©iwp|mLoDryŠnZoZp|iwgBoD\\?€Z\?€^¤¶msv»chu£žB¥fž¬p›[*p¸itr•ikp›msogB€hpqgklnDgkgk\?€1p›o*ikXZ\¤¶msŠ›Š|m•¯p›oZŽ\{Zry[*ZŠ›\?g£ryvw\

oDmyi£p›o:ikvwp|oDgkpql´ikmikXD\™†~_™u¢ryZDvkm:rsltX1¡Znhi´rsvk\vtr•iwXZ\v£gk4\?lp|liwm†~gk\6l©i2&ikmfmLŠ8¥MWXZ\6gj\Š›p|[*p|iwryikp›msoDg

rsvk\™¤¶nZvkikXZ\?v~€hpqgklnDgwgj\6€;p›o¹cf\?likp›mso

Références

Documents relatifs

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334