ER(PM?AppleApple_partition_map?PM@'disk imageApple_HFS'@3goonPM'Apple_FreeH+10.0?????ptVГ6    x x '(|TurnOnAccess.html????????TEXTMSIE 2 3 | ViewPath.html???????? @2|ViewSetAttributes.html????????TEXTMSIE(>A D 0|Word Work File L_3446????????TEXTMSIE@yQ Y }| .DS_Store~|Accessibility.html|AppleScript.html| Browser.html|ChooseTarget.html|ExploreElements.html| Float.html|ForeSight.html|GenerateAS.html|GUIScripting.html| HotKeys.html| Keyboard.html| MoreInfo.html|ObserveNotifications.html|PerformActions.html| Purchase.html| SendKeys.html|Troubleshoot.html|TurnOnAccess.html| ViewPath.html|ViewSetAttributes.html|Word Work File L_3446mUI Browser Help idxCVersion History.rtfCViewWindow.nib classes.nib????????~info.nib????????!&keyedobjects.nib???????? k classes.nibinfo.nibkeyedobjects.nib=PFActionAppleScript.strings=PFAttributeAppleScript.strings=#PFNonlocalizableAppleScript.strings=PFRoleAppleScript.stringsr. @  ~ P f:zB|HV,vJ0  .DS_Store Frameworks .DS_Store????????@~0PFAssistive.frameworkt?????;9A .DS_StorePFAssistive.framework .DS_Store????????@Headers????????slnkrhap PFAssistive????????slnkrhap Resources????????slnkrhapVersionst?????;9A .DS_StoreHeadersl8  r 6  P0 tfTjX2$UI Browser 1.2J*9 .DS_Store<=PFActionAppleScript.strings(CInfoPlist.strings &Ekeyedobjects.nib&Okeyedobjects.nib b classes.nib m toc_left.html o appicon64.jpg (|ChooseTarget.html (|TurnOnAccess.html dBz\PD8 PFAssistive ResourcesVersions .DS_Store????????@B t?????;9ACurrent7????????slnkrhap .DS_Store B .DS_Store!????????@ Headers"t?????H6"|Z6$UI Browser 1.2J??p????UI Browser 1.2J,UI Browser 1.2J.app??????;9A(0o0W000k0J00O0_00U0D.rtf=L=L????gn  000000000.rtf<<????,u0HFS+ Private Data??p??p??p??p@PWWHFS+ Private Data0o0W000k0J00O0_00U0D.rtf 000000000.rtfUI Browser 1.2J.app .DS_Store????????@xContents??????;9A .DS_StoreContents .DS_Store????????@0z Frameworkst?????;9A Info.plist8????????MacOS9n?????;9APkgInfo*^xD~dB*(Info-PFAssistive.plist+( Info.plist,(Japanese.lproj, .DS_Store-????????@(,InfoPlist.strings.????????&N,$PFActionDescriptionOverrides.strings/????????>,PFActionDescriptions.strings0????????nD,PFAttributeDescriptions.strings1????????+4J,"PFNotificationDescriptions.strings2???????? :,PFRoleDescriptions.strings3????????%@,PFSubroleDescriptions.strings4???????? v:,PFTypeDescriptions.strings5???????? ,, Read Me.rtf6????????=-, .DS_Store.,InfoPlist.strings/,$PFActionDescriptionOverrides.strings0,PFActionDescriptions.strings1,PFAttributeDescriptions.strings2,"PFNotificationDescriptions.strings3,PFRoleDescriptions.strings4,PFSubroleDescriptions.strings5,PFTypeDescriptions.strings6, Read Me.rtf7Current8 Info.plist9MacOSvP0v0 @ x D TrL <=PFActionAppleScript.strings????????pB=PFAttributeAppleScript.strings????????L=#PFNonlocalizableAppleScript.strings????????x8=PFRoleAppleScript.strings(=_?>???>>= .DS_Store?= appicon.icns@=Collapsed.tiffA= Expanded.tiffB=Info-UI_Browser.plistC=Japanese.lprojC .DS_StoreD????????@070CAppleScriptWindow.nibE??????`HV0 b classes.nibc????????rbinfo.nibd????????t&bkeyedobjects.nibe????????"Zucb classes.nibdbinfo.nibebkeyedobjects.nibfC Overview.rtfgCPreferencesWindow.nibg classes.nibh????????ginfo.nibi????????0&gkeyedobjects.nibj????????  hg classes.nibiginfo.nibjgkeyedobjects.nibkCQuick Start.rtflC Read Me.rtfmCUI Browser Helpm .DS_Storen????????@mimageso@?????;9Am index.htmls????????TEXTMSWD~  0mindex_GetStarted.htmlt????????TEXTMSWD  .mindex_Reference.htmlu????????TEXTMSWD  &mindex_Using.htmlv????????TEXTMSWD  ,mtoc_GetStarted.htmlw????????TEXTMSIE   d <  P(|\L6|T4$  o appicon64.jpgr????????@po appicon16.jpgqo appicon32.jpgro appicon64.jpgsm index.htmltmindex_GetStarted.htmlumindex_Reference.htmlvmindex_Using.htmlwmtoc_GetStarted.htmlxm toc_left.htmlymtoc_Reference.htmlzmtoc_Start.html{mtoc_Using.html|mTopics| .DS_Store}????????@0:*|Accessibility.html~????????TEXTMSIE> @ &|AppleScript.html????????TEXTMSIErM N | Browser.html????????TEXTMSIE[ ] T:  r N 0 pBzHT( (|ChooseTarget.html????????TEXTMSIEtj l .|ExploreElements.html????????TEXTMSIE-ry | | Float.html????????TEXTMSIE  "|ForeSight.html????????TEXTMSIE  $|GenerateAS.html????????TEXTMSIE$  (|GUIScripting.html????????TEXTMSIEF  | HotKeys.html????????TEXTMSIE4  | Keyboard.html????????TEXTMSIE-~  | MoreInfo.html????????TEXTMSIE   8|ObserveNotifications.html????????TEXTMSIE  ,|PerformActions.html????????TEXTMSIE @  | Purchase.html????????  | SendKeys.html????????TEXTMSIE  (|Troubleshoot.html????????TEXTMSIE_H %  l F lX0  m toc_left.htmlx????????TEXTMSIE  *mtoc_Reference.htmly????????TEXTMSIE  "mtoc_Start.htmlz????????TEXTMSWD  "mtoc_Using.html{????????TEXTMSIEz, - mTopics|@?????;9A,mUI Browser Help idx???????? f :pnm .DS_Storeomimages o appicon16.jpgp????????: o appicon32.jpgq????????;rX:hL( 9 .DS_Store:????????@9 UI Browser;???????? OO:9 .DS_Store;9 UI Browser<PkgInfo= Resources= .DS_Store>????????@0%= appicon.icns????????? ) "=Collapsed.tiff@????????L4 = Expanded.tiffA????????F50=Info-UI_Browser.plistB????????6"=Japanese.lprojC??????;9AL"~X4 {\rtf1\mac\ansicpg10001\cocoartf102 \readonlydoc1{\fonttbl\f0\fnil\fcharset78 HiraKakuPro-W6;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fswiss\fcharset77 Helvetica; \f3\fnil\fcharset77 LucidaGrande;\f4\fnil\fcharset77 LucidaGrande-Bold;\f5\fnil\fcharset78 HiraKakuPro-W3; } {\colortbl;\red255\green255\blue255;} \paperw11905\paperh16837\margl1440\margr1440\vieww9000\viewh9000\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\b\fs48 \cf0 \'82\'cd\'82\'b6\'82\'df\'82\'c9\'82\'a8\'93\'c7\'82\'dd\'82\'ad\'82\'be\'82\'b3\'82\'a2 \f1\fs28 \CocoaLigature0 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\fs24 \cf0 \CocoaLigature1 \'8a\'94\'8e\'ae\'89\'ef\'8e\'d0\'83\'74\'83\'48\'81\'5b\'83\'54\'83\'43\'83\'67 \f2\b0 \CocoaLigature0 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \cf0 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \f0\b\fs26 \cf0 UI Browser\ Version 1.2J\ 2004 \'94\'4e 8 \'8c\'8e \f1 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \f3\b0\fs20 \cf0 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \f4\b \cf0 \'a9 2003-2004 The ForeSight Inc. All rights reserved. \f3\b0\fs24 \ \ \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \f5 \cf0 \'8a\'54\'97\'76\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \cf0 \CocoaLigature1 UI Browser \'82\'cd\'81\'41Apple Computer \'82\'aa\'92\'f1\'8b\'9f\'82\'b7\'82\'e9 AppleScript \'97\'70\'82\'cc\'90\'56\'82\'b5\'82\'a2\'83\'65\'83\'4e\'83\'6d\'83\'8d\'83\'57\'81\'5b\'81\'41GUI Scripting \'82\'c6\'83\'41\'83\'4e\'83\'5a\'83\'56\'83\'72\'83\'8a\'83\'65\'83\'42\'82\'cc\'82\'bd\'82\'df\'82\'cc\'8b\'86\'8b\'c9\'82\'cc\'8e\'78\'89\'87\'83\'63\'81\'5b\'83\'8b\'82\'c5\'82\'b7\'81\'42\ UI Browser \'82\'cd\'81\'41\'8b\'4e\'93\'ae\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9\'82\'d9\'82\'c6\'82\'f1\'82\'c7\'82\'cc Mac OS X \'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc\'83\'86\'81\'5b\'83\'55\'83\'43\'83\'93\'83\'5e\'81\'5b\'83\'74\'83\'46\'83\'43\'83\'58\'81\'69\'88\'c8\'89\'ba\'81\'41UI\'81\'6a\'82\'f0\'81\'41\'8e\'c0\'82\'c9\'8a\'c8\'92\'50\'82\'c8\'95\'fb\'96\'40\'82\'c5\'93\'a5\'8d\'b8\'82\'b5\'82\'c4\'91\'80\'8d\'ec\'82\'b5\'8a\'c4\'8e\'8b\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'f0\'89\'c2\'94\'5c\'82\'c9\'82\'b5\'82\'dc\'82\'b7\'81\'42\'82\'b3\'82\'e7\'82\'c9 UI Browser \'82\'cd\'81\'41\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'95\'d2\'90\'ac\'82\'f0\'89\'f0\'93\'c7\'82\'b5\'81\'41\'83\'8f\'83\'93\'83\'4e\'83\'8a\'83\'62\'83\'4e\'82\'b7\'82\'e9\'82\'be\'82\'af\'82\'c5\'96\'da\'93\'49\'82\'cc\'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'f0\'8e\'a9\'93\'ae\'90\'a7\'8c\'e4\'82\'b7\'82\'e9 AppleScript \'82\'cc\'83\'58\'83\'65\'81\'5b\'83\'67\'83\'81\'83\'93\'83\'67\'82\'f0\'90\'b6\'90\'ac\'82\'b5\'82\'dc\'82\'b7\'81\'42\CocoaLigature0 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \cf0 \ \'91\'ce\'8f\'db\'83\'81\'83\'6a\'83\'85\'81\'5b\'82\'a9\'82\'e7\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'f0\'91\'49\'91\'f0\'82\'b7\'82\'e9\'82\'a9\'81\'41\'82\'dc\'82\'bd\'82\'cd\'83\'7a\'83\'62\'83\'67\'83\'4c\'81\'5b Control-Command-S \'82\'f0\'89\'9f\'82\'b5\'82\'c4\'83\'58\'83\'4e\'83\'8a\'81\'5b\'83\'93\'8f\'e3\'82\'c5\'83\'7d\'83\'45\'83\'58\'82\'cc\'89\'ba\'82\'c9\'82\'a0\'82\'e9\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc \CocoaLigature1 UI \CocoaLigature0 \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'f0\'8e\'e6\'82\'e8\'8f\'6f\'82\'b5\'82\'dc\'82\'b7\'81\'42\'82\'b1\'82\'ea\'82\'c5 UI Browser \'82\'f0\'8e\'67\'82\'c1\'82\'c4\'81\'41\'91\'ce\'8f\'db\'82\'cc \CocoaLigature1 UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'f0\'82\'b7\'82\'d7\'82\'c4\'83\'75\'83\'89\'83\'45\'83\'59\'82\'b5\'81\'41\'95\'5c\'8e\'a6\'82\'b5\'81\'41\'91\'ae\'90\'ab\'82\'f0\'90\'dd\'92\'e8\'82\'b5\'81\'41\'83\'41\'83\'4e\'83\'56\'83\'87\'83\'93\'82\'f0\'8e\'c0\'8d\'73\'82\'b3\'82\'b9\'81\'41\'83\'4c\'81\'5b\'83\'58\'83\'67\'83\'8d\'81\'5b\'83\'4e\'82\'f0\'91\'97\'90\'4d\'82\'b5\'81\'41\'82\'bb\'82\'b5\'82\'c4\'91\'ce\'8f\'db\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'82\'a2\'82\'b8\'82\'ea\'82\'a9\'82\'cc\'95\'cf\'8d\'58\'82\'c9\'82\'e6\'82\'e9\'92\'ca\'92\'6d\'82\'f0\'8a\'c4\'8e\'8b\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'aa\'82\'c5\'82\'ab\'82\'dc\'82\'b7\'81\'42\CocoaLigature0 \ \ AppleScript \'83\'81\'83\'6a\'83\'85\'81\'5b\'82\'a9\'82\'e7\'8d\'80\'96\'da\'82\'f0\'91\'49\'91\'f0\'82\'b7\'82\'e9\'82\'c6 AppleScript \'82\'cc\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'82\'aa\'90\'b6\'90\'ac\'82\'b3\'82\'ea\'82\'dc\'82\'b7\'81\'42GUI Scripting \'82\'c9\'82\'e6\'82\'e8\'81\'41AppleScript \'82\'f0\'83\'54\'83\'7c\'81\'5b\'83\'67\'82\'b5\'82\'c4\'82\'a2\'82\'c8\'82\'a2\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c9\'82\'c2\'82\'a2\'82\'c4\'82\'e0\'81\'41\'82\'bb\'82\'cc\'83\'86\'81\'5b\'83\'55\'83\'43\'83\'93\'83\'5e\'83\'74\'83\'46\'83\'43\'83\'58\'82\'f0\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'65\'83\'42\'83\'93\'83\'4f\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'c5\'8e\'a9\'93\'ae\'89\'bb\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'aa\'82\'c5\'82\'ab\'82\'dc\'82\'b7\'81\'42UI Browser \'82\'cd\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'95\'d2\'90\'ac\'82\'f0\'89\'f0\'93\'c7\'82\'b5\'81\'41\'82\'bd\'82\'c1\'82\'bd\'83\'8f\'83\'93\'83\'4e\'83\'8a\'83\'62\'83\'4e\'82\'c5\'81\'41\'82\'bb\'82\'ea\'82\'e7\'82\'f0\'90\'a7\'8c\'e4\'82\'b5\'8e\'a9\'93\'ae\'89\'bb\'82\'b7\'82\'e9 AppleScript \'82\'cc\'83\'58\'83\'65\'81\'5b\'83\'67\'83\'81\'83\'93\'83\'67\'82\'f0\'90\'b6\'90\'ac\'82\'b5\'82\'c4\'82\'ad\'82\'ea\'82\'dc\'82\'b7\'81\'42\ \ \ \'93\'ae\'8d\'ec\'8a\'c2\'8b\'ab\ \ Mac OS X 10.2 (Jaguar) \'88\'c8\'8d\'7e\'81\'46\'8e\'67\'97\'70\'89\'c2\'94\'5c\'82\'c5\'82\'b7\'82\'aa\'82\'a2\'82\'ad\'82\'c2\'82\'a9\'82\'cc\'8b\'40\'94\'5c\'82\'aa\'8e\'67\'97\'70\'82\'c5\'82\'ab\'82\'dc\'82\'b9\'82\'f1\ Mac OS X 10.3 (Panther) \'88\'c8\'8d\'7e\'81\'46\'90\'84\'8f\'a7\ \ \ \'83\'6f\'81\'5b\'83\'57\'83\'87\'83\'93\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \cf0 \CocoaLigature1 \'8c\'bb\'8d\'dd\'83\'5f\'83\'45\'83\'93\'83\'8d\'81\'5b\'83\'68\'89\'c2\'94\'5c\'82\'c8\'83\'6f\'81\'5b\'83\'57\'83\'87\'83\'93\'82\'cd UI Browser 1.2JJ\'81\'69\'90\'b3\'8e\'ae\'83\'8a\'83\'8a\'81\'5b\'83\'58\'81\'6a\'82\'cc\'8e\'8e\'97\'70\'94\'c5\'82\'c5\'82\'b7\'81\'42\ \'8d\'a1\'8c\'e3\'81\'41\'83\'41\'83\'62\'83\'76\'83\'4f\'83\'8c\'81\'5b\'83\'68\'82\'e2\'83\'7d\'83\'43\'83\'69\'81\'5b\'83\'41\'83\'62\'83\'76\'83\'66\'81\'5b\'83\'67\'82\'aa\'8d\'73\'82\'ed\'82\'ea\'82\'e9\'89\'c2\'94\'5c\'90\'ab\'82\'aa\'82\'a0\'82\'e8\'82\'dc\'82\'b7\'82\'cc\'82\'c5\'81\'41\'89\'ba\'8b\'4c\'82\'cc\'83\'74\'83\'48\'81\'5b\'83\'54\'83\'43\'83\'67\'82\'cc Web \'83\'54\'83\'43\'83\'67\'82\'f0\'92\'80\'8e\'9f\'82\'b2\'97\'97\'82\'ad\'82\'be\'82\'b3\'82\'a2\'81\'42\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural \cf0 \ \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \ql\qnatural \cf0 \CocoaLigature0 www.fsight.co.jp/products/uibrowser/\ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \cf0 \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \cf0 \CocoaLigature1 \'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural \cf0 UI Browser \'82\'cc\'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\'82\'cd\'8a\'c8\'92\'50\'82\'c5\'82\'b7\'81\'42\ \'83\'5f\'83\'45\'83\'93\'83\'8d\'81\'5b\'83\'68\'82\'b5\'82\'bd\'83\'74\'83\'40\'83\'43\'83\'8b\'82\'f0\'89\'f0\'93\'80\'82\'b7\'82\'e9\'82\'c6\'81\'69\'8e\'a9\'93\'ae\'89\'f0\'93\'80\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9\'8f\'ea\'8d\'87\'82\'c9\'82\'cd\'95\'4b\'97\'76\'82\'a0\'82\'e8\'82\'dc\'82\'b9\'82\'f1\'81\'6a\'81\'75UI Browser 1.2J\'81\'76\'82\'c6\'82\'a2\'82\'a4\'83\'66\'83\'42\'83\'58\'83\'4e\'83\'43\'83\'81\'81\'5b\'83\'57\'82\'aa\'83\'66\'83\'58\'83\'4e\'83\'67\'83\'62\'83\'76\'82\'c9\'83\'7d\'83\'45\'83\'93\'83\'67\'82\'b3\'82\'ea\'81\'41\'82\'b1\'82\'cc\'83\'66\'83\'42\'83\'58\'83\'4e\'82\'aa\'8e\'a9\'93\'ae\'93\'49\'82\'c9\'8a\'4a\'82\'a9\'82\'ea\'82\'dc\'82\'b7\'82\'cc\'82\'c5\'81\'41\'82\'bb\'82\'cc\'92\'86\'82\'c9\'82\'a0\'82\'e9\'81\'75UI Browser \'8e\'67\'97\'70\'8b\'96\'91\'f8\'8c\'5f\'96\'f1\'8f\'91.rtf\'81\'76\'83\'74\'83\'40\'83\'43\'83\'8b\'82\'f0\'83\'5f\'83\'75\'83\'8b\'83\'4e\'83\'8a\'83\'62\'83\'4e\'82\'b5\'82\'c4\'8a\'4a\'82\'ab\'82\'e6\'82\'ad\'82\'a8\'93\'c7\'82\'dd\'82\'ad\'82\'be\'82\'b3\'82\'a2\'81\'42\'82\'b1\'82\'cc\'8e\'67\'97\'70\'8b\'96\'91\'f8\'8c\'5f\'96\'f1\'8f\'91\'82\'c9\'93\'af\'88\'d3\'82\'b5\'82\'c4\'92\'b8\'82\'a2\'82\'bd\'8f\'ea\'8d\'87\'82\'c9\'82\'cd\'81\'41\'8a\'4a\'82\'a9\'82\'ea\'82\'c4\'82\'a2\'82\'e9\'81\'75UI Browser 1.2J\'81\'76\'82\'c9\'82\'a0\'82\'e9\'83\'74\'83\'40\'83\'43\'83\'8b\'82\'f0\'82\'b2\'8e\'67\'97\'70\'82\'c9\'82\'c8\'82\'e9\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'83\'74\'83\'48\'83\'8b\'83\'5f\'93\'e0\'82\'cc UI Browser \'82\'f0\'95\'db\'91\'b6\'82\'b7\'82\'e9\'83\'74\'83\'48\'83\'8b\'83\'5f\'82\'c9\'83\'52\'83\'73\'81\'5b\'82\'b5\'82\'c4\'82\'ad\'82\'be\'82\'b3\'82\'a2\'81\'42\ \'82\'b1\'82\'ea\'82\'c5\'81\'41\'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\'82\'cd\'8a\'ae\'97\'b9\'82\'c5\'82\'b7\'81\'42\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \cf0 \ \ \'8e\'8e\'97\'70\'94\'c5\'82\'cc\'90\'a7\'8c\'c0\'82\'c6\'90\'bb\'95\'69\'94\'c5\ \ \'82\'b1\'82\'cc\'90\'b3\'8e\'ae\'83\'8a\'83\'8a\'81\'5b\'83\'58\'82\'cc\'8e\'8e\'97\'70\'94\'c5\'82\'cd\'81\'41\'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\'8c\'e3 30 \'93\'fa\'8a\'d4\'93\'ae\'8d\'ec\'82\'b5\'82\'dc\'82\'b7\'81\'42\ \'90\'bb\'95\'69\'83\'4c\'81\'5b\'83\'52\'81\'5b\'83\'68\'82\'f0\'82\'b2\'8d\'77\'93\'fc\'92\'b8\'82\'ab\'81\'41\'82\'b1\'82\'ea\'82\'f0\'8e\'8e\'97\'70\'94\'c5\'82\'c9\'93\'6f\'98\'5e\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'c5\'81\'41\'93\'af\'88\'ea\'83\'7d\'83\'56\'83\'93\'82\'cc\'83\'56\'83\'58\'83\'65\'83\'80\'8f\'e3\'82\'c5\'8e\'67\'97\'70\'82\'b7\'82\'e9\'8c\'c0\'82\'e8 30 \'93\'fa\'8a\'d4\'82\'cc\'90\'a7\'8c\'c0\'82\'cd\'89\'f0\'8f\'9c\'82\'b3\'82\'ea\'82\'dc\'82\'b7\'81\'42\'82\'dc\'82\'bd\'81\'41\'82\'b2\'8d\'77\'93\'fc\'92\'b8\'82\'a2\'82\'bd\'83\'4c\'81\'5b\'83\'52\'81\'5b\'83\'68\'82\'f0\'83\'78\'81\'5b\'83\'5e\'94\'c5\'82\'e2\'83\'8a\'83\'8a\'81\'5b\'83\'58\'92\'bc\'91\'4f\'94\'c5\'82\'c9\'91\'ce\'82\'b5\'82\'c4\'93\'fc\'97\'cd\'82\'b5\'82\'c4\'82\'a2\'82\'e9\'8f\'ea\'8d\'87\'82\'c5\'82\'e0\'81\'41\'90\'b3\'8e\'ae\'83\'8a\'83\'8a\'81\'5b\'83\'58\'94\'c5\'82\'cc\'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\'8c\'e3\'82\'cd\'81\'41\'93\'af\'88\'ea\'83\'56\'83\'58\'83\'65\'83\'80\'8f\'e3\'82\'c5\'8e\'67\'97\'70\'82\'b7\'82\'e9\'8c\'c0\'82\'e8\'8e\'8e\'97\'70\'8a\'fa\'8c\'c0\'82\'c8\'82\'b5\'82\'cc\'90\'bb\'95\'69\'94\'c5\'82\'c6\'82\'b5\'82\'c4\'8e\'67\'97\'70\'82\'c5\'82\'ab\'82\'dc\'82\'b7\'81\'42\CocoaLigature0 \ \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \ql\qnatural \cf0 \ \ \'90\'bb\'95\'69\'83\'4c\'81\'5b\'83\'52\'81\'5b\'83\'68\'82\'cc\'8d\'77\'93\'fc\'82\'c6\'89\'bf\'8a\'69\ \ \'90\'bb\'95\'69\'83\'4c\'81\'5b\'83\'52\'81\'5b\'83\'68\'82\'cd\'81\'41\'8e\'9f\'82\'cc Web \'83\'54\'83\'43\'83\'67\'82\'a9\'82\'e7\'82\'a8\'90\'5c\'82\'b5\'8d\'9e\'82\'dd\'92\'b8\'82\'af\'82\'dc\'82\'b7\'81\'42\ \'81\'40www.fsight.co.jp/buy/\ \ \'81\'40\'95\'57\'8f\'80\'8f\'ac\'94\'84\'89\'bf\'8a\'69\'81\'4618,900\'89\'7e\'81\'69\'8f\'c1\'94\'ef\'90\'c5\'8d\'9e\'81\'6a\ \ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural \cf0 \CocoaLigature1 \'94\'bb\'96\'be\'82\'b5\'82\'c4\'82\'a2\'82\'e9\'96\'e2\'91\'e8\'93\'5f\ \ 1. \'90\'b6\'90\'ac\'82\'b5\'82\'bd\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'82\'f0\'81\'41\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'83\'47\'83\'66\'83\'42\'83\'5e 2\'81\'41Script Debugger\'81\'41Smile\'81\'41\'82\'c8\'82\'c7\'82\'cc\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'83\'47\'83\'66\'83\'42\'83\'5e\'82\'c9\'91\'ce\'82\'b5\'82\'c4\'92\'bc\'90\'da\'8e\'e6\'82\'e8\'8d\'9e\'82\'de\'82\'b1\'82\'c6\'82\'aa\'82\'c5\'82\'ab\'82\'dc\'82\'b9\'82\'f1\'81\'42\'8e\'9f\'8a\'fa\'83\'6f\'81\'5b\'83\'57\'83\'87\'83\'93\'82\'c5\'89\'f0\'8c\'88\'82\'b7\'82\'e9\'97\'5c\'92\'e8\'82\'c5\'82\'b7\'81\'42\ 2. AppleScript \'83\'81\'83\'6a\'83\'85\'81\'5b\'82\'a9\'82\'e7\'81\'75System Events \'82\'cc Tell \'95\'b6\'81\'76\'82\'f0\'8e\'c0\'8d\'73\'82\'b7\'82\'e9\'82\'c6\'81\'41display dialog \'93\'e0\'82\'c9\'81\'75\'80\'81\'76\'82\'aa 2\'83\'4a\'8f\'8a\'95\'5c\'8e\'a6\'82\'b3\'82\'ea\'82\'dc\'82\'b7\'82\'cc\'82\'c5\'81\'41\'82\'b1\'82\'ea\'82\'e7\'82\'f0\'81\'75\\\'81\'76\'82\'c9\'8f\'91\'82\'ab\'8a\'b7\'82\'a6\'82\'e9\'95\'4b\'97\'76\'82\'aa\'82\'a0\'82\'e8\'82\'dc\'82\'b7\'81\'42\ 3. \'83\'74\'83\'40\'83\'43\'83\'8b\'83\'81\'81\'5b\'83\'4a\'81\'5bPro 6 \'82\'f0\'91\'ce\'8f\'db\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c9\'90\'dd\'92\'e8\'82\'b5\'82\'bd\'8f\'ea\'8d\'87\'81\'41AppleScript \'83\'81\'83\'6a\'83\'85\'81\'5b\'82\'a9\'82\'e7\'81\'75System Events \'82\'cc Tell \'95\'b6\'81\'76\'82\'f0\'8e\'c0\'8d\'73\'82\'b7\'82\'e9\'82\'c6\'81\'41application process \'82\'cc\'96\'bc\'91\'4f\'82\'aa "(null)" \'82\'c6\'95\'5c\'8e\'a6\'82\'b3\'82\'ea\'82\'dc\'82\'b7\'82\'cc\'82\'c5\'81\'41\'82\'b1\'82\'ea\'82\'f0\'81\'75\'83\'74\'83\'40\'83\'43\'83\'8b\'83\'81\'81\'5b\'83\'4a\'81\'5bPro\'81\'76\'82\'c6\'8f\'91\'82\'ab\'8a\'b7\'82\'a6\'82\'e9\'95\'4b\'97\'76\'82\'aa\'82\'a0\'82\'e8\'82\'dc\'82\'b7\'81\'42\CocoaLigature0 \ \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \ql\qnatural \cf0 \ \ \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \ql\qnatural \f4\b\fs20 \cf0 \'a9 2003-2004 The ForeSight Inc. All rights reserved.}{\rtf1\mac\ansicpg10001\cocoartf102 \readonlydoc1{\fonttbl\f0\fnil\fcharset78 HiraKakuPro-W6;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fnil\fcharset78 HiraKakuPro-W3; \f3\fswiss\fcharset77 Helvetica;\f4\fnil\fcharset77 LucidaGrande-Bold;} {\colortbl;\red255\green255\blue255;\red1\green1\blue1;} \paperw11905\paperh16837\margl1440\margr1440\vieww9000\viewh9000\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\b\fs48 \cf0 \'83\'49\'81\'5b\'83\'6f\'81\'5b\'83\'72\'83\'85\'81\'5b \f1\fs28 \ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\fs24 \cf0 \'8a\'94\'8e\'ae\'89\'ef\'8e\'d0\'83\'74\'83\'48\'81\'5b\'83\'54\'83\'43\'83\'67 \f2\b0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f1\b\fs28 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\fs26 \cf0 UI Browser\ Version 1.2J\ 2004 \'94\'4e 8 \'8c\'8e \f1 \ \f3\b0\fs22 \ \f4\b\fs20 \'a9 2003\CocoaLigature0 -2004\CocoaLigature1 The ForeSight Inc. All rights reserved. \f3\b0\fs22 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \fs24 \cf0 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f2 \cf0 \ UI Browser \'82\'cd\'81\'41Mac OS X \'82\'c5\'8d\'cc\'97\'70\'82\'b3\'82\'ea\'82\'bd\'90\'56\'82\'e7\'82\'b5\'82\'a2\'83\'65\'83\'4e\'83\'6d\'83\'8d\'83\'57\'81\'5b\'82\'c5\'82\'a0\'82\'e9 GUI Scripting \'82\'cc\'8b\'40\'94\'5c\'82\'f0\'97\'98\'97\'70\'82\'b5\'81\'41\'91\'ce\'8f\'db\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc\'83\'86\'81\'5b\'83\'55\'83\'43\'83\'93\'83\'5e\'81\'5b\'83\'74\'83\'46\'83\'43\'83\'58\'82\'f0\'8a\'c8\'92\'50\'82\'c9\'93\'a5\'8d\'b8\'82\'b5\'82\'bb\'82\'ea\'82\'e7\'82\'f0\'8e\'a9\'97\'52\'82\'c9\'90\'a7\'8c\'e4\'82\'b7\'82\'e9 AppleScript \'83\'58\'83\'65\'81\'5b\'83\'67\'83\'81\'83\'93\'83\'67\'82\'f0\'8e\'a9\'93\'ae\'90\'b6\'90\'ac\'82\'b7\'82\'e9\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c5\'82\'b7\'81\'42\ \ UI Browser \'82\'cd\'81\'41\'83\'56\'83\'58\'83\'65\'83\'80\'8f\'e3\'82\'c5\'8b\'4e\'93\'ae\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9\'82\'d9\'82\'da\'82\'b7\'82\'d7\'82\'c4\'82\'cc Mac OS X \'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc\'83\'86\'81\'5b\'83\'55\'83\'43\'83\'93\'83\'5e\'81\'5b\'83\'74\'83\'46\'83\'43\'83\'58\'82\'f0\'93\'a5\'8d\'b8\'82\'b5\'82\'c4\'91\'80\'8d\'ec\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'f0\'89\'c2\'94\'5c\'82\'c9\'82\'b5\'82\'dc\'82\'b7\'81\'42\'91\'ce\'8f\'db\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'cc\'91\'49\'91\'f0\'81\'41\'82\'bb\'82\'cc\'83\'86\'81\'5b\'83\'55\'83\'43\'83\'93\'83\'5e\'81\'5b\'83\'74\'83\'46\'83\'43\'83\'58\'8d\'80\'96\'da\'81\'69UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'81\'6a\'82\'cc\'88\'ea\'97\'97\'95\'5c\'8e\'a6\'81\'41\'82\'bb\'82\'ea\'82\'e7\'82\'cc\'91\'ae\'90\'ab\'81\'41\'8e\'c0\'8d\'73\'82\'b7\'82\'e9\'83\'41\'83\'4e\'83\'56\'83\'87\'83\'93\'81\'41\'83\'4c\'81\'5b\'83\'58\'83\'67\'83\'8d\'81\'5b\'83\'4e\'81\'41\'82\'a8\'82\'e6\'82\'d1\'91\'ce\'8f\'db\'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'95\'cf\'8d\'58\'82\'f0\'8a\'c4\'8e\'8b\'82\'b7\'82\'e9\'82\'bd\'82\'df\'82\'cc\'92\'ca\'92\'6d\'82\'cc\'90\'dd\'92\'e8\'93\'99\'82\'f0\'8d\'73\'82\'a4\'82\'b1\'82\'c6\'82\'aa\'82\'c5\'82\'ab\'82\'dc\'82\'b7\'81\'42\ UI Browser \'82\'cd\'82\'b3\'82\'e7\'82\'c9\'81\'41\'83\'41\'83\'62\'83\'76\'83\'8b\'83\'52\'83\'93\'83\'73\'83\'85\'81\'5b\'83\'5e\'82\'cc\'90\'56\'82\'b5\'82\'a2 GUI Scripting \'83\'65\'83\'4e\'83\'6d\'83\'8d\'83\'57\'81\'5b\'82\'c9\'91\'ce\'89\'9e\'82\'b5\'82\'bd AppleScript \'82\'cc\'83\'58\'83\'65\'81\'5b\'83\'67\'83\'81\'83\'93\'83\'67\'82\'dc\'82\'c5\'82\'e0\'8e\'a9\'93\'ae\'90\'b6\'90\'ac\'82\'b5\'82\'dc\'82\'b7\'81\'42\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural \cf0 UI Browser \'82\'f0\'8e\'67\'97\'70\'82\'b7\'82\'e9\'82\'c9\'82\'cd Mac OS X 10.2 \'88\'c8\'8d\'7e\'82\'aa\'95\'4b\'97\'76\'82\'c5\'82\'b7\'81\'42\'82\'bd\'82\'be\'82\'b5\'81\'41UI Browser \'82\'cc\'8b\'40\'94\'5c\'82\'f0\'8f\'5c\'95\'aa\'82\'c9\'94\'ad\'8a\'f6\'82\'b3\'82\'b9\'82\'e9\'82\'c9\'82\'cd Mac OS X 10.3 \'88\'c8\'8d\'7e\'82\'aa\'95\'4b\'97\'76\'82\'c5\'82\'b7\'81\'42\ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \cf0 \ Apple \'82\'cd\'81\'41GUI Scripting \'83\'65\'83\'4e\'83\'6d\'83\'8d\'83\'57\'81\'5b\'82\'f0 System Events \'82\'c6\'82\'a2\'82\'a4\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c6\'82\'b5\'82\'c4\'8e\'c0\'91\'95\'82\'b5\'82\'dc\'82\'b5\'82\'bd\'81\'42System Events \'82\'cd Mac OS X 10.3 \'88\'c8\'8d\'7e\'82\'c5\'82\'cd\'83\'66\'83\'74\'83\'48\'83\'8b\'83\'67\'82\'c5\'8e\'a9\'93\'ae\'93\'49\'82\'c9\'83\'43\'83\'93\'83\'58\'83\'67\'81\'5b\'83\'8b\'82\'b3\'82\'ea\'82\'dc\'82\'b7\'81\'42\'82\'b5\'82\'a9\'82\'b5\'81\'41\'82\'a2\'82\'b4 GUI Scripting \'82\'f0\'97\'98\'97\'70\'82\'b5\'82\'c4\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'82\'f0\'8d\'ec\'90\'ac\'82\'b5\'82\'e6\'82\'a4\'82\'c6\'82\'b7\'82\'e9\'82\'c6\'91\'e5\'82\'ab\'82\'c8\'96\'e2\'91\'e8\'82\'c9\'92\'bc\'96\'ca\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'c9\'82\'c8\'82\'e8\'82\'dc\'82\'b7\'81\'42\'82\'bb\'82\'ea\'82\'cd\'81\'41\'82\'c7\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'c9\'91\'ce\'82\'b5\'82\'c4\'82\'c7\'82\'f1\'82\'c8\'96\'bd\'97\'df\'82\'f0\'91\'97\'82\'c1\'82\'bd\'82\'e7\'82\'a2\'82\'a2\'82\'cc\'82\'a9\'81\'41\'82\'bb\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'c9\'82\'cd\'82\'c7\'82\'f1\'82\'c8\'91\'ae\'90\'ab\'82\'aa\'82\'a0\'82\'e9\'82\'cc\'82\'a9\'81\'41\'82\'c8\'82\'c7\'82\'c6\'82\'a2\'82\'c1\'82\'bd\'8f\'ee\'95\'f1\'82\'aa\'94\'f1\'8f\'ed\'82\'c9\'95\'aa\'82\'a9\'82\'e8\'93\'ef\'82\'a2\'82\'b1\'82\'c6\'82\'c5\'82\'b7\'81\'42UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'8c\'9f\'8d\'f5\'83\'63\'81\'5b\'83\'8b\'82\'c6\'82\'b5\'82\'c4\'81\'41Apple \'82\'cd UI Element Inspector \'82\'c6\'82\'a2\'82\'a4\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'f0\'94\'ad\'95\'5c\'82\'b5\'82\'c4\'82\'a2\'82\'dc\'82\'b7\'82\'aa\'81\'41\'82\'b1\'82\'cc UI Element Inspector \'82\'c9\'82\'e6\'82\'c1\'82\'c4\'8c\'c2\'81\'58\'82\'cc UI \'83\'47\'83\'8c\'83\'81\'83\'93\'83\'67\'82\'cc\'91\'49\'92\'e8\'82\'e2\'82\'bb\'82\'ea\'82\'e7\'82\'cc\'91\'ae\'90\'ab\'82\'f0\'90\'b3\'82\'b5\'82\'ad\'8e\'77\'92\'e8\'82\'b7\'82\'e9\'82\'bd\'82\'df\'82\'c9\'82\'cd\'81\'41\'8d\'82\'93\'78\'82\'c8\'8f\'57\'92\'86\'97\'cd\'82\'c6\'8d\'aa\'8b\'43\'82\'f0\'97\'76\'82\'b7\'82\'e9\'95\'a1\'8e\'47\'82\'c8\'8d\'ec\'8b\'c6\'82\'f0\'95\'4b\'97\'76\'82\'c6\'82\'b5\'81\'41\'82\'a0\'82\'dc\'82\'e8\'8e\'c0\'97\'70\'93\'49\'82\'c6\'82\'cd\'8c\'be\'82\'a6\'82\'dc\'82\'b9\'82\'f1\'81\'42\ \ UI Browser \'82\'cd GUI Scripting \'82\'cc\'82\'b1\'82\'a4\'82\'b5\'82\'bd\'8c\'87\'93\'5f\'82\'f0\'95\'e2\'82\'a2\'81\'41Mac OS X \'82\'cc Finder \'82\'c6\'90\'65\'98\'61\'90\'ab\'82\'cc\'8d\'82\'82\'a2\'83\'43\'83\'93\'83\'5e\'81\'5b\'83\'74\'83\'46\'83\'43\'83\'58\'82\'c6\'81\'41\'91\'ce\'8f\'db\'83\'49\'83\'75\'83\'57\'83\'46\'83\'4e\'83\'67\'82\'f0\'91\'80\'8d\'ec\'82\'b7\'82\'e9\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'83\'58\'83\'65\'81\'5b\'83\'67\'83\'81\'83\'93\'83\'67\'82\'f0\'8e\'a9\'93\'ae\'90\'b6\'90\'ac\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'c9\'82\'e6\'82\'c1\'82\'c4\'94\'f1\'8f\'ed\'82\'c9\'8a\'c8\'92\'50\'82\'c9 GUI \'82\'f0\'90\'a7\'8c\'e4\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'aa\'82\'c5\'82\'ab\'81\'41GUI Scripting \'83\'65\'83\'4e\'83\'6d\'83\'8d\'83\'57\'81\'5b\'82\'f0\'8d\'4c\'82\'ad\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'83\'89\'83\'43\'83\'5e\'81\'5b\'82\'c9\'8a\'4a\'95\'fa\'82\'b7\'82\'e9\'82\'e0\'82\'cc\'82\'c5\'82\'b7\'81\'42\ \ UI Browser \'82\'f0\'97\'98\'97\'70\'82\'b7\'82\'e9\'82\'b1\'82\'c6\'82\'c5\'81\'41Classic \'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c9\'91\'ce\'82\'b7\'82\'e9 PreFab Player \'82\'c6\'82\'cd\'82\'dc\'82\'bd\'88\'d9\'8e\'9f\'8c\'b3\'82\'cc\'81\'41OS X \'82\'cc\'82\'e6\'82\'e8\'90\'f4\'97\'fb\'82\'b3\'82\'ea\'82\'bd GUI \'8f\'e3\'82\'c5\'81\'41\'83\'49\'83\'75\'83\'57\'83\'46\'83\'4e\'83\'67\'82\'c6\'82\'bb\'82\'cc\'91\'ae\'90\'ab\'82\'f0\'8a\'c8\'92\'50\'82\'c9\'8e\'77\'92\'e8\'82\'b7\'82\'e9\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'82\'cc\'8d\'ec\'90\'ac\'82\'aa\'89\'c2\'94\'5c\'82\'c9\'82\'c8\'82\'e8\'82\'dc\'82\'b7\'81\'42\ \'82\'b1\'82\'cc\'8c\'8b\'89\'ca\'81\'41Mac OS X \'8f\'e3\'82\'c5\'82\'cc\'8d\'4c\'94\'cd\'82\'c8\'83\'41\'83\'76\'83\'8a\'83\'50\'81\'5b\'83\'56\'83\'87\'83\'93\'82\'c9\'91\'ce\'82\'b7\'82\'e9 GUI \'82\'f0\'90\'a7\'8c\'e4\'82\'b7\'82\'e9\'82\'bd\'82\'df\'82\'cc\'83\'58\'83\'4e\'83\'8a\'83\'76\'83\'67\'82\'cc\'8d\'ec\'90\'ac\'8c\'f8\'97\'a6\'82\'aa\'91\'e5\'95\'9d\'82\'c9\'8c\'fc\'8f\'e3\'82\'b5\'82\'dc\'82\'b7\'81\'42\ \ \'83\'6f\'81\'5b\'83\'57\'83\'87\'83\'93 1.2J \'82\'c5\'82\'cd\'8b\'8c\'83\'6f\'81\'5b\'83\'57\'83\'87\'83\'93\'82\'cc\'8b\'40\'94\'5c\'82\'c9\'89\'c1\'82\'a6\'81\'41\'81\'75\'8a\'c2\'8b\'ab\'90\'dd\'92\'e8...\'81\'76\'82\'c5\'82\'cc\'91\'bd\'97\'6c\'82\'c8\'91\'49\'91\'f0\'8b\'40\'94\'5c\'82\'cc\'92\'c7\'89\'c1\'82\'e2\'8a\'65\'8e\'ed\'83\'45\'83\'43\'83\'93\'83\'68\'83\'45\'95\'5c\'8e\'a6\'82\'d6\'82\'cc\'89\'fc\'97\'c7\'82\'aa\'8d\'73\'82\'ed\'82\'ea\'82\'c4\'82\'a2\'82\'dc\'82\'b7\'81\'42\'90\'a5\'94\'f1\'81\'41\'90\'56\'82\'b5\'82\'a2 UI Browser \'82\'f0\'82\'a8\'8e\'8e\'82\'b5\'82\'ad\'82\'be\'82\'b3\'82\'a2\'81\'42\ \ \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \pard\tx1120\tx2240\tx3360\tx4480\tx5600\tx6720\tx7840\tx8960\tx10080\tx11200\tx12320\tx13440\tx14560\tx15680\tx16800\tx17920\tx19040\tx20160\tx21280\tx22400\tx23520\tx24640\tx25760\tx26880\tx28000\tx29120\tx30240\tx31360\tx32480\tx33600\tx34720\tx35840\tx36960\tx38080\tx39200\tx40320\tx41440\tx42560\tx43680\tx44800\tx45920\tx47040\tx48160\tx49280\tx50400\tx51520\tx52640\tx53760\tx54880\tx56000\tx57120\tx58240\tx59360\tx60480\tx61600\tx62720\tx63840\tx64960\tx66080\tx67200\tx68320\tx69440\tx70560\tx71680\tx72800\tx73920\tx75040\tx76160\tx77280\tx78400\tx79520\tx80640\tx81760\tx82880\tx84000\tx85120\tx86240\tx87360\tx88480\tx89600\tx90720\tx91840\tx92960\tx94080\tx95200\tx96320\tx97440\tx98560\tx99680\tx100800\tx101920\tx103040\tx104160\tx105280\tx106400\tx107520\tx108640\tx109760\tx110880\tx112000 \ql\qnatural \f4\b\fs20 \cf2 \CocoaLigature0 \'a9 2003-2004 The ForeSight Inc. All rights reserved.}Bud1entsIlocContentsIlocblob_Contentsfwi0blob ?icnvContentsfwswlongContentsfwvhshorContentsicspblob  @ @ @ @ EDSDB ` @ @ @Bud1 eworks FrameworksIlocblob_ Frameworksfwi0blobQicnv Frameworksfwswlong Frameworksfwvhshor Frameworksicspblob Info.plistIlocblob MacOSIlocblob" MacOSfwi0blobicnvMacOSfwswlongMacOSicspblobPkgInfoIlocblob_l ResourcesIlocblobn ResourcesLSVObool Resourcesfwi0blobQuNlsv Resourcesfwswlong Resourcesfwvhshor Resourcesicspblob Resourceslsspblob ResourceslsvoblobLlsv1dnamdnammoddascdphysPkindslabldshvrKcmmt, Resourceslsvtshor   @ @ @ @ E DSDB ` @ @ @ E DSDB ` @ @ @Bud1 sistivPFAssistive.frameworkIlocblob_PFAssistive.frameworkfwi0blobicnvPFAssistive.frameworkfwswlongPFAssistive.frameworkicspblob  @ @ @ @ E DSDB ` @ @ @Bud1 ersIlocblHeadersIlocblob_ PFAssistiveIlocblob ResourcesIlocblob_eVersionsIlocblobeVersionsfwi0blobYicnvVersionsfwswlongVersionsfwvhshorVersionsicspblob  @ @ @ @ E DSDB ` @ @ @Versions/Current/HeadersVersions/Current/PFAssistiveVersions/Current/ResourcesBud1ob_BIlocblob_Bfwi0blobMzicnvBfwswlongBfwvhshorBicspblobCurrentIlocblob  @ @ @ @ EDSDB ` @ @ @Bud1  ersIlocbl HeadersIlocblob_Headersfwi0blobZ icnvHeadersfwswlongHeadersfwvhshorHeadersicspblob PFAssistiveIlocblob ResourcesIlocblob Resourcesfwi0blobficnv Resourcesfwswlong Resourcesfwvhshor Resourcesicspblob  @ @ @ @ E DSDB ` @ @ @Bud1sistiv PFAssistive.hIlocblobY PFObserver.hIlocblob  PFUIElement.hIlocblob  @ @ @ @ EDSDB ` @ @ @/* PFAssistive.h PFAssistive Framework Copyright © 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ #import #import /* PFObserver.h PFAssistive Framework Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /*! @header PFObserver @abstract The PFAssistive framework is an Objective-C wrapper for the C Accessibility API found in the HIServices subframework of the Mac OS X ApplicationServices framework in /System/Library/Frameworks. PFObserver.h covers the part of the Accessibility API relating to assistive applications that observe changes in UI elements in running applications. See PFUIElement.h for the part of the Accessibility API relating to assistive applications that read and manipulate UI elements such as menus, windows, and user controls in running applications. @discussion The Accessibility API implements the concept of an "observer," an object based on Core Foundation's CFTypeRef. An observer is an object that registers to receive various notifications that are posted by UI elements when they change; for example, when an application is activated, a window is closed, or a checkbox is clicked. An observer can be created that will execute a client's callback function, to take any desired action in response to a change in the observed UI element. The PFObserver class implements all of the functionality of the Accessibility API's AXObserverRef class in the form of Objective-C objects of type PFObserver. It permits you to write callback methods using Objective-C. */ #import #import @class PFUIElement; /*! @class PFObserver @discussion PFObserver is the base class for all observers. */ @interface PFObserver : NSObject { // All iVars are considered private. AXObserverRef observerRef; NSNumber *pidNumber; id notificationDelegate; SEL callbackSelector; NSMutableArray *registrations; NSMutableArray *actualRegistrationsArray; NSString *lastNotification; void *privateVars; } #pragma mark INITIALIZATION /*! @method initWithPath:notificationDelegate:callbackSelector: @abstract A convenience initializer for the PFObserver class. Initializes a newly allocated PFObserver object with a temporary notification delegate and a callback selector provided by the client, given the full path to the target application's bundle or file. @discussion This method is primarily for the private use of the PFAssistive framework; USE AT YOUR OWN RISK. You normally create new PFObserver objects with the +observerWithPath:notificationDelegate:callbackSelector: or the +observerWithPid:notificationDelegate:callbackSelector: class method, because they set up private data structures that are convenient for managing observers. (If you instead allocate your own observer and use either of these init methods to initialize it, you must manage the observer yourself, retaining it as long as it is registered to receive any notifications and releasing it when all registrations are unregistered or no longer needed.) An observer does nothing unless it has been registered to receive at least one notification with respect to at least one observed UI element of the target application, using -registerForNotification:fromElement:contextInfo:. There can be multiple observers for any one target application, but it is normally sufficient to create one observer per target application and register it for multiple notifications. An observer maintains a list of all notifications and elements for which it has been registered. It is the client's responsibility to keep track of each observer, retaining it as long as it is in use; to register and unregister it for notifications and elements as desired; and to release it when done with it. However, if you use the +observerWithPath:notificationDelegate:callbackSlector: or the +observerWithPid:notificationDelegate:callbackSelector: class method to create an observer, the observer is managed for you and you need not retain or manage it yourself after it is registered for every notification for which it needs to be registered. When a notification is received with respect to an observed element, the specified callback selector is invoked on the notification delegate, passing back to the callback method the observer, the notification, the affected UI element (which may be a different element than the element being observed), and any context information that was provided by the client when it registered observer for the notification. A notification delegate is temporary; the relationship only lasts until the observer is deallocated. The client's callback selector should have the following signature: - (void)observer:(PFObserver *)observer notification:(NSString *)notification element:(PFUIElement *)element contextInfo:(void *)contextInfo @param path path An NSString object giving the full path to the application file. @param delegate An Objective-C object of any type. A client will typically return self in this parameter. @param callback The delegate's Objective-C selector to be invoked when a notification is received. @result A PFObserver object for the target application at path, or nil if the target application is not running. */ - (id)initWithPath:(NSString *)path notificationDelegate:(id)delegate callbackSelector:(SEL)callback; // convenience initializer /*! @method initWithPid:notificationDelegate:callbackSelector: @abstract The designated initializer for the PFObserver class. Initializes a newly allocated PFObserver object with its BSD Unix process identification number, a temporary notification delegate, and a callback selector provided by the client. @discussion This method is primarily for the private use of the PFAssistive framework; USE AT YOUR OWN RISK. See the -initWithPath:notificationDelegate:callbackSelector: method for additional details. @param pid An integer, the running application's BSD Unix process identification number. @param delegate An Objective-C object of any type. A client will typically return self in this parameter. @param callback The delegate's Objective-C selector to be invoked when a notification is received. @result A PFObserver object for the target application at path, or nil if the target application is not running. */ - (id)initWithPid:(int)pid notificationDelegate:(id)delegate callbackSelector:(SEL)callback; // designated initializer #pragma mark CLASS METHODS /*! @method observerWithPath:notificationDelegate:callbackSelector: @abstract Class method creates and returns a PFObserver object for the target application at path, or nil if the target application is not running. @discussion Use this method to obtain an observer for a specific application given its path and to set up automatic management of the observer. @param path An NSString object giving the full path to the application file. @param delegate An Objective-C object of any type. A client will typically return self in this parameter. @param callback The delegate's Objective-C selector to be invoked when a notification is received. @result A PFObserver object for the target application at path, or nil if the target application is not running. The observer is returned autoreleased. */ + (PFObserver *)observerWithPath:(NSString *)path notificationDelegate:(id)delegate callbackSelector:(SEL)callback; /*! @method observerWithPid:notificationDelegate:callbackSelector: @abstract Class method creates and returns a PFObserver object for the running target application having process identifier pid. @discussion Use this method to obtain an observer for a specific running application given its BSD Unix process identification number and to set up automatic management of the observer. @param pid An integer, the running application's BSD Unix process identification number. @param delegate An Objective-C object of any type. A client will typically return self in this parameter. @param callback The delegate's Objective-C selector to be invoked when a notification is received. @result A PFObserver object for the running target application having process identifier pid. The observer is returned autoreleased. */ + (PFObserver *)observerWithPid:(int)pid notificationDelegate:(id)delegate callbackSelector:(SEL)callback; /*! @method observersForPid: @abstract Class method returns an array of notification observers for the running application whose BSD Unix application process identification number is pid, or nil if no observers exist for the application. @discussion This method only returns observers that were created using the +observerWithPath:notificationDelegate:callbackSlector: or the +observerWithPid:notificationDelegate:callbackSelector: class method. @param pid An integer, a running application's BSD Unix process identification number. @result An NSArray object containing PFObserver objects for the running application whose BSD Unix application process identification number is pid, or nil if no observers exist for the application. */ + (NSArray *)observersForPid:(int)pid; /*! @method removeObserversForPid: @abstract Class method removes all observers for the running application whose BSD Unix application process identification number is pid, deallocating them if they have not been retained by the client. @discussion Deallocating an observer has the effect of unregistering all notifications for which it was registered. This method only removes observers that were created using the +observerWithPath:notificationDelegate:callbackSlector: or the +observerWithPid:notificationDelegate:callbackSelector: class method. @param pid An integer, a running application's BSD Unix process identification number. */ + (void)removeObserversForPid:(int)pid; #pragma mark ACCESSORS /*! @method pidNumber @abstract Accessor method that returns the BSD Unix process identification number of the receiver. @discussion It is sometimes useful to know the process identification number of an application. For example, it can be used with a variety of Carbon functions to access information not otherwise readily available in Cocoa. @result An NSNumber object encoding the integer value of the process identification number of the receiver. The returned object is autoreleased. */ - (NSNumber *)pidNumber; - (NSMutableArray *)registrations; // Returns a mutable array containing all registrations that are "virtually" in effect; that is, all registrations that the client has registered and has not unregistered. This is required to work around the bug that prevents "actual" unregistration of notifications prior to Mac OS X 10.2.3; it is used to suppress invocation of the receiver's callback selector even though the receiver's callback function is called after virtual unregistration. It is also maintained as a record of all registrations for which the receiver is currently registered; it is used in this capacity by the -isRegisteredForNotification:fromElement: method whether or not the bug is fixed. Each registration in the array is a 2-item dictionary containing a notification string with key "registrationNotificationKey" and a PFUIElement object with key "registrationElementKey". - (NSArray *)registrationForNotification:(NSString *)notification fromElement:(PFUIElement *)element; //added 1.2b5 // Returns the registration in registrations corresponding to notification and element, using -isEqualToElement: instead of -isEqual: to identify element. #pragma mark REGISTRATION /*! @method registerForNotification:fromElement:contextInfo: @abstract Registers the receiver to observe registeredElement for notification, saving contextInfo for return in the client's callback selector. @discussion Use this method to register to observe a specific UI element in a target application in order to receive notifications that it posts, or register to observe the root application element in order to receive notifications emitted by all elements in the application. The client's callback method will receive the observer, the notification, the affected element (which may be different from the observed element) in its parameters, and contextInfo. If you will need the observed element for local use in the client, cache it at registration time. The client's callback selector may receive an affected element of nil, and the observedElement may also be nil, in the case of the NSAccessibilityUIElementDestroyedNotification. You must treat a destroyed element as invalid; don't pass it as a parameter to methods that call accessibility API functions. But you can use it with PFUIElement's -isEqualToElement: method (or CFEqual to compare AXObserverRef objects) to manage any element cache you maintain. Note that attempting to pass a non-NULL reference to a destroyed UI element in an accessibility API function is not guaranteed to return kAXErrorInvalidUIElement. @param notification An NSString constant for a notification, from the NSAccessibility informal protocol. @param registeredElement The PFUIElement object to be observed. @param contextInfo An object, typically of type NSDictionary, containing any information that the receiver's callback method may need at the time the notification is posted. @result YES if successful, or NO. */ - (BOOL)registerForNotification:(NSString *)notification fromElement:(PFUIElement *)registeredElement contextInfo:(void *)contextInfo; /*! @method unregisterForNotification:fromElement: @abstract Unregisters the receiver to observe registeredElement for notification. @param notification An NSString constant for a notification, from the NSAccessibility informal protocol. @param element The PFUIElement object being observed. */ - (void)unregisterForNotification:(NSString *)notification fromElement:(PFUIElement *)element; #pragma mark UTILITIES /*! @method isEqualToObserver: @abstract Returns whether observer represents the same observer object that the receiver represents. @discussion This method tests whether the two observers represent the same observer object in the running application. Always use this method to test equality of observers; Cocoa methods such as -isEqual may return unexpected results. @param observer A PFObserver object to be tested for equality with the receiver. @result YES or NO. */ - (BOOL)isEqualToObserver:(PFObserver *)observer; /*! @method isRegisteredForNotification:fromElement: @abstract Returns whether notification with respect to element is registered with the receiver. @param notification An NSString constant for a notification, from the NSAccessibility informal protocol. @param element The PFUIElement object being observed. @result YES or NO. */ - (BOOL)isRegisteredForNotification:(NSString *)notification fromElement:(PFUIElement *)element; @end /* PFUIElement.h PFAssistive Framework Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /*! @header PFUIElement @abstract The PFAssistive framework is an Objective-C wrapper for the C Accessibility API found in the HIServices subframework of the Mac OS X ApplicationServices framework in /System/Library/Frameworks. PFUIElement.h covers the part of the Accessibility API relating to assistive applications that read and manipulate UI elements such as menus, windows, and user controls in running applications. See PFObserver.h for the part of the Accessibility API relating to assistive applications that observe changes in UI elements in running applications. @discussion The Accessibility API implements the concept of a "UI element," an object based on Core Foundation's CFTypeRef. A UI element represents an individual user interface object in any running application, such as a menu, a window, or a user control. All of an application's UI elements are organized in a tree-like containment hierarchy starting with the root application UI element and ending with leaf UI elements such as buttons and checkboxes. A target application's hierarchy can be navigated by tranversing the UI elements' parents and children, and its individual UI elements can be read and in many cases controlled by getting and setting their attributes, by performing actions on them, and by sending keystrokes to them. Functions are provided to obtain the application's root UI element given its path or process identification number, as an entry point into the tree, or, alternatively, to obtain the root element of whatever application has a user interface object at a specified point on the screen. The PFUIElement class implements all of the functionality of the Accessibility API's AXUIElementRef class in the form of Objective-C objects of type PFUIElement. A PFApplicationUIElement class implements certain additional functionality relating to root application and system-wide UI elements. Public methods in the PFAssistive framework that take objects as parameters or return objects as results generally take Objective-C objects as parameters and return Objective-C objects autoreleased. Clients of the PFAssistive framework should not have to deal with Core Foundation objects. In general, private methods and low-level methods called only or primarily within the PFAssistive framework rely on the Accessibility API and associated Core Foundation data types internally. They take Accessibility API parameters and return Accessibility API objects CFRetained or, in a few cases, Objective-C objects retained. You cannot use most of these private and low-level methods directly unless you have licensed the PFAssistive framework source code. There is an issue regarding the use of Cocoa NSString constants in public methods that take an action, attribute, notification or role parameter. Ideally, you should use the NSString constants declared in the NSAccessibility informal protocol (in NSAccessibility.h in the Cocoa AppKit framework). In the Mac OS X 10.2 Jaquar implementation of the NSAccessibility protocol, however, some required constants are omitted. Until Apple fixes this in a future release of Mac OS X, you should use the corresponding CFStringRef constants declared in AXConstants.h in the Accessibility API and cast them to NSString. If you use the Accessibility API constants in AXConstants.h, note that many of them are marked as obsolete; use only the non-obsolete constants to assure compatibility with future releases of Mac OS X. If you use the NSAccessibility informal protocol constants, note that NSAccessibility.h, although located in the AppKit framework, is not included in the Cocoa umbrella framework in Mac OS X 10.2 and must therefore be explicitly imported; this is fixed in Mac OS X 10.3. Many methods return PFUIElement or PFApplicationUIElement objects. Think of these as factories that can be called upon to churn out objects as often as needed, whenever needed. Different PFUIElement or PFApplicationUIElement objects representing the same user interface object are interchangeable. Whether they represent the same user interface object should be tested using -isEqualToElement:, and whether the user interface object still exists in the running application should be tested using -exists. It is particularly important to test whether a UI element still exists in the running application before using any of its methods that calls an accessibility API function (which is to say, most of its methods), because objects representing destroyed UI elements can be nil or can even refer to other elements, leading to unexpected behavior. Unless otherwise noted, methods with return values return nil, 0, or false in the event of an error. */ #import #import @class PFApplicationUIElement; @class PFObserver; /*! @class PFUIElement @discussion PFUIElement is the base class for all UI elements. The PFApplicationUIElement subclass offers additional features for root-level UI elements (applications and the system-wide UI element). */ @interface PFUIElement : NSObject { // All iVars are considered private. AXUIElementRef elementRef; NSDictionary *elementInfo; AXObserverRef destructionObserverRef; BOOL isDestroyed; void *privateVars; } #pragma mark INITIALIZATION /*! @method initWithElementRef: @abstract The designated initializer for the PFUIElement class. Initializes a newly allocated PFUIElement object with an Accessibility API AXUIElementRef object. @discussion This method is primarily for the private use of the PFAssistive framework; USE AT YOUR OWN RISK. You normally create and initialize new PFUIElement objects in one of four ways: 1. with PFUIElement's +elementAtPoint: class method or PFApplicationUIElement's -elementAtPoint: instance method if you want to browse an application from a leaf UI element by reading the screen; 2. with PFApplicationUIElement's -initWithPath: or -initWithPid: method if you want to browse an application from its root element; 3. with PFApplicationUIElement's -initSystemWide method if you want to use the systemwide element, for example, to identify the active application; or 4. with any of several element or attribute methods such as -applicationElement, -parent and -children, once you have obtained another element to serve as the receiver. @param uiElementRef An Accessibility API object of type AXUIElementRef, obtained by calling the -elementRef method on any existing PFUIElement or PFApplicationUIElement object, or by using any of several accessibility API functions. @result An Objective-C object of type id; normally a PFUIElement object or, in some cases, a PFAPPlicationUIElement object. */ - (id)initWithElementRef:(AXUIElementRef)uiElementRef; // designated initializer - (void)registerDestructionObserver; // added 1.2fc3 - (void)unregisterDestructionObserver; // added 1.2fc3 #pragma mark CLASS METHODS /*! @method isAccessImplemented @abstract Class method returns YES if the accessibility API is implemented on this computer. @discussion The accessibility API was first implemented publicly in Mac OS X 10.2 Jaguar. @result YES or NO. */ + (BOOL)isAccessImplemented; /*! @method isAccessEnabled @abstract Class method returns YES if access for assistive devices is turned on in the Universal Access pane of System Preferences. @discussion The user turns access on and off under the "Seeing" tab of the Universal Access pane by selecting or deselecting the "Enable access for assistive devices" checkbox. This must be done manually and requires user authentication in Mac OS X 10.2 Jaguar for security reasons. The setting is turned off by default, so clients of the FPAccessibility framework will not work unless the user is instructed to turn it on. @result YES or NO. */ + (BOOL)isAccessEnabled; /*! @method elementAtPoint: @abstract Class method creates and returns a PFUIElement object representing the visible user interface object located at point on the screen, no matter what application owns it. @discussion Use this method to read the screen, based, for example, on the current location of the mouse. Use the PFApplicationUIElement instance method -elementAtPoint: instead of this class method to get a PFUIElement object representing the user interface object visible at point and belonging to a specific application, or nil if the application doesn not own it. @param point An NSPoint struct using top-left relative screen coordinates. @result A PFUIElement object representing the visbile user interface object located at point, no matter what application owns it. The returned object is autoreleased. */ + (PFUIElement *)elementAtPoint:(NSPoint)point; /*! @method firstElementWithRole:inArray: @abstract Class method returns the first PFUIElement object in array whose role attribute is role. @discussion This method does a flat search in array; it does not search nested elements such as grandchildren. Use this method to test whether, for example, an application's children include any open windows or a window's children include any scroll areas. @param role An NSString constant for a role, from the NSAccessibiility informal protocol. @param array An array of PFUIElement objects. @result The PFUIElement object that is the first PFUIElement object in array having role attribute role, or nil if none exists with role attribute role. The returned object is autoreleased. */ + (PFUIElement *)firstElementWithRole:(NSString *)role inArray:(NSArray *)array; /*! @method everyElementWithRole:inArray: @abstract Class method returns the subarray of all PFUIElement objects in array having role attribute role. @discussion This method does a flat search in array; it does not search nested elements such as grandchildren. Use this method to return, for example, all of an element's children that are buttons. @param role An NSString constant for a role, from the NSAccessibiility informal protocol. @param array An array of PFUIElement objects. @result An array of all PFUIElement objects in array having role attribute role, or an empty array if none exists with role attribute role. The returned object is autoreleased. */ + (NSArray *)everyElementWithRole:(NSString *)role inArray:(NSArray *)array; + (NSArray *)notifications; // added 1.2 #pragma mark ACCESSOR METHODS /*! @method elementRef @abstract Accessor method returns the accessibility API AXUIElementRef object that was associated with the receiver when the receiver was created. @discussion The returned AXUIElementRef object may be invalid if the user interface object it represents no longer exists in the running application. It can nevertheless always be used to test cached AXUIElementRef objects using CFEqual; for example, to decide whether to remove them from the cache. This method is primarily for the private use of the PFAssistive framework; USE AT YOUR OWN RISK. Use the -isEqualToElement: method to test whether two PFUIElement objects represent the same user interface element in the running application. @result The accessibility API AXUIElementRef object that was associated with the receiver when the receiver was created. The AXUIElementRef object is returned CFRetained; you must CFRelease it when done with it (it is CFReleased automatically when the receiver is deallocated). */ - (AXUIElementRef)elementRef; /*! @method elementInfo @abstract Accessor method returns information about the receiver that was cached when the receiver was created. @discussion When the user interface object represented by the receiver is destroyed, the receiver can no longer be queried for valid data about it (except for its pid). Any information about it that must survive its destruction therefore has to be cached when it is created. Currently, the role and, if available, the subrole, role description and title are automatically cached. Note that the title may have changed by the time the user interface object is destroyed. To retrieve these values from the dictionary returned by -elementInfo, use the NSAccessibility informal protocol string constants NSAccessibilityRoleAttribute, NSAccessibilityRoleDescriptionAttribute, NSAccessibilitySubroleAttribute, and NSAccessibilityTitleAttribute. @result An NSDictionary object using NSString constants from the NSAccessibility informal protocol as keys. The returned object is autoreleased. */ - (NSDictionary *)elementInfo; /*! @method setElementInfo: @abstract Caches certain information about the receiver. @discussion See -elementInfo for details. This method is called automatically when a new PFUIElement object is created. You can call it again if, for example, you want to update the receiver's cached title when the user interface object's title changes, or if you want to cache additional information about the receiver. @param info An NSDictionary object using NSString constants from the NSAccessibility informal protocol as keys. */ - (void)setElementInfo:(NSDictionary *)info; #pragma mark ELEMENT UTILITIES /*! @method exists @abstract Returns YES if the user interface object the receiver represents still exists in the running application. @discussion Use this method to test, for example, whether an application's window is still open. This method is very fast, so it can and should be called liberally. UI elements can be destroyed under many circumstances, not all of them obvious (for example, window UI elements are destroyed when their application is hidden). @result YES or NO. */ - (BOOL)exists; /*! @method isVisibleAtPoint: @abstract Returns YES if the receiver is visible at point. @discussion If the receiver is not visible because another user interface object is in front of it, then PFApplicationUIElement's +elementAtPoint class method cannot read it by its location on the screen but only by its place in the UI element containment hierarchy (if known). The PFUIElement -elementAtPoint instance method can read it even if it is not visible. @param point An NSPoint struct representing a point on the screen. @result YES or NO. */ - (BOOL)isVisibleAtPoint:(NSPoint)point; /*! @method isEqualToElement: @abstract Returns whether element represents the same user interface object in the running application that the receiver represents. @discussion This method tests whether the two elements represent the same user interface object in the running application. This works even if the user interface objects represented by either or both elements no longer exist in the running application. Always use this method to test equality of elements (or compare their AXUIElementRef objects using CFEqual). Cocoa methods such as -isEqual may return unexpected results. @param element A PFUIElement object to be tested for equality with the receiver. @result YES or NO. */ - (BOOL)isEqualToElement:(PFUIElement *)element; /*! @method indexInArray: @abstract Returns the zero-based index of the receiver in array, or -1 if it is not in array. @discussion This method does a flat search in array; it does not search nested elements such as grandchildren. For AppleScript GUI Scripting compatibility, add 1 to the index returned by this method because AppleScript indexes are one-based. Note that UI elements whose role is unknown should be indexed with this method for compatibility with GUI Scripting, not with -indexAmongLikeElementsInArray:. In the current implementation of the Accessibility API, the indexes of windows do not necessarily represent the front-to-back ordering of windows in a running application. @param array An array of PFUIElement objects. @result An integer that is the zero-based index of the receiver in array, or -1 if it is not in array. */ - (int)indexInArray:(NSArray *)array; /*! @method indexAmongLikeElementsInArray: @abstract Returns the zero-based index of the receiver in the subarray of all PFUIElement objects in array having the same role as the receiver, or -1 if it is not in array. @discussion This method does a flat search in array; it does not search nested elements such as grandchildren. For AppleScript GUI Scripting compatibility, add 1 to the index returned by this method because AppleScript indexes are one-based. Note that UI elements whose role is unknown should not be indexed with this method for compatibility with GUI Scripting, but instead with -indexInArray:. In the current implementation of the Accessibility API, the indexes of windows do not necessarily represent the front-to-back ordering of windows in a running application. @param array An array of PFUIElement objects. @result An integer that is the zero-based index of the receiver in the subarray of all PFUIElement objects in array having the same role as the receiver, or -1 if it is not in array. */ - (int)indexAmongLikeElementsInArray:(NSArray *)array; /*! @method isSiblingOfElement: @abstract Returns YES if element is a sibling of the receiver; that is, if they have the same parent. @discussion This method works even if the user interface objects represented by either or both elements no longer exist in the running application. See the -AXparent method for information about an issue when testing menu UI elements. @param element A PFUIElement object to be tested against the receiver. @result YES or NO. */ - (BOOL)isSiblingOfElement:(PFUIElement *)element; /*! @method activateApplication @abstract A convenience method to bring the application owning the receiver to the front. @discussion The PFAssistive framework must bring the target application to the front on occasion to make some methods work correctly, due to issues in the current implementation of the Accessibility API. In those cases, it returns the client application to the front afterwards to restore the status quo ante. If you call this method yourself, it is your responsibility to return the client application to the front. */ - (void)activateApplication; /*! @method applicationElement @abstract Creates and returns a PFApplicationUIElement object representing the root element of the application owning the receiver. @discussion It is sometimes useful to have a reference to the root application UI element as a PFApplicationUIElement object, in order to access certain features that are unique to that subclass of PFUIElement. @result A PFApplicationUIElement object representing the root UI element of the application owning the receiver. The returned element is autoreleased. */ - (PFApplicationUIElement *)applicationElement; /*! @method pid @abstract Returns the BSD Unix process identification number of the application owning the receiver. @discussion It is sometimes useful to know the process identification number of the application owning the receiver. For example, it can be used with a variety of Carbon functions to access information not otherwise readily available in Cocoa. @result An integer that is the BSD Unix process identification number of the application owning the receiver. */ - (int)pid; /*! @method parentPath @abstract Returns an array of PFUIElement objects reflecting the hierarchy of UI elements containing the receiver. @discussion The returned array represents the path from the root element of the target application to and including the receiver's parent in the target application's UI element containment hierarchy. Use the -path method to obtain an array that includes the receiver itself. Note that this method can be slow when used to obtain the path of a menu or menu item, due to a limitation in the current implementation of the Accessibility API. A menu does not currently know who its parent is, so the entire menu bar is searched until the parent of each menu in the path is found. Until Apple fixes this in a future release of Mac OS X, it may be much faster to implement a method like this yourself if your application maintains current information about the menu bar of a target application. @result An array of PFUIElement objects reflecting the hierarchy of UI elements containing the user interface object represented by the receiver, or nil if the receiver is the root application element. The returned array is autoreleased. */ - (NSArray *)parentPath; /*! @method path @abstract Returns an array of PFUIElement objects reflecting the hierarchy of UI elements containing the receiver, and the receiver itself, or nil if the receiver is the root application element. @discussion The returned array represents the path from the root element of the target application to and including the receiver in the target application's UI element containment hierarchy. Use the -parentPath method to obtain an array that excludes the receiver. Note that this method can be slow when used to obtain the path of a menu or menu item, due to a limitation in the current implementation of the Accessibility API. A menu does not currently know who its parent is, so the entire menu bar is searched until the parent of each menu in the path is found. Until Apple fixes this in a future release of Mac OS X, it may be much faster to implement a method like this yourself if your application maintains current information about the menu bar of a target application. @result An array of PFUIElement objects reflecting the hierarchy of UI elements containing the user interface object represented by the receiver, and the receiver itself, or nil if the receiver is the root application element. The returned array is autoreleased. */ - (NSArray *)path; #pragma mark ATTRIBUTES // All attribute values are Objective-C objects returned autoreleased. /*! @method attributes @abstract Returns an array of NSAccessibility informal protocol string constants representing all attributes implemented by the receiver. @discussion In the current implementation of the Accessibility API, Carbon and Cocoa target applications respond differently to this method. In general, Carbon target applications return only those attributes that are implemented by the specific UI element represented by the receiver, and all such attributes therefore have a value. Cocoa target applications return all attributes implemented in the receiver's class, whether or not a particular attribute for a particular UI element has a value. In cases where an attribute is not implemented, or is implemented but does not contain a value, the PFUIElement accessor method for that attribute returns nil. Note that in all cases, an empty string is considered a valid attribute value. The preferred method to obtain the value of a specific attribute of the receiver is to call the corresponding method whose name is the attribute name with an "AX" prefix, such as -AXWindow. The names of these individual attribute methods are identical to the attribute string constants returned by the -attributes or -AXRole method (or by the Accessibility API AXUIElementCopyAttributeNames function), including the "AX" prefix. These attribute methods can therefore be called using key-value coding with keys generated by the -nonParameterizedAttributes method or by the -AXRole method. The two generic methods -setObject:forAttribute and -objectForAttribute use key-value coding in this fashion. They can be used instead of the specific attribute methods to get any attribute value using its corresponding NSAccessibility informal protocol attribute string constant; they will automatically call the appropriate specific attribute method and return an object of the appropriate type. Note that the two generic methods will return the value of any future attribute that is not yet covered by a specific attribute method in the PFAssistive framework, because the PFAssistive framework implements the appropriate Cocoa key-value coding fallback methods using whatever attribute names are returned by the -attributes and -AXRole methods. @result An array of NSString constants from the NSAccessibility informal protocol for all attributes implemented by the receiver. The returned object is autoreleased. */ - (NSArray *)attributes; // treat as array of NSString - (NSArray *)nonParameterizedAttributes; // renamed from "attributes" 1.2.b2 // Standard attributes /*! @method AXRole @abstract Returns the receiver's role. @discussion See the -attributes method for details. @result The value of the receiver's role attribute as a non-localized NSAccessibility informal protocol role NSString constant. The returned object is autoreleased. */ - (NSString *)AXRole; /*! @method AXRoleDescription @abstract Returns the receiver's role description. @discussion See the -attributes method for details. @result The value of the receiver's role description attribute as a localized NSString object. The returned object is autoreleased. */ - (NSString *)AXRoleDescription; /*! @method AXSubrole @abstract Returns the receiver's subrole. @discussion See the -attributes method for details. @result The value of the receiver's subrole attribute as a non-localized NSAccessibility informal protocol subrole NSString constant, or nil. The returned object is autoreleased. */ - (NSString *)AXSubrole; /*! @method AXHelp @abstract Returns the receiver's help tag (tooltip). @discussion See the -attributes method for details. @result The value of the receiver's help attribute as an NSString object, or nil. The returned object is autoreleased. */ - (NSString *)AXHelp; /*! @method AXTitle @abstract Returns the receiver's title. @discussion See the -attributes method for details. @result The value of the receiver's title attribute as an NSString object, or nil. The returned object is autoreleased. */ - (NSString *)AXTitle; /*! @method AXValue @abstract Returns the receiver's value. @discussion See the -attributes method for details. See also -setAXValue:. @result The value of the receiver's value attribute as an object of type id, or nil. The returned object is autoreleased. */ - (id)AXValue; /*! @method setAXValue: @abstract Sets the receiver's value. @discussion See the -attributes method for details. See also -AXValue. @param value An object of any type supported by the receiver. @result YES if successful, or NO. */ - (BOOL)setAXValue:(id)value; /*! @method AXMinValue @abstract Returns the smallest legal value of the receiver. @discussion See the -attributes method for details. @result The smallest legal value of the receiver's value attribute, as an object of type id (typically NSNumber), or nil. The returned object is autoreleased. */ - (id)AXMinValue; /*! @method AXMaxValue @abstract Returns the largest legal value of the receiver. @discussion See the -attributes method for details. @result The largest legal value of the receiver's value attribute, as an object of type id (typically NSNumber), or nil. The returned object is autoreleased. */ - (id)AXMaxValue; /*! @method AXEnabled @abstract Returns whether the receiver is enabled. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the user interface object represented by the receiver is enabled, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXEnabled; // -boolValue extracts BOOL /*! @method AXFocused @abstract Returns whether the receiver has keyboard focus. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. See also -setAXFocused:. @result Whether the user interface object represented by the receiver has keyboard focus, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXFocused; // -boolValue extracts BOOL /*! @method setAXFocused: @abstract Sets whether the receiver has keyboard focus. @discussion See the -attributes method for details. See also -AXFocused. @param flag An NSNumber object encoding the BOOL value YES or NO. */ - (void)setAXFocused:(NSNumber *)flag; /*! @method AXParent @abstract Returns the receiver's parent in the target application's UI element containment hierarchy. @discussion See the -attributes method for details. Returns nil if the receiver is the target application's root UI element. Note that this method can be slow when used to obtain a menu's parent, due to a limitation in the current implementation of the Accessibility API. A menu does not currently know who its parent is, so the entire menu bar is searched until the receiver's parent is found. Until Apple fixes this in a future release of Mac OS X, it may be much faster to implement a method like this yourself if your application maintains current information about the menu bar of a target application. @result A PFUIElement object representing the user interface object that contains the user interface object represented by the receiver in the target application's UI element containment hierarchy, or nil. The returned object is autoreleased. */ - (PFUIElement *)AXParent; // nil if receiver's role is "AXApplication" /*! @method AXChildren @abstract Returns the receiver's children in the target application's UI element containment hierarchy. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the user interface objects that are contained in the user interface object represented by the receiver in the target application's UI element containment hierarchy, or nil. The returned object is autoreleased. */ - (NSArray *)AXChildren; // array of PFUIElement /*! @method AXSelectedChildren @abstract Returns the receiver's selected children in the target application's UI element containment hierarchy. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the user interface objects that are contained in the user interface object represented by the receiver in the target application's UI element containment hierarchy, and that are currently selected, or nil. The returned object is autoreleased. */ - (NSArray *)AXSelectedChildren; // array of PFUIElement /*! @method AXVisibleChildren @abstract Returns the receiver's visible children in the target application's UI element containment hierarchy. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the user interface objects that are contained in the user interface object represented by the receiver in the target application's UI element containment hierarchy, and that are currently visible, or nil. The returned object is autoreleased. */ - (NSArray *)AXVisibleChildren; // array of PFUIElement /*! @method AXWindow @abstract Returns the window in which the receiver is located. @discussion See the -attributes method for details. @result A PFUIElement object representing the window that contains the user interface object represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXWindow; /*! @method AXPosition @abstract Returns the receiver's position on the screen. @discussion See the -attributes method for details. Use NSValue's -pointValue method to extract the NSPoint struct of the result. See also -setAXPosition:. @result An NSValue object encoding an NSPoint struct describing the position of the user interface object represented by the receiver. The returned object is autoreleased. */ - (NSValue *)AXPosition; // pointValue extracts NSPoint /*! @method setAXPosition: @abstract Sets the receiver's position on the screen. @discussion See the -attributes method for details. @param point An NSValue object encoding an NSPoint struct describing the receiver's position on the screen. See also -AXPosition. @result YES if successful, or NO. */ - (BOOL)setAXPosition:(NSValue *)point; /*! @method AXSize @abstract Returns the receiver's size on the screen. @discussion See the -attributes method for details. Use NSValue's -sizeValue method to extract the NSSize struct of the result. @result An NSValue object encoding an NSSize struct describing the size of the user interface object represented by the receiver. The returned object is autoreleased. */ - (NSValue *)AXSize; // sizeValue extracts NSSize /*! @method setAXSize: @abstract Sets the receiver's size on the screen. @discussion See the -attributes method for details. @param size An NSValue object encoding an NSSize struct describing the receiver's size on the screen. See also -AXSize. @result YES if successful, or NO. */ - (BOOL)setAXSize:(NSValue *)size; /*! @method AXOrientation @abstract Returns the receiver's orientation on the screen. @discussion See the -attributes method for details. @result An NSString object describing the orientation of the user interface object represented by the receiver, either "AXVerticalOrientation" or "AXHorizontalOrientation". The returned object is autoreleased. */ - (NSString *)AXOrientation; // Text-specific attributes /*! @method AXText @abstract Returns the receiver's text. @discussion See the -attributes method for details. See also -setAXText:. @result An NSString object representing the text of the user interface object represented by the receiver, or nil. The returned object is autoreleased. */ - (NSString *)AXText; /*! @method setAXText: @abstract Sets the receiver's text. @discussion See the -attributes method for details. See also -AXText. @param text An NSString object. @result YES if successful, or NO. */ - (BOOL)setAXText:(NSString *)text; /*! @method AXSelectedText @abstract Returns the receiver's selected text. @discussion See the -attributes method for details. See also -setAXSelectedText:. @result An NSString object representing the selected text of the user interface object represented by the receiver, or nil. The returned object is autoreleased. */ - (NSString *)AXSelectedText; /*! @method setAXSelectedText: @abstract Sets the text currently selected in the receiver to the new text in object. @discussion See the -attributes method for details. See also -AXSelectedText. @param text An NSString object. @result YES if successful, or NO. */ - (BOOL)setAXSelectedText:(NSString *)text; /*! @method AXSelectedTextRange @abstract Returns the range of the receiver's text selection. @discussion See the -attributes method for details. Use NSValue's -rangeValue method to extract the NSRange struct of the result. See also -setAXSelectedTextRange:. @result An NSValue object encoding an NSRange struct describing the range of the text selection of the user interface object represented by the receiver, or nil. The returned object is autoreleased. */ - (NSValue *)AXSelectedTextRange; // rangeValue extracts NSRange /*! @method setAXSelectedTextRange: @abstract Sets the range of the receiver's text selection. @discussion See the -attributes method for details. See also -AXSelectedTextRange. @param range An NSValue object encoding an NSRange struct describing the range of the receiver's text selection. @result YES if successful, or NO. */ - (BOOL)setAXSelectedTextRange:(NSValue *)range; // Window-specific attributes /*! @method AXMain @abstract Returns whether the receiver is the target application's main window. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. See also -setAXMain:. @result Whether the window represented by the receiver is the target application's main window, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXMain; // boolValue extracts BOOL /*! @method setAXMain: @abstract Sets whether the receiver is the target application's main window. @discussion See the -attributes method for details. See also -AXMain. @param flag An NSNumber object encoding the BOOL value YES or NO. */ - (void)setAXMain:(NSNumber *)flag; /*! @method AXMinimized @abstract Returns whether the receiver is minimized to the Dock. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. See also -setAXMinimized:. @result Whether the window represented by the receiver is minimized to the Dock, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXMinimized; // boolValue extracts BOOL /*! @method setAXMinimized: @abstract Sets whether the receiver is minimized to the Dock. @discussion See the -attributes method for details. See also -AXMinimized. @param flag An NSNumber object encoding the BOOL value YES or NO. */ - (void)setAXMinimized:(NSNumber *)flag; /*! @method AXCloseButton @abstract Returns the window's close button. @discussion See the -attributes method for details. @result A PFUIElement object representing the close button in the title bar of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXCloseButton; /*! @method AXZoomButton @abstract Returns the window's zoom button. @discussion See the -attributes method for details. @result A PFUIElement object representing the zoom button in the title bar of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXZoomButton; /*! @method AXMinimizeButton @abstract Returns the window's minimize button. @discussion See the -attributes method for details. @result A PFUIElement object representing the minimize button in the title bar of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXMinimizeButton; /*! @method AXToolbarButton @abstract Returns the window's toolbar button. @discussion See the -attributes method for details. @result A PFUIElement object representing the toolbar button in the title bar of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXToolbarButton; /*! @method AXProxy @abstract Returns the window's proxy icon. @discussion See the -attributes method for details. @result A PFUIElement object representing the proxy icon in the title bar of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXProxy; /*! @method AXGrowArea @abstract Returns the window's grow area. @discussion See the -attributes method for details. @result A PFUIElement object representing the grow area in the bottom-right corner of the window represented by the receiver. The returned object is autoreleased. */ - (PFUIElement *)AXGrowArea; // Menu-specific attributes /*! @method AXMenuItemCmdChar @abstract Returns the menu item's Command character key equivalent. @discussion See the -attributes method for details. @result An NSString object representing the character key equivalent of the menu item represented by the receiver. The returned object is autoreleased. */ - (NSString *)AXMenuItemCmdChar; /*! @method AXMenuItemCmdVirtualKey @discussion (Not yet documented by Apple.) */ - (NSNumber *)AXMenuItemCmdVirtualKey; /*! @method AXMenuItemCmdGlyph @discussion (Not yet documented by Apple.) */ - (NSNumber *)AXMenuItemCmdGlyph; /*! @method AXMenuItemCmdModifiers @discussion (Not yet documented by Apple.) */ - (NSNumber *)AXMenuItemCmdModifiers; /*! @method AXMenuItemMarkChar @abstract Returns the menu item's mark character, such as a check mark. @discussion See the -attributes method for details. Many applications set a menu item's mark character only as the menu is being opened. For this reason, it may not be possible to obtain the mark character except by first opening the menu. The PFAssistive framework does not do this automatically, but a client can do it by calling the -activateApplication method and then calling the -performAction: method to perform a click action on the menu. @result An NSString object representing the mark character of the menu item represented by the receiver. The returned object is autoreleased. */ - (NSString *)AXMenuItemMarkChar; // Application-specific attributes /*! @method AXMenuBar @abstract Returns the target application's menu bar. @discussion See the -attributes method for details. @result A PFUIElement object representing the target application's menu bar. The returned object is autoreleased. */ - (PFUIElement *)AXMenuBar; /*! @method AXWindows @abstract Returns the target application's windows. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the target application's windows. The returned object is autoreleased. */ - (NSArray *)AXWindows; // array of PFUIElement /*! @method AXFrontmost @abstract Returns whether the target application is frontmost. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. See also -setAXFrontmost:. @result Whether the target application is frontmost, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXFrontmost; // boolValue extracts BOOL /*! @method setAXFrontmost: @abstract Sets whether the target application is frontmost. @discussion See the -attributes method for details. See also -AXFrontmost. @param flag An NSNumber object encoding the BOOL value YES or NO. */ - (void)setAXFrontmost:(NSNumber *)flag; /*! @method AXHidden @abstract Returns whether the target application is hidden. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. See also -setAXHidden:. @result Whether the target application is hidden, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXHidden; // boolValue extracts BOOL /*! @method setAXHidden: @abstract Sets whether the target application is hidden. @discussion See the -attributes method for details. See also -AXHidden. @param flag An NSNumber object encoding the BOOL value YES or NO. */ - (void)setAXHidden:(NSNumber *)flag; /*! @method AXMainWindow @abstract Returns the target application's main window. @discussion See the -attributes method for details. @result A PFUIElement object representing the target application's main window. The returned object is autoreleased. */ - (PFUIElement *)AXMainWindow; /*! @method AXFocusedWindow @abstract Returns the target application's key window. @discussion See the -attributes method for details. @result A PFUIElement object representing the target application's key window. The returned object is autoreleased. */ - (PFUIElement *)AXFocusedWindow; /*! @method AXFocusedUIElement @abstract Returns the UI element having keyboard focus in the target application. @discussion See the -attributes method for details. @result A PFUIElement object representing the UI element having keyboard focus in the target application. The returned object is autoreleased. */ - (PFUIElement *)AXFocusedUIElement; // Miscellaneous attributes /*! @method AXHeader @discussion (Not yet documented by Apple.) */ - (PFUIElement *)AXHeader; /*! @method AXIsEditable @abstract Returns whether the receiver is editable. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the UI element represented by the receiver is editable, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXIsEditable; // boolValue extracts BOOL /*! @method AXEdited @abstract Returns whether the receiver has been edited since it was last saved. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the UI element represented by the receiver has been edited since it was last saved, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXEdited; // boolValue extracts BOOL /*! @method AXValueIncrement @abstract Returns the magnitude of each increment of the receiver, a stepper. @discussion See the -attributes method for details. Use NSNumber's -doubleValue method to extract the double value of the result. @result The magnitude of each increment of the receiver, a stepper control, as an NSNumber object encoding a double value. The returned object is autoreleased. */ - (NSNumber *)AXValueIncrement; // doubleValue extracts double /*! @method AXValueWraps @abstract Returns whether the receiver, a stepper, wraps. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the receiver, a stepper control, wraps, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXValueWraps; // boolValue extracts BOOL /*! @method AXTabs @abstract Returns the receiver's tab view items. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's tab view items. The returned object is autoreleased. */ - (NSArray *)AXTabs; // array of PFUIElement /*! @method AXTitleUIElement @abstract Returns the receiver's title. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's title, such as a button's label. The returned object is autoreleased. */ - (PFUIElement *)AXTitleUIElement; /*! @method AXHorizontalScrollBar @abstract Returns the receiver's horizontal scroll bar. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's horizontal scroll bar. The returned object is autoreleased. */ - (PFUIElement *)AXHorizontalScrollBar; /*! @method AXVerticalScrollBar @abstract Returns the receiver's vertical scroll bar. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's vertical scroll bar. The returned object is autoreleased. */ - (PFUIElement *)AXVerticalScrollBar; /*! @method AXOverflowButton @abstract Returns the receiver's toolbar overflow button. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's toolbar overflow button. The returned object is autoreleased. */ - (PFUIElement *)AXOverflowButton; /*! @method AXFilename @abstract Returns the receiver's file name. @discussion See the -attributes method for details. @result An NSString object representing the receiver's file name, if it has been saved. The returned object is autoreleased. */ - (NSString *)AXFilename; /*! @method AXExpanded @abstract Returns whether the receiver is expanded. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the receiver is expanded, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXExpanded; // boolValue extracts BOOL /*! @method AXSelected @abstract Returns whether the receiver is selected. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the receiver is selected, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXSelected; // boolValue extracts BOOL /*! @method AXSplitters @abstract Returns the receiver's splitters. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's splitters. The returned object is autoreleased. */ - (NSArray *)AXSplitters; // array of PFUIElement /*! @method AXNextContents @discussion Not yet documented by Apple. */ - (NSArray *)AXNextContents; // array of PFUIElement /*! @method AXDocument @abstract Returns the receiver's URL. @discussion See the -attributes method for details. @result An NSString object representing the receiver's URL, if it has been saved. The returned object is autoreleased. */ - (NSString *)AXDocument; // URL for open document /*! @method AXDecrementButton @abstract Returns the receiver's decrement button. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's decrement button. The returned object is autoreleased. */ - (PFUIElement *)AXDecrementButton; /*! @method AXColumnTitles @abstract Returns the receiver's column titles. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's column titles. The returned object is autoreleased. */ - (NSArray *)AXColumnTitles; // array of PFUIElement /*! @method AXIncrementButton @abstract Returns the receiver's increment button. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver's increment button. The returned object is autoreleased. */ - (PFUIElement *)AXIncrementButton; /*! @method AXPreviousContents @discussion Not yet documented by Apple. */ - (NSArray *)AXPreviousContents; // array of PFUIElement /*! @method AXContents @discussion Not yet documented by Apple. */ - (NSArray *)AXContents; // array of PFUIElement // Table/outline view attributes /*! @method AXRows @abstract Returns the receiver's rows. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's rows. The returned object is autoreleased. */ - (NSArray *)AXRows; // array of PFUIElement /*! @method AXVisibleRows @abstract Returns the receiver's visible rows. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's visible rows. The returned object is autoreleased. */ - (NSArray *)AXVisibleRows; // array of PFUIElement /*! @method AXSelectedRows @abstract Returns the receiver's selected rows. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's selected rows. The returned object is autoreleased. */ - (NSArray *)AXSelectedRows; // array of PFUIElement /*! @method AXColumns @abstract Returns the receiver's columns. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's columns. The returned object is autoreleased. */ - (NSArray *)AXColumns; // array of PFUIElement /*! @method AXVisibleColumns @abstract Returns the receiver's visible columns. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's visible columns. The returned object is autoreleased. */ - (NSArray *)AXVisibleColumns; // array of PFUIElement /*! @method AXSelectedColumns @abstract Returns the receiver's selected columns. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver's selected columns. The returned object is autoreleased. */ - (NSArray *)AXSelectedColumns; // array of PFUIElement /*! @method AXSortDirection @abstract Returns the sort direction of the column. @discussion See the -attributes method for details. Use NSNumber's -intValue method to extract the integer value of the result. @result Whether the column's sort direction is not selected (0), ascending (1), or descending (2), as an NSNumber object encoding an integer value. The returned object is autoreleased. */ - (NSNumber *)AXSortDirection; // intValue extracts BOOL; added 1.1b2 // Outline attributes /*! @method AXDisclosing @abstract Returns whether the receiver outline heading is expanded. @discussion See the -attributes method for details. Use NSNumber's -boolValue method to extract the BOOL value of the result. @result Whether the receiver outline heading is expanded, as an NSNumber object encoding a BOOL value. The returned object is autoreleased. */ - (NSNumber *)AXDisclosing; // boolValue extracts BOOL /*! @method AXDisclosedRows @abstract Returns the receiver outline heading's expanded child subheadings. @discussion See the -attributes method for details. @result An array of PFUIElement objects representing the receiver outline heading's expanded child subheadings. The returned object is autoreleased. */ - (NSArray *)AXDisclosedRows; // array of PFUIElement /*! @method AXDisclosedByRow @abstract Returns the receiver outline subheading's parent heading. @discussion See the -attributes method for details. @result A PFUIElement object representing the receiver outline subheading's parent heading. The returned object is autoreleased. */ - (PFUIElement *)AXDisclosedByRow; // System-wide attributes /*! @method AXFocusedApplication @abstract Returns the receiver system-wide element's root application element having keyboard focus (the application having a UI element that is frontmost). @discussion See the -attributes method for details. @result A PFApplicationUIElement object representing the receiver system-wide element's root application element representing the application having a UI element that has keyboard focus (that is is frontmost). The returned object is autoreleased. */ - (PFApplicationUIElement *)AXFocusedApplication; // Obsolete attributes that were still be in use (e.g., in TextEdit) until Mac OS X 10.3 /*! @method AXWidth @abstract Returns the receiver's width. @discussion See the -attributes method for details. Use NSNumber's -floatValue method to extract the floating point value of the result. This method covers an obsolete Accessibility API attribute, but it was still in use (for example, in TextEdit) through Mac OS X 10.3. See also -setAXWidth:. @result An object representing the receiver's width, as an NSNumber object encoding a float value. The returned object is autoreleased. */ //- (NSNumber *)AXWidth; // floatValue extracts float /*! @method setAXWidth: @abstract Sets the receiver's width. @discussion See the -attributes method for details. See also -AXWidth. @param width An NSNumber object encoding a floating point value. */ //- (void)setAXWidth:(NSNumber *)width; /*! @method AXHeight @abstract Returns the receiver's height. @discussion See the -attributes method for details. Use NSNumber's -floatValue method to extract the floating point value of the result. This method covers an obsolete Accessibility API attribute, but it was still in use (for example, in TextEdit) until Mac OS X 10.3. See also -setAXHeight:. @result An object representing the receiver's height, as an NSNumber object encoding a float value. The returned object is autoreleased. */ //- (NSNumber *)AXHeight; // floatValue extracts float /*! @method setAXHeight: @abstract Sets the receiver's height. @discussion See the -attributes method for details. See also -AXHeight. @param height An NSNumber object encoding a floating point value. */ //- (void)setAXHeight:(NSNumber *)height; - (PFUIElement *)AXDefaultButton; // added 1.2b2 - (PFUIElement *)AXCancelButton; // added 1.2b2 - (NSNumber *)AXModal; // boolValue extracts BOOL; added 1.2b2 - (PFUIElement *)AXIncrementor; // added 1.2b2 - (PFUIElement *)AXHourField; // added 1.2b2 - (PFUIElement *)AXMinuteField; // added 1.2b2 - (PFUIElement *)AXSecondField; // added 1.2b2 - (PFUIElement *)AXAMPMField; // added 1.2b2 - (PFUIElement *)AXDayField; // added 1.2b2 - (PFUIElement *)AXMonthField; // added 1.2b2 - (PFUIElement *)AXYearField; // added 1.2b2 - (NSURL *)AXURL; // added 1.2b2; changed to return NSURL 1.2b11 - (NSValue *)AXVisibleCharacterRange; // rangeValue extracts NSRange; added 1.2b2 - (NSNumber *)AXNumberOfCharacters; // added 1.2b2 - (NSArray *)AXSharedTextUIElements; // added 1.2b2 - (NSValue *)AXSharedCharacterRange; // rangeValue extracts NSRange; added 1.2b2 #pragma mark PARAMETERIZED ATTRIBUTES - (NSArray *)parameterizedAttributes; // added 1.2b2 - (NSNumber *)AXLineForIndex:(NSNumber *)characterIndex; // added 1.2b2 - (NSValue *)AXRangeForLine:(NSNumber *)lineIndex; // rangeValue extracts NSRange; added 1.2b2 - (NSString *)AXStringForRange:(NSValue *)characterRange; // added 1.2b2 - (NSValue *)AXRangeForPosition:(NSValue *)glyphPosition; // rangeValue extracts NSRange; added 1.2b2 - (NSValue *)AXRangeForIndex:(NSNumber *)characterIndex; // rangeValue extracts NSRange; added 1.2b2 - (NSValue *)AXBoundsForRange:(NSValue *)characterRange; // rectValue extracts NSRect; added 1.2b2 - (NSData *)AXRTFForRange:(NSValue *)characterRange; // added 1.2b2 - (NSValue *)AXStyleRangeForIndex:(NSNumber *)characterIndex; // rangeValue extracts NSRange; added 1.2b2 #pragma mark ATTRIBUTE UTILITIES /*! @method existsAttribute: @abstract Returns YES if the user interface object the receiver represents still exists in the running application and implements attribute. @discussion Use this method to test, for example, whether a button UI element has a subrole attribute and might therefore be a close, minimize, or zoom button. Some UIElements have attributes with NULL values, such as 0, or an empty string. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result YES or NO. */ - (BOOL)existsAttribute:(NSString *)attribute; // added 1.2b2 - (BOOL)existsNonParameterizedAttribute:(NSString *)attribute; // renamed from existsAttribute 1.2b2 - (BOOL)existsParameterizedAttribute:(NSString *)attribute; // added 1.2b2 /*! @method existsValueForAttribute: @abstract Returns YES if the user interface object the receiver represents still exists in the running application, if it implements attribute, and if attribute has a value. This method applies only to nonparameterized attributes. @discussion A value such as 0 or an empty string is considered a valid value, but nil is not. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result YES or NO. */ - (BOOL)existsValueForAttribute:(NSString *)attribute; /*! @method isRole: @abstract Convenience method returns YES if the receiver is an element having the specified role. @discussion This method tests whether the receiver's role string is equal to the string constant provided in the role parameter. @param role An NSString constant for a role, from the NSAccessibility informal protocol. @result YES or NO. */ - (BOOL)isRole:(NSString *)role; /*! @method childrenCount @abstract Convenience method returns the number of children the receiver contains. @discussion This method counts the number of PFUIElement objects in the receiver's children array attribute. @result An integer representing the number of children the receiver contains. */ - (int)childrenCount; - (BOOL)isParameterizedAttribute:(NSString *)attribute; // added 1.2b2 /*! @method isSettableAttribute: @abstract Returns whether the specified attribute of the receiver can be modified. @discussion This method tests whether the receiver's spedified attribute is marked as settable in the Accessibility API. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result YES or NO. */ - (BOOL)isSettableAttribute:(NSString *)attribute; /*! @method setObject:forAttribute: @abstract Sets the specified attribute of the receiver to object. @discussion It is your responsibility to ensure that object is an object of an appropriate type for attribute and, in the case of point, size, rect, and range, that the values object encodes make sense for attribute (e.g., that windows are on screen, have positive width and height values, and are within the limits of the Mac OS X window server). This method uses key-value coding to call the appropriate specific attribute method, or a fall-back private generic method if a specific method is not yet implemented for a new attribute. @param object An object of any appropriate type. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result YES if successful, or NO (for example, if the attribute cannot be modified). */ - (BOOL)setObject:(id)object forAttribute:(NSString *)attribute; /*! @method objectForAttribute: @abstract Returns an object encoding the value of the specified attribute of the receiver. @discussion Use this method to get an object for an attribute in the general case, when you don't know which attribute you will receive. This method uses key-value coding to call the appropriate specific attribute method, or a fall-back private generic method if a specific method is not yet implemented for a new attribute. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result Returns an Objective-C object of an appropriate class wrapping the Core Foundation Accessibility API object for the specified attribute of the receiver, no matter what the attribute's Accessibility API data type. The returned object is autoreleased. */ - (id)objectForAttribute:(NSString *)attribute; - (id)objectForAttribute:(NSString *)attribute parameter:(id)parameter; // added 1.2b2 /*! @method typeForAttribute: @abstract Returns a non-localized string identifying the data type of the specified attribute of the receiver. @discussion These type identifiers are unique to the PFAssistive framework; Apple's Accessibility API has no equivalent. They are used for program control in the PFAssistive framework, and you can use them in a similar fashion. The possible strings are "array", "Boolean", "number", "point", "range", "rect", "size", "string", "UIElement", and "unknown". This method will return a string for the structured types point, size, rect, and range when appropriate. It may return a string for an unknown type or nil if attribute doesn't exist or has no value. For localized strings describing the data type of the specified attribute of the receiver, use -descriptionOfTypeForAttribute:. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result A localized NSString object describing the data type of the specified attribute of the receiver. */ - (NSString *)typeForAttribute:(NSString *)attribute; // added 1.1b1 /*! @method descriptionOfTypeForAttribute: @abstract Convenience method returns a localized string describing the data type of the specified attribute of the receiver. @discussion These type descriptions are unique to the PFAssistive framework; Apple's Accessibility API has no equivalent. The key-value pairs are defined in the PFTypeDescriptions.strings file in the PFAssistive framework bundle. This method will return a string for the structured types point, size, rect, and range when appropriate. It may return a string for an unknown type or nil if attribute doesn't exist or has no value. For non-localized strings identifying the data type of the specified attribute of the receiver, use -typeForAttribute:. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result A localized NSString object describing the data type of the specified attribute of the receiver. */ - (NSString *)descriptionOfTypeForAttribute:(NSString *)attribute; // renamed from typeForAttribute: 1.1b1 /*! @method descriptionForAttribute: @abstract Convenience method returns a localized string describing the specified attribute of the receiver. @discussion These attribute descriptions are unique to the PFAssistive framework; Apple's Accessibility API has no equivalent. The key-value pairs are defined in the PFAttributeDescriptions.strings file in the PFAssistive framework bundle. @param attribute An NSString constant for an attribute, from the NSAccessibility informal protocol. @result A localized NSString object describing the specified attribute of the receiver. */ - (NSString *)descriptionForAttribute:(NSString *)attribute; - (NSString *)descriptionForSubrole:(NSString *)subrole; // added 1.2b2 #pragma mark ACTIONS /*! @method actions @abstract Returns an array of NSAccessibility informal protocol string constants representing all actions implemented by the receiver. @discussion Many UI elements do not support any actions. @result An array of NSString constants from the NSAccessibility informal protocol for all actions implemented by the receiver. The returned object is autoreleased. */ - (NSArray *)actions; // treat as array of NSString #pragma mark ACTION UTILITIES /*! @method existsAction: @abstract Returns YES if the user interface object the receiver represents still exists in the running application and can perform the specified action. @discussion Use this method to test, for example, whether a button UI element supports the click action. @param action An NSString constant for an action, from the NSAccessibility informal protocol. @result YES or NO. */ - (BOOL)existsAction:(NSString *)action; /*! @method descriptionForAction: @abstract Convenience method returns a localized string describing the specified action. @discussion These action descriptions are provided by Apple's Accessibility API. @param action An NSString constant for an action, from the NSAccessibility informal protocol. @result Returns a localized string describing the specified action, or nil if action can't be performed by the receiver. The returned object is autoreleased. */ - (NSString *)descriptionForAction:(NSString *)action; /*! @method performAction: @abstract Causes the receiver to perform the specified action. @discussion This method causes the receiver to perform the specified action as if the user had performed it directly, such as clicking a button. @param action An NSString constant for an action, from the NSAccessibility informal protocol. @result YES if successful, or NO. */ - (BOOL)performAction:(NSString *)action; #pragma mark NOTIFICATIONS /*! @method notifications @abstract Returns an array of NSAccessibility informal protocol string constants representing all notifications implemented by the receiver. @discussion In general, it is best to register to receive notifications on the root application element of the target application, because this guarantees that all notifications will be received from all UI elements. Many UI elements do not support any notifications. Registration to observe notifications is handled by the PFObserver class in PFObserver.h. @result An array of NSString constants from the NSAccessibility informal protocol for all notifications implemented by the receiver. The returned object is autoreleased. */ - (NSArray *)notifications; // treat as array of NSString #pragma mark NOTIFICATION UTILITIES /*! @method descriptionForNotification: @abstract Class convenience method returns a localized string describing notification. @discussion These notification descriptions are unique to the PFAssistive framework; Apple's Accessibility API has no equivalent. The key-value pairs are defined in the PFNotificationDescriptions.strings file in the PFAssistive framework bundle. @param notification An NSString constant for a notification, from the NSAccessibility informal protocol. @result A localized NSString object describing the specified notification of the receiver. */ + (NSString *)descriptionForNotification:(NSString *)notification; @end /*! @class PFApplicationUIElement @discussion PFApplicationUIElement is a subclass of PFUIElement. It offers additional features for root-level UI elements (applications and the system-wide UI element). */ @interface PFApplicationUIElement : PFUIElement { // Subclass for application UIElements // All iVars are considered private. NSNumber *pidNumber; } #pragma mark INITIALIZATION /*! @method initWithPath: @abstract A convenience initializer for the PFUIApplicationElement class. Initializes a newly allocated PFUIApplicationElement object, given the full path to the target application's bundle or file. @discussion Use this method or -initWithPid: to obtain the root element for a specific application; for example, to browse a specific application's user interface without regard to whether it is frontmost or where on the screen its user interface objects may be located. @param path An NSString object giving the full path to the application file. @result An Objective-C object of type PFApplicationUIElement. */ - (PFApplicationUIElement *)initWithPath:(NSString *)path; // convenience initializer /*! @method initWithPid: @abstract The designated initializer for the PFUIApplicationElement class, for a specific application. Initializes a newly allocated PFUIApplicationElement object with its BSD Unix process identification number. @discussion Use this method or -initWithPath: to obtain the root element for a specific application; for example, to browse a specific application's user interface without regard to whether it is frontmost or where on the screen its user interface objects may be located. @param pid An integer, the running application's BSD Unix process identification number. @result An Objective-C object of type PFApplicationUIElement. */ - (PFApplicationUIElement *)initWithPid:(int)pid; // designated initializer for specific application /*! @method initSystemWide: @abstract The designated initializer for the PFUIApplicationElement class, for a system-wide element. Initializes a newly allocated PFUIApplicationElement object. @discussion Use this method to obtain the root element for the entire system, representing all running applications collectively. Use this method, for example, to obtain the element currently having systemwide focus without first determining which application is active. @result An Objective-C object of type PFApplicationUIElement. */ - (PFApplicationUIElement *)initSystemWide; // designated initializer for system #pragma mark ACCESSOR METHODS /*! @method pidNumber @abstract Accessor method that returns the BSD Unix process identification number of the receiver. @discussion It is sometimes useful to know the process identification number of an application. For example, it can be used with a variety of Carbon functions to access information not otherwise readily available in Cocoa. @result An NSNumber object encoding the integer value of the process identification number of the receiver. The returned object is autoreleased. */ - (NSNumber *)pidNumber; #pragma mark ELEMENT UTILITIES /*! @method elementAtPoint: @abstract Creates and returns a PFUIElement object representing the receiver's visible user interface object located at point on the screen. @discussion Use this method to read the screen, based, for example, on the current location of the mouse. Use the PFUIElement class method +elementAtPoint: instead of this instance method to get a PFUIElement object representing the user interface object located at point without regard to what application owns it. @param point An NSPoint struct using top-left relative screen coordinates. @result A PFUIElement object representing the visbile user interface object located at point and belonging to the application represented by the receiver, or nil if the application does not own it. The returned object is autoreleased. */ - (PFUIElement *)elementAtPoint:(NSPoint)point; /*! @method typeCharacters:keyCode:withModifierFlags: @abstract Posts keyboard events to the application represented by the receiver, whether or not it is the active application. @discussion Use this method to type one character at a time into the user control that currently has keyboard focus in the application represented by the receiver (usually a text-based control such as a text view or a text field). Specifying the Command key in flags may be treated by the application as a Command-key equivalent for a menu item or button. Use -typeCharactersSystemWide:keyCode:withModifierFlags: instead of this method to type characters into the active application. The characters and flags parameters are equivalent to those used in NSEvent's -charactersIgnoringModifiers and -modifierFlags methods. The virtualKey parameter is the virtual key code provided by NSEvent's -keyCode method; it is a hardware-independent integer value provided by system resources for every known keyboard, mapped from the hardware-dependent raw key code using the current keyboard layout resource. On Roman systems, the characters parameter is optional and should be passed as nil or an empty string unless you are knowledgeable regarding the use of keyboard layouts, but it is not optional on some other systems where it is used as a hint to supplement the virtual key code during key translation. @param characters An NSString object representing a Unicode character that can be generated by a single key press without modifier keys (Shift excepted). @param virtualKey The virtual key code provided by NSEvent's -keyCode method. @param flags An integer; either 0 for no modifier keys, or one or more of the first five key mask constants listed in NSEvent.h (combined using the C bitwise OR operator, if more than one) for modifier keys. */ - (void)typeCharacters:(NSString *)characters keyCode:(int)virtualKey withModifierFlags:(unsigned int)flags; /*! @method typeCharactersSystemWide:keyCode:withModifierFlags: @abstract Posts keyboard events to the active application. @discussion Use this method to type one character at a time into the user control that currently has keyboard focus in the active application (usually a text-based control such as a text view or a text field). Specifying the Command key in flags may be treated by the application as a Command-key equivalent for a menu item or button. Use -typeCharacters:keyCode:withModifierFlags: instead of this method to type characters into a specific application whether or not it is active. The characters and flags parameters are equivalent to those used in NSEvent's -charactersIgnoringModifiers and -modifierFlags methods. The virtualKey parameter is the virtual key code provided by NSEvent's -keyCode method; it is a hardware-independent integer value provided by system resources for every known keyboard, mapped from the hardware-dependent raw key code using the current keyboard layout resource. On Roman systems, the characters parameter is optional and should be passed as nil or an empty string unless you are knowledgeable regarding the use of keyboard layouts, but it is not optional on some other systems where it is used as a hint to supplement the virtual key code during key translation. @param characters An NSString object representing a Unicode character that can be generated by a single key press without modifier keys (Shift excepted). @param virtualKey The virtual key code provided by NSEvent's -keyCode method. @param flags An unsigned integer; either 0 for no modifier keys, or one or more of the first five key mask constants listed in NSEvent.h (combined using the C bitwise OR operator, if more than one) for modifier keys. */ - (void)typeCharactersSystemWide:(NSString *)characters keyCode:(int)virtualKey withModifierFlags:(unsigned int)flags; @end  x__TEXT__text__TEXT}__picsymbol_stub__TEXT$__picsymbolstub1__TEXT` __cstring__TEXT " __literal4__TEXT__DATA__data__DATA__dyld__DATA__la_symbol_ptr__DATA3__nl_symbol_ptr__DATAf__const__DATAh h__bss__DATA80__OBJC__cat_cls_meth__OBJC__cat_inst_meth__OBJC__string_object__OBJC__cstring_object__OBJC__message_refs__OBJC,__sel_fixup__OBJC,,__cls_refs__OBJC,0,__class__OBJC\\__meta_class__OBJC__cls_meth__OBJC||__inst_meth__OBJC4 x4__protocol__OBJC__category__OBJC__class_vars__OBJC__instance_vars__OBJC__module_info__OBJC` `__symbols__OBJC$8__LINKEDITgg d?^@executable_path/../Frameworks/PFAssistive.framework/Versions/B/PFAssistive T?uU /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa `?s׈,/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation X?uT-/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 4?pG/usr/lib/libSystem.B.dylibHi,p+< P   \***_(#)"4\ |B}|}cx=}| x=N }cxK|B}h|=kk}iN |!B<8c8@K@/A<c}N!h8!`|N |?;޼}cx!|t/@<`sy8@`csvH~@9 <_<<BX=?+ "||Ѐ`cÌ9k;<_}@&UJBTK<_BP<_BL<_8BH~E<dH~9}<<h?cÐ;H~<lH~ 8}h8!`|N |}cx8|xx!0|+x|3x|;xD@8a@H}|~y@x;P;8a@xH}Y8xxH})<<Xc|H}u|}xxH|x<|fxx\H}Qex<`H}A/@ /@x@/@D8`/A,88a@H|ix<Fx'xdH|8!л|N |A|yx!|3x= <}cx|;x8ƨ9|$Gx9 |+xHt1>|xx8U|t/@P?<ex;HcHs/A,<#xDHsဝxHs/8`@\?8^|t/A<CxLHs$%x<_<==_8B8ƨd99JGx~ɳxa8|x8A<@HsU<HsI<||x#xPHs5<|}xCxTHs!exx|dxxHqm|dy@8^|t/@`<#xexXFxHr|~y@@<<%x c Hr?;Hr<||xCxLHrxGx<_<=B$<==_9k8ƨd99J~ɳxa8|Cxa<@HrEHr=<||x#xPHr)<|}xCxTHrexx|dxxHpa|dyAH/A(/A /A<exFx8cHpm<xHq8`HH<#x8Hqx<,Hq<#xDHqx<,Hqu8U|t/@<<excHHqI/A<_?cxB;?;DxHq/<_A BHLBcxHp/@T<_cxB̃xHp/<_ABȃH$BcxHp/Ax<#xx\Fx~dzxHpu8`8!|N |<}cx|+x!|zx|3x??+?_>>>_?B~&V>>>???= /||АAt<_;ޭ܀B9k9﫰:1::s:R;:B:֦:;;{;Z;9t=Ax<_9BxBA|<_B|BA<_BBA|Ix \"|B|B#И [?;~ Hg?;Hg<_}?B;|x8<_B ~x<_B~xb<_B~gxB<_B~Hx"<_B~)x~ xHg>>}:֬|:xaHf/A@<<~88Ɲ8Hf͐a<}Hf}}Hf9~<<<88Ɲ8?Hfy; Hfm9<_}?B;~"<_B%xB<_BFxbgxHf!Hf~x}<_=?8B9k|x?t;;x|!ALaP8at8A`T(@`ѡd}"D}>@DuDHLI8>?|}xW\bHL)/A@<_xBHL /A <xx`HK/@<_@xt8ApDT`(`*ѡpt}"D}X8!P<|H>|<<}cx!8u\H>X8!P<`|H>|<<}cx!8u(H>]X8!P<|H>@|<<}cx!8t􀄂HH>X8!P<|H=|<<}cx!8tH=ՀX8!P<|H=|<<}cx!8t|H=X8!P|N |Hx8|dxxH-8CxHx|dxxH(W>88xxHxx88Hw`Ax88;8Hw`Ax88:8Hw`Ax8898Hw`Ax8888Hqw`A(h8!`x8878!|HDh8!`!|N ||@&t}cxA|;x|+x! &|3xH]8 |~xA8878Hw@&Ax8888HW-Ax8898HWo-Ax88:8HWw.Ax88;8Ha?8cx;HpW>H8x|dxxH18cxHx8|dxxH Ax88;8HAx88:8HAx8898HX Ax8888H8 Ax8878H/A$h8!`xa|}c Hh8!`a|}c N |B|3x}H|8<FH|B}h=k|4P}N |B}h=k|44}N |B}h=k|4}N |B}h=k|3}N |B}h=k|3}N |B}h=k|3}N |B}h=k|3}N |B}h=k|3}N |B}h=k|3p}N |B}h=k|3T}N |B}h=k|38}N |B}h=k|3}N |B}h=k|3}N |B}h=k|2}N |B}h=k|2}N |B}h=k|2}N |B}h=k|2}N |B}h=k|2t}N |B}h=k|2X}N |B}h=k|2<}N |B}h=k|2 }N |B}h=k|2}N |B}h=k|1}N |B}h=k|1}N |B}h=k|1}N |B}h=k|1}N |B}h=k|1x}N |B}h=k|1\}N |B}h=k|1@}N |B}h=k|1$}N |B}h=k|1}N |B}h=k|0}N |B}h=k|0}N |B}h=k|0}N |B}h=k|0}N |B}h=k|0|}N |B}h=k|0`}N |B}h=k|0D}N |B}h=k|0(}N |B}h=k|0 }N |B}h=k|/}N |B}h=k|/}N |B}h=k|/}N |B}h=k|/}N |B}h=k|/}N |B}h=k|/d}N |B}h=k|/H}N |B}h=k|/,}N |B}h=k|/}N |B}h=k|.}N |B}h=k|.}N __dyld_call_module_initializers_for_dylibPreFab PFObserver initWithPid:notificationDelegate:callbackSelector: method, error %d with pid %d.observerKeypidNumberKeyregistrationNotificationKeyregistrationElementKeyelementKeycontextInfoKeyelementInfoKeyPreFab PFObserver registerForNotification:fromElement:contextInfo: method, error %d with notification %@, element %@.PreFab PFObserver unregisterForNotification:fromElement: method, error %d with notification %@, element %@.PFObserverNSObject/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.hNSArrayNSMutableDictionaryNSFileManagerNSNumberNSMutableArrayNSValueNSDictionaryPFUIElementNSInvocationobserverRefpidNumbernotificationDelegatecallbackSelectorregistrationsactualRegistrationsArraylastNotificationprivateVarsremoveObserversForPid:observersForPid:observerWithPid:notificationDelegate:callbackSelector:observerWithPath:notificationDelegate:callbackSelector:initializeisRegisteredForNotification:fromElement:isEqualToObserver:unregisterForNotification:fromElement:registerForNotification:fromElement:contextInfo:registrationForNotification:fromElement:setLastNotification:isActuallyRegisteredForNotification:fromElement:deallocinitWithPid:notificationDelegate:callbackSelector:initWithPath:notificationDelegate:callbackSelector:arrayWithObjects:retainallocinitdefaultManagerstringWithFileSystemRepresentation:length:isEqualToString:numberWithInt:releasevalueWithPointer:dictionaryWithObjectsAndKeys:setObject:forKey:autoreleaseobjectEnumeratornextObjectobjectForKey:intValueaddObject:removeObjectForKey:isEqualToElement:copycontainsObject:elementInfoelementRefremoveObject:pointerValueinitWithElementRef:setElementInfo:methodSignatureForSelector:invocationWithMethodSignature:setTarget:setSelector:setArgument:atIndex:invoke^{__AXObserver=}@"NSNumber"@:@"NSMutableArray"@"NSString"^vv12@0:4i8@12@0:4i8@20@0:4i8@12:16@20@0:4@8@12:16v8@0:4c16@0:4@8@12c12@0:4@8v16@0:4@8@12c20@0:4@8@12^v16@16@0:4@8@12@8@0:4v12@0:4@8:8@0:4^{__AXObserver=}8@0:4AXDrawerCreatedAXSheetCreatedAXMenuClosedAXMenuItemSelectedAXMenuOpenedNSKeyBindingAXRoleAXRoleDescriptionAXSubroleAXTitlePreFab PFUIElement registerDestructionObserver method, error %d from element %@.PreFab PFUIElement unregisterDestructionObserver method, error %d for element %@.PreFab PFUIElement elementAtPoint: method, error %d.PreFab PFUIElement pid method, error %d with target %@, element %@.PreFab PFUIElement setValue:forAttribute: method, error %d with target %@, attribute %@, element %@.AXParentAXMenuPreFab PFUIElement valueForAttribute: method, error %d with target %@, attribute %@, element %@.PreFab PFUIElement valueForAttribute:parameter: method, error %d with target %@, attribute %@, parameter %@, element %@.PreFab PFUIElement valuesForAttribute:range: method, error %d with target %@, attribute %@, element %@.AXChildrenPreFab PFUIElement attributes method, error %d with target %@, element %@.PFRoleDescriptionsAXHelpAXValuepointsizerectrangeAXMinValueAXMaxValueAXEnabledAXFocusedAXSelectedChildrenAXVisibleChildrenAXWindowAXPositionAXSizeAXOrientationAXTextAXSelectedTextAXSelectedTextRangeAXMainAXMinimizedAXCloseButtonAXZoomButtonAXMinimizeButtonAXToolbarButtonAXProxyAXGrowAreaAXMenuItemCmdCharAXMenuItemCmdVirtualKeyAXMenuItemCmdGlyphAXMenuItemCmdModifiersAXMenuItemMarkCharAXMenuBarAXWindowsAXFrontmostAXHiddenAXMainWindowAXFocusedWindowAXFocusedUIElementAXHeaderAXIsEditableAXEditedAXValueIncrementAXValueWrapsAXTabsAXTitleUIElementAXHorizontalScrollBarAXVerticalScrollBarAXOverflowButtonAXFilenameAXExpandedAXSelectedAXSplittersAXNextContentsAXDocumentAXDecrementButtonAXColumnTitlesAXIncrementButtonAXPreviousContentsAXContentsAXRowsAXVisibleRowsAXSelectedRowsAXColumnsAXVisibleColumnsAXSelectedColumnsAXSortDirectionAXDisclosingAXDisclosedRowsAXDisclosedByRowAXFocusedApplicationAXDefaultButtonAXCancelButtonAXModalAXIncrementorAXHourFieldAXMinuteFieldAXSecondFieldAXAMPMFieldAXDayFieldAXMonthFieldAXYearFieldAXURLAXVisibleTextAXVisibleCharacterRangeAXNumberOfCharactersAXSharedTextUIElementsAXSharedCharacterRangeAXTextAreaAXTextFieldPreFab PFUIElement parameterizedAttributes method, error %d with target %@, element %@.AXLineForIndexAXRangeForLineAXStringForRangeAXRangeForPositionAXRangeForIndexAXBoundsForRangeAXRTFForRangeAXStyleRangeForIndexPreFab PFUIElement countForAttribute: method, error %d with target %@, attribute %@, element %@.PreFab PFUIElement isSettableAttribute: method, error %d with target %@, attribute %@, element %@.numberstringdataarrayBooleanUIElementURLunknownPFTypeDescriptionsPFAttributeDescriptionsPFSubroleDescriptionsPreFab PFUIElement actions method, error %d with target %@, element %@.PFActionDescriptionsPFActionDescriptionOverridesPreFab PFUIElement descriptionForAction: method, error no. %d with target %@, action %@, element %@.Error; about to post logPreFab PFUIElement performAction: method, error %d with target %@, action %@, element %@.PFNotificationDescriptionsPreFab PFUIElement attempted to call unimplemented method %@. Handled generically instead.PreFab PFUIElement attempted to call unimplemented method set%@. Handled generically instead.PreFab PFUIElement elementAtPoint: method, error %d with target %@, element %@.PFApplicationUIElementNSBundletypeCharactersSystemWide:keyCode:withModifierFlags:typeCharacters:keyCode:withModifierFlags:elementAtPoint:initSystemWideinitWithPid:initWithPath:destructionObserverRefisDestroyedaccessInstanceVariablesDirectlydescriptionForNotification:notificationseveryElementWithRole:inArray:firstElementWithRole:inArray:isAccessEnabledisAccessImplementedhandleTakeValue:forUnboundKey:handleQueryWithUnboundKey:performAction:descriptionForAction:existsAction:actionsdescriptionForSubrole:descriptionForAttribute:descriptionOfTypeForAttribute:typeForAttribute:objectForAttribute:parameter:objectForAttribute:setObject:forAttribute:isSettableAttribute:isParameterizedAttribute:childrenCountisRole:existsValueForAttribute:existsParameterizedAttribute:existsNonParameterizedAttribute:existsAttribute:countForAttribute:AXStyleRangeForIndex:AXRTFForRange:AXBoundsForRange:AXRangeForIndex:AXRangeForPosition:AXStringForRange:AXRangeForLine:AXLineForIndex:parameterizedAttributessetAXHidden:setAXFrontmost:setAXMinimized:setAXMain:setAXSelectedTextRange:setAXSelectedText:setAXText:setAXSize:setAXPosition:setAXFocused:setAXValue:nonParameterizedAttributesattributessetRange:forAttribute:rangeForAttribute:setRect:forAttribute:rectForAttribute:setSize:forAttribute:sizeForAttribute:setPoint:forAttribute:pointForAttribute:textRulerselementArrayWithElementArrayRef:attribute:arrayForAttribute:range:arrayForAttribute:elementForAttribute:valuesForAttribute:range:valueForAttribute:parameter:valueForAttribute:setValue:forAttribute:pathparentPathancestorspidapplicationElementactivateApplicationindexAmongLikeElementsInArray:indexInArray:isSiblingOfElement:isVisibleAtPoint:existsfindParentStartingAtElement:setIsDestroyed:unregisterDestructionObserverregisterDestructionObserveraccessibilityParameterizedAttributeNamesrespondsToSelector:arrayByAddingObjectsFromArray:suppressCapitalizedKeyWarningaccessibilityAttributeNamesarrayByAddingObject:numberWithBool:countobjectAtIndex:mutableCopyremoveObjectAtIndex:descriptionsubarrayWithRange:pointValueactivateIgnoringOtherApps:valueWithPoint:valueWithSize:sizeValuevalueWithRect:rectValuevalueWithRange:rangeValueclassbundleForClass:localizedStringForKey:value:table:takeValue:forKey:valueForKey:lengthcharacterAtIndex:v20@0:4@8i12I16@16@0:4{_NSPoint=ff}8@12@0:4@8^{__AXUIElement=}@"NSDictionary"cc8@0:4i8@0:4i12@0:4^{__CFString=}8c16@0:4@8^{__CFString=}12@12@0:4^{__CFString=}8@16@0:4^{__CFArray=}8^{__CFString=}12@20@0:4^{__CFString=}8{_NSRange=II}12^{__CFArray=}20@0:4^{__CFString=}8{_NSRange=II}12^v16@0:4^{__CFString=}8^v12^v12@0:4^{__CFString=}8c16@0:4^v8^{__CFString=}12i12@0:4@8c16@0:4{_NSPoint=ff}8^{__AXUIElement=}8@0:4v12@0:4c8@12@0:4^{__AXUIElement=}8#0?0hܐذ 8NY,w  do *eD+$ )\`ޤАXP.$ܒ~ x(Hd,c霒pldT̐nj[`ss̢ssvvlp=`@=p@=Ll4P t0L/p`-H)$(X,(P(H'X't&<&&&&4l"@<L p\D(p@84lp@  X  p 4 T \h <tHd~~h<~`}tP{ z zl yp x w w\ v vt u\utttLtsss<trhrXrpHr,<q,q$q`qpppPp ooo@ntndntTn0Lm@m,mdm lllTlkkkDkjjxhj4TiLi<ih(i$h hhXhgg8gxg4Hg fffTfpe\eDeD0e$ddx d4ccchXcTchbbtb|b8aaa|a8```(_t_h_dT_ @^t^^$^4](]]D][ZZZXxZdY \XXW hW$ÄV`8hUPÄU4dhT|ÄThSÄRPÜO$NÄM$ÄML<KX Jx<I$TH|GhFxFHEdDlDLpCpCd CBd4|AH@AHP @t`@? Ĕ?pĬ?@?ll+? X?u????@@t/AHEAfBdCCdCDLD:EdMFfFxGhH|I$JK1MLUiMNO$PR)SOTpTU4UV`W#W=XgX}Y ZZXZZ[]0]DJ]c]|^^$^^_ _d&_@_^`(t``a8a|aab8>b|eb{bccTchcc(d4Gdx^dxeeDeef*fTCf\fwg g4gxggh'hX?h[hsi$ihiij4 jx -j Mk gkD k k l lT l!l!-m !Nmd!pm!m!n0!nt!n!n"o@"5o"To"pp "pP"p"p"q#q`#'q#Dq#_r,#|rp#r#r#s<#s$s$t$7tL$^t$t$u$u\$vt%v%3w\%Tw%wx%yp%zl%z%{&}&=~&m~h&~&d&&''C'j<''\'( (1p(W(n((X(($))E)o)))p**78*[@*(*++) =e ~      8 R l  l ذ   , ܐ ޤ 8 W v (  @ @ `. pK n T ~   \    , x= .$N ` Xt h} H P  8  Y w d   *eD$ )- +$= W ci dx s s s u* sW m(y s s| p  sh/ v(K vPh v< lL l` lt uH l% tT tp l t s tD  t0 B t j t v x nj N d,   [`   (  ;  O o  EI\^                   W*2 %&DLOTY\]fghiklx WNijlcPcPcPcPcPѸcPѨcPјcPшcPxcPhcP(cPcPcPcPcPcPcPڸcPڨcPژcPڈcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPٸcP٨cP٘cPوcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPظcPبcPؘcP؈cPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcP׸cPרcPטcP׈cPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPָcP֨cP֘cPֈcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPոcPըcP՘cPՈcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPԸcPԨcPԘcPԈcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPӸcPӨcPӘcPӈcPxcPhcPXcPHcP8cP(cPcPcPcPcPcPcPҸcPҨcPҘcP҈cPxcPhcPXcPHcP8cP(cPcP36a89fBh=@?e>+$*<25;)0&".(-/g 14#,bA!%:'7`36a89fBh=@?e>+$*<25;)0&".(-/g 14#,bA!%:'7`dGEDC^OW"VS#MNKFH_TRQPXUI]\[ZLJY   W _ `    3689=>?@BCDEGacdefh  !"#$%&'()*+,-./012457:;<AFHIJKLMNOPQRSTUVWXYZ[\]^_`bg.objc_class_name_PFObserver.objc_class_name_PFUIElement.objc_class_name_PFApplicationUIElement.objc_class_name_NSArray.objc_class_name_NSBundle.objc_class_name_NSDictionary.objc_class_name_NSFileManager.objc_class_name_NSInvocation.objc_class_name_NSMutableArray.objc_class_name_NSMutableDictionary.objc_class_name_NSNumber.objc_class_name_NSObject.objc_class_name_NSValue_AXAPIEnabled_AXObserverAddNotification_AXObserverCreate_AXObserverGetRunLoopSource_AXObserverRemoveNotification_AXUIElementCopyActionDescription_AXUIElementCopyActionNames_AXUIElementCopyAttributeNames_AXUIElementCopyAttributeValue_AXUIElementCopyAttributeValues_AXUIElementCopyElementAtPosition_AXUIElementCopyParameterizedAttributeNames_AXUIElementCopyParameterizedAttributeValue_AXUIElementCreateApplication_AXUIElementCreateSystemWide_AXUIElementGetAttributeValueCount_AXUIElementGetPid_AXUIElementGetTypeID_AXUIElementIsAttributeSettable_AXUIElementPerformAction_AXUIElementPostKeyboardEvent_AXUIElementSetAttributeValue_AXValueCreate_AXValueGetType_AXValueGetValue_CFArrayGetCount_CFArrayGetTypeID_CFBooleanGetTypeID_CFEqual_CFGetTypeID_CFNumberGetTypeID_CFRelease_CFRetain_CFRunLoopAddSource_CFRunLoopGetCurrent_CFRunLoopRemoveSource_CFStringGetTypeID_CFURLGetTypeID_FSRefMakePath_Gestalt_GetNextProcess_GetProcessBundleLocation_GetProcessForPID_GetProcessPID_NSAccessibilityApplicationActivatedNotification_NSAccessibilityApplicationDeactivatedNotification_NSAccessibilityApplicationHiddenNotification_NSAccessibilityApplicationRole_NSAccessibilityApplicationShownNotification_NSAccessibilityChildrenAttribute_NSAccessibilityFocusedUIElementChangedNotification_NSAccessibilityFocusedWindowChangedNotification_NSAccessibilityFrontmostAttribute_NSAccessibilityMainWindowChangedNotification_NSAccessibilityMenuBarRole_NSAccessibilityMenuItemRole_NSAccessibilityMenuRole_NSAccessibilityRoleAttribute_NSAccessibilityRoleDescriptionAttribute_NSAccessibilitySubroleAttribute_NSAccessibilityTextAreaRole_NSAccessibilityTitleAttribute_NSAccessibilityUIElementDestroyedNotification_NSAccessibilityUnknownRole_NSAccessibilityValueAttribute_NSAccessibilityValueChangedNotification_NSAccessibilityWindowCreatedNotification_NSAccessibilityWindowDeminiaturizedNotification_NSAccessibilityWindowMiniaturizedNotification_NSAccessibilityWindowMovedNotification_NSAccessibilityWindowResizedNotification_NSAccessibilityWindowRole_NSApp_NSClassFromString_NSLog_SetFrontProcess___CFConstantStringClassReference_kCFRunLoopCommonModes_objc_msgSend_objc_msgSendSuper_objc_msgSend_stret_strlensingle moduledyld_lazy_symbol_binding_entry_pointdyld__mh_dylib_headerdyld_func_lookup_pointer___initialize_Cplusplus__dyld_func_lookupcfm_stub_binding_helperdyld_stub_binding_helper_versionUnregisterBugFixed_versionDoubleNotifyBugFixed_initialized.0+[PFObserver initialize]_isFixedDoubleNotifyBug_doubledNotifications_isFixedUnregisterBug_observersDictionary-[PFObserver initWithPath:notificationDelegate:callbackSelector:]-[PFObserver initWithPid:notificationDelegate:callbackSelector:]-[PFObserver dealloc]+[PFObserver observerWithPath:notificationDelegate:callbackSelector:]+[PFObserver observerWithPid:notificationDelegate:callbackSelector:]+[PFObserver observersForPid:]+[PFObserver removeObserversForPid:]-[PFObserver observerRef]-[PFObserver notificationDelegate]-[PFObserver callbackSelector]-[PFObserver actualRegistrationsArray]-[PFObserver isActuallyRegisteredForNotification:fromElement:]-[PFObserver lastNotification]-[PFObserver setLastNotification:]-[PFObserver pidNumber]-[PFObserver registrations]-[PFObserver registrationForNotification:fromElement:]-[PFObserver registerForNotification:fromElement:contextInfo:]-[PFObserver unregisterForNotification:fromElement:]-[PFObserver isEqualToObserver:]-[PFObserver isRegisteredForNotification:fromElement:]_callbackFunction_versionValuesBugFixed_versionValueCountBugFixed_versionTextRulerBugFixed_versionMenuParentBugFixed_versionMenuActionBugFixed_versionTypingBugFixed_versionCapWarningBugFixed_versionMenuBarSizeBugFixed_version9874BugFixed_versionRoleDescriptionBugFixed_versionActionDescriptionBugFixed_versionDestroyedNotificationBugFixed_versionFrontmostBugFixed_versionMenuBarChildrenBugFixed_initialized.0+[PFUIElement initialize]_isFixedValuesBug_isFixedValueCountBug_isFixedTextRulerBug_isFixedMenuParentBug_isFixedMenuActionBug_isFixedTypingBug_isFixedMenuBarSizeBug_isFixed9874Bug_isFixedRoleDescriptionBug_isFixedActionDescriptionBug_isFixedDestroyedNotificationBug_isFixedFrontmostBug_isFixedMenuBarChildrenBug_isFixedCapWarningBug_applicationNotificationsArray_windowNotificationsArray_menuNotificationsArray_elementNotificationsArray_allNotificationsArray-[PFUIElement init]-[PFUIElement initWithElementRef:]-[PFUIElement dealloc]-[PFUIElement registerDestructionObserver]-[PFUIElement unregisterDestructionObserver]+[PFUIElement isAccessImplemented]+[PFUIElement isAccessEnabled]+[PFUIElement elementAtPoint:]+[PFUIElement firstElementWithRole:inArray:]+[PFUIElement everyElementWithRole:inArray:]+[PFUIElement notifications]-[PFUIElement isDestroyed]-[PFUIElement setIsDestroyed:]-[PFUIElement elementRef]-[PFUIElement elementInfo]-[PFUIElement setElementInfo:]-[PFUIElement findParentStartingAtElement:]-[PFUIElement exists]-[PFUIElement isVisibleAtPoint:]-[PFUIElement isEqualToElement:]-[PFUIElement isSiblingOfElement:]-[PFUIElement indexInArray:]-[PFUIElement indexAmongLikeElementsInArray:]-[PFUIElement activateApplication]-[PFUIElement applicationElement]-[PFUIElement pid]-[PFUIElement ancestors]-[PFUIElement parentPath]-[PFUIElement path]-[PFUIElement setValue:forAttribute:]-[PFUIElement valueForAttribute:]-[PFUIElement valueForAttribute:parameter:]-[PFUIElement valuesForAttribute:range:]-[PFUIElement elementForAttribute:]_doFindTextRulers.1-[PFUIElement arrayForAttribute:]-[PFUIElement arrayForAttribute:range:]-[PFUIElement elementArrayWithElementArrayRef:attribute:]-[PFUIElement textRulers]-[PFUIElement pointForAttribute:]-[PFUIElement setPoint:forAttribute:]-[PFUIElement sizeForAttribute:]-[PFUIElement setSize:forAttribute:]-[PFUIElement rectForAttribute:]-[PFUIElement setRect:forAttribute:]-[PFUIElement rangeForAttribute:]-[PFUIElement setRange:forAttribute:]-[PFUIElement attributes]-[PFUIElement nonParameterizedAttributes]-[PFUIElement AXRole]-[PFUIElement AXRoleDescription]-[PFUIElement AXSubrole]-[PFUIElement AXHelp]-[PFUIElement AXTitle]-[PFUIElement AXValue]-[PFUIElement setAXValue:]-[PFUIElement AXMinValue]-[PFUIElement AXMaxValue]-[PFUIElement AXEnabled]-[PFUIElement AXFocused]-[PFUIElement setAXFocused:]-[PFUIElement AXParent]-[PFUIElement AXChildren]-[PFUIElement AXSelectedChildren]-[PFUIElement AXVisibleChildren]-[PFUIElement AXWindow]-[PFUIElement AXPosition]-[PFUIElement setAXPosition:]-[PFUIElement AXSize]-[PFUIElement setAXSize:]-[PFUIElement AXOrientation]-[PFUIElement AXText]-[PFUIElement setAXText:]-[PFUIElement AXSelectedText]-[PFUIElement setAXSelectedText:]-[PFUIElement AXSelectedTextRange]-[PFUIElement setAXSelectedTextRange:]-[PFUIElement AXMain]-[PFUIElement setAXMain:]-[PFUIElement AXMinimized]-[PFUIElement setAXMinimized:]-[PFUIElement AXCloseButton]-[PFUIElement AXZoomButton]-[PFUIElement AXMinimizeButton]-[PFUIElement AXToolbarButton]-[PFUIElement AXProxy]-[PFUIElement AXGrowArea]-[PFUIElement AXMenuItemCmdChar]-[PFUIElement AXMenuItemCmdVirtualKey]-[PFUIElement AXMenuItemCmdGlyph]-[PFUIElement AXMenuItemCmdModifiers]-[PFUIElement AXMenuItemMarkChar]-[PFUIElement AXMenuBar]-[PFUIElement AXWindows]-[PFUIElement AXFrontmost]-[PFUIElement setAXFrontmost:]-[PFUIElement AXHidden]-[PFUIElement setAXHidden:]-[PFUIElement AXMainWindow]-[PFUIElement AXFocusedWindow]-[PFUIElement AXFocusedUIElement]-[PFUIElement AXHeader]-[PFUIElement AXIsEditable]-[PFUIElement AXEdited]-[PFUIElement AXValueIncrement]-[PFUIElement AXValueWraps]-[PFUIElement AXTabs]-[PFUIElement AXTitleUIElement]-[PFUIElement AXHorizontalScrollBar]-[PFUIElement AXVerticalScrollBar]-[PFUIElement AXOverflowButton]-[PFUIElement AXFilename]-[PFUIElement AXExpanded]-[PFUIElement AXSelected]-[PFUIElement AXSplitters]-[PFUIElement AXNextContents]-[PFUIElement AXDocument]-[PFUIElement AXDecrementButton]-[PFUIElement AXColumnTitles]-[PFUIElement AXIncrementButton]-[PFUIElement AXPreviousContents]-[PFUIElement AXContents]-[PFUIElement AXRows]-[PFUIElement AXVisibleRows]-[PFUIElement AXSelectedRows]-[PFUIElement AXColumns]-[PFUIElement AXVisibleColumns]-[PFUIElement AXSelectedColumns]-[PFUIElement AXSortDirection]-[PFUIElement AXDisclosing]-[PFUIElement AXDisclosedRows]-[PFUIElement AXDisclosedByRow]-[PFUIElement AXFocusedApplication]-[PFUIElement AXDefaultButton]-[PFUIElement AXCancelButton]-[PFUIElement AXModal]-[PFUIElement AXIncrementor]-[PFUIElement AXHourField]-[PFUIElement AXMinuteField]-[PFUIElement AXSecondField]-[PFUIElement AXAMPMField]-[PFUIElement AXDayField]-[PFUIElement AXMonthField]-[PFUIElement AXYearField]-[PFUIElement AXURL]-[PFUIElement AXVisibleText]-[PFUIElement AXVisibleCharacterRange]-[PFUIElement AXNumberOfCharacters]-[PFUIElement AXSharedTextUIElements]-[PFUIElement AXSharedCharacterRange]-[PFUIElement parameterizedAttributes]-[PFUIElement AXLineForIndex:]-[PFUIElement AXRangeForLine:]-[PFUIElement AXStringForRange:]-[PFUIElement AXRangeForPosition:]-[PFUIElement AXRangeForIndex:]-[PFUIElement AXBoundsForRange:]-[PFUIElement AXRTFForRange:]-[PFUIElement AXStyleRangeForIndex:]-[PFUIElement countForAttribute:]-[PFUIElement existsAttribute:]-[PFUIElement existsNonParameterizedAttribute:]-[PFUIElement existsParameterizedAttribute:]-[PFUIElement existsValueForAttribute:]-[PFUIElement isRole:]-[PFUIElement childrenCount]-[PFUIElement isParameterizedAttribute:]-[PFUIElement isSettableAttribute:]-[PFUIElement setObject:forAttribute:]-[PFUIElement objectForAttribute:]-[PFUIElement objectForAttribute:parameter:]-[PFUIElement typeForAttribute:]-[PFUIElement descriptionOfTypeForAttribute:]-[PFUIElement descriptionForAttribute:]-[PFUIElement descriptionForSubrole:]-[PFUIElement actions]-[PFUIElement existsAction:]-[PFUIElement descriptionForAction:]-[PFUIElement performAction:]-[PFUIElement notifications]+[PFUIElement descriptionForNotification:]+[PFUIElement accessInstanceVariablesDirectly]-[PFUIElement handleQueryWithUnboundKey:]-[PFUIElement handleTakeValue:forUnboundKey:]-[PFApplicationUIElement initWithPath:]-[PFApplicationUIElement initWithPid:]-[PFApplicationUIElement initSystemWide]-[PFApplicationUIElement dealloc]-[PFApplicationUIElement pidNumber]-[PFApplicationUIElement elementAtPoint:]-[PFApplicationUIElement typeCharacters:keyCode:withModifierFlags:]-[PFApplicationUIElement typeCharactersSystemWide:keyCode:withModifierFlags:]_callbackFunction__mh_dylib_headerBud1 -PFAssInfo-PFAssistive.plistIlocblob Info.plistIlocblobJapanese.lprojIlocblobJapanese.lprojfwi0blobo qicnvJapanese.lprojfwswlongJapanese.lprojfwvhshorJapanese.lprojicspblob  @ @ @ @ E DSDB ` @ @ @ CFBundleDevelopmentRegion Japanese CFBundleExecutable PFAssistive CFBundleGetInfoString PFAssistive Framework 1.2J, Copyright © 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. CFBundleIconFile CFBundleIdentifier com.prefab.framework.PFAssistive CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType FMWK CFBundleShortVersionString 1.2J CFBundleSignature ???? CFBundleVersion 14 NSPrincipalClass CFBundleDevelopmentRegion Japanese CFBundleExecutable PFAssistive CFBundleGetInfoString PFAssistive Framework 1.2J, Copyright © 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. CFBundleIconFile CFBundleIdentifier com.prefab.framework.PFAssistive CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType FMWK CFBundleShortVersionString 1.2J CFBundleSignature ???? CFBundleVersion 14 NSPrincipalClass Bud1  Plist. InfoPlist.stringsIlocbloba$PFActionDescriptionOverrides.stringsIlocblobPFActionDescriptions.stringsIlocblobPFAttributeDescriptions.stringsIlocblob_V"PFNotificationDescriptions.stringsIlocblobVPFRoleDescriptions.stringsIlocblobVPFSubroleDescriptions.stringsIlocblob_PFTypeDescriptions.stringsIlocblob Read Me.rtfIlocblob  @ @ @ @ E DSDB ` @ @ @/* Localized versions of Info.plist keys */ CFBundleName = "PFAssistive"; CFBundleShortVersionString = "PFAssistive version 1.J2"; CFBundleGetInfoString = "PFAssistive 1.2J, Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc."; NSHumanReadableCopyright = "Copyright 2003--2004 PreFab Software, Inc.\nand Bill Cheeseman\nand The ForeSight Inc. All rights reserved."; /* PFActionDescriptionOverrides.strings UI Browser */ /* This file contains action description overrides for Mac OS X 10.3.0 Panther. See PFActionDescriptions.strings for information. */ /* accessibility action description overrides */ "AXRaise" = "raise"; /* PFActionDescriptions.strings UI Browser */ /* This file is based on Apple's ActionDescriptions.strings resource in the HIServices subframework of the ApplicationServices framework. These key-value pairs are used to provide localizable human-readable descriptions for actions implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* Localized action descriptions are normally obtained by calling the accessibility API's AXUIElementCopyActionDescription function, which gets them from Apple's ActionDescriptions.strings resource. However, in Mac OS X 10.2.x, that resource contains obsolete keys and therefore returns a key instead of a value in some cases. The PFAccessibility framework therefore uses this PFActionDescriptions.strings file to provide correct descriptions in Mac OS X 10.2.x. This bug was fixed in Mac OS X 10.3 Panther, so this file will be bypassed when running under Panther. However, Panther introduced its own bug, where the AXRaise action was left out of ActionDescriptions.strings. For Panther, we introduce a new mechanism, using a PFActionDescriptionOverrides.strings file to override unwanted key-value pairs in Apple's file and to supply missing key-value pairs. In all other cases, Apple's file will be used, thus ensuring the best ongoing compliance with Apple's terminology. With every new release of Mac OS X, the override file will be checked for compatibility with any changes to Apple's ActionDescriptions.strings file. Eventually, the PFAccessibility framework may use Apple's ActionDescriptions.strings resource or call AXUIElementCopyActionDescription directly without exception. */ /* This file is localizable. Localizers should copy the localizations in Apple's localized ActionDescriptions.strings files (if available and correct). */ /* accessibility action description */ "AXAccept" = "accept"; /* added 1.2b2 */ "AXCancel" = "cancel"; "AXCancelMenuTracking" = "cancels menu tracking"; "AXConfirm" = "confirm"; "AXDecrement" = "decrement"; "AXIncrement" = "increment"; "AXPick" = "pick"; "AXPickMenuItem" = "selects a menu item"; "AXPress" = "press"; /* revised 1.2b2 to show "press" as primary accessibility term */ "AXRaise" = "raise"; /* added 1.2b2 */ /* PFAttributeDescriptions.strings UI Browser Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /* These key-value pairs are used to provide localizable human-readable descriptions for attributes implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* This file is localizable. The HIServices subframework of the ApplicationServices framework does not contain a comparable AttributeDescriptions.strings resource, so localizers must provide their own localizations. These attributes are derived from Apple's AXConstants.h and NSAccessibility.h header files. */ /* accessibility attribute description */ "AXAMPMField" = "AM/PM field"; /* added 1.2b2 */ "AXApplication" = "application"; "AXBoundsForRange" = "bounds for character range"; /* parameterized attribute added 1.2b2 */ "AXCancelButton" = "cancel button"; /* added 1.2b2 */ "AXChildren" = "children"; "AXClearButton" = "search clear button"; /* added 1.2b2 */ "AXCloseButton" = "close button"; "AXColumns" = "columns"; "AXColumnTitles" = "column titles"; "AXContents" = "contents"; "AXDayField" = "day field"; /* added 1.2b2 */ "AXDecrementButton" = "decrement button"; "AXDefaultButton" = "default button"; /* added 1.2b2 */ "AXDisclosedByRow" = "disclosed by row"; /* changed to "disclosed by row" 1.2b2 */ "AXDisclosedRows" = "disclosed rows"; "AXDisclosing" = "disclosing"; "AXDocument" = "document"; "AXEdited" = "edited"; "AXEnabled" = "enabled"; "AXExpanded" = "expanded"; "AXFilename" = "file name"; "AXFocused" = "focused"; "AXFocusedApplication" = "focused application"; "AXFocusedUIElement" = "focused UI element"; "AXFocusedWindow" = "focused window"; "AXFrontmost" = "frontmost"; "AXGrowArea" = "grow area"; "AXHeader" = "header"; "AXHeight" = "height"; /* obsolete but still used in TextEdit until Mac OS X 10.3*/ "AXHelp" = "help"; "AXHidden" = "hidden"; "AXHorizontalScrollBar" = "horizontal scroll bar"; "AXHourField" = "hour field"; /* added 1.2b2 */ "AXIncrementButton" = "increment button"; "AXIncrementor" = "incrementor"; /* added 1.2b2 */ "AXIsEditable" = "editable"; "AXLineForIndex" = "line index for character index"; /* parameterized attribute added 1.2b2 */ "AXMain" = "main"; "AXMainWindow" = "main window"; "AXMaxValue" = "maximum value"; /* added " value" 1.2b2 to match AppleScript usage */ "AXMenuBar" = "menu bar"; "AXMenuItemCmdChar" = "menu item command character"; "AXMenuItemCmdVirtualKey" = "menu item command key"; "AXMenuItemCmdGlyph" = "menu item command glyph"; "AXMenuItemCmdModifiers" = "menu item command modifiers"; "AXMenuItemMarkChar" = "menu item mark character"; "AXMinimized" = "minimized"; /* removed " window" 1.2b2 */ "AXMinimizeButton" = "minimize button"; "AXMinuteField" = "minute field"; /* added 1.2b2 */ "AXMinValue" = "minimum value"; /* added " value" 1.2b2 to match AppleScript usage */ "AXModal" = "modal"; /* added 1.2b2 */ "AXMonthField" = "month field"; /* added 1.2b2 */ "AXNextContents" = "next contents"; "AXNumberOfCharacters" = "number of characters"; /* added 1.2b2 */ "AXOrientation" = "orientation"; "AXOverflowButton" = "overflow button"; "AXParent" = "parent"; "AXPosition" = "position"; "AXPreviousContents" = "previous contents"; "AXProxy" = "proxy icon"; "AXRangeForIndex" = "character range for glyph at character index"; /* parameterized attribute added 1.2b2 */ "AXRangeForLine" = "character range for line index"; /* parameterized attribute added 1.2b2 */ "AXRangeForPosition" = "character range for glyph at position"; /* parameterized attribute added 1.2b2 */ "AXRole" = "role"; "AXRoleDescription" = "description"; "AXRows" = "rows"; "AXRTFForRange" = "RTF data for character range"; /* parameterized attribute added 1.2b2 */ "AXSearchButton" = "search button"; /* added 1.2b2 */ "AXSearchMenu" = "search menu"; /* added 1.2b2 */ "AXSecondField" = "second field"; /* added 1.2b2 */ "AXSelected" = "selected"; "AXSelectedChildren" = "selected children"; "AXSelectedColumns" = "selected columns"; "AXSelectedRows" = "selected rows"; "AXSelectedText" = "selected text"; "AXSelectedTextRange" = "selected text range"; "AXSharedCharacterRange" = "character range in element"; /* added 1.2b2 */ "AXSharedTextUIElements" = "elements sharing text"; /* added 1.2b2 */ "AXSize" = "size"; "AXSortDirection" = "sort direction"; "AXSplitters" = "splitters"; "AXStringForRange" = "substring for character range"; /* parameterized attribute added 1.2b2 */ "AXStyleRangeForIndex" = "style range for character index"; /* parameterized attribute added 1.2b2 */ "AXSubrole" = "subrole"; "AXTabs" = "tabs"; "AXText" = "text"; "AXTitle" = "title"; "AXTitleUIElement" = "title UI element"; "AXToolbarButton" = "toolbar button"; /* removed space 1.2b2 */ "AXURL" = "URL"; /* added 1.2b2 */ "AXValue" = "value"; "AXValueIncrement" = "value increment"; "AXValueWraps" = "value wraps"; "AXVerticalScrollBar" = "vertical scroll bar"; "AXVisibleCharacterRange" = "character range for visible lines"; /* added 1.2b2 */ "AXVisibleChildren" = "visible children"; "AXVisibleColumns" = "visible columns"; "AXVisibleRows" = "visible rows"; "AXVisibleText" = "visible text"; /* added 1.2b2 */ "AXWidth" = "width"; /* obsolete but still used by TextEdit until Mac OS X 10.3 */ "AXWindow" = "window"; "AXWindows" = "windows"; "AXYearField" = "year field"; /* added 1.2b2 */ "AXZoomButton" = "zoom button"; /* PFNotificationDescriptions.strings UI Browser Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /* These key-value pairs are used to provide localizable human-readable descriptions for notifications implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* This file is localizable. The HIServices subframework of the ApplicationServices framework does not contain a comparable NotificationDescriptions.strings resource, so localizers must provide their own localizations. */ /* accessibility notification description */ "AXApplicationActivated" = "application activated"; "AXApplicationDeactivated" = "application deactivated"; "AXApplicationHidden" = "application hidden"; "AXApplicationShown" = "application shown"; "AXDrawerCreated" = "drawer created"; /* added 1.2b2 */ "AXFocusedUIElementChanged" = "focused UI element changed"; "AXFocusedWindowChanged" = "focused window changed"; "AXMainWindowChanged" = "main window changed"; "AXMenuClosed" = "menu closed"; "AXMenuItemSelected" = "menu item selected"; "AXMenuOpened" = "menu opened"; "AXSheetCreated" = "sheet created"; /* added 1.2b2 */ "AXUIElementDestroyed" = "UI element destroyed"; "AXValueChanged" = "value changed"; "AXWindowCreated" = "window created"; "AXWindowDeminiaturized" = "window deminiaturized"; "AXWindowMiniaturized" = "window miniaturized"; "AXWindowMoved" = "window moved"; "AXWindowResized" = "window resized"; /* PFRoleDescriptions.strings UI Browser */ /* This file is based on Apple's RoleDescriptions.strings resource in the HIServices subframework of the ApplicationServices framework. These key-value pairs are used to provide localizable human-readable descriptions for element roles implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* Localized role descriptions are normally obtained by calling the accessibility API's AXUIElementCopyAttributeValue function with the kAXRoleDescriptionAttribute constant, which gets them from Apple's RoleDescriptions.strings resource. However, in Mac OS X 10.2.x, that resource contains obsolete keys and therefore returns a key instead of a value in some cases. The PFAccessibility framework therefore uses this PFRoleDescriptions.strings file to provide correct descriptions. With every new release of Mac OS X, this file will be checked for compatibility with any changes to Apple's RoleDescriptions.strings file. Eventually, the PFAccessibility framework may use Apple's RoleDescriptions.strings resource or call AXUIElementCopyAttributeDescription directly. */ /* This file is localizable. Localizers should copy the localizations in Apple's localized RoleDescriptions.strings files (if available and correct) in order to maximize consistency. There are some deliberate departures from Apple's terminology here, in the interest of readability (e.g., we use "UI element" for "unknown", and we always use "UI element" instead of "element"). This file includes at the end items in Apple's files marked as possibly obsolete. */ /* accessibility role description */ "AXApplication" = "application"; "AXBrowser" = "browser"; "AXBusyIndicator" = "busy indicator"; "AXButton" = "button"; "AXCheckBox" = "check box"; "AXColorWell" = "color well"; "AXColumn" = "column"; "AXComboBox" = "combo box"; "AXDateField" = "date field"; /* added 1.2b2 */ "AXDrawer" = "drawer"; "AXGroup" = "group"; "AXGrowArea" = "grow area"; "AXImage" = "image"; "AXIncrementor" = "incrementor"; "AXList" = "list"; "AXMenu" = "menu"; "AXMenuBar" = "menu bar"; "AXMenuBarItem" = "menu bar item"; /* added 1.2b4 */ "AXMenuButton" = "menu button"; "AXMenuItem" = "menu item"; "AXOutline" = "outline"; "AXOutlineCell" = "outline cell"; /* added 1.2b2 */ "AXOutlineHeaderButton" = "outline header button"; /* added 1.2b2 */ "AXPopUpButton" = "pop up button"; "AXProgressIndicator" = "progress indicator"; "AXPullDownButton" = "pull down button"; /* added 1.2b2 */ "AXRadioButton" = "radio button"; "AXRadioGroup" = "radio group"; "AXRelevanceIndicator" = "relevance indicator"; "AXRow" = "row"; "AXScrollArea" = "scroll area"; "AXScrollBar" = "scroll bar"; "AXSecureTextField" = "secure text field"; /* added 1.2b2 */ "AXSheet" = "sheet"; "AXSlider" = "slider"; "AXSplitter" = "splitter"; "AXSplitGroup" = "split group"; /* changed "splitter" to "split" 1.2b2 */ "AXStaticText" = "text"; /* removed "static " 1.2b2 */ "AXSystemWide" = "system wide element"; /* removed "GUI " 1.2b10 */ "AXTabGroup" = "tab group"; "AXTable" = "table"; "AXTextArea" = "text entry area"; /* added "entry " 1.2b2 */ "AXTextField" = "text field"; "AXTimeField" = "time field"; /* added 1.2b2 */ "AXToolbar" = "toolbar"; /* removed space 1.2b2 */ "AXToolbarDefaultItems" = "toolbar default items"; /* added 1.2b2 */ "AXUIElement" = "UI element"; "AXUnknown" = "UI element"; "AXValueIndicator" = "value indicator"; "AXWindow" = "window"; /* Marked by Apple as possibly obsolete: */ "AXCell" = "cell"; "AXPushButton" = "push button"; "AXMatrix" = "matrix"; "AXTabView" = "tab view"; "AXTextView" = "text view"; "AXScrollView" = "scroll view"; "AXTableHeaderView" = "table header view"; "AXTableView" = "table view"; "AXView" = "view"; "AXTablessTabView" = "tabless tab view"; "AXControl" = "control"; "AXForm" = "form"; "AXRadioCluster" = "radio cluster"; "AXScroller" = "scroll bar"; "AXIndicator" = "indicator"; "AXText" = "text"; "AXUnknownButton" = "unknown button"; "AXTitledTextField" = "titled text field"; "AXMenuTitle" = "menu title"; "AXTableColumn" = "table column"; "AXToolbarIcon" = "toolbar icon"; "AXToolbarOverflowPullDownButton" = "toolbar overflow pull down menu"; "AXToolbarItemPullDownButton" = "toolbar item pull down menu"; "AXToolbarItemButton" = "toolbar item button"; "AXToolbarItemTitle" = "toolbar item title"; "AXToolbarItem" = "toolbar item"; "AXBox" = "box"; "AXTab" = "tab"; "AXWindowTitle" = "window title"; "AXCloseBox" = "close box"; "AXMinimizeBox" = "minimize box"; "AXZoomBox" = "zoom box"; "AXGrowBox" = "grow box"; "AXToolbarBox" = "toolbar button"; "AXUnknownBox" = "unknown box"; "AXOutlineHeader" = "outline header"; "AXOutlineRow" = "outline row"; "AXStepperRole" = "stepper"; /* PFSubroleDescriptions.strings UI Browser Copyright 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /* These key-value pairs are used to provide localizable human-readable descriptions for subroles implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* This file is localizable. The HIServices subframework of the ApplicationServices framework does not contain a comparable SubroleDescriptions.strings resource, so localizers must provide their own localizations. */ /* accessibility subrole description */ "AXCloseButton" = "close button"; "AXDecrementArrow" = "decrement arrow"; "AXDecrementPage" = "decrement page"; "AXDialog" = "dialog"; "AXFloatingWindow" = "floating window"; "AXIncrementArrow" = "increment arrow"; "AXIncrementPage" = "increment page"; "AXSecureTextField" = "secure text field"; "AXMinimizeButton" = "minimize button"; "AXOutlineRole" = "outline role"; "AXStandardWindow" = "standard window"; "AXSystemDialog" = "system dialog"; "AXSystemFloatingWindow" = "system floating window"; "AXTableRow" = "table row"; "AXToolbarButton" = "toolbar button"; "AXUnknown" = "unknown"; "AXZoomButton" = "zoom button";/* PFTypeDescriptions.strings UI Browser Copyright 2003 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved. */ /* These key-value pairs are used to provide localizable human-readable descriptions for data types implemented in the accessibility API. This file should be used only for localizable human-readable descriptions in a client application's GUI; it should not be used to provide AppleScript terminology. */ /* This file is localizable. The HIServices subframework of the ApplicationServices framework does not contain a comparable TypeDescriptions.strings resource, so localizers must provide their own localizations. */ /* IMPORTANT NOTE FOR LOCALIZERS: The values in localized versions of this file must also be used as the identifiers for the MainMenu.nib file's AttributesDrawerContentView tab view items. */ /* accessibility type description */ "point" = "point"; "size" = "size"; "rect" = "rect"; "range" = "range"; "string" = "string"; "number" = "number"; "array" = "array"; "Boolean" = "Boolean"; "UIElement" = "UIElement"; "unknown" = "unknown"; "data" = "data"; /* added 1.2b2 */ "URL" = "URL"; /* added 1.2b11 */ {\rtf1\mac\ansicpg10001\cocoartf102 {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fswiss\fcharset77 Helvetica-BoldOblique; \f3\fmodern\fcharset77 Courier;} {\colortbl;\red255\green255\blue255;} \vieww9660\viewh10500\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f0\b\fs48 \cf0 Read Me \fs28 \ PreFab PFAssistive Framework \fs24 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \fs26 \cf0 Version 1.2J\ October 2003 [DRAFT, not updated for Xcode]\ \f1\b0\fs22 \ \pard\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\tx14880\tx15360\tx15840\tx16320\tx16800\tx17280\tx17760\tx18240\tx18723\tx19203\tx19683\tx20163\tx20643\tx21123\tx21603\tx22083\tx22563\tx23043\tx23523\tx24003\tx24483\tx24963\tx25443\tx25923\tx26403\tx26883\tx27363\tx27843\tx28323\tx28803\tx29283\tx29763\tx30243\tx30725\tx31205\tx31685\tx32165\tx32645\tx33125\tx33605\tx34085\tx34565\tx35045\tx35525\tx36005\tx36485\tx36966\tx37446\tx37926\tx38406\tx38886\tx39366\tx39846\tx40326\tx40806\tx41286\tx41766\tx42246\tx42726\tx43207\tx43687\tx44167\tx44647\tx45127\tx45607\tx46087\tx46567\tx47047\tx47527\tx48007\li1\fi-1\ql\qnatural \cf0 \CocoaLigature0 Copyright \'a9 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. All rights reserved.\CocoaLigature1 \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \fs24 \cf0 \ PreFab PFAssistive Framework is a Cocoa framework for Apple's accessibility API.\ \ The framework is designed to enable Cocoa developers to write assistive applications using familiar Cocoa techniques without having to learn the intracacies of writing to the accessibility API. It includes all of the new accessibility API features added in Mac OS X 10.3 "Panther." The framework also incorporates workarounds for a number of bugs in the Mac OS X 10.2.x implementation of the accessibility API, enabling assistive applications to work more reliably as far back as Mac OS X 10.2.0.\ \ For an example of an assistive application that uses the PreFab PFAssistive Framework as its engine, download a free 30-day trial version of GUI ScriptGenerator at www.fsight.co.jp/products/guiscriptgenerator/. GUI ScriptGenerator is, among other things, a developer's tool to test the correctness and functionality of any application's implementation of the accessibility API. We recommend that users of the PreFab PFAssistive Framework also purchase a license to GUI ScriptGenerator.\ \ \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural \f2\i\b \cf0 About the Accessibility API \f1\i0\b0 \ \ The accessibility API was introduced in Mac OS X 10.2 Jaguar and is installed by default in the System folder on every Macintosh computer running Mac OS X 10.2 or newer.\ \ The API gives assistive applications the ability to read and manipulate the graphical user interface (GUI) of all applications that use the standard Carbon or Cocoa frameworks for UI elements or that implement accessibility in custom UI element code. The API was introduced so that Macintosh applications can be written to comply with Section 508 of the federal Workforce Investment Act of 1998 and its requirements regarding access to information technology for persons with disabilities. Assistive applications allow the use of special hardware for computer input and output, such as screen readers and alternatives to the mouse and keyboard, to enable persons with disabilities to take full advantage of accessible applications. In addition, the API can be used to write any application that needs to query and control the user interface of another application or to receive notification of changes to its user interface. GUI ScriptGenerator, http://www.fsight.co.jp/products/guiscriptgenerator/, is an example of such an application.\ \ The accessibility API headers are located in the HIServices subframework of the ApplicationServices framework in /System/Library/Frameworks. The "Accessibility Reference for Assistive Applications" is found on your computer at /Developer/Documentation/ReleaseNotes/AssistiveAPI.html. Be sure to read the Accessibility Reference, as well as the PreFab PFAssitive Framework documentation described below, before attempting to write an assistive application using the PFAssistive framework.\ \ Documentation on the accessibility API generally and for making custom UI elements accessible in Carbon applications is found on your computer at /Developer/Documentation/Carbon/Conceptual/MakingAppsAccessible. Information about implementing accessibility in Cocoa applications is found on your computer at /Developer/Documentation/Cocoa/Accessibility.\ \ \f2\i\b PFAssistive Framework documentation \f1\i0\b0 \ \ The PreFab PFAssistive Framework is fully documented in the Documentation subfolder of the framework bundle. The documentation consists of HTML files in standard HeaderDoc format.\ \ \f2\i\b PFAssistive Framework Installation \f1\i0\b0 \ \ The PreFab PFAssistive Framework binary is provided as a folder named PFAssistive.framework. Like all frameworks, it is a bundle with its bundle bit cleared in order to permit easy navigation into its subfolders where, for example, its header files and documentation are located.\ \ The easiest way to install the framework on a development machine for use in developing an application is to drag it into /Library/Frameworks or ~/Library/Frameworks, where standard Xcode search paths will find it.\ \ \f2\i\b Using PFAssistive Framework \f1\i0\b0 \ \ Once PreFab PFAssistive Framework is installed, you can write an application using its methods and data structures according to standard Cocoa techniques. Just import the framework's PFAssistive.h header (or the PFUIElement.h and PFObserver.h headers, separately) in your code.\ \ The following setup is required for any application that uses PFAssistive.framework:\ \ 1. In your application project, choose Project > Add Frameworks to add the HIServices subframework of the ApplicationServices framework in /System/Library/Frameworks. In the Groups & Files pane, move it into the Other Frameworks subgroup of the External Frameworks and Libraries group, and do NOT check the checkbox that would include it in the target. (In Xcode, use the Groups & Files contextual menu to show the Target Membership checkboxes.) The application target's Search Paths pane will automatically include the path to the ApplicationServices subframeworks.\ \ 2. If your application uses any other non-Apple frameworks and you have access to those frameworks' source, build them with a preferred first segment load address that does not overlap that of the PFAssistive framework. The PFAssistive Framework was built with a preferred first segment load address of 0x10000000, to avoid conflict with the load address of any application using it (0x00000000). This is done to enable prebinding to work for faster application launch. To enable prebinding to work if your application uses any other frameworks, they must have been built with a preferred first segment load address that does not overlap the application's or PFAssistive.framework's load address. If you have no control over the load address of another framework that does conflict, the only penalties are that you will see some link warnings and your application will launch a little more slowly. At this time, Apple provides no means for an application to avoid prebinding address conflicts automatically. See /Developer/Documentation/ReleaseNotes/Prebinding.html for details.\ \ 3. If you build your application to rely on the presence of PFAssistive.framework in the default installation location of /Library/Frameworks or ~/Library/Frameworks, you will either have to distribute the framework as a separate binary and require your users to install it in /Library/Frameworks or ~/Library/Frameworks themselves, or you will have to distribute your product with an installer that does this automatically. Detailed instructions for building your application under these circumstances can be found in Xcode Help.\ \ A more user-friendly alternative is to embed the framework binary directly in your built product, which will allow you to distribute your product as a single application package that users can install simply by dragging it into the /Applications or /Applications/Utilities folder. The following instructions for installing and using the framework in this fashion paraphrase a document distributed with the MOKit framework, a useful framework written by former Apple Project Builder engineer Mike Ferris and designed in part to showcase current best practices for writing Cocoa frameworks. See the MOKit project at SourceForge for more details, http://mokit.sourceforge.net/.\ \ \pard\li720\ql\qnatural \cf0 This technique does not require modifying the PFAssistive framework manually and does not require access to the PFAssistive project file or its source. Installation can be accomplished with the binary distribution.\ \ The framework was built with the linker option -headerpad_max_install_names. This linker option causes the Mach-o header segment to be padded such that the install_name of the framework itself (or any other frameworks it might link with) can be changed later using the install_name_tool in the Mac OS X developer tools.\ \ To set up your project to embed PFAssistive.framework, do the following in Xcode:\ \ \pard\tx1440\li1440\fi-720\ql\qnatural \cf0 1. Select the Linker Settings pane of your application target's Settings and type -headerpad_max_install_names into the Other Mach-O Linker Flags field. This will enable install_name_tool to be used on your application binary in step 5, below.\ \ 2. Choose Project > Add Frameworks to add PFAssistive.framework to your project, from wherever you keep it during application development (see Note below). It is not necessary to physically copy the framework bundle into your project. Do, however, check the checkbox in the Groups & Files pane to cause the framework to be added to the target. (Note: During application development, you can keep PFAssistive.framework in the default location of /Library/Frameworks or ~/Library/Frameworks to take advantage of built-in framework search paths. However, if you are embedding the framework in your application, it may make more sense to keep it out of the default Frameworks folder and instead keep it in a folder alongside your application project folder. If you have done this, select PFAssistive.framework in the Groups & Files pane of your application project, then choose Project > Show Info. In the Show Info dialog, choose Project Relative from the Reference Style pop-up menu. Another approach, useful if you have access to the PFAssistive .framework source and are modifying it, is to keep it in a common built products folder and choose Build Product Relative. If you use the latter technique, it may be useful to set the Xcode Building preference to "Separate location for build products.")\ \ 3. Select the Frameworks & Libraries build phase of your application target and make sure PFAssistive.framework is included. If it isn't, drag it from the Groups & Files pane into the Frameworks & Libraries build phase.\ \ 4. Select the Frameworks & Libraries build phase of your application target again. Choose Project > New Build Phase > New Copy Files Build Phase to add a new Copy Files build phase after the Frameworks & Libraries build phase. Drag PFAssistive.framework from the Groups & Files pane into the Copy Files build phase and set the Location pop-up menu to Frameworks. Do NOT check the "Copy only when installing" checkbox. (Now PFAssistive.framework should be listed in both the Frameworks & Libraries phase and the new Copy Files phase.)\ \ 5. Select the new Copy Files build phase of your application target. Choose Project > New Build Phase > New Shell Script Build Phase to add a new Shell Script build phase after the new Copy Files build phase. Type /bin/sh into the Shell field if it isn't already there, and paste the following into the Script field. Do NOT check the "Run only when installing" checkbox.\ \pard\tx680\tx1440\tx2140\ql\qnatural \f0\b\fs14 \cf0 \CocoaLigature0 \ \pard\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\tx10560\tx11520\tx12480\tx13440\tx14400\tx15360\tx16320\tx17280\tx18240\tx19203\tx20163\tx21123\tx22083\tx23043\tx24003\tx24963\tx25923\tx26883\tx27843\tx28803\tx29763\tx30725\tx31685\tx32645\tx33605\tx34565\tx35525\tx36485\tx37446\tx38406\tx39366\tx40326\tx41286\tx42246\tx43207\tx44167\tx45127\tx46087\tx47047\tx48007\tx48967\tx49927\tx50887\tx51847\tx52807\tx53767\tx54727\tx55687\tx56647\tx57607\tx58567\tx59527\tx60487\tx61450\tx62410\tx63370\tx64330\tx65290\tx66250\tx67210\tx68171\tx69131\tx70091\tx71051\tx72011\tx72971\tx73932\tx74892\tx75852\tx76812\tx77772\tx78732\tx79692\tx80652\tx81612\tx82572\tx83532\tx84492\tx85452\tx86414\tx87374\tx88334\tx89294\tx90254\tx91214\tx92175\tx93135\tx94095\tx95055\tx96015\li2161\fi-1\ql\qnatural \f3\b0\fs24 \cf0 # rewrite install_name in the framework\ # note we do not bother to change the debug or profile variants since those are never directly linked against at static link time.\ chmod u+w "$\{TARGET_BUILD_DIR\}/$\{PRODUCT_NAME\}.$\{WRAPPER_EXTENSION\}/Contents/Frameworks/PFAssistive.framework/Versions/B/PFAssistive"\ install_name_tool -id "@executable_path/../Frameworks/PFAssistive.framework/Versions/B/PFAssistive" "$\{TARGET_BUILD_DIR\}/$\{PRODUCT_NAME\}.$\{WRAPPER_EXTENSION\}/Contents/Frameworks/PFAssistive.framework/Versions/B/PFAssistive"\ \ # rewrite install_name in the app\ install_name_tool -change "/Library/Frameworks/PFAssistive.framework/Versions/B/PFAssistive" "@executable_path/../Frameworks/PFAssistive.framework/Versions/B/PFAssistive" "$\{TARGET_BUILD_DIR\}/$\{PRODUCT_NAME\}.$\{WRAPPER_EXTENSION\}/Contents/MacOS/$\{PRODUCT_NAME\}"\ \pard\tx1440\tx2140\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\tx10560\tx11520\tx12480\tx13440\tx14400\tx15360\tx16320\tx17280\tx18240\tx19203\tx20163\tx21123\tx22083\tx23043\tx24003\tx24963\tx25923\tx26883\tx27843\tx28803\tx29763\tx30725\tx31685\tx32645\tx33605\tx34565\tx35525\tx36485\tx37446\tx38406\tx39366\tx40326\tx41286\tx42246\tx43207\tx44167\tx45127\tx46087\tx47047\tx48007\tx48967\tx49927\tx50887\tx51847\tx52807\tx53767\tx54727\tx55687\tx56647\tx57607\tx58567\tx59527\tx60487\tx61450\tx62410\tx63370\tx64330\tx65290\tx66250\tx67210\tx68171\tx69131\tx70091\tx71051\tx72011\tx72971\tx73932\tx74892\tx75852\tx76812\tx77772\tx78732\tx79692\tx80652\tx81612\tx82572\tx83532\tx84492\tx85452\tx86414\tx87374\tx88334\tx89294\tx90254\tx91214\tx92175\tx93135\tx94095\tx95055\tx96015\li700\fi18\ql\qnatural \cf0 \ \pard\li720\ql\qnatural \f1 \cf0 \CocoaLigature1 Note that rewriting the install_name of the PFAssistive framework (the first part of the script above) is not strictly required in the simple case. However, if your app supports loading plug-ins that might also need to link against PFAssistive.framework, it is important that they link against a copy that will have the same install_name as the one that the application links. Otherwise, at runtime, two different copies of PFAssistive.framework might be loaded, and the Objective-C runtime will complain since both will contain the same set of classes. If you support plug-ins, make sure you document for plug-in developers that, if they need to link PFAssistive.framework, they link against the one inside your application and not another copy.\ }B CFBundleDevelopmentRegion Japanese CFBundleExecutable UI Browser CFBundleGetInfoString UI Browser 1.2J, Copyright © 2003-2004 PreFab Software, Inc., Bill Cheeseman and The ForeSight Inc. CFBundleHelpBookFolder UI Browser Help CFBundleHelpBookName UI Browser Help CFBundleIconFile appicon CFBundleIdentifier com.prefab.uibrowser CFBundleInfoDictionaryVersion 6.0 CFBundleName UI Browser CFBundlePackageType APPL CFBundleShortVersionString 1.2J CFBundleSignature PFBr CFBundleVersion 44 LSMinimumSystemVersion 10.2.0 NSMainNibFile MainMenu NSPrincipalClass NSApplication Bud1rowser UI BrowserIlocblob_  @ @ @ @ EDSDB ` @ @ @L)P8__PAGEZERO__TEXTPP__text__TEXT|Sl__picsymbol_stub__TEXT$__symbol_stub__TEXT__picsymbolstub1__TEXT __cstring__TEXT__literal4__TEXTW,G__literal8__TEXTX(H(__DATA`0P0__data__DATA`4P__la_symbol_ptr__DATA`4P40__nl_symbol_ptr__DATA`hP`__dyld__DATAa\Q\__const__DATAaxQx__bss__DATA__common__DATA X__OBJC@@__cat_cls_meth__OBJC__cat_inst_meth__OBJC@__string_object__OBJC@@__cstring_object__OBJC@@__message_refs__OBJC@ @__sel_fixup__OBJC__cls_refs__OBJC__class__OBJC__meta_class__OBJC__cls_meth__OBJC__inst_meth__OBJC__protocol__OBJC__category__OBJC(__class_vars__OBJC__instance_vars__OBJC <__module_info__OBJC__symbols__OBJC8__LINKEDIT0(  /usr/lib/dyld T?uU /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa X?uV/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon d?^|@executable_path/../Frameworks/PFAssistive.framework/Versions/B/PFAssistive 4?pG/usr/lib/libSystem.B.dylibXP/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa\T/System/Library/Frameworks/Carbon.framework/Versions/A/Carbonh`@executable_path/../Frameworks/PFAssistive.framework/Versions/B/PFAssistiveT0/usr/lib/libSystem.B.dylib>p81@  Cp 'J"}p@,v(pÄ']73p˘du׏tS<\T/System/Library/Frameworks/AppKit.framework/Versions/C/AppKitd\/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI|t/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Inktl/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServicesx/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScriptingx/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering!/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound?/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels!/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolboxD_ 4/usr/lib/libcrypto.0.9.7.dylib_0]_S':`-rA ٗqj 80/usr/lib/libresolv.9.dylib` Puxzɨ0u (||: x8!T!48!z8;cW{:|H |!B||x|#x|+xH<_,<_0<_4<_B(/A }N!<_B$/A }N!HS!<_@ /A }N!H<_< /A }N!<8cYH8@Hea@/AHR8<_B =}"Kx/Ad9@9` |t/A0|X|t//@}K9k}"Kx| X|t/@/A 8 H<_8x/A/@xxx8HHQ|!B<8cW8@Hy@}N!h8!`|N =`ka\,AN 8N8`d8`8D8`;8D= a\| =aN =`ka`}iN |!|> x~x|8`8(HR=|`x@^@x^@|^@8(@8`-HQ}8`-@HQ!|N |!|> x~x|8H8`-HQ~@8@D^D/@Hx^DBBx@L^DBB|@4^DH>D^H ^H/(AHPՀ^DB8DK|8`-@HPՀH/A4^H /A^H ~H| x}N!~HHPY!|N |!|> xBHP<_BP@@/A^@T>+@H<_blHO<_bhHOy!|N HP`|B||x!<;|c|<HTI8<HT9<|dx8a@ HTL8A@Dx||*LDh*(с||h8!`|N |AB|}x<`sy!`|#x`csv8pHSix;<|HS<||xxHS/|}xA/A<x8aPHS9x8aX<;`HS!?<c4HS-8AP|||xxK|8<9 9@x8HR8<|~xHRp+/@L<<c8HR<<8HR/A<<_x"l>:s: 4sHQ!8|zx<`sy`csvHP̀8??<_8B;{; h 0||Ѐ{HP?<|ex; l<}8tHP>|exCx: pHP8{HP8|rx{HPq<<_> t8B݄=????_???><==?=_|Ex9k8ݔ|Gx9ݤ9)ݴ9JĐaX;|x:;;{;Z$;94;D:TaDApA@AHA`AhLA8<PaTA\!dlt!xHO|}xsHOxHO88!!|N |!<|~x}cx! xHOE@<_<|ex8B |8a@DHN|~yA<< cHO??|{x;; |HN< HN<|excx HN?_;Z HN~(|HN< HN??<;9 8dHN}HNu~,??;{; ({HNU?; HNE~`{HN5HN-8P~<`sy`csvHM???;{; 4;耝{HM<< 8tHMP8@@8@\{HM?<|{x; 8t?;HMHM}<cx8܄?;HMqHMi}<cx8ܔ?;HMIHMA}<cx8ܤ?;HM!HM}8!x!|N |<||x<_=AԀb̀dH>8<_<<8ʹ8ĐAH>8<|exxH>x??;{;耛H>/A xH>u<8H>e?x;H>M/Ax8H<x8 H>!x<_<"H> 8x<H=8x<H=8x<H=x?;H=<_|dx8a@AH=H<Ad9!`8APx`}ID}BEH=uT=P H=axH=U8<H=ExH=9!ȀA|}xiH=!A<8͔H= >?|exxH<x>;4!H_|zxx(H|zxx,H<1|exCxH|zxx0H;퀛|exCxH;݀xH;рH;ɀ8H;>|zxx4H;|exCxH;xH;H;8H;y>|}xx8H;e|exxH;UXxH;I<@H;1|xxH 4xH;9!`<_?_??@\?B<C;pptH}\D}IE`dH:¼8AcxL}"D}H4>|exxH4<_A쀂|H4>H4@H4|xxH<H4u/A>#xH4]H4U@H4M|zxHx<H49/ @d;cxH4!||xcxH48`H4|exxH3Cx?;H3݀xH3рDCxH3|{y@|=xD}kxH3|yy@$?x;A;H3<|dxCxH3UAȀa;b;{H3Q<_<x8DAH39/???@<_<?C;Xx**}:D}2EH2倡Ā H288Ax** ||H2|9 <H2xH2y<H2mxH2aA8H2Qx8<H2=H؀;9{H2)A<8DH2|}xxH2xH1/@@<CXx<C;a9 ;:@:p:`:a:}:D}2E:AH1A܀Ā ;P:H1xH1|dxCxH1Q8x};D}:E;A0H1I<_H11xH1%;! |oxxH1|dxxH0^cx<_!"¸|@P:)B(@H05|}{x?; H0x?;$H0|{xxH0|dxCxH0i^#x<_|"¸@PB(@H/|cxH0Ux?;(H0A|{xxH01|dxxH0^~óx<_|"¸@PB(@H/]|cxH/x?;,H/ـ|{xxH/ɀ|dx~xH/^~x<_|"¸@PB(@H.|cxH/xH/y|}xxH/i|dx~cxH/9^~Cx<_|"¸@PH.|xH/-xH/!|dx~xH.xH/|dx~xH.8Axh*}"D}0EH.ŀHP<_=?<CxXh*ɩh*}ZD}REH.u H.e+/A??<;;08T|H.5|{x|<8dH.<||xxH. ex<|}x4H-xx<8H-x8<;v䀛H->|exCx;耜H-qxH-e|zxxH-U8 H-I|exCxH-9xH--|zxxH-8H-|exCxH-aā!CbH,<H,<@H,|xxH<H,/ v@?#x;v;;W耝H,||x#xH,8`H,y|exxH,i#xH,]||x#xH,M8`H,=|exxH,-#xH,!||x#xH,8`H,|exxH+x<H+ဍDxH+|yy@+/A<<x@H+?;DH+x<HH+H+<<kec`yb8H*A?!̃;b;}H*i88x9H*1x<LH+!x<PH+{H+A<8tH*/A<xTH*ـ{H*̀A<|zx8΄xH*<XH*<|{x@H*<|}x<cH*<|H*u||xHD<<\cH*Yx<`H*I/A<xxdH*-<xDH*|~y@<xcxhH*x?;@H)cx<H)݀||xcxH)xCx<<l8΄H)xH)h8!`|N |@&|ܐ?<A; |~x!}cx;氀}H)M/A <}H)5/A;?x.;;@H) x??H(x<H(|{xAtxH(<H(|}x<<䤀c H(8<<< 8d8ƷH(<|exxH(/@;@WEcx;@H(ax<H(Q|{xAtxH(=<H(1|}x<<䤀c H(8<<< 8d8ƷH'<|exxH'/@;@;WEcxH'x<HH'xH'x<XH'xH'x<hH'}xH'qx<H'a|{x=?<_?A$䤀i H'A <<8H 䤀i H'! <<88Ʒ8;H'<|excx;`H&x<lH&ـxH&x<XH&xH&x<H&||xA,<xH&<H&}/A;`;Wex;`H&Yx<H&I||xAD<xH&-<H&!/A <xH& /A;`x8!pWeaxx|}p H%|+y|}cx|tx!PA0<|+x,H%<|}x~x,H%@<~x,H%y<|~x0H%i<_AL<_APAL;XAP|;H%=8<_<<AT;bl88ƳPH%|zx|H%8 &|}x<<D<cd8@H$ရ8<|exx8ƳPH$8Ex|fx<<4cpH$?_?a@;Zt;{8zH$<<<8PH$q=>|vxoTH$Y~ųx>?H$I~dzx9 >_>|ex<=rL8ƴ`9pH$??|nx;@;\|H#|xx|H#逝|wx|H#<|mx<ࠀc@H#><|yx;8H#/A <#x8H#/AЀzH#u<DH#i<H#]||xHp<<8H#A|}xoTH#1xH#%x|exrL<=8ƴ`9 9pH"<|ex~xH"<xH"/@<<~xH8dH"<#x8H"/A<~xLH"<H"}||xHl<<cTH"ax<H"Qx9 |ex<<<=cL8ƴ`9pH"!<|exxH" <xH!|}y@<<8HxdH!ـ#x<8H!/A<x~x xH!<@xPH!x<_AH:BᨀH!y=>|}x:ox:TsH!Y>?|exx;QXH!A#x?<8H!)/@<~xLH!~ųx<H!/A?<}sx;8`H <|exx\H x<`H <||x}sx8pH <|exxH xH |}xsH q|exxH a;<#x8H I/A<#x8H -/??A\}kxH |zxHl?<;8`H<|exx\Hx<`Hр<||xcx8pH<|exxH?CxH|{y@AHxH}T|}xoxHmX|exxH]~xHQ|zxHl?<;8`H1<|exx\Hx<`H <||xcx8pH<|exxHဘCxH|{y@H4xH|zxHl?<;8`H<|exx\Hx<`Hy<||xcx8pHa<|exxHM<CxH=|{y@H<~xH!|zxHl?<;8`H<|exx\Hx<`H݀<||xcx8pH<|exxH<CxH|{y@?~x;dH/?@_xɔH 8<̌H x<̐H |wyAp<x|H x< H 8~x>;ȼH u<_<B̔H ]/A<xH E8@H 88a@H q<<|}xD8H 8<|exx$H /A xH <8xtH x<lH <̘H H <xH 8|}x~xH |ex<<c԰H <|exx0H mx?;ɠH Y8<H IxH =<H 1xH %88<H 8x<H x<lH |}x<<0cԘH 8<<<ɬ88ƛH <|exxpH >~x;` H |zx<<c԰ˀHxĐH8<LjHx<njH|yyA<x;`ǬH#x>H|zx<<cϬ|HT/@<<<xǰHMx<H=x<,H-<x;{ǘH<|}xCx H||y@<x;@ĜH<|txxHՀH|uxH<#xǜH@@/Ax;`H|xxH\<Ex#xøHy<8Hm<||xxǠxHU<|}xxHA/@;{ xH)|}y@<ex~xFxH ;Z>~x H|}y@,<x8HـĐxH̀8!<8AȀǨ|H8!A|N |?|}x:D;܀wH8??<<;9X88ƒ<H?|exx;{H/@ <CxLHi< H]/A <CxHE<H9/@ d?Cx;ԀH?;H /A 8Cx:H<||xCx¬H<HՀ|}xxH<|exxhH|}xwHx<<8Ɠ8 H|/A <CxHm<THa>?|}x:D;܀wHA8??<<;9X88ƒ<H?|exx;{H/@ 0<CxLH< H/A <CxH<H/@ ?Cx;䀝H?;H/A Cx:Hy<||xCx¬He<HY|}xxHI<|exxhH5|}xwH%x<<8Ɠ8H H /A ,<CxH<TH>??|}x:D;9܀wH8><<:X88ƒ<H?|exx;H/@ <CxLHi< H]/A <CxHE<H9/@ d?Cx;䀝H?;H /A 8Cx:H?|{xCx;¬H<Hр||xcxH<|exxhH|~xCxHx<H/AlwHyx<<8Ɠ8H]<8HM/@,<CxH5<ÄH)/A:~xHT/;AP<CxH<TH|}x<<܀cDH8<<<X88ƒ<<:X88ƒ<H!??|exx;9H /@4?Cx;LH< H/A CxH?;{ôH/@耝Cx:H鹿|}xH||xxH<|exxøHux<|fxCxüH]|}xxHM<||xxhH9<<|ex8Ɠ8xH<8H /@,<CxH<ÄH/A:~xH8H8|xx8!p|N |!<}cx|~x! H/A <<lc\Hmx<_<Bzd|HQ<|exxH=x<H-|ex<<܀c`H8<|{xHx?;H<pH/<_?_AxH<x耄HHh8!`|exxcxx9|!Hxh8!`!|N |<}cx!HEX8!P<\|H(|!<|~xx:sH<H???|{x;;9DxH8><<:8{8zH?|excx;`Hi|ry?_?>A<x;8HAhx|fxz<8 8{H!|}xxHx<HxHx8<_<|exBx؀bH<<hcHex|}x<<,<c8|Hx<<|gxwxhHyx<Hix~x<H̀:;]xHA8 &|}xu<8{H%8<|exx8zH |excxH/A<<lcH88|{x8`H8<H||x<<<c8|HꙀ8|}xxHxx<=_|hxtcxxJp8A8HY8!!|N <cx8zH1/A?x;{H/<_@8xH8<<8{8zHxHD<<@cH齀|}xxH<|exxLHx|ex~x8!!|Hx<x;8Hehx|fxu<8 8{HE|}xxH5x<H%xHx8<_<|exBx؀bH<<hcHex|}x<<,<c8|Hx<<|gxwxhHx<H荀xH<Hu<xHi||x<<cHQx<HA<|}xH1<H%/A0<<8|cH<|exxH<x Hxx<88H<8!x!|H|<|~x|yx;H9|}x#xH)<|ex#xHx<|fxxH<|exxH逜#xH?;cx;XpH<0Hܹ|}x#xHܩa`9!PP8A`;xd}bD}iE8A@}iD}bEHq@<D,H]<HQ|}xH<<H5<xH%/@;XpxH @<D0Hx?;H<4H/@xH<,H۹<Hۭ<<|}xDHەxHۉx<Hyx<Hi#xH]<8#x8HI<#x8B]h|t/AD;xH||xxHHUxx!*H@;xHՀ||xxHHѹUxx!(x 8!p|Hѐ|A?>A?x;aP;]Lx;!pH<|dx8a@|pxH||x Á\H̀hHŀ/?@<_;$Rx**Hϑ|dxcxHaxPHq|dx8a`HA8Adxh**}"D}9EH-p<tHx;|$H|dx#xHt@8xH逻|dx8aHι<_h(ɢRH=?ɩR(h(;L;$xHΕ|dx8aHexHu|dx8aHE9!<_xh(ɢR8Ah(}ID}BEH%<ĀH:֍ <<?;ȀcH|}xx?;,Hـh??>;9:H<<|ex(8^8xHͥD8A@9!xӡ??_?;{;Z *;0H(ѡ||||HEH=|uxxH-H%|txxHH |sxxHH|rxxH倜H݀|qxxH̀Hŀ||xxH̵8 H̩xH̝8H̑xH̅8 HyxHm8 HaxHU8 HIxH=8 H1LxH%|9 <9@4H xH~xHxH逝~xH݀xHр~exHŀxH˹~ExH˭xHˡ~%xH˕xHˉxH@; xHm||xxH]hHU< |xH=8!`HŔ|A?;}cx!|+x||xH|{xxH<\H< |cxHрh8!`<xExA|Hʬ|<}cx|}x! Hʉ/A<xHq<XHe/Ad<xHM<||xx?H1<H%x|c0|X8!Px|HHx<HX8!P<xH|HȀX8!P|N |!<}cx|~x!(Hɑ/A?x;{Hu<`Hi/A<xHQ?|zx;H=/A`xH)<H|}xCxH <|exx\H|}xxHx<Hـh<<<_8!`x8"LP|!HȤHƁx<Hȑh8!`<x!䀄P|Hph8!`!|N |<}cx|~x|+x! H1/A ??x;9HH<H /A<xH<|{xHcx?;\H/AxHǹ<dHǭ|}xcxHǝ<|exxHlj|zxxHyEx<hHi||xxHYEx<dHI?<|}x;{8X(H-/A/AxHEx<hH?||xx;lH<pH݀xHx<HxHƵ~x<tHƥx<xHƕ8<Hƅ<xHuHh<x8X8H]/AX<xHE|}xxH5Ex<hH%<|exxHx<|H؀<x8XHH/A/AxHEx<hH?|{xx;Hũ<pHŝxHő<||xcxH}x<HmxHa~x<tHQ<H<x8XXH1/Al/AxHEx<hH<|}xxH<||xxHTe><x|Ѐ(THp<x8XhHĭ/A/AxxHđEx<hHā?|yxx;Hi?_;ZpHYxHM$x?|}x8a@;{H!Dx?;Hx?;HHxH$x|zx8aPHý!PCxH̀xH~x<tHñ<H@<x8XxHÑ/A/A\xHuEx<hHe?|yxx;HM?_;ZpH=xH1$x?|}x8a@;{H!Dx?;Hx?;H通HဝxHՀ$x|zx8a`H¡!`CxH±xH¥~x<tH•<H$<x8XHu/A/A@xHYEx<hHI?|yxx;H1?;pH!xH$x?_|}x8a@;ZH!Lx?;{Hx?;H̀HŀxH$x|}x8apH!xxHx?;HHyxHm$x|}x8aH9!xHIx?;H5H-xH!$x||x8aH!xHxH~x<tH<Hp<x8XH/A/A<x?C0Hx<<_KHxHyEx<hHi?|yxx;ȀHQ?_;ZpHAxH5$x?|}x8a@;{̀HDx?;!!( Hx?;ЀHـHрxHŀ$x|zx8aPHPCx!!( HxH~x<tHq<xHa8<HQH(H)x<hH9x<H)8!|N |<}cx|~x!}H/A<x|H<~H/A|?x;{4H<~H/@<x}LH<<}P8MHuxHiX8!P<8{@|HHH%x<}H5X8!P<x}|HX8!P|N |!<}cx|~x!|tH/A?_x;Z{쀚H<}H/A,<x~H8<{0Hx<z$H}|{xxHm<}Ha<|}xcx}HM<|exxxH9||xxH)<|}xx~H<}H x<|exx~|Hcx<|0HယxHx<~ H<|}xxyLH<~Hh8!`<x!䀄~|HHax<| Hqh8!`<x!䀄||HPh8!`!|N |!<}cx|~x!zH/A?_x;Zz(H<{H/A`<x|H8<ylHx<x`H|{xxH<{DH<|}xcx{x`:y H8>?!d:1vHx>a\:suH倚|uxxH<wH<|}x~xwH<|exxsH??|~xx2x;9yH?tx;{yHqxHa>?|}x~xx:h ;ywH5x<|exxyhH~x>~ϳx:wHxHx<yH/A|?<x;v$8I8H/@<<x8IHH/@ <x8IXH/Ad;ry;yxHqHi<_;ATxHMHEAXxvH1<yH%H<_;!(@`H倛xH<|}xxyH<<t8IhH<|dx8a@y\H<C0xP<_<@;T!Py!( HxH}~x<yHmA\xuH]wHUA`xy HEAd8vH5 𐀎ymhH<x8IxH/A`xHH<_;AxHـHрxH|}xxH<yHH<_w;!( H<|exxyHmHe@H9xHM<|}xxyH9<<t8IxH%<|dx8a@y\H<C0xP<_<@;T!Py!( H݀xH~x<yHxHHxH8H 𐀘wH<xHy<|exyHxH]x<xHM 𐀘|}xwH9<|exxyH%/@tHx<yH 𐀘wH<xH<|exyxHH(Hx<vHx<wH8!й|N ||~xH!B|+x<pHe/A?_x;zpdHI<r$H=/AT?x;mH!|}xxH<|exxsH/@ xH8<sH>x;!PrH8>?oHx>_nH|wxxH<qH<|}x~xqxHu<|exxm Ha>||xxrHM?;rH=x>`rH)H!aP8A@<x!T}9D}"Es<@DH/A\a`8A`<<Ӂd}"D}9Es@cyDPTH|}xxHxx<rHH8ap8ApӁt}"D}9ETaPH<|exxsDH]>;zpd~x:pHExH9x?;sH%/Ad<<xo8BH/A@x:H?;m(H?|dx#x;m0HxáPHH|dx8aH}xH?;m,H}?|dx8a;m4HExHUHM|dx8aH8Aӡ9!||aӁ||UD|IEaHy/@4;4rHxH?|zxx;{s$H?<;m8CH|dx~xH}!Cx?;rHrxHy|zxxHi<8CHY|dx8aH)!CxH9xH-~x<rHnxHH rxHo8Ha9!8AӁ}ID}BEaHm<|exs(HЀxHxH/@a`;A`<Ӂd|ZD|YE<s@cyDTPHm|}xxH]x<rHMx<s0H=/@xHxx<s4Hap8ApӁt}"D}:Eda`H<|exs8xHH(Hx<pHx<qH8!H|<}cx|~x|+x!@k(H/A?x;jHi<l`H]/A\?x;gĀHA|}xxH1<|exxmLH/@ xH 8<mPH<x:PmH8<iHx<hHŀ||xxH<kH<|}xxkH<|exxg\H<|yxxmHm?;lH]x<lHIHAP8A@?_?;Zs;{m!T}7D}"Ez@DH|}xxHx&x<m0Hx<jHрxH%x<mXH/@`;`d|\D|WEzTPH|}xxHu%x<lHex<mlHU/@xH)~ųxx<mpH5p8Apt}"D}x:d H<eH/A8?x;a0H|}xxH<|exxfH/@ xH}8<fHm<x;Pf:`HU8<cPHEx<bDH5|yxxH%<e(H<|}x#xe H<|exx`H<|zxxfH?;cЀH<|vxxfHHP8A@aT??;g;l|wx}8D}"E|@DHu|{xxHeexFx<fHQ#x<dPHA`d|}4D}8ETPH|}xxH Ex<f,Hx<fH/@xH~exx<fH͒p8Apt}"D}4Eda`H<|exxfHH(Hqx<d,Hx<dHq8!a|N |<}cx|~x! aH9/A>x;saHH<cH/A?x;^lH|}xxH<|exxcH/@ xH8<cH=x:APd@H8>`Hx>?_Hy|wxxHi<bdH]<|}x~xb\HI<|exx^H5?||xxdDH!?_;a H??|uxxdHHHP8A@aT<|vx<daHx?<;`84Hq/@<<x84HU/@ <x84(H9/A;dD;a xHH/A;ydHxHH/A`xHလHـ|}xxHɀHaHxH<dHH8c@p;dDHixH}?_|yxx;ZdHe?<;{^83؀HM?|dx~Cx;c̀HP#x?;dLHx<dHH |yxxH<83H퀼|dx8a`Hd#xH̀xH~x<ctH_xHaHd@xH`8H9!8Ap}ID}BEtapH<|exxd HMH(H%x<ahH5x<aH%8!|N ?l?|;{e;Z,|yx}cx!|+x{H8?<<;Z8/8,H|zx{H8<<8/8,Hx|ex<<[ceHm<|}x#xZ HY8(x|gx8Cx889 9@8