Áƒ*žEL¢À¿„¸pG>ŽÓ¹gZ—øö ‘8‘9‘:ABCDEFG¢LNone==!=*-Core*=System+=-=/=CoordsColorRotatorVector--+/Scale++<=>=><Object~= HelpParmPlane<<>> HelpDescMainGuid EndState BeginState CommandletVSizeLog SubsystemHelloWorldCommandletLocaleTimeClamp LazyLoad IsEditor ShowBanner IsServer LogToStdout IsClient HelpUsage HelpOneLiner RandRange ResetConfigHelpCmdGetPropertyTextDisableSetPropertyTextEnableIsAClassIsChildOf GetStateName%**AscChrCapsRightLeft Normalize SHEER_None SHEER_XY SHEER_XZ SHEER_YX SHEER_YZ SHEER_ZX SHEER_ZYRandRotRand GetUnAxes BoundingBoxMinMaxVRandBoundingVolumeMirrorVectorByNormal|DotCross!LerpFClampSmerpFMinFRandFMax&&&^^Square||SqrtLogeExpAtanTanCosSinDynamicLoadObjectGetEnum SaveConfig LocalizeWarn GotoStateInStrLen~Mid$OrthoRotation@>>>StaticSaveConfigAbsGetAxesNormal IsInState^InvertSubtract_IntIntNameStruct StrPropertyGreater_IntIntGreaterGreater_IntIntLessLess_IntIntGreaterGreaterGreater_IntInt Function TextBuffer Add_IntIntSubtractSubtract_PreByte Less_IntIntAndAnd_BoolBoolStructPropertyConstMultiply_IntInt Or_IntIntPi Not_PreBool ReturnValueDivide_IntIntEnumClassPropertyComplement_PreIntSubtract_PreIntGRSubtractSubtract_ByteLessEqual_IntIntVect AddAdd_Byte SheerRate ESheerAxis NamePropertyGreaterEqual_IntIntAddAdd_PreByteOriginRotObjectInternalYawObjectPropertyEqualEqual_IntIntEqualEqual_FloatFloatTagSubtractEqual_ByteByteBRF_NotForEditDivideEqual_FloatFloat ObjectFlagsSubtractEqual_FloatFloatPackageAddEqual_ByteByteClassDivideEqual_ByteByteOuterMultiplyEqual_ByteByteOrOr_BoolBoolXorXor_BoolBool Xor_IntIntEqualEqual_BoolBoolNotEqual_BoolBool ClassNameNotEqual_IntInt And_IntIntAlphaDivideEqual_IntFloatSubtract_PreVectorMultiply_VectorFloatMultiply_FloatVectorMultiply_VectorVectorDivide_VectorFloatAdd_VectorVectorSubtract_VectorVectorLessLess_VectorRotatorGreaterGreater_VectorRotatorEqualEqual_VectorVectorNotEqual_VectorVectorDot_VectorVectorMultiplyEqual_IntFloatCross_VectorVectorMaxIntMultiplyEqual_VectorFloatMultiplyEqual_VectorVectorDivideEqual_VectorFloatAddEqual_VectorVectorSubtractEqual_VectorVectorSphereAddEqual_IntIntSubtractEqual_IntIntIsValidEqualEqual_RotatorRotatorNotEqual_RotatorRotatorMultiply_RotatorFloatMultiply_FloatRotatorDivide_RotatorFloatMultiplyEqual_RotatorFloatDivideEqual_RotatorFloatAdd_RotatorRotatorSubtract_RotatorRotatorAddEqual_RotatorRotatorSubtractEqual_RotatorRotatorFloatPropertySubtractSubtract_Int SheerAxisbRollAddAdd_PreIntSubtractSubtract_PreIntConcat_StrStr AddAdd_Int At_StrStrV Less_StrStrGreater_StrStrLessEqual_StrStrGreaterEqual_StrStrEqualEqual_StrStrNotEqual_StrStrComplementEqual_StrStrSubtract_PreFloatSMultiplyMultiply_FloatFloatt ScriptTextijZAxisYAxisXAxisMultiply_FloatFloatDivide_FloatFloatEqualEqual_ObjectObjectNotEqual_ObjectObjectEqualEqual_NameNameNotEqual_NameNamePercent_FloatFloatAdd_FloatFloat SectionNameKeyName PackageNameRoll NewStateLabelPitch TestStateSubtract_FloatFloatW TestClass ParentClassYZ ProbeFuncLess_FloatFloatGreater_FloatFloat PropNameLessEqual_FloatFloat PropValueGreaterEqual_FloatFloatEC ObjectName ObjectClassMayFailXDComplementEqual_FloatFloatA ExecVtblRF_NotForClient BoolPropertyRF_NotForServer HelpWebLink IntProperty BytePropertyRF_Transactional RF_Transient RF_PublicNotEqual_FloatFloatMultiplyEqual_FloatFloatShowErrorCountAddEqual_FloatFloatParmsintparmstrparmNoneNoneNone TestFunctionSimpleCommandlet otherstring textstring floattemptempNoneNoneNoneNoneNoneNoneNone ClearConfig IsUTracing SetUTracing bNewUTracingGO A G!y D ` ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ†<,GG@GGGGX€GGQ €@GP #ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ;ªé>y†<,/Ó.Ó0Ó,Ó+Ó-ÓGGJ €GGL €@GG} LÉ ) Gr GG €GŠGp €GGm €GG €@GGc €GG€GGf €@GGZ €GG\ €GŠGS €GGV €GGP €@GG€@GGGGH €GGGG€@GGF €GG}€GG~€GGuG#€GGB €GGz€GG$€GGk€GGm€GG'€@GGi€GG&€GGeGG)€@GG[€GG\€@GGbEFGHIJKG1€@GG`€@GG-€GGU€@GG\€@GGQ€@GGX_OGM€@GG7€@GG5€@GGK€GGI€@GG;€@GGE€@GG:€GG€GG=€@GG}€@GGC€GGt€GGA€@GGD€@GGG€GGl€GGA€@GGu€GGK€GGq€GGy€@GGL€@GGO€GGo€GGr€GGP€GGS€GGi€GGQ€GG€GGW€GGh€GGmGGU€GG[€GGd€GGY€GG\€GG_€GGc€GGg€GG`€GGc€GG[€GG`€GGd€GGW€GGj€GG\€GGV€GG€GGh€GGR€GGX€GGT€GGO€GGm€GGG€GGF€GGz€GGq€GGn€GGH€GGv€GGy€GGs€GGL€GG~€GG}€GG~€GGP€GGn€GGA€GG€GG@€GGB€GGE€GG{€GGJ€GG€GGI€GG^€GGD€GGN€GGM€GGb€GGt€GGR€GGQ€GGV€GGx€GGV€GGU€GGi€GG|€GGG€GGY€GG[€GGc€GG`€GG]€GGW€GG[€GG\€GGa€GGO€GG_€GGd€GGe€GGS€GGg€GGX€GGi€GGK€GGs€GGP€GGm€GGG€GGk€GGL€GGq€GG€GGo€GGT€GGu€GGC€GGg€GGH€GGy€GG{€GGC€GG@€GG}€GGw€GG{€GG|€GGA€GGo€GG€GGD€GGE€GGs€GGw€GGx€GGg€GGp€GGL€GGk€GGt€GGI€GGf€GGc€GGd€GG_€GGh€GGP€GG[€GGb€GG`€GGX€GGZ€GG]€GGX€GG\€GGV€GGY€GG]€GG`€GGa€GGQ€GGR€GGl€GGP€GGS€GGe€GGh€GGH€GGZ€GGK €GGl€GG@€GGf€GGD€GGp€GG|€GGi€GGj€GGt€GG~€GG €GG€@GGx€GGs€GG€GGA€GG|€GGu€GG€GG_ €GG@€GGp€GG€@GG€@GGD€GGq€GG€GŠGGGH€GGl€GG€GGv€@GGL€GGk€GG €GGs€GGP€GGj€GGG€GGo€GGT€GGe€GGp€@GG+€GGU€GGy €GGv€@GGj€GGV€@GGY€@GG3€@GGW€GGhW«b )W)Uµ4GmK¨ )K)L³4GtC¦ )C)D±4GfX†~ )X)Y—4GZiw* )iŠ4GrH’›)H£4G€GGL@ G`O©Ö )O)P´4GgSª )S)TÒ4G_@ G€GG€GG€GGaG§J )G)H²4Go@ G@ G€GG€GGx@G€GGy¥¾ ))@°4G€GGN g¶á)¾$GCo¡¦ )o)p¬4GU 0x00200000Gz{¤x ){)|¯4G}w£2 )w)x®4Ga 0x00004000G€GGws=¢ì )s)t­4G€GGh GG€GG€GGW[Qš5 )[)\ú$GLk ` )k)l«4G€GGq F]»Ã$G€GGEu\¼a )u) ô$G€GN| &ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIoº²†<,GK)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿJKú 0†<,GGC2//============================================================================= /// Time-management class. /// Not yet implemented. /// This is a built-in Unreal class and it shouldn't be modified. /// /// Coordinated Universal Time or UCT is the world standard time /// representation which is independent of time zone and daylight /// savings time. The UCT standard supercedes the obsolete Grenwich /// Mean Time (GMT). /// /// UCT is technically the time on the zeroth meridian plus 12 hours. /// For example, to convert UCT to EST (Eastern Standard Time), subtract /// 5 hours from UCT and then (??if dst). /// /// By definition, UCT experiences a discontinuity when a leap second /// is reached. However, this discontinuity is never exposed while Unreal is /// running, as UCT is determined at startup time, and UCT is updated /// continuously during gameplay according to the CPU clock. /// /// Unreal time is exposed as a long (a 64-bit signed quantity) and /// is defined as nanoseconds elapsed since /// midnight (00:00:00), January 1, 1970. /// /// For more information about UCT and time, see /// http://www.bldrdoc.gov/timefreq/faq/faq.htm /// http://www.boulder.nist.gov/timefreq/glossary.htm /// http://www.jat.org/jtt/datetime.html /// http://www.eunet.pt/ano2000/gen_8601.htm //============================================================================= class Time expands Object transient; /* /// Returns current globally-consistent Coordinated Universal Time. static final function long GetGlobalTime(); /// Converts global time to local time, taking into account the /// local timezone and daylight savings time. static final function long GlobalToLocal(); /// Converts local time to global time, taking into account the /// local timezone and daylight savings time. static final function long LocalToGlobal(); /// Return nanoseconds part of Time, 0-999. static final invariant function long GetNSecs( long Time ); /// Returns microseconds part of Time, 0-999. static final invariant function long GetUSecs( long Time ); /// Returns milliseconds part of Time, 0-999. static final invariant function long GetMSecs( long Time ); /// Returns seconds part of Time, 0-59. static final invariant function long GetSeconds( long Time ); /// Returns minutes part of Time, 0-59. static final invariant function long GetMinutes( long Time ); /// Returns hours part of Time, 0-23. static final invariant function long GetHours( long Time ); /// Returns days part of Time, 0 (first day of month)-31 (or last day, depends on month) static final invariant function long GetDays( long Time ); /// Return day of week, 0 (Sunday)-6 (Saturday) static final invariant function long DayOfWeek( long Time ); /// Return months part of Time, 0 (January) - 11 (December) static final invariant function long GetMonths( long Time ); /// Return year. static final invariant function long GetYears( long Time ); /// Convert the difference between times Later and Earlier to /// a floating point value expressed in seconds. static final invariant function float SpanSeconds( long Later, long Earlier ); */ GMg>Ÿ )g)hª 4GUdžÔ)d©4GX //============================================================================= // Subsystem: The base class all subsystems. Subsystems usually // correspond to large C++ classes. The benefit of defining a C++ class as // a subsystem is that you can make some of its variables script-accessible, // and you can make some of its properties automatically saveable as part // of the configuration. // // This is a built-in Unreal class and it shouldn't be modified. //============================================================================= class Subsystem extends Object native noexport; // Internal. var private native const int ExecVtbl; Gx mZ¾ü)m)f)eö$G€GG€GGjN”)N¥4G€GGOqY¿R)q)i)Z÷$GB_*›€)_)`)aû$G€GG\WP™ñ )W)Xù$G€GGT^[À¨)^)])Yø$G€GG€GGcTL˜­)T§$G€GGYVÃ)VÓ4G€GG€GG^SÄM )S)PÔ4G€GGRQ•U)Q¦4G€GGabŘ )b)RÕ4G€GG€GG€GGeOÆä )O)c(4GdK“Ù)K¤4G€GG€GGiMÇ/ )M)IÖ4Gz@ )@)A¡"4G€GG€GGmJÈ{ )J)L×4GnD ‘] )D)E¢"4G€GG€GGqQÉÇ )Q)GØ4GBxŽŒ )x)yŸ"4G€GG€GGuBÊ! )B)4Gv| Ó )|)} "4G€GG€GGy~Ëa! )~){4GJp~Œ )p)q4G€GG€GG}zÌ­! )z)CÙ4G~tUE )t)už4G€GG€GGAFÍù! )F)wÚ4GRhŠ‚ )h)i›4G€GG€GGErVÎE" )r)oÛ4GFl`‹Ã )l)mœ4G€GG€GGInWÏ‘" )n)kÜ4GZ`ˆ )`)a™4G€GG€GGMjÐà" )j)sÝ"4GNd‰A )d)eš4G€GG€GGQvÑ0# )v)g)"4G€GG€GG€GGUb Ò# )b)_Þ"4Gb\‡¿ )\)]˜4G€GG€GGY^ÓÏ# )^)[ß"4G€GGlLƒ» )L)M•4G€GG]Z Ô$ )Z)cà"4G€GG_Px„ü )P)QÄ4G€GGaf$×v$)fá$GcT…= )T)U–4G€GGeZ|ص$)Zâ$G€GG€GGh^Ù%)^)W)Gã$GwH‚z )H)I”4G_t¬¬ )t)q¶"4G€GGkpRÚJ%ü$G€GGoKTÛ¨% )K)N,$GCx~v )x)y4G€GG€GGqOÞ& )O)RŽ4Gr|· )|)}‘4GzD9 )D)E“4G€GGuSßi& )S)VË4Gv@€ø )@)A’4G€GG€GGyCà·& )C)B4G€GG€GG€GG}Fá' )F)J 4GNrs|û )r4GBu}5)u4G€GGAwâS' )w)v!4G€GG€GG€GGEsã£' )s)z""4GwJ_mí )J)K‚4GjVr× )V)W…"4G€GGI{ äó' ){)~#"4GSoy¨ )oŒ4G€GG€GGMå@( ))n<4G€GGclxi )l‹4G€GGQpæ( )p)m=4G€GG€GG€GGUkçÞ( )k)h>"4G^fvë )f‰4G€GG€GGYe è/) )e)d?"4Gbb u¬ )b)cˆ"4GGGG€GG]a{é›))a)`)g)jå$Ge^te )^)_‡"4G€GG€GGKZ s )Z)[†"4Ga]Nê*)])\)Y)Uæ$G66DSG€GG€GGpRcoz )R)S„ 4GfXMëS*)X@$G€GG€GGkTvì­*)T)Q)P$G€GGJNan1 )N)Oƒ4G€GG€GGnIDíò*)I$G€GG€GGsMuða+ )M)Lp(4G|Fl¤ )F)Gó4G@?Xj )?4G€@GGvHwñ¸+ )H)A¨(4Gm> ­ö )>):·"4GxBk` )B)Cò4G€@GGzEò, )E)Ds4G€GGC 3.1415926535897932G€GG~@óJ, )@)=t4Gg 0x7fffffffGG!G€GGB<ô“, )<);x4GHGGGG€GGF8õÜ, )8)7y4G€GGS@ G€GGJ9ö%- )9)5z4G{2®@ )2)-¸"4G@ G€GGN]÷n- )])3{4GP@ GW@G€GGR4ø·- )4)\|4G@/Gcf G€GGV.rû.).}$G€GG€GGZ0qül. )0)1~$GO* ¯Š )*)&¹"4G@ G€GG][týÉ.)[)V)+$GT@Gh/Gi@ G€@GGa,Cþ/ ),))€$Gd@ Gg G€@GGf(Bÿc/ )()'ê$G€GG^Rz²á)Rº$G€@GGjUA©/)Uë$G€GG€@GGnN@å/)Nì$Glj³!)»$G€@GGqJ?$0)Jí$G@G€GGt%ƒ0 )%)$r4G@Gn@ G€GGwMÊ0 )M) w4Gtf//============================================================================= /// Locale: Locale management class. /// Not yet implemented. /// This is a built-in Unreal class and it shouldn't be modified. //============================================================================= class Locale expands Object transient; /* // // Information about this locale. // //!!System.GetLocale( language, variant, local ) ///@reference: !!look at java getISO3Language for std 3-char language abbreviations var const string ISO3Language; var const localized string DisplayLanguage; // // Locale language support. // /// Returns the currently active language's ISO 3 language code. native function string GetLanguage(); /// Returns the localized, human-readable display name of the ISO 3 language code Language. native function string GetDisplayLanguage( string Language ); /// Set the current ISO 3 language. Causes all class' and objects' localized variables to be reloaded. native function bool SetLanguage( string NewLanguage ); // // Locale string processing. // /// Convert to locale-specific uppercase. function string ToUpper( string S ); /// Convert to locale-specific lowercase. function string ToLower( string S ); /// Compare two strings using locale-specific sorting. function int Compare( string A, string B ); // // Locale number and currency handling. // /// Leading and trailing percentage symbols. var const localized string PrePercent, PostPercent; /// Leading and trailing currency symbols. var const localized string PreCurrencySymbol, PostCurrencySymbol; /// Percentage scale, i.e. 100 for 100%. var const localized int PercentScaler; /// Number of digits between "thousands" delimitor. var const localized int ThousandsCount, ThousandsCountCurrency; /// Positive and negative currency indicators. var const localized string PrePositiveCurrency, PostPositiveCurrency, PreNegativeCurrency, PostNegativeCurrency; // Thousands delimitor. var const localized string ThousandsDelimitor, ThousandsDelimitorCurrency; // Decimal point. var const localized string Decimal, DecimalCurrency; // Decimal count. var const localized int DecimalCount; /// Convert a float number to a string using the locale's formatting instructions. function string NumberToString( float Number ); /// Convert a float number to a currency string using the locale's formatting instructions. function string CurrencyToString( float Currency ); /// Convert a fraction from 0.0-1.0 to a percentage string. function string PercentToString( float Fraction ) { return PrePercent $ int(Fraction * PercentScaler) $ PostPercent; } // // Locale date and time support. // /// Human readable names of months. var const localized string Months[12]; /// Human readable names of days-of-week. var const localized string DaysOfWeek[7]; /// Human-readable AM/PM. var const localized string AMPM[2]; /// Whether to display AM/PM, otherwise uses 24-hour notation. var const localized ShowAMPM; /// List of TimeToMap fields which should be exposed for editing in this locale. var const localized array EditableTimeFields; /// Format string for generating human-readable time in AM/PM and 24-hour formats; /// may be ignored by Locale subclasses who display times using a different calendar, /// for example Chinese. var const localized string TimeFormatAMPM, TimeFormat24Hour, BriefTimeFormatAMPM, BriefTimeFormat24Hour, CountdownTimeFormat; /// Format string for generating human-readable dates. var const localized string DateFormat; /// Return a map containing time parameters suitable for formatting. function map DateTimeToMap( long T ) { local map M; M.Set("Year", Time.GetYear(T)); M.Set("Month", Time.GetMonth(T)); M.Set("MonthName", Months(Time.GetMonth(T))); M.Set("Day", Time.GetDay(T)); M.Set("DayName", DaysOfWeek(Time.GetDay(T))); M.Set("Hour24", Time.GetHour(T)); M.Set("Hour12", Time.GetHour(T)%12); M.Set("AMPM", AMPM(Time.GetHour(T)/12); M.Set("Minute", Time.GetMinute(T)); M.Set("Second", Time.GetSecond(T)); M.Set("MSec", Time.GetMSec(T)); M.Set("USec", Time.GetUSec(T)); M.Set("NSec", Time.GetNSec(T)); return M; } /// Convert a map of TimeToMap key-values to a time; returns true if successful. function bool MapToDateTime( map Map, out long T ) { //!! } /// Converts the time to a human-readable string, depending on the current locale. function string TimeToString( long T, bool Brief, bool Countdown ) { local string S; if( Brief ) { if( ShowAMPM ) S = BriefTimeFormatAMPM; else S = BriefTimeFormat24Hour, } else if( !Countdown ) { if( ShowAMPM ) S = TimeFormatAMPM; else S = TimeFormat24Hour, } else { S = CountdownTimeFormat; } return string.Format( S, DateTimeToMap(T) ); } // Convert the date to a human-readable string, depending on the current locale. function string DateToString( long T ) { return string.Format( DateFormat, DateTimeToMap(T) ); } _defaultproperties { Months(0)=January Months(1)=February Months(2)=March Months(3)=April Months(4)=May Months(5)=June Months(6)=July Months(7)=August Months(8)=September Months(9)=October Months(10)=November Months(11)=December DaysOfWeek(0)=Sunday DaysOfWeek(1)=Monday DaysOfWeek(2)=Tuesday DaysOfWeek(3)=Wednesday DaysOfWeek(4)=Thursday DaysOfWeek(5)=Friday DaysOfWeek(6)=Saturday AMPM(0)=AM AMPM(1)=PM TimeFormatAMPM=%Hour12:02%.%Minute:02%.%Seconds:02% %AMPM% TimeFormat24Hour=%Hour24:02%.%Minute:02%.%Seconds:02% BriefTimeFormatAMPM=%Hour12:02%.%Minute:02% %AMPM% BriefTimeFormat24Hour=%Hour24:02%.%Minute:02% CountdownTimeFormat=%Hour24:02%.%Minute:02%.%Seconds:02% DateFormat=%DayName% %MonthName% %Day%, %Year% EditableTimeFields(0)=Year EditableTimeFields(1)=Month EditableTimeFields(2)=Day EditableTimeFields(3)=Hour12 EditableTimeFields(4)=AMPM EditableTimeFields(5)=Minute EditableTimeFields(6)=Second PreCurrencySymbol=$ PostCurrencySymbol= PrePercent= PostPercent=% PercentScaler=100 ThousandsCount=1000 ThousandsCountCurrency=1000 ThousandsDelimitor="," ThousandsDelimitorCurrency="," Decimal="." DecimalCurrency="." PrePositiveCurrency= PostPositiveCurrency= PreNegativeCurrency=- PostNegativeCurrency= DecimalCount=2 } */ G€GG€GG{" #1 )")#þ4Gri´a)¼$Gr@G€GGI f1 )I)ÿ4GVê//============================================================================= // Object: The base class all objects. // This is a built-in Unreal class and it shouldn't be modified. //============================================================================= class Object native noexport; //============================================================================= // UObject variables. // Internal variables. var native private const int ObjectInternal[6]; var native const object Outer; var native const int ObjectFlags; var(Object) native const editconst name Name; var(Object) native const editconst class Class; //============================================================================= // Unreal base structures. // Object flags. const RF_Transactional = 0x00000001; // Supports editor undo/redo. const RF_Public = 0x00000004; // Can be referenced by external package files. const RF_Transient = 0x00004000; // Can't be saved or loaded. const RF_NotForClient = 0x00100000; // Don't load for game client. const RF_NotForServer = 0x00200000; // Don't load for game server. const RF_NotForEdit = 0x00400000; // Don't load for editor. // A globally unique identifier. struct Guid { var int A, B, C, D; }; // A point or direction vector in 3d space. struct Vector { var() config float X, Y, Z; }; // A plane definition in 3d space. struct Plane extends Vector { var() config float W; }; // An orthogonal rotation in 3d space. struct Rotator { var() config int Pitch, Yaw, Roll; }; // An arbitrary coordinate system in 3d space. struct Coords { var() config vector Origin, XAxis, YAxis, ZAxis; }; // A scale and sheering. struct Scale { var() config vector Scale; var() config float SheerRate; var() config enum ESheerAxis { SHEER_None, SHEER_XY, SHEER_XZ, SHEER_YX, SHEER_YZ, SHEER_ZX, SHEER_ZY, } SheerAxis; }; // A color. struct Color { var() config byte R, G, B, A; }; // A bounding box. struct BoundingBox { var vector Min, Max; var byte IsValid; }; // A bounding box sphere together. struct BoundingVolume extends boundingbox { var plane Sphere; }; //============================================================================= // Constants. const MaxInt = 0x7fffffff; const Pi = 3.1415926535897932; //============================================================================= // Basic native operators and functions. // Bool operators. native(129) static final preoperator bool ! ( bool A ); native(242) static final operator(24) bool == ( bool A, bool B ); native(243) static final operator(26) bool != ( bool A, bool B ); native(130) static final operator(30) bool && ( bool A, skip bool B ); native(131) static final operator(30) bool ^^ ( bool A, bool B ); native(132) static final operator(32) bool || ( bool A, skip bool B ); // Byte operators. native(133) static final operator(34) byte *= ( out byte A, byte B ); native(134) static final operator(34) byte /= ( out byte A, byte B ); native(135) static final operator(34) byte += ( out byte A, byte B ); native(136) static final operator(34) byte -= ( out byte A, byte B ); native(137) static final preoperator byte ++ ( out byte A ); native(138) static final preoperator byte -- ( out byte A ); native(139) static final postoperator byte ++ ( out byte A ); native(140) static final postoperator byte -- ( out byte A ); // Integer operators. native(141) static final preoperator int ~ ( int A ); native(143) static final preoperator int - ( int A ); native(144) static final operator(16) int * ( int A, int B ); native(145) static final operator(16) int / ( int A, int B ); native(146) static final operator(20) int + ( int A, int B ); native(147) static final operator(20) int - ( int A, int B ); native(148) static final operator(22) int << ( int A, int B ); native(149) static final operator(22) int >> ( int A, int B ); native(196) static final operator(22) int >>>( int A, int B ); native(150) static final operator(24) bool < ( int A, int B ); native(151) static final operator(24) bool > ( int A, int B ); native(152) static final operator(24) bool <= ( int A, int B ); native(153) static final operator(24) bool >= ( int A, int B ); native(154) static final operator(24) bool == ( int A, int B ); native(155) static final operator(26) bool != ( int A, int B ); native(156) static final operator(28) int & ( int A, int B ); native(157) static final operator(28) int ^ ( int A, int B ); native(158) static final operator(28) int | ( int A, int B ); native(159) static final operator(34) int *= ( out int A, float B ); native(160) static final operator(34) int /= ( out int A, float B ); native(161) static final operator(34) int += ( out int A, int B ); native(162) static final operator(34) int -= ( out int A, int B ); native(163) static final preoperator int ++ ( out int A ); native(164) static final preoperator int -- ( out int A ); native(165) static final postoperator int ++ ( out int A ); native(166) static final postoperator int -- ( out int A ); // Integer functions. native(167) static final Function int Rand ( int Max ); native(249) static final function int Min ( int A, int B ); native(250) static final function int Max ( int A, int B ); native(251) static final function int Clamp ( int V, int A, int B ); // Float operators. native(169) static final preoperator float - ( float A ); native(170) static final operator(12) float ** ( float A, float B ); native(171) static final operator(16) float * ( float A, float B ); native(172) static final operator(16) float / ( float A, float B ); native(173) static final operator(18) float % ( float A, float B ); native(174) static final operator(20) float + ( float A, float B ); native(175) static final operator(20) float - ( float A, float B ); native(176) static final operator(24) bool < ( float A, float B ); native(177) static final operator(24) bool > ( float A, float B ); native(178) static final operator(24) bool <= ( float A, float B ); native(179) static final operator(24) bool >= ( float A, float B ); native(180) static final operator(24) bool == ( float A, float B ); native(210) static final operator(24) bool ~= ( float A, float B ); native(181) static final operator(26) bool != ( float A, float B ); native(182) static final operator(34) float *= ( out float A, float B ); native(183) static final operator(34) float /= ( out float A, float B ); native(184) static final operator(34) float += ( out float A, float B ); native(185) static final operator(34) float -= ( out float A, float B ); // Float functions. native(186) static final function float Abs ( float A ); native(187) static final function float Sin ( float A ); native(188) static final function float Cos ( float A ); native(189) static final function float Tan ( float A ); native(190) static final function float Atan ( float A ); native(191) static final function float Exp ( float A ); native(192) static final function float Loge ( float A ); native(193) static final function float Sqrt ( float A ); native(194) static final function float Square( float A ); native(195) static final function float FRand (); native(244) static final function float FMin ( float A, float B ); native(245) static final function float FMax ( float A, float B ); native(246) static final function float FClamp( float V, float A, float B ); native(247) static final function float Lerp ( float Alpha, float A, float B ); native(248) static final function float Smerp ( float Alpha, float A, float B ); // Vector operators. native(211) static final preoperator vector - ( vector A ); native(212) static final operator(16) vector * ( vector A, float B ); native(213) static final operator(16) vector * ( float A, vector B ); native(296) static final operator(16) vector * ( vector A, vector B ); native(214) static final operator(16) vector / ( vector A, float B ); native(215) static final operator(20) vector + ( vector A, vector B ); native(216) static final operator(20) vector - ( vector A, vector B ); native(275) static final operator(22) vector << ( vector A, rotator B ); native(276) static final operator(22) vector >> ( vector A, rotator B ); native(217) static final operator(24) bool == ( vector A, vector B ); native(218) static final operator(26) bool != ( vector A, vector B ); native(219) static final operator(16) float Dot ( vector A, vector B ); native(220) static final operator(16) vector Cross ( vector A, vector B ); native(221) static final operator(34) vector *= ( out vector A, float B ); native(297) static final operator(34) vector *= ( out vector A, vector B ); native(222) static final operator(34) vector /= ( out vector A, float B ); native(223) static final operator(34) vector += ( out vector A, vector B ); native(224) static final operator(34) vector -= ( out vector A, vector B ); // Vector functions. native(225) static final function float VSize ( vector A ); native(226) static final function vector Normal ( vector A ); native(227) static final function Invert ( out vector X, out vector Y, out vector Z ); native(252) static final function vector VRand ( ); native(300) static final function vector MirrorVectorByNormal( vector Vect, vector Normal ); // Rotator operators and functions. native(142) static final operator(24) bool == ( rotator A, rotator B ); native(203) static final operator(26) bool != ( rotator A, rotator B ); native(287) static final operator(16) rotator * ( rotator A, float B ); native(288) static final operator(16) rotator * ( float A, rotator B ); native(289) static final operator(16) rotator / ( rotator A, float B ); native(290) static final operator(34) rotator *= ( out rotator A, float B ); native(291) static final operator(34) rotator /= ( out rotator A, float B ); native(316) static final operator(20) rotator + ( rotator A, rotator B ); native(317) static final operator(20) rotator - ( rotator A, rotator B ); native(318) static final operator(34) rotator += ( out rotator A, rotator B ); native(319) static final operator(34) rotator -= ( out rotator A, rotator B ); native(229) static final function GetAxes ( rotator A, out vector X, out vector Y, out vector Z ); native(230) static final function GetUnAxes ( rotator A, out vector X, out vector Y, out vector Z ); native(320) static final function rotator RotRand ( optional bool bRoll ); native static final function rotator OrthoRotation( vector X, vector Y, vector Z ); native static final function rotator Normalize( rotator Rot ); // String operators. native(112) static final operator(40) string $ ( coerce string A, coerce string B ); native(168) static final operator(40) string @ ( coerce string A, coerce string B ); native(115) static final operator(24) bool < ( string A, string B ); native(116) static final operator(24) bool > ( string A, string B ); native(120) static final operator(24) bool <= ( string A, string B ); native(121) static final operator(24) bool >= ( string A, string B ); native(122) static final operator(24) bool == ( string A, string B ); native(123) static final operator(26) bool != ( string A, string B ); native(124) static final operator(24) bool ~= ( string A, string B ); // String functions. native(125) static final function int Len ( coerce string S ); native(126) static final function int InStr ( coerce string S, coerce string t ); native(127) static final function string Mid ( coerce string S, int i, optional int j ); native(128) static final function string Left ( coerce string S, int i ); native(234) static final function string Right ( coerce string S, int i ); native(235) static final function string Caps ( coerce string S ); native(236) static final function string Chr ( int i ); native(237) static final function int Asc ( string S ); // Object operators. native(114) static final operator(24) bool == ( Object A, Object B ); native(119) static final operator(26) bool != ( Object A, Object B ); // Name operators. native(254) static final operator(24) bool == ( name A, name B ); native(255) static final operator(26) bool != ( name A, name B ); //============================================================================= // General functions. // Logging. native(231) final static function Log( coerce string S, optional name Tag ); native(232) final static function Warn( coerce string S ); native static function string Localize( string SectionName, string KeyName, string PackageName ); // Goto state and label. native(113) final function GotoState( optional name NewState, optional name Label ); native(281) final function bool IsInState( name TestState ); native(284) final function name GetStateName(); // Objects. native(258) static final function bool ClassIsChildOf( class TestClass, class ParentClass ); native(303) final function bool IsA( name ClassName ); // Probe messages. native(117) final function Enable( name ProbeFunc ); native(118) final function Disable( name ProbeFunc ); // Properties. native final function string GetPropertyText( string PropName ); native final function SetPropertyText( string PropName, string PropValue ); native static final function name GetEnum( object E, int i ); native static final function object DynamicLoadObject( string ObjectName, class ObjectClass, optional bool MayFail ); // Configuration. native(536) final function SaveConfig(); native static final function StaticSaveConfig(); native static final function ResetConfig(); native final function ClearConfig(); // Return a random number within the given range. //#if 1 //Fix added by Legend on 4/12/2000 native(1033) final function float RandRange( float Min, float Max ); //#else //final function float RandRange( float Min, float Max ) //{ // return Min + (Max - Min) * FRand(); //} //#endif //============================================================================= // Engine notification functions. // // Called immediately when entering a state, while within // the GotoState call that caused the state change. // event BeginState(); // // Called immediately before going out of the current state, // while within the GotoState call that caused the state change. // event EndState(); //============================================================================== // UTracing native static final function SetUTracing( bool bNewUTracing ); native static final function bool IsUTracing(); GGG€GGC %-2 ))ç$G€GGM GGG Boi2)Bè$GE GGJ AnÌ2)A))$GK GG@ hµ¡)½$GR I G€@GGL Fp>3 )F)qGx 0x00400000G€GGQ }|3)G{ 0x00100000G€GGT X <­3G€GGW E;4 )E)$G€GGvf·!)¿$G€GGY ~:R4)~/Gl 0x00000001G€GG] }9ž4)}uG^ 0x00000004G` 7Õ4)vG€GGb 6")5)G[ e¸a)À$G€@GGd Y8#v5 )Y)vGk GGŠGg yl$µ5 )y)$Gi GGG€GGj k%,6)) ) $Ge zd¹¡)zÁ$G€GGo nbºá)nÂ$G€GGn m(k6Gs y)6$Gt 4*Ê6$Gb 3/—7 ))X |(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿw sûÕ†<,GGGr^½ª )r)jõ$G€GGv ">9 Gz !D¼9 GGG~ €@GG €@GG@ €@GGA €@GGB €@GGC €@GGD GGE GGF GGG GGH GGI GGGG€GG€GG€GGh //============================================================================= /// UnrealScript "hello world" sample Commandlet. /// /// Usage: /// ucc.exe HelloWorld //============================================================================= class HelloWorldCommandlet expands Commandlet; var int intparm; var string strparm; function int Main( string Parms ) { log( "Hello, world!" ); if( Parms!="" ) log( "Command line parameters=" $ Parms ); if( intparm!=0 ) log( "You specified intparm=" $ intparm ); if( strparm!="" ) log( "You specified strparm=" $ strparm ); } M O 'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:N Ö–Kµªé>y5= HelloWorld2]Sample1= HelloWorld] IntParmÝ StrParm]An integer parameterÝA string parameterGG †œçHello, world!@{çpCommand line parameters=m›%çpYou specified intparm=Sš{çpYou specified strparm= GO'//============================================================================= /// UnrealScript Commandlet (command-line applet) class. /// /// Commandlets are executed from the ucc.exe command line utility, using the /// following syntax: /// /// UCC.exe package_name.commandlet_class_name [parm=value]... /// /// for example: /// /// UCC.exe Core.HelloWorldCommandlet /// UCC.exe Editor.MakeCommandlet /// /// In addition, if you list your commandlet in the public section of your /// package's .int file (see Engine.int for example), then your commandlet /// can be executed without requiring a fully qualified name, for example: /// /// UCC.exe MakeCommandlet /// /// As a convenience, if a user tries to run a commandlet and the exact /// name he types isn't found, then ucc.exe appends the text "commandlet" /// onto the name and tries again. Therefore, the following shortcuts /// perform identically to the above: /// /// UCC.exe Core.HelloWorld /// UCC.exe Editor.Make /// UCC.exe Make /// /// It is also perfectly valid to call the Main method of a /// commandlet class directly, for example from within the body /// of another commandlet. /// /// Commandlets are executed in a "raw" UnrealScript environment, in which /// the game isn't loaded, the client code isn't loaded, no levels are /// loaded, and no actors exist. //============================================================================= class Commandlet expands Object abstract transient noexport native; /// Command name to show for "ucc help". var localized string HelpCmd; /// Command description to show for "ucc help". var localized string HelpOneLiner; /// Usage template to show for "ucc help". var localized string HelpUsage; /// Hyperlink for more info. var localized string HelpWebLink; /// Parameters and descriptions for "ucc help ". var localized string HelpParm[16]; var localized string HelpDesc[16]; /// Whether to redirect log output to console stdout. var bool LogToStdout; /// Whether to load objects required in server, client, and editor context. var bool IsServer, IsClient, IsEditor; /// Whether to load objects immediately, or only on demand. var bool LazyLoad; /// Whether to show standard error and warning count on exit. var bool ShowErrorCount; /// Whether to show Unreal banner on startup. var bool ShowBanner; /// Entry point. native event int Main( string Parms ); G€GGT GG@GGU GGS @GG€GY \ |ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:W ØÍjªé>y5]Simple2]Simple1]SimpleGGR €GGm class SimpleCommandlet expands Commandlet; var int intparm; function int TestFunction() { return 666; } function int Main( string Parms ) { local int temp; local float floattemp; local string textstring; local string otherstring; log("Simple commandlet says hi."); log("Testing function calling."); temp = TestFunction(); log("Function call returned" @ temp); log("Testing cast to int."); floattemp = 3.0; temp = int(floattemp); log("Temp is cast from "$floattemp$" to "$temp); log("Testing min()"); temp = Min(32, TestFunction()); log("Temp is min(32, 666): "$Temp); textstring = "wookie"; log("3 is a "$Left(textstring, 3)); otherstring = "skywalker"; otherstring = Mid( otherstring, InStr( otherstring, "a" ) ); log("otherstring:" @ otherstring); } G[ V {cš GGG Z ] nçSimple commandlet says hi.çTesting function calling.R {ç¨Function call returnedSR çTesting cast to int.T @@R DT çpppTemp is cast from UT  to SR çTesting min()R ù, {çpTemp is min(32, 666): SR U wookieçp3 is a €U ,S skywalkerS S ~S aç¨otherstring:S  GX €@GG€GG{ ^ JI_:)^ $G_ a IJ:$G€GGu H+ð6suÿÿÿÿHuÿÿÿÿfuÿÿÿÿNuÿÿÿÿluÿÿÿÿiuÿÿÿÿCuÿÿÿÿmuÿÿÿÿbuÿÿÿÿuuÿÿÿÿBuÿÿÿÿOuÿÿÿÿIuÿÿÿÿiuÿÿÿÿWuÿÿÿÿV‹hU‹ }UMQV‡Žw^W…ŽvlWƒvPzW‡uIX#gXXƒGnY‡ uNZ‚]Z†nbzZnaI[ƒefY[…j|h[‡n`w[ƒ[fE\‰bWT\‡dZb\ƒ6fq\YT@]ƒNfQ]‰TP`]‡LKo]‡LJ~]‰QNL^ƒ@fZ^‰Gli^‡Gxw^‰CnE_ƒ2fT_Ž;nc_‹s_‰?fG`‰?nU`Ž7nd`Ž7ft`ƒnCa…*|Ra‡*xaa…&|oaƒf~a…!}Lb‡&x[bƒnib‡xxb#aGc‡x[c‡zicƒfxc‡nFd‡fUd‡ndd‹Osd‡ nIe‡ fXe‡ffeƒûnte‡nCf‡fRf‡n`fƒûfof†øf}f‡fLg‡únZg†üfig†ünxg‡þnGh‡þfVh†÷feh†÷nth‡úfCi„ófRi†Êfbi†Ênqi‡ön@j‡öfOj†ðf^j†ðnmj„îV|j„îULk†êf\k†ênkk„îczk„æVJlˆËfYlˆËnil†ëiyl„æUHmˆåfXmˆånhm„æcxm„æfHnˆâfXnˆânhn„ácxn„áfHoˆÞfXoˆÞnho„Ýnxo„ÝfHpˆÚfXp„áUhp„Ùnxpˆ#fHq„áVXq„ÙfgqˆÓfwq„ÕnGr„ÑnWrˆÎfgr„Õfwrƒ­nGs…ÂfVs„Éfesƒ­fus…ÃfDtƒÅnSt„Åfbt…²frt…²nAuƒÉnPu„Íf_u…¶fou…¶n~uƒÍnMv„Ñf\v…ºflv…ºn{vƒ½nJw„½fYw…·fiw…·nxwƒÁfGx„«VVx…¬fex…¬ntx„ÁnCy„±^Sy…Ÿfcy…Ÿnry„±|Az„µfQz…£faz…£npz„µnz„¹fO{…¦f_{…¦nn{„¹n}{„«UM|…"f]|…"nl|„¡f{|„nK}…šf[}…šnj}„fy}ƒ™nI~…ŽfX~…Žng~„™fv~„¡nF…’fV…’ne„¥ft„•nD€…†fT€…†nc€„‘fr€„nB…ŠfR…Šna„fp„‰n@‚…~fP‚…~n_‚„‰fn‚ƒ‘n~‚…‚fMƒ…‚n\ƒ„•fkƒ„…n{ƒ…vfK„ƒvnZ„„fi„„}ny„…zfI…ƒznX…„}fg…„ynw……nfG†…nnV†„yfe†„nu†…rfE‡…rnT‡„…fc‡„uns‡…$fCˆƒmnRˆ„qfaˆ…jfqˆ„qn@‰„mfP‰…Rf`‰„ifo‰ƒan‰…cfNŠ„en]Š„afmŠ…\Q}ŠƒnL‹„^f[‹…Wfk‹…Wnz‹ƒYnIŒƒTnXŒ…BfgŒ…BnvŒƒYfEƒYAT…Uoc…Ufr…UnAŽƒefPŽ„in_ŽƒMfoŽƒOn~ŽƒOfMƒLf\ƒLnkƒTfzƒxnIƒCfXƒCngƒOovƒqfE‘ƒ7fT‘ƒ7nc‘ƒTAr‘ƒxfA’ƒ=fP’ƒ=n_’ƒGfn’‡g\|’ƒ:fJ“ƒ:nY“Žj^h“ƒofw“ƒ9fF”ƒ9nU”‰`Wd”‰]~r”ƒ4fA•ƒ4nP•‡LI_•‡Jxm•ƒ!f{•ƒ!nJ–YSY–‰QMi–ƒ-fw–ƒ-nF—‰CfU—‡4xc—ƒ fr—ƒ nA˜Ž;fP˜…1|_˜ƒ'fn˜ƒ'n}˜„ufL™ƒ,f\™ƒ(fk™ƒ(nz™‡.xIš…!|XšƒffšƒvQuš‡gZD›„¨fS›‡!xc›‡nr›‡fAœ„«cOœ‚q"_œ‚]"A‚Y"c‚D"Ež‚Kgž‚jFŸ†(TeŸˆ[sŸ‚k"B ‚e"d „(F¡†'TU¡† Tc¡†-Tq¡‚["¡…ha¢…L o¢†4T|¢†!TJ£ƒUX£ƒ:Tf£‚X"t£ƒ9TV¤‚gd¤‚B"B¥Œjd¥‚Q"v¥‚H"X¦Œoz¦ƒ7TL§‚G"Z§ƒ=T|§ŽwJ¨ƒCTZ¨ƒoTh¨‚Q#v¨‚A"Y©ƒqT{©‚]IªƒETfª‚\"tªƒLTV«&Wd«)V{¬J{4O2Q®‚y"`à‚wBáI{4d aá‚Z&EìƒMTkì…UTyì‚mGíƒOTfí‚Y&tí‚*%Zî…BTî‚P#MïƒTTpï‚[&~ï…WTdð…\Trð‚L @ñƒYT`ñ‚Cnñ…cTMò„^T[ò‚D"jò†TLó‚gZó„aTyó‚E"Hô…RTjô…$Txô„eTFõ‚F"Uõ‚kwõ…jTVö„iTdö‚G"sö‚X"U÷…nTw÷„mTEø‚H"Tø‚Y"vø…rTXù„qTfù‚I"uù‚O"Wú…zTyú„uTGû‚J"Vû‚B"xû…vTZü„yThü‚K"wü‚{#Yý…~T|ý„}TJþ‚L"Yþ‚Q#{þ…‚T^ÿ†Tlÿ‚M"zÿ‚"\€…ŠT~€†…TL‚N#Z‚@#}††T`‚ƒ‰Tn‚‚P#|‚‚c"_ƒ†ŽTA„„TO„‚R"^„‚j"@…†’Tb…„‘Tp…‚S"……£Ta††šTo†„•T}†‚T"L‡‚]"n‡†"TPˆ„™T^ˆ‚U"mˆ…¬TO‰‚E"]‰„T‰‚V"NŠ…ŸTpŠ‚G#~Š„¡Ta‹‚$p‹‚L"OŒƒ¥TqŒ‚| Œ†¦T_„¨Tm‚&|‚F"bŽ‚r"D…ÃTf‚Rt„¯TQ‚T#`‚P"C‘…²Te‘„±Ts‘‚["B’‚U"d’‚@"F“†µTh“‚\"v“‚J"X”…·Tz”†¹TH•‚]"V•…¶Tx•…ºTF–„½TT–‚^"c–‚X E—‚Ye—„ÁTD˜‚_"S˜…ÂTu˜ƒ­TC™„ÅTQ™‚`"`™‚M#Bš‚x"eš„ÉTG›‚a"V›‚\x›ˆÎTWœ„ÍTfœ‚b"uœˆÓTW‚_f„ÑTEž‚c"Tžˆ#TvžˆÚTEŸ„ÕTTŸ‚d"cŸ‚dE ˆÞTd „ÙTs ‚e"B¡‚m"d¡„6PF¢„ÝTV¢‚{)e¢‚t"N£ˆâTp£ˆåT£‚v"N¤‚N)p¤‹6SY¥ˆËTn¥†êT}¥‚y#K¦‚M n¦†÷TN§„ëT\§‚v&k§†ðTQ¨‚z#_¨†ÊTB©„îTP©‚D _©†üT©„óTMª‚l#\ª‚}"ª‚Sa«‡öT«‚n#M¬‚pp¬‚|"O­‡úTq­‚p"­†øTa®ŒRo®†þTI¯‚q!W¯ŒQx¯„çWJ°†TY°‚rg°„6QF±ˆ6ZV±†Te±‚ss±ƒûTR²ˆZ`²† To²‚t}²‚t\³ˆf{³†TI´‚u!W´ˆnx´ƒ#`Gµ†TUµ‚v cµˆ#hC¶‹ Q¶†Tf¶‚rt¶ƒTR·…T`·‚q n·‚rN¸„(~m¸…T{¸‚t%I¹„#n¹‹}¹„(@Qº‡!T`º‚C nº„(eN»‹ ]»‡&Tq»‚B »ƒT_¼‚z m¼‡*TM½‚A [½ƒ,T{½‡.TI¾‚@ W¾‚jw¾‡1TU¿‚?c¿ƒ!R BÀ…4TOÀ‚C]ÀƒV |À…OIÁ†7TWÁ‚D!eÁw{4@gFƒ2TF©†;TT©‚Eb©‚iAªƒc_ª†?Tmª‚F!{ª{4cê\«…Od•†CTM–‚%[–ƒ@Tz–…OfH—‚o W—…O_w—‚n$F˜…Onj˜‚hy˜‹ W™‡LTl™‚p"z™Œo\šƒNTnš‚}|šŒhZ›†TTl›‚<z›‰WTVœ‚;!dœƒ6TE‚fS†YTq‚:Œn^ž†]Tpž‚9~žŒp]Ÿ‚7oŸƒ[TL ‚6Z ‚ew ‡dTU¡‚8"c¡…qE¢uT¢‚l"c¢‰AE£…gS£‰jTb£‚k"p£‚d R¤ƒeTr¤‚b @¥ŽnT`¥‚mo¥‚yK¦‚4g¦‚3 B§(Vb§‚^#x¨ƒvT[©‚"i©‚!Fª…Igcª‡5qª‡2@«‡1O«‡k^«‡m«‡|«†/K¬†.Z¬†0i¬†,x¬†+G­†sV­†-e­ƒGTs­ƒxTA®… TO®Ž{4t ]®'HQ¸‚ ŽdY»{4['}½…TXå…œ@f凜}u僜C懜~Ræ…šTaæ|yoæ…œThè—{4y wè‚—{%põ…—vUö‚ —fcö‡œuIü†ŸKXü‚J fü‚IFý† Tcý‚Hqý